diff --git a/TEAMMATES_teammates_master/authorship.json b/TEAMMATES_teammates_master/authorship.json index 2539d2b..8c5df77 100644 --- a/TEAMMATES_teammates_master/authorship.json +++ b/TEAMMATES_teammates_master/authorship.json @@ -1 +1 @@ -[{"path":"docs/_markbind/layouts/default.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"{% include \"_markbind/layouts/header.md\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"flex-body\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003cnav id\u003d\"site-nav\" class\u003d\"fixed-header-padding\"\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003csite-nav\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"* About TEAMMATES :expanded:"},{"lineNumber":9,"author":{"gitId":"-"},"content":" * [Introduction]({{ baseUrl }}/index.html)"},{"lineNumber":10,"author":{"gitId":"-"},"content":" * [Overview]({{ baseUrl }}/overview.html)"},{"lineNumber":11,"author":{"gitId":"-"},"content":"* Getting Started :expanded:"},{"lineNumber":12,"author":{"gitId":"-"},"content":" * [Setting Up]({{ baseUrl }}/setting-up.html)"},{"lineNumber":13,"author":{"gitId":"-"},"content":"* [Contributing]({{ baseUrl }}/contributing-doc.html)"},{"lineNumber":14,"author":{"gitId":"-"},"content":"* Workflow :expanded:"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * [Issues]({{ baseUrl }}/issues.html)"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * [Process]({{ baseUrl }}/process.html)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * [Development]({{ baseUrl }}/development.html)"},{"lineNumber":18,"author":{"gitId":"-"},"content":"* [Design]({{ baseUrl }}/design.html)"},{"lineNumber":19,"author":{"gitId":"-"},"content":"* Best Practices :expanded:"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * [Coding]({{ baseUrl }}/best-practices/coding.html)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * [Testing]({{ baseUrl }}/best-practices/testing.html)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * [Data Migration]({{ baseUrl }}/best-practices/data-migration.html)"},{"lineNumber":23,"author":{"gitId":"-"},"content":" * [UI Design]({{ baseUrl }}/best-practices/ui-design.html)"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * [Accessibility]({{ baseUrl }}/best-practices/accessibility.html)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * [Mobile-Friendliness]({{ baseUrl }}/best-practices/mobile-friendliness.html)"},{"lineNumber":26,"author":{"gitId":"-"},"content":"* How-to :expanded:"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * [Captcha]({{ baseUrl }}/captcha.html)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * [Documentation]({{ baseUrl }}/documentation.html)"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * [Emails]({{ baseUrl }}/emails.html)"},{"lineNumber":30,"author":{"gitId":"-"},"content":" * [Unit Testing]({{ baseUrl }}/unit-testing.html)"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * [End-to-End Testing]({{ baseUrl }}/e2e-testing.html)"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * [Performance Testing]({{ baseUrl }}/performance-testing.html)"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * [Accessibility Testing]({{ baseUrl }}/axe-testing.html)"},{"lineNumber":34,"author":{"gitId":"-"},"content":" * [Search]({{ baseUrl }}/search.html)"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * [Snapshot Testing]({{ baseUrl }}/snapshot-testing.html)"},{"lineNumber":36,"author":{"gitId":"-"},"content":" * [Static Analysis]({{ baseUrl }}/static-analysis.html)"},{"lineNumber":37,"author":{"gitId":"-"},"content":"* [Troubleshooting Guide]({{ baseUrl }}/troubleshooting-guide.html)"},{"lineNumber":38,"author":{"gitId":"-"},"content":"* [Glossary]({{ baseUrl }}/glossary.html)"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003c/site-nav\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003c/nav\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"content-wrapper\" class\u003d\"fixed-header-padding\"\u003e"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" \u003cbreadcrumb/\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" {{ content }}"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003cnav id\u003d\"page-nav\" class\u003d\"fixed-header-padding\"\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003cpage-nav /\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003c/nav\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":"{% include \"_markbind/layouts/footer.md\" %}"}],"authorContributionMap":{"jingting1412":3,"-":50}},{"path":"docs/_markbind/layouts/footer.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cfooter\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"\u003c!-- Support MarkBind by including a link to us on your landing page! --\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"text-center\"\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" \u003csmall\u003e[Generated by {{MarkBind}} on {{timestamp}}]\u003c/small\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"\u003c/footer\u003e"}],"authorContributionMap":{"jingting1412":6}},{"path":"docs/_markbind/layouts/header.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003chead-bottom\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ baseUrl }}/stylesheets/main.css\"\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003c/head-bottom\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003cheader sticky\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cnavbar type\u003d\"inverse\"\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"{{ baseUrl }}/index.html\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"{{ baseUrl }}/images/teammateslogo.png\" width\u003d\"150\" alt\u003d\"Logo\" caption\u003d\"\"/\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cspan style\u003d\"font-style:italic;font-size:small\"\u003e[dev docs]\u003c/span\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003c/a\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{ baseUrl }}/index.html\" class\u003d\"nav-link\"\u003eHome\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{ baseUrl }}/contributing-doc.html\" class\u003d\"nav-link\"\u003eContributing\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"https://teammatesv4.appspot.com/\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eProduct Website \u003cmd\u003e:glyphicon-share-alt:\u003c/md\u003e\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"https://github.com/TEAMMATES/teammates\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003e\u003cmd\u003e:fab-github:\u003c/md\u003e\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003cform class\u003d\"navbar-form\"\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003c/form\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003c/li\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003c/navbar\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":"\u003c/header\u003e"}],"authorContributionMap":{"jingting1412":21}},{"path":"docs/design.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" title: \"Design\""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"# Design"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"## Architecture"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/highlevelArchitecture.puml\"/\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"TEAMMATES is a Web application that runs on Google App Engine (GAE). Given above is an overview of the main components."},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"- **UI (Browser)**: The UI seen by users consists of Web pages containing HTML, CSS (for styling) and JavaScript (for client-side interactions such as sorting, input validation, etc.). This UI is a single HTML page generated by Angular framework. The initial page request is sent to the server over HTTP, and requests for data are sent asynchronously with AJAX."},{"lineNumber":14,"author":{"gitId":"-"},"content":"- **UI (Server)**: The entry point for the application back end logic is designed as a REST-ful controller."},{"lineNumber":15,"author":{"gitId":"-"},"content":"- **Logic**: The main logic of the application is in POJOs (Plain Old Java Objects)."},{"lineNumber":16,"author":{"gitId":"-"},"content":"- **Storage**: The storage layer of the application uses the persistence framework provided by **Google Cloud Datastore**, a NoSQL database."},{"lineNumber":17,"author":{"gitId":"-"},"content":"- **Test Driver**: TEAMMATES makes heavy use of automated regression testing. Test data is transmitted using JSON format."},{"lineNumber":18,"author":{"gitId":"-"},"content":" - `TestNG` is used for Java testing (all levels) and `Jest` for JavaScript unit-testing."},{"lineNumber":19,"author":{"gitId":"-"},"content":"- **E2E**: The E2E (end-to-end) component is used to interact with the application as a whole with Web browsers. Its primary function is for E2E tests."},{"lineNumber":20,"author":{"gitId":"-"},"content":" - `Selenium (Java)` is used to automate E2E testing with actual Web browsers."},{"lineNumber":21,"author":{"gitId":"-"},"content":"- **Client**: The Client component can connect to the back end directly without using a Web browser. It is used for administrative purposes, e.g. migrating data to a new schema."},{"lineNumber":22,"author":{"gitId":"-"},"content":"- **Common**: The Common component contains utility code (data transfer objects, helper classes, etc.) used across the application."},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"The diagram below shows how the code in each component is organized into packages and the dependencies between them."},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/packageDiagram.puml\"/\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"Notes:"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"- `[logic] - [ui::website] - [ui::webapi]` represent an application of `Model-View-Controller` pattern."},{"lineNumber":31,"author":{"gitId":"-"},"content":" - `ui::website` is not a real package; it is a conceptual package representing the front-end of the application."},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"## UI Component"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"The diagram below shows the object structure of the UI component."},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/UiComponent.puml\"/\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"Notes:"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"- `ui::website` is not a Java package. It is written in Angular framework and consists of HTML, SCSS, and TypeScript files. The framework will build those files into HTML, CSS and JavaScript files ready to be used by standard Web browsers."},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"The UI component is the first stop for 99% of all requests that are received by the application."},{"lineNumber":44,"author":{"gitId":"-"},"content":"Such a request will go through the following steps:"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"1. Request received by the GAE server."},{"lineNumber":47,"author":{"gitId":"-"},"content":"1. Custom filters are applied according to the order specified in `web.xml`, e.g. `OriginCheckFilter`."},{"lineNumber":48,"author":{"gitId":"-"},"content":"1. Request forwarded to a `*Servlet` object as specified in `web.xml` for further processing, depending on the type of request."},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"There are two general types of requests: user-invoked requests and automated (GAE server-invoked) requests, which are processed differently."},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"### User-invoked requests"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"User-invoked requests are all requests made by the users of the application, typically from the Web browser (i.e. by navigating to a particular URL of the application)."},{"lineNumber":55,"author":{"gitId":"-"},"content":"The request will be processed as follows:"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/UiWorkflow.puml\"/\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"The initial request for the web page will be processed as follows:"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"1. Request forwarded to `WebPageServlet`."},{"lineNumber":62,"author":{"gitId":"-"},"content":"1. `WebPageServlet` returns the built single web page (`index.html`)."},{"lineNumber":63,"author":{"gitId":"-"},"content":"1. The browser will render the page and execute the page scripts, most of the time requiring AJAX requests to the server."},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":"Subsequent AJAX requests sent to the server will be processed as follows:"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":"1. Request forwarded to the `WebApiServlet`."},{"lineNumber":68,"author":{"gitId":"-"},"content":"1. `WebApiServlet` uses the `ActionFactory` to generate the matching `Action` object, e.g. `GetFeedbackSessionsAction`."},{"lineNumber":69,"author":{"gitId":"-"},"content":"1. `WebApiServlet` executes the action."},{"lineNumber":70,"author":{"gitId":"-"},"content":" 1. The `Action` object checks the access rights of the user. If the action is allowed, it will be performed, interacting with the `Logic` component as necessary."},{"lineNumber":71,"author":{"gitId":"-"},"content":" 1. The `Action` packages and processes the result into an `ActionResult` object. The most common format is `JsonResult` (requests for obtaining data or processing existing data) and other formats can be defined as necessary."},{"lineNumber":72,"author":{"gitId":"-"},"content":"1. `WebApiServlet` sends the result back to the browser which will then process it on the front-end."},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":"Requests for static asset files (e.g. CSS, JS files, images) are served directly without going through `web.xml` configuration at all."},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"The Web API is protected by two layers of access control check:"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"- Origin check: This mitigates [CSRF attack](https://owasp.org/www-community/attacks/csrf)."},{"lineNumber":79,"author":{"gitId":"-"},"content":"- Authentication and authorization check: This checks if the logged in user (or lack thereof) has sufficient privileges to trigger the API\u0027s actions."},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":"Special keys (`csrf key` and `backdoor key`) can be used to bypass each of the checks, typically for testing purpose. Those keys are strings known only to the person who deployed the application (typically, the administrator)."},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"### Automated requests"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":"Automated requests are all requests sent automatically by the GAE server during specific periods of time."},{"lineNumber":86,"author":{"gitId":"-"},"content":"This type of request will be processed as follows:"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"1. The source of the request will be checked for administrator privilege. If this privilege is absent (e.g. non-administrator users trying to invoke the automated actions), the request will be dropped and a `403 Forbidden` status will be returned."},{"lineNumber":89,"author":{"gitId":"-"},"content":" - Requests generated by the GAE server are equipped with this privilege."},{"lineNumber":90,"author":{"gitId":"-"},"content":" - Administrators can manually invoke these requests; this is particularly useful in testing the actions associated with those requests."},{"lineNumber":91,"author":{"gitId":"-"},"content":"1. Request forwarded to the `WebApiServlet` and subsequent actions are the same as user-invoked AJAX requests."},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":"GAE server sends such automated requests through two different configurations:"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":"- Cron jobs: These are jobs that are automatically scheduled for a specified period of time, e.g. scheduling feedback session opening reminders. It is configured in `cron.yaml`."},{"lineNumber":96,"author":{"gitId":"-"},"content":"- Task queue workers: These are hybrids of user-invoked and GAE-invoked in that they are queued by users (i.e. users request for the tasks to be added to queue), but executed by GAE (i.e. GAE determines when and which tasks in the queue are executed at any point of time). This is typically used for tasks that may take a long time to finish and might be blocking user\u0027s interaction. It is configured in `queue.yaml` as well as the `TaskQueue` nested class of the [Const](https://github.com/TEAMMATES/teammates/blob/master/src/main/java/teammates/common/util/Const.java) class."},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"### Template Method pattern"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":"- Since the high-level workflow of processing a request is same for any request (differing by the two request types only), we use the [Template Method pattern](http://en.wikipedia.org/wiki/Template_method_pattern) to abstract the process flow into the `Action` classes."},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":"### Policies"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"On designing API endpoints (for AJAX requests):"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"- Design endpoints for resources. For example, `FeedbackSession` is a resource. The corresponding endpoint is `/session`. We use `GET`, `POST`, `PUT`, `DELETE` HTTP methods to get, create, update and delete the resource respectively."},{"lineNumber":107,"author":{"gitId":"-"},"content":"- Prefer multiple REST calls over single RPC (Remote Procedure Call) calls."},{"lineNumber":108,"author":{"gitId":"-"},"content":" - Reason 1: REST paradigm promotes reuse of many business logic and is not dependent of the structure of the requesting web page (or any other type of requesting agent)."},{"lineNumber":109,"author":{"gitId":"-"},"content":" - Reason 2: Multiple REST calls can be parallelized which will improve performance."},{"lineNumber":110,"author":{"gitId":"-"},"content":"- Separate access control logic and execution logic completely."},{"lineNumber":111,"author":{"gitId":"-"},"content":" - In the case that an endpoint serves multiple purposes, we use `Intent` to distinguish the intent for the request. For example, instructors can access `/session` with intent `INSTRUCTOR_SUBMISSION` or `FULL_DETAIL`. Some `Intent` will naturally require stricter access rights."},{"lineNumber":112,"author":{"gitId":"-"},"content":"- Prefer HTTP request body over URL parameters (key-value) to contain data for `POST` and `PUT` requests."},{"lineNumber":113,"author":{"gitId":"-"},"content":" - Reason 1: The URL parameters are used to identify a specific resource for an endpoint, not what should be done to them."},{"lineNumber":114,"author":{"gitId":"-"},"content":" - Reason 2: Request body is not limited to key-value format which allows proper design and validation."},{"lineNumber":115,"author":{"gitId":"-"},"content":" - Data Transfer Objects (DTOs) which represent different API requests and responses are defined in `request` and `output` package respectively."},{"lineNumber":116,"author":{"gitId":"-"},"content":"- Preprocess data sent/received by the server to hide complexities. For example, timestamp is passed as UNIX epoch milliseconds in the output while it is represented as `Instant` in the back-end."},{"lineNumber":117,"author":{"gitId":"-"},"content":" - Some constructors in the `output` package contain logic to hide \"hacks\" in the backend."},{"lineNumber":118,"author":{"gitId":"-"},"content":" - Some getters/setters in the `request` package contain logic to cater the conventions in the backend."},{"lineNumber":119,"author":{"gitId":"-"},"content":" - Some fields are required be hidden in the API response, mostly for data privacy purposes. Whenever required, there should be methods in the request output objects catered for this."},{"lineNumber":120,"author":{"gitId":"-"},"content":"- API endpoints should not be concerned with how data is presented."},{"lineNumber":121,"author":{"gitId":"-"},"content":" - Case study 1: some endpoint will pass timezone information via two information: timezone ID and UNIX epoch milliseconds. It is up to the front-end on how to make use of those two pieces of information."},{"lineNumber":122,"author":{"gitId":"-"},"content":" - Case study 2: CSV file for session result or student list is just a different way of presenting the same information in the web page. Due to this, when downloading CSV, the web page will request the same information as that used when displaying in web page and do the necessary conversion to CSV."},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":"On data exchange between front-end and back-end:"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"- Back-end is the single source of truth for all data format and the code used by front-end is generated from this."},{"lineNumber":127,"author":{"gitId":"-"},"content":" - Some important constants (including API endpoints information) are synced to `api-const.ts`."},{"lineNumber":128,"author":{"gitId":"-"},"content":" - The schemas of the DTOs defined in `output` and `request` packages are synced to `api-output.ts` and `api-request.ts` in the frontend."},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":"On handling exceptions:"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":"- The UI component is responsible for catching all exceptions and transforming them to properly formed, user-friendly output format. It includes the status message shown to user as well as the HTTP status code."},{"lineNumber":133,"author":{"gitId":"-"},"content":" - As a consequence, the UI component cannot throw any exception, because there is no layer which will catch those exceptions if it does."},{"lineNumber":134,"author":{"gitId":"-"},"content":"- In order to streamline the process, custom runtime exception classes which correspond to different HTTP status codes are used. For example, there is `EntityNotFoundException` which corresponds to HTTP 404, `UnauthorizedAccessException` which corresponds to HTTP 403, etc."},{"lineNumber":135,"author":{"gitId":"-"},"content":" - It is highly preferred to throw these custom exceptions instead of setting the HTTP status manually in the action class, as the API layer has been configured to automatically log the exception and assign the correct status code to the HTTP response."},{"lineNumber":136,"author":{"gitId":"-"},"content":"- All `4XX` responses must be accompanied with logging at `warning` level or above. `5XX` responses must be accompanied with `severe` level logging."},{"lineNumber":137,"author":{"gitId":"-"},"content":" - `502` (Bad Gateway) responses may skip the `severe` level logging if the upstream components (where the error happened) already did the `severe` level logging."},{"lineNumber":138,"author":{"gitId":"-"},"content":"- We use the HTTP status codes as close to their standard definition in [RFC7231](https://tools.ietf.org/html/rfc7231) as possible."},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":"## Logic Component"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"The `Logic` component handles the business logic of TEAMMATES. In particular, it is responsible for:"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":"- Managing relationships between entities, e.g. cascade logic for create/update/delete."},{"lineNumber":145,"author":{"gitId":"-"},"content":"- Managing transactions, e.g. ensuring atomicity of a transaction."},{"lineNumber":146,"author":{"gitId":"-"},"content":"- Sanitizing input values received from the UI component."},{"lineNumber":147,"author":{"gitId":"-"},"content":"- Connecting to GCP or third-party services, e.g. for adding tasks to the task queue and for sending emails with third-party providers."},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/LogicComponent.puml\"/\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":"Package overview:"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":"- **`logic.api`**: Provides the API of the component to be accessed by the UI."},{"lineNumber":154,"author":{"gitId":"-"},"content":"- **`logic.core`**: Contains the core logic of the system."},{"lineNumber":155,"author":{"gitId":"-"},"content":"- **`logic.external`**: Holds the logic of external services such as task queue service."},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":"### Logic API"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":"Represented by these classes:"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"- `Logic`: A [Facade class](http://en.wikipedia.org/wiki/Facade_pattern) which connects to the several `*Logic` classes to handle the logic related to various types of data and to access data from the `Storage` component."},{"lineNumber":162,"author":{"gitId":"-"},"content":"- `UserProvision`: Retrieves user information (based on request cookies)."},{"lineNumber":163,"author":{"gitId":"-"},"content":"- `EmailGenerator`: Generates emails to be sent."},{"lineNumber":164,"author":{"gitId":"-"},"content":"- `EmailSender`: Sends email with the provider chosen based on the build configuration."},{"lineNumber":165,"author":{"gitId":"-"},"content":"- `TaskQueuer`: Adds tasks to the task queue, i.e. to be executed at a later time."},{"lineNumber":166,"author":{"gitId":"-"},"content":"- `LogsProcessor`: For more advanced usage of logging that cannot be captured by the standard logger class."},{"lineNumber":167,"author":{"gitId":"-"},"content":"- `RecaptchaVerifier`: For verification of the reCAPTCHA token."},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":"Many classes in this layer make use of proxy pattern, i.e. they only connect to production services such as Google Cloud Tasks in the staging/production server."},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":"### Policies"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"Access control:"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":"+ Although this component provides methods that are relevant to access control (e.g. providing user information), the access control check itself does not happen in this component. The UI is expected to check access control (using `GateKeeper` class) before calling a method in the logic component."},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":"API for creating entities:"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":"+ Null parameters: Causes an assertion failure."},{"lineNumber":180,"author":{"gitId":"-"},"content":"+ Invalid parameters: Throws `InvalidParametersException`."},{"lineNumber":181,"author":{"gitId":"-"},"content":"+ Entity already exists: Throws `EntityAlreadyExistsException` (escalated from Storage level)."},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":"API for retrieving entities:"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":"+ Attempting to retrieve objects using `null` parameters: Causes an assertion failure."},{"lineNumber":186,"author":{"gitId":"-"},"content":"+ Entity not found:"},{"lineNumber":187,"author":{"gitId":"-"},"content":" - Returns `null` if the target entity not found. This way, read operations can be used easily for checking the existence of an entity."},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":"API for updating entities:"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"+ Update is done using `*UpdateOptions` inside every `*Attributes`. The `UpdateOptions` will specify what is used to identify the entity to update and what will be updated."},{"lineNumber":192,"author":{"gitId":"-"},"content":"+ Entity not found: Throws `EntityDoesNotExistException`."},{"lineNumber":193,"author":{"gitId":"-"},"content":"+ Invalid parameters: Throws `InvalidParametersException`."},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":"API for deleting entities:"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":"+ FailDeleteSilentlyPolicy: In general, delete operation do not throw exceptions if the target entity does not exist. This is because if it does not exist, it is as good as deleted."},{"lineNumber":198,"author":{"gitId":"-"},"content":"+ Cascade policy: When a parent entity is deleted, entities that have referential integrity with the deleted entity should also be deleted."},{"lineNumber":199,"author":{"gitId":"-"},"content":" Refer to the API for the cascade logic."},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":"## Storage Component"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":"The `Storage` component performs CRUD (Create, Read, Update, Delete) operations on data entities individually."},{"lineNumber":204,"author":{"gitId":"-"},"content":"It contains minimal logic beyond what is directly relevant to CRUD operations."},{"lineNumber":205,"author":{"gitId":"-"},"content":"In particular, it is reponsible for:"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":"- Validating data inside entities before creating/updating them, to ensure they are in a valid state."},{"lineNumber":208,"author":{"gitId":"-"},"content":"- Hiding the complexities of the database from the `Logic` component."},{"lineNumber":209,"author":{"gitId":"-"},"content":"- Hiding the persistable objects: Classes in the `storage::entity` package are not visible outside this component to hide information specific to data persistence."},{"lineNumber":210,"author":{"gitId":"-"},"content":" - Instead, a corresponding non-persistent [data transfer object](http://en.wikipedia.org/wiki/Data_transfer_object) named `*Attributes` (e.g., `CourseAttributes` is the data transfer object for `Course` entities) object is returned. These datatransfer classes are in `common::datatransfer` package, to be explained later."},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":"The `Storage` component does not perform any cascade delete/create operations. Cascade logic is handled by the `Logic` component."},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/StorageComponent.puml\"/\u003e"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":"Package overview:"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":"+ **`storage.api`**: Provides the API of the component to be accessed by the logic component."},{"lineNumber":219,"author":{"gitId":"-"},"content":"+ **`storage.entity`**: Classes that represent persistable entities."},{"lineNumber":220,"author":{"gitId":"-"},"content":"+ **`storage.search`**: Classes for dealing with searching and indexing."},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/StorageClassDiagram.puml\"/\u003e"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":"Note that the navigability of the association links between entity objects appear to be in the reverse direction of what we see in a normal OOP design."},{"lineNumber":225,"author":{"gitId":"-"},"content":"This is because we want to keep the data schema flexible so that new entity types can be added later with minimal modifications to existing elements."},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":"### Storage API"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"Represented by the `*Db` classes. These classes act as the bridge to the database."},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":"### Policies"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":"Add and Delete operations try to wait until data is persisted in the database before returning. This is not enough to compensate for eventual consistency involving multiple servers in the Google Cloud Datastore environment. However, it is expected to avoid test failures caused by eventual consistency in dev server and reduce such problems in the live server."},{"lineNumber":234,"author":{"gitId":"-"},"content":"Note: \u0027Eventual consistency\u0027 here means it takes some time for a database operation to propagate across all replicas of the Google Cloud Datastore. As a result, the data may be in an inconsistent states for short periods of time although things should become consistent \u0027eventually\u0027. For example, an object we deleted may appear to still exist for a short while."},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":"Implementation of Transaction Control has been minimized due to limitations of Google Cloud Datastore environment and the nature of our data schema."},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":"API for creating:"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":"+ Attempt to create an entity that already exists: Throws `EntityAlreadyExistsException`."},{"lineNumber":241,"author":{"gitId":"-"},"content":"+ Attempt to create an entity with invalid data: Throws `InvalidParametersException`."},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":"API for retrieving:"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":"+ Attempt to retrieve an entity that does not exist: Returns `null`."},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":"API for updating:"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":"+ Attempt to update an entity that does not exist: Throws `EntityDoesNotExistException`."},{"lineNumber":250,"author":{"gitId":"-"},"content":"+ Attempt to update an entity with invalid data: Throws `InvalidParametersException`."},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":"API for deleting:"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":"+ Attempt to delete an entity that does not exist: Fails silently."},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":"## Common Component"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":"The Common component contains common utilities used across TEAMMATES."},{"lineNumber":259,"author":{"gitId":"-"},"content":""},{"lineNumber":260,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/CommonComponent.puml\"/\u003e"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":"Package overview:"},{"lineNumber":263,"author":{"gitId":"-"},"content":""},{"lineNumber":264,"author":{"gitId":"-"},"content":"- **`common.util`**: Contains utility classes."},{"lineNumber":265,"author":{"gitId":"-"},"content":"- **`common.exceptions`**: Contains custom exceptions."},{"lineNumber":266,"author":{"gitId":"-"},"content":"- **`common.datatransfer`**: Contains data transfer objects."},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":"`common.datatransfer` package contains lightweight \"data transfer object\" classes for transferring data among components. They can be combined in various ways to transfer structured data between components. Given below are three examples."},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/DataTransferClasses.puml\"/\u003e"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":"1. `Test Driver` can use the `DataBundle` in this manner to send an arbitrary number of objects to be persisted in the database."},{"lineNumber":273,"author":{"gitId":"-"},"content":"1. This structure can be used to transfer search results of a student or instructor or response comments."},{"lineNumber":274,"author":{"gitId":"-"},"content":"1. This structure can be used to send results of a feedback session (e.g., when showing a feedback session report to an instructor)."},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":"Some of these classes are methodless (and thus more of a data structure rather than a class); these classes use public variables for data for easy access."},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":"## Test Driver Component"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":"This component automates the testing of TEAMMATES."},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/TestDriverComponent.puml\"/\u003e"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":"The test driver component\u0027s package structure follows the corresponding production package structure\u0027s exactly,"},{"lineNumber":285,"author":{"gitId":"-"},"content":"e.g. `teammates.logic.core.*` will contain the test cases for the production code inside `teammates.logic.core` package."},{"lineNumber":286,"author":{"gitId":"-"},"content":"In the same spirit, for the front end, each `*.component.ts` will have the corresponding `*.component.spec.ts` in the same folder (similarly for `*.service.ts`, `*.pipe.ts`, etc.)."},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":"The test driver component introduces the following additional packages:"},{"lineNumber":289,"author":{"gitId":"-"},"content":""},{"lineNumber":290,"author":{"gitId":"-"},"content":"- **`architecture`**: Contains test cases used by one of the lint tools to check for architectural integrity."},{"lineNumber":291,"author":{"gitId":"-"},"content":"- **`test`**: Contains infrastructure and helpers needed for running the tests. Also contains the test cases for the said infrastructure/helpers."},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":"Notes:"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":"- Component tests: Some of these are pure unit tests (i.e. testing one component in isolation) while others are integration tests that test units as well as integration of units with each other."},{"lineNumber":296,"author":{"gitId":"-"},"content":"- Front-end files (particularly TypeScript) are tested separately with `Jest`. The test cases are found in `*.spec.ts` files."},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":"This is how TEAMMATES testing maps to standard types of testing."},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":"```"},{"lineNumber":301,"author":{"gitId":"-"},"content":"Normal"},{"lineNumber":302,"author":{"gitId":"-"},"content":"|-----acceptance tests-----|-------------------system tests-------------------|-----integration tests-----|-----unit tests-----|"},{"lineNumber":303,"author":{"gitId":"-"},"content":"|--------manual testing--------|------automated E2E tests------|-------------------automated component tests-------------------|"},{"lineNumber":304,"author":{"gitId":"-"},"content":"TEAMMATES"},{"lineNumber":305,"author":{"gitId":"-"},"content":"```"},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":"## E2E Component"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":"The E2E component has no knowledge of the internal workings of the application and can only interact either with Web browser (as a whole application) or REST API calls (for the back-end logic). Its primary function is for E2E tests."},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/E2EComponent.puml\"/\u003e"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":"Package overview:"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":"- **`e2e.util`**: Contains helpers needed for running E2E tests. Also contains the test cases for the said infrastructure/helpers."},{"lineNumber":316,"author":{"gitId":"-"},"content":"- **`e2e.pageobjects`**: Contains abstractions of the pages as they appear on a Browser (i.e. SUTs)."},{"lineNumber":317,"author":{"gitId":"-"},"content":"- **`e2e.cases`**: Contains system test cases for testing the application as a whole."},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":"## Client Component"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":"The Client component contains scripts that can connect directly to the application back-end for administrative purposes, such as migrating data to a new schema and calculating statistics."},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/ClientComponent.puml\"/\u003e"},{"lineNumber":324,"author":{"gitId":"-"},"content":""},{"lineNumber":325,"author":{"gitId":"-"},"content":"Package overview:"},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":"- **`client.util`**: Contains helpers needed for client scripts."},{"lineNumber":328,"author":{"gitId":"-"},"content":"- **`client.connector`**: Classes needed to connect to the back end directly."},{"lineNumber":329,"author":{"gitId":"-"},"content":"- **`client.scripts`**: Scripts that deal with the back end data for administrative purposes."}],"authorContributionMap":{"jingting1412":12,"-":317}},{"path":"src/e2e/java/teammates/e2e/cases/AdminNotificationsPageE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDate;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import java.util.UUID;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationStyle;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationTargetUser;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.AdminNotificationsPage;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.output.NotificationData;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * SUT: {@link Const.WebPageURIs#ADMIN_NOTIFICATIONS_PAGE}."},{"lineNumber":21,"author":{"gitId":"-"},"content":" */"},{"lineNumber":22,"author":{"gitId":"-"},"content":"public class AdminNotificationsPageE2ETest extends BaseE2ETestCase {"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" private Notification[] notifications \u003d new Notification[2];"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":26,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" testData \u003d loadDataBundle(\"/AdminNotificationsPageE2ETest.json\");"},{"lineNumber":28,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" sqlTestData \u003d removeAndRestoreSqlDataBundle("},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" loadSqlDataBundle(\"/AdminNotificationsPageE2ETest_SqlEntities.json\"));"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" notifications[0] \u003d sqlTestData.notifications.get(\"notification1\");"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" notifications[1] \u003d sqlTestData.notifications.get(\"notification2\");"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"-"},"content":" public void testAll() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" ______TS(\"verify loaded data\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" AppUrl url \u003d createFrontendUrl(Const.WebPageURIs.ADMIN_NOTIFICATIONS_PAGE);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" AdminNotificationsPage notificationsPage \u003d loginAdminToPage(url, AdminNotificationsPage.class);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" // Only validates that the notifications are present in the notifications table instead of checking every row"},{"lineNumber":43,"author":{"gitId":"-"},"content":" // This is because the page will display all notifications in the database, which is not predictable"},{"lineNumber":44,"author":{"gitId":"-"},"content":" notificationsPage.verifyNotificationsTableRow(notifications[0]);"},{"lineNumber":45,"author":{"gitId":"-"},"content":" notificationsPage.verifyNotificationsTableRow(notifications[1]);"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" NotificationData notif \u003d BACKDOOR.getNotificationData(notifications[0].getId().toString());"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getNotificationId(), notifications[0].getId().toString());"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getMessage(), notifications[0].getMessage());"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getTitle(), notifications[0].getTitle());"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" notif \u003d BACKDOOR.getNotificationData(notifications[1].getId().toString());"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getNotificationId(), notifications[1].getId().toString());"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getMessage(), notifications[1].getMessage());"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getTitle(), notifications[1].getTitle());"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" ______TS(\"add new notification\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" int currentYear \u003d LocalDate.now().getYear();"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" Notification newNotification \u003d new Notification("},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" LocalDateTime.of(currentYear + 5, 2, 2, 12, 0).atZone(ZoneId.of(\"UTC\")).toInstant(),"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" LocalDateTime.of(currentYear + 5, 2, 3, 12, 0).atZone(ZoneId.of(\"UTC\")).toInstant(),"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" NotificationStyle.INFO,"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" NotificationTargetUser.STUDENT,"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" \"New E2E test notification 1\","},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" \"\u003cp\u003eNew E2E test notification message\u003c/p\u003e\""},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" );"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" notificationsPage.addNotification(newNotification);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" notificationsPage.verifyStatusMessage(\"Notification created successfully.\");"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" // Replace placeholder ID with actual ID of created notification"},{"lineNumber":70,"author":{"gitId":"-"},"content":" notificationsPage.sortNotificationsTableByDescendingCreateTime();"},{"lineNumber":71,"author":{"gitId":"-"},"content":" String newestNotificationId \u003d notificationsPage.getFirstRowNotificationId();"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" newNotification.setId(UUID.fromString(newestNotificationId));"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" // Checks that notification is in the database first"},{"lineNumber":75,"author":{"gitId":"-"},"content":" // so that newNotification is updated with the created time before checking table row"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" notif \u003d BACKDOOR.getNotificationData(newestNotificationId);"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getNotificationId(), newestNotificationId);"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getMessage(), newNotification.getMessage());"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getTitle(), newNotification.getTitle());"},{"lineNumber":80,"author":{"gitId":"-"},"content":" notificationsPage.verifyNotificationsTableRow(newNotification);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" ______TS(\"edit notification\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":" newNotification.setStartTime(LocalDateTime.of(currentYear + 7, 2, 2, 12, 0).atZone(ZoneId.of(\"UTC\")).toInstant());"},{"lineNumber":84,"author":{"gitId":"-"},"content":" newNotification.setEndTime(LocalDateTime.of(currentYear + 7, 2, 3, 12, 0).atZone(ZoneId.of(\"UTC\")).toInstant());"},{"lineNumber":85,"author":{"gitId":"-"},"content":" newNotification.setStyle(NotificationStyle.DANGER);"},{"lineNumber":86,"author":{"gitId":"-"},"content":" newNotification.setTargetUser(NotificationTargetUser.INSTRUCTOR);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" newNotification.setTitle(\"Edited E2E test notification 1\");"},{"lineNumber":88,"author":{"gitId":"-"},"content":" newNotification.setMessage(\"\u003cp\u003eEdited E2E test notification message\u003c/p\u003e\");"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" notificationsPage.editNotification(newNotification);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" notificationsPage.verifyStatusMessage(\"Notification updated successfully.\");"},{"lineNumber":92,"author":{"gitId":"-"},"content":" notificationsPage.verifyNotificationsTableRow(newNotification);"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" // verify that notification is present in database by reloading"},{"lineNumber":95,"author":{"gitId":"-"},"content":" notificationsPage.reloadPage();"},{"lineNumber":96,"author":{"gitId":"-"},"content":" notificationsPage.verifyNotificationsTableRow(newNotification);"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" ______TS(\"delete notification\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":" notificationsPage.deleteNotification(newNotification);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" notificationsPage.verifyStatusMessage(\"Notification has been deleted.\");"},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" notif \u003d BACKDOOR.getNotificationData(newestNotificationId);"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" assertNull(notif);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":106,"author":{"gitId":"-"},"content":" public void classTeardown() {"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" for (Notification notification : sqlTestData.notifications.values()) {"},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" BACKDOOR.deleteNotification(notification.getId().toString());"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":33,"-":79}},{"path":"src/e2e/java/teammates/e2e/cases/AdminSearchPageE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.AdminSearchPage;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * SUT: {@link Const.WebPageURIs#ADMIN_SEARCH_PAGE}."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class AdminSearchPageE2ETest extends BaseE2ETestCase {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" testData \u003d loadDataBundle(\"/AdminSearchPageE2ETest.json\");"},{"lineNumber":30,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" putDocuments(testData);"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" sqlTestData \u003d loadSqlDataBundle(\"/AdminSearchPageE2ETest_SqlEntities.json\");"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" removeAndRestoreSqlDataBundle(sqlTestData);"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" putSqlDocuments(sqlTestData);"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":38,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":39,"author":{"gitId":"-"},"content":" public void testAll() {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" AppUrl url \u003d createFrontendUrl(Const.WebPageURIs.ADMIN_SEARCH_PAGE);"},{"lineNumber":45,"author":{"gitId":"-"},"content":" AdminSearchPage searchPage \u003d loginAdminToPage(url, AdminSearchPage.class);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" CourseAttributes course \u003d testData.courses.get(\"typicalCourse1\");"},{"lineNumber":48,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d testData.students.get(\"student1InCourse1\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d testData.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d sqlTestData.accountRequests.get(\"instructor1OfCourse1\");"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Search student email\");"},{"lineNumber":53,"author":{"gitId":"-"},"content":" String searchContent \u003d student.getEmail();"},{"lineNumber":54,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":56,"author":{"gitId":"-"},"content":" String studentDetails \u003d getExpectedStudentDetails(student);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" String studentManageAccountLink \u003d getExpectedStudentManageAccountLink(student);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" String studentHomePageLink \u003d getExpectedStudentHomePageLink(student);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" int numExpandedRows \u003d getExpectedNumExpandedRows(student);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" searchPage.verifyStudentRowContent(student, course, studentDetails, studentManageAccountLink,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" studentHomePageLink);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" searchPage.verifyStudentExpandedLinks(student, numExpandedRows);"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Reset student google id\");"},{"lineNumber":65,"author":{"gitId":"-"},"content":" searchPage.resetStudentGoogleId(student);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" student.setGoogleId(null);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" studentManageAccountLink \u003d getExpectedStudentManageAccountLink(student);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" studentHomePageLink \u003d getExpectedStudentHomePageLink(student);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" searchPage.verifyStudentRowContent(student, course, studentDetails, studentManageAccountLink,"},{"lineNumber":70,"author":{"gitId":"-"},"content":" studentHomePageLink);"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Regenerate registration key for a course student\");"},{"lineNumber":73,"author":{"gitId":"-"},"content":" searchPage.clickExpandStudentLinks();"},{"lineNumber":74,"author":{"gitId":"-"},"content":" String originalJoinLink \u003d searchPage.getStudentJoinLink(student);"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" searchPage.regenerateStudentKey(student);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" searchPage.verifyRegenerateStudentKey(student, originalJoinLink);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" searchPage.waitForPageToLoad();"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Search for instructor email\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":82,"author":{"gitId":"-"},"content":" searchContent \u003d instructor.getEmail();"},{"lineNumber":83,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":85,"author":{"gitId":"-"},"content":" String instructorManageAccountLink \u003d getExpectedInstructorManageAccountLink(instructor);"},{"lineNumber":86,"author":{"gitId":"-"},"content":" String instructorHomePageLink \u003d getExpectedInstructorHomePageLink(instructor);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" searchPage.verifyInstructorRowContent(instructor, course, instructorManageAccountLink,"},{"lineNumber":88,"author":{"gitId":"-"},"content":" instructorHomePageLink);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" searchPage.verifyInstructorExpandedLinks(instructor);"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Reset instructor google id\");"},{"lineNumber":92,"author":{"gitId":"-"},"content":" searchPage.resetInstructorGoogleId(instructor);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" instructor.setGoogleId(null);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" instructorManageAccountLink \u003d getExpectedInstructorManageAccountLink(instructor);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" instructorHomePageLink \u003d getExpectedInstructorHomePageLink(instructor);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" searchPage.verifyInstructorRowContent(instructor, course, instructorManageAccountLink,"},{"lineNumber":97,"author":{"gitId":"-"},"content":" instructorHomePageLink);"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Regenerate registration key for an instructor\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":" searchPage.clickExpandInstructorLinks();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" originalJoinLink \u003d searchPage.getInstructorJoinLink(instructor);"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" searchPage.regenerateInstructorKey(instructor);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" searchPage.verifyRegenerateInstructorKey(instructor, originalJoinLink);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" searchPage.waitForPageToLoad();"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Search for account request by email\");"},{"lineNumber":108,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":109,"author":{"gitId":"-"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":110,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" searchPage.verifyAccountRequestRowContent(accountRequest);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" searchPage.verifyAccountRequestExpandedLinks(accountRequest);"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Search common search key\");"},{"lineNumber":116,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":117,"author":{"gitId":"-"},"content":" searchContent \u003d \"Course1\";"},{"lineNumber":118,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":120,"author":{"gitId":"-"},"content":" searchPage.verifyStudentRowContent(student, course, studentDetails, studentManageAccountLink,"},{"lineNumber":121,"author":{"gitId":"-"},"content":" studentHomePageLink);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" searchPage.verifyInstructorRowContent(instructor, course, instructorManageAccountLink,"},{"lineNumber":123,"author":{"gitId":"-"},"content":" instructorHomePageLink);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" searchPage.verifyAccountRequestRowContent(accountRequest);"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Expand and collapse links\");"},{"lineNumber":127,"author":{"gitId":"-"},"content":" searchPage.verifyLinkExpansionButtons(student, instructor, accountRequest);"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Reset account request successful\");"},{"lineNumber":130,"author":{"gitId":"-"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":131,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":132,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":134,"author":{"gitId":"-"},"content":" searchPage.clickResetAccountRequestButton(accountRequest);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" assertNull(BACKDOOR.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute()).getRegisteredAt());"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Delete account request successful\");"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d sqlTestData.accountRequests.get(\"unregisteredInstructor1\");"},{"lineNumber":139,"author":{"gitId":"-"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":140,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":141,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":143,"author":{"gitId":"-"},"content":" searchPage.clickDeleteAccountRequestButton(accountRequest);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" assertNull(BACKDOOR.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute()));"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" private String getExpectedStudentDetails(StudentAttributes student) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" return String.format(\"%s [%s] (%s)\", student.getCourse(),"},{"lineNumber":149,"author":{"gitId":"-"},"content":" student.getSection() \u003d\u003d null ? Const.DEFAULT_SECTION : student.getSection(), student.getTeam());"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" private String getExpectedStudentHomePageLink(StudentAttributes student) {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" return student.isRegistered() ? createFrontendUrl(Const.WebPageURIs.STUDENT_HOME_PAGE)"},{"lineNumber":154,"author":{"gitId":"-"},"content":" .withUserId(student.getGoogleId())"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .toAbsoluteString()"},{"lineNumber":156,"author":{"gitId":"-"},"content":" : \"\";"},{"lineNumber":157,"author":{"gitId":"-"},"content":" }"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" private String getExpectedStudentManageAccountLink(StudentAttributes student) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" return student.isRegistered() ? createFrontendUrl(Const.WebPageURIs.ADMIN_ACCOUNTS_PAGE)"},{"lineNumber":161,"author":{"gitId":"-"},"content":" .withParam(Const.ParamsNames.INSTRUCTOR_ID, student.getGoogleId())"},{"lineNumber":162,"author":{"gitId":"-"},"content":" .toAbsoluteString()"},{"lineNumber":163,"author":{"gitId":"-"},"content":" : \"\";"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" private int getExpectedNumExpandedRows(StudentAttributes student) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" int expectedNumExpandedRows \u003d 2;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" for (FeedbackSessionAttributes sessions : testData.feedbackSessions.values()) {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" if (sessions.getCourseId().equals(student.getCourse())) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" expectedNumExpandedRows +\u003d 1;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" if (sessions.getResultsVisibleFromTime().isBefore(Instant.now())) {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" expectedNumExpandedRows +\u003d 1;"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":" return expectedNumExpandedRows;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" private String getExpectedInstructorHomePageLink(InstructorAttributes instructor) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" String googleId \u003d instructor.isRegistered() ? instructor.getGoogleId() : \"\";"},{"lineNumber":181,"author":{"gitId":"-"},"content":" return createFrontendUrl(Const.WebPageURIs.INSTRUCTOR_HOME_PAGE)"},{"lineNumber":182,"author":{"gitId":"-"},"content":" .withUserId(googleId)"},{"lineNumber":183,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" private String getExpectedInstructorManageAccountLink(InstructorAttributes instructor) {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" String googleId \u003d instructor.isRegistered() ? instructor.getGoogleId() : \"\";"},{"lineNumber":188,"author":{"gitId":"-"},"content":" return createFrontendUrl(Const.WebPageURIs.ADMIN_ACCOUNTS_PAGE)"},{"lineNumber":189,"author":{"gitId":"-"},"content":" .withParam(Const.ParamsNames.INSTRUCTOR_ID, googleId)"},{"lineNumber":190,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":" @AfterClass"},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" public void classTeardown() {"},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" for (AccountRequest request : sqlTestData.accountRequests.values()) {"},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":" BACKDOOR.deleteAccountRequest(request.getEmail(), request.getInstitute());"},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":14,"-":186}},{"path":"src/e2e/java/teammates/e2e/cases/BaseE2ETestCase.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.ITestContext;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.DataBundle;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountAttributes;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountRequestAttributes;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.DeadlineExtensionAttributes;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseAttributes;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseCommentAttributes;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.exception.HttpRequestFailedException;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.AppPage;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.Browser;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.DevServerLoginPage;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.HomePage;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.e2e.util.BackDoor;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.e2e.util.EmailAccount;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCaseWithDatabaseAccess;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.test.FileHelper;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.test.ThreadHelper;"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":40,"author":{"gitId":"-"},"content":" * Base class for all browser tests."},{"lineNumber":41,"author":{"gitId":"-"},"content":" *"},{"lineNumber":42,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis type of test has no knowledge of the workings of the application,"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * and can only communicate via the UI or via {@link BackDoor} to obtain/transmit data."},{"lineNumber":44,"author":{"gitId":"-"},"content":" */"},{"lineNumber":45,"author":{"gitId":"-"},"content":"public abstract class BaseE2ETestCase extends BaseTestCaseWithDatabaseAccess {"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Backdoor used to call APIs."},{"lineNumber":49,"author":{"gitId":"-"},"content":" */"},{"lineNumber":50,"author":{"gitId":"-"},"content":" protected static final BackDoor BACKDOOR \u003d BackDoor.getInstance();"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":53,"author":{"gitId":"-"},"content":" * Data to be used in the test."},{"lineNumber":54,"author":{"gitId":"-"},"content":" */"},{"lineNumber":55,"author":{"gitId":"-"},"content":" protected DataBundle testData;"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":58,"author":{"gitId":"-"},"content":" * Sql Data to be used in the test."},{"lineNumber":59,"author":{"gitId":"-"},"content":" */"},{"lineNumber":60,"author":{"gitId":"-"},"content":" protected SqlDataBundle sqlTestData;"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" private Browser browser;"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public void baseClassSetup() {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" prepareTestData();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" prepareBrowser();"},{"lineNumber":68,"author":{"gitId":"-"},"content":" }"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":71,"author":{"gitId":"-"},"content":" * Prepares the browser used for the current test."},{"lineNumber":72,"author":{"gitId":"-"},"content":" */"},{"lineNumber":73,"author":{"gitId":"-"},"content":" protected void prepareBrowser() {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" browser \u003d new Browser();"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":78,"author":{"gitId":"-"},"content":" * Prepares the test data used for the current test."},{"lineNumber":79,"author":{"gitId":"-"},"content":" */"},{"lineNumber":80,"author":{"gitId":"-"},"content":" protected abstract void prepareTestData();"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * Contains all the tests for the page."},{"lineNumber":84,"author":{"gitId":"-"},"content":" *"},{"lineNumber":85,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis approach is chosen so that setup and teardown are only needed once per test page,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" * thereby saving time. While it necessitates failed tests to be restarted from the beginning,"},{"lineNumber":87,"author":{"gitId":"-"},"content":" * test failures are rare and thus not causing significant overhead."},{"lineNumber":88,"author":{"gitId":"-"},"content":" */"},{"lineNumber":89,"author":{"gitId":"-"},"content":" protected abstract void testAll();"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":92,"author":{"gitId":"-"},"content":" protected String getTestDataFolder() {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" return TestProperties.TEST_DATA_FOLDER;"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":97,"author":{"gitId":"-"},"content":" public void baseClassTearDown(ITestContext context) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" if (browser \u003d\u003d null) {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":" boolean isSuccess \u003d context.getFailedTests().getAllMethods()"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":103,"author":{"gitId":"-"},"content":" .noneMatch(method -\u003e method.getConstructorOrMethod().getMethod().getDeclaringClass() \u003d\u003d this.getClass());"},{"lineNumber":104,"author":{"gitId":"-"},"content":" if (isSuccess || TestProperties.CLOSE_BROWSER_ON_FAILURE) {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" browser.close();"},{"lineNumber":106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":110,"author":{"gitId":"-"},"content":" * Creates an {@link AppUrl} for the supplied {@code relativeUrl} parameter."},{"lineNumber":111,"author":{"gitId":"-"},"content":" * The base URL will be the value of test.app.frontend.url in test.properties."},{"lineNumber":112,"author":{"gitId":"-"},"content":" * {@code relativeUrl} must start with a \"/\"."},{"lineNumber":113,"author":{"gitId":"-"},"content":" */"},{"lineNumber":114,"author":{"gitId":"-"},"content":" protected static AppUrl createFrontendUrl(String relativeUrl) {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" return new AppUrl(TestProperties.TEAMMATES_FRONTEND_URL + relativeUrl);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":119,"author":{"gitId":"-"},"content":" * Creates an {@link AppUrl} for the supplied {@code relativeUrl} parameter."},{"lineNumber":120,"author":{"gitId":"-"},"content":" * The base URL will be the value of test.app.backend.url in test.properties."},{"lineNumber":121,"author":{"gitId":"-"},"content":" * {@code relativeUrl} must start with a \"/\"."},{"lineNumber":122,"author":{"gitId":"-"},"content":" */"},{"lineNumber":123,"author":{"gitId":"-"},"content":" protected static AppUrl createBackendUrl(String relativeUrl) {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" return new AppUrl(TestProperties.TEAMMATES_BACKEND_URL + relativeUrl);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":128,"author":{"gitId":"-"},"content":" * Logs in to a page using the given credentials."},{"lineNumber":129,"author":{"gitId":"-"},"content":" */"},{"lineNumber":130,"author":{"gitId":"-"},"content":" protected \u003cT extends AppPage\u003e T loginToPage(AppUrl url, Class\u003cT\u003e typeOfPage, String userId) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" // When not using dev server, Google blocks log in by automation."},{"lineNumber":132,"author":{"gitId":"-"},"content":" // To work around that, we inject the user cookie directly into the browser session."},{"lineNumber":133,"author":{"gitId":"-"},"content":" if (!TestProperties.isDevServer()) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" // In order for the cookie injection to work, we need to be in the domain."},{"lineNumber":135,"author":{"gitId":"-"},"content":" // Use the home page to minimize the page load time."},{"lineNumber":136,"author":{"gitId":"-"},"content":" browser.goToUrl(TestProperties.TEAMMATES_FRONTEND_URL);"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" String cookieValue \u003d BACKDOOR.getUserCookie(userId);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" browser.addCookie(Const.SecurityConfig.AUTH_COOKIE_NAME, cookieValue, true, true);"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" return getNewPageInstance(url, typeOfPage);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" // This will be redirected to the dev server login page."},{"lineNumber":145,"author":{"gitId":"-"},"content":" browser.goToUrl(url.toAbsoluteString());"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" DevServerLoginPage loginPage \u003d AppPage.getNewPageInstance(browser, DevServerLoginPage.class);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" loginPage.loginAsUser(userId);"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" return getNewPageInstance(url, typeOfPage);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":154,"author":{"gitId":"-"},"content":" * Logs in to a page using admin credentials."},{"lineNumber":155,"author":{"gitId":"-"},"content":" */"},{"lineNumber":156,"author":{"gitId":"-"},"content":" protected \u003cT extends AppPage\u003e T loginAdminToPage(AppUrl url, Class\u003cT\u003e typeOfPage) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" return loginToPage(url, typeOfPage, TestProperties.TEST_ADMIN);"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":161,"author":{"gitId":"-"},"content":" * Equivalent to clicking the \u0027logout\u0027 link in the top menu of the page."},{"lineNumber":162,"author":{"gitId":"-"},"content":" */"},{"lineNumber":163,"author":{"gitId":"-"},"content":" protected void logout() {"},{"lineNumber":164,"author":{"gitId":"-"},"content":" AppUrl url \u003d createBackendUrl(Const.WebPageURIs.LOGOUT);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" if (!TestProperties.TEAMMATES_FRONTEND_URL.equals(TestProperties.TEAMMATES_BACKEND_URL)) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" url \u003d url.withParam(\"frontendUrl\", TestProperties.TEAMMATES_FRONTEND_URL);"},{"lineNumber":167,"author":{"gitId":"-"},"content":" }"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" browser.goToUrl(url.toAbsoluteString());"},{"lineNumber":170,"author":{"gitId":"-"},"content":" AppPage.getNewPageInstance(browser, HomePage.class).waitForPageToLoad();"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":174,"author":{"gitId":"-"},"content":" * Deletes file with fileName from the downloads folder."},{"lineNumber":175,"author":{"gitId":"-"},"content":" */"},{"lineNumber":176,"author":{"gitId":"-"},"content":" protected void deleteDownloadsFile(String fileName) {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" String filePath \u003d TestProperties.TEST_DOWNLOADS_FOLDER + fileName;"},{"lineNumber":178,"author":{"gitId":"-"},"content":" FileHelper.deleteFile(filePath);"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":182,"author":{"gitId":"-"},"content":" * Verifies downloaded file has correct fileName and contains expected content."},{"lineNumber":183,"author":{"gitId":"-"},"content":" */"},{"lineNumber":184,"author":{"gitId":"-"},"content":" protected void verifyDownloadedFile(String expectedFileName, List\u003cString\u003e expectedContent) {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" String filePath \u003d TestProperties.TEST_DOWNLOADS_FOLDER + expectedFileName;"},{"lineNumber":186,"author":{"gitId":"-"},"content":" int retryLimit \u003d TestProperties.TEST_TIMEOUT;"},{"lineNumber":187,"author":{"gitId":"-"},"content":" boolean actual \u003d Files.exists(Paths.get(filePath));"},{"lineNumber":188,"author":{"gitId":"-"},"content":" while (!actual \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":190,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000);"},{"lineNumber":191,"author":{"gitId":"-"},"content":" actual \u003d Files.exists(Paths.get(filePath));"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":" assertTrue(actual);"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" String actualContent \u003d FileHelper.readFile(filePath);"},{"lineNumber":197,"author":{"gitId":"-"},"content":" for (String content : expectedContent) {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" assertTrue(actualContent.contains(content));"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":202,"author":{"gitId":"-"},"content":" }"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":206,"author":{"gitId":"-"},"content":" * Visits the URL and gets the page object representation of the visited web page in the browser."},{"lineNumber":207,"author":{"gitId":"-"},"content":" */"},{"lineNumber":208,"author":{"gitId":"-"},"content":" protected \u003cT extends AppPage\u003e T getNewPageInstance(AppUrl url, Class\u003cT\u003e typeOfPage) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" browser.goToUrl(url.toAbsoluteString());"},{"lineNumber":210,"author":{"gitId":"-"},"content":" return AppPage.getNewPageInstance(browser, typeOfPage);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":214,"author":{"gitId":"-"},"content":" * Verifies that email with subject is found in inbox."},{"lineNumber":215,"author":{"gitId":"-"},"content":" * Email used must be an authentic gmail account."},{"lineNumber":216,"author":{"gitId":"-"},"content":" */"},{"lineNumber":217,"author":{"gitId":"-"},"content":" protected void verifyEmailSent(String email, String subject) {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" if (TestProperties.isDevServer() || !TestProperties.INCLUDE_EMAIL_VERIFICATION) {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":" if (!TestProperties.TEST_EMAIL.equals(email)) {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" fail(\"Email verification is allowed only on preset test email.\");"},{"lineNumber":223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":224,"author":{"gitId":"-"},"content":" EmailAccount emailAccount \u003d new EmailAccount(email);"},{"lineNumber":225,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":226,"author":{"gitId":"-"},"content":" emailAccount.getUserAuthenticated();"},{"lineNumber":227,"author":{"gitId":"-"},"content":" int retryLimit \u003d 5;"},{"lineNumber":228,"author":{"gitId":"-"},"content":" boolean actual \u003d emailAccount.isRecentEmailWithSubjectPresent(subject, TestProperties.TEST_SENDER_EMAIL);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" while (!actual \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":231,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000);"},{"lineNumber":232,"author":{"gitId":"-"},"content":" actual \u003d emailAccount.isRecentEmailWithSubjectPresent(subject, TestProperties.TEST_SENDER_EMAIL);"},{"lineNumber":233,"author":{"gitId":"-"},"content":" }"},{"lineNumber":234,"author":{"gitId":"-"},"content":" assertTrue(actual);"},{"lineNumber":235,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" fail(\"Failed to verify email sent:\" + e);"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" AccountAttributes getAccount(String googleId) {"},{"lineNumber":241,"author":{"gitId":"-"},"content":" return BACKDOOR.getAccount(googleId);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" }"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":245,"author":{"gitId":"-"},"content":" protected AccountAttributes getAccount(AccountAttributes account) {"},{"lineNumber":246,"author":{"gitId":"-"},"content":" return getAccount(account.getGoogleId());"},{"lineNumber":247,"author":{"gitId":"-"},"content":" }"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":" CourseAttributes getCourse(String courseId) {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" return BACKDOOR.getCourse(courseId);"},{"lineNumber":251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":254,"author":{"gitId":"-"},"content":" protected CourseAttributes getCourse(CourseAttributes course) {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" return getCourse(course.getId());"},{"lineNumber":256,"author":{"gitId":"-"},"content":" }"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":" CourseAttributes getArchivedCourse(String instructorId, String courseId) {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" return BACKDOOR.getArchivedCourse(instructorId, courseId);"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes getFeedbackQuestion(String courseId, String feedbackSessionName, int qnNumber) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" return BACKDOOR.getFeedbackQuestion(courseId, feedbackSessionName, qnNumber);"},{"lineNumber":264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":267,"author":{"gitId":"-"},"content":" protected FeedbackQuestionAttributes getFeedbackQuestion(FeedbackQuestionAttributes fq) {"},{"lineNumber":268,"author":{"gitId":"-"},"content":" return getFeedbackQuestion(fq.getCourseId(), fq.getFeedbackSessionName(), fq.getQuestionNumber());"},{"lineNumber":269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" FeedbackResponseCommentAttributes getFeedbackResponseComment(String feedbackResponseId) {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" return BACKDOOR.getFeedbackResponseComment(feedbackResponseId);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" }"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":276,"author":{"gitId":"-"},"content":" protected FeedbackResponseCommentAttributes getFeedbackResponseComment(FeedbackResponseCommentAttributes frc) {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" return getFeedbackResponseComment(frc.getFeedbackResponseId());"},{"lineNumber":278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" FeedbackResponseAttributes getFeedbackResponse(String feedbackQuestionId, String giver, String recipient) {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" return BACKDOOR.getFeedbackResponse(feedbackQuestionId, giver, recipient);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" }"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":285,"author":{"gitId":"-"},"content":" protected FeedbackResponseAttributes getFeedbackResponse(FeedbackResponseAttributes fr) {"},{"lineNumber":286,"author":{"gitId":"-"},"content":" return getFeedbackResponse(fr.getFeedbackQuestionId(), fr.getGiver(), fr.getRecipient());"},{"lineNumber":287,"author":{"gitId":"-"},"content":" }"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes getFeedbackSession(String courseId, String feedbackSessionName) {"},{"lineNumber":290,"author":{"gitId":"-"},"content":" return BACKDOOR.getFeedbackSession(courseId, feedbackSessionName);"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":294,"author":{"gitId":"-"},"content":" protected FeedbackSessionAttributes getFeedbackSession(FeedbackSessionAttributes fs) {"},{"lineNumber":295,"author":{"gitId":"-"},"content":" return getFeedbackSession(fs.getCourseId(), fs.getFeedbackSessionName());"},{"lineNumber":296,"author":{"gitId":"-"},"content":" }"},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes getSoftDeletedSession(String feedbackSessionName, String instructorId) {"},{"lineNumber":299,"author":{"gitId":"-"},"content":" return BACKDOOR.getSoftDeletedSession(feedbackSessionName, instructorId);"},{"lineNumber":300,"author":{"gitId":"-"},"content":" }"},{"lineNumber":301,"author":{"gitId":"-"},"content":""},{"lineNumber":302,"author":{"gitId":"-"},"content":" InstructorAttributes getInstructor(String courseId, String instructorEmail) {"},{"lineNumber":303,"author":{"gitId":"-"},"content":" return BACKDOOR.getInstructor(courseId, instructorEmail);"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":307,"author":{"gitId":"-"},"content":" protected InstructorAttributes getInstructor(InstructorAttributes instructor) {"},{"lineNumber":308,"author":{"gitId":"-"},"content":" return getInstructor(instructor.getCourseId(), instructor.getEmail());"},{"lineNumber":309,"author":{"gitId":"-"},"content":" }"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":312,"author":{"gitId":"-"},"content":" * Gets registration key for a given instructor."},{"lineNumber":313,"author":{"gitId":"-"},"content":" */"},{"lineNumber":314,"author":{"gitId":"-"},"content":" protected String getKeyForInstructor(String courseId, String instructorEmail) {"},{"lineNumber":315,"author":{"gitId":"-"},"content":" return getInstructor(courseId, instructorEmail).getKey();"},{"lineNumber":316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":319,"author":{"gitId":"-"},"content":" protected StudentAttributes getStudent(StudentAttributes student) {"},{"lineNumber":320,"author":{"gitId":"-"},"content":" return BACKDOOR.getStudent(student.getCourse(), student.getEmail());"},{"lineNumber":321,"author":{"gitId":"-"},"content":" }"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":324,"author":{"gitId":"-"},"content":" * Gets registration key for a given student."},{"lineNumber":325,"author":{"gitId":"-"},"content":" */"},{"lineNumber":326,"author":{"gitId":"-"},"content":" protected String getKeyForStudent(StudentAttributes student) {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" return getStudent(student).getKey();"},{"lineNumber":328,"author":{"gitId":"-"},"content":" }"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":331,"author":{"gitId":"-"},"content":" protected AccountRequestAttributes getAccountRequest(AccountRequestAttributes accountRequest) {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" return BACKDOOR.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" NotificationAttributes getNotification(String notificationId) {"},{"lineNumber":336,"author":{"gitId":"-"},"content":" return BACKDOOR.getNotification(notificationId);"},{"lineNumber":337,"author":{"gitId":"-"},"content":" }"},{"lineNumber":338,"author":{"gitId":"-"},"content":""},{"lineNumber":339,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":340,"author":{"gitId":"-"},"content":" protected NotificationAttributes getNotification(NotificationAttributes notification) {"},{"lineNumber":341,"author":{"gitId":"-"},"content":" return getNotification(notification.getNotificationId());"},{"lineNumber":342,"author":{"gitId":"-"},"content":" }"},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":345,"author":{"gitId":"-"},"content":" protected DeadlineExtensionAttributes getDeadlineExtension(DeadlineExtensionAttributes deadlineExtension) {"},{"lineNumber":346,"author":{"gitId":"-"},"content":" return BACKDOOR.getDeadlineExtension("},{"lineNumber":347,"author":{"gitId":"-"},"content":" deadlineExtension.getCourseId(), deadlineExtension.getFeedbackSessionName(),"},{"lineNumber":348,"author":{"gitId":"-"},"content":" deadlineExtension.getUserEmail(), deadlineExtension.getIsInstructor());"},{"lineNumber":349,"author":{"gitId":"-"},"content":" }"},{"lineNumber":350,"author":{"gitId":"-"},"content":""},{"lineNumber":351,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":352,"author":{"gitId":"-"},"content":" protected boolean doRemoveAndRestoreDataBundle(DataBundle testData) {"},{"lineNumber":353,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":354,"author":{"gitId":"-"},"content":" BACKDOOR.removeAndRestoreDataBundle(testData);"},{"lineNumber":355,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":356,"author":{"gitId":"-"},"content":" } catch (HttpRequestFailedException e) {"},{"lineNumber":357,"author":{"gitId":"-"},"content":" e.printStackTrace();"},{"lineNumber":358,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":359,"author":{"gitId":"-"},"content":" }"},{"lineNumber":360,"author":{"gitId":"-"},"content":" }"},{"lineNumber":361,"author":{"gitId":"-"},"content":""},{"lineNumber":362,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":363,"author":{"gitId":"-"},"content":" protected SqlDataBundle doRemoveAndRestoreSqlDataBundle(SqlDataBundle testData) {"},{"lineNumber":364,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" return BACKDOOR.removeAndRestoreSqlDataBundle(testData);"},{"lineNumber":366,"author":{"gitId":"-"},"content":" } catch (HttpRequestFailedException e) {"},{"lineNumber":367,"author":{"gitId":"-"},"content":" e.printStackTrace();"},{"lineNumber":368,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":369,"author":{"gitId":"-"},"content":" }"},{"lineNumber":370,"author":{"gitId":"-"},"content":" }"},{"lineNumber":371,"author":{"gitId":"-"},"content":""},{"lineNumber":372,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":373,"author":{"gitId":"-"},"content":" protected boolean doPutDocuments(DataBundle testData) {"},{"lineNumber":374,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":375,"author":{"gitId":"-"},"content":" BACKDOOR.putDocuments(testData);"},{"lineNumber":376,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":377,"author":{"gitId":"-"},"content":" } catch (HttpRequestFailedException e) {"},{"lineNumber":378,"author":{"gitId":"-"},"content":" e.printStackTrace();"},{"lineNumber":379,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":380,"author":{"gitId":"-"},"content":" }"},{"lineNumber":381,"author":{"gitId":"-"},"content":" }"},{"lineNumber":382,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":383,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":384,"author":{"gitId":"domoberzin"},"content":" protected boolean doPutDocumentsSql(SqlDataBundle testData) {"},{"lineNumber":385,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":386,"author":{"gitId":"domoberzin"},"content":" BACKDOOR.putSqlDocuments(testData);"},{"lineNumber":387,"author":{"gitId":"domoberzin"},"content":" return true;"},{"lineNumber":388,"author":{"gitId":"domoberzin"},"content":" } catch (HttpRequestFailedException e) {"},{"lineNumber":389,"author":{"gitId":"domoberzin"},"content":" e.printStackTrace();"},{"lineNumber":390,"author":{"gitId":"domoberzin"},"content":" return false;"},{"lineNumber":391,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":392,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":393,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":11,"-":382}},{"path":"src/e2e/java/teammates/e2e/cases/InstructorNotificationsPageE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.util.Set;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.util.stream.Collectors;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.util.stream.Stream;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.InstructorNotificationsPage;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.output.AccountData;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_NOTIFICATIONS_PAGE}."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class InstructorNotificationsPageE2ETest extends BaseE2ETestCase {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" testData \u003d loadDataBundle(\"/InstructorNotificationsPageE2ETest.json\");"},{"lineNumber":26,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" sqlTestData \u003d removeAndRestoreSqlDataBundle("},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" loadSqlDataBundle(\"/InstructorNotificationsPageE2ETest_SqlEntities.json\"));"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"-"},"content":" public void testAll() {"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" Account account \u003d sqlTestData.accounts.get(\"INotifs.instr\");"},{"lineNumber":35,"author":{"gitId":"-"},"content":" AppUrl notificationsPageUrl \u003d createFrontendUrl(Const.WebPageURIs.INSTRUCTOR_NOTIFICATIONS_PAGE);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" InstructorNotificationsPage notificationsPage \u003d loginToPage(notificationsPageUrl, InstructorNotificationsPage.class,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" account.getGoogleId());"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" ______TS(\"verify that only active notifications with correct target user are shown\");"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" Notification[] notShownNotifications \u003d {"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" sqlTestData.notifications.get(\"notification2\"),"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" sqlTestData.notifications.get(\"expiredNotification1\"),"},{"lineNumber":43,"author":{"gitId":"-"},"content":" };"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" Notification[] shownNotifications \u003d {"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" sqlTestData.notifications.get(\"notification1\"),"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" sqlTestData.notifications.get(\"notification3\"),"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" sqlTestData.notifications.get(\"notification4\"),"},{"lineNumber":48,"author":{"gitId":"-"},"content":" };"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" Notification[] readNotifications \u003d {"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" sqlTestData.notifications.get(\"notification4\"),"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" Set\u003cString\u003e readNotificationsIds \u003d Stream.of(readNotifications)"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" .map(readNotification -\u003e readNotification.getId().toString())"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" .collect(Collectors.toSet());"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" notificationsPage.verifyNotShownNotifications(notShownNotifications);"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" notificationsPage.verifyShownNotifications(shownNotifications, readNotificationsIds);"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" ______TS(\"mark notification as read\");"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" Notification notificationToMarkAsRead \u003d sqlTestData.notifications.get(\"notification3\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" notificationsPage.markNotificationAsRead(notificationToMarkAsRead);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" notificationsPage.verifyStatusMessage(\"Notification marked as read.\");"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" // Verify that account\u0027s readNotifications attribute is updated"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" AccountData accountFromDb \u003d BACKDOOR.getAccountData(account.getGoogleId());"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" assertTrue(accountFromDb.getReadNotifications().containsKey(notificationToMarkAsRead.getId().toString()));"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" ______TS(\"notification banner is not visible\");"},{"lineNumber":71,"author":{"gitId":"-"},"content":" assertFalse(notificationsPage.isBannerVisible());"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public void classTeardown() {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" for (NotificationAttributes notification : testData.notifications.values()) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" BACKDOOR.deleteNotification(notification.getNotificationId());"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":28,"-":53}},{"path":"src/e2e/java/teammates/e2e/cases/InstructorSearchPageE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.InstructorCourseStudentDetailsEditPage;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.InstructorCourseStudentDetailsViewPage;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.InstructorSearchPage;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.InstructorStudentRecordsPage;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_SEARCH_PAGE}."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class InstructorSearchPageE2ETest extends BaseE2ETestCase {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" sqlTestData \u003d removeAndRestoreSqlDataBundle("},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" loadSqlDataBundle(\"/InstructorSearchPageE2ETest_SqlEntities.json\"));"},{"lineNumber":30,"author":{"gitId":"-"},"content":" testData \u003d loadDataBundle(\"/InstructorSearchPageE2ETest.json\");"},{"lineNumber":31,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" putDocuments(testData);"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"-"},"content":" public void testAll() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" String instructorId \u003d sqlTestData.accounts.get(\"instructor1OfCourse1\").getGoogleId();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" AppUrl searchPageUrl \u003d createFrontendUrl(Const.WebPageURIs.INSTRUCTOR_SEARCH_PAGE);"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" InstructorSearchPage searchPage \u003d loginToPage(searchPageUrl, InstructorSearchPage.class, instructorId);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" ______TS(\"cannot click search button if no search term is entered\");"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" searchPage.search(\"\");"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" ______TS(\"search with no result\");"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" searchPage.search(\"thiswillnothitanything\");"},{"lineNumber":54,"author":{"gitId":"-"},"content":" searchPage.verifyStatusMessage(\"No results found.\");"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" ______TS(\"search for students\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" searchPage.search(\"student2\");"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" CourseAttributes course1 \u003d testData.courses.get(\"typicalCourse1\");"},{"lineNumber":61,"author":{"gitId":"-"},"content":" CourseAttributes course2 \u003d testData.courses.get(\"typicalCourse2\");"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" StudentAttributes[] studentsInCourse1 \u003d {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" testData.students.get(\"student2.2InCourse1\"),"},{"lineNumber":65,"author":{"gitId":"-"},"content":" testData.students.get(\"student2InCourse1\"),"},{"lineNumber":66,"author":{"gitId":"-"},"content":" };"},{"lineNumber":67,"author":{"gitId":"-"},"content":" StudentAttributes[] studentsInCourse2 \u003d {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" testData.students.get(\"student2.2InCourse2\"),"},{"lineNumber":69,"author":{"gitId":"-"},"content":" testData.students.get(\"student2InCourse2\"),"},{"lineNumber":70,"author":{"gitId":"-"},"content":" };"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" Map\u003cString, StudentAttributes[]\u003e courseIdToStudents \u003d new HashMap\u003c\u003e();"},{"lineNumber":73,"author":{"gitId":"-"},"content":" courseIdToStudents.put(course1.getId(), studentsInCourse1);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" courseIdToStudents.put(course2.getId(), studentsInCourse2);"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" Map\u003cString, CourseAttributes\u003e courseIdToCourse \u003d new HashMap\u003c\u003e();"},{"lineNumber":77,"author":{"gitId":"-"},"content":" courseIdToCourse.put(course1.getId(), course1);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" courseIdToCourse.put(course2.getId(), course2);"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" searchPage.verifyStudentDetails(courseIdToCourse, courseIdToStudents);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" ______TS(\"link: view student details page\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" StudentAttributes studentToView \u003d testData.students.get(\"student2.2InCourse1\");"},{"lineNumber":85,"author":{"gitId":"-"},"content":" String studentEmail \u003d studentToView.getEmail();"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" InstructorCourseStudentDetailsViewPage studentDetailsViewPage \u003d"},{"lineNumber":88,"author":{"gitId":"-"},"content":" searchPage.clickViewStudent(course1, studentEmail);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" studentDetailsViewPage.verifyIsCorrectPage(course1.getId(), studentEmail);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" studentDetailsViewPage.closeCurrentWindowAndSwitchToParentWindow();"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" ______TS(\"link: edit student details page\");"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" InstructorCourseStudentDetailsEditPage studentDetailsEditPage \u003d"},{"lineNumber":95,"author":{"gitId":"-"},"content":" searchPage.clickEditStudent(course1, studentEmail);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" studentDetailsEditPage.verifyIsCorrectPage(course1.getId(), studentEmail);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" studentDetailsEditPage.closeCurrentWindowAndSwitchToParentWindow();"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" ______TS(\"link: view all records page\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" InstructorStudentRecordsPage studentRecordsPage \u003d"},{"lineNumber":102,"author":{"gitId":"-"},"content":" searchPage.clickViewAllRecords(course1, studentEmail);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" studentRecordsPage.verifyIsCorrectPage(course1.getId(), studentToView.getName());"},{"lineNumber":104,"author":{"gitId":"-"},"content":" studentRecordsPage.closeCurrentWindowAndSwitchToParentWindow();"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" ______TS(\"action: delete student\");"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" StudentAttributes studentToDelete \u003d testData.students.get(\"student2InCourse2\");"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" searchPage.deleteStudent(course2, studentToDelete.getEmail());"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" StudentAttributes[] studentsAfterDelete \u003d {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" testData.students.get(\"student2.2InCourse2\"),"},{"lineNumber":114,"author":{"gitId":"-"},"content":" };"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" searchPage.verifyStudentDetails(course2, studentsAfterDelete);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" verifyAbsentInDatabase(studentToDelete);"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":3,"-":118}},{"path":"src/e2e/java/teammates/e2e/cases/NotificationBannerE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.StudentHomePage;"},{"lineNumber":10,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":11,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.output.AccountData;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * SUT: The reusable notification banner, which can be displayed across many pages."},{"lineNumber":15,"author":{"gitId":"-"},"content":" * {@link Const.WebPageURIs#STUDENT_HOME_PAGE} is used to test the behaviour of the banner in this case,"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * {@link Const.WebPageURIs#STUDENT_NOTIFICATIONS_PAGE}"},{"lineNumber":17,"author":{"gitId":"-"},"content":" */"},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class NotificationBannerE2ETest extends BaseE2ETestCase {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":20,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" testData \u003d loadDataBundle(\"/NotificationBannerE2ETest.json\");"},{"lineNumber":22,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":23,"author":{"gitId":"yuanxi1"},"content":" sqlTestData \u003d removeAndRestoreSqlDataBundle("},{"lineNumber":24,"author":{"gitId":"yuanxi1"},"content":" loadSqlDataBundle(\"/NotificationBannerE2ETest_SqlEntities.json\"));"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":28,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"-"},"content":" protected void testAll() {"},{"lineNumber":30,"author":{"gitId":"yuanxi1"},"content":" Account account \u003d sqlTestData.accounts.get(\"NotifBanner.student\");"},{"lineNumber":31,"author":{"gitId":"-"},"content":" AppUrl studentHomePageUrl \u003d createFrontendUrl(Const.WebPageURIs.STUDENT_HOME_PAGE);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" StudentHomePage studentHomePage \u003d loginToPage(studentHomePageUrl, StudentHomePage.class,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" account.getGoogleId());"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" ______TS(\"verify active notification with correct information is shown\");"},{"lineNumber":36,"author":{"gitId":"-"},"content":" assertTrue(studentHomePage.isBannerVisible());"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" ______TS(\"close notification\");"},{"lineNumber":39,"author":{"gitId":"-"},"content":" // After user closes a notification banner, it should not appear till user refreshes page"},{"lineNumber":40,"author":{"gitId":"-"},"content":" studentHomePage.clickCloseNotificationBannerButton();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" assertFalse(studentHomePage.isBannerVisible());"},{"lineNumber":42,"author":{"gitId":"-"},"content":" studentHomePage.reloadPage();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" assertTrue(studentHomePage.isBannerVisible());"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" ______TS(\"mark notification as read\");"},{"lineNumber":46,"author":{"gitId":"-"},"content":" studentHomePage.reloadPage();"},{"lineNumber":47,"author":{"gitId":"-"},"content":" assertTrue(studentHomePage.isBannerVisible());"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"yuanxi1"},"content":" String notificationId \u003d studentHomePage.getNotificationId();"},{"lineNumber":50,"author":{"gitId":"-"},"content":" studentHomePage.clickMarkAsReadButton();"},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":" AccountData accountFromDb \u003d BACKDOOR.getAccountData(account.getGoogleId());"},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" studentHomePage.verifyStatusMessage(\"Notification marked as read.\");"},{"lineNumber":54,"author":{"gitId":"-"},"content":" assertFalse(studentHomePage.isBannerVisible());"},{"lineNumber":55,"author":{"gitId":"yuanxi1"},"content":" assertTrue(accountFromDb.getReadNotifications().containsKey(notificationId));"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":60,"author":{"gitId":"-"},"content":" public void classTeardown() {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" for (NotificationAttributes notification : testData.notifications.values()) {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" BACKDOOR.deleteNotification(notification.getNotificationId());"},{"lineNumber":63,"author":{"gitId":"-"},"content":" }"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":9,"-":56}},{"path":"src/e2e/java/teammates/e2e/cases/axe/AdminSearchPageAxeTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases.axe;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import com.deque.html.axecore.results.Results;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.AdminSearchPage;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * SUT: {@link Const.WebPageURIs#ADMIN_SEARCH_PAGE}."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class AdminSearchPageAxeTest extends BaseAxeTestCase {"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":18,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" }"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" testData \u003d loadDataBundle(\"/AdminSearchPageE2ETest.json\");"},{"lineNumber":24,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":25,"author":{"gitId":"-"},"content":" putDocuments(testData);"},{"lineNumber":26,"author":{"gitId":"-"},"content":" sqlTestData \u003d loadSqlDataBundle(\"/AdminSearchPageE2ETest_SqlEntities.json\");"},{"lineNumber":27,"author":{"gitId":"-"},"content":" removeAndRestoreSqlDataBundle(sqlTestData);"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" putSqlDocuments(sqlTestData);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"-"},"content":" public void testAll() {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" AppUrl url \u003d createFrontendUrl(Const.WebPageURIs.ADMIN_SEARCH_PAGE);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" AdminSearchPage searchPage \u003d loginAdminToPage(url, AdminSearchPage.class);"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(testData.students.get(\"student1InCourse1\").getEmail());"},{"lineNumber":42,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" Results results \u003d getAxeBuilder().analyze(searchPage.getBrowser().getDriver());"},{"lineNumber":45,"author":{"gitId":"-"},"content":" assertTrue(formatViolations(results), results.violationFree());"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":1,"-":47}},{"path":"src/e2e/java/teammates/e2e/cases/axe/InstructorSearchPageAxeTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases.axe;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import com.deque.html.axecore.results.Results;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.InstructorSearchPage;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_SEARCH_PAGE}."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class InstructorSearchPageAxeTest extends BaseAxeTestCase {"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":18,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" }"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" sqlTestData \u003d loadSqlDataBundle(\"/InstructorSearchPageE2ETest_SqlEntities.json\");"},{"lineNumber":24,"author":{"gitId":"-"},"content":" testData \u003d loadDataBundle(\"/InstructorSearchPageE2ETest.json\");"},{"lineNumber":25,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":26,"author":{"gitId":"-"},"content":" putDocuments(testData);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":30,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":31,"author":{"gitId":"-"},"content":" public void testAll() {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" AppUrl searchPageUrl \u003d createFrontendUrl(Const.WebPageURIs.INSTRUCTOR_SEARCH_PAGE);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" InstructorSearchPage searchPage \u003d loginToPage(searchPageUrl, InstructorSearchPage.class,"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" sqlTestData.accounts.get(\"instructor1OfCourse1\").getGoogleId());"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" searchPage.search(\"student2\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" Results results \u003d getAxeBuilder().analyze(searchPage.getBrowser().getDriver());"},{"lineNumber":44,"author":{"gitId":"-"},"content":" assertTrue(formatViolations(results), results.violationFree());"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":2,"-":45}},{"path":"src/e2e/java/teammates/e2e/cases/sql/AdminSearchPageE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.Const;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.e2e.pageobjects.AdminSearchPage;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" * SUT: {@link Const.WebPageURIs#ADMIN_SEARCH_PAGE}."},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":"public class AdminSearchPageE2ETest extends BaseE2ETestCase {"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" protected void prepareTestData() {"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" testData \u003d removeAndRestoreDataBundle(loadSqlDataBundle(\"/AdminSearchPageE2ESqlTest.json\"));"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" putDocuments(testData);"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" public void testAll() {"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" AppUrl url \u003d createFrontendUrl(Const.WebPageURIs.ADMIN_SEARCH_PAGE);"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" AdminSearchPage searchPage \u003d loginAdminToPage(url, AdminSearchPage.class);"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" Course course \u003d testData.courses.get(\"typicalCourse1\");"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" Student student \u003d testData.students.get(\"student1InCourse1\");"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" Instructor instructor \u003d testData.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d testData.accountRequests.get(\"instructor1OfCourse1\");"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Search student email\");"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" String searchContent \u003d student.getEmail();"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSearchButton();"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" String studentDetails \u003d getExpectedStudentDetails(student);"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" String studentManageAccountLink \u003d getExpectedStudentManageAccountLink(student);"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" String studentHomePageLink \u003d getExpectedStudentHomePageLink(student);"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" int numExpandedRows \u003d getExpectedNumExpandedRows(student);"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyStudentRowContent(student, course, studentDetails, studentManageAccountLink,"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" studentHomePageLink);"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyStudentExpandedLinks(student, numExpandedRows);"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Reset student google id\");"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" searchPage.resetStudentGoogleId(student);"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" student.setGoogleId(null);"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyStudentRowContentAfterReset(student, course);"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Regenerate registration key for a course student\");"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" searchPage.clickExpandStudentLinks();"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":" String originalJoinLink \u003d searchPage.getStudentJoinLink(student);"},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" searchPage.regenerateStudentKey(student);"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyRegenerateStudentKey(student, originalJoinLink);"},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" searchPage.waitForPageToLoad();"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Search for instructor email\");"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" searchPage.clearSearchBox();"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" searchContent \u003d instructor.getEmail();"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSearchButton();"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" String instructorManageAccountLink \u003d getExpectedInstructorManageAccountLink(instructor);"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" String instructorHomePageLink \u003d getExpectedInstructorHomePageLink(instructor);"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyInstructorRowContent(instructor, course, instructorManageAccountLink,"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" instructorHomePageLink);"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyInstructorExpandedLinks(instructor);"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Reset instructor google id\");"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" searchPage.resetInstructorGoogleId(instructor);"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyInstructorRowContentAfterReset(instructor, course);"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Regenerate registration key for an instructor\");"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" searchPage.clickExpandInstructorLinks();"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" originalJoinLink \u003d searchPage.getInstructorJoinLink(instructor);"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" searchPage.regenerateInstructorKey(instructor);"},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyRegenerateInstructorKey(instructor, originalJoinLink);"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" searchPage.waitForPageToLoad();"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Search for account request by email\");"},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" searchPage.clearSearchBox();"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSearchButton();"},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyAccountRequestRowContent(accountRequest);"},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyAccountRequestExpandedLinks(accountRequest);"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Search common search key\");"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" searchPage.clearSearchBox();"},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" searchContent \u003d \"Course1\";"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSearchButton();"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyStudentRowContentAfterReset(student, course);"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyInstructorRowContentAfterReset(instructor, course);"},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyAccountRequestRowContent(accountRequest);"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Expand and collapse links\");"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyLinkExpansionButtons(student, instructor, accountRequest);"},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Reset account request successful\");"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" searchContent \u003d \"ASearch.instructor1@gmail.tmt\";"},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" searchPage.clearSearchBox();"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSearchButton();"},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":" searchPage.clickResetAccountRequestButton(accountRequest);"},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" assertNull(BACKDOOR.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute()).getRegisteredAt());"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Delete account request successful\");"},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d testData.accountRequests.get(\"unregisteredInstructor1\");"},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" searchPage.clearSearchBox();"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSearchButton();"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" searchPage.clickDeleteAccountRequestButton(accountRequest);"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":" assertNull(BACKDOOR.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute()));"},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" private String getExpectedStudentDetails(Student student) {"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":" return String.format(\"%s [%s] (%s)\", student.getCourse().getId(),"},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" student.getSection() \u003d\u003d null"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" ? Const.DEFAULT_SECTION"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":" : student.getSection().getName(), student.getTeam().getName());"},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" private String getExpectedStudentHomePageLink(Student student) {"},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":" return student.isRegistered() ? createFrontendUrl(Const.WebPageURIs.STUDENT_HOME_PAGE)"},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" .withUserId(student.getGoogleId())"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" .toAbsoluteString()"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" : \"\";"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" private String getExpectedStudentManageAccountLink(Student student) {"},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":" return student.isRegistered() ? createFrontendUrl(Const.WebPageURIs.ADMIN_ACCOUNTS_PAGE)"},{"lineNumber":147,"author":{"gitId":"domoberzin"},"content":" .withParam(Const.ParamsNames.INSTRUCTOR_ID, student.getGoogleId())"},{"lineNumber":148,"author":{"gitId":"domoberzin"},"content":" .toAbsoluteString()"},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":" : \"\";"},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":151,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":152,"author":{"gitId":"domoberzin"},"content":" private int getExpectedNumExpandedRows(Student student) {"},{"lineNumber":153,"author":{"gitId":"domoberzin"},"content":" int expectedNumExpandedRows \u003d 2;"},{"lineNumber":154,"author":{"gitId":"domoberzin"},"content":" for (FeedbackSession sessions : testData.feedbackSessions.values()) {"},{"lineNumber":155,"author":{"gitId":"domoberzin"},"content":" if (sessions.getCourse().equals(student.getCourse())) {"},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":" expectedNumExpandedRows +\u003d 1;"},{"lineNumber":157,"author":{"gitId":"domoberzin"},"content":" if (sessions.getResultsVisibleFromTime().isBefore(Instant.now())) {"},{"lineNumber":158,"author":{"gitId":"domoberzin"},"content":" expectedNumExpandedRows +\u003d 1;"},{"lineNumber":159,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":160,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":161,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":162,"author":{"gitId":"domoberzin"},"content":" return expectedNumExpandedRows;"},{"lineNumber":163,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":164,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":165,"author":{"gitId":"domoberzin"},"content":" private String getExpectedInstructorHomePageLink(Instructor instructor) {"},{"lineNumber":166,"author":{"gitId":"domoberzin"},"content":" String googleId \u003d instructor.isRegistered() ? instructor.getGoogleId() : \"\";"},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":" return createFrontendUrl(Const.WebPageURIs.INSTRUCTOR_HOME_PAGE)"},{"lineNumber":168,"author":{"gitId":"domoberzin"},"content":" .withUserId(googleId)"},{"lineNumber":169,"author":{"gitId":"domoberzin"},"content":" .toAbsoluteString();"},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":171,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":172,"author":{"gitId":"domoberzin"},"content":" private String getExpectedInstructorManageAccountLink(Instructor instructor) {"},{"lineNumber":173,"author":{"gitId":"domoberzin"},"content":" String googleId \u003d instructor.isRegistered() ? instructor.getGoogleId() : \"\";"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":" return createFrontendUrl(Const.WebPageURIs.ADMIN_ACCOUNTS_PAGE)"},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" .withParam(Const.ParamsNames.INSTRUCTOR_ID, googleId)"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":" .toAbsoluteString();"},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":178,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":" @AfterClass"},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":" public void classTeardown() {"},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":" for (AccountRequest request : testData.accountRequests.values()) {"},{"lineNumber":182,"author":{"gitId":"domoberzin"},"content":" BACKDOOR.deleteAccountRequest(request.getEmail(), request.getInstitute());"},{"lineNumber":183,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":184,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":185,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":185}},{"path":"src/e2e/java/teammates/e2e/cases/sql/BaseE2ETestCase.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.ITestContext;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.exception.HttpRequestFailedException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.AppPage;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.Browser;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.DevServerLoginPage;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.HomePage;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.e2e.util.BackDoor;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.e2e.util.EmailAccount;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.test.FileHelper;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.test.ThreadHelper;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackQuestionData;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackResponseData;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentData;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":34,"author":{"gitId":"-"},"content":" * Base class for all browser tests."},{"lineNumber":35,"author":{"gitId":"-"},"content":" *"},{"lineNumber":36,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis type of test has no knowledge of the workings of the application,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" * and can only communicate via the UI or via {@link BackDoor} to obtain/transmit data."},{"lineNumber":38,"author":{"gitId":"-"},"content":" */"},{"lineNumber":39,"author":{"gitId":"-"},"content":"public abstract class BaseE2ETestCase extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":42,"author":{"gitId":"-"},"content":" * Backdoor used to call APIs."},{"lineNumber":43,"author":{"gitId":"-"},"content":" */"},{"lineNumber":44,"author":{"gitId":"-"},"content":" protected static final BackDoor BACKDOOR \u003d BackDoor.getInstance();"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * DataBundle used in tests."},{"lineNumber":48,"author":{"gitId":"-"},"content":" */"},{"lineNumber":49,"author":{"gitId":"-"},"content":" protected SqlDataBundle testData;"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" private Browser browser;"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":54,"author":{"gitId":"-"},"content":" public void baseClassSetup() {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" prepareTestData();"},{"lineNumber":56,"author":{"gitId":"-"},"content":" prepareBrowser();"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":60,"author":{"gitId":"-"},"content":" * Prepares the browser used for the current test."},{"lineNumber":61,"author":{"gitId":"-"},"content":" */"},{"lineNumber":62,"author":{"gitId":"-"},"content":" protected void prepareBrowser() {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" browser \u003d new Browser();"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":67,"author":{"gitId":"-"},"content":" * Prepares the test data used for the current test."},{"lineNumber":68,"author":{"gitId":"-"},"content":" */"},{"lineNumber":69,"author":{"gitId":"-"},"content":" protected abstract void prepareTestData();"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":72,"author":{"gitId":"-"},"content":" * Contains all the tests for the page."},{"lineNumber":73,"author":{"gitId":"-"},"content":" *"},{"lineNumber":74,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis approach is chosen so that setup and teardown are only needed once per test page,"},{"lineNumber":75,"author":{"gitId":"-"},"content":" * thereby saving time. While it necessitates failed tests to be restarted from the beginning,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * test failures are rare and thus not causing significant overhead."},{"lineNumber":77,"author":{"gitId":"-"},"content":" */"},{"lineNumber":78,"author":{"gitId":"-"},"content":" protected abstract void testAll();"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":81,"author":{"gitId":"-"},"content":" protected String getTestDataFolder() {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" return TestProperties.TEST_DATA_FOLDER;"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":86,"author":{"gitId":"-"},"content":" public void baseClassTearDown(ITestContext context) {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" if (browser \u003d\u003d null) {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":89,"author":{"gitId":"-"},"content":" }"},{"lineNumber":90,"author":{"gitId":"-"},"content":" boolean isSuccess \u003d context.getFailedTests().getAllMethods()"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .noneMatch(method -\u003e method.getConstructorOrMethod().getMethod().getDeclaringClass() \u003d\u003d this.getClass());"},{"lineNumber":93,"author":{"gitId":"-"},"content":" if (isSuccess || TestProperties.CLOSE_BROWSER_ON_FAILURE) {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" browser.close();"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":99,"author":{"gitId":"-"},"content":" * Creates an {@link AppUrl} for the supplied {@code relativeUrl} parameter."},{"lineNumber":100,"author":{"gitId":"-"},"content":" * The base URL will be the value of test.app.frontend.url in test.properties."},{"lineNumber":101,"author":{"gitId":"-"},"content":" * {@code relativeUrl} must start with a \"/\"."},{"lineNumber":102,"author":{"gitId":"-"},"content":" */"},{"lineNumber":103,"author":{"gitId":"-"},"content":" protected static AppUrl createFrontendUrl(String relativeUrl) {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" return new AppUrl(TestProperties.TEAMMATES_FRONTEND_URL + relativeUrl);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":108,"author":{"gitId":"-"},"content":" * Creates an {@link AppUrl} for the supplied {@code relativeUrl} parameter."},{"lineNumber":109,"author":{"gitId":"-"},"content":" * The base URL will be the value of test.app.backend.url in test.properties."},{"lineNumber":110,"author":{"gitId":"-"},"content":" * {@code relativeUrl} must start with a \"/\"."},{"lineNumber":111,"author":{"gitId":"-"},"content":" */"},{"lineNumber":112,"author":{"gitId":"-"},"content":" protected static AppUrl createBackendUrl(String relativeUrl) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" return new AppUrl(TestProperties.TEAMMATES_BACKEND_URL + relativeUrl);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":117,"author":{"gitId":"-"},"content":" * Logs in to a page using the given credentials."},{"lineNumber":118,"author":{"gitId":"-"},"content":" */"},{"lineNumber":119,"author":{"gitId":"-"},"content":" protected \u003cT extends AppPage\u003e T loginToPage(AppUrl url, Class\u003cT\u003e typeOfPage, String userId) {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" // When not using dev server, Google blocks log in by automation."},{"lineNumber":121,"author":{"gitId":"-"},"content":" // To work around that, we inject the user cookie directly into the browser session."},{"lineNumber":122,"author":{"gitId":"-"},"content":" if (!TestProperties.isDevServer()) {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" // In order for the cookie injection to work, we need to be in the domain."},{"lineNumber":124,"author":{"gitId":"-"},"content":" // Use the home page to minimize the page load time."},{"lineNumber":125,"author":{"gitId":"-"},"content":" browser.goToUrl(TestProperties.TEAMMATES_FRONTEND_URL);"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" String cookieValue \u003d BACKDOOR.getUserCookie(userId);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" browser.addCookie(Const.SecurityConfig.AUTH_COOKIE_NAME, cookieValue, true, true);"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" return getNewPageInstance(url, typeOfPage);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" // This will be redirected to the dev server login page."},{"lineNumber":134,"author":{"gitId":"-"},"content":" browser.goToUrl(url.toAbsoluteString());"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" DevServerLoginPage loginPage \u003d AppPage.getNewPageInstance(browser, DevServerLoginPage.class);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" loginPage.loginAsUser(userId);"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" return getNewPageInstance(url, typeOfPage);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Logs in to a page using admin credentials."},{"lineNumber":144,"author":{"gitId":"-"},"content":" */"},{"lineNumber":145,"author":{"gitId":"-"},"content":" protected \u003cT extends AppPage\u003e T loginAdminToPage(AppUrl url, Class\u003cT\u003e typeOfPage) {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" return loginToPage(url, typeOfPage, TestProperties.TEST_ADMIN);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":150,"author":{"gitId":"-"},"content":" * Equivalent to clicking the \u0027logout\u0027 link in the top menu of the page."},{"lineNumber":151,"author":{"gitId":"-"},"content":" */"},{"lineNumber":152,"author":{"gitId":"-"},"content":" protected void logout() {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" AppUrl url \u003d createBackendUrl(Const.WebPageURIs.LOGOUT);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" if (!TestProperties.TEAMMATES_FRONTEND_URL.equals(TestProperties.TEAMMATES_BACKEND_URL)) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" url \u003d url.withParam(\"frontendUrl\", TestProperties.TEAMMATES_FRONTEND_URL);"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" browser.goToUrl(url.toAbsoluteString());"},{"lineNumber":159,"author":{"gitId":"-"},"content":" AppPage.getNewPageInstance(browser, HomePage.class).waitForPageToLoad();"},{"lineNumber":160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":163,"author":{"gitId":"-"},"content":" * Deletes file with fileName from the downloads folder."},{"lineNumber":164,"author":{"gitId":"-"},"content":" */"},{"lineNumber":165,"author":{"gitId":"-"},"content":" protected void deleteDownloadsFile(String fileName) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" String filePath \u003d TestProperties.TEST_DOWNLOADS_FOLDER + fileName;"},{"lineNumber":167,"author":{"gitId":"-"},"content":" FileHelper.deleteFile(filePath);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":171,"author":{"gitId":"-"},"content":" * Verifies downloaded file has correct fileName and contains expected content."},{"lineNumber":172,"author":{"gitId":"-"},"content":" */"},{"lineNumber":173,"author":{"gitId":"-"},"content":" protected void verifyDownloadedFile(String expectedFileName, List\u003cString\u003e expectedContent) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" String filePath \u003d TestProperties.TEST_DOWNLOADS_FOLDER + expectedFileName;"},{"lineNumber":175,"author":{"gitId":"-"},"content":" int retryLimit \u003d TestProperties.TEST_TIMEOUT;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" boolean actual \u003d Files.exists(Paths.get(filePath));"},{"lineNumber":177,"author":{"gitId":"-"},"content":" while (!actual \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":179,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000);"},{"lineNumber":180,"author":{"gitId":"-"},"content":" actual \u003d Files.exists(Paths.get(filePath));"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":" assertTrue(actual);"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" String actualContent \u003d FileHelper.readFile(filePath);"},{"lineNumber":186,"author":{"gitId":"-"},"content":" for (String content : expectedContent) {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" assertTrue(actualContent.contains(content));"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":195,"author":{"gitId":"-"},"content":" * Visits the URL and gets the page object representation of the visited web page in the browser."},{"lineNumber":196,"author":{"gitId":"-"},"content":" */"},{"lineNumber":197,"author":{"gitId":"-"},"content":" protected \u003cT extends AppPage\u003e T getNewPageInstance(AppUrl url, Class\u003cT\u003e typeOfPage) {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" browser.goToUrl(url.toAbsoluteString());"},{"lineNumber":199,"author":{"gitId":"-"},"content":" return AppPage.getNewPageInstance(browser, typeOfPage);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":203,"author":{"gitId":"-"},"content":" * Verifies that email with subject is found in inbox."},{"lineNumber":204,"author":{"gitId":"-"},"content":" * Email used must be an authentic gmail account."},{"lineNumber":205,"author":{"gitId":"-"},"content":" */"},{"lineNumber":206,"author":{"gitId":"-"},"content":" protected void verifyEmailSent(String email, String subject) {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" if (TestProperties.isDevServer() || !TestProperties.INCLUDE_EMAIL_VERIFICATION) {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":" if (!TestProperties.TEST_EMAIL.equals(email)) {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" fail(\"Email verification is allowed only on preset test email.\");"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":" EmailAccount emailAccount \u003d new EmailAccount(email);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" emailAccount.getUserAuthenticated();"},{"lineNumber":216,"author":{"gitId":"-"},"content":" int retryLimit \u003d 5;"},{"lineNumber":217,"author":{"gitId":"-"},"content":" boolean actual \u003d emailAccount.isRecentEmailWithSubjectPresent(subject, TestProperties.TEST_SENDER_EMAIL);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" while (!actual \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000);"},{"lineNumber":221,"author":{"gitId":"-"},"content":" actual \u003d emailAccount.isRecentEmailWithSubjectPresent(subject, TestProperties.TEST_SENDER_EMAIL);"},{"lineNumber":222,"author":{"gitId":"-"},"content":" }"},{"lineNumber":223,"author":{"gitId":"-"},"content":" assertTrue(actual);"},{"lineNumber":224,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" fail(\"Failed to verify email sent:\" + e);"},{"lineNumber":226,"author":{"gitId":"-"},"content":" }"},{"lineNumber":227,"author":{"gitId":"-"},"content":" }"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":230,"author":{"gitId":"-"},"content":" * Removes and restores the databundle using BACKDOOR."},{"lineNumber":231,"author":{"gitId":"-"},"content":" */"},{"lineNumber":232,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":233,"author":{"gitId":"-"},"content":" protected SqlDataBundle doRemoveAndRestoreDataBundle(SqlDataBundle testData) {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" return BACKDOOR.removeAndRestoreSqlDataBundle(testData);"},{"lineNumber":236,"author":{"gitId":"-"},"content":" } catch (HttpRequestFailedException e) {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" e.printStackTrace();"},{"lineNumber":238,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":" FeedbackQuestionData getFeedbackQuestion(String courseId, String feedbackSessionName, int qnNumber) {"},{"lineNumber":243,"author":{"gitId":"-"},"content":" return BACKDOOR.getFeedbackQuestionData(courseId, feedbackSessionName, qnNumber);"},{"lineNumber":244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":247,"author":{"gitId":"-"},"content":" protected FeedbackQuestionData getFeedbackQuestion(FeedbackQuestion fq) {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" return getFeedbackQuestion(fq.getCourseId(), fq.getFeedbackSession().getName(), fq.getQuestionNumber());"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":" FeedbackResponseData getFeedbackResponse(String questionId, String giver, String recipient) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" return BACKDOOR.getFeedbackResponseData(questionId, giver, recipient);"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":256,"author":{"gitId":"-"},"content":" protected FeedbackResponseData getFeedbackResponse(FeedbackResponse fr) {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" return getFeedbackResponse(fr.getFeedbackQuestion().getId().toString(), fr.getGiver(), fr.getRecipient());"},{"lineNumber":258,"author":{"gitId":"-"},"content":" }"},{"lineNumber":259,"author":{"gitId":"-"},"content":""},{"lineNumber":260,"author":{"gitId":"-"},"content":" StudentData getStudent(String courseId, String studentEmailAddress) {"},{"lineNumber":261,"author":{"gitId":"-"},"content":" return BACKDOOR.getStudentData(courseId, studentEmailAddress);"},{"lineNumber":262,"author":{"gitId":"-"},"content":" }"},{"lineNumber":263,"author":{"gitId":"-"},"content":""},{"lineNumber":264,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":265,"author":{"gitId":"-"},"content":" protected StudentData getStudent(Student student) {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" return getStudent(student.getCourseId(), student.getEmail());"},{"lineNumber":267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":268,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":269,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":270,"author":{"gitId":"domoberzin"},"content":" * Puts the documents in the database using BACKDOOR."},{"lineNumber":271,"author":{"gitId":"domoberzin"},"content":" * @param dataBundle the data to be put in the database"},{"lineNumber":272,"author":{"gitId":"domoberzin"},"content":" * @return the result of the operation"},{"lineNumber":273,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":274,"author":{"gitId":"domoberzin"},"content":" protected String putDocuments(SqlDataBundle dataBundle) {"},{"lineNumber":275,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":276,"author":{"gitId":"domoberzin"},"content":" return BACKDOOR.putSqlDocuments(dataBundle);"},{"lineNumber":277,"author":{"gitId":"domoberzin"},"content":" } catch (HttpRequestFailedException e) {"},{"lineNumber":278,"author":{"gitId":"domoberzin"},"content":" e.printStackTrace();"},{"lineNumber":279,"author":{"gitId":"domoberzin"},"content":" return null;"},{"lineNumber":280,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":281,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":282,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":14,"-":268}},{"path":"src/e2e/java/teammates/e2e/cases/sql/FeedbackMcqQuestionE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.util.stream.Collectors;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.questions.FeedbackMcqQuestionDetails;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.questions.FeedbackMcqResponseDetails;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"import teammates.e2e.pageobjects.FeedbackSubmitPage;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import teammates.e2e.pageobjects.InstructorFeedbackEditPage;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_SESSION_EDIT_PAGE},"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":" * {@link Const.WebPageURIs#SESSION_SUBMISSION_PAGE}"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":" * specifically for MCQ questions."},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":"public class FeedbackMcqQuestionE2ETest extends BaseFeedbackQuestionE2ETest {"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":" protected void prepareTestData() {"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":" testData \u003d removeAndRestoreDataBundle(loadSqlDataBundle(\"/FeedbackMcqQuestionE2ESqlTest.json\"));"},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" instructor \u003d testData.instructors.get(\"instructor\");"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" course \u003d testData.courses.get(\"course\");"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" feedbackSession \u003d testData.feedbackSessions.get(\"openSession\");"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" student \u003d testData.students.get(\"alice.tmms@FMcqQn.CS2104\");"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" public void testAll() {"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" testEditPage();"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" logout();"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" testSubmitPage();"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" protected void testEditPage() {"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" InstructorFeedbackEditPage feedbackEditPage \u003d loginToFeedbackEditPage();"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion loadedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\");"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" FeedbackMcqQuestionDetails questionDetails \u003d (FeedbackMcqQuestionDetails) loadedQuestion"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" .getQuestionDetailsCopy();"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMcqQuestionDetails(1, questionDetails);"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" ______TS(\"add new question\");"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" // add new question exactly like loaded question"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" loadedQuestion.setQuestionNumber(2);"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.addMcqQuestion(loadedQuestion);"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMcqQuestionDetails(2, questionDetails);"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" ______TS(\"copy question\");"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion copiedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForSecondSession\");"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" questionDetails \u003d (FeedbackMcqQuestionDetails) copiedQuestion.getQuestionDetailsCopy();"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.copyQuestion(copiedQuestion.getCourseId(),"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" copiedQuestion.getQuestionDetailsCopy().getQuestionText());"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" copiedQuestion.setFeedbackSession(feedbackSession);"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" copiedQuestion.setQuestionNumber(3);"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMcqQuestionDetails(3, questionDetails);"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(copiedQuestion);"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" ______TS(\"edit question\");"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" questionDetails \u003d (FeedbackMcqQuestionDetails) loadedQuestion.getQuestionDetailsCopy();"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" questionDetails.setHasAssignedWeights(false);"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" questionDetails.setMcqWeights(new ArrayList\u003c\u003e());"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" questionDetails.setOtherEnabled(false);"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" questionDetails.setQuestionDropdownEnabled(false);"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" questionDetails.setMcqOtherWeight(0);"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" List\u003cString\u003e choices \u003d questionDetails.getMcqChoices();"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" choices.add(\"Edited choice\");"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" questionDetails.setMcqChoices(choices);"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" loadedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\").makeDeepCopy(feedbackSession);"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":" loadedQuestion.setQuestionDetails(questionDetails);"},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.editMcqQuestion(2, questionDetails);"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.waitForPageToLoad();"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMcqQuestionDetails(2, questionDetails);"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":" protected void testSubmitPage() {"},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":" FeedbackSubmitPage feedbackSubmitPage \u003d loginToFeedbackSubmitPage();"},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion question \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\");"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.verifyMcqQuestion(1, \"\","},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" (FeedbackMcqQuestionDetails) question.getQuestionDetailsCopy());"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" ______TS(\"verify question with generated options\");"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.verifyGeneratedMcqQuestion(3, \"\", getGeneratedStudentOptions());"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":" ______TS(\"submit response\");"},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" FeedbackResponse response \u003d getResponse(question, false, \"UI\");"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.fillMcqResponse(1, \"\", response);"},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" // ______TS(\"check previous response\");"},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.verifyMcqResponse(1, \"\", response);"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":" // ______TS(\"edit response\");"},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":" // response \u003d getResponse(questionId, true, \"This is the edited response.\");"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.fillMcqResponse(1, \"\", response);"},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.verifyMcqResponse(1, \"\", response);"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" private List\u003cString\u003e getGeneratedStudentOptions() {"},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" return testData.students.values().stream()"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" .filter(s -\u003e s.getCourse().equals(student.getCourse()))"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" .map(s -\u003e s.getName() + \" (\" + s.getTeam().getName() + \")\")"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" .collect(Collectors.toList());"},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":" private FeedbackResponse getResponse(FeedbackQuestion feedbackQuestion, boolean isOther, String answer) {"},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":" FeedbackMcqResponseDetails details \u003d new FeedbackMcqResponseDetails();"},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" if (isOther) {"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" details.setOther(true);"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" details.setOtherFieldContent(answer);"},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":" details.setAnswer(answer);"},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":" return FeedbackResponse.makeResponse(feedbackQuestion, student.getEmail(), null, instructor.getEmail(), null,"},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":" details);"},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":140,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":140}},{"path":"src/e2e/java/teammates/e2e/cases/sql/FeedbackMsqQuestionE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.util.Arrays;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import java.util.stream.Collectors;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.questions.FeedbackMsqQuestionDetails;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.questions.FeedbackMsqResponseDetails;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.Const;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import teammates.e2e.pageobjects.FeedbackSubmitPage;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.e2e.pageobjects.InstructorFeedbackEditPage;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_SESSION_EDIT_PAGE},"},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":" * {@link Const.WebPageURIs#SESSION_SUBMISSION_PAGE}"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":" * specifically for msq questions."},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":"public class FeedbackMsqQuestionE2ETest extends BaseFeedbackQuestionE2ETest {"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" protected void prepareTestData() {"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" testData \u003d removeAndRestoreDataBundle(loadSqlDataBundle(\"/FeedbackMsqQuestionE2ESqlTest.json\"));"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" instructor \u003d testData.instructors.get(\"instructor\");"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" course \u003d testData.courses.get(\"course\");"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" feedbackSession \u003d testData.feedbackSessions.get(\"openSession\");"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" student \u003d testData.students.get(\"alice.tmms@FMsqQn.CS2104\");"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" public void testAll() {"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" testEditPage();"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" logout();"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" testSubmitPage();"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" protected void testEditPage() {"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" InstructorFeedbackEditPage feedbackEditPage \u003d loginToFeedbackEditPage();"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion loadedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\")"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" .makeDeepCopy(feedbackSession);"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" FeedbackMsqQuestionDetails questionDetails \u003d (FeedbackMsqQuestionDetails) loadedQuestion"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" .getQuestionDetailsCopy();"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMsqQuestionDetails(1, questionDetails);"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" ______TS(\"add new question\");"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" // add new question exactly like loaded question"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" loadedQuestion.setQuestionNumber(2);"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.addMsqQuestion(loadedQuestion);"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMsqQuestionDetails(2, questionDetails);"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" ______TS(\"copy question\");"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion copiedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForSecondSession\");"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" questionDetails \u003d (FeedbackMsqQuestionDetails) copiedQuestion.getQuestionDetailsCopy();"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.copyQuestion(copiedQuestion.getCourseId(),"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" copiedQuestion.getQuestionDetailsCopy().getQuestionText());"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" copiedQuestion.setFeedbackSession(feedbackSession);"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" copiedQuestion.setQuestionNumber(3);"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMsqQuestionDetails(3, questionDetails);"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(copiedQuestion);"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" ______TS(\"edit question\");"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" questionDetails \u003d (FeedbackMsqQuestionDetails) loadedQuestion.getQuestionDetailsCopy();"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" questionDetails.setHasAssignedWeights(false);"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" questionDetails.setMsqWeights(new ArrayList\u003c\u003e());"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" questionDetails.setOtherEnabled(false);"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" questionDetails.setMsqOtherWeight(0);"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" questionDetails.setMaxSelectableChoices(Const.POINTS_NO_VALUE);"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" List\u003cString\u003e choices \u003d questionDetails.getMsqChoices();"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":" choices.add(\"Edited choice\");"},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" questionDetails.setMsqChoices(choices);"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" loadedQuestion.setQuestionDetails(questionDetails);"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.editMsqQuestion(2, questionDetails);"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.waitForPageToLoad();"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMsqQuestionDetails(2, questionDetails);"},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" protected void testSubmitPage() {"},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":" FeedbackSubmitPage feedbackSubmitPage \u003d loginToFeedbackSubmitPage();"},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion question \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\");"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":" Student receiver \u003d testData.students.get(\"benny.tmms@FMsqQn.CS2104\");"},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.verifyMsqQuestion(1, receiver.getName(),"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" (FeedbackMsqQuestionDetails) question.getQuestionDetailsCopy());"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":" ______TS(\"verify loaded question with generated options\");"},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion generatedQn \u003d testData.feedbackQuestions.get(\"qn1ForSecondSession\");"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.verifyGeneratedMsqQuestion(3, \"\","},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" (FeedbackMsqQuestionDetails) generatedQn.getQuestionDetailsCopy(), getGeneratedTeams());"},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" ______TS(\"submit response\");"},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":" List\u003cString\u003e answers \u003d Arrays.asList(\"Leadership\", \"This is the other response.\");"},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" FeedbackResponse response \u003d getResponse(question, receiver, answers.get(answers.size() - 1), answers);"},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.fillMsqResponse(1, receiver.getName(), response);"},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":" // TODO: uncomment when SubmitFeedbackResponse is working"},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" // ______TS(\"check previous response\");"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.verifyMsqResponse(1, receiver.getName(), response);"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" // ______TS(\"edit response\");"},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" // answers \u003d Arrays.asList(\"\");"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":" // response \u003d getResponse(question, receiver, \"\", answers);"},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.fillMsqResponse(1, receiver.getName(), response);"},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.verifyMsqResponse(1, receiver.getName(), response);"},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":" private List\u003cString\u003e getGeneratedTeams() {"},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" return testData.students.values().stream()"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" .filter(s -\u003e s.getCourse().equals(student.getCourse()))"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" .map(s -\u003e s.getTeam().getName())"},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":" .distinct()"},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":" .collect(Collectors.toList());"},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":" private FeedbackResponse getResponse(FeedbackQuestion feedbackQuestion, Student receiver, String other,"},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" List\u003cString\u003e answers) {"},{"lineNumber":140,"author":{"gitId":"dishenggg"},"content":" FeedbackMsqResponseDetails details \u003d new FeedbackMsqResponseDetails();"},{"lineNumber":141,"author":{"gitId":"dishenggg"},"content":" if (!other.isEmpty()) {"},{"lineNumber":142,"author":{"gitId":"dishenggg"},"content":" details.setOther(true);"},{"lineNumber":143,"author":{"gitId":"dishenggg"},"content":" details.setOtherFieldContent(other);"},{"lineNumber":144,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":145,"author":{"gitId":"dishenggg"},"content":" details.setAnswers(answers);"},{"lineNumber":146,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":147,"author":{"gitId":"dishenggg"},"content":" return FeedbackResponse.makeResponse(feedbackQuestion, student.getEmail(), student.getSection(),"},{"lineNumber":148,"author":{"gitId":"dishenggg"},"content":" receiver.getEmail(), receiver.getSection(), details);"},{"lineNumber":149,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":150}},{"path":"src/e2e/java/teammates/e2e/cases/sql/FeedbackNumScaleQuestionE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"marquestye"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":3,"author":{"gitId":"marquestye"},"content":"import org.testng.annotations.Test;"},{"lineNumber":4,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":5,"author":{"gitId":"marquestye"},"content":"import teammates.common.datatransfer.questions.FeedbackNumericalScaleQuestionDetails;"},{"lineNumber":6,"author":{"gitId":"marquestye"},"content":"import teammates.common.datatransfer.questions.FeedbackNumericalScaleResponseDetails;"},{"lineNumber":7,"author":{"gitId":"marquestye"},"content":"import teammates.e2e.pageobjects.FeedbackSubmitPage;"},{"lineNumber":8,"author":{"gitId":"marquestye"},"content":"import teammates.e2e.pageobjects.InstructorFeedbackEditPage;"},{"lineNumber":9,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":10,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":11,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":12,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":13,"author":{"gitId":"marquestye"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"marquestye"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_SESSION_EDIT_PAGE}, {@link Const.WebPageURIs#SESSION_SUBMISSION_PAGE}"},{"lineNumber":15,"author":{"gitId":"marquestye"},"content":" * specifically for NumScale questions."},{"lineNumber":16,"author":{"gitId":"marquestye"},"content":" */"},{"lineNumber":17,"author":{"gitId":"marquestye"},"content":"public class FeedbackNumScaleQuestionE2ETest extends BaseFeedbackQuestionE2ETest {"},{"lineNumber":18,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":19,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":20,"author":{"gitId":"marquestye"},"content":" protected void prepareTestData() {"},{"lineNumber":21,"author":{"gitId":"marquestye"},"content":" testData \u003d removeAndRestoreDataBundle(loadSqlDataBundle(\"/FeedbackNumScaleQuestionE2ESqlTest.json\"));"},{"lineNumber":22,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":23,"author":{"gitId":"marquestye"},"content":" instructor \u003d testData.instructors.get(\"instructor\");"},{"lineNumber":24,"author":{"gitId":"marquestye"},"content":" course \u003d testData.courses.get(\"course\");"},{"lineNumber":25,"author":{"gitId":"marquestye"},"content":" feedbackSession \u003d testData.feedbackSessions.get(\"openSession\");"},{"lineNumber":26,"author":{"gitId":"marquestye"},"content":" student \u003d testData.students.get(\"alice.tmms@FNumScaleQn.CS2104\");"},{"lineNumber":27,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":28,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":29,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":30,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":31,"author":{"gitId":"marquestye"},"content":" public void testAll() {"},{"lineNumber":32,"author":{"gitId":"marquestye"},"content":" testEditPage();"},{"lineNumber":33,"author":{"gitId":"marquestye"},"content":" logout();"},{"lineNumber":34,"author":{"gitId":"marquestye"},"content":" testSubmitPage();"},{"lineNumber":35,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":36,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":37,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"marquestye"},"content":" protected void testEditPage() {"},{"lineNumber":39,"author":{"gitId":"marquestye"},"content":" InstructorFeedbackEditPage feedbackEditPage \u003d loginToFeedbackEditPage();"},{"lineNumber":40,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":41,"author":{"gitId":"marquestye"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":42,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion loadedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\");"},{"lineNumber":43,"author":{"gitId":"marquestye"},"content":" FeedbackNumericalScaleQuestionDetails questionDetails \u003d"},{"lineNumber":44,"author":{"gitId":"marquestye"},"content":" (FeedbackNumericalScaleQuestionDetails) loadedQuestion.getQuestionDetailsCopy();"},{"lineNumber":45,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.verifyNumScaleQuestionDetails(1, questionDetails);"},{"lineNumber":46,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":47,"author":{"gitId":"marquestye"},"content":" ______TS(\"add new question\");"},{"lineNumber":48,"author":{"gitId":"marquestye"},"content":" // add new question exactly like loaded question"},{"lineNumber":49,"author":{"gitId":"marquestye"},"content":" loadedQuestion.setQuestionNumber(2);"},{"lineNumber":50,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.addNumScaleQuestion(loadedQuestion);"},{"lineNumber":51,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.waitUntilAnimationFinish();"},{"lineNumber":52,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":53,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.verifyNumScaleQuestionDetails(2, questionDetails);"},{"lineNumber":54,"author":{"gitId":"marquestye"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":55,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":56,"author":{"gitId":"marquestye"},"content":" ______TS(\"copy question\");"},{"lineNumber":57,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion copiedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForSecondSession\");"},{"lineNumber":58,"author":{"gitId":"marquestye"},"content":" questionDetails \u003d (FeedbackNumericalScaleQuestionDetails) copiedQuestion.getQuestionDetailsCopy();"},{"lineNumber":59,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.copyQuestion(copiedQuestion.getCourseId(),"},{"lineNumber":60,"author":{"gitId":"marquestye"},"content":" copiedQuestion.getQuestionDetailsCopy().getQuestionText());"},{"lineNumber":61,"author":{"gitId":"marquestye"},"content":" copiedQuestion.setQuestionNumber(3);"},{"lineNumber":62,"author":{"gitId":"marquestye"},"content":" copiedQuestion.setFeedbackSession(feedbackSession);"},{"lineNumber":63,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":64,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.verifyNumScaleQuestionDetails(3, questionDetails);"},{"lineNumber":65,"author":{"gitId":"marquestye"},"content":" verifyPresentInDatabase(copiedQuestion);"},{"lineNumber":66,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":67,"author":{"gitId":"marquestye"},"content":" ______TS(\"edit question\");"},{"lineNumber":68,"author":{"gitId":"marquestye"},"content":" questionDetails \u003d (FeedbackNumericalScaleQuestionDetails) loadedQuestion.getQuestionDetailsCopy();"},{"lineNumber":69,"author":{"gitId":"marquestye"},"content":" FeedbackNumericalScaleQuestionDetails newQuestionDetails \u003d"},{"lineNumber":70,"author":{"gitId":"marquestye"},"content":" (FeedbackNumericalScaleQuestionDetails) questionDetails.getDeepCopy();"},{"lineNumber":71,"author":{"gitId":"marquestye"},"content":" newQuestionDetails.setMinScale(0);"},{"lineNumber":72,"author":{"gitId":"marquestye"},"content":" newQuestionDetails.setStep(1);"},{"lineNumber":73,"author":{"gitId":"marquestye"},"content":" newQuestionDetails.setMaxScale(100);"},{"lineNumber":74,"author":{"gitId":"marquestye"},"content":" loadedQuestion.setQuestionDetails(newQuestionDetails);"},{"lineNumber":75,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.editNumScaleQuestion(2, newQuestionDetails);"},{"lineNumber":76,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.waitForPageToLoad();"},{"lineNumber":77,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":78,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.verifyNumScaleQuestionDetails(2, newQuestionDetails);"},{"lineNumber":79,"author":{"gitId":"marquestye"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":80,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":81,"author":{"gitId":"marquestye"},"content":" // reset question details to original"},{"lineNumber":82,"author":{"gitId":"marquestye"},"content":" loadedQuestion.setQuestionDetails(questionDetails);"},{"lineNumber":83,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":84,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":85,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":86,"author":{"gitId":"marquestye"},"content":" protected void testSubmitPage() {"},{"lineNumber":87,"author":{"gitId":"marquestye"},"content":" FeedbackSubmitPage feedbackSubmitPage \u003d loginToFeedbackSubmitPage();"},{"lineNumber":88,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":89,"author":{"gitId":"marquestye"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":90,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion question \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\");"},{"lineNumber":91,"author":{"gitId":"marquestye"},"content":" Student receiver \u003d testData.students.get(\"benny.tmms@FNumScaleQn.CS2104\");"},{"lineNumber":92,"author":{"gitId":"marquestye"},"content":" feedbackSubmitPage.verifyNumScaleQuestion(1, receiver.getTeamName(),"},{"lineNumber":93,"author":{"gitId":"marquestye"},"content":" (FeedbackNumericalScaleQuestionDetails) question.getQuestionDetailsCopy());"},{"lineNumber":94,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":95,"author":{"gitId":"marquestye"},"content":" ______TS(\"submit response\");"},{"lineNumber":96,"author":{"gitId":"marquestye"},"content":" FeedbackResponse response \u003d getResponse(question, receiver, 5.4);"},{"lineNumber":97,"author":{"gitId":"marquestye"},"content":" feedbackSubmitPage.fillNumScaleResponse(1, receiver.getTeamName(), response);"},{"lineNumber":98,"author":{"gitId":"marquestye"},"content":" feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":99,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":100,"author":{"gitId":"marquestye"},"content":" // TODO: uncomment when SubmitFeedbackResponse is working"},{"lineNumber":101,"author":{"gitId":"marquestye"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":102,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":103,"author":{"gitId":"marquestye"},"content":" // ______TS(\"check previous response\");"},{"lineNumber":104,"author":{"gitId":"marquestye"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":105,"author":{"gitId":"marquestye"},"content":" // feedbackSubmitPage.verifyNumScaleResponse(1, receiver.getTeamName(), response);"},{"lineNumber":106,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":107,"author":{"gitId":"marquestye"},"content":" // ______TS(\"edit response\");"},{"lineNumber":108,"author":{"gitId":"marquestye"},"content":" // response \u003d getResponse(question, receiver, 10.0);"},{"lineNumber":109,"author":{"gitId":"marquestye"},"content":" // feedbackSubmitPage.fillNumScaleResponse(1, receiver.getTeamName(), response);"},{"lineNumber":110,"author":{"gitId":"marquestye"},"content":" // feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":111,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":112,"author":{"gitId":"marquestye"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":113,"author":{"gitId":"marquestye"},"content":" // feedbackSubmitPage.verifyNumScaleResponse(1, receiver.getTeamName(), response);"},{"lineNumber":114,"author":{"gitId":"marquestye"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":115,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":116,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":117,"author":{"gitId":"marquestye"},"content":" private FeedbackResponse getResponse(FeedbackQuestion feedbackQuestion, Student receiver, Double answer) {"},{"lineNumber":118,"author":{"gitId":"marquestye"},"content":" FeedbackNumericalScaleResponseDetails details \u003d new FeedbackNumericalScaleResponseDetails();"},{"lineNumber":119,"author":{"gitId":"marquestye"},"content":" details.setAnswer(answer);"},{"lineNumber":120,"author":{"gitId":"marquestye"},"content":" return FeedbackResponse.makeResponse("},{"lineNumber":121,"author":{"gitId":"marquestye"},"content":" feedbackQuestion, student.getEmail(), null, receiver.getTeamName(), null, details);"},{"lineNumber":122,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":123,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":124,"author":{"gitId":"marquestye"},"content":"}"}],"authorContributionMap":{"marquestye":124}},{"path":"src/e2e/java/teammates/e2e/cases/sql/FeedbackRankOptionQuestionE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"mingyuanc"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":3,"author":{"gitId":"mingyuanc"},"content":"import java.util.Arrays;"},{"lineNumber":4,"author":{"gitId":"mingyuanc"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":6,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":8,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.datatransfer.questions.FeedbackRankOptionsQuestionDetails;"},{"lineNumber":9,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.datatransfer.questions.FeedbackRankOptionsResponseDetails;"},{"lineNumber":10,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.datatransfer.questions.FeedbackRankQuestionDetails;"},{"lineNumber":11,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"mingyuanc"},"content":"import teammates.e2e.pageobjects.FeedbackSubmitPage;"},{"lineNumber":13,"author":{"gitId":"mingyuanc"},"content":"import teammates.e2e.pageobjects.InstructorFeedbackEditPage;"},{"lineNumber":14,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":15,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":16,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":17,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":18,"author":{"gitId":"mingyuanc"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"mingyuanc"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_SESSION_EDIT_PAGE},"},{"lineNumber":20,"author":{"gitId":"mingyuanc"},"content":" * {@link Const.WebPageURIs#SESSION_SUBMISSION_PAGE}"},{"lineNumber":21,"author":{"gitId":"mingyuanc"},"content":" * specifically for RankOption questions."},{"lineNumber":22,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":23,"author":{"gitId":"mingyuanc"},"content":"public class FeedbackRankOptionQuestionE2ETest extends BaseFeedbackQuestionE2ETest {"},{"lineNumber":24,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":25,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":26,"author":{"gitId":"mingyuanc"},"content":" protected void prepareTestData() {"},{"lineNumber":27,"author":{"gitId":"mingyuanc"},"content":" testData \u003d removeAndRestoreDataBundle(loadSqlDataBundle(\"/FeedbackRankOptionQuestionE2ESqlTest.json\"));"},{"lineNumber":28,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":29,"author":{"gitId":"mingyuanc"},"content":" instructor \u003d testData.instructors.get(\"instructor\");"},{"lineNumber":30,"author":{"gitId":"mingyuanc"},"content":" course \u003d testData.courses.get(\"course\");"},{"lineNumber":31,"author":{"gitId":"mingyuanc"},"content":" feedbackSession \u003d testData.feedbackSessions.get(\"openSession\");"},{"lineNumber":32,"author":{"gitId":"mingyuanc"},"content":" student \u003d testData.students.get(\"alice.tmms@FRankOptQn.CS2104\");"},{"lineNumber":33,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":34,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":35,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"mingyuanc"},"content":" public void testAll() {"},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":" testEditPage();"},{"lineNumber":39,"author":{"gitId":"mingyuanc"},"content":" logout();"},{"lineNumber":40,"author":{"gitId":"mingyuanc"},"content":" testSubmitPage();"},{"lineNumber":41,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":42,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":43,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":44,"author":{"gitId":"mingyuanc"},"content":" protected void testEditPage() {"},{"lineNumber":45,"author":{"gitId":"mingyuanc"},"content":" InstructorFeedbackEditPage feedbackEditPage \u003d loginToFeedbackEditPage();"},{"lineNumber":46,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":47,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":48,"author":{"gitId":"mingyuanc"},"content":" FeedbackQuestion loadedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\")"},{"lineNumber":49,"author":{"gitId":"mingyuanc"},"content":" .makeDeepCopy(feedbackSession);"},{"lineNumber":50,"author":{"gitId":"mingyuanc"},"content":" FeedbackRankOptionsQuestionDetails questionDetails \u003d (FeedbackRankOptionsQuestionDetails) loadedQuestion"},{"lineNumber":51,"author":{"gitId":"mingyuanc"},"content":" .getQuestionDetailsCopy();"},{"lineNumber":52,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.verifyRankQuestionDetails(1, questionDetails);"},{"lineNumber":53,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":54,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"add new question\");"},{"lineNumber":55,"author":{"gitId":"mingyuanc"},"content":" // add new question exactly like loaded question"},{"lineNumber":56,"author":{"gitId":"mingyuanc"},"content":" loadedQuestion.setQuestionNumber(2);"},{"lineNumber":57,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.addRankOptionsQuestion(loadedQuestion);"},{"lineNumber":58,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":59,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.verifyRankQuestionDetails(2, questionDetails);"},{"lineNumber":60,"author":{"gitId":"mingyuanc"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":61,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":62,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"copy question\");"},{"lineNumber":63,"author":{"gitId":"mingyuanc"},"content":" FeedbackQuestion copiedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForSecondSession\");"},{"lineNumber":64,"author":{"gitId":"mingyuanc"},"content":" questionDetails \u003d (FeedbackRankOptionsQuestionDetails) copiedQuestion.getQuestionDetailsCopy();"},{"lineNumber":65,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.copyQuestion(copiedQuestion.getCourseId(),"},{"lineNumber":66,"author":{"gitId":"mingyuanc"},"content":" copiedQuestion.getQuestionDetailsCopy().getQuestionText());"},{"lineNumber":67,"author":{"gitId":"mingyuanc"},"content":" copiedQuestion.setFeedbackSession(feedbackSession);"},{"lineNumber":68,"author":{"gitId":"mingyuanc"},"content":" copiedQuestion.setQuestionNumber(3);"},{"lineNumber":69,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":70,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.verifyRankQuestionDetails(3, questionDetails);"},{"lineNumber":71,"author":{"gitId":"mingyuanc"},"content":" verifyPresentInDatabase(copiedQuestion);"},{"lineNumber":72,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":73,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"edit question\");"},{"lineNumber":74,"author":{"gitId":"mingyuanc"},"content":" questionDetails \u003d (FeedbackRankOptionsQuestionDetails) loadedQuestion.getQuestionDetailsCopy();"},{"lineNumber":75,"author":{"gitId":"mingyuanc"},"content":" List\u003cString\u003e options \u003d questionDetails.getOptions();"},{"lineNumber":76,"author":{"gitId":"mingyuanc"},"content":" options.remove(0);"},{"lineNumber":77,"author":{"gitId":"mingyuanc"},"content":" options.set(1, \"Edited option.\");"},{"lineNumber":78,"author":{"gitId":"mingyuanc"},"content":" questionDetails.setOptions(options);"},{"lineNumber":79,"author":{"gitId":"mingyuanc"},"content":" questionDetails.setAreDuplicatesAllowed(true);"},{"lineNumber":80,"author":{"gitId":"mingyuanc"},"content":" questionDetails.setMaxOptionsToBeRanked(Const.POINTS_NO_VALUE);"},{"lineNumber":81,"author":{"gitId":"mingyuanc"},"content":" questionDetails.setMinOptionsToBeRanked(1);"},{"lineNumber":82,"author":{"gitId":"mingyuanc"},"content":" loadedQuestion.setQuestionDetails(questionDetails);"},{"lineNumber":83,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.editRankQuestion(2, questionDetails);"},{"lineNumber":84,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.waitForPageToLoad();"},{"lineNumber":85,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":86,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.verifyRankQuestionDetails(2, questionDetails);"},{"lineNumber":87,"author":{"gitId":"mingyuanc"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":88,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":89,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":90,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":91,"author":{"gitId":"mingyuanc"},"content":" protected void testSubmitPage() {"},{"lineNumber":92,"author":{"gitId":"mingyuanc"},"content":" FeedbackSubmitPage feedbackSubmitPage \u003d loginToFeedbackSubmitPage();"},{"lineNumber":93,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":94,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":95,"author":{"gitId":"mingyuanc"},"content":" FeedbackQuestion question \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\");"},{"lineNumber":96,"author":{"gitId":"mingyuanc"},"content":" Student receiver \u003d testData.students.get(\"benny.tmms@FRankOptQn.CS2104\");"},{"lineNumber":97,"author":{"gitId":"mingyuanc"},"content":" feedbackSubmitPage.verifyRankQuestion(1, receiver.getName(),"},{"lineNumber":98,"author":{"gitId":"mingyuanc"},"content":" (FeedbackRankQuestionDetails) question.getQuestionDetailsCopy());"},{"lineNumber":99,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":100,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"submit response\");"},{"lineNumber":101,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponse response \u003d getResponse(question, receiver, Arrays.asList(2, 1, 3,"},{"lineNumber":102,"author":{"gitId":"mingyuanc"},"content":" Const.POINTS_NOT_SUBMITTED));"},{"lineNumber":103,"author":{"gitId":"mingyuanc"},"content":" feedbackSubmitPage.fillRankOptionResponse(1, receiver.getName(), response);"},{"lineNumber":104,"author":{"gitId":"mingyuanc"},"content":" feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":105,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":106,"author":{"gitId":"mingyuanc"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":107,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":108,"author":{"gitId":"mingyuanc"},"content":" // ______TS(\"check previous response\");"},{"lineNumber":109,"author":{"gitId":"mingyuanc"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":110,"author":{"gitId":"mingyuanc"},"content":" // feedbackSubmitPage.verifyRankOptionResponse(1, receiver.getName(), response);"},{"lineNumber":111,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":112,"author":{"gitId":"mingyuanc"},"content":" // ______TS(\"edit response\");"},{"lineNumber":113,"author":{"gitId":"mingyuanc"},"content":" // response \u003d getResponse(questionId, receiver,"},{"lineNumber":114,"author":{"gitId":"mingyuanc"},"content":" // Arrays.asList(Const.POINTS_NOT_SUBMITTED, 1, 3, 2));"},{"lineNumber":115,"author":{"gitId":"mingyuanc"},"content":" // feedbackSubmitPage.fillRankOptionResponse(1, receiver.getName(), response);"},{"lineNumber":116,"author":{"gitId":"mingyuanc"},"content":" // feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":117,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":118,"author":{"gitId":"mingyuanc"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":119,"author":{"gitId":"mingyuanc"},"content":" // feedbackSubmitPage.verifyRankOptionResponse(1, receiver.getName(), response);"},{"lineNumber":120,"author":{"gitId":"mingyuanc"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":121,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":122,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":123,"author":{"gitId":"mingyuanc"},"content":" private FeedbackResponse getResponse(FeedbackQuestion question, Student receiver, List\u003cInteger\u003e answers) {"},{"lineNumber":124,"author":{"gitId":"mingyuanc"},"content":" FeedbackRankOptionsResponseDetails details \u003d new FeedbackRankOptionsResponseDetails();"},{"lineNumber":125,"author":{"gitId":"mingyuanc"},"content":" details.setAnswers(answers);"},{"lineNumber":126,"author":{"gitId":"mingyuanc"},"content":" return FeedbackResponse.makeResponse(question, student.getEmail(), null, receiver.getEmail(), null, details);"},{"lineNumber":127,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":128,"author":{"gitId":"mingyuanc"},"content":"}"}],"authorContributionMap":{"mingyuanc":128}},{"path":"src/e2e/java/teammates/e2e/cases/sql/InstructorNotificationsPageE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yuanxi1"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":3,"author":{"gitId":"yuanxi1"},"content":"import java.util.Set;"},{"lineNumber":4,"author":{"gitId":"yuanxi1"},"content":"import java.util.stream.Collectors;"},{"lineNumber":5,"author":{"gitId":"yuanxi1"},"content":"import java.util.stream.Stream;"},{"lineNumber":6,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":7,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":8,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":10,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":11,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"yuanxi1"},"content":"import teammates.e2e.pageobjects.InstructorNotificationsPage;"},{"lineNumber":13,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":14,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":15,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.output.AccountData;"},{"lineNumber":16,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":17,"author":{"gitId":"yuanxi1"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_NOTIFICATIONS_PAGE}."},{"lineNumber":19,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":20,"author":{"gitId":"yuanxi1"},"content":"public class InstructorNotificationsPageE2ETest extends BaseE2ETestCase {"},{"lineNumber":21,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":22,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":23,"author":{"gitId":"yuanxi1"},"content":" protected void prepareTestData() {"},{"lineNumber":24,"author":{"gitId":"yuanxi1"},"content":" testData \u003d loadSqlDataBundle(\"/InstructorNotificationsPageE2ESqlTest.json\");"},{"lineNumber":25,"author":{"gitId":"yuanxi1"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":26,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":27,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":28,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":29,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":30,"author":{"gitId":"yuanxi1"},"content":" protected void testAll() {"},{"lineNumber":31,"author":{"gitId":"yuanxi1"},"content":" Account account \u003d testData.accounts.get(\"INotifs.instr\");"},{"lineNumber":32,"author":{"gitId":"yuanxi1"},"content":" AppUrl notificationsPageUrl \u003d createFrontendUrl(Const.WebPageURIs.INSTRUCTOR_NOTIFICATIONS_PAGE);"},{"lineNumber":33,"author":{"gitId":"yuanxi1"},"content":" InstructorNotificationsPage notificationsPage \u003d loginToPage(notificationsPageUrl, InstructorNotificationsPage.class,"},{"lineNumber":34,"author":{"gitId":"yuanxi1"},"content":" account.getGoogleId());"},{"lineNumber":35,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":36,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"verify that only active notifications with correct target user are shown\");"},{"lineNumber":37,"author":{"gitId":"yuanxi1"},"content":" Notification[] notShownNotifications \u003d {"},{"lineNumber":38,"author":{"gitId":"yuanxi1"},"content":" testData.notifications.get(\"notification2\"),"},{"lineNumber":39,"author":{"gitId":"yuanxi1"},"content":" testData.notifications.get(\"expiredNotification1\"),"},{"lineNumber":40,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":41,"author":{"gitId":"yuanxi1"},"content":" Notification[] shownNotifications \u003d {"},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":" testData.notifications.get(\"notification1\"),"},{"lineNumber":43,"author":{"gitId":"yuanxi1"},"content":" testData.notifications.get(\"notification3\"),"},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" testData.notifications.get(\"notification4\"),"},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":" Notification[] readNotifications \u003d {"},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" testData.notifications.get(\"notification4\"),"},{"lineNumber":49,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":50,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":" Set\u003cString\u003e readNotificationsIds \u003d Stream.of(readNotifications)"},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":" .map(readNotification -\u003e readNotification.getId().toString())"},{"lineNumber":53,"author":{"gitId":"yuanxi1"},"content":" .collect(Collectors.toSet());"},{"lineNumber":54,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":55,"author":{"gitId":"yuanxi1"},"content":" notificationsPage.verifyNotShownNotifications(notShownNotifications);"},{"lineNumber":56,"author":{"gitId":"yuanxi1"},"content":" notificationsPage.verifyShownNotifications(shownNotifications, readNotificationsIds);"},{"lineNumber":57,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":58,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"mark notification as read\");"},{"lineNumber":59,"author":{"gitId":"yuanxi1"},"content":" Notification notificationToMarkAsRead \u003d testData.notifications.get(\"notification3\");"},{"lineNumber":60,"author":{"gitId":"yuanxi1"},"content":" notificationsPage.markNotificationAsRead(notificationToMarkAsRead);"},{"lineNumber":61,"author":{"gitId":"yuanxi1"},"content":" notificationsPage.verifyStatusMessage(\"Notification marked as read.\");"},{"lineNumber":62,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":63,"author":{"gitId":"yuanxi1"},"content":" // Verify that account\u0027s readNotifications attribute is updated"},{"lineNumber":64,"author":{"gitId":"yuanxi1"},"content":" AccountData accountFromDb \u003d BACKDOOR.getAccountData(account.getGoogleId());"},{"lineNumber":65,"author":{"gitId":"yuanxi1"},"content":" assertTrue(accountFromDb.getReadNotifications().containsKey(notificationToMarkAsRead.getId().toString()));"},{"lineNumber":66,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":67,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"notification banner is not visible\");"},{"lineNumber":68,"author":{"gitId":"yuanxi1"},"content":" assertFalse(notificationsPage.isBannerVisible());"},{"lineNumber":69,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":70,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":71,"author":{"gitId":"yuanxi1"},"content":" @AfterClass"},{"lineNumber":72,"author":{"gitId":"yuanxi1"},"content":" public void classTeardown() {"},{"lineNumber":73,"author":{"gitId":"yuanxi1"},"content":" for (Notification notification : testData.notifications.values()) {"},{"lineNumber":74,"author":{"gitId":"yuanxi1"},"content":" BACKDOOR.deleteNotification(notification.getId());"},{"lineNumber":75,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":76,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":77,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":78,"author":{"gitId":"yuanxi1"},"content":"}"}],"authorContributionMap":{"yuanxi1":78}},{"path":"src/e2e/java/teammates/e2e/pageobjects/AdminNotificationsPage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.pageobjects;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.openqa.selenium.By;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebElement;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.FindBy;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationStyle;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationTargetUser;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Page Object Model for the admin notifications page."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class AdminNotificationsPage extends AppPage {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-add-notification\")"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private WebElement addNotificationButton;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-create-notification\")"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private WebElement createNotificationButton;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-edit-notification\")"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private WebElement editNotificationButton;"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notifications-timezone\")"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private WebElement notificationsTimezone;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-target-user\")"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private WebElement notificationTargetUserDropdown;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-style\")"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private WebElement notificationStyleDropdown;"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-title\")"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private WebElement notificationTitleTextBox;"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-message\")"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private WebElement notificationMessageEditor;"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-start-date\")"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private WebElement startDateBox;"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-start-time\")"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private WebElement startTimeDropdown;"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-end-date\")"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private WebElement endDateBox;"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-end-time\")"},{"lineNumber":55,"author":{"gitId":"-"},"content":" private WebElement endTimeDropdown;"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notifications-table\")"},{"lineNumber":58,"author":{"gitId":"-"},"content":" private WebElement notificationsTable;"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" public AdminNotificationsPage(Browser browser) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" super(browser);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" }"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":65,"author":{"gitId":"-"},"content":" protected boolean containsExpectedPageContents() {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" return getPageSource().contains(\"Notifications\");"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" public void verifyNotificationsTableRow(Notification notification) {"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" WebElement notificationRow \u003d notificationsTable.findElement(By.id(notification.getId().toString()));"},{"lineNumber":71,"author":{"gitId":"-"},"content":" verifyTableRowValues(notificationRow, getNotificationTableDisplayDetails(notification));"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" public void addNotification(Notification notification) {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" clickAddNotificationButton();"},{"lineNumber":76,"author":{"gitId":"-"},"content":" waitForElementPresence(By.id(\"btn-create-notification\"));"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" fillNotificationForm(notification);"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" clickCreateNotificationButton();"},{"lineNumber":81,"author":{"gitId":"-"},"content":" waitForPageToLoad(true);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" }"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" public void editNotification(Notification notification) {"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" WebElement notificationRow \u003d notificationsTable.findElement(By.id(notification.getId().toString()));"},{"lineNumber":86,"author":{"gitId":"-"},"content":" WebElement editButton \u003d notificationRow.findElement(By.className(\"btn-light\"));"},{"lineNumber":87,"author":{"gitId":"-"},"content":" editButton.click();"},{"lineNumber":88,"author":{"gitId":"-"},"content":" waitForElementPresence(By.id(\"btn-edit-notification\"));"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" fillNotificationForm(notification);"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" clickEditNotificationButton();"},{"lineNumber":93,"author":{"gitId":"-"},"content":" waitForPageToLoad(true);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" public void deleteNotification(Notification notification) {"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" WebElement notificationRow \u003d notificationsTable.findElement(By.id(notification.getId().toString()));"},{"lineNumber":98,"author":{"gitId":"-"},"content":" WebElement deleteButton \u003d notificationRow.findElement(By.className(\"btn-danger\"));"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" deleteButton.click();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":102,"author":{"gitId":"-"},"content":" waitForPageToLoad(true);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" public void fillNotificationForm(Notification notification) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(notificationTargetUserDropdown, getTargetUserText(notification.getTargetUser()));"},{"lineNumber":107,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(notificationStyleDropdown, getNotificationStyle(notification.getStyle()));"},{"lineNumber":108,"author":{"gitId":"-"},"content":" fillTextBox(notificationTitleTextBox, notification.getTitle());"},{"lineNumber":109,"author":{"gitId":"-"},"content":" setMessage(notification.getMessage());"},{"lineNumber":110,"author":{"gitId":"-"},"content":" setNotificationStartDateTime(notification.getStartTime());"},{"lineNumber":111,"author":{"gitId":"-"},"content":" setNotificationEndDateTime(notification.getEndTime());"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" public String getFirstRowNotificationId() {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e notificationRows \u003d"},{"lineNumber":116,"author":{"gitId":"-"},"content":" notificationsTable.findElement(By.tagName(\"tbody\")).findElements(By.tagName(\"tr\"));"},{"lineNumber":117,"author":{"gitId":"-"},"content":" return notificationRows.get(0).getAttribute(\"id\");"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" public void sortNotificationsTableByDescendingCreateTime() {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" WebElement creationTimeHeader \u003d notificationsTable.findElements(By.tagName(\"th\")).get(5);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" if (creationTimeHeader.findElements(By.className(\"fa-sort-down\")).size() \u003d\u003d 0) {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" click(creationTimeHeader);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" private void clickAddNotificationButton() {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" click(addNotificationButton);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" }"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" private void clickCreateNotificationButton() {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" click(createNotificationButton);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" private void clickEditNotificationButton() {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" click(editNotificationButton);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" private void setMessage(String message) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" writeToRichTextEditor(notificationMessageEditor, message);"},{"lineNumber":141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" private void setNotificationStartDateTime(Instant startInstant) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" setDateTime(startDateBox, startTimeDropdown, startInstant);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" private void setNotificationEndDateTime(Instant endInstant) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" setDateTime(endDateBox, endTimeDropdown, endInstant);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" private void setDateTime(WebElement dateBox, WebElement timeBox, Instant startInstant) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" fillDatePicker(dateBox, startInstant, getTimezone());"},{"lineNumber":153,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(timeBox.findElement(By.tagName(\"select\")), getInputTimeString(startInstant));"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":" private String[] getNotificationTableDisplayDetails(Notification notification) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" return new String[] {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" notification.getTitle(),"},{"lineNumber":159,"author":{"gitId":"-"},"content":" getTableDisplayDateString(notification.getStartTime()),"},{"lineNumber":160,"author":{"gitId":"-"},"content":" getTableDisplayDateString(notification.getEndTime()),"},{"lineNumber":161,"author":{"gitId":"-"},"content":" notification.getTargetUser().toString(),"},{"lineNumber":162,"author":{"gitId":"-"},"content":" getNotificationStyle(notification.getStyle()),"},{"lineNumber":163,"author":{"gitId":"-"},"content":" };"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" private String getTimezone() {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" return notificationsTimezone.getText().replace(\"All dates are displayed in \", \"\").replace(\" time.\", \"\");"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" private String getInputTimeString(Instant instant) {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" String timezone \u003d getTimezone();"},{"lineNumber":172,"author":{"gitId":"-"},"content":" ZonedDateTime dateTime \u003d instant.atZone(ZoneId.of(timezone));"},{"lineNumber":173,"author":{"gitId":"-"},"content":" if (dateTime.getHour() \u003d\u003d 0 \u0026\u0026 dateTime.getMinute() \u003d\u003d 0) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" return \"23:59H\";"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timezone, \"HH:00\") + \"H\";"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" private String getTableDisplayDateString(Instant date) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(date, getTimezone(), \"d MMM h:mm a\");"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" private String getTargetUserText(NotificationTargetUser userType) {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" switch (userType) {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" case STUDENT:"},{"lineNumber":186,"author":{"gitId":"-"},"content":" return \"Students\";"},{"lineNumber":187,"author":{"gitId":"-"},"content":" case INSTRUCTOR:"},{"lineNumber":188,"author":{"gitId":"-"},"content":" return \"Instructors\";"},{"lineNumber":189,"author":{"gitId":"-"},"content":" case GENERAL:"},{"lineNumber":190,"author":{"gitId":"-"},"content":" return \"General (for both students and instructors)\";"},{"lineNumber":191,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":192,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" private String getNotificationStyle(NotificationStyle style) {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" switch (style) {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" case PRIMARY:"},{"lineNumber":199,"author":{"gitId":"-"},"content":" return \"Primary (blue)\";"},{"lineNumber":200,"author":{"gitId":"-"},"content":" case SECONDARY:"},{"lineNumber":201,"author":{"gitId":"-"},"content":" return \"Secondary (grey)\";"},{"lineNumber":202,"author":{"gitId":"-"},"content":" case SUCCESS:"},{"lineNumber":203,"author":{"gitId":"-"},"content":" return \"Success (green)\";"},{"lineNumber":204,"author":{"gitId":"-"},"content":" case DANGER:"},{"lineNumber":205,"author":{"gitId":"-"},"content":" return \"Danger (red)\";"},{"lineNumber":206,"author":{"gitId":"-"},"content":" case WARNING:"},{"lineNumber":207,"author":{"gitId":"-"},"content":" return \"Warning (yellow)\";"},{"lineNumber":208,"author":{"gitId":"-"},"content":" case INFO:"},{"lineNumber":209,"author":{"gitId":"-"},"content":" return \"Info (cyan)\";"},{"lineNumber":210,"author":{"gitId":"-"},"content":" case LIGHT:"},{"lineNumber":211,"author":{"gitId":"-"},"content":" return \"Light\";"},{"lineNumber":212,"author":{"gitId":"-"},"content":" case DARK:"},{"lineNumber":213,"author":{"gitId":"-"},"content":" return \"Dark\";"},{"lineNumber":214,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":215,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":10,"-":209}},{"path":"src/e2e/java/teammates/e2e/pageobjects/AdminSearchPage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.pageobjects;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.Assert.assertEquals;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static org.junit.Assert.assertFalse;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static org.junit.Assert.assertNotEquals;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.openqa.selenium.By;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.openqa.selenium.NoSuchElementException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebElement;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.FindBy;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountRequestAttributes;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * Represents the admin home page of the website."},{"lineNumber":27,"author":{"gitId":"-"},"content":" */"},{"lineNumber":28,"author":{"gitId":"-"},"content":"public class AdminSearchPage extends AppPage {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final int STUDENT_COL_DETAILS \u003d 1;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final int STUDENT_COL_NAME \u003d 2;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final int STUDENT_COL_GOOGLE_ID \u003d 3;"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final int STUDENT_COL_INSTITUTE \u003d 4;"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final int STUDENT_COL_COMMENTS \u003d 5;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final int STUDENT_COL_OPTIONS \u003d 6;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final int INSTRUCTOR_COL_COURSE_ID \u003d 1;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final int INSTRUCTOR_COL_NAME \u003d 2;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final int INSTRUCTOR_COL_GOOGLE_ID \u003d 3;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final int INSTRUCTOR_COL_INSTITUTE \u003d 4;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final int INSTRUCTOR_COL_OPTIONS \u003d 5;"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final int ACCOUNT_REQUEST_COL_NAME \u003d 1;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final int ACCOUNT_REQUEST_COL_EMAIL \u003d 2;"},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final int ACCOUNT_REQUEST_COL_INSTITUTE \u003d 3;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final int ACCOUNT_REQUEST_COL_CREATED_AT \u003d 4;"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final int ACCOUNT_REQUEST_COL_REGISTERED_AT \u003d 5;"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String EXPANDED_ROWS_HEADER_EMAIL \u003d \"Email\";"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String EXPANDED_ROWS_HEADER_COURSE_JOIN_LINK \u003d \"Course Join Link\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final String EXPANDED_ROWS_HEADER_ACCOUNT_REGISTRATION_LINK \u003d \"Account Registration Link\";"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final String LINK_TEXT_RESET_GOOGLE_ID \u003d \"Reset Google ID\";"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"search-box\")"},{"lineNumber":54,"author":{"gitId":"-"},"content":" private WebElement inputBox;"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"search-button\")"},{"lineNumber":57,"author":{"gitId":"-"},"content":" private WebElement searchButton;"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"show-student-links\")"},{"lineNumber":60,"author":{"gitId":"-"},"content":" private WebElement expandStudentLinksButton;"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"show-instructor-links\")"},{"lineNumber":63,"author":{"gitId":"-"},"content":" private WebElement expandInstructorLinksButton;"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"show-account-request-links\")"},{"lineNumber":66,"author":{"gitId":"-"},"content":" private WebElement expandAccountRequestLinksButton;"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"hide-student-links\")"},{"lineNumber":69,"author":{"gitId":"-"},"content":" private WebElement collapseStudentLinksButton;"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"hide-instructor-links\")"},{"lineNumber":72,"author":{"gitId":"-"},"content":" private WebElement collapseInstructorLinksButton;"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"hide-account-request-links\")"},{"lineNumber":75,"author":{"gitId":"-"},"content":" private WebElement collapseAccountRequestLinksButton;"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" public AdminSearchPage(Browser browser) {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" super(browser);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":82,"author":{"gitId":"-"},"content":" protected boolean containsExpectedPageContents() {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" return getPageSource().contains(\"Admin Search\u003c/h1\u003e\");"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" public void inputSearchContent(String content) {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" inputBox.sendKeys(content);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" public void clearSearchBox() {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" inputBox.clear();"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" public void clickSearchButton() {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" click(searchButton);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" public void regenerateStudentKey(Student student) {"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" studentRow.findElement(By.xpath(\"//button[text()\u003d\u0027Regenerate key\u0027]\")).click();"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" waitForPageToLoad(true);"},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" public void regenerateStudentKey(StudentAttributes student) {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" studentRow.findElement(By.xpath(\"//button[text()\u003d\u0027Regenerate key\u0027]\")).click();"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" waitForPageToLoad(true);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" public void verifyRegenerateStudentKey(Student student, String originalJoinLink) {"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" verifyStatusMessage(\"Student\u0027s key for this course has been successfully regenerated,\""},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" + \" and the email has been sent.\");"},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" String regeneratedJoinLink \u003d getStudentJoinLink(student);"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" assertNotEquals(regeneratedJoinLink, originalJoinLink);"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":" public void verifyRegenerateStudentKey(StudentAttributes student, String originalJoinLink) {"},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" verifyStatusMessage(\"Student\u0027s key for this course has been successfully regenerated,\""},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" + \" and the email has been sent.\");"},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" String regeneratedJoinLink \u003d getStudentJoinLink(student);"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":" assertNotEquals(regeneratedJoinLink, originalJoinLink);"},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" public void regenerateInstructorKey(Instructor instructor) {"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" instructorRow.findElement(By.xpath(\"//button[text()\u003d\u0027Regenerate key\u0027]\")).click();"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" waitForPageToLoad(true);"},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" public void regenerateInstructorKey(InstructorAttributes instructor) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":141,"author":{"gitId":"-"},"content":" instructorRow.findElement(By.xpath(\"//button[text()\u003d\u0027Regenerate key\u0027]\")).click();"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":144,"author":{"gitId":"-"},"content":" waitForPageToLoad(true);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" public void clickExpandStudentLinks() {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" click(expandStudentLinksButton);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" public void clickExpandInstructorLinks() {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" click(expandInstructorLinksButton);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":155,"author":{"gitId":"-"},"content":" }"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" public void clickExpandAccountRequestLinks() {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" click(expandAccountRequestLinksButton);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" public void clickCollapseStudentLinks() {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" click(collapseStudentLinksButton);"},{"lineNumber":164,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" public void clickCollapseInstructorLinks() {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" click(collapseInstructorLinksButton);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" public void clickCollapseAccountRequestLinks() {"},{"lineNumber":173,"author":{"gitId":"-"},"content":" click(collapseAccountRequestLinksButton);"},{"lineNumber":174,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" public String removeSpanFromText(String text) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" return text.replace(\"\u003cspan class\u003d\\\"highlighted-text\\\"\u003e\", \"\").replace(\"\u003c/span\u003e\", \"\");"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":" public WebElement getStudentRow(Student student) {"},{"lineNumber":182,"author":{"gitId":"domoberzin"},"content":" String details \u003d String.format(\"%s [%s] (%s)\", student.getCourse().getId(),"},{"lineNumber":183,"author":{"gitId":"domoberzin"},"content":" student.getSection() \u003d\u003d null"},{"lineNumber":184,"author":{"gitId":"domoberzin"},"content":" ? Const.DEFAULT_SECTION"},{"lineNumber":185,"author":{"gitId":"domoberzin"},"content":" : student.getSection().getName(), student.getTeam().getName());"},{"lineNumber":186,"author":{"gitId":"domoberzin"},"content":" WebElement table \u003d browser.driver.findElement(By.id(\"search-table-student\"));"},{"lineNumber":187,"author":{"gitId":"domoberzin"},"content":" List\u003cWebElement\u003e rows \u003d table.findElements(By.tagName(\"tr\"));"},{"lineNumber":188,"author":{"gitId":"domoberzin"},"content":" for (WebElement row : rows) {"},{"lineNumber":189,"author":{"gitId":"domoberzin"},"content":" List\u003cWebElement\u003e columns \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":190,"author":{"gitId":"domoberzin"},"content":" if (!columns.isEmpty() \u0026\u0026 removeSpanFromText(columns.get(STUDENT_COL_DETAILS - 1)"},{"lineNumber":191,"author":{"gitId":"domoberzin"},"content":" .getAttribute(\"innerHTML\")).contains(details)"},{"lineNumber":192,"author":{"gitId":"domoberzin"},"content":" \u0026\u0026 removeSpanFromText(columns.get(STUDENT_COL_NAME - 1)"},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":" .getAttribute(\"innerHTML\")).contains(student.getName())) {"},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" return row;"},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":" return null;"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" public WebElement getStudentRow(StudentAttributes student) {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" String details \u003d String.format(\"%s [%s] (%s)\", student.getCourse(),"},{"lineNumber":202,"author":{"gitId":"-"},"content":" student.getSection() \u003d\u003d null ? Const.DEFAULT_SECTION : student.getSection(), student.getTeam());"},{"lineNumber":203,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d browser.driver.findElements(By.cssSelector(\"#search-table-student tbody tr\"));"},{"lineNumber":204,"author":{"gitId":"-"},"content":" for (WebElement row : rows) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e columns \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":206,"author":{"gitId":"-"},"content":" if (removeSpanFromText(columns.get(STUDENT_COL_DETAILS - 1)"},{"lineNumber":207,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(details)"},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u0026\u0026 removeSpanFromText(columns.get(STUDENT_COL_NAME - 1)"},{"lineNumber":209,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(student.getName())) {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" return row;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" public String getStudentDetails(WebElement studentRow) {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" return getColumnText(studentRow, STUDENT_COL_DETAILS);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" public String getStudentName(WebElement studentRow) {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" return getColumnText(studentRow, STUDENT_COL_NAME);"},{"lineNumber":222,"author":{"gitId":"-"},"content":" }"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":" public String getStudentGoogleId(WebElement studentRow) {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" return getColumnText(studentRow, STUDENT_COL_GOOGLE_ID);"},{"lineNumber":226,"author":{"gitId":"-"},"content":" }"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":" public String getStudentHomeLink(WebElement studentRow) {"},{"lineNumber":229,"author":{"gitId":"-"},"content":" return getColumnLink(studentRow, STUDENT_COL_GOOGLE_ID);"},{"lineNumber":230,"author":{"gitId":"-"},"content":" }"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" public String getStudentInstitute(WebElement studentRow) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" return getColumnText(studentRow, STUDENT_COL_INSTITUTE);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" public String getStudentComments(WebElement studentRow) {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" return getColumnText(studentRow, STUDENT_COL_COMMENTS);"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" public String getStudentManageAccountLink(WebElement studentRow) {"},{"lineNumber":241,"author":{"gitId":"-"},"content":" return getColumnLink(studentRow, STUDENT_COL_OPTIONS);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" }"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" public String getStudentEmail(WebElement studentRow) {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" return getExpandedRowInputValue(studentRow, EXPANDED_ROWS_HEADER_EMAIL);"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" public String getStudentJoinLink(WebElement studentRow) {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" return getExpandedRowInputValue(studentRow, EXPANDED_ROWS_HEADER_COURSE_JOIN_LINK);"},{"lineNumber":250,"author":{"gitId":"-"},"content":" }"},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"domoberzin"},"content":" public String getStudentJoinLink(Student student) {"},{"lineNumber":253,"author":{"gitId":"domoberzin"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":254,"author":{"gitId":"domoberzin"},"content":" return getStudentJoinLink(studentRow);"},{"lineNumber":255,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":256,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":" public String getStudentJoinLink(StudentAttributes student) {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":259,"author":{"gitId":"-"},"content":" return getStudentJoinLink(studentRow);"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"domoberzin"},"content":" public void resetStudentGoogleId(Student student) {"},{"lineNumber":263,"author":{"gitId":"domoberzin"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":264,"author":{"gitId":"domoberzin"},"content":" WebElement link \u003d studentRow.findElement(By.linkText(LINK_TEXT_RESET_GOOGLE_ID));"},{"lineNumber":265,"author":{"gitId":"domoberzin"},"content":" link.click();"},{"lineNumber":266,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":267,"author":{"gitId":"domoberzin"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":268,"author":{"gitId":"domoberzin"},"content":" waitForElementStaleness(link);"},{"lineNumber":269,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":270,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" public void resetStudentGoogleId(StudentAttributes student) {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" WebElement link \u003d studentRow.findElement(By.linkText(LINK_TEXT_RESET_GOOGLE_ID));"},{"lineNumber":274,"author":{"gitId":"-"},"content":" link.click();"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":277,"author":{"gitId":"-"},"content":" waitForElementStaleness(link);"},{"lineNumber":278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"domoberzin"},"content":" public WebElement getInstructorRow(Instructor instructor) {"},{"lineNumber":281,"author":{"gitId":"domoberzin"},"content":" WebElement table \u003d browser.driver.findElement(By.id(\"search-table-instructor\"));"},{"lineNumber":282,"author":{"gitId":"domoberzin"},"content":" List\u003cWebElement\u003e rows \u003d table.findElements(By.tagName(\"tr\"));"},{"lineNumber":283,"author":{"gitId":"domoberzin"},"content":" for (WebElement row : rows) {"},{"lineNumber":284,"author":{"gitId":"domoberzin"},"content":" List\u003cWebElement\u003e columns \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":285,"author":{"gitId":"domoberzin"},"content":" if (columns.size() \u003e\u003d 3 \u0026\u0026 (removeSpanFromText(columns.get(2)"},{"lineNumber":286,"author":{"gitId":"domoberzin"},"content":" .getAttribute(\"innerHTML\")).contains(instructor.getGoogleId())"},{"lineNumber":287,"author":{"gitId":"domoberzin"},"content":" || removeSpanFromText(columns.get(1)"},{"lineNumber":288,"author":{"gitId":"domoberzin"},"content":" .getAttribute(\"innerHTML\")).contains(instructor.getName()))) {"},{"lineNumber":289,"author":{"gitId":"domoberzin"},"content":" return row;"},{"lineNumber":290,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":291,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":292,"author":{"gitId":"domoberzin"},"content":" return null;"},{"lineNumber":293,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":294,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" public WebElement getInstructorRow(InstructorAttributes instructor) {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" String courseId \u003d instructor.getCourseId();"},{"lineNumber":297,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d browser.driver.findElements(By.cssSelector(\"#search-table-instructor tbody tr\"));"},{"lineNumber":298,"author":{"gitId":"-"},"content":" for (WebElement row : rows) {"},{"lineNumber":299,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e columns \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":300,"author":{"gitId":"-"},"content":" if (removeSpanFromText(columns.get(INSTRUCTOR_COL_COURSE_ID - 1)"},{"lineNumber":301,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(courseId)"},{"lineNumber":302,"author":{"gitId":"-"},"content":" \u0026\u0026 removeSpanFromText(columns.get(INSTRUCTOR_COL_NAME - 1)"},{"lineNumber":303,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(instructor.getName())) {"},{"lineNumber":304,"author":{"gitId":"-"},"content":" return row;"},{"lineNumber":305,"author":{"gitId":"-"},"content":" }"},{"lineNumber":306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":307,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" public String getInstructorCourseId(WebElement instructorRow) {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" return getColumnText(instructorRow, INSTRUCTOR_COL_COURSE_ID);"},{"lineNumber":312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"-"},"content":" public String getInstructorName(WebElement instructorRow) {"},{"lineNumber":315,"author":{"gitId":"-"},"content":" return getColumnText(instructorRow, INSTRUCTOR_COL_NAME);"},{"lineNumber":316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" public String getInstructorGoogleId(WebElement instructorRow) {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" return getColumnText(instructorRow, INSTRUCTOR_COL_GOOGLE_ID);"},{"lineNumber":320,"author":{"gitId":"-"},"content":" }"},{"lineNumber":321,"author":{"gitId":"-"},"content":""},{"lineNumber":322,"author":{"gitId":"-"},"content":" public String getInstructorHomePageLink(WebElement instructorRow) {"},{"lineNumber":323,"author":{"gitId":"-"},"content":" return getColumnLink(instructorRow, INSTRUCTOR_COL_GOOGLE_ID);"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" public String getInstructorInstitute(WebElement instructorRow) {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" return getColumnText(instructorRow, INSTRUCTOR_COL_INSTITUTE);"},{"lineNumber":328,"author":{"gitId":"-"},"content":" }"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" public String getInstructorManageAccountLink(WebElement instructorRow) {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" return getColumnLink(instructorRow, INSTRUCTOR_COL_OPTIONS);"},{"lineNumber":332,"author":{"gitId":"-"},"content":" }"},{"lineNumber":333,"author":{"gitId":"-"},"content":""},{"lineNumber":334,"author":{"gitId":"-"},"content":" public String getInstructorEmail(WebElement instructorRow) {"},{"lineNumber":335,"author":{"gitId":"-"},"content":" return getExpandedRowInputValue(instructorRow, EXPANDED_ROWS_HEADER_EMAIL);"},{"lineNumber":336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" public String getInstructorJoinLink(WebElement instructorRow) {"},{"lineNumber":339,"author":{"gitId":"-"},"content":" return getExpandedRowInputValue(instructorRow, EXPANDED_ROWS_HEADER_COURSE_JOIN_LINK);"},{"lineNumber":340,"author":{"gitId":"-"},"content":" }"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"domoberzin"},"content":" public String getInstructorJoinLink(Instructor instructor) {"},{"lineNumber":343,"author":{"gitId":"domoberzin"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":344,"author":{"gitId":"domoberzin"},"content":" return getInstructorJoinLink(instructorRow);"},{"lineNumber":345,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":346,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":" public String getInstructorJoinLink(InstructorAttributes instructor) {"},{"lineNumber":348,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":349,"author":{"gitId":"-"},"content":" return getInstructorJoinLink(instructorRow);"},{"lineNumber":350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"domoberzin"},"content":" public void resetInstructorGoogleId(Instructor instructor) {"},{"lineNumber":353,"author":{"gitId":"domoberzin"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":354,"author":{"gitId":"domoberzin"},"content":" WebElement link \u003d instructorRow.findElement(By.linkText(LINK_TEXT_RESET_GOOGLE_ID));"},{"lineNumber":355,"author":{"gitId":"domoberzin"},"content":" link.click();"},{"lineNumber":356,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":357,"author":{"gitId":"domoberzin"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":358,"author":{"gitId":"domoberzin"},"content":" waitForElementStaleness(link);"},{"lineNumber":359,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":360,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":361,"author":{"gitId":"-"},"content":" public void resetInstructorGoogleId(InstructorAttributes instructor) {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":363,"author":{"gitId":"-"},"content":" WebElement link \u003d instructorRow.findElement(By.linkText(LINK_TEXT_RESET_GOOGLE_ID));"},{"lineNumber":364,"author":{"gitId":"-"},"content":" link.click();"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":367,"author":{"gitId":"-"},"content":" waitForElementStaleness(link);"},{"lineNumber":368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":369,"author":{"gitId":"-"},"content":""},{"lineNumber":370,"author":{"gitId":"-"},"content":" public WebElement getAccountRequestRow(AccountRequestAttributes accountRequest) {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" String email \u003d accountRequest.getEmail();"},{"lineNumber":372,"author":{"gitId":"-"},"content":" String institute \u003d accountRequest.getInstitute();"},{"lineNumber":373,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d browser.driver.findElements(By.cssSelector(\"#search-table-account-request tbody tr\"));"},{"lineNumber":374,"author":{"gitId":"-"},"content":" for (WebElement row : rows) {"},{"lineNumber":375,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e columns \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":376,"author":{"gitId":"-"},"content":" if (removeSpanFromText(columns.get(ACCOUNT_REQUEST_COL_EMAIL - 1)"},{"lineNumber":377,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(email)"},{"lineNumber":378,"author":{"gitId":"-"},"content":" \u0026\u0026 removeSpanFromText(columns.get(ACCOUNT_REQUEST_COL_INSTITUTE - 1)"},{"lineNumber":379,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(institute)) {"},{"lineNumber":380,"author":{"gitId":"-"},"content":" return row;"},{"lineNumber":381,"author":{"gitId":"-"},"content":" }"},{"lineNumber":382,"author":{"gitId":"-"},"content":" }"},{"lineNumber":383,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"domoberzin"},"content":" public WebElement getAccountRequestRow(AccountRequest accountRequest) {"},{"lineNumber":387,"author":{"gitId":"domoberzin"},"content":" String email \u003d accountRequest.getEmail();"},{"lineNumber":388,"author":{"gitId":"domoberzin"},"content":" String institute \u003d accountRequest.getInstitute();"},{"lineNumber":389,"author":{"gitId":"domoberzin"},"content":" List\u003cWebElement\u003e rows \u003d browser.driver.findElements(By.cssSelector(\"#search-table-account-request tbody tr\"));"},{"lineNumber":390,"author":{"gitId":"domoberzin"},"content":" for (WebElement row : rows) {"},{"lineNumber":391,"author":{"gitId":"domoberzin"},"content":" List\u003cWebElement\u003e columns \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":392,"author":{"gitId":"domoberzin"},"content":" if (removeSpanFromText(columns.get(ACCOUNT_REQUEST_COL_EMAIL - 1)"},{"lineNumber":393,"author":{"gitId":"domoberzin"},"content":" .getAttribute(\"innerHTML\")).contains(email)"},{"lineNumber":394,"author":{"gitId":"domoberzin"},"content":" \u0026\u0026 removeSpanFromText(columns.get(ACCOUNT_REQUEST_COL_INSTITUTE - 1)"},{"lineNumber":395,"author":{"gitId":"domoberzin"},"content":" .getAttribute(\"innerHTML\")).contains(institute)) {"},{"lineNumber":396,"author":{"gitId":"domoberzin"},"content":" return row;"},{"lineNumber":397,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":398,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":399,"author":{"gitId":"domoberzin"},"content":" return null;"},{"lineNumber":400,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":401,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":402,"author":{"gitId":"-"},"content":" public String getAccountRequestName(WebElement accountRequestRow) {"},{"lineNumber":403,"author":{"gitId":"-"},"content":" return getColumnText(accountRequestRow, ACCOUNT_REQUEST_COL_NAME);"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" public String getAccountRequestEmail(WebElement accountRequestRow) {"},{"lineNumber":407,"author":{"gitId":"-"},"content":" return getColumnText(accountRequestRow, ACCOUNT_REQUEST_COL_EMAIL);"},{"lineNumber":408,"author":{"gitId":"-"},"content":" }"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" public String getAccountRequestInstitute(WebElement accountRequestRow) {"},{"lineNumber":411,"author":{"gitId":"-"},"content":" return getColumnText(accountRequestRow, ACCOUNT_REQUEST_COL_INSTITUTE);"},{"lineNumber":412,"author":{"gitId":"-"},"content":" }"},{"lineNumber":413,"author":{"gitId":"-"},"content":""},{"lineNumber":414,"author":{"gitId":"-"},"content":" public String getAccountRequestCreatedAt(WebElement accountRequestRow) {"},{"lineNumber":415,"author":{"gitId":"-"},"content":" return getColumnText(accountRequestRow, ACCOUNT_REQUEST_COL_CREATED_AT);"},{"lineNumber":416,"author":{"gitId":"-"},"content":" }"},{"lineNumber":417,"author":{"gitId":"-"},"content":""},{"lineNumber":418,"author":{"gitId":"-"},"content":" public String getAccountRequestRegisteredAt(WebElement accountRequestRow) {"},{"lineNumber":419,"author":{"gitId":"-"},"content":" return getColumnText(accountRequestRow, ACCOUNT_REQUEST_COL_REGISTERED_AT);"},{"lineNumber":420,"author":{"gitId":"-"},"content":" }"},{"lineNumber":421,"author":{"gitId":"-"},"content":""},{"lineNumber":422,"author":{"gitId":"-"},"content":" public String getAccountRequestRegistrationLink(WebElement accountRequestRow) {"},{"lineNumber":423,"author":{"gitId":"-"},"content":" return getExpandedRowInputValue(accountRequestRow, EXPANDED_ROWS_HEADER_ACCOUNT_REGISTRATION_LINK);"},{"lineNumber":424,"author":{"gitId":"-"},"content":" }"},{"lineNumber":425,"author":{"gitId":"-"},"content":""},{"lineNumber":426,"author":{"gitId":"-"},"content":" public void clickDeleteAccountRequestButton(AccountRequestAttributes accountRequest) {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":428,"author":{"gitId":"-"},"content":" WebElement deleteButton \u003d accountRequestRow.findElement(By.cssSelector(\"[id^\u003d\u0027delete-account-request-\u0027]\"));"},{"lineNumber":429,"author":{"gitId":"-"},"content":" deleteButton.click();"},{"lineNumber":430,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":431,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":432,"author":{"gitId":"-"},"content":" }"},{"lineNumber":433,"author":{"gitId":"-"},"content":""},{"lineNumber":434,"author":{"gitId":"domoberzin"},"content":" public void clickDeleteAccountRequestButton(AccountRequest accountRequest) {"},{"lineNumber":435,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":436,"author":{"gitId":"domoberzin"},"content":" WebElement deleteButton \u003d accountRequestRow.findElement(By.cssSelector(\"[id^\u003d\u0027delete-account-request-\u0027]\"));"},{"lineNumber":437,"author":{"gitId":"domoberzin"},"content":" deleteButton.click();"},{"lineNumber":438,"author":{"gitId":"domoberzin"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":439,"author":{"gitId":"domoberzin"},"content":" waitForPageToLoad();"},{"lineNumber":440,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":441,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":442,"author":{"gitId":"-"},"content":" public void clickResetAccountRequestButton(AccountRequestAttributes accountRequest) {"},{"lineNumber":443,"author":{"gitId":"-"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":444,"author":{"gitId":"-"},"content":" WebElement deleteButton \u003d accountRequestRow.findElement(By.cssSelector(\"[id^\u003d\u0027reset-account-request-\u0027]\"));"},{"lineNumber":445,"author":{"gitId":"-"},"content":" deleteButton.click();"},{"lineNumber":446,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":447,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":448,"author":{"gitId":"-"},"content":" }"},{"lineNumber":449,"author":{"gitId":"-"},"content":""},{"lineNumber":450,"author":{"gitId":"domoberzin"},"content":" public void clickResetAccountRequestButton(AccountRequest accountRequest) {"},{"lineNumber":451,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":452,"author":{"gitId":"domoberzin"},"content":" WebElement deleteButton \u003d accountRequestRow.findElement(By.cssSelector(\"[id^\u003d\u0027reset-account-request-\u0027]\"));"},{"lineNumber":453,"author":{"gitId":"domoberzin"},"content":" deleteButton.click();"},{"lineNumber":454,"author":{"gitId":"domoberzin"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":455,"author":{"gitId":"domoberzin"},"content":" waitForPageToLoad();"},{"lineNumber":456,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":457,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":458,"author":{"gitId":"-"},"content":" public int getNumExpandedRows(WebElement row) {"},{"lineNumber":459,"author":{"gitId":"-"},"content":" String xpath \u003d \"following-sibling::tr[1]/td/ul/li\";"},{"lineNumber":460,"author":{"gitId":"-"},"content":" return row.findElements(By.xpath(xpath)).size();"},{"lineNumber":461,"author":{"gitId":"-"},"content":" }"},{"lineNumber":462,"author":{"gitId":"-"},"content":""},{"lineNumber":463,"author":{"gitId":"-"},"content":" private String getColumnText(WebElement row, int columnNum) {"},{"lineNumber":464,"author":{"gitId":"-"},"content":" String xpath \u003d String.format(\"td[%d]\", columnNum);"},{"lineNumber":465,"author":{"gitId":"-"},"content":" return row.findElement(By.xpath(xpath)).getText();"},{"lineNumber":466,"author":{"gitId":"-"},"content":" }"},{"lineNumber":467,"author":{"gitId":"-"},"content":""},{"lineNumber":468,"author":{"gitId":"-"},"content":" private String getColumnLink(WebElement row, int columnNum) {"},{"lineNumber":469,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":470,"author":{"gitId":"-"},"content":" String xpath \u003d String.format(\"td[%d]/a\", columnNum);"},{"lineNumber":471,"author":{"gitId":"-"},"content":" return row.findElement(By.xpath(xpath)).getAttribute(\"href\");"},{"lineNumber":472,"author":{"gitId":"-"},"content":" } catch (NoSuchElementException e) {"},{"lineNumber":473,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":474,"author":{"gitId":"-"},"content":" }"},{"lineNumber":475,"author":{"gitId":"-"},"content":" }"},{"lineNumber":476,"author":{"gitId":"-"},"content":""},{"lineNumber":477,"author":{"gitId":"-"},"content":" private String getExpandedRowInputValue(WebElement row, String rowHeader) {"},{"lineNumber":478,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":479,"author":{"gitId":"-"},"content":" String xpath \u003d String.format(\"following-sibling::tr[1]/td/ul/li[contains(., \u0027%s\u0027)]/input\", rowHeader);"},{"lineNumber":480,"author":{"gitId":"-"},"content":" return row.findElement(By.xpath(xpath)).getAttribute(\"value\");"},{"lineNumber":481,"author":{"gitId":"-"},"content":" } catch (NoSuchElementException e) {"},{"lineNumber":482,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":483,"author":{"gitId":"-"},"content":" }"},{"lineNumber":484,"author":{"gitId":"-"},"content":" }"},{"lineNumber":485,"author":{"gitId":"-"},"content":""},{"lineNumber":486,"author":{"gitId":"domoberzin"},"content":" public void verifyStudentRowContent(Student student, Course course,"},{"lineNumber":487,"author":{"gitId":"domoberzin"},"content":" String expectedDetails, String expectedManageAccountLink,"},{"lineNumber":488,"author":{"gitId":"domoberzin"},"content":" String expectedHomePageLink) {"},{"lineNumber":489,"author":{"gitId":"domoberzin"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":490,"author":{"gitId":"domoberzin"},"content":" String actualDetails \u003d getStudentDetails(studentRow);"},{"lineNumber":491,"author":{"gitId":"domoberzin"},"content":" String actualName \u003d getStudentName(studentRow);"},{"lineNumber":492,"author":{"gitId":"domoberzin"},"content":" String actualGoogleId \u003d getStudentGoogleId(studentRow);"},{"lineNumber":493,"author":{"gitId":"domoberzin"},"content":" String actualHomepageLink \u003d getStudentHomeLink(studentRow);"},{"lineNumber":494,"author":{"gitId":"domoberzin"},"content":" String actualInstitute \u003d getStudentInstitute(studentRow);"},{"lineNumber":495,"author":{"gitId":"domoberzin"},"content":" String actualComment \u003d getStudentComments(studentRow);"},{"lineNumber":496,"author":{"gitId":"domoberzin"},"content":" String actualManageAccountLink \u003d getStudentManageAccountLink(studentRow);"},{"lineNumber":497,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":498,"author":{"gitId":"domoberzin"},"content":" String expectedName \u003d student.getName();"},{"lineNumber":499,"author":{"gitId":"domoberzin"},"content":" String expectedGoogleId \u003d StringHelper.convertToEmptyStringIfNull(student.getGoogleId());"},{"lineNumber":500,"author":{"gitId":"domoberzin"},"content":" String expectedInstitute \u003d StringHelper.convertToEmptyStringIfNull(course.getInstitute());"},{"lineNumber":501,"author":{"gitId":"domoberzin"},"content":" String expectedComment \u003d StringHelper.convertToEmptyStringIfNull(student.getComments());"},{"lineNumber":502,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":503,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedDetails, actualDetails);"},{"lineNumber":504,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedName, actualName);"},{"lineNumber":505,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedGoogleId, actualGoogleId);"},{"lineNumber":506,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedInstitute, actualInstitute);"},{"lineNumber":507,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedComment, actualComment);"},{"lineNumber":508,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedManageAccountLink, actualManageAccountLink);"},{"lineNumber":509,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedHomePageLink, actualHomepageLink);"},{"lineNumber":510,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":511,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":512,"author":{"gitId":"-"},"content":" public void verifyStudentRowContent(StudentAttributes student, CourseAttributes course,"},{"lineNumber":513,"author":{"gitId":"-"},"content":" String expectedDetails, String expectedManageAccountLink,"},{"lineNumber":514,"author":{"gitId":"-"},"content":" String expectedHomePageLink) {"},{"lineNumber":515,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":516,"author":{"gitId":"-"},"content":" String actualDetails \u003d getStudentDetails(studentRow);"},{"lineNumber":517,"author":{"gitId":"-"},"content":" String actualName \u003d getStudentName(studentRow);"},{"lineNumber":518,"author":{"gitId":"-"},"content":" String actualGoogleId \u003d getStudentGoogleId(studentRow);"},{"lineNumber":519,"author":{"gitId":"-"},"content":" String actualHomepageLink \u003d getStudentHomeLink(studentRow);"},{"lineNumber":520,"author":{"gitId":"-"},"content":" String actualInstitute \u003d getStudentInstitute(studentRow);"},{"lineNumber":521,"author":{"gitId":"-"},"content":" String actualComment \u003d getStudentComments(studentRow);"},{"lineNumber":522,"author":{"gitId":"-"},"content":" String actualManageAccountLink \u003d getStudentManageAccountLink(studentRow);"},{"lineNumber":523,"author":{"gitId":"-"},"content":""},{"lineNumber":524,"author":{"gitId":"-"},"content":" String expectedName \u003d student.getName();"},{"lineNumber":525,"author":{"gitId":"-"},"content":" String expectedGoogleId \u003d StringHelper.convertToEmptyStringIfNull(student.getGoogleId());"},{"lineNumber":526,"author":{"gitId":"-"},"content":" String expectedInstitute \u003d StringHelper.convertToEmptyStringIfNull(course.getInstitute());"},{"lineNumber":527,"author":{"gitId":"-"},"content":" String expectedComment \u003d StringHelper.convertToEmptyStringIfNull(student.getComments());"},{"lineNumber":528,"author":{"gitId":"-"},"content":""},{"lineNumber":529,"author":{"gitId":"-"},"content":" assertEquals(expectedDetails, actualDetails);"},{"lineNumber":530,"author":{"gitId":"-"},"content":" assertEquals(expectedName, actualName);"},{"lineNumber":531,"author":{"gitId":"-"},"content":" assertEquals(expectedGoogleId, actualGoogleId);"},{"lineNumber":532,"author":{"gitId":"-"},"content":" assertEquals(expectedInstitute, actualInstitute);"},{"lineNumber":533,"author":{"gitId":"-"},"content":" assertEquals(expectedComment, actualComment);"},{"lineNumber":534,"author":{"gitId":"-"},"content":" assertEquals(expectedManageAccountLink, actualManageAccountLink);"},{"lineNumber":535,"author":{"gitId":"-"},"content":" assertEquals(expectedHomePageLink, actualHomepageLink);"},{"lineNumber":536,"author":{"gitId":"-"},"content":" }"},{"lineNumber":537,"author":{"gitId":"-"},"content":""},{"lineNumber":538,"author":{"gitId":"domoberzin"},"content":" public void verifyStudentRowContentAfterReset(Student student, Course course) {"},{"lineNumber":539,"author":{"gitId":"domoberzin"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":540,"author":{"gitId":"domoberzin"},"content":" String actualName \u003d getStudentName(studentRow);"},{"lineNumber":541,"author":{"gitId":"domoberzin"},"content":" String actualInstitute \u003d getStudentInstitute(studentRow);"},{"lineNumber":542,"author":{"gitId":"domoberzin"},"content":" String actualComment \u003d getStudentComments(studentRow);"},{"lineNumber":543,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":544,"author":{"gitId":"domoberzin"},"content":" String expectedName \u003d student.getName();"},{"lineNumber":545,"author":{"gitId":"domoberzin"},"content":" String expectedInstitute \u003d StringHelper.convertToEmptyStringIfNull(course.getInstitute());"},{"lineNumber":546,"author":{"gitId":"domoberzin"},"content":" String expectedComment \u003d StringHelper.convertToEmptyStringIfNull(student.getComments());"},{"lineNumber":547,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":548,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedName, actualName);"},{"lineNumber":549,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedInstitute, actualInstitute);"},{"lineNumber":550,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedComment, actualComment);"},{"lineNumber":551,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":552,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":553,"author":{"gitId":"domoberzin"},"content":" public void verifyStudentExpandedLinks(Student student, int expectedNumExpandedRows) {"},{"lineNumber":554,"author":{"gitId":"domoberzin"},"content":" clickExpandStudentLinks();"},{"lineNumber":555,"author":{"gitId":"domoberzin"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":556,"author":{"gitId":"domoberzin"},"content":" String actualEmail \u003d getStudentEmail(studentRow);"},{"lineNumber":557,"author":{"gitId":"domoberzin"},"content":" String actualJoinLink \u003d getStudentJoinLink(studentRow);"},{"lineNumber":558,"author":{"gitId":"domoberzin"},"content":" int actualNumExpandedRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":559,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":560,"author":{"gitId":"domoberzin"},"content":" String expectedEmail \u003d student.getEmail();"},{"lineNumber":561,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":562,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedEmail, actualEmail);"},{"lineNumber":563,"author":{"gitId":"domoberzin"},"content":" assertNotEquals(\"\", actualJoinLink);"},{"lineNumber":564,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedNumExpandedRows, actualNumExpandedRows);"},{"lineNumber":565,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":566,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":567,"author":{"gitId":"-"},"content":" public void verifyStudentExpandedLinks(StudentAttributes student, int expectedNumExpandedRows) {"},{"lineNumber":568,"author":{"gitId":"-"},"content":" clickExpandStudentLinks();"},{"lineNumber":569,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":570,"author":{"gitId":"-"},"content":" String actualEmail \u003d getStudentEmail(studentRow);"},{"lineNumber":571,"author":{"gitId":"-"},"content":" String actualJoinLink \u003d getStudentJoinLink(studentRow);"},{"lineNumber":572,"author":{"gitId":"-"},"content":" int actualNumExpandedRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":573,"author":{"gitId":"-"},"content":""},{"lineNumber":574,"author":{"gitId":"-"},"content":" String expectedEmail \u003d student.getEmail();"},{"lineNumber":575,"author":{"gitId":"-"},"content":""},{"lineNumber":576,"author":{"gitId":"-"},"content":" assertEquals(expectedEmail, actualEmail);"},{"lineNumber":577,"author":{"gitId":"-"},"content":" assertNotEquals(\"\", actualJoinLink);"},{"lineNumber":578,"author":{"gitId":"-"},"content":" assertEquals(expectedNumExpandedRows, actualNumExpandedRows);"},{"lineNumber":579,"author":{"gitId":"-"},"content":" }"},{"lineNumber":580,"author":{"gitId":"-"},"content":""},{"lineNumber":581,"author":{"gitId":"domoberzin"},"content":" public void verifyInstructorRowContent(Instructor instructor, Course course,"},{"lineNumber":582,"author":{"gitId":"domoberzin"},"content":" String expectedManageAccountLink, String expectedHomePageLink) {"},{"lineNumber":583,"author":{"gitId":"domoberzin"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":584,"author":{"gitId":"domoberzin"},"content":" String actualCourseId \u003d getInstructorCourseId(instructorRow);"},{"lineNumber":585,"author":{"gitId":"domoberzin"},"content":" String actualName \u003d getInstructorName(instructorRow);"},{"lineNumber":586,"author":{"gitId":"domoberzin"},"content":" String actualGoogleId \u003d getInstructorGoogleId(instructorRow);"},{"lineNumber":587,"author":{"gitId":"domoberzin"},"content":" String actualHomePageLink \u003d getInstructorHomePageLink(instructorRow);"},{"lineNumber":588,"author":{"gitId":"domoberzin"},"content":" String actualInstitute \u003d getInstructorInstitute(instructorRow);"},{"lineNumber":589,"author":{"gitId":"domoberzin"},"content":" String actualManageAccountLink \u003d getInstructorManageAccountLink(instructorRow);"},{"lineNumber":590,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":591,"author":{"gitId":"domoberzin"},"content":" String expectedCourseId \u003d instructor.getCourseId();"},{"lineNumber":592,"author":{"gitId":"domoberzin"},"content":" String expectedName \u003d instructor.getName();"},{"lineNumber":593,"author":{"gitId":"domoberzin"},"content":" String expectedGoogleId \u003d StringHelper.convertToEmptyStringIfNull(instructor.getGoogleId());"},{"lineNumber":594,"author":{"gitId":"domoberzin"},"content":" String expectedInstitute \u003d StringHelper.convertToEmptyStringIfNull(course.getInstitute());"},{"lineNumber":595,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":596,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedCourseId, actualCourseId);"},{"lineNumber":597,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedName, actualName);"},{"lineNumber":598,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedGoogleId, actualGoogleId);"},{"lineNumber":599,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedHomePageLink, actualHomePageLink);"},{"lineNumber":600,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedInstitute, actualInstitute);"},{"lineNumber":601,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedManageAccountLink, actualManageAccountLink);"},{"lineNumber":602,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":603,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":604,"author":{"gitId":"-"},"content":" public void verifyInstructorRowContent(InstructorAttributes instructor, CourseAttributes course,"},{"lineNumber":605,"author":{"gitId":"-"},"content":" String expectedManageAccountLink, String expectedHomePageLink) {"},{"lineNumber":606,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":607,"author":{"gitId":"-"},"content":" String actualCourseId \u003d getInstructorCourseId(instructorRow);"},{"lineNumber":608,"author":{"gitId":"-"},"content":" String actualName \u003d getInstructorName(instructorRow);"},{"lineNumber":609,"author":{"gitId":"-"},"content":" String actualGoogleId \u003d getInstructorGoogleId(instructorRow);"},{"lineNumber":610,"author":{"gitId":"-"},"content":" String actualHomePageLink \u003d getInstructorHomePageLink(instructorRow);"},{"lineNumber":611,"author":{"gitId":"-"},"content":" String actualInstitute \u003d getInstructorInstitute(instructorRow);"},{"lineNumber":612,"author":{"gitId":"-"},"content":" String actualManageAccountLink \u003d getInstructorManageAccountLink(instructorRow);"},{"lineNumber":613,"author":{"gitId":"-"},"content":""},{"lineNumber":614,"author":{"gitId":"-"},"content":" String expectedCourseId \u003d instructor.getCourseId();"},{"lineNumber":615,"author":{"gitId":"-"},"content":" String expectedName \u003d instructor.getName();"},{"lineNumber":616,"author":{"gitId":"-"},"content":" String expectedGoogleId \u003d StringHelper.convertToEmptyStringIfNull(instructor.getGoogleId());"},{"lineNumber":617,"author":{"gitId":"-"},"content":" String expectedInstitute \u003d StringHelper.convertToEmptyStringIfNull(course.getInstitute());"},{"lineNumber":618,"author":{"gitId":"-"},"content":""},{"lineNumber":619,"author":{"gitId":"-"},"content":" assertEquals(expectedCourseId, actualCourseId);"},{"lineNumber":620,"author":{"gitId":"-"},"content":" assertEquals(expectedName, actualName);"},{"lineNumber":621,"author":{"gitId":"-"},"content":" assertEquals(expectedGoogleId, actualGoogleId);"},{"lineNumber":622,"author":{"gitId":"-"},"content":" assertEquals(expectedHomePageLink, actualHomePageLink);"},{"lineNumber":623,"author":{"gitId":"-"},"content":" assertEquals(expectedInstitute, actualInstitute);"},{"lineNumber":624,"author":{"gitId":"-"},"content":" assertEquals(expectedManageAccountLink, actualManageAccountLink);"},{"lineNumber":625,"author":{"gitId":"-"},"content":" }"},{"lineNumber":626,"author":{"gitId":"-"},"content":""},{"lineNumber":627,"author":{"gitId":"domoberzin"},"content":" public void verifyInstructorRowContentAfterReset(Instructor instructor, Course course) {"},{"lineNumber":628,"author":{"gitId":"domoberzin"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":629,"author":{"gitId":"domoberzin"},"content":" String actualCourseId \u003d getInstructorCourseId(instructorRow);"},{"lineNumber":630,"author":{"gitId":"domoberzin"},"content":" String actualName \u003d getInstructorName(instructorRow);"},{"lineNumber":631,"author":{"gitId":"domoberzin"},"content":" String actualInstitute \u003d getInstructorInstitute(instructorRow);"},{"lineNumber":632,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":633,"author":{"gitId":"domoberzin"},"content":" String expectedCourseId \u003d instructor.getCourseId();"},{"lineNumber":634,"author":{"gitId":"domoberzin"},"content":" String expectedName \u003d instructor.getName();"},{"lineNumber":635,"author":{"gitId":"domoberzin"},"content":" String expectedInstitute \u003d StringHelper.convertToEmptyStringIfNull(course.getInstitute());"},{"lineNumber":636,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":637,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedCourseId, actualCourseId);"},{"lineNumber":638,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedName, actualName);"},{"lineNumber":639,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedInstitute, actualInstitute);"},{"lineNumber":640,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":641,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":642,"author":{"gitId":"domoberzin"},"content":" public void verifyInstructorExpandedLinks(Instructor instructor) {"},{"lineNumber":643,"author":{"gitId":"domoberzin"},"content":" clickExpandInstructorLinks();"},{"lineNumber":644,"author":{"gitId":"domoberzin"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":645,"author":{"gitId":"domoberzin"},"content":" String actualEmail \u003d getInstructorEmail(instructorRow);"},{"lineNumber":646,"author":{"gitId":"domoberzin"},"content":" String actualJoinLink \u003d getInstructorJoinLink(instructorRow);"},{"lineNumber":647,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":648,"author":{"gitId":"domoberzin"},"content":" String expectedEmail \u003d instructor.getEmail();"},{"lineNumber":649,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":650,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedEmail, actualEmail);"},{"lineNumber":651,"author":{"gitId":"domoberzin"},"content":" assertNotEquals(\"\", actualJoinLink);"},{"lineNumber":652,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":653,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":654,"author":{"gitId":"-"},"content":" public void verifyInstructorExpandedLinks(InstructorAttributes instructor) {"},{"lineNumber":655,"author":{"gitId":"-"},"content":" clickExpandInstructorLinks();"},{"lineNumber":656,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":657,"author":{"gitId":"-"},"content":" String actualEmail \u003d getInstructorEmail(instructorRow);"},{"lineNumber":658,"author":{"gitId":"-"},"content":" String actualJoinLink \u003d getInstructorJoinLink(instructorRow);"},{"lineNumber":659,"author":{"gitId":"-"},"content":""},{"lineNumber":660,"author":{"gitId":"-"},"content":" String expectedEmail \u003d instructor.getEmail();"},{"lineNumber":661,"author":{"gitId":"-"},"content":""},{"lineNumber":662,"author":{"gitId":"-"},"content":" assertEquals(expectedEmail, actualEmail);"},{"lineNumber":663,"author":{"gitId":"-"},"content":" assertNotEquals(\"\", actualJoinLink);"},{"lineNumber":664,"author":{"gitId":"-"},"content":" }"},{"lineNumber":665,"author":{"gitId":"-"},"content":""},{"lineNumber":666,"author":{"gitId":"-"},"content":" public void verifyAccountRequestRowContent(AccountRequestAttributes accountRequest) {"},{"lineNumber":667,"author":{"gitId":"-"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":668,"author":{"gitId":"-"},"content":" String actualName \u003d getAccountRequestName(accountRequestRow);"},{"lineNumber":669,"author":{"gitId":"-"},"content":" String actualEmail \u003d getAccountRequestEmail(accountRequestRow);"},{"lineNumber":670,"author":{"gitId":"-"},"content":" String actualInstitute \u003d getAccountRequestInstitute(accountRequestRow);"},{"lineNumber":671,"author":{"gitId":"-"},"content":" String actualCreatedAt \u003d getAccountRequestCreatedAt(accountRequestRow);"},{"lineNumber":672,"author":{"gitId":"-"},"content":" String actualRegisteredAt \u003d getAccountRequestRegisteredAt(accountRequestRow);"},{"lineNumber":673,"author":{"gitId":"-"},"content":""},{"lineNumber":674,"author":{"gitId":"-"},"content":" assertEquals(accountRequest.getName(), actualName);"},{"lineNumber":675,"author":{"gitId":"-"},"content":" assertEquals(accountRequest.getEmail(), actualEmail);"},{"lineNumber":676,"author":{"gitId":"-"},"content":" assertEquals(accountRequest.getInstitute(), actualInstitute);"},{"lineNumber":677,"author":{"gitId":"-"},"content":" assertFalse(actualCreatedAt.isBlank());"},{"lineNumber":678,"author":{"gitId":"-"},"content":" if (accountRequest.getRegisteredAt() \u003d\u003d null) {"},{"lineNumber":679,"author":{"gitId":"-"},"content":" assertEquals(\"Not Registered Yet\", actualRegisteredAt);"},{"lineNumber":680,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":681,"author":{"gitId":"-"},"content":" assertFalse(actualRegisteredAt.isBlank());"},{"lineNumber":682,"author":{"gitId":"-"},"content":" }"},{"lineNumber":683,"author":{"gitId":"-"},"content":" }"},{"lineNumber":684,"author":{"gitId":"-"},"content":""},{"lineNumber":685,"author":{"gitId":"domoberzin"},"content":" public void verifyAccountRequestRowContent(AccountRequest accountRequest) {"},{"lineNumber":686,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":687,"author":{"gitId":"domoberzin"},"content":" String actualName \u003d getAccountRequestName(accountRequestRow);"},{"lineNumber":688,"author":{"gitId":"domoberzin"},"content":" String actualEmail \u003d getAccountRequestEmail(accountRequestRow);"},{"lineNumber":689,"author":{"gitId":"domoberzin"},"content":" String actualInstitute \u003d getAccountRequestInstitute(accountRequestRow);"},{"lineNumber":690,"author":{"gitId":"domoberzin"},"content":" String actualCreatedAt \u003d getAccountRequestCreatedAt(accountRequestRow);"},{"lineNumber":691,"author":{"gitId":"domoberzin"},"content":" String actualRegisteredAt \u003d getAccountRequestRegisteredAt(accountRequestRow);"},{"lineNumber":692,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":693,"author":{"gitId":"domoberzin"},"content":" assertEquals(accountRequest.getName(), actualName);"},{"lineNumber":694,"author":{"gitId":"domoberzin"},"content":" assertEquals(accountRequest.getEmail(), actualEmail);"},{"lineNumber":695,"author":{"gitId":"domoberzin"},"content":" assertEquals(accountRequest.getInstitute(), actualInstitute);"},{"lineNumber":696,"author":{"gitId":"domoberzin"},"content":" assertFalse(actualCreatedAt.isBlank());"},{"lineNumber":697,"author":{"gitId":"domoberzin"},"content":" if (accountRequest.getRegisteredAt() \u003d\u003d null) {"},{"lineNumber":698,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"Not Registered Yet\", actualRegisteredAt);"},{"lineNumber":699,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":700,"author":{"gitId":"domoberzin"},"content":" assertFalse(actualRegisteredAt.isBlank());"},{"lineNumber":701,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":702,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":703,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":704,"author":{"gitId":"-"},"content":" public void verifyAccountRequestExpandedLinks(AccountRequestAttributes accountRequest) {"},{"lineNumber":705,"author":{"gitId":"-"},"content":" clickExpandAccountRequestLinks();"},{"lineNumber":706,"author":{"gitId":"-"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":707,"author":{"gitId":"-"},"content":" String actualRegistrationLink \u003d getAccountRequestRegistrationLink(accountRequestRow);"},{"lineNumber":708,"author":{"gitId":"-"},"content":""},{"lineNumber":709,"author":{"gitId":"-"},"content":" assertFalse(actualRegistrationLink.isBlank());"},{"lineNumber":710,"author":{"gitId":"-"},"content":" }"},{"lineNumber":711,"author":{"gitId":"-"},"content":""},{"lineNumber":712,"author":{"gitId":"domoberzin"},"content":" public void verifyAccountRequestExpandedLinks(AccountRequest accountRequest) {"},{"lineNumber":713,"author":{"gitId":"domoberzin"},"content":" clickExpandAccountRequestLinks();"},{"lineNumber":714,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":715,"author":{"gitId":"domoberzin"},"content":" String actualRegistrationLink \u003d getAccountRequestRegistrationLink(accountRequestRow);"},{"lineNumber":716,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":717,"author":{"gitId":"domoberzin"},"content":" assertFalse(actualRegistrationLink.isBlank());"},{"lineNumber":718,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":719,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":720,"author":{"gitId":"domoberzin"},"content":" public void verifyLinkExpansionButtons(Student student,"},{"lineNumber":721,"author":{"gitId":"domoberzin"},"content":" Instructor instructor, AccountRequest accountRequest) {"},{"lineNumber":722,"author":{"gitId":"domoberzin"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":723,"author":{"gitId":"domoberzin"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":724,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":725,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":726,"author":{"gitId":"domoberzin"},"content":" clickExpandStudentLinks();"},{"lineNumber":727,"author":{"gitId":"domoberzin"},"content":" clickExpandInstructorLinks();"},{"lineNumber":728,"author":{"gitId":"domoberzin"},"content":" clickExpandAccountRequestLinks();"},{"lineNumber":729,"author":{"gitId":"domoberzin"},"content":" int numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":730,"author":{"gitId":"domoberzin"},"content":" int numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":731,"author":{"gitId":"domoberzin"},"content":" int numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":732,"author":{"gitId":"domoberzin"},"content":" assertNotEquals(numExpandedStudentRows, 0);"},{"lineNumber":733,"author":{"gitId":"domoberzin"},"content":" assertNotEquals(numExpandedInstructorRows, 0);"},{"lineNumber":734,"author":{"gitId":"domoberzin"},"content":" assertNotEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":735,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":736,"author":{"gitId":"domoberzin"},"content":" clickCollapseInstructorLinks();"},{"lineNumber":737,"author":{"gitId":"domoberzin"},"content":" numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":738,"author":{"gitId":"domoberzin"},"content":" numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":739,"author":{"gitId":"domoberzin"},"content":" numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":740,"author":{"gitId":"domoberzin"},"content":" assertNotEquals(numExpandedStudentRows, 0);"},{"lineNumber":741,"author":{"gitId":"domoberzin"},"content":" assertEquals(numExpandedInstructorRows, 0);"},{"lineNumber":742,"author":{"gitId":"domoberzin"},"content":" assertNotEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":743,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":744,"author":{"gitId":"domoberzin"},"content":" clickExpandInstructorLinks();"},{"lineNumber":745,"author":{"gitId":"domoberzin"},"content":" clickCollapseStudentLinks();"},{"lineNumber":746,"author":{"gitId":"domoberzin"},"content":" clickCollapseAccountRequestLinks();"},{"lineNumber":747,"author":{"gitId":"domoberzin"},"content":" waitUntilAnimationFinish();"},{"lineNumber":748,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":749,"author":{"gitId":"domoberzin"},"content":" numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":750,"author":{"gitId":"domoberzin"},"content":" numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":751,"author":{"gitId":"domoberzin"},"content":" numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":752,"author":{"gitId":"domoberzin"},"content":" assertEquals(numExpandedStudentRows, 0);"},{"lineNumber":753,"author":{"gitId":"domoberzin"},"content":" assertNotEquals(numExpandedInstructorRows, 0);"},{"lineNumber":754,"author":{"gitId":"domoberzin"},"content":" assertEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":755,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":756,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":757,"author":{"gitId":"-"},"content":" public void verifyLinkExpansionButtons(StudentAttributes student,"},{"lineNumber":758,"author":{"gitId":"-"},"content":" InstructorAttributes instructor, AccountRequestAttributes accountRequest) {"},{"lineNumber":759,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":760,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":761,"author":{"gitId":"-"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":762,"author":{"gitId":"-"},"content":""},{"lineNumber":763,"author":{"gitId":"-"},"content":" clickExpandStudentLinks();"},{"lineNumber":764,"author":{"gitId":"-"},"content":" clickExpandInstructorLinks();"},{"lineNumber":765,"author":{"gitId":"-"},"content":" clickExpandAccountRequestLinks();"},{"lineNumber":766,"author":{"gitId":"-"},"content":" int numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":767,"author":{"gitId":"-"},"content":" int numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":768,"author":{"gitId":"-"},"content":" int numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":769,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedStudentRows, 0);"},{"lineNumber":770,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedInstructorRows, 0);"},{"lineNumber":771,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":772,"author":{"gitId":"-"},"content":""},{"lineNumber":773,"author":{"gitId":"-"},"content":" clickCollapseInstructorLinks();"},{"lineNumber":774,"author":{"gitId":"-"},"content":" numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":775,"author":{"gitId":"-"},"content":" numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":776,"author":{"gitId":"-"},"content":" numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":777,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedStudentRows, 0);"},{"lineNumber":778,"author":{"gitId":"-"},"content":" assertEquals(numExpandedInstructorRows, 0);"},{"lineNumber":779,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":780,"author":{"gitId":"-"},"content":""},{"lineNumber":781,"author":{"gitId":"-"},"content":" clickExpandInstructorLinks();"},{"lineNumber":782,"author":{"gitId":"-"},"content":" clickCollapseStudentLinks();"},{"lineNumber":783,"author":{"gitId":"-"},"content":" clickCollapseAccountRequestLinks();"},{"lineNumber":784,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish();"},{"lineNumber":785,"author":{"gitId":"-"},"content":""},{"lineNumber":786,"author":{"gitId":"-"},"content":" numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":787,"author":{"gitId":"-"},"content":" numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":788,"author":{"gitId":"-"},"content":" numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":789,"author":{"gitId":"-"},"content":" assertEquals(numExpandedStudentRows, 0);"},{"lineNumber":790,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedInstructorRows, 0);"},{"lineNumber":791,"author":{"gitId":"-"},"content":" assertEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":792,"author":{"gitId":"-"},"content":" }"},{"lineNumber":793,"author":{"gitId":"-"},"content":""},{"lineNumber":794,"author":{"gitId":"domoberzin"},"content":" public void verifyLinkExpansionButtons(StudentAttributes student,"},{"lineNumber":795,"author":{"gitId":"domoberzin"},"content":" InstructorAttributes instructor, AccountRequest accountRequest) {"},{"lineNumber":796,"author":{"gitId":"domoberzin"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":797,"author":{"gitId":"domoberzin"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":798,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":799,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":800,"author":{"gitId":"domoberzin"},"content":" clickExpandStudentLinks();"},{"lineNumber":801,"author":{"gitId":"domoberzin"},"content":" clickExpandInstructorLinks();"},{"lineNumber":802,"author":{"gitId":"domoberzin"},"content":" clickExpandAccountRequestLinks();"},{"lineNumber":803,"author":{"gitId":"domoberzin"},"content":" int numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":804,"author":{"gitId":"domoberzin"},"content":" int numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":805,"author":{"gitId":"-"},"content":" int numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":806,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedStudentRows, 0);"},{"lineNumber":807,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedInstructorRows, 0);"},{"lineNumber":808,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":809,"author":{"gitId":"-"},"content":""},{"lineNumber":810,"author":{"gitId":"-"},"content":" clickCollapseInstructorLinks();"},{"lineNumber":811,"author":{"gitId":"-"},"content":" numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":812,"author":{"gitId":"-"},"content":" numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":813,"author":{"gitId":"-"},"content":" numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":814,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedStudentRows, 0);"},{"lineNumber":815,"author":{"gitId":"-"},"content":" assertEquals(numExpandedInstructorRows, 0);"},{"lineNumber":816,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":817,"author":{"gitId":"-"},"content":""},{"lineNumber":818,"author":{"gitId":"-"},"content":" clickExpandInstructorLinks();"},{"lineNumber":819,"author":{"gitId":"-"},"content":" clickCollapseStudentLinks();"},{"lineNumber":820,"author":{"gitId":"-"},"content":" clickCollapseAccountRequestLinks();"},{"lineNumber":821,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish();"},{"lineNumber":822,"author":{"gitId":"-"},"content":""},{"lineNumber":823,"author":{"gitId":"-"},"content":" numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":824,"author":{"gitId":"-"},"content":" numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":825,"author":{"gitId":"-"},"content":" numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":826,"author":{"gitId":"-"},"content":" assertEquals(numExpandedStudentRows, 0);"},{"lineNumber":827,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedInstructorRows, 0);"},{"lineNumber":828,"author":{"gitId":"-"},"content":" assertEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":829,"author":{"gitId":"-"},"content":" }"},{"lineNumber":830,"author":{"gitId":"-"},"content":""},{"lineNumber":831,"author":{"gitId":"domoberzin"},"content":" public void verifyRegenerateInstructorKey(Instructor instructor, String originalJoinLink) {"},{"lineNumber":832,"author":{"gitId":"domoberzin"},"content":" verifyStatusMessage(\"Instructor\u0027s key for this course has been successfully regenerated,\""},{"lineNumber":833,"author":{"gitId":"-"},"content":" + \" and the email has been sent.\");"},{"lineNumber":834,"author":{"gitId":"-"},"content":""},{"lineNumber":835,"author":{"gitId":"domoberzin"},"content":" String regeneratedJoinLink \u003d getInstructorJoinLink(instructor);"},{"lineNumber":836,"author":{"gitId":"-"},"content":" assertNotEquals(regeneratedJoinLink, originalJoinLink);"},{"lineNumber":837,"author":{"gitId":"-"},"content":" }"},{"lineNumber":838,"author":{"gitId":"-"},"content":""},{"lineNumber":839,"author":{"gitId":"-"},"content":" public void verifyRegenerateInstructorKey(InstructorAttributes instructor, String originalJoinLink) {"},{"lineNumber":840,"author":{"gitId":"-"},"content":" verifyStatusMessage(\"Instructor\u0027s key for this course has been successfully regenerated,\""},{"lineNumber":841,"author":{"gitId":"-"},"content":" + \" and the email has been sent.\");"},{"lineNumber":842,"author":{"gitId":"-"},"content":""},{"lineNumber":843,"author":{"gitId":"-"},"content":" String regeneratedJoinLink \u003d getInstructorJoinLink(instructor);"},{"lineNumber":844,"author":{"gitId":"-"},"content":" assertNotEquals(regeneratedJoinLink, originalJoinLink);"},{"lineNumber":845,"author":{"gitId":"-"},"content":" }"},{"lineNumber":846,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":313,"-":533}},{"path":"src/e2e/java/teammates/e2e/pageobjects/AppPage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.pageobjects;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static com.google.common.base.Preconditions.checkNotNull;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static org.junit.Assert.assertEquals;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static org.junit.Assert.assertNotEquals;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import static org.junit.Assert.assertNotNull;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import static org.junit.Assert.assertTrue;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.io.File;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.lang.reflect.Constructor;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.lang.reflect.InvocationTargetException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.time.Duration;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":19,"author":{"gitId":"yuanxi1"},"content":"import java.util.Locale;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"import org.openqa.selenium.By;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import org.openqa.selenium.InvalidElementStateException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import org.openqa.selenium.JavascriptExecutor;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import org.openqa.selenium.Keys;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import org.openqa.selenium.NoSuchElementException;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebDriverException;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebElement;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import org.openqa.selenium.remote.RemoteWebElement;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import org.openqa.selenium.remote.UselessFileDetector;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.PageFactory;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.ui.ExpectedCondition;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.ui.ExpectedConditions;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.ui.Select;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.ui.WebDriverWait;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.e2e.util.MaximumRetriesExceededException;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"import teammates.e2e.util.RetryManager;"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import teammates.e2e.util.Retryable;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import teammates.test.FileHelper;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"import teammates.test.ThreadHelper;"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * An abstract class that represents a browser-loaded page of the app and"},{"lineNumber":49,"author":{"gitId":"-"},"content":" * provides ways to interact with it. Also contains methods to validate some"},{"lineNumber":50,"author":{"gitId":"-"},"content":" * aspects of the page, e.g. HTML page source."},{"lineNumber":51,"author":{"gitId":"-"},"content":" *"},{"lineNumber":52,"author":{"gitId":"-"},"content":" * \u003cp\u003eNote: We are using the Page Object pattern here."},{"lineNumber":53,"author":{"gitId":"-"},"content":" *"},{"lineNumber":54,"author":{"gitId":"-"},"content":" * @see \u003ca href\u003d\"https://martinfowler.com/bliki/PageObject.html\"\u003ehttps://martinfowler.com/bliki/PageObject.html\u003c/a\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" */"},{"lineNumber":56,"author":{"gitId":"-"},"content":"public abstract class AppPage {"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final String CLEAR_ELEMENT_SCRIPT;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final String SCROLL_ELEMENT_TO_CENTER_AND_CLICK_SCRIPT;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" private static final String READ_TINYMCE_CONTENT_SCRIPT;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" private static final String WRITE_TO_TINYMCE_SCRIPT;"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" static {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" CLEAR_ELEMENT_SCRIPT \u003d FileHelper.readFile(\"src/e2e/resources/scripts/clearElementWithoutEvents.js\");"},{"lineNumber":66,"author":{"gitId":"-"},"content":" SCROLL_ELEMENT_TO_CENTER_AND_CLICK_SCRIPT \u003d FileHelper"},{"lineNumber":67,"author":{"gitId":"-"},"content":" .readFile(\"src/e2e/resources/scripts/scrollElementToCenterAndClick.js\");"},{"lineNumber":68,"author":{"gitId":"-"},"content":" READ_TINYMCE_CONTENT_SCRIPT \u003d FileHelper.readFile(\"src/e2e/resources/scripts/readTinyMCEContent.js\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" WRITE_TO_TINYMCE_SCRIPT \u003d FileHelper.readFile(\"src/e2e/resources/scripts/writeToTinyMCE.js\");"},{"lineNumber":70,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" /** Browser instance the page is loaded into. */"},{"lineNumber":76,"author":{"gitId":"-"},"content":" protected Browser browser;"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" /** Use for retrying due to transient UI issues. */"},{"lineNumber":79,"author":{"gitId":"-"},"content":" protected RetryManager uiRetryManager \u003d new RetryManager((TestProperties.TEST_TIMEOUT + 1) / 2);"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":82,"author":{"gitId":"-"},"content":" * Used by subclasses to create a {@code AppPage} object to wrap around the"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * given {@code browser} object. Fails if the page content does not match"},{"lineNumber":84,"author":{"gitId":"-"},"content":" * the page type, as defined by the sub-class."},{"lineNumber":85,"author":{"gitId":"-"},"content":" */"},{"lineNumber":86,"author":{"gitId":"-"},"content":" public AppPage(Browser browser) {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" this.browser \u003d browser;"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" boolean isCorrectPageType;"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" isCorrectPageType \u003d containsExpectedPageContents();"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" if (isCorrectPageType) {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" // ignore and try again"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" // To minimize test failures due to eventual consistency, we try to"},{"lineNumber":102,"author":{"gitId":"-"},"content":" // reload the page and compare once more."},{"lineNumber":103,"author":{"gitId":"-"},"content":" System.out.println(\"#### Incorrect page type: going to try reloading the page.\");"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(2000);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" reloadPage();"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" isCorrectPageType \u003d containsExpectedPageContents();"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" if (isCorrectPageType) {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" System.out.println(\"######### Not in the correct page! ##########\");"},{"lineNumber":116,"author":{"gitId":"-"},"content":" throw new IllegalStateException(\"Not in the correct page!\");"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" public Browser getBrowser() {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" return browser;"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":124,"author":{"gitId":"-"},"content":" * Gets a new page object representation of the currently open web page in the browser."},{"lineNumber":125,"author":{"gitId":"-"},"content":" *"},{"lineNumber":126,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails if the new page content does not match content expected in a page of"},{"lineNumber":127,"author":{"gitId":"-"},"content":" * the type indicated by the parameter {@code typeOfPage}."},{"lineNumber":128,"author":{"gitId":"-"},"content":" */"},{"lineNumber":129,"author":{"gitId":"-"},"content":" public static \u003cT extends AppPage\u003e T getNewPageInstance(Browser currentBrowser, Class\u003cT\u003e typeOfPage) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish(currentBrowser);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" Constructor\u003cT\u003e constructor \u003d typeOfPage.getConstructor(Browser.class);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" T page \u003d constructor.newInstance(currentBrowser);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" PageFactory.initElements(currentBrowser.driver, page);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" page.waitForPageToLoad();"},{"lineNumber":136,"author":{"gitId":"-"},"content":" return page;"},{"lineNumber":137,"author":{"gitId":"-"},"content":" } catch (InvocationTargetException e) {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" if (e.getCause() instanceof IllegalStateException) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" throw (IllegalStateException) e.getCause();"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" } catch (NoSuchMethodException | IllegalAccessException | InstantiationException e) {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":148,"author":{"gitId":"-"},"content":" * Fails if the new page content does not match content expected in a page of"},{"lineNumber":149,"author":{"gitId":"-"},"content":" * the type indicated by the parameter {@code newPageType}."},{"lineNumber":150,"author":{"gitId":"-"},"content":" */"},{"lineNumber":151,"author":{"gitId":"-"},"content":" public \u003cT extends AppPage\u003e T changePageType(Class\u003cT\u003e newPageType) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" return getNewPageInstance(browser, newPageType);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" public \u003cE\u003e E waitFor(ExpectedCondition\u003cE\u003e expectedCondition) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" WebDriverWait wait \u003d new WebDriverWait(browser.driver, Duration.ofSeconds(TestProperties.TEST_TIMEOUT));"},{"lineNumber":157,"author":{"gitId":"-"},"content":" return wait.until(expectedCondition);"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":161,"author":{"gitId":"-"},"content":" * Waits until the page is fully loaded."},{"lineNumber":162,"author":{"gitId":"-"},"content":" */"},{"lineNumber":163,"author":{"gitId":"-"},"content":" public void waitForPageToLoad() {"},{"lineNumber":164,"author":{"gitId":"-"},"content":" waitForPageToLoad(false);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":168,"author":{"gitId":"-"},"content":" * Waits until the page is fully loaded."},{"lineNumber":169,"author":{"gitId":"-"},"content":" *"},{"lineNumber":170,"author":{"gitId":"-"},"content":" * @param excludeToast Set this to true if toast message\u0027s disappearance should not be counted"},{"lineNumber":171,"author":{"gitId":"-"},"content":" * as criteria for page load\u0027s completion."},{"lineNumber":172,"author":{"gitId":"-"},"content":" */"},{"lineNumber":173,"author":{"gitId":"-"},"content":" public void waitForPageToLoad(boolean excludeToast) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" browser.waitForPageLoad(excludeToast);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" public void waitForElementVisibility(WebElement element) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" waitFor(ExpectedConditions.visibilityOf(element));"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" public void waitForElementVisibility(By by) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" waitFor(ExpectedConditions.visibilityOfElementLocated(by));"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" public void waitForElementToBeClickable(WebElement element) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" waitFor(ExpectedConditions.elementToBeClickable(element));"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" public static void waitUntilAnimationFinish(Browser browser) {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" WebDriverWait wait \u003d new WebDriverWait(browser.driver, Duration.ofSeconds(TestProperties.TEST_TIMEOUT));"},{"lineNumber":191,"author":{"gitId":"-"},"content":" wait.until(ExpectedConditions.invisibilityOfElementLocated(By.className(\"ng-animating\")));"},{"lineNumber":192,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" public void waitUntilAnimationFinish() {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish(browser);"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":200,"author":{"gitId":"-"},"content":" * Waits until an element is no longer attached to the DOM or the timeout expires."},{"lineNumber":201,"author":{"gitId":"-"},"content":" * @param element the WebElement that expires after {@link TestProperties#TEST_TIMEOUT}"},{"lineNumber":202,"author":{"gitId":"-"},"content":" * @see org.openqa.selenium.support.ui.FluentWait#until(java.util.function.Function)"},{"lineNumber":203,"author":{"gitId":"-"},"content":" */"},{"lineNumber":204,"author":{"gitId":"-"},"content":" public void waitForElementStaleness(WebElement element) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" waitFor(ExpectedConditions.stalenessOf(element));"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" public void verifyUnclickable(WebElement element) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" if (\"a\".equals(element.getTagName())) {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" assertTrue(element.getAttribute(\"class\").contains(\"disabled\"));"},{"lineNumber":211,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" assertNotNull(element.getAttribute(\"disabled\"));"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":217,"author":{"gitId":"-"},"content":" * Waits for a confirmation modal to appear and click the confirm button."},{"lineNumber":218,"author":{"gitId":"-"},"content":" */"},{"lineNumber":219,"author":{"gitId":"-"},"content":" public void waitForConfirmationModalAndClickOk() {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" waitForModalShown();"},{"lineNumber":221,"author":{"gitId":"-"},"content":" waitForElementVisibility(By.className(\"modal-btn-ok\"));"},{"lineNumber":222,"author":{"gitId":"-"},"content":" WebElement okayButton \u003d browser.driver.findElement(By.className(\"modal-btn-ok\"));"},{"lineNumber":223,"author":{"gitId":"-"},"content":" waitForElementToBeClickable(okayButton);"},{"lineNumber":224,"author":{"gitId":"-"},"content":" clickDismissModalButtonAndWaitForModalHidden(okayButton);"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" private void waitForModalShown() {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" // Possible exploration: Change to listening to modal shown event as"},{"lineNumber":229,"author":{"gitId":"-"},"content":" // this is based on the implementation detail assumption that once modal-backdrop is added the modal is shown"},{"lineNumber":230,"author":{"gitId":"-"},"content":" waitForElementVisibility(By.className(\"modal-backdrop\"));"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" void waitForModalHidden(WebElement modalBackdrop) {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" // Possible exploration: Change to listening to modal hidden event as"},{"lineNumber":235,"author":{"gitId":"-"},"content":" // this is based on the implementation detail assumption that once modal-backdrop is removed the modal is hidden"},{"lineNumber":236,"author":{"gitId":"-"},"content":" waitForElementStaleness(modalBackdrop);"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":240,"author":{"gitId":"-"},"content":" * Waits for the element to appear in the page, up to the timeout specified."},{"lineNumber":241,"author":{"gitId":"-"},"content":" */"},{"lineNumber":242,"author":{"gitId":"-"},"content":" public WebElement waitForElementPresence(By by) {"},{"lineNumber":243,"author":{"gitId":"-"},"content":" return waitFor(ExpectedConditions.presenceOfElementLocated(by));"},{"lineNumber":244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" public void reloadPage() {"},{"lineNumber":247,"author":{"gitId":"-"},"content":" browser.goToUrl(browser.driver.getCurrentUrl());"},{"lineNumber":248,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":" protected Object executeScript(String script, Object... args) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" JavascriptExecutor javascriptExecutor \u003d (JavascriptExecutor) browser.driver;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" return javascriptExecutor.executeScript(script, args);"},{"lineNumber":254,"author":{"gitId":"-"},"content":" }"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":257,"author":{"gitId":"-"},"content":" * Returns the HTML source of the currently loaded page."},{"lineNumber":258,"author":{"gitId":"-"},"content":" */"},{"lineNumber":259,"author":{"gitId":"-"},"content":" public String getPageSource() {"},{"lineNumber":260,"author":{"gitId":"-"},"content":" return browser.driver.getPageSource();"},{"lineNumber":261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" public String getTitle() {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" return browser.driver.getTitle();"},{"lineNumber":265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":" public String getPageTitle() {"},{"lineNumber":268,"author":{"gitId":"-"},"content":" return waitForElementPresence(By.tagName(\"h1\")).getText();"},{"lineNumber":269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" public void click(By by) {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" WebElement element \u003d browser.driver.findElement(by);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" click(element);"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" protected void click(WebElement element) {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" executeScript(\"arguments[0].click();\", element);"},{"lineNumber":278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":281,"author":{"gitId":"-"},"content":" * Simulates the clearing and sending of keys to an element."},{"lineNumber":282,"author":{"gitId":"-"},"content":" *"},{"lineNumber":283,"author":{"gitId":"-"},"content":" * \u003cp\u003e\u003cb\u003eNote:\u003c/b\u003e This method is not the same as using {@link WebElement#clear} followed by {@link WebElement#sendKeys}."},{"lineNumber":284,"author":{"gitId":"-"},"content":" * It avoids double firing of the {@code change} event which may occur when {@link WebElement#clear} is followed by"},{"lineNumber":285,"author":{"gitId":"-"},"content":" * {@link WebElement#sendKeys}."},{"lineNumber":286,"author":{"gitId":"-"},"content":" *"},{"lineNumber":287,"author":{"gitId":"-"},"content":" * @see AppPage#clearWithoutEvents(WebElement)"},{"lineNumber":288,"author":{"gitId":"-"},"content":" */"},{"lineNumber":289,"author":{"gitId":"-"},"content":" private void clearAndSendKeys(WebElement element, CharSequence... keysToSend) {"},{"lineNumber":290,"author":{"gitId":"-"},"content":" Map\u003cString, Object\u003e result \u003d clearWithoutEvents(element);"},{"lineNumber":291,"author":{"gitId":"-"},"content":" @SuppressWarnings(\"unchecked\")"},{"lineNumber":292,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e errors \u003d (Map\u003cString, String\u003e) result.get(\"errors\");"},{"lineNumber":293,"author":{"gitId":"-"},"content":" if (errors !\u003d null) {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" throw new InvalidElementStateException(errors.get(\"detail\"));"},{"lineNumber":295,"author":{"gitId":"-"},"content":" }"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" element.sendKeys(keysToSend);"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":301,"author":{"gitId":"-"},"content":" * Clears any kind of editable element, but without firing the {@code change} event (unlike {@link WebElement#clear()})."},{"lineNumber":302,"author":{"gitId":"-"},"content":" * Avoid using this method if {@link WebElement#clear()} meets the requirements as this method depends on implementation"},{"lineNumber":303,"author":{"gitId":"-"},"content":" * details."},{"lineNumber":304,"author":{"gitId":"-"},"content":" */"},{"lineNumber":305,"author":{"gitId":"-"},"content":" private Map\u003cString, Object\u003e clearWithoutEvents(WebElement element) {"},{"lineNumber":306,"author":{"gitId":"-"},"content":" // This method is a close mirror of HtmlUnitWebElement#clear(), except that events are not handled. Note that"},{"lineNumber":307,"author":{"gitId":"-"},"content":" // HtmlUnitWebElement is mirrored as opposed to RemoteWebElement (which is used with actual browsers) for convenience"},{"lineNumber":308,"author":{"gitId":"-"},"content":" // and the implementation can differ."},{"lineNumber":309,"author":{"gitId":"-"},"content":" checkNotNull(element);"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":" // Adapted from ExpectedConditions#stalenessOf which forces a staleness check. This allows a meaningful"},{"lineNumber":312,"author":{"gitId":"-"},"content":" // StaleElementReferenceException to be thrown rather than just getting a boolean from ExpectedConditions."},{"lineNumber":313,"author":{"gitId":"-"},"content":" element.isEnabled();"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":" // Fail safe in case the implementation of staleness checks is changed"},{"lineNumber":316,"author":{"gitId":"-"},"content":" if (isExpectedCondition(ExpectedConditions.stalenessOf(element))) {"},{"lineNumber":317,"author":{"gitId":"-"},"content":" throw new AssertionError("},{"lineNumber":318,"author":{"gitId":"-"},"content":" \"Element is stale but should have been caught earlier by element.isEnabled().\");"},{"lineNumber":319,"author":{"gitId":"-"},"content":" }"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" @SuppressWarnings(\"unchecked\")"},{"lineNumber":322,"author":{"gitId":"-"},"content":" Map\u003cString, Object\u003e result \u003d (Map\u003cString, Object\u003e) executeScript(CLEAR_ELEMENT_SCRIPT, element);"},{"lineNumber":323,"author":{"gitId":"-"},"content":" return result;"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" protected void fillTextBox(WebElement textBoxElement, String value) {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" scrollElementToCenterAndClick(textBoxElement);"},{"lineNumber":329,"author":{"gitId":"-"},"content":" } catch (WebDriverException e) {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" // It is important that a text box element is clickable before we fill it but due to legacy reasons we continue"},{"lineNumber":331,"author":{"gitId":"-"},"content":" // attempting to fill the text box element even if it\u0027s not clickable (which may lead to an unexpected failure"},{"lineNumber":332,"author":{"gitId":"-"},"content":" // later on)"},{"lineNumber":333,"author":{"gitId":"-"},"content":" System.out.println(\"Unexpectedly not able to click on the text box element because of: \");"},{"lineNumber":334,"author":{"gitId":"-"},"content":" System.out.println(e);"},{"lineNumber":335,"author":{"gitId":"-"},"content":" }"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":" // If the intended value is empty `clear` works well enough for us"},{"lineNumber":338,"author":{"gitId":"-"},"content":" if (value.isEmpty()) {"},{"lineNumber":339,"author":{"gitId":"-"},"content":" textBoxElement.clear();"},{"lineNumber":340,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":341,"author":{"gitId":"-"},"content":" }"},{"lineNumber":342,"author":{"gitId":"-"},"content":""},{"lineNumber":343,"author":{"gitId":"-"},"content":" // Otherwise we need to do special handling of entering input because `clear` and `sendKeys` work differently."},{"lineNumber":344,"author":{"gitId":"-"},"content":" // See documentation for `clearAndSendKeys` for more details."},{"lineNumber":345,"author":{"gitId":"-"},"content":" clearAndSendKeys(textBoxElement, value);"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":" textBoxElement.sendKeys(Keys.TAB); // blur the element to receive events"},{"lineNumber":348,"author":{"gitId":"-"},"content":" }"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":" protected void fillDatePicker(WebElement dateBox, Instant startInstant, String timeZone) {"},{"lineNumber":351,"author":{"gitId":"-"},"content":" WebElement buttonToOpenPicker \u003d dateBox.findElement(By.tagName(\"button\"));"},{"lineNumber":352,"author":{"gitId":"-"},"content":" click(buttonToOpenPicker);"},{"lineNumber":353,"author":{"gitId":"-"},"content":""},{"lineNumber":354,"author":{"gitId":"-"},"content":" WebElement datePicker \u003d dateBox.findElement(By.tagName(\"ngb-datepicker\"));"},{"lineNumber":355,"author":{"gitId":"-"},"content":" WebElement monthAndYearPicker \u003d datePicker.findElement(By.tagName(\"ngb-datepicker-navigation-select\"));"},{"lineNumber":356,"author":{"gitId":"-"},"content":" WebElement monthPicker \u003d monthAndYearPicker.findElement(By.cssSelector(\"[title\u003d\u0027Select month\u0027]\"));"},{"lineNumber":357,"author":{"gitId":"-"},"content":" WebElement yearPicker \u003d monthAndYearPicker.findElement(By.cssSelector(\"[title\u003d\u0027Select year\u0027]\"));"},{"lineNumber":358,"author":{"gitId":"-"},"content":" WebElement dayPicker \u003d datePicker.findElement(By.cssSelector(\"ngb-datepicker-month\"));"},{"lineNumber":359,"author":{"gitId":"-"},"content":""},{"lineNumber":360,"author":{"gitId":"-"},"content":" String year \u003d getYearString(startInstant, timeZone);"},{"lineNumber":361,"author":{"gitId":"-"},"content":" String month \u003d getMonthString(startInstant, timeZone);"},{"lineNumber":362,"author":{"gitId":"-"},"content":" String date \u003d getFullDateString(startInstant, timeZone);"},{"lineNumber":363,"author":{"gitId":"-"},"content":""},{"lineNumber":364,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(yearPicker, year);"},{"lineNumber":365,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(monthPicker, month);"},{"lineNumber":366,"author":{"gitId":"-"},"content":" click(dayPicker.findElement(By.cssSelector(String.format(\"[aria-label\u003d\u0027%s\u0027]\", date))));"},{"lineNumber":367,"author":{"gitId":"-"},"content":" }"},{"lineNumber":368,"author":{"gitId":"-"},"content":""},{"lineNumber":369,"author":{"gitId":"-"},"content":" protected void fillFileBox(RemoteWebElement fileBoxElement, String fileName) {"},{"lineNumber":370,"author":{"gitId":"-"},"content":" if (fileName.isEmpty()) {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" fileBoxElement.clear();"},{"lineNumber":372,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":373,"author":{"gitId":"-"},"content":" fileBoxElement.setFileDetector(new UselessFileDetector());"},{"lineNumber":374,"author":{"gitId":"-"},"content":" String filePath \u003d new File(fileName).getAbsolutePath();"},{"lineNumber":375,"author":{"gitId":"-"},"content":" fileBoxElement.sendKeys(filePath);"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":" }"},{"lineNumber":378,"author":{"gitId":"-"},"content":""},{"lineNumber":379,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":380,"author":{"gitId":"-"},"content":" * Get rich text from editor."},{"lineNumber":381,"author":{"gitId":"-"},"content":" */"},{"lineNumber":382,"author":{"gitId":"-"},"content":" protected String getEditorRichText(WebElement editor) {"},{"lineNumber":383,"author":{"gitId":"-"},"content":" waitForElementPresence(By.tagName(\"iframe\"));"},{"lineNumber":384,"author":{"gitId":"-"},"content":" String id \u003d editor.findElement(By.tagName(\"textarea\")).getAttribute(\"id\");"},{"lineNumber":385,"author":{"gitId":"-"},"content":" return (String) ((JavascriptExecutor) browser.driver)"},{"lineNumber":386,"author":{"gitId":"-"},"content":" .executeAsyncScript(READ_TINYMCE_CONTENT_SCRIPT, id);"},{"lineNumber":387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":388,"author":{"gitId":"-"},"content":""},{"lineNumber":389,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":390,"author":{"gitId":"-"},"content":" * Write rich text to editor."},{"lineNumber":391,"author":{"gitId":"-"},"content":" */"},{"lineNumber":392,"author":{"gitId":"-"},"content":" protected void writeToRichTextEditor(WebElement editor, String text) {"},{"lineNumber":393,"author":{"gitId":"-"},"content":" waitForElementPresence(By.tagName(\"iframe\"));"},{"lineNumber":394,"author":{"gitId":"-"},"content":" String id \u003d editor.findElement(By.tagName(\"textarea\")).getAttribute(\"id\");"},{"lineNumber":395,"author":{"gitId":"-"},"content":" ((JavascriptExecutor) browser.driver).executeAsyncScript(WRITE_TO_TINYMCE_SCRIPT, id, text);"},{"lineNumber":396,"author":{"gitId":"-"},"content":" }"},{"lineNumber":397,"author":{"gitId":"-"},"content":""},{"lineNumber":398,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":399,"author":{"gitId":"-"},"content":" * Select the option, if it is not already selected."},{"lineNumber":400,"author":{"gitId":"-"},"content":" * No action taken if it is already selected."},{"lineNumber":401,"author":{"gitId":"-"},"content":" */"},{"lineNumber":402,"author":{"gitId":"-"},"content":" protected void markOptionAsSelected(WebElement option) {"},{"lineNumber":403,"author":{"gitId":"-"},"content":" waitForElementVisibility(option);"},{"lineNumber":404,"author":{"gitId":"-"},"content":" if (!option.isSelected()) {"},{"lineNumber":405,"author":{"gitId":"-"},"content":" click(option);"},{"lineNumber":406,"author":{"gitId":"-"},"content":" }"},{"lineNumber":407,"author":{"gitId":"-"},"content":" }"},{"lineNumber":408,"author":{"gitId":"-"},"content":""},{"lineNumber":409,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":410,"author":{"gitId":"-"},"content":" * Unselect the option, if it is not already unselected."},{"lineNumber":411,"author":{"gitId":"-"},"content":" * No action taken if it is already unselected\u0027."},{"lineNumber":412,"author":{"gitId":"-"},"content":" */"},{"lineNumber":413,"author":{"gitId":"-"},"content":" protected void markOptionAsUnselected(WebElement option) {"},{"lineNumber":414,"author":{"gitId":"-"},"content":" waitForElementVisibility(option);"},{"lineNumber":415,"author":{"gitId":"-"},"content":" if (option.isSelected()) {"},{"lineNumber":416,"author":{"gitId":"-"},"content":" click(option);"},{"lineNumber":417,"author":{"gitId":"-"},"content":" }"},{"lineNumber":418,"author":{"gitId":"-"},"content":" }"},{"lineNumber":419,"author":{"gitId":"-"},"content":""},{"lineNumber":420,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":421,"author":{"gitId":"-"},"content":" * Returns the text of the option selected in the dropdown."},{"lineNumber":422,"author":{"gitId":"-"},"content":" */"},{"lineNumber":423,"author":{"gitId":"-"},"content":" protected String getSelectedDropdownOptionText(WebElement dropdown) {"},{"lineNumber":424,"author":{"gitId":"-"},"content":" Select select \u003d new Select(dropdown);"},{"lineNumber":425,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":426,"author":{"gitId":"-"},"content":" uiRetryManager.runUntilNoRecognizedException(new Retryable(\"Wait for dropdown text to load\") {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":428,"author":{"gitId":"-"},"content":" public void run() {"},{"lineNumber":429,"author":{"gitId":"-"},"content":" String txt \u003d select.getFirstSelectedOption().getText();"},{"lineNumber":430,"author":{"gitId":"-"},"content":" assertNotEquals(\"\", txt);"},{"lineNumber":431,"author":{"gitId":"-"},"content":" }"},{"lineNumber":432,"author":{"gitId":"-"},"content":" }, WebDriverException.class, AssertionError.class);"},{"lineNumber":433,"author":{"gitId":"-"},"content":" return select.getFirstSelectedOption().getText();"},{"lineNumber":434,"author":{"gitId":"-"},"content":" } catch (MaximumRetriesExceededException e) {"},{"lineNumber":435,"author":{"gitId":"-"},"content":" return select.getFirstSelectedOption().getText();"},{"lineNumber":436,"author":{"gitId":"-"},"content":" }"},{"lineNumber":437,"author":{"gitId":"-"},"content":" }"},{"lineNumber":438,"author":{"gitId":"-"},"content":""},{"lineNumber":439,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":440,"author":{"gitId":"-"},"content":" * Selects option in dropdown based on visible text."},{"lineNumber":441,"author":{"gitId":"-"},"content":" */"},{"lineNumber":442,"author":{"gitId":"-"},"content":" protected void selectDropdownOptionByText(WebElement dropdown, String text) {"},{"lineNumber":443,"author":{"gitId":"-"},"content":" scrollElementToCenter(dropdown);"},{"lineNumber":444,"author":{"gitId":"-"},"content":" Select select \u003d new Select(dropdown);"},{"lineNumber":445,"author":{"gitId":"-"},"content":" select.selectByVisibleText(text);"},{"lineNumber":446,"author":{"gitId":"-"},"content":" }"},{"lineNumber":447,"author":{"gitId":"-"},"content":""},{"lineNumber":448,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":449,"author":{"gitId":"-"},"content":" * Selects option in dropdown based on value."},{"lineNumber":450,"author":{"gitId":"-"},"content":" */"},{"lineNumber":451,"author":{"gitId":"-"},"content":" protected void selectDropdownOptionByValue(WebElement dropdown, String value) {"},{"lineNumber":452,"author":{"gitId":"-"},"content":" scrollElementToCenter(dropdown);"},{"lineNumber":453,"author":{"gitId":"-"},"content":" Select select \u003d new Select(dropdown);"},{"lineNumber":454,"author":{"gitId":"-"},"content":" select.selectByValue(value);"},{"lineNumber":455,"author":{"gitId":"-"},"content":" }"},{"lineNumber":456,"author":{"gitId":"-"},"content":""},{"lineNumber":457,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":458,"author":{"gitId":"-"},"content":" * Asserts that all values in the body of the given table are equal to the expectedTableBodyValues."},{"lineNumber":459,"author":{"gitId":"-"},"content":" */"},{"lineNumber":460,"author":{"gitId":"-"},"content":" protected void verifyTableBodyValues(WebElement table, String[][] expectedTableBodyValues) {"},{"lineNumber":461,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d table.findElement(By.tagName(\"tbody\")).findElements(By.tagName(\"tr\"));"},{"lineNumber":462,"author":{"gitId":"-"},"content":" assertTrue(expectedTableBodyValues.length \u003c\u003d rows.size());"},{"lineNumber":463,"author":{"gitId":"-"},"content":" for (int rowIndex \u003d 0; rowIndex \u003c expectedTableBodyValues.length; rowIndex++) {"},{"lineNumber":464,"author":{"gitId":"-"},"content":" verifyTableRowValues(rows.get(rowIndex), expectedTableBodyValues[rowIndex]);"},{"lineNumber":465,"author":{"gitId":"-"},"content":" }"},{"lineNumber":466,"author":{"gitId":"-"},"content":" }"},{"lineNumber":467,"author":{"gitId":"-"},"content":""},{"lineNumber":468,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":469,"author":{"gitId":"-"},"content":" * Asserts that all values in the row header of the given table are equal to the expectedRowHeaderValues."},{"lineNumber":470,"author":{"gitId":"-"},"content":" */"},{"lineNumber":471,"author":{"gitId":"-"},"content":" protected void verifyTableRowHeaderValues(WebElement table, String[][] expectedTableRowHeaderValues) {"},{"lineNumber":472,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d table.findElement(By.tagName(\"thead\")).findElements(By.tagName(\"tr\"));"},{"lineNumber":473,"author":{"gitId":"-"},"content":" assertTrue(expectedTableRowHeaderValues.length \u003c\u003d rows.size());"},{"lineNumber":474,"author":{"gitId":"-"},"content":" for (int rowIndex \u003d 0; rowIndex \u003c expectedTableRowHeaderValues.length; rowIndex++) {"},{"lineNumber":475,"author":{"gitId":"-"},"content":" verifyTableHeaderValues(rows.get(rowIndex), expectedTableRowHeaderValues[rowIndex]);"},{"lineNumber":476,"author":{"gitId":"-"},"content":" }"},{"lineNumber":477,"author":{"gitId":"-"},"content":" }"},{"lineNumber":478,"author":{"gitId":"-"},"content":""},{"lineNumber":479,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":480,"author":{"gitId":"-"},"content":" * Asserts that all values in the column header of the given table are equal to the expectedTablColumnHeaderValues."},{"lineNumber":481,"author":{"gitId":"-"},"content":" */"},{"lineNumber":482,"author":{"gitId":"-"},"content":" protected void verifyTableColumnHeaderValues(WebElement table, String[][] expectedTablColumnHeaderValues) {"},{"lineNumber":483,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d table.findElement(By.tagName(\"tbody\")).findElements(By.tagName(\"tr\"));"},{"lineNumber":484,"author":{"gitId":"-"},"content":" assertTrue(expectedTablColumnHeaderValues.length \u003c\u003d rows.size());"},{"lineNumber":485,"author":{"gitId":"-"},"content":" for (int rowIndex \u003d 0; rowIndex \u003c expectedTablColumnHeaderValues.length; rowIndex++) {"},{"lineNumber":486,"author":{"gitId":"-"},"content":" verifyTableHeaderValues(rows.get(rowIndex), expectedTablColumnHeaderValues[rowIndex]);"},{"lineNumber":487,"author":{"gitId":"-"},"content":" }"},{"lineNumber":488,"author":{"gitId":"-"},"content":" }"},{"lineNumber":489,"author":{"gitId":"-"},"content":""},{"lineNumber":490,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":491,"author":{"gitId":"-"},"content":" * Asserts that all data values in the given table row are equal to the expectedRowValues."},{"lineNumber":492,"author":{"gitId":"-"},"content":" */"},{"lineNumber":493,"author":{"gitId":"-"},"content":" protected void verifyTableRowValues(WebElement row, String[] expectedRowValues) {"},{"lineNumber":494,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e cells \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":495,"author":{"gitId":"-"},"content":" assertTrue(expectedRowValues.length \u003c\u003d cells.size());"},{"lineNumber":496,"author":{"gitId":"-"},"content":" for (int cellIndex \u003d 0; cellIndex \u003c expectedRowValues.length; cellIndex++) {"},{"lineNumber":497,"author":{"gitId":"-"},"content":" assertEquals(expectedRowValues[cellIndex], cells.get(cellIndex).getText());"},{"lineNumber":498,"author":{"gitId":"-"},"content":" }"},{"lineNumber":499,"author":{"gitId":"-"},"content":" }"},{"lineNumber":500,"author":{"gitId":"-"},"content":""},{"lineNumber":501,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":502,"author":{"gitId":"-"},"content":" * Asserts that all header values in the given table row are equal to the expectedRowHeaderValues."},{"lineNumber":503,"author":{"gitId":"-"},"content":" */"},{"lineNumber":504,"author":{"gitId":"-"},"content":" protected void verifyTableHeaderValues(WebElement row, String[] expectedRowHeaderValues) {"},{"lineNumber":505,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e cells \u003d row.findElements(By.tagName(\"th\"));"},{"lineNumber":506,"author":{"gitId":"-"},"content":" assertTrue(expectedRowHeaderValues.length \u003c\u003d cells.size());"},{"lineNumber":507,"author":{"gitId":"-"},"content":" for (int cellIndex \u003d 0; cellIndex \u003c expectedRowHeaderValues.length; cellIndex++) {"},{"lineNumber":508,"author":{"gitId":"-"},"content":" assertEquals(expectedRowHeaderValues[cellIndex], cells.get(cellIndex).getText());"},{"lineNumber":509,"author":{"gitId":"-"},"content":" }"},{"lineNumber":510,"author":{"gitId":"-"},"content":" }"},{"lineNumber":511,"author":{"gitId":"-"},"content":""},{"lineNumber":512,"author":{"gitId":"-"},"content":" public void verifyBannerContent(NotificationAttributes expected) {"},{"lineNumber":513,"author":{"gitId":"-"},"content":" WebElement banner \u003d browser.driver.findElement(By.className(\"banner\"));"},{"lineNumber":514,"author":{"gitId":"-"},"content":" String title \u003d banner.findElement(By.tagName(\"h5\")).getText();"},{"lineNumber":515,"author":{"gitId":"-"},"content":" String message \u003d banner.findElement(By.className(\"banner-text\")).getAttribute(\"innerHTML\");"},{"lineNumber":516,"author":{"gitId":"-"},"content":" assertEquals(expected.getTitle(), title);"},{"lineNumber":517,"author":{"gitId":"-"},"content":" assertEquals(expected.getMessage(), message);"},{"lineNumber":518,"author":{"gitId":"-"},"content":" }"},{"lineNumber":519,"author":{"gitId":"-"},"content":""},{"lineNumber":520,"author":{"gitId":"-"},"content":" public boolean isBannerVisible() {"},{"lineNumber":521,"author":{"gitId":"-"},"content":" return isElementVisible(By.className(\"banner\"));"},{"lineNumber":522,"author":{"gitId":"-"},"content":" }"},{"lineNumber":523,"author":{"gitId":"-"},"content":""},{"lineNumber":524,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":525,"author":{"gitId":"-"},"content":" * Clicks the element and clicks \u0027Yes\u0027 in the follow up dialog box."},{"lineNumber":526,"author":{"gitId":"-"},"content":" * Fails if there is no dialog box."},{"lineNumber":527,"author":{"gitId":"-"},"content":" * @return the resulting page."},{"lineNumber":528,"author":{"gitId":"-"},"content":" */"},{"lineNumber":529,"author":{"gitId":"-"},"content":" public AppPage clickAndConfirm(WebElement elementToClick) {"},{"lineNumber":530,"author":{"gitId":"-"},"content":" click(elementToClick);"},{"lineNumber":531,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":532,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":533,"author":{"gitId":"-"},"content":" }"},{"lineNumber":534,"author":{"gitId":"-"},"content":""},{"lineNumber":535,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":536,"author":{"gitId":"-"},"content":" * Returns True if the page contains some basic elements expected in a page of the"},{"lineNumber":537,"author":{"gitId":"-"},"content":" * specific type. e.g., the top heading."},{"lineNumber":538,"author":{"gitId":"-"},"content":" */"},{"lineNumber":539,"author":{"gitId":"-"},"content":" protected abstract boolean containsExpectedPageContents();"},{"lineNumber":540,"author":{"gitId":"-"},"content":""},{"lineNumber":541,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":542,"author":{"gitId":"-"},"content":" * Returns True if there is a corresponding element for the given locator."},{"lineNumber":543,"author":{"gitId":"-"},"content":" */"},{"lineNumber":544,"author":{"gitId":"-"},"content":" public boolean isElementPresent(By by) {"},{"lineNumber":545,"author":{"gitId":"-"},"content":" return browser.driver.findElements(by).size() !\u003d 0;"},{"lineNumber":546,"author":{"gitId":"-"},"content":" }"},{"lineNumber":547,"author":{"gitId":"-"},"content":""},{"lineNumber":548,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":549,"author":{"gitId":"-"},"content":" * Returns True if there is a corresponding element for the given id or name."},{"lineNumber":550,"author":{"gitId":"-"},"content":" */"},{"lineNumber":551,"author":{"gitId":"-"},"content":" public boolean isElementPresent(String elementId) {"},{"lineNumber":552,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":553,"author":{"gitId":"-"},"content":" browser.driver.findElement(By.id(elementId));"},{"lineNumber":554,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":555,"author":{"gitId":"-"},"content":" } catch (NoSuchElementException e) {"},{"lineNumber":556,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":557,"author":{"gitId":"-"},"content":" }"},{"lineNumber":558,"author":{"gitId":"-"},"content":" }"},{"lineNumber":559,"author":{"gitId":"-"},"content":""},{"lineNumber":560,"author":{"gitId":"-"},"content":" public boolean isElementVisible(By by) {"},{"lineNumber":561,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":562,"author":{"gitId":"-"},"content":" return browser.driver.findElement(by).isDisplayed();"},{"lineNumber":563,"author":{"gitId":"-"},"content":" } catch (NoSuchElementException e) {"},{"lineNumber":564,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":565,"author":{"gitId":"-"},"content":" }"},{"lineNumber":566,"author":{"gitId":"-"},"content":" }"},{"lineNumber":567,"author":{"gitId":"-"},"content":""},{"lineNumber":568,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":569,"author":{"gitId":"-"},"content":" * Returns true if the expected condition is evaluated to true immediately."},{"lineNumber":570,"author":{"gitId":"-"},"content":" * @see ExpectedConditions"},{"lineNumber":571,"author":{"gitId":"-"},"content":" */"},{"lineNumber":572,"author":{"gitId":"-"},"content":" private boolean isExpectedCondition(ExpectedCondition\u003c?\u003e expectedCondition) {"},{"lineNumber":573,"author":{"gitId":"-"},"content":" Object value \u003d expectedCondition.apply(browser.driver);"},{"lineNumber":574,"author":{"gitId":"-"},"content":" if (value \u003d\u003d null) {"},{"lineNumber":575,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":576,"author":{"gitId":"-"},"content":" }"},{"lineNumber":577,"author":{"gitId":"-"},"content":""},{"lineNumber":578,"author":{"gitId":"-"},"content":" if (value.getClass() \u003d\u003d Boolean.class) {"},{"lineNumber":579,"author":{"gitId":"-"},"content":" return (boolean) value;"},{"lineNumber":580,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":581,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":582,"author":{"gitId":"-"},"content":" }"},{"lineNumber":583,"author":{"gitId":"-"},"content":" }"},{"lineNumber":584,"author":{"gitId":"-"},"content":""},{"lineNumber":585,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":586,"author":{"gitId":"-"},"content":" * Clicks a button (can be inside or outside the modal) that dismisses the modal and waits for the modal to be hidden."},{"lineNumber":587,"author":{"gitId":"-"},"content":" * The caller must ensure the button is in the modal or a timeout will occur while waiting for the modal to be hidden."},{"lineNumber":588,"author":{"gitId":"-"},"content":" * @param dismissModalButton a button that dismisses the modal"},{"lineNumber":589,"author":{"gitId":"-"},"content":" */"},{"lineNumber":590,"author":{"gitId":"-"},"content":" public void clickDismissModalButtonAndWaitForModalHidden(WebElement dismissModalButton) {"},{"lineNumber":591,"author":{"gitId":"-"},"content":" // Note: Should first check if the button can actually dismiss the modal otherwise the state will be consistent."},{"lineNumber":592,"author":{"gitId":"-"},"content":" // However, it is too difficult to check."},{"lineNumber":593,"author":{"gitId":"-"},"content":""},{"lineNumber":594,"author":{"gitId":"-"},"content":" WebElement modalBackdrop \u003d browser.driver.findElement(By.className(\"modal-backdrop\"));"},{"lineNumber":595,"author":{"gitId":"-"},"content":""},{"lineNumber":596,"author":{"gitId":"-"},"content":" click(dismissModalButton);"},{"lineNumber":597,"author":{"gitId":"-"},"content":" waitForModalHidden(modalBackdrop);"},{"lineNumber":598,"author":{"gitId":"-"},"content":" }"},{"lineNumber":599,"author":{"gitId":"-"},"content":""},{"lineNumber":600,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":601,"author":{"gitId":"-"},"content":" * Scrolls element to center and clicks on it."},{"lineNumber":602,"author":{"gitId":"-"},"content":" *"},{"lineNumber":603,"author":{"gitId":"-"},"content":" * \u003cp\u003eAs compared to {@link org.openqa.selenium.interactions.Actions#moveToElement(WebElement)}, this method is"},{"lineNumber":604,"author":{"gitId":"-"},"content":" * more reliable as the element will not get blocked by elements such as the header."},{"lineNumber":605,"author":{"gitId":"-"},"content":" *"},{"lineNumber":606,"author":{"gitId":"-"},"content":" * \u003cp\u003eFurthermore, {@link org.openqa.selenium.interactions.Actions#moveToElement(WebElement)} is currently not"},{"lineNumber":607,"author":{"gitId":"-"},"content":" * working in Geckodriver."},{"lineNumber":608,"author":{"gitId":"-"},"content":" *"},{"lineNumber":609,"author":{"gitId":"-"},"content":" * \u003cp\u003e\u003cb\u003eNote:\u003c/b\u003e A \"scroll into view\" Actions primitive is in progress and may allow scrolling element to center."},{"lineNumber":610,"author":{"gitId":"-"},"content":" * Tracking issue:"},{"lineNumber":611,"author":{"gitId":"-"},"content":" * \u003ca href\u003d\"https://github.com/w3c/webdriver/issues/1005\"\u003eMissing \"scroll into view\" Actions primitive\u003c/a\u003e."},{"lineNumber":612,"author":{"gitId":"-"},"content":" *"},{"lineNumber":613,"author":{"gitId":"-"},"content":" * \u003cp\u003eAlso note that there are some other caveats, for example"},{"lineNumber":614,"author":{"gitId":"-"},"content":" * {@code new Actions(browser.driver).moveToElement(...).click(...).perform()} does not behave consistently across"},{"lineNumber":615,"author":{"gitId":"-"},"content":" * browsers."},{"lineNumber":616,"author":{"gitId":"-"},"content":" * \u003cul\u003e"},{"lineNumber":617,"author":{"gitId":"-"},"content":" * \u003cli\u003eIn FirefoxDriver, the element is scrolled to and then a click is attempted on the element."},{"lineNumber":618,"author":{"gitId":"-"},"content":" * \u003cli\u003eIn ChromeDriver, the mouse is scrolled to the element and then a click is attempted on the mouse coordinate,"},{"lineNumber":619,"author":{"gitId":"-"},"content":" * which means another element can actually be clicked (such as the header or a blocking pop-up)."},{"lineNumber":620,"author":{"gitId":"-"},"content":" * \u003c/ul\u003e"},{"lineNumber":621,"author":{"gitId":"-"},"content":" *"},{"lineNumber":622,"author":{"gitId":"-"},"content":" * \u003cp\u003eChromeDriver also automatically scrolls to an element when clicking an element if it is not in the viewport."},{"lineNumber":623,"author":{"gitId":"-"},"content":" */"},{"lineNumber":624,"author":{"gitId":"-"},"content":" void scrollElementToCenterAndClick(WebElement element) {"},{"lineNumber":625,"author":{"gitId":"-"},"content":" // TODO: migrate to `scrollIntoView` when Geckodriver is adopted"},{"lineNumber":626,"author":{"gitId":"-"},"content":" scrollElementToCenter(element);"},{"lineNumber":627,"author":{"gitId":"-"},"content":" element.click();"},{"lineNumber":628,"author":{"gitId":"-"},"content":" }"},{"lineNumber":629,"author":{"gitId":"-"},"content":""},{"lineNumber":630,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":631,"author":{"gitId":"-"},"content":" * Scrolls element to center."},{"lineNumber":632,"author":{"gitId":"-"},"content":" */"},{"lineNumber":633,"author":{"gitId":"-"},"content":" void scrollElementToCenter(WebElement element) {"},{"lineNumber":634,"author":{"gitId":"-"},"content":" executeScript(SCROLL_ELEMENT_TO_CENTER_AND_CLICK_SCRIPT, element);"},{"lineNumber":635,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000);"},{"lineNumber":636,"author":{"gitId":"-"},"content":" }"},{"lineNumber":637,"author":{"gitId":"-"},"content":""},{"lineNumber":638,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":639,"author":{"gitId":"-"},"content":" * Asserts message in toast is equal to the expected message."},{"lineNumber":640,"author":{"gitId":"-"},"content":" */"},{"lineNumber":641,"author":{"gitId":"-"},"content":" public void verifyStatusMessage(String expectedMessage) {"},{"lineNumber":642,"author":{"gitId":"-"},"content":" verifyStatusMessageWithLinks(expectedMessage, new String[] {});"},{"lineNumber":643,"author":{"gitId":"-"},"content":" closeToast();"},{"lineNumber":644,"author":{"gitId":"-"},"content":" }"},{"lineNumber":645,"author":{"gitId":"-"},"content":""},{"lineNumber":646,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":647,"author":{"gitId":"-"},"content":" * Asserts message in toast is equal to the expected message and contains the expected links."},{"lineNumber":648,"author":{"gitId":"-"},"content":" */"},{"lineNumber":649,"author":{"gitId":"-"},"content":" public void verifyStatusMessageWithLinks(String expectedMessage, String[] expectedLinks) {"},{"lineNumber":650,"author":{"gitId":"-"},"content":" WebElement[] statusMessage \u003d new WebElement[1];"},{"lineNumber":651,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":652,"author":{"gitId":"-"},"content":" uiRetryManager.runUntilNoRecognizedException(new Retryable(\"Verify status to user\") {"},{"lineNumber":653,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":654,"author":{"gitId":"-"},"content":" public void run() {"},{"lineNumber":655,"author":{"gitId":"-"},"content":" statusMessage[0] \u003d waitForElementPresence(By.className(\"toast-body\"));"},{"lineNumber":656,"author":{"gitId":"-"},"content":" assertEquals(expectedMessage, statusMessage[0].getText());"},{"lineNumber":657,"author":{"gitId":"-"},"content":" }"},{"lineNumber":658,"author":{"gitId":"-"},"content":" }, WebDriverException.class, AssertionError.class);"},{"lineNumber":659,"author":{"gitId":"-"},"content":" } catch (MaximumRetriesExceededException e) {"},{"lineNumber":660,"author":{"gitId":"-"},"content":" statusMessage[0] \u003d waitForElementPresence(By.className(\"toast-body\"));"},{"lineNumber":661,"author":{"gitId":"-"},"content":" assertEquals(expectedMessage, statusMessage[0].getText());"},{"lineNumber":662,"author":{"gitId":"-"},"content":" } finally {"},{"lineNumber":663,"author":{"gitId":"-"},"content":" if (expectedLinks.length \u003e 0) {"},{"lineNumber":664,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e actualLinks \u003d statusMessage[0].findElements(By.tagName(\"a\"));"},{"lineNumber":665,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c expectedLinks.length; i++) {"},{"lineNumber":666,"author":{"gitId":"-"},"content":" assertTrue(actualLinks.get(i).getAttribute(\"href\").contains(expectedLinks[i]));"},{"lineNumber":667,"author":{"gitId":"-"},"content":" }"},{"lineNumber":668,"author":{"gitId":"-"},"content":" }"},{"lineNumber":669,"author":{"gitId":"-"},"content":" }"},{"lineNumber":670,"author":{"gitId":"-"},"content":" }"},{"lineNumber":671,"author":{"gitId":"-"},"content":""},{"lineNumber":672,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":673,"author":{"gitId":"-"},"content":" * Closes toast message."},{"lineNumber":674,"author":{"gitId":"-"},"content":" */"},{"lineNumber":675,"author":{"gitId":"-"},"content":" public void closeToast() {"},{"lineNumber":676,"author":{"gitId":"-"},"content":" WebElement toastCloseButton \u003d waitForElementPresence(By.className(\"btn-close\"));"},{"lineNumber":677,"author":{"gitId":"-"},"content":" click(toastCloseButton);"},{"lineNumber":678,"author":{"gitId":"-"},"content":" }"},{"lineNumber":679,"author":{"gitId":"-"},"content":""},{"lineNumber":680,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":681,"author":{"gitId":"-"},"content":" * Switches to the new browser window just opened."},{"lineNumber":682,"author":{"gitId":"-"},"content":" */"},{"lineNumber":683,"author":{"gitId":"-"},"content":" protected void switchToNewWindow() {"},{"lineNumber":684,"author":{"gitId":"-"},"content":" browser.switchToNewWindow();"},{"lineNumber":685,"author":{"gitId":"-"},"content":" }"},{"lineNumber":686,"author":{"gitId":"-"},"content":""},{"lineNumber":687,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":688,"author":{"gitId":"-"},"content":" * Closes current window and switches back to parent window."},{"lineNumber":689,"author":{"gitId":"-"},"content":" */"},{"lineNumber":690,"author":{"gitId":"-"},"content":" public void closeCurrentWindowAndSwitchToParentWindow() {"},{"lineNumber":691,"author":{"gitId":"-"},"content":" browser.closeCurrentWindowAndSwitchToParentWindow();"},{"lineNumber":692,"author":{"gitId":"-"},"content":" }"},{"lineNumber":693,"author":{"gitId":"-"},"content":""},{"lineNumber":694,"author":{"gitId":"-"},"content":" String getDisplayGiverName(FeedbackParticipantType type) {"},{"lineNumber":695,"author":{"gitId":"-"},"content":" switch (type) {"},{"lineNumber":696,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":697,"author":{"gitId":"-"},"content":" return \"Feedback session creator (i.e., me)\";"},{"lineNumber":698,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":699,"author":{"gitId":"-"},"content":" return \"Students in this course\";"},{"lineNumber":700,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":701,"author":{"gitId":"-"},"content":" return \"Instructors in this course\";"},{"lineNumber":702,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":703,"author":{"gitId":"-"},"content":" return \"Teams in this course\";"},{"lineNumber":704,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":705,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(\"Unknown FeedbackParticipantType: \" + type);"},{"lineNumber":706,"author":{"gitId":"-"},"content":" }"},{"lineNumber":707,"author":{"gitId":"-"},"content":" }"},{"lineNumber":708,"author":{"gitId":"-"},"content":""},{"lineNumber":709,"author":{"gitId":"-"},"content":" String getDisplayRecipientName(FeedbackParticipantType type) {"},{"lineNumber":710,"author":{"gitId":"-"},"content":" switch (type) {"},{"lineNumber":711,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":712,"author":{"gitId":"-"},"content":" return \"Giver (Self feedback)\";"},{"lineNumber":713,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":714,"author":{"gitId":"-"},"content":" return \"Other students in the same section\";"},{"lineNumber":715,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":716,"author":{"gitId":"-"},"content":" return \"Students in the course\";"},{"lineNumber":717,"author":{"gitId":"-"},"content":" case STUDENTS_EXCLUDING_SELF:"},{"lineNumber":718,"author":{"gitId":"-"},"content":" return \"Other students in the course\";"},{"lineNumber":719,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":720,"author":{"gitId":"-"},"content":" return \"Instructors in the course\";"},{"lineNumber":721,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":722,"author":{"gitId":"-"},"content":" return \"Other teams in the same section\";"},{"lineNumber":723,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":724,"author":{"gitId":"-"},"content":" return \"Teams in the course\";"},{"lineNumber":725,"author":{"gitId":"-"},"content":" case TEAMS_EXCLUDING_SELF:"},{"lineNumber":726,"author":{"gitId":"-"},"content":" return \"Other teams in the course\";"},{"lineNumber":727,"author":{"gitId":"-"},"content":" case OWN_TEAM:"},{"lineNumber":728,"author":{"gitId":"-"},"content":" return \"Giver\u0027s team\";"},{"lineNumber":729,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":730,"author":{"gitId":"-"},"content":" return \"Giver\u0027s team members\";"},{"lineNumber":731,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS_INCLUDING_SELF:"},{"lineNumber":732,"author":{"gitId":"-"},"content":" return \"Giver\u0027s team members and Giver\";"},{"lineNumber":733,"author":{"gitId":"-"},"content":" case NONE:"},{"lineNumber":734,"author":{"gitId":"-"},"content":" return \"Nobody specific (For general class feedback)\";"},{"lineNumber":735,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":736,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(\"Unknown FeedbackParticipantType: \" + type);"},{"lineNumber":737,"author":{"gitId":"-"},"content":" }"},{"lineNumber":738,"author":{"gitId":"-"},"content":" }"},{"lineNumber":739,"author":{"gitId":"-"},"content":""},{"lineNumber":740,"author":{"gitId":"-"},"content":" String getDisplayedDateTime(Instant instant, String timeZone, String pattern) {"},{"lineNumber":741,"author":{"gitId":"-"},"content":" ZonedDateTime zonedDateTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone(instant, timeZone, false)"},{"lineNumber":742,"author":{"gitId":"-"},"content":" .atZone(ZoneId.of(timeZone));"},{"lineNumber":743,"author":{"gitId":"yuanxi1"},"content":" return DateTimeFormatter.ofPattern(pattern, Locale.ENGLISH).format(zonedDateTime);"},{"lineNumber":744,"author":{"gitId":"-"},"content":" }"},{"lineNumber":745,"author":{"gitId":"-"},"content":""},{"lineNumber":746,"author":{"gitId":"-"},"content":" private String getFullDateString(Instant instant, String timeZone) {"},{"lineNumber":747,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timeZone, \"EEEE, MMMM d, yyyy\");"},{"lineNumber":748,"author":{"gitId":"-"},"content":" }"},{"lineNumber":749,"author":{"gitId":"-"},"content":""},{"lineNumber":750,"author":{"gitId":"-"},"content":" private String getYearString(Instant instant, String timeZone) {"},{"lineNumber":751,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timeZone, \"yyyy\");"},{"lineNumber":752,"author":{"gitId":"-"},"content":" }"},{"lineNumber":753,"author":{"gitId":"-"},"content":""},{"lineNumber":754,"author":{"gitId":"-"},"content":" private String getMonthString(Instant instant, String timeZone) {"},{"lineNumber":755,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timeZone, \"MMM\");"},{"lineNumber":756,"author":{"gitId":"-"},"content":" }"},{"lineNumber":757,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":2,"-":755}},{"path":"src/e2e/java/teammates/e2e/pageobjects/FeedbackSubmitPage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.pageobjects;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.Assert.assertEquals;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static org.junit.Assert.assertFalse;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static org.junit.Assert.assertTrue;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import static org.junit.Assert.fail;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.openqa.selenium.By;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.openqa.selenium.NoSuchElementException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebElement;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseAttributes;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackConstantSumQuestionDetails;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackConstantSumResponseDetails;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackContributionQuestionDetails;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackContributionResponseDetails;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMcqQuestionDetails;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMcqResponseDetails;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMsqQuestionDetails;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMsqResponseDetails;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackNumericalScaleQuestionDetails;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackNumericalScaleResponseDetails;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankOptionsQuestionDetails;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankOptionsResponseDetails;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankQuestionDetails;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankRecipientsResponseDetails;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRubricQuestionDetails;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRubricResponseDetails;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackTextQuestionDetails;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackTextResponseDetails;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Represents the feedback submission page of the website."},{"lineNumber":44,"author":{"gitId":"-"},"content":" */"},{"lineNumber":45,"author":{"gitId":"-"},"content":"public class FeedbackSubmitPage extends AppPage {"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" public FeedbackSubmitPage(Browser browser) {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" super(browser);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":52,"author":{"gitId":"-"},"content":" protected boolean containsExpectedPageContents() {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" if (isElementPresent(By.className(\"modal-content\"))) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":" return getPageTitle().contains(\"Submit Feedback\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" public void verifyFeedbackSessionDetails(FeedbackSessionAttributes feedbackSession, CourseAttributes course) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" assertEquals(getCourseId(), feedbackSession.getCourseId());"},{"lineNumber":61,"author":{"gitId":"-"},"content":" assertEquals(getCourseName(), course.getName());"},{"lineNumber":62,"author":{"gitId":"-"},"content":" assertEquals(getCourseInstitute(), course.getInstitute());"},{"lineNumber":63,"author":{"gitId":"-"},"content":" assertEquals(getFeedbackSessionName(), feedbackSession.getFeedbackSessionName());"},{"lineNumber":64,"author":{"gitId":"-"},"content":" assertDateEquals(getOpeningTime(), feedbackSession.getStartTime(), feedbackSession.getTimeZone());"},{"lineNumber":65,"author":{"gitId":"-"},"content":" assertDateEquals(getClosingTime(), feedbackSession.getEndTime(), feedbackSession.getTimeZone());"},{"lineNumber":66,"author":{"gitId":"-"},"content":" assertEquals(getInstructions(), feedbackSession.getInstructions());"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" public void verifyNumQuestions(int expected) {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" assertEquals(browser.driver.findElements(By.cssSelector(\"[id^\u003d\u0027question-submission-form-qn-\u0027]\")).size(), expected);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" public void verifyQuestionDetails(int qnNumber, FeedbackQuestionAttributes questionAttributes) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" assertEquals(getQuestionBrief(qnNumber), questionAttributes.getQuestionDetailsCopy().getQuestionText());"},{"lineNumber":75,"author":{"gitId":"-"},"content":" verifyVisibilityList(qnNumber, questionAttributes);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" if (questionAttributes.getQuestionDescription() !\u003d null) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" assertEquals(getQuestionDescription(qnNumber), questionAttributes.getQuestionDescription());"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" public void verifyLimitedRecipients(int qnNumber, int numRecipients, List\u003cString\u003e recipientNames) {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e recipientDropdowns \u003d getQuestionForm(qnNumber)"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .findElements(By.cssSelector(\"[id^\u003d\u0027recipient-dropdown-qn-\u0027]\"));"},{"lineNumber":84,"author":{"gitId":"-"},"content":" assertEquals(numRecipients, recipientDropdowns.size());"},{"lineNumber":85,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e recipients \u003d recipientDropdowns.get(0).findElements(By.tagName(\"option\"));"},{"lineNumber":86,"author":{"gitId":"-"},"content":" assertEquals(recipientNames.size(), recipients.size() - 1);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" Collections.sort(recipientNames);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c recipientNames.size(); i++) {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" assertEquals(recipientNames.get(i), recipients.get(i + 1).getText());"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" public void verifyRecipients(int qnNumber, List\u003cString\u003e recipientNames, String role) {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" Collections.sort(recipientNames);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c recipientNames.size(); i++) {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" assertEquals(recipientNames.get(i) + \" (\" + role + \")\","},{"lineNumber":98,"author":{"gitId":"-"},"content":" questionForm.findElement(By.id(\"recipient-name-qn-\" + qnNumber + \"-idx-\" + i)).getText());"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" public void verifyWarningMessageForPartialResponse(int[] unansweredQuestions) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" click(getSubmitAllQuestionsButton());"},{"lineNumber":104,"author":{"gitId":"-"},"content":" StringBuilder expectedSb \u003d new StringBuilder();"},{"lineNumber":105,"author":{"gitId":"-"},"content":" for (int unansweredQuestion : unansweredQuestions) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" expectedSb.append(unansweredQuestion).append(\", \");"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":" String expectedString \u003d expectedSb.toString().substring(0, expectedSb.length() - 2) + \".\";"},{"lineNumber":109,"author":{"gitId":"-"},"content":" String warningString \u003d waitForElementPresence(By.id(\"not-answered-questions\")).getText();"},{"lineNumber":110,"author":{"gitId":"-"},"content":" assertEquals(warningString.split(\": \")[1], expectedString);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" public void verifyCannotSubmit() {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" WebElement submitButton \u003d waitForElementPresence(By.cssSelector(\"[id^\u003d\u0027btn-submit-qn-\u0027]\"));"},{"lineNumber":116,"author":{"gitId":"-"},"content":" if (submitButton !\u003d null) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" assertFalse(submitButton.isEnabled());"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" public void addComment(int qnNumber, String recipient, String newComment) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" WebElement commentSection \u003d getCommentSection(qnNumber, recipient);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" click(commentSection.findElement(By.className(\"btn-add-comment\")));"},{"lineNumber":124,"author":{"gitId":"-"},"content":" writeToCommentEditor(commentSection, newComment);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" public void editComment(int qnNumber, String recipient, String editedComment) {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" WebElement commentSection \u003d getCommentSection(qnNumber, recipient);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" click(commentSection.findElement(By.className(\"btn-edit-comment\")));"},{"lineNumber":130,"author":{"gitId":"-"},"content":" writeToCommentEditor(commentSection, editedComment);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" public void deleteComment(int qnNumber, String recipient) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" clickAndConfirm(getCommentSection(qnNumber, recipient).findElement(By.className(\"btn-delete-comment\")));"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" public void verifyComment(int qnNumber, String recipient, String expectedComment) {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" WebElement commentSection \u003d getCommentSection(qnNumber, recipient);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" String actualComment \u003d commentSection.findElement(By.className(\"comment-text\")).getAttribute(\"innerHTML\");"},{"lineNumber":140,"author":{"gitId":"-"},"content":" assertEquals(expectedComment, actualComment);"},{"lineNumber":141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" public void verifyNoCommentPresent(int qnNumber, String recipient) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" int numComments \u003d getCommentSection(qnNumber, recipient).findElements(By.className(\"comment-text\")).size();"},{"lineNumber":145,"author":{"gitId":"-"},"content":" assertEquals(numComments, 0);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" public void verifyTextQuestion(int qnNumber, FeedbackTextQuestionDetails questionDetails) {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" String recommendedLengthText \u003d getQuestionForm(qnNumber).findElement(By.id(\"recommended-length\")).getText();"},{"lineNumber":150,"author":{"gitId":"-"},"content":" assertEquals(recommendedLengthText, \"Recommended length for the answer: \""},{"lineNumber":151,"author":{"gitId":"-"},"content":" + questionDetails.getRecommendedLength() + \" words\");"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" public void fillTextResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" FeedbackTextResponseDetails responseDetails \u003d (FeedbackTextResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":156,"author":{"gitId":"-"},"content":" writeToRichTextEditor(getTextResponseEditor(qnNumber, recipient), responseDetails.getAnswer());"},{"lineNumber":157,"author":{"gitId":"-"},"content":" }"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" public void fillTextResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" FeedbackTextResponseDetails responseDetails \u003d"},{"lineNumber":161,"author":{"gitId":"-"},"content":" (FeedbackTextResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":162,"author":{"gitId":"-"},"content":" writeToRichTextEditor(getTextResponseEditor(qnNumber, recipient), responseDetails.getAnswer());"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" public void verifyTextResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" FeedbackTextResponseDetails responseDetails \u003d (FeedbackTextResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":167,"author":{"gitId":"-"},"content":" int responseLength \u003d responseDetails.getAnswer().split(\" \").length;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertEquals(getEditorRichText(getTextResponseEditor(qnNumber, recipient)), responseDetails.getAnswer());"},{"lineNumber":169,"author":{"gitId":"-"},"content":" assertEquals(getResponseLengthText(qnNumber, recipient), \"Response length: \" + responseLength"},{"lineNumber":170,"author":{"gitId":"-"},"content":" + \" words\");"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" public void verifyTextResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" FeedbackTextResponseDetails responseDetails \u003d"},{"lineNumber":175,"author":{"gitId":"-"},"content":" (FeedbackTextResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":176,"author":{"gitId":"-"},"content":" int responseLength \u003d responseDetails.getAnswer().split(\" \").length;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" assertEquals(getEditorRichText(getTextResponseEditor(qnNumber, recipient)), responseDetails.getAnswer());"},{"lineNumber":178,"author":{"gitId":"-"},"content":" assertEquals(getResponseLengthText(qnNumber, recipient), \"Response length: \" + responseLength"},{"lineNumber":179,"author":{"gitId":"-"},"content":" + \" words\");"},{"lineNumber":180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" public void verifyMcqQuestion(int qnNumber, String recipient, FeedbackMcqQuestionDetails questionDetails) {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" List\u003cString\u003e mcqChoices \u003d questionDetails.getMcqChoices();"},{"lineNumber":184,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMcqOptions(qnNumber, recipient);"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c mcqChoices.size(); i++) {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" assertEquals(mcqChoices.get(i), optionTexts.get(i).getText());"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" if (questionDetails.isOtherEnabled()) {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" assertEquals(\"Other\", getMcqSection(qnNumber, recipient).findElement(By.id(\"other-option\")).getText());"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" public void verifyGeneratedMcqQuestion(int qnNumber, String recipient, List\u003cString\u003e options) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMcqOptions(qnNumber, recipient);"},{"lineNumber":197,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c options.size(); i++) {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" assertEquals(options.get(i), optionTexts.get(i).getText());"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" public void fillMcqResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" FeedbackMcqResponseDetails responseDetails \u003d (FeedbackMcqResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":204,"author":{"gitId":"-"},"content":" if (responseDetails.isOther()) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" markOptionAsSelected(getMcqOtherOptionRadioBtn(qnNumber, recipient));"},{"lineNumber":206,"author":{"gitId":"-"},"content":" fillTextBox(getMcqOtherOptionTextbox(qnNumber, recipient), responseDetails.getOtherFieldContent());"},{"lineNumber":207,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMcqOptions(qnNumber, recipient);"},{"lineNumber":209,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c optionTexts.size(); i++) {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" if (optionTexts.get(i).getText().equals(responseDetails.getAnswer())) {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" markOptionAsSelected(getMcqRadioBtns(qnNumber, recipient).get(i));"},{"lineNumber":212,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"dishenggg"},"content":" public void fillMcqResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":219,"author":{"gitId":"dishenggg"},"content":" FeedbackMcqResponseDetails responseDetails \u003d (FeedbackMcqResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":220,"author":{"gitId":"dishenggg"},"content":" if (responseDetails.isOther()) {"},{"lineNumber":221,"author":{"gitId":"dishenggg"},"content":" markOptionAsSelected(getMcqOtherOptionRadioBtn(qnNumber, recipient));"},{"lineNumber":222,"author":{"gitId":"dishenggg"},"content":" fillTextBox(getMcqOtherOptionTextbox(qnNumber, recipient), responseDetails.getOtherFieldContent());"},{"lineNumber":223,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":224,"author":{"gitId":"dishenggg"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMcqOptions(qnNumber, recipient);"},{"lineNumber":225,"author":{"gitId":"dishenggg"},"content":" for (int i \u003d 0; i \u003c optionTexts.size(); i++) {"},{"lineNumber":226,"author":{"gitId":"dishenggg"},"content":" if (optionTexts.get(i).getText().equals(responseDetails.getAnswer())) {"},{"lineNumber":227,"author":{"gitId":"dishenggg"},"content":" markOptionAsSelected(getMcqRadioBtns(qnNumber, recipient).get(i));"},{"lineNumber":228,"author":{"gitId":"dishenggg"},"content":" break;"},{"lineNumber":229,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":230,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":231,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":232,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":233,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" public void verifyMcqResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" FeedbackMcqResponseDetails responseDetails \u003d (FeedbackMcqResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":236,"author":{"gitId":"-"},"content":" if (responseDetails.isOther()) {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" assertTrue(getMcqOtherOptionRadioBtn(qnNumber, recipient).isSelected());"},{"lineNumber":238,"author":{"gitId":"-"},"content":" assertEquals(getMcqOtherOptionTextbox(qnNumber, recipient).getAttribute(\"value\"),"},{"lineNumber":239,"author":{"gitId":"-"},"content":" responseDetails.getOtherFieldContent());"},{"lineNumber":240,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":241,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMcqOptions(qnNumber, recipient);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e radioBtns \u003d getMcqRadioBtns(qnNumber, recipient);"},{"lineNumber":243,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c optionTexts.size(); i++) {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" if (optionTexts.get(i).getText().equals(responseDetails.getAnswer())) {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" assertTrue(radioBtns.get(i).isSelected());"},{"lineNumber":246,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":247,"author":{"gitId":"-"},"content":" }"},{"lineNumber":248,"author":{"gitId":"-"},"content":" assertFalse(radioBtns.get(i).isSelected());"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":250,"author":{"gitId":"-"},"content":" }"},{"lineNumber":251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" public void verifyMsqQuestion(int qnNumber, String recipient, FeedbackMsqQuestionDetails questionDetails) {"},{"lineNumber":254,"author":{"gitId":"-"},"content":" List\u003cString\u003e msqChoices \u003d questionDetails.getMsqChoices();"},{"lineNumber":255,"author":{"gitId":"-"},"content":" if (questionDetails.isOtherEnabled()) {"},{"lineNumber":256,"author":{"gitId":"-"},"content":" msqChoices.add(\"Other\");"},{"lineNumber":257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":258,"author":{"gitId":"-"},"content":" if (questionDetails.getMinSelectableChoices() \u003d\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" msqChoices.add(\"None of the above\");"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMsqOptions(qnNumber, recipient);"},{"lineNumber":262,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c msqChoices.size(); i++) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" assertEquals(msqChoices.get(i), optionTexts.get(i).getText());"},{"lineNumber":264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":265,"author":{"gitId":"-"},"content":" verifyMsqSelectableOptionsMessage(qnNumber, questionDetails);"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" private void verifyMsqSelectableOptionsMessage(int qnNumber, FeedbackMsqQuestionDetails questionDetails) {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" if (questionDetails.getMinSelectableChoices() !\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":270,"author":{"gitId":"-"},"content":" assertEquals(getQuestionForm(qnNumber).findElement(By.id(\"min-options-message\")).getText(),"},{"lineNumber":271,"author":{"gitId":"-"},"content":" \"Choose at least \" + questionDetails.getMinSelectableChoices() + \" options.\");"},{"lineNumber":272,"author":{"gitId":"-"},"content":" }"},{"lineNumber":273,"author":{"gitId":"-"},"content":" if (questionDetails.getMaxSelectableChoices() !\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":274,"author":{"gitId":"-"},"content":" assertEquals(getQuestionForm(qnNumber).findElement(By.id(\"max-options-message\")).getText(),"},{"lineNumber":275,"author":{"gitId":"-"},"content":" \"Choose no more than \" + questionDetails.getMaxSelectableChoices() + \" options.\");"},{"lineNumber":276,"author":{"gitId":"-"},"content":" }"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" public void verifyGeneratedMsqQuestion(int qnNumber, String recipient, FeedbackMsqQuestionDetails questionDetails,"},{"lineNumber":280,"author":{"gitId":"-"},"content":" List\u003cString\u003e options) {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMsqOptions(qnNumber, recipient);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c options.size(); i++) {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" assertEquals(options.get(i), optionTexts.get(i).getText());"},{"lineNumber":284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":285,"author":{"gitId":"-"},"content":" verifyMsqSelectableOptionsMessage(qnNumber, questionDetails);"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" public void fillMsqResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" FeedbackMsqResponseDetails responseDetails \u003d (FeedbackMsqResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":290,"author":{"gitId":"-"},"content":" List\u003cString\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":291,"author":{"gitId":"-"},"content":" if (answers.get(0).isEmpty()) {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" answers.add(\"None of the above\");"},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMsqOptions(qnNumber, recipient);"},{"lineNumber":295,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e checkboxes \u003d getMsqCheckboxes(qnNumber, recipient);"},{"lineNumber":296,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c optionTexts.size(); i++) {"},{"lineNumber":297,"author":{"gitId":"-"},"content":" if (answers.contains(optionTexts.get(i).getText())) {"},{"lineNumber":298,"author":{"gitId":"-"},"content":" markOptionAsSelected(checkboxes.get(i));"},{"lineNumber":299,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" markOptionAsUnselected(checkboxes.get(i));"},{"lineNumber":301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":302,"author":{"gitId":"-"},"content":" }"},{"lineNumber":303,"author":{"gitId":"-"},"content":" if (responseDetails.isOther()) {"},{"lineNumber":304,"author":{"gitId":"-"},"content":" markOptionAsSelected(getMsqOtherOptionCheckbox(qnNumber, recipient));"},{"lineNumber":305,"author":{"gitId":"-"},"content":" fillTextBox(getMsqOtherOptionTextbox(qnNumber, recipient), responseDetails.getOtherFieldContent());"},{"lineNumber":306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":307,"author":{"gitId":"-"},"content":" }"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"dishenggg"},"content":" public void fillMsqResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":310,"author":{"gitId":"dishenggg"},"content":" FeedbackMsqResponseDetails responseDetails \u003d (FeedbackMsqResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":311,"author":{"gitId":"dishenggg"},"content":" List\u003cString\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":312,"author":{"gitId":"dishenggg"},"content":" if (answers.get(0).isEmpty()) {"},{"lineNumber":313,"author":{"gitId":"dishenggg"},"content":" answers.add(\"None of the above\");"},{"lineNumber":314,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":315,"author":{"gitId":"dishenggg"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMsqOptions(qnNumber, recipient);"},{"lineNumber":316,"author":{"gitId":"dishenggg"},"content":" List\u003cWebElement\u003e checkboxes \u003d getMsqCheckboxes(qnNumber, recipient);"},{"lineNumber":317,"author":{"gitId":"dishenggg"},"content":" for (int i \u003d 0; i \u003c optionTexts.size(); i++) {"},{"lineNumber":318,"author":{"gitId":"dishenggg"},"content":" if (answers.contains(optionTexts.get(i).getText())) {"},{"lineNumber":319,"author":{"gitId":"dishenggg"},"content":" markOptionAsSelected(checkboxes.get(i));"},{"lineNumber":320,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":321,"author":{"gitId":"dishenggg"},"content":" markOptionAsUnselected(checkboxes.get(i));"},{"lineNumber":322,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":323,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":324,"author":{"gitId":"dishenggg"},"content":" if (responseDetails.isOther()) {"},{"lineNumber":325,"author":{"gitId":"dishenggg"},"content":" markOptionAsSelected(getMsqOtherOptionCheckbox(qnNumber, recipient));"},{"lineNumber":326,"author":{"gitId":"dishenggg"},"content":" fillTextBox(getMsqOtherOptionTextbox(qnNumber, recipient), responseDetails.getOtherFieldContent());"},{"lineNumber":327,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":328,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":329,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" public void verifyMsqResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" FeedbackMsqResponseDetails responseDetails \u003d (FeedbackMsqResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":332,"author":{"gitId":"-"},"content":" List\u003cString\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":333,"author":{"gitId":"-"},"content":" if (answers.get(0).isEmpty()) {"},{"lineNumber":334,"author":{"gitId":"-"},"content":" answers.add(\"None of the above\");"},{"lineNumber":335,"author":{"gitId":"-"},"content":" }"},{"lineNumber":336,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMsqOptions(qnNumber, recipient);"},{"lineNumber":337,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e checkboxes \u003d getMsqCheckboxes(qnNumber, recipient);"},{"lineNumber":338,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c optionTexts.size(); i++) {"},{"lineNumber":339,"author":{"gitId":"-"},"content":" if (answers.contains(optionTexts.get(i).getText())) {"},{"lineNumber":340,"author":{"gitId":"-"},"content":" assertTrue(checkboxes.get(i).isSelected());"},{"lineNumber":341,"author":{"gitId":"-"},"content":" } else if (\"Other\".equals(optionTexts.get(i).getText())) {"},{"lineNumber":342,"author":{"gitId":"-"},"content":" assertEquals(checkboxes.get(i).isSelected(), responseDetails.isOther());"},{"lineNumber":343,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":344,"author":{"gitId":"-"},"content":" assertFalse(checkboxes.get(i).isSelected());"},{"lineNumber":345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":346,"author":{"gitId":"-"},"content":" }"},{"lineNumber":347,"author":{"gitId":"-"},"content":" if (responseDetails.isOther()) {"},{"lineNumber":348,"author":{"gitId":"-"},"content":" assertEquals(getMsqOtherOptionTextbox(qnNumber, recipient).getAttribute(\"value\"),"},{"lineNumber":349,"author":{"gitId":"-"},"content":" responseDetails.getOtherFieldContent());"},{"lineNumber":350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"dishenggg"},"content":" public void verifyMsqResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":354,"author":{"gitId":"dishenggg"},"content":" FeedbackMsqResponseDetails responseDetails \u003d (FeedbackMsqResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":355,"author":{"gitId":"dishenggg"},"content":" List\u003cString\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":356,"author":{"gitId":"dishenggg"},"content":" if (answers.get(0).isEmpty()) {"},{"lineNumber":357,"author":{"gitId":"dishenggg"},"content":" answers.add(\"None of the above\");"},{"lineNumber":358,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":359,"author":{"gitId":"dishenggg"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMsqOptions(qnNumber, recipient);"},{"lineNumber":360,"author":{"gitId":"dishenggg"},"content":" List\u003cWebElement\u003e checkboxes \u003d getMsqCheckboxes(qnNumber, recipient);"},{"lineNumber":361,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c optionTexts.size(); i++) {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" if (answers.contains(optionTexts.get(i).getText())) {"},{"lineNumber":363,"author":{"gitId":"-"},"content":" assertTrue(checkboxes.get(i).isSelected());"},{"lineNumber":364,"author":{"gitId":"-"},"content":" } else if (\"Other\".equals(optionTexts.get(i).getText())) {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" assertEquals(checkboxes.get(i).isSelected(), responseDetails.isOther());"},{"lineNumber":366,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":367,"author":{"gitId":"-"},"content":" assertFalse(checkboxes.get(i).isSelected());"},{"lineNumber":368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":369,"author":{"gitId":"-"},"content":" }"},{"lineNumber":370,"author":{"gitId":"-"},"content":" if (responseDetails.isOther()) {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" assertEquals(getMsqOtherOptionTextbox(qnNumber, recipient).getAttribute(\"value\"),"},{"lineNumber":372,"author":{"gitId":"-"},"content":" responseDetails.getOtherFieldContent());"},{"lineNumber":373,"author":{"gitId":"-"},"content":" }"},{"lineNumber":374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":" public void verifyNumScaleQuestion(int qnNumber, String recipient,"},{"lineNumber":377,"author":{"gitId":"-"},"content":" FeedbackNumericalScaleQuestionDetails questionDetails) {"},{"lineNumber":378,"author":{"gitId":"-"},"content":" double step \u003d questionDetails.getStep();"},{"lineNumber":379,"author":{"gitId":"-"},"content":" double twoSteps \u003d 2 * step;"},{"lineNumber":380,"author":{"gitId":"-"},"content":" double min \u003d questionDetails.getMinScale();"},{"lineNumber":381,"author":{"gitId":"-"},"content":" double max \u003d questionDetails.getMaxScale();"},{"lineNumber":382,"author":{"gitId":"-"},"content":" String possibleValues \u003d String.format(\"Possible values: [%s, %s, %s, ..., %s, %s, %s]\","},{"lineNumber":383,"author":{"gitId":"-"},"content":" getDoubleString(min), getDoubleString(min + step), getDoubleString(min + twoSteps),"},{"lineNumber":384,"author":{"gitId":"-"},"content":" getDoubleString(max - twoSteps), getDoubleString(max - step), getDoubleString(max));"},{"lineNumber":385,"author":{"gitId":"-"},"content":" String actualValues \u003d getNumScaleSection(qnNumber, recipient).findElement(By.id(\"possible-values\")).getText();"},{"lineNumber":386,"author":{"gitId":"-"},"content":" assertEquals(actualValues, possibleValues);"},{"lineNumber":387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":388,"author":{"gitId":"-"},"content":""},{"lineNumber":389,"author":{"gitId":"-"},"content":" public void fillNumScaleResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":390,"author":{"gitId":"-"},"content":" FeedbackNumericalScaleResponseDetails responseDetails \u003d"},{"lineNumber":391,"author":{"gitId":"-"},"content":" (FeedbackNumericalScaleResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":392,"author":{"gitId":"-"},"content":" fillTextBox(getNumScaleInput(qnNumber, recipient), Double.toString(responseDetails.getAnswer()));"},{"lineNumber":393,"author":{"gitId":"-"},"content":" }"},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"marquestye"},"content":" public void fillNumScaleResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":396,"author":{"gitId":"marquestye"},"content":" FeedbackNumericalScaleResponseDetails responseDetails \u003d"},{"lineNumber":397,"author":{"gitId":"marquestye"},"content":" (FeedbackNumericalScaleResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":398,"author":{"gitId":"marquestye"},"content":" fillTextBox(getNumScaleInput(qnNumber, recipient), Double.toString(responseDetails.getAnswer()));"},{"lineNumber":399,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":400,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":401,"author":{"gitId":"-"},"content":" public void verifyNumScaleResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":402,"author":{"gitId":"-"},"content":" FeedbackNumericalScaleResponseDetails responseDetails \u003d"},{"lineNumber":403,"author":{"gitId":"-"},"content":" (FeedbackNumericalScaleResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":404,"author":{"gitId":"-"},"content":" assertEquals(getNumScaleInput(qnNumber, recipient).getAttribute(\"value\"),"},{"lineNumber":405,"author":{"gitId":"-"},"content":" getDoubleString(responseDetails.getAnswer()));"},{"lineNumber":406,"author":{"gitId":"-"},"content":" }"},{"lineNumber":407,"author":{"gitId":"-"},"content":""},{"lineNumber":408,"author":{"gitId":"marquestye"},"content":" public void verifyNumScaleResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":409,"author":{"gitId":"marquestye"},"content":" FeedbackNumericalScaleResponseDetails responseDetails \u003d"},{"lineNumber":410,"author":{"gitId":"marquestye"},"content":" (FeedbackNumericalScaleResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":411,"author":{"gitId":"marquestye"},"content":" assertEquals(getNumScaleInput(qnNumber, recipient).getAttribute(\"value\"),"},{"lineNumber":412,"author":{"gitId":"marquestye"},"content":" getDoubleString(responseDetails.getAnswer()));"},{"lineNumber":413,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":414,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":415,"author":{"gitId":"-"},"content":" public void verifyConstSumQuestion(int qnNumber, String recipient,"},{"lineNumber":416,"author":{"gitId":"-"},"content":" FeedbackConstantSumQuestionDetails questionDetails) {"},{"lineNumber":417,"author":{"gitId":"-"},"content":" if (!questionDetails.isDistributeToRecipients()) {"},{"lineNumber":418,"author":{"gitId":"-"},"content":" List\u003cString\u003e constSumOptions \u003d questionDetails.getConstSumOptions();"},{"lineNumber":419,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getConstSumOptions(qnNumber, recipient);"},{"lineNumber":420,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c constSumOptions.size(); i++) {"},{"lineNumber":421,"author":{"gitId":"-"},"content":" assertEquals(constSumOptions.get(i), optionTexts.get(i).getText());"},{"lineNumber":422,"author":{"gitId":"-"},"content":" }"},{"lineNumber":423,"author":{"gitId":"-"},"content":" }"},{"lineNumber":424,"author":{"gitId":"-"},"content":""},{"lineNumber":425,"author":{"gitId":"-"},"content":" int totalPoints \u003d questionDetails.getPoints();"},{"lineNumber":426,"author":{"gitId":"-"},"content":" if (questionDetails.isPointsPerOption()) {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" totalPoints *\u003d questionDetails.getNumOfConstSumOptions();"},{"lineNumber":428,"author":{"gitId":"-"},"content":" }"},{"lineNumber":429,"author":{"gitId":"-"},"content":" assertEquals(getQuestionForm(qnNumber).findElement(By.id(\"total-points-message\")).getText(),"},{"lineNumber":430,"author":{"gitId":"-"},"content":" \"Total points distributed should add up to \" + totalPoints + \".\");"},{"lineNumber":431,"author":{"gitId":"-"},"content":""},{"lineNumber":432,"author":{"gitId":"-"},"content":" if (questionDetails.isForceUnevenDistribution()) {"},{"lineNumber":433,"author":{"gitId":"-"},"content":" String entityType \u003d questionDetails.isDistributeToRecipients() ? \"recipient\" : \"option\";"},{"lineNumber":434,"author":{"gitId":"-"},"content":" if (\"All options\".equals(questionDetails.getDistributePointsFor())) {"},{"lineNumber":435,"author":{"gitId":"-"},"content":" assertEquals(getQuestionForm(qnNumber).findElement(By.id(\"all-uneven-message\")).getText(),"},{"lineNumber":436,"author":{"gitId":"-"},"content":" \"Every \" + entityType + \" should be allocated different number of points.\");"},{"lineNumber":437,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":438,"author":{"gitId":"-"},"content":" assertEquals(getQuestionForm(qnNumber).findElement(By.id(\"one-uneven-message\")).getText(),"},{"lineNumber":439,"author":{"gitId":"-"},"content":" \"At least one \" + entityType + \" should be allocated different number of points.\");"},{"lineNumber":440,"author":{"gitId":"-"},"content":" }"},{"lineNumber":441,"author":{"gitId":"-"},"content":" }"},{"lineNumber":442,"author":{"gitId":"-"},"content":" }"},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" public void fillConstSumOptionResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":445,"author":{"gitId":"-"},"content":" FeedbackConstantSumResponseDetails responseDetails \u003d"},{"lineNumber":446,"author":{"gitId":"-"},"content":" (FeedbackConstantSumResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":447,"author":{"gitId":"-"},"content":" List\u003cInteger\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":448,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e constSumInputs \u003d getConstSumInputs(qnNumber, recipient);"},{"lineNumber":449,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c answers.size(); i++) {"},{"lineNumber":450,"author":{"gitId":"-"},"content":" fillTextBox(constSumInputs.get(i), Integer.toString(answers.get(i)));"},{"lineNumber":451,"author":{"gitId":"-"},"content":" }"},{"lineNumber":452,"author":{"gitId":"-"},"content":" }"},{"lineNumber":453,"author":{"gitId":"-"},"content":""},{"lineNumber":454,"author":{"gitId":"-"},"content":" public void verifyConstSumOptionResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":455,"author":{"gitId":"-"},"content":" FeedbackConstantSumResponseDetails responseDetails \u003d"},{"lineNumber":456,"author":{"gitId":"-"},"content":" (FeedbackConstantSumResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":457,"author":{"gitId":"-"},"content":" List\u003cInteger\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":458,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e constSumInputs \u003d getConstSumInputs(qnNumber, recipient);"},{"lineNumber":459,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c answers.size(); i++) {"},{"lineNumber":460,"author":{"gitId":"-"},"content":" assertEquals(constSumInputs.get(i).getAttribute(\"value\"), Integer.toString(answers.get(i)));"},{"lineNumber":461,"author":{"gitId":"-"},"content":" }"},{"lineNumber":462,"author":{"gitId":"-"},"content":" }"},{"lineNumber":463,"author":{"gitId":"-"},"content":""},{"lineNumber":464,"author":{"gitId":"-"},"content":" public void fillConstSumRecipientResponse(int qnNumber, List\u003cFeedbackResponseAttributes\u003e responses) {"},{"lineNumber":465,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e recipientInputs \u003d getConstSumRecipientInputs(qnNumber);"},{"lineNumber":466,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c responses.size(); i++) {"},{"lineNumber":467,"author":{"gitId":"-"},"content":" FeedbackConstantSumResponseDetails response \u003d"},{"lineNumber":468,"author":{"gitId":"-"},"content":" (FeedbackConstantSumResponseDetails) responses.get(i).getResponseDetailsCopy();"},{"lineNumber":469,"author":{"gitId":"-"},"content":" fillTextBox(recipientInputs.get(i), Integer.toString(response.getAnswers().get(0)));"},{"lineNumber":470,"author":{"gitId":"-"},"content":" }"},{"lineNumber":471,"author":{"gitId":"-"},"content":" }"},{"lineNumber":472,"author":{"gitId":"-"},"content":""},{"lineNumber":473,"author":{"gitId":"-"},"content":" public void verifyConstSumRecipientResponse(int qnNumber, List\u003cFeedbackResponseAttributes\u003e responses) {"},{"lineNumber":474,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e recipientInputs \u003d getConstSumRecipientInputs(qnNumber);"},{"lineNumber":475,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c responses.size(); i++) {"},{"lineNumber":476,"author":{"gitId":"-"},"content":" FeedbackConstantSumResponseDetails response \u003d"},{"lineNumber":477,"author":{"gitId":"-"},"content":" (FeedbackConstantSumResponseDetails) responses.get(i).getResponseDetailsCopy();"},{"lineNumber":478,"author":{"gitId":"-"},"content":" assertEquals(recipientInputs.get(i).getAttribute(\"value\"),"},{"lineNumber":479,"author":{"gitId":"-"},"content":" Integer.toString(response.getAnswers().get(0)));"},{"lineNumber":480,"author":{"gitId":"-"},"content":" }"},{"lineNumber":481,"author":{"gitId":"-"},"content":" }"},{"lineNumber":482,"author":{"gitId":"-"},"content":""},{"lineNumber":483,"author":{"gitId":"-"},"content":" public void verifyContributionQuestion(int qnNumber, FeedbackContributionQuestionDetails questionDetails) {"},{"lineNumber":484,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":485,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(getContributionDropdowns(qnNumber).get(0), \"Not Sure\");"},{"lineNumber":486,"author":{"gitId":"-"},"content":" assertTrue(questionDetails.isNotSureAllowed());"},{"lineNumber":487,"author":{"gitId":"-"},"content":" assertFalse(questionDetails.isZeroSum());"},{"lineNumber":488,"author":{"gitId":"-"},"content":" } catch (NoSuchElementException e) {"},{"lineNumber":489,"author":{"gitId":"-"},"content":" assertFalse(questionDetails.isNotSureAllowed());"},{"lineNumber":490,"author":{"gitId":"-"},"content":" }"},{"lineNumber":491,"author":{"gitId":"-"},"content":" }"},{"lineNumber":492,"author":{"gitId":"-"},"content":""},{"lineNumber":493,"author":{"gitId":"-"},"content":" public void fillContributionResponse(int qnNumber, List\u003cFeedbackResponseAttributes\u003e responses) {"},{"lineNumber":494,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e dropdowns \u003d getContributionDropdowns(qnNumber);"},{"lineNumber":495,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c responses.size(); i++) {"},{"lineNumber":496,"author":{"gitId":"-"},"content":" FeedbackContributionResponseDetails response \u003d"},{"lineNumber":497,"author":{"gitId":"-"},"content":" (FeedbackContributionResponseDetails) responses.get(i).getResponseDetailsCopy();"},{"lineNumber":498,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(dropdowns.get(i), getContributionString(response.getAnswer()));"},{"lineNumber":499,"author":{"gitId":"-"},"content":" }"},{"lineNumber":500,"author":{"gitId":"-"},"content":" }"},{"lineNumber":501,"author":{"gitId":"-"},"content":""},{"lineNumber":502,"author":{"gitId":"-"},"content":" public void verifyContributionResponse(int qnNumber, List\u003cFeedbackResponseAttributes\u003e responses) {"},{"lineNumber":503,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e dropdowns \u003d getContributionDropdowns(qnNumber);"},{"lineNumber":504,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c responses.size(); i++) {"},{"lineNumber":505,"author":{"gitId":"-"},"content":" FeedbackContributionResponseDetails response \u003d"},{"lineNumber":506,"author":{"gitId":"-"},"content":" (FeedbackContributionResponseDetails) responses.get(i).getResponseDetailsCopy();"},{"lineNumber":507,"author":{"gitId":"-"},"content":" assertEquals(getSelectedDropdownOptionText(dropdowns.get(i)), getContributionString(response.getAnswer()));"},{"lineNumber":508,"author":{"gitId":"-"},"content":" }"},{"lineNumber":509,"author":{"gitId":"-"},"content":" }"},{"lineNumber":510,"author":{"gitId":"-"},"content":""},{"lineNumber":511,"author":{"gitId":"-"},"content":" public void verifyRubricQuestion(int qnNumber, String recipient, FeedbackRubricQuestionDetails questionDetails) {"},{"lineNumber":512,"author":{"gitId":"-"},"content":" List\u003cString\u003e choices \u003d questionDetails.getRubricChoices();"},{"lineNumber":513,"author":{"gitId":"-"},"content":" List\u003cString\u003e subQuestions \u003d questionDetails.getRubricSubQuestions();"},{"lineNumber":514,"author":{"gitId":"-"},"content":" List\u003cList\u003cString\u003e\u003e descriptions \u003d questionDetails.getRubricDescriptions();"},{"lineNumber":515,"author":{"gitId":"-"},"content":""},{"lineNumber":516,"author":{"gitId":"-"},"content":" String[][] expectedTableData \u003d new String[subQuestions.size()][choices.size()];"},{"lineNumber":517,"author":{"gitId":"-"},"content":" String[][] expectedTableRowHeader \u003d new String[1][choices.size()];"},{"lineNumber":518,"author":{"gitId":"-"},"content":" String[][] expectedTableColumnHeader \u003d new String[subQuestions.size()][1];"},{"lineNumber":519,"author":{"gitId":"-"},"content":""},{"lineNumber":520,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c choices.size(); i++) {"},{"lineNumber":521,"author":{"gitId":"-"},"content":" expectedTableRowHeader[0][i] \u003d choices.get(i);"},{"lineNumber":522,"author":{"gitId":"-"},"content":" }"},{"lineNumber":523,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c subQuestions.size(); i++) {"},{"lineNumber":524,"author":{"gitId":"-"},"content":" expectedTableColumnHeader[i][0] \u003d subQuestions.get(i);"},{"lineNumber":525,"author":{"gitId":"-"},"content":" }"},{"lineNumber":526,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c descriptions.size(); i++) {"},{"lineNumber":527,"author":{"gitId":"-"},"content":" List\u003cString\u003e description \u003d descriptions.get(i);"},{"lineNumber":528,"author":{"gitId":"-"},"content":" for (int j \u003d 0; j \u003c description.size(); j++) {"},{"lineNumber":529,"author":{"gitId":"-"},"content":" expectedTableData[i][j] \u003d description.get(j);"},{"lineNumber":530,"author":{"gitId":"-"},"content":" }"},{"lineNumber":531,"author":{"gitId":"-"},"content":" }"},{"lineNumber":532,"author":{"gitId":"-"},"content":" WebElement rubricTable \u003d getRubricTable(qnNumber, recipient);"},{"lineNumber":533,"author":{"gitId":"-"},"content":" verifyTableBodyValues(rubricTable, expectedTableData);"},{"lineNumber":534,"author":{"gitId":"-"},"content":" verifyTableRowHeaderValues(rubricTable, expectedTableRowHeader);"},{"lineNumber":535,"author":{"gitId":"-"},"content":" verifyTableColumnHeaderValues(rubricTable, expectedTableColumnHeader);"},{"lineNumber":536,"author":{"gitId":"-"},"content":" }"},{"lineNumber":537,"author":{"gitId":"-"},"content":""},{"lineNumber":538,"author":{"gitId":"-"},"content":" public void fillRubricResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":539,"author":{"gitId":"-"},"content":" FeedbackRubricResponseDetails responseDetails \u003d"},{"lineNumber":540,"author":{"gitId":"-"},"content":" (FeedbackRubricResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":541,"author":{"gitId":"-"},"content":" List\u003cInteger\u003e answers \u003d responseDetails.getAnswer();"},{"lineNumber":542,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c answers.size(); i++) {"},{"lineNumber":543,"author":{"gitId":"-"},"content":" click(getRubricInputs(qnNumber, recipient, i + 2).get(answers.get(i)));"},{"lineNumber":544,"author":{"gitId":"-"},"content":" }"},{"lineNumber":545,"author":{"gitId":"-"},"content":" }"},{"lineNumber":546,"author":{"gitId":"-"},"content":""},{"lineNumber":547,"author":{"gitId":"-"},"content":" public void verifyRubricResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":548,"author":{"gitId":"-"},"content":" FeedbackRubricResponseDetails responseDetails \u003d"},{"lineNumber":549,"author":{"gitId":"-"},"content":" (FeedbackRubricResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":550,"author":{"gitId":"-"},"content":" List\u003cInteger\u003e answers \u003d responseDetails.getAnswer();"},{"lineNumber":551,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c answers.size(); i++) {"},{"lineNumber":552,"author":{"gitId":"-"},"content":" assertTrue(getRubricInputs(qnNumber, recipient, i + 2).get(answers.get(i)).isSelected());"},{"lineNumber":553,"author":{"gitId":"-"},"content":" }"},{"lineNumber":554,"author":{"gitId":"-"},"content":" }"},{"lineNumber":555,"author":{"gitId":"-"},"content":""},{"lineNumber":556,"author":{"gitId":"-"},"content":" public void verifyRankQuestion(int qnNumber, String recipient, FeedbackRankQuestionDetails questionDetails) {"},{"lineNumber":557,"author":{"gitId":"-"},"content":" if (questionDetails.getMaxOptionsToBeRanked() !\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":558,"author":{"gitId":"-"},"content":" assertEquals(getQuestionForm(qnNumber).findElement(By.id(\"max-options-message\")).getText(),"},{"lineNumber":559,"author":{"gitId":"-"},"content":" \"Rank no more than \" + questionDetails.getMaxOptionsToBeRanked() + \" options.\");"},{"lineNumber":560,"author":{"gitId":"-"},"content":" }"},{"lineNumber":561,"author":{"gitId":"-"},"content":" if (questionDetails.getMinOptionsToBeRanked() !\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":562,"author":{"gitId":"-"},"content":" assertEquals(getQuestionForm(qnNumber).findElement(By.id(\"min-options-message\")).getText(),"},{"lineNumber":563,"author":{"gitId":"-"},"content":" \"Rank at least \" + questionDetails.getMinOptionsToBeRanked() + \" options.\");"},{"lineNumber":564,"author":{"gitId":"-"},"content":" }"},{"lineNumber":565,"author":{"gitId":"-"},"content":" if (questionDetails instanceof FeedbackRankOptionsQuestionDetails) {"},{"lineNumber":566,"author":{"gitId":"-"},"content":" FeedbackRankOptionsQuestionDetails optionDetails \u003d (FeedbackRankOptionsQuestionDetails) questionDetails;"},{"lineNumber":567,"author":{"gitId":"-"},"content":" List\u003cString\u003e options \u003d optionDetails.getOptions();"},{"lineNumber":568,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getRankOptions(qnNumber, recipient);"},{"lineNumber":569,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c options.size(); i++) {"},{"lineNumber":570,"author":{"gitId":"-"},"content":" assertEquals(options.get(i), optionTexts.get(i).getText());"},{"lineNumber":571,"author":{"gitId":"-"},"content":" }"},{"lineNumber":572,"author":{"gitId":"-"},"content":" }"},{"lineNumber":573,"author":{"gitId":"-"},"content":" }"},{"lineNumber":574,"author":{"gitId":"-"},"content":""},{"lineNumber":575,"author":{"gitId":"-"},"content":" public void fillRankOptionResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":576,"author":{"gitId":"-"},"content":" FeedbackRankOptionsResponseDetails responseDetails \u003d"},{"lineNumber":577,"author":{"gitId":"-"},"content":" (FeedbackRankOptionsResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":578,"author":{"gitId":"-"},"content":" List\u003cInteger\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":579,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c answers.size(); i++) {"},{"lineNumber":580,"author":{"gitId":"-"},"content":" if (answers.get(i) \u003d\u003d Const.POINTS_NOT_SUBMITTED) {"},{"lineNumber":581,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(getRankOptionsDropdowns(qnNumber, recipient).get(i), \"\");"},{"lineNumber":582,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":583,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(getRankOptionsDropdowns(qnNumber, recipient).get(i),"},{"lineNumber":584,"author":{"gitId":"-"},"content":" Integer.toString(answers.get(i)));"},{"lineNumber":585,"author":{"gitId":"-"},"content":" }"},{"lineNumber":586,"author":{"gitId":"-"},"content":" }"},{"lineNumber":587,"author":{"gitId":"-"},"content":" }"},{"lineNumber":588,"author":{"gitId":"-"},"content":""},{"lineNumber":589,"author":{"gitId":"mingyuanc"},"content":" public void fillRankOptionResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":590,"author":{"gitId":"mingyuanc"},"content":" FeedbackRankOptionsResponseDetails responseDetails \u003d"},{"lineNumber":591,"author":{"gitId":"mingyuanc"},"content":" (FeedbackRankOptionsResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":592,"author":{"gitId":"mingyuanc"},"content":" List\u003cInteger\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":593,"author":{"gitId":"mingyuanc"},"content":" for (int i \u003d 0; i \u003c answers.size(); i++) {"},{"lineNumber":594,"author":{"gitId":"mingyuanc"},"content":" if (answers.get(i) \u003d\u003d Const.POINTS_NOT_SUBMITTED) {"},{"lineNumber":595,"author":{"gitId":"mingyuanc"},"content":" selectDropdownOptionByText(getRankOptionsDropdowns(qnNumber, recipient).get(i), \"\");"},{"lineNumber":596,"author":{"gitId":"mingyuanc"},"content":" } else {"},{"lineNumber":597,"author":{"gitId":"mingyuanc"},"content":" selectDropdownOptionByText(getRankOptionsDropdowns(qnNumber, recipient).get(i),"},{"lineNumber":598,"author":{"gitId":"mingyuanc"},"content":" Integer.toString(answers.get(i)));"},{"lineNumber":599,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":600,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":601,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":602,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":603,"author":{"gitId":"-"},"content":" public void verifyRankOptionResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":604,"author":{"gitId":"-"},"content":" FeedbackRankOptionsResponseDetails responseDetails \u003d"},{"lineNumber":605,"author":{"gitId":"-"},"content":" (FeedbackRankOptionsResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":606,"author":{"gitId":"-"},"content":" List\u003cInteger\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":607,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c answers.size(); i++) {"},{"lineNumber":608,"author":{"gitId":"-"},"content":" if (answers.get(i) \u003d\u003d Const.POINTS_NOT_SUBMITTED) {"},{"lineNumber":609,"author":{"gitId":"-"},"content":" assertEquals(getSelectedDropdownOptionText(getRankOptionsDropdowns(qnNumber, recipient).get(i)),"},{"lineNumber":610,"author":{"gitId":"-"},"content":" \"\");"},{"lineNumber":611,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":612,"author":{"gitId":"-"},"content":" assertEquals(getSelectedDropdownOptionText(getRankOptionsDropdowns(qnNumber, recipient).get(i)),"},{"lineNumber":613,"author":{"gitId":"-"},"content":" Integer.toString(answers.get(i)));"},{"lineNumber":614,"author":{"gitId":"-"},"content":" }"},{"lineNumber":615,"author":{"gitId":"-"},"content":" }"},{"lineNumber":616,"author":{"gitId":"-"},"content":" }"},{"lineNumber":617,"author":{"gitId":"-"},"content":""},{"lineNumber":618,"author":{"gitId":"-"},"content":" public void fillRankRecipientResponse(int qnNumber, List\u003cFeedbackResponseAttributes\u003e responses) {"},{"lineNumber":619,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e recipientDropdowns \u003d getRankRecipientDropdowns(qnNumber);"},{"lineNumber":620,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c responses.size(); i++) {"},{"lineNumber":621,"author":{"gitId":"-"},"content":" FeedbackRankRecipientsResponseDetails response \u003d"},{"lineNumber":622,"author":{"gitId":"-"},"content":" (FeedbackRankRecipientsResponseDetails) responses.get(i).getResponseDetailsCopy();"},{"lineNumber":623,"author":{"gitId":"-"},"content":" if (response.getAnswer() \u003d\u003d Const.POINTS_NOT_SUBMITTED) {"},{"lineNumber":624,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(recipientDropdowns.get(i), \"\");"},{"lineNumber":625,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":626,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(recipientDropdowns.get(i), Integer.toString(response.getAnswer()));"},{"lineNumber":627,"author":{"gitId":"-"},"content":" }"},{"lineNumber":628,"author":{"gitId":"-"},"content":" }"},{"lineNumber":629,"author":{"gitId":"-"},"content":" }"},{"lineNumber":630,"author":{"gitId":"-"},"content":""},{"lineNumber":631,"author":{"gitId":"-"},"content":" public void verifyRankRecipientResponse(int qnNumber, List\u003cFeedbackResponseAttributes\u003e responses) {"},{"lineNumber":632,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e recipientDropdowns \u003d getRankRecipientDropdowns(qnNumber);"},{"lineNumber":633,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c responses.size(); i++) {"},{"lineNumber":634,"author":{"gitId":"-"},"content":" FeedbackRankRecipientsResponseDetails response \u003d"},{"lineNumber":635,"author":{"gitId":"-"},"content":" (FeedbackRankRecipientsResponseDetails) responses.get(i).getResponseDetailsCopy();"},{"lineNumber":636,"author":{"gitId":"-"},"content":" if (response.getAnswer() \u003d\u003d Const.POINTS_NOT_SUBMITTED) {"},{"lineNumber":637,"author":{"gitId":"-"},"content":" assertEquals(getSelectedDropdownOptionText(recipientDropdowns.get(i)), \"\");"},{"lineNumber":638,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":639,"author":{"gitId":"-"},"content":" assertEquals(getSelectedDropdownOptionText(recipientDropdowns.get(i)),"},{"lineNumber":640,"author":{"gitId":"-"},"content":" Integer.toString(response.getAnswer()));"},{"lineNumber":641,"author":{"gitId":"-"},"content":" }"},{"lineNumber":642,"author":{"gitId":"-"},"content":" }"},{"lineNumber":643,"author":{"gitId":"-"},"content":" }"},{"lineNumber":644,"author":{"gitId":"-"},"content":""},{"lineNumber":645,"author":{"gitId":"-"},"content":" private String getCourseId() {"},{"lineNumber":646,"author":{"gitId":"-"},"content":" return browser.driver.findElement(By.id(\"course-id\")).getText();"},{"lineNumber":647,"author":{"gitId":"-"},"content":" }"},{"lineNumber":648,"author":{"gitId":"-"},"content":""},{"lineNumber":649,"author":{"gitId":"-"},"content":" private String getCourseName() {"},{"lineNumber":650,"author":{"gitId":"-"},"content":" return browser.driver.findElement(By.id(\"course-name\")).getText();"},{"lineNumber":651,"author":{"gitId":"-"},"content":" }"},{"lineNumber":652,"author":{"gitId":"-"},"content":""},{"lineNumber":653,"author":{"gitId":"-"},"content":" private String getCourseInstitute() {"},{"lineNumber":654,"author":{"gitId":"-"},"content":" return browser.driver.findElement(By.id(\"course-institute\")).getText();"},{"lineNumber":655,"author":{"gitId":"-"},"content":" }"},{"lineNumber":656,"author":{"gitId":"-"},"content":""},{"lineNumber":657,"author":{"gitId":"-"},"content":" private String getFeedbackSessionName() {"},{"lineNumber":658,"author":{"gitId":"-"},"content":" return browser.driver.findElement(By.id(\"fs-name\")).getText();"},{"lineNumber":659,"author":{"gitId":"-"},"content":" }"},{"lineNumber":660,"author":{"gitId":"-"},"content":""},{"lineNumber":661,"author":{"gitId":"-"},"content":" private String getOpeningTime() {"},{"lineNumber":662,"author":{"gitId":"-"},"content":" return browser.driver.findElement(By.id(\"opening-time\")).getText();"},{"lineNumber":663,"author":{"gitId":"-"},"content":" }"},{"lineNumber":664,"author":{"gitId":"-"},"content":""},{"lineNumber":665,"author":{"gitId":"-"},"content":" private String getClosingTime() {"},{"lineNumber":666,"author":{"gitId":"-"},"content":" return browser.driver.findElement(By.id(\"closing-time\")).getText();"},{"lineNumber":667,"author":{"gitId":"-"},"content":" }"},{"lineNumber":668,"author":{"gitId":"-"},"content":""},{"lineNumber":669,"author":{"gitId":"-"},"content":" private String getInstructions() {"},{"lineNumber":670,"author":{"gitId":"-"},"content":" return browser.driver.findElement(By.id(\"instructions\")).getAttribute(\"innerHTML\");"},{"lineNumber":671,"author":{"gitId":"-"},"content":" }"},{"lineNumber":672,"author":{"gitId":"-"},"content":""},{"lineNumber":673,"author":{"gitId":"-"},"content":" private void assertDateEquals(String actual, Instant instant, String timeZone) {"},{"lineNumber":674,"author":{"gitId":"-"},"content":" String dateStrWithAbbr \u003d getDateStringWithAbbr(instant, timeZone);"},{"lineNumber":675,"author":{"gitId":"-"},"content":" String dateStrWithOffset \u003d getDateStringWithOffset(instant, timeZone);"},{"lineNumber":676,"author":{"gitId":"-"},"content":""},{"lineNumber":677,"author":{"gitId":"-"},"content":" boolean isExpected \u003d actual.equals(dateStrWithAbbr) || actual.equals(dateStrWithOffset);"},{"lineNumber":678,"author":{"gitId":"-"},"content":" assertTrue(isExpected);"},{"lineNumber":679,"author":{"gitId":"-"},"content":" }"},{"lineNumber":680,"author":{"gitId":"-"},"content":""},{"lineNumber":681,"author":{"gitId":"-"},"content":" private String getDateStringWithAbbr(Instant instant, String timeZone) {"},{"lineNumber":682,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timeZone, \"EE, dd MMM, yyyy, hh:mm a z\");"},{"lineNumber":683,"author":{"gitId":"-"},"content":" }"},{"lineNumber":684,"author":{"gitId":"-"},"content":""},{"lineNumber":685,"author":{"gitId":"-"},"content":" private String getDateStringWithOffset(Instant instant, String timeZone) {"},{"lineNumber":686,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timeZone, \"EE, dd MMM, yyyy, hh:mm a X\");"},{"lineNumber":687,"author":{"gitId":"-"},"content":" }"},{"lineNumber":688,"author":{"gitId":"-"},"content":""},{"lineNumber":689,"author":{"gitId":"-"},"content":" private WebElement getQuestionForm(int qnNumber) {"},{"lineNumber":690,"author":{"gitId":"-"},"content":" By questionFormId \u003d By.id(\"question-submission-form-qn-\" + qnNumber);"},{"lineNumber":691,"author":{"gitId":"-"},"content":" waitForElementPresence(questionFormId);"},{"lineNumber":692,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d browser.driver.findElement(questionFormId);"},{"lineNumber":693,"author":{"gitId":"-"},"content":" // Scroll to the question to ensure that the details are fully loaded"},{"lineNumber":694,"author":{"gitId":"-"},"content":" scrollElementToCenter(questionForm);"},{"lineNumber":695,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish();"},{"lineNumber":696,"author":{"gitId":"-"},"content":" return questionForm;"},{"lineNumber":697,"author":{"gitId":"-"},"content":" }"},{"lineNumber":698,"author":{"gitId":"-"},"content":""},{"lineNumber":699,"author":{"gitId":"-"},"content":" private String getQuestionBrief(int qnNumber) {"},{"lineNumber":700,"author":{"gitId":"-"},"content":" String questionDetails \u003d getQuestionForm(qnNumber).findElement(By.className(\"question-details\")).getText();"},{"lineNumber":701,"author":{"gitId":"-"},"content":" return questionDetails.split(\": \")[1];"},{"lineNumber":702,"author":{"gitId":"-"},"content":" }"},{"lineNumber":703,"author":{"gitId":"-"},"content":""},{"lineNumber":704,"author":{"gitId":"-"},"content":" private void verifyVisibilityList(int qnNumber, FeedbackQuestionAttributes questionAttributes) {"},{"lineNumber":705,"author":{"gitId":"-"},"content":" if (questionAttributes.getShowResponsesTo().isEmpty()) {"},{"lineNumber":706,"author":{"gitId":"-"},"content":" verifyVisibilityStringPresent(qnNumber, \"No-one can see your responses\");"},{"lineNumber":707,"author":{"gitId":"-"},"content":" }"},{"lineNumber":708,"author":{"gitId":"-"},"content":" if (questionAttributes.getRecipientType().equals(FeedbackParticipantType.SELF)) {"},{"lineNumber":709,"author":{"gitId":"-"},"content":" verifyVisibilityStringPresent(qnNumber, \"You can see your own feedback in the results page later on.\");"},{"lineNumber":710,"author":{"gitId":"-"},"content":" }"},{"lineNumber":711,"author":{"gitId":"-"},"content":" for (FeedbackParticipantType viewerType : questionAttributes.getShowResponsesTo()) {"},{"lineNumber":712,"author":{"gitId":"-"},"content":" verifyVisibilityStringPresent(qnNumber, getVisibilityString(questionAttributes, viewerType));"},{"lineNumber":713,"author":{"gitId":"-"},"content":" }"},{"lineNumber":714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":715,"author":{"gitId":"-"},"content":""},{"lineNumber":716,"author":{"gitId":"-"},"content":" private void verifyVisibilityStringPresent(int qnNumber, String expectedString) {"},{"lineNumber":717,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e visibilityStrings \u003d getQuestionForm(qnNumber).findElement(By.className(\"visibility-list\"))"},{"lineNumber":718,"author":{"gitId":"-"},"content":" .findElements(By.tagName(\"li\"));"},{"lineNumber":719,"author":{"gitId":"-"},"content":" for (WebElement visibilityString : visibilityStrings) {"},{"lineNumber":720,"author":{"gitId":"-"},"content":" if (visibilityString.getText().equals(expectedString)) {"},{"lineNumber":721,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":722,"author":{"gitId":"-"},"content":" }"},{"lineNumber":723,"author":{"gitId":"-"},"content":" }"},{"lineNumber":724,"author":{"gitId":"-"},"content":" fail(\"Expected visibility string not found: \" + qnNumber + \": \" + expectedString);"},{"lineNumber":725,"author":{"gitId":"-"},"content":" }"},{"lineNumber":726,"author":{"gitId":"-"},"content":""},{"lineNumber":727,"author":{"gitId":"-"},"content":" private String getVisibilityString(FeedbackQuestionAttributes questionAttributes,"},{"lineNumber":728,"author":{"gitId":"-"},"content":" FeedbackParticipantType viewerType) {"},{"lineNumber":729,"author":{"gitId":"-"},"content":" if (!questionAttributes.getShowResponsesTo().contains(viewerType)) {"},{"lineNumber":730,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":731,"author":{"gitId":"-"},"content":" }"},{"lineNumber":732,"author":{"gitId":"-"},"content":""},{"lineNumber":733,"author":{"gitId":"-"},"content":" StringBuilder message \u003d new StringBuilder(getViewerString(viewerType, questionAttributes.getRecipientType()));"},{"lineNumber":734,"author":{"gitId":"-"},"content":" message.append(\" can see your response\");"},{"lineNumber":735,"author":{"gitId":"-"},"content":" if (questionAttributes.getShowRecipientNameTo().contains(viewerType)) {"},{"lineNumber":736,"author":{"gitId":"-"},"content":" message.append(\", the name of the recipient\");"},{"lineNumber":737,"author":{"gitId":"-"},"content":" if (questionAttributes.getShowGiverNameTo().contains(viewerType)) {"},{"lineNumber":738,"author":{"gitId":"-"},"content":" message.append(\", and your name\");"},{"lineNumber":739,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":740,"author":{"gitId":"-"},"content":" message.append(\", but not your name\");"},{"lineNumber":741,"author":{"gitId":"-"},"content":" }"},{"lineNumber":742,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":743,"author":{"gitId":"-"},"content":" if (questionAttributes.getShowGiverNameTo().contains(viewerType)) {"},{"lineNumber":744,"author":{"gitId":"-"},"content":" message.append(\", and your name, but not the name of the recipient\");"},{"lineNumber":745,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":746,"author":{"gitId":"-"},"content":" message.append(\", but not the name of the recipient, or your name\");"},{"lineNumber":747,"author":{"gitId":"-"},"content":" }"},{"lineNumber":748,"author":{"gitId":"-"},"content":" }"},{"lineNumber":749,"author":{"gitId":"-"},"content":" return message.toString();"},{"lineNumber":750,"author":{"gitId":"-"},"content":" }"},{"lineNumber":751,"author":{"gitId":"-"},"content":""},{"lineNumber":752,"author":{"gitId":"-"},"content":" private String getViewerString(FeedbackParticipantType viewerType, FeedbackParticipantType recipientType) {"},{"lineNumber":753,"author":{"gitId":"-"},"content":" switch (viewerType) {"},{"lineNumber":754,"author":{"gitId":"-"},"content":" case RECEIVER:"},{"lineNumber":755,"author":{"gitId":"-"},"content":" return \"The receiving \" + getRecipientString(recipientType);"},{"lineNumber":756,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":757,"author":{"gitId":"-"},"content":" return \"Your team members\";"},{"lineNumber":758,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":759,"author":{"gitId":"-"},"content":" return \"Other students in the course\";"},{"lineNumber":760,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":761,"author":{"gitId":"-"},"content":" return \"Instructors in this course\";"},{"lineNumber":762,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":763,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unknown viewer type\");"},{"lineNumber":764,"author":{"gitId":"-"},"content":" }"},{"lineNumber":765,"author":{"gitId":"-"},"content":" }"},{"lineNumber":766,"author":{"gitId":"-"},"content":""},{"lineNumber":767,"author":{"gitId":"-"},"content":" private String getRecipientString(FeedbackParticipantType recipientType) {"},{"lineNumber":768,"author":{"gitId":"-"},"content":" switch (recipientType) {"},{"lineNumber":769,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":770,"author":{"gitId":"-"},"content":" case TEAMS_EXCLUDING_SELF:"},{"lineNumber":771,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":772,"author":{"gitId":"-"},"content":" return \"teams\";"},{"lineNumber":773,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":774,"author":{"gitId":"-"},"content":" return \"student\";"},{"lineNumber":775,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":776,"author":{"gitId":"-"},"content":" case STUDENTS_EXCLUDING_SELF:"},{"lineNumber":777,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":778,"author":{"gitId":"-"},"content":" return \"students\";"},{"lineNumber":779,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":780,"author":{"gitId":"-"},"content":" return \"instructors\";"},{"lineNumber":781,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":782,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unknown recipientType\");"},{"lineNumber":783,"author":{"gitId":"-"},"content":" }"},{"lineNumber":784,"author":{"gitId":"-"},"content":" }"},{"lineNumber":785,"author":{"gitId":"-"},"content":""},{"lineNumber":786,"author":{"gitId":"-"},"content":" public void clickSubmitQuestionButton(int qnNumber) {"},{"lineNumber":787,"author":{"gitId":"-"},"content":" WebElement submitQnButton \u003d waitForElementPresence(By.id(\"btn-submit-qn-\" + qnNumber));"},{"lineNumber":788,"author":{"gitId":"-"},"content":" clickAndConfirm(submitQnButton);"},{"lineNumber":789,"author":{"gitId":"-"},"content":" }"},{"lineNumber":790,"author":{"gitId":"-"},"content":""},{"lineNumber":791,"author":{"gitId":"-"},"content":" public void clickSubmitAllQuestionsButton() {"},{"lineNumber":792,"author":{"gitId":"-"},"content":" clickAndConfirm(getSubmitAllQuestionsButton());"},{"lineNumber":793,"author":{"gitId":"-"},"content":" }"},{"lineNumber":794,"author":{"gitId":"-"},"content":""},{"lineNumber":795,"author":{"gitId":"-"},"content":" private WebElement getSubmitAllQuestionsButton() {"},{"lineNumber":796,"author":{"gitId":"-"},"content":" return waitForElementPresence(By.id(\"btn-submit\"));"},{"lineNumber":797,"author":{"gitId":"-"},"content":" }"},{"lineNumber":798,"author":{"gitId":"-"},"content":""},{"lineNumber":799,"author":{"gitId":"-"},"content":" private String getQuestionDescription(int qnNumber) {"},{"lineNumber":800,"author":{"gitId":"-"},"content":" return getQuestionForm(qnNumber).findElement(By.className(\"question-description\")).getAttribute(\"innerHTML\");"},{"lineNumber":801,"author":{"gitId":"-"},"content":" }"},{"lineNumber":802,"author":{"gitId":"-"},"content":""},{"lineNumber":803,"author":{"gitId":"-"},"content":" private WebElement getCommentSection(int qnNumber, String recipient) {"},{"lineNumber":804,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":805,"author":{"gitId":"-"},"content":" return getQuestionForm(qnNumber).findElement(By.id(\"comment-section-qn-\" + qnNumber + \"-idx-\" + recipientIndex));"},{"lineNumber":806,"author":{"gitId":"-"},"content":" }"},{"lineNumber":807,"author":{"gitId":"-"},"content":""},{"lineNumber":808,"author":{"gitId":"-"},"content":" private void writeToCommentEditor(WebElement commentSection, String comment) {"},{"lineNumber":809,"author":{"gitId":"-"},"content":" scrollElementToCenter(commentSection);"},{"lineNumber":810,"author":{"gitId":"-"},"content":" waitForElementPresence(By.tagName(\"editor\"));"},{"lineNumber":811,"author":{"gitId":"-"},"content":" writeToRichTextEditor(commentSection.findElement(By.tagName(\"editor\")), comment);"},{"lineNumber":812,"author":{"gitId":"-"},"content":" }"},{"lineNumber":813,"author":{"gitId":"-"},"content":""},{"lineNumber":814,"author":{"gitId":"-"},"content":" private int getRecipientIndex(int qnNumber, String recipient) {"},{"lineNumber":815,"author":{"gitId":"-"},"content":" // For questions with recipient none or self."},{"lineNumber":816,"author":{"gitId":"-"},"content":" if (recipient.isEmpty()) {"},{"lineNumber":817,"author":{"gitId":"-"},"content":" return 0;"},{"lineNumber":818,"author":{"gitId":"-"},"content":" }"},{"lineNumber":819,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":820,"author":{"gitId":"-"},"content":" // For questions with flexible recipient."},{"lineNumber":821,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":822,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e recipientDropdowns \u003d"},{"lineNumber":823,"author":{"gitId":"-"},"content":" questionForm.findElements(By.cssSelector(\"[id^\u003d\u0027recipient-dropdown-qn-\u0027]\"));"},{"lineNumber":824,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c recipientDropdowns.size(); i++) {"},{"lineNumber":825,"author":{"gitId":"-"},"content":" String dropdownText \u003d getSelectedDropdownOptionText(recipientDropdowns.get(i));"},{"lineNumber":826,"author":{"gitId":"-"},"content":" if (dropdownText.isEmpty()) {"},{"lineNumber":827,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(recipientDropdowns.get(i), recipient);"},{"lineNumber":828,"author":{"gitId":"-"},"content":" return i;"},{"lineNumber":829,"author":{"gitId":"-"},"content":" } else if (dropdownText.equals(recipient)) {"},{"lineNumber":830,"author":{"gitId":"-"},"content":" return i;"},{"lineNumber":831,"author":{"gitId":"-"},"content":" }"},{"lineNumber":832,"author":{"gitId":"-"},"content":" }"},{"lineNumber":833,"author":{"gitId":"-"},"content":" } catch (NoSuchElementException e) {"},{"lineNumber":834,"author":{"gitId":"-"},"content":" // continue"},{"lineNumber":835,"author":{"gitId":"-"},"content":" }"},{"lineNumber":836,"author":{"gitId":"-"},"content":" int limit \u003d 20; // we are not likely to set test data exceeding this number"},{"lineNumber":837,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c limit; i++) {"},{"lineNumber":838,"author":{"gitId":"-"},"content":" if (questionForm.findElement(By.id(\"recipient-name-qn-\" + qnNumber + \"-idx-\" + i))"},{"lineNumber":839,"author":{"gitId":"-"},"content":" .getText().contains(recipient)) {"},{"lineNumber":840,"author":{"gitId":"-"},"content":" return i;"},{"lineNumber":841,"author":{"gitId":"-"},"content":" }"},{"lineNumber":842,"author":{"gitId":"-"},"content":" }"},{"lineNumber":843,"author":{"gitId":"-"},"content":" return -1;"},{"lineNumber":844,"author":{"gitId":"-"},"content":" }"},{"lineNumber":845,"author":{"gitId":"-"},"content":""},{"lineNumber":846,"author":{"gitId":"-"},"content":" private WebElement getTextResponseEditor(int qnNumber, String recipient) {"},{"lineNumber":847,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":848,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":849,"author":{"gitId":"-"},"content":" WebElement editor \u003d questionForm.findElements(By.tagName(\"tm-rich-text-editor\")).get(recipientIndex);"},{"lineNumber":850,"author":{"gitId":"-"},"content":" scrollElementToCenter(editor);"},{"lineNumber":851,"author":{"gitId":"-"},"content":" return editor;"},{"lineNumber":852,"author":{"gitId":"-"},"content":" }"},{"lineNumber":853,"author":{"gitId":"-"},"content":""},{"lineNumber":854,"author":{"gitId":"-"},"content":" private String getResponseLengthText(int qnNumber, String recipient) {"},{"lineNumber":855,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":856,"author":{"gitId":"-"},"content":" return getQuestionForm(qnNumber).findElements(By.id(\"response-length\")).get(recipientIndex).getText();"},{"lineNumber":857,"author":{"gitId":"-"},"content":" }"},{"lineNumber":858,"author":{"gitId":"-"},"content":""},{"lineNumber":859,"author":{"gitId":"-"},"content":" private String getDoubleString(Double value) {"},{"lineNumber":860,"author":{"gitId":"-"},"content":" return value % 1 \u003d\u003d 0 ? Integer.toString(value.intValue()) : Double.toString(value);"},{"lineNumber":861,"author":{"gitId":"-"},"content":" }"},{"lineNumber":862,"author":{"gitId":"-"},"content":""},{"lineNumber":863,"author":{"gitId":"-"},"content":" private WebElement getMcqSection(int qnNumber, String recipient) {"},{"lineNumber":864,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":865,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":866,"author":{"gitId":"-"},"content":" return questionForm.findElements(By.tagName(\"tm-mcq-question-edit-answer-form\")).get(recipientIndex);"},{"lineNumber":867,"author":{"gitId":"-"},"content":" }"},{"lineNumber":868,"author":{"gitId":"-"},"content":""},{"lineNumber":869,"author":{"gitId":"-"},"content":" private WebElement getMcqOtherOptionRadioBtn(int qnNumber, String recipient) {"},{"lineNumber":870,"author":{"gitId":"-"},"content":" WebElement mcqSection \u003d getMcqSection(qnNumber, recipient);"},{"lineNumber":871,"author":{"gitId":"-"},"content":" return mcqSection.findElement(By.cssSelector(\"#other-option input[type\u003dradio]\"));"},{"lineNumber":872,"author":{"gitId":"-"},"content":" }"},{"lineNumber":873,"author":{"gitId":"-"},"content":""},{"lineNumber":874,"author":{"gitId":"-"},"content":" private WebElement getMcqOtherOptionTextbox(int qnNumber, String recipient) {"},{"lineNumber":875,"author":{"gitId":"-"},"content":" WebElement mcqSection \u003d getMcqSection(qnNumber, recipient);"},{"lineNumber":876,"author":{"gitId":"-"},"content":" return mcqSection.findElement(By.cssSelector(\"#other-option input[type\u003dtext]\"));"},{"lineNumber":877,"author":{"gitId":"-"},"content":" }"},{"lineNumber":878,"author":{"gitId":"-"},"content":""},{"lineNumber":879,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getMcqOptions(int qnNumber, String recipient) {"},{"lineNumber":880,"author":{"gitId":"-"},"content":" WebElement mcqSection \u003d getMcqSection(qnNumber, recipient);"},{"lineNumber":881,"author":{"gitId":"-"},"content":" return mcqSection.findElements(By.className(\"option-text\"));"},{"lineNumber":882,"author":{"gitId":"-"},"content":" }"},{"lineNumber":883,"author":{"gitId":"-"},"content":""},{"lineNumber":884,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getMcqRadioBtns(int qnNumber, String recipient) {"},{"lineNumber":885,"author":{"gitId":"-"},"content":" WebElement mcqSection \u003d getMcqSection(qnNumber, recipient);"},{"lineNumber":886,"author":{"gitId":"-"},"content":" return mcqSection.findElements(By.cssSelector(\"input[type\u003dradio]\"));"},{"lineNumber":887,"author":{"gitId":"-"},"content":" }"},{"lineNumber":888,"author":{"gitId":"-"},"content":""},{"lineNumber":889,"author":{"gitId":"-"},"content":" private WebElement getMsqSection(int qnNumber, String recipient) {"},{"lineNumber":890,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":891,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":892,"author":{"gitId":"-"},"content":" return questionForm.findElements(By.tagName(\"tm-msq-question-edit-answer-form\")).get(recipientIndex);"},{"lineNumber":893,"author":{"gitId":"-"},"content":" }"},{"lineNumber":894,"author":{"gitId":"-"},"content":""},{"lineNumber":895,"author":{"gitId":"-"},"content":" private WebElement getMsqOtherOptionCheckbox(int qnNumber, String recipient) {"},{"lineNumber":896,"author":{"gitId":"-"},"content":" WebElement msqSection \u003d getMsqSection(qnNumber, recipient);"},{"lineNumber":897,"author":{"gitId":"-"},"content":" return msqSection.findElement(By.cssSelector(\"#other-option input[type\u003dcheckbox]\"));"},{"lineNumber":898,"author":{"gitId":"-"},"content":" }"},{"lineNumber":899,"author":{"gitId":"-"},"content":""},{"lineNumber":900,"author":{"gitId":"-"},"content":" private WebElement getMsqOtherOptionTextbox(int qnNumber, String recipient) {"},{"lineNumber":901,"author":{"gitId":"-"},"content":" WebElement msqSection \u003d getMsqSection(qnNumber, recipient);"},{"lineNumber":902,"author":{"gitId":"-"},"content":" return msqSection.findElement(By.cssSelector(\"#other-option input[type\u003dtext]\"));"},{"lineNumber":903,"author":{"gitId":"-"},"content":" }"},{"lineNumber":904,"author":{"gitId":"-"},"content":""},{"lineNumber":905,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getMsqOptions(int qnNumber, String recipient) {"},{"lineNumber":906,"author":{"gitId":"-"},"content":" WebElement msqSection \u003d getMsqSection(qnNumber, recipient);"},{"lineNumber":907,"author":{"gitId":"-"},"content":" return msqSection.findElements(By.tagName(\"strong\"));"},{"lineNumber":908,"author":{"gitId":"-"},"content":" }"},{"lineNumber":909,"author":{"gitId":"-"},"content":""},{"lineNumber":910,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getMsqCheckboxes(int qnNumber, String recipient) {"},{"lineNumber":911,"author":{"gitId":"-"},"content":" WebElement msqSection \u003d getMsqSection(qnNumber, recipient);"},{"lineNumber":912,"author":{"gitId":"-"},"content":" return msqSection.findElements(By.cssSelector(\"input[type\u003dcheckbox]\"));"},{"lineNumber":913,"author":{"gitId":"-"},"content":" }"},{"lineNumber":914,"author":{"gitId":"-"},"content":""},{"lineNumber":915,"author":{"gitId":"-"},"content":" private WebElement getNumScaleSection(int qnNumber, String recipient) {"},{"lineNumber":916,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":917,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":918,"author":{"gitId":"-"},"content":" return questionForm.findElements(By.tagName(\"tm-num-scale-question-edit-answer-form\")).get(recipientIndex);"},{"lineNumber":919,"author":{"gitId":"-"},"content":" }"},{"lineNumber":920,"author":{"gitId":"-"},"content":""},{"lineNumber":921,"author":{"gitId":"-"},"content":" private WebElement getNumScaleInput(int qnNumber, String recipient) {"},{"lineNumber":922,"author":{"gitId":"-"},"content":" WebElement numScaleSection \u003d getNumScaleSection(qnNumber, recipient);"},{"lineNumber":923,"author":{"gitId":"-"},"content":" return numScaleSection.findElement(By.tagName(\"input\"));"},{"lineNumber":924,"author":{"gitId":"-"},"content":" }"},{"lineNumber":925,"author":{"gitId":"-"},"content":""},{"lineNumber":926,"author":{"gitId":"-"},"content":" private WebElement getConstSumOptionsSection(int qnNumber, String recipient) {"},{"lineNumber":927,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":928,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":929,"author":{"gitId":"-"},"content":" return questionForm.findElements(By.tagName(\"tm-constsum-options-question-edit-answer-form\")).get(recipientIndex);"},{"lineNumber":930,"author":{"gitId":"-"},"content":" }"},{"lineNumber":931,"author":{"gitId":"-"},"content":""},{"lineNumber":932,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getConstSumOptions(int qnNumber, String recipient) {"},{"lineNumber":933,"author":{"gitId":"-"},"content":" WebElement constSumOptionSection \u003d getConstSumOptionsSection(qnNumber, recipient);"},{"lineNumber":934,"author":{"gitId":"-"},"content":" return constSumOptionSection.findElements(By.tagName(\"strong\"));"},{"lineNumber":935,"author":{"gitId":"-"},"content":" }"},{"lineNumber":936,"author":{"gitId":"-"},"content":""},{"lineNumber":937,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getConstSumInputs(int qnNumber, String recipient) {"},{"lineNumber":938,"author":{"gitId":"-"},"content":" WebElement constSumOptionSection \u003d getConstSumOptionsSection(qnNumber, recipient);"},{"lineNumber":939,"author":{"gitId":"-"},"content":" return constSumOptionSection.findElements(By.cssSelector(\"input[type\u003dnumber]\"));"},{"lineNumber":940,"author":{"gitId":"-"},"content":" }"},{"lineNumber":941,"author":{"gitId":"-"},"content":""},{"lineNumber":942,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getConstSumRecipientInputs(int qnNumber) {"},{"lineNumber":943,"author":{"gitId":"-"},"content":" return getQuestionForm(qnNumber).findElements(By.cssSelector(\"input[type\u003dnumber]\"));"},{"lineNumber":944,"author":{"gitId":"-"},"content":" }"},{"lineNumber":945,"author":{"gitId":"-"},"content":""},{"lineNumber":946,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getContributionDropdowns(int questionNum) {"},{"lineNumber":947,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElements(By.tagName(\"select\"));"},{"lineNumber":948,"author":{"gitId":"-"},"content":" }"},{"lineNumber":949,"author":{"gitId":"-"},"content":""},{"lineNumber":950,"author":{"gitId":"-"},"content":" private String getContributionString(int answer) {"},{"lineNumber":951,"author":{"gitId":"-"},"content":" if (answer \u003d\u003d Const.POINTS_NOT_SURE) {"},{"lineNumber":952,"author":{"gitId":"-"},"content":" return \"Not Sure\";"},{"lineNumber":953,"author":{"gitId":"-"},"content":" } else if (answer \u003d\u003d Const.POINTS_EQUAL_SHARE) {"},{"lineNumber":954,"author":{"gitId":"-"},"content":" return \"Equal share\";"},{"lineNumber":955,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":956,"author":{"gitId":"-"},"content":" return \"Equal share\" + (answer \u003e 100 ? \" + \" : \" - \") + Math.abs(answer - 100) + \"%\";"},{"lineNumber":957,"author":{"gitId":"-"},"content":" }"},{"lineNumber":958,"author":{"gitId":"-"},"content":" }"},{"lineNumber":959,"author":{"gitId":"-"},"content":""},{"lineNumber":960,"author":{"gitId":"-"},"content":" private WebElement getRubricSection(int qnNumber, String recipient) {"},{"lineNumber":961,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":962,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":963,"author":{"gitId":"-"},"content":" return questionForm.findElements(By.tagName(\"tm-rubric-question-edit-answer-form\")).get(recipientIndex);"},{"lineNumber":964,"author":{"gitId":"-"},"content":" }"},{"lineNumber":965,"author":{"gitId":"-"},"content":""},{"lineNumber":966,"author":{"gitId":"-"},"content":" private WebElement getRubricTable(int qnNumber, String recipient) {"},{"lineNumber":967,"author":{"gitId":"-"},"content":" return getRubricSection(qnNumber, recipient).findElement(By.tagName(\"table\"));"},{"lineNumber":968,"author":{"gitId":"-"},"content":" }"},{"lineNumber":969,"author":{"gitId":"-"},"content":""},{"lineNumber":970,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getRubricInputs(int qnNumber, String recipient, int rowNumber) {"},{"lineNumber":971,"author":{"gitId":"-"},"content":" WebElement rubricRow \u003d getRubricSection(qnNumber, recipient).findElements(By.tagName(\"tr\")).get(rowNumber - 1);"},{"lineNumber":972,"author":{"gitId":"-"},"content":" return rubricRow.findElements(By.tagName(\"input\"));"},{"lineNumber":973,"author":{"gitId":"-"},"content":" }"},{"lineNumber":974,"author":{"gitId":"-"},"content":""},{"lineNumber":975,"author":{"gitId":"-"},"content":" private WebElement getRankOptionsSection(int qnNumber, String recipient) {"},{"lineNumber":976,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":977,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":978,"author":{"gitId":"-"},"content":" return questionForm.findElements(By.tagName(\"tm-rank-options-question-edit-answer-form\")).get(recipientIndex);"},{"lineNumber":979,"author":{"gitId":"-"},"content":" }"},{"lineNumber":980,"author":{"gitId":"-"},"content":""},{"lineNumber":981,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getRankOptions(int questionNum, String recipient) {"},{"lineNumber":982,"author":{"gitId":"-"},"content":" WebElement rankSection \u003d getRankOptionsSection(questionNum, recipient);"},{"lineNumber":983,"author":{"gitId":"-"},"content":" return rankSection.findElements(By.tagName(\"strong\"));"},{"lineNumber":984,"author":{"gitId":"-"},"content":" }"},{"lineNumber":985,"author":{"gitId":"-"},"content":""},{"lineNumber":986,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getRankOptionsDropdowns(int questionNum, String recipient) {"},{"lineNumber":987,"author":{"gitId":"-"},"content":" WebElement rankSection \u003d getRankOptionsSection(questionNum, recipient);"},{"lineNumber":988,"author":{"gitId":"-"},"content":" return rankSection.findElements(By.tagName(\"select\"));"},{"lineNumber":989,"author":{"gitId":"-"},"content":" }"},{"lineNumber":990,"author":{"gitId":"-"},"content":""},{"lineNumber":991,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getRankRecipientDropdowns(int questionNum) {"},{"lineNumber":992,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElements(By.tagName(\"select\"));"},{"lineNumber":993,"author":{"gitId":"-"},"content":" }"},{"lineNumber":994,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":13,"dishenggg":45,"mingyuanc":14,"-":922}},{"path":"src/e2e/java/teammates/e2e/pageobjects/InstructorFeedbackEditPage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.pageobjects;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.Assert.assertEquals;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static org.junit.Assert.assertFalse;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static org.junit.Assert.assertTrue;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.openqa.selenium.By;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.openqa.selenium.Keys;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebElement;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.FindBy;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackConstantSumQuestionDetails;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackContributionQuestionDetails;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMcqQuestionDetails;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMsqQuestionDetails;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackNumericalScaleQuestionDetails;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionType;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankOptionsQuestionDetails;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankQuestionDetails;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRubricQuestionDetails;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackTextQuestionDetails;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.test.ThreadHelper;"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":40,"author":{"gitId":"-"},"content":" * Represents the instructor feedback edit page of the website."},{"lineNumber":41,"author":{"gitId":"-"},"content":" */"},{"lineNumber":42,"author":{"gitId":"-"},"content":"public class InstructorFeedbackEditPage extends AppPage {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String CUSTOM_FEEDBACK_PATH_OPTION \u003d \"Custom feedback path\";"},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_PATH_SEPARATOR \u003d \" will give feedback on \";"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final String CUSTOM_VISIBILITY_OPTION \u003d \"Custom visibility options\";"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-fs-edit\")"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private WebElement fsEditButton;"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-fs-save\")"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private WebElement fsSaveButton;"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-fs-copy\")"},{"lineNumber":54,"author":{"gitId":"-"},"content":" private WebElement fsCopyButton;"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"edit-course-id\")"},{"lineNumber":57,"author":{"gitId":"-"},"content":" private WebElement courseIdTextBox;"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"time-zone\")"},{"lineNumber":60,"author":{"gitId":"-"},"content":" private WebElement timezoneDropDown;"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"course-name\")"},{"lineNumber":63,"author":{"gitId":"-"},"content":" private WebElement courseNameTextBox;"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"edit-session-name\")"},{"lineNumber":66,"author":{"gitId":"-"},"content":" private WebElement sessionNameTextBox;"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"instructions\")"},{"lineNumber":69,"author":{"gitId":"-"},"content":" private WebElement instructionsEditor;"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"submission-start-date\")"},{"lineNumber":72,"author":{"gitId":"-"},"content":" private WebElement startDateBox;"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"submission-start-time\")"},{"lineNumber":75,"author":{"gitId":"-"},"content":" private WebElement startTimeDropdown;"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"submission-end-date\")"},{"lineNumber":78,"author":{"gitId":"-"},"content":" private WebElement endDateBox;"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"submission-end-time\")"},{"lineNumber":81,"author":{"gitId":"-"},"content":" private WebElement endTimeDropdown;"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"grace-period\")"},{"lineNumber":84,"author":{"gitId":"-"},"content":" private WebElement gracePeriodDropdown;"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"submission-status\")"},{"lineNumber":87,"author":{"gitId":"-"},"content":" private WebElement submissionStatusTextBox;"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"published-status\")"},{"lineNumber":90,"author":{"gitId":"-"},"content":" private WebElement publishStatusTextBox;"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-change-visibility\")"},{"lineNumber":93,"author":{"gitId":"-"},"content":" private WebElement changeVisibilityButton;"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"session-visibility-custom\")"},{"lineNumber":96,"author":{"gitId":"-"},"content":" private WebElement customSessionVisibleTimeButton;"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"session-visibility-date\")"},{"lineNumber":99,"author":{"gitId":"-"},"content":" private WebElement sessionVisibilityDateBox;"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"session-visibility-time\")"},{"lineNumber":102,"author":{"gitId":"-"},"content":" private WebElement sessionVisibilityTimeDropdown;"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"session-visibility-at-open\")"},{"lineNumber":105,"author":{"gitId":"-"},"content":" private WebElement openSessionVisibleTimeButton;"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"response-visibility-custom\")"},{"lineNumber":108,"author":{"gitId":"-"},"content":" private WebElement customResponseVisibleTimeButton;"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"response-visibility-date\")"},{"lineNumber":111,"author":{"gitId":"-"},"content":" private WebElement responseVisibilityDateBox;"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"response-visibility-time\")"},{"lineNumber":114,"author":{"gitId":"-"},"content":" private WebElement responseVisibilityTimeDropdown;"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"response-visibility-immediately\")"},{"lineNumber":117,"author":{"gitId":"-"},"content":" private WebElement immediateResponseVisibleTimeButton;"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"response-visibility-manually\")"},{"lineNumber":120,"author":{"gitId":"-"},"content":" private WebElement manualResponseVisibleTimeButton;"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-change-email\")"},{"lineNumber":123,"author":{"gitId":"-"},"content":" private WebElement changeEmailButton;"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"email-opening\")"},{"lineNumber":126,"author":{"gitId":"-"},"content":" private WebElement openingSessionEmailCheckbox;"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"email-closing\")"},{"lineNumber":129,"author":{"gitId":"-"},"content":" private WebElement closingSessionEmailCheckbox;"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"email-published\")"},{"lineNumber":132,"author":{"gitId":"-"},"content":" private WebElement publishedSessionEmailCheckbox;"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-new-question\")"},{"lineNumber":135,"author":{"gitId":"-"},"content":" private WebElement addNewQuestionButton;"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-copy-question\")"},{"lineNumber":138,"author":{"gitId":"-"},"content":" private WebElement copyQuestionButton;"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"preview-student\")"},{"lineNumber":141,"author":{"gitId":"-"},"content":" private WebElement previewAsStudentDropdown;"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-preview-student\")"},{"lineNumber":144,"author":{"gitId":"-"},"content":" private WebElement previewAsStudentButton;"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"preview-instructor\")"},{"lineNumber":147,"author":{"gitId":"-"},"content":" private WebElement previewAsInstructorDropdown;"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-preview-instructor\")"},{"lineNumber":150,"author":{"gitId":"-"},"content":" private WebElement previewAsInstructorButton;"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" public InstructorFeedbackEditPage(Browser browser) {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" super(browser);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":157,"author":{"gitId":"-"},"content":" protected boolean containsExpectedPageContents() {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" return getPageTitle().contains(\"Edit Feedback Session\");"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" public void verifySessionDetails(CourseAttributes course, FeedbackSessionAttributes feedbackSession) {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" waitForElementPresence(By.id(\"instructions\"));"},{"lineNumber":163,"author":{"gitId":"-"},"content":" assertEquals(getCourseId(), course.getId());"},{"lineNumber":164,"author":{"gitId":"-"},"content":" assertEquals(getCourseName(), course.getName());"},{"lineNumber":165,"author":{"gitId":"-"},"content":" assertEquals(getTimeZone(), feedbackSession.getTimeZone());"},{"lineNumber":166,"author":{"gitId":"-"},"content":" assertEquals(getFeedbackSessionName(), feedbackSession.getFeedbackSessionName());"},{"lineNumber":167,"author":{"gitId":"-"},"content":" assertEquals(getInstructions(), feedbackSession.getInstructions());"},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertEquals(getStartDate(), getDateString(feedbackSession.getStartTime(), feedbackSession.getTimeZone()));"},{"lineNumber":169,"author":{"gitId":"-"},"content":" assertEquals(getStartTime(), getTimeString(feedbackSession.getStartTime(), feedbackSession.getTimeZone()));"},{"lineNumber":170,"author":{"gitId":"-"},"content":" assertEquals(getEndDate(), getDateString(feedbackSession.getEndTime(), feedbackSession.getTimeZone()));"},{"lineNumber":171,"author":{"gitId":"-"},"content":" assertEquals(getEndTime(), getTimeString(feedbackSession.getEndTime(), feedbackSession.getTimeZone()));"},{"lineNumber":172,"author":{"gitId":"-"},"content":" assertEquals(getGracePeriod(), feedbackSession.getGracePeriodMinutes() + \" min\");"},{"lineNumber":173,"author":{"gitId":"-"},"content":" verifySubmissionStatus(feedbackSession);"},{"lineNumber":174,"author":{"gitId":"-"},"content":" verifyPublishedStatus(feedbackSession);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" verifyVisibilitySettings(feedbackSession);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" verifyEmailSettings(feedbackSession);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" private void verifySubmissionStatus(FeedbackSessionAttributes feedbackSession) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" String submissionStatus \u003d getSubmissionStatus();"},{"lineNumber":181,"author":{"gitId":"-"},"content":" if (feedbackSession.isClosed()) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" assertEquals(submissionStatus, \"Closed\");"},{"lineNumber":183,"author":{"gitId":"-"},"content":" } else if (feedbackSession.isVisible() \u0026\u0026 (feedbackSession.isOpened() || feedbackSession.isInGracePeriod())) {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" assertEquals(submissionStatus, \"Open\");"},{"lineNumber":185,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" assertEquals(submissionStatus, \"Awaiting\");"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" private void verifyPublishedStatus(FeedbackSessionAttributes feedbackSession) {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" String publishedStatus \u003d getPublishedStatus();"},{"lineNumber":192,"author":{"gitId":"-"},"content":" if (feedbackSession.isPublished()) {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" assertEquals(publishedStatus, \"Published\");"},{"lineNumber":194,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" assertEquals(publishedStatus, \"Not Published\");"},{"lineNumber":196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" private void verifyVisibilitySettings(FeedbackSessionAttributes feedbackSession) {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" Instant sessionVisibleTime \u003d feedbackSession.getSessionVisibleFromTime();"},{"lineNumber":201,"author":{"gitId":"-"},"content":" Instant responseVisibleTime \u003d feedbackSession.getResultsVisibleFromTime();"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" // Default settings, assert setting section not expanded"},{"lineNumber":204,"author":{"gitId":"-"},"content":" if (sessionVisibleTime.equals(Const.TIME_REPRESENTS_FOLLOW_OPENING)"},{"lineNumber":205,"author":{"gitId":"-"},"content":" \u0026\u0026 responseVisibleTime.equals(Const.TIME_REPRESENTS_LATER)) {"},{"lineNumber":206,"author":{"gitId":"-"},"content":" assertTrue(isElementPresent(\"btn-change-visibility\"));"},{"lineNumber":207,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":208,"author":{"gitId":"-"},"content":" }"},{"lineNumber":209,"author":{"gitId":"-"},"content":" verifySessionVisibilitySettings(sessionVisibleTime, feedbackSession);"},{"lineNumber":210,"author":{"gitId":"-"},"content":" verifyResponseVisibilitySettings(responseVisibleTime, feedbackSession);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" private void verifySessionVisibilitySettings(Instant sessionVisibleTime,"},{"lineNumber":214,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes feedbackSession) {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" if (sessionVisibleTime.equals(Const.TIME_REPRESENTS_FOLLOW_OPENING)) {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" assertTrue(openSessionVisibleTimeButton.isSelected());"},{"lineNumber":217,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" assertTrue(customSessionVisibleTimeButton.isSelected());"},{"lineNumber":219,"author":{"gitId":"-"},"content":" assertEquals(getSessionVisibilityDate(), getDateString(feedbackSession.getSessionVisibleFromTime(),"},{"lineNumber":220,"author":{"gitId":"-"},"content":" feedbackSession.getTimeZone()));"},{"lineNumber":221,"author":{"gitId":"-"},"content":" assertEquals(getSessionVisibilityTime(), getTimeString(feedbackSession.getSessionVisibleFromTime(),"},{"lineNumber":222,"author":{"gitId":"-"},"content":" feedbackSession.getTimeZone()));"},{"lineNumber":223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" private void verifyResponseVisibilitySettings(Instant responseVisibleTime,"},{"lineNumber":227,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes feedbackSession) {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" if (responseVisibleTime.equals(Const.TIME_REPRESENTS_FOLLOW_VISIBLE)) {"},{"lineNumber":229,"author":{"gitId":"-"},"content":" assertTrue(immediateResponseVisibleTimeButton.isSelected());"},{"lineNumber":230,"author":{"gitId":"-"},"content":" } else if (responseVisibleTime.equals(Const.TIME_REPRESENTS_LATER)) {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" assertTrue(manualResponseVisibleTimeButton.isSelected());"},{"lineNumber":232,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" assertTrue(customSessionVisibleTimeButton.isSelected());"},{"lineNumber":234,"author":{"gitId":"-"},"content":" assertEquals(getResponseVisibilityDate(), getDateString(feedbackSession.getResultsVisibleFromTime(),"},{"lineNumber":235,"author":{"gitId":"-"},"content":" feedbackSession.getTimeZone()));"},{"lineNumber":236,"author":{"gitId":"-"},"content":" assertEquals(getResponseVisibilityTime(), getTimeString(feedbackSession.getResultsVisibleFromTime(),"},{"lineNumber":237,"author":{"gitId":"-"},"content":" feedbackSession.getTimeZone()));"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" private void verifyEmailSettings(FeedbackSessionAttributes feedbackSession) {"},{"lineNumber":242,"author":{"gitId":"-"},"content":" boolean isOpeningEmailEnabled \u003d feedbackSession.isOpeningEmailEnabled();"},{"lineNumber":243,"author":{"gitId":"-"},"content":" boolean isClosingEmailEnabled \u003d feedbackSession.isClosingEmailEnabled();"},{"lineNumber":244,"author":{"gitId":"-"},"content":" boolean isPublishedEmailEnabled \u003d feedbackSession.isPublishedEmailEnabled();"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" // Default settings, assert setting section not expanded"},{"lineNumber":247,"author":{"gitId":"-"},"content":" if (isOpeningEmailEnabled \u0026\u0026 isClosingEmailEnabled \u0026\u0026 isPublishedEmailEnabled) {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" assertTrue(isElementPresent(\"btn-change-email\"));"},{"lineNumber":249,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":250,"author":{"gitId":"-"},"content":" }"},{"lineNumber":251,"author":{"gitId":"-"},"content":" if (isOpeningEmailEnabled) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" assertTrue(openingSessionEmailCheckbox.isSelected());"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":" if (isClosingEmailEnabled) {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" assertTrue(closingSessionEmailCheckbox.isSelected());"},{"lineNumber":256,"author":{"gitId":"-"},"content":" }"},{"lineNumber":257,"author":{"gitId":"-"},"content":" if (isPublishedEmailEnabled) {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" assertTrue(publishedSessionEmailCheckbox.isSelected());"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" public void editSessionDetails(FeedbackSessionAttributes newFeedbackSessionDetails) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" click(fsEditButton);"},{"lineNumber":264,"author":{"gitId":"-"},"content":" setInstructions(newFeedbackSessionDetails.getInstructions());"},{"lineNumber":265,"author":{"gitId":"-"},"content":" setSessionStartDateTime(newFeedbackSessionDetails.getStartTime(), newFeedbackSessionDetails.getTimeZone());"},{"lineNumber":266,"author":{"gitId":"-"},"content":" setSessionEndDateTime(newFeedbackSessionDetails.getEndTime(), newFeedbackSessionDetails.getTimeZone());"},{"lineNumber":267,"author":{"gitId":"-"},"content":" selectGracePeriod(newFeedbackSessionDetails.getGracePeriodMinutes());"},{"lineNumber":268,"author":{"gitId":"-"},"content":" setVisibilitySettings(newFeedbackSessionDetails);"},{"lineNumber":269,"author":{"gitId":"-"},"content":" setEmailSettings(newFeedbackSessionDetails);"},{"lineNumber":270,"author":{"gitId":"-"},"content":" click(fsSaveButton);"},{"lineNumber":271,"author":{"gitId":"-"},"content":" }"},{"lineNumber":272,"author":{"gitId":"-"},"content":""},{"lineNumber":273,"author":{"gitId":"-"},"content":" public void copySessionToOtherCourse(CourseAttributes otherCourse, String sessionName) {"},{"lineNumber":274,"author":{"gitId":"-"},"content":" click(fsCopyButton);"},{"lineNumber":275,"author":{"gitId":"-"},"content":" WebElement copyFsModal \u003d waitForElementPresence(By.id(\"copy-course-modal\"));"},{"lineNumber":276,"author":{"gitId":"-"},"content":""},{"lineNumber":277,"author":{"gitId":"-"},"content":" fillTextBox(copyFsModal.findElement(By.id(\"copy-session-name\")), sessionName);"},{"lineNumber":278,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e options \u003d copyFsModal.findElements(By.className(\"form-check\"));"},{"lineNumber":279,"author":{"gitId":"-"},"content":" for (WebElement option : options) {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" String courseId \u003d option.findElement(By.cssSelector(\"label span\")).getText();"},{"lineNumber":281,"author":{"gitId":"-"},"content":" if (courseId.equals(otherCourse.getId())) {"},{"lineNumber":282,"author":{"gitId":"-"},"content":" click(option.findElement(By.tagName(\"input\")));"},{"lineNumber":283,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":" click(browser.driver.findElement(By.id(\"btn-confirm-copy-course\")));"},{"lineNumber":287,"author":{"gitId":"-"},"content":" }"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":" public void deleteSession() {"},{"lineNumber":290,"author":{"gitId":"-"},"content":" clickAndConfirm(waitForElementPresence(By.id(\"btn-fs-delete\")));"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" public FeedbackSubmitPage previewAsStudent(StudentAttributes student) {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(previewAsStudentDropdown, String.format(\"[%s] %s\", student.getTeam(), student.getName()));"},{"lineNumber":295,"author":{"gitId":"-"},"content":" click(previewAsStudentButton);"},{"lineNumber":296,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(2000);"},{"lineNumber":297,"author":{"gitId":"-"},"content":" switchToNewWindow();"},{"lineNumber":298,"author":{"gitId":"-"},"content":" return changePageType(FeedbackSubmitPage.class);"},{"lineNumber":299,"author":{"gitId":"-"},"content":" }"},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":" public FeedbackSubmitPage previewAsInstructor(InstructorAttributes instructor) {"},{"lineNumber":302,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(previewAsInstructorDropdown, instructor.getName());"},{"lineNumber":303,"author":{"gitId":"-"},"content":" click(previewAsInstructorButton);"},{"lineNumber":304,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(2000);"},{"lineNumber":305,"author":{"gitId":"-"},"content":" switchToNewWindow();"},{"lineNumber":306,"author":{"gitId":"-"},"content":" return changePageType(FeedbackSubmitPage.class);"},{"lineNumber":307,"author":{"gitId":"-"},"content":" }"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":" public void verifyNumQuestions(int expected) {"},{"lineNumber":310,"author":{"gitId":"-"},"content":" assertEquals(getNumQuestions(), expected);"},{"lineNumber":311,"author":{"gitId":"-"},"content":" }"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":" public void verifyQuestionDetails(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":314,"author":{"gitId":"-"},"content":" scrollElementToCenter(getQuestionForm(questionNum));"},{"lineNumber":315,"author":{"gitId":"-"},"content":" assertEquals(feedbackQuestion.getQuestionType(), getQuestionType(questionNum));"},{"lineNumber":316,"author":{"gitId":"-"},"content":" assertEquals(feedbackQuestion.getQuestionNumber(), getQuestionNumber(questionNum));"},{"lineNumber":317,"author":{"gitId":"-"},"content":" assertEquals(feedbackQuestion.getQuestionDetailsCopy().getQuestionText(), getQuestionBrief(questionNum));"},{"lineNumber":318,"author":{"gitId":"-"},"content":" assertEquals(getQuestionDescription(questionNum), feedbackQuestion.getQuestionDescription());"},{"lineNumber":319,"author":{"gitId":"-"},"content":" verifyFeedbackPathSettings(questionNum, feedbackQuestion);"},{"lineNumber":320,"author":{"gitId":"-"},"content":" verifyQuestionVisibilitySettings(questionNum, feedbackQuestion);"},{"lineNumber":321,"author":{"gitId":"-"},"content":" }"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" private void verifyFeedbackPathSettings(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":324,"author":{"gitId":"-"},"content":" assertEquals(getDisplayGiverName(feedbackQuestion.getGiverType()), getFeedbackGiver(questionNum));"},{"lineNumber":325,"author":{"gitId":"-"},"content":" String feedbackReceiver \u003d getFeedbackReceiver(questionNum);"},{"lineNumber":326,"author":{"gitId":"-"},"content":" assertEquals(getDisplayRecipientName(feedbackQuestion.getRecipientType()), feedbackReceiver);"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" if (feedbackReceiver.equals(getDisplayRecipientName(FeedbackParticipantType.INSTRUCTORS))"},{"lineNumber":329,"author":{"gitId":"-"},"content":" || feedbackReceiver.equals(getDisplayRecipientName(FeedbackParticipantType.STUDENTS_EXCLUDING_SELF))"},{"lineNumber":330,"author":{"gitId":"-"},"content":" || feedbackReceiver.equals(getDisplayRecipientName(FeedbackParticipantType.TEAMS_EXCLUDING_SELF))) {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" verifyNumberOfEntitiesToGiveFeedbackTo(questionNum, feedbackQuestion.getNumberOfEntitiesToGiveFeedbackTo());"},{"lineNumber":332,"author":{"gitId":"-"},"content":" }"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" private void verifyNumberOfEntitiesToGiveFeedbackTo(int questionNum, int numberOfEntitiesToGiveFeedbackTo) {"},{"lineNumber":336,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum);"},{"lineNumber":337,"author":{"gitId":"-"},"content":" WebElement feedbackPathPanel \u003d questionForm.findElement(By.tagName(\"tm-feedback-path-panel\"));"},{"lineNumber":338,"author":{"gitId":"-"},"content":" if (numberOfEntitiesToGiveFeedbackTo \u003d\u003d Const.MAX_POSSIBLE_RECIPIENTS) {"},{"lineNumber":339,"author":{"gitId":"-"},"content":" assertTrue(feedbackPathPanel.findElement(By.id(\"unlimited-recipients\")).isSelected());"},{"lineNumber":340,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":341,"author":{"gitId":"-"},"content":" assertTrue(feedbackPathPanel.findElement(By.id(\"custom-recipients\")).isSelected());"},{"lineNumber":342,"author":{"gitId":"-"},"content":" assertEquals(feedbackPathPanel.findElement(By.id(\"custom-recipients-number\")).getAttribute(\"value\"),"},{"lineNumber":343,"author":{"gitId":"-"},"content":" Integer.toString(numberOfEntitiesToGiveFeedbackTo));"},{"lineNumber":344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":" private void verifyQuestionVisibilitySettings(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":348,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum);"},{"lineNumber":349,"author":{"gitId":"-"},"content":" WebElement visibilityPanel \u003d questionForm.findElement(By.tagName(\"tm-visibility-panel\"));"},{"lineNumber":350,"author":{"gitId":"-"},"content":" String visibility \u003d visibilityPanel.findElement(By.cssSelector(\"#btn-question-visibility span\")).getText();"},{"lineNumber":351,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showResponsesTo \u003d feedbackQuestion.getShowResponsesTo();"},{"lineNumber":352,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showGiverNameTo \u003d feedbackQuestion.getShowGiverNameTo();"},{"lineNumber":353,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showRecipientNameTo \u003d feedbackQuestion.getShowRecipientNameTo();"},{"lineNumber":354,"author":{"gitId":"-"},"content":""},{"lineNumber":355,"author":{"gitId":"-"},"content":" switch (visibility) {"},{"lineNumber":356,"author":{"gitId":"-"},"content":" case \"Shown anonymously to recipient and giver\u0027s team members, visible to instructors\":"},{"lineNumber":357,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":358,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":359,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.OWN_TEAM_MEMBERS));"},{"lineNumber":360,"author":{"gitId":"-"},"content":" assertEquals(showResponsesTo.size(), 3);"},{"lineNumber":361,"author":{"gitId":"-"},"content":""},{"lineNumber":362,"author":{"gitId":"-"},"content":" assertTrue(showGiverNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":363,"author":{"gitId":"-"},"content":" assertEquals(showGiverNameTo.size(), 1);"},{"lineNumber":364,"author":{"gitId":"-"},"content":""},{"lineNumber":365,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":366,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":367,"author":{"gitId":"-"},"content":" assertEquals(showRecipientNameTo.size(), 2);"},{"lineNumber":368,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":369,"author":{"gitId":"-"},"content":""},{"lineNumber":370,"author":{"gitId":"-"},"content":" case \"Visible to instructors only\":"},{"lineNumber":371,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":372,"author":{"gitId":"-"},"content":" assertEquals(showResponsesTo.size(), 1);"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":" assertTrue(showGiverNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":375,"author":{"gitId":"-"},"content":" assertEquals(showGiverNameTo.size(), 1);"},{"lineNumber":376,"author":{"gitId":"-"},"content":""},{"lineNumber":377,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":378,"author":{"gitId":"-"},"content":" assertEquals(showRecipientNameTo.size(), 1);"},{"lineNumber":379,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":380,"author":{"gitId":"-"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":" case \"Shown anonymously to recipient and instructors\":"},{"lineNumber":382,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":383,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":384,"author":{"gitId":"-"},"content":" assertEquals(showResponsesTo.size(), 2);"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" assertEquals(showGiverNameTo.size(), 0);"},{"lineNumber":387,"author":{"gitId":"-"},"content":""},{"lineNumber":388,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":389,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":390,"author":{"gitId":"-"},"content":" assertEquals(showRecipientNameTo.size(), 2);"},{"lineNumber":391,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":392,"author":{"gitId":"-"},"content":""},{"lineNumber":393,"author":{"gitId":"-"},"content":" case \"Shown anonymously to recipient, visible to instructors\":"},{"lineNumber":394,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":395,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":396,"author":{"gitId":"-"},"content":" assertEquals(showResponsesTo.size(), 2);"},{"lineNumber":397,"author":{"gitId":"-"},"content":""},{"lineNumber":398,"author":{"gitId":"-"},"content":" assertTrue(showGiverNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":399,"author":{"gitId":"-"},"content":" assertEquals(showGiverNameTo.size(), 1);"},{"lineNumber":400,"author":{"gitId":"-"},"content":""},{"lineNumber":401,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":402,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":403,"author":{"gitId":"-"},"content":" assertEquals(showRecipientNameTo.size(), 2);"},{"lineNumber":404,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" case \"Shown anonymously to recipient and giver/recipient\u0027s team members, visible to instructors\":"},{"lineNumber":407,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":408,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":409,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.OWN_TEAM_MEMBERS));"},{"lineNumber":410,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS));"},{"lineNumber":411,"author":{"gitId":"-"},"content":" assertEquals(showResponsesTo.size(), 4);"},{"lineNumber":412,"author":{"gitId":"-"},"content":""},{"lineNumber":413,"author":{"gitId":"-"},"content":" assertTrue(showGiverNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":414,"author":{"gitId":"-"},"content":" assertEquals(showGiverNameTo.size(), 1);"},{"lineNumber":415,"author":{"gitId":"-"},"content":""},{"lineNumber":416,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":417,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":418,"author":{"gitId":"-"},"content":" assertEquals(showRecipientNameTo.size(), 2);"},{"lineNumber":419,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":420,"author":{"gitId":"-"},"content":""},{"lineNumber":421,"author":{"gitId":"-"},"content":" case \"Visible to recipient and instructors\":"},{"lineNumber":422,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":423,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":424,"author":{"gitId":"-"},"content":" assertEquals(showResponsesTo.size(), 2);"},{"lineNumber":425,"author":{"gitId":"-"},"content":""},{"lineNumber":426,"author":{"gitId":"-"},"content":" assertTrue(showGiverNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":427,"author":{"gitId":"-"},"content":" assertTrue(showGiverNameTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":428,"author":{"gitId":"-"},"content":" assertEquals(showGiverNameTo.size(), 2);"},{"lineNumber":429,"author":{"gitId":"-"},"content":""},{"lineNumber":430,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":431,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":432,"author":{"gitId":"-"},"content":" assertEquals(showRecipientNameTo.size(), 2);"},{"lineNumber":433,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":434,"author":{"gitId":"-"},"content":""},{"lineNumber":435,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":436,"author":{"gitId":"-"},"content":" verifyCustomQuestionVisibility(questionNum, feedbackQuestion);"},{"lineNumber":437,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":438,"author":{"gitId":"-"},"content":" }"},{"lineNumber":439,"author":{"gitId":"-"},"content":" }"},{"lineNumber":440,"author":{"gitId":"-"},"content":""},{"lineNumber":441,"author":{"gitId":"-"},"content":" private void verifyCustomQuestionVisibility(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":442,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum);"},{"lineNumber":443,"author":{"gitId":"-"},"content":" WebElement visibilityPanel \u003d questionForm.findElement(By.tagName(\"tm-visibility-panel\"));"},{"lineNumber":444,"author":{"gitId":"-"},"content":" String visibility \u003d visibilityPanel.findElement(By.cssSelector(\"#btn-question-visibility span\")).getText();"},{"lineNumber":445,"author":{"gitId":"-"},"content":" assertEquals(visibility, CUSTOM_VISIBILITY_OPTION);"},{"lineNumber":446,"author":{"gitId":"-"},"content":""},{"lineNumber":447,"author":{"gitId":"-"},"content":" FeedbackParticipantType giver \u003d feedbackQuestion.getGiverType();"},{"lineNumber":448,"author":{"gitId":"-"},"content":" FeedbackParticipantType receiver \u003d feedbackQuestion.getRecipientType();"},{"lineNumber":449,"author":{"gitId":"-"},"content":" WebElement customVisibilityTable \u003d visibilityPanel.findElement(By.id(\"custom-visibility-table\"));"},{"lineNumber":450,"author":{"gitId":"-"},"content":" assertVisibilityBoxesSelected(customVisibilityTable, giver, receiver, feedbackQuestion.getShowResponsesTo(), 1);"},{"lineNumber":451,"author":{"gitId":"-"},"content":" assertVisibilityBoxesSelected(customVisibilityTable, giver, receiver, feedbackQuestion.getShowGiverNameTo(), 2);"},{"lineNumber":452,"author":{"gitId":"-"},"content":" assertVisibilityBoxesSelected(customVisibilityTable, giver, receiver, feedbackQuestion.getShowRecipientNameTo(), 3);"},{"lineNumber":453,"author":{"gitId":"-"},"content":" }"},{"lineNumber":454,"author":{"gitId":"-"},"content":""},{"lineNumber":455,"author":{"gitId":"-"},"content":" private void assertVisibilityBoxesSelected(WebElement table, FeedbackParticipantType giver,"},{"lineNumber":456,"author":{"gitId":"-"},"content":" FeedbackParticipantType receiver, List\u003cFeedbackParticipantType\u003e participants,"},{"lineNumber":457,"author":{"gitId":"-"},"content":" int colNum) {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e possibleTypes \u003d new ArrayList\u003c\u003e(Arrays.asList(FeedbackParticipantType.RECEIVER,"},{"lineNumber":459,"author":{"gitId":"-"},"content":" FeedbackParticipantType.OWN_TEAM_MEMBERS, FeedbackParticipantType.RECEIVER_TEAM_MEMBERS,"},{"lineNumber":460,"author":{"gitId":"-"},"content":" FeedbackParticipantType.STUDENTS, FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":461,"author":{"gitId":"-"},"content":" if (!giver.equals(FeedbackParticipantType.STUDENTS)) {"},{"lineNumber":462,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.OWN_TEAM_MEMBERS);"},{"lineNumber":463,"author":{"gitId":"-"},"content":" }"},{"lineNumber":464,"author":{"gitId":"-"},"content":" if (!receiver.equals(FeedbackParticipantType.STUDENTS)) {"},{"lineNumber":465,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS);"},{"lineNumber":466,"author":{"gitId":"-"},"content":" }"},{"lineNumber":467,"author":{"gitId":"-"},"content":" if (receiver.equals(FeedbackParticipantType.NONE)"},{"lineNumber":468,"author":{"gitId":"-"},"content":" || receiver.equals(FeedbackParticipantType.SELF)"},{"lineNumber":469,"author":{"gitId":"-"},"content":" || receiver.equals(FeedbackParticipantType.OWN_TEAM)) {"},{"lineNumber":470,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.RECEIVER);"},{"lineNumber":471,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS);"},{"lineNumber":472,"author":{"gitId":"-"},"content":" }"},{"lineNumber":473,"author":{"gitId":"-"},"content":""},{"lineNumber":474,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d table.findElements(By.tagName(\"tr\"));"},{"lineNumber":475,"author":{"gitId":"-"},"content":" int index \u003d colNum - 1;"},{"lineNumber":476,"author":{"gitId":"-"},"content":" for (FeedbackParticipantType participant : participants) {"},{"lineNumber":477,"author":{"gitId":"-"},"content":" assertTrue(rows.get(possibleTypes.indexOf(participant)).findElements(By.tagName(\"input\")).get(index)"},{"lineNumber":478,"author":{"gitId":"-"},"content":" .isSelected());"},{"lineNumber":479,"author":{"gitId":"-"},"content":" }"},{"lineNumber":480,"author":{"gitId":"-"},"content":" }"},{"lineNumber":481,"author":{"gitId":"-"},"content":""},{"lineNumber":482,"author":{"gitId":"-"},"content":" public void addTemplateQuestion(int optionNum) {"},{"lineNumber":483,"author":{"gitId":"-"},"content":" addNewQuestion(1);"},{"lineNumber":484,"author":{"gitId":"-"},"content":" WebElement templateQuestionModal \u003d waitForElementPresence(By.id(\"template-question-modal\"));"},{"lineNumber":485,"author":{"gitId":"-"},"content":""},{"lineNumber":486,"author":{"gitId":"-"},"content":" click(templateQuestionModal.findElements(By.tagName(\"input\")).get(optionNum - 1));"},{"lineNumber":487,"author":{"gitId":"-"},"content":" clickAndWaitForNewQuestion(browser.driver.findElement(By.id(\"btn-confirm-template\")));"},{"lineNumber":488,"author":{"gitId":"-"},"content":" }"},{"lineNumber":489,"author":{"gitId":"-"},"content":""},{"lineNumber":490,"author":{"gitId":"-"},"content":" public void copyQuestion(String courseId, String questionText) {"},{"lineNumber":491,"author":{"gitId":"-"},"content":" click(copyQuestionButton);"},{"lineNumber":492,"author":{"gitId":"-"},"content":" WebElement copyQuestionModal \u003d waitForElementPresence(By.id(\"copy-question-modal\"));"},{"lineNumber":493,"author":{"gitId":"-"},"content":""},{"lineNumber":494,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e cards \u003d copyQuestionModal.findElements(By.className(\"card\"));"},{"lineNumber":495,"author":{"gitId":"-"},"content":" for (WebElement card : cards) {"},{"lineNumber":496,"author":{"gitId":"-"},"content":" WebElement cardHeader \u003d card.findElement(By.className(\"card-header\"));"},{"lineNumber":497,"author":{"gitId":"-"},"content":" if (cardHeader.getText().startsWith(\"[\" + courseId + \"]\")) {"},{"lineNumber":498,"author":{"gitId":"-"},"content":" click(cardHeader);"},{"lineNumber":499,"author":{"gitId":"-"},"content":" WebElement cardBody \u003d waitForElementPresence(By.className(\"card-body\"));"},{"lineNumber":500,"author":{"gitId":"-"},"content":" // Reload questions"},{"lineNumber":501,"author":{"gitId":"-"},"content":" WebElement reloadBtn \u003d cardBody.findElement(By.tagName(\"button\"));"},{"lineNumber":502,"author":{"gitId":"-"},"content":" click(reloadBtn);"},{"lineNumber":503,"author":{"gitId":"-"},"content":" WebElement table \u003d waitForElementPresence(By.id(\"copy-question-table\"));"},{"lineNumber":504,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d table.findElements(By.cssSelector(\"tbody tr\"));"},{"lineNumber":505,"author":{"gitId":"-"},"content":" for (WebElement row : rows) {"},{"lineNumber":506,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e cells \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":507,"author":{"gitId":"-"},"content":" if (cells.get(2).getText().equals(questionText)) {"},{"lineNumber":508,"author":{"gitId":"-"},"content":" markOptionAsSelected(cells.get(0).findElement(By.tagName(\"input\")));"},{"lineNumber":509,"author":{"gitId":"-"},"content":" }"},{"lineNumber":510,"author":{"gitId":"-"},"content":" }"},{"lineNumber":511,"author":{"gitId":"-"},"content":" }"},{"lineNumber":512,"author":{"gitId":"-"},"content":" }"},{"lineNumber":513,"author":{"gitId":"-"},"content":" clickAndWaitForNewQuestion(browser.driver.findElement(By.id(\"btn-confirm-copy-question\")));"},{"lineNumber":514,"author":{"gitId":"-"},"content":" }"},{"lineNumber":515,"author":{"gitId":"-"},"content":""},{"lineNumber":516,"author":{"gitId":"-"},"content":" public void editQuestionNumber(int questionNum, int newQuestionNumber) {"},{"lineNumber":517,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":518,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(getQuestionForm(questionNum).findElement(By.id(\"question-number-dropdown\")),"},{"lineNumber":519,"author":{"gitId":"-"},"content":" Integer.toString(newQuestionNumber));"},{"lineNumber":520,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":521,"author":{"gitId":"-"},"content":" }"},{"lineNumber":522,"author":{"gitId":"-"},"content":""},{"lineNumber":523,"author":{"gitId":"-"},"content":" public void editQuestionDetails(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":524,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":525,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":526,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":527,"author":{"gitId":"-"},"content":" }"},{"lineNumber":528,"author":{"gitId":"-"},"content":""},{"lineNumber":529,"author":{"gitId":"-"},"content":" private void inputQuestionDetails(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":530,"author":{"gitId":"-"},"content":" setQuestionBrief(questionNum, feedbackQuestion.getQuestionDetailsCopy().getQuestionText());"},{"lineNumber":531,"author":{"gitId":"-"},"content":" setQuestionDescription(questionNum, feedbackQuestion.getQuestionDescription());"},{"lineNumber":532,"author":{"gitId":"-"},"content":" FeedbackQuestionType questionType \u003d feedbackQuestion.getQuestionType();"},{"lineNumber":533,"author":{"gitId":"-"},"content":" if (!questionType.equals(FeedbackQuestionType.CONTRIB)) {"},{"lineNumber":534,"author":{"gitId":"-"},"content":" setFeedbackPath(questionNum, feedbackQuestion);"},{"lineNumber":535,"author":{"gitId":"-"},"content":" setQuestionVisibility(questionNum, feedbackQuestion);"},{"lineNumber":536,"author":{"gitId":"-"},"content":" }"},{"lineNumber":537,"author":{"gitId":"-"},"content":" }"},{"lineNumber":538,"author":{"gitId":"-"},"content":""},{"lineNumber":539,"author":{"gitId":"-"},"content":" private void inputQuestionDetails(int questionNum, FeedbackQuestion feedbackQuestion) {"},{"lineNumber":540,"author":{"gitId":"-"},"content":" setQuestionBrief(questionNum, feedbackQuestion.getQuestionDetailsCopy().getQuestionText());"},{"lineNumber":541,"author":{"gitId":"-"},"content":" setQuestionDescription(questionNum, feedbackQuestion.getDescription());"},{"lineNumber":542,"author":{"gitId":"-"},"content":" FeedbackQuestionType questionType \u003d feedbackQuestion.getQuestionDetailsCopy().getQuestionType();"},{"lineNumber":543,"author":{"gitId":"-"},"content":" if (!questionType.equals(FeedbackQuestionType.CONTRIB)) {"},{"lineNumber":544,"author":{"gitId":"-"},"content":" setFeedbackPath(questionNum, feedbackQuestion);"},{"lineNumber":545,"author":{"gitId":"-"},"content":" setQuestionVisibility(questionNum, feedbackQuestion);"},{"lineNumber":546,"author":{"gitId":"-"},"content":" }"},{"lineNumber":547,"author":{"gitId":"-"},"content":" }"},{"lineNumber":548,"author":{"gitId":"-"},"content":""},{"lineNumber":549,"author":{"gitId":"-"},"content":" public void duplicateQuestion(int questionNum) {"},{"lineNumber":550,"author":{"gitId":"-"},"content":" clickAndWaitForNewQuestion(getQuestionForm(questionNum).findElement(By.id(\"btn-duplicate-question\")));"},{"lineNumber":551,"author":{"gitId":"-"},"content":" }"},{"lineNumber":552,"author":{"gitId":"-"},"content":""},{"lineNumber":553,"author":{"gitId":"-"},"content":" public void deleteQuestion(int questionNum) {"},{"lineNumber":554,"author":{"gitId":"-"},"content":" clickAndConfirm(getQuestionForm(questionNum).findElement(By.id(\"btn-delete-question\")));"},{"lineNumber":555,"author":{"gitId":"-"},"content":" }"},{"lineNumber":556,"author":{"gitId":"-"},"content":""},{"lineNumber":557,"author":{"gitId":"-"},"content":" public void verifyTextQuestionDetails(int questionNum, FeedbackTextQuestionDetails questionDetails) {"},{"lineNumber":558,"author":{"gitId":"-"},"content":" String recommendLength \u003d getRecommendedTextLengthField(questionNum).getAttribute(\"value\");"},{"lineNumber":559,"author":{"gitId":"-"},"content":" assertEquals(recommendLength, questionDetails.getRecommendedLength().toString());"},{"lineNumber":560,"author":{"gitId":"-"},"content":" }"},{"lineNumber":561,"author":{"gitId":"-"},"content":""},{"lineNumber":562,"author":{"gitId":"-"},"content":" public void addTextQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":563,"author":{"gitId":"-"},"content":" addNewQuestion(2);"},{"lineNumber":564,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":565,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":566,"author":{"gitId":"-"},"content":" FeedbackTextQuestionDetails questionDetails \u003d"},{"lineNumber":567,"author":{"gitId":"-"},"content":" (FeedbackTextQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":568,"author":{"gitId":"-"},"content":" fillTextBox(getRecommendedTextLengthField(questionNum), questionDetails.getRecommendedLength().toString());"},{"lineNumber":569,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":570,"author":{"gitId":"-"},"content":" }"},{"lineNumber":571,"author":{"gitId":"-"},"content":""},{"lineNumber":572,"author":{"gitId":"-"},"content":" public void addTextQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":573,"author":{"gitId":"-"},"content":" addNewQuestion(2);"},{"lineNumber":574,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":575,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":576,"author":{"gitId":"-"},"content":" FeedbackTextQuestionDetails questionDetails \u003d"},{"lineNumber":577,"author":{"gitId":"-"},"content":" (FeedbackTextQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":578,"author":{"gitId":"-"},"content":" fillTextBox(getRecommendedTextLengthField(questionNum), questionDetails.getRecommendedLength().toString());"},{"lineNumber":579,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":580,"author":{"gitId":"-"},"content":" }"},{"lineNumber":581,"author":{"gitId":"-"},"content":""},{"lineNumber":582,"author":{"gitId":"-"},"content":" public void editTextQuestion(int questionNum, FeedbackTextQuestionDetails textQuestionDetails) {"},{"lineNumber":583,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":584,"author":{"gitId":"-"},"content":" WebElement recommendedTextLengthField \u003d getRecommendedTextLengthField(questionNum);"},{"lineNumber":585,"author":{"gitId":"-"},"content":" waitForElementToBeClickable(recommendedTextLengthField);"},{"lineNumber":586,"author":{"gitId":"-"},"content":" fillTextBox(recommendedTextLengthField, textQuestionDetails.getRecommendedLength().toString());"},{"lineNumber":587,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":588,"author":{"gitId":"-"},"content":" }"},{"lineNumber":589,"author":{"gitId":"-"},"content":""},{"lineNumber":590,"author":{"gitId":"-"},"content":" public void verifyMcqQuestionDetails(int questionNum, FeedbackMcqQuestionDetails questionDetails) {"},{"lineNumber":591,"author":{"gitId":"-"},"content":" if (verifyGeneratedOptions(questionNum, questionDetails.getGenerateOptionsFor())) {"},{"lineNumber":592,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":593,"author":{"gitId":"-"},"content":" }"},{"lineNumber":594,"author":{"gitId":"-"},"content":" verifyOptions(questionNum, questionDetails.getMcqChoices());"},{"lineNumber":595,"author":{"gitId":"-"},"content":" verifyOptionWeights(questionNum, questionDetails.isHasAssignedWeights(), questionDetails.getMcqWeights());"},{"lineNumber":596,"author":{"gitId":"-"},"content":" verifyOtherOption(questionNum, questionDetails.isOtherEnabled(), questionDetails.getMcqOtherWeight());"},{"lineNumber":597,"author":{"gitId":"-"},"content":" }"},{"lineNumber":598,"author":{"gitId":"-"},"content":""},{"lineNumber":599,"author":{"gitId":"-"},"content":" public void addMcqQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":600,"author":{"gitId":"-"},"content":" addNewQuestion(3);"},{"lineNumber":601,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":602,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":603,"author":{"gitId":"-"},"content":" FeedbackMcqQuestionDetails questionDetails \u003d (FeedbackMcqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":604,"author":{"gitId":"-"},"content":" inputMcqDetails(questionNum, questionDetails);"},{"lineNumber":605,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":606,"author":{"gitId":"-"},"content":" }"},{"lineNumber":607,"author":{"gitId":"-"},"content":""},{"lineNumber":608,"author":{"gitId":"dishenggg"},"content":" public void addMcqQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":609,"author":{"gitId":"dishenggg"},"content":" addNewQuestion(3);"},{"lineNumber":610,"author":{"gitId":"dishenggg"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":611,"author":{"gitId":"dishenggg"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":612,"author":{"gitId":"-"},"content":" FeedbackMcqQuestionDetails questionDetails \u003d (FeedbackMcqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":613,"author":{"gitId":"-"},"content":" inputMcqDetails(questionNum, questionDetails);"},{"lineNumber":614,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":615,"author":{"gitId":"-"},"content":" }"},{"lineNumber":616,"author":{"gitId":"-"},"content":""},{"lineNumber":617,"author":{"gitId":"-"},"content":" public void editMcqQuestion(int questionNum, FeedbackMcqQuestionDetails questionDetails) {"},{"lineNumber":618,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":619,"author":{"gitId":"-"},"content":" inputMcqDetails(questionNum, questionDetails);"},{"lineNumber":620,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":621,"author":{"gitId":"-"},"content":" }"},{"lineNumber":622,"author":{"gitId":"-"},"content":""},{"lineNumber":623,"author":{"gitId":"-"},"content":" public void verifyMsqQuestionDetails(int questionNum, FeedbackMsqQuestionDetails questionDetails) {"},{"lineNumber":624,"author":{"gitId":"-"},"content":" verifyMaxOptions(questionNum, questionDetails.getMaxSelectableChoices());"},{"lineNumber":625,"author":{"gitId":"-"},"content":" verifyMinOptions(questionNum, questionDetails.getMinSelectableChoices());"},{"lineNumber":626,"author":{"gitId":"-"},"content":" if (verifyGeneratedOptions(questionNum, questionDetails.getGenerateOptionsFor())) {"},{"lineNumber":627,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":628,"author":{"gitId":"-"},"content":" }"},{"lineNumber":629,"author":{"gitId":"-"},"content":" verifyOptions(questionNum, questionDetails.getMsqChoices());"},{"lineNumber":630,"author":{"gitId":"-"},"content":" verifyOptionWeights(questionNum, questionDetails.isHasAssignedWeights(), questionDetails.getMsqWeights());"},{"lineNumber":631,"author":{"gitId":"-"},"content":" verifyOtherOption(questionNum, questionDetails.isOtherEnabled(), questionDetails.getMsqOtherWeight());"},{"lineNumber":632,"author":{"gitId":"-"},"content":" }"},{"lineNumber":633,"author":{"gitId":"-"},"content":""},{"lineNumber":634,"author":{"gitId":"-"},"content":" public void addMsqQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":635,"author":{"gitId":"-"},"content":" addNewQuestion(4);"},{"lineNumber":636,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":637,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":638,"author":{"gitId":"-"},"content":" FeedbackMsqQuestionDetails questionDetails \u003d (FeedbackMsqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":639,"author":{"gitId":"-"},"content":" inputMsqDetails(questionNum, questionDetails);"},{"lineNumber":640,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":641,"author":{"gitId":"-"},"content":" }"},{"lineNumber":642,"author":{"gitId":"-"},"content":""},{"lineNumber":643,"author":{"gitId":"dishenggg"},"content":" public void addMsqQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":644,"author":{"gitId":"dishenggg"},"content":" addNewQuestion(4);"},{"lineNumber":645,"author":{"gitId":"dishenggg"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":646,"author":{"gitId":"dishenggg"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":647,"author":{"gitId":"dishenggg"},"content":" FeedbackMsqQuestionDetails questionDetails \u003d (FeedbackMsqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":648,"author":{"gitId":"dishenggg"},"content":" inputMsqDetails(questionNum, questionDetails);"},{"lineNumber":649,"author":{"gitId":"dishenggg"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":650,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":651,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":652,"author":{"gitId":"-"},"content":" public void editMsqQuestion(int questionNum, FeedbackMsqQuestionDetails msqQuestionDetails) {"},{"lineNumber":653,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":654,"author":{"gitId":"-"},"content":" inputMsqDetails(questionNum, msqQuestionDetails);"},{"lineNumber":655,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":656,"author":{"gitId":"-"},"content":" }"},{"lineNumber":657,"author":{"gitId":"-"},"content":""},{"lineNumber":658,"author":{"gitId":"-"},"content":" public void verifyNumScaleQuestionDetails(int questionNum, FeedbackNumericalScaleQuestionDetails questionDetails) {"},{"lineNumber":659,"author":{"gitId":"-"},"content":" assertEquals(getMinNumscaleInput(questionNum).getAttribute(\"value\"),"},{"lineNumber":660,"author":{"gitId":"-"},"content":" Integer.toString(questionDetails.getMinScale()));"},{"lineNumber":661,"author":{"gitId":"-"},"content":" assertEquals(getNumScaleIncrementInput(questionNum).getAttribute(\"value\"),"},{"lineNumber":662,"author":{"gitId":"-"},"content":" getDoubleString(questionDetails.getStep()));"},{"lineNumber":663,"author":{"gitId":"-"},"content":" assertEquals(getMaxNumscaleInput(questionNum).getAttribute(\"value\"),"},{"lineNumber":664,"author":{"gitId":"-"},"content":" Integer.toString(questionDetails.getMaxScale()));"},{"lineNumber":665,"author":{"gitId":"-"},"content":" }"},{"lineNumber":666,"author":{"gitId":"-"},"content":""},{"lineNumber":667,"author":{"gitId":"-"},"content":" public void addNumScaleQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":668,"author":{"gitId":"-"},"content":" addNewQuestion(5);"},{"lineNumber":669,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":670,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":671,"author":{"gitId":"-"},"content":" FeedbackNumericalScaleQuestionDetails questionDetails \u003d"},{"lineNumber":672,"author":{"gitId":"-"},"content":" (FeedbackNumericalScaleQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":673,"author":{"gitId":"-"},"content":" inputNumScaleDetails(questionNum, questionDetails);"},{"lineNumber":674,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":675,"author":{"gitId":"-"},"content":" }"},{"lineNumber":676,"author":{"gitId":"-"},"content":""},{"lineNumber":677,"author":{"gitId":"marquestye"},"content":" public void addNumScaleQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":678,"author":{"gitId":"marquestye"},"content":" addNewQuestion(5);"},{"lineNumber":679,"author":{"gitId":"marquestye"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":680,"author":{"gitId":"marquestye"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":681,"author":{"gitId":"marquestye"},"content":" FeedbackNumericalScaleQuestionDetails questionDetails \u003d"},{"lineNumber":682,"author":{"gitId":"-"},"content":" (FeedbackNumericalScaleQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":683,"author":{"gitId":"-"},"content":" inputNumScaleDetails(questionNum, questionDetails);"},{"lineNumber":684,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":685,"author":{"gitId":"-"},"content":" }"},{"lineNumber":686,"author":{"gitId":"-"},"content":""},{"lineNumber":687,"author":{"gitId":"-"},"content":" public void editNumScaleQuestion(int questionNum, FeedbackNumericalScaleQuestionDetails questionDetails) {"},{"lineNumber":688,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":689,"author":{"gitId":"-"},"content":" inputNumScaleDetails(questionNum, questionDetails);"},{"lineNumber":690,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":691,"author":{"gitId":"-"},"content":" }"},{"lineNumber":692,"author":{"gitId":"-"},"content":""},{"lineNumber":693,"author":{"gitId":"-"},"content":" public void verifyConstSumQuestionDetails(int questionNum, FeedbackConstantSumQuestionDetails questionDetails) {"},{"lineNumber":694,"author":{"gitId":"-"},"content":" if (!questionDetails.isDistributeToRecipients()) {"},{"lineNumber":695,"author":{"gitId":"-"},"content":" verifyOptions(questionNum, questionDetails.getConstSumOptions());"},{"lineNumber":696,"author":{"gitId":"-"},"content":" }"},{"lineNumber":697,"author":{"gitId":"-"},"content":""},{"lineNumber":698,"author":{"gitId":"-"},"content":" if (questionDetails.isPointsPerOption()) {"},{"lineNumber":699,"author":{"gitId":"-"},"content":" assertTrue(getConstSumPerOptionPointsRadioBtn(questionNum).isSelected());"},{"lineNumber":700,"author":{"gitId":"-"},"content":" assertEquals(getConstSumPerOptionPointsInput(questionNum).getAttribute(\"value\"),"},{"lineNumber":701,"author":{"gitId":"-"},"content":" Integer.toString(questionDetails.getPoints()));"},{"lineNumber":702,"author":{"gitId":"-"},"content":" assertFalse(getConstSumTotalPointsRadioBtn(questionNum).isSelected());"},{"lineNumber":703,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":704,"author":{"gitId":"-"},"content":" assertTrue(getConstSumTotalPointsRadioBtn(questionNum).isSelected());"},{"lineNumber":705,"author":{"gitId":"-"},"content":" assertEquals(getConstSumTotalPointsInput(questionNum).getAttribute(\"value\"),"},{"lineNumber":706,"author":{"gitId":"-"},"content":" Integer.toString(questionDetails.getPoints()));"},{"lineNumber":707,"author":{"gitId":"-"},"content":" assertFalse(getConstSumPerOptionPointsRadioBtn(questionNum).isSelected());"},{"lineNumber":708,"author":{"gitId":"-"},"content":" }"},{"lineNumber":709,"author":{"gitId":"-"},"content":""},{"lineNumber":710,"author":{"gitId":"-"},"content":" if (questionDetails.isForceUnevenDistribution()) {"},{"lineNumber":711,"author":{"gitId":"-"},"content":" String distributeFor \u003d questionDetails.getDistributePointsFor();"},{"lineNumber":712,"author":{"gitId":"-"},"content":" assertTrue(getConstSumUnevenDistributionCheckbox(questionNum).isSelected());"},{"lineNumber":713,"author":{"gitId":"-"},"content":" assertEquals(getSelectedDropdownOptionText(getConstSumUnevenDistributionDropdown(questionNum)).trim(),"},{"lineNumber":714,"author":{"gitId":"-"},"content":" \"All options\".equals(distributeFor) ? \"Every option\" : distributeFor);"},{"lineNumber":715,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":716,"author":{"gitId":"-"},"content":" assertFalse(getConstSumUnevenDistributionCheckbox(questionNum).isSelected());"},{"lineNumber":717,"author":{"gitId":"-"},"content":" }"},{"lineNumber":718,"author":{"gitId":"-"},"content":" }"},{"lineNumber":719,"author":{"gitId":"-"},"content":""},{"lineNumber":720,"author":{"gitId":"-"},"content":" public void addConstSumOptionQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":721,"author":{"gitId":"-"},"content":" addNewQuestion(6);"},{"lineNumber":722,"author":{"gitId":"-"},"content":" addConstSumQuestion(feedbackQuestion);"},{"lineNumber":723,"author":{"gitId":"-"},"content":" }"},{"lineNumber":724,"author":{"gitId":"-"},"content":""},{"lineNumber":725,"author":{"gitId":"-"},"content":" public void addConstSumRecipientQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":726,"author":{"gitId":"-"},"content":" addNewQuestion(7);"},{"lineNumber":727,"author":{"gitId":"-"},"content":" addConstSumQuestion(feedbackQuestion);"},{"lineNumber":728,"author":{"gitId":"-"},"content":" }"},{"lineNumber":729,"author":{"gitId":"-"},"content":""},{"lineNumber":730,"author":{"gitId":"-"},"content":" public void addConstSumQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":731,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":732,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":733,"author":{"gitId":"-"},"content":" FeedbackConstantSumQuestionDetails questionDetails \u003d"},{"lineNumber":734,"author":{"gitId":"-"},"content":" (FeedbackConstantSumQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":735,"author":{"gitId":"-"},"content":" inputConstSumDetails(questionNum, questionDetails);"},{"lineNumber":736,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":737,"author":{"gitId":"-"},"content":" }"},{"lineNumber":738,"author":{"gitId":"-"},"content":""},{"lineNumber":739,"author":{"gitId":"-"},"content":" public void editConstSumQuestion(int questionNum, FeedbackConstantSumQuestionDetails csQuestionDetails) {"},{"lineNumber":740,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":741,"author":{"gitId":"-"},"content":" inputConstSumDetails(questionNum, csQuestionDetails);"},{"lineNumber":742,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":743,"author":{"gitId":"-"},"content":" }"},{"lineNumber":744,"author":{"gitId":"-"},"content":""},{"lineNumber":745,"author":{"gitId":"-"},"content":" public void verifyContributionQuestionDetails(int questionNum, FeedbackContributionQuestionDetails questionDetails) {"},{"lineNumber":746,"author":{"gitId":"-"},"content":" assertEquals(questionDetails.isZeroSum(), getZeroSumCheckbox(questionNum).isSelected());"},{"lineNumber":747,"author":{"gitId":"-"},"content":" assertEquals(questionDetails.isNotSureAllowed(), getAllowNotSureContributionCheckbox(questionNum).isSelected());"},{"lineNumber":748,"author":{"gitId":"-"},"content":" if (questionDetails.isZeroSum()) {"},{"lineNumber":749,"author":{"gitId":"-"},"content":" assertFalse(questionDetails.isNotSureAllowed());"},{"lineNumber":750,"author":{"gitId":"-"},"content":" }"},{"lineNumber":751,"author":{"gitId":"-"},"content":" }"},{"lineNumber":752,"author":{"gitId":"-"},"content":""},{"lineNumber":753,"author":{"gitId":"-"},"content":" public void addContributionQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":754,"author":{"gitId":"-"},"content":" addNewQuestion(8);"},{"lineNumber":755,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":756,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":757,"author":{"gitId":"-"},"content":" FeedbackContributionQuestionDetails questionDetails \u003d"},{"lineNumber":758,"author":{"gitId":"-"},"content":" (FeedbackContributionQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":759,"author":{"gitId":"-"},"content":" inputContributionDetails(questionNum, questionDetails);"},{"lineNumber":760,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":761,"author":{"gitId":"-"},"content":" }"},{"lineNumber":762,"author":{"gitId":"-"},"content":""},{"lineNumber":763,"author":{"gitId":"-"},"content":" public void editContributionQuestion(int questionNum, FeedbackContributionQuestionDetails questionDetails) {"},{"lineNumber":764,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":765,"author":{"gitId":"-"},"content":" inputContributionDetails(questionNum, questionDetails);"},{"lineNumber":766,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":767,"author":{"gitId":"-"},"content":" }"},{"lineNumber":768,"author":{"gitId":"-"},"content":""},{"lineNumber":769,"author":{"gitId":"-"},"content":" public void verifyRubricQuestionDetails(int questionNum, FeedbackRubricQuestionDetails questionDetails) {"},{"lineNumber":770,"author":{"gitId":"-"},"content":" int numChoices \u003d questionDetails.getNumOfRubricChoices();"},{"lineNumber":771,"author":{"gitId":"-"},"content":" List\u003cString\u003e choices \u003d questionDetails.getRubricChoices();"},{"lineNumber":772,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numChoices; i++) {"},{"lineNumber":773,"author":{"gitId":"-"},"content":" assertEquals(choices.get(i), getRubricChoiceInputs(questionNum).get(i).getAttribute(\"value\"));"},{"lineNumber":774,"author":{"gitId":"-"},"content":" }"},{"lineNumber":775,"author":{"gitId":"-"},"content":""},{"lineNumber":776,"author":{"gitId":"-"},"content":" int numSubQn \u003d questionDetails.getNumOfRubricSubQuestions();"},{"lineNumber":777,"author":{"gitId":"-"},"content":" List\u003cString\u003e subQuestions \u003d questionDetails.getRubricSubQuestions();"},{"lineNumber":778,"author":{"gitId":"-"},"content":" List\u003cList\u003cString\u003e\u003e descriptions \u003d questionDetails.getRubricDescriptions();"},{"lineNumber":779,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numSubQn; i++) {"},{"lineNumber":780,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e textAreas \u003d getRubricTextareas(questionNum, i + 2);"},{"lineNumber":781,"author":{"gitId":"-"},"content":" assertEquals(subQuestions.get(i), textAreas.get(0).getAttribute(\"value\"));"},{"lineNumber":782,"author":{"gitId":"-"},"content":" for (int j \u003d 0; j \u003c numChoices; j++) {"},{"lineNumber":783,"author":{"gitId":"-"},"content":" assertEquals(descriptions.get(i).get(j), textAreas.get(j + 1).getAttribute(\"value\"));"},{"lineNumber":784,"author":{"gitId":"-"},"content":" }"},{"lineNumber":785,"author":{"gitId":"-"},"content":" }"},{"lineNumber":786,"author":{"gitId":"-"},"content":""},{"lineNumber":787,"author":{"gitId":"-"},"content":" if (questionDetails.isHasAssignedWeights()) {"},{"lineNumber":788,"author":{"gitId":"-"},"content":" assertTrue(getWeightCheckbox(questionNum).isSelected());"},{"lineNumber":789,"author":{"gitId":"-"},"content":" List\u003cList\u003cDouble\u003e\u003e weights \u003d questionDetails.getRubricWeights();"},{"lineNumber":790,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numSubQn; i++) {"},{"lineNumber":791,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rubricWeights \u003d getRubricWeights(questionNum, i + 2);"},{"lineNumber":792,"author":{"gitId":"-"},"content":" for (int j \u003d 0; j \u003c numChoices; j++) {"},{"lineNumber":793,"author":{"gitId":"-"},"content":" assertEquals(getDoubleString(weights.get(i).get(j)),"},{"lineNumber":794,"author":{"gitId":"-"},"content":" rubricWeights.get(j).getAttribute(\"value\"));"},{"lineNumber":795,"author":{"gitId":"-"},"content":" }"},{"lineNumber":796,"author":{"gitId":"-"},"content":" }"},{"lineNumber":797,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":798,"author":{"gitId":"-"},"content":" assertFalse(getWeightCheckbox(questionNum).isSelected());"},{"lineNumber":799,"author":{"gitId":"-"},"content":" }"},{"lineNumber":800,"author":{"gitId":"-"},"content":" }"},{"lineNumber":801,"author":{"gitId":"-"},"content":""},{"lineNumber":802,"author":{"gitId":"-"},"content":" public void addRubricQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":803,"author":{"gitId":"-"},"content":" addNewQuestion(9);"},{"lineNumber":804,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":805,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":806,"author":{"gitId":"-"},"content":" FeedbackRubricQuestionDetails questionDetails \u003d"},{"lineNumber":807,"author":{"gitId":"-"},"content":" (FeedbackRubricQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":808,"author":{"gitId":"-"},"content":" inputRubricDetails(questionNum, questionDetails);"},{"lineNumber":809,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":810,"author":{"gitId":"-"},"content":" }"},{"lineNumber":811,"author":{"gitId":"-"},"content":""},{"lineNumber":812,"author":{"gitId":"-"},"content":" public void editRubricQuestion(int questionNum, FeedbackRubricQuestionDetails questionDetails) {"},{"lineNumber":813,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":814,"author":{"gitId":"-"},"content":" inputRubricDetails(questionNum, questionDetails);"},{"lineNumber":815,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":816,"author":{"gitId":"-"},"content":" }"},{"lineNumber":817,"author":{"gitId":"-"},"content":""},{"lineNumber":818,"author":{"gitId":"-"},"content":" public void verifyRankQuestionDetails(int questionNum, FeedbackRankQuestionDetails questionDetails) {"},{"lineNumber":819,"author":{"gitId":"-"},"content":" if (questionDetails instanceof FeedbackRankOptionsQuestionDetails) {"},{"lineNumber":820,"author":{"gitId":"-"},"content":" FeedbackRankOptionsQuestionDetails optionDetails \u003d (FeedbackRankOptionsQuestionDetails) questionDetails;"},{"lineNumber":821,"author":{"gitId":"-"},"content":" verifyOptions(questionNum, optionDetails.getOptions());"},{"lineNumber":822,"author":{"gitId":"-"},"content":" }"},{"lineNumber":823,"author":{"gitId":"-"},"content":" assertEquals(getAllowDuplicateRankCheckbox(questionNum).isSelected(), questionDetails.isAreDuplicatesAllowed());"},{"lineNumber":824,"author":{"gitId":"-"},"content":" verifyMaxOptions(questionNum, questionDetails.getMaxOptionsToBeRanked());"},{"lineNumber":825,"author":{"gitId":"-"},"content":" verifyMinOptions(questionNum, questionDetails.getMinOptionsToBeRanked());"},{"lineNumber":826,"author":{"gitId":"-"},"content":" }"},{"lineNumber":827,"author":{"gitId":"-"},"content":""},{"lineNumber":828,"author":{"gitId":"-"},"content":" public void addRankOptionsQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":829,"author":{"gitId":"-"},"content":" addNewQuestion(10);"},{"lineNumber":830,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":831,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":832,"author":{"gitId":"-"},"content":" FeedbackRankOptionsQuestionDetails questionDetails \u003d"},{"lineNumber":833,"author":{"gitId":"-"},"content":" (FeedbackRankOptionsQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":834,"author":{"gitId":"-"},"content":" inputRankDetails(questionNum, questionDetails);"},{"lineNumber":835,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":836,"author":{"gitId":"-"},"content":" }"},{"lineNumber":837,"author":{"gitId":"-"},"content":""},{"lineNumber":838,"author":{"gitId":"mingyuanc"},"content":" public void addRankOptionsQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":839,"author":{"gitId":"mingyuanc"},"content":" addNewQuestion(10);"},{"lineNumber":840,"author":{"gitId":"mingyuanc"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":841,"author":{"gitId":"mingyuanc"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":842,"author":{"gitId":"mingyuanc"},"content":" FeedbackRankOptionsQuestionDetails questionDetails \u003d"},{"lineNumber":843,"author":{"gitId":"-"},"content":" (FeedbackRankOptionsQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":844,"author":{"gitId":"-"},"content":" inputRankDetails(questionNum, questionDetails);"},{"lineNumber":845,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":846,"author":{"gitId":"-"},"content":" }"},{"lineNumber":847,"author":{"gitId":"-"},"content":""},{"lineNumber":848,"author":{"gitId":"-"},"content":" public void addRankRecipientsQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":849,"author":{"gitId":"-"},"content":" addNewQuestion(11);"},{"lineNumber":850,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":851,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":852,"author":{"gitId":"-"},"content":" FeedbackRankQuestionDetails questionDetails \u003d"},{"lineNumber":853,"author":{"gitId":"-"},"content":" (FeedbackRankQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":854,"author":{"gitId":"-"},"content":" inputRankDetails(questionNum, questionDetails);"},{"lineNumber":855,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":856,"author":{"gitId":"-"},"content":" }"},{"lineNumber":857,"author":{"gitId":"-"},"content":""},{"lineNumber":858,"author":{"gitId":"-"},"content":" public void editRankQuestion(int questionNum, FeedbackRankQuestionDetails questionDetails) {"},{"lineNumber":859,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":860,"author":{"gitId":"-"},"content":" inputRankDetails(questionNum, questionDetails);"},{"lineNumber":861,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":862,"author":{"gitId":"-"},"content":" }"},{"lineNumber":863,"author":{"gitId":"-"},"content":""},{"lineNumber":864,"author":{"gitId":"-"},"content":" private String getCourseId() {"},{"lineNumber":865,"author":{"gitId":"-"},"content":" return courseIdTextBox.getText();"},{"lineNumber":866,"author":{"gitId":"-"},"content":" }"},{"lineNumber":867,"author":{"gitId":"-"},"content":""},{"lineNumber":868,"author":{"gitId":"-"},"content":" private String getCourseName() {"},{"lineNumber":869,"author":{"gitId":"-"},"content":" return courseNameTextBox.getText();"},{"lineNumber":870,"author":{"gitId":"-"},"content":" }"},{"lineNumber":871,"author":{"gitId":"-"},"content":""},{"lineNumber":872,"author":{"gitId":"-"},"content":" private String getTimeZone() {"},{"lineNumber":873,"author":{"gitId":"-"},"content":" return timezoneDropDown.getText();"},{"lineNumber":874,"author":{"gitId":"-"},"content":" }"},{"lineNumber":875,"author":{"gitId":"-"},"content":""},{"lineNumber":876,"author":{"gitId":"-"},"content":" private String getFeedbackSessionName() {"},{"lineNumber":877,"author":{"gitId":"-"},"content":" return sessionNameTextBox.getText();"},{"lineNumber":878,"author":{"gitId":"-"},"content":" }"},{"lineNumber":879,"author":{"gitId":"-"},"content":""},{"lineNumber":880,"author":{"gitId":"-"},"content":" private String getInstructions() {"},{"lineNumber":881,"author":{"gitId":"-"},"content":" return getEditorRichText(instructionsEditor.findElement(By.tagName(\"editor\")));"},{"lineNumber":882,"author":{"gitId":"-"},"content":" }"},{"lineNumber":883,"author":{"gitId":"-"},"content":""},{"lineNumber":884,"author":{"gitId":"-"},"content":" private String getStartDate() {"},{"lineNumber":885,"author":{"gitId":"-"},"content":" return startDateBox.findElement(By.tagName(\"input\")).getAttribute(\"value\");"},{"lineNumber":886,"author":{"gitId":"-"},"content":" }"},{"lineNumber":887,"author":{"gitId":"-"},"content":""},{"lineNumber":888,"author":{"gitId":"-"},"content":" private String getStartTime() {"},{"lineNumber":889,"author":{"gitId":"-"},"content":" return getSelectedDropdownOptionText(startTimeDropdown.findElement(By.tagName(\"select\")));"},{"lineNumber":890,"author":{"gitId":"-"},"content":" }"},{"lineNumber":891,"author":{"gitId":"-"},"content":""},{"lineNumber":892,"author":{"gitId":"-"},"content":" private String getEndDate() {"},{"lineNumber":893,"author":{"gitId":"-"},"content":" return endDateBox.findElement(By.tagName(\"input\")).getAttribute(\"value\");"},{"lineNumber":894,"author":{"gitId":"-"},"content":" }"},{"lineNumber":895,"author":{"gitId":"-"},"content":""},{"lineNumber":896,"author":{"gitId":"-"},"content":" private String getEndTime() {"},{"lineNumber":897,"author":{"gitId":"-"},"content":" return getSelectedDropdownOptionText(endTimeDropdown.findElement(By.tagName(\"select\")));"},{"lineNumber":898,"author":{"gitId":"-"},"content":" }"},{"lineNumber":899,"author":{"gitId":"-"},"content":""},{"lineNumber":900,"author":{"gitId":"-"},"content":" private String getSessionVisibilityDate() {"},{"lineNumber":901,"author":{"gitId":"-"},"content":" return sessionVisibilityDateBox.findElement(By.tagName(\"input\")).getAttribute(\"value\");"},{"lineNumber":902,"author":{"gitId":"-"},"content":" }"},{"lineNumber":903,"author":{"gitId":"-"},"content":""},{"lineNumber":904,"author":{"gitId":"-"},"content":" private String getSessionVisibilityTime() {"},{"lineNumber":905,"author":{"gitId":"-"},"content":" return getSelectedDropdownOptionText(sessionVisibilityTimeDropdown.findElement(By.tagName(\"select\")));"},{"lineNumber":906,"author":{"gitId":"-"},"content":" }"},{"lineNumber":907,"author":{"gitId":"-"},"content":""},{"lineNumber":908,"author":{"gitId":"-"},"content":" private String getResponseVisibilityDate() {"},{"lineNumber":909,"author":{"gitId":"-"},"content":" return responseVisibilityDateBox.findElement(By.tagName(\"input\"))"},{"lineNumber":910,"author":{"gitId":"-"},"content":" .getAttribute(\"value\");"},{"lineNumber":911,"author":{"gitId":"-"},"content":" }"},{"lineNumber":912,"author":{"gitId":"-"},"content":""},{"lineNumber":913,"author":{"gitId":"-"},"content":" private String getResponseVisibilityTime() {"},{"lineNumber":914,"author":{"gitId":"-"},"content":" return getSelectedDropdownOptionText(responseVisibilityTimeDropdown.findElement(By.tagName(\"select\")));"},{"lineNumber":915,"author":{"gitId":"-"},"content":" }"},{"lineNumber":916,"author":{"gitId":"-"},"content":""},{"lineNumber":917,"author":{"gitId":"-"},"content":" private String getGracePeriod() {"},{"lineNumber":918,"author":{"gitId":"-"},"content":" return getSelectedDropdownOptionText(gracePeriodDropdown);"},{"lineNumber":919,"author":{"gitId":"-"},"content":" }"},{"lineNumber":920,"author":{"gitId":"-"},"content":""},{"lineNumber":921,"author":{"gitId":"-"},"content":" private String getSubmissionStatus() {"},{"lineNumber":922,"author":{"gitId":"-"},"content":" return submissionStatusTextBox.getText();"},{"lineNumber":923,"author":{"gitId":"-"},"content":" }"},{"lineNumber":924,"author":{"gitId":"-"},"content":""},{"lineNumber":925,"author":{"gitId":"-"},"content":" private String getPublishedStatus() {"},{"lineNumber":926,"author":{"gitId":"-"},"content":" return publishStatusTextBox.getText();"},{"lineNumber":927,"author":{"gitId":"-"},"content":" }"},{"lineNumber":928,"author":{"gitId":"-"},"content":""},{"lineNumber":929,"author":{"gitId":"-"},"content":" private String getDateString(Instant instant, String timeZone) {"},{"lineNumber":930,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timeZone, \"EE, dd MMM, yyyy\");"},{"lineNumber":931,"author":{"gitId":"-"},"content":" }"},{"lineNumber":932,"author":{"gitId":"-"},"content":""},{"lineNumber":933,"author":{"gitId":"-"},"content":" private String getTimeString(Instant instant, String timeZone) {"},{"lineNumber":934,"author":{"gitId":"-"},"content":" ZonedDateTime dateTime \u003d instant.atZone(ZoneId.of(timeZone));"},{"lineNumber":935,"author":{"gitId":"-"},"content":" if (dateTime.getHour() \u003d\u003d 0 \u0026\u0026 dateTime.getMinute() \u003d\u003d 0) {"},{"lineNumber":936,"author":{"gitId":"-"},"content":" return \"23:59H\";"},{"lineNumber":937,"author":{"gitId":"-"},"content":" }"},{"lineNumber":938,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timeZone, \"HH:00\") + \"H\";"},{"lineNumber":939,"author":{"gitId":"-"},"content":" }"},{"lineNumber":940,"author":{"gitId":"-"},"content":""},{"lineNumber":941,"author":{"gitId":"-"},"content":" private void setInstructions(String newInstructions) {"},{"lineNumber":942,"author":{"gitId":"-"},"content":" writeToRichTextEditor(instructionsEditor.findElement(By.tagName(\"editor\")), newInstructions);"},{"lineNumber":943,"author":{"gitId":"-"},"content":" }"},{"lineNumber":944,"author":{"gitId":"-"},"content":""},{"lineNumber":945,"author":{"gitId":"-"},"content":" private void setSessionStartDateTime(Instant startInstant, String timeZone) {"},{"lineNumber":946,"author":{"gitId":"-"},"content":" setDateTime(startDateBox, startTimeDropdown, startInstant, timeZone);"},{"lineNumber":947,"author":{"gitId":"-"},"content":" }"},{"lineNumber":948,"author":{"gitId":"-"},"content":""},{"lineNumber":949,"author":{"gitId":"-"},"content":" private void setSessionEndDateTime(Instant endInstant, String timeZone) {"},{"lineNumber":950,"author":{"gitId":"-"},"content":" setDateTime(endDateBox, endTimeDropdown, endInstant, timeZone);"},{"lineNumber":951,"author":{"gitId":"-"},"content":" }"},{"lineNumber":952,"author":{"gitId":"-"},"content":""},{"lineNumber":953,"author":{"gitId":"-"},"content":" private void setVisibilityDateTime(Instant startInstant, String timeZone) {"},{"lineNumber":954,"author":{"gitId":"-"},"content":" setDateTime(sessionVisibilityDateBox, sessionVisibilityTimeDropdown, startInstant, timeZone);"},{"lineNumber":955,"author":{"gitId":"-"},"content":" }"},{"lineNumber":956,"author":{"gitId":"-"},"content":""},{"lineNumber":957,"author":{"gitId":"-"},"content":" private void setResponseDateTime(Instant endInstant, String timeZone) {"},{"lineNumber":958,"author":{"gitId":"-"},"content":" setDateTime(responseVisibilityDateBox, responseVisibilityTimeDropdown, endInstant, timeZone);"},{"lineNumber":959,"author":{"gitId":"-"},"content":" }"},{"lineNumber":960,"author":{"gitId":"-"},"content":""},{"lineNumber":961,"author":{"gitId":"-"},"content":" private void setDateTime(WebElement dateBox, WebElement timeBox, Instant startInstant, String timeZone) {"},{"lineNumber":962,"author":{"gitId":"-"},"content":" fillDatePicker(dateBox, startInstant, timeZone);"},{"lineNumber":963,"author":{"gitId":"-"},"content":""},{"lineNumber":964,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(timeBox.findElement(By.tagName(\"select\")), getTimeString(startInstant, timeZone));"},{"lineNumber":965,"author":{"gitId":"-"},"content":" }"},{"lineNumber":966,"author":{"gitId":"-"},"content":""},{"lineNumber":967,"author":{"gitId":"-"},"content":" private void selectGracePeriod(long gracePeriodMinutes) {"},{"lineNumber":968,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(gracePeriodDropdown, gracePeriodMinutes + \" min\");"},{"lineNumber":969,"author":{"gitId":"-"},"content":" }"},{"lineNumber":970,"author":{"gitId":"-"},"content":""},{"lineNumber":971,"author":{"gitId":"-"},"content":" private void setVisibilitySettings(FeedbackSessionAttributes newFeedbackSession) {"},{"lineNumber":972,"author":{"gitId":"-"},"content":" showVisibilitySettings();"},{"lineNumber":973,"author":{"gitId":"-"},"content":""},{"lineNumber":974,"author":{"gitId":"-"},"content":" setSessionVisibilitySettings(newFeedbackSession);"},{"lineNumber":975,"author":{"gitId":"-"},"content":" setResponseVisibilitySettings(newFeedbackSession);"},{"lineNumber":976,"author":{"gitId":"-"},"content":" }"},{"lineNumber":977,"author":{"gitId":"-"},"content":""},{"lineNumber":978,"author":{"gitId":"-"},"content":" private void setSessionVisibilitySettings(FeedbackSessionAttributes newFeedbackSession) {"},{"lineNumber":979,"author":{"gitId":"-"},"content":" Instant sessionDateTime \u003d newFeedbackSession.getSessionVisibleFromTime();"},{"lineNumber":980,"author":{"gitId":"-"},"content":" if (sessionDateTime.equals(Const.TIME_REPRESENTS_FOLLOW_OPENING)) {"},{"lineNumber":981,"author":{"gitId":"-"},"content":" click(openSessionVisibleTimeButton);"},{"lineNumber":982,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":983,"author":{"gitId":"-"},"content":" click(customSessionVisibleTimeButton);"},{"lineNumber":984,"author":{"gitId":"-"},"content":" setVisibilityDateTime(sessionDateTime, newFeedbackSession.getTimeZone());"},{"lineNumber":985,"author":{"gitId":"-"},"content":" }"},{"lineNumber":986,"author":{"gitId":"-"},"content":" }"},{"lineNumber":987,"author":{"gitId":"-"},"content":""},{"lineNumber":988,"author":{"gitId":"-"},"content":" private void setResponseVisibilitySettings(FeedbackSessionAttributes newFeedbackSession) {"},{"lineNumber":989,"author":{"gitId":"-"},"content":" Instant responseDateTime \u003d newFeedbackSession.getResultsVisibleFromTime();"},{"lineNumber":990,"author":{"gitId":"-"},"content":" if (responseDateTime.equals(Const.TIME_REPRESENTS_FOLLOW_VISIBLE)) {"},{"lineNumber":991,"author":{"gitId":"-"},"content":" click(immediateResponseVisibleTimeButton);"},{"lineNumber":992,"author":{"gitId":"-"},"content":" } else if (responseDateTime.equals(Const.TIME_REPRESENTS_LATER)) {"},{"lineNumber":993,"author":{"gitId":"-"},"content":" click(manualResponseVisibleTimeButton);"},{"lineNumber":994,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":995,"author":{"gitId":"-"},"content":" click(customResponseVisibleTimeButton);"},{"lineNumber":996,"author":{"gitId":"-"},"content":" setResponseDateTime(responseDateTime, newFeedbackSession.getTimeZone());"},{"lineNumber":997,"author":{"gitId":"-"},"content":" }"},{"lineNumber":998,"author":{"gitId":"-"},"content":" }"},{"lineNumber":999,"author":{"gitId":"-"},"content":""},{"lineNumber":1000,"author":{"gitId":"-"},"content":" private void setEmailSettings(FeedbackSessionAttributes newFeedbackSessionDetails) {"},{"lineNumber":1001,"author":{"gitId":"-"},"content":" showEmailSettings();"},{"lineNumber":1002,"author":{"gitId":"-"},"content":" if (newFeedbackSessionDetails.isOpeningEmailEnabled() !\u003d openingSessionEmailCheckbox.isSelected()) {"},{"lineNumber":1003,"author":{"gitId":"-"},"content":" click(openingSessionEmailCheckbox);"},{"lineNumber":1004,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1005,"author":{"gitId":"-"},"content":" if (newFeedbackSessionDetails.isClosingEmailEnabled() !\u003d closingSessionEmailCheckbox.isSelected()) {"},{"lineNumber":1006,"author":{"gitId":"-"},"content":" click(closingSessionEmailCheckbox);"},{"lineNumber":1007,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1008,"author":{"gitId":"-"},"content":" if (newFeedbackSessionDetails.isPublishedEmailEnabled() !\u003d publishedSessionEmailCheckbox.isSelected()) {"},{"lineNumber":1009,"author":{"gitId":"-"},"content":" click(publishedSessionEmailCheckbox);"},{"lineNumber":1010,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1011,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1012,"author":{"gitId":"-"},"content":""},{"lineNumber":1013,"author":{"gitId":"-"},"content":" private void showVisibilitySettings() {"},{"lineNumber":1014,"author":{"gitId":"-"},"content":" if (isElementPresent(By.id(\"btn-change-visibility\"))) {"},{"lineNumber":1015,"author":{"gitId":"-"},"content":" click(changeVisibilityButton);"},{"lineNumber":1016,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1017,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1018,"author":{"gitId":"-"},"content":""},{"lineNumber":1019,"author":{"gitId":"-"},"content":" private void showEmailSettings() {"},{"lineNumber":1020,"author":{"gitId":"-"},"content":" if (isElementPresent(By.id(\"btn-change-email\"))) {"},{"lineNumber":1021,"author":{"gitId":"-"},"content":" click(changeEmailButton);"},{"lineNumber":1022,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1023,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1024,"author":{"gitId":"-"},"content":""},{"lineNumber":1025,"author":{"gitId":"-"},"content":" private int getNumQuestions() {"},{"lineNumber":1026,"author":{"gitId":"-"},"content":" return browser.driver.findElements(By.tagName(\"tm-question-edit-form\")).size();"},{"lineNumber":1027,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1028,"author":{"gitId":"-"},"content":""},{"lineNumber":1029,"author":{"gitId":"-"},"content":" private WebElement getQuestionForm(int questionNum) {"},{"lineNumber":1030,"author":{"gitId":"-"},"content":" return browser.driver.findElements(By.tagName(\"tm-question-edit-form\")).get(questionNum - 1);"},{"lineNumber":1031,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1032,"author":{"gitId":"-"},"content":""},{"lineNumber":1033,"author":{"gitId":"-"},"content":" private FeedbackQuestionType getQuestionType(int questionNum) {"},{"lineNumber":1034,"author":{"gitId":"-"},"content":" String questionType \u003d getQuestionForm(questionNum).findElement(By.id(\"question-type\")).getText().trim();"},{"lineNumber":1035,"author":{"gitId":"-"},"content":""},{"lineNumber":1036,"author":{"gitId":"-"},"content":" switch (questionType) {"},{"lineNumber":1037,"author":{"gitId":"-"},"content":" case \"Essay question\":"},{"lineNumber":1038,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.TEXT;"},{"lineNumber":1039,"author":{"gitId":"-"},"content":" case \"Multiple-Choice (single answer) question\":"},{"lineNumber":1040,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.MCQ;"},{"lineNumber":1041,"author":{"gitId":"-"},"content":" case \"Multiple-choice (multiple answers) question\":"},{"lineNumber":1042,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.MSQ;"},{"lineNumber":1043,"author":{"gitId":"-"},"content":" case \"Numerical Scale Question\":"},{"lineNumber":1044,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.NUMSCALE;"},{"lineNumber":1045,"author":{"gitId":"-"},"content":" case \"Distribute points (among options) question\":"},{"lineNumber":1046,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.CONSTSUM_OPTIONS;"},{"lineNumber":1047,"author":{"gitId":"-"},"content":" case \"Distribute points (among recipients) question\":"},{"lineNumber":1048,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.CONSTSUM_RECIPIENTS;"},{"lineNumber":1049,"author":{"gitId":"-"},"content":" case \"Team contribution question\":"},{"lineNumber":1050,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.CONTRIB;"},{"lineNumber":1051,"author":{"gitId":"-"},"content":" case \"Rubric question\":"},{"lineNumber":1052,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.RUBRIC;"},{"lineNumber":1053,"author":{"gitId":"-"},"content":" case \"Rank (options) question\":"},{"lineNumber":1054,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.RANK_OPTIONS;"},{"lineNumber":1055,"author":{"gitId":"-"},"content":" case \"Rank (recipients) question\":"},{"lineNumber":1056,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.RANK_RECIPIENTS;"},{"lineNumber":1057,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":1058,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(\"Unknown FeedbackQuestionType\");"},{"lineNumber":1059,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1060,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1061,"author":{"gitId":"-"},"content":""},{"lineNumber":1062,"author":{"gitId":"-"},"content":" private int getQuestionNumber(int questionNum) {"},{"lineNumber":1063,"author":{"gitId":"-"},"content":" return Integer.parseInt(getQuestionForm(questionNum).findElement(By.id(\"question-number\")).getText());"},{"lineNumber":1064,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1065,"author":{"gitId":"-"},"content":""},{"lineNumber":1066,"author":{"gitId":"-"},"content":" private String getQuestionBrief(int questionNum) {"},{"lineNumber":1067,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"question-brief\")).getAttribute(\"value\");"},{"lineNumber":1068,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1069,"author":{"gitId":"-"},"content":""},{"lineNumber":1070,"author":{"gitId":"-"},"content":" private String getQuestionDescription(int questionNum) {"},{"lineNumber":1071,"author":{"gitId":"-"},"content":" WebElement editor \u003d waitForElementPresence(By.cssSelector(\"#question-form-\" + questionNum + \" editor\"));"},{"lineNumber":1072,"author":{"gitId":"-"},"content":" return getEditorRichText(editor);"},{"lineNumber":1073,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1074,"author":{"gitId":"-"},"content":""},{"lineNumber":1075,"author":{"gitId":"-"},"content":" private String getFeedbackGiver(int questionNum) {"},{"lineNumber":1076,"author":{"gitId":"-"},"content":" String feedbackPath \u003d getFeedbackPath(questionNum);"},{"lineNumber":1077,"author":{"gitId":"-"},"content":" if (CUSTOM_FEEDBACK_PATH_OPTION.equals(feedbackPath)) {"},{"lineNumber":1078,"author":{"gitId":"-"},"content":" return getSelectedDropdownOptionText(getQuestionForm(questionNum)"},{"lineNumber":1079,"author":{"gitId":"-"},"content":" .findElement(By.tagName(\"tm-feedback-path-panel\"))"},{"lineNumber":1080,"author":{"gitId":"-"},"content":" .findElement(By.id(\"giver-type\")));"},{"lineNumber":1081,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1082,"author":{"gitId":"-"},"content":" return feedbackPath.split(FEEDBACK_PATH_SEPARATOR)[0];"},{"lineNumber":1083,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1084,"author":{"gitId":"-"},"content":""},{"lineNumber":1085,"author":{"gitId":"-"},"content":" private String getFeedbackReceiver(int questionNum) {"},{"lineNumber":1086,"author":{"gitId":"-"},"content":" String feedbackPath \u003d getFeedbackPath(questionNum);"},{"lineNumber":1087,"author":{"gitId":"-"},"content":" if (CUSTOM_FEEDBACK_PATH_OPTION.equals(feedbackPath)) {"},{"lineNumber":1088,"author":{"gitId":"-"},"content":" return getSelectedDropdownOptionText(getQuestionForm(questionNum)"},{"lineNumber":1089,"author":{"gitId":"-"},"content":" .findElement(By.tagName(\"tm-feedback-path-panel\"))"},{"lineNumber":1090,"author":{"gitId":"-"},"content":" .findElement(By.id(\"receiver-type\")));"},{"lineNumber":1091,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1092,"author":{"gitId":"-"},"content":" return feedbackPath.split(FEEDBACK_PATH_SEPARATOR)[1];"},{"lineNumber":1093,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1094,"author":{"gitId":"-"},"content":""},{"lineNumber":1095,"author":{"gitId":"-"},"content":" private String getFeedbackPath(int questionNum) {"},{"lineNumber":1096,"author":{"gitId":"-"},"content":" WebElement feedbackPathPanel \u003d getQuestionForm(questionNum).findElement(By.tagName(\"tm-feedback-path-panel\"));"},{"lineNumber":1097,"author":{"gitId":"-"},"content":" return feedbackPathPanel.findElement(By.cssSelector(\"#btn-feedback-path span\")).getText();"},{"lineNumber":1098,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1099,"author":{"gitId":"-"},"content":""},{"lineNumber":1100,"author":{"gitId":"-"},"content":" private void setQuestionBrief(int questionNum, String newBrief) {"},{"lineNumber":1101,"author":{"gitId":"-"},"content":" fillTextBox(getQuestionForm(questionNum).findElement(By.id(\"question-brief\")), newBrief);"},{"lineNumber":1102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1103,"author":{"gitId":"-"},"content":""},{"lineNumber":1104,"author":{"gitId":"-"},"content":" private void setQuestionDescription(int questionNum, String newDescription) {"},{"lineNumber":1105,"author":{"gitId":"-"},"content":" WebElement editor \u003d waitForElementPresence(By.cssSelector(\"#question-form-\" + questionNum + \" editor\"));"},{"lineNumber":1106,"author":{"gitId":"-"},"content":" writeToRichTextEditor(editor, newDescription);"},{"lineNumber":1107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1108,"author":{"gitId":"-"},"content":""},{"lineNumber":1109,"author":{"gitId":"-"},"content":" private void setFeedbackPath(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":1110,"author":{"gitId":"-"},"content":" FeedbackParticipantType newGiver \u003d feedbackQuestion.getGiverType();"},{"lineNumber":1111,"author":{"gitId":"-"},"content":" FeedbackParticipantType newRecipient \u003d feedbackQuestion.getRecipientType();"},{"lineNumber":1112,"author":{"gitId":"-"},"content":" String feedbackPath \u003d getFeedbackPath(questionNum);"},{"lineNumber":1113,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum).findElement(By.tagName(\"tm-feedback-path-panel\"));"},{"lineNumber":1114,"author":{"gitId":"-"},"content":" if (!CUSTOM_FEEDBACK_PATH_OPTION.equals(feedbackPath)) {"},{"lineNumber":1115,"author":{"gitId":"-"},"content":" selectFeedbackPathDropdownOption(questionNum, CUSTOM_FEEDBACK_PATH_OPTION + \"...\");"},{"lineNumber":1116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1117,"author":{"gitId":"-"},"content":" // Set to type STUDENT first to adjust NumberOfEntitiesToGiveFeedbackTo"},{"lineNumber":1118,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"giver-type\")),"},{"lineNumber":1119,"author":{"gitId":"-"},"content":" getDisplayGiverName(FeedbackParticipantType.STUDENTS));"},{"lineNumber":1120,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"receiver-type\")),"},{"lineNumber":1121,"author":{"gitId":"-"},"content":" getDisplayRecipientName(FeedbackParticipantType.STUDENTS_EXCLUDING_SELF));"},{"lineNumber":1122,"author":{"gitId":"-"},"content":" if (feedbackQuestion.getNumberOfEntitiesToGiveFeedbackTo() \u003d\u003d Const.MAX_POSSIBLE_RECIPIENTS) {"},{"lineNumber":1123,"author":{"gitId":"-"},"content":" click(questionForm.findElement(By.id(\"unlimited-recipients\")));"},{"lineNumber":1124,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1125,"author":{"gitId":"-"},"content":" click(questionForm.findElement(By.id(\"custom-recipients\")));"},{"lineNumber":1126,"author":{"gitId":"-"},"content":" fillTextBox(questionForm.findElement(By.id(\"custom-recipients-number\")),"},{"lineNumber":1127,"author":{"gitId":"-"},"content":" Integer.toString(feedbackQuestion.getNumberOfEntitiesToGiveFeedbackTo()));"},{"lineNumber":1128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1129,"author":{"gitId":"-"},"content":""},{"lineNumber":1130,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"giver-type\")), getDisplayGiverName(newGiver));"},{"lineNumber":1131,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"receiver-type\")),"},{"lineNumber":1132,"author":{"gitId":"-"},"content":" getDisplayRecipientName(newRecipient));"},{"lineNumber":1133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1134,"author":{"gitId":"-"},"content":""},{"lineNumber":1135,"author":{"gitId":"-"},"content":" private void setFeedbackPath(int questionNum, FeedbackQuestion feedbackQuestion) {"},{"lineNumber":1136,"author":{"gitId":"-"},"content":" FeedbackParticipantType newGiver \u003d feedbackQuestion.getGiverType();"},{"lineNumber":1137,"author":{"gitId":"-"},"content":" FeedbackParticipantType newRecipient \u003d feedbackQuestion.getRecipientType();"},{"lineNumber":1138,"author":{"gitId":"-"},"content":" String feedbackPath \u003d getFeedbackPath(questionNum);"},{"lineNumber":1139,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum).findElement(By.tagName(\"tm-feedback-path-panel\"));"},{"lineNumber":1140,"author":{"gitId":"-"},"content":" if (!CUSTOM_FEEDBACK_PATH_OPTION.equals(feedbackPath)) {"},{"lineNumber":1141,"author":{"gitId":"-"},"content":" selectFeedbackPathDropdownOption(questionNum, CUSTOM_FEEDBACK_PATH_OPTION + \"...\");"},{"lineNumber":1142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1143,"author":{"gitId":"-"},"content":" // Set to type STUDENT first to adjust NumberOfEntitiesToGiveFeedbackTo"},{"lineNumber":1144,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"giver-type\")),"},{"lineNumber":1145,"author":{"gitId":"-"},"content":" getDisplayGiverName(FeedbackParticipantType.STUDENTS));"},{"lineNumber":1146,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"receiver-type\")),"},{"lineNumber":1147,"author":{"gitId":"-"},"content":" getDisplayRecipientName(FeedbackParticipantType.STUDENTS_EXCLUDING_SELF));"},{"lineNumber":1148,"author":{"gitId":"-"},"content":" if (feedbackQuestion.getNumOfEntitiesToGiveFeedbackTo() \u003d\u003d Const.MAX_POSSIBLE_RECIPIENTS) {"},{"lineNumber":1149,"author":{"gitId":"-"},"content":" click(questionForm.findElement(By.id(\"unlimited-recipients\")));"},{"lineNumber":1150,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1151,"author":{"gitId":"-"},"content":" click(questionForm.findElement(By.id(\"custom-recipients\")));"},{"lineNumber":1152,"author":{"gitId":"-"},"content":" fillTextBox(questionForm.findElement(By.id(\"custom-recipients-number\")),"},{"lineNumber":1153,"author":{"gitId":"-"},"content":" Integer.toString(feedbackQuestion.getNumOfEntitiesToGiveFeedbackTo()));"},{"lineNumber":1154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1155,"author":{"gitId":"-"},"content":""},{"lineNumber":1156,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"giver-type\")), getDisplayGiverName(newGiver));"},{"lineNumber":1157,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"receiver-type\")),"},{"lineNumber":1158,"author":{"gitId":"-"},"content":" getDisplayRecipientName(newRecipient));"},{"lineNumber":1159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1160,"author":{"gitId":"-"},"content":""},{"lineNumber":1161,"author":{"gitId":"-"},"content":" private void selectFeedbackPathDropdownOption(int questionNum, String text) {"},{"lineNumber":1162,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum);"},{"lineNumber":1163,"author":{"gitId":"-"},"content":" WebElement feedbackPathPanel \u003d questionForm.findElement(By.tagName(\"tm-feedback-path-panel\"));"},{"lineNumber":1164,"author":{"gitId":"-"},"content":" click(feedbackPathPanel.findElement(By.id(\"btn-feedback-path\")));"},{"lineNumber":1165,"author":{"gitId":"-"},"content":" WebElement dropdown \u003d feedbackPathPanel.findElement(By.id(\"feedback-path-dropdown\"));"},{"lineNumber":1166,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e options \u003d dropdown.findElements(By.className(\"dropdown-button\"));"},{"lineNumber":1167,"author":{"gitId":"-"},"content":" for (WebElement option : options) {"},{"lineNumber":1168,"author":{"gitId":"-"},"content":" if (option.getText().equals(text)) {"},{"lineNumber":1169,"author":{"gitId":"-"},"content":" click(option);"},{"lineNumber":1170,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":1171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1174,"author":{"gitId":"-"},"content":""},{"lineNumber":1175,"author":{"gitId":"-"},"content":" private void clickEditQuestionButton(int questionNum) {"},{"lineNumber":1176,"author":{"gitId":"-"},"content":" click(getQuestionForm(questionNum).findElement(By.id(\"btn-edit-question\")));"},{"lineNumber":1177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1178,"author":{"gitId":"-"},"content":""},{"lineNumber":1179,"author":{"gitId":"-"},"content":" private void clickSaveQuestionButton(int questionNum) {"},{"lineNumber":1180,"author":{"gitId":"-"},"content":" WebElement saveButton \u003d getQuestionForm(questionNum).findElement(By.id(\"btn-save-question\"));"},{"lineNumber":1181,"author":{"gitId":"-"},"content":" click(saveButton);"},{"lineNumber":1182,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000);"},{"lineNumber":1183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1184,"author":{"gitId":"-"},"content":""},{"lineNumber":1185,"author":{"gitId":"-"},"content":" private void setQuestionVisibility(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":1186,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum);"},{"lineNumber":1187,"author":{"gitId":"-"},"content":" WebElement visibilityPanel \u003d questionForm.findElement(By.tagName(\"tm-visibility-panel\"));"},{"lineNumber":1188,"author":{"gitId":"-"},"content":" String visibility \u003d visibilityPanel.findElement(By.cssSelector(\"#btn-question-visibility span\")).getText();"},{"lineNumber":1189,"author":{"gitId":"-"},"content":" if (!CUSTOM_VISIBILITY_OPTION.equals(visibility)) {"},{"lineNumber":1190,"author":{"gitId":"-"},"content":" selectVisibilityDropdownOption(questionNum, CUSTOM_VISIBILITY_OPTION + \"...\");"},{"lineNumber":1191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1192,"author":{"gitId":"-"},"content":""},{"lineNumber":1193,"author":{"gitId":"-"},"content":" FeedbackParticipantType giver \u003d feedbackQuestion.getGiverType();"},{"lineNumber":1194,"author":{"gitId":"-"},"content":" FeedbackParticipantType receiver \u003d feedbackQuestion.getRecipientType();"},{"lineNumber":1195,"author":{"gitId":"-"},"content":" WebElement customVisibilityTable \u003d visibilityPanel.findElement(By.id(\"custom-visibility-table\"));"},{"lineNumber":1196,"author":{"gitId":"-"},"content":" selectVisibilityBoxes(customVisibilityTable, giver, receiver, feedbackQuestion.getShowResponsesTo(), 1);"},{"lineNumber":1197,"author":{"gitId":"-"},"content":" selectVisibilityBoxes(customVisibilityTable, giver, receiver, feedbackQuestion.getShowGiverNameTo(), 2);"},{"lineNumber":1198,"author":{"gitId":"-"},"content":" selectVisibilityBoxes(customVisibilityTable, giver, receiver, feedbackQuestion.getShowRecipientNameTo(), 3);"},{"lineNumber":1199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1200,"author":{"gitId":"-"},"content":""},{"lineNumber":1201,"author":{"gitId":"-"},"content":" private void setQuestionVisibility(int questionNum, FeedbackQuestion feedbackQuestion) {"},{"lineNumber":1202,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum);"},{"lineNumber":1203,"author":{"gitId":"-"},"content":" WebElement visibilityPanel \u003d questionForm.findElement(By.tagName(\"tm-visibility-panel\"));"},{"lineNumber":1204,"author":{"gitId":"-"},"content":" String visibility \u003d visibilityPanel.findElement(By.cssSelector(\"#btn-question-visibility span\")).getText();"},{"lineNumber":1205,"author":{"gitId":"-"},"content":" if (!CUSTOM_VISIBILITY_OPTION.equals(visibility)) {"},{"lineNumber":1206,"author":{"gitId":"-"},"content":" selectVisibilityDropdownOption(questionNum, CUSTOM_VISIBILITY_OPTION + \"...\");"},{"lineNumber":1207,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1208,"author":{"gitId":"-"},"content":""},{"lineNumber":1209,"author":{"gitId":"-"},"content":" FeedbackParticipantType giver \u003d feedbackQuestion.getGiverType();"},{"lineNumber":1210,"author":{"gitId":"-"},"content":" FeedbackParticipantType receiver \u003d feedbackQuestion.getRecipientType();"},{"lineNumber":1211,"author":{"gitId":"-"},"content":" WebElement customVisibilityTable \u003d visibilityPanel.findElement(By.id(\"custom-visibility-table\"));"},{"lineNumber":1212,"author":{"gitId":"-"},"content":" selectVisibilityBoxes(customVisibilityTable, giver, receiver, feedbackQuestion.getShowResponsesTo(), 1);"},{"lineNumber":1213,"author":{"gitId":"-"},"content":" selectVisibilityBoxes(customVisibilityTable, giver, receiver, feedbackQuestion.getShowGiverNameTo(), 2);"},{"lineNumber":1214,"author":{"gitId":"-"},"content":" selectVisibilityBoxes(customVisibilityTable, giver, receiver, feedbackQuestion.getShowRecipientNameTo(), 3);"},{"lineNumber":1215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1216,"author":{"gitId":"-"},"content":""},{"lineNumber":1217,"author":{"gitId":"-"},"content":" private void selectVisibilityBoxes(WebElement table, FeedbackParticipantType giver,"},{"lineNumber":1218,"author":{"gitId":"-"},"content":" FeedbackParticipantType receiver, List\u003cFeedbackParticipantType\u003e participants,"},{"lineNumber":1219,"author":{"gitId":"-"},"content":" int colNum) {"},{"lineNumber":1220,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e possibleTypes \u003d new ArrayList\u003c\u003e(Arrays.asList(FeedbackParticipantType.RECEIVER,"},{"lineNumber":1221,"author":{"gitId":"-"},"content":" FeedbackParticipantType.OWN_TEAM_MEMBERS, FeedbackParticipantType.RECEIVER_TEAM_MEMBERS,"},{"lineNumber":1222,"author":{"gitId":"-"},"content":" FeedbackParticipantType.STUDENTS, FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":1223,"author":{"gitId":"-"},"content":" if (!giver.equals(FeedbackParticipantType.STUDENTS)) {"},{"lineNumber":1224,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.OWN_TEAM_MEMBERS);"},{"lineNumber":1225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1226,"author":{"gitId":"-"},"content":" if (!receiver.equals(FeedbackParticipantType.STUDENTS_EXCLUDING_SELF)) {"},{"lineNumber":1227,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS);"},{"lineNumber":1228,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1229,"author":{"gitId":"-"},"content":" if (receiver.equals(FeedbackParticipantType.NONE)"},{"lineNumber":1230,"author":{"gitId":"-"},"content":" || receiver.equals(FeedbackParticipantType.SELF)"},{"lineNumber":1231,"author":{"gitId":"-"},"content":" || receiver.equals(FeedbackParticipantType.OWN_TEAM)) {"},{"lineNumber":1232,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.RECEIVER);"},{"lineNumber":1233,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS);"},{"lineNumber":1234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1235,"author":{"gitId":"-"},"content":""},{"lineNumber":1236,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d table.findElements(By.tagName(\"tr\"));"},{"lineNumber":1237,"author":{"gitId":"-"},"content":" int index \u003d colNum - 1;"},{"lineNumber":1238,"author":{"gitId":"-"},"content":" for (FeedbackParticipantType participant : participants) {"},{"lineNumber":1239,"author":{"gitId":"-"},"content":" markOptionAsSelected(rows.get(possibleTypes.indexOf(participant)).findElements(By.tagName(\"input\")).get(index));"},{"lineNumber":1240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1242,"author":{"gitId":"-"},"content":""},{"lineNumber":1243,"author":{"gitId":"-"},"content":" private void selectVisibilityDropdownOption(int questionNum, String text) {"},{"lineNumber":1244,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum);"},{"lineNumber":1245,"author":{"gitId":"-"},"content":" WebElement visibilityPanel \u003d questionForm.findElement(By.tagName(\"tm-visibility-panel\"));"},{"lineNumber":1246,"author":{"gitId":"-"},"content":" click(visibilityPanel.findElement(By.id(\"btn-question-visibility\")));"},{"lineNumber":1247,"author":{"gitId":"-"},"content":" WebElement dropdown \u003d visibilityPanel.findElement(By.id(\"question-visibility-dropdown\"));"},{"lineNumber":1248,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e options \u003d dropdown.findElements(By.className(\"dropdown-button\"));"},{"lineNumber":1249,"author":{"gitId":"-"},"content":" for (WebElement option : options) {"},{"lineNumber":1250,"author":{"gitId":"-"},"content":" if (option.getText().equals(text)) {"},{"lineNumber":1251,"author":{"gitId":"-"},"content":" click(option);"},{"lineNumber":1252,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":1253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1254,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1255,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1256,"author":{"gitId":"-"},"content":""},{"lineNumber":1257,"author":{"gitId":"-"},"content":" private void clickAndWaitForNewQuestion(WebElement button) {"},{"lineNumber":1258,"author":{"gitId":"-"},"content":" int newQuestionNum \u003d getNumQuestions() + 1;"},{"lineNumber":1259,"author":{"gitId":"-"},"content":" click(button);"},{"lineNumber":1260,"author":{"gitId":"-"},"content":" waitForElementPresence(By.id(\"question-form-\" + newQuestionNum));"},{"lineNumber":1261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1262,"author":{"gitId":"-"},"content":""},{"lineNumber":1263,"author":{"gitId":"-"},"content":" private void addNewQuestion(int optionNumber) {"},{"lineNumber":1264,"author":{"gitId":"-"},"content":" click(addNewQuestionButton);"},{"lineNumber":1265,"author":{"gitId":"-"},"content":" WebElement newQuestionDropdown \u003d waitForElementPresence(By.id(\"new-question-dropdown\"));"},{"lineNumber":1266,"author":{"gitId":"-"},"content":" WebElement optionButton \u003d newQuestionDropdown.findElements(By.tagName(\"button\")).get(optionNumber - 1);"},{"lineNumber":1267,"author":{"gitId":"-"},"content":" if (optionNumber \u003d\u003d 1) {"},{"lineNumber":1268,"author":{"gitId":"-"},"content":" click(optionButton);"},{"lineNumber":1269,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1270,"author":{"gitId":"-"},"content":" clickAndWaitForNewQuestion(optionButton);"},{"lineNumber":1271,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1272,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1273,"author":{"gitId":"-"},"content":""},{"lineNumber":1274,"author":{"gitId":"-"},"content":" private void clickSaveNewQuestionButton() {"},{"lineNumber":1275,"author":{"gitId":"-"},"content":" WebElement saveButton \u003d browser.driver.findElement(By.id(\"btn-save-new\"));"},{"lineNumber":1276,"author":{"gitId":"-"},"content":" click(saveButton);"},{"lineNumber":1277,"author":{"gitId":"-"},"content":" waitForElementStaleness(saveButton);"},{"lineNumber":1278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1279,"author":{"gitId":"-"},"content":""},{"lineNumber":1280,"author":{"gitId":"-"},"content":" private WebElement getRecommendedTextLengthField(int questionNum) {"},{"lineNumber":1281,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum)"},{"lineNumber":1282,"author":{"gitId":"-"},"content":" .findElement(By.tagName(\"tm-text-question-edit-details-form\"))"},{"lineNumber":1283,"author":{"gitId":"-"},"content":" .findElement(By.id(\"recommended-length\"));"},{"lineNumber":1284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1285,"author":{"gitId":"-"},"content":""},{"lineNumber":1286,"author":{"gitId":"-"},"content":" private WebElement getGenerateOptionsCheckbox(int questionNum) {"},{"lineNumber":1287,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"generate-checkbox\"));"},{"lineNumber":1288,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1289,"author":{"gitId":"-"},"content":""},{"lineNumber":1290,"author":{"gitId":"-"},"content":" private WebElement getGenerateOptionsDropdown(int questionNum) {"},{"lineNumber":1291,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"generate-dropdown\"));"},{"lineNumber":1292,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1293,"author":{"gitId":"-"},"content":""},{"lineNumber":1294,"author":{"gitId":"-"},"content":" private WebElement getWeightCheckbox(int questionNum) {"},{"lineNumber":1295,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"weights-checkbox\"));"},{"lineNumber":1296,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1297,"author":{"gitId":"-"},"content":""},{"lineNumber":1298,"author":{"gitId":"-"},"content":" private WebElement getOtherOptionCheckbox(int questionNum) {"},{"lineNumber":1299,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"other-checkbox\"));"},{"lineNumber":1300,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1301,"author":{"gitId":"-"},"content":""},{"lineNumber":1302,"author":{"gitId":"-"},"content":" private WebElement getQuestionDropdownCheckbox(int questionNum) {"},{"lineNumber":1303,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"make-question-dropdown\"));"},{"lineNumber":1304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1305,"author":{"gitId":"-"},"content":""},{"lineNumber":1306,"author":{"gitId":"-"},"content":" private String getGeneratedOptionString(FeedbackParticipantType type) {"},{"lineNumber":1307,"author":{"gitId":"-"},"content":" switch (type) {"},{"lineNumber":1308,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":1309,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":1310,"author":{"gitId":"-"},"content":" return \"students\";"},{"lineNumber":1311,"author":{"gitId":"-"},"content":" case STUDENTS_EXCLUDING_SELF:"},{"lineNumber":1312,"author":{"gitId":"-"},"content":" return \"students (excluding self)\";"},{"lineNumber":1313,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":1314,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":1315,"author":{"gitId":"-"},"content":" return \"teams\";"},{"lineNumber":1316,"author":{"gitId":"-"},"content":" case TEAMS_EXCLUDING_SELF:"},{"lineNumber":1317,"author":{"gitId":"-"},"content":" return \"teams (excluding own team)\";"},{"lineNumber":1318,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":1319,"author":{"gitId":"-"},"content":" return \"instructors\";"},{"lineNumber":1320,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":1321,"author":{"gitId":"-"},"content":" return \"unknown\";"},{"lineNumber":1322,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1323,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1324,"author":{"gitId":"-"},"content":""},{"lineNumber":1325,"author":{"gitId":"-"},"content":" private String getDoubleString(Double value) {"},{"lineNumber":1326,"author":{"gitId":"-"},"content":" return value % 1 \u003d\u003d 0 ? Integer.toString(value.intValue()) : Double.toString(value);"},{"lineNumber":1327,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1328,"author":{"gitId":"-"},"content":""},{"lineNumber":1329,"author":{"gitId":"-"},"content":" private WebElement getOptionsSection(int questionNum) {"},{"lineNumber":1330,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"options-section\"));"},{"lineNumber":1331,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1332,"author":{"gitId":"-"},"content":""},{"lineNumber":1333,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getOptionInputs(int questionNum) {"},{"lineNumber":1334,"author":{"gitId":"-"},"content":" WebElement optionsSection \u003d getOptionsSection(questionNum);"},{"lineNumber":1335,"author":{"gitId":"-"},"content":" return optionsSection.findElements(By.cssSelector(\"input[type\u003d\u0027text\u0027]\"));"},{"lineNumber":1336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1337,"author":{"gitId":"-"},"content":""},{"lineNumber":1338,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getOptionWeightInputs(int questionNum) {"},{"lineNumber":1339,"author":{"gitId":"-"},"content":" WebElement optionsSection \u003d getOptionsSection(questionNum);"},{"lineNumber":1340,"author":{"gitId":"-"},"content":" return optionsSection.findElements(By.cssSelector(\"tm-weight-field input\"));"},{"lineNumber":1341,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1342,"author":{"gitId":"-"},"content":""},{"lineNumber":1343,"author":{"gitId":"-"},"content":" private WebElement getOtherWeightInput(int questionNum) {"},{"lineNumber":1344,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"other-weight\"));"},{"lineNumber":1345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1346,"author":{"gitId":"-"},"content":""},{"lineNumber":1347,"author":{"gitId":"-"},"content":" private boolean verifyGeneratedOptions(int questionNum, FeedbackParticipantType participantType) {"},{"lineNumber":1348,"author":{"gitId":"-"},"content":" if (!participantType.equals(FeedbackParticipantType.NONE)) {"},{"lineNumber":1349,"author":{"gitId":"-"},"content":" assertTrue(getGenerateOptionsCheckbox(questionNum).isSelected());"},{"lineNumber":1350,"author":{"gitId":"-"},"content":" assertEquals(getSelectedDropdownOptionText(getGenerateOptionsDropdown(questionNum)),"},{"lineNumber":1351,"author":{"gitId":"-"},"content":" getGeneratedOptionString(participantType));"},{"lineNumber":1352,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":1353,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1354,"author":{"gitId":"-"},"content":" assertFalse(getGenerateOptionsCheckbox(questionNum).isSelected());"},{"lineNumber":1355,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":1356,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1357,"author":{"gitId":"-"},"content":""},{"lineNumber":1358,"author":{"gitId":"-"},"content":" private void verifyOptions(int questionNum, List\u003cString\u003e options) {"},{"lineNumber":1359,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e inputs \u003d getOptionInputs(questionNum);"},{"lineNumber":1360,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c options.size(); i++) {"},{"lineNumber":1361,"author":{"gitId":"-"},"content":" assertEquals(options.get(i), inputs.get(i).getAttribute(\"value\"));"},{"lineNumber":1362,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1363,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1364,"author":{"gitId":"-"},"content":""},{"lineNumber":1365,"author":{"gitId":"-"},"content":" private void verifyOptionWeights(int questionNum, boolean hasWeights, List\u003cDouble\u003e weights) {"},{"lineNumber":1366,"author":{"gitId":"-"},"content":" if (hasWeights) {"},{"lineNumber":1367,"author":{"gitId":"-"},"content":" assertTrue(getWeightCheckbox(questionNum).isSelected());"},{"lineNumber":1368,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e weightInputs \u003d getOptionWeightInputs(questionNum);"},{"lineNumber":1369,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c weights.size(); i++) {"},{"lineNumber":1370,"author":{"gitId":"-"},"content":" assertEquals(getDoubleString(weights.get(i)), weightInputs.get(i).getAttribute(\"value\"));"},{"lineNumber":1371,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1372,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1373,"author":{"gitId":"-"},"content":" assertFalse(getWeightCheckbox(questionNum).isSelected());"},{"lineNumber":1374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1375,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1376,"author":{"gitId":"-"},"content":""},{"lineNumber":1377,"author":{"gitId":"-"},"content":" private void verifyOtherOption(int questionNum, boolean hasOther, Double weight) {"},{"lineNumber":1378,"author":{"gitId":"-"},"content":" if (hasOther) {"},{"lineNumber":1379,"author":{"gitId":"-"},"content":" assertTrue(getOtherOptionCheckbox(questionNum).isSelected());"},{"lineNumber":1380,"author":{"gitId":"-"},"content":" if (weight \u003e 0) {"},{"lineNumber":1381,"author":{"gitId":"-"},"content":" String otherWeight \u003d getOtherWeightInput(questionNum).getAttribute(\"value\");"},{"lineNumber":1382,"author":{"gitId":"-"},"content":" assertEquals(getDoubleString(weight), otherWeight);"},{"lineNumber":1383,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1384,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1385,"author":{"gitId":"-"},"content":" assertFalse(getOtherOptionCheckbox(questionNum).isSelected());"},{"lineNumber":1386,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1388,"author":{"gitId":"-"},"content":""},{"lineNumber":1389,"author":{"gitId":"-"},"content":" private void inputMcqDetails(int questionNum, FeedbackMcqQuestionDetails questionDetails) {"},{"lineNumber":1390,"author":{"gitId":"-"},"content":" if (inputGenerateOptions(questionNum, questionDetails.getGenerateOptionsFor())) {"},{"lineNumber":1391,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":1392,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1393,"author":{"gitId":"-"},"content":""},{"lineNumber":1394,"author":{"gitId":"-"},"content":" inputOptions(questionNum, questionDetails.getMcqChoices());"},{"lineNumber":1395,"author":{"gitId":"-"},"content":" inputOptionWeights(questionNum, questionDetails.isHasAssignedWeights(), questionDetails.getMcqWeights());"},{"lineNumber":1396,"author":{"gitId":"-"},"content":" inputOtherChoice(questionNum, questionDetails.isOtherEnabled(), questionDetails.getMcqOtherWeight());"},{"lineNumber":1397,"author":{"gitId":"-"},"content":" inputDropdownEnabledChoice(questionNum, questionDetails.isQuestionDropdownEnabled());"},{"lineNumber":1398,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1399,"author":{"gitId":"-"},"content":""},{"lineNumber":1400,"author":{"gitId":"-"},"content":" private boolean inputGenerateOptions(int questionNum, FeedbackParticipantType participantType) {"},{"lineNumber":1401,"author":{"gitId":"-"},"content":" if (!participantType.equals(FeedbackParticipantType.NONE)) {"},{"lineNumber":1402,"author":{"gitId":"-"},"content":" markOptionAsSelected(getGenerateOptionsCheckbox(questionNum));"},{"lineNumber":1403,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(getGenerateOptionsDropdown(questionNum),"},{"lineNumber":1404,"author":{"gitId":"-"},"content":" getGeneratedOptionString(participantType));"},{"lineNumber":1405,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":1406,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":1407,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1408,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getGenerateOptionsCheckbox(questionNum));"},{"lineNumber":1409,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":1410,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1411,"author":{"gitId":"-"},"content":""},{"lineNumber":1412,"author":{"gitId":"-"},"content":" private void inputOptions(int questionNum, List\u003cString\u003e options) {"},{"lineNumber":1413,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e inputs \u003d getOptionInputs(questionNum);"},{"lineNumber":1414,"author":{"gitId":"-"},"content":" int numInputsNeeded \u003d options.size() - inputs.size();"},{"lineNumber":1415,"author":{"gitId":"-"},"content":" if (numInputsNeeded \u003e 0) {"},{"lineNumber":1416,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numInputsNeeded; i++) {"},{"lineNumber":1417,"author":{"gitId":"-"},"content":" click(getQuestionForm(questionNum).findElement(By.id(\"btn-add-option\")));"},{"lineNumber":1418,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1419,"author":{"gitId":"-"},"content":" inputs \u003d getOptionInputs(questionNum);"},{"lineNumber":1420,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1421,"author":{"gitId":"-"},"content":" if (numInputsNeeded \u003c 0) {"},{"lineNumber":1422,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c -numInputsNeeded; i++) {"},{"lineNumber":1423,"author":{"gitId":"-"},"content":" click(getOptionsSection(questionNum).findElement(By.tagName(\"button\")));"},{"lineNumber":1424,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1425,"author":{"gitId":"-"},"content":" inputs \u003d getOptionInputs(questionNum);"},{"lineNumber":1426,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1427,"author":{"gitId":"-"},"content":""},{"lineNumber":1428,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c options.size(); i++) {"},{"lineNumber":1429,"author":{"gitId":"-"},"content":" fillTextBox(inputs.get(i), options.get(i));"},{"lineNumber":1430,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1431,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1432,"author":{"gitId":"-"},"content":""},{"lineNumber":1433,"author":{"gitId":"-"},"content":" private void inputOptionWeights(int questionNum, boolean hasWeights, List\u003cDouble\u003e weights) {"},{"lineNumber":1434,"author":{"gitId":"-"},"content":" if (hasWeights) {"},{"lineNumber":1435,"author":{"gitId":"-"},"content":" markOptionAsSelected(getWeightCheckbox(questionNum));"},{"lineNumber":1436,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e weightInputs \u003d getOptionWeightInputs(questionNum);"},{"lineNumber":1437,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c weights.size(); i++) {"},{"lineNumber":1438,"author":{"gitId":"-"},"content":" fillTextBox(weightInputs.get(i), getDoubleString(weights.get(i)));"},{"lineNumber":1439,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1440,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1441,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getWeightCheckbox(questionNum));"},{"lineNumber":1442,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1443,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1444,"author":{"gitId":"-"},"content":""},{"lineNumber":1445,"author":{"gitId":"-"},"content":" private void inputOtherChoice(int questionNum, boolean hasOther, Double otherWeight) {"},{"lineNumber":1446,"author":{"gitId":"-"},"content":" if (hasOther) {"},{"lineNumber":1447,"author":{"gitId":"-"},"content":" markOptionAsSelected(getOtherOptionCheckbox(questionNum));"},{"lineNumber":1448,"author":{"gitId":"-"},"content":" if (otherWeight \u003e 0) {"},{"lineNumber":1449,"author":{"gitId":"-"},"content":" fillTextBox(getOtherWeightInput(questionNum), getDoubleString(otherWeight));"},{"lineNumber":1450,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1451,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1452,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getOtherOptionCheckbox(questionNum));"},{"lineNumber":1453,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1454,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1455,"author":{"gitId":"-"},"content":""},{"lineNumber":1456,"author":{"gitId":"-"},"content":" private void inputDropdownEnabledChoice(int questionNum, boolean hasOther) {"},{"lineNumber":1457,"author":{"gitId":"-"},"content":" if (hasOther) {"},{"lineNumber":1458,"author":{"gitId":"-"},"content":" markOptionAsSelected(getQuestionDropdownCheckbox(questionNum));"},{"lineNumber":1459,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1460,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getQuestionDropdownCheckbox(questionNum));"},{"lineNumber":1461,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1462,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1463,"author":{"gitId":"-"},"content":""},{"lineNumber":1464,"author":{"gitId":"-"},"content":" private WebElement getMaxOptionsCheckbox(int questionNum) {"},{"lineNumber":1465,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"max-options-checkbox\"));"},{"lineNumber":1466,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1467,"author":{"gitId":"-"},"content":""},{"lineNumber":1468,"author":{"gitId":"-"},"content":" private WebElement getMaxOptionsInput(int questionNum) {"},{"lineNumber":1469,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"max-options\"));"},{"lineNumber":1470,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1471,"author":{"gitId":"-"},"content":""},{"lineNumber":1472,"author":{"gitId":"-"},"content":" private WebElement getMinOptionsCheckbox(int questionNum) {"},{"lineNumber":1473,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"min-options-checkbox\"));"},{"lineNumber":1474,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1475,"author":{"gitId":"-"},"content":""},{"lineNumber":1476,"author":{"gitId":"-"},"content":" private WebElement getMinOptionsInput(int questionNum) {"},{"lineNumber":1477,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"min-options\"));"},{"lineNumber":1478,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1479,"author":{"gitId":"-"},"content":""},{"lineNumber":1480,"author":{"gitId":"-"},"content":" private void verifyMaxOptions(int questionNum, int maxOptions) {"},{"lineNumber":1481,"author":{"gitId":"-"},"content":" if (maxOptions \u003d\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":1482,"author":{"gitId":"-"},"content":" assertFalse(getMaxOptionsCheckbox(questionNum).isSelected());"},{"lineNumber":1483,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1484,"author":{"gitId":"-"},"content":" assertTrue(getMaxOptionsCheckbox(questionNum).isSelected());"},{"lineNumber":1485,"author":{"gitId":"-"},"content":" assertEquals(getMaxOptionsInput(questionNum).getAttribute(\"value\"),"},{"lineNumber":1486,"author":{"gitId":"-"},"content":" Integer.toString(maxOptions));"},{"lineNumber":1487,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1488,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1489,"author":{"gitId":"-"},"content":""},{"lineNumber":1490,"author":{"gitId":"-"},"content":" private void verifyMinOptions(int questionNum, int minOptions) {"},{"lineNumber":1491,"author":{"gitId":"-"},"content":" if (minOptions \u003d\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":1492,"author":{"gitId":"-"},"content":" assertFalse(getMinOptionsCheckbox(questionNum).isSelected());"},{"lineNumber":1493,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1494,"author":{"gitId":"-"},"content":" assertTrue(getMinOptionsCheckbox(questionNum).isSelected());"},{"lineNumber":1495,"author":{"gitId":"-"},"content":" assertEquals(getMinOptionsInput(questionNum).getAttribute(\"value\"),"},{"lineNumber":1496,"author":{"gitId":"-"},"content":" Integer.toString(minOptions));"},{"lineNumber":1497,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1498,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1499,"author":{"gitId":"-"},"content":""},{"lineNumber":1500,"author":{"gitId":"-"},"content":" private void inputMsqDetails(int questionNum, FeedbackMsqQuestionDetails questionDetails) {"},{"lineNumber":1501,"author":{"gitId":"-"},"content":" if (inputGenerateOptions(questionNum, questionDetails.getGenerateOptionsFor())) {"},{"lineNumber":1502,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":1503,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1504,"author":{"gitId":"-"},"content":""},{"lineNumber":1505,"author":{"gitId":"-"},"content":" inputOptions(questionNum, questionDetails.getMsqChoices());"},{"lineNumber":1506,"author":{"gitId":"-"},"content":" inputOptionWeights(questionNum, questionDetails.isHasAssignedWeights(), questionDetails.getMsqWeights());"},{"lineNumber":1507,"author":{"gitId":"-"},"content":" inputOtherChoice(questionNum, questionDetails.isOtherEnabled(), questionDetails.getMsqOtherWeight());"},{"lineNumber":1508,"author":{"gitId":"-"},"content":" inputMaxOptions(questionNum, questionDetails.getMaxSelectableChoices());"},{"lineNumber":1509,"author":{"gitId":"-"},"content":" inputMinOptions(questionNum, questionDetails.getMinSelectableChoices());"},{"lineNumber":1510,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1511,"author":{"gitId":"-"},"content":""},{"lineNumber":1512,"author":{"gitId":"-"},"content":" private void inputMaxOptions(int questionNum, int maxOptions) {"},{"lineNumber":1513,"author":{"gitId":"-"},"content":" if (maxOptions \u003d\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":1514,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getMaxOptionsCheckbox(questionNum));"},{"lineNumber":1515,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1516,"author":{"gitId":"-"},"content":" markOptionAsSelected(getMaxOptionsCheckbox(questionNum));"},{"lineNumber":1517,"author":{"gitId":"-"},"content":" fillTextBox(getMaxOptionsInput(questionNum), Integer.toString(maxOptions));"},{"lineNumber":1518,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1519,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1520,"author":{"gitId":"-"},"content":""},{"lineNumber":1521,"author":{"gitId":"-"},"content":" private void inputMinOptions(int questionNum, int minOptions) {"},{"lineNumber":1522,"author":{"gitId":"-"},"content":" if (minOptions \u003d\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":1523,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getMinOptionsCheckbox(questionNum));"},{"lineNumber":1524,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1525,"author":{"gitId":"-"},"content":" markOptionAsSelected(getMinOptionsCheckbox(questionNum));"},{"lineNumber":1526,"author":{"gitId":"-"},"content":" fillTextBox(getMinOptionsInput(questionNum), Integer.toString(minOptions));"},{"lineNumber":1527,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1528,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1529,"author":{"gitId":"-"},"content":""},{"lineNumber":1530,"author":{"gitId":"-"},"content":" private WebElement getMinNumscaleInput(int questionNum) {"},{"lineNumber":1531,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"min-value\"));"},{"lineNumber":1532,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1533,"author":{"gitId":"-"},"content":""},{"lineNumber":1534,"author":{"gitId":"-"},"content":" private WebElement getMaxNumscaleInput(int questionNum) {"},{"lineNumber":1535,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"max-value\"));"},{"lineNumber":1536,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1537,"author":{"gitId":"-"},"content":""},{"lineNumber":1538,"author":{"gitId":"-"},"content":" private WebElement getNumScaleIncrementInput(int questionNum) {"},{"lineNumber":1539,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"increment-value\"));"},{"lineNumber":1540,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1541,"author":{"gitId":"-"},"content":""},{"lineNumber":1542,"author":{"gitId":"-"},"content":" private void inputNumScaleDetails(int questionNum, FeedbackNumericalScaleQuestionDetails questionDetails) {"},{"lineNumber":1543,"author":{"gitId":"-"},"content":" inputNumScaleValue(getMinNumscaleInput(questionNum), Integer.toString(questionDetails.getMinScale()));"},{"lineNumber":1544,"author":{"gitId":"-"},"content":" inputNumScaleValue(getNumScaleIncrementInput(questionNum), getDoubleString(questionDetails.getStep()));"},{"lineNumber":1545,"author":{"gitId":"-"},"content":" inputNumScaleValue(getMaxNumscaleInput(questionNum), Integer.toString(questionDetails.getMaxScale()));"},{"lineNumber":1546,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1547,"author":{"gitId":"-"},"content":""},{"lineNumber":1548,"author":{"gitId":"-"},"content":" private void inputNumScaleValue(WebElement input, String value) {"},{"lineNumber":1549,"author":{"gitId":"-"},"content":" input.clear();"},{"lineNumber":1550,"author":{"gitId":"-"},"content":" input.sendKeys(value);"},{"lineNumber":1551,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1552,"author":{"gitId":"-"},"content":""},{"lineNumber":1553,"author":{"gitId":"-"},"content":" private WebElement getConstSumTotalPointsRadioBtn(int questionNum) {"},{"lineNumber":1554,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"total-points-radio\"));"},{"lineNumber":1555,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1556,"author":{"gitId":"-"},"content":""},{"lineNumber":1557,"author":{"gitId":"-"},"content":" private WebElement getConstSumTotalPointsInput(int questionNum) {"},{"lineNumber":1558,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"total-points\"));"},{"lineNumber":1559,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1560,"author":{"gitId":"-"},"content":""},{"lineNumber":1561,"author":{"gitId":"-"},"content":" private WebElement getConstSumPerOptionPointsRadioBtn(int questionNum) {"},{"lineNumber":1562,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"per-option-points-radio\"));"},{"lineNumber":1563,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1564,"author":{"gitId":"-"},"content":""},{"lineNumber":1565,"author":{"gitId":"-"},"content":" private WebElement getConstSumPerOptionPointsInput(int questionNum) {"},{"lineNumber":1566,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"per-option-points\"));"},{"lineNumber":1567,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1568,"author":{"gitId":"-"},"content":""},{"lineNumber":1569,"author":{"gitId":"-"},"content":" private WebElement getConstSumUnevenDistributionCheckbox(int questionNum) {"},{"lineNumber":1570,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"uneven-distribution-checkbox\"));"},{"lineNumber":1571,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1572,"author":{"gitId":"-"},"content":""},{"lineNumber":1573,"author":{"gitId":"-"},"content":" private WebElement getConstSumUnevenDistributionDropdown(int questionNum) {"},{"lineNumber":1574,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"uneven-distribution-dropdown\"));"},{"lineNumber":1575,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1576,"author":{"gitId":"-"},"content":""},{"lineNumber":1577,"author":{"gitId":"-"},"content":" private void inputConstSumDetails(int questionNum, FeedbackConstantSumQuestionDetails questionDetails) {"},{"lineNumber":1578,"author":{"gitId":"-"},"content":" if (!questionDetails.isDistributeToRecipients()) {"},{"lineNumber":1579,"author":{"gitId":"-"},"content":" inputOptions(questionNum, questionDetails.getConstSumOptions());"},{"lineNumber":1580,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1581,"author":{"gitId":"-"},"content":" if (questionDetails.isPointsPerOption()) {"},{"lineNumber":1582,"author":{"gitId":"-"},"content":" click(getConstSumPerOptionPointsRadioBtn(questionNum));"},{"lineNumber":1583,"author":{"gitId":"-"},"content":" fillTextBox(getConstSumPerOptionPointsInput(questionNum), Integer.toString(questionDetails.getPoints()));"},{"lineNumber":1584,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1585,"author":{"gitId":"-"},"content":" click(getConstSumTotalPointsRadioBtn(questionNum));"},{"lineNumber":1586,"author":{"gitId":"-"},"content":" fillTextBox(getConstSumTotalPointsInput(questionNum), Integer.toString(questionDetails.getPoints()));"},{"lineNumber":1587,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1588,"author":{"gitId":"-"},"content":" String distributeFor \u003d questionDetails.getDistributePointsFor();"},{"lineNumber":1589,"author":{"gitId":"-"},"content":" if (questionDetails.isForceUnevenDistribution()) {"},{"lineNumber":1590,"author":{"gitId":"-"},"content":" markOptionAsSelected(getConstSumUnevenDistributionCheckbox(questionNum));"},{"lineNumber":1591,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(getConstSumUnevenDistributionDropdown(questionNum),"},{"lineNumber":1592,"author":{"gitId":"-"},"content":" \"All options\".equals(distributeFor) ? \"Every option\" : distributeFor);"},{"lineNumber":1593,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1594,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getConstSumUnevenDistributionCheckbox(questionNum));"},{"lineNumber":1595,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1596,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1597,"author":{"gitId":"-"},"content":""},{"lineNumber":1598,"author":{"gitId":"-"},"content":" private WebElement getZeroSumCheckbox(int questionNum) {"},{"lineNumber":1599,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"zero-sum-checkbox\"));"},{"lineNumber":1600,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1601,"author":{"gitId":"-"},"content":""},{"lineNumber":1602,"author":{"gitId":"-"},"content":" private WebElement getAllowNotSureContributionCheckbox(int questionNum) {"},{"lineNumber":1603,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"not-sure-checkbox\"));"},{"lineNumber":1604,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1605,"author":{"gitId":"-"},"content":""},{"lineNumber":1606,"author":{"gitId":"-"},"content":" private void inputContributionDetails(int questionNum, FeedbackContributionQuestionDetails questionDetails) {"},{"lineNumber":1607,"author":{"gitId":"-"},"content":" if (questionDetails.isZeroSum()) {"},{"lineNumber":1608,"author":{"gitId":"-"},"content":" markOptionAsSelected(getZeroSumCheckbox(questionNum));"},{"lineNumber":1609,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1610,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getZeroSumCheckbox(questionNum));"},{"lineNumber":1611,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1612,"author":{"gitId":"-"},"content":" if (questionDetails.isNotSureAllowed()) {"},{"lineNumber":1613,"author":{"gitId":"-"},"content":" markOptionAsSelected(getAllowNotSureContributionCheckbox(questionNum));"},{"lineNumber":1614,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1615,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getAllowNotSureContributionCheckbox(questionNum));"},{"lineNumber":1616,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1617,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1618,"author":{"gitId":"-"},"content":""},{"lineNumber":1619,"author":{"gitId":"-"},"content":" private WebElement getRubricRow(int questionNum, int rowNumber) {"},{"lineNumber":1620,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElements(By.cssSelector(\"tm-rubric-question-edit-details-form tr\"))"},{"lineNumber":1621,"author":{"gitId":"-"},"content":" .get(rowNumber - 1);"},{"lineNumber":1622,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1623,"author":{"gitId":"-"},"content":""},{"lineNumber":1624,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getRubricChoiceInputs(int questionNum) {"},{"lineNumber":1625,"author":{"gitId":"-"},"content":" return getRubricRow(questionNum, 1).findElements(By.tagName(\"input\"));"},{"lineNumber":1626,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1627,"author":{"gitId":"-"},"content":""},{"lineNumber":1628,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getRubricTextareas(int questionNum, int rowNum) {"},{"lineNumber":1629,"author":{"gitId":"-"},"content":" return getRubricRow(questionNum, rowNum).findElements(By.tagName(\"textarea\"));"},{"lineNumber":1630,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1631,"author":{"gitId":"-"},"content":""},{"lineNumber":1632,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getRubricWeights(int questionNum, int rowNum) {"},{"lineNumber":1633,"author":{"gitId":"-"},"content":" return getRubricRow(questionNum, rowNum).findElements(By.tagName(\"input\"));"},{"lineNumber":1634,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1635,"author":{"gitId":"-"},"content":""},{"lineNumber":1636,"author":{"gitId":"-"},"content":" private WebElement getRubricDeleteSubQnBtn(int questionNum, int rowNum) {"},{"lineNumber":1637,"author":{"gitId":"-"},"content":" return getRubricRow(questionNum, rowNum).findElement(By.id(\"btn-delete-subquestion\"));"},{"lineNumber":1638,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1639,"author":{"gitId":"-"},"content":""},{"lineNumber":1640,"author":{"gitId":"-"},"content":" private WebElement getRubricDeleteChoiceBtn(int questionNum, int colNum) {"},{"lineNumber":1641,"author":{"gitId":"-"},"content":" return getRubricRow(questionNum, getNumRubricRows(questionNum)).findElements(By.id(\"btn-delete-choice\")).get(colNum);"},{"lineNumber":1642,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1643,"author":{"gitId":"-"},"content":""},{"lineNumber":1644,"author":{"gitId":"-"},"content":" private int getNumRubricRows(int questionNum) {"},{"lineNumber":1645,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElements(By.cssSelector(\"#rubric-table tr\")).size();"},{"lineNumber":1646,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1647,"author":{"gitId":"-"},"content":""},{"lineNumber":1648,"author":{"gitId":"-"},"content":" private int getNumRubricCols(int questionNum) {"},{"lineNumber":1649,"author":{"gitId":"-"},"content":" WebElement row \u003d getRubricRow(questionNum, 1);"},{"lineNumber":1650,"author":{"gitId":"-"},"content":" return row.findElements(By.tagName(\"td\")).size() + row.findElements(By.tagName(\"th\")).size();"},{"lineNumber":1651,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1652,"author":{"gitId":"-"},"content":""},{"lineNumber":1653,"author":{"gitId":"-"},"content":" private void inputRubricDetails(int questionNum, FeedbackRubricQuestionDetails questionDetails) {"},{"lineNumber":1654,"author":{"gitId":"-"},"content":" int numSubQn \u003d questionDetails.getNumOfRubricSubQuestions();"},{"lineNumber":1655,"author":{"gitId":"-"},"content":" int numChoices \u003d questionDetails.getNumOfRubricChoices();"},{"lineNumber":1656,"author":{"gitId":"-"},"content":" adjustNumRubricFields(questionNum, numSubQn, numChoices);"},{"lineNumber":1657,"author":{"gitId":"-"},"content":""},{"lineNumber":1658,"author":{"gitId":"-"},"content":" List\u003cString\u003e choices \u003d questionDetails.getRubricChoices();"},{"lineNumber":1659,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numChoices; i++) {"},{"lineNumber":1660,"author":{"gitId":"-"},"content":" fillTextBox(getRubricChoiceInputs(questionNum).get(i), choices.get(i));"},{"lineNumber":1661,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1662,"author":{"gitId":"-"},"content":""},{"lineNumber":1663,"author":{"gitId":"-"},"content":" List\u003cString\u003e subQuestions \u003d questionDetails.getRubricSubQuestions();"},{"lineNumber":1664,"author":{"gitId":"-"},"content":" List\u003cList\u003cString\u003e\u003e descriptions \u003d questionDetails.getRubricDescriptions();"},{"lineNumber":1665,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numSubQn; i++) {"},{"lineNumber":1666,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e textAreas \u003d getRubricTextareas(questionNum, i + 2);"},{"lineNumber":1667,"author":{"gitId":"-"},"content":" fillTextBox(textAreas.get(0), subQuestions.get(i));"},{"lineNumber":1668,"author":{"gitId":"-"},"content":" for (int j \u003d 0; j \u003c numChoices; j++) {"},{"lineNumber":1669,"author":{"gitId":"-"},"content":" fillTextBox(textAreas.get(j + 1), descriptions.get(i).get(j));"},{"lineNumber":1670,"author":{"gitId":"-"},"content":" if (descriptions.get(i).get(j).isEmpty()) {"},{"lineNumber":1671,"author":{"gitId":"-"},"content":" // using clear does not send the required event"},{"lineNumber":1672,"author":{"gitId":"-"},"content":" // as a workaround, after clearing without event, enter a random character and delete it"},{"lineNumber":1673,"author":{"gitId":"-"},"content":" textAreas.get(j + 1).sendKeys(\"a\");"},{"lineNumber":1674,"author":{"gitId":"-"},"content":" textAreas.get(j + 1).sendKeys(Keys.BACK_SPACE);"},{"lineNumber":1675,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1676,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1677,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1678,"author":{"gitId":"-"},"content":""},{"lineNumber":1679,"author":{"gitId":"-"},"content":" if (questionDetails.isHasAssignedWeights()) {"},{"lineNumber":1680,"author":{"gitId":"-"},"content":" markOptionAsSelected(getWeightCheckbox(questionNum));"},{"lineNumber":1681,"author":{"gitId":"-"},"content":" List\u003cList\u003cDouble\u003e\u003e weights \u003d questionDetails.getRubricWeights();"},{"lineNumber":1682,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numSubQn; i++) {"},{"lineNumber":1683,"author":{"gitId":"-"},"content":" for (int j \u003d 0; j \u003c numChoices; j++) {"},{"lineNumber":1684,"author":{"gitId":"-"},"content":" fillTextBox(getRubricWeights(questionNum, i + 2).get(j), getDoubleString(weights.get(i).get(j)));"},{"lineNumber":1685,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1686,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1687,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1688,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getWeightCheckbox(questionNum));"},{"lineNumber":1689,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1690,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1691,"author":{"gitId":"-"},"content":""},{"lineNumber":1692,"author":{"gitId":"-"},"content":" private void adjustNumRubricFields(int questionNum, int numSubQn, int numChoices) {"},{"lineNumber":1693,"author":{"gitId":"-"},"content":" int numSubQnsNeeded \u003d numSubQn - (getNumRubricRows(questionNum) - 2);"},{"lineNumber":1694,"author":{"gitId":"-"},"content":" int numChoicesNeeded \u003d numChoices - (getNumRubricCols(questionNum) - 1);"},{"lineNumber":1695,"author":{"gitId":"-"},"content":" if (numSubQnsNeeded \u003e 0) {"},{"lineNumber":1696,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numSubQnsNeeded; i++) {"},{"lineNumber":1697,"author":{"gitId":"-"},"content":" click(getQuestionForm(questionNum).findElement(By.id(\"btn-add-row\")));"},{"lineNumber":1698,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1699,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1700,"author":{"gitId":"-"},"content":" if (numChoicesNeeded \u003e 0) {"},{"lineNumber":1701,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numChoicesNeeded; i++) {"},{"lineNumber":1702,"author":{"gitId":"-"},"content":" click(getQuestionForm(questionNum).findElement(By.id(\"btn-add-col\")));"},{"lineNumber":1703,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1704,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1705,"author":{"gitId":"-"},"content":" if (numSubQnsNeeded \u003c 0) {"},{"lineNumber":1706,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c -numSubQnsNeeded; i++) {"},{"lineNumber":1707,"author":{"gitId":"-"},"content":" click(getRubricDeleteSubQnBtn(questionNum, 2));"},{"lineNumber":1708,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1709,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1710,"author":{"gitId":"-"},"content":" if (numChoicesNeeded \u003c 0) {"},{"lineNumber":1711,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c -numChoicesNeeded; i++) {"},{"lineNumber":1712,"author":{"gitId":"-"},"content":" clickAndConfirm(getRubricDeleteChoiceBtn(questionNum, 2));"},{"lineNumber":1713,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1715,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1716,"author":{"gitId":"-"},"content":""},{"lineNumber":1717,"author":{"gitId":"-"},"content":" private WebElement getAllowDuplicateRankCheckbox(int questionNum) {"},{"lineNumber":1718,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"duplicate-rank-checkbox\"));"},{"lineNumber":1719,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1720,"author":{"gitId":"-"},"content":""},{"lineNumber":1721,"author":{"gitId":"-"},"content":" private void inputRankDetails(int questionNum, FeedbackRankQuestionDetails questionDetails) {"},{"lineNumber":1722,"author":{"gitId":"-"},"content":" if (questionDetails instanceof FeedbackRankOptionsQuestionDetails) {"},{"lineNumber":1723,"author":{"gitId":"-"},"content":" FeedbackRankOptionsQuestionDetails optionDetails \u003d (FeedbackRankOptionsQuestionDetails) questionDetails;"},{"lineNumber":1724,"author":{"gitId":"-"},"content":" inputOptions(questionNum, optionDetails.getOptions());"},{"lineNumber":1725,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1726,"author":{"gitId":"-"},"content":" if (questionDetails.isAreDuplicatesAllowed()) {"},{"lineNumber":1727,"author":{"gitId":"-"},"content":" markOptionAsSelected(getAllowDuplicateRankCheckbox(questionNum));"},{"lineNumber":1728,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1729,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getAllowDuplicateRankCheckbox(questionNum));"},{"lineNumber":1730,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1731,"author":{"gitId":"-"},"content":" inputMaxOptions(questionNum, questionDetails.getMaxOptionsToBeRanked());"},{"lineNumber":1732,"author":{"gitId":"-"},"content":" inputMinOptions(questionNum, questionDetails.getMinOptionsToBeRanked());"},{"lineNumber":1733,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1734,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":5,"dishenggg":13,"mingyuanc":5,"-":1711}},{"path":"src/e2e/java/teammates/e2e/pageobjects/StudentHomePage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.pageobjects;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.Assert.assertTrue;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.openqa.selenium.By;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebElement;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Page Object Model for student home page."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class StudentHomePage extends AppPage {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" public StudentHomePage(Browser browser) {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" super(browser);"},{"lineNumber":17,"author":{"gitId":"-"},"content":" }"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":20,"author":{"gitId":"-"},"content":" protected boolean containsExpectedPageContents() {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" return \"Student Home\".equals(getPageTitle());"},{"lineNumber":22,"author":{"gitId":"-"},"content":" }"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getStudentHomeCoursePanels() {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" return browser.driver.findElements(By.cssSelector(\"div.card.bg-light\"));"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" public int getStudentHomeCoursePanelIndex(String courseName) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e coursePanels \u003d getStudentHomeCoursePanels();"},{"lineNumber":30,"author":{"gitId":"-"},"content":" int coursePanelIndex \u003d -1;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c coursePanels.size(); i++) {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (coursePanels.get(i).getText().contains(courseName)) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" coursePanelIndex \u003d i;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":" assertTrue(coursePanelIndex \u003e\u003d 0);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" return coursePanelIndex;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" }"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" public void verifyVisibleFeedbackSessionToStudents(String feedbackSessionName, int index) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" assertTrue(getStudentHomeCoursePanels().get(index)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .findElement(By.cssSelector(\"div.table-responsive table.table tbody\")).getText()"},{"lineNumber":43,"author":{"gitId":"-"},"content":" .contains(feedbackSessionName));"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" public void clickCloseNotificationBannerButton() {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" WebElement closeNotifButton \u003d browser.driver.findElement(By.id(\"btn-close-notif\"));"},{"lineNumber":48,"author":{"gitId":"-"},"content":" waitForElementToBeClickable(closeNotifButton);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" click(closeNotifButton);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" public void clickMarkAsReadButton() {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" WebElement markNotifAsReadButton \u003d browser.driver.findElement(By.id(\"btn-mark-as-read\"));"},{"lineNumber":55,"author":{"gitId":"-"},"content":" waitForElementToBeClickable(markNotifAsReadButton);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" click(markNotifAsReadButton);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish();"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"yuanxi1"},"content":" public String getNotificationId() {"},{"lineNumber":61,"author":{"gitId":"yuanxi1"},"content":" WebElement notificationBanner \u003d browser.driver.findElement(By.id(\"notification-banner\"));"},{"lineNumber":62,"author":{"gitId":"yuanxi1"},"content":" return notificationBanner.getAttribute(\"data-testid\");"},{"lineNumber":63,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":64,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":5,"-":60}},{"path":"src/it/java/teammates/it/sqllogic/core/AccountsLogicIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":8,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationStyle;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationTargetUser;"},{"lineNumber":13,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":17,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":19,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.AccountsLogic;"},{"lineNumber":22,"author":{"gitId":"yuanxi1"},"content":"import teammates.sqllogic.core.CoursesLogic;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.NotificationsLogic;"},{"lineNumber":24,"author":{"gitId":"yuanxi1"},"content":"import teammates.sqllogic.core.UsersLogic;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountsDb;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":27,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":28,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.ReadNotification;"},{"lineNumber":31,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":32,"author":{"gitId":"yuanxi1"},"content":"import teammates.test.AssertHelper;"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * SUT: {@link AccountsLogic}."},{"lineNumber":36,"author":{"gitId":"-"},"content":" */"},{"lineNumber":37,"author":{"gitId":"-"},"content":"public class AccountsLogicIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" private AccountsLogic accountsLogic \u003d AccountsLogic.inst();"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private NotificationsLogic notificationsLogic \u003d NotificationsLogic.inst();"},{"lineNumber":41,"author":{"gitId":"yuanxi1"},"content":" private UsersLogic usersLogic \u003d UsersLogic.inst();"},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":" private CoursesLogic coursesLogic \u003d CoursesLogic.inst();"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" private AccountsDb accountsDb \u003d AccountsDb.inst();"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":" private SqlDataBundle typicalDataBundle;"},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":49,"author":{"gitId":"yuanxi1"},"content":" @BeforeClass"},{"lineNumber":50,"author":{"gitId":"yuanxi1"},"content":" public void setupClass() {"},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":" super.setupClass();"},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":" typicalDataBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":53,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":54,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":55,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":56,"author":{"gitId":"yuanxi1"},"content":" @BeforeMethod"},{"lineNumber":57,"author":{"gitId":"yuanxi1"},"content":" protected void setUp() throws Exception {"},{"lineNumber":58,"author":{"gitId":"yuanxi1"},"content":" super.setUp();"},{"lineNumber":59,"author":{"gitId":"yuanxi1"},"content":" persistDataBundle(typicalDataBundle);"},{"lineNumber":60,"author":{"gitId":"yuanxi1"},"content":" HibernateUtil.flushSession();"},{"lineNumber":61,"author":{"gitId":"yuanxi1"},"content":" HibernateUtil.clearSession();"},{"lineNumber":62,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":63,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public void testUpdateReadNotifications()"},{"lineNumber":66,"author":{"gitId":"-"},"content":" throws EntityAlreadyExistsException, InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" ______TS(\"success: mark notification as read\");"},{"lineNumber":68,"author":{"gitId":"-"},"content":" Account account \u003d new Account(\"google-id\", \"name\", \"email@teammates.com\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" Notification notification \u003d new Notification(Instant.parse(\"2011-01-01T00:00:00Z\"),"},{"lineNumber":70,"author":{"gitId":"-"},"content":" Instant.parse(\"2099-01-01T00:00:00Z\"), NotificationStyle.DANGER, NotificationTargetUser.GENERAL,"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"A deprecation note\", \"\u003cp\u003eDeprecation happens in three minutes\u003c/p\u003e\");"},{"lineNumber":72,"author":{"gitId":"-"},"content":" accountsDb.createAccount(account);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" notificationsLogic.createNotification(notification);"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":76,"author":{"gitId":"-"},"content":" UUID notificationId \u003d notification.getId();"},{"lineNumber":77,"author":{"gitId":"-"},"content":" accountsLogic.updateReadNotifications(googleId, notificationId, notification.getEndTime());"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" Account actualAccount \u003d accountsDb.getAccountByGoogleId(googleId);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" List\u003cReadNotification\u003e accountReadNotifications \u003d actualAccount.getReadNotifications();"},{"lineNumber":81,"author":{"gitId":"-"},"content":" assertEquals(1, accountReadNotifications.size());"},{"lineNumber":82,"author":{"gitId":"-"},"content":" assertSame(actualAccount, accountReadNotifications.get(0).getAccount());"},{"lineNumber":83,"author":{"gitId":"-"},"content":" assertSame(notification, accountReadNotifications.get(0).getNotification());"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":86,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":87,"author":{"gitId":"yuanxi1"},"content":" public void testJoinCourseForStudent()"},{"lineNumber":88,"author":{"gitId":"yuanxi1"},"content":" throws EntityAlreadyExistsException, InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":89,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":90,"author":{"gitId":"yuanxi1"},"content":" Student student2YetToJoinCourse \u003d typicalDataBundle.students.get(\"student2YetToJoinCourse4\");"},{"lineNumber":91,"author":{"gitId":"yuanxi1"},"content":" Student student3YetToJoinCourse \u003d typicalDataBundle.students.get(\"student3YetToJoinCourse4\");"},{"lineNumber":92,"author":{"gitId":"yuanxi1"},"content":" Student studentInCourse \u003d typicalDataBundle.students.get(\"student1InCourse1\");"},{"lineNumber":93,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":94,"author":{"gitId":"yuanxi1"},"content":" String loggedInGoogleId \u003d \"AccLogicT.student.id\";"},{"lineNumber":95,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":96,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: wrong key\");"},{"lineNumber":97,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":98,"author":{"gitId":"yuanxi1"},"content":" String wrongKey \u003d StringHelper.encrypt(\"wrongkey\");"},{"lineNumber":99,"author":{"gitId":"yuanxi1"},"content":" EntityDoesNotExistException ednee \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":100,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForStudent(wrongKey, loggedInGoogleId));"},{"lineNumber":101,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"No student with given registration key: \" + wrongKey, ednee.getMessage());"},{"lineNumber":102,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":103,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: invalid parameters\");"},{"lineNumber":104,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":105,"author":{"gitId":"yuanxi1"},"content":" InvalidParametersException ipe \u003d assertThrows(InvalidParametersException.class,"},{"lineNumber":106,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForStudent(student2YetToJoinCourse.getRegKey(), \"wrong student\"));"},{"lineNumber":107,"author":{"gitId":"yuanxi1"},"content":" AssertHelper.assertContains(FieldValidator.REASON_INCORRECT_FORMAT, ipe.getMessage());"},{"lineNumber":108,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":109,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: googleID belongs to an existing student in the course\");"},{"lineNumber":110,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":111,"author":{"gitId":"yuanxi1"},"content":" EntityAlreadyExistsException eaee \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":112,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForStudent(student2YetToJoinCourse.getRegKey(),"},{"lineNumber":113,"author":{"gitId":"yuanxi1"},"content":" studentInCourse.getGoogleId()));"},{"lineNumber":114,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Student has already joined course\", eaee.getMessage());"},{"lineNumber":115,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":116,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: with encryption and new account to be created\");"},{"lineNumber":117,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":118,"author":{"gitId":"yuanxi1"},"content":" accountsLogic.joinCourseForStudent(student2YetToJoinCourse.getRegKey(), loggedInGoogleId);"},{"lineNumber":119,"author":{"gitId":"yuanxi1"},"content":" Account accountCreated \u003d accountsLogic.getAccountForGoogleId(loggedInGoogleId);"},{"lineNumber":120,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":121,"author":{"gitId":"yuanxi1"},"content":" assertEquals(loggedInGoogleId, usersLogic.getStudentForEmail("},{"lineNumber":122,"author":{"gitId":"yuanxi1"},"content":" student2YetToJoinCourse.getCourseId(), student2YetToJoinCourse.getEmail()).getGoogleId());"},{"lineNumber":123,"author":{"gitId":"yuanxi1"},"content":" assertNotNull(accountCreated);"},{"lineNumber":124,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":125,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: student joined but account already exists\");"},{"lineNumber":126,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":127,"author":{"gitId":"yuanxi1"},"content":" String existingAccountId \u003d \"existingAccountId\";"},{"lineNumber":128,"author":{"gitId":"yuanxi1"},"content":" Account existingAccount \u003d new Account(existingAccountId, \"accountName\", student3YetToJoinCourse.getEmail());"},{"lineNumber":129,"author":{"gitId":"yuanxi1"},"content":" accountsDb.createAccount(existingAccount);"},{"lineNumber":130,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":131,"author":{"gitId":"yuanxi1"},"content":" accountsLogic.joinCourseForStudent(student3YetToJoinCourse.getRegKey(), existingAccountId);"},{"lineNumber":132,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":133,"author":{"gitId":"yuanxi1"},"content":" assertEquals(existingAccountId, usersLogic.getStudentForEmail("},{"lineNumber":134,"author":{"gitId":"yuanxi1"},"content":" student3YetToJoinCourse.getCourseId(), student3YetToJoinCourse.getEmail()).getGoogleId());"},{"lineNumber":135,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":136,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: already joined\");"},{"lineNumber":137,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":138,"author":{"gitId":"yuanxi1"},"content":" eaee \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":139,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForStudent(student2YetToJoinCourse.getRegKey(), loggedInGoogleId));"},{"lineNumber":140,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Student has already joined course\", eaee.getMessage());"},{"lineNumber":141,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":142,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: course is deleted\");"},{"lineNumber":143,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":144,"author":{"gitId":"yuanxi1"},"content":" Course originalCourse \u003d usersLogic.getStudentForEmail("},{"lineNumber":145,"author":{"gitId":"yuanxi1"},"content":" student2YetToJoinCourse.getCourseId(), student2YetToJoinCourse.getEmail()).getCourse();"},{"lineNumber":146,"author":{"gitId":"yuanxi1"},"content":" coursesLogic.moveCourseToRecycleBin(originalCourse.getId());"},{"lineNumber":147,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":148,"author":{"gitId":"yuanxi1"},"content":" ednee \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":149,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForStudent(student2YetToJoinCourse.getRegKey(),"},{"lineNumber":150,"author":{"gitId":"yuanxi1"},"content":" loggedInGoogleId));"},{"lineNumber":151,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"The course you are trying to join has been deleted by an instructor\", ednee.getMessage());"},{"lineNumber":152,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":153,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":154,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":155,"author":{"gitId":"yuanxi1"},"content":" public void testJoinCourseForInstructor() throws Exception {"},{"lineNumber":156,"author":{"gitId":"yuanxi1"},"content":" String instructorIdAlreadyJoinedCourse \u003d \"instructor1\";"},{"lineNumber":157,"author":{"gitId":"yuanxi1"},"content":" Instructor instructor2YetToJoinCourse \u003d typicalDataBundle.instructors.get(\"instructor2YetToJoinCourse4\");"},{"lineNumber":158,"author":{"gitId":"yuanxi1"},"content":" Instructor instructor3YetToJoinCourse \u003d typicalDataBundle.instructors.get(\"instructor3YetToJoinCourse4\");"},{"lineNumber":159,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":160,"author":{"gitId":"yuanxi1"},"content":" String loggedInGoogleId \u003d \"AccLogicT.instr.id\";"},{"lineNumber":161,"author":{"gitId":"yuanxi1"},"content":" String[] key \u003d new String[] {"},{"lineNumber":162,"author":{"gitId":"yuanxi1"},"content":" getRegKeyForInstructor(instructor2YetToJoinCourse.getCourseId(), instructor2YetToJoinCourse.getEmail()),"},{"lineNumber":163,"author":{"gitId":"yuanxi1"},"content":" getRegKeyForInstructor(instructor2YetToJoinCourse.getCourseId(), instructor3YetToJoinCourse.getEmail()),"},{"lineNumber":164,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":165,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":166,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: googleID belongs to an existing instructor in the course\");"},{"lineNumber":167,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":168,"author":{"gitId":"yuanxi1"},"content":" EntityAlreadyExistsException eaee \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":169,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForInstructor("},{"lineNumber":170,"author":{"gitId":"yuanxi1"},"content":" key[0], instructorIdAlreadyJoinedCourse));"},{"lineNumber":171,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Instructor has already joined course\", eaee.getMessage());"},{"lineNumber":172,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":173,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: instructor joined and new account be created\");"},{"lineNumber":174,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":175,"author":{"gitId":"yuanxi1"},"content":" accountsLogic.joinCourseForInstructor(key[0], loggedInGoogleId);"},{"lineNumber":176,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":177,"author":{"gitId":"yuanxi1"},"content":" Instructor joinedInstructor \u003d usersLogic.getInstructorForEmail("},{"lineNumber":178,"author":{"gitId":"yuanxi1"},"content":" instructor2YetToJoinCourse.getCourseId(), instructor2YetToJoinCourse.getEmail());"},{"lineNumber":179,"author":{"gitId":"yuanxi1"},"content":" assertEquals(loggedInGoogleId, joinedInstructor.getGoogleId());"},{"lineNumber":180,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":181,"author":{"gitId":"yuanxi1"},"content":" Account accountCreated \u003d accountsLogic.getAccountForGoogleId(loggedInGoogleId);"},{"lineNumber":182,"author":{"gitId":"yuanxi1"},"content":" assertNotNull(accountCreated);"},{"lineNumber":183,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":184,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: instructor joined but account already exists\");"},{"lineNumber":185,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":186,"author":{"gitId":"yuanxi1"},"content":" String existingAccountId \u003d \"existingAccountId\";"},{"lineNumber":187,"author":{"gitId":"yuanxi1"},"content":" Account existingAccount \u003d new Account(existingAccountId, \"accountName\", instructor3YetToJoinCourse.getEmail());"},{"lineNumber":188,"author":{"gitId":"yuanxi1"},"content":" accountsDb.createAccount(existingAccount);"},{"lineNumber":189,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":190,"author":{"gitId":"yuanxi1"},"content":" accountsLogic.joinCourseForInstructor(key[1], existingAccount.getGoogleId());"},{"lineNumber":191,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":192,"author":{"gitId":"yuanxi1"},"content":" joinedInstructor \u003d usersLogic.getInstructorForEmail("},{"lineNumber":193,"author":{"gitId":"yuanxi1"},"content":" instructor3YetToJoinCourse.getCourseId(), existingAccount.getEmail());"},{"lineNumber":194,"author":{"gitId":"yuanxi1"},"content":" assertEquals(existingAccountId, joinedInstructor.getGoogleId());"},{"lineNumber":195,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":196,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: instructor already joined\");"},{"lineNumber":197,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":198,"author":{"gitId":"yuanxi1"},"content":" eaee \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":199,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForInstructor(key[0], loggedInGoogleId));"},{"lineNumber":200,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Instructor has already joined course\", eaee.getMessage());"},{"lineNumber":201,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":202,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: key belongs to a different user\");"},{"lineNumber":203,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":204,"author":{"gitId":"yuanxi1"},"content":" eaee \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":205,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForInstructor(key[0], \"otherUserId\"));"},{"lineNumber":206,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Instructor has already joined course\", eaee.getMessage());"},{"lineNumber":207,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":208,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: invalid key\");"},{"lineNumber":209,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":210,"author":{"gitId":"yuanxi1"},"content":" String invalidKey \u003d StringHelper.encrypt(\"invalidKey\");"},{"lineNumber":211,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":212,"author":{"gitId":"yuanxi1"},"content":" EntityDoesNotExistException ednee \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":213,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForInstructor(invalidKey, loggedInGoogleId));"},{"lineNumber":214,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"No instructor with given registration key: \" + invalidKey,"},{"lineNumber":215,"author":{"gitId":"yuanxi1"},"content":" ednee.getMessage());"},{"lineNumber":216,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":217,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: course deleted\");"},{"lineNumber":218,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":219,"author":{"gitId":"yuanxi1"},"content":" Course originalCourse \u003d usersLogic.getInstructorForEmail("},{"lineNumber":220,"author":{"gitId":"yuanxi1"},"content":" instructor2YetToJoinCourse.getCourseId(), instructor2YetToJoinCourse.getEmail()).getCourse();"},{"lineNumber":221,"author":{"gitId":"yuanxi1"},"content":" coursesLogic.moveCourseToRecycleBin(originalCourse.getId());"},{"lineNumber":222,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":223,"author":{"gitId":"yuanxi1"},"content":" ednee \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":224,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForInstructor(instructor2YetToJoinCourse.getRegKey(),"},{"lineNumber":225,"author":{"gitId":"yuanxi1"},"content":" instructor2YetToJoinCourse.getGoogleId()));"},{"lineNumber":226,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"The course you are trying to join has been deleted by an instructor\", ednee.getMessage());"},{"lineNumber":227,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":228,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":229,"author":{"gitId":"yuanxi1"},"content":" private String getRegKeyForInstructor(String courseId, String email) {"},{"lineNumber":230,"author":{"gitId":"yuanxi1"},"content":" return usersLogic.getInstructorForEmail(courseId, email).getRegKey();"},{"lineNumber":231,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":179,"-":53}},{"path":"src/it/java/teammates/it/sqllogic/core/FeedbackQuestionsLogicIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionType;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackTextQuestionDetails;"},{"lineNumber":16,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.FeedbackQuestionsLogic;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackVisibilityType;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.ui.output.NumberOfEntitiesToGiveFeedbackToSetting;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackQuestionUpdateRequest;"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * SUT: {@link FeedbackQuestionsLogic}."},{"lineNumber":30,"author":{"gitId":"-"},"content":" */"},{"lineNumber":31,"author":{"gitId":"-"},"content":"public class FeedbackQuestionsLogicIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private FeedbackQuestionsLogic fqLogic \u003d FeedbackQuestionsLogic.inst();"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" private SqlDataBundle typicalDataBundle;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":39,"author":{"gitId":"-"},"content":" public void setupClass() {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" super.setupClass();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" typicalDataBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":45,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":46,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":48,"author":{"gitId":"-"},"content":" persistDataBundle(typicalDataBundle);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":53,"author":{"gitId":"marquestye"},"content":" public void testCreateFeedbackQuestion() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d typicalDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":55,"author":{"gitId":"-"},"content":" FeedbackTextQuestionDetails newQuestionDetails \u003d new FeedbackTextQuestionDetails(\"New question text.\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showTos \u003d new ArrayList\u003c\u003e();"},{"lineNumber":57,"author":{"gitId":"-"},"content":" showTos.add(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" FeedbackQuestion newQuestion \u003d FeedbackQuestion.makeQuestion(fs, 6, \"This is a new text question\","},{"lineNumber":59,"author":{"gitId":"-"},"content":" FeedbackParticipantType.STUDENTS, FeedbackParticipantType.OWN_TEAM_MEMBERS, -100,"},{"lineNumber":60,"author":{"gitId":"-"},"content":" showTos, showTos, showTos, newQuestionDetails);"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" newQuestion \u003d fqLogic.createFeedbackQuestion(newQuestion);"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" FeedbackQuestion actualQuestion \u003d fqLogic.getFeedbackQuestion(newQuestion.getId());"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" verifyEquals(newQuestion, actualQuestion);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":70,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForSession() {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d typicalDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":72,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d typicalDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":73,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d typicalDataBundle.feedbackQuestions.get(\"qn2InSession1InCourse1\");"},{"lineNumber":74,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d typicalDataBundle.feedbackQuestions.get(\"qn3InSession1InCourse1\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d typicalDataBundle.feedbackQuestions.get(\"qn4InSession1InCourse1\");"},{"lineNumber":76,"author":{"gitId":"-"},"content":" FeedbackQuestion fq5 \u003d typicalDataBundle.feedbackQuestions.get(\"qn5InSession1InCourse1\");"},{"lineNumber":77,"author":{"gitId":"-"},"content":" FeedbackQuestion fq6 \u003d typicalDataBundle.feedbackQuestions.get(\"qn6InSession1InCourse1NoResponses\");"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e expectedQuestions \u003d List.of(fq1, fq2, fq3, fq4, fq5, fq6);"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqLogic.getFeedbackQuestionsForSession(fs);"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestions.size(), actualQuestions.size());"},{"lineNumber":84,"author":{"gitId":"-"},"content":" assertTrue(expectedQuestions.containsAll(actualQuestions));"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":88,"author":{"gitId":"-"},"content":" public void testUpdateFeedbackQuestionCascade() throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d typicalDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":90,"author":{"gitId":"-"},"content":" fq1.setDescription(\"New question description\");"},{"lineNumber":91,"author":{"gitId":"-"},"content":" FeedbackQuestionUpdateRequest updateRequest \u003d generateFeedbackQuestionUpdateRequest("},{"lineNumber":92,"author":{"gitId":"-"},"content":" fq1.getQuestionNumber(),"},{"lineNumber":93,"author":{"gitId":"-"},"content":" fq1.getDescription(),"},{"lineNumber":94,"author":{"gitId":"-"},"content":" fq1.getQuestionDetailsCopy(),"},{"lineNumber":95,"author":{"gitId":"-"},"content":" fq1.getQuestionDetailsCopy().getQuestionType(),"},{"lineNumber":96,"author":{"gitId":"-"},"content":" fq1.getGiverType(),"},{"lineNumber":97,"author":{"gitId":"-"},"content":" fq1.getRecipientType(),"},{"lineNumber":98,"author":{"gitId":"-"},"content":" fq1.getNumOfEntitiesToGiveFeedbackTo(),"},{"lineNumber":99,"author":{"gitId":"-"},"content":" fq1.getShowResponsesTo(),"},{"lineNumber":100,"author":{"gitId":"-"},"content":" fq1.getShowGiverNameTo(),"},{"lineNumber":101,"author":{"gitId":"-"},"content":" fq1.getShowRecipientNameTo()"},{"lineNumber":102,"author":{"gitId":"-"},"content":" );"},{"lineNumber":103,"author":{"gitId":"-"},"content":" updateRequest.setNumberOfEntitiesToGiveFeedbackToSetting(NumberOfEntitiesToGiveFeedbackToSetting.CUSTOM);"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" fqLogic.updateFeedbackQuestionCascade(fq1.getId(), updateRequest);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" FeedbackQuestion actualFeedbackQuestion \u003d fqLogic.getFeedbackQuestion(fq1.getId());"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" verifyEquals(fq1, actualFeedbackQuestion);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" private FeedbackQuestionUpdateRequest generateFeedbackQuestionUpdateRequest("},{"lineNumber":113,"author":{"gitId":"-"},"content":" int questionNumber,"},{"lineNumber":114,"author":{"gitId":"-"},"content":" String questionDescription,"},{"lineNumber":115,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails questionDetails,"},{"lineNumber":116,"author":{"gitId":"-"},"content":" FeedbackQuestionType questionType,"},{"lineNumber":117,"author":{"gitId":"-"},"content":" FeedbackParticipantType giverType,"},{"lineNumber":118,"author":{"gitId":"-"},"content":" FeedbackParticipantType recipientType,"},{"lineNumber":119,"author":{"gitId":"-"},"content":" Integer customNumberOfEntitiesToGiveFeedbackTo,"},{"lineNumber":120,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showResponsesTo,"},{"lineNumber":121,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showGiverNameTo,"},{"lineNumber":122,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showRecipientNameTo"},{"lineNumber":123,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" FeedbackQuestionUpdateRequest updateRequest \u003d new FeedbackQuestionUpdateRequest();"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" updateRequest.setQuestionNumber(questionNumber);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" updateRequest.setQuestionDescription(questionDescription);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" updateRequest.setQuestionDetails(questionDetails);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" updateRequest.setQuestionType(questionType);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" updateRequest.setGiverType(giverType);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" updateRequest.setRecipientType(recipientType);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" updateRequest.setCustomNumberOfEntitiesToGiveFeedbackTo(customNumberOfEntitiesToGiveFeedbackTo);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" updateRequest.setShowResponsesTo(convertToFeedbackVisibilityType(showResponsesTo));"},{"lineNumber":134,"author":{"gitId":"-"},"content":" updateRequest.setShowGiverNameTo(convertToFeedbackVisibilityType(showGiverNameTo));"},{"lineNumber":135,"author":{"gitId":"-"},"content":" updateRequest.setShowRecipientNameTo(convertToFeedbackVisibilityType(showRecipientNameTo));"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" return updateRequest;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" private List\u003cFeedbackVisibilityType\u003e convertToFeedbackVisibilityType("},{"lineNumber":141,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e feedbackParticipantTypes) {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" return feedbackParticipantTypes.stream().map(feedbackParticipantType -\u003e {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" switch (feedbackParticipantType) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":145,"author":{"gitId":"-"},"content":" return FeedbackVisibilityType.STUDENTS;"},{"lineNumber":146,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":147,"author":{"gitId":"-"},"content":" return FeedbackVisibilityType.INSTRUCTORS;"},{"lineNumber":148,"author":{"gitId":"-"},"content":" case RECEIVER:"},{"lineNumber":149,"author":{"gitId":"-"},"content":" return FeedbackVisibilityType.RECIPIENT;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":151,"author":{"gitId":"-"},"content":" return FeedbackVisibilityType.GIVER_TEAM_MEMBERS;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" case RECEIVER_TEAM_MEMBERS:"},{"lineNumber":153,"author":{"gitId":"-"},"content":" return FeedbackVisibilityType.RECIPIENT_TEAM_MEMBERS;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":155,"author":{"gitId":"-"},"content":" assert false : \"Unknown feedbackParticipantType\" + feedbackParticipantType;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":157,"author":{"gitId":"-"},"content":" }"},{"lineNumber":158,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }).collect(Collectors.toList());"},{"lineNumber":160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":161,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":2,"-":159}},{"path":"src/it/java/teammates/it/storage/sqlapi/AccountRequestsDbIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountRequestsDb;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * SUT: {@link AccountRequestsDb}."},{"lineNumber":15,"author":{"gitId":"-"},"content":" */"},{"lineNumber":16,"author":{"gitId":"-"},"content":"public class AccountRequestsDbIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" private final AccountRequestsDb accountRequestDb \u003d AccountRequestsDb.inst();"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":21,"author":{"gitId":"-"},"content":" public void testCreateReadDeleteAccountRequest() throws Exception {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" ______TS(\"Create account request, does not exists, succeeds\");"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d new AccountRequest(\"test@gmail.com\", \"name\", \"institute\");"},{"lineNumber":25,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" ______TS(\"Read account request using the given email and institute\");"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" AccountRequest actualAccReqEmalAndInstitute \u003d"},{"lineNumber":30,"author":{"gitId":"-"},"content":" accountRequestDb.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":31,"author":{"gitId":"-"},"content":" verifyEquals(accountRequest, actualAccReqEmalAndInstitute);"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" ______TS(\"Read account request using the given registration key\");"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" AccountRequest actualAccReqRegistrationKey \u003d"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" accountRequestDb.getAccountRequestByRegistrationKey(accountRequest.getRegistrationKey());"},{"lineNumber":37,"author":{"gitId":"-"},"content":" verifyEquals(accountRequest, actualAccReqRegistrationKey);"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" ______TS(\"Read account request using the given start and end timing\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" List\u003cAccountRequest\u003e actualAccReqCreatedAt \u003d"},{"lineNumber":42,"author":{"gitId":"-"},"content":" accountRequestDb.getAccountRequests(accountRequest.getCreatedAt(), accountRequest.getCreatedAt());"},{"lineNumber":43,"author":{"gitId":"-"},"content":" assertEquals(1, actualAccReqCreatedAt.size());"},{"lineNumber":44,"author":{"gitId":"-"},"content":" verifyEquals(accountRequest, actualAccReqCreatedAt.get(0));"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" ______TS(\"Read account request not found using the outside start and end timing\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" List\u003cAccountRequest\u003e actualAccReqCreatedAtOutside \u003d"},{"lineNumber":49,"author":{"gitId":"-"},"content":" accountRequestDb.getAccountRequests("},{"lineNumber":50,"author":{"gitId":"-"},"content":" accountRequest.getCreatedAt().minusMillis(3000),"},{"lineNumber":51,"author":{"gitId":"-"},"content":" accountRequest.getCreatedAt().minusMillis(2000));"},{"lineNumber":52,"author":{"gitId":"-"},"content":" assertEquals(0, actualAccReqCreatedAtOutside.size());"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" ______TS(\"Create acccount request, already exists, execption thrown\");"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" AccountRequest identicalAccountRequest \u003d"},{"lineNumber":57,"author":{"gitId":"-"},"content":" new AccountRequest(\"test@gmail.com\", \"name\", \"institute\");"},{"lineNumber":58,"author":{"gitId":"-"},"content":" assertNotSame(accountRequest, identicalAccountRequest);"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" () -\u003e accountRequestDb.createAccountRequest(identicalAccountRequest));"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" ______TS(\"Delete account request that was created\");"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" accountRequestDb.deleteAccountRequest(accountRequest);"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" AccountRequest actualAccountRequest \u003d"},{"lineNumber":68,"author":{"gitId":"-"},"content":" accountRequestDb.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":69,"author":{"gitId":"-"},"content":" assertNull(actualAccountRequest);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":73,"author":{"gitId":"-"},"content":" public void testUpdateAccountRequest() throws Exception {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" ______TS(\"Update account request, does not exists, exception thrown\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d new AccountRequest(\"test@gmail.com\", \"name\", \"institute\");"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":79,"author":{"gitId":"-"},"content":" () -\u003e accountRequestDb.updateAccountRequest(accountRequest));"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" ______TS(\"Update account request, already exists, update successful\");"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" accountRequest.setName(\"new account request name\");"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" accountRequestDb.updateAccountRequest(accountRequest);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest("},{"lineNumber":88,"author":{"gitId":"-"},"content":" accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":89,"author":{"gitId":"-"},"content":" verifyEquals(accountRequest, actual);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":93,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateAccountRequestEmailField() throws Exception {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in email field\");"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" // Attempt to use SQL commands in email field"},{"lineNumber":97,"author":{"gitId":"-"},"content":" String email \u003d \"email\u0027/**/OR/**/1\u003d1/**/@gmail.com\";"},{"lineNumber":98,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d new AccountRequest(email, \"name\", \"institute\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":101,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":103,"author":{"gitId":"-"},"content":" assertEquals(email, actual.getEmail());"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":107,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateAccountRequestNameField() throws Exception {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in name field\");"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" // Attempt to use SQL commands in name field"},{"lineNumber":111,"author":{"gitId":"-"},"content":" String name \u003d \"name\u0027; SELECT * FROM account_requests; --\";"},{"lineNumber":112,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d new AccountRequest(\"test@gmail.com\", name, \"institute\");"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":115,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":117,"author":{"gitId":"-"},"content":" assertEquals(name, actual.getName());"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":121,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateAccountRequestInstituteField() throws Exception {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in institute field\");"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" // Attempt to use SQL commands in institute field"},{"lineNumber":125,"author":{"gitId":"-"},"content":" String institute \u003d \"institute\u0027; DROP TABLE account_requests; --\";"},{"lineNumber":126,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d new AccountRequest(\"test@gmail.com\", \"name\", institute);"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":129,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(accountRequest.getEmail(), institute);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" assertEquals(institute, actual.getInstitute());"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":135,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetAccountRequest() throws Exception {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getAccountRequest\");"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d new AccountRequest(\"test@gmail.com\", \"name\", \"institute\");"},{"lineNumber":139,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" String instituteInjection \u003d \"institute\u0027; DROP TABLE account_requests; --\";"},{"lineNumber":142,"author":{"gitId":"-"},"content":" AccountRequest actualInjection \u003d accountRequestDb.getAccountRequest(accountRequest.getEmail(), instituteInjection);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" assertNull(actualInjection);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":146,"author":{"gitId":"-"},"content":" assertEquals(accountRequest, actual);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":150,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetAccountRequestByRegistrationKey() throws Exception {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getAccountRequestByRegistrationKey\");"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d new AccountRequest(\"test@gmail.com\", \"name\", \"institute\");"},{"lineNumber":154,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" String regKeyInjection \u003d \"regKey\u0027; DROP TABLE account_requests; --\";"},{"lineNumber":157,"author":{"gitId":"-"},"content":" AccountRequest actualInjection \u003d accountRequestDb.getAccountRequestByRegistrationKey(regKeyInjection);"},{"lineNumber":158,"author":{"gitId":"-"},"content":" assertNull(actualInjection);"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequestByRegistrationKey(accountRequest.getRegistrationKey());"},{"lineNumber":161,"author":{"gitId":"-"},"content":" assertEquals(accountRequest, actual);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":165,"author":{"gitId":"-"},"content":" public void testSqlInjectionInUpdateAccountRequest() throws Exception {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in updateAccountRequest\");"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d new AccountRequest(\"test@gmail.com\", \"name\", \"institute\");"},{"lineNumber":169,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" String nameInjection \u003d \"newName\u0027; DROP TABLE account_requests; --\";"},{"lineNumber":172,"author":{"gitId":"-"},"content":" accountRequest.setName(nameInjection);"},{"lineNumber":173,"author":{"gitId":"-"},"content":" accountRequestDb.updateAccountRequest(accountRequest);"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":176,"author":{"gitId":"-"},"content":" assertEquals(accountRequest, actual);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":180,"author":{"gitId":"-"},"content":" public void testSqlInjectionInDeleteAccountRequest() throws Exception {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in deleteAccountRequest\");"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d new AccountRequest(\"test@gmail.com\", \"name\", \"institute\");"},{"lineNumber":184,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" String emailInjection \u003d \"email\u0027/**/OR/**/1\u003d1/**/@gmail.com\";"},{"lineNumber":187,"author":{"gitId":"-"},"content":" String nameInjection \u003d \"name\u0027; DROP TABLE account_requests; --\";"},{"lineNumber":188,"author":{"gitId":"-"},"content":" String instituteInjection \u003d \"institute\u0027; DROP TABLE account_requests; --\";"},{"lineNumber":189,"author":{"gitId":"-"},"content":" AccountRequest accountRequestInjection \u003d new AccountRequest(emailInjection, nameInjection, instituteInjection);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" accountRequestDb.deleteAccountRequest(accountRequestInjection);"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":193,"author":{"gitId":"-"},"content":" assertEquals(accountRequest, actual);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":197,"author":{"gitId":"-"},"content":" public void testSqlInjectionSearchAccountRequestsInWholeSystem() throws Exception {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in searchAccountRequestsInWholeSystem\");"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d new AccountRequest(\"test@gmail.com\", \"name\", \"institute\");"},{"lineNumber":201,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" String searchInjection \u003d \"institute\u0027; DROP TABLE account_requests; --\";"},{"lineNumber":204,"author":{"gitId":"-"},"content":" List\u003cAccountRequest\u003e actualInjection \u003d accountRequestDb.searchAccountRequestsInWholeSystem(searchInjection);"},{"lineNumber":205,"author":{"gitId":"-"},"content":" assertEquals(0, actualInjection.size());"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(\"test@gmail.com\", \"institute\");"},{"lineNumber":208,"author":{"gitId":"-"},"content":" assertEquals(accountRequest, actual);"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":1,"-":209}},{"path":"src/it/java/teammates/it/storage/sqlapi/CoursesDbIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.CoursesDb;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * SUT: {@link CoursesDb}."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class CoursesDbIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" private final CoursesDb coursesDb \u003d CoursesDb.inst();"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" public void testGetCourse() throws Exception {"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: get course that does not exist\");"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" Course actual \u003d coursesDb.getCourse(\"non-existent-course-id\");"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" assertNull(actual);"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null assertion exception thrown\");"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getCourse(null));"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: get course that already exists\");"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" Course expected \u003d getTypicalCourse();"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" coursesDb.createCourse(expected);"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" actual \u003d coursesDb.getCourse(expected.getId());"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" verifyEquals(expected, actual);"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":42,"author":{"gitId":"-"},"content":" public void testCreateCourse() throws Exception {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" ______TS(\"success: create course that does not exist\");"},{"lineNumber":44,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":45,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" Course actualCourse \u003d coursesDb.getCourse(\"course-id\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":" verifyEquals(course, actualCourse);"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null course assertion exception thrown\");"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.createCourse(null));"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: invalid course details\");"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" Course invalidCourse \u003d new Course(\"course-id\", \"!@#!@#\", \"Asia/Singapore\", \"institute\");"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" assertThrows(InvalidParametersException.class, () -\u003e coursesDb.createCourse(invalidCourse));"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" ______TS(\"failure: create course that already exist, execption thrown\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":" Course identicalCourse \u003d getTypicalCourse();"},{"lineNumber":58,"author":{"gitId":"-"},"content":" assertNotSame(course, identicalCourse);"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" assertThrows(EntityAlreadyExistsException.class, () -\u003e coursesDb.createCourse(identicalCourse));"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public void testUpdateCourse() throws Exception {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" ______TS(\"failure: update course that does not exist, exception thrown\");"},{"lineNumber":66,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" assertThrows(EntityDoesNotExistException.class, () -\u003e coursesDb.updateCourse(course));"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null course assertion exception thrown\");"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.updateCourse(null));"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: update course that already exists\");"},{"lineNumber":73,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" course.setName(\"new course name\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" coursesDb.updateCourse(course);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" Course actual \u003d coursesDb.getCourse(\"course-id\");"},{"lineNumber":78,"author":{"gitId":"-"},"content":" verifyEquals(course, actual);"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" ______TS(\"success: update detached course that already exists\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" // same id, different name"},{"lineNumber":83,"author":{"gitId":"-"},"content":" Course detachedCourse \u003d getTypicalCourse();"},{"lineNumber":84,"author":{"gitId":"-"},"content":" detachedCourse.setName(\"different-name\");"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" coursesDb.updateCourse(detachedCourse);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" verifyEquals(course, detachedCourse);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" public void testDeleteCourse() throws Exception {"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: delete course that already exists\");"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" coursesDb.createCourse(course);"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" coursesDb.deleteCourse(course);"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" Course actualCourse \u003d coursesDb.getCourse(course.getId());"},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":" assertNull(actualCourse);"},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" public void testCreateSection() throws Exception {"},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" coursesDb.createCourse(course);"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: create section that does not exist\");"},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" coursesDb.createSection(section);"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" Section actualSection \u003d coursesDb.getSectionByName(course.getId(), section.getName());"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" verifyEquals(section, actualSection);"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null section assertion exception thrown\");"},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.createSection(null));"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: invalid section details\");"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" Section invalidSection \u003d new Section(course, null);"},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" assertThrows(InvalidParametersException.class, () -\u003e coursesDb.createSection(invalidSection));"},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: create section that already exist, execption thrown\");"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" assertThrows(EntityAlreadyExistsException.class, () -\u003e coursesDb.createSection(section));"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" public void testGetSectionByName() throws Exception {"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" coursesDb.createCourse(course);"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":" coursesDb.createSection(section);"},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null courseId assertion exception thrown\");"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getSectionByName(null, section.getName()));"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null sectionName assertion exception thrown\");"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getSectionByName(course.getId(), null));"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: get section that already exists\");"},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":" Section actualSection \u003d coursesDb.getSectionByName(course.getId(), section.getName());"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" verifyEquals(section, actualSection);"},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: get section that does not exist\");"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" Section nonExistentSection \u003d coursesDb.getSectionByName(course.getId(), \"non-existent-section-name\");"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" assertNull(nonExistentSection);"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":146,"author":{"gitId":"-"},"content":" public void testGetSectionByCourseIdAndTeam() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":148,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":149,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" Team team \u003d new Team(section, \"team-name\");"},{"lineNumber":151,"author":{"gitId":"-"},"content":" section.addTeam(team);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null courseId assertion exception thrown\");"},{"lineNumber":155,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getSectionByCourseIdAndTeam(null, team.getName()));"},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":157,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null teamName assertion exception thrown\");"},{"lineNumber":158,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getSectionByCourseIdAndTeam(course.getId(), null));"},{"lineNumber":159,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":161,"author":{"gitId":"-"},"content":" Section actualSection \u003d coursesDb.getSectionByCourseIdAndTeam(course.getId(), team.getName());"},{"lineNumber":162,"author":{"gitId":"-"},"content":" verifyEquals(section, actualSection);"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":166,"author":{"gitId":"-"},"content":" public void testGetTeamsForSection() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":168,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":169,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":170,"author":{"gitId":"-"},"content":" Team team1 \u003d new Team(section, \"team-name1\");"},{"lineNumber":171,"author":{"gitId":"-"},"content":" section.addTeam(team1);"},{"lineNumber":172,"author":{"gitId":"-"},"content":" Team team2 \u003d new Team(section, \"team-name2\");"},{"lineNumber":173,"author":{"gitId":"-"},"content":" section.addTeam(team2);"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" List\u003cTeam\u003e expectedTeams \u003d List.of(team1, team2);"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null section assertion exception thrown\");"},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getTeamsForSection(null));"},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":183,"author":{"gitId":"-"},"content":" List\u003cTeam\u003e actualTeams \u003d coursesDb.getTeamsForSection(section);"},{"lineNumber":184,"author":{"gitId":"-"},"content":" assertEquals(expectedTeams.size(), actualTeams.size());"},{"lineNumber":185,"author":{"gitId":"-"},"content":" assertTrue(expectedTeams.containsAll(actualTeams));"},{"lineNumber":186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":189,"author":{"gitId":"domoberzin"},"content":" public void testDeleteSectionsByCourseId() throws Exception {"},{"lineNumber":190,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":191,"author":{"gitId":"domoberzin"},"content":" coursesDb.createCourse(course);"},{"lineNumber":192,"author":{"gitId":"domoberzin"},"content":" List\u003cSection\u003e expectedSections \u003d new ArrayList\u003c\u003e();"},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":" for (int i \u003d 0; i \u003c 5; i++) {"},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" Section newSection \u003d new Section(course, \"section-name\" + i);"},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" expectedSections.add(newSection);"},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":" course.addSection(newSection);"},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":" assertNotNull(coursesDb.getSectionByName(course.getId(), newSection.getName()));"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":200,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: delete sections by course id\");"},{"lineNumber":201,"author":{"gitId":"domoberzin"},"content":" coursesDb.deleteSectionsByCourseId(course.getId());"},{"lineNumber":202,"author":{"gitId":"domoberzin"},"content":" for (Section section : expectedSections) {"},{"lineNumber":203,"author":{"gitId":"domoberzin"},"content":" Section actualSection \u003d coursesDb.getSectionByName(course.getId(), section.getName());"},{"lineNumber":204,"author":{"gitId":"domoberzin"},"content":" assertNull(actualSection);"},{"lineNumber":205,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":206,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":207,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":209,"author":{"gitId":"-"},"content":" public void testGetTeamsForCourse() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" Section section1 \u003d new Section(course, \"section-name1\");"},{"lineNumber":213,"author":{"gitId":"-"},"content":" course.addSection(section1);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" Team team1 \u003d new Team(section1, \"team-name1\");"},{"lineNumber":215,"author":{"gitId":"-"},"content":" section1.addTeam(team1);"},{"lineNumber":216,"author":{"gitId":"-"},"content":" Team team2 \u003d new Team(section1, \"team-name2\");"},{"lineNumber":217,"author":{"gitId":"-"},"content":" section1.addTeam(team2);"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" Section section2 \u003d new Section(course, \"section-name2\");"},{"lineNumber":220,"author":{"gitId":"-"},"content":" course.addSection(section2);"},{"lineNumber":221,"author":{"gitId":"-"},"content":" Team team3 \u003d new Team(section2, \"team-name3\");"},{"lineNumber":222,"author":{"gitId":"-"},"content":" section2.addTeam(team3);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" Team team4 \u003d new Team(section2, \"team-name4\");"},{"lineNumber":224,"author":{"gitId":"-"},"content":" section2.addTeam(team4);"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" List\u003cTeam\u003e expectedTeams \u003d List.of(team1, team2, team3, team4);"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null courseId assertion exception thrown\");"},{"lineNumber":231,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getTeamsForCourse(null));"},{"lineNumber":232,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":234,"author":{"gitId":"-"},"content":" List\u003cTeam\u003e actualTeams \u003d coursesDb.getTeamsForCourse(course.getId());"},{"lineNumber":235,"author":{"gitId":"-"},"content":" assertEquals(expectedTeams.size(), actualTeams.size());"},{"lineNumber":236,"author":{"gitId":"-"},"content":" assertTrue(expectedTeams.containsAll(actualTeams));"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":239,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":240,"author":{"gitId":"domoberzin"},"content":" public void testCreateTeam() throws Exception {"},{"lineNumber":241,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":242,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":243,"author":{"gitId":"domoberzin"},"content":" Team team \u003d new Team(section, \"team-name1\");"},{"lineNumber":244,"author":{"gitId":"domoberzin"},"content":" coursesDb.createCourse(course);"},{"lineNumber":245,"author":{"gitId":"domoberzin"},"content":" coursesDb.createSection(section);"},{"lineNumber":246,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":247,"author":{"gitId":"domoberzin"},"content":" assertNotNull(coursesDb.getSectionByName(course.getId(), section.getName()));"},{"lineNumber":248,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":249,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null team assertion exception thrown\");"},{"lineNumber":250,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.createTeam(null));"},{"lineNumber":251,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":252,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: create team that does not exist\");"},{"lineNumber":253,"author":{"gitId":"domoberzin"},"content":" coursesDb.createTeam(team);"},{"lineNumber":254,"author":{"gitId":"domoberzin"},"content":" Team actualTeam \u003d coursesDb.getTeamByName(section.getId(), team.getName());"},{"lineNumber":255,"author":{"gitId":"domoberzin"},"content":" verifyEquals(team, actualTeam);"},{"lineNumber":256,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":257,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: invalid team details\");"},{"lineNumber":258,"author":{"gitId":"domoberzin"},"content":" Team invalidTeam \u003d new Team(section, null);"},{"lineNumber":259,"author":{"gitId":"domoberzin"},"content":" assertThrows(InvalidParametersException.class, () -\u003e coursesDb.createTeam(invalidTeam));"},{"lineNumber":260,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":261,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: create team that already exist, execption thrown\");"},{"lineNumber":262,"author":{"gitId":"domoberzin"},"content":" assertThrows(EntityAlreadyExistsException.class, () -\u003e coursesDb.createTeam(team));"},{"lineNumber":263,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":264,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":265,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":266,"author":{"gitId":"domoberzin"},"content":" public void testGetTeamByName() throws Exception {"},{"lineNumber":267,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":268,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":269,"author":{"gitId":"domoberzin"},"content":" Team team \u003d new Team(section, \"team-name1\");"},{"lineNumber":270,"author":{"gitId":"domoberzin"},"content":" coursesDb.createCourse(course);"},{"lineNumber":271,"author":{"gitId":"domoberzin"},"content":" coursesDb.createSection(section);"},{"lineNumber":272,"author":{"gitId":"domoberzin"},"content":" coursesDb.createTeam(team);"},{"lineNumber":273,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":274,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: get team that already exists\");"},{"lineNumber":275,"author":{"gitId":"domoberzin"},"content":" Team actualTeam \u003d coursesDb.getTeamByName(section.getId(), team.getName());"},{"lineNumber":276,"author":{"gitId":"domoberzin"},"content":" verifyEquals(team, actualTeam);"},{"lineNumber":277,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":278,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null sectionId assertion exception thrown\");"},{"lineNumber":279,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getTeamByName(null, team.getName()));"},{"lineNumber":280,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":281,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null teamName assertion exception thrown\");"},{"lineNumber":282,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getTeamByName(section.getId(), null));"},{"lineNumber":283,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":284,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: null return\");"},{"lineNumber":285,"author":{"gitId":"domoberzin"},"content":" Team nonExistentTeam \u003d coursesDb.getTeamByName(section.getId(), \"non-existent-team-name\");"},{"lineNumber":286,"author":{"gitId":"domoberzin"},"content":" assertNull(nonExistentTeam);"},{"lineNumber":287,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":290,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateCourse() throws Exception {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in createCourse\");"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" // Attempt to use SQL commands in name field"},{"lineNumber":294,"author":{"gitId":"-"},"content":" String courseName \u003d \"test\u0027; DROP TABLE courses; --\";"},{"lineNumber":295,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", courseName, \"UTC\", \"teammates\");"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":298,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":299,"author":{"gitId":"-"},"content":" Course actual \u003d coursesDb.getCourse(\"course-id\");"},{"lineNumber":300,"author":{"gitId":"-"},"content":" assertEquals(courseName, actual.getName());"},{"lineNumber":301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":304,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetCourse() throws Exception {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getCourse\");"},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"course-name\", \"UTC\", \"teammates\");"},{"lineNumber":308,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" // Attempt to use SQL commands in courseId field"},{"lineNumber":311,"author":{"gitId":"-"},"content":" String courseId \u003d \"test\u0027 OR 1 \u003d 1; --\";"},{"lineNumber":312,"author":{"gitId":"-"},"content":" Course actual \u003d coursesDb.getCourse(courseId);"},{"lineNumber":313,"author":{"gitId":"-"},"content":" assertEquals(null, actual);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" }"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":317,"author":{"gitId":"-"},"content":" public void testSqlInjectionInUpdateCourse() throws Exception {"},{"lineNumber":318,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in updateCourse\");"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"name\", \"UTC\", \"institute\");"},{"lineNumber":321,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":324,"author":{"gitId":"-"},"content":" String newName \u003d \"newName\u0027; DROP TABLE courses; --\";"},{"lineNumber":325,"author":{"gitId":"-"},"content":" course.setName(newName);"},{"lineNumber":326,"author":{"gitId":"-"},"content":" coursesDb.updateCourse(course);"},{"lineNumber":327,"author":{"gitId":"-"},"content":" Course actual \u003d coursesDb.getCourse(\"course-id\");"},{"lineNumber":328,"author":{"gitId":"-"},"content":" assertEquals(newName, actual.getName());"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":332,"author":{"gitId":"-"},"content":" public void testSqlInjectionInDeleteCourse() throws Exception {"},{"lineNumber":333,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in deleteCourse\");"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"name\", \"UTC\", \"institute\");"},{"lineNumber":336,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" String name \u003d \"newName\u0027; DELETE FROM courses; --\";"},{"lineNumber":339,"author":{"gitId":"-"},"content":" Course injectionCourse \u003d new Course(\"course-id-injection\", name, \"UTC\", \"institute\");"},{"lineNumber":340,"author":{"gitId":"-"},"content":" coursesDb.createCourse(injectionCourse);"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":" coursesDb.deleteCourse(injectionCourse);"},{"lineNumber":343,"author":{"gitId":"-"},"content":" Course actualInjectionCourse \u003d coursesDb.getCourse(\"course-id-injection\");"},{"lineNumber":344,"author":{"gitId":"-"},"content":""},{"lineNumber":345,"author":{"gitId":"-"},"content":" // The course should be deleted"},{"lineNumber":346,"author":{"gitId":"-"},"content":" assertEquals(null, actualInjectionCourse);"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":" // All other courses should not be deleted"},{"lineNumber":349,"author":{"gitId":"-"},"content":" Course actualCourse \u003d coursesDb.getCourse(\"course-id\");"},{"lineNumber":350,"author":{"gitId":"-"},"content":" assertEquals(course, actualCourse);"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":354,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateSection() throws Exception {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in createSection\");"},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"-"},"content":" // Attempt to use SQL commands in sectionName fields"},{"lineNumber":358,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"name\", \"UTC\", \"institute\");"},{"lineNumber":359,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":360,"author":{"gitId":"-"},"content":" String sectionName \u003d \"section\u0027; DROP TABLE courses; --\";"},{"lineNumber":361,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, sectionName);"},{"lineNumber":362,"author":{"gitId":"-"},"content":""},{"lineNumber":363,"author":{"gitId":"-"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":364,"author":{"gitId":"-"},"content":" coursesDb.createSection(section);"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" // Check that we are still able to get courses"},{"lineNumber":367,"author":{"gitId":"-"},"content":" Course actualCourse \u003d coursesDb.getCourse(\"course-id\");"},{"lineNumber":368,"author":{"gitId":"-"},"content":" assertEquals(course, actualCourse);"},{"lineNumber":369,"author":{"gitId":"-"},"content":" }"},{"lineNumber":370,"author":{"gitId":"-"},"content":""},{"lineNumber":371,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":372,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetSectionByName() throws Exception {"},{"lineNumber":373,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getSectionByName\");"},{"lineNumber":374,"author":{"gitId":"-"},"content":""},{"lineNumber":375,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"course-name\", \"UTC\", \"institute\");"},{"lineNumber":376,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":377,"author":{"gitId":"-"},"content":" String sectionName \u003d \"section-name\";"},{"lineNumber":378,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, sectionName);"},{"lineNumber":379,"author":{"gitId":"-"},"content":""},{"lineNumber":380,"author":{"gitId":"-"},"content":" coursesDb.createSection(section);"},{"lineNumber":381,"author":{"gitId":"-"},"content":" Section actual \u003d coursesDb.getSectionByName(\"course-id\", \"section-name\u0027; DROP TABLE courses; --\");"},{"lineNumber":382,"author":{"gitId":"-"},"content":" assertEquals(null, actual);"},{"lineNumber":383,"author":{"gitId":"-"},"content":" Section actualSection \u003d coursesDb.getSectionByName(\"course-id\", sectionName);"},{"lineNumber":384,"author":{"gitId":"-"},"content":" assertEquals(sectionName, actualSection.getName());"},{"lineNumber":385,"author":{"gitId":"-"},"content":" }"},{"lineNumber":386,"author":{"gitId":"-"},"content":""},{"lineNumber":387,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":388,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetSectionByCourseIdAndTeam() throws Exception {"},{"lineNumber":389,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getSectionByCourseIdAndTeam\");"},{"lineNumber":390,"author":{"gitId":"-"},"content":""},{"lineNumber":391,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"course-name\", \"UTC\", \"institute\");"},{"lineNumber":392,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":393,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":394,"author":{"gitId":"-"},"content":" Team team \u003d new Team(section, \"team-name\");"},{"lineNumber":395,"author":{"gitId":"-"},"content":" section.addTeam(team);"},{"lineNumber":396,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":397,"author":{"gitId":"-"},"content":""},{"lineNumber":398,"author":{"gitId":"-"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":399,"author":{"gitId":"-"},"content":" String teamNameInjection \u003d \"team-name\u0027; DROP TABLE courses; --\";"},{"lineNumber":400,"author":{"gitId":"-"},"content":" Section actual \u003d coursesDb.getSectionByCourseIdAndTeam(\"course-id\", teamNameInjection);"},{"lineNumber":401,"author":{"gitId":"-"},"content":" assertEquals(null, actual);"},{"lineNumber":402,"author":{"gitId":"-"},"content":" Section actualSection \u003d coursesDb.getSectionByCourseIdAndTeam(\"course-id\", \"team-name\");"},{"lineNumber":403,"author":{"gitId":"-"},"content":" assertEquals(\"team-name\", actualSection.getTeams().get(0).getName());"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":407,"author":{"gitId":"-"},"content":" public void testSqlInjectionInDeleteSectionsByCourseId() throws Exception {"},{"lineNumber":408,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in deleteSectionsByCourseId\");"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"name\", \"UTC\", \"institute\");"},{"lineNumber":411,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":412,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":413,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":414,"author":{"gitId":"-"},"content":""},{"lineNumber":415,"author":{"gitId":"-"},"content":" String courseId \u003d \"course-id\u0027; DELETE FROM courses; --\";"},{"lineNumber":416,"author":{"gitId":"-"},"content":" coursesDb.deleteSectionsByCourseId(courseId);"},{"lineNumber":417,"author":{"gitId":"-"},"content":""},{"lineNumber":418,"author":{"gitId":"-"},"content":" // The sections should not be deleted"},{"lineNumber":419,"author":{"gitId":"-"},"content":" Section actualSection \u003d coursesDb.getSectionByName(\"course-id\", \"section-name\");"},{"lineNumber":420,"author":{"gitId":"-"},"content":" assertEquals(section, actualSection);"},{"lineNumber":421,"author":{"gitId":"-"},"content":" }"},{"lineNumber":422,"author":{"gitId":"-"},"content":""},{"lineNumber":423,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":424,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetTeamsForSection() throws Exception {"},{"lineNumber":425,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getTeamsForSection\");"},{"lineNumber":426,"author":{"gitId":"-"},"content":""},{"lineNumber":427,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"course-name\", \"UTC\", \"institute\");"},{"lineNumber":428,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":429,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":430,"author":{"gitId":"-"},"content":" Team team \u003d new Team(section, \"team-name\");"},{"lineNumber":431,"author":{"gitId":"-"},"content":" section.addTeam(team);"},{"lineNumber":432,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":433,"author":{"gitId":"-"},"content":""},{"lineNumber":434,"author":{"gitId":"-"},"content":" String sectionName \u003d \"section-name\u0027 OR 1 \u003d 1; --\";"},{"lineNumber":435,"author":{"gitId":"-"},"content":" Section sectionInjection \u003d new Section(course, sectionName);"},{"lineNumber":436,"author":{"gitId":"-"},"content":" List\u003cTeam\u003e actual \u003d coursesDb.getTeamsForSection(sectionInjection);"},{"lineNumber":437,"author":{"gitId":"-"},"content":" assertEquals(0, actual.size());"},{"lineNumber":438,"author":{"gitId":"-"},"content":" }"},{"lineNumber":439,"author":{"gitId":"-"},"content":""},{"lineNumber":440,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":441,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetTeamsForCourse() throws Exception {"},{"lineNumber":442,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getTeamsForCourse\");"},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"course-name\", \"UTC\", \"institute\");"},{"lineNumber":445,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":446,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":447,"author":{"gitId":"-"},"content":" Team team \u003d new Team(section, \"team-name\");"},{"lineNumber":448,"author":{"gitId":"-"},"content":" section.addTeam(team);"},{"lineNumber":449,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":450,"author":{"gitId":"-"},"content":""},{"lineNumber":451,"author":{"gitId":"-"},"content":" String courseId \u003d \"course-id\u0027 OR 1 \u003d 1; --\";"},{"lineNumber":452,"author":{"gitId":"-"},"content":" List\u003cTeam\u003e actual \u003d coursesDb.getTeamsForCourse(courseId);"},{"lineNumber":453,"author":{"gitId":"-"},"content":" assertEquals(0, actual.size());"},{"lineNumber":454,"author":{"gitId":"-"},"content":" }"},{"lineNumber":455,"author":{"gitId":"-"},"content":""},{"lineNumber":456,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":457,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateTeam() throws Exception {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in createTeam\");"},{"lineNumber":459,"author":{"gitId":"-"},"content":""},{"lineNumber":460,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"course-name\", \"UTC\", \"institute\");"},{"lineNumber":461,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":462,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":463,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":464,"author":{"gitId":"-"},"content":""},{"lineNumber":465,"author":{"gitId":"-"},"content":" String teamName \u003d \"team\u0027; DROP TABLE courses; --\";"},{"lineNumber":466,"author":{"gitId":"-"},"content":" Team team \u003d new Team(section, teamName);"},{"lineNumber":467,"author":{"gitId":"-"},"content":" coursesDb.createTeam(team);"},{"lineNumber":468,"author":{"gitId":"-"},"content":""},{"lineNumber":469,"author":{"gitId":"-"},"content":" List\u003cTeam\u003e actual \u003d coursesDb.getTeamsForSection(section);"},{"lineNumber":470,"author":{"gitId":"-"},"content":" assertEquals(1, actual.size());"},{"lineNumber":471,"author":{"gitId":"-"},"content":" assertEquals(teamName, actual.get(0).getName());"},{"lineNumber":472,"author":{"gitId":"-"},"content":" }"},{"lineNumber":473,"author":{"gitId":"-"},"content":""},{"lineNumber":474,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":475,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetTeamByName() throws Exception {"},{"lineNumber":476,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getTeamByName\");"},{"lineNumber":477,"author":{"gitId":"-"},"content":""},{"lineNumber":478,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"course-name\", \"UTC\", \"institute\");"},{"lineNumber":479,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":480,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":481,"author":{"gitId":"-"},"content":" Team team \u003d new Team(section, \"team-name\");"},{"lineNumber":482,"author":{"gitId":"-"},"content":" section.addTeam(team);"},{"lineNumber":483,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":484,"author":{"gitId":"-"},"content":""},{"lineNumber":485,"author":{"gitId":"-"},"content":" String teamName \u003d \"team-name\u0027; DROP TABLE courses; --\";"},{"lineNumber":486,"author":{"gitId":"-"},"content":" Team actual \u003d coursesDb.getTeamByName(section.getId(), teamName);"},{"lineNumber":487,"author":{"gitId":"-"},"content":" assertEquals(null, actual);"},{"lineNumber":488,"author":{"gitId":"-"},"content":" Team actualTeam \u003d coursesDb.getTeamByName(section.getId(), \"team-name\");"},{"lineNumber":489,"author":{"gitId":"-"},"content":" assertEquals(team, actualTeam);"},{"lineNumber":490,"author":{"gitId":"-"},"content":" }"},{"lineNumber":491,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":165,"-":326}},{"path":"src/it/java/teammates/it/storage/sqlapi/FeedbackQuestionsDbIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackQuestionsDb;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * SUT: {@link FeedbackQuestionsDb}."},{"lineNumber":23,"author":{"gitId":"-"},"content":" */"},{"lineNumber":24,"author":{"gitId":"-"},"content":"public class FeedbackQuestionsDbIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" private final FeedbackQuestionsDb fqDb \u003d FeedbackQuestionsDb.inst();"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" private SqlDataBundle typicalDataBundle;"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":31,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":32,"author":{"gitId":"-"},"content":" public void setupClass() {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" super.setupClass();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" typicalDataBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":39,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" persistDataBundle(typicalDataBundle);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" public void testGetFeedbackQuestion() {"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion expectedFq \u003d typicalDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion actualFq \u003d fqDb.getFeedbackQuestion(expectedFq.getId());"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedFq, actualFq);"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: does not exist, returns null\");"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" actualFq \u003d fqDb.getFeedbackQuestion(UUID.randomUUID());"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" assertNull(actualFq);"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: null parameter, assertion error\");"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" assertThrows(AssertionError.class, () -\u003e fqDb.getFeedbackQuestion(null));"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" public void testCreateFeedbackQuestion() throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion expectedFq \u003d getTypicalFeedbackQuestionForSession("},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" getTypicalFeedbackSessionForCourse(getTypicalCourse()));"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" fqDb.createFeedbackQuestion(expectedFq);"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(expectedFq);"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: duplicate question, throws error\");"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" assertThrows(EntityAlreadyExistsException.class, () -\u003e fqDb.createFeedbackQuestion(expectedFq));"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: invalid question, throws error\");"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion invalidFq \u003d getTypicalFeedbackQuestionForSession("},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" getTypicalFeedbackSessionForCourse(getTypicalCourse()));"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" invalidFq.setGiverType(FeedbackParticipantType.RECEIVER);"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" assertThrows(InvalidParametersException.class, () -\u003e fqDb.createFeedbackQuestion(invalidFq));"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" assertNull(fqDb.getFeedbackQuestion(invalidFq.getId()));"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: null parameter, assertion error\");"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" assertThrows(AssertionError.class, () -\u003e fqDb.createFeedbackQuestion(null));"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":87,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForSession() {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":89,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d typicalDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":90,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d typicalDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":91,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d typicalDataBundle.feedbackQuestions.get(\"qn2InSession1InCourse1\");"},{"lineNumber":92,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d typicalDataBundle.feedbackQuestions.get(\"qn3InSession1InCourse1\");"},{"lineNumber":93,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d typicalDataBundle.feedbackQuestions.get(\"qn4InSession1InCourse1\");"},{"lineNumber":94,"author":{"gitId":"-"},"content":" FeedbackQuestion fq5 \u003d typicalDataBundle.feedbackQuestions.get(\"qn5InSession1InCourse1\");"},{"lineNumber":95,"author":{"gitId":"-"},"content":" FeedbackQuestion fq6 \u003d typicalDataBundle.feedbackQuestions.get(\"qn6InSession1InCourse1NoResponses\");"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e expectedQuestions \u003d List.of(fq1, fq2, fq3, fq4, fq5, fq6);"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqDb.getFeedbackQuestionsForSession(fs.getId());"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestions.size(), actualQuestions.size());"},{"lineNumber":102,"author":{"gitId":"-"},"content":" assertTrue(expectedQuestions.containsAll(actualQuestions));"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: session does not exist, returns no questions\");"},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":" actualQuestions \u003d fqDb.getFeedbackQuestionsForSession(UUID.randomUUID());"},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" assertEquals(0, actualQuestions.size());"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":110,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForGiverType() {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":112,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d typicalDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":113,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d typicalDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":114,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d typicalDataBundle.feedbackQuestions.get(\"qn2InSession1InCourse1\");"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e expectedQuestions \u003d List.of(fq1, fq2);"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.STUDENTS);"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestions.size(), actualQuestions.size());"},{"lineNumber":121,"author":{"gitId":"-"},"content":" assertTrue(expectedQuestions.containsAll(actualQuestions));"},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: session does not exist, returns no questions\");"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" fs \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" actualQuestions \u003d fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.STUDENTS);"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" assertEquals(0, actualQuestions.size());"},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":" public void testDeleteFeedbackQuestion() {"},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion fq \u003d typicalDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(fq);"},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":" fqDb.deleteFeedbackQuestion(fq.getId());"},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":" assertNull(fqDb.getFeedbackQuestion(fq.getId()));"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: null parameter, assertion error\");"},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" assertThrows(AssertionError.class, () -\u003e fqDb.deleteFeedbackQuestion(null));"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":143,"author":{"gitId":"-"},"content":" public void testHasFeedbackQuestionsForGiverType() {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":145,"author":{"gitId":"-"},"content":" Course course \u003d typicalDataBundle.courses.get(\"course1\");"},{"lineNumber":146,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d typicalDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" boolean actual \u003d fqDb.hasFeedbackQuestionsForGiverType("},{"lineNumber":149,"author":{"gitId":"-"},"content":" fs.getName(), course.getId(), FeedbackParticipantType.STUDENTS);"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" assertTrue(actual);"},{"lineNumber":152,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":153,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: session/course does not exist, returns false\");"},{"lineNumber":154,"author":{"gitId":"dishenggg"},"content":" actual \u003d fqDb.hasFeedbackQuestionsForGiverType(\"session-name\", \"course-id\", FeedbackParticipantType.STUDENTS);"},{"lineNumber":155,"author":{"gitId":"dishenggg"},"content":" assertFalse(actual);"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":70,"-":87}},{"path":"src/it/java/teammates/it/storage/sqlapi/FeedbackResponseCommentsDbIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import java.util.HashSet;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import java.util.UUID;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackResponseCommentsDb;"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * SUT: {@link FeedbackResponseCommentsDb}."},{"lineNumber":28,"author":{"gitId":"-"},"content":" */"},{"lineNumber":29,"author":{"gitId":"-"},"content":"public class FeedbackResponseCommentsDbIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" private final FeedbackResponseCommentsDb frcDb \u003d FeedbackResponseCommentsDb.inst();"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" private SqlDataBundle testDataBundle;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":36,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":37,"author":{"gitId":"-"},"content":" public void setupClass() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" super.setupClass();"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" testDataBundle \u003d loadSqlDataBundle(\"/FeedbackResponsesITBundle.json\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":43,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":44,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" persistDataBundle(testDataBundle);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" HibernateUtil.clearSession();"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":52,"author":{"gitId":"-"},"content":" public void testGetFeedbackResponseCommentForResponseFromParticipant() {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" FeedbackResponse fr \u003d testDataBundle.feedbackResponses.get(\"response1ForQ1\");"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" FeedbackResponseComment expectedComment \u003d testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":" FeedbackResponseComment actualComment \u003d frcDb.getFeedbackResponseCommentForResponseFromParticipant(fr.getId());"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" assertEquals(expectedComment, actualComment);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" private FeedbackResponseComment prepareSqlInjectionTest() {"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" FeedbackResponseComment frc \u003d testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1\");"},{"lineNumber":64,"author":{"gitId":"-"},"content":" assertNotNull(frcDb.getFeedbackResponseComment(frc.getId()));"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" return frc;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" private void checkSqlInjectionFailed(FeedbackResponseComment frc) {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" assertNotNull(frcDb.getFeedbackResponseComment(frc.getId()));"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":74,"author":{"gitId":"-"},"content":" public void testSqlInjectionInUpdateGiverEmailOfFeedbackResponseComments() {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" FeedbackResponseComment frc \u003d prepareSqlInjectionTest();"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" String sqli \u003d \"\u0027; DELETE FROM feedback_response_comments;--\";"},{"lineNumber":78,"author":{"gitId":"-"},"content":" frcDb.updateGiverEmailOfFeedbackResponseComments(sqli, \"\", \"\");"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" checkSqlInjectionFailed(frc);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":84,"author":{"gitId":"-"},"content":" public void testSqlInjectionInUpdateLastEditorEmailOfFeedbackResponseComments() {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" FeedbackResponseComment frc \u003d prepareSqlInjectionTest();"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" String sqli \u003d \"\u0027; DELETE FROM feedback_response_comments;--\";"},{"lineNumber":88,"author":{"gitId":"-"},"content":" frcDb.updateLastEditorEmailOfFeedbackResponseComments(sqli, \"\", \"\");"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" checkSqlInjectionFailed(frc);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":94,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateFeedbackResponseComment() throws Exception {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" FeedbackResponseComment frc \u003d prepareSqlInjectionTest();"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" FeedbackResponse fr \u003d testDataBundle.feedbackResponses.get(\"response1ForQ1\");"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" Section s \u003d testDataBundle.sections.get(\"section2InCourse1\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" String sqli \u003d \"\u0027\u0027);/**/DELETE/**/FROM/**/feedback_response_comments;--@gmail.com\";"},{"lineNumber":101,"author":{"gitId":"-"},"content":" FeedbackResponseComment newFrc \u003d new FeedbackResponseComment("},{"lineNumber":102,"author":{"gitId":"-"},"content":" fr, \"\", FeedbackParticipantType.INSTRUCTORS, s, s, \"\","},{"lineNumber":103,"author":{"gitId":"-"},"content":" false, false,"},{"lineNumber":104,"author":{"gitId":"-"},"content":" new ArrayList\u003cFeedbackParticipantType\u003e(), new ArrayList\u003cFeedbackParticipantType\u003e(), sqli);"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" frcDb.createFeedbackResponseComment(newFrc);"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" checkSqlInjectionFailed(frc);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":112,"author":{"gitId":"-"},"content":" public void testSqlInjectionInUpdateFeedbackResponseComment() throws Exception {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" FeedbackResponseComment frc \u003d prepareSqlInjectionTest();"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" String sqli \u003d \"\u0027\u0027);/**/DELETE/**/FROM/**/feedback_response_comments;--@gmail.com\";"},{"lineNumber":116,"author":{"gitId":"-"},"content":" frc.setLastEditorEmail(sqli);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" frcDb.updateFeedbackResponseComment(frc);"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" checkSqlInjectionFailed(frc);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":122,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":123,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForSession_matchFound_success() {"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":" Course course \u003d testDataBundle.courses.get(\"course1\");"},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":" ______TS(\"Session with comments\");"},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" FeedbackSession sessionWithComments \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e expected \u003d List.of("},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1\"),"},{"lineNumber":130,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment2ToResponse1ForQ1\"),"},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment2ToResponse2ForQ1\"),"},{"lineNumber":132,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ2s\"),"},{"lineNumber":133,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ3\"),"},{"lineNumber":134,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse4ForQ1\")"},{"lineNumber":135,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":136,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForSession("},{"lineNumber":137,"author":{"gitId":"xenosf"},"content":" course.getId(), sessionWithComments.getName());"},{"lineNumber":138,"author":{"gitId":"xenosf"},"content":" assertListCommentsEqual(expected, results);"},{"lineNumber":139,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":140,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":141,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":142,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForSession_matchNotFound_shouldReturnEmptyList() {"},{"lineNumber":143,"author":{"gitId":"xenosf"},"content":" Course course \u003d testDataBundle.courses.get(\"course1\");"},{"lineNumber":144,"author":{"gitId":"xenosf"},"content":" FeedbackSession session \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":145,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":146,"author":{"gitId":"xenosf"},"content":" ______TS(\"Course not found\");"},{"lineNumber":147,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForSession(\"not_exist\", session.getName());"},{"lineNumber":148,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":149,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":150,"author":{"gitId":"xenosf"},"content":" ______TS(\"Session not found\");"},{"lineNumber":151,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForSession(course.getId(), \"Nonexistent session\");"},{"lineNumber":152,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":153,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":154,"author":{"gitId":"xenosf"},"content":" ______TS(\"Session without comments\");"},{"lineNumber":155,"author":{"gitId":"xenosf"},"content":" FeedbackSession sessionWithoutComments \u003d testDataBundle.feedbackSessions.get(\"ongoingSession1InCourse1\");"},{"lineNumber":156,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForSession(course.getId(), sessionWithoutComments.getName());"},{"lineNumber":157,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":158,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":159,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":160,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":161,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForQuestion_matchFound_success() {"},{"lineNumber":162,"author":{"gitId":"xenosf"},"content":" ______TS(\"Question with comments\");"},{"lineNumber":163,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion questionWithComments \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":164,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e expectedComments \u003d List.of("},{"lineNumber":165,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1\"),"},{"lineNumber":166,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment2ToResponse1ForQ1\"),"},{"lineNumber":167,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment2ToResponse2ForQ1\"),"},{"lineNumber":168,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse4ForQ1\")"},{"lineNumber":169,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":170,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForQuestion(questionWithComments.getId());"},{"lineNumber":171,"author":{"gitId":"xenosf"},"content":" assertListCommentsEqual(expectedComments, results);"},{"lineNumber":172,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":173,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":174,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":175,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForQuestion_matchNotFound_shouldReturnEmptyList() {"},{"lineNumber":176,"author":{"gitId":"xenosf"},"content":" ______TS(\"Question not found\");"},{"lineNumber":177,"author":{"gitId":"xenosf"},"content":" UUID nonexistentQuestionId \u003d UUID.fromString(\"11110000-0000-0000-0000-000000000000\");"},{"lineNumber":178,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForQuestion(nonexistentQuestionId);"},{"lineNumber":179,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":180,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":181,"author":{"gitId":"xenosf"},"content":" ______TS(\"Question without comments\");"},{"lineNumber":182,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion questionWithoutComments \u003d testDataBundle.feedbackQuestions.get(\"qn5InSession1InCourse1\");"},{"lineNumber":183,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForQuestion(questionWithoutComments.getId());"},{"lineNumber":184,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":185,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":186,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":187,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForSessionInSection_matchFound_success()"},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" Section section1 \u003d testDataBundle.sections.get(\"section1InCourse1\");"},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" Section section2 \u003d testDataBundle.sections.get(\"section2InCourse1\");"},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":" Course course \u003d testDataBundle.courses.get(\"course1\");"},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":" FeedbackSession session1 \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" FeedbackSession session2 \u003d testDataBundle.feedbackSessions.get(\"session2InTypicalCourse\");"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":" ______TS(\"Section 1 Session 2 match\");"},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e expected \u003d List.of("},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1InSession2\")"},{"lineNumber":199,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForSessionInSection("},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":" course.getId(), session2.getName(), section1.getName());"},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" assertListCommentsEqual(expected, results);"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":204,"author":{"gitId":"xenosf"},"content":" ______TS(\"Section 2 Session 1 match\");"},{"lineNumber":205,"author":{"gitId":"xenosf"},"content":" expected \u003d List.of("},{"lineNumber":206,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse4ForQ1\")"},{"lineNumber":207,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":208,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForSessionInSection("},{"lineNumber":209,"author":{"gitId":"xenosf"},"content":" course.getId(), session1.getName(), section2.getName());"},{"lineNumber":210,"author":{"gitId":"xenosf"},"content":" assertListCommentsEqual(expected, results);"},{"lineNumber":211,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":212,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForSessionInSection_matchNotFound_shouldReturnEmptyList() {"},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" Course course \u003d testDataBundle.courses.get(\"course1\");"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" FeedbackSession session1 \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":" FeedbackSession session2 \u003d testDataBundle.feedbackSessions.get(\"session2InTypicalCourse\");"},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":" Section section1 \u003d testDataBundle.sections.get(\"section1InCourse1\");"},{"lineNumber":219,"author":{"gitId":"xenosf"},"content":" Section section2 \u003d testDataBundle.sections.get(\"section2InCourse1\");"},{"lineNumber":220,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":221,"author":{"gitId":"xenosf"},"content":" ______TS(\"Course not found\");"},{"lineNumber":222,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForSessionInSection("},{"lineNumber":223,"author":{"gitId":"xenosf"},"content":" \"not_exist\", session1.getName(), section1.getName());"},{"lineNumber":224,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":225,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":226,"author":{"gitId":"xenosf"},"content":" ______TS(\"Session not found\");"},{"lineNumber":227,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForSessionInSection("},{"lineNumber":228,"author":{"gitId":"xenosf"},"content":" course.getId(), \"Nonexistent session\", section1.getName());"},{"lineNumber":229,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":230,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":231,"author":{"gitId":"xenosf"},"content":" ______TS(\"Section not found\");"},{"lineNumber":232,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForSessionInSection("},{"lineNumber":233,"author":{"gitId":"xenosf"},"content":" course.getId(), session1.getName(), \"Nonexistent section\");"},{"lineNumber":234,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":235,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":236,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching comments exist\");"},{"lineNumber":237,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForSessionInSection("},{"lineNumber":238,"author":{"gitId":"xenosf"},"content":" course.getId(), session2.getName(), section2.getName());"},{"lineNumber":239,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":240,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":241,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":242,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":243,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForQuestionInSection_matchFound_success() {"},{"lineNumber":244,"author":{"gitId":"xenosf"},"content":" Section section1 \u003d testDataBundle.sections.get(\"section1InCourse1\");"},{"lineNumber":245,"author":{"gitId":"xenosf"},"content":" Section section2 \u003d testDataBundle.sections.get(\"section2InCourse1\");"},{"lineNumber":246,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question1 \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":247,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question2 \u003d testDataBundle.feedbackQuestions.get(\"qn2InSession1InCourse1\");"},{"lineNumber":248,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":249,"author":{"gitId":"xenosf"},"content":" ______TS(\"Section 1 Question 1 match\");"},{"lineNumber":250,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e expected \u003d List.of("},{"lineNumber":251,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1\"),"},{"lineNumber":252,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment2ToResponse1ForQ1\"),"},{"lineNumber":253,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment2ToResponse2ForQ1\"),"},{"lineNumber":254,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse4ForQ1\")"},{"lineNumber":255,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":256,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForQuestionInSection("},{"lineNumber":257,"author":{"gitId":"xenosf"},"content":" question1.getId(), section1.getName());"},{"lineNumber":258,"author":{"gitId":"xenosf"},"content":" assertListCommentsEqual(expected, results);"},{"lineNumber":259,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":260,"author":{"gitId":"xenosf"},"content":" ______TS(\"Section 2 Question 1 match\");"},{"lineNumber":261,"author":{"gitId":"xenosf"},"content":" expected \u003d List.of("},{"lineNumber":262,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse4ForQ1\")"},{"lineNumber":263,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":264,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForQuestionInSection("},{"lineNumber":265,"author":{"gitId":"xenosf"},"content":" question1.getId(), section2.getName());"},{"lineNumber":266,"author":{"gitId":"xenosf"},"content":" assertListCommentsEqual(expected, results);"},{"lineNumber":267,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":268,"author":{"gitId":"xenosf"},"content":" ______TS(\"Section 1 Question 2 match\");"},{"lineNumber":269,"author":{"gitId":"xenosf"},"content":" expected \u003d List.of("},{"lineNumber":270,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ2s\")"},{"lineNumber":271,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":272,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForQuestionInSection("},{"lineNumber":273,"author":{"gitId":"xenosf"},"content":" question2.getId(), section1.getName());"},{"lineNumber":274,"author":{"gitId":"xenosf"},"content":" assertListCommentsEqual(expected, results);"},{"lineNumber":275,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":276,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":277,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":278,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForQuestionInSection_matchNotFound_shouldReturnEmptyList() {"},{"lineNumber":279,"author":{"gitId":"xenosf"},"content":" Section section \u003d testDataBundle.sections.get(\"section1InCourse1\");"},{"lineNumber":280,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question1 \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":281,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question2 \u003d testDataBundle.feedbackQuestions.get(\"qn4InSession1InCourse1\");"},{"lineNumber":282,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":283,"author":{"gitId":"xenosf"},"content":" ______TS(\"Question not found\");"},{"lineNumber":284,"author":{"gitId":"xenosf"},"content":" UUID nonexistentQuestionId \u003d UUID.fromString(\"11110000-0000-0000-0000-000000000000\");"},{"lineNumber":285,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForQuestionInSection("},{"lineNumber":286,"author":{"gitId":"xenosf"},"content":" nonexistentQuestionId, section.getName());"},{"lineNumber":287,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":288,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":289,"author":{"gitId":"xenosf"},"content":" ______TS(\"Section not found\");"},{"lineNumber":290,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForQuestionInSection(question1.getId(), \"Nonexistent section\");"},{"lineNumber":291,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":292,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":293,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching comments exist\");"},{"lineNumber":294,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForQuestionInSection(question2.getId(), section.getName());"},{"lineNumber":295,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":296,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":297,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":298,"author":{"gitId":"xenosf"},"content":" private void assertListCommentsEqual(List\u003cFeedbackResponseComment\u003e expected, List\u003cFeedbackResponseComment\u003e actual) {"},{"lineNumber":299,"author":{"gitId":"xenosf"},"content":" assertTrue("},{"lineNumber":300,"author":{"gitId":"xenosf"},"content":" String.format(\"List contents are not equal.%nExpected: %s,%nActual: %s\","},{"lineNumber":301,"author":{"gitId":"xenosf"},"content":" expected.toString(), actual.toString()),"},{"lineNumber":302,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(expected).equals(new HashSet\u003c\u003e(actual)));"},{"lineNumber":303,"author":{"gitId":"xenosf"},"content":" assertEquals(\"List size not equal.\", expected.size(), actual.size());"},{"lineNumber":304,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":305,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":202,"-":104}},{"path":"src/it/java/teammates/it/storage/sqlapi/FeedbackResponsesDbIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import java.util.HashSet;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import java.util.UUID;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.FeedbackResultFetchType;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackResponseDetails;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackTextResponseDetails;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackResponseCommentsDb;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackResponsesDb;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackTextResponse;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * SUT: {@link FeedbackResponsesDb}."},{"lineNumber":29,"author":{"gitId":"-"},"content":" */"},{"lineNumber":30,"author":{"gitId":"-"},"content":"public class FeedbackResponsesDbIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private final FeedbackResponsesDb frDb \u003d FeedbackResponsesDb.inst();"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private final FeedbackResponseCommentsDb frcDb \u003d FeedbackResponseCommentsDb.inst();"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" private SqlDataBundle testDataBundle;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":39,"author":{"gitId":"-"},"content":" public void setupClass() {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" super.setupClass();"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" testDataBundle \u003d loadSqlDataBundle(\"/FeedbackResponsesITBundle.json\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":45,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":46,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" persistDataBundle(testDataBundle);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":50,"author":{"gitId":"-"},"content":" HibernateUtil.clearSession();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":54,"author":{"gitId":"-"},"content":" public void testGetFeedbackResponsesFromGiverForQuestion() {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e expectedQuestions \u003d List.of("},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ1\"),"},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ1\")"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e actualQuestions \u003d"},{"lineNumber":64,"author":{"gitId":"-"},"content":" frDb.getFeedbackResponsesFromGiverForQuestion(fq.getId(), \"student1@teammates.tmt\");"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestions.size(), actualQuestions.size());"},{"lineNumber":67,"author":{"gitId":"-"},"content":" assertTrue(expectedQuestions.containsAll(actualQuestions));"},{"lineNumber":68,"author":{"gitId":"-"},"content":" }"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":71,"author":{"gitId":"-"},"content":" public void testDeleteFeedbackResponsesForQuestionCascade() {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" FeedbackResponse fr1 \u003d testDataBundle.feedbackResponses.get(\"response1ForQ1\");"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" FeedbackResponse fr2 \u003d testDataBundle.feedbackResponses.get(\"response2ForQ1\");"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" FeedbackResponseComment frc1 \u003d testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1\");"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" frDb.deleteFeedbackResponsesForQuestionCascade(fq.getId());"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" assertNull(frDb.getFeedbackResponse(fr1.getId()));"},{"lineNumber":81,"author":{"gitId":"-"},"content":" assertNull(frDb.getFeedbackResponse(fr2.getId()));"},{"lineNumber":82,"author":{"gitId":"-"},"content":" assertNull(frcDb.getFeedbackResponseComment(frc1.getId()));"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":86,"author":{"gitId":"-"},"content":" public void testDeleteFeedback() {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" FeedbackResponse fr1 \u003d testDataBundle.feedbackResponses.get(\"response1ForQ1\");"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" frDb.deleteFeedbackResponse(fr1);"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" assertNull(frDb.getFeedbackResponse(fr1.getId()));"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":96,"author":{"gitId":"-"},"content":" public void testHasResponsesFromGiverInSession() {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" Course course \u003d testDataBundle.courses.get(\"course1\");"},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" FeedbackSession fs \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" boolean actualHasReponses1 \u003d"},{"lineNumber":102,"author":{"gitId":"-"},"content":" frDb.hasResponsesFromGiverInSession(\"student1@teammates.tmt\", fs.getName(), course.getId());"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" assertTrue(actualHasReponses1);"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" ______TS(\"student with no responses\");"},{"lineNumber":107,"author":{"gitId":"-"},"content":" boolean actualHasReponses2 \u003d"},{"lineNumber":108,"author":{"gitId":"-"},"content":" frDb.hasResponsesFromGiverInSession(\"studentnorespones@teammates.tmt\", fs.getName(), course.getId());"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" assertFalse(actualHasReponses2);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":114,"author":{"gitId":"-"},"content":" public void testAreThereResponsesForQuestion() {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq1 \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" boolean actualResponse1 \u003d"},{"lineNumber":119,"author":{"gitId":"-"},"content":" frDb.areThereResponsesForQuestion(fq1.getId());"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" assertTrue(actualResponse1);"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" ______TS(\"feedback question with no responses\");"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq2 \u003d testDataBundle.feedbackQuestions.get(\"qn6InSession1InCourse1NoResponses\");"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" boolean actualResponse2 \u003d"},{"lineNumber":127,"author":{"gitId":"-"},"content":" frDb.areThereResponsesForQuestion(fq2.getId());"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" assertFalse(actualResponse2);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":133,"author":{"gitId":"-"},"content":" public void testHasResponsesForCourse() {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":135,"author":{"gitId":"xenosf"},"content":" Course course \u003d testDataBundle.courses.get(\"course1\");"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" boolean actual \u003d"},{"lineNumber":138,"author":{"gitId":"-"},"content":" frDb.hasResponsesForCourse(course.getId());"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" assertTrue(actual);"},{"lineNumber":141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" private FeedbackResponse prepareSqlInjectionTest() {"},{"lineNumber":144,"author":{"gitId":"xenosf"},"content":" FeedbackResponse fr \u003d testDataBundle.feedbackResponses.get(\"response1ForQ1\");"},{"lineNumber":145,"author":{"gitId":"-"},"content":" assertNotNull(frDb.getFeedbackResponse(fr.getId()));"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" return fr;"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" private void checkSqliFailed(FeedbackResponse fr) {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" // If SQLi is successful, feedback responses would have been deleted from db."},{"lineNumber":152,"author":{"gitId":"-"},"content":" // So get will return null."},{"lineNumber":153,"author":{"gitId":"-"},"content":" assertNotNull(frDb.getFeedbackResponse(fr.getId()));"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":157,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetFeedbackResponsesFromGiverForCourse() {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d prepareSqlInjectionTest();"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in GetFeedbackResponsesFromGiverForCourse, courseId param\");"},{"lineNumber":161,"author":{"gitId":"-"},"content":" String courseId \u003d \"\u0027; DELETE FROM feedback_responses;--\";"},{"lineNumber":162,"author":{"gitId":"-"},"content":" frDb.getFeedbackResponsesFromGiverForCourse(courseId, \"\");"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" checkSqliFailed(fr);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":168,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetFeedbackResponsesForRecipientForCourse() {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d prepareSqlInjectionTest();"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in GetFeedbackResponsesForRecipientForCourse, courseId param\");"},{"lineNumber":172,"author":{"gitId":"-"},"content":" String courseId \u003d \"\u0027; DELETE FROM feedback_responses;--\";"},{"lineNumber":173,"author":{"gitId":"-"},"content":" frDb.getFeedbackResponsesForRecipientForCourse(courseId, \"\");"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" checkSqliFailed(fr);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":179,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetFeedbackResponsesFromGiverForQuestion() {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d prepareSqlInjectionTest();"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in GetFeedbackResponsesFromGiverForQuestion, giverEmail param\");"},{"lineNumber":183,"author":{"gitId":"-"},"content":" String giverEmail \u003d \"\u0027;/**/DELETE/**/FROM/**/feedback_responses;--@gmail.com\";"},{"lineNumber":184,"author":{"gitId":"-"},"content":" frDb.getFeedbackResponsesFromGiverForQuestion(fr.getId(), giverEmail);"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" checkSqliFailed(fr);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":190,"author":{"gitId":"-"},"content":" public void testSqlInjectionInHasResponsesFromGiverInSession() {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d prepareSqlInjectionTest();"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in HasResponsesFromGiverInSession, giver param\");"},{"lineNumber":194,"author":{"gitId":"-"},"content":" String giver \u003d \"\u0027; DELETE FROM feedback_responses;--\";"},{"lineNumber":195,"author":{"gitId":"-"},"content":" frDb.hasResponsesFromGiverInSession(giver, \"\", \"\");"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" checkSqliFailed(fr);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":201,"author":{"gitId":"-"},"content":" public void testSqlInjectionInHasResponsesForCourse() {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d prepareSqlInjectionTest();"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in HasResponsesForCourse, courseId param\");"},{"lineNumber":205,"author":{"gitId":"-"},"content":" String courseId \u003d \"\u0027; DELETE FROM feedback_responses;--\";"},{"lineNumber":206,"author":{"gitId":"-"},"content":" frDb.hasResponsesForCourse(courseId);"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" checkSqliFailed(fr);"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":212,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateFeedbackResponse() throws Exception {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d prepareSqlInjectionTest();"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" Section s \u003d testDataBundle.sections.get(\"section1InCourse1\");"},{"lineNumber":217,"author":{"gitId":"-"},"content":" String dummyUuid \u003d \"00000000-0000-4000-8000-000000000001\";"},{"lineNumber":218,"author":{"gitId":"-"},"content":" FeedbackResponseDetails frd \u003d new FeedbackTextResponseDetails();"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" String sqli \u003d \"\u0027, \" + dummyUuid + \", \" + dummyUuid + \"); DELETE FROM feedback_responses;--\";"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" FeedbackResponse newFr \u003d new FeedbackTextResponse(fq, \"\", s, sqli, s, frd);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" frDb.createFeedbackResponse(newFr);"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" checkSqliFailed(fr);"},{"lineNumber":226,"author":{"gitId":"-"},"content":" }"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":229,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCpdateFeedbackResponse() throws Exception {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d prepareSqlInjectionTest();"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" String sqli \u003d \"\u0027\u0027); DELETE FROM feedback_response_comments;--\";"},{"lineNumber":233,"author":{"gitId":"-"},"content":" fr.setGiver(sqli);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" frDb.updateFeedbackResponse(fr);"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" checkSqliFailed(fr);"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":239,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":240,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponsesForRecipientForQuestion_matchNotFound_shouldReturnEmptyList() {"},{"lineNumber":241,"author":{"gitId":"xenosf"},"content":" ______TS(\"Question not found\");"},{"lineNumber":242,"author":{"gitId":"xenosf"},"content":" String recipient \u003d \"student1@teammates.tmt\";"},{"lineNumber":243,"author":{"gitId":"xenosf"},"content":" UUID nonexistentQuestionId \u003d UUID.fromString(\"11110000-0000-0000-0000-000000000000\");"},{"lineNumber":244,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e results \u003d frDb.getFeedbackResponsesForRecipientForQuestion(nonexistentQuestionId, recipient);"},{"lineNumber":245,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":246,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":247,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching responses exist\");"},{"lineNumber":248,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion questionWithNoResponses \u003d testDataBundle.feedbackQuestions.get(\"qn4InSession1InCourse1\");"},{"lineNumber":249,"author":{"gitId":"xenosf"},"content":" results \u003d frDb.getFeedbackResponsesForRecipientForQuestion(questionWithNoResponses.getId(), recipient);"},{"lineNumber":250,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":251,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":252,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":253,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":254,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":255,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponsesForRecipientForQuestion_matchFound_success() {"},{"lineNumber":256,"author":{"gitId":"xenosf"},"content":" ______TS(\"Matching responses exist\");"},{"lineNumber":257,"author":{"gitId":"xenosf"},"content":" String recipient \u003d \"student2@teammates.tmt\";"},{"lineNumber":258,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":259,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e expected \u003d List.of("},{"lineNumber":260,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response2ForQ1\")"},{"lineNumber":261,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":262,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e actual \u003d frDb.getFeedbackResponsesForRecipientForQuestion(question.getId(), recipient);"},{"lineNumber":263,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":264,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":265,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":266,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":267,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":268,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponsesForSessionInSection_matchNotFound_shouldReturnEmptyList() {"},{"lineNumber":269,"author":{"gitId":"xenosf"},"content":" String section3 \u003d testDataBundle.sections.get(\"section3InCourse1\").getName();"},{"lineNumber":270,"author":{"gitId":"xenosf"},"content":" FeedbackSession session \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":271,"author":{"gitId":"xenosf"},"content":" String courseId \u003d session.getCourse().getId();"},{"lineNumber":272,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":273,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching responses exist for giver section\");"},{"lineNumber":274,"author":{"gitId":"xenosf"},"content":" FeedbackResultFetchType fetchType \u003d FeedbackResultFetchType.GIVER;"},{"lineNumber":275,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e results \u003d frDb.getFeedbackResponsesForSessionInSection("},{"lineNumber":276,"author":{"gitId":"xenosf"},"content":" session, courseId, section3, fetchType);"},{"lineNumber":277,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":278,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":279,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching responses exist for recipient section\");"},{"lineNumber":280,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.RECEIVER;"},{"lineNumber":281,"author":{"gitId":"xenosf"},"content":" results \u003d frDb.getFeedbackResponsesForSessionInSection(session, courseId, section3, fetchType);"},{"lineNumber":282,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":283,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":284,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching responses exist for both giver and recipient section\");"},{"lineNumber":285,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.BOTH;"},{"lineNumber":286,"author":{"gitId":"xenosf"},"content":" results \u003d frDb.getFeedbackResponsesForSessionInSection(session, courseId, section3, fetchType);"},{"lineNumber":287,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":288,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":289,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":290,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":291,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponsesForSessionInSection_matchFound_success() {"},{"lineNumber":292,"author":{"gitId":"xenosf"},"content":" Course course \u003d testDataBundle.courses.get(\"course1\");"},{"lineNumber":293,"author":{"gitId":"xenosf"},"content":" FeedbackSession session1 \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":294,"author":{"gitId":"xenosf"},"content":" Section section1 \u003d testDataBundle.sections.get(\"section1InCourse1\");"},{"lineNumber":295,"author":{"gitId":"xenosf"},"content":" Section section2 \u003d testDataBundle.sections.get(\"section2InCourse1\");"},{"lineNumber":296,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":297,"author":{"gitId":"xenosf"},"content":" ______TS(\"Match giver section 1 in session 1\");"},{"lineNumber":298,"author":{"gitId":"xenosf"},"content":" FeedbackResultFetchType fetchType \u003d FeedbackResultFetchType.GIVER;"},{"lineNumber":299,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e expected \u003d List.of("},{"lineNumber":300,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ1\"),"},{"lineNumber":301,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response2ForQ1\"),"},{"lineNumber":302,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ2\"),"},{"lineNumber":303,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response2ForQ2\"),"},{"lineNumber":304,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ3\"),"},{"lineNumber":305,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ1\"),"},{"lineNumber":306,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ2\")"},{"lineNumber":307,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":308,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e actual \u003d frDb.getFeedbackResponsesForSessionInSection("},{"lineNumber":309,"author":{"gitId":"xenosf"},"content":" session1, course.getId(), section1.getName(), fetchType);"},{"lineNumber":310,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":311,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":312,"author":{"gitId":"xenosf"},"content":" ______TS(\"Match recipient section 2 in session 1\");"},{"lineNumber":313,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.RECEIVER;"},{"lineNumber":314,"author":{"gitId":"xenosf"},"content":" expected \u003d List.of("},{"lineNumber":315,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ1\"),"},{"lineNumber":316,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ2\"),"},{"lineNumber":317,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response4ForQ1\")"},{"lineNumber":318,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":319,"author":{"gitId":"xenosf"},"content":" actual \u003d frDb.getFeedbackResponsesForSessionInSection(session1, course.getId(),"},{"lineNumber":320,"author":{"gitId":"xenosf"},"content":" section2.getName(), fetchType);"},{"lineNumber":321,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":322,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":323,"author":{"gitId":"xenosf"},"content":" ______TS(\"Match both giver and recipient section 2 in session 1\");"},{"lineNumber":324,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.BOTH;"},{"lineNumber":325,"author":{"gitId":"xenosf"},"content":" expected \u003d List.of("},{"lineNumber":326,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response4ForQ1\")"},{"lineNumber":327,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":328,"author":{"gitId":"xenosf"},"content":" actual \u003d frDb.getFeedbackResponsesForSessionInSection(session1, course.getId(),"},{"lineNumber":329,"author":{"gitId":"xenosf"},"content":" section2.getName(), fetchType);"},{"lineNumber":330,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":331,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":332,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":333,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":334,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponsesForQuestionInSection_matchNotFound_shouldReturnEmptyList() {"},{"lineNumber":335,"author":{"gitId":"xenosf"},"content":" String section1 \u003d testDataBundle.sections.get(\"section1InCourse1\").getName();"},{"lineNumber":336,"author":{"gitId":"xenosf"},"content":" String section3 \u003d testDataBundle.sections.get(\"section3InCourse1\").getName();"},{"lineNumber":337,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":338,"author":{"gitId":"xenosf"},"content":" ______TS(\"Question not found\");"},{"lineNumber":339,"author":{"gitId":"xenosf"},"content":" UUID nonexistentQuestionId \u003d UUID.fromString(\"11110000-0000-0000-0000-000000000000\");"},{"lineNumber":340,"author":{"gitId":"xenosf"},"content":" FeedbackResultFetchType fetchType \u003d FeedbackResultFetchType.BOTH;"},{"lineNumber":341,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e results \u003d frDb.getFeedbackResponsesForQuestionInSection(nonexistentQuestionId,"},{"lineNumber":342,"author":{"gitId":"xenosf"},"content":" section1, fetchType);"},{"lineNumber":343,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":344,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":345,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching responses exist for giver section\");"},{"lineNumber":346,"author":{"gitId":"xenosf"},"content":" UUID questionId \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\").getId();"},{"lineNumber":347,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.GIVER;"},{"lineNumber":348,"author":{"gitId":"xenosf"},"content":" results \u003d frDb.getFeedbackResponsesForQuestionInSection(questionId, section3, fetchType);"},{"lineNumber":349,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":350,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":351,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching responses exist for recipient section\");"},{"lineNumber":352,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.RECEIVER;"},{"lineNumber":353,"author":{"gitId":"xenosf"},"content":" results \u003d frDb.getFeedbackResponsesForQuestionInSection(questionId, section3, fetchType);"},{"lineNumber":354,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":355,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":356,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching responses exist for both giver and recipient section\");"},{"lineNumber":357,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.BOTH;"},{"lineNumber":358,"author":{"gitId":"xenosf"},"content":" results \u003d frDb.getFeedbackResponsesForQuestionInSection(questionId, section3, fetchType);"},{"lineNumber":359,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":360,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":361,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":362,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":363,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponsesForQuestionInSection_matchFound_success() {"},{"lineNumber":364,"author":{"gitId":"xenosf"},"content":" Section section1 \u003d testDataBundle.sections.get(\"section1InCourse1\");"},{"lineNumber":365,"author":{"gitId":"xenosf"},"content":" Section section2 \u003d testDataBundle.sections.get(\"section2InCourse1\");"},{"lineNumber":366,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question1 \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":367,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":368,"author":{"gitId":"xenosf"},"content":" ______TS(\"Match giver section 1 for Q1\");"},{"lineNumber":369,"author":{"gitId":"xenosf"},"content":" FeedbackResultFetchType fetchType \u003d FeedbackResultFetchType.GIVER;"},{"lineNumber":370,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e expected \u003d List.of("},{"lineNumber":371,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ1\"),"},{"lineNumber":372,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response2ForQ1\"),"},{"lineNumber":373,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ1\")"},{"lineNumber":374,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":375,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e actual \u003d frDb.getFeedbackResponsesForQuestionInSection(question1.getId(),"},{"lineNumber":376,"author":{"gitId":"xenosf"},"content":" section1.getName(), fetchType);"},{"lineNumber":377,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":378,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":379,"author":{"gitId":"xenosf"},"content":" ______TS(\"Match recipient section 2 for Q1\");"},{"lineNumber":380,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.RECEIVER;"},{"lineNumber":381,"author":{"gitId":"xenosf"},"content":" expected \u003d List.of("},{"lineNumber":382,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ1\"),"},{"lineNumber":383,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response4ForQ1\")"},{"lineNumber":384,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":385,"author":{"gitId":"xenosf"},"content":" actual \u003d frDb.getFeedbackResponsesForQuestionInSection(question1.getId(), section2.getName(), fetchType);"},{"lineNumber":386,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":387,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":388,"author":{"gitId":"xenosf"},"content":" ______TS(\"Match both giver and recipient section 2 for Q1\");"},{"lineNumber":389,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.BOTH;"},{"lineNumber":390,"author":{"gitId":"xenosf"},"content":" expected \u003d List.of("},{"lineNumber":391,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response4ForQ1\")"},{"lineNumber":392,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":393,"author":{"gitId":"xenosf"},"content":" actual \u003d frDb.getFeedbackResponsesForQuestionInSection(question1.getId(), section2.getName(), fetchType);"},{"lineNumber":394,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":395,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":396,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":397,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":398,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponsesForSession() {"},{"lineNumber":399,"author":{"gitId":"xenosf"},"content":" ______TS(\"Session has responses\");"},{"lineNumber":400,"author":{"gitId":"xenosf"},"content":" FeedbackSession sessionWithResponses \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":401,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e expected \u003d List.of("},{"lineNumber":402,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ1\"),"},{"lineNumber":403,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response2ForQ1\"),"},{"lineNumber":404,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ2\"),"},{"lineNumber":405,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response2ForQ2\"),"},{"lineNumber":406,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ3\"),"},{"lineNumber":407,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ1\"),"},{"lineNumber":408,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ2\"),"},{"lineNumber":409,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response4ForQ1\")"},{"lineNumber":410,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":411,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e actual \u003d frDb.getFeedbackResponsesForSession(sessionWithResponses,"},{"lineNumber":412,"author":{"gitId":"xenosf"},"content":" sessionWithResponses.getCourse().getId());"},{"lineNumber":413,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":414,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":415,"author":{"gitId":"xenosf"},"content":" ______TS(\"Session has no responses\");"},{"lineNumber":416,"author":{"gitId":"xenosf"},"content":" FeedbackSession sessionWithoutResponses \u003d testDataBundle.feedbackSessions.get("},{"lineNumber":417,"author":{"gitId":"xenosf"},"content":" \"unpublishedSession1InTypicalCourse\");"},{"lineNumber":418,"author":{"gitId":"xenosf"},"content":" actual \u003d frDb.getFeedbackResponsesForSession(sessionWithoutResponses, sessionWithResponses.getCourse().getId());"},{"lineNumber":419,"author":{"gitId":"xenosf"},"content":" assertEquals(0, actual.size());"},{"lineNumber":420,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":421,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":422,"author":{"gitId":"xenosf"},"content":" private void assertListResponsesEqual(List\u003cFeedbackResponse\u003e expected, List\u003cFeedbackResponse\u003e actual) {"},{"lineNumber":423,"author":{"gitId":"xenosf"},"content":" assertEquals(\"List size not equal.\", expected.size(), actual.size());"},{"lineNumber":424,"author":{"gitId":"xenosf"},"content":" assertTrue("},{"lineNumber":425,"author":{"gitId":"xenosf"},"content":" String.format(\"List contents are not equal.%nExpected: %s,%nActual: %s\","},{"lineNumber":426,"author":{"gitId":"xenosf"},"content":" expected.toString(), actual.toString()),"},{"lineNumber":427,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(expected).equals(new HashSet\u003c\u003e(actual)));"},{"lineNumber":428,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":429,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":215,"-":214}},{"path":"src/it/java/teammates/it/storage/sqlsearch/AccountRequestSearchIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.it.storage.sqlsearch;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.Arrays;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.Test;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlapi.AccountRequestsDb;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"import teammates.test.AssertHelper;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.test.TestProperties;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" * SUT: {@link AccountRequestsDb},"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" * {@link teammates.storage.search.AccountRequestSearchDocument}."},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":"public class AccountRequestSearchIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" private final SqlDataBundle typicalBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" private final AccountRequestsDb accountRequestsDb \u003d AccountRequestsDb.inst();"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" @BeforeMethod"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" protected void setUp() throws Exception {"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" super.setUp();"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" putDocuments(typicalBundle);"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.flushSession();"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" public void allTests() throws Exception {"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins1General \u003d typicalBundle.accountRequests.get(\"instructor1\");"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins2General \u003d typicalBundle.accountRequests.get(\"instructor2\");"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins1InCourse1 \u003d typicalBundle.accountRequests.get(\"instructor1OfCourse1\");"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins2InCourse1 \u003d typicalBundle.accountRequests.get(\"instructor2OfCourse1\");"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins1InCourse2 \u003d typicalBundle.accountRequests.get(\"instructor1OfCourse2\");"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins2InCourse2 \u003d typicalBundle.accountRequests.get(\"instructor2OfCourse2\");"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins1InCourse3 \u003d typicalBundle.accountRequests.get(\"instructor1OfCourse3\");"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins2InCourse3 \u003d typicalBundle.accountRequests.get(\"instructor2OfCourse3\");"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" AccountRequest insInUnregCourse \u003d typicalBundle.accountRequests.get(\"instructor3\");"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" AccountRequest unregisteredInstructor1 \u003d"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" typicalBundle.accountRequests.get(\"unregisteredInstructor1\");"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" AccountRequest unregisteredInstructor2 \u003d"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" typicalBundle.accountRequests.get(\"unregisteredInstructor2\");"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; query string does not match anyone\");"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" List\u003cAccountRequest\u003e results \u003d"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" accountRequestsDb.searchAccountRequestsInWholeSystem(\"non-existent\");"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results);"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; empty query string does not match anyone\");"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\");"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results);"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; query string matches some account requests\");"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"Instructor 1\\\"\");"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins1InCourse1, ins1InCourse2, ins1InCourse3, unregisteredInstructor1, ins1General);"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; query string should be case-insensitive\");"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"InStRuCtOr 2\\\"\");"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins2InCourse1, ins2InCourse2, ins2InCourse3, unregisteredInstructor2, ins2General);"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; account requests should be searchable by their name\");"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"Instructor 3 of CourseNoRegister\\\"\");"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, insInUnregCourse);"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; account requests should be searchable by their email\");"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"instr2@course2.tmt\");"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins2InCourse2);"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; account requests should be searchable by their institute\");"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"TEAMMATES Test Institute 2\\\"\");"},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, unregisteredInstructor2);"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; unregistered account requests should be searchable\");"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"unregisteredinstructor1@gmail.tmt\\\"\");"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, unregisteredInstructor1);"},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; deleted account requests no longer searchable\");"},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" accountRequestsDb.deleteAccountRequest(ins1InCourse1);"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"instructor 1\\\"\");"},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins1InCourse2, ins1InCourse3, unregisteredInstructor1, ins1General);"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; account requests created without searchability unsearchable\");"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" accountRequestsDb.createAccountRequest(ins1InCourse1);"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"instructor 1\\\"\");"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins1InCourse2, ins1InCourse3, unregisteredInstructor1, ins1General);"},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; deleting account request without deleting document:\""},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" + \"document deleted during search, account request unsearchable\");"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" accountRequestsDb.deleteAccountRequest(ins2InCourse1);"},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"instructor 2\\\"\");"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins2InCourse2, ins2InCourse3, unregisteredInstructor2, ins2General);"},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":" public void testSearchAccountRequest_deleteAfterSearch_shouldNotBeSearchable() throws Exception {"},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins1InCourse2 \u003d typicalBundle.accountRequests.get(\"instructor1OfCourse2\");"},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins2InCourse2 \u003d typicalBundle.accountRequests.get(\"instructor2OfCourse2\");"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" // there is search result before deletion"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" List\u003cAccountRequest\u003e results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"of Course 2\\\"\");"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins1InCourse2, ins2InCourse2);"},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":" // delete an account request"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" accountRequestsDb.deleteAccountRequest(ins1InCourse2);"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" // the search result will change"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"of Course 2\\\"\");"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins2InCourse2);"},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":" // delete all account requests"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" accountRequestsDb.deleteAccountRequest(ins2InCourse2);"},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" // there should be no search result"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"of Course 2\\\"\");"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results);"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":" public void testSearchAccountRequest_noSearchService_shouldThrowException() {"},{"lineNumber":147,"author":{"gitId":"domoberzin"},"content":" if (TestProperties.isSearchServiceActive()) {"},{"lineNumber":148,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":151,"author":{"gitId":"domoberzin"},"content":" assertThrows(SearchServiceException.class,"},{"lineNumber":152,"author":{"gitId":"domoberzin"},"content":" () -\u003e accountRequestsDb.searchAccountRequestsInWholeSystem(\"anything\"));"},{"lineNumber":153,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":154,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":155,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":" * Verifies that search results match with expected output."},{"lineNumber":157,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":158,"author":{"gitId":"domoberzin"},"content":" * @param actual the results from the search query."},{"lineNumber":159,"author":{"gitId":"domoberzin"},"content":" * @param expected the expected results for the search query."},{"lineNumber":160,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":161,"author":{"gitId":"domoberzin"},"content":" private static void verifySearchResults(List\u003cAccountRequest\u003e actual,"},{"lineNumber":162,"author":{"gitId":"domoberzin"},"content":" AccountRequest... expected) {"},{"lineNumber":163,"author":{"gitId":"domoberzin"},"content":" assertEquals(expected.length, actual.size());"},{"lineNumber":164,"author":{"gitId":"domoberzin"},"content":" AssertHelper.assertSameContentIgnoreOrder(Arrays.asList(expected), actual);"},{"lineNumber":165,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":166,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":167}},{"path":"src/it/java/teammates/it/storage/sqlsearch/InstructorSearchIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.storage.sqlsearch;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.UsersDb;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.test.AssertHelper;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.test.TestProperties;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * SUT: {@link UsersDb},"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * {@link teammates.storage.sqlsearch.InstructorSearchDocument}."},{"lineNumber":21,"author":{"gitId":"-"},"content":" */"},{"lineNumber":22,"author":{"gitId":"-"},"content":"public class InstructorSearchIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" private final SqlDataBundle typicalBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private final UsersDb usersDb \u003d UsersDb.inst();"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":29,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":31,"author":{"gitId":"-"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" putDocuments(typicalBundle);"},{"lineNumber":33,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":37,"author":{"gitId":"-"},"content":" public void allTests() throws Exception {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" Instructor ins1InCourse1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":43,"author":{"gitId":"-"},"content":" Instructor ins2InCourse1 \u003d typicalBundle.instructors.get(\"instructor2OfCourse1\");"},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" Instructor ins1InCourse4 \u003d typicalBundle.instructors.get(\"instructor1OfCourse4\");"},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":" Instructor ins2InCourse4 \u003d typicalBundle.instructors.get(\"instructor2YetToJoinCourse4\");"},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":" Instructor ins3InCourse4 \u003d typicalBundle.instructors.get(\"instructor3YetToJoinCourse4\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":" Instructor insInArchivedCourse \u003d typicalBundle.instructors.get(\"instructorOfArchivedCourse\");"},{"lineNumber":48,"author":{"gitId":"-"},"content":" Instructor insInUnregCourse \u003d typicalBundle.instructors.get(\"instructorOfUnregisteredCourse\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":" Instructor insUniqueDisplayName \u003d typicalBundle.instructors.get(\"instructorOfCourse2WithUniqueDisplayName\");"},{"lineNumber":50,"author":{"gitId":"-"},"content":" Instructor ins1InCourse3 \u003d typicalBundle.instructors.get(\"instructor1OfCourse3\");"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" Instructor unregisteredInsInCourse1 \u003d typicalBundle.instructors.get(\"unregisteredInstructorOfCourse1\");"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; query string does not match anyone\");"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e results \u003d usersDb.searchInstructorsInWholeSystem(\"non-existent\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" verifySearchResults(results);"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; empty query string does not match anyone\");"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\");"},{"lineNumber":61,"author":{"gitId":"-"},"content":" verifySearchResults(results);"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; query string matches some instructors\");"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Instructor of\\\"\");"},{"lineNumber":66,"author":{"gitId":"-"},"content":" verifySearchResults(results, insInArchivedCourse, insInUnregCourse, insUniqueDisplayName);"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; query string should be case-insensitive\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"InStRuCtOr 2\\\"\");"},{"lineNumber":71,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(results, ins2InCourse1, ins2InCourse4);"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors in archived courses should be included\");"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Instructor Of Archived Course\\\"\");"},{"lineNumber":76,"author":{"gitId":"-"},"content":" verifySearchResults(results, insInArchivedCourse);"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" ______TS("},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"success: search for instructors in whole system; instructors in unregistered course should be included\");"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Instructor Of Unregistered Course\\\"\");"},{"lineNumber":82,"author":{"gitId":"-"},"content":" verifySearchResults(results, insInUnregCourse);"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors should be searchable by course id\");"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"course-1\\\"\");"},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" verifySearchResults(results, ins1InCourse1, ins2InCourse1, unregisteredInsInCourse1);"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors should be searchable by course name\");"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Typical Course 1\\\"\");"},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" verifySearchResults(results, ins1InCourse1, ins2InCourse1, unregisteredInsInCourse1);"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors should be searchable by their name\");"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Instructor Of Unregistered Course\\\"\");"},{"lineNumber":97,"author":{"gitId":"-"},"content":" verifySearchResults(results, insInUnregCourse);"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors should be searchable by their email\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"instr2@teammates.tmt\");"},{"lineNumber":102,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(results, ins2InCourse1, ins2InCourse4);"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors should be searchable by their role\");"},{"lineNumber":105,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Co-owner\\\"\");"},{"lineNumber":106,"author":{"gitId":"-"},"content":" verifySearchResults(results, ins1InCourse1, insInArchivedCourse,"},{"lineNumber":107,"author":{"gitId":"yuanxi1"},"content":" insInUnregCourse, insUniqueDisplayName, ins1InCourse3,"},{"lineNumber":108,"author":{"gitId":"yuanxi1"},"content":" ins1InCourse4, ins2InCourse4, ins3InCourse4);"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors should be searchable by displayed name\");"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" String displayName \u003d insUniqueDisplayName.getDisplayName();"},{"lineNumber":113,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(displayName);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" verifySearchResults(results, insUniqueDisplayName);"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; deleted instructors no longer searchable\");"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" usersDb.deleteUser(insUniqueDisplayName);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Instructor of\\\"\");"},{"lineNumber":120,"author":{"gitId":"-"},"content":" verifySearchResults(results, insInArchivedCourse, insInUnregCourse);"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" // This method used to use usersDb.putEntity, not sure if the .createInstructor method has the same functionality"},{"lineNumber":123,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors created without searchability unsearchable\");"},{"lineNumber":124,"author":{"gitId":"-"},"content":" usersDb.createInstructor(insUniqueDisplayName);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Instructor of\\\"\");"},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, insInArchivedCourse, insInUnregCourse, insUniqueDisplayName);"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; deleting instructor without deleting document:\""},{"lineNumber":129,"author":{"gitId":"-"},"content":" + \"document deleted during search, instructor unsearchable\");"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" usersDb.deleteUser(ins1InCourse3);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Instructor 1\\\"\");"},{"lineNumber":133,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(results, ins1InCourse1, ins1InCourse4);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":137,"author":{"gitId":"-"},"content":" public void testSearchInstructor_deleteAfterSearch_shouldNotBeSearchable() throws Exception {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" Instructor ins1InCourse1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":143,"author":{"gitId":"-"},"content":" Instructor ins2InCourse1 \u003d typicalBundle.instructors.get(\"instructor2OfCourse1\");"},{"lineNumber":144,"author":{"gitId":"dishenggg"},"content":" Instructor unregisteredInsInCourse1 \u003d typicalBundle.instructors.get(\"unregisteredInstructorOfCourse1\");"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"course-1\\\"\");"},{"lineNumber":147,"author":{"gitId":"dishenggg"},"content":" verifySearchResults(results, ins1InCourse1, ins2InCourse1, unregisteredInsInCourse1);"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" usersDb.deleteUser(ins1InCourse1);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"course-1\\\"\");"},{"lineNumber":151,"author":{"gitId":"dishenggg"},"content":" verifySearchResults(results, ins2InCourse1, unregisteredInsInCourse1);"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" // This used to test .deleteInstructors, but we don\u0027t seem to have a similar method to delete all users in course"},{"lineNumber":154,"author":{"gitId":"-"},"content":" usersDb.deleteUser(ins2InCourse1);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"course-1\\\"\");"},{"lineNumber":156,"author":{"gitId":"dishenggg"},"content":" verifySearchResults(results, unregisteredInsInCourse1);"},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":158,"author":{"gitId":"dishenggg"},"content":" usersDb.deleteUser(unregisteredInsInCourse1);"},{"lineNumber":159,"author":{"gitId":"dishenggg"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"course-1\\\"\");"},{"lineNumber":160,"author":{"gitId":"-"},"content":" verifySearchResults(results);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":164,"author":{"gitId":"-"},"content":" public void testSearchInstructor_noSearchService_shouldThrowException() {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" if (TestProperties.isSearchServiceActive()) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":167,"author":{"gitId":"-"},"content":" }"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" assertThrows(SearchServiceException.class,"},{"lineNumber":170,"author":{"gitId":"-"},"content":" () -\u003e usersDb.searchInstructorsInWholeSystem(\"anything\"));"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":174,"author":{"gitId":"-"},"content":" * Verifies that search results match with expected output."},{"lineNumber":175,"author":{"gitId":"-"},"content":" *"},{"lineNumber":176,"author":{"gitId":"-"},"content":" * @param actual the results from the search query."},{"lineNumber":177,"author":{"gitId":"-"},"content":" * @param expected the expected results for the search query."},{"lineNumber":178,"author":{"gitId":"-"},"content":" */"},{"lineNumber":179,"author":{"gitId":"-"},"content":" private static void verifySearchResults(List\u003cInstructor\u003e actual,"},{"lineNumber":180,"author":{"gitId":"-"},"content":" Instructor... expected) {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" assertEquals(expected.length, actual.size());"},{"lineNumber":182,"author":{"gitId":"-"},"content":" AssertHelper.assertSameContentIgnoreOrder(Arrays.asList(expected), actual);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":1,"yuanxi1":8,"dishenggg":10,"-":165}},{"path":"src/it/java/teammates/it/storage/sqlsearch/StudentSearchIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yuanxi1"},"content":"package teammates.it.storage.sqlsearch;"},{"lineNumber":2,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":3,"author":{"gitId":"yuanxi1"},"content":"import java.util.Arrays;"},{"lineNumber":4,"author":{"gitId":"yuanxi1"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":6,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":7,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.Test;"},{"lineNumber":8,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":9,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":10,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":11,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":12,"author":{"gitId":"yuanxi1"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":13,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlapi.UsersDb;"},{"lineNumber":14,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":15,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":16,"author":{"gitId":"yuanxi1"},"content":"import teammates.test.AssertHelper;"},{"lineNumber":17,"author":{"gitId":"yuanxi1"},"content":"import teammates.test.TestProperties;"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":19,"author":{"gitId":"yuanxi1"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"yuanxi1"},"content":" * SUT: {@link UsersDb},"},{"lineNumber":21,"author":{"gitId":"yuanxi1"},"content":" * {@link teammates.storage.sqlsearch.InstructorSearchDocument}."},{"lineNumber":22,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":23,"author":{"gitId":"yuanxi1"},"content":"public class StudentSearchIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":24,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":25,"author":{"gitId":"yuanxi1"},"content":" private final SqlDataBundle typicalBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":26,"author":{"gitId":"yuanxi1"},"content":" private final UsersDb usersDb \u003d UsersDb.inst();"},{"lineNumber":27,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":28,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"yuanxi1"},"content":" @BeforeMethod"},{"lineNumber":30,"author":{"gitId":"yuanxi1"},"content":" protected void setUp() throws Exception {"},{"lineNumber":31,"author":{"gitId":"yuanxi1"},"content":" super.setUp();"},{"lineNumber":32,"author":{"gitId":"yuanxi1"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":33,"author":{"gitId":"yuanxi1"},"content":" putDocuments(typicalBundle);"},{"lineNumber":34,"author":{"gitId":"yuanxi1"},"content":" HibernateUtil.flushSession();"},{"lineNumber":35,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":36,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":37,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":38,"author":{"gitId":"yuanxi1"},"content":" public void allTests() throws Exception {"},{"lineNumber":39,"author":{"gitId":"yuanxi1"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":40,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":41,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":43,"author":{"gitId":"yuanxi1"},"content":" Student stu1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" Student stu2InCourse1 \u003d typicalBundle.students.get(\"student2InCourse1\");"},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":" Student stu3InCourse1 \u003d typicalBundle.students.get(\"student3InCourse1\");"},{"lineNumber":46,"author":{"gitId":"marquestye"},"content":" Student stu4InCourse1 \u003d typicalBundle.students.get(\"student4InCourse1\");"},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":" Student stu1InCourse2 \u003d typicalBundle.students.get(\"student1InCourse2\");"},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" Student unregisteredStuInCourse1 \u003d typicalBundle.students.get(\"unregisteredStudentInCourse1\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":" Student stu1InCourse3 \u003d typicalBundle.students.get(\"student1InCourse3\");"},{"lineNumber":50,"author":{"gitId":"yuanxi1"},"content":" Student stu1InCourse4 \u003d typicalBundle.students.get(\"student1InCourse4\");"},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":" Student stuOfArchivedCourse \u003d typicalBundle.students.get(\"studentOfArchivedCourse\");"},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":53,"author":{"gitId":"yuanxi1"},"content":" Instructor ins1InCourse1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":54,"author":{"gitId":"yuanxi1"},"content":" Instructor ins1InCourse4 \u003d typicalBundle.instructors.get(\"instructor1OfCourse4\");"},{"lineNumber":55,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":56,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; query string does not match anyone\");"},{"lineNumber":57,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":58,"author":{"gitId":"yuanxi1"},"content":" List\u003cStudent\u003e results \u003d usersDb.searchStudentsInWholeSystem(\"non-existent\");"},{"lineNumber":59,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(results);"},{"lineNumber":60,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":61,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; empty query string does not match anyone\");"},{"lineNumber":62,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":63,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\");"},{"lineNumber":64,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(results);"},{"lineNumber":65,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":66,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; query string matches some students\");"},{"lineNumber":67,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":68,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\\\"student1\\\"\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" verifySearchResults(results, stu1InCourse1, stu1InCourse2, stu1InCourse3, stu1InCourse4);"},{"lineNumber":70,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":71,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; query string should be case-insensitive\");"},{"lineNumber":72,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":73,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\\\"sTuDeNt1\\\"\");"},{"lineNumber":74,"author":{"gitId":"-"},"content":" verifySearchResults(results, stu1InCourse1, stu1InCourse2, stu1InCourse3, stu1InCourse4);"},{"lineNumber":75,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":76,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; students in archived courses should be included\");"},{"lineNumber":77,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":78,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\\\"Student In Archived Course\\\"\");"},{"lineNumber":79,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(results, stuOfArchivedCourse);"},{"lineNumber":80,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":81,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; students should be searchable by course id\");"},{"lineNumber":82,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":83,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\\\"course-1\\\"\");"},{"lineNumber":84,"author":{"gitId":"marquestye"},"content":" verifySearchResults(results, stu1InCourse1, stu2InCourse1, stu3InCourse1, stu4InCourse1, unregisteredStuInCourse1);"},{"lineNumber":85,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":86,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; students should be searchable by course name\");"},{"lineNumber":87,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":88,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\\\"Typical Course 1\\\"\");"},{"lineNumber":89,"author":{"gitId":"marquestye"},"content":" verifySearchResults(results, stu1InCourse1, stu2InCourse1, stu3InCourse1, stu4InCourse1, unregisteredStuInCourse1);"},{"lineNumber":90,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":91,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; students should be searchable by their name\");"},{"lineNumber":92,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":93,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\\\"student3 In Course1\\\"\");"},{"lineNumber":94,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(results, stu3InCourse1);"},{"lineNumber":95,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":96,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; students should be searchable by their email\");"},{"lineNumber":97,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":98,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"student1@teammates.tmt\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":" verifySearchResults(results, stu1InCourse1, stu1InCourse2, stu1InCourse3, stu1InCourse4);"},{"lineNumber":100,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":101,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students; query string matches some students; results restricted \""},{"lineNumber":102,"author":{"gitId":"yuanxi1"},"content":" + \"based on instructor\u0027s privilege\");"},{"lineNumber":103,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":104,"author":{"gitId":"yuanxi1"},"content":" List\u003cInstructor\u003e ins1OfCourse1 \u003d Arrays.asList("},{"lineNumber":105,"author":{"gitId":"yuanxi1"},"content":" new Instructor[] { ins1InCourse1 });"},{"lineNumber":106,"author":{"gitId":"yuanxi1"},"content":" List\u003cInstructor\u003e ins1OfCourse4 \u003d Arrays.asList("},{"lineNumber":107,"author":{"gitId":"yuanxi1"},"content":" new Instructor[] { ins1InCourse4 });"},{"lineNumber":108,"author":{"gitId":"yuanxi1"},"content":" List\u003cStudent\u003e studentList \u003d usersDb.searchStudents(\"student1\", ins1OfCourse1);"},{"lineNumber":109,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":110,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(studentList, stu1InCourse1);"},{"lineNumber":111,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":112,"author":{"gitId":"yuanxi1"},"content":" studentList \u003d usersDb.searchStudents(\"student1\", ins1OfCourse4);"},{"lineNumber":113,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(studentList, stu1InCourse4);"},{"lineNumber":114,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":115,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; deleted students no longer searchable\");"},{"lineNumber":116,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":117,"author":{"gitId":"yuanxi1"},"content":" usersDb.deleteUser(stu1InCourse1);"},{"lineNumber":118,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\\\"student1\\\"\");"},{"lineNumber":119,"author":{"gitId":"-"},"content":" verifySearchResults(results, stu1InCourse2, stu1InCourse3, stu1InCourse4);"},{"lineNumber":120,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":121,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":122,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":123,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":124,"author":{"gitId":"yuanxi1"},"content":" public void testSearchStudent_deleteAfterSearch_shouldNotBeSearchable() throws Exception {"},{"lineNumber":125,"author":{"gitId":"yuanxi1"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":126,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":127,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":128,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":129,"author":{"gitId":"yuanxi1"},"content":" Student stu1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":130,"author":{"gitId":"yuanxi1"},"content":" Student stu1InCourse2 \u003d typicalBundle.students.get(\"student1InCourse2\");"},{"lineNumber":131,"author":{"gitId":"-"},"content":" Student stu1InCourse3 \u003d typicalBundle.students.get(\"student1InCourse3\");"},{"lineNumber":132,"author":{"gitId":"yuanxi1"},"content":" Student stu1InCourse4 \u003d typicalBundle.students.get(\"student1InCourse4\");"},{"lineNumber":133,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":134,"author":{"gitId":"yuanxi1"},"content":" List\u003cStudent\u003e studentList \u003d usersDb.searchStudentsInWholeSystem(\"student1\");"},{"lineNumber":135,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":136,"author":{"gitId":"yuanxi1"},"content":" // there is search result before deletion"},{"lineNumber":137,"author":{"gitId":"-"},"content":" verifySearchResults(studentList, stu1InCourse1, stu1InCourse2, stu1InCourse3, stu1InCourse4);"},{"lineNumber":138,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":139,"author":{"gitId":"yuanxi1"},"content":" // delete a student"},{"lineNumber":140,"author":{"gitId":"yuanxi1"},"content":" usersDb.deleteUser(stu1InCourse1);"},{"lineNumber":141,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":142,"author":{"gitId":"yuanxi1"},"content":" // the search result will change"},{"lineNumber":143,"author":{"gitId":"yuanxi1"},"content":" studentList \u003d usersDb.searchStudentsInWholeSystem(\"student1\");"},{"lineNumber":144,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" verifySearchResults(studentList, stu1InCourse2, stu1InCourse3, stu1InCourse4);"},{"lineNumber":146,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":147,"author":{"gitId":"yuanxi1"},"content":" // delete all students in course 2"},{"lineNumber":148,"author":{"gitId":"yuanxi1"},"content":" usersDb.deleteUser(stu1InCourse2);"},{"lineNumber":149,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":150,"author":{"gitId":"yuanxi1"},"content":" // the search result will change"},{"lineNumber":151,"author":{"gitId":"yuanxi1"},"content":" studentList \u003d usersDb.searchStudentsInWholeSystem(\"student1\");"},{"lineNumber":152,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" verifySearchResults(studentList, stu1InCourse3, stu1InCourse4);"},{"lineNumber":154,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":155,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":156,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":157,"author":{"gitId":"yuanxi1"},"content":" public void testSearchStudent_noSearchService_shouldThrowException() {"},{"lineNumber":158,"author":{"gitId":"yuanxi1"},"content":" if (TestProperties.isSearchServiceActive()) {"},{"lineNumber":159,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":160,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":161,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":162,"author":{"gitId":"yuanxi1"},"content":" assertThrows(SearchServiceException.class,"},{"lineNumber":163,"author":{"gitId":"yuanxi1"},"content":" () -\u003e usersDb.searchStudentsInWholeSystem(\"anything\"));"},{"lineNumber":164,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":165,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":166,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":167,"author":{"gitId":"yuanxi1"},"content":" * Verifies that search results match with expected output."},{"lineNumber":168,"author":{"gitId":"yuanxi1"},"content":" *"},{"lineNumber":169,"author":{"gitId":"yuanxi1"},"content":" * @param actual the results from the search query."},{"lineNumber":170,"author":{"gitId":"yuanxi1"},"content":" * @param expected the expected results for the search query."},{"lineNumber":171,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":172,"author":{"gitId":"yuanxi1"},"content":" private static void verifySearchResults(List\u003cStudent\u003e actual,"},{"lineNumber":173,"author":{"gitId":"yuanxi1"},"content":" Student... expected) {"},{"lineNumber":174,"author":{"gitId":"yuanxi1"},"content":" assertEquals(expected.length, actual.size());"},{"lineNumber":175,"author":{"gitId":"yuanxi1"},"content":" AssertHelper.assertSameContentIgnoreOrder(Arrays.asList(expected), actual);"},{"lineNumber":176,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":177,"author":{"gitId":"yuanxi1"},"content":"}"}],"authorContributionMap":{"yuanxi1":165,"marquestye":3,"-":9}},{"path":"src/it/java/teammates/it/test/BaseTestCaseWithSqlDatabaseAccess.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.test;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.testcontainers.containers.PostgreSQLContainer;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterMethod;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterSuite;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeSuite;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import com.google.cloud.datastore.DatastoreOptions;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import com.google.cloud.datastore.testing.LocalDatastoreHelper;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import com.googlecode.objectify.ObjectifyFactory;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import com.googlecode.objectify.ObjectifyService;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import com.googlecode.objectify.util.Closeable;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.sqllogic.api.Logic;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.LogicStarter;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.api.OfyHelper;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.BaseEntity;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.ReadNotification;"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.UsageStatistics;"},{"lineNumber":46,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.AccountRequestSearchManager;"},{"lineNumber":47,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.InstructorSearchManager;"},{"lineNumber":48,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.SearchManagerFactory;"},{"lineNumber":49,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.StudentSearchManager;"},{"lineNumber":50,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":53,"author":{"gitId":"-"},"content":" * Base test case for tests that access the database."},{"lineNumber":54,"author":{"gitId":"-"},"content":" */"},{"lineNumber":55,"author":{"gitId":"-"},"content":"@Test(singleThreaded \u003d true)"},{"lineNumber":56,"author":{"gitId":"-"},"content":"public class BaseTestCaseWithSqlDatabaseAccess extends BaseTestCase {"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final PostgreSQLContainer\u003c?\u003e PGSQL \u003d new PostgreSQLContainer\u003c\u003e(\"postgres:15.1-alpine\");"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" private static final LocalDatastoreHelper LOCAL_DATASTORE_HELPER \u003d LocalDatastoreHelper.newBuilder()"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .setConsistency(1.0)"},{"lineNumber":62,"author":{"gitId":"-"},"content":" .setPort(TestProperties.TEST_LOCALDATASTORE_PORT)"},{"lineNumber":63,"author":{"gitId":"-"},"content":" .setStoreOnDisk(false)"},{"lineNumber":64,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" private final Logic logic \u003d Logic.inst();"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" private Closeable closeable;"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" @BeforeSuite"},{"lineNumber":71,"author":{"gitId":"-"},"content":" protected static void setUpSuite() throws Exception {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" PGSQL.start();"},{"lineNumber":73,"author":{"gitId":"-"},"content":" // Temporarily disable migration utility"},{"lineNumber":74,"author":{"gitId":"-"},"content":" // DbMigrationUtil.resetDb(PGSQL.getJdbcUrl(), PGSQL.getUsername(),"},{"lineNumber":75,"author":{"gitId":"-"},"content":" // PGSQL.getPassword());"},{"lineNumber":76,"author":{"gitId":"-"},"content":" HibernateUtil.buildSessionFactory(PGSQL.getJdbcUrl(), PGSQL.getUsername(), PGSQL.getPassword());"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" LogicStarter.initializeDependencies();"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" SearchManagerFactory.registerAccountRequestSearchManager("},{"lineNumber":81,"author":{"gitId":"-"},"content":" new AccountRequestSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":82,"author":{"gitId":"-"},"content":" SearchManagerFactory.registerInstructorSearchManager("},{"lineNumber":83,"author":{"gitId":"-"},"content":" new InstructorSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":84,"author":{"gitId":"-"},"content":" SearchManagerFactory.registerStudentSearchManager("},{"lineNumber":85,"author":{"gitId":"-"},"content":" new StudentSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" // TODO: remove after migration, needed for dual db support"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" teammates.storage.search.SearchManagerFactory.registerAccountRequestSearchManager("},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" new teammates.storage.search.AccountRequestSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" teammates.storage.search.SearchManagerFactory.registerInstructorSearchManager("},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" new teammates.storage.search.InstructorSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" teammates.storage.search.SearchManagerFactory.registerStudentSearchManager("},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" new teammates.storage.search.StudentSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" teammates.logic.core.LogicStarter.initializeDependencies();"},{"lineNumber":97,"author":{"gitId":"-"},"content":" LOCAL_DATASTORE_HELPER.start();"},{"lineNumber":98,"author":{"gitId":"-"},"content":" DatastoreOptions options \u003d LOCAL_DATASTORE_HELPER.getOptions();"},{"lineNumber":99,"author":{"gitId":"-"},"content":" ObjectifyService.init(new ObjectifyFactory("},{"lineNumber":100,"author":{"gitId":"-"},"content":" options.getService()));"},{"lineNumber":101,"author":{"gitId":"-"},"content":" OfyHelper.registerEntityClasses();"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":106,"author":{"gitId":"-"},"content":" public void setupClass() {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" closeable \u003d ObjectifyService.begin();"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":111,"author":{"gitId":"-"},"content":" public void tearDownClass() {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" closeable.close();"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" SearchManagerFactory.getAccountRequestSearchManager().resetCollections();"},{"lineNumber":115,"author":{"gitId":"-"},"content":" SearchManagerFactory.getInstructorSearchManager().resetCollections();"},{"lineNumber":116,"author":{"gitId":"-"},"content":" SearchManagerFactory.getStudentSearchManager().resetCollections();"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" @AfterSuite"},{"lineNumber":120,"author":{"gitId":"-"},"content":" protected static void tearDownSuite() throws Exception {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" PGSQL.close();"},{"lineNumber":122,"author":{"gitId":"-"},"content":" LOCAL_DATASTORE_HELPER.stop();"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":126,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" @AfterMethod"},{"lineNumber":131,"author":{"gitId":"-"},"content":" protected void tearDown() {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" HibernateUtil.rollbackTransaction();"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":136,"author":{"gitId":"-"},"content":" protected String getTestDataFolder() {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" return TestProperties.TEST_DATA_FOLDER;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":141,"author":{"gitId":"-"},"content":" * Persist data bundle into the db."},{"lineNumber":142,"author":{"gitId":"-"},"content":" */"},{"lineNumber":143,"author":{"gitId":"-"},"content":" protected void persistDataBundle(SqlDataBundle dataBundle)"},{"lineNumber":144,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException, EntityDoesNotExistException {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" logic.persistDataBundle(dataBundle);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":149,"author":{"gitId":"-"},"content":" * Puts searchable documents from the data bundle to the solr database."},{"lineNumber":150,"author":{"gitId":"-"},"content":" */"},{"lineNumber":151,"author":{"gitId":"-"},"content":" protected void putDocuments(SqlDataBundle dataBundle) throws SearchServiceException {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" logic.putDocuments(dataBundle);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":156,"author":{"gitId":"-"},"content":" * Verifies that two entities are equal."},{"lineNumber":157,"author":{"gitId":"-"},"content":" */"},{"lineNumber":158,"author":{"gitId":"-"},"content":" protected void verifyEquals(BaseEntity expected, BaseEntity actual) {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" if (expected instanceof Course) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" Course expectedCourse \u003d (Course) expected;"},{"lineNumber":161,"author":{"gitId":"-"},"content":" Course actualCourse \u003d (Course) actual;"},{"lineNumber":162,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedCourse, actualCourse);"},{"lineNumber":163,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedCourse), JsonUtils.toJson(actualCourse));"},{"lineNumber":164,"author":{"gitId":"-"},"content":" } else if (expected instanceof DeadlineExtension) {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" DeadlineExtension expectedDeadlineExtension \u003d (DeadlineExtension) expected;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" DeadlineExtension actualDeadlineExtension \u003d (DeadlineExtension) actual;"},{"lineNumber":167,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedDeadlineExtension, actualDeadlineExtension);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedDeadlineExtension), JsonUtils.toJson(actualDeadlineExtension));"},{"lineNumber":169,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackSession) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" FeedbackSession expectedSession \u003d (FeedbackSession) expected;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" FeedbackSession actualSession \u003d (FeedbackSession) actual;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedSession, actualSession);"},{"lineNumber":173,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedSession), JsonUtils.toJson(actualSession));"},{"lineNumber":174,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackQuestion) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" FeedbackQuestion expectedQuestion \u003d (FeedbackQuestion) expected;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" FeedbackQuestion actualQuestion \u003d (FeedbackQuestion) actual;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedQuestion, actualQuestion);"},{"lineNumber":178,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedQuestion), JsonUtils.toJson(actualQuestion));"},{"lineNumber":179,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponse) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" FeedbackResponse expectedResponse \u003d (FeedbackResponse) expected;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" FeedbackResponse actualResponse \u003d (FeedbackResponse) actual;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedResponse, actualResponse);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedResponse), JsonUtils.toJson(actualResponse));"},{"lineNumber":184,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponseComment) {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" FeedbackResponseComment expectedComment \u003d (FeedbackResponseComment) expected;"},{"lineNumber":186,"author":{"gitId":"-"},"content":" FeedbackResponseComment actualComment \u003d (FeedbackResponseComment) actual;"},{"lineNumber":187,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedComment, actualComment);"},{"lineNumber":188,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedComment), JsonUtils.toJson(actualComment));"},{"lineNumber":189,"author":{"gitId":"-"},"content":" } else if (expected instanceof Notification) {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" Notification expectedNotification \u003d (Notification) expected;"},{"lineNumber":191,"author":{"gitId":"-"},"content":" Notification actualNotification \u003d (Notification) actual;"},{"lineNumber":192,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedNotification, actualNotification);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedNotification), JsonUtils.toJson(actualNotification));"},{"lineNumber":194,"author":{"gitId":"-"},"content":" } else if (expected instanceof Account) {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" Account expectedAccount \u003d (Account) expected;"},{"lineNumber":196,"author":{"gitId":"-"},"content":" Account actualAccount \u003d (Account) actual;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedAccount, actualAccount);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedAccount), JsonUtils.toJson(actualAccount));"},{"lineNumber":199,"author":{"gitId":"-"},"content":" } else if (expected instanceof AccountRequest) {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" AccountRequest expectedAccountRequest \u003d (AccountRequest) expected;"},{"lineNumber":201,"author":{"gitId":"-"},"content":" AccountRequest actualAccountRequest \u003d (AccountRequest) actual;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedAccountRequest, actualAccountRequest);"},{"lineNumber":203,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedAccountRequest), JsonUtils.toJson(actualAccountRequest));"},{"lineNumber":204,"author":{"gitId":"-"},"content":" } else if (expected instanceof UsageStatistics) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" UsageStatistics expectedUsageStatistics \u003d (UsageStatistics) expected;"},{"lineNumber":206,"author":{"gitId":"-"},"content":" UsageStatistics actualUsageStatistics \u003d (UsageStatistics) actual;"},{"lineNumber":207,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedUsageStatistics, actualUsageStatistics);"},{"lineNumber":208,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedUsageStatistics), JsonUtils.toJson(actualUsageStatistics));"},{"lineNumber":209,"author":{"gitId":"-"},"content":" } else if (expected instanceof Instructor) {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" Instructor expectedInstructor \u003d (Instructor) expected;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" Instructor actualInstructor \u003d (Instructor) actual;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedInstructor, actualInstructor);"},{"lineNumber":213,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedInstructor), JsonUtils.toJson(actualInstructor));"},{"lineNumber":214,"author":{"gitId":"-"},"content":" } else if (expected instanceof Student) {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" Student expectedStudent \u003d (Student) expected;"},{"lineNumber":216,"author":{"gitId":"-"},"content":" Student actualStudent \u003d (Student) actual;"},{"lineNumber":217,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedStudent, actualStudent);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedStudent), JsonUtils.toJson(actualStudent));"},{"lineNumber":219,"author":{"gitId":"-"},"content":" } else if (expected instanceof Section) {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" Section expectedSection \u003d (Section) expected;"},{"lineNumber":221,"author":{"gitId":"-"},"content":" Section actualSection \u003d (Section) actual;"},{"lineNumber":222,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedSection, actualSection);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedSection), JsonUtils.toJson(actualSection));"},{"lineNumber":224,"author":{"gitId":"-"},"content":" } else if (expected instanceof Team) {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" Team expectedTeam \u003d (Team) expected;"},{"lineNumber":226,"author":{"gitId":"-"},"content":" Team actualTeam \u003d (Team) actual;"},{"lineNumber":227,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedTeam, actualTeam);"},{"lineNumber":228,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedTeam), JsonUtils.toJson(actualTeam));"},{"lineNumber":229,"author":{"gitId":"-"},"content":" } else if (expected instanceof ReadNotification) {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" ReadNotification expectedReadNotification \u003d (ReadNotification) expected;"},{"lineNumber":231,"author":{"gitId":"-"},"content":" ReadNotification actualReadNotification \u003d (ReadNotification) actual;"},{"lineNumber":232,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedReadNotification, actualReadNotification);"},{"lineNumber":233,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" fail(\"Unknown entity\");"},{"lineNumber":235,"author":{"gitId":"-"},"content":" }"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":239,"author":{"gitId":"-"},"content":" * Verifies that the given entity is present in the database."},{"lineNumber":240,"author":{"gitId":"-"},"content":" */"},{"lineNumber":241,"author":{"gitId":"-"},"content":" protected void verifyPresentInDatabase(BaseEntity expected) {"},{"lineNumber":242,"author":{"gitId":"-"},"content":" assertNotNull(expected);"},{"lineNumber":243,"author":{"gitId":"-"},"content":" BaseEntity actual \u003d getEntity(expected);"},{"lineNumber":244,"author":{"gitId":"-"},"content":" verifyEquals(expected, actual);"},{"lineNumber":245,"author":{"gitId":"-"},"content":" }"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" private BaseEntity getEntity(BaseEntity entity) {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" if (entity instanceof Course) {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" return logic.getCourse(((Course) entity).getId());"},{"lineNumber":250,"author":{"gitId":"-"},"content":" } else if (entity instanceof FeedbackSession) {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" return logic.getFeedbackSession(((FeedbackSession) entity).getId());"},{"lineNumber":252,"author":{"gitId":"dishenggg"},"content":" } else if (entity instanceof FeedbackQuestion) {"},{"lineNumber":253,"author":{"gitId":"dishenggg"},"content":" return logic.getFeedbackQuestion(((FeedbackQuestion) entity).getId());"},{"lineNumber":254,"author":{"gitId":"-"},"content":" } else if (entity instanceof Account) {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" return logic.getAccount(((Account) entity).getId());"},{"lineNumber":256,"author":{"gitId":"-"},"content":" } else if (entity instanceof Notification) {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" return logic.getNotification(((Notification) entity).getId());"},{"lineNumber":258,"author":{"gitId":"-"},"content":" } else if (entity instanceof AccountRequest) {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d (AccountRequest) entity;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" return logic.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":261,"author":{"gitId":"yuanxi1"},"content":" } else if (entity instanceof Instructor) {"},{"lineNumber":262,"author":{"gitId":"yuanxi1"},"content":" return logic.getInstructor(((Instructor) entity).getId());"},{"lineNumber":263,"author":{"gitId":"yuanxi1"},"content":" } else if (entity instanceof Student) {"},{"lineNumber":264,"author":{"gitId":"yuanxi1"},"content":" return logic.getStudent(((Student) entity).getId());"},{"lineNumber":265,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unknown entity type\");"},{"lineNumber":267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(Course expected, Course actual) {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":272,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":273,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(DeadlineExtension expected, DeadlineExtension actual) {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":278,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":279,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(FeedbackSession expected, FeedbackSession actual) {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":284,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":285,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(FeedbackQuestion expected, FeedbackQuestion actual) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":290,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":291,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":292,"author":{"gitId":"-"},"content":" }"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(FeedbackResponse expected, FeedbackResponse actual) {"},{"lineNumber":295,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":296,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":297,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(FeedbackResponseComment expected, FeedbackResponseComment actual) {"},{"lineNumber":301,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":302,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":303,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(Notification expected, Notification actual) {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":308,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":309,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":310,"author":{"gitId":"-"},"content":" }"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(Account expected, Account actual) {"},{"lineNumber":313,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":314,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":315,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(AccountRequest expected, AccountRequest actual) {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":320,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":321,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":322,"author":{"gitId":"-"},"content":" }"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(UsageStatistics expected, UsageStatistics actual) {"},{"lineNumber":325,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":326,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":327,"author":{"gitId":"-"},"content":" }"},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(Instructor expected, Instructor actual) {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":331,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":332,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(Student expected, Student actual) {"},{"lineNumber":336,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":337,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":338,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":339,"author":{"gitId":"-"},"content":" }"},{"lineNumber":340,"author":{"gitId":"-"},"content":""},{"lineNumber":341,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(Section expected, Section actual) {"},{"lineNumber":342,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":343,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":344,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(Team expected, Team actual) {"},{"lineNumber":348,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":349,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":350,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(ReadNotification expected, ReadNotification actual) {"},{"lineNumber":354,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":355,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":356,"author":{"gitId":"-"},"content":" }"},{"lineNumber":357,"author":{"gitId":"-"},"content":""},{"lineNumber":358,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":359,"author":{"gitId":"-"},"content":" * Generates a UUID that is different from the given {@code uuid}."},{"lineNumber":360,"author":{"gitId":"-"},"content":" */"},{"lineNumber":361,"author":{"gitId":"-"},"content":" protected UUID generateDifferentUuid(UUID uuid) {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" UUID ret \u003d UUID.randomUUID();"},{"lineNumber":363,"author":{"gitId":"-"},"content":" while (ret.equals(uuid)) {"},{"lineNumber":364,"author":{"gitId":"-"},"content":" ret \u003d UUID.randomUUID();"},{"lineNumber":365,"author":{"gitId":"-"},"content":" }"},{"lineNumber":366,"author":{"gitId":"-"},"content":" return ret;"},{"lineNumber":367,"author":{"gitId":"-"},"content":" }"},{"lineNumber":368,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":8,"yuanxi1":4,"dishenggg":2,"-":354}},{"path":"src/it/java/teammates/it/ui/webapi/AccountRequestSearchIndexingWorkerActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.Const;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.Const.ParamsNames;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.test.TestProperties;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.AccountRequestSearchIndexingWorkerAction;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * SUT: {@link AccountRequestSearchIndexingWorkerAction}."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":"public class AccountRequestSearchIndexingWorkerActionIT extends BaseActionIT\u003cAccountRequestSearchIndexingWorkerAction\u003e {"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" @BeforeMethod"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" protected void setUp() throws Exception {"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" super.setUp();"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.flushSession();"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":32,"author":{"gitId":"-"},"content":" protected String getActionUri() {"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" return Const.TaskQueue.ACCOUNT_REQUEST_SEARCH_INDEXING_WORKER_URL;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"-"},"content":" protected String getRequestMethod() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" return POST;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":42,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":43,"author":{"gitId":"-"},"content":" public void testExecute() throws Exception {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d typicalBundle.accountRequests.get(\"instructor1\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" ______TS(\"account request not yet indexed should not be searchable\");"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" List\u003cAccountRequest\u003e accountRequestsList \u003d"},{"lineNumber":53,"author":{"gitId":"-"},"content":" logic.searchAccountRequestsInWholeSystem(accountRequest.getEmail());"},{"lineNumber":54,"author":{"gitId":"-"},"content":" assertEquals(0, accountRequestsList.size());"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" ______TS(\"account request indexed should be searchable\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" ParamsNames.INSTRUCTOR_EMAIL, accountRequest.getEmail(),"},{"lineNumber":60,"author":{"gitId":"-"},"content":" ParamsNames.INSTRUCTOR_INSTITUTION, accountRequest.getInstitute(),"},{"lineNumber":61,"author":{"gitId":"-"},"content":" };"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" AccountRequestSearchIndexingWorkerAction action \u003d getAction(submissionParams);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" getJsonResult(action);"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" accountRequestsList \u003d logic.searchAccountRequestsInWholeSystem(accountRequest.getEmail());"},{"lineNumber":67,"author":{"gitId":"-"},"content":" assertEquals(1, accountRequestsList.size());"},{"lineNumber":68,"author":{"gitId":"-"},"content":" assertEquals(accountRequest.getName(), accountRequestsList.get(0).getName());"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" protected void testAccessControl() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" verifyOnlyAdminCanAccess(course);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":26,"-":52}},{"path":"src/it/java/teammates/it/ui/webapi/CreateInstructorActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"mingyuanc"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":3,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":4,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.Test;"},{"lineNumber":5,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":6,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.util.Const;"},{"lineNumber":7,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":8,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":9,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":10,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.output.InstructorData;"},{"lineNumber":11,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.request.InstructorCreateRequest;"},{"lineNumber":12,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.webapi.CreateInstructorAction;"},{"lineNumber":13,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.webapi.InvalidOperationException;"},{"lineNumber":14,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":15,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":16,"author":{"gitId":"mingyuanc"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"mingyuanc"},"content":" * SUT: {@link CreateInstructorAction}."},{"lineNumber":18,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":19,"author":{"gitId":"mingyuanc"},"content":"public class CreateInstructorActionIT extends BaseActionIT\u003cCreateInstructorAction\u003e {"},{"lineNumber":20,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"mingyuanc"},"content":" @BeforeMethod"},{"lineNumber":22,"author":{"gitId":"mingyuanc"},"content":" protected void setUp() throws Exception {"},{"lineNumber":23,"author":{"gitId":"mingyuanc"},"content":" super.setUp();"},{"lineNumber":24,"author":{"gitId":"mingyuanc"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":25,"author":{"gitId":"mingyuanc"},"content":" HibernateUtil.flushSession();"},{"lineNumber":26,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":27,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":28,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"mingyuanc"},"content":" protected String getActionUri() {"},{"lineNumber":30,"author":{"gitId":"mingyuanc"},"content":" return Const.ResourceURIs.INSTRUCTOR;"},{"lineNumber":31,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":32,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":33,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"mingyuanc"},"content":" protected String getRequestMethod() {"},{"lineNumber":35,"author":{"gitId":"mingyuanc"},"content":" return POST;"},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":37,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":39,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":40,"author":{"gitId":"mingyuanc"},"content":" protected void testExecute() {"},{"lineNumber":41,"author":{"gitId":"mingyuanc"},"content":" // see test cases below"},{"lineNumber":42,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":43,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":44,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":45,"author":{"gitId":"mingyuanc"},"content":" protected void testExecute_typicalCase_shouldPass() throws Exception {"},{"lineNumber":46,"author":{"gitId":"mingyuanc"},"content":" loginAsAdmin();"},{"lineNumber":47,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":48,"author":{"gitId":"mingyuanc"},"content":" Course course1 \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":49,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":50,"author":{"gitId":"mingyuanc"},"content":" String[] params \u003d {"},{"lineNumber":51,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.COURSE_ID, course1.getId(),"},{"lineNumber":52,"author":{"gitId":"mingyuanc"},"content":" };"},{"lineNumber":53,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":54,"author":{"gitId":"mingyuanc"},"content":" InstructorCreateRequest instructorCreateRequest \u003d new InstructorCreateRequest("},{"lineNumber":55,"author":{"gitId":"mingyuanc"},"content":" \"00000000-0000-4000-8000-000000000006\", \"newInstructorName\","},{"lineNumber":56,"author":{"gitId":"mingyuanc"},"content":" \"newInstructorEmail@mail.com\", Const.InstructorPermissionRoleNames.INSTRUCTOR_PERMISSION_ROLE_COOWNER,"},{"lineNumber":57,"author":{"gitId":"mingyuanc"},"content":" \"instructorDisplayName\", false);"},{"lineNumber":58,"author":{"gitId":"mingyuanc"},"content":" CreateInstructorAction action \u003d getAction(instructorCreateRequest, params);"},{"lineNumber":59,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":60,"author":{"gitId":"mingyuanc"},"content":" JsonResult response \u003d getJsonResult(action);"},{"lineNumber":61,"author":{"gitId":"mingyuanc"},"content":" InstructorData instructorData \u003d (InstructorData) response.getOutput();"},{"lineNumber":62,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":63,"author":{"gitId":"mingyuanc"},"content":" Instructor createdInstructor \u003d logic.getInstructorForEmail(course1.getId(), instructorCreateRequest.getEmail());"},{"lineNumber":64,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":65,"author":{"gitId":"mingyuanc"},"content":" assertEquals(createdInstructor.getName(), instructorCreateRequest.getName());"},{"lineNumber":66,"author":{"gitId":"mingyuanc"},"content":" assertEquals(createdInstructor.getEmail(), instructorCreateRequest.getEmail());"},{"lineNumber":67,"author":{"gitId":"mingyuanc"},"content":" assertEquals(createdInstructor.getName(), instructorData.getName());"},{"lineNumber":68,"author":{"gitId":"mingyuanc"},"content":" assertEquals(createdInstructor.getEmail(), instructorData.getEmail());"},{"lineNumber":69,"author":{"gitId":"mingyuanc"},"content":" assertFalse(createdInstructor.isDisplayedToStudents());"},{"lineNumber":70,"author":{"gitId":"mingyuanc"},"content":" assertTrue(createdInstructor.isAllowedForPrivilege(Const.InstructorPermissions.CAN_MODIFY_COURSE));"},{"lineNumber":71,"author":{"gitId":"mingyuanc"},"content":" assertTrue(createdInstructor.isAllowedForPrivilege(Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR));"},{"lineNumber":72,"author":{"gitId":"mingyuanc"},"content":" assertTrue(createdInstructor.isAllowedForPrivilege(Const.InstructorPermissions.CAN_MODIFY_SESSION));"},{"lineNumber":73,"author":{"gitId":"mingyuanc"},"content":" assertTrue(createdInstructor.isAllowedForPrivilege(Const.InstructorPermissions.CAN_MODIFY_STUDENT));"},{"lineNumber":74,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":75,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":76,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":77,"author":{"gitId":"mingyuanc"},"content":" protected void testExecute_uniqueEmailClash_shouldFail() throws Exception {"},{"lineNumber":78,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":79,"author":{"gitId":"mingyuanc"},"content":" Instructor instructor1OfCourse1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":80,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":81,"author":{"gitId":"mingyuanc"},"content":" loginAsAdmin();"},{"lineNumber":82,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":83,"author":{"gitId":"mingyuanc"},"content":" String[] params \u003d {"},{"lineNumber":84,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.COURSE_ID, instructor1OfCourse1.getCourseId(),"},{"lineNumber":85,"author":{"gitId":"mingyuanc"},"content":" };"},{"lineNumber":86,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":87,"author":{"gitId":"mingyuanc"},"content":" InstructorCreateRequest instructorCreateRequest \u003d new InstructorCreateRequest("},{"lineNumber":88,"author":{"gitId":"mingyuanc"},"content":" instructor1OfCourse1.getCourseId(), \"instructor3ofCourse1\","},{"lineNumber":89,"author":{"gitId":"mingyuanc"},"content":" instructor1OfCourse1.getEmail(), Const.InstructorPermissionRoleNames.INSTRUCTOR_PERMISSION_ROLE_TUTOR,"},{"lineNumber":90,"author":{"gitId":"mingyuanc"},"content":" \"instructor3ofCourse1\", false);"},{"lineNumber":91,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":92,"author":{"gitId":"mingyuanc"},"content":" CreateInstructorAction action \u003d getAction(instructorCreateRequest, params);"},{"lineNumber":93,"author":{"gitId":"mingyuanc"},"content":" assertThrows(InvalidOperationException.class, action::execute);"},{"lineNumber":94,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":95,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":96,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":97,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":98,"author":{"gitId":"mingyuanc"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":99,"author":{"gitId":"mingyuanc"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":100,"author":{"gitId":"mingyuanc"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor2OfCourse1\");"},{"lineNumber":101,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":102,"author":{"gitId":"mingyuanc"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":103,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":104,"author":{"gitId":"mingyuanc"},"content":" };"},{"lineNumber":105,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":106,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"Admins can access\");"},{"lineNumber":107,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":108,"author":{"gitId":"mingyuanc"},"content":" verifyAccessibleForAdmin(submissionParams);"},{"lineNumber":109,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":110,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"only instructors of the same course can access\");"},{"lineNumber":111,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":112,"author":{"gitId":"mingyuanc"},"content":" verifyOnlyInstructorsOfTheSameCourseWithCorrectCoursePrivilegeCanAccess(course,"},{"lineNumber":113,"author":{"gitId":"mingyuanc"},"content":" Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR, submissionParams);"},{"lineNumber":114,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"instructors of other courses cannot access\");"},{"lineNumber":115,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":116,"author":{"gitId":"mingyuanc"},"content":" verifyInaccessibleForInstructorsOfOtherCourses(course, submissionParams);"},{"lineNumber":117,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":118,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":119,"author":{"gitId":"mingyuanc"},"content":"}"}],"authorContributionMap":{"mingyuanc":119}},{"path":"src/it/java/teammates/it/ui/webapi/DeleteStudentsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.DeleteStudentsAction;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * SUT: {@link DeleteStudentsAction}."},{"lineNumber":17,"author":{"gitId":"-"},"content":" */"},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class DeleteStudentsActionIT extends BaseActionIT\u003cDeleteStudentsAction\u003e {"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":22,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":24,"author":{"gitId":"-"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":25,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"-"},"content":" String getActionUri() {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" return Const.ResourceURIs.STUDENTS;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" }"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"-"},"content":" String getRequestMethod() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" return DELETE;"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":39,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":40,"author":{"gitId":"-"},"content":" protected void testExecute() throws Exception {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":" String courseId \u003d instructor.getCourseId();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" // TODO Remove limit after migration completes"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" int deleteLimit \u003d 4;"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case delete a limited number of students\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentsToDelete \u003d logic.getStudentsForCourse(courseId);"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"marquestye"},"content":" assertEquals(5, studentsToDelete.size());"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" String[] params \u003d new String[] {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" Const.ParamsNames.LIMIT, String.valueOf(deleteLimit),"},{"lineNumber":56,"author":{"gitId":"-"},"content":" };"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" DeleteStudentsAction deleteStudentsAction \u003d getAction(params);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" getJsonResult(deleteStudentsAction);"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" for (Student student : studentsToDelete) {"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" assertNull(logic.getStudentByRegistrationKey(student.getRegKey()));"},{"lineNumber":63,"author":{"gitId":"-"},"content":" }"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" ______TS(\"Random course given, fails silently\");"},{"lineNumber":66,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, \"non-existent-course-id\","},{"lineNumber":68,"author":{"gitId":"-"},"content":" Const.ParamsNames.LIMIT, String.valueOf(deleteLimit),"},{"lineNumber":69,"author":{"gitId":"-"},"content":" };"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" deleteStudentsAction \u003d getAction(params);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" getJsonResult(deleteStudentsAction);"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" ______TS(\"Invalid params\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure();"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":79,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":80,"author":{"gitId":"-"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" String[] params \u003d new String[] {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":85,"author":{"gitId":"-"},"content":" };"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" verifyOnlyInstructorsOfTheSameCourseWithCorrectCoursePrivilegeCanAccess("},{"lineNumber":88,"author":{"gitId":"-"},"content":" course, Const.InstructorPermissions.CAN_MODIFY_STUDENT, params);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" }"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":1,"dishenggg":2,"-":88}},{"path":"src/it/java/teammates/it/ui/webapi/EnrollStudentsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import java.util.Arrays;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.Const;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.output.EnrollStudentsData;"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.request.StudentsEnrollRequest;"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.EnrollStudentsAction;"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.InvalidOperationException;"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" * SUT: {@link EnrollStudentsAction}."},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":"public class EnrollStudentsActionIT extends BaseActionIT\u003cEnrollStudentsAction\u003e {"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" @BeforeMethod"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" protected void setUp() throws Exception {"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" super.setUp();"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.flushSession();"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" protected String getActionUri() {"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" return Const.ResourceURIs.STUDENTS;"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" protected String getRequestMethod() {"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" return PUT;"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" private StudentsEnrollRequest prepareRequest(List\u003cStudent\u003e students) {"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" List\u003cStudentsEnrollRequest.StudentEnrollRequest\u003e studentEnrollRequests \u003d new ArrayList\u003c\u003e();"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" students.forEach(student -\u003e {"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" studentEnrollRequests.add(new StudentsEnrollRequest.StudentEnrollRequest(student.getName(),"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" student.getEmail(), student.getTeam().getName(), student.getSection().getName(), student.getComments()));"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" return new StudentsEnrollRequest(studentEnrollRequests);"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" public void testExecute() throws Exception {"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d typicalBundle.students.get(\"student1InCourse1\").getCourseId();"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" Course course \u003d logic.getCourse(courseId);"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" Section section \u003d logic.getSection(courseId, \"Section 1\");"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":" Team team \u003d logic.getTeamOrCreate(section, \"Team 1\");"},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" Student newStudent \u003d new Student(course, \"Test Student\", \"test@email.com\", \"Test Comment\", team);"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" String[] params \u003d new String[] {"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e students \u003d new ArrayList\u003c\u003e(logic.getStudentsForCourse(courseId));"},{"lineNumber":76,"author":{"gitId":"marquestye"},"content":" assertEquals(5, students.size());"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical Success Case For Enrolling a Student\");"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" StudentsEnrollRequest request \u003d prepareRequest(Arrays.asList(newStudent));"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" EnrollStudentsAction enrollStudentsAction \u003d getAction(request, params);"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" JsonResult res \u003d getJsonResult(enrollStudentsAction);"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" EnrollStudentsData data \u003d (EnrollStudentsData) res.getOutput();"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" assertEquals(1, data.getStudentsData().getStudents().size());"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e studentsInCourse \u003d logic.getStudentsForCourse(courseId);"},{"lineNumber":86,"author":{"gitId":"marquestye"},"content":" assertEquals(6, studentsInCourse.size());"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Fail to enroll due to duplicate team name across sections\");"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" String expectedMessage \u003d \"Team \\\"%s\\\" is detected in both Section \\\"%s\\\" and Section \\\"%s\\\".\""},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" + \" Please use different team names in different sections.\";"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" Section newSection \u003d logic.getSection(courseId, \"Section 3\");"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" Team newTeam \u003d new Team(newSection, \"Team 1\");"},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" newStudent \u003d new Student(course, \"Test Student\", \"test@email.com\", \"Test Comment\", newTeam);"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" Student secondStudent \u003d new Student(course, \"Test Student 2\", \"test2@email.com\", \"Test Comment\","},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" team);"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" StudentsEnrollRequest req \u003d prepareRequest(Arrays.asList(secondStudent, newStudent));"},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":" InvalidOperationException exception \u003d verifyInvalidOperation(req, params);"},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" assertEquals(String.format(expectedMessage, \"Team 1\", \"Section 3\", \"Section 1\"), exception.getMessage());"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical Success Case For Changing Details (except email) of a Student\");"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" Section section3 \u003d logic.getSection(courseId, \"Section 3\");"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" Team team3 \u003d logic.getTeamOrCreate(section3, \"Team 3\");"},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":" Student changedTeam \u003d new Student(course, \"Student 1\", \"student1@teammates.tmt\", \"Test Comment\", team3);"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" request \u003d prepareRequest(Arrays.asList(changedTeam));"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" enrollStudentsAction \u003d getAction(request, params);"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" res \u003d getJsonResult(enrollStudentsAction);"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" data \u003d (EnrollStudentsData) res.getOutput();"},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" assertEquals(1, data.getStudentsData().getStudents().size());"},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" studentsInCourse \u003d logic.getStudentsForCourse(courseId);"},{"lineNumber":114,"author":{"gitId":"marquestye"},"content":" assertEquals(6, studentsInCourse.size());"},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" // Verify that changes have cascaded to feedback responses"},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" String giverEmail \u003d \"student1@teammates.tmt\";"},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponse\u003e responsesFromUser \u003d"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" logic.getFeedbackResponsesFromGiverForCourse(courseId, giverEmail);"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponse response : responsesFromUser) {"},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":" assertEquals(logic.getSection(courseId, \"Section 3\"), response.getGiverSection());"},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponse\u003e responsesToUser \u003d"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" logic.getFeedbackResponsesForRecipientForCourse(courseId, giverEmail);"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponse response : responsesToUser) {"},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":" assertEquals(logic.getSection(courseId, \"Section 3\"), response.getRecipientSection());"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponseComment\u003e commentsFromUser \u003d logic.getFeedbackResponseCommentsForResponse(response.getId());"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponseComment comment : commentsFromUser) {"},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" if (comment.getGiver().equals(giverEmail)) {"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" assertEquals(logic.getSection(courseId, \"Section 3\"), comment.getGiverSection());"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" String[] params \u003d new String[] {"},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":147,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":148,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":" verifyOnlyInstructorsOfTheSameCourseWithCorrectCoursePrivilegeCanAccess("},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":" course, Const.InstructorPermissions.CAN_MODIFY_STUDENT, params);"},{"lineNumber":151,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":152,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":149,"marquestye":3}},{"path":"src/it/java/teammates/it/ui/webapi/FeedbackSessionClosingRemindersActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Duration;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.ui.output.MessageOutput;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.FeedbackSessionClosingRemindersAction;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * SUT: {@link FeedbackSessionClosingRemindersAction}."},{"lineNumber":23,"author":{"gitId":"-"},"content":" */"},{"lineNumber":24,"author":{"gitId":"-"},"content":"public class FeedbackSessionClosingRemindersActionIT extends BaseActionIT\u003cFeedbackSessionClosingRemindersAction\u003e {"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":27,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":28,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":30,"author":{"gitId":"-"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":32,"author":{"gitId":"-"},"content":" prepareSession();"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" private void prepareSession() {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" // DEADLINE EXTENSIONS"},{"lineNumber":37,"author":{"gitId":"-"},"content":" String[] deKeys \u003d {\"student1InCourse1Session1\", \"instructor1InCourse1Session1\"};"},{"lineNumber":38,"author":{"gitId":"-"},"content":" List\u003cDeadlineExtension\u003e exts \u003d new ArrayList\u003c\u003e();"},{"lineNumber":39,"author":{"gitId":"-"},"content":" for (String deKey : deKeys) {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" exts.add(typicalBundle.deadlineExtensions.get(deKey));"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" // FEEDBACK QUESTIONS"},{"lineNumber":44,"author":{"gitId":"-"},"content":" String[] fqKeys \u003d {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"qn1InSession1InCourse1\","},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"qn2InSession1InCourse1\","},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"qn3InSession1InCourse1\","},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"qn4InSession1InCourse1\","},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"qn5InSession1InCourse1\","},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"qn6InSession1InCourse1NoResponses\","},{"lineNumber":51,"author":{"gitId":"-"},"content":" };"},{"lineNumber":52,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e qns \u003d new ArrayList\u003c\u003e();"},{"lineNumber":53,"author":{"gitId":"-"},"content":" for (String fqKey : fqKeys) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" qns.add(typicalBundle.feedbackQuestions.get(fqKey));"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" FeedbackSession session \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":58,"author":{"gitId":"-"},"content":" session.setDeadlineExtensions(exts);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" session.setFeedbackQuestions(qns);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":63,"author":{"gitId":"-"},"content":" String getActionUri() {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" return Const.CronJobURIs.AUTOMATED_FEEDBACK_CLOSING_REMINDERS;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":68,"author":{"gitId":"-"},"content":" String getRequestMethod() {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" return GET;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":73,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":74,"author":{"gitId":"-"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":76,"author":{"gitId":"-"},"content":" verifyOnlyAdminCanAccess(course);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":80,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":81,"author":{"gitId":"-"},"content":" protected void testExecute() throws Exception {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" loginAsAdmin();"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case 1: email tasks added for 1 all users of 1 session\");"},{"lineNumber":85,"author":{"gitId":"-"},"content":" textExecute_typicalSuccess1();"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case 2: email tasks added for 1 all users of 1 session and 1 deadline extension\");"},{"lineNumber":88,"author":{"gitId":"-"},"content":" textExecute_typicalSuccess2();"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case 3: Only 1 email task queued -- \""},{"lineNumber":91,"author":{"gitId":"-"},"content":" + \"0 for session: already sent, \""},{"lineNumber":92,"author":{"gitId":"-"},"content":" + \"1 for deadline extension: closing-soon not sent yet\");"},{"lineNumber":93,"author":{"gitId":"-"},"content":" textExecute_typicalSuccess3();"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case 4: No tasks queued -- \""},{"lineNumber":96,"author":{"gitId":"-"},"content":" + \"both session and deadline extensions have already sent closing-soon emails\");"},{"lineNumber":97,"author":{"gitId":"-"},"content":" textExecute_typicalSuccess4();"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case 5: No tasks queued -- session\u0027s closing-soon email disabled\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":" textExecute_typicalSuccess5();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" private void textExecute_typicalSuccess1() {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" long oneHour \u003d 60 * 60;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":106,"author":{"gitId":"-"},"content":" Duration noGracePeriod \u003d Duration.between(now, now);"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" FeedbackSession session \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":109,"author":{"gitId":"-"},"content":" session.setClosingSoonEmailSent(false);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" session.setEndTime(now.plusSeconds((oneHour * 23) + 60));"},{"lineNumber":111,"author":{"gitId":"-"},"content":" session.setGracePeriod(noGracePeriod);"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" String[] params \u003d {};"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" FeedbackSessionClosingRemindersAction action1 \u003d getAction(params);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" JsonResult actionOutput1 \u003d getJsonResult(action1);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" MessageOutput response1 \u003d (MessageOutput) actionOutput1.getOutput();"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" assertEquals(\"Successful\", response1.getMessage());"},{"lineNumber":120,"author":{"gitId":"-"},"content":" assertTrue(session.isClosingSoonEmailSent());"},{"lineNumber":121,"author":{"gitId":"-"},"content":" assertTrue(session.getDeadlineExtensions().stream().allMatch(de -\u003e !de.isClosingSoonEmailSent()));"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"marquestye"},"content":" // 7 email tasks queued:"},{"lineNumber":124,"author":{"gitId":"marquestye"},"content":" // 1 co-owner, 5 students and 3 instructors,"},{"lineNumber":125,"author":{"gitId":"-"},"content":" // but 1 student and 1 instructor have deadline extensions (should not receive email)"},{"lineNumber":126,"author":{"gitId":"marquestye"},"content":" verifySpecifiedTasksAdded(Const.TaskQueue.SEND_EMAIL_QUEUE_NAME, 7);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" private void textExecute_typicalSuccess2() {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" long oneHour \u003d 60 * 60;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":132,"author":{"gitId":"-"},"content":" Duration noGracePeriod \u003d Duration.between(now, now);"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" FeedbackSession session \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":135,"author":{"gitId":"-"},"content":" session.setClosingSoonEmailSent(false);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" session.setEndTime(now.plusSeconds((oneHour * 23) + 60));"},{"lineNumber":137,"author":{"gitId":"-"},"content":" session.setGracePeriod(noGracePeriod);"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" DeadlineExtension de \u003d session.getDeadlineExtensions().get(0);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" de.setEndTime(now.plusSeconds(oneHour * 16));"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" String[] params \u003d {};"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" FeedbackSessionClosingRemindersAction action1 \u003d getAction(params);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" JsonResult actionOutput1 \u003d getJsonResult(action1);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" MessageOutput response1 \u003d (MessageOutput) actionOutput1.getOutput();"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" assertEquals(\"Successful\", response1.getMessage());"},{"lineNumber":149,"author":{"gitId":"-"},"content":" assertTrue(session.isClosingSoonEmailSent());"},{"lineNumber":150,"author":{"gitId":"-"},"content":" assertTrue(de.isClosingSoonEmailSent());"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"marquestye"},"content":" // 8 email tasks queued:"},{"lineNumber":153,"author":{"gitId":"marquestye"},"content":" // - 7 emails: 1 co-owner, 5 students and 3 instructors,"},{"lineNumber":154,"author":{"gitId":"-"},"content":" // but 1 student and 1 instructor have deadline extensions (should not receive email)"},{"lineNumber":155,"author":{"gitId":"-"},"content":" // - 1 email: 1 student deadline extension"},{"lineNumber":156,"author":{"gitId":"marquestye"},"content":" verifySpecifiedTasksAdded(Const.TaskQueue.SEND_EMAIL_QUEUE_NAME, 8);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" }"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" private void textExecute_typicalSuccess3() {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" long oneHour \u003d 60 * 60;"},{"lineNumber":161,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":162,"author":{"gitId":"-"},"content":" Duration noGracePeriod \u003d Duration.between(now, now);"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" FeedbackSession session \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":165,"author":{"gitId":"-"},"content":" session.setClosingSoonEmailSent(true);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" session.setEndTime(now.plusSeconds((oneHour * 23) + 60));"},{"lineNumber":167,"author":{"gitId":"-"},"content":" session.setGracePeriod(noGracePeriod);"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" DeadlineExtension de \u003d session.getDeadlineExtensions().get(0);"},{"lineNumber":170,"author":{"gitId":"-"},"content":" de.setEndTime(now.plusSeconds(oneHour * 16));"},{"lineNumber":171,"author":{"gitId":"-"},"content":" de.setClosingSoonEmailSent(false);"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" String[] params \u003d {};"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" FeedbackSessionClosingRemindersAction action1 \u003d getAction(params);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" JsonResult actionOutput1 \u003d getJsonResult(action1);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" MessageOutput response1 \u003d (MessageOutput) actionOutput1.getOutput();"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" assertEquals(\"Successful\", response1.getMessage());"},{"lineNumber":180,"author":{"gitId":"-"},"content":" assertTrue(session.isClosingSoonEmailSent());"},{"lineNumber":181,"author":{"gitId":"-"},"content":" assertTrue(de.isClosingSoonEmailSent());"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" // 1 email tasks queued:"},{"lineNumber":184,"author":{"gitId":"-"},"content":" // - 0 emails: session already sent closing-soon emails"},{"lineNumber":185,"author":{"gitId":"-"},"content":" // - 1 email: 1 student deadline extension where closing-soon email not sent yet"},{"lineNumber":186,"author":{"gitId":"-"},"content":" verifySpecifiedTasksAdded(Const.TaskQueue.SEND_EMAIL_QUEUE_NAME, 1);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" private void textExecute_typicalSuccess4() {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" long oneHour \u003d 60 * 60;"},{"lineNumber":191,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":192,"author":{"gitId":"-"},"content":" Duration noGracePeriod \u003d Duration.between(now, now);"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" FeedbackSession session \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":195,"author":{"gitId":"-"},"content":" session.setClosingSoonEmailSent(true);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" session.setEndTime(now.plusSeconds((oneHour * 23) + 60));"},{"lineNumber":197,"author":{"gitId":"-"},"content":" session.setGracePeriod(noGracePeriod);"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" DeadlineExtension de \u003d session.getDeadlineExtensions().get(0);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" de.setEndTime(now.plusSeconds(oneHour * 16));"},{"lineNumber":201,"author":{"gitId":"-"},"content":" de.setClosingSoonEmailSent(true);"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" String[] params \u003d {};"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" FeedbackSessionClosingRemindersAction action1 \u003d getAction(params);"},{"lineNumber":206,"author":{"gitId":"-"},"content":" JsonResult actionOutput1 \u003d getJsonResult(action1);"},{"lineNumber":207,"author":{"gitId":"-"},"content":" MessageOutput response1 \u003d (MessageOutput) actionOutput1.getOutput();"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" assertEquals(\"Successful\", response1.getMessage());"},{"lineNumber":210,"author":{"gitId":"-"},"content":" assertTrue(session.isClosingSoonEmailSent());"},{"lineNumber":211,"author":{"gitId":"-"},"content":" assertTrue(de.isClosingSoonEmailSent());"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" verifyNoTasksAdded();"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" private void textExecute_typicalSuccess5() {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" long oneHour \u003d 60 * 60;"},{"lineNumber":218,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":219,"author":{"gitId":"-"},"content":" Duration noGracePeriod \u003d Duration.between(now, now);"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" FeedbackSession session \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":222,"author":{"gitId":"-"},"content":" session.setClosingEmailEnabled(false);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" session.setClosingSoonEmailSent(false);"},{"lineNumber":224,"author":{"gitId":"-"},"content":" session.setEndTime(now.plusSeconds((oneHour * 23) + 60));"},{"lineNumber":225,"author":{"gitId":"-"},"content":" session.setGracePeriod(noGracePeriod);"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" DeadlineExtension de \u003d session.getDeadlineExtensions().get(0);"},{"lineNumber":228,"author":{"gitId":"-"},"content":" de.setEndTime(now.plusSeconds(oneHour * 16));"},{"lineNumber":229,"author":{"gitId":"-"},"content":" de.setClosingSoonEmailSent(false);"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" String[] params \u003d {};"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" FeedbackSessionClosingRemindersAction action1 \u003d getAction(params);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" JsonResult actionOutput1 \u003d getJsonResult(action1);"},{"lineNumber":235,"author":{"gitId":"-"},"content":" MessageOutput response1 \u003d (MessageOutput) actionOutput1.getOutput();"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" assertEquals(\"Successful\", response1.getMessage());"},{"lineNumber":238,"author":{"gitId":"-"},"content":" assertTrue(!session.isClosingSoonEmailSent());"},{"lineNumber":239,"author":{"gitId":"-"},"content":" assertTrue(!de.isClosingSoonEmailSent());"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" verifyNoTasksAdded();"},{"lineNumber":242,"author":{"gitId":"-"},"content":" }"},{"lineNumber":243,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":6,"-":237}},{"path":"src/it/java/teammates/it/ui/webapi/GetCourseJoinStatusActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.Const;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.output.JoinStatus;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.webapi.GetCourseJoinStatusAction;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":" * SUT: {@link GetCourseJoinStatusAction}."},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"public class GetCourseJoinStatusActionIT extends BaseActionIT\u003cGetCourseJoinStatusAction\u003e {"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":" @BeforeMethod"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":" protected void setUp() throws Exception {"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":" super.setUp();"},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":" this.typicalBundle \u003d loadSqlDataBundle(\"/typicalDataBundle.json\");"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":" HibernateUtil.flushSession();"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" protected String getActionUri() {"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" return Const.ResourceURIs.JOIN;"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" protected String getRequestMethod() {"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" return GET;"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" protected void testExecute() {"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" loginAsUnregistered(\"unreg.user\");"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Not enough parameters\");"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure();"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure("},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, \"regkey\""},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" );"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure("},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.STUDENT"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" );"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Normal case: student is already registered\");"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" String registeredStudentKey \u003d"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" logic.getStudentForEmail(\"course-1\", \"student1@teammates.tmt\").getRegKey();"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" String[] params \u003d new String[] {"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, registeredStudentKey,"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.STUDENT,"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" GetCourseJoinStatusAction getCourseJoinStatusAction \u003d getAction(params);"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" JsonResult result \u003d getJsonResult(getCourseJoinStatusAction);"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" JoinStatus output \u003d (JoinStatus) result.getOutput();"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" assertTrue(output.getHasJoined());"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Normal case: student is not registered\");"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" String unregisteredStudentKey \u003d"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" logic.getStudentForEmail(\"course-1\", \"unregisteredStudentInCourse1@teammates.tmt\").getRegKey();"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, unregisteredStudentKey,"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.STUDENT,"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" getCourseJoinStatusAction \u003d getAction(params);"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" result \u003d getJsonResult(getCourseJoinStatusAction);"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" output \u003d (JoinStatus) result.getOutput();"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" assertFalse(output.getHasJoined());"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: regkey is not valid for student\");"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, \"ANXKJZNZXNJCZXKJDNKSDA\","},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.STUDENT,"},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":" verifyEntityNotFound(params);"},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Normal case: instructor is already registered\");"},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":" String registeredInstructorKey \u003d"},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" logic.getInstructorForEmail(\"course-1\", \"instr1@teammates.tmt\").getRegKey();"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, registeredInstructorKey,"},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":" getCourseJoinStatusAction \u003d getAction(params);"},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" result \u003d getJsonResult(getCourseJoinStatusAction);"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" output \u003d (JoinStatus) result.getOutput();"},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":" assertTrue(output.getHasJoined());"},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Normal case: instructor is not registered\");"},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":" String unregisteredInstructorKey \u003d"},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" logic.getInstructorForEmail(\"course-1\", \"unregisteredInstructor@teammates.tmt\").getRegKey();"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, unregisteredInstructorKey,"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" getCourseJoinStatusAction \u003d getAction(params);"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" result \u003d getJsonResult(getCourseJoinStatusAction);"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" output \u003d (JoinStatus) result.getOutput();"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":" assertFalse(output.getHasJoined());"},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: regkey is not valid for instructor\");"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, \"ANXKJZNZXNJCZXKJDNKSDA\","},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":" verifyEntityNotFound(params);"},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Normal case: account request not used, instructor has not joined course\");"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" String accountRequestNotUsedKey \u003d logic.getAccountRequest(\"unregisteredinstructor1@gmail.tmt\","},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":" \"TEAMMATES Test Institute 1\").getRegistrationKey();"},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, accountRequestNotUsedKey,"},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":140,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.IS_CREATING_ACCOUNT, \"true\","},{"lineNumber":141,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":142,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":143,"author":{"gitId":"dishenggg"},"content":" getCourseJoinStatusAction \u003d getAction(params);"},{"lineNumber":144,"author":{"gitId":"dishenggg"},"content":" result \u003d getJsonResult(getCourseJoinStatusAction);"},{"lineNumber":145,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":146,"author":{"gitId":"dishenggg"},"content":" output \u003d (JoinStatus) result.getOutput();"},{"lineNumber":147,"author":{"gitId":"dishenggg"},"content":" assertFalse(output.getHasJoined());"},{"lineNumber":148,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":149,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Normal case: account request already used, instructor has joined course\");"},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":151,"author":{"gitId":"dishenggg"},"content":" String accountRequestUsedKey \u003d"},{"lineNumber":152,"author":{"gitId":"dishenggg"},"content":" logic.getAccountRequest(\"instr1@teammates.tmt\", \"TEAMMATES Test Institute 1\").getRegistrationKey();"},{"lineNumber":153,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":154,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":155,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, accountRequestUsedKey,"},{"lineNumber":156,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.IS_CREATING_ACCOUNT, \"true\","},{"lineNumber":158,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":159,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":160,"author":{"gitId":"dishenggg"},"content":" getCourseJoinStatusAction \u003d getAction(params);"},{"lineNumber":161,"author":{"gitId":"dishenggg"},"content":" result \u003d getJsonResult(getCourseJoinStatusAction);"},{"lineNumber":162,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":163,"author":{"gitId":"dishenggg"},"content":" output \u003d (JoinStatus) result.getOutput();"},{"lineNumber":164,"author":{"gitId":"dishenggg"},"content":" assertTrue(output.getHasJoined());"},{"lineNumber":165,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":166,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: account request regkey is not valid\");"},{"lineNumber":167,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":168,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":169,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, \"invalid-registration-key\","},{"lineNumber":170,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":171,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.IS_CREATING_ACCOUNT, \"true\","},{"lineNumber":172,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":173,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":174,"author":{"gitId":"dishenggg"},"content":" verifyEntityNotFound(params);"},{"lineNumber":175,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":176,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: invalid entity type\");"},{"lineNumber":177,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":178,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":179,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, unregisteredStudentKey,"},{"lineNumber":180,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, \"unknown\","},{"lineNumber":181,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":182,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":183,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure(params);"},{"lineNumber":184,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":185,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":186,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":187,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":188,"author":{"gitId":"dishenggg"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":189,"author":{"gitId":"dishenggg"},"content":" verifyAnyLoggedInUserCanAccess();"},{"lineNumber":190,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":191,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"domoberzin":1,"dishenggg":190}},{"path":"src/it/java/teammates/it/ui/webapi/GetFeedbackSessionSubmittedGiverSetActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.Test;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import com.google.common.collect.Sets;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.output.FeedbackSessionSubmittedGiverSet;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.GetFeedbackSessionSubmittedGiverSetAction;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" * SUT: {@link GetFeedbackSessionSubmittedGiverSetAction}."},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":"public class GetFeedbackSessionSubmittedGiverSetActionIT extends BaseActionIT\u003cGetFeedbackSessionSubmittedGiverSetAction\u003e {"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" @BeforeMethod"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" protected void setUp() throws Exception {"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" super.setUp();"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.flushSession();"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" protected String getActionUri() {"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" return Const.ResourceURIs.SESSION_SUBMITTED_GIVER_SET;"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" protected String getRequestMethod() {"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" return GET;"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" protected void testExecute() {"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" Instructor instructor1OfCourse1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" String instructorId \u003d instructor1OfCourse1.getGoogleId();"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" FeedbackSession fsa \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" loginAsInstructor(instructorId);"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Not enough parameters\");"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" verifyHttpParameterFailure();"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case\");"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fsa.getName(),"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" GetFeedbackSessionSubmittedGiverSetAction pageAction \u003d getAction(submissionParams);"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" JsonResult result \u003d getJsonResult(pageAction);"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" FeedbackSessionSubmittedGiverSet output \u003d (FeedbackSessionSubmittedGiverSet) result.getOutput();"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" assertEquals(Sets.newHashSet(\"student1@teammates.tmt\", \"student2@teammates.tmt\","},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" \"student3@teammates.tmt\"), output.getGiverIdentifiers());"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" FeedbackSession fsa \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fsa.getName(),"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" verifyOnlyInstructorsOfTheSameCourseCanAccess(course, submissionParams);"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":78}},{"path":"src/it/java/teammates/it/ui/webapi/GetInstructorsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorData;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorsData;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.ui.request.Intent;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.GetInstructorsAction;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * SUT: {@link GetInstructorsAction}."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class GetInstructorsActionIT extends BaseActionIT\u003cGetInstructorsAction\u003e {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":25,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":27,"author":{"gitId":"-"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":32,"author":{"gitId":"-"},"content":" protected String getActionUri() {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" return Const.ResourceURIs.INSTRUCTORS;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"-"},"content":" protected String getRequestMethod() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" return GET;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":42,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":43,"author":{"gitId":"-"},"content":" protected void testExecute() throws Exception {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case with FULL_DETAIL\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":" String[] params \u003d new String[] {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":51,"author":{"gitId":"-"},"content":" Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString(),"},{"lineNumber":52,"author":{"gitId":"-"},"content":" };"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" GetInstructorsAction action \u003d getAction(params);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" JsonResult jsonResult \u003d getJsonResult(action);"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" InstructorsData output \u003d (InstructorsData) jsonResult.getOutput();"},{"lineNumber":58,"author":{"gitId":"-"},"content":" List\u003cInstructorData\u003e instructors \u003d output.getInstructors();"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" assertEquals(3, instructors.size());"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case with no intent\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":65,"author":{"gitId":"-"},"content":" Const.ParamsNames.INTENT, null,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" };"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" action \u003d getAction(params);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" jsonResult \u003d getJsonResult(action);"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" output \u003d (InstructorsData) jsonResult.getOutput();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" instructors \u003d output.getInstructors();"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" assertEquals(3, instructors.size());"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" for (InstructorData instructorData : instructors) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" assertNull(instructorData.getGoogleId());"},{"lineNumber":78,"author":{"gitId":"-"},"content":" assertNull(instructorData.getJoinState());"},{"lineNumber":79,"author":{"gitId":"-"},"content":" assertNull(instructorData.getIsDisplayedToStudents());"},{"lineNumber":80,"author":{"gitId":"-"},"content":" assertNull(instructorData.getRole());"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" ______TS(\"Unknown intent\");"},{"lineNumber":84,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":86,"author":{"gitId":"-"},"content":" Const.ParamsNames.INTENT, \"Unknown\","},{"lineNumber":87,"author":{"gitId":"-"},"content":" };"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure(params);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":93,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":94,"author":{"gitId":"-"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":96,"author":{"gitId":"-"},"content":" Student student \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" ______TS(\"Course not found, logged in as instructor, intent FULL_DETAIL\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" String[] params \u003d new String[] {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, \"does-not-exist-id\","},{"lineNumber":103,"author":{"gitId":"-"},"content":" Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString(),"},{"lineNumber":104,"author":{"gitId":"-"},"content":" };"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" verifyEntityNotFoundAcl(params);"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" ______TS(\"Course not found, logged in as student, intent undefined\");"},{"lineNumber":109,"author":{"gitId":"-"},"content":" loginAsStudent(student.getGoogleId());"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, \"does-not-exist-id\","},{"lineNumber":113,"author":{"gitId":"-"},"content":" };"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" verifyEntityNotFoundAcl(params);"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" ______TS(\"Unknown login entity, intent FULL_DETAIL\");"},{"lineNumber":118,"author":{"gitId":"-"},"content":" loginAsUnregistered(\"unregistered\");"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":122,"author":{"gitId":"-"},"content":" Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString(),"},{"lineNumber":123,"author":{"gitId":"-"},"content":" };"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" ______TS(\"Unknown login entity, intent undefined\");"},{"lineNumber":128,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":130,"author":{"gitId":"-"},"content":" };"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" ______TS(\"Unknown intent, logged in as instructor\");"},{"lineNumber":135,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":139,"author":{"gitId":"-"},"content":" Const.ParamsNames.INTENT, \"Unknown\","},{"lineNumber":140,"author":{"gitId":"-"},"content":" };"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" verifyHttpParameterFailureAcl(params);"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" ______TS(\"Intent FULL_DETAIL, should authenticate as instructor\");"},{"lineNumber":145,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":147,"author":{"gitId":"-"},"content":" Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString(),"},{"lineNumber":148,"author":{"gitId":"-"},"content":" };"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" verifyOnlyInstructorsOfTheSameCourseCanAccess(instructor.getCourse(), params);"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" ______TS(\"Intent undefined, should authenticate as student, access own course\");"},{"lineNumber":153,"author":{"gitId":"-"},"content":" loginAsStudent(student.getGoogleId());"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, student.getCourseId(),"},{"lineNumber":157,"author":{"gitId":"-"},"content":" };"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" verifyCanAccess(params);"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" ______TS(\"Intent undefined, should authenticate as student, access other course\");"},{"lineNumber":162,"author":{"gitId":"-"},"content":" Student otherStudent \u003d typicalBundle.students.get(\"student1InCourse2\");"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" assertNotEquals(otherStudent.getCourse(), student.getCourse());"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, otherStudent.getCourseId(),"},{"lineNumber":168,"author":{"gitId":"-"},"content":" };"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":2,"-":171}},{"path":"src/it/java/teammates/it/ui/webapi/GetSessionResponseStatsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.Test;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.Const;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.output.FeedbackSessionStatsData;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.GetSessionResponseStatsAction;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":" * SUT: {@link GetSessionResponseStatsAction}."},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"public class GetSessionResponseStatsActionIT extends BaseActionIT\u003cGetSessionResponseStatsAction\u003e {"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" @BeforeMethod"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" protected void setUp() throws Exception {"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" super.setUp();"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.flushSession();"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" String getActionUri() {"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" return Const.ResourceURIs.SESSION_STATS;"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" String getRequestMethod() {"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" return GET;"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" protected void testExecute() {"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" ______TS(\"typical: instructor accesses feedback stats of his/her course\");"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" FeedbackSession accessibleFs \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, accessibleFs.getName(),"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.COURSE_ID, accessibleFs.getCourse().getId(),"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" GetSessionResponseStatsAction a \u003d getAction(submissionParams);"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" JsonResult r \u003d getJsonResult(a);"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" FeedbackSessionStatsData output \u003d (FeedbackSessionStatsData) r.getOutput();"},{"lineNumber":56,"author":{"gitId":"-"},"content":" assertEquals(8, output.getExpectedTotal());"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" assertEquals(3, output.getSubmittedTotal());"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" ______TS(\"fail: instructor accesses stats of non-existent feedback session\");"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" String nonexistentFeedbackSession \u003d \"nonexistentFeedbackSession\";"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, nonexistentFeedbackSession,"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.COURSE_ID, accessibleFs.getCourse().getId(),"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" verifyEntityNotFound(submissionParams);"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" ______TS(\"accessible for admin\");"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" verifyAccessibleForAdmin();"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" ______TS(\"accessible for authenticated instructor\");"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" Course course1 \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" FeedbackSession accessibleFs \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, accessibleFs.getName(),"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.COURSE_ID, accessibleFs.getCourse().getId(),"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" verifyOnlyInstructorsOfTheSameCourseCanAccess(course1, submissionParams);"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":85,"-":1}},{"path":"src/it/java/teammates/it/ui/webapi/GetSessionResultsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import java.util.HashSet;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import java.util.Set;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.FeedbackResultFetchType;"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":15,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":"import teammates.ui.output.SessionResultsData;"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":"import teammates.ui.request.Intent;"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":"import teammates.ui.webapi.GetSessionResultsAction;"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" * SUT: {@link GetSessionResultsAction}."},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":"public class GetSessionResultsActionIT extends BaseActionIT\u003cGetSessionResultsAction\u003e {"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" protected String getActionUri() {"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" return Const.ResourceURIs.RESULT;"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" protected String getRequestMethod() {"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" return GET;"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" @BeforeMethod"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" protected void setUp() throws Exception {"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" super.setUp();"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" logoutUser();"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" HibernateUtil.flushSession();"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" HibernateUtil.clearSession();"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" protected void testExecute() {"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" ______TS(\"Typical: Instructor accesses results of their course\");"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" FeedbackSession accessibleFeedbackSession \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, accessibleFeedbackSession.getName(),"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.FULL_DETAIL.name(),"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":" GetSessionResultsAction a \u003d getAction(submissionParams);"},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":" JsonResult r \u003d getJsonResult(a);"},{"lineNumber":67,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":68,"author":{"gitId":"xenosf"},"content":" SessionResultsData output \u003d (SessionResultsData) r.getOutput();"},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":" SessionResultsData expectedResults \u003d SessionResultsData.initForInstructor("},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" logic.getSessionResultsForCourse(accessibleFeedbackSession,"},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" instructor.getEmail(),"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" null, null, FeedbackResultFetchType.BOTH));"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" assertTrue(isSessionResultsDataEqual(expectedResults, output));"},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" ______TS(\"Typical: Instructor accesses results of their course with breakdown\");"},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" Set\u003cSection\u003e sections \u003d new HashSet\u003c\u003e();"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":" typicalBundle.feedbackResponses.values().forEach(resp -\u003e {"},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" sections.add(resp.getGiverSection());"},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" sections.add(resp.getRecipientSection());"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":" for (FeedbackResultFetchType fetchType : FeedbackResultFetchType.values()) {"},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" for (Section section : sections) {"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, accessibleFeedbackSession.getName(),"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.FULL_DETAIL.name(),"},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_RESULTS_GROUPBYSECTION, section.getName(),"},{"lineNumber":93,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_RESULTS_SECTION_BY_GIVER_RECEIVER, fetchType.name(),"},{"lineNumber":94,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":" a \u003d getAction(submissionParams);"},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" r \u003d getJsonResult(a);"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" output \u003d (SessionResultsData) r.getOutput();"},{"lineNumber":100,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":" expectedResults \u003d SessionResultsData.initForInstructor("},{"lineNumber":102,"author":{"gitId":"xenosf"},"content":" logic.getSessionResultsForCourse(accessibleFeedbackSession,"},{"lineNumber":103,"author":{"gitId":"xenosf"},"content":" accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":104,"author":{"gitId":"xenosf"},"content":" instructor.getEmail(),"},{"lineNumber":105,"author":{"gitId":"xenosf"},"content":" null, section.getName(), fetchType));"},{"lineNumber":106,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":107,"author":{"gitId":"xenosf"},"content":" assertTrue(isSessionResultsDataEqual(expectedResults, output));"},{"lineNumber":108,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":109,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":110,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":111,"author":{"gitId":"xenosf"},"content":" ______TS(\"Typical: Instructor previews session results as student\");"},{"lineNumber":112,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":113,"author":{"gitId":"xenosf"},"content":" Student student \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":114,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":115,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, accessibleFeedbackSession.getName(),"},{"lineNumber":117,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":118,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.name(),"},{"lineNumber":119,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.PREVIEWAS, student.getEmail(),"},{"lineNumber":120,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":121,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":122,"author":{"gitId":"xenosf"},"content":" a \u003d getAction(submissionParams);"},{"lineNumber":123,"author":{"gitId":"xenosf"},"content":" r \u003d getJsonResult(a);"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":" output \u003d (SessionResultsData) r.getOutput();"},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":" expectedResults \u003d SessionResultsData.initForStudent("},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" logic.getSessionResultsForUser(accessibleFeedbackSession,"},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":" accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" student.getEmail(),"},{"lineNumber":130,"author":{"gitId":"xenosf"},"content":" false, null, true),"},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":" student);"},{"lineNumber":132,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":133,"author":{"gitId":"xenosf"},"content":" assertTrue(isSessionResultsDataEqual(expectedResults, output));"},{"lineNumber":134,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":135,"author":{"gitId":"xenosf"},"content":" ______TS(\"Typical: Student accesses results of their course\");"},{"lineNumber":136,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":137,"author":{"gitId":"xenosf"},"content":" loginAsStudent(student.getGoogleId());"},{"lineNumber":138,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":139,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":140,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, accessibleFeedbackSession.getName(),"},{"lineNumber":141,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":142,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.name(),"},{"lineNumber":143,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":144,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":145,"author":{"gitId":"xenosf"},"content":" a \u003d getAction(submissionParams);"},{"lineNumber":146,"author":{"gitId":"xenosf"},"content":" r \u003d getJsonResult(a);"},{"lineNumber":147,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":148,"author":{"gitId":"xenosf"},"content":" output \u003d (SessionResultsData) r.getOutput();"},{"lineNumber":149,"author":{"gitId":"xenosf"},"content":" expectedResults \u003d SessionResultsData.initForStudent("},{"lineNumber":150,"author":{"gitId":"xenosf"},"content":" logic.getSessionResultsForUser(accessibleFeedbackSession,"},{"lineNumber":151,"author":{"gitId":"xenosf"},"content":" accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":152,"author":{"gitId":"xenosf"},"content":" student.getEmail(),"},{"lineNumber":153,"author":{"gitId":"xenosf"},"content":" false, null, false),"},{"lineNumber":154,"author":{"gitId":"xenosf"},"content":" student);"},{"lineNumber":155,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":156,"author":{"gitId":"xenosf"},"content":" assertTrue(isSessionResultsDataEqual(expectedResults, output));"},{"lineNumber":157,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":158,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"Typical: Student accesses results of their course by questionId\");"},{"lineNumber":159,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":160,"author":{"gitId":"mingyuanc"},"content":" loginAsStudent(student.getGoogleId());"},{"lineNumber":161,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":162,"author":{"gitId":"mingyuanc"},"content":" FeedbackQuestion question \u003d typicalBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":163,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":164,"author":{"gitId":"mingyuanc"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":165,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, accessibleFeedbackSession.getName(),"},{"lineNumber":166,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.COURSE_ID, accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":167,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.FEEDBACK_QUESTION_ID, question.getId().toString(),"},{"lineNumber":168,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.name(),"},{"lineNumber":169,"author":{"gitId":"mingyuanc"},"content":" };"},{"lineNumber":170,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":171,"author":{"gitId":"mingyuanc"},"content":" a \u003d getAction(submissionParams);"},{"lineNumber":172,"author":{"gitId":"mingyuanc"},"content":" r \u003d getJsonResult(a);"},{"lineNumber":173,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":174,"author":{"gitId":"mingyuanc"},"content":" output \u003d (SessionResultsData) r.getOutput();"},{"lineNumber":175,"author":{"gitId":"mingyuanc"},"content":" expectedResults \u003d SessionResultsData.initForStudent("},{"lineNumber":176,"author":{"gitId":"mingyuanc"},"content":" logic.getSessionResultsForUser(accessibleFeedbackSession,"},{"lineNumber":177,"author":{"gitId":"mingyuanc"},"content":" accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":178,"author":{"gitId":"mingyuanc"},"content":" student.getEmail(),"},{"lineNumber":179,"author":{"gitId":"mingyuanc"},"content":" false, question.getId(), false),"},{"lineNumber":180,"author":{"gitId":"mingyuanc"},"content":" student);"},{"lineNumber":181,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":182,"author":{"gitId":"mingyuanc"},"content":" assertTrue(isSessionResultsDataEqual(expectedResults, output));"},{"lineNumber":183,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":184,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":185,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":186,"author":{"gitId":"xenosf"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":187,"author":{"gitId":"xenosf"},"content":" String[] submissionParams;"},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":" FeedbackSession publishedFeedbackSession \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" FeedbackSession inaccessibleFeedbackSession \u003d typicalBundle.feedbackSessions.get("},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" \"unpublishedSession1InTypicalCourse\");"},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":" ______TS(\"Inaccessible for authenticated instructor when unpublished\");"},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, inaccessibleFeedbackSession.getName(),"},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, inaccessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.INSTRUCTOR_RESULT.name(),"},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":199,"author":{"gitId":"xenosf"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":" ______TS(\"Inaccessible for authenticated student when unpublished\");"},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, inaccessibleFeedbackSession.getName(),"},{"lineNumber":204,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, inaccessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":205,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.name(),"},{"lineNumber":206,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":207,"author":{"gitId":"xenosf"},"content":" Student student1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":208,"author":{"gitId":"xenosf"},"content":" loginAsStudent(student1InCourse1.getGoogleId());"},{"lineNumber":209,"author":{"gitId":"xenosf"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":210,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":211,"author":{"gitId":"xenosf"},"content":" ______TS(\"Accessible for authenticated instructor when published\");"},{"lineNumber":212,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, publishedFeedbackSession.getName(),"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.INSTRUCTOR_RESULT.name(),"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":" verifyAccessibleForInstructorsOfTheSameCourse(course, submissionParams);"},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":" verifyInaccessibleForInstructorsOfOtherCourses(course, submissionParams);"},{"lineNumber":219,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":220,"author":{"gitId":"xenosf"},"content":" ______TS(\"Accessible for authenticated student when published\");"},{"lineNumber":221,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":222,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, publishedFeedbackSession.getName(),"},{"lineNumber":223,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":224,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.name(),"},{"lineNumber":225,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":226,"author":{"gitId":"xenosf"},"content":" verifyAccessibleForStudentsOfTheSameCourse(course, submissionParams);"},{"lineNumber":227,"author":{"gitId":"xenosf"},"content":" verifyInaccessibleForStudentsOfOtherCourse(course, submissionParams);"},{"lineNumber":228,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":229,"author":{"gitId":"xenosf"},"content":" ______TS(\"Invalid intent\");"},{"lineNumber":230,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":231,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, publishedFeedbackSession.getName(),"},{"lineNumber":232,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, publishedFeedbackSession.getCourse().getId(),"},{"lineNumber":233,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.INSTRUCTOR_SUBMISSION.name(),"},{"lineNumber":234,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":235,"author":{"gitId":"xenosf"},"content":" verifyHttpParameterFailure(submissionParams);"},{"lineNumber":236,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":237,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, publishedFeedbackSession.getName(),"},{"lineNumber":238,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, publishedFeedbackSession.getCourse().getId(),"},{"lineNumber":239,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_SUBMISSION.name(),"},{"lineNumber":240,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":241,"author":{"gitId":"xenosf"},"content":" verifyHttpParameterFailure(submissionParams);"},{"lineNumber":242,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":243,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":244,"author":{"gitId":"xenosf"},"content":" private boolean isSessionResultsDataEqual(SessionResultsData self, SessionResultsData other) {"},{"lineNumber":245,"author":{"gitId":"xenosf"},"content":" List\u003cSessionResultsData.QuestionOutput\u003e thisQuestions \u003d self.getQuestions();"},{"lineNumber":246,"author":{"gitId":"xenosf"},"content":" List\u003cSessionResultsData.QuestionOutput\u003e otherQuestions \u003d other.getQuestions();"},{"lineNumber":247,"author":{"gitId":"xenosf"},"content":" if (thisQuestions.size() !\u003d otherQuestions.size()) {"},{"lineNumber":248,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":249,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":250,"author":{"gitId":"xenosf"},"content":" for (int i \u003d 0; i \u003c thisQuestions.size(); i++) {"},{"lineNumber":251,"author":{"gitId":"xenosf"},"content":" SessionResultsData.QuestionOutput thisQuestion \u003d thisQuestions.get(i);"},{"lineNumber":252,"author":{"gitId":"xenosf"},"content":" SessionResultsData.QuestionOutput otherQuestion \u003d otherQuestions.get(i);"},{"lineNumber":253,"author":{"gitId":"xenosf"},"content":" if (!isQuestionOutputEqual(thisQuestion, otherQuestion)) {"},{"lineNumber":254,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":255,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":256,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":257,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":258,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":259,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":260,"author":{"gitId":"xenosf"},"content":" private boolean isQuestionOutputEqual(SessionResultsData.QuestionOutput self,"},{"lineNumber":261,"author":{"gitId":"xenosf"},"content":" SessionResultsData.QuestionOutput other) {"},{"lineNumber":262,"author":{"gitId":"xenosf"},"content":" if (!JsonUtils.toJson(self.getFeedbackQuestion()).equals(JsonUtils.toJson(other.getFeedbackQuestion()))"},{"lineNumber":263,"author":{"gitId":"xenosf"},"content":" || !self.getQuestionStatistics().equals(other.getQuestionStatistics())"},{"lineNumber":264,"author":{"gitId":"xenosf"},"content":" || self.getHasResponseButNotVisibleForPreview() !\u003d other.getHasResponseButNotVisibleForPreview()"},{"lineNumber":265,"author":{"gitId":"xenosf"},"content":" || self.getHasCommentNotVisibleForPreview() !\u003d other.getHasCommentNotVisibleForPreview()) {"},{"lineNumber":266,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":267,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":268,"author":{"gitId":"xenosf"},"content":" List\u003cSessionResultsData.ResponseOutput\u003e thisResponses;"},{"lineNumber":269,"author":{"gitId":"xenosf"},"content":" List\u003cSessionResultsData.ResponseOutput\u003e otherResponses;"},{"lineNumber":270,"author":{"gitId":"xenosf"},"content":" thisResponses \u003d self.getAllResponses();"},{"lineNumber":271,"author":{"gitId":"xenosf"},"content":" otherResponses \u003d other.getAllResponses();"},{"lineNumber":272,"author":{"gitId":"xenosf"},"content":" if (thisResponses.size() !\u003d otherResponses.size()) {"},{"lineNumber":273,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":274,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":275,"author":{"gitId":"xenosf"},"content":" for (int j \u003d 0; j \u003c thisResponses.size(); j++) {"},{"lineNumber":276,"author":{"gitId":"xenosf"},"content":" if (!isResponseOutputEqual(thisResponses.get(j), otherResponses.get(j))) {"},{"lineNumber":277,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":278,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":279,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":280,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":281,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":282,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":283,"author":{"gitId":"xenosf"},"content":" private boolean isResponseOutputEqual(SessionResultsData.ResponseOutput self,"},{"lineNumber":284,"author":{"gitId":"xenosf"},"content":" SessionResultsData.ResponseOutput other) {"},{"lineNumber":285,"author":{"gitId":"xenosf"},"content":" return self.getGiver().equals(other.getGiver())"},{"lineNumber":286,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 self.getGiverTeam().equals(other.getGiverTeam())"},{"lineNumber":287,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 self.getGiverSection().equals(other.getGiverSection())"},{"lineNumber":288,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 self.getRecipient().equals(other.getRecipient())"},{"lineNumber":289,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 self.getRecipientTeam().equals(other.getRecipientTeam())"},{"lineNumber":290,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 self.getRecipientSection().equals(other.getRecipientSection())"},{"lineNumber":291,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 self.getResponseDetails().getJsonString().equals(other.getResponseDetails().getJsonString());"},{"lineNumber":292,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":293,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":294,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":295,"author":{"gitId":"xenosf"},"content":" public void testAccessControl_withoutCorrectAuthInfoAccessStudentResult_shouldFail() throws Exception {"},{"lineNumber":296,"author":{"gitId":"xenosf"},"content":" Course typicalCourse1 \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":297,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":298,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":299,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":300,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, typicalCourse1.getId(),"},{"lineNumber":301,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSession.getName(),"},{"lineNumber":302,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.toString(),"},{"lineNumber":303,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":304,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":305,"author":{"gitId":"xenosf"},"content":" verifyInaccessibleForUnregisteredUsers(submissionParams);"},{"lineNumber":306,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":307,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":308,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":309,"author":{"gitId":"xenosf"},"content":" public void testAccessControl_studentAccessOwnCourseSessionResult_shouldPass() throws Exception {"},{"lineNumber":310,"author":{"gitId":"xenosf"},"content":" Student student1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":311,"author":{"gitId":"xenosf"},"content":" Course typicalCourse1 \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":312,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":313,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":314,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":315,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, typicalCourse1.getId(),"},{"lineNumber":316,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSession.getName(),"},{"lineNumber":317,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.toString(),"},{"lineNumber":318,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":319,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":320,"author":{"gitId":"xenosf"},"content":" loginAsStudent(student1InCourse1.getGoogleId());"},{"lineNumber":321,"author":{"gitId":"xenosf"},"content":" verifyCanAccess(submissionParams);"},{"lineNumber":322,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":323,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":324,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":325,"author":{"gitId":"xenosf"},"content":" public void testAccessControl_studentAccessUnpublishedSessionStudentResult_shouldFail() {"},{"lineNumber":326,"author":{"gitId":"xenosf"},"content":" Student student1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":327,"author":{"gitId":"xenosf"},"content":" Course typicalCourse \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":328,"author":{"gitId":"xenosf"},"content":" FeedbackSession unpublishedFeedbackSession \u003d typicalBundle.feedbackSessions.get(\"session2InTypicalCourse\");"},{"lineNumber":329,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":330,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":331,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, typicalCourse.getId(),"},{"lineNumber":332,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, unpublishedFeedbackSession.getName(),"},{"lineNumber":333,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.toString(),"},{"lineNumber":334,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":335,"author":{"gitId":"xenosf"},"content":" loginAsStudent(student1InCourse1.getGoogleId());"},{"lineNumber":336,"author":{"gitId":"xenosf"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":337,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":338,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":339,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":340,"author":{"gitId":"xenosf"},"content":" public void testAccessControl_accessStudentSessionResultWithMasqueradeMode_shouldPass() throws Exception {"},{"lineNumber":341,"author":{"gitId":"xenosf"},"content":" Student student1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":342,"author":{"gitId":"xenosf"},"content":" Course typicalCourse1 \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":343,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":344,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":345,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, typicalCourse1.getId(),"},{"lineNumber":346,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSession.getName(),"},{"lineNumber":347,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.toString(),"},{"lineNumber":348,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":349,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":350,"author":{"gitId":"xenosf"},"content":" loginAsAdmin();"},{"lineNumber":351,"author":{"gitId":"xenosf"},"content":" verifyCanMasquerade(student1InCourse1.getGoogleId(), submissionParams);"},{"lineNumber":352,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":353,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":354,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":355,"author":{"gitId":"xenosf"},"content":" public void testAccessControl_studentAccessOtherCourseSessionResult_shouldFail() {"},{"lineNumber":356,"author":{"gitId":"xenosf"},"content":" Student studentInOtherCourse \u003d typicalBundle.students.get(\"student2InCourse1\");"},{"lineNumber":357,"author":{"gitId":"xenosf"},"content":" Course otherCourse \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":358,"author":{"gitId":"xenosf"},"content":" Course course \u003d typicalBundle.courses.get(\"course3\");"},{"lineNumber":359,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d typicalBundle.feedbackSessions.get(\"ongoingSession1InCourse3\");"},{"lineNumber":360,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":361,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":362,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":363,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSession.getName(),"},{"lineNumber":364,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.toString(),"},{"lineNumber":365,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":366,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":367,"author":{"gitId":"xenosf"},"content":" loginAsStudent(studentInOtherCourse.getGoogleId());"},{"lineNumber":368,"author":{"gitId":"xenosf"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":369,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":370,"author":{"gitId":"xenosf"},"content":" // Malicious api call using course Id of the student to bypass the check"},{"lineNumber":371,"author":{"gitId":"xenosf"},"content":" submissionParams[1] \u003d otherCourse.getId();"},{"lineNumber":372,"author":{"gitId":"xenosf"},"content":" verifyEntityNotFoundAcl(submissionParams);"},{"lineNumber":373,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":374,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":375,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":376,"author":{"gitId":"xenosf"},"content":" public void testAccessControl_instructorAccessHisCourseFullDetail_shouldPass() throws Exception {"},{"lineNumber":377,"author":{"gitId":"xenosf"},"content":" Course typicalCourse1 \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":378,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":379,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":380,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":381,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, typicalCourse1.getId(),"},{"lineNumber":382,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSession.getName(),"},{"lineNumber":383,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString(),"},{"lineNumber":384,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":385,"author":{"gitId":"xenosf"},"content":" verifyOnlyInstructorsOfTheSameCourseCanAccess(typicalCourse1, submissionParams);"},{"lineNumber":386,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":387,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":388,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":361,"mingyuanc":27}},{"path":"src/it/java/teammates/it/ui/webapi/GetStudentsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentData;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentsData;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.GetStudentsAction;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * SUT: {@link GetStudentsAction}."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class GetStudentsActionIT extends BaseActionIT\u003cGetStudentsAction\u003e {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":25,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":27,"author":{"gitId":"-"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":32,"author":{"gitId":"-"},"content":" String getActionUri() {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" return Const.ResourceURIs.STUDENTS;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"-"},"content":" String getRequestMethod() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" return GET;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":42,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":43,"author":{"gitId":"-"},"content":" protected void testExecute() throws Exception {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":45,"author":{"gitId":"-"},"content":" Student student \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":46,"author":{"gitId":"-"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case with only course id, logged in as instructor\");"},{"lineNumber":51,"author":{"gitId":"-"},"content":" String[] params \u003d new String[] {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":53,"author":{"gitId":"-"},"content":" };"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" GetStudentsAction getStudentsAction \u003d getAction(params);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" JsonResult jsonResult \u003d getJsonResult(getStudentsAction);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" StudentsData response \u003d (StudentsData) jsonResult.getOutput();"},{"lineNumber":58,"author":{"gitId":"-"},"content":" List\u003cStudentData\u003e students \u003d response.getStudents();"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"marquestye"},"content":" assertEquals(5, students.size());"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" StudentData firstStudentInStudents \u003d students.get(0);"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" assertNull(firstStudentInStudents.getGoogleId());"},{"lineNumber":65,"author":{"gitId":"-"},"content":" assertNull(firstStudentInStudents.getKey());"},{"lineNumber":66,"author":{"gitId":"-"},"content":" assertEquals(student.getName(), firstStudentInStudents.getName());"},{"lineNumber":67,"author":{"gitId":"-"},"content":" assertEquals(student.getCourseId(), firstStudentInStudents.getCourseId());"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" logoutUser();"},{"lineNumber":70,"author":{"gitId":"-"},"content":" loginAsStudent(student.getGoogleId());"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case with course id and team name, logged in as student\");"},{"lineNumber":73,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":75,"author":{"gitId":"-"},"content":" Const.ParamsNames.TEAM_NAME, student.getTeamName(),"},{"lineNumber":76,"author":{"gitId":"-"},"content":" };"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" getStudentsAction \u003d getAction(params);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" jsonResult \u003d getJsonResult(getStudentsAction);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" response \u003d (StudentsData) jsonResult.getOutput();"},{"lineNumber":81,"author":{"gitId":"-"},"content":" students \u003d response.getStudents();"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" Student expectedOtherTeamMember \u003d typicalBundle.students.get(\"student2InCourse1\");"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" assertEquals(4, students.size());"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" StudentData actualOtherTeamMember \u003d students.get(1);"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" assertNull(actualOtherTeamMember.getGoogleId());"},{"lineNumber":90,"author":{"gitId":"-"},"content":" assertNull(actualOtherTeamMember.getKey());"},{"lineNumber":91,"author":{"gitId":"-"},"content":" assertEquals(expectedOtherTeamMember.getName(), actualOtherTeamMember.getName());"},{"lineNumber":92,"author":{"gitId":"-"},"content":" assertEquals(expectedOtherTeamMember.getCourseId(), actualOtherTeamMember.getCourseId());"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":96,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":97,"author":{"gitId":"-"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":" Student student \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" ______TS(\"Only instructors with correct privilege can access\");"},{"lineNumber":103,"author":{"gitId":"-"},"content":" String[] params \u003d new String[] {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":105,"author":{"gitId":"-"},"content":" };"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" verifyCanAccess(params);"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" ______TS(\"Student to view team members\");"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":115,"author":{"gitId":"-"},"content":" Const.ParamsNames.TEAM_NAME, student.getTeamName(),"},{"lineNumber":116,"author":{"gitId":"-"},"content":" };"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" loginAsStudent(student.getGoogleId());"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" verifyCanAccess(params);"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" ______TS(\"Unknown login entity\");"},{"lineNumber":123,"author":{"gitId":"-"},"content":" loginAsUnregistered(\"does-not-exist-id\");"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":127,"author":{"gitId":"-"},"content":" };"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":133,"author":{"gitId":"-"},"content":" Const.ParamsNames.TEAM_NAME, student.getTeamName(),"},{"lineNumber":134,"author":{"gitId":"-"},"content":" };"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":1,"dishenggg":1,"-":137}},{"path":"src/it/java/teammates/it/ui/webapi/InstructorSearchIndexingWorkerActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"mingyuanc"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":3,"author":{"gitId":"mingyuanc"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":5,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":6,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":8,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":9,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":10,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.util.Const;"},{"lineNumber":11,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":12,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":13,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":14,"author":{"gitId":"mingyuanc"},"content":"import teammates.test.TestProperties;"},{"lineNumber":15,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.webapi.InstructorSearchIndexingWorkerAction;"},{"lineNumber":16,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":17,"author":{"gitId":"mingyuanc"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"mingyuanc"},"content":" * SUT: {@link InstructorSearchIndexingWorkerAction}."},{"lineNumber":19,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":20,"author":{"gitId":"mingyuanc"},"content":"public class InstructorSearchIndexingWorkerActionIT extends BaseActionIT\u003cInstructorSearchIndexingWorkerAction\u003e {"},{"lineNumber":21,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":22,"author":{"gitId":"mingyuanc"},"content":" @BeforeMethod"},{"lineNumber":23,"author":{"gitId":"mingyuanc"},"content":" protected void setUp() throws Exception {"},{"lineNumber":24,"author":{"gitId":"mingyuanc"},"content":" super.setUp();"},{"lineNumber":25,"author":{"gitId":"mingyuanc"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":26,"author":{"gitId":"mingyuanc"},"content":" HibernateUtil.flushSession();"},{"lineNumber":27,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":28,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":29,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":30,"author":{"gitId":"mingyuanc"},"content":" protected String getActionUri() {"},{"lineNumber":31,"author":{"gitId":"mingyuanc"},"content":" return Const.TaskQueue.INSTRUCTOR_SEARCH_INDEXING_WORKER_URL;"},{"lineNumber":32,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":33,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":34,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":35,"author":{"gitId":"mingyuanc"},"content":" protected String getRequestMethod() {"},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":" return POST;"},{"lineNumber":37,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":39,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":40,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":41,"author":{"gitId":"mingyuanc"},"content":" public void testExecute() throws Exception {"},{"lineNumber":42,"author":{"gitId":"mingyuanc"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":43,"author":{"gitId":"mingyuanc"},"content":" return;"},{"lineNumber":44,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":45,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":46,"author":{"gitId":"mingyuanc"},"content":" Instructor instructor1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":47,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":48,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"instructor not yet indexed should not be searchable\");"},{"lineNumber":49,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":50,"author":{"gitId":"mingyuanc"},"content":" List\u003cInstructor\u003e instructorList \u003d logic.searchInstructorsInWholeSystem(instructor1.getEmail());"},{"lineNumber":51,"author":{"gitId":"mingyuanc"},"content":" assertEquals(0, instructorList.size());"},{"lineNumber":52,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":53,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"instructor indexed should be searchable\");"},{"lineNumber":54,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":55,"author":{"gitId":"mingyuanc"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":56,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.COURSE_ID, instructor1.getCourseId(),"},{"lineNumber":57,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.INSTRUCTOR_EMAIL, instructor1.getEmail(),"},{"lineNumber":58,"author":{"gitId":"mingyuanc"},"content":" };"},{"lineNumber":59,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":60,"author":{"gitId":"mingyuanc"},"content":" InstructorSearchIndexingWorkerAction action \u003d getAction(submissionParams);"},{"lineNumber":61,"author":{"gitId":"mingyuanc"},"content":" getJsonResult(action);"},{"lineNumber":62,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":63,"author":{"gitId":"mingyuanc"},"content":" instructorList \u003d logic.searchInstructorsInWholeSystem(instructor1.getEmail());"},{"lineNumber":64,"author":{"gitId":"mingyuanc"},"content":" assertEquals(1, instructorList.size());"},{"lineNumber":65,"author":{"gitId":"mingyuanc"},"content":" assertEquals(instructor1.getId(), instructorList.get(0).getId());"},{"lineNumber":66,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":67,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":68,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":69,"author":{"gitId":"mingyuanc"},"content":" protected void testAccessControl() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":70,"author":{"gitId":"mingyuanc"},"content":" Instructor instructor1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":71,"author":{"gitId":"mingyuanc"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":72,"author":{"gitId":"mingyuanc"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":73,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.COURSE_ID, instructor1.getCourseId(),"},{"lineNumber":74,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.INSTRUCTOR_EMAIL, instructor1.getEmail(),"},{"lineNumber":75,"author":{"gitId":"mingyuanc"},"content":" };"},{"lineNumber":76,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":77,"author":{"gitId":"mingyuanc"},"content":" verifyOnlyAdminCanAccess(course, submissionParams);"},{"lineNumber":78,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":79,"author":{"gitId":"mingyuanc"},"content":"}"}],"authorContributionMap":{"mingyuanc":79}},{"path":"src/it/java/teammates/it/ui/webapi/JoinCourseActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yuanxi1"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":3,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":4,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.Test;"},{"lineNumber":5,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":6,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.Const;"},{"lineNumber":7,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.EmailType;"},{"lineNumber":8,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":9,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":10,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":11,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":12,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.webapi.InvalidOperationException;"},{"lineNumber":13,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.webapi.JoinCourseAction;"},{"lineNumber":14,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":15,"author":{"gitId":"yuanxi1"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"yuanxi1"},"content":" * SUT: {@link JoinCourseAction}."},{"lineNumber":17,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":"public class JoinCourseActionIT extends BaseActionIT\u003cJoinCourseAction\u003e {"},{"lineNumber":19,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":20,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"yuanxi1"},"content":" @BeforeMethod"},{"lineNumber":22,"author":{"gitId":"yuanxi1"},"content":" protected void setUp() throws Exception {"},{"lineNumber":23,"author":{"gitId":"yuanxi1"},"content":" super.setUp();"},{"lineNumber":24,"author":{"gitId":"yuanxi1"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":25,"author":{"gitId":"yuanxi1"},"content":" HibernateUtil.flushSession();"},{"lineNumber":26,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":27,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":28,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"yuanxi1"},"content":" String getActionUri() {"},{"lineNumber":30,"author":{"gitId":"yuanxi1"},"content":" return Const.ResourceURIs.JOIN;"},{"lineNumber":31,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":32,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":33,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"yuanxi1"},"content":" String getRequestMethod() {"},{"lineNumber":35,"author":{"gitId":"yuanxi1"},"content":" return PUT;"},{"lineNumber":36,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":37,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":38,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":39,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":40,"author":{"gitId":"yuanxi1"},"content":" protected void testExecute() throws Exception {"},{"lineNumber":41,"author":{"gitId":"yuanxi1"},"content":" Student studentYetToJoinCourse \u003d typicalBundle.students.get(\"student2YetToJoinCourse4\");"},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":" String student1RegKey \u003d"},{"lineNumber":43,"author":{"gitId":"yuanxi1"},"content":" getRegKeyForStudent(studentYetToJoinCourse.getCourseId(), studentYetToJoinCourse.getEmail());"},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" String loggedInGoogleIdStu \u003d \"AccLogicT.student.id\";"},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":" Instructor instructorYetToJoinCourse \u003d typicalBundle.instructors.get(\"instructor2YetToJoinCourse4\");"},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":" String instructor1RegKey \u003d"},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" getRegKeyForInstructor(instructorYetToJoinCourse.getCourseId(), instructorYetToJoinCourse.getEmail());"},{"lineNumber":49,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":50,"author":{"gitId":"yuanxi1"},"content":" String loggedInGoogleIdInst \u003d \"AccLogicT.instr.id\";"},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: student joins course\");"},{"lineNumber":53,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":54,"author":{"gitId":"yuanxi1"},"content":" loginAsUnregistered(loggedInGoogleIdStu);"},{"lineNumber":55,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":56,"author":{"gitId":"yuanxi1"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":57,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.REGKEY, student1RegKey,"},{"lineNumber":58,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.STUDENT,"},{"lineNumber":59,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":60,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":61,"author":{"gitId":"yuanxi1"},"content":" JoinCourseAction joinCourseAction \u003d getAction(submissionParams);"},{"lineNumber":62,"author":{"gitId":"yuanxi1"},"content":" getJsonResult(joinCourseAction);"},{"lineNumber":63,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":64,"author":{"gitId":"yuanxi1"},"content":" verifyNumberOfEmailsSent(1);"},{"lineNumber":65,"author":{"gitId":"yuanxi1"},"content":" EmailWrapper email \u003d mockEmailSender.getEmailsSent().get(0);"},{"lineNumber":66,"author":{"gitId":"yuanxi1"},"content":" assertEquals("},{"lineNumber":67,"author":{"gitId":"yuanxi1"},"content":" String.format(EmailType.USER_COURSE_REGISTER.getSubject(), \"Typical Course 4\", \"course-4\"),"},{"lineNumber":68,"author":{"gitId":"yuanxi1"},"content":" email.getSubject());"},{"lineNumber":69,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":70,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: student is already registered\");"},{"lineNumber":71,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":72,"author":{"gitId":"yuanxi1"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":73,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.REGKEY, student1RegKey,"},{"lineNumber":74,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.STUDENT,"},{"lineNumber":75,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":76,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":77,"author":{"gitId":"yuanxi1"},"content":" InvalidOperationException ioe \u003d verifyInvalidOperation(submissionParams);"},{"lineNumber":78,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Student has already joined course\", ioe.getMessage());"},{"lineNumber":79,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":80,"author":{"gitId":"yuanxi1"},"content":" verifyNoEmailsSent();"},{"lineNumber":81,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":82,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: instructor joins course\");"},{"lineNumber":83,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":84,"author":{"gitId":"yuanxi1"},"content":" loginAsUnregistered(loggedInGoogleIdInst);"},{"lineNumber":85,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":86,"author":{"gitId":"yuanxi1"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":87,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.REGKEY, instructor1RegKey,"},{"lineNumber":88,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":89,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":90,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":91,"author":{"gitId":"yuanxi1"},"content":" joinCourseAction \u003d getAction(submissionParams);"},{"lineNumber":92,"author":{"gitId":"yuanxi1"},"content":" getJsonResult(joinCourseAction);"},{"lineNumber":93,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":94,"author":{"gitId":"yuanxi1"},"content":" verifyNumberOfEmailsSent(1);"},{"lineNumber":95,"author":{"gitId":"yuanxi1"},"content":" email \u003d mockEmailSender.getEmailsSent().get(0);"},{"lineNumber":96,"author":{"gitId":"yuanxi1"},"content":" assertEquals("},{"lineNumber":97,"author":{"gitId":"yuanxi1"},"content":" String.format(EmailType.USER_COURSE_REGISTER.getSubject(), \"Typical Course 4\", \"course-4\"),"},{"lineNumber":98,"author":{"gitId":"yuanxi1"},"content":" email.getSubject());"},{"lineNumber":99,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":100,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: instructor is already registered\");"},{"lineNumber":101,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":102,"author":{"gitId":"yuanxi1"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":103,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.REGKEY, instructor1RegKey,"},{"lineNumber":104,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":105,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":106,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":107,"author":{"gitId":"yuanxi1"},"content":" ioe \u003d verifyInvalidOperation(submissionParams);"},{"lineNumber":108,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Instructor has already joined course\", ioe.getMessage());"},{"lineNumber":109,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":110,"author":{"gitId":"yuanxi1"},"content":" verifyNoEmailsSent();"},{"lineNumber":111,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":112,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: invalid regkey\");"},{"lineNumber":113,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":114,"author":{"gitId":"yuanxi1"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":115,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.REGKEY, \"ANXKJZNZXNJCZXKJDNKSDA\","},{"lineNumber":116,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.STUDENT,"},{"lineNumber":117,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":118,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":119,"author":{"gitId":"yuanxi1"},"content":" verifyEntityNotFound(submissionParams);"},{"lineNumber":120,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":121,"author":{"gitId":"yuanxi1"},"content":" verifyNoEmailsSent();"},{"lineNumber":122,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":123,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: invalid entity type\");"},{"lineNumber":124,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":125,"author":{"gitId":"yuanxi1"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":126,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.REGKEY, student1RegKey,"},{"lineNumber":127,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, \"invalid_entity_type\","},{"lineNumber":128,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":129,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":130,"author":{"gitId":"yuanxi1"},"content":" verifyHttpParameterFailure(submissionParams);"},{"lineNumber":131,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":132,"author":{"gitId":"yuanxi1"},"content":" verifyNoEmailsSent();"},{"lineNumber":133,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":134,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":135,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":136,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":137,"author":{"gitId":"yuanxi1"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":138,"author":{"gitId":"yuanxi1"},"content":" verifyAnyLoggedInUserCanAccess();"},{"lineNumber":139,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":140,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":141,"author":{"gitId":"yuanxi1"},"content":" private String getRegKeyForStudent(String courseId, String email) {"},{"lineNumber":142,"author":{"gitId":"yuanxi1"},"content":" return logic.getStudentForEmail(courseId, email).getRegKey();"},{"lineNumber":143,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":144,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":145,"author":{"gitId":"yuanxi1"},"content":" private String getRegKeyForInstructor(String courseId, String email) {"},{"lineNumber":146,"author":{"gitId":"yuanxi1"},"content":" return logic.getInstructorForEmail(courseId, email).getRegKey();"},{"lineNumber":147,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":148,"author":{"gitId":"yuanxi1"},"content":"}"}],"authorContributionMap":{"yuanxi1":148}},{"path":"src/it/java/teammates/it/ui/webapi/SearchAccountRequestsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.Test;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.Const;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.test.TestProperties;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.output.AccountRequestsData;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.output.MessageOutput;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.SearchAccountRequestsAction;"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" * SUT: {@link SearchAccountRequestsAction}."},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":"public class SearchAccountRequestsActionIT extends BaseActionIT\u003cSearchAccountRequestsAction\u003e {"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" protected void testAccessControl() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" verifyOnlyAdminCanAccess(course);"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" @BeforeMethod"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" protected void setUp() throws Exception {"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" super.setUp();"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" putDocuments(typicalBundle);"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.flushSession();"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" protected String getActionUri() {"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" return Const.ResourceURIs.SEARCH_ACCOUNT_REQUESTS;"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" protected String getRequestMethod() {"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" return GET;"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" protected void testExecute() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Search with SearchService disabled\");"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" String[] submissionParams \u003d new String[] { Const.ParamsNames.SEARCH_KEY, \"randomString123\" };"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" SearchAccountRequestsAction action \u003d getAction(submissionParams);"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" JsonResult result \u003d getJsonResult(action, HttpStatus.SC_NOT_IMPLEMENTED);"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" MessageOutput output \u003d (MessageOutput) result.getOutput();"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"Full-text search is not available.\", output.getMessage());"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d typicalBundle.accountRequests.get(\"instructor1\");"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" loginAsAdmin();"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Search via Email\");"},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" String[] submissionParams \u003d new String[] { Const.ParamsNames.SEARCH_KEY, accountRequest.getEmail() };"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":" SearchAccountRequestsAction action \u003d getAction(submissionParams);"},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" JsonResult result \u003d getJsonResult(action, 200);"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" AccountRequestsData response \u003d (AccountRequestsData) result.getOutput();"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" assertTrue(response.getAccountRequests().stream()"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" .filter(i -\u003e i.getName().equals(accountRequest.getName()))"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" .findAny()"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" .isPresent());"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" assertTrue(response.getAccountRequests().get(0).getRegistrationKey() !\u003d null);"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Search via Institute\");"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" submissionParams \u003d new String[] { Const.ParamsNames.SEARCH_KEY, accountRequest.getInstitute() };"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" action \u003d getAction(submissionParams);"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" result \u003d getJsonResult(action, 200);"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" response \u003d (AccountRequestsData) result.getOutput();"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" assertTrue(response.getAccountRequests().stream()"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" .filter(i -\u003e i.getName().equals(accountRequest.getName()))"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" .findAny()"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" .isPresent());"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":" assertTrue(response.getAccountRequests().get(0).getRegistrationKey() !\u003d null);"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Search via Name\");"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" submissionParams \u003d new String[] { Const.ParamsNames.SEARCH_KEY, accountRequest.getName() };"},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" action \u003d getAction(submissionParams);"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" result \u003d getJsonResult(action, 200);"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" response \u003d (AccountRequestsData) result.getOutput();"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" assertTrue(response.getAccountRequests().stream()"},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" .filter(i -\u003e i.getName().equals(accountRequest.getName()))"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" .findAny()"},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" .isPresent());"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" assertTrue(response.getAccountRequests().get(0).getRegistrationKey() !\u003d null);"},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Search Duplicate Name\");"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":" submissionParams \u003d new String[] { Const.ParamsNames.SEARCH_KEY, \"Instructor\" };"},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" action \u003d getAction(submissionParams);"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" result \u003d getJsonResult(action, 200);"},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" response \u003d (AccountRequestsData) result.getOutput();"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" assertTrue(response.getAccountRequests().get(0).getRegistrationKey() !\u003d null);"},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" assertEquals(11, response.getAccountRequests().size());"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Search result with 0 matches\");"},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" submissionParams \u003d new String[] { Const.ParamsNames.SEARCH_KEY, \"randomString123\" };"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" action \u003d getAction(submissionParams);"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" result \u003d getJsonResult(action, 200);"},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" response \u003d (AccountRequestsData) result.getOutput();"},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" assertEquals(0, response.getAccountRequests().size());"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":115}},{"path":"src/it/java/teammates/it/ui/webapi/SearchStudentsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yuanxi1"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":3,"author":{"gitId":"yuanxi1"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":4,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":5,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.Test;"},{"lineNumber":6,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":7,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":8,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":9,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.Const;"},{"lineNumber":10,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":11,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":12,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":13,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":14,"author":{"gitId":"yuanxi1"},"content":"import teammates.test.TestProperties;"},{"lineNumber":15,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.output.MessageOutput;"},{"lineNumber":16,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.output.StudentsData;"},{"lineNumber":17,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.webapi.SearchStudentsAction;"},{"lineNumber":19,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":20,"author":{"gitId":"yuanxi1"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"yuanxi1"},"content":" * SUT: {@link SearchStudentsAction}."},{"lineNumber":22,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":23,"author":{"gitId":"yuanxi1"},"content":"public class SearchStudentsActionIT extends BaseActionIT\u003cSearchStudentsAction\u003e {"},{"lineNumber":24,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":25,"author":{"gitId":"yuanxi1"},"content":" private final Student student1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":26,"author":{"gitId":"yuanxi1"},"content":" private final Instructor instructor1OfCourse1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":27,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":28,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"yuanxi1"},"content":" @BeforeMethod"},{"lineNumber":30,"author":{"gitId":"yuanxi1"},"content":" protected void setUp() throws Exception {"},{"lineNumber":31,"author":{"gitId":"yuanxi1"},"content":" super.setUp();"},{"lineNumber":32,"author":{"gitId":"yuanxi1"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":33,"author":{"gitId":"yuanxi1"},"content":" putDocuments(typicalBundle);"},{"lineNumber":34,"author":{"gitId":"yuanxi1"},"content":" HibernateUtil.flushSession();"},{"lineNumber":35,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":36,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":37,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"yuanxi1"},"content":" protected String getActionUri() {"},{"lineNumber":39,"author":{"gitId":"yuanxi1"},"content":" return Const.ResourceURIs.SEARCH_STUDENTS;"},{"lineNumber":40,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":41,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":43,"author":{"gitId":"yuanxi1"},"content":" protected String getRequestMethod() {"},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" return GET;"},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" protected void testExecute() {"},{"lineNumber":49,"author":{"gitId":"yuanxi1"},"content":" // See test cases below."},{"lineNumber":50,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":53,"author":{"gitId":"yuanxi1"},"content":" public void execute_invalidParameters_parameterFailure() {"},{"lineNumber":54,"author":{"gitId":"yuanxi1"},"content":" loginAsAdmin();"},{"lineNumber":55,"author":{"gitId":"yuanxi1"},"content":" verifyHttpParameterFailure();"},{"lineNumber":56,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":57,"author":{"gitId":"yuanxi1"},"content":" String[] notEnoughParams \u003d new String[] {"},{"lineNumber":58,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"dummy\","},{"lineNumber":59,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":60,"author":{"gitId":"yuanxi1"},"content":" verifyHttpParameterFailure(notEnoughParams);"},{"lineNumber":61,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":62,"author":{"gitId":"yuanxi1"},"content":" String[] invalidEntityParams \u003d new String[] {"},{"lineNumber":63,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"dummy\","},{"lineNumber":64,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, \"dummy\","},{"lineNumber":65,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":66,"author":{"gitId":"yuanxi1"},"content":" verifyHttpParameterFailure(invalidEntityParams);"},{"lineNumber":67,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":68,"author":{"gitId":"yuanxi1"},"content":" String[] adminParams \u003d new String[] {"},{"lineNumber":69,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"dummy\","},{"lineNumber":70,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.ADMIN,"},{"lineNumber":71,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":72,"author":{"gitId":"yuanxi1"},"content":" String[] instructorParams \u003d new String[] {"},{"lineNumber":73,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"dummy\","},{"lineNumber":74,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":75,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":76,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":77,"author":{"gitId":"yuanxi1"},"content":" loginAsAdmin();"},{"lineNumber":78,"author":{"gitId":"yuanxi1"},"content":" verifyHttpParameterFailure(instructorParams);"},{"lineNumber":79,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":80,"author":{"gitId":"yuanxi1"},"content":" loginAsInstructor(instructor1OfCourse1.getGoogleId());"},{"lineNumber":81,"author":{"gitId":"yuanxi1"},"content":" verifyHttpParameterFailure(adminParams);"},{"lineNumber":82,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":83,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":84,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":85,"author":{"gitId":"yuanxi1"},"content":" public void execute_adminSearchName_success() {"},{"lineNumber":86,"author":{"gitId":"yuanxi1"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":87,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":88,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":89,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":90,"author":{"gitId":"yuanxi1"},"content":" loginAsAdmin();"},{"lineNumber":91,"author":{"gitId":"yuanxi1"},"content":" String[] accNameParams \u003d new String[] {"},{"lineNumber":92,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, student1InCourse1.getName(),"},{"lineNumber":93,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.ADMIN,"},{"lineNumber":94,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":95,"author":{"gitId":"yuanxi1"},"content":" SearchStudentsAction a \u003d getAction(accNameParams);"},{"lineNumber":96,"author":{"gitId":"yuanxi1"},"content":" JsonResult result \u003d getJsonResult(a);"},{"lineNumber":97,"author":{"gitId":"yuanxi1"},"content":" StudentsData response \u003d (StudentsData) result.getOutput();"},{"lineNumber":98,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":99,"author":{"gitId":"marquestye"},"content":" assertEquals(11, response.getStudents().size());"},{"lineNumber":100,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":101,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":102,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":103,"author":{"gitId":"yuanxi1"},"content":" public void execute_adminSearchCourseId_success() {"},{"lineNumber":104,"author":{"gitId":"yuanxi1"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":105,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":106,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":107,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":108,"author":{"gitId":"yuanxi1"},"content":" loginAsAdmin();"},{"lineNumber":109,"author":{"gitId":"yuanxi1"},"content":" String[] accCourseIdParams \u003d new String[] {"},{"lineNumber":110,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, student1InCourse1.getCourseId(),"},{"lineNumber":111,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.ADMIN,"},{"lineNumber":112,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":113,"author":{"gitId":"yuanxi1"},"content":" SearchStudentsAction a \u003d getAction(accCourseIdParams);"},{"lineNumber":114,"author":{"gitId":"yuanxi1"},"content":" JsonResult result \u003d getJsonResult(a);"},{"lineNumber":115,"author":{"gitId":"yuanxi1"},"content":" StudentsData response \u003d (StudentsData) result.getOutput();"},{"lineNumber":116,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":117,"author":{"gitId":"marquestye"},"content":" assertEquals(11, response.getStudents().size());"},{"lineNumber":118,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":119,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":120,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":121,"author":{"gitId":"yuanxi1"},"content":" public void execute_adminSearchEmail_success() {"},{"lineNumber":122,"author":{"gitId":"yuanxi1"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":123,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":124,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":125,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":126,"author":{"gitId":"yuanxi1"},"content":" loginAsAdmin();"},{"lineNumber":127,"author":{"gitId":"yuanxi1"},"content":" String[] emailParams \u003d new String[] {"},{"lineNumber":128,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, student1InCourse1.getEmail(),"},{"lineNumber":129,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.ADMIN,"},{"lineNumber":130,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":131,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":132,"author":{"gitId":"yuanxi1"},"content":" SearchStudentsAction a \u003d getAction(emailParams);"},{"lineNumber":133,"author":{"gitId":"yuanxi1"},"content":" JsonResult result \u003d getJsonResult(a);"},{"lineNumber":134,"author":{"gitId":"yuanxi1"},"content":" StudentsData response \u003d (StudentsData) result.getOutput();"},{"lineNumber":135,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" assertEquals(4, response.getStudents().size());"},{"lineNumber":137,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":138,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":139,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":140,"author":{"gitId":"yuanxi1"},"content":" public void execute_adminSearchNoMatch_noMatch() {"},{"lineNumber":141,"author":{"gitId":"yuanxi1"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":142,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":143,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":144,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":145,"author":{"gitId":"yuanxi1"},"content":" loginAsAdmin();"},{"lineNumber":146,"author":{"gitId":"yuanxi1"},"content":" String[] accNameParams \u003d new String[] {"},{"lineNumber":147,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"minuscoronavirus\","},{"lineNumber":148,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.ADMIN,"},{"lineNumber":149,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":150,"author":{"gitId":"yuanxi1"},"content":" SearchStudentsAction a \u003d getAction(accNameParams);"},{"lineNumber":151,"author":{"gitId":"yuanxi1"},"content":" JsonResult result \u003d getJsonResult(a);"},{"lineNumber":152,"author":{"gitId":"yuanxi1"},"content":" StudentsData response \u003d (StudentsData) result.getOutput();"},{"lineNumber":153,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":154,"author":{"gitId":"yuanxi1"},"content":" assertEquals(0, response.getStudents().size());"},{"lineNumber":155,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":156,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":157,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":158,"author":{"gitId":"yuanxi1"},"content":" public void execute_instructorSearchGoogleId_matchOnlyStudentsInCourse() {"},{"lineNumber":159,"author":{"gitId":"yuanxi1"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":160,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":161,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":162,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":163,"author":{"gitId":"yuanxi1"},"content":" loginAsInstructor(instructor1OfCourse1.getGoogleId());"},{"lineNumber":164,"author":{"gitId":"yuanxi1"},"content":" String[] googleIdParams \u003d new String[] {"},{"lineNumber":165,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"student1\","},{"lineNumber":166,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":167,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":168,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":169,"author":{"gitId":"yuanxi1"},"content":" SearchStudentsAction a \u003d getAction(googleIdParams);"},{"lineNumber":170,"author":{"gitId":"yuanxi1"},"content":" JsonResult result \u003d getJsonResult(a);"},{"lineNumber":171,"author":{"gitId":"yuanxi1"},"content":" StudentsData response \u003d (StudentsData) result.getOutput();"},{"lineNumber":172,"author":{"gitId":"-"},"content":" assertEquals(3, response.getStudents().size());"},{"lineNumber":173,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":174,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":175,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":176,"author":{"gitId":"yuanxi1"},"content":" public void execute_noSearchService_shouldReturn501() {"},{"lineNumber":177,"author":{"gitId":"yuanxi1"},"content":" if (TestProperties.isSearchServiceActive()) {"},{"lineNumber":178,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":179,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":180,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":181,"author":{"gitId":"yuanxi1"},"content":" loginAsInstructor(instructor1OfCourse1.getGoogleId());"},{"lineNumber":182,"author":{"gitId":"yuanxi1"},"content":" String[] params \u003d new String[] {"},{"lineNumber":183,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"anything\","},{"lineNumber":184,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":185,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":186,"author":{"gitId":"yuanxi1"},"content":" SearchStudentsAction a \u003d getAction(params);"},{"lineNumber":187,"author":{"gitId":"yuanxi1"},"content":" JsonResult result \u003d getJsonResult(a, HttpStatus.SC_NOT_IMPLEMENTED);"},{"lineNumber":188,"author":{"gitId":"yuanxi1"},"content":" MessageOutput output \u003d (MessageOutput) result.getOutput();"},{"lineNumber":189,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":190,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Full-text search is not available.\", output.getMessage());"},{"lineNumber":191,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":192,"author":{"gitId":"yuanxi1"},"content":" loginAsAdmin();"},{"lineNumber":193,"author":{"gitId":"yuanxi1"},"content":" params \u003d new String[] {"},{"lineNumber":194,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"anything\","},{"lineNumber":195,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.ADMIN,"},{"lineNumber":196,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":197,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":198,"author":{"gitId":"yuanxi1"},"content":" a \u003d getAction(params);"},{"lineNumber":199,"author":{"gitId":"yuanxi1"},"content":" result \u003d getJsonResult(a, HttpStatus.SC_NOT_IMPLEMENTED);"},{"lineNumber":200,"author":{"gitId":"yuanxi1"},"content":" output \u003d (MessageOutput) result.getOutput();"},{"lineNumber":201,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":202,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Full-text search is not available.\", output.getMessage());"},{"lineNumber":203,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":204,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":205,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":206,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":207,"author":{"gitId":"yuanxi1"},"content":" protected void testAccessControl() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":208,"author":{"gitId":"yuanxi1"},"content":" verifyAccessibleForAdmin();"},{"lineNumber":209,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":210,"author":{"gitId":"yuanxi1"},"content":" verifyOnlyInstructorsCanAccess(course);"},{"lineNumber":211,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":212,"author":{"gitId":"yuanxi1"},"content":"}"}],"authorContributionMap":{"yuanxi1":208,"marquestye":2,"-":2}},{"path":"src/it/java/teammates/it/ui/webapi/StudentSearchIndexingWorkerActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const.ParamsNames;"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const.TaskQueue;"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlsearch.SearchManagerFactory;"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":"import teammates.test.TestProperties;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":"import teammates.ui.webapi.StudentSearchIndexingWorkerAction;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" * SUT: {@link StudentSearchIndexingWorkerAction}."},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":"public class StudentSearchIndexingWorkerActionIT extends BaseActionIT\u003cStudentSearchIndexingWorkerAction\u003e {"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" private final Student student \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" @BeforeMethod"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" protected void setUp() throws Exception {"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" super.setUp();"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" HibernateUtil.flushSession();"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" SearchManagerFactory.getStudentSearchManager().resetCollections();"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" protected String getActionUri() {"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" return TaskQueue.STUDENT_SEARCH_INDEXING_WORKER_URL;"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" protected String getRequestMethod() {"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" return POST;"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" protected void testExecute() throws Exception {"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" // See test cases below"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" protected void testExecute_studentNotYetIndexed_shouldNotBeSearchable() throws Exception {"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" return;"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" List\u003cStudent\u003e studentList \u003d logic.searchStudentsInWholeSystem(student.getEmail());"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" assertEquals(0, studentList.size());"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" protected void testExecute_studentIndexed_shouldBeSearchable() throws Exception {"},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" return;"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":67,"author":{"gitId":"xenosf"},"content":" ParamsNames.COURSE_ID, student.getCourseId(),"},{"lineNumber":68,"author":{"gitId":"xenosf"},"content":" ParamsNames.STUDENT_EMAIL, student.getEmail(),"},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" StudentSearchIndexingWorkerAction action \u003d getAction(submissionParams);"},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" getJsonResult(action);"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" List\u003cStudent\u003e studentList \u003d logic.searchStudentsInWholeSystem(student.getEmail());"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" assertEquals(1, studentList.size());"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" assertEquals(student.getName(), studentList.get(0).getName());"},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":" protected void testAccessControl() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" verifyOnlyAdminCanAccess(course);"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":85}},{"path":"src/it/java/teammates/it/ui/webapi/UpdateStudentActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"marquestye"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":3,"author":{"gitId":"marquestye"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"marquestye"},"content":"import java.util.UUID;"},{"lineNumber":5,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":6,"author":{"gitId":"marquestye"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":7,"author":{"gitId":"marquestye"},"content":"import org.testng.annotations.Test;"},{"lineNumber":8,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":9,"author":{"gitId":"marquestye"},"content":"import teammates.common.util.Const;"},{"lineNumber":10,"author":{"gitId":"marquestye"},"content":"import teammates.common.util.EmailType;"},{"lineNumber":11,"author":{"gitId":"marquestye"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":12,"author":{"gitId":"marquestye"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":13,"author":{"gitId":"marquestye"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":14,"author":{"gitId":"marquestye"},"content":"import teammates.common.util.StringHelperExtension;"},{"lineNumber":15,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":16,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":17,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":18,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":19,"author":{"gitId":"marquestye"},"content":"import teammates.ui.output.MessageOutput;"},{"lineNumber":20,"author":{"gitId":"marquestye"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":21,"author":{"gitId":"marquestye"},"content":"import teammates.ui.request.StudentUpdateRequest;"},{"lineNumber":22,"author":{"gitId":"marquestye"},"content":"import teammates.ui.webapi.EntityNotFoundException;"},{"lineNumber":23,"author":{"gitId":"marquestye"},"content":"import teammates.ui.webapi.InvalidOperationException;"},{"lineNumber":24,"author":{"gitId":"marquestye"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":25,"author":{"gitId":"marquestye"},"content":"import teammates.ui.webapi.UpdateStudentAction;"},{"lineNumber":26,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":27,"author":{"gitId":"marquestye"},"content":"/**"},{"lineNumber":28,"author":{"gitId":"marquestye"},"content":" * SUT: {@link UpdateStudentAction}."},{"lineNumber":29,"author":{"gitId":"marquestye"},"content":" */"},{"lineNumber":30,"author":{"gitId":"marquestye"},"content":"public class UpdateStudentActionIT extends BaseActionIT\u003cUpdateStudentAction\u003e {"},{"lineNumber":31,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":32,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"marquestye"},"content":" @BeforeMethod"},{"lineNumber":34,"author":{"gitId":"marquestye"},"content":" protected void setUp() throws Exception {"},{"lineNumber":35,"author":{"gitId":"marquestye"},"content":" super.setUp();"},{"lineNumber":36,"author":{"gitId":"marquestye"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":37,"author":{"gitId":"marquestye"},"content":" HibernateUtil.flushSession();"},{"lineNumber":38,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":39,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":40,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":41,"author":{"gitId":"marquestye"},"content":" protected String getActionUri() {"},{"lineNumber":42,"author":{"gitId":"marquestye"},"content":" return Const.ResourceURIs.STUDENT;"},{"lineNumber":43,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":44,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":45,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":46,"author":{"gitId":"marquestye"},"content":" protected String getRequestMethod() {"},{"lineNumber":47,"author":{"gitId":"marquestye"},"content":" return PUT;"},{"lineNumber":48,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":49,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":50,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":51,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":52,"author":{"gitId":"marquestye"},"content":" public void testExecute() throws Exception {"},{"lineNumber":53,"author":{"gitId":"marquestye"},"content":" assert true;"},{"lineNumber":54,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":55,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":56,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":57,"author":{"gitId":"marquestye"},"content":" public void testExecute_invalidParameters_failure() throws Exception {"},{"lineNumber":58,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":59,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":60,"author":{"gitId":"marquestye"},"content":" ______TS(\"no parameters\");"},{"lineNumber":61,"author":{"gitId":"marquestye"},"content":" verifyHttpParameterFailure();"},{"lineNumber":62,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":63,"author":{"gitId":"marquestye"},"content":" ______TS(\"null student email\");"},{"lineNumber":64,"author":{"gitId":"marquestye"},"content":" String[] invalidParams \u003d new String[] {"},{"lineNumber":65,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":66,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":67,"author":{"gitId":"marquestye"},"content":" verifyHttpParameterFailure(invalidParams);"},{"lineNumber":68,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":69,"author":{"gitId":"marquestye"},"content":" ______TS(\"null course id\");"},{"lineNumber":70,"author":{"gitId":"marquestye"},"content":" invalidParams \u003d new String[] {"},{"lineNumber":71,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":72,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":73,"author":{"gitId":"marquestye"},"content":" verifyHttpParameterFailure(invalidParams);"},{"lineNumber":74,"author":{"gitId":"marquestye"},"content":" verifyNoTasksAdded();"},{"lineNumber":75,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":76,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":77,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":78,"author":{"gitId":"marquestye"},"content":" public void testExecute_typicalCase_success() throws Exception {"},{"lineNumber":79,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":80,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":81,"author":{"gitId":"marquestye"},"content":" String originalEmail \u003d student1.getEmail();"},{"lineNumber":82,"author":{"gitId":"marquestye"},"content":" Team originalTeam \u003d student1.getTeam();"},{"lineNumber":83,"author":{"gitId":"marquestye"},"content":" String originalComments \u003d student1.getComments();"},{"lineNumber":84,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":85,"author":{"gitId":"marquestye"},"content":" String newStudentEmail \u003d \"newemail@gmail.tmt\";"},{"lineNumber":86,"author":{"gitId":"marquestye"},"content":" String newStudentTeam \u003d \"new student\u0027s team\";"},{"lineNumber":87,"author":{"gitId":"marquestye"},"content":" String newStudentComments \u003d \"this is new comment after editing\";"},{"lineNumber":88,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d new StudentUpdateRequest(student1.getName(), newStudentEmail,"},{"lineNumber":89,"author":{"gitId":"marquestye"},"content":" newStudentTeam, student1.getSectionName(), newStudentComments, true);"},{"lineNumber":90,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":91,"author":{"gitId":"marquestye"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":92,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":93,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":94,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":95,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":96,"author":{"gitId":"marquestye"},"content":" UpdateStudentAction updateAction \u003d getAction(updateRequest, submissionParams);"},{"lineNumber":97,"author":{"gitId":"marquestye"},"content":" JsonResult actionOutput \u003d getJsonResult(updateAction);"},{"lineNumber":98,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":99,"author":{"gitId":"marquestye"},"content":" MessageOutput msgOutput \u003d (MessageOutput) actionOutput.getOutput();"},{"lineNumber":100,"author":{"gitId":"marquestye"},"content":" assertEquals(\"Student has been updated and email sent\", msgOutput.getMessage());"},{"lineNumber":101,"author":{"gitId":"marquestye"},"content":" verifyNumberOfEmailsSent(1);"},{"lineNumber":102,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":103,"author":{"gitId":"marquestye"},"content":" Student updatedStudent \u003d logic.getStudent(student1.getId());"},{"lineNumber":104,"author":{"gitId":"marquestye"},"content":" assertEquals(updatedStudent.getEmail(), newStudentEmail);"},{"lineNumber":105,"author":{"gitId":"marquestye"},"content":" assertEquals(updatedStudent.getTeamName(), newStudentTeam);"},{"lineNumber":106,"author":{"gitId":"marquestye"},"content":" assertEquals(updatedStudent.getComments(), newStudentComments);"},{"lineNumber":107,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":108,"author":{"gitId":"marquestye"},"content":" EmailWrapper email \u003d getEmailsSent().get(0);"},{"lineNumber":109,"author":{"gitId":"marquestye"},"content":" String courseName \u003d logic.getCourse(student1.getCourseId()).getName();"},{"lineNumber":110,"author":{"gitId":"marquestye"},"content":" assertEquals(String.format(EmailType.STUDENT_EMAIL_CHANGED.getSubject(), courseName,"},{"lineNumber":111,"author":{"gitId":"marquestye"},"content":" student1.getCourseId()), email.getSubject());"},{"lineNumber":112,"author":{"gitId":"marquestye"},"content":" assertEquals(newStudentEmail, email.getRecipient());"},{"lineNumber":113,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":114,"author":{"gitId":"marquestye"},"content":" verifySpecifiedTasksAdded(Const.TaskQueue.SEARCH_INDEXING_QUEUE_NAME, 1);"},{"lineNumber":115,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":116,"author":{"gitId":"marquestye"},"content":" resetStudent(student1.getId(), originalEmail, originalTeam, originalComments);"},{"lineNumber":117,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":118,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":119,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":120,"author":{"gitId":"marquestye"},"content":" public void testExecute_studentDetailsWithWhitespace_success() throws Exception {"},{"lineNumber":121,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":122,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":123,"author":{"gitId":"marquestye"},"content":" String originalEmail \u003d student1.getEmail();"},{"lineNumber":124,"author":{"gitId":"marquestye"},"content":" Team originalTeam \u003d student1.getTeam();"},{"lineNumber":125,"author":{"gitId":"marquestye"},"content":" String originalComments \u003d student1.getComments();"},{"lineNumber":126,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":127,"author":{"gitId":"marquestye"},"content":" String newStudentEmailToBeTrimmed \u003d \" student1@teammates.tmt \"; // after trim, this is equal to originalEmail"},{"lineNumber":128,"author":{"gitId":"marquestye"},"content":" String newStudentTeamToBeTrimmed \u003d \" New team \";"},{"lineNumber":129,"author":{"gitId":"marquestye"},"content":" String newStudentCommentsToBeTrimmed \u003d \" this is new comment after editing \";"},{"lineNumber":130,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d new StudentUpdateRequest(student1.getName(), newStudentEmailToBeTrimmed,"},{"lineNumber":131,"author":{"gitId":"marquestye"},"content":" newStudentTeamToBeTrimmed, student1.getSectionName(), newStudentCommentsToBeTrimmed, true);"},{"lineNumber":132,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":133,"author":{"gitId":"marquestye"},"content":" String[] submissionParamsToBeTrimmed \u003d new String[] {"},{"lineNumber":134,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":135,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":136,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":137,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":138,"author":{"gitId":"marquestye"},"content":" UpdateStudentAction actionToBeTrimmed \u003d getAction(updateRequest, submissionParamsToBeTrimmed);"},{"lineNumber":139,"author":{"gitId":"marquestye"},"content":" JsonResult outputToBeTrimmed \u003d getJsonResult(actionToBeTrimmed);"},{"lineNumber":140,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":141,"author":{"gitId":"marquestye"},"content":" MessageOutput msgTrimmedOutput \u003d (MessageOutput) outputToBeTrimmed.getOutput();"},{"lineNumber":142,"author":{"gitId":"marquestye"},"content":" assertEquals(\"Student has been updated\", msgTrimmedOutput.getMessage());"},{"lineNumber":143,"author":{"gitId":"marquestye"},"content":" verifyNoEmailsSent();"},{"lineNumber":144,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":145,"author":{"gitId":"marquestye"},"content":" resetStudent(student1.getId(), originalEmail, originalTeam, originalComments);"},{"lineNumber":146,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":147,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":148,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":149,"author":{"gitId":"marquestye"},"content":" public void testExecute_emailHasTooManyCharacters_failure() throws Exception {"},{"lineNumber":150,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":151,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":152,"author":{"gitId":"marquestye"},"content":" String invalidStudentEmail \u003d StringHelperExtension.generateStringOfLength(255 - \"@gmail.tmt\".length())"},{"lineNumber":153,"author":{"gitId":"marquestye"},"content":" + \"@gmail.tmt\";"},{"lineNumber":154,"author":{"gitId":"marquestye"},"content":" assertEquals(FieldValidator.EMAIL_MAX_LENGTH + 1, invalidStudentEmail.length());"},{"lineNumber":155,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":156,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d new StudentUpdateRequest(student1.getName(), invalidStudentEmail,"},{"lineNumber":157,"author":{"gitId":"marquestye"},"content":" student1.getTeamName(), student1.getSectionName(), student1.getComments(), false);"},{"lineNumber":158,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":159,"author":{"gitId":"marquestye"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":160,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":161,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":162,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":163,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":164,"author":{"gitId":"marquestye"},"content":" InvalidHttpRequestBodyException ihrbe \u003d verifyHttpRequestBodyFailure(updateRequest, submissionParams);"},{"lineNumber":165,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":166,"author":{"gitId":"marquestye"},"content":" assertEquals(getPopulatedErrorMessage(FieldValidator.EMAIL_ERROR_MESSAGE, invalidStudentEmail,"},{"lineNumber":167,"author":{"gitId":"marquestye"},"content":" FieldValidator.EMAIL_FIELD_NAME, FieldValidator.REASON_TOO_LONG,"},{"lineNumber":168,"author":{"gitId":"marquestye"},"content":" FieldValidator.EMAIL_MAX_LENGTH),"},{"lineNumber":169,"author":{"gitId":"marquestye"},"content":" ihrbe.getMessage());"},{"lineNumber":170,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":171,"author":{"gitId":"marquestye"},"content":" verifyNoTasksAdded();"},{"lineNumber":172,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":173,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":174,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":175,"author":{"gitId":"marquestye"},"content":" public void testExecute_emailTakenByOthers_failure() {"},{"lineNumber":176,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":177,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":178,"author":{"gitId":"marquestye"},"content":" Student student2 \u003d typicalBundle.students.get(\"student2InCourse1\");"},{"lineNumber":179,"author":{"gitId":"marquestye"},"content":" String takenStudentEmail \u003d student2.getEmail();"},{"lineNumber":180,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":181,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d new StudentUpdateRequest(student1.getName(), takenStudentEmail,"},{"lineNumber":182,"author":{"gitId":"marquestye"},"content":" student1.getTeamName(), student1.getSectionName(), student1.getComments(), false);"},{"lineNumber":183,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":184,"author":{"gitId":"marquestye"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":185,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":186,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":187,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":188,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":189,"author":{"gitId":"marquestye"},"content":" InvalidOperationException ioe \u003d verifyInvalidOperation(updateRequest, submissionParams);"},{"lineNumber":190,"author":{"gitId":"marquestye"},"content":" assertEquals(\"Trying to update to an email that is already in use\", ioe.getMessage());"},{"lineNumber":191,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":192,"author":{"gitId":"marquestye"},"content":" verifyNoTasksAdded();"},{"lineNumber":193,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":194,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":195,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":196,"author":{"gitId":"marquestye"},"content":" public void testExecute_studentDoesNotExist_failure() {"},{"lineNumber":197,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":198,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":199,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d new StudentUpdateRequest(student1.getName(), student1.getEmail(),"},{"lineNumber":200,"author":{"gitId":"marquestye"},"content":" student1.getTeamName(), student1.getSectionName(), student1.getComments(), false);"},{"lineNumber":201,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":202,"author":{"gitId":"marquestye"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":203,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":204,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, \"notinuseemail@gmail.tmt\","},{"lineNumber":205,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":206,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":207,"author":{"gitId":"marquestye"},"content":" EntityNotFoundException enfe \u003d verifyEntityNotFound(updateRequest, submissionParams);"},{"lineNumber":208,"author":{"gitId":"marquestye"},"content":" assertEquals(\"The student you tried to edit does not exist. \""},{"lineNumber":209,"author":{"gitId":"marquestye"},"content":" + \"If the student was created during the last few minutes, \""},{"lineNumber":210,"author":{"gitId":"marquestye"},"content":" + \"try again in a few more minutes as the student may still be being saved.\","},{"lineNumber":211,"author":{"gitId":"marquestye"},"content":" enfe.getMessage());"},{"lineNumber":212,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":213,"author":{"gitId":"marquestye"},"content":" verifyNoTasksAdded();"},{"lineNumber":214,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":215,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":216,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":217,"author":{"gitId":"marquestye"},"content":" public void testExecute_studentTeamExistsInAnotherSection_failure() throws Exception {"},{"lineNumber":218,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":219,"author":{"gitId":"marquestye"},"content":" Student student4 \u003d typicalBundle.students.get(\"student4InCourse1\");"},{"lineNumber":220,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":221,"author":{"gitId":"marquestye"},"content":" assertNotEquals(student1.getSection(), student4.getSection());"},{"lineNumber":222,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":223,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d new StudentUpdateRequest(student1.getName(), student1.getEmail(),"},{"lineNumber":224,"author":{"gitId":"marquestye"},"content":" student4.getTeamName(), student1.getSectionName(), student1.getComments(), true);"},{"lineNumber":225,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":226,"author":{"gitId":"marquestye"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":227,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":228,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":229,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":230,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":231,"author":{"gitId":"marquestye"},"content":" InvalidOperationException ioe \u003d verifyInvalidOperation(updateRequest, submissionParams);"},{"lineNumber":232,"author":{"gitId":"marquestye"},"content":" String expectedErrorMessage \u003d String.format(\"Team \\\"%s\\\" is detected in both Section \\\"%s\\\" and Section \\\"%s\\\".\""},{"lineNumber":233,"author":{"gitId":"marquestye"},"content":" + \" Please use different team names in different sections.\", student4.getTeamName(),"},{"lineNumber":234,"author":{"gitId":"marquestye"},"content":" student1.getSectionName(), student4.getSectionName());"},{"lineNumber":235,"author":{"gitId":"marquestye"},"content":" assertEquals(expectedErrorMessage, ioe.getMessage());"},{"lineNumber":236,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":237,"author":{"gitId":"marquestye"},"content":" verifyNoTasksAdded();"},{"lineNumber":238,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":239,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":240,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":241,"author":{"gitId":"marquestye"},"content":" public void testExecute_sectionFull_failure() throws Exception {"},{"lineNumber":242,"author":{"gitId":"marquestye"},"content":" Student studentToJoinMaxSection \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":243,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":244,"author":{"gitId":"marquestye"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":245,"author":{"gitId":"marquestye"},"content":" String courseId \u003d studentToJoinMaxSection.getCourseId();"},{"lineNumber":246,"author":{"gitId":"marquestye"},"content":" String sectionInMaxCapacity \u003d \"sectionInMaxCapacity\";"},{"lineNumber":247,"author":{"gitId":"marquestye"},"content":" Section section \u003d logic.getSectionOrCreate(courseId, sectionInMaxCapacity);"},{"lineNumber":248,"author":{"gitId":"marquestye"},"content":" Team team \u003d logic.getTeamOrCreate(section, \"randomTeamName\");"},{"lineNumber":249,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":250,"author":{"gitId":"marquestye"},"content":" for (int i \u003d 0; i \u003c Const.SECTION_SIZE_LIMIT; i++) {"},{"lineNumber":251,"author":{"gitId":"marquestye"},"content":" Student addedStudent \u003d new Student(course, \"Name \" + i, i + \"email@test.com\", \"cmt\" + i, team);"},{"lineNumber":252,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":253,"author":{"gitId":"marquestye"},"content":" logic.createStudent(addedStudent);"},{"lineNumber":254,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":255,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":256,"author":{"gitId":"marquestye"},"content":" List\u003cStudent\u003e studentList \u003d logic.getStudentsForCourse(courseId);"},{"lineNumber":257,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":258,"author":{"gitId":"marquestye"},"content":" assertEquals(Const.SECTION_SIZE_LIMIT,"},{"lineNumber":259,"author":{"gitId":"marquestye"},"content":" studentList.stream().filter(student -\u003e student.getSectionName().equals(sectionInMaxCapacity)).count());"},{"lineNumber":260,"author":{"gitId":"marquestye"},"content":" assertEquals(courseId, studentToJoinMaxSection.getCourseId());"},{"lineNumber":261,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":262,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d"},{"lineNumber":263,"author":{"gitId":"marquestye"},"content":" new StudentUpdateRequest(studentToJoinMaxSection.getName(), studentToJoinMaxSection.getEmail(),"},{"lineNumber":264,"author":{"gitId":"marquestye"},"content":" \"randomTeamName\", sectionInMaxCapacity,"},{"lineNumber":265,"author":{"gitId":"marquestye"},"content":" studentToJoinMaxSection.getComments(), true);"},{"lineNumber":266,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":267,"author":{"gitId":"marquestye"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":268,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, studentToJoinMaxSection.getCourseId(),"},{"lineNumber":269,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, studentToJoinMaxSection.getEmail(),"},{"lineNumber":270,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":271,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":272,"author":{"gitId":"marquestye"},"content":" InvalidOperationException ioe \u003d verifyInvalidOperation(updateRequest, submissionParams);"},{"lineNumber":273,"author":{"gitId":"marquestye"},"content":" String expectedErrorMessage \u003d String.format(\"You are trying enroll more than %d students in section \\\"%s\\\". \""},{"lineNumber":274,"author":{"gitId":"marquestye"},"content":" + \"To avoid performance problems, please do not enroll more than %d students in a single section.\","},{"lineNumber":275,"author":{"gitId":"marquestye"},"content":" Const.SECTION_SIZE_LIMIT, sectionInMaxCapacity, Const.SECTION_SIZE_LIMIT);"},{"lineNumber":276,"author":{"gitId":"marquestye"},"content":" assertEquals(expectedErrorMessage, ioe.getMessage());"},{"lineNumber":277,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":278,"author":{"gitId":"marquestye"},"content":" verifyNoTasksAdded();"},{"lineNumber":279,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":280,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":281,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":282,"author":{"gitId":"marquestye"},"content":" public void testExecute_renameEmptySectionNameToDefault_success() {"},{"lineNumber":283,"author":{"gitId":"marquestye"},"content":" Student student4 \u003d typicalBundle.students.get(\"student4InCourse1\");"},{"lineNumber":284,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":285,"author":{"gitId":"marquestye"},"content":" Team originalTeam \u003d student4.getTeam();"},{"lineNumber":286,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":287,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest emptySectionUpdateRequest \u003d new StudentUpdateRequest(student4.getName(), student4.getEmail(),"},{"lineNumber":288,"author":{"gitId":"marquestye"},"content":" student4.getTeamName(), \"\", student4.getComments(), true);"},{"lineNumber":289,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":290,"author":{"gitId":"marquestye"},"content":" String[] emptySectionSubmissionParams \u003d new String[] {"},{"lineNumber":291,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student4.getCourseId(),"},{"lineNumber":292,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student4.getEmail(),"},{"lineNumber":293,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":294,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":295,"author":{"gitId":"marquestye"},"content":" UpdateStudentAction updateEmptySectionAction \u003d getAction(emptySectionUpdateRequest, emptySectionSubmissionParams);"},{"lineNumber":296,"author":{"gitId":"marquestye"},"content":" JsonResult emptySectionActionOutput \u003d getJsonResult(updateEmptySectionAction);"},{"lineNumber":297,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":298,"author":{"gitId":"marquestye"},"content":" MessageOutput emptySectionMsgOutput \u003d (MessageOutput) emptySectionActionOutput.getOutput();"},{"lineNumber":299,"author":{"gitId":"marquestye"},"content":" assertEquals(\"Student has been updated\", emptySectionMsgOutput.getMessage());"},{"lineNumber":300,"author":{"gitId":"marquestye"},"content":" verifyNoEmailsSent();"},{"lineNumber":301,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":302,"author":{"gitId":"marquestye"},"content":" // verify student in database"},{"lineNumber":303,"author":{"gitId":"marquestye"},"content":" Student actualStudent \u003d"},{"lineNumber":304,"author":{"gitId":"marquestye"},"content":" logic.getStudentForEmail(student4.getCourseId(), student4.getEmail());"},{"lineNumber":305,"author":{"gitId":"marquestye"},"content":" assertEquals(student4.getCourse(), actualStudent.getCourse());"},{"lineNumber":306,"author":{"gitId":"marquestye"},"content":" assertEquals(student4.getName(), actualStudent.getName());"},{"lineNumber":307,"author":{"gitId":"marquestye"},"content":" assertEquals(student4.getEmail(), actualStudent.getEmail());"},{"lineNumber":308,"author":{"gitId":"marquestye"},"content":" assertEquals(student4.getTeam(), actualStudent.getTeam());"},{"lineNumber":309,"author":{"gitId":"marquestye"},"content":" assertEquals(Const.DEFAULT_SECTION, actualStudent.getSectionName());"},{"lineNumber":310,"author":{"gitId":"marquestye"},"content":" assertEquals(student4.getComments(), actualStudent.getComments());"},{"lineNumber":311,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":312,"author":{"gitId":"marquestye"},"content":" resetStudent(student4.getId(), student4.getEmail(), originalTeam, student4.getComments());"},{"lineNumber":313,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":314,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":315,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":316,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":317,"author":{"gitId":"marquestye"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":318,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":319,"author":{"gitId":"marquestye"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":320,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":321,"author":{"gitId":"marquestye"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":322,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":323,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":324,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":325,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":326,"author":{"gitId":"marquestye"},"content":" verifyOnlyInstructorsOfTheSameCourseWithCorrectCoursePrivilegeCanAccess("},{"lineNumber":327,"author":{"gitId":"marquestye"},"content":" course, Const.InstructorPermissions.CAN_MODIFY_STUDENT, submissionParams);"},{"lineNumber":328,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":329,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":330,"author":{"gitId":"marquestye"},"content":" private void resetStudent(UUID studentId, String originalEmail, Team originalTeam, String originalComments) {"},{"lineNumber":331,"author":{"gitId":"marquestye"},"content":" Student updatedStudent \u003d logic.getStudent(studentId);"},{"lineNumber":332,"author":{"gitId":"marquestye"},"content":" updatedStudent.setEmail(originalEmail);"},{"lineNumber":333,"author":{"gitId":"marquestye"},"content":" updatedStudent.setTeam(originalTeam);"},{"lineNumber":334,"author":{"gitId":"marquestye"},"content":" updatedStudent.setComments(originalComments);"},{"lineNumber":335,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":336,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":337,"author":{"gitId":"marquestye"},"content":"}"}],"authorContributionMap":{"marquestye":337}},{"path":"src/main/java/teammates/common/datatransfer/SqlSessionResultsBundle.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.common.datatransfer;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import java.util.LinkedHashMap;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import java.util.Map;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import java.util.Set;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const;"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":" * Represents detailed results for a feedback session."},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"public class SqlSessionResultsBundle {"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" private final List\u003cFeedbackQuestion\u003e questions;"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" private final Set\u003cFeedbackQuestion\u003e questionsNotVisibleForPreviewSet;"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" private final Set\u003cFeedbackQuestion\u003e questionsWithCommentNotVisibleForPreviewSet;"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" private final Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e questionResponseMap;"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" private final Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e questionMissingResponseMap;"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" private final Map\u003cFeedbackResponse, List\u003cFeedbackResponseComment\u003e\u003e responseCommentsMap;"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" private final Map\u003cFeedbackResponse, Boolean\u003e responseGiverVisibilityTable;"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" private final Map\u003cFeedbackResponse, Boolean\u003e responseRecipientVisibilityTable;"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" private final Map\u003cLong, Boolean\u003e commentGiverVisibilityTable;"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" private final SqlCourseRoster roster;"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" public SqlSessionResultsBundle(List\u003cFeedbackQuestion\u003e questions,"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackQuestion\u003e questionsNotVisibleForPreviewSet,"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackQuestion\u003e questionsWithCommentNotVisibleForPreviewSet,"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e responses,"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e missingResponses,"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, Boolean\u003e responseGiverVisibilityTable,"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, Boolean\u003e responseRecipientVisibilityTable,"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, List\u003cFeedbackResponseComment\u003e\u003e responseCommentsMap,"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" Map\u003cLong, Boolean\u003e commentGiverVisibilityTable,"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster roster) {"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" this.questions \u003d questions;"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" this.questionsNotVisibleForPreviewSet \u003d questionsNotVisibleForPreviewSet;"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" this.questionsWithCommentNotVisibleForPreviewSet \u003d questionsWithCommentNotVisibleForPreviewSet;"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" this.responseCommentsMap \u003d responseCommentsMap;"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" this.responseGiverVisibilityTable \u003d responseGiverVisibilityTable;"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" this.responseRecipientVisibilityTable \u003d responseRecipientVisibilityTable;"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" this.commentGiverVisibilityTable \u003d commentGiverVisibilityTable;"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" this.roster \u003d roster;"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" this.questionResponseMap \u003d buildQuestionToResponseMap(responses);"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" this.questionMissingResponseMap \u003d buildQuestionToResponseMap(missingResponses);"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" private Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e buildQuestionToResponseMap("},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e responses) {"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" // build question to response map"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e questionToResponseMap \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" for (FeedbackQuestion question : questions) {"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" questionToResponseMap.put(question, new ArrayList\u003c\u003e());"},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question \u003d response.getFeedbackQuestion();"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e responsesForQuestion \u003d questionToResponseMap.get(question);"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" responsesForQuestion.add(response);"},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":" return questionToResponseMap;"},{"lineNumber":67,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":68,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":" * Returns true if the giver of a response is visible to the current user."},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" * Returns false otherwise."},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" public boolean isResponseGiverVisible(FeedbackResponse response) {"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" return isResponseParticipantVisible(true, response);"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" * Returns true if the recipient of a response is visible to the current user."},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" * Returns false otherwise."},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":" public boolean isResponseRecipientVisible(FeedbackResponse response) {"},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" return isResponseParticipantVisible(false, response);"},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":" * Checks if the giver/recipient for a response is visible/hidden from the current user."},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" private boolean isResponseParticipantVisible(boolean isGiver, FeedbackResponse response) {"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question \u003d response.getFeedbackQuestion();"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType participantType;"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":" boolean isVisible;"},{"lineNumber":93,"author":{"gitId":"xenosf"},"content":" if (isGiver) {"},{"lineNumber":94,"author":{"gitId":"xenosf"},"content":" isVisible \u003d responseGiverVisibilityTable.get(response);"},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":" participantType \u003d question.getGiverType();"},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" isVisible \u003d responseRecipientVisibilityTable.get(response);"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" participantType \u003d question.getRecipientType();"},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":100,"author":{"gitId":"xenosf"},"content":" boolean isTypeNone \u003d participantType \u003d\u003d FeedbackParticipantType.NONE;"},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":102,"author":{"gitId":"xenosf"},"content":" return isVisible || isTypeNone;"},{"lineNumber":103,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":104,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":105,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":106,"author":{"gitId":"xenosf"},"content":" * Returns true if the giver of a comment is visible to the current user."},{"lineNumber":107,"author":{"gitId":"xenosf"},"content":" * Returns false otherwise."},{"lineNumber":108,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":109,"author":{"gitId":"xenosf"},"content":" public boolean isCommentGiverVisible(FeedbackResponseComment comment) {"},{"lineNumber":110,"author":{"gitId":"xenosf"},"content":" return commentGiverVisibilityTable.get(comment.getId());"},{"lineNumber":111,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":112,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":113,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":114,"author":{"gitId":"xenosf"},"content":" * Gets the anonymous name for a given name."},{"lineNumber":115,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" * \u003cp\u003eThe anonymous name will be deterministic based on {@code name}."},{"lineNumber":117,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":118,"author":{"gitId":"xenosf"},"content":" public static String getAnonName(FeedbackParticipantType type, String name) {"},{"lineNumber":119,"author":{"gitId":"xenosf"},"content":" String hashedEncryptedName \u003d getHashOfName(getEncryptedName(name));"},{"lineNumber":120,"author":{"gitId":"xenosf"},"content":" String participantType \u003d type.toSingularFormString();"},{"lineNumber":121,"author":{"gitId":"xenosf"},"content":" return String.format("},{"lineNumber":122,"author":{"gitId":"xenosf"},"content":" Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT + \" %s %s\", participantType, hashedEncryptedName);"},{"lineNumber":123,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":" public Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e getQuestionResponseMap() {"},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":" return questionResponseMap;"},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" public Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e getQuestionMissingResponseMap() {"},{"lineNumber":130,"author":{"gitId":"xenosf"},"content":" return questionMissingResponseMap;"},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":132,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":133,"author":{"gitId":"xenosf"},"content":" private static String getEncryptedName(String name) {"},{"lineNumber":134,"author":{"gitId":"xenosf"},"content":" return StringHelper.encrypt(name);"},{"lineNumber":135,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":136,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":137,"author":{"gitId":"xenosf"},"content":" private static String getHashOfName(String name) {"},{"lineNumber":138,"author":{"gitId":"xenosf"},"content":" return Long.toString(Math.abs((long) name.hashCode()));"},{"lineNumber":139,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":140,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":141,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackQuestion\u003e getQuestions() {"},{"lineNumber":142,"author":{"gitId":"xenosf"},"content":" return questions;"},{"lineNumber":143,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":144,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":145,"author":{"gitId":"xenosf"},"content":" public Map\u003cFeedbackResponse, List\u003cFeedbackResponseComment\u003e\u003e getResponseCommentsMap() {"},{"lineNumber":146,"author":{"gitId":"xenosf"},"content":" return responseCommentsMap;"},{"lineNumber":147,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":148,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":149,"author":{"gitId":"xenosf"},"content":" public SqlCourseRoster getRoster() {"},{"lineNumber":150,"author":{"gitId":"xenosf"},"content":" return roster;"},{"lineNumber":151,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":152,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":153,"author":{"gitId":"xenosf"},"content":" public Map\u003cFeedbackResponse, Boolean\u003e getResponseGiverVisibilityTable() {"},{"lineNumber":154,"author":{"gitId":"xenosf"},"content":" return responseGiverVisibilityTable;"},{"lineNumber":155,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":156,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":157,"author":{"gitId":"xenosf"},"content":" public Map\u003cFeedbackResponse, Boolean\u003e getResponseRecipientVisibilityTable() {"},{"lineNumber":158,"author":{"gitId":"xenosf"},"content":" return responseRecipientVisibilityTable;"},{"lineNumber":159,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":160,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":161,"author":{"gitId":"xenosf"},"content":" public Map\u003cLong, Boolean\u003e getCommentGiverVisibilityTable() {"},{"lineNumber":162,"author":{"gitId":"xenosf"},"content":" return commentGiverVisibilityTable;"},{"lineNumber":163,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":164,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":165,"author":{"gitId":"xenosf"},"content":" public Set\u003cFeedbackQuestion\u003e getQuestionsNotVisibleForPreviewSet() {"},{"lineNumber":166,"author":{"gitId":"xenosf"},"content":" return questionsNotVisibleForPreviewSet;"},{"lineNumber":167,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":168,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":169,"author":{"gitId":"xenosf"},"content":" public Set\u003cFeedbackQuestion\u003e getQuestionsWithCommentNotVisibleForPreviewSet() {"},{"lineNumber":170,"author":{"gitId":"xenosf"},"content":" return questionsWithCommentNotVisibleForPreviewSet;"},{"lineNumber":171,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":172,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":172}},{"path":"src/main/java/teammates/common/datatransfer/attributes/StudentAttributes.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.datatransfer.attributes;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Comparator;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Objects;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.entity.CourseStudent;"},{"lineNumber":14,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * The data transfer object for {@link CourseStudent} entities."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public final class StudentAttributes extends EntityAttributes\u003cCourseStudent\u003e {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" private String email;"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private String course;"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private String name;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" private String googleId;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private String comments;"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private String team;"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private String section;"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private transient String key;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private transient Instant createdAt;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private transient Instant updatedAt;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private StudentAttributes(String courseId, String email) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" this.course \u003d courseId;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" this.email \u003d email;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" this.googleId \u003d \"\";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" this.section \u003d Const.DEFAULT_SECTION;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" this.createdAt \u003d Const.TIME_REPRESENTS_DEFAULT_TIMESTAMP;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" this.updatedAt \u003d Const.TIME_REPRESENTS_DEFAULT_TIMESTAMP;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Gets the {@link StudentAttributes} instance of the given {@link CourseStudent}."},{"lineNumber":44,"author":{"gitId":"-"},"content":" */"},{"lineNumber":45,"author":{"gitId":"-"},"content":" public static StudentAttributes valueOf(CourseStudent student) {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" StudentAttributes studentAttributes \u003d new StudentAttributes(student.getCourseId(), student.getEmail());"},{"lineNumber":47,"author":{"gitId":"-"},"content":" studentAttributes.name \u003d student.getName();"},{"lineNumber":48,"author":{"gitId":"-"},"content":" if (student.getGoogleId() !\u003d null) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" studentAttributes.googleId \u003d student.getGoogleId();"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":" studentAttributes.team \u003d student.getTeamName();"},{"lineNumber":52,"author":{"gitId":"-"},"content":" if (student.getSectionName() !\u003d null) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" studentAttributes.section \u003d student.getSectionName();"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":" studentAttributes.comments \u003d student.getComments();"},{"lineNumber":56,"author":{"gitId":"-"},"content":" studentAttributes.key \u003d student.getRegistrationKey();"},{"lineNumber":57,"author":{"gitId":"-"},"content":" if (student.getCreatedAt() !\u003d null) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" studentAttributes.createdAt \u003d student.getCreatedAt();"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" if (student.getUpdatedAt() !\u003d null) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" studentAttributes.updatedAt \u003d student.getUpdatedAt();"},{"lineNumber":62,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":63,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":64,"author":{"gitId":"marquestye"},"content":" return studentAttributes;"},{"lineNumber":65,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":66,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":67,"author":{"gitId":"marquestye"},"content":" /**"},{"lineNumber":68,"author":{"gitId":"marquestye"},"content":" * Gets the {@link StudentAttributes} instance of the given {@link Student}."},{"lineNumber":69,"author":{"gitId":"marquestye"},"content":" */"},{"lineNumber":70,"author":{"gitId":"marquestye"},"content":" public static StudentAttributes valueOf(Student student) {"},{"lineNumber":71,"author":{"gitId":"marquestye"},"content":" StudentAttributes studentAttributes \u003d new StudentAttributes(student.getCourseId(), student.getEmail());"},{"lineNumber":72,"author":{"gitId":"marquestye"},"content":" studentAttributes.name \u003d student.getName();"},{"lineNumber":73,"author":{"gitId":"marquestye"},"content":" if (student.getGoogleId() !\u003d null) {"},{"lineNumber":74,"author":{"gitId":"marquestye"},"content":" studentAttributes.googleId \u003d student.getGoogleId();"},{"lineNumber":75,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":76,"author":{"gitId":"marquestye"},"content":" studentAttributes.team \u003d student.getTeamName();"},{"lineNumber":77,"author":{"gitId":"marquestye"},"content":" if (student.getSectionName() !\u003d null) {"},{"lineNumber":78,"author":{"gitId":"marquestye"},"content":" studentAttributes.section \u003d student.getSectionName();"},{"lineNumber":79,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":80,"author":{"gitId":"marquestye"},"content":" studentAttributes.comments \u003d student.getComments();"},{"lineNumber":81,"author":{"gitId":"marquestye"},"content":" // studentAttributes.key \u003d student.getRegistrationKey();"},{"lineNumber":82,"author":{"gitId":"marquestye"},"content":" if (student.getCreatedAt() !\u003d null) {"},{"lineNumber":83,"author":{"gitId":"marquestye"},"content":" studentAttributes.createdAt \u003d student.getCreatedAt();"},{"lineNumber":84,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":85,"author":{"gitId":"marquestye"},"content":" if (student.getUpdatedAt() !\u003d null) {"},{"lineNumber":86,"author":{"gitId":"marquestye"},"content":" studentAttributes.updatedAt \u003d student.getUpdatedAt();"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" return studentAttributes;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":93,"author":{"gitId":"-"},"content":" * Return a builder for {@link StudentAttributes}."},{"lineNumber":94,"author":{"gitId":"-"},"content":" */"},{"lineNumber":95,"author":{"gitId":"-"},"content":" public static Builder builder(String courseId, String email) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" return new Builder(courseId, email);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * Gets a deep copy of this object."},{"lineNumber":101,"author":{"gitId":"-"},"content":" */"},{"lineNumber":102,"author":{"gitId":"-"},"content":" public StudentAttributes getCopy() {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" StudentAttributes studentAttributes \u003d new StudentAttributes(course, email);"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" studentAttributes.name \u003d name;"},{"lineNumber":106,"author":{"gitId":"-"},"content":" studentAttributes.googleId \u003d googleId;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" studentAttributes.team \u003d team;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" studentAttributes.section \u003d section;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" studentAttributes.comments \u003d comments;"},{"lineNumber":110,"author":{"gitId":"-"},"content":" studentAttributes.key \u003d key;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" studentAttributes.createdAt \u003d createdAt;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" studentAttributes.updatedAt \u003d updatedAt;"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" return studentAttributes;"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" public boolean isRegistered() {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" return googleId !\u003d null \u0026\u0026 !googleId.trim().isEmpty();"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" public String getRegistrationUrl() {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" return Config.getFrontEndAppUrl(Const.WebPageURIs.JOIN_PAGE)"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .withRegistrationKey(key)"},{"lineNumber":124,"author":{"gitId":"-"},"content":" .withEntityType(Const.EntityType.STUDENT)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" .toString();"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" public String getName() {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" return name;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" public void setName(String name) {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" this.name \u003d name;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" public String getEmail() {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" public void setEmail(String email) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" this.email \u003d email;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" public String getCourse() {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" return course;"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" public void setCourse(String course) {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" this.course \u003d course;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" public String getGoogleId() {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" return googleId;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" public void setGoogleId(String googleId) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" this.googleId \u003d googleId;"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" public String getKey() {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" return key;"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" public void setKey(String key) {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" this.key \u003d key;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":169,"author":{"gitId":"-"},"content":" * Format: email%courseId e.g., adam@gmail.com%cs1101."},{"lineNumber":170,"author":{"gitId":"-"},"content":" */"},{"lineNumber":171,"author":{"gitId":"-"},"content":" public String getId() {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" return email + \"%\" + course;"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" public String getSection() {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" return section;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" public void setSection(String section) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" this.section \u003d section;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" public String getTeam() {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" return team;"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" public void setTeam(String team) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" this.team \u003d team;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" public String getComments() {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" return comments;"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" public void setComments(String comments) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" this.comments \u003d comments;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":200,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" if (other \u003d\u003d null) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" } else if (this \u003d\u003d other) {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":205,"author":{"gitId":"-"},"content":" } else if (this.getClass() \u003d\u003d other.getClass()) {"},{"lineNumber":206,"author":{"gitId":"-"},"content":" StudentAttributes otherStudent \u003d (StudentAttributes) other;"},{"lineNumber":207,"author":{"gitId":"-"},"content":" return Objects.equals(this.course, otherStudent.course)"},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.name, otherStudent.name)"},{"lineNumber":209,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.email, otherStudent.email)"},{"lineNumber":210,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.googleId, otherStudent.googleId)"},{"lineNumber":211,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.comments, otherStudent.comments)"},{"lineNumber":212,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.team, otherStudent.team)"},{"lineNumber":213,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.section, otherStudent.section);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":220,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getInvalidityInfo() {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" // id is allowed to be null when the student is not registered"},{"lineNumber":222,"author":{"gitId":"-"},"content":" assert team !\u003d null;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" assert comments !\u003d null;"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" List\u003cString\u003e errors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" if (isRegistered()) {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForGoogleId(googleId), errors);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForCourseId(course), errors);"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForEmail(email), errors);"},{"lineNumber":234,"author":{"gitId":"-"},"content":""},{"lineNumber":235,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForTeamName(team), errors);"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForSectionName(section), errors);"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForStudentRoleComments(comments), errors);"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForPersonName(name), errors);"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" return errors;"},{"lineNumber":244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * Sorts the list of students by the section name, then team name, then name."},{"lineNumber":248,"author":{"gitId":"-"},"content":" */"},{"lineNumber":249,"author":{"gitId":"-"},"content":" public static void sortBySectionName(List\u003cStudentAttributes\u003e students) {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" students.sort(Comparator.comparing((StudentAttributes student) -\u003e student.section)"},{"lineNumber":251,"author":{"gitId":"-"},"content":" .thenComparing(student -\u003e student.team)"},{"lineNumber":252,"author":{"gitId":"-"},"content":" .thenComparing(student -\u003e student.name));"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":256,"author":{"gitId":"-"},"content":" * Sorts the list of students by the team name, then name."},{"lineNumber":257,"author":{"gitId":"-"},"content":" */"},{"lineNumber":258,"author":{"gitId":"-"},"content":" public static void sortByTeamName(List\u003cStudentAttributes\u003e students) {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" students.sort(Comparator.comparing((StudentAttributes student) -\u003e student.team)"},{"lineNumber":260,"author":{"gitId":"-"},"content":" .thenComparing(student -\u003e student.name));"},{"lineNumber":261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":264,"author":{"gitId":"-"},"content":" public CourseStudent toEntity() {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" return new CourseStudent(email, name, googleId, comments, course, team, section);"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":269,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":270,"author":{"gitId":"-"},"content":" StringBuilder stringBuilder \u003d new StringBuilder();"},{"lineNumber":271,"author":{"gitId":"-"},"content":" stringBuilder.append(this.email).append(this.name).append(this.course)"},{"lineNumber":272,"author":{"gitId":"-"},"content":" .append(this.googleId).append(this.team).append(this.section).append(this.comments);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" return stringBuilder.toString().hashCode();"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":277,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" return \"Student:\" + name + \"[\" + email + \"]\";"},{"lineNumber":279,"author":{"gitId":"-"},"content":" }"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":282,"author":{"gitId":"-"},"content":" public void sanitizeForSaving() {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" googleId \u003d SanitizationHelper.sanitizeGoogleId(googleId);"},{"lineNumber":284,"author":{"gitId":"-"},"content":" name \u003d SanitizationHelper.sanitizeName(name);"},{"lineNumber":285,"author":{"gitId":"-"},"content":" comments \u003d SanitizationHelper.sanitizeTextField(comments);"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" public Instant getCreatedAt() {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" return createdAt;"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" public Instant getUpdatedAt() {"},{"lineNumber":293,"author":{"gitId":"-"},"content":" return updatedAt;"},{"lineNumber":294,"author":{"gitId":"-"},"content":" }"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":" public void setCreatedAt(Instant createdAt) {"},{"lineNumber":297,"author":{"gitId":"-"},"content":" this.createdAt \u003d createdAt;"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" public void setUpdatedAt(Instant updatedAt) {"},{"lineNumber":301,"author":{"gitId":"-"},"content":" this.updatedAt \u003d updatedAt;"},{"lineNumber":302,"author":{"gitId":"-"},"content":" }"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":305,"author":{"gitId":"-"},"content":" * Updates with {@link UpdateOptions}."},{"lineNumber":306,"author":{"gitId":"-"},"content":" */"},{"lineNumber":307,"author":{"gitId":"-"},"content":" public void update(UpdateOptions updateOptions) {"},{"lineNumber":308,"author":{"gitId":"-"},"content":" updateOptions.newEmailOption.ifPresent(s -\u003e email \u003d s);"},{"lineNumber":309,"author":{"gitId":"-"},"content":" updateOptions.nameOption.ifPresent(s -\u003e name \u003d s);"},{"lineNumber":310,"author":{"gitId":"-"},"content":" updateOptions.commentOption.ifPresent(s -\u003e comments \u003d s);"},{"lineNumber":311,"author":{"gitId":"-"},"content":" updateOptions.googleIdOption.ifPresent(s -\u003e googleId \u003d s);"},{"lineNumber":312,"author":{"gitId":"-"},"content":" updateOptions.teamNameOption.ifPresent(s -\u003e team \u003d s);"},{"lineNumber":313,"author":{"gitId":"-"},"content":" updateOptions.sectionNameOption.ifPresent(s -\u003e section \u003d s);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" }"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":317,"author":{"gitId":"-"},"content":" * Returns a {@link UpdateOptions.Builder} to build {@link UpdateOptions} for a student."},{"lineNumber":318,"author":{"gitId":"-"},"content":" */"},{"lineNumber":319,"author":{"gitId":"-"},"content":" public static UpdateOptions.Builder updateOptionsBuilder(String courseId, String email) {"},{"lineNumber":320,"author":{"gitId":"-"},"content":" return new UpdateOptions.Builder(courseId, email);"},{"lineNumber":321,"author":{"gitId":"-"},"content":" }"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":324,"author":{"gitId":"-"},"content":" * A builder class for {@link StudentAttributes}."},{"lineNumber":325,"author":{"gitId":"-"},"content":" */"},{"lineNumber":326,"author":{"gitId":"-"},"content":" public static class Builder extends BasicBuilder\u003cStudentAttributes, Builder\u003e {"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" private final StudentAttributes studentAttributes;"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" private Builder(String courseId, String email) {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" super(new UpdateOptions(courseId, email));"},{"lineNumber":332,"author":{"gitId":"-"},"content":" thisBuilder \u003d this;"},{"lineNumber":333,"author":{"gitId":"-"},"content":""},{"lineNumber":334,"author":{"gitId":"-"},"content":" studentAttributes \u003d new StudentAttributes(courseId, email);"},{"lineNumber":335,"author":{"gitId":"-"},"content":" }"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":338,"author":{"gitId":"-"},"content":" public StudentAttributes build() {"},{"lineNumber":339,"author":{"gitId":"-"},"content":" studentAttributes.update(updateOptions);"},{"lineNumber":340,"author":{"gitId":"-"},"content":""},{"lineNumber":341,"author":{"gitId":"-"},"content":" return studentAttributes;"},{"lineNumber":342,"author":{"gitId":"-"},"content":" }"},{"lineNumber":343,"author":{"gitId":"-"},"content":" }"},{"lineNumber":344,"author":{"gitId":"-"},"content":""},{"lineNumber":345,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":346,"author":{"gitId":"-"},"content":" * Helper class to specify the fields to update in {@link StudentAttributes}."},{"lineNumber":347,"author":{"gitId":"-"},"content":" */"},{"lineNumber":348,"author":{"gitId":"-"},"content":" public static class UpdateOptions {"},{"lineNumber":349,"author":{"gitId":"-"},"content":" private String courseId;"},{"lineNumber":350,"author":{"gitId":"-"},"content":" private String email;"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" private UpdateOption\u003cString\u003e newEmailOption \u003d UpdateOption.empty();"},{"lineNumber":353,"author":{"gitId":"-"},"content":" private UpdateOption\u003cString\u003e nameOption \u003d UpdateOption.empty();"},{"lineNumber":354,"author":{"gitId":"-"},"content":" private UpdateOption\u003cString\u003e commentOption \u003d UpdateOption.empty();"},{"lineNumber":355,"author":{"gitId":"-"},"content":" private UpdateOption\u003cString\u003e googleIdOption \u003d UpdateOption.empty();"},{"lineNumber":356,"author":{"gitId":"-"},"content":" private UpdateOption\u003cString\u003e teamNameOption \u003d UpdateOption.empty();"},{"lineNumber":357,"author":{"gitId":"-"},"content":" private UpdateOption\u003cString\u003e sectionNameOption \u003d UpdateOption.empty();"},{"lineNumber":358,"author":{"gitId":"-"},"content":""},{"lineNumber":359,"author":{"gitId":"-"},"content":" private UpdateOptions(String courseId, String email) {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":361,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":362,"author":{"gitId":"-"},"content":""},{"lineNumber":363,"author":{"gitId":"-"},"content":" this.courseId \u003d courseId;"},{"lineNumber":364,"author":{"gitId":"-"},"content":" this.email \u003d email;"},{"lineNumber":365,"author":{"gitId":"-"},"content":" }"},{"lineNumber":366,"author":{"gitId":"-"},"content":""},{"lineNumber":367,"author":{"gitId":"-"},"content":" public String getCourseId() {"},{"lineNumber":368,"author":{"gitId":"-"},"content":" return courseId;"},{"lineNumber":369,"author":{"gitId":"-"},"content":" }"},{"lineNumber":370,"author":{"gitId":"-"},"content":""},{"lineNumber":371,"author":{"gitId":"-"},"content":" public String getEmail() {"},{"lineNumber":372,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":373,"author":{"gitId":"-"},"content":" }"},{"lineNumber":374,"author":{"gitId":"-"},"content":""},{"lineNumber":375,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":376,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":377,"author":{"gitId":"-"},"content":" return \"StudentAttributes.UpdateOptions [\""},{"lineNumber":378,"author":{"gitId":"-"},"content":" + \"courseId \u003d \" + courseId"},{"lineNumber":379,"author":{"gitId":"-"},"content":" + \", email \u003d \" + email"},{"lineNumber":380,"author":{"gitId":"-"},"content":" + \", newEmail \u003d \" + newEmailOption"},{"lineNumber":381,"author":{"gitId":"-"},"content":" + \", name \u003d \" + nameOption"},{"lineNumber":382,"author":{"gitId":"-"},"content":" + \", comment \u003d \" + commentOption"},{"lineNumber":383,"author":{"gitId":"-"},"content":" + \", googleId \u003d \" + googleIdOption"},{"lineNumber":384,"author":{"gitId":"-"},"content":" + \", teamName \u003d \" + teamNameOption"},{"lineNumber":385,"author":{"gitId":"-"},"content":" + \", sectionName \u003d \" + sectionNameOption"},{"lineNumber":386,"author":{"gitId":"-"},"content":" + \"]\";"},{"lineNumber":387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":388,"author":{"gitId":"-"},"content":""},{"lineNumber":389,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":390,"author":{"gitId":"-"},"content":" * Builder class to build {@link UpdateOptions}."},{"lineNumber":391,"author":{"gitId":"-"},"content":" */"},{"lineNumber":392,"author":{"gitId":"-"},"content":" public static class Builder extends BasicBuilder\u003cUpdateOptions, Builder\u003e {"},{"lineNumber":393,"author":{"gitId":"-"},"content":""},{"lineNumber":394,"author":{"gitId":"-"},"content":" private Builder(String courseId, String email) {"},{"lineNumber":395,"author":{"gitId":"-"},"content":" super(new UpdateOptions(courseId, email));"},{"lineNumber":396,"author":{"gitId":"-"},"content":" thisBuilder \u003d this;"},{"lineNumber":397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":398,"author":{"gitId":"-"},"content":""},{"lineNumber":399,"author":{"gitId":"-"},"content":" public Builder withNewEmail(String email) {"},{"lineNumber":400,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":401,"author":{"gitId":"-"},"content":""},{"lineNumber":402,"author":{"gitId":"-"},"content":" updateOptions.newEmailOption \u003d UpdateOption.of(email);"},{"lineNumber":403,"author":{"gitId":"-"},"content":" return thisBuilder;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":407,"author":{"gitId":"-"},"content":" public UpdateOptions build() {"},{"lineNumber":408,"author":{"gitId":"-"},"content":" return updateOptions;"},{"lineNumber":409,"author":{"gitId":"-"},"content":" }"},{"lineNumber":410,"author":{"gitId":"-"},"content":""},{"lineNumber":411,"author":{"gitId":"-"},"content":" }"},{"lineNumber":412,"author":{"gitId":"-"},"content":""},{"lineNumber":413,"author":{"gitId":"-"},"content":" }"},{"lineNumber":414,"author":{"gitId":"-"},"content":""},{"lineNumber":415,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":416,"author":{"gitId":"-"},"content":" * Basic builder to build {@link StudentAttributes} related classes."},{"lineNumber":417,"author":{"gitId":"-"},"content":" *"},{"lineNumber":418,"author":{"gitId":"-"},"content":" * @param \u003cT\u003e type to be built"},{"lineNumber":419,"author":{"gitId":"-"},"content":" * @param \u003cB\u003e type of the builder"},{"lineNumber":420,"author":{"gitId":"-"},"content":" */"},{"lineNumber":421,"author":{"gitId":"-"},"content":" private abstract static class BasicBuilder\u003cT, B extends BasicBuilder\u003cT, B\u003e\u003e {"},{"lineNumber":422,"author":{"gitId":"-"},"content":""},{"lineNumber":423,"author":{"gitId":"-"},"content":" UpdateOptions updateOptions;"},{"lineNumber":424,"author":{"gitId":"-"},"content":" B thisBuilder;"},{"lineNumber":425,"author":{"gitId":"-"},"content":""},{"lineNumber":426,"author":{"gitId":"-"},"content":" BasicBuilder(UpdateOptions updateOptions) {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" this.updateOptions \u003d updateOptions;"},{"lineNumber":428,"author":{"gitId":"-"},"content":" }"},{"lineNumber":429,"author":{"gitId":"-"},"content":""},{"lineNumber":430,"author":{"gitId":"-"},"content":" public B withName(String name) {"},{"lineNumber":431,"author":{"gitId":"-"},"content":" assert name !\u003d null;"},{"lineNumber":432,"author":{"gitId":"-"},"content":""},{"lineNumber":433,"author":{"gitId":"-"},"content":" updateOptions.nameOption \u003d UpdateOption.of(name);"},{"lineNumber":434,"author":{"gitId":"-"},"content":" return thisBuilder;"},{"lineNumber":435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":436,"author":{"gitId":"-"},"content":""},{"lineNumber":437,"author":{"gitId":"-"},"content":" public B withComment(String comment) {"},{"lineNumber":438,"author":{"gitId":"-"},"content":" assert comment !\u003d null;"},{"lineNumber":439,"author":{"gitId":"-"},"content":""},{"lineNumber":440,"author":{"gitId":"-"},"content":" updateOptions.commentOption \u003d UpdateOption.of(comment);"},{"lineNumber":441,"author":{"gitId":"-"},"content":" return thisBuilder;"},{"lineNumber":442,"author":{"gitId":"-"},"content":" }"},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" public B withGoogleId(String googleId) {"},{"lineNumber":445,"author":{"gitId":"-"},"content":" // google id can be set to null"},{"lineNumber":446,"author":{"gitId":"-"},"content":" updateOptions.googleIdOption \u003d UpdateOption.of(googleId);"},{"lineNumber":447,"author":{"gitId":"-"},"content":" return thisBuilder;"},{"lineNumber":448,"author":{"gitId":"-"},"content":" }"},{"lineNumber":449,"author":{"gitId":"-"},"content":""},{"lineNumber":450,"author":{"gitId":"-"},"content":" public B withTeamName(String teamName) {"},{"lineNumber":451,"author":{"gitId":"-"},"content":" assert teamName !\u003d null;"},{"lineNumber":452,"author":{"gitId":"-"},"content":""},{"lineNumber":453,"author":{"gitId":"-"},"content":" updateOptions.teamNameOption \u003d UpdateOption.of(teamName);"},{"lineNumber":454,"author":{"gitId":"-"},"content":" return thisBuilder;"},{"lineNumber":455,"author":{"gitId":"-"},"content":" }"},{"lineNumber":456,"author":{"gitId":"-"},"content":""},{"lineNumber":457,"author":{"gitId":"-"},"content":" public B withSectionName(String sectionName) {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" assert sectionName !\u003d null;"},{"lineNumber":459,"author":{"gitId":"-"},"content":""},{"lineNumber":460,"author":{"gitId":"-"},"content":" updateOptions.sectionNameOption \u003d UpdateOption.of(sectionName);"},{"lineNumber":461,"author":{"gitId":"-"},"content":" return thisBuilder;"},{"lineNumber":462,"author":{"gitId":"-"},"content":" }"},{"lineNumber":463,"author":{"gitId":"-"},"content":""},{"lineNumber":464,"author":{"gitId":"-"},"content":" public abstract T build();"},{"lineNumber":465,"author":{"gitId":"-"},"content":""},{"lineNumber":466,"author":{"gitId":"-"},"content":" }"},{"lineNumber":467,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":26,"-":441}},{"path":"src/main/java/teammates/common/datatransfer/questions/FeedbackQuestionDetails.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.datatransfer.questions;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SessionResultsBundle;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.SqlSessionResultsBundle;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * A class holding the details for a specific question type."},{"lineNumber":14,"author":{"gitId":"-"},"content":" * This abstract class is inherited by concrete Feedback*QuestionDetails"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * classes which provides the implementation for the various abstract methods"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * such that pages can render the correct information/forms depending on the"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * question type"},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public abstract class FeedbackQuestionDetails {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" private FeedbackQuestionType questionType;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" private String questionText;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" protected FeedbackQuestionDetails(FeedbackQuestionType questionType) {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" this.questionType \u003d questionType;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" protected FeedbackQuestionDetails(FeedbackQuestionType questionType, String questionText) {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" this.questionType \u003d questionType;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" this.questionText \u003d questionText;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Get question result statistics as JSON string."},{"lineNumber":34,"author":{"gitId":"-"},"content":" */"},{"lineNumber":35,"author":{"gitId":"-"},"content":" @SuppressWarnings(\"PMD.EmptyMethodInAbstractClassShouldBeAbstract\")"},{"lineNumber":36,"author":{"gitId":"-"},"content":" public String getQuestionResultStatisticsJson("},{"lineNumber":37,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes question, String studentEmail, SessionResultsBundle bundle) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" // Statistics are calculated in the front-end as it is dependent on the responses being filtered."},{"lineNumber":39,"author":{"gitId":"-"},"content":" // The only exception is contribution question, where there is only one statistics for the entire question."},{"lineNumber":40,"author":{"gitId":"-"},"content":" // It is also necessary to calculate contribution question statistics here"},{"lineNumber":41,"author":{"gitId":"-"},"content":" // to be displayed in student result page as students are not supposed to be able to see the exact responses."},{"lineNumber":42,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" * Get question result statistics as JSON string."},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" @SuppressWarnings(\"PMD.EmptyMethodInAbstractClassShouldBeAbstract\")"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" public String getQuestionResultStatisticsJson("},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question, String studentEmail, SqlSessionResultsBundle bundle) {"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" // Statistics are calculated in the front-end as it is dependent on the responses being filtered."},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" // The only exception is contribution question, where there is only one statistics for the entire question."},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" // It is also necessary to calculate contribution question statistics here"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" // to be displayed in student result page as students are not supposed to be able to see the exact responses."},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":" return \"\";"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Checks whether the changes to the question details require deletion of corresponding responses."},{"lineNumber":60,"author":{"gitId":"-"},"content":" */"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public abstract boolean shouldChangesRequireResponseDeletion(FeedbackQuestionDetails newDetails);"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":64,"author":{"gitId":"-"},"content":" * Individual responses are shown by default."},{"lineNumber":65,"author":{"gitId":"-"},"content":" * Override for specific question types if necessary."},{"lineNumber":66,"author":{"gitId":"-"},"content":" *"},{"lineNumber":67,"author":{"gitId":"-"},"content":" * @return boolean indicating if individual responses are to be shown to students."},{"lineNumber":68,"author":{"gitId":"-"},"content":" */"},{"lineNumber":69,"author":{"gitId":"-"},"content":" public boolean isIndividualResponsesShownToStudents() {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":74,"author":{"gitId":"-"},"content":" * Validates the question details."},{"lineNumber":75,"author":{"gitId":"-"},"content":" * @return A {@code List\u003cString\u003e} of error messages (to show as status message to user) if any, or an"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * empty list if question details are valid."},{"lineNumber":77,"author":{"gitId":"-"},"content":" */"},{"lineNumber":78,"author":{"gitId":"-"},"content":" public abstract List\u003cString\u003e validateQuestionDetails();"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":81,"author":{"gitId":"-"},"content":" * Validates the list of response details."},{"lineNumber":82,"author":{"gitId":"-"},"content":" * @return A {@code List\u003cString\u003e} of error messages (to show as status message to user) if any, or an"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * empty list if all response details are valid."},{"lineNumber":84,"author":{"gitId":"-"},"content":" */"},{"lineNumber":85,"author":{"gitId":"-"},"content":" public abstract List\u003cString\u003e validateResponsesDetails(List\u003cFeedbackResponseDetails\u003e responseDetails, int numRecipients);"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Validates if giverType and recipientType are valid for the question type."},{"lineNumber":89,"author":{"gitId":"-"},"content":" * Validates visibility options as well."},{"lineNumber":90,"author":{"gitId":"-"},"content":" *"},{"lineNumber":91,"author":{"gitId":"-"},"content":" * \u003cp\u003eOverride in Feedback*QuestionDetails if necessary."},{"lineNumber":92,"author":{"gitId":"-"},"content":" * @return error message detailing the error, or an empty string if valid."},{"lineNumber":93,"author":{"gitId":"-"},"content":" */"},{"lineNumber":94,"author":{"gitId":"-"},"content":" public abstract String validateGiverRecipientVisibility(FeedbackQuestionAttributes feedbackQuestionAttributes);"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":97,"author":{"gitId":"-"},"content":" * Validates if giverType and recipientType are valid for the question type."},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Validates visibility options as well."},{"lineNumber":99,"author":{"gitId":"-"},"content":" *"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * \u003cp\u003eOverride in Feedback*QuestionDetails if necessary."},{"lineNumber":101,"author":{"gitId":"-"},"content":" * @return error message detailing the error, or an empty string if valid."},{"lineNumber":102,"author":{"gitId":"-"},"content":" */"},{"lineNumber":103,"author":{"gitId":"-"},"content":" public abstract String validateGiverRecipientVisibility(FeedbackQuestion feedbackQuestion);"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":106,"author":{"gitId":"-"},"content":" * Checks whether instructor comments are allowed for the question."},{"lineNumber":107,"author":{"gitId":"-"},"content":" */"},{"lineNumber":108,"author":{"gitId":"-"},"content":" public boolean isInstructorCommentsOnResponsesAllowed() {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":113,"author":{"gitId":"-"},"content":" * Checks whether missing responses should be generated."},{"lineNumber":114,"author":{"gitId":"-"},"content":" */"},{"lineNumber":115,"author":{"gitId":"-"},"content":" public boolean shouldGenerateMissingResponses(FeedbackQuestionAttributes question) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" // generate combinations against all students/teams are meaningless"},{"lineNumber":117,"author":{"gitId":"-"},"content":" return question.getRecipientType() !\u003d FeedbackParticipantType.STUDENTS"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.STUDENTS_EXCLUDING_SELF"},{"lineNumber":119,"author":{"gitId":"-"},"content":" \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.TEAMS_EXCLUDING_SELF;"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":" * Checks whether missing responses should be generated."},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":" public boolean shouldGenerateMissingResponses(FeedbackQuestion question) {"},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" // generate combinations against all students/teams are meaningless"},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":" return question.getRecipientType() !\u003d FeedbackParticipantType.STUDENTS"},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.STUDENTS_EXCLUDING_SELF"},{"lineNumber":130,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.TEAMS_EXCLUDING_SELF;"},{"lineNumber":132,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":133,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":135,"author":{"gitId":"-"},"content":" public boolean equals(Object obj) {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" if (this \u003d\u003d obj) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" if (obj \u003d\u003d null || obj.getClass() !\u003d this.getClass()) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" // Json string contains all attributes of a `FeedbackQuestionDetails` object,"},{"lineNumber":145,"author":{"gitId":"-"},"content":" // so it is sufficient to use it to compare two `FeedbackQuestionDetails` objects."},{"lineNumber":146,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails other \u003d (FeedbackQuestionDetails) obj;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" return this.getJsonString().equals(other.getJsonString());"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":151,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" return this.getJsonString().hashCode();"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":156,"author":{"gitId":"-"},"content":" * Returns a JSON string representation of the question details."},{"lineNumber":157,"author":{"gitId":"-"},"content":" */"},{"lineNumber":158,"author":{"gitId":"-"},"content":" public String getJsonString() {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" assert questionType !\u003d null;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" return JsonUtils.toJson(this, questionType.getQuestionDetailsClass());"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":164,"author":{"gitId":"-"},"content":" * Returns a deep copy of the question details."},{"lineNumber":165,"author":{"gitId":"-"},"content":" */"},{"lineNumber":166,"author":{"gitId":"-"},"content":" public FeedbackQuestionDetails getDeepCopy() {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" assert questionType !\u003d null;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" String serializedDetails \u003d getJsonString();"},{"lineNumber":169,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(serializedDetails, questionType.getQuestionDetailsClass());"},{"lineNumber":170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" public FeedbackQuestionType getQuestionType() {"},{"lineNumber":173,"author":{"gitId":"-"},"content":" return questionType;"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" public void setQuestionType(FeedbackQuestionType questionType) {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" this.questionType \u003d questionType;"},{"lineNumber":178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" public String getQuestionText() {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" return questionText;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" public void setQuestionText(String questionText) {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" this.questionText \u003d questionText;"},{"lineNumber":186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":25,"-":162}},{"path":"src/main/java/teammates/common/util/Const.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.charset.Charset;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.charset.StandardCharsets;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.Duration;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Stores constants that are widely used across classes."},{"lineNumber":12,"author":{"gitId":"-"},"content":" * this class contains several nested classes, each containing a specific"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * category of constants."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public final class Const {"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" // This section holds constants that are defined as constants primarily because they are repeated in many places."},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" public static final String USER_NOBODY_TEXT \u003d \"-\";"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static final String USER_TEAM_FOR_INSTRUCTOR \u003d \"Instructors\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" public static final String DEFAULT_DISPLAY_NAME_FOR_INSTRUCTOR \u003d \"Instructor\";"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" public static final String DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT \u003d \"Anonymous\";"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" public static final int SECTION_SIZE_LIMIT \u003d 100;"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" public static final String DEFAULT_SECTION \u003d \"None\";"},{"lineNumber":30,"author":{"gitId":"-"},"content":" public static final Section DEFAULT_SQL_SECTION \u003d null;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" public static final String UNKNOWN_INSTITUTION \u003d \"Unknown Institution\";"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" public static final String DEFAULT_TIME_ZONE \u003d \"UTC\";"},{"lineNumber":35,"author":{"gitId":"-"},"content":" public static final Charset ENCODING \u003d StandardCharsets.UTF_8;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" public static final Duration FEEDBACK_SESSIONS_SEARCH_WINDOW \u003d Duration.ofDays(30);"},{"lineNumber":38,"author":{"gitId":"-"},"content":" public static final Duration LOGS_RETENTION_PERIOD \u003d Duration.ofDays(30);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" public static final Duration COOKIE_VALIDITY_PERIOD \u003d Duration.ofDays(7);"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" public static final int SEARCH_QUERY_SIZE_LIMIT \u003d 50;"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" public static final String ERROR_CREATE_ENTITY_ALREADY_EXISTS \u003d \"Trying to create an entity that exists: %s\";"},{"lineNumber":44,"author":{"gitId":"-"},"content":" public static final String ERROR_UPDATE_NON_EXISTENT \u003d \"Trying to update non-existent Entity: \";"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" public static final String MISSING_RESPONSE_TEXT \u003d \"No Response\";"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" // These constants are used as variable values to mean that the variable is in a \u0027special\u0027 state."},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" public static final int INT_UNINITIALIZED \u003d -9999;"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" public static final int MAX_POSSIBLE_RECIPIENTS \u003d -100;"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" public static final int POINTS_EQUAL_SHARE \u003d 100;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" public static final int POINTS_NOT_SURE \u003d -101;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" public static final int POINTS_NOT_SUBMITTED \u003d -999;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public static final int POINTS_NO_VALUE \u003d Integer.MIN_VALUE;"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" public static final String GENERAL_QUESTION \u003d \"%GENERAL%\";"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" public static final Instant TIME_REPRESENTS_FOLLOW_OPENING;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static final Instant TIME_REPRESENTS_FOLLOW_VISIBLE;"},{"lineNumber":63,"author":{"gitId":"-"},"content":" public static final Instant TIME_REPRESENTS_LATER;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public static final Instant TIME_REPRESENTS_NOW;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static final Instant TIME_REPRESENTS_DEFAULT_TIMESTAMP;"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" static {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" TIME_REPRESENTS_FOLLOW_OPENING \u003d TimeHelper.parseInstant(\"1970-12-31T00:00:00Z\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" TIME_REPRESENTS_FOLLOW_VISIBLE \u003d TimeHelper.parseInstant(\"1970-06-22T00:00:00Z\");"},{"lineNumber":70,"author":{"gitId":"-"},"content":" TIME_REPRESENTS_LATER \u003d TimeHelper.parseInstant(\"1970-01-01T00:00:00Z\");"},{"lineNumber":71,"author":{"gitId":"-"},"content":" TIME_REPRESENTS_NOW \u003d TimeHelper.parseInstant(\"1970-02-14T00:00:00Z\");"},{"lineNumber":72,"author":{"gitId":"-"},"content":" TIME_REPRESENTS_DEFAULT_TIMESTAMP \u003d TimeHelper.parseInstant(\"2011-01-01T00:00:00Z\");"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" public static final String TEST_EMAIL_DOMAIN \u003d \"@gmail.tmt\";"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" // Other Constants"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" private Const() {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" // Utility class containing constants"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":84,"author":{"gitId":"-"},"content":" * Represents role names for instructors based on their permission settings."},{"lineNumber":85,"author":{"gitId":"-"},"content":" */"},{"lineNumber":86,"author":{"gitId":"-"},"content":" public static class InstructorPermissionRoleNames {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_PERMISSION_ROLE_COOWNER \u003d \"Co-owner\";"},{"lineNumber":88,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_PERMISSION_ROLE_MANAGER \u003d \"Manager\";"},{"lineNumber":89,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_PERMISSION_ROLE_OBSERVER \u003d \"Observer\";"},{"lineNumber":90,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_PERMISSION_ROLE_TUTOR \u003d \"Tutor\";"},{"lineNumber":91,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_PERMISSION_ROLE_CUSTOM \u003d \"Custom\";"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":95,"author":{"gitId":"-"},"content":" * Represents atomic permission for instructors."},{"lineNumber":96,"author":{"gitId":"-"},"content":" */"},{"lineNumber":97,"author":{"gitId":"-"},"content":" public static class InstructorPermissions {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" public static final String CAN_MODIFY_COURSE \u003d \"canmodifycourse\";"},{"lineNumber":99,"author":{"gitId":"-"},"content":" public static final String CAN_MODIFY_INSTRUCTOR \u003d \"canmodifyinstructor\";"},{"lineNumber":100,"author":{"gitId":"-"},"content":" public static final String CAN_MODIFY_SESSION \u003d \"canmodifysession\";"},{"lineNumber":101,"author":{"gitId":"-"},"content":" public static final String CAN_MODIFY_STUDENT \u003d \"canmodifystudent\";"},{"lineNumber":102,"author":{"gitId":"-"},"content":" public static final String CAN_VIEW_STUDENT_IN_SECTIONS \u003d \"canviewstudentinsection\";"},{"lineNumber":103,"author":{"gitId":"-"},"content":" public static final String CAN_VIEW_SESSION_IN_SECTIONS \u003d \"canviewsessioninsection\";"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public static final String CAN_SUBMIT_SESSION_IN_SECTIONS \u003d \"cansubmitsessioninsection\";"},{"lineNumber":105,"author":{"gitId":"-"},"content":" public static final String CAN_MODIFY_SESSION_COMMENT_IN_SECTIONS \u003d \"canmodifysessioncommentinsection\";"},{"lineNumber":106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":109,"author":{"gitId":"-"},"content":" * Represents keys for HTTP requests to the API layer."},{"lineNumber":110,"author":{"gitId":"-"},"content":" */"},{"lineNumber":111,"author":{"gitId":"-"},"content":" public static class ParamsNames {"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" public static final String IS_IN_RECYCLE_BIN \u003d \"isinrecyclebin\";"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" public static final String IS_STUDENT_REJOINING \u003d \"isstudentrejoining\";"},{"lineNumber":116,"author":{"gitId":"-"},"content":" public static final String IS_INSTRUCTOR_REJOINING \u003d \"isinstructorrejoining\";"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" public static final String COURSE_ID \u003d \"courseid\";"},{"lineNumber":119,"author":{"gitId":"-"},"content":" public static final String COURSE_STATUS \u003d \"coursestatus\";"},{"lineNumber":120,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_ID \u003d \"instructorid\";"},{"lineNumber":121,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_EMAIL \u003d \"instructoremail\";"},{"lineNumber":122,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_INSTITUTION \u003d \"instructorinstitution\";"},{"lineNumber":123,"author":{"gitId":"-"},"content":" public static final String IS_CREATING_ACCOUNT \u003d \"iscreatingaccount\";"},{"lineNumber":124,"author":{"gitId":"-"},"content":" public static final String IS_INSTRUCTOR \u003d \"isinstructor\";"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_NAME \u003d \"fsname\";"},{"lineNumber":127,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_STARTTIME \u003d \"starttime\";"},{"lineNumber":128,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_ENDTIME \u003d \"endtime\";"},{"lineNumber":129,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_MODERATED_PERSON \u003d \"moderatedperson\";"},{"lineNumber":130,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_LOG_TYPE \u003d \"fsltype\";"},{"lineNumber":131,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_LOG_STARTTIME \u003d \"fslstarttime\";"},{"lineNumber":132,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_LOG_ENDTIME \u003d \"fslendtime\";"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_QUESTION_ID \u003d \"questionid\";"},{"lineNumber":135,"author":{"gitId":"-"},"content":" public static final String SINGLE_RECIPIENT_ID_FOR_SUBMISSION \u003d \"singlerecipientidforsubmission\";"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_RESPONSE_ID \u003d \"responseid\";"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_RESPONSE_COMMENT_ID \u003d \"responsecommentid\";"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_RESULTS_GROUPBYSECTION \u003d \"frgroupbysection\";"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_RESULTS_SECTION_BY_GIVER_RECEIVER \u003d \"frsessionbygiverreceiver\";"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" public static final String PREVIEWAS \u003d \"previewas\";"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" public static final String STUDENT_ID \u003d \"googleid\";"},{"lineNumber":148,"author":{"gitId":"-"},"content":" public static final String INVITER_ID \u003d \"invitergoogleid\";"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" public static final String REGKEY \u003d \"key\";"},{"lineNumber":151,"author":{"gitId":"-"},"content":" public static final String STUDENT_EMAIL \u003d \"studentemail\";"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" public static final String SECTION_NAME \u003d \"sectionname\";"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" public static final String TEAM_NAME \u003d \"teamname\";"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" public static final String ERROR \u003d \"error\";"},{"lineNumber":158,"author":{"gitId":"-"},"content":" public static final String USER_ID \u003d \"user\";"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" public static final String SEARCH_KEY \u003d \"searchkey\";"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" public static final String USER_CAPTCHA_RESPONSE \u003d \"captcharesponse\";"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" public static final String EMAIL_TYPE \u003d \"emailtype\";"},{"lineNumber":165,"author":{"gitId":"-"},"content":" public static final String USER_EMAIL \u003d \"useremail\";"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" public static final String ENTITY_TYPE \u003d \"entitytype\";"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" public static final String INTENT \u003d \"intent\";"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" public static final String TIMEZONE \u003d \"timezone\";"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" public static final String NOTIFY_ABOUT_DEADLINES \u003d \"notifydeadlines\";"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_STARTTIME \u003d \"starttime\";"},{"lineNumber":176,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_ENDTIME \u003d \"endtime\";"},{"lineNumber":177,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_SEVERITY \u003d \"severity\";"},{"lineNumber":178,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_MIN_SEVERITY \u003d \"minseverity\";"},{"lineNumber":179,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_TRACE \u003d \"traceid\";"},{"lineNumber":180,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_ACTION_CLASS \u003d \"actionclass\";"},{"lineNumber":181,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_EMAIL \u003d \"email\";"},{"lineNumber":182,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_EVENT \u003d \"logevent\";"},{"lineNumber":183,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_SOURCE_LOCATION_FILE \u003d \"sourcelocationfile\";"},{"lineNumber":184,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_SOURCE_LOCATION_FUNCTION \u003d \"sourcelocationfunction\";"},{"lineNumber":185,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_EXCEPTION_CLASS \u003d \"exceptionclass\";"},{"lineNumber":186,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_LATENCY \u003d \"latency\";"},{"lineNumber":187,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_STATUS \u003d \"status\";"},{"lineNumber":188,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_VERSION \u003d \"version\";"},{"lineNumber":189,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_EXTRA_FILTERS \u003d \"extrafilters\";"},{"lineNumber":190,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_ORDER \u003d \"order\";"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" public static final String LIMIT \u003d \"limit\";"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_ID \u003d \"notificationid\";"},{"lineNumber":195,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_TARGET_USER \u003d \"usertype\";"},{"lineNumber":196,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_IS_FETCHING_ALL \u003d \"isfetchingall\";"},{"lineNumber":197,"author":{"gitId":"-"},"content":" public static final String NOTFICATION_END_TIME \u003d \"endtime\";"},{"lineNumber":198,"author":{"gitId":"-"},"content":" public static final String CONTINUE_URL \u003d \"continueurl\";"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":202,"author":{"gitId":"-"},"content":" * Represents custom header names used by the system."},{"lineNumber":203,"author":{"gitId":"-"},"content":" */"},{"lineNumber":204,"author":{"gitId":"-"},"content":" public static class HeaderNames {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" public static final String BACKDOOR_KEY \u003d \"Backdoor-Key\";"},{"lineNumber":206,"author":{"gitId":"-"},"content":" public static final String CSRF_KEY \u003d \"CSRF-Key\";"},{"lineNumber":207,"author":{"gitId":"-"},"content":" public static final String WEB_VERSION \u003d \"X-WEB-VERSION\";"},{"lineNumber":208,"author":{"gitId":"-"},"content":" public static final String CSRF_TOKEN \u003d \"X-CSRF-TOKEN\";"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":212,"author":{"gitId":"-"},"content":" * The course status respect to the instructor\u0027s point of view."},{"lineNumber":213,"author":{"gitId":"-"},"content":" * This parameter is used to get a course list for instructor."},{"lineNumber":214,"author":{"gitId":"-"},"content":" */"},{"lineNumber":215,"author":{"gitId":"-"},"content":" public static class CourseStatus {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" public static final String ACTIVE \u003d \"active\";"},{"lineNumber":217,"author":{"gitId":"-"},"content":" public static final String ARCHIVED \u003d \"archived\";"},{"lineNumber":218,"author":{"gitId":"-"},"content":" public static final String SOFT_DELETED \u003d \"softDeleted\";"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":222,"author":{"gitId":"-"},"content":" * Represents user types."},{"lineNumber":223,"author":{"gitId":"-"},"content":" */"},{"lineNumber":224,"author":{"gitId":"-"},"content":" public static class EntityType {"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" public static final String STUDENT \u003d \"student\";"},{"lineNumber":227,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR \u003d \"instructor\";"},{"lineNumber":228,"author":{"gitId":"-"},"content":" public static final String ADMIN \u003d \"admin\";"},{"lineNumber":229,"author":{"gitId":"-"},"content":" public static final String MAINTAINER \u003d \"maintainer\";"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":234,"author":{"gitId":"-"},"content":" * Represents security-related configuration."},{"lineNumber":235,"author":{"gitId":"-"},"content":" */"},{"lineNumber":236,"author":{"gitId":"-"},"content":" public static class SecurityConfig {"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" public static final String CSRF_COOKIE_NAME \u003d \"CSRF-TOKEN\";"},{"lineNumber":239,"author":{"gitId":"-"},"content":" public static final String AUTH_COOKIE_NAME \u003d \"AUTH-TOKEN\";"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":244,"author":{"gitId":"-"},"content":" * Represents URIs of accessible pages in the front-end in past versions (V6 and before)."},{"lineNumber":245,"author":{"gitId":"-"},"content":" */"},{"lineNumber":246,"author":{"gitId":"-"},"content":" @Deprecated"},{"lineNumber":247,"author":{"gitId":"-"},"content":" public static class LegacyURIs {"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_JOIN \u003d \"/page/instructorCourseJoin\";"},{"lineNumber":250,"author":{"gitId":"-"},"content":" public static final String STUDENT_COURSE_JOIN \u003d \"/page/studentCourseJoin\";"},{"lineNumber":251,"author":{"gitId":"-"},"content":" public static final String STUDENT_COURSE_JOIN_NEW \u003d \"/page/studentCourseJoinAuthentication\";"},{"lineNumber":252,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_HOME_PAGE \u003d \"/page/instructorHomePage\";"},{"lineNumber":253,"author":{"gitId":"-"},"content":" public static final String STUDENT_HOME_PAGE \u003d \"/page/studentHomePage\";"},{"lineNumber":254,"author":{"gitId":"-"},"content":" public static final String STUDENT_FEEDBACK_SUBMISSION_EDIT_PAGE \u003d \"/page/studentFeedbackSubmissionEditPage\";"},{"lineNumber":255,"author":{"gitId":"-"},"content":" public static final String STUDENT_FEEDBACK_RESULTS_PAGE \u003d \"/page/studentFeedbackResultsPage\";"},{"lineNumber":256,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_FEEDBACK_SUBMISSION_EDIT_PAGE \u003d \"/page/instructorFeedbackSubmissionEditPage\";"},{"lineNumber":257,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_FEEDBACK_RESULTS_PAGE \u003d \"/page/instructorFeedbackResultsPage\";"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":262,"author":{"gitId":"-"},"content":" * Represents URIs of accessible pages in the front-end."},{"lineNumber":263,"author":{"gitId":"-"},"content":" */"},{"lineNumber":264,"author":{"gitId":"-"},"content":" public static class WebPageURIs {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" public static final String LOGIN \u003d \"/login\";"},{"lineNumber":266,"author":{"gitId":"-"},"content":" public static final String LOGOUT \u003d \"/logout\";"},{"lineNumber":267,"author":{"gitId":"-"},"content":" private static final String URI_PREFIX \u003d \"/web\";"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" private static final String STUDENT_PAGE \u003d URI_PREFIX + \"/\" + EntityType.STUDENT;"},{"lineNumber":270,"author":{"gitId":"-"},"content":" private static final String INSTRUCTOR_PAGE \u003d URI_PREFIX + \"/\" + EntityType.INSTRUCTOR;"},{"lineNumber":271,"author":{"gitId":"-"},"content":" private static final String ADMIN_PAGE \u003d URI_PREFIX + \"/\" + EntityType.ADMIN;"},{"lineNumber":272,"author":{"gitId":"-"},"content":" private static final String MAINTAINER_PAGE \u003d URI_PREFIX + \"/\" + EntityType.MAINTAINER;"},{"lineNumber":273,"author":{"gitId":"-"},"content":" private static final String FRONT_PAGE \u003d URI_PREFIX + \"/front\";"},{"lineNumber":274,"author":{"gitId":"-"},"content":" public static final String JOIN_PAGE \u003d URI_PREFIX + \"/join\";"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" public static final String ADMIN_HOME_PAGE \u003d ADMIN_PAGE + \"/home\";"},{"lineNumber":277,"author":{"gitId":"-"},"content":" public static final String ADMIN_ACCOUNTS_PAGE \u003d ADMIN_PAGE + \"/accounts\";"},{"lineNumber":278,"author":{"gitId":"-"},"content":" public static final String ADMIN_SEARCH_PAGE \u003d ADMIN_PAGE + \"/search\";"},{"lineNumber":279,"author":{"gitId":"-"},"content":" public static final String ADMIN_SESSIONS_PAGE \u003d ADMIN_PAGE + \"/sessions\";"},{"lineNumber":280,"author":{"gitId":"-"},"content":" public static final String ADMIN_TIMEZONE_PAGE \u003d ADMIN_PAGE + \"/timezone\";"},{"lineNumber":281,"author":{"gitId":"-"},"content":" public static final String ADMIN_LOGS_PAGE \u003d ADMIN_PAGE + \"/logs\";"},{"lineNumber":282,"author":{"gitId":"-"},"content":" public static final String ADMIN_NOTIFICATIONS_PAGE \u003d ADMIN_PAGE + \"/notifications\";"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" public static final String MAINTAINER_HOME_PAGE \u003d MAINTAINER_PAGE + \"/home\";"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_HOME_PAGE \u003d INSTRUCTOR_PAGE + \"/home\";"},{"lineNumber":287,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SEARCH_PAGE \u003d INSTRUCTOR_PAGE + \"/search\";"},{"lineNumber":288,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SESSIONS_PAGE \u003d INSTRUCTOR_PAGE + \"/sessions\";"},{"lineNumber":289,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SESSION_SUBMISSION_PAGE \u003d INSTRUCTOR_PAGE + \"/sessions/submission\";"},{"lineNumber":290,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SESSION_EDIT_PAGE \u003d INSTRUCTOR_PAGE + \"/sessions/edit\";"},{"lineNumber":291,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SESSION_INDIVIDUAL_EXTENSION_PAGE \u003d INSTRUCTOR_PAGE"},{"lineNumber":292,"author":{"gitId":"-"},"content":" + \"/sessions/individual-extension\";"},{"lineNumber":293,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SESSION_RESULTS_PAGE \u003d INSTRUCTOR_PAGE + \"/sessions/result\";"},{"lineNumber":294,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SESSION_REPORT_PAGE \u003d INSTRUCTOR_PAGE + \"/sessions/report\";"},{"lineNumber":295,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSES_PAGE \u003d INSTRUCTOR_PAGE + \"/courses\";"},{"lineNumber":296,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_DETAILS_PAGE \u003d INSTRUCTOR_PAGE + \"/courses/details\";"},{"lineNumber":297,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_EDIT_PAGE \u003d INSTRUCTOR_PAGE + \"/courses/edit\";"},{"lineNumber":298,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_ENROLL_PAGE \u003d INSTRUCTOR_PAGE + \"/courses/enroll\";"},{"lineNumber":299,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_STUDENT_DETAILS_PAGE \u003d INSTRUCTOR_PAGE + \"/courses/student/details\";"},{"lineNumber":300,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_STUDENT_DETAILS_EDIT_PAGE \u003d INSTRUCTOR_PAGE + \"/courses/student/edit\";"},{"lineNumber":301,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_STUDENT_LIST_PAGE \u003d INSTRUCTOR_PAGE + \"/students\";"},{"lineNumber":302,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_STUDENT_RECORDS_PAGE \u003d INSTRUCTOR_PAGE + \"/students/records\";"},{"lineNumber":303,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_STUDENT_ACTIVITY_LOGS_PAGE \u003d INSTRUCTOR_PAGE"},{"lineNumber":304,"author":{"gitId":"-"},"content":" + \"/courses/student-activity-logs\";"},{"lineNumber":305,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_NOTIFICATIONS_PAGE \u003d INSTRUCTOR_PAGE + \"/notifications\";"},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":" public static final String STUDENT_HOME_PAGE \u003d STUDENT_PAGE + \"/home\";"},{"lineNumber":308,"author":{"gitId":"-"},"content":" public static final String STUDENT_COURSE_DETAILS_PAGE \u003d STUDENT_PAGE + \"/course\";"},{"lineNumber":309,"author":{"gitId":"-"},"content":" public static final String STUDENT_SESSION_SUBMISSION_PAGE \u003d STUDENT_PAGE + \"/sessions/submission\";"},{"lineNumber":310,"author":{"gitId":"-"},"content":" public static final String STUDENT_SESSION_RESULTS_PAGE \u003d STUDENT_PAGE + \"/sessions/result\";"},{"lineNumber":311,"author":{"gitId":"-"},"content":" public static final String STUDENT_NOTIFICATIONS_PAGE \u003d STUDENT_PAGE + \"/notifications\";"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":" public static final String SESSION_RESULTS_PAGE \u003d URI_PREFIX + \"/sessions/result\";"},{"lineNumber":314,"author":{"gitId":"-"},"content":" public static final String SESSION_SUBMISSION_PAGE \u003d URI_PREFIX + \"/sessions/submission\";"},{"lineNumber":315,"author":{"gitId":"-"},"content":" public static final String SESSIONS_LINK_RECOVERY_PAGE \u003d FRONT_PAGE + \"/help/session-links-recovery\";"},{"lineNumber":316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":319,"author":{"gitId":"-"},"content":" * Represents URIs of resource endpoints."},{"lineNumber":320,"author":{"gitId":"-"},"content":" */"},{"lineNumber":321,"author":{"gitId":"-"},"content":" public static class ResourceURIs {"},{"lineNumber":322,"author":{"gitId":"-"},"content":" private static final String URI_PREFIX \u003d \"/webapi\";"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":" public static final String DATABUNDLE \u003d URI_PREFIX + \"/databundle\";"},{"lineNumber":325,"author":{"gitId":"-"},"content":" public static final String SQL_DATABUNDLE \u003d URI_PREFIX + \"/databundle/sql\";"},{"lineNumber":326,"author":{"gitId":"-"},"content":" public static final String DATABUNDLE_DOCUMENTS \u003d URI_PREFIX + \"/databundle/documents\";"},{"lineNumber":327,"author":{"gitId":"-"},"content":" public static final String DEADLINE_EXTENSION \u003d URI_PREFIX + \"/deadlineextension\";"},{"lineNumber":328,"author":{"gitId":"-"},"content":" public static final String EXCEPTION \u003d URI_PREFIX + \"/exception\";"},{"lineNumber":329,"author":{"gitId":"-"},"content":" public static final String ERROR_REPORT \u003d URI_PREFIX + \"/errorreport\";"},{"lineNumber":330,"author":{"gitId":"-"},"content":" public static final String AUTH \u003d URI_PREFIX + \"/auth\";"},{"lineNumber":331,"author":{"gitId":"-"},"content":" public static final String AUTH_REGKEY \u003d URI_PREFIX + \"/auth/regkey\";"},{"lineNumber":332,"author":{"gitId":"-"},"content":" public static final String ACCOUNT \u003d URI_PREFIX + \"/account\";"},{"lineNumber":333,"author":{"gitId":"-"},"content":" public static final String ACCOUNT_RESET \u003d URI_PREFIX + \"/account/reset\";"},{"lineNumber":334,"author":{"gitId":"-"},"content":" public static final String ACCOUNT_REQUEST \u003d URI_PREFIX + \"/account/request\";"},{"lineNumber":335,"author":{"gitId":"-"},"content":" public static final String ACCOUNT_REQUEST_RESET \u003d ACCOUNT_REQUEST + \"/reset\";"},{"lineNumber":336,"author":{"gitId":"-"},"content":" public static final String ACCOUNTS \u003d URI_PREFIX + \"/accounts\";"},{"lineNumber":337,"author":{"gitId":"-"},"content":" public static final String RESPONSE_COMMENT \u003d URI_PREFIX + \"/responsecomment\";"},{"lineNumber":338,"author":{"gitId":"-"},"content":" public static final String COURSE \u003d URI_PREFIX + \"/course\";"},{"lineNumber":339,"author":{"gitId":"-"},"content":" public static final String COURSE_ARCHIVE \u003d URI_PREFIX + \"/course/archive\";"},{"lineNumber":340,"author":{"gitId":"-"},"content":" public static final String BIN_COURSE \u003d URI_PREFIX + \"/bin/course\";"},{"lineNumber":341,"author":{"gitId":"-"},"content":" public static final String COURSE_SECTIONS \u003d URI_PREFIX + \"/course/sections\";"},{"lineNumber":342,"author":{"gitId":"-"},"content":" public static final String COURSES \u003d URI_PREFIX + \"/courses\";"},{"lineNumber":343,"author":{"gitId":"-"},"content":" public static final String INSTRUCTORS \u003d URI_PREFIX + \"/instructors\";"},{"lineNumber":344,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR \u003d URI_PREFIX + \"/instructor\";"},{"lineNumber":345,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_PRIVILEGE \u003d URI_PREFIX + \"/instructor/privilege\";"},{"lineNumber":346,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_KEY \u003d URI_PREFIX + \"/instructor/key\";"},{"lineNumber":347,"author":{"gitId":"-"},"content":" public static final String RESULT \u003d URI_PREFIX + \"/result\";"},{"lineNumber":348,"author":{"gitId":"-"},"content":" public static final String STUDENTS \u003d URI_PREFIX + \"/students\";"},{"lineNumber":349,"author":{"gitId":"-"},"content":" public static final String STUDENT \u003d URI_PREFIX + \"/student\";"},{"lineNumber":350,"author":{"gitId":"-"},"content":" public static final String STUDENT_KEY \u003d URI_PREFIX + \"/student/key\";"},{"lineNumber":351,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION \u003d URI_PREFIX + \"/notification\";"},{"lineNumber":352,"author":{"gitId":"-"},"content":" public static final String NOTIFICATIONS \u003d URI_PREFIX + \"/notifications\";"},{"lineNumber":353,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_READ \u003d URI_PREFIX + \"/notification/read\";"},{"lineNumber":354,"author":{"gitId":"-"},"content":" public static final String SESSIONS_ONGOING \u003d URI_PREFIX + \"/sessions/ongoing\";"},{"lineNumber":355,"author":{"gitId":"-"},"content":" public static final String SESSION \u003d URI_PREFIX + \"/session\";"},{"lineNumber":356,"author":{"gitId":"-"},"content":" public static final String SESSION_PUBLISH \u003d URI_PREFIX + \"/session/publish\";"},{"lineNumber":357,"author":{"gitId":"-"},"content":" public static final String SESSION_REMIND_SUBMISSION \u003d URI_PREFIX + \"/session/remind/submission\";"},{"lineNumber":358,"author":{"gitId":"-"},"content":" public static final String SESSION_REMIND_RESULT \u003d URI_PREFIX + \"/session/remind/result\";"},{"lineNumber":359,"author":{"gitId":"-"},"content":" public static final String SESSION_STATS \u003d URI_PREFIX + \"/session/stats\";"},{"lineNumber":360,"author":{"gitId":"-"},"content":" public static final String SESSION_SUBMITTED_GIVER_SET \u003d URI_PREFIX + \"/session/submitted/giverset\";"},{"lineNumber":361,"author":{"gitId":"-"},"content":" public static final String SESSIONS \u003d URI_PREFIX + \"/sessions\";"},{"lineNumber":362,"author":{"gitId":"-"},"content":" public static final String SEARCH_ACCOUNT_REQUESTS \u003d URI_PREFIX + \"/search/accountrequests\";"},{"lineNumber":363,"author":{"gitId":"-"},"content":" public static final String SEARCH_INSTRUCTORS \u003d URI_PREFIX + \"/search/instructors\";"},{"lineNumber":364,"author":{"gitId":"-"},"content":" public static final String SEARCH_STUDENTS \u003d URI_PREFIX + \"/search/students\";"},{"lineNumber":365,"author":{"gitId":"-"},"content":" public static final String BIN_SESSION \u003d URI_PREFIX + \"/bin/session\";"},{"lineNumber":366,"author":{"gitId":"-"},"content":" public static final String QUESTIONS \u003d URI_PREFIX + \"/questions\";"},{"lineNumber":367,"author":{"gitId":"-"},"content":" public static final String QUESTION \u003d URI_PREFIX + \"/question\";"},{"lineNumber":368,"author":{"gitId":"-"},"content":" public static final String QUESTION_RECIPIENTS \u003d URI_PREFIX + \"/question/recipients\";"},{"lineNumber":369,"author":{"gitId":"-"},"content":" public static final String RESPONSES \u003d URI_PREFIX + \"/responses\";"},{"lineNumber":370,"author":{"gitId":"-"},"content":" public static final String USAGE_STATISTICS \u003d URI_PREFIX + \"/usagestats\";"},{"lineNumber":371,"author":{"gitId":"-"},"content":" public static final String HAS_RESPONSES \u003d URI_PREFIX + \"/hasResponses\";"},{"lineNumber":372,"author":{"gitId":"-"},"content":" public static final String JOIN \u003d URI_PREFIX + \"/join\";"},{"lineNumber":373,"author":{"gitId":"-"},"content":" public static final String JOIN_REMIND \u003d URI_PREFIX + \"/join/remind\";"},{"lineNumber":374,"author":{"gitId":"-"},"content":" public static final String TIMEZONE \u003d URI_PREFIX + \"/timezone\";"},{"lineNumber":375,"author":{"gitId":"-"},"content":" public static final String SESSION_LINKS_RECOVERY \u003d URI_PREFIX + \"/sessionlinksrecovery\";"},{"lineNumber":376,"author":{"gitId":"-"},"content":" public static final String EMAIL \u003d URI_PREFIX + \"/email\";"},{"lineNumber":377,"author":{"gitId":"-"},"content":" public static final String LOGIN_EMAIL \u003d URI_PREFIX + \"/email/login\";"},{"lineNumber":378,"author":{"gitId":"-"},"content":" public static final String SESSION_LOGS \u003d URI_PREFIX + \"/logs/session\";"},{"lineNumber":379,"author":{"gitId":"-"},"content":" public static final String LOGS \u003d URI_PREFIX + \"/logs/query\";"},{"lineNumber":380,"author":{"gitId":"-"},"content":" public static final String ACTION_CLASS \u003d URI_PREFIX + \"/actionclass\";"},{"lineNumber":381,"author":{"gitId":"-"},"content":" public static final String USER_COOKIE \u003d URI_PREFIX + \"/cookie\";"},{"lineNumber":382,"author":{"gitId":"-"},"content":" }"},{"lineNumber":383,"author":{"gitId":"-"},"content":""},{"lineNumber":384,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":385,"author":{"gitId":"-"},"content":" * Represents URIs of endpoints used by cron jobs."},{"lineNumber":386,"author":{"gitId":"-"},"content":" */"},{"lineNumber":387,"author":{"gitId":"-"},"content":" public static class CronJobURIs {"},{"lineNumber":388,"author":{"gitId":"-"},"content":" private static final String URI_PREFIX \u003d \"/auto\";"},{"lineNumber":389,"author":{"gitId":"-"},"content":""},{"lineNumber":390,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_LOG_COMPILATION \u003d URI_PREFIX + \"/compileLogs\";"},{"lineNumber":391,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_DATASTORE_BACKUP \u003d URI_PREFIX + \"/datastoreBackup\";"},{"lineNumber":392,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_FEEDBACK_OPENING_SOON_REMINDERS \u003d"},{"lineNumber":393,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionOpeningSoonReminders\";"},{"lineNumber":394,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_FEEDBACK_OPENING_REMINDERS \u003d"},{"lineNumber":395,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionOpeningReminders\";"},{"lineNumber":396,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_FEEDBACK_CLOSED_REMINDERS \u003d"},{"lineNumber":397,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionClosedReminders\";"},{"lineNumber":398,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_FEEDBACK_CLOSING_REMINDERS \u003d"},{"lineNumber":399,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionClosingReminders\";"},{"lineNumber":400,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_FEEDBACK_PUBLISHED_REMINDERS \u003d"},{"lineNumber":401,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionPublishedReminders\";"},{"lineNumber":402,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_USAGE_STATISTICS_COLLECTION \u003d"},{"lineNumber":403,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/calculateUsageStatistics\";"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":407,"author":{"gitId":"-"},"content":" * Configurations for task queue."},{"lineNumber":408,"author":{"gitId":"-"},"content":" */"},{"lineNumber":409,"author":{"gitId":"-"},"content":" public static class TaskQueue {"},{"lineNumber":410,"author":{"gitId":"-"},"content":" public static final String URI_PREFIX \u003d \"/worker\";"},{"lineNumber":411,"author":{"gitId":"-"},"content":""},{"lineNumber":412,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_PUBLISHED_EMAIL_QUEUE_NAME \u003d"},{"lineNumber":413,"author":{"gitId":"-"},"content":" \"feedback-session-published-email-queue\";"},{"lineNumber":414,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_PUBLISHED_EMAIL_WORKER_URL \u003d"},{"lineNumber":415,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionPublishedEmail\";"},{"lineNumber":416,"author":{"gitId":"-"},"content":""},{"lineNumber":417,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_RESEND_PUBLISHED_EMAIL_QUEUE_NAME \u003d"},{"lineNumber":418,"author":{"gitId":"-"},"content":" \"feedback-session-resend-published-email-queue\";"},{"lineNumber":419,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_RESEND_PUBLISHED_EMAIL_WORKER_URL \u003d"},{"lineNumber":420,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionResendPublishedEmail\";"},{"lineNumber":421,"author":{"gitId":"-"},"content":""},{"lineNumber":422,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_REMIND_EMAIL_QUEUE_NAME \u003d \"feedback-session-remind-email-queue\";"},{"lineNumber":423,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_REMIND_EMAIL_WORKER_URL \u003d URI_PREFIX + \"/feedbackSessionRemindEmail\";"},{"lineNumber":424,"author":{"gitId":"-"},"content":""},{"lineNumber":425,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_REMIND_PARTICULAR_USERS_EMAIL_QUEUE_NAME \u003d"},{"lineNumber":426,"author":{"gitId":"-"},"content":" \"feedback-session-remind-particular-users-email-queue\";"},{"lineNumber":427,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_REMIND_PARTICULAR_USERS_EMAIL_WORKER_URL \u003d"},{"lineNumber":428,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionRemindParticularUsersEmail\";"},{"lineNumber":429,"author":{"gitId":"-"},"content":""},{"lineNumber":430,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_UNPUBLISHED_EMAIL_QUEUE_NAME \u003d"},{"lineNumber":431,"author":{"gitId":"-"},"content":" \"feedback-session-unpublished-email-queue\";"},{"lineNumber":432,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_UNPUBLISHED_EMAIL_WORKER_URL \u003d"},{"lineNumber":433,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionUnpublishedEmail\";"},{"lineNumber":434,"author":{"gitId":"-"},"content":""},{"lineNumber":435,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_JOIN_EMAIL_QUEUE_NAME \u003d \"instructor-course-join-email-queue\";"},{"lineNumber":436,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_JOIN_EMAIL_WORKER_URL \u003d URI_PREFIX + \"/instructorCourseJoinEmail\";"},{"lineNumber":437,"author":{"gitId":"-"},"content":""},{"lineNumber":438,"author":{"gitId":"-"},"content":" public static final String SEND_EMAIL_QUEUE_NAME \u003d \"send-email-queue\";"},{"lineNumber":439,"author":{"gitId":"-"},"content":" public static final String SEND_EMAIL_WORKER_URL \u003d URI_PREFIX + \"/sendEmail\";"},{"lineNumber":440,"author":{"gitId":"-"},"content":""},{"lineNumber":441,"author":{"gitId":"-"},"content":" public static final String STUDENT_COURSE_JOIN_EMAIL_QUEUE_NAME \u003d \"student-course-join-email-queue\";"},{"lineNumber":442,"author":{"gitId":"-"},"content":" public static final String STUDENT_COURSE_JOIN_EMAIL_WORKER_URL \u003d URI_PREFIX + \"/studentCourseJoinEmail\";"},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" public static final String SEARCH_INDEXING_QUEUE_NAME \u003d \"search-indexing-queue\";"},{"lineNumber":445,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SEARCH_INDEXING_WORKER_URL \u003d URI_PREFIX + \"/instructorSearchIndexing\";"},{"lineNumber":446,"author":{"gitId":"-"},"content":" public static final String ACCOUNT_REQUEST_SEARCH_INDEXING_WORKER_URL \u003d"},{"lineNumber":447,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/accountRequestSearchIndexing\";"},{"lineNumber":448,"author":{"gitId":"-"},"content":" public static final String STUDENT_SEARCH_INDEXING_WORKER_URL \u003d URI_PREFIX + \"/studentSearchIndexing\";"},{"lineNumber":449,"author":{"gitId":"-"},"content":" }"},{"lineNumber":450,"author":{"gitId":"-"},"content":""},{"lineNumber":451,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":2,"-":449}},{"path":"src/main/java/teammates/sqllogic/api/Logic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.api;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import javax.annotation.Nullable;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackQuestionRecipient;"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.FeedbackResultFetchType;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationStyle;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationTargetUser;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.SqlSessionResultsBundle;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EnrollException;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.exception.InstructorUpdateException;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.exception.StudentUpdateException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.AccountRequestsLogic;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.AccountsLogic;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.CoursesLogic;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.DataBundleLogic;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.DeadlineExtensionsLogic;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.FeedbackQuestionsLogic;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.FeedbackResponseCommentsLogic;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.FeedbackResponsesLogic;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.FeedbackSessionsLogic;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.NotificationsLogic;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.UsageStatisticsLogic;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.UsersLogic;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":46,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":47,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":49,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.UsageStatistics;"},{"lineNumber":50,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.User;"},{"lineNumber":51,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackQuestionUpdateRequest;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackResponseCommentUpdateRequest;"},{"lineNumber":53,"author":{"gitId":"-"},"content":"import teammates.ui.request.InstructorCreateRequest;"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":56,"author":{"gitId":"-"},"content":" * Provides the business logic for production usage of the system."},{"lineNumber":57,"author":{"gitId":"-"},"content":" *"},{"lineNumber":58,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis is a Facade class which simply forwards the method to internal classes."},{"lineNumber":59,"author":{"gitId":"-"},"content":" */"},{"lineNumber":60,"author":{"gitId":"-"},"content":"public class Logic {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" private static final Logic instance \u003d new Logic();"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" final AccountsLogic accountsLogic \u003d AccountsLogic.inst();"},{"lineNumber":64,"author":{"gitId":"-"},"content":" final AccountRequestsLogic accountRequestLogic \u003d AccountRequestsLogic.inst();"},{"lineNumber":65,"author":{"gitId":"-"},"content":" final CoursesLogic coursesLogic \u003d CoursesLogic.inst();"},{"lineNumber":66,"author":{"gitId":"-"},"content":" final DeadlineExtensionsLogic deadlineExtensionsLogic \u003d DeadlineExtensionsLogic.inst();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" final FeedbackQuestionsLogic feedbackQuestionsLogic \u003d FeedbackQuestionsLogic.inst();"},{"lineNumber":68,"author":{"gitId":"-"},"content":" final FeedbackResponsesLogic feedbackResponsesLogic \u003d FeedbackResponsesLogic.inst();"},{"lineNumber":69,"author":{"gitId":"-"},"content":" final FeedbackResponseCommentsLogic feedbackResponseCommentsLogic \u003d FeedbackResponseCommentsLogic.inst();"},{"lineNumber":70,"author":{"gitId":"-"},"content":" final FeedbackSessionsLogic feedbackSessionsLogic \u003d FeedbackSessionsLogic.inst();"},{"lineNumber":71,"author":{"gitId":"-"},"content":" final UsageStatisticsLogic usageStatisticsLogic \u003d UsageStatisticsLogic.inst();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" final UsersLogic usersLogic \u003d UsersLogic.inst();"},{"lineNumber":73,"author":{"gitId":"-"},"content":" final NotificationsLogic notificationsLogic \u003d NotificationsLogic.inst();"},{"lineNumber":74,"author":{"gitId":"-"},"content":" final DataBundleLogic dataBundleLogic \u003d DataBundleLogic.inst();"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" Logic() {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" public static Logic inst() {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":82,"author":{"gitId":"-"},"content":" }"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":85,"author":{"gitId":"-"},"content":" * Creates an account request."},{"lineNumber":86,"author":{"gitId":"-"},"content":" *"},{"lineNumber":87,"author":{"gitId":"-"},"content":" * @return newly created account request."},{"lineNumber":88,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the account request details are invalid."},{"lineNumber":89,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the account request already exists."},{"lineNumber":90,"author":{"gitId":"-"},"content":" */"},{"lineNumber":91,"author":{"gitId":"-"},"content":" public AccountRequest createAccountRequest(String name, String email, String institute)"},{"lineNumber":92,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" return accountRequestLogic.createAccountRequest(name, email, institute);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Creates a or gets an account request."},{"lineNumber":99,"author":{"gitId":"-"},"content":" *"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * @return newly created account request."},{"lineNumber":101,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the account request details are invalid."},{"lineNumber":102,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the account request already exists."},{"lineNumber":103,"author":{"gitId":"-"},"content":" */"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public AccountRequest createAccountRequestWithTransaction(String name, String email, String institute)"},{"lineNumber":105,"author":{"gitId":"-"},"content":" throws InvalidParametersException {"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" return accountRequestLogic.createOrGetAccountRequestWithTransaction(name, email, institute);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":111,"author":{"gitId":"-"},"content":" * Gets the account request with the given email and institute."},{"lineNumber":112,"author":{"gitId":"-"},"content":" *"},{"lineNumber":113,"author":{"gitId":"-"},"content":" * @return account request with the given email and institute."},{"lineNumber":114,"author":{"gitId":"-"},"content":" */"},{"lineNumber":115,"author":{"gitId":"-"},"content":" public AccountRequest getAccountRequest(String email, String institute) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" return accountRequestLogic.getAccountRequest(email, institute);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" * Gets the account request with the associated {@code regkey}."},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":" *"},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" * @return account request with the associated {@code regkey}."},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" public AccountRequest getAccountRequestByRegistrationKey(String regkey) {"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" return accountRequestLogic.getAccountRequestByRegistrationKey(regkey);"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":129,"author":{"gitId":"-"},"content":" * Updates the given account request."},{"lineNumber":130,"author":{"gitId":"-"},"content":" *"},{"lineNumber":131,"author":{"gitId":"-"},"content":" * @return the updated account request."},{"lineNumber":132,"author":{"gitId":"-"},"content":" */"},{"lineNumber":133,"author":{"gitId":"-"},"content":" public AccountRequest updateAccountRequest(AccountRequest accountRequest)"},{"lineNumber":134,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":135,"author":{"gitId":"-"},"content":" return accountRequestLogic.updateAccountRequest(accountRequest);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":139,"author":{"gitId":"-"},"content":" * Creates/Resets the account request with the given email and institute"},{"lineNumber":140,"author":{"gitId":"-"},"content":" * such that it is not registered."},{"lineNumber":141,"author":{"gitId":"-"},"content":" *"},{"lineNumber":142,"author":{"gitId":"-"},"content":" * @return account request that is unregistered with the"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * email and institute."},{"lineNumber":144,"author":{"gitId":"-"},"content":" */"},{"lineNumber":145,"author":{"gitId":"-"},"content":" public AccountRequest resetAccountRequest(String email, String institute)"},{"lineNumber":146,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InvalidParametersException {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" return accountRequestLogic.resetAccountRequest(email, institute);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":151,"author":{"gitId":"-"},"content":" * Deletes account request by email and institute."},{"lineNumber":152,"author":{"gitId":"-"},"content":" *"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * \u003cul\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":" * \u003cli\u003eFails silently if no such account request.\u003c/li\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":" * \u003c/ul\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":" *"},{"lineNumber":157,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":" * All parameters are non-null."},{"lineNumber":159,"author":{"gitId":"-"},"content":" */"},{"lineNumber":160,"author":{"gitId":"-"},"content":" public void deleteAccountRequest(String email, String institute) {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" accountRequestLogic.deleteAccountRequest(email, institute);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":165,"author":{"gitId":"-"},"content":" * Gets an account."},{"lineNumber":166,"author":{"gitId":"-"},"content":" */"},{"lineNumber":167,"author":{"gitId":"-"},"content":" public Account getAccount(UUID id) {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" return accountsLogic.getAccount(id);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":172,"author":{"gitId":"-"},"content":" * Gets an account by googleId."},{"lineNumber":173,"author":{"gitId":"-"},"content":" */"},{"lineNumber":174,"author":{"gitId":"-"},"content":" public Account getAccountForGoogleId(String googleId) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" return accountsLogic.getAccountForGoogleId(googleId);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":179,"author":{"gitId":"-"},"content":" * Get a list of accounts associated with email provided."},{"lineNumber":180,"author":{"gitId":"-"},"content":" */"},{"lineNumber":181,"author":{"gitId":"-"},"content":" public List\u003cAccount\u003e getAccountsForEmail(String email) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" return accountsLogic.getAccountsForEmail(email);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":186,"author":{"gitId":"-"},"content":" * Creates an account."},{"lineNumber":187,"author":{"gitId":"-"},"content":" *"},{"lineNumber":188,"author":{"gitId":"-"},"content":" * @return the created account"},{"lineNumber":189,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the account is not valid"},{"lineNumber":190,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the account already exists in the database."},{"lineNumber":191,"author":{"gitId":"-"},"content":" */"},{"lineNumber":192,"author":{"gitId":"-"},"content":" public Account createAccount(Account account)"},{"lineNumber":193,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":194,"author":{"gitId":"-"},"content":" return accountsLogic.createAccount(account);"},{"lineNumber":195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":198,"author":{"gitId":"-"},"content":" * Deletes account by googleId."},{"lineNumber":199,"author":{"gitId":"-"},"content":" *"},{"lineNumber":200,"author":{"gitId":"-"},"content":" * \u003cul\u003e"},{"lineNumber":201,"author":{"gitId":"-"},"content":" * \u003cli\u003eFails silently if no such account.\u003c/li\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":" * \u003c/ul\u003e"},{"lineNumber":203,"author":{"gitId":"-"},"content":" *"},{"lineNumber":204,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":205,"author":{"gitId":"-"},"content":" * All parameters are non-null."},{"lineNumber":206,"author":{"gitId":"-"},"content":" */"},{"lineNumber":207,"author":{"gitId":"-"},"content":" public void deleteAccount(String googleId) {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" accountsLogic.deleteAccount(googleId);"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":212,"author":{"gitId":"-"},"content":" * Deletes account and all users by googleId."},{"lineNumber":213,"author":{"gitId":"-"},"content":" *"},{"lineNumber":214,"author":{"gitId":"-"},"content":" * \u003cul\u003e"},{"lineNumber":215,"author":{"gitId":"-"},"content":" * \u003cli\u003eFails silently if no such account.\u003c/li\u003e"},{"lineNumber":216,"author":{"gitId":"-"},"content":" * \u003c/ul\u003e"},{"lineNumber":217,"author":{"gitId":"-"},"content":" *"},{"lineNumber":218,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":" * All parameters are non-null."},{"lineNumber":220,"author":{"gitId":"-"},"content":" */"},{"lineNumber":221,"author":{"gitId":"-"},"content":" public void deleteAccountCascade(String googleId) {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" accountsLogic.deleteAccountCascade(googleId);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":226,"author":{"gitId":"-"},"content":" * Gets all students associated with a googleId."},{"lineNumber":227,"author":{"gitId":"-"},"content":" */"},{"lineNumber":228,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsByGoogleId(String googleId) {"},{"lineNumber":229,"author":{"gitId":"-"},"content":" return usersLogic.getStudentsByGoogleId(googleId);"},{"lineNumber":230,"author":{"gitId":"-"},"content":" }"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":233,"author":{"gitId":"-"},"content":" * Gets a course by course id."},{"lineNumber":234,"author":{"gitId":"-"},"content":" * @param courseId courseId of the course."},{"lineNumber":235,"author":{"gitId":"-"},"content":" * @return the specified course."},{"lineNumber":236,"author":{"gitId":"-"},"content":" */"},{"lineNumber":237,"author":{"gitId":"-"},"content":" public Course getCourse(String courseId) {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" return coursesLogic.getCourse(courseId);"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":242,"author":{"gitId":"domoberzin"},"content":" * Gets a section from a course by section name."},{"lineNumber":243,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":244,"author":{"gitId":"domoberzin"},"content":" public Section getSection(String courseId, String section) {"},{"lineNumber":245,"author":{"gitId":"domoberzin"},"content":" return usersLogic.getSection(courseId, section);"},{"lineNumber":246,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":247,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * Gets courses associated with student."},{"lineNumber":250,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":251,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":252,"author":{"gitId":"-"},"content":" */"},{"lineNumber":253,"author":{"gitId":"-"},"content":" public List\u003cCourse\u003e getCoursesForStudentAccount(String googleId) {"},{"lineNumber":254,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":" return coursesLogic.getCoursesForStudentAccount(googleId);"},{"lineNumber":257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":260,"author":{"gitId":"-"},"content":" * Gets courses associated with instructors."},{"lineNumber":261,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":262,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":263,"author":{"gitId":"-"},"content":" *"},{"lineNumber":264,"author":{"gitId":"-"},"content":" * @return Courses the given instructors is in except for courses in Recycle Bin."},{"lineNumber":265,"author":{"gitId":"-"},"content":" */"},{"lineNumber":266,"author":{"gitId":"-"},"content":" public List\u003cCourse\u003e getCoursesForInstructors(List\u003cInstructor\u003e instructorsList) {"},{"lineNumber":267,"author":{"gitId":"-"},"content":" assert instructorsList !\u003d null;"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" return coursesLogic.getCoursesForInstructors(instructorsList);"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":273,"author":{"gitId":"-"},"content":" * Gets courses associated with instructors that are soft deleted."},{"lineNumber":274,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":275,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":276,"author":{"gitId":"-"},"content":" *"},{"lineNumber":277,"author":{"gitId":"-"},"content":" * @return Courses in Recycle Bin that the given instructors is in."},{"lineNumber":278,"author":{"gitId":"-"},"content":" */"},{"lineNumber":279,"author":{"gitId":"-"},"content":" public List\u003cCourse\u003e getSoftDeletedCoursesForInstructors(List\u003cInstructor\u003e instructorsList) {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" assert instructorsList !\u003d null;"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" return coursesLogic.getSoftDeletedCoursesForInstructors(instructorsList);"},{"lineNumber":283,"author":{"gitId":"-"},"content":" }"},{"lineNumber":284,"author":{"gitId":"-"},"content":""},{"lineNumber":285,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":286,"author":{"gitId":"yuanxi1"},"content":" * Gets the institute of the course."},{"lineNumber":287,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":288,"author":{"gitId":"yuanxi1"},"content":" public String getCourseInstitute(String courseId) {"},{"lineNumber":289,"author":{"gitId":"yuanxi1"},"content":" return coursesLogic.getCourseInstitute(courseId);"},{"lineNumber":290,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":291,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":293,"author":{"gitId":"-"},"content":" * Creates a course."},{"lineNumber":294,"author":{"gitId":"-"},"content":" * @param course the course to create."},{"lineNumber":295,"author":{"gitId":"-"},"content":" * @return the created course."},{"lineNumber":296,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the course is not valid."},{"lineNumber":297,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the course already exists."},{"lineNumber":298,"author":{"gitId":"-"},"content":" */"},{"lineNumber":299,"author":{"gitId":"-"},"content":" public Course createCourse(Course course) throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" return coursesLogic.createCourse(course);"},{"lineNumber":301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":304,"author":{"gitId":"-"},"content":" * Deletes a course by course id."},{"lineNumber":305,"author":{"gitId":"-"},"content":" * @param courseId of course."},{"lineNumber":306,"author":{"gitId":"-"},"content":" */"},{"lineNumber":307,"author":{"gitId":"-"},"content":" public void deleteCourseCascade(String courseId) {"},{"lineNumber":308,"author":{"gitId":"-"},"content":" coursesLogic.deleteCourseCascade(courseId);"},{"lineNumber":309,"author":{"gitId":"-"},"content":" }"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":312,"author":{"gitId":"domoberzin"},"content":" * Updates a student by {@link Student}."},{"lineNumber":313,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":314,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003eIf email changed, update by recreating the student and cascade update all responses"},{"lineNumber":315,"author":{"gitId":"marquestye"},"content":" * and comments the student gives/receives."},{"lineNumber":316,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":317,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003eIf team changed, cascade delete all responses the student gives/receives within that team."},{"lineNumber":318,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":319,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003eIf section changed, cascade update all responses the student gives/receives."},{"lineNumber":320,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":321,"author":{"gitId":"domoberzin"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":322,"author":{"gitId":"marquestye"},"content":" * * Student parameter is non-null."},{"lineNumber":323,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":324,"author":{"gitId":"domoberzin"},"content":" * @return updated student"},{"lineNumber":325,"author":{"gitId":"domoberzin"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":326,"author":{"gitId":"domoberzin"},"content":" * @throws EntityDoesNotExistException if the student cannot be found"},{"lineNumber":327,"author":{"gitId":"domoberzin"},"content":" * @throws EntityAlreadyExistsException if the student cannot be updated"},{"lineNumber":328,"author":{"gitId":"domoberzin"},"content":" * by recreation because of an existent student"},{"lineNumber":329,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":330,"author":{"gitId":"domoberzin"},"content":" public Student updateStudentCascade(Student student)"},{"lineNumber":331,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":332,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":333,"author":{"gitId":"domoberzin"},"content":" assert student !\u003d null;"},{"lineNumber":334,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":335,"author":{"gitId":"domoberzin"},"content":" return usersLogic.updateStudentCascade(student);"},{"lineNumber":336,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":337,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":339,"author":{"gitId":"-"},"content":" * Moves a course to Recycle Bin by its given corresponding ID."},{"lineNumber":340,"author":{"gitId":"-"},"content":" * @return the deletion timestamp assigned to the course."},{"lineNumber":341,"author":{"gitId":"-"},"content":" */"},{"lineNumber":342,"author":{"gitId":"-"},"content":" public Course moveCourseToRecycleBin(String courseId) throws EntityDoesNotExistException {"},{"lineNumber":343,"author":{"gitId":"-"},"content":" return coursesLogic.moveCourseToRecycleBin(courseId);"},{"lineNumber":344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":347,"author":{"gitId":"-"},"content":" * Restores a course and all data related to the course from Recycle Bin by"},{"lineNumber":348,"author":{"gitId":"-"},"content":" * its given corresponding ID."},{"lineNumber":349,"author":{"gitId":"-"},"content":" */"},{"lineNumber":350,"author":{"gitId":"-"},"content":" public void restoreCourseFromRecycleBin(String courseId) throws EntityDoesNotExistException {"},{"lineNumber":351,"author":{"gitId":"-"},"content":" coursesLogic.restoreCourseFromRecycleBin(courseId);"},{"lineNumber":352,"author":{"gitId":"-"},"content":" }"},{"lineNumber":353,"author":{"gitId":"-"},"content":""},{"lineNumber":354,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":355,"author":{"gitId":"-"},"content":" * Updates a course."},{"lineNumber":356,"author":{"gitId":"-"},"content":" *"},{"lineNumber":357,"author":{"gitId":"-"},"content":" * @return updated course"},{"lineNumber":358,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":359,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the course cannot be found"},{"lineNumber":360,"author":{"gitId":"-"},"content":" */"},{"lineNumber":361,"author":{"gitId":"-"},"content":" public Course updateCourse(String courseId, String name, String timezone)"},{"lineNumber":362,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":363,"author":{"gitId":"-"},"content":" return coursesLogic.updateCourse(courseId, name, timezone);"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":367,"author":{"gitId":"-"},"content":" * Gets a list of section names for the given {@code courseId}."},{"lineNumber":368,"author":{"gitId":"-"},"content":" */"},{"lineNumber":369,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getSectionNamesForCourse(String courseId)"},{"lineNumber":370,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" return coursesLogic.getSectionNamesForCourse(courseId);"},{"lineNumber":372,"author":{"gitId":"-"},"content":" }"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":375,"author":{"gitId":"-"},"content":" * Get section by {@code courseId} and {@code teamName}."},{"lineNumber":376,"author":{"gitId":"-"},"content":" */"},{"lineNumber":377,"author":{"gitId":"-"},"content":" public Section getSectionByCourseIdAndTeam(String courseId, String teamName) {"},{"lineNumber":378,"author":{"gitId":"-"},"content":" return coursesLogic.getSectionByCourseIdAndTeam(courseId, teamName);"},{"lineNumber":379,"author":{"gitId":"-"},"content":" }"},{"lineNumber":380,"author":{"gitId":"-"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":382,"author":{"gitId":"-"},"content":" * Creates a deadline extension."},{"lineNumber":383,"author":{"gitId":"-"},"content":" *"},{"lineNumber":384,"author":{"gitId":"-"},"content":" * @return created deadline extension"},{"lineNumber":385,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the deadline extension is not valid"},{"lineNumber":386,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the deadline extension already exist"},{"lineNumber":387,"author":{"gitId":"-"},"content":" */"},{"lineNumber":388,"author":{"gitId":"-"},"content":" public DeadlineExtension createDeadlineExtension(DeadlineExtension deadlineExtension)"},{"lineNumber":389,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":390,"author":{"gitId":"-"},"content":" return deadlineExtensionsLogic.createDeadlineExtension(deadlineExtension);"},{"lineNumber":391,"author":{"gitId":"-"},"content":" }"},{"lineNumber":392,"author":{"gitId":"-"},"content":""},{"lineNumber":393,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":394,"author":{"gitId":"-"},"content":" * Updates a deadline extension."},{"lineNumber":395,"author":{"gitId":"-"},"content":" *"},{"lineNumber":396,"author":{"gitId":"-"},"content":" * @return updated deadline extension"},{"lineNumber":397,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the deadline extension does not exist"},{"lineNumber":398,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the deadline extension is not valid"},{"lineNumber":399,"author":{"gitId":"-"},"content":" *"},{"lineNumber":400,"author":{"gitId":"-"},"content":" */"},{"lineNumber":401,"author":{"gitId":"-"},"content":" public DeadlineExtension updateDeadlineExtension(DeadlineExtension de)"},{"lineNumber":402,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":403,"author":{"gitId":"-"},"content":" return deadlineExtensionsLogic.updateDeadlineExtension(de);"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":407,"author":{"gitId":"-"},"content":" * Deletes a deadline extension."},{"lineNumber":408,"author":{"gitId":"-"},"content":" */"},{"lineNumber":409,"author":{"gitId":"-"},"content":" public void deleteDeadlineExtension(DeadlineExtension de) {"},{"lineNumber":410,"author":{"gitId":"-"},"content":" deadlineExtensionsLogic.deleteDeadlineExtension(de);"},{"lineNumber":411,"author":{"gitId":"-"},"content":" }"},{"lineNumber":412,"author":{"gitId":"-"},"content":""},{"lineNumber":413,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":414,"author":{"gitId":"-"},"content":" * Fetch the deadline extension for a given user and session feedback."},{"lineNumber":415,"author":{"gitId":"-"},"content":" *"},{"lineNumber":416,"author":{"gitId":"-"},"content":" * @return deadline extension instant if exists, else the default end time instant"},{"lineNumber":417,"author":{"gitId":"-"},"content":" * for the session feedback."},{"lineNumber":418,"author":{"gitId":"-"},"content":" */"},{"lineNumber":419,"author":{"gitId":"-"},"content":" public Instant getDeadlineForUser(FeedbackSession session, User user) {"},{"lineNumber":420,"author":{"gitId":"-"},"content":" return deadlineExtensionsLogic.getDeadlineForUser(session, user);"},{"lineNumber":421,"author":{"gitId":"-"},"content":" }"},{"lineNumber":422,"author":{"gitId":"-"},"content":""},{"lineNumber":423,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":424,"author":{"gitId":"-"},"content":" * Fetch the deadline extension for a given user and session feedback."},{"lineNumber":425,"author":{"gitId":"-"},"content":" *"},{"lineNumber":426,"author":{"gitId":"-"},"content":" * @return deadline extension instant if exists, else return null since no deadline extensions."},{"lineNumber":427,"author":{"gitId":"-"},"content":" */"},{"lineNumber":428,"author":{"gitId":"-"},"content":" public Instant getExtendedDeadlineForUser(FeedbackSession session, User user) {"},{"lineNumber":429,"author":{"gitId":"-"},"content":" return deadlineExtensionsLogic.getExtendedDeadlineForUser(session, user);"},{"lineNumber":430,"author":{"gitId":"-"},"content":" }"},{"lineNumber":431,"author":{"gitId":"-"},"content":""},{"lineNumber":432,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":433,"author":{"gitId":"-"},"content":" * Gets a list of deadline extensions with endTime coming up soon"},{"lineNumber":434,"author":{"gitId":"-"},"content":" * and possibly need a closing email to be sent."},{"lineNumber":435,"author":{"gitId":"-"},"content":" */"},{"lineNumber":436,"author":{"gitId":"-"},"content":" public List\u003cDeadlineExtension\u003e getDeadlineExtensionsPossiblyNeedingClosingEmail() {"},{"lineNumber":437,"author":{"gitId":"-"},"content":" return deadlineExtensionsLogic.getDeadlineExtensionsPossiblyNeedingClosingEmail();"},{"lineNumber":438,"author":{"gitId":"-"},"content":" }"},{"lineNumber":439,"author":{"gitId":"-"},"content":""},{"lineNumber":440,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":441,"author":{"gitId":"-"},"content":" * Gets a feedback session."},{"lineNumber":442,"author":{"gitId":"-"},"content":" *"},{"lineNumber":443,"author":{"gitId":"-"},"content":" * @return null if not found."},{"lineNumber":444,"author":{"gitId":"-"},"content":" */"},{"lineNumber":445,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSession(UUID id) {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSession(id);"},{"lineNumber":447,"author":{"gitId":"-"},"content":" }"},{"lineNumber":448,"author":{"gitId":"-"},"content":""},{"lineNumber":449,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":450,"author":{"gitId":"-"},"content":" * Gets a feedback session for {@code feedbackSessionName} and {@code courseId}."},{"lineNumber":451,"author":{"gitId":"-"},"content":" *"},{"lineNumber":452,"author":{"gitId":"-"},"content":" * @return null if not found."},{"lineNumber":453,"author":{"gitId":"-"},"content":" */"},{"lineNumber":454,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSession(String feedbackSessionName, String courseId) {"},{"lineNumber":455,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":456,"author":{"gitId":"-"},"content":" }"},{"lineNumber":457,"author":{"gitId":"-"},"content":""},{"lineNumber":458,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":459,"author":{"gitId":"-"},"content":" * Gets a feedback session from the recycle bin."},{"lineNumber":460,"author":{"gitId":"-"},"content":" *"},{"lineNumber":461,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":462,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":463,"author":{"gitId":"-"},"content":" *"},{"lineNumber":464,"author":{"gitId":"-"},"content":" * @return null if not found."},{"lineNumber":465,"author":{"gitId":"-"},"content":" */"},{"lineNumber":466,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSessionFromRecycleBin(String feedbackSessionName, String courseId) {"},{"lineNumber":467,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":468,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":469,"author":{"gitId":"-"},"content":""},{"lineNumber":470,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionFromRecycleBin(feedbackSessionName, courseId);"},{"lineNumber":471,"author":{"gitId":"-"},"content":" }"},{"lineNumber":472,"author":{"gitId":"-"},"content":""},{"lineNumber":473,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":474,"author":{"gitId":"-"},"content":" * Returns a {@code List} of feedback sessions in the Recycle Bin for the instructors."},{"lineNumber":475,"author":{"gitId":"-"},"content":" * \u003cbr\u003e"},{"lineNumber":476,"author":{"gitId":"-"},"content":" * Omits sessions if the corresponding courses are archived or in Recycle Bin"},{"lineNumber":477,"author":{"gitId":"-"},"content":" */"},{"lineNumber":478,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getSoftDeletedFeedbackSessionsForInstructors("},{"lineNumber":479,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorList) {"},{"lineNumber":480,"author":{"gitId":"-"},"content":" assert instructorList !\u003d null;"},{"lineNumber":481,"author":{"gitId":"-"},"content":""},{"lineNumber":482,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getSoftDeletedFeedbackSessionsForInstructors(instructorList);"},{"lineNumber":483,"author":{"gitId":"-"},"content":" }"},{"lineNumber":484,"author":{"gitId":"-"},"content":""},{"lineNumber":485,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":486,"author":{"gitId":"-"},"content":" * Gets a list of feedback sessions for instructors."},{"lineNumber":487,"author":{"gitId":"-"},"content":" */"},{"lineNumber":488,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsForInstructors("},{"lineNumber":489,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorList) {"},{"lineNumber":490,"author":{"gitId":"-"},"content":" assert instructorList !\u003d null;"},{"lineNumber":491,"author":{"gitId":"-"},"content":""},{"lineNumber":492,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionsForInstructors(instructorList);"},{"lineNumber":493,"author":{"gitId":"-"},"content":" }"},{"lineNumber":494,"author":{"gitId":"-"},"content":""},{"lineNumber":495,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":496,"author":{"gitId":"-"},"content":" * Gets all and only the feedback sessions ongoing within a range of time."},{"lineNumber":497,"author":{"gitId":"-"},"content":" */"},{"lineNumber":498,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getOngoingSessions(Instant rangeStart, Instant rangeEnd) {"},{"lineNumber":499,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getOngoingSessions(rangeStart, rangeEnd);"},{"lineNumber":500,"author":{"gitId":"-"},"content":" }"},{"lineNumber":501,"author":{"gitId":"-"},"content":""},{"lineNumber":502,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":503,"author":{"gitId":"-"},"content":" * Gets a set of giver identifiers that has at least one response under a feedback session."},{"lineNumber":504,"author":{"gitId":"-"},"content":" */"},{"lineNumber":505,"author":{"gitId":"-"},"content":" public Set\u003cString\u003e getGiverSetThatAnsweredFeedbackSession(String feedbackSessionName, String courseId) {"},{"lineNumber":506,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":507,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":508,"author":{"gitId":"-"},"content":""},{"lineNumber":509,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getGiverSetThatAnsweredFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":510,"author":{"gitId":"-"},"content":" }"},{"lineNumber":511,"author":{"gitId":"-"},"content":""},{"lineNumber":512,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":513,"author":{"gitId":"-"},"content":" * Updates a feedback session."},{"lineNumber":514,"author":{"gitId":"-"},"content":" *"},{"lineNumber":515,"author":{"gitId":"-"},"content":" * @return returns the updated feedback session."},{"lineNumber":516,"author":{"gitId":"-"},"content":" */"},{"lineNumber":517,"author":{"gitId":"-"},"content":" public FeedbackSession updateFeedbackSession(FeedbackSession feedbackSession)"},{"lineNumber":518,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":519,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.updateFeedbackSession(feedbackSession);"},{"lineNumber":520,"author":{"gitId":"-"},"content":" }"},{"lineNumber":521,"author":{"gitId":"-"},"content":""},{"lineNumber":522,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":523,"author":{"gitId":"-"},"content":" * Returns a list of sessions that require automated emails to be sent as they are published."},{"lineNumber":524,"author":{"gitId":"-"},"content":" */"},{"lineNumber":525,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsWhichNeedAutomatedPublishedEmailsToBeSent() {"},{"lineNumber":526,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionsWhichNeedAutomatedPublishedEmailsToBeSent();"},{"lineNumber":527,"author":{"gitId":"-"},"content":" }"},{"lineNumber":528,"author":{"gitId":"-"},"content":""},{"lineNumber":529,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":530,"author":{"gitId":"-"},"content":" * Creates a feedback session."},{"lineNumber":531,"author":{"gitId":"-"},"content":" *"},{"lineNumber":532,"author":{"gitId":"-"},"content":" * @return returns the created feedback session."},{"lineNumber":533,"author":{"gitId":"-"},"content":" */"},{"lineNumber":534,"author":{"gitId":"-"},"content":" public FeedbackSession createFeedbackSession(FeedbackSession feedbackSession)"},{"lineNumber":535,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":536,"author":{"gitId":"-"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":537,"author":{"gitId":"-"},"content":" assert feedbackSession.getCourse() !\u003d null \u0026\u0026 feedbackSession.getCourse().getId() !\u003d null;"},{"lineNumber":538,"author":{"gitId":"-"},"content":""},{"lineNumber":539,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.createFeedbackSession(feedbackSession);"},{"lineNumber":540,"author":{"gitId":"-"},"content":" }"},{"lineNumber":541,"author":{"gitId":"-"},"content":""},{"lineNumber":542,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":543,"author":{"gitId":"-"},"content":" * Gets all feedback sessions of a course, except those that are soft-deleted."},{"lineNumber":544,"author":{"gitId":"-"},"content":" */"},{"lineNumber":545,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsForCourse(String courseId) {"},{"lineNumber":546,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionsForCourse(courseId);"},{"lineNumber":547,"author":{"gitId":"-"},"content":" }"},{"lineNumber":548,"author":{"gitId":"-"},"content":""},{"lineNumber":549,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":550,"author":{"gitId":"-"},"content":" * Creates a new feedback question."},{"lineNumber":551,"author":{"gitId":"-"},"content":" *"},{"lineNumber":552,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":553,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":554,"author":{"gitId":"-"},"content":" *"},{"lineNumber":555,"author":{"gitId":"-"},"content":" * @return the created question"},{"lineNumber":556,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the question is invalid"},{"lineNumber":557,"author":{"gitId":"marquestye"},"content":" * @throws EntityAlreadyExistsException if the question already exists"},{"lineNumber":558,"author":{"gitId":"-"},"content":" */"},{"lineNumber":559,"author":{"gitId":"marquestye"},"content":" public FeedbackQuestion createFeedbackQuestion(FeedbackQuestion feedbackQuestion)"},{"lineNumber":560,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":561,"author":{"gitId":"-"},"content":" return feedbackQuestionsLogic.createFeedbackQuestion(feedbackQuestion);"},{"lineNumber":562,"author":{"gitId":"-"},"content":" }"},{"lineNumber":563,"author":{"gitId":"-"},"content":""},{"lineNumber":564,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":565,"author":{"gitId":"-"},"content":" * Publishes a feedback session."},{"lineNumber":566,"author":{"gitId":"-"},"content":" * @return the published feedback session"},{"lineNumber":567,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback session cannot be found"},{"lineNumber":568,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if session is already published"},{"lineNumber":569,"author":{"gitId":"-"},"content":" */"},{"lineNumber":570,"author":{"gitId":"-"},"content":" public FeedbackSession publishFeedbackSession(String feedbackSessionName, String courseId)"},{"lineNumber":571,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InvalidParametersException {"},{"lineNumber":572,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":573,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":574,"author":{"gitId":"-"},"content":""},{"lineNumber":575,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.publishFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":576,"author":{"gitId":"-"},"content":" }"},{"lineNumber":577,"author":{"gitId":"-"},"content":""},{"lineNumber":578,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":579,"author":{"gitId":"-"},"content":" * Checks whether a student has attempted a feedback session."},{"lineNumber":580,"author":{"gitId":"-"},"content":" *"},{"lineNumber":581,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf there is no question for students, the feedback session is considered as attempted.\u003c/p\u003e"},{"lineNumber":582,"author":{"gitId":"-"},"content":" */"},{"lineNumber":583,"author":{"gitId":"-"},"content":" public boolean isFeedbackSessionAttemptedByStudent(FeedbackSession session, String userEmail, String userTeam) {"},{"lineNumber":584,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.isFeedbackSessionAttemptedByStudent(session, userEmail, userTeam);"},{"lineNumber":585,"author":{"gitId":"-"},"content":" }"},{"lineNumber":586,"author":{"gitId":"-"},"content":""},{"lineNumber":587,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":588,"author":{"gitId":"-"},"content":" * Checks whether an instructor has attempted a feedback session."},{"lineNumber":589,"author":{"gitId":"-"},"content":" *"},{"lineNumber":590,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf there is no question for instructors, the feedback session is considered as attempted.\u003c/p\u003e"},{"lineNumber":591,"author":{"gitId":"-"},"content":" */"},{"lineNumber":592,"author":{"gitId":"-"},"content":" public boolean isFeedbackSessionAttemptedByInstructor(FeedbackSession session, String userEmail) {"},{"lineNumber":593,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.isFeedbackSessionAttemptedByInstructor(session, userEmail);"},{"lineNumber":594,"author":{"gitId":"-"},"content":" }"},{"lineNumber":595,"author":{"gitId":"-"},"content":""},{"lineNumber":596,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":597,"author":{"gitId":"-"},"content":" * Deletes a feedback session cascade to its associated questions, responses, deadline extensions and comments."},{"lineNumber":598,"author":{"gitId":"-"},"content":" *"},{"lineNumber":599,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":600,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":601,"author":{"gitId":"-"},"content":" */"},{"lineNumber":602,"author":{"gitId":"-"},"content":" public void deleteFeedbackSessionCascade(String feedbackSessionName, String courseId) {"},{"lineNumber":603,"author":{"gitId":"-"},"content":" feedbackSessionsLogic.deleteFeedbackSessionCascade(feedbackSessionName, courseId);"},{"lineNumber":604,"author":{"gitId":"-"},"content":" }"},{"lineNumber":605,"author":{"gitId":"-"},"content":""},{"lineNumber":606,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":607,"author":{"gitId":"-"},"content":" * Soft-deletes a specific session to Recycle Bin."},{"lineNumber":608,"author":{"gitId":"-"},"content":" */"},{"lineNumber":609,"author":{"gitId":"-"},"content":" public void moveFeedbackSessionToRecycleBin(String feedbackSessionName, String courseId)"},{"lineNumber":610,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":611,"author":{"gitId":"-"},"content":""},{"lineNumber":612,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":613,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":614,"author":{"gitId":"-"},"content":""},{"lineNumber":615,"author":{"gitId":"-"},"content":" feedbackSessionsLogic.moveFeedbackSessionToRecycleBin(feedbackSessionName, courseId);"},{"lineNumber":616,"author":{"gitId":"-"},"content":" }"},{"lineNumber":617,"author":{"gitId":"-"},"content":""},{"lineNumber":618,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":619,"author":{"gitId":"-"},"content":" * Restores a specific session from Recycle Bin to feedback sessions table."},{"lineNumber":620,"author":{"gitId":"-"},"content":" */"},{"lineNumber":621,"author":{"gitId":"-"},"content":" public void restoreFeedbackSessionFromRecycleBin(String feedbackSessionName, String courseId)"},{"lineNumber":622,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":623,"author":{"gitId":"-"},"content":""},{"lineNumber":624,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":625,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":626,"author":{"gitId":"-"},"content":""},{"lineNumber":627,"author":{"gitId":"-"},"content":" feedbackSessionsLogic.restoreFeedbackSessionFromRecycleBin(feedbackSessionName, courseId);"},{"lineNumber":628,"author":{"gitId":"-"},"content":" }"},{"lineNumber":629,"author":{"gitId":"-"},"content":""},{"lineNumber":630,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":631,"author":{"gitId":"-"},"content":" * Unpublishes a feedback session."},{"lineNumber":632,"author":{"gitId":"-"},"content":" * @return the unpublished feedback session"},{"lineNumber":633,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback session cannot be found"},{"lineNumber":634,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException"},{"lineNumber":635,"author":{"gitId":"-"},"content":" * if the feedback session is not ready to be unpublished."},{"lineNumber":636,"author":{"gitId":"-"},"content":" */"},{"lineNumber":637,"author":{"gitId":"-"},"content":" public FeedbackSession unpublishFeedbackSession(String feedbackSessionName, String courseId)"},{"lineNumber":638,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InvalidParametersException {"},{"lineNumber":639,"author":{"gitId":"-"},"content":""},{"lineNumber":640,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":641,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":642,"author":{"gitId":"-"},"content":""},{"lineNumber":643,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.unpublishFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":644,"author":{"gitId":"-"},"content":" }"},{"lineNumber":645,"author":{"gitId":"-"},"content":""},{"lineNumber":646,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":647,"author":{"gitId":"-"},"content":" * After an update to feedback session\u0027s fields, may need to adjust the email status of the session."},{"lineNumber":648,"author":{"gitId":"-"},"content":" * @param session recently updated session."},{"lineNumber":649,"author":{"gitId":"-"},"content":" */"},{"lineNumber":650,"author":{"gitId":"-"},"content":" public void adjustFeedbackSessionEmailStatusAfterUpdate(FeedbackSession session) {"},{"lineNumber":651,"author":{"gitId":"-"},"content":" assert session !\u003d null;"},{"lineNumber":652,"author":{"gitId":"-"},"content":" feedbackSessionsLogic.adjustFeedbackSessionEmailStatusAfterUpdate(session);"},{"lineNumber":653,"author":{"gitId":"-"},"content":" }"},{"lineNumber":654,"author":{"gitId":"-"},"content":""},{"lineNumber":655,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":656,"author":{"gitId":"domoberzin"},"content":" * Gets the expected number of submissions for a feedback session."},{"lineNumber":657,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":658,"author":{"gitId":"domoberzin"},"content":" * \u003cbr\u003ePreconditions: \u003cbr\u003e"},{"lineNumber":659,"author":{"gitId":"domoberzin"},"content":" * * All parameters are non-null."},{"lineNumber":660,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":661,"author":{"gitId":"domoberzin"},"content":" public int getExpectedTotalSubmission(FeedbackSession fs) {"},{"lineNumber":662,"author":{"gitId":"domoberzin"},"content":" assert fs !\u003d null;"},{"lineNumber":663,"author":{"gitId":"domoberzin"},"content":" return feedbackSessionsLogic.getExpectedTotalSubmission(fs);"},{"lineNumber":664,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":665,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":666,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":667,"author":{"gitId":"domoberzin"},"content":" * Gets the actual number of submissions for a feedback session."},{"lineNumber":668,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":669,"author":{"gitId":"domoberzin"},"content":" * \u003cbr\u003ePreconditions: \u003cbr\u003e"},{"lineNumber":670,"author":{"gitId":"domoberzin"},"content":" * * All parameters are non-null."},{"lineNumber":671,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":672,"author":{"gitId":"domoberzin"},"content":" public int getActualTotalSubmission(FeedbackSession fs) {"},{"lineNumber":673,"author":{"gitId":"domoberzin"},"content":" assert fs !\u003d null;"},{"lineNumber":674,"author":{"gitId":"domoberzin"},"content":" return feedbackSessionsLogic.getActualTotalSubmission(fs);"},{"lineNumber":675,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":676,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":677,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":678,"author":{"gitId":"-"},"content":" * Get usage statistics within a time range."},{"lineNumber":679,"author":{"gitId":"-"},"content":" */"},{"lineNumber":680,"author":{"gitId":"-"},"content":" public List\u003cUsageStatistics\u003e getUsageStatisticsForTimeRange(Instant startTime, Instant endTime) {"},{"lineNumber":681,"author":{"gitId":"-"},"content":" return usageStatisticsLogic.getUsageStatisticsForTimeRange(startTime, endTime);"},{"lineNumber":682,"author":{"gitId":"-"},"content":" }"},{"lineNumber":683,"author":{"gitId":"-"},"content":""},{"lineNumber":684,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":685,"author":{"gitId":"-"},"content":" * Calculate usage statistics within a time range."},{"lineNumber":686,"author":{"gitId":"-"},"content":" */"},{"lineNumber":687,"author":{"gitId":"-"},"content":" public UsageStatistics calculateEntitiesStatisticsForTimeRange(Instant startTime, Instant endTime) {"},{"lineNumber":688,"author":{"gitId":"-"},"content":" return usageStatisticsLogic.calculateEntitiesStatisticsForTimeRange(startTime, endTime);"},{"lineNumber":689,"author":{"gitId":"-"},"content":" }"},{"lineNumber":690,"author":{"gitId":"-"},"content":""},{"lineNumber":691,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":692,"author":{"gitId":"-"},"content":" * Create usage statistics within a time range."},{"lineNumber":693,"author":{"gitId":"-"},"content":" */"},{"lineNumber":694,"author":{"gitId":"-"},"content":" public void createUsageStatistics(UsageStatistics attributes)"},{"lineNumber":695,"author":{"gitId":"-"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":696,"author":{"gitId":"-"},"content":" usageStatisticsLogic.createUsageStatistics(attributes);"},{"lineNumber":697,"author":{"gitId":"-"},"content":" }"},{"lineNumber":698,"author":{"gitId":"-"},"content":""},{"lineNumber":699,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":700,"author":{"gitId":"-"},"content":" * Creates a notification."},{"lineNumber":701,"author":{"gitId":"-"},"content":" *"},{"lineNumber":702,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":703,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":704,"author":{"gitId":"-"},"content":" *"},{"lineNumber":705,"author":{"gitId":"-"},"content":" * @return created notification"},{"lineNumber":706,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the notification is not valid"},{"lineNumber":707,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the notification exists in the database"},{"lineNumber":708,"author":{"gitId":"-"},"content":" */"},{"lineNumber":709,"author":{"gitId":"-"},"content":" public Notification createNotification(Notification notification) throws"},{"lineNumber":710,"author":{"gitId":"-"},"content":" InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":711,"author":{"gitId":"-"},"content":" return notificationsLogic.createNotification(notification);"},{"lineNumber":712,"author":{"gitId":"-"},"content":" }"},{"lineNumber":713,"author":{"gitId":"-"},"content":""},{"lineNumber":714,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":715,"author":{"gitId":"-"},"content":" * Gets a notification by ID."},{"lineNumber":716,"author":{"gitId":"-"},"content":" *"},{"lineNumber":717,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":718,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":719,"author":{"gitId":"-"},"content":" *"},{"lineNumber":720,"author":{"gitId":"-"},"content":" * @return Null if no match found."},{"lineNumber":721,"author":{"gitId":"-"},"content":" */"},{"lineNumber":722,"author":{"gitId":"-"},"content":" public Notification getNotification(UUID notificationId) {"},{"lineNumber":723,"author":{"gitId":"-"},"content":" return notificationsLogic.getNotification(notificationId);"},{"lineNumber":724,"author":{"gitId":"-"},"content":" }"},{"lineNumber":725,"author":{"gitId":"-"},"content":""},{"lineNumber":726,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":727,"author":{"gitId":"-"},"content":" * Updates a notification."},{"lineNumber":728,"author":{"gitId":"-"},"content":" *"},{"lineNumber":729,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":730,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":731,"author":{"gitId":"-"},"content":" * @return updated notification"},{"lineNumber":732,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the notification is not valid"},{"lineNumber":733,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the notification does not exist in the database"},{"lineNumber":734,"author":{"gitId":"-"},"content":" */"},{"lineNumber":735,"author":{"gitId":"-"},"content":" public Notification updateNotification(UUID notificationId, Instant startTime, Instant endTime,"},{"lineNumber":736,"author":{"gitId":"-"},"content":" NotificationStyle style, NotificationTargetUser targetUser, String title,"},{"lineNumber":737,"author":{"gitId":"-"},"content":" String message) throws"},{"lineNumber":738,"author":{"gitId":"-"},"content":" InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":739,"author":{"gitId":"-"},"content":" return notificationsLogic.updateNotification(notificationId, startTime, endTime, style, targetUser, title, message);"},{"lineNumber":740,"author":{"gitId":"-"},"content":" }"},{"lineNumber":741,"author":{"gitId":"-"},"content":""},{"lineNumber":742,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":743,"author":{"gitId":"-"},"content":" * Deletes notification by ID."},{"lineNumber":744,"author":{"gitId":"-"},"content":" *"},{"lineNumber":745,"author":{"gitId":"-"},"content":" * \u003cul\u003e"},{"lineNumber":746,"author":{"gitId":"-"},"content":" * \u003cli\u003eFails silently if no such notification.\u003c/li\u003e"},{"lineNumber":747,"author":{"gitId":"-"},"content":" * \u003c/ul\u003e"},{"lineNumber":748,"author":{"gitId":"-"},"content":" *"},{"lineNumber":749,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":750,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":751,"author":{"gitId":"-"},"content":" */"},{"lineNumber":752,"author":{"gitId":"-"},"content":" public void deleteNotification(UUID notificationId) {"},{"lineNumber":753,"author":{"gitId":"-"},"content":" notificationsLogic.deleteNotification(notificationId);"},{"lineNumber":754,"author":{"gitId":"-"},"content":" }"},{"lineNumber":755,"author":{"gitId":"-"},"content":""},{"lineNumber":756,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":757,"author":{"gitId":"-"},"content":" * Get a list of IDs of the read notifications of the account."},{"lineNumber":758,"author":{"gitId":"-"},"content":" */"},{"lineNumber":759,"author":{"gitId":"-"},"content":" public List\u003cUUID\u003e getReadNotificationsId(String id) {"},{"lineNumber":760,"author":{"gitId":"-"},"content":" return accountsLogic.getReadNotificationsId(id);"},{"lineNumber":761,"author":{"gitId":"-"},"content":" }"},{"lineNumber":762,"author":{"gitId":"-"},"content":""},{"lineNumber":763,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":764,"author":{"gitId":"-"},"content":" * Updates user read status for notification with ID {@code notificationId} and expiry time {@code endTime}."},{"lineNumber":765,"author":{"gitId":"-"},"content":" *"},{"lineNumber":766,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":767,"author":{"gitId":"-"},"content":" * * All parameters are non-null. {@code endTime} must be after current moment."},{"lineNumber":768,"author":{"gitId":"-"},"content":" */"},{"lineNumber":769,"author":{"gitId":"-"},"content":" public List\u003cUUID\u003e updateReadNotifications(String id, UUID notificationId, Instant endTime)"},{"lineNumber":770,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":771,"author":{"gitId":"-"},"content":" return accountsLogic.updateReadNotifications(id, notificationId, endTime);"},{"lineNumber":772,"author":{"gitId":"-"},"content":" }"},{"lineNumber":773,"author":{"gitId":"-"},"content":""},{"lineNumber":774,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":775,"author":{"gitId":"-"},"content":" * Gets instructor associated with {@code id}."},{"lineNumber":776,"author":{"gitId":"-"},"content":" *"},{"lineNumber":777,"author":{"gitId":"-"},"content":" * @param id Id of Instructor."},{"lineNumber":778,"author":{"gitId":"-"},"content":" * @return Returns Instructor if found else null."},{"lineNumber":779,"author":{"gitId":"-"},"content":" */"},{"lineNumber":780,"author":{"gitId":"-"},"content":" public Instructor getInstructor(UUID id) {"},{"lineNumber":781,"author":{"gitId":"-"},"content":" return usersLogic.getInstructor(id);"},{"lineNumber":782,"author":{"gitId":"-"},"content":" }"},{"lineNumber":783,"author":{"gitId":"-"},"content":""},{"lineNumber":784,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":785,"author":{"gitId":"-"},"content":" * Gets instructor associated with {@code courseId} and {@code email}."},{"lineNumber":786,"author":{"gitId":"-"},"content":" */"},{"lineNumber":787,"author":{"gitId":"-"},"content":" public Instructor getInstructorForEmail(String courseId, String email) {"},{"lineNumber":788,"author":{"gitId":"-"},"content":" return usersLogic.getInstructorForEmail(courseId, email);"},{"lineNumber":789,"author":{"gitId":"-"},"content":" }"},{"lineNumber":790,"author":{"gitId":"-"},"content":""},{"lineNumber":791,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":792,"author":{"gitId":"-"},"content":" * Gets an instructor by associated {@code regkey}."},{"lineNumber":793,"author":{"gitId":"-"},"content":" */"},{"lineNumber":794,"author":{"gitId":"-"},"content":" public Instructor getInstructorByRegistrationKey(String regKey) {"},{"lineNumber":795,"author":{"gitId":"-"},"content":" return usersLogic.getInstructorByRegistrationKey(regKey);"},{"lineNumber":796,"author":{"gitId":"-"},"content":" }"},{"lineNumber":797,"author":{"gitId":"-"},"content":""},{"lineNumber":798,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":799,"author":{"gitId":"-"},"content":" * Gets an instructor by associated {@code googleId}."},{"lineNumber":800,"author":{"gitId":"-"},"content":" */"},{"lineNumber":801,"author":{"gitId":"-"},"content":" public Instructor getInstructorByGoogleId(String courseId, String googleId) {"},{"lineNumber":802,"author":{"gitId":"-"},"content":" return usersLogic.getInstructorByGoogleId(courseId, googleId);"},{"lineNumber":803,"author":{"gitId":"-"},"content":" }"},{"lineNumber":804,"author":{"gitId":"-"},"content":""},{"lineNumber":805,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":806,"author":{"gitId":"-"},"content":" * Gets list of instructors by {@code googleId}."},{"lineNumber":807,"author":{"gitId":"-"},"content":" */"},{"lineNumber":808,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsForGoogleId(String googleId) {"},{"lineNumber":809,"author":{"gitId":"-"},"content":" return usersLogic.getInstructorsForGoogleId(googleId);"},{"lineNumber":810,"author":{"gitId":"-"},"content":" }"},{"lineNumber":811,"author":{"gitId":"-"},"content":""},{"lineNumber":812,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":813,"author":{"gitId":"-"},"content":" * Gets instructors by associated {@code courseId}."},{"lineNumber":814,"author":{"gitId":"-"},"content":" */"},{"lineNumber":815,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsByCourse(String courseId) {"},{"lineNumber":816,"author":{"gitId":"-"},"content":" return usersLogic.getInstructorsForCourse(courseId);"},{"lineNumber":817,"author":{"gitId":"-"},"content":" }"},{"lineNumber":818,"author":{"gitId":"-"},"content":""},{"lineNumber":819,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":820,"author":{"gitId":"-"},"content":" * Creates an instructor."},{"lineNumber":821,"author":{"gitId":"-"},"content":" */"},{"lineNumber":822,"author":{"gitId":"-"},"content":" public Instructor createInstructor(Instructor instructor)"},{"lineNumber":823,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":824,"author":{"gitId":"-"},"content":" return usersLogic.createInstructor(instructor);"},{"lineNumber":825,"author":{"gitId":"-"},"content":" }"},{"lineNumber":826,"author":{"gitId":"-"},"content":""},{"lineNumber":827,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":828,"author":{"gitId":"-"},"content":" * Make the instructor join the course, i.e. associate the Google ID to the instructor.\u003cbr\u003e"},{"lineNumber":829,"author":{"gitId":"-"},"content":" * Creates an account for the instructor if no existing account is found."},{"lineNumber":830,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":831,"author":{"gitId":"-"},"content":" * * Parameters regkey and googleId are non-null."},{"lineNumber":832,"author":{"gitId":"-"},"content":" */"},{"lineNumber":833,"author":{"gitId":"-"},"content":" public Instructor joinCourseForInstructor(String regkey, String googleId)"},{"lineNumber":834,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":835,"author":{"gitId":"-"},"content":""},{"lineNumber":836,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":837,"author":{"gitId":"-"},"content":" assert regkey !\u003d null;"},{"lineNumber":838,"author":{"gitId":"-"},"content":""},{"lineNumber":839,"author":{"gitId":"-"},"content":" return accountsLogic.joinCourseForInstructor(regkey, googleId);"},{"lineNumber":840,"author":{"gitId":"-"},"content":" }"},{"lineNumber":841,"author":{"gitId":"-"},"content":""},{"lineNumber":842,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":843,"author":{"gitId":"-"},"content":" * Validates that the join course request is valid, then"},{"lineNumber":844,"author":{"gitId":"-"},"content":" * makes the instructor join the course, i.e. associate an account to the instructor with the given googleId."},{"lineNumber":845,"author":{"gitId":"-"},"content":" * Creates an account for the instructor if no existing account is found."},{"lineNumber":846,"author":{"gitId":"-"},"content":" * Preconditions:"},{"lineNumber":847,"author":{"gitId":"-"},"content":" * Parameters regkey and googleId are non-null."},{"lineNumber":848,"author":{"gitId":"-"},"content":" */"},{"lineNumber":849,"author":{"gitId":"-"},"content":" public Instructor joinCourseForInstructor(String googleId, Instructor instructor)"},{"lineNumber":850,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException, EntityDoesNotExistException {"},{"lineNumber":851,"author":{"gitId":"-"},"content":" if (googleId \u003d\u003d null) {"},{"lineNumber":852,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(\"Instructor\u0027s googleId cannot be null\");"},{"lineNumber":853,"author":{"gitId":"-"},"content":" }"},{"lineNumber":854,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":855,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(\"Instructor cannot be null\");"},{"lineNumber":856,"author":{"gitId":"-"},"content":" }"},{"lineNumber":857,"author":{"gitId":"-"},"content":""},{"lineNumber":858,"author":{"gitId":"-"},"content":" validateJoinCourseRequest(googleId, instructor);"},{"lineNumber":859,"author":{"gitId":"-"},"content":" return usersLogic.joinCourseForInstructor(googleId, instructor);"},{"lineNumber":860,"author":{"gitId":"-"},"content":" }"},{"lineNumber":861,"author":{"gitId":"-"},"content":""},{"lineNumber":862,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":863,"author":{"gitId":"-"},"content":" * Validates that the instructor can join the course it has as courseId field."},{"lineNumber":864,"author":{"gitId":"-"},"content":" *"},{"lineNumber":865,"author":{"gitId":"-"},"content":" * @return true if the instructor can join the course."},{"lineNumber":866,"author":{"gitId":"-"},"content":" * @throws Exception if the instructor cannot join the course."},{"lineNumber":867,"author":{"gitId":"-"},"content":" */"},{"lineNumber":868,"author":{"gitId":"-"},"content":" private boolean validateJoinCourseRequest(String googleId, Instructor instructor)"},{"lineNumber":869,"author":{"gitId":"-"},"content":" throws EntityAlreadyExistsException, EntityDoesNotExistException {"},{"lineNumber":870,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":871,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Instructor not found\");"},{"lineNumber":872,"author":{"gitId":"-"},"content":" }"},{"lineNumber":873,"author":{"gitId":"-"},"content":""},{"lineNumber":874,"author":{"gitId":"-"},"content":" // check course exists and has not been deleted"},{"lineNumber":875,"author":{"gitId":"-"},"content":" Course course \u003d getCourse(instructor.getCourseId());"},{"lineNumber":876,"author":{"gitId":"-"},"content":""},{"lineNumber":877,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":878,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Course with id \" + instructor.getCourseId() + \" does not exist\");"},{"lineNumber":879,"author":{"gitId":"-"},"content":" }"},{"lineNumber":880,"author":{"gitId":"-"},"content":" if (course.isCourseDeleted()) {"},{"lineNumber":881,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"The course you are trying to join has been deleted by an instructor\");"},{"lineNumber":882,"author":{"gitId":"-"},"content":" }"},{"lineNumber":883,"author":{"gitId":"-"},"content":""},{"lineNumber":884,"author":{"gitId":"-"},"content":" if (instructor.isRegistered()) {"},{"lineNumber":885,"author":{"gitId":"-"},"content":" throw new EntityAlreadyExistsException(\"Instructor has already joined course\");"},{"lineNumber":886,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":887,"author":{"gitId":"-"},"content":" // Check if this Google ID has already joined this course with courseId"},{"lineNumber":888,"author":{"gitId":"-"},"content":" Instructor existingInstructor \u003d"},{"lineNumber":889,"author":{"gitId":"-"},"content":" usersLogic.getInstructorByGoogleId(instructor.getCourseId(), googleId);"},{"lineNumber":890,"author":{"gitId":"-"},"content":" if (existingInstructor !\u003d null) {"},{"lineNumber":891,"author":{"gitId":"-"},"content":" throw new EntityAlreadyExistsException(\"Instructor has already joined course\");"},{"lineNumber":892,"author":{"gitId":"-"},"content":" }"},{"lineNumber":893,"author":{"gitId":"-"},"content":" }"},{"lineNumber":894,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":895,"author":{"gitId":"-"},"content":" }"},{"lineNumber":896,"author":{"gitId":"-"},"content":""},{"lineNumber":897,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":898,"author":{"gitId":"-"},"content":" * Searches instructors in the whole system. Used by admin only."},{"lineNumber":899,"author":{"gitId":"-"},"content":" *"},{"lineNumber":900,"author":{"gitId":"-"},"content":" * @return List of found instructors in the whole system. Null if no result found."},{"lineNumber":901,"author":{"gitId":"-"},"content":" */"},{"lineNumber":902,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e searchInstructorsInWholeSystem(String queryString)"},{"lineNumber":903,"author":{"gitId":"-"},"content":" throws SearchServiceException {"},{"lineNumber":904,"author":{"gitId":"-"},"content":" assert queryString !\u003d null;"},{"lineNumber":905,"author":{"gitId":"-"},"content":""},{"lineNumber":906,"author":{"gitId":"-"},"content":" return usersLogic.searchInstructorsInWholeSystem(queryString);"},{"lineNumber":907,"author":{"gitId":"-"},"content":" }"},{"lineNumber":908,"author":{"gitId":"-"},"content":""},{"lineNumber":909,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":910,"author":{"gitId":"-"},"content":" * Updates an instructor and cascades to responses and comments if needed."},{"lineNumber":911,"author":{"gitId":"-"},"content":" *"},{"lineNumber":912,"author":{"gitId":"-"},"content":" * @return updated instructor"},{"lineNumber":913,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the instructor update request is invalid"},{"lineNumber":914,"author":{"gitId":"-"},"content":" * @throws InstructorUpdateException if the update violates instructor validity"},{"lineNumber":915,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the instructor does not exist in the database"},{"lineNumber":916,"author":{"gitId":"-"},"content":" */"},{"lineNumber":917,"author":{"gitId":"-"},"content":" public Instructor updateInstructorCascade(String courseId, InstructorCreateRequest instructorRequest) throws"},{"lineNumber":918,"author":{"gitId":"-"},"content":" InvalidParametersException, InstructorUpdateException, EntityDoesNotExistException {"},{"lineNumber":919,"author":{"gitId":"-"},"content":" return usersLogic.updateInstructorCascade(courseId, instructorRequest);"},{"lineNumber":920,"author":{"gitId":"-"},"content":" }"},{"lineNumber":921,"author":{"gitId":"-"},"content":""},{"lineNumber":922,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":923,"author":{"gitId":"-"},"content":" * Checks if an instructor with {@code googleId} can create a course with {@code institute}."},{"lineNumber":924,"author":{"gitId":"-"},"content":" */"},{"lineNumber":925,"author":{"gitId":"-"},"content":" public boolean canInstructorCreateCourse(String googleId, String institute) {"},{"lineNumber":926,"author":{"gitId":"-"},"content":" return usersLogic.canInstructorCreateCourse(googleId, institute);"},{"lineNumber":927,"author":{"gitId":"-"},"content":" }"},{"lineNumber":928,"author":{"gitId":"-"},"content":""},{"lineNumber":929,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":930,"author":{"gitId":"-"},"content":" * Gets student associated with {@code id}."},{"lineNumber":931,"author":{"gitId":"-"},"content":" *"},{"lineNumber":932,"author":{"gitId":"-"},"content":" * @param id Id of Student."},{"lineNumber":933,"author":{"gitId":"-"},"content":" * @return Returns Student if found else null."},{"lineNumber":934,"author":{"gitId":"-"},"content":" */"},{"lineNumber":935,"author":{"gitId":"-"},"content":" public Student getStudent(UUID id) {"},{"lineNumber":936,"author":{"gitId":"-"},"content":" return usersLogic.getStudent(id);"},{"lineNumber":937,"author":{"gitId":"-"},"content":" }"},{"lineNumber":938,"author":{"gitId":"-"},"content":""},{"lineNumber":939,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":940,"author":{"gitId":"-"},"content":" * Gets student associated with {@code courseId} and {@code email}."},{"lineNumber":941,"author":{"gitId":"-"},"content":" */"},{"lineNumber":942,"author":{"gitId":"-"},"content":" public Student getStudentForEmail(String courseId, String email) {"},{"lineNumber":943,"author":{"gitId":"-"},"content":" return usersLogic.getStudentForEmail(courseId, email);"},{"lineNumber":944,"author":{"gitId":"-"},"content":" }"},{"lineNumber":945,"author":{"gitId":"-"},"content":""},{"lineNumber":946,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":947,"author":{"gitId":"-"},"content":" * Check if the students with the provided emails exist in the course."},{"lineNumber":948,"author":{"gitId":"-"},"content":" */"},{"lineNumber":949,"author":{"gitId":"-"},"content":" public boolean verifyStudentsExistInCourse(String courseId, List\u003cString\u003e emails) {"},{"lineNumber":950,"author":{"gitId":"-"},"content":" return usersLogic.verifyStudentsExistInCourse(courseId, emails);"},{"lineNumber":951,"author":{"gitId":"-"},"content":" }"},{"lineNumber":952,"author":{"gitId":"-"},"content":""},{"lineNumber":953,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":954,"author":{"gitId":"-"},"content":" * Check if the instructors with the provided emails exist in the course."},{"lineNumber":955,"author":{"gitId":"-"},"content":" */"},{"lineNumber":956,"author":{"gitId":"-"},"content":" public boolean verifyInstructorsExistInCourse(String courseId, List\u003cString\u003e emails) {"},{"lineNumber":957,"author":{"gitId":"-"},"content":" return usersLogic.verifyInstructorsExistInCourse(courseId, emails);"},{"lineNumber":958,"author":{"gitId":"-"},"content":" }"},{"lineNumber":959,"author":{"gitId":"-"},"content":""},{"lineNumber":960,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":961,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":962,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":963,"author":{"gitId":"-"},"content":" * @return Empty list if none found."},{"lineNumber":964,"author":{"gitId":"-"},"content":" */"},{"lineNumber":965,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForCourse(String courseId) {"},{"lineNumber":966,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":967,"author":{"gitId":"-"},"content":" return usersLogic.getStudentsForCourse(courseId);"},{"lineNumber":968,"author":{"gitId":"-"},"content":" }"},{"lineNumber":969,"author":{"gitId":"-"},"content":""},{"lineNumber":970,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":971,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":972,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":973,"author":{"gitId":"-"},"content":" * @return Empty list if none found."},{"lineNumber":974,"author":{"gitId":"-"},"content":" */"},{"lineNumber":975,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getUnregisteredStudentsForCourse(String courseId) {"},{"lineNumber":976,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":977,"author":{"gitId":"-"},"content":" return usersLogic.getUnregisteredStudentsForCourse(courseId);"},{"lineNumber":978,"author":{"gitId":"-"},"content":" }"},{"lineNumber":979,"author":{"gitId":"-"},"content":""},{"lineNumber":980,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":981,"author":{"gitId":"-"},"content":" * Gets a student by associated {@code regkey}."},{"lineNumber":982,"author":{"gitId":"-"},"content":" */"},{"lineNumber":983,"author":{"gitId":"-"},"content":" public Student getStudentByRegistrationKey(String regKey) {"},{"lineNumber":984,"author":{"gitId":"-"},"content":" return usersLogic.getStudentByRegistrationKey(regKey);"},{"lineNumber":985,"author":{"gitId":"-"},"content":" }"},{"lineNumber":986,"author":{"gitId":"-"},"content":""},{"lineNumber":987,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":988,"author":{"gitId":"-"},"content":" * Gets a student by associated {@code googleId}."},{"lineNumber":989,"author":{"gitId":"-"},"content":" */"},{"lineNumber":990,"author":{"gitId":"-"},"content":" public Student getStudentByGoogleId(String courseId, String googleId) {"},{"lineNumber":991,"author":{"gitId":"-"},"content":" return usersLogic.getStudentByGoogleId(courseId, googleId);"},{"lineNumber":992,"author":{"gitId":"-"},"content":" }"},{"lineNumber":993,"author":{"gitId":"-"},"content":""},{"lineNumber":994,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":995,"author":{"gitId":"-"},"content":" * Gets students by associated {@code teamName} and {@code courseId}."},{"lineNumber":996,"author":{"gitId":"-"},"content":" */"},{"lineNumber":997,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsByTeamName(String teamName, String courseId) {"},{"lineNumber":998,"author":{"gitId":"-"},"content":" return usersLogic.getStudentsForTeam(teamName, courseId);"},{"lineNumber":999,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1000,"author":{"gitId":"-"},"content":""},{"lineNumber":1001,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1002,"author":{"gitId":"domoberzin"},"content":" * Gets a team by associated {@code courseId} and {@code sectionName}."},{"lineNumber":1003,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1004,"author":{"gitId":"domoberzin"},"content":" public Section getSectionOrCreate(String courseId, String sectionName) {"},{"lineNumber":1005,"author":{"gitId":"domoberzin"},"content":" return usersLogic.getSectionOrCreate(courseId, sectionName);"},{"lineNumber":1006,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1007,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1008,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1009,"author":{"gitId":"domoberzin"},"content":" * Gets a team by associated {@code section} and {@code teamName}."},{"lineNumber":1010,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1011,"author":{"gitId":"domoberzin"},"content":" public Team getTeamOrCreate(Section section, String teamName) {"},{"lineNumber":1012,"author":{"gitId":"domoberzin"},"content":" return usersLogic.getTeamOrCreate(section, teamName);"},{"lineNumber":1013,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1014,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1015,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1016,"author":{"gitId":"-"},"content":" * Creates a student."},{"lineNumber":1017,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1018,"author":{"gitId":"-"},"content":" * @return the created student"},{"lineNumber":1019,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the student is not valid"},{"lineNumber":1020,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the student already exists in the database."},{"lineNumber":1021,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1022,"author":{"gitId":"-"},"content":" public Student createStudent(Student student) throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":1023,"author":{"gitId":"-"},"content":" return usersLogic.createStudent(student);"},{"lineNumber":1024,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1025,"author":{"gitId":"-"},"content":""},{"lineNumber":1026,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":1027,"author":{"gitId":"yuanxi1"},"content":" * Search for students. Preconditions: all parameters are non-null."},{"lineNumber":1028,"author":{"gitId":"yuanxi1"},"content":" * @param instructors a list of Instructors associated to a googleId,"},{"lineNumber":1029,"author":{"gitId":"yuanxi1"},"content":" * used for filtering of search result"},{"lineNumber":1030,"author":{"gitId":"yuanxi1"},"content":" * @return Null if no match found"},{"lineNumber":1031,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":1032,"author":{"gitId":"yuanxi1"},"content":" public List\u003cStudent\u003e searchStudents(String queryString, List\u003cInstructor\u003e instructors)"},{"lineNumber":1033,"author":{"gitId":"yuanxi1"},"content":" throws SearchServiceException {"},{"lineNumber":1034,"author":{"gitId":"yuanxi1"},"content":" assert queryString !\u003d null;"},{"lineNumber":1035,"author":{"gitId":"yuanxi1"},"content":" assert instructors !\u003d null;"},{"lineNumber":1036,"author":{"gitId":"yuanxi1"},"content":" return usersLogic.searchStudents(queryString, instructors);"},{"lineNumber":1037,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":1038,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":1039,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":1040,"author":{"gitId":"yuanxi1"},"content":" * This method should be used by admin only since the searching does not restrict the"},{"lineNumber":1041,"author":{"gitId":"yuanxi1"},"content":" * visibility according to the logged-in user\u0027s google ID. This is used by admin to"},{"lineNumber":1042,"author":{"gitId":"yuanxi1"},"content":" * search students in the whole system."},{"lineNumber":1043,"author":{"gitId":"yuanxi1"},"content":" * @return Null if no match found."},{"lineNumber":1044,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":1045,"author":{"gitId":"yuanxi1"},"content":" public List\u003cStudent\u003e searchStudentsInWholeSystem(String queryString)"},{"lineNumber":1046,"author":{"gitId":"yuanxi1"},"content":" throws SearchServiceException {"},{"lineNumber":1047,"author":{"gitId":"yuanxi1"},"content":" assert queryString !\u003d null;"},{"lineNumber":1048,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":1049,"author":{"gitId":"yuanxi1"},"content":" return usersLogic.searchStudentsInWholeSystem(queryString);"},{"lineNumber":1050,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":1051,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":1052,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1053,"author":{"gitId":"-"},"content":" * Deletes a student cascade its associated feedback responses, deadline"},{"lineNumber":1054,"author":{"gitId":"-"},"content":" * extensions and comments."},{"lineNumber":1055,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1056,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if the student does not exist."},{"lineNumber":1057,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1058,"author":{"gitId":"-"},"content":" * \u003cbr/\u003e"},{"lineNumber":1059,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr/\u003e"},{"lineNumber":1060,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1061,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1062,"author":{"gitId":"-"},"content":" public void deleteStudentCascade(String courseId, String studentEmail) {"},{"lineNumber":1063,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1064,"author":{"gitId":"-"},"content":" assert studentEmail !\u003d null;"},{"lineNumber":1065,"author":{"gitId":"-"},"content":""},{"lineNumber":1066,"author":{"gitId":"-"},"content":" usersLogic.deleteStudentCascade(courseId, studentEmail);"},{"lineNumber":1067,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1068,"author":{"gitId":"-"},"content":""},{"lineNumber":1069,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1070,"author":{"gitId":"-"},"content":" * Deletes all the students in the course cascade their associated responses, deadline extensions and comments."},{"lineNumber":1071,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1072,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr\u003e"},{"lineNumber":1073,"author":{"gitId":"-"},"content":" * Parameter is non-null."},{"lineNumber":1074,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1075,"author":{"gitId":"-"},"content":" public void deleteStudentsInCourseCascade(String courseId) {"},{"lineNumber":1076,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1077,"author":{"gitId":"-"},"content":""},{"lineNumber":1078,"author":{"gitId":"-"},"content":" usersLogic.deleteStudentsInCourseCascade(courseId);"},{"lineNumber":1079,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1080,"author":{"gitId":"-"},"content":""},{"lineNumber":1081,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":1082,"author":{"gitId":"yuanxi1"},"content":" * Make the student join the course, i.e. associate the Google ID to the student.\u003cbr\u003e"},{"lineNumber":1083,"author":{"gitId":"yuanxi1"},"content":" * Create an account for the student if no existing account is found."},{"lineNumber":1084,"author":{"gitId":"yuanxi1"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":1085,"author":{"gitId":"yuanxi1"},"content":" * * All parameters are non-null."},{"lineNumber":1086,"author":{"gitId":"yuanxi1"},"content":" * @param key the registration key"},{"lineNumber":1087,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":1088,"author":{"gitId":"yuanxi1"},"content":" public Student joinCourseForStudent(String key, String googleId)"},{"lineNumber":1089,"author":{"gitId":"yuanxi1"},"content":" throws InvalidParametersException, EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":1090,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":1091,"author":{"gitId":"yuanxi1"},"content":" assert googleId !\u003d null;"},{"lineNumber":1092,"author":{"gitId":"yuanxi1"},"content":" assert key !\u003d null;"},{"lineNumber":1093,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":1094,"author":{"gitId":"yuanxi1"},"content":" return accountsLogic.joinCourseForStudent(key, googleId);"},{"lineNumber":1095,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":1096,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":1097,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":1098,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1099,"author":{"gitId":"-"},"content":" * Gets all instructors and students by associated {@code googleId}."},{"lineNumber":1100,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1101,"author":{"gitId":"-"},"content":" public List\u003cUser\u003e getAllUsersByGoogleId(String googleId) {"},{"lineNumber":1102,"author":{"gitId":"-"},"content":" return usersLogic.getAllUsersByGoogleId(googleId);"},{"lineNumber":1103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1104,"author":{"gitId":"-"},"content":""},{"lineNumber":1105,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1106,"author":{"gitId":"-"},"content":" * Deletes a user."},{"lineNumber":1107,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1108,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if the user does not exist.\u003c/p\u003e"},{"lineNumber":1109,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1110,"author":{"gitId":"-"},"content":" public \u003cT extends User\u003e void deleteUser(T user) {"},{"lineNumber":1111,"author":{"gitId":"-"},"content":" usersLogic.deleteUser(user);"},{"lineNumber":1112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1113,"author":{"gitId":"-"},"content":""},{"lineNumber":1114,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1115,"author":{"gitId":"-"},"content":" * Deletes an instructor and cascades deletion to"},{"lineNumber":1116,"author":{"gitId":"-"},"content":" * associated feedback responses, deadline extensions and comments."},{"lineNumber":1117,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1118,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if the instructor does not exist."},{"lineNumber":1119,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1120,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":1121,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1122,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1123,"author":{"gitId":"-"},"content":" public void deleteInstructorCascade(String courseId, String email) {"},{"lineNumber":1124,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1125,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":1126,"author":{"gitId":"-"},"content":""},{"lineNumber":1127,"author":{"gitId":"-"},"content":" usersLogic.deleteInstructorCascade(courseId, email);"},{"lineNumber":1128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1129,"author":{"gitId":"-"},"content":""},{"lineNumber":1130,"author":{"gitId":"-"},"content":" public List\u003cNotification\u003e getAllNotifications() {"},{"lineNumber":1131,"author":{"gitId":"-"},"content":" return notificationsLogic.getAllNotifications();"},{"lineNumber":1132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1133,"author":{"gitId":"-"},"content":""},{"lineNumber":1134,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1135,"author":{"gitId":"-"},"content":" * Resets the googleId associated with the instructor."},{"lineNumber":1136,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1137,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":1138,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1139,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1140,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException If instructor cannot be found with given email and courseId."},{"lineNumber":1141,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1142,"author":{"gitId":"-"},"content":" public void resetInstructorGoogleId(String email, String courseId, String googleId)"},{"lineNumber":1143,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":1144,"author":{"gitId":"-"},"content":" usersLogic.resetInstructorGoogleId(email, courseId, googleId);"},{"lineNumber":1145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1146,"author":{"gitId":"-"},"content":""},{"lineNumber":1147,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1148,"author":{"gitId":"-"},"content":" * Resets the googleId associated with the student."},{"lineNumber":1149,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1150,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":1151,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1152,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1153,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException If student cannot be found with given email and courseId."},{"lineNumber":1154,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1155,"author":{"gitId":"-"},"content":" public void resetStudentGoogleId(String email, String courseId, String googleId)"},{"lineNumber":1156,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":1157,"author":{"gitId":"-"},"content":" usersLogic.resetStudentGoogleId(email, courseId, googleId);"},{"lineNumber":1158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1159,"author":{"gitId":"-"},"content":""},{"lineNumber":1160,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1161,"author":{"gitId":"-"},"content":" * Regenerates the registration key for the instructor with email address {@code email} in course {@code courseId}."},{"lineNumber":1162,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1163,"author":{"gitId":"-"},"content":" * @return the instructor with the new registration key."},{"lineNumber":1164,"author":{"gitId":"-"},"content":" * @throws InstructorUpdateException if system was unable to generate a new registration key."},{"lineNumber":1165,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the instructor does not exist."},{"lineNumber":1166,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1167,"author":{"gitId":"-"},"content":" public Instructor regenerateInstructorRegistrationKey(String courseId, String email)"},{"lineNumber":1168,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InstructorUpdateException {"},{"lineNumber":1169,"author":{"gitId":"-"},"content":""},{"lineNumber":1170,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1171,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":1172,"author":{"gitId":"-"},"content":""},{"lineNumber":1173,"author":{"gitId":"-"},"content":" return usersLogic.regenerateInstructorRegistrationKey(courseId, email);"},{"lineNumber":1174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1175,"author":{"gitId":"-"},"content":""},{"lineNumber":1176,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1177,"author":{"gitId":"-"},"content":" * Regenerates the registration key for the student with email address {@code email} in course {@code courseId}."},{"lineNumber":1178,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1179,"author":{"gitId":"-"},"content":" * @return the student with the new registration key."},{"lineNumber":1180,"author":{"gitId":"-"},"content":" * @throws StudentUpdateException if system was unable to generate a new registration key."},{"lineNumber":1181,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the student does not exist."},{"lineNumber":1182,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1183,"author":{"gitId":"-"},"content":" public Student regenerateStudentRegistrationKey(String courseId, String email)"},{"lineNumber":1184,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, StudentUpdateException {"},{"lineNumber":1185,"author":{"gitId":"-"},"content":""},{"lineNumber":1186,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1187,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":1188,"author":{"gitId":"-"},"content":""},{"lineNumber":1189,"author":{"gitId":"-"},"content":" return usersLogic.regenerateStudentRegistrationKey(courseId, email);"},{"lineNumber":1190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1191,"author":{"gitId":"-"},"content":""},{"lineNumber":1192,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1193,"author":{"gitId":"-"},"content":" * Updates the instructor being edited to ensure validity of instructors for the course."},{"lineNumber":1194,"author":{"gitId":"-"},"content":" * * Preconditions: \u003cbr\u003e"},{"lineNumber":1195,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1196,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1197,"author":{"gitId":"-"},"content":" * @see UsersLogic#updateToEnsureValidityOfInstructorsForTheCourse(String, Instructor)"},{"lineNumber":1198,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1199,"author":{"gitId":"-"},"content":" public void updateToEnsureValidityOfInstructorsForTheCourse(String courseId, Instructor instructorToEdit) {"},{"lineNumber":1200,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1201,"author":{"gitId":"-"},"content":" assert instructorToEdit !\u003d null;"},{"lineNumber":1202,"author":{"gitId":"-"},"content":""},{"lineNumber":1203,"author":{"gitId":"-"},"content":" usersLogic.updateToEnsureValidityOfInstructorsForTheCourse(courseId, instructorToEdit);"},{"lineNumber":1204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1205,"author":{"gitId":"-"},"content":""},{"lineNumber":1206,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1207,"author":{"gitId":"-"},"content":" * Returns active notification for general users and the specified {@code targetUser}."},{"lineNumber":1208,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1209,"author":{"gitId":"-"},"content":" public List\u003cNotification\u003e getActiveNotificationsByTargetUser(NotificationTargetUser targetUser) {"},{"lineNumber":1210,"author":{"gitId":"-"},"content":" return notificationsLogic.getActiveNotificationsByTargetUser(targetUser);"},{"lineNumber":1211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1212,"author":{"gitId":"-"},"content":""},{"lineNumber":1213,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1214,"author":{"gitId":"-"},"content":" * Gets all questions for a feedback session.\u003cbr\u003e"},{"lineNumber":1215,"author":{"gitId":"-"},"content":" * Returns an empty list if they are no questions"},{"lineNumber":1216,"author":{"gitId":"-"},"content":" * for the session."},{"lineNumber":1217,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":1218,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1219,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1220,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForSession(FeedbackSession feedbackSession) {"},{"lineNumber":1221,"author":{"gitId":"-"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":1222,"author":{"gitId":"-"},"content":""},{"lineNumber":1223,"author":{"gitId":"-"},"content":" return feedbackQuestionsLogic.getFeedbackQuestionsForSession(feedbackSession);"},{"lineNumber":1224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1225,"author":{"gitId":"-"},"content":""},{"lineNumber":1226,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1227,"author":{"gitId":"-"},"content":" * Gets a list of all questions for the given session that"},{"lineNumber":1228,"author":{"gitId":"-"},"content":" * students can view/submit."},{"lineNumber":1229,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1230,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForStudents(FeedbackSession feedbackSession) {"},{"lineNumber":1231,"author":{"gitId":"-"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":1232,"author":{"gitId":"-"},"content":""},{"lineNumber":1233,"author":{"gitId":"-"},"content":" return feedbackQuestionsLogic.getFeedbackQuestionsForStudents(feedbackSession);"},{"lineNumber":1234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1235,"author":{"gitId":"-"},"content":""},{"lineNumber":1236,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1237,"author":{"gitId":"-"},"content":" * Gets a {@code List} of all questions for the given session that"},{"lineNumber":1238,"author":{"gitId":"-"},"content":" * instructor can view/submit."},{"lineNumber":1239,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1240,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForInstructors("},{"lineNumber":1241,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession, String instructorEmail) {"},{"lineNumber":1242,"author":{"gitId":"-"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":1243,"author":{"gitId":"-"},"content":""},{"lineNumber":1244,"author":{"gitId":"-"},"content":" return feedbackQuestionsLogic.getFeedbackQuestionsForInstructors(feedbackSession, instructorEmail);"},{"lineNumber":1245,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1246,"author":{"gitId":"-"},"content":""},{"lineNumber":1247,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1248,"author":{"gitId":"xenosf"},"content":" * Gets the session result for a feedback session."},{"lineNumber":1249,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":1250,"author":{"gitId":"xenosf"},"content":" * @see FeedbackResponsesLogic#getSessionResultsForCourse("},{"lineNumber":1251,"author":{"gitId":"xenosf"},"content":" * FeedbackSession, String, String, String, Section, FeedbackResultFetchType)"},{"lineNumber":1252,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1253,"author":{"gitId":"xenosf"},"content":" public SqlSessionResultsBundle getSessionResultsForCourse("},{"lineNumber":1254,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId, String userEmail,"},{"lineNumber":1255,"author":{"gitId":"xenosf"},"content":" @Nullable UUID questionId, @Nullable String sectionName, @Nullable FeedbackResultFetchType fetchType) {"},{"lineNumber":1256,"author":{"gitId":"xenosf"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":1257,"author":{"gitId":"xenosf"},"content":" assert courseId !\u003d null;"},{"lineNumber":1258,"author":{"gitId":"xenosf"},"content":" assert userEmail !\u003d null;"},{"lineNumber":1259,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1260,"author":{"gitId":"xenosf"},"content":" return feedbackResponsesLogic.getSessionResultsForCourse("},{"lineNumber":1261,"author":{"gitId":"xenosf"},"content":" feedbackSession, courseId, userEmail, questionId, sectionName, fetchType);"},{"lineNumber":1262,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1263,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1264,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1265,"author":{"gitId":"xenosf"},"content":" * Gets the session result for a feedback session for the given user."},{"lineNumber":1266,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":1267,"author":{"gitId":"xenosf"},"content":" * @see FeedbackResponsesLogic#getSessionResultsForUser(FeedbackSession, String, String, boolean, String)"},{"lineNumber":1268,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1269,"author":{"gitId":"xenosf"},"content":" public SqlSessionResultsBundle getSessionResultsForUser("},{"lineNumber":1270,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId, String userEmail, boolean isInstructor,"},{"lineNumber":1271,"author":{"gitId":"xenosf"},"content":" @Nullable UUID questionId, boolean isPreviewResults) {"},{"lineNumber":1272,"author":{"gitId":"xenosf"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":1273,"author":{"gitId":"xenosf"},"content":" assert courseId !\u003d null;"},{"lineNumber":1274,"author":{"gitId":"xenosf"},"content":" assert userEmail !\u003d null;"},{"lineNumber":1275,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1276,"author":{"gitId":"xenosf"},"content":" return feedbackResponsesLogic.getSessionResultsForUser("},{"lineNumber":1277,"author":{"gitId":"xenosf"},"content":" feedbackSession, courseId, userEmail, isInstructor, questionId, isPreviewResults);"},{"lineNumber":1278,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1279,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1280,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1281,"author":{"gitId":"-"},"content":" * Persists the given data bundle to the database."},{"lineNumber":1282,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1283,"author":{"gitId":"-"},"content":" public SqlDataBundle persistDataBundle(SqlDataBundle dataBundle)"},{"lineNumber":1284,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException, EntityDoesNotExistException {"},{"lineNumber":1285,"author":{"gitId":"-"},"content":" return dataBundleLogic.persistDataBundle(dataBundle);"},{"lineNumber":1286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1287,"author":{"gitId":"-"},"content":""},{"lineNumber":1288,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1289,"author":{"gitId":"-"},"content":" * Puts searchable documents from the data bundle to the database."},{"lineNumber":1290,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1291,"author":{"gitId":"-"},"content":" * @see DataBundleLogic#putDocuments(DataBundle)"},{"lineNumber":1292,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1293,"author":{"gitId":"-"},"content":" public void putDocuments(SqlDataBundle dataBundle) throws SearchServiceException {"},{"lineNumber":1294,"author":{"gitId":"-"},"content":" dataBundleLogic.putDocuments(dataBundle);"},{"lineNumber":1295,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1296,"author":{"gitId":"-"},"content":""},{"lineNumber":1297,"author":{"gitId":"mingyuanc"},"content":" /**"},{"lineNumber":1298,"author":{"gitId":"mingyuanc"},"content":" * Puts searchable instructor to the database."},{"lineNumber":1299,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":1300,"author":{"gitId":"mingyuanc"},"content":" public void putInstructorDocument(Instructor instructor) throws SearchServiceException {"},{"lineNumber":1301,"author":{"gitId":"mingyuanc"},"content":" usersLogic.putInstructorDocument(instructor);"},{"lineNumber":1302,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":1303,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":1304,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1305,"author":{"gitId":"domoberzin"},"content":" * Creates or updates search document for the given account request."},{"lineNumber":1306,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":1307,"author":{"gitId":"domoberzin"},"content":" * @see AccountRequestsLogic#putDocument(AccountRequest)"},{"lineNumber":1308,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1309,"author":{"gitId":"domoberzin"},"content":" public void putAccountRequestDocument(AccountRequest accountRequest) throws SearchServiceException {"},{"lineNumber":1310,"author":{"gitId":"domoberzin"},"content":" accountRequestLogic.putDocument(accountRequest);"},{"lineNumber":1311,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1312,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1313,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1314,"author":{"gitId":"-"},"content":" * Removes the given data bundle from the database."},{"lineNumber":1315,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1316,"author":{"gitId":"-"},"content":" public void removeDataBundle(SqlDataBundle dataBundle) throws InvalidParametersException {"},{"lineNumber":1317,"author":{"gitId":"-"},"content":" dataBundleLogic.removeDataBundle(dataBundle);"},{"lineNumber":1318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1319,"author":{"gitId":"-"},"content":""},{"lineNumber":1320,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1321,"author":{"gitId":"-"},"content":" * Populates fields that need dynamic generation in a question."},{"lineNumber":1322,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1323,"author":{"gitId":"-"},"content":" * \u003cp\u003eCurrently, only MCQ/MSQ needs to generate choices dynamically.\u003c/p\u003e"},{"lineNumber":1324,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1325,"author":{"gitId":"-"},"content":" * @param feedbackQuestion the question to populate"},{"lineNumber":1326,"author":{"gitId":"-"},"content":" * @param courseId the ID of the course"},{"lineNumber":1327,"author":{"gitId":"-"},"content":" * @param emailOfEntityDoingQuestion the email of the entity doing the question"},{"lineNumber":1328,"author":{"gitId":"-"},"content":" * @param teamOfEntityDoingQuestion the team of the entity doing the question. If the entity is an instructor,"},{"lineNumber":1329,"author":{"gitId":"-"},"content":" * it can be {@code null}."},{"lineNumber":1330,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1331,"author":{"gitId":"-"},"content":" public void populateFieldsToGenerateInQuestion(FeedbackQuestion feedbackQuestion,"},{"lineNumber":1332,"author":{"gitId":"-"},"content":" String courseId, String emailOfEntityDoingQuestion,"},{"lineNumber":1333,"author":{"gitId":"-"},"content":" String teamOfEntityDoingQuestion) {"},{"lineNumber":1334,"author":{"gitId":"-"},"content":" assert feedbackQuestion !\u003d null;"},{"lineNumber":1335,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1336,"author":{"gitId":"-"},"content":" assert emailOfEntityDoingQuestion !\u003d null;"},{"lineNumber":1337,"author":{"gitId":"-"},"content":""},{"lineNumber":1338,"author":{"gitId":"-"},"content":" feedbackQuestionsLogic.populateFieldsToGenerateInQuestion("},{"lineNumber":1339,"author":{"gitId":"-"},"content":" feedbackQuestion, courseId, emailOfEntityDoingQuestion, teamOfEntityDoingQuestion);"},{"lineNumber":1340,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1341,"author":{"gitId":"-"},"content":""},{"lineNumber":1342,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1343,"author":{"gitId":"-"},"content":" * Gets a feedback question."},{"lineNumber":1344,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1345,"author":{"gitId":"-"},"content":" * @return null if not found."},{"lineNumber":1346,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1347,"author":{"gitId":"-"},"content":" public FeedbackQuestion getFeedbackQuestion(UUID id) {"},{"lineNumber":1348,"author":{"gitId":"-"},"content":" return feedbackQuestionsLogic.getFeedbackQuestion(id);"},{"lineNumber":1349,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1350,"author":{"gitId":"-"},"content":""},{"lineNumber":1351,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1352,"author":{"gitId":"-"},"content":" * Deletes a feedback question cascade its responses and comments."},{"lineNumber":1353,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1354,"author":{"gitId":"-"},"content":" * \u003cp\u003eSilently fail if question does not exist."},{"lineNumber":1355,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1356,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":1357,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1358,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1359,"author":{"gitId":"-"},"content":" public void deleteFeedbackQuestionCascade(UUID questionId) {"},{"lineNumber":1360,"author":{"gitId":"-"},"content":" feedbackQuestionsLogic.deleteFeedbackQuestionCascade(questionId);"},{"lineNumber":1361,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1362,"author":{"gitId":"-"},"content":""},{"lineNumber":1363,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1364,"author":{"gitId":"-"},"content":" * Gets the recipients of a feedback question for student."},{"lineNumber":1365,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1366,"author":{"gitId":"-"},"content":" * @see FeedbackQuestionsLogic#getRecipientsOfQuestion"},{"lineNumber":1367,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1368,"author":{"gitId":"-"},"content":" public Map\u003cString, FeedbackQuestionRecipient\u003e getRecipientsOfQuestion("},{"lineNumber":1369,"author":{"gitId":"-"},"content":" FeedbackQuestion question,"},{"lineNumber":1370,"author":{"gitId":"-"},"content":" @Nullable Instructor instructorGiver, @Nullable Student studentGiver) {"},{"lineNumber":1371,"author":{"gitId":"-"},"content":" assert question !\u003d null;"},{"lineNumber":1372,"author":{"gitId":"-"},"content":""},{"lineNumber":1373,"author":{"gitId":"-"},"content":" return feedbackQuestionsLogic.getRecipientsOfQuestion(question, instructorGiver, studentGiver, null);"},{"lineNumber":1374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1375,"author":{"gitId":"-"},"content":""},{"lineNumber":1376,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1377,"author":{"gitId":"-"},"content":" * Gets a feedbackResponse or null if it does not exist."},{"lineNumber":1378,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1379,"author":{"gitId":"-"},"content":" public FeedbackResponse getFeedbackResponse(UUID frId) {"},{"lineNumber":1380,"author":{"gitId":"-"},"content":" return feedbackResponsesLogic.getFeedbackResponse(frId);"},{"lineNumber":1381,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1382,"author":{"gitId":"-"},"content":""},{"lineNumber":1383,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1384,"author":{"gitId":"-"},"content":" * Creates a feedback response."},{"lineNumber":1385,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1386,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":1387,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1388,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1389,"author":{"gitId":"-"},"content":" * @return created feedback response"},{"lineNumber":1390,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the response is not valid"},{"lineNumber":1391,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the response already exist"},{"lineNumber":1392,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1393,"author":{"gitId":"-"},"content":" public FeedbackResponse createFeedbackResponse(FeedbackResponse feedbackResponse)"},{"lineNumber":1394,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":1395,"author":{"gitId":"-"},"content":" assert feedbackResponse !\u003d null;"},{"lineNumber":1396,"author":{"gitId":"-"},"content":" return feedbackResponsesLogic.createFeedbackResponse(feedbackResponse);"},{"lineNumber":1397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1398,"author":{"gitId":"-"},"content":""},{"lineNumber":1399,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1400,"author":{"gitId":"-"},"content":" * Deletes a feedback response and cascades its associated comments."},{"lineNumber":1401,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1402,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":1403,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1404,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1405,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponsesAndCommentsCascade(FeedbackResponse feedbackResponse) {"},{"lineNumber":1406,"author":{"gitId":"-"},"content":" assert feedbackResponse !\u003d null;"},{"lineNumber":1407,"author":{"gitId":"-"},"content":" feedbackResponsesLogic.deleteFeedbackResponsesAndCommentsCascade(feedbackResponse);"},{"lineNumber":1408,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1409,"author":{"gitId":"-"},"content":""},{"lineNumber":1410,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1411,"author":{"gitId":"-"},"content":" * Get existing feedback responses from instructor for the given question."},{"lineNumber":1412,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1413,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromInstructorForQuestion("},{"lineNumber":1414,"author":{"gitId":"-"},"content":" FeedbackQuestion question, Instructor instructor) {"},{"lineNumber":1415,"author":{"gitId":"-"},"content":" return feedbackResponsesLogic.getFeedbackResponsesFromInstructorForQuestion("},{"lineNumber":1416,"author":{"gitId":"-"},"content":" question, instructor);"},{"lineNumber":1417,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1418,"author":{"gitId":"-"},"content":""},{"lineNumber":1419,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1420,"author":{"gitId":"-"},"content":" * Get existing feedback responses from student or his team for the given"},{"lineNumber":1421,"author":{"gitId":"-"},"content":" * question."},{"lineNumber":1422,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1423,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromStudentOrTeamForQuestion("},{"lineNumber":1424,"author":{"gitId":"-"},"content":" FeedbackQuestion question, Student student) {"},{"lineNumber":1425,"author":{"gitId":"-"},"content":" return feedbackResponsesLogic.getFeedbackResponsesFromStudentOrTeamForQuestion("},{"lineNumber":1426,"author":{"gitId":"-"},"content":" question, student);"},{"lineNumber":1427,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1428,"author":{"gitId":"-"},"content":""},{"lineNumber":1429,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1430,"author":{"gitId":"-"},"content":" * Gets an feedback response comment by feedback response comment id."},{"lineNumber":1431,"author":{"gitId":"-"},"content":" * @param id of feedback response comment."},{"lineNumber":1432,"author":{"gitId":"-"},"content":" * @return the specified feedback response comment."},{"lineNumber":1433,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1434,"author":{"gitId":"-"},"content":" public FeedbackResponseComment getFeedbackResponseComment(Long id) {"},{"lineNumber":1435,"author":{"gitId":"-"},"content":" return feedbackResponseCommentsLogic.getFeedbackResponseComment(id);"},{"lineNumber":1436,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1437,"author":{"gitId":"-"},"content":""},{"lineNumber":1438,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1439,"author":{"gitId":"-"},"content":" * Updates a feedback response comment."},{"lineNumber":1440,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the comment does not exist"},{"lineNumber":1441,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1442,"author":{"gitId":"-"},"content":" public FeedbackResponseComment updateFeedbackResponseComment(Long frcId,"},{"lineNumber":1443,"author":{"gitId":"-"},"content":" FeedbackResponseCommentUpdateRequest updateRequest, String updaterEmail)"},{"lineNumber":1444,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":1445,"author":{"gitId":"-"},"content":" return feedbackResponseCommentsLogic.updateFeedbackResponseComment(frcId, updateRequest, updaterEmail);"},{"lineNumber":1446,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1447,"author":{"gitId":"-"},"content":""},{"lineNumber":1448,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1449,"author":{"gitId":"-"},"content":" * Updates a feedback response and comments by {@link FeedbackResponse}."},{"lineNumber":1450,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1451,"author":{"gitId":"-"},"content":" * \u003cp\u003eCascade updates its associated feedback response comment"},{"lineNumber":1452,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1453,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":1454,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1455,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1456,"author":{"gitId":"-"},"content":" * @return updated feedback response"},{"lineNumber":1457,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":1458,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the comment cannot be found"},{"lineNumber":1459,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1460,"author":{"gitId":"-"},"content":" public FeedbackResponse updateFeedbackResponseCascade(FeedbackResponse feedbackResponse)"},{"lineNumber":1461,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":1462,"author":{"gitId":"-"},"content":" assert feedbackResponse !\u003d null;"},{"lineNumber":1463,"author":{"gitId":"-"},"content":""},{"lineNumber":1464,"author":{"gitId":"-"},"content":" return feedbackResponsesLogic.updateFeedbackResponseCascade(feedbackResponse);"},{"lineNumber":1465,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1466,"author":{"gitId":"-"},"content":""},{"lineNumber":1467,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1468,"author":{"gitId":"-"},"content":" * Checks whether there are responses for a question."},{"lineNumber":1469,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1470,"author":{"gitId":"-"},"content":" public boolean areThereResponsesForQuestion(UUID questionId) {"},{"lineNumber":1471,"author":{"gitId":"-"},"content":" return feedbackResponsesLogic.areThereResponsesForQuestion(questionId);"},{"lineNumber":1472,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1473,"author":{"gitId":"-"},"content":""},{"lineNumber":1474,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1475,"author":{"gitId":"-"},"content":" * Checks whether there are responses for a course."},{"lineNumber":1476,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1477,"author":{"gitId":"-"},"content":" public boolean hasResponsesForCourse(String courseId) {"},{"lineNumber":1478,"author":{"gitId":"-"},"content":" return feedbackResponsesLogic.hasResponsesForCourse(courseId);"},{"lineNumber":1479,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1480,"author":{"gitId":"-"},"content":""},{"lineNumber":1481,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1482,"author":{"gitId":"-"},"content":" * Gets the comment associated with the response."},{"lineNumber":1483,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1484,"author":{"gitId":"-"},"content":" public FeedbackResponseComment getFeedbackResponseCommentForResponseFromParticipant("},{"lineNumber":1485,"author":{"gitId":"-"},"content":" UUID feedbackResponseId) {"},{"lineNumber":1486,"author":{"gitId":"-"},"content":" return feedbackResponseCommentsLogic.getFeedbackResponseCommentForResponseFromParticipant(feedbackResponseId);"},{"lineNumber":1487,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1488,"author":{"gitId":"-"},"content":""},{"lineNumber":1489,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1490,"author":{"gitId":"-"},"content":" * Creates a feedback response comment."},{"lineNumber":1491,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the comment alreadty exists"},{"lineNumber":1492,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the comment is invalid"},{"lineNumber":1493,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1494,"author":{"gitId":"-"},"content":" public FeedbackResponseComment createFeedbackResponseComment(FeedbackResponseComment frc)"},{"lineNumber":1495,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":1496,"author":{"gitId":"-"},"content":" return feedbackResponseCommentsLogic.createFeedbackResponseComment(frc);"},{"lineNumber":1497,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1498,"author":{"gitId":"-"},"content":""},{"lineNumber":1499,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1500,"author":{"gitId":"-"},"content":" * Deletes a feedbackResponseComment."},{"lineNumber":1501,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1502,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponseComment(Long frcId) {"},{"lineNumber":1503,"author":{"gitId":"-"},"content":" feedbackResponseCommentsLogic.deleteFeedbackResponseComment(frcId);"},{"lineNumber":1504,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1505,"author":{"gitId":"-"},"content":""},{"lineNumber":1506,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1507,"author":{"gitId":"domoberzin"},"content":" * Gets all feedback responses from a giver for a question."},{"lineNumber":1508,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1509,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromGiverForCourse(String courseId, String giverEmail) {"},{"lineNumber":1510,"author":{"gitId":"domoberzin"},"content":" return feedbackResponsesLogic.getFeedbackResponsesFromGiverForCourse(courseId, giverEmail);"},{"lineNumber":1511,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1512,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1513,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1514,"author":{"gitId":"domoberzin"},"content":" * Gets all feedback responses for a recipient for a course."},{"lineNumber":1515,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1516,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForRecipientForCourse(String courseId, String recipientEmail) {"},{"lineNumber":1517,"author":{"gitId":"domoberzin"},"content":" return feedbackResponsesLogic.getFeedbackResponsesForRecipientForCourse(courseId, recipientEmail);"},{"lineNumber":1518,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1519,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1520,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1521,"author":{"gitId":"domoberzin"},"content":" * Gets all feedback response comments for a feedback response."},{"lineNumber":1522,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1523,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentsForResponse(UUID feedbackResponse) {"},{"lineNumber":1524,"author":{"gitId":"domoberzin"},"content":" return feedbackResponseCommentsLogic.getFeedbackResponseCommentsForResponse(feedbackResponse);"},{"lineNumber":1525,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1526,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1527,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1528,"author":{"gitId":"domoberzin"},"content":" * Validates sections for any limit violations and teams for any team name violations."},{"lineNumber":1529,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":1530,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003ePreconditions: \u003cbr\u003e"},{"lineNumber":1531,"author":{"gitId":"domoberzin"},"content":" * * All parameters are non-null."},{"lineNumber":1532,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":1533,"author":{"gitId":"domoberzin"},"content":" * @see StudentsLogic#validateSectionsAndTeams(List, String)"},{"lineNumber":1534,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1535,"author":{"gitId":"domoberzin"},"content":" public void validateSectionsAndTeams("},{"lineNumber":1536,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e studentList, String courseId) throws EnrollException {"},{"lineNumber":1537,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1538,"author":{"gitId":"domoberzin"},"content":" assert studentList !\u003d null;"},{"lineNumber":1539,"author":{"gitId":"domoberzin"},"content":" assert courseId !\u003d null;"},{"lineNumber":1540,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1541,"author":{"gitId":"domoberzin"},"content":" usersLogic.validateSectionsAndTeams(studentList, courseId);"},{"lineNumber":1542,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1543,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1544,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1545,"author":{"gitId":"domoberzin"},"content":" * Updates a feedback question by {@code FeedbackQuestionUpdateRequest}."},{"lineNumber":1546,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1547,"author":{"gitId":"-"},"content":" * \u003cp\u003eCascade adjust the question number of questions in the same session."},{"lineNumber":1548,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1549,"author":{"gitId":"-"},"content":" * \u003cp\u003eCascade adjust the existing response of the question."},{"lineNumber":1550,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1551,"author":{"gitId":"-"},"content":" * \u003cbr/\u003e Preconditions: \u003cbr/\u003e"},{"lineNumber":1552,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1553,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1554,"author":{"gitId":"-"},"content":" * @return updated feedback question"},{"lineNumber":1555,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":1556,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback question cannot be found"},{"lineNumber":1557,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1558,"author":{"gitId":"-"},"content":" public FeedbackQuestion updateFeedbackQuestionCascade(UUID questionId, FeedbackQuestionUpdateRequest updateRequest)"},{"lineNumber":1559,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":1560,"author":{"gitId":"-"},"content":" return feedbackQuestionsLogic.updateFeedbackQuestionCascade(questionId, updateRequest);"},{"lineNumber":1561,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1562,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1563,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1564,"author":{"gitId":"-"},"content":" * Returns a list of feedback sessions that need an \"Open\" email to be sent."},{"lineNumber":1565,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1566,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsWhichNeedOpenEmailsToBeSent() {"},{"lineNumber":1567,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionsWhichNeedOpenEmailsToBeSent();"},{"lineNumber":1568,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1569,"author":{"gitId":"-"},"content":""},{"lineNumber":1570,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1571,"author":{"gitId":"-"},"content":" * Returns a list of sessions that were closed within past hour."},{"lineNumber":1572,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1573,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsClosedWithinThePastHour() {"},{"lineNumber":1574,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionsClosedWithinThePastHour();"},{"lineNumber":1575,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1576,"author":{"gitId":"-"},"content":""},{"lineNumber":1577,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1578,"author":{"gitId":"xenosf"},"content":" * Creates or updates search document for the given student."},{"lineNumber":1579,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":1580,"author":{"gitId":"xenosf"},"content":" * @see UsersLogic#putStudentDocument(Student)"},{"lineNumber":1581,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1582,"author":{"gitId":"xenosf"},"content":" public void putStudentDocument(Student student) throws SearchServiceException {"},{"lineNumber":1583,"author":{"gitId":"xenosf"},"content":" usersLogic.putStudentDocument(student);"},{"lineNumber":1584,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1585,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1586,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1587,"author":{"gitId":"domoberzin"},"content":" * This is used by admin to search account requests in the whole system."},{"lineNumber":1588,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":1589,"author":{"gitId":"domoberzin"},"content":" * @return A list of {@link AccountRequest} or {@code null} if no match found."},{"lineNumber":1590,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1591,"author":{"gitId":"domoberzin"},"content":" public List\u003cAccountRequest\u003e searchAccountRequestsInWholeSystem(String queryString)"},{"lineNumber":1592,"author":{"gitId":"domoberzin"},"content":" throws SearchServiceException {"},{"lineNumber":1593,"author":{"gitId":"domoberzin"},"content":" assert queryString !\u003d null;"},{"lineNumber":1594,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1595,"author":{"gitId":"domoberzin"},"content":" return accountRequestLogic.searchAccountRequestsInWholeSystem(queryString);"},{"lineNumber":1596,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1597,"author":{"gitId":"-"},"content":""},{"lineNumber":1598,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1599,"author":{"gitId":"-"},"content":" * Returns a list of sessions that are going to close soon."},{"lineNumber":1600,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1601,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsClosingWithinTimeLimit() {"},{"lineNumber":1602,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionsClosingWithinTimeLimit();"},{"lineNumber":1603,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1604,"author":{"gitId":"-"},"content":""},{"lineNumber":1605,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1606,"author":{"gitId":"-"},"content":" * Returns a list of sessions that are going to open soon."},{"lineNumber":1607,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1608,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsOpeningWithinTimeLimit() {"},{"lineNumber":1609,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionsOpeningWithinTimeLimit();"},{"lineNumber":1610,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1611,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":130,"yuanxi1":50,"marquestye":5,"xenosf":44,"dishenggg":9,"mingyuanc":7,"-":1366}},{"path":"src/main/java/teammates/sqllogic/api/SqlEmailGenerator.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.api;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.ErrorLogEntry;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailType;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.util.RequestTracer;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.util.Templates;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.util.Templates.EmailTemplates;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.CoursesLogic;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.DeadlineExtensionsLogic;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.FeedbackSessionsLogic;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.UsersLogic;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":36,"author":{"gitId":"-"},"content":" * Handles operations related to generating emails to be sent from provided templates."},{"lineNumber":37,"author":{"gitId":"-"},"content":" *"},{"lineNumber":38,"author":{"gitId":"-"},"content":" * @see EmailTemplates"},{"lineNumber":39,"author":{"gitId":"-"},"content":" * @see EmailType"},{"lineNumber":40,"author":{"gitId":"-"},"content":" * @see EmailWrapper"},{"lineNumber":41,"author":{"gitId":"-"},"content":" */"},{"lineNumber":42,"author":{"gitId":"-"},"content":"public final class SqlEmailGenerator {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" // feedback action strings"},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW \u003d \"submit, edit or view\";"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_ACTION_VIEW \u003d \"view\";"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_ACTION_SUBMIT_OR_UPDATE \u003d"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \", in case you have not submitted yet or wish to update your submission. \";"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String HTML_NO_ACTION_REQUIRED \u003d \"\u003cmark\u003eNo action is required if you have already submitted\u003c/mark\u003e\";"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" // status-related strings"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_STATUS_SESSION_OPEN \u003d \"is still open for submissions\""},{"lineNumber":52,"author":{"gitId":"-"},"content":" + FEEDBACK_ACTION_SUBMIT_OR_UPDATE + HTML_NO_ACTION_REQUIRED;"},{"lineNumber":53,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_STATUS_SESSION_OPENING \u003d \"is now open\";"},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_STATUS_SESSION_CLOSING \u003d \"is closing soon\""},{"lineNumber":55,"author":{"gitId":"-"},"content":" + FEEDBACK_ACTION_SUBMIT_OR_UPDATE + HTML_NO_ACTION_REQUIRED;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_STATUS_SESSION_CLOSED \u003d \"is now closed for submission\";"},{"lineNumber":57,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_STATUS_SESSION_OPENING_SOON \u003d \"is due to open soon\";"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final String DATETIME_DISPLAY_FORMAT \u003d \"EEE, dd MMM yyyy, hh:mm a z\";"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" private static final long SESSION_LINK_RECOVERY_DURATION_IN_DAYS \u003d 90;"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final SqlEmailGenerator instance \u003d new SqlEmailGenerator();"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" private final CoursesLogic coursesLogic \u003d CoursesLogic.inst();"},{"lineNumber":66,"author":{"gitId":"-"},"content":" private final DeadlineExtensionsLogic deLogic \u003d DeadlineExtensionsLogic.inst();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" private final FeedbackSessionsLogic fsLogic \u003d FeedbackSessionsLogic.inst();"},{"lineNumber":68,"author":{"gitId":"-"},"content":" private final UsersLogic usersLogic \u003d UsersLogic.inst();"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" private SqlEmailGenerator() {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" public static SqlEmailGenerator inst() {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * Generate Feedback Session Opening emails."},{"lineNumber":80,"author":{"gitId":"-"},"content":" */"},{"lineNumber":81,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionOpeningEmails(FeedbackSession session) {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" return generateFeedbackSessionOpeningOrClosingEmails(session, EmailType.FEEDBACK_OPENING);"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" private List\u003cEmailWrapper\u003e generateFeedbackSessionOpeningOrClosingEmails("},{"lineNumber":86,"author":{"gitId":"-"},"content":" FeedbackSession session, EmailType emailType) {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" Course course \u003d session.getCourse();"},{"lineNumber":88,"author":{"gitId":"-"},"content":" boolean isEmailNeededForStudents \u003d fsLogic.isFeedbackSessionForUserTypeToAnswer(session, false);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" boolean isEmailNeededForInstructors \u003d fsLogic.isFeedbackSessionForUserTypeToAnswer(session, true);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorsToNotify \u003d isEmailNeededForStudents"},{"lineNumber":91,"author":{"gitId":"-"},"content":" ? usersLogic.getCoOwnersForCourse(course.getId())"},{"lineNumber":92,"author":{"gitId":"-"},"content":" : new ArrayList\u003c\u003e();"},{"lineNumber":93,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students \u003d isEmailNeededForStudents"},{"lineNumber":94,"author":{"gitId":"-"},"content":" ? usersLogic.getStudentsForCourse(course.getId())"},{"lineNumber":95,"author":{"gitId":"-"},"content":" : new ArrayList\u003c\u003e();"},{"lineNumber":96,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors \u003d isEmailNeededForInstructors"},{"lineNumber":97,"author":{"gitId":"-"},"content":" ? usersLogic.getInstructorsForCourse(course.getId())"},{"lineNumber":98,"author":{"gitId":"-"},"content":" : new ArrayList\u003c\u003e();"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" if (emailType \u003d\u003d EmailType.FEEDBACK_CLOSING) {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" List\u003cDeadlineExtension\u003e deadlines \u003d session.getDeadlineExtensions();"},{"lineNumber":102,"author":{"gitId":"-"},"content":" Set\u003cUUID\u003e userIds \u003d deadlines.stream()"},{"lineNumber":103,"author":{"gitId":"-"},"content":" .map(d -\u003e d.getUser().getId())"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .collect(Collectors.toSet());"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" // student."},{"lineNumber":107,"author":{"gitId":"-"},"content":" students \u003d students.stream()"},{"lineNumber":108,"author":{"gitId":"-"},"content":" .filter(x -\u003e !userIds.contains(x.getId()))"},{"lineNumber":109,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" // instructor."},{"lineNumber":112,"author":{"gitId":"-"},"content":" instructors \u003d instructors.stream()"},{"lineNumber":113,"author":{"gitId":"-"},"content":" .filter(x -\u003e !userIds.contains(x.getId()))"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" String status \u003d emailType \u003d\u003d EmailType.FEEDBACK_OPENING"},{"lineNumber":118,"author":{"gitId":"-"},"content":" ? FEEDBACK_STATUS_SESSION_OPENING"},{"lineNumber":119,"author":{"gitId":"-"},"content":" : FEEDBACK_STATUS_SESSION_CLOSING;"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" String template \u003d emailType \u003d\u003d EmailType.FEEDBACK_OPENING"},{"lineNumber":122,"author":{"gitId":"-"},"content":" ? EmailTemplates.USER_FEEDBACK_SESSION_OPENING.replace(\"${status}\", status)"},{"lineNumber":123,"author":{"gitId":"-"},"content":" : EmailTemplates.USER_FEEDBACK_SESSION.replace(\"${status}\", status);"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" return generateFeedbackSessionEmailBases(course, session, students, instructors, instructorsToNotify, template,"},{"lineNumber":126,"author":{"gitId":"-"},"content":" emailType, FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":130,"author":{"gitId":"-"},"content":" * Generates the feedback session opening soon emails for the given {@code session}."},{"lineNumber":131,"author":{"gitId":"-"},"content":" *"},{"lineNumber":132,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis is useful for e.g. in case the feedback session opening info was set wrongly."},{"lineNumber":133,"author":{"gitId":"-"},"content":" */"},{"lineNumber":134,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionOpeningSoonEmails(FeedbackSession session) {"},{"lineNumber":135,"author":{"gitId":"-"},"content":" return generateFeedbackSessionOpeningSoonOrClosedEmails(session, EmailType.FEEDBACK_OPENING_SOON);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" private List\u003cEmailWrapper\u003e generateFeedbackSessionOpeningSoonOrClosedEmails("},{"lineNumber":139,"author":{"gitId":"-"},"content":" FeedbackSession session, EmailType emailType) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" Course course \u003d session.getCourse();"},{"lineNumber":141,"author":{"gitId":"-"},"content":" // Notify only course co-owners"},{"lineNumber":142,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e coOwners \u003d usersLogic.getCoOwnersForCourse(course.getId());"},{"lineNumber":143,"author":{"gitId":"-"},"content":" return coOwners.stream()"},{"lineNumber":144,"author":{"gitId":"-"},"content":" .map(coOwner -\u003e generateFeedbackSessionEmailBaseForCoowner(course, session, coOwner, emailType))"},{"lineNumber":145,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" private EmailWrapper generateFeedbackSessionEmailBaseForCoowner("},{"lineNumber":149,"author":{"gitId":"-"},"content":" Course course, FeedbackSession session, Instructor coOwner, EmailType emailType) {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" String additionalNotes;"},{"lineNumber":151,"author":{"gitId":"-"},"content":" String status;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" if (emailType \u003d\u003d EmailType.FEEDBACK_OPENING_SOON) {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" String editUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.INSTRUCTOR_SESSION_EDIT_PAGE)"},{"lineNumber":154,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":156,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":157,"author":{"gitId":"-"},"content":" // If instructor has not joined the course, populate additional notes with information to join course."},{"lineNumber":158,"author":{"gitId":"-"},"content":" if (coOwner.isRegistered()) {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" additionalNotes \u003d fillUpEditFeedbackSessionDetailsFragment(editUrl);"},{"lineNumber":160,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" additionalNotes \u003d fillUpJoinCourseBeforeEditFeedbackSessionDetailsFragment(editUrl,"},{"lineNumber":162,"author":{"gitId":"-"},"content":" getInstructorCourseJoinUrl(coOwner));"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":" status \u003d FEEDBACK_STATUS_SESSION_OPENING_SOON;"},{"lineNumber":165,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" String reportUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.INSTRUCTOR_SESSION_REPORT_PAGE)"},{"lineNumber":167,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":168,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":169,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":170,"author":{"gitId":"-"},"content":" additionalNotes \u003d fillUpViewResponsesDetailsFragment(reportUrl);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" status \u003d FEEDBACK_STATUS_SESSION_CLOSED;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" Instant startTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":175,"author":{"gitId":"-"},"content":" session.getStartTime(), session.getCourse().getTimeZone(), false);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" Instant endTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":177,"author":{"gitId":"-"},"content":" session.getEndTime(), session.getCourse().getTimeZone(), false);"},{"lineNumber":178,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate(EmailTemplates.OWNER_FEEDBACK_SESSION,"},{"lineNumber":179,"author":{"gitId":"-"},"content":" \"${status}\", status,"},{"lineNumber":180,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(coOwner.getName()),"},{"lineNumber":181,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":182,"author":{"gitId":"-"},"content":" \"${courseId}\", SanitizationHelper.sanitizeForHtml(course.getId()),"},{"lineNumber":183,"author":{"gitId":"-"},"content":" \"${feedbackSessionName}\", SanitizationHelper.sanitizeForHtml(session.getName()),"},{"lineNumber":184,"author":{"gitId":"-"},"content":" \"${deadline}\", SanitizationHelper.sanitizeForHtml("},{"lineNumber":185,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(endTime, session.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT)),"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \"${sessionInstructions}\", session.getInstructionsString(),"},{"lineNumber":187,"author":{"gitId":"-"},"content":" \"${startTime}\", SanitizationHelper.sanitizeForHtml("},{"lineNumber":188,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(startTime, session.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT)),"},{"lineNumber":189,"author":{"gitId":"-"},"content":" \"${additionalNotes}\", additionalNotes);"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(coOwner.getEmail());"},{"lineNumber":192,"author":{"gitId":"-"},"content":" email.setType(emailType);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), session.getName());"},{"lineNumber":194,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":195,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":199,"author":{"gitId":"-"},"content":" * Generates the fragment for instructions on how to edit details for feedback session at {@code editUrl}."},{"lineNumber":200,"author":{"gitId":"-"},"content":" */"},{"lineNumber":201,"author":{"gitId":"-"},"content":" private String fillUpEditFeedbackSessionDetailsFragment(String editUrl) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.FRAGMENT_OPENING_SOON_EDIT_DETAILS,"},{"lineNumber":203,"author":{"gitId":"-"},"content":" \"${sessionEditUrl}\", editUrl);"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":207,"author":{"gitId":"-"},"content":" * Generates the fragment for instructions on how to view responses for feedback session at {@code reportUrl}."},{"lineNumber":208,"author":{"gitId":"-"},"content":" */"},{"lineNumber":209,"author":{"gitId":"-"},"content":" private String fillUpViewResponsesDetailsFragment(String reportUrl) {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.FRAGMENT_CLOSED_VIEW_RESPONSES,"},{"lineNumber":211,"author":{"gitId":"-"},"content":" \"${reportUrl}\", reportUrl);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":215,"author":{"gitId":"-"},"content":" * Generates the fragment for instructions on how to edit details for feedback session at {@code editUrl} and"},{"lineNumber":216,"author":{"gitId":"-"},"content":" * how to join the course at {@code joinUrl}."},{"lineNumber":217,"author":{"gitId":"-"},"content":" */"},{"lineNumber":218,"author":{"gitId":"-"},"content":" private String fillUpJoinCourseBeforeEditFeedbackSessionDetailsFragment(String editUrl, String joinUrl) {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.FRAGMENT_OPENING_SOON_JOIN_COURSE_BEFORE_EDIT_DETAILS,"},{"lineNumber":220,"author":{"gitId":"-"},"content":" \"${sessionEditUrl}\", editUrl,"},{"lineNumber":221,"author":{"gitId":"-"},"content":" \"${joinUrl}\", joinUrl"},{"lineNumber":222,"author":{"gitId":"-"},"content":" );"},{"lineNumber":223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":226,"author":{"gitId":"-"},"content":" * Generates the feedback session reminder emails for the given {@code session} for {@code students}"},{"lineNumber":227,"author":{"gitId":"-"},"content":" * and {@code instructorsToRemind}. In addition, the emails will also be forwarded to {@code instructorsToNotify}."},{"lineNumber":228,"author":{"gitId":"-"},"content":" */"},{"lineNumber":229,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionReminderEmails("},{"lineNumber":230,"author":{"gitId":"-"},"content":" FeedbackSession session, List\u003cStudent\u003e students,"},{"lineNumber":231,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorsToRemind, Instructor instructorToNotify) {"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" Course course \u003d session.getCourse();"},{"lineNumber":234,"author":{"gitId":"-"},"content":" String template \u003d EmailTemplates.USER_FEEDBACK_SESSION.replace(\"${status}\", FEEDBACK_STATUS_SESSION_OPEN);"},{"lineNumber":235,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorToNotifyAsList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":236,"author":{"gitId":"-"},"content":" if (instructorToNotify !\u003d null) {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" instructorToNotifyAsList.add(instructorToNotify);"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" return generateFeedbackSessionEmailBases(course, session, students, instructorsToRemind, instructorToNotifyAsList,"},{"lineNumber":241,"author":{"gitId":"-"},"content":" template, EmailType.FEEDBACK_SESSION_REMINDER, FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" }"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":245,"author":{"gitId":"-"},"content":" * Generates the email containing the summary of the feedback sessions"},{"lineNumber":246,"author":{"gitId":"-"},"content":" * email for the given {@code courseId} for {@code userEmail}."},{"lineNumber":247,"author":{"gitId":"-"},"content":" * @param courseId - ID of the course"},{"lineNumber":248,"author":{"gitId":"-"},"content":" * @param userEmail - Email of student to send feedback session summary to"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * @param emailType - The email type which corresponds to the reason behind why the links are being resent"},{"lineNumber":250,"author":{"gitId":"-"},"content":" */"},{"lineNumber":251,"author":{"gitId":"-"},"content":" public EmailWrapper generateFeedbackSessionSummaryOfCourse("},{"lineNumber":252,"author":{"gitId":"-"},"content":" String courseId, String userEmail, EmailType emailType) {"},{"lineNumber":253,"author":{"gitId":"-"},"content":" assert emailType \u003d\u003d EmailType.STUDENT_EMAIL_CHANGED"},{"lineNumber":254,"author":{"gitId":"-"},"content":" || emailType \u003d\u003d EmailType.STUDENT_COURSE_LINKS_REGENERATED"},{"lineNumber":255,"author":{"gitId":"-"},"content":" || emailType \u003d\u003d EmailType.INSTRUCTOR_COURSE_LINKS_REGENERATED;"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":" Course course \u003d coursesLogic.getCourse(courseId);"},{"lineNumber":258,"author":{"gitId":"-"},"content":" boolean isInstructor \u003d emailType \u003d\u003d EmailType.INSTRUCTOR_COURSE_LINKS_REGENERATED;"},{"lineNumber":259,"author":{"gitId":"domoberzin"},"content":" Student student \u003d usersLogic.getStudentForEmail(courseId, userEmail);"},{"lineNumber":260,"author":{"gitId":"-"},"content":" Instructor instructor \u003d null;"},{"lineNumber":261,"author":{"gitId":"-"},"content":" if (isInstructor) {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" instructor \u003d usersLogic.getInstructorForEmail(courseId, userEmail);"},{"lineNumber":263,"author":{"gitId":"-"},"content":" }"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":266,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e fsInCourse \u003d fsLogic.getFeedbackSessionsForCourse(courseId);"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" for (FeedbackSession fs : fsInCourse) {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" if (fs.isOpenEmailSent() || fs.isPublishedEmailSent()) {"},{"lineNumber":270,"author":{"gitId":"-"},"content":" sessions.add(fs);"},{"lineNumber":271,"author":{"gitId":"-"},"content":" }"},{"lineNumber":272,"author":{"gitId":"-"},"content":" }"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":" StringBuilder linksFragmentValue \u003d new StringBuilder(1000);"},{"lineNumber":275,"author":{"gitId":"-"},"content":" String joinUrl \u003d Config.getFrontEndAppUrl("},{"lineNumber":276,"author":{"gitId":"-"},"content":" isInstructor ? instructor.getRegistrationUrl() : student.getRegistrationUrl()).toAbsoluteString();"},{"lineNumber":277,"author":{"gitId":"-"},"content":" boolean isYetToJoinCourse \u003d isInstructor ? isYetToJoinCourse(instructor) : isYetToJoinCourse(student);"},{"lineNumber":278,"author":{"gitId":"-"},"content":" String joinFragmentTemplate \u003d isInstructor"},{"lineNumber":279,"author":{"gitId":"-"},"content":" ? EmailTemplates.FRAGMENT_INSTRUCTOR_COURSE_REJOIN_AFTER_REGKEY_RESET"},{"lineNumber":280,"author":{"gitId":"-"},"content":" : emailType \u003d\u003d EmailType.STUDENT_EMAIL_CHANGED"},{"lineNumber":281,"author":{"gitId":"-"},"content":" ? EmailTemplates.FRAGMENT_STUDENT_COURSE_JOIN"},{"lineNumber":282,"author":{"gitId":"-"},"content":" : EmailTemplates.FRAGMENT_STUDENT_COURSE_REJOIN_AFTER_REGKEY_RESET;"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" String joinFragmentValue \u003d isYetToJoinCourse"},{"lineNumber":285,"author":{"gitId":"-"},"content":" ? Templates.populateTemplate(joinFragmentTemplate,"},{"lineNumber":286,"author":{"gitId":"-"},"content":" \"${joinUrl}\", joinUrl,"},{"lineNumber":287,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":288,"author":{"gitId":"-"},"content":" \"${coOwnersEmails}\", generateCoOwnersEmailsLine(course.getId()),"},{"lineNumber":289,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL)"},{"lineNumber":290,"author":{"gitId":"-"},"content":" : \"\";"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" for (FeedbackSession fs : sessions) {"},{"lineNumber":293,"author":{"gitId":"-"},"content":" String submitUrlHtml \u003d \"(Feedback session is not yet opened)\";"},{"lineNumber":294,"author":{"gitId":"-"},"content":" String reportUrlHtml \u003d \"(Feedback session is not yet published)\";"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":" String userKey \u003d isInstructor ? instructor.getRegKey() : student.getRegKey();"},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":" if (fs.isOpened() || fs.isClosed()) {"},{"lineNumber":299,"author":{"gitId":"-"},"content":" String submitUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_SUBMISSION_PAGE)"},{"lineNumber":300,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":301,"author":{"gitId":"-"},"content":" .withSessionName(fs.getName())"},{"lineNumber":302,"author":{"gitId":"-"},"content":" .withRegistrationKey(userKey)"},{"lineNumber":303,"author":{"gitId":"-"},"content":" .withEntityType(isInstructor ? Const.EntityType.INSTRUCTOR : \"\")"},{"lineNumber":304,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":305,"author":{"gitId":"-"},"content":" submitUrlHtml \u003d \"\u003ca href\u003d\\\"\" + submitUrl + \"\\\"\u003e\" + submitUrl + \"\u003c/a\u003e\";"},{"lineNumber":306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" if (fs.isPublished()) {"},{"lineNumber":309,"author":{"gitId":"-"},"content":" String reportUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_RESULTS_PAGE)"},{"lineNumber":310,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":311,"author":{"gitId":"-"},"content":" .withSessionName(fs.getName())"},{"lineNumber":312,"author":{"gitId":"-"},"content":" .withRegistrationKey(userKey)"},{"lineNumber":313,"author":{"gitId":"-"},"content":" .withEntityType(isInstructor ? Const.EntityType.INSTRUCTOR : \"\")"},{"lineNumber":314,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":315,"author":{"gitId":"-"},"content":" reportUrlHtml \u003d \"\u003ca href\u003d\\\"\" + reportUrl + \"\\\"\u003e\" + reportUrl + \"\u003c/a\u003e\";"},{"lineNumber":316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" Instant endTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":319,"author":{"gitId":"-"},"content":" fs.getEndTime(), fs.getCourse().getTimeZone(), false);"},{"lineNumber":320,"author":{"gitId":"-"},"content":" linksFragmentValue.append(Templates.populateTemplate("},{"lineNumber":321,"author":{"gitId":"-"},"content":" EmailTemplates.FRAGMENT_SINGLE_FEEDBACK_SESSION_LINKS,"},{"lineNumber":322,"author":{"gitId":"-"},"content":" \"${feedbackSessionName}\", fs.getName(),"},{"lineNumber":323,"author":{"gitId":"-"},"content":" \"${deadline}\", TimeHelper.formatInstant(endTime, fs.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT)"},{"lineNumber":324,"author":{"gitId":"-"},"content":" + (fs.isClosed() ? \" (Passed)\" : \"\"),"},{"lineNumber":325,"author":{"gitId":"-"},"content":" \"${submitUrl}\", submitUrlHtml,"},{"lineNumber":326,"author":{"gitId":"-"},"content":" \"${reportUrl}\", reportUrlHtml));"},{"lineNumber":327,"author":{"gitId":"-"},"content":" }"},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"-"},"content":" if (linksFragmentValue.length() \u003d\u003d 0) {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" linksFragmentValue.append(\"No links found.\");"},{"lineNumber":331,"author":{"gitId":"-"},"content":" }"},{"lineNumber":332,"author":{"gitId":"-"},"content":""},{"lineNumber":333,"author":{"gitId":"-"},"content":" String additionalContactInformation \u003d getAdditionalContactInformationFragment(course, isInstructor);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" String resendLinksTemplate \u003d emailType \u003d\u003d EmailType.STUDENT_EMAIL_CHANGED"},{"lineNumber":335,"author":{"gitId":"-"},"content":" ? Templates.EmailTemplates.USER_FEEDBACK_SESSION_RESEND_ALL_LINKS"},{"lineNumber":336,"author":{"gitId":"-"},"content":" : Templates.EmailTemplates.USER_REGKEY_REGENERATION_RESEND_ALL_COURSE_LINKS;"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" String userName \u003d isInstructor ? instructor.getName() : student.getName();"},{"lineNumber":339,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate(resendLinksTemplate,"},{"lineNumber":340,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(userName),"},{"lineNumber":341,"author":{"gitId":"-"},"content":" \"${userEmail}\", userEmail,"},{"lineNumber":342,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":343,"author":{"gitId":"-"},"content":" \"${courseId}\", course.getId(),"},{"lineNumber":344,"author":{"gitId":"-"},"content":" \"${joinFragment}\", joinFragmentValue,"},{"lineNumber":345,"author":{"gitId":"-"},"content":" \"${linksFragment}\", linksFragmentValue.toString(),"},{"lineNumber":346,"author":{"gitId":"-"},"content":" \"${additionalContactInformation}\", additionalContactInformation);"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(userEmail);"},{"lineNumber":349,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":350,"author":{"gitId":"-"},"content":" email.setType(emailType);"},{"lineNumber":351,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), course.getId());"},{"lineNumber":352,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":353,"author":{"gitId":"-"},"content":" }"},{"lineNumber":354,"author":{"gitId":"-"},"content":""},{"lineNumber":355,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":356,"author":{"gitId":"-"},"content":" * Generates for the student an recovery email listing the links to submit/view responses for all feedback sessions"},{"lineNumber":357,"author":{"gitId":"-"},"content":" * under {@code recoveryEmailAddress} in the past 180 days. If no student with {@code recoveryEmailAddress} is"},{"lineNumber":358,"author":{"gitId":"-"},"content":" * found, generate an email stating that there is no such student in the system. If no feedback sessions are found,"},{"lineNumber":359,"author":{"gitId":"-"},"content":" * generate an email stating no feedback sessions found."},{"lineNumber":360,"author":{"gitId":"-"},"content":" */"},{"lineNumber":361,"author":{"gitId":"-"},"content":" public EmailWrapper generateSessionLinksRecoveryEmailForStudent(String recoveryEmailAddress,"},{"lineNumber":362,"author":{"gitId":"-"},"content":" String studentNameFromDatastore, Map\u003cCourseAttributes, StringBuilder\u003e dataStoreLinkFragmentMap) {"},{"lineNumber":363,"author":{"gitId":"-"},"content":""},{"lineNumber":364,"author":{"gitId":"-"},"content":" // Datastore attributes should be removed once migration is completed"},{"lineNumber":365,"author":{"gitId":"-"},"content":" String emptyName \u003d \"\";"},{"lineNumber":366,"author":{"gitId":"-"},"content":" boolean noDataStoreStudent \u003d studentNameFromDatastore.equals(emptyName); // student name cannot be empty"},{"lineNumber":367,"author":{"gitId":"-"},"content":""},{"lineNumber":368,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentsForEmail \u003d usersLogic.getAllStudentsForEmail(recoveryEmailAddress);"},{"lineNumber":369,"author":{"gitId":"-"},"content":""},{"lineNumber":370,"author":{"gitId":"-"},"content":" if (studentsForEmail.isEmpty() \u0026\u0026 noDataStoreStudent) {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" return generateSessionLinksRecoveryEmailForNonExistentStudent(recoveryEmailAddress);"},{"lineNumber":372,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":373,"author":{"gitId":"-"},"content":" return generateSessionLinksRecoveryEmailForExistingStudent(recoveryEmailAddress, studentsForEmail,"},{"lineNumber":374,"author":{"gitId":"-"},"content":" studentNameFromDatastore, dataStoreLinkFragmentMap);"},{"lineNumber":375,"author":{"gitId":"-"},"content":" }"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":""},{"lineNumber":378,"author":{"gitId":"-"},"content":" private EmailWrapper generateSessionLinksRecoveryEmailForNonExistentStudent(String recoveryEmailAddress) {"},{"lineNumber":379,"author":{"gitId":"-"},"content":" String recoveryUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSIONS_LINK_RECOVERY_PAGE).toAbsoluteString();"},{"lineNumber":380,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate("},{"lineNumber":381,"author":{"gitId":"-"},"content":" EmailTemplates.SESSION_LINKS_RECOVERY_EMAIL_NOT_FOUND,"},{"lineNumber":382,"author":{"gitId":"-"},"content":" \"${userEmail}\", SanitizationHelper.sanitizeForHtml(recoveryEmailAddress),"},{"lineNumber":383,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL,"},{"lineNumber":384,"author":{"gitId":"-"},"content":" \"${teammateHomePageLink}\", Config.getFrontEndAppUrl(\"/\").toAbsoluteString(),"},{"lineNumber":385,"author":{"gitId":"-"},"content":" \"${sessionsRecoveryLink}\", recoveryUrl);"},{"lineNumber":386,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(recoveryEmailAddress);"},{"lineNumber":387,"author":{"gitId":"-"},"content":" email.setType(EmailType.SESSION_LINKS_RECOVERY);"},{"lineNumber":388,"author":{"gitId":"-"},"content":" email.setSubjectFromType();"},{"lineNumber":389,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":390,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":391,"author":{"gitId":"-"},"content":" }"},{"lineNumber":392,"author":{"gitId":"-"},"content":""},{"lineNumber":393,"author":{"gitId":"-"},"content":" private EmailWrapper generateSessionLinksRecoveryEmailForExistingStudent(String recoveryEmailAddress,"},{"lineNumber":394,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentsForEmail, String studentNameFromDatastore,"},{"lineNumber":395,"author":{"gitId":"-"},"content":" Map\u003cCourseAttributes, StringBuilder\u003e dataStoreLinkFragmentMap) {"},{"lineNumber":396,"author":{"gitId":"-"},"content":" assert !studentsForEmail.isEmpty() || studentNameFromDatastore !\u003d null;"},{"lineNumber":397,"author":{"gitId":"-"},"content":" int firstStudentIdx \u003d 0;"},{"lineNumber":398,"author":{"gitId":"-"},"content":""},{"lineNumber":399,"author":{"gitId":"-"},"content":" Map\u003cCourse, StringBuilder\u003e linkFragmentsMap \u003d generateLinkFragmentsMap(studentsForEmail);"},{"lineNumber":400,"author":{"gitId":"-"},"content":""},{"lineNumber":401,"author":{"gitId":"-"},"content":" String emailBody;"},{"lineNumber":402,"author":{"gitId":"-"},"content":""},{"lineNumber":403,"author":{"gitId":"-"},"content":" String studentName;"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" if (studentsForEmail.isEmpty()) {"},{"lineNumber":406,"author":{"gitId":"-"},"content":" studentName \u003d studentNameFromDatastore;"},{"lineNumber":407,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":408,"author":{"gitId":"-"},"content":" studentName \u003d studentsForEmail.get(firstStudentIdx).getName();"},{"lineNumber":409,"author":{"gitId":"-"},"content":" }"},{"lineNumber":410,"author":{"gitId":"-"},"content":""},{"lineNumber":411,"author":{"gitId":"-"},"content":" var recoveryUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSIONS_LINK_RECOVERY_PAGE).toAbsoluteString();"},{"lineNumber":412,"author":{"gitId":"-"},"content":""},{"lineNumber":413,"author":{"gitId":"-"},"content":" if (linkFragmentsMap.isEmpty() \u0026\u0026 dataStoreLinkFragmentMap.isEmpty()) {"},{"lineNumber":414,"author":{"gitId":"-"},"content":" emailBody \u003d Templates.populateTemplate("},{"lineNumber":415,"author":{"gitId":"-"},"content":" EmailTemplates.SESSION_LINKS_RECOVERY_ACCESS_LINKS_NONE,"},{"lineNumber":416,"author":{"gitId":"-"},"content":" \"${teammateHomePageLink}\", Config.getFrontEndAppUrl(\"/\").toAbsoluteString(),"},{"lineNumber":417,"author":{"gitId":"-"},"content":" \"${userEmail}\", SanitizationHelper.sanitizeForHtml(recoveryEmailAddress),"},{"lineNumber":418,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL,"},{"lineNumber":419,"author":{"gitId":"-"},"content":" \"${sessionsRecoveryLink}\", recoveryUrl);"},{"lineNumber":420,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":421,"author":{"gitId":"-"},"content":" var courseFragments \u003d new StringBuilder(10000);"},{"lineNumber":422,"author":{"gitId":"-"},"content":" linkFragmentsMap.forEach((course, linksFragments) -\u003e {"},{"lineNumber":423,"author":{"gitId":"-"},"content":" String courseBody \u003d Templates.populateTemplate("},{"lineNumber":424,"author":{"gitId":"-"},"content":" EmailTemplates.FRAGMENT_SESSION_LINKS_RECOVERY_ACCESS_LINKS_BY_COURSE,"},{"lineNumber":425,"author":{"gitId":"-"},"content":" \"${sessionFragment}\", linksFragments.toString(),"},{"lineNumber":426,"author":{"gitId":"-"},"content":" \"${courseName}\", course.getName());"},{"lineNumber":427,"author":{"gitId":"-"},"content":" courseFragments.append(courseBody);"},{"lineNumber":428,"author":{"gitId":"-"},"content":" });"},{"lineNumber":429,"author":{"gitId":"-"},"content":""},{"lineNumber":430,"author":{"gitId":"-"},"content":" // To remove after migrating to postgres"},{"lineNumber":431,"author":{"gitId":"-"},"content":" dataStoreLinkFragmentMap.forEach((course, linksFragments) -\u003e {"},{"lineNumber":432,"author":{"gitId":"-"},"content":" String courseBody \u003d Templates.populateTemplate("},{"lineNumber":433,"author":{"gitId":"-"},"content":" EmailTemplates.FRAGMENT_SESSION_LINKS_RECOVERY_ACCESS_LINKS_BY_COURSE,"},{"lineNumber":434,"author":{"gitId":"-"},"content":" \"${sessionFragment}\", linksFragments.toString(),"},{"lineNumber":435,"author":{"gitId":"-"},"content":" \"${courseName}\", course.getName());"},{"lineNumber":436,"author":{"gitId":"-"},"content":" courseFragments.append(courseBody);"},{"lineNumber":437,"author":{"gitId":"-"},"content":" });"},{"lineNumber":438,"author":{"gitId":"-"},"content":" emailBody \u003d Templates.populateTemplate("},{"lineNumber":439,"author":{"gitId":"-"},"content":" EmailTemplates.SESSION_LINKS_RECOVERY_ACCESS_LINKS,"},{"lineNumber":440,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(studentName),"},{"lineNumber":441,"author":{"gitId":"-"},"content":" \"${linksFragment}\", courseFragments.toString(),"},{"lineNumber":442,"author":{"gitId":"-"},"content":" \"${userEmail}\", SanitizationHelper.sanitizeForHtml(recoveryEmailAddress),"},{"lineNumber":443,"author":{"gitId":"-"},"content":" \"${teammateHomePageLink}\", Config.getFrontEndAppUrl(\"/\").toAbsoluteString(),"},{"lineNumber":444,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL,"},{"lineNumber":445,"author":{"gitId":"-"},"content":" \"${sessionsRecoveryLink}\", recoveryUrl);"},{"lineNumber":446,"author":{"gitId":"-"},"content":" }"},{"lineNumber":447,"author":{"gitId":"-"},"content":""},{"lineNumber":448,"author":{"gitId":"-"},"content":" var email \u003d getEmptyEmailAddressedToEmail(recoveryEmailAddress);"},{"lineNumber":449,"author":{"gitId":"-"},"content":" email.setType(EmailType.SESSION_LINKS_RECOVERY);"},{"lineNumber":450,"author":{"gitId":"-"},"content":" email.setSubjectFromType();"},{"lineNumber":451,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":452,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":453,"author":{"gitId":"-"},"content":" }"},{"lineNumber":454,"author":{"gitId":"-"},"content":""},{"lineNumber":455,"author":{"gitId":"-"},"content":" private Map\u003cCourse, StringBuilder\u003e generateLinkFragmentsMap(List\u003cStudent\u003e studentsForEmail) {"},{"lineNumber":456,"author":{"gitId":"-"},"content":" Instant searchStartTime \u003d TimeHelper.getInstantDaysOffsetBeforeNow(SESSION_LINK_RECOVERY_DURATION_IN_DAYS);"},{"lineNumber":457,"author":{"gitId":"-"},"content":" Map\u003cCourse, StringBuilder\u003e linkFragmentsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":458,"author":{"gitId":"-"},"content":""},{"lineNumber":459,"author":{"gitId":"-"},"content":" for (var student : studentsForEmail) {"},{"lineNumber":460,"author":{"gitId":"-"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":461,"author":{"gitId":"-"},"content":" // Query students\u0027 courses first"},{"lineNumber":462,"author":{"gitId":"-"},"content":" // as a student will likely be in only a small number of courses."},{"lineNumber":463,"author":{"gitId":"-"},"content":" Course course \u003d student.getCourse();"},{"lineNumber":464,"author":{"gitId":"-"},"content":" String courseId \u003d course.getId();"},{"lineNumber":465,"author":{"gitId":"-"},"content":""},{"lineNumber":466,"author":{"gitId":"-"},"content":" StringBuilder linksFragmentValue;"},{"lineNumber":467,"author":{"gitId":"-"},"content":" if (linkFragmentsMap.containsKey(course)) {"},{"lineNumber":468,"author":{"gitId":"-"},"content":" linksFragmentValue \u003d linkFragmentsMap.get(course);"},{"lineNumber":469,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":470,"author":{"gitId":"-"},"content":" linksFragmentValue \u003d new StringBuilder(5000);"},{"lineNumber":471,"author":{"gitId":"-"},"content":" }"},{"lineNumber":472,"author":{"gitId":"-"},"content":""},{"lineNumber":473,"author":{"gitId":"-"},"content":" for (var session : fsLogic.getFeedbackSessionsForCourseStartingAfter(courseId, searchStartTime)) {"},{"lineNumber":474,"author":{"gitId":"-"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":475,"author":{"gitId":"-"},"content":" var submitUrlHtml \u003d \"\";"},{"lineNumber":476,"author":{"gitId":"-"},"content":" var reportUrlHtml \u003d \"\";"},{"lineNumber":477,"author":{"gitId":"-"},"content":""},{"lineNumber":478,"author":{"gitId":"-"},"content":" if (session.isOpened() || session.isClosed()) {"},{"lineNumber":479,"author":{"gitId":"-"},"content":" var submitUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_SUBMISSION_PAGE)"},{"lineNumber":480,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":481,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":482,"author":{"gitId":"-"},"content":" .withRegistrationKey(student.getRegKey())"},{"lineNumber":483,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":484,"author":{"gitId":"-"},"content":" submitUrlHtml \u003d \"[\u003ca href\u003d\\\"\" + submitUrl + \"\\\"\u003esubmission link\u003c/a\u003e]\";"},{"lineNumber":485,"author":{"gitId":"-"},"content":" }"},{"lineNumber":486,"author":{"gitId":"-"},"content":""},{"lineNumber":487,"author":{"gitId":"-"},"content":" if (session.isPublished()) {"},{"lineNumber":488,"author":{"gitId":"-"},"content":" var reportUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_RESULTS_PAGE)"},{"lineNumber":489,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":490,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":491,"author":{"gitId":"-"},"content":" .withRegistrationKey(student.getRegKey())"},{"lineNumber":492,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":493,"author":{"gitId":"-"},"content":" reportUrlHtml \u003d \"[\u003ca href\u003d\\\"\" + reportUrl + \"\\\"\u003eresult link\u003c/a\u003e]\";"},{"lineNumber":494,"author":{"gitId":"-"},"content":" }"},{"lineNumber":495,"author":{"gitId":"-"},"content":""},{"lineNumber":496,"author":{"gitId":"-"},"content":" if (submitUrlHtml.isEmpty() \u0026\u0026 reportUrlHtml.isEmpty()) {"},{"lineNumber":497,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":498,"author":{"gitId":"-"},"content":" }"},{"lineNumber":499,"author":{"gitId":"-"},"content":""},{"lineNumber":500,"author":{"gitId":"-"},"content":" linksFragmentValue.append(Templates.populateTemplate("},{"lineNumber":501,"author":{"gitId":"-"},"content":" EmailTemplates.FRAGMENT_SESSION_LINKS_RECOVERY_ACCESS_LINKS_BY_SESSION,"},{"lineNumber":502,"author":{"gitId":"-"},"content":" \"${sessionName}\", session.getName(),"},{"lineNumber":503,"author":{"gitId":"-"},"content":" \"${submitUrl}\", submitUrlHtml,"},{"lineNumber":504,"author":{"gitId":"-"},"content":" \"${reportUrl}\", reportUrlHtml));"},{"lineNumber":505,"author":{"gitId":"-"},"content":""},{"lineNumber":506,"author":{"gitId":"-"},"content":" linkFragmentsMap.putIfAbsent(course, linksFragmentValue);"},{"lineNumber":507,"author":{"gitId":"-"},"content":" }"},{"lineNumber":508,"author":{"gitId":"-"},"content":" }"},{"lineNumber":509,"author":{"gitId":"-"},"content":" return linkFragmentsMap;"},{"lineNumber":510,"author":{"gitId":"-"},"content":""},{"lineNumber":511,"author":{"gitId":"-"},"content":" }"},{"lineNumber":512,"author":{"gitId":"-"},"content":""},{"lineNumber":513,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":514,"author":{"gitId":"-"},"content":" * Generates the feedback session closing emails for the given {@code session}."},{"lineNumber":515,"author":{"gitId":"-"},"content":" *"},{"lineNumber":516,"author":{"gitId":"-"},"content":" * \u003cp\u003eStudents and instructors with deadline extensions are not notified."},{"lineNumber":517,"author":{"gitId":"-"},"content":" */"},{"lineNumber":518,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionClosingEmails(FeedbackSession session) {"},{"lineNumber":519,"author":{"gitId":"-"},"content":" return generateFeedbackSessionOpeningOrClosingEmails(session, EmailType.FEEDBACK_CLOSING);"},{"lineNumber":520,"author":{"gitId":"-"},"content":" }"},{"lineNumber":521,"author":{"gitId":"-"},"content":""},{"lineNumber":522,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":523,"author":{"gitId":"-"},"content":" * Generates the feedback session closed emails for the given {@code session}."},{"lineNumber":524,"author":{"gitId":"-"},"content":" */"},{"lineNumber":525,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionClosedEmails(FeedbackSession session) {"},{"lineNumber":526,"author":{"gitId":"-"},"content":" return generateFeedbackSessionOpeningSoonOrClosedEmails(session, EmailType.FEEDBACK_CLOSED);"},{"lineNumber":527,"author":{"gitId":"-"},"content":" }"},{"lineNumber":528,"author":{"gitId":"-"},"content":""},{"lineNumber":529,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":530,"author":{"gitId":"-"},"content":" * Generates the feedback session closing emails for users with deadline extensions."},{"lineNumber":531,"author":{"gitId":"-"},"content":" */"},{"lineNumber":532,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionClosingWithExtensionEmails("},{"lineNumber":533,"author":{"gitId":"-"},"content":" FeedbackSession session, List\u003cDeadlineExtension\u003e deadlineExtensions) {"},{"lineNumber":534,"author":{"gitId":"-"},"content":" Course course \u003d session.getCourse();"},{"lineNumber":535,"author":{"gitId":"-"},"content":""},{"lineNumber":536,"author":{"gitId":"-"},"content":" boolean isEmailNeededForStudents \u003d"},{"lineNumber":537,"author":{"gitId":"-"},"content":" !deadlineExtensions.isEmpty() \u0026\u0026 fsLogic.isFeedbackSessionForUserTypeToAnswer(session, false);"},{"lineNumber":538,"author":{"gitId":"-"},"content":" boolean isEmailNeededForInstructors \u003d"},{"lineNumber":539,"author":{"gitId":"-"},"content":" !deadlineExtensions.isEmpty() \u0026\u0026 fsLogic.isFeedbackSessionForUserTypeToAnswer(session, true);"},{"lineNumber":540,"author":{"gitId":"-"},"content":""},{"lineNumber":541,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students \u003d new ArrayList\u003c\u003e();"},{"lineNumber":542,"author":{"gitId":"-"},"content":" if (isEmailNeededForStudents) {"},{"lineNumber":543,"author":{"gitId":"-"},"content":" for (DeadlineExtension de : deadlineExtensions) {"},{"lineNumber":544,"author":{"gitId":"-"},"content":" Student student \u003d usersLogic.getStudentForEmail(course.getId(), de.getUser().getEmail());"},{"lineNumber":545,"author":{"gitId":"-"},"content":" if (student !\u003d null) {"},{"lineNumber":546,"author":{"gitId":"-"},"content":" students.add(student);"},{"lineNumber":547,"author":{"gitId":"-"},"content":" }"},{"lineNumber":548,"author":{"gitId":"-"},"content":" }"},{"lineNumber":549,"author":{"gitId":"-"},"content":" }"},{"lineNumber":550,"author":{"gitId":"-"},"content":""},{"lineNumber":551,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":552,"author":{"gitId":"-"},"content":" if (isEmailNeededForInstructors) {"},{"lineNumber":553,"author":{"gitId":"-"},"content":" for (DeadlineExtension de : deadlineExtensions) {"},{"lineNumber":554,"author":{"gitId":"-"},"content":" Instructor instructor \u003d"},{"lineNumber":555,"author":{"gitId":"-"},"content":" usersLogic.getInstructorForEmail(course.getId(), de.getUser().getEmail());"},{"lineNumber":556,"author":{"gitId":"-"},"content":" if (instructor !\u003d null) {"},{"lineNumber":557,"author":{"gitId":"-"},"content":" instructors.add(instructor);"},{"lineNumber":558,"author":{"gitId":"-"},"content":" }"},{"lineNumber":559,"author":{"gitId":"-"},"content":" }"},{"lineNumber":560,"author":{"gitId":"-"},"content":" }"},{"lineNumber":561,"author":{"gitId":"-"},"content":""},{"lineNumber":562,"author":{"gitId":"-"},"content":" String template \u003d EmailTemplates.USER_FEEDBACK_SESSION.replace(\"${status}\", FEEDBACK_STATUS_SESSION_CLOSING);"},{"lineNumber":563,"author":{"gitId":"-"},"content":" EmailType type \u003d EmailType.FEEDBACK_CLOSING;"},{"lineNumber":564,"author":{"gitId":"-"},"content":" String feedbackAction \u003d FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW;"},{"lineNumber":565,"author":{"gitId":"-"},"content":" List\u003cEmailWrapper\u003e emails \u003d new ArrayList\u003c\u003e();"},{"lineNumber":566,"author":{"gitId":"-"},"content":" for (Student student : students) {"},{"lineNumber":567,"author":{"gitId":"-"},"content":" emails.addAll(generateFeedbackSessionEmailBases(course, session, Collections.singletonList(student),"},{"lineNumber":568,"author":{"gitId":"-"},"content":" Collections.emptyList(), Collections.emptyList(), template, type, feedbackAction));"},{"lineNumber":569,"author":{"gitId":"-"},"content":" }"},{"lineNumber":570,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":571,"author":{"gitId":"-"},"content":" emails.addAll(generateFeedbackSessionEmailBases(course, session, Collections.emptyList(),"},{"lineNumber":572,"author":{"gitId":"-"},"content":" Collections.singletonList(instructor), Collections.emptyList(), template, type, feedbackAction));"},{"lineNumber":573,"author":{"gitId":"-"},"content":" }"},{"lineNumber":574,"author":{"gitId":"-"},"content":" return emails;"},{"lineNumber":575,"author":{"gitId":"-"},"content":" }"},{"lineNumber":576,"author":{"gitId":"-"},"content":""},{"lineNumber":577,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":578,"author":{"gitId":"-"},"content":" * Generates the feedback session published emails for the given {@code session}."},{"lineNumber":579,"author":{"gitId":"-"},"content":" */"},{"lineNumber":580,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionPublishedEmails(FeedbackSession session) {"},{"lineNumber":581,"author":{"gitId":"-"},"content":" return generateFeedbackSessionPublishedOrUnpublishedEmails(session, EmailType.FEEDBACK_PUBLISHED);"},{"lineNumber":582,"author":{"gitId":"-"},"content":" }"},{"lineNumber":583,"author":{"gitId":"-"},"content":""},{"lineNumber":584,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":585,"author":{"gitId":"-"},"content":" * Generates the feedback session published emails for the given {@code students} and"},{"lineNumber":586,"author":{"gitId":"-"},"content":" * {@code instructors} in {@code session}."},{"lineNumber":587,"author":{"gitId":"-"},"content":" */"},{"lineNumber":588,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionPublishedEmails(FeedbackSession session,"},{"lineNumber":589,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students, List\u003cInstructor\u003e instructors,"},{"lineNumber":590,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorsToNotify) {"},{"lineNumber":591,"author":{"gitId":"-"},"content":" return generateFeedbackSessionPublishedOrUnpublishedEmails("},{"lineNumber":592,"author":{"gitId":"-"},"content":" session, students, instructors, instructorsToNotify, EmailType.FEEDBACK_PUBLISHED);"},{"lineNumber":593,"author":{"gitId":"-"},"content":" }"},{"lineNumber":594,"author":{"gitId":"-"},"content":""},{"lineNumber":595,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":596,"author":{"gitId":"-"},"content":" * Generates the feedback session unpublished emails for the given {@code session}."},{"lineNumber":597,"author":{"gitId":"-"},"content":" */"},{"lineNumber":598,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionUnpublishedEmails(FeedbackSession session) {"},{"lineNumber":599,"author":{"gitId":"-"},"content":" return generateFeedbackSessionPublishedOrUnpublishedEmails(session, EmailType.FEEDBACK_UNPUBLISHED);"},{"lineNumber":600,"author":{"gitId":"-"},"content":" }"},{"lineNumber":601,"author":{"gitId":"-"},"content":""},{"lineNumber":602,"author":{"gitId":"-"},"content":" private List\u003cEmailWrapper\u003e generateFeedbackSessionPublishedOrUnpublishedEmails("},{"lineNumber":603,"author":{"gitId":"-"},"content":" FeedbackSession session, EmailType emailType) {"},{"lineNumber":604,"author":{"gitId":"-"},"content":" boolean isEmailNeededForStudents \u003d fsLogic.isFeedbackSessionViewableToUserType(session, false);"},{"lineNumber":605,"author":{"gitId":"-"},"content":" boolean isEmailNeededForInstructors \u003d fsLogic.isFeedbackSessionViewableToUserType(session, true);"},{"lineNumber":606,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorsToNotify \u003d isEmailNeededForStudents"},{"lineNumber":607,"author":{"gitId":"-"},"content":" ? usersLogic.getCoOwnersForCourse(session.getCourse().getId())"},{"lineNumber":608,"author":{"gitId":"-"},"content":" : new ArrayList\u003c\u003e();"},{"lineNumber":609,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students \u003d isEmailNeededForStudents"},{"lineNumber":610,"author":{"gitId":"-"},"content":" ? usersLogic.getStudentsForCourse(session.getCourse().getId())"},{"lineNumber":611,"author":{"gitId":"-"},"content":" : new ArrayList\u003c\u003e();"},{"lineNumber":612,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors \u003d isEmailNeededForInstructors"},{"lineNumber":613,"author":{"gitId":"-"},"content":" ? usersLogic.getInstructorsForCourse(session.getCourse().getId())"},{"lineNumber":614,"author":{"gitId":"-"},"content":" : new ArrayList\u003c\u003e();"},{"lineNumber":615,"author":{"gitId":"-"},"content":""},{"lineNumber":616,"author":{"gitId":"-"},"content":" return generateFeedbackSessionPublishedOrUnpublishedEmails("},{"lineNumber":617,"author":{"gitId":"-"},"content":" session, students, instructors, instructorsToNotify, emailType);"},{"lineNumber":618,"author":{"gitId":"-"},"content":" }"},{"lineNumber":619,"author":{"gitId":"-"},"content":""},{"lineNumber":620,"author":{"gitId":"-"},"content":" private List\u003cEmailWrapper\u003e generateFeedbackSessionPublishedOrUnpublishedEmails("},{"lineNumber":621,"author":{"gitId":"-"},"content":" FeedbackSession session, List\u003cStudent\u003e students,"},{"lineNumber":622,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors, List\u003cInstructor\u003e instructorsToNotify, EmailType emailType) {"},{"lineNumber":623,"author":{"gitId":"-"},"content":" Course course \u003d session.getCourse();"},{"lineNumber":624,"author":{"gitId":"-"},"content":" String template;"},{"lineNumber":625,"author":{"gitId":"-"},"content":" String action;"},{"lineNumber":626,"author":{"gitId":"-"},"content":" if (emailType \u003d\u003d EmailType.FEEDBACK_PUBLISHED) {"},{"lineNumber":627,"author":{"gitId":"-"},"content":" template \u003d EmailTemplates.USER_FEEDBACK_SESSION_PUBLISHED;"},{"lineNumber":628,"author":{"gitId":"-"},"content":" action \u003d FEEDBACK_ACTION_VIEW;"},{"lineNumber":629,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":630,"author":{"gitId":"-"},"content":" template \u003d EmailTemplates.USER_FEEDBACK_SESSION_UNPUBLISHED;"},{"lineNumber":631,"author":{"gitId":"-"},"content":" action \u003d FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW;"},{"lineNumber":632,"author":{"gitId":"-"},"content":" }"},{"lineNumber":633,"author":{"gitId":"-"},"content":""},{"lineNumber":634,"author":{"gitId":"-"},"content":" return generateFeedbackSessionEmailBases(course, session, students, instructors, instructorsToNotify, template,"},{"lineNumber":635,"author":{"gitId":"-"},"content":" emailType, action);"},{"lineNumber":636,"author":{"gitId":"-"},"content":" }"},{"lineNumber":637,"author":{"gitId":"-"},"content":""},{"lineNumber":638,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":639,"author":{"gitId":"-"},"content":" * Generates deadline extension granted emails."},{"lineNumber":640,"author":{"gitId":"-"},"content":" */"},{"lineNumber":641,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateDeadlineGrantedEmails(Course course,"},{"lineNumber":642,"author":{"gitId":"-"},"content":" FeedbackSession session, Map\u003cString, Instant\u003e createdDeadlines, boolean areInstructors) {"},{"lineNumber":643,"author":{"gitId":"-"},"content":" return createdDeadlines.entrySet()"},{"lineNumber":644,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":645,"author":{"gitId":"-"},"content":" .map(entry -\u003e"},{"lineNumber":646,"author":{"gitId":"-"},"content":" generateDeadlineExtensionEmail(course, session,"},{"lineNumber":647,"author":{"gitId":"-"},"content":" session.getEndTime(), entry.getValue(), EmailType.DEADLINE_EXTENSION_GRANTED,"},{"lineNumber":648,"author":{"gitId":"-"},"content":" entry.getKey(), areInstructors))"},{"lineNumber":649,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":650,"author":{"gitId":"-"},"content":" }"},{"lineNumber":651,"author":{"gitId":"-"},"content":""},{"lineNumber":652,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":653,"author":{"gitId":"-"},"content":" * Generates deadline extension updated emails."},{"lineNumber":654,"author":{"gitId":"-"},"content":" */"},{"lineNumber":655,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateDeadlineUpdatedEmails(Course course, FeedbackSession session,"},{"lineNumber":656,"author":{"gitId":"-"},"content":" Map\u003cString, Instant\u003e updatedDeadlines, Map\u003cString, Instant\u003e oldDeadlines, boolean areInstructors) {"},{"lineNumber":657,"author":{"gitId":"-"},"content":" return updatedDeadlines.entrySet()"},{"lineNumber":658,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":659,"author":{"gitId":"-"},"content":" .map(entry -\u003e"},{"lineNumber":660,"author":{"gitId":"-"},"content":" generateDeadlineExtensionEmail(course, session,"},{"lineNumber":661,"author":{"gitId":"-"},"content":" oldDeadlines.get(entry.getKey()), entry.getValue(), EmailType.DEADLINE_EXTENSION_UPDATED,"},{"lineNumber":662,"author":{"gitId":"-"},"content":" entry.getKey(), areInstructors))"},{"lineNumber":663,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":664,"author":{"gitId":"-"},"content":" }"},{"lineNumber":665,"author":{"gitId":"-"},"content":""},{"lineNumber":666,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":667,"author":{"gitId":"-"},"content":" * Generates deadline extension revoked emails."},{"lineNumber":668,"author":{"gitId":"-"},"content":" */"},{"lineNumber":669,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateDeadlineRevokedEmails(Course course,"},{"lineNumber":670,"author":{"gitId":"-"},"content":" FeedbackSession session, Map\u003cString, Instant\u003e revokedDeadlines, boolean areInstructors) {"},{"lineNumber":671,"author":{"gitId":"-"},"content":" return revokedDeadlines.entrySet()"},{"lineNumber":672,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":673,"author":{"gitId":"-"},"content":" .map(entry -\u003e"},{"lineNumber":674,"author":{"gitId":"-"},"content":" generateDeadlineExtensionEmail(course, session,"},{"lineNumber":675,"author":{"gitId":"-"},"content":" entry.getValue(), session.getEndTime(), EmailType.DEADLINE_EXTENSION_REVOKED,"},{"lineNumber":676,"author":{"gitId":"-"},"content":" entry.getKey(), areInstructors))"},{"lineNumber":677,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":678,"author":{"gitId":"-"},"content":" }"},{"lineNumber":679,"author":{"gitId":"-"},"content":""},{"lineNumber":680,"author":{"gitId":"-"},"content":" private EmailWrapper generateDeadlineExtensionEmail("},{"lineNumber":681,"author":{"gitId":"-"},"content":" Course course, FeedbackSession session, Instant oldEndTime, Instant endTime,"},{"lineNumber":682,"author":{"gitId":"-"},"content":" EmailType emailType, String userEmail, boolean isInstructor) {"},{"lineNumber":683,"author":{"gitId":"-"},"content":" String status;"},{"lineNumber":684,"author":{"gitId":"-"},"content":""},{"lineNumber":685,"author":{"gitId":"-"},"content":" switch (emailType) {"},{"lineNumber":686,"author":{"gitId":"-"},"content":" case DEADLINE_EXTENSION_GRANTED:"},{"lineNumber":687,"author":{"gitId":"-"},"content":" status \u003d \"You have been granted a deadline extension for the following feedback session.\";"},{"lineNumber":688,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":689,"author":{"gitId":"-"},"content":" case DEADLINE_EXTENSION_UPDATED:"},{"lineNumber":690,"author":{"gitId":"-"},"content":" status \u003d \"Your deadline for the following feedback session has been updated.\";"},{"lineNumber":691,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":692,"author":{"gitId":"-"},"content":" case DEADLINE_EXTENSION_REVOKED:"},{"lineNumber":693,"author":{"gitId":"-"},"content":" status \u003d \"Your deadline extension for the following feedback session has been revoked.\";"},{"lineNumber":694,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":695,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":696,"author":{"gitId":"-"},"content":" throw new AssertionError(\"Invalid email type: \" + emailType);"},{"lineNumber":697,"author":{"gitId":"-"},"content":" }"},{"lineNumber":698,"author":{"gitId":"-"},"content":""},{"lineNumber":699,"author":{"gitId":"-"},"content":" String additionalContactInformation \u003d getAdditionalContactInformationFragment(course, isInstructor);"},{"lineNumber":700,"author":{"gitId":"-"},"content":" Instant oldEndTimeFormatted \u003d"},{"lineNumber":701,"author":{"gitId":"-"},"content":" TimeHelper.getMidnightAdjustedInstantBasedOnZone(oldEndTime, session.getCourse().getTimeZone(), false);"},{"lineNumber":702,"author":{"gitId":"-"},"content":" Instant newEndTimeFormatted \u003d"},{"lineNumber":703,"author":{"gitId":"-"},"content":" TimeHelper.getMidnightAdjustedInstantBasedOnZone(endTime, session.getCourse().getTimeZone(), false);"},{"lineNumber":704,"author":{"gitId":"-"},"content":" String template \u003d EmailTemplates.USER_DEADLINE_EXTENSION"},{"lineNumber":705,"author":{"gitId":"-"},"content":" .replace(\"${status}\", status)"},{"lineNumber":706,"author":{"gitId":"-"},"content":" .replace(\"${oldEndTime}\", SanitizationHelper.sanitizeForHtml("},{"lineNumber":707,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(oldEndTimeFormatted,"},{"lineNumber":708,"author":{"gitId":"-"},"content":" session.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT)))"},{"lineNumber":709,"author":{"gitId":"-"},"content":" .replace(\"${newEndTime}\", SanitizationHelper.sanitizeForHtml("},{"lineNumber":710,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(newEndTimeFormatted,"},{"lineNumber":711,"author":{"gitId":"-"},"content":" session.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT)));"},{"lineNumber":712,"author":{"gitId":"-"},"content":" String feedbackAction \u003d FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW;"},{"lineNumber":713,"author":{"gitId":"-"},"content":""},{"lineNumber":714,"author":{"gitId":"-"},"content":" if (isInstructor) {"},{"lineNumber":715,"author":{"gitId":"-"},"content":" Instructor instructor \u003d usersLogic.getInstructorForEmail(course.getId(), userEmail);"},{"lineNumber":716,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":717,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":718,"author":{"gitId":"-"},"content":" }"},{"lineNumber":719,"author":{"gitId":"-"},"content":" return generateFeedbackSessionEmailBaseForInstructors("},{"lineNumber":720,"author":{"gitId":"-"},"content":" course, session, instructor, template, emailType, feedbackAction, additionalContactInformation);"},{"lineNumber":721,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":722,"author":{"gitId":"-"},"content":" Student student \u003d usersLogic.getStudentForEmail(course.getId(), userEmail);"},{"lineNumber":723,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":724,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":725,"author":{"gitId":"-"},"content":" }"},{"lineNumber":726,"author":{"gitId":"-"},"content":" return generateFeedbackSessionEmailBaseForStudents("},{"lineNumber":727,"author":{"gitId":"-"},"content":" course, session, student, template, emailType, feedbackAction, additionalContactInformation);"},{"lineNumber":728,"author":{"gitId":"-"},"content":" }"},{"lineNumber":729,"author":{"gitId":"-"},"content":" }"},{"lineNumber":730,"author":{"gitId":"-"},"content":""},{"lineNumber":731,"author":{"gitId":"-"},"content":" private List\u003cEmailWrapper\u003e generateFeedbackSessionEmailBases("},{"lineNumber":732,"author":{"gitId":"-"},"content":" Course course, FeedbackSession session, List\u003cStudent\u003e students,"},{"lineNumber":733,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors, List\u003cInstructor\u003e instructorsToNotify, String template,"},{"lineNumber":734,"author":{"gitId":"-"},"content":" EmailType type, String feedbackAction) {"},{"lineNumber":735,"author":{"gitId":"-"},"content":" StringBuilder studentAdditionalContactBuilder \u003d new StringBuilder();"},{"lineNumber":736,"author":{"gitId":"-"},"content":" StringBuilder instructorAdditionalContactBuilder \u003d new StringBuilder();"},{"lineNumber":737,"author":{"gitId":"-"},"content":" studentAdditionalContactBuilder.append(getAdditionalContactInformationFragment(course, false));"},{"lineNumber":738,"author":{"gitId":"-"},"content":" instructorAdditionalContactBuilder.append(getAdditionalContactInformationFragment(course, true));"},{"lineNumber":739,"author":{"gitId":"-"},"content":""},{"lineNumber":740,"author":{"gitId":"-"},"content":" List\u003cEmailWrapper\u003e emails \u003d new ArrayList\u003c\u003e();"},{"lineNumber":741,"author":{"gitId":"-"},"content":" for (Student student : students) {"},{"lineNumber":742,"author":{"gitId":"-"},"content":" emails.add(generateFeedbackSessionEmailBaseForStudents(course, session, student,"},{"lineNumber":743,"author":{"gitId":"-"},"content":" template, type, feedbackAction, studentAdditionalContactBuilder.toString()));"},{"lineNumber":744,"author":{"gitId":"-"},"content":" }"},{"lineNumber":745,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":746,"author":{"gitId":"-"},"content":" emails.add(generateFeedbackSessionEmailBaseForInstructors(course, session, instructor,"},{"lineNumber":747,"author":{"gitId":"-"},"content":" template, type, feedbackAction, instructorAdditionalContactBuilder.toString()));"},{"lineNumber":748,"author":{"gitId":"-"},"content":" }"},{"lineNumber":749,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructorsToNotify) {"},{"lineNumber":750,"author":{"gitId":"-"},"content":" emails.add(generateFeedbackSessionEmailBaseForNotifiedInstructors(course, session, instructor,"},{"lineNumber":751,"author":{"gitId":"-"},"content":" template, type, feedbackAction, studentAdditionalContactBuilder.toString()));"},{"lineNumber":752,"author":{"gitId":"-"},"content":" }"},{"lineNumber":753,"author":{"gitId":"-"},"content":" return emails;"},{"lineNumber":754,"author":{"gitId":"-"},"content":" }"},{"lineNumber":755,"author":{"gitId":"-"},"content":""},{"lineNumber":756,"author":{"gitId":"-"},"content":" private EmailWrapper generateFeedbackSessionEmailBaseForStudents("},{"lineNumber":757,"author":{"gitId":"-"},"content":" Course course, FeedbackSession session, Student student, String template,"},{"lineNumber":758,"author":{"gitId":"-"},"content":" EmailType type, String feedbackAction, String additionalContactInformation) {"},{"lineNumber":759,"author":{"gitId":"-"},"content":" String submitUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_SUBMISSION_PAGE)"},{"lineNumber":760,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":761,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":762,"author":{"gitId":"-"},"content":" .withRegistrationKey(student.getRegKey())"},{"lineNumber":763,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":764,"author":{"gitId":"-"},"content":""},{"lineNumber":765,"author":{"gitId":"-"},"content":" String reportUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_RESULTS_PAGE)"},{"lineNumber":766,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":767,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":768,"author":{"gitId":"-"},"content":" .withRegistrationKey(student.getRegKey())"},{"lineNumber":769,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":770,"author":{"gitId":"-"},"content":""},{"lineNumber":771,"author":{"gitId":"-"},"content":" Instant deadline \u003d deLogic.getDeadlineForUser(session, student);"},{"lineNumber":772,"author":{"gitId":"-"},"content":""},{"lineNumber":773,"author":{"gitId":"-"},"content":" Instant endTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":774,"author":{"gitId":"-"},"content":" deadline, session.getCourse().getTimeZone(), false);"},{"lineNumber":775,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate(template,"},{"lineNumber":776,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(student.getName()),"},{"lineNumber":777,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":778,"author":{"gitId":"-"},"content":" \"${courseId}\", SanitizationHelper.sanitizeForHtml(course.getId()),"},{"lineNumber":779,"author":{"gitId":"-"},"content":" \"${feedbackSessionName}\", SanitizationHelper.sanitizeForHtml(session.getName()),"},{"lineNumber":780,"author":{"gitId":"-"},"content":" \"${deadline}\", SanitizationHelper.sanitizeForHtml("},{"lineNumber":781,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(endTime, session.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT))"},{"lineNumber":782,"author":{"gitId":"-"},"content":" + (session.getEndTime().equals(deadline) ? \"\" : \" (after extension)\"),"},{"lineNumber":783,"author":{"gitId":"-"},"content":" \"${instructorPreamble}\", \"\","},{"lineNumber":784,"author":{"gitId":"-"},"content":" \"${sessionInstructions}\", session.getInstructionsString(),"},{"lineNumber":785,"author":{"gitId":"-"},"content":" \"${submitUrl}\", submitUrl,"},{"lineNumber":786,"author":{"gitId":"-"},"content":" \"${reportUrl}\", reportUrl,"},{"lineNumber":787,"author":{"gitId":"-"},"content":" \"${feedbackAction}\", feedbackAction,"},{"lineNumber":788,"author":{"gitId":"-"},"content":" \"${additionalContactInformation}\", additionalContactInformation);"},{"lineNumber":789,"author":{"gitId":"-"},"content":""},{"lineNumber":790,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(student.getEmail());"},{"lineNumber":791,"author":{"gitId":"-"},"content":" email.setType(type);"},{"lineNumber":792,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), session.getName());"},{"lineNumber":793,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":794,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":795,"author":{"gitId":"-"},"content":" }"},{"lineNumber":796,"author":{"gitId":"-"},"content":""},{"lineNumber":797,"author":{"gitId":"-"},"content":" private EmailWrapper generateFeedbackSessionEmailBaseForInstructors("},{"lineNumber":798,"author":{"gitId":"-"},"content":" Course course, FeedbackSession session, Instructor instructor,"},{"lineNumber":799,"author":{"gitId":"-"},"content":" String template, EmailType type, String feedbackAction, String additionalContactInformation) {"},{"lineNumber":800,"author":{"gitId":"-"},"content":" String submitUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_SUBMISSION_PAGE)"},{"lineNumber":801,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":802,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":803,"author":{"gitId":"-"},"content":" .withRegistrationKey(instructor.getRegKey())"},{"lineNumber":804,"author":{"gitId":"-"},"content":" .withEntityType(Const.EntityType.INSTRUCTOR)"},{"lineNumber":805,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":806,"author":{"gitId":"-"},"content":""},{"lineNumber":807,"author":{"gitId":"-"},"content":" String reportUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_RESULTS_PAGE)"},{"lineNumber":808,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":809,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":810,"author":{"gitId":"-"},"content":" .withRegistrationKey(instructor.getRegKey())"},{"lineNumber":811,"author":{"gitId":"-"},"content":" .withEntityType(Const.EntityType.INSTRUCTOR)"},{"lineNumber":812,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":813,"author":{"gitId":"-"},"content":""},{"lineNumber":814,"author":{"gitId":"-"},"content":" Instant deadline \u003d deLogic.getDeadlineForUser(session, instructor);"},{"lineNumber":815,"author":{"gitId":"-"},"content":""},{"lineNumber":816,"author":{"gitId":"-"},"content":" Instant endTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":817,"author":{"gitId":"-"},"content":" deadline, session.getCourse().getTimeZone(), false);"},{"lineNumber":818,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate(template,"},{"lineNumber":819,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(instructor.getName()),"},{"lineNumber":820,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":821,"author":{"gitId":"-"},"content":" \"${courseId}\", SanitizationHelper.sanitizeForHtml(course.getId()),"},{"lineNumber":822,"author":{"gitId":"-"},"content":" \"${feedbackSessionName}\", SanitizationHelper.sanitizeForHtml(session.getName()),"},{"lineNumber":823,"author":{"gitId":"-"},"content":" \"${deadline}\", SanitizationHelper.sanitizeForHtml("},{"lineNumber":824,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(endTime, session.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT))"},{"lineNumber":825,"author":{"gitId":"-"},"content":" + (session.getEndTime().equals(deadline) ? \"\" : \" (after extension)\"),"},{"lineNumber":826,"author":{"gitId":"-"},"content":" \"${instructorPreamble}\", \"\","},{"lineNumber":827,"author":{"gitId":"-"},"content":" \"${sessionInstructions}\", session.getInstructionsString(),"},{"lineNumber":828,"author":{"gitId":"-"},"content":" \"${submitUrl}\", submitUrl,"},{"lineNumber":829,"author":{"gitId":"-"},"content":" \"${reportUrl}\", reportUrl,"},{"lineNumber":830,"author":{"gitId":"-"},"content":" \"${feedbackAction}\", feedbackAction,"},{"lineNumber":831,"author":{"gitId":"-"},"content":" \"${additionalContactInformation}\", additionalContactInformation);"},{"lineNumber":832,"author":{"gitId":"-"},"content":""},{"lineNumber":833,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(instructor.getEmail());"},{"lineNumber":834,"author":{"gitId":"-"},"content":" email.setType(type);"},{"lineNumber":835,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), session.getName());"},{"lineNumber":836,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":837,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":838,"author":{"gitId":"-"},"content":" }"},{"lineNumber":839,"author":{"gitId":"-"},"content":""},{"lineNumber":840,"author":{"gitId":"-"},"content":" private EmailWrapper generateFeedbackSessionEmailBaseForNotifiedInstructors("},{"lineNumber":841,"author":{"gitId":"-"},"content":" Course course, FeedbackSession session, Instructor instructor,"},{"lineNumber":842,"author":{"gitId":"-"},"content":" String template, EmailType type, String feedbackAction, String additionalContactInformation) {"},{"lineNumber":843,"author":{"gitId":"-"},"content":""},{"lineNumber":844,"author":{"gitId":"-"},"content":" Instant endTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":845,"author":{"gitId":"-"},"content":" session.getEndTime(), session.getCourse().getTimeZone(), false);"},{"lineNumber":846,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate(template,"},{"lineNumber":847,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(instructor.getName()),"},{"lineNumber":848,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":849,"author":{"gitId":"-"},"content":" \"${courseId}\", SanitizationHelper.sanitizeForHtml(course.getId()),"},{"lineNumber":850,"author":{"gitId":"-"},"content":" \"${feedbackSessionName}\", SanitizationHelper.sanitizeForHtml(session.getName()),"},{"lineNumber":851,"author":{"gitId":"-"},"content":" \"${deadline}\", SanitizationHelper.sanitizeForHtml("},{"lineNumber":852,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(endTime, session.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT)),"},{"lineNumber":853,"author":{"gitId":"-"},"content":" \"${instructorPreamble}\", fillUpInstructorPreamble(course),"},{"lineNumber":854,"author":{"gitId":"-"},"content":" \"${sessionInstructions}\", session.getInstructionsString(),"},{"lineNumber":855,"author":{"gitId":"-"},"content":" \"${submitUrl}\", \"{in the actual email sent to the students, this will be the unique link}\","},{"lineNumber":856,"author":{"gitId":"-"},"content":" \"${reportUrl}\", \"{in the actual email sent to the students, this will be the unique link}\","},{"lineNumber":857,"author":{"gitId":"-"},"content":" \"${feedbackAction}\", feedbackAction,"},{"lineNumber":858,"author":{"gitId":"-"},"content":" \"${additionalContactInformation}\", additionalContactInformation);"},{"lineNumber":859,"author":{"gitId":"-"},"content":""},{"lineNumber":860,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(instructor.getEmail());"},{"lineNumber":861,"author":{"gitId":"-"},"content":" email.setType(type);"},{"lineNumber":862,"author":{"gitId":"-"},"content":" email.setIsCopy(true);"},{"lineNumber":863,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), session.getName());"},{"lineNumber":864,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":865,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":866,"author":{"gitId":"-"},"content":" }"},{"lineNumber":867,"author":{"gitId":"-"},"content":""},{"lineNumber":868,"author":{"gitId":"-"},"content":" private boolean isYetToJoinCourse(Student student) {"},{"lineNumber":869,"author":{"gitId":"domoberzin"},"content":" return student.getAccount() \u003d\u003d null || student.getAccount().getGoogleId().isEmpty();"},{"lineNumber":870,"author":{"gitId":"-"},"content":" }"},{"lineNumber":871,"author":{"gitId":"-"},"content":""},{"lineNumber":872,"author":{"gitId":"-"},"content":" private boolean isYetToJoinCourse(Instructor instructor) {"},{"lineNumber":873,"author":{"gitId":"domoberzin"},"content":" return instructor.getAccount() \u003d\u003d null || instructor.getAccount().getGoogleId().isEmpty();"},{"lineNumber":874,"author":{"gitId":"-"},"content":" }"},{"lineNumber":875,"author":{"gitId":"-"},"content":""},{"lineNumber":876,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":877,"author":{"gitId":"-"},"content":" * Generates the new instructor account join email for the given {@code instructor}."},{"lineNumber":878,"author":{"gitId":"-"},"content":" */"},{"lineNumber":879,"author":{"gitId":"-"},"content":" public EmailWrapper generateNewInstructorAccountJoinEmail("},{"lineNumber":880,"author":{"gitId":"-"},"content":" String instructorEmail, String instructorName, String joinUrl) {"},{"lineNumber":881,"author":{"gitId":"-"},"content":""},{"lineNumber":882,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate(EmailTemplates.NEW_INSTRUCTOR_ACCOUNT_WELCOME,"},{"lineNumber":883,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(instructorName),"},{"lineNumber":884,"author":{"gitId":"-"},"content":" \"${joinUrl}\", joinUrl);"},{"lineNumber":885,"author":{"gitId":"-"},"content":""},{"lineNumber":886,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(instructorEmail);"},{"lineNumber":887,"author":{"gitId":"-"},"content":" email.setBcc(Config.SUPPORT_EMAIL);"},{"lineNumber":888,"author":{"gitId":"-"},"content":" email.setType(EmailType.NEW_INSTRUCTOR_ACCOUNT);"},{"lineNumber":889,"author":{"gitId":"-"},"content":" email.setSubjectFromType(SanitizationHelper.sanitizeForHtml(instructorName));"},{"lineNumber":890,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":891,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":892,"author":{"gitId":"-"},"content":" }"},{"lineNumber":893,"author":{"gitId":"-"},"content":""},{"lineNumber":894,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":895,"author":{"gitId":"-"},"content":" * Generates the course join email for the given {@code student} in {@code course}."},{"lineNumber":896,"author":{"gitId":"-"},"content":" */"},{"lineNumber":897,"author":{"gitId":"-"},"content":" public EmailWrapper generateStudentCourseJoinEmail(Course course, Student student) {"},{"lineNumber":898,"author":{"gitId":"-"},"content":""},{"lineNumber":899,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate("},{"lineNumber":900,"author":{"gitId":"-"},"content":" fillUpStudentJoinFragment(student),"},{"lineNumber":901,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(student.getName()),"},{"lineNumber":902,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":903,"author":{"gitId":"-"},"content":" \"${coOwnersEmails}\", generateCoOwnersEmailsLine(course.getId()),"},{"lineNumber":904,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":905,"author":{"gitId":"-"},"content":""},{"lineNumber":906,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(student.getEmail());"},{"lineNumber":907,"author":{"gitId":"-"},"content":" email.setType(EmailType.STUDENT_COURSE_JOIN);"},{"lineNumber":908,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), course.getId());"},{"lineNumber":909,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":910,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":911,"author":{"gitId":"-"},"content":" }"},{"lineNumber":912,"author":{"gitId":"-"},"content":""},{"lineNumber":913,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":914,"author":{"gitId":"-"},"content":" * Generates the course re-join email for the given {@code student} in {@code course}."},{"lineNumber":915,"author":{"gitId":"-"},"content":" */"},{"lineNumber":916,"author":{"gitId":"-"},"content":" public EmailWrapper generateStudentCourseRejoinEmailAfterGoogleIdReset("},{"lineNumber":917,"author":{"gitId":"-"},"content":" Course course, Student student) {"},{"lineNumber":918,"author":{"gitId":"-"},"content":""},{"lineNumber":919,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate("},{"lineNumber":920,"author":{"gitId":"-"},"content":" fillUpStudentRejoinAfterGoogleIdResetFragment(student),"},{"lineNumber":921,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(student.getName()),"},{"lineNumber":922,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":923,"author":{"gitId":"-"},"content":" \"${coOwnersEmails}\", generateCoOwnersEmailsLine(course.getId()),"},{"lineNumber":924,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":925,"author":{"gitId":"-"},"content":""},{"lineNumber":926,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(student.getEmail());"},{"lineNumber":927,"author":{"gitId":"-"},"content":" email.setType(EmailType.STUDENT_COURSE_REJOIN_AFTER_GOOGLE_ID_RESET);"},{"lineNumber":928,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), course.getId());"},{"lineNumber":929,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":930,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":931,"author":{"gitId":"-"},"content":" }"},{"lineNumber":932,"author":{"gitId":"-"},"content":""},{"lineNumber":933,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":934,"author":{"gitId":"-"},"content":" * Generates the course join email for the given {@code instructor} in {@code course}."},{"lineNumber":935,"author":{"gitId":"-"},"content":" * Also specifies contact information of {@code inviter}."},{"lineNumber":936,"author":{"gitId":"-"},"content":" */"},{"lineNumber":937,"author":{"gitId":"-"},"content":" public EmailWrapper generateInstructorCourseJoinEmail(Account inviter,"},{"lineNumber":938,"author":{"gitId":"-"},"content":" Instructor instructor, Course course) {"},{"lineNumber":939,"author":{"gitId":"-"},"content":""},{"lineNumber":940,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate("},{"lineNumber":941,"author":{"gitId":"-"},"content":" fillUpInstructorJoinFragment(instructor),"},{"lineNumber":942,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(instructor.getName()),"},{"lineNumber":943,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":944,"author":{"gitId":"-"},"content":" \"${inviterName}\", SanitizationHelper.sanitizeForHtml(inviter.getName()),"},{"lineNumber":945,"author":{"gitId":"-"},"content":" \"${inviterEmail}\", SanitizationHelper.sanitizeForHtml(inviter.getEmail()),"},{"lineNumber":946,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":947,"author":{"gitId":"-"},"content":""},{"lineNumber":948,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(instructor.getEmail());"},{"lineNumber":949,"author":{"gitId":"-"},"content":" email.setType(EmailType.INSTRUCTOR_COURSE_JOIN);"},{"lineNumber":950,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), course.getId());"},{"lineNumber":951,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":952,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":953,"author":{"gitId":"-"},"content":" }"},{"lineNumber":954,"author":{"gitId":"-"},"content":""},{"lineNumber":955,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":956,"author":{"gitId":"-"},"content":" * Generates the course re-join email for the given {@code instructor} in {@code course}."},{"lineNumber":957,"author":{"gitId":"-"},"content":" */"},{"lineNumber":958,"author":{"gitId":"-"},"content":" public EmailWrapper generateInstructorCourseRejoinEmailAfterGoogleIdReset("},{"lineNumber":959,"author":{"gitId":"-"},"content":" Instructor instructor, Course course) {"},{"lineNumber":960,"author":{"gitId":"-"},"content":""},{"lineNumber":961,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate("},{"lineNumber":962,"author":{"gitId":"-"},"content":" fillUpInstructorRejoinAfterGoogleIdResetFragment(instructor),"},{"lineNumber":963,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(instructor.getName()),"},{"lineNumber":964,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":965,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":966,"author":{"gitId":"-"},"content":""},{"lineNumber":967,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(instructor.getEmail());"},{"lineNumber":968,"author":{"gitId":"-"},"content":" email.setType(EmailType.INSTRUCTOR_COURSE_REJOIN_AFTER_GOOGLE_ID_RESET);"},{"lineNumber":969,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), course.getId());"},{"lineNumber":970,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":971,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":972,"author":{"gitId":"-"},"content":" }"},{"lineNumber":973,"author":{"gitId":"-"},"content":""},{"lineNumber":974,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":975,"author":{"gitId":"-"},"content":" * Generates the course registered email for the user with the given details in {@code course}."},{"lineNumber":976,"author":{"gitId":"-"},"content":" */"},{"lineNumber":977,"author":{"gitId":"-"},"content":" public EmailWrapper generateUserCourseRegisteredEmail("},{"lineNumber":978,"author":{"gitId":"-"},"content":" String name, String emailAddress, String googleId, boolean isInstructor, Course course) {"},{"lineNumber":979,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate(EmailTemplates.USER_COURSE_REGISTER,"},{"lineNumber":980,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(name),"},{"lineNumber":981,"author":{"gitId":"-"},"content":" \"${userType}\", isInstructor ? \"an instructor\" : \"a student\","},{"lineNumber":982,"author":{"gitId":"-"},"content":" \"${courseId}\", SanitizationHelper.sanitizeForHtml(course.getId()),"},{"lineNumber":983,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":984,"author":{"gitId":"-"},"content":" \"${googleId}\", SanitizationHelper.sanitizeForHtml(googleId),"},{"lineNumber":985,"author":{"gitId":"-"},"content":" \"${appUrl}\", isInstructor"},{"lineNumber":986,"author":{"gitId":"-"},"content":" ? Config.getFrontEndAppUrl(Const.WebPageURIs.INSTRUCTOR_HOME_PAGE).toAbsoluteString()"},{"lineNumber":987,"author":{"gitId":"-"},"content":" : Config.getFrontEndAppUrl(Const.WebPageURIs.STUDENT_HOME_PAGE).toAbsoluteString(),"},{"lineNumber":988,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":989,"author":{"gitId":"-"},"content":""},{"lineNumber":990,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(emailAddress);"},{"lineNumber":991,"author":{"gitId":"-"},"content":" email.setType(EmailType.USER_COURSE_REGISTER);"},{"lineNumber":992,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), course.getId());"},{"lineNumber":993,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":994,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":995,"author":{"gitId":"-"},"content":" }"},{"lineNumber":996,"author":{"gitId":"-"},"content":""},{"lineNumber":997,"author":{"gitId":"-"},"content":" private String fillUpStudentJoinFragment(Student student) {"},{"lineNumber":998,"author":{"gitId":"-"},"content":" String joinUrl \u003d Config.getFrontEndAppUrl(student.getRegistrationUrl()).toAbsoluteString();"},{"lineNumber":999,"author":{"gitId":"-"},"content":""},{"lineNumber":1000,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.USER_COURSE_JOIN,"},{"lineNumber":1001,"author":{"gitId":"-"},"content":" \"${joinFragment}\", EmailTemplates.FRAGMENT_STUDENT_COURSE_JOIN,"},{"lineNumber":1002,"author":{"gitId":"-"},"content":" \"${joinUrl}\", joinUrl);"},{"lineNumber":1003,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1004,"author":{"gitId":"-"},"content":""},{"lineNumber":1005,"author":{"gitId":"-"},"content":" private String fillUpStudentRejoinAfterGoogleIdResetFragment(Student student) {"},{"lineNumber":1006,"author":{"gitId":"-"},"content":" String joinUrl \u003d Config.getFrontEndAppUrl(student.getRegistrationUrl()).toAbsoluteString();"},{"lineNumber":1007,"author":{"gitId":"-"},"content":""},{"lineNumber":1008,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.USER_COURSE_JOIN,"},{"lineNumber":1009,"author":{"gitId":"-"},"content":" \"${joinFragment}\", EmailTemplates.FRAGMENT_STUDENT_COURSE_REJOIN_AFTER_GOOGLE_ID_RESET,"},{"lineNumber":1010,"author":{"gitId":"-"},"content":" \"${joinUrl}\", joinUrl,"},{"lineNumber":1011,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":1012,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1013,"author":{"gitId":"-"},"content":""},{"lineNumber":1014,"author":{"gitId":"-"},"content":" private String getInstructorCourseJoinUrl(Instructor instructor) {"},{"lineNumber":1015,"author":{"gitId":"-"},"content":" return Config.getFrontEndAppUrl(instructor.getRegistrationUrl()).toAbsoluteString();"},{"lineNumber":1016,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1017,"author":{"gitId":"-"},"content":""},{"lineNumber":1018,"author":{"gitId":"-"},"content":" private String fillUpInstructorJoinFragment(Instructor instructor) {"},{"lineNumber":1019,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.USER_COURSE_JOIN,"},{"lineNumber":1020,"author":{"gitId":"-"},"content":" \"${joinFragment}\", EmailTemplates.FRAGMENT_INSTRUCTOR_COURSE_JOIN,"},{"lineNumber":1021,"author":{"gitId":"-"},"content":" \"${joinUrl}\", getInstructorCourseJoinUrl(instructor));"},{"lineNumber":1022,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1023,"author":{"gitId":"-"},"content":""},{"lineNumber":1024,"author":{"gitId":"-"},"content":" private String fillUpInstructorRejoinAfterGoogleIdResetFragment(Instructor instructor) {"},{"lineNumber":1025,"author":{"gitId":"-"},"content":" String joinUrl \u003d Config.getFrontEndAppUrl(instructor.getRegistrationUrl()).toAbsoluteString();"},{"lineNumber":1026,"author":{"gitId":"-"},"content":""},{"lineNumber":1027,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.USER_COURSE_JOIN,"},{"lineNumber":1028,"author":{"gitId":"-"},"content":" \"${joinFragment}\", EmailTemplates.FRAGMENT_INSTRUCTOR_COURSE_REJOIN_AFTER_GOOGLE_ID_RESET,"},{"lineNumber":1029,"author":{"gitId":"-"},"content":" \"${joinUrl}\", joinUrl,"},{"lineNumber":1030,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":1031,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1032,"author":{"gitId":"-"},"content":""},{"lineNumber":1033,"author":{"gitId":"-"},"content":" private String fillUpInstructorPreamble(Course course) {"},{"lineNumber":1034,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.FRAGMENT_INSTRUCTOR_COPY_PREAMBLE,"},{"lineNumber":1035,"author":{"gitId":"-"},"content":" \"${courseId}\", SanitizationHelper.sanitizeForHtml(course.getId()),"},{"lineNumber":1036,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()));"},{"lineNumber":1037,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1038,"author":{"gitId":"-"},"content":""},{"lineNumber":1039,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1040,"author":{"gitId":"-"},"content":" * Generates the logs compilation email for the given {@code logs}."},{"lineNumber":1041,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1042,"author":{"gitId":"-"},"content":" public EmailWrapper generateCompiledLogsEmail(List\u003cErrorLogEntry\u003e logs) {"},{"lineNumber":1043,"author":{"gitId":"-"},"content":" StringBuilder emailBody \u003d new StringBuilder();"},{"lineNumber":1044,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c logs.size(); i++) {"},{"lineNumber":1045,"author":{"gitId":"-"},"content":" emailBody.append(generateSevereErrorLogLine(i, logs.get(i).getMessage(),"},{"lineNumber":1046,"author":{"gitId":"-"},"content":" logs.get(i).getSeverity(), logs.get(i).getTraceId()));"},{"lineNumber":1047,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1048,"author":{"gitId":"-"},"content":""},{"lineNumber":1049,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(Config.SUPPORT_EMAIL);"},{"lineNumber":1050,"author":{"gitId":"-"},"content":" email.setType(EmailType.SEVERE_LOGS_COMPILATION);"},{"lineNumber":1051,"author":{"gitId":"-"},"content":" email.setSubjectFromType(Config.APP_VERSION);"},{"lineNumber":1052,"author":{"gitId":"-"},"content":" email.setContent(emailBody.toString());"},{"lineNumber":1053,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":1054,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1055,"author":{"gitId":"-"},"content":""},{"lineNumber":1056,"author":{"gitId":"-"},"content":" private String generateSevereErrorLogLine(int index, String logMessage, String logLevel, String traceId) {"},{"lineNumber":1057,"author":{"gitId":"-"},"content":" return Templates.populateTemplate("},{"lineNumber":1058,"author":{"gitId":"-"},"content":" EmailTemplates.SEVERE_ERROR_LOG_LINE,"},{"lineNumber":1059,"author":{"gitId":"-"},"content":" \"${index}\", String.valueOf(index),"},{"lineNumber":1060,"author":{"gitId":"-"},"content":" \"${errorType}\", logLevel,"},{"lineNumber":1061,"author":{"gitId":"-"},"content":" \"${errorMessage}\", logMessage.replaceAll(\"\\n\", \"\\n\u003cbr\u003e\"),"},{"lineNumber":1062,"author":{"gitId":"-"},"content":" \"${traceId}\", traceId);"},{"lineNumber":1063,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1064,"author":{"gitId":"-"},"content":""},{"lineNumber":1065,"author":{"gitId":"-"},"content":" private EmailWrapper getEmptyEmailAddressedToEmail(String recipient) {"},{"lineNumber":1066,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d new EmailWrapper();"},{"lineNumber":1067,"author":{"gitId":"-"},"content":" email.setRecipient(recipient);"},{"lineNumber":1068,"author":{"gitId":"-"},"content":" email.setSenderEmail(Config.EMAIL_SENDEREMAIL);"},{"lineNumber":1069,"author":{"gitId":"-"},"content":" email.setSenderName(Config.EMAIL_SENDERNAME);"},{"lineNumber":1070,"author":{"gitId":"-"},"content":" email.setReplyTo(Config.EMAIL_REPLYTO);"},{"lineNumber":1071,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":1072,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1073,"author":{"gitId":"-"},"content":""},{"lineNumber":1074,"author":{"gitId":"-"},"content":" private String generateCoOwnersEmailsLine(String courseId) {"},{"lineNumber":1075,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e coOwners \u003d usersLogic.getCoOwnersForCourse(courseId);"},{"lineNumber":1076,"author":{"gitId":"-"},"content":" if (coOwners.isEmpty()) {"},{"lineNumber":1077,"author":{"gitId":"-"},"content":" return \"(No contactable instructors found)\";"},{"lineNumber":1078,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1079,"author":{"gitId":"-"},"content":" StringBuilder coOwnersEmailsLine \u003d new StringBuilder();"},{"lineNumber":1080,"author":{"gitId":"-"},"content":" for (Instructor coOwner : coOwners) {"},{"lineNumber":1081,"author":{"gitId":"-"},"content":" coOwnersEmailsLine"},{"lineNumber":1082,"author":{"gitId":"-"},"content":" .append(SanitizationHelper.sanitizeForHtml(coOwner.getName()))"},{"lineNumber":1083,"author":{"gitId":"-"},"content":" .append(\" (\")"},{"lineNumber":1084,"author":{"gitId":"-"},"content":" .append(coOwner.getEmail())"},{"lineNumber":1085,"author":{"gitId":"-"},"content":" .append(\"), \");"},{"lineNumber":1086,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1087,"author":{"gitId":"-"},"content":" return coOwnersEmailsLine.substring(0, coOwnersEmailsLine.length() - 2);"},{"lineNumber":1088,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1089,"author":{"gitId":"-"},"content":""},{"lineNumber":1090,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1091,"author":{"gitId":"-"},"content":" * Generates additional contact information for User Email Templates."},{"lineNumber":1092,"author":{"gitId":"-"},"content":" * @return The contact information after replacing the placeholders."},{"lineNumber":1093,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1094,"author":{"gitId":"-"},"content":" private String getAdditionalContactInformationFragment(Course course, boolean isInstructor) {"},{"lineNumber":1095,"author":{"gitId":"-"},"content":" String particulars \u003d isInstructor ? \"instructor data (e.g. wrong permission, misspelled name)\""},{"lineNumber":1096,"author":{"gitId":"-"},"content":" : \"team/student data (e.g. wrong team, misspelled name)\";"},{"lineNumber":1097,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.FRAGMENT_SESSION_ADDITIONAL_CONTACT_INFORMATION,"},{"lineNumber":1098,"author":{"gitId":"-"},"content":" \"${particulars}\", particulars,"},{"lineNumber":1099,"author":{"gitId":"-"},"content":" \"${coOwnersEmails}\", generateCoOwnersEmailsLine(course.getId()),"},{"lineNumber":1100,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":1101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1102,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":3,"-":1099}},{"path":"src/main/java/teammates/sqllogic/core/AccountRequestsLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountRequestsDb;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.AccountRequestSearchManager;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Handles operations related to account requests."},{"lineNumber":16,"author":{"gitId":"-"},"content":" *"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * @see AccountRequest"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * @see AccountRequestsDb"},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public final class AccountRequestsLogic {"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final AccountRequestsLogic instance \u003d new AccountRequestsLogic();"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" private AccountRequestsDb accountRequestDb;"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" private AccountRequestsLogic() {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" // prevent notification"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" public static AccountRequestsLogic inst() {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * Initialise dependencies for {@code AccountRequestLogic} object."},{"lineNumber":36,"author":{"gitId":"-"},"content":" */"},{"lineNumber":37,"author":{"gitId":"-"},"content":" public void initLogicDependencies(AccountRequestsDb accountRequestDb) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" this.accountRequestDb \u003d accountRequestDb;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" private AccountRequestSearchManager getSearchManager() {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" return accountRequestDb.getSearchManager();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":46,"author":{"gitId":"-"},"content":" * Creates or updates search document for the given account request."},{"lineNumber":47,"author":{"gitId":"-"},"content":" */"},{"lineNumber":48,"author":{"gitId":"-"},"content":" public void putDocument(AccountRequest accountRequest) throws SearchServiceException {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" getSearchManager().putDocument(accountRequest);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":53,"author":{"gitId":"-"},"content":" * Creates an account request."},{"lineNumber":54,"author":{"gitId":"-"},"content":" */"},{"lineNumber":55,"author":{"gitId":"-"},"content":" public AccountRequest createAccountRequest(AccountRequest accountRequest)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" return accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":61,"author":{"gitId":"-"},"content":" * Creates an account request."},{"lineNumber":62,"author":{"gitId":"-"},"content":" */"},{"lineNumber":63,"author":{"gitId":"-"},"content":" public AccountRequest createAccountRequest(String name, String email, String institute)"},{"lineNumber":64,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" AccountRequest toCreate \u003d new AccountRequest(email, name, institute);"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" return accountRequestDb.createAccountRequest(toCreate);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" }"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":71,"author":{"gitId":"-"},"content":" * Gets account request associated with the {@code email} and {@code institute}."},{"lineNumber":72,"author":{"gitId":"-"},"content":" */"},{"lineNumber":73,"author":{"gitId":"-"},"content":" public AccountRequest getAccountRequest(String email, String institute) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" return accountRequestDb.getAccountRequest(email, institute);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * Updates an account request."},{"lineNumber":80,"author":{"gitId":"-"},"content":" */"},{"lineNumber":81,"author":{"gitId":"-"},"content":" public AccountRequest updateAccountRequest(AccountRequest accountRequest)"},{"lineNumber":82,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" return accountRequestDb.updateAccountRequest(accountRequest);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" * Gets account request associated with the {@code regkey}."},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":" public AccountRequest getAccountRequestByRegistrationKey(String regkey) {"},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":" return accountRequestDb.getAccountRequestByRegistrationKey(regkey);"},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":94,"author":{"gitId":"-"},"content":" * Creates/resets the account request with the given email and institute such that it is not registered."},{"lineNumber":95,"author":{"gitId":"-"},"content":" */"},{"lineNumber":96,"author":{"gitId":"-"},"content":" public AccountRequest resetAccountRequest(String email, String institute)"},{"lineNumber":97,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InvalidParametersException {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d accountRequestDb.getAccountRequest(email, institute);"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" if (accountRequest \u003d\u003d null) {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Failed to reset since AccountRequest with \""},{"lineNumber":102,"author":{"gitId":"-"},"content":" + \"the given email and institute cannot be found.\");"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":" accountRequest.setRegisteredAt(null);"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" return accountRequestDb.updateAccountRequest(accountRequest);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":110,"author":{"gitId":"-"},"content":" * Deletes account request associated with the {@code email} and {@code institute}."},{"lineNumber":111,"author":{"gitId":"-"},"content":" *"},{"lineNumber":112,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if no account requests with the given email and institute to delete can be found.\u003c/p\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":" *"},{"lineNumber":114,"author":{"gitId":"-"},"content":" */"},{"lineNumber":115,"author":{"gitId":"-"},"content":" public void deleteAccountRequest(String email, String institute) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" AccountRequest toDelete \u003d accountRequestDb.getAccountRequest(email, institute);"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" accountRequestDb.deleteAccountRequest(toDelete);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":" * Searches for account requests in the whole system."},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" * @return A list of {@link AccountRequest} or {@code null} if no match found."},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" public List\u003cAccountRequest\u003e searchAccountRequestsInWholeSystem(String queryString)"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" throws SearchServiceException {"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":" return accountRequestDb.searchAccountRequestsInWholeSystem(queryString);"},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":132,"author":{"gitId":"-"},"content":" * Creates an or gets an account request."},{"lineNumber":133,"author":{"gitId":"-"},"content":" */"},{"lineNumber":134,"author":{"gitId":"-"},"content":" public AccountRequest createOrGetAccountRequestWithTransaction(String name, String email, String institute)"},{"lineNumber":135,"author":{"gitId":"-"},"content":" throws InvalidParametersException {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" AccountRequest toCreate \u003d new AccountRequest(email, name, institute);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":138,"author":{"gitId":"-"},"content":" AccountRequest accountRequest;"},{"lineNumber":139,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" accountRequest \u003d accountRequestDb.createAccountRequest(toCreate);"},{"lineNumber":141,"author":{"gitId":"-"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":142,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException ipe) {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" HibernateUtil.rollbackTransaction();"},{"lineNumber":144,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(ipe);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" } catch (EntityAlreadyExistsException eaee) {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" // Use existing account request"},{"lineNumber":147,"author":{"gitId":"-"},"content":" accountRequest \u003d getAccountRequest(email, institute);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":" return accountRequest;"},{"lineNumber":151,"author":{"gitId":"-"},"content":" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":12,"dishenggg":7,"-":133}},{"path":"src/main/java/teammates/sqllogic/core/AccountsLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountsDb;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":13,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":14,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.ReadNotification;"},{"lineNumber":17,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.User;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Handles operations related to accounts."},{"lineNumber":22,"author":{"gitId":"-"},"content":" *"},{"lineNumber":23,"author":{"gitId":"-"},"content":" * @see Account"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * @see AccountsDb"},{"lineNumber":25,"author":{"gitId":"-"},"content":" */"},{"lineNumber":26,"author":{"gitId":"-"},"content":"public final class AccountsLogic {"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final AccountsLogic instance \u003d new AccountsLogic();"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" private AccountsDb accountsDb;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private NotificationsLogic notificationsLogic;"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" private UsersLogic usersLogic;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"yuanxi1"},"content":" private CoursesLogic coursesLogic;"},{"lineNumber":37,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" private AccountsLogic() {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":" void initLogicDependencies(AccountsDb accountsDb, NotificationsLogic notificationsLogic,"},{"lineNumber":43,"author":{"gitId":"yuanxi1"},"content":" UsersLogic usersLogic, CoursesLogic coursesLogic) {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" this.accountsDb \u003d accountsDb;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" this.notificationsLogic \u003d notificationsLogic;"},{"lineNumber":46,"author":{"gitId":"-"},"content":" this.usersLogic \u003d usersLogic;"},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":" this.coursesLogic \u003d coursesLogic;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" }"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" public static AccountsLogic inst() {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Gets an account."},{"lineNumber":56,"author":{"gitId":"-"},"content":" */"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public Account getAccount(UUID id) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" assert id !\u003d null;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" return accountsDb.getAccount(id);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":63,"author":{"gitId":"-"},"content":" * Gets an account by googleId."},{"lineNumber":64,"author":{"gitId":"-"},"content":" */"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public Account getAccountForGoogleId(String googleId) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" return accountsDb.getAccountByGoogleId(googleId);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":72,"author":{"gitId":"-"},"content":" * Gets accounts associated with email."},{"lineNumber":73,"author":{"gitId":"-"},"content":" */"},{"lineNumber":74,"author":{"gitId":"-"},"content":" public List\u003cAccount\u003e getAccountsForEmail(String email) {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" return accountsDb.getAccountsByEmail(email);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":81,"author":{"gitId":"-"},"content":" * Creates an account."},{"lineNumber":82,"author":{"gitId":"-"},"content":" *"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * @return the created account"},{"lineNumber":84,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the account is not valid"},{"lineNumber":85,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the account already exists in the"},{"lineNumber":86,"author":{"gitId":"-"},"content":" * database."},{"lineNumber":87,"author":{"gitId":"-"},"content":" */"},{"lineNumber":88,"author":{"gitId":"-"},"content":" public Account createAccount(Account account)"},{"lineNumber":89,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" assert account !\u003d null;"},{"lineNumber":91,"author":{"gitId":"-"},"content":" return accountsDb.createAccount(account);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":95,"author":{"gitId":"-"},"content":" * Deletes account associated with the {@code googleId}."},{"lineNumber":96,"author":{"gitId":"-"},"content":" *"},{"lineNumber":97,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if the account doesn\u0027t exist.\u003c/p\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":" */"},{"lineNumber":99,"author":{"gitId":"-"},"content":" public void deleteAccount(String googleId) {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" Account account \u003d getAccountForGoogleId(googleId);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" accountsDb.deleteAccount(account);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":107,"author":{"gitId":"-"},"content":" * Deletes account and all users associated with the {@code googleId}."},{"lineNumber":108,"author":{"gitId":"-"},"content":" *"},{"lineNumber":109,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if the account doesn\u0027t exist.\u003c/p\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" */"},{"lineNumber":111,"author":{"gitId":"-"},"content":" public void deleteAccountCascade(String googleId) {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" List\u003cUser\u003e usersToDelete \u003d usersLogic.getAllUsersByGoogleId(googleId);"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" for (User user : usersToDelete) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" usersLogic.deleteUser(user);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" deleteAccount(googleId);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":124,"author":{"gitId":"-"},"content":" * Updates the readNotifications of an account."},{"lineNumber":125,"author":{"gitId":"-"},"content":" *"},{"lineNumber":126,"author":{"gitId":"-"},"content":" * @param googleId google ID of the user who read the notification."},{"lineNumber":127,"author":{"gitId":"-"},"content":" * @param notificationId ID of notification to be marked as read."},{"lineNumber":128,"author":{"gitId":"-"},"content":" * @param endTime the expiry time of the notification, i.e. notification"},{"lineNumber":129,"author":{"gitId":"-"},"content":" * will not be shown after this time."},{"lineNumber":130,"author":{"gitId":"-"},"content":" * @return the account with updated read notifications."},{"lineNumber":131,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the notification has expired."},{"lineNumber":132,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if account or notification does not"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * exist."},{"lineNumber":134,"author":{"gitId":"-"},"content":" */"},{"lineNumber":135,"author":{"gitId":"-"},"content":" public List\u003cUUID\u003e updateReadNotifications(String googleId, UUID notificationId, Instant endTime)"},{"lineNumber":136,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" Account account \u003d accountsDb.getAccountByGoogleId(googleId);"},{"lineNumber":138,"author":{"gitId":"-"},"content":" if (account \u003d\u003d null) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to update the read notifications of a non-existent account.\");"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" Notification notification \u003d notificationsLogic.getNotification(notificationId);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" if (notification \u003d\u003d null) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to mark as read a notification that does not exist.\");"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":" if (endTime.isBefore(Instant.now())) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(\"Trying to mark an expired notification as read.\");"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" ReadNotification readNotification \u003d new ReadNotification(account, notification);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" account.addReadNotification(readNotification);"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" return account.getReadNotifications().stream()"},{"lineNumber":154,"author":{"gitId":"-"},"content":" .map(n -\u003e n.getNotification().getId())"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":159,"author":{"gitId":"-"},"content":" * Gets ids of read notifications in an account."},{"lineNumber":160,"author":{"gitId":"-"},"content":" */"},{"lineNumber":161,"author":{"gitId":"-"},"content":" public List\u003cUUID\u003e getReadNotificationsId(String googleId) {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" return accountsDb.getAccountByGoogleId(googleId).getReadNotifications().stream()"},{"lineNumber":163,"author":{"gitId":"-"},"content":" .map(n -\u003e n.getNotification().getId())"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":167,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":168,"author":{"gitId":"yuanxi1"},"content":" * Joins the user as a student."},{"lineNumber":169,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":170,"author":{"gitId":"yuanxi1"},"content":" public Student joinCourseForStudent(String registrationKey, String googleId)"},{"lineNumber":171,"author":{"gitId":"yuanxi1"},"content":" throws InvalidParametersException, EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":172,"author":{"gitId":"yuanxi1"},"content":" Student student \u003d validateStudentJoinRequest(registrationKey, googleId);"},{"lineNumber":173,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":174,"author":{"gitId":"yuanxi1"},"content":" Account account \u003d accountsDb.getAccountByGoogleId(googleId);"},{"lineNumber":175,"author":{"gitId":"yuanxi1"},"content":" // Create an account if it doesn\u0027t exist"},{"lineNumber":176,"author":{"gitId":"yuanxi1"},"content":" if (account \u003d\u003d null) {"},{"lineNumber":177,"author":{"gitId":"yuanxi1"},"content":" account \u003d new Account(googleId, student.getName(), student.getEmail());"},{"lineNumber":178,"author":{"gitId":"yuanxi1"},"content":" createAccount(account);"},{"lineNumber":179,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":180,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":181,"author":{"gitId":"yuanxi1"},"content":" if (student.getAccount() \u003d\u003d null) {"},{"lineNumber":182,"author":{"gitId":"yuanxi1"},"content":" student.setAccount(account);"},{"lineNumber":183,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":184,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":185,"author":{"gitId":"yuanxi1"},"content":" return student;"},{"lineNumber":186,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":187,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":188,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":189,"author":{"gitId":"yuanxi1"},"content":" * Joins the user as an instructor."},{"lineNumber":190,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":191,"author":{"gitId":"yuanxi1"},"content":" public Instructor joinCourseForInstructor(String key, String googleId)"},{"lineNumber":192,"author":{"gitId":"yuanxi1"},"content":" throws InvalidParametersException, EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":193,"author":{"gitId":"yuanxi1"},"content":" Instructor instructor \u003d validateInstructorJoinRequest(key, googleId);"},{"lineNumber":194,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":195,"author":{"gitId":"yuanxi1"},"content":" Account account \u003d accountsDb.getAccountByGoogleId(googleId);"},{"lineNumber":196,"author":{"gitId":"yuanxi1"},"content":" if (account \u003d\u003d null) {"},{"lineNumber":197,"author":{"gitId":"yuanxi1"},"content":" try {"},{"lineNumber":198,"author":{"gitId":"yuanxi1"},"content":" account \u003d new Account(googleId, instructor.getName(), instructor.getEmail());"},{"lineNumber":199,"author":{"gitId":"yuanxi1"},"content":" createAccount(account);"},{"lineNumber":200,"author":{"gitId":"yuanxi1"},"content":" } catch (EntityAlreadyExistsException e) {"},{"lineNumber":201,"author":{"gitId":"yuanxi1"},"content":" assert false : \"Account already exists.\";"},{"lineNumber":202,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":203,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":204,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":205,"author":{"gitId":"yuanxi1"},"content":" instructor.setAccount(account);"},{"lineNumber":206,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":207,"author":{"gitId":"yuanxi1"},"content":" // Update the googleId of the student entity for the instructor which was created from sample data."},{"lineNumber":208,"author":{"gitId":"yuanxi1"},"content":" Student student \u003d usersLogic.getStudentForEmail(instructor.getCourseId(), instructor.getEmail());"},{"lineNumber":209,"author":{"gitId":"yuanxi1"},"content":" if (student !\u003d null) {"},{"lineNumber":210,"author":{"gitId":"yuanxi1"},"content":" student.setAccount(account);"},{"lineNumber":211,"author":{"gitId":"yuanxi1"},"content":" usersLogic.updateStudentCascade(student);"},{"lineNumber":212,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":213,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":214,"author":{"gitId":"yuanxi1"},"content":" return instructor;"},{"lineNumber":215,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":216,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":217,"author":{"gitId":"yuanxi1"},"content":" private Instructor validateInstructorJoinRequest(String registrationKey, String googleId)"},{"lineNumber":218,"author":{"gitId":"yuanxi1"},"content":" throws EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":219,"author":{"gitId":"yuanxi1"},"content":" Instructor instructorForKey \u003d usersLogic.getInstructorByRegistrationKey(registrationKey);"},{"lineNumber":220,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":221,"author":{"gitId":"yuanxi1"},"content":" if (instructorForKey \u003d\u003d null) {"},{"lineNumber":222,"author":{"gitId":"yuanxi1"},"content":" throw new EntityDoesNotExistException(\"No instructor with given registration key: \" + registrationKey);"},{"lineNumber":223,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":224,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":225,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d coursesLogic.getCourse(instructorForKey.getCourseId());"},{"lineNumber":226,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":227,"author":{"gitId":"yuanxi1"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":228,"author":{"gitId":"yuanxi1"},"content":" throw new EntityDoesNotExistException(\"Course with id \" + instructorForKey.getCourseId() + \" does not exist\");"},{"lineNumber":229,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":230,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":231,"author":{"gitId":"yuanxi1"},"content":" if (course.isCourseDeleted()) {"},{"lineNumber":232,"author":{"gitId":"yuanxi1"},"content":" throw new EntityDoesNotExistException(\"The course you are trying to join has been deleted by an instructor\");"},{"lineNumber":233,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":234,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":235,"author":{"gitId":"yuanxi1"},"content":" if (instructorForKey.isRegistered()) {"},{"lineNumber":236,"author":{"gitId":"yuanxi1"},"content":" if (instructorForKey.getGoogleId().equals(googleId)) {"},{"lineNumber":237,"author":{"gitId":"yuanxi1"},"content":" Account existingAccount \u003d accountsDb.getAccountByGoogleId(googleId);"},{"lineNumber":238,"author":{"gitId":"yuanxi1"},"content":" if (existingAccount !\u003d null) {"},{"lineNumber":239,"author":{"gitId":"yuanxi1"},"content":" throw new EntityAlreadyExistsException(\"Instructor has already joined course\");"},{"lineNumber":240,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":241,"author":{"gitId":"yuanxi1"},"content":" } else {"},{"lineNumber":242,"author":{"gitId":"yuanxi1"},"content":" throw new EntityAlreadyExistsException(\"Instructor has already joined course\");"},{"lineNumber":243,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":244,"author":{"gitId":"yuanxi1"},"content":" } else {"},{"lineNumber":245,"author":{"gitId":"yuanxi1"},"content":" // Check if this Google ID has already joined this course"},{"lineNumber":246,"author":{"gitId":"yuanxi1"},"content":" Instructor existingInstructor \u003d"},{"lineNumber":247,"author":{"gitId":"yuanxi1"},"content":" usersLogic.getInstructorByGoogleId(instructorForKey.getCourseId(), googleId);"},{"lineNumber":248,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":249,"author":{"gitId":"yuanxi1"},"content":" if (existingInstructor !\u003d null) {"},{"lineNumber":250,"author":{"gitId":"yuanxi1"},"content":" throw new EntityAlreadyExistsException(\"Instructor has already joined course\");"},{"lineNumber":251,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":252,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":253,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":254,"author":{"gitId":"yuanxi1"},"content":" return instructorForKey;"},{"lineNumber":255,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":256,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":257,"author":{"gitId":"yuanxi1"},"content":" private Student validateStudentJoinRequest(String registrationKey, String googleId)"},{"lineNumber":258,"author":{"gitId":"yuanxi1"},"content":" throws EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":259,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":260,"author":{"gitId":"yuanxi1"},"content":" Student studentRole \u003d usersLogic.getStudentByRegistrationKey(registrationKey);"},{"lineNumber":261,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":262,"author":{"gitId":"yuanxi1"},"content":" if (studentRole \u003d\u003d null) {"},{"lineNumber":263,"author":{"gitId":"yuanxi1"},"content":" throw new EntityDoesNotExistException(\"No student with given registration key: \" + registrationKey);"},{"lineNumber":264,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":265,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":266,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d coursesLogic.getCourse(studentRole.getCourseId());"},{"lineNumber":267,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":268,"author":{"gitId":"yuanxi1"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":269,"author":{"gitId":"yuanxi1"},"content":" throw new EntityDoesNotExistException(\"Course with id \" + studentRole.getCourseId() + \" does not exist\");"},{"lineNumber":270,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":271,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":272,"author":{"gitId":"yuanxi1"},"content":" if (course.isCourseDeleted()) {"},{"lineNumber":273,"author":{"gitId":"yuanxi1"},"content":" throw new EntityDoesNotExistException(\"The course you are trying to join has been deleted by an instructor\");"},{"lineNumber":274,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":275,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":276,"author":{"gitId":"yuanxi1"},"content":" if (studentRole.isRegistered()) {"},{"lineNumber":277,"author":{"gitId":"yuanxi1"},"content":" throw new EntityAlreadyExistsException(\"Student has already joined course\");"},{"lineNumber":278,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":279,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":280,"author":{"gitId":"yuanxi1"},"content":" // Check if this Google ID has already joined this course"},{"lineNumber":281,"author":{"gitId":"yuanxi1"},"content":" Student existingStudent \u003d"},{"lineNumber":282,"author":{"gitId":"yuanxi1"},"content":" usersLogic.getStudentByGoogleId(studentRole.getCourseId(), googleId);"},{"lineNumber":283,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":284,"author":{"gitId":"yuanxi1"},"content":" if (existingStudent !\u003d null) {"},{"lineNumber":285,"author":{"gitId":"yuanxi1"},"content":" throw new EntityAlreadyExistsException(\"Student has already joined course\");"},{"lineNumber":286,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":287,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":288,"author":{"gitId":"yuanxi1"},"content":" return studentRole;"},{"lineNumber":289,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":290,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":132,"-":158}},{"path":"src/main/java/teammates/sqllogic/core/CoursesLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Comparator;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.CoursesDb;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Handles operations related to courses."},{"lineNumber":23,"author":{"gitId":"-"},"content":" *"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * @see Course"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * @see CoursesDb"},{"lineNumber":26,"author":{"gitId":"-"},"content":" */"},{"lineNumber":27,"author":{"gitId":"-"},"content":"public final class CoursesLogic {"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final CoursesLogic instance \u003d new CoursesLogic();"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" private CoursesDb coursesDb;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private FeedbackSessionsLogic fsLogic;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" private UsersLogic usersLogic;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" private CoursesLogic() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" public static CoursesLogic inst() {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" void initLogicDependencies(CoursesDb coursesDb, FeedbackSessionsLogic fsLogic, UsersLogic usersLogic) {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" this.coursesDb \u003d coursesDb;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" this.fsLogic \u003d fsLogic;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" this.usersLogic \u003d usersLogic;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":52,"author":{"gitId":"-"},"content":" * Creates a course."},{"lineNumber":53,"author":{"gitId":"-"},"content":" *"},{"lineNumber":54,"author":{"gitId":"-"},"content":" * @return the created course"},{"lineNumber":55,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the course is not valid"},{"lineNumber":56,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the course already exists in the"},{"lineNumber":57,"author":{"gitId":"-"},"content":" * database."},{"lineNumber":58,"author":{"gitId":"-"},"content":" */"},{"lineNumber":59,"author":{"gitId":"-"},"content":" public Course createCourse(Course course) throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return coursesDb.createCourse(course);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":64,"author":{"gitId":"-"},"content":" * Gets a course by course id."},{"lineNumber":65,"author":{"gitId":"-"},"content":" *"},{"lineNumber":66,"author":{"gitId":"-"},"content":" * @param courseId of course."},{"lineNumber":67,"author":{"gitId":"-"},"content":" * @return the specified course."},{"lineNumber":68,"author":{"gitId":"-"},"content":" */"},{"lineNumber":69,"author":{"gitId":"-"},"content":" public Course getCourse(String courseId) {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" return coursesDb.getCourse(courseId);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":74,"author":{"gitId":"-"},"content":" * Returns a list of {@link Course} for all courses a given student is enrolled in."},{"lineNumber":75,"author":{"gitId":"-"},"content":" *"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * @param googleId The Google ID of the student"},{"lineNumber":77,"author":{"gitId":"-"},"content":" */"},{"lineNumber":78,"author":{"gitId":"-"},"content":" public List\u003cCourse\u003e getCoursesForStudentAccount(String googleId) {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students \u003d usersLogic.getAllStudentsByGoogleId(googleId);"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" return students"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .map(Student::getCourse)"},{"lineNumber":84,"author":{"gitId":"-"},"content":" .filter(course -\u003e !course.isCourseDeleted())"},{"lineNumber":85,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":89,"author":{"gitId":"-"},"content":" * Returns a list of {@link Course} for all courses for a given list of instructors"},{"lineNumber":90,"author":{"gitId":"-"},"content":" * except for courses in Recycle Bin."},{"lineNumber":91,"author":{"gitId":"-"},"content":" */"},{"lineNumber":92,"author":{"gitId":"-"},"content":" public List\u003cCourse\u003e getCoursesForInstructors(List\u003cInstructor\u003e instructors) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" assert instructors !\u003d null;"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" return instructors"},{"lineNumber":96,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":97,"author":{"gitId":"-"},"content":" .map(Instructor::getCourse)"},{"lineNumber":98,"author":{"gitId":"-"},"content":" .filter(course -\u003e !course.isCourseDeleted())"},{"lineNumber":99,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":103,"author":{"gitId":"-"},"content":" * Returns a list of soft-deleted {@link Course} for a given list of instructors."},{"lineNumber":104,"author":{"gitId":"-"},"content":" */"},{"lineNumber":105,"author":{"gitId":"-"},"content":" public List\u003cCourse\u003e getSoftDeletedCoursesForInstructors(List\u003cInstructor\u003e instructors) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" assert instructors !\u003d null;"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" return instructors"},{"lineNumber":109,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .map(Instructor::getCourse)"},{"lineNumber":111,"author":{"gitId":"-"},"content":" .filter(course -\u003e course.isCourseDeleted())"},{"lineNumber":112,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * Deletes a course and cascade its students, instructors, sessions, responses, deadline extensions and comments."},{"lineNumber":117,"author":{"gitId":"-"},"content":" * Fails silently if no such course."},{"lineNumber":118,"author":{"gitId":"-"},"content":" */"},{"lineNumber":119,"author":{"gitId":"-"},"content":" public void deleteCourseCascade(String courseId) {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" Course course \u003d coursesDb.getCourse(courseId);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" usersLogic.deleteStudentsInCourseCascade(courseId);"},{"lineNumber":126,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e feedbackSessions \u003d fsLogic.getFeedbackSessionsForCourse(courseId);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" feedbackSessions.forEach(feedbackSession -\u003e {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" fsLogic.deleteFeedbackSessionCascade(feedbackSession.getName(), courseId);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" });"},{"lineNumber":130,"author":{"gitId":"-"},"content":" coursesDb.deleteSectionsByCourseId(courseId);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors \u003d usersLogic.getInstructorsForCourse(courseId);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" instructors.forEach(instructor -\u003e {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" usersLogic.deleteInstructorCascade(courseId, instructor.getEmail());"},{"lineNumber":134,"author":{"gitId":"-"},"content":" });"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" coursesDb.deleteCourse(course);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":140,"author":{"gitId":"-"},"content":" * Moves a course to Recycle Bin by its given corresponding ID."},{"lineNumber":141,"author":{"gitId":"-"},"content":" *"},{"lineNumber":142,"author":{"gitId":"-"},"content":" * @return the time when the course is moved to the recycle bin."},{"lineNumber":143,"author":{"gitId":"-"},"content":" */"},{"lineNumber":144,"author":{"gitId":"-"},"content":" public Course moveCourseToRecycleBin(String courseId) throws EntityDoesNotExistException {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" Course course \u003d coursesDb.getCourse(courseId);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to move a non-existent course to recycling bin.\");"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":151,"author":{"gitId":"-"},"content":" course.setDeletedAt(now);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" return course;"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":156,"author":{"gitId":"-"},"content":" * Restores a course from Recycle Bin by its given corresponding ID."},{"lineNumber":157,"author":{"gitId":"-"},"content":" */"},{"lineNumber":158,"author":{"gitId":"-"},"content":" public void restoreCourseFromRecycleBin(String courseId) throws EntityDoesNotExistException {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" Course course \u003d coursesDb.getCourse(courseId);"},{"lineNumber":160,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to restore a non-existent course from recycling bin.\");"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" course.setDeletedAt(null);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":168,"author":{"gitId":"-"},"content":" * Updates a course."},{"lineNumber":169,"author":{"gitId":"-"},"content":" *"},{"lineNumber":170,"author":{"gitId":"-"},"content":" * @return updated course"},{"lineNumber":171,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":172,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the course cannot be found"},{"lineNumber":173,"author":{"gitId":"-"},"content":" */"},{"lineNumber":174,"author":{"gitId":"-"},"content":" public Course updateCourse(String courseId, String name, String timezone)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" Course course \u003d getCourse(courseId);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT + Course.class);"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":" course.setName(name);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" course.setTimeZone(timezone);"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" if (!course.isValid()) {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(course.getInvalidityInfo());"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" return course;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":191,"author":{"gitId":"-"},"content":" * Creates a section."},{"lineNumber":192,"author":{"gitId":"-"},"content":" */"},{"lineNumber":193,"author":{"gitId":"-"},"content":" public Section createSection(Section section) throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":194,"author":{"gitId":"-"},"content":" return coursesDb.createSection(section);"},{"lineNumber":195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":198,"author":{"gitId":"-"},"content":" * Get section by {@code courseId} and {@code teamName}."},{"lineNumber":199,"author":{"gitId":"-"},"content":" */"},{"lineNumber":200,"author":{"gitId":"-"},"content":" public Section getSectionByCourseIdAndTeam(String courseId, String teamName) {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" assert teamName !\u003d null;"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":" return coursesDb.getSectionByCourseIdAndTeam(courseId, teamName);"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":208,"author":{"gitId":"-"},"content":" * Gets a list of section names for the given {@code courseId}."},{"lineNumber":209,"author":{"gitId":"-"},"content":" */"},{"lineNumber":210,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getSectionNamesForCourse(String courseId) throws EntityDoesNotExistException {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" Course course \u003d getCourse(courseId);"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to get section names for a non-existent course.\");"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" return course.getSections()"},{"lineNumber":219,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":220,"author":{"gitId":"-"},"content":" .map(section -\u003e section.getName())"},{"lineNumber":221,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":222,"author":{"gitId":"-"},"content":" }"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":225,"author":{"gitId":"yuanxi1"},"content":" * Gets the institute of the course."},{"lineNumber":226,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":227,"author":{"gitId":"yuanxi1"},"content":" public String getCourseInstitute(String courseId) {"},{"lineNumber":228,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d getCourse(courseId);"},{"lineNumber":229,"author":{"gitId":"yuanxi1"},"content":" assert course !\u003d null : \"Trying to getCourseInstitute for inexistent course with id \" + courseId;"},{"lineNumber":230,"author":{"gitId":"yuanxi1"},"content":" return course.getInstitute();"},{"lineNumber":231,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":232,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":234,"author":{"gitId":"-"},"content":" * Creates a team."},{"lineNumber":235,"author":{"gitId":"-"},"content":" */"},{"lineNumber":236,"author":{"gitId":"-"},"content":" public Team createTeam(Team team) throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" return coursesDb.createTeam(team);"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":241,"author":{"gitId":"-"},"content":" * Returns teams for a particular section."},{"lineNumber":242,"author":{"gitId":"-"},"content":" */"},{"lineNumber":243,"author":{"gitId":"-"},"content":" public List\u003cTeam\u003e getTeamsForSection(Section section) {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" return coursesDb.getTeamsForSection(section);"},{"lineNumber":245,"author":{"gitId":"-"},"content":" }"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":248,"author":{"gitId":"-"},"content":" * Returns teams for a course."},{"lineNumber":249,"author":{"gitId":"-"},"content":" */"},{"lineNumber":250,"author":{"gitId":"-"},"content":" public List\u003cTeam\u003e getTeamsForCourse(String courseId) {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" return coursesDb.getTeamsForCourse(courseId);"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":255,"author":{"gitId":"-"},"content":" * Sorts the courses list alphabetically by id."},{"lineNumber":256,"author":{"gitId":"-"},"content":" */"},{"lineNumber":257,"author":{"gitId":"-"},"content":" public static void sortById(List\u003cCourse\u003e courses) {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" courses.sort(Comparator.comparing(Course::getId));"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":9,"-":251}},{"path":"src/main/java/teammates/sqllogic/core/DataBundleLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.Collection;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.ReadNotification;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.User;"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * Handles operations related to data bundles."},{"lineNumber":32,"author":{"gitId":"-"},"content":" *"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * @see DataBundle"},{"lineNumber":34,"author":{"gitId":"-"},"content":" */"},{"lineNumber":35,"author":{"gitId":"-"},"content":"public final class DataBundleLogic {"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final DataBundleLogic instance \u003d new DataBundleLogic();"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" private AccountsLogic accountsLogic;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private AccountRequestsLogic accountRequestsLogic;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private CoursesLogic coursesLogic;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private DeadlineExtensionsLogic deadlineExtensionsLogic;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private FeedbackSessionsLogic fsLogic;"},{"lineNumber":44,"author":{"gitId":"-"},"content":" private FeedbackQuestionsLogic fqLogic;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private FeedbackResponsesLogic frLogic;"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private FeedbackResponseCommentsLogic frcLogic;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" private NotificationsLogic notificationsLogic;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private UsersLogic usersLogic;"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" private DataBundleLogic() {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" public static DataBundleLogic inst() {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" void initLogicDependencies(AccountsLogic accountsLogic, AccountRequestsLogic accountRequestsLogic,"},{"lineNumber":59,"author":{"gitId":"-"},"content":" CoursesLogic coursesLogic,"},{"lineNumber":60,"author":{"gitId":"-"},"content":" DeadlineExtensionsLogic deadlineExtensionsLogic, FeedbackSessionsLogic fsLogic,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" FeedbackQuestionsLogic fqLogic, FeedbackResponsesLogic frLogic,"},{"lineNumber":62,"author":{"gitId":"-"},"content":" FeedbackResponseCommentsLogic frcLogic,"},{"lineNumber":63,"author":{"gitId":"-"},"content":" NotificationsLogic notificationsLogic, UsersLogic usersLogic) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" this.accountsLogic \u003d accountsLogic;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" this.accountRequestsLogic \u003d accountRequestsLogic;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" this.coursesLogic \u003d coursesLogic;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" this.deadlineExtensionsLogic \u003d deadlineExtensionsLogic;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" this.fsLogic \u003d fsLogic;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.fqLogic \u003d fqLogic;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" this.frLogic \u003d frLogic;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" this.frcLogic \u003d frcLogic;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" this.notificationsLogic \u003d notificationsLogic;"},{"lineNumber":73,"author":{"gitId":"-"},"content":" this.usersLogic \u003d usersLogic;"},{"lineNumber":74,"author":{"gitId":"-"},"content":" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":77,"author":{"gitId":"-"},"content":" * Deserialize JSON into a data bundle."},{"lineNumber":78,"author":{"gitId":"-"},"content":" *"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * \u003cp\u003eNOTE: apart from for Course, ids used in the jsonString may be any valid UUID"},{"lineNumber":80,"author":{"gitId":"-"},"content":" * and are used only to link entities together. They will be replaced by a random"},{"lineNumber":81,"author":{"gitId":"-"},"content":" * UUID when deserialized and hence do not need to be checked if they exist in the"},{"lineNumber":82,"author":{"gitId":"-"},"content":" * database previously.\u003c/p\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" *"},{"lineNumber":84,"author":{"gitId":"-"},"content":" * @param jsonString containing entities to persist at once to the database."},{"lineNumber":85,"author":{"gitId":"-"},"content":" * CourseID must be a valid UUID not currently in use."},{"lineNumber":86,"author":{"gitId":"-"},"content":" * For other entities, replaces the given ids with randomly generated UUIDs."},{"lineNumber":87,"author":{"gitId":"-"},"content":" * @return newly created DataBundle"},{"lineNumber":88,"author":{"gitId":"-"},"content":" */"},{"lineNumber":89,"author":{"gitId":"-"},"content":" public static SqlDataBundle deserializeDataBundle(String jsonString) {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" SqlDataBundle dataBundle \u003d JsonUtils.fromJson(jsonString, SqlDataBundle.class);"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" Collection\u003cAccount\u003e accounts \u003d dataBundle.accounts.values();"},{"lineNumber":93,"author":{"gitId":"-"},"content":" Collection\u003cAccountRequest\u003e accountRequests \u003d dataBundle.accountRequests.values();"},{"lineNumber":94,"author":{"gitId":"-"},"content":" Collection\u003cCourse\u003e courses \u003d dataBundle.courses.values();"},{"lineNumber":95,"author":{"gitId":"-"},"content":" Collection\u003cSection\u003e sections \u003d dataBundle.sections.values();"},{"lineNumber":96,"author":{"gitId":"-"},"content":" Collection\u003cTeam\u003e teams \u003d dataBundle.teams.values();"},{"lineNumber":97,"author":{"gitId":"-"},"content":" Collection\u003cInstructor\u003e instructors \u003d dataBundle.instructors.values();"},{"lineNumber":98,"author":{"gitId":"-"},"content":" Collection\u003cStudent\u003e students \u003d dataBundle.students.values();"},{"lineNumber":99,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackSession\u003e sessions \u003d dataBundle.feedbackSessions.values();"},{"lineNumber":100,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackQuestion\u003e questions \u003d dataBundle.feedbackQuestions.values();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackResponse\u003e responses \u003d dataBundle.feedbackResponses.values();"},{"lineNumber":102,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackResponseComment\u003e responseComments \u003d dataBundle.feedbackResponseComments.values();"},{"lineNumber":103,"author":{"gitId":"-"},"content":" Collection\u003cDeadlineExtension\u003e deadlineExtensions \u003d dataBundle.deadlineExtensions.values();"},{"lineNumber":104,"author":{"gitId":"-"},"content":" Collection\u003cNotification\u003e notifications \u003d dataBundle.notifications.values();"},{"lineNumber":105,"author":{"gitId":"-"},"content":" Collection\u003cReadNotification\u003e readNotifications \u003d dataBundle.readNotifications.values();"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" // Mapping of IDs or placeholder IDs to actual entity"},{"lineNumber":108,"author":{"gitId":"-"},"content":" Map\u003cString, Course\u003e coursesMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":109,"author":{"gitId":"-"},"content":" Map\u003cUUID, Section\u003e sectionsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":110,"author":{"gitId":"-"},"content":" Map\u003cUUID, Team\u003e teamsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":111,"author":{"gitId":"-"},"content":" Map\u003cUUID, FeedbackSession\u003e sessionsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" Map\u003cUUID, FeedbackQuestion\u003e questionMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":113,"author":{"gitId":"-"},"content":" Map\u003cUUID, FeedbackResponse\u003e responseMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":114,"author":{"gitId":"-"},"content":" Map\u003cUUID, Account\u003e accountsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":115,"author":{"gitId":"-"},"content":" Map\u003cUUID, User\u003e usersMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":116,"author":{"gitId":"-"},"content":" Map\u003cUUID, Notification\u003e notificationsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" // Replace any placeholder IDs with newly generated UUIDs"},{"lineNumber":119,"author":{"gitId":"-"},"content":" // Store mapping of placeholder ID to actual entity to keep track of"},{"lineNumber":120,"author":{"gitId":"-"},"content":" // associations between entities"},{"lineNumber":121,"author":{"gitId":"-"},"content":" for (AccountRequest accountRequest : accountRequests) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" accountRequest.setId(UUID.randomUUID());"},{"lineNumber":123,"author":{"gitId":"-"},"content":" accountRequest.generateNewRegistrationKey();"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" for (Course course : courses) {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" coursesMap.put(course.getId(), course);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" for (Section section : sections) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d section.getId();"},{"lineNumber":132,"author":{"gitId":"-"},"content":" section.setId(UUID.randomUUID());"},{"lineNumber":133,"author":{"gitId":"-"},"content":" sectionsMap.put(placeholderId, section);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" Course course \u003d coursesMap.get(section.getCourse().getId());"},{"lineNumber":135,"author":{"gitId":"-"},"content":" section.setCourse(course);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" for (Team team : teams) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d team.getId();"},{"lineNumber":140,"author":{"gitId":"-"},"content":" team.setId(UUID.randomUUID());"},{"lineNumber":141,"author":{"gitId":"-"},"content":" teamsMap.put(placeholderId, team);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" Section section \u003d sectionsMap.get(team.getSection().getId());"},{"lineNumber":143,"author":{"gitId":"-"},"content":" team.setSection(section);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d session.getId();"},{"lineNumber":148,"author":{"gitId":"-"},"content":" session.setId(UUID.randomUUID());"},{"lineNumber":149,"author":{"gitId":"-"},"content":" sessionsMap.put(placeholderId, session);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" Course course \u003d coursesMap.get(session.getCourse().getId());"},{"lineNumber":151,"author":{"gitId":"-"},"content":" session.setCourse(course);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" for (FeedbackQuestion question : questions) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d question.getId();"},{"lineNumber":156,"author":{"gitId":"-"},"content":" question.setId(UUID.randomUUID());"},{"lineNumber":157,"author":{"gitId":"-"},"content":" questionMap.put(placeholderId, question);"},{"lineNumber":158,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d sessionsMap.get(question.getFeedbackSession().getId());"},{"lineNumber":159,"author":{"gitId":"-"},"content":" question.setFeedbackSession(fs);"},{"lineNumber":160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d response.getId();"},{"lineNumber":164,"author":{"gitId":"-"},"content":" response.setId(UUID.randomUUID());"},{"lineNumber":165,"author":{"gitId":"-"},"content":" responseMap.put(placeholderId, response);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" FeedbackQuestion fq \u003d questionMap.get(response.getFeedbackQuestion().getId());"},{"lineNumber":167,"author":{"gitId":"-"},"content":" Section giverSection \u003d sectionsMap.get(response.getGiverSection().getId());"},{"lineNumber":168,"author":{"gitId":"-"},"content":" Section recipientSection \u003d response.getRecipientSection() !\u003d null"},{"lineNumber":169,"author":{"gitId":"-"},"content":" ? sectionsMap.get(response.getRecipientSection().getId()) : null;"},{"lineNumber":170,"author":{"gitId":"-"},"content":" response.setFeedbackQuestion(fq);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" response.setGiverSection(giverSection);"},{"lineNumber":172,"author":{"gitId":"-"},"content":" response.setRecipientSection(recipientSection);"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" for (FeedbackResponseComment responseComment : responseComments) {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d responseMap.get(responseComment.getFeedbackResponse().getId());"},{"lineNumber":177,"author":{"gitId":"-"},"content":" Section giverSection \u003d sectionsMap.get(responseComment.getGiverSection().getId());"},{"lineNumber":178,"author":{"gitId":"-"},"content":" Section recipientSection \u003d sectionsMap.get(responseComment.getRecipientSection().getId());"},{"lineNumber":179,"author":{"gitId":"-"},"content":" responseComment.setFeedbackResponse(fr);"},{"lineNumber":180,"author":{"gitId":"-"},"content":" responseComment.setGiverSection(giverSection);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" responseComment.setRecipientSection(recipientSection);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" for (Account account : accounts) {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d account.getId();"},{"lineNumber":186,"author":{"gitId":"-"},"content":" account.setId(UUID.randomUUID());"},{"lineNumber":187,"author":{"gitId":"-"},"content":" accountsMap.put(placeholderId, account);"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d instructor.getId();"},{"lineNumber":192,"author":{"gitId":"-"},"content":" instructor.setId(UUID.randomUUID());"},{"lineNumber":193,"author":{"gitId":"-"},"content":" usersMap.put(placeholderId, instructor);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" Course course \u003d coursesMap.get(instructor.getCourse().getId());"},{"lineNumber":195,"author":{"gitId":"-"},"content":" instructor.setCourse(course);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" if (instructor.getAccount() !\u003d null) {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" Account account \u003d accountsMap.get(instructor.getAccount().getId());"},{"lineNumber":198,"author":{"gitId":"-"},"content":" instructor.setAccount(account);"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":" instructor.generateNewRegistrationKey();"},{"lineNumber":201,"author":{"gitId":"-"},"content":" }"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" for (Student student : students) {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d student.getId();"},{"lineNumber":205,"author":{"gitId":"-"},"content":" student.setId(UUID.randomUUID());"},{"lineNumber":206,"author":{"gitId":"-"},"content":" usersMap.put(placeholderId, student);"},{"lineNumber":207,"author":{"gitId":"-"},"content":" Course course \u003d coursesMap.get(student.getCourse().getId());"},{"lineNumber":208,"author":{"gitId":"-"},"content":" student.setCourse(course);"},{"lineNumber":209,"author":{"gitId":"-"},"content":" Team team \u003d teamsMap.get(student.getTeam().getId());"},{"lineNumber":210,"author":{"gitId":"-"},"content":" student.setTeam(team);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" if (student.getAccount() !\u003d null) {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" Account account \u003d accountsMap.get(student.getAccount().getId());"},{"lineNumber":213,"author":{"gitId":"-"},"content":" student.setAccount(account);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":" student.generateNewRegistrationKey();"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" for (Notification notification : notifications) {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d notification.getId();"},{"lineNumber":220,"author":{"gitId":"-"},"content":" notification.setId(UUID.randomUUID());"},{"lineNumber":221,"author":{"gitId":"-"},"content":" notificationsMap.put(placeholderId, notification);"},{"lineNumber":222,"author":{"gitId":"-"},"content":" }"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":" for (ReadNotification readNotification : readNotifications) {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" readNotification.setId(UUID.randomUUID());"},{"lineNumber":226,"author":{"gitId":"-"},"content":" Account account \u003d accountsMap.get(readNotification.getAccount().getId());"},{"lineNumber":227,"author":{"gitId":"-"},"content":" readNotification.setAccount(account);"},{"lineNumber":228,"author":{"gitId":"-"},"content":" account.addReadNotification(readNotification);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" Notification notification \u003d notificationsMap.get(readNotification.getNotification().getId());"},{"lineNumber":230,"author":{"gitId":"-"},"content":" readNotification.setNotification(notification);"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" for (DeadlineExtension deadlineExtension : deadlineExtensions) {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" deadlineExtension.setId(UUID.randomUUID());"},{"lineNumber":235,"author":{"gitId":"-"},"content":" FeedbackSession session \u003d sessionsMap.get(deadlineExtension.getFeedbackSession().getId());"},{"lineNumber":236,"author":{"gitId":"-"},"content":" deadlineExtension.setFeedbackSession(session);"},{"lineNumber":237,"author":{"gitId":"-"},"content":" User user \u003d usersMap.get(deadlineExtension.getUser().getId());"},{"lineNumber":238,"author":{"gitId":"-"},"content":" deadlineExtension.setUser(user);"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" return dataBundle;"},{"lineNumber":242,"author":{"gitId":"-"},"content":" }"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":245,"author":{"gitId":"-"},"content":" * Persists data in the given {@link DataBundle} to the database."},{"lineNumber":246,"author":{"gitId":"-"},"content":" *"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if invalid data is encountered."},{"lineNumber":248,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if an entity was not found."},{"lineNumber":249,"author":{"gitId":"-"},"content":" * (ReadNotification requires Account and Notification to be created)"},{"lineNumber":250,"author":{"gitId":"-"},"content":" */"},{"lineNumber":251,"author":{"gitId":"-"},"content":" public SqlDataBundle persistDataBundle(SqlDataBundle dataBundle)"},{"lineNumber":252,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException, EntityDoesNotExistException {"},{"lineNumber":253,"author":{"gitId":"-"},"content":" if (dataBundle \u003d\u003d null) {"},{"lineNumber":254,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(\"Null data bundle\");"},{"lineNumber":255,"author":{"gitId":"-"},"content":" }"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"yuanxi1"},"content":" linkEntities(dataBundle);"},{"lineNumber":258,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" Collection\u003cAccount\u003e accounts \u003d dataBundle.accounts.values();"},{"lineNumber":260,"author":{"gitId":"-"},"content":" Collection\u003cAccountRequest\u003e accountRequests \u003d dataBundle.accountRequests.values();"},{"lineNumber":261,"author":{"gitId":"-"},"content":" Collection\u003cCourse\u003e courses \u003d dataBundle.courses.values();"},{"lineNumber":262,"author":{"gitId":"-"},"content":" Collection\u003cSection\u003e sections \u003d dataBundle.sections.values();"},{"lineNumber":263,"author":{"gitId":"-"},"content":" Collection\u003cTeam\u003e teams \u003d dataBundle.teams.values();"},{"lineNumber":264,"author":{"gitId":"-"},"content":" Collection\u003cInstructor\u003e instructors \u003d dataBundle.instructors.values();"},{"lineNumber":265,"author":{"gitId":"-"},"content":" Collection\u003cStudent\u003e students \u003d dataBundle.students.values();"},{"lineNumber":266,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackSession\u003e sessions \u003d dataBundle.feedbackSessions.values();"},{"lineNumber":267,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackQuestion\u003e questions \u003d dataBundle.feedbackQuestions.values();"},{"lineNumber":268,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackResponse\u003e responses \u003d dataBundle.feedbackResponses.values();"},{"lineNumber":269,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackResponseComment\u003e responseComments \u003d dataBundle.feedbackResponseComments.values();"},{"lineNumber":270,"author":{"gitId":"-"},"content":" Collection\u003cDeadlineExtension\u003e deadlineExtensions \u003d dataBundle.deadlineExtensions.values();"},{"lineNumber":271,"author":{"gitId":"-"},"content":" Collection\u003cNotification\u003e notifications \u003d dataBundle.notifications.values();"},{"lineNumber":272,"author":{"gitId":"-"},"content":" Collection\u003cReadNotification\u003e readNotifications \u003d dataBundle.readNotifications.values();"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":" for (AccountRequest accountRequest : accountRequests) {"},{"lineNumber":275,"author":{"gitId":"-"},"content":" accountRequestsLogic.createAccountRequest(accountRequest);"},{"lineNumber":276,"author":{"gitId":"-"},"content":" }"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":" for (Notification notification : notifications) {"},{"lineNumber":279,"author":{"gitId":"-"},"content":" notificationsLogic.createNotification(notification);"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" for (Course course : courses) {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" coursesLogic.createCourse(course);"},{"lineNumber":284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" for (Section section : sections) {"},{"lineNumber":287,"author":{"gitId":"-"},"content":" coursesLogic.createSection(section);"},{"lineNumber":288,"author":{"gitId":"-"},"content":" }"},{"lineNumber":289,"author":{"gitId":"-"},"content":""},{"lineNumber":290,"author":{"gitId":"-"},"content":" for (Team team : teams) {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" coursesLogic.createTeam(team);"},{"lineNumber":292,"author":{"gitId":"-"},"content":" }"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":295,"author":{"gitId":"-"},"content":" fsLogic.createFeedbackSession(session);"},{"lineNumber":296,"author":{"gitId":"-"},"content":" }"},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":" for (FeedbackQuestion question : questions) {"},{"lineNumber":299,"author":{"gitId":"-"},"content":" fqLogic.createFeedbackQuestion(question);"},{"lineNumber":300,"author":{"gitId":"-"},"content":" }"},{"lineNumber":301,"author":{"gitId":"-"},"content":""},{"lineNumber":302,"author":{"gitId":"-"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":303,"author":{"gitId":"-"},"content":" frLogic.createFeedbackResponse(response);"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" for (FeedbackResponseComment responseComment : responseComments) {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" responseComment.setId(null);"},{"lineNumber":308,"author":{"gitId":"-"},"content":" frcLogic.createFeedbackResponseComment(responseComment);"},{"lineNumber":309,"author":{"gitId":"-"},"content":" }"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":" for (Account account : accounts) {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" accountsLogic.createAccount(account);"},{"lineNumber":313,"author":{"gitId":"-"},"content":" }"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" usersLogic.createInstructor(instructor);"},{"lineNumber":317,"author":{"gitId":"-"},"content":" }"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":" for (Student student : students) {"},{"lineNumber":320,"author":{"gitId":"-"},"content":" usersLogic.createStudent(student);"},{"lineNumber":321,"author":{"gitId":"-"},"content":" }"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" for (ReadNotification readNotification : readNotifications) {"},{"lineNumber":324,"author":{"gitId":"-"},"content":" accountsLogic.updateReadNotifications(readNotification.getAccount().getGoogleId(),"},{"lineNumber":325,"author":{"gitId":"-"},"content":" readNotification.getNotification().getId(), readNotification.getNotification().getEndTime());"},{"lineNumber":326,"author":{"gitId":"-"},"content":" }"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" for (DeadlineExtension deadlineExtension : deadlineExtensions) {"},{"lineNumber":329,"author":{"gitId":"-"},"content":" deadlineExtensionsLogic.createDeadlineExtension(deadlineExtension);"},{"lineNumber":330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" return dataBundle;"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":336,"author":{"gitId":"-"},"content":" * Removes the items in the data bundle from the database."},{"lineNumber":337,"author":{"gitId":"-"},"content":" */"},{"lineNumber":338,"author":{"gitId":"-"},"content":" public void removeDataBundle(SqlDataBundle dataBundle) throws InvalidParametersException {"},{"lineNumber":339,"author":{"gitId":"-"},"content":" if (dataBundle \u003d\u003d null) {"},{"lineNumber":340,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(\"Data bundle is null\");"},{"lineNumber":341,"author":{"gitId":"-"},"content":" }"},{"lineNumber":342,"author":{"gitId":"-"},"content":""},{"lineNumber":343,"author":{"gitId":"yuanxi1"},"content":" linkEntities(dataBundle);"},{"lineNumber":344,"author":{"gitId":"-"},"content":" dataBundle.courses.values().forEach(course -\u003e {"},{"lineNumber":345,"author":{"gitId":"-"},"content":" coursesLogic.deleteCourseCascade(course.getId());"},{"lineNumber":346,"author":{"gitId":"-"},"content":" });"},{"lineNumber":347,"author":{"gitId":"-"},"content":" dataBundle.notifications.values().forEach(notification -\u003e {"},{"lineNumber":348,"author":{"gitId":"-"},"content":" notificationsLogic.deleteNotification(notification.getId());"},{"lineNumber":349,"author":{"gitId":"-"},"content":" });"},{"lineNumber":350,"author":{"gitId":"-"},"content":" dataBundle.accounts.values().forEach(account -\u003e {"},{"lineNumber":351,"author":{"gitId":"-"},"content":" accountsLogic.deleteAccount(account.getGoogleId());"},{"lineNumber":352,"author":{"gitId":"-"},"content":" });"},{"lineNumber":353,"author":{"gitId":"-"},"content":" dataBundle.accountRequests.values().forEach(accountRequest -\u003e {"},{"lineNumber":354,"author":{"gitId":"-"},"content":" accountRequestsLogic.deleteAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":355,"author":{"gitId":"-"},"content":" });"},{"lineNumber":356,"author":{"gitId":"-"},"content":" }"},{"lineNumber":357,"author":{"gitId":"-"},"content":""},{"lineNumber":358,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":359,"author":{"gitId":"-"},"content":" * Creates document for entities that have document, i.e. searchable."},{"lineNumber":360,"author":{"gitId":"-"},"content":" */"},{"lineNumber":361,"author":{"gitId":"-"},"content":" public void putDocuments(SqlDataBundle dataBundle) throws SearchServiceException {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" Map\u003cString, Student\u003e students \u003d dataBundle.students;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" for (Student student : students.values()) {"},{"lineNumber":364,"author":{"gitId":"-"},"content":" usersLogic.putStudentDocument(student);"},{"lineNumber":365,"author":{"gitId":"-"},"content":" }"},{"lineNumber":366,"author":{"gitId":"-"},"content":""},{"lineNumber":367,"author":{"gitId":"-"},"content":" Map\u003cString, Instructor\u003e instructors \u003d dataBundle.instructors;"},{"lineNumber":368,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors.values()) {"},{"lineNumber":369,"author":{"gitId":"-"},"content":" usersLogic.putInstructorDocument(instructor);"},{"lineNumber":370,"author":{"gitId":"-"},"content":" }"},{"lineNumber":371,"author":{"gitId":"-"},"content":""},{"lineNumber":372,"author":{"gitId":"-"},"content":" Map\u003cString, AccountRequest\u003e accountRequests \u003d dataBundle.accountRequests;"},{"lineNumber":373,"author":{"gitId":"-"},"content":" for (AccountRequest accountRequest : accountRequests.values()) {"},{"lineNumber":374,"author":{"gitId":"-"},"content":" accountRequestsLogic.putDocument(accountRequest);"},{"lineNumber":375,"author":{"gitId":"-"},"content":" }"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":""},{"lineNumber":378,"author":{"gitId":"yuanxi1"},"content":" private static void linkEntities(SqlDataBundle dataBundle) {"},{"lineNumber":379,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cAccount\u003e accounts \u003d dataBundle.accounts.values();"},{"lineNumber":380,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cCourse\u003e courses \u003d dataBundle.courses.values();"},{"lineNumber":381,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cSection\u003e sections \u003d dataBundle.sections.values();"},{"lineNumber":382,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cTeam\u003e teams \u003d dataBundle.teams.values();"},{"lineNumber":383,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cInstructor\u003e instructors \u003d dataBundle.instructors.values();"},{"lineNumber":384,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cStudent\u003e students \u003d dataBundle.students.values();"},{"lineNumber":385,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cFeedbackSession\u003e sessions \u003d dataBundle.feedbackSessions.values();"},{"lineNumber":386,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cFeedbackQuestion\u003e questions \u003d dataBundle.feedbackQuestions.values();"},{"lineNumber":387,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cFeedbackResponse\u003e responses \u003d dataBundle.feedbackResponses.values();"},{"lineNumber":388,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cFeedbackResponseComment\u003e responseComments \u003d dataBundle.feedbackResponseComments.values();"},{"lineNumber":389,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cDeadlineExtension\u003e deadlineExtensions \u003d dataBundle.deadlineExtensions.values();"},{"lineNumber":390,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cNotification\u003e notifications \u003d dataBundle.notifications.values();"},{"lineNumber":391,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cReadNotification\u003e readNotifications \u003d dataBundle.readNotifications.values();"},{"lineNumber":392,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":393,"author":{"gitId":"yuanxi1"},"content":" // Mapping of IDs or placeholder IDs to actual entity"},{"lineNumber":394,"author":{"gitId":"yuanxi1"},"content":" Map\u003cString, Course\u003e coursesMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":395,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, Section\u003e sectionsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":396,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, Team\u003e teamsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":397,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, FeedbackSession\u003e sessionsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":398,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, FeedbackQuestion\u003e questionMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":399,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, FeedbackResponse\u003e responseMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":400,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, Account\u003e accountsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":401,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, User\u003e usersMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":402,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, Notification\u003e notificationsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":403,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":404,"author":{"gitId":"yuanxi1"},"content":" for (Course course : courses) {"},{"lineNumber":405,"author":{"gitId":"yuanxi1"},"content":" coursesMap.put(course.getId(), course);"},{"lineNumber":406,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":407,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":408,"author":{"gitId":"yuanxi1"},"content":" for (Section section : sections) {"},{"lineNumber":409,"author":{"gitId":"yuanxi1"},"content":" sectionsMap.put(section.getId(), section);"},{"lineNumber":410,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d coursesMap.get(section.getCourse().getId());"},{"lineNumber":411,"author":{"gitId":"yuanxi1"},"content":" section.setCourse(course);"},{"lineNumber":412,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":413,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":414,"author":{"gitId":"yuanxi1"},"content":" for (Team team : teams) {"},{"lineNumber":415,"author":{"gitId":"yuanxi1"},"content":" teamsMap.put(team.getId(), team);"},{"lineNumber":416,"author":{"gitId":"yuanxi1"},"content":" Section section \u003d sectionsMap.get(team.getSection().getId());"},{"lineNumber":417,"author":{"gitId":"yuanxi1"},"content":" team.setSection(section);"},{"lineNumber":418,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":419,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":420,"author":{"gitId":"yuanxi1"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":421,"author":{"gitId":"yuanxi1"},"content":" sessionsMap.put(session.getId(), session);"},{"lineNumber":422,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d coursesMap.get(session.getCourse().getId());"},{"lineNumber":423,"author":{"gitId":"yuanxi1"},"content":" session.setCourse(course);"},{"lineNumber":424,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":425,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":426,"author":{"gitId":"yuanxi1"},"content":" for (FeedbackQuestion question : questions) {"},{"lineNumber":427,"author":{"gitId":"yuanxi1"},"content":" questionMap.put(question.getId(), question);"},{"lineNumber":428,"author":{"gitId":"yuanxi1"},"content":" FeedbackSession fs \u003d sessionsMap.get(question.getFeedbackSession().getId());"},{"lineNumber":429,"author":{"gitId":"yuanxi1"},"content":" question.setFeedbackSession(fs);"},{"lineNumber":430,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":431,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":432,"author":{"gitId":"yuanxi1"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":433,"author":{"gitId":"yuanxi1"},"content":" UUID placeholderId \u003d response.getId();"},{"lineNumber":434,"author":{"gitId":"yuanxi1"},"content":" responseMap.put(placeholderId, response);"},{"lineNumber":435,"author":{"gitId":"yuanxi1"},"content":" FeedbackQuestion fq \u003d questionMap.get(response.getFeedbackQuestion().getId());"},{"lineNumber":436,"author":{"gitId":"yuanxi1"},"content":" Section giverSection \u003d sectionsMap.get(response.getGiverSection().getId());"},{"lineNumber":437,"author":{"gitId":"yuanxi1"},"content":" Section recipientSection \u003d response.getRecipientSection() !\u003d null"},{"lineNumber":438,"author":{"gitId":"yuanxi1"},"content":" ? sectionsMap.get(response.getRecipientSection().getId()) : null;"},{"lineNumber":439,"author":{"gitId":"yuanxi1"},"content":" response.setFeedbackQuestion(fq);"},{"lineNumber":440,"author":{"gitId":"yuanxi1"},"content":" response.setGiverSection(giverSection);"},{"lineNumber":441,"author":{"gitId":"yuanxi1"},"content":" response.setRecipientSection(recipientSection);"},{"lineNumber":442,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":443,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":444,"author":{"gitId":"yuanxi1"},"content":" for (FeedbackResponseComment responseComment : responseComments) {"},{"lineNumber":445,"author":{"gitId":"yuanxi1"},"content":" FeedbackResponse fr \u003d responseMap.get(responseComment.getFeedbackResponse().getId());"},{"lineNumber":446,"author":{"gitId":"yuanxi1"},"content":" Section giverSection \u003d sectionsMap.get(responseComment.getGiverSection().getId());"},{"lineNumber":447,"author":{"gitId":"yuanxi1"},"content":" Section recipientSection \u003d sectionsMap.get(responseComment.getRecipientSection().getId());"},{"lineNumber":448,"author":{"gitId":"yuanxi1"},"content":" responseComment.setFeedbackResponse(fr);"},{"lineNumber":449,"author":{"gitId":"yuanxi1"},"content":" responseComment.setGiverSection(giverSection);"},{"lineNumber":450,"author":{"gitId":"yuanxi1"},"content":" responseComment.setRecipientSection(recipientSection);"},{"lineNumber":451,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":452,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":453,"author":{"gitId":"yuanxi1"},"content":" for (Account account : accounts) {"},{"lineNumber":454,"author":{"gitId":"yuanxi1"},"content":" accountsMap.put(account.getId(), account);"},{"lineNumber":455,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":456,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":457,"author":{"gitId":"yuanxi1"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":458,"author":{"gitId":"yuanxi1"},"content":" usersMap.put(instructor.getId(), instructor);"},{"lineNumber":459,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d coursesMap.get(instructor.getCourse().getId());"},{"lineNumber":460,"author":{"gitId":"yuanxi1"},"content":" instructor.setCourse(course);"},{"lineNumber":461,"author":{"gitId":"yuanxi1"},"content":" if (instructor.getAccount() !\u003d null) {"},{"lineNumber":462,"author":{"gitId":"yuanxi1"},"content":" Account account \u003d accountsMap.get(instructor.getAccount().getId());"},{"lineNumber":463,"author":{"gitId":"yuanxi1"},"content":" instructor.setAccount(account);"},{"lineNumber":464,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":465,"author":{"gitId":"yuanxi1"},"content":" instructor.generateNewRegistrationKey();"},{"lineNumber":466,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":467,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":468,"author":{"gitId":"yuanxi1"},"content":" for (Student student : students) {"},{"lineNumber":469,"author":{"gitId":"yuanxi1"},"content":" usersMap.put(student.getId(), student);"},{"lineNumber":470,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d coursesMap.get(student.getCourse().getId());"},{"lineNumber":471,"author":{"gitId":"yuanxi1"},"content":" student.setCourse(course);"},{"lineNumber":472,"author":{"gitId":"yuanxi1"},"content":" Team team \u003d teamsMap.get(student.getTeam().getId());"},{"lineNumber":473,"author":{"gitId":"yuanxi1"},"content":" student.setTeam(team);"},{"lineNumber":474,"author":{"gitId":"yuanxi1"},"content":" if (student.getAccount() !\u003d null) {"},{"lineNumber":475,"author":{"gitId":"yuanxi1"},"content":" Account account \u003d accountsMap.get(student.getAccount().getId());"},{"lineNumber":476,"author":{"gitId":"yuanxi1"},"content":" student.setAccount(account);"},{"lineNumber":477,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":478,"author":{"gitId":"yuanxi1"},"content":" student.generateNewRegistrationKey();"},{"lineNumber":479,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":480,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":481,"author":{"gitId":"yuanxi1"},"content":" for (Notification notification : notifications) {"},{"lineNumber":482,"author":{"gitId":"yuanxi1"},"content":" notificationsMap.put(notification.getId(), notification);"},{"lineNumber":483,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":484,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":485,"author":{"gitId":"yuanxi1"},"content":" for (ReadNotification readNotification : readNotifications) {"},{"lineNumber":486,"author":{"gitId":"yuanxi1"},"content":" Account account \u003d accountsMap.get(readNotification.getAccount().getId());"},{"lineNumber":487,"author":{"gitId":"yuanxi1"},"content":" readNotification.setAccount(account);"},{"lineNumber":488,"author":{"gitId":"yuanxi1"},"content":" Notification notification \u003d notificationsMap.get(readNotification.getNotification().getId());"},{"lineNumber":489,"author":{"gitId":"yuanxi1"},"content":" readNotification.setNotification(notification);"},{"lineNumber":490,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":491,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":492,"author":{"gitId":"yuanxi1"},"content":" for (DeadlineExtension deadlineExtension : deadlineExtensions) {"},{"lineNumber":493,"author":{"gitId":"yuanxi1"},"content":" FeedbackSession session \u003d sessionsMap.get(deadlineExtension.getFeedbackSession().getId());"},{"lineNumber":494,"author":{"gitId":"yuanxi1"},"content":" deadlineExtension.setFeedbackSession(session);"},{"lineNumber":495,"author":{"gitId":"yuanxi1"},"content":" User user \u003d usersMap.get(deadlineExtension.getUser().getId());"},{"lineNumber":496,"author":{"gitId":"yuanxi1"},"content":" deadlineExtension.setUser(user);"},{"lineNumber":497,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":498,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":499,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":124,"-":375}},{"path":"src/main/java/teammates/sqllogic/core/FeedbackQuestionsLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.HashSet;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"import javax.annotation.Nullable;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackQuestionRecipient;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlCourseRoster;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMcqQuestionDetails;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMsqQuestionDetails;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionType;"},{"lineNumber":22,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackQuestionsDb;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackMcqQuestion;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackMsqQuestion;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackQuestionUpdateRequest;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":37,"author":{"gitId":"-"},"content":" * Handles operations related to feedback questions."},{"lineNumber":38,"author":{"gitId":"-"},"content":" *"},{"lineNumber":39,"author":{"gitId":"-"},"content":" * @see FeedbackQuestion"},{"lineNumber":40,"author":{"gitId":"-"},"content":" * @see FeedbackQuestionsDb"},{"lineNumber":41,"author":{"gitId":"-"},"content":" */"},{"lineNumber":42,"author":{"gitId":"-"},"content":"public final class FeedbackQuestionsLogic {"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" static final String USER_NAME_FOR_SELF \u003d \"Myself\";"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final FeedbackQuestionsLogic instance \u003d new FeedbackQuestionsLogic();"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private FeedbackQuestionsDb fqDb;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private CoursesLogic coursesLogic;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private FeedbackResponsesLogic frLogic;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private UsersLogic usersLogic;"},{"lineNumber":53,"author":{"gitId":"-"},"content":" private FeedbackSessionsLogic feedbackSessionsLogic;"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" private FeedbackQuestionsLogic() {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" public static FeedbackQuestionsLogic inst() {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" void initLogicDependencies(FeedbackQuestionsDb fqDb, CoursesLogic coursesLogic, FeedbackResponsesLogic frLogic,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" UsersLogic usersLogic, FeedbackSessionsLogic feedbackSessionsLogic) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" this.fqDb \u003d fqDb;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" this.coursesLogic \u003d coursesLogic;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" this.frLogic \u003d frLogic;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" this.usersLogic \u003d usersLogic;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.feedbackSessionsLogic \u003d feedbackSessionsLogic;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Creates a new feedback question."},{"lineNumber":74,"author":{"gitId":"-"},"content":" *"},{"lineNumber":75,"author":{"gitId":"-"},"content":" * @return the created question"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the question is invalid"},{"lineNumber":77,"author":{"gitId":"marquestye"},"content":" * @throws EntityAlreadyExistsException if the question already exists"},{"lineNumber":78,"author":{"gitId":"-"},"content":" */"},{"lineNumber":79,"author":{"gitId":"marquestye"},"content":" public FeedbackQuestion createFeedbackQuestion(FeedbackQuestion feedbackQuestion)"},{"lineNumber":80,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":81,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion createdQuestion \u003d fqDb.createFeedbackQuestion(feedbackQuestion);"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsBefore \u003d getFeedbackQuestionsForSession(feedbackQuestion.getFeedbackSession());"},{"lineNumber":84,"author":{"gitId":"marquestye"},"content":" questionsBefore.remove(createdQuestion);"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" adjustQuestionNumbers(questionsBefore.size() + 1, createdQuestion.getQuestionNumber(), questionsBefore);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" return createdQuestion;"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":91,"author":{"gitId":"-"},"content":" * Gets an feedback question by feedback question id."},{"lineNumber":92,"author":{"gitId":"-"},"content":" * @param id of feedback question."},{"lineNumber":93,"author":{"gitId":"-"},"content":" * @return the specified feedback question."},{"lineNumber":94,"author":{"gitId":"-"},"content":" */"},{"lineNumber":95,"author":{"gitId":"-"},"content":" public FeedbackQuestion getFeedbackQuestion(UUID id) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" return fqDb.getFeedbackQuestion(id);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * Gets a {@link List} of every FeedbackQuestion in the given session."},{"lineNumber":101,"author":{"gitId":"-"},"content":" */"},{"lineNumber":102,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForSession(FeedbackSession feedbackSession) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questions \u003d fqDb.getFeedbackQuestionsForSession(feedbackSession.getId());"},{"lineNumber":105,"author":{"gitId":"-"},"content":" questions.sort(null);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" // check whether the question numbers are consistent"},{"lineNumber":108,"author":{"gitId":"-"},"content":" if (questions.size() \u003e 1 \u0026\u0026 !areQuestionNumbersConsistent(questions)) {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" log.severe(feedbackSession.getCourse().getId() + \": \" + feedbackSession.getName()"},{"lineNumber":110,"author":{"gitId":"-"},"content":" + \" has invalid question numbers\");"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" return questions;"},{"lineNumber":114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":117,"author":{"gitId":"-"},"content":" * Checks if there are any questions for the given session that instructors can view/submit."},{"lineNumber":118,"author":{"gitId":"-"},"content":" */"},{"lineNumber":119,"author":{"gitId":"-"},"content":" public boolean hasFeedbackQuestionsForInstructors(List\u003cFeedbackQuestion\u003e fqs, boolean isCreator) {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" boolean hasQuestions \u003d hasFeedbackQuestionsForGiverType(fqs, FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" if (hasQuestions) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" if (isCreator) {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" hasQuestions \u003d hasFeedbackQuestionsForGiverType(fqs, FeedbackParticipantType.SELF);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" return hasQuestions;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * Gets a {@code List} of all questions for the given session that instructors can view/submit."},{"lineNumber":134,"author":{"gitId":"-"},"content":" */"},{"lineNumber":135,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForInstructors("},{"lineNumber":136,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession, String userEmail) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" questions.addAll("},{"lineNumber":140,"author":{"gitId":"-"},"content":" fqDb.getFeedbackQuestionsForGiverType("},{"lineNumber":141,"author":{"gitId":"-"},"content":" feedbackSession, FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" if (feedbackSession.getCreatorEmail().equals(userEmail)) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" questions.addAll("},{"lineNumber":145,"author":{"gitId":"-"},"content":" fqDb.getFeedbackQuestionsForGiverType("},{"lineNumber":146,"author":{"gitId":"-"},"content":" feedbackSession, FeedbackParticipantType.SELF));"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" return questions;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * Gets a {@code List} of all questions for the given session that students can view/submit."},{"lineNumber":154,"author":{"gitId":"-"},"content":" */"},{"lineNumber":155,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForStudents(FeedbackSession feedbackSession) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" questions.addAll(fqDb.getFeedbackQuestionsForGiverType(feedbackSession, FeedbackParticipantType.STUDENTS));"},{"lineNumber":159,"author":{"gitId":"-"},"content":" questions.addAll(fqDb.getFeedbackQuestionsForGiverType(feedbackSession, FeedbackParticipantType.SELF));"},{"lineNumber":160,"author":{"gitId":"dishenggg"},"content":" questions.sort(null);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" return questions;"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":165,"author":{"gitId":"-"},"content":" * Updates a feedback question."},{"lineNumber":166,"author":{"gitId":"-"},"content":" *"},{"lineNumber":167,"author":{"gitId":"-"},"content":" * \u003cp\u003eCascade adjust the question number of questions in the same session."},{"lineNumber":168,"author":{"gitId":"-"},"content":" *"},{"lineNumber":169,"author":{"gitId":"-"},"content":" * \u003cp\u003eCascade adjust the existing response of the question."},{"lineNumber":170,"author":{"gitId":"-"},"content":" *"},{"lineNumber":171,"author":{"gitId":"-"},"content":" * @return updated feedback question"},{"lineNumber":172,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":173,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback question cannot be found"},{"lineNumber":174,"author":{"gitId":"-"},"content":" */"},{"lineNumber":175,"author":{"gitId":"-"},"content":" public FeedbackQuestion updateFeedbackQuestionCascade(UUID questionId, FeedbackQuestionUpdateRequest updateRequest)"},{"lineNumber":176,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" FeedbackQuestion question \u003d fqDb.getFeedbackQuestion(questionId);"},{"lineNumber":178,"author":{"gitId":"-"},"content":" if (question \u003d\u003d null) {"},{"lineNumber":179,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to update a feedback question that does not exist.\");"},{"lineNumber":180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" int oldQuestionNumber \u003d question.getQuestionNumber();"},{"lineNumber":183,"author":{"gitId":"-"},"content":" int newQuestionNumber \u003d updateRequest.getQuestionNumber();"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e previousQuestionsInSession \u003d new ArrayList\u003c\u003e();"},{"lineNumber":186,"author":{"gitId":"-"},"content":" if (oldQuestionNumber !\u003d newQuestionNumber) {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" // get questions in session before update"},{"lineNumber":188,"author":{"gitId":"-"},"content":" previousQuestionsInSession \u003d getFeedbackQuestionsForSession(question.getFeedbackSession());"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" // update question"},{"lineNumber":192,"author":{"gitId":"-"},"content":" question.setQuestionNumber(updateRequest.getQuestionNumber());"},{"lineNumber":193,"author":{"gitId":"-"},"content":" question.setDescription(updateRequest.getQuestionDescription());"},{"lineNumber":194,"author":{"gitId":"-"},"content":" question.setQuestionDetails(updateRequest.getQuestionDetails());"},{"lineNumber":195,"author":{"gitId":"-"},"content":" question.setGiverType(updateRequest.getGiverType());"},{"lineNumber":196,"author":{"gitId":"-"},"content":" question.setRecipientType(updateRequest.getRecipientType());"},{"lineNumber":197,"author":{"gitId":"-"},"content":" question.setNumOfEntitiesToGiveFeedbackTo(updateRequest.getNumberOfEntitiesToGiveFeedbackTo());"},{"lineNumber":198,"author":{"gitId":"-"},"content":" question.setShowResponsesTo(updateRequest.getShowResponsesTo());"},{"lineNumber":199,"author":{"gitId":"-"},"content":" question.setShowGiverNameTo(updateRequest.getShowGiverNameTo());"},{"lineNumber":200,"author":{"gitId":"-"},"content":" question.setShowRecipientNameTo(updateRequest.getShowRecipientNameTo());"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" // validate questions (giver \u0026 recipient)"},{"lineNumber":203,"author":{"gitId":"-"},"content":" String err \u003d question.getQuestionDetailsCopy().validateGiverRecipientVisibility(question);"},{"lineNumber":204,"author":{"gitId":"-"},"content":" if (!err.isEmpty()) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(err);"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":" // validate questions (question details)"},{"lineNumber":208,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails questionDetails \u003d question.getQuestionDetailsCopy();"},{"lineNumber":209,"author":{"gitId":"-"},"content":" List\u003cString\u003e questionDetailsErrors \u003d questionDetails.validateQuestionDetails();"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" if (!questionDetailsErrors.isEmpty()) {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(questionDetailsErrors.toString());"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":" if (oldQuestionNumber !\u003d newQuestionNumber) {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" // shift other feedback questions (generate an empty \"slot\")"},{"lineNumber":217,"author":{"gitId":"-"},"content":" adjustQuestionNumbers(oldQuestionNumber, newQuestionNumber, previousQuestionsInSession);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" // adjust responses"},{"lineNumber":221,"author":{"gitId":"-"},"content":" if (question.areResponseDeletionsRequiredForChanges(updateRequest.getGiverType(),"},{"lineNumber":222,"author":{"gitId":"-"},"content":" updateRequest.getRecipientType(), updateRequest.getQuestionDetails())) {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" frLogic.deleteFeedbackResponsesForQuestionCascade(question.getId());"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" return question;"},{"lineNumber":227,"author":{"gitId":"-"},"content":" }"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":230,"author":{"gitId":"-"},"content":" * Checks if there are any questions for the given session that students can view/submit."},{"lineNumber":231,"author":{"gitId":"-"},"content":" */"},{"lineNumber":232,"author":{"gitId":"-"},"content":" public boolean hasFeedbackQuestionsForStudents(List\u003cFeedbackQuestion\u003e fqs) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" return hasFeedbackQuestionsForGiverType(fqs, FeedbackParticipantType.STUDENTS)"},{"lineNumber":234,"author":{"gitId":"-"},"content":" || hasFeedbackQuestionsForGiverType(fqs, FeedbackParticipantType.TEAMS);"},{"lineNumber":235,"author":{"gitId":"-"},"content":" }"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":238,"author":{"gitId":"-"},"content":" * Checks if there is any feedback questions in a session in a course for the given giver type."},{"lineNumber":239,"author":{"gitId":"-"},"content":" */"},{"lineNumber":240,"author":{"gitId":"-"},"content":" public boolean hasFeedbackQuestionsForGiverType("},{"lineNumber":241,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e feedbackQuestions, FeedbackParticipantType giverType) {"},{"lineNumber":242,"author":{"gitId":"-"},"content":" assert feedbackQuestions !\u003d null;"},{"lineNumber":243,"author":{"gitId":"-"},"content":" assert giverType !\u003d null;"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" for (FeedbackQuestion fq : feedbackQuestions) {"},{"lineNumber":246,"author":{"gitId":"-"},"content":" if (fq.getGiverType() \u003d\u003d giverType) {"},{"lineNumber":247,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":248,"author":{"gitId":"-"},"content":" }"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":250,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" // TODO can be removed once we are sure that question numbers will be consistent"},{"lineNumber":254,"author":{"gitId":"-"},"content":" private boolean areQuestionNumbersConsistent(List\u003cFeedbackQuestion\u003e questions) {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" Set\u003cInteger\u003e questionNumbersInSession \u003d new HashSet\u003c\u003e();"},{"lineNumber":256,"author":{"gitId":"-"},"content":" for (FeedbackQuestion question : questions) {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" if (!questionNumbersInSession.add(question.getQuestionNumber())) {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" for (int i \u003d 1; i \u003c\u003d questions.size(); i++) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" if (!questionNumbersInSession.contains(i)) {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":272,"author":{"gitId":"-"},"content":" * Adjust questions between the old and new number,"},{"lineNumber":273,"author":{"gitId":"-"},"content":" * if the new number is smaller, then shift up (increase qn#) all questions in between."},{"lineNumber":274,"author":{"gitId":"-"},"content":" * if the new number is bigger, then shift down(decrease qn#) all questions in between."},{"lineNumber":275,"author":{"gitId":"-"},"content":" */"},{"lineNumber":276,"author":{"gitId":"-"},"content":" private void adjustQuestionNumbers(int oldQuestionNumber, int newQuestionNumber, List\u003cFeedbackQuestion\u003e questions) {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" if (oldQuestionNumber \u003e newQuestionNumber \u0026\u0026 oldQuestionNumber \u003e\u003d 1) {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" for (int i \u003d oldQuestionNumber - 1; i \u003e\u003d newQuestionNumber; i--) {"},{"lineNumber":279,"author":{"gitId":"-"},"content":" FeedbackQuestion question \u003d questions.get(i - 1);"},{"lineNumber":280,"author":{"gitId":"-"},"content":" question.setQuestionNumber(question.getQuestionNumber() + 1);"},{"lineNumber":281,"author":{"gitId":"-"},"content":" }"},{"lineNumber":282,"author":{"gitId":"-"},"content":" } else if (oldQuestionNumber \u003c newQuestionNumber \u0026\u0026 oldQuestionNumber \u003c questions.size()) {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" for (int i \u003d oldQuestionNumber + 1; i \u003c\u003d newQuestionNumber; i++) {"},{"lineNumber":284,"author":{"gitId":"-"},"content":" FeedbackQuestion question \u003d questions.get(i - 1);"},{"lineNumber":285,"author":{"gitId":"-"},"content":" question.setQuestionNumber(question.getQuestionNumber() - 1);"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":" }"},{"lineNumber":288,"author":{"gitId":"-"},"content":" }"},{"lineNumber":289,"author":{"gitId":"-"},"content":""},{"lineNumber":290,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":291,"author":{"gitId":"-"},"content":" * Populates fields that need dynamic generation in a question."},{"lineNumber":292,"author":{"gitId":"-"},"content":" *"},{"lineNumber":293,"author":{"gitId":"-"},"content":" * \u003cp\u003eCurrently, only MCQ/MSQ needs to generate choices dynamically.\u003c/p\u003e"},{"lineNumber":294,"author":{"gitId":"-"},"content":" *"},{"lineNumber":295,"author":{"gitId":"-"},"content":" * @param feedbackQuestion the question to populate"},{"lineNumber":296,"author":{"gitId":"-"},"content":" * @param courseId the ID of the course"},{"lineNumber":297,"author":{"gitId":"-"},"content":" * @param emailOfEntityDoingQuestion the email of the entity doing the question"},{"lineNumber":298,"author":{"gitId":"-"},"content":" * @param teamOfEntityDoingQuestion the team of the entity doing the question. If the entity is an instructor,"},{"lineNumber":299,"author":{"gitId":"-"},"content":" * it can be {@code null}."},{"lineNumber":300,"author":{"gitId":"-"},"content":" */"},{"lineNumber":301,"author":{"gitId":"-"},"content":" public void populateFieldsToGenerateInQuestion(FeedbackQuestion feedbackQuestion,"},{"lineNumber":302,"author":{"gitId":"-"},"content":" String courseId, String emailOfEntityDoingQuestion, String teamOfEntityDoingQuestion) {"},{"lineNumber":303,"author":{"gitId":"-"},"content":" List\u003cString\u003e optionList;"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":" FeedbackParticipantType generateOptionsFor;"},{"lineNumber":306,"author":{"gitId":"-"},"content":" FeedbackQuestionType questionType \u003d feedbackQuestion.getQuestionDetailsCopy().getQuestionType();"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" if (questionType \u003d\u003d FeedbackQuestionType.MCQ) {"},{"lineNumber":309,"author":{"gitId":"-"},"content":" FeedbackMcqQuestionDetails feedbackMcqQuestionDetails \u003d"},{"lineNumber":310,"author":{"gitId":"-"},"content":" (FeedbackMcqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":311,"author":{"gitId":"-"},"content":" optionList \u003d feedbackMcqQuestionDetails.getMcqChoices();"},{"lineNumber":312,"author":{"gitId":"-"},"content":" generateOptionsFor \u003d feedbackMcqQuestionDetails.getGenerateOptionsFor();"},{"lineNumber":313,"author":{"gitId":"-"},"content":" } else if (questionType \u003d\u003d FeedbackQuestionType.MSQ) {"},{"lineNumber":314,"author":{"gitId":"-"},"content":" FeedbackMsqQuestionDetails feedbackMsqQuestionDetails \u003d"},{"lineNumber":315,"author":{"gitId":"-"},"content":" (FeedbackMsqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":316,"author":{"gitId":"-"},"content":" optionList \u003d feedbackMsqQuestionDetails.getMsqChoices();"},{"lineNumber":317,"author":{"gitId":"-"},"content":" generateOptionsFor \u003d feedbackMsqQuestionDetails.getGenerateOptionsFor();"},{"lineNumber":318,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" // other question types"},{"lineNumber":320,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":321,"author":{"gitId":"-"},"content":" }"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" switch (generateOptionsFor) {"},{"lineNumber":324,"author":{"gitId":"-"},"content":" case NONE:"},{"lineNumber":325,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":326,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":327,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":328,"author":{"gitId":"-"},"content":" case STUDENTS_EXCLUDING_SELF:"},{"lineNumber":329,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentList;"},{"lineNumber":330,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.STUDENTS_IN_SAME_SECTION) {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" Student student \u003d"},{"lineNumber":332,"author":{"gitId":"-"},"content":" usersLogic.getStudentForEmail(courseId, emailOfEntityDoingQuestion);"},{"lineNumber":333,"author":{"gitId":"-"},"content":" studentList \u003d usersLogic.getStudentsForSection(student.getSectionName(), courseId);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":335,"author":{"gitId":"-"},"content":" studentList \u003d usersLogic.getStudentsForCourse(courseId);"},{"lineNumber":336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.STUDENTS_EXCLUDING_SELF) {"},{"lineNumber":339,"author":{"gitId":"-"},"content":" studentList.removeIf(studentInList -\u003e studentInList.getEmail().equals(emailOfEntityDoingQuestion));"},{"lineNumber":340,"author":{"gitId":"-"},"content":" }"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":" for (Student student : studentList) {"},{"lineNumber":343,"author":{"gitId":"dishenggg"},"content":" optionList.add(student.getName() + \" (\" + student.getTeam().getName() + \")\");"},{"lineNumber":344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" optionList.sort(null);"},{"lineNumber":347,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":348,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":349,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":350,"author":{"gitId":"-"},"content":" case TEAMS_EXCLUDING_SELF:"},{"lineNumber":351,"author":{"gitId":"-"},"content":" List\u003cString\u003e teams;"},{"lineNumber":352,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.TEAMS_IN_SAME_SECTION) {"},{"lineNumber":353,"author":{"gitId":"-"},"content":" Student student \u003d"},{"lineNumber":354,"author":{"gitId":"-"},"content":" usersLogic.getStudentForEmail(courseId, emailOfEntityDoingQuestion);"},{"lineNumber":355,"author":{"gitId":"-"},"content":" teams \u003d coursesLogic.getTeamsForSection(student.getSection())"},{"lineNumber":356,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":357,"author":{"gitId":"-"},"content":" .map(team -\u003e { return team.getName(); })"},{"lineNumber":358,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":359,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" teams \u003d coursesLogic.getTeamsForCourse(courseId)"},{"lineNumber":361,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":362,"author":{"gitId":"-"},"content":" .map(team -\u003e { return team.getName(); })"},{"lineNumber":363,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.TEAMS_EXCLUDING_SELF) {"},{"lineNumber":367,"author":{"gitId":"-"},"content":" teams.removeIf(team -\u003e team.equals(teamOfEntityDoingQuestion));"},{"lineNumber":368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":369,"author":{"gitId":"-"},"content":""},{"lineNumber":370,"author":{"gitId":"-"},"content":" for (String team : teams) {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" optionList.add(team);"},{"lineNumber":372,"author":{"gitId":"-"},"content":" }"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":" optionList.sort(null);"},{"lineNumber":375,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":376,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS_INCLUDING_SELF:"},{"lineNumber":377,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":378,"author":{"gitId":"-"},"content":" if (teamOfEntityDoingQuestion !\u003d null) {"},{"lineNumber":379,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e teamMembers \u003d usersLogic.getStudentsForTeam(teamOfEntityDoingQuestion,"},{"lineNumber":380,"author":{"gitId":"-"},"content":" courseId);"},{"lineNumber":381,"author":{"gitId":"-"},"content":""},{"lineNumber":382,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.OWN_TEAM_MEMBERS) {"},{"lineNumber":383,"author":{"gitId":"-"},"content":" teamMembers.removeIf(teamMember -\u003e teamMember.getEmail().equals(emailOfEntityDoingQuestion));"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" teamMembers.forEach(teamMember -\u003e optionList.add(teamMember.getName()));"},{"lineNumber":387,"author":{"gitId":"-"},"content":""},{"lineNumber":388,"author":{"gitId":"-"},"content":" optionList.sort(null);"},{"lineNumber":389,"author":{"gitId":"-"},"content":" }"},{"lineNumber":390,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":391,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":392,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorList \u003d"},{"lineNumber":393,"author":{"gitId":"-"},"content":" usersLogic.getInstructorsForCourse(courseId);"},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructorList) {"},{"lineNumber":396,"author":{"gitId":"-"},"content":" optionList.add(instructor.getName());"},{"lineNumber":397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":398,"author":{"gitId":"-"},"content":""},{"lineNumber":399,"author":{"gitId":"-"},"content":" optionList.sort(null);"},{"lineNumber":400,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":401,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":402,"author":{"gitId":"-"},"content":" assert false : \"Trying to generate options for neither students, teams nor instructors\";"},{"lineNumber":403,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" if (questionType \u003d\u003d FeedbackQuestionType.MCQ) {"},{"lineNumber":407,"author":{"gitId":"-"},"content":" FeedbackMcqQuestionDetails feedbackMcqQuestionDetails \u003d"},{"lineNumber":408,"author":{"gitId":"-"},"content":" (FeedbackMcqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":409,"author":{"gitId":"-"},"content":" feedbackMcqQuestionDetails.setMcqChoices(optionList);"},{"lineNumber":410,"author":{"gitId":"-"},"content":" ((FeedbackMcqQuestion) feedbackQuestion).setFeedBackQuestionDetails(feedbackMcqQuestionDetails);"},{"lineNumber":411,"author":{"gitId":"-"},"content":" } else if (questionType \u003d\u003d FeedbackQuestionType.MSQ) {"},{"lineNumber":412,"author":{"gitId":"-"},"content":" FeedbackMsqQuestionDetails feedbackMsqQuestionDetails \u003d"},{"lineNumber":413,"author":{"gitId":"-"},"content":" (FeedbackMsqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":414,"author":{"gitId":"-"},"content":" feedbackMsqQuestionDetails.setMsqChoices(optionList);"},{"lineNumber":415,"author":{"gitId":"-"},"content":" ((FeedbackMsqQuestion) feedbackQuestion).setFeedBackQuestionDetails(feedbackMsqQuestionDetails);"},{"lineNumber":416,"author":{"gitId":"-"},"content":" }"},{"lineNumber":417,"author":{"gitId":"-"},"content":" }"},{"lineNumber":418,"author":{"gitId":"-"},"content":""},{"lineNumber":419,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":420,"author":{"gitId":"-"},"content":" * Gets the recipients of a feedback question including recipient section and team."},{"lineNumber":421,"author":{"gitId":"-"},"content":" *"},{"lineNumber":422,"author":{"gitId":"-"},"content":" * @param question the feedback question"},{"lineNumber":423,"author":{"gitId":"-"},"content":" * @param instructorGiver can be null for student giver"},{"lineNumber":424,"author":{"gitId":"-"},"content":" * @param studentGiver can be null for instructor giver"},{"lineNumber":425,"author":{"gitId":"-"},"content":" * @param courseRoster if provided, the function can be completed without touching database"},{"lineNumber":426,"author":{"gitId":"-"},"content":" * @return a Map of {@code FeedbackQuestionRecipient} as the value and identifier as the key."},{"lineNumber":427,"author":{"gitId":"-"},"content":" */"},{"lineNumber":428,"author":{"gitId":"-"},"content":" public Map\u003cString, FeedbackQuestionRecipient\u003e getRecipientsOfQuestion("},{"lineNumber":429,"author":{"gitId":"-"},"content":" FeedbackQuestion question,"},{"lineNumber":430,"author":{"gitId":"-"},"content":" @Nullable Instructor instructorGiver, @Nullable Student studentGiver,"},{"lineNumber":431,"author":{"gitId":"-"},"content":" @Nullable SqlCourseRoster courseRoster) {"},{"lineNumber":432,"author":{"gitId":"-"},"content":" assert instructorGiver !\u003d null || studentGiver !\u003d null;"},{"lineNumber":433,"author":{"gitId":"-"},"content":""},{"lineNumber":434,"author":{"gitId":"-"},"content":" String courseId \u003d question.getCourseId();"},{"lineNumber":435,"author":{"gitId":"-"},"content":""},{"lineNumber":436,"author":{"gitId":"-"},"content":" Map\u003cString, FeedbackQuestionRecipient\u003e recipients \u003d new HashMap\u003c\u003e();"},{"lineNumber":437,"author":{"gitId":"-"},"content":""},{"lineNumber":438,"author":{"gitId":"-"},"content":" boolean isStudentGiver \u003d studentGiver !\u003d null;"},{"lineNumber":439,"author":{"gitId":"-"},"content":" boolean isInstructorGiver \u003d instructorGiver !\u003d null;"},{"lineNumber":440,"author":{"gitId":"-"},"content":""},{"lineNumber":441,"author":{"gitId":"-"},"content":" String giverEmail \u003d \"\";"},{"lineNumber":442,"author":{"gitId":"-"},"content":" String giverTeam \u003d \"\";"},{"lineNumber":443,"author":{"gitId":"-"},"content":" String giverSection \u003d \"\";"},{"lineNumber":444,"author":{"gitId":"-"},"content":" if (isStudentGiver) {"},{"lineNumber":445,"author":{"gitId":"-"},"content":" giverEmail \u003d studentGiver.getEmail();"},{"lineNumber":446,"author":{"gitId":"-"},"content":" giverTeam \u003d studentGiver.getTeamName();"},{"lineNumber":447,"author":{"gitId":"-"},"content":" giverSection \u003d studentGiver.getSectionName();"},{"lineNumber":448,"author":{"gitId":"-"},"content":" } else if (isInstructorGiver) {"},{"lineNumber":449,"author":{"gitId":"-"},"content":" giverEmail \u003d instructorGiver.getEmail();"},{"lineNumber":450,"author":{"gitId":"-"},"content":" giverTeam \u003d Const.USER_TEAM_FOR_INSTRUCTOR;"},{"lineNumber":451,"author":{"gitId":"-"},"content":" giverSection \u003d Const.DEFAULT_SECTION;"},{"lineNumber":452,"author":{"gitId":"-"},"content":" }"},{"lineNumber":453,"author":{"gitId":"-"},"content":""},{"lineNumber":454,"author":{"gitId":"-"},"content":" FeedbackParticipantType recipientType \u003d question.getRecipientType();"},{"lineNumber":455,"author":{"gitId":"-"},"content":" FeedbackParticipantType generateOptionsFor \u003d recipientType;"},{"lineNumber":456,"author":{"gitId":"-"},"content":""},{"lineNumber":457,"author":{"gitId":"-"},"content":" switch (recipientType) {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":459,"author":{"gitId":"-"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS) {"},{"lineNumber":460,"author":{"gitId":"-"},"content":" recipients.put(giverTeam,"},{"lineNumber":461,"author":{"gitId":"-"},"content":" new FeedbackQuestionRecipient(giverTeam, giverTeam));"},{"lineNumber":462,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":463,"author":{"gitId":"-"},"content":" recipients.put(giverEmail,"},{"lineNumber":464,"author":{"gitId":"-"},"content":" new FeedbackQuestionRecipient(USER_NAME_FOR_SELF, giverEmail));"},{"lineNumber":465,"author":{"gitId":"-"},"content":" }"},{"lineNumber":466,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":467,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":468,"author":{"gitId":"-"},"content":" case STUDENTS_EXCLUDING_SELF:"},{"lineNumber":469,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":470,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentList;"},{"lineNumber":471,"author":{"gitId":"-"},"content":" if (courseRoster \u003d\u003d null) {"},{"lineNumber":472,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.STUDENTS_IN_SAME_SECTION) {"},{"lineNumber":473,"author":{"gitId":"-"},"content":" studentList \u003d usersLogic.getStudentsForSection(giverSection, courseId);"},{"lineNumber":474,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":475,"author":{"gitId":"-"},"content":" studentList \u003d usersLogic.getStudentsForCourse(courseId);"},{"lineNumber":476,"author":{"gitId":"-"},"content":" }"},{"lineNumber":477,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":478,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.STUDENTS_IN_SAME_SECTION) {"},{"lineNumber":479,"author":{"gitId":"-"},"content":" final String finalGiverSection \u003d giverSection;"},{"lineNumber":480,"author":{"gitId":"-"},"content":" studentList \u003d courseRoster.getStudents().stream()"},{"lineNumber":481,"author":{"gitId":"-"},"content":" .filter(studentAttributes -\u003e studentAttributes.getSectionName()"},{"lineNumber":482,"author":{"gitId":"-"},"content":" .equals(finalGiverSection)).collect(Collectors.toList());"},{"lineNumber":483,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":484,"author":{"gitId":"-"},"content":" studentList \u003d courseRoster.getStudents();"},{"lineNumber":485,"author":{"gitId":"-"},"content":" }"},{"lineNumber":486,"author":{"gitId":"-"},"content":" }"},{"lineNumber":487,"author":{"gitId":"-"},"content":" for (Student student : studentList) {"},{"lineNumber":488,"author":{"gitId":"-"},"content":" if (isInstructorGiver \u0026\u0026 !instructorGiver.isAllowedForPrivilege("},{"lineNumber":489,"author":{"gitId":"-"},"content":" student.getSectionName(), question.getFeedbackSession().getName(),"},{"lineNumber":490,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_SUBMIT_SESSION_IN_SECTIONS)) {"},{"lineNumber":491,"author":{"gitId":"-"},"content":" // instructor can only see students in allowed sections for him/her"},{"lineNumber":492,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":493,"author":{"gitId":"-"},"content":" }"},{"lineNumber":494,"author":{"gitId":"-"},"content":" // Ensure student does not evaluate him/herself if it\u0027s STUDENTS_EXCLUDING_SELF or"},{"lineNumber":495,"author":{"gitId":"-"},"content":" // STUDENTS_IN_SAME_SECTION"},{"lineNumber":496,"author":{"gitId":"-"},"content":" if (giverEmail.equals(student.getEmail()) \u0026\u0026 generateOptionsFor !\u003d FeedbackParticipantType.STUDENTS) {"},{"lineNumber":497,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":498,"author":{"gitId":"-"},"content":" }"},{"lineNumber":499,"author":{"gitId":"-"},"content":" recipients.put(student.getEmail(), new FeedbackQuestionRecipient(student.getName(), student.getEmail(),"},{"lineNumber":500,"author":{"gitId":"-"},"content":" student.getSectionName(), student.getTeamName()));"},{"lineNumber":501,"author":{"gitId":"-"},"content":" }"},{"lineNumber":502,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":503,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":504,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorsInCourse;"},{"lineNumber":505,"author":{"gitId":"-"},"content":" if (courseRoster \u003d\u003d null) {"},{"lineNumber":506,"author":{"gitId":"-"},"content":" instructorsInCourse \u003d usersLogic.getInstructorsForCourse(courseId);"},{"lineNumber":507,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":508,"author":{"gitId":"-"},"content":" instructorsInCourse \u003d courseRoster.getInstructors();"},{"lineNumber":509,"author":{"gitId":"-"},"content":" }"},{"lineNumber":510,"author":{"gitId":"-"},"content":" for (Instructor instr : instructorsInCourse) {"},{"lineNumber":511,"author":{"gitId":"-"},"content":" // remove hidden instructors for students"},{"lineNumber":512,"author":{"gitId":"-"},"content":" if (isStudentGiver \u0026\u0026 !instr.isDisplayedToStudents()) {"},{"lineNumber":513,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":514,"author":{"gitId":"-"},"content":" }"},{"lineNumber":515,"author":{"gitId":"-"},"content":" // Ensure instructor does not evaluate himself"},{"lineNumber":516,"author":{"gitId":"-"},"content":" if (!giverEmail.equals(instr.getEmail())) {"},{"lineNumber":517,"author":{"gitId":"-"},"content":" recipients.put(instr.getEmail(),"},{"lineNumber":518,"author":{"gitId":"-"},"content":" new FeedbackQuestionRecipient(instr.getName(), instr.getEmail()));"},{"lineNumber":519,"author":{"gitId":"-"},"content":" }"},{"lineNumber":520,"author":{"gitId":"-"},"content":" }"},{"lineNumber":521,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":522,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":523,"author":{"gitId":"-"},"content":" case TEAMS_EXCLUDING_SELF:"},{"lineNumber":524,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":525,"author":{"gitId":"-"},"content":" Map\u003cString, List\u003cStudent\u003e\u003e teamToTeamMembersTable;"},{"lineNumber":526,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e teamStudents;"},{"lineNumber":527,"author":{"gitId":"-"},"content":" if (courseRoster \u003d\u003d null) {"},{"lineNumber":528,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.TEAMS_IN_SAME_SECTION) {"},{"lineNumber":529,"author":{"gitId":"-"},"content":" teamStudents \u003d usersLogic.getStudentsForSection(giverSection, courseId);"},{"lineNumber":530,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":531,"author":{"gitId":"-"},"content":" teamStudents \u003d usersLogic.getStudentsForCourse(courseId);"},{"lineNumber":532,"author":{"gitId":"-"},"content":" }"},{"lineNumber":533,"author":{"gitId":"-"},"content":" teamToTeamMembersTable \u003d SqlCourseRoster.buildTeamToMembersTable(teamStudents);"},{"lineNumber":534,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":535,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.TEAMS_IN_SAME_SECTION) {"},{"lineNumber":536,"author":{"gitId":"-"},"content":" final String finalGiverSection \u003d giverSection;"},{"lineNumber":537,"author":{"gitId":"-"},"content":" teamStudents \u003d courseRoster.getStudents().stream()"},{"lineNumber":538,"author":{"gitId":"-"},"content":" .filter(student -\u003e student.getSectionName().equals(finalGiverSection))"},{"lineNumber":539,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":540,"author":{"gitId":"-"},"content":" teamToTeamMembersTable \u003d SqlCourseRoster.buildTeamToMembersTable(teamStudents);"},{"lineNumber":541,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":542,"author":{"gitId":"-"},"content":" teamToTeamMembersTable \u003d courseRoster.getTeamToMembersTable();"},{"lineNumber":543,"author":{"gitId":"-"},"content":" }"},{"lineNumber":544,"author":{"gitId":"-"},"content":" }"},{"lineNumber":545,"author":{"gitId":"-"},"content":" for (Map.Entry\u003cString, List\u003cStudent\u003e\u003e team : teamToTeamMembersTable.entrySet()) {"},{"lineNumber":546,"author":{"gitId":"-"},"content":" if (isInstructorGiver \u0026\u0026 !instructorGiver.isAllowedForPrivilege("},{"lineNumber":547,"author":{"gitId":"-"},"content":" team.getValue().iterator().next().getSectionName(),"},{"lineNumber":548,"author":{"gitId":"-"},"content":" question.getFeedbackSession().getName(),"},{"lineNumber":549,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_SUBMIT_SESSION_IN_SECTIONS)) {"},{"lineNumber":550,"author":{"gitId":"-"},"content":" // instructor can only see teams in allowed sections for him/her"},{"lineNumber":551,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":552,"author":{"gitId":"-"},"content":" }"},{"lineNumber":553,"author":{"gitId":"-"},"content":" // Ensure student(\u0027s team) does not evaluate own team if it\u0027s TEAMS_EXCLUDING_SELF or"},{"lineNumber":554,"author":{"gitId":"-"},"content":" // TEAMS_IN_SAME_SECTION"},{"lineNumber":555,"author":{"gitId":"-"},"content":" if (giverTeam.equals(team.getKey()) \u0026\u0026 generateOptionsFor !\u003d FeedbackParticipantType.TEAMS) {"},{"lineNumber":556,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":557,"author":{"gitId":"-"},"content":" }"},{"lineNumber":558,"author":{"gitId":"-"},"content":" // recipientEmail doubles as team name in this case."},{"lineNumber":559,"author":{"gitId":"-"},"content":" recipients.put(team.getKey(), new FeedbackQuestionRecipient(team.getKey(), team.getKey()));"},{"lineNumber":560,"author":{"gitId":"-"},"content":" }"},{"lineNumber":561,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":562,"author":{"gitId":"-"},"content":" case OWN_TEAM:"},{"lineNumber":563,"author":{"gitId":"-"},"content":" recipients.put(giverTeam, new FeedbackQuestionRecipient(giverTeam, giverTeam));"},{"lineNumber":564,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":565,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":566,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students;"},{"lineNumber":567,"author":{"gitId":"-"},"content":" if (courseRoster \u003d\u003d null) {"},{"lineNumber":568,"author":{"gitId":"-"},"content":" students \u003d usersLogic.getStudentsForTeam(giverTeam, courseId);"},{"lineNumber":569,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":570,"author":{"gitId":"-"},"content":" students \u003d courseRoster.getTeamToMembersTable().getOrDefault(giverTeam, Collections.emptyList());"},{"lineNumber":571,"author":{"gitId":"-"},"content":" }"},{"lineNumber":572,"author":{"gitId":"-"},"content":" for (Student student : students) {"},{"lineNumber":573,"author":{"gitId":"-"},"content":" if (!student.getEmail().equals(giverEmail)) {"},{"lineNumber":574,"author":{"gitId":"-"},"content":" recipients.put(student.getEmail(), new FeedbackQuestionRecipient(student.getName(), student.getEmail(),"},{"lineNumber":575,"author":{"gitId":"-"},"content":" student.getSectionName(), student.getTeamName()));"},{"lineNumber":576,"author":{"gitId":"-"},"content":" }"},{"lineNumber":577,"author":{"gitId":"-"},"content":" }"},{"lineNumber":578,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":579,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS_INCLUDING_SELF:"},{"lineNumber":580,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e teamMembers;"},{"lineNumber":581,"author":{"gitId":"-"},"content":" if (courseRoster \u003d\u003d null) {"},{"lineNumber":582,"author":{"gitId":"-"},"content":" teamMembers \u003d usersLogic.getStudentsForTeam(giverTeam, courseId);"},{"lineNumber":583,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":584,"author":{"gitId":"-"},"content":" teamMembers \u003d courseRoster.getTeamToMembersTable().getOrDefault(giverTeam, Collections.emptyList());"},{"lineNumber":585,"author":{"gitId":"-"},"content":" }"},{"lineNumber":586,"author":{"gitId":"-"},"content":" for (Student student : teamMembers) {"},{"lineNumber":587,"author":{"gitId":"-"},"content":" // accepts self feedback too"},{"lineNumber":588,"author":{"gitId":"-"},"content":" recipients.put(student.getEmail(), new FeedbackQuestionRecipient(student.getName(), student.getEmail(),"},{"lineNumber":589,"author":{"gitId":"-"},"content":" student.getSectionName(), student.getTeamName()));"},{"lineNumber":590,"author":{"gitId":"-"},"content":" }"},{"lineNumber":591,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":592,"author":{"gitId":"-"},"content":" case NONE:"},{"lineNumber":593,"author":{"gitId":"-"},"content":" recipients.put(Const.GENERAL_QUESTION,"},{"lineNumber":594,"author":{"gitId":"-"},"content":" new FeedbackQuestionRecipient(Const.GENERAL_QUESTION, Const.GENERAL_QUESTION));"},{"lineNumber":595,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":596,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":597,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":598,"author":{"gitId":"-"},"content":" }"},{"lineNumber":599,"author":{"gitId":"-"},"content":" return recipients;"},{"lineNumber":600,"author":{"gitId":"-"},"content":" }"},{"lineNumber":601,"author":{"gitId":"-"},"content":""},{"lineNumber":602,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":603,"author":{"gitId":"-"},"content":" * Returns true if a session has question in a specific giverType."},{"lineNumber":604,"author":{"gitId":"-"},"content":" */"},{"lineNumber":605,"author":{"gitId":"-"},"content":" public boolean sessionHasQuestionsForGiverType("},{"lineNumber":606,"author":{"gitId":"-"},"content":" String feedbackSessionName, String courseId, FeedbackParticipantType giverType) {"},{"lineNumber":607,"author":{"gitId":"-"},"content":" return fqDb.hasFeedbackQuestionsForGiverType(feedbackSessionName, courseId, giverType);"},{"lineNumber":608,"author":{"gitId":"-"},"content":" }"},{"lineNumber":609,"author":{"gitId":"-"},"content":""},{"lineNumber":610,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":611,"author":{"gitId":"-"},"content":" * Returns true if a session has question in either STUDENTS type or TEAMS type."},{"lineNumber":612,"author":{"gitId":"-"},"content":" */"},{"lineNumber":613,"author":{"gitId":"-"},"content":" public boolean sessionHasQuestionsForStudent(String feedbackSessionName, String courseId) {"},{"lineNumber":614,"author":{"gitId":"-"},"content":" return fqDb.hasFeedbackQuestionsForGiverType(feedbackSessionName, courseId, FeedbackParticipantType.STUDENTS)"},{"lineNumber":615,"author":{"gitId":"-"},"content":" || fqDb.hasFeedbackQuestionsForGiverType(feedbackSessionName, courseId, FeedbackParticipantType.TEAMS);"},{"lineNumber":616,"author":{"gitId":"-"},"content":" }"},{"lineNumber":617,"author":{"gitId":"-"},"content":""},{"lineNumber":618,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":619,"author":{"gitId":"-"},"content":" * Deletes a feedback question cascade its responses and comments."},{"lineNumber":620,"author":{"gitId":"-"},"content":" *"},{"lineNumber":621,"author":{"gitId":"-"},"content":" * \u003cp\u003eSilently fail if question does not exist."},{"lineNumber":622,"author":{"gitId":"-"},"content":" */"},{"lineNumber":623,"author":{"gitId":"-"},"content":" public void deleteFeedbackQuestionCascade(UUID feedbackQuestionId) {"},{"lineNumber":624,"author":{"gitId":"-"},"content":" fqDb.deleteFeedbackQuestion(feedbackQuestionId);"},{"lineNumber":625,"author":{"gitId":"-"},"content":" }"},{"lineNumber":626,"author":{"gitId":"-"},"content":""},{"lineNumber":627,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":628,"author":{"gitId":"-"},"content":" * Filters the feedback questions in a course, with specified question type."},{"lineNumber":629,"author":{"gitId":"-"},"content":" * @param courseId the course to search from"},{"lineNumber":630,"author":{"gitId":"-"},"content":" * @param questionType the question type to search on"},{"lineNumber":631,"author":{"gitId":"-"},"content":" * @return a list of filtered questions"},{"lineNumber":632,"author":{"gitId":"-"},"content":" */"},{"lineNumber":633,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionForCourseWithType("},{"lineNumber":634,"author":{"gitId":"-"},"content":" String courseId, FeedbackQuestionType questionType) {"},{"lineNumber":635,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e feedbackSessions \u003d feedbackSessionsLogic.getFeedbackSessionsForCourse(courseId);"},{"lineNumber":636,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e feedbackQuestions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":637,"author":{"gitId":"-"},"content":""},{"lineNumber":638,"author":{"gitId":"-"},"content":" for (FeedbackSession session : feedbackSessions) {"},{"lineNumber":639,"author":{"gitId":"-"},"content":" feedbackQuestions.addAll(getFeedbackQuestionsForSession(session));"},{"lineNumber":640,"author":{"gitId":"-"},"content":" }"},{"lineNumber":641,"author":{"gitId":"-"},"content":""},{"lineNumber":642,"author":{"gitId":"-"},"content":" return feedbackQuestions"},{"lineNumber":643,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":644,"author":{"gitId":"-"},"content":" .filter(q -\u003e q.getQuestionDetailsCopy().getQuestionType().equals(questionType))"},{"lineNumber":645,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":646,"author":{"gitId":"-"},"content":" }"},{"lineNumber":647,"author":{"gitId":"-"},"content":""},{"lineNumber":648,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":649,"author":{"gitId":"xenosf"},"content":" * Builds a complete giver to recipient map for a {@code relatedQuestion}."},{"lineNumber":650,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":651,"author":{"gitId":"xenosf"},"content":" * @param relatedQuestion The question to be considered"},{"lineNumber":652,"author":{"gitId":"xenosf"},"content":" * @param courseRoster the roster in the course"},{"lineNumber":653,"author":{"gitId":"xenosf"},"content":" * @return a map from giver to recipient for the question."},{"lineNumber":654,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":655,"author":{"gitId":"xenosf"},"content":" public Map\u003cString, Set\u003cString\u003e\u003e buildCompleteGiverRecipientMap("},{"lineNumber":656,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion relatedQuestion, SqlCourseRoster courseRoster) {"},{"lineNumber":657,"author":{"gitId":"xenosf"},"content":" Map\u003cString, Set\u003cString\u003e\u003e completeGiverRecipientMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":658,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":659,"author":{"gitId":"xenosf"},"content":" List\u003cString\u003e possibleGiverEmails \u003d getPossibleGivers(relatedQuestion, courseRoster);"},{"lineNumber":660,"author":{"gitId":"xenosf"},"content":" for (String possibleGiverEmail : possibleGiverEmails) {"},{"lineNumber":661,"author":{"gitId":"xenosf"},"content":" switch (relatedQuestion.getGiverType()) {"},{"lineNumber":662,"author":{"gitId":"xenosf"},"content":" case STUDENTS:"},{"lineNumber":663,"author":{"gitId":"xenosf"},"content":" Student studentGiver \u003d courseRoster.getStudentForEmail(possibleGiverEmail);"},{"lineNumber":664,"author":{"gitId":"xenosf"},"content":" completeGiverRecipientMap"},{"lineNumber":665,"author":{"gitId":"xenosf"},"content":" .computeIfAbsent(possibleGiverEmail, key -\u003e new HashSet\u003c\u003e())"},{"lineNumber":666,"author":{"gitId":"xenosf"},"content":" .addAll(getRecipientsOfQuestion("},{"lineNumber":667,"author":{"gitId":"xenosf"},"content":" relatedQuestion, null, studentGiver, courseRoster).keySet());"},{"lineNumber":668,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":669,"author":{"gitId":"xenosf"},"content":" case TEAMS:"},{"lineNumber":670,"author":{"gitId":"xenosf"},"content":" Student oneTeamMember \u003d"},{"lineNumber":671,"author":{"gitId":"xenosf"},"content":" courseRoster.getTeamToMembersTable().get(possibleGiverEmail).iterator().next();"},{"lineNumber":672,"author":{"gitId":"xenosf"},"content":" completeGiverRecipientMap"},{"lineNumber":673,"author":{"gitId":"xenosf"},"content":" .computeIfAbsent(possibleGiverEmail, key -\u003e new HashSet\u003c\u003e())"},{"lineNumber":674,"author":{"gitId":"xenosf"},"content":" .addAll(getRecipientsOfQuestion("},{"lineNumber":675,"author":{"gitId":"xenosf"},"content":" relatedQuestion, null, oneTeamMember, courseRoster).keySet());"},{"lineNumber":676,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":677,"author":{"gitId":"xenosf"},"content":" case INSTRUCTORS:"},{"lineNumber":678,"author":{"gitId":"xenosf"},"content":" case SELF:"},{"lineNumber":679,"author":{"gitId":"xenosf"},"content":" Instructor instructorGiver \u003d courseRoster.getInstructorForEmail(possibleGiverEmail);"},{"lineNumber":680,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":681,"author":{"gitId":"xenosf"},"content":" // only happens when a session creator quits their course"},{"lineNumber":682,"author":{"gitId":"xenosf"},"content":" if (instructorGiver \u003d\u003d null) {"},{"lineNumber":683,"author":{"gitId":"xenosf"},"content":" instructorGiver \u003d new Instructor("},{"lineNumber":684,"author":{"gitId":"xenosf"},"content":" relatedQuestion.getCourse(),"},{"lineNumber":685,"author":{"gitId":"xenosf"},"content":" USER_NAME_FOR_SELF,"},{"lineNumber":686,"author":{"gitId":"xenosf"},"content":" possibleGiverEmail,"},{"lineNumber":687,"author":{"gitId":"xenosf"},"content":" false,"},{"lineNumber":688,"author":{"gitId":"xenosf"},"content":" USER_NAME_FOR_SELF,"},{"lineNumber":689,"author":{"gitId":"xenosf"},"content":" null,"},{"lineNumber":690,"author":{"gitId":"xenosf"},"content":" null"},{"lineNumber":691,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":692,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":693,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":694,"author":{"gitId":"xenosf"},"content":" completeGiverRecipientMap"},{"lineNumber":695,"author":{"gitId":"xenosf"},"content":" .computeIfAbsent(possibleGiverEmail, key -\u003e new HashSet\u003c\u003e())"},{"lineNumber":696,"author":{"gitId":"xenosf"},"content":" .addAll(getRecipientsOfQuestion("},{"lineNumber":697,"author":{"gitId":"xenosf"},"content":" relatedQuestion, instructorGiver, null, courseRoster).keySet());"},{"lineNumber":698,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":699,"author":{"gitId":"xenosf"},"content":" default:"},{"lineNumber":700,"author":{"gitId":"xenosf"},"content":" log.severe(\"Invalid giver type specified\");"},{"lineNumber":701,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":702,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":703,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":704,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":705,"author":{"gitId":"xenosf"},"content":" return completeGiverRecipientMap;"},{"lineNumber":706,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":707,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":708,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":709,"author":{"gitId":"xenosf"},"content":" * Gets possible giver identifiers for a feedback question."},{"lineNumber":710,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":711,"author":{"gitId":"xenosf"},"content":" * @param fq the feedback question"},{"lineNumber":712,"author":{"gitId":"xenosf"},"content":" * @param courseRoster roster of all students and instructors"},{"lineNumber":713,"author":{"gitId":"xenosf"},"content":" * @return a list of giver identifier"},{"lineNumber":714,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":715,"author":{"gitId":"xenosf"},"content":" private List\u003cString\u003e getPossibleGivers("},{"lineNumber":716,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq, SqlCourseRoster courseRoster) {"},{"lineNumber":717,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType giverType \u003d fq.getGiverType();"},{"lineNumber":718,"author":{"gitId":"xenosf"},"content":" List\u003cString\u003e possibleGivers \u003d new ArrayList\u003c\u003e();"},{"lineNumber":719,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":720,"author":{"gitId":"xenosf"},"content":" switch (giverType) {"},{"lineNumber":721,"author":{"gitId":"xenosf"},"content":" case STUDENTS:"},{"lineNumber":722,"author":{"gitId":"xenosf"},"content":" possibleGivers \u003d courseRoster.getStudents()"},{"lineNumber":723,"author":{"gitId":"xenosf"},"content":" .stream()"},{"lineNumber":724,"author":{"gitId":"xenosf"},"content":" .map(Student::getEmail)"},{"lineNumber":725,"author":{"gitId":"xenosf"},"content":" .collect(Collectors.toList());"},{"lineNumber":726,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":727,"author":{"gitId":"xenosf"},"content":" case INSTRUCTORS:"},{"lineNumber":728,"author":{"gitId":"xenosf"},"content":" possibleGivers \u003d courseRoster.getInstructors()"},{"lineNumber":729,"author":{"gitId":"xenosf"},"content":" .stream()"},{"lineNumber":730,"author":{"gitId":"xenosf"},"content":" .map(Instructor::getEmail)"},{"lineNumber":731,"author":{"gitId":"xenosf"},"content":" .collect(Collectors.toList());"},{"lineNumber":732,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":733,"author":{"gitId":"xenosf"},"content":" case TEAMS:"},{"lineNumber":734,"author":{"gitId":"xenosf"},"content":" possibleGivers \u003d new ArrayList\u003c\u003e(courseRoster.getTeamToMembersTable().keySet());"},{"lineNumber":735,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":736,"author":{"gitId":"xenosf"},"content":" case SELF:"},{"lineNumber":737,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d"},{"lineNumber":738,"author":{"gitId":"xenosf"},"content":" feedbackSessionsLogic.getFeedbackSession(fq.getFeedbackSessionName(), fq.getCourseId());"},{"lineNumber":739,"author":{"gitId":"xenosf"},"content":" possibleGivers \u003d Collections.singletonList(feedbackSession.getCreatorEmail());"},{"lineNumber":740,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":741,"author":{"gitId":"xenosf"},"content":" default:"},{"lineNumber":742,"author":{"gitId":"xenosf"},"content":" log.severe(\"Invalid giver type specified\");"},{"lineNumber":743,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":744,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":745,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":746,"author":{"gitId":"xenosf"},"content":" return possibleGivers;"},{"lineNumber":747,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":748,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":749,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":6,"xenosf":101,"dishenggg":2,"-":640}},{"path":"src/main/java/teammates/sqllogic/core/FeedbackResponseCommentsLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import java.util.Set;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import javax.annotation.Nullable;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.SqlCourseRoster;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackResponseCommentsDb;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackResponseCommentUpdateRequest;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Handles operations related to feedback response comments."},{"lineNumber":23,"author":{"gitId":"-"},"content":" *"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * @see FeedbackResponseComment"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * @see FeedbackResponseCommentsDb"},{"lineNumber":26,"author":{"gitId":"-"},"content":" */"},{"lineNumber":27,"author":{"gitId":"-"},"content":"public final class FeedbackResponseCommentsLogic {"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final FeedbackResponseCommentsLogic instance \u003d new FeedbackResponseCommentsLogic();"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private FeedbackResponseCommentsDb frcDb;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private FeedbackResponseCommentsLogic() {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" public static FeedbackResponseCommentsLogic inst() {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" }"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":41,"author":{"gitId":"-"},"content":" * Initialize dependencies for {@code FeedbackResponseCommentsLogic}."},{"lineNumber":42,"author":{"gitId":"-"},"content":" */"},{"lineNumber":43,"author":{"gitId":"-"},"content":" void initLogicDependencies(FeedbackResponseCommentsDb frcDb) {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" this.frcDb \u003d frcDb;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Gets an feedback response comment by feedback response comment id."},{"lineNumber":49,"author":{"gitId":"-"},"content":" * @param id of feedback response comment."},{"lineNumber":50,"author":{"gitId":"-"},"content":" * @return the specified feedback response comment."},{"lineNumber":51,"author":{"gitId":"-"},"content":" */"},{"lineNumber":52,"author":{"gitId":"-"},"content":" public FeedbackResponseComment getFeedbackResponseComment(Long id) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" return frcDb.getFeedbackResponseComment(id);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" * Gets all feedback response comments for a response."},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentForResponse(UUID feedbackResponseId) {"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" return frcDb.getFeedbackResponseCommentsForResponse(feedbackResponseId);"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" * Gets all response comments for a response."},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentsForResponse(UUID feedbackResponseId) {"},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" assert feedbackResponseId !\u003d null;"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" return frcDb.getFeedbackResponseCommentsForResponse(feedbackResponseId);"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Gets the comment associated with the response."},{"lineNumber":74,"author":{"gitId":"-"},"content":" */"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public FeedbackResponseComment getFeedbackResponseCommentForResponseFromParticipant("},{"lineNumber":76,"author":{"gitId":"-"},"content":" UUID feedbackResponseId) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" return frcDb.getFeedbackResponseCommentForResponseFromParticipant(feedbackResponseId);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":81,"author":{"gitId":"-"},"content":" * Creates a feedback response comment."},{"lineNumber":82,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the comment alreadty exists"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the comment is invalid"},{"lineNumber":84,"author":{"gitId":"-"},"content":" */"},{"lineNumber":85,"author":{"gitId":"-"},"content":" public FeedbackResponseComment createFeedbackResponseComment(FeedbackResponseComment frc)"},{"lineNumber":86,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" return frcDb.createFeedbackResponseComment(frc);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":91,"author":{"gitId":"-"},"content":" * Deletes a feedbackResponseComment."},{"lineNumber":92,"author":{"gitId":"-"},"content":" */"},{"lineNumber":93,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponseComment(Long frcId) {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" frcDb.deleteFeedbackResponseComment(frcId);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Updates a feedback response comment by {@link FeedbackResponseComment}."},{"lineNumber":99,"author":{"gitId":"-"},"content":" *"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * @return updated comment"},{"lineNumber":101,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":102,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the comment cannot be found"},{"lineNumber":103,"author":{"gitId":"-"},"content":" */"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public FeedbackResponseComment updateFeedbackResponseComment(FeedbackResponseComment feedbackResponseComment)"},{"lineNumber":105,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" return frcDb.updateFeedbackResponseComment(feedbackResponseComment);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":111,"author":{"gitId":"-"},"content":" * Updates a feedback response comment."},{"lineNumber":112,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the comment does not exist"},{"lineNumber":113,"author":{"gitId":"-"},"content":" */"},{"lineNumber":114,"author":{"gitId":"-"},"content":" public FeedbackResponseComment updateFeedbackResponseComment(Long frcId,"},{"lineNumber":115,"author":{"gitId":"-"},"content":" FeedbackResponseCommentUpdateRequest updateRequest, String updaterEmail)"},{"lineNumber":116,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" FeedbackResponseComment comment \u003d frcDb.getFeedbackResponseComment(frcId);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" if (comment \u003d\u003d null) {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to update a feedback response comment that does not exist.\");"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" comment.setCommentText(updateRequest.getCommentText());"},{"lineNumber":123,"author":{"gitId":"-"},"content":" comment.setShowCommentTo(updateRequest.getShowCommentTo());"},{"lineNumber":124,"author":{"gitId":"-"},"content":" comment.setShowGiverNameTo(updateRequest.getShowGiverNameTo());"},{"lineNumber":125,"author":{"gitId":"-"},"content":" comment.setLastEditorEmail(updaterEmail);"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" return comment;"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" * Updates all feedback response comments with new emails."},{"lineNumber":132,"author":{"gitId":"-"},"content":" */"},{"lineNumber":133,"author":{"gitId":"-"},"content":" public void updateFeedbackResponseCommentsEmails(String courseId, String oldEmail, String updatedEmail) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" frcDb.updateGiverEmailOfFeedbackResponseComments(courseId, oldEmail, updatedEmail);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" frcDb.updateLastEditorEmailOfFeedbackResponseComments(courseId, oldEmail, updatedEmail);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":" * Updates all feedback response comments with new sections."},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" public void updateFeedbackResponseCommentsForResponse(FeedbackResponse response)"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponseComment\u003e comments \u003d getFeedbackResponseCommentForResponse(response.getId());"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponseComment comment : comments) {"},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" comment.setGiverSection(response.getGiverSection());"},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":" comment.setRecipientSection(response.getRecipientSection());"},{"lineNumber":147,"author":{"gitId":"domoberzin"},"content":" frcDb.updateFeedbackResponseComment(comment);"},{"lineNumber":148,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":151,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":152,"author":{"gitId":"xenosf"},"content":" * Gets all feedback response comments for session in a section."},{"lineNumber":153,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":154,"author":{"gitId":"xenosf"},"content":" * @param courseId the course ID of the feedback session"},{"lineNumber":155,"author":{"gitId":"xenosf"},"content":" * @param feedbackSessionName the feedback session name"},{"lineNumber":156,"author":{"gitId":"xenosf"},"content":" * @param sectionName if null, will retrieve all comments in the session"},{"lineNumber":157,"author":{"gitId":"xenosf"},"content":" * @return a list of feedback response comments"},{"lineNumber":158,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":159,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentForSessionInSection("},{"lineNumber":160,"author":{"gitId":"xenosf"},"content":" String courseId, String feedbackSessionName, @Nullable String sectionName) {"},{"lineNumber":161,"author":{"gitId":"xenosf"},"content":" if (sectionName \u003d\u003d null) {"},{"lineNumber":162,"author":{"gitId":"xenosf"},"content":" return frcDb.getFeedbackResponseCommentsForSession(courseId, feedbackSessionName);"},{"lineNumber":163,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":164,"author":{"gitId":"xenosf"},"content":" return frcDb.getFeedbackResponseCommentsForSessionInSection(courseId, feedbackSessionName, sectionName);"},{"lineNumber":165,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":166,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":167,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":168,"author":{"gitId":"xenosf"},"content":" * Gets all feedback response comments for a question in a section."},{"lineNumber":169,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":170,"author":{"gitId":"xenosf"},"content":" * @param questionId the ID of the question"},{"lineNumber":171,"author":{"gitId":"xenosf"},"content":" * @param sectionName if null, will retrieve all comments for the question"},{"lineNumber":172,"author":{"gitId":"xenosf"},"content":" * @return a list of feedback response comments"},{"lineNumber":173,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":174,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentForQuestionInSection("},{"lineNumber":175,"author":{"gitId":"xenosf"},"content":" UUID questionId, @Nullable String sectionName) {"},{"lineNumber":176,"author":{"gitId":"xenosf"},"content":" if (sectionName \u003d\u003d null) {"},{"lineNumber":177,"author":{"gitId":"xenosf"},"content":" return frcDb.getFeedbackResponseCommentsForQuestion(questionId);"},{"lineNumber":178,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":179,"author":{"gitId":"xenosf"},"content":" return frcDb.getFeedbackResponseCommentsForQuestionInSection(questionId, sectionName);"},{"lineNumber":180,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":181,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":182,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":183,"author":{"gitId":"xenosf"},"content":" * Verifies whether the comment is visible to certain user."},{"lineNumber":184,"author":{"gitId":"xenosf"},"content":" * @return true/false"},{"lineNumber":185,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":186,"author":{"gitId":"xenosf"},"content":" public boolean checkIsResponseCommentVisibleForUser(String userEmail, boolean isInstructor,"},{"lineNumber":187,"author":{"gitId":"xenosf"},"content":" Student student, Set\u003cString\u003e studentsEmailInTeam, FeedbackResponse response,"},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion relatedQuestion, FeedbackResponseComment relatedComment) {"},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" if (response \u003d\u003d null || relatedQuestion \u003d\u003d null) {"},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" boolean isVisibilityFollowingFeedbackQuestion \u003d relatedComment.getIsVisibilityFollowingFeedbackQuestion();"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":" boolean isVisibleToGiver \u003d isVisibilityFollowingFeedbackQuestion"},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":" || relatedComment.checkIsVisibleTo(FeedbackParticipantType.GIVER);"},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":" boolean isVisibleToUser \u003d checkIsVisibleToUser(userEmail, response, relatedQuestion, relatedComment,"},{"lineNumber":199,"author":{"gitId":"xenosf"},"content":" isVisibleToGiver, isInstructor, !isInstructor);"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":" boolean isVisibleToUserTeam \u003d checkIsVisibleToUserTeam(student, studentsEmailInTeam, response,"},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" relatedQuestion, relatedComment, !isInstructor);"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":204,"author":{"gitId":"xenosf"},"content":" return isVisibleToUser || isVisibleToUserTeam;"},{"lineNumber":205,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":206,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":207,"author":{"gitId":"xenosf"},"content":" private boolean checkIsVisibleToUserTeam(Student student, Set\u003cString\u003e studentsEmailInTeam,"},{"lineNumber":208,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response, FeedbackQuestion relatedQuestion,"},{"lineNumber":209,"author":{"gitId":"xenosf"},"content":" FeedbackResponseComment relatedComment, boolean isUserStudent) {"},{"lineNumber":210,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":211,"author":{"gitId":"xenosf"},"content":" boolean isUserInResponseRecipientTeamAndRelatedResponseCommentVisibleToRecipients \u003d"},{"lineNumber":212,"author":{"gitId":"xenosf"},"content":" isUserStudent"},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 relatedQuestion.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 checkIsResponseCommentVisibleTo(relatedQuestion, relatedComment,"},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType.RECEIVER)"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 response.getRecipient().equals(student.getTeamName());"},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":" boolean isUserInResponseGiverTeamAndRelatedResponseCommentVisibleToGiversTeamMembers \u003d"},{"lineNumber":219,"author":{"gitId":"xenosf"},"content":" (relatedQuestion.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":220,"author":{"gitId":"xenosf"},"content":" || checkIsResponseCommentVisibleTo(relatedQuestion, relatedComment,"},{"lineNumber":221,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType.OWN_TEAM_MEMBERS))"},{"lineNumber":222,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 (studentsEmailInTeam.contains(response.getGiver())"},{"lineNumber":223,"author":{"gitId":"xenosf"},"content":" || isUserStudent \u0026\u0026 student.getTeamName().equals(response.getGiver()));"},{"lineNumber":224,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":225,"author":{"gitId":"xenosf"},"content":" boolean isUserInResponseRecipientTeamAndRelatedResponseCommentVisibleToRecipientsTeamMembers \u003d"},{"lineNumber":226,"author":{"gitId":"xenosf"},"content":" checkIsResponseCommentVisibleTo(relatedQuestion, relatedComment,"},{"lineNumber":227,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType.RECEIVER_TEAM_MEMBERS)"},{"lineNumber":228,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 studentsEmailInTeam.contains(response.getRecipient());"},{"lineNumber":229,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":230,"author":{"gitId":"xenosf"},"content":" return isUserInResponseRecipientTeamAndRelatedResponseCommentVisibleToRecipients"},{"lineNumber":231,"author":{"gitId":"xenosf"},"content":" || isUserInResponseGiverTeamAndRelatedResponseCommentVisibleToGiversTeamMembers"},{"lineNumber":232,"author":{"gitId":"xenosf"},"content":" || isUserInResponseRecipientTeamAndRelatedResponseCommentVisibleToRecipientsTeamMembers;"},{"lineNumber":233,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":234,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":235,"author":{"gitId":"xenosf"},"content":" private boolean checkIsVisibleToUser(String userEmail, FeedbackResponse response,"},{"lineNumber":236,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion relatedQuestion, FeedbackResponseComment relatedComment,"},{"lineNumber":237,"author":{"gitId":"xenosf"},"content":" boolean isVisibleToGiver, boolean isUserInstructor, boolean isUserStudent) {"},{"lineNumber":238,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":239,"author":{"gitId":"xenosf"},"content":" boolean isUserInstructorAndRelatedResponseCommentVisibleToInstructors \u003d"},{"lineNumber":240,"author":{"gitId":"xenosf"},"content":" isUserInstructor \u0026\u0026 checkIsResponseCommentVisibleTo(relatedQuestion, relatedComment,"},{"lineNumber":241,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":242,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":243,"author":{"gitId":"xenosf"},"content":" boolean isUserResponseRecipientAndRelatedResponseCommentVisibleToRecipients \u003d"},{"lineNumber":244,"author":{"gitId":"xenosf"},"content":" response.getRecipient().equals(userEmail) \u0026\u0026 checkIsResponseCommentVisibleTo(relatedQuestion,"},{"lineNumber":245,"author":{"gitId":"xenosf"},"content":" relatedComment, FeedbackParticipantType.RECEIVER);"},{"lineNumber":246,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":247,"author":{"gitId":"xenosf"},"content":" boolean isUserResponseGiverAndRelatedResponseCommentVisibleToGivers \u003d"},{"lineNumber":248,"author":{"gitId":"xenosf"},"content":" response.getGiver().equals(userEmail) \u0026\u0026 isVisibleToGiver;"},{"lineNumber":249,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":250,"author":{"gitId":"xenosf"},"content":" boolean isUserRelatedResponseCommentGiver \u003d relatedComment.getGiver().equals(userEmail);"},{"lineNumber":251,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":252,"author":{"gitId":"xenosf"},"content":" boolean isUserStudentAndRelatedResponseCommentVisibleToStudents \u003d"},{"lineNumber":253,"author":{"gitId":"xenosf"},"content":" isUserStudent \u0026\u0026 checkIsResponseCommentVisibleTo(relatedQuestion,"},{"lineNumber":254,"author":{"gitId":"xenosf"},"content":" relatedComment, FeedbackParticipantType.STUDENTS);"},{"lineNumber":255,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":256,"author":{"gitId":"xenosf"},"content":" return isUserInstructorAndRelatedResponseCommentVisibleToInstructors"},{"lineNumber":257,"author":{"gitId":"xenosf"},"content":" || isUserResponseRecipientAndRelatedResponseCommentVisibleToRecipients"},{"lineNumber":258,"author":{"gitId":"xenosf"},"content":" || isUserResponseGiverAndRelatedResponseCommentVisibleToGivers"},{"lineNumber":259,"author":{"gitId":"xenosf"},"content":" || isUserRelatedResponseCommentGiver"},{"lineNumber":260,"author":{"gitId":"xenosf"},"content":" || isUserStudentAndRelatedResponseCommentVisibleToStudents;"},{"lineNumber":261,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":262,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":263,"author":{"gitId":"xenosf"},"content":" private boolean checkIsResponseCommentVisibleTo(FeedbackQuestion relatedQuestion,"},{"lineNumber":264,"author":{"gitId":"xenosf"},"content":" FeedbackResponseComment relatedComment,"},{"lineNumber":265,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType viewerType) {"},{"lineNumber":266,"author":{"gitId":"xenosf"},"content":" boolean isVisibilityFollowingFeedbackQuestion \u003d relatedComment.getIsVisibilityFollowingFeedbackQuestion();"},{"lineNumber":267,"author":{"gitId":"xenosf"},"content":" return isVisibilityFollowingFeedbackQuestion"},{"lineNumber":268,"author":{"gitId":"xenosf"},"content":" ? relatedQuestion.isResponseVisibleTo(viewerType)"},{"lineNumber":269,"author":{"gitId":"xenosf"},"content":" : relatedComment.checkIsVisibleTo(viewerType);"},{"lineNumber":270,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":271,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":272,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":273,"author":{"gitId":"xenosf"},"content":" * Returns true if the comment\u0027s giver name is visible to certain user."},{"lineNumber":274,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":275,"author":{"gitId":"xenosf"},"content":" public boolean checkIsNameVisibleToUser(FeedbackResponseComment comment, FeedbackResponse response,"},{"lineNumber":276,"author":{"gitId":"xenosf"},"content":" String userEmail, SqlCourseRoster roster) {"},{"lineNumber":277,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackParticipantType\u003e showNameTo \u003d comment.getShowGiverNameTo();"},{"lineNumber":278,"author":{"gitId":"xenosf"},"content":" //in the old ver, name is always visible"},{"lineNumber":279,"author":{"gitId":"xenosf"},"content":" if (showNameTo \u003d\u003d null || comment.getIsVisibilityFollowingFeedbackQuestion()) {"},{"lineNumber":280,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":281,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":282,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":283,"author":{"gitId":"xenosf"},"content":" //comment giver can always see"},{"lineNumber":284,"author":{"gitId":"xenosf"},"content":" if (userEmail.equals(comment.getGiver())) {"},{"lineNumber":285,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":286,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":287,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":288,"author":{"gitId":"xenosf"},"content":" return checkIsFeedbackParticipantNameVisibleToUser(response, userEmail, roster, showNameTo);"},{"lineNumber":289,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":290,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":291,"author":{"gitId":"xenosf"},"content":" private boolean checkIsFeedbackParticipantNameVisibleToUser(FeedbackResponse response,"},{"lineNumber":292,"author":{"gitId":"xenosf"},"content":" String userEmail, SqlCourseRoster roster, List\u003cFeedbackParticipantType\u003e showNameTo) {"},{"lineNumber":293,"author":{"gitId":"xenosf"},"content":" String responseGiverTeam \u003d \"giverTeam\";"},{"lineNumber":294,"author":{"gitId":"xenosf"},"content":" if (roster.getStudentForEmail(response.getGiver()) !\u003d null) {"},{"lineNumber":295,"author":{"gitId":"xenosf"},"content":" responseGiverTeam \u003d roster.getStudentForEmail(response.getGiver()).getTeamName();"},{"lineNumber":296,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":297,"author":{"gitId":"xenosf"},"content":" String responseRecipientTeam \u003d \"recipientTeam\";"},{"lineNumber":298,"author":{"gitId":"xenosf"},"content":" if (roster.getStudentForEmail(response.getRecipient()) !\u003d null) {"},{"lineNumber":299,"author":{"gitId":"xenosf"},"content":" responseRecipientTeam \u003d roster.getStudentForEmail(response.getRecipient()).getTeamName();"},{"lineNumber":300,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":301,"author":{"gitId":"xenosf"},"content":" String currentUserTeam \u003d \"currentUserTeam\";"},{"lineNumber":302,"author":{"gitId":"xenosf"},"content":" if (roster.getStudentForEmail(userEmail) !\u003d null) {"},{"lineNumber":303,"author":{"gitId":"xenosf"},"content":" currentUserTeam \u003d roster.getStudentForEmail(userEmail).getTeamName();"},{"lineNumber":304,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":305,"author":{"gitId":"xenosf"},"content":" for (FeedbackParticipantType type : showNameTo) {"},{"lineNumber":306,"author":{"gitId":"xenosf"},"content":" switch (type) {"},{"lineNumber":307,"author":{"gitId":"xenosf"},"content":" case INSTRUCTORS:"},{"lineNumber":308,"author":{"gitId":"xenosf"},"content":" if (roster.getInstructorForEmail(userEmail) !\u003d null) {"},{"lineNumber":309,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":310,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":311,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":312,"author":{"gitId":"xenosf"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":313,"author":{"gitId":"xenosf"},"content":" if (responseGiverTeam.equals(currentUserTeam)) {"},{"lineNumber":314,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":315,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":316,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":317,"author":{"gitId":"xenosf"},"content":" case RECEIVER:"},{"lineNumber":318,"author":{"gitId":"xenosf"},"content":" if (userEmail.equals(response.getRecipient())) {"},{"lineNumber":319,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":320,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":321,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":322,"author":{"gitId":"xenosf"},"content":" case RECEIVER_TEAM_MEMBERS:"},{"lineNumber":323,"author":{"gitId":"xenosf"},"content":" if (responseRecipientTeam.equals(currentUserTeam)) {"},{"lineNumber":324,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":325,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":326,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":327,"author":{"gitId":"xenosf"},"content":" case STUDENTS:"},{"lineNumber":328,"author":{"gitId":"xenosf"},"content":" if (roster.getStudentForEmail(userEmail) !\u003d null) {"},{"lineNumber":329,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":330,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":331,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":332,"author":{"gitId":"xenosf"},"content":" case GIVER:"},{"lineNumber":333,"author":{"gitId":"xenosf"},"content":" if (userEmail.equals(response.getGiver())) {"},{"lineNumber":334,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":335,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":336,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":337,"author":{"gitId":"xenosf"},"content":" default:"},{"lineNumber":338,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":339,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":340,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":341,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":342,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":343,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":32,"xenosf":199,"-":112}},{"path":"src/main/java/teammates/sqllogic/core/FeedbackResponsesLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import java.util.Collections;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import java.util.HashMap;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import java.util.HashSet;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":"import java.util.Set;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import javax.annotation.Nullable;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.FeedbackResultFetchType;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlCourseRoster;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.SqlSessionResultsBundle;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionType;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankRecipientsResponseDetails;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const;"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.RequestTracer;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackResponsesDb;"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.responses.FeedbackMissingResponse;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackRankRecipientsResponse;"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" * Handles operations related to feedback responses."},{"lineNumber":40,"author":{"gitId":"-"},"content":" *"},{"lineNumber":41,"author":{"gitId":"-"},"content":" * @see FeedbackResponse"},{"lineNumber":42,"author":{"gitId":"-"},"content":" * @see FeedbackResponsesDb"},{"lineNumber":43,"author":{"gitId":"-"},"content":" */"},{"lineNumber":44,"author":{"gitId":"-"},"content":"public final class FeedbackResponsesLogic {"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final FeedbackResponsesLogic instance \u003d new FeedbackResponsesLogic();"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" private FeedbackResponsesDb frDb;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private UsersLogic usersLogic;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private FeedbackQuestionsLogic fqLogic;"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" private FeedbackResponseCommentsLogic frcLogic;"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" private FeedbackResponsesLogic() {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" public static FeedbackResponsesLogic inst() {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Initialize dependencies for {@code FeedbackResponsesLogic}."},{"lineNumber":63,"author":{"gitId":"-"},"content":" */"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" void initLogicDependencies(FeedbackResponsesDb frDb,"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" UsersLogic usersLogic, FeedbackQuestionsLogic fqLogic, FeedbackResponseCommentsLogic frcLogic) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" this.frDb \u003d frDb;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" this.usersLogic \u003d usersLogic;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" this.fqLogic \u003d fqLogic;"},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" this.frcLogic \u003d frcLogic;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Gets a feedbackResponse or null if it does not exist."},{"lineNumber":74,"author":{"gitId":"-"},"content":" */"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public FeedbackResponse getFeedbackResponse(UUID frId) {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" return frDb.getFeedbackResponse(frId);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":80,"author":{"gitId":"-"},"content":" * Returns true if the responses of the question are visible to students."},{"lineNumber":81,"author":{"gitId":"-"},"content":" */"},{"lineNumber":82,"author":{"gitId":"-"},"content":" public boolean isResponseOfFeedbackQuestionVisibleToStudent(FeedbackQuestion question) {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" if (question.isResponseVisibleTo(FeedbackParticipantType.STUDENTS)) {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":" boolean isStudentRecipientType \u003d"},{"lineNumber":87,"author":{"gitId":"-"},"content":" question.getRecipientType().equals(FeedbackParticipantType.STUDENTS)"},{"lineNumber":88,"author":{"gitId":"-"},"content":" || question.getRecipientType().equals(FeedbackParticipantType.STUDENTS_EXCLUDING_SELF)"},{"lineNumber":89,"author":{"gitId":"-"},"content":" || question.getRecipientType().equals(FeedbackParticipantType.STUDENTS_IN_SAME_SECTION)"},{"lineNumber":90,"author":{"gitId":"-"},"content":" || question.getRecipientType().equals(FeedbackParticipantType.OWN_TEAM_MEMBERS)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" || question.getRecipientType().equals(FeedbackParticipantType.OWN_TEAM_MEMBERS_INCLUDING_SELF)"},{"lineNumber":92,"author":{"gitId":"-"},"content":" || question.getRecipientType().equals(FeedbackParticipantType.GIVER)"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u0026\u0026 question.getGiverType().equals(FeedbackParticipantType.STUDENTS);"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" if ((isStudentRecipientType || question.getRecipientType().isTeam())"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u0026\u0026 question.isResponseVisibleTo(FeedbackParticipantType.RECEIVER)) {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":100,"author":{"gitId":"-"},"content":" || question.isResponseVisibleTo(FeedbackParticipantType.OWN_TEAM_MEMBERS)) {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return question.isResponseVisibleTo(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":107,"author":{"gitId":"-"},"content":" * Returns true if the responses of the question are visible to instructors."},{"lineNumber":108,"author":{"gitId":"-"},"content":" */"},{"lineNumber":109,"author":{"gitId":"-"},"content":" public boolean isResponseOfFeedbackQuestionVisibleToInstructor(FeedbackQuestion question) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" return question.isResponseVisibleTo(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":114,"author":{"gitId":"-"},"content":" * Checks whether a giver has responded a session."},{"lineNumber":115,"author":{"gitId":"-"},"content":" */"},{"lineNumber":116,"author":{"gitId":"-"},"content":" public boolean hasGiverRespondedForSession(String giverIdentifier, List\u003cFeedbackQuestion\u003e questions) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" assert questions !\u003d null;"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" for (FeedbackQuestion question : questions) {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" boolean hasResponse \u003d question"},{"lineNumber":121,"author":{"gitId":"-"},"content":" .getFeedbackResponses()"},{"lineNumber":122,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .anyMatch(response -\u003e response.getGiver().equals(giverIdentifier));"},{"lineNumber":124,"author":{"gitId":"-"},"content":" if (hasResponse) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * Checks whether a giver has responded a session."},{"lineNumber":134,"author":{"gitId":"-"},"content":" */"},{"lineNumber":135,"author":{"gitId":"-"},"content":" public boolean hasGiverRespondedForSession(String giver, String feedbackSessionName, String courseId) {"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" return frDb.hasResponsesFromGiverInSession(giver, feedbackSessionName, courseId);"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":141,"author":{"gitId":"-"},"content":" * Creates a feedback response."},{"lineNumber":142,"author":{"gitId":"-"},"content":" * @return the created response"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the response is not valid"},{"lineNumber":144,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the response already exist"},{"lineNumber":145,"author":{"gitId":"-"},"content":" */"},{"lineNumber":146,"author":{"gitId":"-"},"content":" public FeedbackResponse createFeedbackResponse(FeedbackResponse feedbackResponse)"},{"lineNumber":147,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" return frDb.createFeedbackResponse(feedbackResponse);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":152,"author":{"gitId":"-"},"content":" * Get existing feedback responses from instructor for the given question."},{"lineNumber":153,"author":{"gitId":"-"},"content":" */"},{"lineNumber":154,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromInstructorForQuestion("},{"lineNumber":155,"author":{"gitId":"-"},"content":" FeedbackQuestion question, Instructor instructor) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" return frDb.getFeedbackResponsesFromGiverForQuestion("},{"lineNumber":157,"author":{"gitId":"-"},"content":" question.getId(), instructor.getEmail());"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":161,"author":{"gitId":"-"},"content":" * Get existing feedback responses from student or his team for the given"},{"lineNumber":162,"author":{"gitId":"-"},"content":" * question."},{"lineNumber":163,"author":{"gitId":"-"},"content":" */"},{"lineNumber":164,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromStudentOrTeamForQuestion("},{"lineNumber":165,"author":{"gitId":"-"},"content":" FeedbackQuestion question, Student student) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" return getFeedbackResponsesFromTeamForQuestion("},{"lineNumber":168,"author":{"gitId":"-"},"content":" question.getId(), question.getCourseId(), student.getTeamName(), null);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":170,"author":{"gitId":"-"},"content":" return frDb.getFeedbackResponsesFromGiverForQuestion(question.getId(), student.getEmail());"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" private List\u003cFeedbackResponse\u003e getFeedbackResponsesFromTeamForQuestion("},{"lineNumber":174,"author":{"gitId":"-"},"content":" UUID feedbackQuestionId, String courseId, String teamName, @Nullable SqlCourseRoster courseRoster) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e responses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":177,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentsInTeam \u003d courseRoster \u003d\u003d null"},{"lineNumber":178,"author":{"gitId":"-"},"content":" ? usersLogic.getStudentsForTeam(teamName, courseId) : courseRoster.getTeamToMembersTable().get(teamName);"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" for (Student student : studentsInTeam) {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" responses.addAll(frDb.getFeedbackResponsesFromGiverForQuestion("},{"lineNumber":182,"author":{"gitId":"-"},"content":" feedbackQuestionId, student.getEmail()));"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" responses.addAll(frDb.getFeedbackResponsesFromGiverForQuestion("},{"lineNumber":186,"author":{"gitId":"-"},"content":" feedbackQuestionId, teamName));"},{"lineNumber":187,"author":{"gitId":"-"},"content":" return responses;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":191,"author":{"gitId":"-"},"content":" * Updates a non-null feedback response by {@link FeedbackResponse}."},{"lineNumber":192,"author":{"gitId":"-"},"content":" *"},{"lineNumber":193,"author":{"gitId":"-"},"content":" * \u003cp\u003eCascade updates its associated feedback response comment"},{"lineNumber":194,"author":{"gitId":"-"},"content":" * (e.g. associated response ID, giverSection and recipientSection)."},{"lineNumber":195,"author":{"gitId":"-"},"content":" *"},{"lineNumber":196,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf the giver/recipient field is changed, the response is updated by recreating the response"},{"lineNumber":197,"author":{"gitId":"-"},"content":" * as question-giver-recipient is the primary key."},{"lineNumber":198,"author":{"gitId":"-"},"content":" *"},{"lineNumber":199,"author":{"gitId":"-"},"content":" * @return updated feedback response"},{"lineNumber":200,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":201,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the comment cannot be found"},{"lineNumber":202,"author":{"gitId":"-"},"content":" */"},{"lineNumber":203,"author":{"gitId":"-"},"content":" public FeedbackResponse updateFeedbackResponseCascade(FeedbackResponse feedbackResponse)"},{"lineNumber":204,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" FeedbackResponse oldResponse \u003d frDb.getFeedbackResponse(feedbackResponse.getId());"},{"lineNumber":207,"author":{"gitId":"-"},"content":" FeedbackResponse newResponse \u003d frDb.updateFeedbackResponse(feedbackResponse);"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" boolean isGiverSectionChanged \u003d !oldResponse.getGiverSection().equals(newResponse.getGiverSection());"},{"lineNumber":210,"author":{"gitId":"-"},"content":" boolean isRecipientSectionChanged \u003d !oldResponse.getRecipientSection().equals(newResponse.getRecipientSection());"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" if (isGiverSectionChanged || isRecipientSectionChanged) {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponseComment\u003e oldResponseComments \u003d"},{"lineNumber":214,"author":{"gitId":"-"},"content":" frcLogic.getFeedbackResponseCommentForResponse(oldResponse.getId());"},{"lineNumber":215,"author":{"gitId":"-"},"content":" for (FeedbackResponseComment oldResponseComment : oldResponseComments) {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" if (isGiverSectionChanged) {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" oldResponseComment.setGiverSection(newResponse.getGiverSection());"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" if (isRecipientSectionChanged) {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" oldResponseComment.setRecipientSection(newResponse.getRecipientSection());"},{"lineNumber":222,"author":{"gitId":"-"},"content":" }"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":" frcLogic.updateFeedbackResponseComment(oldResponseComment);"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" }"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" return newResponse;"},{"lineNumber":230,"author":{"gitId":"-"},"content":" }"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":233,"author":{"gitId":"-"},"content":" * Deletes a feedback response cascade its associated feedback response comments."},{"lineNumber":234,"author":{"gitId":"-"},"content":" * Implicitly makes use of CascadeType.REMOVE."},{"lineNumber":235,"author":{"gitId":"-"},"content":" */"},{"lineNumber":236,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponsesAndCommentsCascade(FeedbackResponse feedbackResponse) {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" frDb.deleteFeedbackResponse(feedbackResponse);"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":241,"author":{"gitId":"-"},"content":" * Deletes all feedback responses of a question cascade its associated comments."},{"lineNumber":242,"author":{"gitId":"-"},"content":" */"},{"lineNumber":243,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponsesForQuestionCascade(UUID feedbackQuestionId) {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" // delete all responses, comments of the question"},{"lineNumber":245,"author":{"gitId":"-"},"content":" frDb.deleteFeedbackResponsesForQuestionCascade(feedbackQuestionId);"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * Checks whether there are responses for a question."},{"lineNumber":250,"author":{"gitId":"-"},"content":" */"},{"lineNumber":251,"author":{"gitId":"-"},"content":" public boolean areThereResponsesForQuestion(UUID questionId) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" return frDb.areThereResponsesForQuestion(questionId);"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":256,"author":{"gitId":"-"},"content":" * Checks whether there are responses for a course."},{"lineNumber":257,"author":{"gitId":"-"},"content":" */"},{"lineNumber":258,"author":{"gitId":"-"},"content":" public boolean hasResponsesForCourse(String courseId) {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" return frDb.hasResponsesForCourse(courseId);"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":264,"author":{"gitId":"-"},"content":" * Deletes all feedback responses involved an entity, cascade its associated comments."},{"lineNumber":265,"author":{"gitId":"-"},"content":" * Deletion will automatically be cascaded to each feedback response\u0027s comments,"},{"lineNumber":266,"author":{"gitId":"-"},"content":" * handled by Hibernate using the OnDelete annotation."},{"lineNumber":267,"author":{"gitId":"-"},"content":" */"},{"lineNumber":268,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponsesForCourseCascade(String courseId, String entityEmail) {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" // delete responses from the entity"},{"lineNumber":270,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e responsesFromStudent \u003d"},{"lineNumber":271,"author":{"gitId":"-"},"content":" getFeedbackResponsesFromGiverForCourse(courseId, entityEmail);"},{"lineNumber":272,"author":{"gitId":"-"},"content":" for (FeedbackResponse response : responsesFromStudent) {"},{"lineNumber":273,"author":{"gitId":"-"},"content":" frDb.deleteFeedbackResponse(response);"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" // delete responses to the entity"},{"lineNumber":277,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e responsesToStudent \u003d"},{"lineNumber":278,"author":{"gitId":"-"},"content":" getFeedbackResponsesForRecipientForCourse(courseId, entityEmail);"},{"lineNumber":279,"author":{"gitId":"-"},"content":" for (FeedbackResponse response : responsesToStudent) {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" frDb.deleteFeedbackResponse(response);"},{"lineNumber":281,"author":{"gitId":"-"},"content":" }"},{"lineNumber":282,"author":{"gitId":"-"},"content":" }"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":285,"author":{"gitId":"-"},"content":" * Gets all responses given by a user for a course."},{"lineNumber":286,"author":{"gitId":"-"},"content":" */"},{"lineNumber":287,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromGiverForCourse("},{"lineNumber":288,"author":{"gitId":"-"},"content":" String courseId, String giver) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":290,"author":{"gitId":"-"},"content":" assert giver !\u003d null;"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" return frDb.getFeedbackResponsesFromGiverForCourse(courseId, giver);"},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":296,"author":{"gitId":"-"},"content":" * Gets all responses received by a user for a course."},{"lineNumber":297,"author":{"gitId":"-"},"content":" */"},{"lineNumber":298,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForRecipientForCourse("},{"lineNumber":299,"author":{"gitId":"-"},"content":" String courseId, String recipient) {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":301,"author":{"gitId":"-"},"content":" assert recipient !\u003d null;"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" return frDb.getFeedbackResponsesForRecipientForCourse(courseId, recipient);"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":307,"author":{"gitId":"-"},"content":" * Gets all responses given by a user for a question."},{"lineNumber":308,"author":{"gitId":"-"},"content":" */"},{"lineNumber":309,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromGiverForQuestion("},{"lineNumber":310,"author":{"gitId":"-"},"content":" UUID feedbackQuestionId, String giver) {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" return frDb.getFeedbackResponsesFromGiverForQuestion(feedbackQuestionId, giver);"},{"lineNumber":312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":315,"author":{"gitId":"xenosf"},"content":" * Gets all responses for a question."},{"lineNumber":316,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":317,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForQuestion(UUID feedbackQuestionId) {"},{"lineNumber":318,"author":{"gitId":"domoberzin"},"content":" return frDb.getResponsesForQuestion(feedbackQuestionId);"},{"lineNumber":319,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":320,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":322,"author":{"gitId":"-"},"content":" * Updates the relevant responses before the deletion of a student."},{"lineNumber":323,"author":{"gitId":"-"},"content":" * This method takes care of the following:"},{"lineNumber":324,"author":{"gitId":"-"},"content":" * Making existing responses of \u0027rank recipient question\u0027 consistent."},{"lineNumber":325,"author":{"gitId":"-"},"content":" */"},{"lineNumber":326,"author":{"gitId":"-"},"content":" public void updateRankRecipientQuestionResponsesAfterDeletingStudent(String courseId) {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e filteredQuestions \u003d"},{"lineNumber":328,"author":{"gitId":"-"},"content":" fqLogic.getFeedbackQuestionForCourseWithType(courseId, FeedbackQuestionType.RANK_RECIPIENTS);"},{"lineNumber":329,"author":{"gitId":"-"},"content":" SqlCourseRoster roster \u003d new SqlCourseRoster("},{"lineNumber":330,"author":{"gitId":"-"},"content":" usersLogic.getStudentsForCourse(courseId),"},{"lineNumber":331,"author":{"gitId":"-"},"content":" usersLogic.getInstructorsForCourse(courseId));"},{"lineNumber":332,"author":{"gitId":"-"},"content":""},{"lineNumber":333,"author":{"gitId":"-"},"content":" for (FeedbackQuestion question : filteredQuestions) {"},{"lineNumber":334,"author":{"gitId":"-"},"content":" makeRankRecipientQuestionResponsesConsistent(question, roster);"},{"lineNumber":335,"author":{"gitId":"-"},"content":" }"},{"lineNumber":336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":339,"author":{"gitId":"-"},"content":" * Makes the rankings by one giver in the response to a \u0027rank recipient question\u0027 consistent, after deleting a"},{"lineNumber":340,"author":{"gitId":"-"},"content":" * student."},{"lineNumber":341,"author":{"gitId":"-"},"content":" * \u003cp\u003e"},{"lineNumber":342,"author":{"gitId":"-"},"content":" * Fails silently if the question type is not \u0027rank recipient question\u0027."},{"lineNumber":343,"author":{"gitId":"-"},"content":" * \u003c/p\u003e"},{"lineNumber":344,"author":{"gitId":"-"},"content":" */"},{"lineNumber":345,"author":{"gitId":"-"},"content":" private void makeRankRecipientQuestionResponsesConsistent("},{"lineNumber":346,"author":{"gitId":"-"},"content":" FeedbackQuestion question, SqlCourseRoster roster) {"},{"lineNumber":347,"author":{"gitId":"mingyuanc"},"content":" assert question.getQuestionDetailsCopy().getQuestionType()"},{"lineNumber":348,"author":{"gitId":"-"},"content":" .equals(FeedbackQuestionType.RANK_RECIPIENTS);"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":" FeedbackParticipantType giverType \u003d question.getGiverType();"},{"lineNumber":351,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e responses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":352,"author":{"gitId":"-"},"content":" int numberOfRecipients \u003d 0;"},{"lineNumber":353,"author":{"gitId":"-"},"content":""},{"lineNumber":354,"author":{"gitId":"-"},"content":" switch (giverType) {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":356,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":357,"author":{"gitId":"-"},"content":" for (Instructor instructor : roster.getInstructors()) {"},{"lineNumber":358,"author":{"gitId":"-"},"content":" numberOfRecipients \u003d"},{"lineNumber":359,"author":{"gitId":"-"},"content":" fqLogic.getRecipientsOfQuestion(question, instructor, null, roster).size();"},{"lineNumber":360,"author":{"gitId":"-"},"content":" responses \u003d getFeedbackResponsesFromGiverForQuestion(question.getId(), instructor.getEmail());"},{"lineNumber":361,"author":{"gitId":"-"},"content":" }"},{"lineNumber":362,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":364,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":365,"author":{"gitId":"-"},"content":" Student firstMemberOfTeam;"},{"lineNumber":366,"author":{"gitId":"-"},"content":" String team;"},{"lineNumber":367,"author":{"gitId":"-"},"content":" Map\u003cString, List\u003cStudent\u003e\u003e teams \u003d roster.getTeamToMembersTable();"},{"lineNumber":368,"author":{"gitId":"-"},"content":" for (Map.Entry\u003cString, List\u003cStudent\u003e\u003e entry : teams.entrySet()) {"},{"lineNumber":369,"author":{"gitId":"-"},"content":" team \u003d entry.getKey();"},{"lineNumber":370,"author":{"gitId":"-"},"content":" firstMemberOfTeam \u003d entry.getValue().get(0);"},{"lineNumber":371,"author":{"gitId":"-"},"content":" numberOfRecipients \u003d"},{"lineNumber":372,"author":{"gitId":"-"},"content":" fqLogic.getRecipientsOfQuestion(question, null, firstMemberOfTeam, roster).size();"},{"lineNumber":373,"author":{"gitId":"-"},"content":" responses \u003d"},{"lineNumber":374,"author":{"gitId":"-"},"content":" getFeedbackResponsesFromTeamForQuestion("},{"lineNumber":375,"author":{"gitId":"-"},"content":" question.getId(), question.getCourseId(), team, roster);"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":378,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":379,"author":{"gitId":"-"},"content":" for (Student student : roster.getStudents()) {"},{"lineNumber":380,"author":{"gitId":"-"},"content":" numberOfRecipients \u003d"},{"lineNumber":381,"author":{"gitId":"-"},"content":" fqLogic.getRecipientsOfQuestion(question, null, student, roster).size();"},{"lineNumber":382,"author":{"gitId":"-"},"content":" responses \u003d getFeedbackResponsesFromGiverForQuestion(question.getId(), student.getEmail());"},{"lineNumber":383,"author":{"gitId":"-"},"content":" }"},{"lineNumber":384,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":385,"author":{"gitId":"-"},"content":" }"},{"lineNumber":386,"author":{"gitId":"-"},"content":""},{"lineNumber":387,"author":{"gitId":"-"},"content":" updateFeedbackResponsesForRankRecipientQuestions(responses, numberOfRecipients);"},{"lineNumber":388,"author":{"gitId":"-"},"content":" }"},{"lineNumber":389,"author":{"gitId":"-"},"content":""},{"lineNumber":390,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":391,"author":{"gitId":"-"},"content":" * Updates responses for \u0027rank recipient question\u0027, such that the ranks in the responses are consistent."},{"lineNumber":392,"author":{"gitId":"-"},"content":" * @param responses responses to one feedback question, from one giver"},{"lineNumber":393,"author":{"gitId":"-"},"content":" * @param maxRank the maximum rank in each response"},{"lineNumber":394,"author":{"gitId":"-"},"content":" */"},{"lineNumber":395,"author":{"gitId":"-"},"content":" private void updateFeedbackResponsesForRankRecipientQuestions("},{"lineNumber":396,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e responses, int maxRank) {"},{"lineNumber":397,"author":{"gitId":"-"},"content":" if (maxRank \u003c\u003d 0) {"},{"lineNumber":398,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":399,"author":{"gitId":"-"},"content":" }"},{"lineNumber":400,"author":{"gitId":"-"},"content":""},{"lineNumber":401,"author":{"gitId":"-"},"content":" FeedbackRankRecipientsResponseDetails responseDetails;"},{"lineNumber":402,"author":{"gitId":"-"},"content":" boolean[] isRankUsed;"},{"lineNumber":403,"author":{"gitId":"-"},"content":" boolean isUpdateNeeded \u003d false;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" int answer;"},{"lineNumber":405,"author":{"gitId":"-"},"content":" int maxUnusedRank \u003d 0;"},{"lineNumber":406,"author":{"gitId":"-"},"content":""},{"lineNumber":407,"author":{"gitId":"-"},"content":" // Checks whether update is needed."},{"lineNumber":408,"author":{"gitId":"-"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":409,"author":{"gitId":"-"},"content":" if (!(response instanceof FeedbackRankRecipientsResponse)) {"},{"lineNumber":410,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":411,"author":{"gitId":"-"},"content":" }"},{"lineNumber":412,"author":{"gitId":"-"},"content":" responseDetails \u003d ((FeedbackRankRecipientsResponse) response).getAnswer();"},{"lineNumber":413,"author":{"gitId":"-"},"content":" answer \u003d responseDetails.getAnswer();"},{"lineNumber":414,"author":{"gitId":"-"},"content":" if (answer \u003e maxRank) {"},{"lineNumber":415,"author":{"gitId":"-"},"content":" isUpdateNeeded \u003d true;"},{"lineNumber":416,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":417,"author":{"gitId":"-"},"content":" }"},{"lineNumber":418,"author":{"gitId":"-"},"content":" }"},{"lineNumber":419,"author":{"gitId":"-"},"content":""},{"lineNumber":420,"author":{"gitId":"-"},"content":" // Updates repeatedly, until all responses are consistent."},{"lineNumber":421,"author":{"gitId":"-"},"content":" while (isUpdateNeeded) {"},{"lineNumber":422,"author":{"gitId":"-"},"content":" isUpdateNeeded \u003d false; // will be set to true again once invalid rank appears after update"},{"lineNumber":423,"author":{"gitId":"-"},"content":" isRankUsed \u003d new boolean[maxRank];"},{"lineNumber":424,"author":{"gitId":"-"},"content":""},{"lineNumber":425,"author":{"gitId":"-"},"content":" // Obtains the largest unused rank."},{"lineNumber":426,"author":{"gitId":"-"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" if (!(response instanceof FeedbackRankRecipientsResponse)) {"},{"lineNumber":428,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":429,"author":{"gitId":"-"},"content":" }"},{"lineNumber":430,"author":{"gitId":"-"},"content":" responseDetails \u003d ((FeedbackRankRecipientsResponse) response).getAnswer();"},{"lineNumber":431,"author":{"gitId":"-"},"content":" answer \u003d responseDetails.getAnswer();"},{"lineNumber":432,"author":{"gitId":"-"},"content":" if (answer \u003c\u003d maxRank) {"},{"lineNumber":433,"author":{"gitId":"-"},"content":" isRankUsed[answer - 1] \u003d true;"},{"lineNumber":434,"author":{"gitId":"-"},"content":" }"},{"lineNumber":435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":436,"author":{"gitId":"-"},"content":" for (int i \u003d maxRank - 1; i \u003e\u003d 0; i--) {"},{"lineNumber":437,"author":{"gitId":"-"},"content":" if (!isRankUsed[i]) {"},{"lineNumber":438,"author":{"gitId":"-"},"content":" maxUnusedRank \u003d i + 1;"},{"lineNumber":439,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":440,"author":{"gitId":"-"},"content":" }"},{"lineNumber":441,"author":{"gitId":"-"},"content":" }"},{"lineNumber":442,"author":{"gitId":"-"},"content":" assert maxUnusedRank \u003e 0; // if update is needed, there must be at least one unused rank"},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":445,"author":{"gitId":"-"},"content":" if (response instanceof FeedbackRankRecipientsResponse) {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" responseDetails \u003d ((FeedbackRankRecipientsResponse) response).getAnswer();"},{"lineNumber":447,"author":{"gitId":"-"},"content":" answer \u003d responseDetails.getAnswer();"},{"lineNumber":448,"author":{"gitId":"-"},"content":" if (answer \u003e maxUnusedRank) {"},{"lineNumber":449,"author":{"gitId":"-"},"content":" answer--;"},{"lineNumber":450,"author":{"gitId":"-"},"content":" responseDetails.setAnswer(answer);"},{"lineNumber":451,"author":{"gitId":"-"},"content":" }"},{"lineNumber":452,"author":{"gitId":"-"},"content":" if (answer \u003e maxRank) {"},{"lineNumber":453,"author":{"gitId":"-"},"content":" isUpdateNeeded \u003d true; // sets the flag to true if the updated rank is still invalid"},{"lineNumber":454,"author":{"gitId":"-"},"content":" }"},{"lineNumber":455,"author":{"gitId":"-"},"content":" }"},{"lineNumber":456,"author":{"gitId":"-"},"content":" }"},{"lineNumber":457,"author":{"gitId":"-"},"content":" }"},{"lineNumber":458,"author":{"gitId":"-"},"content":" }"},{"lineNumber":459,"author":{"gitId":"-"},"content":""},{"lineNumber":460,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":461,"author":{"gitId":"domoberzin"},"content":" * Updates responses for a student when his team changes."},{"lineNumber":462,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003e"},{"lineNumber":463,"author":{"gitId":"domoberzin"},"content":" * This is done by deleting responses that are no longer relevant to him in his new team."},{"lineNumber":464,"author":{"gitId":"domoberzin"},"content":" * \u003c/p\u003e"},{"lineNumber":465,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":466,"author":{"gitId":"domoberzin"},"content":" public void updateFeedbackResponsesForChangingTeam(Course course, String newEmail, Team newTeam, Team oldTeam)"},{"lineNumber":467,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":468,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":469,"author":{"gitId":"domoberzin"},"content":" FeedbackQuestion qn;"},{"lineNumber":470,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":471,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponse\u003e responsesFromUser \u003d"},{"lineNumber":472,"author":{"gitId":"domoberzin"},"content":" getFeedbackResponsesFromGiverForCourse(course.getId(), newEmail);"},{"lineNumber":473,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":474,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponse response : responsesFromUser) {"},{"lineNumber":475,"author":{"gitId":"domoberzin"},"content":" qn \u003d fqLogic.getFeedbackQuestion(response.getId());"},{"lineNumber":476,"author":{"gitId":"domoberzin"},"content":" if (qn !\u003d null \u0026\u0026 qn.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS) {"},{"lineNumber":477,"author":{"gitId":"domoberzin"},"content":" deleteFeedbackResponsesForQuestionCascade(qn.getId());"},{"lineNumber":478,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":479,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":480,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":481,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponse\u003e responsesToUser \u003d"},{"lineNumber":482,"author":{"gitId":"domoberzin"},"content":" getFeedbackResponsesForRecipientForCourse(course.getId(), newEmail);"},{"lineNumber":483,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":484,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponse response : responsesToUser) {"},{"lineNumber":485,"author":{"gitId":"domoberzin"},"content":" qn \u003d fqLogic.getFeedbackQuestion(response.getId());"},{"lineNumber":486,"author":{"gitId":"domoberzin"},"content":" if (qn !\u003d null \u0026\u0026 qn.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS) {"},{"lineNumber":487,"author":{"gitId":"domoberzin"},"content":" deleteFeedbackResponsesForQuestionCascade(qn.getId());"},{"lineNumber":488,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":489,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":490,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":491,"author":{"gitId":"domoberzin"},"content":" boolean isOldTeamEmpty \u003d usersLogic.getStudentsForTeam(oldTeam.getName(), course.getId()).isEmpty();"},{"lineNumber":492,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":493,"author":{"gitId":"domoberzin"},"content":" if (isOldTeamEmpty) {"},{"lineNumber":494,"author":{"gitId":"domoberzin"},"content":" deleteFeedbackResponsesForCourseCascade(course.getId(), oldTeam.getName());"},{"lineNumber":495,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":496,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":497,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":498,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":499,"author":{"gitId":"domoberzin"},"content":" * Updates responses for a student when his section changes."},{"lineNumber":500,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":501,"author":{"gitId":"domoberzin"},"content":" public void updateFeedbackResponsesForChangingSection(Course course, String newEmail, Section newSection)"},{"lineNumber":502,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":503,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":504,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponse\u003e responsesFromUser \u003d"},{"lineNumber":505,"author":{"gitId":"domoberzin"},"content":" getFeedbackResponsesFromGiverForCourse(course.getId(), newEmail);"},{"lineNumber":506,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":507,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponse response : responsesFromUser) {"},{"lineNumber":508,"author":{"gitId":"domoberzin"},"content":" response.setGiverSection(newSection);"},{"lineNumber":509,"author":{"gitId":"domoberzin"},"content":" frDb.updateFeedbackResponse(response);"},{"lineNumber":510,"author":{"gitId":"domoberzin"},"content":" frcLogic.updateFeedbackResponseCommentsForResponse(response);"},{"lineNumber":511,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":512,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":513,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponse\u003e responsesToUser \u003d"},{"lineNumber":514,"author":{"gitId":"domoberzin"},"content":" getFeedbackResponsesForRecipientForCourse(course.getId(), newEmail);"},{"lineNumber":515,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":516,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponse response : responsesToUser) {"},{"lineNumber":517,"author":{"gitId":"domoberzin"},"content":" response.setRecipientSection(newSection);"},{"lineNumber":518,"author":{"gitId":"domoberzin"},"content":" frDb.updateFeedbackResponse(response);"},{"lineNumber":519,"author":{"gitId":"domoberzin"},"content":" frcLogic.updateFeedbackResponseCommentsForResponse(response);"},{"lineNumber":520,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":521,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":522,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":523,"author":{"gitId":"marquestye"},"content":" /**"},{"lineNumber":524,"author":{"gitId":"marquestye"},"content":" * Updates a student\u0027s email in their given/received responses."},{"lineNumber":525,"author":{"gitId":"marquestye"},"content":" */"},{"lineNumber":526,"author":{"gitId":"marquestye"},"content":" public void updateFeedbackResponsesForChangingEmail(String courseId, String oldEmail, String newEmail)"},{"lineNumber":527,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":528,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":529,"author":{"gitId":"marquestye"},"content":" List\u003cFeedbackResponse\u003e responsesFromUser \u003d"},{"lineNumber":530,"author":{"gitId":"marquestye"},"content":" getFeedbackResponsesFromGiverForCourse(courseId, oldEmail);"},{"lineNumber":531,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":532,"author":{"gitId":"marquestye"},"content":" for (FeedbackResponse response : responsesFromUser) {"},{"lineNumber":533,"author":{"gitId":"marquestye"},"content":" response.setGiver(newEmail);"},{"lineNumber":534,"author":{"gitId":"marquestye"},"content":" frDb.updateFeedbackResponse(response);"},{"lineNumber":535,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":536,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":537,"author":{"gitId":"marquestye"},"content":" List\u003cFeedbackResponse\u003e responsesToUser \u003d"},{"lineNumber":538,"author":{"gitId":"marquestye"},"content":" getFeedbackResponsesForRecipientForCourse(courseId, oldEmail);"},{"lineNumber":539,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":540,"author":{"gitId":"marquestye"},"content":" for (FeedbackResponse response : responsesToUser) {"},{"lineNumber":541,"author":{"gitId":"marquestye"},"content":" response.setRecipient(newEmail);"},{"lineNumber":542,"author":{"gitId":"marquestye"},"content":" frDb.updateFeedbackResponse(response);"},{"lineNumber":543,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":544,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":545,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":546,"author":{"gitId":"xenosf"},"content":" private List\u003cFeedbackQuestion\u003e getQuestionsForSession("},{"lineNumber":547,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, @Nullable UUID questionId) {"},{"lineNumber":548,"author":{"gitId":"xenosf"},"content":" if (questionId \u003d\u003d null) {"},{"lineNumber":549,"author":{"gitId":"xenosf"},"content":" return fqLogic.getFeedbackQuestionsForSession(feedbackSession);"},{"lineNumber":550,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":551,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq \u003d fqLogic.getFeedbackQuestion(questionId);"},{"lineNumber":552,"author":{"gitId":"xenosf"},"content":" return fq \u003d\u003d null ? Collections.emptyList() : Collections.singletonList(fq);"},{"lineNumber":553,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":554,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":555,"author":{"gitId":"xenosf"},"content":" private SqlSessionResultsBundle buildResultsBundle("},{"lineNumber":556,"author":{"gitId":"xenosf"},"content":" boolean isCourseWide, FeedbackSession feedbackSession, String courseId, String sectionName, UUID questionId,"},{"lineNumber":557,"author":{"gitId":"xenosf"},"content":" boolean isInstructor, String userEmail, Instructor instructor, Student student,"},{"lineNumber":558,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster roster, List\u003cFeedbackQuestion\u003e allQuestions,"},{"lineNumber":559,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e allResponses, boolean isPreviewResults) {"},{"lineNumber":560,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":561,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackQuestion\u003e questionsNotVisibleToInstructors \u003d new HashSet\u003c\u003e();"},{"lineNumber":562,"author":{"gitId":"xenosf"},"content":" for (FeedbackQuestion qn : allQuestions) {"},{"lineNumber":563,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":564,"author":{"gitId":"xenosf"},"content":" // set questions that should not be visible to instructors if results are being previewed"},{"lineNumber":565,"author":{"gitId":"xenosf"},"content":" if (isPreviewResults \u0026\u0026 !checkCanInstructorsSeeQuestion(qn)) {"},{"lineNumber":566,"author":{"gitId":"xenosf"},"content":" questionsNotVisibleToInstructors.add(qn);"},{"lineNumber":567,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":568,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":569,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":570,"author":{"gitId":"xenosf"},"content":" // load comment(s)"},{"lineNumber":571,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e allComments;"},{"lineNumber":572,"author":{"gitId":"xenosf"},"content":" if (questionId \u003d\u003d null) {"},{"lineNumber":573,"author":{"gitId":"xenosf"},"content":" allComments \u003d frcLogic.getFeedbackResponseCommentForSessionInSection("},{"lineNumber":574,"author":{"gitId":"xenosf"},"content":" courseId, feedbackSession.getName(), sectionName);"},{"lineNumber":575,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":576,"author":{"gitId":"xenosf"},"content":" allComments \u003d frcLogic.getFeedbackResponseCommentForQuestionInSection(questionId, sectionName);"},{"lineNumber":577,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":578,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":579,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":580,"author":{"gitId":"xenosf"},"content":" // related questions, responses, and comment"},{"lineNumber":581,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackQuestion\u003e relatedQuestions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":582,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e relatedResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":583,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, List\u003cFeedbackResponseComment\u003e\u003e relatedCommentsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":584,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackQuestion\u003e relatedQuestionsNotVisibleForPreviewSet \u003d new HashSet\u003c\u003e();"},{"lineNumber":585,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackQuestion\u003e relatedQuestionsWithCommentNotVisibleForPreview \u003d new HashSet\u003c\u003e();"},{"lineNumber":586,"author":{"gitId":"xenosf"},"content":" if (isCourseWide) {"},{"lineNumber":587,"author":{"gitId":"xenosf"},"content":" // all questions are related questions when viewing course-wide result"},{"lineNumber":588,"author":{"gitId":"xenosf"},"content":" for (FeedbackQuestion qn : allQuestions) {"},{"lineNumber":589,"author":{"gitId":"xenosf"},"content":" relatedQuestions.add(qn);"},{"lineNumber":590,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":591,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":592,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":593,"author":{"gitId":"xenosf"},"content":" Set\u003cString\u003e studentsEmailInTeam \u003d new HashSet\u003c\u003e();"},{"lineNumber":594,"author":{"gitId":"xenosf"},"content":" if (student !\u003d null) {"},{"lineNumber":595,"author":{"gitId":"xenosf"},"content":" for (Student studentInTeam"},{"lineNumber":596,"author":{"gitId":"mingyuanc"},"content":" : roster.getTeamToMembersTable().getOrDefault(student.getTeam().getName(), Collections.emptyList())) {"},{"lineNumber":597,"author":{"gitId":"xenosf"},"content":" studentsEmailInTeam.add(studentInTeam.getEmail());"},{"lineNumber":598,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":599,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":600,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":601,"author":{"gitId":"xenosf"},"content":" // visibility table for each response and comment"},{"lineNumber":602,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, Boolean\u003e responseGiverVisibilityTable \u003d new HashMap\u003c\u003e();"},{"lineNumber":603,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, Boolean\u003e responseRecipientVisibilityTable \u003d new HashMap\u003c\u003e();"},{"lineNumber":604,"author":{"gitId":"xenosf"},"content":" Map\u003cLong, Boolean\u003e commentVisibilityTable \u003d new HashMap\u003c\u003e();"},{"lineNumber":605,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":606,"author":{"gitId":"xenosf"},"content":" // build response"},{"lineNumber":607,"author":{"gitId":"xenosf"},"content":" for (FeedbackResponse response : allResponses) {"},{"lineNumber":608,"author":{"gitId":"xenosf"},"content":" if (isPreviewResults"},{"lineNumber":609,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 relatedQuestionsNotVisibleForPreviewSet.contains(response.getFeedbackQuestion())) {"},{"lineNumber":610,"author":{"gitId":"xenosf"},"content":" // corresponding question\u0027s responses will not be shown to previewer, ignore the response"},{"lineNumber":611,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":612,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":613,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion correspondingQuestion \u003d response.getFeedbackQuestion();"},{"lineNumber":614,"author":{"gitId":"xenosf"},"content":" if (correspondingQuestion \u003d\u003d null) {"},{"lineNumber":615,"author":{"gitId":"xenosf"},"content":" // orphan response without corresponding question, ignore it"},{"lineNumber":616,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":617,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":618,"author":{"gitId":"xenosf"},"content":" // check visibility of response"},{"lineNumber":619,"author":{"gitId":"xenosf"},"content":" boolean isVisibleResponse \u003d isResponseVisibleForUser("},{"lineNumber":620,"author":{"gitId":"xenosf"},"content":" userEmail, isInstructor, student, studentsEmailInTeam, response, correspondingQuestion, instructor);"},{"lineNumber":621,"author":{"gitId":"xenosf"},"content":" if (!isVisibleResponse) {"},{"lineNumber":622,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":623,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":624,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":625,"author":{"gitId":"xenosf"},"content":" // if previewing results and corresponding question should not be visible to instructors,"},{"lineNumber":626,"author":{"gitId":"xenosf"},"content":" // note down the question and do not add the response"},{"lineNumber":627,"author":{"gitId":"xenosf"},"content":" if (isPreviewResults \u0026\u0026 questionsNotVisibleToInstructors.contains(response.getFeedbackQuestion())) {"},{"lineNumber":628,"author":{"gitId":"xenosf"},"content":" relatedQuestionsNotVisibleForPreviewSet.add(response.getFeedbackQuestion());"},{"lineNumber":629,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":630,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":631,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":632,"author":{"gitId":"xenosf"},"content":" // if there are viewable responses, the corresponding question becomes related"},{"lineNumber":633,"author":{"gitId":"xenosf"},"content":" relatedQuestions.add(response.getFeedbackQuestion());"},{"lineNumber":634,"author":{"gitId":"xenosf"},"content":" relatedResponses.add(response);"},{"lineNumber":635,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":636,"author":{"gitId":"xenosf"},"content":" // generate giver/recipient name visibility table"},{"lineNumber":637,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable.put(response,"},{"lineNumber":638,"author":{"gitId":"xenosf"},"content":" isNameVisibleToUser(correspondingQuestion, response, userEmail, isInstructor, true, roster));"},{"lineNumber":639,"author":{"gitId":"xenosf"},"content":" responseRecipientVisibilityTable.put(response,"},{"lineNumber":640,"author":{"gitId":"xenosf"},"content":" isNameVisibleToUser(correspondingQuestion, response, userEmail, isInstructor, false, roster));"},{"lineNumber":641,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":642,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":643,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":644,"author":{"gitId":"xenosf"},"content":" // build comment"},{"lineNumber":645,"author":{"gitId":"xenosf"},"content":" for (FeedbackResponseComment frc : allComments) {"},{"lineNumber":646,"author":{"gitId":"xenosf"},"content":" FeedbackResponse relatedResponse \u003d frc.getFeedbackResponse();"},{"lineNumber":647,"author":{"gitId":"xenosf"},"content":" // the comment needs to be relevant to the question and response"},{"lineNumber":648,"author":{"gitId":"xenosf"},"content":" if (relatedResponse \u003d\u003d null) {"},{"lineNumber":649,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":650,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":651,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion relatedQuestion \u003d relatedResponse.getFeedbackQuestion();"},{"lineNumber":652,"author":{"gitId":"xenosf"},"content":" if (relatedQuestion \u003d\u003d null) {"},{"lineNumber":653,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":654,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":655,"author":{"gitId":"xenosf"},"content":" // check visibility of comment"},{"lineNumber":656,"author":{"gitId":"xenosf"},"content":" boolean isVisibleResponseComment \u003d frcLogic.checkIsResponseCommentVisibleForUser("},{"lineNumber":657,"author":{"gitId":"xenosf"},"content":" userEmail, isInstructor, student, studentsEmailInTeam, relatedResponse, relatedQuestion, frc);"},{"lineNumber":658,"author":{"gitId":"xenosf"},"content":" if (!isVisibleResponseComment) {"},{"lineNumber":659,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":660,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":661,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":662,"author":{"gitId":"xenosf"},"content":" // if previewing results and the comment should not be visible to instructors,"},{"lineNumber":663,"author":{"gitId":"xenosf"},"content":" // note down the corresponding question and do not add the comment"},{"lineNumber":664,"author":{"gitId":"xenosf"},"content":" if (isPreviewResults \u0026\u0026 !checkCanInstructorsSeeComment(frc)) {"},{"lineNumber":665,"author":{"gitId":"xenosf"},"content":" relatedQuestionsWithCommentNotVisibleForPreview.add(frc.getFeedbackResponse().getFeedbackQuestion());"},{"lineNumber":666,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":667,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":668,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":669,"author":{"gitId":"xenosf"},"content":" relatedCommentsMap.computeIfAbsent(relatedResponse, key -\u003e new ArrayList\u003c\u003e()).add(frc);"},{"lineNumber":670,"author":{"gitId":"xenosf"},"content":" // generate comment giver name visibility table"},{"lineNumber":671,"author":{"gitId":"xenosf"},"content":" commentVisibilityTable.put(frc.getId(),"},{"lineNumber":672,"author":{"gitId":"xenosf"},"content":" frcLogic.checkIsNameVisibleToUser(frc, relatedResponse, userEmail, roster));"},{"lineNumber":673,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":674,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":675,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":676,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e existingResponses \u003d new ArrayList\u003c\u003e(relatedResponses);"},{"lineNumber":677,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e missingResponses \u003d Collections.emptyList();"},{"lineNumber":678,"author":{"gitId":"xenosf"},"content":" if (isCourseWide) {"},{"lineNumber":679,"author":{"gitId":"xenosf"},"content":" missingResponses \u003d buildMissingResponses("},{"lineNumber":680,"author":{"gitId":"xenosf"},"content":" instructor, responseGiverVisibilityTable, responseRecipientVisibilityTable, relatedQuestions,"},{"lineNumber":681,"author":{"gitId":"xenosf"},"content":" existingResponses, roster, sectionName);"},{"lineNumber":682,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":683,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":684,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":685,"author":{"gitId":"xenosf"},"content":" return new SqlSessionResultsBundle(relatedQuestions, relatedQuestionsNotVisibleForPreviewSet,"},{"lineNumber":686,"author":{"gitId":"xenosf"},"content":" relatedQuestionsWithCommentNotVisibleForPreview, existingResponses, missingResponses,"},{"lineNumber":687,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable, responseRecipientVisibilityTable, relatedCommentsMap,"},{"lineNumber":688,"author":{"gitId":"xenosf"},"content":" commentVisibilityTable, roster);"},{"lineNumber":689,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":690,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":691,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":692,"author":{"gitId":"xenosf"},"content":" * Gets the session result for a feedback session."},{"lineNumber":693,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":694,"author":{"gitId":"xenosf"},"content":" * @param feedbackSession the feedback session"},{"lineNumber":695,"author":{"gitId":"xenosf"},"content":" * @param courseId the ID of the course"},{"lineNumber":696,"author":{"gitId":"xenosf"},"content":" * @param instructorEmail the instructor viewing the feedback session"},{"lineNumber":697,"author":{"gitId":"xenosf"},"content":" * @param questionId if not null, will only return partial bundle for the question"},{"lineNumber":698,"author":{"gitId":"xenosf"},"content":" * @param sectionName if not null, will only return partial bundle for the section"},{"lineNumber":699,"author":{"gitId":"xenosf"},"content":" * @param fetchType if not null, will fetch responses by giver, receiver sections, or both"},{"lineNumber":700,"author":{"gitId":"xenosf"},"content":" * @return the session result bundle"},{"lineNumber":701,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":702,"author":{"gitId":"xenosf"},"content":" public SqlSessionResultsBundle getSessionResultsForCourse("},{"lineNumber":703,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId, String instructorEmail,"},{"lineNumber":704,"author":{"gitId":"xenosf"},"content":" @Nullable UUID questionId, @Nullable String sectionName, @Nullable FeedbackResultFetchType fetchType) {"},{"lineNumber":705,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":706,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster roster \u003d new SqlCourseRoster("},{"lineNumber":707,"author":{"gitId":"xenosf"},"content":" usersLogic.getStudentsForCourse(courseId),"},{"lineNumber":708,"author":{"gitId":"xenosf"},"content":" usersLogic.getInstructorsForCourse(courseId));"},{"lineNumber":709,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":710,"author":{"gitId":"xenosf"},"content":" // load question(s)"},{"lineNumber":711,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackQuestion\u003e allQuestions \u003d getQuestionsForSession(feedbackSession, questionId);"},{"lineNumber":712,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":713,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":714,"author":{"gitId":"xenosf"},"content":" // load response(s)"},{"lineNumber":715,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e allResponses;"},{"lineNumber":716,"author":{"gitId":"xenosf"},"content":" // load all response for instructors and passively filter them later"},{"lineNumber":717,"author":{"gitId":"xenosf"},"content":" if (questionId \u003d\u003d null) {"},{"lineNumber":718,"author":{"gitId":"xenosf"},"content":" allResponses \u003d getFeedbackResponsesForSessionInSection(feedbackSession, courseId, sectionName, fetchType);"},{"lineNumber":719,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":720,"author":{"gitId":"xenosf"},"content":" allResponses \u003d getFeedbackResponsesForQuestionInSection(questionId, sectionName, fetchType);"},{"lineNumber":721,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":722,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":723,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":724,"author":{"gitId":"xenosf"},"content":" // consider the current viewing user"},{"lineNumber":725,"author":{"gitId":"xenosf"},"content":" Instructor instructor \u003d usersLogic.getInstructorForEmail(courseId, instructorEmail);"},{"lineNumber":726,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":727,"author":{"gitId":"xenosf"},"content":" return buildResultsBundle(true, feedbackSession, courseId, sectionName, questionId, true, instructorEmail,"},{"lineNumber":728,"author":{"gitId":"xenosf"},"content":" instructor, null, roster, allQuestions, allResponses, false);"},{"lineNumber":729,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":730,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":731,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":732,"author":{"gitId":"xenosf"},"content":" * Gets the session result for a feedback session for the given user."},{"lineNumber":733,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":734,"author":{"gitId":"xenosf"},"content":" * @param feedbackSession the feedback session"},{"lineNumber":735,"author":{"gitId":"xenosf"},"content":" * @param courseId the ID of the course"},{"lineNumber":736,"author":{"gitId":"xenosf"},"content":" * @param userEmail the user viewing the feedback session"},{"lineNumber":737,"author":{"gitId":"xenosf"},"content":" * @param isInstructor true if the user is an instructor"},{"lineNumber":738,"author":{"gitId":"xenosf"},"content":" * @param questionId if not null, will only return partial bundle for the question"},{"lineNumber":739,"author":{"gitId":"xenosf"},"content":" * @param isPreviewResults true if getting session results for preview purpose"},{"lineNumber":740,"author":{"gitId":"xenosf"},"content":" * @return the session result bundle"},{"lineNumber":741,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":742,"author":{"gitId":"xenosf"},"content":" public SqlSessionResultsBundle getSessionResultsForUser("},{"lineNumber":743,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId, String userEmail, boolean isInstructor,"},{"lineNumber":744,"author":{"gitId":"xenosf"},"content":" @Nullable UUID questionId, boolean isPreviewResults) {"},{"lineNumber":745,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster roster \u003d new SqlCourseRoster("},{"lineNumber":746,"author":{"gitId":"xenosf"},"content":" usersLogic.getStudentsForCourse(courseId),"},{"lineNumber":747,"author":{"gitId":"xenosf"},"content":" usersLogic.getInstructorsForCourse(courseId));"},{"lineNumber":748,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":749,"author":{"gitId":"xenosf"},"content":" // load question(s)"},{"lineNumber":750,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackQuestion\u003e allQuestions \u003d getQuestionsForSession(feedbackSession, questionId);"},{"lineNumber":751,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":752,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":753,"author":{"gitId":"xenosf"},"content":" // load response(s)"},{"lineNumber":754,"author":{"gitId":"xenosf"},"content":" Student student \u003d isInstructor ? null : usersLogic.getStudentForEmail(courseId, userEmail);"},{"lineNumber":755,"author":{"gitId":"xenosf"},"content":" Instructor instructor \u003d isInstructor ? usersLogic.getInstructorForEmail(courseId, userEmail) : null;"},{"lineNumber":756,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e allResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":757,"author":{"gitId":"xenosf"},"content":" for (FeedbackQuestion question : allQuestions) {"},{"lineNumber":758,"author":{"gitId":"xenosf"},"content":" // load viewable responses for students/instructors proactively"},{"lineNumber":759,"author":{"gitId":"xenosf"},"content":" // this is cost-effective as in most of time responses for the whole session will not be viewable to individuals"},{"lineNumber":760,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e viewableResponses \u003d isInstructor"},{"lineNumber":761,"author":{"gitId":"xenosf"},"content":" ? getFeedbackResponsesToOrFromInstructorForQuestion(question, instructor)"},{"lineNumber":762,"author":{"gitId":"xenosf"},"content":" : getViewableFeedbackResponsesForStudentForQuestion(question, student, roster);"},{"lineNumber":763,"author":{"gitId":"xenosf"},"content":" allResponses.addAll(viewableResponses);"},{"lineNumber":764,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":765,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":766,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":767,"author":{"gitId":"xenosf"},"content":" return buildResultsBundle(false, feedbackSession, courseId, null, questionId, isInstructor, userEmail,"},{"lineNumber":768,"author":{"gitId":"xenosf"},"content":" instructor, student, roster, allQuestions, allResponses, isPreviewResults);"},{"lineNumber":769,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":770,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":771,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":772,"author":{"gitId":"xenosf"},"content":" * Builds viewable missing responses for the session for instructor."},{"lineNumber":773,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":774,"author":{"gitId":"xenosf"},"content":" * @param instructor the instructor"},{"lineNumber":775,"author":{"gitId":"xenosf"},"content":" * @param responseGiverVisibilityTable"},{"lineNumber":776,"author":{"gitId":"xenosf"},"content":" * the giver visibility table which will be updated with the visibility of missing responses"},{"lineNumber":777,"author":{"gitId":"xenosf"},"content":" * @param responseRecipientVisibilityTable"},{"lineNumber":778,"author":{"gitId":"xenosf"},"content":" * the recipient visibility table which will be updated with the visibility of missing responses"},{"lineNumber":779,"author":{"gitId":"xenosf"},"content":" * @param relatedQuestions the relevant questions"},{"lineNumber":780,"author":{"gitId":"xenosf"},"content":" * @param existingResponses existing responses"},{"lineNumber":781,"author":{"gitId":"xenosf"},"content":" * @param courseRoster the course roster"},{"lineNumber":782,"author":{"gitId":"xenosf"},"content":" * @param sectionName if not null, will only build missing responses for the section"},{"lineNumber":783,"author":{"gitId":"xenosf"},"content":" * @return a list of missing responses for the session."},{"lineNumber":784,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":785,"author":{"gitId":"xenosf"},"content":" private List\u003cFeedbackResponse\u003e buildMissingResponses("},{"lineNumber":786,"author":{"gitId":"xenosf"},"content":" Instructor instructor, Map\u003cFeedbackResponse, Boolean\u003e responseGiverVisibilityTable,"},{"lineNumber":787,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, Boolean\u003e responseRecipientVisibilityTable, List\u003cFeedbackQuestion\u003e relatedQuestions,"},{"lineNumber":788,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e existingResponses, SqlCourseRoster courseRoster, @Nullable String sectionName) {"},{"lineNumber":789,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":790,"author":{"gitId":"xenosf"},"content":" // first get all possible giver recipient pairs"},{"lineNumber":791,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackQuestion, Map\u003cString, Set\u003cString\u003e\u003e\u003e questionCompleteGiverRecipientMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":792,"author":{"gitId":"xenosf"},"content":" for (FeedbackQuestion feedbackQuestion : relatedQuestions) {"},{"lineNumber":793,"author":{"gitId":"xenosf"},"content":" if (feedbackQuestion.getQuestionDetailsCopy().shouldGenerateMissingResponses(feedbackQuestion)) {"},{"lineNumber":794,"author":{"gitId":"xenosf"},"content":" questionCompleteGiverRecipientMap.put(feedbackQuestion,"},{"lineNumber":795,"author":{"gitId":"xenosf"},"content":" fqLogic.buildCompleteGiverRecipientMap(feedbackQuestion, courseRoster));"},{"lineNumber":796,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":797,"author":{"gitId":"xenosf"},"content":" questionCompleteGiverRecipientMap.put(feedbackQuestion, new HashMap\u003c\u003e());"},{"lineNumber":798,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":799,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":800,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":801,"author":{"gitId":"xenosf"},"content":" // remove the existing responses in those pairs"},{"lineNumber":802,"author":{"gitId":"xenosf"},"content":" for (FeedbackResponse existingResponse : existingResponses) {"},{"lineNumber":803,"author":{"gitId":"xenosf"},"content":" Map\u003cString, Set\u003cString\u003e\u003e currGiverRecipientMap \u003d"},{"lineNumber":804,"author":{"gitId":"xenosf"},"content":" questionCompleteGiverRecipientMap.get(existingResponse.getFeedbackQuestion());"},{"lineNumber":805,"author":{"gitId":"xenosf"},"content":" if (!currGiverRecipientMap.containsKey(existingResponse.getGiver())) {"},{"lineNumber":806,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":807,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":808,"author":{"gitId":"xenosf"},"content":" currGiverRecipientMap.get(existingResponse.getGiver()).remove(existingResponse.getRecipient());"},{"lineNumber":809,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":810,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":811,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e missingResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":812,"author":{"gitId":"xenosf"},"content":" // build dummy responses"},{"lineNumber":813,"author":{"gitId":"xenosf"},"content":" for (Map.Entry\u003cFeedbackQuestion, Map\u003cString, Set\u003cString\u003e\u003e\u003e currGiverRecipientMapEntry"},{"lineNumber":814,"author":{"gitId":"xenosf"},"content":" : questionCompleteGiverRecipientMap.entrySet()) {"},{"lineNumber":815,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion correspondingQuestion \u003d currGiverRecipientMapEntry.getKey();"},{"lineNumber":816,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":817,"author":{"gitId":"xenosf"},"content":" for (Map.Entry\u003cString, Set\u003cString\u003e\u003e giverRecipientEntry"},{"lineNumber":818,"author":{"gitId":"xenosf"},"content":" : currGiverRecipientMapEntry.getValue().entrySet()) {"},{"lineNumber":819,"author":{"gitId":"xenosf"},"content":" // giver"},{"lineNumber":820,"author":{"gitId":"xenosf"},"content":" String giverIdentifier \u003d giverRecipientEntry.getKey();"},{"lineNumber":821,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster.ParticipantInfo giverInfo \u003d courseRoster.getInfoForIdentifier(giverIdentifier);"},{"lineNumber":822,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":823,"author":{"gitId":"xenosf"},"content":" for (String recipientIdentifier : giverRecipientEntry.getValue()) {"},{"lineNumber":824,"author":{"gitId":"xenosf"},"content":" // recipient"},{"lineNumber":825,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster.ParticipantInfo recipientInfo \u003d courseRoster.getInfoForIdentifier(recipientIdentifier);"},{"lineNumber":826,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":827,"author":{"gitId":"xenosf"},"content":" // skip responses not in current section"},{"lineNumber":828,"author":{"gitId":"xenosf"},"content":" if (sectionName !\u003d null"},{"lineNumber":829,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 !giverInfo.getSectionName().equals(sectionName)"},{"lineNumber":830,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 !recipientInfo.getSectionName().equals(sectionName)) {"},{"lineNumber":831,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":832,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":833,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":834,"author":{"gitId":"xenosf"},"content":" FeedbackResponse missingResponse \u003d new FeedbackMissingResponse("},{"lineNumber":835,"author":{"gitId":"xenosf"},"content":" correspondingQuestion,"},{"lineNumber":836,"author":{"gitId":"xenosf"},"content":" giverIdentifier, giverInfo.getSectionName(),"},{"lineNumber":837,"author":{"gitId":"xenosf"},"content":" recipientIdentifier, recipientInfo.getSectionName());"},{"lineNumber":838,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":839,"author":{"gitId":"xenosf"},"content":" // check visibility of the missing response"},{"lineNumber":840,"author":{"gitId":"xenosf"},"content":" boolean isVisibleResponse \u003d isResponseVisibleForUser("},{"lineNumber":841,"author":{"gitId":"xenosf"},"content":" instructor.getEmail(), true, null, Collections.emptySet(),"},{"lineNumber":842,"author":{"gitId":"xenosf"},"content":" missingResponse, correspondingQuestion, instructor);"},{"lineNumber":843,"author":{"gitId":"xenosf"},"content":" if (!isVisibleResponse) {"},{"lineNumber":844,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":845,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":846,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":847,"author":{"gitId":"xenosf"},"content":" // generate giver/recipient name visibility table"},{"lineNumber":848,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable.put(missingResponse,"},{"lineNumber":849,"author":{"gitId":"xenosf"},"content":" isNameVisibleToUser(correspondingQuestion, missingResponse,"},{"lineNumber":850,"author":{"gitId":"xenosf"},"content":" instructor.getEmail(), true, true, courseRoster));"},{"lineNumber":851,"author":{"gitId":"xenosf"},"content":" responseRecipientVisibilityTable.put(missingResponse,"},{"lineNumber":852,"author":{"gitId":"xenosf"},"content":" isNameVisibleToUser(correspondingQuestion, missingResponse,"},{"lineNumber":853,"author":{"gitId":"xenosf"},"content":" instructor.getEmail(), true, false, courseRoster));"},{"lineNumber":854,"author":{"gitId":"xenosf"},"content":" missingResponses.add(missingResponse);"},{"lineNumber":855,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":856,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":857,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":858,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":859,"author":{"gitId":"xenosf"},"content":" return missingResponses;"},{"lineNumber":860,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":861,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":862,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":863,"author":{"gitId":"xenosf"},"content":" * Checks whether the giver name of a response is visible to an user."},{"lineNumber":864,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":865,"author":{"gitId":"xenosf"},"content":" public boolean isNameVisibleToUser("},{"lineNumber":866,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question,"},{"lineNumber":867,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response,"},{"lineNumber":868,"author":{"gitId":"xenosf"},"content":" String userEmail,"},{"lineNumber":869,"author":{"gitId":"xenosf"},"content":" boolean isInstructor, boolean isGiverName, SqlCourseRoster roster) {"},{"lineNumber":870,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":871,"author":{"gitId":"xenosf"},"content":" if (question \u003d\u003d null) {"},{"lineNumber":872,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":873,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":874,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":875,"author":{"gitId":"xenosf"},"content":" // Early return if user is giver"},{"lineNumber":876,"author":{"gitId":"xenosf"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS) {"},{"lineNumber":877,"author":{"gitId":"xenosf"},"content":" // if response is given by team, then anyone in the team can see the response"},{"lineNumber":878,"author":{"gitId":"xenosf"},"content":" if (roster.isStudentInTeam(userEmail, response.getGiver())) {"},{"lineNumber":879,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":880,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":881,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":882,"author":{"gitId":"xenosf"},"content":" if (response.getGiver().equals(userEmail)) {"},{"lineNumber":883,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":884,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":885,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":886,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":887,"author":{"gitId":"xenosf"},"content":" return isFeedbackParticipantNameVisibleToUser(question, response,"},{"lineNumber":888,"author":{"gitId":"xenosf"},"content":" userEmail, isInstructor, isGiverName, roster);"},{"lineNumber":889,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":890,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":891,"author":{"gitId":"xenosf"},"content":" private boolean isFeedbackParticipantNameVisibleToUser("},{"lineNumber":892,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question, FeedbackResponse response,"},{"lineNumber":893,"author":{"gitId":"xenosf"},"content":" String userEmail, boolean isInstructor, boolean isGiverName, SqlCourseRoster roster) {"},{"lineNumber":894,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackParticipantType\u003e showNameTo \u003d isGiverName"},{"lineNumber":895,"author":{"gitId":"xenosf"},"content":" ? question.getShowGiverNameTo()"},{"lineNumber":896,"author":{"gitId":"xenosf"},"content":" : question.getShowRecipientNameTo();"},{"lineNumber":897,"author":{"gitId":"xenosf"},"content":" for (FeedbackParticipantType type : showNameTo) {"},{"lineNumber":898,"author":{"gitId":"xenosf"},"content":" switch (type) {"},{"lineNumber":899,"author":{"gitId":"xenosf"},"content":" case INSTRUCTORS:"},{"lineNumber":900,"author":{"gitId":"xenosf"},"content":" if (roster.getInstructorForEmail(userEmail) !\u003d null \u0026\u0026 isInstructor) {"},{"lineNumber":901,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":902,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":903,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":904,"author":{"gitId":"xenosf"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":905,"author":{"gitId":"xenosf"},"content":" case OWN_TEAM_MEMBERS_INCLUDING_SELF:"},{"lineNumber":906,"author":{"gitId":"xenosf"},"content":" // Refers to Giver\u0027s Team Members"},{"lineNumber":907,"author":{"gitId":"xenosf"},"content":" if (roster.isStudentsInSameTeam(response.getGiver(), userEmail)) {"},{"lineNumber":908,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":909,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":910,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":911,"author":{"gitId":"xenosf"},"content":" case RECEIVER:"},{"lineNumber":912,"author":{"gitId":"xenosf"},"content":" // Response to team"},{"lineNumber":913,"author":{"gitId":"xenosf"},"content":" if (question.getRecipientType().isTeam()) {"},{"lineNumber":914,"author":{"gitId":"xenosf"},"content":" if (roster.isStudentInTeam(userEmail, response.getRecipient())) {"},{"lineNumber":915,"author":{"gitId":"xenosf"},"content":" // this is a team name"},{"lineNumber":916,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":917,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":918,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":919,"author":{"gitId":"xenosf"},"content":" // Response to individual"},{"lineNumber":920,"author":{"gitId":"xenosf"},"content":" } else if (response.getRecipient().equals(userEmail)) {"},{"lineNumber":921,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":922,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":923,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":924,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":925,"author":{"gitId":"xenosf"},"content":" case RECEIVER_TEAM_MEMBERS:"},{"lineNumber":926,"author":{"gitId":"xenosf"},"content":" // Response to team; recipient \u003d teamName"},{"lineNumber":927,"author":{"gitId":"xenosf"},"content":" if (question.getRecipientType().isTeam()) {"},{"lineNumber":928,"author":{"gitId":"xenosf"},"content":" if (roster.isStudentInTeam(userEmail, response.getRecipient())) {"},{"lineNumber":929,"author":{"gitId":"xenosf"},"content":" // this is a team name"},{"lineNumber":930,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":931,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":932,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":933,"author":{"gitId":"xenosf"},"content":" } else if (roster.isStudentsInSameTeam(response.getRecipient(), userEmail)) {"},{"lineNumber":934,"author":{"gitId":"xenosf"},"content":" // Response to individual"},{"lineNumber":935,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":936,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":937,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":938,"author":{"gitId":"xenosf"},"content":" case STUDENTS:"},{"lineNumber":939,"author":{"gitId":"xenosf"},"content":" if (roster.isStudentInCourse(userEmail)) {"},{"lineNumber":940,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":941,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":942,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":943,"author":{"gitId":"xenosf"},"content":" default:"},{"lineNumber":944,"author":{"gitId":"xenosf"},"content":" assert false : \"Invalid FeedbackParticipantType for showNameTo in \""},{"lineNumber":945,"author":{"gitId":"xenosf"},"content":" + \"FeedbackResponseLogic.isFeedbackParticipantNameVisibleToUser()\";"},{"lineNumber":946,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":947,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":948,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":949,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":950,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":951,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":952,"author":{"gitId":"xenosf"},"content":" private boolean isResponseVisibleForUser("},{"lineNumber":953,"author":{"gitId":"xenosf"},"content":" String userEmail, boolean isInstructor, Student student,"},{"lineNumber":954,"author":{"gitId":"xenosf"},"content":" Set\u003cString\u003e studentsEmailInTeam, FeedbackResponse response,"},{"lineNumber":955,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion relatedQuestion, Instructor instructor) {"},{"lineNumber":956,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":957,"author":{"gitId":"xenosf"},"content":" boolean isVisibleResponse \u003d false;"},{"lineNumber":958,"author":{"gitId":"xenosf"},"content":" if (isInstructor \u0026\u0026 relatedQuestion.isResponseVisibleTo(FeedbackParticipantType.INSTRUCTORS)"},{"lineNumber":959,"author":{"gitId":"xenosf"},"content":" || response.getRecipient().equals(userEmail)"},{"lineNumber":960,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 relatedQuestion.isResponseVisibleTo(FeedbackParticipantType.RECEIVER)"},{"lineNumber":961,"author":{"gitId":"xenosf"},"content":" || response.getGiver().equals(userEmail)"},{"lineNumber":962,"author":{"gitId":"xenosf"},"content":" || !isInstructor \u0026\u0026 relatedQuestion.isResponseVisibleTo(FeedbackParticipantType.STUDENTS)) {"},{"lineNumber":963,"author":{"gitId":"xenosf"},"content":" isVisibleResponse \u003d true;"},{"lineNumber":964,"author":{"gitId":"xenosf"},"content":" } else if (studentsEmailInTeam !\u003d null \u0026\u0026 !isInstructor) {"},{"lineNumber":965,"author":{"gitId":"xenosf"},"content":" if ((relatedQuestion.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":966,"author":{"gitId":"xenosf"},"content":" || relatedQuestion.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS_IN_SAME_SECTION"},{"lineNumber":967,"author":{"gitId":"xenosf"},"content":" || relatedQuestion.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS_EXCLUDING_SELF)"},{"lineNumber":968,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 relatedQuestion.isResponseVisibleTo(FeedbackParticipantType.RECEIVER)"},{"lineNumber":969,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 response.getRecipient().equals(student.getTeamName())) {"},{"lineNumber":970,"author":{"gitId":"xenosf"},"content":" isVisibleResponse \u003d true;"},{"lineNumber":971,"author":{"gitId":"xenosf"},"content":" } else if (relatedQuestion.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":972,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 response.getGiver().equals(student.getTeamName())) {"},{"lineNumber":973,"author":{"gitId":"xenosf"},"content":" isVisibleResponse \u003d true;"},{"lineNumber":974,"author":{"gitId":"xenosf"},"content":" } else if (relatedQuestion.isResponseVisibleTo(FeedbackParticipantType.OWN_TEAM_MEMBERS)"},{"lineNumber":975,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 studentsEmailInTeam.contains(response.getGiver())) {"},{"lineNumber":976,"author":{"gitId":"xenosf"},"content":" isVisibleResponse \u003d true;"},{"lineNumber":977,"author":{"gitId":"xenosf"},"content":" } else if (relatedQuestion.isResponseVisibleTo(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS)"},{"lineNumber":978,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 studentsEmailInTeam.contains(response.getRecipient())) {"},{"lineNumber":979,"author":{"gitId":"xenosf"},"content":" isVisibleResponse \u003d true;"},{"lineNumber":980,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":981,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":982,"author":{"gitId":"xenosf"},"content":" if (isVisibleResponse \u0026\u0026 instructor !\u003d null) {"},{"lineNumber":983,"author":{"gitId":"xenosf"},"content":" boolean isGiverSectionRestricted \u003d"},{"lineNumber":984,"author":{"gitId":"xenosf"},"content":" !instructor.isAllowedForPrivilege(response.getGiverSectionName(),"},{"lineNumber":985,"author":{"gitId":"xenosf"},"content":" response.getFeedbackQuestion().getFeedbackSession().getName(),"},{"lineNumber":986,"author":{"gitId":"xenosf"},"content":" Const.InstructorPermissions.CAN_VIEW_SESSION_IN_SECTIONS);"},{"lineNumber":987,"author":{"gitId":"xenosf"},"content":" // If instructors are not restricted to view the giver\u0027s section,"},{"lineNumber":988,"author":{"gitId":"xenosf"},"content":" // they are allowed to view responses to GENERAL, subject to visibility options"},{"lineNumber":989,"author":{"gitId":"xenosf"},"content":" boolean isRecipientSectionRestricted \u003d"},{"lineNumber":990,"author":{"gitId":"xenosf"},"content":" relatedQuestion.getRecipientType() !\u003d FeedbackParticipantType.NONE"},{"lineNumber":991,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 !instructor.isAllowedForPrivilege(response.getRecipientSectionName(),"},{"lineNumber":992,"author":{"gitId":"xenosf"},"content":" response.getFeedbackQuestion().getFeedbackSession().getName(),"},{"lineNumber":993,"author":{"gitId":"xenosf"},"content":" Const.InstructorPermissions.CAN_VIEW_SESSION_IN_SECTIONS);"},{"lineNumber":994,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":995,"author":{"gitId":"xenosf"},"content":" boolean isNotAllowedForInstructor \u003d isGiverSectionRestricted || isRecipientSectionRestricted;"},{"lineNumber":996,"author":{"gitId":"xenosf"},"content":" if (isNotAllowedForInstructor) {"},{"lineNumber":997,"author":{"gitId":"xenosf"},"content":" isVisibleResponse \u003d false;"},{"lineNumber":998,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":999,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1000,"author":{"gitId":"xenosf"},"content":" return isVisibleResponse;"},{"lineNumber":1001,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1002,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1003,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1004,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1005,"author":{"gitId":"xenosf"},"content":" * Gets all responses for a session."},{"lineNumber":1006,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1007,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e getFeedbackResponsesForSession("},{"lineNumber":1008,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId) {"},{"lineNumber":1009,"author":{"gitId":"xenosf"},"content":" return frDb.getFeedbackResponsesForSession(feedbackSession, courseId);"},{"lineNumber":1010,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1011,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1012,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1013,"author":{"gitId":"xenosf"},"content":" * Gets all responses given to/from a section in a feedback session in a course."},{"lineNumber":1014,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":1015,"author":{"gitId":"xenosf"},"content":" * @param feedbackSession the session"},{"lineNumber":1016,"author":{"gitId":"xenosf"},"content":" * @param courseId the course ID of the session"},{"lineNumber":1017,"author":{"gitId":"xenosf"},"content":" * @param sectionName if null, will retrieve all responses in the session"},{"lineNumber":1018,"author":{"gitId":"xenosf"},"content":" * @param fetchType if not null, will retrieve responses by giver, receiver sections, or both"},{"lineNumber":1019,"author":{"gitId":"xenosf"},"content":" * @return a list of responses"},{"lineNumber":1020,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1021,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForSessionInSection("},{"lineNumber":1022,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId, @Nullable String sectionName,"},{"lineNumber":1023,"author":{"gitId":"xenosf"},"content":" @Nullable FeedbackResultFetchType fetchType) {"},{"lineNumber":1024,"author":{"gitId":"xenosf"},"content":" if (sectionName \u003d\u003d null) {"},{"lineNumber":1025,"author":{"gitId":"xenosf"},"content":" return getFeedbackResponsesForSession(feedbackSession, courseId);"},{"lineNumber":1026,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1027,"author":{"gitId":"xenosf"},"content":" return frDb.getFeedbackResponsesForSessionInSection(feedbackSession, courseId, sectionName, fetchType);"},{"lineNumber":1028,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1029,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1030,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1031,"author":{"gitId":"xenosf"},"content":" * Gets all responses given to/from a section for a question."},{"lineNumber":1032,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":1033,"author":{"gitId":"xenosf"},"content":" * @param feedbackQuestionId the question UUID"},{"lineNumber":1034,"author":{"gitId":"xenosf"},"content":" * @param sectionName if null, will retrieve all responses for the question"},{"lineNumber":1035,"author":{"gitId":"xenosf"},"content":" * @return a list of responses"},{"lineNumber":1036,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1037,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForQuestionInSection("},{"lineNumber":1038,"author":{"gitId":"xenosf"},"content":" UUID feedbackQuestionId, @Nullable String sectionName, FeedbackResultFetchType fetchType) {"},{"lineNumber":1039,"author":{"gitId":"xenosf"},"content":" if (sectionName \u003d\u003d null) {"},{"lineNumber":1040,"author":{"gitId":"xenosf"},"content":" return getFeedbackResponsesForQuestion(feedbackQuestionId);"},{"lineNumber":1041,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1042,"author":{"gitId":"xenosf"},"content":" return frDb.getFeedbackResponsesForQuestionInSection(feedbackQuestionId, sectionName, fetchType);"},{"lineNumber":1043,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1044,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1045,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1046,"author":{"gitId":"xenosf"},"content":" * Returns feedback responses given/received by an instructor."},{"lineNumber":1047,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1048,"author":{"gitId":"xenosf"},"content":" private List\u003cFeedbackResponse\u003e getFeedbackResponsesToOrFromInstructorForQuestion("},{"lineNumber":1049,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question, Instructor instructor) {"},{"lineNumber":1050,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackResponse\u003e viewableResponses \u003d new HashSet\u003c\u003e();"},{"lineNumber":1051,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1052,"author":{"gitId":"xenosf"},"content":" // Add responses that the instructor submitted him/herself"},{"lineNumber":1053,"author":{"gitId":"xenosf"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS) {"},{"lineNumber":1054,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll("},{"lineNumber":1055,"author":{"gitId":"xenosf"},"content":" getFeedbackResponsesFromGiverForQuestion(question.getId(), instructor.getEmail())"},{"lineNumber":1056,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":1057,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1058,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1059,"author":{"gitId":"xenosf"},"content":" // Add responses that user is a receiver of when response is visible to receiver or instructors"},{"lineNumber":1060,"author":{"gitId":"xenosf"},"content":" if (question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":1061,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 (question.isResponseVisibleTo(FeedbackParticipantType.RECEIVER)"},{"lineNumber":1062,"author":{"gitId":"xenosf"},"content":" || question.isResponseVisibleTo(FeedbackParticipantType.INSTRUCTORS))) {"},{"lineNumber":1063,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll("},{"lineNumber":1064,"author":{"gitId":"xenosf"},"content":" getFeedbackResponsesForRecipientForQuestion(question.getId(), instructor.getEmail())"},{"lineNumber":1065,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":1066,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1067,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1068,"author":{"gitId":"xenosf"},"content":" return new ArrayList\u003c\u003e(viewableResponses);"},{"lineNumber":1069,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1070,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1071,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1072,"author":{"gitId":"xenosf"},"content":" * Returns viewable feedback responses for a student."},{"lineNumber":1073,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1074,"author":{"gitId":"xenosf"},"content":" private List\u003cFeedbackResponse\u003e getViewableFeedbackResponsesForStudentForQuestion("},{"lineNumber":1075,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question, Student student, SqlCourseRoster courseRoster) {"},{"lineNumber":1076,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackResponse\u003e viewableResponses \u003d new HashSet\u003c\u003e();"},{"lineNumber":1077,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1078,"author":{"gitId":"xenosf"},"content":" // Add responses that the student submitted him/herself"},{"lineNumber":1079,"author":{"gitId":"xenosf"},"content":" if (question.getGiverType() !\u003d FeedbackParticipantType.INSTRUCTORS) {"},{"lineNumber":1080,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll("},{"lineNumber":1081,"author":{"gitId":"xenosf"},"content":" getFeedbackResponsesFromGiverForQuestion(question.getId(), student.getEmail())"},{"lineNumber":1082,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":1083,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1084,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1085,"author":{"gitId":"xenosf"},"content":" // Add responses that user is a receiver of when response is visible to receiver"},{"lineNumber":1086,"author":{"gitId":"xenosf"},"content":" if (question.getRecipientType() !\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":1087,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 question.isResponseVisibleTo(FeedbackParticipantType.RECEIVER)) {"},{"lineNumber":1088,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll("},{"lineNumber":1089,"author":{"gitId":"xenosf"},"content":" getFeedbackResponsesForRecipientForQuestion(question.getId(), student.getEmail())"},{"lineNumber":1090,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":1091,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1092,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1093,"author":{"gitId":"xenosf"},"content":" if (question.isResponseVisibleTo(FeedbackParticipantType.STUDENTS)) {"},{"lineNumber":1094,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll(getFeedbackResponsesForQuestion(question.getId()));"},{"lineNumber":1095,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1096,"author":{"gitId":"xenosf"},"content":" // Early return as STUDENTS covers all cases below."},{"lineNumber":1097,"author":{"gitId":"xenosf"},"content":" return new ArrayList\u003c\u003e(viewableResponses);"},{"lineNumber":1098,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1099,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1100,"author":{"gitId":"xenosf"},"content":" if (question.getRecipientType().isTeam()"},{"lineNumber":1101,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 question.isResponseVisibleTo(FeedbackParticipantType.RECEIVER)) {"},{"lineNumber":1102,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll("},{"lineNumber":1103,"author":{"gitId":"xenosf"},"content":" getFeedbackResponsesForRecipientForQuestion(question.getId(), student.getTeamName())"},{"lineNumber":1104,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":1105,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1106,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1107,"author":{"gitId":"xenosf"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":1108,"author":{"gitId":"xenosf"},"content":" || question.isResponseVisibleTo(FeedbackParticipantType.OWN_TEAM_MEMBERS)) {"},{"lineNumber":1109,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll("},{"lineNumber":1110,"author":{"gitId":"xenosf"},"content":" getFeedbackResponsesFromTeamForQuestion("},{"lineNumber":1111,"author":{"gitId":"xenosf"},"content":" question.getId(), question.getCourseId(), student.getTeamName(), courseRoster));"},{"lineNumber":1112,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1113,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1114,"author":{"gitId":"xenosf"},"content":" if (question.isResponseVisibleTo(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS)) {"},{"lineNumber":1115,"author":{"gitId":"xenosf"},"content":" for (Student studentInTeam : courseRoster.getTeamToMembersTable().get(student.getTeamName())) {"},{"lineNumber":1116,"author":{"gitId":"xenosf"},"content":" if (studentInTeam.getEmail().equals(student.getEmail())) {"},{"lineNumber":1117,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":1118,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1119,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e responses \u003d"},{"lineNumber":1120,"author":{"gitId":"xenosf"},"content":" getFeedbackResponsesForRecipientForQuestion(question.getId(), studentInTeam.getEmail());"},{"lineNumber":1121,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll(responses);"},{"lineNumber":1122,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1123,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1124,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1125,"author":{"gitId":"xenosf"},"content":" return new ArrayList\u003c\u003e(viewableResponses);"},{"lineNumber":1126,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1127,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1128,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1129,"author":{"gitId":"xenosf"},"content":" * Gets all responses received by a user for a question."},{"lineNumber":1130,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1131,"author":{"gitId":"xenosf"},"content":" private List\u003cFeedbackResponse\u003e getFeedbackResponsesForRecipientForQuestion("},{"lineNumber":1132,"author":{"gitId":"xenosf"},"content":" UUID feedbackQuestionId, String userEmail) {"},{"lineNumber":1133,"author":{"gitId":"xenosf"},"content":" return frDb.getFeedbackResponsesForRecipientForQuestion(feedbackQuestionId, userEmail);"},{"lineNumber":1134,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1135,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1136,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1137,"author":{"gitId":"xenosf"},"content":" * Checks whether instructors can see the question."},{"lineNumber":1138,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1139,"author":{"gitId":"xenosf"},"content":" boolean checkCanInstructorsSeeQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":1140,"author":{"gitId":"xenosf"},"content":" boolean isResponseVisibleToInstructor \u003d"},{"lineNumber":1141,"author":{"gitId":"xenosf"},"content":" feedbackQuestion.getShowResponsesTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":1142,"author":{"gitId":"xenosf"},"content":" boolean isGiverVisibleToInstructor \u003d"},{"lineNumber":1143,"author":{"gitId":"xenosf"},"content":" feedbackQuestion.getShowGiverNameTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":1144,"author":{"gitId":"xenosf"},"content":" boolean isRecipientVisibleToInstructor \u003d"},{"lineNumber":1145,"author":{"gitId":"xenosf"},"content":" feedbackQuestion.getShowRecipientNameTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":1146,"author":{"gitId":"xenosf"},"content":" return isResponseVisibleToInstructor \u0026\u0026 isGiverVisibleToInstructor \u0026\u0026 isRecipientVisibleToInstructor;"},{"lineNumber":1147,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1148,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1149,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1150,"author":{"gitId":"xenosf"},"content":" * Checks whether instructors can see the comment."},{"lineNumber":1151,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1152,"author":{"gitId":"xenosf"},"content":" boolean checkCanInstructorsSeeComment(FeedbackResponseComment feedbackResponseComment) {"},{"lineNumber":1153,"author":{"gitId":"xenosf"},"content":" boolean isCommentVisibleToInstructor \u003d"},{"lineNumber":1154,"author":{"gitId":"xenosf"},"content":" feedbackResponseComment.getShowCommentTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":1155,"author":{"gitId":"xenosf"},"content":" boolean isGiverVisibleToInstructor \u003d"},{"lineNumber":1156,"author":{"gitId":"xenosf"},"content":" feedbackResponseComment.getShowGiverNameTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":1157,"author":{"gitId":"xenosf"},"content":" return isCommentVisibleToInstructor \u0026\u0026 isGiverVisibleToInstructor;"},{"lineNumber":1158,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1159,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1160,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":77,"marquestye":23,"xenosf":625,"mingyuanc":2,"-":433}},{"path":"src/main/java/teammates/sqllogic/core/FeedbackSessionsLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.HashSet;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackSessionsDb;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * Handles operations related to feedback sessions."},{"lineNumber":25,"author":{"gitId":"-"},"content":" *"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * @see FeedbackSession"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * @see FeedbackSessionsDb"},{"lineNumber":28,"author":{"gitId":"-"},"content":" */"},{"lineNumber":29,"author":{"gitId":"-"},"content":"public final class FeedbackSessionsLogic {"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final String ERROR_NON_EXISTENT_FS_STRING_FORMAT \u003d \"Trying to %s a non-existent feedback session: \";"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String ERROR_NON_EXISTENT_FS_UPDATE \u003d String.format(ERROR_NON_EXISTENT_FS_STRING_FORMAT, \"update\");"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final String ERROR_FS_ALREADY_PUBLISH \u003d \"Error publishing feedback session: \""},{"lineNumber":36,"author":{"gitId":"-"},"content":" + \"Session has already been published.\";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String ERROR_FS_ALREADY_UNPUBLISH \u003d \"Error unpublishing feedback session: \""},{"lineNumber":38,"author":{"gitId":"-"},"content":" + \"Session has already been unpublished.\";"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final int NUMBER_OF_HOURS_BEFORE_CLOSING_ALERT \u003d 24;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final int NUMBER_OF_HOURS_BEFORE_OPENING_SOON_ALERT \u003d 24;"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final FeedbackSessionsLogic instance \u003d new FeedbackSessionsLogic();"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" private FeedbackSessionsDb fsDb;"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private FeedbackQuestionsLogic fqLogic;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" private FeedbackResponsesLogic frLogic;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private CoursesLogic coursesLogic;"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" private UsersLogic usersLogic;"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" private FeedbackSessionsLogic() {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":53,"author":{"gitId":"-"},"content":" }"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" public static FeedbackSessionsLogic inst() {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" void initLogicDependencies(FeedbackSessionsDb fsDb, CoursesLogic coursesLogic,"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" FeedbackResponsesLogic frLogic, FeedbackQuestionsLogic fqLogic, UsersLogic usersLogic) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" this.fsDb \u003d fsDb;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" this.frLogic \u003d frLogic;"},{"lineNumber":63,"author":{"gitId":"-"},"content":" this.fqLogic \u003d fqLogic;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" this.coursesLogic \u003d coursesLogic;"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" this.usersLogic \u003d usersLogic;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":69,"author":{"gitId":"-"},"content":" * Gets a feedback session."},{"lineNumber":70,"author":{"gitId":"-"},"content":" *"},{"lineNumber":71,"author":{"gitId":"-"},"content":" * @return null if not found."},{"lineNumber":72,"author":{"gitId":"-"},"content":" */"},{"lineNumber":73,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSession(UUID id) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" assert id !\u003d null;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" return fsDb.getFeedbackSession(id);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * Gets a feedback session for {@code feedbackSessionName} and {@code courseId}."},{"lineNumber":80,"author":{"gitId":"-"},"content":" *"},{"lineNumber":81,"author":{"gitId":"-"},"content":" * @return null if not found."},{"lineNumber":82,"author":{"gitId":"-"},"content":" */"},{"lineNumber":83,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSession(String feedbackSessionName, String courseId) {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" return fsDb.getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":91,"author":{"gitId":"-"},"content":" * Gets all feedback sessions of a course, except those that are soft-deleted."},{"lineNumber":92,"author":{"gitId":"-"},"content":" */"},{"lineNumber":93,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsForCourse(String courseId) {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" return fsDb.getFeedbackSessionEntitiesForCourse(courseId).stream()"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .filter(fs -\u003e fs.getDeletedAt() \u003d\u003d null)"},{"lineNumber":96,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * Gets all feedback sessions of a course started after time, except those that are soft-deleted."},{"lineNumber":101,"author":{"gitId":"-"},"content":" */"},{"lineNumber":102,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsForCourseStartingAfter(String courseId, Instant after) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return fsDb.getFeedbackSessionEntitiesForCourseStartingAfter(courseId, after).stream()"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .filter(session -\u003e session.getDeletedAt() \u003d\u003d null)"},{"lineNumber":105,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":109,"author":{"gitId":"-"},"content":" * Gets a feedback session from the recycle bin."},{"lineNumber":110,"author":{"gitId":"-"},"content":" *"},{"lineNumber":111,"author":{"gitId":"-"},"content":" * @return null if not found."},{"lineNumber":112,"author":{"gitId":"-"},"content":" */"},{"lineNumber":113,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSessionFromRecycleBin(String feedbackSessionName, String courseId) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" return fsDb.getSoftDeletedFeedbackSession(courseId, feedbackSessionName);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":118,"author":{"gitId":"-"},"content":" * Gets a list of feedback sessions for instructors."},{"lineNumber":119,"author":{"gitId":"-"},"content":" */"},{"lineNumber":120,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsForInstructors("},{"lineNumber":121,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorList) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e courseNotDeletedInstructorList \u003d instructorList.stream()"},{"lineNumber":124,"author":{"gitId":"-"},"content":" .filter(instructor -\u003e coursesLogic.getCourse(instructor.getCourseId()).getDeletedAt() \u003d\u003d null)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e fsList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" for (Instructor instructor : courseNotDeletedInstructorList) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" fsList.addAll(getFeedbackSessionsForCourse(instructor.getCourseId()));"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" return fsList;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":137,"author":{"gitId":"-"},"content":" * Returns a {@code List} of feedback sessions in the Recycle Bin for the instructors."},{"lineNumber":138,"author":{"gitId":"-"},"content":" * \u003cbr\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":" * Omits sessions if the corresponding courses are archived or in Recycle Bin"},{"lineNumber":140,"author":{"gitId":"-"},"content":" */"},{"lineNumber":141,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getSoftDeletedFeedbackSessionsForInstructors("},{"lineNumber":142,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorList) {"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e courseNotDeletedInstructorList \u003d instructorList.stream()"},{"lineNumber":145,"author":{"gitId":"-"},"content":" .filter(instructor -\u003e coursesLogic.getCourse(instructor.getCourseId()).getDeletedAt() \u003d\u003d null)"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e fsList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" for (Instructor instructor : courseNotDeletedInstructorList) {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" fsList.addAll(fsDb.getSoftDeletedFeedbackSessionsForCourse(instructor.getCourseId()));"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" return fsList;"},{"lineNumber":155,"author":{"gitId":"-"},"content":" }"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":158,"author":{"gitId":"-"},"content":" * Gets all and only the feedback sessions ongoing within a range of time."},{"lineNumber":159,"author":{"gitId":"-"},"content":" */"},{"lineNumber":160,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getOngoingSessions(Instant rangeStart, Instant rangeEnd) {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" return fsDb.getOngoingSessions(rangeStart, rangeEnd);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":165,"author":{"gitId":"-"},"content":" * Gets a set of giver identifiers that has at least one response under a feedback session."},{"lineNumber":166,"author":{"gitId":"-"},"content":" */"},{"lineNumber":167,"author":{"gitId":"-"},"content":" public Set\u003cString\u003e getGiverSetThatAnsweredFeedbackSession(String feedbackSessionName, String courseId) {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":169,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession \u003d fsDb.getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" Set\u003cString\u003e giverSet \u003d new HashSet\u003c\u003e();"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" fqLogic.getFeedbackQuestionsForSession(feedbackSession).forEach(question -\u003e {"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":" frLogic.getFeedbackResponsesForQuestion(question.getId()).forEach(response -\u003e {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" giverSet.add(response.getGiver());"},{"lineNumber":178,"author":{"gitId":"-"},"content":" });"},{"lineNumber":179,"author":{"gitId":"-"},"content":" });"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" return giverSet;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":185,"author":{"gitId":"domoberzin"},"content":" * Gets a set of giver identifiers that has at least one response under a feedback session."},{"lineNumber":186,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":187,"author":{"gitId":"domoberzin"},"content":" public Set\u003cString\u003e getGiverSetThatAnsweredFeedbackSession(FeedbackSession fs) {"},{"lineNumber":188,"author":{"gitId":"domoberzin"},"content":" assert fs !\u003d null;"},{"lineNumber":189,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":190,"author":{"gitId":"domoberzin"},"content":" Set\u003cString\u003e giverSet \u003d new HashSet\u003c\u003e();"},{"lineNumber":191,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":192,"author":{"gitId":"domoberzin"},"content":" fqLogic.getFeedbackQuestionsForSession(fs).forEach(question -\u003e {"},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":" frLogic.getFeedbackResponsesForQuestion(question.getId()).forEach(response -\u003e {"},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" giverSet.add(response.getGiver());"},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" return giverSet;"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":200,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":202,"author":{"gitId":"-"},"content":" * Creates a feedback session."},{"lineNumber":203,"author":{"gitId":"-"},"content":" *"},{"lineNumber":204,"author":{"gitId":"-"},"content":" * @return created feedback session"},{"lineNumber":205,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the session is not valid"},{"lineNumber":206,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the session already exist"},{"lineNumber":207,"author":{"gitId":"-"},"content":" */"},{"lineNumber":208,"author":{"gitId":"-"},"content":" public FeedbackSession createFeedbackSession(FeedbackSession session)"},{"lineNumber":209,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" assert session !\u003d null;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" return fsDb.createFeedbackSession(session);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":215,"author":{"gitId":"-"},"content":" * Updates a feedback session."},{"lineNumber":216,"author":{"gitId":"-"},"content":" *"},{"lineNumber":217,"author":{"gitId":"-"},"content":" * @return updated feedback session"},{"lineNumber":218,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback session does not exist"},{"lineNumber":219,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the new fields for feedback session are invalid"},{"lineNumber":220,"author":{"gitId":"-"},"content":" */"},{"lineNumber":221,"author":{"gitId":"-"},"content":" public FeedbackSession updateFeedbackSession(FeedbackSession session)"},{"lineNumber":222,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" return fsDb.updateFeedbackSession(session);"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":227,"author":{"gitId":"-"},"content":" * Unpublishes a feedback session."},{"lineNumber":228,"author":{"gitId":"-"},"content":" *"},{"lineNumber":229,"author":{"gitId":"-"},"content":" * @return the unpublished feedback session"},{"lineNumber":230,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if session is already unpublished"},{"lineNumber":231,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback session cannot be found"},{"lineNumber":232,"author":{"gitId":"-"},"content":" */"},{"lineNumber":233,"author":{"gitId":"-"},"content":" public FeedbackSession unpublishFeedbackSession(String feedbackSessionName, String courseId)"},{"lineNumber":234,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InvalidParametersException {"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" FeedbackSession sessionToUnpublish \u003d getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" if (sessionToUnpublish \u003d\u003d null) {"},{"lineNumber":239,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_NON_EXISTENT_FS_UPDATE + courseId + \"/\" + feedbackSessionName);"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":" if (!sessionToUnpublish.isPublished()) {"},{"lineNumber":242,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(ERROR_FS_ALREADY_UNPUBLISH);"},{"lineNumber":243,"author":{"gitId":"-"},"content":" }"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" sessionToUnpublish.setResultsVisibleFromTime(Const.TIME_REPRESENTS_LATER);"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" return sessionToUnpublish;"},{"lineNumber":248,"author":{"gitId":"-"},"content":" }"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":251,"author":{"gitId":"-"},"content":" * Publishes a feedback session."},{"lineNumber":252,"author":{"gitId":"-"},"content":" *"},{"lineNumber":253,"author":{"gitId":"-"},"content":" * @return the published feedback session"},{"lineNumber":254,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if session is already published"},{"lineNumber":255,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback session cannot be found"},{"lineNumber":256,"author":{"gitId":"-"},"content":" */"},{"lineNumber":257,"author":{"gitId":"-"},"content":" public FeedbackSession publishFeedbackSession(String feedbackSessionName, String courseId)"},{"lineNumber":258,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InvalidParametersException {"},{"lineNumber":259,"author":{"gitId":"-"},"content":""},{"lineNumber":260,"author":{"gitId":"-"},"content":" FeedbackSession sessionToPublish \u003d getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" if (sessionToPublish \u003d\u003d null) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_NON_EXISTENT_FS_UPDATE + courseId + \"/\" + feedbackSessionName);"},{"lineNumber":264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":265,"author":{"gitId":"-"},"content":" if (sessionToPublish.isPublished()) {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(ERROR_FS_ALREADY_PUBLISH);"},{"lineNumber":267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" sessionToPublish.setResultsVisibleFromTime(Instant.now());"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" return sessionToPublish;"},{"lineNumber":272,"author":{"gitId":"-"},"content":" }"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":275,"author":{"gitId":"-"},"content":" * Deletes a feedback session cascade to its associated questions, responses, deadline extensions and comments."},{"lineNumber":276,"author":{"gitId":"-"},"content":" */"},{"lineNumber":277,"author":{"gitId":"-"},"content":" public void deleteFeedbackSessionCascade(String feedbackSessionName, String courseId) {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession \u003d fsDb.getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":279,"author":{"gitId":"-"},"content":" fsDb.deleteFeedbackSession(feedbackSession);"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":283,"author":{"gitId":"-"},"content":" * Soft-deletes a specific feedback session to Recycle Bin."},{"lineNumber":284,"author":{"gitId":"-"},"content":" * @return the time when the feedback session is moved to the recycle bin"},{"lineNumber":285,"author":{"gitId":"-"},"content":" */"},{"lineNumber":286,"author":{"gitId":"-"},"content":" public Instant moveFeedbackSessionToRecycleBin(String feedbackSessionName, String courseId)"},{"lineNumber":287,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":" return fsDb.softDeleteFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":293,"author":{"gitId":"-"},"content":" * Restores a specific feedback session from Recycle Bin."},{"lineNumber":294,"author":{"gitId":"-"},"content":" */"},{"lineNumber":295,"author":{"gitId":"-"},"content":" public void restoreFeedbackSessionFromRecycleBin(String feedbackSessionName, String courseId)"},{"lineNumber":296,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":297,"author":{"gitId":"-"},"content":" fsDb.restoreDeletedFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":301,"author":{"gitId":"-"},"content":" * Returns true if there are any questions for the specified user type (students/instructors) to answer."},{"lineNumber":302,"author":{"gitId":"-"},"content":" */"},{"lineNumber":303,"author":{"gitId":"-"},"content":" public boolean isFeedbackSessionForUserTypeToAnswer(FeedbackSession session, boolean isInstructor) {"},{"lineNumber":304,"author":{"gitId":"-"},"content":" if (!session.isVisible()) {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" return isInstructor"},{"lineNumber":309,"author":{"gitId":"-"},"content":" ? fqLogic.hasFeedbackQuestionsForInstructors(session.getFeedbackQuestions(), false)"},{"lineNumber":310,"author":{"gitId":"-"},"content":" : fqLogic.hasFeedbackQuestionsForStudents(session.getFeedbackQuestions());"},{"lineNumber":311,"author":{"gitId":"-"},"content":" }"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":314,"author":{"gitId":"-"},"content":" * Returns true if the feedback session is viewable by the given user type (students/instructors)."},{"lineNumber":315,"author":{"gitId":"-"},"content":" */"},{"lineNumber":316,"author":{"gitId":"-"},"content":" public boolean isFeedbackSessionViewableToUserType(FeedbackSession session, boolean isInstructor) {"},{"lineNumber":317,"author":{"gitId":"-"},"content":" // Allow user to view the feedback session if there are questions for them"},{"lineNumber":318,"author":{"gitId":"-"},"content":" if (isFeedbackSessionForUserTypeToAnswer(session, isInstructor)) {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":320,"author":{"gitId":"-"},"content":" }"},{"lineNumber":321,"author":{"gitId":"-"},"content":""},{"lineNumber":322,"author":{"gitId":"-"},"content":" // Allow user to view the feedback session if there are any question whose responses are visible to the user"},{"lineNumber":323,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsWithVisibleResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":324,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsForUser \u003d session.getFeedbackQuestions();"},{"lineNumber":325,"author":{"gitId":"-"},"content":" for (FeedbackQuestion question : questionsForUser) {"},{"lineNumber":326,"author":{"gitId":"-"},"content":" if (!isInstructor \u0026\u0026 frLogic.isResponseOfFeedbackQuestionVisibleToStudent(question)"},{"lineNumber":327,"author":{"gitId":"-"},"content":" || isInstructor \u0026\u0026 frLogic.isResponseOfFeedbackQuestionVisibleToInstructor(question)) {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" // We only need one question with visible responses for the entire session to be visible"},{"lineNumber":329,"author":{"gitId":"-"},"content":" questionsWithVisibleResponses.add(question);"},{"lineNumber":330,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":331,"author":{"gitId":"-"},"content":" }"},{"lineNumber":332,"author":{"gitId":"-"},"content":" }"},{"lineNumber":333,"author":{"gitId":"-"},"content":""},{"lineNumber":334,"author":{"gitId":"-"},"content":" return session.isVisible() \u0026\u0026 !questionsWithVisibleResponses.isEmpty();"},{"lineNumber":335,"author":{"gitId":"-"},"content":" }"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":338,"author":{"gitId":"-"},"content":" * Checks whether a student has attempted a feedback session."},{"lineNumber":339,"author":{"gitId":"-"},"content":" *"},{"lineNumber":340,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf feedback session consists of all team questions, session is attempted by student only"},{"lineNumber":341,"author":{"gitId":"-"},"content":" * if someone from the team has responded. If feedback session has some individual questions,"},{"lineNumber":342,"author":{"gitId":"-"},"content":" * session is attempted only if the student has responded to any of the individual questions"},{"lineNumber":343,"author":{"gitId":"-"},"content":" * (regardless of the completion status of the team questions).\u003c/p\u003e"},{"lineNumber":344,"author":{"gitId":"-"},"content":" */"},{"lineNumber":345,"author":{"gitId":"-"},"content":" public boolean isFeedbackSessionAttemptedByStudent(FeedbackSession session, String userEmail, String userTeam) {"},{"lineNumber":346,"author":{"gitId":"-"},"content":" assert session !\u003d null;"},{"lineNumber":347,"author":{"gitId":"-"},"content":" assert userEmail !\u003d null;"},{"lineNumber":348,"author":{"gitId":"-"},"content":" assert userTeam !\u003d null;"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":" if (!fqLogic.hasFeedbackQuestionsForStudents(session.getFeedbackQuestions())) {"},{"lineNumber":351,"author":{"gitId":"-"},"content":" // if there are no questions for student, session is attempted"},{"lineNumber":352,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":353,"author":{"gitId":"-"},"content":" } else if (fqLogic.hasFeedbackQuestionsForGiverType("},{"lineNumber":354,"author":{"gitId":"-"},"content":" session.getFeedbackQuestions(), FeedbackParticipantType.STUDENTS)) {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" // case where there are some individual questions"},{"lineNumber":356,"author":{"gitId":"-"},"content":" return frLogic.hasGiverRespondedForSession(userEmail, session.getFeedbackQuestions());"},{"lineNumber":357,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":358,"author":{"gitId":"-"},"content":" // case where all are team questions"},{"lineNumber":359,"author":{"gitId":"-"},"content":" return frLogic.hasGiverRespondedForSession(userTeam, session.getFeedbackQuestions());"},{"lineNumber":360,"author":{"gitId":"-"},"content":" }"},{"lineNumber":361,"author":{"gitId":"-"},"content":" }"},{"lineNumber":362,"author":{"gitId":"-"},"content":""},{"lineNumber":363,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":364,"author":{"gitId":"-"},"content":" * Checks whether an instructor has attempted a feedback session."},{"lineNumber":365,"author":{"gitId":"-"},"content":" *"},{"lineNumber":366,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf there is no question for instructors, the feedback session is considered as attempted.\u003c/p\u003e"},{"lineNumber":367,"author":{"gitId":"-"},"content":" */"},{"lineNumber":368,"author":{"gitId":"-"},"content":" public boolean isFeedbackSessionAttemptedByInstructor(FeedbackSession session, String userEmail) {"},{"lineNumber":369,"author":{"gitId":"-"},"content":" assert session !\u003d null;"},{"lineNumber":370,"author":{"gitId":"-"},"content":" assert userEmail !\u003d null;"},{"lineNumber":371,"author":{"gitId":"-"},"content":""},{"lineNumber":372,"author":{"gitId":"-"},"content":" if (frLogic.hasGiverRespondedForSession(userEmail, session.getFeedbackQuestions())) {"},{"lineNumber":373,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":" // if there is no question for instructor, session is attempted"},{"lineNumber":377,"author":{"gitId":"-"},"content":" return !fqLogic.hasFeedbackQuestionsForInstructors(session.getFeedbackQuestions(), session.isCreator(userEmail));"},{"lineNumber":378,"author":{"gitId":"-"},"content":" }"},{"lineNumber":379,"author":{"gitId":"-"},"content":""},{"lineNumber":380,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":381,"author":{"gitId":"-"},"content":" * After an update to feedback session\u0027s fields, may need to adjust the email status of the session."},{"lineNumber":382,"author":{"gitId":"-"},"content":" * @param session recently updated session."},{"lineNumber":383,"author":{"gitId":"-"},"content":" */"},{"lineNumber":384,"author":{"gitId":"-"},"content":" public void adjustFeedbackSessionEmailStatusAfterUpdate(FeedbackSession session) {"},{"lineNumber":385,"author":{"gitId":"-"},"content":" // reset isOpenEmailSent if the session has opened but is being un-opened"},{"lineNumber":386,"author":{"gitId":"-"},"content":" // now, or else leave it as sent if so."},{"lineNumber":387,"author":{"gitId":"-"},"content":" if (session.isOpenEmailSent()) {"},{"lineNumber":388,"author":{"gitId":"-"},"content":" session.setOpenEmailSent(session.isOpened());"},{"lineNumber":389,"author":{"gitId":"-"},"content":""},{"lineNumber":390,"author":{"gitId":"-"},"content":" // also reset isOpeningSoonEmailSent"},{"lineNumber":391,"author":{"gitId":"-"},"content":" session.setOpeningSoonEmailSent("},{"lineNumber":392,"author":{"gitId":"domoberzin"},"content":" session.isOpened() || session.isOpeningInHours(NUMBER_OF_HOURS_BEFORE_OPENING_SOON_ALERT));"},{"lineNumber":393,"author":{"gitId":"-"},"content":" }"},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"-"},"content":" // reset isClosedEmailSent if the session has closed but is being un-closed"},{"lineNumber":396,"author":{"gitId":"-"},"content":" // now, or else leave it as sent if so."},{"lineNumber":397,"author":{"gitId":"-"},"content":" if (session.isClosedEmailSent()) {"},{"lineNumber":398,"author":{"gitId":"-"},"content":" session.setClosedEmailSent(session.isClosed());"},{"lineNumber":399,"author":{"gitId":"-"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" // also reset isClosingSoonEmailSent"},{"lineNumber":401,"author":{"gitId":"-"},"content":" session.setClosingSoonEmailSent("},{"lineNumber":402,"author":{"gitId":"domoberzin"},"content":" session.isClosed() || session.isClosedAfter(NUMBER_OF_HOURS_BEFORE_CLOSING_ALERT));"},{"lineNumber":403,"author":{"gitId":"-"},"content":" }"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" // reset isPublishedEmailSent if the session has been published but is"},{"lineNumber":406,"author":{"gitId":"-"},"content":" // going to be unpublished now, or else leave it as sent if so."},{"lineNumber":407,"author":{"gitId":"-"},"content":" if (session.isPublishedEmailSent()) {"},{"lineNumber":408,"author":{"gitId":"-"},"content":" session.setPublishedEmailSent(session.isPublished());"},{"lineNumber":409,"author":{"gitId":"-"},"content":" }"},{"lineNumber":410,"author":{"gitId":"-"},"content":" }"},{"lineNumber":411,"author":{"gitId":"-"},"content":""},{"lineNumber":412,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":413,"author":{"gitId":"-"},"content":" * Criteria: must be published, publishEmail must be enabled and"},{"lineNumber":414,"author":{"gitId":"-"},"content":" * resultsVisibleTime must be custom."},{"lineNumber":415,"author":{"gitId":"-"},"content":" *"},{"lineNumber":416,"author":{"gitId":"-"},"content":" * @return returns a list of sessions that require automated emails to be"},{"lineNumber":417,"author":{"gitId":"-"},"content":" * sent as they are published"},{"lineNumber":418,"author":{"gitId":"-"},"content":" */"},{"lineNumber":419,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsWhichNeedAutomatedPublishedEmailsToBeSent() {"},{"lineNumber":420,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessionsToSendEmailsFor \u003d new ArrayList\u003c\u003e();"},{"lineNumber":421,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessions \u003d fsDb.getFeedbackSessionsPossiblyNeedingPublishedEmail();"},{"lineNumber":422,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration: %d\", sessions.size()));"},{"lineNumber":423,"author":{"gitId":"-"},"content":""},{"lineNumber":424,"author":{"gitId":"-"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":425,"author":{"gitId":"-"},"content":" // automated emails are required only for custom publish times"},{"lineNumber":426,"author":{"gitId":"-"},"content":" if (session.isPublished()"},{"lineNumber":427,"author":{"gitId":"-"},"content":" \u0026\u0026 !TimeHelper.isSpecialTime(session.getResultsVisibleFromTime())"},{"lineNumber":428,"author":{"gitId":"-"},"content":" \u0026\u0026 session.getCourse().getDeletedAt() \u003d\u003d null) {"},{"lineNumber":429,"author":{"gitId":"-"},"content":" sessionsToSendEmailsFor.add(session);"},{"lineNumber":430,"author":{"gitId":"-"},"content":" }"},{"lineNumber":431,"author":{"gitId":"-"},"content":" }"},{"lineNumber":432,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration after filtering: %d\","},{"lineNumber":433,"author":{"gitId":"-"},"content":" sessionsToSendEmailsFor.size()));"},{"lineNumber":434,"author":{"gitId":"-"},"content":" return sessionsToSendEmailsFor;"},{"lineNumber":435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":436,"author":{"gitId":"-"},"content":""},{"lineNumber":437,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":438,"author":{"gitId":"-"},"content":" * Returns a list of sessions that are going to close within the next 24 hours."},{"lineNumber":439,"author":{"gitId":"-"},"content":" */"},{"lineNumber":440,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsClosingWithinTimeLimit() {"},{"lineNumber":441,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e requiredSessions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":442,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessions \u003d fsDb.getFeedbackSessionsPossiblyNeedingClosingSoonEmail();"},{"lineNumber":443,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration: %d\", sessions.size()));"},{"lineNumber":444,"author":{"gitId":"-"},"content":""},{"lineNumber":445,"author":{"gitId":"-"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" if (session.isClosingWithinTimeLimit(NUMBER_OF_HOURS_BEFORE_CLOSING_ALERT)"},{"lineNumber":447,"author":{"gitId":"-"},"content":" \u0026\u0026 session.getCourse().getDeletedAt() \u003d\u003d null) {"},{"lineNumber":448,"author":{"gitId":"-"},"content":" requiredSessions.add(session);"},{"lineNumber":449,"author":{"gitId":"-"},"content":" }"},{"lineNumber":450,"author":{"gitId":"-"},"content":" }"},{"lineNumber":451,"author":{"gitId":"-"},"content":""},{"lineNumber":452,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration after filtering: %d\","},{"lineNumber":453,"author":{"gitId":"-"},"content":" requiredSessions.size()));"},{"lineNumber":454,"author":{"gitId":"-"},"content":" return requiredSessions;"},{"lineNumber":455,"author":{"gitId":"-"},"content":" }"},{"lineNumber":456,"author":{"gitId":"-"},"content":""},{"lineNumber":457,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":458,"author":{"gitId":"-"},"content":" * Returns a list of sessions that are going to open in 24 hours."},{"lineNumber":459,"author":{"gitId":"-"},"content":" */"},{"lineNumber":460,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsOpeningWithinTimeLimit() {"},{"lineNumber":461,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e requiredSessions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":462,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessions \u003d fsDb.getFeedbackSessionsPossiblyNeedingOpeningSoonEmail();"},{"lineNumber":463,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration: %d\", sessions.size()));"},{"lineNumber":464,"author":{"gitId":"-"},"content":""},{"lineNumber":465,"author":{"gitId":"-"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":466,"author":{"gitId":"-"},"content":" if (session.isOpeningWithinTimeLimit(NUMBER_OF_HOURS_BEFORE_OPENING_SOON_ALERT)"},{"lineNumber":467,"author":{"gitId":"-"},"content":" \u0026\u0026 session.getCourse().getDeletedAt() \u003d\u003d null) {"},{"lineNumber":468,"author":{"gitId":"-"},"content":" requiredSessions.add(session);"},{"lineNumber":469,"author":{"gitId":"-"},"content":" }"},{"lineNumber":470,"author":{"gitId":"-"},"content":" }"},{"lineNumber":471,"author":{"gitId":"-"},"content":""},{"lineNumber":472,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration after filtering: %d\","},{"lineNumber":473,"author":{"gitId":"-"},"content":" requiredSessions.size()));"},{"lineNumber":474,"author":{"gitId":"-"},"content":" return requiredSessions;"},{"lineNumber":475,"author":{"gitId":"-"},"content":" }"},{"lineNumber":476,"author":{"gitId":"-"},"content":""},{"lineNumber":477,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":478,"author":{"gitId":"-"},"content":" * Returns a list of sessions that were closed within past hour."},{"lineNumber":479,"author":{"gitId":"-"},"content":" */"},{"lineNumber":480,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsClosedWithinThePastHour() {"},{"lineNumber":481,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e requiredSessions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":482,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessions \u003d fsDb.getFeedbackSessionsPossiblyNeedingClosedEmail();"},{"lineNumber":483,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration: %d\", sessions.size()));"},{"lineNumber":484,"author":{"gitId":"-"},"content":""},{"lineNumber":485,"author":{"gitId":"-"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":486,"author":{"gitId":"-"},"content":" // is session closed in the past 1 hour"},{"lineNumber":487,"author":{"gitId":"-"},"content":" if (session.isClosedWithinPastHour()"},{"lineNumber":488,"author":{"gitId":"-"},"content":" \u0026\u0026 session.getCourse().getDeletedAt() \u003d\u003d null) {"},{"lineNumber":489,"author":{"gitId":"-"},"content":" requiredSessions.add(session);"},{"lineNumber":490,"author":{"gitId":"-"},"content":" }"},{"lineNumber":491,"author":{"gitId":"-"},"content":" }"},{"lineNumber":492,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration after filtering: %d\","},{"lineNumber":493,"author":{"gitId":"-"},"content":" requiredSessions.size()));"},{"lineNumber":494,"author":{"gitId":"-"},"content":" return requiredSessions;"},{"lineNumber":495,"author":{"gitId":"-"},"content":" }"},{"lineNumber":496,"author":{"gitId":"-"},"content":""},{"lineNumber":497,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":498,"author":{"gitId":"-"},"content":" * Gets a list of undeleted feedback sessions which start within the last 2 hours"},{"lineNumber":499,"author":{"gitId":"-"},"content":" * and need an open email to be sent."},{"lineNumber":500,"author":{"gitId":"-"},"content":" */"},{"lineNumber":501,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsWhichNeedOpenEmailsToBeSent() {"},{"lineNumber":502,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessionsToSendEmailsFor \u003d new ArrayList\u003c\u003e();"},{"lineNumber":503,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessions \u003d fsDb.getFeedbackSessionsPossiblyNeedingOpenEmail();"},{"lineNumber":504,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration: %d\", sessions.size()));"},{"lineNumber":505,"author":{"gitId":"-"},"content":""},{"lineNumber":506,"author":{"gitId":"-"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":507,"author":{"gitId":"-"},"content":" if (session.isOpened() \u0026\u0026 session.getCourse().getDeletedAt() \u003d\u003d null) {"},{"lineNumber":508,"author":{"gitId":"-"},"content":" sessionsToSendEmailsFor.add(session);"},{"lineNumber":509,"author":{"gitId":"-"},"content":" }"},{"lineNumber":510,"author":{"gitId":"-"},"content":" }"},{"lineNumber":511,"author":{"gitId":"-"},"content":""},{"lineNumber":512,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration after filtering: %d\","},{"lineNumber":513,"author":{"gitId":"-"},"content":" sessionsToSendEmailsFor.size()));"},{"lineNumber":514,"author":{"gitId":"-"},"content":" return sessionsToSendEmailsFor;"},{"lineNumber":515,"author":{"gitId":"-"},"content":" }"},{"lineNumber":516,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":517,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":518,"author":{"gitId":"domoberzin"},"content":" * Gets the expected number of submissions for a feedback session."},{"lineNumber":519,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":520,"author":{"gitId":"domoberzin"},"content":" public int getExpectedTotalSubmission(FeedbackSession fs) {"},{"lineNumber":521,"author":{"gitId":"domoberzin"},"content":" int expectedTotal \u003d 0;"},{"lineNumber":522,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackQuestion\u003e questions \u003d fqLogic.getFeedbackQuestionsForSession(fs);"},{"lineNumber":523,"author":{"gitId":"domoberzin"},"content":" if (fqLogic.hasFeedbackQuestionsForStudents(questions)) {"},{"lineNumber":524,"author":{"gitId":"domoberzin"},"content":" expectedTotal +\u003d usersLogic.getStudentsForCourse(fs.getCourse().getId()).size();"},{"lineNumber":525,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":526,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":527,"author":{"gitId":"domoberzin"},"content":" // Pre-flight check to ensure there are questions for instructors."},{"lineNumber":528,"author":{"gitId":"domoberzin"},"content":" if (!fqLogic.hasFeedbackQuestionsForInstructors(questions, true)) {"},{"lineNumber":529,"author":{"gitId":"domoberzin"},"content":" return expectedTotal;"},{"lineNumber":530,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":531,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":532,"author":{"gitId":"domoberzin"},"content":" List\u003cInstructor\u003e instructors \u003d usersLogic.getInstructorsForCourse(fs.getCourse().getId());"},{"lineNumber":533,"author":{"gitId":"domoberzin"},"content":" if (instructors.isEmpty()) {"},{"lineNumber":534,"author":{"gitId":"domoberzin"},"content":" return expectedTotal;"},{"lineNumber":535,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":536,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":537,"author":{"gitId":"domoberzin"},"content":" // Check presence of questions for instructors."},{"lineNumber":538,"author":{"gitId":"domoberzin"},"content":" if (fqLogic.hasFeedbackQuestionsForInstructors(fqLogic.getFeedbackQuestionsForSession(fs), false)) {"},{"lineNumber":539,"author":{"gitId":"domoberzin"},"content":" expectedTotal +\u003d instructors.size();"},{"lineNumber":540,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":541,"author":{"gitId":"domoberzin"},"content":" // No questions for instructors. There must be questions for creator."},{"lineNumber":542,"author":{"gitId":"domoberzin"},"content":" List\u003cInstructor\u003e creators \u003d instructors.stream()"},{"lineNumber":543,"author":{"gitId":"domoberzin"},"content":" .filter(instructor -\u003e fs.getCreatorEmail().equals(instructor.getEmail()))"},{"lineNumber":544,"author":{"gitId":"domoberzin"},"content":" .collect(Collectors.toList());"},{"lineNumber":545,"author":{"gitId":"domoberzin"},"content":" expectedTotal +\u003d creators.size();"},{"lineNumber":546,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":547,"author":{"gitId":"domoberzin"},"content":" return expectedTotal;"},{"lineNumber":548,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":549,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":550,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":551,"author":{"gitId":"domoberzin"},"content":" * Gets the actual number of submissions for a feedback session."},{"lineNumber":552,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":553,"author":{"gitId":"domoberzin"},"content":" public int getActualTotalSubmission(FeedbackSession fs) {"},{"lineNumber":554,"author":{"gitId":"domoberzin"},"content":" return getGiverSetThatAnsweredFeedbackSession(fs).size();"},{"lineNumber":555,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":556,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":65,"-":491}},{"path":"src/main/java/teammates/sqllogic/core/LogicStarter.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import javax.servlet.ServletContextEvent;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import javax.servlet.ServletContextListener;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountRequestsDb;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountsDb;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.CoursesDb;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.DeadlineExtensionsDb;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackQuestionsDb;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackResponseCommentsDb;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackResponsesDb;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackSessionsDb;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.NotificationsDb;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.UsageStatisticsDb;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.UsersDb;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * Setup in web.xml to register logic classes at application startup."},{"lineNumber":21,"author":{"gitId":"-"},"content":" */"},{"lineNumber":22,"author":{"gitId":"-"},"content":"public class LogicStarter implements ServletContextListener {"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * Registers dependencies between different logic classes."},{"lineNumber":28,"author":{"gitId":"-"},"content":" */"},{"lineNumber":29,"author":{"gitId":"-"},"content":" public static void initializeDependencies() {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" AccountsLogic accountsLogic \u003d AccountsLogic.inst();"},{"lineNumber":31,"author":{"gitId":"-"},"content":" AccountRequestsLogic accountRequestsLogic \u003d AccountRequestsLogic.inst();"},{"lineNumber":32,"author":{"gitId":"-"},"content":" CoursesLogic coursesLogic \u003d CoursesLogic.inst();"},{"lineNumber":33,"author":{"gitId":"-"},"content":" DataBundleLogic dataBundleLogic \u003d DataBundleLogic.inst();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" DeadlineExtensionsLogic deadlineExtensionsLogic \u003d DeadlineExtensionsLogic.inst();"},{"lineNumber":35,"author":{"gitId":"-"},"content":" FeedbackSessionsLogic fsLogic \u003d FeedbackSessionsLogic.inst();"},{"lineNumber":36,"author":{"gitId":"-"},"content":" FeedbackResponsesLogic frLogic \u003d FeedbackResponsesLogic.inst();"},{"lineNumber":37,"author":{"gitId":"-"},"content":" FeedbackResponseCommentsLogic frcLogic \u003d FeedbackResponseCommentsLogic.inst();"},{"lineNumber":38,"author":{"gitId":"-"},"content":" FeedbackQuestionsLogic fqLogic \u003d FeedbackQuestionsLogic.inst();"},{"lineNumber":39,"author":{"gitId":"-"},"content":" NotificationsLogic notificationsLogic \u003d NotificationsLogic.inst();"},{"lineNumber":40,"author":{"gitId":"-"},"content":" UsageStatisticsLogic usageStatisticsLogic \u003d UsageStatisticsLogic.inst();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" UsersLogic usersLogic \u003d UsersLogic.inst();"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" accountRequestsLogic.initLogicDependencies(AccountRequestsDb.inst());"},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" accountsLogic.initLogicDependencies(AccountsDb.inst(), notificationsLogic, usersLogic, coursesLogic);"},{"lineNumber":45,"author":{"gitId":"-"},"content":" coursesLogic.initLogicDependencies(CoursesDb.inst(), fsLogic, usersLogic);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" dataBundleLogic.initLogicDependencies(accountsLogic, accountRequestsLogic, coursesLogic,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" deadlineExtensionsLogic, fsLogic, fqLogic, frLogic, frcLogic,"},{"lineNumber":48,"author":{"gitId":"-"},"content":" notificationsLogic, usersLogic);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" deadlineExtensionsLogic.initLogicDependencies(DeadlineExtensionsDb.inst(), fsLogic);"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" fsLogic.initLogicDependencies(FeedbackSessionsDb.inst(), coursesLogic, frLogic, fqLogic, usersLogic);"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" frLogic.initLogicDependencies(FeedbackResponsesDb.inst(), usersLogic, fqLogic, frcLogic);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" frcLogic.initLogicDependencies(FeedbackResponseCommentsDb.inst());"},{"lineNumber":53,"author":{"gitId":"-"},"content":" fqLogic.initLogicDependencies(FeedbackQuestionsDb.inst(), coursesLogic, frLogic, usersLogic, fsLogic);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" notificationsLogic.initLogicDependencies(NotificationsDb.inst());"},{"lineNumber":55,"author":{"gitId":"-"},"content":" usageStatisticsLogic.initLogicDependencies(UsageStatisticsDb.inst());"},{"lineNumber":56,"author":{"gitId":"-"},"content":" usersLogic.initLogicDependencies(UsersDb.inst(), accountsLogic, frLogic, frcLogic, deadlineExtensionsLogic);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" log.info(\"Initialized dependencies between logic classes\");"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public void contextInitialized(ServletContextEvent event) {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" // Invoked by Jetty at application startup."},{"lineNumber":63,"author":{"gitId":"-"},"content":" initializeDependencies();"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":67,"author":{"gitId":"-"},"content":" public void contextDestroyed(ServletContextEvent event) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" // Nothing to do"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":2,"yuanxi1":1,"-":68}},{"path":"src/main/java/teammates/sqllogic/core/UsersLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"marquestye"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Comparator;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import java.util.StringJoiner;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPermissionRole;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPrivileges;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EnrollException;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.exception.InstructorUpdateException;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.exception.StudentUpdateException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.util.RequestTracer;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.UsersDb;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.User;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.InstructorSearchManager;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.StudentSearchManager;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.ui.request.InstructorCreateRequest;"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":41,"author":{"gitId":"-"},"content":" * Handles operations related to user (instructor \u0026 student)."},{"lineNumber":42,"author":{"gitId":"-"},"content":" *"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * @see User"},{"lineNumber":44,"author":{"gitId":"-"},"content":" * @see UsersDb"},{"lineNumber":45,"author":{"gitId":"-"},"content":" */"},{"lineNumber":46,"author":{"gitId":"-"},"content":"public final class UsersLogic {"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" static final String ERROR_INVALID_TEAM_NAME \u003d"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" \"Team \\\"%s\\\" is detected in both Section \\\"%s\\\" and Section \\\"%s\\\".\";"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" static final String ERROR_INVALID_TEAM_NAME_INSTRUCTION \u003d"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" \"Please use different team names in different sections.\";"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" static final String ERROR_ENROLL_EXCEED_SECTION_LIMIT \u003d"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" \"You are trying enroll more than %s students in section \\\"%s\\\".\";"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" static final String ERROR_ENROLL_EXCEED_SECTION_LIMIT_INSTRUCTION \u003d"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" \"To avoid performance problems, please do not enroll more than %s students in a single section.\";"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" private static final UsersLogic instance \u003d new UsersLogic();"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final int MAX_KEY_REGENERATION_TRIES \u003d 10;"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" private UsersDb usersDb;"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" private AccountsLogic accountsLogic;"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" private FeedbackResponsesLogic feedbackResponsesLogic;"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" private FeedbackResponseCommentsLogic feedbackResponseCommentsLogic;"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" private DeadlineExtensionsLogic deadlineExtensionsLogic;"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" private UsersLogic() {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" public static UsersLogic inst() {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" void initLogicDependencies(UsersDb usersDb, AccountsLogic accountsLogic, FeedbackResponsesLogic feedbackResponsesLogic,"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" FeedbackResponseCommentsLogic feedbackResponseCommentsLogic,"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" DeadlineExtensionsLogic deadlineExtensionsLogic) {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" this.usersDb \u003d usersDb;"},{"lineNumber":83,"author":{"gitId":"-"},"content":" this.accountsLogic \u003d accountsLogic;"},{"lineNumber":84,"author":{"gitId":"-"},"content":" this.feedbackResponsesLogic \u003d feedbackResponsesLogic;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" this.feedbackResponseCommentsLogic \u003d feedbackResponseCommentsLogic;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" this.deadlineExtensionsLogic \u003d deadlineExtensionsLogic;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" private InstructorSearchManager getInstructorSearchManager() {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" return usersDb.getInstructorSearchManager();"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" private StudentSearchManager getStudentSearchManager() {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" return usersDb.getStudentSearchManager();"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Creates or updates search document for the given instructor."},{"lineNumber":99,"author":{"gitId":"-"},"content":" */"},{"lineNumber":100,"author":{"gitId":"-"},"content":" public void putInstructorDocument(Instructor instructor) throws SearchServiceException {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" getInstructorSearchManager().putDocument(instructor);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":105,"author":{"gitId":"-"},"content":" * Creates or updates search document for the given student."},{"lineNumber":106,"author":{"gitId":"-"},"content":" */"},{"lineNumber":107,"author":{"gitId":"-"},"content":" public void putStudentDocument(Student student) throws SearchServiceException {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" getStudentSearchManager().putDocument(student);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":112,"author":{"gitId":"-"},"content":" * Create an instructor."},{"lineNumber":113,"author":{"gitId":"-"},"content":" *"},{"lineNumber":114,"author":{"gitId":"-"},"content":" * @return the created instructor"},{"lineNumber":115,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the instructor is not valid"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the instructor already exists in the"},{"lineNumber":117,"author":{"gitId":"-"},"content":" * database."},{"lineNumber":118,"author":{"gitId":"-"},"content":" */"},{"lineNumber":119,"author":{"gitId":"-"},"content":" public Instructor createInstructor(Instructor instructor)"},{"lineNumber":120,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":121,"author":{"gitId":"mingyuanc"},"content":" if (getInstructorForEmail(instructor.getCourseId(), instructor.getEmail()) !\u003d null) {"},{"lineNumber":122,"author":{"gitId":"mingyuanc"},"content":" throw new EntityAlreadyExistsException(\"Instructor already exists.\");"},{"lineNumber":123,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":" return usersDb.createInstructor(instructor);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":128,"author":{"gitId":"-"},"content":" * Updates an instructor and cascades to responses and comments if needed."},{"lineNumber":129,"author":{"gitId":"-"},"content":" *"},{"lineNumber":130,"author":{"gitId":"-"},"content":" * @return updated instructor"},{"lineNumber":131,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the instructor update request is invalid"},{"lineNumber":132,"author":{"gitId":"-"},"content":" * @throws InstructorUpdateException if the update violates instructor validity"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the instructor does not exist in the database"},{"lineNumber":134,"author":{"gitId":"-"},"content":" */"},{"lineNumber":135,"author":{"gitId":"-"},"content":" public Instructor updateInstructorCascade(String courseId, InstructorCreateRequest instructorRequest) throws"},{"lineNumber":136,"author":{"gitId":"-"},"content":" InvalidParametersException, InstructorUpdateException, EntityDoesNotExistException {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" Instructor instructor;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" String instructorId \u003d instructorRequest.getId();"},{"lineNumber":139,"author":{"gitId":"-"},"content":" if (instructorId \u003d\u003d null) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" instructor \u003d getInstructorForEmail(courseId, instructorRequest.getEmail());"},{"lineNumber":141,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" instructor \u003d getInstructorByGoogleId(courseId, instructorId);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" }"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to update an instructor that does not exist.\");"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" verifyAtLeastOneInstructorIsDisplayed("},{"lineNumber":150,"author":{"gitId":"-"},"content":" courseId, instructor.isDisplayedToStudents(), instructorRequest.getIsDisplayedToStudent());"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" String originalEmail \u003d instructor.getEmail();"},{"lineNumber":153,"author":{"gitId":"-"},"content":" boolean needsCascade \u003d false;"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" String newDisplayName \u003d instructorRequest.getDisplayName();"},{"lineNumber":156,"author":{"gitId":"-"},"content":" if (newDisplayName \u003d\u003d null || newDisplayName.isEmpty()) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" newDisplayName \u003d Const.DEFAULT_DISPLAY_NAME_FOR_INSTRUCTOR;"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" instructor.setName(SanitizationHelper.sanitizeName(instructorRequest.getName()));"},{"lineNumber":161,"author":{"gitId":"-"},"content":" instructor.setEmail(SanitizationHelper.sanitizeEmail(instructorRequest.getEmail()));"},{"lineNumber":162,"author":{"gitId":"-"},"content":" instructor.setRole(InstructorPermissionRole.getEnum(instructorRequest.getRoleName()));"},{"lineNumber":163,"author":{"gitId":"-"},"content":" instructor.setPrivileges(new InstructorPrivileges(instructorRequest.getRoleName()));"},{"lineNumber":164,"author":{"gitId":"-"},"content":" instructor.setDisplayName(SanitizationHelper.sanitizeName(newDisplayName));"},{"lineNumber":165,"author":{"gitId":"-"},"content":" instructor.setDisplayedToStudents(instructorRequest.getIsDisplayedToStudent());"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" String newEmail \u003d instructor.getEmail();"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" if (!originalEmail.equals(newEmail)) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" needsCascade \u003d true;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" if (!instructor.isValid()) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(instructor.getInvalidityInfo());"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" if (needsCascade) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" // cascade responses"},{"lineNumber":179,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e responsesFromUser \u003d"},{"lineNumber":180,"author":{"gitId":"-"},"content":" feedbackResponsesLogic.getFeedbackResponsesFromGiverForCourse(courseId, originalEmail);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" for (FeedbackResponse responseFromUser : responsesFromUser) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" FeedbackQuestion question \u003d responseFromUser.getFeedbackQuestion();"},{"lineNumber":183,"author":{"gitId":"-"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":184,"author":{"gitId":"-"},"content":" || question.getGiverType() \u003d\u003d FeedbackParticipantType.SELF) {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" responseFromUser.setGiver(newEmail);"},{"lineNumber":186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e responsesToUser \u003d"},{"lineNumber":189,"author":{"gitId":"-"},"content":" feedbackResponsesLogic.getFeedbackResponsesForRecipientForCourse(courseId, originalEmail);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" for (FeedbackResponse responseToUser : responsesToUser) {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" FeedbackQuestion question \u003d responseToUser.getFeedbackQuestion();"},{"lineNumber":192,"author":{"gitId":"-"},"content":" if (question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":193,"author":{"gitId":"-"},"content":" || question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":194,"author":{"gitId":"-"},"content":" \u0026\u0026 question.getRecipientType() \u003d\u003d FeedbackParticipantType.SELF) {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" responseToUser.setRecipient(newEmail);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":" // cascade comments"},{"lineNumber":199,"author":{"gitId":"-"},"content":" feedbackResponseCommentsLogic.updateFeedbackResponseCommentsEmails(courseId, originalEmail, newEmail);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" return instructor;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":206,"author":{"gitId":"-"},"content":" * Verifies that at least one instructor is displayed to studens."},{"lineNumber":207,"author":{"gitId":"-"},"content":" *"},{"lineNumber":208,"author":{"gitId":"-"},"content":" * @throws InstructorUpdateException if there is no instructor displayed to students."},{"lineNumber":209,"author":{"gitId":"-"},"content":" */"},{"lineNumber":210,"author":{"gitId":"-"},"content":" void verifyAtLeastOneInstructorIsDisplayed(String courseId, boolean isOriginalInstructorDisplayed,"},{"lineNumber":211,"author":{"gitId":"-"},"content":" boolean isEditedInstructorDisplayed)"},{"lineNumber":212,"author":{"gitId":"-"},"content":" throws InstructorUpdateException {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorsDisplayed \u003d usersDb.getInstructorsDisplayedToStudents(courseId);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" boolean isEditedInstructorChangedToNonVisible \u003d isOriginalInstructorDisplayed \u0026\u0026 !isEditedInstructorDisplayed;"},{"lineNumber":215,"author":{"gitId":"-"},"content":" boolean isNoInstructorMadeVisible \u003d instructorsDisplayed.isEmpty() \u0026\u0026 !isEditedInstructorDisplayed;"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" if (isNoInstructorMadeVisible || instructorsDisplayed.size() \u003d\u003d 1 \u0026\u0026 isEditedInstructorChangedToNonVisible) {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" throw new InstructorUpdateException(\"At least one instructor must be displayed to students\");"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":223,"author":{"gitId":"-"},"content":" * Creates a student."},{"lineNumber":224,"author":{"gitId":"-"},"content":" *"},{"lineNumber":225,"author":{"gitId":"-"},"content":" * @return the created student"},{"lineNumber":226,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the student is not valid"},{"lineNumber":227,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the student already exists in the"},{"lineNumber":228,"author":{"gitId":"-"},"content":" * database."},{"lineNumber":229,"author":{"gitId":"-"},"content":" */"},{"lineNumber":230,"author":{"gitId":"-"},"content":" public Student createStudent(Student student) throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" return usersDb.createStudent(student);"},{"lineNumber":232,"author":{"gitId":"-"},"content":" }"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":235,"author":{"gitId":"-"},"content":" * Gets instructor associated with {@code id}."},{"lineNumber":236,"author":{"gitId":"-"},"content":" *"},{"lineNumber":237,"author":{"gitId":"-"},"content":" * @param id Id of Instructor."},{"lineNumber":238,"author":{"gitId":"-"},"content":" * @return Returns Instructor if found else null."},{"lineNumber":239,"author":{"gitId":"-"},"content":" */"},{"lineNumber":240,"author":{"gitId":"-"},"content":" public Instructor getInstructor(UUID id) {"},{"lineNumber":241,"author":{"gitId":"-"},"content":" assert id !\u003d null;"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" return usersDb.getInstructor(id);"},{"lineNumber":244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * Gets the instructor with the specified email."},{"lineNumber":248,"author":{"gitId":"-"},"content":" */"},{"lineNumber":249,"author":{"gitId":"-"},"content":" public Instructor getInstructorForEmail(String courseId, String userEmail) {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" return usersDb.getInstructorForEmail(courseId, userEmail);"},{"lineNumber":251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":254,"author":{"gitId":"-"},"content":" * Gets instructors matching any of the specified emails."},{"lineNumber":255,"author":{"gitId":"-"},"content":" */"},{"lineNumber":256,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsForEmails(String courseId, List\u003cString\u003e userEmails) {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" return usersDb.getInstructorsForEmails(courseId, userEmails);"},{"lineNumber":258,"author":{"gitId":"-"},"content":" }"},{"lineNumber":259,"author":{"gitId":"-"},"content":""},{"lineNumber":260,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":261,"author":{"gitId":"-"},"content":" * Gets an instructor by associated {@code regkey}."},{"lineNumber":262,"author":{"gitId":"-"},"content":" */"},{"lineNumber":263,"author":{"gitId":"-"},"content":" public Instructor getInstructorByRegistrationKey(String regKey) {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" assert regKey !\u003d null;"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" return usersDb.getInstructorByRegKey(regKey);"},{"lineNumber":267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":270,"author":{"gitId":"-"},"content":" * Gets an instructor by associated {@code googleId}."},{"lineNumber":271,"author":{"gitId":"-"},"content":" */"},{"lineNumber":272,"author":{"gitId":"-"},"content":" public Instructor getInstructorByGoogleId(String courseId, String googleId) {"},{"lineNumber":273,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" return usersDb.getInstructorByGoogleId(courseId, googleId);"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":280,"author":{"gitId":"-"},"content":" * Searches instructors in the whole system. Used by admin only."},{"lineNumber":281,"author":{"gitId":"-"},"content":" *"},{"lineNumber":282,"author":{"gitId":"-"},"content":" * @return List of found instructors in the whole system. Null if no result found."},{"lineNumber":283,"author":{"gitId":"-"},"content":" */"},{"lineNumber":284,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e searchInstructorsInWholeSystem(String queryString)"},{"lineNumber":285,"author":{"gitId":"-"},"content":" throws SearchServiceException {"},{"lineNumber":286,"author":{"gitId":"-"},"content":" return usersDb.searchInstructorsInWholeSystem(queryString);"},{"lineNumber":287,"author":{"gitId":"-"},"content":" }"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":290,"author":{"gitId":"-"},"content":" * Deletes an instructor or student."},{"lineNumber":291,"author":{"gitId":"-"},"content":" */"},{"lineNumber":292,"author":{"gitId":"-"},"content":" public \u003cT extends User\u003e void deleteUser(T user) {"},{"lineNumber":293,"author":{"gitId":"-"},"content":" usersDb.deleteUser(user);"},{"lineNumber":294,"author":{"gitId":"-"},"content":" }"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":297,"author":{"gitId":"-"},"content":" * Deletes an instructor and cascades deletion to"},{"lineNumber":298,"author":{"gitId":"-"},"content":" * associated feedback responses, deadline extensions and comments."},{"lineNumber":299,"author":{"gitId":"-"},"content":" *"},{"lineNumber":300,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if the instructor does not exist."},{"lineNumber":301,"author":{"gitId":"-"},"content":" */"},{"lineNumber":302,"author":{"gitId":"-"},"content":" public void deleteInstructorCascade(String courseId, String email) {"},{"lineNumber":303,"author":{"gitId":"-"},"content":" Instructor instructor \u003d getInstructorForEmail(courseId, email);"},{"lineNumber":304,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" feedbackResponsesLogic.deleteFeedbackResponsesForCourseCascade(courseId, email);"},{"lineNumber":309,"author":{"gitId":"-"},"content":" deadlineExtensionsLogic.deleteDeadlineExtensionsForUser(instructor);"},{"lineNumber":310,"author":{"gitId":"-"},"content":" deleteUser(instructor);"},{"lineNumber":311,"author":{"gitId":"-"},"content":" }"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":314,"author":{"gitId":"-"},"content":" * Gets the list of instructors with co-owner privileges in a course."},{"lineNumber":315,"author":{"gitId":"-"},"content":" */"},{"lineNumber":316,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getCoOwnersForCourse(String courseId) {"},{"lineNumber":317,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors \u003d getInstructorsForCourse(courseId);"},{"lineNumber":318,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorsWithCoOwnerPrivileges \u003d new ArrayList\u003c\u003e();"},{"lineNumber":319,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":320,"author":{"gitId":"-"},"content":" if (!instructor.hasCoownerPrivileges()) {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":322,"author":{"gitId":"-"},"content":" }"},{"lineNumber":323,"author":{"gitId":"-"},"content":" instructorsWithCoOwnerPrivileges.add(instructor);"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":" return instructorsWithCoOwnerPrivileges;"},{"lineNumber":326,"author":{"gitId":"-"},"content":" }"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":329,"author":{"gitId":"-"},"content":" * Gets a list of instructors for the specified course."},{"lineNumber":330,"author":{"gitId":"-"},"content":" */"},{"lineNumber":331,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsForCourse(String courseId) {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorReturnList \u003d usersDb.getInstructorsForCourse(courseId);"},{"lineNumber":333,"author":{"gitId":"-"},"content":" sortByName(instructorReturnList);"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" return instructorReturnList;"},{"lineNumber":336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":339,"author":{"gitId":"-"},"content":" * Check if the instructors with the provided emails exist in the course."},{"lineNumber":340,"author":{"gitId":"-"},"content":" */"},{"lineNumber":341,"author":{"gitId":"-"},"content":" public boolean verifyInstructorsExistInCourse(String courseId, List\u003cString\u003e emails) {"},{"lineNumber":342,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors \u003d usersDb.getInstructorsForEmails(courseId, emails);"},{"lineNumber":343,"author":{"gitId":"-"},"content":" Map\u003cString, User\u003e emailInstructorMap \u003d convertUserListToEmailUserMap(instructors);"},{"lineNumber":344,"author":{"gitId":"-"},"content":""},{"lineNumber":345,"author":{"gitId":"-"},"content":" for (String email : emails) {"},{"lineNumber":346,"author":{"gitId":"-"},"content":" if (!emailInstructorMap.containsKey(email)) {"},{"lineNumber":347,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":348,"author":{"gitId":"-"},"content":" }"},{"lineNumber":349,"author":{"gitId":"-"},"content":" }"},{"lineNumber":350,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":354,"author":{"gitId":"-"},"content":" * Gets all instructors associated with a googleId."},{"lineNumber":355,"author":{"gitId":"-"},"content":" */"},{"lineNumber":356,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsForGoogleId(String googleId) {"},{"lineNumber":357,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":358,"author":{"gitId":"-"},"content":" return usersDb.getInstructorsForGoogleId(googleId);"},{"lineNumber":359,"author":{"gitId":"-"},"content":" }"},{"lineNumber":360,"author":{"gitId":"-"},"content":""},{"lineNumber":361,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":362,"author":{"gitId":"-"},"content":" * Make the instructor join the course, i.e. associate an account to the instructor with the given googleId."},{"lineNumber":363,"author":{"gitId":"-"},"content":" * Creates an account for the instructor if no existing account is found."},{"lineNumber":364,"author":{"gitId":"-"},"content":" * Preconditions:"},{"lineNumber":365,"author":{"gitId":"-"},"content":" * Parameters regkey and googleId are non-null."},{"lineNumber":366,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the instructor already exists in the database."},{"lineNumber":367,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the instructor parameters are not valid"},{"lineNumber":368,"author":{"gitId":"-"},"content":" */"},{"lineNumber":369,"author":{"gitId":"-"},"content":" public Instructor joinCourseForInstructor(String googleId, Instructor instructor)"},{"lineNumber":370,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" if (googleId \u003d\u003d null) {"},{"lineNumber":372,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(\"Instructor\u0027s googleId cannot be null\");"},{"lineNumber":373,"author":{"gitId":"-"},"content":" }"},{"lineNumber":374,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":375,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(\"Instructor cannot be null\");"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":""},{"lineNumber":378,"author":{"gitId":"-"},"content":" // setting account for instructor sets it as registered"},{"lineNumber":379,"author":{"gitId":"-"},"content":" if (instructor.getAccount() \u003d\u003d null) {"},{"lineNumber":380,"author":{"gitId":"-"},"content":" Account dbAccount \u003d accountsLogic.getAccountForGoogleId(googleId);"},{"lineNumber":381,"author":{"gitId":"-"},"content":" if (dbAccount !\u003d null) {"},{"lineNumber":382,"author":{"gitId":"-"},"content":" instructor.setAccount(dbAccount);"},{"lineNumber":383,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":384,"author":{"gitId":"-"},"content":" Account account \u003d new Account(googleId, instructor.getName(), instructor.getEmail());"},{"lineNumber":385,"author":{"gitId":"-"},"content":" instructor.setAccount(account);"},{"lineNumber":386,"author":{"gitId":"-"},"content":" accountsLogic.createAccount(account);"},{"lineNumber":387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":388,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":389,"author":{"gitId":"-"},"content":" instructor.setGoogleId(googleId);"},{"lineNumber":390,"author":{"gitId":"-"},"content":" }"},{"lineNumber":391,"author":{"gitId":"-"},"content":" usersDb.updateUser(instructor);"},{"lineNumber":392,"author":{"gitId":"-"},"content":""},{"lineNumber":393,"author":{"gitId":"-"},"content":" // Update the googleId of the student entity for the instructor which was created from sample data."},{"lineNumber":394,"author":{"gitId":"-"},"content":" Student student \u003d getStudentForEmail(instructor.getCourseId(), instructor.getEmail());"},{"lineNumber":395,"author":{"gitId":"-"},"content":" if (student !\u003d null) {"},{"lineNumber":396,"author":{"gitId":"-"},"content":" if (student.getAccount() \u003d\u003d null) {"},{"lineNumber":397,"author":{"gitId":"-"},"content":" Account account \u003d new Account(googleId, student.getName(), student.getEmail());"},{"lineNumber":398,"author":{"gitId":"-"},"content":" student.setAccount(account);"},{"lineNumber":399,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":400,"author":{"gitId":"-"},"content":" student.getAccount().setGoogleId(googleId);"},{"lineNumber":401,"author":{"gitId":"-"},"content":" }"},{"lineNumber":402,"author":{"gitId":"-"},"content":" usersDb.updateUser(student);"},{"lineNumber":403,"author":{"gitId":"-"},"content":" }"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" return instructor;"},{"lineNumber":406,"author":{"gitId":"-"},"content":" }"},{"lineNumber":407,"author":{"gitId":"-"},"content":""},{"lineNumber":408,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":409,"author":{"gitId":"-"},"content":" * Regenerates the registration key for the instructor with email address {@code email} in course {@code courseId}."},{"lineNumber":410,"author":{"gitId":"-"},"content":" *"},{"lineNumber":411,"author":{"gitId":"-"},"content":" * @return the instructor with the new registration key."},{"lineNumber":412,"author":{"gitId":"-"},"content":" * @throws InstructorUpdateException if system was unable to generate a new registration key."},{"lineNumber":413,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the instructor does not exist."},{"lineNumber":414,"author":{"gitId":"-"},"content":" */"},{"lineNumber":415,"author":{"gitId":"-"},"content":" public Instructor regenerateInstructorRegistrationKey(String courseId, String email)"},{"lineNumber":416,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InstructorUpdateException {"},{"lineNumber":417,"author":{"gitId":"-"},"content":" Instructor instructor \u003d getInstructorForEmail(courseId, email);"},{"lineNumber":418,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":419,"author":{"gitId":"-"},"content":" String errorMessage \u003d String.format("},{"lineNumber":420,"author":{"gitId":"-"},"content":" \"The instructor with the email %s could not be found for the course with ID [%s].\", email, courseId);"},{"lineNumber":421,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(errorMessage);"},{"lineNumber":422,"author":{"gitId":"-"},"content":" }"},{"lineNumber":423,"author":{"gitId":"-"},"content":""},{"lineNumber":424,"author":{"gitId":"-"},"content":" String oldKey \u003d instructor.getRegKey();"},{"lineNumber":425,"author":{"gitId":"-"},"content":" int numTries \u003d 0;"},{"lineNumber":426,"author":{"gitId":"-"},"content":" while (numTries \u003c MAX_KEY_REGENERATION_TRIES) {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" instructor.generateNewRegistrationKey();"},{"lineNumber":428,"author":{"gitId":"-"},"content":" if (!instructor.getRegKey().equals(oldKey)) {"},{"lineNumber":429,"author":{"gitId":"-"},"content":" return instructor;"},{"lineNumber":430,"author":{"gitId":"-"},"content":" }"},{"lineNumber":431,"author":{"gitId":"-"},"content":" numTries++;"},{"lineNumber":432,"author":{"gitId":"-"},"content":" }"},{"lineNumber":433,"author":{"gitId":"-"},"content":""},{"lineNumber":434,"author":{"gitId":"-"},"content":" throw new InstructorUpdateException(\"Could not regenerate a new course registration key for the instructor.\");"},{"lineNumber":435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":436,"author":{"gitId":"-"},"content":""},{"lineNumber":437,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":438,"author":{"gitId":"-"},"content":" * Regenerates the registration key for the student with email address {@code email} in course {@code courseId}."},{"lineNumber":439,"author":{"gitId":"-"},"content":" *"},{"lineNumber":440,"author":{"gitId":"-"},"content":" * @return the student with the new registration key."},{"lineNumber":441,"author":{"gitId":"-"},"content":" * @throws StudentUpdateException if system was unable to generate a new registration key."},{"lineNumber":442,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the student does not exist."},{"lineNumber":443,"author":{"gitId":"-"},"content":" */"},{"lineNumber":444,"author":{"gitId":"-"},"content":" public Student regenerateStudentRegistrationKey(String courseId, String email)"},{"lineNumber":445,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, StudentUpdateException {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" Student student \u003d getStudentForEmail(courseId, email);"},{"lineNumber":447,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":448,"author":{"gitId":"-"},"content":" String errorMessage \u003d String.format("},{"lineNumber":449,"author":{"gitId":"-"},"content":" \"The student with the email %s could not be found for the course with ID [%s].\", email, courseId);"},{"lineNumber":450,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(errorMessage);"},{"lineNumber":451,"author":{"gitId":"-"},"content":" }"},{"lineNumber":452,"author":{"gitId":"-"},"content":""},{"lineNumber":453,"author":{"gitId":"-"},"content":" String oldKey \u003d student.getRegKey();"},{"lineNumber":454,"author":{"gitId":"-"},"content":" int numTries \u003d 0;"},{"lineNumber":455,"author":{"gitId":"-"},"content":" while (numTries \u003c MAX_KEY_REGENERATION_TRIES) {"},{"lineNumber":456,"author":{"gitId":"-"},"content":" student.generateNewRegistrationKey();"},{"lineNumber":457,"author":{"gitId":"-"},"content":" if (!student.getRegKey().equals(oldKey)) {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" return student;"},{"lineNumber":459,"author":{"gitId":"-"},"content":" }"},{"lineNumber":460,"author":{"gitId":"-"},"content":" numTries++;"},{"lineNumber":461,"author":{"gitId":"-"},"content":" }"},{"lineNumber":462,"author":{"gitId":"-"},"content":""},{"lineNumber":463,"author":{"gitId":"-"},"content":" throw new StudentUpdateException(\"Could not regenerate a new course registration key for the student.\");"},{"lineNumber":464,"author":{"gitId":"-"},"content":" }"},{"lineNumber":465,"author":{"gitId":"-"},"content":""},{"lineNumber":466,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":467,"author":{"gitId":"-"},"content":" * Returns true if the user associated with the googleId is an instructor in any course in the system."},{"lineNumber":468,"author":{"gitId":"-"},"content":" */"},{"lineNumber":469,"author":{"gitId":"-"},"content":" public boolean isInstructorInAnyCourse(String googleId) {"},{"lineNumber":470,"author":{"gitId":"-"},"content":" return !usersDb.getAllInstructorsByGoogleId(googleId).isEmpty();"},{"lineNumber":471,"author":{"gitId":"-"},"content":" }"},{"lineNumber":472,"author":{"gitId":"-"},"content":""},{"lineNumber":473,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":474,"author":{"gitId":"-"},"content":" * Gets student associated with {@code id}."},{"lineNumber":475,"author":{"gitId":"-"},"content":" *"},{"lineNumber":476,"author":{"gitId":"-"},"content":" * @param id Id of Student."},{"lineNumber":477,"author":{"gitId":"-"},"content":" * @return Returns Student if found else null."},{"lineNumber":478,"author":{"gitId":"-"},"content":" */"},{"lineNumber":479,"author":{"gitId":"-"},"content":" public Student getStudent(UUID id) {"},{"lineNumber":480,"author":{"gitId":"-"},"content":" assert id !\u003d null;"},{"lineNumber":481,"author":{"gitId":"-"},"content":""},{"lineNumber":482,"author":{"gitId":"-"},"content":" return usersDb.getStudent(id);"},{"lineNumber":483,"author":{"gitId":"-"},"content":" }"},{"lineNumber":484,"author":{"gitId":"-"},"content":""},{"lineNumber":485,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":486,"author":{"gitId":"-"},"content":" * Gets the student with the specified email."},{"lineNumber":487,"author":{"gitId":"-"},"content":" */"},{"lineNumber":488,"author":{"gitId":"-"},"content":" public Student getStudentForEmail(String courseId, String userEmail) {"},{"lineNumber":489,"author":{"gitId":"-"},"content":" return usersDb.getStudentForEmail(courseId, userEmail);"},{"lineNumber":490,"author":{"gitId":"-"},"content":" }"},{"lineNumber":491,"author":{"gitId":"-"},"content":""},{"lineNumber":492,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":493,"author":{"gitId":"-"},"content":" * Check if the students with the provided emails exist in the course."},{"lineNumber":494,"author":{"gitId":"-"},"content":" */"},{"lineNumber":495,"author":{"gitId":"-"},"content":" public boolean verifyStudentsExistInCourse(String courseId, List\u003cString\u003e emails) {"},{"lineNumber":496,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students \u003d usersDb.getStudentsForEmails(courseId, emails);"},{"lineNumber":497,"author":{"gitId":"-"},"content":" Map\u003cString, User\u003e emailStudentMap \u003d convertUserListToEmailUserMap(students);"},{"lineNumber":498,"author":{"gitId":"-"},"content":""},{"lineNumber":499,"author":{"gitId":"-"},"content":" for (String email : emails) {"},{"lineNumber":500,"author":{"gitId":"-"},"content":" if (!emailStudentMap.containsKey(email)) {"},{"lineNumber":501,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":502,"author":{"gitId":"-"},"content":" }"},{"lineNumber":503,"author":{"gitId":"-"},"content":" }"},{"lineNumber":504,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":505,"author":{"gitId":"-"},"content":" }"},{"lineNumber":506,"author":{"gitId":"-"},"content":""},{"lineNumber":507,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":508,"author":{"gitId":"-"},"content":" * Gets a list of students with the specified email."},{"lineNumber":509,"author":{"gitId":"-"},"content":" */"},{"lineNumber":510,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getAllStudentsForEmail(String email) {"},{"lineNumber":511,"author":{"gitId":"-"},"content":" return usersDb.getAllStudentsForEmail(email);"},{"lineNumber":512,"author":{"gitId":"-"},"content":" }"},{"lineNumber":513,"author":{"gitId":"-"},"content":""},{"lineNumber":514,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":515,"author":{"gitId":"-"},"content":" * Gets all students associated with a googleId."},{"lineNumber":516,"author":{"gitId":"-"},"content":" */"},{"lineNumber":517,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getAllStudentsByGoogleId(String googleId) {"},{"lineNumber":518,"author":{"gitId":"-"},"content":" return usersDb.getAllStudentsByGoogleId(googleId);"},{"lineNumber":519,"author":{"gitId":"-"},"content":" }"},{"lineNumber":520,"author":{"gitId":"-"},"content":""},{"lineNumber":521,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":522,"author":{"gitId":"-"},"content":" * Gets a list of students for the specified course."},{"lineNumber":523,"author":{"gitId":"-"},"content":" */"},{"lineNumber":524,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForCourse(String courseId) {"},{"lineNumber":525,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentReturnList \u003d usersDb.getStudentsForCourse(courseId);"},{"lineNumber":526,"author":{"gitId":"-"},"content":" sortByName(studentReturnList);"},{"lineNumber":527,"author":{"gitId":"-"},"content":""},{"lineNumber":528,"author":{"gitId":"-"},"content":" return studentReturnList;"},{"lineNumber":529,"author":{"gitId":"-"},"content":" }"},{"lineNumber":530,"author":{"gitId":"-"},"content":""},{"lineNumber":531,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":532,"author":{"gitId":"-"},"content":" * Gets a list of unregistered students for the specified course."},{"lineNumber":533,"author":{"gitId":"-"},"content":" */"},{"lineNumber":534,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getUnregisteredStudentsForCourse(String courseId) {"},{"lineNumber":535,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students \u003d getStudentsForCourse(courseId);"},{"lineNumber":536,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e unregisteredStudents \u003d new ArrayList\u003c\u003e();"},{"lineNumber":537,"author":{"gitId":"-"},"content":""},{"lineNumber":538,"author":{"gitId":"-"},"content":" for (Student s : students) {"},{"lineNumber":539,"author":{"gitId":"-"},"content":" if (s.getAccount() \u003d\u003d null) {"},{"lineNumber":540,"author":{"gitId":"-"},"content":" unregisteredStudents.add(s);"},{"lineNumber":541,"author":{"gitId":"-"},"content":" }"},{"lineNumber":542,"author":{"gitId":"-"},"content":" }"},{"lineNumber":543,"author":{"gitId":"-"},"content":""},{"lineNumber":544,"author":{"gitId":"-"},"content":" return unregisteredStudents;"},{"lineNumber":545,"author":{"gitId":"-"},"content":" }"},{"lineNumber":546,"author":{"gitId":"-"},"content":""},{"lineNumber":547,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":548,"author":{"gitId":"yuanxi1"},"content":" * Searches for students."},{"lineNumber":549,"author":{"gitId":"yuanxi1"},"content":" *"},{"lineNumber":550,"author":{"gitId":"yuanxi1"},"content":" * @param instructors the constraint that restricts the search result"},{"lineNumber":551,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":552,"author":{"gitId":"yuanxi1"},"content":" public List\u003cStudent\u003e searchStudents(String queryString, List\u003cInstructor\u003e instructors)"},{"lineNumber":553,"author":{"gitId":"yuanxi1"},"content":" throws SearchServiceException {"},{"lineNumber":554,"author":{"gitId":"yuanxi1"},"content":" return usersDb.searchStudents(queryString, instructors);"},{"lineNumber":555,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":556,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":557,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":558,"author":{"gitId":"yuanxi1"},"content":" * This method should be used by admin only since the searching does not restrict the"},{"lineNumber":559,"author":{"gitId":"yuanxi1"},"content":" * visibility according to the logged-in user\u0027s google ID. This is used by admin to"},{"lineNumber":560,"author":{"gitId":"yuanxi1"},"content":" * search students in the whole system."},{"lineNumber":561,"author":{"gitId":"yuanxi1"},"content":" * @return null if no result found"},{"lineNumber":562,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":563,"author":{"gitId":"yuanxi1"},"content":" public List\u003cStudent\u003e searchStudentsInWholeSystem(String queryString)"},{"lineNumber":564,"author":{"gitId":"yuanxi1"},"content":" throws SearchServiceException {"},{"lineNumber":565,"author":{"gitId":"yuanxi1"},"content":" return usersDb.searchStudentsInWholeSystem(queryString);"},{"lineNumber":566,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":567,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":568,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":569,"author":{"gitId":"-"},"content":" * Gets all students of a section."},{"lineNumber":570,"author":{"gitId":"-"},"content":" */"},{"lineNumber":571,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForSection(String sectionName, String courseId) {"},{"lineNumber":572,"author":{"gitId":"-"},"content":" return usersDb.getStudentsForSection(sectionName, courseId);"},{"lineNumber":573,"author":{"gitId":"-"},"content":" }"},{"lineNumber":574,"author":{"gitId":"-"},"content":""},{"lineNumber":575,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":576,"author":{"gitId":"-"},"content":" * Gets all students of a team."},{"lineNumber":577,"author":{"gitId":"-"},"content":" */"},{"lineNumber":578,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForTeam(String teamName, String courseId) {"},{"lineNumber":579,"author":{"gitId":"-"},"content":" return usersDb.getStudentsForTeam(teamName, courseId);"},{"lineNumber":580,"author":{"gitId":"-"},"content":" }"},{"lineNumber":581,"author":{"gitId":"-"},"content":""},{"lineNumber":582,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":583,"author":{"gitId":"-"},"content":" * Gets a student by associated {@code regkey}."},{"lineNumber":584,"author":{"gitId":"-"},"content":" */"},{"lineNumber":585,"author":{"gitId":"-"},"content":" public Student getStudentByRegistrationKey(String regKey) {"},{"lineNumber":586,"author":{"gitId":"-"},"content":" assert regKey !\u003d null;"},{"lineNumber":587,"author":{"gitId":"-"},"content":""},{"lineNumber":588,"author":{"gitId":"-"},"content":" return usersDb.getStudentByRegKey(regKey);"},{"lineNumber":589,"author":{"gitId":"-"},"content":" }"},{"lineNumber":590,"author":{"gitId":"-"},"content":""},{"lineNumber":591,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":592,"author":{"gitId":"-"},"content":" * Gets a student by associated {@code googleId}."},{"lineNumber":593,"author":{"gitId":"-"},"content":" */"},{"lineNumber":594,"author":{"gitId":"-"},"content":" public Student getStudentByGoogleId(String courseId, String googleId) {"},{"lineNumber":595,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":596,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":597,"author":{"gitId":"-"},"content":""},{"lineNumber":598,"author":{"gitId":"-"},"content":" return usersDb.getStudentByGoogleId(courseId, googleId);"},{"lineNumber":599,"author":{"gitId":"-"},"content":" }"},{"lineNumber":600,"author":{"gitId":"-"},"content":""},{"lineNumber":601,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":602,"author":{"gitId":"-"},"content":" * Gets all students associated with a googleId."},{"lineNumber":603,"author":{"gitId":"-"},"content":" */"},{"lineNumber":604,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsByGoogleId(String googleId) {"},{"lineNumber":605,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":606,"author":{"gitId":"-"},"content":""},{"lineNumber":607,"author":{"gitId":"-"},"content":" return usersDb.getStudentsByGoogleId(googleId);"},{"lineNumber":608,"author":{"gitId":"-"},"content":" }"},{"lineNumber":609,"author":{"gitId":"-"},"content":""},{"lineNumber":610,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":611,"author":{"gitId":"-"},"content":" * Returns true if the user associated with the googleId is a student in any"},{"lineNumber":612,"author":{"gitId":"-"},"content":" * course in the system."},{"lineNumber":613,"author":{"gitId":"-"},"content":" */"},{"lineNumber":614,"author":{"gitId":"-"},"content":" public boolean isStudentInAnyCourse(String googleId) {"},{"lineNumber":615,"author":{"gitId":"-"},"content":" return !usersDb.getAllStudentsByGoogleId(googleId).isEmpty();"},{"lineNumber":616,"author":{"gitId":"-"},"content":" }"},{"lineNumber":617,"author":{"gitId":"-"},"content":""},{"lineNumber":618,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":619,"author":{"gitId":"-"},"content":" * Gets all instructors and students by {@code googleId}."},{"lineNumber":620,"author":{"gitId":"-"},"content":" */"},{"lineNumber":621,"author":{"gitId":"-"},"content":" public List\u003cUser\u003e getAllUsersByGoogleId(String googleId) {"},{"lineNumber":622,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":623,"author":{"gitId":"-"},"content":""},{"lineNumber":624,"author":{"gitId":"-"},"content":" return usersDb.getAllUsersByGoogleId(googleId);"},{"lineNumber":625,"author":{"gitId":"-"},"content":" }"},{"lineNumber":626,"author":{"gitId":"-"},"content":""},{"lineNumber":627,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":628,"author":{"gitId":"domoberzin"},"content":" * Gets the section with the name in a particular course."},{"lineNumber":629,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":630,"author":{"gitId":"domoberzin"},"content":" public Section getSection(String courseId, String sectionName) {"},{"lineNumber":631,"author":{"gitId":"domoberzin"},"content":" return usersDb.getSection(courseId, sectionName);"},{"lineNumber":632,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":633,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":634,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":635,"author":{"gitId":"domoberzin"},"content":" * Gets the section with the name in a particular course, otherwise creates a new section."},{"lineNumber":636,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":637,"author":{"gitId":"domoberzin"},"content":" public Section getSectionOrCreate(String courseId, String sectionName) {"},{"lineNumber":638,"author":{"gitId":"domoberzin"},"content":" return usersDb.getSectionOrCreate(courseId, sectionName);"},{"lineNumber":639,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":640,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":641,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":642,"author":{"gitId":"domoberzin"},"content":" * Gets the team with the name in a particular session, otherwise creates a new team."},{"lineNumber":643,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":644,"author":{"gitId":"domoberzin"},"content":" public Team getTeamOrCreate(Section section, String teamName) {"},{"lineNumber":645,"author":{"gitId":"domoberzin"},"content":" return usersDb.getTeamOrCreate(section, teamName);"},{"lineNumber":646,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":647,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":648,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":649,"author":{"gitId":"-"},"content":" * Checks if there are any other registered instructors that can modify instructors."},{"lineNumber":650,"author":{"gitId":"-"},"content":" * If there are none, the instructor currently being edited will be granted the privilege"},{"lineNumber":651,"author":{"gitId":"-"},"content":" * of modifying instructors automatically."},{"lineNumber":652,"author":{"gitId":"-"},"content":" *"},{"lineNumber":653,"author":{"gitId":"-"},"content":" * @param courseId Id of the course."},{"lineNumber":654,"author":{"gitId":"-"},"content":" * @param instructorToEdit Instructor that will be edited."},{"lineNumber":655,"author":{"gitId":"-"},"content":" * This may be modified within the method."},{"lineNumber":656,"author":{"gitId":"-"},"content":" */"},{"lineNumber":657,"author":{"gitId":"-"},"content":" public void updateToEnsureValidityOfInstructorsForTheCourse(String courseId, Instructor instructorToEdit) {"},{"lineNumber":658,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors \u003d getInstructorsForCourse(courseId);"},{"lineNumber":659,"author":{"gitId":"-"},"content":" int numOfInstrCanModifyInstructor \u003d 0;"},{"lineNumber":660,"author":{"gitId":"-"},"content":" Instructor instrWithModifyInstructorPrivilege \u003d null;"},{"lineNumber":661,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":662,"author":{"gitId":"-"},"content":" if (instructor.isAllowedForPrivilege(Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR)) {"},{"lineNumber":663,"author":{"gitId":"-"},"content":" numOfInstrCanModifyInstructor++;"},{"lineNumber":664,"author":{"gitId":"-"},"content":" instrWithModifyInstructorPrivilege \u003d instructor;"},{"lineNumber":665,"author":{"gitId":"-"},"content":" }"},{"lineNumber":666,"author":{"gitId":"-"},"content":" }"},{"lineNumber":667,"author":{"gitId":"-"},"content":" boolean isLastRegInstructorWithPrivilege \u003d numOfInstrCanModifyInstructor \u003c\u003d 1"},{"lineNumber":668,"author":{"gitId":"-"},"content":" \u0026\u0026 instrWithModifyInstructorPrivilege !\u003d null"},{"lineNumber":669,"author":{"gitId":"-"},"content":" \u0026\u0026 (!instrWithModifyInstructorPrivilege.isRegistered()"},{"lineNumber":670,"author":{"gitId":"-"},"content":" || instrWithModifyInstructorPrivilege.getGoogleId()"},{"lineNumber":671,"author":{"gitId":"-"},"content":" .equals(instructorToEdit.getGoogleId()));"},{"lineNumber":672,"author":{"gitId":"-"},"content":" if (isLastRegInstructorWithPrivilege) {"},{"lineNumber":673,"author":{"gitId":"-"},"content":" instructorToEdit.getPrivileges().updatePrivilege(Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR, true);"},{"lineNumber":674,"author":{"gitId":"-"},"content":" }"},{"lineNumber":675,"author":{"gitId":"-"},"content":" }"},{"lineNumber":676,"author":{"gitId":"-"},"content":""},{"lineNumber":677,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":678,"author":{"gitId":"-"},"content":" * Deletes a student along with its associated feedback responses, deadline extensions and comments."},{"lineNumber":679,"author":{"gitId":"-"},"content":" *"},{"lineNumber":680,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if the student does not exist."},{"lineNumber":681,"author":{"gitId":"-"},"content":" */"},{"lineNumber":682,"author":{"gitId":"-"},"content":" public void deleteStudentCascade(String courseId, String studentEmail) {"},{"lineNumber":683,"author":{"gitId":"-"},"content":" Student student \u003d getStudentForEmail(courseId, studentEmail);"},{"lineNumber":684,"author":{"gitId":"-"},"content":""},{"lineNumber":685,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":686,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":687,"author":{"gitId":"-"},"content":" }"},{"lineNumber":688,"author":{"gitId":"-"},"content":""},{"lineNumber":689,"author":{"gitId":"-"},"content":" feedbackResponsesLogic"},{"lineNumber":690,"author":{"gitId":"-"},"content":" .deleteFeedbackResponsesForCourseCascade(courseId, studentEmail);"},{"lineNumber":691,"author":{"gitId":"-"},"content":""},{"lineNumber":692,"author":{"gitId":"-"},"content":" if (usersDb.getStudentCountForTeam(student.getTeamName(), student.getCourseId()) \u003d\u003d 1) {"},{"lineNumber":693,"author":{"gitId":"-"},"content":" // the student is the only student in the team, delete responses related to the team"},{"lineNumber":694,"author":{"gitId":"-"},"content":" feedbackResponsesLogic"},{"lineNumber":695,"author":{"gitId":"-"},"content":" .deleteFeedbackResponsesForCourseCascade("},{"lineNumber":696,"author":{"gitId":"-"},"content":" student.getCourse().getId(), student.getTeamName());"},{"lineNumber":697,"author":{"gitId":"-"},"content":" }"},{"lineNumber":698,"author":{"gitId":"-"},"content":""},{"lineNumber":699,"author":{"gitId":"-"},"content":" deadlineExtensionsLogic.deleteDeadlineExtensionsForUser(student);"},{"lineNumber":700,"author":{"gitId":"-"},"content":" deleteUser(student);"},{"lineNumber":701,"author":{"gitId":"-"},"content":" feedbackResponsesLogic.updateRankRecipientQuestionResponsesAfterDeletingStudent(courseId);"},{"lineNumber":702,"author":{"gitId":"-"},"content":" }"},{"lineNumber":703,"author":{"gitId":"-"},"content":""},{"lineNumber":704,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":705,"author":{"gitId":"-"},"content":" * Deletes students in the course cascade their associated responses, deadline extensions, and comments."},{"lineNumber":706,"author":{"gitId":"-"},"content":" */"},{"lineNumber":707,"author":{"gitId":"-"},"content":" public void deleteStudentsInCourseCascade(String courseId) {"},{"lineNumber":708,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentsInCourse \u003d getStudentsForCourse(courseId);"},{"lineNumber":709,"author":{"gitId":"-"},"content":""},{"lineNumber":710,"author":{"gitId":"-"},"content":" for (Student student : studentsInCourse) {"},{"lineNumber":711,"author":{"gitId":"-"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":712,"author":{"gitId":"-"},"content":" deleteStudentCascade(courseId, student.getEmail());"},{"lineNumber":713,"author":{"gitId":"-"},"content":" }"},{"lineNumber":714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":715,"author":{"gitId":"-"},"content":""},{"lineNumber":716,"author":{"gitId":"marquestye"},"content":" private boolean isEmailChanged(String originalEmail, String newEmail) {"},{"lineNumber":717,"author":{"gitId":"marquestye"},"content":" return newEmail !\u003d null \u0026\u0026 !originalEmail.equals(newEmail);"},{"lineNumber":718,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":719,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":720,"author":{"gitId":"domoberzin"},"content":" private boolean isTeamChanged(Team originalTeam, Team newTeam) {"},{"lineNumber":721,"author":{"gitId":"domoberzin"},"content":" return newTeam !\u003d null \u0026\u0026 originalTeam !\u003d null"},{"lineNumber":722,"author":{"gitId":"domoberzin"},"content":" \u0026\u0026 !originalTeam.equals(newTeam);"},{"lineNumber":723,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":724,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":725,"author":{"gitId":"domoberzin"},"content":" private boolean isSectionChanged(Section originalSection, Section newSection) {"},{"lineNumber":726,"author":{"gitId":"domoberzin"},"content":" return newSection !\u003d null \u0026\u0026 originalSection !\u003d null"},{"lineNumber":727,"author":{"gitId":"domoberzin"},"content":" \u0026\u0026 !originalSection.equals(newSection);"},{"lineNumber":728,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":729,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":730,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":731,"author":{"gitId":"domoberzin"},"content":" * Updates a student by {@link Student}."},{"lineNumber":732,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":733,"author":{"gitId":"marquestye"},"content":" * \u003cp\u003eIf email changed, update by recreating the student and cascade update all responses"},{"lineNumber":734,"author":{"gitId":"marquestye"},"content":" * and comments the student gives/receives."},{"lineNumber":735,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":736,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003eIf team changed, cascade delete all responses the student gives/receives within that team."},{"lineNumber":737,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":738,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003eIf section changed, cascade update all responses the student gives/receives."},{"lineNumber":739,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":740,"author":{"gitId":"domoberzin"},"content":" * @return updated student"},{"lineNumber":741,"author":{"gitId":"domoberzin"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":742,"author":{"gitId":"domoberzin"},"content":" * @throws EntityDoesNotExistException if the student cannot be found"},{"lineNumber":743,"author":{"gitId":"domoberzin"},"content":" * @throws EntityAlreadyExistsException if the student cannot be updated"},{"lineNumber":744,"author":{"gitId":"domoberzin"},"content":" * by recreation because of an existent student"},{"lineNumber":745,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":746,"author":{"gitId":"domoberzin"},"content":" public Student updateStudentCascade(Student student)"},{"lineNumber":747,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":748,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":749,"author":{"gitId":"marquestye"},"content":" String courseId \u003d student.getCourseId();"},{"lineNumber":750,"author":{"gitId":"marquestye"},"content":" Student originalStudent \u003d getStudent(student.getId());"},{"lineNumber":751,"author":{"gitId":"marquestye"},"content":" String originalEmail \u003d originalStudent.getEmail();"},{"lineNumber":752,"author":{"gitId":"marquestye"},"content":" boolean changedEmail \u003d isEmailChanged(originalEmail, student.getEmail());"},{"lineNumber":753,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":754,"author":{"gitId":"marquestye"},"content":" // check for email conflict"},{"lineNumber":755,"author":{"gitId":"marquestye"},"content":" Student s \u003d usersDb.getStudentForEmail(courseId, student.getEmail());"},{"lineNumber":756,"author":{"gitId":"marquestye"},"content":" if (changedEmail \u0026\u0026 s !\u003d null) {"},{"lineNumber":757,"author":{"gitId":"marquestye"},"content":" String errorMessage \u003d String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, s.toString());"},{"lineNumber":758,"author":{"gitId":"marquestye"},"content":" throw new EntityAlreadyExistsException(errorMessage);"},{"lineNumber":759,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":760,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":761,"author":{"gitId":"domoberzin"},"content":" Team originalTeam \u003d originalStudent.getTeam();"},{"lineNumber":762,"author":{"gitId":"domoberzin"},"content":" Section originalSection \u003d originalStudent.getSection();"},{"lineNumber":763,"author":{"gitId":"domoberzin"},"content":" boolean changedTeam \u003d isTeamChanged(originalTeam, student.getTeam());"},{"lineNumber":764,"author":{"gitId":"domoberzin"},"content":" boolean changedSection \u003d isSectionChanged(originalSection, student.getSection());"},{"lineNumber":765,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":766,"author":{"gitId":"marquestye"},"content":" // update student"},{"lineNumber":767,"author":{"gitId":"marquestye"},"content":" usersDb.checkBeforeUpdateStudent(student);"},{"lineNumber":768,"author":{"gitId":"domoberzin"},"content":" originalStudent.setName(student.getName());"},{"lineNumber":769,"author":{"gitId":"domoberzin"},"content":" originalStudent.setTeam(student.getTeam());"},{"lineNumber":770,"author":{"gitId":"domoberzin"},"content":" originalStudent.setEmail(student.getEmail());"},{"lineNumber":771,"author":{"gitId":"domoberzin"},"content":" originalStudent.setComments(student.getComments());"},{"lineNumber":772,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":773,"author":{"gitId":"marquestye"},"content":" // cascade email changes to responses and comments"},{"lineNumber":774,"author":{"gitId":"marquestye"},"content":" if (changedEmail) {"},{"lineNumber":775,"author":{"gitId":"marquestye"},"content":" feedbackResponsesLogic.updateFeedbackResponsesForChangingEmail(courseId, originalEmail, student.getEmail());"},{"lineNumber":776,"author":{"gitId":"marquestye"},"content":" feedbackResponseCommentsLogic.updateFeedbackResponseCommentsEmails(courseId, originalEmail, student.getEmail());"},{"lineNumber":777,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":778,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":779,"author":{"gitId":"domoberzin"},"content":" // adjust submissions if moving to a different team"},{"lineNumber":780,"author":{"gitId":"domoberzin"},"content":" if (changedTeam) {"},{"lineNumber":781,"author":{"gitId":"marquestye"},"content":" feedbackResponsesLogic.updateFeedbackResponsesForChangingTeam(student.getCourse(), student.getEmail(),"},{"lineNumber":782,"author":{"gitId":"marquestye"},"content":" student.getTeam(), originalTeam);"},{"lineNumber":783,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":784,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":785,"author":{"gitId":"domoberzin"},"content":" // update the new section name in responses"},{"lineNumber":786,"author":{"gitId":"domoberzin"},"content":" if (changedSection) {"},{"lineNumber":787,"author":{"gitId":"domoberzin"},"content":" feedbackResponsesLogic.updateFeedbackResponsesForChangingSection("},{"lineNumber":788,"author":{"gitId":"marquestye"},"content":" student.getCourse(), student.getEmail(), student.getSection());"},{"lineNumber":789,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":790,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":791,"author":{"gitId":"marquestye"},"content":" return originalStudent;"},{"lineNumber":792,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":793,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":794,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":795,"author":{"gitId":"-"},"content":" * Resets the googleId associated with the instructor."},{"lineNumber":796,"author":{"gitId":"-"},"content":" */"},{"lineNumber":797,"author":{"gitId":"-"},"content":" public void resetInstructorGoogleId(String email, String courseId, String googleId)"},{"lineNumber":798,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":799,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":800,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":801,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":802,"author":{"gitId":"-"},"content":""},{"lineNumber":803,"author":{"gitId":"-"},"content":" Instructor instructor \u003d getInstructorForEmail(courseId, email);"},{"lineNumber":804,"author":{"gitId":"-"},"content":""},{"lineNumber":805,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":806,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT"},{"lineNumber":807,"author":{"gitId":"-"},"content":" + \"Instructor [courseId\u003d\" + courseId + \", email\u003d\" + email + \"]\");"},{"lineNumber":808,"author":{"gitId":"-"},"content":" }"},{"lineNumber":809,"author":{"gitId":"-"},"content":""},{"lineNumber":810,"author":{"gitId":"-"},"content":" instructor.setAccount(null);"},{"lineNumber":811,"author":{"gitId":"-"},"content":""},{"lineNumber":812,"author":{"gitId":"-"},"content":" if (usersDb.getAllUsersByGoogleId(googleId).isEmpty()) {"},{"lineNumber":813,"author":{"gitId":"-"},"content":" accountsLogic.deleteAccountCascade(googleId);"},{"lineNumber":814,"author":{"gitId":"-"},"content":" }"},{"lineNumber":815,"author":{"gitId":"-"},"content":" }"},{"lineNumber":816,"author":{"gitId":"-"},"content":""},{"lineNumber":817,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":818,"author":{"gitId":"domoberzin"},"content":" * Validates sections for any limit violations and teams for any team name violations."},{"lineNumber":819,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":820,"author":{"gitId":"domoberzin"},"content":" public void validateSectionsAndTeams("},{"lineNumber":821,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e studentList, String courseId) throws EnrollException {"},{"lineNumber":822,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":823,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e mergedList \u003d getMergedList(studentList, courseId);"},{"lineNumber":824,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":825,"author":{"gitId":"domoberzin"},"content":" if (mergedList.size() \u003c 2) { // no conflicts"},{"lineNumber":826,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":827,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":828,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":829,"author":{"gitId":"domoberzin"},"content":" String errorMessage \u003d getSectionInvalidityInfo(mergedList) + getTeamInvalidityInfo(mergedList);"},{"lineNumber":830,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":831,"author":{"gitId":"domoberzin"},"content":" if (!errorMessage.isEmpty()) {"},{"lineNumber":832,"author":{"gitId":"domoberzin"},"content":" throw new EnrollException(errorMessage);"},{"lineNumber":833,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":834,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":835,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":836,"author":{"gitId":"domoberzin"},"content":" private List\u003cStudent\u003e getMergedList(List\u003cStudent\u003e studentList, String courseId) {"},{"lineNumber":837,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":838,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e mergedList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":839,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e studentsInCourse \u003d getStudentsForCourse(courseId);"},{"lineNumber":840,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":841,"author":{"gitId":"domoberzin"},"content":" for (Student student : studentList) {"},{"lineNumber":842,"author":{"gitId":"domoberzin"},"content":" mergedList.add(student);"},{"lineNumber":843,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":844,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":845,"author":{"gitId":"domoberzin"},"content":" for (Student student : studentsInCourse) {"},{"lineNumber":846,"author":{"gitId":"domoberzin"},"content":" if (!isInEnrollList(student, mergedList)) {"},{"lineNumber":847,"author":{"gitId":"domoberzin"},"content":" mergedList.add(student);"},{"lineNumber":848,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":849,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":850,"author":{"gitId":"domoberzin"},"content":" return mergedList;"},{"lineNumber":851,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":852,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":853,"author":{"gitId":"domoberzin"},"content":" private String getSectionInvalidityInfo(List\u003cStudent\u003e mergedList) {"},{"lineNumber":854,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":855,"author":{"gitId":"domoberzin"},"content":" mergedList.sort(Comparator.comparing((Student student) -\u003e student.getSectionName())"},{"lineNumber":856,"author":{"gitId":"domoberzin"},"content":" .thenComparing(student -\u003e student.getTeamName())"},{"lineNumber":857,"author":{"gitId":"domoberzin"},"content":" .thenComparing(student -\u003e student.getName()));"},{"lineNumber":858,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":859,"author":{"gitId":"domoberzin"},"content":" List\u003cString\u003e invalidSectionList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":860,"author":{"gitId":"domoberzin"},"content":" int studentsCount \u003d 1;"},{"lineNumber":861,"author":{"gitId":"domoberzin"},"content":" for (int i \u003d 1; i \u003c mergedList.size(); i++) {"},{"lineNumber":862,"author":{"gitId":"domoberzin"},"content":" Student currentStudent \u003d mergedList.get(i);"},{"lineNumber":863,"author":{"gitId":"domoberzin"},"content":" Student previousStudent \u003d mergedList.get(i - 1);"},{"lineNumber":864,"author":{"gitId":"domoberzin"},"content":" if (currentStudent.getSectionName().equals(previousStudent.getSectionName())) {"},{"lineNumber":865,"author":{"gitId":"domoberzin"},"content":" studentsCount++;"},{"lineNumber":866,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":867,"author":{"gitId":"domoberzin"},"content":" if (studentsCount \u003e Const.SECTION_SIZE_LIMIT) {"},{"lineNumber":868,"author":{"gitId":"domoberzin"},"content":" invalidSectionList.add(previousStudent.getSectionName());"},{"lineNumber":869,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":870,"author":{"gitId":"domoberzin"},"content":" studentsCount \u003d 1;"},{"lineNumber":871,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":872,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":873,"author":{"gitId":"domoberzin"},"content":" if (i \u003d\u003d mergedList.size() - 1 \u0026\u0026 studentsCount \u003e Const.SECTION_SIZE_LIMIT) {"},{"lineNumber":874,"author":{"gitId":"domoberzin"},"content":" invalidSectionList.add(currentStudent.getSectionName());"},{"lineNumber":875,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":876,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":877,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":878,"author":{"gitId":"domoberzin"},"content":" StringJoiner errorMessage \u003d new StringJoiner(\" \");"},{"lineNumber":879,"author":{"gitId":"domoberzin"},"content":" for (String section : invalidSectionList) {"},{"lineNumber":880,"author":{"gitId":"domoberzin"},"content":" errorMessage.add(String.format("},{"lineNumber":881,"author":{"gitId":"domoberzin"},"content":" ERROR_ENROLL_EXCEED_SECTION_LIMIT,"},{"lineNumber":882,"author":{"gitId":"domoberzin"},"content":" Const.SECTION_SIZE_LIMIT, section));"},{"lineNumber":883,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":884,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":885,"author":{"gitId":"domoberzin"},"content":" if (!invalidSectionList.isEmpty()) {"},{"lineNumber":886,"author":{"gitId":"domoberzin"},"content":" errorMessage.add(String.format("},{"lineNumber":887,"author":{"gitId":"domoberzin"},"content":" ERROR_ENROLL_EXCEED_SECTION_LIMIT_INSTRUCTION,"},{"lineNumber":888,"author":{"gitId":"domoberzin"},"content":" Const.SECTION_SIZE_LIMIT));"},{"lineNumber":889,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":890,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":891,"author":{"gitId":"domoberzin"},"content":" return errorMessage.toString();"},{"lineNumber":892,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":893,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":894,"author":{"gitId":"domoberzin"},"content":" private String getTeamInvalidityInfo(List\u003cStudent\u003e mergedList) {"},{"lineNumber":895,"author":{"gitId":"domoberzin"},"content":" StringJoiner errorMessage \u003d new StringJoiner(\" \");"},{"lineNumber":896,"author":{"gitId":"domoberzin"},"content":" mergedList.sort(Comparator.comparing((Student student) -\u003e student.getTeamName())"},{"lineNumber":897,"author":{"gitId":"domoberzin"},"content":" .thenComparing(student -\u003e student.getName()));"},{"lineNumber":898,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":899,"author":{"gitId":"domoberzin"},"content":" List\u003cString\u003e invalidTeamList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":900,"author":{"gitId":"domoberzin"},"content":" for (int i \u003d 1; i \u003c mergedList.size(); i++) {"},{"lineNumber":901,"author":{"gitId":"domoberzin"},"content":" Student currentStudent \u003d mergedList.get(i);"},{"lineNumber":902,"author":{"gitId":"domoberzin"},"content":" Student previousStudent \u003d mergedList.get(i - 1);"},{"lineNumber":903,"author":{"gitId":"domoberzin"},"content":" if (currentStudent.getTeamName().equals(previousStudent.getTeamName())"},{"lineNumber":904,"author":{"gitId":"domoberzin"},"content":" \u0026\u0026 !currentStudent.getSectionName().equals(previousStudent.getSectionName())"},{"lineNumber":905,"author":{"gitId":"domoberzin"},"content":" \u0026\u0026 !invalidTeamList.contains(currentStudent.getTeamName())) {"},{"lineNumber":906,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":907,"author":{"gitId":"domoberzin"},"content":" errorMessage.add(String.format(ERROR_INVALID_TEAM_NAME,"},{"lineNumber":908,"author":{"gitId":"domoberzin"},"content":" currentStudent.getTeamName(),"},{"lineNumber":909,"author":{"gitId":"domoberzin"},"content":" previousStudent.getSectionName(),"},{"lineNumber":910,"author":{"gitId":"domoberzin"},"content":" currentStudent.getSectionName()));"},{"lineNumber":911,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":912,"author":{"gitId":"domoberzin"},"content":" invalidTeamList.add(currentStudent.getTeamName());"},{"lineNumber":913,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":914,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":915,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":916,"author":{"gitId":"domoberzin"},"content":" if (!invalidTeamList.isEmpty()) {"},{"lineNumber":917,"author":{"gitId":"domoberzin"},"content":" errorMessage.add(ERROR_INVALID_TEAM_NAME_INSTRUCTION);"},{"lineNumber":918,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":919,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":920,"author":{"gitId":"domoberzin"},"content":" return errorMessage.toString();"},{"lineNumber":921,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":922,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":923,"author":{"gitId":"domoberzin"},"content":" private boolean isInEnrollList(Student student,"},{"lineNumber":924,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e studentInfoList) {"},{"lineNumber":925,"author":{"gitId":"domoberzin"},"content":" for (Student studentInfo : studentInfoList) {"},{"lineNumber":926,"author":{"gitId":"domoberzin"},"content":" if (studentInfo.getEmail().equalsIgnoreCase(student.getEmail())) {"},{"lineNumber":927,"author":{"gitId":"domoberzin"},"content":" return true;"},{"lineNumber":928,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":929,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":930,"author":{"gitId":"domoberzin"},"content":" return false;"},{"lineNumber":931,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":932,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":933,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":934,"author":{"gitId":"-"},"content":" * Resets the googleId associated with the student."},{"lineNumber":935,"author":{"gitId":"-"},"content":" */"},{"lineNumber":936,"author":{"gitId":"-"},"content":" public void resetStudentGoogleId(String email, String courseId, String googleId)"},{"lineNumber":937,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":938,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":939,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":940,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":941,"author":{"gitId":"-"},"content":""},{"lineNumber":942,"author":{"gitId":"-"},"content":" Student student \u003d getStudentForEmail(courseId, email);"},{"lineNumber":943,"author":{"gitId":"-"},"content":""},{"lineNumber":944,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":945,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT"},{"lineNumber":946,"author":{"gitId":"-"},"content":" + \"Student [courseId\u003d\" + courseId + \", email\u003d\" + email + \"]\");"},{"lineNumber":947,"author":{"gitId":"-"},"content":" }"},{"lineNumber":948,"author":{"gitId":"-"},"content":""},{"lineNumber":949,"author":{"gitId":"-"},"content":" student.setAccount(null);"},{"lineNumber":950,"author":{"gitId":"-"},"content":""},{"lineNumber":951,"author":{"gitId":"-"},"content":" if (usersDb.getAllUsersByGoogleId(googleId).isEmpty()) {"},{"lineNumber":952,"author":{"gitId":"-"},"content":" accountsLogic.deleteAccountCascade(googleId);"},{"lineNumber":953,"author":{"gitId":"-"},"content":" }"},{"lineNumber":954,"author":{"gitId":"-"},"content":" }"},{"lineNumber":955,"author":{"gitId":"-"},"content":""},{"lineNumber":956,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":957,"author":{"gitId":"-"},"content":" * Sorts the instructors list alphabetically by name."},{"lineNumber":958,"author":{"gitId":"-"},"content":" */"},{"lineNumber":959,"author":{"gitId":"-"},"content":" public static \u003cT extends User\u003e void sortByName(List\u003cT\u003e users) {"},{"lineNumber":960,"author":{"gitId":"-"},"content":" users.sort(Comparator.comparing(user -\u003e user.getName().toLowerCase()));"},{"lineNumber":961,"author":{"gitId":"-"},"content":" }"},{"lineNumber":962,"author":{"gitId":"-"},"content":""},{"lineNumber":963,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":964,"author":{"gitId":"-"},"content":" * Checks if an instructor with {@code googleId} can create a course with"},{"lineNumber":965,"author":{"gitId":"-"},"content":" * {@code institute}"},{"lineNumber":966,"author":{"gitId":"-"},"content":" * (ie. has an existing course(s) with the same {@code institute})."},{"lineNumber":967,"author":{"gitId":"-"},"content":" */"},{"lineNumber":968,"author":{"gitId":"-"},"content":" public boolean canInstructorCreateCourse(String googleId, String institute) {"},{"lineNumber":969,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":970,"author":{"gitId":"-"},"content":" assert institute !\u003d null;"},{"lineNumber":971,"author":{"gitId":"-"},"content":""},{"lineNumber":972,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e existingInstructors \u003d getInstructorsForGoogleId(googleId);"},{"lineNumber":973,"author":{"gitId":"-"},"content":" return existingInstructors"},{"lineNumber":974,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":975,"author":{"gitId":"-"},"content":" .filter(Instructor::hasCoownerPrivileges)"},{"lineNumber":976,"author":{"gitId":"-"},"content":" .map(instructor -\u003e instructor.getCourse())"},{"lineNumber":977,"author":{"gitId":"-"},"content":" .anyMatch(course -\u003e institute.equals(course.getInstitute()));"},{"lineNumber":978,"author":{"gitId":"-"},"content":" }"},{"lineNumber":979,"author":{"gitId":"-"},"content":""},{"lineNumber":980,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":981,"author":{"gitId":"-"},"content":" * Utility function to convert user list to email-user map for faster email lookup."},{"lineNumber":982,"author":{"gitId":"-"},"content":" *"},{"lineNumber":983,"author":{"gitId":"-"},"content":" * @param users users list which contains users with unique email addresses"},{"lineNumber":984,"author":{"gitId":"-"},"content":" * @return email-user map for faster email lookup"},{"lineNumber":985,"author":{"gitId":"-"},"content":" */"},{"lineNumber":986,"author":{"gitId":"-"},"content":" private Map\u003cString, User\u003e convertUserListToEmailUserMap(List\u003c? extends User\u003e users) {"},{"lineNumber":987,"author":{"gitId":"-"},"content":" Map\u003cString, User\u003e emailUserMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":988,"author":{"gitId":"-"},"content":" users.forEach(u -\u003e emailUserMap.put(u.getEmail(), u));"},{"lineNumber":989,"author":{"gitId":"-"},"content":""},{"lineNumber":990,"author":{"gitId":"-"},"content":" return emailUserMap;"},{"lineNumber":991,"author":{"gitId":"-"},"content":" }"},{"lineNumber":992,"author":{"gitId":"-"},"content":""},{"lineNumber":993,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":201,"yuanxi1":21,"marquestye":30,"mingyuanc":3,"-":738}},{"path":"src/main/java/teammates/storage/sqlapi/AccountRequestsDb.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import java.util.ArrayList;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import java.util.Collections;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import java.util.UUID;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.AccountRequestSearchManager;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.SearchManagerFactory;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"import jakarta.persistence.TypedQuery;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaBuilder;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaQuery;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Root;"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * Generates CRUD operations for AccountRequest."},{"lineNumber":28,"author":{"gitId":"-"},"content":" *"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * @see AccountRequest"},{"lineNumber":30,"author":{"gitId":"-"},"content":" */"},{"lineNumber":31,"author":{"gitId":"-"},"content":"public final class AccountRequestsDb extends EntitiesDb {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final AccountRequestsDb instance \u003d new AccountRequestsDb();"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" private AccountRequestsDb() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" // prevent instantiation"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" public static AccountRequestsDb inst() {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" public AccountRequestSearchManager getSearchManager() {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" return SearchManagerFactory.getAccountRequestSearchManager();"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Creates an AccountRequest in the database."},{"lineNumber":48,"author":{"gitId":"-"},"content":" */"},{"lineNumber":49,"author":{"gitId":"-"},"content":" public AccountRequest createAccountRequest(AccountRequest accountRequest)"},{"lineNumber":50,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" assert accountRequest !\u003d null;"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" if (!accountRequest.isValid()) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(accountRequest.getInvalidityInfo());"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" // don\u0027t need to check registrationKey for uniqueness since it is generated using email + institute"},{"lineNumber":58,"author":{"gitId":"-"},"content":" if (getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute()) !\u003d null) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" throw new EntityAlreadyExistsException("},{"lineNumber":60,"author":{"gitId":"-"},"content":" String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, accountRequest.toString()));"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" persist(accountRequest);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" return accountRequest;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":68,"author":{"gitId":"-"},"content":" * Get AccountRequest by {@code email} and {@code institute} from database."},{"lineNumber":69,"author":{"gitId":"-"},"content":" */"},{"lineNumber":70,"author":{"gitId":"-"},"content":" public AccountRequest getAccountRequest(String email, String institute) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cAccountRequest\u003e cr \u003d cb.createQuery(AccountRequest.class);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" Root\u003cAccountRequest\u003e root \u003d cr.from(AccountRequest.class);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" cr.select(root).where(cb.and(cb.equal("},{"lineNumber":75,"author":{"gitId":"-"},"content":" root.get(\"email\"), email), cb.equal(root.get(\"institute\"), institute)));"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" TypedQuery\u003cAccountRequest\u003e query \u003d HibernateUtil.createQuery(cr);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" return query.getResultStream().findFirst().orElse(null);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":82,"author":{"gitId":"-"},"content":" * Get AccountRequest by {@code registrationKey} from database."},{"lineNumber":83,"author":{"gitId":"-"},"content":" */"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" public AccountRequest getAccountRequestByRegistrationKey(String registrationKey) {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":86,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cAccountRequest\u003e cr \u003d cb.createQuery(AccountRequest.class);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" Root\u003cAccountRequest\u003e root \u003d cr.from(AccountRequest.class);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" cr.select(root).where(cb.equal(root.get(\"registrationKey\"), registrationKey));"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" TypedQuery\u003cAccountRequest\u003e query \u003d HibernateUtil.createQuery(cr);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" return query.getResultStream().findFirst().orElse(null);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":95,"author":{"gitId":"-"},"content":" * Get AccountRequest with {@code createdTime} within the times {@code startTime} and {@code endTime}."},{"lineNumber":96,"author":{"gitId":"-"},"content":" */"},{"lineNumber":97,"author":{"gitId":"-"},"content":" public List\u003cAccountRequest\u003e getAccountRequests(Instant startTime, Instant endTime) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":99,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cAccountRequest\u003e cr \u003d cb.createQuery(AccountRequest.class);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" Root\u003cAccountRequest\u003e root \u003d cr.from(AccountRequest.class);"},{"lineNumber":101,"author":{"gitId":"-"},"content":" cr.select(root).where(cb.and(cb.greaterThanOrEqualTo(root.get(\"createdAt\"), startTime),"},{"lineNumber":102,"author":{"gitId":"-"},"content":" cb.lessThanOrEqualTo(root.get(\"createdAt\"), endTime)));"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" TypedQuery\u003cAccountRequest\u003e query \u003d HibernateUtil.createQuery(cr);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" return query.getResultList();"},{"lineNumber":106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":109,"author":{"gitId":"-"},"content":" * Updates or creates (if does not exist) the AccountRequest in the database."},{"lineNumber":110,"author":{"gitId":"-"},"content":" */"},{"lineNumber":111,"author":{"gitId":"-"},"content":" public AccountRequest updateAccountRequest(AccountRequest accountRequest)"},{"lineNumber":112,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" assert accountRequest !\u003d null;"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" if (!accountRequest.isValid()) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(accountRequest.getInvalidityInfo());"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" if (getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute()) \u003d\u003d null) {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException("},{"lineNumber":121,"author":{"gitId":"-"},"content":" String.format(ERROR_UPDATE_NON_EXISTENT, accountRequest.toString()));"},{"lineNumber":122,"author":{"gitId":"-"},"content":" }"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" merge(accountRequest);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return accountRequest;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":129,"author":{"gitId":"-"},"content":" * Deletes an AccountRequest."},{"lineNumber":130,"author":{"gitId":"-"},"content":" */"},{"lineNumber":131,"author":{"gitId":"-"},"content":" public void deleteAccountRequest(AccountRequest accountRequest) {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" if (accountRequest !\u003d null) {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" delete(accountRequest);"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" deleteDocumentByAccountRequestId(accountRequest.getId());"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":" * Removes search document for the given account request."},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" public void deleteDocumentByAccountRequestId(UUID accountRequestId) {"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" if (getSearchManager() !\u003d null) {"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" // Solr saves the id with the prefix \"java.util.UUID:\", so we need to add it here to"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":" // identify and delete the document from the index"},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" getSearchManager().deleteDocuments("},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":" Collections.singletonList(\"java.util.UUID:\" + accountRequestId.toString()));"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":151,"author":{"gitId":"domoberzin"},"content":" * Searches all account requests in the system."},{"lineNumber":152,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":153,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003eThis is used by admin to search account requests in the whole system."},{"lineNumber":154,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":155,"author":{"gitId":"domoberzin"},"content":" public List\u003cAccountRequest\u003e searchAccountRequestsInWholeSystem(String queryString)"},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":" throws SearchServiceException {"},{"lineNumber":157,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":158,"author":{"gitId":"domoberzin"},"content":" if (queryString.trim().isEmpty()) {"},{"lineNumber":159,"author":{"gitId":"domoberzin"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":160,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":161,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":162,"author":{"gitId":"domoberzin"},"content":" return getSearchManager().searchAccountRequests(queryString);"},{"lineNumber":163,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":32,"dishenggg":1,"-":131}},{"path":"src/main/java/teammates/storage/sqlapi/FeedbackQuestionsDb.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"marquestye"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":4,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":9,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":10,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaBuilder;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaQuery;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Join;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Root;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Handles CRUD operations for feedback questions."},{"lineNumber":23,"author":{"gitId":"-"},"content":" *"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * @see FeedbackQuestion"},{"lineNumber":25,"author":{"gitId":"-"},"content":" */"},{"lineNumber":26,"author":{"gitId":"-"},"content":"public final class FeedbackQuestionsDb extends EntitiesDb {"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final FeedbackQuestionsDb instance \u003d new FeedbackQuestionsDb();"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" private FeedbackQuestionsDb() {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" public static FeedbackQuestionsDb inst() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":39,"author":{"gitId":"-"},"content":" * Creates a new feedback question."},{"lineNumber":40,"author":{"gitId":"-"},"content":" *"},{"lineNumber":41,"author":{"gitId":"-"},"content":" * @return the created question"},{"lineNumber":42,"author":{"gitId":"marquestye"},"content":" * @throws InvalidParametersException if the question is invalid"},{"lineNumber":43,"author":{"gitId":"marquestye"},"content":" * @throws EntityAlreadyExistsException if the question already exists"},{"lineNumber":44,"author":{"gitId":"-"},"content":" */"},{"lineNumber":45,"author":{"gitId":"marquestye"},"content":" public FeedbackQuestion createFeedbackQuestion(FeedbackQuestion feedbackQuestion)"},{"lineNumber":46,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":47,"author":{"gitId":"marquestye"},"content":" assert feedbackQuestion !\u003d null;"},{"lineNumber":48,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":49,"author":{"gitId":"marquestye"},"content":" if (!feedbackQuestion.isValid()) {"},{"lineNumber":50,"author":{"gitId":"marquestye"},"content":" throw new InvalidParametersException(feedbackQuestion.getInvalidityInfo());"},{"lineNumber":51,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":52,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":53,"author":{"gitId":"marquestye"},"content":" if (getFeedbackQuestion(feedbackQuestion.getId()) !\u003d null) {"},{"lineNumber":54,"author":{"gitId":"marquestye"},"content":" String errorMessage \u003d String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, feedbackQuestion.toString());"},{"lineNumber":55,"author":{"gitId":"marquestye"},"content":" throw new EntityAlreadyExistsException(errorMessage);"},{"lineNumber":56,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":57,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" persist(feedbackQuestion);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" return feedbackQuestion;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":63,"author":{"gitId":"-"},"content":" * Gets a feedback question."},{"lineNumber":64,"author":{"gitId":"-"},"content":" *"},{"lineNumber":65,"author":{"gitId":"-"},"content":" * @return null if not found"},{"lineNumber":66,"author":{"gitId":"-"},"content":" */"},{"lineNumber":67,"author":{"gitId":"-"},"content":" public FeedbackQuestion getFeedbackQuestion(UUID fqId) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" assert fqId !\u003d null;"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" return HibernateUtil.get(FeedbackQuestion.class, fqId);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":74,"author":{"gitId":"-"},"content":" * Gets all feedback questions of a session."},{"lineNumber":75,"author":{"gitId":"-"},"content":" */"},{"lineNumber":76,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForSession(UUID fdId) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":78,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackQuestion\u003e cq \u003d cb.createQuery(FeedbackQuestion.class);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" Root\u003cFeedbackQuestion\u003e fqRoot \u003d cq.from(FeedbackQuestion.class);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fqJoin \u003d fqRoot.join(\"feedbackSession\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":" cq.select(fqRoot).where(cb.equal(fqJoin.get(\"id\"), fdId));"},{"lineNumber":82,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":86,"author":{"gitId":"-"},"content":" * Gets a list of feedback questions by {@code feedbackSession} and {@code giverType}."},{"lineNumber":87,"author":{"gitId":"-"},"content":" *"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * @return null if not found"},{"lineNumber":89,"author":{"gitId":"-"},"content":" */"},{"lineNumber":90,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForGiverType("},{"lineNumber":91,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession, FeedbackParticipantType giverType) {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":93,"author":{"gitId":"-"},"content":" assert giverType !\u003d null;"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":96,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackQuestion\u003e cq \u003d cb.createQuery(FeedbackQuestion.class);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" Root\u003cFeedbackQuestion\u003e root \u003d cq.from(FeedbackQuestion.class);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fqJoin \u003d root.join(\"feedbackSession\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":100,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":101,"author":{"gitId":"-"},"content":" cb.equal(fqJoin.get(\"id\"), feedbackSession.getId()),"},{"lineNumber":102,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"giverType\"), giverType)));"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":107,"author":{"gitId":"-"},"content":" * Deletes a feedback question."},{"lineNumber":108,"author":{"gitId":"-"},"content":" */"},{"lineNumber":109,"author":{"gitId":"-"},"content":" public void deleteFeedbackQuestion(UUID fqId) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" assert fqId !\u003d null;"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" FeedbackQuestion fq \u003d getFeedbackQuestion(fqId);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" if (fq !\u003d null) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" delete(fq);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":119,"author":{"gitId":"-"},"content":" * Checks if there is any feedback questions in a session in a course for the given giver type."},{"lineNumber":120,"author":{"gitId":"-"},"content":" */"},{"lineNumber":121,"author":{"gitId":"-"},"content":" public boolean hasFeedbackQuestionsForGiverType("},{"lineNumber":122,"author":{"gitId":"-"},"content":" String feedbackSessionName, String courseId, FeedbackParticipantType giverType) {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":124,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackQuestion\u003e cq \u003d cb.createQuery(FeedbackQuestion.class);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" Root\u003cFeedbackQuestion\u003e root \u003d cq.from(FeedbackQuestion.class);"},{"lineNumber":126,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d root.join(\"feedbackSession\");"},{"lineNumber":127,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e courseJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":131,"author":{"gitId":"-"},"content":" cb.equal(courseJoin.get(\"id\"), courseId),"},{"lineNumber":132,"author":{"gitId":"-"},"content":" cb.equal(fsJoin.get(\"name\"), feedbackSessionName),"},{"lineNumber":133,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"giverType\"), giverType)));"},{"lineNumber":134,"author":{"gitId":"-"},"content":" return !HibernateUtil.createQuery(cq).getResultList().isEmpty();"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":19,"-":117}},{"path":"src/main/java/teammates/storage/sqlapi/FeedbackResponseCommentsDb.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":4,"author":{"gitId":"mingyuanc"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":10,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaBuilder;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaQuery;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Join;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Root;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * Handles CRUD operations for feedbackResponseComments."},{"lineNumber":27,"author":{"gitId":"-"},"content":" *"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * @see FeedbackResponseComment"},{"lineNumber":29,"author":{"gitId":"-"},"content":" */"},{"lineNumber":30,"author":{"gitId":"-"},"content":"public final class FeedbackResponseCommentsDb extends EntitiesDb {"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final FeedbackResponseCommentsDb instance \u003d new FeedbackResponseCommentsDb();"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" private FeedbackResponseCommentsDb() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" public static FeedbackResponseCommentsDb inst() {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Gets a feedbackResponseComment or null if it does not exist."},{"lineNumber":44,"author":{"gitId":"-"},"content":" */"},{"lineNumber":45,"author":{"gitId":"-"},"content":" public FeedbackResponseComment getFeedbackResponseComment(Long frId) {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" assert frId !\u003d null;"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" return HibernateUtil.get(FeedbackResponseComment.class, frId);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":52,"author":{"gitId":"-"},"content":" * Creates a feedbackResponseComment."},{"lineNumber":53,"author":{"gitId":"-"},"content":" */"},{"lineNumber":54,"author":{"gitId":"-"},"content":" public FeedbackResponseComment createFeedbackResponseComment(FeedbackResponseComment feedbackResponseComment)"},{"lineNumber":55,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" assert feedbackResponseComment !\u003d null;"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" if (!feedbackResponseComment.isValid()) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(feedbackResponseComment.getInvalidityInfo());"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" if (feedbackResponseComment.getId() !\u003d null"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u0026\u0026 getFeedbackResponseComment(feedbackResponseComment.getId()) !\u003d null) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" throw new EntityAlreadyExistsException("},{"lineNumber":65,"author":{"gitId":"-"},"content":" String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, feedbackResponseComment.toString()));"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" persist(feedbackResponseComment);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" return feedbackResponseComment;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Deletes a feedbackResponseComment."},{"lineNumber":74,"author":{"gitId":"-"},"content":" */"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponseComment(Long frcId) {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" assert frcId !\u003d null;"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" FeedbackResponseComment frc \u003d getFeedbackResponseComment(frcId);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" if (frc !\u003d null) {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" delete(frc);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":" }"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" * Gets all feedback response comments for a response."},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentsForResponse(UUID feedbackResponseId) {"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" assert feedbackResponseId !\u003d null;"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" cq.select(root)"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" .where(cb.and("},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" cb.equal(frJoin.get(\"id\"), feedbackResponseId)));"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":102,"author":{"gitId":"-"},"content":" * Gets the comment associated with the feedback response."},{"lineNumber":103,"author":{"gitId":"-"},"content":" */"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public FeedbackResponseComment getFeedbackResponseCommentForResponseFromParticipant("},{"lineNumber":105,"author":{"gitId":"-"},"content":" UUID feedbackResponseId) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":107,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":110,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":111,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":112,"author":{"gitId":"-"},"content":" cb.equal(frJoin.get(\"id\"), feedbackResponseId)));"},{"lineNumber":113,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultStream().findFirst().orElse(null);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":117,"author":{"gitId":"-"},"content":" * Updates the giver email for all of the giver\u0027s comments in a course."},{"lineNumber":118,"author":{"gitId":"-"},"content":" */"},{"lineNumber":119,"author":{"gitId":"-"},"content":" public void updateGiverEmailOfFeedbackResponseComments(String courseId, String oldEmail, String updatedEmail) {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":121,"author":{"gitId":"-"},"content":" assert oldEmail !\u003d null;"},{"lineNumber":122,"author":{"gitId":"-"},"content":" assert updatedEmail !\u003d null;"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" if (oldEmail.equals(updatedEmail)) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponseComment\u003e responseComments \u003d"},{"lineNumber":129,"author":{"gitId":"-"},"content":" getFeedbackResponseCommentEntitiesForGiverInCourse(courseId, oldEmail);"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" for (FeedbackResponseComment responseComment : responseComments) {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" responseComment.setGiver(updatedEmail);"},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" merge(responseComment);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" * Updates the last editor to a new one for all comments in a course."},{"lineNumber":139,"author":{"gitId":"-"},"content":" */"},{"lineNumber":140,"author":{"gitId":"-"},"content":" public void updateLastEditorEmailOfFeedbackResponseComments(String courseId, String oldEmail, String updatedEmail) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" assert oldEmail !\u003d null;"},{"lineNumber":143,"author":{"gitId":"-"},"content":" assert updatedEmail !\u003d null;"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" if (oldEmail.equals(updatedEmail)) {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponseComment\u003e responseComments \u003d"},{"lineNumber":150,"author":{"gitId":"-"},"content":" getFeedbackResponseCommentEntitiesForLastEditorInCourse(courseId, oldEmail);"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" for (FeedbackResponseComment responseComment : responseComments) {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" responseComment.setLastEditorEmail(updatedEmail);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":" }"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" private List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentEntitiesForGiverInCourse("},{"lineNumber":158,"author":{"gitId":"-"},"content":" String courseId, String giver) {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":160,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":163,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frJoin.join(\"feedbackQuestion\");"},{"lineNumber":164,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":165,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":168,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":169,"author":{"gitId":"-"},"content":" cb.equal(cJoin.get(\"id\"), courseId),"},{"lineNumber":170,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"giver\"), giver)));"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" private List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentEntitiesForLastEditorInCourse("},{"lineNumber":176,"author":{"gitId":"-"},"content":" String courseId, String lastEditorEmail) {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":178,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":179,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":180,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":181,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frJoin.join(\"feedbackQuestion\");"},{"lineNumber":182,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":183,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":186,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":187,"author":{"gitId":"-"},"content":" cb.equal(cJoin.get(\"id\"), courseId),"},{"lineNumber":188,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"lastEditorEmail\"), lastEditorEmail)));"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" * Updates the feedback response comment."},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":196,"author":{"gitId":"mingyuanc"},"content":" public FeedbackResponseComment updateFeedbackResponseComment(FeedbackResponseComment feedbackResponseComment)"},{"lineNumber":197,"author":{"gitId":"mingyuanc"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" assert feedbackResponseComment !\u003d null;"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":200,"author":{"gitId":"mingyuanc"},"content":" if (!feedbackResponseComment.isValid()) {"},{"lineNumber":201,"author":{"gitId":"mingyuanc"},"content":" throw new InvalidParametersException(feedbackResponseComment.getInvalidityInfo());"},{"lineNumber":202,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":203,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":204,"author":{"gitId":"mingyuanc"},"content":" if (getFeedbackResponseComment(feedbackResponseComment.getId()) \u003d\u003d null) {"},{"lineNumber":205,"author":{"gitId":"mingyuanc"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT);"},{"lineNumber":206,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":207,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" return merge(feedbackResponseComment);"},{"lineNumber":209,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":210,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":211,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":212,"author":{"gitId":"xenosf"},"content":" * Gets all comments in a feedback session of a course."},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentsForSession("},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" String courseId, String feedbackSessionName) {"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" assert courseId !\u003d null;"},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":219,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":220,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":221,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":222,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":223,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frJoin.join(\"feedbackQuestion\");"},{"lineNumber":224,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":225,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":226,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":227,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":228,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":229,"author":{"gitId":"xenosf"},"content":" cb.equal(cJoin.get(\"id\"), courseId),"},{"lineNumber":230,"author":{"gitId":"xenosf"},"content":" cb.equal(fsJoin.get(\"name\"), feedbackSessionName)"},{"lineNumber":231,"author":{"gitId":"xenosf"},"content":" ));"},{"lineNumber":232,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":233,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":234,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":235,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":236,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":237,"author":{"gitId":"xenosf"},"content":" * Gets all comments of a feedback question of a course."},{"lineNumber":238,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":239,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentsForQuestion(UUID questionId) {"},{"lineNumber":240,"author":{"gitId":"xenosf"},"content":" assert questionId !\u003d null;"},{"lineNumber":241,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":242,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":243,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":244,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":245,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":246,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frJoin.join(\"feedbackQuestion\");"},{"lineNumber":247,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":248,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":249,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":250,"author":{"gitId":"xenosf"},"content":" cb.equal(fqJoin.get(\"id\"), questionId)));"},{"lineNumber":251,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":252,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":253,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":254,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":255,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":256,"author":{"gitId":"xenosf"},"content":" * Gets all comments in the given session where the giver or recipient is in the given section."},{"lineNumber":257,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":258,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentsForSessionInSection("},{"lineNumber":259,"author":{"gitId":"xenosf"},"content":" String courseId, String feedbackSessionName, String sectionName) {"},{"lineNumber":260,"author":{"gitId":"xenosf"},"content":" assert courseId !\u003d null;"},{"lineNumber":261,"author":{"gitId":"xenosf"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":262,"author":{"gitId":"xenosf"},"content":" assert sectionName !\u003d null;"},{"lineNumber":263,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":264,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":265,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":266,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":267,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":268,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frJoin.join(\"feedbackQuestion\");"},{"lineNumber":269,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":270,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":271,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":272,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, Section\u003e giverJoin \u003d root.join(\"giverSection\");"},{"lineNumber":273,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, Section\u003e recipientJoin \u003d root.join(\"recipientSection\");"},{"lineNumber":274,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":275,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":276,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":277,"author":{"gitId":"xenosf"},"content":" cb.equal(cJoin.get(\"id\"), courseId),"},{"lineNumber":278,"author":{"gitId":"xenosf"},"content":" cb.equal(fsJoin.get(\"name\"), feedbackSessionName),"},{"lineNumber":279,"author":{"gitId":"xenosf"},"content":" cb.or("},{"lineNumber":280,"author":{"gitId":"xenosf"},"content":" cb.equal(giverJoin.get(\"name\"), sectionName),"},{"lineNumber":281,"author":{"gitId":"xenosf"},"content":" cb.equal(recipientJoin.get(\"name\"), sectionName))"},{"lineNumber":282,"author":{"gitId":"xenosf"},"content":" ));"},{"lineNumber":283,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":284,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":285,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":286,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":287,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":288,"author":{"gitId":"xenosf"},"content":" * Gets all comments for a question where the giver or recipient is in the given section."},{"lineNumber":289,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":290,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentsForQuestionInSection("},{"lineNumber":291,"author":{"gitId":"xenosf"},"content":" UUID questionId, String sectionName) {"},{"lineNumber":292,"author":{"gitId":"xenosf"},"content":" assert questionId !\u003d null;"},{"lineNumber":293,"author":{"gitId":"xenosf"},"content":" assert sectionName !\u003d null;"},{"lineNumber":294,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":295,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":296,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":297,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":298,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":299,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frJoin.join(\"feedbackQuestion\");"},{"lineNumber":300,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":301,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, Section\u003e giverJoin \u003d root.join(\"giverSection\");"},{"lineNumber":302,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, Section\u003e recipientJoin \u003d root.join(\"recipientSection\");"},{"lineNumber":303,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":304,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":305,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":306,"author":{"gitId":"xenosf"},"content":" cb.equal(fqJoin.get(\"id\"), questionId),"},{"lineNumber":307,"author":{"gitId":"xenosf"},"content":" cb.or("},{"lineNumber":308,"author":{"gitId":"xenosf"},"content":" cb.equal(giverJoin.get(\"name\"), sectionName),"},{"lineNumber":309,"author":{"gitId":"xenosf"},"content":" cb.equal(recipientJoin.get(\"name\"), sectionName))"},{"lineNumber":310,"author":{"gitId":"xenosf"},"content":" ));"},{"lineNumber":311,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":312,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":313,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":314,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":26,"xenosf":105,"mingyuanc":12,"-":172}},{"path":"src/main/java/teammates/storage/sqlapi/FeedbackResponsesDb.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.FeedbackResultFetchType;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaBuilder;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaDelete;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaQuery;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Join;"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":"import jakarta.persistence.criteria.Predicate;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Root;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Subquery;"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Handles CRUD operations for feedbackResponses."},{"lineNumber":30,"author":{"gitId":"-"},"content":" *"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * @see FeedbackResponse"},{"lineNumber":32,"author":{"gitId":"-"},"content":" */"},{"lineNumber":33,"author":{"gitId":"-"},"content":"public final class FeedbackResponsesDb extends EntitiesDb {"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final FeedbackResponsesDb instance \u003d new FeedbackResponsesDb();"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" private FeedbackResponsesDb() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" public static FeedbackResponsesDb inst() {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":46,"author":{"gitId":"-"},"content":" * Gets a feedbackResponse or null if it does not exist."},{"lineNumber":47,"author":{"gitId":"-"},"content":" */"},{"lineNumber":48,"author":{"gitId":"-"},"content":" public FeedbackResponse getFeedbackResponse(UUID frId) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" assert frId !\u003d null;"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" return HibernateUtil.get(FeedbackResponse.class, frId);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Gets all responses given by a user in a course."},{"lineNumber":56,"author":{"gitId":"-"},"content":" */"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromGiverForCourse("},{"lineNumber":58,"author":{"gitId":"-"},"content":" String courseId, String giver) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":60,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cr \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e frRoot \u003d cr.from(FeedbackResponse.class);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frRoot.join(\"feedbackQuestion\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":64,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" cr.select(frRoot)"},{"lineNumber":67,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":68,"author":{"gitId":"-"},"content":" cb.equal(cJoin.get(\"id\"), courseId),"},{"lineNumber":69,"author":{"gitId":"-"},"content":" cb.equal(frRoot.get(\"giver\"), giver)));"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":75,"author":{"gitId":"-"},"content":" * Gets all responses given to a user in a course."},{"lineNumber":76,"author":{"gitId":"-"},"content":" */"},{"lineNumber":77,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForRecipientForCourse(String courseId, String recipient) {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":79,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cr \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e frRoot \u003d cr.from(FeedbackResponse.class);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frRoot.join(\"feedbackQuestion\");"},{"lineNumber":82,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" cr.select(frRoot)"},{"lineNumber":86,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":87,"author":{"gitId":"-"},"content":" cb.equal(cJoin.get(\"id\"), courseId),"},{"lineNumber":88,"author":{"gitId":"-"},"content":" cb.equal(frRoot.get(\"recipient\"), recipient)));"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":94,"author":{"gitId":"-"},"content":" * Creates a feedbackResponse."},{"lineNumber":95,"author":{"gitId":"-"},"content":" */"},{"lineNumber":96,"author":{"gitId":"-"},"content":" public FeedbackResponse createFeedbackResponse(FeedbackResponse feedbackResponse)"},{"lineNumber":97,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" assert feedbackResponse !\u003d null;"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" if (!feedbackResponse.isValid()) {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(feedbackResponse.getInvalidityInfo());"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" if (getFeedbackResponse(feedbackResponse.getId()) !\u003d null) {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" throw new EntityAlreadyExistsException("},{"lineNumber":106,"author":{"gitId":"-"},"content":" String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, feedbackResponse.toString()));"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" persist(feedbackResponse);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" return feedbackResponse;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":114,"author":{"gitId":"-"},"content":" * Deletes a feedbackResponse."},{"lineNumber":115,"author":{"gitId":"-"},"content":" */"},{"lineNumber":116,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponse(FeedbackResponse feedbackResponse) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" if (feedbackResponse !\u003d null) {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" delete(feedbackResponse);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":123,"author":{"gitId":"-"},"content":" * Gets the feedback responses for a feedback question."},{"lineNumber":124,"author":{"gitId":"-"},"content":" * @param feedbackQuestionId the Id of the feedback question."},{"lineNumber":125,"author":{"gitId":"-"},"content":" * @param giverEmail the email of the response giver."},{"lineNumber":126,"author":{"gitId":"-"},"content":" */"},{"lineNumber":127,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromGiverForQuestion("},{"lineNumber":128,"author":{"gitId":"-"},"content":" UUID feedbackQuestionId, String giverEmail) {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":130,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e frJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":133,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":134,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":135,"author":{"gitId":"-"},"content":" cb.equal(frJoin.get(\"id\"), feedbackQuestionId),"},{"lineNumber":136,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"giver\"), giverEmail)));"},{"lineNumber":137,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":141,"author":{"gitId":"-"},"content":" * Deletes all feedback responses of a question cascade its associated comments."},{"lineNumber":142,"author":{"gitId":"-"},"content":" */"},{"lineNumber":143,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponsesForQuestionCascade(UUID feedbackQuestionId) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":145,"author":{"gitId":"-"},"content":" CriteriaDelete\u003cFeedbackResponse\u003e cd \u003d cb.createCriteriaDelete(FeedbackResponse.class);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e frRoot \u003d cd.from(FeedbackResponse.class);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" Subquery\u003cUUID\u003e subquery \u003d cd.subquery(UUID.class);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e subqueryRoot \u003d subquery.from(FeedbackResponse.class);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e sqJoin \u003d subqueryRoot.join(\"feedbackQuestion\");"},{"lineNumber":150,"author":{"gitId":"-"},"content":" subquery.select(subqueryRoot.get(\"id\"));"},{"lineNumber":151,"author":{"gitId":"-"},"content":" subquery.where(cb.equal(sqJoin.get(\"id\"), feedbackQuestionId));"},{"lineNumber":152,"author":{"gitId":"-"},"content":" cd.where(cb.in(frRoot.get(\"id\")).value(subquery));"},{"lineNumber":153,"author":{"gitId":"-"},"content":" HibernateUtil.createMutationQuery(cd).executeUpdate();"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":157,"author":{"gitId":"-"},"content":" * Checks whether there are responses for a question."},{"lineNumber":158,"author":{"gitId":"-"},"content":" */"},{"lineNumber":159,"author":{"gitId":"-"},"content":" public boolean areThereResponsesForQuestion(UUID questionId) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":161,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":163,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":166,"author":{"gitId":"-"},"content":" .where(cb.equal(fqJoin.get(\"id\"), questionId));"},{"lineNumber":167,"author":{"gitId":"-"},"content":" return !HibernateUtil.createQuery(cq).getResultList().isEmpty();"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":171,"author":{"gitId":"xenosf"},"content":" * Get responses for a question."},{"lineNumber":172,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":173,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponse\u003e getResponsesForQuestion(UUID questionId) {"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":178,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":" cq.select(root)"},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":" .where(cb.equal(fqJoin.get(\"id\"), questionId));"},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":182,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":183,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":185,"author":{"gitId":"-"},"content":" * Checks whether a user has responses in a session."},{"lineNumber":186,"author":{"gitId":"-"},"content":" */"},{"lineNumber":187,"author":{"gitId":"-"},"content":" public boolean hasResponsesFromGiverInSession("},{"lineNumber":188,"author":{"gitId":"-"},"content":" String giver, String feedbackSessionName, String courseId) {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":190,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":191,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":192,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":193,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":194,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e courseJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":197,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":198,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"giver\"), giver),"},{"lineNumber":199,"author":{"gitId":"-"},"content":" cb.equal(fsJoin.get(\"name\"), feedbackSessionName),"},{"lineNumber":200,"author":{"gitId":"-"},"content":" cb.equal(courseJoin.get(\"id\"), courseId)));"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" return !HibernateUtil.createQuery(cq).getResultList().isEmpty();"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":206,"author":{"gitId":"-"},"content":" * Checks whether there are responses for a course."},{"lineNumber":207,"author":{"gitId":"-"},"content":" */"},{"lineNumber":208,"author":{"gitId":"-"},"content":" public boolean hasResponsesForCourse(String courseId) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":210,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":213,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":214,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e courseJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":217,"author":{"gitId":"-"},"content":" .where(cb.equal(courseJoin.get(\"id\"), courseId));"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" return !HibernateUtil.createQuery(cq).getResultList().isEmpty();"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":223,"author":{"gitId":"domoberzin"},"content":" * Updates a feedbackResponse."},{"lineNumber":224,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":225,"author":{"gitId":"domoberzin"},"content":" * @throws EntityDoesNotExistException if the feedbackResponse does not exist"},{"lineNumber":226,"author":{"gitId":"domoberzin"},"content":" * @throws InvalidParametersException if the feedbackResponse is not valid"},{"lineNumber":227,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":228,"author":{"gitId":"domoberzin"},"content":" public FeedbackResponse updateFeedbackResponse(FeedbackResponse feedbackResponse)"},{"lineNumber":229,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":230,"author":{"gitId":"domoberzin"},"content":" assert feedbackResponse !\u003d null;"},{"lineNumber":231,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":232,"author":{"gitId":"domoberzin"},"content":" if (!feedbackResponse.isValid()) {"},{"lineNumber":233,"author":{"gitId":"domoberzin"},"content":" throw new InvalidParametersException(feedbackResponse.getInvalidityInfo());"},{"lineNumber":234,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":235,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":236,"author":{"gitId":"domoberzin"},"content":" if (getFeedbackResponse(feedbackResponse.getId()) \u003d\u003d null) {"},{"lineNumber":237,"author":{"gitId":"domoberzin"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT);"},{"lineNumber":238,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":239,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":240,"author":{"gitId":"domoberzin"},"content":" return merge(feedbackResponse);"},{"lineNumber":241,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":242,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":243,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":244,"author":{"gitId":"xenosf"},"content":" * Gets all responses received by a user for a question."},{"lineNumber":245,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":246,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForRecipientForQuestion("},{"lineNumber":247,"author":{"gitId":"xenosf"},"content":" UUID questionId, String recipient) {"},{"lineNumber":248,"author":{"gitId":"xenosf"},"content":" assert questionId !\u003d null;"},{"lineNumber":249,"author":{"gitId":"xenosf"},"content":" assert recipient !\u003d null;"},{"lineNumber":250,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":251,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":252,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":253,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":254,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":255,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":256,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":257,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":258,"author":{"gitId":"xenosf"},"content":" cb.equal(fqJoin.get(\"id\"), questionId),"},{"lineNumber":259,"author":{"gitId":"xenosf"},"content":" cb.equal(root.get(\"recipient\"), recipient)"},{"lineNumber":260,"author":{"gitId":"xenosf"},"content":" ));"},{"lineNumber":261,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":262,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":263,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":264,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":265,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":266,"author":{"gitId":"xenosf"},"content":" * Gets all responses given to/from a section in a feedback session in a course."},{"lineNumber":267,"author":{"gitId":"xenosf"},"content":" * Optionally, retrieves by either giver, receiver sections, or both."},{"lineNumber":268,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":269,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForSessionInSection("},{"lineNumber":270,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId, String sectionName, FeedbackResultFetchType fetchType) {"},{"lineNumber":271,"author":{"gitId":"xenosf"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":272,"author":{"gitId":"xenosf"},"content":" assert courseId !\u003d null;"},{"lineNumber":273,"author":{"gitId":"xenosf"},"content":" assert sectionName !\u003d null;"},{"lineNumber":274,"author":{"gitId":"xenosf"},"content":" assert fetchType !\u003d null;"},{"lineNumber":275,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":276,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":277,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":278,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":279,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":280,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":281,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":282,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":283,"author":{"gitId":"xenosf"},"content":" // unless specified by fetchType, do not filter by giver/recipient section"},{"lineNumber":284,"author":{"gitId":"xenosf"},"content":" Predicate giverSectionFilter \u003d cb.isTrue(cb.literal(true));"},{"lineNumber":285,"author":{"gitId":"xenosf"},"content":" Predicate recipientSectionFilter \u003d cb.isTrue(cb.literal(true));"},{"lineNumber":286,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, Section\u003e giverJoin \u003d root.join(\"giverSection\");"},{"lineNumber":287,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, Section\u003e recipientJoin \u003d root.join(\"recipientSection\");"},{"lineNumber":288,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":289,"author":{"gitId":"xenosf"},"content":" if (fetchType.shouldFetchByGiver()) {"},{"lineNumber":290,"author":{"gitId":"xenosf"},"content":" giverSectionFilter \u003d cb.equal(giverJoin.get(\"name\"), sectionName);"},{"lineNumber":291,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":292,"author":{"gitId":"xenosf"},"content":" if (fetchType.shouldFetchByReceiver()) {"},{"lineNumber":293,"author":{"gitId":"xenosf"},"content":" recipientSectionFilter \u003d cb.equal(recipientJoin.get(\"name\"), sectionName);"},{"lineNumber":294,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":295,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":296,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":297,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":298,"author":{"gitId":"xenosf"},"content":" cb.equal(fsJoin.get(\"id\"), feedbackSession.getId()),"},{"lineNumber":299,"author":{"gitId":"xenosf"},"content":" cb.equal(cJoin.get(\"id\"), courseId),"},{"lineNumber":300,"author":{"gitId":"xenosf"},"content":" giverSectionFilter,"},{"lineNumber":301,"author":{"gitId":"xenosf"},"content":" recipientSectionFilter"},{"lineNumber":302,"author":{"gitId":"xenosf"},"content":" ));"},{"lineNumber":303,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":304,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":305,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":306,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":307,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":308,"author":{"gitId":"xenosf"},"content":" * Gets all feedback responses of a question in a specific section."},{"lineNumber":309,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":310,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForQuestionInSection("},{"lineNumber":311,"author":{"gitId":"xenosf"},"content":" UUID questionId, String sectionName, FeedbackResultFetchType fetchType) {"},{"lineNumber":312,"author":{"gitId":"xenosf"},"content":" assert questionId !\u003d null;"},{"lineNumber":313,"author":{"gitId":"xenosf"},"content":" assert sectionName !\u003d null;"},{"lineNumber":314,"author":{"gitId":"xenosf"},"content":" assert fetchType !\u003d null;"},{"lineNumber":315,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":316,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":317,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":318,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":319,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":320,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":321,"author":{"gitId":"xenosf"},"content":" // unless specified by fetchType, do not filter by giver/recipient section"},{"lineNumber":322,"author":{"gitId":"xenosf"},"content":" Predicate giverSectionFilter \u003d cb.isTrue(cb.literal(true));"},{"lineNumber":323,"author":{"gitId":"xenosf"},"content":" Predicate recipientSectionFilter \u003d cb.isTrue(cb.literal(true));"},{"lineNumber":324,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, Section\u003e giverJoin \u003d root.join(\"giverSection\");"},{"lineNumber":325,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, Section\u003e recipientJoin \u003d root.join(\"recipientSection\");"},{"lineNumber":326,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":327,"author":{"gitId":"xenosf"},"content":" if (fetchType.shouldFetchByGiver()) {"},{"lineNumber":328,"author":{"gitId":"xenosf"},"content":" giverSectionFilter \u003d cb.equal(giverJoin.get(\"name\"), sectionName);"},{"lineNumber":329,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":330,"author":{"gitId":"xenosf"},"content":" if (fetchType.shouldFetchByReceiver()) {"},{"lineNumber":331,"author":{"gitId":"xenosf"},"content":" recipientSectionFilter \u003d cb.equal(recipientJoin.get(\"name\"), sectionName);"},{"lineNumber":332,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":333,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":334,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":335,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":336,"author":{"gitId":"xenosf"},"content":" cb.equal(fqJoin.get(\"id\"), questionId),"},{"lineNumber":337,"author":{"gitId":"xenosf"},"content":" giverSectionFilter,"},{"lineNumber":338,"author":{"gitId":"xenosf"},"content":" recipientSectionFilter"},{"lineNumber":339,"author":{"gitId":"xenosf"},"content":" ));"},{"lineNumber":340,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":341,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":342,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":343,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":344,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":345,"author":{"gitId":"xenosf"},"content":" * Gets all responses of a feedback session in a course."},{"lineNumber":346,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":347,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForSession("},{"lineNumber":348,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId) {"},{"lineNumber":349,"author":{"gitId":"xenosf"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":350,"author":{"gitId":"xenosf"},"content":" assert courseId !\u003d null;"},{"lineNumber":351,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":352,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":353,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":354,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":355,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":356,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":357,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":358,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":359,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":360,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":361,"author":{"gitId":"xenosf"},"content":" cb.equal(fsJoin.get(\"id\"), feedbackSession.getId()),"},{"lineNumber":362,"author":{"gitId":"xenosf"},"content":" cb.equal(cJoin.get(\"id\"), courseId)"},{"lineNumber":363,"author":{"gitId":"xenosf"},"content":" ));"},{"lineNumber":364,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":365,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":366,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":367,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":368,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":37,"xenosf":128,"-":203}},{"path":"src/main/java/teammates/storage/sqlapi/FeedbackSessionsDb.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaBuilder;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaQuery;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Join;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Root;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Handles CRUD operations for feedback sessions."},{"lineNumber":26,"author":{"gitId":"-"},"content":" *"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * @see FeedbackSession"},{"lineNumber":28,"author":{"gitId":"-"},"content":" */"},{"lineNumber":29,"author":{"gitId":"-"},"content":"public final class FeedbackSessionsDb extends EntitiesDb {"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final FeedbackSessionsDb instance \u003d new FeedbackSessionsDb();"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private FeedbackSessionsDb() {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" public static FeedbackSessionsDb inst() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":42,"author":{"gitId":"-"},"content":" * Gets a feedback session."},{"lineNumber":43,"author":{"gitId":"-"},"content":" *"},{"lineNumber":44,"author":{"gitId":"-"},"content":" * @return null if not found"},{"lineNumber":45,"author":{"gitId":"-"},"content":" */"},{"lineNumber":46,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSession(UUID fsId) {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" assert fsId !\u003d null;"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" return HibernateUtil.get(FeedbackSession.class, fsId);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":53,"author":{"gitId":"-"},"content":" * Gets a feedback session for {@code feedbackSessionName} and {@code courseId}."},{"lineNumber":54,"author":{"gitId":"-"},"content":" *"},{"lineNumber":55,"author":{"gitId":"-"},"content":" * @return null if not found"},{"lineNumber":56,"author":{"gitId":"-"},"content":" */"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSession(String feedbackSessionName, String courseId) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":59,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cq \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e fsRoot \u003d cq.from(FeedbackSession.class);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e fsJoin \u003d fsRoot.join(\"course\");"},{"lineNumber":62,"author":{"gitId":"-"},"content":" cq.select(fsRoot).where(cb.and("},{"lineNumber":63,"author":{"gitId":"-"},"content":" cb.equal(fsRoot.get(\"name\"), feedbackSessionName),"},{"lineNumber":64,"author":{"gitId":"-"},"content":" cb.equal(fsJoin.get(\"id\"), courseId)));"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultStream().findFirst().orElse(null);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":69,"author":{"gitId":"-"},"content":" * Gets a soft-deleted feedback session."},{"lineNumber":70,"author":{"gitId":"-"},"content":" *"},{"lineNumber":71,"author":{"gitId":"-"},"content":" * @return null if not found or not soft-deleted."},{"lineNumber":72,"author":{"gitId":"-"},"content":" */"},{"lineNumber":73,"author":{"gitId":"-"},"content":" public FeedbackSession getSoftDeletedFeedbackSession(String feedbackSessionName, String courseId) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession \u003d getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" if (feedbackSession !\u003d null \u0026\u0026 feedbackSession.getDeletedAt() \u003d\u003d null) {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" log.info(feedbackSessionName + \"/\" + courseId + \" is not soft-deleted!\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":82,"author":{"gitId":"-"},"content":" }"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" return feedbackSession;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Gets soft-deleted feedback sessions for course."},{"lineNumber":89,"author":{"gitId":"-"},"content":" */"},{"lineNumber":90,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getSoftDeletedFeedbackSessionsForCourse(String courseId) {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":92,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cq \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e fsRoot \u003d cq.from(FeedbackSession.class);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e fsJoin \u003d fsRoot.join(\"course\");"},{"lineNumber":95,"author":{"gitId":"-"},"content":" cq.select(fsRoot).where(cb.and("},{"lineNumber":96,"author":{"gitId":"-"},"content":" cb.isNotNull(fsRoot.get(\"deletedAt\")),"},{"lineNumber":97,"author":{"gitId":"-"},"content":" cb.equal(fsJoin.get(\"id\"), courseId)));"},{"lineNumber":98,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":102,"author":{"gitId":"-"},"content":" * Gets all and only the feedback sessions ongoing within a range of time."},{"lineNumber":103,"author":{"gitId":"-"},"content":" */"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getOngoingSessions(Instant rangeStart, Instant rangeEnd) {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" assert rangeStart !\u003d null;"},{"lineNumber":106,"author":{"gitId":"-"},"content":" assert rangeEnd !\u003d null;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":108,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cr \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cr.from(FeedbackSession.class);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":111,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":112,"author":{"gitId":"-"},"content":" cb.greaterThan(root.get(\"endTime\"), rangeStart),"},{"lineNumber":113,"author":{"gitId":"-"},"content":" cb.lessThan(root.get(\"startTime\"), rangeEnd)));"},{"lineNumber":114,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":118,"author":{"gitId":"-"},"content":" * Restores a specific soft deleted feedback session."},{"lineNumber":119,"author":{"gitId":"-"},"content":" */"},{"lineNumber":120,"author":{"gitId":"-"},"content":" public void restoreDeletedFeedbackSession(String feedbackSessionName, String courseId)"},{"lineNumber":121,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" FeedbackSession sessionEntity \u003d getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" if (sessionEntity \u003d\u003d null) {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" }"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" sessionEntity.setDeletedAt(null);"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" merge(sessionEntity);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":136,"author":{"gitId":"-"},"content":" * Creates a feedback session."},{"lineNumber":137,"author":{"gitId":"-"},"content":" */"},{"lineNumber":138,"author":{"gitId":"-"},"content":" public FeedbackSession createFeedbackSession(FeedbackSession session)"},{"lineNumber":139,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" assert session !\u003d null;"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" if (!session.isValid()) {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(session.getInvalidityInfo());"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" if (getFeedbackSession(session.getId()) !\u003d null) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" throw new EntityAlreadyExistsException(String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, session.toString()));"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" persist(session);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" return session;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":155,"author":{"gitId":"-"},"content":" * Saves an updated {@code FeedbackSession} to the db."},{"lineNumber":156,"author":{"gitId":"-"},"content":" *"},{"lineNumber":157,"author":{"gitId":"-"},"content":" * @return updated feedback session"},{"lineNumber":158,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":159,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback session cannot be found"},{"lineNumber":160,"author":{"gitId":"-"},"content":" */"},{"lineNumber":161,"author":{"gitId":"-"},"content":" public FeedbackSession updateFeedbackSession(FeedbackSession feedbackSession)"},{"lineNumber":162,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" if (!feedbackSession.isValid()) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(feedbackSession.getInvalidityInfo());"},{"lineNumber":167,"author":{"gitId":"-"},"content":" }"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" if (getFeedbackSession(feedbackSession.getId()) \u003d\u003d null) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" return merge(feedbackSession);"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":177,"author":{"gitId":"-"},"content":" * Deletes a feedback session."},{"lineNumber":178,"author":{"gitId":"-"},"content":" */"},{"lineNumber":179,"author":{"gitId":"-"},"content":" public void deleteFeedbackSession(FeedbackSession feedbackSession) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" if (feedbackSession !\u003d null) {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" delete(feedbackSession);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":186,"author":{"gitId":"-"},"content":" * Soft-deletes a specific feedback session by its name and course id."},{"lineNumber":187,"author":{"gitId":"-"},"content":" *"},{"lineNumber":188,"author":{"gitId":"-"},"content":" * @return Soft-deletion time of the feedback session."},{"lineNumber":189,"author":{"gitId":"-"},"content":" */"},{"lineNumber":190,"author":{"gitId":"-"},"content":" public Instant softDeleteFeedbackSession(String feedbackSessionName, String courseId)"},{"lineNumber":191,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":193,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSessionEntity \u003d getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" if (feedbackSessionEntity \u003d\u003d null) {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT);"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" feedbackSessionEntity.setDeletedAt(Instant.now());"},{"lineNumber":202,"author":{"gitId":"-"},"content":" merge(feedbackSessionEntity);"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":" return feedbackSessionEntity.getDeletedAt();"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":208,"author":{"gitId":"-"},"content":" * Gets feedback sessions for a given {@code courseId}."},{"lineNumber":209,"author":{"gitId":"-"},"content":" */"},{"lineNumber":210,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionEntitiesForCourse(String courseId) {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":214,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cq \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":215,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cq.from(FeedbackSession.class);"},{"lineNumber":216,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e courseJoin \u003d root.join(\"course\");"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" cq.select(root).where(cb.equal(courseJoin.get(\"id\"), courseId));"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":221,"author":{"gitId":"-"},"content":" }"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":224,"author":{"gitId":"-"},"content":" * Gets feedback sessions for a given {@code courseId} that start after {@code after}."},{"lineNumber":225,"author":{"gitId":"-"},"content":" */"},{"lineNumber":226,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionEntitiesForCourseStartingAfter(String courseId, Instant after) {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":228,"author":{"gitId":"-"},"content":" assert after !\u003d null;"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":231,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cr \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":232,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cr.from(FeedbackSession.class);"},{"lineNumber":233,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e courseJoin \u003d root.join(\"course\");"},{"lineNumber":234,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":235,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":236,"author":{"gitId":"-"},"content":" cb.greaterThanOrEqualTo(root.get(\"startTime\"), after),"},{"lineNumber":237,"author":{"gitId":"-"},"content":" cb.equal(courseJoin.get(\"id\"), courseId)));"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":243,"author":{"gitId":"-"},"content":" * Gets a list of undeleted feedback sessions which open in the future"},{"lineNumber":244,"author":{"gitId":"-"},"content":" * and possibly need a opening soon email to be sent."},{"lineNumber":245,"author":{"gitId":"-"},"content":" */"},{"lineNumber":246,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsPossiblyNeedingOpeningSoonEmail() {"},{"lineNumber":247,"author":{"gitId":"-"},"content":" return getFeedbackSessionEntitiesPossiblyNeedingOpeningSoonEmail().stream()"},{"lineNumber":248,"author":{"gitId":"-"},"content":" .filter(session -\u003e session.getDeletedAt() \u003d\u003d null)"},{"lineNumber":249,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":250,"author":{"gitId":"-"},"content":" }"},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":" private List\u003cFeedbackSession\u003e getFeedbackSessionEntitiesPossiblyNeedingOpeningSoonEmail() {"},{"lineNumber":253,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":254,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cr \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":255,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cr.from(FeedbackSession.class);"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":258,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":259,"author":{"gitId":"-"},"content":" cb.greaterThan(root.get(\"startTime\"), TimeHelper.getInstantDaysOffsetFromNow(-2)),"},{"lineNumber":260,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"isOpeningSoonEmailSent\"), false)));"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":263,"author":{"gitId":"-"},"content":" }"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":266,"author":{"gitId":"-"},"content":" * Gets a list of undeleted feedback sessions which end in the future (2 hour ago onward)"},{"lineNumber":267,"author":{"gitId":"-"},"content":" * and possibly need a closing soon email to be sent."},{"lineNumber":268,"author":{"gitId":"-"},"content":" */"},{"lineNumber":269,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsPossiblyNeedingClosingSoonEmail() {"},{"lineNumber":270,"author":{"gitId":"-"},"content":" return getFeedbackSessionEntitiesPossiblyNeedingClosingSoonEmail().stream()"},{"lineNumber":271,"author":{"gitId":"-"},"content":" .filter(session -\u003e session.getDeletedAt() \u003d\u003d null)"},{"lineNumber":272,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":273,"author":{"gitId":"-"},"content":" }"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":" private List\u003cFeedbackSession\u003e getFeedbackSessionEntitiesPossiblyNeedingClosingSoonEmail() {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":277,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cr \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":278,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cr.from(FeedbackSession.class);"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":281,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":282,"author":{"gitId":"-"},"content":" cb.greaterThan(root.get(\"endTime\"), TimeHelper.getInstantDaysOffsetFromNow(-2)),"},{"lineNumber":283,"author":{"gitId":"-"},"content":" cb.and("},{"lineNumber":284,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"isClosingSoonEmailSent\"), false),"},{"lineNumber":285,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"isClosingEmailEnabled\"), true))"},{"lineNumber":286,"author":{"gitId":"-"},"content":" ));"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":289,"author":{"gitId":"-"},"content":" }"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":292,"author":{"gitId":"-"},"content":" * Gets a list of undeleted feedback sessions which end in the future (2 hour ago onward)"},{"lineNumber":293,"author":{"gitId":"-"},"content":" * and possibly need a closed email to be sent."},{"lineNumber":294,"author":{"gitId":"-"},"content":" */"},{"lineNumber":295,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsPossiblyNeedingClosedEmail() {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":297,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cr \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":298,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cr.from(FeedbackSession.class);"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":301,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":302,"author":{"gitId":"-"},"content":" cb.greaterThan(root.get(\"endTime\"), TimeHelper.getInstantDaysOffsetFromNow(-2)),"},{"lineNumber":303,"author":{"gitId":"-"},"content":" cb.isFalse(root.get(\"isClosedEmailSent\")),"},{"lineNumber":304,"author":{"gitId":"-"},"content":" cb.isTrue(root.get(\"isClosingEmailEnabled\")),"},{"lineNumber":305,"author":{"gitId":"-"},"content":" cb.isNull(root.get(\"deletedAt\"))"},{"lineNumber":306,"author":{"gitId":"-"},"content":" ));"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":309,"author":{"gitId":"-"},"content":" }"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":312,"author":{"gitId":"-"},"content":" * Gets a list of undeleted published feedback sessions which possibly need a published email"},{"lineNumber":313,"author":{"gitId":"-"},"content":" * to be sent."},{"lineNumber":314,"author":{"gitId":"-"},"content":" */"},{"lineNumber":315,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsPossiblyNeedingPublishedEmail() {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" return getFeedbackSessionEntitiesPossiblyNeedingPublishedEmail().stream()"},{"lineNumber":317,"author":{"gitId":"-"},"content":" .filter(session -\u003e session.getDeletedAt() \u003d\u003d null)"},{"lineNumber":318,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":319,"author":{"gitId":"-"},"content":" }"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" private List\u003cFeedbackSession\u003e getFeedbackSessionEntitiesPossiblyNeedingPublishedEmail() {"},{"lineNumber":322,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":323,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cr \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":324,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cr.from(FeedbackSession.class);"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":327,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":328,"author":{"gitId":"-"},"content":" cb.greaterThan(root.get(\"resultsVisibleFromTime\"), TimeHelper.getInstantDaysOffsetFromNow(-2)),"},{"lineNumber":329,"author":{"gitId":"-"},"content":" cb.and("},{"lineNumber":330,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"isPublishedEmailSent\"), false),"},{"lineNumber":331,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"isPublishedEmailEnabled\"), true))"},{"lineNumber":332,"author":{"gitId":"-"},"content":" ));"},{"lineNumber":333,"author":{"gitId":"-"},"content":""},{"lineNumber":334,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":335,"author":{"gitId":"-"},"content":" }"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":338,"author":{"gitId":"-"},"content":" * Gets a list of undeleted feedback sessions which start within the last 2 days"},{"lineNumber":339,"author":{"gitId":"-"},"content":" * and possibly need an open email to be sent."},{"lineNumber":340,"author":{"gitId":"-"},"content":" */"},{"lineNumber":341,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsPossiblyNeedingOpenEmail() {"},{"lineNumber":342,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":343,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cr \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":344,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cr.from(FeedbackSession.class);"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":347,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":348,"author":{"gitId":"-"},"content":" cb.greaterThan(root.get(\"startTime\"), TimeHelper.getInstantDaysOffsetFromNow(-2)),"},{"lineNumber":349,"author":{"gitId":"-"},"content":" cb.isFalse(root.get(\"isOpenEmailSent\")),"},{"lineNumber":350,"author":{"gitId":"-"},"content":" cb.isNull(root.get(\"deletedAt\"))"},{"lineNumber":351,"author":{"gitId":"-"},"content":" ));"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":354,"author":{"gitId":"-"},"content":" }"},{"lineNumber":355,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":1,"-":354}},{"path":"src/main/java/teammates/storage/sqlapi/UsersDb.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.User;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.InstructorSearchManager;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.SearchManagerFactory;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.StudentSearchManager;"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaBuilder;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaQuery;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Join;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Predicate;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Root;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Handles CRUD operations for users."},{"lineNumber":34,"author":{"gitId":"-"},"content":" *"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * @see User"},{"lineNumber":36,"author":{"gitId":"-"},"content":" */"},{"lineNumber":37,"author":{"gitId":"-"},"content":"public final class UsersDb extends EntitiesDb {"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final UsersDb instance \u003d new UsersDb();"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" private UsersDb() {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" public static UsersDb inst() {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" }"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" public InstructorSearchManager getInstructorSearchManager() {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" return SearchManagerFactory.getInstructorSearchManager();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" public StudentSearchManager getStudentSearchManager() {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" return SearchManagerFactory.getStudentSearchManager();"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":58,"author":{"gitId":"-"},"content":" * Creates an instructor."},{"lineNumber":59,"author":{"gitId":"-"},"content":" */"},{"lineNumber":60,"author":{"gitId":"-"},"content":" public Instructor createInstructor(Instructor instructor)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" assert instructor !\u003d null;"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" if (!instructor.isValid()) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(instructor.getInvalidityInfo());"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" persist(instructor);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" return instructor;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Creates a student."},{"lineNumber":74,"author":{"gitId":"-"},"content":" */"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public Student createStudent(Student student)"},{"lineNumber":76,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" assert student !\u003d null;"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" if (!student.isValid()) {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(student.getInvalidityInfo());"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" persist(student);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" return student;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Gets an instructor by its {@code id}."},{"lineNumber":89,"author":{"gitId":"-"},"content":" */"},{"lineNumber":90,"author":{"gitId":"-"},"content":" public Instructor getInstructor(UUID id) {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" assert id !\u003d null;"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" return HibernateUtil.get(Instructor.class, id);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":97,"author":{"gitId":"-"},"content":" * Gets an instructor by {@code regKey}."},{"lineNumber":98,"author":{"gitId":"-"},"content":" */"},{"lineNumber":99,"author":{"gitId":"-"},"content":" public Instructor getInstructorByRegKey(String regKey) {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e cr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e instructorRoot \u003d cr.from(Instructor.class);"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" cr.select(instructorRoot).where(cb.equal(instructorRoot.get(\"regKey\"), regKey));"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":110,"author":{"gitId":"-"},"content":" * Gets an instructor by {@code googleId}."},{"lineNumber":111,"author":{"gitId":"-"},"content":" */"},{"lineNumber":112,"author":{"gitId":"-"},"content":" public Instructor getInstructorByGoogleId(String courseId, String googleId) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":114,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e cr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e instructorRoot \u003d cr.from(Instructor.class);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" Join\u003cInstructor, Account\u003e accountsJoin \u003d instructorRoot.join(\"account\");"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" cr.select(instructorRoot).where(cb.and("},{"lineNumber":119,"author":{"gitId":"-"},"content":" cb.equal(instructorRoot.get(\"courseId\"), courseId),"},{"lineNumber":120,"author":{"gitId":"-"},"content":" cb.equal(accountsJoin.get(\"googleId\"), googleId)));"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":126,"author":{"gitId":"-"},"content":" * Gets all instructors that will be displayed to students of a course."},{"lineNumber":127,"author":{"gitId":"-"},"content":" */"},{"lineNumber":128,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsDisplayedToStudents(String courseId) {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":130,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e cr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e instructorRoot \u003d cr.from(Instructor.class);"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" cr.select(instructorRoot).where(cb.and("},{"lineNumber":134,"author":{"gitId":"-"},"content":" cb.equal(instructorRoot.get(\"courseId\"), courseId),"},{"lineNumber":135,"author":{"gitId":"-"},"content":" cb.equal(instructorRoot.get(\"isDisplayedToStudents\"), true)));"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":141,"author":{"gitId":"-"},"content":" * Gets a student by its {@code id}."},{"lineNumber":142,"author":{"gitId":"-"},"content":" */"},{"lineNumber":143,"author":{"gitId":"-"},"content":" public Student getStudent(UUID id) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" assert id !\u003d null;"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" return HibernateUtil.get(Student.class, id);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":150,"author":{"gitId":"-"},"content":" * Gets a student by {@code regKey}."},{"lineNumber":151,"author":{"gitId":"-"},"content":" */"},{"lineNumber":152,"author":{"gitId":"-"},"content":" public Student getStudentByRegKey(String regKey) {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":154,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" cr.select(studentRoot).where(cb.equal(studentRoot.get(\"regKey\"), regKey));"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":163,"author":{"gitId":"-"},"content":" * Gets a student by {@code googleId}."},{"lineNumber":164,"author":{"gitId":"-"},"content":" */"},{"lineNumber":165,"author":{"gitId":"-"},"content":" public Student getStudentByGoogleId(String courseId, String googleId) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":167,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" Join\u003cStudent, Account\u003e accountsJoin \u003d studentRoot.join(\"account\");"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" cr.select(studentRoot).where(cb.and("},{"lineNumber":172,"author":{"gitId":"-"},"content":" cb.equal(studentRoot.get(\"courseId\"), courseId),"},{"lineNumber":173,"author":{"gitId":"-"},"content":" cb.equal(accountsJoin.get(\"googleId\"), googleId)));"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":179,"author":{"gitId":"-"},"content":" * Gets all students by {@code googleId}."},{"lineNumber":180,"author":{"gitId":"-"},"content":" */"},{"lineNumber":181,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsByGoogleId(String googleId) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":183,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":184,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" Join\u003cStudent, Account\u003e accountsJoin \u003d studentRoot.join(\"account\");"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" cr.select(studentRoot).where(cb.equal(accountsJoin.get(\"googleId\"), googleId));"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":193,"author":{"gitId":"-"},"content":" * Gets a list of students by {@code teamName} and {@code courseId}."},{"lineNumber":194,"author":{"gitId":"-"},"content":" */"},{"lineNumber":195,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsByTeamName(String teamName, String courseId) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":197,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" studentRoot.alias(\"student\");"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" Join\u003cStudent, Team\u003e teamsJoin \u003d studentRoot.join(\"team\");"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":" cr.select(studentRoot).where(cb.and("},{"lineNumber":205,"author":{"gitId":"-"},"content":" cb.equal(studentRoot.get(\"courseId\"), courseId),"},{"lineNumber":206,"author":{"gitId":"-"},"content":" cb.equal(teamsJoin.get(\"name\"), teamName)));"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":212,"author":{"gitId":"-"},"content":" * Gets all instructors and students by {@code googleId}."},{"lineNumber":213,"author":{"gitId":"-"},"content":" */"},{"lineNumber":214,"author":{"gitId":"-"},"content":" public List\u003cUser\u003e getAllUsersByGoogleId(String googleId) {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":216,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cUser\u003e usersCr \u003d cb.createQuery(User.class);"},{"lineNumber":217,"author":{"gitId":"-"},"content":" Root\u003cUser\u003e usersRoot \u003d usersCr.from(User.class);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" Join\u003cUser, Account\u003e accountsJoin \u003d usersRoot.join(\"account\");"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" usersCr.select(usersRoot).where(cb.equal(accountsJoin.get(\"googleId\"), googleId));"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(usersCr).getResultList();"},{"lineNumber":223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":226,"author":{"gitId":"-"},"content":" * Gets all instructors by {@code googleId}."},{"lineNumber":227,"author":{"gitId":"-"},"content":" */"},{"lineNumber":228,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getAllInstructorsByGoogleId(String googleId) {"},{"lineNumber":229,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":230,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e instructorsCr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":231,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e instructorsRoot \u003d instructorsCr.from(Instructor.class);"},{"lineNumber":232,"author":{"gitId":"-"},"content":" Join\u003cInstructor, Account\u003e accountsJoin \u003d instructorsRoot.join(\"account\");"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" instructorsCr.select(instructorsRoot).where(cb.equal(accountsJoin.get(\"googleId\"), googleId));"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(instructorsCr).getResultList();"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":240,"author":{"gitId":"-"},"content":" * Gets all students by {@code googleId}."},{"lineNumber":241,"author":{"gitId":"-"},"content":" */"},{"lineNumber":242,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getAllStudentsByGoogleId(String googleId) {"},{"lineNumber":243,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":244,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e studentsCr \u003d cb.createQuery(Student.class);"},{"lineNumber":245,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentsRoot \u003d studentsCr.from(Student.class);"},{"lineNumber":246,"author":{"gitId":"-"},"content":" Join\u003cStudent, Account\u003e accountsJoin \u003d studentsRoot.join(\"account\");"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" studentsCr.select(studentsRoot).where(cb.equal(accountsJoin.get(\"googleId\"), googleId));"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(studentsCr).getResultList();"},{"lineNumber":251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":254,"author":{"gitId":"-"},"content":" * Gets all instructors."},{"lineNumber":255,"author":{"gitId":"-"},"content":" */"},{"lineNumber":256,"author":{"gitId":"-"},"content":" public \u003cT extends User\u003e T updateUser(T user) {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" assert user !\u003d null;"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" return merge(user);"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":263,"author":{"gitId":"-"},"content":" * Searches all instructors in the system."},{"lineNumber":264,"author":{"gitId":"-"},"content":" *"},{"lineNumber":265,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis method should be used by admin only since the searching does not"},{"lineNumber":266,"author":{"gitId":"-"},"content":" * restrict the visibility according to the logged-in user\u0027s google ID. This"},{"lineNumber":267,"author":{"gitId":"-"},"content":" * is used by admin to search instructors in the whole system."},{"lineNumber":268,"author":{"gitId":"-"},"content":" */"},{"lineNumber":269,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e searchInstructorsInWholeSystem(String queryString)"},{"lineNumber":270,"author":{"gitId":"-"},"content":" throws SearchServiceException {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" if (queryString.trim().isEmpty()) {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":273,"author":{"gitId":"-"},"content":" }"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":" return getInstructorSearchManager().searchInstructors(queryString);"},{"lineNumber":276,"author":{"gitId":"-"},"content":" }"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":279,"author":{"gitId":"yuanxi1"},"content":" * Searches for students."},{"lineNumber":280,"author":{"gitId":"yuanxi1"},"content":" *"},{"lineNumber":281,"author":{"gitId":"yuanxi1"},"content":" * @param instructors the constraint that restricts the search result"},{"lineNumber":282,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":283,"author":{"gitId":"yuanxi1"},"content":" public List\u003cStudent\u003e searchStudents(String queryString, List\u003cInstructor\u003e instructors)"},{"lineNumber":284,"author":{"gitId":"yuanxi1"},"content":" throws SearchServiceException {"},{"lineNumber":285,"author":{"gitId":"yuanxi1"},"content":" if (queryString.trim().isEmpty()) {"},{"lineNumber":286,"author":{"gitId":"yuanxi1"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":287,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":288,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":289,"author":{"gitId":"yuanxi1"},"content":" return getStudentSearchManager().searchStudents(queryString, instructors);"},{"lineNumber":290,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":291,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":292,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":293,"author":{"gitId":"yuanxi1"},"content":" * Searches all students in the system."},{"lineNumber":294,"author":{"gitId":"yuanxi1"},"content":" *"},{"lineNumber":295,"author":{"gitId":"yuanxi1"},"content":" * \u003cp\u003eThis method should be used by admin only since the searching does not restrict the"},{"lineNumber":296,"author":{"gitId":"yuanxi1"},"content":" * visibility according to the logged-in user\u0027s google ID. This is used by admin to"},{"lineNumber":297,"author":{"gitId":"yuanxi1"},"content":" * search instructors in the whole system."},{"lineNumber":298,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":299,"author":{"gitId":"yuanxi1"},"content":" public List\u003cStudent\u003e searchStudentsInWholeSystem(String queryString)"},{"lineNumber":300,"author":{"gitId":"yuanxi1"},"content":" throws SearchServiceException {"},{"lineNumber":301,"author":{"gitId":"yuanxi1"},"content":" if (queryString.trim().isEmpty()) {"},{"lineNumber":302,"author":{"gitId":"yuanxi1"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":303,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":304,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":305,"author":{"gitId":"yuanxi1"},"content":" return getStudentSearchManager().searchStudents(queryString, null);"},{"lineNumber":306,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":307,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":309,"author":{"gitId":"-"},"content":" * Deletes a user."},{"lineNumber":310,"author":{"gitId":"-"},"content":" */"},{"lineNumber":311,"author":{"gitId":"-"},"content":" public \u003cT extends User\u003e void deleteUser(T user) {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" if (user !\u003d null) {"},{"lineNumber":313,"author":{"gitId":"-"},"content":" delete(user);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" }"},{"lineNumber":315,"author":{"gitId":"-"},"content":" }"},{"lineNumber":316,"author":{"gitId":"-"},"content":""},{"lineNumber":317,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":318,"author":{"gitId":"-"},"content":" * Gets the number of instructors created within a specified time range."},{"lineNumber":319,"author":{"gitId":"-"},"content":" */"},{"lineNumber":320,"author":{"gitId":"-"},"content":" public long getNumInstructorsByTimeRange(Instant startTime, Instant endTime) {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":322,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cLong\u003e cr \u003d cb.createQuery(Long.class);"},{"lineNumber":323,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e root \u003d cr.from(Instructor.class);"},{"lineNumber":324,"author":{"gitId":"-"},"content":""},{"lineNumber":325,"author":{"gitId":"-"},"content":" cr.select(cb.count(root.get(\"id\"))).where(cb.and("},{"lineNumber":326,"author":{"gitId":"-"},"content":" cb.greaterThanOrEqualTo(root.get(\"createdAt\"), startTime),"},{"lineNumber":327,"author":{"gitId":"-"},"content":" cb.lessThan(root.get(\"createdAt\"), endTime)));"},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getSingleResult();"},{"lineNumber":330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":333,"author":{"gitId":"-"},"content":" * Gets the number of students created within a specified time range."},{"lineNumber":334,"author":{"gitId":"-"},"content":" */"},{"lineNumber":335,"author":{"gitId":"-"},"content":" public long getNumStudentsByTimeRange(Instant startTime, Instant endTime) {"},{"lineNumber":336,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":337,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cLong\u003e cr \u003d cb.createQuery(Long.class);"},{"lineNumber":338,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e root \u003d cr.from(Student.class);"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" cr.select(cb.count(root.get(\"id\"))).where(cb.and("},{"lineNumber":341,"author":{"gitId":"-"},"content":" cb.greaterThanOrEqualTo(root.get(\"createdAt\"), startTime),"},{"lineNumber":342,"author":{"gitId":"-"},"content":" cb.lessThan(root.get(\"createdAt\"), endTime)));"},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getSingleResult();"},{"lineNumber":345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":348,"author":{"gitId":"-"},"content":" * Gets the list of instructors for the specified {@code courseId}."},{"lineNumber":349,"author":{"gitId":"-"},"content":" */"},{"lineNumber":350,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsForCourse(String courseId) {"},{"lineNumber":351,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":354,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e cr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":355,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e root \u003d cr.from(Instructor.class);"},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"-"},"content":" cr.select(root).where(cb.equal(root.get(\"courseId\"), courseId));"},{"lineNumber":358,"author":{"gitId":"-"},"content":""},{"lineNumber":359,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":360,"author":{"gitId":"-"},"content":" }"},{"lineNumber":361,"author":{"gitId":"-"},"content":""},{"lineNumber":362,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":363,"author":{"gitId":"-"},"content":" * Gets the list of students for the specified {@code courseId}."},{"lineNumber":364,"author":{"gitId":"-"},"content":" */"},{"lineNumber":365,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForCourse(String courseId) {"},{"lineNumber":366,"author":{"gitId":"-"},"content":" assert courseId !\u003d null \u0026\u0026 !courseId.isEmpty();"},{"lineNumber":367,"author":{"gitId":"-"},"content":""},{"lineNumber":368,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":369,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":370,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e root \u003d cr.from(Student.class);"},{"lineNumber":371,"author":{"gitId":"-"},"content":""},{"lineNumber":372,"author":{"gitId":"-"},"content":" cr.select(root).where(cb.equal(root.get(\"courseId\"), courseId));"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":375,"author":{"gitId":"-"},"content":" }"},{"lineNumber":376,"author":{"gitId":"-"},"content":""},{"lineNumber":377,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":378,"author":{"gitId":"-"},"content":" * Gets the list of students for the specified {@code courseId} in batches with {@code batchSize}."},{"lineNumber":379,"author":{"gitId":"-"},"content":" */"},{"lineNumber":380,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForCourse(String courseId, int batchSize) {"},{"lineNumber":381,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":382,"author":{"gitId":"-"},"content":""},{"lineNumber":383,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":384,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":385,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e root \u003d cr.from(Student.class);"},{"lineNumber":386,"author":{"gitId":"-"},"content":""},{"lineNumber":387,"author":{"gitId":"-"},"content":" cr.select(root).where(cb.equal(root.get(\"courseId\"), courseId));"},{"lineNumber":388,"author":{"gitId":"-"},"content":""},{"lineNumber":389,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).setMaxResults(batchSize).getResultList();"},{"lineNumber":390,"author":{"gitId":"-"},"content":" }"},{"lineNumber":391,"author":{"gitId":"-"},"content":""},{"lineNumber":392,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":393,"author":{"gitId":"-"},"content":" * Gets the instructor with the specified {@code userEmail}."},{"lineNumber":394,"author":{"gitId":"-"},"content":" */"},{"lineNumber":395,"author":{"gitId":"-"},"content":" public Instructor getInstructorForEmail(String courseId, String userEmail) {"},{"lineNumber":396,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":397,"author":{"gitId":"-"},"content":" assert userEmail !\u003d null;"},{"lineNumber":398,"author":{"gitId":"-"},"content":""},{"lineNumber":399,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":400,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e cr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":401,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e instructorRoot \u003d cr.from(Instructor.class);"},{"lineNumber":402,"author":{"gitId":"-"},"content":""},{"lineNumber":403,"author":{"gitId":"-"},"content":" cr.select(instructorRoot)"},{"lineNumber":404,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":405,"author":{"gitId":"-"},"content":" cb.equal(instructorRoot.get(\"courseId\"), courseId),"},{"lineNumber":406,"author":{"gitId":"-"},"content":" cb.equal(instructorRoot.get(\"email\"), userEmail)));"},{"lineNumber":407,"author":{"gitId":"-"},"content":""},{"lineNumber":408,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":409,"author":{"gitId":"-"},"content":" }"},{"lineNumber":410,"author":{"gitId":"-"},"content":""},{"lineNumber":411,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":412,"author":{"gitId":"-"},"content":" * Gets instructors with the specified {@code userEmail}."},{"lineNumber":413,"author":{"gitId":"-"},"content":" */"},{"lineNumber":414,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsForEmails(String courseId, List\u003cString\u003e userEmails) {"},{"lineNumber":415,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":416,"author":{"gitId":"-"},"content":" assert userEmails !\u003d null;"},{"lineNumber":417,"author":{"gitId":"-"},"content":""},{"lineNumber":418,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":419,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e cr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":420,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e instructorRoot \u003d cr.from(Instructor.class);"},{"lineNumber":421,"author":{"gitId":"-"},"content":""},{"lineNumber":422,"author":{"gitId":"-"},"content":" List\u003cPredicate\u003e predicates \u003d new ArrayList\u003c\u003e();"},{"lineNumber":423,"author":{"gitId":"-"},"content":" for (String userEmail : userEmails) {"},{"lineNumber":424,"author":{"gitId":"-"},"content":" predicates.add(cb.equal(instructorRoot.get(\"email\"), userEmail));"},{"lineNumber":425,"author":{"gitId":"-"},"content":" }"},{"lineNumber":426,"author":{"gitId":"-"},"content":""},{"lineNumber":427,"author":{"gitId":"-"},"content":" cr.select(instructorRoot)"},{"lineNumber":428,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":429,"author":{"gitId":"-"},"content":" cb.equal(instructorRoot.get(\"courseId\"), courseId),"},{"lineNumber":430,"author":{"gitId":"-"},"content":" cb.or(predicates.toArray(new Predicate[0]))));"},{"lineNumber":431,"author":{"gitId":"-"},"content":""},{"lineNumber":432,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":433,"author":{"gitId":"-"},"content":" }"},{"lineNumber":434,"author":{"gitId":"-"},"content":""},{"lineNumber":435,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":436,"author":{"gitId":"-"},"content":" * Gets the student with the specified {@code userEmail}."},{"lineNumber":437,"author":{"gitId":"-"},"content":" */"},{"lineNumber":438,"author":{"gitId":"-"},"content":" public Student getStudentForEmail(String courseId, String userEmail) {"},{"lineNumber":439,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":440,"author":{"gitId":"-"},"content":" assert userEmail !\u003d null;"},{"lineNumber":441,"author":{"gitId":"-"},"content":""},{"lineNumber":442,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":443,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":444,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":445,"author":{"gitId":"-"},"content":""},{"lineNumber":446,"author":{"gitId":"-"},"content":" cr.select(studentRoot)"},{"lineNumber":447,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":448,"author":{"gitId":"-"},"content":" cb.equal(studentRoot.get(\"courseId\"), courseId),"},{"lineNumber":449,"author":{"gitId":"-"},"content":" cb.equal(studentRoot.get(\"email\"), userEmail)));"},{"lineNumber":450,"author":{"gitId":"-"},"content":""},{"lineNumber":451,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":452,"author":{"gitId":"-"},"content":" }"},{"lineNumber":453,"author":{"gitId":"-"},"content":""},{"lineNumber":454,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":455,"author":{"gitId":"-"},"content":" * Gets students with the specified {@code userEmail}."},{"lineNumber":456,"author":{"gitId":"-"},"content":" */"},{"lineNumber":457,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForEmails(String courseId, List\u003cString\u003e userEmails) {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":459,"author":{"gitId":"-"},"content":" assert userEmails !\u003d null;"},{"lineNumber":460,"author":{"gitId":"-"},"content":""},{"lineNumber":461,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":462,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":463,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":464,"author":{"gitId":"-"},"content":""},{"lineNumber":465,"author":{"gitId":"-"},"content":" List\u003cPredicate\u003e predicates \u003d new ArrayList\u003c\u003e();"},{"lineNumber":466,"author":{"gitId":"-"},"content":" for (String userEmail : userEmails) {"},{"lineNumber":467,"author":{"gitId":"-"},"content":" predicates.add(cb.equal(studentRoot.get(\"email\"), userEmail));"},{"lineNumber":468,"author":{"gitId":"-"},"content":" }"},{"lineNumber":469,"author":{"gitId":"-"},"content":""},{"lineNumber":470,"author":{"gitId":"-"},"content":" cr.select(studentRoot)"},{"lineNumber":471,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":472,"author":{"gitId":"-"},"content":" cb.equal(studentRoot.get(\"courseId\"), courseId),"},{"lineNumber":473,"author":{"gitId":"-"},"content":" cb.or(predicates.toArray(new Predicate[0]))));"},{"lineNumber":474,"author":{"gitId":"-"},"content":""},{"lineNumber":475,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":476,"author":{"gitId":"-"},"content":" }"},{"lineNumber":477,"author":{"gitId":"-"},"content":""},{"lineNumber":478,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":479,"author":{"gitId":"-"},"content":" * Gets list of students by email."},{"lineNumber":480,"author":{"gitId":"-"},"content":" */"},{"lineNumber":481,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getAllStudentsForEmail(String email) {"},{"lineNumber":482,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":483,"author":{"gitId":"-"},"content":""},{"lineNumber":484,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":485,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":486,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":487,"author":{"gitId":"-"},"content":""},{"lineNumber":488,"author":{"gitId":"-"},"content":" cr.select(studentRoot)"},{"lineNumber":489,"author":{"gitId":"-"},"content":" .where(cb.equal(studentRoot.get(\"email\"), email));"},{"lineNumber":490,"author":{"gitId":"-"},"content":""},{"lineNumber":491,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":492,"author":{"gitId":"-"},"content":" }"},{"lineNumber":493,"author":{"gitId":"-"},"content":""},{"lineNumber":494,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":495,"author":{"gitId":"-"},"content":" * Gets all instructors associated with a googleId."},{"lineNumber":496,"author":{"gitId":"-"},"content":" */"},{"lineNumber":497,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsForGoogleId(String googleId) {"},{"lineNumber":498,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":499,"author":{"gitId":"-"},"content":""},{"lineNumber":500,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":501,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e cr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":502,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e instructorRoot \u003d cr.from(Instructor.class);"},{"lineNumber":503,"author":{"gitId":"-"},"content":" Join\u003cInstructor, Account\u003e accountsJoin \u003d instructorRoot.join(\"account\");"},{"lineNumber":504,"author":{"gitId":"-"},"content":""},{"lineNumber":505,"author":{"gitId":"-"},"content":" cr.select(instructorRoot).where(cb.equal(accountsJoin.get(\"googleId\"), googleId));"},{"lineNumber":506,"author":{"gitId":"-"},"content":""},{"lineNumber":507,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":508,"author":{"gitId":"-"},"content":" }"},{"lineNumber":509,"author":{"gitId":"-"},"content":""},{"lineNumber":510,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":511,"author":{"gitId":"-"},"content":" * Gets all students of a section of a course."},{"lineNumber":512,"author":{"gitId":"-"},"content":" */"},{"lineNumber":513,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForSection(String sectionName, String courseId) {"},{"lineNumber":514,"author":{"gitId":"-"},"content":" assert sectionName !\u003d null;"},{"lineNumber":515,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":516,"author":{"gitId":"-"},"content":""},{"lineNumber":517,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":518,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":519,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":520,"author":{"gitId":"-"},"content":" Join\u003cStudent, Course\u003e courseJoin \u003d studentRoot.join(\"course\");"},{"lineNumber":521,"author":{"gitId":"-"},"content":" Join\u003cStudent, Team\u003e teamsJoin \u003d studentRoot.join(\"team\");"},{"lineNumber":522,"author":{"gitId":"-"},"content":" Join\u003cTeam, Section\u003e sectionJoin \u003d teamsJoin.join(\"section\");"},{"lineNumber":523,"author":{"gitId":"-"},"content":""},{"lineNumber":524,"author":{"gitId":"-"},"content":" cr.select(studentRoot)"},{"lineNumber":525,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":526,"author":{"gitId":"-"},"content":" cb.equal(courseJoin.get(\"id\"), courseId),"},{"lineNumber":527,"author":{"gitId":"-"},"content":" cb.equal(sectionJoin.get(\"name\"), sectionName)));"},{"lineNumber":528,"author":{"gitId":"-"},"content":""},{"lineNumber":529,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":530,"author":{"gitId":"-"},"content":" }"},{"lineNumber":531,"author":{"gitId":"-"},"content":""},{"lineNumber":532,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":533,"author":{"gitId":"-"},"content":" * Gets all students of a team of a course."},{"lineNumber":534,"author":{"gitId":"-"},"content":" */"},{"lineNumber":535,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForTeam(String teamName, String courseId) {"},{"lineNumber":536,"author":{"gitId":"-"},"content":" assert teamName !\u003d null;"},{"lineNumber":537,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":538,"author":{"gitId":"-"},"content":""},{"lineNumber":539,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":540,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":541,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":542,"author":{"gitId":"-"},"content":" Join\u003cStudent, Course\u003e courseJoin \u003d studentRoot.join(\"course\");"},{"lineNumber":543,"author":{"gitId":"-"},"content":" Join\u003cStudent, Team\u003e teamsJoin \u003d studentRoot.join(\"team\");"},{"lineNumber":544,"author":{"gitId":"-"},"content":""},{"lineNumber":545,"author":{"gitId":"-"},"content":" cr.select(studentRoot)"},{"lineNumber":546,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":547,"author":{"gitId":"-"},"content":" cb.equal(courseJoin.get(\"id\"), courseId),"},{"lineNumber":548,"author":{"gitId":"-"},"content":" cb.equal(teamsJoin.get(\"name\"), teamName)));"},{"lineNumber":549,"author":{"gitId":"-"},"content":""},{"lineNumber":550,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":551,"author":{"gitId":"-"},"content":" }"},{"lineNumber":552,"author":{"gitId":"-"},"content":""},{"lineNumber":553,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":554,"author":{"gitId":"-"},"content":" * Gets count of students of a team of a course."},{"lineNumber":555,"author":{"gitId":"-"},"content":" */"},{"lineNumber":556,"author":{"gitId":"-"},"content":" public long getStudentCountForTeam(String teamName, String courseId) {"},{"lineNumber":557,"author":{"gitId":"-"},"content":" assert teamName !\u003d null;"},{"lineNumber":558,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":559,"author":{"gitId":"-"},"content":""},{"lineNumber":560,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":561,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cLong\u003e cr \u003d cb.createQuery(Long.class);"},{"lineNumber":562,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":563,"author":{"gitId":"-"},"content":" Join\u003cStudent, Course\u003e courseJoin \u003d studentRoot.join(\"course\");"},{"lineNumber":564,"author":{"gitId":"-"},"content":" Join\u003cStudent, Team\u003e teamsJoin \u003d studentRoot.join(\"team\");"},{"lineNumber":565,"author":{"gitId":"-"},"content":""},{"lineNumber":566,"author":{"gitId":"-"},"content":" cr.select(cb.count(studentRoot.get(\"id\")))"},{"lineNumber":567,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":568,"author":{"gitId":"-"},"content":" cb.equal(courseJoin.get(\"id\"), courseId),"},{"lineNumber":569,"author":{"gitId":"-"},"content":" cb.equal(teamsJoin.get(\"name\"), teamName)));"},{"lineNumber":570,"author":{"gitId":"-"},"content":""},{"lineNumber":571,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getSingleResult();"},{"lineNumber":572,"author":{"gitId":"-"},"content":" }"},{"lineNumber":573,"author":{"gitId":"-"},"content":""},{"lineNumber":574,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":575,"author":{"gitId":"domoberzin"},"content":" * Gets the section with the specified {@code sectionName} and {@code courseId}."},{"lineNumber":576,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":577,"author":{"gitId":"domoberzin"},"content":" public Section getSection(String courseId, String sectionName) {"},{"lineNumber":578,"author":{"gitId":"domoberzin"},"content":" assert sectionName !\u003d null;"},{"lineNumber":579,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":580,"author":{"gitId":"domoberzin"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":581,"author":{"gitId":"domoberzin"},"content":" CriteriaQuery\u003cSection\u003e cr \u003d cb.createQuery(Section.class);"},{"lineNumber":582,"author":{"gitId":"domoberzin"},"content":" Root\u003cSection\u003e sectionRoot \u003d cr.from(Section.class);"},{"lineNumber":583,"author":{"gitId":"domoberzin"},"content":" Join\u003cSection, Course\u003e courseJoin \u003d sectionRoot.join(\"course\");"},{"lineNumber":584,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":585,"author":{"gitId":"domoberzin"},"content":" cr.select(sectionRoot)"},{"lineNumber":586,"author":{"gitId":"domoberzin"},"content":" .where(cb.and("},{"lineNumber":587,"author":{"gitId":"domoberzin"},"content":" cb.equal(courseJoin.get(\"id\"), courseId),"},{"lineNumber":588,"author":{"gitId":"domoberzin"},"content":" cb.equal(sectionRoot.get(\"name\"), sectionName)));"},{"lineNumber":589,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":590,"author":{"gitId":"domoberzin"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":591,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":592,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":593,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":594,"author":{"gitId":"domoberzin"},"content":" * Gets a section by its {@code courseId} and {@code sectionName}."},{"lineNumber":595,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":596,"author":{"gitId":"domoberzin"},"content":" public Section getSectionOrCreate(String courseId, String sectionName) {"},{"lineNumber":597,"author":{"gitId":"domoberzin"},"content":" assert courseId !\u003d null;"},{"lineNumber":598,"author":{"gitId":"domoberzin"},"content":" assert sectionName !\u003d null;"},{"lineNumber":599,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":600,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getSection(courseId, sectionName);"},{"lineNumber":601,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":602,"author":{"gitId":"domoberzin"},"content":" if (section \u003d\u003d null) {"},{"lineNumber":603,"author":{"gitId":"domoberzin"},"content":" Course course \u003d CoursesDb.inst().getCourse(courseId);"},{"lineNumber":604,"author":{"gitId":"domoberzin"},"content":" section \u003d new Section(course, sectionName);"},{"lineNumber":605,"author":{"gitId":"domoberzin"},"content":" persist(section);"},{"lineNumber":606,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":607,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":608,"author":{"gitId":"domoberzin"},"content":" return section;"},{"lineNumber":609,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":610,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":611,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":612,"author":{"gitId":"domoberzin"},"content":" * Gets a team by its {@code section} and {@code teamName}."},{"lineNumber":613,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":614,"author":{"gitId":"domoberzin"},"content":" public Team getTeam(Section section, String teamName) {"},{"lineNumber":615,"author":{"gitId":"domoberzin"},"content":" assert teamName !\u003d null;"},{"lineNumber":616,"author":{"gitId":"domoberzin"},"content":" assert section !\u003d null;"},{"lineNumber":617,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":618,"author":{"gitId":"domoberzin"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":619,"author":{"gitId":"domoberzin"},"content":" CriteriaQuery\u003cTeam\u003e cr \u003d cb.createQuery(Team.class);"},{"lineNumber":620,"author":{"gitId":"domoberzin"},"content":" Root\u003cTeam\u003e teamRoot \u003d cr.from(Team.class);"},{"lineNumber":621,"author":{"gitId":"domoberzin"},"content":" Join\u003cTeam, Section\u003e sectionJoin \u003d teamRoot.join(\"section\");"},{"lineNumber":622,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":623,"author":{"gitId":"domoberzin"},"content":" cr.select(teamRoot)"},{"lineNumber":624,"author":{"gitId":"domoberzin"},"content":" .where(cb.and("},{"lineNumber":625,"author":{"gitId":"domoberzin"},"content":" cb.equal(sectionJoin.get(\"id\"), section.getId()),"},{"lineNumber":626,"author":{"gitId":"domoberzin"},"content":" cb.equal(teamRoot.get(\"name\"), teamName)));"},{"lineNumber":627,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":628,"author":{"gitId":"domoberzin"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":629,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":630,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":631,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":632,"author":{"gitId":"domoberzin"},"content":" * Gets a team by its {@code section} and {@code teamName}."},{"lineNumber":633,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":634,"author":{"gitId":"domoberzin"},"content":" public Team getTeamOrCreate(Section section, String teamName) {"},{"lineNumber":635,"author":{"gitId":"domoberzin"},"content":" assert teamName !\u003d null;"},{"lineNumber":636,"author":{"gitId":"domoberzin"},"content":" assert section !\u003d null;"},{"lineNumber":637,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":638,"author":{"gitId":"domoberzin"},"content":" Team team \u003d getTeam(section, teamName);"},{"lineNumber":639,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":640,"author":{"gitId":"domoberzin"},"content":" if (team \u003d\u003d null) {"},{"lineNumber":641,"author":{"gitId":"domoberzin"},"content":" team \u003d new Team(section, teamName);"},{"lineNumber":642,"author":{"gitId":"domoberzin"},"content":" persist(team);"},{"lineNumber":643,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":644,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":645,"author":{"gitId":"domoberzin"},"content":" return team;"},{"lineNumber":646,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":647,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":648,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":649,"author":{"gitId":"domoberzin"},"content":" * Updates a student."},{"lineNumber":650,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":651,"author":{"gitId":"domoberzin"},"content":" public Student updateStudent(Student student)"},{"lineNumber":652,"author":{"gitId":"domoberzin"},"content":" throws EntityDoesNotExistException, InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":653,"author":{"gitId":"marquestye"},"content":" checkBeforeUpdateStudent(student);"},{"lineNumber":654,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":655,"author":{"gitId":"marquestye"},"content":" return merge(student);"},{"lineNumber":656,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":657,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":658,"author":{"gitId":"marquestye"},"content":" /**"},{"lineNumber":659,"author":{"gitId":"marquestye"},"content":" * Performs checks on student without updating."},{"lineNumber":660,"author":{"gitId":"marquestye"},"content":" */"},{"lineNumber":661,"author":{"gitId":"marquestye"},"content":" public void checkBeforeUpdateStudent(Student student)"},{"lineNumber":662,"author":{"gitId":"marquestye"},"content":" throws EntityDoesNotExistException, InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":663,"author":{"gitId":"domoberzin"},"content":" assert student !\u003d null;"},{"lineNumber":664,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":665,"author":{"gitId":"domoberzin"},"content":" if (!student.isValid()) {"},{"lineNumber":666,"author":{"gitId":"domoberzin"},"content":" throw new InvalidParametersException(student.getInvalidityInfo());"},{"lineNumber":667,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":668,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":669,"author":{"gitId":"domoberzin"},"content":" if (getStudent(student.getId()) \u003d\u003d null) {"},{"lineNumber":670,"author":{"gitId":"domoberzin"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT);"},{"lineNumber":671,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":672,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":673,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":674,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":93,"yuanxi1":30,"marquestye":10,"-":541}},{"path":"src/main/java/teammates/storage/sqlentity/FeedbackQuestion.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlentity;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Objects;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.hibernate.annotations.UpdateTimestamp;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackConstantSumQuestion;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackContributionQuestion;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackMcqQuestion;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackMsqQuestion;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackNumericalScaleQuestion;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackRankOptionsQuestion;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackRankRecipientsQuestion;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackRubricQuestion;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackTextQuestion;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"import jakarta.persistence.CascadeType;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import jakarta.persistence.Column;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import jakarta.persistence.Convert;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import jakarta.persistence.Entity;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import jakarta.persistence.EnumType;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import jakarta.persistence.Enumerated;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import jakarta.persistence.Id;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import jakarta.persistence.Inheritance;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import jakarta.persistence.InheritanceType;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import jakarta.persistence.JoinColumn;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import jakarta.persistence.ManyToOne;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import jakarta.persistence.OneToMany;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import jakarta.persistence.Table;"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":39,"author":{"gitId":"-"},"content":" * Represents a feedback question."},{"lineNumber":40,"author":{"gitId":"-"},"content":" */"},{"lineNumber":41,"author":{"gitId":"-"},"content":"@Entity"},{"lineNumber":42,"author":{"gitId":"-"},"content":"@Table(name \u003d \"FeedbackQuestions\")"},{"lineNumber":43,"author":{"gitId":"-"},"content":"@Inheritance(strategy \u003d InheritanceType.SINGLE_TABLE)"},{"lineNumber":44,"author":{"gitId":"-"},"content":"public abstract class FeedbackQuestion extends BaseEntity implements Comparable\u003cFeedbackQuestion\u003e {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" @Id"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private UUID id;"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" @ManyToOne"},{"lineNumber":49,"author":{"gitId":"-"},"content":" @JoinColumn(name \u003d \"sessionId\")"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private FeedbackSession feedbackSession;"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" @OneToMany(mappedBy \u003d \"feedbackQuestion\", cascade \u003d CascadeType.REMOVE)"},{"lineNumber":53,"author":{"gitId":"-"},"content":" private List\u003cFeedbackResponse\u003e feedbackResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" private Integer questionNumber;"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" @Column(nullable \u003d true)"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private String description;"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":62,"author":{"gitId":"-"},"content":" @Enumerated(EnumType.STRING)"},{"lineNumber":63,"author":{"gitId":"-"},"content":" private FeedbackParticipantType giverType;"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":66,"author":{"gitId":"-"},"content":" @Enumerated(EnumType.STRING)"},{"lineNumber":67,"author":{"gitId":"-"},"content":" private FeedbackParticipantType recipientType;"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" private Integer numOfEntitiesToGiveFeedbackTo;"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":73,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackParticipantTypeListConverter.class)"},{"lineNumber":74,"author":{"gitId":"-"},"content":" private List\u003cFeedbackParticipantType\u003e showResponsesTo;"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":77,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackParticipantTypeListConverter.class)"},{"lineNumber":78,"author":{"gitId":"-"},"content":" private List\u003cFeedbackParticipantType\u003e showGiverNameTo;"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackParticipantTypeListConverter.class)"},{"lineNumber":82,"author":{"gitId":"-"},"content":" private List\u003cFeedbackParticipantType\u003e showRecipientNameTo;"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" @UpdateTimestamp"},{"lineNumber":85,"author":{"gitId":"-"},"content":" @Column"},{"lineNumber":86,"author":{"gitId":"-"},"content":" private Instant updatedAt;"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" protected FeedbackQuestion() {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" // required by Hibernate"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" public FeedbackQuestion("},{"lineNumber":93,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession, Integer questionNumber,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" String description, FeedbackParticipantType giverType, FeedbackParticipantType recipientType,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" Integer numOfEntitiesToGiveFeedbackTo, List\u003cFeedbackParticipantType\u003e showResponsesTo,"},{"lineNumber":96,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showGiverNameTo, List\u003cFeedbackParticipantType\u003e showRecipientNameTo"},{"lineNumber":97,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" this.setId(UUID.randomUUID());"},{"lineNumber":99,"author":{"gitId":"-"},"content":" this.setFeedbackSession(feedbackSession);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" this.setQuestionNumber(questionNumber);"},{"lineNumber":101,"author":{"gitId":"-"},"content":" this.setDescription(description);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" this.setGiverType(giverType);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" this.setRecipientType(recipientType);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" this.setNumOfEntitiesToGiveFeedbackTo(numOfEntitiesToGiveFeedbackTo);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" this.setShowResponsesTo(showResponsesTo);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" this.setShowGiverNameTo(showGiverNameTo);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" this.setShowRecipientNameTo(showRecipientNameTo);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":111,"author":{"gitId":"-"},"content":" * Gets a copy of the question details of the feedback question."},{"lineNumber":112,"author":{"gitId":"-"},"content":" */"},{"lineNumber":113,"author":{"gitId":"-"},"content":" public abstract FeedbackQuestionDetails getQuestionDetailsCopy();"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * Make a copy of the FeedbackQuestion."},{"lineNumber":117,"author":{"gitId":"-"},"content":" */"},{"lineNumber":118,"author":{"gitId":"-"},"content":" public abstract FeedbackQuestion makeDeepCopy(FeedbackSession newFeedbackSession);"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":121,"author":{"gitId":"-"},"content":" * Creates a feedback question according to its {@code FeedbackQuestionType}."},{"lineNumber":122,"author":{"gitId":"-"},"content":" */"},{"lineNumber":123,"author":{"gitId":"-"},"content":" public static FeedbackQuestion makeQuestion("},{"lineNumber":124,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession, Integer questionNumber,"},{"lineNumber":125,"author":{"gitId":"-"},"content":" String description, FeedbackParticipantType giverType, FeedbackParticipantType recipientType,"},{"lineNumber":126,"author":{"gitId":"-"},"content":" Integer numOfEntitiesToGiveFeedbackTo, List\u003cFeedbackParticipantType\u003e showResponsesTo,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showGiverNameTo, List\u003cFeedbackParticipantType\u003e showRecipientNameTo,"},{"lineNumber":128,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails feedbackQuestionDetails"},{"lineNumber":129,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" FeedbackQuestion feedbackQuestion \u003d null;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" switch (feedbackQuestionDetails.getQuestionType()) {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" case TEXT:"},{"lineNumber":133,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackTextQuestion("},{"lineNumber":134,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":135,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":136,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":137,"author":{"gitId":"-"},"content":" );"},{"lineNumber":138,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":139,"author":{"gitId":"-"},"content":" case MCQ:"},{"lineNumber":140,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackMcqQuestion("},{"lineNumber":141,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":142,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":143,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":144,"author":{"gitId":"-"},"content":" );"},{"lineNumber":145,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":146,"author":{"gitId":"-"},"content":" case MSQ:"},{"lineNumber":147,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackMsqQuestion("},{"lineNumber":148,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":149,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":150,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":151,"author":{"gitId":"-"},"content":" );"},{"lineNumber":152,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":153,"author":{"gitId":"-"},"content":" case NUMSCALE:"},{"lineNumber":154,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackNumericalScaleQuestion("},{"lineNumber":155,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":156,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":157,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":158,"author":{"gitId":"-"},"content":" );"},{"lineNumber":159,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" case CONSTSUM:"},{"lineNumber":161,"author":{"gitId":"-"},"content":" case CONSTSUM_OPTIONS:"},{"lineNumber":162,"author":{"gitId":"-"},"content":" case CONSTSUM_RECIPIENTS:"},{"lineNumber":163,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackConstantSumQuestion("},{"lineNumber":164,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":165,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":166,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":167,"author":{"gitId":"-"},"content":" );"},{"lineNumber":168,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":169,"author":{"gitId":"-"},"content":" case CONTRIB:"},{"lineNumber":170,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackContributionQuestion("},{"lineNumber":171,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":172,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":173,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":174,"author":{"gitId":"-"},"content":" );"},{"lineNumber":175,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" case RUBRIC:"},{"lineNumber":177,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackRubricQuestion("},{"lineNumber":178,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":179,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":180,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":181,"author":{"gitId":"-"},"content":" );"},{"lineNumber":182,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":183,"author":{"gitId":"-"},"content":" case RANK_OPTIONS:"},{"lineNumber":184,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackRankOptionsQuestion("},{"lineNumber":185,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":186,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":187,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":188,"author":{"gitId":"-"},"content":" );"},{"lineNumber":189,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":190,"author":{"gitId":"-"},"content":" case RANK_RECIPIENTS:"},{"lineNumber":191,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackRankRecipientsQuestion("},{"lineNumber":192,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":193,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":194,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":195,"author":{"gitId":"-"},"content":" );"},{"lineNumber":196,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":" return feedbackQuestion;"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":202,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getInvalidityInfo() {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" List\u003cString\u003e errors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" errors.addAll(FieldValidator.getValidityInfoForFeedbackParticipantType(giverType, recipientType));"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" errors.addAll(FieldValidator.getValidityInfoForFeedbackResponseVisibility(showResponsesTo,"},{"lineNumber":208,"author":{"gitId":"-"},"content":" showGiverNameTo,"},{"lineNumber":209,"author":{"gitId":"-"},"content":" showRecipientNameTo));"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" return errors;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":215,"author":{"gitId":"-"},"content":" * Checks if updating this question to the question will"},{"lineNumber":216,"author":{"gitId":"-"},"content":" * require the responses to be deleted for consistency."},{"lineNumber":217,"author":{"gitId":"-"},"content":" * Does not check if any responses exist."},{"lineNumber":218,"author":{"gitId":"-"},"content":" */"},{"lineNumber":219,"author":{"gitId":"-"},"content":" public boolean areResponseDeletionsRequiredForChanges(FeedbackParticipantType giverType,"},{"lineNumber":220,"author":{"gitId":"-"},"content":" FeedbackParticipantType recipientType,"},{"lineNumber":221,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails questionDetails) {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" if (!giverType.equals(this.giverType)"},{"lineNumber":223,"author":{"gitId":"-"},"content":" || !recipientType.equals(this.recipientType)) {"},{"lineNumber":224,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" return this.getQuestionDetailsCopy().shouldChangesRequireResponseDeletion(questionDetails);"},{"lineNumber":228,"author":{"gitId":"-"},"content":" }"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":" public UUID getId() {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" return id;"},{"lineNumber":232,"author":{"gitId":"-"},"content":" }"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" public void setId(UUID id) {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" this.id \u003d id;"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSession() {"},{"lineNumber":239,"author":{"gitId":"-"},"content":" return feedbackSession;"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"xenosf"},"content":" public String getFeedbackSessionName() {"},{"lineNumber":243,"author":{"gitId":"xenosf"},"content":" return feedbackSession.getName();"},{"lineNumber":244,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":245,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" public void setFeedbackSession(FeedbackSession feedbackSession) {"},{"lineNumber":247,"author":{"gitId":"-"},"content":" this.feedbackSession \u003d feedbackSession;"},{"lineNumber":248,"author":{"gitId":"-"},"content":" }"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponses() {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" return feedbackResponses;"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" public void setFeedbackResponses(List\u003cFeedbackResponse\u003e feedbackResponses) {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" this.feedbackResponses \u003d feedbackResponses;"},{"lineNumber":256,"author":{"gitId":"-"},"content":" }"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":" public Integer getQuestionNumber() {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" return questionNumber;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" public void setQuestionNumber(Integer questionNumber) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" this.questionNumber \u003d questionNumber;"},{"lineNumber":264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" public String getDescription() {"},{"lineNumber":267,"author":{"gitId":"-"},"content":" return description;"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" public void setDescription(String description) {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" this.description \u003d description;"},{"lineNumber":272,"author":{"gitId":"-"},"content":" }"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":275,"author":{"gitId":"-"},"content":" * Set the question details of the question."},{"lineNumber":276,"author":{"gitId":"-"},"content":" */"},{"lineNumber":277,"author":{"gitId":"-"},"content":" public abstract void setQuestionDetails(FeedbackQuestionDetails questionDetails);"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" public FeedbackParticipantType getGiverType() {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" return giverType;"},{"lineNumber":281,"author":{"gitId":"-"},"content":" }"},{"lineNumber":282,"author":{"gitId":"-"},"content":""},{"lineNumber":283,"author":{"gitId":"-"},"content":" public void setGiverType(FeedbackParticipantType giverType) {"},{"lineNumber":284,"author":{"gitId":"-"},"content":" this.giverType \u003d giverType;"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" public FeedbackParticipantType getRecipientType() {"},{"lineNumber":288,"author":{"gitId":"-"},"content":" return recipientType;"},{"lineNumber":289,"author":{"gitId":"-"},"content":" }"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":" public void setRecipientType(FeedbackParticipantType recipientType) {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" this.recipientType \u003d recipientType;"},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" public Integer getNumOfEntitiesToGiveFeedbackTo() {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" return numOfEntitiesToGiveFeedbackTo;"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" public void setNumOfEntitiesToGiveFeedbackTo(Integer numOfEntitiesToGiveFeedbackTo) {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" this.numOfEntitiesToGiveFeedbackTo \u003d numOfEntitiesToGiveFeedbackTo;"},{"lineNumber":301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" public List\u003cFeedbackParticipantType\u003e getShowResponsesTo() {"},{"lineNumber":304,"author":{"gitId":"-"},"content":" return showResponsesTo;"},{"lineNumber":305,"author":{"gitId":"-"},"content":" }"},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":" public void setShowResponsesTo(List\u003cFeedbackParticipantType\u003e showResponsesTo) {"},{"lineNumber":308,"author":{"gitId":"-"},"content":" this.showResponsesTo \u003d showResponsesTo;"},{"lineNumber":309,"author":{"gitId":"-"},"content":" }"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":" public List\u003cFeedbackParticipantType\u003e getShowGiverNameTo() {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" return showGiverNameTo;"},{"lineNumber":313,"author":{"gitId":"-"},"content":" }"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":" public void setShowGiverNameTo(List\u003cFeedbackParticipantType\u003e showGiverNameTo) {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" this.showGiverNameTo \u003d showGiverNameTo;"},{"lineNumber":317,"author":{"gitId":"-"},"content":" }"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":" public List\u003cFeedbackParticipantType\u003e getShowRecipientNameTo() {"},{"lineNumber":320,"author":{"gitId":"-"},"content":" return showRecipientNameTo;"},{"lineNumber":321,"author":{"gitId":"-"},"content":" }"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" public void setShowRecipientNameTo(List\u003cFeedbackParticipantType\u003e showRecipientNameTo) {"},{"lineNumber":324,"author":{"gitId":"-"},"content":" this.showRecipientNameTo \u003d showRecipientNameTo;"},{"lineNumber":325,"author":{"gitId":"-"},"content":" }"},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":" public Instant getUpdatedAt() {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" return updatedAt;"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" public void setUpdatedAt(Instant updatedAt) {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" this.updatedAt \u003d updatedAt;"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"xenosf"},"content":" public Course getCourse() {"},{"lineNumber":336,"author":{"gitId":"xenosf"},"content":" return this.feedbackSession.getCourse();"},{"lineNumber":337,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":338,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":339,"author":{"gitId":"-"},"content":" public String getCourseId() {"},{"lineNumber":340,"author":{"gitId":"-"},"content":" return this.feedbackSession.getCourse().getId();"},{"lineNumber":341,"author":{"gitId":"-"},"content":" }"},{"lineNumber":342,"author":{"gitId":"-"},"content":""},{"lineNumber":343,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":344,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":345,"author":{"gitId":"-"},"content":" return \"Question [id\u003d\" + id + \", questionNumber\u003d\" + questionNumber + \", description\u003d\" + description"},{"lineNumber":346,"author":{"gitId":"-"},"content":" + \", giverType\u003d\" + giverType + \", recipientType\u003d\" + recipientType"},{"lineNumber":347,"author":{"gitId":"-"},"content":" + \", numOfEntitiesToGiveFeedbackTo\u003d\" + numOfEntitiesToGiveFeedbackTo + \", showResponsesTo\u003d\""},{"lineNumber":348,"author":{"gitId":"-"},"content":" + showResponsesTo + \", showGiverNameTo\u003d\" + showGiverNameTo + \", showRecipientNameTo\u003d\""},{"lineNumber":349,"author":{"gitId":"-"},"content":" + showRecipientNameTo + \", isClosingEmailEnabled\u003d\" + \", createdAt\u003d\" + getCreatedAt() + \", updatedAt\u003d\""},{"lineNumber":350,"author":{"gitId":"-"},"content":" + updatedAt + \"]\";"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":354,"author":{"gitId":"-"},"content":" public int compareTo(FeedbackQuestion o) {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" if (o \u003d\u003d null) {"},{"lineNumber":356,"author":{"gitId":"-"},"content":" return 1;"},{"lineNumber":357,"author":{"gitId":"-"},"content":" }"},{"lineNumber":358,"author":{"gitId":"-"},"content":""},{"lineNumber":359,"author":{"gitId":"-"},"content":" if (!this.questionNumber.equals(o.questionNumber)) {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" return Integer.compare(this.questionNumber, o.questionNumber);"},{"lineNumber":361,"author":{"gitId":"-"},"content":" }"},{"lineNumber":362,"author":{"gitId":"-"},"content":" // Although question numbers ought to be unique in a feedback session,"},{"lineNumber":363,"author":{"gitId":"-"},"content":" // eventual consistency can result in duplicate questions numbers."},{"lineNumber":364,"author":{"gitId":"-"},"content":" // Therefore, to ensure that the question order is always consistent to the user,"},{"lineNumber":365,"author":{"gitId":"-"},"content":" // compare feedbackQuestionId, which is guaranteed to be unique,"},{"lineNumber":366,"author":{"gitId":"-"},"content":" // when the questionNumbers are the same."},{"lineNumber":367,"author":{"gitId":"-"},"content":" return this.id.compareTo(o.id);"},{"lineNumber":368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":369,"author":{"gitId":"-"},"content":""},{"lineNumber":370,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":371,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":372,"author":{"gitId":"-"},"content":" // FeedbackQuestion ID uniquely identifies a FeedbackQuestion."},{"lineNumber":373,"author":{"gitId":"-"},"content":" return this.getId().hashCode();"},{"lineNumber":374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":377,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":378,"author":{"gitId":"-"},"content":" if (other \u003d\u003d null) {"},{"lineNumber":379,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":380,"author":{"gitId":"-"},"content":" } else if (this \u003d\u003d other) {"},{"lineNumber":381,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":382,"author":{"gitId":"-"},"content":" } else if (this.getClass() \u003d\u003d other.getClass()) {"},{"lineNumber":383,"author":{"gitId":"-"},"content":" FeedbackQuestion otherQuestion \u003d (FeedbackQuestion) other;"},{"lineNumber":384,"author":{"gitId":"-"},"content":" return Objects.equals(this.getId(), otherQuestion.getId());"},{"lineNumber":385,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":386,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":388,"author":{"gitId":"-"},"content":" }"},{"lineNumber":389,"author":{"gitId":"-"},"content":""},{"lineNumber":390,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":391,"author":{"gitId":"-"},"content":" * Returns true if the response is visible to the given participant type."},{"lineNumber":392,"author":{"gitId":"-"},"content":" */"},{"lineNumber":393,"author":{"gitId":"-"},"content":" public boolean isResponseVisibleTo(FeedbackParticipantType userType) {"},{"lineNumber":394,"author":{"gitId":"-"},"content":" return showResponsesTo.contains(userType);"},{"lineNumber":395,"author":{"gitId":"-"},"content":" }"},{"lineNumber":396,"author":{"gitId":"-"},"content":"}"},{"lineNumber":397,"author":{"gitId":"-"},"content":""}],"authorContributionMap":{"xenosf":8,"-":389}},{"path":"src/main/java/teammates/storage/sqlentity/FeedbackResponse.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlentity;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Objects;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.hibernate.annotations.UpdateTimestamp;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackResponseDetails;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackConstantSumResponse;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackContributionResponse;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackMcqResponse;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackMsqResponse;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackNumericalScaleResponse;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackRankOptionsResponse;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackRankRecipientsResponse;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackRubricResponse;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackTextResponse;"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"import jakarta.persistence.CascadeType;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import jakarta.persistence.Column;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import jakarta.persistence.Entity;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import jakarta.persistence.Id;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import jakarta.persistence.Inheritance;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import jakarta.persistence.InheritanceType;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import jakarta.persistence.JoinColumn;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import jakarta.persistence.ManyToOne;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import jakarta.persistence.OneToMany;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import jakarta.persistence.Table;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":34,"author":{"gitId":"-"},"content":" * Represents a Feedback Response."},{"lineNumber":35,"author":{"gitId":"-"},"content":" */"},{"lineNumber":36,"author":{"gitId":"-"},"content":"@Entity"},{"lineNumber":37,"author":{"gitId":"-"},"content":"@Table(name \u003d \"FeedbackResponses\")"},{"lineNumber":38,"author":{"gitId":"-"},"content":"@Inheritance(strategy \u003d InheritanceType.SINGLE_TABLE)"},{"lineNumber":39,"author":{"gitId":"-"},"content":"public abstract class FeedbackResponse extends BaseEntity {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" @Id"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private UUID id;"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" @ManyToOne"},{"lineNumber":44,"author":{"gitId":"-"},"content":" @JoinColumn(name \u003d \"questionId\")"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private FeedbackQuestion feedbackQuestion;"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" @OneToMany(mappedBy \u003d \"feedbackResponse\", cascade \u003d CascadeType.REMOVE)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private List\u003cFeedbackResponseComment\u003e feedbackResponseComments \u003d new ArrayList\u003c\u003e();"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private String giver;"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" @ManyToOne"},{"lineNumber":54,"author":{"gitId":"-"},"content":" @JoinColumn(name \u003d \"giverSectionId\")"},{"lineNumber":55,"author":{"gitId":"-"},"content":" private Section giverSection;"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":58,"author":{"gitId":"-"},"content":" private String recipient;"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" @ManyToOne"},{"lineNumber":61,"author":{"gitId":"-"},"content":" @JoinColumn(name \u003d \"recipientSectionId\")"},{"lineNumber":62,"author":{"gitId":"-"},"content":" private Section recipientSection;"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" @UpdateTimestamp"},{"lineNumber":65,"author":{"gitId":"-"},"content":" private Instant updatedAt;"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" protected FeedbackResponse() {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" // required by Hibernate"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" public FeedbackResponse("},{"lineNumber":72,"author":{"gitId":"-"},"content":" FeedbackQuestion feedbackQuestion, String giver,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" Section giverSection, String recipient, Section recipientSection"},{"lineNumber":74,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" this.setId(UUID.randomUUID());"},{"lineNumber":76,"author":{"gitId":"-"},"content":" this.setFeedbackQuestion(feedbackQuestion);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" this.setGiver(giver);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" this.setGiverSection(giverSection);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" this.setRecipient(recipient);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" this.setRecipientSection(recipientSection);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":84,"author":{"gitId":"-"},"content":" * Creates a feedback response according to its {@code FeedbackQuestionType}."},{"lineNumber":85,"author":{"gitId":"-"},"content":" */"},{"lineNumber":86,"author":{"gitId":"-"},"content":" public static FeedbackResponse makeResponse("},{"lineNumber":87,"author":{"gitId":"-"},"content":" FeedbackQuestion feedbackQuestion, String giver,"},{"lineNumber":88,"author":{"gitId":"-"},"content":" Section giverSection, String receiver, Section receiverSection,"},{"lineNumber":89,"author":{"gitId":"-"},"content":" FeedbackResponseDetails responseDetails"},{"lineNumber":90,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" FeedbackResponse feedbackResponse \u003d null;"},{"lineNumber":92,"author":{"gitId":"-"},"content":" switch (responseDetails.getQuestionType()) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" case TEXT:"},{"lineNumber":94,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackTextResponse("},{"lineNumber":95,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":96,"author":{"gitId":"-"},"content":" );"},{"lineNumber":97,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" case MCQ:"},{"lineNumber":99,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackMcqResponse("},{"lineNumber":100,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":101,"author":{"gitId":"-"},"content":" );"},{"lineNumber":102,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":103,"author":{"gitId":"-"},"content":" case MSQ:"},{"lineNumber":104,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackMsqResponse("},{"lineNumber":105,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":106,"author":{"gitId":"-"},"content":" );"},{"lineNumber":107,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" case NUMSCALE:"},{"lineNumber":109,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackNumericalScaleResponse("},{"lineNumber":110,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":111,"author":{"gitId":"-"},"content":" );"},{"lineNumber":112,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" case CONSTSUM:"},{"lineNumber":114,"author":{"gitId":"-"},"content":" case CONSTSUM_OPTIONS:"},{"lineNumber":115,"author":{"gitId":"-"},"content":" case CONSTSUM_RECIPIENTS:"},{"lineNumber":116,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackConstantSumResponse("},{"lineNumber":117,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":118,"author":{"gitId":"-"},"content":" );"},{"lineNumber":119,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" case CONTRIB:"},{"lineNumber":121,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackContributionResponse("},{"lineNumber":122,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":123,"author":{"gitId":"-"},"content":" );"},{"lineNumber":124,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":125,"author":{"gitId":"-"},"content":" case RUBRIC:"},{"lineNumber":126,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackRubricResponse("},{"lineNumber":127,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":128,"author":{"gitId":"-"},"content":" );"},{"lineNumber":129,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" case RANK_OPTIONS:"},{"lineNumber":131,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackRankOptionsResponse("},{"lineNumber":132,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":133,"author":{"gitId":"-"},"content":" );"},{"lineNumber":134,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":135,"author":{"gitId":"-"},"content":" case RANK_RECIPIENTS:"},{"lineNumber":136,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackRankRecipientsResponse("},{"lineNumber":137,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":138,"author":{"gitId":"-"},"content":" );"},{"lineNumber":139,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":" return feedbackResponse;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":145,"author":{"gitId":"-"},"content":" * Update a feedback response according to its {@code FeedbackQuestionType}."},{"lineNumber":146,"author":{"gitId":"-"},"content":" */"},{"lineNumber":147,"author":{"gitId":"-"},"content":" public static FeedbackResponse updateResponse("},{"lineNumber":148,"author":{"gitId":"-"},"content":" FeedbackResponse originalFeedbackResponse,"},{"lineNumber":149,"author":{"gitId":"-"},"content":" FeedbackQuestion feedbackQuestion, String giver,"},{"lineNumber":150,"author":{"gitId":"-"},"content":" Section giverSection, String receiver, Section receiverSection,"},{"lineNumber":151,"author":{"gitId":"-"},"content":" FeedbackResponseDetails responseDetails"},{"lineNumber":152,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" FeedbackResponse updatedFeedbackResponse \u003d FeedbackResponse.makeResponse("},{"lineNumber":154,"author":{"gitId":"-"},"content":" feedbackQuestion,"},{"lineNumber":155,"author":{"gitId":"-"},"content":" giver,"},{"lineNumber":156,"author":{"gitId":"-"},"content":" giverSection,"},{"lineNumber":157,"author":{"gitId":"-"},"content":" receiver,"},{"lineNumber":158,"author":{"gitId":"-"},"content":" receiverSection,"},{"lineNumber":159,"author":{"gitId":"-"},"content":" responseDetails"},{"lineNumber":160,"author":{"gitId":"-"},"content":" );"},{"lineNumber":161,"author":{"gitId":"-"},"content":" updatedFeedbackResponse.setCreatedAt(originalFeedbackResponse.getCreatedAt());"},{"lineNumber":162,"author":{"gitId":"-"},"content":" updatedFeedbackResponse.setId(originalFeedbackResponse.getId());"},{"lineNumber":163,"author":{"gitId":"-"},"content":" return updatedFeedbackResponse;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":167,"author":{"gitId":"-"},"content":" * Gets a copy of the question details of the feedback question."},{"lineNumber":168,"author":{"gitId":"-"},"content":" */"},{"lineNumber":169,"author":{"gitId":"-"},"content":" public abstract FeedbackResponseDetails getFeedbackResponseDetailsCopy();"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" public UUID getId() {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" return id;"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" public void setId(UUID id) {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" this.id \u003d id;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" public FeedbackQuestion getFeedbackQuestion() {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" return feedbackQuestion;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" public void setFeedbackQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" this.feedbackQuestion \u003d feedbackQuestion;"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseComments() {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" return feedbackResponseComments;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" public void setFeedbackResponseComments(List\u003cFeedbackResponseComment\u003e feedbackResponseComments) {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" this.feedbackResponseComments \u003d feedbackResponseComments;"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" public String getGiver() {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" return giver;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" public void setGiver(String giver) {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" this.giver \u003d giver;"},{"lineNumber":201,"author":{"gitId":"-"},"content":" }"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" public Section getGiverSection() {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" return giverSection;"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"xenosf"},"content":" public String getGiverSectionName() {"},{"lineNumber":208,"author":{"gitId":"xenosf"},"content":" return giverSection.getName();"},{"lineNumber":209,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":210,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" public void setGiverSection(Section giverSection) {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" this.giverSection \u003d giverSection;"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":" public String getRecipient() {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" return recipient;"},{"lineNumber":217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" public void setRecipient(String recipient) {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" this.recipient \u003d recipient;"},{"lineNumber":221,"author":{"gitId":"-"},"content":" }"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":" public Section getRecipientSection() {"},{"lineNumber":224,"author":{"gitId":"-"},"content":" return recipientSection;"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"xenosf"},"content":" public String getRecipientSectionName() {"},{"lineNumber":228,"author":{"gitId":"xenosf"},"content":" return recipientSection.getName();"},{"lineNumber":229,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":230,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" public void setRecipientSection(Section recipientSection) {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" this.recipientSection \u003d recipientSection;"},{"lineNumber":233,"author":{"gitId":"-"},"content":" }"},{"lineNumber":234,"author":{"gitId":"-"},"content":""},{"lineNumber":235,"author":{"gitId":"-"},"content":" public Instant getUpdatedAt() {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" return updatedAt;"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" public void setUpdatedAt(Instant updatedAt) {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" this.updatedAt \u003d updatedAt;"},{"lineNumber":241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":244,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getInvalidityInfo() {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":249,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" return \"FeedbackResponse [id\u003d\" + id + \", giver\u003d\" + giver + \", recipient\u003d\" + recipient"},{"lineNumber":251,"author":{"gitId":"-"},"content":" + \", createdAt\u003d\" + getCreatedAt() + \", updatedAt\u003d\" + updatedAt + \"]\";"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":255,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":256,"author":{"gitId":"-"},"content":" return this.getId().hashCode();"},{"lineNumber":257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":260,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":261,"author":{"gitId":"-"},"content":" if (other \u003d\u003d null) {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":263,"author":{"gitId":"-"},"content":" } else if (this \u003d\u003d other) {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":265,"author":{"gitId":"-"},"content":" } else if (this.getClass() \u003d\u003d other.getClass()) {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" FeedbackResponse otherResponse \u003d (FeedbackResponse) other;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" return Objects.equals(this.getId(), otherResponse.getId());"},{"lineNumber":268,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":" }"},{"lineNumber":272,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":8,"-":264}},{"path":"src/main/java/teammates/storage/sqlentity/FeedbackResponseComment.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlentity;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Objects;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.hibernate.annotations.OnDelete;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.hibernate.annotations.OnDeleteAction;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.hibernate.annotations.UpdateTimestamp;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"import jakarta.persistence.Column;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import jakarta.persistence.Convert;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import jakarta.persistence.Entity;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import jakarta.persistence.GeneratedValue;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import jakarta.persistence.Id;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import jakarta.persistence.JoinColumn;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import jakarta.persistence.ManyToOne;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import jakarta.persistence.Table;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * Represents a feedback response comment."},{"lineNumber":27,"author":{"gitId":"-"},"content":" */"},{"lineNumber":28,"author":{"gitId":"-"},"content":"@Entity"},{"lineNumber":29,"author":{"gitId":"-"},"content":"@Table(name \u003d \"FeedbackResponseComments\")"},{"lineNumber":30,"author":{"gitId":"-"},"content":"public class FeedbackResponseComment extends BaseEntity {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" @Id"},{"lineNumber":32,"author":{"gitId":"-"},"content":" @GeneratedValue"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private Long id;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" @ManyToOne"},{"lineNumber":36,"author":{"gitId":"-"},"content":" @OnDelete(action \u003d OnDeleteAction.CASCADE)"},{"lineNumber":37,"author":{"gitId":"-"},"content":" @JoinColumn(name \u003d \"responseId\")"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private FeedbackResponse feedbackResponse;"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private String giver;"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackParticipantTypeConverter.class)"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private FeedbackParticipantType giverType;"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" @ManyToOne"},{"lineNumber":48,"author":{"gitId":"-"},"content":" @JoinColumn(name \u003d \"giverSectionId\")"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private Section giverSection;"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" @ManyToOne"},{"lineNumber":52,"author":{"gitId":"-"},"content":" @JoinColumn(name \u003d \"recipientSectionId\")"},{"lineNumber":53,"author":{"gitId":"-"},"content":" private Section recipientSection;"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" private String commentText;"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private boolean isVisibilityFollowingFeedbackQuestion;"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":62,"author":{"gitId":"-"},"content":" private boolean isCommentFromFeedbackParticipant;"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":65,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackParticipantTypeListConverter.class)"},{"lineNumber":66,"author":{"gitId":"-"},"content":" private List\u003cFeedbackParticipantType\u003e showCommentTo;"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":69,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackParticipantTypeListConverter.class)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" private List\u003cFeedbackParticipantType\u003e showGiverNameTo;"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" @UpdateTimestamp"},{"lineNumber":73,"author":{"gitId":"-"},"content":" private Instant updatedAt;"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":76,"author":{"gitId":"-"},"content":" private String lastEditorEmail;"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" protected FeedbackResponseComment() {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" // required by Hibernate"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" public FeedbackResponseComment("},{"lineNumber":83,"author":{"gitId":"-"},"content":" FeedbackResponse feedbackResponse, String giver, FeedbackParticipantType giverType,"},{"lineNumber":84,"author":{"gitId":"-"},"content":" Section giverSection, Section recipientSection, String commentText,"},{"lineNumber":85,"author":{"gitId":"-"},"content":" boolean isVisibilityFollowingFeedbackQuestion, boolean isCommentFromFeedbackParticipant,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showCommentTo, List\u003cFeedbackParticipantType\u003e showGiverNameTo,"},{"lineNumber":87,"author":{"gitId":"-"},"content":" String lastEditorEmail"},{"lineNumber":88,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" this.setFeedbackResponse(feedbackResponse);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" this.setGiver(giver);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" this.setGiverType(giverType);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" this.setGiverSection(giverSection);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" this.setRecipientSection(recipientSection);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" this.setCommentText(commentText);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" this.setIsVisibilityFollowingFeedbackQuestion(isVisibilityFollowingFeedbackQuestion);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" this.setIsCommentFromFeedbackParticipant(isCommentFromFeedbackParticipant);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" this.setShowCommentTo(showCommentTo);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" this.setShowGiverNameTo(showGiverNameTo);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" this.setLastEditorEmail(lastEditorEmail);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" public Long getId() {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return id;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" public void setId(Long id) {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" this.id \u003d id;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" public FeedbackResponse getFeedbackResponse() {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" return feedbackResponse;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" public void setFeedbackResponse(FeedbackResponse feedbackResponse) {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" this.feedbackResponse \u003d feedbackResponse;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" public String getGiver() {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" return giver;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" public void setGiver(String giver) {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" this.giver \u003d giver;"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" public FeedbackParticipantType getGiverType() {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" return giverType;"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" public void setGiverType(FeedbackParticipantType giverType) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" this.giverType \u003d giverType;"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" public Section getGiverSection() {"},{"lineNumber":135,"author":{"gitId":"-"},"content":" return giverSection;"},{"lineNumber":136,"author":{"gitId":"-"},"content":" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" public void setGiverSection(Section giverSection) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" this.giverSection \u003d giverSection;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" public Section getRecipientSection() {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" return recipientSection;"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" public void setRecipientSection(Section recipientSection) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" this.recipientSection \u003d recipientSection;"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" public String getCommentText() {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" return commentText;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" public void setCommentText(String commentText) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" this.commentText \u003d commentText;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" public boolean getIsVisibilityFollowingFeedbackQuestion() {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" return this.isVisibilityFollowingFeedbackQuestion;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" public void setIsVisibilityFollowingFeedbackQuestion(boolean isVisibilityFollowingFeedbackQuestion) {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" this.isVisibilityFollowingFeedbackQuestion \u003d isVisibilityFollowingFeedbackQuestion;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" public boolean getIsCommentFromFeedbackParticipant() {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" return this.isCommentFromFeedbackParticipant;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" public void setIsCommentFromFeedbackParticipant(boolean isCommentFromFeedbackParticipant) {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" this.isCommentFromFeedbackParticipant \u003d isCommentFromFeedbackParticipant;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" public List\u003cFeedbackParticipantType\u003e getShowCommentTo() {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" return showCommentTo;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" public void setShowCommentTo(List\u003cFeedbackParticipantType\u003e showCommentTo) {"},{"lineNumber":179,"author":{"gitId":"-"},"content":" this.showCommentTo \u003d showCommentTo;"},{"lineNumber":180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" public List\u003cFeedbackParticipantType\u003e getShowGiverNameTo() {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" return showGiverNameTo;"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" public void setShowGiverNameTo(List\u003cFeedbackParticipantType\u003e showGiverNameTo) {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" this.showGiverNameTo \u003d showGiverNameTo;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" public Instant getUpdatedAt() {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" return updatedAt;"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" public void setUpdatedAt(Instant updatedAt) {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" this.updatedAt \u003d updatedAt;"},{"lineNumber":196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" public String getLastEditorEmail() {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" return lastEditorEmail;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" public void setLastEditorEmail(String lastEditorEmail) {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" this.lastEditorEmail \u003d lastEditorEmail;"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":207,"author":{"gitId":"-"},"content":" * Formats the entity before persisting in database."},{"lineNumber":208,"author":{"gitId":"-"},"content":" * TODO: Override when BaseEntity adds abstract sanitizeForSaving"},{"lineNumber":209,"author":{"gitId":"-"},"content":" */"},{"lineNumber":210,"author":{"gitId":"-"},"content":" public void sanitizeForSaving() {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" this.commentText \u003d SanitizationHelper.sanitizeForRichText(this.commentText);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" * Returns true if the response comment is visible to the given participant type."},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":" public boolean checkIsVisibleTo(FeedbackParticipantType viewerType) {"},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":" return showCommentTo.contains(viewerType);"},{"lineNumber":219,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":220,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":222,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getInvalidityInfo() {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" List\u003cString\u003e errors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForCommentGiverType(giverType), errors);"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForVisibilityOfFeedbackParticipantComments("},{"lineNumber":228,"author":{"gitId":"-"},"content":" isCommentFromFeedbackParticipant, isVisibilityFollowingFeedbackQuestion), errors);"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":" return errors;"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":234,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" return \"FeedbackResponse [id\u003d\" + id + \", giver\u003d\" + giver + \", commentText\u003d\" + commentText"},{"lineNumber":236,"author":{"gitId":"-"},"content":" + \", isVisibilityFollowingFeedbackQuestion\u003d\" + isVisibilityFollowingFeedbackQuestion"},{"lineNumber":237,"author":{"gitId":"-"},"content":" + \", isCommentFromFeedbackParticipant\u003d\" + isCommentFromFeedbackParticipant"},{"lineNumber":238,"author":{"gitId":"-"},"content":" + \", lastEditorEmail\u003d\" + lastEditorEmail + \", createdAt\u003d\" + getCreatedAt()"},{"lineNumber":239,"author":{"gitId":"-"},"content":" + \", updatedAt\u003d\" + updatedAt + \"]\";"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":243,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" return this.getId().hashCode();"},{"lineNumber":245,"author":{"gitId":"-"},"content":" }"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":248,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" if (other \u003d\u003d null) {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":251,"author":{"gitId":"-"},"content":" } else if (this \u003d\u003d other) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" } else if (this.getClass() \u003d\u003d other.getClass()) {"},{"lineNumber":254,"author":{"gitId":"-"},"content":" FeedbackResponseComment otherResponse \u003d (FeedbackResponseComment) other;"},{"lineNumber":255,"author":{"gitId":"-"},"content":" return Objects.equals(this.getId(), otherResponse.getId());"},{"lineNumber":256,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":258,"author":{"gitId":"-"},"content":" }"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":7,"-":253}},{"path":"src/main/java/teammates/storage/sqlentity/Student.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlentity;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import jakarta.persistence.Column;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import jakarta.persistence.Entity;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import jakarta.persistence.Table;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Represents a Student."},{"lineNumber":17,"author":{"gitId":"-"},"content":" */"},{"lineNumber":18,"author":{"gitId":"-"},"content":"@Entity"},{"lineNumber":19,"author":{"gitId":"-"},"content":"@Table(name \u003d \"Students\")"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class Student extends User {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private String comments;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" protected Student() {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" // required by Hibernate"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" public Student(Course course, String name, String email, String comments) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" super(course, name, email);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" this.setComments(comments);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" }"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" public Student(Course course, String name, String email, String comments, Team team) {"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" super(course, name, email);"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" this.setComments(comments);"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" this.setTeam(team);"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" * Gets the comments of the student."},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":42,"author":{"gitId":"-"},"content":" public String getComments() {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" return comments;"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" * Sets the comments of the student."},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":49,"author":{"gitId":"-"},"content":" public void setComments(String comments) {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" this.comments \u003d SanitizationHelper.sanitizeTextField(comments);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":54,"author":{"gitId":"-"},"content":" public String getTeamName() {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" return getTeam().getName();"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":59,"author":{"gitId":"-"},"content":" public String getSectionName() {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return this.getTeam().getSection().getName();"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public Section getSection() {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return this.getTeam().getSection();"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":69,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" return \"Student [id\u003d\" + super.getId() + \", comments\u003d\" + comments"},{"lineNumber":71,"author":{"gitId":"-"},"content":" + \", createdAt\u003d\" + super.getCreatedAt() + \", updatedAt\u003d\" + super.getUpdatedAt() + \"]\";"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getInvalidityInfo() {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" assert comments !\u003d null;"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" List\u003cString\u003e errors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForEmail(super.getEmail()), errors);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForStudentRoleComments(comments), errors);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForPersonName(super.getName()), errors);"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" return errors;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" public String getRegistrationUrl() {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" return Config.getFrontEndAppUrl(Const.WebPageURIs.JOIN_PAGE)"},{"lineNumber":89,"author":{"gitId":"-"},"content":" .withRegistrationKey(getRegKey())"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .withEntityType(Const.EntityType.STUDENT)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .toString();"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":12,"-":81}},{"path":"src/main/java/teammates/storage/sqlentity/questions/FeedbackMsqQuestion.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlentity.questions;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMsqQuestionDetails;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import jakarta.persistence.Column;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import jakarta.persistence.Convert;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import jakarta.persistence.Converter;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import jakarta.persistence.Entity;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Represents an msq question."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"@Entity"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class FeedbackMsqQuestion extends FeedbackQuestion {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false, columnDefinition \u003d \"TEXT\")"},{"lineNumber":24,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackMsqQuestionDetailsConverter.class)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private FeedbackMsqQuestionDetails questionDetails;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" protected FeedbackMsqQuestion() {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" // required by Hibernate"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" public FeedbackMsqQuestion("},{"lineNumber":32,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession, Integer questionNumber,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" String description, FeedbackParticipantType giverType, FeedbackParticipantType recipientType,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" Integer numOfEntitiesToGiveFeedbackTo, List\u003cFeedbackParticipantType\u003e showResponsesTo,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showGiverNameTo, List\u003cFeedbackParticipantType\u003e showRecipientNameTo,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails feedbackQuestionDetails"},{"lineNumber":37,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" super(feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" setFeedBackQuestionDetails((FeedbackMsqQuestionDetails) feedbackQuestionDetails);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":44,"author":{"gitId":"-"},"content":" public FeedbackQuestionDetails getQuestionDetailsCopy() {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" return questionDetails.getDeepCopy();"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":49,"author":{"gitId":"-"},"content":" public FeedbackMsqQuestion makeDeepCopy(FeedbackSession newFeedbackSession) {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" return new FeedbackMsqQuestion("},{"lineNumber":51,"author":{"gitId":"-"},"content":" newFeedbackSession, this.getQuestionNumber(), this.getDescription(), this.getGiverType(),"},{"lineNumber":52,"author":{"gitId":"-"},"content":" this.getRecipientType(), this.getNumOfEntitiesToGiveFeedbackTo(), new ArrayList\u003c\u003e(this.getShowResponsesTo()),"},{"lineNumber":53,"author":{"gitId":"-"},"content":" new ArrayList\u003c\u003e(this.getShowGiverNameTo()), new ArrayList\u003c\u003e(this.getShowRecipientNameTo()),"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" this.questionDetails.getDeepCopy()"},{"lineNumber":55,"author":{"gitId":"-"},"content":" );"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":59,"author":{"gitId":"-"},"content":" public void setQuestionDetails(FeedbackQuestionDetails questionDetails) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" this.questionDetails \u003d (FeedbackMsqQuestionDetails) questionDetails;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return \"FeedbackMsqQuestion [id\u003d\" + super.getId()"},{"lineNumber":66,"author":{"gitId":"-"},"content":" + \", createdAt\u003d\" + super.getCreatedAt() + \", updatedAt\u003d\" + super.getUpdatedAt() + \"]\";"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" public void setFeedBackQuestionDetails(FeedbackMsqQuestionDetails questionDetails) {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" this.questionDetails \u003d questionDetails;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" public FeedbackMsqQuestionDetails getFeedbackQuestionDetails() {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" return questionDetails;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":78,"author":{"gitId":"-"},"content":" * Converter for FeedbackMsqQuestion specific attributes."},{"lineNumber":79,"author":{"gitId":"-"},"content":" */"},{"lineNumber":80,"author":{"gitId":"-"},"content":" @Converter"},{"lineNumber":81,"author":{"gitId":"-"},"content":" public static class FeedbackMsqQuestionDetailsConverter"},{"lineNumber":82,"author":{"gitId":"-"},"content":" extends FeedbackQuestionDetailsConverter {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":1,"-":83}},{"path":"src/main/java/teammates/storage/sqlentity/questions/FeedbackRankOptionsQuestion.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlentity.questions;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankOptionsQuestionDetails;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import jakarta.persistence.Column;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import jakarta.persistence.Convert;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import jakarta.persistence.Converter;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import jakarta.persistence.Entity;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Represents a rank options question."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"@Entity"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class FeedbackRankOptionsQuestion extends FeedbackQuestion {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false, columnDefinition \u003d \"TEXT\")"},{"lineNumber":24,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackRankOptionsQuestionDetailsConverter.class)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private FeedbackRankOptionsQuestionDetails questionDetails;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" protected FeedbackRankOptionsQuestion() {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" // required by Hibernate"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" public FeedbackRankOptionsQuestion("},{"lineNumber":32,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession, Integer questionNumber,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" String description, FeedbackParticipantType giverType, FeedbackParticipantType recipientType,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" Integer numOfEntitiesToGiveFeedbackTo, List\u003cFeedbackParticipantType\u003e showResponsesTo,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showGiverNameTo, List\u003cFeedbackParticipantType\u003e showRecipientNameTo,"},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":" FeedbackQuestionDetails feedbackQuestionDetails) {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" super(feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" setFeedBackQuestionDetails((FeedbackRankOptionsQuestionDetails) feedbackQuestionDetails);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":43,"author":{"gitId":"-"},"content":" public FeedbackQuestionDetails getQuestionDetailsCopy() {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" return questionDetails.getDeepCopy();"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":48,"author":{"gitId":"-"},"content":" public FeedbackRankOptionsQuestion makeDeepCopy(FeedbackSession newFeedbackSession) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" return new FeedbackRankOptionsQuestion("},{"lineNumber":50,"author":{"gitId":"-"},"content":" newFeedbackSession, this.getQuestionNumber(), this.getDescription(), this.getGiverType(),"},{"lineNumber":51,"author":{"gitId":"-"},"content":" this.getRecipientType(), this.getNumOfEntitiesToGiveFeedbackTo(),"},{"lineNumber":52,"author":{"gitId":"-"},"content":" new ArrayList\u003c\u003e(this.getShowResponsesTo()), new ArrayList\u003c\u003e(this.getShowGiverNameTo()),"},{"lineNumber":53,"author":{"gitId":"-"},"content":" new ArrayList\u003c\u003e(this.getShowRecipientNameTo()),"},{"lineNumber":54,"author":{"gitId":"mingyuanc"},"content":" this.questionDetails.getDeepCopy());"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":58,"author":{"gitId":"-"},"content":" public void setQuestionDetails(FeedbackQuestionDetails questionDetails) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" this.questionDetails \u003d (FeedbackRankOptionsQuestionDetails) questionDetails;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":63,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" return \"FeedbackRankOptionsQuestion [id\u003d\" + super.getId()"},{"lineNumber":65,"author":{"gitId":"-"},"content":" + \", createdAt\u003d\" + super.getCreatedAt() + \", updatedAt\u003d\" + super.getUpdatedAt() + \"]\";"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" public void setFeedBackQuestionDetails(FeedbackRankOptionsQuestionDetails questionDetails) {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.questionDetails \u003d questionDetails;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" public FeedbackRankOptionsQuestionDetails getFeedbackQuestionDetails() {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" return questionDetails;"},{"lineNumber":74,"author":{"gitId":"-"},"content":" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":77,"author":{"gitId":"-"},"content":" * Converter for FeedbackRankOptionsQuestion specific attributes."},{"lineNumber":78,"author":{"gitId":"-"},"content":" */"},{"lineNumber":79,"author":{"gitId":"-"},"content":" @Converter"},{"lineNumber":80,"author":{"gitId":"-"},"content":" public static class FeedbackRankOptionsQuestionDetailsConverter"},{"lineNumber":81,"author":{"gitId":"-"},"content":" extends FeedbackQuestionDetailsConverter {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" }"},{"lineNumber":83,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"mingyuanc":2,"-":81}},{"path":"src/main/java/teammates/storage/sqlentity/responses/FeedbackMissingResponse.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.storage.sqlentity.responses;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.questions.FeedbackTextResponseDetails;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":" * Represents a missing response."},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"public class FeedbackMissingResponse extends FeedbackTextResponse {"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":" private String giverSectionName;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":" private String recipientSectionName;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":" protected FeedbackMissingResponse() {"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":" // required by Hibernate"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":" public FeedbackMissingResponse("},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion feedbackQuestion, String giver,"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" String giverSectionName, String recipient, String recipientSectionName"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" ) {"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" super(feedbackQuestion, giver, null, recipient, null, new FeedbackTextResponseDetails(Const.MISSING_RESPONSE_TEXT));"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" this.giverSectionName \u003d giverSectionName;"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" this.recipientSectionName \u003d recipientSectionName;"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" public String getGiverSectionName() {"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" return giverSectionName;"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" public String getRecipientSectionName() {"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" return recipientSectionName;"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":37}},{"path":"src/main/java/teammates/storage/sqlsearch/SearchManager.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlsearch;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.net.SocketTimeoutException;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.apache.commons.lang.StringUtils;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.apache.solr.client.solrj.SolrQuery;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.apache.solr.client.solrj.SolrServerException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.apache.solr.client.solrj.impl.HttpSolrClient;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.apache.solr.client.solrj.response.QueryResponse;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.apache.solr.common.SolrDocument;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import org.apache.solr.common.SolrInputDocument;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.BaseEntity;"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * Acts as a proxy to search service."},{"lineNumber":28,"author":{"gitId":"-"},"content":" *"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * @param \u003cT\u003e Type of entity to be returned"},{"lineNumber":30,"author":{"gitId":"-"},"content":" */"},{"lineNumber":31,"author":{"gitId":"-"},"content":"abstract class SearchManager\u003cT extends BaseEntity\u003e {"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final String ERROR_DELETE_DOCUMENT \u003d \"Failed to delete document(s) %s in Solr. Root cause: %s \";"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String ERROR_SEARCH_DOCUMENT \u003d \"Failed to search for document(s) %s from Solr. Root cause: %s \";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String ERROR_SEARCH_NOT_IMPLEMENTED \u003d \"Search service is not implemented\";"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final String ERROR_PUT_DOCUMENT \u003d \"Failed to put document %s into Solr. Root cause: %s \";"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final String ERROR_RESET_COLLECTION \u003d \"Failed to reset collections. Root cause: %s \";"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final int START_INDEX \u003d 0;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final int NUM_OF_RESULTS \u003d Const.SEARCH_QUERY_SIZE_LIMIT;"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" private final HttpSolrClient client;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private final boolean isResetAllowed;"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" SearchManager(String searchServiceHost, boolean isResetAllowed) {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" this.isResetAllowed \u003d Config.IS_DEV_SERVER \u0026\u0026 isResetAllowed;"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" if (StringHelper.isEmpty(searchServiceHost)) {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" this.client \u003d null;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" this.client \u003d new HttpSolrClient.Builder(searchServiceHost)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .withConnectionTimeout(2000) // timeout for connecting to Solr server"},{"lineNumber":55,"author":{"gitId":"-"},"content":" .withSocketTimeout(5000) // timeout for reading data"},{"lineNumber":56,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" SolrQuery getBasicQuery(String queryString) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" SolrQuery query \u003d new SolrQuery();"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" String cleanQueryString \u003d cleanSpecialChars(queryString);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" query.setQuery(cleanQueryString);"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" query.setStart(START_INDEX);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" query.setRows(NUM_OF_RESULTS);"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" return query;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" QueryResponse performQuery(SolrQuery query) throws SearchServiceException {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" if (client \u003d\u003d null) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" throw new SearchServiceException(\"Full-text search is not available.\", HttpStatus.SC_NOT_IMPLEMENTED);"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" return client.query(getCollectionName(), query);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" } catch (SolrServerException e) {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" Throwable rootCause \u003d e.getRootCause();"},{"lineNumber":81,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_SEARCH_DOCUMENT, query.getQuery(), rootCause), e);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" if (rootCause instanceof SocketTimeoutException) {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" throw new SearchServiceException(\"A timeout was reached while processing your request. \""},{"lineNumber":84,"author":{"gitId":"-"},"content":" + \"Please try again later.\", e, HttpStatus.SC_GATEWAY_TIMEOUT);"},{"lineNumber":85,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" throw new SearchServiceException(\"An error has occurred while performing search. \""},{"lineNumber":87,"author":{"gitId":"-"},"content":" + \"Please try again later.\", e, HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_SEARCH_DOCUMENT, query.getQuery(), e.getCause()), e);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" throw new SearchServiceException(\"An error has occurred while performing search. \""},{"lineNumber":92,"author":{"gitId":"-"},"content":" + \"Please try again later.\", e, HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" abstract String getCollectionName();"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" abstract SearchDocument\u003cT\u003e createDocument(T entity);"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":101,"author":{"gitId":"-"},"content":" * Creates or updates search document for the given entity."},{"lineNumber":102,"author":{"gitId":"-"},"content":" */"},{"lineNumber":103,"author":{"gitId":"-"},"content":" public void putDocument(T entity) throws SearchServiceException {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" if (client \u003d\u003d null) {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" log.warning(ERROR_SEARCH_NOT_IMPLEMENTED);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" if (entity \u003d\u003d null) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" Map\u003cString, Object\u003e searchableFields \u003d createDocument(entity).getSearchableFields();"},{"lineNumber":114,"author":{"gitId":"-"},"content":" SolrInputDocument document \u003d new SolrInputDocument();"},{"lineNumber":115,"author":{"gitId":"-"},"content":" searchableFields.forEach((key, value) -\u003e document.addField(key, value));"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" client.add(getCollectionName(), Collections.singleton(document));"},{"lineNumber":119,"author":{"gitId":"-"},"content":" client.commit(getCollectionName());"},{"lineNumber":120,"author":{"gitId":"-"},"content":" } catch (SolrServerException e) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_PUT_DOCUMENT, document, e.getRootCause()), e);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" throw new SearchServiceException(e, HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_PUT_DOCUMENT, document, e.getCause()), e);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" throw new SearchServiceException(e, HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":130,"author":{"gitId":"-"},"content":" * Removes search documents based on the given keys."},{"lineNumber":131,"author":{"gitId":"-"},"content":" */"},{"lineNumber":132,"author":{"gitId":"-"},"content":" public void deleteDocuments(List\u003cString\u003e keys) {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" if (client \u003d\u003d null) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" log.warning(ERROR_SEARCH_NOT_IMPLEMENTED);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":136,"author":{"gitId":"-"},"content":" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" if (keys.isEmpty()) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" client.deleteById(getCollectionName(), keys);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" client.commit(getCollectionName());"},{"lineNumber":145,"author":{"gitId":"-"},"content":" } catch (SolrServerException e) {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_DELETE_DOCUMENT, keys, e.getRootCause()), e);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_DELETE_DOCUMENT, keys, e.getCause()), e);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * Resets the data for all collections if, and only if called during component"},{"lineNumber":154,"author":{"gitId":"-"},"content":" * tests."},{"lineNumber":155,"author":{"gitId":"-"},"content":" */"},{"lineNumber":156,"author":{"gitId":"-"},"content":" public void resetCollections() {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" if (client \u003d\u003d null || !isResetAllowed) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" client.deleteByQuery(getCollectionName(), \"*:*\");"},{"lineNumber":163,"author":{"gitId":"-"},"content":" client.commit(getCollectionName());"},{"lineNumber":164,"author":{"gitId":"-"},"content":" } catch (SolrServerException e) {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_RESET_COLLECTION, e.getRootCause()), e);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_RESET_COLLECTION, e.getCause()), e);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" private String cleanSpecialChars(String queryString) {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" String htmlTagStripPattern \u003d \"\u003c[^\u003e]*\u003e\";"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" // Solr special characters: + - \u0026\u0026 || ! ( ) { } [ ] ^ \" ~ * ? : \\ /"},{"lineNumber":175,"author":{"gitId":"-"},"content":" String res \u003d queryString.replaceAll(htmlTagStripPattern, \"\")"},{"lineNumber":176,"author":{"gitId":"-"},"content":" .replace(\"\\\\\", \"\\\\\\\\\")"},{"lineNumber":177,"author":{"gitId":"-"},"content":" .replace(\"+\", \"\\\\+\")"},{"lineNumber":178,"author":{"gitId":"-"},"content":" .replace(\"-\", \"\\\\-\")"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .replace(\"\u0026\u0026\", \"\\\\\u0026\u0026\")"},{"lineNumber":180,"author":{"gitId":"-"},"content":" .replace(\"||\", \"\\\\||\")"},{"lineNumber":181,"author":{"gitId":"-"},"content":" .replace(\"!\", \"\\\\!\")"},{"lineNumber":182,"author":{"gitId":"-"},"content":" .replace(\"(\", \"\\\\(\")"},{"lineNumber":183,"author":{"gitId":"-"},"content":" .replace(\")\", \"\\\\)\")"},{"lineNumber":184,"author":{"gitId":"-"},"content":" .replace(\"{\", \"\\\\{\")"},{"lineNumber":185,"author":{"gitId":"-"},"content":" .replace(\"}\", \"\\\\}\")"},{"lineNumber":186,"author":{"gitId":"-"},"content":" .replace(\"[\", \"\\\\[\")"},{"lineNumber":187,"author":{"gitId":"-"},"content":" .replace(\"]\", \"\\\\]\")"},{"lineNumber":188,"author":{"gitId":"-"},"content":" .replace(\"^\", \"\\\\^\")"},{"lineNumber":189,"author":{"gitId":"-"},"content":" .replace(\"~\", \"\\\\~\")"},{"lineNumber":190,"author":{"gitId":"-"},"content":" .replace(\"?\", \"\\\\?\")"},{"lineNumber":191,"author":{"gitId":"-"},"content":" .replace(\":\", \"\\\\:\")"},{"lineNumber":192,"author":{"gitId":"-"},"content":" .replace(\"/\", \"\\\\/\");"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" // imbalanced double quotes are invalid"},{"lineNumber":195,"author":{"gitId":"-"},"content":" int count \u003d StringUtils.countMatches(res, \"\\\"\");"},{"lineNumber":196,"author":{"gitId":"-"},"content":" if (count % 2 \u003d\u003d 1) {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" res \u003d res.replace(\"\\\"\", \"\");"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" // use exact match only when there\u0027s email-like input"},{"lineNumber":201,"author":{"gitId":"-"},"content":" if (res.contains(\"@\") \u0026\u0026 count \u003d\u003d 0) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" return \"\\\"\" + res + \"\\\"\";"},{"lineNumber":203,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" return res;"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" abstract T getEntityFromDocument(SolrDocument document);"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":" abstract void sortResult(List\u003cT\u003e result);"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" List\u003cT\u003e convertDocumentToEntities(List\u003cSolrDocument\u003e documents) {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" if (documents \u003d\u003d null) {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" List\u003cT\u003e result \u003d new ArrayList\u003c\u003e();"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" for (SolrDocument document : documents) {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" T entity \u003d getEntityFromDocument(document);"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" // Entity will be null if document corresponds to entity in datastore"},{"lineNumber":223,"author":{"gitId":"-"},"content":" if (entity \u003d\u003d null) {"},{"lineNumber":224,"author":{"gitId":"-"},"content":" // search engine out of sync as SearchManager may fail to delete documents"},{"lineNumber":225,"author":{"gitId":"-"},"content":" // the chance is low and it is generally not a big problem"},{"lineNumber":226,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":227,"author":{"gitId":"domoberzin"},"content":" // these lines below are commented out as they interfere with the dual db search,"},{"lineNumber":228,"author":{"gitId":"domoberzin"},"content":" // and cause unwanted deletions, please refer to the following PR for more details"},{"lineNumber":229,"author":{"gitId":"domoberzin"},"content":" // [PR](https://github.com/TEAMMATES/teammates/pull/12838)"},{"lineNumber":230,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":231,"author":{"gitId":"domoberzin"},"content":" // String id \u003d (String) document.getFirstValue(\"id\");"},{"lineNumber":232,"author":{"gitId":"domoberzin"},"content":" // deleteDocuments(Collections.singletonList(id));"},{"lineNumber":233,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":" result.add(entity);"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":" sortResult(result);"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" return result;"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":7,"-":235}},{"path":"src/main/java/teammates/ui/output/NotificationData.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.output;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import org.threeten.bp.Instant;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationStyle;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationTargetUser;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * The API output format of a notification."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class NotificationData extends ApiOutput {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" private String notificationId;"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private long startTimestamp;"},{"lineNumber":17,"author":{"gitId":"-"},"content":" private long endTimestamp;"},{"lineNumber":18,"author":{"gitId":"-"},"content":" private long createdAt;"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private NotificationStyle style;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" private NotificationTargetUser targetUser;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" private String title;"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private String message;"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private boolean shown;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" public NotificationData(NotificationAttributes notificationAttributes) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" this.notificationId \u003d notificationAttributes.getNotificationId();"},{"lineNumber":27,"author":{"gitId":"-"},"content":" this.startTimestamp \u003d notificationAttributes.getStartTime().toEpochMilli();"},{"lineNumber":28,"author":{"gitId":"-"},"content":" this.endTimestamp \u003d notificationAttributes.getEndTime().toEpochMilli();"},{"lineNumber":29,"author":{"gitId":"-"},"content":" this.createdAt \u003d notificationAttributes.getCreatedAt().toEpochMilli();"},{"lineNumber":30,"author":{"gitId":"-"},"content":" this.style \u003d notificationAttributes.getStyle();"},{"lineNumber":31,"author":{"gitId":"-"},"content":" this.targetUser \u003d notificationAttributes.getTargetUser();"},{"lineNumber":32,"author":{"gitId":"-"},"content":" this.title \u003d notificationAttributes.getTitle();"},{"lineNumber":33,"author":{"gitId":"-"},"content":" this.message \u003d notificationAttributes.getMessage();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" this.shown \u003d notificationAttributes.isShown();"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" public NotificationData(Notification notification) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" this.notificationId \u003d notification.getId().toString();"},{"lineNumber":39,"author":{"gitId":"-"},"content":" this.startTimestamp \u003d notification.getStartTime().toEpochMilli();"},{"lineNumber":40,"author":{"gitId":"-"},"content":" this.endTimestamp \u003d notification.getEndTime().toEpochMilli();"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" this.createdAt \u003d notification.getCreatedAt() \u003d\u003d null"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" ? Instant.now().toEpochMilli() : notification.getCreatedAt().toEpochMilli();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" this.style \u003d notification.getStyle();"},{"lineNumber":44,"author":{"gitId":"-"},"content":" this.targetUser \u003d notification.getTargetUser();"},{"lineNumber":45,"author":{"gitId":"-"},"content":" this.title \u003d notification.getTitle();"},{"lineNumber":46,"author":{"gitId":"-"},"content":" this.message \u003d notification.getMessage();"},{"lineNumber":47,"author":{"gitId":"-"},"content":" this.shown \u003d notification.isShown();"},{"lineNumber":48,"author":{"gitId":"-"},"content":" }"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" public String getNotificationId() {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return this.notificationId;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" public long getStartTimestamp() {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" return this.startTimestamp;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" public long getEndTimestamp() {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" return this.endTimestamp;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" public long getCreatedAt() {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" return this.createdAt;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" public NotificationStyle getStyle() {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" return this.style;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" }"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" public NotificationTargetUser getTargetUser() {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" return this.targetUser;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" public String getTitle() {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" return this.title;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" public String getMessage() {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" return this.message;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" public boolean isShown() {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" return this.shown;"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":4,"-":81}},{"path":"src/main/java/teammates/ui/output/SessionResultsData.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.output;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.LinkedList;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Queue;"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"import java.util.Set;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import javax.annotation.Nullable;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.CourseRoster;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SessionResultsBundle;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.SqlCourseRoster;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.SqlSessionResultsBundle;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseAttributes;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseCommentAttributes;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackResponseDetails;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":36,"author":{"gitId":"-"},"content":" * API output format for session results, including statistics."},{"lineNumber":37,"author":{"gitId":"-"},"content":" */"},{"lineNumber":38,"author":{"gitId":"-"},"content":"public class SessionResultsData extends ApiOutput {"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String REGEX_ANONYMOUS_PARTICIPANT_HASH \u003d \"[0-9]{1,10}\";"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" final List\u003cQuestionOutput\u003e questions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" SessionResultsData() {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" // use factory method instead"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Factory method to construct API output for instructor."},{"lineNumber":50,"author":{"gitId":"-"},"content":" */"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static SessionResultsData initForInstructor(SessionResultsBundle bundle) {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" SessionResultsData sessionResultsData \u003d new SessionResultsData();"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" Map\u003cString, List\u003cFeedbackResponseAttributes\u003e\u003e questionsWithResponses \u003d"},{"lineNumber":55,"author":{"gitId":"-"},"content":" bundle.getQuestionResponseMap();"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" questionsWithResponses.forEach((questionId, responses) -\u003e {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes question \u003d bundle.getQuestionsMap().get(questionId);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails questionDetails \u003d question.getQuestionDetailsCopy();"},{"lineNumber":60,"author":{"gitId":"-"},"content":" QuestionOutput qnOutput \u003d new QuestionOutput(question,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" questionDetails.getQuestionResultStatisticsJson(question, null, bundle), false, false);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" // put normal responses"},{"lineNumber":63,"author":{"gitId":"-"},"content":" List\u003cResponseOutput\u003e allResponses \u003d buildResponsesForInstructor(responses, bundle, false);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" qnOutput.allResponses.addAll(allResponses);"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" // put missing responses"},{"lineNumber":67,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponseAttributes\u003e missingResponses \u003d bundle.getQuestionMissingResponseMap().get(questionId);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" qnOutput.allResponses.addAll(buildResponsesForInstructor(missingResponses, bundle, true));"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" sessionResultsData.questions.add(qnOutput);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" });"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" return sessionResultsData;"},{"lineNumber":74,"author":{"gitId":"-"},"content":" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":" * Factory method to construct API output for instructor."},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" public static SessionResultsData initForInstructor(SqlSessionResultsBundle bundle) {"},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" SessionResultsData sessionResultsData \u003d new SessionResultsData();"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e questionsWithResponses \u003d"},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" bundle.getQuestionResponseMap();"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":" questionsWithResponses.forEach((question, responses) -\u003e {"},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":" FeedbackQuestionDetails questionDetails \u003d question.getQuestionDetailsCopy();"},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" QuestionOutput qnOutput \u003d new QuestionOutput(question,"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" questionDetails.getQuestionResultStatisticsJson(question, null, bundle), false, false);"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" // put normal responses"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" List\u003cResponseOutput\u003e allResponses \u003d buildResponsesForInstructor(responses, bundle, false);"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":" qnOutput.allResponses.addAll(allResponses);"},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":93,"author":{"gitId":"xenosf"},"content":" // put missing responses"},{"lineNumber":94,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e missingResponses \u003d bundle.getQuestionMissingResponseMap().get(question);"},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":" qnOutput.allResponses.addAll(buildResponsesForInstructor(missingResponses, bundle, true));"},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" sessionResultsData.questions.add(qnOutput);"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":100,"author":{"gitId":"xenosf"},"content":" return sessionResultsData;"},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":102,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Factory method to construct API output for student."},{"lineNumber":105,"author":{"gitId":"-"},"content":" */"},{"lineNumber":106,"author":{"gitId":"-"},"content":" public static SessionResultsData initForStudent(SessionResultsBundle bundle, StudentAttributes student) {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" SessionResultsData sessionResultsData \u003d new SessionResultsData();"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" Map\u003cString, List\u003cFeedbackResponseAttributes\u003e\u003e questionsWithResponses \u003d"},{"lineNumber":110,"author":{"gitId":"-"},"content":" bundle.getQuestionResponseMap();"},{"lineNumber":111,"author":{"gitId":"-"},"content":" questionsWithResponses.forEach((questionId, responses) -\u003e {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes question \u003d bundle.getQuestionsMap().get(questionId);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails questionDetails \u003d question.getQuestionDetailsCopy();"},{"lineNumber":114,"author":{"gitId":"-"},"content":" // check if question has comments (on any responses) not visible for preview"},{"lineNumber":115,"author":{"gitId":"-"},"content":" boolean hasCommentNotVisibleForPreview \u003d bundle.getQuestionsWithCommentNotVisibleForPreview()"},{"lineNumber":116,"author":{"gitId":"-"},"content":" .contains(questionId);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" QuestionOutput qnOutput \u003d new QuestionOutput(question,"},{"lineNumber":118,"author":{"gitId":"-"},"content":" questionDetails.getQuestionResultStatisticsJson(question, student.getEmail(), bundle),"},{"lineNumber":119,"author":{"gitId":"-"},"content":" false, hasCommentNotVisibleForPreview);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" Map\u003cString, List\u003cResponseOutput\u003e\u003e otherResponsesMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" qnOutput.getFeedbackQuestion().hideInformationForStudent();"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" if (questionDetails.isIndividualResponsesShownToStudents()) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" for (FeedbackResponseAttributes response : responses) {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" boolean isUserInstructor \u003d Const.USER_TEAM_FOR_INSTRUCTOR.equals(student.getTeam());"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" boolean isUserGiver \u003d student.getEmail().equals(response.getGiver())"},{"lineNumber":129,"author":{"gitId":"-"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":130,"author":{"gitId":"-"},"content":" || !isUserInstructor \u0026\u0026 question.getGiverType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" boolean isUserRecipient \u003d student.getEmail().equals(response.getRecipient())"},{"lineNumber":132,"author":{"gitId":"-"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":133,"author":{"gitId":"-"},"content":" || !isUserInstructor \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" ResponseOutput responseOutput \u003d buildSingleResponseForStudent(response, bundle, student);"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" if (isUserRecipient) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" qnOutput.responsesToSelf.add(responseOutput);"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" if (isUserGiver) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" qnOutput.responsesFromSelf.add(responseOutput);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" if (!isUserRecipient \u0026\u0026 !isUserGiver) {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" // we don\u0027t need care about the keys of the map here"},{"lineNumber":146,"author":{"gitId":"-"},"content":" // as only the values of the map will be used"},{"lineNumber":147,"author":{"gitId":"-"},"content":" otherResponsesMap.computeIfAbsent(response.getRecipient(), k -\u003e new ArrayList\u003c\u003e())"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .add(responseOutput);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" qnOutput.allResponses.add(responseOutput);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":" qnOutput.otherResponses.addAll(otherResponsesMap.values());"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" sessionResultsData.questions.add(qnOutput);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" });"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" Map\u003cString, FeedbackQuestionAttributes\u003e questionsWithResponsesNotVisibleForPreview \u003d"},{"lineNumber":160,"author":{"gitId":"-"},"content":" bundle.getQuestionsNotVisibleForPreviewMap();"},{"lineNumber":161,"author":{"gitId":"-"},"content":" questionsWithResponsesNotVisibleForPreview.forEach((questionId, question) -\u003e {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" QuestionOutput qnOutput \u003d new QuestionOutput(question, \"\", true, false);"},{"lineNumber":163,"author":{"gitId":"-"},"content":" sessionResultsData.questions.add(qnOutput);"},{"lineNumber":164,"author":{"gitId":"-"},"content":" });"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" return sessionResultsData;"},{"lineNumber":167,"author":{"gitId":"-"},"content":" }"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":170,"author":{"gitId":"xenosf"},"content":" * Factory method to construct API output for student."},{"lineNumber":171,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":172,"author":{"gitId":"xenosf"},"content":" public static SessionResultsData initForStudent(SqlSessionResultsBundle bundle, Student student) {"},{"lineNumber":173,"author":{"gitId":"xenosf"},"content":" SessionResultsData sessionResultsData \u003d new SessionResultsData();"},{"lineNumber":174,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":175,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e questionsWithResponses \u003d"},{"lineNumber":176,"author":{"gitId":"xenosf"},"content":" bundle.getQuestionResponseMap();"},{"lineNumber":177,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":178,"author":{"gitId":"xenosf"},"content":" questionsWithResponses.forEach((question, responses) -\u003e {"},{"lineNumber":179,"author":{"gitId":"xenosf"},"content":" FeedbackQuestionDetails questionDetails \u003d question.getQuestionDetailsCopy();"},{"lineNumber":180,"author":{"gitId":"xenosf"},"content":" // check if question has comments (on any responses) not visible for preview"},{"lineNumber":181,"author":{"gitId":"xenosf"},"content":" boolean hasCommentNotVisibleForPreview \u003d bundle.getQuestionsWithCommentNotVisibleForPreviewSet()"},{"lineNumber":182,"author":{"gitId":"xenosf"},"content":" .contains(question);"},{"lineNumber":183,"author":{"gitId":"xenosf"},"content":" QuestionOutput qnOutput \u003d new QuestionOutput(question,"},{"lineNumber":184,"author":{"gitId":"xenosf"},"content":" questionDetails.getQuestionResultStatisticsJson(question, student.getEmail(), bundle),"},{"lineNumber":185,"author":{"gitId":"xenosf"},"content":" false, hasCommentNotVisibleForPreview);"},{"lineNumber":186,"author":{"gitId":"xenosf"},"content":" Map\u003cString, List\u003cResponseOutput\u003e\u003e otherResponsesMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":187,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":" qnOutput.getFeedbackQuestion().hideInformationForStudent();"},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" if (questionDetails.isIndividualResponsesShownToStudents()) {"},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":" boolean isUserInstructor \u003d Const.USER_TEAM_FOR_INSTRUCTOR.equals(student.getTeamName());"},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" boolean isUserGiver \u003d student.getEmail().equals(response.getGiver())"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":" || !isUserInstructor \u0026\u0026 question.getGiverType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":" boolean isUserRecipient \u003d student.getEmail().equals(response.getRecipient())"},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":199,"author":{"gitId":"xenosf"},"content":" || !isUserInstructor \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":" ResponseOutput responseOutput \u003d buildSingleResponseForStudent(response, bundle, student);"},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" if (isUserRecipient) {"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":" qnOutput.responsesToSelf.add(responseOutput);"},{"lineNumber":204,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":205,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":206,"author":{"gitId":"xenosf"},"content":" if (isUserGiver) {"},{"lineNumber":207,"author":{"gitId":"xenosf"},"content":" qnOutput.responsesFromSelf.add(responseOutput);"},{"lineNumber":208,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":209,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":210,"author":{"gitId":"xenosf"},"content":" if (!isUserRecipient \u0026\u0026 !isUserGiver) {"},{"lineNumber":211,"author":{"gitId":"xenosf"},"content":" // we don\u0027t need care about the keys of the map here"},{"lineNumber":212,"author":{"gitId":"xenosf"},"content":" // as only the values of the map will be used"},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" otherResponsesMap.computeIfAbsent(response.getRecipient(), k -\u003e new ArrayList\u003c\u003e())"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" .add(responseOutput);"},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":" qnOutput.allResponses.add(responseOutput);"},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":219,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":220,"author":{"gitId":"xenosf"},"content":" qnOutput.otherResponses.addAll(otherResponsesMap.values());"},{"lineNumber":221,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":222,"author":{"gitId":"xenosf"},"content":" sessionResultsData.questions.add(qnOutput);"},{"lineNumber":223,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":224,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":225,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackQuestion\u003e questionsWithResponsesNotVisibleForPreview \u003d"},{"lineNumber":226,"author":{"gitId":"xenosf"},"content":" bundle.getQuestionsNotVisibleForPreviewSet();"},{"lineNumber":227,"author":{"gitId":"xenosf"},"content":" questionsWithResponsesNotVisibleForPreview.forEach(question -\u003e {"},{"lineNumber":228,"author":{"gitId":"xenosf"},"content":" QuestionOutput qnOutput \u003d new QuestionOutput(question, \"\", true, false);"},{"lineNumber":229,"author":{"gitId":"xenosf"},"content":" sessionResultsData.questions.add(qnOutput);"},{"lineNumber":230,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":231,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":232,"author":{"gitId":"xenosf"},"content":" return sessionResultsData;"},{"lineNumber":233,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":234,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":235,"author":{"gitId":"-"},"content":" private static ResponseOutput buildSingleResponseForStudent("},{"lineNumber":236,"author":{"gitId":"-"},"content":" FeedbackResponseAttributes response, SessionResultsBundle bundle, StudentAttributes student) {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes question \u003d bundle.getQuestionsMap().get(response.getFeedbackQuestionId());"},{"lineNumber":238,"author":{"gitId":"-"},"content":" boolean isUserInstructor \u003d Const.USER_TEAM_FOR_INSTRUCTOR.equals(student.getTeam());"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" // process giver"},{"lineNumber":241,"author":{"gitId":"-"},"content":" boolean isUserGiver \u003d student.getEmail().equals(response.getGiver())"},{"lineNumber":242,"author":{"gitId":"-"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":243,"author":{"gitId":"-"},"content":" || !isUserInstructor \u0026\u0026 question.getGiverType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":244,"author":{"gitId":"-"},"content":" boolean isUserTeamGiver \u003d question.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":245,"author":{"gitId":"-"},"content":" \u0026\u0026 student.getTeam().equals(response.getGiver());"},{"lineNumber":246,"author":{"gitId":"-"},"content":" String giverName;"},{"lineNumber":247,"author":{"gitId":"-"},"content":" String giverTeam \u003d \"\";"},{"lineNumber":248,"author":{"gitId":"-"},"content":" if (isUserTeamGiver) {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" giverName \u003d String.format(\"Your Team (%s)\", response.getGiver());"},{"lineNumber":250,"author":{"gitId":"-"},"content":" giverTeam \u003d response.getGiver();"},{"lineNumber":251,"author":{"gitId":"-"},"content":" } else if (isUserGiver) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" giverName \u003d \"You\";"},{"lineNumber":253,"author":{"gitId":"-"},"content":" giverTeam \u003d student.getTeam();"},{"lineNumber":254,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" // we don\u0027t want student to figure out who is who by using the hash"},{"lineNumber":256,"author":{"gitId":"-"},"content":" giverName \u003d removeAnonymousHash(getGiverNameOfResponse(response, bundle));"},{"lineNumber":257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" // process recipient"},{"lineNumber":260,"author":{"gitId":"-"},"content":" boolean isUserRecipient \u003d student.getEmail().equals(response.getRecipient())"},{"lineNumber":261,"author":{"gitId":"-"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":262,"author":{"gitId":"-"},"content":" || !isUserInstructor \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":263,"author":{"gitId":"-"},"content":" boolean isUserTeamRecipient \u003d (question.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":264,"author":{"gitId":"-"},"content":" || question.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS_IN_SAME_SECTION)"},{"lineNumber":265,"author":{"gitId":"-"},"content":" \u0026\u0026 student.getTeam().equals(response.getRecipient());"},{"lineNumber":266,"author":{"gitId":"-"},"content":" String recipientName;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" String recipientTeam \u003d \"\";"},{"lineNumber":268,"author":{"gitId":"-"},"content":" if (isUserRecipient) {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" recipientName \u003d \"You\";"},{"lineNumber":270,"author":{"gitId":"-"},"content":" recipientTeam \u003d student.getTeam();"},{"lineNumber":271,"author":{"gitId":"-"},"content":" } else if (isUserTeamRecipient) {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" recipientName \u003d String.format(\"Your Team (%s)\", response.getRecipient());"},{"lineNumber":273,"author":{"gitId":"-"},"content":" recipientTeam \u003d response.getRecipient();"},{"lineNumber":274,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":275,"author":{"gitId":"-"},"content":" // we don\u0027t want student to figure out who is who by using the hash"},{"lineNumber":276,"author":{"gitId":"-"},"content":" recipientName \u003d removeAnonymousHash(getRecipientNameOfResponse(response, bundle));"},{"lineNumber":277,"author":{"gitId":"-"},"content":" if (!recipientName.contains(Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT)) {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" recipientTeam \u003d bundle.getRoster().getInfoForIdentifier(response.getRecipient()).getTeamName();"},{"lineNumber":279,"author":{"gitId":"-"},"content":" }"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" // process comments"},{"lineNumber":283,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponseCommentAttributes\u003e feedbackResponseComments \u003d"},{"lineNumber":284,"author":{"gitId":"-"},"content":" bundle.getResponseCommentsMap().getOrDefault(response.getId(), Collections.emptyList());"},{"lineNumber":285,"author":{"gitId":"-"},"content":" Queue\u003cCommentOutput\u003e comments \u003d buildComments(feedbackResponseComments, bundle);"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" return ResponseOutput.builder()"},{"lineNumber":288,"author":{"gitId":"-"},"content":" .withResponseId(response.getId())"},{"lineNumber":289,"author":{"gitId":"-"},"content":" .withGiver(giverName)"},{"lineNumber":290,"author":{"gitId":"-"},"content":" .withGiverTeam(giverTeam)"},{"lineNumber":291,"author":{"gitId":"-"},"content":" .withGiverEmail(null)"},{"lineNumber":292,"author":{"gitId":"-"},"content":" .withRelatedGiverEmail(null)"},{"lineNumber":293,"author":{"gitId":"xenosf"},"content":" .withGiverSectionName(response.getGiverSection())"},{"lineNumber":294,"author":{"gitId":"xenosf"},"content":" .withRecipient(recipientName)"},{"lineNumber":295,"author":{"gitId":"xenosf"},"content":" .withRecipientTeam(recipientTeam)"},{"lineNumber":296,"author":{"gitId":"xenosf"},"content":" .withRecipientEmail(null)"},{"lineNumber":297,"author":{"gitId":"xenosf"},"content":" .withRecipientSectionName(response.getRecipientSection())"},{"lineNumber":298,"author":{"gitId":"xenosf"},"content":" .withResponseDetails(response.getResponseDetailsCopy())"},{"lineNumber":299,"author":{"gitId":"xenosf"},"content":" .withParticipantComment(comments.poll())"},{"lineNumber":300,"author":{"gitId":"xenosf"},"content":" .withInstructorComments(new ArrayList\u003c\u003e(comments))"},{"lineNumber":301,"author":{"gitId":"xenosf"},"content":" .build();"},{"lineNumber":302,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":303,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":304,"author":{"gitId":"xenosf"},"content":" private static ResponseOutput buildSingleResponseForStudent("},{"lineNumber":305,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response, SqlSessionResultsBundle bundle, Student student) {"},{"lineNumber":306,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question \u003d response.getFeedbackQuestion();"},{"lineNumber":307,"author":{"gitId":"xenosf"},"content":" boolean isUserInstructor \u003d Const.USER_TEAM_FOR_INSTRUCTOR.equals(student.getTeamName());"},{"lineNumber":308,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":309,"author":{"gitId":"xenosf"},"content":" // process giver"},{"lineNumber":310,"author":{"gitId":"xenosf"},"content":" boolean isUserGiver \u003d student.getEmail().equals(response.getGiver())"},{"lineNumber":311,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":312,"author":{"gitId":"xenosf"},"content":" || !isUserInstructor \u0026\u0026 question.getGiverType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":313,"author":{"gitId":"xenosf"},"content":" boolean isUserTeamGiver \u003d question.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":314,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 student.getTeamName().equals(response.getGiver());"},{"lineNumber":315,"author":{"gitId":"xenosf"},"content":" String giverName;"},{"lineNumber":316,"author":{"gitId":"xenosf"},"content":" String giverTeam \u003d \"\";"},{"lineNumber":317,"author":{"gitId":"xenosf"},"content":" if (isUserTeamGiver) {"},{"lineNumber":318,"author":{"gitId":"xenosf"},"content":" giverName \u003d String.format(\"Your Team (%s)\", response.getGiver());"},{"lineNumber":319,"author":{"gitId":"xenosf"},"content":" giverTeam \u003d response.getGiver();"},{"lineNumber":320,"author":{"gitId":"xenosf"},"content":" } else if (isUserGiver) {"},{"lineNumber":321,"author":{"gitId":"xenosf"},"content":" giverName \u003d \"You\";"},{"lineNumber":322,"author":{"gitId":"xenosf"},"content":" giverTeam \u003d student.getTeamName();"},{"lineNumber":323,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":324,"author":{"gitId":"xenosf"},"content":" // we don\u0027t want student to figure out who is who by using the hash"},{"lineNumber":325,"author":{"gitId":"xenosf"},"content":" giverName \u003d removeAnonymousHash(getGiverNameOfResponse(response, bundle));"},{"lineNumber":326,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":327,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":328,"author":{"gitId":"xenosf"},"content":" // process recipient"},{"lineNumber":329,"author":{"gitId":"xenosf"},"content":" boolean isUserRecipient \u003d student.getEmail().equals(response.getRecipient())"},{"lineNumber":330,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":331,"author":{"gitId":"xenosf"},"content":" || !isUserInstructor \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":332,"author":{"gitId":"xenosf"},"content":" boolean isUserTeamRecipient \u003d (question.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":333,"author":{"gitId":"xenosf"},"content":" || question.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS_IN_SAME_SECTION)"},{"lineNumber":334,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 student.getTeamName().equals(response.getRecipient());"},{"lineNumber":335,"author":{"gitId":"xenosf"},"content":" String recipientName;"},{"lineNumber":336,"author":{"gitId":"xenosf"},"content":" String recipientTeam \u003d \"\";"},{"lineNumber":337,"author":{"gitId":"xenosf"},"content":" if (isUserRecipient) {"},{"lineNumber":338,"author":{"gitId":"xenosf"},"content":" recipientName \u003d \"You\";"},{"lineNumber":339,"author":{"gitId":"xenosf"},"content":" recipientTeam \u003d student.getTeamName();"},{"lineNumber":340,"author":{"gitId":"xenosf"},"content":" } else if (isUserTeamRecipient) {"},{"lineNumber":341,"author":{"gitId":"xenosf"},"content":" recipientName \u003d String.format(\"Your Team (%s)\", response.getRecipient());"},{"lineNumber":342,"author":{"gitId":"xenosf"},"content":" recipientTeam \u003d response.getRecipient();"},{"lineNumber":343,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":344,"author":{"gitId":"xenosf"},"content":" // we don\u0027t want student to figure out who is who by using the hash"},{"lineNumber":345,"author":{"gitId":"xenosf"},"content":" recipientName \u003d removeAnonymousHash(getRecipientNameOfResponse(response, bundle));"},{"lineNumber":346,"author":{"gitId":"xenosf"},"content":" if (!recipientName.contains(Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT)) {"},{"lineNumber":347,"author":{"gitId":"xenosf"},"content":" recipientTeam \u003d bundle.getRoster().getInfoForIdentifier(response.getRecipient()).getTeamName();"},{"lineNumber":348,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":349,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":350,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":351,"author":{"gitId":"xenosf"},"content":" // process comments"},{"lineNumber":352,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e feedbackResponseComments \u003d"},{"lineNumber":353,"author":{"gitId":"xenosf"},"content":" bundle.getResponseCommentsMap().getOrDefault(response, Collections.emptyList());"},{"lineNumber":354,"author":{"gitId":"xenosf"},"content":" Queue\u003cCommentOutput\u003e comments \u003d buildComments(feedbackResponseComments, bundle);"},{"lineNumber":355,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":356,"author":{"gitId":"xenosf"},"content":" return ResponseOutput.builder()"},{"lineNumber":357,"author":{"gitId":"xenosf"},"content":" .withResponse(response)"},{"lineNumber":358,"author":{"gitId":"xenosf"},"content":" .withGiver(giverName)"},{"lineNumber":359,"author":{"gitId":"xenosf"},"content":" .withGiverTeam(giverTeam)"},{"lineNumber":360,"author":{"gitId":"xenosf"},"content":" .withGiverEmail(null)"},{"lineNumber":361,"author":{"gitId":"xenosf"},"content":" .withRelatedGiverEmail(null)"},{"lineNumber":362,"author":{"gitId":"-"},"content":" .withGiverSection(response.getGiverSection())"},{"lineNumber":363,"author":{"gitId":"-"},"content":" .withRecipient(recipientName)"},{"lineNumber":364,"author":{"gitId":"-"},"content":" .withRecipientTeam(recipientTeam)"},{"lineNumber":365,"author":{"gitId":"-"},"content":" .withRecipientEmail(null)"},{"lineNumber":366,"author":{"gitId":"-"},"content":" .withRecipientSection(response.getRecipientSection())"},{"lineNumber":367,"author":{"gitId":"xenosf"},"content":" .withResponseDetails(response.getFeedbackResponseDetailsCopy())"},{"lineNumber":368,"author":{"gitId":"-"},"content":" .withParticipantComment(comments.poll())"},{"lineNumber":369,"author":{"gitId":"-"},"content":" .withInstructorComments(new ArrayList\u003c\u003e(comments))"},{"lineNumber":370,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":371,"author":{"gitId":"-"},"content":" }"},{"lineNumber":372,"author":{"gitId":"-"},"content":""},{"lineNumber":373,"author":{"gitId":"-"},"content":" private static String removeAnonymousHash(String identifier) {"},{"lineNumber":374,"author":{"gitId":"-"},"content":" return identifier.replaceAll(Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT + \" (student|instructor|team) \""},{"lineNumber":375,"author":{"gitId":"-"},"content":" + REGEX_ANONYMOUS_PARTICIPANT_HASH, Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT + \" $1\");"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":""},{"lineNumber":378,"author":{"gitId":"-"},"content":" private static List\u003cResponseOutput\u003e buildResponsesForInstructor("},{"lineNumber":379,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponseAttributes\u003e responses, SessionResultsBundle bundle, boolean areMissingResponses) {"},{"lineNumber":380,"author":{"gitId":"-"},"content":" List\u003cResponseOutput\u003e output \u003d new ArrayList\u003c\u003e();"},{"lineNumber":381,"author":{"gitId":"-"},"content":""},{"lineNumber":382,"author":{"gitId":"-"},"content":" for (FeedbackResponseAttributes response : responses) {"},{"lineNumber":383,"author":{"gitId":"-"},"content":" output.add(buildSingleResponseForInstructor(response, bundle, areMissingResponses));"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" return output;"},{"lineNumber":387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":388,"author":{"gitId":"-"},"content":""},{"lineNumber":389,"author":{"gitId":"xenosf"},"content":" private static List\u003cResponseOutput\u003e buildResponsesForInstructor("},{"lineNumber":390,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e responses, SqlSessionResultsBundle bundle, boolean areMissingResponses) {"},{"lineNumber":391,"author":{"gitId":"xenosf"},"content":" List\u003cResponseOutput\u003e output \u003d new ArrayList\u003c\u003e();"},{"lineNumber":392,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":393,"author":{"gitId":"xenosf"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":394,"author":{"gitId":"xenosf"},"content":" output.add(buildSingleResponseForInstructor(response, bundle, areMissingResponses));"},{"lineNumber":395,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":396,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":397,"author":{"gitId":"xenosf"},"content":" return output;"},{"lineNumber":398,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":399,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" private static ResponseOutput buildSingleResponseForInstructor("},{"lineNumber":401,"author":{"gitId":"-"},"content":" FeedbackResponseAttributes response, SessionResultsBundle bundle, boolean isMissingResponse) {"},{"lineNumber":402,"author":{"gitId":"-"},"content":" // process giver"},{"lineNumber":403,"author":{"gitId":"-"},"content":" String giverEmail \u003d null;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" String relatedGiverEmail \u003d null;"},{"lineNumber":405,"author":{"gitId":"-"},"content":" if (bundle.isResponseGiverVisible(response)) {"},{"lineNumber":406,"author":{"gitId":"-"},"content":" giverEmail \u003d response.getGiver();"},{"lineNumber":407,"author":{"gitId":"-"},"content":" relatedGiverEmail \u003d response.getGiver();"},{"lineNumber":408,"author":{"gitId":"-"},"content":""},{"lineNumber":409,"author":{"gitId":"-"},"content":" if (bundle.getRoster().isTeamInCourse(giverEmail)) {"},{"lineNumber":410,"author":{"gitId":"-"},"content":" // remove recipient email as it is a team name"},{"lineNumber":411,"author":{"gitId":"-"},"content":" relatedGiverEmail \u003d"},{"lineNumber":412,"author":{"gitId":"-"},"content":" bundle.getRoster().getTeamToMembersTable().get(giverEmail).iterator().next().getEmail();"},{"lineNumber":413,"author":{"gitId":"-"},"content":" giverEmail \u003d null;"},{"lineNumber":414,"author":{"gitId":"-"},"content":" }"},{"lineNumber":415,"author":{"gitId":"-"},"content":" }"},{"lineNumber":416,"author":{"gitId":"-"},"content":" String giverName \u003d getGiverNameOfResponse(response, bundle);"},{"lineNumber":417,"author":{"gitId":"-"},"content":" String giverTeam \u003d bundle.getRoster().getInfoForIdentifier(response.getGiver()).getTeamName();"},{"lineNumber":418,"author":{"gitId":"-"},"content":" String giverSection \u003d response.getGiverSection();"},{"lineNumber":419,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes question \u003d bundle.getQuestionsMap().get(response.getFeedbackQuestionId());"},{"lineNumber":420,"author":{"gitId":"-"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS) {"},{"lineNumber":421,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d bundle.getRoster().getInstructorForEmail(response.getGiver());"},{"lineNumber":422,"author":{"gitId":"-"},"content":" giverName \u003d instructor.getName();"},{"lineNumber":423,"author":{"gitId":"-"},"content":" giverTeam \u003d Const.USER_TEAM_FOR_INSTRUCTOR;"},{"lineNumber":424,"author":{"gitId":"-"},"content":" giverSection \u003d Const.DEFAULT_SECTION;"},{"lineNumber":425,"author":{"gitId":"-"},"content":" }"},{"lineNumber":426,"author":{"gitId":"-"},"content":""},{"lineNumber":427,"author":{"gitId":"-"},"content":" // process recipient"},{"lineNumber":428,"author":{"gitId":"-"},"content":" String recipientEmail \u003d null;"},{"lineNumber":429,"author":{"gitId":"-"},"content":" String recipientName \u003d getRecipientNameOfResponse(response, bundle);"},{"lineNumber":430,"author":{"gitId":"-"},"content":" String recipientTeam \u003d"},{"lineNumber":431,"author":{"gitId":"-"},"content":" bundle.getRoster().getInfoForIdentifier(response.getRecipient()).getTeamName();"},{"lineNumber":432,"author":{"gitId":"-"},"content":" String recipientSection \u003d response.getRecipientSection();"},{"lineNumber":433,"author":{"gitId":"-"},"content":" if (question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS) {"},{"lineNumber":434,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d bundle.getRoster().getInstructorForEmail(response.getRecipient());"},{"lineNumber":435,"author":{"gitId":"-"},"content":" recipientName \u003d instructor.getName();"},{"lineNumber":436,"author":{"gitId":"-"},"content":" recipientTeam \u003d Const.USER_TEAM_FOR_INSTRUCTOR;"},{"lineNumber":437,"author":{"gitId":"-"},"content":" recipientSection \u003d Const.DEFAULT_SECTION;"},{"lineNumber":438,"author":{"gitId":"-"},"content":" }"},{"lineNumber":439,"author":{"gitId":"-"},"content":" if (bundle.isResponseRecipientVisible(response)) {"},{"lineNumber":440,"author":{"gitId":"-"},"content":" recipientEmail \u003d response.getRecipient();"},{"lineNumber":441,"author":{"gitId":"-"},"content":""},{"lineNumber":442,"author":{"gitId":"-"},"content":" if (bundle.getRoster().isTeamInCourse(recipientEmail)) {"},{"lineNumber":443,"author":{"gitId":"-"},"content":" // remove recipient email as it is a team name"},{"lineNumber":444,"author":{"gitId":"-"},"content":" recipientEmail \u003d null;"},{"lineNumber":445,"author":{"gitId":"-"},"content":" } else if (Const.GENERAL_QUESTION.equals(recipientEmail)) {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" // general recipient does not have email"},{"lineNumber":447,"author":{"gitId":"-"},"content":" recipientEmail \u003d null;"},{"lineNumber":448,"author":{"gitId":"-"},"content":" }"},{"lineNumber":449,"author":{"gitId":"-"},"content":" }"},{"lineNumber":450,"author":{"gitId":"-"},"content":""},{"lineNumber":451,"author":{"gitId":"-"},"content":" // process comments"},{"lineNumber":452,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponseCommentAttributes\u003e feedbackResponseComments \u003d"},{"lineNumber":453,"author":{"gitId":"-"},"content":" bundle.getResponseCommentsMap().getOrDefault(response.getId(), Collections.emptyList());"},{"lineNumber":454,"author":{"gitId":"-"},"content":" Queue\u003cCommentOutput\u003e comments \u003d buildComments(feedbackResponseComments, bundle);"},{"lineNumber":455,"author":{"gitId":"-"},"content":""},{"lineNumber":456,"author":{"gitId":"-"},"content":" return ResponseOutput.builder()"},{"lineNumber":457,"author":{"gitId":"-"},"content":" .withIsMissingResponse(isMissingResponse)"},{"lineNumber":458,"author":{"gitId":"-"},"content":" .withResponseId(response.getId())"},{"lineNumber":459,"author":{"gitId":"-"},"content":" .withGiver(giverName)"},{"lineNumber":460,"author":{"gitId":"-"},"content":" .withGiverTeam(giverTeam)"},{"lineNumber":461,"author":{"gitId":"-"},"content":" .withGiverEmail(giverEmail)"},{"lineNumber":462,"author":{"gitId":"-"},"content":" .withRelatedGiverEmail(relatedGiverEmail)"},{"lineNumber":463,"author":{"gitId":"xenosf"},"content":" .withGiverSectionName(giverSection)"},{"lineNumber":464,"author":{"gitId":"-"},"content":" .withRecipient(recipientName)"},{"lineNumber":465,"author":{"gitId":"-"},"content":" .withRecipientTeam(recipientTeam)"},{"lineNumber":466,"author":{"gitId":"-"},"content":" .withRecipientEmail(recipientEmail)"},{"lineNumber":467,"author":{"gitId":"xenosf"},"content":" .withRecipientSectionName(recipientSection)"},{"lineNumber":468,"author":{"gitId":"-"},"content":" .withResponseDetails(response.getResponseDetailsCopy())"},{"lineNumber":469,"author":{"gitId":"-"},"content":" .withParticipantComment(comments.poll())"},{"lineNumber":470,"author":{"gitId":"-"},"content":" .withInstructorComments(new ArrayList\u003c\u003e(comments))"},{"lineNumber":471,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":472,"author":{"gitId":"-"},"content":" }"},{"lineNumber":473,"author":{"gitId":"-"},"content":""},{"lineNumber":474,"author":{"gitId":"xenosf"},"content":" private static ResponseOutput buildSingleResponseForInstructor("},{"lineNumber":475,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response, SqlSessionResultsBundle bundle, boolean isMissingResponse) {"},{"lineNumber":476,"author":{"gitId":"xenosf"},"content":" // process giver"},{"lineNumber":477,"author":{"gitId":"xenosf"},"content":" String giverEmail \u003d null;"},{"lineNumber":478,"author":{"gitId":"xenosf"},"content":" String relatedGiverEmail \u003d null;"},{"lineNumber":479,"author":{"gitId":"xenosf"},"content":" if (bundle.isResponseGiverVisible(response)) {"},{"lineNumber":480,"author":{"gitId":"xenosf"},"content":" giverEmail \u003d response.getGiver();"},{"lineNumber":481,"author":{"gitId":"xenosf"},"content":" relatedGiverEmail \u003d response.getGiver();"},{"lineNumber":482,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":483,"author":{"gitId":"xenosf"},"content":" if (bundle.getRoster().isTeamInCourse(giverEmail)) {"},{"lineNumber":484,"author":{"gitId":"xenosf"},"content":" // remove recipient email as it is a team name"},{"lineNumber":485,"author":{"gitId":"xenosf"},"content":" relatedGiverEmail \u003d"},{"lineNumber":486,"author":{"gitId":"xenosf"},"content":" bundle.getRoster().getTeamToMembersTable().get(giverEmail).iterator().next().getEmail();"},{"lineNumber":487,"author":{"gitId":"xenosf"},"content":" giverEmail \u003d null;"},{"lineNumber":488,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":489,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":490,"author":{"gitId":"xenosf"},"content":" String giverName \u003d getGiverNameOfResponse(response, bundle);"},{"lineNumber":491,"author":{"gitId":"xenosf"},"content":" String giverTeam \u003d bundle.getRoster().getInfoForIdentifier(response.getGiver()).getTeamName();"},{"lineNumber":492,"author":{"gitId":"xenosf"},"content":" String giverSectionName \u003d response.getGiverSectionName();"},{"lineNumber":493,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question \u003d response.getFeedbackQuestion();"},{"lineNumber":494,"author":{"gitId":"xenosf"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS) {"},{"lineNumber":495,"author":{"gitId":"xenosf"},"content":" Instructor instructor \u003d bundle.getRoster().getInstructorForEmail(response.getGiver());"},{"lineNumber":496,"author":{"gitId":"xenosf"},"content":" giverName \u003d instructor.getName();"},{"lineNumber":497,"author":{"gitId":"xenosf"},"content":" giverTeam \u003d Const.USER_TEAM_FOR_INSTRUCTOR;"},{"lineNumber":498,"author":{"gitId":"xenosf"},"content":" giverSectionName \u003d Const.DEFAULT_SECTION;"},{"lineNumber":499,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":500,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":501,"author":{"gitId":"xenosf"},"content":" // process recipient"},{"lineNumber":502,"author":{"gitId":"xenosf"},"content":" String recipientEmail \u003d null;"},{"lineNumber":503,"author":{"gitId":"xenosf"},"content":" String recipientName \u003d getRecipientNameOfResponse(response, bundle);"},{"lineNumber":504,"author":{"gitId":"xenosf"},"content":" String recipientTeam \u003d"},{"lineNumber":505,"author":{"gitId":"xenosf"},"content":" bundle.getRoster().getInfoForIdentifier(response.getRecipient()).getTeamName();"},{"lineNumber":506,"author":{"gitId":"xenosf"},"content":" String recipientSectionName \u003d response.getRecipientSectionName();"},{"lineNumber":507,"author":{"gitId":"xenosf"},"content":" if (question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS) {"},{"lineNumber":508,"author":{"gitId":"xenosf"},"content":" Instructor instructor \u003d bundle.getRoster().getInstructorForEmail(response.getRecipient());"},{"lineNumber":509,"author":{"gitId":"xenosf"},"content":" recipientName \u003d instructor.getName();"},{"lineNumber":510,"author":{"gitId":"xenosf"},"content":" recipientTeam \u003d Const.USER_TEAM_FOR_INSTRUCTOR;"},{"lineNumber":511,"author":{"gitId":"xenosf"},"content":" recipientSectionName \u003d Const.DEFAULT_SECTION;"},{"lineNumber":512,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":513,"author":{"gitId":"xenosf"},"content":" if (bundle.isResponseRecipientVisible(response)) {"},{"lineNumber":514,"author":{"gitId":"xenosf"},"content":" recipientEmail \u003d response.getRecipient();"},{"lineNumber":515,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":516,"author":{"gitId":"xenosf"},"content":" if (bundle.getRoster().isTeamInCourse(recipientEmail)) {"},{"lineNumber":517,"author":{"gitId":"xenosf"},"content":" // remove recipient email as it is a team name"},{"lineNumber":518,"author":{"gitId":"xenosf"},"content":" recipientEmail \u003d null;"},{"lineNumber":519,"author":{"gitId":"xenosf"},"content":" } else if (Const.GENERAL_QUESTION.equals(recipientEmail)) {"},{"lineNumber":520,"author":{"gitId":"xenosf"},"content":" // general recipient does not have email"},{"lineNumber":521,"author":{"gitId":"xenosf"},"content":" recipientEmail \u003d null;"},{"lineNumber":522,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":523,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":524,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":525,"author":{"gitId":"xenosf"},"content":" // process comments"},{"lineNumber":526,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e feedbackResponseComments \u003d"},{"lineNumber":527,"author":{"gitId":"xenosf"},"content":" bundle.getResponseCommentsMap().getOrDefault(response, Collections.emptyList());"},{"lineNumber":528,"author":{"gitId":"xenosf"},"content":" Queue\u003cCommentOutput\u003e comments \u003d buildComments(feedbackResponseComments, bundle);"},{"lineNumber":529,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":530,"author":{"gitId":"xenosf"},"content":" return ResponseOutput.builder()"},{"lineNumber":531,"author":{"gitId":"xenosf"},"content":" .withIsMissingResponse(isMissingResponse)"},{"lineNumber":532,"author":{"gitId":"xenosf"},"content":" .withResponse(response)"},{"lineNumber":533,"author":{"gitId":"xenosf"},"content":" .withGiver(giverName)"},{"lineNumber":534,"author":{"gitId":"xenosf"},"content":" .withGiverTeam(giverTeam)"},{"lineNumber":535,"author":{"gitId":"xenosf"},"content":" .withGiverEmail(giverEmail)"},{"lineNumber":536,"author":{"gitId":"xenosf"},"content":" .withRelatedGiverEmail(relatedGiverEmail)"},{"lineNumber":537,"author":{"gitId":"xenosf"},"content":" .withGiverSectionName(giverSectionName)"},{"lineNumber":538,"author":{"gitId":"xenosf"},"content":" .withRecipient(recipientName)"},{"lineNumber":539,"author":{"gitId":"xenosf"},"content":" .withRecipientTeam(recipientTeam)"},{"lineNumber":540,"author":{"gitId":"xenosf"},"content":" .withRecipientEmail(recipientEmail)"},{"lineNumber":541,"author":{"gitId":"xenosf"},"content":" .withRecipientSectionName(recipientSectionName)"},{"lineNumber":542,"author":{"gitId":"xenosf"},"content":" .withResponseDetails(response.getFeedbackResponseDetailsCopy())"},{"lineNumber":543,"author":{"gitId":"xenosf"},"content":" .withParticipantComment(comments.poll())"},{"lineNumber":544,"author":{"gitId":"xenosf"},"content":" .withInstructorComments(new ArrayList\u003c\u003e(comments))"},{"lineNumber":545,"author":{"gitId":"xenosf"},"content":" .build();"},{"lineNumber":546,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":547,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":548,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":549,"author":{"gitId":"-"},"content":" * Gets giver name of a response from the bundle."},{"lineNumber":550,"author":{"gitId":"-"},"content":" *"},{"lineNumber":551,"author":{"gitId":"-"},"content":" * \u003cp\u003eAnonymized the name if necessary."},{"lineNumber":552,"author":{"gitId":"-"},"content":" */"},{"lineNumber":553,"author":{"gitId":"-"},"content":" private static String getGiverNameOfResponse(FeedbackResponseAttributes response, SessionResultsBundle bundle) {"},{"lineNumber":554,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes question \u003d bundle.getQuestionsMap().get(response.getFeedbackQuestionId());"},{"lineNumber":555,"author":{"gitId":"-"},"content":" FeedbackParticipantType participantType \u003d question.getGiverType();"},{"lineNumber":556,"author":{"gitId":"-"},"content":""},{"lineNumber":557,"author":{"gitId":"-"},"content":" CourseRoster.ParticipantInfo userInfo \u003d bundle.getRoster().getInfoForIdentifier(response.getGiver());"},{"lineNumber":558,"author":{"gitId":"-"},"content":" String name \u003d userInfo.getName();"},{"lineNumber":559,"author":{"gitId":"-"},"content":""},{"lineNumber":560,"author":{"gitId":"-"},"content":" if (!bundle.isResponseGiverVisible(response)) {"},{"lineNumber":561,"author":{"gitId":"-"},"content":" name \u003d SessionResultsBundle.getAnonName(participantType, name);"},{"lineNumber":562,"author":{"gitId":"-"},"content":" }"},{"lineNumber":563,"author":{"gitId":"-"},"content":""},{"lineNumber":564,"author":{"gitId":"-"},"content":" return name;"},{"lineNumber":565,"author":{"gitId":"-"},"content":" }"},{"lineNumber":566,"author":{"gitId":"-"},"content":""},{"lineNumber":567,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":568,"author":{"gitId":"xenosf"},"content":" * Gets giver name of a response from the bundle."},{"lineNumber":569,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":570,"author":{"gitId":"xenosf"},"content":" * \u003cp\u003eAnonymized the name if necessary."},{"lineNumber":571,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":572,"author":{"gitId":"xenosf"},"content":" private static String getGiverNameOfResponse(FeedbackResponse response, SqlSessionResultsBundle bundle) {"},{"lineNumber":573,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question \u003d response.getFeedbackQuestion();"},{"lineNumber":574,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType participantType \u003d question.getGiverType();"},{"lineNumber":575,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":576,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster.ParticipantInfo userInfo \u003d bundle.getRoster().getInfoForIdentifier(response.getGiver());"},{"lineNumber":577,"author":{"gitId":"xenosf"},"content":" String name \u003d userInfo.getName();"},{"lineNumber":578,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":579,"author":{"gitId":"xenosf"},"content":" if (!bundle.isResponseGiverVisible(response)) {"},{"lineNumber":580,"author":{"gitId":"xenosf"},"content":" name \u003d SessionResultsBundle.getAnonName(participantType, name);"},{"lineNumber":581,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":582,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":583,"author":{"gitId":"xenosf"},"content":" return name;"},{"lineNumber":584,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":585,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":586,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":587,"author":{"gitId":"-"},"content":" * Gets recipient name of a response from the bundle."},{"lineNumber":588,"author":{"gitId":"-"},"content":" *"},{"lineNumber":589,"author":{"gitId":"-"},"content":" * \u003cp\u003eAnonymized the name if necessary."},{"lineNumber":590,"author":{"gitId":"-"},"content":" */"},{"lineNumber":591,"author":{"gitId":"-"},"content":" private static String getRecipientNameOfResponse(FeedbackResponseAttributes response, SessionResultsBundle bundle) {"},{"lineNumber":592,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes question \u003d bundle.getQuestionsMap().get(response.getFeedbackQuestionId());"},{"lineNumber":593,"author":{"gitId":"-"},"content":" FeedbackParticipantType participantType \u003d question.getRecipientType();"},{"lineNumber":594,"author":{"gitId":"-"},"content":" if (participantType \u003d\u003d FeedbackParticipantType.SELF) {"},{"lineNumber":595,"author":{"gitId":"-"},"content":" // recipient type for self-feedback is the same as the giver type"},{"lineNumber":596,"author":{"gitId":"-"},"content":" participantType \u003d question.getGiverType();"},{"lineNumber":597,"author":{"gitId":"-"},"content":" }"},{"lineNumber":598,"author":{"gitId":"-"},"content":""},{"lineNumber":599,"author":{"gitId":"-"},"content":" CourseRoster.ParticipantInfo userInfo \u003d bundle.getRoster().getInfoForIdentifier(response.getRecipient());"},{"lineNumber":600,"author":{"gitId":"-"},"content":" String name \u003d userInfo.getName();"},{"lineNumber":601,"author":{"gitId":"-"},"content":" if (Const.GENERAL_QUESTION.equals(response.getRecipient())) {"},{"lineNumber":602,"author":{"gitId":"-"},"content":" // for general question"},{"lineNumber":603,"author":{"gitId":"-"},"content":" name \u003d Const.USER_NOBODY_TEXT;"},{"lineNumber":604,"author":{"gitId":"-"},"content":" }"},{"lineNumber":605,"author":{"gitId":"-"},"content":" if (!bundle.isResponseRecipientVisible(response)) {"},{"lineNumber":606,"author":{"gitId":"-"},"content":" name \u003d SessionResultsBundle.getAnonName(participantType, name);"},{"lineNumber":607,"author":{"gitId":"-"},"content":" }"},{"lineNumber":608,"author":{"gitId":"-"},"content":""},{"lineNumber":609,"author":{"gitId":"-"},"content":" return name;"},{"lineNumber":610,"author":{"gitId":"-"},"content":" }"},{"lineNumber":611,"author":{"gitId":"-"},"content":""},{"lineNumber":612,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":613,"author":{"gitId":"xenosf"},"content":" * Gets recipient name of a response from the bundle."},{"lineNumber":614,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":615,"author":{"gitId":"xenosf"},"content":" * \u003cp\u003eAnonymized the name if necessary."},{"lineNumber":616,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":617,"author":{"gitId":"xenosf"},"content":" private static String getRecipientNameOfResponse(FeedbackResponse response, SqlSessionResultsBundle bundle) {"},{"lineNumber":618,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question \u003d response.getFeedbackQuestion();"},{"lineNumber":619,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType participantType \u003d question.getRecipientType();"},{"lineNumber":620,"author":{"gitId":"xenosf"},"content":" if (participantType \u003d\u003d FeedbackParticipantType.SELF) {"},{"lineNumber":621,"author":{"gitId":"xenosf"},"content":" // recipient type for self-feedback is the same as the giver type"},{"lineNumber":622,"author":{"gitId":"xenosf"},"content":" participantType \u003d question.getGiverType();"},{"lineNumber":623,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":624,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":625,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster.ParticipantInfo userInfo \u003d bundle.getRoster().getInfoForIdentifier(response.getRecipient());"},{"lineNumber":626,"author":{"gitId":"xenosf"},"content":" String name \u003d userInfo.getName();"},{"lineNumber":627,"author":{"gitId":"xenosf"},"content":" if (Const.GENERAL_QUESTION.equals(response.getRecipient())) {"},{"lineNumber":628,"author":{"gitId":"xenosf"},"content":" // for general question"},{"lineNumber":629,"author":{"gitId":"xenosf"},"content":" name \u003d Const.USER_NOBODY_TEXT;"},{"lineNumber":630,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":631,"author":{"gitId":"xenosf"},"content":" if (!bundle.isResponseRecipientVisible(response)) {"},{"lineNumber":632,"author":{"gitId":"xenosf"},"content":" name \u003d SessionResultsBundle.getAnonName(participantType, name);"},{"lineNumber":633,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":634,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":635,"author":{"gitId":"xenosf"},"content":" return name;"},{"lineNumber":636,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":637,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":638,"author":{"gitId":"-"},"content":" private static Queue\u003cCommentOutput\u003e buildComments(List\u003cFeedbackResponseCommentAttributes\u003e feedbackResponseComments,"},{"lineNumber":639,"author":{"gitId":"-"},"content":" SessionResultsBundle bundle) {"},{"lineNumber":640,"author":{"gitId":"-"},"content":" LinkedList\u003cCommentOutput\u003e outputs \u003d new LinkedList\u003c\u003e();"},{"lineNumber":641,"author":{"gitId":"-"},"content":""},{"lineNumber":642,"author":{"gitId":"-"},"content":" CommentOutput participantComment \u003d null;"},{"lineNumber":643,"author":{"gitId":"-"},"content":" for (FeedbackResponseCommentAttributes comment : feedbackResponseComments) {"},{"lineNumber":644,"author":{"gitId":"-"},"content":" if (comment.isCommentFromFeedbackParticipant()) {"},{"lineNumber":645,"author":{"gitId":"-"},"content":" // participant comment will not need these fields"},{"lineNumber":646,"author":{"gitId":"-"},"content":" participantComment \u003d CommentOutput.builder(comment)"},{"lineNumber":647,"author":{"gitId":"-"},"content":" .withCommentGiver(null)"},{"lineNumber":648,"author":{"gitId":"-"},"content":" .withCommentGiverName(null)"},{"lineNumber":649,"author":{"gitId":"-"},"content":" .withLastEditorEmail(null)"},{"lineNumber":650,"author":{"gitId":"-"},"content":" .withLastEditorName(null)"},{"lineNumber":651,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":652,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":653,"author":{"gitId":"-"},"content":" String giverEmail \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":654,"author":{"gitId":"-"},"content":" String giverName \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":655,"author":{"gitId":"-"},"content":" String lastEditorEmail \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":656,"author":{"gitId":"-"},"content":" String lastEditorName \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":657,"author":{"gitId":"-"},"content":" if (bundle.isCommentGiverVisible(comment)) {"},{"lineNumber":658,"author":{"gitId":"-"},"content":" giverEmail \u003d comment.getCommentGiver();"},{"lineNumber":659,"author":{"gitId":"-"},"content":" giverName \u003d bundle.getRoster().getInfoForIdentifier(comment.getCommentGiver()).getName();"},{"lineNumber":660,"author":{"gitId":"-"},"content":" lastEditorEmail \u003d comment.getLastEditorEmail();"},{"lineNumber":661,"author":{"gitId":"-"},"content":" lastEditorName \u003d bundle.getRoster().getInfoForIdentifier(comment.getLastEditorEmail()).getName();"},{"lineNumber":662,"author":{"gitId":"-"},"content":" }"},{"lineNumber":663,"author":{"gitId":"-"},"content":" outputs.add(CommentOutput.builder(comment)"},{"lineNumber":664,"author":{"gitId":"-"},"content":" .withCommentGiver(giverEmail)"},{"lineNumber":665,"author":{"gitId":"-"},"content":" .withCommentGiverName(giverName)"},{"lineNumber":666,"author":{"gitId":"-"},"content":" .withLastEditorEmail(lastEditorEmail)"},{"lineNumber":667,"author":{"gitId":"-"},"content":" .withLastEditorName(lastEditorName)"},{"lineNumber":668,"author":{"gitId":"-"},"content":" .build());"},{"lineNumber":669,"author":{"gitId":"-"},"content":" }"},{"lineNumber":670,"author":{"gitId":"-"},"content":" }"},{"lineNumber":671,"author":{"gitId":"-"},"content":" outputs.addFirst(participantComment);"},{"lineNumber":672,"author":{"gitId":"-"},"content":""},{"lineNumber":673,"author":{"gitId":"-"},"content":" return outputs;"},{"lineNumber":674,"author":{"gitId":"-"},"content":" }"},{"lineNumber":675,"author":{"gitId":"-"},"content":""},{"lineNumber":676,"author":{"gitId":"xenosf"},"content":" private static Queue\u003cCommentOutput\u003e buildComments(List\u003cFeedbackResponseComment\u003e feedbackResponseComments,"},{"lineNumber":677,"author":{"gitId":"xenosf"},"content":" SqlSessionResultsBundle bundle) {"},{"lineNumber":678,"author":{"gitId":"xenosf"},"content":" LinkedList\u003cCommentOutput\u003e outputs \u003d new LinkedList\u003c\u003e();"},{"lineNumber":679,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":680,"author":{"gitId":"xenosf"},"content":" CommentOutput participantComment \u003d null;"},{"lineNumber":681,"author":{"gitId":"xenosf"},"content":" for (FeedbackResponseComment comment : feedbackResponseComments) {"},{"lineNumber":682,"author":{"gitId":"xenosf"},"content":" if (comment.getIsCommentFromFeedbackParticipant()) {"},{"lineNumber":683,"author":{"gitId":"xenosf"},"content":" // participant comment will not need these fields"},{"lineNumber":684,"author":{"gitId":"xenosf"},"content":" participantComment \u003d CommentOutput.builder(comment)"},{"lineNumber":685,"author":{"gitId":"xenosf"},"content":" .withCommentGiver(null)"},{"lineNumber":686,"author":{"gitId":"xenosf"},"content":" .withCommentGiverName(null)"},{"lineNumber":687,"author":{"gitId":"xenosf"},"content":" .withLastEditorEmail(null)"},{"lineNumber":688,"author":{"gitId":"xenosf"},"content":" .withLastEditorName(null)"},{"lineNumber":689,"author":{"gitId":"xenosf"},"content":" .build();"},{"lineNumber":690,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":691,"author":{"gitId":"xenosf"},"content":" String giverEmail \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":692,"author":{"gitId":"xenosf"},"content":" String giverName \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":693,"author":{"gitId":"xenosf"},"content":" String lastEditorEmail \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":694,"author":{"gitId":"xenosf"},"content":" String lastEditorName \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":695,"author":{"gitId":"xenosf"},"content":" if (bundle.isCommentGiverVisible(comment)) {"},{"lineNumber":696,"author":{"gitId":"xenosf"},"content":" giverEmail \u003d comment.getGiver();"},{"lineNumber":697,"author":{"gitId":"xenosf"},"content":" giverName \u003d bundle.getRoster().getInfoForIdentifier(comment.getGiver()).getName();"},{"lineNumber":698,"author":{"gitId":"xenosf"},"content":" lastEditorEmail \u003d comment.getLastEditorEmail();"},{"lineNumber":699,"author":{"gitId":"xenosf"},"content":" lastEditorName \u003d bundle.getRoster().getInfoForIdentifier(comment.getLastEditorEmail()).getName();"},{"lineNumber":700,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":701,"author":{"gitId":"xenosf"},"content":" outputs.add(CommentOutput.builder(comment)"},{"lineNumber":702,"author":{"gitId":"xenosf"},"content":" .withCommentGiver(giverEmail)"},{"lineNumber":703,"author":{"gitId":"xenosf"},"content":" .withCommentGiverName(giverName)"},{"lineNumber":704,"author":{"gitId":"xenosf"},"content":" .withLastEditorEmail(lastEditorEmail)"},{"lineNumber":705,"author":{"gitId":"xenosf"},"content":" .withLastEditorName(lastEditorName)"},{"lineNumber":706,"author":{"gitId":"xenosf"},"content":" .build());"},{"lineNumber":707,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":708,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":709,"author":{"gitId":"xenosf"},"content":" outputs.addFirst(participantComment);"},{"lineNumber":710,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":711,"author":{"gitId":"xenosf"},"content":" return outputs;"},{"lineNumber":712,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":713,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":714,"author":{"gitId":"-"},"content":" public List\u003cQuestionOutput\u003e getQuestions() {"},{"lineNumber":715,"author":{"gitId":"-"},"content":" return questions;"},{"lineNumber":716,"author":{"gitId":"-"},"content":" }"},{"lineNumber":717,"author":{"gitId":"-"},"content":""},{"lineNumber":718,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":719,"author":{"gitId":"-"},"content":" * API output format for questions in session results."},{"lineNumber":720,"author":{"gitId":"-"},"content":" */"},{"lineNumber":721,"author":{"gitId":"-"},"content":" public static class QuestionOutput {"},{"lineNumber":722,"author":{"gitId":"-"},"content":""},{"lineNumber":723,"author":{"gitId":"-"},"content":" private final FeedbackQuestionData feedbackQuestion;"},{"lineNumber":724,"author":{"gitId":"-"},"content":" private final String questionStatistics;"},{"lineNumber":725,"author":{"gitId":"-"},"content":""},{"lineNumber":726,"author":{"gitId":"-"},"content":" private final List\u003cResponseOutput\u003e allResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":727,"author":{"gitId":"-"},"content":" private final boolean hasResponseButNotVisibleForPreview;"},{"lineNumber":728,"author":{"gitId":"-"},"content":" private final boolean hasCommentNotVisibleForPreview;"},{"lineNumber":729,"author":{"gitId":"-"},"content":""},{"lineNumber":730,"author":{"gitId":"-"},"content":" // For student view only"},{"lineNumber":731,"author":{"gitId":"-"},"content":" private final List\u003cResponseOutput\u003e responsesToSelf \u003d new ArrayList\u003c\u003e();"},{"lineNumber":732,"author":{"gitId":"-"},"content":" private final List\u003cResponseOutput\u003e responsesFromSelf \u003d new ArrayList\u003c\u003e();"},{"lineNumber":733,"author":{"gitId":"-"},"content":" private final List\u003cList\u003cResponseOutput\u003e\u003e otherResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":734,"author":{"gitId":"-"},"content":""},{"lineNumber":735,"author":{"gitId":"-"},"content":" private QuestionOutput(FeedbackQuestionAttributes feedbackQuestionAttributes, String questionStatistics,"},{"lineNumber":736,"author":{"gitId":"-"},"content":" boolean hasResponseButNotVisibleForPreview, boolean hasCommentNotVisibleForPreview) {"},{"lineNumber":737,"author":{"gitId":"-"},"content":" this.feedbackQuestion \u003d new FeedbackQuestionData(feedbackQuestionAttributes);"},{"lineNumber":738,"author":{"gitId":"-"},"content":" this.questionStatistics \u003d questionStatistics;"},{"lineNumber":739,"author":{"gitId":"-"},"content":" this.hasResponseButNotVisibleForPreview \u003d hasResponseButNotVisibleForPreview;"},{"lineNumber":740,"author":{"gitId":"-"},"content":" this.hasCommentNotVisibleForPreview \u003d hasCommentNotVisibleForPreview;"},{"lineNumber":741,"author":{"gitId":"-"},"content":" }"},{"lineNumber":742,"author":{"gitId":"-"},"content":""},{"lineNumber":743,"author":{"gitId":"xenosf"},"content":" private QuestionOutput(FeedbackQuestion feedbackQuestion, String questionStatistics,"},{"lineNumber":744,"author":{"gitId":"xenosf"},"content":" boolean hasResponseButNotVisibleForPreview, boolean hasCommentNotVisibleForPreview) {"},{"lineNumber":745,"author":{"gitId":"xenosf"},"content":" this.feedbackQuestion \u003d new FeedbackQuestionData(feedbackQuestion);"},{"lineNumber":746,"author":{"gitId":"xenosf"},"content":" this.questionStatistics \u003d questionStatistics;"},{"lineNumber":747,"author":{"gitId":"xenosf"},"content":" this.hasResponseButNotVisibleForPreview \u003d hasResponseButNotVisibleForPreview;"},{"lineNumber":748,"author":{"gitId":"xenosf"},"content":" this.hasCommentNotVisibleForPreview \u003d hasCommentNotVisibleForPreview;"},{"lineNumber":749,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":750,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":751,"author":{"gitId":"-"},"content":" public FeedbackQuestionData getFeedbackQuestion() {"},{"lineNumber":752,"author":{"gitId":"-"},"content":" return feedbackQuestion;"},{"lineNumber":753,"author":{"gitId":"-"},"content":" }"},{"lineNumber":754,"author":{"gitId":"-"},"content":""},{"lineNumber":755,"author":{"gitId":"-"},"content":" public String getQuestionStatistics() {"},{"lineNumber":756,"author":{"gitId":"-"},"content":" return questionStatistics;"},{"lineNumber":757,"author":{"gitId":"-"},"content":" }"},{"lineNumber":758,"author":{"gitId":"-"},"content":""},{"lineNumber":759,"author":{"gitId":"-"},"content":" public List\u003cResponseOutput\u003e getAllResponses() {"},{"lineNumber":760,"author":{"gitId":"-"},"content":" return allResponses;"},{"lineNumber":761,"author":{"gitId":"-"},"content":" }"},{"lineNumber":762,"author":{"gitId":"-"},"content":""},{"lineNumber":763,"author":{"gitId":"-"},"content":" public boolean getHasResponseButNotVisibleForPreview() {"},{"lineNumber":764,"author":{"gitId":"-"},"content":" return hasResponseButNotVisibleForPreview;"},{"lineNumber":765,"author":{"gitId":"-"},"content":" }"},{"lineNumber":766,"author":{"gitId":"-"},"content":""},{"lineNumber":767,"author":{"gitId":"-"},"content":" public boolean getHasCommentNotVisibleForPreview() {"},{"lineNumber":768,"author":{"gitId":"-"},"content":" return hasCommentNotVisibleForPreview;"},{"lineNumber":769,"author":{"gitId":"-"},"content":" }"},{"lineNumber":770,"author":{"gitId":"-"},"content":""},{"lineNumber":771,"author":{"gitId":"-"},"content":" public List\u003cResponseOutput\u003e getResponsesFromSelf() {"},{"lineNumber":772,"author":{"gitId":"-"},"content":" return responsesFromSelf;"},{"lineNumber":773,"author":{"gitId":"-"},"content":" }"},{"lineNumber":774,"author":{"gitId":"-"},"content":""},{"lineNumber":775,"author":{"gitId":"-"},"content":" public List\u003cResponseOutput\u003e getResponsesToSelf() {"},{"lineNumber":776,"author":{"gitId":"-"},"content":" return responsesToSelf;"},{"lineNumber":777,"author":{"gitId":"-"},"content":" }"},{"lineNumber":778,"author":{"gitId":"-"},"content":""},{"lineNumber":779,"author":{"gitId":"-"},"content":" public List\u003cList\u003cResponseOutput\u003e\u003e getOtherResponses() {"},{"lineNumber":780,"author":{"gitId":"-"},"content":" return otherResponses;"},{"lineNumber":781,"author":{"gitId":"-"},"content":" }"},{"lineNumber":782,"author":{"gitId":"-"},"content":""},{"lineNumber":783,"author":{"gitId":"-"},"content":" }"},{"lineNumber":784,"author":{"gitId":"-"},"content":""},{"lineNumber":785,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":786,"author":{"gitId":"-"},"content":" * API output format for question responses."},{"lineNumber":787,"author":{"gitId":"-"},"content":" */"},{"lineNumber":788,"author":{"gitId":"-"},"content":" public static class ResponseOutput {"},{"lineNumber":789,"author":{"gitId":"-"},"content":""},{"lineNumber":790,"author":{"gitId":"-"},"content":" private boolean isMissingResponse;"},{"lineNumber":791,"author":{"gitId":"-"},"content":""},{"lineNumber":792,"author":{"gitId":"-"},"content":" private String responseId;"},{"lineNumber":793,"author":{"gitId":"-"},"content":""},{"lineNumber":794,"author":{"gitId":"-"},"content":" private String giver;"},{"lineNumber":795,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":796,"author":{"gitId":"-"},"content":" * Depending on the question giver type, {@code giverIdentifier} may contain the giver\u0027s email, any team member\u0027s"},{"lineNumber":797,"author":{"gitId":"-"},"content":" * email or null."},{"lineNumber":798,"author":{"gitId":"-"},"content":" */"},{"lineNumber":799,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":800,"author":{"gitId":"-"},"content":" private String relatedGiverEmail;"},{"lineNumber":801,"author":{"gitId":"-"},"content":" private String giverTeam;"},{"lineNumber":802,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":803,"author":{"gitId":"-"},"content":" private String giverEmail;"},{"lineNumber":804,"author":{"gitId":"-"},"content":" private String giverSection;"},{"lineNumber":805,"author":{"gitId":"-"},"content":" private String recipient;"},{"lineNumber":806,"author":{"gitId":"-"},"content":" private String recipientTeam;"},{"lineNumber":807,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":808,"author":{"gitId":"-"},"content":" private String recipientEmail;"},{"lineNumber":809,"author":{"gitId":"-"},"content":" private String recipientSection;"},{"lineNumber":810,"author":{"gitId":"-"},"content":" private FeedbackResponseDetails responseDetails;"},{"lineNumber":811,"author":{"gitId":"-"},"content":""},{"lineNumber":812,"author":{"gitId":"-"},"content":" // comments"},{"lineNumber":813,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":814,"author":{"gitId":"-"},"content":" private CommentOutput participantComment;"},{"lineNumber":815,"author":{"gitId":"-"},"content":" private List\u003cCommentOutput\u003e instructorComments;"},{"lineNumber":816,"author":{"gitId":"-"},"content":""},{"lineNumber":817,"author":{"gitId":"-"},"content":" private ResponseOutput() {"},{"lineNumber":818,"author":{"gitId":"-"},"content":" // use builder instead"},{"lineNumber":819,"author":{"gitId":"-"},"content":" }"},{"lineNumber":820,"author":{"gitId":"-"},"content":""},{"lineNumber":821,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":822,"author":{"gitId":"-"},"content":" * Returns a builder for {@link ResponseOutput}."},{"lineNumber":823,"author":{"gitId":"-"},"content":" */"},{"lineNumber":824,"author":{"gitId":"-"},"content":" static Builder builder() {"},{"lineNumber":825,"author":{"gitId":"-"},"content":" return new Builder();"},{"lineNumber":826,"author":{"gitId":"-"},"content":" }"},{"lineNumber":827,"author":{"gitId":"-"},"content":""},{"lineNumber":828,"author":{"gitId":"-"},"content":" public boolean isMissingResponse() {"},{"lineNumber":829,"author":{"gitId":"-"},"content":" return isMissingResponse;"},{"lineNumber":830,"author":{"gitId":"-"},"content":" }"},{"lineNumber":831,"author":{"gitId":"-"},"content":""},{"lineNumber":832,"author":{"gitId":"-"},"content":" public String getResponseId() {"},{"lineNumber":833,"author":{"gitId":"-"},"content":" return responseId;"},{"lineNumber":834,"author":{"gitId":"-"},"content":" }"},{"lineNumber":835,"author":{"gitId":"-"},"content":""},{"lineNumber":836,"author":{"gitId":"-"},"content":" public String getGiver() {"},{"lineNumber":837,"author":{"gitId":"-"},"content":" return giver;"},{"lineNumber":838,"author":{"gitId":"-"},"content":" }"},{"lineNumber":839,"author":{"gitId":"-"},"content":""},{"lineNumber":840,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":841,"author":{"gitId":"-"},"content":" public String getGiverEmail() {"},{"lineNumber":842,"author":{"gitId":"-"},"content":" return giverEmail;"},{"lineNumber":843,"author":{"gitId":"-"},"content":" }"},{"lineNumber":844,"author":{"gitId":"-"},"content":""},{"lineNumber":845,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":846,"author":{"gitId":"-"},"content":" public String getRelatedGiverEmail() {"},{"lineNumber":847,"author":{"gitId":"-"},"content":" return relatedGiverEmail;"},{"lineNumber":848,"author":{"gitId":"-"},"content":" }"},{"lineNumber":849,"author":{"gitId":"-"},"content":""},{"lineNumber":850,"author":{"gitId":"-"},"content":" public String getGiverTeam() {"},{"lineNumber":851,"author":{"gitId":"-"},"content":" return giverTeam;"},{"lineNumber":852,"author":{"gitId":"-"},"content":" }"},{"lineNumber":853,"author":{"gitId":"-"},"content":""},{"lineNumber":854,"author":{"gitId":"-"},"content":" public String getGiverSection() {"},{"lineNumber":855,"author":{"gitId":"-"},"content":" return giverSection;"},{"lineNumber":856,"author":{"gitId":"-"},"content":" }"},{"lineNumber":857,"author":{"gitId":"-"},"content":""},{"lineNumber":858,"author":{"gitId":"-"},"content":" public String getRecipient() {"},{"lineNumber":859,"author":{"gitId":"-"},"content":" return recipient;"},{"lineNumber":860,"author":{"gitId":"-"},"content":" }"},{"lineNumber":861,"author":{"gitId":"-"},"content":""},{"lineNumber":862,"author":{"gitId":"-"},"content":" public String getRecipientTeam() {"},{"lineNumber":863,"author":{"gitId":"-"},"content":" return recipientTeam;"},{"lineNumber":864,"author":{"gitId":"-"},"content":" }"},{"lineNumber":865,"author":{"gitId":"-"},"content":""},{"lineNumber":866,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":867,"author":{"gitId":"-"},"content":" public String getRecipientEmail() {"},{"lineNumber":868,"author":{"gitId":"-"},"content":" return recipientEmail;"},{"lineNumber":869,"author":{"gitId":"-"},"content":" }"},{"lineNumber":870,"author":{"gitId":"-"},"content":""},{"lineNumber":871,"author":{"gitId":"-"},"content":" public String getRecipientSection() {"},{"lineNumber":872,"author":{"gitId":"-"},"content":" return recipientSection;"},{"lineNumber":873,"author":{"gitId":"-"},"content":" }"},{"lineNumber":874,"author":{"gitId":"-"},"content":""},{"lineNumber":875,"author":{"gitId":"-"},"content":" public FeedbackResponseDetails getResponseDetails() {"},{"lineNumber":876,"author":{"gitId":"-"},"content":" return responseDetails;"},{"lineNumber":877,"author":{"gitId":"-"},"content":" }"},{"lineNumber":878,"author":{"gitId":"-"},"content":""},{"lineNumber":879,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":880,"author":{"gitId":"-"},"content":" public CommentOutput getParticipantComment() {"},{"lineNumber":881,"author":{"gitId":"-"},"content":" return participantComment;"},{"lineNumber":882,"author":{"gitId":"-"},"content":" }"},{"lineNumber":883,"author":{"gitId":"-"},"content":""},{"lineNumber":884,"author":{"gitId":"-"},"content":" public List\u003cCommentOutput\u003e getInstructorComments() {"},{"lineNumber":885,"author":{"gitId":"-"},"content":" return instructorComments;"},{"lineNumber":886,"author":{"gitId":"-"},"content":" }"},{"lineNumber":887,"author":{"gitId":"-"},"content":""},{"lineNumber":888,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":889,"author":{"gitId":"-"},"content":" * Builder class for {@link ResponseOutput}."},{"lineNumber":890,"author":{"gitId":"-"},"content":" */"},{"lineNumber":891,"author":{"gitId":"-"},"content":" public static final class Builder {"},{"lineNumber":892,"author":{"gitId":"-"},"content":" private final ResponseOutput responseOutput;"},{"lineNumber":893,"author":{"gitId":"-"},"content":""},{"lineNumber":894,"author":{"gitId":"-"},"content":" private Builder() {"},{"lineNumber":895,"author":{"gitId":"-"},"content":" responseOutput \u003d new ResponseOutput();"},{"lineNumber":896,"author":{"gitId":"-"},"content":" }"},{"lineNumber":897,"author":{"gitId":"-"},"content":""},{"lineNumber":898,"author":{"gitId":"-"},"content":" Builder withIsMissingResponse(boolean isMissingResponse) {"},{"lineNumber":899,"author":{"gitId":"-"},"content":" responseOutput.isMissingResponse \u003d isMissingResponse;"},{"lineNumber":900,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":901,"author":{"gitId":"-"},"content":" }"},{"lineNumber":902,"author":{"gitId":"-"},"content":""},{"lineNumber":903,"author":{"gitId":"-"},"content":" Builder withResponseId(String responseId) {"},{"lineNumber":904,"author":{"gitId":"-"},"content":" responseOutput.responseId \u003d StringHelper.encrypt(responseId);"},{"lineNumber":905,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":906,"author":{"gitId":"-"},"content":" }"},{"lineNumber":907,"author":{"gitId":"-"},"content":""},{"lineNumber":908,"author":{"gitId":"xenosf"},"content":" Builder withResponse(FeedbackResponse response) {"},{"lineNumber":909,"author":{"gitId":"xenosf"},"content":" responseOutput.responseId \u003d StringHelper.encrypt(response.getId().toString());"},{"lineNumber":910,"author":{"gitId":"xenosf"},"content":" return this;"},{"lineNumber":911,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":912,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":913,"author":{"gitId":"-"},"content":" Builder withGiver(String giverName) {"},{"lineNumber":914,"author":{"gitId":"-"},"content":" responseOutput.giver \u003d giverName;"},{"lineNumber":915,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":916,"author":{"gitId":"-"},"content":" }"},{"lineNumber":917,"author":{"gitId":"-"},"content":""},{"lineNumber":918,"author":{"gitId":"-"},"content":" Builder withRelatedGiverEmail(@Nullable String relatedGiverEmail) {"},{"lineNumber":919,"author":{"gitId":"-"},"content":" responseOutput.relatedGiverEmail \u003d relatedGiverEmail;"},{"lineNumber":920,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":921,"author":{"gitId":"-"},"content":" }"},{"lineNumber":922,"author":{"gitId":"-"},"content":""},{"lineNumber":923,"author":{"gitId":"-"},"content":" Builder withGiverTeam(String giverTeam) {"},{"lineNumber":924,"author":{"gitId":"-"},"content":" responseOutput.giverTeam \u003d giverTeam;"},{"lineNumber":925,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":926,"author":{"gitId":"-"},"content":" }"},{"lineNumber":927,"author":{"gitId":"-"},"content":""},{"lineNumber":928,"author":{"gitId":"-"},"content":" Builder withGiverEmail(@Nullable String giverEmail) {"},{"lineNumber":929,"author":{"gitId":"-"},"content":" responseOutput.giverEmail \u003d giverEmail;"},{"lineNumber":930,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":931,"author":{"gitId":"-"},"content":" }"},{"lineNumber":932,"author":{"gitId":"-"},"content":""},{"lineNumber":933,"author":{"gitId":"xenosf"},"content":" Builder withGiverSectionName(String giverSection) {"},{"lineNumber":934,"author":{"gitId":"-"},"content":" responseOutput.giverSection \u003d giverSection;"},{"lineNumber":935,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":936,"author":{"gitId":"-"},"content":" }"},{"lineNumber":937,"author":{"gitId":"-"},"content":""},{"lineNumber":938,"author":{"gitId":"xenosf"},"content":" Builder withGiverSection(Section giverSection) {"},{"lineNumber":939,"author":{"gitId":"xenosf"},"content":" responseOutput.giverSection \u003d giverSection.getName();"},{"lineNumber":940,"author":{"gitId":"xenosf"},"content":" return this;"},{"lineNumber":941,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":942,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":943,"author":{"gitId":"-"},"content":" Builder withRecipient(String recipientName) {"},{"lineNumber":944,"author":{"gitId":"-"},"content":" responseOutput.recipient \u003d recipientName;"},{"lineNumber":945,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":946,"author":{"gitId":"-"},"content":" }"},{"lineNumber":947,"author":{"gitId":"-"},"content":""},{"lineNumber":948,"author":{"gitId":"-"},"content":" Builder withRecipientTeam(String recipientTeam) {"},{"lineNumber":949,"author":{"gitId":"-"},"content":" responseOutput.recipientTeam \u003d recipientTeam;"},{"lineNumber":950,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":951,"author":{"gitId":"-"},"content":" }"},{"lineNumber":952,"author":{"gitId":"-"},"content":""},{"lineNumber":953,"author":{"gitId":"-"},"content":" Builder withRecipientEmail(@Nullable String recipientEmail) {"},{"lineNumber":954,"author":{"gitId":"-"},"content":" responseOutput.recipientEmail \u003d recipientEmail;"},{"lineNumber":955,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":956,"author":{"gitId":"-"},"content":" }"},{"lineNumber":957,"author":{"gitId":"-"},"content":""},{"lineNumber":958,"author":{"gitId":"xenosf"},"content":" Builder withRecipientSectionName(String recipientSection) {"},{"lineNumber":959,"author":{"gitId":"-"},"content":" responseOutput.recipientSection \u003d recipientSection;"},{"lineNumber":960,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":961,"author":{"gitId":"-"},"content":" }"},{"lineNumber":962,"author":{"gitId":"-"},"content":""},{"lineNumber":963,"author":{"gitId":"xenosf"},"content":" Builder withRecipientSection(Section recipientSection) {"},{"lineNumber":964,"author":{"gitId":"xenosf"},"content":" responseOutput.recipientSection \u003d recipientSection.getName();"},{"lineNumber":965,"author":{"gitId":"xenosf"},"content":" return this;"},{"lineNumber":966,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":967,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":968,"author":{"gitId":"-"},"content":" Builder withResponseDetails(FeedbackResponseDetails responseDetails) {"},{"lineNumber":969,"author":{"gitId":"-"},"content":" responseOutput.responseDetails \u003d responseDetails;"},{"lineNumber":970,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":971,"author":{"gitId":"-"},"content":" }"},{"lineNumber":972,"author":{"gitId":"-"},"content":""},{"lineNumber":973,"author":{"gitId":"-"},"content":" Builder withParticipantComment(@Nullable CommentOutput participantComment) {"},{"lineNumber":974,"author":{"gitId":"-"},"content":" responseOutput.participantComment \u003d participantComment;"},{"lineNumber":975,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":976,"author":{"gitId":"-"},"content":" }"},{"lineNumber":977,"author":{"gitId":"-"},"content":""},{"lineNumber":978,"author":{"gitId":"-"},"content":" Builder withInstructorComments(List\u003cCommentOutput\u003e instructorComments) {"},{"lineNumber":979,"author":{"gitId":"-"},"content":" responseOutput.instructorComments \u003d instructorComments;"},{"lineNumber":980,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":981,"author":{"gitId":"-"},"content":" }"},{"lineNumber":982,"author":{"gitId":"-"},"content":""},{"lineNumber":983,"author":{"gitId":"-"},"content":" ResponseOutput build() {"},{"lineNumber":984,"author":{"gitId":"-"},"content":" return responseOutput;"},{"lineNumber":985,"author":{"gitId":"-"},"content":" }"},{"lineNumber":986,"author":{"gitId":"-"},"content":" }"},{"lineNumber":987,"author":{"gitId":"-"},"content":" }"},{"lineNumber":988,"author":{"gitId":"-"},"content":""},{"lineNumber":989,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":990,"author":{"gitId":"-"},"content":" * API output format for response comments."},{"lineNumber":991,"author":{"gitId":"-"},"content":" */"},{"lineNumber":992,"author":{"gitId":"-"},"content":" public static class CommentOutput extends FeedbackResponseCommentData {"},{"lineNumber":993,"author":{"gitId":"-"},"content":""},{"lineNumber":994,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":995,"author":{"gitId":"-"},"content":" private String commentGiverName;"},{"lineNumber":996,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":997,"author":{"gitId":"-"},"content":" private String lastEditorName;"},{"lineNumber":998,"author":{"gitId":"-"},"content":""},{"lineNumber":999,"author":{"gitId":"xenosf"},"content":" private CommentOutput(FeedbackResponseCommentAttributes frca) {"},{"lineNumber":1000,"author":{"gitId":"xenosf"},"content":" // use builder instead"},{"lineNumber":1001,"author":{"gitId":"xenosf"},"content":" super(frca);"},{"lineNumber":1002,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1003,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1004,"author":{"gitId":"xenosf"},"content":" private CommentOutput(FeedbackResponseComment frc) {"},{"lineNumber":1005,"author":{"gitId":"-"},"content":" // use builder instead"},{"lineNumber":1006,"author":{"gitId":"-"},"content":" super(frc);"},{"lineNumber":1007,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1008,"author":{"gitId":"-"},"content":""},{"lineNumber":1009,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1010,"author":{"gitId":"-"},"content":" * Returns a builder for {@link CommentOutput}."},{"lineNumber":1011,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1012,"author":{"gitId":"xenosf"},"content":" static Builder builder(FeedbackResponseCommentAttributes frca) {"},{"lineNumber":1013,"author":{"gitId":"xenosf"},"content":" return new Builder(frca);"},{"lineNumber":1014,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1015,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1016,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1017,"author":{"gitId":"xenosf"},"content":" * Returns a builder for {@link CommentOutput}."},{"lineNumber":1018,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1019,"author":{"gitId":"xenosf"},"content":" static Builder builder(FeedbackResponseComment frc) {"},{"lineNumber":1020,"author":{"gitId":"-"},"content":" return new Builder(frc);"},{"lineNumber":1021,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1022,"author":{"gitId":"-"},"content":""},{"lineNumber":1023,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":1024,"author":{"gitId":"-"},"content":" public String getCommentGiverName() {"},{"lineNumber":1025,"author":{"gitId":"-"},"content":" return commentGiverName;"},{"lineNumber":1026,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1027,"author":{"gitId":"-"},"content":""},{"lineNumber":1028,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":1029,"author":{"gitId":"-"},"content":" public String getLastEditorName() {"},{"lineNumber":1030,"author":{"gitId":"-"},"content":" return lastEditorName;"},{"lineNumber":1031,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1032,"author":{"gitId":"-"},"content":""},{"lineNumber":1033,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1034,"author":{"gitId":"-"},"content":" * Builder class for {@link CommentOutput}."},{"lineNumber":1035,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1036,"author":{"gitId":"-"},"content":" public static final class Builder {"},{"lineNumber":1037,"author":{"gitId":"-"},"content":" private final CommentOutput commentOutput;"},{"lineNumber":1038,"author":{"gitId":"-"},"content":""},{"lineNumber":1039,"author":{"gitId":"xenosf"},"content":" private Builder(FeedbackResponseCommentAttributes frca) {"},{"lineNumber":1040,"author":{"gitId":"xenosf"},"content":" commentOutput \u003d new CommentOutput(frca);"},{"lineNumber":1041,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1042,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1043,"author":{"gitId":"xenosf"},"content":" private Builder(FeedbackResponseComment frc) {"},{"lineNumber":1044,"author":{"gitId":"-"},"content":" commentOutput \u003d new CommentOutput(frc);"},{"lineNumber":1045,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1046,"author":{"gitId":"-"},"content":""},{"lineNumber":1047,"author":{"gitId":"-"},"content":" Builder withCommentGiver(@Nullable String commentGiver) {"},{"lineNumber":1048,"author":{"gitId":"-"},"content":" commentOutput.commentGiver \u003d commentGiver;"},{"lineNumber":1049,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":1050,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1051,"author":{"gitId":"-"},"content":""},{"lineNumber":1052,"author":{"gitId":"-"},"content":" Builder withCommentGiverName(@Nullable String commentGiverName) {"},{"lineNumber":1053,"author":{"gitId":"-"},"content":" commentOutput.commentGiverName \u003d commentGiverName;"},{"lineNumber":1054,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":1055,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1056,"author":{"gitId":"-"},"content":""},{"lineNumber":1057,"author":{"gitId":"-"},"content":" Builder withLastEditorEmail(@Nullable String lastEditorEmail) {"},{"lineNumber":1058,"author":{"gitId":"-"},"content":" commentOutput.lastEditorEmail \u003d lastEditorEmail;"},{"lineNumber":1059,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":1060,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1061,"author":{"gitId":"-"},"content":""},{"lineNumber":1062,"author":{"gitId":"-"},"content":" Builder withLastEditorName(@Nullable String lastEditorName) {"},{"lineNumber":1063,"author":{"gitId":"-"},"content":" commentOutput.lastEditorName \u003d lastEditorName;"},{"lineNumber":1064,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":1065,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1066,"author":{"gitId":"-"},"content":""},{"lineNumber":1067,"author":{"gitId":"-"},"content":" CommentOutput build() {"},{"lineNumber":1068,"author":{"gitId":"-"},"content":" return commentOutput;"},{"lineNumber":1069,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1070,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1071,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1072,"author":{"gitId":"-"},"content":""},{"lineNumber":1073,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":386,"-":687}},{"path":"src/main/java/teammates/ui/webapi/AccountRequestSearchIndexingWorkerAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.util.Const.ParamsNames;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":10,"author":{"gitId":"-"},"content":" * Task queue worker action: performs account request search indexing."},{"lineNumber":11,"author":{"gitId":"-"},"content":" */"},{"lineNumber":12,"author":{"gitId":"-"},"content":"public class AccountRequestSearchIndexingWorkerAction extends AdminOnlyAction {"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":15,"author":{"gitId":"-"},"content":" public ActionResult execute() {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" String email \u003d getNonNullRequestParamValue(ParamsNames.INSTRUCTOR_EMAIL);"},{"lineNumber":17,"author":{"gitId":"-"},"content":" String institute \u003d getNonNullRequestParamValue(ParamsNames.INSTRUCTOR_INSTITUTION);"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" AccountRequest accRequest \u003d sqlLogic.getAccountRequest(email, institute);"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" sqlLogic.putAccountRequestDocument(accRequest);"},{"lineNumber":23,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" // Set an arbitrary retry code outside of the range 200-299 to trigger automatic retry"},{"lineNumber":25,"author":{"gitId":"-"},"content":" return new JsonResult(\"Failure\", HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" return new JsonResult(\"Successful\");"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":3,"-":27}},{"path":"src/main/java/teammates/ui/webapi/BasicFeedbackSubmissionAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * The basic action for feedback submission."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"abstract class BasicFeedbackSubmissionAction extends Action {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Checks whether instructors can see the question."},{"lineNumber":23,"author":{"gitId":"-"},"content":" */"},{"lineNumber":24,"author":{"gitId":"-"},"content":" boolean canInstructorSeeQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" boolean isGiverVisibleToInstructor \u003d"},{"lineNumber":26,"author":{"gitId":"-"},"content":" feedbackQuestion.getShowGiverNameTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" boolean isRecipientVisibleToInstructor \u003d"},{"lineNumber":28,"author":{"gitId":"-"},"content":" feedbackQuestion.getShowRecipientNameTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" boolean isResponseVisibleToInstructor \u003d"},{"lineNumber":30,"author":{"gitId":"-"},"content":" feedbackQuestion.getShowResponsesTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" return isResponseVisibleToInstructor \u0026\u0026 isGiverVisibleToInstructor \u0026\u0026 isRecipientVisibleToInstructor;"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * Checks whether instructors can see the question."},{"lineNumber":36,"author":{"gitId":"-"},"content":" */"},{"lineNumber":37,"author":{"gitId":"-"},"content":" boolean canInstructorSeeQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" boolean isGiverVisibleToInstructor \u003d"},{"lineNumber":39,"author":{"gitId":"-"},"content":" feedbackQuestion.getShowGiverNameTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" boolean isRecipientVisibleToInstructor \u003d"},{"lineNumber":41,"author":{"gitId":"-"},"content":" feedbackQuestion.getShowRecipientNameTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" boolean isResponseVisibleToInstructor \u003d"},{"lineNumber":43,"author":{"gitId":"-"},"content":" feedbackQuestion.getShowResponsesTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" return isResponseVisibleToInstructor \u0026\u0026 isGiverVisibleToInstructor \u0026\u0026 isRecipientVisibleToInstructor;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Verifies that instructor can see the moderated question in moderation request."},{"lineNumber":49,"author":{"gitId":"-"},"content":" */"},{"lineNumber":50,"author":{"gitId":"-"},"content":" void verifyInstructorCanSeeQuestionIfInModeration(FeedbackQuestionAttributes feedbackQuestion)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" throws UnauthorizedAccessException {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson) \u0026\u0026 !canInstructorSeeQuestion(feedbackQuestion)) {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" // should not moderate question which instructors cannot see"},{"lineNumber":56,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"The question is not applicable for moderation\", true);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":61,"author":{"gitId":"-"},"content":" * Verifies that instructor can see the moderated question in moderation request."},{"lineNumber":62,"author":{"gitId":"-"},"content":" */"},{"lineNumber":63,"author":{"gitId":"-"},"content":" void verifyInstructorCanSeeQuestionIfInModeration(FeedbackQuestion feedbackQuestion)"},{"lineNumber":64,"author":{"gitId":"-"},"content":" throws UnauthorizedAccessException {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson) \u0026\u0026 !canInstructorSeeQuestion(feedbackQuestion)) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" // should not moderate question which instructors cannot see"},{"lineNumber":69,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"The question is not applicable for moderation\", true);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":74,"author":{"gitId":"-"},"content":" * Gets the student involved in the submission process."},{"lineNumber":75,"author":{"gitId":"-"},"content":" */"},{"lineNumber":76,"author":{"gitId":"-"},"content":" StudentAttributes getStudentOfCourseFromRequest(String courseId) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" return logic.getStudentForEmail(courseId, moderatedPerson);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" return logic.getStudentForEmail(courseId, previewAsPerson);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" return getPossiblyUnregisteredStudent(courseId);"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":90,"author":{"gitId":"-"},"content":" * Gets the student involved in the submission process."},{"lineNumber":91,"author":{"gitId":"-"},"content":" */"},{"lineNumber":92,"author":{"gitId":"-"},"content":" Student getSqlStudentOfCourseFromRequest(String courseId) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" // TODO: Rename method to remove Sql after migration."},{"lineNumber":94,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" return sqlLogic.getStudentForEmail(courseId, moderatedPerson);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" return sqlLogic.getStudentForEmail(courseId, previewAsPerson);"},{"lineNumber":101,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" return getPossiblyUnregisteredSqlStudent(courseId);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":107,"author":{"gitId":"-"},"content":" * Checks the access control for student feedback submission."},{"lineNumber":108,"author":{"gitId":"-"},"content":" */"},{"lineNumber":109,"author":{"gitId":"-"},"content":" void checkAccessControlForStudentFeedbackSubmission("},{"lineNumber":110,"author":{"gitId":"-"},"content":" StudentAttributes student, FeedbackSessionAttributes feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent student entity\");"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":121,"author":{"gitId":"-"},"content":" logic.getInstructorForGoogleId(feedbackSession.getCourseId(), userInfo.getId()), feedbackSession,"},{"lineNumber":122,"author":{"gitId":"-"},"content":" student.getSection(),"},{"lineNumber":123,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION_COMMENT_IN_SECTIONS);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" checkAccessControlForPreview(feedbackSession, false);"},{"lineNumber":126,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(student, feedbackSession);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" verifyMatchingGoogleId(student.getGoogleId());"},{"lineNumber":129,"author":{"gitId":"-"},"content":" }"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * Checks the access control for student feedback submission."},{"lineNumber":134,"author":{"gitId":"-"},"content":" */"},{"lineNumber":135,"author":{"gitId":"-"},"content":" void checkAccessControlForStudentFeedbackSubmission(Student student, FeedbackSession feedbackSession)"},{"lineNumber":136,"author":{"gitId":"-"},"content":" throws UnauthorizedAccessException {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent student entity\");"},{"lineNumber":139,"author":{"gitId":"-"},"content":" }"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":147,"author":{"gitId":"-"},"content":" sqlLogic.getInstructorByGoogleId(feedbackSession.getCourse().getId(), userInfo.getId()), feedbackSession,"},{"lineNumber":148,"author":{"gitId":"-"},"content":" student.getSectionName(),"},{"lineNumber":149,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION_COMMENT_IN_SECTIONS);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":153,"author":{"gitId":"-"},"content":" sqlLogic.getInstructorByGoogleId(feedbackSession.getCourse().getId(), userInfo.getId()), feedbackSession,"},{"lineNumber":154,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(student, feedbackSession);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" if (student.getAccount() !\u003d null) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" if (userInfo \u003d\u003d null) {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" // Student is associated with an account; even if registration key is passed, do not allow access"},{"lineNumber":160,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Login is required to access this feedback session\");"},{"lineNumber":161,"author":{"gitId":"-"},"content":" } else if (!userInfo.id.equals(student.getAccount().getGoogleId())) {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" // Logged in student is not the same as the student registered for the given key, do not allow access"},{"lineNumber":163,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"You are not authorized to access this feedback session\");"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":167,"author":{"gitId":"-"},"content":" }"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":170,"author":{"gitId":"-"},"content":" * Checks the access control for student feedback result."},{"lineNumber":171,"author":{"gitId":"-"},"content":" */"},{"lineNumber":172,"author":{"gitId":"-"},"content":" void checkAccessControlForStudentFeedbackResult("},{"lineNumber":173,"author":{"gitId":"-"},"content":" StudentAttributes student, FeedbackSessionAttributes feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent student entity\");"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" if (StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(student, feedbackSession);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" verifyMatchingGoogleId(student.getGoogleId());"},{"lineNumber":183,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" checkAccessControlForPreview(feedbackSession, false);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":" * Checks the access control for student feedback result."},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" void checkAccessControlForStudentFeedbackResult("},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":" Student student, FeedbackSession feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent student entity\");"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":199,"author":{"gitId":"xenosf"},"content":" if (StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":" gateKeeper.verifyAccessible(student, feedbackSession);"},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":" verifyMatchingGoogleId(student.getGoogleId());"},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":" checkAccessControlForPreview(feedbackSession, false);"},{"lineNumber":204,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":205,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":206,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":208,"author":{"gitId":"-"},"content":" * Gets the instructor involved in the submission process."},{"lineNumber":209,"author":{"gitId":"-"},"content":" */"},{"lineNumber":210,"author":{"gitId":"-"},"content":" InstructorAttributes getInstructorOfCourseFromRequest(String courseId) {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" return logic.getInstructorForEmail(courseId, moderatedPerson);"},{"lineNumber":216,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" return logic.getInstructorForEmail(courseId, previewAsPerson);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" return getPossiblyUnregisteredInstructor(courseId);"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":" }"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":224,"author":{"gitId":"-"},"content":" * Gets the instructor involved in the submission process."},{"lineNumber":225,"author":{"gitId":"-"},"content":" */"},{"lineNumber":226,"author":{"gitId":"-"},"content":" Instructor getSqlInstructorOfCourseFromRequest(String courseId) {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":228,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" return sqlLogic.getInstructorForEmail(courseId, moderatedPerson);"},{"lineNumber":232,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" return sqlLogic.getInstructorForEmail(courseId, previewAsPerson);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" return getPossiblyUnregisteredSqlInstructor(courseId);"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":240,"author":{"gitId":"-"},"content":" * Checks the access control for instructor feedback submission."},{"lineNumber":241,"author":{"gitId":"-"},"content":" */"},{"lineNumber":242,"author":{"gitId":"-"},"content":" void checkAccessControlForInstructorFeedbackSubmission("},{"lineNumber":243,"author":{"gitId":"-"},"content":" InstructorAttributes instructor, FeedbackSessionAttributes feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent instructor entity\");"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":249,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":253,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(logic.getInstructorForGoogleId(feedbackSession.getCourseId(), userInfo.getId()),"},{"lineNumber":254,"author":{"gitId":"-"},"content":" feedbackSession, Const.InstructorPermissions.CAN_MODIFY_SESSION_COMMENT_IN_SECTIONS);"},{"lineNumber":255,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":256,"author":{"gitId":"-"},"content":" checkAccessControlForPreview(feedbackSession, true);"},{"lineNumber":257,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" gateKeeper.verifySessionSubmissionPrivilegeForInstructor(feedbackSession, instructor);"},{"lineNumber":259,"author":{"gitId":"-"},"content":" verifyMatchingGoogleId(instructor.getGoogleId());"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":264,"author":{"gitId":"-"},"content":" * Checks the access control for instructor feedback submission."},{"lineNumber":265,"author":{"gitId":"-"},"content":" */"},{"lineNumber":266,"author":{"gitId":"-"},"content":" void checkAccessControlForInstructorFeedbackSubmission("},{"lineNumber":267,"author":{"gitId":"-"},"content":" Instructor instructor, FeedbackSession feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":268,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent instructor entity\");"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":277,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":278,"author":{"gitId":"-"},"content":" sqlLogic.getInstructorByGoogleId(feedbackSession.getCourse().getId(), userInfo.getId()),"},{"lineNumber":279,"author":{"gitId":"-"},"content":" feedbackSession, Const.InstructorPermissions.CAN_MODIFY_SESSION_COMMENT_IN_SECTIONS);"},{"lineNumber":280,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":283,"author":{"gitId":"-"},"content":" sqlLogic.getInstructorByGoogleId(feedbackSession.getCourse().getId(), userInfo.getId()),"},{"lineNumber":284,"author":{"gitId":"-"},"content":" feedbackSession, Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":285,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":286,"author":{"gitId":"-"},"content":" gateKeeper.verifySessionSubmissionPrivilegeForInstructor(feedbackSession, instructor);"},{"lineNumber":287,"author":{"gitId":"-"},"content":" if (instructor.getAccount() !\u003d null) {"},{"lineNumber":288,"author":{"gitId":"-"},"content":" if (userInfo \u003d\u003d null) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" // Instructor is associated to an account; even if registration key is passed, do not allow access"},{"lineNumber":290,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Login is required to access this feedback session\");"},{"lineNumber":291,"author":{"gitId":"-"},"content":" } else if (!userInfo.id.equals(instructor.getAccount().getGoogleId())) {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" // Logged in instructor is not the same as the instructor registered for the given key,"},{"lineNumber":293,"author":{"gitId":"-"},"content":" // do not allow access"},{"lineNumber":294,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"You are not authorized to access this feedback session\");"},{"lineNumber":295,"author":{"gitId":"-"},"content":" }"},{"lineNumber":296,"author":{"gitId":"-"},"content":" }"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":301,"author":{"gitId":"-"},"content":" * Checks the access control for instructor feedback result."},{"lineNumber":302,"author":{"gitId":"-"},"content":" */"},{"lineNumber":303,"author":{"gitId":"-"},"content":" void checkAccessControlForInstructorFeedbackResult("},{"lineNumber":304,"author":{"gitId":"-"},"content":" InstructorAttributes instructor, FeedbackSessionAttributes feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":306,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent instructor entity\");"},{"lineNumber":307,"author":{"gitId":"-"},"content":" }"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":" if (StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, feedbackSession,"},{"lineNumber":313,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_VIEW_SESSION_IN_SECTIONS);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" verifyMatchingGoogleId(instructor.getGoogleId());"},{"lineNumber":315,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" checkAccessControlForPreview(feedbackSession, true);"},{"lineNumber":317,"author":{"gitId":"-"},"content":" }"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":321,"author":{"gitId":"-"},"content":" * Checks the access control for instructor feedback result."},{"lineNumber":322,"author":{"gitId":"-"},"content":" */"},{"lineNumber":323,"author":{"gitId":"-"},"content":" void checkAccessControlForInstructorFeedbackResult("},{"lineNumber":324,"author":{"gitId":"-"},"content":" Instructor instructor, FeedbackSession feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":325,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":326,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent instructor entity\");"},{"lineNumber":327,"author":{"gitId":"-"},"content":" }"},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" if (StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, feedbackSession,"},{"lineNumber":333,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_VIEW_SESSION_IN_SECTIONS);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" verifyMatchingGoogleId(instructor.getGoogleId());"},{"lineNumber":335,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":336,"author":{"gitId":"-"},"content":" checkAccessControlForPreview(feedbackSession, true);"},{"lineNumber":337,"author":{"gitId":"-"},"content":" }"},{"lineNumber":338,"author":{"gitId":"-"},"content":" }"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" private void verifyMatchingGoogleId(String googleId) throws UnauthorizedAccessException {"},{"lineNumber":341,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(googleId)) {"},{"lineNumber":342,"author":{"gitId":"-"},"content":" if (userInfo \u003d\u003d null) {"},{"lineNumber":343,"author":{"gitId":"-"},"content":" // Student/Instructor is associated to a google ID; even if registration key is passed, do not allow access"},{"lineNumber":344,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Login is required to access this feedback session\");"},{"lineNumber":345,"author":{"gitId":"-"},"content":" } else if (!userInfo.id.equals(googleId)) {"},{"lineNumber":346,"author":{"gitId":"-"},"content":" // Logged in student/instructor is not the same as the student/instructor registered for the given key,"},{"lineNumber":347,"author":{"gitId":"-"},"content":" // do not allow access"},{"lineNumber":348,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"You are not authorized to access this feedback session\");"},{"lineNumber":349,"author":{"gitId":"-"},"content":" }"},{"lineNumber":350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" private void checkAccessControlForPreview(FeedbackSessionAttributes feedbackSession, boolean isInstructor)"},{"lineNumber":354,"author":{"gitId":"-"},"content":" throws UnauthorizedAccessException {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":356,"author":{"gitId":"-"},"content":" if (isInstructor) {"},{"lineNumber":357,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":358,"author":{"gitId":"-"},"content":" logic.getInstructorForGoogleId(feedbackSession.getCourseId(), userInfo.getId()), feedbackSession,"},{"lineNumber":359,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":360,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":361,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":362,"author":{"gitId":"-"},"content":" logic.getInstructorForGoogleId(feedbackSession.getCourseId(), userInfo.getId()), feedbackSession,"},{"lineNumber":363,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":" }"},{"lineNumber":366,"author":{"gitId":"-"},"content":""},{"lineNumber":367,"author":{"gitId":"xenosf"},"content":" private void checkAccessControlForPreview(FeedbackSession feedbackSession, boolean isInstructor)"},{"lineNumber":368,"author":{"gitId":"xenosf"},"content":" throws UnauthorizedAccessException {"},{"lineNumber":369,"author":{"gitId":"xenosf"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":370,"author":{"gitId":"xenosf"},"content":" if (isInstructor) {"},{"lineNumber":371,"author":{"gitId":"xenosf"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":372,"author":{"gitId":"xenosf"},"content":" sqlLogic.getInstructorByGoogleId(feedbackSession.getCourse().getId(), userInfo.getId()), feedbackSession,"},{"lineNumber":373,"author":{"gitId":"xenosf"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":374,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":375,"author":{"gitId":"xenosf"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":376,"author":{"gitId":"xenosf"},"content":" sqlLogic.getInstructorByGoogleId(feedbackSession.getCourse().getId(), userInfo.getId()), feedbackSession,"},{"lineNumber":377,"author":{"gitId":"xenosf"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":378,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":379,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":380,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":382,"author":{"gitId":"-"},"content":" * Verifies that it is not a preview request."},{"lineNumber":383,"author":{"gitId":"-"},"content":" */"},{"lineNumber":384,"author":{"gitId":"-"},"content":" void verifyNotPreview() throws UnauthorizedAccessException {"},{"lineNumber":385,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":386,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":387,"author":{"gitId":"-"},"content":" // should not view response under preview mode"},{"lineNumber":388,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"You are not allowed to see responses when previewing\", true);"},{"lineNumber":389,"author":{"gitId":"-"},"content":" }"},{"lineNumber":390,"author":{"gitId":"-"},"content":" }"},{"lineNumber":391,"author":{"gitId":"-"},"content":""},{"lineNumber":392,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":393,"author":{"gitId":"-"},"content":" * Verifies that the session is open for submission."},{"lineNumber":394,"author":{"gitId":"-"},"content":" *"},{"lineNumber":395,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf it is moderation request, omit the check."},{"lineNumber":396,"author":{"gitId":"-"},"content":" */"},{"lineNumber":397,"author":{"gitId":"-"},"content":" void verifySessionOpenExceptForModeration(FeedbackSessionAttributes feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":398,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":399,"author":{"gitId":"-"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" if (StringHelper.isEmpty(moderatedPerson) \u0026\u0026 !(feedbackSession.isOpened() || feedbackSession.isInGracePeriod())) {"},{"lineNumber":401,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"The feedback session is not available for submission\", true);"},{"lineNumber":402,"author":{"gitId":"-"},"content":" }"},{"lineNumber":403,"author":{"gitId":"-"},"content":" }"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":406,"author":{"gitId":"-"},"content":" * Verifies that the session is open for submission."},{"lineNumber":407,"author":{"gitId":"-"},"content":" *"},{"lineNumber":408,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf it is moderation request, omit the check."},{"lineNumber":409,"author":{"gitId":"-"},"content":" */"},{"lineNumber":410,"author":{"gitId":"-"},"content":" void verifySessionOpenExceptForModeration(FeedbackSession feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":411,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":412,"author":{"gitId":"-"},"content":""},{"lineNumber":413,"author":{"gitId":"-"},"content":" if (StringHelper.isEmpty(moderatedPerson) \u0026\u0026 !(feedbackSession.isOpened() || feedbackSession.isInGracePeriod())) {"},{"lineNumber":414,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"The feedback session is not available for submission\", true);"},{"lineNumber":415,"author":{"gitId":"-"},"content":" }"},{"lineNumber":416,"author":{"gitId":"-"},"content":" }"},{"lineNumber":417,"author":{"gitId":"-"},"content":""},{"lineNumber":418,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":419,"author":{"gitId":"-"},"content":" * Gets the section of a recipient."},{"lineNumber":420,"author":{"gitId":"-"},"content":" */"},{"lineNumber":421,"author":{"gitId":"-"},"content":" Section getRecipientSection("},{"lineNumber":422,"author":{"gitId":"-"},"content":" String courseId, FeedbackParticipantType giverType, FeedbackParticipantType recipientType,"},{"lineNumber":423,"author":{"gitId":"-"},"content":" String recipientIdentifier) {"},{"lineNumber":424,"author":{"gitId":"-"},"content":""},{"lineNumber":425,"author":{"gitId":"-"},"content":" switch (recipientType) {"},{"lineNumber":426,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":427,"author":{"gitId":"-"},"content":" switch (giverType) {"},{"lineNumber":428,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":429,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":430,"author":{"gitId":"-"},"content":" return Const.DEFAULT_SQL_SECTION;"},{"lineNumber":431,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":432,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":433,"author":{"gitId":"-"},"content":" Section section \u003d sqlLogic.getSectionByCourseIdAndTeam(courseId, recipientIdentifier);"},{"lineNumber":434,"author":{"gitId":"-"},"content":" return section \u003d\u003d null ? Const.DEFAULT_SQL_SECTION : section;"},{"lineNumber":435,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":436,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":437,"author":{"gitId":"-"},"content":" Student student \u003d sqlLogic.getStudentForEmail(courseId, recipientIdentifier);"},{"lineNumber":438,"author":{"gitId":"-"},"content":" return student \u003d\u003d null ? Const.DEFAULT_SQL_SECTION : student.getSection();"},{"lineNumber":439,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":440,"author":{"gitId":"-"},"content":" assert false : \"Invalid giver type \" + giverType + \" for recipient type \" + recipientType;"},{"lineNumber":441,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":442,"author":{"gitId":"-"},"content":" }"},{"lineNumber":443,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":444,"author":{"gitId":"-"},"content":" case NONE:"},{"lineNumber":445,"author":{"gitId":"-"},"content":" return Const.DEFAULT_SQL_SECTION;"},{"lineNumber":446,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":447,"author":{"gitId":"-"},"content":" case TEAMS_EXCLUDING_SELF:"},{"lineNumber":448,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":449,"author":{"gitId":"-"},"content":" case OWN_TEAM:"},{"lineNumber":450,"author":{"gitId":"-"},"content":" Section section \u003d sqlLogic.getSectionByCourseIdAndTeam(courseId, recipientIdentifier);"},{"lineNumber":451,"author":{"gitId":"-"},"content":" return section \u003d\u003d null ? Const.DEFAULT_SQL_SECTION : section;"},{"lineNumber":452,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":453,"author":{"gitId":"-"},"content":" case STUDENTS_EXCLUDING_SELF:"},{"lineNumber":454,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":455,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":456,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS_INCLUDING_SELF:"},{"lineNumber":457,"author":{"gitId":"-"},"content":" Student student \u003d sqlLogic.getStudentForEmail(courseId, recipientIdentifier);"},{"lineNumber":458,"author":{"gitId":"-"},"content":" return student \u003d\u003d null ? Const.DEFAULT_SQL_SECTION : student.getSection();"},{"lineNumber":459,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":460,"author":{"gitId":"-"},"content":" assert false : \"Unknown recipient type \" + recipientType;"},{"lineNumber":461,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":462,"author":{"gitId":"-"},"content":" }"},{"lineNumber":463,"author":{"gitId":"-"},"content":" }"},{"lineNumber":464,"author":{"gitId":"-"},"content":""},{"lineNumber":465,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":466,"author":{"gitId":"-"},"content":" * Gets the section of a recipient."},{"lineNumber":467,"author":{"gitId":"-"},"content":" */"},{"lineNumber":468,"author":{"gitId":"-"},"content":" String getDatastoreRecipientSection("},{"lineNumber":469,"author":{"gitId":"-"},"content":" String courseId, FeedbackParticipantType giverType, FeedbackParticipantType recipientType,"},{"lineNumber":470,"author":{"gitId":"-"},"content":" String recipientIdentifier) {"},{"lineNumber":471,"author":{"gitId":"-"},"content":" switch (recipientType) {"},{"lineNumber":472,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":473,"author":{"gitId":"-"},"content":" switch (giverType) {"},{"lineNumber":474,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":475,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":476,"author":{"gitId":"-"},"content":" return Const.DEFAULT_SECTION;"},{"lineNumber":477,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":478,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":479,"author":{"gitId":"-"},"content":" return logic.getSectionForTeam(courseId, recipientIdentifier);"},{"lineNumber":480,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":481,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":482,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d logic.getStudentForEmail(courseId, recipientIdentifier);"},{"lineNumber":483,"author":{"gitId":"-"},"content":" return student \u003d\u003d null ? Const.DEFAULT_SECTION : student.getSection();"},{"lineNumber":484,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":485,"author":{"gitId":"-"},"content":" assert false : \"Invalid giver type \" + giverType + \" for recipient type \" + recipientType;"},{"lineNumber":486,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":487,"author":{"gitId":"-"},"content":" }"},{"lineNumber":488,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":489,"author":{"gitId":"-"},"content":" case NONE:"},{"lineNumber":490,"author":{"gitId":"-"},"content":" return Const.DEFAULT_SECTION;"},{"lineNumber":491,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":492,"author":{"gitId":"-"},"content":" case TEAMS_EXCLUDING_SELF:"},{"lineNumber":493,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":494,"author":{"gitId":"-"},"content":" case OWN_TEAM:"},{"lineNumber":495,"author":{"gitId":"-"},"content":" return logic.getSectionForTeam(courseId, recipientIdentifier);"},{"lineNumber":496,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":497,"author":{"gitId":"-"},"content":" case STUDENTS_EXCLUDING_SELF:"},{"lineNumber":498,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":499,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":500,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS_INCLUDING_SELF:"},{"lineNumber":501,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d logic.getStudentForEmail(courseId, recipientIdentifier);"},{"lineNumber":502,"author":{"gitId":"-"},"content":" return student \u003d\u003d null ? Const.DEFAULT_SECTION : student.getSection();"},{"lineNumber":503,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":504,"author":{"gitId":"-"},"content":" assert false : \"Unknown recipient type \" + recipientType;"},{"lineNumber":505,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":506,"author":{"gitId":"-"},"content":" }"},{"lineNumber":507,"author":{"gitId":"-"},"content":" }"},{"lineNumber":508,"author":{"gitId":"-"},"content":""},{"lineNumber":509,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":33,"-":476}},{"path":"src/main/java/teammates/ui/webapi/CreateFeedbackQuestionAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":8,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackQuestionData;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackQuestionCreateRequest;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Creates a feedback question."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class CreateFeedbackQuestionAction extends Action {"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":23,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" String feedbackSessionName \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" InstructorAttributes instructorDetailForCourse \u003d logic.getInstructorForGoogleId(courseId, userInfo.getId());"},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (!isCourseMigrated(courseId)) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructorDetailForCourse,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" getNonNullFeedbackSession(feedbackSessionName, courseId),"},{"lineNumber":35,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" // TODO: Remove sql from variable name after migration"},{"lineNumber":40,"author":{"gitId":"-"},"content":" Instructor sqlInstructorDetailForCourse \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.getId());"},{"lineNumber":41,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(sqlInstructorDetailForCourse,"},{"lineNumber":42,"author":{"gitId":"-"},"content":" getNonNullSqlFeedbackSession(feedbackSessionName, courseId),"},{"lineNumber":43,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":47,"author":{"gitId":"marquestye"},"content":" public JsonResult execute() throws InvalidHttpRequestBodyException, InvalidOperationException {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" String feedbackSessionName \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" FeedbackQuestionCreateRequest request \u003d getAndValidateRequestBody(FeedbackQuestionCreateRequest.class);"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" if (!isCourseMigrated(courseId)) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" return executeWithDataStore(courseId, feedbackSessionName, request);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" FeedbackQuestion feedbackQuestion \u003d FeedbackQuestion.makeQuestion("},{"lineNumber":57,"author":{"gitId":"-"},"content":" getNonNullSqlFeedbackSession(feedbackSessionName, courseId),"},{"lineNumber":58,"author":{"gitId":"-"},"content":" request.getQuestionNumber(),"},{"lineNumber":59,"author":{"gitId":"-"},"content":" request.getQuestionDescription(),"},{"lineNumber":60,"author":{"gitId":"-"},"content":" request.getGiverType(),"},{"lineNumber":61,"author":{"gitId":"-"},"content":" request.getRecipientType(),"},{"lineNumber":62,"author":{"gitId":"-"},"content":" request.getNumberOfEntitiesToGiveFeedbackTo(),"},{"lineNumber":63,"author":{"gitId":"-"},"content":" request.getShowResponsesTo(),"},{"lineNumber":64,"author":{"gitId":"-"},"content":" request.getShowGiverNameTo(),"},{"lineNumber":65,"author":{"gitId":"-"},"content":" request.getShowRecipientNameTo(),"},{"lineNumber":66,"author":{"gitId":"-"},"content":" request.getQuestionDetails()"},{"lineNumber":67,"author":{"gitId":"-"},"content":" );"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" // validate questions (giver \u0026 recipient)"},{"lineNumber":71,"author":{"gitId":"-"},"content":" String err \u003d feedbackQuestion.getQuestionDetailsCopy().validateGiverRecipientVisibility(feedbackQuestion);"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" if (!err.isEmpty()) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(err);"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":" // validate questions (question details)"},{"lineNumber":77,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails questionDetails \u003d feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":78,"author":{"gitId":"-"},"content":" List\u003cString\u003e questionDetailsErrors \u003d questionDetails.validateQuestionDetails();"},{"lineNumber":79,"author":{"gitId":"-"},"content":" if (!questionDetailsErrors.isEmpty()) {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(questionDetailsErrors.toString());"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d sqlLogic.createFeedbackQuestion(feedbackQuestion);"},{"lineNumber":83,"author":{"gitId":"-"},"content":" return new JsonResult(new FeedbackQuestionData(feedbackQuestion));"},{"lineNumber":84,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException ex) {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(ex);"},{"lineNumber":86,"author":{"gitId":"marquestye"},"content":" } catch (EntityAlreadyExistsException e) {"},{"lineNumber":87,"author":{"gitId":"marquestye"},"content":" throw new InvalidOperationException(e);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":" }"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" private JsonResult executeWithDataStore(String courseId, String feedbackSessionName,"},{"lineNumber":92,"author":{"gitId":"-"},"content":" FeedbackQuestionCreateRequest request) throws InvalidHttpRequestBodyException {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes attributes \u003d FeedbackQuestionAttributes.builder()"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .withCourseId(courseId)"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .withFeedbackSessionName(feedbackSessionName)"},{"lineNumber":96,"author":{"gitId":"-"},"content":" .withGiverType(request.getGiverType())"},{"lineNumber":97,"author":{"gitId":"-"},"content":" .withRecipientType(request.getRecipientType())"},{"lineNumber":98,"author":{"gitId":"-"},"content":" .withQuestionNumber(request.getQuestionNumber())"},{"lineNumber":99,"author":{"gitId":"-"},"content":" .withNumberOfEntitiesToGiveFeedbackTo(request.getNumberOfEntitiesToGiveFeedbackTo())"},{"lineNumber":100,"author":{"gitId":"-"},"content":" .withShowResponsesTo(request.getShowResponsesTo())"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .withShowGiverNameTo(request.getShowGiverNameTo())"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .withShowRecipientNameTo(request.getShowRecipientNameTo())"},{"lineNumber":103,"author":{"gitId":"-"},"content":" .withQuestionDetails(request.getQuestionDetails())"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .withQuestionDescription(request.getQuestionDescription())"},{"lineNumber":105,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" // validate questions (giver \u0026 recipient)"},{"lineNumber":108,"author":{"gitId":"-"},"content":" String err \u003d attributes.getQuestionDetailsCopy().validateGiverRecipientVisibility(attributes);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" if (!err.isEmpty()) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(err);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":" // validate questions (question details)"},{"lineNumber":113,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails questionDetails \u003d attributes.getQuestionDetailsCopy();"},{"lineNumber":114,"author":{"gitId":"-"},"content":" List\u003cString\u003e questionDetailsErrors \u003d questionDetails.validateQuestionDetails();"},{"lineNumber":115,"author":{"gitId":"-"},"content":" if (!questionDetailsErrors.isEmpty()) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(String.join(\"\\n\", questionDetailsErrors));"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" attributes \u003d logic.createFeedbackQuestion(attributes);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" return new JsonResult(new FeedbackQuestionData(attributes));"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":4,"-":124}},{"path":"src/main/java/teammates/ui/webapi/CreateFeedbackSessionAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPermissionSet;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionData;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackSessionCreateRequest;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * Create a feedback session."},{"lineNumber":27,"author":{"gitId":"-"},"content":" */"},{"lineNumber":28,"author":{"gitId":"-"},"content":"public class CreateFeedbackSessionAction extends Action {"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.getId());"},{"lineNumber":43,"author":{"gitId":"-"},"content":" Course course \u003d sqlLogic.getCourse(courseId);"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, course, Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.getId());"},{"lineNumber":48,"author":{"gitId":"-"},"content":" CourseAttributes course \u003d logic.getCourse(courseId);"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, course, Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":55,"author":{"gitId":"-"},"content":" public JsonResult execute() throws InvalidHttpRequestBodyException, InvalidOperationException {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" FeedbackSessionCreateRequest createRequest \u003d"},{"lineNumber":58,"author":{"gitId":"-"},"content":" getAndValidateRequestBody(FeedbackSessionCreateRequest.class);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" String feedbackSessionName \u003d SanitizationHelper.sanitizeTitle(createRequest.getFeedbackSessionName());"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" Course course \u003d sqlLogic.getCourse(courseId);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Failed to find course with the given course id.\");"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.getId());"},{"lineNumber":67,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Failed to find instructor with the given courseId and googleId.\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" String timeZone \u003d course.getTimeZone();"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" Instant startTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":74,"author":{"gitId":"-"},"content":" createRequest.getSubmissionStartTime(), timeZone, true);"},{"lineNumber":75,"author":{"gitId":"-"},"content":" String startTimeError \u003d FieldValidator.getInvalidityInfoForNewStartTime(startTime, timeZone);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" if (!startTimeError.isEmpty()) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(\"Invalid submission opening time: \" + startTimeError);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":" Instant endTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":80,"author":{"gitId":"-"},"content":" createRequest.getSubmissionEndTime(), timeZone, true);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" String endTimeError \u003d FieldValidator.getInvalidityInfoForNewEndTime(endTime, timeZone);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" if (!endTimeError.isEmpty()) {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(\"Invalid submission closing time: \" + endTimeError);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Instant sessionVisibleTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":86,"author":{"gitId":"-"},"content":" createRequest.getSessionVisibleFromTime(), timeZone, true);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" String visibilityStartAndSessionStartTimeError \u003d"},{"lineNumber":88,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForNewVisibilityStart(sessionVisibleTime, startTime);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" if (!visibilityStartAndSessionStartTimeError.isEmpty()) {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(\"Invalid session visible time: \""},{"lineNumber":91,"author":{"gitId":"-"},"content":" + visibilityStartAndSessionStartTimeError);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":" Instant resultsVisibleTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":94,"author":{"gitId":"-"},"content":" createRequest.getResultsVisibleFromTime(), timeZone, true);"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession \u003d new FeedbackSession("},{"lineNumber":97,"author":{"gitId":"-"},"content":" feedbackSessionName,"},{"lineNumber":98,"author":{"gitId":"-"},"content":" course,"},{"lineNumber":99,"author":{"gitId":"-"},"content":" instructor.getEmail(),"},{"lineNumber":100,"author":{"gitId":"-"},"content":" createRequest.getInstructions(),"},{"lineNumber":101,"author":{"gitId":"-"},"content":" startTime,"},{"lineNumber":102,"author":{"gitId":"-"},"content":" endTime,"},{"lineNumber":103,"author":{"gitId":"-"},"content":" sessionVisibleTime,"},{"lineNumber":104,"author":{"gitId":"-"},"content":" resultsVisibleTime,"},{"lineNumber":105,"author":{"gitId":"-"},"content":" createRequest.getGracePeriod(),"},{"lineNumber":106,"author":{"gitId":"-"},"content":" true,"},{"lineNumber":107,"author":{"gitId":"-"},"content":" createRequest.isClosingEmailEnabled(),"},{"lineNumber":108,"author":{"gitId":"-"},"content":" createRequest.isPublishedEmailEnabled()"},{"lineNumber":109,"author":{"gitId":"-"},"content":" );"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" feedbackSession \u003d sqlLogic.createFeedbackSession(feedbackSession);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" } catch (EntityAlreadyExistsException e) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(\"A session named \" + feedbackSessionName"},{"lineNumber":115,"author":{"gitId":"-"},"content":" + \" exists already in the course \" + course.getName()"},{"lineNumber":116,"author":{"gitId":"-"},"content":" + \" (Course ID: \" + courseId + \")\", e);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" if (createRequest.getToCopyCourseId() !\u003d null) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" createCopiedFeedbackQuestions(createRequest.getToCopyCourseId(), courseId,"},{"lineNumber":123,"author":{"gitId":"-"},"content":" feedbackSessionName, createRequest.getToCopySessionName());"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":" FeedbackSessionData output \u003d new FeedbackSessionData(feedbackSession);"},{"lineNumber":126,"author":{"gitId":"-"},"content":" InstructorPermissionSet privilege \u003d constructInstructorPrivileges(instructor, feedbackSessionName);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" output.setPrivileges(privilege);"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" return new JsonResult(output);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" CourseAttributes course \u003d logic.getCourse(courseId);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" String timeZone \u003d course.getTimeZone();"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" Instant startTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":135,"author":{"gitId":"-"},"content":" createRequest.getSubmissionStartTime(), timeZone, true);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" String startTimeError \u003d FieldValidator.getInvalidityInfoForNewStartTime(startTime, timeZone);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" if (!startTimeError.isEmpty()) {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(\"Invalid submission opening time: \" + startTimeError);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" }"},{"lineNumber":140,"author":{"gitId":"-"},"content":" Instant endTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":141,"author":{"gitId":"-"},"content":" createRequest.getSubmissionEndTime(), timeZone, true);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" String endTimeError \u003d FieldValidator.getInvalidityInfoForNewEndTime(endTime, timeZone);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" if (!endTimeError.isEmpty()) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(\"Invalid submission closing time: \" + endTimeError);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":" Instant sessionVisibleTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":147,"author":{"gitId":"-"},"content":" createRequest.getSessionVisibleFromTime(), timeZone, true);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" String visibilityStartAndSessionStartTimeError \u003d"},{"lineNumber":149,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForNewVisibilityStart(sessionVisibleTime, startTime);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" if (!visibilityStartAndSessionStartTimeError.isEmpty()) {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(\"Invalid session visible time: \""},{"lineNumber":152,"author":{"gitId":"-"},"content":" + visibilityStartAndSessionStartTimeError);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":" Instant resultsVisibleTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":155,"author":{"gitId":"-"},"content":" createRequest.getResultsVisibleFromTime(), timeZone, true);"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.getId());"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes fs \u003d"},{"lineNumber":160,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes"},{"lineNumber":161,"author":{"gitId":"-"},"content":" .builder(feedbackSessionName, course.getId())"},{"lineNumber":162,"author":{"gitId":"-"},"content":" .withCreatorEmail(instructor.getEmail())"},{"lineNumber":163,"author":{"gitId":"-"},"content":" .withTimeZone(course.getTimeZone())"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .withInstructions(createRequest.getInstructions())"},{"lineNumber":165,"author":{"gitId":"-"},"content":" .withStartTime(startTime)"},{"lineNumber":166,"author":{"gitId":"-"},"content":" .withEndTime(endTime)"},{"lineNumber":167,"author":{"gitId":"-"},"content":" .withGracePeriod(createRequest.getGracePeriod())"},{"lineNumber":168,"author":{"gitId":"-"},"content":" .withSessionVisibleFromTime(sessionVisibleTime)"},{"lineNumber":169,"author":{"gitId":"-"},"content":" .withResultsVisibleFromTime(resultsVisibleTime)"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .withIsClosingEmailEnabled(createRequest.isClosingEmailEnabled())"},{"lineNumber":171,"author":{"gitId":"-"},"content":" .withIsPublishedEmailEnabled(createRequest.isPublishedEmailEnabled())"},{"lineNumber":172,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":173,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" logic.createFeedbackSession(fs);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" } catch (EntityAlreadyExistsException e) {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(\"A session named \" + feedbackSessionName"},{"lineNumber":177,"author":{"gitId":"-"},"content":" + \" exists already in the course \" + course.getName()"},{"lineNumber":178,"author":{"gitId":"-"},"content":" + \" (Course ID: \" + courseId + \")\", e);"},{"lineNumber":179,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" if (createRequest.getToCopyCourseId() !\u003d null) {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" createFeedbackQuestions(createRequest.getToCopyCourseId(), courseId, feedbackSessionName,"},{"lineNumber":185,"author":{"gitId":"-"},"content":" createRequest.getToCopySessionName());"},{"lineNumber":186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":" fs \u003d getNonNullFeedbackSession(fs.getFeedbackSessionName(), fs.getCourseId());"},{"lineNumber":188,"author":{"gitId":"-"},"content":" FeedbackSessionData output \u003d new FeedbackSessionData(fs);"},{"lineNumber":189,"author":{"gitId":"-"},"content":" InstructorPermissionSet privilege \u003d constructInstructorPrivileges(instructor, feedbackSessionName);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" output.setPrivileges(privilege);"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" return new JsonResult(output);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" private void createCopiedFeedbackQuestions(String oldCourseId, String newCourseId,"},{"lineNumber":197,"author":{"gitId":"-"},"content":" String newFeedbackSessionName, String oldFeedbackSessionName) {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" FeedbackSession oldFeedbackSession \u003d sqlLogic.getFeedbackSession(oldFeedbackSessionName, oldCourseId);"},{"lineNumber":199,"author":{"gitId":"-"},"content":" FeedbackSession newFeedbackSession \u003d sqlLogic.getFeedbackSession(newFeedbackSessionName, newCourseId);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" sqlLogic.getFeedbackQuestionsForSession(oldFeedbackSession).forEach(question -\u003e {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" FeedbackQuestion feedbackQuestion \u003d question.makeDeepCopy(newFeedbackSession);"},{"lineNumber":202,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" sqlLogic.createFeedbackQuestion(feedbackQuestion);"},{"lineNumber":204,"author":{"gitId":"marquestye"},"content":" } catch (InvalidParametersException | EntityAlreadyExistsException e) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" log.severe(\"Error when copying feedback question: \" + e.getMessage());"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":" });"},{"lineNumber":208,"author":{"gitId":"-"},"content":" }"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":" private void createFeedbackQuestions(String copyCourseId, String newCourseId, String feedbackSessionName,"},{"lineNumber":211,"author":{"gitId":"-"},"content":" String oldSessionName) {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" logic.getFeedbackQuestionsForSession(oldSessionName, copyCourseId).forEach(question -\u003e {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes attributes \u003d FeedbackQuestionAttributes.builder()"},{"lineNumber":214,"author":{"gitId":"-"},"content":" .withCourseId(newCourseId)"},{"lineNumber":215,"author":{"gitId":"-"},"content":" .withFeedbackSessionName(feedbackSessionName)"},{"lineNumber":216,"author":{"gitId":"-"},"content":" .withGiverType(question.getGiverType())"},{"lineNumber":217,"author":{"gitId":"-"},"content":" .withRecipientType(question.getRecipientType())"},{"lineNumber":218,"author":{"gitId":"-"},"content":" .withQuestionNumber(question.getQuestionNumber())"},{"lineNumber":219,"author":{"gitId":"-"},"content":" .withNumberOfEntitiesToGiveFeedbackTo(question.getNumberOfEntitiesToGiveFeedbackTo())"},{"lineNumber":220,"author":{"gitId":"-"},"content":" .withShowResponsesTo(question.getShowResponsesTo())"},{"lineNumber":221,"author":{"gitId":"-"},"content":" .withShowGiverNameTo(question.getShowGiverNameTo())"},{"lineNumber":222,"author":{"gitId":"-"},"content":" .withShowRecipientNameTo(question.getShowRecipientNameTo())"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .withQuestionDetails(question.getQuestionDetails())"},{"lineNumber":224,"author":{"gitId":"-"},"content":" .withQuestionDescription(question.getQuestionDescription())"},{"lineNumber":225,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" logic.createFeedbackQuestion(attributes);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" log.severe(\"Error when copying feedback question: \" + e.getMessage());"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":" });"},{"lineNumber":233,"author":{"gitId":"-"},"content":" }"},{"lineNumber":234,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":1,"-":233}},{"path":"src/main/java/teammates/ui/webapi/CreateInstructorAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.datatransfer.InstructorPermissionRole;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPrivileges;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":10,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":11,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorData;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.ui.request.InstructorCreateRequest;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Action: adds another instructor to a course that already exists."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"mingyuanc"},"content":"public class CreateInstructorAction extends Action {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":22,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":27,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" if (userInfo.isAdmin) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (!userInfo.isInstructor) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Instructor privilege is required to access this resource.\");"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":39,"author":{"gitId":"mingyuanc"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.id);"},{"lineNumber":40,"author":{"gitId":"mingyuanc"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":41,"author":{"gitId":"mingyuanc"},"content":" instructor, sqlLogic.getCourse(courseId), Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR);"},{"lineNumber":42,"author":{"gitId":"mingyuanc"},"content":" } else {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.id);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":45,"author":{"gitId":"-"},"content":" instructor, logic.getCourse(courseId), Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":" }"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":50,"author":{"gitId":"-"},"content":" public JsonResult execute() throws InvalidHttpRequestBodyException, InvalidOperationException {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" InstructorCreateRequest instructorRequest \u003d getAndValidateRequestBody(InstructorCreateRequest.class);"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":55,"author":{"gitId":"mingyuanc"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":56,"author":{"gitId":"mingyuanc"},"content":" return executeWithSql(courseId, instructorRequest);"},{"lineNumber":57,"author":{"gitId":"mingyuanc"},"content":" } else {"},{"lineNumber":58,"author":{"gitId":"mingyuanc"},"content":" return executeWithDataStore(courseId, instructorRequest);"},{"lineNumber":59,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" } catch (EntityAlreadyExistsException e) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" throw new InvalidOperationException("},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"An instructor with the same email address already exists in the course.\", e);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":67,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":68,"author":{"gitId":"mingyuanc"},"content":" /**"},{"lineNumber":69,"author":{"gitId":"mingyuanc"},"content":" * Executes the action using SQL storage."},{"lineNumber":70,"author":{"gitId":"mingyuanc"},"content":" *"},{"lineNumber":71,"author":{"gitId":"mingyuanc"},"content":" * @param courseId Id of the course the instructor is being added"},{"lineNumber":72,"author":{"gitId":"mingyuanc"},"content":" * to."},{"lineNumber":73,"author":{"gitId":"mingyuanc"},"content":" * @param instructorRequest Request body containing the instructor\u0027s info."},{"lineNumber":74,"author":{"gitId":"mingyuanc"},"content":" * @return The Json result of the created Instructor"},{"lineNumber":75,"author":{"gitId":"mingyuanc"},"content":" * @throws InvalidParametersException If a parameter is invalid"},{"lineNumber":76,"author":{"gitId":"mingyuanc"},"content":" * @throws EntityAlreadyExistsException If there is a conflict at the email"},{"lineNumber":77,"author":{"gitId":"mingyuanc"},"content":" * field"},{"lineNumber":78,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":79,"author":{"gitId":"mingyuanc"},"content":" private JsonResult executeWithSql(String courseId, InstructorCreateRequest instructorRequest)"},{"lineNumber":80,"author":{"gitId":"mingyuanc"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":81,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":82,"author":{"gitId":"mingyuanc"},"content":" Instructor instructorToAdd \u003d createInstructorWithBasicAttributesSql(courseId,"},{"lineNumber":83,"author":{"gitId":"mingyuanc"},"content":" SanitizationHelper.sanitizeName(instructorRequest.getName()),"},{"lineNumber":84,"author":{"gitId":"mingyuanc"},"content":" SanitizationHelper.sanitizeEmail(instructorRequest.getEmail()), instructorRequest.getRoleName(),"},{"lineNumber":85,"author":{"gitId":"mingyuanc"},"content":" instructorRequest.getIsDisplayedToStudent(),"},{"lineNumber":86,"author":{"gitId":"mingyuanc"},"content":" SanitizationHelper.sanitizeName(instructorRequest.getDisplayName()));"},{"lineNumber":87,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":88,"author":{"gitId":"mingyuanc"},"content":" Instructor createdInstructor \u003d sqlLogic.createInstructor(instructorToAdd);"},{"lineNumber":89,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":90,"author":{"gitId":"mingyuanc"},"content":" taskQueuer.scheduleCourseRegistrationInviteToInstructor("},{"lineNumber":91,"author":{"gitId":"mingyuanc"},"content":" this.userInfo.id, instructorToAdd.getEmail(), courseId, false);"},{"lineNumber":92,"author":{"gitId":"mingyuanc"},"content":" taskQueuer.scheduleInstructorForSearchIndexing(createdInstructor.getCourseId(), createdInstructor.getEmail());"},{"lineNumber":93,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":94,"author":{"gitId":"mingyuanc"},"content":" return new JsonResult(new InstructorData(createdInstructor));"},{"lineNumber":95,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":96,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":97,"author":{"gitId":"mingyuanc"},"content":" /**"},{"lineNumber":98,"author":{"gitId":"mingyuanc"},"content":" * Executes the action using Datastore storage."},{"lineNumber":99,"author":{"gitId":"mingyuanc"},"content":" *"},{"lineNumber":100,"author":{"gitId":"mingyuanc"},"content":" * @param courseId Id of the course the instructor is being added"},{"lineNumber":101,"author":{"gitId":"mingyuanc"},"content":" * to."},{"lineNumber":102,"author":{"gitId":"mingyuanc"},"content":" * @param instructorRequest Request body containing the instructor\u0027s info."},{"lineNumber":103,"author":{"gitId":"mingyuanc"},"content":" * @return The Json result of the created Instructor"},{"lineNumber":104,"author":{"gitId":"mingyuanc"},"content":" * @throws InvalidParametersException If a parameter is invalid"},{"lineNumber":105,"author":{"gitId":"mingyuanc"},"content":" * @throws EntityAlreadyExistsException If there is a conflict at the email"},{"lineNumber":106,"author":{"gitId":"mingyuanc"},"content":" * field"},{"lineNumber":107,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":108,"author":{"gitId":"mingyuanc"},"content":" private JsonResult executeWithDataStore(String courseId, InstructorCreateRequest instructorRequest)"},{"lineNumber":109,"author":{"gitId":"mingyuanc"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" InstructorAttributes instructorToAdd \u003d createInstructorWithBasicAttributes(courseId,"},{"lineNumber":111,"author":{"gitId":"-"},"content":" instructorRequest.getName(), instructorRequest.getEmail(), instructorRequest.getRoleName(),"},{"lineNumber":112,"author":{"gitId":"-"},"content":" instructorRequest.getIsDisplayedToStudent(), instructorRequest.getDisplayName());"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" InstructorAttributes createdInstructor \u003d logic.createInstructor(instructorToAdd);"},{"lineNumber":115,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" taskQueuer.scheduleCourseRegistrationInviteToInstructor("},{"lineNumber":117,"author":{"gitId":"-"},"content":" userInfo.id, instructorToAdd.getEmail(), instructorToAdd.getCourseId(), false);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" taskQueuer.scheduleInstructorForSearchIndexing(createdInstructor.getCourseId(), createdInstructor.getEmail());"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" return new JsonResult(new InstructorData(createdInstructor));"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"mingyuanc"},"content":" /**"},{"lineNumber":124,"author":{"gitId":"mingyuanc"},"content":" * Creates a new instructor with basic information."},{"lineNumber":125,"author":{"gitId":"mingyuanc"},"content":" * This consists of everything apart from custom privileges."},{"lineNumber":126,"author":{"gitId":"mingyuanc"},"content":" *"},{"lineNumber":127,"author":{"gitId":"mingyuanc"},"content":" * @param courseId Id of the course the instructor is being added"},{"lineNumber":128,"author":{"gitId":"mingyuanc"},"content":" * to."},{"lineNumber":129,"author":{"gitId":"mingyuanc"},"content":" * @param instructorName Name of the instructor."},{"lineNumber":130,"author":{"gitId":"mingyuanc"},"content":" * @param instructorEmail Email of the instructor."},{"lineNumber":131,"author":{"gitId":"mingyuanc"},"content":" * @param instructorRole Role of the instructor."},{"lineNumber":132,"author":{"gitId":"mingyuanc"},"content":" * @param isDisplayedToStudents Whether the instructor should be visible to"},{"lineNumber":133,"author":{"gitId":"mingyuanc"},"content":" * students."},{"lineNumber":134,"author":{"gitId":"mingyuanc"},"content":" * @param displayedName Name to be visible to students."},{"lineNumber":135,"author":{"gitId":"mingyuanc"},"content":" * Should not be {@code null} even if"},{"lineNumber":136,"author":{"gitId":"mingyuanc"},"content":" * {@code isDisplayedToStudents} is false."},{"lineNumber":137,"author":{"gitId":"mingyuanc"},"content":" * @return An instructor with basic info, excluding custom privileges"},{"lineNumber":138,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":139,"author":{"gitId":"mingyuanc"},"content":" private Instructor createInstructorWithBasicAttributesSql(String courseId, String instructorName,"},{"lineNumber":140,"author":{"gitId":"mingyuanc"},"content":" String instructorEmail, String instructorRole,"},{"lineNumber":141,"author":{"gitId":"mingyuanc"},"content":" boolean isDisplayedToStudents, String displayedName) {"},{"lineNumber":142,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":143,"author":{"gitId":"mingyuanc"},"content":" String instrName \u003d SanitizationHelper.sanitizeName(instructorName);"},{"lineNumber":144,"author":{"gitId":"mingyuanc"},"content":" String instrEmail \u003d SanitizationHelper.sanitizeEmail(instructorEmail);"},{"lineNumber":145,"author":{"gitId":"mingyuanc"},"content":" String instrRole \u003d SanitizationHelper.sanitizeName(instructorRole);"},{"lineNumber":146,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":147,"author":{"gitId":"mingyuanc"},"content":" String instrDisplayedName \u003d displayedName;"},{"lineNumber":148,"author":{"gitId":"mingyuanc"},"content":" if (displayedName \u003d\u003d null || displayedName.isEmpty()) {"},{"lineNumber":149,"author":{"gitId":"mingyuanc"},"content":" instrDisplayedName \u003d Const.DEFAULT_DISPLAY_NAME_FOR_INSTRUCTOR;"},{"lineNumber":150,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":151,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":152,"author":{"gitId":"mingyuanc"},"content":" InstructorPrivileges privileges \u003d new InstructorPrivileges(instrRole);"},{"lineNumber":153,"author":{"gitId":"mingyuanc"},"content":" InstructorPermissionRole role \u003d InstructorPermissionRole.getEnum(instrRole);"},{"lineNumber":154,"author":{"gitId":"mingyuanc"},"content":" Course course \u003d sqlLogic.getCourse(courseId);"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"mingyuanc"},"content":" return new Instructor(course, instrName, instrEmail, isDisplayedToStudents, instrDisplayedName, role,"},{"lineNumber":157,"author":{"gitId":"mingyuanc"},"content":" privileges);"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":161,"author":{"gitId":"-"},"content":" * Creates a new instructor with basic information."},{"lineNumber":162,"author":{"gitId":"-"},"content":" * This consists of everything apart from custom privileges."},{"lineNumber":163,"author":{"gitId":"-"},"content":" *"},{"lineNumber":164,"author":{"gitId":"mingyuanc"},"content":" * @param courseId Id of the course the instructor is being added"},{"lineNumber":165,"author":{"gitId":"mingyuanc"},"content":" * to."},{"lineNumber":166,"author":{"gitId":"-"},"content":" * @param instructorName Name of the instructor."},{"lineNumber":167,"author":{"gitId":"-"},"content":" * @param instructorEmail Email of the instructor."},{"lineNumber":168,"author":{"gitId":"-"},"content":" * @param instructorRole Role of the instructor."},{"lineNumber":169,"author":{"gitId":"mingyuanc"},"content":" * @param isDisplayedToStudents Whether the instructor should be visible to"},{"lineNumber":170,"author":{"gitId":"mingyuanc"},"content":" * students."},{"lineNumber":171,"author":{"gitId":"-"},"content":" * @param displayedName Name to be visible to students."},{"lineNumber":172,"author":{"gitId":"mingyuanc"},"content":" * Should not be {@code null} even if"},{"lineNumber":173,"author":{"gitId":"mingyuanc"},"content":" * {@code isDisplayedToStudents} is false."},{"lineNumber":174,"author":{"gitId":"-"},"content":" * @return An instructor with basic info, excluding custom privileges"},{"lineNumber":175,"author":{"gitId":"-"},"content":" */"},{"lineNumber":176,"author":{"gitId":"-"},"content":" private InstructorAttributes createInstructorWithBasicAttributes(String courseId, String instructorName,"},{"lineNumber":177,"author":{"gitId":"-"},"content":" String instructorEmail, String instructorRole,"},{"lineNumber":178,"author":{"gitId":"-"},"content":" boolean isDisplayedToStudents, String displayedName) {"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" String instrName \u003d SanitizationHelper.sanitizeName(instructorName);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" String instrEmail \u003d SanitizationHelper.sanitizeEmail(instructorEmail);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" String instrRole \u003d SanitizationHelper.sanitizeName(instructorRole);"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" String instrDisplayedName \u003d displayedName;"},{"lineNumber":185,"author":{"gitId":"-"},"content":" if (displayedName \u003d\u003d null || displayedName.isEmpty()) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" instrDisplayedName \u003d Const.DEFAULT_DISPLAY_NAME_FOR_INSTRUCTOR;"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" instrDisplayedName \u003d SanitizationHelper.sanitizeName(instrDisplayedName);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" InstructorPrivileges privileges \u003d new InstructorPrivileges(instructorRole);"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" return InstructorAttributes.builder(courseId, instrEmail)"},{"lineNumber":193,"author":{"gitId":"-"},"content":" .withName(instrName)"},{"lineNumber":194,"author":{"gitId":"-"},"content":" .withRole(instrRole)"},{"lineNumber":195,"author":{"gitId":"-"},"content":" .withIsDisplayedToStudents(isDisplayedToStudents)"},{"lineNumber":196,"author":{"gitId":"-"},"content":" .withDisplayedName(instrDisplayedName)"},{"lineNumber":197,"author":{"gitId":"-"},"content":" .withPrivileges(privileges)"},{"lineNumber":198,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"mingyuanc":99,"-":102}},{"path":"src/main/java/teammates/ui/webapi/EnrollStudentsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.EnrollException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.RequestTracer;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.ui.output.EnrollStudentsData;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentData;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentsData;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.ui.request.StudentsEnrollRequest;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * Enroll a list of students."},{"lineNumber":29,"author":{"gitId":"-"},"content":" *"},{"lineNumber":30,"author":{"gitId":"-"},"content":" * \u003cp\u003eCreate the students who are not in the course."},{"lineNumber":31,"author":{"gitId":"-"},"content":" *"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * \u003cp\u003eUpdate the students who are already existed."},{"lineNumber":33,"author":{"gitId":"-"},"content":" *"},{"lineNumber":34,"author":{"gitId":"-"},"content":" * \u003cp\u003eReturn all students who are successfully enrolled."},{"lineNumber":35,"author":{"gitId":"-"},"content":" */"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":"public class EnrollStudentsAction extends Action {"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":39,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":44,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" if (!userInfo.isInstructor) {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Instructor privilege is required to access this resource.\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":" }"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" if (!isCourseMigrated(courseId)) {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.id);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":53,"author":{"gitId":"-"},"content":" instructor, logic.getCourse(courseId), Const.InstructorPermissions.CAN_MODIFY_STUDENT);"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.id);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" instructor, sqlLogic.getCourse(courseId), Const.InstructorPermissions.CAN_MODIFY_STUDENT);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public JsonResult execute() throws InvalidHttpRequestBodyException, InvalidOperationException {"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" StudentsEnrollRequest enrollRequests \u003d getAndValidateRequestBody(StudentsEnrollRequest.class);"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":" List\u003cStudentsEnrollRequest.StudentEnrollRequest\u003e studentEnrollRequests \u003d enrollRequests.getStudentEnrollRequests();"},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" Course course \u003d sqlLogic.getCourse(courseId);"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" boolean isCourseMigrated \u003d isCourseMigrated(courseId);"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" if (isCourseMigrated) {"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e studentsToEnroll \u003d new ArrayList\u003c\u003e();"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" studentEnrollRequests.forEach(studentEnrollRequest -\u003e {"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" Section section \u003d new Section(course, studentEnrollRequest.getSection());"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" Team team \u003d new Team(section, studentEnrollRequest.getTeam());"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" studentsToEnroll.add(new Student("},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" course, studentEnrollRequest.getName(),"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" studentEnrollRequest.getEmail(), studentEnrollRequest.getComments(), team));"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" sqlLogic.validateSectionsAndTeams(studentsToEnroll, courseId);"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" } catch (EnrollException e) {"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" throw new InvalidOperationException(e);"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e enrolledStudents \u003d new ArrayList\u003c\u003e();"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" List\u003cEnrollStudentsData.EnrollErrorResults\u003e failToEnrollStudents \u003d new ArrayList\u003c\u003e();"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" Set\u003cString\u003e existingStudentsEmail;"},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e existingStudents \u003d sqlLogic.getStudentsForCourse(courseId);"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" existingStudentsEmail \u003d"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" existingStudents.stream().map(Student::getEmail).collect(Collectors.toSet());"},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" for (StudentsEnrollRequest.StudentEnrollRequest enrollRequest : studentEnrollRequests) {"},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" if (existingStudentsEmail.contains(enrollRequest.getEmail())) {"},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":" // The student has been enrolled in the course."},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":" Section section \u003d sqlLogic.getSectionOrCreate(courseId, enrollRequest.getSection());"},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" Team team \u003d sqlLogic.getTeamOrCreate(section, enrollRequest.getTeam());"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" Student newStudent \u003d new Student("},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" course, enrollRequest.getName(),"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" enrollRequest.getEmail(), enrollRequest.getComments(), team);"},{"lineNumber":105,"author":{"gitId":"marquestye"},"content":" newStudent.setId(sqlLogic.getStudentForEmail(courseId, enrollRequest.getEmail()).getId());"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":" Student updatedStudent \u003d sqlLogic.updateStudentCascade(newStudent);"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" taskQueuer.scheduleStudentForSearchIndexing("},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" updatedStudent.getCourseId(), updatedStudent.getEmail());"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" enrolledStudents.add(updatedStudent);"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" } catch (InvalidParametersException | EntityDoesNotExistException"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" | EntityAlreadyExistsException exception) {"},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" // Unsuccessfully enrolled students will not be returned."},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" failToEnrollStudents.add(new EnrollStudentsData.EnrollErrorResults(enrollRequest.getEmail(),"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" exception.getMessage()));"},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" // The student is new."},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" Section section \u003d sqlLogic.getSectionOrCreate(courseId, enrollRequest.getSection());"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" Team team \u003d sqlLogic.getTeamOrCreate(section, enrollRequest.getTeam());"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" Student newStudent \u003d new Student("},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":" course, enrollRequest.getName(),"},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":" enrollRequest.getEmail(), enrollRequest.getComments(), team);"},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" newStudent \u003d sqlLogic.createStudent(newStudent);"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" taskQueuer.scheduleStudentForSearchIndexing("},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" newStudent.getCourseId(), newStudent.getEmail());"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" enrolledStudents.add(newStudent);"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":" } catch (InvalidParametersException | EntityAlreadyExistsException exception) {"},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":" // Unsuccessfully enrolled students will not be returned."},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":" failToEnrollStudents.add(new EnrollStudentsData.EnrollErrorResults(enrollRequest.getEmail(),"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" exception.getMessage()));"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" List\u003cStudentData\u003e studentDataList \u003d enrolledStudents"},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":" .stream()"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" .map(StudentData::new)"},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":" .collect(Collectors.toList());"},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" StudentsData data \u003d new StudentsData();"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" data.setStudents(studentDataList);"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":" return new JsonResult(new EnrollStudentsData(data, failToEnrollStudents));"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" List\u003cStudentAttributes\u003e studentsToEnroll \u003d new ArrayList\u003c\u003e();"},{"lineNumber":148,"author":{"gitId":"-"},"content":" enrollRequests.getStudentEnrollRequests().forEach(studentEnrollRequest -\u003e {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" studentsToEnroll.add(StudentAttributes.builder(courseId, studentEnrollRequest.getEmail())"},{"lineNumber":150,"author":{"gitId":"-"},"content":" .withName(studentEnrollRequest.getName())"},{"lineNumber":151,"author":{"gitId":"-"},"content":" .withSectionName(studentEnrollRequest.getSection())"},{"lineNumber":152,"author":{"gitId":"-"},"content":" .withTeamName(studentEnrollRequest.getTeam())"},{"lineNumber":153,"author":{"gitId":"-"},"content":" .withComment(studentEnrollRequest.getComments())"},{"lineNumber":154,"author":{"gitId":"-"},"content":" .build());"},{"lineNumber":155,"author":{"gitId":"-"},"content":" });"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" logic.validateSectionsAndTeams(studentsToEnroll, courseId);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" } catch (EnrollException e) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(e);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" List\u003cStudentAttributes\u003e enrolledStudents \u003d new ArrayList\u003c\u003e();"},{"lineNumber":164,"author":{"gitId":"-"},"content":" List\u003cEnrollStudentsData.EnrollErrorResults\u003e failToEnrollStudents \u003d new ArrayList\u003c\u003e();"},{"lineNumber":165,"author":{"gitId":"domoberzin"},"content":" Set\u003cString\u003e existingStudentsEmail;"},{"lineNumber":166,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":" List\u003cStudentAttributes\u003e existingStudents \u003d logic.getStudentsForCourse(courseId);"},{"lineNumber":168,"author":{"gitId":"domoberzin"},"content":" existingStudentsEmail \u003d"},{"lineNumber":169,"author":{"gitId":"domoberzin"},"content":" existingStudents.stream().map(StudentAttributes::getEmail).collect(Collectors.toSet());"},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" for (StudentAttributes student : studentsToEnroll) {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":173,"author":{"gitId":"-"},"content":" if (existingStudentsEmail.contains(student.getEmail())) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" // The student has been enrolled in the course."},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" StudentAttributes.UpdateOptions updateOptions \u003d"},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" StudentAttributes.updateOptionsBuilder(courseId, student.getEmail())"},{"lineNumber":178,"author":{"gitId":"-"},"content":" .withName(student.getName())"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .withSectionName(student.getSection())"},{"lineNumber":180,"author":{"gitId":"-"},"content":" .withTeamName(student.getTeam())"},{"lineNumber":181,"author":{"gitId":"-"},"content":" .withComment(student.getComments())"},{"lineNumber":182,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":183,"author":{"gitId":"-"},"content":" StudentAttributes updatedStudent \u003d logic.updateStudentCascade(updateOptions);"},{"lineNumber":184,"author":{"gitId":"domoberzin"},"content":" taskQueuer.scheduleStudentForSearchIndexing("},{"lineNumber":185,"author":{"gitId":"domoberzin"},"content":" updatedStudent.getCourse(), updatedStudent.getEmail());"},{"lineNumber":186,"author":{"gitId":"-"},"content":" enrolledStudents.add(updatedStudent);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException | EntityDoesNotExistException"},{"lineNumber":188,"author":{"gitId":"-"},"content":" | EntityAlreadyExistsException exception) {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" // Unsuccessfully enrolled students will not be returned."},{"lineNumber":190,"author":{"gitId":"-"},"content":" failToEnrollStudents.add(new EnrollStudentsData.EnrollErrorResults(student.getEmail(),"},{"lineNumber":191,"author":{"gitId":"-"},"content":" exception.getMessage()));"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":194,"author":{"gitId":"-"},"content":" // The student is new."},{"lineNumber":195,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":" StudentAttributes studentAttributes \u003d StudentAttributes.builder(courseId, student.getEmail())"},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":" .withName(student.getName())"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" .withSectionName(student.getSection())"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":" .withTeamName(student.getTeam())"},{"lineNumber":200,"author":{"gitId":"domoberzin"},"content":" .withComment(student.getComments())"},{"lineNumber":201,"author":{"gitId":"domoberzin"},"content":" .build();"},{"lineNumber":202,"author":{"gitId":"domoberzin"},"content":" StudentAttributes newStudent \u003d logic.createStudent(studentAttributes);"},{"lineNumber":203,"author":{"gitId":"-"},"content":" taskQueuer.scheduleStudentForSearchIndexing(newStudent.getCourse(), newStudent.getEmail());"},{"lineNumber":204,"author":{"gitId":"-"},"content":" enrolledStudents.add(newStudent);"},{"lineNumber":205,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException | EntityAlreadyExistsException exception) {"},{"lineNumber":206,"author":{"gitId":"-"},"content":" // Unsuccessfully enrolled students will not be returned."},{"lineNumber":207,"author":{"gitId":"-"},"content":" failToEnrollStudents.add(new EnrollStudentsData.EnrollErrorResults(student.getEmail(),"},{"lineNumber":208,"author":{"gitId":"-"},"content":" exception.getMessage()));"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" List\u003cStudentData\u003e studentDataList \u003d enrolledStudents"},{"lineNumber":214,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":215,"author":{"gitId":"-"},"content":" .map(StudentData::new)"},{"lineNumber":216,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":217,"author":{"gitId":"-"},"content":" StudentsData data \u003d new StudentsData();"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" data.setStudents(studentDataList);"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" return new JsonResult(new EnrollStudentsData(data, failToEnrollStudents));"},{"lineNumber":222,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":108,"marquestye":1,"-":116}},{"path":"src/main/java/teammates/ui/webapi/GetCourseJoinStatusAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountRequestAttributes;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.ui.output.JoinStatus;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Get the join status of a course."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"public class GetCourseJoinStatusAction extends Action {"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":18,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" }"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":23,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" // Any user can use a join link as long as its parameters are valid"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"-"},"content":" public JsonResult execute() {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" String regkey \u003d getNonNullRequestParamValue(Const.ParamsNames.REGKEY);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" String entityType \u003d getNonNullRequestParamValue(Const.ParamsNames.ENTITY_TYPE);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" String isCreatingAccount \u003d getRequestParamValue(Const.ParamsNames.IS_CREATING_ACCOUNT);"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" switch (entityType) {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" case Const.EntityType.STUDENT:"},{"lineNumber":35,"author":{"gitId":"-"},"content":" return getStudentJoinStatus(regkey);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" case Const.EntityType.INSTRUCTOR:"},{"lineNumber":37,"author":{"gitId":"-"},"content":" return getInstructorJoinStatus(regkey, \"true\".equals(isCreatingAccount));"},{"lineNumber":38,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":39,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Error: invalid entity type\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" private JsonResult getStudentJoinStatus(String regkey) {"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" StudentAttributes studentAttributes \u003d logic.getStudentForRegistrationKey(regkey);"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" if (studentAttributes !\u003d null \u0026\u0026 !isCourseMigrated(studentAttributes.getCourse())) {"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" return getJoinStatusResult(studentAttributes.isRegistered());"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" Student student \u003d sqlLogic.getStudentByRegistrationKey(regkey);"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(\"No student with given registration key: \" + regkey);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" }"},{"lineNumber":54,"author":{"gitId":"-"},"content":" return getJoinStatusResult(student.isRegistered());"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" private JsonResult getInstructorJoinStatus(String regkey, boolean isCreatingAccount) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" if (isCreatingAccount) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" AccountRequestAttributes accountRequest \u003d logic.getAccountRequestForRegistrationKey(regkey);"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" AccountRequest sqlAccountRequest \u003d sqlLogic.getAccountRequestByRegistrationKey(regkey);"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" if (accountRequest \u003d\u003d null \u0026\u0026 sqlAccountRequest \u003d\u003d null) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(\"No account request with given registration key: \" + regkey);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" if (sqlAccountRequest !\u003d null) {"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" return getJoinStatusResult(sqlAccountRequest.getRegisteredAt() !\u003d null);"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" if (accountRequest !\u003d null) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" return getJoinStatusResult(accountRequest.getRegisteredAt() !\u003d null);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" InstructorAttributes instructorAttributes \u003d logic.getInstructorForRegistrationKey(regkey);"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" if (instructorAttributes !\u003d null \u0026\u0026 !isCourseMigrated(instructorAttributes.getCourseId())) {"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" return getJoinStatusResult(instructorAttributes.isRegistered());"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByRegistrationKey(regkey);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(\"No instructor with given registration key: \" + regkey);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":" return getJoinStatusResult(instructor.isRegistered());"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" private JsonResult getJoinStatusResult(boolean hasJoined) {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" JoinStatus result \u003d new JoinStatus(hasJoined);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" return new JsonResult(result);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":24,"-":69}},{"path":"src/main/java/teammates/ui/webapi/GetSessionResponseStatsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionStatsData;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Action: gets the response stats (submitted / total) of a feedback session."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"public class GetSessionResponseStatsAction extends Action {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":16,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":18,"author":{"gitId":"-"},"content":" }"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" if (userInfo.isAdmin) {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" String feedbackSessionName \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" FeedbackSession fs \u003d getNonNullSqlFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.getId());"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" gateKeeper.verifyAccessible(instructor, fs);"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes fsa \u003d getNonNullFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":34,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.getId());"},{"lineNumber":35,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, fsa);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":40,"author":{"gitId":"-"},"content":" public JsonResult execute() {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" String feedbackSessionName \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" FeedbackSession fsa \u003d getNonNullSqlFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" int expectedTotal \u003d sqlLogic.getExpectedTotalSubmission(fsa);"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" int actualTotal \u003d sqlLogic.getActualTotalSubmission(fsa);"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" FeedbackSessionStatsData output \u003d new FeedbackSessionStatsData(actualTotal, expectedTotal);"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" return new JsonResult(output);"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes fsa \u003d getNonNullFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" int expectedTotal \u003d logic.getExpectedTotalSubmission(fsa);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" int actualTotal \u003d logic.getActualTotalSubmission(fsa);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" FeedbackSessionStatsData output \u003d new FeedbackSessionStatsData(actualTotal, expectedTotal);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" return new JsonResult(output);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":15,"-":44}},{"path":"src/main/java/teammates/ui/webapi/GetSessionResultsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import java.util.UUID;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackResultFetchType;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SessionResultsBundle;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.SqlSessionResultsBundle;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":16,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.ui.output.SessionResultsData;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.ui.request.Intent;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Gets feedback session results including statistics where necessary."},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":"public class GetSessionResultsAction extends BasicFeedbackSubmissionAction {"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":26,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" return AuthType.PUBLIC;"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":31,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":33,"author":{"gitId":"-"},"content":" String feedbackSessionName \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);"},{"lineNumber":34,"author":{"gitId":"-"},"content":" Intent intent \u003d Intent.valueOf(getNonNullRequestParamValue(Const.ParamsNames.INTENT));"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" boolean isPreviewResults \u003d !StringHelper.isEmpty(previewAsPerson);"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" checkSpecificAccessControlSql(courseId, feedbackSessionName, intent, isPreviewResults);"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" checkSpecificAccessControlDatastore(courseId, feedbackSessionName, intent, isPreviewResults);"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" private void checkSpecificAccessControlDatastore("},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" String courseId, String feedbackSessionName, Intent intent, boolean isPreviewResults)"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" throws UnauthorizedAccessException {"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" FeedbackSessionAttributes feedbackSession \u003d getNonNullFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" switch (intent) {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" case FULL_DETAIL:"},{"lineNumber":52,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.getId());"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" gateKeeper.verifyAccessible(instructor, feedbackSession);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" case INSTRUCTOR_RESULT:"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" if (!isPreviewResults \u0026\u0026 !feedbackSession.isPublished()) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"This feedback session is not yet published.\", true);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" instructor \u003d getInstructorOfCourseFromRequest(courseId);"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" checkAccessControlForInstructorFeedbackResult(instructor, feedbackSession);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":63,"author":{"gitId":"-"},"content":" case STUDENT_RESULT:"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" if (!isPreviewResults \u0026\u0026 !feedbackSession.isPublished()) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"This feedback session is not yet published.\", true);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d getStudentOfCourseFromRequest(courseId);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" checkAccessControlForStudentFeedbackResult(student, feedbackSession);"},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":" case INSTRUCTOR_SUBMISSION:"},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" case STUDENT_SUBMISSION:"},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" throw new InvalidHttpParameterException(\"Invalid intent for this action\");"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" default:"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" throw new InvalidHttpParameterException(\"Unknown intent \" + intent);"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" private void checkSpecificAccessControlSql("},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" String courseId, String feedbackSessionName, Intent intent, boolean isPreviewResults)"},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" throws UnauthorizedAccessException {"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d getNonNullSqlFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" switch (intent) {"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":" case FULL_DETAIL:"},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.getId());"},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" gateKeeper.verifyAccessible(instructor, feedbackSession);"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" case INSTRUCTOR_RESULT:"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" if (!isPreviewResults \u0026\u0026 !feedbackSession.isPublished()) {"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":" throw new UnauthorizedAccessException(\"This feedback session is not yet published.\", true);"},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":" instructor \u003d getSqlInstructorOfCourseFromRequest(courseId);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" checkAccessControlForInstructorFeedbackResult(instructor, feedbackSession);"},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":" case STUDENT_RESULT:"},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" if (!isPreviewResults \u0026\u0026 !feedbackSession.isPublished()) {"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" throw new UnauthorizedAccessException(\"This feedback session is not yet published.\", true);"},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":" Student student \u003d getSqlStudentOfCourseFromRequest(courseId);"},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":" checkAccessControlForStudentFeedbackResult(student, feedbackSession);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":103,"author":{"gitId":"-"},"content":" case INSTRUCTOR_SUBMISSION:"},{"lineNumber":104,"author":{"gitId":"-"},"content":" case STUDENT_SUBMISSION:"},{"lineNumber":105,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Invalid intent for this action\");"},{"lineNumber":106,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":107,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Unknown intent \" + intent);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":112,"author":{"gitId":"-"},"content":" public JsonResult execute() {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" String feedbackSessionName \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" // Allow additional filter by question ID and section name"},{"lineNumber":117,"author":{"gitId":"-"},"content":" String questionId \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_QUESTION_ID);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" String selectedSection \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_RESULTS_GROUPBYSECTION);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" FeedbackResultFetchType fetchType \u003d FeedbackResultFetchType.parseFetchType("},{"lineNumber":120,"author":{"gitId":"-"},"content":" getRequestParamValue(Const.ParamsNames.FEEDBACK_RESULTS_SECTION_BY_GIVER_RECEIVER));"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" boolean isPreviewResults \u003d !StringHelper.isEmpty(previewAsPerson);"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":" Intent intent \u003d Intent.valueOf(getNonNullRequestParamValue(Const.ParamsNames.INTENT));"},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":" if (questionId !\u003d null) {"},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" UUID questionUuid \u003d getUuidRequestParamValue(Const.ParamsNames.FEEDBACK_QUESTION_ID);"},{"lineNumber":130,"author":{"gitId":"mingyuanc"},"content":" return executeWithSql(courseId, feedbackSessionName, questionUuid,"},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":" selectedSection, fetchType, intent, isPreviewResults);"},{"lineNumber":132,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":133,"author":{"gitId":"xenosf"},"content":" return executeWithSql(courseId, feedbackSessionName, null, selectedSection,"},{"lineNumber":134,"author":{"gitId":"xenosf"},"content":" fetchType, intent, isPreviewResults);"},{"lineNumber":135,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":136,"author":{"gitId":"xenosf"},"content":" return executeWithDatastore(courseId, feedbackSessionName, questionId, selectedSection,"},{"lineNumber":137,"author":{"gitId":"xenosf"},"content":" fetchType, intent, isPreviewResults);"},{"lineNumber":138,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":139,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":140,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":141,"author":{"gitId":"xenosf"},"content":" private JsonResult executeWithDatastore("},{"lineNumber":142,"author":{"gitId":"xenosf"},"content":" String courseId, String feedbackSessionName, String questionId, String selectedSection,"},{"lineNumber":143,"author":{"gitId":"xenosf"},"content":" FeedbackResultFetchType fetchType, Intent intent, boolean isPreviewResults) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" InstructorAttributes instructor;"},{"lineNumber":145,"author":{"gitId":"-"},"content":" StudentAttributes student;"},{"lineNumber":146,"author":{"gitId":"xenosf"},"content":" SessionResultsBundle bundle;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" switch (intent) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" case FULL_DETAIL:"},{"lineNumber":149,"author":{"gitId":"-"},"content":" instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.id);"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" bundle \u003d logic.getSessionResultsForCourse(feedbackSessionName, courseId, instructor.getEmail(),"},{"lineNumber":152,"author":{"gitId":"-"},"content":" questionId, selectedSection, fetchType);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" return new JsonResult(SessionResultsData.initForInstructor(bundle));"},{"lineNumber":154,"author":{"gitId":"-"},"content":" case INSTRUCTOR_RESULT:"},{"lineNumber":155,"author":{"gitId":"-"},"content":" // Section name filter is not applicable here"},{"lineNumber":156,"author":{"gitId":"-"},"content":" instructor \u003d getInstructorOfCourseFromRequest(courseId);"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" bundle \u003d logic.getSessionResultsForUser(feedbackSessionName, courseId, instructor.getEmail(),"},{"lineNumber":159,"author":{"gitId":"-"},"content":" true, questionId, isPreviewResults);"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" // Build a fake student object, as the results will be displayed as if they are displayed to a student"},{"lineNumber":162,"author":{"gitId":"-"},"content":" student \u003d StudentAttributes.builder(instructor.getCourseId(), instructor.getEmail())"},{"lineNumber":163,"author":{"gitId":"-"},"content":" .withTeamName(Const.USER_TEAM_FOR_INSTRUCTOR)"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" return new JsonResult(SessionResultsData.initForStudent(bundle, student));"},{"lineNumber":167,"author":{"gitId":"-"},"content":" case STUDENT_RESULT:"},{"lineNumber":168,"author":{"gitId":"-"},"content":" // Section name filter is not applicable here"},{"lineNumber":169,"author":{"gitId":"-"},"content":" student \u003d getStudentOfCourseFromRequest(courseId);"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" bundle \u003d logic.getSessionResultsForUser(feedbackSessionName, courseId, student.getEmail(),"},{"lineNumber":172,"author":{"gitId":"-"},"content":" false, questionId, isPreviewResults);"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" return new JsonResult(SessionResultsData.initForStudent(bundle, student));"},{"lineNumber":175,"author":{"gitId":"-"},"content":" case INSTRUCTOR_SUBMISSION:"},{"lineNumber":176,"author":{"gitId":"-"},"content":" case STUDENT_SUBMISSION:"},{"lineNumber":177,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Invalid intent for this action\");"},{"lineNumber":178,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":179,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Unknown intent \" + intent);"},{"lineNumber":180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"xenosf"},"content":" private JsonResult executeWithSql("},{"lineNumber":184,"author":{"gitId":"xenosf"},"content":" String courseId, String feedbackSessionName, UUID questionUuid, String selectedSection,"},{"lineNumber":185,"author":{"gitId":"xenosf"},"content":" FeedbackResultFetchType fetchType, Intent intent, boolean isPreviewResults) {"},{"lineNumber":186,"author":{"gitId":"xenosf"},"content":" Instructor instructor;"},{"lineNumber":187,"author":{"gitId":"xenosf"},"content":" Student student;"},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d getNonNullSqlFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":" SqlSessionResultsBundle bundle;"},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" switch (intent) {"},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" case FULL_DETAIL:"},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":" instructor \u003d getSqlInstructorOfCourseFromRequest(courseId);"},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" bundle \u003d sqlLogic.getSessionResultsForCourse(feedbackSession, courseId, instructor.getEmail(),"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":" questionUuid, selectedSection, fetchType);"},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":" return new JsonResult(SessionResultsData.initForInstructor(bundle));"},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":" case INSTRUCTOR_RESULT:"},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":" // Section name filter is not applicable here"},{"lineNumber":199,"author":{"gitId":"mingyuanc"},"content":" instructor \u003d getSqlInstructorOfCourseFromRequest(courseId);"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":" bundle \u003d sqlLogic.getSessionResultsForUser(feedbackSession, courseId, instructor.getEmail(),"},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" true, questionUuid, isPreviewResults);"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":204,"author":{"gitId":"xenosf"},"content":" // Build a fake student object, as the results will be displayed as if they are displayed to a student"},{"lineNumber":205,"author":{"gitId":"xenosf"},"content":" student \u003d new Student(instructor.getCourse(), instructor.getName(), instructor.getEmail(), \"\");"},{"lineNumber":206,"author":{"gitId":"mingyuanc"},"content":" student.setTeam(new Team(null, Const.USER_TEAM_FOR_INSTRUCTOR));"},{"lineNumber":207,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":208,"author":{"gitId":"xenosf"},"content":" return new JsonResult(SessionResultsData.initForStudent(bundle, student));"},{"lineNumber":209,"author":{"gitId":"xenosf"},"content":" case STUDENT_RESULT:"},{"lineNumber":210,"author":{"gitId":"xenosf"},"content":" // Section name filter is not applicable here"},{"lineNumber":211,"author":{"gitId":"xenosf"},"content":" student \u003d getSqlStudentOfCourseFromRequest(courseId);"},{"lineNumber":212,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" bundle \u003d sqlLogic.getSessionResultsForUser(feedbackSession, courseId, student.getEmail(),"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" false, questionUuid, isPreviewResults);"},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" return new JsonResult(SessionResultsData.initForStudent(bundle, student));"},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":" case INSTRUCTOR_SUBMISSION:"},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":" case STUDENT_SUBMISSION:"},{"lineNumber":219,"author":{"gitId":"xenosf"},"content":" throw new InvalidHttpParameterException(\"Invalid intent for this action\");"},{"lineNumber":220,"author":{"gitId":"xenosf"},"content":" default:"},{"lineNumber":221,"author":{"gitId":"xenosf"},"content":" throw new InvalidHttpParameterException(\"Unknown intent \" + intent);"},{"lineNumber":222,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":223,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":224,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":114,"mingyuanc":4,"-":107}},{"path":"src/main/java/teammates/ui/webapi/InstructorSearchIndexingWorkerAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.util.Const.ParamsNames;"},{"lineNumber":8,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Task queue worker action: performs instructor search indexing."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class InstructorSearchIndexingWorkerAction extends AdminOnlyAction {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":16,"author":{"gitId":"-"},"content":" public ActionResult execute() {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(ParamsNames.COURSE_ID);"},{"lineNumber":18,"author":{"gitId":"-"},"content":" String email \u003d getNonNullRequestParamValue(ParamsNames.INSTRUCTOR_EMAIL);"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"mingyuanc"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":21,"author":{"gitId":"mingyuanc"},"content":" return executeWithSql(courseId, email);"},{"lineNumber":22,"author":{"gitId":"mingyuanc"},"content":" } else {"},{"lineNumber":23,"author":{"gitId":"mingyuanc"},"content":" return executeWithDataStore(courseId, email);"},{"lineNumber":24,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":25,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":26,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":27,"author":{"gitId":"mingyuanc"},"content":" private JsonResult executeWithSql(String courseId, String email) {"},{"lineNumber":28,"author":{"gitId":"mingyuanc"},"content":" Instructor instructor \u003d sqlLogic.getInstructorForEmail(courseId, email);"},{"lineNumber":29,"author":{"gitId":"mingyuanc"},"content":" try {"},{"lineNumber":30,"author":{"gitId":"mingyuanc"},"content":" sqlLogic.putInstructorDocument(instructor);"},{"lineNumber":31,"author":{"gitId":"mingyuanc"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":32,"author":{"gitId":"mingyuanc"},"content":" // Set an arbitrary retry code outside the range 200-299 to trigger automatic retry"},{"lineNumber":33,"author":{"gitId":"mingyuanc"},"content":" return new JsonResult(\"Failure\", HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":34,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":35,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":" return new JsonResult(\"Successful\");"},{"lineNumber":37,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":39,"author":{"gitId":"mingyuanc"},"content":" private JsonResult executeWithDataStore(String courseId, String email) {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForEmail(courseId, email);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" logic.putInstructorDocument(instructor);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" // Set an arbitrary retry code outside of the range 200-299 to trigger automatic retry"},{"lineNumber":45,"author":{"gitId":"-"},"content":" return new JsonResult(\"Failure\", HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" return new JsonResult(\"Successful\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"mingyuanc":21,"-":29}},{"path":"src/main/java/teammates/ui/webapi/JoinCourseAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"yuanxi1"},"content":"import java.util.Optional;"},{"lineNumber":4,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":16,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":17,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Action: joins a course for a student/instructor."},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"yuanxi1"},"content":"public class JoinCourseAction extends Action {"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" // Any user can use a join link as long as its parameters are valid"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"-"},"content":" public JsonResult execute() throws InvalidOperationException {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" String regKey \u003d getNonNullRequestParamValue(Const.ParamsNames.REGKEY);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" String entityType \u003d getNonNullRequestParamValue(Const.ParamsNames.ENTITY_TYPE);"},{"lineNumber":41,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":" String courseId \u003d getCourseId(regKey, entityType);"},{"lineNumber":43,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" // courseId is null when the registration key does not exist, this case is handled in the AccountsLogic."},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":" // Hence default to not migrated. Getting the courseId in the action layer is not needed once migration is done."},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":" if (courseId \u003d\u003d null || !isCourseMigrated(courseId)) {"},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":" switch (entityType) {"},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" case Const.EntityType.STUDENT:"},{"lineNumber":49,"author":{"gitId":"yuanxi1"},"content":" return joinCourseForStudentDatastore(regKey);"},{"lineNumber":50,"author":{"gitId":"yuanxi1"},"content":" case Const.EntityType.INSTRUCTOR:"},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":" return joinCourseForInstructorDatastore(regKey);"},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":" default:"},{"lineNumber":53,"author":{"gitId":"yuanxi1"},"content":" throw new InvalidHttpParameterException(\"Error: invalid entity type\");"},{"lineNumber":54,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":55,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":56,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" switch (entityType) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" case Const.EntityType.STUDENT:"},{"lineNumber":59,"author":{"gitId":"-"},"content":" return joinCourseForStudent(regKey);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" case Const.EntityType.INSTRUCTOR:"},{"lineNumber":61,"author":{"gitId":"-"},"content":" return joinCourseForInstructor(regKey);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":63,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Error: invalid entity type\");"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" private JsonResult joinCourseForStudent(String regkey) throws InvalidOperationException {"},{"lineNumber":68,"author":{"gitId":"yuanxi1"},"content":" Student student;"},{"lineNumber":69,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":70,"author":{"gitId":"yuanxi1"},"content":" try {"},{"lineNumber":71,"author":{"gitId":"yuanxi1"},"content":" student \u003d sqlLogic.joinCourseForStudent(regkey, userInfo.id);"},{"lineNumber":72,"author":{"gitId":"yuanxi1"},"content":" } catch (EntityDoesNotExistException ednee) {"},{"lineNumber":73,"author":{"gitId":"yuanxi1"},"content":" throw new EntityNotFoundException(ednee);"},{"lineNumber":74,"author":{"gitId":"yuanxi1"},"content":" } catch (EntityAlreadyExistsException eaee) {"},{"lineNumber":75,"author":{"gitId":"yuanxi1"},"content":" throw new InvalidOperationException(eaee);"},{"lineNumber":76,"author":{"gitId":"yuanxi1"},"content":" } catch (InvalidParametersException ipe) {"},{"lineNumber":77,"author":{"gitId":"yuanxi1"},"content":" // There should not be any invalid parameter here"},{"lineNumber":78,"author":{"gitId":"yuanxi1"},"content":" log.severe(\"Unexpected error\", ipe);"},{"lineNumber":79,"author":{"gitId":"yuanxi1"},"content":" return new JsonResult(ipe.getMessage(), HttpStatus.SC_INTERNAL_SERVER_ERROR);"},{"lineNumber":80,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":81,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":82,"author":{"gitId":"yuanxi1"},"content":" sendJoinEmail(student.getCourseId(), student.getName(), student.getEmail(), false);"},{"lineNumber":83,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":84,"author":{"gitId":"yuanxi1"},"content":" return new JsonResult(\"Student successfully joined course\");"},{"lineNumber":85,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":86,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":87,"author":{"gitId":"yuanxi1"},"content":" private JsonResult joinCourseForInstructor(String regkey) throws InvalidOperationException {"},{"lineNumber":88,"author":{"gitId":"yuanxi1"},"content":" Instructor instructor;"},{"lineNumber":89,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":90,"author":{"gitId":"yuanxi1"},"content":" try {"},{"lineNumber":91,"author":{"gitId":"yuanxi1"},"content":" instructor \u003d sqlLogic.joinCourseForInstructor(regkey, userInfo.id);"},{"lineNumber":92,"author":{"gitId":"yuanxi1"},"content":" } catch (EntityDoesNotExistException ednee) {"},{"lineNumber":93,"author":{"gitId":"yuanxi1"},"content":" throw new EntityNotFoundException(ednee);"},{"lineNumber":94,"author":{"gitId":"yuanxi1"},"content":" } catch (EntityAlreadyExistsException eaee) {"},{"lineNumber":95,"author":{"gitId":"yuanxi1"},"content":" throw new InvalidOperationException(eaee);"},{"lineNumber":96,"author":{"gitId":"yuanxi1"},"content":" } catch (InvalidParametersException ipe) {"},{"lineNumber":97,"author":{"gitId":"yuanxi1"},"content":" // There should not be any invalid parameter here"},{"lineNumber":98,"author":{"gitId":"yuanxi1"},"content":" log.severe(\"Unexpected error\", ipe);"},{"lineNumber":99,"author":{"gitId":"yuanxi1"},"content":" return new JsonResult(ipe.getMessage(), HttpStatus.SC_INTERNAL_SERVER_ERROR);"},{"lineNumber":100,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":101,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":102,"author":{"gitId":"yuanxi1"},"content":" sendJoinEmail(instructor.getCourseId(), instructor.getName(), instructor.getEmail(), true);"},{"lineNumber":103,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":104,"author":{"gitId":"yuanxi1"},"content":" return new JsonResult(\"Instructor successfully joined course\");"},{"lineNumber":105,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":106,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":107,"author":{"gitId":"yuanxi1"},"content":" private JsonResult joinCourseForStudentDatastore(String regkey) throws InvalidOperationException {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" StudentAttributes student;"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" student \u003d logic.joinCourseForStudent(regkey, userInfo.id);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" } catch (EntityDoesNotExistException ednee) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(ednee);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" } catch (EntityAlreadyExistsException eaee) {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(eaee);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException ipe) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" // There should not be any invalid parameter here"},{"lineNumber":118,"author":{"gitId":"-"},"content":" log.severe(\"Unexpected error\", ipe);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" return new JsonResult(ipe.getMessage(), HttpStatus.SC_INTERNAL_SERVER_ERROR);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"yuanxi1"},"content":" sendJoinEmailDatastore(student.getCourse(), student.getName(), student.getEmail(), false);"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" return new JsonResult(\"Student successfully joined course\");"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"yuanxi1"},"content":" private JsonResult joinCourseForInstructorDatastore(String regkey) throws InvalidOperationException {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" InstructorAttributes instructor;"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" instructor \u003d logic.joinCourseForInstructor(regkey, userInfo.id);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" } catch (EntityDoesNotExistException ednee) {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(ednee);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" } catch (EntityAlreadyExistsException eaee) {"},{"lineNumber":135,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(eaee);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException ipe) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" // There should not be any invalid parameter here"},{"lineNumber":138,"author":{"gitId":"-"},"content":" log.severe(\"Unexpected error\", ipe);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" return new JsonResult(ipe.getMessage(), HttpStatus.SC_INTERNAL_SERVER_ERROR);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"yuanxi1"},"content":" sendJoinEmailDatastore(instructor.getCourseId(), instructor.getName(), instructor.getEmail(), true);"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" return new JsonResult(\"Instructor successfully joined course\");"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"yuanxi1"},"content":" private void sendJoinEmailDatastore(String courseId, String userName, String userEmail, boolean isInstructor) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" CourseAttributes course \u003d logic.getCourse(courseId);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d emailGenerator.generateUserCourseRegisteredEmail("},{"lineNumber":150,"author":{"gitId":"-"},"content":" userName, userEmail, userInfo.id, isInstructor, course);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" emailSender.sendEmail(email);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"yuanxi1"},"content":" private void sendJoinEmail(String courseId, String userName, String userEmail, boolean isInstructor) {"},{"lineNumber":155,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d sqlLogic.getCourse(courseId);"},{"lineNumber":156,"author":{"gitId":"yuanxi1"},"content":" EmailWrapper email \u003d sqlEmailGenerator.generateUserCourseRegisteredEmail("},{"lineNumber":157,"author":{"gitId":"yuanxi1"},"content":" userName, userEmail, userInfo.id, isInstructor, course);"},{"lineNumber":158,"author":{"gitId":"yuanxi1"},"content":" emailSender.sendEmail(email);"},{"lineNumber":159,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":160,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":161,"author":{"gitId":"yuanxi1"},"content":" private String getCourseId(String regKey, String entityType) {"},{"lineNumber":162,"author":{"gitId":"yuanxi1"},"content":" String courseIdSql;"},{"lineNumber":163,"author":{"gitId":"yuanxi1"},"content":" String courseIdDatastore;"},{"lineNumber":164,"author":{"gitId":"yuanxi1"},"content":" switch (entityType) {"},{"lineNumber":165,"author":{"gitId":"yuanxi1"},"content":" case Const.EntityType.STUDENT:"},{"lineNumber":166,"author":{"gitId":"yuanxi1"},"content":" courseIdSql \u003d Optional.ofNullable(sqlLogic.getStudentByRegistrationKey(regKey))"},{"lineNumber":167,"author":{"gitId":"yuanxi1"},"content":" .map(Student::getCourseId)"},{"lineNumber":168,"author":{"gitId":"yuanxi1"},"content":" .orElse(null);"},{"lineNumber":169,"author":{"gitId":"yuanxi1"},"content":" courseIdDatastore \u003d Optional.ofNullable(logic.getStudentForRegistrationKey(regKey))"},{"lineNumber":170,"author":{"gitId":"yuanxi1"},"content":" .map(StudentAttributes::getCourse)"},{"lineNumber":171,"author":{"gitId":"yuanxi1"},"content":" .orElse(null);"},{"lineNumber":172,"author":{"gitId":"yuanxi1"},"content":" break;"},{"lineNumber":173,"author":{"gitId":"yuanxi1"},"content":" case Const.EntityType.INSTRUCTOR:"},{"lineNumber":174,"author":{"gitId":"yuanxi1"},"content":" courseIdSql \u003d Optional.ofNullable(sqlLogic.getInstructorByRegistrationKey(regKey))"},{"lineNumber":175,"author":{"gitId":"yuanxi1"},"content":" .map(Instructor::getCourseId)"},{"lineNumber":176,"author":{"gitId":"yuanxi1"},"content":" .orElse(null);"},{"lineNumber":177,"author":{"gitId":"yuanxi1"},"content":" courseIdDatastore \u003d Optional.ofNullable(logic.getInstructorForRegistrationKey(regKey))"},{"lineNumber":178,"author":{"gitId":"yuanxi1"},"content":" .map(InstructorAttributes::getCourseId)"},{"lineNumber":179,"author":{"gitId":"yuanxi1"},"content":" .orElse(null);"},{"lineNumber":180,"author":{"gitId":"yuanxi1"},"content":" break;"},{"lineNumber":181,"author":{"gitId":"yuanxi1"},"content":" default:"},{"lineNumber":182,"author":{"gitId":"yuanxi1"},"content":" throw new InvalidHttpParameterException(\"Error: invalid entity type\");"},{"lineNumber":183,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":184,"author":{"gitId":"yuanxi1"},"content":" return courseIdDatastore !\u003d null ? courseIdDatastore : courseIdSql;"},{"lineNumber":185,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":98,"-":88}},{"path":"src/main/java/teammates/ui/webapi/PutDataBundleDocumentsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.DataBundle;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Puts searchable documents from the data bundle into the DB."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"public class PutDataBundleDocumentsAction extends Action {"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":18,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" return AuthType.ALL_ACCESS;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" }"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":23,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" if (!Config.IS_DEV_SERVER) {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Admin privilege is required to access this resource.\");"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" public JsonResult execute() throws InvalidHttpRequestBodyException {"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" String type \u003d getNonNullRequestParamValue(\"databundletype\");"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" switch (type) {"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" case \"sql\":"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" return putSqlDataBundleDocuments();"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" case \"datastore\":"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" return putDataBundleDocuments();"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" default:"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" throw new InvalidHttpParameterException(\"Error: invalid data bundle type\");"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" private JsonResult putSqlDataBundleDocuments() throws InvalidHttpRequestBodyException {"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" SqlDataBundle sqlDataBundle \u003d JsonUtils.fromJson(getRequestBody(), SqlDataBundle.class);"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" try {"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" sqlLogic.putDocuments(sqlDataBundle);"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" return new JsonResult(\"Failed to add data bundle documents.\", HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" return new JsonResult(\"Data bundle documents successfully added.\");"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" private JsonResult putDataBundleDocuments() throws InvalidHttpRequestBodyException {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" DataBundle dataBundle \u003d JsonUtils.fromJson(getRequestBody(), DataBundle.class);"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" logic.putDocuments(dataBundle);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return new JsonResult(\"Failed to add data bundle documents.\", HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":" return new JsonResult(\"Data bundle documents successfully added.\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" }"},{"lineNumber":64,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":29,"-":35}},{"path":"src/main/java/teammates/ui/webapi/SearchAccountRequestsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountRequestAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.ui.output.AccountRequestData;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.ui.output.AccountRequestsData;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Searches for account requests."},{"lineNumber":15,"author":{"gitId":"-"},"content":" */"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"public class SearchAccountRequestsAction extends AdminOnlyAction {"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":19,"author":{"gitId":"-"},"content":" public JsonResult execute() {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" String searchKey \u003d getNonNullRequestParamValue(Const.ParamsNames.SEARCH_KEY);"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" List\u003cAccountRequest\u003e accountRequests;"},{"lineNumber":23,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" accountRequests \u003d sqlLogic.searchAccountRequestsInWholeSystem(searchKey);"},{"lineNumber":25,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" return new JsonResult(e.getMessage(), e.getStatusCode());"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" List\u003cAccountRequestAttributes\u003e requestsDatastore;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" requestsDatastore \u003d logic.searchAccountRequestsInWholeSystem(searchKey);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" return new JsonResult(e.getMessage(), e.getStatusCode());"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" List\u003cAccountRequestData\u003e accountRequestDataList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" for (AccountRequest accountRequest : accountRequests) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" AccountRequestData accountRequestData \u003d new AccountRequestData(accountRequest);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" accountRequestDataList.add(accountRequestData);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" for (AccountRequestAttributes request : requestsDatastore) {"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" if (accountRequestDataList.stream().noneMatch(data -\u003e data.getEmail().equals(request.getEmail()))) {"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" AccountRequestData accountRequestData \u003d new AccountRequestData(request);"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" accountRequestDataList.add(accountRequestData);"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" AccountRequestsData accountRequestsData \u003d new AccountRequestsData();"},{"lineNumber":50,"author":{"gitId":"-"},"content":" accountRequestsData.setAccountRequests(accountRequestDataList);"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" return new JsonResult(accountRequestsData);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" }"},{"lineNumber":54,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":17,"-":37}},{"path":"src/main/java/teammates/ui/webapi/SearchInstructorsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorData;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorsData;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Searches for instructors."},{"lineNumber":15,"author":{"gitId":"-"},"content":" */"},{"lineNumber":16,"author":{"gitId":"-"},"content":"public class SearchInstructorsAction extends AdminOnlyAction {"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":19,"author":{"gitId":"-"},"content":" public JsonResult execute() {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" // Search for sql db"},{"lineNumber":21,"author":{"gitId":"-"},"content":" String searchKey \u003d getNonNullRequestParamValue(Const.ParamsNames.SEARCH_KEY);"},{"lineNumber":22,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors;"},{"lineNumber":23,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" instructors \u003d sqlLogic.searchInstructorsInWholeSystem(searchKey);"},{"lineNumber":25,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" return new JsonResult(e.getMessage(), e.getStatusCode());"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" // Search for datastore"},{"lineNumber":30,"author":{"gitId":"-"},"content":" List\u003cInstructorAttributes\u003e instructorsDatastore;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" instructorsDatastore \u003d logic.searchInstructorsInWholeSystem(searchKey);"},{"lineNumber":33,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" return new JsonResult(e.getMessage(), e.getStatusCode());"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" List\u003cInstructorData\u003e instructorDataList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" // Add instructors from sql db"},{"lineNumber":40,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" InstructorData instructorData \u003d new InstructorData(instructor);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" instructorData.addAdditionalInformationForAdminSearch("},{"lineNumber":43,"author":{"gitId":"-"},"content":" instructor.getRegKey(),"},{"lineNumber":44,"author":{"gitId":"-"},"content":" sqlLogic.getCourse(instructor.getCourseId()).getInstitute(),"},{"lineNumber":45,"author":{"gitId":"-"},"content":" instructor.getGoogleId());"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" instructorDataList.add(instructorData);"},{"lineNumber":48,"author":{"gitId":"-"},"content":" }"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" // Add instructors from datastore"},{"lineNumber":51,"author":{"gitId":"-"},"content":" for (InstructorAttributes instructor : instructorsDatastore) {"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" InstructorData instructorData \u003d new InstructorData(instructor);"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" if (isCourseMigrated(instructorData.getCourseId())) {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" instructorData.addAdditionalInformationForAdminSearch("},{"lineNumber":60,"author":{"gitId":"-"},"content":" instructor.getKey(),"},{"lineNumber":61,"author":{"gitId":"-"},"content":" logic.getCourseInstitute(instructor.getCourseId()),"},{"lineNumber":62,"author":{"gitId":"-"},"content":" instructor.getGoogleId());"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" instructorDataList.add(instructorData);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" InstructorsData instructorsData \u003d new InstructorsData();"},{"lineNumber":68,"author":{"gitId":"-"},"content":" instructorsData.setInstructors(instructorDataList);"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" return new JsonResult(instructorsData);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":1,"-":71}},{"path":"src/main/java/teammates/ui/webapi/SearchStudentsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":10,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":11,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentData;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentsData;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Action for searching for students."},{"lineNumber":17,"author":{"gitId":"-"},"content":" */"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":"public class SearchStudentsAction extends Action {"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":23,"author":{"gitId":"-"},"content":" }"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":26,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" // Only instructors and admins can search for student"},{"lineNumber":28,"author":{"gitId":"-"},"content":" if (!userInfo.isInstructor \u0026\u0026 !userInfo.isAdmin) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Instructor or Admin privilege is required to access this resource.\");"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":" }"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"-"},"content":" public JsonResult execute() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" String searchKey \u003d getNonNullRequestParamValue(Const.ParamsNames.SEARCH_KEY);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" String entity \u003d getNonNullRequestParamValue(Const.ParamsNames.ENTITY_TYPE);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"yuanxi1"},"content":" List\u003cStudent\u003e students;"},{"lineNumber":39,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":40,"author":{"gitId":"yuanxi1"},"content":" try {"},{"lineNumber":41,"author":{"gitId":"yuanxi1"},"content":" if (userInfo.isInstructor \u0026\u0026 entity.equals(Const.EntityType.INSTRUCTOR)) {"},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":" List\u003cInstructor\u003e instructors \u003d sqlLogic.getInstructorsForGoogleId(userInfo.id);"},{"lineNumber":43,"author":{"gitId":"yuanxi1"},"content":" students \u003d sqlLogic.searchStudents(searchKey, instructors);"},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" } else if (userInfo.isAdmin \u0026\u0026 entity.equals(Const.EntityType.ADMIN)) {"},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":" students \u003d sqlLogic.searchStudentsInWholeSystem(searchKey);"},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":" } else {"},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":" throw new InvalidHttpParameterException(\"Invalid entity type for search\");"},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":49,"author":{"gitId":"yuanxi1"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":50,"author":{"gitId":"yuanxi1"},"content":" return new JsonResult(e.getMessage(), e.getStatusCode());"},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":53,"author":{"gitId":"yuanxi1"},"content":" // Search in datastore. For more information on dual db support, see this [PR](https://github.com/TEAMMATES/teammates/pull/12728/files)"},{"lineNumber":54,"author":{"gitId":"yuanxi1"},"content":" List\u003cStudentAttributes\u003e studentsDatastore;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" if (userInfo.isInstructor \u0026\u0026 entity.equals(Const.EntityType.INSTRUCTOR)) {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" List\u003cInstructorAttributes\u003e instructors \u003d logic.getInstructorsForGoogleId(userInfo.id);"},{"lineNumber":58,"author":{"gitId":"yuanxi1"},"content":" studentsDatastore \u003d logic.searchStudents(searchKey, instructors);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" } else if (userInfo.isAdmin \u0026\u0026 entity.equals(Const.EntityType.ADMIN)) {"},{"lineNumber":60,"author":{"gitId":"yuanxi1"},"content":" studentsDatastore \u003d logic.searchStudentsInWholeSystem(searchKey);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Invalid entity type for search\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" }"},{"lineNumber":64,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return new JsonResult(e.getMessage(), e.getStatusCode());"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" List\u003cStudentData\u003e studentDataList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":69,"author":{"gitId":"yuanxi1"},"content":" // Add students from sql database"},{"lineNumber":70,"author":{"gitId":"yuanxi1"},"content":" for (Student s : students) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" StudentData studentData \u003d new StudentData(s);"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"yuanxi1"},"content":" if (userInfo.isAdmin \u0026\u0026 entity.equals(Const.EntityType.ADMIN)) {"},{"lineNumber":74,"author":{"gitId":"yuanxi1"},"content":" studentData.addAdditionalInformationForAdminSearch("},{"lineNumber":75,"author":{"gitId":"yuanxi1"},"content":" s.getRegKey(),"},{"lineNumber":76,"author":{"gitId":"yuanxi1"},"content":" sqlLogic.getCourseInstitute(s.getCourseId()),"},{"lineNumber":77,"author":{"gitId":"yuanxi1"},"content":" s.getGoogleId()"},{"lineNumber":78,"author":{"gitId":"yuanxi1"},"content":" );"},{"lineNumber":79,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":80,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":81,"author":{"gitId":"yuanxi1"},"content":" studentDataList.add(studentData);"},{"lineNumber":82,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":83,"author":{"gitId":"yuanxi1"},"content":" // Add students from datastore"},{"lineNumber":84,"author":{"gitId":"yuanxi1"},"content":" for (StudentAttributes s : studentsDatastore) {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" StudentData studentData \u003d new StudentData(s);"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" if (isCourseMigrated(studentData.getCourseId())) {"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" continue;"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" if (userInfo.isAdmin \u0026\u0026 entity.equals(Const.EntityType.ADMIN)) {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" studentData.addAdditionalInformationForAdminSearch("},{"lineNumber":93,"author":{"gitId":"-"},"content":" s.getKey(),"},{"lineNumber":94,"author":{"gitId":"-"},"content":" logic.getCourseInstitute(s.getCourse()),"},{"lineNumber":95,"author":{"gitId":"-"},"content":" s.getGoogleId()"},{"lineNumber":96,"author":{"gitId":"-"},"content":" );"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" studentDataList.add(studentData);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":" StudentsData studentsData \u003d new StudentsData();"},{"lineNumber":102,"author":{"gitId":"-"},"content":" studentsData.setStudents(studentDataList);"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" return new JsonResult(studentsData);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":4,"yuanxi1":36,"-":66}},{"path":"src/main/java/teammates/ui/webapi/StudentSearchIndexingWorkerAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.util.Const.ParamsNames;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Task queue worker action: performs student search indexing."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class StudentSearchIndexingWorkerAction extends AdminOnlyAction {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":16,"author":{"gitId":"-"},"content":" public ActionResult execute() {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(ParamsNames.COURSE_ID);"},{"lineNumber":18,"author":{"gitId":"-"},"content":" String email \u003d getNonNullRequestParamValue(ParamsNames.STUDENT_EMAIL);"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" return executeWithSql(courseId, email);"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" return executeWithDataStore(courseId, email);"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" private ActionResult executeWithDataStore(String courseId, String email) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d logic.getStudentForEmail(courseId, email);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" logic.putStudentDocument(student);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" // Set an arbitrary retry code outside of the range 200-299 to trigger automatic retry"},{"lineNumber":34,"author":{"gitId":"-"},"content":" return new JsonResult(\"Failure\", HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" return new JsonResult(\"Successful\");"},{"lineNumber":38,"author":{"gitId":"-"},"content":" }"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" private ActionResult executeWithSql(String courseId, String email) {"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" Student student \u003d sqlLogic.getStudentForEmail(courseId, email);"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" try {"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" sqlLogic.putStudentDocument(student);"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" // Set an arbitrary retry code outside of the range 200-299 to trigger automatic retry"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" return new JsonResult(\"Failure\", HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" return new JsonResult(\"Successful\");"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":22,"-":29}},{"path":"src/main/java/teammates/ui/webapi/UpdateStudentAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.EnrollException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailSendingStatus;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailType;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":15,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":16,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":17,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":18,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":19,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.ui.request.StudentUpdateRequest;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * Action: Edits details of a student in a course."},{"lineNumber":25,"author":{"gitId":"-"},"content":" */"},{"lineNumber":26,"author":{"gitId":"marquestye"},"content":"public class UpdateStudentAction extends Action {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" static final String STUDENT_NOT_FOUND_FOR_EDIT \u003d \"The student you tried to edit does not exist. \""},{"lineNumber":28,"author":{"gitId":"-"},"content":" + \"If the student was created during the last few minutes, \""},{"lineNumber":29,"author":{"gitId":"-"},"content":" + \"try again in a few more minutes as the student may still be being saved.\";"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String SUCCESSFUL_UPDATE \u003d \"Student has been updated\";"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String SUCCESSFUL_UPDATE_WITH_EMAIL \u003d SUCCESSFUL_UPDATE + \" and email sent\";"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String SUCCESSFUL_UPDATE_BUT_EMAIL_FAILED \u003d SUCCESSFUL_UPDATE + \" but email failed to send\";"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":35,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":40,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" if (!userInfo.isInstructor) {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Instructor privilege is required to access this resource.\");"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"marquestye"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":47,"author":{"gitId":"marquestye"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.getId());"},{"lineNumber":48,"author":{"gitId":"marquestye"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":49,"author":{"gitId":"marquestye"},"content":" instructor, sqlLogic.getCourse(courseId), Const.InstructorPermissions.CAN_MODIFY_STUDENT);"},{"lineNumber":50,"author":{"gitId":"marquestye"},"content":" } else {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.id);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":53,"author":{"gitId":"-"},"content":" instructor, logic.getCourse(courseId), Const.InstructorPermissions.CAN_MODIFY_STUDENT);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":58,"author":{"gitId":"-"},"content":" public JsonResult execute() throws InvalidHttpRequestBodyException, InvalidOperationException {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" String studentEmail \u003d getNonNullRequestParamValue(Const.ParamsNames.STUDENT_EMAIL);"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"marquestye"},"content":" if (!isCourseMigrated(courseId)) {"},{"lineNumber":63,"author":{"gitId":"marquestye"},"content":" return executeWithDatastore(courseId, studentEmail);"},{"lineNumber":64,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":65,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":66,"author":{"gitId":"marquestye"},"content":" Student existingStudent \u003d sqlLogic.getStudentForEmail(courseId, studentEmail);"},{"lineNumber":67,"author":{"gitId":"marquestye"},"content":" if (existingStudent \u003d\u003d null) {"},{"lineNumber":68,"author":{"gitId":"marquestye"},"content":" throw new EntityNotFoundException(STUDENT_NOT_FOUND_FOR_EDIT);"},{"lineNumber":69,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":70,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":71,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d getAndValidateRequestBody(StudentUpdateRequest.class);"},{"lineNumber":72,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":73,"author":{"gitId":"marquestye"},"content":" Course course \u003d sqlLogic.getCourse(courseId);"},{"lineNumber":74,"author":{"gitId":"marquestye"},"content":" Section section \u003d sqlLogic.getSectionOrCreate(courseId, updateRequest.getSection());"},{"lineNumber":75,"author":{"gitId":"marquestye"},"content":" Team team \u003d sqlLogic.getTeamOrCreate(section, updateRequest.getTeam());"},{"lineNumber":76,"author":{"gitId":"marquestye"},"content":" Student studentToUpdate \u003d new Student(course, updateRequest.getName(), updateRequest.getEmail(),"},{"lineNumber":77,"author":{"gitId":"marquestye"},"content":" updateRequest.getComments(), team);"},{"lineNumber":78,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":79,"author":{"gitId":"marquestye"},"content":" try {"},{"lineNumber":80,"author":{"gitId":"marquestye"},"content":" //we swap out email before we validate"},{"lineNumber":81,"author":{"gitId":"marquestye"},"content":" //TODO: this is duct tape at the moment, need to refactor how we do the validation"},{"lineNumber":82,"author":{"gitId":"marquestye"},"content":" String newEmail \u003d studentToUpdate.getEmail();"},{"lineNumber":83,"author":{"gitId":"marquestye"},"content":" studentToUpdate.setEmail(existingStudent.getEmail());"},{"lineNumber":84,"author":{"gitId":"marquestye"},"content":" sqlLogic.validateSectionsAndTeams(Arrays.asList(studentToUpdate), courseId);"},{"lineNumber":85,"author":{"gitId":"marquestye"},"content":" studentToUpdate.setEmail(newEmail);"},{"lineNumber":86,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":87,"author":{"gitId":"marquestye"},"content":" studentToUpdate.setId(existingStudent.getId());"},{"lineNumber":88,"author":{"gitId":"marquestye"},"content":" Student updatedStudent \u003d sqlLogic.updateStudentCascade(studentToUpdate);"},{"lineNumber":89,"author":{"gitId":"marquestye"},"content":" taskQueuer.scheduleStudentForSearchIndexing(courseId, updatedStudent.getEmail());"},{"lineNumber":90,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":91,"author":{"gitId":"marquestye"},"content":" if (!studentEmail.equals(updateRequest.getEmail()) \u0026\u0026 updateRequest.getIsSessionSummarySendEmail()) {"},{"lineNumber":92,"author":{"gitId":"marquestye"},"content":" boolean emailSent \u003d sendEmail(courseId, updateRequest.getEmail());"},{"lineNumber":93,"author":{"gitId":"marquestye"},"content":" String statusMessage \u003d emailSent ? SUCCESSFUL_UPDATE_WITH_EMAIL"},{"lineNumber":94,"author":{"gitId":"marquestye"},"content":" : SUCCESSFUL_UPDATE_BUT_EMAIL_FAILED;"},{"lineNumber":95,"author":{"gitId":"marquestye"},"content":" return new JsonResult(statusMessage);"},{"lineNumber":96,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":97,"author":{"gitId":"marquestye"},"content":" } catch (EnrollException e) {"},{"lineNumber":98,"author":{"gitId":"marquestye"},"content":" throw new InvalidOperationException(e);"},{"lineNumber":99,"author":{"gitId":"marquestye"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":100,"author":{"gitId":"marquestye"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":101,"author":{"gitId":"marquestye"},"content":" } catch (EntityDoesNotExistException ednee) {"},{"lineNumber":102,"author":{"gitId":"marquestye"},"content":" throw new EntityNotFoundException(ednee);"},{"lineNumber":103,"author":{"gitId":"marquestye"},"content":" } catch (EntityAlreadyExistsException e) {"},{"lineNumber":104,"author":{"gitId":"marquestye"},"content":" throw new InvalidOperationException(\"Trying to update to an email that is already in use\", e);"},{"lineNumber":105,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":106,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":107,"author":{"gitId":"marquestye"},"content":" return new JsonResult(SUCCESSFUL_UPDATE);"},{"lineNumber":108,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":109,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":110,"author":{"gitId":"marquestye"},"content":" private JsonResult executeWithDatastore(String courseId, String studentEmail)"},{"lineNumber":111,"author":{"gitId":"marquestye"},"content":" throws InvalidHttpRequestBodyException, InvalidOperationException {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d logic.getStudentForEmail(courseId, studentEmail);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(STUDENT_NOT_FOUND_FOR_EDIT);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" StudentUpdateRequest updateRequest \u003d getAndValidateRequestBody(StudentUpdateRequest.class);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" StudentAttributes studentToUpdate \u003d StudentAttributes.builder(courseId, updateRequest.getEmail())"},{"lineNumber":119,"author":{"gitId":"-"},"content":" .withName(updateRequest.getName())"},{"lineNumber":120,"author":{"gitId":"-"},"content":" .withSectionName(updateRequest.getSection())"},{"lineNumber":121,"author":{"gitId":"-"},"content":" .withTeamName(updateRequest.getTeam())"},{"lineNumber":122,"author":{"gitId":"-"},"content":" .withComment(updateRequest.getComments())"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" //we swap out email before we validate"},{"lineNumber":127,"author":{"gitId":"-"},"content":" //TODO: this is duct tape at the moment, need to refactor how we do the validation"},{"lineNumber":128,"author":{"gitId":"-"},"content":" String newEmail \u003d studentToUpdate.getEmail();"},{"lineNumber":129,"author":{"gitId":"-"},"content":" studentToUpdate.setEmail(student.getEmail());"},{"lineNumber":130,"author":{"gitId":"-"},"content":" logic.validateSectionsAndTeams(Arrays.asList(studentToUpdate), student.getCourse());"},{"lineNumber":131,"author":{"gitId":"-"},"content":" studentToUpdate.setEmail(newEmail);"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" StudentAttributes updatedStudent \u003d logic.updateStudentCascade("},{"lineNumber":134,"author":{"gitId":"-"},"content":" StudentAttributes.updateOptionsBuilder(courseId, studentEmail)"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .withName(updateRequest.getName())"},{"lineNumber":136,"author":{"gitId":"-"},"content":" .withNewEmail(updateRequest.getEmail())"},{"lineNumber":137,"author":{"gitId":"-"},"content":" .withTeamName(updateRequest.getTeam())"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .withSectionName(updateRequest.getSection())"},{"lineNumber":139,"author":{"gitId":"-"},"content":" .withComment(updateRequest.getComments())"},{"lineNumber":140,"author":{"gitId":"-"},"content":" .build());"},{"lineNumber":141,"author":{"gitId":"-"},"content":" taskQueuer.scheduleStudentForSearchIndexing(updatedStudent.getCourse(), updatedStudent.getEmail());"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" if (!student.getEmail().equals(updateRequest.getEmail())) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" logic.resetStudentGoogleId(updateRequest.getEmail(), courseId);"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" if (updateRequest.getIsSessionSummarySendEmail()) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" boolean emailSent \u003d sendEmail(courseId, updateRequest.getEmail());"},{"lineNumber":148,"author":{"gitId":"-"},"content":" String statusMessage \u003d emailSent ? SUCCESSFUL_UPDATE_WITH_EMAIL"},{"lineNumber":149,"author":{"gitId":"-"},"content":" : SUCCESSFUL_UPDATE_BUT_EMAIL_FAILED;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" return new JsonResult(statusMessage);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":" } catch (EnrollException e) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(e);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" } catch (EntityDoesNotExistException ednee) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(ednee);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" } catch (EntityAlreadyExistsException e) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(\"Trying to update to an email that is already in use\", e);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" return new JsonResult(SUCCESSFUL_UPDATE);"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":167,"author":{"gitId":"-"},"content":" * Sends the feedback session summary as an email."},{"lineNumber":168,"author":{"gitId":"-"},"content":" *"},{"lineNumber":169,"author":{"gitId":"-"},"content":" * @return The true if email was sent successfully or false otherwise."},{"lineNumber":170,"author":{"gitId":"-"},"content":" */"},{"lineNumber":171,"author":{"gitId":"-"},"content":" private boolean sendEmail(String courseId, String studentEmail) {"},{"lineNumber":172,"author":{"gitId":"marquestye"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":173,"author":{"gitId":"marquestye"},"content":" EmailWrapper email \u003d sqlEmailGenerator.generateFeedbackSessionSummaryOfCourse("},{"lineNumber":174,"author":{"gitId":"marquestye"},"content":" courseId, studentEmail, EmailType.STUDENT_EMAIL_CHANGED);"},{"lineNumber":175,"author":{"gitId":"marquestye"},"content":" EmailSendingStatus status \u003d emailSender.sendEmail(email);"},{"lineNumber":176,"author":{"gitId":"marquestye"},"content":" return status.isSuccess();"},{"lineNumber":177,"author":{"gitId":"marquestye"},"content":" } else {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d emailGenerator.generateFeedbackSessionSummaryOfCourse("},{"lineNumber":179,"author":{"gitId":"-"},"content":" courseId, studentEmail, EmailType.STUDENT_EMAIL_CHANGED);"},{"lineNumber":180,"author":{"gitId":"-"},"content":" EmailSendingStatus status \u003d emailSender.sendEmail(email);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" return status.isSuccess();"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":68,"-":117}},{"path":"src/test/java/teammates/common/datatransfer/SqlSessionResultsBundleTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.common.datatransfer;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import java.util.HashMap;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import java.util.HashSet;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import java.util.Map;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":" * SUT: {@link SqlSessionResultsBundle}."},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":"public class SqlSessionResultsBundleTest extends BaseTestCase {"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" public void testGetQuestionResponseMap() {"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" SqlDataBundle responseBundle \u003d loadSqlDataBundle(\"/SqlFeedbackSessionResultsBundleTest.json\");"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" List\u003cString\u003e allExpectedResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" allExpectedResponses.add(responseBundle.feedbackResponses.get(\"response1ForQ1\").toString());"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" allExpectedResponses.add(responseBundle.feedbackResponses.get(\"response2ForQ1\").toString());"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" SqlSessionResultsBundle bundle \u003d"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" new SqlSessionResultsBundle("},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackQuestions.values()),"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackResponses.values()),"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(),"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" new SqlCourseRoster(new ArrayList\u003c\u003e(responseBundle.students.values()),"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.instructors.values()))"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" ______TS(\"Test question having responses\");"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq \u003d responseBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e allResponses \u003d bundle.getQuestionResponseMap().get(fq);"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" assertEquals(2, allResponses.size());"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" List\u003cString\u003e allResponsesString \u003d new ArrayList\u003c\u003e();"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" allResponsesString.add(allResponses.get(0).toString());"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" allResponsesString.add(allResponses.get(1).toString());"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" assertEquals(allExpectedResponses, allResponsesString);"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":" ______TS(\"Test question having no responses\");"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" fq \u003d responseBundle.feedbackQuestions.get(\"qn4InSession1InCourse1\");"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" allResponses \u003d bundle.getQuestionResponseMap().get(fq);"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" assertEquals(0, allResponses.size());"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" public void testGetQuestionMissingResponseMap() {"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" SqlDataBundle responseBundle \u003d loadSqlDataBundle(\"/SqlFeedbackSessionResultsBundleTest.json\");"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":" List\u003cString\u003e expectedMissingResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":" expectedMissingResponses.add(responseBundle.feedbackResponses.get(\"response1ForQ1\").toString());"},{"lineNumber":67,"author":{"gitId":"xenosf"},"content":" expectedMissingResponses.add(responseBundle.feedbackResponses.get(\"response2ForQ1\").toString());"},{"lineNumber":68,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":" SqlSessionResultsBundle bundle \u003d"},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":" new SqlSessionResultsBundle("},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackQuestions.values()),"},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(),"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackResponses.values()),"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" new SqlCourseRoster(new ArrayList\u003c\u003e(responseBundle.students.values()),"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.instructors.values()))"},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":" ______TS(\"Test question having missing responses\");"},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq \u003d responseBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e missingResponses \u003d bundle.getQuestionMissingResponseMap().get(fq);"},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" assertEquals(2, missingResponses.size());"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" List\u003cString\u003e missingResponsesString \u003d new ArrayList\u003c\u003e();"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" missingResponsesString.add(missingResponses.get(0).toString());"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" missingResponsesString.add(missingResponses.get(1).toString());"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":" assertEquals(expectedMissingResponses, missingResponsesString);"},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":93,"author":{"gitId":"xenosf"},"content":" ______TS(\"Test question having no missing responses\");"},{"lineNumber":94,"author":{"gitId":"xenosf"},"content":" fq \u003d responseBundle.feedbackQuestions.get(\"qn4InSession1InCourse1\");"},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":" missingResponses \u003d bundle.getQuestionMissingResponseMap().get(fq);"},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":" assertEquals(0, missingResponses.size());"},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":100,"author":{"gitId":"xenosf"},"content":" public void testIsResponseGiverRecipientVisible_typicalCase_shouldReturnCorrectValues() {"},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":102,"author":{"gitId":"xenosf"},"content":" SqlDataBundle responseBundle \u003d loadSqlDataBundle(\"/SqlFeedbackSessionResultsBundleTest.json\");"},{"lineNumber":103,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":104,"author":{"gitId":"xenosf"},"content":" FeedbackSession session1Course1 \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":105,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":106,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question1ForS1C1 \u003d getTypicalFeedbackQuestionForSession(session1Course1);"},{"lineNumber":107,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question2ForS1C1 \u003d getTypicalFeedbackQuestionForSession(session1Course1);"},{"lineNumber":108,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":109,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response1ForQ1S1C1 \u003d getTypicalFeedbackResponseForQuestion(question1ForS1C1);"},{"lineNumber":110,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response2ForQ1S1C1 \u003d getTypicalFeedbackResponseForQuestion(question1ForS1C1);"},{"lineNumber":111,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response1ForQ2S1C1 \u003d getTypicalFeedbackResponseForQuestion(question2ForS1C1);"},{"lineNumber":112,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response2ForQ2S1C1 \u003d getTypicalFeedbackResponseForQuestion(question2ForS1C1);"},{"lineNumber":113,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":114,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, Boolean\u003e responseGiverVisibilityTable \u003d new HashMap\u003c\u003e();"},{"lineNumber":115,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable.put(response1ForQ1S1C1, true);"},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable.put(response2ForQ1S1C1, false);"},{"lineNumber":117,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable.put(response1ForQ2S1C1, true);"},{"lineNumber":118,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable.put(response2ForQ2S1C1, false);"},{"lineNumber":119,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":120,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, Boolean\u003e responseRecipientVisibilityTable \u003d new HashMap\u003c\u003e();"},{"lineNumber":121,"author":{"gitId":"xenosf"},"content":" responseRecipientVisibilityTable.put(response1ForQ1S1C1, false);"},{"lineNumber":122,"author":{"gitId":"xenosf"},"content":" responseRecipientVisibilityTable.put(response2ForQ1S1C1, true);"},{"lineNumber":123,"author":{"gitId":"xenosf"},"content":" responseRecipientVisibilityTable.put(response1ForQ2S1C1, true);"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":" responseRecipientVisibilityTable.put(response2ForQ2S1C1, false);"},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":" SqlSessionResultsBundle bundle \u003d"},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" new SqlSessionResultsBundle("},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackQuestions.values()),"},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":130,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackResponses.values()),"},{"lineNumber":132,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(),"},{"lineNumber":133,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable,"},{"lineNumber":134,"author":{"gitId":"xenosf"},"content":" responseRecipientVisibilityTable,"},{"lineNumber":135,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":136,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":137,"author":{"gitId":"xenosf"},"content":" new SqlCourseRoster(new ArrayList\u003c\u003e(responseBundle.students.values()),"},{"lineNumber":138,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.instructors.values()))"},{"lineNumber":139,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":140,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":141,"author":{"gitId":"xenosf"},"content":" for (Map.Entry\u003cFeedbackResponse, Boolean\u003e visibilityEntry : responseGiverVisibilityTable.entrySet()) {"},{"lineNumber":142,"author":{"gitId":"xenosf"},"content":" assertEquals(visibilityEntry.getValue(),"},{"lineNumber":143,"author":{"gitId":"xenosf"},"content":" bundle.isResponseGiverVisible(visibilityEntry.getKey()));"},{"lineNumber":144,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":145,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":146,"author":{"gitId":"xenosf"},"content":" for (Map.Entry\u003cFeedbackResponse, Boolean\u003e visibilityEntry : responseRecipientVisibilityTable.entrySet()) {"},{"lineNumber":147,"author":{"gitId":"xenosf"},"content":" assertEquals(visibilityEntry.getValue(),"},{"lineNumber":148,"author":{"gitId":"xenosf"},"content":" bundle.isResponseRecipientVisible(visibilityEntry.getKey()));"},{"lineNumber":149,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":150,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":151,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":152,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":153,"author":{"gitId":"xenosf"},"content":" public void testIsCommentGiverVisible_typicalCase_shouldReturnCorrectValues() {"},{"lineNumber":154,"author":{"gitId":"xenosf"},"content":" SqlDataBundle responseBundle \u003d loadSqlDataBundle(\"/SqlFeedbackSessionResultsBundleTest.json\");"},{"lineNumber":155,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":156,"author":{"gitId":"xenosf"},"content":" Map\u003cLong, Boolean\u003e commentGiverVisibilityTable \u003d new HashMap\u003c\u003e();"},{"lineNumber":157,"author":{"gitId":"xenosf"},"content":" commentGiverVisibilityTable.put(1L, true);"},{"lineNumber":158,"author":{"gitId":"xenosf"},"content":" commentGiverVisibilityTable.put(2L, false);"},{"lineNumber":159,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":160,"author":{"gitId":"xenosf"},"content":" SqlSessionResultsBundle bundle \u003d"},{"lineNumber":161,"author":{"gitId":"xenosf"},"content":" new SqlSessionResultsBundle("},{"lineNumber":162,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackQuestions.values()),"},{"lineNumber":163,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":164,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":165,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackResponses.values()),"},{"lineNumber":166,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(),"},{"lineNumber":167,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":168,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":169,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":170,"author":{"gitId":"xenosf"},"content":" commentGiverVisibilityTable,"},{"lineNumber":171,"author":{"gitId":"xenosf"},"content":" new SqlCourseRoster(new ArrayList\u003c\u003e(responseBundle.students.values()),"},{"lineNumber":172,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.instructors.values()))"},{"lineNumber":173,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":174,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":175,"author":{"gitId":"xenosf"},"content":" // Manually add comment IDs as loadSqlDataBundle does not add comment IDs"},{"lineNumber":176,"author":{"gitId":"xenosf"},"content":" FeedbackResponseComment comment1 \u003d responseBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1\");"},{"lineNumber":177,"author":{"gitId":"xenosf"},"content":" FeedbackResponseComment comment2 \u003d responseBundle.feedbackResponseComments.get(\"comment2ToResponse1ForQ1\");"},{"lineNumber":178,"author":{"gitId":"xenosf"},"content":" comment1.setId(1L);"},{"lineNumber":179,"author":{"gitId":"xenosf"},"content":" comment2.setId(2L);"},{"lineNumber":180,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":181,"author":{"gitId":"xenosf"},"content":" assertTrue(bundle.isCommentGiverVisible(comment1));"},{"lineNumber":182,"author":{"gitId":"xenosf"},"content":" assertFalse(bundle.isCommentGiverVisible(comment2));"},{"lineNumber":183,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":184,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":185,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":186,"author":{"gitId":"xenosf"},"content":" public void testGetAnonName_typicalCase_shouldGenerateCorrectly() {"},{"lineNumber":187,"author":{"gitId":"xenosf"},"content":" String anonName \u003d SqlSessionResultsBundle.getAnonName(FeedbackParticipantType.STUDENTS, \"\");"},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":" assertTrue(anonName.startsWith(Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT));"},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" anonName \u003d SqlSessionResultsBundle.getAnonName(FeedbackParticipantType.STUDENTS, \"test@gmail.com\");"},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" assertTrue(anonName.startsWith(Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT));"},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":193}},{"path":"src/test/java/teammates/sqllogic/core/AccountRequestsLogicTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import static org.mockito.ArgumentMatchers.any;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import static org.mockito.ArgumentMatchers.nullable;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import static org.mockito.Mockito.mock;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import static org.mockito.Mockito.times;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import static org.mockito.Mockito.verify;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":"import static org.mockito.Mockito.when;"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.Test;"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlapi.AccountRequestsDb;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" * SUT: {@link AccountRequestsLogic}."},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":"public class AccountRequestsLogicTest extends BaseTestCase {"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" private final AccountRequestsLogic arLogic \u003d AccountRequestsLogic.inst();"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" private AccountRequestsDb arDb;"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" @BeforeMethod"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" public void setUpMethod() {"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" arDb \u003d mock(AccountRequestsDb.class);"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" arLogic.initLogicDependencies(arDb);"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" public void testCreateAccountRequest_typicalRequest_success() throws Exception {"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" AccountRequest accountRequest \u003d getTypicalAccountRequest();"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" when(arDb.createAccountRequest(accountRequest)).thenReturn(accountRequest);"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" AccountRequest createdAccountRequest \u003d arLogic.createAccountRequest(accountRequest);"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest, createdAccountRequest);"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" verify(arDb, times(1)).createAccountRequest(accountRequest);"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" public void testCreateAccountRequest_requestAlreadyExists_failure() throws Exception {"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" AccountRequest duplicateAccountRequest \u003d getTypicalAccountRequest();"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" when(arDb.createAccountRequest(duplicateAccountRequest))"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" .thenThrow(new EntityAlreadyExistsException(\"test exception\"));"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" assertThrows(EntityAlreadyExistsException.class, () -\u003e {"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" arLogic.createAccountRequest(duplicateAccountRequest);"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" verify(arDb, times(1)).createAccountRequest(duplicateAccountRequest);"},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" public void testCreateAccountRequest_invalidParams_failure() throws Exception {"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" AccountRequest invalidEmailAccountRequest \u003d getTypicalAccountRequest();"},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" invalidEmailAccountRequest.setEmail(\"invalid email\");"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" when(arDb.createAccountRequest(invalidEmailAccountRequest))"},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" .thenThrow(new InvalidParametersException(\"test exception\"));"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" assertThrows(InvalidParametersException.class, () -\u003e {"},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":" arLogic.createAccountRequest(invalidEmailAccountRequest);"},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":67,"author":{"gitId":"xenosf"},"content":" verify(arDb, times(1)).createAccountRequest(invalidEmailAccountRequest);"},{"lineNumber":68,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" public void testUpdateAccountRequest_typicalRequest_success()"},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" AccountRequest ar \u003d getTypicalAccountRequest();"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" when(arDb.updateAccountRequest(ar)).thenReturn(ar);"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" AccountRequest updatedAr \u003d arLogic.updateAccountRequest(ar);"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":" assertEquals(ar, updatedAr);"},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" verify(arDb, times(1)).updateAccountRequest(ar);"},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" public void testUpdateAccountRequest_requestNotFound_failure()"},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":" AccountRequest arNotFound \u003d getTypicalAccountRequest();"},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":" when(arDb.updateAccountRequest(arNotFound)).thenThrow(new EntityDoesNotExistException(\"test message\"));"},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" () -\u003e arLogic.updateAccountRequest(arNotFound));"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" verify(arDb, times(1)).updateAccountRequest(any(AccountRequest.class));"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":93,"author":{"gitId":"xenosf"},"content":" public void testDeleteAccountRequest_typicalRequest_success() {"},{"lineNumber":94,"author":{"gitId":"xenosf"},"content":" AccountRequest ar \u003d getTypicalAccountRequest();"},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":" when(arDb.getAccountRequest(ar.getEmail(), ar.getInstitute())).thenReturn(ar);"},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":" arLogic.deleteAccountRequest(ar.getEmail(), ar.getInstitute());"},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" verify(arDb, times(1)).deleteAccountRequest(any(AccountRequest.class));"},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":100,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":102,"author":{"gitId":"xenosf"},"content":" public void testDeleteAccountRequest_nonexistentRequest_shouldSilentlyDelete() {"},{"lineNumber":103,"author":{"gitId":"xenosf"},"content":" arLogic.deleteAccountRequest(\"not_exist\", \"not_exist\");"},{"lineNumber":104,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":105,"author":{"gitId":"xenosf"},"content":" verify(arDb, times(1)).deleteAccountRequest(nullable(AccountRequest.class));"},{"lineNumber":106,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":107,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":108,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":109,"author":{"gitId":"xenosf"},"content":" public void testGetAccountRequestByRegistrationKey_typicalRequest_success() {"},{"lineNumber":110,"author":{"gitId":"xenosf"},"content":" AccountRequest ar \u003d getTypicalAccountRequest();"},{"lineNumber":111,"author":{"gitId":"xenosf"},"content":" String regkey \u003d \"regkey\";"},{"lineNumber":112,"author":{"gitId":"xenosf"},"content":" ar.setRegistrationKey(regkey);"},{"lineNumber":113,"author":{"gitId":"xenosf"},"content":" when(arDb.getAccountRequestByRegistrationKey(regkey)).thenReturn(ar);"},{"lineNumber":114,"author":{"gitId":"xenosf"},"content":" AccountRequest actualAr \u003d"},{"lineNumber":115,"author":{"gitId":"xenosf"},"content":" arLogic.getAccountRequestByRegistrationKey(ar.getRegistrationKey());"},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":117,"author":{"gitId":"xenosf"},"content":" assertEquals(ar, actualAr);"},{"lineNumber":118,"author":{"gitId":"xenosf"},"content":" verify(arDb, times(1)).getAccountRequestByRegistrationKey(regkey);"},{"lineNumber":119,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":120,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":121,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":122,"author":{"gitId":"xenosf"},"content":" public void testGetAccountRequestByRegistrationKey_nonexistentRequest_shouldReturnNull() throws Exception {"},{"lineNumber":123,"author":{"gitId":"xenosf"},"content":" String nonexistentRegkey \u003d \"not_exist\";"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":" when(arDb.getAccountRequestByRegistrationKey(nonexistentRegkey)).thenReturn(null);"},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":" assertNull(arLogic.getAccountRequestByRegistrationKey(nonexistentRegkey));"},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" verify(arDb, times(1)).getAccountRequestByRegistrationKey(nonexistentRegkey);"},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":130,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":" public void testGetAccountRequest_typicalRequest_success() {"},{"lineNumber":132,"author":{"gitId":"xenosf"},"content":" AccountRequest expectedAr \u003d getTypicalAccountRequest();"},{"lineNumber":133,"author":{"gitId":"xenosf"},"content":" when(arDb.getAccountRequest(expectedAr.getEmail(), expectedAr.getInstitute())).thenReturn(expectedAr);"},{"lineNumber":134,"author":{"gitId":"xenosf"},"content":" AccountRequest actualAr \u003d"},{"lineNumber":135,"author":{"gitId":"xenosf"},"content":" arLogic.getAccountRequest(expectedAr.getEmail(), expectedAr.getInstitute());"},{"lineNumber":136,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":137,"author":{"gitId":"xenosf"},"content":" assertEquals(expectedAr, actualAr);"},{"lineNumber":138,"author":{"gitId":"xenosf"},"content":" verify(arDb, times(1)).getAccountRequest(expectedAr.getEmail(), expectedAr.getInstitute());"},{"lineNumber":139,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":140,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":141,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":142,"author":{"gitId":"xenosf"},"content":" public void testGetAccountRequest_nonexistentRequest_shouldReturnNull() {"},{"lineNumber":143,"author":{"gitId":"xenosf"},"content":" String nonexistentEmail \u003d \"not-found@test.com\";"},{"lineNumber":144,"author":{"gitId":"xenosf"},"content":" String nonexistentInstitute \u003d \"not-found\";"},{"lineNumber":145,"author":{"gitId":"xenosf"},"content":" when(arDb.getAccountRequest(nonexistentEmail, nonexistentInstitute)).thenReturn(null);"},{"lineNumber":146,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":147,"author":{"gitId":"xenosf"},"content":" assertNull(arLogic.getAccountRequest(nonexistentEmail, nonexistentInstitute));"},{"lineNumber":148,"author":{"gitId":"xenosf"},"content":" verify(arDb, times(1)).getAccountRequest(nonexistentEmail, nonexistentInstitute);"},{"lineNumber":149,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":150,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":151,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":152,"author":{"gitId":"xenosf"},"content":" public void testResetAccountRequest_typicalRequest_success()"},{"lineNumber":153,"author":{"gitId":"xenosf"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":154,"author":{"gitId":"xenosf"},"content":" AccountRequest accountRequest \u003d getTypicalAccountRequest();"},{"lineNumber":155,"author":{"gitId":"xenosf"},"content":" accountRequest.setRegisteredAt(Const.TIME_REPRESENTS_NOW);"},{"lineNumber":156,"author":{"gitId":"xenosf"},"content":" when(arDb.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute()))"},{"lineNumber":157,"author":{"gitId":"xenosf"},"content":" .thenReturn(accountRequest);"},{"lineNumber":158,"author":{"gitId":"xenosf"},"content":" when(arDb.updateAccountRequest(accountRequest)).thenReturn(accountRequest);"},{"lineNumber":159,"author":{"gitId":"xenosf"},"content":" accountRequest \u003d arLogic.resetAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":160,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":161,"author":{"gitId":"xenosf"},"content":" assertNull(accountRequest.getRegisteredAt());"},{"lineNumber":162,"author":{"gitId":"xenosf"},"content":" verify(arDb, times(1)).getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":163,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":164,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":165,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":166,"author":{"gitId":"xenosf"},"content":" public void testResetAccountRequest_nonexistentRequest_failure()"},{"lineNumber":167,"author":{"gitId":"xenosf"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":168,"author":{"gitId":"xenosf"},"content":" AccountRequest accountRequest \u003d getTypicalAccountRequest();"},{"lineNumber":169,"author":{"gitId":"xenosf"},"content":" accountRequest.setRegisteredAt(Const.TIME_REPRESENTS_NOW);"},{"lineNumber":170,"author":{"gitId":"xenosf"},"content":" when(arDb.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute()))"},{"lineNumber":171,"author":{"gitId":"xenosf"},"content":" .thenReturn(null);"},{"lineNumber":172,"author":{"gitId":"xenosf"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":173,"author":{"gitId":"xenosf"},"content":" () -\u003e arLogic.resetAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute()));"},{"lineNumber":174,"author":{"gitId":"xenosf"},"content":" verify(arDb, times(1)).getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":175,"author":{"gitId":"xenosf"},"content":" verify(arDb, times(0)).updateAccountRequest(nullable(AccountRequest.class));"},{"lineNumber":176,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":177,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":177}},{"path":"src/test/java/teammates/sqllogic/core/AccountsLogicTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.mock;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.times;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.verify;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.when;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountsDb;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.ReadNotification;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.User;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * SUT: {@link AccountsLogic}."},{"lineNumber":27,"author":{"gitId":"-"},"content":" */"},{"lineNumber":28,"author":{"gitId":"-"},"content":"public class AccountsLogicTest extends BaseTestCase {"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" private AccountsLogic accountsLogic \u003d AccountsLogic.inst();"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private AccountsDb accountsDb;"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" private NotificationsLogic notificationsLogic;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" private UsersLogic usersLogic;"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"yuanxi1"},"content":" private CoursesLogic coursesLogic;"},{"lineNumber":39,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":41,"author":{"gitId":"-"},"content":" public void setUpMethod() {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" accountsDb \u003d mock(AccountsDb.class);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" notificationsLogic \u003d mock(NotificationsLogic.class);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" usersLogic \u003d mock(UsersLogic.class);"},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":" accountsLogic.initLogicDependencies(accountsDb, notificationsLogic, usersLogic, coursesLogic);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":49,"author":{"gitId":"-"},"content":" public void testDeleteAccount_accountExists_success() {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" when(accountsLogic.getAccountForGoogleId(googleId)).thenReturn(account);"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" accountsLogic.deleteAccount(googleId);"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" verify(accountsDb, times(1)).deleteAccount(account);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public void testDeleteAccountCascade_googleIdExists_success() {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":63,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":64,"author":{"gitId":"-"},"content":" List\u003cUser\u003e users \u003d new ArrayList\u003c\u003e();"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c 2; ++i) {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" users.add(getTypicalInstructor());"},{"lineNumber":68,"author":{"gitId":"-"},"content":" users.add(getTypicalStudent());"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" when(usersLogic.getAllUsersByGoogleId(googleId)).thenReturn(users);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" when(accountsLogic.getAccountForGoogleId(googleId)).thenReturn(account);"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" accountsLogic.deleteAccountCascade(googleId);"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" for (User user : users) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" verify(usersLogic, times(1)).deleteUser(user);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":" verify(accountsDb, times(1)).deleteAccount(account);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":83,"author":{"gitId":"-"},"content":" public void testUpdateReadNotifications_shouldReturnCorrectReadNotificationId_success()"},{"lineNumber":84,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":86,"author":{"gitId":"-"},"content":" Notification notification \u003d getTypicalNotificationWithId();"},{"lineNumber":87,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":88,"author":{"gitId":"-"},"content":" UUID notificationId \u003d notification.getId();"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" when(accountsDb.getAccountByGoogleId(googleId)).thenReturn(account);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" when(notificationsLogic.getNotification(notificationId)).thenReturn(notification);"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" List\u003cUUID\u003e readNotificationIds \u003d accountsLogic.updateReadNotifications(googleId, notificationId,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" notification.getEndTime());"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" verify(accountsDb, times(1)).getAccountByGoogleId(googleId);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" verify(notificationsLogic, times(1)).getNotification(notificationId);"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" assertEquals(1, readNotificationIds.size());"},{"lineNumber":100,"author":{"gitId":"-"},"content":" assertEquals(notificationId, readNotificationIds.get(0));"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public void testUpdateReadNotifications_shouldAddReadNotificationToAccount_success()"},{"lineNumber":105,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":107,"author":{"gitId":"-"},"content":" Notification notification \u003d getTypicalNotificationWithId();"},{"lineNumber":108,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":109,"author":{"gitId":"-"},"content":" UUID notificationId \u003d notification.getId();"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" when(accountsDb.getAccountByGoogleId(googleId)).thenReturn(account);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" when(notificationsLogic.getNotification(notificationId)).thenReturn(notification);"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" accountsLogic.updateReadNotifications(googleId, notificationId, notification.getEndTime());"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" verify(accountsDb, times(1)).getAccountByGoogleId(googleId);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" verify(notificationsLogic, times(1)).getNotification(notificationId);"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" List\u003cReadNotification\u003e accountReadNotifications \u003d account.getReadNotifications();"},{"lineNumber":120,"author":{"gitId":"-"},"content":" assertEquals(1, accountReadNotifications.size());"},{"lineNumber":121,"author":{"gitId":"-"},"content":" ReadNotification readNotification \u003d accountReadNotifications.get(0);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" assertSame(account, readNotification.getAccount());"},{"lineNumber":123,"author":{"gitId":"-"},"content":" assertSame(notification, readNotification.getNotification());"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":127,"author":{"gitId":"-"},"content":" public void testUpdateReadNotifications_accountDoesNotExist_throwEntityDoesNotExistException() {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":129,"author":{"gitId":"-"},"content":" Notification notification \u003d getTypicalNotificationWithId();"},{"lineNumber":130,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":131,"author":{"gitId":"-"},"content":" UUID notificationId \u003d notification.getId();"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" when(accountsDb.getAccountByGoogleId(googleId)).thenReturn(null);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" when(notificationsLogic.getNotification(notificationId)).thenReturn(notification);"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" EntityDoesNotExistException ex \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":137,"author":{"gitId":"-"},"content":" () -\u003e accountsLogic.updateReadNotifications(googleId, notificationId, notification.getEndTime()));"},{"lineNumber":138,"author":{"gitId":"-"},"content":" assertEquals(\"Trying to update the read notifications of a non-existent account.\", ex.getMessage());"},{"lineNumber":139,"author":{"gitId":"-"},"content":" }"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":142,"author":{"gitId":"-"},"content":" public void testUpdateReadNotifications_notificationDoesNotExist_throwEntityDoesNotExistException() {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":144,"author":{"gitId":"-"},"content":" Notification notification \u003d getTypicalNotificationWithId();"},{"lineNumber":145,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":146,"author":{"gitId":"-"},"content":" UUID notificationId \u003d notification.getId();"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" when(accountsDb.getAccountByGoogleId(googleId)).thenReturn(account);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" when(notificationsLogic.getNotification(notificationId)).thenReturn(null);"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" EntityDoesNotExistException ex \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":152,"author":{"gitId":"-"},"content":" () -\u003e accountsLogic.updateReadNotifications(googleId, notificationId, notification.getEndTime()));"},{"lineNumber":153,"author":{"gitId":"-"},"content":" assertEquals(\"Trying to mark as read a notification that does not exist.\", ex.getMessage());"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":157,"author":{"gitId":"-"},"content":" public void testUpdateReadNotifications_markExpiredNotificationAsRead_throwInvalidParametersException() {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":159,"author":{"gitId":"-"},"content":" Notification notification \u003d getTypicalNotificationWithId();"},{"lineNumber":160,"author":{"gitId":"-"},"content":" notification.setEndTime(Instant.parse(\"2012-01-01T00:00:00Z\"));"},{"lineNumber":161,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":162,"author":{"gitId":"-"},"content":" UUID notificationId \u003d notification.getId();"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" when(accountsDb.getAccountByGoogleId(googleId)).thenReturn(account);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" when(notificationsLogic.getNotification(notificationId)).thenReturn(notification);"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" InvalidParametersException ex \u003d assertThrows(InvalidParametersException.class,"},{"lineNumber":168,"author":{"gitId":"-"},"content":" () -\u003e accountsLogic.updateReadNotifications(googleId, notificationId, notification.getEndTime()));"},{"lineNumber":169,"author":{"gitId":"-"},"content":" assertEquals(\"Trying to mark an expired notification as read.\", ex.getMessage());"},{"lineNumber":170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":173,"author":{"gitId":"-"},"content":" public void testGetReadNotificationsId_doesNotHaveReadNotifications_success() {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":175,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":176,"author":{"gitId":"-"},"content":" when(accountsDb.getAccountByGoogleId(googleId)).thenReturn(account);"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" List\u003cUUID\u003e readNotifications \u003d accountsLogic.getReadNotificationsId(googleId);"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" assertEquals(0, readNotifications.size());"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":184,"author":{"gitId":"-"},"content":" public void testGetReadNotificationsId_hasReadNotifications_success() {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":186,"author":{"gitId":"-"},"content":" List\u003cReadNotification\u003e readNotifications \u003d new ArrayList\u003c\u003e();"},{"lineNumber":187,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c 10; i++) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" Notification notification \u003d getTypicalNotificationWithId();"},{"lineNumber":189,"author":{"gitId":"-"},"content":" ReadNotification readNotification \u003d new ReadNotification(account, notification);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" readNotifications.add(readNotification);"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":" account.setReadNotifications(readNotifications);"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":195,"author":{"gitId":"-"},"content":" when(accountsDb.getAccountByGoogleId(googleId)).thenReturn(account);"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" List\u003cUUID\u003e actualReadNotifications \u003d accountsLogic.getReadNotificationsId(googleId);"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" assertEquals(10, actualReadNotifications.size());"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c 10; i++) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" assertEquals(readNotifications.get(i).getNotification().getId(),"},{"lineNumber":203,"author":{"gitId":"-"},"content":" actualReadNotifications.get(i));"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":3,"-":203}},{"path":"src/test/java/teammates/sqllogic/core/CoursesLogicTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.mock;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.times;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.verify;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.when;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import java.time.Duration;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.CoursesDb;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":30,"author":{"gitId":"-"},"content":" * SUT: {@code CoursesLogic}."},{"lineNumber":31,"author":{"gitId":"-"},"content":" */"},{"lineNumber":32,"author":{"gitId":"-"},"content":"public class CoursesLogicTest extends BaseTestCase {"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" private CoursesLogic coursesLogic \u003d CoursesLogic.inst();"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" private UsersLogic usersLogic;"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" private FeedbackSessionsLogic fsLogic;"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" private CoursesDb coursesDb;"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":43,"author":{"gitId":"-"},"content":" public void setUp() {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" coursesDb \u003d mock(CoursesDb.class);"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" fsLogic \u003d mock(FeedbackSessionsLogic.class);"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" usersLogic \u003d mock(UsersLogic.class);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" coursesLogic.initLogicDependencies(coursesDb, fsLogic, usersLogic);"},{"lineNumber":48,"author":{"gitId":"-"},"content":" }"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public void testMoveCourseToRecycleBin_shouldReturnBinnedCourse_success()"},{"lineNumber":52,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":54,"author":{"gitId":"-"},"content":" String courseId \u003d course.getId();"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(course);"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" Course binnedCourse \u003d coursesLogic.moveCourseToRecycleBin(courseId);"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" verify(coursesDb, times(1)).getCourse(courseId);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" assertNotNull(binnedCourse);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" }"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public void testMoveCourseToRecycleBin_courseDoesNotExist_throwEntityDoesNotExistException() {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" String courseId \u003d getTypicalCourse().getId();"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(null);"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" EntityDoesNotExistException ex \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":71,"author":{"gitId":"-"},"content":" () -\u003e coursesLogic.moveCourseToRecycleBin(courseId));"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" assertEquals(\"Trying to move a non-existent course to recycling bin.\", ex.getMessage());"},{"lineNumber":74,"author":{"gitId":"-"},"content":" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":77,"author":{"gitId":"-"},"content":" public void testRestoreCourseFromRecycleBin_shouldSetDeletedAtToNull_success()"},{"lineNumber":78,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":80,"author":{"gitId":"-"},"content":" String courseId \u003d course.getId();"},{"lineNumber":81,"author":{"gitId":"-"},"content":" course.setDeletedAt(Instant.parse(\"2021-01-01T00:00:00Z\"));"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(course);"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" coursesLogic.restoreCourseFromRecycleBin(courseId);"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" verify(coursesDb, times(1)).getCourse(courseId);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" assertNull(course.getDeletedAt());"},{"lineNumber":89,"author":{"gitId":"-"},"content":" }"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":92,"author":{"gitId":"-"},"content":" public void testRestoreCourseFromRecycleBin_courseDoesNotExist_throwEntityDoesNotExistException() {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" String courseId \u003d getTypicalCourse().getId();"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(null);"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" EntityDoesNotExistException ex \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":98,"author":{"gitId":"-"},"content":" () -\u003e coursesLogic.restoreCourseFromRecycleBin(courseId));"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" assertEquals(\"Trying to restore a non-existent course from recycling bin.\", ex.getMessage());"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public void testGetSectionNamesForCourse_shouldReturnListOfSectionNames_success() throws EntityDoesNotExistException {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":106,"author":{"gitId":"-"},"content":" String courseId \u003d course.getId();"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" Section s1 \u003d getTypicalSection();"},{"lineNumber":109,"author":{"gitId":"-"},"content":" s1.setName(\"test-sectionName1\");"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" Section s2 \u003d getTypicalSection();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" s2.setName(\"test-sectionName2\");"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" List\u003cSection\u003e sections \u003d new ArrayList\u003c\u003e();"},{"lineNumber":115,"author":{"gitId":"-"},"content":" sections.add(s1);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" sections.add(s2);"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" course.setSections(sections);"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(course);"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" List\u003cString\u003e sectionNames \u003d coursesLogic.getSectionNamesForCourse(courseId);"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" verify(coursesDb, times(1)).getCourse(courseId);"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedSectionNames \u003d List.of(\"test-sectionName1\", \"test-sectionName2\");"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" assertEquals(expectedSectionNames, sectionNames);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" }"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":132,"author":{"gitId":"-"},"content":" public void testGetSectionNamesForCourse_courseDoesNotExist_throwEntityDoesNotExistException()"},{"lineNumber":133,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" String courseId \u003d getTypicalCourse().getId();"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(null);"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" EntityDoesNotExistException ex \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":139,"author":{"gitId":"-"},"content":" () -\u003e coursesLogic.getSectionNamesForCourse(courseId));"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" assertEquals(\"Trying to get section names for a non-existent course.\", ex.getMessage());"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" public void testCreateCourse_shouldReturnCreatedCourse_success()"},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":147,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":148,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createCourse(course)).thenReturn(course);"},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":151,"author":{"gitId":"domoberzin"},"content":" Course createdCourse \u003d coursesLogic.createCourse(course);"},{"lineNumber":152,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":153,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).createCourse(course);"},{"lineNumber":154,"author":{"gitId":"domoberzin"},"content":" assertNotNull(createdCourse);"},{"lineNumber":155,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":157,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":158,"author":{"gitId":"domoberzin"},"content":" public void testCreateDuplicateCourse_throwEntityAlreadyExistsException()"},{"lineNumber":159,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":160,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":161,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":162,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createCourse(course))"},{"lineNumber":163,"author":{"gitId":"domoberzin"},"content":" .thenThrow(new EntityAlreadyExistsException("},{"lineNumber":164,"author":{"gitId":"domoberzin"},"content":" String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, course.toString())));"},{"lineNumber":165,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":166,"author":{"gitId":"domoberzin"},"content":" EntityAlreadyExistsException ex \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.createCourse(course));"},{"lineNumber":168,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":169,"author":{"gitId":"domoberzin"},"content":" assertEquals(String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, course.toString()), ex.getMessage());"},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":171,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":172,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":173,"author":{"gitId":"domoberzin"},"content":" public void testGetCourse_shouldReturnCourse_success() {"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d course.getId();"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(course);"},{"lineNumber":178,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":" Course returnedCourse \u003d coursesLogic.getCourse(courseId);"},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).getCourse(courseId);"},{"lineNumber":182,"author":{"gitId":"domoberzin"},"content":" assertNotNull(returnedCourse);"},{"lineNumber":183,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":184,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":185,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":186,"author":{"gitId":"domoberzin"},"content":" public void testDeleteCourseCascade_shouldDeleteCourse_success() {"},{"lineNumber":187,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":188,"author":{"gitId":"domoberzin"},"content":" List\u003cInstructor\u003e instructors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":189,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackSession\u003e feedbackSessions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":190,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":191,"author":{"gitId":"domoberzin"},"content":" FeedbackSession fs \u003d new FeedbackSession(\"test-fs\", course, \"test@email.com\","},{"lineNumber":192,"author":{"gitId":"domoberzin"},"content":" \"test\", Instant.now(), Instant.now(), Instant.now(), Instant.now(), Duration.ofSeconds(60),"},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":" false, false, false);"},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" feedbackSessions.add(fs);"},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" instructors.add(getTypicalInstructor());"},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":" when(fsLogic.getFeedbackSessionsForCourse(course.getId())).thenReturn(feedbackSessions);"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" when(usersLogic.getInstructorsForCourse(course.getId())).thenReturn(instructors);"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getCourse(course.getId())).thenReturn(course);"},{"lineNumber":200,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":201,"author":{"gitId":"domoberzin"},"content":" coursesLogic.deleteCourseCascade(course.getId());"},{"lineNumber":202,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":203,"author":{"gitId":"domoberzin"},"content":" verify(usersLogic, times(1)).deleteStudentsInCourseCascade(course.getId());"},{"lineNumber":204,"author":{"gitId":"domoberzin"},"content":" verify(usersLogic, times(1)).getInstructorsForCourse(course.getId());"},{"lineNumber":205,"author":{"gitId":"domoberzin"},"content":" verify(usersLogic, times(1)).deleteInstructorCascade(course.getId(), instructors.get(0).getEmail());"},{"lineNumber":206,"author":{"gitId":"domoberzin"},"content":" verify(fsLogic, times(1)).deleteFeedbackSessionCascade(fs.getName(), course.getId());"},{"lineNumber":207,"author":{"gitId":"domoberzin"},"content":" verify(fsLogic, times(1)).getFeedbackSessionsForCourse(course.getId());"},{"lineNumber":208,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).deleteCourse(course);"},{"lineNumber":209,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).deleteSectionsByCourseId(course.getId());"},{"lineNumber":210,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":211,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":212,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":213,"author":{"gitId":"domoberzin"},"content":" public void testUpdateCourse_shouldReturnUpdatedCourse_success()"},{"lineNumber":214,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":215,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":216,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d course.getId();"},{"lineNumber":217,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":218,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(course);"},{"lineNumber":219,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":220,"author":{"gitId":"domoberzin"},"content":" Course updatedCourse \u003d coursesLogic.updateCourse(courseId, \"Test Course 1\", \"Asia/India\");"},{"lineNumber":221,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":222,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).getCourse(courseId);"},{"lineNumber":223,"author":{"gitId":"domoberzin"},"content":" assertNotNull(updatedCourse);"},{"lineNumber":224,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"Test Course 1\", updatedCourse.getName());"},{"lineNumber":225,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"Asia/India\", updatedCourse.getTimeZone());"},{"lineNumber":226,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":227,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":228,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":229,"author":{"gitId":"domoberzin"},"content":" public void testUpdateCourse_throwEntityDoesNotExistException()"},{"lineNumber":230,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":231,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":232,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d course.getId();"},{"lineNumber":233,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":234,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(null);"},{"lineNumber":235,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":236,"author":{"gitId":"domoberzin"},"content":" EntityDoesNotExistException ex \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":237,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.updateCourse(courseId, course.getName(), \"Asia/Singapore\"));"},{"lineNumber":238,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":239,"author":{"gitId":"domoberzin"},"content":" assertEquals(ERROR_UPDATE_NON_EXISTENT + Course.class, ex.getMessage());"},{"lineNumber":240,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":241,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":242,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":243,"author":{"gitId":"domoberzin"},"content":" public void testUpdateCourse_throwInvalidParametersException()"},{"lineNumber":244,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":245,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":246,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d course.getId();"},{"lineNumber":247,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":248,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(course);"},{"lineNumber":249,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":250,"author":{"gitId":"domoberzin"},"content":" InvalidParametersException ex \u003d assertThrows(InvalidParametersException.class,"},{"lineNumber":251,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.updateCourse(courseId, \"\", \"Asia/Singapore\"));"},{"lineNumber":252,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":253,"author":{"gitId":"domoberzin"},"content":" String expectedMessage \u003d \"The field \u0027course name\u0027 is empty.\""},{"lineNumber":254,"author":{"gitId":"domoberzin"},"content":" + \" The value of a/an course name should be no longer than 80 characters.\""},{"lineNumber":255,"author":{"gitId":"domoberzin"},"content":" + \" It should not be empty.\";"},{"lineNumber":256,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":257,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedMessage, ex.getMessage());"},{"lineNumber":258,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":259,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":260,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":261,"author":{"gitId":"domoberzin"},"content":" public void testCreateSection_shouldReturnCreatedSection_success()"},{"lineNumber":262,"author":{"gitId":"domoberzin"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":263,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":264,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":265,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createSection(section)).thenReturn(section);"},{"lineNumber":266,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":267,"author":{"gitId":"domoberzin"},"content":" Section createdSection \u003d coursesLogic.createSection(section);"},{"lineNumber":268,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":269,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).createSection(section);"},{"lineNumber":270,"author":{"gitId":"domoberzin"},"content":" assertNotNull(createdSection);"},{"lineNumber":271,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":272,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":273,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":274,"author":{"gitId":"domoberzin"},"content":" public void testCreateDuplicateSection_throwEntityAlreadyExistsException()"},{"lineNumber":275,"author":{"gitId":"domoberzin"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":276,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":277,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":278,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createSection(section))"},{"lineNumber":279,"author":{"gitId":"domoberzin"},"content":" .thenThrow(new EntityAlreadyExistsException("},{"lineNumber":280,"author":{"gitId":"domoberzin"},"content":" String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, section.toString())));"},{"lineNumber":281,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":282,"author":{"gitId":"domoberzin"},"content":" EntityAlreadyExistsException ex \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":283,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.createSection(section));"},{"lineNumber":284,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":285,"author":{"gitId":"domoberzin"},"content":" assertEquals(String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, section.toString()), ex.getMessage());"},{"lineNumber":286,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":287,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":288,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":289,"author":{"gitId":"domoberzin"},"content":" public void testCreateSectionInvalidName_throwInvalidParametersException()"},{"lineNumber":290,"author":{"gitId":"domoberzin"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":291,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":292,"author":{"gitId":"domoberzin"},"content":" section.setName(null);"},{"lineNumber":293,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":294,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createSection(section)).thenThrow(new InvalidParametersException(section.getInvalidityInfo()));"},{"lineNumber":295,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":296,"author":{"gitId":"domoberzin"},"content":" InvalidParametersException ex \u003d assertThrows(InvalidParametersException.class,"},{"lineNumber":297,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.createSection(section));"},{"lineNumber":298,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":299,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"The provided section name is not acceptable to TEAMMATES as it cannot be empty.\", ex.getMessage());"},{"lineNumber":300,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":301,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":302,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":303,"author":{"gitId":"domoberzin"},"content":" public void testGetSectionByCourseIdAndTeam_shouldReturnSection_success() {"},{"lineNumber":304,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":305,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d section.getCourse().getId();"},{"lineNumber":306,"author":{"gitId":"domoberzin"},"content":" String teamName \u003d section.getName();"},{"lineNumber":307,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":308,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getSectionByCourseIdAndTeam(courseId, teamName)).thenReturn(section);"},{"lineNumber":309,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":310,"author":{"gitId":"domoberzin"},"content":" Section returnedSection \u003d coursesLogic.getSectionByCourseIdAndTeam(courseId, teamName);"},{"lineNumber":311,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":312,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).getSectionByCourseIdAndTeam(courseId, teamName);"},{"lineNumber":313,"author":{"gitId":"domoberzin"},"content":" assertNotNull(returnedSection);"},{"lineNumber":314,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":315,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":316,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":317,"author":{"gitId":"domoberzin"},"content":" public void testGetSectionByCourseIdAndTeam_sectionDoesNotExist_returnNull() {"},{"lineNumber":318,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d getTypicalCourse().getId();"},{"lineNumber":319,"author":{"gitId":"domoberzin"},"content":" String teamName \u003d getTypicalSection().getName();"},{"lineNumber":320,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":321,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getSectionByCourseIdAndTeam(courseId, teamName)).thenReturn(null);"},{"lineNumber":322,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":323,"author":{"gitId":"domoberzin"},"content":" Section returnedSection \u003d coursesLogic.getSectionByCourseIdAndTeam(courseId, teamName);"},{"lineNumber":324,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":325,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).getSectionByCourseIdAndTeam(courseId, teamName);"},{"lineNumber":326,"author":{"gitId":"domoberzin"},"content":" assertNull(returnedSection);"},{"lineNumber":327,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":328,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":329,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":330,"author":{"gitId":"domoberzin"},"content":" public void testGetCourseInstitute_shouldReturnInstitute_success() {"},{"lineNumber":331,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":332,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d course.getId();"},{"lineNumber":333,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":334,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(course);"},{"lineNumber":335,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":336,"author":{"gitId":"domoberzin"},"content":" String institute \u003d coursesLogic.getCourseInstitute(courseId);"},{"lineNumber":337,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":338,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).getCourse(courseId);"},{"lineNumber":339,"author":{"gitId":"domoberzin"},"content":" assertNotNull(institute);"},{"lineNumber":340,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":341,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":342,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":343,"author":{"gitId":"domoberzin"},"content":" public void testGetCourseInstituteNonExistentCourse_throwAssertionError() {"},{"lineNumber":344,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":345,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d course.getId();"},{"lineNumber":346,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":347,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(null);"},{"lineNumber":348,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":349,"author":{"gitId":"domoberzin"},"content":" AssertionError ex \u003d assertThrows(AssertionError.class,"},{"lineNumber":350,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.getCourseInstitute(courseId));"},{"lineNumber":351,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":352,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"Trying to getCourseInstitute for inexistent course with id \" + courseId, ex.getMessage());"},{"lineNumber":353,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":354,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":355,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":356,"author":{"gitId":"domoberzin"},"content":" public void testCreateTeam_shouldReturnCreatedTeam_success()"},{"lineNumber":357,"author":{"gitId":"domoberzin"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":358,"author":{"gitId":"domoberzin"},"content":" Team team \u003d getTypicalTeam();"},{"lineNumber":359,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":360,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createTeam(team)).thenReturn(team);"},{"lineNumber":361,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":362,"author":{"gitId":"domoberzin"},"content":" Team createdTeam \u003d coursesLogic.createTeam(team);"},{"lineNumber":363,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":364,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).createTeam(team);"},{"lineNumber":365,"author":{"gitId":"domoberzin"},"content":" assertNotNull(createdTeam);"},{"lineNumber":366,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":367,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":368,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":369,"author":{"gitId":"domoberzin"},"content":" public void testCreateDuplicateTeam_throwEntityAlreadyExistsException()"},{"lineNumber":370,"author":{"gitId":"domoberzin"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":371,"author":{"gitId":"domoberzin"},"content":" Team team \u003d getTypicalTeam();"},{"lineNumber":372,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":373,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createTeam(team)).thenThrow("},{"lineNumber":374,"author":{"gitId":"domoberzin"},"content":" new EntityAlreadyExistsException("},{"lineNumber":375,"author":{"gitId":"domoberzin"},"content":" String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, team.toString())));"},{"lineNumber":376,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":377,"author":{"gitId":"domoberzin"},"content":" EntityAlreadyExistsException ex \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":378,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.createTeam(team));"},{"lineNumber":379,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":380,"author":{"gitId":"domoberzin"},"content":" assertEquals(String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, team.toString()), ex.getMessage());"},{"lineNumber":381,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":382,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":383,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":384,"author":{"gitId":"domoberzin"},"content":" public void testCreateTeamInvalidName_throwInvalidParametersException()"},{"lineNumber":385,"author":{"gitId":"domoberzin"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":386,"author":{"gitId":"domoberzin"},"content":" Team team \u003d getTypicalTeam();"},{"lineNumber":387,"author":{"gitId":"domoberzin"},"content":" team.setName(null);"},{"lineNumber":388,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":389,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createTeam(team)).thenThrow(new InvalidParametersException(team.getInvalidityInfo()));"},{"lineNumber":390,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":391,"author":{"gitId":"domoberzin"},"content":" InvalidParametersException ex \u003d assertThrows(InvalidParametersException.class,"},{"lineNumber":392,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.createTeam(team));"},{"lineNumber":393,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":394,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"The provided team name is not acceptable to TEAMMATES as it cannot be empty.\", ex.getMessage());"},{"lineNumber":395,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":396,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":397,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":398,"author":{"gitId":"domoberzin"},"content":" public void testGetTeamsForSection_shouldReturnListOfTeams_success() {"},{"lineNumber":399,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":400,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":401,"author":{"gitId":"domoberzin"},"content":" Team t1 \u003d getTypicalTeam();"},{"lineNumber":402,"author":{"gitId":"domoberzin"},"content":" t1.setName(\"test-teamName1\");"},{"lineNumber":403,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":404,"author":{"gitId":"domoberzin"},"content":" Team t2 \u003d getTypicalTeam();"},{"lineNumber":405,"author":{"gitId":"domoberzin"},"content":" t2.setName(\"test-teamName2\");"},{"lineNumber":406,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":407,"author":{"gitId":"domoberzin"},"content":" List\u003cTeam\u003e teams \u003d new ArrayList\u003c\u003e();"},{"lineNumber":408,"author":{"gitId":"domoberzin"},"content":" teams.add(t1);"},{"lineNumber":409,"author":{"gitId":"domoberzin"},"content":" teams.add(t2);"},{"lineNumber":410,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":411,"author":{"gitId":"domoberzin"},"content":" section.setTeams(teams);"},{"lineNumber":412,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":413,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getTeamsForSection(section)).thenReturn(teams);"},{"lineNumber":414,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":415,"author":{"gitId":"domoberzin"},"content":" List\u003cTeam\u003e returnedTeams \u003d coursesLogic.getTeamsForSection(section);"},{"lineNumber":416,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":417,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).getTeamsForSection(section);"},{"lineNumber":418,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":419,"author":{"gitId":"domoberzin"},"content":" List\u003cTeam\u003e expectedTeams \u003d List.of(t1, t2);"},{"lineNumber":420,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":421,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedTeams, returnedTeams);"},{"lineNumber":422,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":423,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":424,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":425,"author":{"gitId":"domoberzin"},"content":" public void testGetTeamsForCourse_shouldReturnListOfTeams_success() {"},{"lineNumber":426,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":427,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":428,"author":{"gitId":"domoberzin"},"content":" Team t1 \u003d getTypicalTeam();"},{"lineNumber":429,"author":{"gitId":"domoberzin"},"content":" t1.setName(\"test-teamName1\");"},{"lineNumber":430,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":431,"author":{"gitId":"domoberzin"},"content":" Team t2 \u003d getTypicalTeam();"},{"lineNumber":432,"author":{"gitId":"domoberzin"},"content":" t2.setName(\"test-teamName2\");"},{"lineNumber":433,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":434,"author":{"gitId":"domoberzin"},"content":" List\u003cTeam\u003e teams \u003d new ArrayList\u003c\u003e();"},{"lineNumber":435,"author":{"gitId":"domoberzin"},"content":" teams.add(t1);"},{"lineNumber":436,"author":{"gitId":"domoberzin"},"content":" teams.add(t2);"},{"lineNumber":437,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":438,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getTeamsForCourse(course.getId())).thenReturn(teams);"},{"lineNumber":439,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":440,"author":{"gitId":"domoberzin"},"content":" List\u003cTeam\u003e returnedTeams \u003d coursesLogic.getTeamsForCourse(course.getId());"},{"lineNumber":441,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":442,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).getTeamsForCourse(course.getId());"},{"lineNumber":443,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":444,"author":{"gitId":"domoberzin"},"content":" List\u003cTeam\u003e expectedTeams \u003d List.of(t1, t2);"},{"lineNumber":445,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":446,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedTeams, returnedTeams);"},{"lineNumber":447,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":448,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":319,"-":129}},{"path":"src/test/java/teammates/sqllogic/core/FeedbackQuestionsLogicTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.mock;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.when;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlCourseRoster;"},{"lineNumber":15,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackQuestionsDb;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * SUT: {@link FeedbackQuestionsLogic}."},{"lineNumber":26,"author":{"gitId":"-"},"content":" */"},{"lineNumber":27,"author":{"gitId":"-"},"content":"public class FeedbackQuestionsLogicTest extends BaseTestCase {"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private FeedbackQuestionsLogic fqLogic \u003d FeedbackQuestionsLogic.inst();"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" private FeedbackQuestionsDb fqDb;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private UsersLogic usersLogic;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":36,"author":{"gitId":"-"},"content":" public void setUpMethod() {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" fqDb \u003d mock(FeedbackQuestionsDb.class);"},{"lineNumber":38,"author":{"gitId":"-"},"content":" CoursesLogic coursesLogic \u003d mock(CoursesLogic.class);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" usersLogic \u003d mock(UsersLogic.class);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" FeedbackResponsesLogic frLogic \u003d mock(FeedbackResponsesLogic.class);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" FeedbackSessionsLogic feedbackSessionsLogic \u003d mock(FeedbackSessionsLogic.class);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" fqLogic.initLogicDependencies(fqDb, coursesLogic, frLogic, usersLogic, feedbackSessionsLogic);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":46,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForSession_questionNumbersInOrder_success() {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":48,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questions \u003d createQuestionList(fs, 5);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" fs.setId(UUID.randomUUID());"},{"lineNumber":52,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForSession(fs.getId())).thenReturn(questions);"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqLogic.getFeedbackQuestionsForSession(fs);"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" assertEquals(questions.size(), actualQuestions.size());"},{"lineNumber":57,"author":{"gitId":"-"},"content":" assertTrue(questions.containsAll(actualQuestions));"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForSession_questionNumbersOutOfOrder_success() {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":63,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" FeedbackQuestion fq5 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" fq1.setQuestionNumber(1);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" fq2.setQuestionNumber(2);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" fq3.setQuestionNumber(3);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" fq4.setQuestionNumber(4);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" fq5.setQuestionNumber(5);"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" ArrayList\u003cFeedbackQuestion\u003e questions \u003d new ArrayList\u003c\u003e(List.of(fq2, fq4, fq3, fq1, fq5));"},{"lineNumber":77,"author":{"gitId":"-"},"content":" fs.setId(UUID.randomUUID());"},{"lineNumber":78,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForSession(fs.getId())).thenReturn(questions);"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqLogic.getFeedbackQuestionsForSession(fs);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" assertEquals(questions.size(), actualQuestions.size());"},{"lineNumber":83,"author":{"gitId":"-"},"content":" assertTrue(questions.containsAll(actualQuestions));"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":87,"author":{"gitId":"-"},"content":" public void testCreateFeedbackQuestion_questionNumbersAreConsistent_canCreateFeedbackQuestion()"},{"lineNumber":88,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":90,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" FeedbackQuestion newQuestion \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" newQuestion.setQuestionNumber(5);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsBefore \u003d createQuestionList(fs, 4);"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" fs.setId(UUID.randomUUID());"},{"lineNumber":97,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForSession(fs.getId())).thenReturn(questionsBefore);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" when(fqDb.createFeedbackQuestion(newQuestion)).thenReturn(newQuestion);"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" FeedbackQuestion createdQuestion \u003d fqLogic.createFeedbackQuestion(newQuestion);"},{"lineNumber":101,"author":{"gitId":"-"},"content":" assertEquals(newQuestion, createdQuestion);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":105,"author":{"gitId":"-"},"content":" public void testCreateFeedbackQuestion_questionNumbersAreInconsistent_canCreateFeedbackQuestion()"},{"lineNumber":106,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":108,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" FeedbackQuestion fq5 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" fq1.setQuestionNumber(2);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" fq2.setQuestionNumber(3);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" fq3.setQuestionNumber(4);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" fq4.setQuestionNumber(5);"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" ArrayList\u003cFeedbackQuestion\u003e questionsBefore \u003d new ArrayList\u003c\u003e(List.of(fq1, fq2, fq3, fq4));"},{"lineNumber":120,"author":{"gitId":"-"},"content":" fs.setId(UUID.randomUUID());"},{"lineNumber":121,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForSession(fs.getId())).thenReturn(questionsBefore);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" when(fqDb.createFeedbackQuestion(fq5)).thenReturn(fq5);"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" FeedbackQuestion createdQuestion \u003d fqLogic.createFeedbackQuestion(fq5);"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" assertEquals(fq5, createdQuestion);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" @Test(enabled \u003d false)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" public void testCreateFeedbackQuestion_oldQuestionNumberLargerThanNewQuestionNumber_adjustQuestionNumberCorrectly()"},{"lineNumber":131,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":133,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":138,"author":{"gitId":"-"},"content":" FeedbackQuestion fq5 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" fq1.setQuestionNumber(2);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" fq2.setQuestionNumber(3);"},{"lineNumber":141,"author":{"gitId":"-"},"content":" fq3.setQuestionNumber(4);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" fq4.setQuestionNumber(5);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" fq5.setQuestionNumber(1);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" ArrayList\u003cFeedbackQuestion\u003e questionsBefore \u003d new ArrayList\u003c\u003e(List.of(fq1, fq2, fq3, fq4));"},{"lineNumber":146,"author":{"gitId":"-"},"content":" fs.setId(UUID.randomUUID());"},{"lineNumber":147,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForSession(fs.getId())).thenReturn(questionsBefore);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" when(fqDb.createFeedbackQuestion(fq5)).thenReturn(fq5);"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" fqLogic.createFeedbackQuestion(fq5);"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" assertEquals(1, fq1.getQuestionNumber().intValue());"},{"lineNumber":153,"author":{"gitId":"-"},"content":" assertEquals(2, fq2.getQuestionNumber().intValue());"},{"lineNumber":154,"author":{"gitId":"-"},"content":" assertEquals(3, fq3.getQuestionNumber().intValue());"},{"lineNumber":155,"author":{"gitId":"-"},"content":" assertEquals(4, fq4.getQuestionNumber().intValue());"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" @Test(enabled \u003d false)"},{"lineNumber":159,"author":{"gitId":"-"},"content":" public void testCreateFeedbackQuestion_oldQuestionNumberSmallerThanNewQuestionNumber_adjustQuestionNumberCorrectly()"},{"lineNumber":160,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":162,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":163,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":164,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":167,"author":{"gitId":"-"},"content":" FeedbackQuestion fq5 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" fq1.setQuestionNumber(0);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" fq2.setQuestionNumber(1);"},{"lineNumber":170,"author":{"gitId":"-"},"content":" fq3.setQuestionNumber(2);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" fq4.setQuestionNumber(3);"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" ArrayList\u003cFeedbackQuestion\u003e questionsBefore \u003d new ArrayList\u003c\u003e(List.of(fq1, fq2, fq3, fq4));"},{"lineNumber":174,"author":{"gitId":"-"},"content":" fs.setId(UUID.randomUUID());"},{"lineNumber":175,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForSession(fs.getId())).thenReturn(questionsBefore);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" when(fqDb.createFeedbackQuestion(fq5)).thenReturn(fq5);"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" fqLogic.createFeedbackQuestion(fq5);"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" assertEquals(1, fq1.getQuestionNumber().intValue());"},{"lineNumber":181,"author":{"gitId":"-"},"content":" assertEquals(2, fq2.getQuestionNumber().intValue());"},{"lineNumber":182,"author":{"gitId":"-"},"content":" assertEquals(3, fq3.getQuestionNumber().intValue());"},{"lineNumber":183,"author":{"gitId":"-"},"content":" assertEquals(4, fq4.getQuestionNumber().intValue());"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":187,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForStudents_success() {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":189,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":191,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":192,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsSelf \u003d List.of(fq1, fq2);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsStudent \u003d List.of(fq3, fq4);"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e expectedQuestions \u003d List.of(fq1, fq2, fq3, fq4);"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.SELF)).thenReturn(questionsSelf);"},{"lineNumber":201,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.STUDENTS)).thenReturn(questionsStudent);"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqLogic.getFeedbackQuestionsForStudents(fs);"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestions.size(), actualQuestions.size());"},{"lineNumber":206,"author":{"gitId":"-"},"content":" assertTrue(actualQuestions.containsAll(actualQuestions));"},{"lineNumber":207,"author":{"gitId":"-"},"content":" }"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":210,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForInstructors_instructorIsCreator_success() {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":212,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":213,"author":{"gitId":"-"},"content":" fs.setCreatorEmail(\"instr1@teammates.tmt\");"},{"lineNumber":214,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":215,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":216,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":217,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsInstructors \u003d List.of(fq1, fq2);"},{"lineNumber":220,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsSelf \u003d List.of(fq3, fq4);"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.INSTRUCTORS))"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .thenReturn(questionsInstructors);"},{"lineNumber":224,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.SELF)).thenReturn(questionsSelf);"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e expectedQuestions \u003d List.of(fq1, fq2, fq3, fq4);"},{"lineNumber":227,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqLogic.getFeedbackQuestionsForInstructors(fs, \"instr1@teammates.tmt\");"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestions.size(), actualQuestions.size());"},{"lineNumber":230,"author":{"gitId":"-"},"content":" assertTrue(actualQuestions.containsAll(actualQuestions));"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":234,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForInstructors_instructorIsNotCreator_success() {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":236,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":237,"author":{"gitId":"-"},"content":" fs.setCreatorEmail(\"instr1@teammates.tmt\");"},{"lineNumber":238,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":239,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":240,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":241,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsInstructors \u003d List.of(fq1, fq2);"},{"lineNumber":244,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsSelf \u003d List.of(fq3, fq4);"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.INSTRUCTORS))"},{"lineNumber":247,"author":{"gitId":"-"},"content":" .thenReturn(questionsInstructors);"},{"lineNumber":248,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.SELF)).thenReturn(questionsSelf);"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e expectedQuestions \u003d List.of(fq1, fq2);"},{"lineNumber":251,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqLogic.getFeedbackQuestionsForInstructors(fs, \"instr2@teammates.tmt\");"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestions.size(), actualQuestions.size());"},{"lineNumber":254,"author":{"gitId":"-"},"content":" assertTrue(actualQuestions.containsAll(actualQuestions));"},{"lineNumber":255,"author":{"gitId":"-"},"content":" }"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":" @Test(enabled \u003d false)"},{"lineNumber":258,"author":{"gitId":"-"},"content":" public void testGetRecipientsOfQuestion_giverTypeStudents() {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":260,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":261,"author":{"gitId":"-"},"content":" FeedbackQuestion fq \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" Student s1 \u003d getTypicalStudent();"},{"lineNumber":264,"author":{"gitId":"-"},"content":" Student s2 \u003d getTypicalStudent();"},{"lineNumber":265,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentsInCourse \u003d List.of(s1, s2);"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":" SqlCourseRoster courseRoster \u003d new SqlCourseRoster(studentsInCourse, null);"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" when(usersLogic.getStudentsForCourse(\"course-1\")).thenReturn(studentsInCourse);"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" ______TS(\"response to students except self\");"},{"lineNumber":272,"author":{"gitId":"-"},"content":" assertEquals(fqLogic.getRecipientsOfQuestion(fq, null, s2, null).size(), studentsInCourse.size() - 1);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" assertEquals(fqLogic.getRecipientsOfQuestion(fq, null, s2, courseRoster).size(), studentsInCourse.size() - 1);"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":" }"},{"lineNumber":276,"author":{"gitId":"-"},"content":""},{"lineNumber":277,"author":{"gitId":"-"},"content":" private List\u003cFeedbackQuestion\u003e createQuestionList(FeedbackSession fs, int numOfQuestions) {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" ArrayList\u003cFeedbackQuestion\u003e questions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":279,"author":{"gitId":"-"},"content":" for (int i \u003d 1; i \u003c\u003d numOfQuestions; i++) {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" FeedbackQuestion fq \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":281,"author":{"gitId":"-"},"content":" fq.setQuestionNumber(i);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" questions.add(fq);"},{"lineNumber":283,"author":{"gitId":"-"},"content":" }"},{"lineNumber":284,"author":{"gitId":"-"},"content":" return questions;"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":5,"-":281}},{"path":"src/test/java/teammates/sqllogic/core/FeedbackResponseCommentsLogicTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"mingyuanc"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":3,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.mock;"},{"lineNumber":4,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.times;"},{"lineNumber":5,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.verify;"},{"lineNumber":6,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.when;"},{"lineNumber":7,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":8,"author":{"gitId":"mingyuanc"},"content":"import java.util.ArrayList;"},{"lineNumber":9,"author":{"gitId":"mingyuanc"},"content":"import java.util.List;"},{"lineNumber":10,"author":{"gitId":"mingyuanc"},"content":"import java.util.UUID;"},{"lineNumber":11,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":12,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":13,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.Test;"},{"lineNumber":14,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":15,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":16,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":17,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":18,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":19,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlapi.FeedbackResponseCommentsDb;"},{"lineNumber":20,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":21,"author":{"gitId":"mingyuanc"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":22,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.output.CommentVisibilityType;"},{"lineNumber":23,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.request.FeedbackResponseCommentUpdateRequest;"},{"lineNumber":24,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":25,"author":{"gitId":"mingyuanc"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"mingyuanc"},"content":" * SUT: {@link FeedbackResponseCommentsLogic}."},{"lineNumber":27,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":28,"author":{"gitId":"mingyuanc"},"content":"public class FeedbackResponseCommentsLogicTest extends BaseTestCase {"},{"lineNumber":29,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":30,"author":{"gitId":"mingyuanc"},"content":" private static final Long TYPICAL_ID \u003d 100L;"},{"lineNumber":31,"author":{"gitId":"mingyuanc"},"content":" private static final Long NOT_TYPICAL_ID \u003d 101L;"},{"lineNumber":32,"author":{"gitId":"mingyuanc"},"content":" private static final UUID TYPICAL_UUID \u003d UUID.randomUUID();"},{"lineNumber":33,"author":{"gitId":"mingyuanc"},"content":" private FeedbackResponseCommentsLogic frcLogic \u003d FeedbackResponseCommentsLogic.inst();"},{"lineNumber":34,"author":{"gitId":"mingyuanc"},"content":" private FeedbackResponseCommentsDb frcDb;"},{"lineNumber":35,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":" @BeforeMethod"},{"lineNumber":37,"author":{"gitId":"mingyuanc"},"content":" public void setUpMethod() {"},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":" frcDb \u003d mock(FeedbackResponseCommentsDb.class);"},{"lineNumber":39,"author":{"gitId":"mingyuanc"},"content":" frcLogic.initLogicDependencies(frcDb);"},{"lineNumber":40,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":41,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":42,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":43,"author":{"gitId":"mingyuanc"},"content":" public void testGetComment_commentAlreadyExists_success() {"},{"lineNumber":44,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":45,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":46,"author":{"gitId":"mingyuanc"},"content":" when(frcDb.getFeedbackResponseComment(comment.getId())).thenReturn(comment);"},{"lineNumber":47,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":48,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment commentFetched \u003d frcLogic.getFeedbackResponseComment(TYPICAL_ID);"},{"lineNumber":49,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":50,"author":{"gitId":"mingyuanc"},"content":" assertEquals(comment, commentFetched);"},{"lineNumber":51,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":52,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":53,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":54,"author":{"gitId":"mingyuanc"},"content":" public void testGetCommentForResponse_commentAlreadyExists_success() {"},{"lineNumber":55,"author":{"gitId":"mingyuanc"},"content":" List\u003cFeedbackResponseComment\u003e expectedReturn \u003d new ArrayList\u003c\u003e();"},{"lineNumber":56,"author":{"gitId":"mingyuanc"},"content":" expectedReturn.add(getTypicalResponseComment(TYPICAL_ID));"},{"lineNumber":57,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":58,"author":{"gitId":"mingyuanc"},"content":" when(frcDb.getFeedbackResponseCommentsForResponse(TYPICAL_UUID)).thenReturn(expectedReturn);"},{"lineNumber":59,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":60,"author":{"gitId":"mingyuanc"},"content":" List\u003cFeedbackResponseComment\u003e fetchedReturn \u003d frcLogic.getFeedbackResponseCommentsForResponse(TYPICAL_UUID);"},{"lineNumber":61,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":62,"author":{"gitId":"mingyuanc"},"content":" assertEquals(expectedReturn, fetchedReturn);"},{"lineNumber":63,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":64,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":65,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":66,"author":{"gitId":"mingyuanc"},"content":" public void testGetCommentForResponseFromParticipant_commentAlreadyExists_success() {"},{"lineNumber":67,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":68,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":69,"author":{"gitId":"mingyuanc"},"content":" when(frcDb.getFeedbackResponseCommentForResponseFromParticipant(TYPICAL_UUID)).thenReturn(comment);"},{"lineNumber":70,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":71,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment commentFetched \u003d frcLogic"},{"lineNumber":72,"author":{"gitId":"mingyuanc"},"content":" .getFeedbackResponseCommentForResponseFromParticipant(TYPICAL_UUID);"},{"lineNumber":73,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":74,"author":{"gitId":"mingyuanc"},"content":" assertEquals(comment, commentFetched);"},{"lineNumber":75,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":76,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":77,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":78,"author":{"gitId":"mingyuanc"},"content":" public void testGetComment_commentDoesNotExist_returnsNull() {"},{"lineNumber":79,"author":{"gitId":"mingyuanc"},"content":" when(frcDb.getFeedbackResponseComment(NOT_TYPICAL_ID)).thenReturn(null);"},{"lineNumber":80,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":81,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment commentFetched \u003d frcLogic.getFeedbackResponseComment(NOT_TYPICAL_ID);"},{"lineNumber":82,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":83,"author":{"gitId":"mingyuanc"},"content":" verify(frcDb, times(1)).getFeedbackResponseComment(NOT_TYPICAL_ID);"},{"lineNumber":84,"author":{"gitId":"mingyuanc"},"content":" assertNull(commentFetched);"},{"lineNumber":85,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":86,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":87,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":88,"author":{"gitId":"mingyuanc"},"content":" public void testCreateComment_commentDoesNotExist_success()"},{"lineNumber":89,"author":{"gitId":"mingyuanc"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":90,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":91,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":92,"author":{"gitId":"mingyuanc"},"content":" frcLogic.createFeedbackResponseComment(comment);"},{"lineNumber":93,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":94,"author":{"gitId":"mingyuanc"},"content":" verify(frcDb, times(1)).createFeedbackResponseComment(comment);"},{"lineNumber":95,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":96,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":97,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":98,"author":{"gitId":"mingyuanc"},"content":" public void testCreateComment_commentAlreadyExists_throwsEntityAlreadyExistsException()"},{"lineNumber":99,"author":{"gitId":"mingyuanc"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":100,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":101,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":102,"author":{"gitId":"mingyuanc"},"content":" when(frcDb.createFeedbackResponseComment(comment)).thenThrow(EntityAlreadyExistsException.class);"},{"lineNumber":103,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":104,"author":{"gitId":"mingyuanc"},"content":" assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":105,"author":{"gitId":"mingyuanc"},"content":" () -\u003e frcLogic.createFeedbackResponseComment(comment));"},{"lineNumber":106,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":107,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":108,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":109,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":110,"author":{"gitId":"mingyuanc"},"content":" public void testDeleteComment_commentExists_success() {"},{"lineNumber":111,"author":{"gitId":"mingyuanc"},"content":" frcLogic.deleteFeedbackResponseComment(TYPICAL_ID);"},{"lineNumber":112,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":113,"author":{"gitId":"mingyuanc"},"content":" verify(frcDb, times(1)).deleteFeedbackResponseComment(TYPICAL_ID);"},{"lineNumber":114,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":115,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":116,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":117,"author":{"gitId":"mingyuanc"},"content":" public void testUpdateCommentEmails_success() {"},{"lineNumber":118,"author":{"gitId":"mingyuanc"},"content":" String courseId \u003d \"Course_id\";"},{"lineNumber":119,"author":{"gitId":"mingyuanc"},"content":" String oldEmail \u003d \"oldEmail@gmail.com\";"},{"lineNumber":120,"author":{"gitId":"mingyuanc"},"content":" String newEmail \u003d \"newEmail@gmail.com\";"},{"lineNumber":121,"author":{"gitId":"mingyuanc"},"content":" frcLogic.updateFeedbackResponseCommentsEmails(courseId, oldEmail, newEmail);"},{"lineNumber":122,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":123,"author":{"gitId":"mingyuanc"},"content":" verify(frcDb, times(1)).updateGiverEmailOfFeedbackResponseComments(courseId, oldEmail, newEmail);"},{"lineNumber":124,"author":{"gitId":"mingyuanc"},"content":" verify(frcDb, times(1)).updateLastEditorEmailOfFeedbackResponseComments(courseId, oldEmail, newEmail);"},{"lineNumber":125,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":126,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":127,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":128,"author":{"gitId":"mingyuanc"},"content":" public void testUpdateComment_entityAlreadyExists_success()"},{"lineNumber":129,"author":{"gitId":"mingyuanc"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":130,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":131,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":132,"author":{"gitId":"mingyuanc"},"content":" when(frcDb.getFeedbackResponseComment(comment.getId())).thenReturn(comment);"},{"lineNumber":133,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":134,"author":{"gitId":"mingyuanc"},"content":" String updatedCommentText \u003d \"Update\";"},{"lineNumber":135,"author":{"gitId":"mingyuanc"},"content":" String lastEditorEmail \u003d \"me@gmail.com\";"},{"lineNumber":136,"author":{"gitId":"mingyuanc"},"content":" List\u003cCommentVisibilityType\u003e showCommentTo \u003d new ArrayList\u003c\u003e();"},{"lineNumber":137,"author":{"gitId":"mingyuanc"},"content":" showCommentTo.add(CommentVisibilityType.STUDENTS);"},{"lineNumber":138,"author":{"gitId":"mingyuanc"},"content":" showCommentTo.add(CommentVisibilityType.INSTRUCTORS);"},{"lineNumber":139,"author":{"gitId":"mingyuanc"},"content":" List\u003cCommentVisibilityType\u003e showGiverNameTo \u003d new ArrayList\u003c\u003e();"},{"lineNumber":140,"author":{"gitId":"mingyuanc"},"content":" showGiverNameTo.add(CommentVisibilityType.INSTRUCTORS);"},{"lineNumber":141,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":142,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseCommentUpdateRequest updateRequest \u003d new FeedbackResponseCommentUpdateRequest("},{"lineNumber":143,"author":{"gitId":"mingyuanc"},"content":" updatedCommentText, showCommentTo, showGiverNameTo);"},{"lineNumber":144,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment updatedComment \u003d frcLogic.updateFeedbackResponseComment(TYPICAL_ID, updateRequest,"},{"lineNumber":145,"author":{"gitId":"mingyuanc"},"content":" lastEditorEmail);"},{"lineNumber":146,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":147,"author":{"gitId":"mingyuanc"},"content":" verify(frcDb, times(1)).getFeedbackResponseComment(TYPICAL_ID);"},{"lineNumber":148,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":149,"author":{"gitId":"mingyuanc"},"content":" List\u003cFeedbackParticipantType\u003e expectedShowCommentTo \u003d new ArrayList\u003c\u003e();"},{"lineNumber":150,"author":{"gitId":"mingyuanc"},"content":" expectedShowCommentTo.add(FeedbackParticipantType.STUDENTS);"},{"lineNumber":151,"author":{"gitId":"mingyuanc"},"content":" expectedShowCommentTo.add(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":152,"author":{"gitId":"mingyuanc"},"content":" List\u003cFeedbackParticipantType\u003e expectedShowGiverNameTo \u003d new ArrayList\u003c\u003e();"},{"lineNumber":153,"author":{"gitId":"mingyuanc"},"content":" expectedShowGiverNameTo.add(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":154,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":155,"author":{"gitId":"mingyuanc"},"content":" assertEquals(TYPICAL_ID, updatedComment.getId());"},{"lineNumber":156,"author":{"gitId":"mingyuanc"},"content":" assertEquals(updatedCommentText, updatedComment.getCommentText());"},{"lineNumber":157,"author":{"gitId":"mingyuanc"},"content":" assertEquals(expectedShowCommentTo, updatedComment.getShowCommentTo());"},{"lineNumber":158,"author":{"gitId":"mingyuanc"},"content":" assertEquals(expectedShowGiverNameTo, updatedComment.getShowGiverNameTo());"},{"lineNumber":159,"author":{"gitId":"mingyuanc"},"content":" assertEquals(lastEditorEmail, updatedComment.getLastEditorEmail());"},{"lineNumber":160,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":161,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":162,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":163,"author":{"gitId":"mingyuanc"},"content":" public void testUpdateComment_entityDoesNotExist() {"},{"lineNumber":164,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":165,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":166,"author":{"gitId":"mingyuanc"},"content":" when(frcDb.getFeedbackResponseComment(comment.getId())).thenReturn(comment);"},{"lineNumber":167,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":168,"author":{"gitId":"mingyuanc"},"content":" long nonExistentId \u003d 101L;"},{"lineNumber":169,"author":{"gitId":"mingyuanc"},"content":" String updatedCommentText \u003d \"Update\";"},{"lineNumber":170,"author":{"gitId":"mingyuanc"},"content":" String lastEditorEmail \u003d \"me@gmail.com\";"},{"lineNumber":171,"author":{"gitId":"mingyuanc"},"content":" List\u003cCommentVisibilityType\u003e showCommentTo \u003d new ArrayList\u003c\u003e();"},{"lineNumber":172,"author":{"gitId":"mingyuanc"},"content":" showCommentTo.add(CommentVisibilityType.STUDENTS);"},{"lineNumber":173,"author":{"gitId":"mingyuanc"},"content":" showCommentTo.add(CommentVisibilityType.INSTRUCTORS);"},{"lineNumber":174,"author":{"gitId":"mingyuanc"},"content":" List\u003cCommentVisibilityType\u003e showGiverNameTo \u003d new ArrayList\u003c\u003e();"},{"lineNumber":175,"author":{"gitId":"mingyuanc"},"content":" showGiverNameTo.add(CommentVisibilityType.INSTRUCTORS);"},{"lineNumber":176,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":177,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseCommentUpdateRequest updateRequest \u003d new FeedbackResponseCommentUpdateRequest("},{"lineNumber":178,"author":{"gitId":"mingyuanc"},"content":" updatedCommentText, showCommentTo, showGiverNameTo);"},{"lineNumber":179,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":180,"author":{"gitId":"mingyuanc"},"content":" EntityDoesNotExistException ex \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":181,"author":{"gitId":"mingyuanc"},"content":" () -\u003e frcLogic.updateFeedbackResponseComment(nonExistentId, updateRequest, lastEditorEmail));"},{"lineNumber":182,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":183,"author":{"gitId":"mingyuanc"},"content":" assertEquals(\"Trying to update a feedback response comment that does not exist.\", ex.getMessage());"},{"lineNumber":184,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":185,"author":{"gitId":"mingyuanc"},"content":"}"}],"authorContributionMap":{"mingyuanc":185}},{"path":"src/test/java/teammates/storage/sqlapi/FeedbackQuestionsDbTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"marquestye"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":3,"author":{"gitId":"marquestye"},"content":"import static org.mockito.ArgumentMatchers.any;"},{"lineNumber":4,"author":{"gitId":"marquestye"},"content":"import static org.mockito.Mockito.mockStatic;"},{"lineNumber":5,"author":{"gitId":"marquestye"},"content":"import static org.mockito.Mockito.never;"},{"lineNumber":6,"author":{"gitId":"marquestye"},"content":"import static org.mockito.Mockito.spy;"},{"lineNumber":7,"author":{"gitId":"marquestye"},"content":"import static org.mockito.Mockito.times;"},{"lineNumber":8,"author":{"gitId":"marquestye"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":9,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":10,"author":{"gitId":"marquestye"},"content":"import java.util.List;"},{"lineNumber":11,"author":{"gitId":"marquestye"},"content":"import java.util.UUID;"},{"lineNumber":12,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":13,"author":{"gitId":"marquestye"},"content":"import org.mockito.MockedStatic;"},{"lineNumber":14,"author":{"gitId":"marquestye"},"content":"import org.testng.annotations.AfterMethod;"},{"lineNumber":15,"author":{"gitId":"marquestye"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":16,"author":{"gitId":"marquestye"},"content":"import org.testng.annotations.Test;"},{"lineNumber":17,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":18,"author":{"gitId":"marquestye"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":19,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":20,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":21,"author":{"gitId":"marquestye"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":22,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":23,"author":{"gitId":"marquestye"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":24,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":25,"author":{"gitId":"marquestye"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"marquestye"},"content":" * SUT: {@link FeedbackQuestionsDb}."},{"lineNumber":27,"author":{"gitId":"marquestye"},"content":" */"},{"lineNumber":28,"author":{"gitId":"marquestye"},"content":"public class FeedbackQuestionsDbTest extends BaseTestCase {"},{"lineNumber":29,"author":{"gitId":"marquestye"},"content":" private FeedbackQuestionsDb feedbackQuestionsDb;"},{"lineNumber":30,"author":{"gitId":"marquestye"},"content":" private MockedStatic\u003cHibernateUtil\u003e mockHibernateUtil;"},{"lineNumber":31,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":32,"author":{"gitId":"marquestye"},"content":" @BeforeMethod"},{"lineNumber":33,"author":{"gitId":"marquestye"},"content":" public void setUpMethod() {"},{"lineNumber":34,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil \u003d mockStatic(HibernateUtil.class);"},{"lineNumber":35,"author":{"gitId":"marquestye"},"content":" feedbackQuestionsDb \u003d spy(FeedbackQuestionsDb.class);"},{"lineNumber":36,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":37,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":38,"author":{"gitId":"marquestye"},"content":" @AfterMethod"},{"lineNumber":39,"author":{"gitId":"marquestye"},"content":" public void teardownMethod() {"},{"lineNumber":40,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.close();"},{"lineNumber":41,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":42,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":43,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":44,"author":{"gitId":"marquestye"},"content":" public void testCreateFeedbackQuestion_success() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":45,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion feedbackQuestion \u003d getFeedbackQuestion();"},{"lineNumber":46,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":47,"author":{"gitId":"marquestye"},"content":" feedbackQuestionsDb.createFeedbackQuestion(feedbackQuestion);"},{"lineNumber":48,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":49,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(feedbackQuestion), times(1));"},{"lineNumber":50,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":51,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":52,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":53,"author":{"gitId":"marquestye"},"content":" public void testCreateFeedbackQuestion_questionAlreadyExists_throwsEntityAlreadyExistsException() {"},{"lineNumber":54,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion feedbackQuestion \u003d getFeedbackQuestion();"},{"lineNumber":55,"author":{"gitId":"marquestye"},"content":" UUID fqid \u003d feedbackQuestion.getId();"},{"lineNumber":56,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":57,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackQuestion.class, fqid)).thenReturn(feedbackQuestion);"},{"lineNumber":58,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":59,"author":{"gitId":"marquestye"},"content":" EntityAlreadyExistsException eaee \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":60,"author":{"gitId":"marquestye"},"content":" () -\u003e feedbackQuestionsDb.createFeedbackQuestion(feedbackQuestion));"},{"lineNumber":61,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":62,"author":{"gitId":"marquestye"},"content":" assertEquals(String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, feedbackQuestion.toString()), eaee.getMessage());"},{"lineNumber":63,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(feedbackQuestion), never());"},{"lineNumber":64,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":65,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":66,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":67,"author":{"gitId":"marquestye"},"content":" public void testCreateFeedbackQuestion_invalidQuestion_throwsInvalidParametersException() {"},{"lineNumber":68,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion feedbackQuestion \u003d getFeedbackQuestion();"},{"lineNumber":69,"author":{"gitId":"marquestye"},"content":" feedbackQuestion.setGiverType(FeedbackParticipantType.NONE);"},{"lineNumber":70,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":71,"author":{"gitId":"marquestye"},"content":" InvalidParametersException ipe \u003d assertThrows(InvalidParametersException.class,"},{"lineNumber":72,"author":{"gitId":"marquestye"},"content":" () -\u003e feedbackQuestionsDb.createFeedbackQuestion(feedbackQuestion));"},{"lineNumber":73,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":74,"author":{"gitId":"marquestye"},"content":" assertEquals(feedbackQuestion.getInvalidityInfo(), List.of(ipe.getMessage()));"},{"lineNumber":75,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(feedbackQuestion), never());"},{"lineNumber":76,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":77,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":78,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":79,"author":{"gitId":"marquestye"},"content":" public void testGetFeedbackQuestion_success() {"},{"lineNumber":80,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion feedbackQuestion \u003d getFeedbackQuestion();"},{"lineNumber":81,"author":{"gitId":"marquestye"},"content":" UUID fqid \u003d feedbackQuestion.getId();"},{"lineNumber":82,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":83,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackQuestion.class, fqid)).thenReturn(feedbackQuestion);"},{"lineNumber":84,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":85,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion retrievedSession \u003d feedbackQuestionsDb.getFeedbackQuestion(fqid);"},{"lineNumber":86,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":87,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.get(FeedbackQuestion.class, fqid), times(1));"},{"lineNumber":88,"author":{"gitId":"marquestye"},"content":" assertEquals(feedbackQuestion, retrievedSession);"},{"lineNumber":89,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":90,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":91,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":92,"author":{"gitId":"marquestye"},"content":" public void testGetFeedbackQuestion_questionDoesNotExist_returnNull() {"},{"lineNumber":93,"author":{"gitId":"marquestye"},"content":" UUID fqid \u003d UUID.randomUUID();"},{"lineNumber":94,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":95,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackQuestion.class, fqid)).thenReturn(null);"},{"lineNumber":96,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":97,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion retrievedSession \u003d feedbackQuestionsDb.getFeedbackQuestion(fqid);"},{"lineNumber":98,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":99,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.get(FeedbackQuestion.class, fqid), times(1));"},{"lineNumber":100,"author":{"gitId":"marquestye"},"content":" assertNull(retrievedSession);"},{"lineNumber":101,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":102,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":103,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":104,"author":{"gitId":"marquestye"},"content":" public void testDeleteFeedbackQuestion_success() {"},{"lineNumber":105,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion feedbackQuestion \u003d getFeedbackQuestion();"},{"lineNumber":106,"author":{"gitId":"marquestye"},"content":" UUID fqid \u003d feedbackQuestion.getId();"},{"lineNumber":107,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":108,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackQuestion.class, fqid)).thenReturn(feedbackQuestion);"},{"lineNumber":109,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":110,"author":{"gitId":"marquestye"},"content":" feedbackQuestionsDb.deleteFeedbackQuestion(fqid);"},{"lineNumber":111,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":112,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.remove(feedbackQuestion), times(1));"},{"lineNumber":113,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":114,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":115,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":116,"author":{"gitId":"marquestye"},"content":" public void testDeleteFeedbackQuestion_questionDoesNotExist_nothingHappens() {"},{"lineNumber":117,"author":{"gitId":"marquestye"},"content":" UUID fqid \u003d UUID.randomUUID();"},{"lineNumber":118,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":119,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackQuestion.class, fqid)).thenReturn(null);"},{"lineNumber":120,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":121,"author":{"gitId":"marquestye"},"content":" feedbackQuestionsDb.deleteFeedbackQuestion(fqid);"},{"lineNumber":122,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":123,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.remove(any()), never());"},{"lineNumber":124,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":125,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":126,"author":{"gitId":"marquestye"},"content":" private FeedbackQuestion getFeedbackQuestion() {"},{"lineNumber":127,"author":{"gitId":"marquestye"},"content":" return getTypicalFeedbackQuestionForSession(getTypicalFeedbackSessionForCourse(getTypicalCourse()));"},{"lineNumber":128,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":129,"author":{"gitId":"marquestye"},"content":"}"}],"authorContributionMap":{"marquestye":129}},{"path":"src/test/java/teammates/storage/sqlapi/FeedbackResponseCommentsDbTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"mingyuanc"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":3,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.ArgumentMatchers.anyLong;"},{"lineNumber":4,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.doReturn;"},{"lineNumber":5,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.mockStatic;"},{"lineNumber":6,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.never;"},{"lineNumber":7,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.spy;"},{"lineNumber":8,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.times;"},{"lineNumber":9,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":10,"author":{"gitId":"mingyuanc"},"content":"import org.mockito.MockedStatic;"},{"lineNumber":11,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.AfterMethod;"},{"lineNumber":12,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":13,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.Test;"},{"lineNumber":14,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":15,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":16,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":17,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":18,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":19,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":20,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":21,"author":{"gitId":"mingyuanc"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":22,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":23,"author":{"gitId":"mingyuanc"},"content":"/**"},{"lineNumber":24,"author":{"gitId":"mingyuanc"},"content":" * SUT: {@code FeedbackResponseCommentsDb}."},{"lineNumber":25,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":26,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":27,"author":{"gitId":"mingyuanc"},"content":"public class FeedbackResponseCommentsDbTest extends BaseTestCase {"},{"lineNumber":28,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":29,"author":{"gitId":"mingyuanc"},"content":" private static final Long TYPICAL_ID \u003d 100L;"},{"lineNumber":30,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":31,"author":{"gitId":"mingyuanc"},"content":" private static final Long NOT_TYPICAL_ID \u003d 101L;"},{"lineNumber":32,"author":{"gitId":"mingyuanc"},"content":" private FeedbackResponseCommentsDb feedbackResponseCommentsDb;"},{"lineNumber":33,"author":{"gitId":"mingyuanc"},"content":" private MockedStatic\u003cHibernateUtil\u003e mockHibernateUtil;"},{"lineNumber":34,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":35,"author":{"gitId":"mingyuanc"},"content":" @BeforeMethod"},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":" public void setUpMethod() {"},{"lineNumber":37,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil \u003d mockStatic(HibernateUtil.class);"},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":" feedbackResponseCommentsDb \u003d spy(FeedbackResponseCommentsDb.class);"},{"lineNumber":39,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":40,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":41,"author":{"gitId":"mingyuanc"},"content":" @AfterMethod"},{"lineNumber":42,"author":{"gitId":"mingyuanc"},"content":" public void teardownMethod() {"},{"lineNumber":43,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.close();"},{"lineNumber":44,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":45,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":46,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":47,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":48,"author":{"gitId":"mingyuanc"},"content":" public void testCreateComment_commentDoesNotExist_success()"},{"lineNumber":49,"author":{"gitId":"mingyuanc"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":50,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":51,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":52,"author":{"gitId":"mingyuanc"},"content":" feedbackResponseCommentsDb.createFeedbackResponseComment(comment);"},{"lineNumber":53,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":54,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(comment));"},{"lineNumber":55,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":56,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":57,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":58,"author":{"gitId":"mingyuanc"},"content":" public void testCreateComment_commentAlreadyExists_throwsEntityAlreadyExistsException() {"},{"lineNumber":59,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":60,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":61,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackResponseComment.class, TYPICAL_ID)).thenReturn(comment);"},{"lineNumber":62,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":63,"author":{"gitId":"mingyuanc"},"content":" EntityAlreadyExistsException ex \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":64,"author":{"gitId":"mingyuanc"},"content":" () -\u003e feedbackResponseCommentsDb.createFeedbackResponseComment(comment));"},{"lineNumber":65,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":66,"author":{"gitId":"mingyuanc"},"content":" assertEquals(\"Trying to create an entity that exists: \" + comment.toString(), ex.getMessage());"},{"lineNumber":67,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(comment), never());"},{"lineNumber":68,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":69,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":70,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":71,"author":{"gitId":"mingyuanc"},"content":" public void testGetComment_commentAlreadyExists_success() {"},{"lineNumber":72,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":73,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":74,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackResponseComment.class, TYPICAL_ID)).thenReturn(comment);"},{"lineNumber":75,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":76,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment commentFetched \u003d feedbackResponseCommentsDb.getFeedbackResponseComment(TYPICAL_ID);"},{"lineNumber":77,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":78,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackResponseComment.class, TYPICAL_ID)).thenReturn(comment);"},{"lineNumber":79,"author":{"gitId":"mingyuanc"},"content":" assertEquals(comment, commentFetched);"},{"lineNumber":80,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":81,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":82,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":83,"author":{"gitId":"mingyuanc"},"content":" public void testGetComment_commentDoesNotExist_returnsNull() {"},{"lineNumber":84,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackResponseComment.class, NOT_TYPICAL_ID)).thenReturn(null);"},{"lineNumber":85,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":86,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment commentFetched \u003d feedbackResponseCommentsDb.getFeedbackResponseComment(NOT_TYPICAL_ID);"},{"lineNumber":87,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":88,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.get(FeedbackResponseComment.class, NOT_TYPICAL_ID), times(1));"},{"lineNumber":89,"author":{"gitId":"mingyuanc"},"content":" assertNull(commentFetched);"},{"lineNumber":90,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":91,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":92,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":93,"author":{"gitId":"mingyuanc"},"content":" public void testDeleteComment_commentExists_success() {"},{"lineNumber":94,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":95,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":96,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackResponseComment.class, TYPICAL_ID)).thenReturn(comment);"},{"lineNumber":97,"author":{"gitId":"mingyuanc"},"content":" feedbackResponseCommentsDb.deleteFeedbackResponseComment(TYPICAL_ID);"},{"lineNumber":98,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":99,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.remove(comment));"},{"lineNumber":100,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":101,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":102,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":103,"author":{"gitId":"mingyuanc"},"content":" public void testUpdateComment_commentInvalid_throwsInvalidParametersException() {"},{"lineNumber":104,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":105,"author":{"gitId":"mingyuanc"},"content":" comment.setGiverType(FeedbackParticipantType.SELF);"},{"lineNumber":106,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":107,"author":{"gitId":"mingyuanc"},"content":" assertThrows(InvalidParametersException.class,"},{"lineNumber":108,"author":{"gitId":"mingyuanc"},"content":" () -\u003e feedbackResponseCommentsDb.updateFeedbackResponseComment(comment));"},{"lineNumber":109,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":110,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(comment), never());"},{"lineNumber":111,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":112,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":113,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":114,"author":{"gitId":"mingyuanc"},"content":" public void testUpdateComment_commentDoesNotExist_throwsEntityDoesNotExistException() {"},{"lineNumber":115,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(NOT_TYPICAL_ID);"},{"lineNumber":116,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":117,"author":{"gitId":"mingyuanc"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":118,"author":{"gitId":"mingyuanc"},"content":" () -\u003e feedbackResponseCommentsDb.updateFeedbackResponseComment(comment));"},{"lineNumber":119,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":120,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(comment), never());"},{"lineNumber":121,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":122,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":123,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":124,"author":{"gitId":"mingyuanc"},"content":" public void testUpdateCourse_success() throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":125,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":126,"author":{"gitId":"mingyuanc"},"content":" comment.setCommentText(\"Placeholder Text\");"},{"lineNumber":127,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":128,"author":{"gitId":"mingyuanc"},"content":" doReturn(comment).when(feedbackResponseCommentsDb).getFeedbackResponseComment(anyLong());"},{"lineNumber":129,"author":{"gitId":"mingyuanc"},"content":" feedbackResponseCommentsDb.updateFeedbackResponseComment(comment);"},{"lineNumber":130,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":131,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(comment));"},{"lineNumber":132,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":133,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":134,"author":{"gitId":"mingyuanc"},"content":"}"}],"authorContributionMap":{"mingyuanc":134}},{"path":"src/test/java/teammates/storage/sqlapi/FeedbackSessionsDbTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.ArgumentMatchers.any;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.doReturn;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.mockStatic;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.never;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.spy;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.times;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import org.mockito.MockedStatic;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.AfterMethod;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.TimeHelperExtension;"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" * SUT: {@code FeedbackSessionsDb}."},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":"public class FeedbackSessionsDbTest extends BaseTestCase {"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" private FeedbackSessionsDb feedbackSessionsDb;"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" private MockedStatic\u003cHibernateUtil\u003e mockHibernateUtil;"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" @BeforeMethod"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" public void setUpMethod() {"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil \u003d mockStatic(HibernateUtil.class);"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" feedbackSessionsDb \u003d spy(FeedbackSessionsDb.class);"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" @AfterMethod"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" public void teardownMethod() {"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.close();"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" public void testCreateSession_sessionDoesNotExist_success()"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" feedbackSessionsDb.createFeedbackSession(feedbackSession);"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(feedbackSession), times(1));"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" public void testCreateSession_duplicateSession_throwsEntityAlreadyExistsException()"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" UUID uuid \u003d feedbackSession.getId();"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" doReturn(feedbackSession).when(feedbackSessionsDb).getFeedbackSession(uuid);"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" () -\u003e feedbackSessionsDb.createFeedbackSession(feedbackSession));"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(feedbackSession), never());"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" public void testCreateSession_invalidParams_throwsInvalidParametersException()"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" feedbackSession.setName(\"\");"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" assertThrows(InvalidParametersException.class, () -\u003e feedbackSessionsDb.createFeedbackSession(feedbackSession));"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(feedbackSession), never());"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" public void testCreateSession_nullParams_throwsAssertionError()"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" assertThrows(AssertionError.class, () -\u003e feedbackSessionsDb.createFeedbackSession(null));"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" public void testGetFeedbackSession_sessionExists_success() {"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" UUID uuid \u003d feedbackSession.getId();"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackSession.class, uuid)).thenReturn(feedbackSession);"},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" FeedbackSession sessionFetched \u003d feedbackSessionsDb.getFeedbackSession(uuid);"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.get(FeedbackSession.class, uuid), times(1));"},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":" assertEquals(feedbackSession, sessionFetched);"},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" public void testGetFeedbackSession_sessionDoesNotExists_returnNull() {"},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" UUID randomUuid \u003d UUID.randomUUID();"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackSession.class, randomUuid)).thenReturn(null);"},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" FeedbackSession sessionFetched \u003d feedbackSessionsDb.getFeedbackSession(randomUuid);"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.get(FeedbackSession.class, randomUuid), times(1));"},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" assertNull(sessionFetched);"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" public void testUpdateFeedbackSession_success() throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" doReturn(feedbackSession).when(feedbackSessionsDb).getFeedbackSession(any(UUID.class));"},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" feedbackSessionsDb.updateFeedbackSession(feedbackSession);"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(feedbackSession), times(1));"},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":" public void testUpdateFeedbackSession_sessionDoesNotExist_throwsEntityDoesNotExistException()"},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" UUID uuid \u003d feedbackSession.getId();"},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" doReturn(null).when(feedbackSessionsDb).getFeedbackSession(uuid);"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" () -\u003e feedbackSessionsDb.updateFeedbackSession(feedbackSession));"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(feedbackSession), never());"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":" public void testUpdateFeedbackSession_sessionInvalid_throwsInvalidParametersException()"},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" UUID uuid \u003d feedbackSession.getId();"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" feedbackSession.setName(\"\");"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" doReturn(feedbackSession).when(feedbackSessionsDb).getFeedbackSession(uuid);"},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":" assertThrows(InvalidParametersException.class, () -\u003e feedbackSessionsDb.updateFeedbackSession(feedbackSession));"},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(feedbackSession), never());"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":140,"author":{"gitId":"dishenggg"},"content":" public void testDeleteFeedbackSession_success() throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":141,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":142,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":143,"author":{"gitId":"dishenggg"},"content":" feedbackSessionsDb.deleteFeedbackSession(feedbackSession);"},{"lineNumber":144,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":145,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.remove(feedbackSession), times(1));"},{"lineNumber":146,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":147,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":148,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":149,"author":{"gitId":"dishenggg"},"content":" public void testGetSoftDeletedFeedbackSession_isSoftDeleted_success() {"},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":151,"author":{"gitId":"dishenggg"},"content":" String sessionName \u003d feedbackSession.getName();"},{"lineNumber":152,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":153,"author":{"gitId":"dishenggg"},"content":" feedbackSession.setDeletedAt(TimeHelperExtension.getInstantDaysOffsetFromNow(2));"},{"lineNumber":154,"author":{"gitId":"dishenggg"},"content":" doReturn(feedbackSession).when(feedbackSessionsDb).getFeedbackSession(sessionName, courseId);"},{"lineNumber":155,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":156,"author":{"gitId":"dishenggg"},"content":" FeedbackSession sessionFetched \u003d feedbackSessionsDb.getSoftDeletedFeedbackSession(sessionName, courseId);"},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":158,"author":{"gitId":"dishenggg"},"content":" assertEquals(feedbackSession, sessionFetched);"},{"lineNumber":159,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":160,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":161,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":162,"author":{"gitId":"dishenggg"},"content":" public void testGetSoftDeletedFeedbackSession_notSoftDeleted_returnNull() {"},{"lineNumber":163,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":164,"author":{"gitId":"dishenggg"},"content":" String sessionName \u003d feedbackSession.getName();"},{"lineNumber":165,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":166,"author":{"gitId":"dishenggg"},"content":" doReturn(feedbackSession).when(feedbackSessionsDb).getFeedbackSession(sessionName, courseId);"},{"lineNumber":167,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":168,"author":{"gitId":"dishenggg"},"content":" FeedbackSession sessionFetched \u003d feedbackSessionsDb.getSoftDeletedFeedbackSession(sessionName, courseId);"},{"lineNumber":169,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":170,"author":{"gitId":"dishenggg"},"content":" assertNull(sessionFetched);"},{"lineNumber":171,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":172,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":173,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":174,"author":{"gitId":"dishenggg"},"content":" public void testGetSoftDeletedFeedbackSession_sessionDoesNotExist_returnNull() {"},{"lineNumber":175,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":176,"author":{"gitId":"dishenggg"},"content":" String sessionName \u003d feedbackSession.getName();"},{"lineNumber":177,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":178,"author":{"gitId":"dishenggg"},"content":" doReturn(null).when(feedbackSessionsDb).getFeedbackSession(sessionName, courseId);"},{"lineNumber":179,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":180,"author":{"gitId":"dishenggg"},"content":" FeedbackSession sessionFetched \u003d feedbackSessionsDb.getSoftDeletedFeedbackSession(sessionName, courseId);"},{"lineNumber":181,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":182,"author":{"gitId":"dishenggg"},"content":" assertNull(sessionFetched);"},{"lineNumber":183,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":184,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":185,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":186,"author":{"gitId":"dishenggg"},"content":" public void testRestoreDeletedFeedbackSession_success() throws EntityDoesNotExistException {"},{"lineNumber":187,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":188,"author":{"gitId":"dishenggg"},"content":" String sessionName \u003d feedbackSession.getName();"},{"lineNumber":189,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":190,"author":{"gitId":"dishenggg"},"content":" feedbackSession.setDeletedAt(TimeHelperExtension.getInstantDaysOffsetFromNow(2));"},{"lineNumber":191,"author":{"gitId":"dishenggg"},"content":" doReturn(feedbackSession).when(feedbackSessionsDb).getFeedbackSession(sessionName, courseId);"},{"lineNumber":192,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":193,"author":{"gitId":"dishenggg"},"content":" feedbackSessionsDb.restoreDeletedFeedbackSession(sessionName, courseId);"},{"lineNumber":194,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":195,"author":{"gitId":"dishenggg"},"content":" assertNull(feedbackSession.getDeletedAt());"},{"lineNumber":196,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(feedbackSession), times(1));"},{"lineNumber":197,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":198,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":199,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":200,"author":{"gitId":"dishenggg"},"content":" public void testRestoreDeletedFeedbackSession_sessionDoesNotExist_throwsEntityDoesNotExistException()"},{"lineNumber":201,"author":{"gitId":"dishenggg"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":202,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":203,"author":{"gitId":"dishenggg"},"content":" String sessionName \u003d feedbackSession.getName();"},{"lineNumber":204,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":205,"author":{"gitId":"dishenggg"},"content":" doReturn(null).when(feedbackSessionsDb).getFeedbackSession(sessionName, courseId);"},{"lineNumber":206,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":207,"author":{"gitId":"dishenggg"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":208,"author":{"gitId":"dishenggg"},"content":" () -\u003e feedbackSessionsDb.restoreDeletedFeedbackSession(sessionName, courseId));"},{"lineNumber":209,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(feedbackSession), never());"},{"lineNumber":210,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":211,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":212,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":213,"author":{"gitId":"dishenggg"},"content":" public void testSoftDeleteFeedbackSession_success() throws EntityDoesNotExistException {"},{"lineNumber":214,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":215,"author":{"gitId":"dishenggg"},"content":" String sessionName \u003d feedbackSession.getName();"},{"lineNumber":216,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":217,"author":{"gitId":"dishenggg"},"content":" doReturn(feedbackSession).when(feedbackSessionsDb).getFeedbackSession(sessionName, courseId);"},{"lineNumber":218,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":219,"author":{"gitId":"dishenggg"},"content":" feedbackSessionsDb.softDeleteFeedbackSession(sessionName, courseId);"},{"lineNumber":220,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":221,"author":{"gitId":"dishenggg"},"content":" assertNotNull(feedbackSession.getDeletedAt());"},{"lineNumber":222,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(feedbackSession), times(1));"},{"lineNumber":223,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":224,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":225,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":226,"author":{"gitId":"dishenggg"},"content":" public void testSoftDeleteFeedbackSession_sessionDoesNotExist_throwsEntityDoesNotExistException()"},{"lineNumber":227,"author":{"gitId":"dishenggg"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":228,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":229,"author":{"gitId":"dishenggg"},"content":" String sessionName \u003d feedbackSession.getName();"},{"lineNumber":230,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":231,"author":{"gitId":"dishenggg"},"content":" doReturn(null).when(feedbackSessionsDb).getFeedbackSession(sessionName, courseId);"},{"lineNumber":232,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":233,"author":{"gitId":"dishenggg"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":234,"author":{"gitId":"dishenggg"},"content":" () -\u003e feedbackSessionsDb.restoreDeletedFeedbackSession(sessionName, courseId));"},{"lineNumber":235,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(feedbackSession), never());"},{"lineNumber":236,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":237,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":237}},{"path":"src/test/java/teammates/test/AbstractBackDoor.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.test;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.BufferedReader;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.InputStreamReader;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.net.URI;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.net.URISyntaxException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.Duration;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"import org.apache.http.HttpEntity;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import org.apache.http.NameValuePair;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.CloseableHttpResponse;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpDelete;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpGet;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpPost;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpPut;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpRequestBase;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import org.apache.http.client.utils.URIBuilder;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import org.apache.http.entity.StringEntity;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import org.apache.http.impl.client.CloseableHttpClient;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import org.apache.http.impl.client.HttpClients;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import org.apache.http.message.BasicNameValuePair;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"import com.google.gson.JsonObject;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import com.google.gson.JsonParser;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.DataBundle;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountAttributes;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountRequestAttributes;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.DeadlineExtensionAttributes;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseAttributes;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseCommentAttributes;"},{"lineNumber":46,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":47,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":48,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":49,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":50,"author":{"gitId":"-"},"content":"import teammates.common.exception.HttpRequestFailedException;"},{"lineNumber":51,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":53,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":54,"author":{"gitId":"-"},"content":"import teammates.ui.output.AccountData;"},{"lineNumber":55,"author":{"gitId":"-"},"content":"import teammates.ui.output.AccountRequestData;"},{"lineNumber":56,"author":{"gitId":"-"},"content":"import teammates.ui.output.CourseData;"},{"lineNumber":57,"author":{"gitId":"-"},"content":"import teammates.ui.output.CoursesData;"},{"lineNumber":58,"author":{"gitId":"-"},"content":"import teammates.ui.output.DeadlineExtensionData;"},{"lineNumber":59,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackQuestionData;"},{"lineNumber":60,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackQuestionsData;"},{"lineNumber":61,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackResponseCommentData;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackResponseData;"},{"lineNumber":63,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackResponsesData;"},{"lineNumber":64,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionData;"},{"lineNumber":65,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionsData;"},{"lineNumber":66,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackVisibilityType;"},{"lineNumber":67,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorData;"},{"lineNumber":68,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorsData;"},{"lineNumber":69,"author":{"gitId":"-"},"content":"import teammates.ui.output.MessageOutput;"},{"lineNumber":70,"author":{"gitId":"-"},"content":"import teammates.ui.output.NotificationData;"},{"lineNumber":71,"author":{"gitId":"-"},"content":"import teammates.ui.output.NumberOfEntitiesToGiveFeedbackToSetting;"},{"lineNumber":72,"author":{"gitId":"-"},"content":"import teammates.ui.output.ResponseVisibleSetting;"},{"lineNumber":73,"author":{"gitId":"-"},"content":"import teammates.ui.output.SessionVisibleSetting;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentData;"},{"lineNumber":75,"author":{"gitId":"-"},"content":"import teammates.ui.request.Intent;"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":78,"author":{"gitId":"-"},"content":" * Used to create API calls to the back-end without going through the UI."},{"lineNumber":79,"author":{"gitId":"-"},"content":" */"},{"lineNumber":80,"author":{"gitId":"-"},"content":"public abstract class AbstractBackDoor {"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * Gets the URL of the back-end."},{"lineNumber":84,"author":{"gitId":"-"},"content":" */"},{"lineNumber":85,"author":{"gitId":"-"},"content":" protected abstract String getAppUrl();"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Gets the backdoor key used to authenticate with the back-end."},{"lineNumber":89,"author":{"gitId":"-"},"content":" */"},{"lineNumber":90,"author":{"gitId":"-"},"content":" protected abstract String getBackdoorKey();"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":93,"author":{"gitId":"-"},"content":" * Gets the CSRF key used to authenticate with the back-end."},{"lineNumber":94,"author":{"gitId":"-"},"content":" */"},{"lineNumber":95,"author":{"gitId":"-"},"content":" protected abstract String getCsrfKey();"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Executes GET request with the given {@code relativeUrl}."},{"lineNumber":99,"author":{"gitId":"-"},"content":" *"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * @return The body content and status of the HTTP response"},{"lineNumber":101,"author":{"gitId":"-"},"content":" */"},{"lineNumber":102,"author":{"gitId":"-"},"content":" public ResponseBodyAndCode executeGetRequest(String relativeUrl, Map\u003cString, String\u003e params) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return executeRequest(HttpGet.METHOD_NAME, relativeUrl, params, null);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":107,"author":{"gitId":"-"},"content":" * Executes POST request with the given {@code relativeUrl}."},{"lineNumber":108,"author":{"gitId":"-"},"content":" *"},{"lineNumber":109,"author":{"gitId":"-"},"content":" * @return The body content and status of the HTTP response"},{"lineNumber":110,"author":{"gitId":"-"},"content":" */"},{"lineNumber":111,"author":{"gitId":"-"},"content":" public ResponseBodyAndCode executePostRequest(String relativeUrl, Map\u003cString, String\u003e params, String body) {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" return executeRequest(HttpPost.METHOD_NAME, relativeUrl, params, body);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * Executes PUT request with the given {@code relativeUrl}."},{"lineNumber":117,"author":{"gitId":"-"},"content":" *"},{"lineNumber":118,"author":{"gitId":"-"},"content":" * @return The body content and status of the HTTP response"},{"lineNumber":119,"author":{"gitId":"-"},"content":" */"},{"lineNumber":120,"author":{"gitId":"-"},"content":" public ResponseBodyAndCode executePutRequest(String relativeUrl, Map\u003cString, String\u003e params, String body) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" return executeRequest(HttpPut.METHOD_NAME, relativeUrl, params, body);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" }"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":125,"author":{"gitId":"-"},"content":" * Executes DELETE request with the given {@code relativeUrl}."},{"lineNumber":126,"author":{"gitId":"-"},"content":" *"},{"lineNumber":127,"author":{"gitId":"-"},"content":" * @return The body content and status of the HTTP response"},{"lineNumber":128,"author":{"gitId":"-"},"content":" */"},{"lineNumber":129,"author":{"gitId":"-"},"content":" public ResponseBodyAndCode executeDeleteRequest(String relativeUrl, Map\u003cString, String\u003e params) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" return executeRequest(HttpDelete.METHOD_NAME, relativeUrl, params, null);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":134,"author":{"gitId":"-"},"content":" * Executes HTTP request with the given {@code method} and {@code relativeUrl}."},{"lineNumber":135,"author":{"gitId":"-"},"content":" *"},{"lineNumber":136,"author":{"gitId":"-"},"content":" * @return The content of the HTTP response"},{"lineNumber":137,"author":{"gitId":"-"},"content":" */"},{"lineNumber":138,"author":{"gitId":"-"},"content":" private ResponseBodyAndCode executeRequest("},{"lineNumber":139,"author":{"gitId":"-"},"content":" String method, String relativeUrl, Map\u003cString, String\u003e params, String body) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" String url \u003d getAppUrl() + relativeUrl;"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" HttpRequestBase request;"},{"lineNumber":143,"author":{"gitId":"-"},"content":" switch (method) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" case HttpGet.METHOD_NAME:"},{"lineNumber":145,"author":{"gitId":"-"},"content":" request \u003d createGetRequest(url, params);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" case HttpPost.METHOD_NAME:"},{"lineNumber":148,"author":{"gitId":"-"},"content":" request \u003d createPostRequest(url, params, body);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" case HttpPut.METHOD_NAME:"},{"lineNumber":151,"author":{"gitId":"-"},"content":" request \u003d createPutRequest(url, params, body);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":153,"author":{"gitId":"-"},"content":" case HttpDelete.METHOD_NAME:"},{"lineNumber":154,"author":{"gitId":"-"},"content":" request \u003d createDeleteRequest(url, params);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":157,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unaccepted HTTP method: \" + method);"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" addAuthKeys(request);"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" try (CloseableHttpClient httpClient \u003d HttpClients.createDefault();"},{"lineNumber":163,"author":{"gitId":"-"},"content":" CloseableHttpResponse response \u003d httpClient.execute(request)) {"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" String responseBody \u003d null;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" HttpEntity entity \u003d response.getEntity();"},{"lineNumber":167,"author":{"gitId":"-"},"content":" if (entity !\u003d null) {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" try (BufferedReader br \u003d new BufferedReader("},{"lineNumber":169,"author":{"gitId":"-"},"content":" new InputStreamReader(entity.getContent(), Const.ENCODING))) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" responseBody \u003d br.lines().collect(Collectors.joining(System.lineSeparator()));"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":173,"author":{"gitId":"-"},"content":" return new ResponseBodyAndCode(responseBody, response.getStatusLine().getStatusCode());"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":181,"author":{"gitId":"-"},"content":" * Executes GET request with the given {@code relativeUrl}."},{"lineNumber":182,"author":{"gitId":"-"},"content":" *"},{"lineNumber":183,"author":{"gitId":"-"},"content":" * @return The content of the HTTP response"},{"lineNumber":184,"author":{"gitId":"-"},"content":" */"},{"lineNumber":185,"author":{"gitId":"-"},"content":" private static HttpGet createGetRequest(String url, Map\u003cString, String\u003e params) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" return new HttpGet(createBasicUri(url, params));"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" private static HttpPost createPostRequest(String url, Map\u003cString, String\u003e params, String body) {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" HttpPost post \u003d new HttpPost(createBasicUri(url, params));"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" if (body !\u003d null) {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" StringEntity entity \u003d new StringEntity(body, Const.ENCODING);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" post.setEntity(entity);"},{"lineNumber":195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" return post;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" private static HttpPut createPutRequest(String url, Map\u003cString, String\u003e params, String body) {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" HttpPut put \u003d new HttpPut(createBasicUri(url, params));"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" if (body !\u003d null) {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" StringEntity entity \u003d new StringEntity(body, Const.ENCODING);"},{"lineNumber":205,"author":{"gitId":"-"},"content":" put.setEntity(entity);"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" return put;"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" private static HttpDelete createDeleteRequest(String url, Map\u003cString, String\u003e params) {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" return new HttpDelete(createBasicUri(url, params));"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":" private static URI createBasicUri(String url, Map\u003cString, String\u003e params) {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" List\u003cNameValuePair\u003e postParameters \u003d new ArrayList\u003c\u003e();"},{"lineNumber":217,"author":{"gitId":"-"},"content":" if (params !\u003d null) {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" params.forEach((key, value) -\u003e postParameters.add(new BasicNameValuePair(key, value)));"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" URIBuilder uriBuilder \u003d new URIBuilder(url);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" uriBuilder.addParameters(postParameters);"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" return uriBuilder.build();"},{"lineNumber":226,"author":{"gitId":"-"},"content":" } catch (URISyntaxException e) {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":228,"author":{"gitId":"-"},"content":" }"},{"lineNumber":229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" private void addAuthKeys(HttpRequestBase request) {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" request.addHeader(Const.HeaderNames.BACKDOOR_KEY, getBackdoorKey());"},{"lineNumber":233,"author":{"gitId":"-"},"content":" request.addHeader(Const.HeaderNames.CSRF_KEY, getCsrfKey());"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":237,"author":{"gitId":"-"},"content":" * Removes and restores given data in the database. This method is to be called on test startup."},{"lineNumber":238,"author":{"gitId":"-"},"content":" *"},{"lineNumber":239,"author":{"gitId":"-"},"content":" * \u003cp\u003eNote: The data associated with the test accounts have to be \u003cstrong\u003emanually\u003c/strong\u003e removed by removing the data"},{"lineNumber":240,"author":{"gitId":"-"},"content":" * bundle when a test ends because the test accounts are shared across tests."},{"lineNumber":241,"author":{"gitId":"-"},"content":" *"},{"lineNumber":242,"author":{"gitId":"-"},"content":" * \u003cp\u003eTest data should never be cleared after test in order to prevent incurring additional database costs because the"},{"lineNumber":243,"author":{"gitId":"-"},"content":" * test\u0027s data may not be accessed in another test. Also although unlikely in normal conditions, when a test fail to"},{"lineNumber":244,"author":{"gitId":"-"},"content":" * remove data bundle on teardown, another test should have no reason to fail."},{"lineNumber":245,"author":{"gitId":"-"},"content":" *"},{"lineNumber":246,"author":{"gitId":"-"},"content":" * \u003cp\u003eAnother reason not to remove associated data after a test is that in case of test failures, it helps to have the"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * associated data in the database to debug the failure."},{"lineNumber":248,"author":{"gitId":"-"},"content":" *"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis means that removing the data bundle on startup is not always sufficient because a test only knows how"},{"lineNumber":250,"author":{"gitId":"-"},"content":" * to remove its associated data."},{"lineNumber":251,"author":{"gitId":"-"},"content":" * This is why some tests would fail when they use the same account and use different data."},{"lineNumber":252,"author":{"gitId":"-"},"content":" * Extending this method to remove data outside its associated data would introduce"},{"lineNumber":253,"author":{"gitId":"-"},"content":" * unnecessary complications such as extra costs and knowing exactly how much data to remove. Removing too much data"},{"lineNumber":254,"author":{"gitId":"-"},"content":" * would not just incur higher database costs but we can make tests unexpectedly pass(fail) when the data is expected to"},{"lineNumber":255,"author":{"gitId":"-"},"content":" * be not present(present) in another test."},{"lineNumber":256,"author":{"gitId":"-"},"content":" *"},{"lineNumber":257,"author":{"gitId":"-"},"content":" * \u003cp\u003eTODO: Hence, we need to explicitly remove the data bundle in tests on teardown to avoid instability of tests."},{"lineNumber":258,"author":{"gitId":"-"},"content":" * However, removing the data bundle on teardown manually is not a perfect solution because two tests can concurrently"},{"lineNumber":259,"author":{"gitId":"-"},"content":" * access the same account and their data may get mixed up in the process. This is a major problem we need to address."},{"lineNumber":260,"author":{"gitId":"-"},"content":" */"},{"lineNumber":261,"author":{"gitId":"-"},"content":" public String removeAndRestoreDataBundle(DataBundle dataBundle) throws HttpRequestFailedException {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" removeDataBundle(dataBundle);"},{"lineNumber":263,"author":{"gitId":"-"},"content":" ResponseBodyAndCode putRequestOutput \u003d"},{"lineNumber":264,"author":{"gitId":"-"},"content":" executePostRequest(Const.ResourceURIs.DATABUNDLE, null, JsonUtils.toJson(dataBundle));"},{"lineNumber":265,"author":{"gitId":"-"},"content":" if (putRequestOutput.responseCode !\u003d HttpStatus.SC_OK) {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" throw new HttpRequestFailedException(\"Request failed: [\" + putRequestOutput.responseCode + \"] \""},{"lineNumber":267,"author":{"gitId":"-"},"content":" + putRequestOutput.responseBody);"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":" return putRequestOutput.responseBody;"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":273,"author":{"gitId":"-"},"content":" * Removes and restores given data in the database. This method is to be called on test startup."},{"lineNumber":274,"author":{"gitId":"-"},"content":" */"},{"lineNumber":275,"author":{"gitId":"-"},"content":" public SqlDataBundle removeAndRestoreSqlDataBundle(SqlDataBundle dataBundle) throws HttpRequestFailedException {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" removeSqlDataBundle(dataBundle);"},{"lineNumber":277,"author":{"gitId":"-"},"content":" ResponseBodyAndCode putRequestOutput \u003d"},{"lineNumber":278,"author":{"gitId":"-"},"content":" executePostRequest(Const.ResourceURIs.SQL_DATABUNDLE, null, JsonUtils.toJson(dataBundle));"},{"lineNumber":279,"author":{"gitId":"-"},"content":" if (putRequestOutput.responseCode !\u003d HttpStatus.SC_OK) {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" throw new HttpRequestFailedException(\"Request failed: [\" + putRequestOutput.responseCode + \"] \""},{"lineNumber":281,"author":{"gitId":"-"},"content":" + putRequestOutput.responseBody);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" }"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" JsonObject jsonObject \u003d JsonParser.parseString(putRequestOutput.responseBody).getAsJsonObject();"},{"lineNumber":285,"author":{"gitId":"-"},"content":" // data bundle is nested under message key"},{"lineNumber":286,"author":{"gitId":"-"},"content":" String message \u003d jsonObject.get(\"message\").getAsString();"},{"lineNumber":287,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(message, SqlDataBundle.class);"},{"lineNumber":288,"author":{"gitId":"-"},"content":" }"},{"lineNumber":289,"author":{"gitId":"-"},"content":""},{"lineNumber":290,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":291,"author":{"gitId":"-"},"content":" * Removes given data from the database."},{"lineNumber":292,"author":{"gitId":"-"},"content":" *"},{"lineNumber":293,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf given entities have already been deleted, it fails silently."},{"lineNumber":294,"author":{"gitId":"-"},"content":" */"},{"lineNumber":295,"author":{"gitId":"-"},"content":" public void removeDataBundle(DataBundle dataBundle) {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" executePutRequest(Const.ResourceURIs.DATABUNDLE, null, JsonUtils.toJson(dataBundle));"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":300,"author":{"gitId":"-"},"content":" * Removes given data from the database."},{"lineNumber":301,"author":{"gitId":"-"},"content":" *"},{"lineNumber":302,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf given entities have already been deleted, it fails silently."},{"lineNumber":303,"author":{"gitId":"-"},"content":" */"},{"lineNumber":304,"author":{"gitId":"-"},"content":" public void removeSqlDataBundle(SqlDataBundle dataBundle) {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" executePutRequest(Const.ResourceURIs.SQL_DATABUNDLE, null, JsonUtils.toJson(dataBundle));"},{"lineNumber":306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":309,"author":{"gitId":"-"},"content":" * Gets the cookie format for the given user ID."},{"lineNumber":310,"author":{"gitId":"-"},"content":" */"},{"lineNumber":311,"author":{"gitId":"-"},"content":" public String getUserCookie(String userId) {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":313,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.USER_ID, userId);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executePostRequest(Const.ResourceURIs.USER_COOKIE, params, null);"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" MessageOutput output \u003d JsonUtils.fromJson(response.responseBody, MessageOutput.class);"},{"lineNumber":317,"author":{"gitId":"-"},"content":" return output.getMessage();"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"dishenggg"},"content":" // TODO: remove params after migration"},{"lineNumber":321,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":322,"author":{"gitId":"-"},"content":" * Puts searchable documents in data bundle into the database."},{"lineNumber":323,"author":{"gitId":"-"},"content":" */"},{"lineNumber":324,"author":{"gitId":"-"},"content":" public String putDocuments(DataBundle dataBundle) throws HttpRequestFailedException {"},{"lineNumber":325,"author":{"gitId":"dishenggg"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":326,"author":{"gitId":"dishenggg"},"content":" params.put(\"databundletype\", \"datastore\");"},{"lineNumber":327,"author":{"gitId":"-"},"content":" ResponseBodyAndCode putRequestOutput \u003d"},{"lineNumber":328,"author":{"gitId":"dishenggg"},"content":" executePutRequest(Const.ResourceURIs.DATABUNDLE_DOCUMENTS, params, JsonUtils.toJson(dataBundle));"},{"lineNumber":329,"author":{"gitId":"-"},"content":" if (putRequestOutput.responseCode !\u003d HttpStatus.SC_OK) {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" throw new HttpRequestFailedException(\"Request failed: [\" + putRequestOutput.responseCode + \"] \""},{"lineNumber":331,"author":{"gitId":"-"},"content":" + putRequestOutput.responseBody);"},{"lineNumber":332,"author":{"gitId":"-"},"content":" }"},{"lineNumber":333,"author":{"gitId":"-"},"content":" return putRequestOutput.responseBody;"},{"lineNumber":334,"author":{"gitId":"-"},"content":" }"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"dishenggg"},"content":" // TODO: remove method after migration"},{"lineNumber":337,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":338,"author":{"gitId":"dishenggg"},"content":" * Puts searchable documents in data bundle into the SQL database."},{"lineNumber":339,"author":{"gitId":"-"},"content":" */"},{"lineNumber":340,"author":{"gitId":"dishenggg"},"content":" public String putSqlDocuments(SqlDataBundle dataBundle) throws HttpRequestFailedException {"},{"lineNumber":341,"author":{"gitId":"dishenggg"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":342,"author":{"gitId":"dishenggg"},"content":" params.put(\"databundletype\", \"sql\");"},{"lineNumber":343,"author":{"gitId":"-"},"content":" ResponseBodyAndCode putRequestOutput \u003d"},{"lineNumber":344,"author":{"gitId":"dishenggg"},"content":" executePutRequest(Const.ResourceURIs.DATABUNDLE_DOCUMENTS, params, JsonUtils.toJson(dataBundle));"},{"lineNumber":345,"author":{"gitId":"-"},"content":" if (putRequestOutput.responseCode !\u003d HttpStatus.SC_OK) {"},{"lineNumber":346,"author":{"gitId":"-"},"content":" throw new HttpRequestFailedException(\"Request failed: [\" + putRequestOutput.responseCode + \"] \""},{"lineNumber":347,"author":{"gitId":"-"},"content":" + putRequestOutput.responseBody);"},{"lineNumber":348,"author":{"gitId":"-"},"content":" }"},{"lineNumber":349,"author":{"gitId":"-"},"content":" return putRequestOutput.responseBody;"},{"lineNumber":350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":353,"author":{"gitId":"-"},"content":" * Gets account data from the database."},{"lineNumber":354,"author":{"gitId":"-"},"content":" */"},{"lineNumber":355,"author":{"gitId":"-"},"content":" public AccountData getAccountData(String googleId) {"},{"lineNumber":356,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":357,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INSTRUCTOR_ID, googleId);"},{"lineNumber":358,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.ACCOUNT, params);"},{"lineNumber":359,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":361,"author":{"gitId":"-"},"content":" }"},{"lineNumber":362,"author":{"gitId":"-"},"content":""},{"lineNumber":363,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(response.responseBody, AccountData.class);"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":367,"author":{"gitId":"-"},"content":" * Gets an account from the database."},{"lineNumber":368,"author":{"gitId":"-"},"content":" */"},{"lineNumber":369,"author":{"gitId":"-"},"content":" public AccountAttributes getAccount(String googleId) {"},{"lineNumber":370,"author":{"gitId":"-"},"content":" AccountData accountData \u003d getAccountData(googleId);"},{"lineNumber":371,"author":{"gitId":"-"},"content":" return AccountAttributes.builder(accountData.getGoogleId())"},{"lineNumber":372,"author":{"gitId":"-"},"content":" .withName(accountData.getName())"},{"lineNumber":373,"author":{"gitId":"-"},"content":" .withEmail(accountData.getEmail())"},{"lineNumber":374,"author":{"gitId":"-"},"content":" .withReadNotifications("},{"lineNumber":375,"author":{"gitId":"-"},"content":" accountData.getReadNotifications()"},{"lineNumber":376,"author":{"gitId":"-"},"content":" .entrySet()"},{"lineNumber":377,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":378,"author":{"gitId":"-"},"content":" .collect(Collectors.toMap("},{"lineNumber":379,"author":{"gitId":"-"},"content":" e -\u003e e.getKey(),"},{"lineNumber":380,"author":{"gitId":"-"},"content":" e -\u003e Instant.ofEpochMilli(e.getValue())"},{"lineNumber":381,"author":{"gitId":"-"},"content":" ))"},{"lineNumber":382,"author":{"gitId":"-"},"content":" )"},{"lineNumber":383,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":387,"author":{"gitId":"-"},"content":" * Gets course data from the database."},{"lineNumber":388,"author":{"gitId":"-"},"content":" */"},{"lineNumber":389,"author":{"gitId":"-"},"content":" public CourseData getCourseData(String courseId) {"},{"lineNumber":390,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":391,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":392,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.COURSE, params);"},{"lineNumber":393,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":394,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":395,"author":{"gitId":"-"},"content":" }"},{"lineNumber":396,"author":{"gitId":"-"},"content":""},{"lineNumber":397,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(response.responseBody, CourseData.class);"},{"lineNumber":398,"author":{"gitId":"-"},"content":" }"},{"lineNumber":399,"author":{"gitId":"-"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":401,"author":{"gitId":"-"},"content":" * Gets a course from the database."},{"lineNumber":402,"author":{"gitId":"-"},"content":" */"},{"lineNumber":403,"author":{"gitId":"-"},"content":" public CourseAttributes getCourse(String courseId) {"},{"lineNumber":404,"author":{"gitId":"-"},"content":" CourseData courseData \u003d getCourseData(courseId);"},{"lineNumber":405,"author":{"gitId":"-"},"content":" if (courseData \u003d\u003d null) {"},{"lineNumber":406,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":407,"author":{"gitId":"-"},"content":" }"},{"lineNumber":408,"author":{"gitId":"-"},"content":" return CourseAttributes.builder(courseData.getCourseId())"},{"lineNumber":409,"author":{"gitId":"-"},"content":" .withName(courseData.getCourseName())"},{"lineNumber":410,"author":{"gitId":"-"},"content":" .withTimezone(courseData.getTimeZone())"},{"lineNumber":411,"author":{"gitId":"-"},"content":" .withInstitute(courseData.getInstitute())"},{"lineNumber":412,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":413,"author":{"gitId":"-"},"content":" }"},{"lineNumber":414,"author":{"gitId":"-"},"content":""},{"lineNumber":415,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":416,"author":{"gitId":"-"},"content":" * Gets archived course data from the database."},{"lineNumber":417,"author":{"gitId":"-"},"content":" */"},{"lineNumber":418,"author":{"gitId":"-"},"content":" public CourseData getArchivedCourseData(String instructorId, String courseId) {"},{"lineNumber":419,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":420,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.USER_ID, instructorId);"},{"lineNumber":421,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":422,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR);"},{"lineNumber":423,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_STATUS, Const.CourseStatus.ARCHIVED);"},{"lineNumber":424,"author":{"gitId":"-"},"content":""},{"lineNumber":425,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.COURSES, params);"},{"lineNumber":426,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":428,"author":{"gitId":"-"},"content":" }"},{"lineNumber":429,"author":{"gitId":"-"},"content":""},{"lineNumber":430,"author":{"gitId":"-"},"content":" CoursesData coursesData \u003d JsonUtils.fromJson(response.responseBody, CoursesData.class);"},{"lineNumber":431,"author":{"gitId":"-"},"content":" CourseData courseData \u003d coursesData.getCourses()"},{"lineNumber":432,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":433,"author":{"gitId":"-"},"content":" .filter(cd -\u003e cd.getCourseId().equals(courseId))"},{"lineNumber":434,"author":{"gitId":"-"},"content":" .findFirst()"},{"lineNumber":435,"author":{"gitId":"-"},"content":" .orElse(null);"},{"lineNumber":436,"author":{"gitId":"-"},"content":""},{"lineNumber":437,"author":{"gitId":"-"},"content":" if (courseData \u003d\u003d null) {"},{"lineNumber":438,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":439,"author":{"gitId":"-"},"content":" }"},{"lineNumber":440,"author":{"gitId":"-"},"content":""},{"lineNumber":441,"author":{"gitId":"-"},"content":" return courseData;"},{"lineNumber":442,"author":{"gitId":"-"},"content":" }"},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":445,"author":{"gitId":"-"},"content":" * Gets a archived course from the database."},{"lineNumber":446,"author":{"gitId":"-"},"content":" */"},{"lineNumber":447,"author":{"gitId":"-"},"content":" public CourseAttributes getArchivedCourse(String instructorId, String courseId) {"},{"lineNumber":448,"author":{"gitId":"-"},"content":" CourseData courseData \u003d getArchivedCourseData(instructorId, courseId);"},{"lineNumber":449,"author":{"gitId":"-"},"content":" if (courseData \u003d\u003d null) {"},{"lineNumber":450,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":451,"author":{"gitId":"-"},"content":" }"},{"lineNumber":452,"author":{"gitId":"-"},"content":" return CourseAttributes.builder(courseData.getCourseId())"},{"lineNumber":453,"author":{"gitId":"-"},"content":" .withName(courseData.getCourseName())"},{"lineNumber":454,"author":{"gitId":"-"},"content":" .withTimezone(courseData.getTimeZone())"},{"lineNumber":455,"author":{"gitId":"-"},"content":" .withInstitute(courseData.getInstitute())"},{"lineNumber":456,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":457,"author":{"gitId":"-"},"content":" }"},{"lineNumber":458,"author":{"gitId":"-"},"content":""},{"lineNumber":459,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":460,"author":{"gitId":"-"},"content":" * Returns true if the course exists and is in recycle bin."},{"lineNumber":461,"author":{"gitId":"-"},"content":" */"},{"lineNumber":462,"author":{"gitId":"-"},"content":" public boolean isCourseInRecycleBin(String courseId) {"},{"lineNumber":463,"author":{"gitId":"-"},"content":" CourseData courseData \u003d getCourseData(courseId);"},{"lineNumber":464,"author":{"gitId":"-"},"content":" if (courseData \u003d\u003d null) {"},{"lineNumber":465,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":466,"author":{"gitId":"-"},"content":" }"},{"lineNumber":467,"author":{"gitId":"-"},"content":" return courseData.getDeletionTimestamp() !\u003d 0;"},{"lineNumber":468,"author":{"gitId":"-"},"content":" }"},{"lineNumber":469,"author":{"gitId":"-"},"content":""},{"lineNumber":470,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":471,"author":{"gitId":"-"},"content":" * Gets instructor data from the database."},{"lineNumber":472,"author":{"gitId":"-"},"content":" */"},{"lineNumber":473,"author":{"gitId":"-"},"content":" public InstructorData getInstructorData(String courseId, String email) {"},{"lineNumber":474,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":475,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":476,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString());"},{"lineNumber":477,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.INSTRUCTORS, params);"},{"lineNumber":478,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":479,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":480,"author":{"gitId":"-"},"content":" }"},{"lineNumber":481,"author":{"gitId":"-"},"content":""},{"lineNumber":482,"author":{"gitId":"-"},"content":" InstructorsData instructorsData \u003d JsonUtils.fromJson(response.responseBody, InstructorsData.class);"},{"lineNumber":483,"author":{"gitId":"-"},"content":" InstructorData instructorData \u003d instructorsData.getInstructors()"},{"lineNumber":484,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":485,"author":{"gitId":"-"},"content":" .filter(instructor -\u003e instructor.getEmail().equals(email))"},{"lineNumber":486,"author":{"gitId":"-"},"content":" .findFirst()"},{"lineNumber":487,"author":{"gitId":"-"},"content":" .orElse(null);"},{"lineNumber":488,"author":{"gitId":"-"},"content":""},{"lineNumber":489,"author":{"gitId":"-"},"content":" if (instructorData \u003d\u003d null) {"},{"lineNumber":490,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":491,"author":{"gitId":"-"},"content":" }"},{"lineNumber":492,"author":{"gitId":"-"},"content":""},{"lineNumber":493,"author":{"gitId":"-"},"content":" return instructorData;"},{"lineNumber":494,"author":{"gitId":"-"},"content":" }"},{"lineNumber":495,"author":{"gitId":"-"},"content":""},{"lineNumber":496,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":497,"author":{"gitId":"-"},"content":" * Get instructor from database. Does not include certain fields like InstructorPrivileges."},{"lineNumber":498,"author":{"gitId":"-"},"content":" */"},{"lineNumber":499,"author":{"gitId":"-"},"content":" public InstructorAttributes getInstructor(String courseId, String instructorEmail) {"},{"lineNumber":500,"author":{"gitId":"-"},"content":" InstructorData instructorData \u003d getInstructorData(courseId, instructorEmail);"},{"lineNumber":501,"author":{"gitId":"-"},"content":" if (instructorData \u003d\u003d null) {"},{"lineNumber":502,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":503,"author":{"gitId":"-"},"content":" }"},{"lineNumber":504,"author":{"gitId":"-"},"content":" InstructorAttributes.Builder instructor \u003d InstructorAttributes.builder(instructorData.getCourseId(),"},{"lineNumber":505,"author":{"gitId":"-"},"content":" instructorData.getEmail());"},{"lineNumber":506,"author":{"gitId":"-"},"content":" if (instructorData.getGoogleId() !\u003d null) {"},{"lineNumber":507,"author":{"gitId":"-"},"content":" instructor.withGoogleId(instructorData.getGoogleId());"},{"lineNumber":508,"author":{"gitId":"-"},"content":" }"},{"lineNumber":509,"author":{"gitId":"-"},"content":" if (instructorData.getName() !\u003d null) {"},{"lineNumber":510,"author":{"gitId":"-"},"content":" instructor.withName(instructorData.getName());"},{"lineNumber":511,"author":{"gitId":"-"},"content":" }"},{"lineNumber":512,"author":{"gitId":"-"},"content":" if (instructorData.getRole() !\u003d null) {"},{"lineNumber":513,"author":{"gitId":"-"},"content":" instructor.withRole(instructorData.getRole().getRoleName());"},{"lineNumber":514,"author":{"gitId":"-"},"content":" }"},{"lineNumber":515,"author":{"gitId":"-"},"content":" if (instructorData.getIsDisplayedToStudents() !\u003d null) {"},{"lineNumber":516,"author":{"gitId":"-"},"content":" instructor.withIsDisplayedToStudents(instructorData.getIsDisplayedToStudents());"},{"lineNumber":517,"author":{"gitId":"-"},"content":" }"},{"lineNumber":518,"author":{"gitId":"-"},"content":" if (instructorData.getDisplayedToStudentsAs() !\u003d null) {"},{"lineNumber":519,"author":{"gitId":"-"},"content":" instructor.withDisplayedName(instructorData.getDisplayedToStudentsAs());"},{"lineNumber":520,"author":{"gitId":"-"},"content":" }"},{"lineNumber":521,"author":{"gitId":"-"},"content":" InstructorAttributes instructorAttributes \u003d instructor.build();"},{"lineNumber":522,"author":{"gitId":"-"},"content":" if (instructorData.getKey() !\u003d null) {"},{"lineNumber":523,"author":{"gitId":"-"},"content":" instructorAttributes.setKey(instructorData.getKey());"},{"lineNumber":524,"author":{"gitId":"-"},"content":" }"},{"lineNumber":525,"author":{"gitId":"-"},"content":" return instructorAttributes;"},{"lineNumber":526,"author":{"gitId":"-"},"content":" }"},{"lineNumber":527,"author":{"gitId":"-"},"content":""},{"lineNumber":528,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":529,"author":{"gitId":"-"},"content":" * Gets student data from the database."},{"lineNumber":530,"author":{"gitId":"-"},"content":" */"},{"lineNumber":531,"author":{"gitId":"-"},"content":" public StudentData getStudentData(String courseId, String studentEmail) {"},{"lineNumber":532,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":533,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":534,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.STUDENT_EMAIL, studentEmail);"},{"lineNumber":535,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.STUDENT, params);"},{"lineNumber":536,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":537,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":538,"author":{"gitId":"-"},"content":" }"},{"lineNumber":539,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(response.responseBody, StudentData.class);"},{"lineNumber":540,"author":{"gitId":"-"},"content":" }"},{"lineNumber":541,"author":{"gitId":"-"},"content":""},{"lineNumber":542,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":543,"author":{"gitId":"-"},"content":" * Get student from database."},{"lineNumber":544,"author":{"gitId":"-"},"content":" */"},{"lineNumber":545,"author":{"gitId":"-"},"content":" public StudentAttributes getStudent(String courseId, String studentEmail) {"},{"lineNumber":546,"author":{"gitId":"-"},"content":" StudentData studentData \u003d getStudentData(courseId, studentEmail);"},{"lineNumber":547,"author":{"gitId":"-"},"content":" if (studentData \u003d\u003d null) {"},{"lineNumber":548,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":549,"author":{"gitId":"-"},"content":" }"},{"lineNumber":550,"author":{"gitId":"-"},"content":" StudentAttributes.Builder builder \u003d StudentAttributes.builder(studentData.getCourseId(),"},{"lineNumber":551,"author":{"gitId":"-"},"content":" studentData.getEmail());"},{"lineNumber":552,"author":{"gitId":"-"},"content":" if (studentData.getGoogleId() !\u003d null) {"},{"lineNumber":553,"author":{"gitId":"-"},"content":" builder.withGoogleId(studentData.getGoogleId());"},{"lineNumber":554,"author":{"gitId":"-"},"content":" }"},{"lineNumber":555,"author":{"gitId":"-"},"content":" if (studentData.getName() !\u003d null) {"},{"lineNumber":556,"author":{"gitId":"-"},"content":" builder.withName(studentData.getName());"},{"lineNumber":557,"author":{"gitId":"-"},"content":" }"},{"lineNumber":558,"author":{"gitId":"-"},"content":" if (studentData.getSectionName() !\u003d null) {"},{"lineNumber":559,"author":{"gitId":"-"},"content":" builder.withSectionName(studentData.getSectionName());"},{"lineNumber":560,"author":{"gitId":"-"},"content":" }"},{"lineNumber":561,"author":{"gitId":"-"},"content":" if (studentData.getTeamName() !\u003d null) {"},{"lineNumber":562,"author":{"gitId":"-"},"content":" builder.withTeamName(studentData.getTeamName());"},{"lineNumber":563,"author":{"gitId":"-"},"content":" }"},{"lineNumber":564,"author":{"gitId":"-"},"content":" if (studentData.getComments() !\u003d null) {"},{"lineNumber":565,"author":{"gitId":"-"},"content":" builder.withComment(studentData.getComments());"},{"lineNumber":566,"author":{"gitId":"-"},"content":" }"},{"lineNumber":567,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d builder.build();"},{"lineNumber":568,"author":{"gitId":"-"},"content":" if (studentData.getKey() !\u003d null) {"},{"lineNumber":569,"author":{"gitId":"-"},"content":" student.setKey(studentData.getKey());"},{"lineNumber":570,"author":{"gitId":"-"},"content":" }"},{"lineNumber":571,"author":{"gitId":"-"},"content":" return student;"},{"lineNumber":572,"author":{"gitId":"-"},"content":" }"},{"lineNumber":573,"author":{"gitId":"-"},"content":""},{"lineNumber":574,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":575,"author":{"gitId":"-"},"content":" * Get feedback session data from database."},{"lineNumber":576,"author":{"gitId":"-"},"content":" */"},{"lineNumber":577,"author":{"gitId":"-"},"content":" public FeedbackSessionData getFeedbackSessionData(String courseId, String feedbackSessionName) {"},{"lineNumber":578,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":579,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":580,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSessionName);"},{"lineNumber":581,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString());"},{"lineNumber":582,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.SESSION, params);"},{"lineNumber":583,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":584,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":585,"author":{"gitId":"-"},"content":" }"},{"lineNumber":586,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(response.responseBody, FeedbackSessionData.class);"},{"lineNumber":587,"author":{"gitId":"-"},"content":" }"},{"lineNumber":588,"author":{"gitId":"-"},"content":""},{"lineNumber":589,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":590,"author":{"gitId":"-"},"content":" * Get feedback session from database."},{"lineNumber":591,"author":{"gitId":"-"},"content":" */"},{"lineNumber":592,"author":{"gitId":"-"},"content":" public FeedbackSessionAttributes getFeedbackSession(String courseId, String feedbackSessionName) {"},{"lineNumber":593,"author":{"gitId":"-"},"content":" FeedbackSessionData sessionData \u003d getFeedbackSessionData(courseId, feedbackSessionName);"},{"lineNumber":594,"author":{"gitId":"-"},"content":" if (sessionData \u003d\u003d null) {"},{"lineNumber":595,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":596,"author":{"gitId":"-"},"content":" }"},{"lineNumber":597,"author":{"gitId":"-"},"content":""},{"lineNumber":598,"author":{"gitId":"-"},"content":" Map\u003cString, Instant\u003e studentDeadlines \u003d"},{"lineNumber":599,"author":{"gitId":"-"},"content":" convertDeadlinesToInstant(sessionData.getStudentDeadlines(), sessionData.getTimeZone());"},{"lineNumber":600,"author":{"gitId":"-"},"content":" Map\u003cString, Instant\u003e instructorDeadlines \u003d"},{"lineNumber":601,"author":{"gitId":"-"},"content":" convertDeadlinesToInstant(sessionData.getInstructorDeadlines(), sessionData.getTimeZone());"},{"lineNumber":602,"author":{"gitId":"-"},"content":""},{"lineNumber":603,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes sessionAttributes \u003d FeedbackSessionAttributes"},{"lineNumber":604,"author":{"gitId":"-"},"content":" .builder(sessionData.getFeedbackSessionName(), sessionData.getCourseId())"},{"lineNumber":605,"author":{"gitId":"-"},"content":" .withInstructions(sessionData.getInstructions())"},{"lineNumber":606,"author":{"gitId":"-"},"content":" .withStartTime(Instant.ofEpochMilli(sessionData.getSubmissionStartTimestamp()))"},{"lineNumber":607,"author":{"gitId":"-"},"content":" .withEndTime(Instant.ofEpochMilli(sessionData.getSubmissionEndTimestamp()))"},{"lineNumber":608,"author":{"gitId":"-"},"content":" .withTimeZone(sessionData.getTimeZone())"},{"lineNumber":609,"author":{"gitId":"-"},"content":" .withGracePeriod(Duration.ofMinutes(sessionData.getGracePeriod()))"},{"lineNumber":610,"author":{"gitId":"-"},"content":" .withIsClosingEmailEnabled(sessionData.getIsClosingEmailEnabled())"},{"lineNumber":611,"author":{"gitId":"-"},"content":" .withIsPublishedEmailEnabled(sessionData.getIsPublishedEmailEnabled())"},{"lineNumber":612,"author":{"gitId":"-"},"content":" .withStudentDeadlines(studentDeadlines)"},{"lineNumber":613,"author":{"gitId":"-"},"content":" .withInstructorDeadlines(instructorDeadlines)"},{"lineNumber":614,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":615,"author":{"gitId":"-"},"content":""},{"lineNumber":616,"author":{"gitId":"-"},"content":" sessionAttributes.setCreatedTime(Instant.ofEpochMilli(sessionData.getCreatedAtTimestamp()));"},{"lineNumber":617,"author":{"gitId":"-"},"content":""},{"lineNumber":618,"author":{"gitId":"-"},"content":" if (sessionData.getSessionVisibleSetting().equals(SessionVisibleSetting.AT_OPEN)) {"},{"lineNumber":619,"author":{"gitId":"-"},"content":" sessionAttributes.setSessionVisibleFromTime(Const.TIME_REPRESENTS_FOLLOW_OPENING);"},{"lineNumber":620,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":621,"author":{"gitId":"-"},"content":" sessionAttributes.setSessionVisibleFromTime(Instant.ofEpochMilli("},{"lineNumber":622,"author":{"gitId":"-"},"content":" sessionData.getCustomSessionVisibleTimestamp()));"},{"lineNumber":623,"author":{"gitId":"-"},"content":" }"},{"lineNumber":624,"author":{"gitId":"-"},"content":""},{"lineNumber":625,"author":{"gitId":"-"},"content":" if (sessionData.getResponseVisibleSetting().equals(ResponseVisibleSetting.AT_VISIBLE)) {"},{"lineNumber":626,"author":{"gitId":"-"},"content":" sessionAttributes.setResultsVisibleFromTime(Const.TIME_REPRESENTS_FOLLOW_VISIBLE);"},{"lineNumber":627,"author":{"gitId":"-"},"content":" } else if (sessionData.getResponseVisibleSetting().equals(ResponseVisibleSetting.LATER)) {"},{"lineNumber":628,"author":{"gitId":"-"},"content":" sessionAttributes.setResultsVisibleFromTime(Const.TIME_REPRESENTS_LATER);"},{"lineNumber":629,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":630,"author":{"gitId":"-"},"content":" sessionAttributes.setResultsVisibleFromTime(Instant.ofEpochMilli("},{"lineNumber":631,"author":{"gitId":"-"},"content":" sessionData.getCustomResponseVisibleTimestamp()));"},{"lineNumber":632,"author":{"gitId":"-"},"content":" }"},{"lineNumber":633,"author":{"gitId":"-"},"content":""},{"lineNumber":634,"author":{"gitId":"-"},"content":" return sessionAttributes;"},{"lineNumber":635,"author":{"gitId":"-"},"content":" }"},{"lineNumber":636,"author":{"gitId":"-"},"content":""},{"lineNumber":637,"author":{"gitId":"-"},"content":" private Map\u003cString, Instant\u003e convertDeadlinesToInstant(Map\u003cString, Long\u003e deadlines, String timezone) {"},{"lineNumber":638,"author":{"gitId":"-"},"content":" return deadlines.entrySet()"},{"lineNumber":639,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":640,"author":{"gitId":"-"},"content":" .collect(Collectors.toMap(Map.Entry::getKey, entry -\u003e {"},{"lineNumber":641,"author":{"gitId":"-"},"content":" Instant deadline \u003d Instant.ofEpochMilli(entry.getValue());"},{"lineNumber":642,"author":{"gitId":"-"},"content":" return TimeHelper.getMidnightAdjustedInstantBasedOnZone(deadline, timezone, true);"},{"lineNumber":643,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":644,"author":{"gitId":"-"},"content":" }"},{"lineNumber":645,"author":{"gitId":"-"},"content":""},{"lineNumber":646,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":647,"author":{"gitId":"-"},"content":" * Get soft deleted feedback session from database."},{"lineNumber":648,"author":{"gitId":"-"},"content":" */"},{"lineNumber":649,"author":{"gitId":"-"},"content":" public FeedbackSessionAttributes getSoftDeletedSession(String feedbackSessionName, String instructorId) {"},{"lineNumber":650,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":651,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR);"},{"lineNumber":652,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.IS_IN_RECYCLE_BIN, \"true\");"},{"lineNumber":653,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.USER_ID, instructorId);"},{"lineNumber":654,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.SESSIONS, params);"},{"lineNumber":655,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":656,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":657,"author":{"gitId":"-"},"content":" }"},{"lineNumber":658,"author":{"gitId":"-"},"content":""},{"lineNumber":659,"author":{"gitId":"-"},"content":" FeedbackSessionsData sessionsData \u003d JsonUtils.fromJson(response.responseBody, FeedbackSessionsData.class);"},{"lineNumber":660,"author":{"gitId":"-"},"content":" FeedbackSessionData feedbackSession \u003d sessionsData.getFeedbackSessions()"},{"lineNumber":661,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":662,"author":{"gitId":"-"},"content":" .filter(fs -\u003e fs.getFeedbackSessionName().equals(feedbackSessionName))"},{"lineNumber":663,"author":{"gitId":"-"},"content":" .findFirst()"},{"lineNumber":664,"author":{"gitId":"-"},"content":" .orElse(null);"},{"lineNumber":665,"author":{"gitId":"-"},"content":""},{"lineNumber":666,"author":{"gitId":"-"},"content":" if (feedbackSession \u003d\u003d null) {"},{"lineNumber":667,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":668,"author":{"gitId":"-"},"content":" }"},{"lineNumber":669,"author":{"gitId":"-"},"content":""},{"lineNumber":670,"author":{"gitId":"-"},"content":" return FeedbackSessionAttributes"},{"lineNumber":671,"author":{"gitId":"-"},"content":" .builder(feedbackSession.getCourseId(), feedbackSession.getFeedbackSessionName())"},{"lineNumber":672,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":673,"author":{"gitId":"-"},"content":" }"},{"lineNumber":674,"author":{"gitId":"-"},"content":""},{"lineNumber":675,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":676,"author":{"gitId":"-"},"content":" * Get feedback question data from database."},{"lineNumber":677,"author":{"gitId":"-"},"content":" */"},{"lineNumber":678,"author":{"gitId":"-"},"content":" public FeedbackQuestionData getFeedbackQuestionData(String courseId, String feedbackSessionName,"},{"lineNumber":679,"author":{"gitId":"-"},"content":" int qnNumber) {"},{"lineNumber":680,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":681,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":682,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSessionName);"},{"lineNumber":683,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString());"},{"lineNumber":684,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.QUESTIONS, params);"},{"lineNumber":685,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":686,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":687,"author":{"gitId":"-"},"content":" }"},{"lineNumber":688,"author":{"gitId":"-"},"content":""},{"lineNumber":689,"author":{"gitId":"-"},"content":" FeedbackQuestionsData questionsData \u003d JsonUtils.fromJson(response.responseBody, FeedbackQuestionsData.class);"},{"lineNumber":690,"author":{"gitId":"-"},"content":" return questionsData.getQuestions()"},{"lineNumber":691,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":692,"author":{"gitId":"-"},"content":" .filter(fq -\u003e fq.getQuestionNumber() \u003d\u003d qnNumber)"},{"lineNumber":693,"author":{"gitId":"-"},"content":" .findFirst()"},{"lineNumber":694,"author":{"gitId":"-"},"content":" .orElse(null);"},{"lineNumber":695,"author":{"gitId":"-"},"content":" }"},{"lineNumber":696,"author":{"gitId":"-"},"content":""},{"lineNumber":697,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":698,"author":{"gitId":"-"},"content":" * Get feedback question from database."},{"lineNumber":699,"author":{"gitId":"-"},"content":" */"},{"lineNumber":700,"author":{"gitId":"-"},"content":" public FeedbackQuestionAttributes getFeedbackQuestion(String courseId, String feedbackSessionName,"},{"lineNumber":701,"author":{"gitId":"-"},"content":" int qnNumber) {"},{"lineNumber":702,"author":{"gitId":"-"},"content":" FeedbackQuestionData question \u003d getFeedbackQuestionData(courseId, feedbackSessionName, qnNumber);"},{"lineNumber":703,"author":{"gitId":"-"},"content":""},{"lineNumber":704,"author":{"gitId":"-"},"content":" if (question \u003d\u003d null) {"},{"lineNumber":705,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":706,"author":{"gitId":"-"},"content":" }"},{"lineNumber":707,"author":{"gitId":"-"},"content":""},{"lineNumber":708,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes questionAttr \u003d FeedbackQuestionAttributes.builder()"},{"lineNumber":709,"author":{"gitId":"-"},"content":" .withCourseId(courseId)"},{"lineNumber":710,"author":{"gitId":"-"},"content":" .withFeedbackSessionName(feedbackSessionName)"},{"lineNumber":711,"author":{"gitId":"-"},"content":" .withQuestionDetails(question.getQuestionDetails())"},{"lineNumber":712,"author":{"gitId":"-"},"content":" .withQuestionDescription(question.getQuestionDescription())"},{"lineNumber":713,"author":{"gitId":"-"},"content":" .withQuestionNumber(question.getQuestionNumber())"},{"lineNumber":714,"author":{"gitId":"-"},"content":" .withGiverType(question.getGiverType())"},{"lineNumber":715,"author":{"gitId":"-"},"content":" .withRecipientType(question.getRecipientType())"},{"lineNumber":716,"author":{"gitId":"-"},"content":" .withNumberOfEntitiesToGiveFeedbackTo(question.getNumberOfEntitiesToGiveFeedbackToSetting()"},{"lineNumber":717,"author":{"gitId":"-"},"content":" .equals(NumberOfEntitiesToGiveFeedbackToSetting.UNLIMITED)"},{"lineNumber":718,"author":{"gitId":"-"},"content":" ? Const.MAX_POSSIBLE_RECIPIENTS"},{"lineNumber":719,"author":{"gitId":"-"},"content":" : question.getCustomNumberOfEntitiesToGiveFeedbackTo())"},{"lineNumber":720,"author":{"gitId":"-"},"content":" .withShowResponsesTo(convertToFeedbackParticipantType(question.getShowResponsesTo()))"},{"lineNumber":721,"author":{"gitId":"-"},"content":" .withShowGiverNameTo(convertToFeedbackParticipantType(question.getShowGiverNameTo()))"},{"lineNumber":722,"author":{"gitId":"-"},"content":" .withShowRecipientNameTo(convertToFeedbackParticipantType(question.getShowRecipientNameTo()))"},{"lineNumber":723,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":724,"author":{"gitId":"-"},"content":" if (question.getFeedbackQuestionId() !\u003d null) {"},{"lineNumber":725,"author":{"gitId":"-"},"content":" questionAttr.setId(question.getFeedbackQuestionId());"},{"lineNumber":726,"author":{"gitId":"-"},"content":" }"},{"lineNumber":727,"author":{"gitId":"-"},"content":" return questionAttr;"},{"lineNumber":728,"author":{"gitId":"-"},"content":" }"},{"lineNumber":729,"author":{"gitId":"-"},"content":""},{"lineNumber":730,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":731,"author":{"gitId":"-"},"content":" * Converts List of FeedbackParticipantType to sorted List of FeedbackVisibilityType."},{"lineNumber":732,"author":{"gitId":"-"},"content":" */"},{"lineNumber":733,"author":{"gitId":"-"},"content":" private static List\u003cFeedbackParticipantType\u003e convertToFeedbackParticipantType("},{"lineNumber":734,"author":{"gitId":"-"},"content":" List\u003cFeedbackVisibilityType\u003e feedbackVisibilityTypeList) {"},{"lineNumber":735,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e feedbackParticipantTypeList \u003d feedbackVisibilityTypeList.stream()"},{"lineNumber":736,"author":{"gitId":"-"},"content":" .map(feedbackParticipantType -\u003e {"},{"lineNumber":737,"author":{"gitId":"-"},"content":" switch (feedbackParticipantType) {"},{"lineNumber":738,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":739,"author":{"gitId":"-"},"content":" return FeedbackParticipantType.STUDENTS;"},{"lineNumber":740,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":741,"author":{"gitId":"-"},"content":" return FeedbackParticipantType.INSTRUCTORS;"},{"lineNumber":742,"author":{"gitId":"-"},"content":" case RECIPIENT:"},{"lineNumber":743,"author":{"gitId":"-"},"content":" return FeedbackParticipantType.RECEIVER;"},{"lineNumber":744,"author":{"gitId":"-"},"content":" case GIVER_TEAM_MEMBERS:"},{"lineNumber":745,"author":{"gitId":"-"},"content":" return FeedbackParticipantType.OWN_TEAM_MEMBERS;"},{"lineNumber":746,"author":{"gitId":"-"},"content":" case RECIPIENT_TEAM_MEMBERS:"},{"lineNumber":747,"author":{"gitId":"-"},"content":" return FeedbackParticipantType.RECEIVER_TEAM_MEMBERS;"},{"lineNumber":748,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":749,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unknown FeedbackVisibilityType \" + feedbackParticipantType);"},{"lineNumber":750,"author":{"gitId":"-"},"content":" }"},{"lineNumber":751,"author":{"gitId":"-"},"content":" }).collect(Collectors.toList());"},{"lineNumber":752,"author":{"gitId":"-"},"content":" Collections.sort(feedbackParticipantTypeList);"},{"lineNumber":753,"author":{"gitId":"-"},"content":" return feedbackParticipantTypeList;"},{"lineNumber":754,"author":{"gitId":"-"},"content":" }"},{"lineNumber":755,"author":{"gitId":"-"},"content":""},{"lineNumber":756,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":757,"author":{"gitId":"-"},"content":" * Get feedback response data from database."},{"lineNumber":758,"author":{"gitId":"-"},"content":" */"},{"lineNumber":759,"author":{"gitId":"-"},"content":" public FeedbackResponseData getFeedbackResponseData(String feedbackQuestionId, String giver,"},{"lineNumber":760,"author":{"gitId":"-"},"content":" String recipient) {"},{"lineNumber":761,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":762,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.FEEDBACK_QUESTION_ID, feedbackQuestionId);"},{"lineNumber":763,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INTENT, Intent.STUDENT_SUBMISSION.toString());"},{"lineNumber":764,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON, giver);"},{"lineNumber":765,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.RESPONSES, params);"},{"lineNumber":766,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":767,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":768,"author":{"gitId":"-"},"content":" }"},{"lineNumber":769,"author":{"gitId":"-"},"content":""},{"lineNumber":770,"author":{"gitId":"-"},"content":" FeedbackResponsesData responsesData \u003d JsonUtils.fromJson(response.responseBody, FeedbackResponsesData.class);"},{"lineNumber":771,"author":{"gitId":"-"},"content":" return responsesData.getResponses()"},{"lineNumber":772,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":773,"author":{"gitId":"-"},"content":" .filter(r -\u003e r.getGiverIdentifier().equals(giver) \u0026\u0026 r.getRecipientIdentifier().equals(recipient))"},{"lineNumber":774,"author":{"gitId":"-"},"content":" .findFirst()"},{"lineNumber":775,"author":{"gitId":"-"},"content":" .orElse(null);"},{"lineNumber":776,"author":{"gitId":"-"},"content":" }"},{"lineNumber":777,"author":{"gitId":"-"},"content":""},{"lineNumber":778,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":779,"author":{"gitId":"-"},"content":" * Get feedback response from database."},{"lineNumber":780,"author":{"gitId":"-"},"content":" */"},{"lineNumber":781,"author":{"gitId":"-"},"content":" public FeedbackResponseAttributes getFeedbackResponse(String feedbackQuestionId, String giver,"},{"lineNumber":782,"author":{"gitId":"-"},"content":" String recipient) {"},{"lineNumber":783,"author":{"gitId":"-"},"content":" FeedbackResponseData fr \u003d getFeedbackResponseData(feedbackQuestionId, giver, recipient);"},{"lineNumber":784,"author":{"gitId":"-"},"content":""},{"lineNumber":785,"author":{"gitId":"-"},"content":" if (fr \u003d\u003d null) {"},{"lineNumber":786,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":787,"author":{"gitId":"-"},"content":" }"},{"lineNumber":788,"author":{"gitId":"-"},"content":""},{"lineNumber":789,"author":{"gitId":"-"},"content":" FeedbackResponseAttributes responseAttr \u003d FeedbackResponseAttributes"},{"lineNumber":790,"author":{"gitId":"-"},"content":" .builder(feedbackQuestionId, fr.getGiverIdentifier(), fr.getRecipientIdentifier())"},{"lineNumber":791,"author":{"gitId":"-"},"content":" .withResponseDetails(fr.getResponseDetails())"},{"lineNumber":792,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":793,"author":{"gitId":"-"},"content":" if (fr.getFeedbackResponseId() !\u003d null) {"},{"lineNumber":794,"author":{"gitId":"-"},"content":" responseAttr.setId(fr.getFeedbackResponseId());"},{"lineNumber":795,"author":{"gitId":"-"},"content":" }"},{"lineNumber":796,"author":{"gitId":"-"},"content":" return responseAttr;"},{"lineNumber":797,"author":{"gitId":"-"},"content":" }"},{"lineNumber":798,"author":{"gitId":"-"},"content":""},{"lineNumber":799,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":800,"author":{"gitId":"-"},"content":" * Get feedback response comment from database."},{"lineNumber":801,"author":{"gitId":"-"},"content":" */"},{"lineNumber":802,"author":{"gitId":"-"},"content":" public FeedbackResponseCommentAttributes getFeedbackResponseComment(String feedbackResponseId) {"},{"lineNumber":803,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":804,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.FEEDBACK_RESPONSE_ID, feedbackResponseId);"},{"lineNumber":805,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INTENT, Intent.STUDENT_SUBMISSION.toString());"},{"lineNumber":806,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.RESPONSE_COMMENT, params);"},{"lineNumber":807,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":808,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":809,"author":{"gitId":"-"},"content":" }"},{"lineNumber":810,"author":{"gitId":"-"},"content":""},{"lineNumber":811,"author":{"gitId":"-"},"content":" FeedbackResponseCommentData frc \u003d JsonUtils.fromJson(response.responseBody, FeedbackResponseCommentData.class);"},{"lineNumber":812,"author":{"gitId":"-"},"content":""},{"lineNumber":813,"author":{"gitId":"-"},"content":" if (frc \u003d\u003d null) {"},{"lineNumber":814,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":815,"author":{"gitId":"-"},"content":" }"},{"lineNumber":816,"author":{"gitId":"-"},"content":""},{"lineNumber":817,"author":{"gitId":"-"},"content":" return FeedbackResponseCommentAttributes.builder()"},{"lineNumber":818,"author":{"gitId":"-"},"content":" .withCommentGiver(frc.getCommentGiver())"},{"lineNumber":819,"author":{"gitId":"-"},"content":" .withCommentText(frc.getCommentText())"},{"lineNumber":820,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":821,"author":{"gitId":"-"},"content":" }"},{"lineNumber":822,"author":{"gitId":"-"},"content":""},{"lineNumber":823,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":824,"author":{"gitId":"-"},"content":" * Deletes a course from the database."},{"lineNumber":825,"author":{"gitId":"-"},"content":" */"},{"lineNumber":826,"author":{"gitId":"-"},"content":" public void deleteCourse(String courseId) {"},{"lineNumber":827,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":828,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":829,"author":{"gitId":"-"},"content":" executeDeleteRequest(Const.ResourceURIs.COURSE, params);"},{"lineNumber":830,"author":{"gitId":"-"},"content":" }"},{"lineNumber":831,"author":{"gitId":"-"},"content":""},{"lineNumber":832,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":833,"author":{"gitId":"-"},"content":" * Gets an account request from the database."},{"lineNumber":834,"author":{"gitId":"-"},"content":" */"},{"lineNumber":835,"author":{"gitId":"-"},"content":" public AccountRequestAttributes getAccountRequest(String email, String institute) {"},{"lineNumber":836,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":837,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INSTRUCTOR_EMAIL, email);"},{"lineNumber":838,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INSTRUCTOR_INSTITUTION, institute);"},{"lineNumber":839,"author":{"gitId":"-"},"content":""},{"lineNumber":840,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.ACCOUNT_REQUEST, params);"},{"lineNumber":841,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":842,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":843,"author":{"gitId":"-"},"content":" }"},{"lineNumber":844,"author":{"gitId":"-"},"content":""},{"lineNumber":845,"author":{"gitId":"-"},"content":" AccountRequestData accountRequestData \u003d JsonUtils.fromJson(response.responseBody, AccountRequestData.class);"},{"lineNumber":846,"author":{"gitId":"-"},"content":""},{"lineNumber":847,"author":{"gitId":"-"},"content":" return AccountRequestAttributes"},{"lineNumber":848,"author":{"gitId":"-"},"content":" .builder(accountRequestData.getEmail(), accountRequestData.getInstitute(), accountRequestData.getName())"},{"lineNumber":849,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":850,"author":{"gitId":"-"},"content":" }"},{"lineNumber":851,"author":{"gitId":"-"},"content":""},{"lineNumber":852,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":853,"author":{"gitId":"-"},"content":" * Gets registration key of an account request from the database."},{"lineNumber":854,"author":{"gitId":"-"},"content":" */"},{"lineNumber":855,"author":{"gitId":"-"},"content":" public String getRegKeyForAccountRequest(String email, String institute) {"},{"lineNumber":856,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":857,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INSTRUCTOR_EMAIL, email);"},{"lineNumber":858,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INSTRUCTOR_INSTITUTION, institute);"},{"lineNumber":859,"author":{"gitId":"-"},"content":""},{"lineNumber":860,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.ACCOUNT_REQUEST, params);"},{"lineNumber":861,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":862,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":863,"author":{"gitId":"-"},"content":" }"},{"lineNumber":864,"author":{"gitId":"-"},"content":""},{"lineNumber":865,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(response.responseBody, AccountRequestData.class).getRegistrationKey();"},{"lineNumber":866,"author":{"gitId":"-"},"content":" }"},{"lineNumber":867,"author":{"gitId":"-"},"content":""},{"lineNumber":868,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":869,"author":{"gitId":"-"},"content":" * Deletes an account request from the database."},{"lineNumber":870,"author":{"gitId":"-"},"content":" */"},{"lineNumber":871,"author":{"gitId":"-"},"content":" public void deleteAccountRequest(String email, String institute) {"},{"lineNumber":872,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":873,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INSTRUCTOR_EMAIL, email);"},{"lineNumber":874,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INSTRUCTOR_INSTITUTION, institute);"},{"lineNumber":875,"author":{"gitId":"-"},"content":" executeDeleteRequest(Const.ResourceURIs.ACCOUNT_REQUEST, params);"},{"lineNumber":876,"author":{"gitId":"-"},"content":" }"},{"lineNumber":877,"author":{"gitId":"-"},"content":""},{"lineNumber":878,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":879,"author":{"gitId":"-"},"content":" * Gets notification data from the database."},{"lineNumber":880,"author":{"gitId":"-"},"content":" */"},{"lineNumber":881,"author":{"gitId":"-"},"content":" public NotificationData getNotificationData(String notificationId) {"},{"lineNumber":882,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":883,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.NOTIFICATION_ID, notificationId);"},{"lineNumber":884,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.NOTIFICATION, params);"},{"lineNumber":885,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":886,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":887,"author":{"gitId":"-"},"content":" }"},{"lineNumber":888,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(response.responseBody, NotificationData.class);"},{"lineNumber":889,"author":{"gitId":"-"},"content":" }"},{"lineNumber":890,"author":{"gitId":"-"},"content":""},{"lineNumber":891,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":892,"author":{"gitId":"-"},"content":" * Gets a notification from the database."},{"lineNumber":893,"author":{"gitId":"-"},"content":" */"},{"lineNumber":894,"author":{"gitId":"-"},"content":" public NotificationAttributes getNotification(String notificationId) {"},{"lineNumber":895,"author":{"gitId":"-"},"content":" NotificationData notificationData \u003d getNotificationData(notificationId);"},{"lineNumber":896,"author":{"gitId":"-"},"content":" if (notificationData \u003d\u003d null) {"},{"lineNumber":897,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":898,"author":{"gitId":"-"},"content":" }"},{"lineNumber":899,"author":{"gitId":"-"},"content":" NotificationAttributes notification \u003d NotificationAttributes.builder(notificationData.getNotificationId())"},{"lineNumber":900,"author":{"gitId":"-"},"content":" .withStartTime(Instant.ofEpochMilli(notificationData.getStartTimestamp()))"},{"lineNumber":901,"author":{"gitId":"-"},"content":" .withEndTime(Instant.ofEpochMilli(notificationData.getEndTimestamp()))"},{"lineNumber":902,"author":{"gitId":"-"},"content":" .withStyle(notificationData.getStyle())"},{"lineNumber":903,"author":{"gitId":"-"},"content":" .withTargetUser(notificationData.getTargetUser())"},{"lineNumber":904,"author":{"gitId":"-"},"content":" .withTitle(notificationData.getTitle())"},{"lineNumber":905,"author":{"gitId":"-"},"content":" .withMessage(notificationData.getMessage())"},{"lineNumber":906,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":907,"author":{"gitId":"-"},"content":" notification.setCreatedAt(Instant.ofEpochMilli(notificationData.getCreatedAt()));"},{"lineNumber":908,"author":{"gitId":"-"},"content":" return notification;"},{"lineNumber":909,"author":{"gitId":"-"},"content":" }"},{"lineNumber":910,"author":{"gitId":"-"},"content":""},{"lineNumber":911,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":912,"author":{"gitId":"-"},"content":" * Deletes a notification from the database."},{"lineNumber":913,"author":{"gitId":"-"},"content":" */"},{"lineNumber":914,"author":{"gitId":"-"},"content":" public void deleteNotification(String notificationId) {"},{"lineNumber":915,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":916,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.NOTIFICATION_ID, notificationId);"},{"lineNumber":917,"author":{"gitId":"-"},"content":" executeDeleteRequest(Const.ResourceURIs.NOTIFICATION, params);"},{"lineNumber":918,"author":{"gitId":"-"},"content":" }"},{"lineNumber":919,"author":{"gitId":"-"},"content":""},{"lineNumber":920,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":921,"author":{"gitId":"-"},"content":" * Deletes a notification from the database."},{"lineNumber":922,"author":{"gitId":"-"},"content":" */"},{"lineNumber":923,"author":{"gitId":"-"},"content":" public void deleteNotification(UUID notificationId) {"},{"lineNumber":924,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":925,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.NOTIFICATION_ID, notificationId.toString());"},{"lineNumber":926,"author":{"gitId":"-"},"content":" executeDeleteRequest(Const.ResourceURIs.NOTIFICATION, params);"},{"lineNumber":927,"author":{"gitId":"-"},"content":" }"},{"lineNumber":928,"author":{"gitId":"-"},"content":""},{"lineNumber":929,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":930,"author":{"gitId":"-"},"content":" * Gets a deadline extension from the database."},{"lineNumber":931,"author":{"gitId":"-"},"content":" */"},{"lineNumber":932,"author":{"gitId":"-"},"content":" public DeadlineExtensionAttributes getDeadlineExtension("},{"lineNumber":933,"author":{"gitId":"-"},"content":" String courseId, String feedbackSessionName, String userEmail, boolean isInstructor) {"},{"lineNumber":934,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":935,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":936,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSessionName);"},{"lineNumber":937,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.USER_EMAIL, userEmail);"},{"lineNumber":938,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.IS_INSTRUCTOR, Boolean.toString(isInstructor));"},{"lineNumber":939,"author":{"gitId":"-"},"content":""},{"lineNumber":940,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.DEADLINE_EXTENSION, params);"},{"lineNumber":941,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":942,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":943,"author":{"gitId":"-"},"content":" }"},{"lineNumber":944,"author":{"gitId":"-"},"content":""},{"lineNumber":945,"author":{"gitId":"-"},"content":" DeadlineExtensionData deadlineExtensionData \u003d JsonUtils.fromJson(response.responseBody, DeadlineExtensionData.class);"},{"lineNumber":946,"author":{"gitId":"-"},"content":""},{"lineNumber":947,"author":{"gitId":"-"},"content":" return DeadlineExtensionAttributes.builder("},{"lineNumber":948,"author":{"gitId":"-"},"content":" deadlineExtensionData.getCourseId(), deadlineExtensionData.getFeedbackSessionName(),"},{"lineNumber":949,"author":{"gitId":"-"},"content":" deadlineExtensionData.getUserEmail(), deadlineExtensionData.getIsInstructor())"},{"lineNumber":950,"author":{"gitId":"-"},"content":" .withEndTime(Instant.ofEpochMilli(deadlineExtensionData.getEndTime()))"},{"lineNumber":951,"author":{"gitId":"-"},"content":" .withSentClosingEmail(deadlineExtensionData.getSentClosingEmail())"},{"lineNumber":952,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":953,"author":{"gitId":"-"},"content":" }"},{"lineNumber":954,"author":{"gitId":"-"},"content":""},{"lineNumber":955,"author":{"gitId":"-"},"content":" private static final class ResponseBodyAndCode {"},{"lineNumber":956,"author":{"gitId":"-"},"content":""},{"lineNumber":957,"author":{"gitId":"-"},"content":" String responseBody;"},{"lineNumber":958,"author":{"gitId":"-"},"content":" int responseCode;"},{"lineNumber":959,"author":{"gitId":"-"},"content":""},{"lineNumber":960,"author":{"gitId":"-"},"content":" ResponseBodyAndCode(String responseBody, int responseCode) {"},{"lineNumber":961,"author":{"gitId":"-"},"content":" this.responseBody \u003d responseBody;"},{"lineNumber":962,"author":{"gitId":"-"},"content":" this.responseCode \u003d responseCode;"},{"lineNumber":963,"author":{"gitId":"-"},"content":" }"},{"lineNumber":964,"author":{"gitId":"-"},"content":""},{"lineNumber":965,"author":{"gitId":"-"},"content":" }"},{"lineNumber":966,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":11,"-":955}},{"path":"src/test/java/teammates/test/BaseTestCase.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.test;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.lang.reflect.Method;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.time.Duration;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.junit.Assert;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.DataBundle;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPermissionRole;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPrivileges;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationStyle;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationTargetUser;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.questions.FeedbackResponseDetails;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackTextQuestionDetails;"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.questions.FeedbackTextResponseDetails;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.TimeHelperExtension;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.DataBundleLogic;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":45,"author":{"gitId":"-"},"content":" * Base class for all test cases."},{"lineNumber":46,"author":{"gitId":"-"},"content":" */"},{"lineNumber":47,"author":{"gitId":"-"},"content":"public class BaseTestCase {"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":50,"author":{"gitId":"-"},"content":" * Test Segment divider. Used to divide a test case into logical sections."},{"lineNumber":51,"author":{"gitId":"-"},"content":" * The weird name is for easy spotting."},{"lineNumber":52,"author":{"gitId":"-"},"content":" *"},{"lineNumber":53,"author":{"gitId":"-"},"content":" * @param description"},{"lineNumber":54,"author":{"gitId":"-"},"content":" * of the logical section. This will be printed."},{"lineNumber":55,"author":{"gitId":"-"},"content":" */"},{"lineNumber":56,"author":{"gitId":"-"},"content":" // CHECKSTYLE.OFF:AbbreviationAsWordInName|MethodName the weird name is for easy spotting."},{"lineNumber":57,"author":{"gitId":"-"},"content":" public static void ______TS(String description) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" print(\" * \" + description);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" // CHECKSTYLE.ON:AbbreviationAsWordInName|MethodName"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":63,"author":{"gitId":"-"},"content":" public void printTestClassHeader() {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" print(\"[\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\""},{"lineNumber":65,"author":{"gitId":"-"},"content":" + getClass().getCanonicalName()"},{"lineNumber":66,"author":{"gitId":"-"},"content":" + \"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d]\");"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":70,"author":{"gitId":"-"},"content":" public void printTestClassFooter() {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" print(getClass().getCanonicalName() + \" completed\");"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" protected static void print(String message) {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" System.out.println(message);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" protected String getTestDataFolder() {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" return TestProperties.TEST_DATA_FOLDER;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * Creates a DataBundle as specified in typicalDataBundle.json."},{"lineNumber":84,"author":{"gitId":"-"},"content":" */"},{"lineNumber":85,"author":{"gitId":"-"},"content":" protected DataBundle getTypicalDataBundle() {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" return loadDataBundle(\"/typicalDataBundle.json\");"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" protected DataBundle loadDataBundle(String jsonFileName) {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" String pathToJsonFile \u003d getTestDataFolder() + jsonFileName;"},{"lineNumber":92,"author":{"gitId":"-"},"content":" String jsonString \u003d FileHelper.readFile(pathToJsonFile);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(jsonString, DataBundle.class);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" protected SqlDataBundle getTypicalSqlDataBundle() {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" return loadSqlDataBundle(\"/typicalDataBundle.json\");"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" protected SqlDataBundle loadSqlDataBundle(String jsonFileName) {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" // TODO: rename to loadDataBundle after migration"},{"lineNumber":106,"author":{"gitId":"-"},"content":" String pathToJsonFile \u003d getTestDataFolder() + jsonFileName;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" String jsonString \u003d FileHelper.readFile(pathToJsonFile);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" return DataBundleLogic.deserializeDataBundle(jsonString);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":115,"author":{"gitId":"-"},"content":" * These getTypicalX functions are used to generate typical entities for tests."},{"lineNumber":116,"author":{"gitId":"-"},"content":" * The entity fields can be changed using setter methods if needed."},{"lineNumber":117,"author":{"gitId":"-"},"content":" * New entity generator functions for tests should be added here, and follow the"},{"lineNumber":118,"author":{"gitId":"-"},"content":" * same naming convention."},{"lineNumber":119,"author":{"gitId":"-"},"content":" *"},{"lineNumber":120,"author":{"gitId":"-"},"content":" * \u003cp\u003eExample usage:"},{"lineNumber":121,"author":{"gitId":"-"},"content":" * Account account \u003d getTypicalAccount();"},{"lineNumber":122,"author":{"gitId":"-"},"content":" * Student student \u003d getTypicalStudent();"},{"lineNumber":123,"author":{"gitId":"-"},"content":" * account.setEmail(\"newemail@teammates.com\");"},{"lineNumber":124,"author":{"gitId":"-"},"content":" * student.setName(\"New Student Name\");"},{"lineNumber":125,"author":{"gitId":"-"},"content":" */"},{"lineNumber":126,"author":{"gitId":"-"},"content":" protected Account getTypicalAccount() {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" return new Account(\"google-id\", \"name\", \"email@teammates.com\");"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" protected Notification getTypicalNotificationWithId() {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" Notification notification \u003d new Notification(Instant.parse(\"2011-01-01T00:00:00Z\"),"},{"lineNumber":132,"author":{"gitId":"-"},"content":" Instant.parse(\"2099-01-01T00:00:00Z\"), NotificationStyle.DANGER, NotificationTargetUser.GENERAL,"},{"lineNumber":133,"author":{"gitId":"-"},"content":" \"A deprecation note\", \"\u003cp\u003eDeprecation happens in three minutes\u003c/p\u003e\");"},{"lineNumber":134,"author":{"gitId":"-"},"content":" notification.setId(UUID.randomUUID());"},{"lineNumber":135,"author":{"gitId":"-"},"content":" return notification;"},{"lineNumber":136,"author":{"gitId":"-"},"content":" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" protected Instructor getTypicalInstructor() {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":140,"author":{"gitId":"-"},"content":" InstructorPrivileges instructorPrivileges \u003d"},{"lineNumber":141,"author":{"gitId":"-"},"content":" new InstructorPrivileges(Const.InstructorPermissionRoleNames.INSTRUCTOR_PERMISSION_ROLE_COOWNER);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" InstructorPermissionRole role \u003d InstructorPermissionRole"},{"lineNumber":143,"author":{"gitId":"-"},"content":" .getEnum(Const.InstructorPermissionRoleNames.INSTRUCTOR_PERMISSION_ROLE_COOWNER);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" return new Instructor(course, \"instructor-name\", \"valid@teammates.tmt\","},{"lineNumber":146,"author":{"gitId":"-"},"content":" false, Const.DEFAULT_DISPLAY_NAME_FOR_INSTRUCTOR, role, instructorPrivileges);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" protected Course getTypicalCourse() {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" return new Course(\"course-id\", \"course-name\", Const.DEFAULT_TIME_ZONE, \"teammates\");"},{"lineNumber":151,"author":{"gitId":"-"},"content":" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" protected Student getTypicalStudent() {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":155,"author":{"gitId":"-"},"content":" return new Student(course, \"student-name\", \"validstudent@teammates.tmt\", \"comments\");"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" protected Section getTypicalSection() {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":160,"author":{"gitId":"-"},"content":" return new Section(course, \"test-section\");"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" protected Team getTypicalTeam() {"},{"lineNumber":164,"author":{"gitId":"-"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":165,"author":{"gitId":"-"},"content":" return new Team(section, \"test-team\");"},{"lineNumber":166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" protected FeedbackSession getTypicalFeedbackSessionForCourse(Course course) {"},{"lineNumber":169,"author":{"gitId":"dishenggg"},"content":" Instant startTime \u003d TimeHelperExtension.getInstantDaysOffsetFromNow(1);"},{"lineNumber":170,"author":{"gitId":"dishenggg"},"content":" Instant endTime \u003d TimeHelperExtension.getInstantDaysOffsetFromNow(7);"},{"lineNumber":171,"author":{"gitId":"dishenggg"},"content":" return new FeedbackSession(\"test-feedbacksession\","},{"lineNumber":172,"author":{"gitId":"dishenggg"},"content":" course,"},{"lineNumber":173,"author":{"gitId":"dishenggg"},"content":" \"test@teammates.tmt\","},{"lineNumber":174,"author":{"gitId":"dishenggg"},"content":" \"test-instructions\","},{"lineNumber":175,"author":{"gitId":"dishenggg"},"content":" startTime,"},{"lineNumber":176,"author":{"gitId":"dishenggg"},"content":" endTime,"},{"lineNumber":177,"author":{"gitId":"dishenggg"},"content":" startTime,"},{"lineNumber":178,"author":{"gitId":"dishenggg"},"content":" endTime,"},{"lineNumber":179,"author":{"gitId":"dishenggg"},"content":" Duration.ofMinutes(5),"},{"lineNumber":180,"author":{"gitId":"dishenggg"},"content":" false,"},{"lineNumber":181,"author":{"gitId":"dishenggg"},"content":" false,"},{"lineNumber":182,"author":{"gitId":"dishenggg"},"content":" false);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" protected FeedbackQuestion getTypicalFeedbackQuestionForSession(FeedbackSession session) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" return FeedbackQuestion.makeQuestion(session, 1, \"test-description\","},{"lineNumber":187,"author":{"gitId":"-"},"content":" FeedbackParticipantType.SELF, FeedbackParticipantType.SELF, 1, new ArrayList\u003cFeedbackParticipantType\u003e(),"},{"lineNumber":188,"author":{"gitId":"-"},"content":" new ArrayList\u003cFeedbackParticipantType\u003e(), new ArrayList\u003cFeedbackParticipantType\u003e(),"},{"lineNumber":189,"author":{"gitId":"-"},"content":" new FeedbackTextQuestionDetails(\"test question text\"));"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":" protected FeedbackResponse getTypicalFeedbackResponseForQuestion(FeedbackQuestion question) {"},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":" return FeedbackResponse.makeResponse(question, \"test-giver\", getTypicalSection(), \"test-recipient\","},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" getTypicalSection(), getTypicalFeedbackResponseDetails());"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":" protected FeedbackResponseDetails getTypicalFeedbackResponseDetails() {"},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":" return new FeedbackTextResponseDetails();"},{"lineNumber":199,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":201,"author":{"gitId":"mingyuanc"},"content":" protected FeedbackResponseComment getTypicalResponseComment(Long id) {"},{"lineNumber":202,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d new FeedbackResponseComment(null, \"\","},{"lineNumber":203,"author":{"gitId":"mingyuanc"},"content":" FeedbackParticipantType.STUDENTS, null, null, \"\","},{"lineNumber":204,"author":{"gitId":"mingyuanc"},"content":" false, false,"},{"lineNumber":205,"author":{"gitId":"mingyuanc"},"content":" null, null, null);"},{"lineNumber":206,"author":{"gitId":"mingyuanc"},"content":" comment.setId(id);"},{"lineNumber":207,"author":{"gitId":"mingyuanc"},"content":" return comment;"},{"lineNumber":208,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":209,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":210,"author":{"gitId":"xenosf"},"content":" protected AccountRequest getTypicalAccountRequest() {"},{"lineNumber":211,"author":{"gitId":"xenosf"},"content":" return new AccountRequest(\"valid@test.com\", \"Test account Name\", \"TEAMMATES Test Institute 1\");"},{"lineNumber":212,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":215,"author":{"gitId":"-"},"content":" * Populates the feedback question and response IDs within the data bundle."},{"lineNumber":216,"author":{"gitId":"-"},"content":" *"},{"lineNumber":217,"author":{"gitId":"-"},"content":" * \u003cp\u003eFor tests where simulated database is used, the backend will assign the question and response IDs"},{"lineNumber":218,"author":{"gitId":"-"},"content":" * when the entities are persisted into the database, and modify the relation IDs accordingly."},{"lineNumber":219,"author":{"gitId":"-"},"content":" * However, for tests that do not use simulated database (e.g. pure data structure tests),"},{"lineNumber":220,"author":{"gitId":"-"},"content":" * the assignment of IDs have to be simulated."},{"lineNumber":221,"author":{"gitId":"-"},"content":" */"},{"lineNumber":222,"author":{"gitId":"-"},"content":" protected void populateQuestionAndResponseIds(DataBundle dataBundle) {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" Map\u003cString, Map\u003cInteger, String\u003e\u003e sessionToQuestionNumberToId \u003d new HashMap\u003c\u003e();"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" dataBundle.feedbackQuestions.forEach((key, question) -\u003e {"},{"lineNumber":226,"author":{"gitId":"-"},"content":" // Assign the same ID as the key as a later function requires a match between the key and the question ID"},{"lineNumber":227,"author":{"gitId":"-"},"content":" question.setId(key);"},{"lineNumber":228,"author":{"gitId":"-"},"content":" Map\u003cInteger, String\u003e questionNumberToId \u003d sessionToQuestionNumberToId.computeIfAbsent("},{"lineNumber":229,"author":{"gitId":"-"},"content":" question.getCourseId() + \"%\" + question.getFeedbackSessionName(), k -\u003e new HashMap\u003c\u003e());"},{"lineNumber":230,"author":{"gitId":"-"},"content":" questionNumberToId.put(question.getQuestionNumber(), key);"},{"lineNumber":231,"author":{"gitId":"-"},"content":" });"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" dataBundle.feedbackResponses.forEach((key, response) -\u003e {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" response.setId(key);"},{"lineNumber":235,"author":{"gitId":"-"},"content":" String feedbackQuestionId \u003d sessionToQuestionNumberToId"},{"lineNumber":236,"author":{"gitId":"-"},"content":" .get(response.getCourseId() + \"%\" + response.getFeedbackSessionName())"},{"lineNumber":237,"author":{"gitId":"-"},"content":" .get(Integer.valueOf(response.getFeedbackQuestionId()));"},{"lineNumber":238,"author":{"gitId":"-"},"content":" response.setFeedbackQuestionId(feedbackQuestionId);"},{"lineNumber":239,"author":{"gitId":"-"},"content":" });"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":243,"author":{"gitId":"-"},"content":" * Invokes the method named {@code methodName} as defined in the {@code definingClass}."},{"lineNumber":244,"author":{"gitId":"-"},"content":" * @param definingClass the class which defines the method"},{"lineNumber":245,"author":{"gitId":"-"},"content":" * @param parameterTypes the parameter types of the method,"},{"lineNumber":246,"author":{"gitId":"-"},"content":" * which must be passed in the same order defined in the method"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * @param invokingObject the object which invokes the method, can be {@code null} if the method is static"},{"lineNumber":248,"author":{"gitId":"-"},"content":" * @param args the arguments to be passed to the method invocation"},{"lineNumber":249,"author":{"gitId":"-"},"content":" */"},{"lineNumber":250,"author":{"gitId":"-"},"content":" protected static Object invokeMethod(Class\u003c?\u003e definingClass, String methodName, Class\u003c?\u003e[] parameterTypes,"},{"lineNumber":251,"author":{"gitId":"-"},"content":" Object invokingObject, Object[] args)"},{"lineNumber":252,"author":{"gitId":"-"},"content":" throws ReflectiveOperationException {"},{"lineNumber":253,"author":{"gitId":"-"},"content":" Method method \u003d definingClass.getDeclaredMethod(methodName, parameterTypes);"},{"lineNumber":254,"author":{"gitId":"-"},"content":" method.setAccessible(true);"},{"lineNumber":255,"author":{"gitId":"-"},"content":" return method.invoke(invokingObject, args);"},{"lineNumber":256,"author":{"gitId":"-"},"content":" }"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":" protected static String getPopulatedErrorMessage(String messageTemplate, String userInput,"},{"lineNumber":259,"author":{"gitId":"-"},"content":" String fieldName, String errorReason)"},{"lineNumber":260,"author":{"gitId":"-"},"content":" throws ReflectiveOperationException {"},{"lineNumber":261,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(messageTemplate, userInput, fieldName, errorReason, 0);"},{"lineNumber":262,"author":{"gitId":"-"},"content":" }"},{"lineNumber":263,"author":{"gitId":"-"},"content":""},{"lineNumber":264,"author":{"gitId":"-"},"content":" protected static String getPopulatedErrorMessage(String messageTemplate, String userInput,"},{"lineNumber":265,"author":{"gitId":"-"},"content":" String fieldName, String errorReason, int maxLength)"},{"lineNumber":266,"author":{"gitId":"-"},"content":" throws ReflectiveOperationException {"},{"lineNumber":267,"author":{"gitId":"-"},"content":" return (String) invokeMethod(FieldValidator.class, \"getPopulatedErrorMessage\","},{"lineNumber":268,"author":{"gitId":"-"},"content":" new Class\u003c?\u003e[] { String.class, String.class, String.class, String.class, int.class },"},{"lineNumber":269,"author":{"gitId":"-"},"content":" null, new Object[] { messageTemplate, userInput, fieldName, errorReason, maxLength });"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" protected static String getPopulatedEmptyStringErrorMessage(String messageTemplate, String fieldName, int maxLength)"},{"lineNumber":273,"author":{"gitId":"-"},"content":" throws ReflectiveOperationException {"},{"lineNumber":274,"author":{"gitId":"-"},"content":" return (String) invokeMethod(FieldValidator.class, \"getPopulatedEmptyStringErrorMessage\","},{"lineNumber":275,"author":{"gitId":"-"},"content":" new Class\u003c?\u003e[] { String.class, String.class, int.class },"},{"lineNumber":276,"author":{"gitId":"-"},"content":" null, new Object[] { messageTemplate, fieldName, maxLength });"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":280,"author":{"gitId":"-"},"content":" * Here are some of the most common assertion methods provided by JUnit."},{"lineNumber":281,"author":{"gitId":"-"},"content":" * They are copied here to prevent repetitive importing in test classes."},{"lineNumber":282,"author":{"gitId":"-"},"content":" */"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" protected static void assertTrue(boolean condition) {"},{"lineNumber":285,"author":{"gitId":"-"},"content":" Assert.assertTrue(condition);"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" protected static void assertTrue(String message, boolean condition) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" Assert.assertTrue(message, condition);"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" protected static void assertFalse(boolean condition) {"},{"lineNumber":293,"author":{"gitId":"-"},"content":" Assert.assertFalse(condition);"},{"lineNumber":294,"author":{"gitId":"-"},"content":" }"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":" protected static void assertFalse(String message, boolean condition) {"},{"lineNumber":297,"author":{"gitId":"-"},"content":" Assert.assertFalse(message, condition);"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" protected static void assertEquals(int expected, int actual) {"},{"lineNumber":301,"author":{"gitId":"-"},"content":" Assert.assertEquals(expected, actual);"},{"lineNumber":302,"author":{"gitId":"-"},"content":" }"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" protected static void assertEquals(String message, int expected, int actual) {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" Assert.assertEquals(message, expected, actual);"},{"lineNumber":306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" protected static void assertEquals(long expected, long actual) {"},{"lineNumber":309,"author":{"gitId":"-"},"content":" Assert.assertEquals(expected, actual);"},{"lineNumber":310,"author":{"gitId":"-"},"content":" }"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":" protected static void assertEquals(double expected, double actual, double delta) {"},{"lineNumber":313,"author":{"gitId":"-"},"content":" Assert.assertEquals(expected, actual, delta);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" }"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" protected static void assertEquals(Object expected, Object actual) {"},{"lineNumber":317,"author":{"gitId":"-"},"content":" Assert.assertEquals(expected, actual);"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" protected static void assertEquals(String message, Object expected, Object actual) {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" Assert.assertEquals(message, expected, actual);"},{"lineNumber":322,"author":{"gitId":"-"},"content":" }"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":" protected static void assertArrayEquals(byte[] expected, byte[] actual) {"},{"lineNumber":325,"author":{"gitId":"-"},"content":" Assert.assertArrayEquals(expected, actual);"},{"lineNumber":326,"author":{"gitId":"-"},"content":" }"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" protected static void assertNotEquals(Object first, Object second) {"},{"lineNumber":329,"author":{"gitId":"-"},"content":" Assert.assertNotEquals(first, second);"},{"lineNumber":330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" protected static void assertSame(Object expected, Object actual) {"},{"lineNumber":333,"author":{"gitId":"-"},"content":" Assert.assertSame(expected, actual);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" }"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"-"},"content":" protected static void assertNotSame(Object unexpected, Object actual) {"},{"lineNumber":337,"author":{"gitId":"-"},"content":" Assert.assertNotSame(unexpected, actual);"},{"lineNumber":338,"author":{"gitId":"-"},"content":" }"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" protected static void assertNull(Object object) {"},{"lineNumber":341,"author":{"gitId":"-"},"content":" Assert.assertNull(object);"},{"lineNumber":342,"author":{"gitId":"-"},"content":" }"},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":" protected static void assertNull(String message, Object object) {"},{"lineNumber":345,"author":{"gitId":"-"},"content":" Assert.assertNull(message, object);"},{"lineNumber":346,"author":{"gitId":"-"},"content":" }"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":" protected static void assertNotNull(Object object) {"},{"lineNumber":349,"author":{"gitId":"-"},"content":" Assert.assertNotNull(object);"},{"lineNumber":350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" protected static void assertNotNull(String message, Object object) {"},{"lineNumber":353,"author":{"gitId":"-"},"content":" Assert.assertNotNull(message, object);"},{"lineNumber":354,"author":{"gitId":"-"},"content":" }"},{"lineNumber":355,"author":{"gitId":"-"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":" protected static void fail(String message) {"},{"lineNumber":357,"author":{"gitId":"-"},"content":" Assert.fail(message);"},{"lineNumber":358,"author":{"gitId":"-"},"content":" }"},{"lineNumber":359,"author":{"gitId":"-"},"content":""},{"lineNumber":360,"author":{"gitId":"-"},"content":" // This method is adapted from JUnit 5\u0027s assertThrows."},{"lineNumber":361,"author":{"gitId":"-"},"content":" // Once we upgrade to JUnit 5, their built-in method shall be used instead."},{"lineNumber":362,"author":{"gitId":"-"},"content":" @SuppressWarnings({"},{"lineNumber":363,"author":{"gitId":"-"},"content":" \"unchecked\","},{"lineNumber":364,"author":{"gitId":"-"},"content":" \"PMD.AvoidCatchingThrowable\", // As per reference method\u0027s specification"},{"lineNumber":365,"author":{"gitId":"-"},"content":" })"},{"lineNumber":366,"author":{"gitId":"-"},"content":" protected static \u003cT extends Throwable\u003e T assertThrows(Class\u003cT\u003e expectedType, Executable executable) {"},{"lineNumber":367,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":368,"author":{"gitId":"-"},"content":" executable.execute();"},{"lineNumber":369,"author":{"gitId":"-"},"content":" } catch (Throwable actualException) {"},{"lineNumber":370,"author":{"gitId":"-"},"content":" if (expectedType.isInstance(actualException)) {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" return (T) actualException;"},{"lineNumber":372,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":373,"author":{"gitId":"-"},"content":" String message \u003d String.format(\"Expected %s to be thrown, but %s was instead thrown.\","},{"lineNumber":374,"author":{"gitId":"-"},"content":" getCanonicalName(expectedType), getCanonicalName(actualException.getClass()));"},{"lineNumber":375,"author":{"gitId":"-"},"content":" throw new AssertionError(message, actualException);"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":" }"},{"lineNumber":378,"author":{"gitId":"-"},"content":""},{"lineNumber":379,"author":{"gitId":"-"},"content":" String message \u003d String.format(\"Expected %s to be thrown, but nothing was thrown.\", getCanonicalName(expectedType));"},{"lineNumber":380,"author":{"gitId":"-"},"content":" throw new AssertionError(message);"},{"lineNumber":381,"author":{"gitId":"-"},"content":" }"},{"lineNumber":382,"author":{"gitId":"-"},"content":""},{"lineNumber":383,"author":{"gitId":"-"},"content":" private static String getCanonicalName(Class\u003c?\u003e clazz) {"},{"lineNumber":384,"author":{"gitId":"-"},"content":" String canonicalName \u003d clazz.getCanonicalName();"},{"lineNumber":385,"author":{"gitId":"-"},"content":" return canonicalName \u003d\u003d null ? clazz.getName() : canonicalName;"},{"lineNumber":386,"author":{"gitId":"-"},"content":" }"},{"lineNumber":387,"author":{"gitId":"-"},"content":""},{"lineNumber":388,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":389,"author":{"gitId":"-"},"content":" * {@code Executable} is a functional interface that can be used to"},{"lineNumber":390,"author":{"gitId":"-"},"content":" * implement any generic block of code that potentially throws a"},{"lineNumber":391,"author":{"gitId":"-"},"content":" * {@link Throwable}."},{"lineNumber":392,"author":{"gitId":"-"},"content":" *"},{"lineNumber":393,"author":{"gitId":"-"},"content":" * \u003cp\u003eThe {@code Executable} interface is similar to {@link Runnable},"},{"lineNumber":394,"author":{"gitId":"-"},"content":" * except that an {@code Executable} can throw any kind of exception."},{"lineNumber":395,"author":{"gitId":"-"},"content":" */"},{"lineNumber":396,"author":{"gitId":"-"},"content":" // This interface is adapted from JUnit 5\u0027s Executable interface."},{"lineNumber":397,"author":{"gitId":"-"},"content":" // Once we upgrade to JUnit 5, this interface shall no longer be necessary."},{"lineNumber":398,"author":{"gitId":"-"},"content":" public interface Executable {"},{"lineNumber":399,"author":{"gitId":"-"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":401,"author":{"gitId":"-"},"content":" * Executes a block of code, potentially throwing a {@link Throwable}."},{"lineNumber":402,"author":{"gitId":"-"},"content":" */"},{"lineNumber":403,"author":{"gitId":"-"},"content":" // CHECKSTYLE.OFF:IllegalThrows"},{"lineNumber":404,"author":{"gitId":"-"},"content":" void execute() throws Throwable;"},{"lineNumber":405,"author":{"gitId":"-"},"content":" // CHECKSTYLE.ON:IllegalThrows"},{"lineNumber":406,"author":{"gitId":"-"},"content":""},{"lineNumber":407,"author":{"gitId":"-"},"content":" }"},{"lineNumber":408,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":17,"dishenggg":16,"mingyuanc":10,"-":365}},{"path":"src/test/java/teammates/test/BaseTestCaseWithDatabaseAccess.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.test;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.DataBundle;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountRequestAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.DeadlineExtensionAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.EntityAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseAttributes;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseCommentAttributes;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * Base class for all test cases which are allowed to access the database."},{"lineNumber":21,"author":{"gitId":"-"},"content":" */"},{"lineNumber":22,"author":{"gitId":"-"},"content":"public abstract class BaseTestCaseWithDatabaseAccess extends BaseTestCase {"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final int VERIFICATION_RETRY_COUNT \u003d 5;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final int VERIFICATION_RETRY_DELAY_IN_MS \u003d 1000;"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final int OPERATION_RETRY_COUNT \u003d 5;"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final int OPERATION_RETRY_DELAY_IN_MS \u003d 1000;"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" protected void verifyPresentInDatabase(DataBundle data) {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" data.accounts.values().forEach(this::verifyPresentInDatabase);"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" data.instructors.values().forEach(this::verifyPresentInDatabase);"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" data.courses.values().stream()"},{"lineNumber":35,"author":{"gitId":"-"},"content":" .filter(course -\u003e !course.isCourseDeleted())"},{"lineNumber":36,"author":{"gitId":"-"},"content":" .forEach(this::verifyPresentInDatabase);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" data.students.values().forEach(this::verifyPresentInDatabase);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" protected void verifyPresentInDatabase(EntityAttributes\u003c?\u003e expected) {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" int retryLimit \u003d VERIFICATION_RETRY_COUNT;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" EntityAttributes\u003c?\u003e actual \u003d getEntity(expected);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" while (actual \u003d\u003d null \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":46,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(VERIFICATION_RETRY_DELAY_IN_MS);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" actual \u003d getEntity(expected);"},{"lineNumber":48,"author":{"gitId":"-"},"content":" }"},{"lineNumber":49,"author":{"gitId":"-"},"content":" verifyEquals(expected, actual);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" private EntityAttributes\u003c?\u003e getEntity(EntityAttributes\u003c?\u003e expected) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" if (expected instanceof AccountAttributes) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" return getAccount((AccountAttributes) expected);"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" } else if (expected instanceof CourseAttributes) {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" return getCourse((CourseAttributes) expected);"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackQuestionAttributes) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return getFeedbackQuestion((FeedbackQuestionAttributes) expected);"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponseCommentAttributes) {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" return getFeedbackResponseComment((FeedbackResponseCommentAttributes) expected);"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponseAttributes) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" return getFeedbackResponse((FeedbackResponseAttributes) expected);"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackSessionAttributes) {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" return getFeedbackSession((FeedbackSessionAttributes) expected);"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" } else if (expected instanceof InstructorAttributes) {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" return getInstructor((InstructorAttributes) expected);"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" } else if (expected instanceof StudentAttributes) {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" return getStudent((StudentAttributes) expected);"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" } else if (expected instanceof AccountRequestAttributes) {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" return getAccountRequest((AccountRequestAttributes) expected);"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" } else if (expected instanceof DeadlineExtensionAttributes) {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" return getDeadlineExtension((DeadlineExtensionAttributes) expected);"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" } else if (expected instanceof NotificationAttributes) {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" return getNotification((NotificationAttributes) expected);"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unknown entity type!\");"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":" }"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" protected void verifyAbsentInDatabase(EntityAttributes\u003c?\u003e entity) {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" int retryLimit \u003d VERIFICATION_RETRY_COUNT;"},{"lineNumber":93,"author":{"gitId":"-"},"content":" EntityAttributes\u003c?\u003e actual \u003d getEntity(entity);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" while (actual !\u003d null \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(VERIFICATION_RETRY_DELAY_IN_MS);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" actual \u003d getEntity(entity);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":" assertNull(actual);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" private void verifyEquals(EntityAttributes\u003c?\u003e expected, EntityAttributes\u003c?\u003e actual) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" if (expected instanceof AccountAttributes) {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" AccountAttributes expectedAccount \u003d ((AccountAttributes) expected).getCopy();"},{"lineNumber":105,"author":{"gitId":"-"},"content":" AccountAttributes actualAccount \u003d (AccountAttributes) actual;"},{"lineNumber":106,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedAccount, actualAccount);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedAccount), JsonUtils.toJson(actualAccount));"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" } else if (expected instanceof CourseAttributes) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" CourseAttributes expectedCourse \u003d (CourseAttributes) expected;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" CourseAttributes actualCourse \u003d (CourseAttributes) actual;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedCourse, actualCourse);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedCourse), JsonUtils.toJson(actualCourse));"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackQuestionAttributes) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes expectedFq \u003d (FeedbackQuestionAttributes) expected;"},{"lineNumber":117,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes actualFq \u003d (FeedbackQuestionAttributes) actual;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedFq, actualFq);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedFq), JsonUtils.toJson(actualFq));"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponseCommentAttributes) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" FeedbackResponseCommentAttributes expectedFrc \u003d (FeedbackResponseCommentAttributes) expected;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" FeedbackResponseCommentAttributes actualFrc \u003d (FeedbackResponseCommentAttributes) actual;"},{"lineNumber":124,"author":{"gitId":"-"},"content":" assertEquals(expectedFrc.getCourseId(), actualFrc.getCourseId());"},{"lineNumber":125,"author":{"gitId":"-"},"content":" assertEquals(expectedFrc.getCommentGiver(), actualFrc.getCommentGiver());"},{"lineNumber":126,"author":{"gitId":"-"},"content":" assertEquals(expectedFrc.getFeedbackSessionName(), actualFrc.getFeedbackSessionName());"},{"lineNumber":127,"author":{"gitId":"-"},"content":" assertEquals(expectedFrc.getCommentText(), actualFrc.getCommentText());"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponseAttributes) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" FeedbackResponseAttributes expectedFr \u003d (FeedbackResponseAttributes) expected;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" FeedbackResponseAttributes actualFr \u003d (FeedbackResponseAttributes) actual;"},{"lineNumber":132,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedFr, actualFr);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedFr), JsonUtils.toJson(actualFr));"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackSessionAttributes) {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes expectedFs \u003d ((FeedbackSessionAttributes) expected).getCopy();"},{"lineNumber":137,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes actualFs \u003d (FeedbackSessionAttributes) actual;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedFs, actualFs);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedFs), JsonUtils.toJson(actualFs));"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" } else if (expected instanceof InstructorAttributes) {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" InstructorAttributes expectedInstructor \u003d ((InstructorAttributes) expected).getCopy();"},{"lineNumber":143,"author":{"gitId":"-"},"content":" InstructorAttributes actualInstructor \u003d (InstructorAttributes) actual;"},{"lineNumber":144,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedInstructor, actualInstructor);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedInstructor), JsonUtils.toJson(actualInstructor));"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" } else if (expected instanceof StudentAttributes) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" StudentAttributes expectedStudent \u003d ((StudentAttributes) expected).getCopy();"},{"lineNumber":149,"author":{"gitId":"-"},"content":" StudentAttributes actualStudent \u003d (StudentAttributes) actual;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedStudent, actualStudent);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedStudent), JsonUtils.toJson(actualStudent));"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" } else if (expected instanceof AccountRequestAttributes) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" AccountRequestAttributes expectedAccountRequest \u003d (AccountRequestAttributes) expected;"},{"lineNumber":155,"author":{"gitId":"-"},"content":" AccountRequestAttributes actualAccountRequest \u003d (AccountRequestAttributes) actual;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedAccountRequest), JsonUtils.toJson(actualAccountRequest));"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" } else if (expected instanceof DeadlineExtensionAttributes) {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" DeadlineExtensionAttributes expectedDeadlineExtension \u003d (DeadlineExtensionAttributes) expected;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" DeadlineExtensionAttributes actualDeadlineExtension \u003d (DeadlineExtensionAttributes) actual;"},{"lineNumber":161,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedDeadlineExtension, actualDeadlineExtension);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedDeadlineExtension), JsonUtils.toJson(actualDeadlineExtension));"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" } else if (expected instanceof NotificationAttributes) {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" NotificationAttributes expectedNotification \u003d (NotificationAttributes) expected;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" NotificationAttributes actualNotification \u003d (NotificationAttributes) actual;"},{"lineNumber":167,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedNotification, actualNotification);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedNotification), JsonUtils.toJson(actualNotification));"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unknown entity type!\");"},{"lineNumber":172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" protected abstract AccountAttributes getAccount(AccountAttributes account);"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(AccountAttributes expected, AccountAttributes actual) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":179,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(CourseAttributes expected, CourseAttributes actual) {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":184,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(FeedbackQuestionAttributes expected, FeedbackQuestionAttributes actual) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" expected.setId(actual.getId());"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(FeedbackResponseAttributes expected, FeedbackResponseAttributes actual) {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" expected.setId(actual.getId());"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(FeedbackSessionAttributes expected, FeedbackSessionAttributes actual) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" expected.setCreatedTime(actual.getCreatedTime());"},{"lineNumber":197,"author":{"gitId":"-"},"content":" // Not available in FeedbackSessionData and thus ignored"},{"lineNumber":198,"author":{"gitId":"-"},"content":" expected.setCreatorEmail(actual.getCreatorEmail());"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(InstructorAttributes expected, InstructorAttributes actual) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" // pretend keys match because the key is generated only before storing into database"},{"lineNumber":203,"author":{"gitId":"-"},"content":" if (actual.getKey() !\u003d null) {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" expected.setKey(actual.getKey());"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(StudentAttributes expected, StudentAttributes actual) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" // For these fields, we consider null and \"\" equivalent."},{"lineNumber":210,"author":{"gitId":"-"},"content":" if (expected.getGoogleId() \u003d\u003d null \u0026\u0026 actual.getGoogleId().isEmpty()) {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" expected.setGoogleId(\"\");"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":" if (expected.getTeam() \u003d\u003d null \u0026\u0026 actual.getTeam().isEmpty()) {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" expected.setTeam(\"\");"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":" if (expected.getComments() \u003d\u003d null \u0026\u0026 actual.getComments().isEmpty()) {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" expected.setComments(\"\");"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" // pretend keys match because the key is generated only before storing into database"},{"lineNumber":221,"author":{"gitId":"-"},"content":" if (actual.getKey() !\u003d null) {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" expected.setKey(actual.getKey());"},{"lineNumber":223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(DeadlineExtensionAttributes expected, DeadlineExtensionAttributes actual) {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":228,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":229,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":230,"author":{"gitId":"-"},"content":" }"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(NotificationAttributes expected, NotificationAttributes actual) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":234,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":235,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" protected abstract CourseAttributes getCourse(CourseAttributes course);"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" protected abstract FeedbackQuestionAttributes getFeedbackQuestion(FeedbackQuestionAttributes fq);"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":" protected abstract FeedbackResponseCommentAttributes getFeedbackResponseComment(FeedbackResponseCommentAttributes frc);"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" protected abstract FeedbackResponseAttributes getFeedbackResponse(FeedbackResponseAttributes fr);"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" protected abstract FeedbackSessionAttributes getFeedbackSession(FeedbackSessionAttributes fs);"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" protected abstract InstructorAttributes getInstructor(InstructorAttributes instructor);"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" protected abstract StudentAttributes getStudent(StudentAttributes student);"},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":" protected abstract AccountRequestAttributes getAccountRequest(AccountRequestAttributes accountRequest);"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" protected abstract DeadlineExtensionAttributes getDeadlineExtension(DeadlineExtensionAttributes accountRequest);"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":" protected abstract NotificationAttributes getNotification(NotificationAttributes notification);"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":" protected void removeAndRestoreDataBundle(DataBundle testData) {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" int retryLimit \u003d OPERATION_RETRY_COUNT;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" boolean isOperationSuccess \u003d doRemoveAndRestoreDataBundle(testData);"},{"lineNumber":261,"author":{"gitId":"-"},"content":" while (!isOperationSuccess \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":263,"author":{"gitId":"-"},"content":" print(\"Re-trying removeAndRestoreDataBundle\");"},{"lineNumber":264,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(OPERATION_RETRY_DELAY_IN_MS);"},{"lineNumber":265,"author":{"gitId":"-"},"content":" isOperationSuccess \u003d doRemoveAndRestoreDataBundle(testData);"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":" assertTrue(isOperationSuccess);"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" protected abstract boolean doRemoveAndRestoreDataBundle(DataBundle testData);"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" protected SqlDataBundle removeAndRestoreSqlDataBundle(SqlDataBundle testData) {"},{"lineNumber":273,"author":{"gitId":"-"},"content":" int retryLimit \u003d OPERATION_RETRY_COUNT;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" SqlDataBundle dataBundle \u003d doRemoveAndRestoreSqlDataBundle(testData);"},{"lineNumber":275,"author":{"gitId":"-"},"content":" while (dataBundle \u003d\u003d null \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":277,"author":{"gitId":"-"},"content":" print(\"Re-trying removeAndRestoreDataBundle\");"},{"lineNumber":278,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(OPERATION_RETRY_DELAY_IN_MS);"},{"lineNumber":279,"author":{"gitId":"-"},"content":" dataBundle \u003d doRemoveAndRestoreSqlDataBundle(testData);"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":" assertNotNull(dataBundle);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" return dataBundle;"},{"lineNumber":283,"author":{"gitId":"-"},"content":" }"},{"lineNumber":284,"author":{"gitId":"-"},"content":""},{"lineNumber":285,"author":{"gitId":"-"},"content":" protected abstract SqlDataBundle doRemoveAndRestoreSqlDataBundle(SqlDataBundle testData);"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" protected void putDocuments(DataBundle testData) {"},{"lineNumber":288,"author":{"gitId":"-"},"content":" int retryLimit \u003d OPERATION_RETRY_COUNT;"},{"lineNumber":289,"author":{"gitId":"-"},"content":" boolean isOperationSuccess \u003d doPutDocuments(testData);"},{"lineNumber":290,"author":{"gitId":"-"},"content":" while (!isOperationSuccess \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":292,"author":{"gitId":"-"},"content":" print(\"Re-trying putDocuments\");"},{"lineNumber":293,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(OPERATION_RETRY_DELAY_IN_MS);"},{"lineNumber":294,"author":{"gitId":"-"},"content":" isOperationSuccess \u003d doPutDocuments(testData);"},{"lineNumber":295,"author":{"gitId":"-"},"content":" }"},{"lineNumber":296,"author":{"gitId":"-"},"content":" assertTrue(isOperationSuccess);"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" protected abstract boolean doPutDocuments(DataBundle testData);"},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"domoberzin"},"content":" protected void putSqlDocuments(SqlDataBundle testData) {"},{"lineNumber":302,"author":{"gitId":"domoberzin"},"content":" int retryLimit \u003d OPERATION_RETRY_COUNT;"},{"lineNumber":303,"author":{"gitId":"domoberzin"},"content":" boolean isOperationSuccess \u003d doPutDocumentsSql(testData);"},{"lineNumber":304,"author":{"gitId":"domoberzin"},"content":" while (!isOperationSuccess \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":305,"author":{"gitId":"domoberzin"},"content":" retryLimit--;"},{"lineNumber":306,"author":{"gitId":"domoberzin"},"content":" print(\"Re-trying putSqlDocuments\");"},{"lineNumber":307,"author":{"gitId":"domoberzin"},"content":" ThreadHelper.waitFor(OPERATION_RETRY_DELAY_IN_MS);"},{"lineNumber":308,"author":{"gitId":"domoberzin"},"content":" isOperationSuccess \u003d doPutDocumentsSql(testData);"},{"lineNumber":309,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":310,"author":{"gitId":"domoberzin"},"content":" assertTrue(isOperationSuccess);"},{"lineNumber":311,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":312,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":313,"author":{"gitId":"domoberzin"},"content":" protected abstract boolean doPutDocumentsSql(SqlDataBundle testData);"},{"lineNumber":314,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":13,"-":301}},{"path":"src/test/java/teammates/test/BaseTestCaseWithLocalDatabaseAccess.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.test;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.testcontainers.containers.PostgreSQLContainer;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterMethod;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterSuite;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeSuite;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import com.google.cloud.datastore.DatastoreOptions;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import com.google.cloud.datastore.testing.LocalDatastoreHelper;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import com.googlecode.objectify.ObjectifyFactory;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import com.googlecode.objectify.ObjectifyService;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import com.googlecode.objectify.util.Closeable;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.DataBundle;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountAttributes;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountRequestAttributes;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.DeadlineExtensionAttributes;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseAttributes;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseCommentAttributes;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.logic.api.LogicExtension;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.logic.core.LogicStarter;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.sqllogic.api.Logic;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.storage.api.OfyHelper;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.search.AccountRequestSearchManager;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.storage.search.InstructorSearchManager;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.storage.search.SearchManagerFactory;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.storage.search.StudentSearchManager;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Base class for all tests which require access to a locally run database."},{"lineNumber":44,"author":{"gitId":"-"},"content":" *"},{"lineNumber":45,"author":{"gitId":"-"},"content":" * \u003cp\u003eAs all tests are run against a single DB instance and we use shared test data for most tests,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" * the tests need to be run in a single thread to prevent test data contamination across different tests."},{"lineNumber":47,"author":{"gitId":"-"},"content":" */"},{"lineNumber":48,"author":{"gitId":"-"},"content":"@Test(singleThreaded \u003d true)"},{"lineNumber":49,"author":{"gitId":"-"},"content":"public abstract class BaseTestCaseWithLocalDatabaseAccess extends BaseTestCaseWithDatabaseAccess {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final PostgreSQLContainer\u003c?\u003e PGSQL \u003d new PostgreSQLContainer\u003c\u003e(\"postgres:15.1-alpine\");"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final LocalDatastoreHelper LOCAL_DATASTORE_HELPER \u003d LocalDatastoreHelper.newBuilder()"},{"lineNumber":53,"author":{"gitId":"-"},"content":" .setConsistency(1.0)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .setPort(TestProperties.TEST_LOCALDATASTORE_PORT)"},{"lineNumber":55,"author":{"gitId":"-"},"content":" .setStoreOnDisk(false)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":57,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":58,"author":{"gitId":"-"},"content":" * sqlLogic for use in test cases."},{"lineNumber":59,"author":{"gitId":"-"},"content":" */"},{"lineNumber":60,"author":{"gitId":"-"},"content":" protected Logic sqlLogic;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" private final LogicExtension logic \u003d new LogicExtension();"},{"lineNumber":62,"author":{"gitId":"-"},"content":" private Closeable closeable;"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" @BeforeSuite"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public void setupDbLayer() throws Exception {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" PGSQL.start();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" HibernateUtil.buildSessionFactory(PGSQL.getJdbcUrl(), PGSQL.getUsername(), PGSQL.getPassword());"},{"lineNumber":68,"author":{"gitId":"-"},"content":" teammates.sqllogic.core.LogicStarter.initializeDependencies();"},{"lineNumber":69,"author":{"gitId":"-"},"content":" sqlLogic \u003d Logic.inst();"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" LOCAL_DATASTORE_HELPER.start();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" DatastoreOptions options \u003d LOCAL_DATASTORE_HELPER.getOptions();"},{"lineNumber":73,"author":{"gitId":"-"},"content":" ObjectifyService.init(new ObjectifyFactory("},{"lineNumber":74,"author":{"gitId":"-"},"content":" options.getService()"},{"lineNumber":75,"author":{"gitId":"-"},"content":" ));"},{"lineNumber":76,"author":{"gitId":"-"},"content":" OfyHelper.registerEntityClasses();"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" SearchManagerFactory.registerAccountRequestSearchManager("},{"lineNumber":79,"author":{"gitId":"-"},"content":" new AccountRequestSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":80,"author":{"gitId":"-"},"content":" SearchManagerFactory.registerInstructorSearchManager("},{"lineNumber":81,"author":{"gitId":"-"},"content":" new InstructorSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":82,"author":{"gitId":"-"},"content":" SearchManagerFactory.registerStudentSearchManager("},{"lineNumber":83,"author":{"gitId":"-"},"content":" new StudentSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" teammates.storage.sqlsearch.SearchManagerFactory.registerAccountRequestSearchManager("},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":" new teammates.storage.sqlsearch.AccountRequestSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" teammates.storage.sqlsearch.SearchManagerFactory.registerInstructorSearchManager("},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" new teammates.storage.sqlsearch.InstructorSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" teammates.storage.sqlsearch.SearchManagerFactory.registerStudentSearchManager("},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" new teammates.storage.sqlsearch.StudentSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" LogicStarter.initializeDependencies();"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":96,"author":{"gitId":"-"},"content":" public void setupObjectify() {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" closeable \u003d ObjectifyService.begin();"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":101,"author":{"gitId":"-"},"content":" public void tearDownObjectify() {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" closeable.close();"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":106,"author":{"gitId":"-"},"content":" public void resetDbLayer() throws Exception {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" SearchManagerFactory.getAccountRequestSearchManager().resetCollections();"},{"lineNumber":108,"author":{"gitId":"-"},"content":" SearchManagerFactory.getInstructorSearchManager().resetCollections();"},{"lineNumber":109,"author":{"gitId":"-"},"content":" SearchManagerFactory.getStudentSearchManager().resetCollections();"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" LOCAL_DATASTORE_HELPER.reset();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" @AfterSuite"},{"lineNumber":115,"author":{"gitId":"-"},"content":" public void tearDownLocalDatastoreHelper() throws Exception {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" PGSQL.close();"},{"lineNumber":117,"author":{"gitId":"-"},"content":" LOCAL_DATASTORE_HELPER.stop();"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":121,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" @AfterMethod"},{"lineNumber":126,"author":{"gitId":"-"},"content":" protected void tearDown() {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" HibernateUtil.rollbackTransaction();"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":131,"author":{"gitId":"-"},"content":" protected AccountAttributes getAccount(AccountAttributes account) {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" return logic.getAccount(account.getGoogleId());"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":136,"author":{"gitId":"-"},"content":" protected CourseAttributes getCourse(CourseAttributes course) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" return logic.getCourse(course.getId());"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":141,"author":{"gitId":"-"},"content":" protected FeedbackQuestionAttributes getFeedbackQuestion(FeedbackQuestionAttributes fq) {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" return logic.getFeedbackQuestion(fq.getFeedbackSessionName(), fq.getCourseId(), fq.getQuestionNumber());"},{"lineNumber":143,"author":{"gitId":"-"},"content":" }"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":146,"author":{"gitId":"-"},"content":" protected FeedbackResponseCommentAttributes getFeedbackResponseComment(FeedbackResponseCommentAttributes frc) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" return logic.getFeedbackResponseComment(frc.getFeedbackResponseId(), frc.getCommentGiver(), frc.getCreatedAt());"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":151,"author":{"gitId":"-"},"content":" protected FeedbackResponseAttributes getFeedbackResponse(FeedbackResponseAttributes fr) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" return logic.getFeedbackResponse(fr.getFeedbackQuestionId(), fr.getGiver(), fr.getRecipient());"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":156,"author":{"gitId":"-"},"content":" protected FeedbackSessionAttributes getFeedbackSession(FeedbackSessionAttributes fs) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" return logic.getFeedbackSession(fs.getFeedbackSessionName(), fs.getCourseId());"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":161,"author":{"gitId":"-"},"content":" protected InstructorAttributes getInstructor(InstructorAttributes instructor) {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" return instructor.getGoogleId() \u003d\u003d null"},{"lineNumber":163,"author":{"gitId":"-"},"content":" ? logic.getInstructorForEmail(instructor.getCourseId(), instructor.getEmail())"},{"lineNumber":164,"author":{"gitId":"-"},"content":" : logic.getInstructorForGoogleId(instructor.getCourseId(), instructor.getGoogleId());"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":168,"author":{"gitId":"-"},"content":" protected StudentAttributes getStudent(StudentAttributes student) {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" return logic.getStudentForEmail(student.getCourse(), student.getEmail());"},{"lineNumber":170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":173,"author":{"gitId":"-"},"content":" protected AccountRequestAttributes getAccountRequest(AccountRequestAttributes accountRequest) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" return logic.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":178,"author":{"gitId":"-"},"content":" protected DeadlineExtensionAttributes getDeadlineExtension(DeadlineExtensionAttributes deadlineExtension) {"},{"lineNumber":179,"author":{"gitId":"-"},"content":" return logic.getDeadlineExtension("},{"lineNumber":180,"author":{"gitId":"-"},"content":" deadlineExtension.getCourseId(), deadlineExtension.getFeedbackSessionName(),"},{"lineNumber":181,"author":{"gitId":"-"},"content":" deadlineExtension.getUserEmail(), deadlineExtension.getIsInstructor());"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":185,"author":{"gitId":"-"},"content":" protected NotificationAttributes getNotification(NotificationAttributes notification) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" return logic.getNotification(notification.getNotificationId());"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" protected void removeAndRestoreTypicalDataBundle() {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" DataBundle dataBundle \u003d getTypicalDataBundle();"},{"lineNumber":191,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(dataBundle);"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":195,"author":{"gitId":"-"},"content":" protected boolean doRemoveAndRestoreDataBundle(DataBundle dataBundle) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" logic.removeDataBundle(dataBundle);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" logic.persistDataBundle(dataBundle);"},{"lineNumber":199,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" e.printStackTrace();"},{"lineNumber":202,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":207,"author":{"gitId":"-"},"content":" protected SqlDataBundle doRemoveAndRestoreSqlDataBundle(SqlDataBundle dataBundle) {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" sqlLogic.removeDataBundle(dataBundle);"},{"lineNumber":210,"author":{"gitId":"-"},"content":" return sqlLogic.persistDataBundle(dataBundle);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" e.printStackTrace();"},{"lineNumber":213,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":218,"author":{"gitId":"-"},"content":" protected boolean doPutDocuments(DataBundle dataBundle) {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" logic.putDocuments(dataBundle);"},{"lineNumber":221,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":222,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" e.printStackTrace();"},{"lineNumber":224,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":" }"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":229,"author":{"gitId":"domoberzin"},"content":" protected boolean doPutDocumentsSql(SqlDataBundle dataBundle) {"},{"lineNumber":230,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":231,"author":{"gitId":"domoberzin"},"content":" sqlLogic.putDocuments(dataBundle);"},{"lineNumber":232,"author":{"gitId":"domoberzin"},"content":" return true;"},{"lineNumber":233,"author":{"gitId":"domoberzin"},"content":" } catch (Exception e) {"},{"lineNumber":234,"author":{"gitId":"domoberzin"},"content":" e.printStackTrace();"},{"lineNumber":235,"author":{"gitId":"domoberzin"},"content":" return false;"},{"lineNumber":236,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":237,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":238,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" protected Account getAccountFromDatabase(String googleId) {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" return sqlLogic.getAccountForGoogleId(googleId);"},{"lineNumber":241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" protected void clearObjectifyCache() {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" ObjectifyService.ofy().clear();"},{"lineNumber":245,"author":{"gitId":"-"},"content":" }"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":18,"-":229}},{"path":"src/test/java/teammates/test/BaseTestCaseWithSqlDatabaseAccess.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.test;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackResponseDetails;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.Const;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.BaseEntity;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.UsageStatistics;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.ui.output.AccountData;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.ui.output.ApiOutput;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.ui.output.CourseData;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.ui.output.DeadlineExtensionData;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackQuestionData;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackResponseCommentData;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackResponseData;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionData;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorData;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.ui.output.NotificationData;"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.output.NumberOfEntitiesToGiveFeedbackToSetting;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentData;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.ui.output.UsageStatisticsData;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":34,"author":{"gitId":"-"},"content":" * Base class for all test cases which are allowed to access the database."},{"lineNumber":35,"author":{"gitId":"-"},"content":" */"},{"lineNumber":36,"author":{"gitId":"-"},"content":"public abstract class BaseTestCaseWithSqlDatabaseAccess extends BaseTestCase {"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final int VERIFICATION_RETRY_COUNT \u003d 5;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final int VERIFICATION_RETRY_DELAY_IN_MS \u003d 1000;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final int OPERATION_RETRY_COUNT \u003d 5;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final int OPERATION_RETRY_DELAY_IN_MS \u003d 1000;"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":44,"author":{"gitId":"-"},"content":" * Removes and restores the databundle, with retries."},{"lineNumber":45,"author":{"gitId":"-"},"content":" */"},{"lineNumber":46,"author":{"gitId":"-"},"content":" protected SqlDataBundle removeAndRestoreDataBundle(SqlDataBundle testData) {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" int retryLimit \u003d OPERATION_RETRY_COUNT;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" SqlDataBundle dataBundle \u003d doRemoveAndRestoreDataBundle(testData);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" while (dataBundle \u003d\u003d null \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" print(\"Re-trying removeAndRestoreDataBundle\");"},{"lineNumber":52,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(OPERATION_RETRY_DELAY_IN_MS);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" dataBundle \u003d doRemoveAndRestoreDataBundle(testData);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":" assertNotNull(dataBundle);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" return dataBundle;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" protected abstract SqlDataBundle doRemoveAndRestoreDataBundle(SqlDataBundle testData);"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Verifies that two entities are equal."},{"lineNumber":63,"author":{"gitId":"-"},"content":" */"},{"lineNumber":64,"author":{"gitId":"-"},"content":" protected void verifyEquals(BaseEntity expected, ApiOutput actual) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (expected instanceof FeedbackQuestion) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" FeedbackQuestion expectedQuestion \u003d (FeedbackQuestion) expected;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails expectedQuestionDetails \u003d expectedQuestion.getQuestionDetailsCopy();"},{"lineNumber":68,"author":{"gitId":"-"},"content":" FeedbackQuestionData actualQuestion \u003d (FeedbackQuestionData) actual;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails actualQuestionDetails \u003d actualQuestion.getQuestionDetails();"},{"lineNumber":70,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestion.getQuestionNumber(), (Integer) actualQuestion.getQuestionNumber());"},{"lineNumber":71,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestion.getDescription(), actualQuestion.getQuestionDescription());"},{"lineNumber":72,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestion.getGiverType(), actualQuestion.getGiverType());"},{"lineNumber":73,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestion.getRecipientType(), actualQuestion.getRecipientType());"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" if (expectedQuestion.getNumOfEntitiesToGiveFeedbackTo() \u003d\u003d Const.MAX_POSSIBLE_RECIPIENTS) {"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" assertEquals(actualQuestion.getNumberOfEntitiesToGiveFeedbackToSetting(),"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" NumberOfEntitiesToGiveFeedbackToSetting.UNLIMITED);"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" assertNull(actualQuestion.getCustomNumberOfEntitiesToGiveFeedbackTo());"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" assertEquals(actualQuestion.getNumberOfEntitiesToGiveFeedbackToSetting(),"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" NumberOfEntitiesToGiveFeedbackToSetting.CUSTOM);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestion.getNumOfEntitiesToGiveFeedbackTo(),"},{"lineNumber":82,"author":{"gitId":"-"},"content":" actualQuestion.getCustomNumberOfEntitiesToGiveFeedbackTo());"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestionDetails.getJsonString(), actualQuestionDetails.getJsonString());"},{"lineNumber":85,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponse) {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" FeedbackResponse expectedFeedbackResponse \u003d (FeedbackResponse) expected;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" FeedbackResponseDetails expectedResponseDetails \u003d"},{"lineNumber":88,"author":{"gitId":"-"},"content":" expectedFeedbackResponse.getFeedbackResponseDetailsCopy();"},{"lineNumber":89,"author":{"gitId":"-"},"content":" FeedbackResponseData actualResponse \u003d (FeedbackResponseData) actual;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" FeedbackResponseDetails actualResponseDetails \u003d actualResponse.getResponseDetails();"},{"lineNumber":91,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackResponse.getGiver(), actualResponse.getGiverIdentifier());"},{"lineNumber":92,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackResponse.getRecipient(), actualResponse.getRecipientIdentifier());"},{"lineNumber":93,"author":{"gitId":"-"},"content":" assertEquals(expectedResponseDetails.getAnswerString(),"},{"lineNumber":94,"author":{"gitId":"-"},"content":" actualResponse.getResponseDetails().getAnswerString());"},{"lineNumber":95,"author":{"gitId":"-"},"content":" assertEquals(expectedResponseDetails.getQuestionType(),"},{"lineNumber":96,"author":{"gitId":"-"},"content":" actualResponse.getResponseDetails().getQuestionType());"},{"lineNumber":97,"author":{"gitId":"-"},"content":" assertEquals(expectedResponseDetails.getJsonString(), actualResponseDetails.getJsonString());"},{"lineNumber":98,"author":{"gitId":"-"},"content":" } else if (expected instanceof Account) {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" Account expectedAccount \u003d (Account) expected;"},{"lineNumber":100,"author":{"gitId":"-"},"content":" AccountData actualAccount \u003d (AccountData) actual;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" assertEquals(expectedAccount.getGoogleId(), actualAccount.getGoogleId());"},{"lineNumber":102,"author":{"gitId":"-"},"content":" assertEquals(expectedAccount.getName(), actualAccount.getName());"},{"lineNumber":103,"author":{"gitId":"-"},"content":" assertEquals(expectedAccount.getEmail(), actualAccount.getEmail());"},{"lineNumber":104,"author":{"gitId":"-"},"content":" } else if (expected instanceof Course) {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" Course expectedCourse \u003d (Course) expected;"},{"lineNumber":106,"author":{"gitId":"-"},"content":" CourseData actualCourse \u003d (CourseData) actual;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" assertEquals(expectedCourse.getName(), actualCourse.getCourseName());"},{"lineNumber":108,"author":{"gitId":"-"},"content":" assertEquals(expectedCourse.getTimeZone(), actualCourse.getTimeZone());"},{"lineNumber":109,"author":{"gitId":"-"},"content":" assertEquals(expectedCourse.getInstitute(), actualCourse.getInstitute());"},{"lineNumber":110,"author":{"gitId":"-"},"content":" } else if (expected instanceof DeadlineExtension) {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" DeadlineExtension expectedDeadlineExtension \u003d (DeadlineExtension) expected;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" DeadlineExtensionData actualDeadlineExtension \u003d (DeadlineExtensionData) actual;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" assertEquals(expectedDeadlineExtension.getEndTime().toEpochMilli(), actualDeadlineExtension.getEndTime());"},{"lineNumber":114,"author":{"gitId":"-"},"content":" assertEquals(expectedDeadlineExtension.isClosingSoonEmailSent(),"},{"lineNumber":115,"author":{"gitId":"-"},"content":" actualDeadlineExtension.getSentClosingEmail());"},{"lineNumber":116,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponseComment) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" FeedbackResponseComment expectedFeedbackResponseComment \u003d (FeedbackResponseComment) expected;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" FeedbackResponseCommentData actualComment \u003d (FeedbackResponseCommentData) actual;"},{"lineNumber":119,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackResponseComment.getGiver(), actualComment.getCommentGiver());"},{"lineNumber":120,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackResponseComment.getCommentText(), actualComment.getCommentText());"},{"lineNumber":121,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackResponseComment.getIsVisibilityFollowingFeedbackQuestion(),"},{"lineNumber":122,"author":{"gitId":"-"},"content":" actualComment.isVisibilityFollowingFeedbackQuestion());"},{"lineNumber":123,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackResponseComment.getLastEditorEmail(), actualComment.getLastEditorEmail());"},{"lineNumber":124,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackSession) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" FeedbackSession expectedFeedbackSession \u003d (FeedbackSession) expected;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" FeedbackSessionData actualFeedbackSession \u003d (FeedbackSessionData) actual;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.getName(), actualFeedbackSession.getFeedbackSessionName());"},{"lineNumber":128,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.getInstructions(), actualFeedbackSession.getInstructions());"},{"lineNumber":129,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.getStartTime().toEpochMilli(),"},{"lineNumber":130,"author":{"gitId":"-"},"content":" actualFeedbackSession.getSubmissionStartTimestamp());"},{"lineNumber":131,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.getEndTime().toEpochMilli(),"},{"lineNumber":132,"author":{"gitId":"-"},"content":" actualFeedbackSession.getSubmissionEndTimestamp());"},{"lineNumber":133,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.getSessionVisibleFromTime().toEpochMilli(),"},{"lineNumber":134,"author":{"gitId":"-"},"content":" actualFeedbackSession.getSessionVisibleFromTimestamp().longValue());"},{"lineNumber":135,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.getResultsVisibleFromTime().toEpochMilli(),"},{"lineNumber":136,"author":{"gitId":"-"},"content":" actualFeedbackSession.getResultVisibleFromTimestamp().longValue());"},{"lineNumber":137,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.getGracePeriod().toMinutes(),"},{"lineNumber":138,"author":{"gitId":"-"},"content":" actualFeedbackSession.getGracePeriod().longValue());"},{"lineNumber":139,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.isClosingEmailEnabled(),"},{"lineNumber":140,"author":{"gitId":"-"},"content":" actualFeedbackSession.getIsClosingEmailEnabled());"},{"lineNumber":141,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.isPublishedEmailEnabled(),"},{"lineNumber":142,"author":{"gitId":"-"},"content":" actualFeedbackSession.getIsPublishedEmailEnabled());"},{"lineNumber":143,"author":{"gitId":"-"},"content":" } else if (expected instanceof Instructor) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" Instructor expectedInstructor \u003d (Instructor) expected;"},{"lineNumber":145,"author":{"gitId":"-"},"content":" InstructorData actualInstructor \u003d (InstructorData) actual;"},{"lineNumber":146,"author":{"gitId":"-"},"content":" assertEquals(expectedInstructor.getCourseId(), actualInstructor.getCourseId());"},{"lineNumber":147,"author":{"gitId":"-"},"content":" assertEquals(expectedInstructor.getName(), actualInstructor.getName());"},{"lineNumber":148,"author":{"gitId":"-"},"content":" assertEquals(expectedInstructor.getEmail(), actualInstructor.getEmail());"},{"lineNumber":149,"author":{"gitId":"-"},"content":" assertEquals(expectedInstructor.getRegKey(), actualInstructor.getKey());"},{"lineNumber":150,"author":{"gitId":"-"},"content":" assertEquals(expectedInstructor.isDisplayedToStudents(), actualInstructor.getIsDisplayedToStudents());"},{"lineNumber":151,"author":{"gitId":"-"},"content":" assertEquals(expectedInstructor.getDisplayName(), actualInstructor.getDisplayedToStudentsAs());"},{"lineNumber":152,"author":{"gitId":"-"},"content":" assertEquals(expectedInstructor.getRole(), actualInstructor.getRole());"},{"lineNumber":153,"author":{"gitId":"-"},"content":" } else if (expected instanceof Notification) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" Notification expectedNotification \u003d (Notification) expected;"},{"lineNumber":155,"author":{"gitId":"-"},"content":" NotificationData actualNotification \u003d (NotificationData) actual;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" assertEquals(expectedNotification.getStartTime().toEpochMilli(), actualNotification.getStartTimestamp());"},{"lineNumber":157,"author":{"gitId":"-"},"content":" assertEquals(expectedNotification.getEndTime().toEpochMilli(), actualNotification.getEndTimestamp());"},{"lineNumber":158,"author":{"gitId":"-"},"content":" assertEquals(expectedNotification.getStyle(), actualNotification.getStyle());"},{"lineNumber":159,"author":{"gitId":"-"},"content":" assertEquals(expectedNotification.getTargetUser(), actualNotification.getTargetUser());"},{"lineNumber":160,"author":{"gitId":"-"},"content":" assertEquals(expectedNotification.getTitle(), actualNotification.getTitle());"},{"lineNumber":161,"author":{"gitId":"-"},"content":" assertEquals(expectedNotification.getMessage(), actualNotification.getMessage());"},{"lineNumber":162,"author":{"gitId":"-"},"content":" assertEquals(expectedNotification.isShown(), actualNotification.isShown());"},{"lineNumber":163,"author":{"gitId":"-"},"content":" } else if (expected instanceof Student) {"},{"lineNumber":164,"author":{"gitId":"-"},"content":" Student expectedStudent \u003d (Student) expected;"},{"lineNumber":165,"author":{"gitId":"-"},"content":" StudentData actualStudent \u003d (StudentData) actual;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" assertEquals(expectedStudent.getCourseId(), actualStudent.getCourseId());"},{"lineNumber":167,"author":{"gitId":"-"},"content":" assertEquals(expectedStudent.getName(), actualStudent.getName());"},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertEquals(expectedStudent.getEmail(), actualStudent.getEmail());"},{"lineNumber":169,"author":{"gitId":"-"},"content":" assertEquals(expectedStudent.getRegKey(), actualStudent.getKey());"},{"lineNumber":170,"author":{"gitId":"-"},"content":" assertEquals(expectedStudent.getComments(), actualStudent.getComments());"},{"lineNumber":171,"author":{"gitId":"-"},"content":" // TODO: A student might not have a team or section."},{"lineNumber":172,"author":{"gitId":"-"},"content":" // assertEquals(expectedStudent.getTeamName(), actualStudent.getTeamName());"},{"lineNumber":173,"author":{"gitId":"-"},"content":" // assertEquals(expectedStudent.getSectionName(), actualStudent.getSectionName());"},{"lineNumber":174,"author":{"gitId":"-"},"content":" } else if (expected instanceof UsageStatistics) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" UsageStatistics expectedUsageStatistics \u003d (UsageStatistics) expected;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" UsageStatisticsData actualUsageStatistics \u003d (UsageStatisticsData) actual;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getStartTime().toEpochMilli(), actualUsageStatistics.getStartTime());"},{"lineNumber":178,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getTimePeriod(), actualUsageStatistics.getTimePeriod());"},{"lineNumber":179,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getNumResponses(), actualUsageStatistics.getNumResponses());"},{"lineNumber":180,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getNumCourses(), actualUsageStatistics.getNumCourses());"},{"lineNumber":181,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getNumStudents(), actualUsageStatistics.getNumStudents());"},{"lineNumber":182,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getNumInstructors(), actualUsageStatistics.getNumInstructors());"},{"lineNumber":183,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getNumAccountRequests(),"},{"lineNumber":184,"author":{"gitId":"-"},"content":" actualUsageStatistics.getNumAccountRequests());"},{"lineNumber":185,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getNumEmails(), actualUsageStatistics.getNumEmails());"},{"lineNumber":186,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getNumSubmissions(), actualUsageStatistics.getNumSubmissions());"},{"lineNumber":187,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" fail(\"Unknown entity\");"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":193,"author":{"gitId":"-"},"content":" * Verifies that the given entity is present in the database."},{"lineNumber":194,"author":{"gitId":"-"},"content":" */"},{"lineNumber":195,"author":{"gitId":"-"},"content":" protected void verifyPresentInDatabase(BaseEntity expected) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" int retryLimit \u003d VERIFICATION_RETRY_COUNT;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" ApiOutput actual \u003d getEntity(expected);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" while (actual \u003d\u003d null \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(VERIFICATION_RETRY_DELAY_IN_MS);"},{"lineNumber":201,"author":{"gitId":"-"},"content":" actual \u003d getEntity(expected);"},{"lineNumber":202,"author":{"gitId":"-"},"content":" }"},{"lineNumber":203,"author":{"gitId":"-"},"content":" verifyEquals(expected, actual);"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":207,"author":{"gitId":"-"},"content":" * Verifies that the given entity is absent in the database."},{"lineNumber":208,"author":{"gitId":"-"},"content":" */"},{"lineNumber":209,"author":{"gitId":"-"},"content":" protected void verifyAbsentInDatabase(BaseEntity expected) {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" int retryLimit \u003d VERIFICATION_RETRY_COUNT;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" ApiOutput actual \u003d getEntity(expected);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" while (actual !\u003d null \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":214,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(VERIFICATION_RETRY_DELAY_IN_MS);"},{"lineNumber":215,"author":{"gitId":"-"},"content":" actual \u003d getEntity(expected);"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":" assertNull(actual);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" private ApiOutput getEntity(BaseEntity entity) {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" if (entity instanceof Student) {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" return getStudent((Student) entity);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" } else if (entity instanceof FeedbackQuestion) {"},{"lineNumber":224,"author":{"gitId":"-"},"content":" return getFeedbackQuestion((FeedbackQuestion) entity);"},{"lineNumber":225,"author":{"gitId":"-"},"content":" } else if (entity instanceof FeedbackResponse) {"},{"lineNumber":226,"author":{"gitId":"-"},"content":" return getFeedbackResponse((FeedbackResponse) entity);"},{"lineNumber":227,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unknown entity type\");"},{"lineNumber":229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":230,"author":{"gitId":"-"},"content":" }"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" protected abstract FeedbackQuestionData getFeedbackQuestion(FeedbackQuestion fq);"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" protected abstract FeedbackResponseData getFeedbackResponse(FeedbackResponse fq);"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" protected abstract StudentData getStudent(Student student);"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":10,"-":228}},{"path":"src/web/app/components/comment-box/comment-row/comment-row.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctm-comment-edit-form *ngIf\u003d\"model.isEditing || mode \u003d\u003d\u003d CommentRowMode.ADD\""},{"lineNumber":2,"author":{"gitId":"-"},"content":" [mode]\u003d\"mode\""},{"lineNumber":3,"author":{"gitId":"-"},"content":" [model]\u003d\"model.commentEditFormModel\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" (modelChange)\u003d\"triggerModelChange(\u0027commentEditFormModel\u0027, $event)\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" [isVisibilityOptionEnabled]\u003d\"isVisibilityOptionEnabled\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" [isDisabled]\u003d\"isDisabled\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" [shouldHideSavingButton]\u003d\"shouldHideSavingButton\""},{"lineNumber":8,"author":{"gitId":"-"},"content":" [questionShowResponsesTo]\u003d\"questionShowResponsesTo\""},{"lineNumber":9,"author":{"gitId":"-"},"content":" [response]\u003d\"response\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" [isFeedbackParticipantComment]\u003d\"isFeedbackParticipantComment\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" [shouldHideClosingButton]\u003d\"shouldHideClosingButton\""},{"lineNumber":12,"author":{"gitId":"-"},"content":" (closeCommentBoxEvent)\u003d\"triggerCloseEditing()\""},{"lineNumber":13,"author":{"gitId":"-"},"content":" (saveCommentEvent)\u003d\"triggerSaveCommentEvent()\"\u003e\u003c/tm-comment-edit-form\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"card\" *ngIf\u003d\"!model.isEditing \u0026\u0026 mode \u003d\u003d\u003d CommentRowMode.EDIT \u0026\u0026 model.originalComment\"\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row comment-row\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"by-response-giver text-secondary\" *ngIf\u003d\"isFeedbackParticipantComment\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" Comment by response giver."},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":22,"author":{"gitId":"yuanxi1"},"content":" \u003cng-container class\u003d\"text-secondary\" *ngIf\u003d\"!isFeedbackParticipantComment\"\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"comment-giver-name\"\u003e{{ model.commentGiverName ? model.commentGiverName : model.originalComment.commentGiver }} commented at \u003c/span\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"ngb-tooltip-class\" style\u003d\"margin-right: .25rem;\" [ngbTooltip]\u003d\"model.originalComment.createdAt | formatDateDetail: model.timezone!\"\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" {{ model.originalComment.createdAt | formatDateBrief: model.timezone! }}\u003c/span\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003cng-container *ngIf\u003d\"model.originalComment.lastEditedAt \u0026\u0026 model.originalComment.lastEditedAt !\u003d\u003d model.originalComment.createdAt\"\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-circle dot-xs align-middle\" style\u003d\"margin-right: .25rem;\"\u003e\u003c/i\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003cspan id\u003d\"last-editor-name\" style\u003d\"margin-right: .25rem;\" class\u003d\"ngb-tooltip-class\""},{"lineNumber":29,"author":{"gitId":"-"},"content":" [ngbTooltip]\u003d\"model.originalComment.lastEditedAt | formatDateDetail: model.timezone!\"\u003eedited by {{ model.lastEditorName ? model.lastEditorName : model.originalComment.lastEditorEmail }}\u003c/span\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003c/ng-container\u003e"},{"lineNumber":31,"author":{"gitId":"yuanxi1"},"content":" \u003c/ng-container\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fa fa-eye\" aria-hidden\u003d\"true\" ngbTooltip\u003d\"This response comment is visible to {{ visibilityStateMachine.getVisibilityTypesUnderVisibilityControl(CommentVisibilityControl.SHOW_COMMENT) | commentVisibilityTypesJointName }}\"\u003e\u003c/i\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"float-end\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn-edit-comment btn btn-outline-primary btn-sm\" *ngIf\u003d\"!shouldHideEditButton\" ngbTooltip\u003d\u0027Edit this comment\u0027"},{"lineNumber":37,"author":{"gitId":"-"},"content":" (click)\u003d\"triggerModelChange(\u0027isEditing\u0027, true)\" [disabled]\u003d\"isDisabled\"\u003e\u003ci class\u003d\"fas fa-pencil-alt\"\u003e\u003c/i\u003e\u003c/button\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn-delete-comment btn btn-outline-primary btn-sm btn-margin-left\" *ngIf\u003d\"!shouldHideDeleteButton\" ngbTooltip\u003d\u0027Delete this comment\u0027"},{"lineNumber":39,"author":{"gitId":"-"},"content":" (click)\u003d\"triggerDeleteCommentEvent()\" [disabled]\u003d\"isDisabled\"\u003e\u003ci class\u003d\"fas fa-trash\"\u003e\u003c/i\u003e\u003c/button\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"comment-text col-12\" [innerHTML]\u003d\"model.originalComment.commentText | safeHtml\"\u003e\u003c/div\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"yuanxi1":2,"-":43}},{"path":"src/web/app/components/notification-banner/notification-banner.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"yuanxi1"},"content":"\u003cdiv id\u003d\"notification-banner\" class\u003d\"banner\" [ngClass]\u003d\"notifications[0].style | notificationStyleClass\" *ngIf\u003d\"isShown \u0026\u0026 notifications.length \u003e 0\" [attr.data-testid]\u003d\"notifications[0].notificationId\" @collapseAnim\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-close-notif\" type\u003d\"button\" class\u003d\"btn-close\" aria-label\u003d\"Close\" (click)\u003d\"closeNotification()\"\u003e\u003c/button\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003ch5\u003e{{ notifications[0].title }}\u003c/h5\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"banner-text\" [innerHTML]\u003d\"notifications[0].message\"\u003e\u003c/div\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"d-flex flex-row-reverse mt-3 me-2\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-mark-as-read\" type\u003d\"button\" [ngClass]\u003d\"getButtonClass(notifications[0])\" (click)\u003d\"markNotificationAsRead(notifications[0])\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" Mark as Read"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"yuanxi1":1,"-":9}},{"path":"src/web/app/components/session-edit-form/session-edit-form.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"session-edit-form\" class\u003d\"card card-plain\"\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"close-header\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.ADD\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn-close\" aria-label\u003d\"Close\" (click)\u003d\"closeEditFormHandler()\"\u003e\u003c/button\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.ADD\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-lg-7\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row mb-2\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 col-sm-3 session-heading-text\"\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003ch5\u003eCreate new\u003c/h5\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 col-sm-9 create-new-dropdown-div\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cselect id\u003d\"session-type\" class\u003d\"form-control form-select\" [ngModel]\u003d\"model.templateSessionName\" (ngModelChange)\u003d\"triggerModelChange(\u0027templateSessionName\u0027, $event)\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003coption *ngFor\u003d\"let templateSession of templateSessions\" [ngValue]\u003d\"templateSession.name\"\u003e{{ templateSession.name }}\u003c/option\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/select\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003ca type\u003d\"button\" class\u003d\"btn btn-link\" tmRouterLink\u003d\"/web/instructor/help\" [queryParams]\u003d\"{ questionId: \u0027sessions\u0027, section: \u0027sessions\u0027 }\" target\u003d\"_blank\" aria-label\u003d\"Help for feedback sessions\"\u003e\u003ci class\u003d\"fas fa-info-circle\"\u003e\u003c/i\u003e\u003c/a\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-lg-5\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row\"\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 col-sm-3 col-lg-1 session-heading-text\"\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003ch5\u003eOr\u003c/h5\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 col-sm-9 col-lg-11 text-md-start\"\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-copy-session\" type\u003d\"button\" class\u003d\"btn btn-info\" (click)\u003d\"copyOthersHandler()\"\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003cspan\u003eCopy from previous feedback sessions\u003c/span\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"padding-left-7px\"\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003ctm-ajax-loading *ngIf\u003d\"isCopyOtherSessionLoading\"\u003e\u003c/tm-ajax-loading\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.EDIT\"\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 text-center text-md-end session-form-buttons\"\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-fs-edit\" type\u003d\"button\" class\u003d\"btn btn-primary\" (click)\u003d\"triggerModelChange(\u0027isEditable\u0027, true)\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.EDIT \u0026\u0026 !model.isEditable \u0026\u0026 !model.isSaving\"\u003e\u003ci class\u003d\"fas fa-pencil-alt\"\u003e\u003c/i\u003e Edit\u003c/button\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-fs-save\" type\u003d\"button\" class\u003d\"btn btn-primary\" (click)\u003d\"submitFormHandler()\" [disabled]\u003d\"model.isSaving\" *ngIf\u003d\"model.isEditable || model.isSaving\"\u003e\u003ctm-ajax-loading *ngIf\u003d\"model.isSaving\"\u003e\u003c/tm-ajax-loading\u003e \u003ci class\u003d\"fas fa-check\"\u003e\u003c/i\u003e Save\u003c/button\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn btn-primary\" ngbTooltip\u003d\"Discard changes to the feedback session\" (click)\u003d\"cancelHandler()\" *ngIf\u003d\"model.isEditable\" [disabled]\u003d\"model.isSaving\"\u003e\u003ci class\u003d\"fas fa-ban\"\u003e\u003c/i\u003e Cancel\u003c/button\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-fs-delete\" type\u003d\"button\" class\u003d\"btn btn-primary\" ngbTooltip\u003d\"Delete the feedback session\" (click)\u003d\"deleteHandler()\" [disabled]\u003d\"model.isSaving\"\u003e\u003ctm-ajax-loading *ngIf\u003d\"model.isDeleting\"\u003e\u003c/tm-ajax-loading\u003e\u003ci class\u003d\"fas fa-trash\"\u003e\u003c/i\u003e Delete\u003c/button\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-fs-copy\" type\u003d\"button\" class\u003d\"btn btn-primary\" ngbTooltip\u003d\"Copy this feedback session to other courses\" (click)\u003d\"copyHandler()\" [disabled]\u003d\"model.isSaving\"\u003e\u003ctm-ajax-loading *ngIf\u003d\"model.isCopying\"\u003e\u003c/tm-ajax-loading\u003e\u003ci class\u003d\"far fa-copy\"\u003e\u003c/i\u003e Copy\u003c/button\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card border-primary margin-top-20px\"\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 text-md-end font-bold\" [ngClass]\u003d\"{\u0027col-form-label\u0027: formMode \u003d\u003d\u003d SessionEditFormMode.ADD}\"\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"ngb-tooltip-class\" ngbTooltip\u003d\"Course for which the feedback session is for.\"\u003eCourse ID\u003c/span\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-auto text-md-start\"\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.ADD\"\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003cselect id\u003d\"add-course-id\" class\u003d\"form-control form-select\" [ngClass]\u003d\"{\u0027is-invalid\u0027: courseCandidates.length \u003d\u003d\u003d 0}\" [ngModel]\u003d\"model.courseId\" (ngModelChange)\u003d\"courseIdChangeHandler($event)\" [disabled]\u003d\"courseCandidates.length \u003d\u003d\u003d 0\"\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003coption *ngFor\u003d\"let course of courseCandidates\" [ngValue]\u003d\"course.courseId\"\u003e{{ course.courseId }}\u003c/option\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003c/select\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"invalid-feedback\" *ngIf\u003d\"courseCandidates.length \u003d\u003d\u003d 0\"\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" There is no un-archived course."},{"lineNumber":59,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"edit-course-id\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.EDIT\"\u003e {{ model.courseId }} \u003c/div\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" \u003cbr/\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 text-md-end font-bold\" [ngClass]\u003d\"{\u0027col-form-label\u0027: formMode \u003d\u003d\u003d SessionEditFormMode.ADD}\"\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":" Time Zone"},{"lineNumber":68,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"time-zone\" class\u003d\"col-md-3 text-md-start\" [ngClass]\u003d\"{\u0027col-form-label\u0027: formMode \u003d\u003d\u003d SessionEditFormMode.ADD}\"\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"ngb-tooltip-class\" ngbTooltip\u003d\"To change this, edit the course settings. TEAMMATES automatically adjusts to match the current time offset in your area, including clock changes due to daylight saving time.\"\u003e{{ model.timeZone }}\u003c/span\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003cbr/\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 text-md-end font-bold\"\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" Course Name"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"course-name\" class\u003d\"col-md-10 text-md-start\"\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" {{ model.courseName }}"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003cbr/\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 text-md-end font-bold\"\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":" \u003cspan *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.ADD\" class\u003d\"ngb-tooltip-class\" ngbTooltip\u003d\"Enter the name of the feedback session e.g. Feedback Session 1.\"\u003eSession Name*\u003c/span\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":" \u003cspan *ngIf\u003d\"formMode !\u003d\u003d SessionEditFormMode.ADD\"\u003eSession Name\u003c/span\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-10 text-md-start\"\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.ADD\"\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"add-session-name\" type\u003d\"text\" class\u003d\"form-control\" [ngModel]\u003d\"model.feedbackSessionName\" (ngModelChange)\u003d\"triggerModelChange(\u0027feedbackSessionName\u0027, $event)\" placeholder\u003d\"e.g. Feedback for Project Presentation 1\" maxlength\u003d\"64\" required #sessionName\u003d\"ngModel\" /\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":" \u003cdiv [hidden]\u003d\"sessionName.valid || (sessionName.pristine \u0026\u0026 sessionName.untouched)\" class\u003d\"invalid-field\"\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fa fa-exclamation-circle\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" The field Session Name should not be empty."},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \u003cdiv\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":" {{FEEDBACK_SESSION_NAME_MAX_LENGTH - model.feedbackSessionName.length}} characters left"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"edit-session-name\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.EDIT\"\u003e {{ model.feedbackSessionName }} \u003c/div\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003cbr/\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 text-md-end font-bold\"\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"ngb-tooltip-class\" ngbTooltip\u003d\"Will be displayed at the top of the page when users respond to the session.\"\u003eInstructions\u003c/span\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-10 text-md-start\"\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \u003ctm-rich-text-editor id\u003d\"instructions\" [richText]\u003d\"model.instructions\" (richTextChange)\u003d\"triggerModelChange(\u0027instructions\u0027, $event)\" [isDisabled]\u003d\"!model.isEditable\" [hasCharacterLimit]\u003d\"true\"\u003e\u003c/tm-rich-text-editor\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":" \u003cbr/\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.EDIT\"\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 text-md-end font-bold\"\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":" Submission Status"},{"lineNumber":115,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":116,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"submission-status\" class\u003d\"col-md-4 text-md-start\"\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":" {{ model.submissionStatus | submissionStatusName }}"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 text-md-end font-bold mt-3 mt-md-0\"\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":" Published Status"},{"lineNumber":121,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"published-status\" class\u003d\"col-md-4 text-md-start\"\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":" {{ model.publishStatus | publishStatusName }}"},{"lineNumber":124,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card border-primary margin-top-20px\"\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4\"\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 text-md-start\"\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":" \u003cdiv\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class label-control font-bold\" ngbTooltip\u003d\"Users can start submitting responses.\"\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":" Submission opening time"},{"lineNumber":137,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":138,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center align-items-center\"\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"submission-start-date\" class\u003d\"col-md-7 col-xs-center\"\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":" \u003ctm-datepicker [isDisabled]\u003d\"!model.isEditable\" (dateChangeCallback)\u003d\"triggerSubmissionOpeningDateModelChange(\u0027submissionStartDate\u0027, $event)\""},{"lineNumber":143,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForSubmissionStart\" [maxDate]\u003d\"maxDateForSubmissionStart\""},{"lineNumber":144,"author":{"gitId":"-"},"content":" [date]\u003d\"model.submissionStartDate\"\u003e\u003c/tm-datepicker\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-5\"\u003e"},{"lineNumber":147,"author":{"gitId":"-"},"content":" \u003ctm-timepicker id\u003d\"submission-start-time\" [isDisabled]\u003d\"!model.isEditable\" (timeChange)\u003d\"triggerModelChange(\u0027submissionStartTime\u0027, $event)\""},{"lineNumber":148,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForSubmissionStart\" [maxDate]\u003d\"maxDateForSubmissionStart\""},{"lineNumber":149,"author":{"gitId":"-"},"content":" [date]\u003d\"model.submissionStartDate\""},{"lineNumber":150,"author":{"gitId":"-"},"content":" [minTime]\u003d\"minTimeForSubmissionStart\" [maxTime]\u003d\"maxTimeForSubmissionStart\""},{"lineNumber":151,"author":{"gitId":"-"},"content":" [time]\u003d\"model.submissionStartTime\"\u003e\u003c/tm-timepicker\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4 border-left-gray\"\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 text-md-start ms-md-2\"\u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class label-control font-bold\" ngbTooltip\u003d\"No more submissions from users.\"\u003e"},{"lineNumber":159,"author":{"gitId":"-"},"content":" Submission closing time"},{"lineNumber":160,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":162,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":163,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row align-items-center\"\u003e"},{"lineNumber":164,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"submission-end-date\" class\u003d\"col-md-7 col-xs-center\"\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":" \u003ctm-datepicker [isDisabled]\u003d\"!model.isEditable\" (dateChangeCallback)\u003d\"triggerModelChange(\u0027submissionEndDate\u0027, $event)\""},{"lineNumber":166,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForSubmissionEnd\" [maxDate]\u003d\"maxDateForSubmissionEnd\""},{"lineNumber":167,"author":{"gitId":"-"},"content":" [date]\u003d\"model.submissionEndDate\"\u003e\u003c/tm-datepicker\u003e"},{"lineNumber":168,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":169,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-5\"\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":" \u003ctm-timepicker id\u003d\"submission-end-time\" [isDisabled]\u003d\"!model.isEditable\" (timeChange)\u003d\"triggerModelChange(\u0027submissionEndTime\u0027, $event)\""},{"lineNumber":171,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForSubmissionEnd\" [maxDate]\u003d\"maxDateForSubmissionEnd\""},{"lineNumber":172,"author":{"gitId":"-"},"content":" [date]\u003d\"model.submissionEndDate\""},{"lineNumber":173,"author":{"gitId":"-"},"content":" [minTime]\u003d\"minTimeForSubmissionEnd\" [maxTime]\u003d\"maxTimeForSubmissionEnd\""},{"lineNumber":174,"author":{"gitId":"-"},"content":" [time]\u003d\"model.submissionEndTime\"\u003e\u003c/tm-timepicker\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":176,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":177,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":178,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4 border-left-gray\"\u003e"},{"lineNumber":179,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":180,"author":{"gitId":"nknguyenhc"},"content":" \u003cdiv class\u003d\"col-12 text-md-start ms-md-2\"\u003e"},{"lineNumber":181,"author":{"gitId":"nknguyenhc"},"content":" \u003clabel for\u003d\"grace-period\" class\u003d\"ngb-tooltip-class control-label font-bold\" ngbTooltip\u003d\"Amount of time the system will continue accepting submissions after the specified deadline.\"\u003e"},{"lineNumber":182,"author":{"gitId":"-"},"content":" Grace period"},{"lineNumber":183,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":" \u003cselect id\u003d\"grace-period\" class\u003d\"form-control form-select\" [ngModel]\u003d\"model.gracePeriod\" (ngModelChange)\u003d\"triggerModelChange(\u0027gracePeriod\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":" \u003coption *ngFor\u003d\"let graceMinute of [0, 5, 10, 15, 20, 25, 30]\" [ngValue]\u003d\"graceMinute\"\u003e{{ graceMinute + \u0027 min\u0027}}\u003c/option\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":" \u003c/select\u003e"},{"lineNumber":191,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":192,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":193,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row\"\u003e"},{"lineNumber":194,"author":{"gitId":"-"},"content":" \u003ca class\u003d\"ps-3 pt-2\""},{"lineNumber":195,"author":{"gitId":"-"},"content":" *ngIf\u003d\"formMode !\u003d\u003d SessionEditFormMode.ADD\""},{"lineNumber":196,"author":{"gitId":"-"},"content":" tmRouterLink\u003d\"/web/instructor/sessions/individual-extension\""},{"lineNumber":197,"author":{"gitId":"-"},"content":" [queryParams]\u003d\"{ courseid: model.courseId, fsname: model.feedbackSessionName, preselectnonsubmitters: false }\"\u003e"},{"lineNumber":198,"author":{"gitId":"-"},"content":" Individual Deadline Extensions"},{"lineNumber":199,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-edit\"\u003e\u003c/i\u003e"},{"lineNumber":200,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u003ca class\u003d\"ps-3 pt-2 disabled-link ngb-tooltip-class\""},{"lineNumber":202,"author":{"gitId":"-"},"content":" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.ADD\""},{"lineNumber":203,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"You must save the new session before setting individual deadline extensions\"\u003e"},{"lineNumber":204,"author":{"gitId":"-"},"content":" Individual Deadline Extensions"},{"lineNumber":205,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-edit\"\u003e\u003c/i\u003e"},{"lineNumber":206,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":209,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":210,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"!model.hasVisibleSettingsPanelExpanded\" class\u003d\"margin-top-20px\"\u003e"},{"lineNumber":214,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"text-muted\"\u003eSession is visible at submission opening time, responses are only visible when you publish the results.\u003c/span\u003e"},{"lineNumber":215,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-change-visibility\" type\u003d\"button\" class\u003d\"btn btn-link\" (click)\u003d\"triggerModelChange(\u0027hasVisibleSettingsPanelExpanded\u0027, true)\" [disabled]\u003d\"!model.isEditable\"\u003e[Change]\u003c/button\u003e"},{"lineNumber":216,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":217,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card border-primary margin-top-20px\" *ngIf\u003d\"model.hasVisibleSettingsPanelExpanded\" @collapseAnim\u003e"},{"lineNumber":218,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row align-items-start\"\u003e"},{"lineNumber":220,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-6 text-center text-md-start\"\u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row ms-md-1\"\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":223,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class label-control font-bold\" ngbTooltip\u003d\"Session can be visible before it is open for submissions so that users can preview the questions.\"\u003eMake session visible \u003c/label\u003e"},{"lineNumber":224,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":225,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":226,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row mt-md-2 ms-md-1\"\u003e"},{"lineNumber":227,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 mt-md-1\"\u003e"},{"lineNumber":228,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-check\"\u003e"},{"lineNumber":229,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"form-check-label\"\u003e"},{"lineNumber":230,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"session-visibility-custom\" class\u003d\"form-check-input\" type\u003d\"radio\" name\u003d\"sessionVisibleRadio\" [value]\u003d\"SessionVisibleSetting.CUSTOM\" [ngModel]\u003d\"model.sessionVisibleSetting\" (ngModelChange)\u003d\"triggerModelChange(\u0027sessionVisibleSetting\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"\u003e"},{"lineNumber":231,"author":{"gitId":"-"},"content":" At"},{"lineNumber":232,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":234,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":235,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"session-visibility-date\" class\u003d\"col-md-6\"\u003e"},{"lineNumber":236,"author":{"gitId":"-"},"content":" \u003ctm-datepicker [isDisabled]\u003d\"model.sessionVisibleSetting !\u003d\u003d SessionVisibleSetting.CUSTOM || !model.isEditable\""},{"lineNumber":237,"author":{"gitId":"-"},"content":" (dateChangeCallback)\u003d\"triggerModelChange(\u0027customSessionVisibleDate\u0027, $event)\""},{"lineNumber":238,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForSessionVisible\" [maxDate]\u003d\"maxDateForSessionVisible\""},{"lineNumber":239,"author":{"gitId":"-"},"content":" [date]\u003d\"model.customSessionVisibleDate\"\u003e\u003c/tm-datepicker\u003e"},{"lineNumber":240,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":241,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4\"\u003e"},{"lineNumber":242,"author":{"gitId":"-"},"content":" \u003ctm-timepicker id\u003d\"session-visibility-time\" [isDisabled]\u003d\"model.sessionVisibleSetting !\u003d\u003d SessionVisibleSetting.CUSTOM || !model.isEditable\" (timeChange)\u003d\"triggerModelChange(\u0027customSessionVisibleTime\u0027, $event)\""},{"lineNumber":243,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForSessionVisible\" [maxDate]\u003d\"maxDateForSessionVisible\""},{"lineNumber":244,"author":{"gitId":"-"},"content":" [date]\u003d\"model.customSessionVisibleDate\""},{"lineNumber":245,"author":{"gitId":"-"},"content":" [minTime]\u003d\"minTimeForSessionVisible\" [maxTime]\u003d\"maxTimeForSessionVisible\""},{"lineNumber":246,"author":{"gitId":"-"},"content":" [time]\u003d\"model.customSessionVisibleTime\" \u003e\u003c/tm-timepicker\u003e"},{"lineNumber":247,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":248,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":249,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row mt-md-1 ms-md-3\"\u003e"},{"lineNumber":250,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 form-check\"\u003e"},{"lineNumber":251,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"form-check-label\"\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"session-visibility-at-open\" class\u003d\"form-check-input\" type\u003d\"radio\" name\u003d\"sessionVisibleRadio\" [value]\u003d\"SessionVisibleSetting.AT_OPEN\" [ngModel]\u003d\"model.sessionVisibleSetting\" (ngModelChange)\u003d\"triggerModelChange(\u0027sessionVisibleSetting\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"\u003e"},{"lineNumber":253,"author":{"gitId":"-"},"content":" Submission opening time"},{"lineNumber":254,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":256,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":257,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":258,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-6 sessionVisibleRadio border-left-gray text-center text-md-start\"\u003e"},{"lineNumber":259,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row ms-md-1\"\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":261,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class label-control font-bold\" ngbTooltip\u003d\"Make responses for the feedback session visible to designated recipients.\"\u003eMake response visible \u003c/label\u003e"},{"lineNumber":262,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":263,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row mt-md-2 ms-md-1\"\u003e"},{"lineNumber":265,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 mt-md-1\"\u003e"},{"lineNumber":266,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-check\"\u003e"},{"lineNumber":267,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"form-check-label\"\u003e"},{"lineNumber":268,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"response-visibility-custom\" class\u003d\"form-check-input\" type\u003d\"radio\" name\u003d\"responseVisibleRadio\" [value]\u003d\"ResponseVisibleSetting.CUSTOM\" [ngModel]\u003d\"model.responseVisibleSetting\" (ngModelChange)\u003d\"triggerModelChange(\u0027responseVisibleSetting\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"/\u003e"},{"lineNumber":269,"author":{"gitId":"-"},"content":" At"},{"lineNumber":270,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":271,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":272,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":273,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"response-visibility-date\" class\u003d\"col-md-6\"\u003e"},{"lineNumber":274,"author":{"gitId":"-"},"content":" \u003ctm-datepicker [isDisabled]\u003d\"model.responseVisibleSetting !\u003d\u003d ResponseVisibleSetting.CUSTOM || !model.isEditable\""},{"lineNumber":275,"author":{"gitId":"-"},"content":" (dateChangeCallback)\u003d\"triggerModelChange(\u0027customResponseVisibleDate\u0027, $event)\""},{"lineNumber":276,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForResponseVisible\" [date]\u003d\"model.customResponseVisibleDate\"\u003e\u003c/tm-datepicker\u003e"},{"lineNumber":277,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":278,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4\"\u003e"},{"lineNumber":279,"author":{"gitId":"-"},"content":" \u003ctm-timepicker id\u003d\"response-visibility-time\" [isDisabled]\u003d\"model.responseVisibleSetting !\u003d\u003d ResponseVisibleSetting.CUSTOM || !model.isEditable\" (timeChange)\u003d\"triggerModelChange(\u0027customResponseVisibleTime\u0027, $event)\""},{"lineNumber":280,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForResponseVisible\" [date]\u003d\"model.customResponseVisibleDate\""},{"lineNumber":281,"author":{"gitId":"-"},"content":" [minTime]\u003d\"minTimeForResponseVisible\" [time]\u003d\"model.customResponseVisibleTime\" \u003e\u003c/tm-timepicker\u003e"},{"lineNumber":282,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":283,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":284,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row mt-md-2 ms-md-1\"\u003e"},{"lineNumber":285,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":286,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-check\"\u003e"},{"lineNumber":287,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class form-check-label\" ngbTooltip\u003d\"Same time as when the session becomes visible to users.\"\u003e"},{"lineNumber":288,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"response-visibility-immediately\" class\u003d\"form-check-input\" type\u003d\"radio\" name\u003d\"responseVisibleRadio\" [value]\u003d\"ResponseVisibleSetting.AT_VISIBLE\" [ngModel]\u003d\"model.responseVisibleSetting\" (ngModelChange)\u003d\"triggerModelChange(\u0027responseVisibleSetting\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"\u003e"},{"lineNumber":289,"author":{"gitId":"-"},"content":" Immediately"},{"lineNumber":290,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":291,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":292,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":293,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":294,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row mt-md-2 ms-md-1\"\u003e"},{"lineNumber":295,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":296,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-check\"\u003e"},{"lineNumber":297,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class form-check-label\" ngbTooltip\u003d\"Remember to manually publish the responses for this session later on.\"\u003e"},{"lineNumber":298,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"response-visibility-manually\" class\u003d\"form-check-input\" type\u003d\"radio\" name\u003d\"responseVisibleRadio\" [value]\u003d\"ResponseVisibleSetting.LATER\" [ngModel]\u003d\"model.responseVisibleSetting\" (ngModelChange)\u003d\"triggerModelChange(\u0027responseVisibleSetting\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"\u003e"},{"lineNumber":299,"author":{"gitId":"-"},"content":" Not now (publish manually)"},{"lineNumber":300,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":301,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":302,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":303,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":304,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":305,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":306,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":307,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":308,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"!model.hasEmailSettingsPanelExpanded\"\u003e"},{"lineNumber":309,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"text-muted\"\u003eEmails are sent when session opens (within 15 minutes), 24 hrs before session closes and when results are published.\u003c/span\u003e"},{"lineNumber":310,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-change-email\" type\u003d\"button\" class\u003d\"btn btn-link\" (click)\u003d\"triggerModelChange(\u0027hasEmailSettingsPanelExpanded\u0027, true)\" [disabled]\u003d\"!model.isEditable\"\u003e[Change]\u003c/button\u003e"},{"lineNumber":311,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":312,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card border-primary margin-top-20px\" *ngIf\u003d\"model.hasEmailSettingsPanelExpanded\" @collapseAnim\u003e"},{"lineNumber":313,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":314,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 font-bold\"\u003e"},{"lineNumber":315,"author":{"gitId":"-"},"content":" Send emails for"},{"lineNumber":316,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":317,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row ms-md-1 mt-md-3\"\u003e"},{"lineNumber":318,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4\"\u003e"},{"lineNumber":319,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-check form-check-inline\"\u003e"},{"lineNumber":320,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class form-check-label\" ngbTooltip\u003d\"Notify students when the session is open for submission.\"\u003e"},{"lineNumber":321,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"email-opening\" class\u003d\"form-check-input\" type\u003d\"checkbox\" checked disabled\u003eSession opening reminder"},{"lineNumber":322,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":323,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":324,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":325,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4\"\u003e"},{"lineNumber":326,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-check form-check-inline\"\u003e"},{"lineNumber":327,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class form-check-label\" ngbTooltip\u003d\"Remind students to submit 24 hours before the end of the session.\"\u003e"},{"lineNumber":328,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"email-closing\" class\u003d\"form-check-input\" type\u003d\"checkbox\" [ngModel]\u003d\"model.isClosingEmailEnabled\" (ngModelChange)\u003d\"triggerModelChange(\u0027isClosingEmailEnabled\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"\u003e Session closing reminder"},{"lineNumber":329,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":330,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":331,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":332,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4\"\u003e"},{"lineNumber":333,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-check form-check-inline\"\u003e"},{"lineNumber":334,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class form-check-label\" ngbTooltip\u003d\"Notify students when the session results is published.\"\u003e"},{"lineNumber":335,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"email-published\" class\u003d\"form-check-input\" type\u003d\"checkbox\" [ngModel]\u003d\"model.isPublishedEmailEnabled\" (ngModelChange)\u003d\"triggerModelChange(\u0027isPublishedEmailEnabled\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"\u003e Results published announcement"},{"lineNumber":336,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":337,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":338,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":339,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":340,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":341,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":342,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row margin-top-20px\"\u003e"},{"lineNumber":343,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 text-center\"\u003e"},{"lineNumber":344,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"loader\"\u003e\u003c/span\u003e"},{"lineNumber":345,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.ADD\"\u003e"},{"lineNumber":346,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-create-session\" type\u003d\"button\" class\u003d\"btn btn-primary\" [disabled]\u003d\"courseCandidates.length \u003d\u003d\u003d 0 || model.isSaving || !model.feedbackSessionName\" (click)\u003d\"submitFormHandler()\"\u003e"},{"lineNumber":347,"author":{"gitId":"-"},"content":" \u003ctm-ajax-loading *ngIf\u003d\"model.isSaving\"\u003e\u003c/tm-ajax-loading\u003eCreate Feedback Session"},{"lineNumber":348,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":349,"author":{"gitId":"-"},"content":" \u003cp class\u003d\"text-danger margin-top-20px\" *ngIf\u003d\"courseCandidates.length \u003d\u003d\u003d 0\"\u003e\u003cb\u003eYou need to have an active(unarchived) course to create a session!\u003c/b\u003e\u003c/p\u003e"},{"lineNumber":350,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":351,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.EDIT\"\u003e"},{"lineNumber":352,"author":{"gitId":"-"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn btn-success\" [disabled]\u003d\"model.isSaving || !model.isEditable\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.EDIT\" (click)\u003d\"submitFormHandler()\"\u003e"},{"lineNumber":353,"author":{"gitId":"-"},"content":" \u003ctm-ajax-loading *ngIf\u003d\"model.isSaving\"\u003e\u003c/tm-ajax-loading\u003eSave Changes"},{"lineNumber":354,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":355,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":356,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":357,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":358,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":359,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"nknguyenhc":2,"-":357}},{"path":"src/web/app/pages-instructor/instructor-student-records-page/instructor-student-records-page.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ch1 id\u003d\"records-header\"\u003e{{studentName}}\u0027s Records\u003csmall class\u003d\"text-muted text-break\"\u003e - {{courseId}}\u003c/small\u003e\u003c/h1\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003ch2\u003eRecords in feedback sessions\u003c/h2\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003ctm-loading-retry [shouldShowRetry]\u003d\"hasStudentResultsLoadingFailed\" [message]\u003d\"\u0027Failed to load student results\u0027\" (retryEvent)\u003d\"loadStudentResults()\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003cdiv *tmIsLoading\u003d\"isStudentResultsLoading\"\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cdiv *ngFor\u003d\"let session of sessionTabs\" class\u003d\"card card-default mb-4\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-header cursor-pointer\" (click)\u003d\"session.isCollapsed \u003d !session.isCollapsed\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cstrong class\u003d\"text-break\"\u003eFeedback Session: {{ session.feedbackSession.feedbackSessionName }}\u003c/strong\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-header-btn-toolbar\"\u003e"},{"lineNumber":9,"author":{"gitId":"Tim-Siu"},"content":" \u003ctm-panel-chevron [isExpanded]\u003d\"!session.isCollapsed\" chevronColor\u003d\"black\"\u003e\u003c/tm-panel-chevron\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\" *ngIf\u003d\"!session.isCollapsed\" @collapseAnim\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003ctm-grq-rgq-view-responses *ngIf\u003d\"session.responsesReceivedByStudent.length \u003e 0\""},{"lineNumber":14,"author":{"gitId":"-"},"content":" [session]\u003d\"session.feedbackSession\""},{"lineNumber":15,"author":{"gitId":"-"},"content":" [responses]\u003d\"session.responsesReceivedByStudent\" [groupByTeam]\u003d\"false\" [section]\u003d\"\" [sectionType]\u003d\"\""},{"lineNumber":16,"author":{"gitId":"-"},"content":" [isGrq]\u003d\"false\" [instructorCommentTableModel]\u003d\"instructorCommentTableModel\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" (saveNewCommentEvent)\u003d\"saveNewComment($event, session.feedbackSession.timeZone)\""},{"lineNumber":18,"author":{"gitId":"-"},"content":" (deleteCommentEvent)\u003d\"deleteComment($event)\""},{"lineNumber":19,"author":{"gitId":"-"},"content":" (updateCommentEvent)\u003d\"updateComment($event, session.feedbackSession.timeZone)\""},{"lineNumber":20,"author":{"gitId":"-"},"content":" [isExpandAll]\u003d\"true\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/tm-grq-rgq-view-responses\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"session.responsesReceivedByStudent.length \u003d\u003d\u003d 0\" class\u003d\"mb-3\"\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" No feedback responses for {{studentName}} ({{studentTeam}}) found."},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003ctm-grq-rgq-view-responses *ngIf\u003d\"session.responsesGivenByStudent.length \u003e 0\""},{"lineNumber":26,"author":{"gitId":"-"},"content":" [session]\u003d\"session.feedbackSession\""},{"lineNumber":27,"author":{"gitId":"-"},"content":" [responses]\u003d\"session.responsesGivenByStudent\" [groupByTeam]\u003d\"false\" [section]\u003d\"\" [sectionType]\u003d\"\""},{"lineNumber":28,"author":{"gitId":"-"},"content":" [isGrq]\u003d\"true\" [instructorCommentTableModel]\u003d\"instructorCommentTableModel\""},{"lineNumber":29,"author":{"gitId":"-"},"content":" (saveNewCommentEvent)\u003d\"saveNewComment($event, session.feedbackSession.timeZone)\""},{"lineNumber":30,"author":{"gitId":"-"},"content":" (deleteCommentEvent)\u003d\"deleteComment($event)\""},{"lineNumber":31,"author":{"gitId":"-"},"content":" (updateCommentEvent)\u003d\"updateComment($event, session.feedbackSession.timeZone)\""},{"lineNumber":32,"author":{"gitId":"-"},"content":" [isExpandAll]\u003d\"true\""},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003e\u003c/tm-grq-rgq-view-responses\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"session.responsesGivenByStudent.length \u003d\u003d\u003d 0\"\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" No feedback responses from {{studentName}} ({{studentTeam}}) found."},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003c/tm-loading-retry\u003e"}],"authorContributionMap":{"-":39,"Tim-Siu":1}}] +[{"path":"docs/_markbind/layouts/default.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"{% include \"_markbind/layouts/header.md\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"flex-body\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003cnav id\u003d\"site-nav\" class\u003d\"fixed-header-padding\"\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003csite-nav\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"* About TEAMMATES :expanded:"},{"lineNumber":9,"author":{"gitId":"-"},"content":" * [Introduction]({{ baseUrl }}/index.html)"},{"lineNumber":10,"author":{"gitId":"-"},"content":" * [Overview]({{ baseUrl }}/overview.html)"},{"lineNumber":11,"author":{"gitId":"-"},"content":"* Getting Started :expanded:"},{"lineNumber":12,"author":{"gitId":"-"},"content":" * [Setting Up]({{ baseUrl }}/setting-up.html)"},{"lineNumber":13,"author":{"gitId":"-"},"content":"* [Contributing]({{ baseUrl }}/contributing-doc.html)"},{"lineNumber":14,"author":{"gitId":"-"},"content":"* Workflow :expanded:"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * [Issues]({{ baseUrl }}/issues.html)"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * [Process]({{ baseUrl }}/process.html)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * [Development]({{ baseUrl }}/development.html)"},{"lineNumber":18,"author":{"gitId":"-"},"content":"* [Design]({{ baseUrl }}/design.html)"},{"lineNumber":19,"author":{"gitId":"-"},"content":"* Best Practices :expanded:"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * [Coding]({{ baseUrl }}/best-practices/coding.html)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * [Testing]({{ baseUrl }}/best-practices/testing.html)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * [Data Migration]({{ baseUrl }}/best-practices/data-migration.html)"},{"lineNumber":23,"author":{"gitId":"-"},"content":" * [UI Design]({{ baseUrl }}/best-practices/ui-design.html)"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * [Accessibility]({{ baseUrl }}/best-practices/accessibility.html)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * [Mobile-Friendliness]({{ baseUrl }}/best-practices/mobile-friendliness.html)"},{"lineNumber":26,"author":{"gitId":"-"},"content":"* How-to :expanded:"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * [Captcha]({{ baseUrl }}/captcha.html)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * [Documentation]({{ baseUrl }}/documentation.html)"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * [Emails]({{ baseUrl }}/emails.html)"},{"lineNumber":30,"author":{"gitId":"-"},"content":" * [Unit Testing]({{ baseUrl }}/unit-testing.html)"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * [End-to-End Testing]({{ baseUrl }}/e2e-testing.html)"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * [Performance Testing]({{ baseUrl }}/performance-testing.html)"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * [Accessibility Testing]({{ baseUrl }}/axe-testing.html)"},{"lineNumber":34,"author":{"gitId":"-"},"content":" * [Search]({{ baseUrl }}/search.html)"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * [Snapshot Testing]({{ baseUrl }}/snapshot-testing.html)"},{"lineNumber":36,"author":{"gitId":"-"},"content":" * [Static Analysis]({{ baseUrl }}/static-analysis.html)"},{"lineNumber":37,"author":{"gitId":"-"},"content":"* [Troubleshooting Guide]({{ baseUrl }}/troubleshooting-guide.html)"},{"lineNumber":38,"author":{"gitId":"-"},"content":"* [Glossary]({{ baseUrl }}/glossary.html)"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003c/site-nav\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003c/nav\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"content-wrapper\" class\u003d\"fixed-header-padding\"\u003e"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" \u003cbreadcrumb/\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" {{ content }}"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003cnav id\u003d\"page-nav\" class\u003d\"fixed-header-padding\"\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003cpage-nav /\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003c/nav\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":"{% include \"_markbind/layouts/footer.md\" %}"}],"authorContributionMap":{"jingting1412":3,"-":50}},{"path":"docs/_markbind/layouts/footer.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cfooter\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"\u003c!-- Support MarkBind by including a link to us on your landing page! --\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"text-center\"\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" \u003csmall\u003e[Generated by {{MarkBind}} on {{timestamp}}]\u003c/small\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"\u003c/footer\u003e"}],"authorContributionMap":{"jingting1412":6}},{"path":"docs/_markbind/layouts/header.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003chead-bottom\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ baseUrl }}/stylesheets/main.css\"\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003c/head-bottom\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003cheader sticky\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cnavbar type\u003d\"inverse\"\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"{{ baseUrl }}/index.html\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"{{ baseUrl }}/images/teammateslogo.png\" width\u003d\"150\" alt\u003d\"Logo\" caption\u003d\"\"/\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cspan style\u003d\"font-style:italic;font-size:small\"\u003e[dev docs]\u003c/span\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003c/a\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{ baseUrl }}/index.html\" class\u003d\"nav-link\"\u003eHome\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{ baseUrl }}/contributing-doc.html\" class\u003d\"nav-link\"\u003eContributing\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"https://teammatesv4.appspot.com/\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eProduct Website \u003cmd\u003e:glyphicon-share-alt:\u003c/md\u003e\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"https://github.com/TEAMMATES/teammates\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003e\u003cmd\u003e:fab-github:\u003c/md\u003e\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003cform class\u003d\"navbar-form\"\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003c/form\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003c/li\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003c/navbar\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":"\u003c/header\u003e"}],"authorContributionMap":{"jingting1412":21}},{"path":"docs/design.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" title: \"Design\""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"# Design"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"## Architecture"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/highlevelArchitecture.puml\"/\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"TEAMMATES is a Web application that runs on Google App Engine (GAE). Given above is an overview of the main components."},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"- **UI (Browser)**: The UI seen by users consists of Web pages containing HTML, CSS (for styling) and JavaScript (for client-side interactions such as sorting, input validation, etc.). This UI is a single HTML page generated by Angular framework. The initial page request is sent to the server over HTTP, and requests for data are sent asynchronously with AJAX."},{"lineNumber":14,"author":{"gitId":"-"},"content":"- **UI (Server)**: The entry point for the application back end logic is designed as a REST-ful controller."},{"lineNumber":15,"author":{"gitId":"-"},"content":"- **Logic**: The main logic of the application is in POJOs (Plain Old Java Objects)."},{"lineNumber":16,"author":{"gitId":"-"},"content":"- **Storage**: The storage layer of the application uses the persistence framework provided by **Google Cloud Datastore**, a NoSQL database."},{"lineNumber":17,"author":{"gitId":"-"},"content":"- **Test Driver**: TEAMMATES makes heavy use of automated regression testing. Test data is transmitted using JSON format."},{"lineNumber":18,"author":{"gitId":"-"},"content":" - `TestNG` is used for Java testing (all levels) and `Jest` for JavaScript unit-testing."},{"lineNumber":19,"author":{"gitId":"-"},"content":"- **E2E**: The E2E (end-to-end) component is used to interact with the application as a whole with Web browsers. Its primary function is for E2E tests."},{"lineNumber":20,"author":{"gitId":"-"},"content":" - `Selenium (Java)` is used to automate E2E testing with actual Web browsers."},{"lineNumber":21,"author":{"gitId":"-"},"content":"- **Client**: The Client component can connect to the back end directly without using a Web browser. It is used for administrative purposes, e.g. migrating data to a new schema."},{"lineNumber":22,"author":{"gitId":"-"},"content":"- **Common**: The Common component contains utility code (data transfer objects, helper classes, etc.) used across the application."},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"The diagram below shows how the code in each component is organized into packages and the dependencies between them."},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/packageDiagram.puml\"/\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"Notes:"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"- `[logic] - [ui::website] - [ui::webapi]` represent an application of `Model-View-Controller` pattern."},{"lineNumber":31,"author":{"gitId":"-"},"content":" - `ui::website` is not a real package; it is a conceptual package representing the front-end of the application."},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"## UI Component"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"The diagram below shows the object structure of the UI component."},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/UiComponent.puml\"/\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"Notes:"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"- `ui::website` is not a Java package. It is written in Angular framework and consists of HTML, SCSS, and TypeScript files. The framework will build those files into HTML, CSS and JavaScript files ready to be used by standard Web browsers."},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"The UI component is the first stop for 99% of all requests that are received by the application."},{"lineNumber":44,"author":{"gitId":"-"},"content":"Such a request will go through the following steps:"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"1. Request received by the GAE server."},{"lineNumber":47,"author":{"gitId":"-"},"content":"1. Custom filters are applied according to the order specified in `web.xml`, e.g. `OriginCheckFilter`."},{"lineNumber":48,"author":{"gitId":"-"},"content":"1. Request forwarded to a `*Servlet` object as specified in `web.xml` for further processing, depending on the type of request."},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"There are two general types of requests: user-invoked requests and automated (GAE server-invoked) requests, which are processed differently."},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"### User-invoked requests"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"User-invoked requests are all requests made by the users of the application, typically from the Web browser (i.e. by navigating to a particular URL of the application)."},{"lineNumber":55,"author":{"gitId":"-"},"content":"The request will be processed as follows:"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/UiWorkflow.puml\"/\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"The initial request for the web page will be processed as follows:"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"1. Request forwarded to `WebPageServlet`."},{"lineNumber":62,"author":{"gitId":"-"},"content":"1. `WebPageServlet` returns the built single web page (`index.html`)."},{"lineNumber":63,"author":{"gitId":"-"},"content":"1. The browser will render the page and execute the page scripts, most of the time requiring AJAX requests to the server."},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":"Subsequent AJAX requests sent to the server will be processed as follows:"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":"1. Request forwarded to the `WebApiServlet`."},{"lineNumber":68,"author":{"gitId":"-"},"content":"1. `WebApiServlet` uses the `ActionFactory` to generate the matching `Action` object, e.g. `GetFeedbackSessionsAction`."},{"lineNumber":69,"author":{"gitId":"-"},"content":"1. `WebApiServlet` executes the action."},{"lineNumber":70,"author":{"gitId":"-"},"content":" 1. The `Action` object checks the access rights of the user. If the action is allowed, it will be performed, interacting with the `Logic` component as necessary."},{"lineNumber":71,"author":{"gitId":"-"},"content":" 1. The `Action` packages and processes the result into an `ActionResult` object. The most common format is `JsonResult` (requests for obtaining data or processing existing data) and other formats can be defined as necessary."},{"lineNumber":72,"author":{"gitId":"-"},"content":"1. `WebApiServlet` sends the result back to the browser which will then process it on the front-end."},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":"Requests for static asset files (e.g. CSS, JS files, images) are served directly without going through `web.xml` configuration at all."},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"The Web API is protected by two layers of access control check:"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"- Origin check: This mitigates [CSRF attack](https://owasp.org/www-community/attacks/csrf)."},{"lineNumber":79,"author":{"gitId":"-"},"content":"- Authentication and authorization check: This checks if the logged in user (or lack thereof) has sufficient privileges to trigger the API\u0027s actions."},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":"Special keys (`csrf key` and `backdoor key`) can be used to bypass each of the checks, typically for testing purpose. Those keys are strings known only to the person who deployed the application (typically, the administrator)."},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"### Automated requests"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":"Automated requests are all requests sent automatically by the GAE server during specific periods of time."},{"lineNumber":86,"author":{"gitId":"-"},"content":"This type of request will be processed as follows:"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"1. The source of the request will be checked for administrator privilege. If this privilege is absent (e.g. non-administrator users trying to invoke the automated actions), the request will be dropped and a `403 Forbidden` status will be returned."},{"lineNumber":89,"author":{"gitId":"-"},"content":" - Requests generated by the GAE server are equipped with this privilege."},{"lineNumber":90,"author":{"gitId":"-"},"content":" - Administrators can manually invoke these requests; this is particularly useful in testing the actions associated with those requests."},{"lineNumber":91,"author":{"gitId":"-"},"content":"1. Request forwarded to the `WebApiServlet` and subsequent actions are the same as user-invoked AJAX requests."},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":"GAE server sends such automated requests through two different configurations:"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":"- Cron jobs: These are jobs that are automatically scheduled for a specified period of time, e.g. scheduling feedback session opening reminders. It is configured in `cron.yaml`."},{"lineNumber":96,"author":{"gitId":"-"},"content":"- Task queue workers: These are hybrids of user-invoked and GAE-invoked in that they are queued by users (i.e. users request for the tasks to be added to queue), but executed by GAE (i.e. GAE determines when and which tasks in the queue are executed at any point of time). This is typically used for tasks that may take a long time to finish and might be blocking user\u0027s interaction. It is configured in `queue.yaml` as well as the `TaskQueue` nested class of the [Const](https://github.com/TEAMMATES/teammates/blob/master/src/main/java/teammates/common/util/Const.java) class."},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"### Template Method pattern"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":"- Since the high-level workflow of processing a request is same for any request (differing by the two request types only), we use the [Template Method pattern](http://en.wikipedia.org/wiki/Template_method_pattern) to abstract the process flow into the `Action` classes."},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":"### Policies"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"On designing API endpoints (for AJAX requests):"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"- Design endpoints for resources. For example, `FeedbackSession` is a resource. The corresponding endpoint is `/session`. We use `GET`, `POST`, `PUT`, `DELETE` HTTP methods to get, create, update and delete the resource respectively."},{"lineNumber":107,"author":{"gitId":"-"},"content":"- Prefer multiple REST calls over single RPC (Remote Procedure Call) calls."},{"lineNumber":108,"author":{"gitId":"-"},"content":" - Reason 1: REST paradigm promotes reuse of many business logic and is not dependent of the structure of the requesting web page (or any other type of requesting agent)."},{"lineNumber":109,"author":{"gitId":"-"},"content":" - Reason 2: Multiple REST calls can be parallelized which will improve performance."},{"lineNumber":110,"author":{"gitId":"-"},"content":"- Separate access control logic and execution logic completely."},{"lineNumber":111,"author":{"gitId":"-"},"content":" - In the case that an endpoint serves multiple purposes, we use `Intent` to distinguish the intent for the request. For example, instructors can access `/session` with intent `INSTRUCTOR_SUBMISSION` or `FULL_DETAIL`. Some `Intent` will naturally require stricter access rights."},{"lineNumber":112,"author":{"gitId":"-"},"content":"- Prefer HTTP request body over URL parameters (key-value) to contain data for `POST` and `PUT` requests."},{"lineNumber":113,"author":{"gitId":"-"},"content":" - Reason 1: The URL parameters are used to identify a specific resource for an endpoint, not what should be done to them."},{"lineNumber":114,"author":{"gitId":"-"},"content":" - Reason 2: Request body is not limited to key-value format which allows proper design and validation."},{"lineNumber":115,"author":{"gitId":"-"},"content":" - Data Transfer Objects (DTOs) which represent different API requests and responses are defined in `request` and `output` package respectively."},{"lineNumber":116,"author":{"gitId":"-"},"content":"- Preprocess data sent/received by the server to hide complexities. For example, timestamp is passed as UNIX epoch milliseconds in the output while it is represented as `Instant` in the back-end."},{"lineNumber":117,"author":{"gitId":"-"},"content":" - Some constructors in the `output` package contain logic to hide \"hacks\" in the backend."},{"lineNumber":118,"author":{"gitId":"-"},"content":" - Some getters/setters in the `request` package contain logic to cater the conventions in the backend."},{"lineNumber":119,"author":{"gitId":"-"},"content":" - Some fields are required be hidden in the API response, mostly for data privacy purposes. Whenever required, there should be methods in the request output objects catered for this."},{"lineNumber":120,"author":{"gitId":"-"},"content":"- API endpoints should not be concerned with how data is presented."},{"lineNumber":121,"author":{"gitId":"-"},"content":" - Case study 1: some endpoint will pass timezone information via two information: timezone ID and UNIX epoch milliseconds. It is up to the front-end on how to make use of those two pieces of information."},{"lineNumber":122,"author":{"gitId":"-"},"content":" - Case study 2: CSV file for session result or student list is just a different way of presenting the same information in the web page. Due to this, when downloading CSV, the web page will request the same information as that used when displaying in web page and do the necessary conversion to CSV."},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":"On data exchange between front-end and back-end:"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"- Back-end is the single source of truth for all data format and the code used by front-end is generated from this."},{"lineNumber":127,"author":{"gitId":"-"},"content":" - Some important constants (including API endpoints information) are synced to `api-const.ts`."},{"lineNumber":128,"author":{"gitId":"-"},"content":" - The schemas of the DTOs defined in `output` and `request` packages are synced to `api-output.ts` and `api-request.ts` in the frontend."},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":"On handling exceptions:"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":"- The UI component is responsible for catching all exceptions and transforming them to properly formed, user-friendly output format. It includes the status message shown to user as well as the HTTP status code."},{"lineNumber":133,"author":{"gitId":"-"},"content":" - As a consequence, the UI component cannot throw any exception, because there is no layer which will catch those exceptions if it does."},{"lineNumber":134,"author":{"gitId":"-"},"content":"- In order to streamline the process, custom runtime exception classes which correspond to different HTTP status codes are used. For example, there is `EntityNotFoundException` which corresponds to HTTP 404, `UnauthorizedAccessException` which corresponds to HTTP 403, etc."},{"lineNumber":135,"author":{"gitId":"-"},"content":" - It is highly preferred to throw these custom exceptions instead of setting the HTTP status manually in the action class, as the API layer has been configured to automatically log the exception and assign the correct status code to the HTTP response."},{"lineNumber":136,"author":{"gitId":"-"},"content":"- All `4XX` responses must be accompanied with logging at `warning` level or above. `5XX` responses must be accompanied with `severe` level logging."},{"lineNumber":137,"author":{"gitId":"-"},"content":" - `502` (Bad Gateway) responses may skip the `severe` level logging if the upstream components (where the error happened) already did the `severe` level logging."},{"lineNumber":138,"author":{"gitId":"-"},"content":"- We use the HTTP status codes as close to their standard definition in [RFC7231](https://tools.ietf.org/html/rfc7231) as possible."},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":"## Logic Component"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"The `Logic` component handles the business logic of TEAMMATES. In particular, it is responsible for:"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":"- Managing relationships between entities, e.g. cascade logic for create/update/delete."},{"lineNumber":145,"author":{"gitId":"-"},"content":"- Managing transactions, e.g. ensuring atomicity of a transaction."},{"lineNumber":146,"author":{"gitId":"-"},"content":"- Sanitizing input values received from the UI component."},{"lineNumber":147,"author":{"gitId":"-"},"content":"- Connecting to GCP or third-party services, e.g. for adding tasks to the task queue and for sending emails with third-party providers."},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/LogicComponent.puml\"/\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":"Package overview:"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":"- **`logic.api`**: Provides the API of the component to be accessed by the UI."},{"lineNumber":154,"author":{"gitId":"-"},"content":"- **`logic.core`**: Contains the core logic of the system."},{"lineNumber":155,"author":{"gitId":"-"},"content":"- **`logic.external`**: Holds the logic of external services such as task queue service."},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":"### Logic API"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":"Represented by these classes:"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"- `Logic`: A [Facade class](http://en.wikipedia.org/wiki/Facade_pattern) which connects to the several `*Logic` classes to handle the logic related to various types of data and to access data from the `Storage` component."},{"lineNumber":162,"author":{"gitId":"-"},"content":"- `UserProvision`: Retrieves user information (based on request cookies)."},{"lineNumber":163,"author":{"gitId":"-"},"content":"- `EmailGenerator`: Generates emails to be sent."},{"lineNumber":164,"author":{"gitId":"-"},"content":"- `EmailSender`: Sends email with the provider chosen based on the build configuration."},{"lineNumber":165,"author":{"gitId":"-"},"content":"- `TaskQueuer`: Adds tasks to the task queue, i.e. to be executed at a later time."},{"lineNumber":166,"author":{"gitId":"-"},"content":"- `LogsProcessor`: For more advanced usage of logging that cannot be captured by the standard logger class."},{"lineNumber":167,"author":{"gitId":"-"},"content":"- `RecaptchaVerifier`: For verification of the reCAPTCHA token."},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":"Many classes in this layer make use of proxy pattern, i.e. they only connect to production services such as Google Cloud Tasks in the staging/production server."},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":"### Policies"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"Access control:"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":"+ Although this component provides methods that are relevant to access control (e.g. providing user information), the access control check itself does not happen in this component. The UI is expected to check access control (using `GateKeeper` class) before calling a method in the logic component."},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":"API for creating entities:"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":"+ Null parameters: Causes an assertion failure."},{"lineNumber":180,"author":{"gitId":"-"},"content":"+ Invalid parameters: Throws `InvalidParametersException`."},{"lineNumber":181,"author":{"gitId":"-"},"content":"+ Entity already exists: Throws `EntityAlreadyExistsException` (escalated from Storage level)."},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":"API for retrieving entities:"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":"+ Attempting to retrieve objects using `null` parameters: Causes an assertion failure."},{"lineNumber":186,"author":{"gitId":"-"},"content":"+ Entity not found:"},{"lineNumber":187,"author":{"gitId":"-"},"content":" - Returns `null` if the target entity not found. This way, read operations can be used easily for checking the existence of an entity."},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":"API for updating entities:"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"+ Update is done using `*UpdateOptions` inside every `*Attributes`. The `UpdateOptions` will specify what is used to identify the entity to update and what will be updated."},{"lineNumber":192,"author":{"gitId":"-"},"content":"+ Entity not found: Throws `EntityDoesNotExistException`."},{"lineNumber":193,"author":{"gitId":"-"},"content":"+ Invalid parameters: Throws `InvalidParametersException`."},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":"API for deleting entities:"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":"+ FailDeleteSilentlyPolicy: In general, delete operation do not throw exceptions if the target entity does not exist. This is because if it does not exist, it is as good as deleted."},{"lineNumber":198,"author":{"gitId":"-"},"content":"+ Cascade policy: When a parent entity is deleted, entities that have referential integrity with the deleted entity should also be deleted."},{"lineNumber":199,"author":{"gitId":"-"},"content":" Refer to the API for the cascade logic."},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":"## Storage Component"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":"The `Storage` component performs CRUD (Create, Read, Update, Delete) operations on data entities individually."},{"lineNumber":204,"author":{"gitId":"-"},"content":"It contains minimal logic beyond what is directly relevant to CRUD operations."},{"lineNumber":205,"author":{"gitId":"-"},"content":"In particular, it is reponsible for:"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":"- Validating data inside entities before creating/updating them, to ensure they are in a valid state."},{"lineNumber":208,"author":{"gitId":"-"},"content":"- Hiding the complexities of the database from the `Logic` component."},{"lineNumber":209,"author":{"gitId":"-"},"content":"- Hiding the persistable objects: Classes in the `storage::entity` package are not visible outside this component to hide information specific to data persistence."},{"lineNumber":210,"author":{"gitId":"-"},"content":" - Instead, a corresponding non-persistent [data transfer object](http://en.wikipedia.org/wiki/Data_transfer_object) named `*Attributes` (e.g., `CourseAttributes` is the data transfer object for `Course` entities) object is returned. These datatransfer classes are in `common::datatransfer` package, to be explained later."},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":"The `Storage` component does not perform any cascade delete/create operations. Cascade logic is handled by the `Logic` component."},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/StorageComponent.puml\"/\u003e"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":"Package overview:"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":"+ **`storage.api`**: Provides the API of the component to be accessed by the logic component."},{"lineNumber":219,"author":{"gitId":"-"},"content":"+ **`storage.entity`**: Classes that represent persistable entities."},{"lineNumber":220,"author":{"gitId":"-"},"content":"+ **`storage.search`**: Classes for dealing with searching and indexing."},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/StorageClassDiagram.puml\"/\u003e"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":"Note that the navigability of the association links between entity objects appear to be in the reverse direction of what we see in a normal OOP design."},{"lineNumber":225,"author":{"gitId":"-"},"content":"This is because we want to keep the data schema flexible so that new entity types can be added later with minimal modifications to existing elements."},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":"### Storage API"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"Represented by the `*Db` classes. These classes act as the bridge to the database."},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":"### Policies"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":"Add and Delete operations try to wait until data is persisted in the database before returning. This is not enough to compensate for eventual consistency involving multiple servers in the Google Cloud Datastore environment. However, it is expected to avoid test failures caused by eventual consistency in dev server and reduce such problems in the live server."},{"lineNumber":234,"author":{"gitId":"-"},"content":"Note: \u0027Eventual consistency\u0027 here means it takes some time for a database operation to propagate across all replicas of the Google Cloud Datastore. As a result, the data may be in an inconsistent states for short periods of time although things should become consistent \u0027eventually\u0027. For example, an object we deleted may appear to still exist for a short while."},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":"Implementation of Transaction Control has been minimized due to limitations of Google Cloud Datastore environment and the nature of our data schema."},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":"API for creating:"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":"+ Attempt to create an entity that already exists: Throws `EntityAlreadyExistsException`."},{"lineNumber":241,"author":{"gitId":"-"},"content":"+ Attempt to create an entity with invalid data: Throws `InvalidParametersException`."},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":"API for retrieving:"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":"+ Attempt to retrieve an entity that does not exist: Returns `null`."},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":"API for updating:"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":"+ Attempt to update an entity that does not exist: Throws `EntityDoesNotExistException`."},{"lineNumber":250,"author":{"gitId":"-"},"content":"+ Attempt to update an entity with invalid data: Throws `InvalidParametersException`."},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":"API for deleting:"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":"+ Attempt to delete an entity that does not exist: Fails silently."},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":"## Common Component"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":"The Common component contains common utilities used across TEAMMATES."},{"lineNumber":259,"author":{"gitId":"-"},"content":""},{"lineNumber":260,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/CommonComponent.puml\"/\u003e"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":"Package overview:"},{"lineNumber":263,"author":{"gitId":"-"},"content":""},{"lineNumber":264,"author":{"gitId":"-"},"content":"- **`common.util`**: Contains utility classes."},{"lineNumber":265,"author":{"gitId":"-"},"content":"- **`common.exceptions`**: Contains custom exceptions."},{"lineNumber":266,"author":{"gitId":"-"},"content":"- **`common.datatransfer`**: Contains data transfer objects."},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":"`common.datatransfer` package contains lightweight \"data transfer object\" classes for transferring data among components. They can be combined in various ways to transfer structured data between components. Given below are three examples."},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/DataTransferClasses.puml\"/\u003e"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":"1. `Test Driver` can use the `DataBundle` in this manner to send an arbitrary number of objects to be persisted in the database."},{"lineNumber":273,"author":{"gitId":"-"},"content":"1. This structure can be used to transfer search results of a student or instructor or response comments."},{"lineNumber":274,"author":{"gitId":"-"},"content":"1. This structure can be used to send results of a feedback session (e.g., when showing a feedback session report to an instructor)."},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":"Some of these classes are methodless (and thus more of a data structure rather than a class); these classes use public variables for data for easy access."},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":"## Test Driver Component"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":"This component automates the testing of TEAMMATES."},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/TestDriverComponent.puml\"/\u003e"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":"The test driver component\u0027s package structure follows the corresponding production package structure\u0027s exactly,"},{"lineNumber":285,"author":{"gitId":"-"},"content":"e.g. `teammates.logic.core.*` will contain the test cases for the production code inside `teammates.logic.core` package."},{"lineNumber":286,"author":{"gitId":"-"},"content":"In the same spirit, for the front end, each `*.component.ts` will have the corresponding `*.component.spec.ts` in the same folder (similarly for `*.service.ts`, `*.pipe.ts`, etc.)."},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":"The test driver component introduces the following additional packages:"},{"lineNumber":289,"author":{"gitId":"-"},"content":""},{"lineNumber":290,"author":{"gitId":"-"},"content":"- **`architecture`**: Contains test cases used by one of the lint tools to check for architectural integrity."},{"lineNumber":291,"author":{"gitId":"-"},"content":"- **`test`**: Contains infrastructure and helpers needed for running the tests. Also contains the test cases for the said infrastructure/helpers."},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":"Notes:"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":"- Component tests: Some of these are pure unit tests (i.e. testing one component in isolation) while others are integration tests that test units as well as integration of units with each other."},{"lineNumber":296,"author":{"gitId":"-"},"content":"- Front-end files (particularly TypeScript) are tested separately with `Jest`. The test cases are found in `*.spec.ts` files."},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":"This is how TEAMMATES testing maps to standard types of testing."},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":"```"},{"lineNumber":301,"author":{"gitId":"-"},"content":"Normal"},{"lineNumber":302,"author":{"gitId":"-"},"content":"|-----acceptance tests-----|-------------------system tests-------------------|-----integration tests-----|-----unit tests-----|"},{"lineNumber":303,"author":{"gitId":"-"},"content":"|--------manual testing--------|------automated E2E tests------|-------------------automated component tests-------------------|"},{"lineNumber":304,"author":{"gitId":"-"},"content":"TEAMMATES"},{"lineNumber":305,"author":{"gitId":"-"},"content":"```"},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":"## E2E Component"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":"The E2E component has no knowledge of the internal workings of the application and can only interact either with Web browser (as a whole application) or REST API calls (for the back-end logic). Its primary function is for E2E tests."},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/E2EComponent.puml\"/\u003e"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":"Package overview:"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":"- **`e2e.util`**: Contains helpers needed for running E2E tests. Also contains the test cases for the said infrastructure/helpers."},{"lineNumber":316,"author":{"gitId":"-"},"content":"- **`e2e.pageobjects`**: Contains abstractions of the pages as they appear on a Browser (i.e. SUTs)."},{"lineNumber":317,"author":{"gitId":"-"},"content":"- **`e2e.cases`**: Contains system test cases for testing the application as a whole."},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":"## Client Component"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":"The Client component contains scripts that can connect directly to the application back-end for administrative purposes, such as migrating data to a new schema and calculating statistics."},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"jingting1412"},"content":"\u003cpuml src\u003d\"diagrams/ClientComponent.puml\"/\u003e"},{"lineNumber":324,"author":{"gitId":"-"},"content":""},{"lineNumber":325,"author":{"gitId":"-"},"content":"Package overview:"},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":"- **`client.util`**: Contains helpers needed for client scripts."},{"lineNumber":328,"author":{"gitId":"-"},"content":"- **`client.connector`**: Classes needed to connect to the back end directly."},{"lineNumber":329,"author":{"gitId":"-"},"content":"- **`client.scripts`**: Scripts that deal with the back end data for administrative purposes."}],"authorContributionMap":{"jingting1412":12,"-":317}},{"path":"src/e2e/java/teammates/e2e/cases/AdminNotificationsPageE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDate;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import java.util.UUID;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationStyle;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationTargetUser;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.AdminNotificationsPage;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.output.NotificationData;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * SUT: {@link Const.WebPageURIs#ADMIN_NOTIFICATIONS_PAGE}."},{"lineNumber":21,"author":{"gitId":"-"},"content":" */"},{"lineNumber":22,"author":{"gitId":"-"},"content":"public class AdminNotificationsPageE2ETest extends BaseE2ETestCase {"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" private Notification[] notifications \u003d new Notification[2];"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":26,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" testData \u003d loadDataBundle(\"/AdminNotificationsPageE2ETest.json\");"},{"lineNumber":28,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" sqlTestData \u003d removeAndRestoreSqlDataBundle("},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" loadSqlDataBundle(\"/AdminNotificationsPageE2ETest_SqlEntities.json\"));"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" notifications[0] \u003d sqlTestData.notifications.get(\"notification1\");"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" notifications[1] \u003d sqlTestData.notifications.get(\"notification2\");"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"-"},"content":" public void testAll() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" ______TS(\"verify loaded data\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" AppUrl url \u003d createFrontendUrl(Const.WebPageURIs.ADMIN_NOTIFICATIONS_PAGE);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" AdminNotificationsPage notificationsPage \u003d loginAdminToPage(url, AdminNotificationsPage.class);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" // Only validates that the notifications are present in the notifications table instead of checking every row"},{"lineNumber":43,"author":{"gitId":"-"},"content":" // This is because the page will display all notifications in the database, which is not predictable"},{"lineNumber":44,"author":{"gitId":"-"},"content":" notificationsPage.verifyNotificationsTableRow(notifications[0]);"},{"lineNumber":45,"author":{"gitId":"-"},"content":" notificationsPage.verifyNotificationsTableRow(notifications[1]);"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" NotificationData notif \u003d BACKDOOR.getNotificationData(notifications[0].getId().toString());"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getNotificationId(), notifications[0].getId().toString());"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getMessage(), notifications[0].getMessage());"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getTitle(), notifications[0].getTitle());"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" notif \u003d BACKDOOR.getNotificationData(notifications[1].getId().toString());"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getNotificationId(), notifications[1].getId().toString());"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getMessage(), notifications[1].getMessage());"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getTitle(), notifications[1].getTitle());"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" ______TS(\"add new notification\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" int currentYear \u003d LocalDate.now().getYear();"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" Notification newNotification \u003d new Notification("},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" LocalDateTime.of(currentYear + 5, 2, 2, 12, 0).atZone(ZoneId.of(\"UTC\")).toInstant(),"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" LocalDateTime.of(currentYear + 5, 2, 3, 12, 0).atZone(ZoneId.of(\"UTC\")).toInstant(),"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" NotificationStyle.INFO,"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" NotificationTargetUser.STUDENT,"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" \"New E2E test notification 1\","},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" \"\u003cp\u003eNew E2E test notification message\u003c/p\u003e\""},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" );"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" notificationsPage.addNotification(newNotification);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" notificationsPage.verifyStatusMessage(\"Notification created successfully.\");"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" // Replace placeholder ID with actual ID of created notification"},{"lineNumber":70,"author":{"gitId":"-"},"content":" notificationsPage.sortNotificationsTableByDescendingCreateTime();"},{"lineNumber":71,"author":{"gitId":"-"},"content":" String newestNotificationId \u003d notificationsPage.getFirstRowNotificationId();"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" newNotification.setId(UUID.fromString(newestNotificationId));"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" // Checks that notification is in the database first"},{"lineNumber":75,"author":{"gitId":"-"},"content":" // so that newNotification is updated with the created time before checking table row"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" notif \u003d BACKDOOR.getNotificationData(newestNotificationId);"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getNotificationId(), newestNotificationId);"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getMessage(), newNotification.getMessage());"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" assertEquals(notif.getTitle(), newNotification.getTitle());"},{"lineNumber":80,"author":{"gitId":"-"},"content":" notificationsPage.verifyNotificationsTableRow(newNotification);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" ______TS(\"edit notification\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":" newNotification.setStartTime(LocalDateTime.of(currentYear + 7, 2, 2, 12, 0).atZone(ZoneId.of(\"UTC\")).toInstant());"},{"lineNumber":84,"author":{"gitId":"-"},"content":" newNotification.setEndTime(LocalDateTime.of(currentYear + 7, 2, 3, 12, 0).atZone(ZoneId.of(\"UTC\")).toInstant());"},{"lineNumber":85,"author":{"gitId":"-"},"content":" newNotification.setStyle(NotificationStyle.DANGER);"},{"lineNumber":86,"author":{"gitId":"-"},"content":" newNotification.setTargetUser(NotificationTargetUser.INSTRUCTOR);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" newNotification.setTitle(\"Edited E2E test notification 1\");"},{"lineNumber":88,"author":{"gitId":"-"},"content":" newNotification.setMessage(\"\u003cp\u003eEdited E2E test notification message\u003c/p\u003e\");"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" notificationsPage.editNotification(newNotification);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" notificationsPage.verifyStatusMessage(\"Notification updated successfully.\");"},{"lineNumber":92,"author":{"gitId":"-"},"content":" notificationsPage.verifyNotificationsTableRow(newNotification);"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" // verify that notification is present in database by reloading"},{"lineNumber":95,"author":{"gitId":"-"},"content":" notificationsPage.reloadPage();"},{"lineNumber":96,"author":{"gitId":"-"},"content":" notificationsPage.verifyNotificationsTableRow(newNotification);"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" ______TS(\"delete notification\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":" notificationsPage.deleteNotification(newNotification);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" notificationsPage.verifyStatusMessage(\"Notification has been deleted.\");"},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" notif \u003d BACKDOOR.getNotificationData(newestNotificationId);"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" assertNull(notif);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":106,"author":{"gitId":"-"},"content":" public void classTeardown() {"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" for (Notification notification : sqlTestData.notifications.values()) {"},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" BACKDOOR.deleteNotification(notification.getId().toString());"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":33,"-":79}},{"path":"src/e2e/java/teammates/e2e/cases/AdminSearchPageE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.AdminSearchPage;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * SUT: {@link Const.WebPageURIs#ADMIN_SEARCH_PAGE}."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class AdminSearchPageE2ETest extends BaseE2ETestCase {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" testData \u003d loadDataBundle(\"/AdminSearchPageE2ETest.json\");"},{"lineNumber":30,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" putDocuments(testData);"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" sqlTestData \u003d loadSqlDataBundle(\"/AdminSearchPageE2ETest_SqlEntities.json\");"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" removeAndRestoreSqlDataBundle(sqlTestData);"},{"lineNumber":34,"author":{"gitId":"-"},"content":" putSqlDocuments(sqlTestData);"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":38,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":39,"author":{"gitId":"-"},"content":" public void testAll() {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" AppUrl url \u003d createFrontendUrl(Const.WebPageURIs.ADMIN_SEARCH_PAGE);"},{"lineNumber":45,"author":{"gitId":"-"},"content":" AdminSearchPage searchPage \u003d loginAdminToPage(url, AdminSearchPage.class);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" CourseAttributes course \u003d testData.courses.get(\"typicalCourse1\");"},{"lineNumber":48,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d testData.students.get(\"student1InCourse1\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d testData.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d sqlTestData.accountRequests.get(\"instructor1OfCourse1\");"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Search student email\");"},{"lineNumber":53,"author":{"gitId":"-"},"content":" String searchContent \u003d student.getEmail();"},{"lineNumber":54,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":56,"author":{"gitId":"-"},"content":" String studentDetails \u003d getExpectedStudentDetails(student);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" String studentManageAccountLink \u003d getExpectedStudentManageAccountLink(student);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" String studentHomePageLink \u003d getExpectedStudentHomePageLink(student);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" int numExpandedRows \u003d getExpectedNumExpandedRows(student);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" searchPage.verifyStudentRowContent(student, course, studentDetails, studentManageAccountLink,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" studentHomePageLink);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" searchPage.verifyStudentExpandedLinks(student, numExpandedRows);"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Reset student google id\");"},{"lineNumber":65,"author":{"gitId":"-"},"content":" searchPage.resetStudentGoogleId(student);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" student.setGoogleId(null);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" studentManageAccountLink \u003d getExpectedStudentManageAccountLink(student);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" studentHomePageLink \u003d getExpectedStudentHomePageLink(student);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" searchPage.verifyStudentRowContent(student, course, studentDetails, studentManageAccountLink,"},{"lineNumber":70,"author":{"gitId":"-"},"content":" studentHomePageLink);"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Regenerate registration key for a course student\");"},{"lineNumber":73,"author":{"gitId":"-"},"content":" searchPage.clickExpandStudentLinks();"},{"lineNumber":74,"author":{"gitId":"-"},"content":" String originalJoinLink \u003d searchPage.getStudentJoinLink(student);"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" searchPage.regenerateStudentKey(student);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" searchPage.verifyRegenerateStudentKey(student, originalJoinLink);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" searchPage.waitForPageToLoad();"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Search for instructor email\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":82,"author":{"gitId":"-"},"content":" searchContent \u003d instructor.getEmail();"},{"lineNumber":83,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":85,"author":{"gitId":"-"},"content":" String instructorManageAccountLink \u003d getExpectedInstructorManageAccountLink(instructor);"},{"lineNumber":86,"author":{"gitId":"-"},"content":" String instructorHomePageLink \u003d getExpectedInstructorHomePageLink(instructor);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" searchPage.verifyInstructorRowContent(instructor, course, instructorManageAccountLink,"},{"lineNumber":88,"author":{"gitId":"-"},"content":" instructorHomePageLink);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" searchPage.verifyInstructorExpandedLinks(instructor);"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Reset instructor google id\");"},{"lineNumber":92,"author":{"gitId":"-"},"content":" searchPage.resetInstructorGoogleId(instructor);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" instructor.setGoogleId(null);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" instructorManageAccountLink \u003d getExpectedInstructorManageAccountLink(instructor);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" instructorHomePageLink \u003d getExpectedInstructorHomePageLink(instructor);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" searchPage.verifyInstructorRowContent(instructor, course, instructorManageAccountLink,"},{"lineNumber":97,"author":{"gitId":"-"},"content":" instructorHomePageLink);"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Regenerate registration key for an instructor\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":" searchPage.clickExpandInstructorLinks();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" originalJoinLink \u003d searchPage.getInstructorJoinLink(instructor);"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" searchPage.regenerateInstructorKey(instructor);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" searchPage.verifyRegenerateInstructorKey(instructor, originalJoinLink);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" searchPage.waitForPageToLoad();"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Search for account request by email\");"},{"lineNumber":108,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":109,"author":{"gitId":"-"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":110,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" searchPage.verifyAccountRequestRowContent(accountRequest);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" searchPage.verifyAccountRequestExpandedLinks(accountRequest);"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Search common search key\");"},{"lineNumber":116,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":117,"author":{"gitId":"-"},"content":" searchContent \u003d \"Course1\";"},{"lineNumber":118,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":120,"author":{"gitId":"-"},"content":" searchPage.verifyStudentRowContent(student, course, studentDetails, studentManageAccountLink,"},{"lineNumber":121,"author":{"gitId":"-"},"content":" studentHomePageLink);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" searchPage.verifyInstructorRowContent(instructor, course, instructorManageAccountLink,"},{"lineNumber":123,"author":{"gitId":"-"},"content":" instructorHomePageLink);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" searchPage.verifyAccountRequestRowContent(accountRequest);"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Expand and collapse links\");"},{"lineNumber":127,"author":{"gitId":"-"},"content":" searchPage.verifyLinkExpansionButtons(student, instructor, accountRequest);"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Reset account request successful\");"},{"lineNumber":130,"author":{"gitId":"-"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":131,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":132,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":134,"author":{"gitId":"-"},"content":" searchPage.clickResetAccountRequestButton(accountRequest);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" assertNull(BACKDOOR.getAccountRequest(accountRequest.getId()).getRegisteredAt());"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Delete account request successful\");"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d sqlTestData.accountRequests.get(\"unregisteredInstructor1\");"},{"lineNumber":139,"author":{"gitId":"-"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":140,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":141,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":143,"author":{"gitId":"-"},"content":" searchPage.clickDeleteAccountRequestButton(accountRequest);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" assertNull(BACKDOOR.getAccountRequest(accountRequest.getId()));"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" private String getExpectedStudentDetails(StudentAttributes student) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" return String.format(\"%s [%s] (%s)\", student.getCourse(),"},{"lineNumber":149,"author":{"gitId":"-"},"content":" student.getSection() \u003d\u003d null ? Const.DEFAULT_SECTION : student.getSection(), student.getTeam());"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" private String getExpectedStudentHomePageLink(StudentAttributes student) {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" return student.isRegistered() ? createFrontendUrl(Const.WebPageURIs.STUDENT_HOME_PAGE)"},{"lineNumber":154,"author":{"gitId":"-"},"content":" .withUserId(student.getGoogleId())"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .toAbsoluteString()"},{"lineNumber":156,"author":{"gitId":"-"},"content":" : \"\";"},{"lineNumber":157,"author":{"gitId":"-"},"content":" }"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" private String getExpectedStudentManageAccountLink(StudentAttributes student) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" return student.isRegistered() ? createFrontendUrl(Const.WebPageURIs.ADMIN_ACCOUNTS_PAGE)"},{"lineNumber":161,"author":{"gitId":"-"},"content":" .withParam(Const.ParamsNames.INSTRUCTOR_ID, student.getGoogleId())"},{"lineNumber":162,"author":{"gitId":"-"},"content":" .toAbsoluteString()"},{"lineNumber":163,"author":{"gitId":"-"},"content":" : \"\";"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" private int getExpectedNumExpandedRows(StudentAttributes student) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" int expectedNumExpandedRows \u003d 2;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" for (FeedbackSessionAttributes sessions : testData.feedbackSessions.values()) {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" if (sessions.getCourseId().equals(student.getCourse())) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" expectedNumExpandedRows +\u003d 1;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" if (sessions.getResultsVisibleFromTime().isBefore(Instant.now())) {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" expectedNumExpandedRows +\u003d 1;"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":" return expectedNumExpandedRows;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" private String getExpectedInstructorHomePageLink(InstructorAttributes instructor) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" String googleId \u003d instructor.isRegistered() ? instructor.getGoogleId() : \"\";"},{"lineNumber":181,"author":{"gitId":"-"},"content":" return createFrontendUrl(Const.WebPageURIs.INSTRUCTOR_HOME_PAGE)"},{"lineNumber":182,"author":{"gitId":"-"},"content":" .withUserId(googleId)"},{"lineNumber":183,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" private String getExpectedInstructorManageAccountLink(InstructorAttributes instructor) {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" String googleId \u003d instructor.isRegistered() ? instructor.getGoogleId() : \"\";"},{"lineNumber":188,"author":{"gitId":"-"},"content":" return createFrontendUrl(Const.WebPageURIs.ADMIN_ACCOUNTS_PAGE)"},{"lineNumber":189,"author":{"gitId":"-"},"content":" .withParam(Const.ParamsNames.INSTRUCTOR_ID, googleId)"},{"lineNumber":190,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":" @AfterClass"},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" public void classTeardown() {"},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" for (AccountRequest request : sqlTestData.accountRequests.values()) {"},{"lineNumber":196,"author":{"gitId":"dishenggg"},"content":" BACKDOOR.deleteAccountRequest(request.getId());"},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":12,"dishenggg":1,"-":187}},{"path":"src/e2e/java/teammates/e2e/cases/BaseE2ETestCase.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.ITestContext;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.DataBundle;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountAttributes;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountRequestAttributes;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.DeadlineExtensionAttributes;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseAttributes;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseCommentAttributes;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.exception.HttpRequestFailedException;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.AppPage;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.Browser;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.DevServerLoginPage;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.HomePage;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.e2e.util.BackDoor;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.e2e.util.EmailAccount;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCaseWithDatabaseAccess;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.test.FileHelper;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.test.ThreadHelper;"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":41,"author":{"gitId":"-"},"content":" * Base class for all browser tests."},{"lineNumber":42,"author":{"gitId":"-"},"content":" *"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis type of test has no knowledge of the workings of the application,"},{"lineNumber":44,"author":{"gitId":"-"},"content":" * and can only communicate via the UI or via {@link BackDoor} to obtain/transmit data."},{"lineNumber":45,"author":{"gitId":"-"},"content":" */"},{"lineNumber":46,"author":{"gitId":"-"},"content":"public abstract class BaseE2ETestCase extends BaseTestCaseWithDatabaseAccess {"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Backdoor used to call APIs."},{"lineNumber":50,"author":{"gitId":"-"},"content":" */"},{"lineNumber":51,"author":{"gitId":"-"},"content":" protected static final BackDoor BACKDOOR \u003d BackDoor.getInstance();"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":54,"author":{"gitId":"-"},"content":" * Data to be used in the test."},{"lineNumber":55,"author":{"gitId":"-"},"content":" */"},{"lineNumber":56,"author":{"gitId":"-"},"content":" protected DataBundle testData;"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Sql Data to be used in the test."},{"lineNumber":60,"author":{"gitId":"-"},"content":" */"},{"lineNumber":61,"author":{"gitId":"-"},"content":" protected SqlDataBundle sqlTestData;"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" private Browser browser;"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":66,"author":{"gitId":"-"},"content":" public void baseClassSetup() {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" prepareTestData();"},{"lineNumber":68,"author":{"gitId":"-"},"content":" prepareBrowser();"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":72,"author":{"gitId":"-"},"content":" * Prepares the browser used for the current test."},{"lineNumber":73,"author":{"gitId":"-"},"content":" */"},{"lineNumber":74,"author":{"gitId":"-"},"content":" protected void prepareBrowser() {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" browser \u003d new Browser();"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * Prepares the test data used for the current test."},{"lineNumber":80,"author":{"gitId":"-"},"content":" */"},{"lineNumber":81,"author":{"gitId":"-"},"content":" protected abstract void prepareTestData();"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":84,"author":{"gitId":"-"},"content":" * Contains all the tests for the page."},{"lineNumber":85,"author":{"gitId":"-"},"content":" *"},{"lineNumber":86,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis approach is chosen so that setup and teardown are only needed once per test page,"},{"lineNumber":87,"author":{"gitId":"-"},"content":" * thereby saving time. While it necessitates failed tests to be restarted from the beginning,"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * test failures are rare and thus not causing significant overhead."},{"lineNumber":89,"author":{"gitId":"-"},"content":" */"},{"lineNumber":90,"author":{"gitId":"-"},"content":" protected abstract void testAll();"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":93,"author":{"gitId":"-"},"content":" protected String getTestDataFolder() {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" return TestProperties.TEST_DATA_FOLDER;"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":98,"author":{"gitId":"-"},"content":" public void baseClassTearDown(ITestContext context) {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" if (browser \u003d\u003d null) {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":" boolean isSuccess \u003d context.getFailedTests().getAllMethods()"},{"lineNumber":103,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .noneMatch(method -\u003e method.getConstructorOrMethod().getMethod().getDeclaringClass() \u003d\u003d this.getClass());"},{"lineNumber":105,"author":{"gitId":"-"},"content":" if (isSuccess || TestProperties.CLOSE_BROWSER_ON_FAILURE) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" browser.close();"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":111,"author":{"gitId":"-"},"content":" * Creates an {@link AppUrl} for the supplied {@code relativeUrl} parameter."},{"lineNumber":112,"author":{"gitId":"-"},"content":" * The base URL will be the value of test.app.frontend.url in test.properties."},{"lineNumber":113,"author":{"gitId":"-"},"content":" * {@code relativeUrl} must start with a \"/\"."},{"lineNumber":114,"author":{"gitId":"-"},"content":" */"},{"lineNumber":115,"author":{"gitId":"-"},"content":" protected static AppUrl createFrontendUrl(String relativeUrl) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" return new AppUrl(TestProperties.TEAMMATES_FRONTEND_URL + relativeUrl);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":120,"author":{"gitId":"-"},"content":" * Creates an {@link AppUrl} for the supplied {@code relativeUrl} parameter."},{"lineNumber":121,"author":{"gitId":"-"},"content":" * The base URL will be the value of test.app.backend.url in test.properties."},{"lineNumber":122,"author":{"gitId":"-"},"content":" * {@code relativeUrl} must start with a \"/\"."},{"lineNumber":123,"author":{"gitId":"-"},"content":" */"},{"lineNumber":124,"author":{"gitId":"-"},"content":" protected static AppUrl createBackendUrl(String relativeUrl) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return new AppUrl(TestProperties.TEAMMATES_BACKEND_URL + relativeUrl);"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":129,"author":{"gitId":"-"},"content":" * Logs in to a page using the given credentials."},{"lineNumber":130,"author":{"gitId":"-"},"content":" */"},{"lineNumber":131,"author":{"gitId":"-"},"content":" protected \u003cT extends AppPage\u003e T loginToPage(AppUrl url, Class\u003cT\u003e typeOfPage, String userId) {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" // When not using dev server, Google blocks log in by automation."},{"lineNumber":133,"author":{"gitId":"-"},"content":" // To work around that, we inject the user cookie directly into the browser session."},{"lineNumber":134,"author":{"gitId":"-"},"content":" if (!TestProperties.isDevServer()) {"},{"lineNumber":135,"author":{"gitId":"-"},"content":" // In order for the cookie injection to work, we need to be in the domain."},{"lineNumber":136,"author":{"gitId":"-"},"content":" // Use the home page to minimize the page load time."},{"lineNumber":137,"author":{"gitId":"-"},"content":" browser.goToUrl(TestProperties.TEAMMATES_FRONTEND_URL);"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" String cookieValue \u003d BACKDOOR.getUserCookie(userId);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" browser.addCookie(Const.SecurityConfig.AUTH_COOKIE_NAME, cookieValue, true, true);"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" return getNewPageInstance(url, typeOfPage);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" }"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" // This will be redirected to the dev server login page."},{"lineNumber":146,"author":{"gitId":"-"},"content":" browser.goToUrl(url.toAbsoluteString());"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" DevServerLoginPage loginPage \u003d AppPage.getNewPageInstance(browser, DevServerLoginPage.class);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" loginPage.loginAsUser(userId);"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" return getNewPageInstance(url, typeOfPage);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":155,"author":{"gitId":"-"},"content":" * Logs in to a page using admin credentials."},{"lineNumber":156,"author":{"gitId":"-"},"content":" */"},{"lineNumber":157,"author":{"gitId":"-"},"content":" protected \u003cT extends AppPage\u003e T loginAdminToPage(AppUrl url, Class\u003cT\u003e typeOfPage) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" return loginToPage(url, typeOfPage, TestProperties.TEST_ADMIN);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":162,"author":{"gitId":"-"},"content":" * Equivalent to clicking the \u0027logout\u0027 link in the top menu of the page."},{"lineNumber":163,"author":{"gitId":"-"},"content":" */"},{"lineNumber":164,"author":{"gitId":"-"},"content":" protected void logout() {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" AppUrl url \u003d createBackendUrl(Const.WebPageURIs.LOGOUT);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" if (!TestProperties.TEAMMATES_FRONTEND_URL.equals(TestProperties.TEAMMATES_BACKEND_URL)) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" url \u003d url.withParam(\"frontendUrl\", TestProperties.TEAMMATES_FRONTEND_URL);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" browser.goToUrl(url.toAbsoluteString());"},{"lineNumber":171,"author":{"gitId":"-"},"content":" AppPage.getNewPageInstance(browser, HomePage.class).waitForPageToLoad();"},{"lineNumber":172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":175,"author":{"gitId":"-"},"content":" * Deletes file with fileName from the downloads folder."},{"lineNumber":176,"author":{"gitId":"-"},"content":" */"},{"lineNumber":177,"author":{"gitId":"-"},"content":" protected void deleteDownloadsFile(String fileName) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" String filePath \u003d TestProperties.TEST_DOWNLOADS_FOLDER + fileName;"},{"lineNumber":179,"author":{"gitId":"-"},"content":" FileHelper.deleteFile(filePath);"},{"lineNumber":180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":183,"author":{"gitId":"-"},"content":" * Verifies downloaded file has correct fileName and contains expected content."},{"lineNumber":184,"author":{"gitId":"-"},"content":" */"},{"lineNumber":185,"author":{"gitId":"-"},"content":" protected void verifyDownloadedFile(String expectedFileName, List\u003cString\u003e expectedContent) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" String filePath \u003d TestProperties.TEST_DOWNLOADS_FOLDER + expectedFileName;"},{"lineNumber":187,"author":{"gitId":"-"},"content":" int retryLimit \u003d TestProperties.TEST_TIMEOUT;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" boolean actual \u003d Files.exists(Paths.get(filePath));"},{"lineNumber":189,"author":{"gitId":"-"},"content":" while (!actual \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":191,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000);"},{"lineNumber":192,"author":{"gitId":"-"},"content":" actual \u003d Files.exists(Paths.get(filePath));"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":" assertTrue(actual);"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" String actualContent \u003d FileHelper.readFile(filePath);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" for (String content : expectedContent) {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" assertTrue(actualContent.contains(content));"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":207,"author":{"gitId":"-"},"content":" * Visits the URL and gets the page object representation of the visited web page in the browser."},{"lineNumber":208,"author":{"gitId":"-"},"content":" */"},{"lineNumber":209,"author":{"gitId":"-"},"content":" protected \u003cT extends AppPage\u003e T getNewPageInstance(AppUrl url, Class\u003cT\u003e typeOfPage) {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" browser.goToUrl(url.toAbsoluteString());"},{"lineNumber":211,"author":{"gitId":"-"},"content":" return AppPage.getNewPageInstance(browser, typeOfPage);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":215,"author":{"gitId":"-"},"content":" * Verifies that email with subject is found in inbox."},{"lineNumber":216,"author":{"gitId":"-"},"content":" * Email used must be an authentic gmail account."},{"lineNumber":217,"author":{"gitId":"-"},"content":" */"},{"lineNumber":218,"author":{"gitId":"-"},"content":" protected void verifyEmailSent(String email, String subject) {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" if (TestProperties.isDevServer() || !TestProperties.INCLUDE_EMAIL_VERIFICATION) {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":221,"author":{"gitId":"-"},"content":" }"},{"lineNumber":222,"author":{"gitId":"-"},"content":" if (!TestProperties.TEST_EMAIL.equals(email)) {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" fail(\"Email verification is allowed only on preset test email.\");"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":" EmailAccount emailAccount \u003d new EmailAccount(email);"},{"lineNumber":226,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" emailAccount.getUserAuthenticated();"},{"lineNumber":228,"author":{"gitId":"-"},"content":" int retryLimit \u003d 5;"},{"lineNumber":229,"author":{"gitId":"-"},"content":" boolean actual \u003d emailAccount.isRecentEmailWithSubjectPresent(subject, TestProperties.TEST_SENDER_EMAIL);"},{"lineNumber":230,"author":{"gitId":"-"},"content":" while (!actual \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":232,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000);"},{"lineNumber":233,"author":{"gitId":"-"},"content":" actual \u003d emailAccount.isRecentEmailWithSubjectPresent(subject, TestProperties.TEST_SENDER_EMAIL);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":" assertTrue(actual);"},{"lineNumber":236,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" fail(\"Failed to verify email sent:\" + e);"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" AccountAttributes getAccount(String googleId) {"},{"lineNumber":242,"author":{"gitId":"-"},"content":" return BACKDOOR.getAccount(googleId);"},{"lineNumber":243,"author":{"gitId":"-"},"content":" }"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":246,"author":{"gitId":"-"},"content":" protected AccountAttributes getAccount(AccountAttributes account) {"},{"lineNumber":247,"author":{"gitId":"-"},"content":" return getAccount(account.getGoogleId());"},{"lineNumber":248,"author":{"gitId":"-"},"content":" }"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" CourseAttributes getCourse(String courseId) {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" return BACKDOOR.getCourse(courseId);"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":255,"author":{"gitId":"-"},"content":" protected CourseAttributes getCourse(CourseAttributes course) {"},{"lineNumber":256,"author":{"gitId":"-"},"content":" return getCourse(course.getId());"},{"lineNumber":257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" CourseAttributes getArchivedCourse(String instructorId, String courseId) {"},{"lineNumber":260,"author":{"gitId":"-"},"content":" return BACKDOOR.getArchivedCourse(instructorId, courseId);"},{"lineNumber":261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes getFeedbackQuestion(String courseId, String feedbackSessionName, int qnNumber) {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" return BACKDOOR.getFeedbackQuestion(courseId, feedbackSessionName, qnNumber);"},{"lineNumber":265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":268,"author":{"gitId":"-"},"content":" protected FeedbackQuestionAttributes getFeedbackQuestion(FeedbackQuestionAttributes fq) {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" return getFeedbackQuestion(fq.getCourseId(), fq.getFeedbackSessionName(), fq.getQuestionNumber());"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" FeedbackResponseCommentAttributes getFeedbackResponseComment(String feedbackResponseId) {"},{"lineNumber":273,"author":{"gitId":"-"},"content":" return BACKDOOR.getFeedbackResponseComment(feedbackResponseId);"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":277,"author":{"gitId":"-"},"content":" protected FeedbackResponseCommentAttributes getFeedbackResponseComment(FeedbackResponseCommentAttributes frc) {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" return getFeedbackResponseComment(frc.getFeedbackResponseId());"},{"lineNumber":279,"author":{"gitId":"-"},"content":" }"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":" FeedbackResponseAttributes getFeedbackResponse(String feedbackQuestionId, String giver, String recipient) {"},{"lineNumber":282,"author":{"gitId":"-"},"content":" return BACKDOOR.getFeedbackResponse(feedbackQuestionId, giver, recipient);"},{"lineNumber":283,"author":{"gitId":"-"},"content":" }"},{"lineNumber":284,"author":{"gitId":"-"},"content":""},{"lineNumber":285,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":286,"author":{"gitId":"-"},"content":" protected FeedbackResponseAttributes getFeedbackResponse(FeedbackResponseAttributes fr) {"},{"lineNumber":287,"author":{"gitId":"-"},"content":" return getFeedbackResponse(fr.getFeedbackQuestionId(), fr.getGiver(), fr.getRecipient());"},{"lineNumber":288,"author":{"gitId":"-"},"content":" }"},{"lineNumber":289,"author":{"gitId":"-"},"content":""},{"lineNumber":290,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes getFeedbackSession(String courseId, String feedbackSessionName) {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" return BACKDOOR.getFeedbackSession(courseId, feedbackSessionName);"},{"lineNumber":292,"author":{"gitId":"-"},"content":" }"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":295,"author":{"gitId":"-"},"content":" protected FeedbackSessionAttributes getFeedbackSession(FeedbackSessionAttributes fs) {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" return getFeedbackSession(fs.getCourseId(), fs.getFeedbackSessionName());"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes getSoftDeletedSession(String feedbackSessionName, String instructorId) {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" return BACKDOOR.getSoftDeletedSession(feedbackSessionName, instructorId);"},{"lineNumber":301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" InstructorAttributes getInstructor(String courseId, String instructorEmail) {"},{"lineNumber":304,"author":{"gitId":"-"},"content":" return BACKDOOR.getInstructor(courseId, instructorEmail);"},{"lineNumber":305,"author":{"gitId":"-"},"content":" }"},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":308,"author":{"gitId":"-"},"content":" protected InstructorAttributes getInstructor(InstructorAttributes instructor) {"},{"lineNumber":309,"author":{"gitId":"-"},"content":" return getInstructor(instructor.getCourseId(), instructor.getEmail());"},{"lineNumber":310,"author":{"gitId":"-"},"content":" }"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":313,"author":{"gitId":"-"},"content":" * Gets registration key for a given instructor."},{"lineNumber":314,"author":{"gitId":"-"},"content":" */"},{"lineNumber":315,"author":{"gitId":"-"},"content":" protected String getKeyForInstructor(String courseId, String instructorEmail) {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" return getInstructor(courseId, instructorEmail).getKey();"},{"lineNumber":317,"author":{"gitId":"-"},"content":" }"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":320,"author":{"gitId":"-"},"content":" protected StudentAttributes getStudent(StudentAttributes student) {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" return BACKDOOR.getStudent(student.getCourse(), student.getEmail());"},{"lineNumber":322,"author":{"gitId":"-"},"content":" }"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":325,"author":{"gitId":"-"},"content":" * Gets registration key for a given student."},{"lineNumber":326,"author":{"gitId":"-"},"content":" */"},{"lineNumber":327,"author":{"gitId":"-"},"content":" protected String getKeyForStudent(StudentAttributes student) {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" return getStudent(student).getKey();"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":332,"author":{"gitId":"-"},"content":" protected AccountRequestAttributes getAccountRequest(AccountRequestAttributes accountRequest) {"},{"lineNumber":333,"author":{"gitId":"-"},"content":" return BACKDOOR.getAccountRequest(UUID.fromString(accountRequest.getId()));"},{"lineNumber":334,"author":{"gitId":"-"},"content":" }"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"-"},"content":" NotificationAttributes getNotification(String notificationId) {"},{"lineNumber":337,"author":{"gitId":"-"},"content":" return BACKDOOR.getNotification(notificationId);"},{"lineNumber":338,"author":{"gitId":"-"},"content":" }"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":341,"author":{"gitId":"-"},"content":" protected NotificationAttributes getNotification(NotificationAttributes notification) {"},{"lineNumber":342,"author":{"gitId":"-"},"content":" return getNotification(notification.getNotificationId());"},{"lineNumber":343,"author":{"gitId":"-"},"content":" }"},{"lineNumber":344,"author":{"gitId":"-"},"content":""},{"lineNumber":345,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":346,"author":{"gitId":"-"},"content":" protected DeadlineExtensionAttributes getDeadlineExtension(DeadlineExtensionAttributes deadlineExtension) {"},{"lineNumber":347,"author":{"gitId":"-"},"content":" return BACKDOOR.getDeadlineExtension("},{"lineNumber":348,"author":{"gitId":"-"},"content":" deadlineExtension.getCourseId(), deadlineExtension.getFeedbackSessionName(),"},{"lineNumber":349,"author":{"gitId":"-"},"content":" deadlineExtension.getUserEmail(), deadlineExtension.getIsInstructor());"},{"lineNumber":350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":353,"author":{"gitId":"-"},"content":" protected boolean doRemoveAndRestoreDataBundle(DataBundle testData) {"},{"lineNumber":354,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" BACKDOOR.removeAndRestoreDataBundle(testData);"},{"lineNumber":356,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":357,"author":{"gitId":"-"},"content":" } catch (HttpRequestFailedException e) {"},{"lineNumber":358,"author":{"gitId":"-"},"content":" e.printStackTrace();"},{"lineNumber":359,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":360,"author":{"gitId":"-"},"content":" }"},{"lineNumber":361,"author":{"gitId":"-"},"content":" }"},{"lineNumber":362,"author":{"gitId":"-"},"content":""},{"lineNumber":363,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":364,"author":{"gitId":"-"},"content":" protected SqlDataBundle doRemoveAndRestoreSqlDataBundle(SqlDataBundle testData) {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":366,"author":{"gitId":"-"},"content":" return BACKDOOR.removeAndRestoreSqlDataBundle(testData);"},{"lineNumber":367,"author":{"gitId":"-"},"content":" } catch (HttpRequestFailedException e) {"},{"lineNumber":368,"author":{"gitId":"-"},"content":" e.printStackTrace();"},{"lineNumber":369,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":370,"author":{"gitId":"-"},"content":" }"},{"lineNumber":371,"author":{"gitId":"-"},"content":" }"},{"lineNumber":372,"author":{"gitId":"-"},"content":""},{"lineNumber":373,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":374,"author":{"gitId":"-"},"content":" protected boolean doPutDocuments(DataBundle testData) {"},{"lineNumber":375,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":376,"author":{"gitId":"-"},"content":" BACKDOOR.putDocuments(testData);"},{"lineNumber":377,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":378,"author":{"gitId":"-"},"content":" } catch (HttpRequestFailedException e) {"},{"lineNumber":379,"author":{"gitId":"-"},"content":" e.printStackTrace();"},{"lineNumber":380,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":381,"author":{"gitId":"-"},"content":" }"},{"lineNumber":382,"author":{"gitId":"-"},"content":" }"},{"lineNumber":383,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":384,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":385,"author":{"gitId":"domoberzin"},"content":" protected boolean doPutDocumentsSql(SqlDataBundle testData) {"},{"lineNumber":386,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":387,"author":{"gitId":"domoberzin"},"content":" BACKDOOR.putSqlDocuments(testData);"},{"lineNumber":388,"author":{"gitId":"domoberzin"},"content":" return true;"},{"lineNumber":389,"author":{"gitId":"domoberzin"},"content":" } catch (HttpRequestFailedException e) {"},{"lineNumber":390,"author":{"gitId":"domoberzin"},"content":" e.printStackTrace();"},{"lineNumber":391,"author":{"gitId":"domoberzin"},"content":" return false;"},{"lineNumber":392,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":393,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":394,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":11,"-":383}},{"path":"src/e2e/java/teammates/e2e/cases/InstructorNotificationsPageE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.util.Set;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.util.stream.Collectors;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.util.stream.Stream;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.InstructorNotificationsPage;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.output.AccountData;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_NOTIFICATIONS_PAGE}."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class InstructorNotificationsPageE2ETest extends BaseE2ETestCase {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" testData \u003d loadDataBundle(\"/InstructorNotificationsPageE2ETest.json\");"},{"lineNumber":26,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" sqlTestData \u003d removeAndRestoreSqlDataBundle("},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" loadSqlDataBundle(\"/InstructorNotificationsPageE2ETest_SqlEntities.json\"));"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"-"},"content":" public void testAll() {"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" Account account \u003d sqlTestData.accounts.get(\"INotifs.instr\");"},{"lineNumber":35,"author":{"gitId":"-"},"content":" AppUrl notificationsPageUrl \u003d createFrontendUrl(Const.WebPageURIs.INSTRUCTOR_NOTIFICATIONS_PAGE);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" InstructorNotificationsPage notificationsPage \u003d loginToPage(notificationsPageUrl, InstructorNotificationsPage.class,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" account.getGoogleId());"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" ______TS(\"verify that only active notifications with correct target user are shown\");"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" Notification[] notShownNotifications \u003d {"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" sqlTestData.notifications.get(\"notification2\"),"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" sqlTestData.notifications.get(\"expiredNotification1\"),"},{"lineNumber":43,"author":{"gitId":"-"},"content":" };"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" Notification[] shownNotifications \u003d {"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" sqlTestData.notifications.get(\"notification1\"),"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" sqlTestData.notifications.get(\"notification3\"),"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" sqlTestData.notifications.get(\"notification4\"),"},{"lineNumber":48,"author":{"gitId":"-"},"content":" };"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" Notification[] readNotifications \u003d {"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" sqlTestData.notifications.get(\"notification4\"),"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" Set\u003cString\u003e readNotificationsIds \u003d Stream.of(readNotifications)"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" .map(readNotification -\u003e readNotification.getId().toString())"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" .collect(Collectors.toSet());"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" notificationsPage.verifyNotShownNotifications(notShownNotifications);"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" notificationsPage.verifyShownNotifications(shownNotifications, readNotificationsIds);"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" ______TS(\"mark notification as read\");"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" Notification notificationToMarkAsRead \u003d sqlTestData.notifications.get(\"notification3\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" notificationsPage.markNotificationAsRead(notificationToMarkAsRead);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" notificationsPage.verifyStatusMessage(\"Notification marked as read.\");"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" // Verify that account\u0027s readNotifications attribute is updated"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" AccountData accountFromDb \u003d BACKDOOR.getAccountData(account.getGoogleId());"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" assertTrue(accountFromDb.getReadNotifications().containsKey(notificationToMarkAsRead.getId().toString()));"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" ______TS(\"notification banner is not visible\");"},{"lineNumber":71,"author":{"gitId":"-"},"content":" assertFalse(notificationsPage.isBannerVisible());"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public void classTeardown() {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" for (NotificationAttributes notification : testData.notifications.values()) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" BACKDOOR.deleteNotification(notification.getNotificationId());"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":28,"-":53}},{"path":"src/e2e/java/teammates/e2e/cases/InstructorSearchPageE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.InstructorCourseStudentDetailsEditPage;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.InstructorCourseStudentDetailsViewPage;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.InstructorSearchPage;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.InstructorStudentRecordsPage;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_SEARCH_PAGE}."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class InstructorSearchPageE2ETest extends BaseE2ETestCase {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" sqlTestData \u003d removeAndRestoreSqlDataBundle("},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" loadSqlDataBundle(\"/InstructorSearchPageE2ETest_SqlEntities.json\"));"},{"lineNumber":30,"author":{"gitId":"-"},"content":" testData \u003d loadDataBundle(\"/InstructorSearchPageE2ETest.json\");"},{"lineNumber":31,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" putDocuments(testData);"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"-"},"content":" public void testAll() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" String instructorId \u003d sqlTestData.accounts.get(\"instructor1OfCourse1\").getGoogleId();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" AppUrl searchPageUrl \u003d createFrontendUrl(Const.WebPageURIs.INSTRUCTOR_SEARCH_PAGE);"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" InstructorSearchPage searchPage \u003d loginToPage(searchPageUrl, InstructorSearchPage.class, instructorId);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" ______TS(\"cannot click search button if no search term is entered\");"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" searchPage.search(\"\");"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" ______TS(\"search with no result\");"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" searchPage.search(\"thiswillnothitanything\");"},{"lineNumber":54,"author":{"gitId":"-"},"content":" searchPage.verifyStatusMessage(\"No results found.\");"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" ______TS(\"search for students\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" searchPage.search(\"student2\");"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" CourseAttributes course1 \u003d testData.courses.get(\"typicalCourse1\");"},{"lineNumber":61,"author":{"gitId":"-"},"content":" CourseAttributes course2 \u003d testData.courses.get(\"typicalCourse2\");"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" StudentAttributes[] studentsInCourse1 \u003d {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" testData.students.get(\"student2.2InCourse1\"),"},{"lineNumber":65,"author":{"gitId":"-"},"content":" testData.students.get(\"student2InCourse1\"),"},{"lineNumber":66,"author":{"gitId":"-"},"content":" };"},{"lineNumber":67,"author":{"gitId":"-"},"content":" StudentAttributes[] studentsInCourse2 \u003d {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" testData.students.get(\"student2.2InCourse2\"),"},{"lineNumber":69,"author":{"gitId":"-"},"content":" testData.students.get(\"student2InCourse2\"),"},{"lineNumber":70,"author":{"gitId":"-"},"content":" };"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" Map\u003cString, StudentAttributes[]\u003e courseIdToStudents \u003d new HashMap\u003c\u003e();"},{"lineNumber":73,"author":{"gitId":"-"},"content":" courseIdToStudents.put(course1.getId(), studentsInCourse1);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" courseIdToStudents.put(course2.getId(), studentsInCourse2);"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" Map\u003cString, CourseAttributes\u003e courseIdToCourse \u003d new HashMap\u003c\u003e();"},{"lineNumber":77,"author":{"gitId":"-"},"content":" courseIdToCourse.put(course1.getId(), course1);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" courseIdToCourse.put(course2.getId(), course2);"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" searchPage.verifyStudentDetails(courseIdToCourse, courseIdToStudents);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" ______TS(\"link: view student details page\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" StudentAttributes studentToView \u003d testData.students.get(\"student2.2InCourse1\");"},{"lineNumber":85,"author":{"gitId":"-"},"content":" String studentEmail \u003d studentToView.getEmail();"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" InstructorCourseStudentDetailsViewPage studentDetailsViewPage \u003d"},{"lineNumber":88,"author":{"gitId":"-"},"content":" searchPage.clickViewStudent(course1, studentEmail);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" studentDetailsViewPage.verifyIsCorrectPage(course1.getId(), studentEmail);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" studentDetailsViewPage.closeCurrentWindowAndSwitchToParentWindow();"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" ______TS(\"link: edit student details page\");"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" InstructorCourseStudentDetailsEditPage studentDetailsEditPage \u003d"},{"lineNumber":95,"author":{"gitId":"-"},"content":" searchPage.clickEditStudent(course1, studentEmail);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" studentDetailsEditPage.verifyIsCorrectPage(course1.getId(), studentEmail);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" studentDetailsEditPage.closeCurrentWindowAndSwitchToParentWindow();"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" ______TS(\"link: view all records page\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" InstructorStudentRecordsPage studentRecordsPage \u003d"},{"lineNumber":102,"author":{"gitId":"-"},"content":" searchPage.clickViewAllRecords(course1, studentEmail);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" studentRecordsPage.verifyIsCorrectPage(course1.getId(), studentToView.getName());"},{"lineNumber":104,"author":{"gitId":"-"},"content":" studentRecordsPage.closeCurrentWindowAndSwitchToParentWindow();"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" ______TS(\"action: delete student\");"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" StudentAttributes studentToDelete \u003d testData.students.get(\"student2InCourse2\");"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" searchPage.deleteStudent(course2, studentToDelete.getEmail());"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" StudentAttributes[] studentsAfterDelete \u003d {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" testData.students.get(\"student2.2InCourse2\"),"},{"lineNumber":114,"author":{"gitId":"-"},"content":" };"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" searchPage.verifyStudentDetails(course2, studentsAfterDelete);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" verifyAbsentInDatabase(studentToDelete);"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":3,"-":118}},{"path":"src/e2e/java/teammates/e2e/cases/NotificationBannerE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.StudentHomePage;"},{"lineNumber":10,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":11,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.output.AccountData;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * SUT: The reusable notification banner, which can be displayed across many pages."},{"lineNumber":15,"author":{"gitId":"-"},"content":" * {@link Const.WebPageURIs#STUDENT_HOME_PAGE} is used to test the behaviour of the banner in this case,"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * {@link Const.WebPageURIs#STUDENT_NOTIFICATIONS_PAGE}"},{"lineNumber":17,"author":{"gitId":"-"},"content":" */"},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class NotificationBannerE2ETest extends BaseE2ETestCase {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":20,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" testData \u003d loadDataBundle(\"/NotificationBannerE2ETest.json\");"},{"lineNumber":22,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":23,"author":{"gitId":"yuanxi1"},"content":" sqlTestData \u003d removeAndRestoreSqlDataBundle("},{"lineNumber":24,"author":{"gitId":"yuanxi1"},"content":" loadSqlDataBundle(\"/NotificationBannerE2ETest_SqlEntities.json\"));"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":28,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"-"},"content":" protected void testAll() {"},{"lineNumber":30,"author":{"gitId":"yuanxi1"},"content":" Account account \u003d sqlTestData.accounts.get(\"NotifBanner.student\");"},{"lineNumber":31,"author":{"gitId":"-"},"content":" AppUrl studentHomePageUrl \u003d createFrontendUrl(Const.WebPageURIs.STUDENT_HOME_PAGE);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" StudentHomePage studentHomePage \u003d loginToPage(studentHomePageUrl, StudentHomePage.class,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" account.getGoogleId());"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" ______TS(\"verify active notification with correct information is shown\");"},{"lineNumber":36,"author":{"gitId":"-"},"content":" assertTrue(studentHomePage.isBannerVisible());"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" ______TS(\"close notification\");"},{"lineNumber":39,"author":{"gitId":"-"},"content":" // After user closes a notification banner, it should not appear till user refreshes page"},{"lineNumber":40,"author":{"gitId":"-"},"content":" studentHomePage.clickCloseNotificationBannerButton();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" assertFalse(studentHomePage.isBannerVisible());"},{"lineNumber":42,"author":{"gitId":"-"},"content":" studentHomePage.reloadPage();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" assertTrue(studentHomePage.isBannerVisible());"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" ______TS(\"mark notification as read\");"},{"lineNumber":46,"author":{"gitId":"-"},"content":" studentHomePage.reloadPage();"},{"lineNumber":47,"author":{"gitId":"-"},"content":" assertTrue(studentHomePage.isBannerVisible());"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"yuanxi1"},"content":" String notificationId \u003d studentHomePage.getNotificationId();"},{"lineNumber":50,"author":{"gitId":"-"},"content":" studentHomePage.clickMarkAsReadButton();"},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":" AccountData accountFromDb \u003d BACKDOOR.getAccountData(account.getGoogleId());"},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" studentHomePage.verifyStatusMessage(\"Notification marked as read.\");"},{"lineNumber":54,"author":{"gitId":"-"},"content":" assertFalse(studentHomePage.isBannerVisible());"},{"lineNumber":55,"author":{"gitId":"yuanxi1"},"content":" assertTrue(accountFromDb.getReadNotifications().containsKey(notificationId));"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":60,"author":{"gitId":"-"},"content":" public void classTeardown() {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" for (NotificationAttributes notification : testData.notifications.values()) {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" BACKDOOR.deleteNotification(notification.getNotificationId());"},{"lineNumber":63,"author":{"gitId":"-"},"content":" }"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":9,"-":56}},{"path":"src/e2e/java/teammates/e2e/cases/axe/AdminSearchPageAxeTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases.axe;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import com.deque.html.axecore.results.Results;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.AdminSearchPage;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * SUT: {@link Const.WebPageURIs#ADMIN_SEARCH_PAGE}."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class AdminSearchPageAxeTest extends BaseAxeTestCase {"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":18,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" }"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" testData \u003d loadDataBundle(\"/AdminSearchPageE2ETest.json\");"},{"lineNumber":24,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":25,"author":{"gitId":"-"},"content":" putDocuments(testData);"},{"lineNumber":26,"author":{"gitId":"-"},"content":" sqlTestData \u003d loadSqlDataBundle(\"/AdminSearchPageE2ETest_SqlEntities.json\");"},{"lineNumber":27,"author":{"gitId":"-"},"content":" removeAndRestoreSqlDataBundle(sqlTestData);"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" putSqlDocuments(sqlTestData);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"-"},"content":" public void testAll() {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" AppUrl url \u003d createFrontendUrl(Const.WebPageURIs.ADMIN_SEARCH_PAGE);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" AdminSearchPage searchPage \u003d loginAdminToPage(url, AdminSearchPage.class);"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(testData.students.get(\"student1InCourse1\").getEmail());"},{"lineNumber":42,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" Results results \u003d getAxeBuilder().analyze(searchPage.getBrowser().getDriver());"},{"lineNumber":45,"author":{"gitId":"-"},"content":" assertTrue(formatViolations(results), results.violationFree());"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":1,"-":47}},{"path":"src/e2e/java/teammates/e2e/cases/axe/InstructorSearchPageAxeTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases.axe;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import com.deque.html.axecore.results.Results;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.InstructorSearchPage;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_SEARCH_PAGE}."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class InstructorSearchPageAxeTest extends BaseAxeTestCase {"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":18,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" }"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" sqlTestData \u003d loadSqlDataBundle(\"/InstructorSearchPageE2ETest_SqlEntities.json\");"},{"lineNumber":24,"author":{"gitId":"-"},"content":" testData \u003d loadDataBundle(\"/InstructorSearchPageE2ETest.json\");"},{"lineNumber":25,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":26,"author":{"gitId":"-"},"content":" putDocuments(testData);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":30,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":31,"author":{"gitId":"-"},"content":" public void testAll() {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" AppUrl searchPageUrl \u003d createFrontendUrl(Const.WebPageURIs.INSTRUCTOR_SEARCH_PAGE);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" InstructorSearchPage searchPage \u003d loginToPage(searchPageUrl, InstructorSearchPage.class,"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" sqlTestData.accounts.get(\"instructor1OfCourse1\").getGoogleId());"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" searchPage.search(\"student2\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" Results results \u003d getAxeBuilder().analyze(searchPage.getBrowser().getDriver());"},{"lineNumber":44,"author":{"gitId":"-"},"content":" assertTrue(formatViolations(results), results.violationFree());"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":2,"-":45}},{"path":"src/e2e/java/teammates/e2e/cases/sql/AdminHomePageE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.Test;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.Const;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import teammates.e2e.pageobjects.AdminHomePage;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":" * SUT: {@link Const.WebPageURIs#ADMIN_HOME_PAGE}."},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"public class AdminHomePageE2ETest extends BaseE2ETestCase {"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":" protected void prepareTestData() {"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":" // not needed"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" public void testAll() {"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" AppUrl url \u003d createFrontendUrl(Const.WebPageURIs.ADMIN_HOME_PAGE);"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" AdminHomePage homePage \u003d loginAdminToPage(url, AdminHomePage.class);"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Test adding instructors with both valid and invalid details\");"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" String name \u003d \"AHPUiT Instrúctör WithPlusInEmail\";"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" String email \u003d \"AHPUiT+++_.instr1!@gmail.tmt\";"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" String institute \u003d \"TEAMMATES Test Institute 1\";"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" homePage.queueInstructorForAdding(name, email, institute);"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" String singleLineDetails \u003d \"Instructor With Invalid Email | invalidemail | TEAMMATES Test Institute 1\";"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" homePage.queueInstructorForAdding(singleLineDetails);"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" homePage.addAllInstructors();"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" String successMessage \u003d homePage.getMessageForInstructor(0);"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" assertTrue(successMessage.contains("},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" \"Instructor \\\"AHPUiT Instrúctör WithPlusInEmail\\\" has been successfully created\"));"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" String failureMessage \u003d homePage.getMessageForInstructor(1);"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" assertTrue(failureMessage.contains("},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" \"\\\"invalidemail\\\" is not acceptable to TEAMMATES as a/an email because it is not in the correct format.\"));"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" homePage.reloadPage();"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Verify that newly added instructor appears in account request table\");"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" homePage.verifyInstructorInAccountRequestTable(name, email, institute);"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":55}},{"path":"src/e2e/java/teammates/e2e/cases/sql/AdminSearchPageE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.StringHelperExtension;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.AdminSearchPage;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * SUT: {@link Const.WebPageURIs#ADMIN_SEARCH_PAGE}."},{"lineNumber":23,"author":{"gitId":"-"},"content":" */"},{"lineNumber":24,"author":{"gitId":"-"},"content":"public class AdminSearchPageE2ETest extends BaseE2ETestCase {"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":27,"author":{"gitId":"-"},"content":" protected void prepareTestData() {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":" testData \u003d removeAndRestoreDataBundle(loadSqlDataBundle(\"/AdminSearchPageE2ESqlTest.json\"));"},{"lineNumber":32,"author":{"gitId":"-"},"content":" putDocuments(testData);"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"-"},"content":" public void testAll() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" if (!TestProperties.INCLUDE_SEARCH_TESTS) {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" AppUrl url \u003d createFrontendUrl(Const.WebPageURIs.ADMIN_SEARCH_PAGE);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" AdminSearchPage searchPage \u003d loginAdminToPage(url, AdminSearchPage.class);"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" Course course \u003d testData.courses.get(\"typicalCourse1\");"},{"lineNumber":46,"author":{"gitId":"-"},"content":" Student student \u003d testData.students.get(\"student1InCourse1\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":" Instructor instructor \u003d testData.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":48,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d testData.accountRequests.get(\"instructor1OfCourse1\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Search student email\");"},{"lineNumber":51,"author":{"gitId":"-"},"content":" String searchContent \u003d student.getEmail();"},{"lineNumber":52,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":54,"author":{"gitId":"-"},"content":" String studentDetails \u003d getExpectedStudentDetails(student);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" String studentManageAccountLink \u003d getExpectedStudentManageAccountLink(student);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" String studentHomePageLink \u003d getExpectedStudentHomePageLink(student);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" int numExpandedRows \u003d getExpectedNumExpandedRows(student);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" searchPage.verifyStudentRowContent(student, course, studentDetails, studentManageAccountLink,"},{"lineNumber":59,"author":{"gitId":"-"},"content":" studentHomePageLink);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" searchPage.verifyStudentExpandedLinks(student, numExpandedRows);"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Reset student google id\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" searchPage.resetStudentGoogleId(student);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" student.setGoogleId(null);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" searchPage.verifyStudentRowContentAfterReset(student, course);"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Regenerate registration key for a course student\");"},{"lineNumber":68,"author":{"gitId":"-"},"content":" searchPage.clickExpandStudentLinks();"},{"lineNumber":69,"author":{"gitId":"-"},"content":" String originalJoinLink \u003d searchPage.getStudentJoinLink(student);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" searchPage.regenerateStudentKey(student);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" searchPage.verifyRegenerateStudentKey(student, originalJoinLink);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" searchPage.waitForPageToLoad();"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Search for instructor email\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":76,"author":{"gitId":"-"},"content":" searchContent \u003d instructor.getEmail();"},{"lineNumber":77,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":79,"author":{"gitId":"-"},"content":" String instructorManageAccountLink \u003d getExpectedInstructorManageAccountLink(instructor);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" String instructorHomePageLink \u003d getExpectedInstructorHomePageLink(instructor);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" searchPage.verifyInstructorRowContent(instructor, course, instructorManageAccountLink,"},{"lineNumber":82,"author":{"gitId":"-"},"content":" instructorHomePageLink);"},{"lineNumber":83,"author":{"gitId":"-"},"content":" searchPage.verifyInstructorExpandedLinks(instructor);"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Reset instructor google id\");"},{"lineNumber":86,"author":{"gitId":"-"},"content":" searchPage.resetInstructorGoogleId(instructor);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" searchPage.verifyInstructorRowContentAfterReset(instructor, course);"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Regenerate registration key for an instructor\");"},{"lineNumber":90,"author":{"gitId":"-"},"content":" searchPage.clickExpandInstructorLinks();"},{"lineNumber":91,"author":{"gitId":"-"},"content":" originalJoinLink \u003d searchPage.getInstructorJoinLink(instructor);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" searchPage.regenerateInstructorKey(instructor);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" searchPage.verifyRegenerateInstructorKey(instructor, originalJoinLink);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" searchPage.waitForPageToLoad();"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Search for account request by email\");"},{"lineNumber":97,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":98,"author":{"gitId":"-"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":99,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" searchPage.verifyAccountRequestRowContent(accountRequest);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" searchPage.verifyAccountRequestExpandedLinks(accountRequest);"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Search common search key\");"},{"lineNumber":105,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":106,"author":{"gitId":"-"},"content":" searchContent \u003d \"Course1\";"},{"lineNumber":107,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":109,"author":{"gitId":"-"},"content":" searchPage.verifyStudentRowContentAfterReset(student, course);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" searchPage.verifyInstructorRowContentAfterReset(instructor, course);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" searchPage.verifyAccountRequestRowContent(accountRequest);"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Expand and collapse links\");"},{"lineNumber":114,"author":{"gitId":"-"},"content":" searchPage.verifyLinkExpansionButtons(student, instructor, accountRequest);"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Reset account request successful\");"},{"lineNumber":117,"author":{"gitId":"-"},"content":" searchContent \u003d \"ASearch.instructor1@gmail.tmt\";"},{"lineNumber":118,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":119,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":121,"author":{"gitId":"-"},"content":" searchPage.clickResetAccountRequestButton(accountRequest);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" assertNull(BACKDOOR.getAccountRequest(accountRequest.getId()).getRegisteredAt());"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" ______TS(\"Typical case: Delete account request successful\");"},{"lineNumber":125,"author":{"gitId":"-"},"content":" accountRequest \u003d testData.accountRequests.get(\"unregisteredInstructor1\");"},{"lineNumber":126,"author":{"gitId":"-"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":127,"author":{"gitId":"-"},"content":" searchPage.clearSearchBox();"},{"lineNumber":128,"author":{"gitId":"-"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" searchPage.clickSearchButton();"},{"lineNumber":130,"author":{"gitId":"-"},"content":" searchPage.clickDeleteAccountRequestButton(accountRequest);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" assertNull(BACKDOOR.getAccountRequest(accountRequest.getId()));"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Edit account request successful\");"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d testData.accountRequests.get(\"unregisteredInstructor2\");"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" searchPage.clearSearchBox();"},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSearchButton();"},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":" searchPage.clickEditAccountRequestButton(accountRequest);"},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" searchPage.fillInEditModalFields(\"Different name\", accountRequest.getEmail(),"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" accountRequest.getInstitute(), \"New comment\");"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSaveEditAccountRequestButton();"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" accountRequest.setName(\"Different name\");"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":" accountRequest.setComments(\"New comment\");"},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyAccountRequestRowContent(accountRequest);"},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":147,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: View comment of account request\");"},{"lineNumber":148,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d testData.accountRequests.get(\"unregisteredInstructor2\");"},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":" searchPage.clearSearchBox();"},{"lineNumber":151,"author":{"gitId":"domoberzin"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":152,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSearchButton();"},{"lineNumber":153,"author":{"gitId":"domoberzin"},"content":" searchPage.clickViewAccountRequestAndVerifyCommentsButton(accountRequest, \"New comment\");"},{"lineNumber":154,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":155,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Edit account request with invalid details\");"},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d testData.accountRequests.get(\"unregisteredInstructor2\");"},{"lineNumber":157,"author":{"gitId":"domoberzin"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":158,"author":{"gitId":"domoberzin"},"content":" searchPage.clearSearchBox();"},{"lineNumber":159,"author":{"gitId":"domoberzin"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":160,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSearchButton();"},{"lineNumber":161,"author":{"gitId":"domoberzin"},"content":" searchPage.clickEditAccountRequestButton(accountRequest);"},{"lineNumber":162,"author":{"gitId":"domoberzin"},"content":" searchPage.fillInEditModalFields(accountRequest.getName(), \"invalid\","},{"lineNumber":163,"author":{"gitId":"domoberzin"},"content":" accountRequest.getInstitute(), \"New comment\");"},{"lineNumber":164,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSaveEditAccountRequestButton();"},{"lineNumber":165,"author":{"gitId":"domoberzin"},"content":" String formattedErrorMessage \u003d String.format(\"\\\"%s\\\" is not acceptable to TEAMMATES as a/an %s because it %s. \""},{"lineNumber":166,"author":{"gitId":"domoberzin"},"content":" + \"An email address contains some text followed by one \u0027@\u0027 sign followed by some more text, \""},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":" + \"and should end with a top level domain address like .com. It cannot be longer than %d characters, \""},{"lineNumber":168,"author":{"gitId":"domoberzin"},"content":" + \"cannot be empty and cannot contain spaces.\","},{"lineNumber":169,"author":{"gitId":"domoberzin"},"content":" \"invalid\", FieldValidator.EMAIL_FIELD_NAME, FieldValidator.REASON_INCORRECT_FORMAT,"},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":" FieldValidator.EMAIL_MAX_LENGTH);"},{"lineNumber":171,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyStatusMessage(formattedErrorMessage);"},{"lineNumber":172,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":173,"author":{"gitId":"domoberzin"},"content":" String name \u003d StringHelperExtension.generateStringOfLength(FieldValidator.PERSON_NAME_MAX_LENGTH + 1);"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" searchPage.clickEditAccountRequestButton(accountRequest);"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":" searchPage.fillInEditModalFields(name, accountRequest.getEmail(), accountRequest.getInstitute(), \"New comment\");"},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSaveEditAccountRequestButton();"},{"lineNumber":178,"author":{"gitId":"domoberzin"},"content":" formattedErrorMessage \u003d String.format(\"\\\"%s\\\" is not acceptable to TEAMMATES as a/an %s because it %s. \""},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":" + \"The value of a/an %s should be no longer than %d characters. It should not be empty.\","},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":" name, FieldValidator.PERSON_NAME_FIELD_NAME, FieldValidator.REASON_TOO_LONG,"},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":" FieldValidator.PERSON_NAME_FIELD_NAME, FieldValidator.PERSON_NAME_MAX_LENGTH);"},{"lineNumber":182,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyStatusMessage(formattedErrorMessage);"},{"lineNumber":183,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":184,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Approve account request successful\");"},{"lineNumber":185,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d testData.accountRequests.get(\"unregisteredInstructor2\");"},{"lineNumber":186,"author":{"gitId":"domoberzin"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":187,"author":{"gitId":"domoberzin"},"content":" searchPage.clearSearchBox();"},{"lineNumber":188,"author":{"gitId":"domoberzin"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":189,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSearchButton();"},{"lineNumber":190,"author":{"gitId":"domoberzin"},"content":" searchPage.clickApproveAccountRequestButton(accountRequest);"},{"lineNumber":191,"author":{"gitId":"domoberzin"},"content":" accountRequest.setStatus(AccountRequestStatus.APPROVED);"},{"lineNumber":192,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyAccountRequestRowContent(accountRequest);"},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Reject account request successfully\");"},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d testData.accountRequests.get(\"unregisteredInstructor3\");"},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":" searchPage.clearSearchBox();"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSearchButton();"},{"lineNumber":200,"author":{"gitId":"domoberzin"},"content":" searchPage.clickRejectAccountRequestButton(accountRequest);"},{"lineNumber":201,"author":{"gitId":"domoberzin"},"content":" accountRequest.setStatus(AccountRequestStatus.REJECTED);"},{"lineNumber":202,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyAccountRequestRowContent(accountRequest);"},{"lineNumber":203,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":204,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Reject account request with empty body\");"},{"lineNumber":205,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d testData.accountRequests.get(\"unregisteredInstructor5\");"},{"lineNumber":206,"author":{"gitId":"domoberzin"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":207,"author":{"gitId":"domoberzin"},"content":" searchPage.clearSearchBox();"},{"lineNumber":208,"author":{"gitId":"domoberzin"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":209,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSearchButton();"},{"lineNumber":210,"author":{"gitId":"domoberzin"},"content":" searchPage.clickRejectAccountRequestWithReasonButton(accountRequest);"},{"lineNumber":211,"author":{"gitId":"domoberzin"},"content":" searchPage.fillInRejectionModalBody(\"\");"},{"lineNumber":212,"author":{"gitId":"domoberzin"},"content":" searchPage.clickConfirmRejectAccountRequest();"},{"lineNumber":213,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyStatusMessage(\"Please provide an email body for the rejection email.\");"},{"lineNumber":214,"author":{"gitId":"domoberzin"},"content":" searchPage.closeRejectionModal();"},{"lineNumber":215,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":216,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case: Reject account request with reason successfully\");"},{"lineNumber":217,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d testData.accountRequests.get(\"unregisteredInstructor4\");"},{"lineNumber":218,"author":{"gitId":"domoberzin"},"content":" searchContent \u003d accountRequest.getEmail();"},{"lineNumber":219,"author":{"gitId":"domoberzin"},"content":" searchPage.clearSearchBox();"},{"lineNumber":220,"author":{"gitId":"domoberzin"},"content":" searchPage.inputSearchContent(searchContent);"},{"lineNumber":221,"author":{"gitId":"domoberzin"},"content":" searchPage.clickSearchButton();"},{"lineNumber":222,"author":{"gitId":"domoberzin"},"content":" searchPage.clickRejectAccountRequestWithReasonButton(accountRequest);"},{"lineNumber":223,"author":{"gitId":"domoberzin"},"content":" accountRequest.setStatus(AccountRequestStatus.REJECTED);"},{"lineNumber":224,"author":{"gitId":"domoberzin"},"content":" searchPage.verifyAccountRequestRowContent(accountRequest);"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" private String getExpectedStudentDetails(Student student) {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" return String.format(\"%s [%s] (%s)\", student.getCourse().getId(),"},{"lineNumber":229,"author":{"gitId":"-"},"content":" student.getSection() \u003d\u003d null"},{"lineNumber":230,"author":{"gitId":"-"},"content":" ? Const.DEFAULT_SECTION"},{"lineNumber":231,"author":{"gitId":"-"},"content":" : student.getSection().getName(),"},{"lineNumber":232,"author":{"gitId":"-"},"content":" student.getTeam().getName());"},{"lineNumber":233,"author":{"gitId":"-"},"content":" }"},{"lineNumber":234,"author":{"gitId":"-"},"content":""},{"lineNumber":235,"author":{"gitId":"-"},"content":" private String getExpectedStudentHomePageLink(Student student) {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" return student.isRegistered() ? createFrontendUrl(Const.WebPageURIs.STUDENT_HOME_PAGE)"},{"lineNumber":237,"author":{"gitId":"-"},"content":" .withUserId(student.getGoogleId())"},{"lineNumber":238,"author":{"gitId":"-"},"content":" .toAbsoluteString()"},{"lineNumber":239,"author":{"gitId":"-"},"content":" : \"\";"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":" private String getExpectedStudentManageAccountLink(Student student) {"},{"lineNumber":243,"author":{"gitId":"-"},"content":" return student.isRegistered() ? createFrontendUrl(Const.WebPageURIs.ADMIN_ACCOUNTS_PAGE)"},{"lineNumber":244,"author":{"gitId":"-"},"content":" .withParam(Const.ParamsNames.INSTRUCTOR_ID, student.getGoogleId())"},{"lineNumber":245,"author":{"gitId":"-"},"content":" .toAbsoluteString()"},{"lineNumber":246,"author":{"gitId":"-"},"content":" : \"\";"},{"lineNumber":247,"author":{"gitId":"-"},"content":" }"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":" private int getExpectedNumExpandedRows(Student student) {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" int expectedNumExpandedRows \u003d 2;"},{"lineNumber":251,"author":{"gitId":"-"},"content":" for (FeedbackSession sessions : testData.feedbackSessions.values()) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" if (sessions.getCourse().equals(student.getCourse())) {"},{"lineNumber":253,"author":{"gitId":"-"},"content":" expectedNumExpandedRows +\u003d 1;"},{"lineNumber":254,"author":{"gitId":"-"},"content":" if (sessions.getResultsVisibleFromTime().isBefore(Instant.now())) {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" expectedNumExpandedRows +\u003d 1;"},{"lineNumber":256,"author":{"gitId":"-"},"content":" }"},{"lineNumber":257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":258,"author":{"gitId":"-"},"content":" }"},{"lineNumber":259,"author":{"gitId":"-"},"content":" return expectedNumExpandedRows;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" private String getExpectedInstructorHomePageLink(Instructor instructor) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" String googleId \u003d instructor.isRegistered() ? instructor.getGoogleId() : \"\";"},{"lineNumber":264,"author":{"gitId":"-"},"content":" return createFrontendUrl(Const.WebPageURIs.INSTRUCTOR_HOME_PAGE)"},{"lineNumber":265,"author":{"gitId":"-"},"content":" .withUserId(googleId)"},{"lineNumber":266,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" private String getExpectedInstructorManageAccountLink(Instructor instructor) {"},{"lineNumber":270,"author":{"gitId":"-"},"content":" String googleId \u003d instructor.isRegistered() ? instructor.getGoogleId() : \"\";"},{"lineNumber":271,"author":{"gitId":"-"},"content":" return createFrontendUrl(Const.WebPageURIs.ADMIN_ACCOUNTS_PAGE)"},{"lineNumber":272,"author":{"gitId":"-"},"content":" .withParam(Const.ParamsNames.INSTRUCTOR_ID, googleId)"},{"lineNumber":273,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":277,"author":{"gitId":"-"},"content":" public void classTeardown() {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" for (AccountRequest request : testData.accountRequests.values()) {"},{"lineNumber":279,"author":{"gitId":"-"},"content":" BACKDOOR.deleteAccountRequest(request.getId());"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":" }"},{"lineNumber":282,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":96,"-":186}},{"path":"src/e2e/java/teammates/e2e/cases/sql/BaseE2ETestCase.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.ITestContext;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.exception.HttpRequestFailedException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.AppPage;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.Browser;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.DevServerLoginPage;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.e2e.pageobjects.HomePage;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.e2e.util.BackDoor;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.e2e.util.EmailAccount;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.test.FileHelper;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.test.ThreadHelper;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackQuestionData;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackResponseData;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionData;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionPublishStatus;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentData;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":37,"author":{"gitId":"-"},"content":" * Base class for all browser tests."},{"lineNumber":38,"author":{"gitId":"-"},"content":" *"},{"lineNumber":39,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis type of test has no knowledge of the workings of the application,"},{"lineNumber":40,"author":{"gitId":"-"},"content":" * and can only communicate via the UI or via {@link BackDoor} to obtain/transmit data."},{"lineNumber":41,"author":{"gitId":"-"},"content":" */"},{"lineNumber":42,"author":{"gitId":"-"},"content":"public abstract class BaseE2ETestCase extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":45,"author":{"gitId":"-"},"content":" * Backdoor used to call APIs."},{"lineNumber":46,"author":{"gitId":"-"},"content":" */"},{"lineNumber":47,"author":{"gitId":"-"},"content":" protected static final BackDoor BACKDOOR \u003d BackDoor.getInstance();"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":50,"author":{"gitId":"-"},"content":" * DataBundle used in tests."},{"lineNumber":51,"author":{"gitId":"-"},"content":" */"},{"lineNumber":52,"author":{"gitId":"-"},"content":" protected SqlDataBundle testData;"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" private Browser browser;"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public void baseClassSetup() {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" prepareTestData();"},{"lineNumber":59,"author":{"gitId":"-"},"content":" prepareBrowser();"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":63,"author":{"gitId":"-"},"content":" * Prepares the browser used for the current test."},{"lineNumber":64,"author":{"gitId":"-"},"content":" */"},{"lineNumber":65,"author":{"gitId":"-"},"content":" protected void prepareBrowser() {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" browser \u003d new Browser();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":70,"author":{"gitId":"-"},"content":" * Prepares the test data used for the current test."},{"lineNumber":71,"author":{"gitId":"-"},"content":" */"},{"lineNumber":72,"author":{"gitId":"-"},"content":" protected abstract void prepareTestData();"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":75,"author":{"gitId":"-"},"content":" * Contains all the tests for the page."},{"lineNumber":76,"author":{"gitId":"-"},"content":" *"},{"lineNumber":77,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis approach is chosen so that setup and teardown are only needed once per test page,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" * thereby saving time. While it necessitates failed tests to be restarted from the beginning,"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * test failures are rare and thus not causing significant overhead."},{"lineNumber":80,"author":{"gitId":"-"},"content":" */"},{"lineNumber":81,"author":{"gitId":"-"},"content":" protected abstract void testAll();"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":84,"author":{"gitId":"-"},"content":" protected String getTestDataFolder() {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" return TestProperties.TEST_DATA_FOLDER;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":89,"author":{"gitId":"-"},"content":" public void baseClassTearDown(ITestContext context) {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" if (browser \u003d\u003d null) {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":" boolean isSuccess \u003d context.getFailedTests().getAllMethods()"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .noneMatch(method -\u003e method.getConstructorOrMethod().getMethod().getDeclaringClass() \u003d\u003d this.getClass());"},{"lineNumber":96,"author":{"gitId":"-"},"content":" if (isSuccess || TestProperties.CLOSE_BROWSER_ON_FAILURE) {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" browser.close();"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":102,"author":{"gitId":"-"},"content":" * Creates an {@link AppUrl} for the supplied {@code relativeUrl} parameter."},{"lineNumber":103,"author":{"gitId":"-"},"content":" * The base URL will be the value of test.app.frontend.url in test.properties."},{"lineNumber":104,"author":{"gitId":"-"},"content":" * {@code relativeUrl} must start with a \"/\"."},{"lineNumber":105,"author":{"gitId":"-"},"content":" */"},{"lineNumber":106,"author":{"gitId":"-"},"content":" protected static AppUrl createFrontendUrl(String relativeUrl) {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" return new AppUrl(TestProperties.TEAMMATES_FRONTEND_URL + relativeUrl);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":111,"author":{"gitId":"-"},"content":" * Creates an {@link AppUrl} for the supplied {@code relativeUrl} parameter."},{"lineNumber":112,"author":{"gitId":"-"},"content":" * The base URL will be the value of test.app.backend.url in test.properties."},{"lineNumber":113,"author":{"gitId":"-"},"content":" * {@code relativeUrl} must start with a \"/\"."},{"lineNumber":114,"author":{"gitId":"-"},"content":" */"},{"lineNumber":115,"author":{"gitId":"-"},"content":" protected static AppUrl createBackendUrl(String relativeUrl) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" return new AppUrl(TestProperties.TEAMMATES_BACKEND_URL + relativeUrl);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":120,"author":{"gitId":"-"},"content":" * Logs in to a page using the given credentials."},{"lineNumber":121,"author":{"gitId":"-"},"content":" */"},{"lineNumber":122,"author":{"gitId":"-"},"content":" protected \u003cT extends AppPage\u003e T loginToPage(AppUrl url, Class\u003cT\u003e typeOfPage, String userId) {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" // When not using dev server, Google blocks log in by automation."},{"lineNumber":124,"author":{"gitId":"-"},"content":" // To work around that, we inject the user cookie directly into the browser session."},{"lineNumber":125,"author":{"gitId":"-"},"content":" if (!TestProperties.isDevServer()) {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" // In order for the cookie injection to work, we need to be in the domain."},{"lineNumber":127,"author":{"gitId":"-"},"content":" // Use the home page to minimize the page load time."},{"lineNumber":128,"author":{"gitId":"-"},"content":" browser.goToUrl(TestProperties.TEAMMATES_FRONTEND_URL);"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" String cookieValue \u003d BACKDOOR.getUserCookie(userId);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" browser.addCookie(Const.SecurityConfig.AUTH_COOKIE_NAME, cookieValue, true, true);"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" return getNewPageInstance(url, typeOfPage);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" // This will be redirected to the dev server login page."},{"lineNumber":137,"author":{"gitId":"-"},"content":" browser.goToUrl(url.toAbsoluteString());"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" DevServerLoginPage loginPage \u003d AppPage.getNewPageInstance(browser, DevServerLoginPage.class);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" loginPage.loginAsUser(userId);"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" return getNewPageInstance(url, typeOfPage);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" }"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":146,"author":{"gitId":"-"},"content":" * Logs in to a page using admin credentials."},{"lineNumber":147,"author":{"gitId":"-"},"content":" */"},{"lineNumber":148,"author":{"gitId":"-"},"content":" protected \u003cT extends AppPage\u003e T loginAdminToPage(AppUrl url, Class\u003cT\u003e typeOfPage) {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" return loginToPage(url, typeOfPage, TestProperties.TEST_ADMIN);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * Equivalent to clicking the \u0027logout\u0027 link in the top menu of the page."},{"lineNumber":154,"author":{"gitId":"-"},"content":" */"},{"lineNumber":155,"author":{"gitId":"-"},"content":" protected void logout() {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" AppUrl url \u003d createBackendUrl(Const.WebPageURIs.LOGOUT);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" if (!TestProperties.TEAMMATES_FRONTEND_URL.equals(TestProperties.TEAMMATES_BACKEND_URL)) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" url \u003d url.withParam(\"frontendUrl\", TestProperties.TEAMMATES_FRONTEND_URL);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" browser.goToUrl(url.toAbsoluteString());"},{"lineNumber":162,"author":{"gitId":"-"},"content":" AppPage.getNewPageInstance(browser, HomePage.class).waitForPageToLoad();"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":166,"author":{"gitId":"-"},"content":" * Deletes file with fileName from the downloads folder."},{"lineNumber":167,"author":{"gitId":"-"},"content":" */"},{"lineNumber":168,"author":{"gitId":"-"},"content":" protected void deleteDownloadsFile(String fileName) {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" String filePath \u003d TestProperties.TEST_DOWNLOADS_FOLDER + fileName;"},{"lineNumber":170,"author":{"gitId":"-"},"content":" FileHelper.deleteFile(filePath);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":174,"author":{"gitId":"-"},"content":" * Verifies downloaded file has correct fileName and contains expected content."},{"lineNumber":175,"author":{"gitId":"-"},"content":" */"},{"lineNumber":176,"author":{"gitId":"-"},"content":" protected void verifyDownloadedFile(String expectedFileName, List\u003cString\u003e expectedContent) {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" String filePath \u003d TestProperties.TEST_DOWNLOADS_FOLDER + expectedFileName;"},{"lineNumber":178,"author":{"gitId":"-"},"content":" int retryLimit \u003d TestProperties.TEST_TIMEOUT;"},{"lineNumber":179,"author":{"gitId":"-"},"content":" boolean actual \u003d Files.exists(Paths.get(filePath));"},{"lineNumber":180,"author":{"gitId":"-"},"content":" while (!actual \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" actual \u003d Files.exists(Paths.get(filePath));"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":" assertTrue(actual);"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" String actualContent \u003d FileHelper.readFile(filePath);"},{"lineNumber":189,"author":{"gitId":"-"},"content":" for (String content : expectedContent) {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" assertTrue(actualContent.contains(content));"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":198,"author":{"gitId":"-"},"content":" * Visits the URL and gets the page object representation of the visited web page in the browser."},{"lineNumber":199,"author":{"gitId":"-"},"content":" */"},{"lineNumber":200,"author":{"gitId":"-"},"content":" protected \u003cT extends AppPage\u003e T getNewPageInstance(AppUrl url, Class\u003cT\u003e typeOfPage) {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" browser.goToUrl(url.toAbsoluteString());"},{"lineNumber":202,"author":{"gitId":"-"},"content":" return AppPage.getNewPageInstance(browser, typeOfPage);"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":206,"author":{"gitId":"-"},"content":" * Verifies that email with subject is found in inbox."},{"lineNumber":207,"author":{"gitId":"-"},"content":" * Email used must be an authentic gmail account."},{"lineNumber":208,"author":{"gitId":"-"},"content":" */"},{"lineNumber":209,"author":{"gitId":"-"},"content":" protected void verifyEmailSent(String email, String subject) {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" if (TestProperties.isDevServer() || !TestProperties.INCLUDE_EMAIL_VERIFICATION) {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":" if (!TestProperties.TEST_EMAIL.equals(email)) {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" fail(\"Email verification is allowed only on preset test email.\");"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":" EmailAccount emailAccount \u003d new EmailAccount(email);"},{"lineNumber":217,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" emailAccount.getUserAuthenticated();"},{"lineNumber":219,"author":{"gitId":"-"},"content":" int retryLimit \u003d 5;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" boolean actual \u003d emailAccount.isRecentEmailWithSubjectPresent(subject, TestProperties.TEST_SENDER_EMAIL);"},{"lineNumber":221,"author":{"gitId":"-"},"content":" while (!actual \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000);"},{"lineNumber":224,"author":{"gitId":"-"},"content":" actual \u003d emailAccount.isRecentEmailWithSubjectPresent(subject, TestProperties.TEST_SENDER_EMAIL);"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":" assertTrue(actual);"},{"lineNumber":227,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" fail(\"Failed to verify email sent:\" + e);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":230,"author":{"gitId":"-"},"content":" }"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":233,"author":{"gitId":"-"},"content":" * Removes and restores the databundle using BACKDOOR."},{"lineNumber":234,"author":{"gitId":"-"},"content":" */"},{"lineNumber":235,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":236,"author":{"gitId":"-"},"content":" protected SqlDataBundle doRemoveAndRestoreDataBundle(SqlDataBundle testData) {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" return BACKDOOR.removeAndRestoreSqlDataBundle(testData);"},{"lineNumber":239,"author":{"gitId":"-"},"content":" } catch (HttpRequestFailedException e) {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" e.printStackTrace();"},{"lineNumber":241,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":242,"author":{"gitId":"-"},"content":" }"},{"lineNumber":243,"author":{"gitId":"-"},"content":" }"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" FeedbackQuestionData getFeedbackQuestion(String courseId, String feedbackSessionName, int qnNumber) {"},{"lineNumber":246,"author":{"gitId":"-"},"content":" return BACKDOOR.getFeedbackQuestionData(courseId, feedbackSessionName, qnNumber);"},{"lineNumber":247,"author":{"gitId":"-"},"content":" }"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":250,"author":{"gitId":"-"},"content":" protected FeedbackQuestionData getFeedbackQuestion(FeedbackQuestion fq) {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" return getFeedbackQuestion(fq.getCourseId(), fq.getFeedbackSession().getName(), fq.getQuestionNumber());"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" FeedbackResponseData getFeedbackResponse(String questionId, String giver, String recipient) {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" return BACKDOOR.getFeedbackResponseData(questionId, giver, recipient);"},{"lineNumber":256,"author":{"gitId":"-"},"content":" }"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":259,"author":{"gitId":"-"},"content":" protected FeedbackResponseData getFeedbackResponse(FeedbackResponse fr) {"},{"lineNumber":260,"author":{"gitId":"-"},"content":" return getFeedbackResponse(fr.getFeedbackQuestion().getId().toString(), fr.getGiver(), fr.getRecipient());"},{"lineNumber":261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" StudentData getStudent(String courseId, String studentEmailAddress) {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" return BACKDOOR.getStudentData(courseId, studentEmailAddress);"},{"lineNumber":265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":268,"author":{"gitId":"-"},"content":" protected StudentData getStudent(Student student) {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" return getStudent(student.getCourseId(), student.getEmail());"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" FeedbackSessionData getFeedbackSession(String courseId, String feedbackSessionName) {"},{"lineNumber":273,"author":{"gitId":"-"},"content":" return BACKDOOR.getFeedbackSessionData(courseId, feedbackSessionName);"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":277,"author":{"gitId":"-"},"content":" protected FeedbackSessionData getFeedbackSession(FeedbackSession feedbackSession) {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" return getFeedbackSession(feedbackSession.getCourse().getId(), feedbackSession.getName());"},{"lineNumber":279,"author":{"gitId":"-"},"content":" }"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":282,"author":{"gitId":"-"},"content":" * Checks if the feedback session is published."},{"lineNumber":283,"author":{"gitId":"-"},"content":" */"},{"lineNumber":284,"author":{"gitId":"-"},"content":" protected boolean isFeedbackSessionPublished(FeedbackSessionPublishStatus status) {"},{"lineNumber":285,"author":{"gitId":"-"},"content":" return status \u003d\u003d FeedbackSessionPublishStatus.PUBLISHED;"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" FeedbackSessionData getSoftDeletedSession(String feedbackSessionName, String instructorId) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" return BACKDOOR.getSoftDeletedSessionData(feedbackSessionName, instructorId);"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":293,"author":{"gitId":"domoberzin"},"content":" * Puts the documents in the database using BACKDOOR."},{"lineNumber":294,"author":{"gitId":"domoberzin"},"content":" * @param dataBundle the data to be put in the database"},{"lineNumber":295,"author":{"gitId":"domoberzin"},"content":" * @return the result of the operation"},{"lineNumber":296,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":297,"author":{"gitId":"domoberzin"},"content":" protected String putDocuments(SqlDataBundle dataBundle) {"},{"lineNumber":298,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":299,"author":{"gitId":"domoberzin"},"content":" return BACKDOOR.putSqlDocuments(dataBundle);"},{"lineNumber":300,"author":{"gitId":"domoberzin"},"content":" } catch (HttpRequestFailedException e) {"},{"lineNumber":301,"author":{"gitId":"domoberzin"},"content":" e.printStackTrace();"},{"lineNumber":302,"author":{"gitId":"domoberzin"},"content":" return null;"},{"lineNumber":303,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":304,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":14,"-":291}},{"path":"src/e2e/java/teammates/e2e/cases/sql/FeedbackMcqQuestionE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.util.stream.Collectors;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.questions.FeedbackMcqQuestionDetails;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.questions.FeedbackMcqResponseDetails;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"import teammates.e2e.pageobjects.FeedbackSubmitPage;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import teammates.e2e.pageobjects.InstructorFeedbackEditPage;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_SESSION_EDIT_PAGE},"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":" * {@link Const.WebPageURIs#SESSION_SUBMISSION_PAGE}"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":" * specifically for MCQ questions."},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":"public class FeedbackMcqQuestionE2ETest extends BaseFeedbackQuestionE2ETest {"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":" protected void prepareTestData() {"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":" testData \u003d removeAndRestoreDataBundle(loadSqlDataBundle(\"/FeedbackMcqQuestionE2ESqlTest.json\"));"},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" instructor \u003d testData.instructors.get(\"instructor\");"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" course \u003d testData.courses.get(\"course\");"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" feedbackSession \u003d testData.feedbackSessions.get(\"openSession\");"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" student \u003d testData.students.get(\"alice.tmms@FMcqQn.CS2104\");"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" public void testAll() {"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" testEditPage();"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" logout();"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" testSubmitPage();"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" protected void testEditPage() {"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" InstructorFeedbackEditPage feedbackEditPage \u003d loginToFeedbackEditPage();"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion loadedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\");"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" FeedbackMcqQuestionDetails questionDetails \u003d (FeedbackMcqQuestionDetails) loadedQuestion"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" .getQuestionDetailsCopy();"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMcqQuestionDetails(1, questionDetails);"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" ______TS(\"add new question\");"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" // add new question exactly like loaded question"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" loadedQuestion.setQuestionNumber(2);"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.addMcqQuestion(loadedQuestion);"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMcqQuestionDetails(2, questionDetails);"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" ______TS(\"copy question\");"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion copiedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForSecondSession\");"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" questionDetails \u003d (FeedbackMcqQuestionDetails) copiedQuestion.getQuestionDetailsCopy();"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.copyQuestion(copiedQuestion.getCourseId(),"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" copiedQuestion.getQuestionDetailsCopy().getQuestionText());"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" copiedQuestion.setFeedbackSession(feedbackSession);"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" copiedQuestion.setQuestionNumber(3);"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMcqQuestionDetails(3, questionDetails);"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(copiedQuestion);"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" ______TS(\"edit question\");"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" questionDetails \u003d (FeedbackMcqQuestionDetails) loadedQuestion.getQuestionDetailsCopy();"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" questionDetails.setHasAssignedWeights(false);"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" questionDetails.setMcqWeights(new ArrayList\u003c\u003e());"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" questionDetails.setOtherEnabled(false);"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" questionDetails.setQuestionDropdownEnabled(false);"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" questionDetails.setMcqOtherWeight(0);"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" List\u003cString\u003e choices \u003d questionDetails.getMcqChoices();"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" choices.add(\"Edited choice\");"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" questionDetails.setMcqChoices(choices);"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" loadedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\").makeDeepCopy(feedbackSession);"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":" loadedQuestion.setQuestionDetails(questionDetails);"},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.editMcqQuestion(2, questionDetails);"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.waitForPageToLoad();"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMcqQuestionDetails(2, questionDetails);"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":" protected void testSubmitPage() {"},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":" FeedbackSubmitPage feedbackSubmitPage \u003d loginToFeedbackSubmitPage();"},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion question \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\");"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.verifyMcqQuestion(1, \"\","},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" (FeedbackMcqQuestionDetails) question.getQuestionDetailsCopy());"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" ______TS(\"verify question with generated options\");"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.verifyGeneratedMcqQuestion(3, \"\", getGeneratedStudentOptions());"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":" ______TS(\"submit response\");"},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" FeedbackResponse response \u003d getResponse(question, false, \"UI\");"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.fillMcqResponse(1, \"\", response);"},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" // ______TS(\"check previous response\");"},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.verifyMcqResponse(1, \"\", response);"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":" // ______TS(\"edit response\");"},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":" // response \u003d getResponse(questionId, true, \"This is the edited response.\");"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.fillMcqResponse(1, \"\", response);"},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.verifyMcqResponse(1, \"\", response);"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" private List\u003cString\u003e getGeneratedStudentOptions() {"},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" return testData.students.values().stream()"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" .filter(s -\u003e s.getCourse().equals(student.getCourse()))"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" .map(s -\u003e s.getName() + \" (\" + s.getTeam().getName() + \")\")"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" .collect(Collectors.toList());"},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":" private FeedbackResponse getResponse(FeedbackQuestion feedbackQuestion, boolean isOther, String answer) {"},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":" FeedbackMcqResponseDetails details \u003d new FeedbackMcqResponseDetails();"},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" if (isOther) {"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" details.setOther(true);"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" details.setOtherFieldContent(answer);"},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":" details.setAnswer(answer);"},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":" return FeedbackResponse.makeResponse(feedbackQuestion, student.getEmail(), null, instructor.getEmail(), null,"},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":" details);"},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":140,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":140}},{"path":"src/e2e/java/teammates/e2e/cases/sql/FeedbackMsqQuestionE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.util.Arrays;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import java.util.stream.Collectors;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.questions.FeedbackMsqQuestionDetails;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.questions.FeedbackMsqResponseDetails;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.Const;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import teammates.e2e.pageobjects.FeedbackSubmitPage;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.e2e.pageobjects.InstructorFeedbackEditPage;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_SESSION_EDIT_PAGE},"},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":" * {@link Const.WebPageURIs#SESSION_SUBMISSION_PAGE}"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":" * specifically for msq questions."},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":"public class FeedbackMsqQuestionE2ETest extends BaseFeedbackQuestionE2ETest {"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" protected void prepareTestData() {"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" testData \u003d removeAndRestoreDataBundle(loadSqlDataBundle(\"/FeedbackMsqQuestionE2ESqlTest.json\"));"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" instructor \u003d testData.instructors.get(\"instructor\");"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" course \u003d testData.courses.get(\"course\");"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" feedbackSession \u003d testData.feedbackSessions.get(\"openSession\");"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" student \u003d testData.students.get(\"alice.tmms@FMsqQn.CS2104\");"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" public void testAll() {"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" testEditPage();"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" logout();"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" testSubmitPage();"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" protected void testEditPage() {"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" InstructorFeedbackEditPage feedbackEditPage \u003d loginToFeedbackEditPage();"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion loadedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\")"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" .makeDeepCopy(feedbackSession);"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" FeedbackMsqQuestionDetails questionDetails \u003d (FeedbackMsqQuestionDetails) loadedQuestion"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" .getQuestionDetailsCopy();"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMsqQuestionDetails(1, questionDetails);"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" ______TS(\"add new question\");"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" // add new question exactly like loaded question"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" loadedQuestion.setQuestionNumber(2);"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.addMsqQuestion(loadedQuestion);"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMsqQuestionDetails(2, questionDetails);"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" ______TS(\"copy question\");"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion copiedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForSecondSession\");"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" questionDetails \u003d (FeedbackMsqQuestionDetails) copiedQuestion.getQuestionDetailsCopy();"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.copyQuestion(copiedQuestion.getCourseId(),"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" copiedQuestion.getQuestionDetailsCopy().getQuestionText());"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" copiedQuestion.setFeedbackSession(feedbackSession);"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" copiedQuestion.setQuestionNumber(3);"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMsqQuestionDetails(3, questionDetails);"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(copiedQuestion);"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" ______TS(\"edit question\");"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" questionDetails \u003d (FeedbackMsqQuestionDetails) loadedQuestion.getQuestionDetailsCopy();"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" questionDetails.setHasAssignedWeights(false);"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" questionDetails.setMsqWeights(new ArrayList\u003c\u003e());"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" questionDetails.setOtherEnabled(false);"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" questionDetails.setMsqOtherWeight(0);"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" questionDetails.setMaxSelectableChoices(Const.POINTS_NO_VALUE);"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" List\u003cString\u003e choices \u003d questionDetails.getMsqChoices();"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":" choices.add(\"Edited choice\");"},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" questionDetails.setMsqChoices(choices);"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" loadedQuestion.setQuestionDetails(questionDetails);"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.editMsqQuestion(2, questionDetails);"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.waitForPageToLoad();"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" feedbackEditPage.verifyMsqQuestionDetails(2, questionDetails);"},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" protected void testSubmitPage() {"},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":" FeedbackSubmitPage feedbackSubmitPage \u003d loginToFeedbackSubmitPage();"},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion question \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\");"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":" Student receiver \u003d testData.students.get(\"benny.tmms@FMsqQn.CS2104\");"},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.verifyMsqQuestion(1, receiver.getName(),"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" (FeedbackMsqQuestionDetails) question.getQuestionDetailsCopy());"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":" ______TS(\"verify loaded question with generated options\");"},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion generatedQn \u003d testData.feedbackQuestions.get(\"qn1ForSecondSession\");"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.verifyGeneratedMsqQuestion(3, \"\","},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" (FeedbackMsqQuestionDetails) generatedQn.getQuestionDetailsCopy(), getGeneratedTeams());"},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" ______TS(\"submit response\");"},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":" List\u003cString\u003e answers \u003d Arrays.asList(\"Leadership\", \"This is the other response.\");"},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" FeedbackResponse response \u003d getResponse(question, receiver, answers.get(answers.size() - 1), answers);"},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.fillMsqResponse(1, receiver.getName(), response);"},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":" // TODO: uncomment when SubmitFeedbackResponse is working"},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" // ______TS(\"check previous response\");"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.verifyMsqResponse(1, receiver.getName(), response);"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" // ______TS(\"edit response\");"},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" // answers \u003d Arrays.asList(\"\");"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":" // response \u003d getResponse(question, receiver, \"\", answers);"},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.fillMsqResponse(1, receiver.getName(), response);"},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" // feedbackSubmitPage.verifyMsqResponse(1, receiver.getName(), response);"},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":" private List\u003cString\u003e getGeneratedTeams() {"},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" return testData.students.values().stream()"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" .filter(s -\u003e s.getCourse().equals(student.getCourse()))"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" .map(s -\u003e s.getTeam().getName())"},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":" .distinct()"},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":" .collect(Collectors.toList());"},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":" private FeedbackResponse getResponse(FeedbackQuestion feedbackQuestion, Student receiver, String other,"},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" List\u003cString\u003e answers) {"},{"lineNumber":140,"author":{"gitId":"dishenggg"},"content":" FeedbackMsqResponseDetails details \u003d new FeedbackMsqResponseDetails();"},{"lineNumber":141,"author":{"gitId":"dishenggg"},"content":" if (!other.isEmpty()) {"},{"lineNumber":142,"author":{"gitId":"dishenggg"},"content":" details.setOther(true);"},{"lineNumber":143,"author":{"gitId":"dishenggg"},"content":" details.setOtherFieldContent(other);"},{"lineNumber":144,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":145,"author":{"gitId":"dishenggg"},"content":" details.setAnswers(answers);"},{"lineNumber":146,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":147,"author":{"gitId":"dishenggg"},"content":" return FeedbackResponse.makeResponse(feedbackQuestion, student.getEmail(), student.getSection(),"},{"lineNumber":148,"author":{"gitId":"dishenggg"},"content":" receiver.getEmail(), receiver.getSection(), details);"},{"lineNumber":149,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":150}},{"path":"src/e2e/java/teammates/e2e/cases/sql/FeedbackNumScaleQuestionE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"marquestye"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":3,"author":{"gitId":"marquestye"},"content":"import org.testng.annotations.Test;"},{"lineNumber":4,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":5,"author":{"gitId":"marquestye"},"content":"import teammates.common.datatransfer.questions.FeedbackNumericalScaleQuestionDetails;"},{"lineNumber":6,"author":{"gitId":"marquestye"},"content":"import teammates.common.datatransfer.questions.FeedbackNumericalScaleResponseDetails;"},{"lineNumber":7,"author":{"gitId":"marquestye"},"content":"import teammates.e2e.pageobjects.FeedbackSubmitPage;"},{"lineNumber":8,"author":{"gitId":"marquestye"},"content":"import teammates.e2e.pageobjects.InstructorFeedbackEditPage;"},{"lineNumber":9,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":10,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":11,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":12,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":13,"author":{"gitId":"marquestye"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"marquestye"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_SESSION_EDIT_PAGE}, {@link Const.WebPageURIs#SESSION_SUBMISSION_PAGE}"},{"lineNumber":15,"author":{"gitId":"marquestye"},"content":" * specifically for NumScale questions."},{"lineNumber":16,"author":{"gitId":"marquestye"},"content":" */"},{"lineNumber":17,"author":{"gitId":"marquestye"},"content":"public class FeedbackNumScaleQuestionE2ETest extends BaseFeedbackQuestionE2ETest {"},{"lineNumber":18,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":19,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":20,"author":{"gitId":"marquestye"},"content":" protected void prepareTestData() {"},{"lineNumber":21,"author":{"gitId":"marquestye"},"content":" testData \u003d removeAndRestoreDataBundle(loadSqlDataBundle(\"/FeedbackNumScaleQuestionE2ESqlTest.json\"));"},{"lineNumber":22,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":23,"author":{"gitId":"marquestye"},"content":" instructor \u003d testData.instructors.get(\"instructor\");"},{"lineNumber":24,"author":{"gitId":"marquestye"},"content":" course \u003d testData.courses.get(\"course\");"},{"lineNumber":25,"author":{"gitId":"marquestye"},"content":" feedbackSession \u003d testData.feedbackSessions.get(\"openSession\");"},{"lineNumber":26,"author":{"gitId":"marquestye"},"content":" student \u003d testData.students.get(\"alice.tmms@FNumScaleQn.CS2104\");"},{"lineNumber":27,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":28,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":29,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":30,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":31,"author":{"gitId":"marquestye"},"content":" public void testAll() {"},{"lineNumber":32,"author":{"gitId":"marquestye"},"content":" testEditPage();"},{"lineNumber":33,"author":{"gitId":"marquestye"},"content":" logout();"},{"lineNumber":34,"author":{"gitId":"marquestye"},"content":" testSubmitPage();"},{"lineNumber":35,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":36,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":37,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"marquestye"},"content":" protected void testEditPage() {"},{"lineNumber":39,"author":{"gitId":"marquestye"},"content":" InstructorFeedbackEditPage feedbackEditPage \u003d loginToFeedbackEditPage();"},{"lineNumber":40,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":41,"author":{"gitId":"marquestye"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":42,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion loadedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\");"},{"lineNumber":43,"author":{"gitId":"marquestye"},"content":" FeedbackNumericalScaleQuestionDetails questionDetails \u003d"},{"lineNumber":44,"author":{"gitId":"marquestye"},"content":" (FeedbackNumericalScaleQuestionDetails) loadedQuestion.getQuestionDetailsCopy();"},{"lineNumber":45,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.verifyNumScaleQuestionDetails(1, questionDetails);"},{"lineNumber":46,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":47,"author":{"gitId":"marquestye"},"content":" ______TS(\"add new question\");"},{"lineNumber":48,"author":{"gitId":"marquestye"},"content":" // add new question exactly like loaded question"},{"lineNumber":49,"author":{"gitId":"marquestye"},"content":" loadedQuestion.setQuestionNumber(2);"},{"lineNumber":50,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.addNumScaleQuestion(loadedQuestion);"},{"lineNumber":51,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.waitUntilAnimationFinish();"},{"lineNumber":52,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":53,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.verifyNumScaleQuestionDetails(2, questionDetails);"},{"lineNumber":54,"author":{"gitId":"marquestye"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":55,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":56,"author":{"gitId":"marquestye"},"content":" ______TS(\"copy question\");"},{"lineNumber":57,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion copiedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForSecondSession\");"},{"lineNumber":58,"author":{"gitId":"marquestye"},"content":" questionDetails \u003d (FeedbackNumericalScaleQuestionDetails) copiedQuestion.getQuestionDetailsCopy();"},{"lineNumber":59,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.copyQuestion(copiedQuestion.getCourseId(),"},{"lineNumber":60,"author":{"gitId":"marquestye"},"content":" copiedQuestion.getQuestionDetailsCopy().getQuestionText());"},{"lineNumber":61,"author":{"gitId":"marquestye"},"content":" copiedQuestion.setQuestionNumber(3);"},{"lineNumber":62,"author":{"gitId":"marquestye"},"content":" copiedQuestion.setFeedbackSession(feedbackSession);"},{"lineNumber":63,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":64,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.verifyNumScaleQuestionDetails(3, questionDetails);"},{"lineNumber":65,"author":{"gitId":"marquestye"},"content":" verifyPresentInDatabase(copiedQuestion);"},{"lineNumber":66,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":67,"author":{"gitId":"marquestye"},"content":" ______TS(\"edit question\");"},{"lineNumber":68,"author":{"gitId":"marquestye"},"content":" questionDetails \u003d (FeedbackNumericalScaleQuestionDetails) loadedQuestion.getQuestionDetailsCopy();"},{"lineNumber":69,"author":{"gitId":"marquestye"},"content":" FeedbackNumericalScaleQuestionDetails newQuestionDetails \u003d"},{"lineNumber":70,"author":{"gitId":"marquestye"},"content":" (FeedbackNumericalScaleQuestionDetails) questionDetails.getDeepCopy();"},{"lineNumber":71,"author":{"gitId":"marquestye"},"content":" newQuestionDetails.setMinScale(0);"},{"lineNumber":72,"author":{"gitId":"marquestye"},"content":" newQuestionDetails.setStep(1);"},{"lineNumber":73,"author":{"gitId":"marquestye"},"content":" newQuestionDetails.setMaxScale(100);"},{"lineNumber":74,"author":{"gitId":"marquestye"},"content":" loadedQuestion.setQuestionDetails(newQuestionDetails);"},{"lineNumber":75,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.editNumScaleQuestion(2, newQuestionDetails);"},{"lineNumber":76,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.waitForPageToLoad();"},{"lineNumber":77,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":78,"author":{"gitId":"marquestye"},"content":" feedbackEditPage.verifyNumScaleQuestionDetails(2, newQuestionDetails);"},{"lineNumber":79,"author":{"gitId":"marquestye"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":80,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":81,"author":{"gitId":"marquestye"},"content":" // reset question details to original"},{"lineNumber":82,"author":{"gitId":"marquestye"},"content":" loadedQuestion.setQuestionDetails(questionDetails);"},{"lineNumber":83,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":84,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":85,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":86,"author":{"gitId":"marquestye"},"content":" protected void testSubmitPage() {"},{"lineNumber":87,"author":{"gitId":"marquestye"},"content":" FeedbackSubmitPage feedbackSubmitPage \u003d loginToFeedbackSubmitPage();"},{"lineNumber":88,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":89,"author":{"gitId":"marquestye"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":90,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion question \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\");"},{"lineNumber":91,"author":{"gitId":"marquestye"},"content":" Student receiver \u003d testData.students.get(\"benny.tmms@FNumScaleQn.CS2104\");"},{"lineNumber":92,"author":{"gitId":"marquestye"},"content":" feedbackSubmitPage.verifyNumScaleQuestion(1, receiver.getTeamName(),"},{"lineNumber":93,"author":{"gitId":"marquestye"},"content":" (FeedbackNumericalScaleQuestionDetails) question.getQuestionDetailsCopy());"},{"lineNumber":94,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":95,"author":{"gitId":"marquestye"},"content":" ______TS(\"submit response\");"},{"lineNumber":96,"author":{"gitId":"marquestye"},"content":" FeedbackResponse response \u003d getResponse(question, receiver, 5.4);"},{"lineNumber":97,"author":{"gitId":"marquestye"},"content":" feedbackSubmitPage.fillNumScaleResponse(1, receiver.getTeamName(), response);"},{"lineNumber":98,"author":{"gitId":"marquestye"},"content":" feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":99,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":100,"author":{"gitId":"marquestye"},"content":" // TODO: uncomment when SubmitFeedbackResponse is working"},{"lineNumber":101,"author":{"gitId":"marquestye"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":102,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":103,"author":{"gitId":"marquestye"},"content":" // ______TS(\"check previous response\");"},{"lineNumber":104,"author":{"gitId":"marquestye"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":105,"author":{"gitId":"marquestye"},"content":" // feedbackSubmitPage.verifyNumScaleResponse(1, receiver.getTeamName(), response);"},{"lineNumber":106,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":107,"author":{"gitId":"marquestye"},"content":" // ______TS(\"edit response\");"},{"lineNumber":108,"author":{"gitId":"marquestye"},"content":" // response \u003d getResponse(question, receiver, 10.0);"},{"lineNumber":109,"author":{"gitId":"marquestye"},"content":" // feedbackSubmitPage.fillNumScaleResponse(1, receiver.getTeamName(), response);"},{"lineNumber":110,"author":{"gitId":"marquestye"},"content":" // feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":111,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":112,"author":{"gitId":"marquestye"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":113,"author":{"gitId":"marquestye"},"content":" // feedbackSubmitPage.verifyNumScaleResponse(1, receiver.getTeamName(), response);"},{"lineNumber":114,"author":{"gitId":"marquestye"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":115,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":116,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":117,"author":{"gitId":"marquestye"},"content":" private FeedbackResponse getResponse(FeedbackQuestion feedbackQuestion, Student receiver, Double answer) {"},{"lineNumber":118,"author":{"gitId":"marquestye"},"content":" FeedbackNumericalScaleResponseDetails details \u003d new FeedbackNumericalScaleResponseDetails();"},{"lineNumber":119,"author":{"gitId":"marquestye"},"content":" details.setAnswer(answer);"},{"lineNumber":120,"author":{"gitId":"marquestye"},"content":" return FeedbackResponse.makeResponse("},{"lineNumber":121,"author":{"gitId":"marquestye"},"content":" feedbackQuestion, student.getEmail(), null, receiver.getTeamName(), null, details);"},{"lineNumber":122,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":123,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":124,"author":{"gitId":"marquestye"},"content":"}"}],"authorContributionMap":{"marquestye":124}},{"path":"src/e2e/java/teammates/e2e/cases/sql/FeedbackRankOptionQuestionE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"mingyuanc"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":3,"author":{"gitId":"mingyuanc"},"content":"import java.util.Arrays;"},{"lineNumber":4,"author":{"gitId":"mingyuanc"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":6,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":8,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.datatransfer.questions.FeedbackRankOptionsQuestionDetails;"},{"lineNumber":9,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.datatransfer.questions.FeedbackRankOptionsResponseDetails;"},{"lineNumber":10,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.datatransfer.questions.FeedbackRankQuestionDetails;"},{"lineNumber":11,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"mingyuanc"},"content":"import teammates.e2e.pageobjects.FeedbackSubmitPage;"},{"lineNumber":13,"author":{"gitId":"mingyuanc"},"content":"import teammates.e2e.pageobjects.InstructorFeedbackEditPage;"},{"lineNumber":14,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":15,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":16,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":17,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":18,"author":{"gitId":"mingyuanc"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"mingyuanc"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_SESSION_EDIT_PAGE},"},{"lineNumber":20,"author":{"gitId":"mingyuanc"},"content":" * {@link Const.WebPageURIs#SESSION_SUBMISSION_PAGE}"},{"lineNumber":21,"author":{"gitId":"mingyuanc"},"content":" * specifically for RankOption questions."},{"lineNumber":22,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":23,"author":{"gitId":"mingyuanc"},"content":"public class FeedbackRankOptionQuestionE2ETest extends BaseFeedbackQuestionE2ETest {"},{"lineNumber":24,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":25,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":26,"author":{"gitId":"mingyuanc"},"content":" protected void prepareTestData() {"},{"lineNumber":27,"author":{"gitId":"mingyuanc"},"content":" testData \u003d removeAndRestoreDataBundle(loadSqlDataBundle(\"/FeedbackRankOptionQuestionE2ESqlTest.json\"));"},{"lineNumber":28,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":29,"author":{"gitId":"mingyuanc"},"content":" instructor \u003d testData.instructors.get(\"instructor\");"},{"lineNumber":30,"author":{"gitId":"mingyuanc"},"content":" course \u003d testData.courses.get(\"course\");"},{"lineNumber":31,"author":{"gitId":"mingyuanc"},"content":" feedbackSession \u003d testData.feedbackSessions.get(\"openSession\");"},{"lineNumber":32,"author":{"gitId":"mingyuanc"},"content":" student \u003d testData.students.get(\"alice.tmms@FRankOptQn.CS2104\");"},{"lineNumber":33,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":34,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":35,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"mingyuanc"},"content":" public void testAll() {"},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":" testEditPage();"},{"lineNumber":39,"author":{"gitId":"mingyuanc"},"content":" logout();"},{"lineNumber":40,"author":{"gitId":"mingyuanc"},"content":" testSubmitPage();"},{"lineNumber":41,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":42,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":43,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":44,"author":{"gitId":"mingyuanc"},"content":" protected void testEditPage() {"},{"lineNumber":45,"author":{"gitId":"mingyuanc"},"content":" InstructorFeedbackEditPage feedbackEditPage \u003d loginToFeedbackEditPage();"},{"lineNumber":46,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":47,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":48,"author":{"gitId":"mingyuanc"},"content":" FeedbackQuestion loadedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\")"},{"lineNumber":49,"author":{"gitId":"mingyuanc"},"content":" .makeDeepCopy(feedbackSession);"},{"lineNumber":50,"author":{"gitId":"mingyuanc"},"content":" FeedbackRankOptionsQuestionDetails questionDetails \u003d (FeedbackRankOptionsQuestionDetails) loadedQuestion"},{"lineNumber":51,"author":{"gitId":"mingyuanc"},"content":" .getQuestionDetailsCopy();"},{"lineNumber":52,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.verifyRankQuestionDetails(1, questionDetails);"},{"lineNumber":53,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":54,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"add new question\");"},{"lineNumber":55,"author":{"gitId":"mingyuanc"},"content":" // add new question exactly like loaded question"},{"lineNumber":56,"author":{"gitId":"mingyuanc"},"content":" loadedQuestion.setQuestionNumber(2);"},{"lineNumber":57,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.addRankOptionsQuestion(loadedQuestion);"},{"lineNumber":58,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":59,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.verifyRankQuestionDetails(2, questionDetails);"},{"lineNumber":60,"author":{"gitId":"mingyuanc"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":61,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":62,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"copy question\");"},{"lineNumber":63,"author":{"gitId":"mingyuanc"},"content":" FeedbackQuestion copiedQuestion \u003d testData.feedbackQuestions.get(\"qn1ForSecondSession\");"},{"lineNumber":64,"author":{"gitId":"mingyuanc"},"content":" questionDetails \u003d (FeedbackRankOptionsQuestionDetails) copiedQuestion.getQuestionDetailsCopy();"},{"lineNumber":65,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.copyQuestion(copiedQuestion.getCourseId(),"},{"lineNumber":66,"author":{"gitId":"mingyuanc"},"content":" copiedQuestion.getQuestionDetailsCopy().getQuestionText());"},{"lineNumber":67,"author":{"gitId":"mingyuanc"},"content":" copiedQuestion.setFeedbackSession(feedbackSession);"},{"lineNumber":68,"author":{"gitId":"mingyuanc"},"content":" copiedQuestion.setQuestionNumber(3);"},{"lineNumber":69,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":70,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.verifyRankQuestionDetails(3, questionDetails);"},{"lineNumber":71,"author":{"gitId":"mingyuanc"},"content":" verifyPresentInDatabase(copiedQuestion);"},{"lineNumber":72,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":73,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"edit question\");"},{"lineNumber":74,"author":{"gitId":"mingyuanc"},"content":" questionDetails \u003d (FeedbackRankOptionsQuestionDetails) loadedQuestion.getQuestionDetailsCopy();"},{"lineNumber":75,"author":{"gitId":"mingyuanc"},"content":" List\u003cString\u003e options \u003d questionDetails.getOptions();"},{"lineNumber":76,"author":{"gitId":"mingyuanc"},"content":" options.remove(0);"},{"lineNumber":77,"author":{"gitId":"mingyuanc"},"content":" options.set(1, \"Edited option.\");"},{"lineNumber":78,"author":{"gitId":"mingyuanc"},"content":" questionDetails.setOptions(options);"},{"lineNumber":79,"author":{"gitId":"mingyuanc"},"content":" questionDetails.setAreDuplicatesAllowed(true);"},{"lineNumber":80,"author":{"gitId":"mingyuanc"},"content":" questionDetails.setMaxOptionsToBeRanked(Const.POINTS_NO_VALUE);"},{"lineNumber":81,"author":{"gitId":"mingyuanc"},"content":" questionDetails.setMinOptionsToBeRanked(1);"},{"lineNumber":82,"author":{"gitId":"mingyuanc"},"content":" loadedQuestion.setQuestionDetails(questionDetails);"},{"lineNumber":83,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.editRankQuestion(2, questionDetails);"},{"lineNumber":84,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.waitForPageToLoad();"},{"lineNumber":85,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":86,"author":{"gitId":"mingyuanc"},"content":" feedbackEditPage.verifyRankQuestionDetails(2, questionDetails);"},{"lineNumber":87,"author":{"gitId":"mingyuanc"},"content":" verifyPresentInDatabase(loadedQuestion);"},{"lineNumber":88,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":89,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":90,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":91,"author":{"gitId":"mingyuanc"},"content":" protected void testSubmitPage() {"},{"lineNumber":92,"author":{"gitId":"mingyuanc"},"content":" FeedbackSubmitPage feedbackSubmitPage \u003d loginToFeedbackSubmitPage();"},{"lineNumber":93,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":94,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"verify loaded question\");"},{"lineNumber":95,"author":{"gitId":"mingyuanc"},"content":" FeedbackQuestion question \u003d testData.feedbackQuestions.get(\"qn1ForFirstSession\");"},{"lineNumber":96,"author":{"gitId":"mingyuanc"},"content":" Student receiver \u003d testData.students.get(\"benny.tmms@FRankOptQn.CS2104\");"},{"lineNumber":97,"author":{"gitId":"mingyuanc"},"content":" feedbackSubmitPage.verifyRankQuestion(1, receiver.getName(),"},{"lineNumber":98,"author":{"gitId":"mingyuanc"},"content":" (FeedbackRankQuestionDetails) question.getQuestionDetailsCopy());"},{"lineNumber":99,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":100,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"submit response\");"},{"lineNumber":101,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponse response \u003d getResponse(question, receiver, Arrays.asList(2, 1, 3,"},{"lineNumber":102,"author":{"gitId":"mingyuanc"},"content":" Const.POINTS_NOT_SUBMITTED));"},{"lineNumber":103,"author":{"gitId":"mingyuanc"},"content":" feedbackSubmitPage.fillRankOptionResponse(1, receiver.getName(), response);"},{"lineNumber":104,"author":{"gitId":"mingyuanc"},"content":" feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":105,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":106,"author":{"gitId":"mingyuanc"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":107,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":108,"author":{"gitId":"mingyuanc"},"content":" // ______TS(\"check previous response\");"},{"lineNumber":109,"author":{"gitId":"mingyuanc"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":110,"author":{"gitId":"mingyuanc"},"content":" // feedbackSubmitPage.verifyRankOptionResponse(1, receiver.getName(), response);"},{"lineNumber":111,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":112,"author":{"gitId":"mingyuanc"},"content":" // ______TS(\"edit response\");"},{"lineNumber":113,"author":{"gitId":"mingyuanc"},"content":" // response \u003d getResponse(questionId, receiver,"},{"lineNumber":114,"author":{"gitId":"mingyuanc"},"content":" // Arrays.asList(Const.POINTS_NOT_SUBMITTED, 1, 3, 2));"},{"lineNumber":115,"author":{"gitId":"mingyuanc"},"content":" // feedbackSubmitPage.fillRankOptionResponse(1, receiver.getName(), response);"},{"lineNumber":116,"author":{"gitId":"mingyuanc"},"content":" // feedbackSubmitPage.clickSubmitQuestionButton(1);"},{"lineNumber":117,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":118,"author":{"gitId":"mingyuanc"},"content":" // feedbackSubmitPage \u003d getFeedbackSubmitPage();"},{"lineNumber":119,"author":{"gitId":"mingyuanc"},"content":" // feedbackSubmitPage.verifyRankOptionResponse(1, receiver.getName(), response);"},{"lineNumber":120,"author":{"gitId":"mingyuanc"},"content":" // verifyPresentInDatabase(response);"},{"lineNumber":121,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":122,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":123,"author":{"gitId":"mingyuanc"},"content":" private FeedbackResponse getResponse(FeedbackQuestion question, Student receiver, List\u003cInteger\u003e answers) {"},{"lineNumber":124,"author":{"gitId":"mingyuanc"},"content":" FeedbackRankOptionsResponseDetails details \u003d new FeedbackRankOptionsResponseDetails();"},{"lineNumber":125,"author":{"gitId":"mingyuanc"},"content":" details.setAnswers(answers);"},{"lineNumber":126,"author":{"gitId":"mingyuanc"},"content":" return FeedbackResponse.makeResponse(question, student.getEmail(), null, receiver.getEmail(), null, details);"},{"lineNumber":127,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":128,"author":{"gitId":"mingyuanc"},"content":"}"}],"authorContributionMap":{"mingyuanc":128}},{"path":"src/e2e/java/teammates/e2e/cases/sql/InstructorNotificationsPageE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yuanxi1"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":3,"author":{"gitId":"yuanxi1"},"content":"import java.util.Set;"},{"lineNumber":4,"author":{"gitId":"yuanxi1"},"content":"import java.util.stream.Collectors;"},{"lineNumber":5,"author":{"gitId":"yuanxi1"},"content":"import java.util.stream.Stream;"},{"lineNumber":6,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":7,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":8,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":10,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":11,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"yuanxi1"},"content":"import teammates.e2e.pageobjects.InstructorNotificationsPage;"},{"lineNumber":13,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":14,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":15,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.output.AccountData;"},{"lineNumber":16,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":17,"author":{"gitId":"yuanxi1"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":" * SUT: {@link Const.WebPageURIs#INSTRUCTOR_NOTIFICATIONS_PAGE}."},{"lineNumber":19,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":20,"author":{"gitId":"yuanxi1"},"content":"public class InstructorNotificationsPageE2ETest extends BaseE2ETestCase {"},{"lineNumber":21,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":22,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":23,"author":{"gitId":"yuanxi1"},"content":" protected void prepareTestData() {"},{"lineNumber":24,"author":{"gitId":"yuanxi1"},"content":" testData \u003d loadSqlDataBundle(\"/InstructorNotificationsPageE2ESqlTest.json\");"},{"lineNumber":25,"author":{"gitId":"yuanxi1"},"content":" removeAndRestoreDataBundle(testData);"},{"lineNumber":26,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":27,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":28,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":29,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":30,"author":{"gitId":"yuanxi1"},"content":" protected void testAll() {"},{"lineNumber":31,"author":{"gitId":"yuanxi1"},"content":" Account account \u003d testData.accounts.get(\"INotifs.instr\");"},{"lineNumber":32,"author":{"gitId":"yuanxi1"},"content":" AppUrl notificationsPageUrl \u003d createFrontendUrl(Const.WebPageURIs.INSTRUCTOR_NOTIFICATIONS_PAGE);"},{"lineNumber":33,"author":{"gitId":"yuanxi1"},"content":" InstructorNotificationsPage notificationsPage \u003d loginToPage(notificationsPageUrl, InstructorNotificationsPage.class,"},{"lineNumber":34,"author":{"gitId":"yuanxi1"},"content":" account.getGoogleId());"},{"lineNumber":35,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":36,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"verify that only active notifications with correct target user are shown\");"},{"lineNumber":37,"author":{"gitId":"yuanxi1"},"content":" Notification[] notShownNotifications \u003d {"},{"lineNumber":38,"author":{"gitId":"yuanxi1"},"content":" testData.notifications.get(\"notification2\"),"},{"lineNumber":39,"author":{"gitId":"yuanxi1"},"content":" testData.notifications.get(\"expiredNotification1\"),"},{"lineNumber":40,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":41,"author":{"gitId":"yuanxi1"},"content":" Notification[] shownNotifications \u003d {"},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":" testData.notifications.get(\"notification1\"),"},{"lineNumber":43,"author":{"gitId":"yuanxi1"},"content":" testData.notifications.get(\"notification3\"),"},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" testData.notifications.get(\"notification4\"),"},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":" Notification[] readNotifications \u003d {"},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" testData.notifications.get(\"notification4\"),"},{"lineNumber":49,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":50,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":" Set\u003cString\u003e readNotificationsIds \u003d Stream.of(readNotifications)"},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":" .map(readNotification -\u003e readNotification.getId().toString())"},{"lineNumber":53,"author":{"gitId":"yuanxi1"},"content":" .collect(Collectors.toSet());"},{"lineNumber":54,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":55,"author":{"gitId":"yuanxi1"},"content":" notificationsPage.verifyNotShownNotifications(notShownNotifications);"},{"lineNumber":56,"author":{"gitId":"yuanxi1"},"content":" notificationsPage.verifyShownNotifications(shownNotifications, readNotificationsIds);"},{"lineNumber":57,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":58,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"mark notification as read\");"},{"lineNumber":59,"author":{"gitId":"yuanxi1"},"content":" Notification notificationToMarkAsRead \u003d testData.notifications.get(\"notification3\");"},{"lineNumber":60,"author":{"gitId":"yuanxi1"},"content":" notificationsPage.markNotificationAsRead(notificationToMarkAsRead);"},{"lineNumber":61,"author":{"gitId":"yuanxi1"},"content":" notificationsPage.verifyStatusMessage(\"Notification marked as read.\");"},{"lineNumber":62,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":63,"author":{"gitId":"yuanxi1"},"content":" // Verify that account\u0027s readNotifications attribute is updated"},{"lineNumber":64,"author":{"gitId":"yuanxi1"},"content":" AccountData accountFromDb \u003d BACKDOOR.getAccountData(account.getGoogleId());"},{"lineNumber":65,"author":{"gitId":"yuanxi1"},"content":" assertTrue(accountFromDb.getReadNotifications().containsKey(notificationToMarkAsRead.getId().toString()));"},{"lineNumber":66,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":67,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"notification banner is not visible\");"},{"lineNumber":68,"author":{"gitId":"yuanxi1"},"content":" assertFalse(notificationsPage.isBannerVisible());"},{"lineNumber":69,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":70,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":71,"author":{"gitId":"yuanxi1"},"content":" @AfterClass"},{"lineNumber":72,"author":{"gitId":"yuanxi1"},"content":" public void classTeardown() {"},{"lineNumber":73,"author":{"gitId":"yuanxi1"},"content":" for (Notification notification : testData.notifications.values()) {"},{"lineNumber":74,"author":{"gitId":"yuanxi1"},"content":" BACKDOOR.deleteNotification(notification.getId());"},{"lineNumber":75,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":76,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":77,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":78,"author":{"gitId":"yuanxi1"},"content":"}"}],"authorContributionMap":{"yuanxi1":78}},{"path":"src/e2e/java/teammates/e2e/cases/sql/RequestPageE2ETest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.e2e.cases.sql;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.AppUrl;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.Const;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.EmailType;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import teammates.e2e.pageobjects.RequestPage;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":" * SUT: {@link Const.WebPageURIs#ACCOUNT_REQUEST_PAGE}."},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"public class RequestPageE2ETest extends BaseE2ETestCase {"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":" protected void prepareTestData() {"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":" // No test data needed"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":" protected void testAll() {"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":" String name \u003d \"arf-test-name\";"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":" String institution \u003d \"arf-test-institution\";"},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" String country \u003d \"arf-test-country\";"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" String email \u003d TestProperties.TEST_EMAIL;"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" String comments \u003d \"arf-test-comments\";"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" AppUrl url \u003d createFrontendUrl(Const.WebPageURIs.ACCOUNT_REQUEST_PAGE);"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" RequestPage requestPage \u003d getNewPageInstance(url, RequestPage.class);"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" ______TS(\"verify submission with comments\");"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" requestPage.clickAmInstructorButton();"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" requestPage.fillForm(name, institution, country, email, comments);"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" requestPage.clickSubmitFormButton();"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" requestPage.verifySubmittedInfo(name, institution, country, email, comments);"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" String expectedEmailSubject \u003d EmailType.NEW_ACCOUNT_REQUEST_ACKNOWLEDGEMENT.toString();"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" verifyEmailSent(email, expectedEmailSubject);"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" ______TS(\"verify submission without comments\");"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" requestPage \u003d getNewPageInstance(url, RequestPage.class);"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" requestPage.clickAmInstructorButton();"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" requestPage.fillForm(name, institution, country, email, \"\");"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" requestPage.clickSubmitFormButton();"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" requestPage.verifySubmittedInfo(name, institution, country, email, \"\");"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" expectedEmailSubject \u003d EmailType.NEW_ACCOUNT_REQUEST_ACKNOWLEDGEMENT.toString();"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" verifyEmailSent(email, expectedEmailSubject);"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":52}},{"path":"src/e2e/java/teammates/e2e/pageobjects/AdminHomePage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.pageobjects;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import static org.junit.Assert.assertNotNull;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.openqa.selenium.By;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebElement;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.FindBy;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.test.ThreadHelper;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Represents the admin home page of the website."},{"lineNumber":15,"author":{"gitId":"-"},"content":" */"},{"lineNumber":16,"author":{"gitId":"-"},"content":"public class AdminHomePage extends AppPage {"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" private static final int ACCOUNT_REQUEST_COL_NAME \u003d 1;"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" private static final int ACCOUNT_REQUEST_COL_EMAIL \u003d 2;"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" private static final int ACCOUNT_REQUEST_COL_INSTITUTE \u003d 4;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"instructor-details-single-line\")"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private WebElement detailsSingleLineTextBox;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" @FindBy (id \u003d \"instructor-name\")"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private WebElement nameTextBox;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @FindBy (id \u003d \"instructor-email\")"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private WebElement emailTextBox;"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" @FindBy (id \u003d \"instructor-institution\")"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private WebElement institutionTextBox;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" @FindBy (id \u003d \"add-instructor\")"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private WebElement submitButton;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" @FindBy (id \u003d \"add-instructor-single-line\")"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private WebElement submitButtonDetailsSingleLineForm;"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" @FindBy (id \u003d \"add-all-instructors\")"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private WebElement addAllInstructorsButton;"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" public AdminHomePage(Browser browser) {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" super(browser);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":47,"author":{"gitId":"-"},"content":" protected boolean containsExpectedPageContents() {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" return getPageSource().contains(\"Add New Instructor\u003c/h1\u003e\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" public void queueInstructorForAdding(String name, String email, String institute) {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" if (name !\u003d null) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" fillTextBox(nameTextBox, name);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":" if (email !\u003d null) {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" fillTextBox(emailTextBox, email);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":" if (institute !\u003d null) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" fillTextBox(institutionTextBox, institute);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" click(submitButton);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" }"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" public void queueInstructorForAdding(String instructorDetails) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" if (instructorDetails !\u003d null) {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" fillTextBox(detailsSingleLineTextBox, instructorDetails);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" }"},{"lineNumber":69,"author":{"gitId":"-"},"content":" click(submitButtonDetailsSingleLineForm);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" public void addAllInstructors() {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" click(addAllInstructorsButton);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" waitForElementToBeClickable(addAllInstructorsButton);"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" public String getMessageForInstructor(int i) {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" By by \u003d By.id(\"message-instructor-\" + i);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" waitForElementVisibility(by);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" WebElement element \u003d browser.driver.findElement(by);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" if (element \u003d\u003d null) {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":" return element.getText();"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" public void clickMoreInfoButtonForRegisteredInstructor(int i) {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" By by \u003d By.id(\"instructor-\" + i + \"-registered-info-button\");"},{"lineNumber":89,"author":{"gitId":"-"},"content":" waitForElementVisibility(by);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" WebElement element \u003d browser.driver.findElement(by);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" click(element);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" waitForElementVisibility(By.id(\"reset-account-request-link\"));"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" public void clickResetAccountRequestLink() {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" By by \u003d By.id(\"reset-account-request-link\");"},{"lineNumber":97,"author":{"gitId":"-"},"content":" WebElement element \u003d browser.driver.findElement(by);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" click(element);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000); // Modals are stacked, wait briefly to ensure confirmation modal is shown"},{"lineNumber":100,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e okButtons \u003d browser.driver.findElements(By.className(\"modal-btn-ok\"));"},{"lineNumber":101,"author":{"gitId":"-"},"content":" clickDismissModalButtonAndWaitForModalHidden(okButtons.get(1)); // Second modal is confirmation modal"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" public String removeSpanFromText(String text) {"},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" return text.replace(\"\u003cspan class\u003d\\\"highlighted-text\\\"\u003e\", \"\").replace(\"\u003c/span\u003e\", \"\");"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" public WebElement getAccountRequestRow(String name, String email, String institute) {"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" List\u003cWebElement\u003e rows \u003d browser.driver.findElements(By.cssSelector(\"tm-account-request-table tbody tr\"));"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" for (WebElement row : rows) {"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" List\u003cWebElement\u003e columns \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" if (removeSpanFromText(columns.get(ACCOUNT_REQUEST_COL_NAME - 1)"},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" .getAttribute(\"innerHTML\")).contains(name)"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" \u0026\u0026 removeSpanFromText(columns.get(ACCOUNT_REQUEST_COL_EMAIL - 1)"},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" .getAttribute(\"innerHTML\")).contains(email)"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" \u0026\u0026 removeSpanFromText(columns.get(ACCOUNT_REQUEST_COL_INSTITUTE - 1)"},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" .getAttribute(\"innerHTML\")).contains(institute)) {"},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":" return row;"},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" return null;"},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" public void verifyInstructorInAccountRequestTable(String name, String email, String institute) {"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" WebElement row \u003d getAccountRequestRow(name, email, institute);"},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" assertNotNull(row);"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":30,"-":98}},{"path":"src/e2e/java/teammates/e2e/pageobjects/AdminNotificationsPage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.pageobjects;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.openqa.selenium.By;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebElement;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.FindBy;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationStyle;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationTargetUser;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Page Object Model for the admin notifications page."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class AdminNotificationsPage extends AppPage {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-add-notification\")"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private WebElement addNotificationButton;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-create-notification\")"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private WebElement createNotificationButton;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-edit-notification\")"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private WebElement editNotificationButton;"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notifications-timezone\")"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private WebElement notificationsTimezone;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-target-user\")"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private WebElement notificationTargetUserDropdown;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-style\")"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private WebElement notificationStyleDropdown;"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-title\")"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private WebElement notificationTitleTextBox;"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-message\")"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private WebElement notificationMessageEditor;"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-start-date\")"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private WebElement startDateBox;"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-start-time\")"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private WebElement startTimeDropdown;"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-end-date\")"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private WebElement endDateBox;"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notification-end-time\")"},{"lineNumber":55,"author":{"gitId":"-"},"content":" private WebElement endTimeDropdown;"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"notifications-table\")"},{"lineNumber":58,"author":{"gitId":"-"},"content":" private WebElement notificationsTable;"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" public AdminNotificationsPage(Browser browser) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" super(browser);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" }"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":65,"author":{"gitId":"-"},"content":" protected boolean containsExpectedPageContents() {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" return getPageSource().contains(\"Notifications\");"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" public void verifyNotificationsTableRow(Notification notification) {"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" WebElement notificationRow \u003d notificationsTable.findElement(By.id(notification.getId().toString()));"},{"lineNumber":71,"author":{"gitId":"-"},"content":" verifyTableRowValues(notificationRow, getNotificationTableDisplayDetails(notification));"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" public void addNotification(Notification notification) {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" clickAddNotificationButton();"},{"lineNumber":76,"author":{"gitId":"-"},"content":" waitForElementPresence(By.id(\"btn-create-notification\"));"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" fillNotificationForm(notification);"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" clickCreateNotificationButton();"},{"lineNumber":81,"author":{"gitId":"-"},"content":" waitForPageToLoad(true);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" }"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" public void editNotification(Notification notification) {"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" WebElement notificationRow \u003d notificationsTable.findElement(By.id(notification.getId().toString()));"},{"lineNumber":86,"author":{"gitId":"-"},"content":" WebElement editButton \u003d notificationRow.findElement(By.className(\"btn-light\"));"},{"lineNumber":87,"author":{"gitId":"-"},"content":" editButton.click();"},{"lineNumber":88,"author":{"gitId":"-"},"content":" waitForElementPresence(By.id(\"btn-edit-notification\"));"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" fillNotificationForm(notification);"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" clickEditNotificationButton();"},{"lineNumber":93,"author":{"gitId":"-"},"content":" waitForPageToLoad(true);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" public void deleteNotification(Notification notification) {"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" WebElement notificationRow \u003d notificationsTable.findElement(By.id(notification.getId().toString()));"},{"lineNumber":98,"author":{"gitId":"-"},"content":" WebElement deleteButton \u003d notificationRow.findElement(By.className(\"btn-danger\"));"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" deleteButton.click();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":102,"author":{"gitId":"-"},"content":" waitForPageToLoad(true);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" public void fillNotificationForm(Notification notification) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(notificationTargetUserDropdown, getTargetUserText(notification.getTargetUser()));"},{"lineNumber":107,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(notificationStyleDropdown, getNotificationStyle(notification.getStyle()));"},{"lineNumber":108,"author":{"gitId":"-"},"content":" fillTextBox(notificationTitleTextBox, notification.getTitle());"},{"lineNumber":109,"author":{"gitId":"-"},"content":" setMessage(notification.getMessage());"},{"lineNumber":110,"author":{"gitId":"-"},"content":" setNotificationStartDateTime(notification.getStartTime());"},{"lineNumber":111,"author":{"gitId":"-"},"content":" setNotificationEndDateTime(notification.getEndTime());"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" public String getFirstRowNotificationId() {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e notificationRows \u003d"},{"lineNumber":116,"author":{"gitId":"-"},"content":" notificationsTable.findElement(By.tagName(\"tbody\")).findElements(By.tagName(\"tr\"));"},{"lineNumber":117,"author":{"gitId":"-"},"content":" return notificationRows.get(0).getAttribute(\"id\");"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" public void sortNotificationsTableByDescendingCreateTime() {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" WebElement creationTimeHeader \u003d notificationsTable.findElements(By.tagName(\"th\")).get(5);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" if (creationTimeHeader.findElements(By.className(\"fa-sort-down\")).isEmpty()) {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" click(creationTimeHeader);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" private void clickAddNotificationButton() {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" click(addNotificationButton);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" }"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" private void clickCreateNotificationButton() {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" click(createNotificationButton);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" private void clickEditNotificationButton() {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" click(editNotificationButton);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" private void setMessage(String message) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" writeToRichTextEditor(notificationMessageEditor, message);"},{"lineNumber":141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" private void setNotificationStartDateTime(Instant startInstant) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" setDateTime(startDateBox, startTimeDropdown, startInstant);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" private void setNotificationEndDateTime(Instant endInstant) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" setDateTime(endDateBox, endTimeDropdown, endInstant);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" private void setDateTime(WebElement dateBox, WebElement timeBox, Instant startInstant) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" fillDatePicker(dateBox, startInstant, getTimezone());"},{"lineNumber":153,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(timeBox.findElement(By.tagName(\"select\")), getInputTimeString(startInstant));"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":" private String[] getNotificationTableDisplayDetails(Notification notification) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" return new String[] {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" notification.getTitle(),"},{"lineNumber":159,"author":{"gitId":"-"},"content":" getTableDisplayDateString(notification.getStartTime()),"},{"lineNumber":160,"author":{"gitId":"-"},"content":" getTableDisplayDateString(notification.getEndTime()),"},{"lineNumber":161,"author":{"gitId":"-"},"content":" notification.getTargetUser().toString(),"},{"lineNumber":162,"author":{"gitId":"-"},"content":" getNotificationStyle(notification.getStyle()),"},{"lineNumber":163,"author":{"gitId":"-"},"content":" };"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" private String getTimezone() {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" return notificationsTimezone.getText().replace(\"All dates are displayed in \", \"\").replace(\" time.\", \"\");"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" private String getInputTimeString(Instant instant) {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" String timezone \u003d getTimezone();"},{"lineNumber":172,"author":{"gitId":"-"},"content":" ZonedDateTime dateTime \u003d instant.atZone(ZoneId.of(timezone));"},{"lineNumber":173,"author":{"gitId":"-"},"content":" if (dateTime.getHour() \u003d\u003d 0 \u0026\u0026 dateTime.getMinute() \u003d\u003d 0) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" return \"23:59H\";"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timezone, \"HH:00\") + \"H\";"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" private String getTableDisplayDateString(Instant date) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(date, getTimezone(), \"d MMM h:mm a\");"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" private String getTargetUserText(NotificationTargetUser userType) {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" switch (userType) {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" case STUDENT:"},{"lineNumber":186,"author":{"gitId":"-"},"content":" return \"Students\";"},{"lineNumber":187,"author":{"gitId":"-"},"content":" case INSTRUCTOR:"},{"lineNumber":188,"author":{"gitId":"-"},"content":" return \"Instructors\";"},{"lineNumber":189,"author":{"gitId":"-"},"content":" case GENERAL:"},{"lineNumber":190,"author":{"gitId":"-"},"content":" return \"General (for both students and instructors)\";"},{"lineNumber":191,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":192,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" private String getNotificationStyle(NotificationStyle style) {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" switch (style) {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" case PRIMARY:"},{"lineNumber":199,"author":{"gitId":"-"},"content":" return \"Primary (blue)\";"},{"lineNumber":200,"author":{"gitId":"-"},"content":" case SECONDARY:"},{"lineNumber":201,"author":{"gitId":"-"},"content":" return \"Secondary (grey)\";"},{"lineNumber":202,"author":{"gitId":"-"},"content":" case SUCCESS:"},{"lineNumber":203,"author":{"gitId":"-"},"content":" return \"Success (green)\";"},{"lineNumber":204,"author":{"gitId":"-"},"content":" case DANGER:"},{"lineNumber":205,"author":{"gitId":"-"},"content":" return \"Danger (red)\";"},{"lineNumber":206,"author":{"gitId":"-"},"content":" case WARNING:"},{"lineNumber":207,"author":{"gitId":"-"},"content":" return \"Warning (yellow)\";"},{"lineNumber":208,"author":{"gitId":"-"},"content":" case INFO:"},{"lineNumber":209,"author":{"gitId":"-"},"content":" return \"Info (cyan)\";"},{"lineNumber":210,"author":{"gitId":"-"},"content":" case LIGHT:"},{"lineNumber":211,"author":{"gitId":"-"},"content":" return \"Light\";"},{"lineNumber":212,"author":{"gitId":"-"},"content":" case DARK:"},{"lineNumber":213,"author":{"gitId":"-"},"content":" return \"Dark\";"},{"lineNumber":214,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":215,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":10,"-":209}},{"path":"src/e2e/java/teammates/e2e/pageobjects/AdminSearchPage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.pageobjects;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertFalse;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertNotEquals;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.openqa.selenium.By;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.openqa.selenium.NoSuchElementException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebElement;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.FindBy;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountRequestAttributes;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * Represents the admin home page of the website."},{"lineNumber":27,"author":{"gitId":"-"},"content":" */"},{"lineNumber":28,"author":{"gitId":"-"},"content":"public class AdminSearchPage extends AppPage {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final int STUDENT_COL_DETAILS \u003d 1;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final int STUDENT_COL_NAME \u003d 2;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final int STUDENT_COL_GOOGLE_ID \u003d 3;"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final int STUDENT_COL_INSTITUTE \u003d 4;"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final int STUDENT_COL_COMMENTS \u003d 5;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final int STUDENT_COL_OPTIONS \u003d 6;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final int INSTRUCTOR_COL_COURSE_ID \u003d 1;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final int INSTRUCTOR_COL_NAME \u003d 2;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final int INSTRUCTOR_COL_GOOGLE_ID \u003d 3;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final int INSTRUCTOR_COL_INSTITUTE \u003d 4;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final int INSTRUCTOR_COL_OPTIONS \u003d 5;"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final int ACCOUNT_REQUEST_COL_NAME \u003d 1;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final int ACCOUNT_REQUEST_COL_EMAIL \u003d 2;"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" private static final int ACCOUNT_REQUEST_COL_INSTITUTE \u003d 4;"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" private static final int ACCOUNT_REQUEST_COL_CREATED_AT \u003d 5;"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" private static final int ACCOUNT_REQUEST_COL_REGISTERED_AT \u003d 6;"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String EXPANDED_ROWS_HEADER_EMAIL \u003d \"Email\";"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String EXPANDED_ROWS_HEADER_COURSE_JOIN_LINK \u003d \"Course Join Link\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final String EXPANDED_ROWS_HEADER_ACCOUNT_REGISTRATION_LINK \u003d \"Account Registration Link\";"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final String LINK_TEXT_RESET_GOOGLE_ID \u003d \"Reset Google ID\";"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"search-box\")"},{"lineNumber":54,"author":{"gitId":"-"},"content":" private WebElement inputBox;"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"search-button\")"},{"lineNumber":57,"author":{"gitId":"-"},"content":" private WebElement searchButton;"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"show-student-links\")"},{"lineNumber":60,"author":{"gitId":"-"},"content":" private WebElement expandStudentLinksButton;"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"show-instructor-links\")"},{"lineNumber":63,"author":{"gitId":"-"},"content":" private WebElement expandInstructorLinksButton;"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"show-account-request-links\")"},{"lineNumber":66,"author":{"gitId":"-"},"content":" private WebElement expandAccountRequestLinksButton;"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"hide-student-links\")"},{"lineNumber":69,"author":{"gitId":"-"},"content":" private WebElement collapseStudentLinksButton;"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"hide-instructor-links\")"},{"lineNumber":72,"author":{"gitId":"-"},"content":" private WebElement collapseInstructorLinksButton;"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"hide-account-request-links\")"},{"lineNumber":75,"author":{"gitId":"-"},"content":" private WebElement collapseAccountRequestLinksButton;"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" public AdminSearchPage(Browser browser) {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" super(browser);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":82,"author":{"gitId":"-"},"content":" protected boolean containsExpectedPageContents() {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" return getPageSource().contains(\"Admin Search\u003c/h1\u003e\");"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" public void inputSearchContent(String content) {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" inputBox.sendKeys(content);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" public void clearSearchBox() {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" inputBox.clear();"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" public void clickSearchButton() {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" click(searchButton);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" public void regenerateStudentKey(Student student) {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":101,"author":{"gitId":"-"},"content":" studentRow.findElement(By.xpath(\"//button[text()\u003d\u0027Regenerate key\u0027]\")).click();"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":104,"author":{"gitId":"-"},"content":" waitForPageToLoad(true);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" public void regenerateStudentKey(StudentAttributes student) {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" studentRow.findElement(By.xpath(\"//button[text()\u003d\u0027Regenerate key\u0027]\")).click();"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" waitForPageToLoad(true);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" public void verifyRegenerateStudentKey(Student student, String originalJoinLink) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" verifyStatusMessage(\"Student\u0027s key for this course has been successfully regenerated,\""},{"lineNumber":117,"author":{"gitId":"-"},"content":" + \" and the email has been sent.\");"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" String regeneratedJoinLink \u003d getStudentJoinLink(student);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" assertNotEquals(regeneratedJoinLink, originalJoinLink);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" public void verifyRegenerateStudentKey(StudentAttributes student, String originalJoinLink) {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" verifyStatusMessage(\"Student\u0027s key for this course has been successfully regenerated,\""},{"lineNumber":125,"author":{"gitId":"-"},"content":" + \" and the email has been sent.\");"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" String regeneratedJoinLink \u003d getStudentJoinLink(student);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" assertNotEquals(regeneratedJoinLink, originalJoinLink);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" }"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" public void regenerateInstructorKey(Instructor instructor) {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" instructorRow.findElement(By.xpath(\"//button[text()\u003d\u0027Regenerate key\u0027]\")).click();"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":136,"author":{"gitId":"-"},"content":" waitForPageToLoad(true);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" public void regenerateInstructorKey(InstructorAttributes instructor) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":141,"author":{"gitId":"-"},"content":" instructorRow.findElement(By.xpath(\"//button[text()\u003d\u0027Regenerate key\u0027]\")).click();"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":144,"author":{"gitId":"-"},"content":" waitForPageToLoad(true);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" public void clickExpandStudentLinks() {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" click(expandStudentLinksButton);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" public void clickExpandInstructorLinks() {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" click(expandInstructorLinksButton);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":155,"author":{"gitId":"-"},"content":" }"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" public void clickExpandAccountRequestLinks() {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" click(expandAccountRequestLinksButton);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" public void clickCollapseStudentLinks() {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" click(collapseStudentLinksButton);"},{"lineNumber":164,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" public void clickCollapseInstructorLinks() {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" click(collapseInstructorLinksButton);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" public void clickCollapseAccountRequestLinks() {"},{"lineNumber":173,"author":{"gitId":"-"},"content":" click(collapseAccountRequestLinksButton);"},{"lineNumber":174,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" public String removeSpanFromText(String text) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" return text.replace(\"\u003cspan class\u003d\\\"highlighted-text\\\"\u003e\", \"\").replace(\"\u003c/span\u003e\", \"\");"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" public WebElement getStudentRow(Student student) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" String details \u003d String.format(\"%s [%s] (%s)\", student.getCourse().getId(),"},{"lineNumber":183,"author":{"gitId":"-"},"content":" student.getSection() \u003d\u003d null"},{"lineNumber":184,"author":{"gitId":"-"},"content":" ? Const.DEFAULT_SECTION"},{"lineNumber":185,"author":{"gitId":"-"},"content":" : student.getSection().getName(), student.getTeam().getName());"},{"lineNumber":186,"author":{"gitId":"-"},"content":" WebElement table \u003d browser.driver.findElement(By.id(\"search-table-student\"));"},{"lineNumber":187,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d table.findElements(By.tagName(\"tr\"));"},{"lineNumber":188,"author":{"gitId":"-"},"content":" for (WebElement row : rows) {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e columns \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":190,"author":{"gitId":"-"},"content":" if (!columns.isEmpty() \u0026\u0026 removeSpanFromText(columns.get(STUDENT_COL_DETAILS - 1)"},{"lineNumber":191,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(details)"},{"lineNumber":192,"author":{"gitId":"-"},"content":" \u0026\u0026 removeSpanFromText(columns.get(STUDENT_COL_NAME - 1)"},{"lineNumber":193,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(student.getName())) {"},{"lineNumber":194,"author":{"gitId":"-"},"content":" return row;"},{"lineNumber":195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":197,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" public WebElement getStudentRow(StudentAttributes student) {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" String details \u003d String.format(\"%s [%s] (%s)\", student.getCourse(),"},{"lineNumber":202,"author":{"gitId":"-"},"content":" student.getSection() \u003d\u003d null ? Const.DEFAULT_SECTION : student.getSection(), student.getTeam());"},{"lineNumber":203,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d browser.driver.findElements(By.cssSelector(\"#search-table-student tbody tr\"));"},{"lineNumber":204,"author":{"gitId":"-"},"content":" for (WebElement row : rows) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e columns \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":206,"author":{"gitId":"-"},"content":" if (removeSpanFromText(columns.get(STUDENT_COL_DETAILS - 1)"},{"lineNumber":207,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(details)"},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u0026\u0026 removeSpanFromText(columns.get(STUDENT_COL_NAME - 1)"},{"lineNumber":209,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(student.getName())) {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" return row;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" public String getStudentDetails(WebElement studentRow) {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" return getColumnText(studentRow, STUDENT_COL_DETAILS);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" public String getStudentName(WebElement studentRow) {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" return getColumnText(studentRow, STUDENT_COL_NAME);"},{"lineNumber":222,"author":{"gitId":"-"},"content":" }"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":" public String getStudentGoogleId(WebElement studentRow) {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" return getColumnText(studentRow, STUDENT_COL_GOOGLE_ID);"},{"lineNumber":226,"author":{"gitId":"-"},"content":" }"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":" public String getStudentHomeLink(WebElement studentRow) {"},{"lineNumber":229,"author":{"gitId":"-"},"content":" return getColumnLink(studentRow, STUDENT_COL_GOOGLE_ID);"},{"lineNumber":230,"author":{"gitId":"-"},"content":" }"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" public String getStudentInstitute(WebElement studentRow) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" return getColumnText(studentRow, STUDENT_COL_INSTITUTE);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" public String getStudentComments(WebElement studentRow) {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" return getColumnText(studentRow, STUDENT_COL_COMMENTS);"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" public String getStudentManageAccountLink(WebElement studentRow) {"},{"lineNumber":241,"author":{"gitId":"-"},"content":" return getColumnLink(studentRow, STUDENT_COL_OPTIONS);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" }"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" public String getStudentEmail(WebElement studentRow) {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" return getExpandedRowInputValue(studentRow, EXPANDED_ROWS_HEADER_EMAIL);"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" public String getStudentJoinLink(WebElement studentRow) {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" return getExpandedRowInputValue(studentRow, EXPANDED_ROWS_HEADER_COURSE_JOIN_LINK);"},{"lineNumber":250,"author":{"gitId":"-"},"content":" }"},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":" public String getStudentJoinLink(Student student) {"},{"lineNumber":253,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":254,"author":{"gitId":"-"},"content":" return getStudentJoinLink(studentRow);"},{"lineNumber":255,"author":{"gitId":"-"},"content":" }"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":" public String getStudentJoinLink(StudentAttributes student) {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":259,"author":{"gitId":"-"},"content":" return getStudentJoinLink(studentRow);"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" public void resetStudentGoogleId(Student student) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":264,"author":{"gitId":"-"},"content":" WebElement link \u003d studentRow.findElement(By.linkText(LINK_TEXT_RESET_GOOGLE_ID));"},{"lineNumber":265,"author":{"gitId":"-"},"content":" link.click();"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":268,"author":{"gitId":"-"},"content":" waitForElementStaleness(link);"},{"lineNumber":269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" public void resetStudentGoogleId(StudentAttributes student) {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" WebElement link \u003d studentRow.findElement(By.linkText(LINK_TEXT_RESET_GOOGLE_ID));"},{"lineNumber":274,"author":{"gitId":"-"},"content":" link.click();"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":277,"author":{"gitId":"-"},"content":" waitForElementStaleness(link);"},{"lineNumber":278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" public WebElement getInstructorRow(Instructor instructor) {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" WebElement table \u003d browser.driver.findElement(By.id(\"search-table-instructor\"));"},{"lineNumber":282,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d table.findElements(By.tagName(\"tr\"));"},{"lineNumber":283,"author":{"gitId":"-"},"content":" for (WebElement row : rows) {"},{"lineNumber":284,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e columns \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":285,"author":{"gitId":"-"},"content":" if (columns.size() \u003e\u003d 3 \u0026\u0026 (removeSpanFromText(columns.get(2)"},{"lineNumber":286,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(instructor.getGoogleId())"},{"lineNumber":287,"author":{"gitId":"-"},"content":" || removeSpanFromText(columns.get(1)"},{"lineNumber":288,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(instructor.getName()))) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" return row;"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" public WebElement getInstructorRow(InstructorAttributes instructor) {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" String courseId \u003d instructor.getCourseId();"},{"lineNumber":297,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d browser.driver.findElements(By.cssSelector(\"#search-table-instructor tbody tr\"));"},{"lineNumber":298,"author":{"gitId":"-"},"content":" for (WebElement row : rows) {"},{"lineNumber":299,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e columns \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":300,"author":{"gitId":"-"},"content":" if (removeSpanFromText(columns.get(INSTRUCTOR_COL_COURSE_ID - 1)"},{"lineNumber":301,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(courseId)"},{"lineNumber":302,"author":{"gitId":"-"},"content":" \u0026\u0026 removeSpanFromText(columns.get(INSTRUCTOR_COL_NAME - 1)"},{"lineNumber":303,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(instructor.getName())) {"},{"lineNumber":304,"author":{"gitId":"-"},"content":" return row;"},{"lineNumber":305,"author":{"gitId":"-"},"content":" }"},{"lineNumber":306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":307,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" public String getInstructorCourseId(WebElement instructorRow) {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" return getColumnText(instructorRow, INSTRUCTOR_COL_COURSE_ID);"},{"lineNumber":312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"-"},"content":" public String getInstructorName(WebElement instructorRow) {"},{"lineNumber":315,"author":{"gitId":"-"},"content":" return getColumnText(instructorRow, INSTRUCTOR_COL_NAME);"},{"lineNumber":316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" public String getInstructorGoogleId(WebElement instructorRow) {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" return getColumnText(instructorRow, INSTRUCTOR_COL_GOOGLE_ID);"},{"lineNumber":320,"author":{"gitId":"-"},"content":" }"},{"lineNumber":321,"author":{"gitId":"-"},"content":""},{"lineNumber":322,"author":{"gitId":"-"},"content":" public String getInstructorHomePageLink(WebElement instructorRow) {"},{"lineNumber":323,"author":{"gitId":"-"},"content":" return getColumnLink(instructorRow, INSTRUCTOR_COL_GOOGLE_ID);"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" public String getInstructorInstitute(WebElement instructorRow) {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" return getColumnText(instructorRow, INSTRUCTOR_COL_INSTITUTE);"},{"lineNumber":328,"author":{"gitId":"-"},"content":" }"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" public String getInstructorManageAccountLink(WebElement instructorRow) {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" return getColumnLink(instructorRow, INSTRUCTOR_COL_OPTIONS);"},{"lineNumber":332,"author":{"gitId":"-"},"content":" }"},{"lineNumber":333,"author":{"gitId":"-"},"content":""},{"lineNumber":334,"author":{"gitId":"-"},"content":" public String getInstructorEmail(WebElement instructorRow) {"},{"lineNumber":335,"author":{"gitId":"-"},"content":" return getExpandedRowInputValue(instructorRow, EXPANDED_ROWS_HEADER_EMAIL);"},{"lineNumber":336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" public String getInstructorJoinLink(WebElement instructorRow) {"},{"lineNumber":339,"author":{"gitId":"-"},"content":" return getExpandedRowInputValue(instructorRow, EXPANDED_ROWS_HEADER_COURSE_JOIN_LINK);"},{"lineNumber":340,"author":{"gitId":"-"},"content":" }"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":" public String getInstructorJoinLink(Instructor instructor) {"},{"lineNumber":343,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":344,"author":{"gitId":"-"},"content":" return getInstructorJoinLink(instructorRow);"},{"lineNumber":345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":" public String getInstructorJoinLink(InstructorAttributes instructor) {"},{"lineNumber":348,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":349,"author":{"gitId":"-"},"content":" return getInstructorJoinLink(instructorRow);"},{"lineNumber":350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" public void resetInstructorGoogleId(Instructor instructor) {"},{"lineNumber":353,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":354,"author":{"gitId":"-"},"content":" WebElement link \u003d instructorRow.findElement(By.linkText(LINK_TEXT_RESET_GOOGLE_ID));"},{"lineNumber":355,"author":{"gitId":"-"},"content":" link.click();"},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":358,"author":{"gitId":"-"},"content":" waitForElementStaleness(link);"},{"lineNumber":359,"author":{"gitId":"-"},"content":" }"},{"lineNumber":360,"author":{"gitId":"-"},"content":""},{"lineNumber":361,"author":{"gitId":"-"},"content":" public void resetInstructorGoogleId(InstructorAttributes instructor) {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":363,"author":{"gitId":"-"},"content":" WebElement link \u003d instructorRow.findElement(By.linkText(LINK_TEXT_RESET_GOOGLE_ID));"},{"lineNumber":364,"author":{"gitId":"-"},"content":" link.click();"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":367,"author":{"gitId":"-"},"content":" waitForElementStaleness(link);"},{"lineNumber":368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":369,"author":{"gitId":"-"},"content":""},{"lineNumber":370,"author":{"gitId":"-"},"content":" public WebElement getAccountRequestRow(AccountRequestAttributes accountRequest) {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" String email \u003d accountRequest.getEmail();"},{"lineNumber":372,"author":{"gitId":"-"},"content":" String institute \u003d accountRequest.getInstitute();"},{"lineNumber":373,"author":{"gitId":"domoberzin"},"content":" List\u003cWebElement\u003e rows \u003d browser.driver.findElements(By.cssSelector(\"tm-account-request-table tbody tr\"));"},{"lineNumber":374,"author":{"gitId":"-"},"content":" for (WebElement row : rows) {"},{"lineNumber":375,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e columns \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":376,"author":{"gitId":"-"},"content":" if (removeSpanFromText(columns.get(ACCOUNT_REQUEST_COL_EMAIL - 1)"},{"lineNumber":377,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(email)"},{"lineNumber":378,"author":{"gitId":"-"},"content":" \u0026\u0026 removeSpanFromText(columns.get(ACCOUNT_REQUEST_COL_INSTITUTE - 1)"},{"lineNumber":379,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(institute)) {"},{"lineNumber":380,"author":{"gitId":"-"},"content":" return row;"},{"lineNumber":381,"author":{"gitId":"-"},"content":" }"},{"lineNumber":382,"author":{"gitId":"-"},"content":" }"},{"lineNumber":383,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"domoberzin"},"content":" public WebElement getAccountRequestRow(AccountRequest accountRequest) {"},{"lineNumber":387,"author":{"gitId":"domoberzin"},"content":" String email \u003d accountRequest.getEmail();"},{"lineNumber":388,"author":{"gitId":"domoberzin"},"content":" String institute \u003d accountRequest.getInstitute();"},{"lineNumber":389,"author":{"gitId":"domoberzin"},"content":" List\u003cWebElement\u003e rows \u003d browser.driver.findElements(By.cssSelector(\"tm-account-request-table tbody tr\"));"},{"lineNumber":390,"author":{"gitId":"-"},"content":" for (WebElement row : rows) {"},{"lineNumber":391,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e columns \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":392,"author":{"gitId":"-"},"content":" if (removeSpanFromText(columns.get(ACCOUNT_REQUEST_COL_EMAIL - 1)"},{"lineNumber":393,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(email)"},{"lineNumber":394,"author":{"gitId":"-"},"content":" \u0026\u0026 removeSpanFromText(columns.get(ACCOUNT_REQUEST_COL_INSTITUTE - 1)"},{"lineNumber":395,"author":{"gitId":"-"},"content":" .getAttribute(\"innerHTML\")).contains(institute)) {"},{"lineNumber":396,"author":{"gitId":"-"},"content":" return row;"},{"lineNumber":397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":398,"author":{"gitId":"-"},"content":" }"},{"lineNumber":399,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":400,"author":{"gitId":"-"},"content":" }"},{"lineNumber":401,"author":{"gitId":"-"},"content":""},{"lineNumber":402,"author":{"gitId":"-"},"content":" public String getAccountRequestName(WebElement accountRequestRow) {"},{"lineNumber":403,"author":{"gitId":"-"},"content":" return getColumnText(accountRequestRow, ACCOUNT_REQUEST_COL_NAME);"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" public String getAccountRequestEmail(WebElement accountRequestRow) {"},{"lineNumber":407,"author":{"gitId":"-"},"content":" return getColumnText(accountRequestRow, ACCOUNT_REQUEST_COL_EMAIL);"},{"lineNumber":408,"author":{"gitId":"-"},"content":" }"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" public String getAccountRequestInstitute(WebElement accountRequestRow) {"},{"lineNumber":411,"author":{"gitId":"-"},"content":" return getColumnText(accountRequestRow, ACCOUNT_REQUEST_COL_INSTITUTE);"},{"lineNumber":412,"author":{"gitId":"-"},"content":" }"},{"lineNumber":413,"author":{"gitId":"-"},"content":""},{"lineNumber":414,"author":{"gitId":"-"},"content":" public String getAccountRequestCreatedAt(WebElement accountRequestRow) {"},{"lineNumber":415,"author":{"gitId":"-"},"content":" return getColumnText(accountRequestRow, ACCOUNT_REQUEST_COL_CREATED_AT);"},{"lineNumber":416,"author":{"gitId":"-"},"content":" }"},{"lineNumber":417,"author":{"gitId":"-"},"content":""},{"lineNumber":418,"author":{"gitId":"-"},"content":" public String getAccountRequestRegisteredAt(WebElement accountRequestRow) {"},{"lineNumber":419,"author":{"gitId":"-"},"content":" return getColumnText(accountRequestRow, ACCOUNT_REQUEST_COL_REGISTERED_AT);"},{"lineNumber":420,"author":{"gitId":"-"},"content":" }"},{"lineNumber":421,"author":{"gitId":"-"},"content":""},{"lineNumber":422,"author":{"gitId":"-"},"content":" public String getAccountRequestRegistrationLink(WebElement accountRequestRow) {"},{"lineNumber":423,"author":{"gitId":"-"},"content":" return getExpandedRowInputValue(accountRequestRow, EXPANDED_ROWS_HEADER_ACCOUNT_REGISTRATION_LINK);"},{"lineNumber":424,"author":{"gitId":"-"},"content":" }"},{"lineNumber":425,"author":{"gitId":"-"},"content":""},{"lineNumber":426,"author":{"gitId":"-"},"content":" public void clickDeleteAccountRequestButton(AccountRequestAttributes accountRequest) {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":428,"author":{"gitId":"-"},"content":" WebElement deleteButton \u003d accountRequestRow.findElement(By.cssSelector(\"[id^\u003d\u0027delete-account-request-\u0027]\"));"},{"lineNumber":429,"author":{"gitId":"-"},"content":" deleteButton.click();"},{"lineNumber":430,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":431,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":432,"author":{"gitId":"-"},"content":" }"},{"lineNumber":433,"author":{"gitId":"-"},"content":""},{"lineNumber":434,"author":{"gitId":"domoberzin"},"content":" public void clickDeleteAccountRequestButton(AccountRequest accountRequest) {"},{"lineNumber":435,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":436,"author":{"gitId":"domoberzin"},"content":" WebElement deleteButton \u003d accountRequestRow.findElement(By.cssSelector(\"[id^\u003d\u0027delete-account-request-\u0027]\"));"},{"lineNumber":437,"author":{"gitId":"domoberzin"},"content":" deleteButton.click();"},{"lineNumber":438,"author":{"gitId":"domoberzin"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":439,"author":{"gitId":"domoberzin"},"content":" waitForPageToLoad();"},{"lineNumber":440,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":441,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":442,"author":{"gitId":"domoberzin"},"content":" public void clickApproveAccountRequestButton(AccountRequest accountRequest) {"},{"lineNumber":443,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":444,"author":{"gitId":"domoberzin"},"content":" waitForElementPresence(By.cssSelector(\"[id^\u003d\u0027approve-account-request-\u0027]\"));"},{"lineNumber":445,"author":{"gitId":"domoberzin"},"content":" WebElement approveButton \u003d accountRequestRow.findElement(By.cssSelector(\"[id^\u003d\u0027approve-account-request-\u0027]\"));"},{"lineNumber":446,"author":{"gitId":"domoberzin"},"content":" waitForElementToBeClickable(approveButton);"},{"lineNumber":447,"author":{"gitId":"domoberzin"},"content":" approveButton.click();"},{"lineNumber":448,"author":{"gitId":"domoberzin"},"content":" waitForPageToLoad();"},{"lineNumber":449,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":450,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":451,"author":{"gitId":"domoberzin"},"content":" public void clickRejectAccountRequestButton(AccountRequest accountRequest) {"},{"lineNumber":452,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":453,"author":{"gitId":"domoberzin"},"content":" WebElement rejectButton \u003d accountRequestRow.findElement(By.cssSelector(\"[id^\u003d\u0027reject-account-request-\u0027]\"));"},{"lineNumber":454,"author":{"gitId":"domoberzin"},"content":" rejectButton.click();"},{"lineNumber":455,"author":{"gitId":"domoberzin"},"content":" waitForPageToLoad();"},{"lineNumber":456,"author":{"gitId":"domoberzin"},"content":" WebElement rejectWithoutReasonButton \u003d browser.driver.findElement(By.cssSelector(\"[id^\u003d\u0027reject-request-\u0027]\"));"},{"lineNumber":457,"author":{"gitId":"domoberzin"},"content":" rejectWithoutReasonButton.click();"},{"lineNumber":458,"author":{"gitId":"domoberzin"},"content":" waitForPageToLoad();"},{"lineNumber":459,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":460,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":461,"author":{"gitId":"domoberzin"},"content":" public void clickRejectAccountRequestWithReasonButton(AccountRequest accountRequest) {"},{"lineNumber":462,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":463,"author":{"gitId":"domoberzin"},"content":" WebElement rejectButton \u003d accountRequestRow.findElement(By.cssSelector(\"[id^\u003d\u0027reject-account-request-\u0027]\"));"},{"lineNumber":464,"author":{"gitId":"domoberzin"},"content":" rejectButton.click();"},{"lineNumber":465,"author":{"gitId":"domoberzin"},"content":" waitForPageToLoad();"},{"lineNumber":466,"author":{"gitId":"domoberzin"},"content":" WebElement rejectWithReasonButton \u003d browser.driver.findElement(By.cssSelector(\"[id^\u003d\u0027reject-request-with-reason\u0027]\"));"},{"lineNumber":467,"author":{"gitId":"domoberzin"},"content":" waitForElementToBeClickable(rejectWithReasonButton);"},{"lineNumber":468,"author":{"gitId":"domoberzin"},"content":" rejectWithReasonButton.click();"},{"lineNumber":469,"author":{"gitId":"domoberzin"},"content":" waitForPageToLoad();"},{"lineNumber":470,"author":{"gitId":"domoberzin"},"content":" waitForElementPresence(By.cssSelector(\"tm-reject-with-reason-modal\"));"},{"lineNumber":471,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":472,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":473,"author":{"gitId":"domoberzin"},"content":" public void fillInRejectionModalTitle(String title) {"},{"lineNumber":474,"author":{"gitId":"domoberzin"},"content":" WebElement rejectionModal \u003d browser.driver.findElement(By.cssSelector(\"tm-reject-with-reason-modal\"));"},{"lineNumber":475,"author":{"gitId":"domoberzin"},"content":" WebElement titleInput \u003d rejectionModal.findElement(By.cssSelector(\"[id^\u003d\u0027rejection-reason-title\u0027]\"));"},{"lineNumber":476,"author":{"gitId":"domoberzin"},"content":" titleInput.clear();"},{"lineNumber":477,"author":{"gitId":"domoberzin"},"content":" titleInput.sendKeys(title);"},{"lineNumber":478,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":479,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":480,"author":{"gitId":"domoberzin"},"content":" public void fillInRejectionModalBody(String body) {"},{"lineNumber":481,"author":{"gitId":"domoberzin"},"content":" WebElement rejectionModal \u003d browser.driver.findElement(By.cssSelector(\"tm-reject-with-reason-modal\"));"},{"lineNumber":482,"author":{"gitId":"domoberzin"},"content":" WebElement bodyInput \u003d rejectionModal.findElement(By.cssSelector(\"tm-rich-text-editor\"));"},{"lineNumber":483,"author":{"gitId":"domoberzin"},"content":" clearRichTextEditor(bodyInput);"},{"lineNumber":484,"author":{"gitId":"domoberzin"},"content":" writeToRichTextEditor(bodyInput, body);"},{"lineNumber":485,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":486,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":487,"author":{"gitId":"domoberzin"},"content":" public void clickConfirmRejectAccountRequest() {"},{"lineNumber":488,"author":{"gitId":"domoberzin"},"content":" WebElement rejectionModal \u003d browser.driver.findElement(By.cssSelector(\"tm-reject-with-reason-modal\"));"},{"lineNumber":489,"author":{"gitId":"domoberzin"},"content":" WebElement clickReject \u003d rejectionModal.findElement(By.cssSelector(\"[id^\u003d\u0027btn-confirm-reject-request\u0027]\"));"},{"lineNumber":490,"author":{"gitId":"domoberzin"},"content":" clickReject.click();"},{"lineNumber":491,"author":{"gitId":"domoberzin"},"content":" waitForPageToLoad();"},{"lineNumber":492,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":493,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":494,"author":{"gitId":"domoberzin"},"content":" public void closeRejectionModal() {"},{"lineNumber":495,"author":{"gitId":"domoberzin"},"content":" WebElement rejectionModal \u003d browser.driver.findElement(By.cssSelector(\"tm-reject-with-reason-modal\"));"},{"lineNumber":496,"author":{"gitId":"domoberzin"},"content":" WebElement clickCancel \u003d rejectionModal.findElement(By.cssSelector(\"[id^\u003d\u0027btn-cancel-reject-request\u0027]\"));"},{"lineNumber":497,"author":{"gitId":"domoberzin"},"content":" clickCancel.click();"},{"lineNumber":498,"author":{"gitId":"domoberzin"},"content":" waitForPageToLoad();"},{"lineNumber":499,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":500,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":501,"author":{"gitId":"domoberzin"},"content":" public void clickEditAccountRequestButton(AccountRequest accountRequest) {"},{"lineNumber":502,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":503,"author":{"gitId":"domoberzin"},"content":" WebElement editButton \u003d accountRequestRow.findElement(By.cssSelector(\"[id^\u003d\u0027edit-account-request-\u0027]\"));"},{"lineNumber":504,"author":{"gitId":"domoberzin"},"content":" editButton.click();"},{"lineNumber":505,"author":{"gitId":"domoberzin"},"content":" waitForElementPresence(By.cssSelector(\"tm-edit-request-modal\"));"},{"lineNumber":506,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":507,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":508,"author":{"gitId":"domoberzin"},"content":" public void fillInEditModalFields(String name, String email, String institute, String comments) {"},{"lineNumber":509,"author":{"gitId":"domoberzin"},"content":" waitForElementPresence(By.cssSelector(\"tm-edit-request-modal\"));"},{"lineNumber":510,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":511,"author":{"gitId":"domoberzin"},"content":" WebElement editModal \u003d browser.driver.findElement(By.cssSelector(\"tm-edit-request-modal\"));"},{"lineNumber":512,"author":{"gitId":"domoberzin"},"content":" WebElement nameInput \u003d editModal.findElement(By.cssSelector(\"[id^\u003d\u0027request-name\u0027]\"));"},{"lineNumber":513,"author":{"gitId":"domoberzin"},"content":" nameInput.clear();"},{"lineNumber":514,"author":{"gitId":"domoberzin"},"content":" nameInput.sendKeys(name);"},{"lineNumber":515,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":516,"author":{"gitId":"domoberzin"},"content":" WebElement emailInput \u003d editModal.findElement(By.cssSelector(\"[id^\u003d\u0027request-email\u0027]\"));"},{"lineNumber":517,"author":{"gitId":"domoberzin"},"content":" emailInput.clear();"},{"lineNumber":518,"author":{"gitId":"domoberzin"},"content":" emailInput.sendKeys(email);"},{"lineNumber":519,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":520,"author":{"gitId":"domoberzin"},"content":" WebElement instituteInput \u003d editModal.findElement(By.cssSelector(\"[id^\u003d\u0027request-institution\u0027]\"));"},{"lineNumber":521,"author":{"gitId":"domoberzin"},"content":" instituteInput.clear();"},{"lineNumber":522,"author":{"gitId":"domoberzin"},"content":" instituteInput.sendKeys(institute);"},{"lineNumber":523,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":524,"author":{"gitId":"domoberzin"},"content":" WebElement commentsInput \u003d editModal.findElement(By.cssSelector(\"[id^\u003d\u0027request-comments\u0027]\"));"},{"lineNumber":525,"author":{"gitId":"domoberzin"},"content":" commentsInput.clear();"},{"lineNumber":526,"author":{"gitId":"domoberzin"},"content":" commentsInput.sendKeys(comments);"},{"lineNumber":527,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":528,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":529,"author":{"gitId":"domoberzin"},"content":" public void clickSaveEditAccountRequestButton() {"},{"lineNumber":530,"author":{"gitId":"domoberzin"},"content":" WebElement editModal \u003d browser.driver.findElement(By.cssSelector(\"tm-edit-request-modal\"));"},{"lineNumber":531,"author":{"gitId":"domoberzin"},"content":" WebElement saveButton \u003d editModal.findElement(By.cssSelector(\"[id^\u003d\u0027btn-confirm-edit-request\u0027]\"));"},{"lineNumber":532,"author":{"gitId":"domoberzin"},"content":" saveButton.click();"},{"lineNumber":533,"author":{"gitId":"domoberzin"},"content":" waitForPageToLoad();"},{"lineNumber":534,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":535,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":536,"author":{"gitId":"domoberzin"},"content":" public void clickViewAccountRequestAndVerifyCommentsButton(AccountRequest accountRequest, String comments) {"},{"lineNumber":537,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":538,"author":{"gitId":"domoberzin"},"content":" WebElement viewCommentsButton \u003d accountRequestRow.findElement(By.cssSelector(\"[id^\u003d\u0027view-account-request-\u0027]\"));"},{"lineNumber":539,"author":{"gitId":"domoberzin"},"content":" viewCommentsButton.click();"},{"lineNumber":540,"author":{"gitId":"domoberzin"},"content":" waitForElementVisibility(By.className(\"modal-btn-ok\"));"},{"lineNumber":541,"author":{"gitId":"domoberzin"},"content":" WebElement modal \u003d browser.driver.findElement(By.className(\"modal-body\"));"},{"lineNumber":542,"author":{"gitId":"domoberzin"},"content":" String actualComments \u003d modal.findElement(By.tagName(\"div\")).getText();"},{"lineNumber":543,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"Comment: \" + comments, actualComments);"},{"lineNumber":544,"author":{"gitId":"domoberzin"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":545,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":546,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":547,"author":{"gitId":"-"},"content":" public void clickResetAccountRequestButton(AccountRequestAttributes accountRequest) {"},{"lineNumber":548,"author":{"gitId":"-"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":549,"author":{"gitId":"-"},"content":" WebElement deleteButton \u003d accountRequestRow.findElement(By.cssSelector(\"[id^\u003d\u0027reset-account-request-\u0027]\"));"},{"lineNumber":550,"author":{"gitId":"-"},"content":" deleteButton.click();"},{"lineNumber":551,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":552,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":553,"author":{"gitId":"-"},"content":" }"},{"lineNumber":554,"author":{"gitId":"-"},"content":""},{"lineNumber":555,"author":{"gitId":"domoberzin"},"content":" public void clickResetAccountRequestButton(AccountRequest accountRequest) {"},{"lineNumber":556,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":557,"author":{"gitId":"domoberzin"},"content":" WebElement deleteButton \u003d accountRequestRow.findElement(By.cssSelector(\"[id^\u003d\u0027reset-account-request-\u0027]\"));"},{"lineNumber":558,"author":{"gitId":"domoberzin"},"content":" deleteButton.click();"},{"lineNumber":559,"author":{"gitId":"domoberzin"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":560,"author":{"gitId":"domoberzin"},"content":" waitForPageToLoad();"},{"lineNumber":561,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":562,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":563,"author":{"gitId":"-"},"content":" public int getNumExpandedRows(WebElement row) {"},{"lineNumber":564,"author":{"gitId":"-"},"content":" String xpath \u003d \"following-sibling::tr[1]/td/ul/li\";"},{"lineNumber":565,"author":{"gitId":"-"},"content":" return row.findElements(By.xpath(xpath)).size();"},{"lineNumber":566,"author":{"gitId":"-"},"content":" }"},{"lineNumber":567,"author":{"gitId":"-"},"content":""},{"lineNumber":568,"author":{"gitId":"-"},"content":" private String getColumnText(WebElement row, int columnNum) {"},{"lineNumber":569,"author":{"gitId":"-"},"content":" String xpath \u003d String.format(\"td[%d]\", columnNum);"},{"lineNumber":570,"author":{"gitId":"-"},"content":" return row.findElement(By.xpath(xpath)).getText();"},{"lineNumber":571,"author":{"gitId":"-"},"content":" }"},{"lineNumber":572,"author":{"gitId":"-"},"content":""},{"lineNumber":573,"author":{"gitId":"-"},"content":" private String getColumnLink(WebElement row, int columnNum) {"},{"lineNumber":574,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":575,"author":{"gitId":"-"},"content":" String xpath \u003d String.format(\"td[%d]/a\", columnNum);"},{"lineNumber":576,"author":{"gitId":"-"},"content":" return row.findElement(By.xpath(xpath)).getAttribute(\"href\");"},{"lineNumber":577,"author":{"gitId":"-"},"content":" } catch (NoSuchElementException e) {"},{"lineNumber":578,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":579,"author":{"gitId":"-"},"content":" }"},{"lineNumber":580,"author":{"gitId":"-"},"content":" }"},{"lineNumber":581,"author":{"gitId":"-"},"content":""},{"lineNumber":582,"author":{"gitId":"-"},"content":" private String getExpandedRowInputValue(WebElement row, String rowHeader) {"},{"lineNumber":583,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":584,"author":{"gitId":"-"},"content":" String xpath \u003d String.format(\"following-sibling::tr[1]/td/ul/li[contains(., \u0027%s\u0027)]/input\", rowHeader);"},{"lineNumber":585,"author":{"gitId":"-"},"content":" return row.findElement(By.xpath(xpath)).getAttribute(\"value\");"},{"lineNumber":586,"author":{"gitId":"-"},"content":" } catch (NoSuchElementException e) {"},{"lineNumber":587,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":588,"author":{"gitId":"-"},"content":" }"},{"lineNumber":589,"author":{"gitId":"-"},"content":" }"},{"lineNumber":590,"author":{"gitId":"-"},"content":""},{"lineNumber":591,"author":{"gitId":"-"},"content":" public void verifyStudentRowContent(Student student, Course course,"},{"lineNumber":592,"author":{"gitId":"-"},"content":" String expectedDetails, String expectedManageAccountLink,"},{"lineNumber":593,"author":{"gitId":"-"},"content":" String expectedHomePageLink) {"},{"lineNumber":594,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":595,"author":{"gitId":"-"},"content":" String actualDetails \u003d getStudentDetails(studentRow);"},{"lineNumber":596,"author":{"gitId":"-"},"content":" String actualName \u003d getStudentName(studentRow);"},{"lineNumber":597,"author":{"gitId":"-"},"content":" String actualGoogleId \u003d getStudentGoogleId(studentRow);"},{"lineNumber":598,"author":{"gitId":"-"},"content":" String actualHomepageLink \u003d getStudentHomeLink(studentRow);"},{"lineNumber":599,"author":{"gitId":"-"},"content":" String actualInstitute \u003d getStudentInstitute(studentRow);"},{"lineNumber":600,"author":{"gitId":"-"},"content":" String actualComment \u003d getStudentComments(studentRow);"},{"lineNumber":601,"author":{"gitId":"-"},"content":" String actualManageAccountLink \u003d getStudentManageAccountLink(studentRow);"},{"lineNumber":602,"author":{"gitId":"-"},"content":""},{"lineNumber":603,"author":{"gitId":"-"},"content":" String expectedName \u003d student.getName();"},{"lineNumber":604,"author":{"gitId":"-"},"content":" String expectedGoogleId \u003d StringHelper.convertToEmptyStringIfNull(student.getGoogleId());"},{"lineNumber":605,"author":{"gitId":"-"},"content":" String expectedInstitute \u003d StringHelper.convertToEmptyStringIfNull(course.getInstitute());"},{"lineNumber":606,"author":{"gitId":"-"},"content":" String expectedComment \u003d StringHelper.convertToEmptyStringIfNull(student.getComments());"},{"lineNumber":607,"author":{"gitId":"-"},"content":""},{"lineNumber":608,"author":{"gitId":"-"},"content":" assertEquals(expectedDetails, actualDetails);"},{"lineNumber":609,"author":{"gitId":"-"},"content":" assertEquals(expectedName, actualName);"},{"lineNumber":610,"author":{"gitId":"-"},"content":" assertEquals(expectedGoogleId, actualGoogleId);"},{"lineNumber":611,"author":{"gitId":"-"},"content":" assertEquals(expectedInstitute, actualInstitute);"},{"lineNumber":612,"author":{"gitId":"-"},"content":" assertEquals(expectedComment, actualComment);"},{"lineNumber":613,"author":{"gitId":"-"},"content":" assertEquals(expectedManageAccountLink, actualManageAccountLink);"},{"lineNumber":614,"author":{"gitId":"-"},"content":" assertEquals(expectedHomePageLink, actualHomepageLink);"},{"lineNumber":615,"author":{"gitId":"-"},"content":" }"},{"lineNumber":616,"author":{"gitId":"-"},"content":""},{"lineNumber":617,"author":{"gitId":"-"},"content":" public void verifyStudentRowContent(StudentAttributes student, CourseAttributes course,"},{"lineNumber":618,"author":{"gitId":"-"},"content":" String expectedDetails, String expectedManageAccountLink,"},{"lineNumber":619,"author":{"gitId":"-"},"content":" String expectedHomePageLink) {"},{"lineNumber":620,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":621,"author":{"gitId":"-"},"content":" String actualDetails \u003d getStudentDetails(studentRow);"},{"lineNumber":622,"author":{"gitId":"-"},"content":" String actualName \u003d getStudentName(studentRow);"},{"lineNumber":623,"author":{"gitId":"-"},"content":" String actualGoogleId \u003d getStudentGoogleId(studentRow);"},{"lineNumber":624,"author":{"gitId":"-"},"content":" String actualHomepageLink \u003d getStudentHomeLink(studentRow);"},{"lineNumber":625,"author":{"gitId":"-"},"content":" String actualInstitute \u003d getStudentInstitute(studentRow);"},{"lineNumber":626,"author":{"gitId":"-"},"content":" String actualComment \u003d getStudentComments(studentRow);"},{"lineNumber":627,"author":{"gitId":"-"},"content":" String actualManageAccountLink \u003d getStudentManageAccountLink(studentRow);"},{"lineNumber":628,"author":{"gitId":"-"},"content":""},{"lineNumber":629,"author":{"gitId":"-"},"content":" String expectedName \u003d student.getName();"},{"lineNumber":630,"author":{"gitId":"-"},"content":" String expectedGoogleId \u003d StringHelper.convertToEmptyStringIfNull(student.getGoogleId());"},{"lineNumber":631,"author":{"gitId":"-"},"content":" String expectedInstitute \u003d StringHelper.convertToEmptyStringIfNull(course.getInstitute());"},{"lineNumber":632,"author":{"gitId":"-"},"content":" String expectedComment \u003d StringHelper.convertToEmptyStringIfNull(student.getComments());"},{"lineNumber":633,"author":{"gitId":"-"},"content":""},{"lineNumber":634,"author":{"gitId":"-"},"content":" assertEquals(expectedDetails, actualDetails);"},{"lineNumber":635,"author":{"gitId":"-"},"content":" assertEquals(expectedName, actualName);"},{"lineNumber":636,"author":{"gitId":"-"},"content":" assertEquals(expectedGoogleId, actualGoogleId);"},{"lineNumber":637,"author":{"gitId":"-"},"content":" assertEquals(expectedInstitute, actualInstitute);"},{"lineNumber":638,"author":{"gitId":"-"},"content":" assertEquals(expectedComment, actualComment);"},{"lineNumber":639,"author":{"gitId":"-"},"content":" assertEquals(expectedManageAccountLink, actualManageAccountLink);"},{"lineNumber":640,"author":{"gitId":"-"},"content":" assertEquals(expectedHomePageLink, actualHomepageLink);"},{"lineNumber":641,"author":{"gitId":"-"},"content":" }"},{"lineNumber":642,"author":{"gitId":"-"},"content":""},{"lineNumber":643,"author":{"gitId":"-"},"content":" public void verifyStudentRowContentAfterReset(Student student, Course course) {"},{"lineNumber":644,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":645,"author":{"gitId":"-"},"content":" String actualName \u003d getStudentName(studentRow);"},{"lineNumber":646,"author":{"gitId":"-"},"content":" String actualInstitute \u003d getStudentInstitute(studentRow);"},{"lineNumber":647,"author":{"gitId":"-"},"content":" String actualComment \u003d getStudentComments(studentRow);"},{"lineNumber":648,"author":{"gitId":"-"},"content":""},{"lineNumber":649,"author":{"gitId":"-"},"content":" String expectedName \u003d student.getName();"},{"lineNumber":650,"author":{"gitId":"-"},"content":" String expectedInstitute \u003d StringHelper.convertToEmptyStringIfNull(course.getInstitute());"},{"lineNumber":651,"author":{"gitId":"-"},"content":" String expectedComment \u003d StringHelper.convertToEmptyStringIfNull(student.getComments());"},{"lineNumber":652,"author":{"gitId":"-"},"content":""},{"lineNumber":653,"author":{"gitId":"-"},"content":" assertEquals(expectedName, actualName);"},{"lineNumber":654,"author":{"gitId":"-"},"content":" assertEquals(expectedInstitute, actualInstitute);"},{"lineNumber":655,"author":{"gitId":"-"},"content":" assertEquals(expectedComment, actualComment);"},{"lineNumber":656,"author":{"gitId":"-"},"content":" }"},{"lineNumber":657,"author":{"gitId":"-"},"content":""},{"lineNumber":658,"author":{"gitId":"-"},"content":" public void verifyStudentExpandedLinks(Student student, int expectedNumExpandedRows) {"},{"lineNumber":659,"author":{"gitId":"-"},"content":" clickExpandStudentLinks();"},{"lineNumber":660,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":661,"author":{"gitId":"-"},"content":" String actualEmail \u003d getStudentEmail(studentRow);"},{"lineNumber":662,"author":{"gitId":"-"},"content":" String actualJoinLink \u003d getStudentJoinLink(studentRow);"},{"lineNumber":663,"author":{"gitId":"-"},"content":" int actualNumExpandedRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":664,"author":{"gitId":"-"},"content":""},{"lineNumber":665,"author":{"gitId":"-"},"content":" String expectedEmail \u003d student.getEmail();"},{"lineNumber":666,"author":{"gitId":"-"},"content":""},{"lineNumber":667,"author":{"gitId":"-"},"content":" assertEquals(expectedEmail, actualEmail);"},{"lineNumber":668,"author":{"gitId":"-"},"content":" assertNotEquals(\"\", actualJoinLink);"},{"lineNumber":669,"author":{"gitId":"-"},"content":" assertEquals(expectedNumExpandedRows, actualNumExpandedRows);"},{"lineNumber":670,"author":{"gitId":"-"},"content":" }"},{"lineNumber":671,"author":{"gitId":"-"},"content":""},{"lineNumber":672,"author":{"gitId":"-"},"content":" public void verifyStudentExpandedLinks(StudentAttributes student, int expectedNumExpandedRows) {"},{"lineNumber":673,"author":{"gitId":"-"},"content":" clickExpandStudentLinks();"},{"lineNumber":674,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":675,"author":{"gitId":"-"},"content":" String actualEmail \u003d getStudentEmail(studentRow);"},{"lineNumber":676,"author":{"gitId":"-"},"content":" String actualJoinLink \u003d getStudentJoinLink(studentRow);"},{"lineNumber":677,"author":{"gitId":"-"},"content":" int actualNumExpandedRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":678,"author":{"gitId":"-"},"content":""},{"lineNumber":679,"author":{"gitId":"-"},"content":" String expectedEmail \u003d student.getEmail();"},{"lineNumber":680,"author":{"gitId":"-"},"content":""},{"lineNumber":681,"author":{"gitId":"-"},"content":" assertEquals(expectedEmail, actualEmail);"},{"lineNumber":682,"author":{"gitId":"-"},"content":" assertNotEquals(\"\", actualJoinLink);"},{"lineNumber":683,"author":{"gitId":"-"},"content":" assertEquals(expectedNumExpandedRows, actualNumExpandedRows);"},{"lineNumber":684,"author":{"gitId":"-"},"content":" }"},{"lineNumber":685,"author":{"gitId":"-"},"content":""},{"lineNumber":686,"author":{"gitId":"-"},"content":" public void verifyInstructorRowContent(Instructor instructor, Course course,"},{"lineNumber":687,"author":{"gitId":"-"},"content":" String expectedManageAccountLink, String expectedHomePageLink) {"},{"lineNumber":688,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":689,"author":{"gitId":"-"},"content":" String actualCourseId \u003d getInstructorCourseId(instructorRow);"},{"lineNumber":690,"author":{"gitId":"-"},"content":" String actualName \u003d getInstructorName(instructorRow);"},{"lineNumber":691,"author":{"gitId":"-"},"content":" String actualGoogleId \u003d getInstructorGoogleId(instructorRow);"},{"lineNumber":692,"author":{"gitId":"-"},"content":" String actualHomePageLink \u003d getInstructorHomePageLink(instructorRow);"},{"lineNumber":693,"author":{"gitId":"-"},"content":" String actualInstitute \u003d getInstructorInstitute(instructorRow);"},{"lineNumber":694,"author":{"gitId":"-"},"content":" String actualManageAccountLink \u003d getInstructorManageAccountLink(instructorRow);"},{"lineNumber":695,"author":{"gitId":"-"},"content":""},{"lineNumber":696,"author":{"gitId":"-"},"content":" String expectedCourseId \u003d instructor.getCourseId();"},{"lineNumber":697,"author":{"gitId":"-"},"content":" String expectedName \u003d instructor.getName();"},{"lineNumber":698,"author":{"gitId":"-"},"content":" String expectedGoogleId \u003d StringHelper.convertToEmptyStringIfNull(instructor.getGoogleId());"},{"lineNumber":699,"author":{"gitId":"-"},"content":" String expectedInstitute \u003d StringHelper.convertToEmptyStringIfNull(course.getInstitute());"},{"lineNumber":700,"author":{"gitId":"-"},"content":""},{"lineNumber":701,"author":{"gitId":"-"},"content":" assertEquals(expectedCourseId, actualCourseId);"},{"lineNumber":702,"author":{"gitId":"-"},"content":" assertEquals(expectedName, actualName);"},{"lineNumber":703,"author":{"gitId":"-"},"content":" assertEquals(expectedGoogleId, actualGoogleId);"},{"lineNumber":704,"author":{"gitId":"-"},"content":" assertEquals(expectedHomePageLink, actualHomePageLink);"},{"lineNumber":705,"author":{"gitId":"-"},"content":" assertEquals(expectedInstitute, actualInstitute);"},{"lineNumber":706,"author":{"gitId":"-"},"content":" assertEquals(expectedManageAccountLink, actualManageAccountLink);"},{"lineNumber":707,"author":{"gitId":"-"},"content":" }"},{"lineNumber":708,"author":{"gitId":"-"},"content":""},{"lineNumber":709,"author":{"gitId":"-"},"content":" public void verifyInstructorRowContent(InstructorAttributes instructor, CourseAttributes course,"},{"lineNumber":710,"author":{"gitId":"-"},"content":" String expectedManageAccountLink, String expectedHomePageLink) {"},{"lineNumber":711,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":712,"author":{"gitId":"-"},"content":" String actualCourseId \u003d getInstructorCourseId(instructorRow);"},{"lineNumber":713,"author":{"gitId":"-"},"content":" String actualName \u003d getInstructorName(instructorRow);"},{"lineNumber":714,"author":{"gitId":"-"},"content":" String actualGoogleId \u003d getInstructorGoogleId(instructorRow);"},{"lineNumber":715,"author":{"gitId":"-"},"content":" String actualHomePageLink \u003d getInstructorHomePageLink(instructorRow);"},{"lineNumber":716,"author":{"gitId":"-"},"content":" String actualInstitute \u003d getInstructorInstitute(instructorRow);"},{"lineNumber":717,"author":{"gitId":"-"},"content":" String actualManageAccountLink \u003d getInstructorManageAccountLink(instructorRow);"},{"lineNumber":718,"author":{"gitId":"-"},"content":""},{"lineNumber":719,"author":{"gitId":"-"},"content":" String expectedCourseId \u003d instructor.getCourseId();"},{"lineNumber":720,"author":{"gitId":"-"},"content":" String expectedName \u003d instructor.getName();"},{"lineNumber":721,"author":{"gitId":"-"},"content":" String expectedGoogleId \u003d StringHelper.convertToEmptyStringIfNull(instructor.getGoogleId());"},{"lineNumber":722,"author":{"gitId":"-"},"content":" String expectedInstitute \u003d StringHelper.convertToEmptyStringIfNull(course.getInstitute());"},{"lineNumber":723,"author":{"gitId":"-"},"content":""},{"lineNumber":724,"author":{"gitId":"-"},"content":" assertEquals(expectedCourseId, actualCourseId);"},{"lineNumber":725,"author":{"gitId":"-"},"content":" assertEquals(expectedName, actualName);"},{"lineNumber":726,"author":{"gitId":"-"},"content":" assertEquals(expectedGoogleId, actualGoogleId);"},{"lineNumber":727,"author":{"gitId":"-"},"content":" assertEquals(expectedHomePageLink, actualHomePageLink);"},{"lineNumber":728,"author":{"gitId":"-"},"content":" assertEquals(expectedInstitute, actualInstitute);"},{"lineNumber":729,"author":{"gitId":"-"},"content":" assertEquals(expectedManageAccountLink, actualManageAccountLink);"},{"lineNumber":730,"author":{"gitId":"-"},"content":" }"},{"lineNumber":731,"author":{"gitId":"-"},"content":""},{"lineNumber":732,"author":{"gitId":"-"},"content":" public void verifyInstructorRowContentAfterReset(Instructor instructor, Course course) {"},{"lineNumber":733,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":734,"author":{"gitId":"-"},"content":" String actualCourseId \u003d getInstructorCourseId(instructorRow);"},{"lineNumber":735,"author":{"gitId":"-"},"content":" String actualName \u003d getInstructorName(instructorRow);"},{"lineNumber":736,"author":{"gitId":"-"},"content":" String actualInstitute \u003d getInstructorInstitute(instructorRow);"},{"lineNumber":737,"author":{"gitId":"-"},"content":""},{"lineNumber":738,"author":{"gitId":"-"},"content":" String expectedCourseId \u003d instructor.getCourseId();"},{"lineNumber":739,"author":{"gitId":"-"},"content":" String expectedName \u003d instructor.getName();"},{"lineNumber":740,"author":{"gitId":"-"},"content":" String expectedInstitute \u003d StringHelper.convertToEmptyStringIfNull(course.getInstitute());"},{"lineNumber":741,"author":{"gitId":"-"},"content":""},{"lineNumber":742,"author":{"gitId":"-"},"content":" assertEquals(expectedCourseId, actualCourseId);"},{"lineNumber":743,"author":{"gitId":"-"},"content":" assertEquals(expectedName, actualName);"},{"lineNumber":744,"author":{"gitId":"-"},"content":" assertEquals(expectedInstitute, actualInstitute);"},{"lineNumber":745,"author":{"gitId":"-"},"content":" }"},{"lineNumber":746,"author":{"gitId":"-"},"content":""},{"lineNumber":747,"author":{"gitId":"-"},"content":" public void verifyInstructorExpandedLinks(Instructor instructor) {"},{"lineNumber":748,"author":{"gitId":"-"},"content":" clickExpandInstructorLinks();"},{"lineNumber":749,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":750,"author":{"gitId":"-"},"content":" String actualEmail \u003d getInstructorEmail(instructorRow);"},{"lineNumber":751,"author":{"gitId":"-"},"content":" String actualJoinLink \u003d getInstructorJoinLink(instructorRow);"},{"lineNumber":752,"author":{"gitId":"-"},"content":""},{"lineNumber":753,"author":{"gitId":"-"},"content":" String expectedEmail \u003d instructor.getEmail();"},{"lineNumber":754,"author":{"gitId":"-"},"content":""},{"lineNumber":755,"author":{"gitId":"-"},"content":" assertEquals(expectedEmail, actualEmail);"},{"lineNumber":756,"author":{"gitId":"-"},"content":" assertNotEquals(\"\", actualJoinLink);"},{"lineNumber":757,"author":{"gitId":"-"},"content":" }"},{"lineNumber":758,"author":{"gitId":"-"},"content":""},{"lineNumber":759,"author":{"gitId":"-"},"content":" public void verifyInstructorExpandedLinks(InstructorAttributes instructor) {"},{"lineNumber":760,"author":{"gitId":"-"},"content":" clickExpandInstructorLinks();"},{"lineNumber":761,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":762,"author":{"gitId":"-"},"content":" String actualEmail \u003d getInstructorEmail(instructorRow);"},{"lineNumber":763,"author":{"gitId":"-"},"content":" String actualJoinLink \u003d getInstructorJoinLink(instructorRow);"},{"lineNumber":764,"author":{"gitId":"-"},"content":""},{"lineNumber":765,"author":{"gitId":"-"},"content":" String expectedEmail \u003d instructor.getEmail();"},{"lineNumber":766,"author":{"gitId":"-"},"content":""},{"lineNumber":767,"author":{"gitId":"-"},"content":" assertEquals(expectedEmail, actualEmail);"},{"lineNumber":768,"author":{"gitId":"-"},"content":" assertNotEquals(\"\", actualJoinLink);"},{"lineNumber":769,"author":{"gitId":"-"},"content":" }"},{"lineNumber":770,"author":{"gitId":"-"},"content":""},{"lineNumber":771,"author":{"gitId":"-"},"content":" public void verifyAccountRequestRowContent(AccountRequestAttributes accountRequest) {"},{"lineNumber":772,"author":{"gitId":"-"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":773,"author":{"gitId":"-"},"content":" String actualName \u003d getAccountRequestName(accountRequestRow);"},{"lineNumber":774,"author":{"gitId":"-"},"content":" String actualEmail \u003d getAccountRequestEmail(accountRequestRow);"},{"lineNumber":775,"author":{"gitId":"-"},"content":" String actualInstitute \u003d getAccountRequestInstitute(accountRequestRow);"},{"lineNumber":776,"author":{"gitId":"-"},"content":" String actualCreatedAt \u003d getAccountRequestCreatedAt(accountRequestRow);"},{"lineNumber":777,"author":{"gitId":"-"},"content":" String actualRegisteredAt \u003d getAccountRequestRegisteredAt(accountRequestRow);"},{"lineNumber":778,"author":{"gitId":"-"},"content":""},{"lineNumber":779,"author":{"gitId":"-"},"content":" assertEquals(accountRequest.getName(), actualName);"},{"lineNumber":780,"author":{"gitId":"-"},"content":" assertEquals(accountRequest.getEmail(), actualEmail);"},{"lineNumber":781,"author":{"gitId":"-"},"content":" assertEquals(accountRequest.getInstitute(), actualInstitute);"},{"lineNumber":782,"author":{"gitId":"-"},"content":" assertFalse(actualCreatedAt.isBlank());"},{"lineNumber":783,"author":{"gitId":"-"},"content":" if (accountRequest.getRegisteredAt() \u003d\u003d null) {"},{"lineNumber":784,"author":{"gitId":"-"},"content":" assertEquals(\"Not Registered Yet\", actualRegisteredAt);"},{"lineNumber":785,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":786,"author":{"gitId":"-"},"content":" assertFalse(actualRegisteredAt.isBlank());"},{"lineNumber":787,"author":{"gitId":"-"},"content":" }"},{"lineNumber":788,"author":{"gitId":"-"},"content":" }"},{"lineNumber":789,"author":{"gitId":"-"},"content":""},{"lineNumber":790,"author":{"gitId":"domoberzin"},"content":" public void verifyAccountRequestRowContent(AccountRequest accountRequest) {"},{"lineNumber":791,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":792,"author":{"gitId":"domoberzin"},"content":" String actualName \u003d getAccountRequestName(accountRequestRow);"},{"lineNumber":793,"author":{"gitId":"domoberzin"},"content":" String actualEmail \u003d getAccountRequestEmail(accountRequestRow);"},{"lineNumber":794,"author":{"gitId":"domoberzin"},"content":" String actualInstitute \u003d getAccountRequestInstitute(accountRequestRow);"},{"lineNumber":795,"author":{"gitId":"domoberzin"},"content":" String actualCreatedAt \u003d getAccountRequestCreatedAt(accountRequestRow);"},{"lineNumber":796,"author":{"gitId":"domoberzin"},"content":" String actualRegisteredAt \u003d getAccountRequestRegisteredAt(accountRequestRow);"},{"lineNumber":797,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":798,"author":{"gitId":"domoberzin"},"content":" assertEquals(accountRequest.getName(), actualName);"},{"lineNumber":799,"author":{"gitId":"domoberzin"},"content":" assertEquals(accountRequest.getEmail(), actualEmail);"},{"lineNumber":800,"author":{"gitId":"domoberzin"},"content":" assertEquals(accountRequest.getInstitute(), actualInstitute);"},{"lineNumber":801,"author":{"gitId":"domoberzin"},"content":" assertFalse(actualCreatedAt.isBlank());"},{"lineNumber":802,"author":{"gitId":"domoberzin"},"content":" if (accountRequest.getRegisteredAt() \u003d\u003d null) {"},{"lineNumber":803,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"Not Registered Yet\", actualRegisteredAt);"},{"lineNumber":804,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":805,"author":{"gitId":"domoberzin"},"content":" assertFalse(actualRegisteredAt.isBlank());"},{"lineNumber":806,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":807,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":808,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":809,"author":{"gitId":"-"},"content":" public void verifyAccountRequestExpandedLinks(AccountRequestAttributes accountRequest) {"},{"lineNumber":810,"author":{"gitId":"-"},"content":" clickExpandAccountRequestLinks();"},{"lineNumber":811,"author":{"gitId":"-"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":812,"author":{"gitId":"-"},"content":" String actualRegistrationLink \u003d getAccountRequestRegistrationLink(accountRequestRow);"},{"lineNumber":813,"author":{"gitId":"-"},"content":""},{"lineNumber":814,"author":{"gitId":"-"},"content":" assertFalse(actualRegistrationLink.isBlank());"},{"lineNumber":815,"author":{"gitId":"-"},"content":" }"},{"lineNumber":816,"author":{"gitId":"-"},"content":""},{"lineNumber":817,"author":{"gitId":"domoberzin"},"content":" public void verifyAccountRequestExpandedLinks(AccountRequest accountRequest) {"},{"lineNumber":818,"author":{"gitId":"domoberzin"},"content":" clickExpandAccountRequestLinks();"},{"lineNumber":819,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":820,"author":{"gitId":"domoberzin"},"content":" String actualRegistrationLink \u003d getAccountRequestRegistrationLink(accountRequestRow);"},{"lineNumber":821,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":822,"author":{"gitId":"domoberzin"},"content":" assertFalse(actualRegistrationLink.isBlank());"},{"lineNumber":823,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":824,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":825,"author":{"gitId":"-"},"content":" public void verifyLinkExpansionButtons(Student student,"},{"lineNumber":826,"author":{"gitId":"-"},"content":" Instructor instructor, AccountRequest accountRequest) {"},{"lineNumber":827,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":828,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":829,"author":{"gitId":"-"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":830,"author":{"gitId":"-"},"content":""},{"lineNumber":831,"author":{"gitId":"-"},"content":" clickExpandStudentLinks();"},{"lineNumber":832,"author":{"gitId":"-"},"content":" clickExpandInstructorLinks();"},{"lineNumber":833,"author":{"gitId":"-"},"content":" clickExpandAccountRequestLinks();"},{"lineNumber":834,"author":{"gitId":"-"},"content":" int numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":835,"author":{"gitId":"-"},"content":" int numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":836,"author":{"gitId":"-"},"content":" int numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":837,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedStudentRows, 0);"},{"lineNumber":838,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedInstructorRows, 0);"},{"lineNumber":839,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":840,"author":{"gitId":"-"},"content":""},{"lineNumber":841,"author":{"gitId":"-"},"content":" clickCollapseInstructorLinks();"},{"lineNumber":842,"author":{"gitId":"-"},"content":" numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":843,"author":{"gitId":"-"},"content":" numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":844,"author":{"gitId":"-"},"content":" numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":845,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedStudentRows, 0);"},{"lineNumber":846,"author":{"gitId":"-"},"content":" assertEquals(numExpandedInstructorRows, 0);"},{"lineNumber":847,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":848,"author":{"gitId":"-"},"content":""},{"lineNumber":849,"author":{"gitId":"-"},"content":" clickExpandInstructorLinks();"},{"lineNumber":850,"author":{"gitId":"-"},"content":" clickCollapseStudentLinks();"},{"lineNumber":851,"author":{"gitId":"-"},"content":" clickCollapseAccountRequestLinks();"},{"lineNumber":852,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish();"},{"lineNumber":853,"author":{"gitId":"-"},"content":""},{"lineNumber":854,"author":{"gitId":"-"},"content":" numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":855,"author":{"gitId":"-"},"content":" numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":856,"author":{"gitId":"-"},"content":" numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":857,"author":{"gitId":"-"},"content":" assertEquals(numExpandedStudentRows, 0);"},{"lineNumber":858,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedInstructorRows, 0);"},{"lineNumber":859,"author":{"gitId":"-"},"content":" assertEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":860,"author":{"gitId":"-"},"content":" }"},{"lineNumber":861,"author":{"gitId":"-"},"content":""},{"lineNumber":862,"author":{"gitId":"-"},"content":" public void verifyLinkExpansionButtons(StudentAttributes student,"},{"lineNumber":863,"author":{"gitId":"-"},"content":" InstructorAttributes instructor, AccountRequestAttributes accountRequest) {"},{"lineNumber":864,"author":{"gitId":"-"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":865,"author":{"gitId":"-"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":866,"author":{"gitId":"-"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":867,"author":{"gitId":"-"},"content":""},{"lineNumber":868,"author":{"gitId":"-"},"content":" clickExpandStudentLinks();"},{"lineNumber":869,"author":{"gitId":"-"},"content":" clickExpandInstructorLinks();"},{"lineNumber":870,"author":{"gitId":"-"},"content":" clickExpandAccountRequestLinks();"},{"lineNumber":871,"author":{"gitId":"-"},"content":" int numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":872,"author":{"gitId":"-"},"content":" int numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":873,"author":{"gitId":"-"},"content":" int numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":874,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedStudentRows, 0);"},{"lineNumber":875,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedInstructorRows, 0);"},{"lineNumber":876,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":877,"author":{"gitId":"-"},"content":""},{"lineNumber":878,"author":{"gitId":"-"},"content":" clickCollapseInstructorLinks();"},{"lineNumber":879,"author":{"gitId":"-"},"content":" numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":880,"author":{"gitId":"-"},"content":" numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":881,"author":{"gitId":"-"},"content":" numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":882,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedStudentRows, 0);"},{"lineNumber":883,"author":{"gitId":"-"},"content":" assertEquals(numExpandedInstructorRows, 0);"},{"lineNumber":884,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":885,"author":{"gitId":"-"},"content":""},{"lineNumber":886,"author":{"gitId":"-"},"content":" clickExpandInstructorLinks();"},{"lineNumber":887,"author":{"gitId":"-"},"content":" clickCollapseStudentLinks();"},{"lineNumber":888,"author":{"gitId":"-"},"content":" clickCollapseAccountRequestLinks();"},{"lineNumber":889,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish();"},{"lineNumber":890,"author":{"gitId":"-"},"content":""},{"lineNumber":891,"author":{"gitId":"-"},"content":" numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":892,"author":{"gitId":"-"},"content":" numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":893,"author":{"gitId":"-"},"content":" numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":894,"author":{"gitId":"-"},"content":" assertEquals(numExpandedStudentRows, 0);"},{"lineNumber":895,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedInstructorRows, 0);"},{"lineNumber":896,"author":{"gitId":"-"},"content":" assertEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":897,"author":{"gitId":"-"},"content":" }"},{"lineNumber":898,"author":{"gitId":"-"},"content":""},{"lineNumber":899,"author":{"gitId":"domoberzin"},"content":" public void verifyLinkExpansionButtons(StudentAttributes student,"},{"lineNumber":900,"author":{"gitId":"domoberzin"},"content":" InstructorAttributes instructor, AccountRequest accountRequest) {"},{"lineNumber":901,"author":{"gitId":"domoberzin"},"content":" WebElement studentRow \u003d getStudentRow(student);"},{"lineNumber":902,"author":{"gitId":"domoberzin"},"content":" WebElement instructorRow \u003d getInstructorRow(instructor);"},{"lineNumber":903,"author":{"gitId":"domoberzin"},"content":" WebElement accountRequestRow \u003d getAccountRequestRow(accountRequest);"},{"lineNumber":904,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":905,"author":{"gitId":"domoberzin"},"content":" clickExpandStudentLinks();"},{"lineNumber":906,"author":{"gitId":"domoberzin"},"content":" clickExpandInstructorLinks();"},{"lineNumber":907,"author":{"gitId":"domoberzin"},"content":" clickExpandAccountRequestLinks();"},{"lineNumber":908,"author":{"gitId":"domoberzin"},"content":" int numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":909,"author":{"gitId":"domoberzin"},"content":" int numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":910,"author":{"gitId":"-"},"content":" int numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":911,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedStudentRows, 0);"},{"lineNumber":912,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedInstructorRows, 0);"},{"lineNumber":913,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":914,"author":{"gitId":"-"},"content":""},{"lineNumber":915,"author":{"gitId":"-"},"content":" clickCollapseInstructorLinks();"},{"lineNumber":916,"author":{"gitId":"-"},"content":" numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":917,"author":{"gitId":"-"},"content":" numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":918,"author":{"gitId":"-"},"content":" numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":919,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedStudentRows, 0);"},{"lineNumber":920,"author":{"gitId":"-"},"content":" assertEquals(numExpandedInstructorRows, 0);"},{"lineNumber":921,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":922,"author":{"gitId":"-"},"content":""},{"lineNumber":923,"author":{"gitId":"-"},"content":" clickExpandInstructorLinks();"},{"lineNumber":924,"author":{"gitId":"-"},"content":" clickCollapseStudentLinks();"},{"lineNumber":925,"author":{"gitId":"-"},"content":" clickCollapseAccountRequestLinks();"},{"lineNumber":926,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish();"},{"lineNumber":927,"author":{"gitId":"-"},"content":""},{"lineNumber":928,"author":{"gitId":"-"},"content":" numExpandedStudentRows \u003d getNumExpandedRows(studentRow);"},{"lineNumber":929,"author":{"gitId":"-"},"content":" numExpandedInstructorRows \u003d getNumExpandedRows(instructorRow);"},{"lineNumber":930,"author":{"gitId":"-"},"content":" numExpandedAccountRequestRows \u003d getNumExpandedRows(accountRequestRow);"},{"lineNumber":931,"author":{"gitId":"-"},"content":" assertEquals(numExpandedStudentRows, 0);"},{"lineNumber":932,"author":{"gitId":"-"},"content":" assertNotEquals(numExpandedInstructorRows, 0);"},{"lineNumber":933,"author":{"gitId":"-"},"content":" assertEquals(numExpandedAccountRequestRows, 0);"},{"lineNumber":934,"author":{"gitId":"-"},"content":" }"},{"lineNumber":935,"author":{"gitId":"-"},"content":""},{"lineNumber":936,"author":{"gitId":"-"},"content":" public void verifyRegenerateInstructorKey(Instructor instructor, String originalJoinLink) {"},{"lineNumber":937,"author":{"gitId":"-"},"content":" verifyStatusMessage(\"Instructor\u0027s key for this course has been successfully regenerated,\""},{"lineNumber":938,"author":{"gitId":"-"},"content":" + \" and the email has been sent.\");"},{"lineNumber":939,"author":{"gitId":"-"},"content":""},{"lineNumber":940,"author":{"gitId":"-"},"content":" String regeneratedJoinLink \u003d getInstructorJoinLink(instructor);"},{"lineNumber":941,"author":{"gitId":"-"},"content":" assertNotEquals(regeneratedJoinLink, originalJoinLink);"},{"lineNumber":942,"author":{"gitId":"-"},"content":" }"},{"lineNumber":943,"author":{"gitId":"-"},"content":""},{"lineNumber":944,"author":{"gitId":"-"},"content":" public void verifyRegenerateInstructorKey(InstructorAttributes instructor, String originalJoinLink) {"},{"lineNumber":945,"author":{"gitId":"-"},"content":" verifyStatusMessage(\"Instructor\u0027s key for this course has been successfully regenerated,\""},{"lineNumber":946,"author":{"gitId":"-"},"content":" + \" and the email has been sent.\");"},{"lineNumber":947,"author":{"gitId":"-"},"content":""},{"lineNumber":948,"author":{"gitId":"-"},"content":" String regeneratedJoinLink \u003d getInstructorJoinLink(instructor);"},{"lineNumber":949,"author":{"gitId":"-"},"content":" assertNotEquals(regeneratedJoinLink, originalJoinLink);"},{"lineNumber":950,"author":{"gitId":"-"},"content":" }"},{"lineNumber":951,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":168,"-":783}},{"path":"src/e2e/java/teammates/e2e/pageobjects/AppPage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.pageobjects;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static com.google.common.base.Preconditions.checkNotNull;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertNotEquals;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertNotNull;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertTrue;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.io.File;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.lang.reflect.Constructor;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.lang.reflect.InvocationTargetException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.time.Duration;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":19,"author":{"gitId":"yuanxi1"},"content":"import java.util.Locale;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"import org.openqa.selenium.By;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import org.openqa.selenium.InvalidElementStateException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import org.openqa.selenium.JavascriptExecutor;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import org.openqa.selenium.Keys;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import org.openqa.selenium.NoSuchElementException;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebDriverException;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebElement;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import org.openqa.selenium.remote.RemoteWebElement;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import org.openqa.selenium.remote.UselessFileDetector;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.PageFactory;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.ui.ExpectedCondition;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.ui.ExpectedConditions;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.ui.Select;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.ui.WebDriverWait;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.e2e.util.MaximumRetriesExceededException;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"import teammates.e2e.util.RetryManager;"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import teammates.e2e.util.Retryable;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import teammates.e2e.util.TestProperties;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import teammates.test.FileHelper;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"import teammates.test.ThreadHelper;"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * An abstract class that represents a browser-loaded page of the app and"},{"lineNumber":49,"author":{"gitId":"-"},"content":" * provides ways to interact with it. Also contains methods to validate some"},{"lineNumber":50,"author":{"gitId":"-"},"content":" * aspects of the page, e.g. HTML page source."},{"lineNumber":51,"author":{"gitId":"-"},"content":" *"},{"lineNumber":52,"author":{"gitId":"-"},"content":" * \u003cp\u003eNote: We are using the Page Object pattern here."},{"lineNumber":53,"author":{"gitId":"-"},"content":" *"},{"lineNumber":54,"author":{"gitId":"-"},"content":" * @see \u003ca href\u003d\"https://martinfowler.com/bliki/PageObject.html\"\u003ehttps://martinfowler.com/bliki/PageObject.html\u003c/a\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" */"},{"lineNumber":56,"author":{"gitId":"-"},"content":"public abstract class AppPage {"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final String CLEAR_ELEMENT_SCRIPT;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final String SCROLL_ELEMENT_TO_CENTER_AND_CLICK_SCRIPT;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" private static final String READ_TINYMCE_CONTENT_SCRIPT;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" private static final String WRITE_TO_TINYMCE_SCRIPT;"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" static {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" CLEAR_ELEMENT_SCRIPT \u003d FileHelper.readFile(\"src/e2e/resources/scripts/clearElementWithoutEvents.js\");"},{"lineNumber":66,"author":{"gitId":"-"},"content":" SCROLL_ELEMENT_TO_CENTER_AND_CLICK_SCRIPT \u003d FileHelper"},{"lineNumber":67,"author":{"gitId":"-"},"content":" .readFile(\"src/e2e/resources/scripts/scrollElementToCenterAndClick.js\");"},{"lineNumber":68,"author":{"gitId":"-"},"content":" READ_TINYMCE_CONTENT_SCRIPT \u003d FileHelper.readFile(\"src/e2e/resources/scripts/readTinyMCEContent.js\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" WRITE_TO_TINYMCE_SCRIPT \u003d FileHelper.readFile(\"src/e2e/resources/scripts/writeToTinyMCE.js\");"},{"lineNumber":70,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" /** Browser instance the page is loaded into. */"},{"lineNumber":76,"author":{"gitId":"-"},"content":" protected Browser browser;"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" /** Use for retrying due to transient UI issues. */"},{"lineNumber":79,"author":{"gitId":"-"},"content":" protected RetryManager uiRetryManager \u003d new RetryManager((TestProperties.TEST_TIMEOUT + 1) / 2);"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":82,"author":{"gitId":"-"},"content":" * Used by subclasses to create a {@code AppPage} object to wrap around the"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * given {@code browser} object. Fails if the page content does not match"},{"lineNumber":84,"author":{"gitId":"-"},"content":" * the page type, as defined by the sub-class."},{"lineNumber":85,"author":{"gitId":"-"},"content":" */"},{"lineNumber":86,"author":{"gitId":"-"},"content":" public AppPage(Browser browser) {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" this.browser \u003d browser;"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" boolean isCorrectPageType;"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" isCorrectPageType \u003d containsExpectedPageContents();"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" if (isCorrectPageType) {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" // ignore and try again"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" // To minimize test failures due to eventual consistency, we try to"},{"lineNumber":102,"author":{"gitId":"-"},"content":" // reload the page and compare once more."},{"lineNumber":103,"author":{"gitId":"-"},"content":" System.out.println(\"#### Incorrect page type: going to try reloading the page.\");"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(2000);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" reloadPage();"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" isCorrectPageType \u003d containsExpectedPageContents();"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" if (isCorrectPageType) {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" System.out.println(\"######### Not in the correct page! ##########\");"},{"lineNumber":116,"author":{"gitId":"-"},"content":" throw new IllegalStateException(\"Not in the correct page!\");"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" public Browser getBrowser() {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" return browser;"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":124,"author":{"gitId":"-"},"content":" * Gets a new page object representation of the currently open web page in the browser."},{"lineNumber":125,"author":{"gitId":"-"},"content":" *"},{"lineNumber":126,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails if the new page content does not match content expected in a page of"},{"lineNumber":127,"author":{"gitId":"-"},"content":" * the type indicated by the parameter {@code typeOfPage}."},{"lineNumber":128,"author":{"gitId":"-"},"content":" */"},{"lineNumber":129,"author":{"gitId":"-"},"content":" public static \u003cT extends AppPage\u003e T getNewPageInstance(Browser currentBrowser, Class\u003cT\u003e typeOfPage) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish(currentBrowser);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" Constructor\u003cT\u003e constructor \u003d typeOfPage.getConstructor(Browser.class);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" T page \u003d constructor.newInstance(currentBrowser);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" PageFactory.initElements(currentBrowser.driver, page);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" page.waitForPageToLoad();"},{"lineNumber":136,"author":{"gitId":"-"},"content":" return page;"},{"lineNumber":137,"author":{"gitId":"-"},"content":" } catch (InvocationTargetException e) {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" if (e.getCause() instanceof IllegalStateException) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" throw (IllegalStateException) e.getCause();"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" } catch (NoSuchMethodException | IllegalAccessException | InstantiationException e) {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":148,"author":{"gitId":"-"},"content":" * Fails if the new page content does not match content expected in a page of"},{"lineNumber":149,"author":{"gitId":"-"},"content":" * the type indicated by the parameter {@code newPageType}."},{"lineNumber":150,"author":{"gitId":"-"},"content":" */"},{"lineNumber":151,"author":{"gitId":"-"},"content":" public \u003cT extends AppPage\u003e T changePageType(Class\u003cT\u003e newPageType) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" return getNewPageInstance(browser, newPageType);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" public \u003cE\u003e E waitFor(ExpectedCondition\u003cE\u003e expectedCondition) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" WebDriverWait wait \u003d new WebDriverWait(browser.driver, Duration.ofSeconds(TestProperties.TEST_TIMEOUT));"},{"lineNumber":157,"author":{"gitId":"-"},"content":" return wait.until(expectedCondition);"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":161,"author":{"gitId":"-"},"content":" * Waits until the page is fully loaded."},{"lineNumber":162,"author":{"gitId":"-"},"content":" */"},{"lineNumber":163,"author":{"gitId":"-"},"content":" public void waitForPageToLoad() {"},{"lineNumber":164,"author":{"gitId":"-"},"content":" waitForPageToLoad(false);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":168,"author":{"gitId":"-"},"content":" * Waits until the page is fully loaded."},{"lineNumber":169,"author":{"gitId":"-"},"content":" *"},{"lineNumber":170,"author":{"gitId":"-"},"content":" * @param excludeToast Set this to true if toast message\u0027s disappearance should not be counted"},{"lineNumber":171,"author":{"gitId":"-"},"content":" * as criteria for page load\u0027s completion."},{"lineNumber":172,"author":{"gitId":"-"},"content":" */"},{"lineNumber":173,"author":{"gitId":"-"},"content":" public void waitForPageToLoad(boolean excludeToast) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" browser.waitForPageLoad(excludeToast);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" public void waitForElementVisibility(WebElement element) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" waitFor(ExpectedConditions.visibilityOf(element));"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" public void waitForElementVisibility(By by) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" waitFor(ExpectedConditions.visibilityOfElementLocated(by));"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" public void waitForElementToBeClickable(WebElement element) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" waitFor(ExpectedConditions.elementToBeClickable(element));"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" public static void waitUntilAnimationFinish(Browser browser) {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" WebDriverWait wait \u003d new WebDriverWait(browser.driver, Duration.ofSeconds(TestProperties.TEST_TIMEOUT));"},{"lineNumber":191,"author":{"gitId":"-"},"content":" wait.until(ExpectedConditions.invisibilityOfElementLocated(By.className(\"ng-animating\")));"},{"lineNumber":192,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" public void waitUntilAnimationFinish() {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish(browser);"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":200,"author":{"gitId":"-"},"content":" * Waits until an element is no longer attached to the DOM or the timeout expires."},{"lineNumber":201,"author":{"gitId":"-"},"content":" * @param element the WebElement that expires after {@link TestProperties#TEST_TIMEOUT}"},{"lineNumber":202,"author":{"gitId":"-"},"content":" * @see org.openqa.selenium.support.ui.FluentWait#until(java.util.function.Function)"},{"lineNumber":203,"author":{"gitId":"-"},"content":" */"},{"lineNumber":204,"author":{"gitId":"-"},"content":" public void waitForElementStaleness(WebElement element) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" waitFor(ExpectedConditions.stalenessOf(element));"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" public void verifyUnclickable(WebElement element) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" if (\"a\".equals(element.getTagName())) {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" assertTrue(element.getAttribute(\"class\").contains(\"disabled\"));"},{"lineNumber":211,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" assertNotNull(element.getAttribute(\"disabled\"));"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":217,"author":{"gitId":"-"},"content":" * Waits for a confirmation modal to appear and click the confirm button."},{"lineNumber":218,"author":{"gitId":"-"},"content":" */"},{"lineNumber":219,"author":{"gitId":"-"},"content":" public void waitForConfirmationModalAndClickOk() {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" waitForModalShown();"},{"lineNumber":221,"author":{"gitId":"-"},"content":" waitForElementVisibility(By.className(\"modal-btn-ok\"));"},{"lineNumber":222,"author":{"gitId":"-"},"content":" WebElement okayButton \u003d browser.driver.findElement(By.className(\"modal-btn-ok\"));"},{"lineNumber":223,"author":{"gitId":"-"},"content":" waitForElementToBeClickable(okayButton);"},{"lineNumber":224,"author":{"gitId":"-"},"content":" clickDismissModalButtonAndWaitForModalHidden(okayButton);"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" private void waitForModalShown() {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" // Possible exploration: Change to listening to modal shown event as"},{"lineNumber":229,"author":{"gitId":"-"},"content":" // this is based on the implementation detail assumption that once modal-backdrop is added the modal is shown"},{"lineNumber":230,"author":{"gitId":"-"},"content":" waitForElementVisibility(By.className(\"modal-backdrop\"));"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" void waitForModalHidden(WebElement modalBackdrop) {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" // Possible exploration: Change to listening to modal hidden event as"},{"lineNumber":235,"author":{"gitId":"-"},"content":" // this is based on the implementation detail assumption that once modal-backdrop is removed the modal is hidden"},{"lineNumber":236,"author":{"gitId":"-"},"content":" waitForElementStaleness(modalBackdrop);"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":240,"author":{"gitId":"-"},"content":" * Waits for the element to appear in the page, up to the timeout specified."},{"lineNumber":241,"author":{"gitId":"-"},"content":" */"},{"lineNumber":242,"author":{"gitId":"-"},"content":" public WebElement waitForElementPresence(By by) {"},{"lineNumber":243,"author":{"gitId":"-"},"content":" return waitFor(ExpectedConditions.presenceOfElementLocated(by));"},{"lineNumber":244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" public void reloadPage() {"},{"lineNumber":247,"author":{"gitId":"-"},"content":" browser.goToUrl(browser.driver.getCurrentUrl());"},{"lineNumber":248,"author":{"gitId":"-"},"content":" waitForPageToLoad();"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":" protected Object executeScript(String script, Object... args) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" JavascriptExecutor javascriptExecutor \u003d (JavascriptExecutor) browser.driver;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" return javascriptExecutor.executeScript(script, args);"},{"lineNumber":254,"author":{"gitId":"-"},"content":" }"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":257,"author":{"gitId":"-"},"content":" * Returns the HTML source of the currently loaded page."},{"lineNumber":258,"author":{"gitId":"-"},"content":" */"},{"lineNumber":259,"author":{"gitId":"-"},"content":" public String getPageSource() {"},{"lineNumber":260,"author":{"gitId":"-"},"content":" return browser.driver.getPageSource();"},{"lineNumber":261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" public String getTitle() {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" return browser.driver.getTitle();"},{"lineNumber":265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":" public String getPageTitle() {"},{"lineNumber":268,"author":{"gitId":"-"},"content":" return waitForElementPresence(By.tagName(\"h1\")).getText();"},{"lineNumber":269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" public void click(By by) {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" WebElement element \u003d browser.driver.findElement(by);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" click(element);"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" protected void click(WebElement element) {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" executeScript(\"arguments[0].click();\", element);"},{"lineNumber":278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":281,"author":{"gitId":"-"},"content":" * Simulates the clearing and sending of keys to an element."},{"lineNumber":282,"author":{"gitId":"-"},"content":" *"},{"lineNumber":283,"author":{"gitId":"-"},"content":" * \u003cp\u003e\u003cb\u003eNote:\u003c/b\u003e This method is not the same as using {@link WebElement#clear} followed by {@link WebElement#sendKeys}."},{"lineNumber":284,"author":{"gitId":"-"},"content":" * It avoids double firing of the {@code change} event which may occur when {@link WebElement#clear} is followed by"},{"lineNumber":285,"author":{"gitId":"-"},"content":" * {@link WebElement#sendKeys}."},{"lineNumber":286,"author":{"gitId":"-"},"content":" *"},{"lineNumber":287,"author":{"gitId":"-"},"content":" * @see AppPage#clearWithoutEvents(WebElement)"},{"lineNumber":288,"author":{"gitId":"-"},"content":" */"},{"lineNumber":289,"author":{"gitId":"-"},"content":" private void clearAndSendKeys(WebElement element, CharSequence... keysToSend) {"},{"lineNumber":290,"author":{"gitId":"-"},"content":" Map\u003cString, Object\u003e result \u003d clearWithoutEvents(element);"},{"lineNumber":291,"author":{"gitId":"-"},"content":" @SuppressWarnings(\"unchecked\")"},{"lineNumber":292,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e errors \u003d (Map\u003cString, String\u003e) result.get(\"errors\");"},{"lineNumber":293,"author":{"gitId":"-"},"content":" if (errors !\u003d null) {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" throw new InvalidElementStateException(errors.get(\"detail\"));"},{"lineNumber":295,"author":{"gitId":"-"},"content":" }"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" element.sendKeys(keysToSend);"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":301,"author":{"gitId":"-"},"content":" * Clears any kind of editable element, but without firing the {@code change} event (unlike {@link WebElement#clear()})."},{"lineNumber":302,"author":{"gitId":"-"},"content":" * Avoid using this method if {@link WebElement#clear()} meets the requirements as this method depends on implementation"},{"lineNumber":303,"author":{"gitId":"-"},"content":" * details."},{"lineNumber":304,"author":{"gitId":"-"},"content":" */"},{"lineNumber":305,"author":{"gitId":"-"},"content":" private Map\u003cString, Object\u003e clearWithoutEvents(WebElement element) {"},{"lineNumber":306,"author":{"gitId":"-"},"content":" // This method is a close mirror of HtmlUnitWebElement#clear(), except that events are not handled. Note that"},{"lineNumber":307,"author":{"gitId":"-"},"content":" // HtmlUnitWebElement is mirrored as opposed to RemoteWebElement (which is used with actual browsers) for convenience"},{"lineNumber":308,"author":{"gitId":"-"},"content":" // and the implementation can differ."},{"lineNumber":309,"author":{"gitId":"-"},"content":" checkNotNull(element);"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":" // Adapted from ExpectedConditions#stalenessOf which forces a staleness check. This allows a meaningful"},{"lineNumber":312,"author":{"gitId":"-"},"content":" // StaleElementReferenceException to be thrown rather than just getting a boolean from ExpectedConditions."},{"lineNumber":313,"author":{"gitId":"-"},"content":" element.isEnabled();"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":" // Fail safe in case the implementation of staleness checks is changed"},{"lineNumber":316,"author":{"gitId":"-"},"content":" if (isExpectedCondition(ExpectedConditions.stalenessOf(element))) {"},{"lineNumber":317,"author":{"gitId":"-"},"content":" throw new AssertionError("},{"lineNumber":318,"author":{"gitId":"-"},"content":" \"Element is stale but should have been caught earlier by element.isEnabled().\");"},{"lineNumber":319,"author":{"gitId":"-"},"content":" }"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" @SuppressWarnings(\"unchecked\")"},{"lineNumber":322,"author":{"gitId":"-"},"content":" Map\u003cString, Object\u003e result \u003d (Map\u003cString, Object\u003e) executeScript(CLEAR_ELEMENT_SCRIPT, element);"},{"lineNumber":323,"author":{"gitId":"-"},"content":" return result;"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" protected void fillTextBox(WebElement textBoxElement, String value) {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" scrollElementToCenterAndClick(textBoxElement);"},{"lineNumber":329,"author":{"gitId":"-"},"content":" } catch (WebDriverException e) {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" // It is important that a text box element is clickable before we fill it but due to legacy reasons we continue"},{"lineNumber":331,"author":{"gitId":"-"},"content":" // attempting to fill the text box element even if it\u0027s not clickable (which may lead to an unexpected failure"},{"lineNumber":332,"author":{"gitId":"-"},"content":" // later on)"},{"lineNumber":333,"author":{"gitId":"-"},"content":" System.out.println(\"Unexpectedly not able to click on the text box element because of: \");"},{"lineNumber":334,"author":{"gitId":"-"},"content":" System.out.println(e);"},{"lineNumber":335,"author":{"gitId":"-"},"content":" }"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":" // If the intended value is empty `clear` works well enough for us"},{"lineNumber":338,"author":{"gitId":"-"},"content":" if (value.isEmpty()) {"},{"lineNumber":339,"author":{"gitId":"-"},"content":" textBoxElement.clear();"},{"lineNumber":340,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":341,"author":{"gitId":"-"},"content":" }"},{"lineNumber":342,"author":{"gitId":"-"},"content":""},{"lineNumber":343,"author":{"gitId":"-"},"content":" // Otherwise we need to do special handling of entering input because `clear` and `sendKeys` work differently."},{"lineNumber":344,"author":{"gitId":"-"},"content":" // See documentation for `clearAndSendKeys` for more details."},{"lineNumber":345,"author":{"gitId":"-"},"content":" clearAndSendKeys(textBoxElement, value);"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":" textBoxElement.sendKeys(Keys.TAB); // blur the element to receive events"},{"lineNumber":348,"author":{"gitId":"-"},"content":" }"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":" protected void fillDatePicker(WebElement dateBox, Instant startInstant, String timeZone) {"},{"lineNumber":351,"author":{"gitId":"-"},"content":" WebElement buttonToOpenPicker \u003d dateBox.findElement(By.tagName(\"button\"));"},{"lineNumber":352,"author":{"gitId":"-"},"content":" click(buttonToOpenPicker);"},{"lineNumber":353,"author":{"gitId":"-"},"content":""},{"lineNumber":354,"author":{"gitId":"-"},"content":" WebElement datePicker \u003d dateBox.findElement(By.tagName(\"ngb-datepicker\"));"},{"lineNumber":355,"author":{"gitId":"-"},"content":" WebElement monthAndYearPicker \u003d datePicker.findElement(By.tagName(\"ngb-datepicker-navigation-select\"));"},{"lineNumber":356,"author":{"gitId":"-"},"content":" WebElement monthPicker \u003d monthAndYearPicker.findElement(By.cssSelector(\"[title\u003d\u0027Select month\u0027]\"));"},{"lineNumber":357,"author":{"gitId":"-"},"content":" WebElement yearPicker \u003d monthAndYearPicker.findElement(By.cssSelector(\"[title\u003d\u0027Select year\u0027]\"));"},{"lineNumber":358,"author":{"gitId":"-"},"content":" WebElement dayPicker \u003d datePicker.findElement(By.cssSelector(\"ngb-datepicker-month\"));"},{"lineNumber":359,"author":{"gitId":"-"},"content":""},{"lineNumber":360,"author":{"gitId":"-"},"content":" String year \u003d getYearString(startInstant, timeZone);"},{"lineNumber":361,"author":{"gitId":"-"},"content":" String month \u003d getMonthString(startInstant, timeZone);"},{"lineNumber":362,"author":{"gitId":"-"},"content":" String date \u003d getFullDateString(startInstant, timeZone);"},{"lineNumber":363,"author":{"gitId":"-"},"content":""},{"lineNumber":364,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(yearPicker, year);"},{"lineNumber":365,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(monthPicker, month);"},{"lineNumber":366,"author":{"gitId":"-"},"content":" click(dayPicker.findElement(By.cssSelector(String.format(\"[aria-label\u003d\u0027%s\u0027]\", date))));"},{"lineNumber":367,"author":{"gitId":"-"},"content":" }"},{"lineNumber":368,"author":{"gitId":"-"},"content":""},{"lineNumber":369,"author":{"gitId":"-"},"content":" protected void fillFileBox(RemoteWebElement fileBoxElement, String fileName) {"},{"lineNumber":370,"author":{"gitId":"-"},"content":" if (fileName.isEmpty()) {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" fileBoxElement.clear();"},{"lineNumber":372,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":373,"author":{"gitId":"-"},"content":" fileBoxElement.setFileDetector(new UselessFileDetector());"},{"lineNumber":374,"author":{"gitId":"-"},"content":" String filePath \u003d new File(fileName).getAbsolutePath();"},{"lineNumber":375,"author":{"gitId":"-"},"content":" fileBoxElement.sendKeys(filePath);"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":" }"},{"lineNumber":378,"author":{"gitId":"-"},"content":""},{"lineNumber":379,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":380,"author":{"gitId":"-"},"content":" * Get rich text from editor."},{"lineNumber":381,"author":{"gitId":"-"},"content":" */"},{"lineNumber":382,"author":{"gitId":"-"},"content":" protected String getEditorRichText(WebElement editor) {"},{"lineNumber":383,"author":{"gitId":"-"},"content":" waitForElementPresence(By.tagName(\"iframe\"));"},{"lineNumber":384,"author":{"gitId":"-"},"content":" String id \u003d editor.findElement(By.tagName(\"textarea\")).getAttribute(\"id\");"},{"lineNumber":385,"author":{"gitId":"-"},"content":" return (String) ((JavascriptExecutor) browser.driver)"},{"lineNumber":386,"author":{"gitId":"-"},"content":" .executeAsyncScript(READ_TINYMCE_CONTENT_SCRIPT, id);"},{"lineNumber":387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":388,"author":{"gitId":"-"},"content":""},{"lineNumber":389,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":390,"author":{"gitId":"-"},"content":" * Write rich text to editor."},{"lineNumber":391,"author":{"gitId":"-"},"content":" */"},{"lineNumber":392,"author":{"gitId":"-"},"content":" protected void writeToRichTextEditor(WebElement editor, String text) {"},{"lineNumber":393,"author":{"gitId":"-"},"content":" waitForElementPresence(By.tagName(\"iframe\"));"},{"lineNumber":394,"author":{"gitId":"-"},"content":" String id \u003d editor.findElement(By.tagName(\"textarea\")).getAttribute(\"id\");"},{"lineNumber":395,"author":{"gitId":"-"},"content":" ((JavascriptExecutor) browser.driver).executeAsyncScript(WRITE_TO_TINYMCE_SCRIPT, id, text);"},{"lineNumber":396,"author":{"gitId":"-"},"content":" }"},{"lineNumber":397,"author":{"gitId":"-"},"content":""},{"lineNumber":398,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":399,"author":{"gitId":"domoberzin"},"content":" * Clear existing text in the editor."},{"lineNumber":400,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":401,"author":{"gitId":"domoberzin"},"content":" protected void clearRichTextEditor(WebElement editor) {"},{"lineNumber":402,"author":{"gitId":"domoberzin"},"content":" writeToRichTextEditor(editor, \"\");"},{"lineNumber":403,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":404,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":406,"author":{"gitId":"-"},"content":" * Select the option, if it is not already selected."},{"lineNumber":407,"author":{"gitId":"-"},"content":" * No action taken if it is already selected."},{"lineNumber":408,"author":{"gitId":"-"},"content":" */"},{"lineNumber":409,"author":{"gitId":"-"},"content":" protected void markOptionAsSelected(WebElement option) {"},{"lineNumber":410,"author":{"gitId":"-"},"content":" waitForElementVisibility(option);"},{"lineNumber":411,"author":{"gitId":"-"},"content":" if (!option.isSelected()) {"},{"lineNumber":412,"author":{"gitId":"-"},"content":" click(option);"},{"lineNumber":413,"author":{"gitId":"-"},"content":" }"},{"lineNumber":414,"author":{"gitId":"-"},"content":" }"},{"lineNumber":415,"author":{"gitId":"-"},"content":""},{"lineNumber":416,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":417,"author":{"gitId":"-"},"content":" * Unselect the option, if it is not already unselected."},{"lineNumber":418,"author":{"gitId":"-"},"content":" * No action taken if it is already unselected\u0027."},{"lineNumber":419,"author":{"gitId":"-"},"content":" */"},{"lineNumber":420,"author":{"gitId":"-"},"content":" protected void markOptionAsUnselected(WebElement option) {"},{"lineNumber":421,"author":{"gitId":"-"},"content":" waitForElementVisibility(option);"},{"lineNumber":422,"author":{"gitId":"-"},"content":" if (option.isSelected()) {"},{"lineNumber":423,"author":{"gitId":"-"},"content":" click(option);"},{"lineNumber":424,"author":{"gitId":"-"},"content":" }"},{"lineNumber":425,"author":{"gitId":"-"},"content":" }"},{"lineNumber":426,"author":{"gitId":"-"},"content":""},{"lineNumber":427,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":428,"author":{"gitId":"-"},"content":" * Returns the text of the option selected in the dropdown."},{"lineNumber":429,"author":{"gitId":"-"},"content":" */"},{"lineNumber":430,"author":{"gitId":"-"},"content":" protected String getSelectedDropdownOptionText(WebElement dropdown) {"},{"lineNumber":431,"author":{"gitId":"-"},"content":" Select select \u003d new Select(dropdown);"},{"lineNumber":432,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":433,"author":{"gitId":"-"},"content":" uiRetryManager.runUntilNoRecognizedException(new Retryable(\"Wait for dropdown text to load\") {"},{"lineNumber":434,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":435,"author":{"gitId":"-"},"content":" public void run() {"},{"lineNumber":436,"author":{"gitId":"-"},"content":" String txt \u003d select.getFirstSelectedOption().getText();"},{"lineNumber":437,"author":{"gitId":"-"},"content":" assertNotEquals(\"\", txt);"},{"lineNumber":438,"author":{"gitId":"-"},"content":" }"},{"lineNumber":439,"author":{"gitId":"-"},"content":" }, WebDriverException.class, AssertionError.class);"},{"lineNumber":440,"author":{"gitId":"-"},"content":" return select.getFirstSelectedOption().getText();"},{"lineNumber":441,"author":{"gitId":"-"},"content":" } catch (MaximumRetriesExceededException e) {"},{"lineNumber":442,"author":{"gitId":"-"},"content":" return select.getFirstSelectedOption().getText();"},{"lineNumber":443,"author":{"gitId":"-"},"content":" }"},{"lineNumber":444,"author":{"gitId":"-"},"content":" }"},{"lineNumber":445,"author":{"gitId":"-"},"content":""},{"lineNumber":446,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":447,"author":{"gitId":"-"},"content":" * Selects option in dropdown based on visible text."},{"lineNumber":448,"author":{"gitId":"-"},"content":" */"},{"lineNumber":449,"author":{"gitId":"-"},"content":" protected void selectDropdownOptionByText(WebElement dropdown, String text) {"},{"lineNumber":450,"author":{"gitId":"-"},"content":" scrollElementToCenter(dropdown);"},{"lineNumber":451,"author":{"gitId":"-"},"content":" Select select \u003d new Select(dropdown);"},{"lineNumber":452,"author":{"gitId":"-"},"content":" select.selectByVisibleText(text);"},{"lineNumber":453,"author":{"gitId":"-"},"content":" }"},{"lineNumber":454,"author":{"gitId":"-"},"content":""},{"lineNumber":455,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":456,"author":{"gitId":"-"},"content":" * Selects option in dropdown based on value."},{"lineNumber":457,"author":{"gitId":"-"},"content":" */"},{"lineNumber":458,"author":{"gitId":"-"},"content":" protected void selectDropdownOptionByValue(WebElement dropdown, String value) {"},{"lineNumber":459,"author":{"gitId":"-"},"content":" scrollElementToCenter(dropdown);"},{"lineNumber":460,"author":{"gitId":"-"},"content":" Select select \u003d new Select(dropdown);"},{"lineNumber":461,"author":{"gitId":"-"},"content":" select.selectByValue(value);"},{"lineNumber":462,"author":{"gitId":"-"},"content":" }"},{"lineNumber":463,"author":{"gitId":"-"},"content":""},{"lineNumber":464,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":465,"author":{"gitId":"-"},"content":" * Asserts that all values in the body of the given table are equal to the expectedTableBodyValues."},{"lineNumber":466,"author":{"gitId":"-"},"content":" */"},{"lineNumber":467,"author":{"gitId":"-"},"content":" protected void verifyTableBodyValues(WebElement table, String[][] expectedTableBodyValues) {"},{"lineNumber":468,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d table.findElement(By.tagName(\"tbody\")).findElements(By.tagName(\"tr\"));"},{"lineNumber":469,"author":{"gitId":"-"},"content":" assertTrue(expectedTableBodyValues.length \u003c\u003d rows.size());"},{"lineNumber":470,"author":{"gitId":"-"},"content":" for (int rowIndex \u003d 0; rowIndex \u003c expectedTableBodyValues.length; rowIndex++) {"},{"lineNumber":471,"author":{"gitId":"-"},"content":" verifyTableRowValues(rows.get(rowIndex), expectedTableBodyValues[rowIndex]);"},{"lineNumber":472,"author":{"gitId":"-"},"content":" }"},{"lineNumber":473,"author":{"gitId":"-"},"content":" }"},{"lineNumber":474,"author":{"gitId":"-"},"content":""},{"lineNumber":475,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":476,"author":{"gitId":"-"},"content":" * Asserts that all values in the row header of the given table are equal to the expectedRowHeaderValues."},{"lineNumber":477,"author":{"gitId":"-"},"content":" */"},{"lineNumber":478,"author":{"gitId":"-"},"content":" protected void verifyTableRowHeaderValues(WebElement table, String[][] expectedTableRowHeaderValues) {"},{"lineNumber":479,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d table.findElement(By.tagName(\"thead\")).findElements(By.tagName(\"tr\"));"},{"lineNumber":480,"author":{"gitId":"-"},"content":" assertTrue(expectedTableRowHeaderValues.length \u003c\u003d rows.size());"},{"lineNumber":481,"author":{"gitId":"-"},"content":" for (int rowIndex \u003d 0; rowIndex \u003c expectedTableRowHeaderValues.length; rowIndex++) {"},{"lineNumber":482,"author":{"gitId":"-"},"content":" verifyTableHeaderValues(rows.get(rowIndex), expectedTableRowHeaderValues[rowIndex]);"},{"lineNumber":483,"author":{"gitId":"-"},"content":" }"},{"lineNumber":484,"author":{"gitId":"-"},"content":" }"},{"lineNumber":485,"author":{"gitId":"-"},"content":""},{"lineNumber":486,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":487,"author":{"gitId":"-"},"content":" * Asserts that all values in the column header of the given table are equal to the expectedTablColumnHeaderValues."},{"lineNumber":488,"author":{"gitId":"-"},"content":" */"},{"lineNumber":489,"author":{"gitId":"-"},"content":" protected void verifyTableColumnHeaderValues(WebElement table, String[][] expectedTablColumnHeaderValues) {"},{"lineNumber":490,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d table.findElement(By.tagName(\"tbody\")).findElements(By.tagName(\"tr\"));"},{"lineNumber":491,"author":{"gitId":"-"},"content":" assertTrue(expectedTablColumnHeaderValues.length \u003c\u003d rows.size());"},{"lineNumber":492,"author":{"gitId":"-"},"content":" for (int rowIndex \u003d 0; rowIndex \u003c expectedTablColumnHeaderValues.length; rowIndex++) {"},{"lineNumber":493,"author":{"gitId":"-"},"content":" verifyTableHeaderValues(rows.get(rowIndex), expectedTablColumnHeaderValues[rowIndex]);"},{"lineNumber":494,"author":{"gitId":"-"},"content":" }"},{"lineNumber":495,"author":{"gitId":"-"},"content":" }"},{"lineNumber":496,"author":{"gitId":"-"},"content":""},{"lineNumber":497,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":498,"author":{"gitId":"-"},"content":" * Asserts that all data values in the given table row are equal to the expectedRowValues."},{"lineNumber":499,"author":{"gitId":"-"},"content":" */"},{"lineNumber":500,"author":{"gitId":"-"},"content":" protected void verifyTableRowValues(WebElement row, String[] expectedRowValues) {"},{"lineNumber":501,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e cells \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":502,"author":{"gitId":"-"},"content":" assertTrue(expectedRowValues.length \u003c\u003d cells.size());"},{"lineNumber":503,"author":{"gitId":"-"},"content":" for (int cellIndex \u003d 0; cellIndex \u003c expectedRowValues.length; cellIndex++) {"},{"lineNumber":504,"author":{"gitId":"-"},"content":" assertEquals(expectedRowValues[cellIndex], cells.get(cellIndex).getText());"},{"lineNumber":505,"author":{"gitId":"-"},"content":" }"},{"lineNumber":506,"author":{"gitId":"-"},"content":" }"},{"lineNumber":507,"author":{"gitId":"-"},"content":""},{"lineNumber":508,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":509,"author":{"gitId":"-"},"content":" * Asserts that all header values in the given table row are equal to the expectedRowHeaderValues."},{"lineNumber":510,"author":{"gitId":"-"},"content":" */"},{"lineNumber":511,"author":{"gitId":"-"},"content":" protected void verifyTableHeaderValues(WebElement row, String[] expectedRowHeaderValues) {"},{"lineNumber":512,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e cells \u003d row.findElements(By.tagName(\"th\"));"},{"lineNumber":513,"author":{"gitId":"-"},"content":" assertTrue(expectedRowHeaderValues.length \u003c\u003d cells.size());"},{"lineNumber":514,"author":{"gitId":"-"},"content":" for (int cellIndex \u003d 0; cellIndex \u003c expectedRowHeaderValues.length; cellIndex++) {"},{"lineNumber":515,"author":{"gitId":"-"},"content":" assertEquals(expectedRowHeaderValues[cellIndex], cells.get(cellIndex).getText());"},{"lineNumber":516,"author":{"gitId":"-"},"content":" }"},{"lineNumber":517,"author":{"gitId":"-"},"content":" }"},{"lineNumber":518,"author":{"gitId":"-"},"content":""},{"lineNumber":519,"author":{"gitId":"-"},"content":" public void verifyBannerContent(NotificationAttributes expected) {"},{"lineNumber":520,"author":{"gitId":"-"},"content":" WebElement banner \u003d browser.driver.findElement(By.className(\"banner\"));"},{"lineNumber":521,"author":{"gitId":"-"},"content":" String title \u003d banner.findElement(By.tagName(\"h5\")).getText();"},{"lineNumber":522,"author":{"gitId":"-"},"content":" String message \u003d banner.findElement(By.className(\"banner-text\")).getAttribute(\"innerHTML\");"},{"lineNumber":523,"author":{"gitId":"-"},"content":" assertEquals(expected.getTitle(), title);"},{"lineNumber":524,"author":{"gitId":"-"},"content":" assertEquals(expected.getMessage(), message);"},{"lineNumber":525,"author":{"gitId":"-"},"content":" }"},{"lineNumber":526,"author":{"gitId":"-"},"content":""},{"lineNumber":527,"author":{"gitId":"-"},"content":" public boolean isBannerVisible() {"},{"lineNumber":528,"author":{"gitId":"-"},"content":" return isElementVisible(By.className(\"banner\"));"},{"lineNumber":529,"author":{"gitId":"-"},"content":" }"},{"lineNumber":530,"author":{"gitId":"-"},"content":""},{"lineNumber":531,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":532,"author":{"gitId":"-"},"content":" * Clicks the element and clicks \u0027Yes\u0027 in the follow up dialog box."},{"lineNumber":533,"author":{"gitId":"-"},"content":" * Fails if there is no dialog box."},{"lineNumber":534,"author":{"gitId":"-"},"content":" * @return the resulting page."},{"lineNumber":535,"author":{"gitId":"-"},"content":" */"},{"lineNumber":536,"author":{"gitId":"-"},"content":" public AppPage clickAndConfirm(WebElement elementToClick) {"},{"lineNumber":537,"author":{"gitId":"-"},"content":" click(elementToClick);"},{"lineNumber":538,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":539,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":540,"author":{"gitId":"-"},"content":" }"},{"lineNumber":541,"author":{"gitId":"-"},"content":""},{"lineNumber":542,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":543,"author":{"gitId":"-"},"content":" * Returns True if the page contains some basic elements expected in a page of the"},{"lineNumber":544,"author":{"gitId":"-"},"content":" * specific type. e.g., the top heading."},{"lineNumber":545,"author":{"gitId":"-"},"content":" */"},{"lineNumber":546,"author":{"gitId":"-"},"content":" protected abstract boolean containsExpectedPageContents();"},{"lineNumber":547,"author":{"gitId":"-"},"content":""},{"lineNumber":548,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":549,"author":{"gitId":"-"},"content":" * Returns True if there is a corresponding element for the given locator."},{"lineNumber":550,"author":{"gitId":"-"},"content":" */"},{"lineNumber":551,"author":{"gitId":"-"},"content":" public boolean isElementPresent(By by) {"},{"lineNumber":552,"author":{"gitId":"-"},"content":" return !browser.driver.findElements(by).isEmpty();"},{"lineNumber":553,"author":{"gitId":"-"},"content":" }"},{"lineNumber":554,"author":{"gitId":"-"},"content":""},{"lineNumber":555,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":556,"author":{"gitId":"-"},"content":" * Returns True if there is a corresponding element for the given id or name."},{"lineNumber":557,"author":{"gitId":"-"},"content":" */"},{"lineNumber":558,"author":{"gitId":"-"},"content":" public boolean isElementPresent(String elementId) {"},{"lineNumber":559,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":560,"author":{"gitId":"-"},"content":" browser.driver.findElement(By.id(elementId));"},{"lineNumber":561,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":562,"author":{"gitId":"-"},"content":" } catch (NoSuchElementException e) {"},{"lineNumber":563,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":564,"author":{"gitId":"-"},"content":" }"},{"lineNumber":565,"author":{"gitId":"-"},"content":" }"},{"lineNumber":566,"author":{"gitId":"-"},"content":""},{"lineNumber":567,"author":{"gitId":"-"},"content":" public boolean isElementVisible(By by) {"},{"lineNumber":568,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":569,"author":{"gitId":"-"},"content":" return browser.driver.findElement(by).isDisplayed();"},{"lineNumber":570,"author":{"gitId":"-"},"content":" } catch (NoSuchElementException e) {"},{"lineNumber":571,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":572,"author":{"gitId":"-"},"content":" }"},{"lineNumber":573,"author":{"gitId":"-"},"content":" }"},{"lineNumber":574,"author":{"gitId":"-"},"content":""},{"lineNumber":575,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":576,"author":{"gitId":"-"},"content":" * Returns true if the expected condition is evaluated to true immediately."},{"lineNumber":577,"author":{"gitId":"-"},"content":" * @see ExpectedConditions"},{"lineNumber":578,"author":{"gitId":"-"},"content":" */"},{"lineNumber":579,"author":{"gitId":"-"},"content":" private boolean isExpectedCondition(ExpectedCondition\u003c?\u003e expectedCondition) {"},{"lineNumber":580,"author":{"gitId":"-"},"content":" Object value \u003d expectedCondition.apply(browser.driver);"},{"lineNumber":581,"author":{"gitId":"-"},"content":" if (value \u003d\u003d null) {"},{"lineNumber":582,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":583,"author":{"gitId":"-"},"content":" }"},{"lineNumber":584,"author":{"gitId":"-"},"content":""},{"lineNumber":585,"author":{"gitId":"-"},"content":" if (value.getClass() \u003d\u003d Boolean.class) {"},{"lineNumber":586,"author":{"gitId":"-"},"content":" return (boolean) value;"},{"lineNumber":587,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":588,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":589,"author":{"gitId":"-"},"content":" }"},{"lineNumber":590,"author":{"gitId":"-"},"content":" }"},{"lineNumber":591,"author":{"gitId":"-"},"content":""},{"lineNumber":592,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":593,"author":{"gitId":"-"},"content":" * Clicks a button (can be inside or outside the modal) that dismisses the modal and waits for the modal to be hidden."},{"lineNumber":594,"author":{"gitId":"-"},"content":" * The caller must ensure the button is in the modal or a timeout will occur while waiting for the modal to be hidden."},{"lineNumber":595,"author":{"gitId":"-"},"content":" * @param dismissModalButton a button that dismisses the modal"},{"lineNumber":596,"author":{"gitId":"-"},"content":" */"},{"lineNumber":597,"author":{"gitId":"-"},"content":" public void clickDismissModalButtonAndWaitForModalHidden(WebElement dismissModalButton) {"},{"lineNumber":598,"author":{"gitId":"-"},"content":" // Note: Should first check if the button can actually dismiss the modal otherwise the state will be consistent."},{"lineNumber":599,"author":{"gitId":"-"},"content":" // However, it is too difficult to check."},{"lineNumber":600,"author":{"gitId":"-"},"content":""},{"lineNumber":601,"author":{"gitId":"-"},"content":" WebElement modalBackdrop \u003d browser.driver.findElement(By.className(\"modal-backdrop\"));"},{"lineNumber":602,"author":{"gitId":"-"},"content":""},{"lineNumber":603,"author":{"gitId":"-"},"content":" click(dismissModalButton);"},{"lineNumber":604,"author":{"gitId":"-"},"content":" waitForModalHidden(modalBackdrop);"},{"lineNumber":605,"author":{"gitId":"-"},"content":" }"},{"lineNumber":606,"author":{"gitId":"-"},"content":""},{"lineNumber":607,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":608,"author":{"gitId":"-"},"content":" * Scrolls element to center and clicks on it."},{"lineNumber":609,"author":{"gitId":"-"},"content":" *"},{"lineNumber":610,"author":{"gitId":"-"},"content":" * \u003cp\u003eAs compared to {@link org.openqa.selenium.interactions.Actions#moveToElement(WebElement)}, this method is"},{"lineNumber":611,"author":{"gitId":"-"},"content":" * more reliable as the element will not get blocked by elements such as the header."},{"lineNumber":612,"author":{"gitId":"-"},"content":" *"},{"lineNumber":613,"author":{"gitId":"-"},"content":" * \u003cp\u003eFurthermore, {@link org.openqa.selenium.interactions.Actions#moveToElement(WebElement)} is currently not"},{"lineNumber":614,"author":{"gitId":"-"},"content":" * working in Geckodriver."},{"lineNumber":615,"author":{"gitId":"-"},"content":" *"},{"lineNumber":616,"author":{"gitId":"-"},"content":" * \u003cp\u003e\u003cb\u003eNote:\u003c/b\u003e A \"scroll into view\" Actions primitive is in progress and may allow scrolling element to center."},{"lineNumber":617,"author":{"gitId":"-"},"content":" * Tracking issue:"},{"lineNumber":618,"author":{"gitId":"-"},"content":" * \u003ca href\u003d\"https://github.com/w3c/webdriver/issues/1005\"\u003eMissing \"scroll into view\" Actions primitive\u003c/a\u003e."},{"lineNumber":619,"author":{"gitId":"-"},"content":" *"},{"lineNumber":620,"author":{"gitId":"-"},"content":" * \u003cp\u003eAlso note that there are some other caveats, for example"},{"lineNumber":621,"author":{"gitId":"-"},"content":" * {@code new Actions(browser.driver).moveToElement(...).click(...).perform()} does not behave consistently across"},{"lineNumber":622,"author":{"gitId":"-"},"content":" * browsers."},{"lineNumber":623,"author":{"gitId":"-"},"content":" * \u003cul\u003e"},{"lineNumber":624,"author":{"gitId":"-"},"content":" * \u003cli\u003eIn FirefoxDriver, the element is scrolled to and then a click is attempted on the element."},{"lineNumber":625,"author":{"gitId":"-"},"content":" * \u003cli\u003eIn ChromeDriver, the mouse is scrolled to the element and then a click is attempted on the mouse coordinate,"},{"lineNumber":626,"author":{"gitId":"-"},"content":" * which means another element can actually be clicked (such as the header or a blocking pop-up)."},{"lineNumber":627,"author":{"gitId":"-"},"content":" * \u003c/ul\u003e"},{"lineNumber":628,"author":{"gitId":"-"},"content":" *"},{"lineNumber":629,"author":{"gitId":"-"},"content":" * \u003cp\u003eChromeDriver also automatically scrolls to an element when clicking an element if it is not in the viewport."},{"lineNumber":630,"author":{"gitId":"-"},"content":" */"},{"lineNumber":631,"author":{"gitId":"-"},"content":" void scrollElementToCenterAndClick(WebElement element) {"},{"lineNumber":632,"author":{"gitId":"-"},"content":" // TODO: migrate to `scrollIntoView` when Geckodriver is adopted"},{"lineNumber":633,"author":{"gitId":"-"},"content":" scrollElementToCenter(element);"},{"lineNumber":634,"author":{"gitId":"-"},"content":" element.click();"},{"lineNumber":635,"author":{"gitId":"-"},"content":" }"},{"lineNumber":636,"author":{"gitId":"-"},"content":""},{"lineNumber":637,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":638,"author":{"gitId":"-"},"content":" * Scrolls element to center."},{"lineNumber":639,"author":{"gitId":"-"},"content":" */"},{"lineNumber":640,"author":{"gitId":"-"},"content":" void scrollElementToCenter(WebElement element) {"},{"lineNumber":641,"author":{"gitId":"-"},"content":" executeScript(SCROLL_ELEMENT_TO_CENTER_AND_CLICK_SCRIPT, element);"},{"lineNumber":642,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000);"},{"lineNumber":643,"author":{"gitId":"-"},"content":" }"},{"lineNumber":644,"author":{"gitId":"-"},"content":""},{"lineNumber":645,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":646,"author":{"gitId":"-"},"content":" * Asserts message in toast is equal to the expected message."},{"lineNumber":647,"author":{"gitId":"-"},"content":" */"},{"lineNumber":648,"author":{"gitId":"-"},"content":" public void verifyStatusMessage(String expectedMessage) {"},{"lineNumber":649,"author":{"gitId":"-"},"content":" verifyStatusMessageWithLinks(expectedMessage, new String[] {});"},{"lineNumber":650,"author":{"gitId":"-"},"content":" closeToast();"},{"lineNumber":651,"author":{"gitId":"-"},"content":" }"},{"lineNumber":652,"author":{"gitId":"-"},"content":""},{"lineNumber":653,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":654,"author":{"gitId":"-"},"content":" * Asserts message in toast is equal to the expected message and contains the expected links."},{"lineNumber":655,"author":{"gitId":"-"},"content":" */"},{"lineNumber":656,"author":{"gitId":"-"},"content":" public void verifyStatusMessageWithLinks(String expectedMessage, String[] expectedLinks) {"},{"lineNumber":657,"author":{"gitId":"-"},"content":" WebElement[] statusMessage \u003d new WebElement[1];"},{"lineNumber":658,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":659,"author":{"gitId":"-"},"content":" uiRetryManager.runUntilNoRecognizedException(new Retryable(\"Verify status to user\") {"},{"lineNumber":660,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":661,"author":{"gitId":"-"},"content":" public void run() {"},{"lineNumber":662,"author":{"gitId":"-"},"content":" statusMessage[0] \u003d waitForElementPresence(By.className(\"toast-body\"));"},{"lineNumber":663,"author":{"gitId":"-"},"content":" assertEquals(expectedMessage, statusMessage[0].getText());"},{"lineNumber":664,"author":{"gitId":"-"},"content":" }"},{"lineNumber":665,"author":{"gitId":"-"},"content":" }, WebDriverException.class, AssertionError.class);"},{"lineNumber":666,"author":{"gitId":"-"},"content":" } catch (MaximumRetriesExceededException e) {"},{"lineNumber":667,"author":{"gitId":"-"},"content":" statusMessage[0] \u003d waitForElementPresence(By.className(\"toast-body\"));"},{"lineNumber":668,"author":{"gitId":"-"},"content":" assertEquals(expectedMessage, statusMessage[0].getText());"},{"lineNumber":669,"author":{"gitId":"-"},"content":" } finally {"},{"lineNumber":670,"author":{"gitId":"-"},"content":" if (expectedLinks.length \u003e 0) {"},{"lineNumber":671,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e actualLinks \u003d statusMessage[0].findElements(By.tagName(\"a\"));"},{"lineNumber":672,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c expectedLinks.length; i++) {"},{"lineNumber":673,"author":{"gitId":"-"},"content":" assertTrue(actualLinks.get(i).getAttribute(\"href\").contains(expectedLinks[i]));"},{"lineNumber":674,"author":{"gitId":"-"},"content":" }"},{"lineNumber":675,"author":{"gitId":"-"},"content":" }"},{"lineNumber":676,"author":{"gitId":"-"},"content":" }"},{"lineNumber":677,"author":{"gitId":"-"},"content":" }"},{"lineNumber":678,"author":{"gitId":"-"},"content":""},{"lineNumber":679,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":680,"author":{"gitId":"-"},"content":" * Closes toast message."},{"lineNumber":681,"author":{"gitId":"-"},"content":" */"},{"lineNumber":682,"author":{"gitId":"-"},"content":" public void closeToast() {"},{"lineNumber":683,"author":{"gitId":"-"},"content":" WebElement toastCloseButton \u003d waitForElementPresence(By.className(\"btn-close\"));"},{"lineNumber":684,"author":{"gitId":"-"},"content":" click(toastCloseButton);"},{"lineNumber":685,"author":{"gitId":"-"},"content":" }"},{"lineNumber":686,"author":{"gitId":"-"},"content":""},{"lineNumber":687,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":688,"author":{"gitId":"-"},"content":" * Switches to the new browser window just opened."},{"lineNumber":689,"author":{"gitId":"-"},"content":" */"},{"lineNumber":690,"author":{"gitId":"-"},"content":" protected void switchToNewWindow() {"},{"lineNumber":691,"author":{"gitId":"-"},"content":" browser.switchToNewWindow();"},{"lineNumber":692,"author":{"gitId":"-"},"content":" }"},{"lineNumber":693,"author":{"gitId":"-"},"content":""},{"lineNumber":694,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":695,"author":{"gitId":"-"},"content":" * Closes current window and switches back to parent window."},{"lineNumber":696,"author":{"gitId":"-"},"content":" */"},{"lineNumber":697,"author":{"gitId":"-"},"content":" public void closeCurrentWindowAndSwitchToParentWindow() {"},{"lineNumber":698,"author":{"gitId":"-"},"content":" browser.closeCurrentWindowAndSwitchToParentWindow();"},{"lineNumber":699,"author":{"gitId":"-"},"content":" }"},{"lineNumber":700,"author":{"gitId":"-"},"content":""},{"lineNumber":701,"author":{"gitId":"-"},"content":" String getDisplayGiverName(FeedbackParticipantType type) {"},{"lineNumber":702,"author":{"gitId":"-"},"content":" switch (type) {"},{"lineNumber":703,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":704,"author":{"gitId":"-"},"content":" return \"Feedback session creator (i.e., me)\";"},{"lineNumber":705,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":706,"author":{"gitId":"-"},"content":" return \"Students in this course\";"},{"lineNumber":707,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":708,"author":{"gitId":"-"},"content":" return \"Instructors in this course\";"},{"lineNumber":709,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":710,"author":{"gitId":"-"},"content":" return \"Teams in this course\";"},{"lineNumber":711,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":712,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(\"Unknown FeedbackParticipantType: \" + type);"},{"lineNumber":713,"author":{"gitId":"-"},"content":" }"},{"lineNumber":714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":715,"author":{"gitId":"-"},"content":""},{"lineNumber":716,"author":{"gitId":"-"},"content":" String getDisplayRecipientName(FeedbackParticipantType type) {"},{"lineNumber":717,"author":{"gitId":"-"},"content":" switch (type) {"},{"lineNumber":718,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":719,"author":{"gitId":"-"},"content":" return \"Giver (Self feedback)\";"},{"lineNumber":720,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":721,"author":{"gitId":"-"},"content":" return \"Other students in the same section\";"},{"lineNumber":722,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":723,"author":{"gitId":"-"},"content":" return \"Students in the course\";"},{"lineNumber":724,"author":{"gitId":"-"},"content":" case STUDENTS_EXCLUDING_SELF:"},{"lineNumber":725,"author":{"gitId":"-"},"content":" return \"Other students in the course\";"},{"lineNumber":726,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":727,"author":{"gitId":"-"},"content":" return \"Instructors in the course\";"},{"lineNumber":728,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":729,"author":{"gitId":"-"},"content":" return \"Other teams in the same section\";"},{"lineNumber":730,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":731,"author":{"gitId":"-"},"content":" return \"Teams in the course\";"},{"lineNumber":732,"author":{"gitId":"-"},"content":" case TEAMS_EXCLUDING_SELF:"},{"lineNumber":733,"author":{"gitId":"-"},"content":" return \"Other teams in the course\";"},{"lineNumber":734,"author":{"gitId":"-"},"content":" case OWN_TEAM:"},{"lineNumber":735,"author":{"gitId":"-"},"content":" return \"Giver\u0027s team\";"},{"lineNumber":736,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":737,"author":{"gitId":"-"},"content":" return \"Giver\u0027s team members\";"},{"lineNumber":738,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS_INCLUDING_SELF:"},{"lineNumber":739,"author":{"gitId":"-"},"content":" return \"Giver\u0027s team members and Giver\";"},{"lineNumber":740,"author":{"gitId":"-"},"content":" case NONE:"},{"lineNumber":741,"author":{"gitId":"-"},"content":" return \"Nobody specific (For general class feedback)\";"},{"lineNumber":742,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":743,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(\"Unknown FeedbackParticipantType: \" + type);"},{"lineNumber":744,"author":{"gitId":"-"},"content":" }"},{"lineNumber":745,"author":{"gitId":"-"},"content":" }"},{"lineNumber":746,"author":{"gitId":"-"},"content":""},{"lineNumber":747,"author":{"gitId":"-"},"content":" String getDisplayedDateTime(Instant instant, String timeZone, String pattern) {"},{"lineNumber":748,"author":{"gitId":"-"},"content":" ZonedDateTime zonedDateTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone(instant, timeZone, false)"},{"lineNumber":749,"author":{"gitId":"-"},"content":" .atZone(ZoneId.of(timeZone));"},{"lineNumber":750,"author":{"gitId":"yuanxi1"},"content":" return DateTimeFormatter.ofPattern(pattern, Locale.ENGLISH).format(zonedDateTime);"},{"lineNumber":751,"author":{"gitId":"-"},"content":" }"},{"lineNumber":752,"author":{"gitId":"-"},"content":""},{"lineNumber":753,"author":{"gitId":"-"},"content":" private String getFullDateString(Instant instant, String timeZone) {"},{"lineNumber":754,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timeZone, \"EEEE, MMMM d, yyyy\");"},{"lineNumber":755,"author":{"gitId":"-"},"content":" }"},{"lineNumber":756,"author":{"gitId":"-"},"content":""},{"lineNumber":757,"author":{"gitId":"-"},"content":" private String getYearString(Instant instant, String timeZone) {"},{"lineNumber":758,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timeZone, \"yyyy\");"},{"lineNumber":759,"author":{"gitId":"-"},"content":" }"},{"lineNumber":760,"author":{"gitId":"-"},"content":""},{"lineNumber":761,"author":{"gitId":"-"},"content":" private String getMonthString(Instant instant, String timeZone) {"},{"lineNumber":762,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timeZone, \"MMM\");"},{"lineNumber":763,"author":{"gitId":"-"},"content":" }"},{"lineNumber":764,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":7,"yuanxi1":2,"-":755}},{"path":"src/e2e/java/teammates/e2e/pageobjects/FeedbackSubmitPage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.pageobjects;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertFalse;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertTrue;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.fail;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.openqa.selenium.By;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.openqa.selenium.NoSuchElementException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebElement;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseAttributes;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackConstantSumQuestionDetails;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackConstantSumResponseDetails;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackContributionQuestionDetails;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackContributionResponseDetails;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMcqQuestionDetails;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMcqResponseDetails;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMsqQuestionDetails;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMsqResponseDetails;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackNumericalScaleQuestionDetails;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackNumericalScaleResponseDetails;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankOptionsQuestionDetails;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankOptionsResponseDetails;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankQuestionDetails;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankRecipientsResponseDetails;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRubricQuestionDetails;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRubricResponseDetails;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackTextQuestionDetails;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackTextResponseDetails;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Represents the feedback submission page of the website."},{"lineNumber":44,"author":{"gitId":"-"},"content":" */"},{"lineNumber":45,"author":{"gitId":"-"},"content":"public class FeedbackSubmitPage extends AppPage {"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" public FeedbackSubmitPage(Browser browser) {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" super(browser);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":52,"author":{"gitId":"-"},"content":" protected boolean containsExpectedPageContents() {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" if (isElementPresent(By.className(\"modal-content\"))) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":" return getPageTitle().contains(\"Submit Feedback\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" public void verifyFeedbackSessionDetails(FeedbackSessionAttributes feedbackSession, CourseAttributes course) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" assertEquals(getCourseId(), feedbackSession.getCourseId());"},{"lineNumber":61,"author":{"gitId":"-"},"content":" assertEquals(getCourseName(), course.getName());"},{"lineNumber":62,"author":{"gitId":"-"},"content":" assertEquals(getCourseInstitute(), course.getInstitute());"},{"lineNumber":63,"author":{"gitId":"-"},"content":" assertEquals(getFeedbackSessionName(), feedbackSession.getFeedbackSessionName());"},{"lineNumber":64,"author":{"gitId":"-"},"content":" assertDateEquals(getOpeningTime(), feedbackSession.getStartTime(), feedbackSession.getTimeZone());"},{"lineNumber":65,"author":{"gitId":"-"},"content":" assertDateEquals(getClosingTime(), feedbackSession.getEndTime(), feedbackSession.getTimeZone());"},{"lineNumber":66,"author":{"gitId":"-"},"content":" assertEquals(getInstructions(), feedbackSession.getInstructions());"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" public void verifyNumQuestions(int expected) {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" assertEquals(browser.driver.findElements(By.cssSelector(\"[id^\u003d\u0027question-submission-form-qn-\u0027]\")).size(), expected);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" public void verifyQuestionDetails(int qnNumber, FeedbackQuestionAttributes questionAttributes) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" assertEquals(getQuestionBrief(qnNumber), questionAttributes.getQuestionDetailsCopy().getQuestionText());"},{"lineNumber":75,"author":{"gitId":"-"},"content":" verifyVisibilityList(qnNumber, questionAttributes);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" if (questionAttributes.getQuestionDescription() !\u003d null) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" assertEquals(getQuestionDescription(qnNumber), questionAttributes.getQuestionDescription());"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" public void verifyLimitedRecipients(int qnNumber, int numRecipients, List\u003cString\u003e recipientNames) {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e recipientDropdowns \u003d getQuestionForm(qnNumber)"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .findElements(By.cssSelector(\"[id^\u003d\u0027recipient-dropdown-qn-\u0027]\"));"},{"lineNumber":84,"author":{"gitId":"-"},"content":" assertEquals(numRecipients, recipientDropdowns.size());"},{"lineNumber":85,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e recipients \u003d recipientDropdowns.get(0).findElements(By.tagName(\"option\"));"},{"lineNumber":86,"author":{"gitId":"-"},"content":" assertEquals(recipientNames.size(), recipients.size() - 1);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" Collections.sort(recipientNames);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c recipientNames.size(); i++) {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" assertEquals(recipientNames.get(i), recipients.get(i + 1).getText());"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" public void verifyRecipients(int qnNumber, List\u003cString\u003e recipientNames, String role) {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" Collections.sort(recipientNames);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c recipientNames.size(); i++) {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" assertEquals(recipientNames.get(i) + \" (\" + role + \")\","},{"lineNumber":98,"author":{"gitId":"-"},"content":" questionForm.findElement(By.id(\"recipient-name-qn-\" + qnNumber + \"-idx-\" + i)).getText());"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" public void verifyWarningMessageForPartialResponse(int[] unansweredQuestions) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" click(getSubmitAllQuestionsButton());"},{"lineNumber":104,"author":{"gitId":"-"},"content":" StringBuilder expectedSb \u003d new StringBuilder();"},{"lineNumber":105,"author":{"gitId":"-"},"content":" for (int unansweredQuestion : unansweredQuestions) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" expectedSb.append(unansweredQuestion).append(\", \");"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":" String expectedString \u003d expectedSb.toString().substring(0, expectedSb.length() - 2) + \".\";"},{"lineNumber":109,"author":{"gitId":"-"},"content":" String warningString \u003d waitForElementPresence(By.id(\"not-answered-questions\")).getText();"},{"lineNumber":110,"author":{"gitId":"-"},"content":" assertEquals(warningString.split(\": \")[1], expectedString);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" waitForConfirmationModalAndClickOk();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" public void verifyCannotSubmit() {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" WebElement submitButton \u003d waitForElementPresence(By.cssSelector(\"[id^\u003d\u0027btn-submit-qn-\u0027]\"));"},{"lineNumber":116,"author":{"gitId":"-"},"content":" if (submitButton !\u003d null) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" assertFalse(submitButton.isEnabled());"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" public void addComment(int qnNumber, String recipient, String newComment) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" WebElement commentSection \u003d getCommentSection(qnNumber, recipient);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" click(commentSection.findElement(By.className(\"btn-add-comment\")));"},{"lineNumber":124,"author":{"gitId":"-"},"content":" writeToCommentEditor(commentSection, newComment);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" public void editComment(int qnNumber, String recipient, String editedComment) {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" WebElement commentSection \u003d getCommentSection(qnNumber, recipient);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" click(commentSection.findElement(By.className(\"btn-edit-comment\")));"},{"lineNumber":130,"author":{"gitId":"-"},"content":" writeToCommentEditor(commentSection, editedComment);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" public void deleteComment(int qnNumber, String recipient) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" clickAndConfirm(getCommentSection(qnNumber, recipient).findElement(By.className(\"btn-delete-comment\")));"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" public void verifyComment(int qnNumber, String recipient, String expectedComment) {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" WebElement commentSection \u003d getCommentSection(qnNumber, recipient);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" String actualComment \u003d commentSection.findElement(By.className(\"comment-text\")).getAttribute(\"innerHTML\");"},{"lineNumber":140,"author":{"gitId":"-"},"content":" assertEquals(expectedComment, actualComment);"},{"lineNumber":141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" public void verifyNoCommentPresent(int qnNumber, String recipient) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" int numComments \u003d getCommentSection(qnNumber, recipient).findElements(By.className(\"comment-text\")).size();"},{"lineNumber":145,"author":{"gitId":"-"},"content":" assertEquals(numComments, 0);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" public void verifyTextQuestion(int qnNumber, FeedbackTextQuestionDetails questionDetails) {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" String recommendedLengthText \u003d getQuestionForm(qnNumber).findElement(By.id(\"recommended-length\")).getText();"},{"lineNumber":150,"author":{"gitId":"-"},"content":" assertEquals(recommendedLengthText, \"Recommended length for the answer: \""},{"lineNumber":151,"author":{"gitId":"-"},"content":" + questionDetails.getRecommendedLength() + \" words\");"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" public void fillTextResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" FeedbackTextResponseDetails responseDetails \u003d (FeedbackTextResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":156,"author":{"gitId":"-"},"content":" writeToRichTextEditor(getTextResponseEditor(qnNumber, recipient), responseDetails.getAnswer());"},{"lineNumber":157,"author":{"gitId":"-"},"content":" }"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" public void fillTextResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" FeedbackTextResponseDetails responseDetails \u003d"},{"lineNumber":161,"author":{"gitId":"-"},"content":" (FeedbackTextResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":162,"author":{"gitId":"-"},"content":" writeToRichTextEditor(getTextResponseEditor(qnNumber, recipient), responseDetails.getAnswer());"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" public void verifyTextResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" FeedbackTextResponseDetails responseDetails \u003d (FeedbackTextResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":167,"author":{"gitId":"-"},"content":" int responseLength \u003d responseDetails.getAnswer().split(\" \").length;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertEquals(getEditorRichText(getTextResponseEditor(qnNumber, recipient)), responseDetails.getAnswer());"},{"lineNumber":169,"author":{"gitId":"-"},"content":" assertEquals(getResponseLengthText(qnNumber, recipient), \"Response length: \" + responseLength"},{"lineNumber":170,"author":{"gitId":"-"},"content":" + \" words\");"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" public void verifyTextResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" FeedbackTextResponseDetails responseDetails \u003d"},{"lineNumber":175,"author":{"gitId":"-"},"content":" (FeedbackTextResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":176,"author":{"gitId":"-"},"content":" int responseLength \u003d responseDetails.getAnswer().split(\" \").length;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" assertEquals(getEditorRichText(getTextResponseEditor(qnNumber, recipient)), responseDetails.getAnswer());"},{"lineNumber":178,"author":{"gitId":"-"},"content":" assertEquals(getResponseLengthText(qnNumber, recipient), \"Response length: \" + responseLength"},{"lineNumber":179,"author":{"gitId":"-"},"content":" + \" words\");"},{"lineNumber":180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" public void verifyMcqQuestion(int qnNumber, String recipient, FeedbackMcqQuestionDetails questionDetails) {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" List\u003cString\u003e mcqChoices \u003d questionDetails.getMcqChoices();"},{"lineNumber":184,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMcqOptions(qnNumber, recipient);"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c mcqChoices.size(); i++) {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" assertEquals(mcqChoices.get(i), optionTexts.get(i).getText());"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" if (questionDetails.isOtherEnabled()) {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" assertEquals(\"Other\", getMcqSection(qnNumber, recipient).findElement(By.id(\"other-option\")).getText());"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" public void verifyGeneratedMcqQuestion(int qnNumber, String recipient, List\u003cString\u003e options) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMcqOptions(qnNumber, recipient);"},{"lineNumber":197,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c options.size(); i++) {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" assertEquals(options.get(i), optionTexts.get(i).getText());"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" public void fillMcqResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" FeedbackMcqResponseDetails responseDetails \u003d (FeedbackMcqResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":204,"author":{"gitId":"-"},"content":" if (responseDetails.isOther()) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" markOptionAsSelected(getMcqOtherOptionRadioBtn(qnNumber, recipient));"},{"lineNumber":206,"author":{"gitId":"-"},"content":" fillTextBox(getMcqOtherOptionTextbox(qnNumber, recipient), responseDetails.getOtherFieldContent());"},{"lineNumber":207,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMcqOptions(qnNumber, recipient);"},{"lineNumber":209,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c optionTexts.size(); i++) {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" if (optionTexts.get(i).getText().equals(responseDetails.getAnswer())) {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" markOptionAsSelected(getMcqRadioBtns(qnNumber, recipient).get(i));"},{"lineNumber":212,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"dishenggg"},"content":" public void fillMcqResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":219,"author":{"gitId":"dishenggg"},"content":" FeedbackMcqResponseDetails responseDetails \u003d (FeedbackMcqResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":220,"author":{"gitId":"dishenggg"},"content":" if (responseDetails.isOther()) {"},{"lineNumber":221,"author":{"gitId":"dishenggg"},"content":" markOptionAsSelected(getMcqOtherOptionRadioBtn(qnNumber, recipient));"},{"lineNumber":222,"author":{"gitId":"dishenggg"},"content":" fillTextBox(getMcqOtherOptionTextbox(qnNumber, recipient), responseDetails.getOtherFieldContent());"},{"lineNumber":223,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":224,"author":{"gitId":"dishenggg"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMcqOptions(qnNumber, recipient);"},{"lineNumber":225,"author":{"gitId":"dishenggg"},"content":" for (int i \u003d 0; i \u003c optionTexts.size(); i++) {"},{"lineNumber":226,"author":{"gitId":"dishenggg"},"content":" if (optionTexts.get(i).getText().equals(responseDetails.getAnswer())) {"},{"lineNumber":227,"author":{"gitId":"dishenggg"},"content":" markOptionAsSelected(getMcqRadioBtns(qnNumber, recipient).get(i));"},{"lineNumber":228,"author":{"gitId":"dishenggg"},"content":" break;"},{"lineNumber":229,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":230,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":231,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":232,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":233,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" public void verifyMcqResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" FeedbackMcqResponseDetails responseDetails \u003d (FeedbackMcqResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":236,"author":{"gitId":"-"},"content":" if (responseDetails.isOther()) {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" assertTrue(getMcqOtherOptionRadioBtn(qnNumber, recipient).isSelected());"},{"lineNumber":238,"author":{"gitId":"-"},"content":" assertEquals(getMcqOtherOptionTextbox(qnNumber, recipient).getAttribute(\"value\"),"},{"lineNumber":239,"author":{"gitId":"-"},"content":" responseDetails.getOtherFieldContent());"},{"lineNumber":240,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":241,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMcqOptions(qnNumber, recipient);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e radioBtns \u003d getMcqRadioBtns(qnNumber, recipient);"},{"lineNumber":243,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c optionTexts.size(); i++) {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" if (optionTexts.get(i).getText().equals(responseDetails.getAnswer())) {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" assertTrue(radioBtns.get(i).isSelected());"},{"lineNumber":246,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":247,"author":{"gitId":"-"},"content":" }"},{"lineNumber":248,"author":{"gitId":"-"},"content":" assertFalse(radioBtns.get(i).isSelected());"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":250,"author":{"gitId":"-"},"content":" }"},{"lineNumber":251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" public void verifyMsqQuestion(int qnNumber, String recipient, FeedbackMsqQuestionDetails questionDetails) {"},{"lineNumber":254,"author":{"gitId":"-"},"content":" List\u003cString\u003e msqChoices \u003d questionDetails.getMsqChoices();"},{"lineNumber":255,"author":{"gitId":"-"},"content":" if (questionDetails.isOtherEnabled()) {"},{"lineNumber":256,"author":{"gitId":"-"},"content":" msqChoices.add(\"Other\");"},{"lineNumber":257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":258,"author":{"gitId":"-"},"content":" if (questionDetails.getMinSelectableChoices() \u003d\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" msqChoices.add(\"None of the above\");"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMsqOptions(qnNumber, recipient);"},{"lineNumber":262,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c msqChoices.size(); i++) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" assertEquals(msqChoices.get(i), optionTexts.get(i).getText());"},{"lineNumber":264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":265,"author":{"gitId":"-"},"content":" verifyMsqSelectableOptionsMessage(qnNumber, questionDetails);"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" private void verifyMsqSelectableOptionsMessage(int qnNumber, FeedbackMsqQuestionDetails questionDetails) {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" if (questionDetails.getMinSelectableChoices() !\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":270,"author":{"gitId":"-"},"content":" assertEquals(getQuestionForm(qnNumber).findElement(By.id(\"min-options-message\")).getText(),"},{"lineNumber":271,"author":{"gitId":"-"},"content":" \"Choose at least \" + questionDetails.getMinSelectableChoices() + \" options.\");"},{"lineNumber":272,"author":{"gitId":"-"},"content":" }"},{"lineNumber":273,"author":{"gitId":"-"},"content":" if (questionDetails.getMaxSelectableChoices() !\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":274,"author":{"gitId":"-"},"content":" assertEquals(getQuestionForm(qnNumber).findElement(By.id(\"max-options-message\")).getText(),"},{"lineNumber":275,"author":{"gitId":"-"},"content":" \"Choose no more than \" + questionDetails.getMaxSelectableChoices() + \" options.\");"},{"lineNumber":276,"author":{"gitId":"-"},"content":" }"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" public void verifyGeneratedMsqQuestion(int qnNumber, String recipient, FeedbackMsqQuestionDetails questionDetails,"},{"lineNumber":280,"author":{"gitId":"-"},"content":" List\u003cString\u003e options) {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMsqOptions(qnNumber, recipient);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c options.size(); i++) {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" assertEquals(options.get(i), optionTexts.get(i).getText());"},{"lineNumber":284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":285,"author":{"gitId":"-"},"content":" verifyMsqSelectableOptionsMessage(qnNumber, questionDetails);"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" public void fillMsqResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" FeedbackMsqResponseDetails responseDetails \u003d (FeedbackMsqResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":290,"author":{"gitId":"-"},"content":" List\u003cString\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":291,"author":{"gitId":"-"},"content":" if (answers.get(0).isEmpty()) {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" answers.add(\"None of the above\");"},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMsqOptions(qnNumber, recipient);"},{"lineNumber":295,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e checkboxes \u003d getMsqCheckboxes(qnNumber, recipient);"},{"lineNumber":296,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c optionTexts.size(); i++) {"},{"lineNumber":297,"author":{"gitId":"-"},"content":" if (answers.contains(optionTexts.get(i).getText())) {"},{"lineNumber":298,"author":{"gitId":"-"},"content":" markOptionAsSelected(checkboxes.get(i));"},{"lineNumber":299,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" markOptionAsUnselected(checkboxes.get(i));"},{"lineNumber":301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":302,"author":{"gitId":"-"},"content":" }"},{"lineNumber":303,"author":{"gitId":"-"},"content":" if (responseDetails.isOther()) {"},{"lineNumber":304,"author":{"gitId":"-"},"content":" markOptionAsSelected(getMsqOtherOptionCheckbox(qnNumber, recipient));"},{"lineNumber":305,"author":{"gitId":"-"},"content":" fillTextBox(getMsqOtherOptionTextbox(qnNumber, recipient), responseDetails.getOtherFieldContent());"},{"lineNumber":306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":307,"author":{"gitId":"-"},"content":" }"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"dishenggg"},"content":" public void fillMsqResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":310,"author":{"gitId":"dishenggg"},"content":" FeedbackMsqResponseDetails responseDetails \u003d (FeedbackMsqResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":311,"author":{"gitId":"dishenggg"},"content":" List\u003cString\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":312,"author":{"gitId":"dishenggg"},"content":" if (answers.get(0).isEmpty()) {"},{"lineNumber":313,"author":{"gitId":"dishenggg"},"content":" answers.add(\"None of the above\");"},{"lineNumber":314,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":315,"author":{"gitId":"dishenggg"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMsqOptions(qnNumber, recipient);"},{"lineNumber":316,"author":{"gitId":"dishenggg"},"content":" List\u003cWebElement\u003e checkboxes \u003d getMsqCheckboxes(qnNumber, recipient);"},{"lineNumber":317,"author":{"gitId":"dishenggg"},"content":" for (int i \u003d 0; i \u003c optionTexts.size(); i++) {"},{"lineNumber":318,"author":{"gitId":"dishenggg"},"content":" if (answers.contains(optionTexts.get(i).getText())) {"},{"lineNumber":319,"author":{"gitId":"dishenggg"},"content":" markOptionAsSelected(checkboxes.get(i));"},{"lineNumber":320,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":321,"author":{"gitId":"dishenggg"},"content":" markOptionAsUnselected(checkboxes.get(i));"},{"lineNumber":322,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":323,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":324,"author":{"gitId":"dishenggg"},"content":" if (responseDetails.isOther()) {"},{"lineNumber":325,"author":{"gitId":"dishenggg"},"content":" markOptionAsSelected(getMsqOtherOptionCheckbox(qnNumber, recipient));"},{"lineNumber":326,"author":{"gitId":"dishenggg"},"content":" fillTextBox(getMsqOtherOptionTextbox(qnNumber, recipient), responseDetails.getOtherFieldContent());"},{"lineNumber":327,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":328,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":329,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" public void verifyMsqResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" FeedbackMsqResponseDetails responseDetails \u003d (FeedbackMsqResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":332,"author":{"gitId":"-"},"content":" List\u003cString\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":333,"author":{"gitId":"-"},"content":" if (answers.get(0).isEmpty()) {"},{"lineNumber":334,"author":{"gitId":"-"},"content":" answers.add(\"None of the above\");"},{"lineNumber":335,"author":{"gitId":"-"},"content":" }"},{"lineNumber":336,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMsqOptions(qnNumber, recipient);"},{"lineNumber":337,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e checkboxes \u003d getMsqCheckboxes(qnNumber, recipient);"},{"lineNumber":338,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c optionTexts.size(); i++) {"},{"lineNumber":339,"author":{"gitId":"-"},"content":" if (answers.contains(optionTexts.get(i).getText())) {"},{"lineNumber":340,"author":{"gitId":"-"},"content":" assertTrue(checkboxes.get(i).isSelected());"},{"lineNumber":341,"author":{"gitId":"-"},"content":" } else if (\"Other\".equals(optionTexts.get(i).getText())) {"},{"lineNumber":342,"author":{"gitId":"-"},"content":" assertEquals(checkboxes.get(i).isSelected(), responseDetails.isOther());"},{"lineNumber":343,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":344,"author":{"gitId":"-"},"content":" assertFalse(checkboxes.get(i).isSelected());"},{"lineNumber":345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":346,"author":{"gitId":"-"},"content":" }"},{"lineNumber":347,"author":{"gitId":"-"},"content":" if (responseDetails.isOther()) {"},{"lineNumber":348,"author":{"gitId":"-"},"content":" assertEquals(getMsqOtherOptionTextbox(qnNumber, recipient).getAttribute(\"value\"),"},{"lineNumber":349,"author":{"gitId":"-"},"content":" responseDetails.getOtherFieldContent());"},{"lineNumber":350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"dishenggg"},"content":" public void verifyMsqResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":354,"author":{"gitId":"dishenggg"},"content":" FeedbackMsqResponseDetails responseDetails \u003d (FeedbackMsqResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":355,"author":{"gitId":"dishenggg"},"content":" List\u003cString\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":356,"author":{"gitId":"dishenggg"},"content":" if (answers.get(0).isEmpty()) {"},{"lineNumber":357,"author":{"gitId":"dishenggg"},"content":" answers.add(\"None of the above\");"},{"lineNumber":358,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":359,"author":{"gitId":"dishenggg"},"content":" List\u003cWebElement\u003e optionTexts \u003d getMsqOptions(qnNumber, recipient);"},{"lineNumber":360,"author":{"gitId":"dishenggg"},"content":" List\u003cWebElement\u003e checkboxes \u003d getMsqCheckboxes(qnNumber, recipient);"},{"lineNumber":361,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c optionTexts.size(); i++) {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" if (answers.contains(optionTexts.get(i).getText())) {"},{"lineNumber":363,"author":{"gitId":"-"},"content":" assertTrue(checkboxes.get(i).isSelected());"},{"lineNumber":364,"author":{"gitId":"-"},"content":" } else if (\"Other\".equals(optionTexts.get(i).getText())) {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" assertEquals(checkboxes.get(i).isSelected(), responseDetails.isOther());"},{"lineNumber":366,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":367,"author":{"gitId":"-"},"content":" assertFalse(checkboxes.get(i).isSelected());"},{"lineNumber":368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":369,"author":{"gitId":"-"},"content":" }"},{"lineNumber":370,"author":{"gitId":"-"},"content":" if (responseDetails.isOther()) {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" assertEquals(getMsqOtherOptionTextbox(qnNumber, recipient).getAttribute(\"value\"),"},{"lineNumber":372,"author":{"gitId":"-"},"content":" responseDetails.getOtherFieldContent());"},{"lineNumber":373,"author":{"gitId":"-"},"content":" }"},{"lineNumber":374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":" public void verifyNumScaleQuestion(int qnNumber, String recipient,"},{"lineNumber":377,"author":{"gitId":"-"},"content":" FeedbackNumericalScaleQuestionDetails questionDetails) {"},{"lineNumber":378,"author":{"gitId":"-"},"content":" double step \u003d questionDetails.getStep();"},{"lineNumber":379,"author":{"gitId":"-"},"content":" double twoSteps \u003d 2 * step;"},{"lineNumber":380,"author":{"gitId":"-"},"content":" double min \u003d questionDetails.getMinScale();"},{"lineNumber":381,"author":{"gitId":"-"},"content":" double max \u003d questionDetails.getMaxScale();"},{"lineNumber":382,"author":{"gitId":"-"},"content":" String possibleValues \u003d String.format(\"Possible values: [%s, %s, %s, ..., %s, %s, %s]\","},{"lineNumber":383,"author":{"gitId":"-"},"content":" getDoubleString(min), getDoubleString(min + step), getDoubleString(min + twoSteps),"},{"lineNumber":384,"author":{"gitId":"-"},"content":" getDoubleString(max - twoSteps), getDoubleString(max - step), getDoubleString(max));"},{"lineNumber":385,"author":{"gitId":"-"},"content":" String actualValues \u003d getNumScaleSection(qnNumber, recipient).findElement(By.id(\"possible-values\")).getText();"},{"lineNumber":386,"author":{"gitId":"-"},"content":" assertEquals(actualValues, possibleValues);"},{"lineNumber":387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":388,"author":{"gitId":"-"},"content":""},{"lineNumber":389,"author":{"gitId":"-"},"content":" public void fillNumScaleResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":390,"author":{"gitId":"-"},"content":" FeedbackNumericalScaleResponseDetails responseDetails \u003d"},{"lineNumber":391,"author":{"gitId":"-"},"content":" (FeedbackNumericalScaleResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":392,"author":{"gitId":"-"},"content":" fillTextBox(getNumScaleInput(qnNumber, recipient), Double.toString(responseDetails.getAnswer()));"},{"lineNumber":393,"author":{"gitId":"-"},"content":" }"},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"marquestye"},"content":" public void fillNumScaleResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":396,"author":{"gitId":"marquestye"},"content":" FeedbackNumericalScaleResponseDetails responseDetails \u003d"},{"lineNumber":397,"author":{"gitId":"marquestye"},"content":" (FeedbackNumericalScaleResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":398,"author":{"gitId":"marquestye"},"content":" fillTextBox(getNumScaleInput(qnNumber, recipient), Double.toString(responseDetails.getAnswer()));"},{"lineNumber":399,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":400,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":401,"author":{"gitId":"-"},"content":" public void verifyNumScaleResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":402,"author":{"gitId":"-"},"content":" FeedbackNumericalScaleResponseDetails responseDetails \u003d"},{"lineNumber":403,"author":{"gitId":"-"},"content":" (FeedbackNumericalScaleResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":404,"author":{"gitId":"-"},"content":" assertEquals(getNumScaleInput(qnNumber, recipient).getAttribute(\"value\"),"},{"lineNumber":405,"author":{"gitId":"-"},"content":" getDoubleString(responseDetails.getAnswer()));"},{"lineNumber":406,"author":{"gitId":"-"},"content":" }"},{"lineNumber":407,"author":{"gitId":"-"},"content":""},{"lineNumber":408,"author":{"gitId":"marquestye"},"content":" public void verifyNumScaleResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":409,"author":{"gitId":"marquestye"},"content":" FeedbackNumericalScaleResponseDetails responseDetails \u003d"},{"lineNumber":410,"author":{"gitId":"marquestye"},"content":" (FeedbackNumericalScaleResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":411,"author":{"gitId":"marquestye"},"content":" assertEquals(getNumScaleInput(qnNumber, recipient).getAttribute(\"value\"),"},{"lineNumber":412,"author":{"gitId":"marquestye"},"content":" getDoubleString(responseDetails.getAnswer()));"},{"lineNumber":413,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":414,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":415,"author":{"gitId":"-"},"content":" public void verifyConstSumQuestion(int qnNumber, String recipient,"},{"lineNumber":416,"author":{"gitId":"-"},"content":" FeedbackConstantSumQuestionDetails questionDetails) {"},{"lineNumber":417,"author":{"gitId":"-"},"content":" if (!questionDetails.isDistributeToRecipients()) {"},{"lineNumber":418,"author":{"gitId":"-"},"content":" List\u003cString\u003e constSumOptions \u003d questionDetails.getConstSumOptions();"},{"lineNumber":419,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getConstSumOptions(qnNumber, recipient);"},{"lineNumber":420,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c constSumOptions.size(); i++) {"},{"lineNumber":421,"author":{"gitId":"-"},"content":" assertEquals(constSumOptions.get(i), optionTexts.get(i).getText());"},{"lineNumber":422,"author":{"gitId":"-"},"content":" }"},{"lineNumber":423,"author":{"gitId":"-"},"content":" }"},{"lineNumber":424,"author":{"gitId":"-"},"content":""},{"lineNumber":425,"author":{"gitId":"-"},"content":" int totalPoints \u003d questionDetails.getPoints();"},{"lineNumber":426,"author":{"gitId":"-"},"content":" if (questionDetails.isPointsPerOption()) {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" totalPoints *\u003d questionDetails.getNumOfConstSumOptions();"},{"lineNumber":428,"author":{"gitId":"-"},"content":" }"},{"lineNumber":429,"author":{"gitId":"-"},"content":" assertEquals(getQuestionForm(qnNumber).findElement(By.id(\"total-points-message\")).getText(),"},{"lineNumber":430,"author":{"gitId":"-"},"content":" \"Total points distributed should add up to \" + totalPoints + \".\");"},{"lineNumber":431,"author":{"gitId":"-"},"content":""},{"lineNumber":432,"author":{"gitId":"-"},"content":" if (questionDetails.isForceUnevenDistribution()) {"},{"lineNumber":433,"author":{"gitId":"-"},"content":" String entityType \u003d questionDetails.isDistributeToRecipients() ? \"recipient\" : \"option\";"},{"lineNumber":434,"author":{"gitId":"-"},"content":" if (\"All options\".equals(questionDetails.getDistributePointsFor())) {"},{"lineNumber":435,"author":{"gitId":"-"},"content":" assertEquals(getQuestionForm(qnNumber).findElement(By.id(\"all-uneven-message\")).getText(),"},{"lineNumber":436,"author":{"gitId":"-"},"content":" \"Every \" + entityType + \" should be allocated different number of points.\");"},{"lineNumber":437,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":438,"author":{"gitId":"-"},"content":" assertEquals(getQuestionForm(qnNumber).findElement(By.id(\"one-uneven-message\")).getText(),"},{"lineNumber":439,"author":{"gitId":"-"},"content":" \"At least one \" + entityType + \" should be allocated different number of points.\");"},{"lineNumber":440,"author":{"gitId":"-"},"content":" }"},{"lineNumber":441,"author":{"gitId":"-"},"content":" }"},{"lineNumber":442,"author":{"gitId":"-"},"content":" }"},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" public void fillConstSumOptionResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":445,"author":{"gitId":"-"},"content":" FeedbackConstantSumResponseDetails responseDetails \u003d"},{"lineNumber":446,"author":{"gitId":"-"},"content":" (FeedbackConstantSumResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":447,"author":{"gitId":"-"},"content":" List\u003cInteger\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":448,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e constSumInputs \u003d getConstSumInputs(qnNumber, recipient);"},{"lineNumber":449,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c answers.size(); i++) {"},{"lineNumber":450,"author":{"gitId":"-"},"content":" fillTextBox(constSumInputs.get(i), Integer.toString(answers.get(i)));"},{"lineNumber":451,"author":{"gitId":"-"},"content":" }"},{"lineNumber":452,"author":{"gitId":"-"},"content":" }"},{"lineNumber":453,"author":{"gitId":"-"},"content":""},{"lineNumber":454,"author":{"gitId":"-"},"content":" public void verifyConstSumOptionResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":455,"author":{"gitId":"-"},"content":" FeedbackConstantSumResponseDetails responseDetails \u003d"},{"lineNumber":456,"author":{"gitId":"-"},"content":" (FeedbackConstantSumResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":457,"author":{"gitId":"-"},"content":" List\u003cInteger\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":458,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e constSumInputs \u003d getConstSumInputs(qnNumber, recipient);"},{"lineNumber":459,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c answers.size(); i++) {"},{"lineNumber":460,"author":{"gitId":"-"},"content":" assertEquals(constSumInputs.get(i).getAttribute(\"value\"), Integer.toString(answers.get(i)));"},{"lineNumber":461,"author":{"gitId":"-"},"content":" }"},{"lineNumber":462,"author":{"gitId":"-"},"content":" }"},{"lineNumber":463,"author":{"gitId":"-"},"content":""},{"lineNumber":464,"author":{"gitId":"-"},"content":" public void fillConstSumRecipientResponse(int qnNumber, List\u003cFeedbackResponseAttributes\u003e responses) {"},{"lineNumber":465,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e recipientInputs \u003d getConstSumRecipientInputs(qnNumber);"},{"lineNumber":466,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c responses.size(); i++) {"},{"lineNumber":467,"author":{"gitId":"-"},"content":" FeedbackConstantSumResponseDetails response \u003d"},{"lineNumber":468,"author":{"gitId":"-"},"content":" (FeedbackConstantSumResponseDetails) responses.get(i).getResponseDetailsCopy();"},{"lineNumber":469,"author":{"gitId":"-"},"content":" fillTextBox(recipientInputs.get(i), Integer.toString(response.getAnswers().get(0)));"},{"lineNumber":470,"author":{"gitId":"-"},"content":" }"},{"lineNumber":471,"author":{"gitId":"-"},"content":" }"},{"lineNumber":472,"author":{"gitId":"-"},"content":""},{"lineNumber":473,"author":{"gitId":"-"},"content":" public void verifyConstSumRecipientResponse(int qnNumber, List\u003cFeedbackResponseAttributes\u003e responses) {"},{"lineNumber":474,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e recipientInputs \u003d getConstSumRecipientInputs(qnNumber);"},{"lineNumber":475,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c responses.size(); i++) {"},{"lineNumber":476,"author":{"gitId":"-"},"content":" FeedbackConstantSumResponseDetails response \u003d"},{"lineNumber":477,"author":{"gitId":"-"},"content":" (FeedbackConstantSumResponseDetails) responses.get(i).getResponseDetailsCopy();"},{"lineNumber":478,"author":{"gitId":"-"},"content":" assertEquals(recipientInputs.get(i).getAttribute(\"value\"),"},{"lineNumber":479,"author":{"gitId":"-"},"content":" Integer.toString(response.getAnswers().get(0)));"},{"lineNumber":480,"author":{"gitId":"-"},"content":" }"},{"lineNumber":481,"author":{"gitId":"-"},"content":" }"},{"lineNumber":482,"author":{"gitId":"-"},"content":""},{"lineNumber":483,"author":{"gitId":"-"},"content":" public void verifyContributionQuestion(int qnNumber, FeedbackContributionQuestionDetails questionDetails) {"},{"lineNumber":484,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":485,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(getContributionDropdowns(qnNumber).get(0), \"Not Sure\");"},{"lineNumber":486,"author":{"gitId":"-"},"content":" assertTrue(questionDetails.isNotSureAllowed());"},{"lineNumber":487,"author":{"gitId":"-"},"content":" assertFalse(questionDetails.isZeroSum());"},{"lineNumber":488,"author":{"gitId":"-"},"content":" } catch (NoSuchElementException e) {"},{"lineNumber":489,"author":{"gitId":"-"},"content":" assertFalse(questionDetails.isNotSureAllowed());"},{"lineNumber":490,"author":{"gitId":"-"},"content":" }"},{"lineNumber":491,"author":{"gitId":"-"},"content":" }"},{"lineNumber":492,"author":{"gitId":"-"},"content":""},{"lineNumber":493,"author":{"gitId":"-"},"content":" public void fillContributionResponse(int qnNumber, List\u003cFeedbackResponseAttributes\u003e responses) {"},{"lineNumber":494,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e dropdowns \u003d getContributionDropdowns(qnNumber);"},{"lineNumber":495,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c responses.size(); i++) {"},{"lineNumber":496,"author":{"gitId":"-"},"content":" FeedbackContributionResponseDetails response \u003d"},{"lineNumber":497,"author":{"gitId":"-"},"content":" (FeedbackContributionResponseDetails) responses.get(i).getResponseDetailsCopy();"},{"lineNumber":498,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(dropdowns.get(i), getContributionString(response.getAnswer()));"},{"lineNumber":499,"author":{"gitId":"-"},"content":" }"},{"lineNumber":500,"author":{"gitId":"-"},"content":" }"},{"lineNumber":501,"author":{"gitId":"-"},"content":""},{"lineNumber":502,"author":{"gitId":"-"},"content":" public void verifyContributionResponse(int qnNumber, List\u003cFeedbackResponseAttributes\u003e responses) {"},{"lineNumber":503,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e dropdowns \u003d getContributionDropdowns(qnNumber);"},{"lineNumber":504,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c responses.size(); i++) {"},{"lineNumber":505,"author":{"gitId":"-"},"content":" FeedbackContributionResponseDetails response \u003d"},{"lineNumber":506,"author":{"gitId":"-"},"content":" (FeedbackContributionResponseDetails) responses.get(i).getResponseDetailsCopy();"},{"lineNumber":507,"author":{"gitId":"-"},"content":" assertEquals(getSelectedDropdownOptionText(dropdowns.get(i)), getContributionString(response.getAnswer()));"},{"lineNumber":508,"author":{"gitId":"-"},"content":" }"},{"lineNumber":509,"author":{"gitId":"-"},"content":" }"},{"lineNumber":510,"author":{"gitId":"-"},"content":""},{"lineNumber":511,"author":{"gitId":"-"},"content":" public void verifyRubricQuestion(int qnNumber, String recipient, FeedbackRubricQuestionDetails questionDetails) {"},{"lineNumber":512,"author":{"gitId":"-"},"content":" List\u003cString\u003e choices \u003d questionDetails.getRubricChoices();"},{"lineNumber":513,"author":{"gitId":"-"},"content":" List\u003cString\u003e subQuestions \u003d questionDetails.getRubricSubQuestions();"},{"lineNumber":514,"author":{"gitId":"-"},"content":" List\u003cList\u003cString\u003e\u003e descriptions \u003d questionDetails.getRubricDescriptions();"},{"lineNumber":515,"author":{"gitId":"-"},"content":""},{"lineNumber":516,"author":{"gitId":"-"},"content":" String[][] expectedTableData \u003d new String[subQuestions.size()][choices.size()];"},{"lineNumber":517,"author":{"gitId":"-"},"content":" String[][] expectedTableRowHeader \u003d new String[1][choices.size()];"},{"lineNumber":518,"author":{"gitId":"-"},"content":" String[][] expectedTableColumnHeader \u003d new String[subQuestions.size()][1];"},{"lineNumber":519,"author":{"gitId":"-"},"content":""},{"lineNumber":520,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c choices.size(); i++) {"},{"lineNumber":521,"author":{"gitId":"-"},"content":" expectedTableRowHeader[0][i] \u003d choices.get(i);"},{"lineNumber":522,"author":{"gitId":"-"},"content":" }"},{"lineNumber":523,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c subQuestions.size(); i++) {"},{"lineNumber":524,"author":{"gitId":"-"},"content":" expectedTableColumnHeader[i][0] \u003d subQuestions.get(i);"},{"lineNumber":525,"author":{"gitId":"-"},"content":" }"},{"lineNumber":526,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c descriptions.size(); i++) {"},{"lineNumber":527,"author":{"gitId":"-"},"content":" List\u003cString\u003e description \u003d descriptions.get(i);"},{"lineNumber":528,"author":{"gitId":"-"},"content":" for (int j \u003d 0; j \u003c description.size(); j++) {"},{"lineNumber":529,"author":{"gitId":"-"},"content":" expectedTableData[i][j] \u003d description.get(j);"},{"lineNumber":530,"author":{"gitId":"-"},"content":" }"},{"lineNumber":531,"author":{"gitId":"-"},"content":" }"},{"lineNumber":532,"author":{"gitId":"-"},"content":" WebElement rubricTable \u003d getRubricTable(qnNumber, recipient);"},{"lineNumber":533,"author":{"gitId":"-"},"content":" verifyTableBodyValues(rubricTable, expectedTableData);"},{"lineNumber":534,"author":{"gitId":"-"},"content":" verifyTableRowHeaderValues(rubricTable, expectedTableRowHeader);"},{"lineNumber":535,"author":{"gitId":"-"},"content":" verifyTableColumnHeaderValues(rubricTable, expectedTableColumnHeader);"},{"lineNumber":536,"author":{"gitId":"-"},"content":" }"},{"lineNumber":537,"author":{"gitId":"-"},"content":""},{"lineNumber":538,"author":{"gitId":"-"},"content":" public void fillRubricResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":539,"author":{"gitId":"-"},"content":" FeedbackRubricResponseDetails responseDetails \u003d"},{"lineNumber":540,"author":{"gitId":"-"},"content":" (FeedbackRubricResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":541,"author":{"gitId":"-"},"content":" List\u003cInteger\u003e answers \u003d responseDetails.getAnswer();"},{"lineNumber":542,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c answers.size(); i++) {"},{"lineNumber":543,"author":{"gitId":"-"},"content":" click(getRubricInputs(qnNumber, recipient, i + 2).get(answers.get(i)));"},{"lineNumber":544,"author":{"gitId":"-"},"content":" }"},{"lineNumber":545,"author":{"gitId":"-"},"content":" }"},{"lineNumber":546,"author":{"gitId":"-"},"content":""},{"lineNumber":547,"author":{"gitId":"-"},"content":" public void verifyRubricResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":548,"author":{"gitId":"-"},"content":" FeedbackRubricResponseDetails responseDetails \u003d"},{"lineNumber":549,"author":{"gitId":"-"},"content":" (FeedbackRubricResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":550,"author":{"gitId":"-"},"content":" List\u003cInteger\u003e answers \u003d responseDetails.getAnswer();"},{"lineNumber":551,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c answers.size(); i++) {"},{"lineNumber":552,"author":{"gitId":"-"},"content":" assertTrue(getRubricInputs(qnNumber, recipient, i + 2).get(answers.get(i)).isSelected());"},{"lineNumber":553,"author":{"gitId":"-"},"content":" }"},{"lineNumber":554,"author":{"gitId":"-"},"content":" }"},{"lineNumber":555,"author":{"gitId":"-"},"content":""},{"lineNumber":556,"author":{"gitId":"-"},"content":" public void verifyRankQuestion(int qnNumber, String recipient, FeedbackRankQuestionDetails questionDetails) {"},{"lineNumber":557,"author":{"gitId":"-"},"content":" if (questionDetails.getMaxOptionsToBeRanked() !\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":558,"author":{"gitId":"-"},"content":" assertEquals(getQuestionForm(qnNumber).findElement(By.id(\"max-options-message\")).getText(),"},{"lineNumber":559,"author":{"gitId":"-"},"content":" \"Rank no more than \" + questionDetails.getMaxOptionsToBeRanked() + \" options.\");"},{"lineNumber":560,"author":{"gitId":"-"},"content":" }"},{"lineNumber":561,"author":{"gitId":"-"},"content":" if (questionDetails.getMinOptionsToBeRanked() !\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":562,"author":{"gitId":"-"},"content":" assertEquals(getQuestionForm(qnNumber).findElement(By.id(\"min-options-message\")).getText(),"},{"lineNumber":563,"author":{"gitId":"-"},"content":" \"Rank at least \" + questionDetails.getMinOptionsToBeRanked() + \" options.\");"},{"lineNumber":564,"author":{"gitId":"-"},"content":" }"},{"lineNumber":565,"author":{"gitId":"-"},"content":" if (questionDetails instanceof FeedbackRankOptionsQuestionDetails) {"},{"lineNumber":566,"author":{"gitId":"-"},"content":" FeedbackRankOptionsQuestionDetails optionDetails \u003d (FeedbackRankOptionsQuestionDetails) questionDetails;"},{"lineNumber":567,"author":{"gitId":"-"},"content":" List\u003cString\u003e options \u003d optionDetails.getOptions();"},{"lineNumber":568,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e optionTexts \u003d getRankOptions(qnNumber, recipient);"},{"lineNumber":569,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c options.size(); i++) {"},{"lineNumber":570,"author":{"gitId":"-"},"content":" assertEquals(options.get(i), optionTexts.get(i).getText());"},{"lineNumber":571,"author":{"gitId":"-"},"content":" }"},{"lineNumber":572,"author":{"gitId":"-"},"content":" }"},{"lineNumber":573,"author":{"gitId":"-"},"content":" }"},{"lineNumber":574,"author":{"gitId":"-"},"content":""},{"lineNumber":575,"author":{"gitId":"-"},"content":" public void fillRankOptionResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":576,"author":{"gitId":"-"},"content":" FeedbackRankOptionsResponseDetails responseDetails \u003d"},{"lineNumber":577,"author":{"gitId":"-"},"content":" (FeedbackRankOptionsResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":578,"author":{"gitId":"-"},"content":" List\u003cInteger\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":579,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c answers.size(); i++) {"},{"lineNumber":580,"author":{"gitId":"-"},"content":" if (answers.get(i) \u003d\u003d Const.POINTS_NOT_SUBMITTED) {"},{"lineNumber":581,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(getRankOptionsDropdowns(qnNumber, recipient).get(i), \"\");"},{"lineNumber":582,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":583,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(getRankOptionsDropdowns(qnNumber, recipient).get(i),"},{"lineNumber":584,"author":{"gitId":"-"},"content":" Integer.toString(answers.get(i)));"},{"lineNumber":585,"author":{"gitId":"-"},"content":" }"},{"lineNumber":586,"author":{"gitId":"-"},"content":" }"},{"lineNumber":587,"author":{"gitId":"-"},"content":" }"},{"lineNumber":588,"author":{"gitId":"-"},"content":""},{"lineNumber":589,"author":{"gitId":"mingyuanc"},"content":" public void fillRankOptionResponse(int qnNumber, String recipient, FeedbackResponse response) {"},{"lineNumber":590,"author":{"gitId":"mingyuanc"},"content":" FeedbackRankOptionsResponseDetails responseDetails \u003d"},{"lineNumber":591,"author":{"gitId":"mingyuanc"},"content":" (FeedbackRankOptionsResponseDetails) response.getFeedbackResponseDetailsCopy();"},{"lineNumber":592,"author":{"gitId":"mingyuanc"},"content":" List\u003cInteger\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":593,"author":{"gitId":"mingyuanc"},"content":" for (int i \u003d 0; i \u003c answers.size(); i++) {"},{"lineNumber":594,"author":{"gitId":"mingyuanc"},"content":" if (answers.get(i) \u003d\u003d Const.POINTS_NOT_SUBMITTED) {"},{"lineNumber":595,"author":{"gitId":"mingyuanc"},"content":" selectDropdownOptionByText(getRankOptionsDropdowns(qnNumber, recipient).get(i), \"\");"},{"lineNumber":596,"author":{"gitId":"mingyuanc"},"content":" } else {"},{"lineNumber":597,"author":{"gitId":"mingyuanc"},"content":" selectDropdownOptionByText(getRankOptionsDropdowns(qnNumber, recipient).get(i),"},{"lineNumber":598,"author":{"gitId":"mingyuanc"},"content":" Integer.toString(answers.get(i)));"},{"lineNumber":599,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":600,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":601,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":602,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":603,"author":{"gitId":"-"},"content":" public void verifyRankOptionResponse(int qnNumber, String recipient, FeedbackResponseAttributes response) {"},{"lineNumber":604,"author":{"gitId":"-"},"content":" FeedbackRankOptionsResponseDetails responseDetails \u003d"},{"lineNumber":605,"author":{"gitId":"-"},"content":" (FeedbackRankOptionsResponseDetails) response.getResponseDetailsCopy();"},{"lineNumber":606,"author":{"gitId":"-"},"content":" List\u003cInteger\u003e answers \u003d responseDetails.getAnswers();"},{"lineNumber":607,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c answers.size(); i++) {"},{"lineNumber":608,"author":{"gitId":"-"},"content":" if (answers.get(i) \u003d\u003d Const.POINTS_NOT_SUBMITTED) {"},{"lineNumber":609,"author":{"gitId":"-"},"content":" assertEquals(getSelectedDropdownOptionText(getRankOptionsDropdowns(qnNumber, recipient).get(i)),"},{"lineNumber":610,"author":{"gitId":"-"},"content":" \"\");"},{"lineNumber":611,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":612,"author":{"gitId":"-"},"content":" assertEquals(getSelectedDropdownOptionText(getRankOptionsDropdowns(qnNumber, recipient).get(i)),"},{"lineNumber":613,"author":{"gitId":"-"},"content":" Integer.toString(answers.get(i)));"},{"lineNumber":614,"author":{"gitId":"-"},"content":" }"},{"lineNumber":615,"author":{"gitId":"-"},"content":" }"},{"lineNumber":616,"author":{"gitId":"-"},"content":" }"},{"lineNumber":617,"author":{"gitId":"-"},"content":""},{"lineNumber":618,"author":{"gitId":"-"},"content":" public void fillRankRecipientResponse(int qnNumber, List\u003cFeedbackResponseAttributes\u003e responses) {"},{"lineNumber":619,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e recipientDropdowns \u003d getRankRecipientDropdowns(qnNumber);"},{"lineNumber":620,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c responses.size(); i++) {"},{"lineNumber":621,"author":{"gitId":"-"},"content":" FeedbackRankRecipientsResponseDetails response \u003d"},{"lineNumber":622,"author":{"gitId":"-"},"content":" (FeedbackRankRecipientsResponseDetails) responses.get(i).getResponseDetailsCopy();"},{"lineNumber":623,"author":{"gitId":"-"},"content":" if (response.getAnswer() \u003d\u003d Const.POINTS_NOT_SUBMITTED) {"},{"lineNumber":624,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(recipientDropdowns.get(i), \"\");"},{"lineNumber":625,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":626,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(recipientDropdowns.get(i), Integer.toString(response.getAnswer()));"},{"lineNumber":627,"author":{"gitId":"-"},"content":" }"},{"lineNumber":628,"author":{"gitId":"-"},"content":" }"},{"lineNumber":629,"author":{"gitId":"-"},"content":" }"},{"lineNumber":630,"author":{"gitId":"-"},"content":""},{"lineNumber":631,"author":{"gitId":"-"},"content":" public void verifyRankRecipientResponse(int qnNumber, List\u003cFeedbackResponseAttributes\u003e responses) {"},{"lineNumber":632,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e recipientDropdowns \u003d getRankRecipientDropdowns(qnNumber);"},{"lineNumber":633,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c responses.size(); i++) {"},{"lineNumber":634,"author":{"gitId":"-"},"content":" FeedbackRankRecipientsResponseDetails response \u003d"},{"lineNumber":635,"author":{"gitId":"-"},"content":" (FeedbackRankRecipientsResponseDetails) responses.get(i).getResponseDetailsCopy();"},{"lineNumber":636,"author":{"gitId":"-"},"content":" if (response.getAnswer() \u003d\u003d Const.POINTS_NOT_SUBMITTED) {"},{"lineNumber":637,"author":{"gitId":"-"},"content":" assertEquals(getSelectedDropdownOptionText(recipientDropdowns.get(i)), \"\");"},{"lineNumber":638,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":639,"author":{"gitId":"-"},"content":" assertEquals(getSelectedDropdownOptionText(recipientDropdowns.get(i)),"},{"lineNumber":640,"author":{"gitId":"-"},"content":" Integer.toString(response.getAnswer()));"},{"lineNumber":641,"author":{"gitId":"-"},"content":" }"},{"lineNumber":642,"author":{"gitId":"-"},"content":" }"},{"lineNumber":643,"author":{"gitId":"-"},"content":" }"},{"lineNumber":644,"author":{"gitId":"-"},"content":""},{"lineNumber":645,"author":{"gitId":"-"},"content":" private String getCourseId() {"},{"lineNumber":646,"author":{"gitId":"-"},"content":" return browser.driver.findElement(By.id(\"course-id\")).getText();"},{"lineNumber":647,"author":{"gitId":"-"},"content":" }"},{"lineNumber":648,"author":{"gitId":"-"},"content":""},{"lineNumber":649,"author":{"gitId":"-"},"content":" private String getCourseName() {"},{"lineNumber":650,"author":{"gitId":"-"},"content":" return browser.driver.findElement(By.id(\"course-name\")).getText();"},{"lineNumber":651,"author":{"gitId":"-"},"content":" }"},{"lineNumber":652,"author":{"gitId":"-"},"content":""},{"lineNumber":653,"author":{"gitId":"-"},"content":" private String getCourseInstitute() {"},{"lineNumber":654,"author":{"gitId":"-"},"content":" return browser.driver.findElement(By.id(\"course-institute\")).getText();"},{"lineNumber":655,"author":{"gitId":"-"},"content":" }"},{"lineNumber":656,"author":{"gitId":"-"},"content":""},{"lineNumber":657,"author":{"gitId":"-"},"content":" private String getFeedbackSessionName() {"},{"lineNumber":658,"author":{"gitId":"-"},"content":" return browser.driver.findElement(By.id(\"fs-name\")).getText();"},{"lineNumber":659,"author":{"gitId":"-"},"content":" }"},{"lineNumber":660,"author":{"gitId":"-"},"content":""},{"lineNumber":661,"author":{"gitId":"-"},"content":" private String getOpeningTime() {"},{"lineNumber":662,"author":{"gitId":"-"},"content":" return browser.driver.findElement(By.id(\"opening-time\")).getText();"},{"lineNumber":663,"author":{"gitId":"-"},"content":" }"},{"lineNumber":664,"author":{"gitId":"-"},"content":""},{"lineNumber":665,"author":{"gitId":"-"},"content":" private String getClosingTime() {"},{"lineNumber":666,"author":{"gitId":"-"},"content":" return browser.driver.findElement(By.id(\"closing-time\")).getText();"},{"lineNumber":667,"author":{"gitId":"-"},"content":" }"},{"lineNumber":668,"author":{"gitId":"-"},"content":""},{"lineNumber":669,"author":{"gitId":"-"},"content":" private String getInstructions() {"},{"lineNumber":670,"author":{"gitId":"-"},"content":" return browser.driver.findElement(By.id(\"instructions\")).getAttribute(\"innerHTML\");"},{"lineNumber":671,"author":{"gitId":"-"},"content":" }"},{"lineNumber":672,"author":{"gitId":"-"},"content":""},{"lineNumber":673,"author":{"gitId":"-"},"content":" private void assertDateEquals(String actual, Instant instant, String timeZone) {"},{"lineNumber":674,"author":{"gitId":"-"},"content":" String dateStrWithAbbr \u003d getDateStringWithAbbr(instant, timeZone);"},{"lineNumber":675,"author":{"gitId":"-"},"content":" String dateStrWithOffset \u003d getDateStringWithOffset(instant, timeZone);"},{"lineNumber":676,"author":{"gitId":"-"},"content":""},{"lineNumber":677,"author":{"gitId":"-"},"content":" boolean isExpected \u003d actual.equals(dateStrWithAbbr) || actual.equals(dateStrWithOffset);"},{"lineNumber":678,"author":{"gitId":"-"},"content":" assertTrue(isExpected);"},{"lineNumber":679,"author":{"gitId":"-"},"content":" }"},{"lineNumber":680,"author":{"gitId":"-"},"content":""},{"lineNumber":681,"author":{"gitId":"-"},"content":" private String getDateStringWithAbbr(Instant instant, String timeZone) {"},{"lineNumber":682,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timeZone, \"EE, dd MMM, yyyy, hh:mm a z\");"},{"lineNumber":683,"author":{"gitId":"-"},"content":" }"},{"lineNumber":684,"author":{"gitId":"-"},"content":""},{"lineNumber":685,"author":{"gitId":"-"},"content":" private String getDateStringWithOffset(Instant instant, String timeZone) {"},{"lineNumber":686,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timeZone, \"EE, dd MMM, yyyy, hh:mm a X\");"},{"lineNumber":687,"author":{"gitId":"-"},"content":" }"},{"lineNumber":688,"author":{"gitId":"-"},"content":""},{"lineNumber":689,"author":{"gitId":"-"},"content":" private WebElement getQuestionForm(int qnNumber) {"},{"lineNumber":690,"author":{"gitId":"-"},"content":" By questionFormId \u003d By.id(\"question-submission-form-qn-\" + qnNumber);"},{"lineNumber":691,"author":{"gitId":"-"},"content":" waitForElementPresence(questionFormId);"},{"lineNumber":692,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d browser.driver.findElement(questionFormId);"},{"lineNumber":693,"author":{"gitId":"-"},"content":" // Scroll to the question to ensure that the details are fully loaded"},{"lineNumber":694,"author":{"gitId":"-"},"content":" scrollElementToCenter(questionForm);"},{"lineNumber":695,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish();"},{"lineNumber":696,"author":{"gitId":"-"},"content":" return questionForm;"},{"lineNumber":697,"author":{"gitId":"-"},"content":" }"},{"lineNumber":698,"author":{"gitId":"-"},"content":""},{"lineNumber":699,"author":{"gitId":"-"},"content":" private String getQuestionBrief(int qnNumber) {"},{"lineNumber":700,"author":{"gitId":"-"},"content":" String questionDetails \u003d getQuestionForm(qnNumber).findElement(By.className(\"question-details\")).getText();"},{"lineNumber":701,"author":{"gitId":"-"},"content":" return questionDetails.split(\": \")[1];"},{"lineNumber":702,"author":{"gitId":"-"},"content":" }"},{"lineNumber":703,"author":{"gitId":"-"},"content":""},{"lineNumber":704,"author":{"gitId":"-"},"content":" private void verifyVisibilityList(int qnNumber, FeedbackQuestionAttributes questionAttributes) {"},{"lineNumber":705,"author":{"gitId":"-"},"content":" if (questionAttributes.getShowResponsesTo().isEmpty()) {"},{"lineNumber":706,"author":{"gitId":"-"},"content":" verifyVisibilityStringPresent(qnNumber, \"No-one can see your responses\");"},{"lineNumber":707,"author":{"gitId":"-"},"content":" }"},{"lineNumber":708,"author":{"gitId":"-"},"content":" if (questionAttributes.getRecipientType().equals(FeedbackParticipantType.SELF)) {"},{"lineNumber":709,"author":{"gitId":"-"},"content":" verifyVisibilityStringPresent(qnNumber, \"You can see your own feedback in the results page later on.\");"},{"lineNumber":710,"author":{"gitId":"-"},"content":" }"},{"lineNumber":711,"author":{"gitId":"-"},"content":" for (FeedbackParticipantType viewerType : questionAttributes.getShowResponsesTo()) {"},{"lineNumber":712,"author":{"gitId":"-"},"content":" verifyVisibilityStringPresent(qnNumber, getVisibilityString(questionAttributes, viewerType));"},{"lineNumber":713,"author":{"gitId":"-"},"content":" }"},{"lineNumber":714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":715,"author":{"gitId":"-"},"content":""},{"lineNumber":716,"author":{"gitId":"-"},"content":" private void verifyVisibilityStringPresent(int qnNumber, String expectedString) {"},{"lineNumber":717,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e visibilityStrings \u003d getQuestionForm(qnNumber).findElement(By.className(\"visibility-list\"))"},{"lineNumber":718,"author":{"gitId":"-"},"content":" .findElements(By.tagName(\"li\"));"},{"lineNumber":719,"author":{"gitId":"-"},"content":" for (WebElement visibilityString : visibilityStrings) {"},{"lineNumber":720,"author":{"gitId":"-"},"content":" if (visibilityString.getText().equals(expectedString)) {"},{"lineNumber":721,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":722,"author":{"gitId":"-"},"content":" }"},{"lineNumber":723,"author":{"gitId":"-"},"content":" }"},{"lineNumber":724,"author":{"gitId":"-"},"content":" fail(\"Expected visibility string not found: \" + qnNumber + \": \" + expectedString);"},{"lineNumber":725,"author":{"gitId":"-"},"content":" }"},{"lineNumber":726,"author":{"gitId":"-"},"content":""},{"lineNumber":727,"author":{"gitId":"-"},"content":" private String getVisibilityString(FeedbackQuestionAttributes questionAttributes,"},{"lineNumber":728,"author":{"gitId":"-"},"content":" FeedbackParticipantType viewerType) {"},{"lineNumber":729,"author":{"gitId":"-"},"content":" if (!questionAttributes.getShowResponsesTo().contains(viewerType)) {"},{"lineNumber":730,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":731,"author":{"gitId":"-"},"content":" }"},{"lineNumber":732,"author":{"gitId":"-"},"content":""},{"lineNumber":733,"author":{"gitId":"-"},"content":" StringBuilder message \u003d new StringBuilder(getViewerString(viewerType, questionAttributes.getRecipientType()));"},{"lineNumber":734,"author":{"gitId":"-"},"content":" message.append(\" can see your response\");"},{"lineNumber":735,"author":{"gitId":"-"},"content":" if (questionAttributes.getShowRecipientNameTo().contains(viewerType)) {"},{"lineNumber":736,"author":{"gitId":"-"},"content":" message.append(\", the name of the recipient\");"},{"lineNumber":737,"author":{"gitId":"-"},"content":" if (questionAttributes.getShowGiverNameTo().contains(viewerType)) {"},{"lineNumber":738,"author":{"gitId":"-"},"content":" message.append(\", and your name\");"},{"lineNumber":739,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":740,"author":{"gitId":"-"},"content":" message.append(\", but not your name\");"},{"lineNumber":741,"author":{"gitId":"-"},"content":" }"},{"lineNumber":742,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":743,"author":{"gitId":"-"},"content":" if (questionAttributes.getShowGiverNameTo().contains(viewerType)) {"},{"lineNumber":744,"author":{"gitId":"-"},"content":" message.append(\", and your name, but not the name of the recipient\");"},{"lineNumber":745,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":746,"author":{"gitId":"-"},"content":" message.append(\", but not the name of the recipient, or your name\");"},{"lineNumber":747,"author":{"gitId":"-"},"content":" }"},{"lineNumber":748,"author":{"gitId":"-"},"content":" }"},{"lineNumber":749,"author":{"gitId":"-"},"content":" return message.toString();"},{"lineNumber":750,"author":{"gitId":"-"},"content":" }"},{"lineNumber":751,"author":{"gitId":"-"},"content":""},{"lineNumber":752,"author":{"gitId":"-"},"content":" private String getViewerString(FeedbackParticipantType viewerType, FeedbackParticipantType recipientType) {"},{"lineNumber":753,"author":{"gitId":"-"},"content":" switch (viewerType) {"},{"lineNumber":754,"author":{"gitId":"-"},"content":" case RECEIVER:"},{"lineNumber":755,"author":{"gitId":"-"},"content":" return \"The receiving \" + getRecipientString(recipientType);"},{"lineNumber":756,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":757,"author":{"gitId":"-"},"content":" return \"Your team members\";"},{"lineNumber":758,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":759,"author":{"gitId":"-"},"content":" return \"Other students in the course\";"},{"lineNumber":760,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":761,"author":{"gitId":"-"},"content":" return \"Instructors in this course\";"},{"lineNumber":762,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":763,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unknown viewer type\");"},{"lineNumber":764,"author":{"gitId":"-"},"content":" }"},{"lineNumber":765,"author":{"gitId":"-"},"content":" }"},{"lineNumber":766,"author":{"gitId":"-"},"content":""},{"lineNumber":767,"author":{"gitId":"-"},"content":" private String getRecipientString(FeedbackParticipantType recipientType) {"},{"lineNumber":768,"author":{"gitId":"-"},"content":" switch (recipientType) {"},{"lineNumber":769,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":770,"author":{"gitId":"-"},"content":" case TEAMS_EXCLUDING_SELF:"},{"lineNumber":771,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":772,"author":{"gitId":"-"},"content":" return \"teams\";"},{"lineNumber":773,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":774,"author":{"gitId":"-"},"content":" return \"student\";"},{"lineNumber":775,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":776,"author":{"gitId":"-"},"content":" case STUDENTS_EXCLUDING_SELF:"},{"lineNumber":777,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":778,"author":{"gitId":"-"},"content":" return \"students\";"},{"lineNumber":779,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":780,"author":{"gitId":"-"},"content":" return \"instructors\";"},{"lineNumber":781,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":782,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unknown recipientType\");"},{"lineNumber":783,"author":{"gitId":"-"},"content":" }"},{"lineNumber":784,"author":{"gitId":"-"},"content":" }"},{"lineNumber":785,"author":{"gitId":"-"},"content":""},{"lineNumber":786,"author":{"gitId":"-"},"content":" public void clickSubmitQuestionButton(int qnNumber) {"},{"lineNumber":787,"author":{"gitId":"-"},"content":" WebElement submitQnButton \u003d waitForElementPresence(By.id(\"btn-submit-qn-\" + qnNumber));"},{"lineNumber":788,"author":{"gitId":"-"},"content":" clickAndConfirm(submitQnButton);"},{"lineNumber":789,"author":{"gitId":"-"},"content":" }"},{"lineNumber":790,"author":{"gitId":"-"},"content":""},{"lineNumber":791,"author":{"gitId":"-"},"content":" public void clickSubmitAllQuestionsButton() {"},{"lineNumber":792,"author":{"gitId":"-"},"content":" clickAndConfirm(getSubmitAllQuestionsButton());"},{"lineNumber":793,"author":{"gitId":"-"},"content":" }"},{"lineNumber":794,"author":{"gitId":"-"},"content":""},{"lineNumber":795,"author":{"gitId":"-"},"content":" private WebElement getSubmitAllQuestionsButton() {"},{"lineNumber":796,"author":{"gitId":"-"},"content":" return waitForElementPresence(By.id(\"btn-submit\"));"},{"lineNumber":797,"author":{"gitId":"-"},"content":" }"},{"lineNumber":798,"author":{"gitId":"-"},"content":""},{"lineNumber":799,"author":{"gitId":"-"},"content":" private String getQuestionDescription(int qnNumber) {"},{"lineNumber":800,"author":{"gitId":"-"},"content":" return getQuestionForm(qnNumber).findElement(By.className(\"question-description\")).getAttribute(\"innerHTML\");"},{"lineNumber":801,"author":{"gitId":"-"},"content":" }"},{"lineNumber":802,"author":{"gitId":"-"},"content":""},{"lineNumber":803,"author":{"gitId":"-"},"content":" private WebElement getCommentSection(int qnNumber, String recipient) {"},{"lineNumber":804,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":805,"author":{"gitId":"-"},"content":" return getQuestionForm(qnNumber).findElement(By.id(\"comment-section-qn-\" + qnNumber + \"-idx-\" + recipientIndex));"},{"lineNumber":806,"author":{"gitId":"-"},"content":" }"},{"lineNumber":807,"author":{"gitId":"-"},"content":""},{"lineNumber":808,"author":{"gitId":"-"},"content":" private void writeToCommentEditor(WebElement commentSection, String comment) {"},{"lineNumber":809,"author":{"gitId":"-"},"content":" scrollElementToCenter(commentSection);"},{"lineNumber":810,"author":{"gitId":"-"},"content":" waitForElementPresence(By.tagName(\"editor\"));"},{"lineNumber":811,"author":{"gitId":"-"},"content":" writeToRichTextEditor(commentSection.findElement(By.tagName(\"editor\")), comment);"},{"lineNumber":812,"author":{"gitId":"-"},"content":" }"},{"lineNumber":813,"author":{"gitId":"-"},"content":""},{"lineNumber":814,"author":{"gitId":"-"},"content":" private int getRecipientIndex(int qnNumber, String recipient) {"},{"lineNumber":815,"author":{"gitId":"-"},"content":" // For questions with recipient none or self."},{"lineNumber":816,"author":{"gitId":"-"},"content":" if (recipient.isEmpty()) {"},{"lineNumber":817,"author":{"gitId":"-"},"content":" return 0;"},{"lineNumber":818,"author":{"gitId":"-"},"content":" }"},{"lineNumber":819,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":820,"author":{"gitId":"-"},"content":" // For questions with flexible recipient."},{"lineNumber":821,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":822,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e recipientDropdowns \u003d"},{"lineNumber":823,"author":{"gitId":"-"},"content":" questionForm.findElements(By.cssSelector(\"[id^\u003d\u0027recipient-dropdown-qn-\u0027]\"));"},{"lineNumber":824,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c recipientDropdowns.size(); i++) {"},{"lineNumber":825,"author":{"gitId":"-"},"content":" String dropdownText \u003d getSelectedDropdownOptionText(recipientDropdowns.get(i));"},{"lineNumber":826,"author":{"gitId":"-"},"content":" if (dropdownText.isEmpty()) {"},{"lineNumber":827,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(recipientDropdowns.get(i), recipient);"},{"lineNumber":828,"author":{"gitId":"-"},"content":" return i;"},{"lineNumber":829,"author":{"gitId":"-"},"content":" } else if (dropdownText.equals(recipient)) {"},{"lineNumber":830,"author":{"gitId":"-"},"content":" return i;"},{"lineNumber":831,"author":{"gitId":"-"},"content":" }"},{"lineNumber":832,"author":{"gitId":"-"},"content":" }"},{"lineNumber":833,"author":{"gitId":"-"},"content":" } catch (NoSuchElementException e) {"},{"lineNumber":834,"author":{"gitId":"-"},"content":" // continue"},{"lineNumber":835,"author":{"gitId":"-"},"content":" }"},{"lineNumber":836,"author":{"gitId":"-"},"content":" int limit \u003d 20; // we are not likely to set test data exceeding this number"},{"lineNumber":837,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c limit; i++) {"},{"lineNumber":838,"author":{"gitId":"-"},"content":" if (questionForm.findElement(By.id(\"recipient-name-qn-\" + qnNumber + \"-idx-\" + i))"},{"lineNumber":839,"author":{"gitId":"-"},"content":" .getText().contains(recipient)) {"},{"lineNumber":840,"author":{"gitId":"-"},"content":" return i;"},{"lineNumber":841,"author":{"gitId":"-"},"content":" }"},{"lineNumber":842,"author":{"gitId":"-"},"content":" }"},{"lineNumber":843,"author":{"gitId":"-"},"content":" return -1;"},{"lineNumber":844,"author":{"gitId":"-"},"content":" }"},{"lineNumber":845,"author":{"gitId":"-"},"content":""},{"lineNumber":846,"author":{"gitId":"-"},"content":" private WebElement getTextResponseEditor(int qnNumber, String recipient) {"},{"lineNumber":847,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":848,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":849,"author":{"gitId":"-"},"content":" WebElement editor \u003d questionForm.findElements(By.tagName(\"tm-rich-text-editor\")).get(recipientIndex);"},{"lineNumber":850,"author":{"gitId":"-"},"content":" scrollElementToCenter(editor);"},{"lineNumber":851,"author":{"gitId":"-"},"content":" return editor;"},{"lineNumber":852,"author":{"gitId":"-"},"content":" }"},{"lineNumber":853,"author":{"gitId":"-"},"content":""},{"lineNumber":854,"author":{"gitId":"-"},"content":" private String getResponseLengthText(int qnNumber, String recipient) {"},{"lineNumber":855,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":856,"author":{"gitId":"-"},"content":" return getQuestionForm(qnNumber).findElements(By.id(\"response-length\")).get(recipientIndex).getText();"},{"lineNumber":857,"author":{"gitId":"-"},"content":" }"},{"lineNumber":858,"author":{"gitId":"-"},"content":""},{"lineNumber":859,"author":{"gitId":"-"},"content":" private String getDoubleString(Double value) {"},{"lineNumber":860,"author":{"gitId":"-"},"content":" return value % 1 \u003d\u003d 0 ? Integer.toString(value.intValue()) : Double.toString(value);"},{"lineNumber":861,"author":{"gitId":"-"},"content":" }"},{"lineNumber":862,"author":{"gitId":"-"},"content":""},{"lineNumber":863,"author":{"gitId":"-"},"content":" private WebElement getMcqSection(int qnNumber, String recipient) {"},{"lineNumber":864,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":865,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":866,"author":{"gitId":"-"},"content":" return questionForm.findElements(By.tagName(\"tm-mcq-question-edit-answer-form\")).get(recipientIndex);"},{"lineNumber":867,"author":{"gitId":"-"},"content":" }"},{"lineNumber":868,"author":{"gitId":"-"},"content":""},{"lineNumber":869,"author":{"gitId":"-"},"content":" private WebElement getMcqOtherOptionRadioBtn(int qnNumber, String recipient) {"},{"lineNumber":870,"author":{"gitId":"-"},"content":" WebElement mcqSection \u003d getMcqSection(qnNumber, recipient);"},{"lineNumber":871,"author":{"gitId":"-"},"content":" return mcqSection.findElement(By.cssSelector(\"#other-option input[type\u003dradio]\"));"},{"lineNumber":872,"author":{"gitId":"-"},"content":" }"},{"lineNumber":873,"author":{"gitId":"-"},"content":""},{"lineNumber":874,"author":{"gitId":"-"},"content":" private WebElement getMcqOtherOptionTextbox(int qnNumber, String recipient) {"},{"lineNumber":875,"author":{"gitId":"-"},"content":" WebElement mcqSection \u003d getMcqSection(qnNumber, recipient);"},{"lineNumber":876,"author":{"gitId":"-"},"content":" return mcqSection.findElement(By.cssSelector(\"#other-option input[type\u003dtext]\"));"},{"lineNumber":877,"author":{"gitId":"-"},"content":" }"},{"lineNumber":878,"author":{"gitId":"-"},"content":""},{"lineNumber":879,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getMcqOptions(int qnNumber, String recipient) {"},{"lineNumber":880,"author":{"gitId":"-"},"content":" WebElement mcqSection \u003d getMcqSection(qnNumber, recipient);"},{"lineNumber":881,"author":{"gitId":"-"},"content":" return mcqSection.findElements(By.className(\"option-text\"));"},{"lineNumber":882,"author":{"gitId":"-"},"content":" }"},{"lineNumber":883,"author":{"gitId":"-"},"content":""},{"lineNumber":884,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getMcqRadioBtns(int qnNumber, String recipient) {"},{"lineNumber":885,"author":{"gitId":"-"},"content":" WebElement mcqSection \u003d getMcqSection(qnNumber, recipient);"},{"lineNumber":886,"author":{"gitId":"-"},"content":" return mcqSection.findElements(By.cssSelector(\"input[type\u003dradio]\"));"},{"lineNumber":887,"author":{"gitId":"-"},"content":" }"},{"lineNumber":888,"author":{"gitId":"-"},"content":""},{"lineNumber":889,"author":{"gitId":"-"},"content":" private WebElement getMsqSection(int qnNumber, String recipient) {"},{"lineNumber":890,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":891,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":892,"author":{"gitId":"-"},"content":" return questionForm.findElements(By.tagName(\"tm-msq-question-edit-answer-form\")).get(recipientIndex);"},{"lineNumber":893,"author":{"gitId":"-"},"content":" }"},{"lineNumber":894,"author":{"gitId":"-"},"content":""},{"lineNumber":895,"author":{"gitId":"-"},"content":" private WebElement getMsqOtherOptionCheckbox(int qnNumber, String recipient) {"},{"lineNumber":896,"author":{"gitId":"-"},"content":" WebElement msqSection \u003d getMsqSection(qnNumber, recipient);"},{"lineNumber":897,"author":{"gitId":"-"},"content":" return msqSection.findElement(By.cssSelector(\"#other-option input[type\u003dcheckbox]\"));"},{"lineNumber":898,"author":{"gitId":"-"},"content":" }"},{"lineNumber":899,"author":{"gitId":"-"},"content":""},{"lineNumber":900,"author":{"gitId":"-"},"content":" private WebElement getMsqOtherOptionTextbox(int qnNumber, String recipient) {"},{"lineNumber":901,"author":{"gitId":"-"},"content":" WebElement msqSection \u003d getMsqSection(qnNumber, recipient);"},{"lineNumber":902,"author":{"gitId":"-"},"content":" return msqSection.findElement(By.cssSelector(\"#other-option input[type\u003dtext]\"));"},{"lineNumber":903,"author":{"gitId":"-"},"content":" }"},{"lineNumber":904,"author":{"gitId":"-"},"content":""},{"lineNumber":905,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getMsqOptions(int qnNumber, String recipient) {"},{"lineNumber":906,"author":{"gitId":"-"},"content":" WebElement msqSection \u003d getMsqSection(qnNumber, recipient);"},{"lineNumber":907,"author":{"gitId":"-"},"content":" return msqSection.findElements(By.tagName(\"strong\"));"},{"lineNumber":908,"author":{"gitId":"-"},"content":" }"},{"lineNumber":909,"author":{"gitId":"-"},"content":""},{"lineNumber":910,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getMsqCheckboxes(int qnNumber, String recipient) {"},{"lineNumber":911,"author":{"gitId":"-"},"content":" WebElement msqSection \u003d getMsqSection(qnNumber, recipient);"},{"lineNumber":912,"author":{"gitId":"-"},"content":" return msqSection.findElements(By.cssSelector(\"input[type\u003dcheckbox]\"));"},{"lineNumber":913,"author":{"gitId":"-"},"content":" }"},{"lineNumber":914,"author":{"gitId":"-"},"content":""},{"lineNumber":915,"author":{"gitId":"-"},"content":" private WebElement getNumScaleSection(int qnNumber, String recipient) {"},{"lineNumber":916,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":917,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":918,"author":{"gitId":"-"},"content":" return questionForm.findElements(By.tagName(\"tm-num-scale-question-edit-answer-form\")).get(recipientIndex);"},{"lineNumber":919,"author":{"gitId":"-"},"content":" }"},{"lineNumber":920,"author":{"gitId":"-"},"content":""},{"lineNumber":921,"author":{"gitId":"-"},"content":" private WebElement getNumScaleInput(int qnNumber, String recipient) {"},{"lineNumber":922,"author":{"gitId":"-"},"content":" WebElement numScaleSection \u003d getNumScaleSection(qnNumber, recipient);"},{"lineNumber":923,"author":{"gitId":"-"},"content":" return numScaleSection.findElement(By.tagName(\"input\"));"},{"lineNumber":924,"author":{"gitId":"-"},"content":" }"},{"lineNumber":925,"author":{"gitId":"-"},"content":""},{"lineNumber":926,"author":{"gitId":"-"},"content":" private WebElement getConstSumOptionsSection(int qnNumber, String recipient) {"},{"lineNumber":927,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":928,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":929,"author":{"gitId":"-"},"content":" return questionForm.findElements(By.tagName(\"tm-constsum-options-question-edit-answer-form\")).get(recipientIndex);"},{"lineNumber":930,"author":{"gitId":"-"},"content":" }"},{"lineNumber":931,"author":{"gitId":"-"},"content":""},{"lineNumber":932,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getConstSumOptions(int qnNumber, String recipient) {"},{"lineNumber":933,"author":{"gitId":"-"},"content":" WebElement constSumOptionSection \u003d getConstSumOptionsSection(qnNumber, recipient);"},{"lineNumber":934,"author":{"gitId":"-"},"content":" return constSumOptionSection.findElements(By.tagName(\"strong\"));"},{"lineNumber":935,"author":{"gitId":"-"},"content":" }"},{"lineNumber":936,"author":{"gitId":"-"},"content":""},{"lineNumber":937,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getConstSumInputs(int qnNumber, String recipient) {"},{"lineNumber":938,"author":{"gitId":"-"},"content":" WebElement constSumOptionSection \u003d getConstSumOptionsSection(qnNumber, recipient);"},{"lineNumber":939,"author":{"gitId":"-"},"content":" return constSumOptionSection.findElements(By.cssSelector(\"input[type\u003dnumber]\"));"},{"lineNumber":940,"author":{"gitId":"-"},"content":" }"},{"lineNumber":941,"author":{"gitId":"-"},"content":""},{"lineNumber":942,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getConstSumRecipientInputs(int qnNumber) {"},{"lineNumber":943,"author":{"gitId":"-"},"content":" return getQuestionForm(qnNumber).findElements(By.cssSelector(\"input[type\u003dnumber]\"));"},{"lineNumber":944,"author":{"gitId":"-"},"content":" }"},{"lineNumber":945,"author":{"gitId":"-"},"content":""},{"lineNumber":946,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getContributionDropdowns(int questionNum) {"},{"lineNumber":947,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElements(By.tagName(\"select\"));"},{"lineNumber":948,"author":{"gitId":"-"},"content":" }"},{"lineNumber":949,"author":{"gitId":"-"},"content":""},{"lineNumber":950,"author":{"gitId":"-"},"content":" private String getContributionString(int answer) {"},{"lineNumber":951,"author":{"gitId":"-"},"content":" if (answer \u003d\u003d Const.POINTS_NOT_SURE) {"},{"lineNumber":952,"author":{"gitId":"-"},"content":" return \"Not Sure\";"},{"lineNumber":953,"author":{"gitId":"-"},"content":" } else if (answer \u003d\u003d Const.POINTS_EQUAL_SHARE) {"},{"lineNumber":954,"author":{"gitId":"-"},"content":" return \"Equal share\";"},{"lineNumber":955,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":956,"author":{"gitId":"-"},"content":" return \"Equal share\" + (answer \u003e 100 ? \" + \" : \" - \") + Math.abs(answer - 100) + \"%\";"},{"lineNumber":957,"author":{"gitId":"-"},"content":" }"},{"lineNumber":958,"author":{"gitId":"-"},"content":" }"},{"lineNumber":959,"author":{"gitId":"-"},"content":""},{"lineNumber":960,"author":{"gitId":"-"},"content":" private WebElement getRubricSection(int qnNumber, String recipient) {"},{"lineNumber":961,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":962,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":963,"author":{"gitId":"-"},"content":" return questionForm.findElements(By.tagName(\"tm-rubric-question-edit-answer-form\")).get(recipientIndex);"},{"lineNumber":964,"author":{"gitId":"-"},"content":" }"},{"lineNumber":965,"author":{"gitId":"-"},"content":""},{"lineNumber":966,"author":{"gitId":"-"},"content":" private WebElement getRubricTable(int qnNumber, String recipient) {"},{"lineNumber":967,"author":{"gitId":"-"},"content":" return getRubricSection(qnNumber, recipient).findElement(By.tagName(\"table\"));"},{"lineNumber":968,"author":{"gitId":"-"},"content":" }"},{"lineNumber":969,"author":{"gitId":"-"},"content":""},{"lineNumber":970,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getRubricInputs(int qnNumber, String recipient, int rowNumber) {"},{"lineNumber":971,"author":{"gitId":"-"},"content":" WebElement rubricRow \u003d getRubricSection(qnNumber, recipient).findElements(By.tagName(\"tr\")).get(rowNumber - 1);"},{"lineNumber":972,"author":{"gitId":"-"},"content":" return rubricRow.findElements(By.tagName(\"input\"));"},{"lineNumber":973,"author":{"gitId":"-"},"content":" }"},{"lineNumber":974,"author":{"gitId":"-"},"content":""},{"lineNumber":975,"author":{"gitId":"-"},"content":" private WebElement getRankOptionsSection(int qnNumber, String recipient) {"},{"lineNumber":976,"author":{"gitId":"-"},"content":" int recipientIndex \u003d getRecipientIndex(qnNumber, recipient);"},{"lineNumber":977,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(qnNumber);"},{"lineNumber":978,"author":{"gitId":"-"},"content":" return questionForm.findElements(By.tagName(\"tm-rank-options-question-edit-answer-form\")).get(recipientIndex);"},{"lineNumber":979,"author":{"gitId":"-"},"content":" }"},{"lineNumber":980,"author":{"gitId":"-"},"content":""},{"lineNumber":981,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getRankOptions(int questionNum, String recipient) {"},{"lineNumber":982,"author":{"gitId":"-"},"content":" WebElement rankSection \u003d getRankOptionsSection(questionNum, recipient);"},{"lineNumber":983,"author":{"gitId":"-"},"content":" return rankSection.findElements(By.tagName(\"strong\"));"},{"lineNumber":984,"author":{"gitId":"-"},"content":" }"},{"lineNumber":985,"author":{"gitId":"-"},"content":""},{"lineNumber":986,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getRankOptionsDropdowns(int questionNum, String recipient) {"},{"lineNumber":987,"author":{"gitId":"-"},"content":" WebElement rankSection \u003d getRankOptionsSection(questionNum, recipient);"},{"lineNumber":988,"author":{"gitId":"-"},"content":" return rankSection.findElements(By.tagName(\"select\"));"},{"lineNumber":989,"author":{"gitId":"-"},"content":" }"},{"lineNumber":990,"author":{"gitId":"-"},"content":""},{"lineNumber":991,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getRankRecipientDropdowns(int questionNum) {"},{"lineNumber":992,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElements(By.tagName(\"select\"));"},{"lineNumber":993,"author":{"gitId":"-"},"content":" }"},{"lineNumber":994,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":13,"dishenggg":45,"mingyuanc":14,"-":922}},{"path":"src/e2e/java/teammates/e2e/pageobjects/InstructorFeedbackEditPage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.pageobjects;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertFalse;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertTrue;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.openqa.selenium.By;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.openqa.selenium.Keys;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebElement;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import org.openqa.selenium.support.FindBy;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackConstantSumQuestionDetails;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackContributionQuestionDetails;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMcqQuestionDetails;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMsqQuestionDetails;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackNumericalScaleQuestionDetails;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionType;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankOptionsQuestionDetails;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankQuestionDetails;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRubricQuestionDetails;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackTextQuestionDetails;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.test.ThreadHelper;"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":40,"author":{"gitId":"-"},"content":" * Represents the instructor feedback edit page of the website."},{"lineNumber":41,"author":{"gitId":"-"},"content":" */"},{"lineNumber":42,"author":{"gitId":"-"},"content":"public class InstructorFeedbackEditPage extends AppPage {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String CUSTOM_FEEDBACK_PATH_OPTION \u003d \"Custom feedback path\";"},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_PATH_SEPARATOR \u003d \" will give feedback on \";"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final String CUSTOM_VISIBILITY_OPTION \u003d \"Custom visibility options\";"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-fs-edit\")"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private WebElement fsEditButton;"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-fs-save\")"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private WebElement fsSaveButton;"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-fs-copy\")"},{"lineNumber":54,"author":{"gitId":"-"},"content":" private WebElement fsCopyButton;"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"edit-course-id\")"},{"lineNumber":57,"author":{"gitId":"-"},"content":" private WebElement courseIdTextBox;"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"time-zone\")"},{"lineNumber":60,"author":{"gitId":"-"},"content":" private WebElement timezoneDropDown;"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"course-name\")"},{"lineNumber":63,"author":{"gitId":"-"},"content":" private WebElement courseNameTextBox;"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"edit-session-name\")"},{"lineNumber":66,"author":{"gitId":"-"},"content":" private WebElement sessionNameTextBox;"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"instructions\")"},{"lineNumber":69,"author":{"gitId":"-"},"content":" private WebElement instructionsEditor;"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"submission-start-date\")"},{"lineNumber":72,"author":{"gitId":"-"},"content":" private WebElement startDateBox;"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"submission-start-time\")"},{"lineNumber":75,"author":{"gitId":"-"},"content":" private WebElement startTimeDropdown;"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"submission-end-date\")"},{"lineNumber":78,"author":{"gitId":"-"},"content":" private WebElement endDateBox;"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"submission-end-time\")"},{"lineNumber":81,"author":{"gitId":"-"},"content":" private WebElement endTimeDropdown;"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"grace-period\")"},{"lineNumber":84,"author":{"gitId":"-"},"content":" private WebElement gracePeriodDropdown;"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"submission-status\")"},{"lineNumber":87,"author":{"gitId":"-"},"content":" private WebElement submissionStatusTextBox;"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"published-status\")"},{"lineNumber":90,"author":{"gitId":"-"},"content":" private WebElement publishStatusTextBox;"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-change-visibility\")"},{"lineNumber":93,"author":{"gitId":"-"},"content":" private WebElement changeVisibilityButton;"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"session-visibility-custom\")"},{"lineNumber":96,"author":{"gitId":"-"},"content":" private WebElement customSessionVisibleTimeButton;"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"session-visibility-date\")"},{"lineNumber":99,"author":{"gitId":"-"},"content":" private WebElement sessionVisibilityDateBox;"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"session-visibility-time\")"},{"lineNumber":102,"author":{"gitId":"-"},"content":" private WebElement sessionVisibilityTimeDropdown;"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"session-visibility-at-open\")"},{"lineNumber":105,"author":{"gitId":"-"},"content":" private WebElement openSessionVisibleTimeButton;"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"response-visibility-custom\")"},{"lineNumber":108,"author":{"gitId":"-"},"content":" private WebElement customResponseVisibleTimeButton;"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"response-visibility-date\")"},{"lineNumber":111,"author":{"gitId":"-"},"content":" private WebElement responseVisibilityDateBox;"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"response-visibility-time\")"},{"lineNumber":114,"author":{"gitId":"-"},"content":" private WebElement responseVisibilityTimeDropdown;"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"response-visibility-immediately\")"},{"lineNumber":117,"author":{"gitId":"-"},"content":" private WebElement immediateResponseVisibleTimeButton;"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"response-visibility-manually\")"},{"lineNumber":120,"author":{"gitId":"-"},"content":" private WebElement manualResponseVisibleTimeButton;"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-change-email\")"},{"lineNumber":123,"author":{"gitId":"-"},"content":" private WebElement changeEmailButton;"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"email-opening\")"},{"lineNumber":126,"author":{"gitId":"-"},"content":" private WebElement openingSessionEmailCheckbox;"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"email-closing\")"},{"lineNumber":129,"author":{"gitId":"-"},"content":" private WebElement closingSessionEmailCheckbox;"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"email-published\")"},{"lineNumber":132,"author":{"gitId":"-"},"content":" private WebElement publishedSessionEmailCheckbox;"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-new-question\")"},{"lineNumber":135,"author":{"gitId":"-"},"content":" private WebElement addNewQuestionButton;"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-copy-question\")"},{"lineNumber":138,"author":{"gitId":"-"},"content":" private WebElement copyQuestionButton;"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"preview-student\")"},{"lineNumber":141,"author":{"gitId":"-"},"content":" private WebElement previewAsStudentDropdown;"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-preview-student\")"},{"lineNumber":144,"author":{"gitId":"-"},"content":" private WebElement previewAsStudentButton;"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"preview-instructor\")"},{"lineNumber":147,"author":{"gitId":"-"},"content":" private WebElement previewAsInstructorDropdown;"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" @FindBy(id \u003d \"btn-preview-instructor\")"},{"lineNumber":150,"author":{"gitId":"-"},"content":" private WebElement previewAsInstructorButton;"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" public InstructorFeedbackEditPage(Browser browser) {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" super(browser);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":157,"author":{"gitId":"-"},"content":" protected boolean containsExpectedPageContents() {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" return getPageTitle().contains(\"Edit Feedback Session\");"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" public void verifySessionDetails(CourseAttributes course, FeedbackSessionAttributes feedbackSession) {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" waitForElementPresence(By.id(\"instructions\"));"},{"lineNumber":163,"author":{"gitId":"-"},"content":" assertEquals(getCourseId(), course.getId());"},{"lineNumber":164,"author":{"gitId":"-"},"content":" assertEquals(getCourseName(), course.getName());"},{"lineNumber":165,"author":{"gitId":"-"},"content":" assertEquals(getTimeZone(), feedbackSession.getTimeZone());"},{"lineNumber":166,"author":{"gitId":"-"},"content":" assertEquals(getFeedbackSessionName(), feedbackSession.getFeedbackSessionName());"},{"lineNumber":167,"author":{"gitId":"-"},"content":" assertEquals(getInstructions(), feedbackSession.getInstructions());"},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertEquals(getStartDate(), getDateString(feedbackSession.getStartTime(), feedbackSession.getTimeZone()));"},{"lineNumber":169,"author":{"gitId":"-"},"content":" assertEquals(getStartTime(), getTimeString(feedbackSession.getStartTime(), feedbackSession.getTimeZone()));"},{"lineNumber":170,"author":{"gitId":"-"},"content":" assertEquals(getEndDate(), getDateString(feedbackSession.getEndTime(), feedbackSession.getTimeZone()));"},{"lineNumber":171,"author":{"gitId":"-"},"content":" assertEquals(getEndTime(), getTimeString(feedbackSession.getEndTime(), feedbackSession.getTimeZone()));"},{"lineNumber":172,"author":{"gitId":"-"},"content":" assertEquals(getGracePeriod(), feedbackSession.getGracePeriodMinutes() + \" min\");"},{"lineNumber":173,"author":{"gitId":"-"},"content":" verifySubmissionStatus(feedbackSession);"},{"lineNumber":174,"author":{"gitId":"-"},"content":" verifyPublishedStatus(feedbackSession);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" verifyVisibilitySettings(feedbackSession);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" verifyEmailSettings(feedbackSession);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" private void verifySubmissionStatus(FeedbackSessionAttributes feedbackSession) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" String submissionStatus \u003d getSubmissionStatus();"},{"lineNumber":181,"author":{"gitId":"-"},"content":" if (feedbackSession.isClosed()) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" assertEquals(submissionStatus, \"Closed\");"},{"lineNumber":183,"author":{"gitId":"-"},"content":" } else if (feedbackSession.isVisible() \u0026\u0026 (feedbackSession.isOpened() || feedbackSession.isInGracePeriod())) {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" assertEquals(submissionStatus, \"Open\");"},{"lineNumber":185,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" assertEquals(submissionStatus, \"Awaiting\");"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" private void verifyPublishedStatus(FeedbackSessionAttributes feedbackSession) {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" String publishedStatus \u003d getPublishedStatus();"},{"lineNumber":192,"author":{"gitId":"-"},"content":" if (feedbackSession.isPublished()) {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" assertEquals(publishedStatus, \"Published\");"},{"lineNumber":194,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" assertEquals(publishedStatus, \"Not Published\");"},{"lineNumber":196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" private void verifyVisibilitySettings(FeedbackSessionAttributes feedbackSession) {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" Instant sessionVisibleTime \u003d feedbackSession.getSessionVisibleFromTime();"},{"lineNumber":201,"author":{"gitId":"-"},"content":" Instant responseVisibleTime \u003d feedbackSession.getResultsVisibleFromTime();"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" // Default settings, assert setting section not expanded"},{"lineNumber":204,"author":{"gitId":"-"},"content":" if (sessionVisibleTime.equals(Const.TIME_REPRESENTS_FOLLOW_OPENING)"},{"lineNumber":205,"author":{"gitId":"-"},"content":" \u0026\u0026 responseVisibleTime.equals(Const.TIME_REPRESENTS_LATER)) {"},{"lineNumber":206,"author":{"gitId":"-"},"content":" assertTrue(isElementPresent(\"btn-change-visibility\"));"},{"lineNumber":207,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":208,"author":{"gitId":"-"},"content":" }"},{"lineNumber":209,"author":{"gitId":"-"},"content":" verifySessionVisibilitySettings(sessionVisibleTime, feedbackSession);"},{"lineNumber":210,"author":{"gitId":"-"},"content":" verifyResponseVisibilitySettings(responseVisibleTime, feedbackSession);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" private void verifySessionVisibilitySettings(Instant sessionVisibleTime,"},{"lineNumber":214,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes feedbackSession) {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" if (sessionVisibleTime.equals(Const.TIME_REPRESENTS_FOLLOW_OPENING)) {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" assertTrue(openSessionVisibleTimeButton.isSelected());"},{"lineNumber":217,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" assertTrue(customSessionVisibleTimeButton.isSelected());"},{"lineNumber":219,"author":{"gitId":"-"},"content":" assertEquals(getSessionVisibilityDate(), getDateString(feedbackSession.getSessionVisibleFromTime(),"},{"lineNumber":220,"author":{"gitId":"-"},"content":" feedbackSession.getTimeZone()));"},{"lineNumber":221,"author":{"gitId":"-"},"content":" assertEquals(getSessionVisibilityTime(), getTimeString(feedbackSession.getSessionVisibleFromTime(),"},{"lineNumber":222,"author":{"gitId":"-"},"content":" feedbackSession.getTimeZone()));"},{"lineNumber":223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" private void verifyResponseVisibilitySettings(Instant responseVisibleTime,"},{"lineNumber":227,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes feedbackSession) {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" if (responseVisibleTime.equals(Const.TIME_REPRESENTS_FOLLOW_VISIBLE)) {"},{"lineNumber":229,"author":{"gitId":"-"},"content":" assertTrue(immediateResponseVisibleTimeButton.isSelected());"},{"lineNumber":230,"author":{"gitId":"-"},"content":" } else if (responseVisibleTime.equals(Const.TIME_REPRESENTS_LATER)) {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" assertTrue(manualResponseVisibleTimeButton.isSelected());"},{"lineNumber":232,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" assertTrue(customSessionVisibleTimeButton.isSelected());"},{"lineNumber":234,"author":{"gitId":"-"},"content":" assertEquals(getResponseVisibilityDate(), getDateString(feedbackSession.getResultsVisibleFromTime(),"},{"lineNumber":235,"author":{"gitId":"-"},"content":" feedbackSession.getTimeZone()));"},{"lineNumber":236,"author":{"gitId":"-"},"content":" assertEquals(getResponseVisibilityTime(), getTimeString(feedbackSession.getResultsVisibleFromTime(),"},{"lineNumber":237,"author":{"gitId":"-"},"content":" feedbackSession.getTimeZone()));"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" private void verifyEmailSettings(FeedbackSessionAttributes feedbackSession) {"},{"lineNumber":242,"author":{"gitId":"-"},"content":" boolean isOpeningEmailEnabled \u003d feedbackSession.isOpeningEmailEnabled();"},{"lineNumber":243,"author":{"gitId":"-"},"content":" boolean isClosingEmailEnabled \u003d feedbackSession.isClosingEmailEnabled();"},{"lineNumber":244,"author":{"gitId":"-"},"content":" boolean isPublishedEmailEnabled \u003d feedbackSession.isPublishedEmailEnabled();"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" // Default settings, assert setting section not expanded"},{"lineNumber":247,"author":{"gitId":"-"},"content":" if (isOpeningEmailEnabled \u0026\u0026 isClosingEmailEnabled \u0026\u0026 isPublishedEmailEnabled) {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" assertTrue(isElementPresent(\"btn-change-email\"));"},{"lineNumber":249,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":250,"author":{"gitId":"-"},"content":" }"},{"lineNumber":251,"author":{"gitId":"-"},"content":" if (isOpeningEmailEnabled) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" assertTrue(openingSessionEmailCheckbox.isSelected());"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":" if (isClosingEmailEnabled) {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" assertTrue(closingSessionEmailCheckbox.isSelected());"},{"lineNumber":256,"author":{"gitId":"-"},"content":" }"},{"lineNumber":257,"author":{"gitId":"-"},"content":" if (isPublishedEmailEnabled) {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" assertTrue(publishedSessionEmailCheckbox.isSelected());"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" public void editSessionDetails(FeedbackSessionAttributes newFeedbackSessionDetails) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" click(fsEditButton);"},{"lineNumber":264,"author":{"gitId":"-"},"content":" setInstructions(newFeedbackSessionDetails.getInstructions());"},{"lineNumber":265,"author":{"gitId":"-"},"content":" setSessionStartDateTime(newFeedbackSessionDetails.getStartTime(), newFeedbackSessionDetails.getTimeZone());"},{"lineNumber":266,"author":{"gitId":"-"},"content":" setSessionEndDateTime(newFeedbackSessionDetails.getEndTime(), newFeedbackSessionDetails.getTimeZone());"},{"lineNumber":267,"author":{"gitId":"-"},"content":" selectGracePeriod(newFeedbackSessionDetails.getGracePeriodMinutes());"},{"lineNumber":268,"author":{"gitId":"-"},"content":" setVisibilitySettings(newFeedbackSessionDetails);"},{"lineNumber":269,"author":{"gitId":"-"},"content":" setEmailSettings(newFeedbackSessionDetails);"},{"lineNumber":270,"author":{"gitId":"-"},"content":" click(fsSaveButton);"},{"lineNumber":271,"author":{"gitId":"-"},"content":" }"},{"lineNumber":272,"author":{"gitId":"-"},"content":""},{"lineNumber":273,"author":{"gitId":"-"},"content":" public void copySessionToOtherCourse(CourseAttributes otherCourse, String sessionName) {"},{"lineNumber":274,"author":{"gitId":"-"},"content":" click(fsCopyButton);"},{"lineNumber":275,"author":{"gitId":"-"},"content":" WebElement copyFsModal \u003d waitForElementPresence(By.id(\"copy-course-modal\"));"},{"lineNumber":276,"author":{"gitId":"-"},"content":""},{"lineNumber":277,"author":{"gitId":"-"},"content":" fillTextBox(copyFsModal.findElement(By.id(\"copy-session-name\")), sessionName);"},{"lineNumber":278,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e options \u003d copyFsModal.findElements(By.className(\"form-check\"));"},{"lineNumber":279,"author":{"gitId":"-"},"content":" for (WebElement option : options) {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" String courseId \u003d option.findElement(By.cssSelector(\"label span\")).getText();"},{"lineNumber":281,"author":{"gitId":"-"},"content":" if (courseId.equals(otherCourse.getId())) {"},{"lineNumber":282,"author":{"gitId":"-"},"content":" click(option.findElement(By.tagName(\"input\")));"},{"lineNumber":283,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":" click(browser.driver.findElement(By.id(\"btn-confirm-copy-course\")));"},{"lineNumber":287,"author":{"gitId":"-"},"content":" }"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":" public void deleteSession() {"},{"lineNumber":290,"author":{"gitId":"-"},"content":" clickAndConfirm(waitForElementPresence(By.id(\"btn-fs-delete\")));"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" public FeedbackSubmitPage previewAsStudent(StudentAttributes student) {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(previewAsStudentDropdown, String.format(\"[%s] %s\", student.getTeam(), student.getName()));"},{"lineNumber":295,"author":{"gitId":"-"},"content":" click(previewAsStudentButton);"},{"lineNumber":296,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(2000);"},{"lineNumber":297,"author":{"gitId":"-"},"content":" switchToNewWindow();"},{"lineNumber":298,"author":{"gitId":"-"},"content":" return changePageType(FeedbackSubmitPage.class);"},{"lineNumber":299,"author":{"gitId":"-"},"content":" }"},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":" public FeedbackSubmitPage previewAsInstructor(InstructorAttributes instructor) {"},{"lineNumber":302,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(previewAsInstructorDropdown, instructor.getName());"},{"lineNumber":303,"author":{"gitId":"-"},"content":" click(previewAsInstructorButton);"},{"lineNumber":304,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(2000);"},{"lineNumber":305,"author":{"gitId":"-"},"content":" switchToNewWindow();"},{"lineNumber":306,"author":{"gitId":"-"},"content":" return changePageType(FeedbackSubmitPage.class);"},{"lineNumber":307,"author":{"gitId":"-"},"content":" }"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":" public void verifyNumQuestions(int expected) {"},{"lineNumber":310,"author":{"gitId":"-"},"content":" assertEquals(getNumQuestions(), expected);"},{"lineNumber":311,"author":{"gitId":"-"},"content":" }"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":" public void verifyQuestionDetails(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":314,"author":{"gitId":"-"},"content":" scrollElementToCenter(getQuestionForm(questionNum));"},{"lineNumber":315,"author":{"gitId":"-"},"content":" assertEquals(feedbackQuestion.getQuestionType(), getQuestionType(questionNum));"},{"lineNumber":316,"author":{"gitId":"-"},"content":" assertEquals(feedbackQuestion.getQuestionNumber(), getQuestionNumber(questionNum));"},{"lineNumber":317,"author":{"gitId":"-"},"content":" assertEquals(feedbackQuestion.getQuestionDetailsCopy().getQuestionText(), getQuestionBrief(questionNum));"},{"lineNumber":318,"author":{"gitId":"-"},"content":" assertEquals(getQuestionDescription(questionNum), feedbackQuestion.getQuestionDescription());"},{"lineNumber":319,"author":{"gitId":"-"},"content":" verifyFeedbackPathSettings(questionNum, feedbackQuestion);"},{"lineNumber":320,"author":{"gitId":"-"},"content":" verifyQuestionVisibilitySettings(questionNum, feedbackQuestion);"},{"lineNumber":321,"author":{"gitId":"-"},"content":" }"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" private void verifyFeedbackPathSettings(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":324,"author":{"gitId":"-"},"content":" assertEquals(getDisplayGiverName(feedbackQuestion.getGiverType()), getFeedbackGiver(questionNum));"},{"lineNumber":325,"author":{"gitId":"-"},"content":" String feedbackReceiver \u003d getFeedbackReceiver(questionNum);"},{"lineNumber":326,"author":{"gitId":"-"},"content":" assertEquals(getDisplayRecipientName(feedbackQuestion.getRecipientType()), feedbackReceiver);"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" if (feedbackReceiver.equals(getDisplayRecipientName(FeedbackParticipantType.INSTRUCTORS))"},{"lineNumber":329,"author":{"gitId":"-"},"content":" || feedbackReceiver.equals(getDisplayRecipientName(FeedbackParticipantType.STUDENTS_EXCLUDING_SELF))"},{"lineNumber":330,"author":{"gitId":"-"},"content":" || feedbackReceiver.equals(getDisplayRecipientName(FeedbackParticipantType.TEAMS_EXCLUDING_SELF))) {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" verifyNumberOfEntitiesToGiveFeedbackTo(questionNum, feedbackQuestion.getNumberOfEntitiesToGiveFeedbackTo());"},{"lineNumber":332,"author":{"gitId":"-"},"content":" }"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" private void verifyNumberOfEntitiesToGiveFeedbackTo(int questionNum, int numberOfEntitiesToGiveFeedbackTo) {"},{"lineNumber":336,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum);"},{"lineNumber":337,"author":{"gitId":"-"},"content":" WebElement feedbackPathPanel \u003d questionForm.findElement(By.tagName(\"tm-feedback-path-panel\"));"},{"lineNumber":338,"author":{"gitId":"-"},"content":" if (numberOfEntitiesToGiveFeedbackTo \u003d\u003d Const.MAX_POSSIBLE_RECIPIENTS) {"},{"lineNumber":339,"author":{"gitId":"-"},"content":" assertTrue(feedbackPathPanel.findElement(By.id(\"unlimited-recipients\")).isSelected());"},{"lineNumber":340,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":341,"author":{"gitId":"-"},"content":" assertTrue(feedbackPathPanel.findElement(By.id(\"custom-recipients\")).isSelected());"},{"lineNumber":342,"author":{"gitId":"-"},"content":" assertEquals(feedbackPathPanel.findElement(By.id(\"custom-recipients-number\")).getAttribute(\"value\"),"},{"lineNumber":343,"author":{"gitId":"-"},"content":" Integer.toString(numberOfEntitiesToGiveFeedbackTo));"},{"lineNumber":344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":" private void verifyQuestionVisibilitySettings(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":348,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum);"},{"lineNumber":349,"author":{"gitId":"-"},"content":" WebElement visibilityPanel \u003d questionForm.findElement(By.tagName(\"tm-visibility-panel\"));"},{"lineNumber":350,"author":{"gitId":"-"},"content":" String visibility \u003d visibilityPanel.findElement(By.cssSelector(\"#btn-question-visibility span\")).getText();"},{"lineNumber":351,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showResponsesTo \u003d feedbackQuestion.getShowResponsesTo();"},{"lineNumber":352,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showGiverNameTo \u003d feedbackQuestion.getShowGiverNameTo();"},{"lineNumber":353,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showRecipientNameTo \u003d feedbackQuestion.getShowRecipientNameTo();"},{"lineNumber":354,"author":{"gitId":"-"},"content":""},{"lineNumber":355,"author":{"gitId":"-"},"content":" switch (visibility) {"},{"lineNumber":356,"author":{"gitId":"-"},"content":" case \"Shown anonymously to recipient and giver\u0027s team members, visible to instructors\":"},{"lineNumber":357,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":358,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":359,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.OWN_TEAM_MEMBERS));"},{"lineNumber":360,"author":{"gitId":"-"},"content":" assertEquals(showResponsesTo.size(), 3);"},{"lineNumber":361,"author":{"gitId":"-"},"content":""},{"lineNumber":362,"author":{"gitId":"-"},"content":" assertTrue(showGiverNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":363,"author":{"gitId":"-"},"content":" assertEquals(showGiverNameTo.size(), 1);"},{"lineNumber":364,"author":{"gitId":"-"},"content":""},{"lineNumber":365,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":366,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":367,"author":{"gitId":"-"},"content":" assertEquals(showRecipientNameTo.size(), 2);"},{"lineNumber":368,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":369,"author":{"gitId":"-"},"content":""},{"lineNumber":370,"author":{"gitId":"-"},"content":" case \"Visible to instructors only\":"},{"lineNumber":371,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":372,"author":{"gitId":"-"},"content":" assertEquals(showResponsesTo.size(), 1);"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":" assertTrue(showGiverNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":375,"author":{"gitId":"-"},"content":" assertEquals(showGiverNameTo.size(), 1);"},{"lineNumber":376,"author":{"gitId":"-"},"content":""},{"lineNumber":377,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":378,"author":{"gitId":"-"},"content":" assertEquals(showRecipientNameTo.size(), 1);"},{"lineNumber":379,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":380,"author":{"gitId":"-"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":" case \"Shown anonymously to recipient and instructors\":"},{"lineNumber":382,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":383,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":384,"author":{"gitId":"-"},"content":" assertEquals(showResponsesTo.size(), 2);"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" assertEquals(showGiverNameTo.size(), 0);"},{"lineNumber":387,"author":{"gitId":"-"},"content":""},{"lineNumber":388,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":389,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":390,"author":{"gitId":"-"},"content":" assertEquals(showRecipientNameTo.size(), 2);"},{"lineNumber":391,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":392,"author":{"gitId":"-"},"content":""},{"lineNumber":393,"author":{"gitId":"-"},"content":" case \"Shown anonymously to recipient, visible to instructors\":"},{"lineNumber":394,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":395,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":396,"author":{"gitId":"-"},"content":" assertEquals(showResponsesTo.size(), 2);"},{"lineNumber":397,"author":{"gitId":"-"},"content":""},{"lineNumber":398,"author":{"gitId":"-"},"content":" assertTrue(showGiverNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":399,"author":{"gitId":"-"},"content":" assertEquals(showGiverNameTo.size(), 1);"},{"lineNumber":400,"author":{"gitId":"-"},"content":""},{"lineNumber":401,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":402,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":403,"author":{"gitId":"-"},"content":" assertEquals(showRecipientNameTo.size(), 2);"},{"lineNumber":404,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" case \"Shown anonymously to recipient and giver/recipient\u0027s team members, visible to instructors\":"},{"lineNumber":407,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":408,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":409,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.OWN_TEAM_MEMBERS));"},{"lineNumber":410,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS));"},{"lineNumber":411,"author":{"gitId":"-"},"content":" assertEquals(showResponsesTo.size(), 4);"},{"lineNumber":412,"author":{"gitId":"-"},"content":""},{"lineNumber":413,"author":{"gitId":"-"},"content":" assertTrue(showGiverNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":414,"author":{"gitId":"-"},"content":" assertEquals(showGiverNameTo.size(), 1);"},{"lineNumber":415,"author":{"gitId":"-"},"content":""},{"lineNumber":416,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":417,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":418,"author":{"gitId":"-"},"content":" assertEquals(showRecipientNameTo.size(), 2);"},{"lineNumber":419,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":420,"author":{"gitId":"-"},"content":""},{"lineNumber":421,"author":{"gitId":"-"},"content":" case \"Visible to recipient and instructors\":"},{"lineNumber":422,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":423,"author":{"gitId":"-"},"content":" assertTrue(showResponsesTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":424,"author":{"gitId":"-"},"content":" assertEquals(showResponsesTo.size(), 2);"},{"lineNumber":425,"author":{"gitId":"-"},"content":""},{"lineNumber":426,"author":{"gitId":"-"},"content":" assertTrue(showGiverNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":427,"author":{"gitId":"-"},"content":" assertTrue(showGiverNameTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":428,"author":{"gitId":"-"},"content":" assertEquals(showGiverNameTo.size(), 2);"},{"lineNumber":429,"author":{"gitId":"-"},"content":""},{"lineNumber":430,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":431,"author":{"gitId":"-"},"content":" assertTrue(showRecipientNameTo.contains(FeedbackParticipantType.RECEIVER));"},{"lineNumber":432,"author":{"gitId":"-"},"content":" assertEquals(showRecipientNameTo.size(), 2);"},{"lineNumber":433,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":434,"author":{"gitId":"-"},"content":""},{"lineNumber":435,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":436,"author":{"gitId":"-"},"content":" verifyCustomQuestionVisibility(questionNum, feedbackQuestion);"},{"lineNumber":437,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":438,"author":{"gitId":"-"},"content":" }"},{"lineNumber":439,"author":{"gitId":"-"},"content":" }"},{"lineNumber":440,"author":{"gitId":"-"},"content":""},{"lineNumber":441,"author":{"gitId":"-"},"content":" private void verifyCustomQuestionVisibility(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":442,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum);"},{"lineNumber":443,"author":{"gitId":"-"},"content":" WebElement visibilityPanel \u003d questionForm.findElement(By.tagName(\"tm-visibility-panel\"));"},{"lineNumber":444,"author":{"gitId":"-"},"content":" String visibility \u003d visibilityPanel.findElement(By.cssSelector(\"#btn-question-visibility span\")).getText();"},{"lineNumber":445,"author":{"gitId":"-"},"content":" assertEquals(visibility, CUSTOM_VISIBILITY_OPTION);"},{"lineNumber":446,"author":{"gitId":"-"},"content":""},{"lineNumber":447,"author":{"gitId":"-"},"content":" FeedbackParticipantType giver \u003d feedbackQuestion.getGiverType();"},{"lineNumber":448,"author":{"gitId":"-"},"content":" FeedbackParticipantType receiver \u003d feedbackQuestion.getRecipientType();"},{"lineNumber":449,"author":{"gitId":"-"},"content":" WebElement customVisibilityTable \u003d visibilityPanel.findElement(By.id(\"custom-visibility-table\"));"},{"lineNumber":450,"author":{"gitId":"-"},"content":" assertVisibilityBoxesSelected(customVisibilityTable, giver, receiver, feedbackQuestion.getShowResponsesTo(), 1);"},{"lineNumber":451,"author":{"gitId":"-"},"content":" assertVisibilityBoxesSelected(customVisibilityTable, giver, receiver, feedbackQuestion.getShowGiverNameTo(), 2);"},{"lineNumber":452,"author":{"gitId":"-"},"content":" assertVisibilityBoxesSelected(customVisibilityTable, giver, receiver, feedbackQuestion.getShowRecipientNameTo(), 3);"},{"lineNumber":453,"author":{"gitId":"-"},"content":" }"},{"lineNumber":454,"author":{"gitId":"-"},"content":""},{"lineNumber":455,"author":{"gitId":"-"},"content":" private void assertVisibilityBoxesSelected(WebElement table, FeedbackParticipantType giver,"},{"lineNumber":456,"author":{"gitId":"-"},"content":" FeedbackParticipantType receiver, List\u003cFeedbackParticipantType\u003e participants,"},{"lineNumber":457,"author":{"gitId":"-"},"content":" int colNum) {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e possibleTypes \u003d new ArrayList\u003c\u003e(Arrays.asList(FeedbackParticipantType.RECEIVER,"},{"lineNumber":459,"author":{"gitId":"-"},"content":" FeedbackParticipantType.OWN_TEAM_MEMBERS, FeedbackParticipantType.RECEIVER_TEAM_MEMBERS,"},{"lineNumber":460,"author":{"gitId":"-"},"content":" FeedbackParticipantType.STUDENTS, FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":461,"author":{"gitId":"-"},"content":" if (!giver.equals(FeedbackParticipantType.STUDENTS)) {"},{"lineNumber":462,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.OWN_TEAM_MEMBERS);"},{"lineNumber":463,"author":{"gitId":"-"},"content":" }"},{"lineNumber":464,"author":{"gitId":"-"},"content":" if (!receiver.equals(FeedbackParticipantType.STUDENTS)) {"},{"lineNumber":465,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS);"},{"lineNumber":466,"author":{"gitId":"-"},"content":" }"},{"lineNumber":467,"author":{"gitId":"-"},"content":" if (receiver.equals(FeedbackParticipantType.NONE)"},{"lineNumber":468,"author":{"gitId":"-"},"content":" || receiver.equals(FeedbackParticipantType.SELF)"},{"lineNumber":469,"author":{"gitId":"-"},"content":" || receiver.equals(FeedbackParticipantType.OWN_TEAM)) {"},{"lineNumber":470,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.RECEIVER);"},{"lineNumber":471,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS);"},{"lineNumber":472,"author":{"gitId":"-"},"content":" }"},{"lineNumber":473,"author":{"gitId":"-"},"content":""},{"lineNumber":474,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d table.findElements(By.tagName(\"tr\"));"},{"lineNumber":475,"author":{"gitId":"-"},"content":" int index \u003d colNum - 1;"},{"lineNumber":476,"author":{"gitId":"-"},"content":" for (FeedbackParticipantType participant : participants) {"},{"lineNumber":477,"author":{"gitId":"-"},"content":" assertTrue(rows.get(possibleTypes.indexOf(participant)).findElements(By.tagName(\"input\")).get(index)"},{"lineNumber":478,"author":{"gitId":"-"},"content":" .isSelected());"},{"lineNumber":479,"author":{"gitId":"-"},"content":" }"},{"lineNumber":480,"author":{"gitId":"-"},"content":" }"},{"lineNumber":481,"author":{"gitId":"-"},"content":""},{"lineNumber":482,"author":{"gitId":"-"},"content":" public void addTemplateQuestion(int optionNum) {"},{"lineNumber":483,"author":{"gitId":"-"},"content":" addNewQuestion(1);"},{"lineNumber":484,"author":{"gitId":"-"},"content":" WebElement templateQuestionModal \u003d waitForElementPresence(By.id(\"template-question-modal\"));"},{"lineNumber":485,"author":{"gitId":"-"},"content":""},{"lineNumber":486,"author":{"gitId":"-"},"content":" click(templateQuestionModal.findElements(By.tagName(\"input\")).get(optionNum - 1));"},{"lineNumber":487,"author":{"gitId":"-"},"content":" clickAndWaitForNewQuestion(browser.driver.findElement(By.id(\"btn-confirm-template\")));"},{"lineNumber":488,"author":{"gitId":"-"},"content":" }"},{"lineNumber":489,"author":{"gitId":"-"},"content":""},{"lineNumber":490,"author":{"gitId":"-"},"content":" public void copyQuestion(String courseId, String questionText) {"},{"lineNumber":491,"author":{"gitId":"-"},"content":" click(copyQuestionButton);"},{"lineNumber":492,"author":{"gitId":"-"},"content":" WebElement copyQuestionModal \u003d waitForElementPresence(By.id(\"copy-question-modal\"));"},{"lineNumber":493,"author":{"gitId":"-"},"content":""},{"lineNumber":494,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e cards \u003d copyQuestionModal.findElements(By.className(\"card\"));"},{"lineNumber":495,"author":{"gitId":"-"},"content":" for (WebElement card : cards) {"},{"lineNumber":496,"author":{"gitId":"-"},"content":" WebElement cardHeader \u003d card.findElement(By.className(\"card-header\"));"},{"lineNumber":497,"author":{"gitId":"-"},"content":" if (cardHeader.getText().startsWith(\"[\" + courseId + \"]\")) {"},{"lineNumber":498,"author":{"gitId":"-"},"content":" click(cardHeader);"},{"lineNumber":499,"author":{"gitId":"-"},"content":" WebElement cardBody \u003d waitForElementPresence(By.className(\"card-body\"));"},{"lineNumber":500,"author":{"gitId":"-"},"content":" // Reload questions"},{"lineNumber":501,"author":{"gitId":"-"},"content":" WebElement reloadBtn \u003d cardBody.findElement(By.tagName(\"button\"));"},{"lineNumber":502,"author":{"gitId":"-"},"content":" click(reloadBtn);"},{"lineNumber":503,"author":{"gitId":"-"},"content":" WebElement table \u003d waitForElementPresence(By.id(\"copy-question-table\"));"},{"lineNumber":504,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d table.findElements(By.cssSelector(\"tbody tr\"));"},{"lineNumber":505,"author":{"gitId":"-"},"content":" for (WebElement row : rows) {"},{"lineNumber":506,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e cells \u003d row.findElements(By.tagName(\"td\"));"},{"lineNumber":507,"author":{"gitId":"-"},"content":" if (cells.get(2).getText().equals(questionText)) {"},{"lineNumber":508,"author":{"gitId":"-"},"content":" markOptionAsSelected(cells.get(0).findElement(By.tagName(\"input\")));"},{"lineNumber":509,"author":{"gitId":"-"},"content":" }"},{"lineNumber":510,"author":{"gitId":"-"},"content":" }"},{"lineNumber":511,"author":{"gitId":"-"},"content":" }"},{"lineNumber":512,"author":{"gitId":"-"},"content":" }"},{"lineNumber":513,"author":{"gitId":"-"},"content":" clickAndWaitForNewQuestion(browser.driver.findElement(By.id(\"btn-confirm-copy-question\")));"},{"lineNumber":514,"author":{"gitId":"-"},"content":" }"},{"lineNumber":515,"author":{"gitId":"-"},"content":""},{"lineNumber":516,"author":{"gitId":"-"},"content":" public void editQuestionNumber(int questionNum, int newQuestionNumber) {"},{"lineNumber":517,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":518,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(getQuestionForm(questionNum).findElement(By.id(\"question-number-dropdown\")),"},{"lineNumber":519,"author":{"gitId":"-"},"content":" Integer.toString(newQuestionNumber));"},{"lineNumber":520,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":521,"author":{"gitId":"-"},"content":" }"},{"lineNumber":522,"author":{"gitId":"-"},"content":""},{"lineNumber":523,"author":{"gitId":"-"},"content":" public void editQuestionDetails(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":524,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":525,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":526,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":527,"author":{"gitId":"-"},"content":" }"},{"lineNumber":528,"author":{"gitId":"-"},"content":""},{"lineNumber":529,"author":{"gitId":"-"},"content":" private void inputQuestionDetails(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":530,"author":{"gitId":"-"},"content":" setQuestionBrief(questionNum, feedbackQuestion.getQuestionDetailsCopy().getQuestionText());"},{"lineNumber":531,"author":{"gitId":"-"},"content":" setQuestionDescription(questionNum, feedbackQuestion.getQuestionDescription());"},{"lineNumber":532,"author":{"gitId":"-"},"content":" FeedbackQuestionType questionType \u003d feedbackQuestion.getQuestionType();"},{"lineNumber":533,"author":{"gitId":"-"},"content":" if (!questionType.equals(FeedbackQuestionType.CONTRIB)) {"},{"lineNumber":534,"author":{"gitId":"-"},"content":" setFeedbackPath(questionNum, feedbackQuestion);"},{"lineNumber":535,"author":{"gitId":"-"},"content":" setQuestionVisibility(questionNum, feedbackQuestion);"},{"lineNumber":536,"author":{"gitId":"-"},"content":" }"},{"lineNumber":537,"author":{"gitId":"-"},"content":" }"},{"lineNumber":538,"author":{"gitId":"-"},"content":""},{"lineNumber":539,"author":{"gitId":"-"},"content":" private void inputQuestionDetails(int questionNum, FeedbackQuestion feedbackQuestion) {"},{"lineNumber":540,"author":{"gitId":"-"},"content":" setQuestionBrief(questionNum, feedbackQuestion.getQuestionDetailsCopy().getQuestionText());"},{"lineNumber":541,"author":{"gitId":"-"},"content":" setQuestionDescription(questionNum, feedbackQuestion.getDescription());"},{"lineNumber":542,"author":{"gitId":"-"},"content":" FeedbackQuestionType questionType \u003d feedbackQuestion.getQuestionDetailsCopy().getQuestionType();"},{"lineNumber":543,"author":{"gitId":"-"},"content":" if (!questionType.equals(FeedbackQuestionType.CONTRIB)) {"},{"lineNumber":544,"author":{"gitId":"-"},"content":" setFeedbackPath(questionNum, feedbackQuestion);"},{"lineNumber":545,"author":{"gitId":"-"},"content":" setQuestionVisibility(questionNum, feedbackQuestion);"},{"lineNumber":546,"author":{"gitId":"-"},"content":" }"},{"lineNumber":547,"author":{"gitId":"-"},"content":" }"},{"lineNumber":548,"author":{"gitId":"-"},"content":""},{"lineNumber":549,"author":{"gitId":"-"},"content":" public void duplicateQuestion(int questionNum) {"},{"lineNumber":550,"author":{"gitId":"-"},"content":" clickAndWaitForNewQuestion(getQuestionForm(questionNum).findElement(By.id(\"btn-duplicate-question\")));"},{"lineNumber":551,"author":{"gitId":"-"},"content":" }"},{"lineNumber":552,"author":{"gitId":"-"},"content":""},{"lineNumber":553,"author":{"gitId":"-"},"content":" public void deleteQuestion(int questionNum) {"},{"lineNumber":554,"author":{"gitId":"-"},"content":" clickAndConfirm(getQuestionForm(questionNum).findElement(By.id(\"btn-delete-question\")));"},{"lineNumber":555,"author":{"gitId":"-"},"content":" }"},{"lineNumber":556,"author":{"gitId":"-"},"content":""},{"lineNumber":557,"author":{"gitId":"-"},"content":" public void verifyTextQuestionDetails(int questionNum, FeedbackTextQuestionDetails questionDetails) {"},{"lineNumber":558,"author":{"gitId":"-"},"content":" String recommendLength \u003d getRecommendedTextLengthField(questionNum).getAttribute(\"value\");"},{"lineNumber":559,"author":{"gitId":"-"},"content":" assertEquals(recommendLength, questionDetails.getRecommendedLength().toString());"},{"lineNumber":560,"author":{"gitId":"-"},"content":" }"},{"lineNumber":561,"author":{"gitId":"-"},"content":""},{"lineNumber":562,"author":{"gitId":"-"},"content":" public void addTextQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":563,"author":{"gitId":"-"},"content":" addNewQuestion(2);"},{"lineNumber":564,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":565,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":566,"author":{"gitId":"-"},"content":" FeedbackTextQuestionDetails questionDetails \u003d"},{"lineNumber":567,"author":{"gitId":"-"},"content":" (FeedbackTextQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":568,"author":{"gitId":"-"},"content":" fillTextBox(getRecommendedTextLengthField(questionNum), questionDetails.getRecommendedLength().toString());"},{"lineNumber":569,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":570,"author":{"gitId":"-"},"content":" }"},{"lineNumber":571,"author":{"gitId":"-"},"content":""},{"lineNumber":572,"author":{"gitId":"-"},"content":" public void addTextQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":573,"author":{"gitId":"-"},"content":" addNewQuestion(2);"},{"lineNumber":574,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":575,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":576,"author":{"gitId":"-"},"content":" FeedbackTextQuestionDetails questionDetails \u003d"},{"lineNumber":577,"author":{"gitId":"-"},"content":" (FeedbackTextQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":578,"author":{"gitId":"-"},"content":" fillTextBox(getRecommendedTextLengthField(questionNum), questionDetails.getRecommendedLength().toString());"},{"lineNumber":579,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":580,"author":{"gitId":"-"},"content":" }"},{"lineNumber":581,"author":{"gitId":"-"},"content":""},{"lineNumber":582,"author":{"gitId":"-"},"content":" public void editTextQuestion(int questionNum, FeedbackTextQuestionDetails textQuestionDetails) {"},{"lineNumber":583,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":584,"author":{"gitId":"-"},"content":" WebElement recommendedTextLengthField \u003d getRecommendedTextLengthField(questionNum);"},{"lineNumber":585,"author":{"gitId":"-"},"content":" waitForElementToBeClickable(recommendedTextLengthField);"},{"lineNumber":586,"author":{"gitId":"-"},"content":" fillTextBox(recommendedTextLengthField, textQuestionDetails.getRecommendedLength().toString());"},{"lineNumber":587,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":588,"author":{"gitId":"-"},"content":" }"},{"lineNumber":589,"author":{"gitId":"-"},"content":""},{"lineNumber":590,"author":{"gitId":"-"},"content":" public void verifyMcqQuestionDetails(int questionNum, FeedbackMcqQuestionDetails questionDetails) {"},{"lineNumber":591,"author":{"gitId":"-"},"content":" if (verifyGeneratedOptions(questionNum, questionDetails.getGenerateOptionsFor())) {"},{"lineNumber":592,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":593,"author":{"gitId":"-"},"content":" }"},{"lineNumber":594,"author":{"gitId":"-"},"content":" verifyOptions(questionNum, questionDetails.getMcqChoices());"},{"lineNumber":595,"author":{"gitId":"-"},"content":" verifyOptionWeights(questionNum, questionDetails.isHasAssignedWeights(), questionDetails.getMcqWeights());"},{"lineNumber":596,"author":{"gitId":"-"},"content":" verifyOtherOption(questionNum, questionDetails.isOtherEnabled(), questionDetails.getMcqOtherWeight());"},{"lineNumber":597,"author":{"gitId":"-"},"content":" }"},{"lineNumber":598,"author":{"gitId":"-"},"content":""},{"lineNumber":599,"author":{"gitId":"-"},"content":" public void addMcqQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":600,"author":{"gitId":"-"},"content":" addNewQuestion(3);"},{"lineNumber":601,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":602,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":603,"author":{"gitId":"-"},"content":" FeedbackMcqQuestionDetails questionDetails \u003d (FeedbackMcqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":604,"author":{"gitId":"-"},"content":" inputMcqDetails(questionNum, questionDetails);"},{"lineNumber":605,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":606,"author":{"gitId":"-"},"content":" }"},{"lineNumber":607,"author":{"gitId":"-"},"content":""},{"lineNumber":608,"author":{"gitId":"dishenggg"},"content":" public void addMcqQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":609,"author":{"gitId":"dishenggg"},"content":" addNewQuestion(3);"},{"lineNumber":610,"author":{"gitId":"dishenggg"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":611,"author":{"gitId":"dishenggg"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":612,"author":{"gitId":"-"},"content":" FeedbackMcqQuestionDetails questionDetails \u003d (FeedbackMcqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":613,"author":{"gitId":"-"},"content":" inputMcqDetails(questionNum, questionDetails);"},{"lineNumber":614,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":615,"author":{"gitId":"-"},"content":" }"},{"lineNumber":616,"author":{"gitId":"-"},"content":""},{"lineNumber":617,"author":{"gitId":"-"},"content":" public void editMcqQuestion(int questionNum, FeedbackMcqQuestionDetails questionDetails) {"},{"lineNumber":618,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":619,"author":{"gitId":"-"},"content":" inputMcqDetails(questionNum, questionDetails);"},{"lineNumber":620,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":621,"author":{"gitId":"-"},"content":" }"},{"lineNumber":622,"author":{"gitId":"-"},"content":""},{"lineNumber":623,"author":{"gitId":"-"},"content":" public void verifyMsqQuestionDetails(int questionNum, FeedbackMsqQuestionDetails questionDetails) {"},{"lineNumber":624,"author":{"gitId":"-"},"content":" verifyMaxOptions(questionNum, questionDetails.getMaxSelectableChoices());"},{"lineNumber":625,"author":{"gitId":"-"},"content":" verifyMinOptions(questionNum, questionDetails.getMinSelectableChoices());"},{"lineNumber":626,"author":{"gitId":"-"},"content":" if (verifyGeneratedOptions(questionNum, questionDetails.getGenerateOptionsFor())) {"},{"lineNumber":627,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":628,"author":{"gitId":"-"},"content":" }"},{"lineNumber":629,"author":{"gitId":"-"},"content":" verifyOptions(questionNum, questionDetails.getMsqChoices());"},{"lineNumber":630,"author":{"gitId":"-"},"content":" verifyOptionWeights(questionNum, questionDetails.isHasAssignedWeights(), questionDetails.getMsqWeights());"},{"lineNumber":631,"author":{"gitId":"-"},"content":" verifyOtherOption(questionNum, questionDetails.isOtherEnabled(), questionDetails.getMsqOtherWeight());"},{"lineNumber":632,"author":{"gitId":"-"},"content":" }"},{"lineNumber":633,"author":{"gitId":"-"},"content":""},{"lineNumber":634,"author":{"gitId":"-"},"content":" public void addMsqQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":635,"author":{"gitId":"-"},"content":" addNewQuestion(4);"},{"lineNumber":636,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":637,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":638,"author":{"gitId":"-"},"content":" FeedbackMsqQuestionDetails questionDetails \u003d (FeedbackMsqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":639,"author":{"gitId":"-"},"content":" inputMsqDetails(questionNum, questionDetails);"},{"lineNumber":640,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":641,"author":{"gitId":"-"},"content":" }"},{"lineNumber":642,"author":{"gitId":"-"},"content":""},{"lineNumber":643,"author":{"gitId":"dishenggg"},"content":" public void addMsqQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":644,"author":{"gitId":"dishenggg"},"content":" addNewQuestion(4);"},{"lineNumber":645,"author":{"gitId":"dishenggg"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":646,"author":{"gitId":"dishenggg"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":647,"author":{"gitId":"dishenggg"},"content":" FeedbackMsqQuestionDetails questionDetails \u003d (FeedbackMsqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":648,"author":{"gitId":"dishenggg"},"content":" inputMsqDetails(questionNum, questionDetails);"},{"lineNumber":649,"author":{"gitId":"dishenggg"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":650,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":651,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":652,"author":{"gitId":"-"},"content":" public void editMsqQuestion(int questionNum, FeedbackMsqQuestionDetails msqQuestionDetails) {"},{"lineNumber":653,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":654,"author":{"gitId":"-"},"content":" inputMsqDetails(questionNum, msqQuestionDetails);"},{"lineNumber":655,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":656,"author":{"gitId":"-"},"content":" }"},{"lineNumber":657,"author":{"gitId":"-"},"content":""},{"lineNumber":658,"author":{"gitId":"-"},"content":" public void verifyNumScaleQuestionDetails(int questionNum, FeedbackNumericalScaleQuestionDetails questionDetails) {"},{"lineNumber":659,"author":{"gitId":"-"},"content":" assertEquals(getMinNumscaleInput(questionNum).getAttribute(\"value\"),"},{"lineNumber":660,"author":{"gitId":"-"},"content":" Integer.toString(questionDetails.getMinScale()));"},{"lineNumber":661,"author":{"gitId":"-"},"content":" assertEquals(getNumScaleIncrementInput(questionNum).getAttribute(\"value\"),"},{"lineNumber":662,"author":{"gitId":"-"},"content":" getDoubleString(questionDetails.getStep()));"},{"lineNumber":663,"author":{"gitId":"-"},"content":" assertEquals(getMaxNumscaleInput(questionNum).getAttribute(\"value\"),"},{"lineNumber":664,"author":{"gitId":"-"},"content":" Integer.toString(questionDetails.getMaxScale()));"},{"lineNumber":665,"author":{"gitId":"-"},"content":" }"},{"lineNumber":666,"author":{"gitId":"-"},"content":""},{"lineNumber":667,"author":{"gitId":"-"},"content":" public void addNumScaleQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":668,"author":{"gitId":"-"},"content":" addNewQuestion(5);"},{"lineNumber":669,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":670,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":671,"author":{"gitId":"-"},"content":" FeedbackNumericalScaleQuestionDetails questionDetails \u003d"},{"lineNumber":672,"author":{"gitId":"-"},"content":" (FeedbackNumericalScaleQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":673,"author":{"gitId":"-"},"content":" inputNumScaleDetails(questionNum, questionDetails);"},{"lineNumber":674,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":675,"author":{"gitId":"-"},"content":" }"},{"lineNumber":676,"author":{"gitId":"-"},"content":""},{"lineNumber":677,"author":{"gitId":"marquestye"},"content":" public void addNumScaleQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":678,"author":{"gitId":"marquestye"},"content":" addNewQuestion(5);"},{"lineNumber":679,"author":{"gitId":"marquestye"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":680,"author":{"gitId":"marquestye"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":681,"author":{"gitId":"marquestye"},"content":" FeedbackNumericalScaleQuestionDetails questionDetails \u003d"},{"lineNumber":682,"author":{"gitId":"-"},"content":" (FeedbackNumericalScaleQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":683,"author":{"gitId":"-"},"content":" inputNumScaleDetails(questionNum, questionDetails);"},{"lineNumber":684,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":685,"author":{"gitId":"-"},"content":" }"},{"lineNumber":686,"author":{"gitId":"-"},"content":""},{"lineNumber":687,"author":{"gitId":"-"},"content":" public void editNumScaleQuestion(int questionNum, FeedbackNumericalScaleQuestionDetails questionDetails) {"},{"lineNumber":688,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":689,"author":{"gitId":"-"},"content":" inputNumScaleDetails(questionNum, questionDetails);"},{"lineNumber":690,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":691,"author":{"gitId":"-"},"content":" }"},{"lineNumber":692,"author":{"gitId":"-"},"content":""},{"lineNumber":693,"author":{"gitId":"-"},"content":" public void verifyConstSumQuestionDetails(int questionNum, FeedbackConstantSumQuestionDetails questionDetails) {"},{"lineNumber":694,"author":{"gitId":"-"},"content":" if (!questionDetails.isDistributeToRecipients()) {"},{"lineNumber":695,"author":{"gitId":"-"},"content":" verifyOptions(questionNum, questionDetails.getConstSumOptions());"},{"lineNumber":696,"author":{"gitId":"-"},"content":" }"},{"lineNumber":697,"author":{"gitId":"-"},"content":""},{"lineNumber":698,"author":{"gitId":"-"},"content":" if (questionDetails.isPointsPerOption()) {"},{"lineNumber":699,"author":{"gitId":"-"},"content":" assertTrue(getConstSumPerOptionPointsRadioBtn(questionNum).isSelected());"},{"lineNumber":700,"author":{"gitId":"-"},"content":" assertEquals(getConstSumPerOptionPointsInput(questionNum).getAttribute(\"value\"),"},{"lineNumber":701,"author":{"gitId":"-"},"content":" Integer.toString(questionDetails.getPoints()));"},{"lineNumber":702,"author":{"gitId":"-"},"content":" assertFalse(getConstSumTotalPointsRadioBtn(questionNum).isSelected());"},{"lineNumber":703,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":704,"author":{"gitId":"-"},"content":" assertTrue(getConstSumTotalPointsRadioBtn(questionNum).isSelected());"},{"lineNumber":705,"author":{"gitId":"-"},"content":" assertEquals(getConstSumTotalPointsInput(questionNum).getAttribute(\"value\"),"},{"lineNumber":706,"author":{"gitId":"-"},"content":" Integer.toString(questionDetails.getPoints()));"},{"lineNumber":707,"author":{"gitId":"-"},"content":" assertFalse(getConstSumPerOptionPointsRadioBtn(questionNum).isSelected());"},{"lineNumber":708,"author":{"gitId":"-"},"content":" }"},{"lineNumber":709,"author":{"gitId":"-"},"content":""},{"lineNumber":710,"author":{"gitId":"-"},"content":" if (questionDetails.isForceUnevenDistribution()) {"},{"lineNumber":711,"author":{"gitId":"-"},"content":" String distributeFor \u003d questionDetails.getDistributePointsFor();"},{"lineNumber":712,"author":{"gitId":"-"},"content":" assertTrue(getConstSumUnevenDistributionCheckbox(questionNum).isSelected());"},{"lineNumber":713,"author":{"gitId":"-"},"content":" assertEquals(getSelectedDropdownOptionText(getConstSumUnevenDistributionDropdown(questionNum)).trim(),"},{"lineNumber":714,"author":{"gitId":"-"},"content":" \"All options\".equals(distributeFor) ? \"Every option\" : distributeFor);"},{"lineNumber":715,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":716,"author":{"gitId":"-"},"content":" assertFalse(getConstSumUnevenDistributionCheckbox(questionNum).isSelected());"},{"lineNumber":717,"author":{"gitId":"-"},"content":" }"},{"lineNumber":718,"author":{"gitId":"-"},"content":" }"},{"lineNumber":719,"author":{"gitId":"-"},"content":""},{"lineNumber":720,"author":{"gitId":"-"},"content":" public void addConstSumOptionQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":721,"author":{"gitId":"-"},"content":" addNewQuestion(6);"},{"lineNumber":722,"author":{"gitId":"-"},"content":" addConstSumQuestion(feedbackQuestion);"},{"lineNumber":723,"author":{"gitId":"-"},"content":" }"},{"lineNumber":724,"author":{"gitId":"-"},"content":""},{"lineNumber":725,"author":{"gitId":"-"},"content":" public void addConstSumRecipientQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":726,"author":{"gitId":"-"},"content":" addNewQuestion(7);"},{"lineNumber":727,"author":{"gitId":"-"},"content":" addConstSumQuestion(feedbackQuestion);"},{"lineNumber":728,"author":{"gitId":"-"},"content":" }"},{"lineNumber":729,"author":{"gitId":"-"},"content":""},{"lineNumber":730,"author":{"gitId":"-"},"content":" public void addConstSumQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":731,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":732,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":733,"author":{"gitId":"-"},"content":" FeedbackConstantSumQuestionDetails questionDetails \u003d"},{"lineNumber":734,"author":{"gitId":"-"},"content":" (FeedbackConstantSumQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":735,"author":{"gitId":"-"},"content":" inputConstSumDetails(questionNum, questionDetails);"},{"lineNumber":736,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":737,"author":{"gitId":"-"},"content":" }"},{"lineNumber":738,"author":{"gitId":"-"},"content":""},{"lineNumber":739,"author":{"gitId":"-"},"content":" public void editConstSumQuestion(int questionNum, FeedbackConstantSumQuestionDetails csQuestionDetails) {"},{"lineNumber":740,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":741,"author":{"gitId":"-"},"content":" inputConstSumDetails(questionNum, csQuestionDetails);"},{"lineNumber":742,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":743,"author":{"gitId":"-"},"content":" }"},{"lineNumber":744,"author":{"gitId":"-"},"content":""},{"lineNumber":745,"author":{"gitId":"-"},"content":" public void verifyContributionQuestionDetails(int questionNum, FeedbackContributionQuestionDetails questionDetails) {"},{"lineNumber":746,"author":{"gitId":"-"},"content":" assertEquals(questionDetails.isZeroSum(), getZeroSumCheckbox(questionNum).isSelected());"},{"lineNumber":747,"author":{"gitId":"-"},"content":" assertEquals(questionDetails.isNotSureAllowed(), getAllowNotSureContributionCheckbox(questionNum).isSelected());"},{"lineNumber":748,"author":{"gitId":"-"},"content":" if (questionDetails.isZeroSum()) {"},{"lineNumber":749,"author":{"gitId":"-"},"content":" assertFalse(questionDetails.isNotSureAllowed());"},{"lineNumber":750,"author":{"gitId":"-"},"content":" }"},{"lineNumber":751,"author":{"gitId":"-"},"content":" }"},{"lineNumber":752,"author":{"gitId":"-"},"content":""},{"lineNumber":753,"author":{"gitId":"-"},"content":" public void addContributionQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":754,"author":{"gitId":"-"},"content":" addNewQuestion(8);"},{"lineNumber":755,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":756,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":757,"author":{"gitId":"-"},"content":" FeedbackContributionQuestionDetails questionDetails \u003d"},{"lineNumber":758,"author":{"gitId":"-"},"content":" (FeedbackContributionQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":759,"author":{"gitId":"-"},"content":" inputContributionDetails(questionNum, questionDetails);"},{"lineNumber":760,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":761,"author":{"gitId":"-"},"content":" }"},{"lineNumber":762,"author":{"gitId":"-"},"content":""},{"lineNumber":763,"author":{"gitId":"-"},"content":" public void editContributionQuestion(int questionNum, FeedbackContributionQuestionDetails questionDetails) {"},{"lineNumber":764,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":765,"author":{"gitId":"-"},"content":" inputContributionDetails(questionNum, questionDetails);"},{"lineNumber":766,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":767,"author":{"gitId":"-"},"content":" }"},{"lineNumber":768,"author":{"gitId":"-"},"content":""},{"lineNumber":769,"author":{"gitId":"-"},"content":" public void verifyRubricQuestionDetails(int questionNum, FeedbackRubricQuestionDetails questionDetails) {"},{"lineNumber":770,"author":{"gitId":"-"},"content":" int numChoices \u003d questionDetails.getNumOfRubricChoices();"},{"lineNumber":771,"author":{"gitId":"-"},"content":" List\u003cString\u003e choices \u003d questionDetails.getRubricChoices();"},{"lineNumber":772,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numChoices; i++) {"},{"lineNumber":773,"author":{"gitId":"-"},"content":" assertEquals(choices.get(i), getRubricChoiceInputs(questionNum).get(i).getAttribute(\"value\"));"},{"lineNumber":774,"author":{"gitId":"-"},"content":" }"},{"lineNumber":775,"author":{"gitId":"-"},"content":""},{"lineNumber":776,"author":{"gitId":"-"},"content":" int numSubQn \u003d questionDetails.getNumOfRubricSubQuestions();"},{"lineNumber":777,"author":{"gitId":"-"},"content":" List\u003cString\u003e subQuestions \u003d questionDetails.getRubricSubQuestions();"},{"lineNumber":778,"author":{"gitId":"-"},"content":" List\u003cList\u003cString\u003e\u003e descriptions \u003d questionDetails.getRubricDescriptions();"},{"lineNumber":779,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numSubQn; i++) {"},{"lineNumber":780,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e textAreas \u003d getRubricTextareas(questionNum, i + 2);"},{"lineNumber":781,"author":{"gitId":"-"},"content":" assertEquals(subQuestions.get(i), textAreas.get(0).getAttribute(\"value\"));"},{"lineNumber":782,"author":{"gitId":"-"},"content":" for (int j \u003d 0; j \u003c numChoices; j++) {"},{"lineNumber":783,"author":{"gitId":"-"},"content":" assertEquals(descriptions.get(i).get(j), textAreas.get(j + 1).getAttribute(\"value\"));"},{"lineNumber":784,"author":{"gitId":"-"},"content":" }"},{"lineNumber":785,"author":{"gitId":"-"},"content":" }"},{"lineNumber":786,"author":{"gitId":"-"},"content":""},{"lineNumber":787,"author":{"gitId":"-"},"content":" if (questionDetails.isHasAssignedWeights()) {"},{"lineNumber":788,"author":{"gitId":"-"},"content":" assertTrue(getWeightCheckbox(questionNum).isSelected());"},{"lineNumber":789,"author":{"gitId":"-"},"content":" List\u003cList\u003cDouble\u003e\u003e weights \u003d questionDetails.getRubricWeights();"},{"lineNumber":790,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numSubQn; i++) {"},{"lineNumber":791,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rubricWeights \u003d getRubricWeights(questionNum, i + 2);"},{"lineNumber":792,"author":{"gitId":"-"},"content":" for (int j \u003d 0; j \u003c numChoices; j++) {"},{"lineNumber":793,"author":{"gitId":"-"},"content":" assertEquals(getDoubleString(weights.get(i).get(j)),"},{"lineNumber":794,"author":{"gitId":"-"},"content":" rubricWeights.get(j).getAttribute(\"value\"));"},{"lineNumber":795,"author":{"gitId":"-"},"content":" }"},{"lineNumber":796,"author":{"gitId":"-"},"content":" }"},{"lineNumber":797,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":798,"author":{"gitId":"-"},"content":" assertFalse(getWeightCheckbox(questionNum).isSelected());"},{"lineNumber":799,"author":{"gitId":"-"},"content":" }"},{"lineNumber":800,"author":{"gitId":"-"},"content":" }"},{"lineNumber":801,"author":{"gitId":"-"},"content":""},{"lineNumber":802,"author":{"gitId":"-"},"content":" public void addRubricQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":803,"author":{"gitId":"-"},"content":" addNewQuestion(9);"},{"lineNumber":804,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":805,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":806,"author":{"gitId":"-"},"content":" FeedbackRubricQuestionDetails questionDetails \u003d"},{"lineNumber":807,"author":{"gitId":"-"},"content":" (FeedbackRubricQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":808,"author":{"gitId":"-"},"content":" inputRubricDetails(questionNum, questionDetails);"},{"lineNumber":809,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":810,"author":{"gitId":"-"},"content":" }"},{"lineNumber":811,"author":{"gitId":"-"},"content":""},{"lineNumber":812,"author":{"gitId":"-"},"content":" public void editRubricQuestion(int questionNum, FeedbackRubricQuestionDetails questionDetails) {"},{"lineNumber":813,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":814,"author":{"gitId":"-"},"content":" inputRubricDetails(questionNum, questionDetails);"},{"lineNumber":815,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":816,"author":{"gitId":"-"},"content":" }"},{"lineNumber":817,"author":{"gitId":"-"},"content":""},{"lineNumber":818,"author":{"gitId":"-"},"content":" public void verifyRankQuestionDetails(int questionNum, FeedbackRankQuestionDetails questionDetails) {"},{"lineNumber":819,"author":{"gitId":"-"},"content":" if (questionDetails instanceof FeedbackRankOptionsQuestionDetails) {"},{"lineNumber":820,"author":{"gitId":"-"},"content":" FeedbackRankOptionsQuestionDetails optionDetails \u003d (FeedbackRankOptionsQuestionDetails) questionDetails;"},{"lineNumber":821,"author":{"gitId":"-"},"content":" verifyOptions(questionNum, optionDetails.getOptions());"},{"lineNumber":822,"author":{"gitId":"-"},"content":" }"},{"lineNumber":823,"author":{"gitId":"-"},"content":" assertEquals(getAllowDuplicateRankCheckbox(questionNum).isSelected(), questionDetails.isAreDuplicatesAllowed());"},{"lineNumber":824,"author":{"gitId":"-"},"content":" verifyMaxOptions(questionNum, questionDetails.getMaxOptionsToBeRanked());"},{"lineNumber":825,"author":{"gitId":"-"},"content":" verifyMinOptions(questionNum, questionDetails.getMinOptionsToBeRanked());"},{"lineNumber":826,"author":{"gitId":"-"},"content":" }"},{"lineNumber":827,"author":{"gitId":"-"},"content":""},{"lineNumber":828,"author":{"gitId":"-"},"content":" public void addRankOptionsQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":829,"author":{"gitId":"-"},"content":" addNewQuestion(10);"},{"lineNumber":830,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":831,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":832,"author":{"gitId":"-"},"content":" FeedbackRankOptionsQuestionDetails questionDetails \u003d"},{"lineNumber":833,"author":{"gitId":"-"},"content":" (FeedbackRankOptionsQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":834,"author":{"gitId":"-"},"content":" inputRankDetails(questionNum, questionDetails);"},{"lineNumber":835,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":836,"author":{"gitId":"-"},"content":" }"},{"lineNumber":837,"author":{"gitId":"-"},"content":""},{"lineNumber":838,"author":{"gitId":"mingyuanc"},"content":" public void addRankOptionsQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":839,"author":{"gitId":"mingyuanc"},"content":" addNewQuestion(10);"},{"lineNumber":840,"author":{"gitId":"mingyuanc"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":841,"author":{"gitId":"mingyuanc"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":842,"author":{"gitId":"mingyuanc"},"content":" FeedbackRankOptionsQuestionDetails questionDetails \u003d"},{"lineNumber":843,"author":{"gitId":"-"},"content":" (FeedbackRankOptionsQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":844,"author":{"gitId":"-"},"content":" inputRankDetails(questionNum, questionDetails);"},{"lineNumber":845,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":846,"author":{"gitId":"-"},"content":" }"},{"lineNumber":847,"author":{"gitId":"-"},"content":""},{"lineNumber":848,"author":{"gitId":"-"},"content":" public void addRankRecipientsQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":849,"author":{"gitId":"-"},"content":" addNewQuestion(11);"},{"lineNumber":850,"author":{"gitId":"-"},"content":" int questionNum \u003d getNumQuestions();"},{"lineNumber":851,"author":{"gitId":"-"},"content":" inputQuestionDetails(questionNum, feedbackQuestion);"},{"lineNumber":852,"author":{"gitId":"-"},"content":" FeedbackRankQuestionDetails questionDetails \u003d"},{"lineNumber":853,"author":{"gitId":"-"},"content":" (FeedbackRankQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":854,"author":{"gitId":"-"},"content":" inputRankDetails(questionNum, questionDetails);"},{"lineNumber":855,"author":{"gitId":"-"},"content":" clickSaveNewQuestionButton();"},{"lineNumber":856,"author":{"gitId":"-"},"content":" }"},{"lineNumber":857,"author":{"gitId":"-"},"content":""},{"lineNumber":858,"author":{"gitId":"-"},"content":" public void editRankQuestion(int questionNum, FeedbackRankQuestionDetails questionDetails) {"},{"lineNumber":859,"author":{"gitId":"-"},"content":" clickEditQuestionButton(questionNum);"},{"lineNumber":860,"author":{"gitId":"-"},"content":" inputRankDetails(questionNum, questionDetails);"},{"lineNumber":861,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":862,"author":{"gitId":"-"},"content":" }"},{"lineNumber":863,"author":{"gitId":"-"},"content":""},{"lineNumber":864,"author":{"gitId":"-"},"content":" private String getCourseId() {"},{"lineNumber":865,"author":{"gitId":"-"},"content":" return courseIdTextBox.getText();"},{"lineNumber":866,"author":{"gitId":"-"},"content":" }"},{"lineNumber":867,"author":{"gitId":"-"},"content":""},{"lineNumber":868,"author":{"gitId":"-"},"content":" private String getCourseName() {"},{"lineNumber":869,"author":{"gitId":"-"},"content":" return courseNameTextBox.getText();"},{"lineNumber":870,"author":{"gitId":"-"},"content":" }"},{"lineNumber":871,"author":{"gitId":"-"},"content":""},{"lineNumber":872,"author":{"gitId":"-"},"content":" private String getTimeZone() {"},{"lineNumber":873,"author":{"gitId":"-"},"content":" return timezoneDropDown.getText();"},{"lineNumber":874,"author":{"gitId":"-"},"content":" }"},{"lineNumber":875,"author":{"gitId":"-"},"content":""},{"lineNumber":876,"author":{"gitId":"-"},"content":" private String getFeedbackSessionName() {"},{"lineNumber":877,"author":{"gitId":"-"},"content":" return sessionNameTextBox.getText();"},{"lineNumber":878,"author":{"gitId":"-"},"content":" }"},{"lineNumber":879,"author":{"gitId":"-"},"content":""},{"lineNumber":880,"author":{"gitId":"-"},"content":" private String getInstructions() {"},{"lineNumber":881,"author":{"gitId":"-"},"content":" return getEditorRichText(instructionsEditor.findElement(By.tagName(\"editor\")));"},{"lineNumber":882,"author":{"gitId":"-"},"content":" }"},{"lineNumber":883,"author":{"gitId":"-"},"content":""},{"lineNumber":884,"author":{"gitId":"-"},"content":" private String getStartDate() {"},{"lineNumber":885,"author":{"gitId":"-"},"content":" return startDateBox.findElement(By.tagName(\"input\")).getAttribute(\"value\");"},{"lineNumber":886,"author":{"gitId":"-"},"content":" }"},{"lineNumber":887,"author":{"gitId":"-"},"content":""},{"lineNumber":888,"author":{"gitId":"-"},"content":" private String getStartTime() {"},{"lineNumber":889,"author":{"gitId":"-"},"content":" return getSelectedDropdownOptionText(startTimeDropdown.findElement(By.tagName(\"select\")));"},{"lineNumber":890,"author":{"gitId":"-"},"content":" }"},{"lineNumber":891,"author":{"gitId":"-"},"content":""},{"lineNumber":892,"author":{"gitId":"-"},"content":" private String getEndDate() {"},{"lineNumber":893,"author":{"gitId":"-"},"content":" return endDateBox.findElement(By.tagName(\"input\")).getAttribute(\"value\");"},{"lineNumber":894,"author":{"gitId":"-"},"content":" }"},{"lineNumber":895,"author":{"gitId":"-"},"content":""},{"lineNumber":896,"author":{"gitId":"-"},"content":" private String getEndTime() {"},{"lineNumber":897,"author":{"gitId":"-"},"content":" return getSelectedDropdownOptionText(endTimeDropdown.findElement(By.tagName(\"select\")));"},{"lineNumber":898,"author":{"gitId":"-"},"content":" }"},{"lineNumber":899,"author":{"gitId":"-"},"content":""},{"lineNumber":900,"author":{"gitId":"-"},"content":" private String getSessionVisibilityDate() {"},{"lineNumber":901,"author":{"gitId":"-"},"content":" return sessionVisibilityDateBox.findElement(By.tagName(\"input\")).getAttribute(\"value\");"},{"lineNumber":902,"author":{"gitId":"-"},"content":" }"},{"lineNumber":903,"author":{"gitId":"-"},"content":""},{"lineNumber":904,"author":{"gitId":"-"},"content":" private String getSessionVisibilityTime() {"},{"lineNumber":905,"author":{"gitId":"-"},"content":" return getSelectedDropdownOptionText(sessionVisibilityTimeDropdown.findElement(By.tagName(\"select\")));"},{"lineNumber":906,"author":{"gitId":"-"},"content":" }"},{"lineNumber":907,"author":{"gitId":"-"},"content":""},{"lineNumber":908,"author":{"gitId":"-"},"content":" private String getResponseVisibilityDate() {"},{"lineNumber":909,"author":{"gitId":"-"},"content":" return responseVisibilityDateBox.findElement(By.tagName(\"input\"))"},{"lineNumber":910,"author":{"gitId":"-"},"content":" .getAttribute(\"value\");"},{"lineNumber":911,"author":{"gitId":"-"},"content":" }"},{"lineNumber":912,"author":{"gitId":"-"},"content":""},{"lineNumber":913,"author":{"gitId":"-"},"content":" private String getResponseVisibilityTime() {"},{"lineNumber":914,"author":{"gitId":"-"},"content":" return getSelectedDropdownOptionText(responseVisibilityTimeDropdown.findElement(By.tagName(\"select\")));"},{"lineNumber":915,"author":{"gitId":"-"},"content":" }"},{"lineNumber":916,"author":{"gitId":"-"},"content":""},{"lineNumber":917,"author":{"gitId":"-"},"content":" private String getGracePeriod() {"},{"lineNumber":918,"author":{"gitId":"-"},"content":" return getSelectedDropdownOptionText(gracePeriodDropdown);"},{"lineNumber":919,"author":{"gitId":"-"},"content":" }"},{"lineNumber":920,"author":{"gitId":"-"},"content":""},{"lineNumber":921,"author":{"gitId":"-"},"content":" private String getSubmissionStatus() {"},{"lineNumber":922,"author":{"gitId":"-"},"content":" return submissionStatusTextBox.getText();"},{"lineNumber":923,"author":{"gitId":"-"},"content":" }"},{"lineNumber":924,"author":{"gitId":"-"},"content":""},{"lineNumber":925,"author":{"gitId":"-"},"content":" private String getPublishedStatus() {"},{"lineNumber":926,"author":{"gitId":"-"},"content":" return publishStatusTextBox.getText();"},{"lineNumber":927,"author":{"gitId":"-"},"content":" }"},{"lineNumber":928,"author":{"gitId":"-"},"content":""},{"lineNumber":929,"author":{"gitId":"-"},"content":" private String getDateString(Instant instant, String timeZone) {"},{"lineNumber":930,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timeZone, \"EE, dd MMM, yyyy\");"},{"lineNumber":931,"author":{"gitId":"-"},"content":" }"},{"lineNumber":932,"author":{"gitId":"-"},"content":""},{"lineNumber":933,"author":{"gitId":"-"},"content":" private String getTimeString(Instant instant, String timeZone) {"},{"lineNumber":934,"author":{"gitId":"-"},"content":" ZonedDateTime dateTime \u003d instant.atZone(ZoneId.of(timeZone));"},{"lineNumber":935,"author":{"gitId":"-"},"content":" if (dateTime.getHour() \u003d\u003d 0 \u0026\u0026 dateTime.getMinute() \u003d\u003d 0) {"},{"lineNumber":936,"author":{"gitId":"-"},"content":" return \"23:59H\";"},{"lineNumber":937,"author":{"gitId":"-"},"content":" }"},{"lineNumber":938,"author":{"gitId":"-"},"content":" return getDisplayedDateTime(instant, timeZone, \"HH:00\") + \"H\";"},{"lineNumber":939,"author":{"gitId":"-"},"content":" }"},{"lineNumber":940,"author":{"gitId":"-"},"content":""},{"lineNumber":941,"author":{"gitId":"-"},"content":" private void setInstructions(String newInstructions) {"},{"lineNumber":942,"author":{"gitId":"-"},"content":" writeToRichTextEditor(instructionsEditor.findElement(By.tagName(\"editor\")), newInstructions);"},{"lineNumber":943,"author":{"gitId":"-"},"content":" }"},{"lineNumber":944,"author":{"gitId":"-"},"content":""},{"lineNumber":945,"author":{"gitId":"-"},"content":" private void setSessionStartDateTime(Instant startInstant, String timeZone) {"},{"lineNumber":946,"author":{"gitId":"-"},"content":" setDateTime(startDateBox, startTimeDropdown, startInstant, timeZone);"},{"lineNumber":947,"author":{"gitId":"-"},"content":" }"},{"lineNumber":948,"author":{"gitId":"-"},"content":""},{"lineNumber":949,"author":{"gitId":"-"},"content":" private void setSessionEndDateTime(Instant endInstant, String timeZone) {"},{"lineNumber":950,"author":{"gitId":"-"},"content":" setDateTime(endDateBox, endTimeDropdown, endInstant, timeZone);"},{"lineNumber":951,"author":{"gitId":"-"},"content":" }"},{"lineNumber":952,"author":{"gitId":"-"},"content":""},{"lineNumber":953,"author":{"gitId":"-"},"content":" private void setVisibilityDateTime(Instant startInstant, String timeZone) {"},{"lineNumber":954,"author":{"gitId":"-"},"content":" setDateTime(sessionVisibilityDateBox, sessionVisibilityTimeDropdown, startInstant, timeZone);"},{"lineNumber":955,"author":{"gitId":"-"},"content":" }"},{"lineNumber":956,"author":{"gitId":"-"},"content":""},{"lineNumber":957,"author":{"gitId":"-"},"content":" private void setResponseDateTime(Instant endInstant, String timeZone) {"},{"lineNumber":958,"author":{"gitId":"-"},"content":" setDateTime(responseVisibilityDateBox, responseVisibilityTimeDropdown, endInstant, timeZone);"},{"lineNumber":959,"author":{"gitId":"-"},"content":" }"},{"lineNumber":960,"author":{"gitId":"-"},"content":""},{"lineNumber":961,"author":{"gitId":"-"},"content":" private void setDateTime(WebElement dateBox, WebElement timeBox, Instant startInstant, String timeZone) {"},{"lineNumber":962,"author":{"gitId":"-"},"content":" fillDatePicker(dateBox, startInstant, timeZone);"},{"lineNumber":963,"author":{"gitId":"-"},"content":""},{"lineNumber":964,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(timeBox.findElement(By.tagName(\"select\")), getTimeString(startInstant, timeZone));"},{"lineNumber":965,"author":{"gitId":"-"},"content":" }"},{"lineNumber":966,"author":{"gitId":"-"},"content":""},{"lineNumber":967,"author":{"gitId":"-"},"content":" private void selectGracePeriod(long gracePeriodMinutes) {"},{"lineNumber":968,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(gracePeriodDropdown, gracePeriodMinutes + \" min\");"},{"lineNumber":969,"author":{"gitId":"-"},"content":" }"},{"lineNumber":970,"author":{"gitId":"-"},"content":""},{"lineNumber":971,"author":{"gitId":"-"},"content":" private void setVisibilitySettings(FeedbackSessionAttributes newFeedbackSession) {"},{"lineNumber":972,"author":{"gitId":"-"},"content":" showVisibilitySettings();"},{"lineNumber":973,"author":{"gitId":"-"},"content":""},{"lineNumber":974,"author":{"gitId":"-"},"content":" setSessionVisibilitySettings(newFeedbackSession);"},{"lineNumber":975,"author":{"gitId":"-"},"content":" setResponseVisibilitySettings(newFeedbackSession);"},{"lineNumber":976,"author":{"gitId":"-"},"content":" }"},{"lineNumber":977,"author":{"gitId":"-"},"content":""},{"lineNumber":978,"author":{"gitId":"-"},"content":" private void setSessionVisibilitySettings(FeedbackSessionAttributes newFeedbackSession) {"},{"lineNumber":979,"author":{"gitId":"-"},"content":" Instant sessionDateTime \u003d newFeedbackSession.getSessionVisibleFromTime();"},{"lineNumber":980,"author":{"gitId":"-"},"content":" if (sessionDateTime.equals(Const.TIME_REPRESENTS_FOLLOW_OPENING)) {"},{"lineNumber":981,"author":{"gitId":"-"},"content":" click(openSessionVisibleTimeButton);"},{"lineNumber":982,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":983,"author":{"gitId":"-"},"content":" click(customSessionVisibleTimeButton);"},{"lineNumber":984,"author":{"gitId":"-"},"content":" setVisibilityDateTime(sessionDateTime, newFeedbackSession.getTimeZone());"},{"lineNumber":985,"author":{"gitId":"-"},"content":" }"},{"lineNumber":986,"author":{"gitId":"-"},"content":" }"},{"lineNumber":987,"author":{"gitId":"-"},"content":""},{"lineNumber":988,"author":{"gitId":"-"},"content":" private void setResponseVisibilitySettings(FeedbackSessionAttributes newFeedbackSession) {"},{"lineNumber":989,"author":{"gitId":"-"},"content":" Instant responseDateTime \u003d newFeedbackSession.getResultsVisibleFromTime();"},{"lineNumber":990,"author":{"gitId":"-"},"content":" if (responseDateTime.equals(Const.TIME_REPRESENTS_FOLLOW_VISIBLE)) {"},{"lineNumber":991,"author":{"gitId":"-"},"content":" click(immediateResponseVisibleTimeButton);"},{"lineNumber":992,"author":{"gitId":"-"},"content":" } else if (responseDateTime.equals(Const.TIME_REPRESENTS_LATER)) {"},{"lineNumber":993,"author":{"gitId":"-"},"content":" click(manualResponseVisibleTimeButton);"},{"lineNumber":994,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":995,"author":{"gitId":"-"},"content":" click(customResponseVisibleTimeButton);"},{"lineNumber":996,"author":{"gitId":"-"},"content":" setResponseDateTime(responseDateTime, newFeedbackSession.getTimeZone());"},{"lineNumber":997,"author":{"gitId":"-"},"content":" }"},{"lineNumber":998,"author":{"gitId":"-"},"content":" }"},{"lineNumber":999,"author":{"gitId":"-"},"content":""},{"lineNumber":1000,"author":{"gitId":"-"},"content":" private void setEmailSettings(FeedbackSessionAttributes newFeedbackSessionDetails) {"},{"lineNumber":1001,"author":{"gitId":"-"},"content":" showEmailSettings();"},{"lineNumber":1002,"author":{"gitId":"-"},"content":" if (newFeedbackSessionDetails.isOpeningEmailEnabled() !\u003d openingSessionEmailCheckbox.isSelected()) {"},{"lineNumber":1003,"author":{"gitId":"-"},"content":" click(openingSessionEmailCheckbox);"},{"lineNumber":1004,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1005,"author":{"gitId":"-"},"content":" if (newFeedbackSessionDetails.isClosingEmailEnabled() !\u003d closingSessionEmailCheckbox.isSelected()) {"},{"lineNumber":1006,"author":{"gitId":"-"},"content":" click(closingSessionEmailCheckbox);"},{"lineNumber":1007,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1008,"author":{"gitId":"-"},"content":" if (newFeedbackSessionDetails.isPublishedEmailEnabled() !\u003d publishedSessionEmailCheckbox.isSelected()) {"},{"lineNumber":1009,"author":{"gitId":"-"},"content":" click(publishedSessionEmailCheckbox);"},{"lineNumber":1010,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1011,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1012,"author":{"gitId":"-"},"content":""},{"lineNumber":1013,"author":{"gitId":"-"},"content":" private void showVisibilitySettings() {"},{"lineNumber":1014,"author":{"gitId":"-"},"content":" if (isElementPresent(By.id(\"btn-change-visibility\"))) {"},{"lineNumber":1015,"author":{"gitId":"-"},"content":" click(changeVisibilityButton);"},{"lineNumber":1016,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1017,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1018,"author":{"gitId":"-"},"content":""},{"lineNumber":1019,"author":{"gitId":"-"},"content":" private void showEmailSettings() {"},{"lineNumber":1020,"author":{"gitId":"-"},"content":" if (isElementPresent(By.id(\"btn-change-email\"))) {"},{"lineNumber":1021,"author":{"gitId":"-"},"content":" click(changeEmailButton);"},{"lineNumber":1022,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1023,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1024,"author":{"gitId":"-"},"content":""},{"lineNumber":1025,"author":{"gitId":"-"},"content":" private int getNumQuestions() {"},{"lineNumber":1026,"author":{"gitId":"-"},"content":" return browser.driver.findElements(By.tagName(\"tm-question-edit-form\")).size();"},{"lineNumber":1027,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1028,"author":{"gitId":"-"},"content":""},{"lineNumber":1029,"author":{"gitId":"-"},"content":" private WebElement getQuestionForm(int questionNum) {"},{"lineNumber":1030,"author":{"gitId":"-"},"content":" return browser.driver.findElements(By.tagName(\"tm-question-edit-form\")).get(questionNum - 1);"},{"lineNumber":1031,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1032,"author":{"gitId":"-"},"content":""},{"lineNumber":1033,"author":{"gitId":"-"},"content":" private FeedbackQuestionType getQuestionType(int questionNum) {"},{"lineNumber":1034,"author":{"gitId":"-"},"content":" String questionType \u003d getQuestionForm(questionNum).findElement(By.id(\"question-type\")).getText().trim();"},{"lineNumber":1035,"author":{"gitId":"-"},"content":""},{"lineNumber":1036,"author":{"gitId":"-"},"content":" switch (questionType) {"},{"lineNumber":1037,"author":{"gitId":"-"},"content":" case \"Essay question\":"},{"lineNumber":1038,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.TEXT;"},{"lineNumber":1039,"author":{"gitId":"-"},"content":" case \"Multiple-Choice (single answer) question\":"},{"lineNumber":1040,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.MCQ;"},{"lineNumber":1041,"author":{"gitId":"-"},"content":" case \"Multiple-choice (multiple answers) question\":"},{"lineNumber":1042,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.MSQ;"},{"lineNumber":1043,"author":{"gitId":"-"},"content":" case \"Numerical Scale Question\":"},{"lineNumber":1044,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.NUMSCALE;"},{"lineNumber":1045,"author":{"gitId":"-"},"content":" case \"Distribute points (among options) question\":"},{"lineNumber":1046,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.CONSTSUM_OPTIONS;"},{"lineNumber":1047,"author":{"gitId":"-"},"content":" case \"Distribute points (among recipients) question\":"},{"lineNumber":1048,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.CONSTSUM_RECIPIENTS;"},{"lineNumber":1049,"author":{"gitId":"-"},"content":" case \"Team contribution question\":"},{"lineNumber":1050,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.CONTRIB;"},{"lineNumber":1051,"author":{"gitId":"-"},"content":" case \"Rubric question\":"},{"lineNumber":1052,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.RUBRIC;"},{"lineNumber":1053,"author":{"gitId":"-"},"content":" case \"Rank (options) question\":"},{"lineNumber":1054,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.RANK_OPTIONS;"},{"lineNumber":1055,"author":{"gitId":"-"},"content":" case \"Rank (recipients) question\":"},{"lineNumber":1056,"author":{"gitId":"-"},"content":" return FeedbackQuestionType.RANK_RECIPIENTS;"},{"lineNumber":1057,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":1058,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(\"Unknown FeedbackQuestionType\");"},{"lineNumber":1059,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1060,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1061,"author":{"gitId":"-"},"content":""},{"lineNumber":1062,"author":{"gitId":"-"},"content":" private int getQuestionNumber(int questionNum) {"},{"lineNumber":1063,"author":{"gitId":"-"},"content":" return Integer.parseInt(getQuestionForm(questionNum).findElement(By.id(\"question-number\")).getText());"},{"lineNumber":1064,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1065,"author":{"gitId":"-"},"content":""},{"lineNumber":1066,"author":{"gitId":"-"},"content":" private String getQuestionBrief(int questionNum) {"},{"lineNumber":1067,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"question-brief\")).getAttribute(\"value\");"},{"lineNumber":1068,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1069,"author":{"gitId":"-"},"content":""},{"lineNumber":1070,"author":{"gitId":"-"},"content":" private String getQuestionDescription(int questionNum) {"},{"lineNumber":1071,"author":{"gitId":"-"},"content":" WebElement editor \u003d waitForElementPresence(By.cssSelector(\"#question-form-\" + questionNum + \" editor\"));"},{"lineNumber":1072,"author":{"gitId":"-"},"content":" return getEditorRichText(editor);"},{"lineNumber":1073,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1074,"author":{"gitId":"-"},"content":""},{"lineNumber":1075,"author":{"gitId":"-"},"content":" private String getFeedbackGiver(int questionNum) {"},{"lineNumber":1076,"author":{"gitId":"-"},"content":" String feedbackPath \u003d getFeedbackPath(questionNum);"},{"lineNumber":1077,"author":{"gitId":"-"},"content":" if (CUSTOM_FEEDBACK_PATH_OPTION.equals(feedbackPath)) {"},{"lineNumber":1078,"author":{"gitId":"-"},"content":" return getSelectedDropdownOptionText(getQuestionForm(questionNum)"},{"lineNumber":1079,"author":{"gitId":"-"},"content":" .findElement(By.tagName(\"tm-feedback-path-panel\"))"},{"lineNumber":1080,"author":{"gitId":"-"},"content":" .findElement(By.id(\"giver-type\")));"},{"lineNumber":1081,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1082,"author":{"gitId":"-"},"content":" return feedbackPath.split(FEEDBACK_PATH_SEPARATOR)[0];"},{"lineNumber":1083,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1084,"author":{"gitId":"-"},"content":""},{"lineNumber":1085,"author":{"gitId":"-"},"content":" private String getFeedbackReceiver(int questionNum) {"},{"lineNumber":1086,"author":{"gitId":"-"},"content":" String feedbackPath \u003d getFeedbackPath(questionNum);"},{"lineNumber":1087,"author":{"gitId":"-"},"content":" if (CUSTOM_FEEDBACK_PATH_OPTION.equals(feedbackPath)) {"},{"lineNumber":1088,"author":{"gitId":"-"},"content":" return getSelectedDropdownOptionText(getQuestionForm(questionNum)"},{"lineNumber":1089,"author":{"gitId":"-"},"content":" .findElement(By.tagName(\"tm-feedback-path-panel\"))"},{"lineNumber":1090,"author":{"gitId":"-"},"content":" .findElement(By.id(\"receiver-type\")));"},{"lineNumber":1091,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1092,"author":{"gitId":"-"},"content":" return feedbackPath.split(FEEDBACK_PATH_SEPARATOR)[1];"},{"lineNumber":1093,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1094,"author":{"gitId":"-"},"content":""},{"lineNumber":1095,"author":{"gitId":"-"},"content":" private String getFeedbackPath(int questionNum) {"},{"lineNumber":1096,"author":{"gitId":"-"},"content":" WebElement feedbackPathPanel \u003d getQuestionForm(questionNum).findElement(By.tagName(\"tm-feedback-path-panel\"));"},{"lineNumber":1097,"author":{"gitId":"-"},"content":" return feedbackPathPanel.findElement(By.cssSelector(\"#btn-feedback-path span\")).getText();"},{"lineNumber":1098,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1099,"author":{"gitId":"-"},"content":""},{"lineNumber":1100,"author":{"gitId":"-"},"content":" private void setQuestionBrief(int questionNum, String newBrief) {"},{"lineNumber":1101,"author":{"gitId":"-"},"content":" fillTextBox(getQuestionForm(questionNum).findElement(By.id(\"question-brief\")), newBrief);"},{"lineNumber":1102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1103,"author":{"gitId":"-"},"content":""},{"lineNumber":1104,"author":{"gitId":"-"},"content":" private void setQuestionDescription(int questionNum, String newDescription) {"},{"lineNumber":1105,"author":{"gitId":"-"},"content":" WebElement editor \u003d waitForElementPresence(By.cssSelector(\"#question-form-\" + questionNum + \" editor\"));"},{"lineNumber":1106,"author":{"gitId":"-"},"content":" writeToRichTextEditor(editor, newDescription);"},{"lineNumber":1107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1108,"author":{"gitId":"-"},"content":""},{"lineNumber":1109,"author":{"gitId":"-"},"content":" private void setFeedbackPath(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":1110,"author":{"gitId":"-"},"content":" FeedbackParticipantType newGiver \u003d feedbackQuestion.getGiverType();"},{"lineNumber":1111,"author":{"gitId":"-"},"content":" FeedbackParticipantType newRecipient \u003d feedbackQuestion.getRecipientType();"},{"lineNumber":1112,"author":{"gitId":"-"},"content":" String feedbackPath \u003d getFeedbackPath(questionNum);"},{"lineNumber":1113,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum).findElement(By.tagName(\"tm-feedback-path-panel\"));"},{"lineNumber":1114,"author":{"gitId":"-"},"content":" if (!CUSTOM_FEEDBACK_PATH_OPTION.equals(feedbackPath)) {"},{"lineNumber":1115,"author":{"gitId":"-"},"content":" selectFeedbackPathDropdownOption(questionNum, CUSTOM_FEEDBACK_PATH_OPTION + \"...\");"},{"lineNumber":1116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1117,"author":{"gitId":"-"},"content":" // Set to type STUDENT first to adjust NumberOfEntitiesToGiveFeedbackTo"},{"lineNumber":1118,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"giver-type\")),"},{"lineNumber":1119,"author":{"gitId":"-"},"content":" getDisplayGiverName(FeedbackParticipantType.STUDENTS));"},{"lineNumber":1120,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"receiver-type\")),"},{"lineNumber":1121,"author":{"gitId":"-"},"content":" getDisplayRecipientName(FeedbackParticipantType.STUDENTS_EXCLUDING_SELF));"},{"lineNumber":1122,"author":{"gitId":"-"},"content":" if (feedbackQuestion.getNumberOfEntitiesToGiveFeedbackTo() \u003d\u003d Const.MAX_POSSIBLE_RECIPIENTS) {"},{"lineNumber":1123,"author":{"gitId":"-"},"content":" click(questionForm.findElement(By.id(\"unlimited-recipients\")));"},{"lineNumber":1124,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1125,"author":{"gitId":"-"},"content":" click(questionForm.findElement(By.id(\"custom-recipients\")));"},{"lineNumber":1126,"author":{"gitId":"-"},"content":" fillTextBox(questionForm.findElement(By.id(\"custom-recipients-number\")),"},{"lineNumber":1127,"author":{"gitId":"-"},"content":" Integer.toString(feedbackQuestion.getNumberOfEntitiesToGiveFeedbackTo()));"},{"lineNumber":1128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1129,"author":{"gitId":"-"},"content":""},{"lineNumber":1130,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"giver-type\")), getDisplayGiverName(newGiver));"},{"lineNumber":1131,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"receiver-type\")),"},{"lineNumber":1132,"author":{"gitId":"-"},"content":" getDisplayRecipientName(newRecipient));"},{"lineNumber":1133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1134,"author":{"gitId":"-"},"content":""},{"lineNumber":1135,"author":{"gitId":"-"},"content":" private void setFeedbackPath(int questionNum, FeedbackQuestion feedbackQuestion) {"},{"lineNumber":1136,"author":{"gitId":"-"},"content":" FeedbackParticipantType newGiver \u003d feedbackQuestion.getGiverType();"},{"lineNumber":1137,"author":{"gitId":"-"},"content":" FeedbackParticipantType newRecipient \u003d feedbackQuestion.getRecipientType();"},{"lineNumber":1138,"author":{"gitId":"-"},"content":" String feedbackPath \u003d getFeedbackPath(questionNum);"},{"lineNumber":1139,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum).findElement(By.tagName(\"tm-feedback-path-panel\"));"},{"lineNumber":1140,"author":{"gitId":"-"},"content":" if (!CUSTOM_FEEDBACK_PATH_OPTION.equals(feedbackPath)) {"},{"lineNumber":1141,"author":{"gitId":"-"},"content":" selectFeedbackPathDropdownOption(questionNum, CUSTOM_FEEDBACK_PATH_OPTION + \"...\");"},{"lineNumber":1142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1143,"author":{"gitId":"-"},"content":" // Set to type STUDENT first to adjust NumberOfEntitiesToGiveFeedbackTo"},{"lineNumber":1144,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"giver-type\")),"},{"lineNumber":1145,"author":{"gitId":"-"},"content":" getDisplayGiverName(FeedbackParticipantType.STUDENTS));"},{"lineNumber":1146,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"receiver-type\")),"},{"lineNumber":1147,"author":{"gitId":"-"},"content":" getDisplayRecipientName(FeedbackParticipantType.STUDENTS_EXCLUDING_SELF));"},{"lineNumber":1148,"author":{"gitId":"-"},"content":" if (feedbackQuestion.getNumOfEntitiesToGiveFeedbackTo() \u003d\u003d Const.MAX_POSSIBLE_RECIPIENTS) {"},{"lineNumber":1149,"author":{"gitId":"-"},"content":" click(questionForm.findElement(By.id(\"unlimited-recipients\")));"},{"lineNumber":1150,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1151,"author":{"gitId":"-"},"content":" click(questionForm.findElement(By.id(\"custom-recipients\")));"},{"lineNumber":1152,"author":{"gitId":"-"},"content":" fillTextBox(questionForm.findElement(By.id(\"custom-recipients-number\")),"},{"lineNumber":1153,"author":{"gitId":"-"},"content":" Integer.toString(feedbackQuestion.getNumOfEntitiesToGiveFeedbackTo()));"},{"lineNumber":1154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1155,"author":{"gitId":"-"},"content":""},{"lineNumber":1156,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"giver-type\")), getDisplayGiverName(newGiver));"},{"lineNumber":1157,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(questionForm.findElement(By.id(\"receiver-type\")),"},{"lineNumber":1158,"author":{"gitId":"-"},"content":" getDisplayRecipientName(newRecipient));"},{"lineNumber":1159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1160,"author":{"gitId":"-"},"content":""},{"lineNumber":1161,"author":{"gitId":"-"},"content":" private void selectFeedbackPathDropdownOption(int questionNum, String text) {"},{"lineNumber":1162,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum);"},{"lineNumber":1163,"author":{"gitId":"-"},"content":" WebElement feedbackPathPanel \u003d questionForm.findElement(By.tagName(\"tm-feedback-path-panel\"));"},{"lineNumber":1164,"author":{"gitId":"-"},"content":" click(feedbackPathPanel.findElement(By.id(\"btn-feedback-path\")));"},{"lineNumber":1165,"author":{"gitId":"-"},"content":" WebElement dropdown \u003d feedbackPathPanel.findElement(By.id(\"feedback-path-dropdown\"));"},{"lineNumber":1166,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e options \u003d dropdown.findElements(By.className(\"dropdown-button\"));"},{"lineNumber":1167,"author":{"gitId":"-"},"content":" for (WebElement option : options) {"},{"lineNumber":1168,"author":{"gitId":"-"},"content":" if (option.getText().equals(text)) {"},{"lineNumber":1169,"author":{"gitId":"-"},"content":" click(option);"},{"lineNumber":1170,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":1171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1174,"author":{"gitId":"-"},"content":""},{"lineNumber":1175,"author":{"gitId":"-"},"content":" private void clickEditQuestionButton(int questionNum) {"},{"lineNumber":1176,"author":{"gitId":"-"},"content":" click(getQuestionForm(questionNum).findElement(By.id(\"btn-edit-question\")));"},{"lineNumber":1177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1178,"author":{"gitId":"-"},"content":""},{"lineNumber":1179,"author":{"gitId":"-"},"content":" private void clickSaveQuestionButton(int questionNum) {"},{"lineNumber":1180,"author":{"gitId":"-"},"content":" WebElement saveButton \u003d getQuestionForm(questionNum).findElement(By.id(\"btn-save-question\"));"},{"lineNumber":1181,"author":{"gitId":"-"},"content":" click(saveButton);"},{"lineNumber":1182,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(1000);"},{"lineNumber":1183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1184,"author":{"gitId":"-"},"content":""},{"lineNumber":1185,"author":{"gitId":"-"},"content":" private void setQuestionVisibility(int questionNum, FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":1186,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum);"},{"lineNumber":1187,"author":{"gitId":"-"},"content":" WebElement visibilityPanel \u003d questionForm.findElement(By.tagName(\"tm-visibility-panel\"));"},{"lineNumber":1188,"author":{"gitId":"-"},"content":" String visibility \u003d visibilityPanel.findElement(By.cssSelector(\"#btn-question-visibility span\")).getText();"},{"lineNumber":1189,"author":{"gitId":"-"},"content":" if (!CUSTOM_VISIBILITY_OPTION.equals(visibility)) {"},{"lineNumber":1190,"author":{"gitId":"-"},"content":" selectVisibilityDropdownOption(questionNum, CUSTOM_VISIBILITY_OPTION + \"...\");"},{"lineNumber":1191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1192,"author":{"gitId":"-"},"content":""},{"lineNumber":1193,"author":{"gitId":"-"},"content":" FeedbackParticipantType giver \u003d feedbackQuestion.getGiverType();"},{"lineNumber":1194,"author":{"gitId":"-"},"content":" FeedbackParticipantType receiver \u003d feedbackQuestion.getRecipientType();"},{"lineNumber":1195,"author":{"gitId":"-"},"content":" WebElement customVisibilityTable \u003d visibilityPanel.findElement(By.id(\"custom-visibility-table\"));"},{"lineNumber":1196,"author":{"gitId":"-"},"content":" selectVisibilityBoxes(customVisibilityTable, giver, receiver, feedbackQuestion.getShowResponsesTo(), 1);"},{"lineNumber":1197,"author":{"gitId":"-"},"content":" selectVisibilityBoxes(customVisibilityTable, giver, receiver, feedbackQuestion.getShowGiverNameTo(), 2);"},{"lineNumber":1198,"author":{"gitId":"-"},"content":" selectVisibilityBoxes(customVisibilityTable, giver, receiver, feedbackQuestion.getShowRecipientNameTo(), 3);"},{"lineNumber":1199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1200,"author":{"gitId":"-"},"content":""},{"lineNumber":1201,"author":{"gitId":"-"},"content":" private void setQuestionVisibility(int questionNum, FeedbackQuestion feedbackQuestion) {"},{"lineNumber":1202,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum);"},{"lineNumber":1203,"author":{"gitId":"-"},"content":" WebElement visibilityPanel \u003d questionForm.findElement(By.tagName(\"tm-visibility-panel\"));"},{"lineNumber":1204,"author":{"gitId":"-"},"content":" String visibility \u003d visibilityPanel.findElement(By.cssSelector(\"#btn-question-visibility span\")).getText();"},{"lineNumber":1205,"author":{"gitId":"-"},"content":" if (!CUSTOM_VISIBILITY_OPTION.equals(visibility)) {"},{"lineNumber":1206,"author":{"gitId":"-"},"content":" selectVisibilityDropdownOption(questionNum, CUSTOM_VISIBILITY_OPTION + \"...\");"},{"lineNumber":1207,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1208,"author":{"gitId":"-"},"content":""},{"lineNumber":1209,"author":{"gitId":"-"},"content":" FeedbackParticipantType giver \u003d feedbackQuestion.getGiverType();"},{"lineNumber":1210,"author":{"gitId":"-"},"content":" FeedbackParticipantType receiver \u003d feedbackQuestion.getRecipientType();"},{"lineNumber":1211,"author":{"gitId":"-"},"content":" WebElement customVisibilityTable \u003d visibilityPanel.findElement(By.id(\"custom-visibility-table\"));"},{"lineNumber":1212,"author":{"gitId":"-"},"content":" selectVisibilityBoxes(customVisibilityTable, giver, receiver, feedbackQuestion.getShowResponsesTo(), 1);"},{"lineNumber":1213,"author":{"gitId":"-"},"content":" selectVisibilityBoxes(customVisibilityTable, giver, receiver, feedbackQuestion.getShowGiverNameTo(), 2);"},{"lineNumber":1214,"author":{"gitId":"-"},"content":" selectVisibilityBoxes(customVisibilityTable, giver, receiver, feedbackQuestion.getShowRecipientNameTo(), 3);"},{"lineNumber":1215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1216,"author":{"gitId":"-"},"content":""},{"lineNumber":1217,"author":{"gitId":"-"},"content":" private void selectVisibilityBoxes(WebElement table, FeedbackParticipantType giver,"},{"lineNumber":1218,"author":{"gitId":"-"},"content":" FeedbackParticipantType receiver, List\u003cFeedbackParticipantType\u003e participants,"},{"lineNumber":1219,"author":{"gitId":"-"},"content":" int colNum) {"},{"lineNumber":1220,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e possibleTypes \u003d new ArrayList\u003c\u003e(Arrays.asList(FeedbackParticipantType.RECEIVER,"},{"lineNumber":1221,"author":{"gitId":"-"},"content":" FeedbackParticipantType.OWN_TEAM_MEMBERS, FeedbackParticipantType.RECEIVER_TEAM_MEMBERS,"},{"lineNumber":1222,"author":{"gitId":"-"},"content":" FeedbackParticipantType.STUDENTS, FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":1223,"author":{"gitId":"-"},"content":" if (!giver.equals(FeedbackParticipantType.STUDENTS)) {"},{"lineNumber":1224,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.OWN_TEAM_MEMBERS);"},{"lineNumber":1225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1226,"author":{"gitId":"-"},"content":" if (!receiver.equals(FeedbackParticipantType.STUDENTS_EXCLUDING_SELF)) {"},{"lineNumber":1227,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS);"},{"lineNumber":1228,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1229,"author":{"gitId":"-"},"content":" if (receiver.equals(FeedbackParticipantType.NONE)"},{"lineNumber":1230,"author":{"gitId":"-"},"content":" || receiver.equals(FeedbackParticipantType.SELF)"},{"lineNumber":1231,"author":{"gitId":"-"},"content":" || receiver.equals(FeedbackParticipantType.OWN_TEAM)) {"},{"lineNumber":1232,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.RECEIVER);"},{"lineNumber":1233,"author":{"gitId":"-"},"content":" possibleTypes.remove(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS);"},{"lineNumber":1234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1235,"author":{"gitId":"-"},"content":""},{"lineNumber":1236,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e rows \u003d table.findElements(By.tagName(\"tr\"));"},{"lineNumber":1237,"author":{"gitId":"-"},"content":" int index \u003d colNum - 1;"},{"lineNumber":1238,"author":{"gitId":"-"},"content":" for (FeedbackParticipantType participant : participants) {"},{"lineNumber":1239,"author":{"gitId":"-"},"content":" markOptionAsSelected(rows.get(possibleTypes.indexOf(participant)).findElements(By.tagName(\"input\")).get(index));"},{"lineNumber":1240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1242,"author":{"gitId":"-"},"content":""},{"lineNumber":1243,"author":{"gitId":"-"},"content":" private void selectVisibilityDropdownOption(int questionNum, String text) {"},{"lineNumber":1244,"author":{"gitId":"-"},"content":" WebElement questionForm \u003d getQuestionForm(questionNum);"},{"lineNumber":1245,"author":{"gitId":"-"},"content":" WebElement visibilityPanel \u003d questionForm.findElement(By.tagName(\"tm-visibility-panel\"));"},{"lineNumber":1246,"author":{"gitId":"-"},"content":" click(visibilityPanel.findElement(By.id(\"btn-question-visibility\")));"},{"lineNumber":1247,"author":{"gitId":"-"},"content":" WebElement dropdown \u003d visibilityPanel.findElement(By.id(\"question-visibility-dropdown\"));"},{"lineNumber":1248,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e options \u003d dropdown.findElements(By.className(\"dropdown-button\"));"},{"lineNumber":1249,"author":{"gitId":"-"},"content":" for (WebElement option : options) {"},{"lineNumber":1250,"author":{"gitId":"-"},"content":" if (option.getText().equals(text)) {"},{"lineNumber":1251,"author":{"gitId":"-"},"content":" click(option);"},{"lineNumber":1252,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":1253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1254,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1255,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1256,"author":{"gitId":"-"},"content":""},{"lineNumber":1257,"author":{"gitId":"-"},"content":" private void clickAndWaitForNewQuestion(WebElement button) {"},{"lineNumber":1258,"author":{"gitId":"-"},"content":" int newQuestionNum \u003d getNumQuestions() + 1;"},{"lineNumber":1259,"author":{"gitId":"-"},"content":" click(button);"},{"lineNumber":1260,"author":{"gitId":"-"},"content":" waitForElementPresence(By.id(\"question-form-\" + newQuestionNum));"},{"lineNumber":1261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1262,"author":{"gitId":"-"},"content":""},{"lineNumber":1263,"author":{"gitId":"-"},"content":" private void addNewQuestion(int optionNumber) {"},{"lineNumber":1264,"author":{"gitId":"-"},"content":" click(addNewQuestionButton);"},{"lineNumber":1265,"author":{"gitId":"-"},"content":" WebElement newQuestionDropdown \u003d waitForElementPresence(By.id(\"new-question-dropdown\"));"},{"lineNumber":1266,"author":{"gitId":"-"},"content":" WebElement optionButton \u003d newQuestionDropdown.findElements(By.tagName(\"button\")).get(optionNumber - 1);"},{"lineNumber":1267,"author":{"gitId":"-"},"content":" if (optionNumber \u003d\u003d 1) {"},{"lineNumber":1268,"author":{"gitId":"-"},"content":" click(optionButton);"},{"lineNumber":1269,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1270,"author":{"gitId":"-"},"content":" clickAndWaitForNewQuestion(optionButton);"},{"lineNumber":1271,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1272,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1273,"author":{"gitId":"-"},"content":""},{"lineNumber":1274,"author":{"gitId":"-"},"content":" private void clickSaveNewQuestionButton() {"},{"lineNumber":1275,"author":{"gitId":"-"},"content":" WebElement saveButton \u003d browser.driver.findElement(By.id(\"btn-save-new\"));"},{"lineNumber":1276,"author":{"gitId":"-"},"content":" click(saveButton);"},{"lineNumber":1277,"author":{"gitId":"-"},"content":" waitForElementStaleness(saveButton);"},{"lineNumber":1278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1279,"author":{"gitId":"-"},"content":""},{"lineNumber":1280,"author":{"gitId":"-"},"content":" private WebElement getRecommendedTextLengthField(int questionNum) {"},{"lineNumber":1281,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum)"},{"lineNumber":1282,"author":{"gitId":"-"},"content":" .findElement(By.tagName(\"tm-text-question-edit-details-form\"))"},{"lineNumber":1283,"author":{"gitId":"-"},"content":" .findElement(By.id(\"recommended-length\"));"},{"lineNumber":1284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1285,"author":{"gitId":"-"},"content":""},{"lineNumber":1286,"author":{"gitId":"-"},"content":" private WebElement getGenerateOptionsCheckbox(int questionNum) {"},{"lineNumber":1287,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"generate-checkbox\"));"},{"lineNumber":1288,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1289,"author":{"gitId":"-"},"content":""},{"lineNumber":1290,"author":{"gitId":"-"},"content":" private WebElement getGenerateOptionsDropdown(int questionNum) {"},{"lineNumber":1291,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"generate-dropdown\"));"},{"lineNumber":1292,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1293,"author":{"gitId":"-"},"content":""},{"lineNumber":1294,"author":{"gitId":"-"},"content":" private WebElement getWeightCheckbox(int questionNum) {"},{"lineNumber":1295,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"weights-checkbox\"));"},{"lineNumber":1296,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1297,"author":{"gitId":"-"},"content":""},{"lineNumber":1298,"author":{"gitId":"-"},"content":" private WebElement getOtherOptionCheckbox(int questionNum) {"},{"lineNumber":1299,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"other-checkbox\"));"},{"lineNumber":1300,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1301,"author":{"gitId":"-"},"content":""},{"lineNumber":1302,"author":{"gitId":"-"},"content":" private WebElement getQuestionDropdownCheckbox(int questionNum) {"},{"lineNumber":1303,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"make-question-dropdown\"));"},{"lineNumber":1304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1305,"author":{"gitId":"-"},"content":""},{"lineNumber":1306,"author":{"gitId":"-"},"content":" private String getGeneratedOptionString(FeedbackParticipantType type) {"},{"lineNumber":1307,"author":{"gitId":"-"},"content":" switch (type) {"},{"lineNumber":1308,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":1309,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":1310,"author":{"gitId":"-"},"content":" return \"students\";"},{"lineNumber":1311,"author":{"gitId":"-"},"content":" case STUDENTS_EXCLUDING_SELF:"},{"lineNumber":1312,"author":{"gitId":"-"},"content":" return \"students (excluding self)\";"},{"lineNumber":1313,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":1314,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":1315,"author":{"gitId":"-"},"content":" return \"teams\";"},{"lineNumber":1316,"author":{"gitId":"-"},"content":" case TEAMS_EXCLUDING_SELF:"},{"lineNumber":1317,"author":{"gitId":"-"},"content":" return \"teams (excluding own team)\";"},{"lineNumber":1318,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":1319,"author":{"gitId":"-"},"content":" return \"instructors\";"},{"lineNumber":1320,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":1321,"author":{"gitId":"-"},"content":" return \"unknown\";"},{"lineNumber":1322,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1323,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1324,"author":{"gitId":"-"},"content":""},{"lineNumber":1325,"author":{"gitId":"-"},"content":" private String getDoubleString(Double value) {"},{"lineNumber":1326,"author":{"gitId":"-"},"content":" return value % 1 \u003d\u003d 0 ? Integer.toString(value.intValue()) : Double.toString(value);"},{"lineNumber":1327,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1328,"author":{"gitId":"-"},"content":""},{"lineNumber":1329,"author":{"gitId":"-"},"content":" private WebElement getOptionsSection(int questionNum) {"},{"lineNumber":1330,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"options-section\"));"},{"lineNumber":1331,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1332,"author":{"gitId":"-"},"content":""},{"lineNumber":1333,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getOptionInputs(int questionNum) {"},{"lineNumber":1334,"author":{"gitId":"-"},"content":" WebElement optionsSection \u003d getOptionsSection(questionNum);"},{"lineNumber":1335,"author":{"gitId":"-"},"content":" return optionsSection.findElements(By.cssSelector(\"input[type\u003d\u0027text\u0027]\"));"},{"lineNumber":1336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1337,"author":{"gitId":"-"},"content":""},{"lineNumber":1338,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getOptionWeightInputs(int questionNum) {"},{"lineNumber":1339,"author":{"gitId":"-"},"content":" WebElement optionsSection \u003d getOptionsSection(questionNum);"},{"lineNumber":1340,"author":{"gitId":"-"},"content":" return optionsSection.findElements(By.cssSelector(\"tm-weight-field input\"));"},{"lineNumber":1341,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1342,"author":{"gitId":"-"},"content":""},{"lineNumber":1343,"author":{"gitId":"-"},"content":" private WebElement getOtherWeightInput(int questionNum) {"},{"lineNumber":1344,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"other-weight\"));"},{"lineNumber":1345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1346,"author":{"gitId":"-"},"content":""},{"lineNumber":1347,"author":{"gitId":"-"},"content":" private boolean verifyGeneratedOptions(int questionNum, FeedbackParticipantType participantType) {"},{"lineNumber":1348,"author":{"gitId":"-"},"content":" if (!participantType.equals(FeedbackParticipantType.NONE)) {"},{"lineNumber":1349,"author":{"gitId":"-"},"content":" assertTrue(getGenerateOptionsCheckbox(questionNum).isSelected());"},{"lineNumber":1350,"author":{"gitId":"-"},"content":" assertEquals(getSelectedDropdownOptionText(getGenerateOptionsDropdown(questionNum)),"},{"lineNumber":1351,"author":{"gitId":"-"},"content":" getGeneratedOptionString(participantType));"},{"lineNumber":1352,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":1353,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1354,"author":{"gitId":"-"},"content":" assertFalse(getGenerateOptionsCheckbox(questionNum).isSelected());"},{"lineNumber":1355,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":1356,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1357,"author":{"gitId":"-"},"content":""},{"lineNumber":1358,"author":{"gitId":"-"},"content":" private void verifyOptions(int questionNum, List\u003cString\u003e options) {"},{"lineNumber":1359,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e inputs \u003d getOptionInputs(questionNum);"},{"lineNumber":1360,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c options.size(); i++) {"},{"lineNumber":1361,"author":{"gitId":"-"},"content":" assertEquals(options.get(i), inputs.get(i).getAttribute(\"value\"));"},{"lineNumber":1362,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1363,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1364,"author":{"gitId":"-"},"content":""},{"lineNumber":1365,"author":{"gitId":"-"},"content":" private void verifyOptionWeights(int questionNum, boolean hasWeights, List\u003cDouble\u003e weights) {"},{"lineNumber":1366,"author":{"gitId":"-"},"content":" if (hasWeights) {"},{"lineNumber":1367,"author":{"gitId":"-"},"content":" assertTrue(getWeightCheckbox(questionNum).isSelected());"},{"lineNumber":1368,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e weightInputs \u003d getOptionWeightInputs(questionNum);"},{"lineNumber":1369,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c weights.size(); i++) {"},{"lineNumber":1370,"author":{"gitId":"-"},"content":" assertEquals(getDoubleString(weights.get(i)), weightInputs.get(i).getAttribute(\"value\"));"},{"lineNumber":1371,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1372,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1373,"author":{"gitId":"-"},"content":" assertFalse(getWeightCheckbox(questionNum).isSelected());"},{"lineNumber":1374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1375,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1376,"author":{"gitId":"-"},"content":""},{"lineNumber":1377,"author":{"gitId":"-"},"content":" private void verifyOtherOption(int questionNum, boolean hasOther, Double weight) {"},{"lineNumber":1378,"author":{"gitId":"-"},"content":" if (hasOther) {"},{"lineNumber":1379,"author":{"gitId":"-"},"content":" assertTrue(getOtherOptionCheckbox(questionNum).isSelected());"},{"lineNumber":1380,"author":{"gitId":"-"},"content":" if (weight \u003e 0) {"},{"lineNumber":1381,"author":{"gitId":"-"},"content":" String otherWeight \u003d getOtherWeightInput(questionNum).getAttribute(\"value\");"},{"lineNumber":1382,"author":{"gitId":"-"},"content":" assertEquals(getDoubleString(weight), otherWeight);"},{"lineNumber":1383,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1384,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1385,"author":{"gitId":"-"},"content":" assertFalse(getOtherOptionCheckbox(questionNum).isSelected());"},{"lineNumber":1386,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1388,"author":{"gitId":"-"},"content":""},{"lineNumber":1389,"author":{"gitId":"-"},"content":" private void inputMcqDetails(int questionNum, FeedbackMcqQuestionDetails questionDetails) {"},{"lineNumber":1390,"author":{"gitId":"-"},"content":" if (inputGenerateOptions(questionNum, questionDetails.getGenerateOptionsFor())) {"},{"lineNumber":1391,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":1392,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1393,"author":{"gitId":"-"},"content":""},{"lineNumber":1394,"author":{"gitId":"-"},"content":" inputOptions(questionNum, questionDetails.getMcqChoices());"},{"lineNumber":1395,"author":{"gitId":"-"},"content":" inputOptionWeights(questionNum, questionDetails.isHasAssignedWeights(), questionDetails.getMcqWeights());"},{"lineNumber":1396,"author":{"gitId":"-"},"content":" inputOtherChoice(questionNum, questionDetails.isOtherEnabled(), questionDetails.getMcqOtherWeight());"},{"lineNumber":1397,"author":{"gitId":"-"},"content":" inputDropdownEnabledChoice(questionNum, questionDetails.isQuestionDropdownEnabled());"},{"lineNumber":1398,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1399,"author":{"gitId":"-"},"content":""},{"lineNumber":1400,"author":{"gitId":"-"},"content":" private boolean inputGenerateOptions(int questionNum, FeedbackParticipantType participantType) {"},{"lineNumber":1401,"author":{"gitId":"-"},"content":" if (!participantType.equals(FeedbackParticipantType.NONE)) {"},{"lineNumber":1402,"author":{"gitId":"-"},"content":" markOptionAsSelected(getGenerateOptionsCheckbox(questionNum));"},{"lineNumber":1403,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(getGenerateOptionsDropdown(questionNum),"},{"lineNumber":1404,"author":{"gitId":"-"},"content":" getGeneratedOptionString(participantType));"},{"lineNumber":1405,"author":{"gitId":"-"},"content":" clickSaveQuestionButton(questionNum);"},{"lineNumber":1406,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":1407,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1408,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getGenerateOptionsCheckbox(questionNum));"},{"lineNumber":1409,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":1410,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1411,"author":{"gitId":"-"},"content":""},{"lineNumber":1412,"author":{"gitId":"-"},"content":" private void inputOptions(int questionNum, List\u003cString\u003e options) {"},{"lineNumber":1413,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e inputs \u003d getOptionInputs(questionNum);"},{"lineNumber":1414,"author":{"gitId":"-"},"content":" int numInputsNeeded \u003d options.size() - inputs.size();"},{"lineNumber":1415,"author":{"gitId":"-"},"content":" if (numInputsNeeded \u003e 0) {"},{"lineNumber":1416,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numInputsNeeded; i++) {"},{"lineNumber":1417,"author":{"gitId":"-"},"content":" click(getQuestionForm(questionNum).findElement(By.id(\"btn-add-option\")));"},{"lineNumber":1418,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1419,"author":{"gitId":"-"},"content":" inputs \u003d getOptionInputs(questionNum);"},{"lineNumber":1420,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1421,"author":{"gitId":"-"},"content":" if (numInputsNeeded \u003c 0) {"},{"lineNumber":1422,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c -numInputsNeeded; i++) {"},{"lineNumber":1423,"author":{"gitId":"-"},"content":" click(getOptionsSection(questionNum).findElement(By.tagName(\"button\")));"},{"lineNumber":1424,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1425,"author":{"gitId":"-"},"content":" inputs \u003d getOptionInputs(questionNum);"},{"lineNumber":1426,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1427,"author":{"gitId":"-"},"content":""},{"lineNumber":1428,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c options.size(); i++) {"},{"lineNumber":1429,"author":{"gitId":"-"},"content":" fillTextBox(inputs.get(i), options.get(i));"},{"lineNumber":1430,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1431,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1432,"author":{"gitId":"-"},"content":""},{"lineNumber":1433,"author":{"gitId":"-"},"content":" private void inputOptionWeights(int questionNum, boolean hasWeights, List\u003cDouble\u003e weights) {"},{"lineNumber":1434,"author":{"gitId":"-"},"content":" if (hasWeights) {"},{"lineNumber":1435,"author":{"gitId":"-"},"content":" markOptionAsSelected(getWeightCheckbox(questionNum));"},{"lineNumber":1436,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e weightInputs \u003d getOptionWeightInputs(questionNum);"},{"lineNumber":1437,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c weights.size(); i++) {"},{"lineNumber":1438,"author":{"gitId":"-"},"content":" fillTextBox(weightInputs.get(i), getDoubleString(weights.get(i)));"},{"lineNumber":1439,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1440,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1441,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getWeightCheckbox(questionNum));"},{"lineNumber":1442,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1443,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1444,"author":{"gitId":"-"},"content":""},{"lineNumber":1445,"author":{"gitId":"-"},"content":" private void inputOtherChoice(int questionNum, boolean hasOther, Double otherWeight) {"},{"lineNumber":1446,"author":{"gitId":"-"},"content":" if (hasOther) {"},{"lineNumber":1447,"author":{"gitId":"-"},"content":" markOptionAsSelected(getOtherOptionCheckbox(questionNum));"},{"lineNumber":1448,"author":{"gitId":"-"},"content":" if (otherWeight \u003e 0) {"},{"lineNumber":1449,"author":{"gitId":"-"},"content":" fillTextBox(getOtherWeightInput(questionNum), getDoubleString(otherWeight));"},{"lineNumber":1450,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1451,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1452,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getOtherOptionCheckbox(questionNum));"},{"lineNumber":1453,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1454,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1455,"author":{"gitId":"-"},"content":""},{"lineNumber":1456,"author":{"gitId":"-"},"content":" private void inputDropdownEnabledChoice(int questionNum, boolean hasOther) {"},{"lineNumber":1457,"author":{"gitId":"-"},"content":" if (hasOther) {"},{"lineNumber":1458,"author":{"gitId":"-"},"content":" markOptionAsSelected(getQuestionDropdownCheckbox(questionNum));"},{"lineNumber":1459,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1460,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getQuestionDropdownCheckbox(questionNum));"},{"lineNumber":1461,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1462,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1463,"author":{"gitId":"-"},"content":""},{"lineNumber":1464,"author":{"gitId":"-"},"content":" private WebElement getMaxOptionsCheckbox(int questionNum) {"},{"lineNumber":1465,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"max-options-checkbox\"));"},{"lineNumber":1466,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1467,"author":{"gitId":"-"},"content":""},{"lineNumber":1468,"author":{"gitId":"-"},"content":" private WebElement getMaxOptionsInput(int questionNum) {"},{"lineNumber":1469,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"max-options\"));"},{"lineNumber":1470,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1471,"author":{"gitId":"-"},"content":""},{"lineNumber":1472,"author":{"gitId":"-"},"content":" private WebElement getMinOptionsCheckbox(int questionNum) {"},{"lineNumber":1473,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"min-options-checkbox\"));"},{"lineNumber":1474,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1475,"author":{"gitId":"-"},"content":""},{"lineNumber":1476,"author":{"gitId":"-"},"content":" private WebElement getMinOptionsInput(int questionNum) {"},{"lineNumber":1477,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"min-options\"));"},{"lineNumber":1478,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1479,"author":{"gitId":"-"},"content":""},{"lineNumber":1480,"author":{"gitId":"-"},"content":" private void verifyMaxOptions(int questionNum, int maxOptions) {"},{"lineNumber":1481,"author":{"gitId":"-"},"content":" if (maxOptions \u003d\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":1482,"author":{"gitId":"-"},"content":" assertFalse(getMaxOptionsCheckbox(questionNum).isSelected());"},{"lineNumber":1483,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1484,"author":{"gitId":"-"},"content":" assertTrue(getMaxOptionsCheckbox(questionNum).isSelected());"},{"lineNumber":1485,"author":{"gitId":"-"},"content":" assertEquals(getMaxOptionsInput(questionNum).getAttribute(\"value\"),"},{"lineNumber":1486,"author":{"gitId":"-"},"content":" Integer.toString(maxOptions));"},{"lineNumber":1487,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1488,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1489,"author":{"gitId":"-"},"content":""},{"lineNumber":1490,"author":{"gitId":"-"},"content":" private void verifyMinOptions(int questionNum, int minOptions) {"},{"lineNumber":1491,"author":{"gitId":"-"},"content":" if (minOptions \u003d\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":1492,"author":{"gitId":"-"},"content":" assertFalse(getMinOptionsCheckbox(questionNum).isSelected());"},{"lineNumber":1493,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1494,"author":{"gitId":"-"},"content":" assertTrue(getMinOptionsCheckbox(questionNum).isSelected());"},{"lineNumber":1495,"author":{"gitId":"-"},"content":" assertEquals(getMinOptionsInput(questionNum).getAttribute(\"value\"),"},{"lineNumber":1496,"author":{"gitId":"-"},"content":" Integer.toString(minOptions));"},{"lineNumber":1497,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1498,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1499,"author":{"gitId":"-"},"content":""},{"lineNumber":1500,"author":{"gitId":"-"},"content":" private void inputMsqDetails(int questionNum, FeedbackMsqQuestionDetails questionDetails) {"},{"lineNumber":1501,"author":{"gitId":"-"},"content":" if (inputGenerateOptions(questionNum, questionDetails.getGenerateOptionsFor())) {"},{"lineNumber":1502,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":1503,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1504,"author":{"gitId":"-"},"content":""},{"lineNumber":1505,"author":{"gitId":"-"},"content":" inputOptions(questionNum, questionDetails.getMsqChoices());"},{"lineNumber":1506,"author":{"gitId":"-"},"content":" inputOptionWeights(questionNum, questionDetails.isHasAssignedWeights(), questionDetails.getMsqWeights());"},{"lineNumber":1507,"author":{"gitId":"-"},"content":" inputOtherChoice(questionNum, questionDetails.isOtherEnabled(), questionDetails.getMsqOtherWeight());"},{"lineNumber":1508,"author":{"gitId":"-"},"content":" inputMaxOptions(questionNum, questionDetails.getMaxSelectableChoices());"},{"lineNumber":1509,"author":{"gitId":"-"},"content":" inputMinOptions(questionNum, questionDetails.getMinSelectableChoices());"},{"lineNumber":1510,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1511,"author":{"gitId":"-"},"content":""},{"lineNumber":1512,"author":{"gitId":"-"},"content":" private void inputMaxOptions(int questionNum, int maxOptions) {"},{"lineNumber":1513,"author":{"gitId":"-"},"content":" if (maxOptions \u003d\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":1514,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getMaxOptionsCheckbox(questionNum));"},{"lineNumber":1515,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1516,"author":{"gitId":"-"},"content":" markOptionAsSelected(getMaxOptionsCheckbox(questionNum));"},{"lineNumber":1517,"author":{"gitId":"-"},"content":" fillTextBox(getMaxOptionsInput(questionNum), Integer.toString(maxOptions));"},{"lineNumber":1518,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1519,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1520,"author":{"gitId":"-"},"content":""},{"lineNumber":1521,"author":{"gitId":"-"},"content":" private void inputMinOptions(int questionNum, int minOptions) {"},{"lineNumber":1522,"author":{"gitId":"-"},"content":" if (minOptions \u003d\u003d Const.POINTS_NO_VALUE) {"},{"lineNumber":1523,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getMinOptionsCheckbox(questionNum));"},{"lineNumber":1524,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1525,"author":{"gitId":"-"},"content":" markOptionAsSelected(getMinOptionsCheckbox(questionNum));"},{"lineNumber":1526,"author":{"gitId":"-"},"content":" fillTextBox(getMinOptionsInput(questionNum), Integer.toString(minOptions));"},{"lineNumber":1527,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1528,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1529,"author":{"gitId":"-"},"content":""},{"lineNumber":1530,"author":{"gitId":"-"},"content":" private WebElement getMinNumscaleInput(int questionNum) {"},{"lineNumber":1531,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"min-value\"));"},{"lineNumber":1532,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1533,"author":{"gitId":"-"},"content":""},{"lineNumber":1534,"author":{"gitId":"-"},"content":" private WebElement getMaxNumscaleInput(int questionNum) {"},{"lineNumber":1535,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"max-value\"));"},{"lineNumber":1536,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1537,"author":{"gitId":"-"},"content":""},{"lineNumber":1538,"author":{"gitId":"-"},"content":" private WebElement getNumScaleIncrementInput(int questionNum) {"},{"lineNumber":1539,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"increment-value\"));"},{"lineNumber":1540,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1541,"author":{"gitId":"-"},"content":""},{"lineNumber":1542,"author":{"gitId":"-"},"content":" private void inputNumScaleDetails(int questionNum, FeedbackNumericalScaleQuestionDetails questionDetails) {"},{"lineNumber":1543,"author":{"gitId":"-"},"content":" inputNumScaleValue(getMinNumscaleInput(questionNum), Integer.toString(questionDetails.getMinScale()));"},{"lineNumber":1544,"author":{"gitId":"-"},"content":" inputNumScaleValue(getNumScaleIncrementInput(questionNum), getDoubleString(questionDetails.getStep()));"},{"lineNumber":1545,"author":{"gitId":"-"},"content":" inputNumScaleValue(getMaxNumscaleInput(questionNum), Integer.toString(questionDetails.getMaxScale()));"},{"lineNumber":1546,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1547,"author":{"gitId":"-"},"content":""},{"lineNumber":1548,"author":{"gitId":"-"},"content":" private void inputNumScaleValue(WebElement input, String value) {"},{"lineNumber":1549,"author":{"gitId":"-"},"content":" input.clear();"},{"lineNumber":1550,"author":{"gitId":"-"},"content":" input.sendKeys(value);"},{"lineNumber":1551,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1552,"author":{"gitId":"-"},"content":""},{"lineNumber":1553,"author":{"gitId":"-"},"content":" private WebElement getConstSumTotalPointsRadioBtn(int questionNum) {"},{"lineNumber":1554,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"total-points-radio\"));"},{"lineNumber":1555,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1556,"author":{"gitId":"-"},"content":""},{"lineNumber":1557,"author":{"gitId":"-"},"content":" private WebElement getConstSumTotalPointsInput(int questionNum) {"},{"lineNumber":1558,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"total-points\"));"},{"lineNumber":1559,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1560,"author":{"gitId":"-"},"content":""},{"lineNumber":1561,"author":{"gitId":"-"},"content":" private WebElement getConstSumPerOptionPointsRadioBtn(int questionNum) {"},{"lineNumber":1562,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"per-option-points-radio\"));"},{"lineNumber":1563,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1564,"author":{"gitId":"-"},"content":""},{"lineNumber":1565,"author":{"gitId":"-"},"content":" private WebElement getConstSumPerOptionPointsInput(int questionNum) {"},{"lineNumber":1566,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"per-option-points\"));"},{"lineNumber":1567,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1568,"author":{"gitId":"-"},"content":""},{"lineNumber":1569,"author":{"gitId":"-"},"content":" private WebElement getConstSumUnevenDistributionCheckbox(int questionNum) {"},{"lineNumber":1570,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"uneven-distribution-checkbox\"));"},{"lineNumber":1571,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1572,"author":{"gitId":"-"},"content":""},{"lineNumber":1573,"author":{"gitId":"-"},"content":" private WebElement getConstSumUnevenDistributionDropdown(int questionNum) {"},{"lineNumber":1574,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"uneven-distribution-dropdown\"));"},{"lineNumber":1575,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1576,"author":{"gitId":"-"},"content":""},{"lineNumber":1577,"author":{"gitId":"-"},"content":" private void inputConstSumDetails(int questionNum, FeedbackConstantSumQuestionDetails questionDetails) {"},{"lineNumber":1578,"author":{"gitId":"-"},"content":" if (!questionDetails.isDistributeToRecipients()) {"},{"lineNumber":1579,"author":{"gitId":"-"},"content":" inputOptions(questionNum, questionDetails.getConstSumOptions());"},{"lineNumber":1580,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1581,"author":{"gitId":"-"},"content":" if (questionDetails.isPointsPerOption()) {"},{"lineNumber":1582,"author":{"gitId":"-"},"content":" click(getConstSumPerOptionPointsRadioBtn(questionNum));"},{"lineNumber":1583,"author":{"gitId":"-"},"content":" fillTextBox(getConstSumPerOptionPointsInput(questionNum), Integer.toString(questionDetails.getPoints()));"},{"lineNumber":1584,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1585,"author":{"gitId":"-"},"content":" click(getConstSumTotalPointsRadioBtn(questionNum));"},{"lineNumber":1586,"author":{"gitId":"-"},"content":" fillTextBox(getConstSumTotalPointsInput(questionNum), Integer.toString(questionDetails.getPoints()));"},{"lineNumber":1587,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1588,"author":{"gitId":"-"},"content":" String distributeFor \u003d questionDetails.getDistributePointsFor();"},{"lineNumber":1589,"author":{"gitId":"-"},"content":" if (questionDetails.isForceUnevenDistribution()) {"},{"lineNumber":1590,"author":{"gitId":"-"},"content":" markOptionAsSelected(getConstSumUnevenDistributionCheckbox(questionNum));"},{"lineNumber":1591,"author":{"gitId":"-"},"content":" selectDropdownOptionByText(getConstSumUnevenDistributionDropdown(questionNum),"},{"lineNumber":1592,"author":{"gitId":"-"},"content":" \"All options\".equals(distributeFor) ? \"Every option\" : distributeFor);"},{"lineNumber":1593,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1594,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getConstSumUnevenDistributionCheckbox(questionNum));"},{"lineNumber":1595,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1596,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1597,"author":{"gitId":"-"},"content":""},{"lineNumber":1598,"author":{"gitId":"-"},"content":" private WebElement getZeroSumCheckbox(int questionNum) {"},{"lineNumber":1599,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"zero-sum-checkbox\"));"},{"lineNumber":1600,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1601,"author":{"gitId":"-"},"content":""},{"lineNumber":1602,"author":{"gitId":"-"},"content":" private WebElement getAllowNotSureContributionCheckbox(int questionNum) {"},{"lineNumber":1603,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"not-sure-checkbox\"));"},{"lineNumber":1604,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1605,"author":{"gitId":"-"},"content":""},{"lineNumber":1606,"author":{"gitId":"-"},"content":" private void inputContributionDetails(int questionNum, FeedbackContributionQuestionDetails questionDetails) {"},{"lineNumber":1607,"author":{"gitId":"-"},"content":" if (questionDetails.isZeroSum()) {"},{"lineNumber":1608,"author":{"gitId":"-"},"content":" markOptionAsSelected(getZeroSumCheckbox(questionNum));"},{"lineNumber":1609,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1610,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getZeroSumCheckbox(questionNum));"},{"lineNumber":1611,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1612,"author":{"gitId":"-"},"content":" if (questionDetails.isNotSureAllowed()) {"},{"lineNumber":1613,"author":{"gitId":"-"},"content":" markOptionAsSelected(getAllowNotSureContributionCheckbox(questionNum));"},{"lineNumber":1614,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1615,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getAllowNotSureContributionCheckbox(questionNum));"},{"lineNumber":1616,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1617,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1618,"author":{"gitId":"-"},"content":""},{"lineNumber":1619,"author":{"gitId":"-"},"content":" private WebElement getRubricRow(int questionNum, int rowNumber) {"},{"lineNumber":1620,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElements(By.cssSelector(\"tm-rubric-question-edit-details-form tr\"))"},{"lineNumber":1621,"author":{"gitId":"-"},"content":" .get(rowNumber - 1);"},{"lineNumber":1622,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1623,"author":{"gitId":"-"},"content":""},{"lineNumber":1624,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getRubricChoiceInputs(int questionNum) {"},{"lineNumber":1625,"author":{"gitId":"-"},"content":" return getRubricRow(questionNum, 1).findElements(By.tagName(\"input\"));"},{"lineNumber":1626,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1627,"author":{"gitId":"-"},"content":""},{"lineNumber":1628,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getRubricTextareas(int questionNum, int rowNum) {"},{"lineNumber":1629,"author":{"gitId":"-"},"content":" return getRubricRow(questionNum, rowNum).findElements(By.tagName(\"textarea\"));"},{"lineNumber":1630,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1631,"author":{"gitId":"-"},"content":""},{"lineNumber":1632,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getRubricWeights(int questionNum, int rowNum) {"},{"lineNumber":1633,"author":{"gitId":"-"},"content":" return getRubricRow(questionNum, rowNum).findElements(By.tagName(\"input\"));"},{"lineNumber":1634,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1635,"author":{"gitId":"-"},"content":""},{"lineNumber":1636,"author":{"gitId":"-"},"content":" private WebElement getRubricDeleteSubQnBtn(int questionNum, int rowNum) {"},{"lineNumber":1637,"author":{"gitId":"-"},"content":" return getRubricRow(questionNum, rowNum).findElement(By.id(\"btn-delete-subquestion\"));"},{"lineNumber":1638,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1639,"author":{"gitId":"-"},"content":""},{"lineNumber":1640,"author":{"gitId":"-"},"content":" private WebElement getRubricDeleteChoiceBtn(int questionNum, int colNum) {"},{"lineNumber":1641,"author":{"gitId":"-"},"content":" return getRubricRow(questionNum, getNumRubricRows(questionNum)).findElements(By.id(\"btn-delete-choice\")).get(colNum);"},{"lineNumber":1642,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1643,"author":{"gitId":"-"},"content":""},{"lineNumber":1644,"author":{"gitId":"-"},"content":" private int getNumRubricRows(int questionNum) {"},{"lineNumber":1645,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElements(By.cssSelector(\"#rubric-table tr\")).size();"},{"lineNumber":1646,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1647,"author":{"gitId":"-"},"content":""},{"lineNumber":1648,"author":{"gitId":"-"},"content":" private int getNumRubricCols(int questionNum) {"},{"lineNumber":1649,"author":{"gitId":"-"},"content":" WebElement row \u003d getRubricRow(questionNum, 1);"},{"lineNumber":1650,"author":{"gitId":"-"},"content":" return row.findElements(By.tagName(\"td\")).size() + row.findElements(By.tagName(\"th\")).size();"},{"lineNumber":1651,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1652,"author":{"gitId":"-"},"content":""},{"lineNumber":1653,"author":{"gitId":"-"},"content":" private void inputRubricDetails(int questionNum, FeedbackRubricQuestionDetails questionDetails) {"},{"lineNumber":1654,"author":{"gitId":"-"},"content":" int numSubQn \u003d questionDetails.getNumOfRubricSubQuestions();"},{"lineNumber":1655,"author":{"gitId":"-"},"content":" int numChoices \u003d questionDetails.getNumOfRubricChoices();"},{"lineNumber":1656,"author":{"gitId":"-"},"content":" adjustNumRubricFields(questionNum, numSubQn, numChoices);"},{"lineNumber":1657,"author":{"gitId":"-"},"content":""},{"lineNumber":1658,"author":{"gitId":"-"},"content":" List\u003cString\u003e choices \u003d questionDetails.getRubricChoices();"},{"lineNumber":1659,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numChoices; i++) {"},{"lineNumber":1660,"author":{"gitId":"-"},"content":" fillTextBox(getRubricChoiceInputs(questionNum).get(i), choices.get(i));"},{"lineNumber":1661,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1662,"author":{"gitId":"-"},"content":""},{"lineNumber":1663,"author":{"gitId":"-"},"content":" List\u003cString\u003e subQuestions \u003d questionDetails.getRubricSubQuestions();"},{"lineNumber":1664,"author":{"gitId":"-"},"content":" List\u003cList\u003cString\u003e\u003e descriptions \u003d questionDetails.getRubricDescriptions();"},{"lineNumber":1665,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numSubQn; i++) {"},{"lineNumber":1666,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e textAreas \u003d getRubricTextareas(questionNum, i + 2);"},{"lineNumber":1667,"author":{"gitId":"-"},"content":" fillTextBox(textAreas.get(0), subQuestions.get(i));"},{"lineNumber":1668,"author":{"gitId":"-"},"content":" for (int j \u003d 0; j \u003c numChoices; j++) {"},{"lineNumber":1669,"author":{"gitId":"-"},"content":" fillTextBox(textAreas.get(j + 1), descriptions.get(i).get(j));"},{"lineNumber":1670,"author":{"gitId":"-"},"content":" if (descriptions.get(i).get(j).isEmpty()) {"},{"lineNumber":1671,"author":{"gitId":"-"},"content":" // using clear does not send the required event"},{"lineNumber":1672,"author":{"gitId":"-"},"content":" // as a workaround, after clearing without event, enter a random character and delete it"},{"lineNumber":1673,"author":{"gitId":"-"},"content":" textAreas.get(j + 1).sendKeys(\"a\");"},{"lineNumber":1674,"author":{"gitId":"-"},"content":" textAreas.get(j + 1).sendKeys(Keys.BACK_SPACE);"},{"lineNumber":1675,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1676,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1677,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1678,"author":{"gitId":"-"},"content":""},{"lineNumber":1679,"author":{"gitId":"-"},"content":" if (questionDetails.isHasAssignedWeights()) {"},{"lineNumber":1680,"author":{"gitId":"-"},"content":" markOptionAsSelected(getWeightCheckbox(questionNum));"},{"lineNumber":1681,"author":{"gitId":"-"},"content":" List\u003cList\u003cDouble\u003e\u003e weights \u003d questionDetails.getRubricWeights();"},{"lineNumber":1682,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numSubQn; i++) {"},{"lineNumber":1683,"author":{"gitId":"-"},"content":" for (int j \u003d 0; j \u003c numChoices; j++) {"},{"lineNumber":1684,"author":{"gitId":"-"},"content":" fillTextBox(getRubricWeights(questionNum, i + 2).get(j), getDoubleString(weights.get(i).get(j)));"},{"lineNumber":1685,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1686,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1687,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1688,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getWeightCheckbox(questionNum));"},{"lineNumber":1689,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1690,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1691,"author":{"gitId":"-"},"content":""},{"lineNumber":1692,"author":{"gitId":"-"},"content":" private void adjustNumRubricFields(int questionNum, int numSubQn, int numChoices) {"},{"lineNumber":1693,"author":{"gitId":"-"},"content":" int numSubQnsNeeded \u003d numSubQn - (getNumRubricRows(questionNum) - 2);"},{"lineNumber":1694,"author":{"gitId":"-"},"content":" int numChoicesNeeded \u003d numChoices - (getNumRubricCols(questionNum) - 1);"},{"lineNumber":1695,"author":{"gitId":"-"},"content":" if (numSubQnsNeeded \u003e 0) {"},{"lineNumber":1696,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numSubQnsNeeded; i++) {"},{"lineNumber":1697,"author":{"gitId":"-"},"content":" click(getQuestionForm(questionNum).findElement(By.id(\"btn-add-row\")));"},{"lineNumber":1698,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1699,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1700,"author":{"gitId":"-"},"content":" if (numChoicesNeeded \u003e 0) {"},{"lineNumber":1701,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c numChoicesNeeded; i++) {"},{"lineNumber":1702,"author":{"gitId":"-"},"content":" click(getQuestionForm(questionNum).findElement(By.id(\"btn-add-col\")));"},{"lineNumber":1703,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1704,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1705,"author":{"gitId":"-"},"content":" if (numSubQnsNeeded \u003c 0) {"},{"lineNumber":1706,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c -numSubQnsNeeded; i++) {"},{"lineNumber":1707,"author":{"gitId":"-"},"content":" click(getRubricDeleteSubQnBtn(questionNum, 2));"},{"lineNumber":1708,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1709,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1710,"author":{"gitId":"-"},"content":" if (numChoicesNeeded \u003c 0) {"},{"lineNumber":1711,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c -numChoicesNeeded; i++) {"},{"lineNumber":1712,"author":{"gitId":"-"},"content":" clickAndConfirm(getRubricDeleteChoiceBtn(questionNum, 2));"},{"lineNumber":1713,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1715,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1716,"author":{"gitId":"-"},"content":""},{"lineNumber":1717,"author":{"gitId":"-"},"content":" private WebElement getAllowDuplicateRankCheckbox(int questionNum) {"},{"lineNumber":1718,"author":{"gitId":"-"},"content":" return getQuestionForm(questionNum).findElement(By.id(\"duplicate-rank-checkbox\"));"},{"lineNumber":1719,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1720,"author":{"gitId":"-"},"content":""},{"lineNumber":1721,"author":{"gitId":"-"},"content":" private void inputRankDetails(int questionNum, FeedbackRankQuestionDetails questionDetails) {"},{"lineNumber":1722,"author":{"gitId":"-"},"content":" if (questionDetails instanceof FeedbackRankOptionsQuestionDetails) {"},{"lineNumber":1723,"author":{"gitId":"-"},"content":" FeedbackRankOptionsQuestionDetails optionDetails \u003d (FeedbackRankOptionsQuestionDetails) questionDetails;"},{"lineNumber":1724,"author":{"gitId":"-"},"content":" inputOptions(questionNum, optionDetails.getOptions());"},{"lineNumber":1725,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1726,"author":{"gitId":"-"},"content":" if (questionDetails.isAreDuplicatesAllowed()) {"},{"lineNumber":1727,"author":{"gitId":"-"},"content":" markOptionAsSelected(getAllowDuplicateRankCheckbox(questionNum));"},{"lineNumber":1728,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1729,"author":{"gitId":"-"},"content":" markOptionAsUnselected(getAllowDuplicateRankCheckbox(questionNum));"},{"lineNumber":1730,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1731,"author":{"gitId":"-"},"content":" inputMaxOptions(questionNum, questionDetails.getMaxOptionsToBeRanked());"},{"lineNumber":1732,"author":{"gitId":"-"},"content":" inputMinOptions(questionNum, questionDetails.getMinOptionsToBeRanked());"},{"lineNumber":1733,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1734,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":5,"dishenggg":13,"mingyuanc":5,"-":1711}},{"path":"src/e2e/java/teammates/e2e/pageobjects/RequestPage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.e2e.pageobjects;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import org.openqa.selenium.By;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import org.openqa.selenium.WebElement;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import org.openqa.selenium.support.FindBy;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":" * Page Object Model for account request form page."},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"public class RequestPage extends AppPage {"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":" @FindBy(id \u003d \"btn-am-instructor\")"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":" private WebElement amInstructorButton;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":" @FindBy(id \u003d \"name\")"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":" private WebElement nameBox;"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":" @FindBy(id \u003d \"institution\")"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":" private WebElement institutionBox;"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":" @FindBy(id \u003d \"country\")"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":" private WebElement countryBox;"},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":" @FindBy(id \u003d \"email\")"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":" private WebElement emailBox;"},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" @FindBy(id \u003d \"comments\")"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" private WebElement commentsBox;"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" @FindBy(id \u003d \"submit-button\")"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" private WebElement submitButton;"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" public RequestPage(Browser browser) {"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" super(browser);"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" protected boolean containsExpectedPageContents() {"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" return getPageTitle().contains(\"Request for an Instructor Account\");"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" public void clickAmInstructorButton() {"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" click(amInstructorButton);"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" waitForPageToLoad();"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" public void fillForm(String name, String institution, String country, String email, String comments) {"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" fillTextBox(nameBox, name);"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" fillTextBox(institutionBox, institution);"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" fillTextBox(countryBox, country);"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" fillTextBox(emailBox, email);"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" fillTextBox(commentsBox, comments);"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" public void clickSubmitFormButton() {"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" click(submitButton);"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" waitForPageToLoad();"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" public void verifySubmittedInfo(String name, String institution, String country, String email, String comments) {"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" WebElement table \u003d browser.driver.findElement(By.className(\"table\"));"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" String[][] expected \u003d {"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" { name },"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" { institution },"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" { country },"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" { email },"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" { comments },"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" verifyTableBodyValues(table, expected);"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":71}},{"path":"src/e2e/java/teammates/e2e/pageobjects/StudentHomePage.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.e2e.pageobjects;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertTrue;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.openqa.selenium.By;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.openqa.selenium.WebElement;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Page Object Model for student home page."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class StudentHomePage extends AppPage {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" public StudentHomePage(Browser browser) {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" super(browser);"},{"lineNumber":17,"author":{"gitId":"-"},"content":" }"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":20,"author":{"gitId":"-"},"content":" protected boolean containsExpectedPageContents() {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" return \"Student Home\".equals(getPageTitle());"},{"lineNumber":22,"author":{"gitId":"-"},"content":" }"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" private List\u003cWebElement\u003e getStudentHomeCoursePanels() {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" return browser.driver.findElements(By.cssSelector(\"div.card.bg-light\"));"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" public int getStudentHomeCoursePanelIndex(String courseName) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" List\u003cWebElement\u003e coursePanels \u003d getStudentHomeCoursePanels();"},{"lineNumber":30,"author":{"gitId":"-"},"content":" int coursePanelIndex \u003d -1;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c coursePanels.size(); i++) {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (coursePanels.get(i).getText().contains(courseName)) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" coursePanelIndex \u003d i;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":" assertTrue(coursePanelIndex \u003e\u003d 0);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" return coursePanelIndex;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" }"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" public void verifyVisibleFeedbackSessionToStudents(String feedbackSessionName, int index) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" assertTrue(getStudentHomeCoursePanels().get(index)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .findElement(By.cssSelector(\"div.table-responsive table.table tbody\")).getText()"},{"lineNumber":43,"author":{"gitId":"-"},"content":" .contains(feedbackSessionName));"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" public void clickCloseNotificationBannerButton() {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" WebElement closeNotifButton \u003d browser.driver.findElement(By.id(\"btn-close-notif\"));"},{"lineNumber":48,"author":{"gitId":"-"},"content":" waitForElementToBeClickable(closeNotifButton);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" click(closeNotifButton);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" public void clickMarkAsReadButton() {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" WebElement markNotifAsReadButton \u003d browser.driver.findElement(By.id(\"btn-mark-as-read\"));"},{"lineNumber":55,"author":{"gitId":"-"},"content":" waitForElementToBeClickable(markNotifAsReadButton);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" click(markNotifAsReadButton);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" waitUntilAnimationFinish();"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"yuanxi1"},"content":" public String getNotificationId() {"},{"lineNumber":61,"author":{"gitId":"yuanxi1"},"content":" WebElement notificationBanner \u003d browser.driver.findElement(By.id(\"notification-banner\"));"},{"lineNumber":62,"author":{"gitId":"yuanxi1"},"content":" return notificationBanner.getAttribute(\"data-testid\");"},{"lineNumber":63,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":64,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":5,"-":60}},{"path":"src/it/java/teammates/it/sqllogic/core/AccountRequestsLogicIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.AccountRequestsLogic;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountRequestsDb;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * SUT: {@link AccountRequestsLogic}."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class AccountRequestsLogicIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" private AccountRequestsLogic accountRequestsLogic \u003d AccountRequestsLogic.inst();"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":25,"author":{"gitId":"-"},"content":" public void testGetAccountRequest_nonExistentAccountRequest_returnsNull() {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" UUID id \u003d UUID.randomUUID();"},{"lineNumber":27,"author":{"gitId":"-"},"content":" AccountRequest actualAccountRequest \u003d accountRequestsLogic.getAccountRequest(id);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" assertNull(actualAccountRequest);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":32,"author":{"gitId":"-"},"content":" public void testGetAccountRequest_existingAccountRequest_getsSuccessfully() throws InvalidParametersException {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" AccountRequest expectedAccountRequest \u003d"},{"lineNumber":34,"author":{"gitId":"-"},"content":" new AccountRequest(\"test@gmail.com\", \"name\", \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":35,"author":{"gitId":"-"},"content":" UUID id \u003d expectedAccountRequest.getId();"},{"lineNumber":36,"author":{"gitId":"-"},"content":" accountRequestsLogic.createAccountRequest(expectedAccountRequest);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" AccountRequest actualAccountRequest \u003d accountRequestsLogic.getAccountRequest(id);"},{"lineNumber":38,"author":{"gitId":"-"},"content":" assertEquals(expectedAccountRequest, actualAccountRequest);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":42,"author":{"gitId":"-"},"content":" public void testResetAccountRequest()"},{"lineNumber":43,"author":{"gitId":"-"},"content":" throws EntityAlreadyExistsException, InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" ______TS(\"success: create account request and update registeredAt field\");"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" String name \u003d \"name lee\";"},{"lineNumber":48,"author":{"gitId":"-"},"content":" String email \u003d \"email@gmail.com\";"},{"lineNumber":49,"author":{"gitId":"-"},"content":" String institute \u003d \"institute\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":" AccountRequestStatus status \u003d AccountRequestStatus.PENDING;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" String comments \u003d \"comments\";"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" AccountRequest toReset \u003d accountRequestsLogic.createAccountRequest(name, email, institute, status, comments);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" AccountRequestsDb accountRequestsDb \u003d AccountRequestsDb.inst();"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" toReset.setRegisteredAt(Instant.now());"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" UUID id \u003d toReset.getId();"},{"lineNumber":58,"author":{"gitId":"-"},"content":" toReset \u003d accountRequestsDb.getAccountRequest(id);"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" assertNotNull(toReset);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" assertNotNull(toReset.getRegisteredAt());"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" ______TS(\"success: reset account request that already exists\");"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" AccountRequest resetted \u003d accountRequestsLogic.resetAccountRequest(id);"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" assertNull(resetted.getRegisteredAt());"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" ______TS(\"success: test delete account request\");"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" accountRequestsLogic.deleteAccountRequest(toReset.getId());"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" assertNull(accountRequestsLogic.getAccountRequest(toReset.getId()));"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" ______TS(\"failure: reset account request that does not exist\");"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" () -\u003e accountRequestsLogic.resetAccountRequest(id));"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":5,"-":75}},{"path":"src/it/java/teammates/it/sqllogic/core/AccountsLogicIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":8,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationStyle;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationTargetUser;"},{"lineNumber":13,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":17,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":19,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.AccountsLogic;"},{"lineNumber":22,"author":{"gitId":"yuanxi1"},"content":"import teammates.sqllogic.core.CoursesLogic;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.NotificationsLogic;"},{"lineNumber":24,"author":{"gitId":"yuanxi1"},"content":"import teammates.sqllogic.core.UsersLogic;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountsDb;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":27,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":28,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.ReadNotification;"},{"lineNumber":31,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":32,"author":{"gitId":"yuanxi1"},"content":"import teammates.test.AssertHelper;"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * SUT: {@link AccountsLogic}."},{"lineNumber":36,"author":{"gitId":"-"},"content":" */"},{"lineNumber":37,"author":{"gitId":"-"},"content":"public class AccountsLogicIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" private AccountsLogic accountsLogic \u003d AccountsLogic.inst();"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private NotificationsLogic notificationsLogic \u003d NotificationsLogic.inst();"},{"lineNumber":41,"author":{"gitId":"yuanxi1"},"content":" private UsersLogic usersLogic \u003d UsersLogic.inst();"},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":" private CoursesLogic coursesLogic \u003d CoursesLogic.inst();"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" private AccountsDb accountsDb \u003d AccountsDb.inst();"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":" private SqlDataBundle typicalDataBundle;"},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":49,"author":{"gitId":"yuanxi1"},"content":" @BeforeClass"},{"lineNumber":50,"author":{"gitId":"yuanxi1"},"content":" public void setupClass() {"},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":" super.setupClass();"},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":" typicalDataBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":53,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":54,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":55,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":56,"author":{"gitId":"yuanxi1"},"content":" @BeforeMethod"},{"lineNumber":57,"author":{"gitId":"yuanxi1"},"content":" protected void setUp() throws Exception {"},{"lineNumber":58,"author":{"gitId":"yuanxi1"},"content":" super.setUp();"},{"lineNumber":59,"author":{"gitId":"yuanxi1"},"content":" persistDataBundle(typicalDataBundle);"},{"lineNumber":60,"author":{"gitId":"yuanxi1"},"content":" HibernateUtil.flushSession();"},{"lineNumber":61,"author":{"gitId":"yuanxi1"},"content":" HibernateUtil.clearSession();"},{"lineNumber":62,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":63,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public void testUpdateReadNotifications()"},{"lineNumber":66,"author":{"gitId":"-"},"content":" throws EntityAlreadyExistsException, InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" ______TS(\"success: mark notification as read\");"},{"lineNumber":68,"author":{"gitId":"-"},"content":" Account account \u003d new Account(\"google-id\", \"name\", \"email@teammates.com\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" Notification notification \u003d new Notification(Instant.parse(\"2011-01-01T00:00:00Z\"),"},{"lineNumber":70,"author":{"gitId":"-"},"content":" Instant.parse(\"2099-01-01T00:00:00Z\"), NotificationStyle.DANGER, NotificationTargetUser.GENERAL,"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"A deprecation note\", \"\u003cp\u003eDeprecation happens in three minutes\u003c/p\u003e\");"},{"lineNumber":72,"author":{"gitId":"-"},"content":" accountsDb.createAccount(account);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" notificationsLogic.createNotification(notification);"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":76,"author":{"gitId":"-"},"content":" UUID notificationId \u003d notification.getId();"},{"lineNumber":77,"author":{"gitId":"-"},"content":" accountsLogic.updateReadNotifications(googleId, notificationId, notification.getEndTime());"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" Account actualAccount \u003d accountsDb.getAccountByGoogleId(googleId);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" List\u003cReadNotification\u003e accountReadNotifications \u003d actualAccount.getReadNotifications();"},{"lineNumber":81,"author":{"gitId":"-"},"content":" assertEquals(1, accountReadNotifications.size());"},{"lineNumber":82,"author":{"gitId":"-"},"content":" assertSame(actualAccount, accountReadNotifications.get(0).getAccount());"},{"lineNumber":83,"author":{"gitId":"-"},"content":" assertSame(notification, accountReadNotifications.get(0).getNotification());"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":86,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":87,"author":{"gitId":"yuanxi1"},"content":" public void testJoinCourseForStudent()"},{"lineNumber":88,"author":{"gitId":"yuanxi1"},"content":" throws EntityAlreadyExistsException, InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":89,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":90,"author":{"gitId":"yuanxi1"},"content":" Student student2YetToJoinCourse \u003d typicalDataBundle.students.get(\"student2YetToJoinCourse4\");"},{"lineNumber":91,"author":{"gitId":"yuanxi1"},"content":" Student student3YetToJoinCourse \u003d typicalDataBundle.students.get(\"student3YetToJoinCourse4\");"},{"lineNumber":92,"author":{"gitId":"yuanxi1"},"content":" Student studentInCourse \u003d typicalDataBundle.students.get(\"student1InCourse1\");"},{"lineNumber":93,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":94,"author":{"gitId":"yuanxi1"},"content":" String loggedInGoogleId \u003d \"AccLogicT.student.id\";"},{"lineNumber":95,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":96,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: wrong key\");"},{"lineNumber":97,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":98,"author":{"gitId":"yuanxi1"},"content":" String wrongKey \u003d StringHelper.encrypt(\"wrongkey\");"},{"lineNumber":99,"author":{"gitId":"yuanxi1"},"content":" EntityDoesNotExistException ednee \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":100,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForStudent(wrongKey, loggedInGoogleId));"},{"lineNumber":101,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"No student with given registration key: \" + wrongKey, ednee.getMessage());"},{"lineNumber":102,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":103,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: invalid parameters\");"},{"lineNumber":104,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":105,"author":{"gitId":"yuanxi1"},"content":" InvalidParametersException ipe \u003d assertThrows(InvalidParametersException.class,"},{"lineNumber":106,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForStudent(student2YetToJoinCourse.getRegKey(), \"wrong student\"));"},{"lineNumber":107,"author":{"gitId":"yuanxi1"},"content":" AssertHelper.assertContains(FieldValidator.REASON_INCORRECT_FORMAT, ipe.getMessage());"},{"lineNumber":108,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":109,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: googleID belongs to an existing student in the course\");"},{"lineNumber":110,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":111,"author":{"gitId":"yuanxi1"},"content":" EntityAlreadyExistsException eaee \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":112,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForStudent(student2YetToJoinCourse.getRegKey(),"},{"lineNumber":113,"author":{"gitId":"yuanxi1"},"content":" studentInCourse.getGoogleId()));"},{"lineNumber":114,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Student has already joined course\", eaee.getMessage());"},{"lineNumber":115,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":116,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: with encryption and new account to be created\");"},{"lineNumber":117,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":118,"author":{"gitId":"yuanxi1"},"content":" accountsLogic.joinCourseForStudent(student2YetToJoinCourse.getRegKey(), loggedInGoogleId);"},{"lineNumber":119,"author":{"gitId":"yuanxi1"},"content":" Account accountCreated \u003d accountsLogic.getAccountForGoogleId(loggedInGoogleId);"},{"lineNumber":120,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":121,"author":{"gitId":"yuanxi1"},"content":" assertEquals(loggedInGoogleId, usersLogic.getStudentForEmail("},{"lineNumber":122,"author":{"gitId":"yuanxi1"},"content":" student2YetToJoinCourse.getCourseId(), student2YetToJoinCourse.getEmail()).getGoogleId());"},{"lineNumber":123,"author":{"gitId":"yuanxi1"},"content":" assertNotNull(accountCreated);"},{"lineNumber":124,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":125,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: student joined but account already exists\");"},{"lineNumber":126,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":127,"author":{"gitId":"yuanxi1"},"content":" String existingAccountId \u003d \"existingAccountId\";"},{"lineNumber":128,"author":{"gitId":"yuanxi1"},"content":" Account existingAccount \u003d new Account(existingAccountId, \"accountName\", student3YetToJoinCourse.getEmail());"},{"lineNumber":129,"author":{"gitId":"yuanxi1"},"content":" accountsDb.createAccount(existingAccount);"},{"lineNumber":130,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":131,"author":{"gitId":"yuanxi1"},"content":" accountsLogic.joinCourseForStudent(student3YetToJoinCourse.getRegKey(), existingAccountId);"},{"lineNumber":132,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":133,"author":{"gitId":"yuanxi1"},"content":" assertEquals(existingAccountId, usersLogic.getStudentForEmail("},{"lineNumber":134,"author":{"gitId":"yuanxi1"},"content":" student3YetToJoinCourse.getCourseId(), student3YetToJoinCourse.getEmail()).getGoogleId());"},{"lineNumber":135,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":136,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: already joined\");"},{"lineNumber":137,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":138,"author":{"gitId":"yuanxi1"},"content":" eaee \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":139,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForStudent(student2YetToJoinCourse.getRegKey(), loggedInGoogleId));"},{"lineNumber":140,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Student has already joined course\", eaee.getMessage());"},{"lineNumber":141,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":142,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: course is deleted\");"},{"lineNumber":143,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":144,"author":{"gitId":"yuanxi1"},"content":" Course originalCourse \u003d usersLogic.getStudentForEmail("},{"lineNumber":145,"author":{"gitId":"yuanxi1"},"content":" student2YetToJoinCourse.getCourseId(), student2YetToJoinCourse.getEmail()).getCourse();"},{"lineNumber":146,"author":{"gitId":"yuanxi1"},"content":" coursesLogic.moveCourseToRecycleBin(originalCourse.getId());"},{"lineNumber":147,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":148,"author":{"gitId":"yuanxi1"},"content":" ednee \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":149,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForStudent(student2YetToJoinCourse.getRegKey(),"},{"lineNumber":150,"author":{"gitId":"yuanxi1"},"content":" loggedInGoogleId));"},{"lineNumber":151,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"The course you are trying to join has been deleted by an instructor\", ednee.getMessage());"},{"lineNumber":152,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":153,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":154,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":155,"author":{"gitId":"yuanxi1"},"content":" public void testJoinCourseForInstructor() throws Exception {"},{"lineNumber":156,"author":{"gitId":"yuanxi1"},"content":" String instructorIdAlreadyJoinedCourse \u003d \"instructor1\";"},{"lineNumber":157,"author":{"gitId":"yuanxi1"},"content":" Instructor instructor2YetToJoinCourse \u003d typicalDataBundle.instructors.get(\"instructor2YetToJoinCourse4\");"},{"lineNumber":158,"author":{"gitId":"yuanxi1"},"content":" Instructor instructor3YetToJoinCourse \u003d typicalDataBundle.instructors.get(\"instructor3YetToJoinCourse4\");"},{"lineNumber":159,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":160,"author":{"gitId":"yuanxi1"},"content":" String loggedInGoogleId \u003d \"AccLogicT.instr.id\";"},{"lineNumber":161,"author":{"gitId":"yuanxi1"},"content":" String[] key \u003d new String[] {"},{"lineNumber":162,"author":{"gitId":"yuanxi1"},"content":" getRegKeyForInstructor(instructor2YetToJoinCourse.getCourseId(), instructor2YetToJoinCourse.getEmail()),"},{"lineNumber":163,"author":{"gitId":"yuanxi1"},"content":" getRegKeyForInstructor(instructor2YetToJoinCourse.getCourseId(), instructor3YetToJoinCourse.getEmail()),"},{"lineNumber":164,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":165,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":166,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: googleID belongs to an existing instructor in the course\");"},{"lineNumber":167,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":168,"author":{"gitId":"yuanxi1"},"content":" EntityAlreadyExistsException eaee \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":169,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForInstructor("},{"lineNumber":170,"author":{"gitId":"yuanxi1"},"content":" key[0], instructorIdAlreadyJoinedCourse));"},{"lineNumber":171,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Instructor has already joined course\", eaee.getMessage());"},{"lineNumber":172,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":173,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: instructor joined and new account be created\");"},{"lineNumber":174,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":175,"author":{"gitId":"yuanxi1"},"content":" accountsLogic.joinCourseForInstructor(key[0], loggedInGoogleId);"},{"lineNumber":176,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":177,"author":{"gitId":"yuanxi1"},"content":" Instructor joinedInstructor \u003d usersLogic.getInstructorForEmail("},{"lineNumber":178,"author":{"gitId":"yuanxi1"},"content":" instructor2YetToJoinCourse.getCourseId(), instructor2YetToJoinCourse.getEmail());"},{"lineNumber":179,"author":{"gitId":"yuanxi1"},"content":" assertEquals(loggedInGoogleId, joinedInstructor.getGoogleId());"},{"lineNumber":180,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":181,"author":{"gitId":"yuanxi1"},"content":" Account accountCreated \u003d accountsLogic.getAccountForGoogleId(loggedInGoogleId);"},{"lineNumber":182,"author":{"gitId":"yuanxi1"},"content":" assertNotNull(accountCreated);"},{"lineNumber":183,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":184,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: instructor joined but account already exists\");"},{"lineNumber":185,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":186,"author":{"gitId":"yuanxi1"},"content":" String existingAccountId \u003d \"existingAccountId\";"},{"lineNumber":187,"author":{"gitId":"yuanxi1"},"content":" Account existingAccount \u003d new Account(existingAccountId, \"accountName\", instructor3YetToJoinCourse.getEmail());"},{"lineNumber":188,"author":{"gitId":"yuanxi1"},"content":" accountsDb.createAccount(existingAccount);"},{"lineNumber":189,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":190,"author":{"gitId":"yuanxi1"},"content":" accountsLogic.joinCourseForInstructor(key[1], existingAccount.getGoogleId());"},{"lineNumber":191,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":192,"author":{"gitId":"yuanxi1"},"content":" joinedInstructor \u003d usersLogic.getInstructorForEmail("},{"lineNumber":193,"author":{"gitId":"yuanxi1"},"content":" instructor3YetToJoinCourse.getCourseId(), existingAccount.getEmail());"},{"lineNumber":194,"author":{"gitId":"yuanxi1"},"content":" assertEquals(existingAccountId, joinedInstructor.getGoogleId());"},{"lineNumber":195,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":196,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: instructor already joined\");"},{"lineNumber":197,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":198,"author":{"gitId":"yuanxi1"},"content":" eaee \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":199,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForInstructor(key[0], loggedInGoogleId));"},{"lineNumber":200,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Instructor has already joined course\", eaee.getMessage());"},{"lineNumber":201,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":202,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: key belongs to a different user\");"},{"lineNumber":203,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":204,"author":{"gitId":"yuanxi1"},"content":" eaee \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":205,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForInstructor(key[0], \"otherUserId\"));"},{"lineNumber":206,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Instructor has already joined course\", eaee.getMessage());"},{"lineNumber":207,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":208,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: invalid key\");"},{"lineNumber":209,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":210,"author":{"gitId":"yuanxi1"},"content":" String invalidKey \u003d StringHelper.encrypt(\"invalidKey\");"},{"lineNumber":211,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":212,"author":{"gitId":"yuanxi1"},"content":" EntityDoesNotExistException ednee \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":213,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForInstructor(invalidKey, loggedInGoogleId));"},{"lineNumber":214,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"No instructor with given registration key: \" + invalidKey,"},{"lineNumber":215,"author":{"gitId":"yuanxi1"},"content":" ednee.getMessage());"},{"lineNumber":216,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":217,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: course deleted\");"},{"lineNumber":218,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":219,"author":{"gitId":"yuanxi1"},"content":" Course originalCourse \u003d usersLogic.getInstructorForEmail("},{"lineNumber":220,"author":{"gitId":"yuanxi1"},"content":" instructor2YetToJoinCourse.getCourseId(), instructor2YetToJoinCourse.getEmail()).getCourse();"},{"lineNumber":221,"author":{"gitId":"yuanxi1"},"content":" coursesLogic.moveCourseToRecycleBin(originalCourse.getId());"},{"lineNumber":222,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":223,"author":{"gitId":"yuanxi1"},"content":" ednee \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":224,"author":{"gitId":"yuanxi1"},"content":" () -\u003e accountsLogic.joinCourseForInstructor(instructor2YetToJoinCourse.getRegKey(),"},{"lineNumber":225,"author":{"gitId":"yuanxi1"},"content":" instructor2YetToJoinCourse.getGoogleId()));"},{"lineNumber":226,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"The course you are trying to join has been deleted by an instructor\", ednee.getMessage());"},{"lineNumber":227,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":228,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":229,"author":{"gitId":"yuanxi1"},"content":" private String getRegKeyForInstructor(String courseId, String email) {"},{"lineNumber":230,"author":{"gitId":"yuanxi1"},"content":" return usersLogic.getInstructorForEmail(courseId, email).getRegKey();"},{"lineNumber":231,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":179,"-":53}},{"path":"src/it/java/teammates/it/sqllogic/core/FeedbackQuestionsLogicIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionType;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackTextQuestionDetails;"},{"lineNumber":16,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.FeedbackQuestionsLogic;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackVisibilityType;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.ui.output.NumberOfEntitiesToGiveFeedbackToSetting;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackQuestionUpdateRequest;"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * SUT: {@link FeedbackQuestionsLogic}."},{"lineNumber":30,"author":{"gitId":"-"},"content":" */"},{"lineNumber":31,"author":{"gitId":"-"},"content":"public class FeedbackQuestionsLogicIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private FeedbackQuestionsLogic fqLogic \u003d FeedbackQuestionsLogic.inst();"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" private SqlDataBundle typicalDataBundle;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":39,"author":{"gitId":"-"},"content":" public void setupClass() {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" super.setupClass();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" typicalDataBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":45,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":46,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":48,"author":{"gitId":"-"},"content":" persistDataBundle(typicalDataBundle);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":53,"author":{"gitId":"marquestye"},"content":" public void testCreateFeedbackQuestion() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d typicalDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":55,"author":{"gitId":"-"},"content":" FeedbackTextQuestionDetails newQuestionDetails \u003d new FeedbackTextQuestionDetails(\"New question text.\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showTos \u003d new ArrayList\u003c\u003e();"},{"lineNumber":57,"author":{"gitId":"-"},"content":" showTos.add(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" FeedbackQuestion newQuestion \u003d FeedbackQuestion.makeQuestion(fs, 6, \"This is a new text question\","},{"lineNumber":59,"author":{"gitId":"-"},"content":" FeedbackParticipantType.STUDENTS, FeedbackParticipantType.OWN_TEAM_MEMBERS, -100,"},{"lineNumber":60,"author":{"gitId":"-"},"content":" showTos, showTos, showTos, newQuestionDetails);"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" newQuestion \u003d fqLogic.createFeedbackQuestion(newQuestion);"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" FeedbackQuestion actualQuestion \u003d fqLogic.getFeedbackQuestion(newQuestion.getId());"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" verifyEquals(newQuestion, actualQuestion);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":70,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForSession() {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d typicalDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":72,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d typicalDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":73,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d typicalDataBundle.feedbackQuestions.get(\"qn2InSession1InCourse1\");"},{"lineNumber":74,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d typicalDataBundle.feedbackQuestions.get(\"qn3InSession1InCourse1\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d typicalDataBundle.feedbackQuestions.get(\"qn4InSession1InCourse1\");"},{"lineNumber":76,"author":{"gitId":"-"},"content":" FeedbackQuestion fq5 \u003d typicalDataBundle.feedbackQuestions.get(\"qn5InSession1InCourse1\");"},{"lineNumber":77,"author":{"gitId":"-"},"content":" FeedbackQuestion fq6 \u003d typicalDataBundle.feedbackQuestions.get(\"qn6InSession1InCourse1NoResponses\");"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e expectedQuestions \u003d List.of(fq1, fq2, fq3, fq4, fq5, fq6);"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqLogic.getFeedbackQuestionsForSession(fs);"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestions.size(), actualQuestions.size());"},{"lineNumber":84,"author":{"gitId":"-"},"content":" assertTrue(expectedQuestions.containsAll(actualQuestions));"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":88,"author":{"gitId":"-"},"content":" public void testUpdateFeedbackQuestionCascade() throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d typicalDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":90,"author":{"gitId":"-"},"content":" fq1.setDescription(\"New question description\");"},{"lineNumber":91,"author":{"gitId":"-"},"content":" FeedbackQuestionUpdateRequest updateRequest \u003d generateFeedbackQuestionUpdateRequest("},{"lineNumber":92,"author":{"gitId":"-"},"content":" fq1.getQuestionNumber(),"},{"lineNumber":93,"author":{"gitId":"-"},"content":" fq1.getDescription(),"},{"lineNumber":94,"author":{"gitId":"-"},"content":" fq1.getQuestionDetailsCopy(),"},{"lineNumber":95,"author":{"gitId":"-"},"content":" fq1.getQuestionDetailsCopy().getQuestionType(),"},{"lineNumber":96,"author":{"gitId":"-"},"content":" fq1.getGiverType(),"},{"lineNumber":97,"author":{"gitId":"-"},"content":" fq1.getRecipientType(),"},{"lineNumber":98,"author":{"gitId":"-"},"content":" fq1.getNumOfEntitiesToGiveFeedbackTo(),"},{"lineNumber":99,"author":{"gitId":"-"},"content":" fq1.getShowResponsesTo(),"},{"lineNumber":100,"author":{"gitId":"-"},"content":" fq1.getShowGiverNameTo(),"},{"lineNumber":101,"author":{"gitId":"-"},"content":" fq1.getShowRecipientNameTo()"},{"lineNumber":102,"author":{"gitId":"-"},"content":" );"},{"lineNumber":103,"author":{"gitId":"-"},"content":" updateRequest.setNumberOfEntitiesToGiveFeedbackToSetting(NumberOfEntitiesToGiveFeedbackToSetting.CUSTOM);"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" fqLogic.updateFeedbackQuestionCascade(fq1.getId(), updateRequest);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" FeedbackQuestion actualFeedbackQuestion \u003d fqLogic.getFeedbackQuestion(fq1.getId());"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" verifyEquals(fq1, actualFeedbackQuestion);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" private FeedbackQuestionUpdateRequest generateFeedbackQuestionUpdateRequest("},{"lineNumber":113,"author":{"gitId":"-"},"content":" int questionNumber,"},{"lineNumber":114,"author":{"gitId":"-"},"content":" String questionDescription,"},{"lineNumber":115,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails questionDetails,"},{"lineNumber":116,"author":{"gitId":"-"},"content":" FeedbackQuestionType questionType,"},{"lineNumber":117,"author":{"gitId":"-"},"content":" FeedbackParticipantType giverType,"},{"lineNumber":118,"author":{"gitId":"-"},"content":" FeedbackParticipantType recipientType,"},{"lineNumber":119,"author":{"gitId":"-"},"content":" Integer customNumberOfEntitiesToGiveFeedbackTo,"},{"lineNumber":120,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showResponsesTo,"},{"lineNumber":121,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showGiverNameTo,"},{"lineNumber":122,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showRecipientNameTo"},{"lineNumber":123,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" FeedbackQuestionUpdateRequest updateRequest \u003d new FeedbackQuestionUpdateRequest();"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" updateRequest.setQuestionNumber(questionNumber);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" updateRequest.setQuestionDescription(questionDescription);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" updateRequest.setQuestionDetails(questionDetails);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" updateRequest.setQuestionType(questionType);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" updateRequest.setGiverType(giverType);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" updateRequest.setRecipientType(recipientType);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" updateRequest.setCustomNumberOfEntitiesToGiveFeedbackTo(customNumberOfEntitiesToGiveFeedbackTo);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" updateRequest.setShowResponsesTo(convertToFeedbackVisibilityType(showResponsesTo));"},{"lineNumber":134,"author":{"gitId":"-"},"content":" updateRequest.setShowGiverNameTo(convertToFeedbackVisibilityType(showGiverNameTo));"},{"lineNumber":135,"author":{"gitId":"-"},"content":" updateRequest.setShowRecipientNameTo(convertToFeedbackVisibilityType(showRecipientNameTo));"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" return updateRequest;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" private List\u003cFeedbackVisibilityType\u003e convertToFeedbackVisibilityType("},{"lineNumber":141,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e feedbackParticipantTypes) {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" return feedbackParticipantTypes.stream().map(feedbackParticipantType -\u003e {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" switch (feedbackParticipantType) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":145,"author":{"gitId":"-"},"content":" return FeedbackVisibilityType.STUDENTS;"},{"lineNumber":146,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":147,"author":{"gitId":"-"},"content":" return FeedbackVisibilityType.INSTRUCTORS;"},{"lineNumber":148,"author":{"gitId":"-"},"content":" case RECEIVER:"},{"lineNumber":149,"author":{"gitId":"-"},"content":" return FeedbackVisibilityType.RECIPIENT;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":151,"author":{"gitId":"-"},"content":" return FeedbackVisibilityType.GIVER_TEAM_MEMBERS;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" case RECEIVER_TEAM_MEMBERS:"},{"lineNumber":153,"author":{"gitId":"-"},"content":" return FeedbackVisibilityType.RECIPIENT_TEAM_MEMBERS;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":155,"author":{"gitId":"-"},"content":" assert false : \"Unknown feedbackParticipantType\" + feedbackParticipantType;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":157,"author":{"gitId":"-"},"content":" }"},{"lineNumber":158,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }).collect(Collectors.toList());"},{"lineNumber":160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":161,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":2,"-":159}},{"path":"src/it/java/teammates/it/sqllogic/core/FeedbackSessionLogsLogicIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.it.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"import teammates.sqllogic.core.FeedbackSessionLogsLogic;"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":" * SUT: {@link FeedbackSessionLogsLogic}."},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":"public class FeedbackSessionLogsLogicIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" private FeedbackSessionLogsLogic fslLogic \u003d FeedbackSessionLogsLogic.inst();"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" private SqlDataBundle typicalDataBundle;"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" @BeforeClass"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" public void setupClass() {"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" super.setupClass();"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" typicalDataBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" @BeforeMethod"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" protected void setUp() throws Exception {"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" super.setUp();"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" persistDataBundle(typicalDataBundle);"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" HibernateUtil.flushSession();"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" HibernateUtil.clearSession();"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" public void test_createFeedbackSessionLog_success() {"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" Course course \u003d typicalDataBundle.courses.get(\"course1\");"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" FeedbackSession fs \u003d typicalDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" Student student \u003d typicalDataBundle.students.get(\"student1InCourse1\");"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" Instant timestamp \u003d Instant.now();"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog newLog1 \u003d new FeedbackSessionLog(student, fs, FeedbackSessionLogType.ACCESS, timestamp);"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog newLog2 \u003d new FeedbackSessionLog(student, fs, FeedbackSessionLogType.SUBMISSION, timestamp);"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog newLog3 \u003d new FeedbackSessionLog(student, fs, FeedbackSessionLogType.VIEW_RESULT, timestamp);"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e expected \u003d List.of(newLog1, newLog2, newLog3);"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" fslLogic.createFeedbackSessionLogs(expected);"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e actual \u003d fslLogic.getOrderedFeedbackSessionLogs(course.getId(), student.getId(),"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" fs.getId(), timestamp, timestamp.plusSeconds(1));"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" assertEquals(expected, actual);"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" public void test_getOrderedFeedbackSessionLogs_success() {"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" Instant startTime \u003d Instant.parse(\"2012-01-01T12:00:00Z\");"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" Instant endTime \u003d Instant.parse(\"2012-01-01T23:59:59Z\");"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" Course course \u003d typicalDataBundle.courses.get(\"course1\");"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" Student student1 \u003d typicalDataBundle.students.get(\"student1InCourse1\");"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" FeedbackSession fs1 \u003d typicalDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student1Session1Log1 \u003d typicalDataBundle.feedbackSessionLogs.get(\"student1Session1Log1\");"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student1Session2Log1 \u003d typicalDataBundle.feedbackSessionLogs.get(\"student1Session2Log1\");"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student1Session2Log2 \u003d typicalDataBundle.feedbackSessionLogs.get(\"student1Session2Log2\");"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student2Session1Log1 \u003d typicalDataBundle.feedbackSessionLogs.get(\"student2Session1Log1\");"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student2Session1Log2 \u003d typicalDataBundle.feedbackSessionLogs.get(\"student2Session1Log2\");"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Return logs belonging to a course in time range\");"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e expectedLogs \u003d List.of("},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":" student1Session1Log1,"},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" student1Session2Log1,"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" student1Session2Log2,"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" student2Session1Log1,"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" student2Session1Log2);"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e actualLogs \u003d fslLogic.getOrderedFeedbackSessionLogs(course.getId(), null, null,"},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" startTime, endTime);"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedLogs, actualLogs);"},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Return logs belonging to a student in a course in time range\");"},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":" expectedLogs \u003d List.of("},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" student1Session1Log1,"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" student1Session2Log1,"},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" student1Session2Log2);"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" actualLogs \u003d fslLogic.getOrderedFeedbackSessionLogs(course.getId(), student1.getId(), null, startTime,"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" endTime);"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedLogs, actualLogs);"},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Return logs belonging to a feedback session in time range\");"},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" expectedLogs \u003d List.of("},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":" student1Session1Log1,"},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" student2Session1Log1,"},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":" student2Session1Log2);"},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":" actualLogs \u003d fslLogic.getOrderedFeedbackSessionLogs(course.getId(), null, fs1.getId(), startTime, endTime);"},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedLogs, actualLogs);"},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Return logs belonging to a student in a feedback session in time range\");"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":" expectedLogs \u003d List.of(student1Session1Log1);"},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":" actualLogs \u003d fslLogic.getOrderedFeedbackSessionLogs(course.getId(), student1.getId(), fs1.getId(),"},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" startTime,"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" endTime);"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedLogs, actualLogs);"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" ______TS(\"No logs in time range, return empty list\");"},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" expectedLogs \u003d new ArrayList\u003c\u003e();"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" actualLogs \u003d fslLogic.getOrderedFeedbackSessionLogs(course.getId(), null, null, endTime.plusSeconds(3600),"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" endTime.plusSeconds(7200));"},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedLogs, actualLogs);"},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":131}},{"path":"src/it/java/teammates/it/storage/sqlapi/AccountRequestsDbIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountRequestsDb;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * SUT: {@link AccountRequestsDb}."},{"lineNumber":17,"author":{"gitId":"-"},"content":" */"},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class AccountRequestsDbIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" private final AccountRequestsDb accountRequestDb \u003d AccountRequestsDb.inst();"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":23,"author":{"gitId":"-"},"content":" public void testCreateReadDeleteAccountRequest() throws Exception {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" ______TS(\"Create account request, does not exists, succeeds\");"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d"},{"lineNumber":27,"author":{"gitId":"-"},"content":" new AccountRequest(\"test@gmail.com\", \"name\", \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":28,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" ______TS(\"Read account request using the given ID\");"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" AccountRequest actualAccReqEmalAndInstitute \u003d accountRequestDb.getAccountRequest(accountRequest.getId());"},{"lineNumber":33,"author":{"gitId":"-"},"content":" verifyEquals(accountRequest, actualAccReqEmalAndInstitute);"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" ______TS(\"Read account request using the given registration key\");"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" AccountRequest actualAccReqRegistrationKey \u003d"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" accountRequestDb.getAccountRequestByRegistrationKey(accountRequest.getRegistrationKey());"},{"lineNumber":39,"author":{"gitId":"-"},"content":" verifyEquals(accountRequest, actualAccReqRegistrationKey);"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" ______TS(\"Read account request using the given start and end timing\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" List\u003cAccountRequest\u003e actualAccReqCreatedAt \u003d"},{"lineNumber":44,"author":{"gitId":"-"},"content":" accountRequestDb.getAccountRequests(accountRequest.getCreatedAt(), accountRequest.getCreatedAt());"},{"lineNumber":45,"author":{"gitId":"-"},"content":" assertEquals(1, actualAccReqCreatedAt.size());"},{"lineNumber":46,"author":{"gitId":"-"},"content":" verifyEquals(accountRequest, actualAccReqCreatedAt.get(0));"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" ______TS(\"Read account request not found using the outside start and end timing\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" List\u003cAccountRequest\u003e actualAccReqCreatedAtOutside \u003d"},{"lineNumber":51,"author":{"gitId":"-"},"content":" accountRequestDb.getAccountRequests("},{"lineNumber":52,"author":{"gitId":"-"},"content":" accountRequest.getCreatedAt().minusMillis(3000),"},{"lineNumber":53,"author":{"gitId":"-"},"content":" accountRequest.getCreatedAt().minusMillis(2000));"},{"lineNumber":54,"author":{"gitId":"-"},"content":" assertEquals(0, actualAccReqCreatedAtOutside.size());"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" ______TS(\"Create account request, same email address and institute already exist, creates successfully\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" AccountRequest identicalAccountRequest \u003d"},{"lineNumber":59,"author":{"gitId":"-"},"content":" new AccountRequest(\"test@gmail.com\", \"name\", \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":60,"author":{"gitId":"-"},"content":" assertNotSame(accountRequest, identicalAccountRequest);"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(identicalAccountRequest);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" AccountRequest actualIdenticalAccountRequest \u003d"},{"lineNumber":64,"author":{"gitId":"-"},"content":" accountRequestDb.getAccountRequestByRegistrationKey(identicalAccountRequest.getRegistrationKey());"},{"lineNumber":65,"author":{"gitId":"-"},"content":" verifyEquals(identicalAccountRequest, actualIdenticalAccountRequest);"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" ______TS(\"Delete account request that was created\");"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" accountRequestDb.deleteAccountRequest(accountRequest);"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" AccountRequest actualAccountRequest \u003d"},{"lineNumber":72,"author":{"gitId":"-"},"content":" accountRequestDb.getAccountRequestByRegistrationKey(accountRequest.getRegistrationKey());"},{"lineNumber":73,"author":{"gitId":"-"},"content":" assertNull(actualAccountRequest);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":77,"author":{"gitId":"-"},"content":" public void testGetAccountRequest_nonExistentAccountRequest_returnsNull() {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" UUID id \u003d UUID.randomUUID();"},{"lineNumber":79,"author":{"gitId":"-"},"content":" AccountRequest actualAccountRequest \u003d accountRequestDb.getAccountRequest(id);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" assertNull(actualAccountRequest);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":84,"author":{"gitId":"-"},"content":" public void testGetAccountRequest_existingAccountRequest_getsSuccessfully() throws InvalidParametersException {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" AccountRequest expectedAccountRequest \u003d"},{"lineNumber":86,"author":{"gitId":"-"},"content":" new AccountRequest(\"test@gmail.com\", \"name\", \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":87,"author":{"gitId":"-"},"content":" UUID id \u003d expectedAccountRequest.getId();"},{"lineNumber":88,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(expectedAccountRequest);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" AccountRequest actualAccountRequest \u003d accountRequestDb.getAccountRequest(id);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" assertEquals(expectedAccountRequest, actualAccountRequest);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":94,"author":{"gitId":"-"},"content":" public void testUpdateAccountRequest() throws Exception {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" ______TS(\"Update account request, does not exists, exception thrown\");"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d"},{"lineNumber":98,"author":{"gitId":"-"},"content":" new AccountRequest(\"test@gmail.com\", \"name\", \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":101,"author":{"gitId":"-"},"content":" () -\u003e accountRequestDb.updateAccountRequest(accountRequest));"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" ______TS(\"Update account request, already exists, update successful\");"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" accountRequest.setName(\"new account request name\");"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" accountRequestDb.updateAccountRequest(accountRequest);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(accountRequest.getId());"},{"lineNumber":110,"author":{"gitId":"-"},"content":" verifyEquals(accountRequest, actual);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":114,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateAccountRequestEmailField() throws Exception {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in email field\");"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" // Attempt to use SQL commands in email field"},{"lineNumber":118,"author":{"gitId":"-"},"content":" String email \u003d \"email\u0027/**/OR/**/1\u003d1/**/@gmail.com\";"},{"lineNumber":119,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d"},{"lineNumber":120,"author":{"gitId":"-"},"content":" new AccountRequest(email, \"name\", \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":123,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(accountRequest.getId());"},{"lineNumber":125,"author":{"gitId":"-"},"content":" assertEquals(email, actual.getEmail());"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":129,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateAccountRequestNameField() throws Exception {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in name field\");"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" // Attempt to use SQL commands in name field"},{"lineNumber":133,"author":{"gitId":"-"},"content":" String name \u003d \"name\u0027; SELECT * FROM account_requests; --\";"},{"lineNumber":134,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d"},{"lineNumber":135,"author":{"gitId":"-"},"content":" new AccountRequest(\"test@gmail.com\", name, \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":138,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(accountRequest.getId());"},{"lineNumber":140,"author":{"gitId":"-"},"content":" assertEquals(name, actual.getName());"},{"lineNumber":141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":144,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateAccountRequestInstituteField() throws Exception {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in institute field\");"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" // Attempt to use SQL commands in institute field"},{"lineNumber":148,"author":{"gitId":"-"},"content":" String institute \u003d \"institute\u0027; DROP TABLE account_requests; --\";"},{"lineNumber":149,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d"},{"lineNumber":150,"author":{"gitId":"-"},"content":" new AccountRequest(\"test@gmail.com\", \"name\", institute, AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":153,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(accountRequest.getId());"},{"lineNumber":155,"author":{"gitId":"-"},"content":" assertEquals(institute, actual.getInstitute());"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":159,"author":{"gitId":"xenosf"},"content":" public void testSqlInjectionInCreateAccountRequestCommentsField() throws Exception {"},{"lineNumber":160,"author":{"gitId":"xenosf"},"content":" ______TS(\"SQL Injection test in comments field\");"},{"lineNumber":161,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":162,"author":{"gitId":"xenosf"},"content":" // Attempt to use SQL commands in comments field"},{"lineNumber":163,"author":{"gitId":"xenosf"},"content":" String comments \u003d \"comment\u0027; DROP TABLE account_requests; --\";"},{"lineNumber":164,"author":{"gitId":"xenosf"},"content":" AccountRequest accountRequest \u003d"},{"lineNumber":165,"author":{"gitId":"xenosf"},"content":" new AccountRequest(\"test@gmail.com\", \"name\", \"institute\", AccountRequestStatus.PENDING, comments);"},{"lineNumber":166,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":167,"author":{"gitId":"xenosf"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":168,"author":{"gitId":"xenosf"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":169,"author":{"gitId":"xenosf"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(accountRequest.getId());"},{"lineNumber":170,"author":{"gitId":"xenosf"},"content":" assertEquals(comments, actual.getComments());"},{"lineNumber":171,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":172,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":174,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetAccountRequestByRegistrationKey() throws Exception {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getAccountRequestByRegistrationKey\");"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d"},{"lineNumber":178,"author":{"gitId":"-"},"content":" new AccountRequest(\"test@gmail.com\", \"name\", \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":179,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" String regKeyInjection \u003d \"regKey\u0027; DROP TABLE account_requests; --\";"},{"lineNumber":182,"author":{"gitId":"-"},"content":" AccountRequest actualInjection \u003d accountRequestDb.getAccountRequestByRegistrationKey(regKeyInjection);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" assertNull(actualInjection);"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequestByRegistrationKey(accountRequest.getRegistrationKey());"},{"lineNumber":186,"author":{"gitId":"-"},"content":" assertEquals(accountRequest, actual);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" public void testSqlInjectionInGetApprovedAccountRequestsForEmail() throws Exception {"},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" ______TS(\"SQL Injection test in getApprovedAccountRequestsForEmail\");"},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":" String email \u003d \"test@gmail.com\";"},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" AccountRequest accountRequest \u003d"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":" new AccountRequest(email, \"name\", \"institute\", AccountRequestStatus.APPROVED, \"comments\");"},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":" // Attempt to use SQL commands in email field"},{"lineNumber":199,"author":{"gitId":"xenosf"},"content":" String emailInjection \u003d \"email\u0027/**/OR/**/1\u003d1/**/@gmail.com\";"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":" List\u003cAccountRequest\u003e actualInjection \u003d accountRequestDb.getApprovedAccountRequestsForEmail(emailInjection);"},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" assertEquals(0, actualInjection.size());"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":204,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":206,"author":{"gitId":"-"},"content":" public void testSqlInjectionInUpdateAccountRequest() throws Exception {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in updateAccountRequest\");"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d"},{"lineNumber":210,"author":{"gitId":"-"},"content":" new AccountRequest(\"test@gmail.com\", \"name\", \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":211,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" String nameInjection \u003d \"newName\u0027; DROP TABLE account_requests; --\";"},{"lineNumber":214,"author":{"gitId":"-"},"content":" accountRequest.setName(nameInjection);"},{"lineNumber":215,"author":{"gitId":"-"},"content":" accountRequestDb.updateAccountRequest(accountRequest);"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(accountRequest.getId());"},{"lineNumber":218,"author":{"gitId":"-"},"content":" assertEquals(accountRequest, actual);"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":222,"author":{"gitId":"-"},"content":" public void testSqlInjectionInDeleteAccountRequest() throws Exception {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in deleteAccountRequest\");"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d"},{"lineNumber":226,"author":{"gitId":"-"},"content":" new AccountRequest(\"test@gmail.com\", \"name\", \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":227,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" String emailInjection \u003d \"email\u0027/**/OR/**/1\u003d1/**/@gmail.com\";"},{"lineNumber":230,"author":{"gitId":"-"},"content":" String nameInjection \u003d \"name\u0027; DROP TABLE account_requests; --\";"},{"lineNumber":231,"author":{"gitId":"-"},"content":" String instituteInjection \u003d \"institute\u0027; DROP TABLE account_requests; --\";"},{"lineNumber":232,"author":{"gitId":"-"},"content":" AccountRequest accountRequestInjection \u003d new AccountRequest(emailInjection, nameInjection, instituteInjection,"},{"lineNumber":233,"author":{"gitId":"-"},"content":" AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":234,"author":{"gitId":"-"},"content":" accountRequestDb.deleteAccountRequest(accountRequestInjection);"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(accountRequest.getId());"},{"lineNumber":237,"author":{"gitId":"-"},"content":" assertEquals(accountRequest, actual);"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":241,"author":{"gitId":"-"},"content":" public void testSqlInjectionSearchAccountRequestsInWholeSystem() throws Exception {"},{"lineNumber":242,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in searchAccountRequestsInWholeSystem\");"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d"},{"lineNumber":245,"author":{"gitId":"-"},"content":" new AccountRequest(\"test@gmail.com\", \"name\", \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":246,"author":{"gitId":"-"},"content":" accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" String searchInjection \u003d \"institute\u0027; DROP TABLE account_requests; --\";"},{"lineNumber":249,"author":{"gitId":"-"},"content":" List\u003cAccountRequest\u003e actualInjection \u003d accountRequestDb.searchAccountRequestsInWholeSystem(searchInjection);"},{"lineNumber":250,"author":{"gitId":"-"},"content":" assertEquals(0, actualInjection.size());"},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":" AccountRequest actual \u003d accountRequestDb.getAccountRequest(accountRequest.getId());"},{"lineNumber":253,"author":{"gitId":"-"},"content":" assertEquals(accountRequest, actual);"},{"lineNumber":254,"author":{"gitId":"-"},"content":" }"},{"lineNumber":255,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":31,"dishenggg":1,"-":223}},{"path":"src/it/java/teammates/it/storage/sqlapi/CoursesDbIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.CoursesDb;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * SUT: {@link CoursesDb}."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class CoursesDbIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" private final CoursesDb coursesDb \u003d CoursesDb.inst();"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" public void testGetCourse() throws Exception {"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: get course that does not exist\");"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" Course actual \u003d coursesDb.getCourse(\"non-existent-course-id\");"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" assertNull(actual);"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null assertion exception thrown\");"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getCourse(null));"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: get course that already exists\");"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" Course expected \u003d getTypicalCourse();"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" coursesDb.createCourse(expected);"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" actual \u003d coursesDb.getCourse(expected.getId());"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" verifyEquals(expected, actual);"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":42,"author":{"gitId":"-"},"content":" public void testCreateCourse() throws Exception {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" ______TS(\"success: create course that does not exist\");"},{"lineNumber":44,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":45,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" Course actualCourse \u003d coursesDb.getCourse(\"course-id\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":" verifyEquals(course, actualCourse);"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null course assertion exception thrown\");"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.createCourse(null));"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: invalid course details\");"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" Course invalidCourse \u003d new Course(\"course-id\", \"!@#!@#\", \"Asia/Singapore\", \"institute\");"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" assertThrows(InvalidParametersException.class, () -\u003e coursesDb.createCourse(invalidCourse));"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" ______TS(\"failure: create course that already exist, execption thrown\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":" Course identicalCourse \u003d getTypicalCourse();"},{"lineNumber":58,"author":{"gitId":"-"},"content":" assertNotSame(course, identicalCourse);"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" assertThrows(EntityAlreadyExistsException.class, () -\u003e coursesDb.createCourse(identicalCourse));"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public void testUpdateCourse() throws Exception {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" ______TS(\"failure: update course that does not exist, exception thrown\");"},{"lineNumber":66,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" assertThrows(EntityDoesNotExistException.class, () -\u003e coursesDb.updateCourse(course));"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null course assertion exception thrown\");"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.updateCourse(null));"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: update course that already exists\");"},{"lineNumber":73,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" course.setName(\"new course name\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" coursesDb.updateCourse(course);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" Course actual \u003d coursesDb.getCourse(\"course-id\");"},{"lineNumber":78,"author":{"gitId":"-"},"content":" verifyEquals(course, actual);"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" ______TS(\"success: update detached course that already exists\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" // same id, different name"},{"lineNumber":83,"author":{"gitId":"-"},"content":" Course detachedCourse \u003d getTypicalCourse();"},{"lineNumber":84,"author":{"gitId":"-"},"content":" detachedCourse.setName(\"different-name\");"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" coursesDb.updateCourse(detachedCourse);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" verifyEquals(course, detachedCourse);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" public void testDeleteCourse() throws Exception {"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: delete course that already exists\");"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" coursesDb.createCourse(course);"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" coursesDb.deleteCourse(course);"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" Course actualCourse \u003d coursesDb.getCourse(course.getId());"},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":" assertNull(actualCourse);"},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" public void testCreateSection() throws Exception {"},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" coursesDb.createCourse(course);"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: create section that does not exist\");"},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" coursesDb.createSection(section);"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" Section actualSection \u003d coursesDb.getSectionByName(course.getId(), section.getName());"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" verifyEquals(section, actualSection);"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null section assertion exception thrown\");"},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.createSection(null));"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: invalid section details\");"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" Section invalidSection \u003d new Section(course, null);"},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" assertThrows(InvalidParametersException.class, () -\u003e coursesDb.createSection(invalidSection));"},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: create section that already exist, execption thrown\");"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" assertThrows(EntityAlreadyExistsException.class, () -\u003e coursesDb.createSection(section));"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" public void testGetSectionByName() throws Exception {"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" coursesDb.createCourse(course);"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":" coursesDb.createSection(section);"},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null courseId assertion exception thrown\");"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getSectionByName(null, section.getName()));"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null sectionName assertion exception thrown\");"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getSectionByName(course.getId(), null));"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: get section that already exists\");"},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":" Section actualSection \u003d coursesDb.getSectionByName(course.getId(), section.getName());"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" verifyEquals(section, actualSection);"},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: get section that does not exist\");"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" Section nonExistentSection \u003d coursesDb.getSectionByName(course.getId(), \"non-existent-section-name\");"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" assertNull(nonExistentSection);"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":146,"author":{"gitId":"-"},"content":" public void testGetSectionByCourseIdAndTeam() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":148,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":149,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" Team team \u003d new Team(section, \"team-name\");"},{"lineNumber":151,"author":{"gitId":"-"},"content":" section.addTeam(team);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null courseId assertion exception thrown\");"},{"lineNumber":155,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getSectionByCourseIdAndTeam(null, team.getName()));"},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":157,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null teamName assertion exception thrown\");"},{"lineNumber":158,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getSectionByCourseIdAndTeam(course.getId(), null));"},{"lineNumber":159,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":161,"author":{"gitId":"-"},"content":" Section actualSection \u003d coursesDb.getSectionByCourseIdAndTeam(course.getId(), team.getName());"},{"lineNumber":162,"author":{"gitId":"-"},"content":" verifyEquals(section, actualSection);"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":166,"author":{"gitId":"-"},"content":" public void testGetTeamsForSection() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":168,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":169,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":170,"author":{"gitId":"-"},"content":" Team team1 \u003d new Team(section, \"team-name1\");"},{"lineNumber":171,"author":{"gitId":"-"},"content":" section.addTeam(team1);"},{"lineNumber":172,"author":{"gitId":"-"},"content":" Team team2 \u003d new Team(section, \"team-name2\");"},{"lineNumber":173,"author":{"gitId":"-"},"content":" section.addTeam(team2);"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" List\u003cTeam\u003e expectedTeams \u003d List.of(team1, team2);"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null section assertion exception thrown\");"},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getTeamsForSection(null));"},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":183,"author":{"gitId":"-"},"content":" List\u003cTeam\u003e actualTeams \u003d coursesDb.getTeamsForSection(section);"},{"lineNumber":184,"author":{"gitId":"-"},"content":" assertEquals(expectedTeams.size(), actualTeams.size());"},{"lineNumber":185,"author":{"gitId":"-"},"content":" assertTrue(expectedTeams.containsAll(actualTeams));"},{"lineNumber":186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":189,"author":{"gitId":"domoberzin"},"content":" public void testDeleteSectionsByCourseId() throws Exception {"},{"lineNumber":190,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":191,"author":{"gitId":"domoberzin"},"content":" coursesDb.createCourse(course);"},{"lineNumber":192,"author":{"gitId":"domoberzin"},"content":" List\u003cSection\u003e expectedSections \u003d new ArrayList\u003c\u003e();"},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":" for (int i \u003d 0; i \u003c 5; i++) {"},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" Section newSection \u003d new Section(course, \"section-name\" + i);"},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" expectedSections.add(newSection);"},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":" course.addSection(newSection);"},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":" assertNotNull(coursesDb.getSectionByName(course.getId(), newSection.getName()));"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":200,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: delete sections by course id\");"},{"lineNumber":201,"author":{"gitId":"domoberzin"},"content":" coursesDb.deleteSectionsByCourseId(course.getId());"},{"lineNumber":202,"author":{"gitId":"domoberzin"},"content":" for (Section section : expectedSections) {"},{"lineNumber":203,"author":{"gitId":"domoberzin"},"content":" Section actualSection \u003d coursesDb.getSectionByName(course.getId(), section.getName());"},{"lineNumber":204,"author":{"gitId":"domoberzin"},"content":" assertNull(actualSection);"},{"lineNumber":205,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":206,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":207,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":209,"author":{"gitId":"-"},"content":" public void testGetTeamsForCourse() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" Section section1 \u003d new Section(course, \"section-name1\");"},{"lineNumber":213,"author":{"gitId":"-"},"content":" course.addSection(section1);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" Team team1 \u003d new Team(section1, \"team-name1\");"},{"lineNumber":215,"author":{"gitId":"-"},"content":" section1.addTeam(team1);"},{"lineNumber":216,"author":{"gitId":"-"},"content":" Team team2 \u003d new Team(section1, \"team-name2\");"},{"lineNumber":217,"author":{"gitId":"-"},"content":" section1.addTeam(team2);"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" Section section2 \u003d new Section(course, \"section-name2\");"},{"lineNumber":220,"author":{"gitId":"-"},"content":" course.addSection(section2);"},{"lineNumber":221,"author":{"gitId":"-"},"content":" Team team3 \u003d new Team(section2, \"team-name3\");"},{"lineNumber":222,"author":{"gitId":"-"},"content":" section2.addTeam(team3);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" Team team4 \u003d new Team(section2, \"team-name4\");"},{"lineNumber":224,"author":{"gitId":"-"},"content":" section2.addTeam(team4);"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" List\u003cTeam\u003e expectedTeams \u003d List.of(team1, team2, team3, team4);"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null courseId assertion exception thrown\");"},{"lineNumber":231,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getTeamsForCourse(null));"},{"lineNumber":232,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":234,"author":{"gitId":"-"},"content":" List\u003cTeam\u003e actualTeams \u003d coursesDb.getTeamsForCourse(course.getId());"},{"lineNumber":235,"author":{"gitId":"-"},"content":" assertEquals(expectedTeams.size(), actualTeams.size());"},{"lineNumber":236,"author":{"gitId":"-"},"content":" assertTrue(expectedTeams.containsAll(actualTeams));"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":239,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":240,"author":{"gitId":"domoberzin"},"content":" public void testCreateTeam() throws Exception {"},{"lineNumber":241,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":242,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":243,"author":{"gitId":"domoberzin"},"content":" Team team \u003d new Team(section, \"team-name1\");"},{"lineNumber":244,"author":{"gitId":"domoberzin"},"content":" coursesDb.createCourse(course);"},{"lineNumber":245,"author":{"gitId":"domoberzin"},"content":" coursesDb.createSection(section);"},{"lineNumber":246,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":247,"author":{"gitId":"domoberzin"},"content":" assertNotNull(coursesDb.getSectionByName(course.getId(), section.getName()));"},{"lineNumber":248,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":249,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null team assertion exception thrown\");"},{"lineNumber":250,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.createTeam(null));"},{"lineNumber":251,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":252,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: create team that does not exist\");"},{"lineNumber":253,"author":{"gitId":"domoberzin"},"content":" coursesDb.createTeam(team);"},{"lineNumber":254,"author":{"gitId":"domoberzin"},"content":" Team actualTeam \u003d coursesDb.getTeamByName(section.getId(), team.getName());"},{"lineNumber":255,"author":{"gitId":"domoberzin"},"content":" verifyEquals(team, actualTeam);"},{"lineNumber":256,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":257,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: invalid team details\");"},{"lineNumber":258,"author":{"gitId":"domoberzin"},"content":" Team invalidTeam \u003d new Team(section, null);"},{"lineNumber":259,"author":{"gitId":"domoberzin"},"content":" assertThrows(InvalidParametersException.class, () -\u003e coursesDb.createTeam(invalidTeam));"},{"lineNumber":260,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":261,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: create team that already exist, execption thrown\");"},{"lineNumber":262,"author":{"gitId":"domoberzin"},"content":" assertThrows(EntityAlreadyExistsException.class, () -\u003e coursesDb.createTeam(team));"},{"lineNumber":263,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":264,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":265,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":266,"author":{"gitId":"domoberzin"},"content":" public void testGetTeamByName() throws Exception {"},{"lineNumber":267,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":268,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":269,"author":{"gitId":"domoberzin"},"content":" Team team \u003d new Team(section, \"team-name1\");"},{"lineNumber":270,"author":{"gitId":"domoberzin"},"content":" coursesDb.createCourse(course);"},{"lineNumber":271,"author":{"gitId":"domoberzin"},"content":" coursesDb.createSection(section);"},{"lineNumber":272,"author":{"gitId":"domoberzin"},"content":" coursesDb.createTeam(team);"},{"lineNumber":273,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":274,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: get team that already exists\");"},{"lineNumber":275,"author":{"gitId":"domoberzin"},"content":" Team actualTeam \u003d coursesDb.getTeamByName(section.getId(), team.getName());"},{"lineNumber":276,"author":{"gitId":"domoberzin"},"content":" verifyEquals(team, actualTeam);"},{"lineNumber":277,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":278,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null sectionId assertion exception thrown\");"},{"lineNumber":279,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getTeamByName(null, team.getName()));"},{"lineNumber":280,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":281,"author":{"gitId":"domoberzin"},"content":" ______TS(\"failure: null teamName assertion exception thrown\");"},{"lineNumber":282,"author":{"gitId":"domoberzin"},"content":" assertThrows(AssertionError.class, () -\u003e coursesDb.getTeamByName(section.getId(), null));"},{"lineNumber":283,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":284,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: null return\");"},{"lineNumber":285,"author":{"gitId":"domoberzin"},"content":" Team nonExistentTeam \u003d coursesDb.getTeamByName(section.getId(), \"non-existent-team-name\");"},{"lineNumber":286,"author":{"gitId":"domoberzin"},"content":" assertNull(nonExistentTeam);"},{"lineNumber":287,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":290,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateCourse() throws Exception {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in createCourse\");"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" // Attempt to use SQL commands in name field"},{"lineNumber":294,"author":{"gitId":"-"},"content":" String courseName \u003d \"test\u0027; DROP TABLE courses; --\";"},{"lineNumber":295,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", courseName, \"UTC\", \"teammates\");"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":298,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":299,"author":{"gitId":"-"},"content":" Course actual \u003d coursesDb.getCourse(\"course-id\");"},{"lineNumber":300,"author":{"gitId":"-"},"content":" assertEquals(courseName, actual.getName());"},{"lineNumber":301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":304,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetCourse() throws Exception {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getCourse\");"},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"course-name\", \"UTC\", \"teammates\");"},{"lineNumber":308,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" // Attempt to use SQL commands in courseId field"},{"lineNumber":311,"author":{"gitId":"-"},"content":" String courseId \u003d \"test\u0027 OR 1 \u003d 1; --\";"},{"lineNumber":312,"author":{"gitId":"-"},"content":" Course actual \u003d coursesDb.getCourse(courseId);"},{"lineNumber":313,"author":{"gitId":"-"},"content":" assertEquals(null, actual);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" }"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":317,"author":{"gitId":"-"},"content":" public void testSqlInjectionInUpdateCourse() throws Exception {"},{"lineNumber":318,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in updateCourse\");"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"name\", \"UTC\", \"institute\");"},{"lineNumber":321,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":324,"author":{"gitId":"-"},"content":" String newName \u003d \"newName\u0027; DROP TABLE courses; --\";"},{"lineNumber":325,"author":{"gitId":"-"},"content":" course.setName(newName);"},{"lineNumber":326,"author":{"gitId":"-"},"content":" coursesDb.updateCourse(course);"},{"lineNumber":327,"author":{"gitId":"-"},"content":" Course actual \u003d coursesDb.getCourse(\"course-id\");"},{"lineNumber":328,"author":{"gitId":"-"},"content":" assertEquals(newName, actual.getName());"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":332,"author":{"gitId":"-"},"content":" public void testSqlInjectionInDeleteCourse() throws Exception {"},{"lineNumber":333,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in deleteCourse\");"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"name\", \"UTC\", \"institute\");"},{"lineNumber":336,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" String name \u003d \"newName\u0027; DELETE FROM courses; --\";"},{"lineNumber":339,"author":{"gitId":"-"},"content":" Course injectionCourse \u003d new Course(\"course-id-injection\", name, \"UTC\", \"institute\");"},{"lineNumber":340,"author":{"gitId":"-"},"content":" coursesDb.createCourse(injectionCourse);"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":" coursesDb.deleteCourse(injectionCourse);"},{"lineNumber":343,"author":{"gitId":"-"},"content":" Course actualInjectionCourse \u003d coursesDb.getCourse(\"course-id-injection\");"},{"lineNumber":344,"author":{"gitId":"-"},"content":""},{"lineNumber":345,"author":{"gitId":"-"},"content":" // The course should be deleted"},{"lineNumber":346,"author":{"gitId":"-"},"content":" assertEquals(null, actualInjectionCourse);"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":" // All other courses should not be deleted"},{"lineNumber":349,"author":{"gitId":"-"},"content":" Course actualCourse \u003d coursesDb.getCourse(\"course-id\");"},{"lineNumber":350,"author":{"gitId":"-"},"content":" assertEquals(course, actualCourse);"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":354,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateSection() throws Exception {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in createSection\");"},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"-"},"content":" // Attempt to use SQL commands in sectionName fields"},{"lineNumber":358,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"name\", \"UTC\", \"institute\");"},{"lineNumber":359,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":360,"author":{"gitId":"-"},"content":" String sectionName \u003d \"section\u0027; DROP TABLE courses; --\";"},{"lineNumber":361,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, sectionName);"},{"lineNumber":362,"author":{"gitId":"-"},"content":""},{"lineNumber":363,"author":{"gitId":"-"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":364,"author":{"gitId":"-"},"content":" coursesDb.createSection(section);"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" // Check that we are still able to get courses"},{"lineNumber":367,"author":{"gitId":"-"},"content":" Course actualCourse \u003d coursesDb.getCourse(\"course-id\");"},{"lineNumber":368,"author":{"gitId":"-"},"content":" assertEquals(course, actualCourse);"},{"lineNumber":369,"author":{"gitId":"-"},"content":" }"},{"lineNumber":370,"author":{"gitId":"-"},"content":""},{"lineNumber":371,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":372,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetSectionByName() throws Exception {"},{"lineNumber":373,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getSectionByName\");"},{"lineNumber":374,"author":{"gitId":"-"},"content":""},{"lineNumber":375,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"course-name\", \"UTC\", \"institute\");"},{"lineNumber":376,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":377,"author":{"gitId":"-"},"content":" String sectionName \u003d \"section-name\";"},{"lineNumber":378,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, sectionName);"},{"lineNumber":379,"author":{"gitId":"-"},"content":""},{"lineNumber":380,"author":{"gitId":"-"},"content":" coursesDb.createSection(section);"},{"lineNumber":381,"author":{"gitId":"-"},"content":" Section actual \u003d coursesDb.getSectionByName(\"course-id\", \"section-name\u0027; DROP TABLE courses; --\");"},{"lineNumber":382,"author":{"gitId":"-"},"content":" assertEquals(null, actual);"},{"lineNumber":383,"author":{"gitId":"-"},"content":" Section actualSection \u003d coursesDb.getSectionByName(\"course-id\", sectionName);"},{"lineNumber":384,"author":{"gitId":"-"},"content":" assertEquals(sectionName, actualSection.getName());"},{"lineNumber":385,"author":{"gitId":"-"},"content":" }"},{"lineNumber":386,"author":{"gitId":"-"},"content":""},{"lineNumber":387,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":388,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetSectionByCourseIdAndTeam() throws Exception {"},{"lineNumber":389,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getSectionByCourseIdAndTeam\");"},{"lineNumber":390,"author":{"gitId":"-"},"content":""},{"lineNumber":391,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"course-name\", \"UTC\", \"institute\");"},{"lineNumber":392,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":393,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":394,"author":{"gitId":"-"},"content":" Team team \u003d new Team(section, \"team-name\");"},{"lineNumber":395,"author":{"gitId":"-"},"content":" section.addTeam(team);"},{"lineNumber":396,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":397,"author":{"gitId":"-"},"content":""},{"lineNumber":398,"author":{"gitId":"-"},"content":" // The system should treat the input as a plain text string"},{"lineNumber":399,"author":{"gitId":"-"},"content":" String teamNameInjection \u003d \"team-name\u0027; DROP TABLE courses; --\";"},{"lineNumber":400,"author":{"gitId":"-"},"content":" Section actual \u003d coursesDb.getSectionByCourseIdAndTeam(\"course-id\", teamNameInjection);"},{"lineNumber":401,"author":{"gitId":"-"},"content":" assertEquals(null, actual);"},{"lineNumber":402,"author":{"gitId":"-"},"content":" Section actualSection \u003d coursesDb.getSectionByCourseIdAndTeam(\"course-id\", \"team-name\");"},{"lineNumber":403,"author":{"gitId":"-"},"content":" assertEquals(\"team-name\", actualSection.getTeams().get(0).getName());"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":407,"author":{"gitId":"-"},"content":" public void testSqlInjectionInDeleteSectionsByCourseId() throws Exception {"},{"lineNumber":408,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in deleteSectionsByCourseId\");"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"name\", \"UTC\", \"institute\");"},{"lineNumber":411,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":412,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":413,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":414,"author":{"gitId":"-"},"content":""},{"lineNumber":415,"author":{"gitId":"-"},"content":" String courseId \u003d \"course-id\u0027; DELETE FROM courses; --\";"},{"lineNumber":416,"author":{"gitId":"-"},"content":" coursesDb.deleteSectionsByCourseId(courseId);"},{"lineNumber":417,"author":{"gitId":"-"},"content":""},{"lineNumber":418,"author":{"gitId":"-"},"content":" // The sections should not be deleted"},{"lineNumber":419,"author":{"gitId":"-"},"content":" Section actualSection \u003d coursesDb.getSectionByName(\"course-id\", \"section-name\");"},{"lineNumber":420,"author":{"gitId":"-"},"content":" assertEquals(section, actualSection);"},{"lineNumber":421,"author":{"gitId":"-"},"content":" }"},{"lineNumber":422,"author":{"gitId":"-"},"content":""},{"lineNumber":423,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":424,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetTeamsForSection() throws Exception {"},{"lineNumber":425,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getTeamsForSection\");"},{"lineNumber":426,"author":{"gitId":"-"},"content":""},{"lineNumber":427,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"course-name\", \"UTC\", \"institute\");"},{"lineNumber":428,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":429,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":430,"author":{"gitId":"-"},"content":" Team team \u003d new Team(section, \"team-name\");"},{"lineNumber":431,"author":{"gitId":"-"},"content":" section.addTeam(team);"},{"lineNumber":432,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":433,"author":{"gitId":"-"},"content":""},{"lineNumber":434,"author":{"gitId":"-"},"content":" String sectionName \u003d \"section-name\u0027 OR 1 \u003d 1; --\";"},{"lineNumber":435,"author":{"gitId":"-"},"content":" Section sectionInjection \u003d new Section(course, sectionName);"},{"lineNumber":436,"author":{"gitId":"-"},"content":" List\u003cTeam\u003e actual \u003d coursesDb.getTeamsForSection(sectionInjection);"},{"lineNumber":437,"author":{"gitId":"-"},"content":" assertEquals(0, actual.size());"},{"lineNumber":438,"author":{"gitId":"-"},"content":" }"},{"lineNumber":439,"author":{"gitId":"-"},"content":""},{"lineNumber":440,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":441,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetTeamsForCourse() throws Exception {"},{"lineNumber":442,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getTeamsForCourse\");"},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"course-name\", \"UTC\", \"institute\");"},{"lineNumber":445,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":446,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":447,"author":{"gitId":"-"},"content":" Team team \u003d new Team(section, \"team-name\");"},{"lineNumber":448,"author":{"gitId":"-"},"content":" section.addTeam(team);"},{"lineNumber":449,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":450,"author":{"gitId":"-"},"content":""},{"lineNumber":451,"author":{"gitId":"-"},"content":" String courseId \u003d \"course-id\u0027 OR 1 \u003d 1; --\";"},{"lineNumber":452,"author":{"gitId":"-"},"content":" List\u003cTeam\u003e actual \u003d coursesDb.getTeamsForCourse(courseId);"},{"lineNumber":453,"author":{"gitId":"-"},"content":" assertEquals(0, actual.size());"},{"lineNumber":454,"author":{"gitId":"-"},"content":" }"},{"lineNumber":455,"author":{"gitId":"-"},"content":""},{"lineNumber":456,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":457,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateTeam() throws Exception {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in createTeam\");"},{"lineNumber":459,"author":{"gitId":"-"},"content":""},{"lineNumber":460,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"course-name\", \"UTC\", \"institute\");"},{"lineNumber":461,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":462,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":463,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":464,"author":{"gitId":"-"},"content":""},{"lineNumber":465,"author":{"gitId":"-"},"content":" String teamName \u003d \"team\u0027; DROP TABLE courses; --\";"},{"lineNumber":466,"author":{"gitId":"-"},"content":" Team team \u003d new Team(section, teamName);"},{"lineNumber":467,"author":{"gitId":"-"},"content":" coursesDb.createTeam(team);"},{"lineNumber":468,"author":{"gitId":"-"},"content":""},{"lineNumber":469,"author":{"gitId":"-"},"content":" List\u003cTeam\u003e actual \u003d coursesDb.getTeamsForSection(section);"},{"lineNumber":470,"author":{"gitId":"-"},"content":" assertEquals(1, actual.size());"},{"lineNumber":471,"author":{"gitId":"-"},"content":" assertEquals(teamName, actual.get(0).getName());"},{"lineNumber":472,"author":{"gitId":"-"},"content":" }"},{"lineNumber":473,"author":{"gitId":"-"},"content":""},{"lineNumber":474,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":475,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetTeamByName() throws Exception {"},{"lineNumber":476,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in getTeamByName\");"},{"lineNumber":477,"author":{"gitId":"-"},"content":""},{"lineNumber":478,"author":{"gitId":"-"},"content":" Course course \u003d new Course(\"course-id\", \"course-name\", \"UTC\", \"institute\");"},{"lineNumber":479,"author":{"gitId":"-"},"content":" Section section \u003d new Section(course, \"section-name\");"},{"lineNumber":480,"author":{"gitId":"-"},"content":" course.addSection(section);"},{"lineNumber":481,"author":{"gitId":"-"},"content":" Team team \u003d new Team(section, \"team-name\");"},{"lineNumber":482,"author":{"gitId":"-"},"content":" section.addTeam(team);"},{"lineNumber":483,"author":{"gitId":"-"},"content":" coursesDb.createCourse(course);"},{"lineNumber":484,"author":{"gitId":"-"},"content":""},{"lineNumber":485,"author":{"gitId":"-"},"content":" String teamName \u003d \"team-name\u0027; DROP TABLE courses; --\";"},{"lineNumber":486,"author":{"gitId":"-"},"content":" Team actual \u003d coursesDb.getTeamByName(section.getId(), teamName);"},{"lineNumber":487,"author":{"gitId":"-"},"content":" assertEquals(null, actual);"},{"lineNumber":488,"author":{"gitId":"-"},"content":" Team actualTeam \u003d coursesDb.getTeamByName(section.getId(), \"team-name\");"},{"lineNumber":489,"author":{"gitId":"-"},"content":" assertEquals(team, actualTeam);"},{"lineNumber":490,"author":{"gitId":"-"},"content":" }"},{"lineNumber":491,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":165,"-":326}},{"path":"src/it/java/teammates/it/storage/sqlapi/FeedbackQuestionsDbIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackQuestionsDb;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * SUT: {@link FeedbackQuestionsDb}."},{"lineNumber":23,"author":{"gitId":"-"},"content":" */"},{"lineNumber":24,"author":{"gitId":"-"},"content":"public class FeedbackQuestionsDbIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" private final FeedbackQuestionsDb fqDb \u003d FeedbackQuestionsDb.inst();"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" private SqlDataBundle typicalDataBundle;"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":31,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":32,"author":{"gitId":"-"},"content":" public void setupClass() {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" super.setupClass();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" typicalDataBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":39,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" persistDataBundle(typicalDataBundle);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" public void testGetFeedbackQuestion() {"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion expectedFq \u003d typicalDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion actualFq \u003d fqDb.getFeedbackQuestion(expectedFq.getId());"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedFq, actualFq);"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: does not exist, returns null\");"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" actualFq \u003d fqDb.getFeedbackQuestion(UUID.randomUUID());"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" assertNull(actualFq);"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: null parameter, assertion error\");"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" assertThrows(AssertionError.class, () -\u003e fqDb.getFeedbackQuestion(null));"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" public void testCreateFeedbackQuestion() throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion expectedFq \u003d getTypicalFeedbackQuestionForSession("},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" getTypicalFeedbackSessionForCourse(getTypicalCourse()));"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" fqDb.createFeedbackQuestion(expectedFq);"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(expectedFq);"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: duplicate question, throws error\");"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" assertThrows(EntityAlreadyExistsException.class, () -\u003e fqDb.createFeedbackQuestion(expectedFq));"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: invalid question, throws error\");"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion invalidFq \u003d getTypicalFeedbackQuestionForSession("},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" getTypicalFeedbackSessionForCourse(getTypicalCourse()));"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" invalidFq.setGiverType(FeedbackParticipantType.RECEIVER);"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" assertThrows(InvalidParametersException.class, () -\u003e fqDb.createFeedbackQuestion(invalidFq));"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" assertNull(fqDb.getFeedbackQuestion(invalidFq.getId()));"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: null parameter, assertion error\");"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" assertThrows(AssertionError.class, () -\u003e fqDb.createFeedbackQuestion(null));"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":87,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForSession() {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":89,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d typicalDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":90,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d typicalDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":91,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d typicalDataBundle.feedbackQuestions.get(\"qn2InSession1InCourse1\");"},{"lineNumber":92,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d typicalDataBundle.feedbackQuestions.get(\"qn3InSession1InCourse1\");"},{"lineNumber":93,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d typicalDataBundle.feedbackQuestions.get(\"qn4InSession1InCourse1\");"},{"lineNumber":94,"author":{"gitId":"-"},"content":" FeedbackQuestion fq5 \u003d typicalDataBundle.feedbackQuestions.get(\"qn5InSession1InCourse1\");"},{"lineNumber":95,"author":{"gitId":"-"},"content":" FeedbackQuestion fq6 \u003d typicalDataBundle.feedbackQuestions.get(\"qn6InSession1InCourse1NoResponses\");"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e expectedQuestions \u003d List.of(fq1, fq2, fq3, fq4, fq5, fq6);"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqDb.getFeedbackQuestionsForSession(fs.getId());"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestions.size(), actualQuestions.size());"},{"lineNumber":102,"author":{"gitId":"-"},"content":" assertTrue(expectedQuestions.containsAll(actualQuestions));"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: session does not exist, returns no questions\");"},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":" actualQuestions \u003d fqDb.getFeedbackQuestionsForSession(UUID.randomUUID());"},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" assertEquals(0, actualQuestions.size());"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":110,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForGiverType() {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":112,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d typicalDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":113,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d typicalDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":114,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d typicalDataBundle.feedbackQuestions.get(\"qn2InSession1InCourse1\");"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e expectedQuestions \u003d List.of(fq1, fq2);"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.STUDENTS);"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestions.size(), actualQuestions.size());"},{"lineNumber":121,"author":{"gitId":"-"},"content":" assertTrue(expectedQuestions.containsAll(actualQuestions));"},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: session does not exist, returns no questions\");"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" fs \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" actualQuestions \u003d fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.STUDENTS);"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" assertEquals(0, actualQuestions.size());"},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":" public void testDeleteFeedbackQuestion() {"},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" FeedbackQuestion fq \u003d typicalDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" verifyPresentInDatabase(fq);"},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":" fqDb.deleteFeedbackQuestion(fq.getId());"},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":" assertNull(fqDb.getFeedbackQuestion(fq.getId()));"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: null parameter, assertion error\");"},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" assertThrows(AssertionError.class, () -\u003e fqDb.deleteFeedbackQuestion(null));"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":143,"author":{"gitId":"-"},"content":" public void testHasFeedbackQuestionsForGiverType() {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":145,"author":{"gitId":"-"},"content":" Course course \u003d typicalDataBundle.courses.get(\"course1\");"},{"lineNumber":146,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d typicalDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" boolean actual \u003d fqDb.hasFeedbackQuestionsForGiverType("},{"lineNumber":149,"author":{"gitId":"-"},"content":" fs.getName(), course.getId(), FeedbackParticipantType.STUDENTS);"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" assertTrue(actual);"},{"lineNumber":152,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":153,"author":{"gitId":"dishenggg"},"content":" ______TS(\"failure: session/course does not exist, returns false\");"},{"lineNumber":154,"author":{"gitId":"dishenggg"},"content":" actual \u003d fqDb.hasFeedbackQuestionsForGiverType(\"session-name\", \"course-id\", FeedbackParticipantType.STUDENTS);"},{"lineNumber":155,"author":{"gitId":"dishenggg"},"content":" assertFalse(actual);"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":70,"-":87}},{"path":"src/it/java/teammates/it/storage/sqlapi/FeedbackResponseCommentsDbIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import java.util.HashSet;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import java.util.UUID;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackResponseCommentsDb;"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * SUT: {@link FeedbackResponseCommentsDb}."},{"lineNumber":28,"author":{"gitId":"-"},"content":" */"},{"lineNumber":29,"author":{"gitId":"-"},"content":"public class FeedbackResponseCommentsDbIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" private final FeedbackResponseCommentsDb frcDb \u003d FeedbackResponseCommentsDb.inst();"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" private SqlDataBundle testDataBundle;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":36,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":37,"author":{"gitId":"-"},"content":" public void setupClass() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" super.setupClass();"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" testDataBundle \u003d loadSqlDataBundle(\"/FeedbackResponsesITBundle.json\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":43,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":44,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" persistDataBundle(testDataBundle);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" HibernateUtil.clearSession();"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":52,"author":{"gitId":"-"},"content":" public void testGetFeedbackResponseCommentForResponseFromParticipant() {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" FeedbackResponse fr \u003d testDataBundle.feedbackResponses.get(\"response1ForQ1\");"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" FeedbackResponseComment expectedComment \u003d testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":" FeedbackResponseComment actualComment \u003d frcDb.getFeedbackResponseCommentForResponseFromParticipant(fr.getId());"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" assertEquals(expectedComment, actualComment);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" private FeedbackResponseComment prepareSqlInjectionTest() {"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" FeedbackResponseComment frc \u003d testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1\");"},{"lineNumber":64,"author":{"gitId":"-"},"content":" assertNotNull(frcDb.getFeedbackResponseComment(frc.getId()));"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" return frc;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" private void checkSqlInjectionFailed(FeedbackResponseComment frc) {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" assertNotNull(frcDb.getFeedbackResponseComment(frc.getId()));"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":74,"author":{"gitId":"-"},"content":" public void testSqlInjectionInUpdateGiverEmailOfFeedbackResponseComments() {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" FeedbackResponseComment frc \u003d prepareSqlInjectionTest();"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" String sqli \u003d \"\u0027; DELETE FROM feedback_response_comments;--\";"},{"lineNumber":78,"author":{"gitId":"-"},"content":" frcDb.updateGiverEmailOfFeedbackResponseComments(sqli, \"\", \"\");"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" checkSqlInjectionFailed(frc);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":84,"author":{"gitId":"-"},"content":" public void testSqlInjectionInUpdateLastEditorEmailOfFeedbackResponseComments() {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" FeedbackResponseComment frc \u003d prepareSqlInjectionTest();"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" String sqli \u003d \"\u0027; DELETE FROM feedback_response_comments;--\";"},{"lineNumber":88,"author":{"gitId":"-"},"content":" frcDb.updateLastEditorEmailOfFeedbackResponseComments(sqli, \"\", \"\");"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" checkSqlInjectionFailed(frc);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":94,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateFeedbackResponseComment() throws Exception {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" FeedbackResponseComment frc \u003d prepareSqlInjectionTest();"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" FeedbackResponse fr \u003d testDataBundle.feedbackResponses.get(\"response1ForQ1\");"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" Section s \u003d testDataBundle.sections.get(\"section2InCourse1\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" String sqli \u003d \"\u0027\u0027);/**/DELETE/**/FROM/**/feedback_response_comments;--@gmail.com\";"},{"lineNumber":101,"author":{"gitId":"-"},"content":" FeedbackResponseComment newFrc \u003d new FeedbackResponseComment("},{"lineNumber":102,"author":{"gitId":"-"},"content":" fr, \"\", FeedbackParticipantType.INSTRUCTORS, s, s, \"\","},{"lineNumber":103,"author":{"gitId":"-"},"content":" false, false,"},{"lineNumber":104,"author":{"gitId":"-"},"content":" new ArrayList\u003c\u003e(), new ArrayList\u003c\u003e(), sqli);"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" frcDb.createFeedbackResponseComment(newFrc);"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" checkSqlInjectionFailed(frc);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":112,"author":{"gitId":"-"},"content":" public void testSqlInjectionInUpdateFeedbackResponseComment() throws Exception {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" FeedbackResponseComment frc \u003d prepareSqlInjectionTest();"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" String sqli \u003d \"\u0027\u0027);/**/DELETE/**/FROM/**/feedback_response_comments;--@gmail.com\";"},{"lineNumber":116,"author":{"gitId":"-"},"content":" frc.setLastEditorEmail(sqli);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" frcDb.updateFeedbackResponseComment(frc);"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" checkSqlInjectionFailed(frc);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":122,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":123,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForSession_matchFound_success() {"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":" Course course \u003d testDataBundle.courses.get(\"course1\");"},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":" ______TS(\"Session with comments\");"},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" FeedbackSession sessionWithComments \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e expected \u003d List.of("},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1\"),"},{"lineNumber":130,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment2ToResponse1ForQ1\"),"},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment2ToResponse2ForQ1\"),"},{"lineNumber":132,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ2s\"),"},{"lineNumber":133,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ3\"),"},{"lineNumber":134,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse4ForQ1\")"},{"lineNumber":135,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":136,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForSession("},{"lineNumber":137,"author":{"gitId":"xenosf"},"content":" course.getId(), sessionWithComments.getName());"},{"lineNumber":138,"author":{"gitId":"xenosf"},"content":" assertListCommentsEqual(expected, results);"},{"lineNumber":139,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":140,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":141,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":142,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForSession_matchNotFound_shouldReturnEmptyList() {"},{"lineNumber":143,"author":{"gitId":"xenosf"},"content":" Course course \u003d testDataBundle.courses.get(\"course1\");"},{"lineNumber":144,"author":{"gitId":"xenosf"},"content":" FeedbackSession session \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":145,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":146,"author":{"gitId":"xenosf"},"content":" ______TS(\"Course not found\");"},{"lineNumber":147,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForSession(\"not_exist\", session.getName());"},{"lineNumber":148,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":149,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":150,"author":{"gitId":"xenosf"},"content":" ______TS(\"Session not found\");"},{"lineNumber":151,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForSession(course.getId(), \"Nonexistent session\");"},{"lineNumber":152,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":153,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":154,"author":{"gitId":"xenosf"},"content":" ______TS(\"Session without comments\");"},{"lineNumber":155,"author":{"gitId":"xenosf"},"content":" FeedbackSession sessionWithoutComments \u003d testDataBundle.feedbackSessions.get(\"ongoingSession1InCourse1\");"},{"lineNumber":156,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForSession(course.getId(), sessionWithoutComments.getName());"},{"lineNumber":157,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":158,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":159,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":160,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":161,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForQuestion_matchFound_success() {"},{"lineNumber":162,"author":{"gitId":"xenosf"},"content":" ______TS(\"Question with comments\");"},{"lineNumber":163,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion questionWithComments \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":164,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e expectedComments \u003d List.of("},{"lineNumber":165,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1\"),"},{"lineNumber":166,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment2ToResponse1ForQ1\"),"},{"lineNumber":167,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment2ToResponse2ForQ1\"),"},{"lineNumber":168,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse4ForQ1\")"},{"lineNumber":169,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":170,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForQuestion(questionWithComments.getId());"},{"lineNumber":171,"author":{"gitId":"xenosf"},"content":" assertListCommentsEqual(expectedComments, results);"},{"lineNumber":172,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":173,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":174,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":175,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForQuestion_matchNotFound_shouldReturnEmptyList() {"},{"lineNumber":176,"author":{"gitId":"xenosf"},"content":" ______TS(\"Question not found\");"},{"lineNumber":177,"author":{"gitId":"xenosf"},"content":" UUID nonexistentQuestionId \u003d UUID.fromString(\"11110000-0000-0000-0000-000000000000\");"},{"lineNumber":178,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForQuestion(nonexistentQuestionId);"},{"lineNumber":179,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":180,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":181,"author":{"gitId":"xenosf"},"content":" ______TS(\"Question without comments\");"},{"lineNumber":182,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion questionWithoutComments \u003d testDataBundle.feedbackQuestions.get(\"qn5InSession1InCourse1\");"},{"lineNumber":183,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForQuestion(questionWithoutComments.getId());"},{"lineNumber":184,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":185,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":186,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":187,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForSessionInSection_matchFound_success()"},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" Section section1 \u003d testDataBundle.sections.get(\"section1InCourse1\");"},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" Section section2 \u003d testDataBundle.sections.get(\"section2InCourse1\");"},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":" Course course \u003d testDataBundle.courses.get(\"course1\");"},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":" FeedbackSession session1 \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" FeedbackSession session2 \u003d testDataBundle.feedbackSessions.get(\"session2InTypicalCourse\");"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":" ______TS(\"Section 1 Session 2 match\");"},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e expected \u003d List.of("},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1InSession2\")"},{"lineNumber":199,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForSessionInSection("},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":" course.getId(), session2.getName(), section1.getName());"},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" assertListCommentsEqual(expected, results);"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":204,"author":{"gitId":"xenosf"},"content":" ______TS(\"Section 2 Session 1 match\");"},{"lineNumber":205,"author":{"gitId":"xenosf"},"content":" expected \u003d List.of("},{"lineNumber":206,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse4ForQ1\")"},{"lineNumber":207,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":208,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForSessionInSection("},{"lineNumber":209,"author":{"gitId":"xenosf"},"content":" course.getId(), session1.getName(), section2.getName());"},{"lineNumber":210,"author":{"gitId":"xenosf"},"content":" assertListCommentsEqual(expected, results);"},{"lineNumber":211,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":212,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForSessionInSection_matchNotFound_shouldReturnEmptyList() {"},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" Course course \u003d testDataBundle.courses.get(\"course1\");"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" FeedbackSession session1 \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":" FeedbackSession session2 \u003d testDataBundle.feedbackSessions.get(\"session2InTypicalCourse\");"},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":" Section section1 \u003d testDataBundle.sections.get(\"section1InCourse1\");"},{"lineNumber":219,"author":{"gitId":"xenosf"},"content":" Section section2 \u003d testDataBundle.sections.get(\"section2InCourse1\");"},{"lineNumber":220,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":221,"author":{"gitId":"xenosf"},"content":" ______TS(\"Course not found\");"},{"lineNumber":222,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForSessionInSection("},{"lineNumber":223,"author":{"gitId":"xenosf"},"content":" \"not_exist\", session1.getName(), section1.getName());"},{"lineNumber":224,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":225,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":226,"author":{"gitId":"xenosf"},"content":" ______TS(\"Session not found\");"},{"lineNumber":227,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForSessionInSection("},{"lineNumber":228,"author":{"gitId":"xenosf"},"content":" course.getId(), \"Nonexistent session\", section1.getName());"},{"lineNumber":229,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":230,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":231,"author":{"gitId":"xenosf"},"content":" ______TS(\"Section not found\");"},{"lineNumber":232,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForSessionInSection("},{"lineNumber":233,"author":{"gitId":"xenosf"},"content":" course.getId(), session1.getName(), \"Nonexistent section\");"},{"lineNumber":234,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":235,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":236,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching comments exist\");"},{"lineNumber":237,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForSessionInSection("},{"lineNumber":238,"author":{"gitId":"xenosf"},"content":" course.getId(), session2.getName(), section2.getName());"},{"lineNumber":239,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":240,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":241,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":242,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":243,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForQuestionInSection_matchFound_success() {"},{"lineNumber":244,"author":{"gitId":"xenosf"},"content":" Section section1 \u003d testDataBundle.sections.get(\"section1InCourse1\");"},{"lineNumber":245,"author":{"gitId":"xenosf"},"content":" Section section2 \u003d testDataBundle.sections.get(\"section2InCourse1\");"},{"lineNumber":246,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question1 \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":247,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question2 \u003d testDataBundle.feedbackQuestions.get(\"qn2InSession1InCourse1\");"},{"lineNumber":248,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":249,"author":{"gitId":"xenosf"},"content":" ______TS(\"Section 1 Question 1 match\");"},{"lineNumber":250,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e expected \u003d List.of("},{"lineNumber":251,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1\"),"},{"lineNumber":252,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment2ToResponse1ForQ1\"),"},{"lineNumber":253,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment2ToResponse2ForQ1\"),"},{"lineNumber":254,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse4ForQ1\")"},{"lineNumber":255,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":256,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForQuestionInSection("},{"lineNumber":257,"author":{"gitId":"xenosf"},"content":" question1.getId(), section1.getName());"},{"lineNumber":258,"author":{"gitId":"xenosf"},"content":" assertListCommentsEqual(expected, results);"},{"lineNumber":259,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":260,"author":{"gitId":"xenosf"},"content":" ______TS(\"Section 2 Question 1 match\");"},{"lineNumber":261,"author":{"gitId":"xenosf"},"content":" expected \u003d List.of("},{"lineNumber":262,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse4ForQ1\")"},{"lineNumber":263,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":264,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForQuestionInSection("},{"lineNumber":265,"author":{"gitId":"xenosf"},"content":" question1.getId(), section2.getName());"},{"lineNumber":266,"author":{"gitId":"xenosf"},"content":" assertListCommentsEqual(expected, results);"},{"lineNumber":267,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":268,"author":{"gitId":"xenosf"},"content":" ______TS(\"Section 1 Question 2 match\");"},{"lineNumber":269,"author":{"gitId":"xenosf"},"content":" expected \u003d List.of("},{"lineNumber":270,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ2s\")"},{"lineNumber":271,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":272,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForQuestionInSection("},{"lineNumber":273,"author":{"gitId":"xenosf"},"content":" question2.getId(), section1.getName());"},{"lineNumber":274,"author":{"gitId":"xenosf"},"content":" assertListCommentsEqual(expected, results);"},{"lineNumber":275,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":276,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":277,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":278,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponseCommentsForQuestionInSection_matchNotFound_shouldReturnEmptyList() {"},{"lineNumber":279,"author":{"gitId":"xenosf"},"content":" Section section \u003d testDataBundle.sections.get(\"section1InCourse1\");"},{"lineNumber":280,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question1 \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":281,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question2 \u003d testDataBundle.feedbackQuestions.get(\"qn4InSession1InCourse1\");"},{"lineNumber":282,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":283,"author":{"gitId":"xenosf"},"content":" ______TS(\"Question not found\");"},{"lineNumber":284,"author":{"gitId":"xenosf"},"content":" UUID nonexistentQuestionId \u003d UUID.fromString(\"11110000-0000-0000-0000-000000000000\");"},{"lineNumber":285,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e results \u003d frcDb.getFeedbackResponseCommentsForQuestionInSection("},{"lineNumber":286,"author":{"gitId":"xenosf"},"content":" nonexistentQuestionId, section.getName());"},{"lineNumber":287,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":288,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":289,"author":{"gitId":"xenosf"},"content":" ______TS(\"Section not found\");"},{"lineNumber":290,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForQuestionInSection(question1.getId(), \"Nonexistent section\");"},{"lineNumber":291,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":292,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":293,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching comments exist\");"},{"lineNumber":294,"author":{"gitId":"xenosf"},"content":" results \u003d frcDb.getFeedbackResponseCommentsForQuestionInSection(question2.getId(), section.getName());"},{"lineNumber":295,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":296,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":297,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":298,"author":{"gitId":"xenosf"},"content":" private void assertListCommentsEqual(List\u003cFeedbackResponseComment\u003e expected, List\u003cFeedbackResponseComment\u003e actual) {"},{"lineNumber":299,"author":{"gitId":"xenosf"},"content":" assertTrue("},{"lineNumber":300,"author":{"gitId":"xenosf"},"content":" String.format(\"List contents are not equal.%nExpected: %s,%nActual: %s\","},{"lineNumber":301,"author":{"gitId":"xenosf"},"content":" expected.toString(), actual.toString()),"},{"lineNumber":302,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(expected).equals(new HashSet\u003c\u003e(actual)));"},{"lineNumber":303,"author":{"gitId":"xenosf"},"content":" assertEquals(\"List size not equal.\", expected.size(), actual.size());"},{"lineNumber":304,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":305,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":202,"-":104}},{"path":"src/it/java/teammates/it/storage/sqlapi/FeedbackResponsesDbIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import java.util.HashSet;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import java.util.UUID;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.FeedbackResultFetchType;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackResponseDetails;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackTextResponseDetails;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackResponseCommentsDb;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackResponsesDb;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackTextResponse;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * SUT: {@link FeedbackResponsesDb}."},{"lineNumber":29,"author":{"gitId":"-"},"content":" */"},{"lineNumber":30,"author":{"gitId":"-"},"content":"public class FeedbackResponsesDbIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private final FeedbackResponsesDb frDb \u003d FeedbackResponsesDb.inst();"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private final FeedbackResponseCommentsDb frcDb \u003d FeedbackResponseCommentsDb.inst();"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" private SqlDataBundle testDataBundle;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":39,"author":{"gitId":"-"},"content":" public void setupClass() {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" super.setupClass();"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" testDataBundle \u003d loadSqlDataBundle(\"/FeedbackResponsesITBundle.json\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":45,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":46,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" persistDataBundle(testDataBundle);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":50,"author":{"gitId":"-"},"content":" HibernateUtil.clearSession();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":54,"author":{"gitId":"-"},"content":" public void testGetFeedbackResponsesFromGiverForQuestion() {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e expectedQuestions \u003d List.of("},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ1\"),"},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ1\")"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e actualQuestions \u003d"},{"lineNumber":64,"author":{"gitId":"-"},"content":" frDb.getFeedbackResponsesFromGiverForQuestion(fq.getId(), \"student1@teammates.tmt\");"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestions.size(), actualQuestions.size());"},{"lineNumber":67,"author":{"gitId":"-"},"content":" assertTrue(expectedQuestions.containsAll(actualQuestions));"},{"lineNumber":68,"author":{"gitId":"-"},"content":" }"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":71,"author":{"gitId":"-"},"content":" public void testDeleteFeedbackResponsesForQuestionCascade() {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" FeedbackResponse fr1 \u003d testDataBundle.feedbackResponses.get(\"response1ForQ1\");"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" FeedbackResponse fr2 \u003d testDataBundle.feedbackResponses.get(\"response2ForQ1\");"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" FeedbackResponseComment frc1 \u003d testDataBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1\");"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" frDb.deleteFeedbackResponsesForQuestionCascade(fq.getId());"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" assertNull(frDb.getFeedbackResponse(fr1.getId()));"},{"lineNumber":81,"author":{"gitId":"-"},"content":" assertNull(frDb.getFeedbackResponse(fr2.getId()));"},{"lineNumber":82,"author":{"gitId":"-"},"content":" assertNull(frcDb.getFeedbackResponseComment(frc1.getId()));"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":86,"author":{"gitId":"-"},"content":" public void testDeleteFeedback() {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" FeedbackResponse fr1 \u003d testDataBundle.feedbackResponses.get(\"response1ForQ1\");"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" frDb.deleteFeedbackResponse(fr1);"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" assertNull(frDb.getFeedbackResponse(fr1.getId()));"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":96,"author":{"gitId":"-"},"content":" public void testHasResponsesFromGiverInSession() {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" Course course \u003d testDataBundle.courses.get(\"course1\");"},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" FeedbackSession fs \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" boolean actualHasReponses1 \u003d"},{"lineNumber":102,"author":{"gitId":"-"},"content":" frDb.hasResponsesFromGiverInSession(\"student1@teammates.tmt\", fs.getName(), course.getId());"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" assertTrue(actualHasReponses1);"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" ______TS(\"student with no responses\");"},{"lineNumber":107,"author":{"gitId":"-"},"content":" boolean actualHasReponses2 \u003d"},{"lineNumber":108,"author":{"gitId":"-"},"content":" frDb.hasResponsesFromGiverInSession(\"studentnorespones@teammates.tmt\", fs.getName(), course.getId());"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" assertFalse(actualHasReponses2);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":114,"author":{"gitId":"-"},"content":" public void testAreThereResponsesForQuestion() {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq1 \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" boolean actualResponse1 \u003d"},{"lineNumber":119,"author":{"gitId":"-"},"content":" frDb.areThereResponsesForQuestion(fq1.getId());"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" assertTrue(actualResponse1);"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" ______TS(\"feedback question with no responses\");"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq2 \u003d testDataBundle.feedbackQuestions.get(\"qn6InSession1InCourse1NoResponses\");"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" boolean actualResponse2 \u003d"},{"lineNumber":127,"author":{"gitId":"-"},"content":" frDb.areThereResponsesForQuestion(fq2.getId());"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" assertFalse(actualResponse2);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":133,"author":{"gitId":"-"},"content":" public void testHasResponsesForCourse() {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" ______TS(\"success: typical case\");"},{"lineNumber":135,"author":{"gitId":"xenosf"},"content":" Course course \u003d testDataBundle.courses.get(\"course1\");"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" boolean actual \u003d"},{"lineNumber":138,"author":{"gitId":"-"},"content":" frDb.hasResponsesForCourse(course.getId());"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" assertTrue(actual);"},{"lineNumber":141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" private FeedbackResponse prepareSqlInjectionTest() {"},{"lineNumber":144,"author":{"gitId":"xenosf"},"content":" FeedbackResponse fr \u003d testDataBundle.feedbackResponses.get(\"response1ForQ1\");"},{"lineNumber":145,"author":{"gitId":"-"},"content":" assertNotNull(frDb.getFeedbackResponse(fr.getId()));"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" return fr;"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" private void checkSqliFailed(FeedbackResponse fr) {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" // If SQLi is successful, feedback responses would have been deleted from db."},{"lineNumber":152,"author":{"gitId":"-"},"content":" // So get will return null."},{"lineNumber":153,"author":{"gitId":"-"},"content":" assertNotNull(frDb.getFeedbackResponse(fr.getId()));"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":157,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetFeedbackResponsesFromGiverForCourse() {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d prepareSqlInjectionTest();"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in GetFeedbackResponsesFromGiverForCourse, courseId param\");"},{"lineNumber":161,"author":{"gitId":"-"},"content":" String courseId \u003d \"\u0027; DELETE FROM feedback_responses;--\";"},{"lineNumber":162,"author":{"gitId":"-"},"content":" frDb.getFeedbackResponsesFromGiverForCourse(courseId, \"\");"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" checkSqliFailed(fr);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":168,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetFeedbackResponsesForRecipientForCourse() {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d prepareSqlInjectionTest();"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in GetFeedbackResponsesForRecipientForCourse, courseId param\");"},{"lineNumber":172,"author":{"gitId":"-"},"content":" String courseId \u003d \"\u0027; DELETE FROM feedback_responses;--\";"},{"lineNumber":173,"author":{"gitId":"-"},"content":" frDb.getFeedbackResponsesForRecipientForCourse(courseId, \"\");"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" checkSqliFailed(fr);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":179,"author":{"gitId":"-"},"content":" public void testSqlInjectionInGetFeedbackResponsesFromGiverForQuestion() {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d prepareSqlInjectionTest();"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in GetFeedbackResponsesFromGiverForQuestion, giverEmail param\");"},{"lineNumber":183,"author":{"gitId":"-"},"content":" String giverEmail \u003d \"\u0027;/**/DELETE/**/FROM/**/feedback_responses;--@gmail.com\";"},{"lineNumber":184,"author":{"gitId":"-"},"content":" frDb.getFeedbackResponsesFromGiverForQuestion(fr.getId(), giverEmail);"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" checkSqliFailed(fr);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":190,"author":{"gitId":"-"},"content":" public void testSqlInjectionInHasResponsesFromGiverInSession() {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d prepareSqlInjectionTest();"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in HasResponsesFromGiverInSession, giver param\");"},{"lineNumber":194,"author":{"gitId":"-"},"content":" String giver \u003d \"\u0027; DELETE FROM feedback_responses;--\";"},{"lineNumber":195,"author":{"gitId":"-"},"content":" frDb.hasResponsesFromGiverInSession(giver, \"\", \"\");"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" checkSqliFailed(fr);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":201,"author":{"gitId":"-"},"content":" public void testSqlInjectionInHasResponsesForCourse() {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d prepareSqlInjectionTest();"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":" ______TS(\"SQL Injection test in HasResponsesForCourse, courseId param\");"},{"lineNumber":205,"author":{"gitId":"-"},"content":" String courseId \u003d \"\u0027; DELETE FROM feedback_responses;--\";"},{"lineNumber":206,"author":{"gitId":"-"},"content":" frDb.hasResponsesForCourse(courseId);"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" checkSqliFailed(fr);"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":212,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCreateFeedbackResponse() throws Exception {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d prepareSqlInjectionTest();"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" Section s \u003d testDataBundle.sections.get(\"section1InCourse1\");"},{"lineNumber":217,"author":{"gitId":"-"},"content":" String dummyUuid \u003d \"00000000-0000-4000-8000-000000000001\";"},{"lineNumber":218,"author":{"gitId":"-"},"content":" FeedbackResponseDetails frd \u003d new FeedbackTextResponseDetails();"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" String sqli \u003d \"\u0027, \" + dummyUuid + \", \" + dummyUuid + \"); DELETE FROM feedback_responses;--\";"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" FeedbackResponse newFr \u003d new FeedbackTextResponse(fq, \"\", s, sqli, s, frd);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" frDb.createFeedbackResponse(newFr);"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" checkSqliFailed(fr);"},{"lineNumber":226,"author":{"gitId":"-"},"content":" }"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":229,"author":{"gitId":"-"},"content":" public void testSqlInjectionInCpdateFeedbackResponse() throws Exception {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d prepareSqlInjectionTest();"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" String sqli \u003d \"\u0027\u0027); DELETE FROM feedback_response_comments;--\";"},{"lineNumber":233,"author":{"gitId":"-"},"content":" fr.setGiver(sqli);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" frDb.updateFeedbackResponse(fr);"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" checkSqliFailed(fr);"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":239,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":240,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponsesForRecipientForQuestion_matchNotFound_shouldReturnEmptyList() {"},{"lineNumber":241,"author":{"gitId":"xenosf"},"content":" ______TS(\"Question not found\");"},{"lineNumber":242,"author":{"gitId":"xenosf"},"content":" String recipient \u003d \"student1@teammates.tmt\";"},{"lineNumber":243,"author":{"gitId":"xenosf"},"content":" UUID nonexistentQuestionId \u003d UUID.fromString(\"11110000-0000-0000-0000-000000000000\");"},{"lineNumber":244,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e results \u003d frDb.getFeedbackResponsesForRecipientForQuestion(nonexistentQuestionId, recipient);"},{"lineNumber":245,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":246,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":247,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching responses exist\");"},{"lineNumber":248,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion questionWithNoResponses \u003d testDataBundle.feedbackQuestions.get(\"qn4InSession1InCourse1\");"},{"lineNumber":249,"author":{"gitId":"xenosf"},"content":" results \u003d frDb.getFeedbackResponsesForRecipientForQuestion(questionWithNoResponses.getId(), recipient);"},{"lineNumber":250,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":251,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":252,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":253,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":254,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":255,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponsesForRecipientForQuestion_matchFound_success() {"},{"lineNumber":256,"author":{"gitId":"xenosf"},"content":" ______TS(\"Matching responses exist\");"},{"lineNumber":257,"author":{"gitId":"xenosf"},"content":" String recipient \u003d \"student2@teammates.tmt\";"},{"lineNumber":258,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":259,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e expected \u003d List.of("},{"lineNumber":260,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response2ForQ1\")"},{"lineNumber":261,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":262,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e actual \u003d frDb.getFeedbackResponsesForRecipientForQuestion(question.getId(), recipient);"},{"lineNumber":263,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":264,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":265,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":266,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":267,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":268,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponsesForSessionInSection_matchNotFound_shouldReturnEmptyList() {"},{"lineNumber":269,"author":{"gitId":"xenosf"},"content":" String section3 \u003d testDataBundle.sections.get(\"section3InCourse1\").getName();"},{"lineNumber":270,"author":{"gitId":"xenosf"},"content":" FeedbackSession session \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":271,"author":{"gitId":"xenosf"},"content":" String courseId \u003d session.getCourse().getId();"},{"lineNumber":272,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":273,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching responses exist for giver section\");"},{"lineNumber":274,"author":{"gitId":"xenosf"},"content":" FeedbackResultFetchType fetchType \u003d FeedbackResultFetchType.GIVER;"},{"lineNumber":275,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e results \u003d frDb.getFeedbackResponsesForSessionInSection("},{"lineNumber":276,"author":{"gitId":"xenosf"},"content":" session, courseId, section3, fetchType);"},{"lineNumber":277,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":278,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":279,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching responses exist for recipient section\");"},{"lineNumber":280,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.RECEIVER;"},{"lineNumber":281,"author":{"gitId":"xenosf"},"content":" results \u003d frDb.getFeedbackResponsesForSessionInSection(session, courseId, section3, fetchType);"},{"lineNumber":282,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":283,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":284,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching responses exist for both giver and recipient section\");"},{"lineNumber":285,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.BOTH;"},{"lineNumber":286,"author":{"gitId":"xenosf"},"content":" results \u003d frDb.getFeedbackResponsesForSessionInSection(session, courseId, section3, fetchType);"},{"lineNumber":287,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":288,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":289,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":290,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":291,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponsesForSessionInSection_matchFound_success() {"},{"lineNumber":292,"author":{"gitId":"xenosf"},"content":" Course course \u003d testDataBundle.courses.get(\"course1\");"},{"lineNumber":293,"author":{"gitId":"xenosf"},"content":" FeedbackSession session1 \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":294,"author":{"gitId":"xenosf"},"content":" Section section1 \u003d testDataBundle.sections.get(\"section1InCourse1\");"},{"lineNumber":295,"author":{"gitId":"xenosf"},"content":" Section section2 \u003d testDataBundle.sections.get(\"section2InCourse1\");"},{"lineNumber":296,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":297,"author":{"gitId":"xenosf"},"content":" ______TS(\"Match giver section 1 in session 1\");"},{"lineNumber":298,"author":{"gitId":"xenosf"},"content":" FeedbackResultFetchType fetchType \u003d FeedbackResultFetchType.GIVER;"},{"lineNumber":299,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e expected \u003d List.of("},{"lineNumber":300,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ1\"),"},{"lineNumber":301,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response2ForQ1\"),"},{"lineNumber":302,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ2\"),"},{"lineNumber":303,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response2ForQ2\"),"},{"lineNumber":304,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ3\"),"},{"lineNumber":305,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ1\"),"},{"lineNumber":306,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ2\")"},{"lineNumber":307,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":308,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e actual \u003d frDb.getFeedbackResponsesForSessionInSection("},{"lineNumber":309,"author":{"gitId":"xenosf"},"content":" session1, course.getId(), section1.getName(), fetchType);"},{"lineNumber":310,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":311,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":312,"author":{"gitId":"xenosf"},"content":" ______TS(\"Match recipient section 2 in session 1\");"},{"lineNumber":313,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.RECEIVER;"},{"lineNumber":314,"author":{"gitId":"xenosf"},"content":" expected \u003d List.of("},{"lineNumber":315,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ1\"),"},{"lineNumber":316,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ2\"),"},{"lineNumber":317,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response4ForQ1\")"},{"lineNumber":318,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":319,"author":{"gitId":"xenosf"},"content":" actual \u003d frDb.getFeedbackResponsesForSessionInSection(session1, course.getId(),"},{"lineNumber":320,"author":{"gitId":"xenosf"},"content":" section2.getName(), fetchType);"},{"lineNumber":321,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":322,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":323,"author":{"gitId":"xenosf"},"content":" ______TS(\"Match both giver and recipient section 2 in session 1\");"},{"lineNumber":324,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.BOTH;"},{"lineNumber":325,"author":{"gitId":"xenosf"},"content":" expected \u003d List.of("},{"lineNumber":326,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response4ForQ1\")"},{"lineNumber":327,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":328,"author":{"gitId":"xenosf"},"content":" actual \u003d frDb.getFeedbackResponsesForSessionInSection(session1, course.getId(),"},{"lineNumber":329,"author":{"gitId":"xenosf"},"content":" section2.getName(), fetchType);"},{"lineNumber":330,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":331,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":332,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":333,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":334,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponsesForQuestionInSection_matchNotFound_shouldReturnEmptyList() {"},{"lineNumber":335,"author":{"gitId":"xenosf"},"content":" String section1 \u003d testDataBundle.sections.get(\"section1InCourse1\").getName();"},{"lineNumber":336,"author":{"gitId":"xenosf"},"content":" String section3 \u003d testDataBundle.sections.get(\"section3InCourse1\").getName();"},{"lineNumber":337,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":338,"author":{"gitId":"xenosf"},"content":" ______TS(\"Question not found\");"},{"lineNumber":339,"author":{"gitId":"xenosf"},"content":" UUID nonexistentQuestionId \u003d UUID.fromString(\"11110000-0000-0000-0000-000000000000\");"},{"lineNumber":340,"author":{"gitId":"xenosf"},"content":" FeedbackResultFetchType fetchType \u003d FeedbackResultFetchType.BOTH;"},{"lineNumber":341,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e results \u003d frDb.getFeedbackResponsesForQuestionInSection(nonexistentQuestionId,"},{"lineNumber":342,"author":{"gitId":"xenosf"},"content":" section1, fetchType);"},{"lineNumber":343,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":344,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":345,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching responses exist for giver section\");"},{"lineNumber":346,"author":{"gitId":"xenosf"},"content":" UUID questionId \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\").getId();"},{"lineNumber":347,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.GIVER;"},{"lineNumber":348,"author":{"gitId":"xenosf"},"content":" results \u003d frDb.getFeedbackResponsesForQuestionInSection(questionId, section3, fetchType);"},{"lineNumber":349,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":350,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":351,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching responses exist for recipient section\");"},{"lineNumber":352,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.RECEIVER;"},{"lineNumber":353,"author":{"gitId":"xenosf"},"content":" results \u003d frDb.getFeedbackResponsesForQuestionInSection(questionId, section3, fetchType);"},{"lineNumber":354,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":355,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":356,"author":{"gitId":"xenosf"},"content":" ______TS(\"No matching responses exist for both giver and recipient section\");"},{"lineNumber":357,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.BOTH;"},{"lineNumber":358,"author":{"gitId":"xenosf"},"content":" results \u003d frDb.getFeedbackResponsesForQuestionInSection(questionId, section3, fetchType);"},{"lineNumber":359,"author":{"gitId":"xenosf"},"content":" assertEquals(0, results.size());"},{"lineNumber":360,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":361,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":362,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":363,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponsesForQuestionInSection_matchFound_success() {"},{"lineNumber":364,"author":{"gitId":"xenosf"},"content":" Section section1 \u003d testDataBundle.sections.get(\"section1InCourse1\");"},{"lineNumber":365,"author":{"gitId":"xenosf"},"content":" Section section2 \u003d testDataBundle.sections.get(\"section2InCourse1\");"},{"lineNumber":366,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question1 \u003d testDataBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":367,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":368,"author":{"gitId":"xenosf"},"content":" ______TS(\"Match giver section 1 for Q1\");"},{"lineNumber":369,"author":{"gitId":"xenosf"},"content":" FeedbackResultFetchType fetchType \u003d FeedbackResultFetchType.GIVER;"},{"lineNumber":370,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e expected \u003d List.of("},{"lineNumber":371,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ1\"),"},{"lineNumber":372,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response2ForQ1\"),"},{"lineNumber":373,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ1\")"},{"lineNumber":374,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":375,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e actual \u003d frDb.getFeedbackResponsesForQuestionInSection(question1.getId(),"},{"lineNumber":376,"author":{"gitId":"xenosf"},"content":" section1.getName(), fetchType);"},{"lineNumber":377,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":378,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":379,"author":{"gitId":"xenosf"},"content":" ______TS(\"Match recipient section 2 for Q1\");"},{"lineNumber":380,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.RECEIVER;"},{"lineNumber":381,"author":{"gitId":"xenosf"},"content":" expected \u003d List.of("},{"lineNumber":382,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ1\"),"},{"lineNumber":383,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response4ForQ1\")"},{"lineNumber":384,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":385,"author":{"gitId":"xenosf"},"content":" actual \u003d frDb.getFeedbackResponsesForQuestionInSection(question1.getId(), section2.getName(), fetchType);"},{"lineNumber":386,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":387,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":388,"author":{"gitId":"xenosf"},"content":" ______TS(\"Match both giver and recipient section 2 for Q1\");"},{"lineNumber":389,"author":{"gitId":"xenosf"},"content":" fetchType \u003d FeedbackResultFetchType.BOTH;"},{"lineNumber":390,"author":{"gitId":"xenosf"},"content":" expected \u003d List.of("},{"lineNumber":391,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response4ForQ1\")"},{"lineNumber":392,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":393,"author":{"gitId":"xenosf"},"content":" actual \u003d frDb.getFeedbackResponsesForQuestionInSection(question1.getId(), section2.getName(), fetchType);"},{"lineNumber":394,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":395,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":396,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":397,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":398,"author":{"gitId":"xenosf"},"content":" public void testGetFeedbackResponsesForSession() {"},{"lineNumber":399,"author":{"gitId":"xenosf"},"content":" ______TS(\"Session has responses\");"},{"lineNumber":400,"author":{"gitId":"xenosf"},"content":" FeedbackSession sessionWithResponses \u003d testDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":401,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e expected \u003d List.of("},{"lineNumber":402,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ1\"),"},{"lineNumber":403,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response2ForQ1\"),"},{"lineNumber":404,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ2\"),"},{"lineNumber":405,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response2ForQ2\"),"},{"lineNumber":406,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response1ForQ3\"),"},{"lineNumber":407,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ1\"),"},{"lineNumber":408,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response3ForQ2\"),"},{"lineNumber":409,"author":{"gitId":"xenosf"},"content":" testDataBundle.feedbackResponses.get(\"response4ForQ1\")"},{"lineNumber":410,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":411,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e actual \u003d frDb.getFeedbackResponsesForSession(sessionWithResponses,"},{"lineNumber":412,"author":{"gitId":"xenosf"},"content":" sessionWithResponses.getCourse().getId());"},{"lineNumber":413,"author":{"gitId":"xenosf"},"content":" assertListResponsesEqual(expected, actual);"},{"lineNumber":414,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":415,"author":{"gitId":"xenosf"},"content":" ______TS(\"Session has no responses\");"},{"lineNumber":416,"author":{"gitId":"xenosf"},"content":" FeedbackSession sessionWithoutResponses \u003d testDataBundle.feedbackSessions.get("},{"lineNumber":417,"author":{"gitId":"xenosf"},"content":" \"unpublishedSession1InTypicalCourse\");"},{"lineNumber":418,"author":{"gitId":"xenosf"},"content":" actual \u003d frDb.getFeedbackResponsesForSession(sessionWithoutResponses, sessionWithResponses.getCourse().getId());"},{"lineNumber":419,"author":{"gitId":"xenosf"},"content":" assertEquals(0, actual.size());"},{"lineNumber":420,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":421,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":422,"author":{"gitId":"xenosf"},"content":" private void assertListResponsesEqual(List\u003cFeedbackResponse\u003e expected, List\u003cFeedbackResponse\u003e actual) {"},{"lineNumber":423,"author":{"gitId":"xenosf"},"content":" assertEquals(\"List size not equal.\", expected.size(), actual.size());"},{"lineNumber":424,"author":{"gitId":"xenosf"},"content":" assertTrue("},{"lineNumber":425,"author":{"gitId":"xenosf"},"content":" String.format(\"List contents are not equal.%nExpected: %s,%nActual: %s\","},{"lineNumber":426,"author":{"gitId":"xenosf"},"content":" expected.toString(), actual.toString()),"},{"lineNumber":427,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(expected).equals(new HashSet\u003c\u003e(actual)));"},{"lineNumber":428,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":429,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":215,"-":214}},{"path":"src/it/java/teammates/it/storage/sqlapi/FeedbackSessionLogsDbIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.it.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlapi.FeedbackSessionLogsDb;"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":" * SUT: {@link FeedbackSessionLogsDb}."},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":"public class FeedbackSessionLogsDbIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" private final FeedbackSessionLogsDb fslDb \u003d FeedbackSessionLogsDb.inst();"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" private SqlDataBundle typicalDataBundle;"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" @BeforeClass"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" public void setupClass() {"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" super.setupClass();"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" typicalDataBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" @BeforeMethod"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" protected void setUp() throws Exception {"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" super.setUp();"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" persistDataBundle(typicalDataBundle);"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" HibernateUtil.flushSession();"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" public void test_createFeedbackSessionLog_success() {"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" Course course \u003d typicalDataBundle.courses.get(\"course1\");"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d typicalDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" Student student \u003d typicalDataBundle.students.get(\"student1InCourse1\");"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" Instant logTimestamp \u003d Instant.parse(\"2011-01-01T00:00:00Z\");"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog expected \u003d new FeedbackSessionLog(student, feedbackSession, FeedbackSessionLogType.ACCESS,"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" logTimestamp);"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" fslDb.createFeedbackSessionLog(expected);"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e actualLogs \u003d fslDb.getOrderedFeedbackSessionLogs(course.getId(), student.getId(),"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" feedbackSession.getId(), logTimestamp, logTimestamp.plusSeconds(1));"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" assertEquals(actualLogs.size(), 1);"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" assertEquals(expected, actualLogs.get(0));"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" public void test_getOrderedFeedbackSessionLogs_success() {"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" Instant startTime \u003d Instant.parse(\"2012-01-01T12:00:00Z\");"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" Instant endTime \u003d Instant.parse(\"2012-01-01T23:59:59Z\");"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" Course course \u003d typicalDataBundle.courses.get(\"course1\");"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" Student student1 \u003d typicalDataBundle.students.get(\"student1InCourse1\");"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" FeedbackSession fs1 \u003d typicalDataBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student1Session1Log1 \u003d typicalDataBundle.feedbackSessionLogs.get(\"student1Session1Log1\");"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student1Session2Log1 \u003d typicalDataBundle.feedbackSessionLogs.get(\"student1Session2Log1\");"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student1Session2Log2 \u003d typicalDataBundle.feedbackSessionLogs.get(\"student1Session2Log2\");"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student2Session1Log1 \u003d typicalDataBundle.feedbackSessionLogs.get(\"student2Session1Log1\");"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student2Session1Log2 \u003d typicalDataBundle.feedbackSessionLogs.get(\"student2Session1Log2\");"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Return logs belonging to a course in time range\");"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e expectedLogs \u003d List.of("},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" student1Session1Log1,"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":" student1Session2Log1,"},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" student1Session2Log2,"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" student2Session1Log1,"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" student2Session1Log2"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" );"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e actualLogs \u003d fslDb.getOrderedFeedbackSessionLogs(course.getId(), null, null,"},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" startTime, endTime);"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedLogs, actualLogs);"},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Return logs belonging to a student in time range\");"},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":" expectedLogs \u003d List.of("},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" student1Session1Log1,"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" student1Session2Log1,"},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" student1Session2Log2);"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" actualLogs \u003d fslDb.getOrderedFeedbackSessionLogs(course.getId(), student1.getId(), null, startTime, endTime);"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedLogs, actualLogs);"},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Return logs belonging to a feedback session in time range\");"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":" expectedLogs \u003d List.of("},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" student1Session1Log1,"},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":" student2Session1Log1,"},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" student2Session1Log2);"},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" actualLogs \u003d fslDb.getOrderedFeedbackSessionLogs(course.getId(), null, fs1.getId(), startTime, endTime);"},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedLogs, actualLogs);"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Return logs belonging to a student in a feedback session in time range\");"},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":" expectedLogs \u003d List.of(student1Session1Log1);"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" actualLogs \u003d fslDb.getOrderedFeedbackSessionLogs(course.getId(), student1.getId(), fs1.getId(), startTime,"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":" endTime);"},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedLogs, actualLogs);"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" ______TS(\"No logs in time range, return empty list\");"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":" expectedLogs \u003d new ArrayList\u003c\u003e();"},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" actualLogs \u003d fslDb.getOrderedFeedbackSessionLogs(course.getId(), null, null, endTime.plusSeconds(3600),"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" endTime.plusSeconds(7200));"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedLogs, actualLogs);"},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":128}},{"path":"src/it/java/teammates/it/storage/sqlsearch/AccountRequestSearchIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.it.storage.sqlsearch;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.Arrays;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.Test;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlapi.AccountRequestsDb;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"import teammates.test.AssertHelper;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.test.TestProperties;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" * SUT: {@link AccountRequestsDb},"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" * {@link teammates.storage.search.AccountRequestSearchDocument}."},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":"public class AccountRequestSearchIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" private final SqlDataBundle typicalBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" private final AccountRequestsDb accountRequestsDb \u003d AccountRequestsDb.inst();"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" @BeforeMethod"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" protected void setUp() throws Exception {"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" super.setUp();"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" putDocuments(typicalBundle);"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.flushSession();"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" public void allTests() throws Exception {"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins1General \u003d typicalBundle.accountRequests.get(\"instructor1\");"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins2General \u003d typicalBundle.accountRequests.get(\"instructor2\");"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins1InCourse1 \u003d typicalBundle.accountRequests.get(\"instructor1OfCourse1\");"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins2InCourse1 \u003d typicalBundle.accountRequests.get(\"instructor2OfCourse1\");"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins1InCourse2 \u003d typicalBundle.accountRequests.get(\"instructor1OfCourse2\");"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins2InCourse2 \u003d typicalBundle.accountRequests.get(\"instructor2OfCourse2\");"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins1InCourse3 \u003d typicalBundle.accountRequests.get(\"instructor1OfCourse3\");"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins2InCourse3 \u003d typicalBundle.accountRequests.get(\"instructor2OfCourse3\");"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" AccountRequest insInUnregCourse \u003d typicalBundle.accountRequests.get(\"instructor3\");"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" AccountRequest unregisteredInstructor1 \u003d"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" typicalBundle.accountRequests.get(\"unregisteredInstructor1\");"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" AccountRequest unregisteredInstructor2 \u003d"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" typicalBundle.accountRequests.get(\"unregisteredInstructor2\");"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; query string does not match anyone\");"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" List\u003cAccountRequest\u003e results \u003d"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" accountRequestsDb.searchAccountRequestsInWholeSystem(\"non-existent\");"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results);"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; empty query string does not match anyone\");"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\");"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results);"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; query string matches some account requests\");"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"Instructor 1\\\"\");"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins1InCourse1, ins1InCourse2, ins1InCourse3, unregisteredInstructor1, ins1General);"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; query string should be case-insensitive\");"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"InStRuCtOr 2\\\"\");"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins2InCourse1, ins2InCourse2, ins2InCourse3, unregisteredInstructor2, ins2General);"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; account requests should be searchable by their name\");"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"Instructor 3 of CourseNoRegister\\\"\");"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, insInUnregCourse);"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; account requests should be searchable by their email\");"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"instr2@course2.tmt\");"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins2InCourse2);"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; account requests should be searchable by their institute\");"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"TEAMMATES Test Institute 2\\\"\");"},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, unregisteredInstructor2);"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" ______TS(\"success: search for account requests; account requests should be searchable by their comments\");"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"Comments for account request from instructor2\");"},{"lineNumber":95,"author":{"gitId":"-"},"content":" verifySearchResults(results, ins2General);"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" ______TS(\"success: search for account requests; account requests should be searchable by their status\");"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"registered\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":" verifySearchResults(results, ins2General);"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; unregistered account requests should be searchable\");"},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"unregisteredinstructor1@gmail.tmt\\\"\");"},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, unregisteredInstructor1);"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; deleted account requests no longer searchable\");"},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" accountRequestsDb.deleteAccountRequest(ins1InCourse1);"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"instructor 1\\\"\");"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins1InCourse2, ins1InCourse3, unregisteredInstructor1, ins1General);"},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; account requests created without searchability unsearchable\");"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" accountRequestsDb.createAccountRequest(ins1InCourse1);"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"instructor 1\\\"\");"},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins1InCourse2, ins1InCourse3, unregisteredInstructor1, ins1General);"},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" ______TS(\"success: search for account requests; deleting account request without deleting document:\""},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" + \"document deleted during search, account request unsearchable\");"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":" accountRequestsDb.deleteAccountRequest(ins2InCourse1);"},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"instructor 2\\\"\");"},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins2InCourse2, ins2InCourse3, unregisteredInstructor2, ins2General);"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":" public void testSearchAccountRequest_deleteAfterSearch_shouldNotBeSearchable() throws Exception {"},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins1InCourse2 \u003d typicalBundle.accountRequests.get(\"instructor1OfCourse2\");"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" AccountRequest ins2InCourse2 \u003d typicalBundle.accountRequests.get(\"instructor2OfCourse2\");"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" // there is search result before deletion"},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":" List\u003cAccountRequest\u003e results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"of Course 2\\\"\");"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins1InCourse2, ins2InCourse2);"},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" // delete an account request"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" accountRequestsDb.deleteAccountRequest(ins1InCourse2);"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" // the search result will change"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"of Course 2\\\"\");"},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, ins2InCourse2);"},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":147,"author":{"gitId":"domoberzin"},"content":" // delete all account requests"},{"lineNumber":148,"author":{"gitId":"domoberzin"},"content":" accountRequestsDb.deleteAccountRequest(ins2InCourse2);"},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":" // there should be no search result"},{"lineNumber":151,"author":{"gitId":"domoberzin"},"content":" results \u003d accountRequestsDb.searchAccountRequestsInWholeSystem(\"\\\"of Course 2\\\"\");"},{"lineNumber":152,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results);"},{"lineNumber":153,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":154,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":155,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":" public void testSearchAccountRequest_noSearchService_shouldThrowException() {"},{"lineNumber":157,"author":{"gitId":"domoberzin"},"content":" if (TestProperties.isSearchServiceActive()) {"},{"lineNumber":158,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":159,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":160,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":161,"author":{"gitId":"domoberzin"},"content":" assertThrows(SearchServiceException.class,"},{"lineNumber":162,"author":{"gitId":"domoberzin"},"content":" () -\u003e accountRequestsDb.searchAccountRequestsInWholeSystem(\"anything\"));"},{"lineNumber":163,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":164,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":165,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":166,"author":{"gitId":"domoberzin"},"content":" * Verifies that search results match with expected output."},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":168,"author":{"gitId":"domoberzin"},"content":" * @param actual the results from the search query."},{"lineNumber":169,"author":{"gitId":"domoberzin"},"content":" * @param expected the expected results for the search query."},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":171,"author":{"gitId":"domoberzin"},"content":" private static void verifySearchResults(List\u003cAccountRequest\u003e actual,"},{"lineNumber":172,"author":{"gitId":"domoberzin"},"content":" AccountRequest... expected) {"},{"lineNumber":173,"author":{"gitId":"domoberzin"},"content":" assertEquals(expected.length, actual.size());"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":" AssertHelper.assertSameContentIgnoreOrder(Arrays.asList(expected), actual);"},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":167,"-":10}},{"path":"src/it/java/teammates/it/storage/sqlsearch/InstructorSearchIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.storage.sqlsearch;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.UsersDb;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.test.AssertHelper;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.test.TestProperties;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * SUT: {@link UsersDb},"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * {@link teammates.storage.sqlsearch.InstructorSearchDocument}."},{"lineNumber":21,"author":{"gitId":"-"},"content":" */"},{"lineNumber":22,"author":{"gitId":"-"},"content":"public class InstructorSearchIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" private final SqlDataBundle typicalBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private final UsersDb usersDb \u003d UsersDb.inst();"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":29,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":31,"author":{"gitId":"-"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" putDocuments(typicalBundle);"},{"lineNumber":33,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":37,"author":{"gitId":"-"},"content":" public void allTests() throws Exception {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" Instructor ins1InCourse1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":43,"author":{"gitId":"-"},"content":" Instructor ins2InCourse1 \u003d typicalBundle.instructors.get(\"instructor2OfCourse1\");"},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" Instructor ins1InCourse4 \u003d typicalBundle.instructors.get(\"instructor1OfCourse4\");"},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":" Instructor ins2InCourse4 \u003d typicalBundle.instructors.get(\"instructor2YetToJoinCourse4\");"},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":" Instructor ins3InCourse4 \u003d typicalBundle.instructors.get(\"instructor3YetToJoinCourse4\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":" Instructor insInArchivedCourse \u003d typicalBundle.instructors.get(\"instructorOfArchivedCourse\");"},{"lineNumber":48,"author":{"gitId":"-"},"content":" Instructor insInUnregCourse \u003d typicalBundle.instructors.get(\"instructorOfUnregisteredCourse\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":" Instructor insUniqueDisplayName \u003d typicalBundle.instructors.get(\"instructorOfCourse2WithUniqueDisplayName\");"},{"lineNumber":50,"author":{"gitId":"-"},"content":" Instructor ins1InCourse3 \u003d typicalBundle.instructors.get(\"instructor1OfCourse3\");"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" Instructor unregisteredInsInCourse1 \u003d typicalBundle.instructors.get(\"unregisteredInstructorOfCourse1\");"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; query string does not match anyone\");"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e results \u003d usersDb.searchInstructorsInWholeSystem(\"non-existent\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" verifySearchResults(results);"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; empty query string does not match anyone\");"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\");"},{"lineNumber":61,"author":{"gitId":"-"},"content":" verifySearchResults(results);"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; query string matches some instructors\");"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Instructor of\\\"\");"},{"lineNumber":66,"author":{"gitId":"-"},"content":" verifySearchResults(results, insInArchivedCourse, insInUnregCourse, insUniqueDisplayName);"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; query string should be case-insensitive\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"InStRuCtOr 2\\\"\");"},{"lineNumber":71,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(results, ins2InCourse1, ins2InCourse4);"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors in archived courses should be included\");"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Instructor Of Archived Course\\\"\");"},{"lineNumber":76,"author":{"gitId":"-"},"content":" verifySearchResults(results, insInArchivedCourse);"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" ______TS("},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"success: search for instructors in whole system; instructors in unregistered course should be included\");"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Instructor Of Unregistered Course\\\"\");"},{"lineNumber":82,"author":{"gitId":"-"},"content":" verifySearchResults(results, insInUnregCourse);"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors should be searchable by course id\");"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"course-1\\\"\");"},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" verifySearchResults(results, ins1InCourse1, ins2InCourse1, unregisteredInsInCourse1);"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors should be searchable by course name\");"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Typical Course 1\\\"\");"},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" verifySearchResults(results, ins1InCourse1, ins2InCourse1, unregisteredInsInCourse1);"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors should be searchable by their name\");"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Instructor Of Unregistered Course\\\"\");"},{"lineNumber":97,"author":{"gitId":"-"},"content":" verifySearchResults(results, insInUnregCourse);"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors should be searchable by their email\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"instr2@teammates.tmt\");"},{"lineNumber":102,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(results, ins2InCourse1, ins2InCourse4);"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors should be searchable by their role\");"},{"lineNumber":105,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Co-owner\\\"\");"},{"lineNumber":106,"author":{"gitId":"-"},"content":" verifySearchResults(results, ins1InCourse1, insInArchivedCourse,"},{"lineNumber":107,"author":{"gitId":"yuanxi1"},"content":" insInUnregCourse, insUniqueDisplayName, ins1InCourse3,"},{"lineNumber":108,"author":{"gitId":"yuanxi1"},"content":" ins1InCourse4, ins2InCourse4, ins3InCourse4);"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors should be searchable by displayed name\");"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" String displayName \u003d insUniqueDisplayName.getDisplayName();"},{"lineNumber":113,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(displayName);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" verifySearchResults(results, insUniqueDisplayName);"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; deleted instructors no longer searchable\");"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" usersDb.deleteUser(insUniqueDisplayName);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Instructor of\\\"\");"},{"lineNumber":120,"author":{"gitId":"-"},"content":" verifySearchResults(results, insInArchivedCourse, insInUnregCourse);"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" // This method used to use usersDb.putEntity, not sure if the .createInstructor method has the same functionality"},{"lineNumber":123,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; instructors created without searchability unsearchable\");"},{"lineNumber":124,"author":{"gitId":"-"},"content":" usersDb.createInstructor(insUniqueDisplayName);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Instructor of\\\"\");"},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" verifySearchResults(results, insInArchivedCourse, insInUnregCourse, insUniqueDisplayName);"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" ______TS(\"success: search for instructors in whole system; deleting instructor without deleting document:\""},{"lineNumber":129,"author":{"gitId":"-"},"content":" + \"document deleted during search, instructor unsearchable\");"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" usersDb.deleteUser(ins1InCourse3);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"Instructor 1\\\"\");"},{"lineNumber":133,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(results, ins1InCourse1, ins1InCourse4);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":137,"author":{"gitId":"-"},"content":" public void testSearchInstructor_deleteAfterSearch_shouldNotBeSearchable() throws Exception {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" Instructor ins1InCourse1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":143,"author":{"gitId":"-"},"content":" Instructor ins2InCourse1 \u003d typicalBundle.instructors.get(\"instructor2OfCourse1\");"},{"lineNumber":144,"author":{"gitId":"dishenggg"},"content":" Instructor unregisteredInsInCourse1 \u003d typicalBundle.instructors.get(\"unregisteredInstructorOfCourse1\");"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"course-1\\\"\");"},{"lineNumber":147,"author":{"gitId":"dishenggg"},"content":" verifySearchResults(results, ins1InCourse1, ins2InCourse1, unregisteredInsInCourse1);"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" usersDb.deleteUser(ins1InCourse1);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"course-1\\\"\");"},{"lineNumber":151,"author":{"gitId":"dishenggg"},"content":" verifySearchResults(results, ins2InCourse1, unregisteredInsInCourse1);"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" // This used to test .deleteInstructors, but we don\u0027t seem to have a similar method to delete all users in course"},{"lineNumber":154,"author":{"gitId":"-"},"content":" usersDb.deleteUser(ins2InCourse1);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"course-1\\\"\");"},{"lineNumber":156,"author":{"gitId":"dishenggg"},"content":" verifySearchResults(results, unregisteredInsInCourse1);"},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":158,"author":{"gitId":"dishenggg"},"content":" usersDb.deleteUser(unregisteredInsInCourse1);"},{"lineNumber":159,"author":{"gitId":"dishenggg"},"content":" results \u003d usersDb.searchInstructorsInWholeSystem(\"\\\"course-1\\\"\");"},{"lineNumber":160,"author":{"gitId":"-"},"content":" verifySearchResults(results);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":164,"author":{"gitId":"-"},"content":" public void testSearchInstructor_noSearchService_shouldThrowException() {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" if (TestProperties.isSearchServiceActive()) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":167,"author":{"gitId":"-"},"content":" }"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" assertThrows(SearchServiceException.class,"},{"lineNumber":170,"author":{"gitId":"-"},"content":" () -\u003e usersDb.searchInstructorsInWholeSystem(\"anything\"));"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":174,"author":{"gitId":"-"},"content":" * Verifies that search results match with expected output."},{"lineNumber":175,"author":{"gitId":"-"},"content":" *"},{"lineNumber":176,"author":{"gitId":"-"},"content":" * @param actual the results from the search query."},{"lineNumber":177,"author":{"gitId":"-"},"content":" * @param expected the expected results for the search query."},{"lineNumber":178,"author":{"gitId":"-"},"content":" */"},{"lineNumber":179,"author":{"gitId":"-"},"content":" private static void verifySearchResults(List\u003cInstructor\u003e actual,"},{"lineNumber":180,"author":{"gitId":"-"},"content":" Instructor... expected) {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" assertEquals(expected.length, actual.size());"},{"lineNumber":182,"author":{"gitId":"-"},"content":" AssertHelper.assertSameContentIgnoreOrder(Arrays.asList(expected), actual);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":1,"yuanxi1":8,"dishenggg":10,"-":165}},{"path":"src/it/java/teammates/it/storage/sqlsearch/StudentSearchIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yuanxi1"},"content":"package teammates.it.storage.sqlsearch;"},{"lineNumber":2,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":3,"author":{"gitId":"yuanxi1"},"content":"import java.util.Arrays;"},{"lineNumber":4,"author":{"gitId":"yuanxi1"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":6,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":7,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.Test;"},{"lineNumber":8,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":9,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":10,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":11,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":12,"author":{"gitId":"yuanxi1"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":13,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlapi.UsersDb;"},{"lineNumber":14,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":15,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":16,"author":{"gitId":"yuanxi1"},"content":"import teammates.test.AssertHelper;"},{"lineNumber":17,"author":{"gitId":"yuanxi1"},"content":"import teammates.test.TestProperties;"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":19,"author":{"gitId":"yuanxi1"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"yuanxi1"},"content":" * SUT: {@link UsersDb},"},{"lineNumber":21,"author":{"gitId":"yuanxi1"},"content":" * {@link teammates.storage.sqlsearch.InstructorSearchDocument}."},{"lineNumber":22,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":23,"author":{"gitId":"yuanxi1"},"content":"public class StudentSearchIT extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":24,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":25,"author":{"gitId":"yuanxi1"},"content":" private final SqlDataBundle typicalBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":26,"author":{"gitId":"yuanxi1"},"content":" private final UsersDb usersDb \u003d UsersDb.inst();"},{"lineNumber":27,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":28,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"yuanxi1"},"content":" @BeforeMethod"},{"lineNumber":30,"author":{"gitId":"yuanxi1"},"content":" protected void setUp() throws Exception {"},{"lineNumber":31,"author":{"gitId":"yuanxi1"},"content":" super.setUp();"},{"lineNumber":32,"author":{"gitId":"yuanxi1"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":33,"author":{"gitId":"yuanxi1"},"content":" putDocuments(typicalBundle);"},{"lineNumber":34,"author":{"gitId":"yuanxi1"},"content":" HibernateUtil.flushSession();"},{"lineNumber":35,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":36,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":37,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":38,"author":{"gitId":"yuanxi1"},"content":" public void allTests() throws Exception {"},{"lineNumber":39,"author":{"gitId":"yuanxi1"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":40,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":41,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":43,"author":{"gitId":"yuanxi1"},"content":" Student stu1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" Student stu2InCourse1 \u003d typicalBundle.students.get(\"student2InCourse1\");"},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":" Student stu3InCourse1 \u003d typicalBundle.students.get(\"student3InCourse1\");"},{"lineNumber":46,"author":{"gitId":"marquestye"},"content":" Student stu4InCourse1 \u003d typicalBundle.students.get(\"student4InCourse1\");"},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":" Student stu1InCourse2 \u003d typicalBundle.students.get(\"student1InCourse2\");"},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" Student unregisteredStuInCourse1 \u003d typicalBundle.students.get(\"unregisteredStudentInCourse1\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":" Student stu1InCourse3 \u003d typicalBundle.students.get(\"student1InCourse3\");"},{"lineNumber":50,"author":{"gitId":"yuanxi1"},"content":" Student stu1InCourse4 \u003d typicalBundle.students.get(\"student1InCourse4\");"},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":" Student stuOfArchivedCourse \u003d typicalBundle.students.get(\"studentOfArchivedCourse\");"},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":53,"author":{"gitId":"yuanxi1"},"content":" Instructor ins1InCourse1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":54,"author":{"gitId":"yuanxi1"},"content":" Instructor ins1InCourse4 \u003d typicalBundle.instructors.get(\"instructor1OfCourse4\");"},{"lineNumber":55,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":56,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; query string does not match anyone\");"},{"lineNumber":57,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":58,"author":{"gitId":"yuanxi1"},"content":" List\u003cStudent\u003e results \u003d usersDb.searchStudentsInWholeSystem(\"non-existent\");"},{"lineNumber":59,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(results);"},{"lineNumber":60,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":61,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; empty query string does not match anyone\");"},{"lineNumber":62,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":63,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\");"},{"lineNumber":64,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(results);"},{"lineNumber":65,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":66,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; query string matches some students\");"},{"lineNumber":67,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":68,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\\\"student1\\\"\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" verifySearchResults(results, stu1InCourse1, stu1InCourse2, stu1InCourse3, stu1InCourse4);"},{"lineNumber":70,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":71,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; query string should be case-insensitive\");"},{"lineNumber":72,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":73,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\\\"sTuDeNt1\\\"\");"},{"lineNumber":74,"author":{"gitId":"-"},"content":" verifySearchResults(results, stu1InCourse1, stu1InCourse2, stu1InCourse3, stu1InCourse4);"},{"lineNumber":75,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":76,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; students in archived courses should be included\");"},{"lineNumber":77,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":78,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\\\"Student In Archived Course\\\"\");"},{"lineNumber":79,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(results, stuOfArchivedCourse);"},{"lineNumber":80,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":81,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; students should be searchable by course id\");"},{"lineNumber":82,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":83,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\\\"course-1\\\"\");"},{"lineNumber":84,"author":{"gitId":"marquestye"},"content":" verifySearchResults(results, stu1InCourse1, stu2InCourse1, stu3InCourse1, stu4InCourse1, unregisteredStuInCourse1);"},{"lineNumber":85,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":86,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; students should be searchable by course name\");"},{"lineNumber":87,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":88,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\\\"Typical Course 1\\\"\");"},{"lineNumber":89,"author":{"gitId":"marquestye"},"content":" verifySearchResults(results, stu1InCourse1, stu2InCourse1, stu3InCourse1, stu4InCourse1, unregisteredStuInCourse1);"},{"lineNumber":90,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":91,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; students should be searchable by their name\");"},{"lineNumber":92,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":93,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\\\"student3 In Course1\\\"\");"},{"lineNumber":94,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(results, stu3InCourse1);"},{"lineNumber":95,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":96,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; students should be searchable by their email\");"},{"lineNumber":97,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":98,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"student1@teammates.tmt\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":" verifySearchResults(results, stu1InCourse1, stu1InCourse2, stu1InCourse3, stu1InCourse4);"},{"lineNumber":100,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":101,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students; query string matches some students; results restricted \""},{"lineNumber":102,"author":{"gitId":"yuanxi1"},"content":" + \"based on instructor\u0027s privilege\");"},{"lineNumber":103,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":104,"author":{"gitId":"yuanxi1"},"content":" List\u003cInstructor\u003e ins1OfCourse1 \u003d Arrays.asList("},{"lineNumber":105,"author":{"gitId":"yuanxi1"},"content":" new Instructor[] { ins1InCourse1 });"},{"lineNumber":106,"author":{"gitId":"yuanxi1"},"content":" List\u003cInstructor\u003e ins1OfCourse4 \u003d Arrays.asList("},{"lineNumber":107,"author":{"gitId":"yuanxi1"},"content":" new Instructor[] { ins1InCourse4 });"},{"lineNumber":108,"author":{"gitId":"yuanxi1"},"content":" List\u003cStudent\u003e studentList \u003d usersDb.searchStudents(\"student1\", ins1OfCourse1);"},{"lineNumber":109,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":110,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(studentList, stu1InCourse1);"},{"lineNumber":111,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":112,"author":{"gitId":"yuanxi1"},"content":" studentList \u003d usersDb.searchStudents(\"student1\", ins1OfCourse4);"},{"lineNumber":113,"author":{"gitId":"yuanxi1"},"content":" verifySearchResults(studentList, stu1InCourse4);"},{"lineNumber":114,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":115,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: search for students in whole system; deleted students no longer searchable\");"},{"lineNumber":116,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":117,"author":{"gitId":"yuanxi1"},"content":" usersDb.deleteUser(stu1InCourse1);"},{"lineNumber":118,"author":{"gitId":"yuanxi1"},"content":" results \u003d usersDb.searchStudentsInWholeSystem(\"\\\"student1\\\"\");"},{"lineNumber":119,"author":{"gitId":"-"},"content":" verifySearchResults(results, stu1InCourse2, stu1InCourse3, stu1InCourse4);"},{"lineNumber":120,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":121,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":122,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":123,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":124,"author":{"gitId":"yuanxi1"},"content":" public void testSearchStudent_deleteAfterSearch_shouldNotBeSearchable() throws Exception {"},{"lineNumber":125,"author":{"gitId":"yuanxi1"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":126,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":127,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":128,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":129,"author":{"gitId":"yuanxi1"},"content":" Student stu1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":130,"author":{"gitId":"yuanxi1"},"content":" Student stu1InCourse2 \u003d typicalBundle.students.get(\"student1InCourse2\");"},{"lineNumber":131,"author":{"gitId":"-"},"content":" Student stu1InCourse3 \u003d typicalBundle.students.get(\"student1InCourse3\");"},{"lineNumber":132,"author":{"gitId":"yuanxi1"},"content":" Student stu1InCourse4 \u003d typicalBundle.students.get(\"student1InCourse4\");"},{"lineNumber":133,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":134,"author":{"gitId":"yuanxi1"},"content":" List\u003cStudent\u003e studentList \u003d usersDb.searchStudentsInWholeSystem(\"student1\");"},{"lineNumber":135,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":136,"author":{"gitId":"yuanxi1"},"content":" // there is search result before deletion"},{"lineNumber":137,"author":{"gitId":"-"},"content":" verifySearchResults(studentList, stu1InCourse1, stu1InCourse2, stu1InCourse3, stu1InCourse4);"},{"lineNumber":138,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":139,"author":{"gitId":"yuanxi1"},"content":" // delete a student"},{"lineNumber":140,"author":{"gitId":"yuanxi1"},"content":" usersDb.deleteUser(stu1InCourse1);"},{"lineNumber":141,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":142,"author":{"gitId":"yuanxi1"},"content":" // the search result will change"},{"lineNumber":143,"author":{"gitId":"yuanxi1"},"content":" studentList \u003d usersDb.searchStudentsInWholeSystem(\"student1\");"},{"lineNumber":144,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" verifySearchResults(studentList, stu1InCourse2, stu1InCourse3, stu1InCourse4);"},{"lineNumber":146,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":147,"author":{"gitId":"yuanxi1"},"content":" // delete all students in course 2"},{"lineNumber":148,"author":{"gitId":"yuanxi1"},"content":" usersDb.deleteUser(stu1InCourse2);"},{"lineNumber":149,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":150,"author":{"gitId":"yuanxi1"},"content":" // the search result will change"},{"lineNumber":151,"author":{"gitId":"yuanxi1"},"content":" studentList \u003d usersDb.searchStudentsInWholeSystem(\"student1\");"},{"lineNumber":152,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" verifySearchResults(studentList, stu1InCourse3, stu1InCourse4);"},{"lineNumber":154,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":155,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":156,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":157,"author":{"gitId":"yuanxi1"},"content":" public void testSearchStudent_noSearchService_shouldThrowException() {"},{"lineNumber":158,"author":{"gitId":"yuanxi1"},"content":" if (TestProperties.isSearchServiceActive()) {"},{"lineNumber":159,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":160,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":161,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":162,"author":{"gitId":"yuanxi1"},"content":" assertThrows(SearchServiceException.class,"},{"lineNumber":163,"author":{"gitId":"yuanxi1"},"content":" () -\u003e usersDb.searchStudentsInWholeSystem(\"anything\"));"},{"lineNumber":164,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":165,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":166,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":167,"author":{"gitId":"yuanxi1"},"content":" * Verifies that search results match with expected output."},{"lineNumber":168,"author":{"gitId":"yuanxi1"},"content":" *"},{"lineNumber":169,"author":{"gitId":"yuanxi1"},"content":" * @param actual the results from the search query."},{"lineNumber":170,"author":{"gitId":"yuanxi1"},"content":" * @param expected the expected results for the search query."},{"lineNumber":171,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":172,"author":{"gitId":"yuanxi1"},"content":" private static void verifySearchResults(List\u003cStudent\u003e actual,"},{"lineNumber":173,"author":{"gitId":"yuanxi1"},"content":" Student... expected) {"},{"lineNumber":174,"author":{"gitId":"yuanxi1"},"content":" assertEquals(expected.length, actual.size());"},{"lineNumber":175,"author":{"gitId":"yuanxi1"},"content":" AssertHelper.assertSameContentIgnoreOrder(Arrays.asList(expected), actual);"},{"lineNumber":176,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":177,"author":{"gitId":"yuanxi1"},"content":"}"}],"authorContributionMap":{"yuanxi1":165,"marquestye":3,"-":9}},{"path":"src/it/java/teammates/it/test/BaseTestCaseWithSqlDatabaseAccess.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.test;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.testcontainers.containers.PostgreSQLContainer;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterMethod;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterSuite;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeSuite;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import com.google.cloud.datastore.DatastoreOptions;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import com.google.cloud.datastore.testing.LocalDatastoreHelper;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import com.googlecode.objectify.ObjectifyFactory;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import com.googlecode.objectify.ObjectifyService;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import com.googlecode.objectify.util.Closeable;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.sqllogic.api.Logic;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.LogicStarter;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.api.OfyHelper;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.BaseEntity;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.ReadNotification;"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.UsageStatistics;"},{"lineNumber":46,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.AccountRequestSearchManager;"},{"lineNumber":47,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.InstructorSearchManager;"},{"lineNumber":48,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.SearchManagerFactory;"},{"lineNumber":49,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.StudentSearchManager;"},{"lineNumber":50,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":53,"author":{"gitId":"-"},"content":" * Base test case for tests that access the database."},{"lineNumber":54,"author":{"gitId":"-"},"content":" */"},{"lineNumber":55,"author":{"gitId":"-"},"content":"@Test(singleThreaded \u003d true)"},{"lineNumber":56,"author":{"gitId":"-"},"content":"public class BaseTestCaseWithSqlDatabaseAccess extends BaseTestCase {"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final PostgreSQLContainer\u003c?\u003e PGSQL \u003d new PostgreSQLContainer\u003c\u003e(\"postgres:15.1-alpine\");"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" private static final LocalDatastoreHelper LOCAL_DATASTORE_HELPER \u003d LocalDatastoreHelper.newBuilder()"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .setConsistency(1.0)"},{"lineNumber":62,"author":{"gitId":"-"},"content":" .setPort(TestProperties.TEST_LOCALDATASTORE_PORT)"},{"lineNumber":63,"author":{"gitId":"-"},"content":" .setStoreOnDisk(false)"},{"lineNumber":64,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" private final Logic logic \u003d Logic.inst();"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" private Closeable closeable;"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" @BeforeSuite"},{"lineNumber":71,"author":{"gitId":"-"},"content":" protected static void setUpSuite() throws Exception {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" PGSQL.start();"},{"lineNumber":73,"author":{"gitId":"-"},"content":" // Temporarily disable migration utility"},{"lineNumber":74,"author":{"gitId":"-"},"content":" // DbMigrationUtil.resetDb(PGSQL.getJdbcUrl(), PGSQL.getUsername(),"},{"lineNumber":75,"author":{"gitId":"-"},"content":" // PGSQL.getPassword());"},{"lineNumber":76,"author":{"gitId":"-"},"content":" HibernateUtil.buildSessionFactory(PGSQL.getJdbcUrl(), PGSQL.getUsername(), PGSQL.getPassword());"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" LogicStarter.initializeDependencies();"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" SearchManagerFactory.registerAccountRequestSearchManager("},{"lineNumber":81,"author":{"gitId":"-"},"content":" new AccountRequestSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":82,"author":{"gitId":"-"},"content":" SearchManagerFactory.registerInstructorSearchManager("},{"lineNumber":83,"author":{"gitId":"-"},"content":" new InstructorSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":84,"author":{"gitId":"-"},"content":" SearchManagerFactory.registerStudentSearchManager("},{"lineNumber":85,"author":{"gitId":"-"},"content":" new StudentSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" // TODO: remove after migration, needed for dual db support"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" teammates.storage.search.SearchManagerFactory.registerAccountRequestSearchManager("},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" new teammates.storage.search.AccountRequestSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" teammates.storage.search.SearchManagerFactory.registerInstructorSearchManager("},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" new teammates.storage.search.InstructorSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" teammates.storage.search.SearchManagerFactory.registerStudentSearchManager("},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" new teammates.storage.search.StudentSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" teammates.logic.core.LogicStarter.initializeDependencies();"},{"lineNumber":97,"author":{"gitId":"-"},"content":" LOCAL_DATASTORE_HELPER.start();"},{"lineNumber":98,"author":{"gitId":"-"},"content":" DatastoreOptions options \u003d LOCAL_DATASTORE_HELPER.getOptions();"},{"lineNumber":99,"author":{"gitId":"-"},"content":" ObjectifyService.init(new ObjectifyFactory("},{"lineNumber":100,"author":{"gitId":"-"},"content":" options.getService()));"},{"lineNumber":101,"author":{"gitId":"-"},"content":" OfyHelper.registerEntityClasses();"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":106,"author":{"gitId":"-"},"content":" public void setupClass() {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" closeable \u003d ObjectifyService.begin();"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":111,"author":{"gitId":"-"},"content":" public void tearDownClass() {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" closeable.close();"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" SearchManagerFactory.getAccountRequestSearchManager().resetCollections();"},{"lineNumber":115,"author":{"gitId":"-"},"content":" SearchManagerFactory.getInstructorSearchManager().resetCollections();"},{"lineNumber":116,"author":{"gitId":"-"},"content":" SearchManagerFactory.getStudentSearchManager().resetCollections();"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" @AfterSuite"},{"lineNumber":120,"author":{"gitId":"-"},"content":" protected static void tearDownSuite() throws Exception {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" PGSQL.close();"},{"lineNumber":122,"author":{"gitId":"-"},"content":" LOCAL_DATASTORE_HELPER.stop();"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":126,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" @AfterMethod"},{"lineNumber":131,"author":{"gitId":"-"},"content":" protected void tearDown() {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" HibernateUtil.rollbackTransaction();"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":136,"author":{"gitId":"-"},"content":" protected String getTestDataFolder() {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" return TestProperties.TEST_DATA_FOLDER;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":141,"author":{"gitId":"-"},"content":" * Persist data bundle into the db."},{"lineNumber":142,"author":{"gitId":"-"},"content":" */"},{"lineNumber":143,"author":{"gitId":"-"},"content":" protected void persistDataBundle(SqlDataBundle dataBundle)"},{"lineNumber":144,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException, EntityDoesNotExistException {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" logic.persistDataBundle(dataBundle);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":149,"author":{"gitId":"-"},"content":" * Puts searchable documents from the data bundle to the solr database."},{"lineNumber":150,"author":{"gitId":"-"},"content":" */"},{"lineNumber":151,"author":{"gitId":"-"},"content":" protected void putDocuments(SqlDataBundle dataBundle) throws SearchServiceException {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" logic.putDocuments(dataBundle);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":156,"author":{"gitId":"-"},"content":" * Verifies that two entities are equal."},{"lineNumber":157,"author":{"gitId":"-"},"content":" */"},{"lineNumber":158,"author":{"gitId":"-"},"content":" protected void verifyEquals(BaseEntity expected, BaseEntity actual) {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" if (expected instanceof Course) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" Course expectedCourse \u003d (Course) expected;"},{"lineNumber":161,"author":{"gitId":"-"},"content":" Course actualCourse \u003d (Course) actual;"},{"lineNumber":162,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedCourse, actualCourse);"},{"lineNumber":163,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedCourse), JsonUtils.toJson(actualCourse));"},{"lineNumber":164,"author":{"gitId":"-"},"content":" } else if (expected instanceof DeadlineExtension) {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" DeadlineExtension expectedDeadlineExtension \u003d (DeadlineExtension) expected;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" DeadlineExtension actualDeadlineExtension \u003d (DeadlineExtension) actual;"},{"lineNumber":167,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedDeadlineExtension, actualDeadlineExtension);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedDeadlineExtension), JsonUtils.toJson(actualDeadlineExtension));"},{"lineNumber":169,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackSession) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" FeedbackSession expectedSession \u003d (FeedbackSession) expected;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" FeedbackSession actualSession \u003d (FeedbackSession) actual;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedSession, actualSession);"},{"lineNumber":173,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedSession), JsonUtils.toJson(actualSession));"},{"lineNumber":174,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackQuestion) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" FeedbackQuestion expectedQuestion \u003d (FeedbackQuestion) expected;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" FeedbackQuestion actualQuestion \u003d (FeedbackQuestion) actual;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedQuestion, actualQuestion);"},{"lineNumber":178,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedQuestion), JsonUtils.toJson(actualQuestion));"},{"lineNumber":179,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponse) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" FeedbackResponse expectedResponse \u003d (FeedbackResponse) expected;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" FeedbackResponse actualResponse \u003d (FeedbackResponse) actual;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedResponse, actualResponse);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedResponse), JsonUtils.toJson(actualResponse));"},{"lineNumber":184,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponseComment) {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" FeedbackResponseComment expectedComment \u003d (FeedbackResponseComment) expected;"},{"lineNumber":186,"author":{"gitId":"-"},"content":" FeedbackResponseComment actualComment \u003d (FeedbackResponseComment) actual;"},{"lineNumber":187,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedComment, actualComment);"},{"lineNumber":188,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedComment), JsonUtils.toJson(actualComment));"},{"lineNumber":189,"author":{"gitId":"-"},"content":" } else if (expected instanceof Notification) {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" Notification expectedNotification \u003d (Notification) expected;"},{"lineNumber":191,"author":{"gitId":"-"},"content":" Notification actualNotification \u003d (Notification) actual;"},{"lineNumber":192,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedNotification, actualNotification);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedNotification), JsonUtils.toJson(actualNotification));"},{"lineNumber":194,"author":{"gitId":"-"},"content":" } else if (expected instanceof Account) {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" Account expectedAccount \u003d (Account) expected;"},{"lineNumber":196,"author":{"gitId":"-"},"content":" Account actualAccount \u003d (Account) actual;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedAccount, actualAccount);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedAccount), JsonUtils.toJson(actualAccount));"},{"lineNumber":199,"author":{"gitId":"-"},"content":" } else if (expected instanceof AccountRequest) {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" AccountRequest expectedAccountRequest \u003d (AccountRequest) expected;"},{"lineNumber":201,"author":{"gitId":"-"},"content":" AccountRequest actualAccountRequest \u003d (AccountRequest) actual;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedAccountRequest, actualAccountRequest);"},{"lineNumber":203,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedAccountRequest), JsonUtils.toJson(actualAccountRequest));"},{"lineNumber":204,"author":{"gitId":"-"},"content":" } else if (expected instanceof UsageStatistics) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" UsageStatistics expectedUsageStatistics \u003d (UsageStatistics) expected;"},{"lineNumber":206,"author":{"gitId":"-"},"content":" UsageStatistics actualUsageStatistics \u003d (UsageStatistics) actual;"},{"lineNumber":207,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedUsageStatistics, actualUsageStatistics);"},{"lineNumber":208,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedUsageStatistics), JsonUtils.toJson(actualUsageStatistics));"},{"lineNumber":209,"author":{"gitId":"-"},"content":" } else if (expected instanceof Instructor) {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" Instructor expectedInstructor \u003d (Instructor) expected;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" Instructor actualInstructor \u003d (Instructor) actual;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedInstructor, actualInstructor);"},{"lineNumber":213,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedInstructor), JsonUtils.toJson(actualInstructor));"},{"lineNumber":214,"author":{"gitId":"-"},"content":" } else if (expected instanceof Student) {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" Student expectedStudent \u003d (Student) expected;"},{"lineNumber":216,"author":{"gitId":"-"},"content":" Student actualStudent \u003d (Student) actual;"},{"lineNumber":217,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedStudent, actualStudent);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedStudent), JsonUtils.toJson(actualStudent));"},{"lineNumber":219,"author":{"gitId":"-"},"content":" } else if (expected instanceof Section) {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" Section expectedSection \u003d (Section) expected;"},{"lineNumber":221,"author":{"gitId":"-"},"content":" Section actualSection \u003d (Section) actual;"},{"lineNumber":222,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedSection, actualSection);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedSection), JsonUtils.toJson(actualSection));"},{"lineNumber":224,"author":{"gitId":"-"},"content":" } else if (expected instanceof Team) {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" Team expectedTeam \u003d (Team) expected;"},{"lineNumber":226,"author":{"gitId":"-"},"content":" Team actualTeam \u003d (Team) actual;"},{"lineNumber":227,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedTeam, actualTeam);"},{"lineNumber":228,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedTeam), JsonUtils.toJson(actualTeam));"},{"lineNumber":229,"author":{"gitId":"-"},"content":" } else if (expected instanceof ReadNotification) {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" ReadNotification expectedReadNotification \u003d (ReadNotification) expected;"},{"lineNumber":231,"author":{"gitId":"-"},"content":" ReadNotification actualReadNotification \u003d (ReadNotification) actual;"},{"lineNumber":232,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedReadNotification, actualReadNotification);"},{"lineNumber":233,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" fail(\"Unknown entity\");"},{"lineNumber":235,"author":{"gitId":"-"},"content":" }"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":239,"author":{"gitId":"-"},"content":" * Verifies that the given entity is present in the database."},{"lineNumber":240,"author":{"gitId":"-"},"content":" */"},{"lineNumber":241,"author":{"gitId":"-"},"content":" protected void verifyPresentInDatabase(BaseEntity expected) {"},{"lineNumber":242,"author":{"gitId":"-"},"content":" assertNotNull(expected);"},{"lineNumber":243,"author":{"gitId":"-"},"content":" BaseEntity actual \u003d getEntity(expected);"},{"lineNumber":244,"author":{"gitId":"-"},"content":" verifyEquals(expected, actual);"},{"lineNumber":245,"author":{"gitId":"-"},"content":" }"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" private BaseEntity getEntity(BaseEntity entity) {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" if (entity instanceof Course) {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" return logic.getCourse(((Course) entity).getId());"},{"lineNumber":250,"author":{"gitId":"-"},"content":" } else if (entity instanceof FeedbackSession) {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" return logic.getFeedbackSession(((FeedbackSession) entity).getId());"},{"lineNumber":252,"author":{"gitId":"dishenggg"},"content":" } else if (entity instanceof FeedbackQuestion) {"},{"lineNumber":253,"author":{"gitId":"dishenggg"},"content":" return logic.getFeedbackQuestion(((FeedbackQuestion) entity).getId());"},{"lineNumber":254,"author":{"gitId":"-"},"content":" } else if (entity instanceof Account) {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" return logic.getAccount(((Account) entity).getId());"},{"lineNumber":256,"author":{"gitId":"-"},"content":" } else if (entity instanceof Notification) {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" return logic.getNotification(((Notification) entity).getId());"},{"lineNumber":258,"author":{"gitId":"-"},"content":" } else if (entity instanceof AccountRequest) {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d (AccountRequest) entity;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" return logic.getAccountRequest(accountRequest.getId());"},{"lineNumber":261,"author":{"gitId":"yuanxi1"},"content":" } else if (entity instanceof Instructor) {"},{"lineNumber":262,"author":{"gitId":"yuanxi1"},"content":" return logic.getInstructor(((Instructor) entity).getId());"},{"lineNumber":263,"author":{"gitId":"yuanxi1"},"content":" } else if (entity instanceof Student) {"},{"lineNumber":264,"author":{"gitId":"yuanxi1"},"content":" return logic.getStudent(((Student) entity).getId());"},{"lineNumber":265,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unknown entity type\");"},{"lineNumber":267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(Course expected, Course actual) {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":272,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":273,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(DeadlineExtension expected, DeadlineExtension actual) {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":278,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":279,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(FeedbackSession expected, FeedbackSession actual) {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":284,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":285,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(FeedbackQuestion expected, FeedbackQuestion actual) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":290,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":291,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":292,"author":{"gitId":"-"},"content":" }"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(FeedbackResponse expected, FeedbackResponse actual) {"},{"lineNumber":295,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":296,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":297,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(FeedbackResponseComment expected, FeedbackResponseComment actual) {"},{"lineNumber":301,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":302,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":303,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(Notification expected, Notification actual) {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":308,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":309,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":310,"author":{"gitId":"-"},"content":" }"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(Account expected, Account actual) {"},{"lineNumber":313,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":314,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":315,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(AccountRequest expected, AccountRequest actual) {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":320,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":321,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":322,"author":{"gitId":"-"},"content":" }"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(UsageStatistics expected, UsageStatistics actual) {"},{"lineNumber":325,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":326,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":327,"author":{"gitId":"-"},"content":" }"},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(Instructor expected, Instructor actual) {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":331,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":332,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(Student expected, Student actual) {"},{"lineNumber":336,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":337,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":338,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":339,"author":{"gitId":"-"},"content":" }"},{"lineNumber":340,"author":{"gitId":"-"},"content":""},{"lineNumber":341,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(Section expected, Section actual) {"},{"lineNumber":342,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":343,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":344,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(Team expected, Team actual) {"},{"lineNumber":348,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":349,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":350,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(ReadNotification expected, ReadNotification actual) {"},{"lineNumber":354,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":355,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":356,"author":{"gitId":"-"},"content":" }"},{"lineNumber":357,"author":{"gitId":"-"},"content":""},{"lineNumber":358,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":359,"author":{"gitId":"-"},"content":" * Generates a UUID that is different from the given {@code uuid}."},{"lineNumber":360,"author":{"gitId":"-"},"content":" */"},{"lineNumber":361,"author":{"gitId":"-"},"content":" protected UUID generateDifferentUuid(UUID uuid) {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" UUID ret \u003d UUID.randomUUID();"},{"lineNumber":363,"author":{"gitId":"-"},"content":" while (ret.equals(uuid)) {"},{"lineNumber":364,"author":{"gitId":"-"},"content":" ret \u003d UUID.randomUUID();"},{"lineNumber":365,"author":{"gitId":"-"},"content":" }"},{"lineNumber":366,"author":{"gitId":"-"},"content":" return ret;"},{"lineNumber":367,"author":{"gitId":"-"},"content":" }"},{"lineNumber":368,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":8,"yuanxi1":4,"dishenggg":2,"-":354}},{"path":"src/it/java/teammates/it/ui/webapi/AccountRequestSearchIndexingWorkerActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import java.util.UUID;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.Const.ParamsNames;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.test.TestProperties;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.AccountRequestSearchIndexingWorkerAction;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * SUT: {@link AccountRequestSearchIndexingWorkerAction}."},{"lineNumber":21,"author":{"gitId":"-"},"content":" */"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":"public class AccountRequestSearchIndexingWorkerActionIT extends BaseActionIT\u003cAccountRequestSearchIndexingWorkerAction\u003e {"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" @BeforeMethod"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" protected void setUp() throws Exception {"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" super.setUp();"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.flushSession();"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"-"},"content":" protected String getActionUri() {"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" return Const.TaskQueue.ACCOUNT_REQUEST_SEARCH_INDEXING_WORKER_URL;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"-"},"content":" protected String getRequestMethod() {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" return POST;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":43,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":44,"author":{"gitId":"-"},"content":" public void testExecute() throws Exception {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" }"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d typicalBundle.accountRequests.get(\"instructor1\");"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" UUID accountRequestId \u003d accountRequest.getId();"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" ______TS(\"account request not yet indexed should not be searchable\");"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" List\u003cAccountRequest\u003e accountRequestsList \u003d"},{"lineNumber":55,"author":{"gitId":"-"},"content":" logic.searchAccountRequestsInWholeSystem(accountRequest.getEmail());"},{"lineNumber":56,"author":{"gitId":"-"},"content":" assertEquals(0, accountRequestsList.size());"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" ______TS(\"account request indexed should be searchable\");"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" ParamsNames.ACCOUNT_REQUEST_ID, accountRequestId.toString(),"},{"lineNumber":62,"author":{"gitId":"-"},"content":" };"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" AccountRequestSearchIndexingWorkerAction action \u003d getAction(submissionParams);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" getJsonResult(action);"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" accountRequestsList \u003d logic.searchAccountRequestsInWholeSystem(accountRequest.getEmail());"},{"lineNumber":68,"author":{"gitId":"-"},"content":" assertEquals(1, accountRequestsList.size());"},{"lineNumber":69,"author":{"gitId":"-"},"content":" assertEquals(accountRequest.getName(), accountRequestsList.get(0).getName());"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" protected void testAccessControl() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" verifyOnlyAdminCanAccess(course);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":29,"-":50}},{"path":"src/it/java/teammates/it/ui/webapi/BaseActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import jakarta.servlet.http.Cookie;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpDelete;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpGet;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpPost;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpPut;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPermissionRole;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPrivileges;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.UserInfo;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.it.test.BaseTestCaseWithSqlDatabaseAccess;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.logic.api.MockEmailSender;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.logic.api.MockLogsProcessor;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.logic.api.MockRecaptchaVerifier;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.logic.api.MockTaskQueuer;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.logic.api.MockUserProvision;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.sqllogic.api.Logic;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.test.MockHttpServletRequest;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.ui.request.BasicRequest;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.Action;"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.ActionFactory;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.ActionMappingException;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.ActionResult;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.EntityNotFoundException;"},{"lineNumber":46,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.InvalidHttpParameterException;"},{"lineNumber":47,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.InvalidOperationException;"},{"lineNumber":48,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":49,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.UnauthorizedAccessException;"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":52,"author":{"gitId":"-"},"content":" * Base class for all action tests."},{"lineNumber":53,"author":{"gitId":"-"},"content":" *"},{"lineNumber":54,"author":{"gitId":"-"},"content":" * \u003cp\u003eOn top of having a local database, these tests require proxy services to be"},{"lineNumber":55,"author":{"gitId":"-"},"content":" * running (to be more precise, mocked)."},{"lineNumber":56,"author":{"gitId":"-"},"content":" *"},{"lineNumber":57,"author":{"gitId":"-"},"content":" * @param \u003cT\u003e The action class being tested."},{"lineNumber":58,"author":{"gitId":"-"},"content":" */"},{"lineNumber":59,"author":{"gitId":"-"},"content":"public abstract class BaseActionIT\u003cT extends Action\u003e extends BaseTestCaseWithSqlDatabaseAccess {"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" static final String GET \u003d HttpGet.METHOD_NAME;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" static final String POST \u003d HttpPost.METHOD_NAME;"},{"lineNumber":63,"author":{"gitId":"-"},"content":" static final String PUT \u003d HttpPut.METHOD_NAME;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" static final String DELETE \u003d HttpDelete.METHOD_NAME;"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" SqlDataBundle typicalBundle \u003d getTypicalSqlDataBundle();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" Logic logic \u003d Logic.inst();"},{"lineNumber":68,"author":{"gitId":"-"},"content":" MockTaskQueuer mockTaskQueuer \u003d new MockTaskQueuer();"},{"lineNumber":69,"author":{"gitId":"-"},"content":" MockEmailSender mockEmailSender \u003d new MockEmailSender();"},{"lineNumber":70,"author":{"gitId":"-"},"content":" MockLogsProcessor mockLogsProcessor \u003d new MockLogsProcessor();"},{"lineNumber":71,"author":{"gitId":"-"},"content":" MockUserProvision mockUserProvision \u003d new MockUserProvision();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" MockRecaptchaVerifier mockRecaptchaVerifier \u003d new MockRecaptchaVerifier();"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" Course testCourseOther;"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" abstract String getActionUri();"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" abstract String getRequestMethod();"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":81,"author":{"gitId":"-"},"content":" * Gets an action with empty request body."},{"lineNumber":82,"author":{"gitId":"-"},"content":" */"},{"lineNumber":83,"author":{"gitId":"-"},"content":" protected T getAction(String... params) {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" return getAction(null, null, params);"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Gets an action with request body."},{"lineNumber":89,"author":{"gitId":"-"},"content":" */"},{"lineNumber":90,"author":{"gitId":"-"},"content":" protected T getAction(BasicRequest requestBody, String... params) {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" return getAction(JsonUtils.toCompactJson(requestBody), null, params);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":95,"author":{"gitId":"-"},"content":" * Gets an action with request body and cookie."},{"lineNumber":96,"author":{"gitId":"-"},"content":" */"},{"lineNumber":97,"author":{"gitId":"-"},"content":" protected T getAction(String body, List\u003cCookie\u003e cookies, String... params) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" mockTaskQueuer.clearTasks();"},{"lineNumber":99,"author":{"gitId":"-"},"content":" mockEmailSender.clearEmails();"},{"lineNumber":100,"author":{"gitId":"-"},"content":" MockHttpServletRequest req \u003d new MockHttpServletRequest(getRequestMethod(), getActionUri());"},{"lineNumber":101,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c params.length; i \u003d i + 2) {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" req.addParam(params[i], params[i + 1]);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":" if (body !\u003d null) {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" req.setBody(body);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":107,"author":{"gitId":"-"},"content":" if (cookies !\u003d null) {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" for (Cookie cookie : cookies) {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" req.addCookie(cookie);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" @SuppressWarnings(\"unchecked\")"},{"lineNumber":114,"author":{"gitId":"-"},"content":" T action \u003d (T) ActionFactory.getAction(req, getRequestMethod());"},{"lineNumber":115,"author":{"gitId":"-"},"content":" action.setTaskQueuer(mockTaskQueuer);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" action.setEmailSender(mockEmailSender);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" action.setLogsProcessor(mockLogsProcessor);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" action.setUserProvision(mockUserProvision);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" action.setRecaptchaVerifier(mockRecaptchaVerifier);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" action.init(req);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" return action;"},{"lineNumber":122,"author":{"gitId":"-"},"content":" } catch (ActionMappingException e) {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":128,"author":{"gitId":"-"},"content":" * Gets an action with list of cookies."},{"lineNumber":129,"author":{"gitId":"-"},"content":" */"},{"lineNumber":130,"author":{"gitId":"-"},"content":" protected T getActionWithCookie(List\u003cCookie\u003e cookies, String... params) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" return getAction(null, cookies, params);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":135,"author":{"gitId":"-"},"content":" * Tests the {@link Action#execute()} method."},{"lineNumber":136,"author":{"gitId":"-"},"content":" *"},{"lineNumber":137,"author":{"gitId":"-"},"content":" * \u003cp\u003eSome actions, particularly those with large number of different outcomes,"},{"lineNumber":138,"author":{"gitId":"-"},"content":" * can alternatively separate each test case to different test blocks."},{"lineNumber":139,"author":{"gitId":"-"},"content":" */"},{"lineNumber":140,"author":{"gitId":"-"},"content":" protected abstract void testExecute() throws Exception;"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Tests the {@link Action#checkAccessControl()} method."},{"lineNumber":144,"author":{"gitId":"-"},"content":" *"},{"lineNumber":145,"author":{"gitId":"-"},"content":" * \u003cp\u003eSome actions, particularly those with large number of different access"},{"lineNumber":146,"author":{"gitId":"-"},"content":" * control settings,"},{"lineNumber":147,"author":{"gitId":"-"},"content":" * can alternatively separate each test case to different test blocks."},{"lineNumber":148,"author":{"gitId":"-"},"content":" */"},{"lineNumber":149,"author":{"gitId":"-"},"content":" protected abstract void testAccessControl() throws Exception;"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":152,"author":{"gitId":"-"},"content":" * Returns The {@code params} array with the {@code userId}"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * (together with the parameter name) inserted at the beginning."},{"lineNumber":154,"author":{"gitId":"-"},"content":" */"},{"lineNumber":155,"author":{"gitId":"-"},"content":" protected String[] addUserIdToParams(String userId, String[] params) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" List\u003cString\u003e list \u003d new ArrayList\u003c\u003e();"},{"lineNumber":157,"author":{"gitId":"-"},"content":" list.add(Const.ParamsNames.USER_ID);"},{"lineNumber":158,"author":{"gitId":"-"},"content":" list.add(userId);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" list.addAll(Arrays.asList(params));"},{"lineNumber":160,"author":{"gitId":"-"},"content":" return list.toArray(new String[0]);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" // The next few methods are for logging in as various user"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":166,"author":{"gitId":"-"},"content":" * Logs in the user to the test environment as an admin."},{"lineNumber":167,"author":{"gitId":"-"},"content":" */"},{"lineNumber":168,"author":{"gitId":"-"},"content":" protected void loginAsAdmin() {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" UserInfo user \u003d mockUserProvision.loginAsAdmin(Config.APP_ADMINS.get(0));"},{"lineNumber":170,"author":{"gitId":"-"},"content":" assertTrue(user.isAdmin);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":" * Logs in the user to the test environment as an admin."},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":" protected void loginAsAdminWithTransaction() {"},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" UserInfo user \u003d mockUserProvision.loginAsAdminWithTransaction(Config.APP_ADMINS.get(0));"},{"lineNumber":178,"author":{"gitId":"domoberzin"},"content":" assertTrue(user.isAdmin);"},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":182,"author":{"gitId":"-"},"content":" * Logs in the user to the test environment as an unregistered user"},{"lineNumber":183,"author":{"gitId":"-"},"content":" * (without any right)."},{"lineNumber":184,"author":{"gitId":"-"},"content":" */"},{"lineNumber":185,"author":{"gitId":"-"},"content":" protected void loginAsUnregistered(String userId) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" UserInfo user \u003d mockUserProvision.loginUser(userId);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" assertFalse(user.isStudent);"},{"lineNumber":188,"author":{"gitId":"-"},"content":" assertFalse(user.isInstructor);"},{"lineNumber":189,"author":{"gitId":"-"},"content":" assertFalse(user.isAdmin);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":" * Logs in the user to the test environment as an unregistered user"},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" * (without any right)."},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":" protected void loginAsUnregisteredWithTransaction(String userId) {"},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":" UserInfo user \u003d mockUserProvision.loginUserWithTransaction(userId);"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" assertFalse(user.isStudent);"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":" assertFalse(user.isInstructor);"},{"lineNumber":200,"author":{"gitId":"domoberzin"},"content":" assertFalse(user.isAdmin);"},{"lineNumber":201,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":202,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":204,"author":{"gitId":"-"},"content":" * Logs in the user to the test environment as an instructor"},{"lineNumber":205,"author":{"gitId":"-"},"content":" * (without admin rights or student rights)."},{"lineNumber":206,"author":{"gitId":"-"},"content":" */"},{"lineNumber":207,"author":{"gitId":"-"},"content":" protected void loginAsInstructor(String userId) {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" UserInfo user \u003d mockUserProvision.loginUser(userId);"},{"lineNumber":209,"author":{"gitId":"-"},"content":" assertFalse(user.isStudent);"},{"lineNumber":210,"author":{"gitId":"-"},"content":" assertTrue(user.isInstructor);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" assertFalse(user.isAdmin);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":215,"author":{"gitId":"domoberzin"},"content":" * Logs in the user to the test environment as an instructor"},{"lineNumber":216,"author":{"gitId":"domoberzin"},"content":" * (without admin rights or student rights)."},{"lineNumber":217,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":218,"author":{"gitId":"domoberzin"},"content":" protected void loginAsInstructorWithTransaction(String userId) {"},{"lineNumber":219,"author":{"gitId":"domoberzin"},"content":" UserInfo user \u003d mockUserProvision.loginUserWithTransaction(userId);"},{"lineNumber":220,"author":{"gitId":"domoberzin"},"content":" assertFalse(user.isStudent);"},{"lineNumber":221,"author":{"gitId":"domoberzin"},"content":" assertTrue(user.isInstructor);"},{"lineNumber":222,"author":{"gitId":"domoberzin"},"content":" assertFalse(user.isAdmin);"},{"lineNumber":223,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":224,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":226,"author":{"gitId":"-"},"content":" * Logs in the user to the test environment as a student"},{"lineNumber":227,"author":{"gitId":"-"},"content":" * (without admin rights or instructor rights)."},{"lineNumber":228,"author":{"gitId":"-"},"content":" */"},{"lineNumber":229,"author":{"gitId":"-"},"content":" protected void loginAsStudent(String userId) {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" UserInfo user \u003d mockUserProvision.loginUser(userId);"},{"lineNumber":231,"author":{"gitId":"-"},"content":" assertTrue(user.isStudent);"},{"lineNumber":232,"author":{"gitId":"-"},"content":" assertFalse(user.isInstructor);"},{"lineNumber":233,"author":{"gitId":"-"},"content":" assertFalse(user.isAdmin);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":237,"author":{"gitId":"domoberzin"},"content":" * Logs in the user to the test environment as a student"},{"lineNumber":238,"author":{"gitId":"domoberzin"},"content":" * (without admin rights or instructor rights)."},{"lineNumber":239,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":240,"author":{"gitId":"domoberzin"},"content":" protected void loginAsStudentWithTransaction(String userId) {"},{"lineNumber":241,"author":{"gitId":"domoberzin"},"content":" UserInfo user \u003d mockUserProvision.loginUserWithTransaction(userId);"},{"lineNumber":242,"author":{"gitId":"domoberzin"},"content":" assertTrue(user.isStudent);"},{"lineNumber":243,"author":{"gitId":"domoberzin"},"content":" assertFalse(user.isInstructor);"},{"lineNumber":244,"author":{"gitId":"domoberzin"},"content":" assertFalse(user.isAdmin);"},{"lineNumber":245,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":246,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":248,"author":{"gitId":"-"},"content":" * Logs in the user to the test environment as a student-instructor (without"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * admin rights)."},{"lineNumber":250,"author":{"gitId":"-"},"content":" */"},{"lineNumber":251,"author":{"gitId":"-"},"content":" protected void loginAsStudentInstructor(String userId) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" UserInfo user \u003d mockUserProvision.loginUser(userId);"},{"lineNumber":253,"author":{"gitId":"-"},"content":" assertTrue(user.isStudent);"},{"lineNumber":254,"author":{"gitId":"-"},"content":" assertTrue(user.isInstructor);"},{"lineNumber":255,"author":{"gitId":"-"},"content":" assertFalse(user.isAdmin);"},{"lineNumber":256,"author":{"gitId":"-"},"content":" }"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":259,"author":{"gitId":"-"},"content":" * Logs in the user to the test environment as a maintainer."},{"lineNumber":260,"author":{"gitId":"-"},"content":" */"},{"lineNumber":261,"author":{"gitId":"-"},"content":" protected void loginAsMaintainer() {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" UserInfo user \u003d mockUserProvision.loginUser(Config.APP_MAINTAINERS.get(0));"},{"lineNumber":263,"author":{"gitId":"-"},"content":" assertTrue(user.isMaintainer);"},{"lineNumber":264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":267,"author":{"gitId":"-"},"content":" * Logs the current user out of the test environment."},{"lineNumber":268,"author":{"gitId":"-"},"content":" */"},{"lineNumber":269,"author":{"gitId":"-"},"content":" protected void logoutUser() {"},{"lineNumber":270,"author":{"gitId":"-"},"content":" mockUserProvision.logoutUser();"},{"lineNumber":271,"author":{"gitId":"-"},"content":" }"},{"lineNumber":272,"author":{"gitId":"-"},"content":""},{"lineNumber":273,"author":{"gitId":"-"},"content":" void grantInstructorWithSectionPrivilege("},{"lineNumber":274,"author":{"gitId":"-"},"content":" Instructor instructor, String privilege, String[] sections)"},{"lineNumber":275,"author":{"gitId":"-"},"content":" throws Exception {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" InstructorPrivileges instructorPrivileges \u003d new InstructorPrivileges();"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":" for (String section : sections) {"},{"lineNumber":279,"author":{"gitId":"-"},"content":" instructorPrivileges.updatePrivilege(section, privilege, true);"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" instructor.setPrivileges(instructorPrivileges);"},{"lineNumber":283,"author":{"gitId":"-"},"content":" assert instructor.isValid();"},{"lineNumber":284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" // The next few methods are for testing access control"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" // \u0027High-level\u0027 access-control tests: here it tests access control of an action"},{"lineNumber":289,"author":{"gitId":"-"},"content":" // for the full range of user types."},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":" void verifyAnyUserCanAccess(String... params) {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" verifyAccessibleWithoutLogin(params);"},{"lineNumber":293,"author":{"gitId":"-"},"content":" verifyAccessibleForUnregisteredUsers(params);"},{"lineNumber":294,"author":{"gitId":"-"},"content":" verifyAccessibleForAdmin(params);"},{"lineNumber":295,"author":{"gitId":"-"},"content":" }"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" void verifyAnyLoggedInUserCanAccess(String... params) {"},{"lineNumber":298,"author":{"gitId":"-"},"content":" verifyInaccessibleWithoutLogin(params);"},{"lineNumber":299,"author":{"gitId":"-"},"content":" verifyAccessibleForUnregisteredUsers(params);"},{"lineNumber":300,"author":{"gitId":"-"},"content":" verifyAccessibleForAdmin(params);"},{"lineNumber":301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" void verifyOnlyAdminCanAccess(Course course, String... params)"},{"lineNumber":304,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" verifyInaccessibleWithoutLogin(params);"},{"lineNumber":306,"author":{"gitId":"-"},"content":" verifyInaccessibleForUnregisteredUsers(params);"},{"lineNumber":307,"author":{"gitId":"-"},"content":" verifyInaccessibleForStudents(course, params);"},{"lineNumber":308,"author":{"gitId":"-"},"content":" verifyInaccessibleForInstructors(course, params);"},{"lineNumber":309,"author":{"gitId":"-"},"content":" verifyAccessibleForAdmin(params);"},{"lineNumber":310,"author":{"gitId":"-"},"content":" }"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"domoberzin"},"content":" void verifyOnlyAdminCanAccessWithTransaction(String... params)"},{"lineNumber":313,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":314,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":315,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":316,"author":{"gitId":"domoberzin"},"content":" course \u003d logic.createCourse(course);"},{"lineNumber":317,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":318,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":319,"author":{"gitId":"domoberzin"},"content":" verifyInaccessibleWithoutLogin(params);"},{"lineNumber":320,"author":{"gitId":"domoberzin"},"content":" verifyInaccessibleForUnregisteredUsersWithTransaction(params);"},{"lineNumber":321,"author":{"gitId":"domoberzin"},"content":" verifyInaccessibleForStudentsWithTransaction(course, params);"},{"lineNumber":322,"author":{"gitId":"domoberzin"},"content":" verifyInaccessibleForInstructorsWithTransaction(course, params);"},{"lineNumber":323,"author":{"gitId":"domoberzin"},"content":" verifyAccessibleForAdminWithTransaction(params);"},{"lineNumber":324,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":325,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":326,"author":{"gitId":"domoberzin"},"content":" logic.deleteCourseCascade(course.getId());"},{"lineNumber":327,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":328,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":329,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" void verifyOnlyInstructorsCanAccess(Course course, String... params)"},{"lineNumber":331,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" verifyInaccessibleWithoutLogin(params);"},{"lineNumber":333,"author":{"gitId":"-"},"content":" verifyInaccessibleForUnregisteredUsers(params);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" verifyInaccessibleForStudents(course, params);"},{"lineNumber":335,"author":{"gitId":"-"},"content":" verifyAccessibleForInstructorsOfTheSameCourse(course, params);"},{"lineNumber":336,"author":{"gitId":"-"},"content":" verifyAccessibleForInstructorsOfOtherCourse(course, params);"},{"lineNumber":337,"author":{"gitId":"-"},"content":" verifyAccessibleForAdminToMasqueradeAsInstructor(course, params);"},{"lineNumber":338,"author":{"gitId":"-"},"content":" }"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" void verifyOnlyInstructorsOfTheSameCourseCanAccess(Course course, String[] submissionParams)"},{"lineNumber":341,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":342,"author":{"gitId":"-"},"content":" verifyInaccessibleWithoutLogin(submissionParams);"},{"lineNumber":343,"author":{"gitId":"-"},"content":" verifyInaccessibleForUnregisteredUsers(submissionParams);"},{"lineNumber":344,"author":{"gitId":"-"},"content":" verifyInaccessibleForStudents(course, submissionParams);"},{"lineNumber":345,"author":{"gitId":"-"},"content":" verifyInaccessibleForInstructorsOfOtherCourses(course, submissionParams);"},{"lineNumber":346,"author":{"gitId":"-"},"content":" verifyAccessibleForInstructorsOfTheSameCourse(course, submissionParams);"},{"lineNumber":347,"author":{"gitId":"-"},"content":" verifyAccessibleForAdminToMasqueradeAsInstructor(course, submissionParams);"},{"lineNumber":348,"author":{"gitId":"-"},"content":" }"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":" void verifyOnlyInstructorsOfTheSameCourseWithCorrectCoursePrivilegeCanAccess("},{"lineNumber":351,"author":{"gitId":"-"},"content":" Course course, String privilege, String[] submissionParams) throws Exception {"},{"lineNumber":352,"author":{"gitId":"-"},"content":" verifyInaccessibleWithoutLogin(submissionParams);"},{"lineNumber":353,"author":{"gitId":"-"},"content":" verifyInaccessibleForUnregisteredUsers(submissionParams);"},{"lineNumber":354,"author":{"gitId":"-"},"content":" verifyInaccessibleForStudents(course, submissionParams);"},{"lineNumber":355,"author":{"gitId":"-"},"content":" verifyInaccessibleForInstructorsOfOtherCourses(course, submissionParams);"},{"lineNumber":356,"author":{"gitId":"-"},"content":" verifyInaccessibleWithoutCorrectCoursePrivilege(course, privilege, submissionParams);"},{"lineNumber":357,"author":{"gitId":"-"},"content":" }"},{"lineNumber":358,"author":{"gitId":"-"},"content":""},{"lineNumber":359,"author":{"gitId":"-"},"content":" // \u0027Mid-level\u0027 access control tests: here it tests access control of an action"},{"lineNumber":360,"author":{"gitId":"-"},"content":" // for one user type."},{"lineNumber":361,"author":{"gitId":"-"},"content":""},{"lineNumber":362,"author":{"gitId":"-"},"content":" void verifyAccessibleWithoutLogin(String... params) {"},{"lineNumber":363,"author":{"gitId":"-"},"content":" ______TS(\"Non-logged-in users can access\");"},{"lineNumber":364,"author":{"gitId":"-"},"content":""},{"lineNumber":365,"author":{"gitId":"-"},"content":" logoutUser();"},{"lineNumber":366,"author":{"gitId":"-"},"content":" verifyCanAccess(params);"},{"lineNumber":367,"author":{"gitId":"-"},"content":" }"},{"lineNumber":368,"author":{"gitId":"-"},"content":""},{"lineNumber":369,"author":{"gitId":"-"},"content":" void verifyInaccessibleWithoutLogin(String... params) {"},{"lineNumber":370,"author":{"gitId":"-"},"content":" ______TS(\"Non-logged-in users cannot access\");"},{"lineNumber":371,"author":{"gitId":"-"},"content":""},{"lineNumber":372,"author":{"gitId":"-"},"content":" logoutUser();"},{"lineNumber":373,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":" void verifyAccessibleForUnregisteredUsers(String... params) {"},{"lineNumber":377,"author":{"gitId":"-"},"content":" ______TS(\"Non-registered users can access\");"},{"lineNumber":378,"author":{"gitId":"-"},"content":""},{"lineNumber":379,"author":{"gitId":"-"},"content":" String unregUserId \u003d \"unreg.user\";"},{"lineNumber":380,"author":{"gitId":"-"},"content":" loginAsUnregistered(unregUserId);"},{"lineNumber":381,"author":{"gitId":"-"},"content":" verifyCanAccess(params);"},{"lineNumber":382,"author":{"gitId":"-"},"content":" }"},{"lineNumber":383,"author":{"gitId":"-"},"content":""},{"lineNumber":384,"author":{"gitId":"-"},"content":" void verifyInaccessibleForUnregisteredUsers(String... params) {"},{"lineNumber":385,"author":{"gitId":"-"},"content":" ______TS(\"Non-registered users cannot access\");"},{"lineNumber":386,"author":{"gitId":"-"},"content":""},{"lineNumber":387,"author":{"gitId":"-"},"content":" String unregUserId \u003d \"unreg.user\";"},{"lineNumber":388,"author":{"gitId":"-"},"content":" loginAsUnregistered(unregUserId);"},{"lineNumber":389,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":390,"author":{"gitId":"-"},"content":" }"},{"lineNumber":391,"author":{"gitId":"-"},"content":""},{"lineNumber":392,"author":{"gitId":"domoberzin"},"content":" void verifyInaccessibleForUnregisteredUsersWithTransaction(String... params) {"},{"lineNumber":393,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Non-registered users cannot access\");"},{"lineNumber":394,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":395,"author":{"gitId":"domoberzin"},"content":" String unregUserId \u003d \"unreg.user\";"},{"lineNumber":396,"author":{"gitId":"domoberzin"},"content":" loginAsUnregisteredWithTransaction(unregUserId);"},{"lineNumber":397,"author":{"gitId":"domoberzin"},"content":" verifyCannotAccess(params);"},{"lineNumber":398,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":399,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" void verifyAccessibleForAdmin(String... params) {"},{"lineNumber":401,"author":{"gitId":"-"},"content":" ______TS(\"Admin can access\");"},{"lineNumber":402,"author":{"gitId":"-"},"content":""},{"lineNumber":403,"author":{"gitId":"-"},"content":" loginAsAdmin();"},{"lineNumber":404,"author":{"gitId":"-"},"content":" verifyCanAccess(params);"},{"lineNumber":405,"author":{"gitId":"-"},"content":" }"},{"lineNumber":406,"author":{"gitId":"-"},"content":""},{"lineNumber":407,"author":{"gitId":"domoberzin"},"content":" void verifyAccessibleForAdminWithTransaction(String... params) {"},{"lineNumber":408,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Admin can access\");"},{"lineNumber":409,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":410,"author":{"gitId":"domoberzin"},"content":" loginAsAdminWithTransaction();"},{"lineNumber":411,"author":{"gitId":"domoberzin"},"content":" verifyCanAccess(params);"},{"lineNumber":412,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":413,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":414,"author":{"gitId":"-"},"content":" void verifyInaccessibleForAdmin(String... params) {"},{"lineNumber":415,"author":{"gitId":"-"},"content":" ______TS(\"Admin cannot access\");"},{"lineNumber":416,"author":{"gitId":"-"},"content":""},{"lineNumber":417,"author":{"gitId":"-"},"content":" loginAsAdmin();"},{"lineNumber":418,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":419,"author":{"gitId":"-"},"content":" }"},{"lineNumber":420,"author":{"gitId":"-"},"content":""},{"lineNumber":421,"author":{"gitId":"-"},"content":" void verifyInaccessibleForStudents(Course course, String... params)"},{"lineNumber":422,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":423,"author":{"gitId":"-"},"content":" ______TS(\"Students cannot access\");"},{"lineNumber":424,"author":{"gitId":"-"},"content":" Student student \u003d createTypicalStudent(course, \"InaccessibleForStudents@teammates.tmt\");"},{"lineNumber":425,"author":{"gitId":"-"},"content":""},{"lineNumber":426,"author":{"gitId":"-"},"content":" loginAsStudent(student.getAccount().getGoogleId());"},{"lineNumber":427,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":428,"author":{"gitId":"-"},"content":""},{"lineNumber":429,"author":{"gitId":"-"},"content":" }"},{"lineNumber":430,"author":{"gitId":"-"},"content":""},{"lineNumber":431,"author":{"gitId":"domoberzin"},"content":" void verifyInaccessibleForStudentsWithTransaction(Course course, String... params)"},{"lineNumber":432,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":433,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Students cannot access\");"},{"lineNumber":434,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":435,"author":{"gitId":"domoberzin"},"content":" Student student \u003d createTypicalStudent(course, \"InaccessibleForStudents@teammates.tmt\");"},{"lineNumber":436,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":437,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":438,"author":{"gitId":"domoberzin"},"content":" loginAsStudentWithTransaction(student.getAccount().getGoogleId());"},{"lineNumber":439,"author":{"gitId":"domoberzin"},"content":" verifyCannotAccess(params);"},{"lineNumber":440,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":441,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":442,"author":{"gitId":"domoberzin"},"content":" logic.deleteAccountCascade(student.getAccount().getGoogleId());"},{"lineNumber":443,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":444,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":445,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":446,"author":{"gitId":"-"},"content":" void verifyInaccessibleForInstructors(Course course, String... params)"},{"lineNumber":447,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":448,"author":{"gitId":"-"},"content":" ______TS(\"Instructors cannot access\");"},{"lineNumber":449,"author":{"gitId":"-"},"content":" Instructor instructor \u003d createTypicalInstructor(course, \"InaccessibleForInstructors@teammates.tmt\");"},{"lineNumber":450,"author":{"gitId":"-"},"content":""},{"lineNumber":451,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getAccount().getGoogleId());"},{"lineNumber":452,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":453,"author":{"gitId":"-"},"content":""},{"lineNumber":454,"author":{"gitId":"-"},"content":" }"},{"lineNumber":455,"author":{"gitId":"-"},"content":""},{"lineNumber":456,"author":{"gitId":"domoberzin"},"content":" void verifyInaccessibleForInstructorsWithTransaction(Course course, String... params)"},{"lineNumber":457,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":458,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Instructors cannot access\");"},{"lineNumber":459,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":460,"author":{"gitId":"domoberzin"},"content":" Instructor instructor \u003d createTypicalInstructor(course, \"InaccessibleForInstructors@teammates.tmt\");"},{"lineNumber":461,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":462,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":463,"author":{"gitId":"domoberzin"},"content":" loginAsInstructorWithTransaction(instructor.getAccount().getGoogleId());"},{"lineNumber":464,"author":{"gitId":"domoberzin"},"content":" verifyCannotAccess(params);"},{"lineNumber":465,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":466,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":467,"author":{"gitId":"domoberzin"},"content":" logic.deleteAccountCascade(instructor.getAccount().getGoogleId());"},{"lineNumber":468,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":469,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":470,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":471,"author":{"gitId":"-"},"content":" void verifyAccessibleForAdminToMasqueradeAsInstructor("},{"lineNumber":472,"author":{"gitId":"-"},"content":" Instructor instructor, String[] submissionParams) {"},{"lineNumber":473,"author":{"gitId":"-"},"content":" ______TS(\"admin can access\");"},{"lineNumber":474,"author":{"gitId":"-"},"content":""},{"lineNumber":475,"author":{"gitId":"-"},"content":" loginAsAdmin();"},{"lineNumber":476,"author":{"gitId":"-"},"content":" // not checking for non-masquerade mode because admin may not be an instructor"},{"lineNumber":477,"author":{"gitId":"-"},"content":" verifyCanMasquerade(instructor.getAccount().getGoogleId(), submissionParams);"},{"lineNumber":478,"author":{"gitId":"-"},"content":" }"},{"lineNumber":479,"author":{"gitId":"-"},"content":""},{"lineNumber":480,"author":{"gitId":"-"},"content":" void verifyAccessibleForAdminToMasqueradeAsInstructor(Course course, String[] submissionParams)"},{"lineNumber":481,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":482,"author":{"gitId":"-"},"content":" ______TS(\"admin can access\");"},{"lineNumber":483,"author":{"gitId":"-"},"content":" Instructor instructor \u003d createTypicalInstructor(course,"},{"lineNumber":484,"author":{"gitId":"-"},"content":" \"AccessibleForAdminToMasqueradeAsInstructor@teammates.tmt\");"},{"lineNumber":485,"author":{"gitId":"-"},"content":""},{"lineNumber":486,"author":{"gitId":"-"},"content":" loginAsAdmin();"},{"lineNumber":487,"author":{"gitId":"-"},"content":" // not checking for non-masquerade mode because admin may not be an instructor"},{"lineNumber":488,"author":{"gitId":"-"},"content":" verifyCanMasquerade(instructor.getAccount().getGoogleId(), submissionParams);"},{"lineNumber":489,"author":{"gitId":"-"},"content":" }"},{"lineNumber":490,"author":{"gitId":"-"},"content":""},{"lineNumber":491,"author":{"gitId":"-"},"content":" void verifyInaccessibleWithoutModifySessionPrivilege(Course course, String[] submissionParams)"},{"lineNumber":492,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":493,"author":{"gitId":"-"},"content":" ______TS(\"without Modify-Session privilege cannot access\");"},{"lineNumber":494,"author":{"gitId":"-"},"content":""},{"lineNumber":495,"author":{"gitId":"-"},"content":" Instructor instructor \u003d createTypicalInstructor(course,"},{"lineNumber":496,"author":{"gitId":"-"},"content":" \"InaccessibleWithoutModifySessionPrivilege@teammates.tmt\");"},{"lineNumber":497,"author":{"gitId":"-"},"content":""},{"lineNumber":498,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getAccount().getGoogleId());"},{"lineNumber":499,"author":{"gitId":"-"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":500,"author":{"gitId":"-"},"content":" }"},{"lineNumber":501,"author":{"gitId":"-"},"content":""},{"lineNumber":502,"author":{"gitId":"-"},"content":" void verifyInaccessibleWithoutSubmitSessionInSectionsPrivilege(Course course, String[] submissionParams)"},{"lineNumber":503,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":504,"author":{"gitId":"-"},"content":" ______TS(\"without Submit-Session-In-Sections privilege cannot access\");"},{"lineNumber":505,"author":{"gitId":"-"},"content":""},{"lineNumber":506,"author":{"gitId":"-"},"content":" Instructor instructor \u003d createTypicalInstructor(course,"},{"lineNumber":507,"author":{"gitId":"-"},"content":" \"InaccessibleWithoutSubmitSessionInSectionsPrivilege@teammates.tmt\");"},{"lineNumber":508,"author":{"gitId":"-"},"content":""},{"lineNumber":509,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getAccount().getGoogleId());"},{"lineNumber":510,"author":{"gitId":"-"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":511,"author":{"gitId":"-"},"content":" }"},{"lineNumber":512,"author":{"gitId":"-"},"content":""},{"lineNumber":513,"author":{"gitId":"-"},"content":" void verifyInaccessibleWithoutCorrectCoursePrivilege(Course course, String privilege, String[] submissionParams)"},{"lineNumber":514,"author":{"gitId":"-"},"content":" throws Exception {"},{"lineNumber":515,"author":{"gitId":"-"},"content":" Instructor instructor \u003d createTypicalInstructor(course,"},{"lineNumber":516,"author":{"gitId":"-"},"content":" \"InaccessibleWithoutCorrectCoursePrivilege@teammates.tmt\");"},{"lineNumber":517,"author":{"gitId":"-"},"content":""},{"lineNumber":518,"author":{"gitId":"-"},"content":" ______TS(\"without correct course privilege cannot access\");"},{"lineNumber":519,"author":{"gitId":"-"},"content":""},{"lineNumber":520,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getAccount().getGoogleId());"},{"lineNumber":521,"author":{"gitId":"-"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":522,"author":{"gitId":"-"},"content":""},{"lineNumber":523,"author":{"gitId":"-"},"content":" ______TS(\"only instructor with correct course privilege should pass\");"},{"lineNumber":524,"author":{"gitId":"-"},"content":" InstructorPrivileges instructorPrivileges \u003d new InstructorPrivileges();"},{"lineNumber":525,"author":{"gitId":"-"},"content":""},{"lineNumber":526,"author":{"gitId":"-"},"content":" instructorPrivileges.updatePrivilege(privilege, true);"},{"lineNumber":527,"author":{"gitId":"-"},"content":" instructor.setPrivileges(instructorPrivileges);"},{"lineNumber":528,"author":{"gitId":"-"},"content":""},{"lineNumber":529,"author":{"gitId":"-"},"content":" verifyCanAccess(submissionParams);"},{"lineNumber":530,"author":{"gitId":"-"},"content":" verifyAccessibleForAdminToMasqueradeAsInstructor(instructor, submissionParams);"},{"lineNumber":531,"author":{"gitId":"-"},"content":" }"},{"lineNumber":532,"author":{"gitId":"-"},"content":""},{"lineNumber":533,"author":{"gitId":"-"},"content":" void verifyAccessibleForInstructorsOfTheSameCourse(Course course, String[] submissionParams)"},{"lineNumber":534,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":535,"author":{"gitId":"-"},"content":" ______TS(\"course instructor can access\");"},{"lineNumber":536,"author":{"gitId":"-"},"content":" Course courseOther \u003d createTestCourseOther();"},{"lineNumber":537,"author":{"gitId":"-"},"content":" assert !course.getId().equals(courseOther.getId());"},{"lineNumber":538,"author":{"gitId":"-"},"content":""},{"lineNumber":539,"author":{"gitId":"-"},"content":" Instructor instructorSameCourse \u003d createTypicalInstructor(course,"},{"lineNumber":540,"author":{"gitId":"-"},"content":" \"AccessibleForInstructorsOfTheSameCourse-instructor@teammates.tmt\");"},{"lineNumber":541,"author":{"gitId":"-"},"content":" Student studentSameCourse \u003d createTypicalStudent(course,"},{"lineNumber":542,"author":{"gitId":"-"},"content":" \"AccessibleForInstructorsOfTheSameCourse-student@teammates.tmt\");"},{"lineNumber":543,"author":{"gitId":"-"},"content":" Instructor instructorOtherCourse \u003d createTypicalInstructor(courseOther,"},{"lineNumber":544,"author":{"gitId":"-"},"content":" \"AccessibleForInstructorsOfTheSameCourse-OtherInstructor@teammates.tmt\");"},{"lineNumber":545,"author":{"gitId":"-"},"content":""},{"lineNumber":546,"author":{"gitId":"-"},"content":" loginAsInstructor(instructorSameCourse.getAccount().getGoogleId());"},{"lineNumber":547,"author":{"gitId":"-"},"content":" verifyCanAccess(submissionParams);"},{"lineNumber":548,"author":{"gitId":"-"},"content":""},{"lineNumber":549,"author":{"gitId":"-"},"content":" verifyCannotMasquerade(studentSameCourse.getAccount().getGoogleId(), submissionParams);"},{"lineNumber":550,"author":{"gitId":"-"},"content":" verifyCannotMasquerade(instructorOtherCourse.getAccount().getGoogleId(), submissionParams);"},{"lineNumber":551,"author":{"gitId":"-"},"content":""},{"lineNumber":552,"author":{"gitId":"-"},"content":" }"},{"lineNumber":553,"author":{"gitId":"-"},"content":""},{"lineNumber":554,"author":{"gitId":"-"},"content":" void verifyAccessibleForInstructorsOfOtherCourse(Course course, String[] submissionParams)"},{"lineNumber":555,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":556,"author":{"gitId":"-"},"content":" ______TS(\"other course\u0027s instructor can access\");"},{"lineNumber":557,"author":{"gitId":"-"},"content":" Course courseOther \u003d createTestCourseOther();"},{"lineNumber":558,"author":{"gitId":"-"},"content":" assert !course.getId().equals(courseOther.getId());"},{"lineNumber":559,"author":{"gitId":"-"},"content":""},{"lineNumber":560,"author":{"gitId":"-"},"content":" Instructor instructorSameCourse \u003d createTypicalInstructor(course,"},{"lineNumber":561,"author":{"gitId":"-"},"content":" \"AccessibleForInstructorsOfOtherCourse-instructor@teammates.tmt\");"},{"lineNumber":562,"author":{"gitId":"-"},"content":" Student studentSameCourse \u003d createTypicalStudent(course,"},{"lineNumber":563,"author":{"gitId":"-"},"content":" \"AccessibleForInstructorsOfOtherCourse-student@teammates.tmt\");"},{"lineNumber":564,"author":{"gitId":"-"},"content":" Instructor instructorOtherCourse \u003d createTypicalInstructor(courseOther,"},{"lineNumber":565,"author":{"gitId":"-"},"content":" \"AccessibleForInstructorsOfOtherCourse-OtherInstructor@teammates.tmt\");"},{"lineNumber":566,"author":{"gitId":"-"},"content":""},{"lineNumber":567,"author":{"gitId":"-"},"content":" loginAsInstructor(instructorOtherCourse.getAccount().getGoogleId());"},{"lineNumber":568,"author":{"gitId":"-"},"content":" verifyCanAccess(submissionParams);"},{"lineNumber":569,"author":{"gitId":"-"},"content":""},{"lineNumber":570,"author":{"gitId":"-"},"content":" verifyCannotMasquerade(studentSameCourse.getAccount().getGoogleId(), submissionParams);"},{"lineNumber":571,"author":{"gitId":"-"},"content":" verifyCannotMasquerade(instructorSameCourse.getAccount().getGoogleId(), submissionParams);"},{"lineNumber":572,"author":{"gitId":"-"},"content":" }"},{"lineNumber":573,"author":{"gitId":"-"},"content":""},{"lineNumber":574,"author":{"gitId":"-"},"content":" void verifyAccessibleForStudentsOfTheSameCourse(Course course, String[] submissionParams)"},{"lineNumber":575,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":576,"author":{"gitId":"-"},"content":" ______TS(\"course students can access\");"},{"lineNumber":577,"author":{"gitId":"-"},"content":" Student student \u003d createTypicalStudent(course, \"AccessibleForStudentsOfTheSameCourse@teammates.tmt\");"},{"lineNumber":578,"author":{"gitId":"-"},"content":" loginAsStudent(student.getAccount().getGoogleId());"},{"lineNumber":579,"author":{"gitId":"-"},"content":" verifyCanAccess(submissionParams);"},{"lineNumber":580,"author":{"gitId":"-"},"content":" }"},{"lineNumber":581,"author":{"gitId":"-"},"content":""},{"lineNumber":582,"author":{"gitId":"-"},"content":" void verifyInaccessibleForStudentsOfOtherCourse(Course course, String[] submissionParams)"},{"lineNumber":583,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":584,"author":{"gitId":"-"},"content":" ______TS(\"other course student cannot access\");"},{"lineNumber":585,"author":{"gitId":"-"},"content":" Course courseOther \u003d createTestCourseOther();"},{"lineNumber":586,"author":{"gitId":"-"},"content":" Student otherStudent \u003d createTypicalStudent(courseOther,"},{"lineNumber":587,"author":{"gitId":"-"},"content":" \"InaccessibleForStudentsOfOtherCourse-other@teammates.tmt\");"},{"lineNumber":588,"author":{"gitId":"-"},"content":" assert !course.getId().equals(courseOther.getId());"},{"lineNumber":589,"author":{"gitId":"-"},"content":""},{"lineNumber":590,"author":{"gitId":"-"},"content":" loginAsStudent(otherStudent.getAccount().getGoogleId());"},{"lineNumber":591,"author":{"gitId":"-"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":592,"author":{"gitId":"-"},"content":" }"},{"lineNumber":593,"author":{"gitId":"-"},"content":""},{"lineNumber":594,"author":{"gitId":"-"},"content":" void verifyInaccessibleForInstructorsOfOtherCourses(Course course, String[] submissionParams)"},{"lineNumber":595,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":596,"author":{"gitId":"-"},"content":" ______TS(\"other course instructor cannot access\");"},{"lineNumber":597,"author":{"gitId":"-"},"content":" Course courseOther \u003d createTestCourseOther();"},{"lineNumber":598,"author":{"gitId":"-"},"content":" Instructor otherInstructor \u003d createTypicalInstructor(courseOther,"},{"lineNumber":599,"author":{"gitId":"-"},"content":" \"InaccessibleForInstructorsOfOtherCourses@teammates.tmt\");"},{"lineNumber":600,"author":{"gitId":"-"},"content":" assert !course.getId().equals(courseOther.getId());"},{"lineNumber":601,"author":{"gitId":"-"},"content":""},{"lineNumber":602,"author":{"gitId":"-"},"content":" loginAsInstructor(otherInstructor.getAccount().getGoogleId());"},{"lineNumber":603,"author":{"gitId":"-"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":604,"author":{"gitId":"-"},"content":" }"},{"lineNumber":605,"author":{"gitId":"-"},"content":""},{"lineNumber":606,"author":{"gitId":"-"},"content":" void verifyAccessibleForMaintainers(String... params) {"},{"lineNumber":607,"author":{"gitId":"-"},"content":" ______TS(\"Maintainer can access\");"},{"lineNumber":608,"author":{"gitId":"-"},"content":""},{"lineNumber":609,"author":{"gitId":"-"},"content":" loginAsMaintainer();"},{"lineNumber":610,"author":{"gitId":"-"},"content":" verifyCanAccess(params);"},{"lineNumber":611,"author":{"gitId":"-"},"content":" }"},{"lineNumber":612,"author":{"gitId":"-"},"content":""},{"lineNumber":613,"author":{"gitId":"-"},"content":" // \u0027Low-level\u0027 access control tests: here it tests an action once with the given"},{"lineNumber":614,"author":{"gitId":"-"},"content":" // parameters."},{"lineNumber":615,"author":{"gitId":"-"},"content":" // These methods are not aware of the user type."},{"lineNumber":616,"author":{"gitId":"-"},"content":""},{"lineNumber":617,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":618,"author":{"gitId":"-"},"content":" * Verifies that the {@link Action} matching the {@code params} is accessible to"},{"lineNumber":619,"author":{"gitId":"-"},"content":" * the logged in user."},{"lineNumber":620,"author":{"gitId":"-"},"content":" */"},{"lineNumber":621,"author":{"gitId":"-"},"content":" protected void verifyCanAccess(String... params) {"},{"lineNumber":622,"author":{"gitId":"-"},"content":" Action c \u003d getAction(params);"},{"lineNumber":623,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":624,"author":{"gitId":"-"},"content":" c.checkAccessControl();"},{"lineNumber":625,"author":{"gitId":"-"},"content":" } catch (UnauthorizedAccessException e) {"},{"lineNumber":626,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":627,"author":{"gitId":"-"},"content":" }"},{"lineNumber":628,"author":{"gitId":"-"},"content":" }"},{"lineNumber":629,"author":{"gitId":"-"},"content":""},{"lineNumber":630,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":631,"author":{"gitId":"-"},"content":" * Verifies that the {@link Action} matching the {@code params} is not"},{"lineNumber":632,"author":{"gitId":"-"},"content":" * accessible to the user."},{"lineNumber":633,"author":{"gitId":"-"},"content":" */"},{"lineNumber":634,"author":{"gitId":"-"},"content":" protected void verifyCannotAccess(String... params) {"},{"lineNumber":635,"author":{"gitId":"-"},"content":" Action c \u003d getAction(params);"},{"lineNumber":636,"author":{"gitId":"-"},"content":" assertThrows(UnauthorizedAccessException.class, c::checkAccessControl);"},{"lineNumber":637,"author":{"gitId":"-"},"content":" }"},{"lineNumber":638,"author":{"gitId":"-"},"content":""},{"lineNumber":639,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":640,"author":{"gitId":"-"},"content":" * Verifies that the {@link Action} matching the {@code params} is"},{"lineNumber":641,"author":{"gitId":"-"},"content":" * accessible to the logged in user masquerading as another user with"},{"lineNumber":642,"author":{"gitId":"-"},"content":" * {@code userId}."},{"lineNumber":643,"author":{"gitId":"-"},"content":" */"},{"lineNumber":644,"author":{"gitId":"-"},"content":" protected void verifyCanMasquerade(String userId, String... params) {"},{"lineNumber":645,"author":{"gitId":"-"},"content":" verifyCanAccess(addUserIdToParams(userId, params));"},{"lineNumber":646,"author":{"gitId":"-"},"content":" }"},{"lineNumber":647,"author":{"gitId":"-"},"content":""},{"lineNumber":648,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":649,"author":{"gitId":"-"},"content":" * Verifies that the {@link Action} matching the {@code params} is not"},{"lineNumber":650,"author":{"gitId":"-"},"content":" * accessible to the logged in user masquerading as another user with"},{"lineNumber":651,"author":{"gitId":"-"},"content":" * {@code userId}."},{"lineNumber":652,"author":{"gitId":"-"},"content":" */"},{"lineNumber":653,"author":{"gitId":"-"},"content":" protected void verifyCannotMasquerade(String userId, String... params) {"},{"lineNumber":654,"author":{"gitId":"-"},"content":" assertThrows(UnauthorizedAccessException.class,"},{"lineNumber":655,"author":{"gitId":"-"},"content":" () -\u003e getAction(addUserIdToParams(userId, params)).checkAccessControl());"},{"lineNumber":656,"author":{"gitId":"-"},"content":" }"},{"lineNumber":657,"author":{"gitId":"-"},"content":""},{"lineNumber":658,"author":{"gitId":"-"},"content":" // The next few methods are for parsing results"},{"lineNumber":659,"author":{"gitId":"-"},"content":""},{"lineNumber":660,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":661,"author":{"gitId":"-"},"content":" * Executes the action, verifies the status code as 200 OK, and returns the"},{"lineNumber":662,"author":{"gitId":"-"},"content":" * result."},{"lineNumber":663,"author":{"gitId":"-"},"content":" *"},{"lineNumber":664,"author":{"gitId":"-"},"content":" * \u003cp\u003eAssumption: The action returns a {@link JsonResult}."},{"lineNumber":665,"author":{"gitId":"-"},"content":" */"},{"lineNumber":666,"author":{"gitId":"-"},"content":" protected JsonResult getJsonResult(Action a) {"},{"lineNumber":667,"author":{"gitId":"-"},"content":" return getJsonResult(a, HttpStatus.SC_OK);"},{"lineNumber":668,"author":{"gitId":"-"},"content":" }"},{"lineNumber":669,"author":{"gitId":"-"},"content":""},{"lineNumber":670,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":671,"author":{"gitId":"-"},"content":" * Executes the action, verifies the status code, and returns the result."},{"lineNumber":672,"author":{"gitId":"-"},"content":" *"},{"lineNumber":673,"author":{"gitId":"-"},"content":" * \u003cp\u003eAssumption: The action returns a {@link JsonResult}."},{"lineNumber":674,"author":{"gitId":"-"},"content":" */"},{"lineNumber":675,"author":{"gitId":"-"},"content":" protected JsonResult getJsonResult(Action a, int statusCode) {"},{"lineNumber":676,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":677,"author":{"gitId":"-"},"content":" ActionResult r \u003d a.execute();"},{"lineNumber":678,"author":{"gitId":"-"},"content":" assertEquals(statusCode, r.getStatusCode());"},{"lineNumber":679,"author":{"gitId":"-"},"content":" return (JsonResult) r;"},{"lineNumber":680,"author":{"gitId":"-"},"content":" } catch (InvalidOperationException | InvalidHttpRequestBodyException e) {"},{"lineNumber":681,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":682,"author":{"gitId":"-"},"content":" }"},{"lineNumber":683,"author":{"gitId":"-"},"content":" }"},{"lineNumber":684,"author":{"gitId":"-"},"content":""},{"lineNumber":685,"author":{"gitId":"-"},"content":" // The next few methods are for verifying action results"},{"lineNumber":686,"author":{"gitId":"-"},"content":""},{"lineNumber":687,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":688,"author":{"gitId":"-"},"content":" * Verifies that the executed action results in"},{"lineNumber":689,"author":{"gitId":"-"},"content":" * {@link InvalidHttpParameterException} being thrown."},{"lineNumber":690,"author":{"gitId":"-"},"content":" */"},{"lineNumber":691,"author":{"gitId":"-"},"content":" protected InvalidHttpParameterException verifyHttpParameterFailure(String... params) {"},{"lineNumber":692,"author":{"gitId":"-"},"content":" Action c \u003d getAction(params);"},{"lineNumber":693,"author":{"gitId":"-"},"content":" return assertThrows(InvalidHttpParameterException.class, c::execute);"},{"lineNumber":694,"author":{"gitId":"-"},"content":" }"},{"lineNumber":695,"author":{"gitId":"-"},"content":""},{"lineNumber":696,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":697,"author":{"gitId":"-"},"content":" * Verifies that the executed action results in"},{"lineNumber":698,"author":{"gitId":"-"},"content":" * {@link InvalidHttpParameterException} being thrown."},{"lineNumber":699,"author":{"gitId":"-"},"content":" */"},{"lineNumber":700,"author":{"gitId":"-"},"content":" protected InvalidHttpParameterException verifyHttpParameterFailure(BasicRequest requestBody, String... params) {"},{"lineNumber":701,"author":{"gitId":"-"},"content":" Action c \u003d getAction(requestBody, params);"},{"lineNumber":702,"author":{"gitId":"-"},"content":" return assertThrows(InvalidHttpParameterException.class, c::execute);"},{"lineNumber":703,"author":{"gitId":"-"},"content":" }"},{"lineNumber":704,"author":{"gitId":"-"},"content":""},{"lineNumber":705,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":706,"author":{"gitId":"-"},"content":" * Verifies that the action results in {@link InvalidHttpParameterException}"},{"lineNumber":707,"author":{"gitId":"-"},"content":" * being thrown"},{"lineNumber":708,"author":{"gitId":"-"},"content":" * when checking for access control."},{"lineNumber":709,"author":{"gitId":"-"},"content":" */"},{"lineNumber":710,"author":{"gitId":"-"},"content":" protected InvalidHttpParameterException verifyHttpParameterFailureAcl(String... params) {"},{"lineNumber":711,"author":{"gitId":"-"},"content":" Action c \u003d getAction(params);"},{"lineNumber":712,"author":{"gitId":"-"},"content":" return assertThrows(InvalidHttpParameterException.class, c::checkAccessControl);"},{"lineNumber":713,"author":{"gitId":"-"},"content":" }"},{"lineNumber":714,"author":{"gitId":"-"},"content":""},{"lineNumber":715,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":716,"author":{"gitId":"-"},"content":" * Verifies that the executed action results in"},{"lineNumber":717,"author":{"gitId":"-"},"content":" * {@link InvalidHttpRequestBodyException} being thrown."},{"lineNumber":718,"author":{"gitId":"-"},"content":" */"},{"lineNumber":719,"author":{"gitId":"-"},"content":" protected InvalidHttpRequestBodyException verifyHttpRequestBodyFailure(BasicRequest requestBody, String... params) {"},{"lineNumber":720,"author":{"gitId":"-"},"content":" Action c \u003d getAction(requestBody, params);"},{"lineNumber":721,"author":{"gitId":"-"},"content":" return assertThrows(InvalidHttpRequestBodyException.class, c::execute);"},{"lineNumber":722,"author":{"gitId":"-"},"content":" }"},{"lineNumber":723,"author":{"gitId":"-"},"content":""},{"lineNumber":724,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":725,"author":{"gitId":"-"},"content":" * Verifies that the executed action results in {@link EntityNotFoundException}"},{"lineNumber":726,"author":{"gitId":"-"},"content":" * being thrown."},{"lineNumber":727,"author":{"gitId":"-"},"content":" */"},{"lineNumber":728,"author":{"gitId":"-"},"content":" protected EntityNotFoundException verifyEntityNotFound(String... params) {"},{"lineNumber":729,"author":{"gitId":"-"},"content":" Action c \u003d getAction(params);"},{"lineNumber":730,"author":{"gitId":"-"},"content":" return assertThrows(EntityNotFoundException.class, c::execute);"},{"lineNumber":731,"author":{"gitId":"-"},"content":" }"},{"lineNumber":732,"author":{"gitId":"-"},"content":""},{"lineNumber":733,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":734,"author":{"gitId":"-"},"content":" * Verifies that the executed action results in {@link EntityNotFoundException}"},{"lineNumber":735,"author":{"gitId":"-"},"content":" * being thrown."},{"lineNumber":736,"author":{"gitId":"-"},"content":" */"},{"lineNumber":737,"author":{"gitId":"-"},"content":" protected EntityNotFoundException verifyEntityNotFound(BasicRequest requestBody, String... params) {"},{"lineNumber":738,"author":{"gitId":"-"},"content":" Action c \u003d getAction(requestBody, params);"},{"lineNumber":739,"author":{"gitId":"-"},"content":" return assertThrows(EntityNotFoundException.class, c::execute);"},{"lineNumber":740,"author":{"gitId":"-"},"content":" }"},{"lineNumber":741,"author":{"gitId":"-"},"content":""},{"lineNumber":742,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":743,"author":{"gitId":"-"},"content":" * Verifies that the action results in {@link EntityNotFoundException} being"},{"lineNumber":744,"author":{"gitId":"-"},"content":" * thrown when checking for access control."},{"lineNumber":745,"author":{"gitId":"-"},"content":" */"},{"lineNumber":746,"author":{"gitId":"-"},"content":" protected EntityNotFoundException verifyEntityNotFoundAcl(String... params) {"},{"lineNumber":747,"author":{"gitId":"-"},"content":" Action c \u003d getAction(params);"},{"lineNumber":748,"author":{"gitId":"-"},"content":" return assertThrows(EntityNotFoundException.class, c::checkAccessControl);"},{"lineNumber":749,"author":{"gitId":"-"},"content":" }"},{"lineNumber":750,"author":{"gitId":"-"},"content":""},{"lineNumber":751,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":752,"author":{"gitId":"-"},"content":" * Verifies that the executed action results in"},{"lineNumber":753,"author":{"gitId":"-"},"content":" * {@link InvalidOperationException} being thrown."},{"lineNumber":754,"author":{"gitId":"-"},"content":" */"},{"lineNumber":755,"author":{"gitId":"-"},"content":" protected InvalidOperationException verifyInvalidOperation(String... params) {"},{"lineNumber":756,"author":{"gitId":"-"},"content":" Action c \u003d getAction(params);"},{"lineNumber":757,"author":{"gitId":"-"},"content":" return assertThrows(InvalidOperationException.class, c::execute);"},{"lineNumber":758,"author":{"gitId":"-"},"content":" }"},{"lineNumber":759,"author":{"gitId":"-"},"content":""},{"lineNumber":760,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":761,"author":{"gitId":"-"},"content":" * Verifies that the executed action results in"},{"lineNumber":762,"author":{"gitId":"-"},"content":" * {@link InvalidOperationException} being thrown."},{"lineNumber":763,"author":{"gitId":"-"},"content":" */"},{"lineNumber":764,"author":{"gitId":"-"},"content":" protected InvalidOperationException verifyInvalidOperation(BasicRequest requestBody, String... params) {"},{"lineNumber":765,"author":{"gitId":"-"},"content":" Action c \u003d getAction(requestBody, params);"},{"lineNumber":766,"author":{"gitId":"-"},"content":" return assertThrows(InvalidOperationException.class, c::execute);"},{"lineNumber":767,"author":{"gitId":"-"},"content":" }"},{"lineNumber":768,"author":{"gitId":"-"},"content":""},{"lineNumber":769,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":770,"author":{"gitId":"-"},"content":" * Verifies that the executed action does not result in any background task"},{"lineNumber":771,"author":{"gitId":"-"},"content":" * being added."},{"lineNumber":772,"author":{"gitId":"-"},"content":" */"},{"lineNumber":773,"author":{"gitId":"-"},"content":" protected void verifyNoTasksAdded() {"},{"lineNumber":774,"author":{"gitId":"-"},"content":" Map\u003cString, Integer\u003e tasksAdded \u003d mockTaskQueuer.getNumberOfTasksAdded();"},{"lineNumber":775,"author":{"gitId":"-"},"content":" assertEquals(0, tasksAdded.keySet().size());"},{"lineNumber":776,"author":{"gitId":"-"},"content":" }"},{"lineNumber":777,"author":{"gitId":"-"},"content":""},{"lineNumber":778,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":779,"author":{"gitId":"-"},"content":" * Verifies that the executed action results in the specified background tasks"},{"lineNumber":780,"author":{"gitId":"-"},"content":" * being added."},{"lineNumber":781,"author":{"gitId":"-"},"content":" */"},{"lineNumber":782,"author":{"gitId":"-"},"content":" protected void verifySpecifiedTasksAdded(String taskName, int taskCount) {"},{"lineNumber":783,"author":{"gitId":"-"},"content":" Map\u003cString, Integer\u003e tasksAdded \u003d mockTaskQueuer.getNumberOfTasksAdded();"},{"lineNumber":784,"author":{"gitId":"-"},"content":" assertEquals(taskCount, tasksAdded.get(taskName).intValue());"},{"lineNumber":785,"author":{"gitId":"-"},"content":" }"},{"lineNumber":786,"author":{"gitId":"-"},"content":""},{"lineNumber":787,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":788,"author":{"gitId":"-"},"content":" * Verifies that the executed action does not result in any email being sent."},{"lineNumber":789,"author":{"gitId":"-"},"content":" */"},{"lineNumber":790,"author":{"gitId":"-"},"content":" protected void verifyNoEmailsSent() {"},{"lineNumber":791,"author":{"gitId":"-"},"content":" assertTrue(getEmailsSent().isEmpty());"},{"lineNumber":792,"author":{"gitId":"-"},"content":" }"},{"lineNumber":793,"author":{"gitId":"-"},"content":""},{"lineNumber":794,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":795,"author":{"gitId":"-"},"content":" * Returns the list of emails sent as part of the executed action."},{"lineNumber":796,"author":{"gitId":"-"},"content":" */"},{"lineNumber":797,"author":{"gitId":"-"},"content":" protected List\u003cEmailWrapper\u003e getEmailsSent() {"},{"lineNumber":798,"author":{"gitId":"-"},"content":" return mockEmailSender.getEmailsSent();"},{"lineNumber":799,"author":{"gitId":"-"},"content":" }"},{"lineNumber":800,"author":{"gitId":"-"},"content":""},{"lineNumber":801,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":802,"author":{"gitId":"-"},"content":" * Verifies that the executed action results in the specified number of emails"},{"lineNumber":803,"author":{"gitId":"-"},"content":" * being sent."},{"lineNumber":804,"author":{"gitId":"-"},"content":" */"},{"lineNumber":805,"author":{"gitId":"-"},"content":" protected void verifyNumberOfEmailsSent(int emailCount) {"},{"lineNumber":806,"author":{"gitId":"-"},"content":" assertEquals(emailCount, mockEmailSender.getEmailsSent().size());"},{"lineNumber":807,"author":{"gitId":"-"},"content":" }"},{"lineNumber":808,"author":{"gitId":"-"},"content":""},{"lineNumber":809,"author":{"gitId":"-"},"content":" private Course createTestCourseOther() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":810,"author":{"gitId":"-"},"content":" if (testCourseOther \u003d\u003d null) {"},{"lineNumber":811,"author":{"gitId":"-"},"content":" testCourseOther \u003d new Course(\"test-course-other-id\", \"test course other\", Const.DEFAULT_TIME_ZONE,"},{"lineNumber":812,"author":{"gitId":"-"},"content":" \"test-institute\");"},{"lineNumber":813,"author":{"gitId":"-"},"content":" logic.createCourse(testCourseOther);"},{"lineNumber":814,"author":{"gitId":"-"},"content":" }"},{"lineNumber":815,"author":{"gitId":"-"},"content":" return testCourseOther;"},{"lineNumber":816,"author":{"gitId":"-"},"content":" }"},{"lineNumber":817,"author":{"gitId":"-"},"content":""},{"lineNumber":818,"author":{"gitId":"-"},"content":" private Instructor createTypicalInstructor(Course course, String email)"},{"lineNumber":819,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":820,"author":{"gitId":"-"},"content":" Instructor instructor \u003d logic.getInstructorForEmail(course.getId(), email);"},{"lineNumber":821,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":822,"author":{"gitId":"-"},"content":" instructor \u003d new Instructor(course, \"instructor-name\", email, true, \"display-name\","},{"lineNumber":823,"author":{"gitId":"-"},"content":" InstructorPermissionRole.INSTRUCTOR_PERMISSION_ROLE_COOWNER, new InstructorPrivileges());"},{"lineNumber":824,"author":{"gitId":"-"},"content":" logic.createInstructor(instructor);"},{"lineNumber":825,"author":{"gitId":"-"},"content":""},{"lineNumber":826,"author":{"gitId":"-"},"content":" Account account \u003d new Account(email, \"account\", email);"},{"lineNumber":827,"author":{"gitId":"-"},"content":" logic.createAccount(account);"},{"lineNumber":828,"author":{"gitId":"-"},"content":" instructor.setAccount(account);"},{"lineNumber":829,"author":{"gitId":"-"},"content":" }"},{"lineNumber":830,"author":{"gitId":"-"},"content":" return instructor;"},{"lineNumber":831,"author":{"gitId":"-"},"content":" }"},{"lineNumber":832,"author":{"gitId":"-"},"content":""},{"lineNumber":833,"author":{"gitId":"-"},"content":" private Student createTypicalStudent(Course course, String email)"},{"lineNumber":834,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":835,"author":{"gitId":"-"},"content":" Student student \u003d logic.getStudentForEmail(course.getId(), email);"},{"lineNumber":836,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":837,"author":{"gitId":"-"},"content":" student \u003d new Student(course, \"student-name\", email, \"\");"},{"lineNumber":838,"author":{"gitId":"-"},"content":" logic.createStudent(student);"},{"lineNumber":839,"author":{"gitId":"-"},"content":""},{"lineNumber":840,"author":{"gitId":"-"},"content":" Account account \u003d new Account(email, \"account\", email);"},{"lineNumber":841,"author":{"gitId":"-"},"content":" logic.createAccount(account);"},{"lineNumber":842,"author":{"gitId":"-"},"content":" student.setAccount(account);"},{"lineNumber":843,"author":{"gitId":"-"},"content":" }"},{"lineNumber":844,"author":{"gitId":"-"},"content":" return student;"},{"lineNumber":845,"author":{"gitId":"-"},"content":" }"},{"lineNumber":846,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":105,"-":741}},{"path":"src/it/java/teammates/it/ui/webapi/CreateAccountRequestActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.AfterMethod;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailType;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.ui.output.AccountRequestData;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.ui.request.AccountCreateRequest;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.CreateAccountRequestAction;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":23,"author":{"gitId":"-"},"content":" * SUT: {@link CreateAccountRequestAction}."},{"lineNumber":24,"author":{"gitId":"-"},"content":" */"},{"lineNumber":25,"author":{"gitId":"-"},"content":"public class CreateAccountRequestActionIT extends BaseActionIT\u003cCreateAccountRequestAction\u003e {"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"-"},"content":" String getActionUri() {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" return Const.ResourceURIs.ACCOUNT_REQUEST;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"-"},"content":" String getRequestMethod() {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" return POST;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":38,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":39,"author":{"gitId":"-"},"content":" protected void setUp() {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" // CreateAccountRequestAction handles its own transactions;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" // There is thus no need to setup a transaction."},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":45,"author":{"gitId":"-"},"content":" protected void testExecute() throws Exception {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" // This is separated into different test methods."},{"lineNumber":47,"author":{"gitId":"-"},"content":" }"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":50,"author":{"gitId":"-"},"content":" void testExecute_nullEmail_throwsInvalidHttpRequestBodyException() {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" AccountCreateRequest request \u003d new AccountCreateRequest();"},{"lineNumber":52,"author":{"gitId":"-"},"content":" request.setInstructorName(\"Paul Atreides\");"},{"lineNumber":53,"author":{"gitId":"-"},"content":" request.setInstructorInstitution(\"House Atreides\");"},{"lineNumber":54,"author":{"gitId":"-"},"content":" InvalidHttpRequestBodyException ihrbException \u003d verifyHttpRequestBodyFailure(request);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" assertEquals(\"email cannot be null\", ihrbException.getMessage());"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":59,"author":{"gitId":"-"},"content":" void testExecute_nullName_throwsInvalidHttpRequestBodyException() {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" AccountCreateRequest request \u003d new AccountCreateRequest();"},{"lineNumber":61,"author":{"gitId":"-"},"content":" request.setInstructorEmail(\"kwisatz.haderach@atreides.org\");"},{"lineNumber":62,"author":{"gitId":"-"},"content":" request.setInstructorInstitution(\"House Atreides\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" InvalidHttpRequestBodyException ihrbException \u003d verifyHttpRequestBodyFailure(request);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" assertEquals(\"name cannot be null\", ihrbException.getMessage());"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":68,"author":{"gitId":"-"},"content":" void testExecute_nullInstitute_throwsInvalidHttpRequestBodyException() {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" AccountCreateRequest request \u003d new AccountCreateRequest();"},{"lineNumber":70,"author":{"gitId":"-"},"content":" request.setInstructorEmail(\"kwisatz.haderach@atreides.org\");"},{"lineNumber":71,"author":{"gitId":"-"},"content":" request.setInstructorName(\"Paul Atreides\");"},{"lineNumber":72,"author":{"gitId":"-"},"content":" InvalidHttpRequestBodyException ihrbException \u003d verifyHttpRequestBodyFailure(request);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" assertEquals(\"institute cannot be null\", ihrbException.getMessage());"},{"lineNumber":74,"author":{"gitId":"-"},"content":" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":77,"author":{"gitId":"-"},"content":" void testExecute_invalidEmail_throwsInvalidHttpRequestBodyException() {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" AccountCreateRequest request \u003d new AccountCreateRequest();"},{"lineNumber":79,"author":{"gitId":"-"},"content":" request.setInstructorEmail(\"invalid email address\");"},{"lineNumber":80,"author":{"gitId":"-"},"content":" request.setInstructorName(\"Paul Atreides\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":" request.setInstructorInstitution(\"House Atreides\");"},{"lineNumber":82,"author":{"gitId":"-"},"content":" InvalidHttpRequestBodyException ihrbException \u003d verifyHttpRequestBodyFailure(request);"},{"lineNumber":83,"author":{"gitId":"-"},"content":" String expectedMessage \u003d \"\\\"invalid email address\\\" is not acceptable to TEAMMATES as a/an email because it is not \""},{"lineNumber":84,"author":{"gitId":"-"},"content":" + \"in the correct format. An email address contains some text followed by one \u0027@\u0027 sign followed by some \""},{"lineNumber":85,"author":{"gitId":"-"},"content":" + \"more text, and should end with a top level domain address like .com. It cannot be longer than 254 \""},{"lineNumber":86,"author":{"gitId":"-"},"content":" + \"characters, cannot be empty and cannot contain spaces.\";"},{"lineNumber":87,"author":{"gitId":"-"},"content":" assertEquals(expectedMessage, ihrbException.getMessage());"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":91,"author":{"gitId":"-"},"content":" void testExecute_invalidName_throwsInvalidHttpRequestBodyException() {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" AccountCreateRequest request \u003d new AccountCreateRequest();"},{"lineNumber":93,"author":{"gitId":"-"},"content":" request.setInstructorEmail(\"kwisatz.haderach@atreides.org\");"},{"lineNumber":94,"author":{"gitId":"-"},"content":" request.setInstructorName(\"Pau| Atreides\");"},{"lineNumber":95,"author":{"gitId":"-"},"content":" request.setInstructorInstitution(\"House Atreides\");"},{"lineNumber":96,"author":{"gitId":"-"},"content":" InvalidHttpRequestBodyException ihrbException \u003d verifyHttpRequestBodyFailure(request);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" String expectedMessage \u003d \"\\\"Pau| Atreides\\\" is not acceptable to TEAMMATES as a/an person name because it contains \""},{"lineNumber":98,"author":{"gitId":"-"},"content":" + \"invalid characters. A/An person name must start with an alphanumeric character, and cannot contain any \""},{"lineNumber":99,"author":{"gitId":"-"},"content":" + \"vertical bar (|) or percent sign (%).\";"},{"lineNumber":100,"author":{"gitId":"-"},"content":" assertEquals(expectedMessage, ihrbException.getMessage());"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":104,"author":{"gitId":"-"},"content":" void testExecute_invalidInstitute_throwsInvalidHttpRequestBodyException() {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" AccountCreateRequest request \u003d new AccountCreateRequest();"},{"lineNumber":106,"author":{"gitId":"-"},"content":" request.setInstructorEmail(\"kwisatz.haderach@atreides.org\");"},{"lineNumber":107,"author":{"gitId":"-"},"content":" request.setInstructorName(\"Paul Atreides\");"},{"lineNumber":108,"author":{"gitId":"-"},"content":" request.setInstructorInstitution(\"House Atreide%\");"},{"lineNumber":109,"author":{"gitId":"-"},"content":" InvalidHttpRequestBodyException ihrbException \u003d verifyHttpRequestBodyFailure(request);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" String expectedMessage \u003d \"\\\"House Atreide%\\\" is not acceptable to TEAMMATES as a/an institute name because it \""},{"lineNumber":111,"author":{"gitId":"-"},"content":" + \"contains invalid characters. A/An institute name must start with an alphanumeric character, and cannot \""},{"lineNumber":112,"author":{"gitId":"-"},"content":" + \"contain any vertical bar (|) or percent sign (%).\";"},{"lineNumber":113,"author":{"gitId":"-"},"content":" assertEquals(expectedMessage, ihrbException.getMessage());"},{"lineNumber":114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":117,"author":{"gitId":"-"},"content":" void testExecute_typicalCase_createsSuccessfully() {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" AccountCreateRequest request \u003d new AccountCreateRequest();"},{"lineNumber":119,"author":{"gitId":"-"},"content":" request.setInstructorEmail(\"kwisatz.haderach@atreides.org\");"},{"lineNumber":120,"author":{"gitId":"-"},"content":" request.setInstructorName(\"Paul Atreides\");"},{"lineNumber":121,"author":{"gitId":"-"},"content":" request.setInstructorInstitution(\"House Atreides\");"},{"lineNumber":122,"author":{"gitId":"-"},"content":" request.setInstructorComments(\"My road leads into the desert. I can see it.\");"},{"lineNumber":123,"author":{"gitId":"-"},"content":" CreateAccountRequestAction action \u003d getAction(request);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" JsonResult result \u003d getJsonResult(action);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" AccountRequestData output \u003d (AccountRequestData) result.getOutput();"},{"lineNumber":126,"author":{"gitId":"-"},"content":" assertEquals(\"kwisatz.haderach@atreides.org\", output.getEmail());"},{"lineNumber":127,"author":{"gitId":"-"},"content":" assertEquals(\"Paul Atreides\", output.getName());"},{"lineNumber":128,"author":{"gitId":"-"},"content":" assertEquals(\"House Atreides\", output.getInstitute());"},{"lineNumber":129,"author":{"gitId":"-"},"content":" assertEquals(AccountRequestStatus.PENDING, output.getStatus());"},{"lineNumber":130,"author":{"gitId":"-"},"content":" assertEquals(\"My road leads into the desert. I can see it.\", output.getComments());"},{"lineNumber":131,"author":{"gitId":"-"},"content":" assertNull(output.getRegisteredAt());"},{"lineNumber":132,"author":{"gitId":"-"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":133,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d logic.getAccountRequestByRegistrationKey(output.getRegistrationKey());"},{"lineNumber":134,"author":{"gitId":"-"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":135,"author":{"gitId":"-"},"content":" assertEquals(\"kwisatz.haderach@atreides.org\", accountRequest.getEmail());"},{"lineNumber":136,"author":{"gitId":"-"},"content":" assertEquals(\"Paul Atreides\", accountRequest.getName());"},{"lineNumber":137,"author":{"gitId":"-"},"content":" assertEquals(\"House Atreides\", accountRequest.getInstitute());"},{"lineNumber":138,"author":{"gitId":"-"},"content":" assertEquals(AccountRequestStatus.PENDING, accountRequest.getStatus());"},{"lineNumber":139,"author":{"gitId":"-"},"content":" assertEquals(\"My road leads into the desert. I can see it.\", accountRequest.getComments());"},{"lineNumber":140,"author":{"gitId":"-"},"content":" assertNull(accountRequest.getRegisteredAt());"},{"lineNumber":141,"author":{"gitId":"-"},"content":" verifySpecifiedTasksAdded(Const.TaskQueue.SEARCH_INDEXING_QUEUE_NAME, 1);"},{"lineNumber":142,"author":{"gitId":"xenosf"},"content":" verifyNumberOfEmailsSent(2);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" EmailWrapper sentAdminAlertEmail \u003d mockEmailSender.getEmailsSent().get(0);"},{"lineNumber":144,"author":{"gitId":"xenosf"},"content":" EmailWrapper sentAcknowledgementEmail \u003d mockEmailSender.getEmailsSent().get(1);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" assertEquals(EmailType.NEW_ACCOUNT_REQUEST_ADMIN_ALERT, sentAdminAlertEmail.getType());"},{"lineNumber":146,"author":{"gitId":"xenosf"},"content":" assertEquals(EmailType.NEW_ACCOUNT_REQUEST_ACKNOWLEDGEMENT, sentAcknowledgementEmail.getType());"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":150,"author":{"gitId":"-"},"content":" void testExecute_leadingAndTrailingSpacesAndNullComments_createsSuccessfully() {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" AccountCreateRequest request \u003d new AccountCreateRequest();"},{"lineNumber":152,"author":{"gitId":"-"},"content":" request.setInstructorEmail(\" kwisatz.haderach@atreides.org \");"},{"lineNumber":153,"author":{"gitId":"-"},"content":" request.setInstructorName(\" Paul Atreides \");"},{"lineNumber":154,"author":{"gitId":"-"},"content":" request.setInstructorInstitution(\" House Atreides \");"},{"lineNumber":155,"author":{"gitId":"-"},"content":" CreateAccountRequestAction action \u003d getAction(request);"},{"lineNumber":156,"author":{"gitId":"-"},"content":" JsonResult result \u003d getJsonResult(action);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" AccountRequestData output \u003d (AccountRequestData) result.getOutput();"},{"lineNumber":158,"author":{"gitId":"-"},"content":" assertEquals(\"kwisatz.haderach@atreides.org\", output.getEmail());"},{"lineNumber":159,"author":{"gitId":"-"},"content":" assertEquals(\"Paul Atreides\", output.getName());"},{"lineNumber":160,"author":{"gitId":"-"},"content":" assertEquals(\"House Atreides\", output.getInstitute());"},{"lineNumber":161,"author":{"gitId":"-"},"content":" assertEquals(AccountRequestStatus.PENDING, output.getStatus());"},{"lineNumber":162,"author":{"gitId":"-"},"content":" assertNull(output.getComments());"},{"lineNumber":163,"author":{"gitId":"-"},"content":" assertNull(output.getRegisteredAt());"},{"lineNumber":164,"author":{"gitId":"-"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":165,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d logic.getAccountRequestByRegistrationKey(output.getRegistrationKey());"},{"lineNumber":166,"author":{"gitId":"-"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":167,"author":{"gitId":"-"},"content":" assertEquals(\"kwisatz.haderach@atreides.org\", accountRequest.getEmail());"},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertEquals(\"Paul Atreides\", accountRequest.getName());"},{"lineNumber":169,"author":{"gitId":"-"},"content":" assertEquals(\"House Atreides\", accountRequest.getInstitute());"},{"lineNumber":170,"author":{"gitId":"-"},"content":" assertEquals(AccountRequestStatus.PENDING, accountRequest.getStatus());"},{"lineNumber":171,"author":{"gitId":"-"},"content":" assertNull(accountRequest.getComments());"},{"lineNumber":172,"author":{"gitId":"-"},"content":" assertNull(accountRequest.getRegisteredAt());"},{"lineNumber":173,"author":{"gitId":"-"},"content":" verifySpecifiedTasksAdded(Const.TaskQueue.SEARCH_INDEXING_QUEUE_NAME, 1);"},{"lineNumber":174,"author":{"gitId":"xenosf"},"content":" verifyNumberOfEmailsSent(2);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" EmailWrapper sentAdminAlertEmail \u003d mockEmailSender.getEmailsSent().get(0);"},{"lineNumber":176,"author":{"gitId":"xenosf"},"content":" EmailWrapper sentAcknowledgementEmail \u003d mockEmailSender.getEmailsSent().get(1);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" assertEquals(EmailType.NEW_ACCOUNT_REQUEST_ADMIN_ALERT, sentAdminAlertEmail.getType());"},{"lineNumber":178,"author":{"gitId":"xenosf"},"content":" assertEquals(EmailType.NEW_ACCOUNT_REQUEST_ACKNOWLEDGEMENT, sentAcknowledgementEmail.getType());"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":182,"author":{"gitId":"-"},"content":" void testExecute_accountRequestWithSameEmailAddressAndInstituteAlreadyExists_createsSuccessfully()"},{"lineNumber":183,"author":{"gitId":"-"},"content":" throws InvalidParametersException {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":185,"author":{"gitId":"-"},"content":" AccountRequest existingAccountRequest \u003d logic.createAccountRequest(\"Paul Atreides\","},{"lineNumber":186,"author":{"gitId":"-"},"content":" \"kwisatz.haderach@atreides.org\","},{"lineNumber":187,"author":{"gitId":"-"},"content":" \"House Atreides\", AccountRequestStatus.PENDING, \"My road leads into the desert. I can see it.\");"},{"lineNumber":188,"author":{"gitId":"-"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":189,"author":{"gitId":"-"},"content":" AccountCreateRequest request \u003d new AccountCreateRequest();"},{"lineNumber":190,"author":{"gitId":"-"},"content":" request.setInstructorEmail(\"kwisatz.haderach@atreides.org\");"},{"lineNumber":191,"author":{"gitId":"-"},"content":" request.setInstructorName(\"Paul Atreides\");"},{"lineNumber":192,"author":{"gitId":"-"},"content":" request.setInstructorInstitution(\"House Atreides\");"},{"lineNumber":193,"author":{"gitId":"-"},"content":" request.setInstructorComments(\"My road leads into the desert. I can see it.\");"},{"lineNumber":194,"author":{"gitId":"-"},"content":" CreateAccountRequestAction action \u003d getAction(request);"},{"lineNumber":195,"author":{"gitId":"-"},"content":" JsonResult result \u003d getJsonResult(action);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" AccountRequestData output \u003d (AccountRequestData) result.getOutput();"},{"lineNumber":197,"author":{"gitId":"-"},"content":" assertEquals(\"kwisatz.haderach@atreides.org\", output.getEmail());"},{"lineNumber":198,"author":{"gitId":"-"},"content":" assertEquals(\"Paul Atreides\", output.getName());"},{"lineNumber":199,"author":{"gitId":"-"},"content":" assertEquals(\"House Atreides\", output.getInstitute());"},{"lineNumber":200,"author":{"gitId":"-"},"content":" assertEquals(AccountRequestStatus.PENDING, output.getStatus());"},{"lineNumber":201,"author":{"gitId":"-"},"content":" assertEquals(\"My road leads into the desert. I can see it.\", output.getComments());"},{"lineNumber":202,"author":{"gitId":"-"},"content":" assertNull(output.getRegisteredAt());"},{"lineNumber":203,"author":{"gitId":"-"},"content":" assertNotEquals(output.getRegistrationKey(), existingAccountRequest.getRegistrationKey());"},{"lineNumber":204,"author":{"gitId":"-"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":205,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d logic.getAccountRequestByRegistrationKey(output.getRegistrationKey());"},{"lineNumber":206,"author":{"gitId":"-"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":207,"author":{"gitId":"-"},"content":" assertEquals(\"kwisatz.haderach@atreides.org\", accountRequest.getEmail());"},{"lineNumber":208,"author":{"gitId":"-"},"content":" assertEquals(\"Paul Atreides\", accountRequest.getName());"},{"lineNumber":209,"author":{"gitId":"-"},"content":" assertEquals(\"House Atreides\", accountRequest.getInstitute());"},{"lineNumber":210,"author":{"gitId":"-"},"content":" assertEquals(AccountRequestStatus.PENDING, accountRequest.getStatus());"},{"lineNumber":211,"author":{"gitId":"-"},"content":" assertEquals(\"My road leads into the desert. I can see it.\", accountRequest.getComments());"},{"lineNumber":212,"author":{"gitId":"-"},"content":" assertNull(accountRequest.getRegisteredAt());"},{"lineNumber":213,"author":{"gitId":"-"},"content":" verifySpecifiedTasksAdded(Const.TaskQueue.SEARCH_INDEXING_QUEUE_NAME, 1);"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" verifyNumberOfEmailsSent(2);"},{"lineNumber":215,"author":{"gitId":"-"},"content":" EmailWrapper sentAdminAlertEmail \u003d mockEmailSender.getEmailsSent().get(0);"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" EmailWrapper sentAcknowledgementEmail \u003d mockEmailSender.getEmailsSent().get(1);"},{"lineNumber":217,"author":{"gitId":"-"},"content":" assertEquals(EmailType.NEW_ACCOUNT_REQUEST_ADMIN_ALERT, sentAdminAlertEmail.getType());"},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":" assertEquals(EmailType.NEW_ACCOUNT_REQUEST_ACKNOWLEDGEMENT, sentAcknowledgementEmail.getType());"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":222,"author":{"gitId":"xenosf"},"content":" void testExecute_typicalCaseAsAdmin_noEmailsSent() {"},{"lineNumber":223,"author":{"gitId":"xenosf"},"content":" loginAsAdminWithTransaction();"},{"lineNumber":224,"author":{"gitId":"xenosf"},"content":" AccountCreateRequest request \u003d new AccountCreateRequest();"},{"lineNumber":225,"author":{"gitId":"xenosf"},"content":" request.setInstructorEmail(\"kwisatz.haderach@atreides.org\");"},{"lineNumber":226,"author":{"gitId":"xenosf"},"content":" request.setInstructorName(\"Paul Atreides\");"},{"lineNumber":227,"author":{"gitId":"xenosf"},"content":" request.setInstructorInstitution(\"House Atreides\");"},{"lineNumber":228,"author":{"gitId":"xenosf"},"content":" request.setInstructorComments(\"My road leads into the desert. I can see it.\");"},{"lineNumber":229,"author":{"gitId":"xenosf"},"content":" CreateAccountRequestAction action \u003d getAction(request);"},{"lineNumber":230,"author":{"gitId":"xenosf"},"content":" JsonResult result \u003d getJsonResult(action);"},{"lineNumber":231,"author":{"gitId":"xenosf"},"content":" AccountRequestData output \u003d (AccountRequestData) result.getOutput();"},{"lineNumber":232,"author":{"gitId":"xenosf"},"content":" assertNull(output.getRegisteredAt());"},{"lineNumber":233,"author":{"gitId":"xenosf"},"content":" verifyNoEmailsSent();"},{"lineNumber":234,"author":{"gitId":"xenosf"},"content":" logoutUser();"},{"lineNumber":235,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":236,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":238,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":239,"author":{"gitId":"-"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" verifyAccessibleWithoutLogin();"},{"lineNumber":241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":244,"author":{"gitId":"domoberzin"},"content":" @AfterMethod"},{"lineNumber":245,"author":{"gitId":"domoberzin"},"content":" protected void tearDown() {"},{"lineNumber":246,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":247,"author":{"gitId":"domoberzin"},"content":" List\u003cAccountRequest\u003e accountRequests \u003d logic.getPendingAccountRequests();"},{"lineNumber":248,"author":{"gitId":"domoberzin"},"content":" for (AccountRequest ar : accountRequests) {"},{"lineNumber":249,"author":{"gitId":"dishenggg"},"content":" logic.deleteAccountRequest(ar.getId());"},{"lineNumber":250,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":251,"author":{"gitId":"domoberzin"},"content":" accountRequests \u003d logic.getPendingAccountRequests();"},{"lineNumber":252,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":253,"author":{"gitId":"domoberzin"},"content":" assert accountRequests.isEmpty();"},{"lineNumber":254,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":255,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":14,"xenosf":25,"dishenggg":1,"-":215}},{"path":"src/it/java/teammates/it/ui/webapi/CreateFeedbackSessionLogActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.output.MessageOutput;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.webapi.CreateFeedbackSessionLogAction;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":" * SUT: {@link CreateFeedbackSessionLogAction}."},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":"public class CreateFeedbackSessionLogActionIT extends BaseActionIT\u003cCreateFeedbackSessionLogAction\u003e {"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":" protected String getActionUri() {"},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":" return Const.ResourceURIs.SESSION_LOGS;"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" protected String getRequestMethod() {"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" return POST;"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" protected void testExecute() throws Exception {"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" Course course1 \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" String courseId1 \u003d course1.getId();"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" FeedbackSession fs1 \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" FeedbackSession fs2 \u003d typicalBundle.feedbackSessions.get(\"session2InTypicalCourse\");"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" Student student2 \u003d typicalBundle.students.get(\"student2InCourse1\");"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" Student student3 \u003d typicalBundle.students.get(\"student1InCourse3\");"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: not enough parameters\");"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure(Const.ParamsNames.COURSE_ID, courseId1);"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure("},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fs1.getName()"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" );"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure("},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fs1.getName(),"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.SUBMISSION.getLabel(),"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail()"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" );"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure("},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fs1.getName(),"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail()"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" );"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure("},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_ID, fs2.getId().toString(),"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.SUBMISSION.getLabel(),"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, student2.getId().toString()"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" );"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: invalid log type\");"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" String[] paramsInvalid \u003d {"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fs1.getName(),"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, \"invalid log type\","},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_ID, fs1.getId().toString(),"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, student1.getId().toString(),"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure(paramsInvalid);"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Success case: typical access\");"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" String[] paramsSuccessfulAccess \u003d {"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fs1.getName(),"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_ID, fs1.getId().toString(),"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, student1.getId().toString(),"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":" JsonResult response \u003d getJsonResult(getAction(paramsSuccessfulAccess));"},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" MessageOutput output \u003d (MessageOutput) response.getOutput();"},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" assertEquals(\"Successful\", output.getMessage());"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Success case: typical submission\");"},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":" String[] paramsSuccessfulSubmission \u003d {"},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fs2.getName(),"},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.SUBMISSION.getLabel(),"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_EMAIL, student2.getEmail(),"},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_ID, fs2.getId().toString(),"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, student2.getId().toString(),"},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" response \u003d getJsonResult(getAction(paramsSuccessfulSubmission));"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":" output \u003d (MessageOutput) response.getOutput();"},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":" assertEquals(\"Successful\", output.getMessage());"},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Success case: should create even for invalid parameters\");"},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" String[] paramsNonExistentCourseId \u003d {"},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, \"non-existent-course-id\","},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fs1.getName(),"},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.SUBMISSION.getLabel(),"},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_ID, fs1.getId().toString(),"},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, student1.getId().toString(),"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":" response \u003d getJsonResult(getAction(paramsNonExistentCourseId));"},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":" output \u003d (MessageOutput) response.getOutput();"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":" assertEquals(\"Successful\", output.getMessage());"},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Success case: should create even for invalid parameters\");"},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" String[] paramsNonExistentFsName \u003d {"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, \"non-existent-feedback-session-name\","},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.SUBMISSION.getLabel(),"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_ID, UUID.randomUUID().toString(),"},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, student1.getId().toString(),"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" response \u003d getJsonResult(getAction(paramsNonExistentFsName));"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" output \u003d (MessageOutput) response.getOutput();"},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" assertEquals(\"Successful\", output.getMessage());"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":" String[] paramsNonExistentStudentEmail \u003d {"},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fs1.getName(),"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.SUBMISSION.getLabel(),"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_EMAIL, \"non-existent-student@email.com\","},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_ID, fs1.getId().toString(),"},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, UUID.randomUUID().toString(),"},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":" response \u003d getJsonResult(getAction(paramsNonExistentStudentEmail));"},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":" output \u003d (MessageOutput) response.getOutput();"},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" assertEquals(\"Successful\", output.getMessage());"},{"lineNumber":140,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":141,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Success case: should create even when student cannot access feedback session in course\");"},{"lineNumber":142,"author":{"gitId":"dishenggg"},"content":" String[] paramsWithoutAccess \u003d {"},{"lineNumber":143,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":144,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fs1.getName(),"},{"lineNumber":145,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.SUBMISSION.getLabel(),"},{"lineNumber":146,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_EMAIL, student3.getEmail(),"},{"lineNumber":147,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_ID, fs1.getId().toString(),"},{"lineNumber":148,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, student3.getId().toString(),"},{"lineNumber":149,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":" response \u003d getJsonResult(getAction(paramsWithoutAccess));"},{"lineNumber":151,"author":{"gitId":"dishenggg"},"content":" output \u003d (MessageOutput) response.getOutput();"},{"lineNumber":152,"author":{"gitId":"dishenggg"},"content":" assertEquals(\"Successful\", output.getMessage());"},{"lineNumber":153,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":154,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":155,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":156,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":158,"author":{"gitId":"dishenggg"},"content":" verifyAnyUserCanAccess();"},{"lineNumber":159,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":160,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":160}},{"path":"src/it/java/teammates/it/ui/webapi/CreateInstructorActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"mingyuanc"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":3,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":4,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.Test;"},{"lineNumber":5,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":6,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.util.Const;"},{"lineNumber":7,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":8,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":9,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":10,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.output.InstructorData;"},{"lineNumber":11,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.request.InstructorCreateRequest;"},{"lineNumber":12,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.webapi.CreateInstructorAction;"},{"lineNumber":13,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.webapi.InvalidOperationException;"},{"lineNumber":14,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":15,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":16,"author":{"gitId":"mingyuanc"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"mingyuanc"},"content":" * SUT: {@link CreateInstructorAction}."},{"lineNumber":18,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":19,"author":{"gitId":"mingyuanc"},"content":"public class CreateInstructorActionIT extends BaseActionIT\u003cCreateInstructorAction\u003e {"},{"lineNumber":20,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"mingyuanc"},"content":" @BeforeMethod"},{"lineNumber":22,"author":{"gitId":"mingyuanc"},"content":" protected void setUp() throws Exception {"},{"lineNumber":23,"author":{"gitId":"mingyuanc"},"content":" super.setUp();"},{"lineNumber":24,"author":{"gitId":"mingyuanc"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":25,"author":{"gitId":"mingyuanc"},"content":" HibernateUtil.flushSession();"},{"lineNumber":26,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":27,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":28,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"mingyuanc"},"content":" protected String getActionUri() {"},{"lineNumber":30,"author":{"gitId":"mingyuanc"},"content":" return Const.ResourceURIs.INSTRUCTOR;"},{"lineNumber":31,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":32,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":33,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"mingyuanc"},"content":" protected String getRequestMethod() {"},{"lineNumber":35,"author":{"gitId":"mingyuanc"},"content":" return POST;"},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":37,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":39,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":40,"author":{"gitId":"mingyuanc"},"content":" protected void testExecute() {"},{"lineNumber":41,"author":{"gitId":"mingyuanc"},"content":" // see test cases below"},{"lineNumber":42,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":43,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":44,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":45,"author":{"gitId":"mingyuanc"},"content":" protected void testExecute_typicalCase_shouldPass() throws Exception {"},{"lineNumber":46,"author":{"gitId":"mingyuanc"},"content":" loginAsAdmin();"},{"lineNumber":47,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":48,"author":{"gitId":"mingyuanc"},"content":" Course course1 \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":49,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":50,"author":{"gitId":"mingyuanc"},"content":" String[] params \u003d {"},{"lineNumber":51,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.COURSE_ID, course1.getId(),"},{"lineNumber":52,"author":{"gitId":"mingyuanc"},"content":" };"},{"lineNumber":53,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":54,"author":{"gitId":"mingyuanc"},"content":" InstructorCreateRequest instructorCreateRequest \u003d new InstructorCreateRequest("},{"lineNumber":55,"author":{"gitId":"mingyuanc"},"content":" \"00000000-0000-4000-8000-000000000006\", \"newInstructorName\","},{"lineNumber":56,"author":{"gitId":"mingyuanc"},"content":" \"newInstructorEmail@mail.com\", Const.InstructorPermissionRoleNames.INSTRUCTOR_PERMISSION_ROLE_COOWNER,"},{"lineNumber":57,"author":{"gitId":"mingyuanc"},"content":" \"instructorDisplayName\", false);"},{"lineNumber":58,"author":{"gitId":"mingyuanc"},"content":" CreateInstructorAction action \u003d getAction(instructorCreateRequest, params);"},{"lineNumber":59,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":60,"author":{"gitId":"mingyuanc"},"content":" JsonResult response \u003d getJsonResult(action);"},{"lineNumber":61,"author":{"gitId":"mingyuanc"},"content":" InstructorData instructorData \u003d (InstructorData) response.getOutput();"},{"lineNumber":62,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":63,"author":{"gitId":"mingyuanc"},"content":" Instructor createdInstructor \u003d logic.getInstructorForEmail(course1.getId(), instructorCreateRequest.getEmail());"},{"lineNumber":64,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":65,"author":{"gitId":"mingyuanc"},"content":" assertEquals(createdInstructor.getName(), instructorCreateRequest.getName());"},{"lineNumber":66,"author":{"gitId":"mingyuanc"},"content":" assertEquals(createdInstructor.getEmail(), instructorCreateRequest.getEmail());"},{"lineNumber":67,"author":{"gitId":"mingyuanc"},"content":" assertEquals(createdInstructor.getName(), instructorData.getName());"},{"lineNumber":68,"author":{"gitId":"mingyuanc"},"content":" assertEquals(createdInstructor.getEmail(), instructorData.getEmail());"},{"lineNumber":69,"author":{"gitId":"mingyuanc"},"content":" assertFalse(createdInstructor.isDisplayedToStudents());"},{"lineNumber":70,"author":{"gitId":"mingyuanc"},"content":" assertTrue(createdInstructor.isAllowedForPrivilege(Const.InstructorPermissions.CAN_MODIFY_COURSE));"},{"lineNumber":71,"author":{"gitId":"mingyuanc"},"content":" assertTrue(createdInstructor.isAllowedForPrivilege(Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR));"},{"lineNumber":72,"author":{"gitId":"mingyuanc"},"content":" assertTrue(createdInstructor.isAllowedForPrivilege(Const.InstructorPermissions.CAN_MODIFY_SESSION));"},{"lineNumber":73,"author":{"gitId":"mingyuanc"},"content":" assertTrue(createdInstructor.isAllowedForPrivilege(Const.InstructorPermissions.CAN_MODIFY_STUDENT));"},{"lineNumber":74,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":75,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":76,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":77,"author":{"gitId":"mingyuanc"},"content":" protected void testExecute_uniqueEmailClash_shouldFail() throws Exception {"},{"lineNumber":78,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":79,"author":{"gitId":"mingyuanc"},"content":" Instructor instructor1OfCourse1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":80,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":81,"author":{"gitId":"mingyuanc"},"content":" loginAsAdmin();"},{"lineNumber":82,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":83,"author":{"gitId":"mingyuanc"},"content":" String[] params \u003d {"},{"lineNumber":84,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.COURSE_ID, instructor1OfCourse1.getCourseId(),"},{"lineNumber":85,"author":{"gitId":"mingyuanc"},"content":" };"},{"lineNumber":86,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":87,"author":{"gitId":"mingyuanc"},"content":" InstructorCreateRequest instructorCreateRequest \u003d new InstructorCreateRequest("},{"lineNumber":88,"author":{"gitId":"mingyuanc"},"content":" instructor1OfCourse1.getCourseId(), \"instructor3ofCourse1\","},{"lineNumber":89,"author":{"gitId":"mingyuanc"},"content":" instructor1OfCourse1.getEmail(), Const.InstructorPermissionRoleNames.INSTRUCTOR_PERMISSION_ROLE_TUTOR,"},{"lineNumber":90,"author":{"gitId":"mingyuanc"},"content":" \"instructor3ofCourse1\", false);"},{"lineNumber":91,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":92,"author":{"gitId":"mingyuanc"},"content":" CreateInstructorAction action \u003d getAction(instructorCreateRequest, params);"},{"lineNumber":93,"author":{"gitId":"mingyuanc"},"content":" assertThrows(InvalidOperationException.class, action::execute);"},{"lineNumber":94,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":95,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":96,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":97,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":98,"author":{"gitId":"mingyuanc"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":99,"author":{"gitId":"mingyuanc"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":100,"author":{"gitId":"mingyuanc"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor2OfCourse1\");"},{"lineNumber":101,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":102,"author":{"gitId":"mingyuanc"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":103,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":104,"author":{"gitId":"mingyuanc"},"content":" };"},{"lineNumber":105,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":106,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"Admins can access\");"},{"lineNumber":107,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":108,"author":{"gitId":"mingyuanc"},"content":" verifyAccessibleForAdmin(submissionParams);"},{"lineNumber":109,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":110,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"only instructors of the same course can access\");"},{"lineNumber":111,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":112,"author":{"gitId":"mingyuanc"},"content":" verifyOnlyInstructorsOfTheSameCourseWithCorrectCoursePrivilegeCanAccess(course,"},{"lineNumber":113,"author":{"gitId":"mingyuanc"},"content":" Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR, submissionParams);"},{"lineNumber":114,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"instructors of other courses cannot access\");"},{"lineNumber":115,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":116,"author":{"gitId":"mingyuanc"},"content":" verifyInaccessibleForInstructorsOfOtherCourses(course, submissionParams);"},{"lineNumber":117,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":118,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":119,"author":{"gitId":"mingyuanc"},"content":"}"}],"authorContributionMap":{"mingyuanc":119}},{"path":"src/it/java/teammates/it/ui/webapi/DeleteStudentsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.DeleteStudentsAction;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * SUT: {@link DeleteStudentsAction}."},{"lineNumber":17,"author":{"gitId":"-"},"content":" */"},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class DeleteStudentsActionIT extends BaseActionIT\u003cDeleteStudentsAction\u003e {"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":22,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":24,"author":{"gitId":"-"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":25,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"-"},"content":" String getActionUri() {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" return Const.ResourceURIs.STUDENTS;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" }"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"-"},"content":" String getRequestMethod() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" return DELETE;"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":39,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":40,"author":{"gitId":"-"},"content":" protected void testExecute() throws Exception {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":" String courseId \u003d instructor.getCourseId();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" // TODO Remove limit after migration completes"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" int deleteLimit \u003d 4;"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case delete a limited number of students\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentsToDelete \u003d logic.getStudentsForCourse(courseId);"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"marquestye"},"content":" assertEquals(5, studentsToDelete.size());"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" String[] params \u003d new String[] {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" Const.ParamsNames.LIMIT, String.valueOf(deleteLimit),"},{"lineNumber":56,"author":{"gitId":"-"},"content":" };"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" DeleteStudentsAction deleteStudentsAction \u003d getAction(params);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" getJsonResult(deleteStudentsAction);"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" for (Student student : studentsToDelete) {"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" assertNull(logic.getStudentByRegistrationKey(student.getRegKey()));"},{"lineNumber":63,"author":{"gitId":"-"},"content":" }"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" ______TS(\"Random course given, fails silently\");"},{"lineNumber":66,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, \"non-existent-course-id\","},{"lineNumber":68,"author":{"gitId":"-"},"content":" Const.ParamsNames.LIMIT, String.valueOf(deleteLimit),"},{"lineNumber":69,"author":{"gitId":"-"},"content":" };"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" deleteStudentsAction \u003d getAction(params);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" getJsonResult(deleteStudentsAction);"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" ______TS(\"Invalid params\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure();"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":79,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":80,"author":{"gitId":"-"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" String[] params \u003d new String[] {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":85,"author":{"gitId":"-"},"content":" };"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" verifyOnlyInstructorsOfTheSameCourseWithCorrectCoursePrivilegeCanAccess("},{"lineNumber":88,"author":{"gitId":"-"},"content":" course, Const.InstructorPermissions.CAN_MODIFY_STUDENT, params);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" }"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":1,"dishenggg":2,"-":88}},{"path":"src/it/java/teammates/it/ui/webapi/EnrollStudentsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import java.util.Arrays;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.Const;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.output.EnrollStudentsData;"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.request.StudentsEnrollRequest;"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.EnrollStudentsAction;"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.InvalidOperationException;"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" * SUT: {@link EnrollStudentsAction}."},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":"public class EnrollStudentsActionIT extends BaseActionIT\u003cEnrollStudentsAction\u003e {"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" @BeforeMethod"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" protected void setUp() throws Exception {"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" super.setUp();"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.flushSession();"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" protected String getActionUri() {"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" return Const.ResourceURIs.STUDENTS;"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" protected String getRequestMethod() {"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" return PUT;"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" private StudentsEnrollRequest prepareRequest(List\u003cStudent\u003e students) {"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" List\u003cStudentsEnrollRequest.StudentEnrollRequest\u003e studentEnrollRequests \u003d new ArrayList\u003c\u003e();"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" students.forEach(student -\u003e {"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" studentEnrollRequests.add(new StudentsEnrollRequest.StudentEnrollRequest(student.getName(),"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" student.getEmail(), student.getTeam().getName(), student.getSection().getName(), student.getComments()));"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" return new StudentsEnrollRequest(studentEnrollRequests);"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" public void testExecute() throws Exception {"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d typicalBundle.students.get(\"student1InCourse1\").getCourseId();"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" Course course \u003d logic.getCourse(courseId);"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" Section section \u003d logic.getSection(courseId, \"Section 1\");"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":" Team team \u003d logic.getTeamOrCreate(section, \"Team 1\");"},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" Student newStudent \u003d new Student(course, \"Test Student\", \"test@email.com\", \"Test Comment\", team);"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" String[] params \u003d new String[] {"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e students \u003d new ArrayList\u003c\u003e(logic.getStudentsForCourse(courseId));"},{"lineNumber":76,"author":{"gitId":"marquestye"},"content":" assertEquals(5, students.size());"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical Success Case For Enrolling a Student\");"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" StudentsEnrollRequest request \u003d prepareRequest(Arrays.asList(newStudent));"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" EnrollStudentsAction enrollStudentsAction \u003d getAction(request, params);"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" JsonResult res \u003d getJsonResult(enrollStudentsAction);"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" EnrollStudentsData data \u003d (EnrollStudentsData) res.getOutput();"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" assertEquals(1, data.getStudentsData().getStudents().size());"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e studentsInCourse \u003d logic.getStudentsForCourse(courseId);"},{"lineNumber":86,"author":{"gitId":"marquestye"},"content":" assertEquals(6, studentsInCourse.size());"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Fail to enroll due to duplicate team name across sections\");"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" String expectedMessage \u003d \"Team \\\"%s\\\" is detected in both Section \\\"%s\\\" and Section \\\"%s\\\".\""},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" + \" Please use different team names in different sections.\";"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" Section newSection \u003d logic.getSection(courseId, \"Section 3\");"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" Team newTeam \u003d new Team(newSection, \"Team 1\");"},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" newStudent \u003d new Student(course, \"Test Student\", \"test@email.com\", \"Test Comment\", newTeam);"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" Student secondStudent \u003d new Student(course, \"Test Student 2\", \"test2@email.com\", \"Test Comment\","},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" team);"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" StudentsEnrollRequest req \u003d prepareRequest(Arrays.asList(secondStudent, newStudent));"},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":" InvalidOperationException exception \u003d verifyInvalidOperation(req, params);"},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" assertEquals(String.format(expectedMessage, \"Team 1\", \"Section 3\", \"Section 1\"), exception.getMessage());"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical Success Case For Changing Details (except email) of a Student\");"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" Section section3 \u003d logic.getSection(courseId, \"Section 3\");"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" Team team3 \u003d logic.getTeamOrCreate(section3, \"Team 3\");"},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":" Student changedTeam \u003d new Student(course, \"Student 1\", \"student1@teammates.tmt\", \"Test Comment\", team3);"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" request \u003d prepareRequest(Arrays.asList(changedTeam));"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" enrollStudentsAction \u003d getAction(request, params);"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" res \u003d getJsonResult(enrollStudentsAction);"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" data \u003d (EnrollStudentsData) res.getOutput();"},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" assertEquals(1, data.getStudentsData().getStudents().size());"},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" studentsInCourse \u003d logic.getStudentsForCourse(courseId);"},{"lineNumber":114,"author":{"gitId":"marquestye"},"content":" assertEquals(6, studentsInCourse.size());"},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" // Verify that changes have cascaded to feedback responses"},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" String giverEmail \u003d \"student1@teammates.tmt\";"},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponse\u003e responsesFromUser \u003d"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" logic.getFeedbackResponsesFromGiverForCourse(courseId, giverEmail);"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponse response : responsesFromUser) {"},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":" assertEquals(logic.getSection(courseId, \"Section 3\"), response.getGiverSection());"},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponse\u003e responsesToUser \u003d"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" logic.getFeedbackResponsesForRecipientForCourse(courseId, giverEmail);"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponse response : responsesToUser) {"},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":" assertEquals(logic.getSection(courseId, \"Section 3\"), response.getRecipientSection());"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponseComment\u003e commentsFromUser \u003d logic.getFeedbackResponseCommentsForResponse(response.getId());"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponseComment comment : commentsFromUser) {"},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" if (comment.getGiver().equals(giverEmail)) {"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" assertEquals(logic.getSection(courseId, \"Section 3\"), comment.getGiverSection());"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" String[] params \u003d new String[] {"},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":147,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":148,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":" verifyOnlyInstructorsOfTheSameCourseWithCorrectCoursePrivilegeCanAccess("},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":" course, Const.InstructorPermissions.CAN_MODIFY_STUDENT, params);"},{"lineNumber":151,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":152,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":149,"marquestye":3}},{"path":"src/it/java/teammates/it/ui/webapi/FeedbackSessionClosingRemindersActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Duration;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.ui.output.MessageOutput;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.FeedbackSessionClosingRemindersAction;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * SUT: {@link FeedbackSessionClosingRemindersAction}."},{"lineNumber":23,"author":{"gitId":"-"},"content":" */"},{"lineNumber":24,"author":{"gitId":"-"},"content":"public class FeedbackSessionClosingRemindersActionIT extends BaseActionIT\u003cFeedbackSessionClosingRemindersAction\u003e {"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":27,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":28,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":30,"author":{"gitId":"-"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":32,"author":{"gitId":"-"},"content":" prepareSession();"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" private void prepareSession() {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" // DEADLINE EXTENSIONS"},{"lineNumber":37,"author":{"gitId":"-"},"content":" String[] deKeys \u003d {\"student1InCourse1Session1\", \"instructor1InCourse1Session1\"};"},{"lineNumber":38,"author":{"gitId":"-"},"content":" List\u003cDeadlineExtension\u003e exts \u003d new ArrayList\u003c\u003e();"},{"lineNumber":39,"author":{"gitId":"-"},"content":" for (String deKey : deKeys) {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" exts.add(typicalBundle.deadlineExtensions.get(deKey));"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" // FEEDBACK QUESTIONS"},{"lineNumber":44,"author":{"gitId":"-"},"content":" String[] fqKeys \u003d {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"qn1InSession1InCourse1\","},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"qn2InSession1InCourse1\","},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"qn3InSession1InCourse1\","},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"qn4InSession1InCourse1\","},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"qn5InSession1InCourse1\","},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"qn6InSession1InCourse1NoResponses\","},{"lineNumber":51,"author":{"gitId":"-"},"content":" };"},{"lineNumber":52,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e qns \u003d new ArrayList\u003c\u003e();"},{"lineNumber":53,"author":{"gitId":"-"},"content":" for (String fqKey : fqKeys) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" qns.add(typicalBundle.feedbackQuestions.get(fqKey));"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" FeedbackSession session \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":58,"author":{"gitId":"-"},"content":" session.setDeadlineExtensions(exts);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" session.setFeedbackQuestions(qns);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":63,"author":{"gitId":"-"},"content":" String getActionUri() {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" return Const.CronJobURIs.AUTOMATED_FEEDBACK_CLOSING_REMINDERS;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":68,"author":{"gitId":"-"},"content":" String getRequestMethod() {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" return GET;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":73,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":74,"author":{"gitId":"-"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":76,"author":{"gitId":"-"},"content":" verifyOnlyAdminCanAccess(course);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":80,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":81,"author":{"gitId":"-"},"content":" protected void testExecute() throws Exception {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" loginAsAdmin();"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case 1: email tasks added for 1 all users of 1 session\");"},{"lineNumber":85,"author":{"gitId":"-"},"content":" textExecute_typicalSuccess1();"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case 2: email tasks added for 1 all users of 1 session and 1 deadline extension\");"},{"lineNumber":88,"author":{"gitId":"-"},"content":" textExecute_typicalSuccess2();"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case 3: Only 1 email task queued -- \""},{"lineNumber":91,"author":{"gitId":"-"},"content":" + \"0 for session: already sent, \""},{"lineNumber":92,"author":{"gitId":"-"},"content":" + \"1 for deadline extension: closing-soon not sent yet\");"},{"lineNumber":93,"author":{"gitId":"-"},"content":" textExecute_typicalSuccess3();"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case 4: No tasks queued -- \""},{"lineNumber":96,"author":{"gitId":"-"},"content":" + \"both session and deadline extensions have already sent closing-soon emails\");"},{"lineNumber":97,"author":{"gitId":"-"},"content":" textExecute_typicalSuccess4();"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case 5: No tasks queued -- session\u0027s closing-soon email disabled\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":" textExecute_typicalSuccess5();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" private void textExecute_typicalSuccess1() {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" long oneHour \u003d 60 * 60;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":106,"author":{"gitId":"-"},"content":" Duration noGracePeriod \u003d Duration.between(now, now);"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" FeedbackSession session \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":109,"author":{"gitId":"-"},"content":" session.setClosingSoonEmailSent(false);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" session.setEndTime(now.plusSeconds((oneHour * 23) + 60));"},{"lineNumber":111,"author":{"gitId":"-"},"content":" session.setGracePeriod(noGracePeriod);"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" String[] params \u003d {};"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" FeedbackSessionClosingRemindersAction action1 \u003d getAction(params);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" JsonResult actionOutput1 \u003d getJsonResult(action1);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" MessageOutput response1 \u003d (MessageOutput) actionOutput1.getOutput();"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" assertEquals(\"Successful\", response1.getMessage());"},{"lineNumber":120,"author":{"gitId":"-"},"content":" assertTrue(session.isClosingSoonEmailSent());"},{"lineNumber":121,"author":{"gitId":"-"},"content":" assertTrue(session.getDeadlineExtensions().stream().allMatch(de -\u003e !de.isClosingSoonEmailSent()));"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"marquestye"},"content":" // 7 email tasks queued:"},{"lineNumber":124,"author":{"gitId":"marquestye"},"content":" // 1 co-owner, 5 students and 3 instructors,"},{"lineNumber":125,"author":{"gitId":"-"},"content":" // but 1 student and 1 instructor have deadline extensions (should not receive email)"},{"lineNumber":126,"author":{"gitId":"marquestye"},"content":" verifySpecifiedTasksAdded(Const.TaskQueue.SEND_EMAIL_QUEUE_NAME, 7);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" private void textExecute_typicalSuccess2() {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" long oneHour \u003d 60 * 60;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":132,"author":{"gitId":"-"},"content":" Duration noGracePeriod \u003d Duration.between(now, now);"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" FeedbackSession session \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":135,"author":{"gitId":"-"},"content":" session.setClosingSoonEmailSent(false);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" session.setEndTime(now.plusSeconds((oneHour * 23) + 60));"},{"lineNumber":137,"author":{"gitId":"-"},"content":" session.setGracePeriod(noGracePeriod);"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" DeadlineExtension de \u003d session.getDeadlineExtensions().get(0);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" de.setEndTime(now.plusSeconds(oneHour * 16));"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" String[] params \u003d {};"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" FeedbackSessionClosingRemindersAction action1 \u003d getAction(params);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" JsonResult actionOutput1 \u003d getJsonResult(action1);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" MessageOutput response1 \u003d (MessageOutput) actionOutput1.getOutput();"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" assertEquals(\"Successful\", response1.getMessage());"},{"lineNumber":149,"author":{"gitId":"-"},"content":" assertTrue(session.isClosingSoonEmailSent());"},{"lineNumber":150,"author":{"gitId":"-"},"content":" assertTrue(de.isClosingSoonEmailSent());"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"marquestye"},"content":" // 8 email tasks queued:"},{"lineNumber":153,"author":{"gitId":"marquestye"},"content":" // - 7 emails: 1 co-owner, 5 students and 3 instructors,"},{"lineNumber":154,"author":{"gitId":"-"},"content":" // but 1 student and 1 instructor have deadline extensions (should not receive email)"},{"lineNumber":155,"author":{"gitId":"-"},"content":" // - 1 email: 1 student deadline extension"},{"lineNumber":156,"author":{"gitId":"marquestye"},"content":" verifySpecifiedTasksAdded(Const.TaskQueue.SEND_EMAIL_QUEUE_NAME, 8);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" }"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" private void textExecute_typicalSuccess3() {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" long oneHour \u003d 60 * 60;"},{"lineNumber":161,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":162,"author":{"gitId":"-"},"content":" Duration noGracePeriod \u003d Duration.between(now, now);"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" FeedbackSession session \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":165,"author":{"gitId":"-"},"content":" session.setClosingSoonEmailSent(true);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" session.setEndTime(now.plusSeconds((oneHour * 23) + 60));"},{"lineNumber":167,"author":{"gitId":"-"},"content":" session.setGracePeriod(noGracePeriod);"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" DeadlineExtension de \u003d session.getDeadlineExtensions().get(0);"},{"lineNumber":170,"author":{"gitId":"-"},"content":" de.setEndTime(now.plusSeconds(oneHour * 16));"},{"lineNumber":171,"author":{"gitId":"-"},"content":" de.setClosingSoonEmailSent(false);"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" String[] params \u003d {};"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" FeedbackSessionClosingRemindersAction action1 \u003d getAction(params);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" JsonResult actionOutput1 \u003d getJsonResult(action1);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" MessageOutput response1 \u003d (MessageOutput) actionOutput1.getOutput();"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" assertEquals(\"Successful\", response1.getMessage());"},{"lineNumber":180,"author":{"gitId":"-"},"content":" assertTrue(session.isClosingSoonEmailSent());"},{"lineNumber":181,"author":{"gitId":"-"},"content":" assertTrue(de.isClosingSoonEmailSent());"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" // 1 email tasks queued:"},{"lineNumber":184,"author":{"gitId":"-"},"content":" // - 0 emails: session already sent closing-soon emails"},{"lineNumber":185,"author":{"gitId":"-"},"content":" // - 1 email: 1 student deadline extension where closing-soon email not sent yet"},{"lineNumber":186,"author":{"gitId":"-"},"content":" verifySpecifiedTasksAdded(Const.TaskQueue.SEND_EMAIL_QUEUE_NAME, 1);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" private void textExecute_typicalSuccess4() {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" long oneHour \u003d 60 * 60;"},{"lineNumber":191,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":192,"author":{"gitId":"-"},"content":" Duration noGracePeriod \u003d Duration.between(now, now);"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" FeedbackSession session \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":195,"author":{"gitId":"-"},"content":" session.setClosingSoonEmailSent(true);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" session.setEndTime(now.plusSeconds((oneHour * 23) + 60));"},{"lineNumber":197,"author":{"gitId":"-"},"content":" session.setGracePeriod(noGracePeriod);"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" DeadlineExtension de \u003d session.getDeadlineExtensions().get(0);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" de.setEndTime(now.plusSeconds(oneHour * 16));"},{"lineNumber":201,"author":{"gitId":"-"},"content":" de.setClosingSoonEmailSent(true);"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" String[] params \u003d {};"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" FeedbackSessionClosingRemindersAction action1 \u003d getAction(params);"},{"lineNumber":206,"author":{"gitId":"-"},"content":" JsonResult actionOutput1 \u003d getJsonResult(action1);"},{"lineNumber":207,"author":{"gitId":"-"},"content":" MessageOutput response1 \u003d (MessageOutput) actionOutput1.getOutput();"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" assertEquals(\"Successful\", response1.getMessage());"},{"lineNumber":210,"author":{"gitId":"-"},"content":" assertTrue(session.isClosingSoonEmailSent());"},{"lineNumber":211,"author":{"gitId":"-"},"content":" assertTrue(de.isClosingSoonEmailSent());"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" verifyNoTasksAdded();"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" private void textExecute_typicalSuccess5() {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" long oneHour \u003d 60 * 60;"},{"lineNumber":218,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":219,"author":{"gitId":"-"},"content":" Duration noGracePeriod \u003d Duration.between(now, now);"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" FeedbackSession session \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":222,"author":{"gitId":"-"},"content":" session.setClosingEmailEnabled(false);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" session.setClosingSoonEmailSent(false);"},{"lineNumber":224,"author":{"gitId":"-"},"content":" session.setEndTime(now.plusSeconds((oneHour * 23) + 60));"},{"lineNumber":225,"author":{"gitId":"-"},"content":" session.setGracePeriod(noGracePeriod);"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" DeadlineExtension de \u003d session.getDeadlineExtensions().get(0);"},{"lineNumber":228,"author":{"gitId":"-"},"content":" de.setEndTime(now.plusSeconds(oneHour * 16));"},{"lineNumber":229,"author":{"gitId":"-"},"content":" de.setClosingSoonEmailSent(false);"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" String[] params \u003d {};"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" FeedbackSessionClosingRemindersAction action1 \u003d getAction(params);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" JsonResult actionOutput1 \u003d getJsonResult(action1);"},{"lineNumber":235,"author":{"gitId":"-"},"content":" MessageOutput response1 \u003d (MessageOutput) actionOutput1.getOutput();"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" assertEquals(\"Successful\", response1.getMessage());"},{"lineNumber":238,"author":{"gitId":"-"},"content":" assertTrue(!session.isClosingSoonEmailSent());"},{"lineNumber":239,"author":{"gitId":"-"},"content":" assertTrue(!de.isClosingSoonEmailSent());"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" verifyNoTasksAdded();"},{"lineNumber":242,"author":{"gitId":"-"},"content":" }"},{"lineNumber":243,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":6,"-":237}},{"path":"src/it/java/teammates/it/ui/webapi/GetCourseJoinStatusActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.Const;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.output.JoinStatus;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.webapi.GetCourseJoinStatusAction;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":" * SUT: {@link GetCourseJoinStatusAction}."},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":"public class GetCourseJoinStatusActionIT extends BaseActionIT\u003cGetCourseJoinStatusAction\u003e {"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":" @BeforeMethod"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":" protected void setUp() throws Exception {"},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":" super.setUp();"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":" this.typicalBundle \u003d loadSqlDataBundle(\"/typicalDataBundle.json\");"},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":" HibernateUtil.flushSession();"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" protected String getActionUri() {"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" return Const.ResourceURIs.JOIN;"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" protected String getRequestMethod() {"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" return GET;"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" protected void testExecute() {"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" loginAsUnregistered(\"unreg.user\");"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Not enough parameters\");"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure();"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure("},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, \"regkey\""},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" );"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure("},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.STUDENT"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" );"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Normal case: student is already registered\");"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" String registeredStudentKey \u003d"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" logic.getStudentForEmail(\"course-1\", \"student1@teammates.tmt\").getRegKey();"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" String[] params \u003d new String[] {"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, registeredStudentKey,"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.STUDENT,"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" GetCourseJoinStatusAction getCourseJoinStatusAction \u003d getAction(params);"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" JsonResult result \u003d getJsonResult(getCourseJoinStatusAction);"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" JoinStatus output \u003d (JoinStatus) result.getOutput();"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" assertTrue(output.getHasJoined());"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Normal case: student is not registered\");"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" String unregisteredStudentKey \u003d"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" logic.getStudentForEmail(\"course-1\", \"unregisteredStudentInCourse1@teammates.tmt\").getRegKey();"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, unregisteredStudentKey,"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.STUDENT,"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" getCourseJoinStatusAction \u003d getAction(params);"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" result \u003d getJsonResult(getCourseJoinStatusAction);"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" output \u003d (JoinStatus) result.getOutput();"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":" assertFalse(output.getHasJoined());"},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: regkey is not valid for student\");"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, \"ANXKJZNZXNJCZXKJDNKSDA\","},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.STUDENT,"},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":" verifyEntityNotFound(params);"},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Normal case: instructor is already registered\");"},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" String registeredInstructorKey \u003d"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" logic.getInstructorForEmail(\"course-1\", \"instr1@teammates.tmt\").getRegKey();"},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, registeredInstructorKey,"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" getCourseJoinStatusAction \u003d getAction(params);"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":" result \u003d getJsonResult(getCourseJoinStatusAction);"},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":" output \u003d (JoinStatus) result.getOutput();"},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" assertTrue(output.getHasJoined());"},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Normal case: instructor is not registered\");"},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" String unregisteredInstructorKey \u003d"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":" logic.getInstructorForEmail(\"course-1\", \"unregisteredInstructor@teammates.tmt\").getRegKey();"},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, unregisteredInstructorKey,"},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" getCourseJoinStatusAction \u003d getAction(params);"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" result \u003d getJsonResult(getCourseJoinStatusAction);"},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":" output \u003d (JoinStatus) result.getOutput();"},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" assertFalse(output.getHasJoined());"},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: regkey is not valid for instructor\");"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, \"ANXKJZNZXNJCZXKJDNKSDA\","},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" verifyEntityNotFound(params);"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Normal case: account request not used, instructor has not joined course\");"},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" AccountRequest unregisteredInstructor1AccountRequest \u003d typicalBundle.accountRequests.get(\"unregisteredInstructor1\");"},{"lineNumber":136,"author":{"gitId":"-"},"content":" String accountRequestNotUsedKey \u003d unregisteredInstructor1AccountRequest.getRegistrationKey();"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, accountRequestNotUsedKey,"},{"lineNumber":140,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":141,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.IS_CREATING_ACCOUNT, \"true\","},{"lineNumber":142,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":143,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":144,"author":{"gitId":"dishenggg"},"content":" getCourseJoinStatusAction \u003d getAction(params);"},{"lineNumber":145,"author":{"gitId":"dishenggg"},"content":" result \u003d getJsonResult(getCourseJoinStatusAction);"},{"lineNumber":146,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":147,"author":{"gitId":"dishenggg"},"content":" output \u003d (JoinStatus) result.getOutput();"},{"lineNumber":148,"author":{"gitId":"dishenggg"},"content":" assertFalse(output.getHasJoined());"},{"lineNumber":149,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Normal case: account request already used, instructor has joined course\");"},{"lineNumber":151,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" AccountRequest instructor1AccountRequest \u003d typicalBundle.accountRequests.get(\"instructor1\");"},{"lineNumber":153,"author":{"gitId":"-"},"content":" String accountRequestUsedKey \u003d instructor1AccountRequest.getRegistrationKey();"},{"lineNumber":154,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":155,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":156,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, accountRequestUsedKey,"},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":158,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.IS_CREATING_ACCOUNT, \"true\","},{"lineNumber":159,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":160,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":161,"author":{"gitId":"dishenggg"},"content":" getCourseJoinStatusAction \u003d getAction(params);"},{"lineNumber":162,"author":{"gitId":"dishenggg"},"content":" result \u003d getJsonResult(getCourseJoinStatusAction);"},{"lineNumber":163,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":164,"author":{"gitId":"dishenggg"},"content":" output \u003d (JoinStatus) result.getOutput();"},{"lineNumber":165,"author":{"gitId":"dishenggg"},"content":" assertTrue(output.getHasJoined());"},{"lineNumber":166,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":167,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: account request regkey is not valid\");"},{"lineNumber":168,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":169,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":170,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, \"invalid-registration-key\","},{"lineNumber":171,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":172,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.IS_CREATING_ACCOUNT, \"true\","},{"lineNumber":173,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":174,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":175,"author":{"gitId":"dishenggg"},"content":" verifyEntityNotFound(params);"},{"lineNumber":176,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":177,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: invalid entity type\");"},{"lineNumber":178,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":179,"author":{"gitId":"dishenggg"},"content":" params \u003d new String[] {"},{"lineNumber":180,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.REGKEY, unregisteredStudentKey,"},{"lineNumber":181,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.ENTITY_TYPE, \"unknown\","},{"lineNumber":182,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":183,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":184,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure(params);"},{"lineNumber":185,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":186,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":187,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":188,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":189,"author":{"gitId":"dishenggg"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":190,"author":{"gitId":"dishenggg"},"content":" verifyAnyLoggedInUserCanAccess();"},{"lineNumber":191,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":192,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":187,"-":5}},{"path":"src/it/java/teammates/it/ui/webapi/GetFeedbackSessionLogsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionLogData;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionLogEntryData;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionLogsData;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.GetFeedbackSessionLogsAction;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":23,"author":{"gitId":"-"},"content":" * SUT: {@link GetFeedbackSessionLogsAction}."},{"lineNumber":24,"author":{"gitId":"-"},"content":" */"},{"lineNumber":25,"author":{"gitId":"-"},"content":"public class GetFeedbackSessionLogsActionIT extends BaseActionIT\u003cGetFeedbackSessionLogsAction\u003e {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":27,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":28,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":30,"author":{"gitId":"-"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":35,"author":{"gitId":"-"},"content":" protected String getActionUri() {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" return Const.ResourceURIs.SESSION_LOGS;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":40,"author":{"gitId":"-"},"content":" protected String getRequestMethod() {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" return GET;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":45,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":46,"author":{"gitId":"-"},"content":" protected void testExecute() {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" JsonResult actionOutput;"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":50,"author":{"gitId":"-"},"content":" String courseId \u003d course.getId();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" FeedbackSession fsa1 \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":52,"author":{"gitId":"-"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":53,"author":{"gitId":"-"},"content":" Student student2 \u003d typicalBundle.students.get(\"student2InCourse1\");"},{"lineNumber":54,"author":{"gitId":"-"},"content":" String student1Email \u003d student1.getEmail();"},{"lineNumber":55,"author":{"gitId":"-"},"content":" String student2Email \u003d student2.getEmail();"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" long endTime \u003d Instant.parse(\"2012-01-02T12:00:00Z\").toEpochMilli();"},{"lineNumber":57,"author":{"gitId":"-"},"content":" long startTime \u003d endTime - (Const.LOGS_RETENTION_PERIOD.toDays() - 1) * 24 * 60 * 60 * 1000;"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" ______TS(\"Failure case: not enough parameters\");"},{"lineNumber":60,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure("},{"lineNumber":61,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId"},{"lineNumber":62,"author":{"gitId":"-"},"content":" );"},{"lineNumber":63,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure("},{"lineNumber":64,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime)"},{"lineNumber":66,"author":{"gitId":"-"},"content":" );"},{"lineNumber":67,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure("},{"lineNumber":68,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":69,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" );"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" ______TS(\"Failure case: invalid course id\");"},{"lineNumber":73,"author":{"gitId":"-"},"content":" String[] paramsInvalid1 \u003d {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, \"fake-course-id\","},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, student1.getId().toString(),"},{"lineNumber":76,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":77,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":78,"author":{"gitId":"-"},"content":" };"},{"lineNumber":79,"author":{"gitId":"-"},"content":" verifyEntityNotFound(paramsInvalid1);"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: invalid student id\");"},{"lineNumber":82,"author":{"gitId":"-"},"content":" String[] paramsInvalid2 \u003d {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, \"00000000-0000-0000-0000-000000000000\","},{"lineNumber":85,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":86,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":87,"author":{"gitId":"-"},"content":" };"},{"lineNumber":88,"author":{"gitId":"-"},"content":" verifyEntityNotFound(paramsInvalid2);"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" ______TS(\"Failure case: invalid start or end times\");"},{"lineNumber":91,"author":{"gitId":"-"},"content":" String[] paramsInvalid3 \u003d {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, \"abc\","},{"lineNumber":94,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":95,"author":{"gitId":"-"},"content":" };"},{"lineNumber":96,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure(paramsInvalid3);"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" String[] paramsInvalid4 \u003d {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":100,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":101,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, \" \","},{"lineNumber":102,"author":{"gitId":"-"},"content":" };"},{"lineNumber":103,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure(paramsInvalid4);"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" ______TS(\"Success case: should group by feedback session\");"},{"lineNumber":106,"author":{"gitId":"-"},"content":" String[] paramsSuccessful1 \u003d {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":108,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":109,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":110,"author":{"gitId":"-"},"content":" };"},{"lineNumber":111,"author":{"gitId":"-"},"content":" actionOutput \u003d getJsonResult(getAction(paramsSuccessful1));"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" // The filtering by the logs processor cannot be tested directly, assume that it filters correctly"},{"lineNumber":114,"author":{"gitId":"-"},"content":" // Here, it simply returns all log entries"},{"lineNumber":115,"author":{"gitId":"-"},"content":" FeedbackSessionLogsData fslData \u003d (FeedbackSessionLogsData) actionOutput.getOutput();"},{"lineNumber":116,"author":{"gitId":"-"},"content":" List\u003cFeedbackSessionLogData\u003e fsLogs \u003d fslData.getFeedbackSessionLogs();"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" // Course has 6 feedback sessions, last 4 of which have no log entries"},{"lineNumber":119,"author":{"gitId":"-"},"content":" assertEquals(fsLogs.size(), 6);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" assertEquals(fsLogs.get(2).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" assertEquals(fsLogs.get(3).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" assertEquals(fsLogs.get(4).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" assertEquals(fsLogs.get(5).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" List\u003cFeedbackSessionLogEntryData\u003e fsLogEntries1 \u003d fsLogs.get(0).getFeedbackSessionLogEntries();"},{"lineNumber":126,"author":{"gitId":"-"},"content":" List\u003cFeedbackSessionLogEntryData\u003e fsLogEntries2 \u003d fsLogs.get(1).getFeedbackSessionLogEntries();"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries1.size(), 3);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries1.get(0).getStudentData().getEmail(), student1Email);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries1.get(0).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries1.get(1).getStudentData().getEmail(), student2Email);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries1.get(1).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries1.get(2).getStudentData().getEmail(), student2Email);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries1.get(2).getFeedbackSessionLogType(), FeedbackSessionLogType.SUBMISSION);"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries2.size(), 2);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries2.get(0).getStudentData().getEmail(), student1Email);"},{"lineNumber":138,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries2.get(0).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries2.get(1).getStudentData().getEmail(), student1Email);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries2.get(1).getFeedbackSessionLogType(), FeedbackSessionLogType.SUBMISSION);"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Success case: should accept optional student Id\");"},{"lineNumber":143,"author":{"gitId":"-"},"content":" String[] paramsSuccessful2 \u003d {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":145,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, student1.getId().toString(),"},{"lineNumber":146,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":147,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":148,"author":{"gitId":"-"},"content":" };"},{"lineNumber":149,"author":{"gitId":"dishenggg"},"content":" actionOutput \u003d getJsonResult(getAction(paramsSuccessful2));"},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":" fslData \u003d (FeedbackSessionLogsData) actionOutput.getOutput();"},{"lineNumber":151,"author":{"gitId":"dishenggg"},"content":" fsLogs \u003d fslData.getFeedbackSessionLogs();"},{"lineNumber":152,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":153,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.size(), 6);"},{"lineNumber":154,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.get(2).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":155,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.get(3).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":156,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.get(4).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.get(5).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":158,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":159,"author":{"gitId":"dishenggg"},"content":" fsLogEntries1 \u003d fsLogs.get(0).getFeedbackSessionLogEntries();"},{"lineNumber":160,"author":{"gitId":"dishenggg"},"content":" fsLogEntries2 \u003d fsLogs.get(1).getFeedbackSessionLogEntries();"},{"lineNumber":161,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":162,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.size(), 1);"},{"lineNumber":163,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(0).getStudentData().getEmail(), student1Email);"},{"lineNumber":164,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(0).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":165,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":166,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.size(), 2);"},{"lineNumber":167,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.get(0).getStudentData().getEmail(), student1Email);"},{"lineNumber":168,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.get(0).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":169,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.get(1).getStudentData().getEmail(), student1Email);"},{"lineNumber":170,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.get(1).getFeedbackSessionLogType(), FeedbackSessionLogType.SUBMISSION);"},{"lineNumber":171,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":172,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Success case: should accept optional feedback session\");"},{"lineNumber":173,"author":{"gitId":"dishenggg"},"content":" String[] paramsSuccessful3 \u003d {"},{"lineNumber":174,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":175,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_ID, fsa1.getId().toString(),"},{"lineNumber":176,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":177,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":178,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":179,"author":{"gitId":"dishenggg"},"content":" actionOutput \u003d getJsonResult(getAction(paramsSuccessful3));"},{"lineNumber":180,"author":{"gitId":"dishenggg"},"content":" fslData \u003d (FeedbackSessionLogsData) actionOutput.getOutput();"},{"lineNumber":181,"author":{"gitId":"dishenggg"},"content":" fsLogs \u003d fslData.getFeedbackSessionLogs();"},{"lineNumber":182,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":183,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.size(), 6);"},{"lineNumber":184,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.get(1).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":185,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.get(2).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":186,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.get(3).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":187,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.get(4).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":188,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.get(5).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":189,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":190,"author":{"gitId":"dishenggg"},"content":" fsLogEntries1 \u003d fsLogs.get(0).getFeedbackSessionLogEntries();"},{"lineNumber":191,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":192,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.size(), 3);"},{"lineNumber":193,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(0).getStudentData().getEmail(), student1Email);"},{"lineNumber":194,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(0).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":195,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(1).getStudentData().getEmail(), student2Email);"},{"lineNumber":196,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(1).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":197,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(2).getStudentData().getEmail(), student2Email);"},{"lineNumber":198,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(2).getFeedbackSessionLogType(), FeedbackSessionLogType.SUBMISSION);"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" // TODO: if we restrict the range from start to end time, it should be tested here as well"},{"lineNumber":201,"author":{"gitId":"-"},"content":" }"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":204,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":205,"author":{"gitId":"-"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":206,"author":{"gitId":"-"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":207,"author":{"gitId":"-"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":208,"author":{"gitId":"-"},"content":" String courseId \u003d course.getId();"},{"lineNumber":209,"author":{"gitId":"-"},"content":" Instructor helper \u003d typicalBundle.instructors.get(\"instructor2OfCourse1\");"},{"lineNumber":210,"author":{"gitId":"-"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":212,"author":{"gitId":"-"},"content":" };"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" ______TS(\"Only instructors with modify student, session and instructor privilege can access\");"},{"lineNumber":215,"author":{"gitId":"-"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" loginAsInstructor(helper.getGoogleId());"},{"lineNumber":218,"author":{"gitId":"-"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" ______TS(\"Only instructors of the same course can access\");"},{"lineNumber":221,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":222,"author":{"gitId":"-"},"content":" verifyCanAccess(submissionParams);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":57,"-":168}},{"path":"src/it/java/teammates/it/ui/webapi/GetFeedbackSessionSubmittedGiverSetActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.Test;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import com.google.common.collect.Sets;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.output.FeedbackSessionSubmittedGiverSet;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.GetFeedbackSessionSubmittedGiverSetAction;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" * SUT: {@link GetFeedbackSessionSubmittedGiverSetAction}."},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":"public class GetFeedbackSessionSubmittedGiverSetActionIT extends BaseActionIT\u003cGetFeedbackSessionSubmittedGiverSetAction\u003e {"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" @BeforeMethod"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" protected void setUp() throws Exception {"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" super.setUp();"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.flushSession();"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" protected String getActionUri() {"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" return Const.ResourceURIs.SESSION_SUBMITTED_GIVER_SET;"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" protected String getRequestMethod() {"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" return GET;"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" protected void testExecute() {"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" Instructor instructor1OfCourse1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" String instructorId \u003d instructor1OfCourse1.getGoogleId();"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" FeedbackSession fsa \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" loginAsInstructor(instructorId);"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Not enough parameters\");"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" verifyHttpParameterFailure();"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Typical case\");"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fsa.getName(),"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" GetFeedbackSessionSubmittedGiverSetAction pageAction \u003d getAction(submissionParams);"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" JsonResult result \u003d getJsonResult(pageAction);"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" FeedbackSessionSubmittedGiverSet output \u003d (FeedbackSessionSubmittedGiverSet) result.getOutput();"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" assertEquals(Sets.newHashSet(\"student1@teammates.tmt\", \"student2@teammates.tmt\","},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" \"student3@teammates.tmt\"), output.getGiverIdentifiers());"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" FeedbackSession fsa \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fsa.getName(),"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" verifyOnlyInstructorsOfTheSameCourseCanAccess(course, submissionParams);"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":78}},{"path":"src/it/java/teammates/it/ui/webapi/GetInstructorsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorData;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorsData;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.ui.request.Intent;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.GetInstructorsAction;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * SUT: {@link GetInstructorsAction}."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class GetInstructorsActionIT extends BaseActionIT\u003cGetInstructorsAction\u003e {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":25,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":27,"author":{"gitId":"-"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":32,"author":{"gitId":"-"},"content":" protected String getActionUri() {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" return Const.ResourceURIs.INSTRUCTORS;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"-"},"content":" protected String getRequestMethod() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" return GET;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":42,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":43,"author":{"gitId":"-"},"content":" protected void testExecute() throws Exception {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case with FULL_DETAIL\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":" String[] params \u003d new String[] {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":51,"author":{"gitId":"-"},"content":" Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString(),"},{"lineNumber":52,"author":{"gitId":"-"},"content":" };"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" GetInstructorsAction action \u003d getAction(params);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" JsonResult jsonResult \u003d getJsonResult(action);"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" InstructorsData output \u003d (InstructorsData) jsonResult.getOutput();"},{"lineNumber":58,"author":{"gitId":"-"},"content":" List\u003cInstructorData\u003e instructors \u003d output.getInstructors();"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" assertEquals(3, instructors.size());"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case with no intent\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":65,"author":{"gitId":"-"},"content":" Const.ParamsNames.INTENT, null,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" };"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" action \u003d getAction(params);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" jsonResult \u003d getJsonResult(action);"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" output \u003d (InstructorsData) jsonResult.getOutput();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" instructors \u003d output.getInstructors();"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" assertEquals(3, instructors.size());"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" for (InstructorData instructorData : instructors) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" assertNull(instructorData.getGoogleId());"},{"lineNumber":78,"author":{"gitId":"-"},"content":" assertNull(instructorData.getJoinState());"},{"lineNumber":79,"author":{"gitId":"-"},"content":" assertNull(instructorData.getIsDisplayedToStudents());"},{"lineNumber":80,"author":{"gitId":"-"},"content":" assertNull(instructorData.getRole());"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" ______TS(\"Unknown intent\");"},{"lineNumber":84,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":86,"author":{"gitId":"-"},"content":" Const.ParamsNames.INTENT, \"Unknown\","},{"lineNumber":87,"author":{"gitId":"-"},"content":" };"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure(params);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":93,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":94,"author":{"gitId":"-"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":96,"author":{"gitId":"-"},"content":" Student student \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" ______TS(\"Course not found, logged in as instructor, intent FULL_DETAIL\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" String[] params \u003d new String[] {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, \"does-not-exist-id\","},{"lineNumber":103,"author":{"gitId":"-"},"content":" Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString(),"},{"lineNumber":104,"author":{"gitId":"-"},"content":" };"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" verifyEntityNotFoundAcl(params);"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" ______TS(\"Course not found, logged in as student, intent undefined\");"},{"lineNumber":109,"author":{"gitId":"-"},"content":" loginAsStudent(student.getGoogleId());"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, \"does-not-exist-id\","},{"lineNumber":113,"author":{"gitId":"-"},"content":" };"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" verifyEntityNotFoundAcl(params);"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" ______TS(\"Unknown login entity, intent FULL_DETAIL\");"},{"lineNumber":118,"author":{"gitId":"-"},"content":" loginAsUnregistered(\"unregistered\");"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":122,"author":{"gitId":"-"},"content":" Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString(),"},{"lineNumber":123,"author":{"gitId":"-"},"content":" };"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" ______TS(\"Unknown login entity, intent undefined\");"},{"lineNumber":128,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":130,"author":{"gitId":"-"},"content":" };"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" ______TS(\"Unknown intent, logged in as instructor\");"},{"lineNumber":135,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":139,"author":{"gitId":"-"},"content":" Const.ParamsNames.INTENT, \"Unknown\","},{"lineNumber":140,"author":{"gitId":"-"},"content":" };"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" verifyHttpParameterFailureAcl(params);"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" ______TS(\"Intent FULL_DETAIL, should authenticate as instructor\");"},{"lineNumber":145,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, instructor.getCourseId(),"},{"lineNumber":147,"author":{"gitId":"-"},"content":" Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString(),"},{"lineNumber":148,"author":{"gitId":"-"},"content":" };"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" verifyOnlyInstructorsOfTheSameCourseCanAccess(instructor.getCourse(), params);"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" ______TS(\"Intent undefined, should authenticate as student, access own course\");"},{"lineNumber":153,"author":{"gitId":"-"},"content":" loginAsStudent(student.getGoogleId());"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, student.getCourseId(),"},{"lineNumber":157,"author":{"gitId":"-"},"content":" };"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" verifyCanAccess(params);"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" ______TS(\"Intent undefined, should authenticate as student, access other course\");"},{"lineNumber":162,"author":{"gitId":"-"},"content":" Student otherStudent \u003d typicalBundle.students.get(\"student1InCourse2\");"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" assertNotEquals(otherStudent.getCourse(), student.getCourse());"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, otherStudent.getCourseId(),"},{"lineNumber":168,"author":{"gitId":"-"},"content":" };"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":2,"-":171}},{"path":"src/it/java/teammates/it/ui/webapi/GetSessionResponseStatsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.Test;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.Const;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.output.FeedbackSessionStatsData;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.GetSessionResponseStatsAction;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":" * SUT: {@link GetSessionResponseStatsAction}."},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"public class GetSessionResponseStatsActionIT extends BaseActionIT\u003cGetSessionResponseStatsAction\u003e {"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" @BeforeMethod"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" protected void setUp() throws Exception {"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" super.setUp();"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.flushSession();"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" String getActionUri() {"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" return Const.ResourceURIs.SESSION_STATS;"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" String getRequestMethod() {"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" return GET;"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" protected void testExecute() {"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" ______TS(\"typical: instructor accesses feedback stats of his/her course\");"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" FeedbackSession accessibleFs \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, accessibleFs.getName(),"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.COURSE_ID, accessibleFs.getCourse().getId(),"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" GetSessionResponseStatsAction a \u003d getAction(submissionParams);"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" JsonResult r \u003d getJsonResult(a);"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" FeedbackSessionStatsData output \u003d (FeedbackSessionStatsData) r.getOutput();"},{"lineNumber":56,"author":{"gitId":"-"},"content":" assertEquals(8, output.getExpectedTotal());"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" assertEquals(3, output.getSubmittedTotal());"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" ______TS(\"fail: instructor accesses stats of non-existent feedback session\");"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" String nonexistentFeedbackSession \u003d \"nonexistentFeedbackSession\";"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, nonexistentFeedbackSession,"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.COURSE_ID, accessibleFs.getCourse().getId(),"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" verifyEntityNotFound(submissionParams);"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" ______TS(\"accessible for admin\");"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" verifyAccessibleForAdmin();"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" ______TS(\"accessible for authenticated instructor\");"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" Course course1 \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" FeedbackSession accessibleFs \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, accessibleFs.getName(),"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" Const.ParamsNames.COURSE_ID, accessibleFs.getCourse().getId(),"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" verifyOnlyInstructorsOfTheSameCourseCanAccess(course1, submissionParams);"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":85,"-":1}},{"path":"src/it/java/teammates/it/ui/webapi/GetSessionResultsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import java.util.HashSet;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import java.util.Set;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.FeedbackResultFetchType;"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":15,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":"import teammates.ui.output.SessionResultsData;"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":"import teammates.ui.request.Intent;"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":"import teammates.ui.webapi.GetSessionResultsAction;"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" * SUT: {@link GetSessionResultsAction}."},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":"public class GetSessionResultsActionIT extends BaseActionIT\u003cGetSessionResultsAction\u003e {"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" protected String getActionUri() {"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" return Const.ResourceURIs.RESULT;"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" protected String getRequestMethod() {"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" return GET;"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" @BeforeMethod"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" protected void setUp() throws Exception {"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" super.setUp();"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" logoutUser();"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" HibernateUtil.flushSession();"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" HibernateUtil.clearSession();"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" protected void testExecute() {"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" ______TS(\"Typical: Instructor accesses results of their course\");"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" FeedbackSession accessibleFeedbackSession \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, accessibleFeedbackSession.getName(),"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.FULL_DETAIL.name(),"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":" GetSessionResultsAction a \u003d getAction(submissionParams);"},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":" JsonResult r \u003d getJsonResult(a);"},{"lineNumber":67,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":68,"author":{"gitId":"xenosf"},"content":" SessionResultsData output \u003d (SessionResultsData) r.getOutput();"},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":" SessionResultsData expectedResults \u003d SessionResultsData.initForInstructor("},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" logic.getSessionResultsForCourse(accessibleFeedbackSession,"},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" instructor.getEmail(),"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" null, null, FeedbackResultFetchType.BOTH));"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" assertTrue(isSessionResultsDataEqual(expectedResults, output));"},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" ______TS(\"Typical: Instructor accesses results of their course with breakdown\");"},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" Set\u003cSection\u003e sections \u003d new HashSet\u003c\u003e();"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":" typicalBundle.feedbackResponses.values().forEach(resp -\u003e {"},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" sections.add(resp.getGiverSection());"},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" sections.add(resp.getRecipientSection());"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":" for (FeedbackResultFetchType fetchType : FeedbackResultFetchType.values()) {"},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" for (Section section : sections) {"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, accessibleFeedbackSession.getName(),"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.FULL_DETAIL.name(),"},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_RESULTS_GROUPBYSECTION, section.getName(),"},{"lineNumber":93,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_RESULTS_SECTION_BY_GIVER_RECEIVER, fetchType.name(),"},{"lineNumber":94,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":" a \u003d getAction(submissionParams);"},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" r \u003d getJsonResult(a);"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" output \u003d (SessionResultsData) r.getOutput();"},{"lineNumber":100,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":" expectedResults \u003d SessionResultsData.initForInstructor("},{"lineNumber":102,"author":{"gitId":"xenosf"},"content":" logic.getSessionResultsForCourse(accessibleFeedbackSession,"},{"lineNumber":103,"author":{"gitId":"xenosf"},"content":" accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":104,"author":{"gitId":"xenosf"},"content":" instructor.getEmail(),"},{"lineNumber":105,"author":{"gitId":"xenosf"},"content":" null, section.getName(), fetchType));"},{"lineNumber":106,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":107,"author":{"gitId":"xenosf"},"content":" assertTrue(isSessionResultsDataEqual(expectedResults, output));"},{"lineNumber":108,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":109,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":110,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":111,"author":{"gitId":"xenosf"},"content":" ______TS(\"Typical: Instructor previews session results as student\");"},{"lineNumber":112,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":113,"author":{"gitId":"xenosf"},"content":" Student student \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":114,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":115,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, accessibleFeedbackSession.getName(),"},{"lineNumber":117,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":118,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.name(),"},{"lineNumber":119,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.PREVIEWAS, student.getEmail(),"},{"lineNumber":120,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":121,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":122,"author":{"gitId":"xenosf"},"content":" a \u003d getAction(submissionParams);"},{"lineNumber":123,"author":{"gitId":"xenosf"},"content":" r \u003d getJsonResult(a);"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":" output \u003d (SessionResultsData) r.getOutput();"},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":" expectedResults \u003d SessionResultsData.initForStudent("},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" logic.getSessionResultsForUser(accessibleFeedbackSession,"},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":" accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" student.getEmail(),"},{"lineNumber":130,"author":{"gitId":"xenosf"},"content":" false, null, true),"},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":" student);"},{"lineNumber":132,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":133,"author":{"gitId":"xenosf"},"content":" assertTrue(isSessionResultsDataEqual(expectedResults, output));"},{"lineNumber":134,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":135,"author":{"gitId":"xenosf"},"content":" ______TS(\"Typical: Student accesses results of their course\");"},{"lineNumber":136,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":137,"author":{"gitId":"xenosf"},"content":" loginAsStudent(student.getGoogleId());"},{"lineNumber":138,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":139,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":140,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, accessibleFeedbackSession.getName(),"},{"lineNumber":141,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":142,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.name(),"},{"lineNumber":143,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":144,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":145,"author":{"gitId":"xenosf"},"content":" a \u003d getAction(submissionParams);"},{"lineNumber":146,"author":{"gitId":"xenosf"},"content":" r \u003d getJsonResult(a);"},{"lineNumber":147,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":148,"author":{"gitId":"xenosf"},"content":" output \u003d (SessionResultsData) r.getOutput();"},{"lineNumber":149,"author":{"gitId":"xenosf"},"content":" expectedResults \u003d SessionResultsData.initForStudent("},{"lineNumber":150,"author":{"gitId":"xenosf"},"content":" logic.getSessionResultsForUser(accessibleFeedbackSession,"},{"lineNumber":151,"author":{"gitId":"xenosf"},"content":" accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":152,"author":{"gitId":"xenosf"},"content":" student.getEmail(),"},{"lineNumber":153,"author":{"gitId":"xenosf"},"content":" false, null, false),"},{"lineNumber":154,"author":{"gitId":"xenosf"},"content":" student);"},{"lineNumber":155,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":156,"author":{"gitId":"xenosf"},"content":" assertTrue(isSessionResultsDataEqual(expectedResults, output));"},{"lineNumber":157,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":158,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"Typical: Student accesses results of their course by questionId\");"},{"lineNumber":159,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":160,"author":{"gitId":"mingyuanc"},"content":" loginAsStudent(student.getGoogleId());"},{"lineNumber":161,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":162,"author":{"gitId":"mingyuanc"},"content":" FeedbackQuestion question \u003d typicalBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":163,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":164,"author":{"gitId":"mingyuanc"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":165,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, accessibleFeedbackSession.getName(),"},{"lineNumber":166,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.COURSE_ID, accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":167,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.FEEDBACK_QUESTION_ID, question.getId().toString(),"},{"lineNumber":168,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.name(),"},{"lineNumber":169,"author":{"gitId":"mingyuanc"},"content":" };"},{"lineNumber":170,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":171,"author":{"gitId":"mingyuanc"},"content":" a \u003d getAction(submissionParams);"},{"lineNumber":172,"author":{"gitId":"mingyuanc"},"content":" r \u003d getJsonResult(a);"},{"lineNumber":173,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":174,"author":{"gitId":"mingyuanc"},"content":" output \u003d (SessionResultsData) r.getOutput();"},{"lineNumber":175,"author":{"gitId":"mingyuanc"},"content":" expectedResults \u003d SessionResultsData.initForStudent("},{"lineNumber":176,"author":{"gitId":"mingyuanc"},"content":" logic.getSessionResultsForUser(accessibleFeedbackSession,"},{"lineNumber":177,"author":{"gitId":"mingyuanc"},"content":" accessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":178,"author":{"gitId":"mingyuanc"},"content":" student.getEmail(),"},{"lineNumber":179,"author":{"gitId":"mingyuanc"},"content":" false, question.getId(), false),"},{"lineNumber":180,"author":{"gitId":"mingyuanc"},"content":" student);"},{"lineNumber":181,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":182,"author":{"gitId":"mingyuanc"},"content":" assertTrue(isSessionResultsDataEqual(expectedResults, output));"},{"lineNumber":183,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":184,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":185,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":186,"author":{"gitId":"xenosf"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":187,"author":{"gitId":"xenosf"},"content":" String[] submissionParams;"},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":" FeedbackSession publishedFeedbackSession \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" FeedbackSession inaccessibleFeedbackSession \u003d typicalBundle.feedbackSessions.get("},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" \"unpublishedSession1InTypicalCourse\");"},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":" ______TS(\"Inaccessible for authenticated instructor when unpublished\");"},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, inaccessibleFeedbackSession.getName(),"},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, inaccessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.INSTRUCTOR_RESULT.name(),"},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":199,"author":{"gitId":"xenosf"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":" ______TS(\"Inaccessible for authenticated student when unpublished\");"},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, inaccessibleFeedbackSession.getName(),"},{"lineNumber":204,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, inaccessibleFeedbackSession.getCourse().getId(),"},{"lineNumber":205,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.name(),"},{"lineNumber":206,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":207,"author":{"gitId":"xenosf"},"content":" Student student1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":208,"author":{"gitId":"xenosf"},"content":" loginAsStudent(student1InCourse1.getGoogleId());"},{"lineNumber":209,"author":{"gitId":"xenosf"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":210,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":211,"author":{"gitId":"xenosf"},"content":" ______TS(\"Accessible for authenticated instructor when published\");"},{"lineNumber":212,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, publishedFeedbackSession.getName(),"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.INSTRUCTOR_RESULT.name(),"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":" verifyAccessibleForInstructorsOfTheSameCourse(course, submissionParams);"},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":" verifyInaccessibleForInstructorsOfOtherCourses(course, submissionParams);"},{"lineNumber":219,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":220,"author":{"gitId":"xenosf"},"content":" ______TS(\"Accessible for authenticated student when published\");"},{"lineNumber":221,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":222,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, publishedFeedbackSession.getName(),"},{"lineNumber":223,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":224,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.name(),"},{"lineNumber":225,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":226,"author":{"gitId":"xenosf"},"content":" verifyAccessibleForStudentsOfTheSameCourse(course, submissionParams);"},{"lineNumber":227,"author":{"gitId":"xenosf"},"content":" verifyInaccessibleForStudentsOfOtherCourse(course, submissionParams);"},{"lineNumber":228,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":229,"author":{"gitId":"xenosf"},"content":" ______TS(\"Invalid intent\");"},{"lineNumber":230,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":231,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, publishedFeedbackSession.getName(),"},{"lineNumber":232,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, publishedFeedbackSession.getCourse().getId(),"},{"lineNumber":233,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.INSTRUCTOR_SUBMISSION.name(),"},{"lineNumber":234,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":235,"author":{"gitId":"xenosf"},"content":" verifyHttpParameterFailure(submissionParams);"},{"lineNumber":236,"author":{"gitId":"xenosf"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":237,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, publishedFeedbackSession.getName(),"},{"lineNumber":238,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, publishedFeedbackSession.getCourse().getId(),"},{"lineNumber":239,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_SUBMISSION.name(),"},{"lineNumber":240,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":241,"author":{"gitId":"xenosf"},"content":" verifyHttpParameterFailure(submissionParams);"},{"lineNumber":242,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":243,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":244,"author":{"gitId":"xenosf"},"content":" private boolean isSessionResultsDataEqual(SessionResultsData self, SessionResultsData other) {"},{"lineNumber":245,"author":{"gitId":"xenosf"},"content":" List\u003cSessionResultsData.QuestionOutput\u003e thisQuestions \u003d self.getQuestions();"},{"lineNumber":246,"author":{"gitId":"xenosf"},"content":" List\u003cSessionResultsData.QuestionOutput\u003e otherQuestions \u003d other.getQuestions();"},{"lineNumber":247,"author":{"gitId":"xenosf"},"content":" if (thisQuestions.size() !\u003d otherQuestions.size()) {"},{"lineNumber":248,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":249,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":250,"author":{"gitId":"xenosf"},"content":" for (int i \u003d 0; i \u003c thisQuestions.size(); i++) {"},{"lineNumber":251,"author":{"gitId":"xenosf"},"content":" SessionResultsData.QuestionOutput thisQuestion \u003d thisQuestions.get(i);"},{"lineNumber":252,"author":{"gitId":"xenosf"},"content":" SessionResultsData.QuestionOutput otherQuestion \u003d otherQuestions.get(i);"},{"lineNumber":253,"author":{"gitId":"xenosf"},"content":" if (!isQuestionOutputEqual(thisQuestion, otherQuestion)) {"},{"lineNumber":254,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":255,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":256,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":257,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":258,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":259,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":260,"author":{"gitId":"xenosf"},"content":" private boolean isQuestionOutputEqual(SessionResultsData.QuestionOutput self,"},{"lineNumber":261,"author":{"gitId":"xenosf"},"content":" SessionResultsData.QuestionOutput other) {"},{"lineNumber":262,"author":{"gitId":"xenosf"},"content":" if (!JsonUtils.toJson(self.getFeedbackQuestion()).equals(JsonUtils.toJson(other.getFeedbackQuestion()))"},{"lineNumber":263,"author":{"gitId":"xenosf"},"content":" || !self.getQuestionStatistics().equals(other.getQuestionStatistics())"},{"lineNumber":264,"author":{"gitId":"xenosf"},"content":" || self.getHasResponseButNotVisibleForPreview() !\u003d other.getHasResponseButNotVisibleForPreview()"},{"lineNumber":265,"author":{"gitId":"xenosf"},"content":" || self.getHasCommentNotVisibleForPreview() !\u003d other.getHasCommentNotVisibleForPreview()) {"},{"lineNumber":266,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":267,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":268,"author":{"gitId":"xenosf"},"content":" List\u003cSessionResultsData.ResponseOutput\u003e thisResponses;"},{"lineNumber":269,"author":{"gitId":"xenosf"},"content":" List\u003cSessionResultsData.ResponseOutput\u003e otherResponses;"},{"lineNumber":270,"author":{"gitId":"xenosf"},"content":" thisResponses \u003d self.getAllResponses();"},{"lineNumber":271,"author":{"gitId":"xenosf"},"content":" otherResponses \u003d other.getAllResponses();"},{"lineNumber":272,"author":{"gitId":"xenosf"},"content":" if (thisResponses.size() !\u003d otherResponses.size()) {"},{"lineNumber":273,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":274,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":275,"author":{"gitId":"xenosf"},"content":" for (int j \u003d 0; j \u003c thisResponses.size(); j++) {"},{"lineNumber":276,"author":{"gitId":"xenosf"},"content":" if (!isResponseOutputEqual(thisResponses.get(j), otherResponses.get(j))) {"},{"lineNumber":277,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":278,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":279,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":280,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":281,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":282,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":283,"author":{"gitId":"xenosf"},"content":" private boolean isResponseOutputEqual(SessionResultsData.ResponseOutput self,"},{"lineNumber":284,"author":{"gitId":"xenosf"},"content":" SessionResultsData.ResponseOutput other) {"},{"lineNumber":285,"author":{"gitId":"xenosf"},"content":" return self.getGiver().equals(other.getGiver())"},{"lineNumber":286,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 self.getGiverTeam().equals(other.getGiverTeam())"},{"lineNumber":287,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 self.getGiverSection().equals(other.getGiverSection())"},{"lineNumber":288,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 self.getRecipient().equals(other.getRecipient())"},{"lineNumber":289,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 self.getRecipientTeam().equals(other.getRecipientTeam())"},{"lineNumber":290,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 self.getRecipientSection().equals(other.getRecipientSection())"},{"lineNumber":291,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 self.getResponseDetails().getJsonString().equals(other.getResponseDetails().getJsonString());"},{"lineNumber":292,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":293,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":294,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":295,"author":{"gitId":"xenosf"},"content":" public void testAccessControl_withoutCorrectAuthInfoAccessStudentResult_shouldFail() throws Exception {"},{"lineNumber":296,"author":{"gitId":"xenosf"},"content":" Course typicalCourse1 \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":297,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":298,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":299,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":300,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, typicalCourse1.getId(),"},{"lineNumber":301,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSession.getName(),"},{"lineNumber":302,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.toString(),"},{"lineNumber":303,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":304,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":305,"author":{"gitId":"xenosf"},"content":" verifyInaccessibleForUnregisteredUsers(submissionParams);"},{"lineNumber":306,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":307,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":308,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":309,"author":{"gitId":"xenosf"},"content":" public void testAccessControl_studentAccessOwnCourseSessionResult_shouldPass() throws Exception {"},{"lineNumber":310,"author":{"gitId":"xenosf"},"content":" Student student1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":311,"author":{"gitId":"xenosf"},"content":" Course typicalCourse1 \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":312,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":313,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":314,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":315,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, typicalCourse1.getId(),"},{"lineNumber":316,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSession.getName(),"},{"lineNumber":317,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.toString(),"},{"lineNumber":318,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":319,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":320,"author":{"gitId":"xenosf"},"content":" loginAsStudent(student1InCourse1.getGoogleId());"},{"lineNumber":321,"author":{"gitId":"xenosf"},"content":" verifyCanAccess(submissionParams);"},{"lineNumber":322,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":323,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":324,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":325,"author":{"gitId":"xenosf"},"content":" public void testAccessControl_studentAccessUnpublishedSessionStudentResult_shouldFail() {"},{"lineNumber":326,"author":{"gitId":"xenosf"},"content":" Student student1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":327,"author":{"gitId":"xenosf"},"content":" Course typicalCourse \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":328,"author":{"gitId":"xenosf"},"content":" FeedbackSession unpublishedFeedbackSession \u003d typicalBundle.feedbackSessions.get(\"session2InTypicalCourse\");"},{"lineNumber":329,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":330,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":331,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, typicalCourse.getId(),"},{"lineNumber":332,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, unpublishedFeedbackSession.getName(),"},{"lineNumber":333,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.toString(),"},{"lineNumber":334,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":335,"author":{"gitId":"xenosf"},"content":" loginAsStudent(student1InCourse1.getGoogleId());"},{"lineNumber":336,"author":{"gitId":"xenosf"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":337,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":338,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":339,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":340,"author":{"gitId":"xenosf"},"content":" public void testAccessControl_accessStudentSessionResultWithMasqueradeMode_shouldPass() throws Exception {"},{"lineNumber":341,"author":{"gitId":"xenosf"},"content":" Student student1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":342,"author":{"gitId":"xenosf"},"content":" Course typicalCourse1 \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":343,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":344,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":345,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, typicalCourse1.getId(),"},{"lineNumber":346,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSession.getName(),"},{"lineNumber":347,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.toString(),"},{"lineNumber":348,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":349,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":350,"author":{"gitId":"xenosf"},"content":" loginAsAdmin();"},{"lineNumber":351,"author":{"gitId":"xenosf"},"content":" verifyCanMasquerade(student1InCourse1.getGoogleId(), submissionParams);"},{"lineNumber":352,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":353,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":354,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":355,"author":{"gitId":"xenosf"},"content":" public void testAccessControl_studentAccessOtherCourseSessionResult_shouldFail() {"},{"lineNumber":356,"author":{"gitId":"xenosf"},"content":" Student studentInOtherCourse \u003d typicalBundle.students.get(\"student2InCourse1\");"},{"lineNumber":357,"author":{"gitId":"xenosf"},"content":" Course otherCourse \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":358,"author":{"gitId":"xenosf"},"content":" Course course \u003d typicalBundle.courses.get(\"course3\");"},{"lineNumber":359,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d typicalBundle.feedbackSessions.get(\"ongoingSession1InCourse3\");"},{"lineNumber":360,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":361,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":362,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":363,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSession.getName(),"},{"lineNumber":364,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.STUDENT_RESULT.toString(),"},{"lineNumber":365,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":366,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":367,"author":{"gitId":"xenosf"},"content":" loginAsStudent(studentInOtherCourse.getGoogleId());"},{"lineNumber":368,"author":{"gitId":"xenosf"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":369,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":370,"author":{"gitId":"xenosf"},"content":" // Malicious api call using course Id of the student to bypass the check"},{"lineNumber":371,"author":{"gitId":"xenosf"},"content":" submissionParams[1] \u003d otherCourse.getId();"},{"lineNumber":372,"author":{"gitId":"xenosf"},"content":" verifyEntityNotFoundAcl(submissionParams);"},{"lineNumber":373,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":374,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":375,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":376,"author":{"gitId":"xenosf"},"content":" public void testAccessControl_instructorAccessHisCourseFullDetail_shouldPass() throws Exception {"},{"lineNumber":377,"author":{"gitId":"xenosf"},"content":" Course typicalCourse1 \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":378,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":379,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":380,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":381,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.COURSE_ID, typicalCourse1.getId(),"},{"lineNumber":382,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSession.getName(),"},{"lineNumber":383,"author":{"gitId":"xenosf"},"content":" Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString(),"},{"lineNumber":384,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":385,"author":{"gitId":"xenosf"},"content":" verifyOnlyInstructorsOfTheSameCourseCanAccess(typicalCourse1, submissionParams);"},{"lineNumber":386,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":387,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":388,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":361,"mingyuanc":27}},{"path":"src/it/java/teammates/it/ui/webapi/GetStudentsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentData;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentsData;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.GetStudentsAction;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * SUT: {@link GetStudentsAction}."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class GetStudentsActionIT extends BaseActionIT\u003cGetStudentsAction\u003e {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":25,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" super.setUp();"},{"lineNumber":27,"author":{"gitId":"-"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" HibernateUtil.flushSession();"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":32,"author":{"gitId":"-"},"content":" String getActionUri() {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" return Const.ResourceURIs.STUDENTS;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"-"},"content":" String getRequestMethod() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" return GET;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":42,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":43,"author":{"gitId":"-"},"content":" protected void testExecute() throws Exception {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":45,"author":{"gitId":"-"},"content":" Student student \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":46,"author":{"gitId":"-"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case with only course id, logged in as instructor\");"},{"lineNumber":51,"author":{"gitId":"-"},"content":" String[] params \u003d new String[] {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":53,"author":{"gitId":"-"},"content":" };"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" GetStudentsAction getStudentsAction \u003d getAction(params);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" JsonResult jsonResult \u003d getJsonResult(getStudentsAction);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" StudentsData response \u003d (StudentsData) jsonResult.getOutput();"},{"lineNumber":58,"author":{"gitId":"-"},"content":" List\u003cStudentData\u003e students \u003d response.getStudents();"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"marquestye"},"content":" assertEquals(5, students.size());"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" StudentData firstStudentInStudents \u003d students.get(0);"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" assertNull(firstStudentInStudents.getGoogleId());"},{"lineNumber":65,"author":{"gitId":"-"},"content":" assertNull(firstStudentInStudents.getKey());"},{"lineNumber":66,"author":{"gitId":"-"},"content":" assertEquals(student.getName(), firstStudentInStudents.getName());"},{"lineNumber":67,"author":{"gitId":"-"},"content":" assertEquals(student.getCourseId(), firstStudentInStudents.getCourseId());"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" logoutUser();"},{"lineNumber":70,"author":{"gitId":"-"},"content":" loginAsStudent(student.getGoogleId());"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" ______TS(\"Typical Success Case with course id and team name, logged in as student\");"},{"lineNumber":73,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":75,"author":{"gitId":"-"},"content":" Const.ParamsNames.TEAM_NAME, student.getTeamName(),"},{"lineNumber":76,"author":{"gitId":"-"},"content":" };"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" getStudentsAction \u003d getAction(params);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" jsonResult \u003d getJsonResult(getStudentsAction);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" response \u003d (StudentsData) jsonResult.getOutput();"},{"lineNumber":81,"author":{"gitId":"-"},"content":" students \u003d response.getStudents();"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" Student expectedOtherTeamMember \u003d typicalBundle.students.get(\"student2InCourse1\");"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" assertEquals(4, students.size());"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" StudentData actualOtherTeamMember \u003d students.get(1);"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" assertNull(actualOtherTeamMember.getGoogleId());"},{"lineNumber":90,"author":{"gitId":"-"},"content":" assertNull(actualOtherTeamMember.getKey());"},{"lineNumber":91,"author":{"gitId":"-"},"content":" assertEquals(expectedOtherTeamMember.getName(), actualOtherTeamMember.getName());"},{"lineNumber":92,"author":{"gitId":"-"},"content":" assertEquals(expectedOtherTeamMember.getCourseId(), actualOtherTeamMember.getCourseId());"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":96,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":97,"author":{"gitId":"-"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":" Student student \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":" Instructor instructor \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" ______TS(\"Only instructors with correct privilege can access\");"},{"lineNumber":103,"author":{"gitId":"-"},"content":" String[] params \u003d new String[] {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":105,"author":{"gitId":"-"},"content":" };"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" verifyCanAccess(params);"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" ______TS(\"Student to view team members\");"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":115,"author":{"gitId":"-"},"content":" Const.ParamsNames.TEAM_NAME, student.getTeamName(),"},{"lineNumber":116,"author":{"gitId":"-"},"content":" };"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" loginAsStudent(student.getGoogleId());"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" verifyCanAccess(params);"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" ______TS(\"Unknown login entity\");"},{"lineNumber":123,"author":{"gitId":"-"},"content":" loginAsUnregistered(\"does-not-exist-id\");"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":127,"author":{"gitId":"-"},"content":" };"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" params \u003d new String[] {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":133,"author":{"gitId":"-"},"content":" Const.ParamsNames.TEAM_NAME, student.getTeamName(),"},{"lineNumber":134,"author":{"gitId":"-"},"content":" };"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" verifyCannotAccess(params);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":1,"dishenggg":1,"-":137}},{"path":"src/it/java/teammates/it/ui/webapi/InstructorSearchIndexingWorkerActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"mingyuanc"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":3,"author":{"gitId":"mingyuanc"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":5,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":6,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":8,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":9,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":10,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.util.Const;"},{"lineNumber":11,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":12,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":13,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":14,"author":{"gitId":"mingyuanc"},"content":"import teammates.test.TestProperties;"},{"lineNumber":15,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.webapi.InstructorSearchIndexingWorkerAction;"},{"lineNumber":16,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":17,"author":{"gitId":"mingyuanc"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"mingyuanc"},"content":" * SUT: {@link InstructorSearchIndexingWorkerAction}."},{"lineNumber":19,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":20,"author":{"gitId":"mingyuanc"},"content":"public class InstructorSearchIndexingWorkerActionIT extends BaseActionIT\u003cInstructorSearchIndexingWorkerAction\u003e {"},{"lineNumber":21,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":22,"author":{"gitId":"mingyuanc"},"content":" @BeforeMethod"},{"lineNumber":23,"author":{"gitId":"mingyuanc"},"content":" protected void setUp() throws Exception {"},{"lineNumber":24,"author":{"gitId":"mingyuanc"},"content":" super.setUp();"},{"lineNumber":25,"author":{"gitId":"mingyuanc"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":26,"author":{"gitId":"mingyuanc"},"content":" HibernateUtil.flushSession();"},{"lineNumber":27,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":28,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":29,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":30,"author":{"gitId":"mingyuanc"},"content":" protected String getActionUri() {"},{"lineNumber":31,"author":{"gitId":"mingyuanc"},"content":" return Const.TaskQueue.INSTRUCTOR_SEARCH_INDEXING_WORKER_URL;"},{"lineNumber":32,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":33,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":34,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":35,"author":{"gitId":"mingyuanc"},"content":" protected String getRequestMethod() {"},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":" return POST;"},{"lineNumber":37,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":39,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":40,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":41,"author":{"gitId":"mingyuanc"},"content":" public void testExecute() throws Exception {"},{"lineNumber":42,"author":{"gitId":"mingyuanc"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":43,"author":{"gitId":"mingyuanc"},"content":" return;"},{"lineNumber":44,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":45,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":46,"author":{"gitId":"mingyuanc"},"content":" Instructor instructor1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":47,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":48,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"instructor not yet indexed should not be searchable\");"},{"lineNumber":49,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":50,"author":{"gitId":"mingyuanc"},"content":" List\u003cInstructor\u003e instructorList \u003d logic.searchInstructorsInWholeSystem(instructor1.getEmail());"},{"lineNumber":51,"author":{"gitId":"mingyuanc"},"content":" assertEquals(0, instructorList.size());"},{"lineNumber":52,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":53,"author":{"gitId":"mingyuanc"},"content":" ______TS(\"instructor indexed should be searchable\");"},{"lineNumber":54,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":55,"author":{"gitId":"mingyuanc"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":56,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.COURSE_ID, instructor1.getCourseId(),"},{"lineNumber":57,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.INSTRUCTOR_EMAIL, instructor1.getEmail(),"},{"lineNumber":58,"author":{"gitId":"mingyuanc"},"content":" };"},{"lineNumber":59,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":60,"author":{"gitId":"mingyuanc"},"content":" InstructorSearchIndexingWorkerAction action \u003d getAction(submissionParams);"},{"lineNumber":61,"author":{"gitId":"mingyuanc"},"content":" getJsonResult(action);"},{"lineNumber":62,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":63,"author":{"gitId":"mingyuanc"},"content":" instructorList \u003d logic.searchInstructorsInWholeSystem(instructor1.getEmail());"},{"lineNumber":64,"author":{"gitId":"mingyuanc"},"content":" assertEquals(1, instructorList.size());"},{"lineNumber":65,"author":{"gitId":"mingyuanc"},"content":" assertEquals(instructor1.getId(), instructorList.get(0).getId());"},{"lineNumber":66,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":67,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":68,"author":{"gitId":"mingyuanc"},"content":" @Override"},{"lineNumber":69,"author":{"gitId":"mingyuanc"},"content":" protected void testAccessControl() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":70,"author":{"gitId":"mingyuanc"},"content":" Instructor instructor1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":71,"author":{"gitId":"mingyuanc"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":72,"author":{"gitId":"mingyuanc"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":73,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.COURSE_ID, instructor1.getCourseId(),"},{"lineNumber":74,"author":{"gitId":"mingyuanc"},"content":" Const.ParamsNames.INSTRUCTOR_EMAIL, instructor1.getEmail(),"},{"lineNumber":75,"author":{"gitId":"mingyuanc"},"content":" };"},{"lineNumber":76,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":77,"author":{"gitId":"mingyuanc"},"content":" verifyOnlyAdminCanAccess(course, submissionParams);"},{"lineNumber":78,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":79,"author":{"gitId":"mingyuanc"},"content":"}"}],"authorContributionMap":{"mingyuanc":79}},{"path":"src/it/java/teammates/it/ui/webapi/JoinCourseActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yuanxi1"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":3,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":4,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.Test;"},{"lineNumber":5,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":6,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.Const;"},{"lineNumber":7,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.EmailType;"},{"lineNumber":8,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":9,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":10,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":11,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":12,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.webapi.InvalidOperationException;"},{"lineNumber":13,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.webapi.JoinCourseAction;"},{"lineNumber":14,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":15,"author":{"gitId":"yuanxi1"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"yuanxi1"},"content":" * SUT: {@link JoinCourseAction}."},{"lineNumber":17,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":"public class JoinCourseActionIT extends BaseActionIT\u003cJoinCourseAction\u003e {"},{"lineNumber":19,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":20,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"yuanxi1"},"content":" @BeforeMethod"},{"lineNumber":22,"author":{"gitId":"yuanxi1"},"content":" protected void setUp() throws Exception {"},{"lineNumber":23,"author":{"gitId":"yuanxi1"},"content":" super.setUp();"},{"lineNumber":24,"author":{"gitId":"yuanxi1"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":25,"author":{"gitId":"yuanxi1"},"content":" HibernateUtil.flushSession();"},{"lineNumber":26,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":27,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":28,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"yuanxi1"},"content":" String getActionUri() {"},{"lineNumber":30,"author":{"gitId":"yuanxi1"},"content":" return Const.ResourceURIs.JOIN;"},{"lineNumber":31,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":32,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":33,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"yuanxi1"},"content":" String getRequestMethod() {"},{"lineNumber":35,"author":{"gitId":"yuanxi1"},"content":" return PUT;"},{"lineNumber":36,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":37,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":38,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":39,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":40,"author":{"gitId":"yuanxi1"},"content":" protected void testExecute() throws Exception {"},{"lineNumber":41,"author":{"gitId":"yuanxi1"},"content":" Student studentYetToJoinCourse \u003d typicalBundle.students.get(\"student2YetToJoinCourse4\");"},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":" String student1RegKey \u003d"},{"lineNumber":43,"author":{"gitId":"yuanxi1"},"content":" getRegKeyForStudent(studentYetToJoinCourse.getCourseId(), studentYetToJoinCourse.getEmail());"},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" String loggedInGoogleIdStu \u003d \"AccLogicT.student.id\";"},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":" Instructor instructorYetToJoinCourse \u003d typicalBundle.instructors.get(\"instructor2YetToJoinCourse4\");"},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":" String instructor1RegKey \u003d"},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" getRegKeyForInstructor(instructorYetToJoinCourse.getCourseId(), instructorYetToJoinCourse.getEmail());"},{"lineNumber":49,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":50,"author":{"gitId":"yuanxi1"},"content":" String loggedInGoogleIdInst \u003d \"AccLogicT.instr.id\";"},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: student joins course\");"},{"lineNumber":53,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":54,"author":{"gitId":"yuanxi1"},"content":" loginAsUnregistered(loggedInGoogleIdStu);"},{"lineNumber":55,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":56,"author":{"gitId":"yuanxi1"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":57,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.REGKEY, student1RegKey,"},{"lineNumber":58,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.STUDENT,"},{"lineNumber":59,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":60,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":61,"author":{"gitId":"yuanxi1"},"content":" JoinCourseAction joinCourseAction \u003d getAction(submissionParams);"},{"lineNumber":62,"author":{"gitId":"yuanxi1"},"content":" getJsonResult(joinCourseAction);"},{"lineNumber":63,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":64,"author":{"gitId":"yuanxi1"},"content":" verifyNumberOfEmailsSent(1);"},{"lineNumber":65,"author":{"gitId":"yuanxi1"},"content":" EmailWrapper email \u003d mockEmailSender.getEmailsSent().get(0);"},{"lineNumber":66,"author":{"gitId":"yuanxi1"},"content":" assertEquals("},{"lineNumber":67,"author":{"gitId":"yuanxi1"},"content":" String.format(EmailType.USER_COURSE_REGISTER.getSubject(), \"Typical Course 4\", \"course-4\"),"},{"lineNumber":68,"author":{"gitId":"yuanxi1"},"content":" email.getSubject());"},{"lineNumber":69,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":70,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: student is already registered\");"},{"lineNumber":71,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":72,"author":{"gitId":"yuanxi1"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":73,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.REGKEY, student1RegKey,"},{"lineNumber":74,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.STUDENT,"},{"lineNumber":75,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":76,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":77,"author":{"gitId":"yuanxi1"},"content":" InvalidOperationException ioe \u003d verifyInvalidOperation(submissionParams);"},{"lineNumber":78,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Student has already joined course\", ioe.getMessage());"},{"lineNumber":79,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":80,"author":{"gitId":"yuanxi1"},"content":" verifyNoEmailsSent();"},{"lineNumber":81,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":82,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"success: instructor joins course\");"},{"lineNumber":83,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":84,"author":{"gitId":"yuanxi1"},"content":" loginAsUnregistered(loggedInGoogleIdInst);"},{"lineNumber":85,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":86,"author":{"gitId":"yuanxi1"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":87,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.REGKEY, instructor1RegKey,"},{"lineNumber":88,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":89,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":90,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":91,"author":{"gitId":"yuanxi1"},"content":" joinCourseAction \u003d getAction(submissionParams);"},{"lineNumber":92,"author":{"gitId":"yuanxi1"},"content":" getJsonResult(joinCourseAction);"},{"lineNumber":93,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":94,"author":{"gitId":"yuanxi1"},"content":" verifyNumberOfEmailsSent(1);"},{"lineNumber":95,"author":{"gitId":"yuanxi1"},"content":" email \u003d mockEmailSender.getEmailsSent().get(0);"},{"lineNumber":96,"author":{"gitId":"yuanxi1"},"content":" assertEquals("},{"lineNumber":97,"author":{"gitId":"yuanxi1"},"content":" String.format(EmailType.USER_COURSE_REGISTER.getSubject(), \"Typical Course 4\", \"course-4\"),"},{"lineNumber":98,"author":{"gitId":"yuanxi1"},"content":" email.getSubject());"},{"lineNumber":99,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":100,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: instructor is already registered\");"},{"lineNumber":101,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":102,"author":{"gitId":"yuanxi1"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":103,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.REGKEY, instructor1RegKey,"},{"lineNumber":104,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":105,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":106,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":107,"author":{"gitId":"yuanxi1"},"content":" ioe \u003d verifyInvalidOperation(submissionParams);"},{"lineNumber":108,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Instructor has already joined course\", ioe.getMessage());"},{"lineNumber":109,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":110,"author":{"gitId":"yuanxi1"},"content":" verifyNoEmailsSent();"},{"lineNumber":111,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":112,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: invalid regkey\");"},{"lineNumber":113,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":114,"author":{"gitId":"yuanxi1"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":115,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.REGKEY, \"ANXKJZNZXNJCZXKJDNKSDA\","},{"lineNumber":116,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.STUDENT,"},{"lineNumber":117,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":118,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":119,"author":{"gitId":"yuanxi1"},"content":" verifyEntityNotFound(submissionParams);"},{"lineNumber":120,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":121,"author":{"gitId":"yuanxi1"},"content":" verifyNoEmailsSent();"},{"lineNumber":122,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":123,"author":{"gitId":"yuanxi1"},"content":" ______TS(\"failure: invalid entity type\");"},{"lineNumber":124,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":125,"author":{"gitId":"yuanxi1"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":126,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.REGKEY, student1RegKey,"},{"lineNumber":127,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, \"invalid_entity_type\","},{"lineNumber":128,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":129,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":130,"author":{"gitId":"yuanxi1"},"content":" verifyHttpParameterFailure(submissionParams);"},{"lineNumber":131,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":132,"author":{"gitId":"yuanxi1"},"content":" verifyNoEmailsSent();"},{"lineNumber":133,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":134,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":135,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":136,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":137,"author":{"gitId":"yuanxi1"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":138,"author":{"gitId":"yuanxi1"},"content":" verifyAnyLoggedInUserCanAccess();"},{"lineNumber":139,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":140,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":141,"author":{"gitId":"yuanxi1"},"content":" private String getRegKeyForStudent(String courseId, String email) {"},{"lineNumber":142,"author":{"gitId":"yuanxi1"},"content":" return logic.getStudentForEmail(courseId, email).getRegKey();"},{"lineNumber":143,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":144,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":145,"author":{"gitId":"yuanxi1"},"content":" private String getRegKeyForInstructor(String courseId, String email) {"},{"lineNumber":146,"author":{"gitId":"yuanxi1"},"content":" return logic.getInstructorForEmail(courseId, email).getRegKey();"},{"lineNumber":147,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":148,"author":{"gitId":"yuanxi1"},"content":"}"}],"authorContributionMap":{"yuanxi1":148}},{"path":"src/it/java/teammates/it/ui/webapi/RejectAccountRequestActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import java.util.UUID;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.AfterMethod;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Config;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.EmailType;"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":"import teammates.ui.output.AccountRequestData;"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":"import teammates.ui.request.AccountRequestRejectionRequest;"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":"import teammates.ui.webapi.EntityNotFoundException;"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":"import teammates.ui.webapi.InvalidHttpParameterException;"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":"import teammates.ui.webapi.InvalidOperationException;"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":"import teammates.ui.webapi.RejectAccountRequestAction;"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" * SUT: {@link RejectAccountRequestAction}."},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":"public class RejectAccountRequestActionIT extends BaseActionIT\u003cRejectAccountRequestAction\u003e {"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" private static final String TYPICAL_TITLE \u003d \"We are Unable to Create an Account for you\";"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" private static final String TYPICAL_BODY \u003d new StringBuilder()"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" .append(\"\u003cp\u003eHi, Example\u003c/p\u003e\\n\")"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" .append(\"\u003cp\u003eThanks for your interest in using TEAMMATES. \")"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" .append(\"We are unable to create a TEAMMATES instructor account for you.\u003c/p\u003e\\n\\n\")"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" .append(\"\u003cp\u003e\\n\")"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" .append(\" \u003cstrong\u003eReason:\u003c/strong\u003e The email address you provided \")"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" .append(\"is not an \u0027official\u0027 email address provided by your institution.\u003cbr /\u003e\\n\")"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" .append(\" \u003cstrong\u003eRemedy:\u003c/strong\u003e \")"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" .append(\"Please re-submit an account request with your \u0027official\u0027 institution email address.\\n\")"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" .append(\"\u003c/p\u003e\\n\\n\")"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" .append(\"\u003cp\u003eIf you need further clarification or would like to appeal this decision, \")"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" .append(\"please feel free to contact us at teammates@comp.nus.edu.sg.\u003c/p\u003e\\n\")"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" .append(\"\u003cp\u003eRegards,\u003cbr /\u003eTEAMMATES Team.\u003c/p\u003e\\n\")"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" .toString();"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" @BeforeMethod"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" protected void setUp() throws Exception {"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" // no need to call super.setUp() because the action handles its own transactions"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" protected String getActionUri() {"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" return Const.ResourceURIs.ACCOUNT_REQUEST_REJECTION;"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" protected String getRequestMethod() {"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" return POST;"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":67,"author":{"gitId":"xenosf"},"content":" public void testExecute() throws Exception {"},{"lineNumber":68,"author":{"gitId":"xenosf"},"content":" // See individual test methods below"},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" protected void testExecute_withReasonTitleAndBody_shouldRejectWithEmail()"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" throws InvalidOperationException, InvalidHttpRequestBodyException, InvalidParametersException {"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" AccountRequest bundleAccountRequest \u003d typicalBundle.accountRequests.get(\"unregisteredInstructor1\");"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d logic.createAccountRequestWithTransaction(bundleAccountRequest.getName(),"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" bundleAccountRequest.getEmail(), bundleAccountRequest.getInstitute(),"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" AccountRequestStatus.PENDING, bundleAccountRequest.getComments());"},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" UUID id \u003d accountRequest.getId();"},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" AccountRequestRejectionRequest requestBody \u003d new AccountRequestRejectionRequest(TYPICAL_TITLE, TYPICAL_BODY);"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":" String[] params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString()};"},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" RejectAccountRequestAction action \u003d getAction(requestBody, params);"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":" JsonResult result \u003d action.execute();"},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":" assertEquals(200, result.getStatusCode());"},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" AccountRequestData data \u003d (AccountRequestData) result.getOutput();"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest.getName(), data.getName());"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest.getEmail(), data.getEmail());"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest.getInstitute(), data.getInstitute());"},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":" assertEquals(AccountRequestStatus.REJECTED, data.getStatus());"},{"lineNumber":93,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest.getComments(), data.getComments());"},{"lineNumber":94,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":" verifyNumberOfEmailsSent(1);"},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":" EmailWrapper sentEmail \u003d mockEmailSender.getEmailsSent().get(0);"},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" assertEquals(EmailType.ACCOUNT_REQUEST_REJECTION, sentEmail.getType());"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" assertEquals(Config.SUPPORT_EMAIL, sentEmail.getBcc());"},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest.getEmail(), sentEmail.getRecipient());"},{"lineNumber":100,"author":{"gitId":"xenosf"},"content":" assertEquals(SanitizationHelper.sanitizeForRichText(TYPICAL_BODY), sentEmail.getContent());"},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":" assertEquals(\"TEAMMATES: \" + TYPICAL_TITLE, sentEmail.getSubject());"},{"lineNumber":102,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":103,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":104,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":105,"author":{"gitId":"xenosf"},"content":" protected void testExecute_withoutReasonTitleAndBody_shouldRejectWithoutEmail()"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":" throws InvalidOperationException, InvalidHttpRequestBodyException, InvalidParametersException {"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" AccountRequest bundleAccountRequest \u003d typicalBundle.accountRequests.get(\"unregisteredInstructor1\");"},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d logic.createAccountRequestWithTransaction(bundleAccountRequest.getName(),"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" bundleAccountRequest.getEmail(), bundleAccountRequest.getInstitute(),"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" AccountRequestStatus.PENDING, bundleAccountRequest.getComments());"},{"lineNumber":111,"author":{"gitId":"xenosf"},"content":" UUID id \u003d accountRequest.getId();"},{"lineNumber":112,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":113,"author":{"gitId":"xenosf"},"content":" AccountRequestRejectionRequest requestBody \u003d new AccountRequestRejectionRequest(null, null);"},{"lineNumber":114,"author":{"gitId":"xenosf"},"content":" String[] params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString()};"},{"lineNumber":115,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" RejectAccountRequestAction action \u003d getAction(requestBody, params);"},{"lineNumber":117,"author":{"gitId":"xenosf"},"content":" JsonResult result \u003d action.execute();"},{"lineNumber":118,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":119,"author":{"gitId":"xenosf"},"content":" assertEquals(200, result.getStatusCode());"},{"lineNumber":120,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":121,"author":{"gitId":"xenosf"},"content":" AccountRequestData data \u003d (AccountRequestData) result.getOutput();"},{"lineNumber":122,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest.getName(), data.getName());"},{"lineNumber":123,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest.getEmail(), data.getEmail());"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest.getInstitute(), data.getInstitute());"},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":" assertEquals(AccountRequestStatus.REJECTED, data.getStatus());"},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest.getComments(), data.getComments());"},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":" verifyNoEmailsSent();"},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":130,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":" protected void testExecute_withReasonBodyButNoTitle_shouldThrow() throws InvalidParametersException {"},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" AccountRequest bundleAccountRequest \u003d typicalBundle.accountRequests.get(\"unregisteredInstructor1\");"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d logic.createAccountRequestWithTransaction(bundleAccountRequest.getName(),"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":" bundleAccountRequest.getEmail(), bundleAccountRequest.getInstitute(),"},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" bundleAccountRequest.getStatus(), bundleAccountRequest.getComments());"},{"lineNumber":137,"author":{"gitId":"xenosf"},"content":" UUID id \u003d accountRequest.getId();"},{"lineNumber":138,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":139,"author":{"gitId":"xenosf"},"content":" AccountRequestRejectionRequest requestBody \u003d new AccountRequestRejectionRequest(null, TYPICAL_BODY);"},{"lineNumber":140,"author":{"gitId":"xenosf"},"content":" String[] params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString()};"},{"lineNumber":141,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":142,"author":{"gitId":"xenosf"},"content":" InvalidHttpRequestBodyException ihrbe \u003d verifyHttpRequestBodyFailure(requestBody, params);"},{"lineNumber":143,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":144,"author":{"gitId":"xenosf"},"content":" assertEquals(\"Both reason body and title need to be null to reject silently\", ihrbe.getMessage());"},{"lineNumber":145,"author":{"gitId":"xenosf"},"content":" verifyNoEmailsSent();"},{"lineNumber":146,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":147,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":148,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":" protected void testExecute_withReasonTitleButNoBody_shouldThrow() throws InvalidParametersException {"},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":" AccountRequest bundleAccountRequest \u003d typicalBundle.accountRequests.get(\"unregisteredInstructor1\");"},{"lineNumber":151,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d logic.createAccountRequestWithTransaction(bundleAccountRequest.getName(),"},{"lineNumber":152,"author":{"gitId":"domoberzin"},"content":" bundleAccountRequest.getEmail(), bundleAccountRequest.getInstitute(),"},{"lineNumber":153,"author":{"gitId":"domoberzin"},"content":" bundleAccountRequest.getStatus(), bundleAccountRequest.getComments());"},{"lineNumber":154,"author":{"gitId":"xenosf"},"content":" UUID id \u003d accountRequest.getId();"},{"lineNumber":155,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":156,"author":{"gitId":"xenosf"},"content":" AccountRequestRejectionRequest requestBody \u003d new AccountRequestRejectionRequest(TYPICAL_TITLE, null);"},{"lineNumber":157,"author":{"gitId":"xenosf"},"content":" String[] params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString()};"},{"lineNumber":158,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":159,"author":{"gitId":"xenosf"},"content":" InvalidHttpRequestBodyException ihrbe \u003d verifyHttpRequestBodyFailure(requestBody, params);"},{"lineNumber":160,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":161,"author":{"gitId":"xenosf"},"content":" assertEquals(\"Both reason body and title need to be null to reject silently\", ihrbe.getMessage());"},{"lineNumber":162,"author":{"gitId":"xenosf"},"content":" verifyNoEmailsSent();"},{"lineNumber":163,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":164,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":165,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":166,"author":{"gitId":"xenosf"},"content":" protected void testExecute_alreadyRejected_shouldNotSendEmail()"},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":" throws InvalidOperationException, InvalidHttpRequestBodyException, InvalidParametersException {"},{"lineNumber":168,"author":{"gitId":"domoberzin"},"content":" AccountRequest bundleAccountRequest \u003d typicalBundle.accountRequests.get(\"unregisteredInstructor1\");"},{"lineNumber":169,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d logic.createAccountRequestWithTransaction(bundleAccountRequest.getName(),"},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":" bundleAccountRequest.getEmail(), bundleAccountRequest.getInstitute(),"},{"lineNumber":171,"author":{"gitId":"domoberzin"},"content":" AccountRequestStatus.REJECTED, bundleAccountRequest.getComments());"},{"lineNumber":172,"author":{"gitId":"xenosf"},"content":" UUID id \u003d accountRequest.getId();"},{"lineNumber":173,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":174,"author":{"gitId":"xenosf"},"content":" AccountRequestRejectionRequest requestBody \u003d new AccountRequestRejectionRequest(TYPICAL_TITLE, TYPICAL_BODY);"},{"lineNumber":175,"author":{"gitId":"xenosf"},"content":" String[] params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString()};"},{"lineNumber":176,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":177,"author":{"gitId":"xenosf"},"content":" RejectAccountRequestAction action \u003d getAction(requestBody, params);"},{"lineNumber":178,"author":{"gitId":"xenosf"},"content":" JsonResult result \u003d action.execute();"},{"lineNumber":179,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":180,"author":{"gitId":"xenosf"},"content":" assertEquals(result.getStatusCode(), 200);"},{"lineNumber":181,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":182,"author":{"gitId":"xenosf"},"content":" AccountRequestData data \u003d (AccountRequestData) result.getOutput();"},{"lineNumber":183,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest.getName(), data.getName());"},{"lineNumber":184,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest.getEmail(), data.getEmail());"},{"lineNumber":185,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest.getInstitute(), data.getInstitute());"},{"lineNumber":186,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest.getStatus(), data.getStatus());"},{"lineNumber":187,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest.getComments(), data.getComments());"},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":" verifyNoEmailsSent();"},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":" protected void testExecute_invalidUuid_shouldThrow() throws InvalidParametersException {"},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" AccountRequestRejectionRequest requestBody \u003d new AccountRequestRejectionRequest(null, null);"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":" String[] params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, \"invalid\"};"},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":" InvalidHttpParameterException ihpe \u003d verifyHttpParameterFailure(requestBody, params);"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"Expected UUID value for id parameter, but found: [invalid]\", ihpe.getMessage());"},{"lineNumber":199,"author":{"gitId":"xenosf"},"content":" verifyNoEmailsSent();"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":" protected void testExecute_accountRequestNotFound_shouldThrow() {"},{"lineNumber":204,"author":{"gitId":"xenosf"},"content":" AccountRequestRejectionRequest requestBody \u003d new AccountRequestRejectionRequest(null, null);"},{"lineNumber":205,"author":{"gitId":"xenosf"},"content":" String uuid \u003d UUID.randomUUID().toString();"},{"lineNumber":206,"author":{"gitId":"xenosf"},"content":" String[] params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, uuid};"},{"lineNumber":207,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":208,"author":{"gitId":"xenosf"},"content":" EntityNotFoundException enfe \u003d verifyEntityNotFound(requestBody, params);"},{"lineNumber":209,"author":{"gitId":"xenosf"},"content":" assertEquals(String.format(\"Account request with id \u003d %s not found\", uuid), enfe.getMessage());"},{"lineNumber":210,"author":{"gitId":"xenosf"},"content":" verifyNoEmailsSent();"},{"lineNumber":211,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":212,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" protected void testAccessControl() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":216,"author":{"gitId":"domoberzin"},"content":" verifyOnlyAdminCanAccessWithTransaction();"},{"lineNumber":217,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":218,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":219,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":220,"author":{"gitId":"domoberzin"},"content":" @AfterMethod"},{"lineNumber":221,"author":{"gitId":"domoberzin"},"content":" protected void tearDown() {"},{"lineNumber":222,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":223,"author":{"gitId":"domoberzin"},"content":" List\u003cAccountRequest\u003e accountRequests \u003d logic.getAllAccountRequests();"},{"lineNumber":224,"author":{"gitId":"domoberzin"},"content":" for (AccountRequest ar : accountRequests) {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" logic.deleteAccountRequest(ar.getId());"},{"lineNumber":226,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":227,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":228,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":229,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"domoberzin":41,"xenosf":187,"-":1}},{"path":"src/it/java/teammates/it/ui/webapi/SearchAccountRequestsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.Test;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.Const;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.test.TestProperties;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.output.AccountRequestsData;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.output.MessageOutput;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.SearchAccountRequestsAction;"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" * SUT: {@link SearchAccountRequestsAction}."},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":"public class SearchAccountRequestsActionIT extends BaseActionIT\u003cSearchAccountRequestsAction\u003e {"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" protected void testAccessControl() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" verifyOnlyAdminCanAccess(course);"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" @BeforeMethod"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" protected void setUp() throws Exception {"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" super.setUp();"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" putDocuments(typicalBundle);"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.flushSession();"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" protected String getActionUri() {"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" return Const.ResourceURIs.SEARCH_ACCOUNT_REQUESTS;"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" protected String getRequestMethod() {"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" return GET;"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" protected void testExecute() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Search with SearchService disabled\");"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" String[] submissionParams \u003d new String[] { Const.ParamsNames.SEARCH_KEY, \"randomString123\" };"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" SearchAccountRequestsAction action \u003d getAction(submissionParams);"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" JsonResult result \u003d getJsonResult(action, HttpStatus.SC_NOT_IMPLEMENTED);"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" MessageOutput output \u003d (MessageOutput) result.getOutput();"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"Full-text search is not available.\", output.getMessage());"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d typicalBundle.accountRequests.get(\"instructor1\");"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" loginAsAdmin();"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Search via Email\");"},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" String[] submissionParams \u003d new String[] { Const.ParamsNames.SEARCH_KEY, accountRequest.getEmail() };"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":" SearchAccountRequestsAction action \u003d getAction(submissionParams);"},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" JsonResult result \u003d getJsonResult(action, 200);"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" AccountRequestsData response \u003d (AccountRequestsData) result.getOutput();"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" assertTrue(response.getAccountRequests().stream()"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" .filter(i -\u003e i.getName().equals(accountRequest.getName()))"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" .findAny()"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" .isPresent());"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" assertTrue(response.getAccountRequests().get(0).getRegistrationKey() !\u003d null);"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Search via Institute\");"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" submissionParams \u003d new String[] { Const.ParamsNames.SEARCH_KEY, accountRequest.getInstitute() };"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" action \u003d getAction(submissionParams);"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" result \u003d getJsonResult(action, 200);"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" response \u003d (AccountRequestsData) result.getOutput();"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" assertTrue(response.getAccountRequests().stream()"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" .filter(i -\u003e i.getName().equals(accountRequest.getName()))"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" .findAny()"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" .isPresent());"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":" assertTrue(response.getAccountRequests().get(0).getRegistrationKey() !\u003d null);"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Search via Name\");"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" submissionParams \u003d new String[] { Const.ParamsNames.SEARCH_KEY, accountRequest.getName() };"},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" action \u003d getAction(submissionParams);"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" result \u003d getJsonResult(action, 200);"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" response \u003d (AccountRequestsData) result.getOutput();"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" assertTrue(response.getAccountRequests().stream()"},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" .filter(i -\u003e i.getName().equals(accountRequest.getName()))"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" .findAny()"},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" .isPresent());"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" assertTrue(response.getAccountRequests().get(0).getRegistrationKey() !\u003d null);"},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Search Duplicate Name\");"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":" submissionParams \u003d new String[] { Const.ParamsNames.SEARCH_KEY, \"Instructor\" };"},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" action \u003d getAction(submissionParams);"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" result \u003d getJsonResult(action, 200);"},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" response \u003d (AccountRequestsData) result.getOutput();"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" assertTrue(response.getAccountRequests().get(0).getRegistrationKey() !\u003d null);"},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" assertEquals(11, response.getAccountRequests().size());"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" ______TS(\"Search result with 0 matches\");"},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" submissionParams \u003d new String[] { Const.ParamsNames.SEARCH_KEY, \"randomString123\" };"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" action \u003d getAction(submissionParams);"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" result \u003d getJsonResult(action, 200);"},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" response \u003d (AccountRequestsData) result.getOutput();"},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" assertEquals(0, response.getAccountRequests().size());"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":115}},{"path":"src/it/java/teammates/it/ui/webapi/SearchStudentsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"yuanxi1"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":3,"author":{"gitId":"yuanxi1"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":4,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":5,"author":{"gitId":"yuanxi1"},"content":"import org.testng.annotations.Test;"},{"lineNumber":6,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":7,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":8,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":9,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.Const;"},{"lineNumber":10,"author":{"gitId":"yuanxi1"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":11,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":12,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":13,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":14,"author":{"gitId":"yuanxi1"},"content":"import teammates.test.TestProperties;"},{"lineNumber":15,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.output.MessageOutput;"},{"lineNumber":16,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.output.StudentsData;"},{"lineNumber":17,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":"import teammates.ui.webapi.SearchStudentsAction;"},{"lineNumber":19,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":20,"author":{"gitId":"yuanxi1"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"yuanxi1"},"content":" * SUT: {@link SearchStudentsAction}."},{"lineNumber":22,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":23,"author":{"gitId":"yuanxi1"},"content":"public class SearchStudentsActionIT extends BaseActionIT\u003cSearchStudentsAction\u003e {"},{"lineNumber":24,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":25,"author":{"gitId":"yuanxi1"},"content":" private final Student student1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":26,"author":{"gitId":"yuanxi1"},"content":" private final Instructor instructor1OfCourse1 \u003d typicalBundle.instructors.get(\"instructor1OfCourse1\");"},{"lineNumber":27,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":28,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"yuanxi1"},"content":" @BeforeMethod"},{"lineNumber":30,"author":{"gitId":"yuanxi1"},"content":" protected void setUp() throws Exception {"},{"lineNumber":31,"author":{"gitId":"yuanxi1"},"content":" super.setUp();"},{"lineNumber":32,"author":{"gitId":"yuanxi1"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":33,"author":{"gitId":"yuanxi1"},"content":" putDocuments(typicalBundle);"},{"lineNumber":34,"author":{"gitId":"yuanxi1"},"content":" HibernateUtil.flushSession();"},{"lineNumber":35,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":36,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":37,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"yuanxi1"},"content":" protected String getActionUri() {"},{"lineNumber":39,"author":{"gitId":"yuanxi1"},"content":" return Const.ResourceURIs.SEARCH_STUDENTS;"},{"lineNumber":40,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":41,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":43,"author":{"gitId":"yuanxi1"},"content":" protected String getRequestMethod() {"},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" return GET;"},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" protected void testExecute() {"},{"lineNumber":49,"author":{"gitId":"yuanxi1"},"content":" // See test cases below."},{"lineNumber":50,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":53,"author":{"gitId":"yuanxi1"},"content":" public void execute_invalidParameters_parameterFailure() {"},{"lineNumber":54,"author":{"gitId":"yuanxi1"},"content":" loginAsAdmin();"},{"lineNumber":55,"author":{"gitId":"yuanxi1"},"content":" verifyHttpParameterFailure();"},{"lineNumber":56,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":57,"author":{"gitId":"yuanxi1"},"content":" String[] notEnoughParams \u003d new String[] {"},{"lineNumber":58,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"dummy\","},{"lineNumber":59,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":60,"author":{"gitId":"yuanxi1"},"content":" verifyHttpParameterFailure(notEnoughParams);"},{"lineNumber":61,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":62,"author":{"gitId":"yuanxi1"},"content":" String[] invalidEntityParams \u003d new String[] {"},{"lineNumber":63,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"dummy\","},{"lineNumber":64,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, \"dummy\","},{"lineNumber":65,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":66,"author":{"gitId":"yuanxi1"},"content":" verifyHttpParameterFailure(invalidEntityParams);"},{"lineNumber":67,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":68,"author":{"gitId":"yuanxi1"},"content":" String[] adminParams \u003d new String[] {"},{"lineNumber":69,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"dummy\","},{"lineNumber":70,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.ADMIN,"},{"lineNumber":71,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":72,"author":{"gitId":"yuanxi1"},"content":" String[] instructorParams \u003d new String[] {"},{"lineNumber":73,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"dummy\","},{"lineNumber":74,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":75,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":76,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":77,"author":{"gitId":"yuanxi1"},"content":" loginAsAdmin();"},{"lineNumber":78,"author":{"gitId":"yuanxi1"},"content":" verifyHttpParameterFailure(instructorParams);"},{"lineNumber":79,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":80,"author":{"gitId":"yuanxi1"},"content":" loginAsInstructor(instructor1OfCourse1.getGoogleId());"},{"lineNumber":81,"author":{"gitId":"yuanxi1"},"content":" verifyHttpParameterFailure(adminParams);"},{"lineNumber":82,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":83,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":84,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":85,"author":{"gitId":"yuanxi1"},"content":" public void execute_adminSearchName_success() {"},{"lineNumber":86,"author":{"gitId":"yuanxi1"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":87,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":88,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":89,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":90,"author":{"gitId":"yuanxi1"},"content":" loginAsAdmin();"},{"lineNumber":91,"author":{"gitId":"yuanxi1"},"content":" String[] accNameParams \u003d new String[] {"},{"lineNumber":92,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, student1InCourse1.getName(),"},{"lineNumber":93,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.ADMIN,"},{"lineNumber":94,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":95,"author":{"gitId":"yuanxi1"},"content":" SearchStudentsAction a \u003d getAction(accNameParams);"},{"lineNumber":96,"author":{"gitId":"yuanxi1"},"content":" JsonResult result \u003d getJsonResult(a);"},{"lineNumber":97,"author":{"gitId":"yuanxi1"},"content":" StudentsData response \u003d (StudentsData) result.getOutput();"},{"lineNumber":98,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":99,"author":{"gitId":"marquestye"},"content":" assertEquals(11, response.getStudents().size());"},{"lineNumber":100,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":101,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":102,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":103,"author":{"gitId":"yuanxi1"},"content":" public void execute_adminSearchCourseId_success() {"},{"lineNumber":104,"author":{"gitId":"yuanxi1"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":105,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":106,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":107,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":108,"author":{"gitId":"yuanxi1"},"content":" loginAsAdmin();"},{"lineNumber":109,"author":{"gitId":"yuanxi1"},"content":" String[] accCourseIdParams \u003d new String[] {"},{"lineNumber":110,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, student1InCourse1.getCourseId(),"},{"lineNumber":111,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.ADMIN,"},{"lineNumber":112,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":113,"author":{"gitId":"yuanxi1"},"content":" SearchStudentsAction a \u003d getAction(accCourseIdParams);"},{"lineNumber":114,"author":{"gitId":"yuanxi1"},"content":" JsonResult result \u003d getJsonResult(a);"},{"lineNumber":115,"author":{"gitId":"yuanxi1"},"content":" StudentsData response \u003d (StudentsData) result.getOutput();"},{"lineNumber":116,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":117,"author":{"gitId":"marquestye"},"content":" assertEquals(11, response.getStudents().size());"},{"lineNumber":118,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":119,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":120,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":121,"author":{"gitId":"yuanxi1"},"content":" public void execute_adminSearchEmail_success() {"},{"lineNumber":122,"author":{"gitId":"yuanxi1"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":123,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":124,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":125,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":126,"author":{"gitId":"yuanxi1"},"content":" loginAsAdmin();"},{"lineNumber":127,"author":{"gitId":"yuanxi1"},"content":" String[] emailParams \u003d new String[] {"},{"lineNumber":128,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, student1InCourse1.getEmail(),"},{"lineNumber":129,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.ADMIN,"},{"lineNumber":130,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":131,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":132,"author":{"gitId":"yuanxi1"},"content":" SearchStudentsAction a \u003d getAction(emailParams);"},{"lineNumber":133,"author":{"gitId":"yuanxi1"},"content":" JsonResult result \u003d getJsonResult(a);"},{"lineNumber":134,"author":{"gitId":"yuanxi1"},"content":" StudentsData response \u003d (StudentsData) result.getOutput();"},{"lineNumber":135,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" assertEquals(4, response.getStudents().size());"},{"lineNumber":137,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":138,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":139,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":140,"author":{"gitId":"yuanxi1"},"content":" public void execute_adminSearchNoMatch_noMatch() {"},{"lineNumber":141,"author":{"gitId":"yuanxi1"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":142,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":143,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":144,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":145,"author":{"gitId":"yuanxi1"},"content":" loginAsAdmin();"},{"lineNumber":146,"author":{"gitId":"yuanxi1"},"content":" String[] accNameParams \u003d new String[] {"},{"lineNumber":147,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"minuscoronavirus\","},{"lineNumber":148,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.ADMIN,"},{"lineNumber":149,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":150,"author":{"gitId":"yuanxi1"},"content":" SearchStudentsAction a \u003d getAction(accNameParams);"},{"lineNumber":151,"author":{"gitId":"yuanxi1"},"content":" JsonResult result \u003d getJsonResult(a);"},{"lineNumber":152,"author":{"gitId":"yuanxi1"},"content":" StudentsData response \u003d (StudentsData) result.getOutput();"},{"lineNumber":153,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":154,"author":{"gitId":"yuanxi1"},"content":" assertEquals(0, response.getStudents().size());"},{"lineNumber":155,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":156,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":157,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":158,"author":{"gitId":"yuanxi1"},"content":" public void execute_instructorSearchGoogleId_matchOnlyStudentsInCourse() {"},{"lineNumber":159,"author":{"gitId":"yuanxi1"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":160,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":161,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":162,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":163,"author":{"gitId":"yuanxi1"},"content":" loginAsInstructor(instructor1OfCourse1.getGoogleId());"},{"lineNumber":164,"author":{"gitId":"yuanxi1"},"content":" String[] googleIdParams \u003d new String[] {"},{"lineNumber":165,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"student1\","},{"lineNumber":166,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":167,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":168,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":169,"author":{"gitId":"yuanxi1"},"content":" SearchStudentsAction a \u003d getAction(googleIdParams);"},{"lineNumber":170,"author":{"gitId":"yuanxi1"},"content":" JsonResult result \u003d getJsonResult(a);"},{"lineNumber":171,"author":{"gitId":"yuanxi1"},"content":" StudentsData response \u003d (StudentsData) result.getOutput();"},{"lineNumber":172,"author":{"gitId":"-"},"content":" assertEquals(3, response.getStudents().size());"},{"lineNumber":173,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":174,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":175,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":176,"author":{"gitId":"yuanxi1"},"content":" public void execute_noSearchService_shouldReturn501() {"},{"lineNumber":177,"author":{"gitId":"yuanxi1"},"content":" if (TestProperties.isSearchServiceActive()) {"},{"lineNumber":178,"author":{"gitId":"yuanxi1"},"content":" return;"},{"lineNumber":179,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":180,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":181,"author":{"gitId":"yuanxi1"},"content":" loginAsInstructor(instructor1OfCourse1.getGoogleId());"},{"lineNumber":182,"author":{"gitId":"yuanxi1"},"content":" String[] params \u003d new String[] {"},{"lineNumber":183,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"anything\","},{"lineNumber":184,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR,"},{"lineNumber":185,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":186,"author":{"gitId":"yuanxi1"},"content":" SearchStudentsAction a \u003d getAction(params);"},{"lineNumber":187,"author":{"gitId":"yuanxi1"},"content":" JsonResult result \u003d getJsonResult(a, HttpStatus.SC_NOT_IMPLEMENTED);"},{"lineNumber":188,"author":{"gitId":"yuanxi1"},"content":" MessageOutput output \u003d (MessageOutput) result.getOutput();"},{"lineNumber":189,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":190,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Full-text search is not available.\", output.getMessage());"},{"lineNumber":191,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":192,"author":{"gitId":"yuanxi1"},"content":" loginAsAdmin();"},{"lineNumber":193,"author":{"gitId":"yuanxi1"},"content":" params \u003d new String[] {"},{"lineNumber":194,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.SEARCH_KEY, \"anything\","},{"lineNumber":195,"author":{"gitId":"yuanxi1"},"content":" Const.ParamsNames.ENTITY_TYPE, Const.EntityType.ADMIN,"},{"lineNumber":196,"author":{"gitId":"yuanxi1"},"content":" };"},{"lineNumber":197,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":198,"author":{"gitId":"yuanxi1"},"content":" a \u003d getAction(params);"},{"lineNumber":199,"author":{"gitId":"yuanxi1"},"content":" result \u003d getJsonResult(a, HttpStatus.SC_NOT_IMPLEMENTED);"},{"lineNumber":200,"author":{"gitId":"yuanxi1"},"content":" output \u003d (MessageOutput) result.getOutput();"},{"lineNumber":201,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":202,"author":{"gitId":"yuanxi1"},"content":" assertEquals(\"Full-text search is not available.\", output.getMessage());"},{"lineNumber":203,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":204,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":205,"author":{"gitId":"yuanxi1"},"content":" @Override"},{"lineNumber":206,"author":{"gitId":"yuanxi1"},"content":" @Test"},{"lineNumber":207,"author":{"gitId":"yuanxi1"},"content":" protected void testAccessControl() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":208,"author":{"gitId":"yuanxi1"},"content":" verifyAccessibleForAdmin();"},{"lineNumber":209,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":210,"author":{"gitId":"yuanxi1"},"content":" verifyOnlyInstructorsCanAccess(course);"},{"lineNumber":211,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":212,"author":{"gitId":"yuanxi1"},"content":"}"}],"authorContributionMap":{"yuanxi1":208,"marquestye":2,"-":2}},{"path":"src/it/java/teammates/it/ui/webapi/StudentSearchIndexingWorkerActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const.ParamsNames;"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const.TaskQueue;"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlsearch.SearchManagerFactory;"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":"import teammates.test.TestProperties;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":"import teammates.ui.webapi.StudentSearchIndexingWorkerAction;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" * SUT: {@link StudentSearchIndexingWorkerAction}."},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":"public class StudentSearchIndexingWorkerActionIT extends BaseActionIT\u003cStudentSearchIndexingWorkerAction\u003e {"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" private final Student student \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" @BeforeMethod"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" protected void setUp() throws Exception {"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" super.setUp();"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" HibernateUtil.flushSession();"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" SearchManagerFactory.getStudentSearchManager().resetCollections();"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" protected String getActionUri() {"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" return TaskQueue.STUDENT_SEARCH_INDEXING_WORKER_URL;"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" protected String getRequestMethod() {"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" return POST;"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" protected void testExecute() throws Exception {"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" // See test cases below"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" protected void testExecute_studentNotYetIndexed_shouldNotBeSearchable() throws Exception {"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" return;"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" List\u003cStudent\u003e studentList \u003d logic.searchStudentsInWholeSystem(student.getEmail());"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" assertEquals(0, studentList.size());"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" protected void testExecute_studentIndexed_shouldBeSearchable() throws Exception {"},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" if (!TestProperties.isSearchServiceActive()) {"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" return;"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":67,"author":{"gitId":"xenosf"},"content":" ParamsNames.COURSE_ID, student.getCourseId(),"},{"lineNumber":68,"author":{"gitId":"xenosf"},"content":" ParamsNames.STUDENT_EMAIL, student.getEmail(),"},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" StudentSearchIndexingWorkerAction action \u003d getAction(submissionParams);"},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" getJsonResult(action);"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" List\u003cStudent\u003e studentList \u003d logic.searchStudentsInWholeSystem(student.getEmail());"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" assertEquals(1, studentList.size());"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" assertEquals(student.getName(), studentList.get(0).getName());"},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":" protected void testAccessControl() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" verifyOnlyAdminCanAccess(course);"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":85}},{"path":"src/it/java/teammates/it/ui/webapi/UpdateAccountRequestActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import java.util.UUID;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.AfterMethod;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.Const;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.StringHelperExtension;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.output.AccountRequestData;"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.request.AccountRequestUpdateRequest;"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.EntityNotFoundException;"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.InvalidHttpParameterException;"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.InvalidOperationException;"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.webapi.UpdateAccountRequestAction;"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" * SUT: {@link UpdateAccountRequestAction}."},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":"public class UpdateAccountRequestActionIT extends BaseActionIT\u003cUpdateAccountRequestAction\u003e {"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" @BeforeMethod"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" protected void setUp() throws Exception {"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" // no need to call super.setUp() because the action handles its own transactions"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" protected String getActionUri() {"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" return Const.ResourceURIs.ACCOUNT_REQUEST;"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" protected String getRequestMethod() {"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" return PUT;"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" public void testExecute() throws Exception {"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" ______TS(\"edit fields of an account request\");"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d logic.createAccountRequestWithTransaction(\"name\", \"email@email.com\","},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" UUID id \u003d accountRequest.getId();"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" String name \u003d \"newName\";"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" String email \u003d \"newEmail@email.com\";"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" String institute \u003d \"newInstitute\";"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" String comments \u003d \"newComments\";"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" AccountRequestStatus status \u003d accountRequest.getStatus();"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" AccountRequestUpdateRequest requestBody \u003d new AccountRequestUpdateRequest(name, email, institute, status, comments);"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" String[] params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString()};"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" UpdateAccountRequestAction action \u003d getAction(requestBody, params);"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":" JsonResult result \u003d action.execute();"},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":" assertEquals(result.getStatusCode(), 200);"},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" AccountRequestData data \u003d (AccountRequestData) result.getOutput();"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" assertEquals(name, data.getName());"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" assertEquals(email, data.getEmail());"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" assertEquals(institute, data.getInstitute());"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" assertEquals(status, data.getStatus());"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" assertEquals(comments, data.getComments());"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" verifyNoEmailsSent();"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" ______TS(\"approve a pending account request\");"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d logic.createAccountRequestWithTransaction(\"name\", \"email@email.com\","},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" requestBody \u003d new AccountRequestUpdateRequest(accountRequest.getName(), accountRequest.getEmail(),"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" accountRequest.getInstitute(), AccountRequestStatus.APPROVED, accountRequest.getComments());"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, accountRequest.getId().toString()};"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" action \u003d getAction(requestBody, params);"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" result \u003d getJsonResult(action, 200);"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":" data \u003d (AccountRequestData) result.getOutput();"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" assertEquals(accountRequest.getName(), data.getName());"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" assertEquals(accountRequest.getEmail(), data.getEmail());"},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" assertEquals(accountRequest.getInstitute(), data.getInstitute());"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" assertEquals(AccountRequestStatus.APPROVED, data.getStatus());"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" assertEquals(accountRequest.getComments(), data.getComments());"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" verifyNumberOfEmailsSent(1);"},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" ______TS(\"already registered account request has no email sent when approved\");"},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d logic.createAccountRequestWithTransaction(\"name\", \"email@email.com\","},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" \"institute\", AccountRequestStatus.REGISTERED, \"comments\");"},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":" requestBody \u003d new AccountRequestUpdateRequest(name, email, institute, AccountRequestStatus.APPROVED, comments);"},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, accountRequest.getId().toString()};"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" action \u003d getAction(requestBody, params);"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" result \u003d getJsonResult(action, 200);"},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" data \u003d (AccountRequestData) result.getOutput();"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" assertEquals(name, data.getName());"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":" assertEquals(email, data.getEmail());"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" assertEquals(institute, data.getInstitute());"},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" assertEquals(AccountRequestStatus.REGISTERED, data.getStatus());"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" assertEquals(comments, data.getComments());"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" verifyNumberOfEmailsSent(0);"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" ______TS(\"email with existing account throws exception\");"},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" Account account \u003d logic.createAccountWithTransaction(getTypicalAccount());"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d logic.createAccountRequestWithTransaction(\"name\", account.getEmail(),"},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" requestBody \u003d new AccountRequestUpdateRequest(name, email, institute, AccountRequestStatus.APPROVED, comments);"},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, accountRequest.getId().toString()};"},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" InvalidOperationException ipe \u003d verifyInvalidOperation(requestBody, params);"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" assertEquals(String.format(\"An account with email %s already exists. \""},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":" + \"Please reject or delete the account request instead.\", account.getEmail()), ipe.getMessage());"},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" ______TS(\"non-existent but valid uuid\");"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" requestBody \u003d new AccountRequestUpdateRequest(\"name\", \"email\","},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" String validUuid \u003d UUID.randomUUID().toString();"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":" params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, validUuid};"},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":" EntityNotFoundException enfe \u003d verifyEntityNotFound(requestBody, params);"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":" assertEquals(String.format(\"Account request with id \u003d %s not found\", validUuid), enfe.getMessage());"},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" ______TS(\"invalid uuid\");"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":" requestBody \u003d new AccountRequestUpdateRequest(\"name\", \"email\","},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":" params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, \"invalid\"};"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":" InvalidHttpParameterException ihpe \u003d verifyHttpParameterFailure(requestBody, params);"},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"Expected UUID value for id parameter, but found: [invalid]\", ihpe.getMessage());"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" ______TS(\"invalid email\");"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d logic.createAccountRequestWithTransaction(\"name\", \"email@email.com\","},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":" id \u003d accountRequest.getId();"},{"lineNumber":147,"author":{"gitId":"domoberzin"},"content":" email \u003d \"newEmail\";"},{"lineNumber":148,"author":{"gitId":"domoberzin"},"content":" status \u003d accountRequest.getStatus();"},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":" requestBody \u003d new AccountRequestUpdateRequest(name, email, institute, status, comments);"},{"lineNumber":151,"author":{"gitId":"domoberzin"},"content":" params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString()};"},{"lineNumber":152,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":153,"author":{"gitId":"domoberzin"},"content":" InvalidHttpRequestBodyException ihrbe \u003d verifyHttpRequestBodyFailure(requestBody, params);"},{"lineNumber":154,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":155,"author":{"gitId":"domoberzin"},"content":" assertEquals(getPopulatedErrorMessage(FieldValidator.EMAIL_ERROR_MESSAGE, email,"},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":" FieldValidator.EMAIL_FIELD_NAME, FieldValidator.REASON_INCORRECT_FORMAT, FieldValidator.EMAIL_MAX_LENGTH),"},{"lineNumber":157,"author":{"gitId":"domoberzin"},"content":" ihrbe.getMessage());"},{"lineNumber":158,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":159,"author":{"gitId":"domoberzin"},"content":" ______TS(\"invalid name alphanumeric\");"},{"lineNumber":160,"author":{"gitId":"domoberzin"},"content":" name \u003d \"@$@#$#@#@$#@$\";"},{"lineNumber":161,"author":{"gitId":"domoberzin"},"content":" email \u003d \"newEmail@email.com\";"},{"lineNumber":162,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":163,"author":{"gitId":"domoberzin"},"content":" requestBody \u003d new AccountRequestUpdateRequest(name, email, institute, status, comments);"},{"lineNumber":164,"author":{"gitId":"domoberzin"},"content":" params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString()};"},{"lineNumber":165,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":166,"author":{"gitId":"domoberzin"},"content":" ihrbe \u003d verifyHttpRequestBodyFailure(requestBody, params);"},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":168,"author":{"gitId":"domoberzin"},"content":" assertEquals(getPopulatedErrorMessage(FieldValidator.INVALID_NAME_ERROR_MESSAGE, name,"},{"lineNumber":169,"author":{"gitId":"domoberzin"},"content":" FieldValidator.PERSON_NAME_FIELD_NAME, FieldValidator.REASON_START_WITH_NON_ALPHANUMERIC_CHAR),"},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":" ihrbe.getMessage());"},{"lineNumber":171,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":172,"author":{"gitId":"domoberzin"},"content":" ______TS(\"invalid name too long\");"},{"lineNumber":173,"author":{"gitId":"domoberzin"},"content":" name \u003d StringHelperExtension.generateStringOfLength(FieldValidator.PERSON_NAME_MAX_LENGTH + 1);"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" requestBody \u003d new AccountRequestUpdateRequest(name, email, institute, status, comments);"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":" params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString()};"},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":178,"author":{"gitId":"domoberzin"},"content":" ihrbe \u003d verifyHttpRequestBodyFailure(requestBody, params);"},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":" assertEquals(getPopulatedErrorMessage(FieldValidator.SIZE_CAPPED_NON_EMPTY_STRING_ERROR_MESSAGE, name,"},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":" FieldValidator.PERSON_NAME_FIELD_NAME, FieldValidator.REASON_TOO_LONG,"},{"lineNumber":182,"author":{"gitId":"domoberzin"},"content":" FieldValidator.PERSON_NAME_MAX_LENGTH), ihrbe.getMessage());"},{"lineNumber":183,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":184,"author":{"gitId":"domoberzin"},"content":" ______TS(\"null email value\");"},{"lineNumber":185,"author":{"gitId":"domoberzin"},"content":" name \u003d \"newName\";"},{"lineNumber":186,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":187,"author":{"gitId":"domoberzin"},"content":" requestBody \u003d new AccountRequestUpdateRequest(name, null, institute, status, comments);"},{"lineNumber":188,"author":{"gitId":"domoberzin"},"content":" params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString()};"},{"lineNumber":189,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":190,"author":{"gitId":"domoberzin"},"content":" ihrbe \u003d verifyHttpRequestBodyFailure(requestBody, params);"},{"lineNumber":191,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":192,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"email cannot be null\", ihrbe.getMessage());"},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" ______TS(\"null name value\");"},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" requestBody \u003d new AccountRequestUpdateRequest(null, email, institute, status, comments);"},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":" params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString()};"},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" ihrbe \u003d verifyHttpRequestBodyFailure(requestBody, params);"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":200,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"name cannot be null\", ihrbe.getMessage());"},{"lineNumber":201,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":202,"author":{"gitId":"domoberzin"},"content":" ______TS(\"null status value\");"},{"lineNumber":203,"author":{"gitId":"domoberzin"},"content":" requestBody \u003d new AccountRequestUpdateRequest(name, email, institute, null, comments);"},{"lineNumber":204,"author":{"gitId":"domoberzin"},"content":" params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString()};"},{"lineNumber":205,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":206,"author":{"gitId":"domoberzin"},"content":" ihrbe \u003d verifyHttpRequestBodyFailure(requestBody, params);"},{"lineNumber":207,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":208,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"status cannot be null\", ihrbe.getMessage());"},{"lineNumber":209,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":210,"author":{"gitId":"domoberzin"},"content":" ______TS(\"null institute value\");"},{"lineNumber":211,"author":{"gitId":"domoberzin"},"content":" requestBody \u003d new AccountRequestUpdateRequest(name, email, null, status, comments);"},{"lineNumber":212,"author":{"gitId":"domoberzin"},"content":" params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString()};"},{"lineNumber":213,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":214,"author":{"gitId":"domoberzin"},"content":" ihrbe \u003d verifyHttpRequestBodyFailure(requestBody, params);"},{"lineNumber":215,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":216,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"institute cannot be null\", ihrbe.getMessage());"},{"lineNumber":217,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":218,"author":{"gitId":"domoberzin"},"content":" ______TS(\"allow null comments in request\");"},{"lineNumber":219,"author":{"gitId":"domoberzin"},"content":" requestBody \u003d new AccountRequestUpdateRequest(name, email, institute, status, null);"},{"lineNumber":220,"author":{"gitId":"domoberzin"},"content":" params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString()};"},{"lineNumber":221,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":222,"author":{"gitId":"domoberzin"},"content":" action \u003d getAction(requestBody, params);"},{"lineNumber":223,"author":{"gitId":"domoberzin"},"content":" result \u003d getJsonResult(action, 200);"},{"lineNumber":224,"author":{"gitId":"domoberzin"},"content":" data \u003d (AccountRequestData) result.getOutput();"},{"lineNumber":225,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":226,"author":{"gitId":"domoberzin"},"content":" assertEquals(name, data.getName());"},{"lineNumber":227,"author":{"gitId":"domoberzin"},"content":" assertEquals(email, data.getEmail());"},{"lineNumber":228,"author":{"gitId":"domoberzin"},"content":" assertEquals(institute, data.getInstitute());"},{"lineNumber":229,"author":{"gitId":"domoberzin"},"content":" assertEquals(null, data.getComments());"},{"lineNumber":230,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":231,"author":{"gitId":"domoberzin"},"content":" ______TS(\"email with approved account request throws exception\");"},{"lineNumber":232,"author":{"gitId":"domoberzin"},"content":" logic.createAccountRequestWithTransaction(\"test\", \"test@email.com\","},{"lineNumber":233,"author":{"gitId":"domoberzin"},"content":" \"institute\", AccountRequestStatus.APPROVED, \"comments\");"},{"lineNumber":234,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d logic.createAccountRequestWithTransaction(\"test\", \"test@email.com\","},{"lineNumber":235,"author":{"gitId":"domoberzin"},"content":" \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":236,"author":{"gitId":"domoberzin"},"content":" requestBody \u003d new AccountRequestUpdateRequest(accountRequest.getName(), accountRequest.getEmail(),"},{"lineNumber":237,"author":{"gitId":"domoberzin"},"content":" accountRequest.getInstitute(), AccountRequestStatus.APPROVED, comments);"},{"lineNumber":238,"author":{"gitId":"domoberzin"},"content":" params \u003d new String[] {Const.ParamsNames.ACCOUNT_REQUEST_ID, accountRequest.getId().toString()};"},{"lineNumber":239,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":240,"author":{"gitId":"domoberzin"},"content":" ipe \u003d verifyInvalidOperation(requestBody, params);"},{"lineNumber":241,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":242,"author":{"gitId":"domoberzin"},"content":" assertEquals(String.format(\"An account request with email %s has already been approved. \""},{"lineNumber":243,"author":{"gitId":"domoberzin"},"content":" + \"Please reject or delete the account request instead.\", accountRequest.getEmail()), ipe.getMessage());"},{"lineNumber":244,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":245,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":246,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":247,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":248,"author":{"gitId":"domoberzin"},"content":" protected void testAccessControl() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":249,"author":{"gitId":"domoberzin"},"content":" verifyOnlyAdminCanAccessWithTransaction();"},{"lineNumber":250,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":251,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":252,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":253,"author":{"gitId":"domoberzin"},"content":" @AfterMethod"},{"lineNumber":254,"author":{"gitId":"domoberzin"},"content":" protected void tearDown() {"},{"lineNumber":255,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":256,"author":{"gitId":"domoberzin"},"content":" List\u003cAccountRequest\u003e accountRequests \u003d logic.getAllAccountRequests();"},{"lineNumber":257,"author":{"gitId":"domoberzin"},"content":" for (AccountRequest ar : accountRequests) {"},{"lineNumber":258,"author":{"gitId":"dishenggg"},"content":" logic.deleteAccountRequest(ar.getId());"},{"lineNumber":259,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":260,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":261,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":262,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":261,"dishenggg":1}},{"path":"src/it/java/teammates/it/ui/webapi/UpdateFeedbackSessionLogsActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.time.temporal.ChronoUnit;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.util.ArrayList;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.FeedbackSessionLogEntry;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.Const;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlsearch.SearchManagerFactory;"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.webapi.UpdateFeedbackSessionLogsAction;"},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":" * SUT: {@link UpdateFeedbackSessionLogsAction}."},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":"public class UpdateFeedbackSessionLogsActionIT extends BaseActionIT\u003cUpdateFeedbackSessionLogsAction\u003e {"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" static final long COLLECTION_TIME_PERIOD \u003d Const.STUDENT_ACTIVITY_LOGS_UPDATE_INTERVAL.toMinutes();"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" static final long SPAM_FILTER \u003d Const.STUDENT_ACTIVITY_LOGS_FILTER_WINDOW.toMillis();"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" Student student1InCourse1;"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" Student student2InCourse1;"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" Student student1InCourse3;"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" Course course1;"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" Course course3;"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" FeedbackSession session1InCourse1;"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" FeedbackSession session2InCourse1;"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" FeedbackSession session1InCourse3;"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" Instant endTime;"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" Instant startTime;"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" @BeforeMethod"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" protected void setUp() throws Exception {"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" super.setUp();"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" HibernateUtil.flushSession();"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" SearchManagerFactory.getStudentSearchManager().resetCollections();"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" endTime \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.now());"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" startTime \u003d endTime.minus(COLLECTION_TIME_PERIOD, ChronoUnit.MINUTES);"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" course1 \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" course3 \u003d typicalBundle.courses.get(\"course3\");"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" student1InCourse1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" student2InCourse1 \u003d typicalBundle.students.get(\"student2InCourse1\");"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" student1InCourse3 \u003d typicalBundle.students.get(\"student1InCourse3\");"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" session1InCourse1 \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" session2InCourse1 \u003d typicalBundle.feedbackSessions.get(\"session2InTypicalCourse\");"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" session1InCourse3 \u003d typicalBundle.feedbackSessions.get(\"ongoingSession1InCourse3\");"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.getOrderedFeedbackSessionLogs(\"\", \"\", 0, 0, \"\").clear();"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" String getActionUri() {"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" return Const.CronJobURIs.AUTOMATED_FEEDBACK_SESSION_LOGS_PROCESSING;"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" String getRequestMethod() {"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" return GET;"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" protected void testExecute() {"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" ______TS(\"No spam all logs added\");"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" // Different Types"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" startTime.plusSeconds(100).toEpochMilli());"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.SUBMISSION.getLabel(),"},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":" startTime.plusSeconds(100).toEpochMilli());"},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.VIEW_RESULT.getLabel(),"},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" startTime.plusSeconds(100).toEpochMilli());"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" // Different feedback sessions"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" startTime.plusSeconds(200).toEpochMilli());"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":" session2InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" startTime.plusSeconds(200).toEpochMilli());"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" // Different Student"},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":" startTime.plusSeconds(300).toEpochMilli());"},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student2InCourse1.getId(),"},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" startTime.plusSeconds(300).toEpochMilli());"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":" // Different course"},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" startTime.plusSeconds(400).toEpochMilli());"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course3.getId(), student1InCourse3.getId(),"},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" session1InCourse3.getId(), FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" startTime.plusSeconds(400).toEpochMilli());"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" // Gap is larger than spam filter"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(), startTime.toEpochMilli());"},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" startTime.plusMillis(SPAM_FILTER + 1).toEpochMilli());"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" UpdateFeedbackSessionLogsAction action \u003d getAction();"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":" getJsonResult(action);"},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":" // method returns all logs regardless of params"},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLogEntry\u003e expected \u003d mockLogsProcessor.getOrderedFeedbackSessionLogs(\"\", \"\", 0, 0, \"\");"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e actual \u003d logic.getOrderedFeedbackSessionLogs(course1.getId(), null, null, startTime,"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" endTime);"},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e actualCourse3 \u003d logic.getOrderedFeedbackSessionLogs(course3.getId(), null, null,"},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":" startTime, endTime);"},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":" actual.addAll(actualCourse3);"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":" assertTrue(isEqual(expected, actual));"},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":140,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":141,"author":{"gitId":"dishenggg"},"content":" protected void testExecute_recentLogsWithSpam_someLogsCreated() {"},{"lineNumber":142,"author":{"gitId":"dishenggg"},"content":" // Gap is smaller than spam filter"},{"lineNumber":143,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":144,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(), startTime.toEpochMilli());"},{"lineNumber":145,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":146,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":147,"author":{"gitId":"dishenggg"},"content":" startTime.plusMillis(SPAM_FILTER - 2).toEpochMilli());"},{"lineNumber":148,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":149,"author":{"gitId":"dishenggg"},"content":" // Filters multiple logs within one spam window"},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":151,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":152,"author":{"gitId":"dishenggg"},"content":" startTime.plusMillis(SPAM_FILTER - 1).toEpochMilli());"},{"lineNumber":153,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":154,"author":{"gitId":"dishenggg"},"content":" // Correctly adds new log after filtering"},{"lineNumber":155,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":156,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":" startTime.plusMillis(SPAM_FILTER + 1).toEpochMilli());"},{"lineNumber":158,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":159,"author":{"gitId":"dishenggg"},"content":" // Filters out spam in the new window"},{"lineNumber":160,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":161,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":162,"author":{"gitId":"dishenggg"},"content":" startTime.plusMillis(SPAM_FILTER + 2).toEpochMilli());"},{"lineNumber":163,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":164,"author":{"gitId":"dishenggg"},"content":" UpdateFeedbackSessionLogsAction action \u003d getAction();"},{"lineNumber":165,"author":{"gitId":"dishenggg"},"content":" action.execute();"},{"lineNumber":166,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":167,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLogEntry\u003e expected \u003d new ArrayList\u003c\u003e();"},{"lineNumber":168,"author":{"gitId":"dishenggg"},"content":" expected.add(new FeedbackSessionLogEntry(course1.getId(), student1InCourse1.getId(), session1InCourse1.getId(),"},{"lineNumber":169,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.toEpochMilli()));"},{"lineNumber":170,"author":{"gitId":"dishenggg"},"content":" expected.add(new FeedbackSessionLogEntry(course1.getId(), student1InCourse1.getId(), session1InCourse1.getId(),"},{"lineNumber":171,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusMillis(SPAM_FILTER + 1).toEpochMilli()));"},{"lineNumber":172,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":173,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e actual \u003d logic.getOrderedFeedbackSessionLogs(course1.getId(), null, null, startTime,"},{"lineNumber":174,"author":{"gitId":"dishenggg"},"content":" endTime);"},{"lineNumber":175,"author":{"gitId":"dishenggg"},"content":" assertTrue(isEqual(expected, actual));"},{"lineNumber":176,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":177,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":178,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":179,"author":{"gitId":"dishenggg"},"content":" protected void testExecute_badLogs_otherLogsCreated() {"},{"lineNumber":180,"author":{"gitId":"dishenggg"},"content":" UUID badUuid \u003d UUID.fromString(\"00000000-0000-0000-0000-000000000000\");"},{"lineNumber":181,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":182,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":183,"author":{"gitId":"dishenggg"},"content":" startTime.plusSeconds(100).toEpochMilli());"},{"lineNumber":184,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(),"},{"lineNumber":185,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.getId(), FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":186,"author":{"gitId":"dishenggg"},"content":" startTime.plusSeconds(300).toEpochMilli());"},{"lineNumber":187,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":188,"author":{"gitId":"dishenggg"},"content":" // bad student id"},{"lineNumber":189,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), badUuid, session1InCourse1.getId(),"},{"lineNumber":190,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusSeconds(200).toEpochMilli());"},{"lineNumber":191,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":192,"author":{"gitId":"dishenggg"},"content":" // bad session id"},{"lineNumber":193,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1InCourse1.getId(), badUuid,"},{"lineNumber":194,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusSeconds(200).toEpochMilli());"},{"lineNumber":195,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":196,"author":{"gitId":"dishenggg"},"content":" UpdateFeedbackSessionLogsAction action \u003d getAction();"},{"lineNumber":197,"author":{"gitId":"dishenggg"},"content":" action.execute();"},{"lineNumber":198,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":199,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLogEntry\u003e expected \u003d new ArrayList\u003c\u003e();"},{"lineNumber":200,"author":{"gitId":"dishenggg"},"content":" expected.add(new FeedbackSessionLogEntry(course1.getId(), student1InCourse1.getId(), session1InCourse1.getId(),"},{"lineNumber":201,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusSeconds(100).toEpochMilli()));"},{"lineNumber":202,"author":{"gitId":"dishenggg"},"content":" expected.add(new FeedbackSessionLogEntry(course1.getId(), student1InCourse1.getId(), session1InCourse1.getId(),"},{"lineNumber":203,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusSeconds(300).toEpochMilli()));"},{"lineNumber":204,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":205,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e actual \u003d logic.getOrderedFeedbackSessionLogs(course1.getId(), null, null, startTime,"},{"lineNumber":206,"author":{"gitId":"dishenggg"},"content":" endTime);"},{"lineNumber":207,"author":{"gitId":"dishenggg"},"content":" assertTrue(isEqual(expected, actual));"},{"lineNumber":208,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":209,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":210,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":211,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":212,"author":{"gitId":"dishenggg"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":213,"author":{"gitId":"dishenggg"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":214,"author":{"gitId":"dishenggg"},"content":" verifyOnlyAdminCanAccess(course);"},{"lineNumber":215,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":216,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":217,"author":{"gitId":"dishenggg"},"content":" private Boolean isEqual(List\u003cFeedbackSessionLogEntry\u003e expected, List\u003cFeedbackSessionLog\u003e actual) {"},{"lineNumber":218,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":219,"author":{"gitId":"dishenggg"},"content":" assertEquals(expected.size(), actual.size());"},{"lineNumber":220,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":221,"author":{"gitId":"dishenggg"},"content":" for (int i \u003d 0; i \u003c expected.size(); i++) {"},{"lineNumber":222,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogEntry expectedEntry \u003d expected.get(i);"},{"lineNumber":223,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog actualLog \u003d actual.get(i);"},{"lineNumber":224,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":225,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedEntry.getStudentId(), actualLog.getStudent().getId());"},{"lineNumber":226,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":227,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedEntry.getFeedbackSessionId(), actualLog.getFeedbackSession().getId());"},{"lineNumber":228,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":229,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedEntry.getFeedbackSessionLogType(), actualLog.getFeedbackSessionLogType().getLabel());"},{"lineNumber":230,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":231,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedEntry.getTimestamp(), actualLog.getTimestamp().toEpochMilli());"},{"lineNumber":232,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":233,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":234,"author":{"gitId":"dishenggg"},"content":" return true;"},{"lineNumber":235,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":236,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":236}},{"path":"src/it/java/teammates/it/ui/webapi/UpdateStudentActionIT.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"marquestye"},"content":"package teammates.it.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":3,"author":{"gitId":"marquestye"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"marquestye"},"content":"import java.util.UUID;"},{"lineNumber":5,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":6,"author":{"gitId":"marquestye"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":7,"author":{"gitId":"marquestye"},"content":"import org.testng.annotations.Test;"},{"lineNumber":8,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":9,"author":{"gitId":"marquestye"},"content":"import teammates.common.util.Const;"},{"lineNumber":10,"author":{"gitId":"marquestye"},"content":"import teammates.common.util.EmailType;"},{"lineNumber":11,"author":{"gitId":"marquestye"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":12,"author":{"gitId":"marquestye"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":13,"author":{"gitId":"marquestye"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":14,"author":{"gitId":"marquestye"},"content":"import teammates.common.util.StringHelperExtension;"},{"lineNumber":15,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":16,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":17,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":18,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":19,"author":{"gitId":"marquestye"},"content":"import teammates.ui.output.MessageOutput;"},{"lineNumber":20,"author":{"gitId":"marquestye"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":21,"author":{"gitId":"marquestye"},"content":"import teammates.ui.request.StudentUpdateRequest;"},{"lineNumber":22,"author":{"gitId":"marquestye"},"content":"import teammates.ui.webapi.EntityNotFoundException;"},{"lineNumber":23,"author":{"gitId":"marquestye"},"content":"import teammates.ui.webapi.InvalidOperationException;"},{"lineNumber":24,"author":{"gitId":"marquestye"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":25,"author":{"gitId":"marquestye"},"content":"import teammates.ui.webapi.UpdateStudentAction;"},{"lineNumber":26,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":27,"author":{"gitId":"marquestye"},"content":"/**"},{"lineNumber":28,"author":{"gitId":"marquestye"},"content":" * SUT: {@link UpdateStudentAction}."},{"lineNumber":29,"author":{"gitId":"marquestye"},"content":" */"},{"lineNumber":30,"author":{"gitId":"marquestye"},"content":"public class UpdateStudentActionIT extends BaseActionIT\u003cUpdateStudentAction\u003e {"},{"lineNumber":31,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":32,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"marquestye"},"content":" @BeforeMethod"},{"lineNumber":34,"author":{"gitId":"marquestye"},"content":" protected void setUp() throws Exception {"},{"lineNumber":35,"author":{"gitId":"marquestye"},"content":" super.setUp();"},{"lineNumber":36,"author":{"gitId":"marquestye"},"content":" persistDataBundle(typicalBundle);"},{"lineNumber":37,"author":{"gitId":"marquestye"},"content":" HibernateUtil.flushSession();"},{"lineNumber":38,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":39,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":40,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":41,"author":{"gitId":"marquestye"},"content":" protected String getActionUri() {"},{"lineNumber":42,"author":{"gitId":"marquestye"},"content":" return Const.ResourceURIs.STUDENT;"},{"lineNumber":43,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":44,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":45,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":46,"author":{"gitId":"marquestye"},"content":" protected String getRequestMethod() {"},{"lineNumber":47,"author":{"gitId":"marquestye"},"content":" return PUT;"},{"lineNumber":48,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":49,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":50,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":51,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":52,"author":{"gitId":"marquestye"},"content":" public void testExecute() throws Exception {"},{"lineNumber":53,"author":{"gitId":"marquestye"},"content":" assert true;"},{"lineNumber":54,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":55,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":56,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":57,"author":{"gitId":"marquestye"},"content":" public void testExecute_invalidParameters_failure() throws Exception {"},{"lineNumber":58,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":59,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":60,"author":{"gitId":"marquestye"},"content":" ______TS(\"no parameters\");"},{"lineNumber":61,"author":{"gitId":"marquestye"},"content":" verifyHttpParameterFailure();"},{"lineNumber":62,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":63,"author":{"gitId":"marquestye"},"content":" ______TS(\"null student email\");"},{"lineNumber":64,"author":{"gitId":"marquestye"},"content":" String[] invalidParams \u003d new String[] {"},{"lineNumber":65,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":66,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":67,"author":{"gitId":"marquestye"},"content":" verifyHttpParameterFailure(invalidParams);"},{"lineNumber":68,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":69,"author":{"gitId":"marquestye"},"content":" ______TS(\"null course id\");"},{"lineNumber":70,"author":{"gitId":"marquestye"},"content":" invalidParams \u003d new String[] {"},{"lineNumber":71,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":72,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":73,"author":{"gitId":"marquestye"},"content":" verifyHttpParameterFailure(invalidParams);"},{"lineNumber":74,"author":{"gitId":"marquestye"},"content":" verifyNoTasksAdded();"},{"lineNumber":75,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":76,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":77,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":78,"author":{"gitId":"marquestye"},"content":" public void testExecute_typicalCase_success() throws Exception {"},{"lineNumber":79,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":80,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":81,"author":{"gitId":"marquestye"},"content":" String originalEmail \u003d student1.getEmail();"},{"lineNumber":82,"author":{"gitId":"marquestye"},"content":" Team originalTeam \u003d student1.getTeam();"},{"lineNumber":83,"author":{"gitId":"marquestye"},"content":" String originalComments \u003d student1.getComments();"},{"lineNumber":84,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":85,"author":{"gitId":"marquestye"},"content":" String newStudentEmail \u003d \"newemail@gmail.tmt\";"},{"lineNumber":86,"author":{"gitId":"marquestye"},"content":" String newStudentTeam \u003d \"new student\u0027s team\";"},{"lineNumber":87,"author":{"gitId":"marquestye"},"content":" String newStudentComments \u003d \"this is new comment after editing\";"},{"lineNumber":88,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d new StudentUpdateRequest(student1.getName(), newStudentEmail,"},{"lineNumber":89,"author":{"gitId":"marquestye"},"content":" newStudentTeam, student1.getSectionName(), newStudentComments, true);"},{"lineNumber":90,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":91,"author":{"gitId":"marquestye"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":92,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":93,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":94,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":95,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":96,"author":{"gitId":"marquestye"},"content":" UpdateStudentAction updateAction \u003d getAction(updateRequest, submissionParams);"},{"lineNumber":97,"author":{"gitId":"marquestye"},"content":" JsonResult actionOutput \u003d getJsonResult(updateAction);"},{"lineNumber":98,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":99,"author":{"gitId":"marquestye"},"content":" MessageOutput msgOutput \u003d (MessageOutput) actionOutput.getOutput();"},{"lineNumber":100,"author":{"gitId":"marquestye"},"content":" assertEquals(\"Student has been updated and email sent\", msgOutput.getMessage());"},{"lineNumber":101,"author":{"gitId":"marquestye"},"content":" verifyNumberOfEmailsSent(1);"},{"lineNumber":102,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":103,"author":{"gitId":"marquestye"},"content":" Student updatedStudent \u003d logic.getStudent(student1.getId());"},{"lineNumber":104,"author":{"gitId":"marquestye"},"content":" assertEquals(updatedStudent.getEmail(), newStudentEmail);"},{"lineNumber":105,"author":{"gitId":"marquestye"},"content":" assertEquals(updatedStudent.getTeamName(), newStudentTeam);"},{"lineNumber":106,"author":{"gitId":"marquestye"},"content":" assertEquals(updatedStudent.getComments(), newStudentComments);"},{"lineNumber":107,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":108,"author":{"gitId":"marquestye"},"content":" EmailWrapper email \u003d getEmailsSent().get(0);"},{"lineNumber":109,"author":{"gitId":"marquestye"},"content":" String courseName \u003d logic.getCourse(student1.getCourseId()).getName();"},{"lineNumber":110,"author":{"gitId":"marquestye"},"content":" assertEquals(String.format(EmailType.STUDENT_EMAIL_CHANGED.getSubject(), courseName,"},{"lineNumber":111,"author":{"gitId":"marquestye"},"content":" student1.getCourseId()), email.getSubject());"},{"lineNumber":112,"author":{"gitId":"marquestye"},"content":" assertEquals(newStudentEmail, email.getRecipient());"},{"lineNumber":113,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":114,"author":{"gitId":"marquestye"},"content":" verifySpecifiedTasksAdded(Const.TaskQueue.SEARCH_INDEXING_QUEUE_NAME, 1);"},{"lineNumber":115,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":116,"author":{"gitId":"marquestye"},"content":" resetStudent(student1.getId(), originalEmail, originalTeam, originalComments);"},{"lineNumber":117,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":118,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":119,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":120,"author":{"gitId":"marquestye"},"content":" public void testExecute_studentDetailsWithWhitespace_success() throws Exception {"},{"lineNumber":121,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":122,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":123,"author":{"gitId":"marquestye"},"content":" String originalEmail \u003d student1.getEmail();"},{"lineNumber":124,"author":{"gitId":"marquestye"},"content":" Team originalTeam \u003d student1.getTeam();"},{"lineNumber":125,"author":{"gitId":"marquestye"},"content":" String originalComments \u003d student1.getComments();"},{"lineNumber":126,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":127,"author":{"gitId":"marquestye"},"content":" String newStudentEmailToBeTrimmed \u003d \" student1@teammates.tmt \"; // after trim, this is equal to originalEmail"},{"lineNumber":128,"author":{"gitId":"marquestye"},"content":" String newStudentTeamToBeTrimmed \u003d \" New team \";"},{"lineNumber":129,"author":{"gitId":"marquestye"},"content":" String newStudentCommentsToBeTrimmed \u003d \" this is new comment after editing \";"},{"lineNumber":130,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d new StudentUpdateRequest(student1.getName(), newStudentEmailToBeTrimmed,"},{"lineNumber":131,"author":{"gitId":"marquestye"},"content":" newStudentTeamToBeTrimmed, student1.getSectionName(), newStudentCommentsToBeTrimmed, true);"},{"lineNumber":132,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":133,"author":{"gitId":"marquestye"},"content":" String[] submissionParamsToBeTrimmed \u003d new String[] {"},{"lineNumber":134,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":135,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":136,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":137,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":138,"author":{"gitId":"marquestye"},"content":" UpdateStudentAction actionToBeTrimmed \u003d getAction(updateRequest, submissionParamsToBeTrimmed);"},{"lineNumber":139,"author":{"gitId":"marquestye"},"content":" JsonResult outputToBeTrimmed \u003d getJsonResult(actionToBeTrimmed);"},{"lineNumber":140,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":141,"author":{"gitId":"marquestye"},"content":" MessageOutput msgTrimmedOutput \u003d (MessageOutput) outputToBeTrimmed.getOutput();"},{"lineNumber":142,"author":{"gitId":"marquestye"},"content":" assertEquals(\"Student has been updated\", msgTrimmedOutput.getMessage());"},{"lineNumber":143,"author":{"gitId":"marquestye"},"content":" verifyNoEmailsSent();"},{"lineNumber":144,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":145,"author":{"gitId":"marquestye"},"content":" resetStudent(student1.getId(), originalEmail, originalTeam, originalComments);"},{"lineNumber":146,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":147,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":148,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":149,"author":{"gitId":"marquestye"},"content":" public void testExecute_emailHasTooManyCharacters_failure() throws Exception {"},{"lineNumber":150,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":151,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":152,"author":{"gitId":"marquestye"},"content":" String invalidStudentEmail \u003d StringHelperExtension.generateStringOfLength(255 - \"@gmail.tmt\".length())"},{"lineNumber":153,"author":{"gitId":"marquestye"},"content":" + \"@gmail.tmt\";"},{"lineNumber":154,"author":{"gitId":"marquestye"},"content":" assertEquals(FieldValidator.EMAIL_MAX_LENGTH + 1, invalidStudentEmail.length());"},{"lineNumber":155,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":156,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d new StudentUpdateRequest(student1.getName(), invalidStudentEmail,"},{"lineNumber":157,"author":{"gitId":"marquestye"},"content":" student1.getTeamName(), student1.getSectionName(), student1.getComments(), false);"},{"lineNumber":158,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":159,"author":{"gitId":"marquestye"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":160,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":161,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":162,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":163,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":164,"author":{"gitId":"marquestye"},"content":" InvalidHttpRequestBodyException ihrbe \u003d verifyHttpRequestBodyFailure(updateRequest, submissionParams);"},{"lineNumber":165,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":166,"author":{"gitId":"marquestye"},"content":" assertEquals(getPopulatedErrorMessage(FieldValidator.EMAIL_ERROR_MESSAGE, invalidStudentEmail,"},{"lineNumber":167,"author":{"gitId":"marquestye"},"content":" FieldValidator.EMAIL_FIELD_NAME, FieldValidator.REASON_TOO_LONG,"},{"lineNumber":168,"author":{"gitId":"marquestye"},"content":" FieldValidator.EMAIL_MAX_LENGTH),"},{"lineNumber":169,"author":{"gitId":"marquestye"},"content":" ihrbe.getMessage());"},{"lineNumber":170,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":171,"author":{"gitId":"marquestye"},"content":" verifyNoTasksAdded();"},{"lineNumber":172,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":173,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":174,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":175,"author":{"gitId":"marquestye"},"content":" public void testExecute_emailTakenByOthers_failure() {"},{"lineNumber":176,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":177,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":178,"author":{"gitId":"marquestye"},"content":" Student student2 \u003d typicalBundle.students.get(\"student2InCourse1\");"},{"lineNumber":179,"author":{"gitId":"marquestye"},"content":" String takenStudentEmail \u003d student2.getEmail();"},{"lineNumber":180,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":181,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d new StudentUpdateRequest(student1.getName(), takenStudentEmail,"},{"lineNumber":182,"author":{"gitId":"marquestye"},"content":" student1.getTeamName(), student1.getSectionName(), student1.getComments(), false);"},{"lineNumber":183,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":184,"author":{"gitId":"marquestye"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":185,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":186,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":187,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":188,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":189,"author":{"gitId":"marquestye"},"content":" InvalidOperationException ioe \u003d verifyInvalidOperation(updateRequest, submissionParams);"},{"lineNumber":190,"author":{"gitId":"marquestye"},"content":" assertEquals(\"Trying to update to an email that is already in use\", ioe.getMessage());"},{"lineNumber":191,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":192,"author":{"gitId":"marquestye"},"content":" verifyNoTasksAdded();"},{"lineNumber":193,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":194,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":195,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":196,"author":{"gitId":"marquestye"},"content":" public void testExecute_studentDoesNotExist_failure() {"},{"lineNumber":197,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":198,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":199,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d new StudentUpdateRequest(student1.getName(), student1.getEmail(),"},{"lineNumber":200,"author":{"gitId":"marquestye"},"content":" student1.getTeamName(), student1.getSectionName(), student1.getComments(), false);"},{"lineNumber":201,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":202,"author":{"gitId":"marquestye"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":203,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":204,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, \"notinuseemail@gmail.tmt\","},{"lineNumber":205,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":206,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":207,"author":{"gitId":"marquestye"},"content":" EntityNotFoundException enfe \u003d verifyEntityNotFound(updateRequest, submissionParams);"},{"lineNumber":208,"author":{"gitId":"marquestye"},"content":" assertEquals(\"The student you tried to edit does not exist. \""},{"lineNumber":209,"author":{"gitId":"marquestye"},"content":" + \"If the student was created during the last few minutes, \""},{"lineNumber":210,"author":{"gitId":"marquestye"},"content":" + \"try again in a few more minutes as the student may still be being saved.\","},{"lineNumber":211,"author":{"gitId":"marquestye"},"content":" enfe.getMessage());"},{"lineNumber":212,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":213,"author":{"gitId":"marquestye"},"content":" verifyNoTasksAdded();"},{"lineNumber":214,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":215,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":216,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":217,"author":{"gitId":"marquestye"},"content":" public void testExecute_studentTeamExistsInAnotherSection_failure() throws Exception {"},{"lineNumber":218,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":219,"author":{"gitId":"marquestye"},"content":" Student student4 \u003d typicalBundle.students.get(\"student4InCourse1\");"},{"lineNumber":220,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":221,"author":{"gitId":"marquestye"},"content":" assertNotEquals(student1.getSection(), student4.getSection());"},{"lineNumber":222,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":223,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d new StudentUpdateRequest(student1.getName(), student1.getEmail(),"},{"lineNumber":224,"author":{"gitId":"marquestye"},"content":" student4.getTeamName(), student1.getSectionName(), student1.getComments(), true);"},{"lineNumber":225,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":226,"author":{"gitId":"marquestye"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":227,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":228,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":229,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":230,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":231,"author":{"gitId":"marquestye"},"content":" InvalidOperationException ioe \u003d verifyInvalidOperation(updateRequest, submissionParams);"},{"lineNumber":232,"author":{"gitId":"marquestye"},"content":" String expectedErrorMessage \u003d String.format(\"Team \\\"%s\\\" is detected in both Section \\\"%s\\\" and Section \\\"%s\\\".\""},{"lineNumber":233,"author":{"gitId":"marquestye"},"content":" + \" Please use different team names in different sections.\", student4.getTeamName(),"},{"lineNumber":234,"author":{"gitId":"marquestye"},"content":" student1.getSectionName(), student4.getSectionName());"},{"lineNumber":235,"author":{"gitId":"marquestye"},"content":" assertEquals(expectedErrorMessage, ioe.getMessage());"},{"lineNumber":236,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":237,"author":{"gitId":"marquestye"},"content":" verifyNoTasksAdded();"},{"lineNumber":238,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":239,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":240,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":241,"author":{"gitId":"marquestye"},"content":" public void testExecute_sectionFull_failure() throws Exception {"},{"lineNumber":242,"author":{"gitId":"marquestye"},"content":" Student studentToJoinMaxSection \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":243,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":244,"author":{"gitId":"marquestye"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":245,"author":{"gitId":"marquestye"},"content":" String courseId \u003d studentToJoinMaxSection.getCourseId();"},{"lineNumber":246,"author":{"gitId":"marquestye"},"content":" String sectionInMaxCapacity \u003d \"sectionInMaxCapacity\";"},{"lineNumber":247,"author":{"gitId":"marquestye"},"content":" Section section \u003d logic.getSectionOrCreate(courseId, sectionInMaxCapacity);"},{"lineNumber":248,"author":{"gitId":"marquestye"},"content":" Team team \u003d logic.getTeamOrCreate(section, \"randomTeamName\");"},{"lineNumber":249,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":250,"author":{"gitId":"marquestye"},"content":" for (int i \u003d 0; i \u003c Const.SECTION_SIZE_LIMIT; i++) {"},{"lineNumber":251,"author":{"gitId":"marquestye"},"content":" Student addedStudent \u003d new Student(course, \"Name \" + i, i + \"email@test.com\", \"cmt\" + i, team);"},{"lineNumber":252,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":253,"author":{"gitId":"marquestye"},"content":" logic.createStudent(addedStudent);"},{"lineNumber":254,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":255,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":256,"author":{"gitId":"marquestye"},"content":" List\u003cStudent\u003e studentList \u003d logic.getStudentsForCourse(courseId);"},{"lineNumber":257,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":258,"author":{"gitId":"marquestye"},"content":" assertEquals(Const.SECTION_SIZE_LIMIT,"},{"lineNumber":259,"author":{"gitId":"marquestye"},"content":" studentList.stream().filter(student -\u003e student.getSectionName().equals(sectionInMaxCapacity)).count());"},{"lineNumber":260,"author":{"gitId":"marquestye"},"content":" assertEquals(courseId, studentToJoinMaxSection.getCourseId());"},{"lineNumber":261,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":262,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d"},{"lineNumber":263,"author":{"gitId":"marquestye"},"content":" new StudentUpdateRequest(studentToJoinMaxSection.getName(), studentToJoinMaxSection.getEmail(),"},{"lineNumber":264,"author":{"gitId":"marquestye"},"content":" \"randomTeamName\", sectionInMaxCapacity,"},{"lineNumber":265,"author":{"gitId":"marquestye"},"content":" studentToJoinMaxSection.getComments(), true);"},{"lineNumber":266,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":267,"author":{"gitId":"marquestye"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":268,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, studentToJoinMaxSection.getCourseId(),"},{"lineNumber":269,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, studentToJoinMaxSection.getEmail(),"},{"lineNumber":270,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":271,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":272,"author":{"gitId":"marquestye"},"content":" InvalidOperationException ioe \u003d verifyInvalidOperation(updateRequest, submissionParams);"},{"lineNumber":273,"author":{"gitId":"marquestye"},"content":" String expectedErrorMessage \u003d String.format(\"You are trying enroll more than %d students in section \\\"%s\\\". \""},{"lineNumber":274,"author":{"gitId":"marquestye"},"content":" + \"To avoid performance problems, please do not enroll more than %d students in a single section.\","},{"lineNumber":275,"author":{"gitId":"marquestye"},"content":" Const.SECTION_SIZE_LIMIT, sectionInMaxCapacity, Const.SECTION_SIZE_LIMIT);"},{"lineNumber":276,"author":{"gitId":"marquestye"},"content":" assertEquals(expectedErrorMessage, ioe.getMessage());"},{"lineNumber":277,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":278,"author":{"gitId":"marquestye"},"content":" verifyNoTasksAdded();"},{"lineNumber":279,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":280,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":281,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":282,"author":{"gitId":"marquestye"},"content":" public void testExecute_renameEmptySectionNameToDefault_success() {"},{"lineNumber":283,"author":{"gitId":"marquestye"},"content":" Student student4 \u003d typicalBundle.students.get(\"student4InCourse1\");"},{"lineNumber":284,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":285,"author":{"gitId":"marquestye"},"content":" Team originalTeam \u003d student4.getTeam();"},{"lineNumber":286,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":287,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest emptySectionUpdateRequest \u003d new StudentUpdateRequest(student4.getName(), student4.getEmail(),"},{"lineNumber":288,"author":{"gitId":"marquestye"},"content":" student4.getTeamName(), \"\", student4.getComments(), true);"},{"lineNumber":289,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":290,"author":{"gitId":"marquestye"},"content":" String[] emptySectionSubmissionParams \u003d new String[] {"},{"lineNumber":291,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student4.getCourseId(),"},{"lineNumber":292,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student4.getEmail(),"},{"lineNumber":293,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":294,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":295,"author":{"gitId":"marquestye"},"content":" UpdateStudentAction updateEmptySectionAction \u003d getAction(emptySectionUpdateRequest, emptySectionSubmissionParams);"},{"lineNumber":296,"author":{"gitId":"marquestye"},"content":" JsonResult emptySectionActionOutput \u003d getJsonResult(updateEmptySectionAction);"},{"lineNumber":297,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":298,"author":{"gitId":"marquestye"},"content":" MessageOutput emptySectionMsgOutput \u003d (MessageOutput) emptySectionActionOutput.getOutput();"},{"lineNumber":299,"author":{"gitId":"marquestye"},"content":" assertEquals(\"Student has been updated\", emptySectionMsgOutput.getMessage());"},{"lineNumber":300,"author":{"gitId":"marquestye"},"content":" verifyNoEmailsSent();"},{"lineNumber":301,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":302,"author":{"gitId":"marquestye"},"content":" // verify student in database"},{"lineNumber":303,"author":{"gitId":"marquestye"},"content":" Student actualStudent \u003d"},{"lineNumber":304,"author":{"gitId":"marquestye"},"content":" logic.getStudentForEmail(student4.getCourseId(), student4.getEmail());"},{"lineNumber":305,"author":{"gitId":"marquestye"},"content":" assertEquals(student4.getCourse(), actualStudent.getCourse());"},{"lineNumber":306,"author":{"gitId":"marquestye"},"content":" assertEquals(student4.getName(), actualStudent.getName());"},{"lineNumber":307,"author":{"gitId":"marquestye"},"content":" assertEquals(student4.getEmail(), actualStudent.getEmail());"},{"lineNumber":308,"author":{"gitId":"marquestye"},"content":" assertEquals(student4.getTeam(), actualStudent.getTeam());"},{"lineNumber":309,"author":{"gitId":"marquestye"},"content":" assertEquals(Const.DEFAULT_SECTION, actualStudent.getSectionName());"},{"lineNumber":310,"author":{"gitId":"marquestye"},"content":" assertEquals(student4.getComments(), actualStudent.getComments());"},{"lineNumber":311,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":312,"author":{"gitId":"marquestye"},"content":" resetStudent(student4.getId(), student4.getEmail(), originalTeam, student4.getComments());"},{"lineNumber":313,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":314,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":315,"author":{"gitId":"marquestye"},"content":" @Override"},{"lineNumber":316,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":317,"author":{"gitId":"marquestye"},"content":" protected void testAccessControl() throws Exception {"},{"lineNumber":318,"author":{"gitId":"marquestye"},"content":" Student student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":319,"author":{"gitId":"marquestye"},"content":" Course course \u003d typicalBundle.courses.get(\"course1\");"},{"lineNumber":320,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":321,"author":{"gitId":"marquestye"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":322,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.COURSE_ID, student1.getCourseId(),"},{"lineNumber":323,"author":{"gitId":"marquestye"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":324,"author":{"gitId":"marquestye"},"content":" };"},{"lineNumber":325,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":326,"author":{"gitId":"marquestye"},"content":" verifyOnlyInstructorsOfTheSameCourseWithCorrectCoursePrivilegeCanAccess("},{"lineNumber":327,"author":{"gitId":"marquestye"},"content":" course, Const.InstructorPermissions.CAN_MODIFY_STUDENT, submissionParams);"},{"lineNumber":328,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":329,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":330,"author":{"gitId":"marquestye"},"content":" private void resetStudent(UUID studentId, String originalEmail, Team originalTeam, String originalComments) {"},{"lineNumber":331,"author":{"gitId":"marquestye"},"content":" Student updatedStudent \u003d logic.getStudent(studentId);"},{"lineNumber":332,"author":{"gitId":"marquestye"},"content":" updatedStudent.setEmail(originalEmail);"},{"lineNumber":333,"author":{"gitId":"marquestye"},"content":" updatedStudent.setTeam(originalTeam);"},{"lineNumber":334,"author":{"gitId":"marquestye"},"content":" updatedStudent.setComments(originalComments);"},{"lineNumber":335,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":336,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":337,"author":{"gitId":"marquestye"},"content":"}"}],"authorContributionMap":{"marquestye":337}},{"path":"src/main/java/teammates/common/datatransfer/FeedbackSessionLogEntry.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.datatransfer;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":6,"author":{"gitId":"-"},"content":" * Represents a log entry of a feedback session."},{"lineNumber":7,"author":{"gitId":"-"},"content":" */"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"public class FeedbackSessionLogEntry implements Comparable\u003cFeedbackSessionLogEntry\u003e {"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":" private final String courseId;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":" private final UUID studentId;"},{"lineNumber":11,"author":{"gitId":"-"},"content":" private final String studentEmail;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":" private final UUID feedbackSessionId;"},{"lineNumber":13,"author":{"gitId":"-"},"content":" private final String feedbackSessionName;"},{"lineNumber":14,"author":{"gitId":"-"},"content":" private final String feedbackSessionLogType;"},{"lineNumber":15,"author":{"gitId":"-"},"content":" private final long timestamp;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":" public FeedbackSessionLogEntry(String courseId, String studentEmail,"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":" String feedbackSessionName, String feedbackSessionLogType, long timestamp) {"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":" this.courseId \u003d courseId;"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":" this.studentId \u003d null;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" this.studentEmail \u003d studentEmail;"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":" this.feedbackSessionId \u003d null;"},{"lineNumber":23,"author":{"gitId":"-"},"content":" this.feedbackSessionName \u003d feedbackSessionName;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" this.feedbackSessionLogType \u003d feedbackSessionLogType;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" this.timestamp \u003d timestamp;"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" public FeedbackSessionLogEntry(String courseId, UUID studentId, UUID feedbackSessionId,"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" String feedbackSessionLogType, long timestamp) {"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" this.courseId \u003d courseId;"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" this.studentId \u003d studentId;"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" this.studentEmail \u003d null;"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" this.feedbackSessionId \u003d feedbackSessionId;"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" this.feedbackSessionName \u003d null;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" this.feedbackSessionLogType \u003d feedbackSessionLogType;"},{"lineNumber":36,"author":{"gitId":"-"},"content":" this.timestamp \u003d timestamp;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" public String getCourseId() {"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" return courseId;"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" public UUID getStudentId() {"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" return studentId;"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" public String getStudentEmail() {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" return studentEmail;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" public UUID getFeedbackSessionId() {"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" return feedbackSessionId;"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" public String getFeedbackSessionName() {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" return feedbackSessionName;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" public String getFeedbackSessionLogType() {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return this.feedbackSessionLogType;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" public long getTimestamp() {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" return this.timestamp;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" public int compareTo(FeedbackSessionLogEntry o) {"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" return Long.compare(this.getTimestamp(), o.getTimestamp());"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":35,"-":36}},{"path":"src/main/java/teammates/common/datatransfer/SqlDataBundle.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.datatransfer;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.LinkedHashMap;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.ReadNotification;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":23,"author":{"gitId":"-"},"content":" * Holds a bundle of entities."},{"lineNumber":24,"author":{"gitId":"-"},"content":" *"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis class is mainly used for serializing JSON strings."},{"lineNumber":26,"author":{"gitId":"-"},"content":" */"},{"lineNumber":27,"author":{"gitId":"-"},"content":"// CHECKSTYLE.OFF:JavadocVariable each field represents different entity types"},{"lineNumber":28,"author":{"gitId":"-"},"content":"public class SqlDataBundle {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" public Map\u003cString, Account\u003e accounts \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":30,"author":{"gitId":"-"},"content":" public Map\u003cString, AccountRequest\u003e accountRequests \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":31,"author":{"gitId":"-"},"content":" public Map\u003cString, Course\u003e courses \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":32,"author":{"gitId":"-"},"content":" public Map\u003cString, Section\u003e sections \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":33,"author":{"gitId":"-"},"content":" public Map\u003cString, Team\u003e teams \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" public Map\u003cString, DeadlineExtension\u003e deadlineExtensions \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":35,"author":{"gitId":"-"},"content":" public Map\u003cString, Instructor\u003e instructors \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":36,"author":{"gitId":"-"},"content":" public Map\u003cString, Student\u003e students \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":37,"author":{"gitId":"-"},"content":" public Map\u003cString, FeedbackSession\u003e feedbackSessions \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":38,"author":{"gitId":"-"},"content":" public Map\u003cString, FeedbackQuestion\u003e feedbackQuestions \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":39,"author":{"gitId":"-"},"content":" public Map\u003cString, FeedbackResponse\u003e feedbackResponses \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":40,"author":{"gitId":"-"},"content":" public Map\u003cString, FeedbackResponseComment\u003e feedbackResponseComments \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" public Map\u003cString, FeedbackSessionLog\u003e feedbackSessionLogs \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" public Map\u003cString, Notification\u003e notifications \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" public Map\u003cString, ReadNotification\u003e readNotifications \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":2,"-":42}},{"path":"src/main/java/teammates/common/datatransfer/SqlSessionResultsBundle.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.common.datatransfer;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import java.util.LinkedHashMap;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import java.util.Map;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import java.util.Set;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const;"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":" * Represents detailed results for a feedback session."},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"public class SqlSessionResultsBundle {"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" private final List\u003cFeedbackQuestion\u003e questions;"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" private final Set\u003cFeedbackQuestion\u003e questionsNotVisibleForPreviewSet;"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" private final Set\u003cFeedbackQuestion\u003e questionsWithCommentNotVisibleForPreviewSet;"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" private final Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e questionResponseMap;"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" private final Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e questionMissingResponseMap;"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" private final Map\u003cFeedbackResponse, List\u003cFeedbackResponseComment\u003e\u003e responseCommentsMap;"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" private final Map\u003cFeedbackResponse, Boolean\u003e responseGiverVisibilityTable;"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" private final Map\u003cFeedbackResponse, Boolean\u003e responseRecipientVisibilityTable;"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" private final Map\u003cLong, Boolean\u003e commentGiverVisibilityTable;"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" private final SqlCourseRoster roster;"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" public SqlSessionResultsBundle(List\u003cFeedbackQuestion\u003e questions,"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackQuestion\u003e questionsNotVisibleForPreviewSet,"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackQuestion\u003e questionsWithCommentNotVisibleForPreviewSet,"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e responses,"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e missingResponses,"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, Boolean\u003e responseGiverVisibilityTable,"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, Boolean\u003e responseRecipientVisibilityTable,"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, List\u003cFeedbackResponseComment\u003e\u003e responseCommentsMap,"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" Map\u003cLong, Boolean\u003e commentGiverVisibilityTable,"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster roster) {"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" this.questions \u003d questions;"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" this.questionsNotVisibleForPreviewSet \u003d questionsNotVisibleForPreviewSet;"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" this.questionsWithCommentNotVisibleForPreviewSet \u003d questionsWithCommentNotVisibleForPreviewSet;"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" this.responseCommentsMap \u003d responseCommentsMap;"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" this.responseGiverVisibilityTable \u003d responseGiverVisibilityTable;"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" this.responseRecipientVisibilityTable \u003d responseRecipientVisibilityTable;"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" this.commentGiverVisibilityTable \u003d commentGiverVisibilityTable;"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" this.roster \u003d roster;"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" this.questionResponseMap \u003d buildQuestionToResponseMap(responses);"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" this.questionMissingResponseMap \u003d buildQuestionToResponseMap(missingResponses);"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" private Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e buildQuestionToResponseMap("},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e responses) {"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" // build question to response map"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e questionToResponseMap \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" for (FeedbackQuestion question : questions) {"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" questionToResponseMap.put(question, new ArrayList\u003c\u003e());"},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question \u003d response.getFeedbackQuestion();"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e responsesForQuestion \u003d questionToResponseMap.get(question);"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" responsesForQuestion.add(response);"},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":" return questionToResponseMap;"},{"lineNumber":67,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":68,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":" * Returns true if the giver of a response is visible to the current user."},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" * Returns false otherwise."},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" public boolean isResponseGiverVisible(FeedbackResponse response) {"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" return isResponseParticipantVisible(true, response);"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" * Returns true if the recipient of a response is visible to the current user."},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" * Returns false otherwise."},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":" public boolean isResponseRecipientVisible(FeedbackResponse response) {"},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" return isResponseParticipantVisible(false, response);"},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":" * Checks if the giver/recipient for a response is visible/hidden from the current user."},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" private boolean isResponseParticipantVisible(boolean isGiver, FeedbackResponse response) {"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question \u003d response.getFeedbackQuestion();"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType participantType;"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":" boolean isVisible;"},{"lineNumber":93,"author":{"gitId":"xenosf"},"content":" if (isGiver) {"},{"lineNumber":94,"author":{"gitId":"xenosf"},"content":" isVisible \u003d responseGiverVisibilityTable.get(response);"},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":" participantType \u003d question.getGiverType();"},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" isVisible \u003d responseRecipientVisibilityTable.get(response);"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" participantType \u003d question.getRecipientType();"},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":100,"author":{"gitId":"xenosf"},"content":" boolean isTypeNone \u003d participantType \u003d\u003d FeedbackParticipantType.NONE;"},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":102,"author":{"gitId":"xenosf"},"content":" return isVisible || isTypeNone;"},{"lineNumber":103,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":104,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":105,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":106,"author":{"gitId":"xenosf"},"content":" * Returns true if the giver of a comment is visible to the current user."},{"lineNumber":107,"author":{"gitId":"xenosf"},"content":" * Returns false otherwise."},{"lineNumber":108,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":109,"author":{"gitId":"xenosf"},"content":" public boolean isCommentGiverVisible(FeedbackResponseComment comment) {"},{"lineNumber":110,"author":{"gitId":"xenosf"},"content":" return commentGiverVisibilityTable.get(comment.getId());"},{"lineNumber":111,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":112,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":113,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":114,"author":{"gitId":"xenosf"},"content":" * Gets the anonymous name for a given name."},{"lineNumber":115,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" * \u003cp\u003eThe anonymous name will be deterministic based on {@code name}."},{"lineNumber":117,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":118,"author":{"gitId":"xenosf"},"content":" public static String getAnonName(FeedbackParticipantType type, String name) {"},{"lineNumber":119,"author":{"gitId":"xenosf"},"content":" String hashedEncryptedName \u003d getHashOfName(getEncryptedName(name));"},{"lineNumber":120,"author":{"gitId":"xenosf"},"content":" String participantType \u003d type.toSingularFormString();"},{"lineNumber":121,"author":{"gitId":"xenosf"},"content":" return String.format("},{"lineNumber":122,"author":{"gitId":"xenosf"},"content":" Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT + \" %s %s\", participantType, hashedEncryptedName);"},{"lineNumber":123,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":" public Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e getQuestionResponseMap() {"},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":" return questionResponseMap;"},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" public Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e getQuestionMissingResponseMap() {"},{"lineNumber":130,"author":{"gitId":"xenosf"},"content":" return questionMissingResponseMap;"},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":132,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":133,"author":{"gitId":"xenosf"},"content":" private static String getEncryptedName(String name) {"},{"lineNumber":134,"author":{"gitId":"xenosf"},"content":" return StringHelper.encrypt(name);"},{"lineNumber":135,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":136,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":137,"author":{"gitId":"xenosf"},"content":" private static String getHashOfName(String name) {"},{"lineNumber":138,"author":{"gitId":"xenosf"},"content":" return Long.toString(Math.abs((long) name.hashCode()));"},{"lineNumber":139,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":140,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":141,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackQuestion\u003e getQuestions() {"},{"lineNumber":142,"author":{"gitId":"xenosf"},"content":" return questions;"},{"lineNumber":143,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":144,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":145,"author":{"gitId":"xenosf"},"content":" public Map\u003cFeedbackResponse, List\u003cFeedbackResponseComment\u003e\u003e getResponseCommentsMap() {"},{"lineNumber":146,"author":{"gitId":"xenosf"},"content":" return responseCommentsMap;"},{"lineNumber":147,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":148,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":149,"author":{"gitId":"xenosf"},"content":" public SqlCourseRoster getRoster() {"},{"lineNumber":150,"author":{"gitId":"xenosf"},"content":" return roster;"},{"lineNumber":151,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":152,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":153,"author":{"gitId":"xenosf"},"content":" public Map\u003cFeedbackResponse, Boolean\u003e getResponseGiverVisibilityTable() {"},{"lineNumber":154,"author":{"gitId":"xenosf"},"content":" return responseGiverVisibilityTable;"},{"lineNumber":155,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":156,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":157,"author":{"gitId":"xenosf"},"content":" public Map\u003cFeedbackResponse, Boolean\u003e getResponseRecipientVisibilityTable() {"},{"lineNumber":158,"author":{"gitId":"xenosf"},"content":" return responseRecipientVisibilityTable;"},{"lineNumber":159,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":160,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":161,"author":{"gitId":"xenosf"},"content":" public Map\u003cLong, Boolean\u003e getCommentGiverVisibilityTable() {"},{"lineNumber":162,"author":{"gitId":"xenosf"},"content":" return commentGiverVisibilityTable;"},{"lineNumber":163,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":164,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":165,"author":{"gitId":"xenosf"},"content":" public Set\u003cFeedbackQuestion\u003e getQuestionsNotVisibleForPreviewSet() {"},{"lineNumber":166,"author":{"gitId":"xenosf"},"content":" return questionsNotVisibleForPreviewSet;"},{"lineNumber":167,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":168,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":169,"author":{"gitId":"xenosf"},"content":" public Set\u003cFeedbackQuestion\u003e getQuestionsWithCommentNotVisibleForPreviewSet() {"},{"lineNumber":170,"author":{"gitId":"xenosf"},"content":" return questionsWithCommentNotVisibleForPreviewSet;"},{"lineNumber":171,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":172,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":172}},{"path":"src/main/java/teammates/common/datatransfer/attributes/StudentAttributes.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.datatransfer.attributes;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Comparator;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Objects;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.entity.CourseStudent;"},{"lineNumber":14,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * The data transfer object for {@link CourseStudent} entities."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public final class StudentAttributes extends EntityAttributes\u003cCourseStudent\u003e {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" private String email;"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private String course;"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private String name;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" private String googleId;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private String comments;"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private String team;"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private String section;"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private transient String key;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private transient Instant createdAt;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private transient Instant updatedAt;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private StudentAttributes(String courseId, String email) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" this.course \u003d courseId;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" this.email \u003d email;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" this.googleId \u003d \"\";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" this.section \u003d Const.DEFAULT_SECTION;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" this.createdAt \u003d Const.TIME_REPRESENTS_DEFAULT_TIMESTAMP;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" this.updatedAt \u003d Const.TIME_REPRESENTS_DEFAULT_TIMESTAMP;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Gets the {@link StudentAttributes} instance of the given {@link CourseStudent}."},{"lineNumber":44,"author":{"gitId":"-"},"content":" */"},{"lineNumber":45,"author":{"gitId":"-"},"content":" public static StudentAttributes valueOf(CourseStudent student) {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" StudentAttributes studentAttributes \u003d new StudentAttributes(student.getCourseId(), student.getEmail());"},{"lineNumber":47,"author":{"gitId":"-"},"content":" studentAttributes.name \u003d student.getName();"},{"lineNumber":48,"author":{"gitId":"-"},"content":" if (student.getGoogleId() !\u003d null) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" studentAttributes.googleId \u003d student.getGoogleId();"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":" studentAttributes.team \u003d student.getTeamName();"},{"lineNumber":52,"author":{"gitId":"-"},"content":" if (student.getSectionName() !\u003d null) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" studentAttributes.section \u003d student.getSectionName();"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":" studentAttributes.comments \u003d student.getComments();"},{"lineNumber":56,"author":{"gitId":"-"},"content":" studentAttributes.key \u003d student.getRegistrationKey();"},{"lineNumber":57,"author":{"gitId":"-"},"content":" if (student.getCreatedAt() !\u003d null) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" studentAttributes.createdAt \u003d student.getCreatedAt();"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" if (student.getUpdatedAt() !\u003d null) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" studentAttributes.updatedAt \u003d student.getUpdatedAt();"},{"lineNumber":62,"author":{"gitId":"-"},"content":" }"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" return studentAttributes;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"marquestye"},"content":" /**"},{"lineNumber":68,"author":{"gitId":"marquestye"},"content":" * Gets the {@link StudentAttributes} instance of the given {@link Student}."},{"lineNumber":69,"author":{"gitId":"marquestye"},"content":" */"},{"lineNumber":70,"author":{"gitId":"marquestye"},"content":" public static StudentAttributes valueOf(Student student) {"},{"lineNumber":71,"author":{"gitId":"marquestye"},"content":" StudentAttributes studentAttributes \u003d new StudentAttributes(student.getCourseId(), student.getEmail());"},{"lineNumber":72,"author":{"gitId":"marquestye"},"content":" studentAttributes.name \u003d student.getName();"},{"lineNumber":73,"author":{"gitId":"marquestye"},"content":" if (student.getGoogleId() !\u003d null) {"},{"lineNumber":74,"author":{"gitId":"marquestye"},"content":" studentAttributes.googleId \u003d student.getGoogleId();"},{"lineNumber":75,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":76,"author":{"gitId":"marquestye"},"content":" studentAttributes.team \u003d student.getTeamName();"},{"lineNumber":77,"author":{"gitId":"marquestye"},"content":" if (student.getSectionName() !\u003d null) {"},{"lineNumber":78,"author":{"gitId":"marquestye"},"content":" studentAttributes.section \u003d student.getSectionName();"},{"lineNumber":79,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":80,"author":{"gitId":"marquestye"},"content":" studentAttributes.comments \u003d student.getComments();"},{"lineNumber":81,"author":{"gitId":"marquestye"},"content":" // studentAttributes.key \u003d student.getRegistrationKey();"},{"lineNumber":82,"author":{"gitId":"marquestye"},"content":" if (student.getCreatedAt() !\u003d null) {"},{"lineNumber":83,"author":{"gitId":"marquestye"},"content":" studentAttributes.createdAt \u003d student.getCreatedAt();"},{"lineNumber":84,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":85,"author":{"gitId":"marquestye"},"content":" if (student.getUpdatedAt() !\u003d null) {"},{"lineNumber":86,"author":{"gitId":"marquestye"},"content":" studentAttributes.updatedAt \u003d student.getUpdatedAt();"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" return studentAttributes;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":93,"author":{"gitId":"-"},"content":" * Return a builder for {@link StudentAttributes}."},{"lineNumber":94,"author":{"gitId":"-"},"content":" */"},{"lineNumber":95,"author":{"gitId":"-"},"content":" public static Builder builder(String courseId, String email) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" return new Builder(courseId, email);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * Gets a deep copy of this object."},{"lineNumber":101,"author":{"gitId":"-"},"content":" */"},{"lineNumber":102,"author":{"gitId":"-"},"content":" public StudentAttributes getCopy() {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" StudentAttributes studentAttributes \u003d new StudentAttributes(course, email);"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" studentAttributes.name \u003d name;"},{"lineNumber":106,"author":{"gitId":"-"},"content":" studentAttributes.googleId \u003d googleId;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" studentAttributes.team \u003d team;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" studentAttributes.section \u003d section;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" studentAttributes.comments \u003d comments;"},{"lineNumber":110,"author":{"gitId":"-"},"content":" studentAttributes.key \u003d key;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" studentAttributes.createdAt \u003d createdAt;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" studentAttributes.updatedAt \u003d updatedAt;"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" return studentAttributes;"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" public boolean isRegistered() {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" return googleId !\u003d null \u0026\u0026 !googleId.trim().isEmpty();"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" public String getRegistrationUrl() {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" return Config.getFrontEndAppUrl(Const.WebPageURIs.JOIN_PAGE)"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .withRegistrationKey(key)"},{"lineNumber":124,"author":{"gitId":"-"},"content":" .withEntityType(Const.EntityType.STUDENT)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" .toString();"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" public String getName() {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" return name;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" public void setName(String name) {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" this.name \u003d name;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" public String getEmail() {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" public void setEmail(String email) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" this.email \u003d email;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" public String getCourse() {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" return course;"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" public void setCourse(String course) {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" this.course \u003d course;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" public String getGoogleId() {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" return googleId;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" public void setGoogleId(String googleId) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" this.googleId \u003d googleId;"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" public String getKey() {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" return key;"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" public void setKey(String key) {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" this.key \u003d key;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":169,"author":{"gitId":"-"},"content":" * Format: email%courseId e.g., adam@gmail.com%cs1101."},{"lineNumber":170,"author":{"gitId":"-"},"content":" */"},{"lineNumber":171,"author":{"gitId":"-"},"content":" public String getId() {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" return email + \"%\" + course;"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" public String getSection() {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" return section;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" public void setSection(String section) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" this.section \u003d section;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" public String getTeam() {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" return team;"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" public void setTeam(String team) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" this.team \u003d team;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" public String getComments() {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" return comments;"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" public void setComments(String comments) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" this.comments \u003d comments;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":200,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" if (other \u003d\u003d null) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" } else if (this \u003d\u003d other) {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":205,"author":{"gitId":"-"},"content":" } else if (this.getClass() \u003d\u003d other.getClass()) {"},{"lineNumber":206,"author":{"gitId":"-"},"content":" StudentAttributes otherStudent \u003d (StudentAttributes) other;"},{"lineNumber":207,"author":{"gitId":"-"},"content":" return Objects.equals(this.course, otherStudent.course)"},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.name, otherStudent.name)"},{"lineNumber":209,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.email, otherStudent.email)"},{"lineNumber":210,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.googleId, otherStudent.googleId)"},{"lineNumber":211,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.comments, otherStudent.comments)"},{"lineNumber":212,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.team, otherStudent.team)"},{"lineNumber":213,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.section, otherStudent.section);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":220,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getInvalidityInfo() {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" // id is allowed to be null when the student is not registered"},{"lineNumber":222,"author":{"gitId":"-"},"content":" assert team !\u003d null;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" assert comments !\u003d null;"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" List\u003cString\u003e errors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" if (isRegistered()) {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForGoogleId(googleId), errors);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForCourseId(course), errors);"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForEmail(email), errors);"},{"lineNumber":234,"author":{"gitId":"-"},"content":""},{"lineNumber":235,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForTeamName(team), errors);"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForSectionName(section), errors);"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForStudentRoleComments(comments), errors);"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForPersonName(name), errors);"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" return errors;"},{"lineNumber":244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * Sorts the list of students by the section name, then team name, then name."},{"lineNumber":248,"author":{"gitId":"-"},"content":" */"},{"lineNumber":249,"author":{"gitId":"-"},"content":" public static void sortBySectionName(List\u003cStudentAttributes\u003e students) {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" students.sort(Comparator.comparing((StudentAttributes student) -\u003e student.section)"},{"lineNumber":251,"author":{"gitId":"-"},"content":" .thenComparing(student -\u003e student.team)"},{"lineNumber":252,"author":{"gitId":"-"},"content":" .thenComparing(student -\u003e student.name));"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":256,"author":{"gitId":"-"},"content":" * Sorts the list of students by the team name, then name."},{"lineNumber":257,"author":{"gitId":"-"},"content":" */"},{"lineNumber":258,"author":{"gitId":"-"},"content":" public static void sortByTeamName(List\u003cStudentAttributes\u003e students) {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" students.sort(Comparator.comparing((StudentAttributes student) -\u003e student.team)"},{"lineNumber":260,"author":{"gitId":"-"},"content":" .thenComparing(student -\u003e student.name));"},{"lineNumber":261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":264,"author":{"gitId":"-"},"content":" public CourseStudent toEntity() {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" return new CourseStudent(email, name, googleId, comments, course, team, section);"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":269,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":270,"author":{"gitId":"-"},"content":" StringBuilder stringBuilder \u003d new StringBuilder();"},{"lineNumber":271,"author":{"gitId":"-"},"content":" stringBuilder.append(this.email).append(this.name).append(this.course)"},{"lineNumber":272,"author":{"gitId":"-"},"content":" .append(this.googleId).append(this.team).append(this.section).append(this.comments);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" return stringBuilder.toString().hashCode();"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":277,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" return \"Student:\" + name + \"[\" + email + \"]\";"},{"lineNumber":279,"author":{"gitId":"-"},"content":" }"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":282,"author":{"gitId":"-"},"content":" public void sanitizeForSaving() {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" googleId \u003d SanitizationHelper.sanitizeGoogleId(googleId);"},{"lineNumber":284,"author":{"gitId":"-"},"content":" name \u003d SanitizationHelper.sanitizeName(name);"},{"lineNumber":285,"author":{"gitId":"-"},"content":" comments \u003d SanitizationHelper.sanitizeTextField(comments);"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" public Instant getCreatedAt() {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" return createdAt;"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" public Instant getUpdatedAt() {"},{"lineNumber":293,"author":{"gitId":"-"},"content":" return updatedAt;"},{"lineNumber":294,"author":{"gitId":"-"},"content":" }"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":" public void setCreatedAt(Instant createdAt) {"},{"lineNumber":297,"author":{"gitId":"-"},"content":" this.createdAt \u003d createdAt;"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" public void setUpdatedAt(Instant updatedAt) {"},{"lineNumber":301,"author":{"gitId":"-"},"content":" this.updatedAt \u003d updatedAt;"},{"lineNumber":302,"author":{"gitId":"-"},"content":" }"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":305,"author":{"gitId":"-"},"content":" * Updates with {@link UpdateOptions}."},{"lineNumber":306,"author":{"gitId":"-"},"content":" */"},{"lineNumber":307,"author":{"gitId":"-"},"content":" public void update(UpdateOptions updateOptions) {"},{"lineNumber":308,"author":{"gitId":"-"},"content":" updateOptions.newEmailOption.ifPresent(s -\u003e email \u003d s);"},{"lineNumber":309,"author":{"gitId":"-"},"content":" updateOptions.nameOption.ifPresent(s -\u003e name \u003d s);"},{"lineNumber":310,"author":{"gitId":"-"},"content":" updateOptions.commentOption.ifPresent(s -\u003e comments \u003d s);"},{"lineNumber":311,"author":{"gitId":"-"},"content":" updateOptions.googleIdOption.ifPresent(s -\u003e googleId \u003d s);"},{"lineNumber":312,"author":{"gitId":"-"},"content":" updateOptions.teamNameOption.ifPresent(s -\u003e team \u003d s);"},{"lineNumber":313,"author":{"gitId":"-"},"content":" updateOptions.sectionNameOption.ifPresent(s -\u003e section \u003d s);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" }"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":317,"author":{"gitId":"-"},"content":" * Returns a {@link UpdateOptions.Builder} to build {@link UpdateOptions} for a student."},{"lineNumber":318,"author":{"gitId":"-"},"content":" */"},{"lineNumber":319,"author":{"gitId":"-"},"content":" public static UpdateOptions.Builder updateOptionsBuilder(String courseId, String email) {"},{"lineNumber":320,"author":{"gitId":"-"},"content":" return new UpdateOptions.Builder(courseId, email);"},{"lineNumber":321,"author":{"gitId":"-"},"content":" }"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":324,"author":{"gitId":"-"},"content":" * A builder class for {@link StudentAttributes}."},{"lineNumber":325,"author":{"gitId":"-"},"content":" */"},{"lineNumber":326,"author":{"gitId":"-"},"content":" public static final class Builder extends BasicBuilder\u003cStudentAttributes, Builder\u003e {"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" private final StudentAttributes studentAttributes;"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" private Builder(String courseId, String email) {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" super(new UpdateOptions(courseId, email));"},{"lineNumber":332,"author":{"gitId":"-"},"content":" thisBuilder \u003d this;"},{"lineNumber":333,"author":{"gitId":"-"},"content":""},{"lineNumber":334,"author":{"gitId":"-"},"content":" studentAttributes \u003d new StudentAttributes(courseId, email);"},{"lineNumber":335,"author":{"gitId":"-"},"content":" }"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":338,"author":{"gitId":"-"},"content":" public StudentAttributes build() {"},{"lineNumber":339,"author":{"gitId":"-"},"content":" studentAttributes.update(updateOptions);"},{"lineNumber":340,"author":{"gitId":"-"},"content":""},{"lineNumber":341,"author":{"gitId":"-"},"content":" return studentAttributes;"},{"lineNumber":342,"author":{"gitId":"-"},"content":" }"},{"lineNumber":343,"author":{"gitId":"-"},"content":" }"},{"lineNumber":344,"author":{"gitId":"-"},"content":""},{"lineNumber":345,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":346,"author":{"gitId":"-"},"content":" * Helper class to specify the fields to update in {@link StudentAttributes}."},{"lineNumber":347,"author":{"gitId":"-"},"content":" */"},{"lineNumber":348,"author":{"gitId":"-"},"content":" public static final class UpdateOptions {"},{"lineNumber":349,"author":{"gitId":"-"},"content":" private String courseId;"},{"lineNumber":350,"author":{"gitId":"-"},"content":" private String email;"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" private UpdateOption\u003cString\u003e newEmailOption \u003d UpdateOption.empty();"},{"lineNumber":353,"author":{"gitId":"-"},"content":" private UpdateOption\u003cString\u003e nameOption \u003d UpdateOption.empty();"},{"lineNumber":354,"author":{"gitId":"-"},"content":" private UpdateOption\u003cString\u003e commentOption \u003d UpdateOption.empty();"},{"lineNumber":355,"author":{"gitId":"-"},"content":" private UpdateOption\u003cString\u003e googleIdOption \u003d UpdateOption.empty();"},{"lineNumber":356,"author":{"gitId":"-"},"content":" private UpdateOption\u003cString\u003e teamNameOption \u003d UpdateOption.empty();"},{"lineNumber":357,"author":{"gitId":"-"},"content":" private UpdateOption\u003cString\u003e sectionNameOption \u003d UpdateOption.empty();"},{"lineNumber":358,"author":{"gitId":"-"},"content":""},{"lineNumber":359,"author":{"gitId":"-"},"content":" private UpdateOptions(String courseId, String email) {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":361,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":362,"author":{"gitId":"-"},"content":""},{"lineNumber":363,"author":{"gitId":"-"},"content":" this.courseId \u003d courseId;"},{"lineNumber":364,"author":{"gitId":"-"},"content":" this.email \u003d email;"},{"lineNumber":365,"author":{"gitId":"-"},"content":" }"},{"lineNumber":366,"author":{"gitId":"-"},"content":""},{"lineNumber":367,"author":{"gitId":"-"},"content":" public String getCourseId() {"},{"lineNumber":368,"author":{"gitId":"-"},"content":" return courseId;"},{"lineNumber":369,"author":{"gitId":"-"},"content":" }"},{"lineNumber":370,"author":{"gitId":"-"},"content":""},{"lineNumber":371,"author":{"gitId":"-"},"content":" public String getEmail() {"},{"lineNumber":372,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":373,"author":{"gitId":"-"},"content":" }"},{"lineNumber":374,"author":{"gitId":"-"},"content":""},{"lineNumber":375,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":376,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":377,"author":{"gitId":"-"},"content":" return \"StudentAttributes.UpdateOptions [\""},{"lineNumber":378,"author":{"gitId":"-"},"content":" + \"courseId \u003d \" + courseId"},{"lineNumber":379,"author":{"gitId":"-"},"content":" + \", email \u003d \" + email"},{"lineNumber":380,"author":{"gitId":"-"},"content":" + \", newEmail \u003d \" + newEmailOption"},{"lineNumber":381,"author":{"gitId":"-"},"content":" + \", name \u003d \" + nameOption"},{"lineNumber":382,"author":{"gitId":"-"},"content":" + \", comment \u003d \" + commentOption"},{"lineNumber":383,"author":{"gitId":"-"},"content":" + \", googleId \u003d \" + googleIdOption"},{"lineNumber":384,"author":{"gitId":"-"},"content":" + \", teamName \u003d \" + teamNameOption"},{"lineNumber":385,"author":{"gitId":"-"},"content":" + \", sectionName \u003d \" + sectionNameOption"},{"lineNumber":386,"author":{"gitId":"-"},"content":" + \"]\";"},{"lineNumber":387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":388,"author":{"gitId":"-"},"content":""},{"lineNumber":389,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":390,"author":{"gitId":"-"},"content":" * Builder class to build {@link UpdateOptions}."},{"lineNumber":391,"author":{"gitId":"-"},"content":" */"},{"lineNumber":392,"author":{"gitId":"-"},"content":" public static final class Builder extends BasicBuilder\u003cUpdateOptions, Builder\u003e {"},{"lineNumber":393,"author":{"gitId":"-"},"content":""},{"lineNumber":394,"author":{"gitId":"-"},"content":" private Builder(String courseId, String email) {"},{"lineNumber":395,"author":{"gitId":"-"},"content":" super(new UpdateOptions(courseId, email));"},{"lineNumber":396,"author":{"gitId":"-"},"content":" thisBuilder \u003d this;"},{"lineNumber":397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":398,"author":{"gitId":"-"},"content":""},{"lineNumber":399,"author":{"gitId":"-"},"content":" public Builder withNewEmail(String email) {"},{"lineNumber":400,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":401,"author":{"gitId":"-"},"content":""},{"lineNumber":402,"author":{"gitId":"-"},"content":" updateOptions.newEmailOption \u003d UpdateOption.of(email);"},{"lineNumber":403,"author":{"gitId":"-"},"content":" return thisBuilder;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":407,"author":{"gitId":"-"},"content":" public UpdateOptions build() {"},{"lineNumber":408,"author":{"gitId":"-"},"content":" return updateOptions;"},{"lineNumber":409,"author":{"gitId":"-"},"content":" }"},{"lineNumber":410,"author":{"gitId":"-"},"content":""},{"lineNumber":411,"author":{"gitId":"-"},"content":" }"},{"lineNumber":412,"author":{"gitId":"-"},"content":""},{"lineNumber":413,"author":{"gitId":"-"},"content":" }"},{"lineNumber":414,"author":{"gitId":"-"},"content":""},{"lineNumber":415,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":416,"author":{"gitId":"-"},"content":" * Basic builder to build {@link StudentAttributes} related classes."},{"lineNumber":417,"author":{"gitId":"-"},"content":" *"},{"lineNumber":418,"author":{"gitId":"-"},"content":" * @param \u003cT\u003e type to be built"},{"lineNumber":419,"author":{"gitId":"-"},"content":" * @param \u003cB\u003e type of the builder"},{"lineNumber":420,"author":{"gitId":"-"},"content":" */"},{"lineNumber":421,"author":{"gitId":"-"},"content":" private abstract static class BasicBuilder\u003cT, B extends BasicBuilder\u003cT, B\u003e\u003e {"},{"lineNumber":422,"author":{"gitId":"-"},"content":""},{"lineNumber":423,"author":{"gitId":"-"},"content":" UpdateOptions updateOptions;"},{"lineNumber":424,"author":{"gitId":"-"},"content":" B thisBuilder;"},{"lineNumber":425,"author":{"gitId":"-"},"content":""},{"lineNumber":426,"author":{"gitId":"-"},"content":" BasicBuilder(UpdateOptions updateOptions) {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" this.updateOptions \u003d updateOptions;"},{"lineNumber":428,"author":{"gitId":"-"},"content":" }"},{"lineNumber":429,"author":{"gitId":"-"},"content":""},{"lineNumber":430,"author":{"gitId":"-"},"content":" public B withName(String name) {"},{"lineNumber":431,"author":{"gitId":"-"},"content":" assert name !\u003d null;"},{"lineNumber":432,"author":{"gitId":"-"},"content":""},{"lineNumber":433,"author":{"gitId":"-"},"content":" updateOptions.nameOption \u003d UpdateOption.of(name);"},{"lineNumber":434,"author":{"gitId":"-"},"content":" return thisBuilder;"},{"lineNumber":435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":436,"author":{"gitId":"-"},"content":""},{"lineNumber":437,"author":{"gitId":"-"},"content":" public B withComment(String comment) {"},{"lineNumber":438,"author":{"gitId":"-"},"content":" assert comment !\u003d null;"},{"lineNumber":439,"author":{"gitId":"-"},"content":""},{"lineNumber":440,"author":{"gitId":"-"},"content":" updateOptions.commentOption \u003d UpdateOption.of(comment);"},{"lineNumber":441,"author":{"gitId":"-"},"content":" return thisBuilder;"},{"lineNumber":442,"author":{"gitId":"-"},"content":" }"},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" public B withGoogleId(String googleId) {"},{"lineNumber":445,"author":{"gitId":"-"},"content":" // google id can be set to null"},{"lineNumber":446,"author":{"gitId":"-"},"content":" updateOptions.googleIdOption \u003d UpdateOption.of(googleId);"},{"lineNumber":447,"author":{"gitId":"-"},"content":" return thisBuilder;"},{"lineNumber":448,"author":{"gitId":"-"},"content":" }"},{"lineNumber":449,"author":{"gitId":"-"},"content":""},{"lineNumber":450,"author":{"gitId":"-"},"content":" public B withTeamName(String teamName) {"},{"lineNumber":451,"author":{"gitId":"-"},"content":" assert teamName !\u003d null;"},{"lineNumber":452,"author":{"gitId":"-"},"content":""},{"lineNumber":453,"author":{"gitId":"-"},"content":" updateOptions.teamNameOption \u003d UpdateOption.of(teamName);"},{"lineNumber":454,"author":{"gitId":"-"},"content":" return thisBuilder;"},{"lineNumber":455,"author":{"gitId":"-"},"content":" }"},{"lineNumber":456,"author":{"gitId":"-"},"content":""},{"lineNumber":457,"author":{"gitId":"-"},"content":" public B withSectionName(String sectionName) {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" assert sectionName !\u003d null;"},{"lineNumber":459,"author":{"gitId":"-"},"content":""},{"lineNumber":460,"author":{"gitId":"-"},"content":" updateOptions.sectionNameOption \u003d UpdateOption.of(sectionName);"},{"lineNumber":461,"author":{"gitId":"-"},"content":" return thisBuilder;"},{"lineNumber":462,"author":{"gitId":"-"},"content":" }"},{"lineNumber":463,"author":{"gitId":"-"},"content":""},{"lineNumber":464,"author":{"gitId":"-"},"content":" public abstract T build();"},{"lineNumber":465,"author":{"gitId":"-"},"content":""},{"lineNumber":466,"author":{"gitId":"-"},"content":" }"},{"lineNumber":467,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":21,"-":446}},{"path":"src/main/java/teammates/common/datatransfer/logs/FeedbackSessionAuditLogDetails.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.datatransfer.logs;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import jakarta.annotation.Nullable;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":6,"author":{"gitId":"-"},"content":" * Contains specific structure and processing logic for feedback session audit log."},{"lineNumber":7,"author":{"gitId":"-"},"content":" */"},{"lineNumber":8,"author":{"gitId":"-"},"content":"public class FeedbackSessionAuditLogDetails extends LogDetails {"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":11,"author":{"gitId":"-"},"content":" private String courseId;"},{"lineNumber":12,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":" private String feedbackSessionId;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":" @Nullable"},{"lineNumber":15,"author":{"gitId":"-"},"content":" private String feedbackSessionName;"},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":" private String studentId;"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":" @Nullable"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private String studentEmail;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" private String accessType;"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" public FeedbackSessionAuditLogDetails() {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" super(LogEvent.FEEDBACK_SESSION_AUDIT);"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" public String getCourseId() {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" return courseId;"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" public void setCourseId(String courseId) {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" this.courseId \u003d courseId;"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" public String getFeedbackSessionName() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" return feedbackSessionName;"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" public void setFeedbackSessionName(String feedbackSessionName) {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" this.feedbackSessionName \u003d feedbackSessionName;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" public String getStudentEmail() {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" return studentEmail;"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" public void setStudentEmail(String studentEmail) {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" this.studentEmail \u003d studentEmail;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" }"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" public String getAccessType() {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return accessType;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" public void setAccessType(String accessType) {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" this.accessType \u003d accessType;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" public String getFeedbackSessionId() {"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" return feedbackSessionId;"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" public void setFeedbackSessionId(String feedbackSessionId) {"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" this.feedbackSessionId \u003d feedbackSessionId;"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" public String getStudentId() {"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" return studentId;"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" public void setStudentId(String studentId) {"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" this.studentId \u003d studentId;"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public void hideSensitiveInformation() {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" courseId \u003d null;"},{"lineNumber":77,"author":{"gitId":"-"},"content":" feedbackSessionName \u003d null;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" studentEmail \u003d null;"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" studentId \u003d null;"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" feedbackSessionId \u003d null;"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":22,"-":61}},{"path":"src/main/java/teammates/common/datatransfer/questions/FeedbackQuestionDetails.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.datatransfer.questions;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SessionResultsBundle;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.SqlSessionResultsBundle;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * A class holding the details for a specific question type."},{"lineNumber":14,"author":{"gitId":"-"},"content":" * This abstract class is inherited by concrete Feedback*QuestionDetails"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * classes which provides the implementation for the various abstract methods"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * such that pages can render the correct information/forms depending on the"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * question type"},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public abstract class FeedbackQuestionDetails {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" private FeedbackQuestionType questionType;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" private String questionText;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" protected FeedbackQuestionDetails(FeedbackQuestionType questionType) {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" this.questionType \u003d questionType;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" protected FeedbackQuestionDetails(FeedbackQuestionType questionType, String questionText) {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" this.questionType \u003d questionType;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" this.questionText \u003d questionText;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Get question result statistics as JSON string."},{"lineNumber":34,"author":{"gitId":"-"},"content":" */"},{"lineNumber":35,"author":{"gitId":"-"},"content":" @SuppressWarnings(\"PMD.EmptyMethodInAbstractClassShouldBeAbstract\")"},{"lineNumber":36,"author":{"gitId":"-"},"content":" public String getQuestionResultStatisticsJson("},{"lineNumber":37,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes question, String studentEmail, SessionResultsBundle bundle) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" // Statistics are calculated in the front-end as it is dependent on the responses being filtered."},{"lineNumber":39,"author":{"gitId":"-"},"content":" // The only exception is contribution question, where there is only one statistics for the entire question."},{"lineNumber":40,"author":{"gitId":"-"},"content":" // It is also necessary to calculate contribution question statistics here"},{"lineNumber":41,"author":{"gitId":"-"},"content":" // to be displayed in student result page as students are not supposed to be able to see the exact responses."},{"lineNumber":42,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" * Get question result statistics as JSON string."},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" @SuppressWarnings(\"PMD.EmptyMethodInAbstractClassShouldBeAbstract\")"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" public String getQuestionResultStatisticsJson("},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question, String studentEmail, SqlSessionResultsBundle bundle) {"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" // Statistics are calculated in the front-end as it is dependent on the responses being filtered."},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" // The only exception is contribution question, where there is only one statistics for the entire question."},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" // It is also necessary to calculate contribution question statistics here"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" // to be displayed in student result page as students are not supposed to be able to see the exact responses."},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":" return \"\";"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Checks whether the changes to the question details require deletion of corresponding responses."},{"lineNumber":60,"author":{"gitId":"-"},"content":" */"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public abstract boolean shouldChangesRequireResponseDeletion(FeedbackQuestionDetails newDetails);"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":64,"author":{"gitId":"-"},"content":" * Individual responses are shown by default."},{"lineNumber":65,"author":{"gitId":"-"},"content":" * Override for specific question types if necessary."},{"lineNumber":66,"author":{"gitId":"-"},"content":" *"},{"lineNumber":67,"author":{"gitId":"-"},"content":" * @return boolean indicating if individual responses are to be shown to students."},{"lineNumber":68,"author":{"gitId":"-"},"content":" */"},{"lineNumber":69,"author":{"gitId":"-"},"content":" public boolean isIndividualResponsesShownToStudents() {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":74,"author":{"gitId":"-"},"content":" * Validates the question details."},{"lineNumber":75,"author":{"gitId":"-"},"content":" * @return A {@code List\u003cString\u003e} of error messages (to show as status message to user) if any, or an"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * empty list if question details are valid."},{"lineNumber":77,"author":{"gitId":"-"},"content":" */"},{"lineNumber":78,"author":{"gitId":"-"},"content":" public abstract List\u003cString\u003e validateQuestionDetails();"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":81,"author":{"gitId":"-"},"content":" * Validates the list of response details."},{"lineNumber":82,"author":{"gitId":"-"},"content":" * @return A {@code List\u003cString\u003e} of error messages (to show as status message to user) if any, or an"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * empty list if all response details are valid."},{"lineNumber":84,"author":{"gitId":"-"},"content":" */"},{"lineNumber":85,"author":{"gitId":"-"},"content":" public abstract List\u003cString\u003e validateResponsesDetails(List\u003cFeedbackResponseDetails\u003e responseDetails, int numRecipients);"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Validates if giverType and recipientType are valid for the question type."},{"lineNumber":89,"author":{"gitId":"-"},"content":" * Validates visibility options as well."},{"lineNumber":90,"author":{"gitId":"-"},"content":" *"},{"lineNumber":91,"author":{"gitId":"-"},"content":" * \u003cp\u003eOverride in Feedback*QuestionDetails if necessary."},{"lineNumber":92,"author":{"gitId":"-"},"content":" * @return error message detailing the error, or an empty string if valid."},{"lineNumber":93,"author":{"gitId":"-"},"content":" */"},{"lineNumber":94,"author":{"gitId":"-"},"content":" public abstract String validateGiverRecipientVisibility(FeedbackQuestionAttributes feedbackQuestionAttributes);"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":97,"author":{"gitId":"-"},"content":" * Validates if giverType and recipientType are valid for the question type."},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Validates visibility options as well."},{"lineNumber":99,"author":{"gitId":"-"},"content":" *"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * \u003cp\u003eOverride in Feedback*QuestionDetails if necessary."},{"lineNumber":101,"author":{"gitId":"-"},"content":" * @return error message detailing the error, or an empty string if valid."},{"lineNumber":102,"author":{"gitId":"-"},"content":" */"},{"lineNumber":103,"author":{"gitId":"-"},"content":" public abstract String validateGiverRecipientVisibility(FeedbackQuestion feedbackQuestion);"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":106,"author":{"gitId":"-"},"content":" * Checks whether instructor comments are allowed for the question."},{"lineNumber":107,"author":{"gitId":"-"},"content":" */"},{"lineNumber":108,"author":{"gitId":"-"},"content":" public boolean isInstructorCommentsOnResponsesAllowed() {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":113,"author":{"gitId":"-"},"content":" * Checks whether missing responses should be generated."},{"lineNumber":114,"author":{"gitId":"-"},"content":" */"},{"lineNumber":115,"author":{"gitId":"-"},"content":" public boolean shouldGenerateMissingResponses(FeedbackQuestionAttributes question) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" // generate combinations against all students/teams are meaningless"},{"lineNumber":117,"author":{"gitId":"-"},"content":" return question.getRecipientType() !\u003d FeedbackParticipantType.STUDENTS"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.STUDENTS_EXCLUDING_SELF"},{"lineNumber":119,"author":{"gitId":"-"},"content":" \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.TEAMS_EXCLUDING_SELF;"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":" * Checks whether missing responses should be generated."},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":" public boolean shouldGenerateMissingResponses(FeedbackQuestion question) {"},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" // generate combinations against all students/teams are meaningless"},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":" return question.getRecipientType() !\u003d FeedbackParticipantType.STUDENTS"},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.STUDENTS_EXCLUDING_SELF"},{"lineNumber":130,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.TEAMS_EXCLUDING_SELF;"},{"lineNumber":132,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":133,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":135,"author":{"gitId":"-"},"content":" public boolean equals(Object obj) {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" if (this \u003d\u003d obj) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" if (obj \u003d\u003d null || obj.getClass() !\u003d this.getClass()) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" // Json string contains all attributes of a `FeedbackQuestionDetails` object,"},{"lineNumber":145,"author":{"gitId":"-"},"content":" // so it is sufficient to use it to compare two `FeedbackQuestionDetails` objects."},{"lineNumber":146,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails other \u003d (FeedbackQuestionDetails) obj;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" return this.getJsonString().equals(other.getJsonString());"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":151,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" return this.getJsonString().hashCode();"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":156,"author":{"gitId":"-"},"content":" * Returns a JSON string representation of the question details."},{"lineNumber":157,"author":{"gitId":"-"},"content":" */"},{"lineNumber":158,"author":{"gitId":"-"},"content":" public String getJsonString() {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" assert questionType !\u003d null;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" return JsonUtils.toJson(this, questionType.getQuestionDetailsClass());"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":164,"author":{"gitId":"-"},"content":" * Returns a deep copy of the question details."},{"lineNumber":165,"author":{"gitId":"-"},"content":" */"},{"lineNumber":166,"author":{"gitId":"-"},"content":" public FeedbackQuestionDetails getDeepCopy() {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" assert questionType !\u003d null;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" String serializedDetails \u003d getJsonString();"},{"lineNumber":169,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(serializedDetails, questionType.getQuestionDetailsClass());"},{"lineNumber":170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" public FeedbackQuestionType getQuestionType() {"},{"lineNumber":173,"author":{"gitId":"-"},"content":" return questionType;"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" public void setQuestionType(FeedbackQuestionType questionType) {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" this.questionType \u003d questionType;"},{"lineNumber":178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" public String getQuestionText() {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" return questionText;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" public void setQuestionText(String questionText) {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" this.questionText \u003d questionText;"},{"lineNumber":186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":25,"-":162}},{"path":"src/main/java/teammates/common/util/Const.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.charset.Charset;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.charset.StandardCharsets;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.Duration;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Stores constants that are widely used across classes."},{"lineNumber":12,"author":{"gitId":"-"},"content":" * this class contains several nested classes, each containing a specific"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * category of constants."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public final class Const {"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" // This section holds constants that are defined as constants primarily because they are repeated in many places."},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" public static final String USER_NOBODY_TEXT \u003d \"-\";"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static final String USER_TEAM_FOR_INSTRUCTOR \u003d \"Instructors\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" public static final String DEFAULT_DISPLAY_NAME_FOR_INSTRUCTOR \u003d \"Instructor\";"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" public static final String DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT \u003d \"Anonymous\";"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" public static final int SECTION_SIZE_LIMIT \u003d 100;"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" public static final String DEFAULT_SECTION \u003d \"None\";"},{"lineNumber":30,"author":{"gitId":"-"},"content":" public static final Section DEFAULT_SQL_SECTION \u003d null;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" public static final String UNKNOWN_INSTITUTION \u003d \"Unknown Institution\";"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" public static final String DEFAULT_TIME_ZONE \u003d \"UTC\";"},{"lineNumber":35,"author":{"gitId":"-"},"content":" public static final Charset ENCODING \u003d StandardCharsets.UTF_8;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" public static final Duration FEEDBACK_SESSIONS_SEARCH_WINDOW \u003d Duration.ofDays(30);"},{"lineNumber":38,"author":{"gitId":"-"},"content":" public static final Duration LOGS_RETENTION_PERIOD \u003d Duration.ofDays(30);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" public static final Duration COOKIE_VALIDITY_PERIOD \u003d Duration.ofDays(7);"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" public static final int SEARCH_QUERY_SIZE_LIMIT \u003d 50;"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" public static final String ERROR_CREATE_ENTITY_ALREADY_EXISTS \u003d \"Trying to create an entity that exists: %s\";"},{"lineNumber":44,"author":{"gitId":"-"},"content":" public static final String ERROR_UPDATE_NON_EXISTENT \u003d \"Trying to update non-existent Entity: \";"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" public static final String MISSING_RESPONSE_TEXT \u003d \"No Response\";"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" public static final Duration STUDENT_ACTIVITY_LOGS_UPDATE_INTERVAL \u003d Duration.ofMinutes(15);"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" public static final Duration STUDENT_ACTIVITY_LOGS_FILTER_WINDOW \u003d Duration.ofSeconds(2);"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" public static final String ACCOUNT_REQUEST_NOT_FOUND \u003d \"Account request with id \u003d %s not found\";"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" // These constants are used as variable values to mean that the variable is in a \u0027special\u0027 state."},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" public static final int INT_UNINITIALIZED \u003d -9999;"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" public static final int MAX_POSSIBLE_RECIPIENTS \u003d -100;"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" public static final int POINTS_EQUAL_SHARE \u003d 100;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" public static final int POINTS_NOT_SURE \u003d -101;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public static final int POINTS_NOT_SUBMITTED \u003d -999;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static final int POINTS_NO_VALUE \u003d Integer.MIN_VALUE;"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" public static final String GENERAL_QUESTION \u003d \"%GENERAL%\";"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" public static final Instant TIME_REPRESENTS_FOLLOW_OPENING;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" public static final Instant TIME_REPRESENTS_FOLLOW_VISIBLE;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" public static final Instant TIME_REPRESENTS_LATER;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" public static final Instant TIME_REPRESENTS_NOW;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" public static final Instant TIME_REPRESENTS_DEFAULT_TIMESTAMP;"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" static {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" TIME_REPRESENTS_FOLLOW_OPENING \u003d TimeHelper.parseInstant(\"1970-12-31T00:00:00Z\");"},{"lineNumber":74,"author":{"gitId":"-"},"content":" TIME_REPRESENTS_FOLLOW_VISIBLE \u003d TimeHelper.parseInstant(\"1970-06-22T00:00:00Z\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":" TIME_REPRESENTS_LATER \u003d TimeHelper.parseInstant(\"1970-01-01T00:00:00Z\");"},{"lineNumber":76,"author":{"gitId":"-"},"content":" TIME_REPRESENTS_NOW \u003d TimeHelper.parseInstant(\"1970-02-14T00:00:00Z\");"},{"lineNumber":77,"author":{"gitId":"-"},"content":" TIME_REPRESENTS_DEFAULT_TIMESTAMP \u003d TimeHelper.parseInstant(\"2011-01-01T00:00:00Z\");"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" public static final String TEST_EMAIL_DOMAIN \u003d \"@gmail.tmt\";"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" // Other Constants"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" private Const() {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" // Utility class containing constants"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":89,"author":{"gitId":"-"},"content":" * Represents role names for instructors based on their permission settings."},{"lineNumber":90,"author":{"gitId":"-"},"content":" */"},{"lineNumber":91,"author":{"gitId":"-"},"content":" public static class InstructorPermissionRoleNames {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_PERMISSION_ROLE_COOWNER \u003d \"Co-owner\";"},{"lineNumber":93,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_PERMISSION_ROLE_MANAGER \u003d \"Manager\";"},{"lineNumber":94,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_PERMISSION_ROLE_OBSERVER \u003d \"Observer\";"},{"lineNumber":95,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_PERMISSION_ROLE_TUTOR \u003d \"Tutor\";"},{"lineNumber":96,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_PERMISSION_ROLE_CUSTOM \u003d \"Custom\";"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * Represents atomic permission for instructors."},{"lineNumber":101,"author":{"gitId":"-"},"content":" */"},{"lineNumber":102,"author":{"gitId":"-"},"content":" public static class InstructorPermissions {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" public static final String CAN_MODIFY_COURSE \u003d \"canmodifycourse\";"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public static final String CAN_MODIFY_INSTRUCTOR \u003d \"canmodifyinstructor\";"},{"lineNumber":105,"author":{"gitId":"-"},"content":" public static final String CAN_MODIFY_SESSION \u003d \"canmodifysession\";"},{"lineNumber":106,"author":{"gitId":"-"},"content":" public static final String CAN_MODIFY_STUDENT \u003d \"canmodifystudent\";"},{"lineNumber":107,"author":{"gitId":"-"},"content":" public static final String CAN_VIEW_STUDENT_IN_SECTIONS \u003d \"canviewstudentinsection\";"},{"lineNumber":108,"author":{"gitId":"-"},"content":" public static final String CAN_VIEW_SESSION_IN_SECTIONS \u003d \"canviewsessioninsection\";"},{"lineNumber":109,"author":{"gitId":"-"},"content":" public static final String CAN_SUBMIT_SESSION_IN_SECTIONS \u003d \"cansubmitsessioninsection\";"},{"lineNumber":110,"author":{"gitId":"-"},"content":" public static final String CAN_MODIFY_SESSION_COMMENT_IN_SECTIONS \u003d \"canmodifysessioncommentinsection\";"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":114,"author":{"gitId":"-"},"content":" * Represents keys for HTTP requests to the API layer."},{"lineNumber":115,"author":{"gitId":"-"},"content":" */"},{"lineNumber":116,"author":{"gitId":"-"},"content":" public static class ParamsNames {"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" public static final String IS_IN_RECYCLE_BIN \u003d \"isinrecyclebin\";"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" public static final String IS_STUDENT_REJOINING \u003d \"isstudentrejoining\";"},{"lineNumber":121,"author":{"gitId":"-"},"content":" public static final String IS_INSTRUCTOR_REJOINING \u003d \"isinstructorrejoining\";"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" public static final String COURSE_ID \u003d \"courseid\";"},{"lineNumber":124,"author":{"gitId":"-"},"content":" public static final String COURSE_STATUS \u003d \"coursestatus\";"},{"lineNumber":125,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_ID \u003d \"instructorid\";"},{"lineNumber":126,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_EMAIL \u003d \"instructoremail\";"},{"lineNumber":127,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_INSTITUTION \u003d \"instructorinstitution\";"},{"lineNumber":128,"author":{"gitId":"-"},"content":" public static final String IS_CREATING_ACCOUNT \u003d \"iscreatingaccount\";"},{"lineNumber":129,"author":{"gitId":"-"},"content":" public static final String IS_INSTRUCTOR \u003d \"isinstructor\";"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" public static final String FEEDBACK_SESSION_ID \u003d \"fsid\";"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" public static final String ACCOUNT_REQUEST_ID \u003d \"id\";"},{"lineNumber":134,"author":{"gitId":"-"},"content":" public static final String ACCOUNT_REQUEST_STATUS \u003d \"status\";"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_NAME \u003d \"fsname\";"},{"lineNumber":137,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_STARTTIME \u003d \"starttime\";"},{"lineNumber":138,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_ENDTIME \u003d \"endtime\";"},{"lineNumber":139,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_MODERATED_PERSON \u003d \"moderatedperson\";"},{"lineNumber":140,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_LOG_TYPE \u003d \"fsltype\";"},{"lineNumber":141,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_LOG_STARTTIME \u003d \"fslstarttime\";"},{"lineNumber":142,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_LOG_ENDTIME \u003d \"fslendtime\";"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_QUESTION_ID \u003d \"questionid\";"},{"lineNumber":145,"author":{"gitId":"-"},"content":" public static final String SINGLE_RECIPIENT_ID_FOR_SUBMISSION \u003d \"singlerecipientidforsubmission\";"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_RESPONSE_ID \u003d \"responseid\";"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_RESPONSE_COMMENT_ID \u003d \"responsecommentid\";"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_RESULTS_GROUPBYSECTION \u003d \"frgroupbysection\";"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_RESULTS_SECTION_BY_GIVER_RECEIVER \u003d \"frsessionbygiverreceiver\";"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" public static final String PREVIEWAS \u003d \"previewas\";"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":" public static final String STUDENT_SQL_ID \u003d \"studentid\";"},{"lineNumber":158,"author":{"gitId":"-"},"content":" public static final String STUDENT_ID \u003d \"googleid\";"},{"lineNumber":159,"author":{"gitId":"-"},"content":" public static final String INVITER_ID \u003d \"invitergoogleid\";"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" public static final String REGKEY \u003d \"key\";"},{"lineNumber":162,"author":{"gitId":"-"},"content":" public static final String STUDENT_EMAIL \u003d \"studentemail\";"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" public static final String SECTION_NAME \u003d \"sectionname\";"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" public static final String TEAM_NAME \u003d \"teamname\";"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" public static final String ERROR \u003d \"error\";"},{"lineNumber":169,"author":{"gitId":"-"},"content":" public static final String USER_ID \u003d \"user\";"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" public static final String SEARCH_KEY \u003d \"searchkey\";"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" public static final String USER_CAPTCHA_RESPONSE \u003d \"captcharesponse\";"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" public static final String EMAIL_TYPE \u003d \"emailtype\";"},{"lineNumber":176,"author":{"gitId":"-"},"content":" public static final String USER_EMAIL \u003d \"useremail\";"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" public static final String ENTITY_TYPE \u003d \"entitytype\";"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" public static final String INTENT \u003d \"intent\";"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" public static final String TIMEZONE \u003d \"timezone\";"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" public static final String NOTIFY_ABOUT_DEADLINES \u003d \"notifydeadlines\";"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_STARTTIME \u003d \"starttime\";"},{"lineNumber":187,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_ENDTIME \u003d \"endtime\";"},{"lineNumber":188,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_SEVERITY \u003d \"severity\";"},{"lineNumber":189,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_MIN_SEVERITY \u003d \"minseverity\";"},{"lineNumber":190,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_TRACE \u003d \"traceid\";"},{"lineNumber":191,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_ACTION_CLASS \u003d \"actionclass\";"},{"lineNumber":192,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_EMAIL \u003d \"email\";"},{"lineNumber":193,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_EVENT \u003d \"logevent\";"},{"lineNumber":194,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_SOURCE_LOCATION_FILE \u003d \"sourcelocationfile\";"},{"lineNumber":195,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_SOURCE_LOCATION_FUNCTION \u003d \"sourcelocationfunction\";"},{"lineNumber":196,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_EXCEPTION_CLASS \u003d \"exceptionclass\";"},{"lineNumber":197,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_LATENCY \u003d \"latency\";"},{"lineNumber":198,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_STATUS \u003d \"status\";"},{"lineNumber":199,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_VERSION \u003d \"version\";"},{"lineNumber":200,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_EXTRA_FILTERS \u003d \"extrafilters\";"},{"lineNumber":201,"author":{"gitId":"-"},"content":" public static final String QUERY_LOGS_ORDER \u003d \"order\";"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" public static final String LIMIT \u003d \"limit\";"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_ID \u003d \"notificationid\";"},{"lineNumber":206,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_TARGET_USER \u003d \"usertype\";"},{"lineNumber":207,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_IS_FETCHING_ALL \u003d \"isfetchingall\";"},{"lineNumber":208,"author":{"gitId":"-"},"content":" public static final String NOTFICATION_END_TIME \u003d \"endtime\";"},{"lineNumber":209,"author":{"gitId":"-"},"content":" public static final String CONTINUE_URL \u003d \"continueurl\";"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":213,"author":{"gitId":"-"},"content":" * Represents custom header names used by the system."},{"lineNumber":214,"author":{"gitId":"-"},"content":" */"},{"lineNumber":215,"author":{"gitId":"-"},"content":" public static class HeaderNames {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" public static final String BACKDOOR_KEY \u003d \"Backdoor-Key\";"},{"lineNumber":217,"author":{"gitId":"-"},"content":" public static final String CSRF_KEY \u003d \"CSRF-Key\";"},{"lineNumber":218,"author":{"gitId":"-"},"content":" public static final String WEB_VERSION \u003d \"X-WEB-VERSION\";"},{"lineNumber":219,"author":{"gitId":"-"},"content":" public static final String CSRF_TOKEN \u003d \"X-CSRF-TOKEN\";"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":223,"author":{"gitId":"-"},"content":" * The course status respect to the instructor\u0027s point of view."},{"lineNumber":224,"author":{"gitId":"-"},"content":" * This parameter is used to get a course list for instructor."},{"lineNumber":225,"author":{"gitId":"-"},"content":" */"},{"lineNumber":226,"author":{"gitId":"-"},"content":" public static class CourseStatus {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" public static final String ACTIVE \u003d \"active\";"},{"lineNumber":228,"author":{"gitId":"-"},"content":" public static final String ARCHIVED \u003d \"archived\";"},{"lineNumber":229,"author":{"gitId":"-"},"content":" public static final String SOFT_DELETED \u003d \"softDeleted\";"},{"lineNumber":230,"author":{"gitId":"-"},"content":" }"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":233,"author":{"gitId":"-"},"content":" * Represents user types."},{"lineNumber":234,"author":{"gitId":"-"},"content":" */"},{"lineNumber":235,"author":{"gitId":"-"},"content":" public static class EntityType {"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" public static final String STUDENT \u003d \"student\";"},{"lineNumber":238,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR \u003d \"instructor\";"},{"lineNumber":239,"author":{"gitId":"-"},"content":" public static final String ADMIN \u003d \"admin\";"},{"lineNumber":240,"author":{"gitId":"-"},"content":" public static final String MAINTAINER \u003d \"maintainer\";"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":" }"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":245,"author":{"gitId":"-"},"content":" * Represents security-related configuration."},{"lineNumber":246,"author":{"gitId":"-"},"content":" */"},{"lineNumber":247,"author":{"gitId":"-"},"content":" public static class SecurityConfig {"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":" public static final String CSRF_COOKIE_NAME \u003d \"CSRF-TOKEN\";"},{"lineNumber":250,"author":{"gitId":"-"},"content":" public static final String AUTH_COOKIE_NAME \u003d \"AUTH-TOKEN\";"},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":255,"author":{"gitId":"-"},"content":" * Represents URIs of accessible pages in the front-end in past versions (V6 and before)."},{"lineNumber":256,"author":{"gitId":"-"},"content":" */"},{"lineNumber":257,"author":{"gitId":"-"},"content":" @Deprecated"},{"lineNumber":258,"author":{"gitId":"-"},"content":" public static class LegacyURIs {"},{"lineNumber":259,"author":{"gitId":"-"},"content":""},{"lineNumber":260,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_JOIN \u003d \"/page/instructorCourseJoin\";"},{"lineNumber":261,"author":{"gitId":"-"},"content":" public static final String STUDENT_COURSE_JOIN \u003d \"/page/studentCourseJoin\";"},{"lineNumber":262,"author":{"gitId":"-"},"content":" public static final String STUDENT_COURSE_JOIN_NEW \u003d \"/page/studentCourseJoinAuthentication\";"},{"lineNumber":263,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_HOME_PAGE \u003d \"/page/instructorHomePage\";"},{"lineNumber":264,"author":{"gitId":"-"},"content":" public static final String STUDENT_HOME_PAGE \u003d \"/page/studentHomePage\";"},{"lineNumber":265,"author":{"gitId":"-"},"content":" public static final String STUDENT_FEEDBACK_SUBMISSION_EDIT_PAGE \u003d \"/page/studentFeedbackSubmissionEditPage\";"},{"lineNumber":266,"author":{"gitId":"-"},"content":" public static final String STUDENT_FEEDBACK_RESULTS_PAGE \u003d \"/page/studentFeedbackResultsPage\";"},{"lineNumber":267,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_FEEDBACK_SUBMISSION_EDIT_PAGE \u003d \"/page/instructorFeedbackSubmissionEditPage\";"},{"lineNumber":268,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_FEEDBACK_RESULTS_PAGE \u003d \"/page/instructorFeedbackResultsPage\";"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":273,"author":{"gitId":"-"},"content":" * Represents URIs of accessible pages in the front-end."},{"lineNumber":274,"author":{"gitId":"-"},"content":" */"},{"lineNumber":275,"author":{"gitId":"-"},"content":" public static class WebPageURIs {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" public static final String LOGIN \u003d \"/login\";"},{"lineNumber":277,"author":{"gitId":"-"},"content":" public static final String LOGOUT \u003d \"/logout\";"},{"lineNumber":278,"author":{"gitId":"-"},"content":" private static final String URI_PREFIX \u003d \"/web\";"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" private static final String STUDENT_PAGE \u003d URI_PREFIX + \"/\" + EntityType.STUDENT;"},{"lineNumber":281,"author":{"gitId":"-"},"content":" private static final String INSTRUCTOR_PAGE \u003d URI_PREFIX + \"/\" + EntityType.INSTRUCTOR;"},{"lineNumber":282,"author":{"gitId":"-"},"content":" private static final String ADMIN_PAGE \u003d URI_PREFIX + \"/\" + EntityType.ADMIN;"},{"lineNumber":283,"author":{"gitId":"-"},"content":" private static final String MAINTAINER_PAGE \u003d URI_PREFIX + \"/\" + EntityType.MAINTAINER;"},{"lineNumber":284,"author":{"gitId":"-"},"content":" private static final String FRONT_PAGE \u003d URI_PREFIX + \"/front\";"},{"lineNumber":285,"author":{"gitId":"-"},"content":" public static final String JOIN_PAGE \u003d URI_PREFIX + \"/join\";"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" public static final String ADMIN_HOME_PAGE \u003d ADMIN_PAGE + \"/home\";"},{"lineNumber":288,"author":{"gitId":"-"},"content":" public static final String ADMIN_ACCOUNTS_PAGE \u003d ADMIN_PAGE + \"/accounts\";"},{"lineNumber":289,"author":{"gitId":"-"},"content":" public static final String ADMIN_SEARCH_PAGE \u003d ADMIN_PAGE + \"/search\";"},{"lineNumber":290,"author":{"gitId":"-"},"content":" public static final String ADMIN_SESSIONS_PAGE \u003d ADMIN_PAGE + \"/sessions\";"},{"lineNumber":291,"author":{"gitId":"-"},"content":" public static final String ADMIN_TIMEZONE_PAGE \u003d ADMIN_PAGE + \"/timezone\";"},{"lineNumber":292,"author":{"gitId":"-"},"content":" public static final String ADMIN_LOGS_PAGE \u003d ADMIN_PAGE + \"/logs\";"},{"lineNumber":293,"author":{"gitId":"-"},"content":" public static final String ADMIN_NOTIFICATIONS_PAGE \u003d ADMIN_PAGE + \"/notifications\";"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" public static final String MAINTAINER_HOME_PAGE \u003d MAINTAINER_PAGE + \"/home\";"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_HOME_PAGE \u003d INSTRUCTOR_PAGE + \"/home\";"},{"lineNumber":298,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SEARCH_PAGE \u003d INSTRUCTOR_PAGE + \"/search\";"},{"lineNumber":299,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SESSIONS_PAGE \u003d INSTRUCTOR_PAGE + \"/sessions\";"},{"lineNumber":300,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SESSION_SUBMISSION_PAGE \u003d INSTRUCTOR_PAGE + \"/sessions/submission\";"},{"lineNumber":301,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SESSION_EDIT_PAGE \u003d INSTRUCTOR_PAGE + \"/sessions/edit\";"},{"lineNumber":302,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SESSION_INDIVIDUAL_EXTENSION_PAGE \u003d INSTRUCTOR_PAGE"},{"lineNumber":303,"author":{"gitId":"-"},"content":" + \"/sessions/individual-extension\";"},{"lineNumber":304,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SESSION_RESULTS_PAGE \u003d INSTRUCTOR_PAGE + \"/sessions/result\";"},{"lineNumber":305,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SESSION_REPORT_PAGE \u003d INSTRUCTOR_PAGE + \"/sessions/report\";"},{"lineNumber":306,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSES_PAGE \u003d INSTRUCTOR_PAGE + \"/courses\";"},{"lineNumber":307,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_DETAILS_PAGE \u003d INSTRUCTOR_PAGE + \"/courses/details\";"},{"lineNumber":308,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_EDIT_PAGE \u003d INSTRUCTOR_PAGE + \"/courses/edit\";"},{"lineNumber":309,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_ENROLL_PAGE \u003d INSTRUCTOR_PAGE + \"/courses/enroll\";"},{"lineNumber":310,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_STUDENT_DETAILS_PAGE \u003d INSTRUCTOR_PAGE + \"/courses/student/details\";"},{"lineNumber":311,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_STUDENT_DETAILS_EDIT_PAGE \u003d INSTRUCTOR_PAGE + \"/courses/student/edit\";"},{"lineNumber":312,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_STUDENT_LIST_PAGE \u003d INSTRUCTOR_PAGE + \"/students\";"},{"lineNumber":313,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_STUDENT_RECORDS_PAGE \u003d INSTRUCTOR_PAGE + \"/students/records\";"},{"lineNumber":314,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_STUDENT_ACTIVITY_LOGS_PAGE \u003d INSTRUCTOR_PAGE"},{"lineNumber":315,"author":{"gitId":"-"},"content":" + \"/courses/student-activity-logs\";"},{"lineNumber":316,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_NOTIFICATIONS_PAGE \u003d INSTRUCTOR_PAGE + \"/notifications\";"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" public static final String STUDENT_HOME_PAGE \u003d STUDENT_PAGE + \"/home\";"},{"lineNumber":319,"author":{"gitId":"-"},"content":" public static final String STUDENT_COURSE_DETAILS_PAGE \u003d STUDENT_PAGE + \"/course\";"},{"lineNumber":320,"author":{"gitId":"-"},"content":" public static final String STUDENT_SESSION_SUBMISSION_PAGE \u003d STUDENT_PAGE + \"/sessions/submission\";"},{"lineNumber":321,"author":{"gitId":"-"},"content":" public static final String STUDENT_SESSION_RESULTS_PAGE \u003d STUDENT_PAGE + \"/sessions/result\";"},{"lineNumber":322,"author":{"gitId":"-"},"content":" public static final String STUDENT_NOTIFICATIONS_PAGE \u003d STUDENT_PAGE + \"/notifications\";"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":" public static final String SESSION_RESULTS_PAGE \u003d URI_PREFIX + \"/sessions/result\";"},{"lineNumber":325,"author":{"gitId":"-"},"content":" public static final String SESSION_SUBMISSION_PAGE \u003d URI_PREFIX + \"/sessions/submission\";"},{"lineNumber":326,"author":{"gitId":"-"},"content":" public static final String SESSIONS_LINK_RECOVERY_PAGE \u003d FRONT_PAGE + \"/help/session-links-recovery\";"},{"lineNumber":327,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":328,"author":{"gitId":"dishenggg"},"content":" public static final String ACCOUNT_REQUEST_PAGE \u003d FRONT_PAGE + \"/request\";"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":332,"author":{"gitId":"-"},"content":" * Represents URIs of resource endpoints."},{"lineNumber":333,"author":{"gitId":"-"},"content":" */"},{"lineNumber":334,"author":{"gitId":"-"},"content":" public static class ResourceURIs {"},{"lineNumber":335,"author":{"gitId":"-"},"content":" private static final String URI_PREFIX \u003d \"/webapi\";"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":" public static final String DATABUNDLE \u003d URI_PREFIX + \"/databundle\";"},{"lineNumber":338,"author":{"gitId":"-"},"content":" public static final String SQL_DATABUNDLE \u003d URI_PREFIX + \"/databundle/sql\";"},{"lineNumber":339,"author":{"gitId":"-"},"content":" public static final String DATABUNDLE_DOCUMENTS \u003d URI_PREFIX + \"/databundle/documents\";"},{"lineNumber":340,"author":{"gitId":"-"},"content":" public static final String DEADLINE_EXTENSION \u003d URI_PREFIX + \"/deadlineextension\";"},{"lineNumber":341,"author":{"gitId":"-"},"content":" public static final String EXCEPTION \u003d URI_PREFIX + \"/exception\";"},{"lineNumber":342,"author":{"gitId":"-"},"content":" public static final String ERROR_REPORT \u003d URI_PREFIX + \"/errorreport\";"},{"lineNumber":343,"author":{"gitId":"-"},"content":" public static final String AUTH \u003d URI_PREFIX + \"/auth\";"},{"lineNumber":344,"author":{"gitId":"-"},"content":" public static final String AUTH_REGKEY \u003d URI_PREFIX + \"/auth/regkey\";"},{"lineNumber":345,"author":{"gitId":"-"},"content":" public static final String ACCOUNT \u003d URI_PREFIX + \"/account\";"},{"lineNumber":346,"author":{"gitId":"-"},"content":" public static final String ACCOUNT_RESET \u003d URI_PREFIX + \"/account/reset\";"},{"lineNumber":347,"author":{"gitId":"-"},"content":" public static final String ACCOUNT_REQUEST \u003d URI_PREFIX + \"/account/request\";"},{"lineNumber":348,"author":{"gitId":"-"},"content":" public static final String ACCOUNT_REQUESTS \u003d URI_PREFIX + \"/account/requests\";"},{"lineNumber":349,"author":{"gitId":"-"},"content":" public static final String ACCOUNT_REQUEST_RESET \u003d ACCOUNT_REQUEST + \"/reset\";"},{"lineNumber":350,"author":{"gitId":"xenosf"},"content":" public static final String ACCOUNT_REQUEST_REJECTION \u003d ACCOUNT_REQUEST + \"/rejection\";"},{"lineNumber":351,"author":{"gitId":"-"},"content":" public static final String ACCOUNTS \u003d URI_PREFIX + \"/accounts\";"},{"lineNumber":352,"author":{"gitId":"-"},"content":" public static final String RESPONSE_COMMENT \u003d URI_PREFIX + \"/responsecomment\";"},{"lineNumber":353,"author":{"gitId":"-"},"content":" public static final String COURSE \u003d URI_PREFIX + \"/course\";"},{"lineNumber":354,"author":{"gitId":"-"},"content":" public static final String COURSE_ARCHIVE \u003d URI_PREFIX + \"/course/archive\";"},{"lineNumber":355,"author":{"gitId":"-"},"content":" public static final String BIN_COURSE \u003d URI_PREFIX + \"/bin/course\";"},{"lineNumber":356,"author":{"gitId":"-"},"content":" public static final String COURSE_SECTIONS \u003d URI_PREFIX + \"/course/sections\";"},{"lineNumber":357,"author":{"gitId":"-"},"content":" public static final String COURSES \u003d URI_PREFIX + \"/courses\";"},{"lineNumber":358,"author":{"gitId":"-"},"content":" public static final String INSTRUCTORS \u003d URI_PREFIX + \"/instructors\";"},{"lineNumber":359,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR \u003d URI_PREFIX + \"/instructor\";"},{"lineNumber":360,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_PRIVILEGE \u003d URI_PREFIX + \"/instructor/privilege\";"},{"lineNumber":361,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_KEY \u003d URI_PREFIX + \"/instructor/key\";"},{"lineNumber":362,"author":{"gitId":"-"},"content":" public static final String RESULT \u003d URI_PREFIX + \"/result\";"},{"lineNumber":363,"author":{"gitId":"-"},"content":" public static final String STUDENTS \u003d URI_PREFIX + \"/students\";"},{"lineNumber":364,"author":{"gitId":"-"},"content":" public static final String STUDENT \u003d URI_PREFIX + \"/student\";"},{"lineNumber":365,"author":{"gitId":"-"},"content":" public static final String STUDENT_KEY \u003d URI_PREFIX + \"/student/key\";"},{"lineNumber":366,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION \u003d URI_PREFIX + \"/notification\";"},{"lineNumber":367,"author":{"gitId":"-"},"content":" public static final String NOTIFICATIONS \u003d URI_PREFIX + \"/notifications\";"},{"lineNumber":368,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_READ \u003d URI_PREFIX + \"/notification/read\";"},{"lineNumber":369,"author":{"gitId":"-"},"content":" public static final String SESSIONS_ONGOING \u003d URI_PREFIX + \"/sessions/ongoing\";"},{"lineNumber":370,"author":{"gitId":"-"},"content":" public static final String SESSION \u003d URI_PREFIX + \"/session\";"},{"lineNumber":371,"author":{"gitId":"-"},"content":" public static final String SESSION_PUBLISH \u003d URI_PREFIX + \"/session/publish\";"},{"lineNumber":372,"author":{"gitId":"-"},"content":" public static final String SESSION_REMIND_SUBMISSION \u003d URI_PREFIX + \"/session/remind/submission\";"},{"lineNumber":373,"author":{"gitId":"-"},"content":" public static final String SESSION_REMIND_RESULT \u003d URI_PREFIX + \"/session/remind/result\";"},{"lineNumber":374,"author":{"gitId":"-"},"content":" public static final String SESSION_STATS \u003d URI_PREFIX + \"/session/stats\";"},{"lineNumber":375,"author":{"gitId":"-"},"content":" public static final String SESSION_SUBMITTED_GIVER_SET \u003d URI_PREFIX + \"/session/submitted/giverset\";"},{"lineNumber":376,"author":{"gitId":"-"},"content":" public static final String SESSIONS \u003d URI_PREFIX + \"/sessions\";"},{"lineNumber":377,"author":{"gitId":"-"},"content":" public static final String SEARCH_ACCOUNT_REQUESTS \u003d URI_PREFIX + \"/search/accountrequests\";"},{"lineNumber":378,"author":{"gitId":"-"},"content":" public static final String SEARCH_INSTRUCTORS \u003d URI_PREFIX + \"/search/instructors\";"},{"lineNumber":379,"author":{"gitId":"-"},"content":" public static final String SEARCH_STUDENTS \u003d URI_PREFIX + \"/search/students\";"},{"lineNumber":380,"author":{"gitId":"-"},"content":" public static final String BIN_SESSION \u003d URI_PREFIX + \"/bin/session\";"},{"lineNumber":381,"author":{"gitId":"-"},"content":" public static final String QUESTIONS \u003d URI_PREFIX + \"/questions\";"},{"lineNumber":382,"author":{"gitId":"-"},"content":" public static final String QUESTION \u003d URI_PREFIX + \"/question\";"},{"lineNumber":383,"author":{"gitId":"-"},"content":" public static final String QUESTION_RECIPIENTS \u003d URI_PREFIX + \"/question/recipients\";"},{"lineNumber":384,"author":{"gitId":"-"},"content":" public static final String RESPONSES \u003d URI_PREFIX + \"/responses\";"},{"lineNumber":385,"author":{"gitId":"-"},"content":" public static final String USAGE_STATISTICS \u003d URI_PREFIX + \"/usagestats\";"},{"lineNumber":386,"author":{"gitId":"-"},"content":" public static final String HAS_RESPONSES \u003d URI_PREFIX + \"/hasResponses\";"},{"lineNumber":387,"author":{"gitId":"-"},"content":" public static final String JOIN \u003d URI_PREFIX + \"/join\";"},{"lineNumber":388,"author":{"gitId":"-"},"content":" public static final String JOIN_REMIND \u003d URI_PREFIX + \"/join/remind\";"},{"lineNumber":389,"author":{"gitId":"-"},"content":" public static final String TIMEZONE \u003d URI_PREFIX + \"/timezone\";"},{"lineNumber":390,"author":{"gitId":"-"},"content":" public static final String SESSION_LINKS_RECOVERY \u003d URI_PREFIX + \"/sessionlinksrecovery\";"},{"lineNumber":391,"author":{"gitId":"-"},"content":" public static final String EMAIL \u003d URI_PREFIX + \"/email\";"},{"lineNumber":392,"author":{"gitId":"-"},"content":" public static final String LOGIN_EMAIL \u003d URI_PREFIX + \"/email/login\";"},{"lineNumber":393,"author":{"gitId":"-"},"content":" public static final String SESSION_LOGS \u003d URI_PREFIX + \"/logs/session\";"},{"lineNumber":394,"author":{"gitId":"-"},"content":" public static final String LOGS \u003d URI_PREFIX + \"/logs/query\";"},{"lineNumber":395,"author":{"gitId":"-"},"content":" public static final String ACTION_CLASS \u003d URI_PREFIX + \"/actionclass\";"},{"lineNumber":396,"author":{"gitId":"-"},"content":" public static final String USER_COOKIE \u003d URI_PREFIX + \"/cookie\";"},{"lineNumber":397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":398,"author":{"gitId":"-"},"content":""},{"lineNumber":399,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":400,"author":{"gitId":"-"},"content":" * Represents URIs of endpoints used by cron jobs."},{"lineNumber":401,"author":{"gitId":"-"},"content":" */"},{"lineNumber":402,"author":{"gitId":"-"},"content":" public static class CronJobURIs {"},{"lineNumber":403,"author":{"gitId":"-"},"content":" private static final String URI_PREFIX \u003d \"/auto\";"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_LOG_COMPILATION \u003d URI_PREFIX + \"/compileLogs\";"},{"lineNumber":406,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_DATASTORE_BACKUP \u003d URI_PREFIX + \"/datastoreBackup\";"},{"lineNumber":407,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_FEEDBACK_OPENING_SOON_REMINDERS \u003d"},{"lineNumber":408,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionOpeningSoonReminders\";"},{"lineNumber":409,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_FEEDBACK_OPENING_REMINDERS \u003d"},{"lineNumber":410,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionOpeningReminders\";"},{"lineNumber":411,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_FEEDBACK_CLOSED_REMINDERS \u003d"},{"lineNumber":412,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionClosedReminders\";"},{"lineNumber":413,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_FEEDBACK_CLOSING_REMINDERS \u003d"},{"lineNumber":414,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionClosingReminders\";"},{"lineNumber":415,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_FEEDBACK_PUBLISHED_REMINDERS \u003d"},{"lineNumber":416,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionPublishedReminders\";"},{"lineNumber":417,"author":{"gitId":"-"},"content":" public static final String AUTOMATED_USAGE_STATISTICS_COLLECTION \u003d"},{"lineNumber":418,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/calculateUsageStatistics\";"},{"lineNumber":419,"author":{"gitId":"dishenggg"},"content":" public static final String AUTOMATED_FEEDBACK_SESSION_LOGS_PROCESSING \u003d"},{"lineNumber":420,"author":{"gitId":"dishenggg"},"content":" URI_PREFIX + \"/updateFeedbackSessionLogs\";"},{"lineNumber":421,"author":{"gitId":"-"},"content":" }"},{"lineNumber":422,"author":{"gitId":"-"},"content":""},{"lineNumber":423,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":424,"author":{"gitId":"-"},"content":" * Configurations for task queue."},{"lineNumber":425,"author":{"gitId":"-"},"content":" */"},{"lineNumber":426,"author":{"gitId":"-"},"content":" public static class TaskQueue {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" public static final String URI_PREFIX \u003d \"/worker\";"},{"lineNumber":428,"author":{"gitId":"-"},"content":""},{"lineNumber":429,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_PUBLISHED_EMAIL_QUEUE_NAME \u003d"},{"lineNumber":430,"author":{"gitId":"-"},"content":" \"feedback-session-published-email-queue\";"},{"lineNumber":431,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_PUBLISHED_EMAIL_WORKER_URL \u003d"},{"lineNumber":432,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionPublishedEmail\";"},{"lineNumber":433,"author":{"gitId":"-"},"content":""},{"lineNumber":434,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_RESEND_PUBLISHED_EMAIL_QUEUE_NAME \u003d"},{"lineNumber":435,"author":{"gitId":"-"},"content":" \"feedback-session-resend-published-email-queue\";"},{"lineNumber":436,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_RESEND_PUBLISHED_EMAIL_WORKER_URL \u003d"},{"lineNumber":437,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionResendPublishedEmail\";"},{"lineNumber":438,"author":{"gitId":"-"},"content":""},{"lineNumber":439,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_REMIND_EMAIL_QUEUE_NAME \u003d \"feedback-session-remind-email-queue\";"},{"lineNumber":440,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_REMIND_EMAIL_WORKER_URL \u003d URI_PREFIX + \"/feedbackSessionRemindEmail\";"},{"lineNumber":441,"author":{"gitId":"-"},"content":""},{"lineNumber":442,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_REMIND_PARTICULAR_USERS_EMAIL_QUEUE_NAME \u003d"},{"lineNumber":443,"author":{"gitId":"-"},"content":" \"feedback-session-remind-particular-users-email-queue\";"},{"lineNumber":444,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_REMIND_PARTICULAR_USERS_EMAIL_WORKER_URL \u003d"},{"lineNumber":445,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionRemindParticularUsersEmail\";"},{"lineNumber":446,"author":{"gitId":"-"},"content":""},{"lineNumber":447,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_UNPUBLISHED_EMAIL_QUEUE_NAME \u003d"},{"lineNumber":448,"author":{"gitId":"-"},"content":" \"feedback-session-unpublished-email-queue\";"},{"lineNumber":449,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_UNPUBLISHED_EMAIL_WORKER_URL \u003d"},{"lineNumber":450,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/feedbackSessionUnpublishedEmail\";"},{"lineNumber":451,"author":{"gitId":"-"},"content":""},{"lineNumber":452,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_JOIN_EMAIL_QUEUE_NAME \u003d \"instructor-course-join-email-queue\";"},{"lineNumber":453,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_COURSE_JOIN_EMAIL_WORKER_URL \u003d URI_PREFIX + \"/instructorCourseJoinEmail\";"},{"lineNumber":454,"author":{"gitId":"-"},"content":""},{"lineNumber":455,"author":{"gitId":"-"},"content":" public static final String SEND_EMAIL_QUEUE_NAME \u003d \"send-email-queue\";"},{"lineNumber":456,"author":{"gitId":"-"},"content":" public static final String SEND_EMAIL_WORKER_URL \u003d URI_PREFIX + \"/sendEmail\";"},{"lineNumber":457,"author":{"gitId":"-"},"content":""},{"lineNumber":458,"author":{"gitId":"-"},"content":" public static final String STUDENT_COURSE_JOIN_EMAIL_QUEUE_NAME \u003d \"student-course-join-email-queue\";"},{"lineNumber":459,"author":{"gitId":"-"},"content":" public static final String STUDENT_COURSE_JOIN_EMAIL_WORKER_URL \u003d URI_PREFIX + \"/studentCourseJoinEmail\";"},{"lineNumber":460,"author":{"gitId":"-"},"content":""},{"lineNumber":461,"author":{"gitId":"-"},"content":" public static final String SEARCH_INDEXING_QUEUE_NAME \u003d \"search-indexing-queue\";"},{"lineNumber":462,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SEARCH_INDEXING_WORKER_URL \u003d URI_PREFIX + \"/instructorSearchIndexing\";"},{"lineNumber":463,"author":{"gitId":"-"},"content":" public static final String ACCOUNT_REQUEST_SEARCH_INDEXING_WORKER_URL \u003d"},{"lineNumber":464,"author":{"gitId":"-"},"content":" URI_PREFIX + \"/accountRequestSearchIndexing\";"},{"lineNumber":465,"author":{"gitId":"-"},"content":" public static final String STUDENT_SEARCH_INDEXING_WORKER_URL \u003d URI_PREFIX + \"/studentSearchIndexing\";"},{"lineNumber":466,"author":{"gitId":"-"},"content":" }"},{"lineNumber":467,"author":{"gitId":"-"},"content":""},{"lineNumber":468,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":5,"dishenggg":9,"-":454}},{"path":"src/main/java/teammates/common/util/EmailType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":4,"author":{"gitId":"-"},"content":" * The type object that defines an email based on its purpose."},{"lineNumber":5,"author":{"gitId":"-"},"content":" */"},{"lineNumber":6,"author":{"gitId":"-"},"content":"public enum EmailType {"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":" // CHECKSTYLE.OFF:JavadocVariable enum names are self-documenting"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":" DEADLINE_EXTENSION_GRANTED(\"TEAMMATES: Deadline extension granted [Course: %s][Feedback Session: %s]\"),"},{"lineNumber":11,"author":{"gitId":"-"},"content":" DEADLINE_EXTENSION_UPDATED(\"TEAMMATES: Deadline extension updated [Course: %s][Feedback Session: %s]\"),"},{"lineNumber":12,"author":{"gitId":"-"},"content":" DEADLINE_EXTENSION_REVOKED(\"TEAMMATES: Deadline extension revoked [Course: %s][Feedback Session: %s]\"),"},{"lineNumber":13,"author":{"gitId":"-"},"content":" FEEDBACK_OPENING_SOON(\"TEAMMATES: Feedback session opening soon [Course: %s][Feedback Session: %s]\"),"},{"lineNumber":14,"author":{"gitId":"-"},"content":" FEEDBACK_OPENING(\"TEAMMATES: Feedback session now open [Course: %s][Feedback Session: %s]\"),"},{"lineNumber":15,"author":{"gitId":"-"},"content":" FEEDBACK_SESSION_REMINDER(\"TEAMMATES: Feedback session reminder [Course: %s][Feedback Session: %s]\"),"},{"lineNumber":16,"author":{"gitId":"-"},"content":" FEEDBACK_CLOSING(\"TEAMMATES: Feedback session closing soon [Course: %s][Feedback Session: %s]\"),"},{"lineNumber":17,"author":{"gitId":"-"},"content":" FEEDBACK_CLOSED(\"TEAMMATES: Feedback session closed [Course: %s][Feedback Session: %s]\"),"},{"lineNumber":18,"author":{"gitId":"-"},"content":" FEEDBACK_PUBLISHED(\"TEAMMATES: Feedback session results published [Course: %s][Feedback Session: %s]\"),"},{"lineNumber":19,"author":{"gitId":"-"},"content":" FEEDBACK_UNPUBLISHED(\"TEAMMATES: Feedback session results unpublished [Course: %s][Feedback Session: %s]\"),"},{"lineNumber":20,"author":{"gitId":"-"},"content":" STUDENT_EMAIL_CHANGED(\"TEAMMATES: Summary of course [%s][Course ID: %s]\"),"},{"lineNumber":21,"author":{"gitId":"-"},"content":" STUDENT_COURSE_LINKS_REGENERATED(\"TEAMMATES: Your updated links for course [%s][Course ID: %s]\"),"},{"lineNumber":22,"author":{"gitId":"-"},"content":" INSTRUCTOR_COURSE_LINKS_REGENERATED(\"TEAMMATES: Your updated links for course [%s][Course ID: %s]\"),"},{"lineNumber":23,"author":{"gitId":"-"},"content":" NEW_INSTRUCTOR_ACCOUNT(\"TEAMMATES: Welcome to TEAMMATES! %s\"),"},{"lineNumber":24,"author":{"gitId":"-"},"content":" STUDENT_COURSE_JOIN(\"TEAMMATES: Invitation to join course [%s][Course ID: %s]\"),"},{"lineNumber":25,"author":{"gitId":"-"},"content":" STUDENT_COURSE_REJOIN_AFTER_GOOGLE_ID_RESET(\"TEAMMATES: Your account has been reset for course [%s][Course ID: %s]\"),"},{"lineNumber":26,"author":{"gitId":"-"},"content":" NEW_ACCOUNT_REQUEST_ADMIN_ALERT(\"TEAMMATES (Action Needed): New Account Request Received\"),"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" NEW_ACCOUNT_REQUEST_ACKNOWLEDGEMENT(\"TEAMMATES: Acknowledgement of Instructor Account Request\"),"},{"lineNumber":28,"author":{"gitId":"-"},"content":" ACCOUNT_REQUEST_REJECTION(\"TEAMMATES: %s\"),"},{"lineNumber":29,"author":{"gitId":"-"},"content":" INSTRUCTOR_COURSE_JOIN(\"TEAMMATES: Invitation to join course as an instructor [%s][Course ID: %s]\"),"},{"lineNumber":30,"author":{"gitId":"-"},"content":" INSTRUCTOR_COURSE_REJOIN_AFTER_GOOGLE_ID_RESET(\"TEAMMATES: Your account has been reset for course [%s][Course ID: %s]\"),"},{"lineNumber":31,"author":{"gitId":"-"},"content":" USER_COURSE_REGISTER(\"TEAMMATES: Registered for Course [%s][Course ID: %s]\"),"},{"lineNumber":32,"author":{"gitId":"-"},"content":" SEVERE_LOGS_COMPILATION(\"TEAMMATES (%s): Severe Error Logs Compilation\"),"},{"lineNumber":33,"author":{"gitId":"-"},"content":" SESSION_LINKS_RECOVERY(\"TEAMMATES: Access links for recent feedback sessions\"),"},{"lineNumber":34,"author":{"gitId":"-"},"content":" LOGIN(\"TEAMMATES: Log in to TEAMMATES\");"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" private final String subject;"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" EmailType(String subject) {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" this.subject \u003d subject;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Gets the subject heading of this email type."},{"lineNumber":44,"author":{"gitId":"-"},"content":" */"},{"lineNumber":45,"author":{"gitId":"-"},"content":" public String getSubject() {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" return subject;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" }"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":1,"-":48}},{"path":"src/main/java/teammates/common/util/FieldValidator.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Duration;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Collection;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.HashSet;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.LinkedList;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.function.BiPredicate;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationStyle;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationTargetUser;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * Used to handle the data validation aspect e.g. validate emails, names, etc."},{"lineNumber":25,"author":{"gitId":"-"},"content":" */"},{"lineNumber":26,"author":{"gitId":"-"},"content":"public final class FieldValidator {"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" /////////////////"},{"lineNumber":29,"author":{"gitId":"-"},"content":" // FIELD TYPES //"},{"lineNumber":30,"author":{"gitId":"-"},"content":" /////////////////"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" // name-related"},{"lineNumber":33,"author":{"gitId":"-"},"content":" public static final String PERSON_NAME_FIELD_NAME \u003d \"person name\";"},{"lineNumber":34,"author":{"gitId":"-"},"content":" public static final int PERSON_NAME_MAX_LENGTH \u003d 100;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" public static final String COURSE_NAME_FIELD_NAME \u003d \"course name\";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" public static final int COURSE_NAME_MAX_LENGTH \u003d 80;"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" public static final String FEEDBACK_SESSION_NAME_FIELD_NAME \u003d \"feedback session name\";"},{"lineNumber":40,"author":{"gitId":"-"},"content":" public static final int FEEDBACK_SESSION_NAME_MAX_LENGTH \u003d 64;"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" public static final String TEAM_NAME_FIELD_NAME \u003d \"team name\";"},{"lineNumber":43,"author":{"gitId":"-"},"content":" public static final int TEAM_NAME_MAX_LENGTH \u003d 60;"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" public static final String SECTION_NAME_FIELD_NAME \u003d \"section name\";"},{"lineNumber":46,"author":{"gitId":"-"},"content":" public static final int SECTION_NAME_MAX_LENGTH \u003d 60;"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" public static final String INSTITUTE_NAME_FIELD_NAME \u003d \"institute name\";"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" public static final int INSTITUTE_NAME_MAX_LENGTH \u003d 128;"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" // email-related"},{"lineNumber":52,"author":{"gitId":"-"},"content":" public static final String EMAIL_FIELD_NAME \u003d \"email\";"},{"lineNumber":53,"author":{"gitId":"-"},"content":" public static final int EMAIL_MAX_LENGTH \u003d 254;"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" // notification-related"},{"lineNumber":56,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_TITLE_FIELD_NAME \u003d \"notification title\";"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_MESSAGE_FIELD_NAME \u003d \"notification message\";"},{"lineNumber":58,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_NAME \u003d \"notification\";"},{"lineNumber":59,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_VISIBLE_TIME_FIELD_NAME \u003d \"time when the notification will be visible\";"},{"lineNumber":60,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_EXPIRY_TIME_FIELD_NAME \u003d \"time when the notification will expire\";"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_STYLE_FIELD_NAME \u003d \"notification style\";"},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_TARGET_USER_FIELD_NAME \u003d \"notification target user\";"},{"lineNumber":63,"author":{"gitId":"-"},"content":" public static final int NOTIFICATION_TITLE_MAX_LENGTH \u003d 80;"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static final List\u003cString\u003e NOTIFICATION_STYLE_ACCEPTED_VALUES \u003d"},{"lineNumber":66,"author":{"gitId":"-"},"content":" Collections.unmodifiableList("},{"lineNumber":67,"author":{"gitId":"-"},"content":" Arrays.stream("},{"lineNumber":68,"author":{"gitId":"-"},"content":" NotificationStyle.values())"},{"lineNumber":69,"author":{"gitId":"-"},"content":" .map(NotificationStyle::toString)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .collect(Collectors.toList())"},{"lineNumber":71,"author":{"gitId":"-"},"content":" );"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" public static final List\u003cString\u003e NOTIFICATION_TARGET_USER_ACCEPTED_VALUES \u003d"},{"lineNumber":74,"author":{"gitId":"-"},"content":" Collections.unmodifiableList("},{"lineNumber":75,"author":{"gitId":"-"},"content":" Arrays.stream("},{"lineNumber":76,"author":{"gitId":"-"},"content":" NotificationTargetUser.values())"},{"lineNumber":77,"author":{"gitId":"-"},"content":" .map(NotificationTargetUser::toString)"},{"lineNumber":78,"author":{"gitId":"-"},"content":" .collect(Collectors.toList())"},{"lineNumber":79,"author":{"gitId":"-"},"content":" );"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" // others"},{"lineNumber":82,"author":{"gitId":"-"},"content":" public static final String STUDENT_ROLE_COMMENTS_FIELD_NAME \u003d \"comments about a student enrolled in a course\";"},{"lineNumber":83,"author":{"gitId":"-"},"content":" public static final int STUDENT_ROLE_COMMENTS_MAX_LENGTH \u003d 500;"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":86,"author":{"gitId":"-"},"content":" * \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"lineNumber":87,"author":{"gitId":"-"},"content":" * Field: Course ID"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Unique: system-wide, not just among the course of that instructor."},{"lineNumber":89,"author":{"gitId":"-"},"content":" * Technically, we can get rid of CourseID field and enforce users to use"},{"lineNumber":90,"author":{"gitId":"-"},"content":" * CourseName as a unique ID. In that case, we have to enforce CourseName"},{"lineNumber":91,"author":{"gitId":"-"},"content":" * must be unique across the full system. However, users expect names to be"},{"lineNumber":92,"author":{"gitId":"-"},"content":" * non-unique and more tolerant of enforcing uniqueness on an ID. Whenever"},{"lineNumber":93,"author":{"gitId":"-"},"content":" * possible, must be displayed in the same case as user entered. This is"},{"lineNumber":94,"author":{"gitId":"-"},"content":" * because the case of the letters can mean something. Furthermore,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" * converting to same case can reduce readability."},{"lineNumber":96,"author":{"gitId":"-"},"content":" *"},{"lineNumber":97,"author":{"gitId":"-"},"content":" * Course ID is necessary because the course name is not unique enough to"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * distinguish between courses because the same course can be offered"},{"lineNumber":99,"author":{"gitId":"-"},"content":" * multiple times and courses can be shared between instructors and many"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * students. Allowing same Course ID among different instructors could be"},{"lineNumber":101,"author":{"gitId":"-"},"content":" * problematic if we allow multiple instructors for a single course."},{"lineNumber":102,"author":{"gitId":"-"},"content":" * TODO: make case insensitive"},{"lineNumber":103,"author":{"gitId":"-"},"content":" */"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public static final String COURSE_ID_FIELD_NAME \u003d \"course ID\";"},{"lineNumber":105,"author":{"gitId":"-"},"content":" public static final int COURSE_ID_MAX_LENGTH \u003d 64;"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" public static final String SESSION_NAME \u003d \"feedback session\";"},{"lineNumber":108,"author":{"gitId":"-"},"content":" public static final String SESSION_START_TIME_FIELD_NAME \u003d \"start time\";"},{"lineNumber":109,"author":{"gitId":"-"},"content":" public static final String SESSION_END_TIME_FIELD_NAME \u003d \"end time\";"},{"lineNumber":110,"author":{"gitId":"-"},"content":" public static final String TIME_ZONE_FIELD_NAME \u003d \"time zone\";"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" public static final String GOOGLE_ID_FIELD_NAME \u003d \"Google ID\";"},{"lineNumber":113,"author":{"gitId":"-"},"content":" public static final int GOOGLE_ID_MAX_LENGTH \u003d 254;"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" public static final String ROLE_FIELD_NAME \u003d \"access-level\";"},{"lineNumber":116,"author":{"gitId":"-"},"content":" public static final List\u003cString\u003e ROLE_ACCEPTED_VALUES \u003d"},{"lineNumber":117,"author":{"gitId":"-"},"content":" Collections.unmodifiableList("},{"lineNumber":118,"author":{"gitId":"-"},"content":" Arrays.asList(Const.InstructorPermissionRoleNames.INSTRUCTOR_PERMISSION_ROLE_COOWNER,"},{"lineNumber":119,"author":{"gitId":"-"},"content":" Const.InstructorPermissionRoleNames.INSTRUCTOR_PERMISSION_ROLE_MANAGER,"},{"lineNumber":120,"author":{"gitId":"-"},"content":" Const.InstructorPermissionRoleNames.INSTRUCTOR_PERMISSION_ROLE_OBSERVER,"},{"lineNumber":121,"author":{"gitId":"-"},"content":" Const.InstructorPermissionRoleNames.INSTRUCTOR_PERMISSION_ROLE_TUTOR,"},{"lineNumber":122,"author":{"gitId":"-"},"content":" Const.InstructorPermissionRoleNames.INSTRUCTOR_PERMISSION_ROLE_CUSTOM));"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" public static final String GIVER_TYPE_NAME \u003d \"feedback giver\";"},{"lineNumber":125,"author":{"gitId":"-"},"content":" public static final String RECIPIENT_TYPE_NAME \u003d \"feedback recipient\";"},{"lineNumber":126,"author":{"gitId":"-"},"content":" public static final String VIEWER_TYPE_NAME \u003d \"feedback viewer\";"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" public static final String EXTENDED_DEADLINES_FIELD_NAME \u003d \"extended deadlines\";"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" ////////////////////"},{"lineNumber":131,"author":{"gitId":"-"},"content":" // ERROR MESSAGES //"},{"lineNumber":132,"author":{"gitId":"-"},"content":" ////////////////////"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" public static final String REASON_TOO_LONG \u003d \"is too long\";"},{"lineNumber":135,"author":{"gitId":"-"},"content":" public static final String REASON_INCORRECT_FORMAT \u003d \"is not in the correct format\";"},{"lineNumber":136,"author":{"gitId":"-"},"content":" public static final String REASON_CONTAINS_INVALID_CHAR \u003d \"contains invalid characters\";"},{"lineNumber":137,"author":{"gitId":"-"},"content":" public static final String REASON_START_WITH_NON_ALPHANUMERIC_CHAR \u003d \"starts with a non-alphanumeric character\";"},{"lineNumber":138,"author":{"gitId":"-"},"content":" public static final String REASON_UNAVAILABLE_AS_CHOICE \u003d \"is not available as a choice\";"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" // error message components"},{"lineNumber":141,"author":{"gitId":"-"},"content":" public static final String EMPTY_STRING_ERROR_INFO \u003d"},{"lineNumber":142,"author":{"gitId":"-"},"content":" \"The field \u0027${fieldName}\u0027 is empty.\";"},{"lineNumber":143,"author":{"gitId":"-"},"content":" public static final String ERROR_INFO \u003d"},{"lineNumber":144,"author":{"gitId":"-"},"content":" \"\\\"${userInput}\\\" is not acceptable to TEAMMATES as a/an ${fieldName} because it ${reason}.\";"},{"lineNumber":145,"author":{"gitId":"-"},"content":" public static final String HINT_FOR_CORRECT_FORMAT_FOR_SIZE_CAPPED_POSSIBLY_EMPTY \u003d"},{"lineNumber":146,"author":{"gitId":"-"},"content":" \"The value of a/an ${fieldName} should be no longer than ${maxLength} characters.\";"},{"lineNumber":147,"author":{"gitId":"-"},"content":" public static final String HINT_FOR_CORRECT_FORMAT_FOR_SIZE_CAPPED_NON_EMPTY \u003d"},{"lineNumber":148,"author":{"gitId":"-"},"content":" HINT_FOR_CORRECT_FORMAT_FOR_SIZE_CAPPED_POSSIBLY_EMPTY + \" It should not be empty.\";"},{"lineNumber":149,"author":{"gitId":"-"},"content":" public static final String HINT_FOR_CORRECT_FORMAT_FOR_SIZE_CAPPED_NON_EMPTY_NO_SPACES \u003d"},{"lineNumber":150,"author":{"gitId":"-"},"content":" \"It cannot be longer than ${maxLength} characters, cannot be empty and cannot contain spaces.\";"},{"lineNumber":151,"author":{"gitId":"-"},"content":" public static final String HINT_FOR_CORRECT_FORMAT_FOR_INVALID_NAME \u003d"},{"lineNumber":152,"author":{"gitId":"-"},"content":" \"A/An ${fieldName} must start with an alphanumeric character, and cannot contain any vertical bar \""},{"lineNumber":153,"author":{"gitId":"-"},"content":" + \"(|) or percent sign (%).\";"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" // generic (i.e., not specific to any field) error messages"},{"lineNumber":156,"author":{"gitId":"-"},"content":" public static final String SIZE_CAPPED_NON_EMPTY_STRING_ERROR_MESSAGE \u003d"},{"lineNumber":157,"author":{"gitId":"-"},"content":" ERROR_INFO + \" \" + HINT_FOR_CORRECT_FORMAT_FOR_SIZE_CAPPED_NON_EMPTY;"},{"lineNumber":158,"author":{"gitId":"-"},"content":" public static final String SIZE_CAPPED_NON_EMPTY_STRING_ERROR_MESSAGE_EMPTY_STRING \u003d"},{"lineNumber":159,"author":{"gitId":"-"},"content":" EMPTY_STRING_ERROR_INFO + \" \" + HINT_FOR_CORRECT_FORMAT_FOR_SIZE_CAPPED_NON_EMPTY;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" public static final String SIZE_CAPPED_POSSIBLY_EMPTY_STRING_ERROR_MESSAGE \u003d"},{"lineNumber":161,"author":{"gitId":"-"},"content":" ERROR_INFO + \" \" + HINT_FOR_CORRECT_FORMAT_FOR_SIZE_CAPPED_POSSIBLY_EMPTY;"},{"lineNumber":162,"author":{"gitId":"-"},"content":" public static final String SIZE_CAPPED_NON_EMPTY_STRING_ERROR_MESSAGE_EMPTY_STRING_FOR_SESSION_NAME \u003d"},{"lineNumber":163,"author":{"gitId":"-"},"content":" \"The field \u0027${fieldName}\u0027 should not be empty.\" + \" \""},{"lineNumber":164,"author":{"gitId":"-"},"content":" + \"The value of \u0027${fieldName}\u0027 field should be no longer than ${maxLength} characters.\";"},{"lineNumber":165,"author":{"gitId":"-"},"content":" public static final String INVALID_NAME_ERROR_MESSAGE \u003d"},{"lineNumber":166,"author":{"gitId":"-"},"content":" ERROR_INFO + \" \" + HINT_FOR_CORRECT_FORMAT_FOR_INVALID_NAME;"},{"lineNumber":167,"author":{"gitId":"-"},"content":" public static final String TEAM_NAME_IS_VALID_EMAIL_ERROR_MESSAGE \u003d"},{"lineNumber":168,"author":{"gitId":"-"},"content":" \"The field \" + TEAM_NAME_FIELD_NAME + \" is not acceptable to TEAMMATES as the suggested value for \""},{"lineNumber":169,"author":{"gitId":"-"},"content":" + TEAM_NAME_FIELD_NAME + \" can be mis-interpreted as an email.\";"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" public static final String WHITESPACE_ONLY_OR_EXTRA_WHITESPACE_ERROR_MESSAGE \u003d"},{"lineNumber":172,"author":{"gitId":"-"},"content":" \"The provided ${fieldName} is not acceptable to TEAMMATES as it contains only whitespace \""},{"lineNumber":173,"author":{"gitId":"-"},"content":" + \"or contains extra spaces at the beginning or at the end of the text.\";"},{"lineNumber":174,"author":{"gitId":"-"},"content":" public static final String NON_HTML_FIELD_ERROR_MESSAGE \u003d"},{"lineNumber":175,"author":{"gitId":"-"},"content":" \"The provided ${fieldName} is not acceptable to TEAMMATES \""},{"lineNumber":176,"author":{"gitId":"-"},"content":" + \"as it cannot contain the following special html characters\""},{"lineNumber":177,"author":{"gitId":"-"},"content":" + \" in brackets: (\u003c \u003e \\\" / \u0027 \u0026)\";"},{"lineNumber":178,"author":{"gitId":"-"},"content":" public static final String NON_NULL_FIELD_ERROR_MESSAGE \u003d"},{"lineNumber":179,"author":{"gitId":"-"},"content":" \"The provided ${fieldName} is not acceptable to TEAMMATES as it cannot be empty.\";"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" // field-specific error messages"},{"lineNumber":182,"author":{"gitId":"-"},"content":" public static final String HINT_FOR_CORRECT_EMAIL \u003d"},{"lineNumber":183,"author":{"gitId":"-"},"content":" \"An email address contains some text followed by one \u0027@\u0027 sign followed by some more text, and should end \""},{"lineNumber":184,"author":{"gitId":"-"},"content":" + \"with a top level domain address like .com. \""},{"lineNumber":185,"author":{"gitId":"-"},"content":" + HINT_FOR_CORRECT_FORMAT_FOR_SIZE_CAPPED_NON_EMPTY_NO_SPACES;"},{"lineNumber":186,"author":{"gitId":"-"},"content":" public static final String EMAIL_ERROR_MESSAGE \u003d"},{"lineNumber":187,"author":{"gitId":"-"},"content":" ERROR_INFO + \" \" + HINT_FOR_CORRECT_EMAIL;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" public static final String EMAIL_ERROR_MESSAGE_EMPTY_STRING \u003d"},{"lineNumber":189,"author":{"gitId":"-"},"content":" EMPTY_STRING_ERROR_INFO + \" \" + HINT_FOR_CORRECT_EMAIL;"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" public static final String HINT_FOR_CORRECT_COURSE_ID \u003d"},{"lineNumber":192,"author":{"gitId":"-"},"content":" \"A course ID can contain letters, numbers, fullstops, hyphens, underscores, and dollar signs. \""},{"lineNumber":193,"author":{"gitId":"-"},"content":" + HINT_FOR_CORRECT_FORMAT_FOR_SIZE_CAPPED_NON_EMPTY_NO_SPACES;"},{"lineNumber":194,"author":{"gitId":"-"},"content":" public static final String COURSE_ID_ERROR_MESSAGE \u003d"},{"lineNumber":195,"author":{"gitId":"-"},"content":" ERROR_INFO + \" \" + HINT_FOR_CORRECT_COURSE_ID;"},{"lineNumber":196,"author":{"gitId":"-"},"content":" public static final String COURSE_ID_ERROR_MESSAGE_EMPTY_STRING \u003d"},{"lineNumber":197,"author":{"gitId":"-"},"content":" EMPTY_STRING_ERROR_INFO + \" \" + HINT_FOR_CORRECT_COURSE_ID;"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" public static final String HINT_FOR_CORRECT_FORMAT_OF_GOOGLE_ID \u003d"},{"lineNumber":200,"author":{"gitId":"-"},"content":" \"A Google ID must be a valid id already registered with Google. \""},{"lineNumber":201,"author":{"gitId":"-"},"content":" + HINT_FOR_CORRECT_FORMAT_FOR_SIZE_CAPPED_NON_EMPTY_NO_SPACES;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" public static final String GOOGLE_ID_ERROR_MESSAGE \u003d"},{"lineNumber":203,"author":{"gitId":"-"},"content":" ERROR_INFO + \" \" + HINT_FOR_CORRECT_FORMAT_OF_GOOGLE_ID;"},{"lineNumber":204,"author":{"gitId":"-"},"content":" public static final String GOOGLE_ID_ERROR_MESSAGE_EMPTY_STRING \u003d"},{"lineNumber":205,"author":{"gitId":"-"},"content":" EMPTY_STRING_ERROR_INFO + \" \" + HINT_FOR_CORRECT_FORMAT_OF_GOOGLE_ID;"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" public static final String HINT_FOR_CORRECT_TIME_ZONE \u003d"},{"lineNumber":208,"author":{"gitId":"-"},"content":" \"The value must be one of the values from the time zone dropdown selector.\";"},{"lineNumber":209,"author":{"gitId":"-"},"content":" public static final String TIME_ZONE_ERROR_MESSAGE \u003d"},{"lineNumber":210,"author":{"gitId":"-"},"content":" ERROR_INFO + \" \" + HINT_FOR_CORRECT_TIME_ZONE;"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" public static final String HINT_FOR_CORRECT_GRACE_PERIOD \u003d"},{"lineNumber":213,"author":{"gitId":"-"},"content":" \"The value must be one of the options in the grace period dropdown selector.\";"},{"lineNumber":214,"author":{"gitId":"-"},"content":" public static final String GRACE_PERIOD_NEGATIVE_ERROR_MESSAGE \u003d \"Grace period should not be negative.\" + \" \""},{"lineNumber":215,"author":{"gitId":"-"},"content":" + HINT_FOR_CORRECT_GRACE_PERIOD;"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" public static final String ROLE_ERROR_MESSAGE \u003d"},{"lineNumber":218,"author":{"gitId":"-"},"content":" \"\\\"%s\\\" is not an accepted \" + ROLE_FIELD_NAME + \" to TEAMMATES. \";"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_STYLE_ERROR_MESSAGE \u003d"},{"lineNumber":221,"author":{"gitId":"-"},"content":" \"\\\"%s\\\" is not an accepted \" + NOTIFICATION_STYLE_FIELD_NAME + \" to TEAMMATES. \";"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":" public static final String NOTIFICATION_TARGET_USER_ERROR_MESSAGE \u003d"},{"lineNumber":224,"author":{"gitId":"-"},"content":" \"\\\"%s\\\" is not an accepted \" + NOTIFICATION_TARGET_USER_FIELD_NAME + \" to TEAMMATES. \";"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" public static final String SESSION_VISIBLE_TIME_FIELD_NAME \u003d \"time when the session will be visible\";"},{"lineNumber":227,"author":{"gitId":"-"},"content":" public static final String RESULTS_VISIBLE_TIME_FIELD_NAME \u003d \"time when the results will be visible\";"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" public static final String TIME_BEFORE_ERROR_MESSAGE \u003d"},{"lineNumber":230,"author":{"gitId":"-"},"content":" \"The %s for this %s cannot be earlier than the %s.\";"},{"lineNumber":231,"author":{"gitId":"-"},"content":" public static final String TIME_BEFORE_OR_EQUAL_ERROR_MESSAGE \u003d"},{"lineNumber":232,"author":{"gitId":"-"},"content":" \"The %s for this %s cannot be earlier than or at the same time as the %s.\";"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" public static final String PARTICIPANT_TYPE_ERROR_MESSAGE \u003d \"%s is not a valid %s.\";"},{"lineNumber":235,"author":{"gitId":"-"},"content":" public static final String PARTICIPANT_TYPE_TEAM_ERROR_MESSAGE \u003d"},{"lineNumber":236,"author":{"gitId":"-"},"content":" \"The feedback recipients cannot be \\\"%s\\\" when the feedback giver is \\\"%s\\\". \""},{"lineNumber":237,"author":{"gitId":"-"},"content":" + \"Did you mean to use \\\"Self\\\" instead?\";"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" public static final String NOT_EXACT_HOUR_ERROR_MESSAGE \u003d \"The %s for this feedback session must be at exact hour mark.\";"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" ///////////////////////////////////////"},{"lineNumber":242,"author":{"gitId":"-"},"content":" // VALIDATION REGEX FOR INTERNAL USE //"},{"lineNumber":243,"author":{"gitId":"-"},"content":" ///////////////////////////////////////"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":246,"author":{"gitId":"-"},"content":" * Must start with alphanumeric character, cannot contain vertical bar(|) or percent sign(%)."},{"lineNumber":247,"author":{"gitId":"-"},"content":" */"},{"lineNumber":248,"author":{"gitId":"-"},"content":" public static final String REGEX_NAME \u003d \"^[\\\\p{IsL}\\\\p{IsN}][^|%]*+$\";"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":251,"author":{"gitId":"-"},"content":" * Allows English alphabet, numbers, underscore, dot, dollar sign and hyphen."},{"lineNumber":252,"author":{"gitId":"-"},"content":" */"},{"lineNumber":253,"author":{"gitId":"-"},"content":" public static final String REGEX_COURSE_ID \u003d \"[a-zA-Z0-9_.$-]+\";"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":256,"author":{"gitId":"-"},"content":" * Local part:"},{"lineNumber":257,"author":{"gitId":"-"},"content":" * \u003cli\u003eCan only start with letters, digits, hyphen or plus sign;"},{"lineNumber":258,"author":{"gitId":"-"},"content":" * \u003cli\u003eSpecial characters allowed are ! # $ % \u0026 \u0027 * + - / \u003d ? ^ _ ` { } ~"},{"lineNumber":259,"author":{"gitId":"-"},"content":" * \u003cli\u003eDot can only appear between any 2 characters and cannot appear continuously\u003cbr\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":" * Domain part:"},{"lineNumber":261,"author":{"gitId":"-"},"content":" * \u003cli\u003eOnly allow letters, digits, hyphen and dot; Must end with letters; Must have TLD"},{"lineNumber":262,"author":{"gitId":"-"},"content":" */"},{"lineNumber":263,"author":{"gitId":"-"},"content":" public static final String REGEX_EMAIL \u003d \"^[\\\\w+-][\\\\w+!#$%\u0026\u0027*/\u003d?^_`{}~-]*+(\\\\.[\\\\w+!#$%\u0026\u0027*/\u003d?^_`{}~-]+)*+\""},{"lineNumber":264,"author":{"gitId":"-"},"content":" + \"@([A-Za-z0-9-]+\\\\.)+[A-Za-z]+$\";"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":267,"author":{"gitId":"-"},"content":" * Allows English alphabet, numbers, underscore, dot and hyphen."},{"lineNumber":268,"author":{"gitId":"-"},"content":" */"},{"lineNumber":269,"author":{"gitId":"-"},"content":" public static final String REGEX_GOOGLE_ID_NON_EMAIL \u003d \"[a-zA-Z0-9_.-]+\";"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" private FieldValidator() {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" // utility class"},{"lineNumber":273,"author":{"gitId":"-"},"content":" // Intentional private constructor to prevent instantiation."},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" /////////////////////////////////////////"},{"lineNumber":277,"author":{"gitId":"-"},"content":" // VALIDATION METHODS FOR EXTERNAL USE //"},{"lineNumber":278,"author":{"gitId":"-"},"content":" /////////////////////////////////////////"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":281,"author":{"gitId":"-"},"content":" * Checks if {@code email} is not null, not empty, not longer than {@code EMAIL_MAX_LENGTH}, and is a"},{"lineNumber":282,"author":{"gitId":"-"},"content":" * valid email address according to {@code REGEX_EMAIL}."},{"lineNumber":283,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code email} is not acceptable."},{"lineNumber":284,"author":{"gitId":"-"},"content":" * Returns an empty string if the {@code email} is acceptable."},{"lineNumber":285,"author":{"gitId":"-"},"content":" */"},{"lineNumber":286,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForEmail(String email) {"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":289,"author":{"gitId":"-"},"content":""},{"lineNumber":290,"author":{"gitId":"-"},"content":" if (email.isEmpty()) {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" return getPopulatedEmptyStringErrorMessage(EMAIL_ERROR_MESSAGE_EMPTY_STRING, EMAIL_FIELD_NAME,"},{"lineNumber":292,"author":{"gitId":"-"},"content":" EMAIL_MAX_LENGTH);"},{"lineNumber":293,"author":{"gitId":"-"},"content":" } else if (isUntrimmed(email)) {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" return WHITESPACE_ONLY_OR_EXTRA_WHITESPACE_ERROR_MESSAGE.replace(\"${fieldName}\", EMAIL_FIELD_NAME);"},{"lineNumber":295,"author":{"gitId":"-"},"content":" } else if (email.length() \u003e EMAIL_MAX_LENGTH) {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(EMAIL_ERROR_MESSAGE, email, EMAIL_FIELD_NAME,"},{"lineNumber":297,"author":{"gitId":"-"},"content":" REASON_TOO_LONG, EMAIL_MAX_LENGTH);"},{"lineNumber":298,"author":{"gitId":"-"},"content":" } else if (!isValidEmailAddress(email)) {"},{"lineNumber":299,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(EMAIL_ERROR_MESSAGE, email, EMAIL_FIELD_NAME,"},{"lineNumber":300,"author":{"gitId":"-"},"content":" REASON_INCORRECT_FORMAT, EMAIL_MAX_LENGTH);"},{"lineNumber":301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":302,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":303,"author":{"gitId":"-"},"content":" }"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":306,"author":{"gitId":"-"},"content":" * Checks if {@code gracePeriod} is not negative."},{"lineNumber":307,"author":{"gitId":"-"},"content":" * @return An explanation why the {@code gracePeriod} is not acceptable."},{"lineNumber":308,"author":{"gitId":"-"},"content":" * Returns an empty string if the {@code gracePeriod} is acceptable."},{"lineNumber":309,"author":{"gitId":"-"},"content":" */"},{"lineNumber":310,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForGracePeriod(Duration gracePeriod) {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" if (gracePeriod.isNegative()) {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" return GRACE_PERIOD_NEGATIVE_ERROR_MESSAGE;"},{"lineNumber":313,"author":{"gitId":"-"},"content":" }"},{"lineNumber":314,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":315,"author":{"gitId":"-"},"content":" }"},{"lineNumber":316,"author":{"gitId":"-"},"content":""},{"lineNumber":317,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":318,"author":{"gitId":"-"},"content":" * Checks if {@code googleId} is not null, not empty, not longer than {@code GOOGLE_ID_MAX_LENGTH}, does"},{"lineNumber":319,"author":{"gitId":"-"},"content":" * not contain any invalid characters (| or %), AND is either a Google username (without the \"@gmail.com\")"},{"lineNumber":320,"author":{"gitId":"-"},"content":" * or a valid email address."},{"lineNumber":321,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code googleId} is not acceptable."},{"lineNumber":322,"author":{"gitId":"-"},"content":" * Returns an empty string if the {@code googleId} is acceptable."},{"lineNumber":323,"author":{"gitId":"-"},"content":" */"},{"lineNumber":324,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForGoogleId(String googleId) {"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" boolean isValidFullEmail \u003d isValidEmailAddress(googleId);"},{"lineNumber":329,"author":{"gitId":"-"},"content":" boolean isValidEmailWithoutDomain \u003d StringHelper.isMatching(googleId, REGEX_GOOGLE_ID_NON_EMAIL);"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" if (googleId.isEmpty()) {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" return getPopulatedEmptyStringErrorMessage(GOOGLE_ID_ERROR_MESSAGE_EMPTY_STRING,"},{"lineNumber":333,"author":{"gitId":"-"},"content":" GOOGLE_ID_FIELD_NAME, GOOGLE_ID_MAX_LENGTH);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" } else if (isUntrimmed(googleId)) {"},{"lineNumber":335,"author":{"gitId":"-"},"content":" return WHITESPACE_ONLY_OR_EXTRA_WHITESPACE_ERROR_MESSAGE.replace(\"${fieldName}\", GOOGLE_ID_FIELD_NAME);"},{"lineNumber":336,"author":{"gitId":"-"},"content":" } else if (googleId.length() \u003e GOOGLE_ID_MAX_LENGTH) {"},{"lineNumber":337,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(GOOGLE_ID_ERROR_MESSAGE, googleId, GOOGLE_ID_FIELD_NAME,"},{"lineNumber":338,"author":{"gitId":"-"},"content":" REASON_TOO_LONG, GOOGLE_ID_MAX_LENGTH);"},{"lineNumber":339,"author":{"gitId":"-"},"content":" } else if (!(isValidFullEmail || isValidEmailWithoutDomain)) {"},{"lineNumber":340,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(GOOGLE_ID_ERROR_MESSAGE, googleId, GOOGLE_ID_FIELD_NAME,"},{"lineNumber":341,"author":{"gitId":"-"},"content":" REASON_INCORRECT_FORMAT, GOOGLE_ID_MAX_LENGTH);"},{"lineNumber":342,"author":{"gitId":"-"},"content":" }"},{"lineNumber":343,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":347,"author":{"gitId":"-"},"content":" * Checks if {@code courseId} is not null, not empty, has no surrounding whitespaces, not longer than"},{"lineNumber":348,"author":{"gitId":"-"},"content":" * {@code COURSE_ID_MAX_LENGTH}, is sanitized for HTML, and match the REGEX {@code REGEX_COURSE_ID}."},{"lineNumber":349,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code courseId} is not acceptable."},{"lineNumber":350,"author":{"gitId":"-"},"content":" * Returns an empty string if the {@code courseId} is acceptable."},{"lineNumber":351,"author":{"gitId":"-"},"content":" */"},{"lineNumber":352,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForCourseId(String courseId) {"},{"lineNumber":353,"author":{"gitId":"-"},"content":""},{"lineNumber":354,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":355,"author":{"gitId":"-"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":" if (courseId.isEmpty()) {"},{"lineNumber":357,"author":{"gitId":"-"},"content":" return getPopulatedEmptyStringErrorMessage(COURSE_ID_ERROR_MESSAGE_EMPTY_STRING,"},{"lineNumber":358,"author":{"gitId":"-"},"content":" COURSE_ID_FIELD_NAME, COURSE_ID_MAX_LENGTH);"},{"lineNumber":359,"author":{"gitId":"-"},"content":" }"},{"lineNumber":360,"author":{"gitId":"-"},"content":" if (isUntrimmed(courseId)) {"},{"lineNumber":361,"author":{"gitId":"-"},"content":" return WHITESPACE_ONLY_OR_EXTRA_WHITESPACE_ERROR_MESSAGE.replace(\"${fieldName}\","},{"lineNumber":362,"author":{"gitId":"-"},"content":" COURSE_ID_FIELD_NAME);"},{"lineNumber":363,"author":{"gitId":"-"},"content":" }"},{"lineNumber":364,"author":{"gitId":"-"},"content":" if (courseId.length() \u003e COURSE_ID_MAX_LENGTH) {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(COURSE_ID_ERROR_MESSAGE, courseId, COURSE_ID_FIELD_NAME,"},{"lineNumber":366,"author":{"gitId":"-"},"content":" REASON_TOO_LONG, COURSE_ID_MAX_LENGTH);"},{"lineNumber":367,"author":{"gitId":"-"},"content":" }"},{"lineNumber":368,"author":{"gitId":"-"},"content":" if (!StringHelper.isMatching(courseId, REGEX_COURSE_ID)) {"},{"lineNumber":369,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(COURSE_ID_ERROR_MESSAGE, courseId, COURSE_ID_FIELD_NAME,"},{"lineNumber":370,"author":{"gitId":"-"},"content":" REASON_INCORRECT_FORMAT, COURSE_ID_MAX_LENGTH);"},{"lineNumber":371,"author":{"gitId":"-"},"content":" }"},{"lineNumber":372,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":373,"author":{"gitId":"-"},"content":" }"},{"lineNumber":374,"author":{"gitId":"-"},"content":""},{"lineNumber":375,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":376,"author":{"gitId":"-"},"content":" * Checks if {@code sectionName} is a non-null non-empty string no longer than the specified length"},{"lineNumber":377,"author":{"gitId":"-"},"content":" * {@code SECTION_NAME_MAX_LENGTH}, and also does not contain any invalid characters (| or %)."},{"lineNumber":378,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code sectionName} is not acceptable."},{"lineNumber":379,"author":{"gitId":"-"},"content":" * Returns an empty string if the {@code sectionName} is acceptable."},{"lineNumber":380,"author":{"gitId":"-"},"content":" */"},{"lineNumber":381,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForSectionName(String sectionName) {"},{"lineNumber":382,"author":{"gitId":"-"},"content":" return getValidityInfoForAllowedName(SECTION_NAME_FIELD_NAME, SECTION_NAME_MAX_LENGTH, sectionName);"},{"lineNumber":383,"author":{"gitId":"-"},"content":" }"},{"lineNumber":384,"author":{"gitId":"-"},"content":""},{"lineNumber":385,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":386,"author":{"gitId":"-"},"content":" * Checks if {@code teamName} is a non-null non-empty string no longer than the specified length"},{"lineNumber":387,"author":{"gitId":"-"},"content":" * {@code TEAM_NAME_MAX_LENGTH}, does not contain any invalid characters (| or %) and is not a valid email."},{"lineNumber":388,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code teamName} is not acceptable."},{"lineNumber":389,"author":{"gitId":"-"},"content":" * Returns an empty string if the {@code teamName} is acceptable."},{"lineNumber":390,"author":{"gitId":"-"},"content":" */"},{"lineNumber":391,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForTeamName(String teamName) {"},{"lineNumber":392,"author":{"gitId":"-"},"content":" boolean isValidEmail \u003d isValidEmailAddress(teamName);"},{"lineNumber":393,"author":{"gitId":"-"},"content":" if (isValidEmail) {"},{"lineNumber":394,"author":{"gitId":"-"},"content":" return TEAM_NAME_IS_VALID_EMAIL_ERROR_MESSAGE;"},{"lineNumber":395,"author":{"gitId":"-"},"content":" }"},{"lineNumber":396,"author":{"gitId":"-"},"content":" return getValidityInfoForAllowedName(TEAM_NAME_FIELD_NAME, TEAM_NAME_MAX_LENGTH, teamName);"},{"lineNumber":397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":398,"author":{"gitId":"-"},"content":""},{"lineNumber":399,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":400,"author":{"gitId":"-"},"content":" * Checks if the given studentRoleComments is a non-null string no longer than"},{"lineNumber":401,"author":{"gitId":"-"},"content":" * the specified length {@code STUDENT_ROLE_COMMENTS_MAX_LENGTH}. However, this string can be empty."},{"lineNumber":402,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code studentRoleComments} is not acceptable."},{"lineNumber":403,"author":{"gitId":"-"},"content":" * Returns an empty string \"\" if the {@code studentRoleComments} is acceptable."},{"lineNumber":404,"author":{"gitId":"-"},"content":" */"},{"lineNumber":405,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForStudentRoleComments(String studentRoleComments) {"},{"lineNumber":406,"author":{"gitId":"-"},"content":" return getValidityInfoForSizeCappedPossiblyEmptyString(STUDENT_ROLE_COMMENTS_FIELD_NAME,"},{"lineNumber":407,"author":{"gitId":"-"},"content":" STUDENT_ROLE_COMMENTS_MAX_LENGTH,"},{"lineNumber":408,"author":{"gitId":"-"},"content":" studentRoleComments);"},{"lineNumber":409,"author":{"gitId":"-"},"content":" }"},{"lineNumber":410,"author":{"gitId":"-"},"content":""},{"lineNumber":411,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":412,"author":{"gitId":"-"},"content":" * Checks if {@code feedbackSessionName} is a non-null non-empty string no longer than the specified length"},{"lineNumber":413,"author":{"gitId":"-"},"content":" * {@code FEEDBACK_SESSION_NAME_MAX_LENGTH}, does not contain any invalid characters (| or %), and has no"},{"lineNumber":414,"author":{"gitId":"-"},"content":" * unsanitized HTML characters."},{"lineNumber":415,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code feedbackSessionName} is not acceptable."},{"lineNumber":416,"author":{"gitId":"-"},"content":" * Returns an empty string if the {@code feedbackSessionName} is acceptable."},{"lineNumber":417,"author":{"gitId":"-"},"content":" */"},{"lineNumber":418,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForFeedbackSessionName(String feedbackSessionName) {"},{"lineNumber":419,"author":{"gitId":"-"},"content":" String errorsFromAllowedNameValidation \u003d getValidityInfoForAllowedName("},{"lineNumber":420,"author":{"gitId":"-"},"content":" FEEDBACK_SESSION_NAME_FIELD_NAME, FEEDBACK_SESSION_NAME_MAX_LENGTH, feedbackSessionName);"},{"lineNumber":421,"author":{"gitId":"-"},"content":""},{"lineNumber":422,"author":{"gitId":"-"},"content":" // return early if error already exists because session name is too long etc."},{"lineNumber":423,"author":{"gitId":"-"},"content":" if (!errorsFromAllowedNameValidation.isEmpty()) {"},{"lineNumber":424,"author":{"gitId":"-"},"content":" return errorsFromAllowedNameValidation;"},{"lineNumber":425,"author":{"gitId":"-"},"content":" }"},{"lineNumber":426,"author":{"gitId":"-"},"content":""},{"lineNumber":427,"author":{"gitId":"-"},"content":" // checks for unsanitized HTML characters"},{"lineNumber":428,"author":{"gitId":"-"},"content":" return getValidityInfoForNonHtmlField(FEEDBACK_SESSION_NAME_FIELD_NAME, feedbackSessionName);"},{"lineNumber":429,"author":{"gitId":"-"},"content":" }"},{"lineNumber":430,"author":{"gitId":"-"},"content":""},{"lineNumber":431,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":432,"author":{"gitId":"-"},"content":" * Checks if {@code courseName} is a non-null non-empty string no longer than the specified length"},{"lineNumber":433,"author":{"gitId":"-"},"content":" * {@code COURSE_NAME_MAX_LENGTH}, and also does not contain any invalid characters (| or %)."},{"lineNumber":434,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code courseName} is not acceptable."},{"lineNumber":435,"author":{"gitId":"-"},"content":" * Returns an empty string if the {@code courseName} is acceptable."},{"lineNumber":436,"author":{"gitId":"-"},"content":" */"},{"lineNumber":437,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForCourseName(String courseName) {"},{"lineNumber":438,"author":{"gitId":"-"},"content":" return getValidityInfoForAllowedName(COURSE_NAME_FIELD_NAME, COURSE_NAME_MAX_LENGTH, courseName);"},{"lineNumber":439,"author":{"gitId":"-"},"content":" }"},{"lineNumber":440,"author":{"gitId":"-"},"content":""},{"lineNumber":441,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":442,"author":{"gitId":"-"},"content":" * Checks if {@code instituteName} is a non-null non-empty string no longer than the specified length"},{"lineNumber":443,"author":{"gitId":"-"},"content":" * {@code INSTITUTE_NAME_MAX_LENGTH}, and also does not contain any invalid characters (| or %)."},{"lineNumber":444,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code instituteName} is not acceptable."},{"lineNumber":445,"author":{"gitId":"-"},"content":" * Returns an empty string if the {@code instituteName} is acceptable."},{"lineNumber":446,"author":{"gitId":"-"},"content":" */"},{"lineNumber":447,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForInstituteName(String instituteName) {"},{"lineNumber":448,"author":{"gitId":"-"},"content":" return getValidityInfoForAllowedName(INSTITUTE_NAME_FIELD_NAME, INSTITUTE_NAME_MAX_LENGTH,"},{"lineNumber":449,"author":{"gitId":"-"},"content":" instituteName);"},{"lineNumber":450,"author":{"gitId":"-"},"content":" }"},{"lineNumber":451,"author":{"gitId":"-"},"content":""},{"lineNumber":452,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":453,"author":{"gitId":"-"},"content":" * Checks if {@code personName} is a non-null non-empty string no longer than the specified length"},{"lineNumber":454,"author":{"gitId":"-"},"content":" * {@code PERSON_NAME_MAX_LENGTH}, and also does not contain any invalid characters (| or %)."},{"lineNumber":455,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code personName} is not acceptable."},{"lineNumber":456,"author":{"gitId":"-"},"content":" * Returns an empty string if the {@code personName} is acceptable."},{"lineNumber":457,"author":{"gitId":"-"},"content":" */"},{"lineNumber":458,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForPersonName(String personName) {"},{"lineNumber":459,"author":{"gitId":"-"},"content":" return getValidityInfoForAllowedName(PERSON_NAME_FIELD_NAME, PERSON_NAME_MAX_LENGTH, personName);"},{"lineNumber":460,"author":{"gitId":"-"},"content":" }"},{"lineNumber":461,"author":{"gitId":"-"},"content":""},{"lineNumber":462,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":463,"author":{"gitId":"-"},"content":" * Checks if the given string is a non-null string contained in Java\u0027s list of"},{"lineNumber":464,"author":{"gitId":"-"},"content":" * regional time zone IDs."},{"lineNumber":465,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code timeZoneValue} is not acceptable."},{"lineNumber":466,"author":{"gitId":"-"},"content":" * Returns an empty string if the {@code timeZoneValue} is acceptable."},{"lineNumber":467,"author":{"gitId":"-"},"content":" */"},{"lineNumber":468,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForTimeZone(String timeZoneValue) {"},{"lineNumber":469,"author":{"gitId":"-"},"content":" assert timeZoneValue !\u003d null;"},{"lineNumber":470,"author":{"gitId":"-"},"content":" if (!ZoneId.getAvailableZoneIds().contains(timeZoneValue)) {"},{"lineNumber":471,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(TIME_ZONE_ERROR_MESSAGE,"},{"lineNumber":472,"author":{"gitId":"-"},"content":" timeZoneValue, TIME_ZONE_FIELD_NAME, REASON_UNAVAILABLE_AS_CHOICE);"},{"lineNumber":473,"author":{"gitId":"-"},"content":" }"},{"lineNumber":474,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":475,"author":{"gitId":"-"},"content":" }"},{"lineNumber":476,"author":{"gitId":"-"},"content":""},{"lineNumber":477,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":478,"author":{"gitId":"-"},"content":" * Checks if {@code role} is one of the recognized roles {@link #ROLE_ACCEPTED_VALUES}."},{"lineNumber":479,"author":{"gitId":"-"},"content":" *"},{"lineNumber":480,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code role} is not acceptable."},{"lineNumber":481,"author":{"gitId":"-"},"content":" * Returns an empty string if the {@code role} is acceptable."},{"lineNumber":482,"author":{"gitId":"-"},"content":" */"},{"lineNumber":483,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForRole(String role) {"},{"lineNumber":484,"author":{"gitId":"-"},"content":" assert role !\u003d null;"},{"lineNumber":485,"author":{"gitId":"-"},"content":""},{"lineNumber":486,"author":{"gitId":"-"},"content":" if (!ROLE_ACCEPTED_VALUES.contains(role)) {"},{"lineNumber":487,"author":{"gitId":"-"},"content":" return String.format(ROLE_ERROR_MESSAGE, role);"},{"lineNumber":488,"author":{"gitId":"-"},"content":" }"},{"lineNumber":489,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":490,"author":{"gitId":"-"},"content":" }"},{"lineNumber":491,"author":{"gitId":"-"},"content":""},{"lineNumber":492,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":493,"author":{"gitId":"-"},"content":" * Checks if the given name (including person name, institute name, course name, feedback session and team name)"},{"lineNumber":494,"author":{"gitId":"-"},"content":" * is a non-null non-empty string no longer than the specified length {@code maxLength},"},{"lineNumber":495,"author":{"gitId":"-"},"content":" * and also does not contain any invalid characters (| or %)."},{"lineNumber":496,"author":{"gitId":"-"},"content":" *"},{"lineNumber":497,"author":{"gitId":"-"},"content":" * @param fieldName"},{"lineNumber":498,"author":{"gitId":"-"},"content":" * A descriptive name of the field e.g., \"student name\", to be"},{"lineNumber":499,"author":{"gitId":"-"},"content":" * used in the return value to make the explanation more"},{"lineNumber":500,"author":{"gitId":"-"},"content":" * descriptive."},{"lineNumber":501,"author":{"gitId":"-"},"content":" * @param value"},{"lineNumber":502,"author":{"gitId":"-"},"content":" * The string to be checked."},{"lineNumber":503,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code value} is not acceptable."},{"lineNumber":504,"author":{"gitId":"-"},"content":" * Returns an empty string \"\" if the {@code value} is acceptable."},{"lineNumber":505,"author":{"gitId":"-"},"content":" */"},{"lineNumber":506,"author":{"gitId":"-"},"content":" static String getValidityInfoForAllowedName(String fieldName, int maxLength, String value) {"},{"lineNumber":507,"author":{"gitId":"-"},"content":""},{"lineNumber":508,"author":{"gitId":"-"},"content":" assert value !\u003d null : \"Non-null value expected for \" + fieldName;"},{"lineNumber":509,"author":{"gitId":"-"},"content":""},{"lineNumber":510,"author":{"gitId":"-"},"content":" if (value.isEmpty()) {"},{"lineNumber":511,"author":{"gitId":"-"},"content":" if (FEEDBACK_SESSION_NAME_FIELD_NAME.equals(fieldName)) {"},{"lineNumber":512,"author":{"gitId":"-"},"content":" return getPopulatedEmptyStringErrorMessage("},{"lineNumber":513,"author":{"gitId":"-"},"content":" SIZE_CAPPED_NON_EMPTY_STRING_ERROR_MESSAGE_EMPTY_STRING_FOR_SESSION_NAME,"},{"lineNumber":514,"author":{"gitId":"-"},"content":" fieldName, maxLength);"},{"lineNumber":515,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":516,"author":{"gitId":"-"},"content":" return getPopulatedEmptyStringErrorMessage(SIZE_CAPPED_NON_EMPTY_STRING_ERROR_MESSAGE_EMPTY_STRING,"},{"lineNumber":517,"author":{"gitId":"-"},"content":" fieldName, maxLength);"},{"lineNumber":518,"author":{"gitId":"-"},"content":" }"},{"lineNumber":519,"author":{"gitId":"-"},"content":" }"},{"lineNumber":520,"author":{"gitId":"-"},"content":" if (isUntrimmed(value)) {"},{"lineNumber":521,"author":{"gitId":"-"},"content":" return WHITESPACE_ONLY_OR_EXTRA_WHITESPACE_ERROR_MESSAGE.replace(\"${fieldName}\", fieldName);"},{"lineNumber":522,"author":{"gitId":"-"},"content":" }"},{"lineNumber":523,"author":{"gitId":"-"},"content":" if (value.length() \u003e maxLength) {"},{"lineNumber":524,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(SIZE_CAPPED_NON_EMPTY_STRING_ERROR_MESSAGE, value,"},{"lineNumber":525,"author":{"gitId":"-"},"content":" fieldName, REASON_TOO_LONG, maxLength);"},{"lineNumber":526,"author":{"gitId":"-"},"content":" }"},{"lineNumber":527,"author":{"gitId":"-"},"content":" if (!Character.isLetterOrDigit(value.codePointAt(0))) {"},{"lineNumber":528,"author":{"gitId":"-"},"content":" boolean hasStartingBrace \u003d value.charAt(0) \u003d\u003d \u0027{\u0027 \u0026\u0026 value.contains(\"}\");"},{"lineNumber":529,"author":{"gitId":"-"},"content":" if (!hasStartingBrace) {"},{"lineNumber":530,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(INVALID_NAME_ERROR_MESSAGE, value,"},{"lineNumber":531,"author":{"gitId":"-"},"content":" fieldName, REASON_START_WITH_NON_ALPHANUMERIC_CHAR);"},{"lineNumber":532,"author":{"gitId":"-"},"content":" }"},{"lineNumber":533,"author":{"gitId":"-"},"content":" if (!StringHelper.isMatching(value.substring(1), REGEX_NAME)) {"},{"lineNumber":534,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(INVALID_NAME_ERROR_MESSAGE, value, fieldName,"},{"lineNumber":535,"author":{"gitId":"-"},"content":" REASON_CONTAINS_INVALID_CHAR);"},{"lineNumber":536,"author":{"gitId":"-"},"content":" }"},{"lineNumber":537,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":538,"author":{"gitId":"-"},"content":" }"},{"lineNumber":539,"author":{"gitId":"-"},"content":" if (!StringHelper.isMatching(value, REGEX_NAME)) {"},{"lineNumber":540,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(INVALID_NAME_ERROR_MESSAGE, value, fieldName,"},{"lineNumber":541,"author":{"gitId":"-"},"content":" REASON_CONTAINS_INVALID_CHAR);"},{"lineNumber":542,"author":{"gitId":"-"},"content":" }"},{"lineNumber":543,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":544,"author":{"gitId":"-"},"content":" }"},{"lineNumber":545,"author":{"gitId":"-"},"content":""},{"lineNumber":546,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":547,"author":{"gitId":"-"},"content":" * Checks if the notification title is a non-null non-empty string."},{"lineNumber":548,"author":{"gitId":"-"},"content":" *"},{"lineNumber":549,"author":{"gitId":"-"},"content":" * @param notificationTitle The title of the notification."},{"lineNumber":550,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code notificationTitle} is not acceptable."},{"lineNumber":551,"author":{"gitId":"-"},"content":" * Returns an empty string \"\" if the {@code notificationTitle} is acceptable."},{"lineNumber":552,"author":{"gitId":"-"},"content":" */"},{"lineNumber":553,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForNotificationTitle(String notificationTitle) {"},{"lineNumber":554,"author":{"gitId":"-"},"content":""},{"lineNumber":555,"author":{"gitId":"-"},"content":" assert notificationTitle !\u003d null : \"Non-null value expected for notification title\";"},{"lineNumber":556,"author":{"gitId":"-"},"content":""},{"lineNumber":557,"author":{"gitId":"-"},"content":" if (notificationTitle.isEmpty()) {"},{"lineNumber":558,"author":{"gitId":"-"},"content":" return getPopulatedEmptyStringErrorMessage(EMPTY_STRING_ERROR_INFO,"},{"lineNumber":559,"author":{"gitId":"-"},"content":" NOTIFICATION_TITLE_FIELD_NAME, NOTIFICATION_TITLE_MAX_LENGTH);"},{"lineNumber":560,"author":{"gitId":"-"},"content":" } else if (notificationTitle.length() \u003e NOTIFICATION_TITLE_MAX_LENGTH) {"},{"lineNumber":561,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(SIZE_CAPPED_NON_EMPTY_STRING_ERROR_MESSAGE, notificationTitle,"},{"lineNumber":562,"author":{"gitId":"-"},"content":" NOTIFICATION_TITLE_FIELD_NAME, REASON_TOO_LONG, NOTIFICATION_TITLE_MAX_LENGTH);"},{"lineNumber":563,"author":{"gitId":"-"},"content":" }"},{"lineNumber":564,"author":{"gitId":"-"},"content":""},{"lineNumber":565,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":566,"author":{"gitId":"-"},"content":" }"},{"lineNumber":567,"author":{"gitId":"-"},"content":""},{"lineNumber":568,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":569,"author":{"gitId":"-"},"content":" * Checks if the notification message is a non-null non-empty string."},{"lineNumber":570,"author":{"gitId":"-"},"content":" *"},{"lineNumber":571,"author":{"gitId":"-"},"content":" * @param notificationMessage The notification message."},{"lineNumber":572,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code notificationMessage} is not acceptable."},{"lineNumber":573,"author":{"gitId":"-"},"content":" * Returns an empty string \"\" if the {@code notificationMessage} is acceptable."},{"lineNumber":574,"author":{"gitId":"-"},"content":" */"},{"lineNumber":575,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForNotificationBody(String notificationMessage) {"},{"lineNumber":576,"author":{"gitId":"-"},"content":""},{"lineNumber":577,"author":{"gitId":"-"},"content":" assert notificationMessage !\u003d null : \"Non-null value expected for notification message\";"},{"lineNumber":578,"author":{"gitId":"-"},"content":""},{"lineNumber":579,"author":{"gitId":"-"},"content":" if (notificationMessage.isEmpty()) {"},{"lineNumber":580,"author":{"gitId":"-"},"content":" return getPopulatedEmptyStringErrorMessage(EMPTY_STRING_ERROR_INFO, NOTIFICATION_MESSAGE_FIELD_NAME, 0);"},{"lineNumber":581,"author":{"gitId":"-"},"content":" }"},{"lineNumber":582,"author":{"gitId":"-"},"content":""},{"lineNumber":583,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":584,"author":{"gitId":"-"},"content":" }"},{"lineNumber":585,"author":{"gitId":"-"},"content":""},{"lineNumber":586,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":587,"author":{"gitId":"-"},"content":" * Checks if {@code style} is one of the recognized notification style {@link #NOTIFICATION_STYLE_ACCEPTED_VALUES}."},{"lineNumber":588,"author":{"gitId":"-"},"content":" *"},{"lineNumber":589,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code style} is not acceptable."},{"lineNumber":590,"author":{"gitId":"-"},"content":" * Returns an empty string if the {@code style} is acceptable."},{"lineNumber":591,"author":{"gitId":"-"},"content":" */"},{"lineNumber":592,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForNotificationStyle(String style) {"},{"lineNumber":593,"author":{"gitId":"-"},"content":" assert style !\u003d null;"},{"lineNumber":594,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":595,"author":{"gitId":"-"},"content":" NotificationStyle.valueOf(style);"},{"lineNumber":596,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException e) {"},{"lineNumber":597,"author":{"gitId":"-"},"content":" return String.format(NOTIFICATION_STYLE_ERROR_MESSAGE, style);"},{"lineNumber":598,"author":{"gitId":"-"},"content":" }"},{"lineNumber":599,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":600,"author":{"gitId":"-"},"content":" }"},{"lineNumber":601,"author":{"gitId":"-"},"content":""},{"lineNumber":602,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":603,"author":{"gitId":"-"},"content":" * Checks if {@code targetUser} is one of the"},{"lineNumber":604,"author":{"gitId":"-"},"content":" * recognized notification target user groups {@link #NOTIFICATION_TARGET_USER_ACCEPTED_VALUES}."},{"lineNumber":605,"author":{"gitId":"-"},"content":" *"},{"lineNumber":606,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code targetUser} is not acceptable."},{"lineNumber":607,"author":{"gitId":"-"},"content":" * Returns an empty string if the {@code targetUser} is acceptable."},{"lineNumber":608,"author":{"gitId":"-"},"content":" */"},{"lineNumber":609,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForNotificationTargetUser(String targetUser) {"},{"lineNumber":610,"author":{"gitId":"-"},"content":" assert targetUser !\u003d null;"},{"lineNumber":611,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":612,"author":{"gitId":"-"},"content":" NotificationTargetUser.valueOf(targetUser);"},{"lineNumber":613,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException e) {"},{"lineNumber":614,"author":{"gitId":"-"},"content":" return String.format(NOTIFICATION_TARGET_USER_ERROR_MESSAGE, targetUser);"},{"lineNumber":615,"author":{"gitId":"-"},"content":" }"},{"lineNumber":616,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":617,"author":{"gitId":"-"},"content":" }"},{"lineNumber":618,"author":{"gitId":"-"},"content":""},{"lineNumber":619,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":620,"author":{"gitId":"-"},"content":" * Checks if the given string is a non-null string no longer than"},{"lineNumber":621,"author":{"gitId":"-"},"content":" * the specified length {@code maxLength}. However, this string can be empty."},{"lineNumber":622,"author":{"gitId":"-"},"content":" *"},{"lineNumber":623,"author":{"gitId":"-"},"content":" * @param fieldName"},{"lineNumber":624,"author":{"gitId":"-"},"content":" * A descriptive name of the field e.g., \"student name\", to be"},{"lineNumber":625,"author":{"gitId":"-"},"content":" * used in the return value to make the explanation more"},{"lineNumber":626,"author":{"gitId":"-"},"content":" * descriptive."},{"lineNumber":627,"author":{"gitId":"-"},"content":" * @param value"},{"lineNumber":628,"author":{"gitId":"-"},"content":" * The string to be checked."},{"lineNumber":629,"author":{"gitId":"-"},"content":" * @return An explanation of why the {@code value} is not acceptable."},{"lineNumber":630,"author":{"gitId":"-"},"content":" * Returns an empty string \"\" if the {@code value} is acceptable."},{"lineNumber":631,"author":{"gitId":"-"},"content":" */"},{"lineNumber":632,"author":{"gitId":"-"},"content":" static String getValidityInfoForSizeCappedPossiblyEmptyString(String fieldName, int maxLength, String value) {"},{"lineNumber":633,"author":{"gitId":"-"},"content":" assert value !\u003d null : \"Non-null value expected for \" + fieldName;"},{"lineNumber":634,"author":{"gitId":"-"},"content":""},{"lineNumber":635,"author":{"gitId":"-"},"content":" if (isUntrimmed(value)) {"},{"lineNumber":636,"author":{"gitId":"-"},"content":" return WHITESPACE_ONLY_OR_EXTRA_WHITESPACE_ERROR_MESSAGE.replace(\"${fieldName}\", fieldName);"},{"lineNumber":637,"author":{"gitId":"-"},"content":" }"},{"lineNumber":638,"author":{"gitId":"-"},"content":" if (value.length() \u003e maxLength) {"},{"lineNumber":639,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(SIZE_CAPPED_POSSIBLY_EMPTY_STRING_ERROR_MESSAGE, value,"},{"lineNumber":640,"author":{"gitId":"-"},"content":" fieldName, REASON_TOO_LONG, maxLength);"},{"lineNumber":641,"author":{"gitId":"-"},"content":" }"},{"lineNumber":642,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":643,"author":{"gitId":"-"},"content":" }"},{"lineNumber":644,"author":{"gitId":"-"},"content":""},{"lineNumber":645,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":646,"author":{"gitId":"-"},"content":" * Checks if the {@code startTime} is valid to be used as a session start time."},{"lineNumber":647,"author":{"gitId":"-"},"content":" * Returns an empty string if it is valid, or an error message otherwise."},{"lineNumber":648,"author":{"gitId":"-"},"content":" *"},{"lineNumber":649,"author":{"gitId":"-"},"content":" * \u003cp\u003eThe {@code startTime} is valid if it is after 2 hours before now, before 12 months from now"},{"lineNumber":650,"author":{"gitId":"-"},"content":" * and at exact hour mark."},{"lineNumber":651,"author":{"gitId":"-"},"content":" */"},{"lineNumber":652,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForNewStartTime(Instant startTime, String timeZone) {"},{"lineNumber":653,"author":{"gitId":"-"},"content":" Instant twoHoursBeforeNow \u003d TimeHelper.getInstantHoursOffsetFromNow(-2);"},{"lineNumber":654,"author":{"gitId":"-"},"content":" String earlierThanThreeHoursBeforeNowError \u003d getInvalidityInfoForFirstTimeComparedToSecondTime("},{"lineNumber":655,"author":{"gitId":"-"},"content":" twoHoursBeforeNow, startTime, SESSION_NAME,"},{"lineNumber":656,"author":{"gitId":"-"},"content":" \"2 hours before now\", SESSION_START_TIME_FIELD_NAME,"},{"lineNumber":657,"author":{"gitId":"-"},"content":" (firstTime, secondTime) -\u003e firstTime.isBefore(secondTime) || firstTime.equals(secondTime),"},{"lineNumber":658,"author":{"gitId":"-"},"content":" \"The %s for this %s cannot be earlier than %s.\");"},{"lineNumber":659,"author":{"gitId":"-"},"content":""},{"lineNumber":660,"author":{"gitId":"-"},"content":" if (!earlierThanThreeHoursBeforeNowError.isEmpty()) {"},{"lineNumber":661,"author":{"gitId":"-"},"content":" return earlierThanThreeHoursBeforeNowError;"},{"lineNumber":662,"author":{"gitId":"-"},"content":" }"},{"lineNumber":663,"author":{"gitId":"-"},"content":""},{"lineNumber":664,"author":{"gitId":"-"},"content":" Instant twelveMonthsFromNow \u003d TimeHelper.getInstantMonthsOffsetFromNow(12, timeZone);"},{"lineNumber":665,"author":{"gitId":"-"},"content":" String laterThanTwelveMonthsFromNowError \u003d getInvalidityInfoForFirstTimeComparedToSecondTime("},{"lineNumber":666,"author":{"gitId":"-"},"content":" twelveMonthsFromNow, startTime, SESSION_NAME,"},{"lineNumber":667,"author":{"gitId":"-"},"content":" \"12 months from now\", SESSION_START_TIME_FIELD_NAME,"},{"lineNumber":668,"author":{"gitId":"-"},"content":" (firstTime, secondTime) -\u003e firstTime.isAfter(secondTime) || firstTime.equals(secondTime),"},{"lineNumber":669,"author":{"gitId":"-"},"content":" \"The %s for this %s cannot be later than %s.\");"},{"lineNumber":670,"author":{"gitId":"-"},"content":""},{"lineNumber":671,"author":{"gitId":"-"},"content":" if (!laterThanTwelveMonthsFromNowError.isEmpty()) {"},{"lineNumber":672,"author":{"gitId":"-"},"content":" return laterThanTwelveMonthsFromNowError;"},{"lineNumber":673,"author":{"gitId":"-"},"content":" }"},{"lineNumber":674,"author":{"gitId":"-"},"content":""},{"lineNumber":675,"author":{"gitId":"-"},"content":" String notExactHourError \u003d getInvalidityInfoForExactHourTime(startTime, timeZone, \"start time\");"},{"lineNumber":676,"author":{"gitId":"-"},"content":" if (!notExactHourError.isEmpty()) {"},{"lineNumber":677,"author":{"gitId":"-"},"content":" return notExactHourError;"},{"lineNumber":678,"author":{"gitId":"-"},"content":" }"},{"lineNumber":679,"author":{"gitId":"-"},"content":""},{"lineNumber":680,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":681,"author":{"gitId":"-"},"content":" }"},{"lineNumber":682,"author":{"gitId":"-"},"content":""},{"lineNumber":683,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":684,"author":{"gitId":"-"},"content":" * Checks if the {@code endTime} is valid to be used as a session end time."},{"lineNumber":685,"author":{"gitId":"-"},"content":" * Returns an empty string if it is valid, or an error message otherwise."},{"lineNumber":686,"author":{"gitId":"-"},"content":" *"},{"lineNumber":687,"author":{"gitId":"-"},"content":" * \u003cp\u003eThe {@code endTime} is valid if it is after 1 hour before now, before 12 months from now"},{"lineNumber":688,"author":{"gitId":"-"},"content":" * and at exact hour mark."},{"lineNumber":689,"author":{"gitId":"-"},"content":" */"},{"lineNumber":690,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForNewEndTime(Instant endTime, String timeZone) {"},{"lineNumber":691,"author":{"gitId":"-"},"content":" Instant oneHourBeforeNow \u003d TimeHelper.getInstantHoursOffsetFromNow(-1);"},{"lineNumber":692,"author":{"gitId":"-"},"content":" String earlierThanThreeHoursBeforeNowError \u003d getInvalidityInfoForFirstTimeComparedToSecondTime("},{"lineNumber":693,"author":{"gitId":"-"},"content":" oneHourBeforeNow, endTime, SESSION_NAME,"},{"lineNumber":694,"author":{"gitId":"-"},"content":" \"1 hour before now\", SESSION_END_TIME_FIELD_NAME,"},{"lineNumber":695,"author":{"gitId":"-"},"content":" (firstTime, secondTime) -\u003e firstTime.isBefore(secondTime) || firstTime.equals(secondTime),"},{"lineNumber":696,"author":{"gitId":"-"},"content":" \"The %s for this %s cannot be earlier than %s.\");"},{"lineNumber":697,"author":{"gitId":"-"},"content":" if (!earlierThanThreeHoursBeforeNowError.isEmpty()) {"},{"lineNumber":698,"author":{"gitId":"-"},"content":" return earlierThanThreeHoursBeforeNowError;"},{"lineNumber":699,"author":{"gitId":"-"},"content":" }"},{"lineNumber":700,"author":{"gitId":"-"},"content":""},{"lineNumber":701,"author":{"gitId":"-"},"content":" Instant twelveMonthsFromNow \u003d TimeHelper.getInstantMonthsOffsetFromNow(12, timeZone);"},{"lineNumber":702,"author":{"gitId":"-"},"content":" String laterThanTwelveMonthsError \u003d getInvalidityInfoForFirstTimeComparedToSecondTime("},{"lineNumber":703,"author":{"gitId":"-"},"content":" twelveMonthsFromNow, endTime, SESSION_NAME,"},{"lineNumber":704,"author":{"gitId":"-"},"content":" \"12 months from now\", SESSION_END_TIME_FIELD_NAME,"},{"lineNumber":705,"author":{"gitId":"-"},"content":" (firstTime, secondTime) -\u003e firstTime.isAfter(secondTime) || firstTime.equals(secondTime),"},{"lineNumber":706,"author":{"gitId":"-"},"content":" \"The %s for this %s cannot be later than %s.\");"},{"lineNumber":707,"author":{"gitId":"-"},"content":" if (!laterThanTwelveMonthsError.isEmpty()) {"},{"lineNumber":708,"author":{"gitId":"-"},"content":" return laterThanTwelveMonthsError;"},{"lineNumber":709,"author":{"gitId":"-"},"content":" }"},{"lineNumber":710,"author":{"gitId":"-"},"content":""},{"lineNumber":711,"author":{"gitId":"-"},"content":" String notExactHourError \u003d getInvalidityInfoForExactHourTime(endTime, timeZone, \"end time\");"},{"lineNumber":712,"author":{"gitId":"-"},"content":" if (!notExactHourError.isEmpty()) {"},{"lineNumber":713,"author":{"gitId":"-"},"content":" return notExactHourError;"},{"lineNumber":714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":715,"author":{"gitId":"-"},"content":""},{"lineNumber":716,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":717,"author":{"gitId":"-"},"content":" }"},{"lineNumber":718,"author":{"gitId":"-"},"content":""},{"lineNumber":719,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":720,"author":{"gitId":"-"},"content":" * Checks if Session Start Time is before Session End Time."},{"lineNumber":721,"author":{"gitId":"-"},"content":" * @return Error string if {@code sessionStart} is before {@code sessionEnd}"},{"lineNumber":722,"author":{"gitId":"-"},"content":" * Empty string if {@code sessionStart} is after {@code sessionEnd}"},{"lineNumber":723,"author":{"gitId":"-"},"content":" */"},{"lineNumber":724,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForTimeForSessionStartAndEnd(Instant sessionStart, Instant sessionEnd) {"},{"lineNumber":725,"author":{"gitId":"-"},"content":" return getInvalidityInfoForFirstTimeIsBeforeSecondTime("},{"lineNumber":726,"author":{"gitId":"-"},"content":" sessionStart, sessionEnd, SESSION_NAME, SESSION_START_TIME_FIELD_NAME, SESSION_END_TIME_FIELD_NAME);"},{"lineNumber":727,"author":{"gitId":"-"},"content":" }"},{"lineNumber":728,"author":{"gitId":"-"},"content":""},{"lineNumber":729,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":730,"author":{"gitId":"-"},"content":" * Checks if Session Visibility Start Time is before Session Start Time."},{"lineNumber":731,"author":{"gitId":"-"},"content":" * @return Error string if {@code visibilityStart} is before {@code sessionStart}"},{"lineNumber":732,"author":{"gitId":"-"},"content":" * Empty string if {@code visibilityStart} is after {@code sessionStart}"},{"lineNumber":733,"author":{"gitId":"-"},"content":" */"},{"lineNumber":734,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForTimeForVisibilityStartAndSessionStart("},{"lineNumber":735,"author":{"gitId":"-"},"content":" Instant visibilityStart, Instant sessionStart) {"},{"lineNumber":736,"author":{"gitId":"-"},"content":" return getInvalidityInfoForFirstTimeIsBeforeSecondTime(visibilityStart, sessionStart,"},{"lineNumber":737,"author":{"gitId":"-"},"content":" SESSION_NAME, SESSION_VISIBLE_TIME_FIELD_NAME, SESSION_START_TIME_FIELD_NAME);"},{"lineNumber":738,"author":{"gitId":"-"},"content":" }"},{"lineNumber":739,"author":{"gitId":"-"},"content":""},{"lineNumber":740,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":741,"author":{"gitId":"-"},"content":" * Checks if the {@code visibilityStart} is valid to be used as a session visible start time."},{"lineNumber":742,"author":{"gitId":"-"},"content":" * Returns an empty string if it is valid, or an error message otherwise."},{"lineNumber":743,"author":{"gitId":"-"},"content":" *"},{"lineNumber":744,"author":{"gitId":"-"},"content":" * \u003cp\u003eThe {@code visibilityStart} is valid if it is less than 30 days before {@code sessionStart}."},{"lineNumber":745,"author":{"gitId":"-"},"content":" */"},{"lineNumber":746,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForTimeForNewVisibilityStart(Instant visibilityStart, Instant sessionStart) {"},{"lineNumber":747,"author":{"gitId":"-"},"content":" Instant visibilityStartThirtyDaysBeforeSessionStart \u003d sessionStart.minus(Duration.ofDays(30));"},{"lineNumber":748,"author":{"gitId":"-"},"content":" String visibilityStartMoreThanThirtyDaysBeforeSessionStartError \u003d"},{"lineNumber":749,"author":{"gitId":"-"},"content":" getInvalidityInfoForFirstTimeComparedToSecondTime("},{"lineNumber":750,"author":{"gitId":"-"},"content":" visibilityStartThirtyDaysBeforeSessionStart, visibilityStart, SESSION_NAME,"},{"lineNumber":751,"author":{"gitId":"-"},"content":" \"30 days before start time\", SESSION_VISIBLE_TIME_FIELD_NAME,"},{"lineNumber":752,"author":{"gitId":"-"},"content":" (firstTime, secondTime) -\u003e firstTime.isBefore(secondTime) || firstTime.equals(secondTime),"},{"lineNumber":753,"author":{"gitId":"-"},"content":" \"The %s for this %s cannot be earlier than %s.\");"},{"lineNumber":754,"author":{"gitId":"-"},"content":" if (!visibilityStartMoreThanThirtyDaysBeforeSessionStartError.isEmpty()) {"},{"lineNumber":755,"author":{"gitId":"-"},"content":" return visibilityStartMoreThanThirtyDaysBeforeSessionStartError;"},{"lineNumber":756,"author":{"gitId":"-"},"content":" }"},{"lineNumber":757,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":758,"author":{"gitId":"-"},"content":" }"},{"lineNumber":759,"author":{"gitId":"-"},"content":""},{"lineNumber":760,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":761,"author":{"gitId":"-"},"content":" * Checks if Visibility Start Time is before Results Publish Time."},{"lineNumber":762,"author":{"gitId":"-"},"content":" * @return Error string if {@code visibilityStart} is before {@code resultsPublish}"},{"lineNumber":763,"author":{"gitId":"-"},"content":" * Empty string if {@code visibilityStart} is after {@code resultsPublish}"},{"lineNumber":764,"author":{"gitId":"-"},"content":" */"},{"lineNumber":765,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForTimeForVisibilityStartAndResultsPublish("},{"lineNumber":766,"author":{"gitId":"-"},"content":" Instant visibilityStart, Instant resultsPublish) {"},{"lineNumber":767,"author":{"gitId":"-"},"content":" return getInvalidityInfoForFirstTimeIsBeforeSecondTime(visibilityStart, resultsPublish,"},{"lineNumber":768,"author":{"gitId":"-"},"content":" SESSION_NAME, SESSION_VISIBLE_TIME_FIELD_NAME, RESULTS_VISIBLE_TIME_FIELD_NAME);"},{"lineNumber":769,"author":{"gitId":"-"},"content":" }"},{"lineNumber":770,"author":{"gitId":"-"},"content":""},{"lineNumber":771,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":772,"author":{"gitId":"-"},"content":" * Checks if the session end time is before all extended deadlines."},{"lineNumber":773,"author":{"gitId":"-"},"content":" * @return Error string if any deadline in {@code deadlines} is before {@code sessionEnd}, an empty one otherwise."},{"lineNumber":774,"author":{"gitId":"-"},"content":" */"},{"lineNumber":775,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForTimeForSessionEndAndExtendedDeadlines("},{"lineNumber":776,"author":{"gitId":"-"},"content":" Instant sessionEnd, Map\u003cString, Instant\u003e deadlines) {"},{"lineNumber":777,"author":{"gitId":"-"},"content":" return deadlines.entrySet()"},{"lineNumber":778,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":779,"author":{"gitId":"-"},"content":" .map(entry -\u003e getInvalidityInfoForFirstTimeIsStrictlyBeforeSecondTime(sessionEnd, entry.getValue(),"},{"lineNumber":780,"author":{"gitId":"-"},"content":" SESSION_NAME, SESSION_END_TIME_FIELD_NAME, EXTENDED_DEADLINES_FIELD_NAME))"},{"lineNumber":781,"author":{"gitId":"-"},"content":" .filter(invalidityInfo -\u003e !invalidityInfo.isEmpty())"},{"lineNumber":782,"author":{"gitId":"-"},"content":" .findFirst()"},{"lineNumber":783,"author":{"gitId":"-"},"content":" .orElse(\"\");"},{"lineNumber":784,"author":{"gitId":"-"},"content":" }"},{"lineNumber":785,"author":{"gitId":"-"},"content":""},{"lineNumber":786,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":787,"author":{"gitId":"-"},"content":" * Checks if the session end time is before all extended deadlines."},{"lineNumber":788,"author":{"gitId":"-"},"content":" * @return Error string if any deadline in {@code deadlines} is before {@code sessionEnd}, an empty one otherwise."},{"lineNumber":789,"author":{"gitId":"-"},"content":" */"},{"lineNumber":790,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForTimeForSessionEndAndExtendedDeadlines("},{"lineNumber":791,"author":{"gitId":"-"},"content":" Instant sessionEnd, List\u003cDeadlineExtension\u003e deadlineExtensions) {"},{"lineNumber":792,"author":{"gitId":"-"},"content":" for (DeadlineExtension de : deadlineExtensions) {"},{"lineNumber":793,"author":{"gitId":"-"},"content":" String err \u003d getInvalidityInfoForFirstTimeIsStrictlyBeforeSecondTime(sessionEnd, de.getEndTime(),"},{"lineNumber":794,"author":{"gitId":"-"},"content":" SESSION_NAME, SESSION_END_TIME_FIELD_NAME, EXTENDED_DEADLINES_FIELD_NAME);"},{"lineNumber":795,"author":{"gitId":"-"},"content":""},{"lineNumber":796,"author":{"gitId":"-"},"content":" if (!err.isEmpty()) {"},{"lineNumber":797,"author":{"gitId":"-"},"content":" return err;"},{"lineNumber":798,"author":{"gitId":"-"},"content":" }"},{"lineNumber":799,"author":{"gitId":"-"},"content":" }"},{"lineNumber":800,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":801,"author":{"gitId":"-"},"content":" }"},{"lineNumber":802,"author":{"gitId":"-"},"content":""},{"lineNumber":803,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":804,"author":{"gitId":"-"},"content":" * Checks if Notification Start Time is before Notification End Time."},{"lineNumber":805,"author":{"gitId":"-"},"content":" * @return Error string if {@code notificationStart} is before {@code notificationEnd}"},{"lineNumber":806,"author":{"gitId":"-"},"content":" * Empty string if {@code notificationStart} is after {@code notificationEnd}"},{"lineNumber":807,"author":{"gitId":"-"},"content":" */"},{"lineNumber":808,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForTimeForNotificationStartAndEnd("},{"lineNumber":809,"author":{"gitId":"-"},"content":" Instant notificationStart, Instant notificationExpiry) {"},{"lineNumber":810,"author":{"gitId":"-"},"content":" return getInvalidityInfoForFirstTimeIsBeforeSecondTime(notificationStart, notificationExpiry,"},{"lineNumber":811,"author":{"gitId":"-"},"content":" NOTIFICATION_NAME, NOTIFICATION_VISIBLE_TIME_FIELD_NAME, NOTIFICATION_EXPIRY_TIME_FIELD_NAME);"},{"lineNumber":812,"author":{"gitId":"-"},"content":" }"},{"lineNumber":813,"author":{"gitId":"-"},"content":""},{"lineNumber":814,"author":{"gitId":"-"},"content":" private static String getInvalidityInfoForFirstTimeIsBeforeSecondTime(Instant earlierTime, Instant laterTime,"},{"lineNumber":815,"author":{"gitId":"-"},"content":" String entityName, String earlierTimeFieldName, String laterTimeFieldName) {"},{"lineNumber":816,"author":{"gitId":"-"},"content":" return getInvalidityInfoForFirstTimeComparedToSecondTime(earlierTime, laterTime, entityName,"},{"lineNumber":817,"author":{"gitId":"-"},"content":" earlierTimeFieldName, laterTimeFieldName,"},{"lineNumber":818,"author":{"gitId":"-"},"content":" (firstTime, secondTime) -\u003e firstTime.isBefore(secondTime) || firstTime.equals(secondTime),"},{"lineNumber":819,"author":{"gitId":"-"},"content":" TIME_BEFORE_ERROR_MESSAGE);"},{"lineNumber":820,"author":{"gitId":"-"},"content":" }"},{"lineNumber":821,"author":{"gitId":"-"},"content":""},{"lineNumber":822,"author":{"gitId":"-"},"content":" private static String getInvalidityInfoForFirstTimeIsStrictlyBeforeSecondTime("},{"lineNumber":823,"author":{"gitId":"-"},"content":" Instant earlierTime, Instant laterTime, String entityName, String earlierTimeFieldName,"},{"lineNumber":824,"author":{"gitId":"-"},"content":" String laterTimeFieldName) {"},{"lineNumber":825,"author":{"gitId":"-"},"content":" return getInvalidityInfoForFirstTimeComparedToSecondTime(earlierTime, laterTime, entityName,"},{"lineNumber":826,"author":{"gitId":"-"},"content":" earlierTimeFieldName, laterTimeFieldName, Instant::isBefore,"},{"lineNumber":827,"author":{"gitId":"-"},"content":" TIME_BEFORE_OR_EQUAL_ERROR_MESSAGE);"},{"lineNumber":828,"author":{"gitId":"-"},"content":" }"},{"lineNumber":829,"author":{"gitId":"-"},"content":""},{"lineNumber":830,"author":{"gitId":"-"},"content":" private static String getInvalidityInfoForFirstTimeComparedToSecondTime(Instant earlierTime, Instant laterTime,"},{"lineNumber":831,"author":{"gitId":"-"},"content":" String entityName, String earlierTimeFieldName, String laterTimeFieldName,"},{"lineNumber":832,"author":{"gitId":"-"},"content":" BiPredicate\u003cInstant, Instant\u003e validityChecker,"},{"lineNumber":833,"author":{"gitId":"-"},"content":" String invalidityInfoTemplate) {"},{"lineNumber":834,"author":{"gitId":"-"},"content":""},{"lineNumber":835,"author":{"gitId":"-"},"content":" assert earlierTime !\u003d null;"},{"lineNumber":836,"author":{"gitId":"-"},"content":" assert laterTime !\u003d null;"},{"lineNumber":837,"author":{"gitId":"-"},"content":""},{"lineNumber":838,"author":{"gitId":"-"},"content":" if (TimeHelper.isSpecialTime(earlierTime) || TimeHelper.isSpecialTime(laterTime)) {"},{"lineNumber":839,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":840,"author":{"gitId":"-"},"content":" }"},{"lineNumber":841,"author":{"gitId":"-"},"content":""},{"lineNumber":842,"author":{"gitId":"-"},"content":" if (!validityChecker.test(earlierTime, laterTime)) {"},{"lineNumber":843,"author":{"gitId":"-"},"content":" return String.format(invalidityInfoTemplate, laterTimeFieldName, entityName, earlierTimeFieldName);"},{"lineNumber":844,"author":{"gitId":"-"},"content":" }"},{"lineNumber":845,"author":{"gitId":"-"},"content":""},{"lineNumber":846,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":847,"author":{"gitId":"-"},"content":" }"},{"lineNumber":848,"author":{"gitId":"-"},"content":""},{"lineNumber":849,"author":{"gitId":"-"},"content":" private static String getInvalidityInfoForExactHourTime(Instant time, String timeZone, String timeName) {"},{"lineNumber":850,"author":{"gitId":"-"},"content":" // Timezone offsets are usually a whole number of hours, but a few zones are offset by"},{"lineNumber":851,"author":{"gitId":"-"},"content":" // an additional 30 or 45 minutes, such as in India, South Australia and Nepal."},{"lineNumber":852,"author":{"gitId":"-"},"content":" boolean isExactHour \u003d LocalDateTime.ofInstant(time, ZoneId.of(timeZone)).getMinute() \u003d\u003d 0;"},{"lineNumber":853,"author":{"gitId":"-"},"content":" if (!isExactHour) {"},{"lineNumber":854,"author":{"gitId":"-"},"content":" return String.format(NOT_EXACT_HOUR_ERROR_MESSAGE, timeName);"},{"lineNumber":855,"author":{"gitId":"-"},"content":" }"},{"lineNumber":856,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":857,"author":{"gitId":"-"},"content":" }"},{"lineNumber":858,"author":{"gitId":"-"},"content":""},{"lineNumber":859,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":860,"author":{"gitId":"-"},"content":" * Checks if both the giver type and recipient type for the feedback question is valid."},{"lineNumber":861,"author":{"gitId":"-"},"content":" *"},{"lineNumber":862,"author":{"gitId":"-"},"content":" * @param giverType feedback question giver type to be checked."},{"lineNumber":863,"author":{"gitId":"-"},"content":" * @param recipientType feedback question recipient type to be checked."},{"lineNumber":864,"author":{"gitId":"-"},"content":" * @return Error string if either type is invalid, otherwise empty string."},{"lineNumber":865,"author":{"gitId":"-"},"content":" */"},{"lineNumber":866,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getValidityInfoForFeedbackParticipantType("},{"lineNumber":867,"author":{"gitId":"-"},"content":" FeedbackParticipantType giverType, FeedbackParticipantType recipientType) {"},{"lineNumber":868,"author":{"gitId":"-"},"content":""},{"lineNumber":869,"author":{"gitId":"-"},"content":" assert giverType !\u003d null;"},{"lineNumber":870,"author":{"gitId":"-"},"content":" assert recipientType !\u003d null;"},{"lineNumber":871,"author":{"gitId":"-"},"content":""},{"lineNumber":872,"author":{"gitId":"-"},"content":" List\u003cString\u003e errors \u003d new LinkedList\u003c\u003e();"},{"lineNumber":873,"author":{"gitId":"-"},"content":" if (!giverType.isValidGiver()) {"},{"lineNumber":874,"author":{"gitId":"-"},"content":" errors.add(String.format(PARTICIPANT_TYPE_ERROR_MESSAGE, giverType.toString(), GIVER_TYPE_NAME));"},{"lineNumber":875,"author":{"gitId":"-"},"content":" }"},{"lineNumber":876,"author":{"gitId":"-"},"content":" if (!recipientType.isValidRecipient()) {"},{"lineNumber":877,"author":{"gitId":"-"},"content":" errors.add(String.format(PARTICIPANT_TYPE_ERROR_MESSAGE, recipientType.toString(), RECIPIENT_TYPE_NAME));"},{"lineNumber":878,"author":{"gitId":"-"},"content":" }"},{"lineNumber":879,"author":{"gitId":"-"},"content":" if (giverType \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":880,"author":{"gitId":"-"},"content":" \u0026\u0026 (recipientType \u003d\u003d FeedbackParticipantType.OWN_TEAM"},{"lineNumber":881,"author":{"gitId":"-"},"content":" || recipientType \u003d\u003d FeedbackParticipantType.OWN_TEAM_MEMBERS)) {"},{"lineNumber":882,"author":{"gitId":"-"},"content":" String displayRecipientName \u003d recipientType \u003d\u003d FeedbackParticipantType.OWN_TEAM"},{"lineNumber":883,"author":{"gitId":"-"},"content":" ? \"Giver\u0027s team\" : \"Giver\u0027s team members\";"},{"lineNumber":884,"author":{"gitId":"-"},"content":" errors.add(String.format(PARTICIPANT_TYPE_TEAM_ERROR_MESSAGE,"},{"lineNumber":885,"author":{"gitId":"-"},"content":" displayRecipientName,"},{"lineNumber":886,"author":{"gitId":"-"},"content":" \"Teams in this course\"));"},{"lineNumber":887,"author":{"gitId":"-"},"content":" }"},{"lineNumber":888,"author":{"gitId":"-"},"content":""},{"lineNumber":889,"author":{"gitId":"-"},"content":" return errors;"},{"lineNumber":890,"author":{"gitId":"-"},"content":" }"},{"lineNumber":891,"author":{"gitId":"-"},"content":""},{"lineNumber":892,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":893,"author":{"gitId":"-"},"content":" * Checks if comment giver type is either instructor, student or team."},{"lineNumber":894,"author":{"gitId":"-"},"content":" *"},{"lineNumber":895,"author":{"gitId":"-"},"content":" * @param commentGiverType comment giver type to be checked."},{"lineNumber":896,"author":{"gitId":"-"},"content":" * @return Error string if type is invalid, otherwise empty string."},{"lineNumber":897,"author":{"gitId":"-"},"content":" */"},{"lineNumber":898,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForCommentGiverType(FeedbackParticipantType commentGiverType) {"},{"lineNumber":899,"author":{"gitId":"-"},"content":" assert commentGiverType !\u003d null;"},{"lineNumber":900,"author":{"gitId":"-"},"content":" if (!commentGiverType.equals(FeedbackParticipantType.STUDENTS)"},{"lineNumber":901,"author":{"gitId":"-"},"content":" \u0026\u0026 !commentGiverType.equals(FeedbackParticipantType.INSTRUCTORS)"},{"lineNumber":902,"author":{"gitId":"-"},"content":" \u0026\u0026 !commentGiverType.equals(FeedbackParticipantType.TEAMS)) {"},{"lineNumber":903,"author":{"gitId":"-"},"content":" return \"Invalid comment giver type: \" + commentGiverType;"},{"lineNumber":904,"author":{"gitId":"-"},"content":" }"},{"lineNumber":905,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":906,"author":{"gitId":"-"},"content":" }"},{"lineNumber":907,"author":{"gitId":"-"},"content":""},{"lineNumber":908,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":909,"author":{"gitId":"-"},"content":" * Checks if visibility of comment is following question when comment is from a feedback participant."},{"lineNumber":910,"author":{"gitId":"-"},"content":" *"},{"lineNumber":911,"author":{"gitId":"-"},"content":" * @param isCommentFromFeedbackParticipant true if comment is from feedback participant."},{"lineNumber":912,"author":{"gitId":"-"},"content":" * @param isVisibilityFollowingFeedbackQuestion true if visibility of comment follows question."},{"lineNumber":913,"author":{"gitId":"-"},"content":" * @return Error string if condition is not met, otherwise empty string."},{"lineNumber":914,"author":{"gitId":"-"},"content":" */"},{"lineNumber":915,"author":{"gitId":"-"},"content":" public static String getInvalidityInfoForVisibilityOfFeedbackParticipantComments("},{"lineNumber":916,"author":{"gitId":"-"},"content":" boolean isCommentFromFeedbackParticipant,"},{"lineNumber":917,"author":{"gitId":"-"},"content":" boolean isVisibilityFollowingFeedbackQuestion) {"},{"lineNumber":918,"author":{"gitId":"-"},"content":" if (isCommentFromFeedbackParticipant \u0026\u0026 !isVisibilityFollowingFeedbackQuestion) {"},{"lineNumber":919,"author":{"gitId":"-"},"content":" return \"Comment by feedback participant not following visibility setting of the question.\";"},{"lineNumber":920,"author":{"gitId":"-"},"content":" }"},{"lineNumber":921,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":922,"author":{"gitId":"-"},"content":" }"},{"lineNumber":923,"author":{"gitId":"-"},"content":""},{"lineNumber":924,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":925,"author":{"gitId":"-"},"content":" * Checks if all the given participant types are valid for the purpose of"},{"lineNumber":926,"author":{"gitId":"-"},"content":" * showing different fields of a feedback response."},{"lineNumber":927,"author":{"gitId":"-"},"content":" *"},{"lineNumber":928,"author":{"gitId":"-"},"content":" * @param showResponsesTo the list of participant types to whom responses can be shown"},{"lineNumber":929,"author":{"gitId":"-"},"content":" * @param showGiverNameTo the list of participant types to whom giver name can be shown"},{"lineNumber":930,"author":{"gitId":"-"},"content":" * @param showRecipientNameTo the list of participant types to whom recipient name can be shown"},{"lineNumber":931,"author":{"gitId":"-"},"content":" * @return Error string if any type in any list is invalid, otherwise empty string."},{"lineNumber":932,"author":{"gitId":"-"},"content":" */"},{"lineNumber":933,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getValidityInfoForFeedbackResponseVisibility("},{"lineNumber":934,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showResponsesTo,"},{"lineNumber":935,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showGiverNameTo,"},{"lineNumber":936,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showRecipientNameTo) {"},{"lineNumber":937,"author":{"gitId":"-"},"content":""},{"lineNumber":938,"author":{"gitId":"-"},"content":" assert showResponsesTo !\u003d null;"},{"lineNumber":939,"author":{"gitId":"-"},"content":" assert showGiverNameTo !\u003d null;"},{"lineNumber":940,"author":{"gitId":"-"},"content":" assert showRecipientNameTo !\u003d null;"},{"lineNumber":941,"author":{"gitId":"-"},"content":" assert !showResponsesTo.contains(null);"},{"lineNumber":942,"author":{"gitId":"-"},"content":" assert !showGiverNameTo.contains(null);"},{"lineNumber":943,"author":{"gitId":"-"},"content":" assert !showRecipientNameTo.contains(null);"},{"lineNumber":944,"author":{"gitId":"-"},"content":""},{"lineNumber":945,"author":{"gitId":"-"},"content":" List\u003cString\u003e errors \u003d new LinkedList\u003c\u003e();"},{"lineNumber":946,"author":{"gitId":"-"},"content":""},{"lineNumber":947,"author":{"gitId":"-"},"content":" for (FeedbackParticipantType type : showGiverNameTo) {"},{"lineNumber":948,"author":{"gitId":"-"},"content":" if (!type.isValidViewer()) {"},{"lineNumber":949,"author":{"gitId":"-"},"content":" errors.add(String.format(PARTICIPANT_TYPE_ERROR_MESSAGE,"},{"lineNumber":950,"author":{"gitId":"-"},"content":" type.toString(), VIEWER_TYPE_NAME));"},{"lineNumber":951,"author":{"gitId":"-"},"content":" }"},{"lineNumber":952,"author":{"gitId":"-"},"content":" if (!showResponsesTo.contains(type)) {"},{"lineNumber":953,"author":{"gitId":"-"},"content":" errors.add(\"Trying to show giver name to \""},{"lineNumber":954,"author":{"gitId":"-"},"content":" + type.toString()"},{"lineNumber":955,"author":{"gitId":"-"},"content":" + \" without showing response first.\");"},{"lineNumber":956,"author":{"gitId":"-"},"content":" }"},{"lineNumber":957,"author":{"gitId":"-"},"content":" }"},{"lineNumber":958,"author":{"gitId":"-"},"content":""},{"lineNumber":959,"author":{"gitId":"-"},"content":" for (FeedbackParticipantType type : showRecipientNameTo) {"},{"lineNumber":960,"author":{"gitId":"-"},"content":" if (!type.isValidViewer()) {"},{"lineNumber":961,"author":{"gitId":"-"},"content":" errors.add(String.format(PARTICIPANT_TYPE_ERROR_MESSAGE,"},{"lineNumber":962,"author":{"gitId":"-"},"content":" type.toString(), VIEWER_TYPE_NAME));"},{"lineNumber":963,"author":{"gitId":"-"},"content":" }"},{"lineNumber":964,"author":{"gitId":"-"},"content":" if (!showResponsesTo.contains(type)) {"},{"lineNumber":965,"author":{"gitId":"-"},"content":" errors.add(\"Trying to show recipient name to \""},{"lineNumber":966,"author":{"gitId":"-"},"content":" + type.toString()"},{"lineNumber":967,"author":{"gitId":"-"},"content":" + \" without showing response first.\");"},{"lineNumber":968,"author":{"gitId":"-"},"content":" }"},{"lineNumber":969,"author":{"gitId":"-"},"content":" }"},{"lineNumber":970,"author":{"gitId":"-"},"content":""},{"lineNumber":971,"author":{"gitId":"-"},"content":" for (FeedbackParticipantType type : showResponsesTo) {"},{"lineNumber":972,"author":{"gitId":"-"},"content":" if (!type.isValidViewer()) {"},{"lineNumber":973,"author":{"gitId":"-"},"content":" errors.add(String.format(PARTICIPANT_TYPE_ERROR_MESSAGE,"},{"lineNumber":974,"author":{"gitId":"-"},"content":" type.toString(), VIEWER_TYPE_NAME));"},{"lineNumber":975,"author":{"gitId":"-"},"content":" }"},{"lineNumber":976,"author":{"gitId":"-"},"content":" }"},{"lineNumber":977,"author":{"gitId":"-"},"content":""},{"lineNumber":978,"author":{"gitId":"-"},"content":" return errors;"},{"lineNumber":979,"author":{"gitId":"-"},"content":" }"},{"lineNumber":980,"author":{"gitId":"-"},"content":""},{"lineNumber":981,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":982,"author":{"gitId":"-"},"content":" * Checks if the given {@code value} has no HTML code."},{"lineNumber":983,"author":{"gitId":"-"},"content":" */"},{"lineNumber":984,"author":{"gitId":"-"},"content":" static String getValidityInfoForNonHtmlField(String fieldName, String value) {"},{"lineNumber":985,"author":{"gitId":"-"},"content":" String sanitizedValue \u003d SanitizationHelper.sanitizeForHtml(value);"},{"lineNumber":986,"author":{"gitId":"-"},"content":" //Fails if sanitized value is not same as value"},{"lineNumber":987,"author":{"gitId":"-"},"content":" return value.equals(sanitizedValue) ? \"\" : NON_HTML_FIELD_ERROR_MESSAGE.replace(\"${fieldName}\", fieldName);"},{"lineNumber":988,"author":{"gitId":"-"},"content":" }"},{"lineNumber":989,"author":{"gitId":"-"},"content":""},{"lineNumber":990,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":991,"author":{"gitId":"-"},"content":" * Checks if the given {@code value} is not null."},{"lineNumber":992,"author":{"gitId":"-"},"content":" */"},{"lineNumber":993,"author":{"gitId":"-"},"content":" public static String getValidityInfoForNonNullField(String fieldName, Object value) {"},{"lineNumber":994,"author":{"gitId":"-"},"content":" return value \u003d\u003d null ? NON_NULL_FIELD_ERROR_MESSAGE.replace(\"${fieldName}\", fieldName) : \"\";"},{"lineNumber":995,"author":{"gitId":"-"},"content":" }"},{"lineNumber":996,"author":{"gitId":"-"},"content":""},{"lineNumber":997,"author":{"gitId":"-"},"content":" private static boolean isUntrimmed(String value) {"},{"lineNumber":998,"author":{"gitId":"-"},"content":" return value.length() !\u003d value.trim().length();"},{"lineNumber":999,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1000,"author":{"gitId":"-"},"content":""},{"lineNumber":1001,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1002,"author":{"gitId":"-"},"content":" * Checks whether a given text input represents a format of a valid email address."},{"lineNumber":1003,"author":{"gitId":"-"},"content":" * @param email text input which needs the validation"},{"lineNumber":1004,"author":{"gitId":"-"},"content":" * @return true if it is a valid email address, else false."},{"lineNumber":1005,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1006,"author":{"gitId":"-"},"content":" private static boolean isValidEmailAddress(String email) {"},{"lineNumber":1007,"author":{"gitId":"-"},"content":" return StringHelper.isMatching(email, REGEX_EMAIL);"},{"lineNumber":1008,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1009,"author":{"gitId":"-"},"content":""},{"lineNumber":1010,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1011,"author":{"gitId":"-"},"content":" * Checks whether all the elements in a Collection are unique."},{"lineNumber":1012,"author":{"gitId":"-"},"content":" * @param elements The Collection of elements to be checked."},{"lineNumber":1013,"author":{"gitId":"-"},"content":" * @return true if all elements are unique, else false."},{"lineNumber":1014,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1015,"author":{"gitId":"-"},"content":" public static \u003cT\u003e boolean areElementsUnique(Collection\u003cT\u003e elements) {"},{"lineNumber":1016,"author":{"gitId":"-"},"content":" Set\u003cT\u003e uniqueElements \u003d new HashSet\u003c\u003e(elements);"},{"lineNumber":1017,"author":{"gitId":"-"},"content":" return uniqueElements.size() \u003d\u003d elements.size();"},{"lineNumber":1018,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1019,"author":{"gitId":"-"},"content":""},{"lineNumber":1020,"author":{"gitId":"-"},"content":" private static String getPopulatedErrorMessage("},{"lineNumber":1021,"author":{"gitId":"-"},"content":" String messageTemplate, String userInput, String fieldName, String errorReason, int maxLength) {"},{"lineNumber":1022,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(messageTemplate, userInput, fieldName, errorReason)"},{"lineNumber":1023,"author":{"gitId":"-"},"content":" .replace(\"${maxLength}\", String.valueOf(maxLength));"},{"lineNumber":1024,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1025,"author":{"gitId":"-"},"content":""},{"lineNumber":1026,"author":{"gitId":"-"},"content":" private static String getPopulatedErrorMessage("},{"lineNumber":1027,"author":{"gitId":"-"},"content":" String messageTemplate, String userInput, String fieldName, String errorReason) {"},{"lineNumber":1028,"author":{"gitId":"-"},"content":" return messageTemplate.replace(\"${userInput}\", userInput)"},{"lineNumber":1029,"author":{"gitId":"-"},"content":" .replace(\"${fieldName}\", fieldName)"},{"lineNumber":1030,"author":{"gitId":"-"},"content":" .replace(\"${reason}\", errorReason);"},{"lineNumber":1031,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1032,"author":{"gitId":"-"},"content":""},{"lineNumber":1033,"author":{"gitId":"-"},"content":" private static String getPopulatedEmptyStringErrorMessage(String messageTemplate,"},{"lineNumber":1034,"author":{"gitId":"-"},"content":" String fieldName, int maxLength) {"},{"lineNumber":1035,"author":{"gitId":"-"},"content":" return messageTemplate.replace(\"${fieldName}\", fieldName)"},{"lineNumber":1036,"author":{"gitId":"-"},"content":" .replace(\"${maxLength}\", String.valueOf(maxLength));"},{"lineNumber":1037,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1038,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":1,"-":1037}},{"path":"src/main/java/teammates/common/util/HibernateUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import jakarta.persistence.TypedQuery;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaBuilder;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaDelete;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaQuery;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.hibernate.Session;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.hibernate.SessionFactory;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.hibernate.Transaction;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.hibernate.cfg.Configuration;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.hibernate.query.MutationQuery;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.hibernate.resource.transaction.spi.TransactionStatus;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.BaseEntity;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.ReadNotification;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.UsageStatistics;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.User;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackConstantSumQuestion;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackContributionQuestion;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackMcqQuestion;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackMsqQuestion;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackNumericalScaleQuestion;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackRankOptionsQuestion;"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackRankRecipientsQuestion;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackRubricQuestion;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackTextQuestion;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackConstantSumResponse;"},{"lineNumber":46,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackContributionResponse;"},{"lineNumber":47,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackMcqResponse;"},{"lineNumber":48,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackMsqResponse;"},{"lineNumber":49,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackNumericalScaleResponse;"},{"lineNumber":50,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackRankOptionsResponse;"},{"lineNumber":51,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackRankRecipientsResponse;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackRubricResponse;"},{"lineNumber":53,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackTextResponse;"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":56,"author":{"gitId":"-"},"content":" * Utility class for Hibernate related methods."},{"lineNumber":57,"author":{"gitId":"-"},"content":" */"},{"lineNumber":58,"author":{"gitId":"-"},"content":"public final class HibernateUtil {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static SessionFactory sessionFactory;"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" private static final List\u003cClass\u003c? extends BaseEntity\u003e\u003e ANNOTATED_CLASSES \u003d List.of("},{"lineNumber":62,"author":{"gitId":"-"},"content":" AccountRequest.class,"},{"lineNumber":63,"author":{"gitId":"-"},"content":" Course.class,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" FeedbackSession.class,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" Account.class,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" Notification.class,"},{"lineNumber":67,"author":{"gitId":"-"},"content":" ReadNotification.class,"},{"lineNumber":68,"author":{"gitId":"-"},"content":" User.class,"},{"lineNumber":69,"author":{"gitId":"-"},"content":" Instructor.class,"},{"lineNumber":70,"author":{"gitId":"-"},"content":" Student.class,"},{"lineNumber":71,"author":{"gitId":"-"},"content":" UsageStatistics.class,"},{"lineNumber":72,"author":{"gitId":"-"},"content":" Section.class,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" Team.class,"},{"lineNumber":74,"author":{"gitId":"-"},"content":" FeedbackQuestion.class,"},{"lineNumber":75,"author":{"gitId":"-"},"content":" FeedbackConstantSumQuestion.class,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" FeedbackContributionQuestion.class,"},{"lineNumber":77,"author":{"gitId":"-"},"content":" FeedbackMcqQuestion.class,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" FeedbackMsqQuestion.class,"},{"lineNumber":79,"author":{"gitId":"-"},"content":" FeedbackNumericalScaleQuestion.class,"},{"lineNumber":80,"author":{"gitId":"-"},"content":" FeedbackRankOptionsQuestion.class,"},{"lineNumber":81,"author":{"gitId":"-"},"content":" FeedbackRankRecipientsQuestion.class,"},{"lineNumber":82,"author":{"gitId":"-"},"content":" FeedbackRubricQuestion.class,"},{"lineNumber":83,"author":{"gitId":"-"},"content":" FeedbackTextQuestion.class,"},{"lineNumber":84,"author":{"gitId":"-"},"content":" DeadlineExtension.class,"},{"lineNumber":85,"author":{"gitId":"-"},"content":" FeedbackResponse.class,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" FeedbackConstantSumResponse.class,"},{"lineNumber":87,"author":{"gitId":"-"},"content":" FeedbackContributionResponse.class,"},{"lineNumber":88,"author":{"gitId":"-"},"content":" FeedbackMcqResponse.class,"},{"lineNumber":89,"author":{"gitId":"-"},"content":" FeedbackMsqResponse.class,"},{"lineNumber":90,"author":{"gitId":"-"},"content":" FeedbackNumericalScaleResponse.class,"},{"lineNumber":91,"author":{"gitId":"-"},"content":" FeedbackRankOptionsResponse.class,"},{"lineNumber":92,"author":{"gitId":"-"},"content":" FeedbackRankRecipientsResponse.class,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" FeedbackRubricResponse.class,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" FeedbackTextResponse.class,"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" FeedbackResponseComment.class,"},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog.class);"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" private HibernateUtil() {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" // Utility class"},{"lineNumber":100,"author":{"gitId":"-"},"content":" // Intentional private constructor to prevent instantiation."},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Builds a session factory if it does not already exist."},{"lineNumber":105,"author":{"gitId":"-"},"content":" */"},{"lineNumber":106,"author":{"gitId":"-"},"content":" public static void buildSessionFactory(String dbUrl, String username, String password) {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" synchronized (HibernateUtil.class) {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" if (sessionFactory !\u003d null) {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" Configuration config \u003d new Configuration()"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .setProperty(\"hibernate.dialect\", \"org.hibernate.dialect.PostgreSQLDialect\")"},{"lineNumber":115,"author":{"gitId":"-"},"content":" .setProperty(\"hibernate.connection.driver_class\", \"org.postgresql.Driver\")"},{"lineNumber":116,"author":{"gitId":"-"},"content":" .setProperty(\"hibernate.connection.provider_class\","},{"lineNumber":117,"author":{"gitId":"-"},"content":" \"org.hibernate.hikaricp.internal.HikariCPConnectionProvider\")"},{"lineNumber":118,"author":{"gitId":"-"},"content":" .setProperty(\"hibernate.connection.username\", username)"},{"lineNumber":119,"author":{"gitId":"-"},"content":" .setProperty(\"hibernate.connection.password\", password)"},{"lineNumber":120,"author":{"gitId":"-"},"content":" .setProperty(\"hibernate.connection.url\", dbUrl)"},{"lineNumber":121,"author":{"gitId":"-"},"content":" .setProperty(\"hibernate.hbm2ddl.auto\", \"validate\")"},{"lineNumber":122,"author":{"gitId":"-"},"content":" .setProperty(\"show_sql\", \"true\")"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .setProperty(\"hibernate.current_session_context_class\", \"thread\")"},{"lineNumber":124,"author":{"gitId":"-"},"content":" .setProperty(\"hibernate.hikari.minimumIdle\", \"10\")"},{"lineNumber":125,"author":{"gitId":"-"},"content":" .setProperty(\"hibernate.hikari.maximumPoolSize\", \"30\")"},{"lineNumber":126,"author":{"gitId":"-"},"content":" .setProperty(\"hibernate.hikari.idleTimeout\", \"300000\")"},{"lineNumber":127,"author":{"gitId":"-"},"content":" .setProperty(\"hibernate.hikari.connectionTimeout\", \"30000\")"},{"lineNumber":128,"author":{"gitId":"-"},"content":" // Uncomment only during migration for optimized batch-insertion, batch-update, and batch-fetch."},{"lineNumber":129,"author":{"gitId":"-"},"content":" // .setProperty(\"hibernate.jdbc.batch_size\", \"50\")"},{"lineNumber":130,"author":{"gitId":"-"},"content":" // .setProperty(\"hibernate.order_updates\", \"true\")"},{"lineNumber":131,"author":{"gitId":"-"},"content":" // .setProperty(\"hibernate.batch_versioned_data\", \"true\")"},{"lineNumber":132,"author":{"gitId":"-"},"content":" // .setProperty(\"hibernate.jdbc.fetch_size\", \"50\")"},{"lineNumber":133,"author":{"gitId":"-"},"content":" .addPackage(\"teammates.storage.sqlentity\");"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" if (Config.IS_DEV_SERVER) {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" config.setProperty(\"hibernate.hbm2ddl.auto\", \"update\");"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" for (Class\u003c? extends BaseEntity\u003e cls : ANNOTATED_CLASSES) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" config \u003d config.addAnnotatedClass(cls);"},{"lineNumber":141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":" config.setPhysicalNamingStrategy(new CamelCaseToUnderscoresNamingStrategy());"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" setSessionFactory(config.buildSessionFactory());"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":148,"author":{"gitId":"-"},"content":" * Returns the SessionFactory."},{"lineNumber":149,"author":{"gitId":"-"},"content":" */"},{"lineNumber":150,"author":{"gitId":"-"},"content":" private static SessionFactory getSessionFactory() {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" assert sessionFactory !\u003d null;"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" return sessionFactory;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":157,"author":{"gitId":"-"},"content":" * Returns the current hibernate session."},{"lineNumber":158,"author":{"gitId":"-"},"content":" * @see SessionFactory#getCurrentSession()"},{"lineNumber":159,"author":{"gitId":"-"},"content":" */"},{"lineNumber":160,"author":{"gitId":"-"},"content":" private static Session getCurrentSession() {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" return getSessionFactory().getCurrentSession();"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":165,"author":{"gitId":"-"},"content":" * Returns a CriteriaBuilder object."},{"lineNumber":166,"author":{"gitId":"-"},"content":" * @see SessionFactory#getCriteriaBuilder()"},{"lineNumber":167,"author":{"gitId":"-"},"content":" */"},{"lineNumber":168,"author":{"gitId":"-"},"content":" public static CriteriaBuilder getCriteriaBuilder() {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" return getCurrentSession().getCriteriaBuilder();"},{"lineNumber":170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":173,"author":{"gitId":"-"},"content":" * Returns a generic typed TypedQuery object."},{"lineNumber":174,"author":{"gitId":"-"},"content":" * @see Session#createQuery(CriteriaQuery)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" */"},{"lineNumber":176,"author":{"gitId":"-"},"content":" public static \u003cT\u003e TypedQuery\u003cT\u003e createQuery(CriteriaQuery\u003cT\u003e cr) {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" return getCurrentSession().createQuery(cr);"},{"lineNumber":178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":181,"author":{"gitId":"-"},"content":" * Returns a MutationQuery object."},{"lineNumber":182,"author":{"gitId":"-"},"content":" * @see Session#createMutationQuery(CriteriaDelete)"},{"lineNumber":183,"author":{"gitId":"-"},"content":" */"},{"lineNumber":184,"author":{"gitId":"-"},"content":" public static \u003cT\u003e MutationQuery createMutationQuery(CriteriaDelete\u003cT\u003e cd) {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" return getCurrentSession().createMutationQuery(cd);"},{"lineNumber":186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" public static void setSessionFactory(SessionFactory sessionFactory) {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" HibernateUtil.sessionFactory \u003d sessionFactory;"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":193,"author":{"gitId":"-"},"content":" * Start a resource transaction."},{"lineNumber":194,"author":{"gitId":"-"},"content":" * @see Transaction#begin()"},{"lineNumber":195,"author":{"gitId":"-"},"content":" */"},{"lineNumber":196,"author":{"gitId":"-"},"content":" public static void beginTransaction() {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" Transaction transaction \u003d getCurrentSession().getTransaction();"},{"lineNumber":198,"author":{"gitId":"-"},"content":" transaction.begin();"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":202,"author":{"gitId":"-"},"content":" * Roll back the current resource transaction if needed."},{"lineNumber":203,"author":{"gitId":"-"},"content":" * @see Transaction#rollback()"},{"lineNumber":204,"author":{"gitId":"-"},"content":" */"},{"lineNumber":205,"author":{"gitId":"-"},"content":" public static void rollbackTransaction() {"},{"lineNumber":206,"author":{"gitId":"-"},"content":" Session session \u003d getCurrentSession();"},{"lineNumber":207,"author":{"gitId":"-"},"content":" if (session.getTransaction().getStatus() \u003d\u003d TransactionStatus.ACTIVE"},{"lineNumber":208,"author":{"gitId":"-"},"content":" || session.getTransaction().getStatus() \u003d\u003d TransactionStatus.MARKED_ROLLBACK) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" session.getTransaction().rollback();"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":214,"author":{"gitId":"-"},"content":" * Commit the current resource transaction, writing any unflushed changes to the database."},{"lineNumber":215,"author":{"gitId":"-"},"content":" * @see Transaction#commit()"},{"lineNumber":216,"author":{"gitId":"-"},"content":" */"},{"lineNumber":217,"author":{"gitId":"-"},"content":" public static void commitTransaction() {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" Transaction transaction \u003d getCurrentSession().getTransaction();"},{"lineNumber":219,"author":{"gitId":"-"},"content":" transaction.commit();"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":223,"author":{"gitId":"-"},"content":" * Force this session to flush. Must be called at the end of a unit of work, before the transaction is committed."},{"lineNumber":224,"author":{"gitId":"-"},"content":" * @see Session#flush()"},{"lineNumber":225,"author":{"gitId":"-"},"content":" */"},{"lineNumber":226,"author":{"gitId":"-"},"content":" public static void flushSession() {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" getCurrentSession().flush();"},{"lineNumber":228,"author":{"gitId":"-"},"content":" }"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":231,"author":{"gitId":"-"},"content":" * Force this session to clear. Usually called together with flush."},{"lineNumber":232,"author":{"gitId":"-"},"content":" * @see Session#clear()"},{"lineNumber":233,"author":{"gitId":"-"},"content":" */"},{"lineNumber":234,"author":{"gitId":"-"},"content":" public static void clearSession() {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" getCurrentSession().clear();"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":239,"author":{"gitId":"-"},"content":" * Return the persistent instance of the given entity class with the given identifier,"},{"lineNumber":240,"author":{"gitId":"-"},"content":" * or null if there is no such persistent instance."},{"lineNumber":241,"author":{"gitId":"-"},"content":" * @see Session#get(Class, Object)"},{"lineNumber":242,"author":{"gitId":"-"},"content":" */"},{"lineNumber":243,"author":{"gitId":"-"},"content":" public static \u003cT extends BaseEntity\u003e T get(Class\u003cT\u003e entityType, Object id) {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" return getCurrentSession().get(entityType, id);"},{"lineNumber":245,"author":{"gitId":"-"},"content":" }"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":248,"author":{"gitId":"-"},"content":" * Return the persistent instance of the given entity class with the given natural id,"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * or null if there is no such persistent instance."},{"lineNumber":250,"author":{"gitId":"-"},"content":" * @see Session#get(Class, Object)"},{"lineNumber":251,"author":{"gitId":"-"},"content":" */"},{"lineNumber":252,"author":{"gitId":"-"},"content":" public static \u003cT extends BaseEntity\u003e T getBySimpleNaturalId(Class\u003cT\u003e entityType, Object id) {"},{"lineNumber":253,"author":{"gitId":"-"},"content":" return getCurrentSession().bySimpleNaturalId(entityType).load(id);"},{"lineNumber":254,"author":{"gitId":"-"},"content":" }"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":257,"author":{"gitId":"-"},"content":" * Copy the state of the given object onto the persistent object with the same identifier."},{"lineNumber":258,"author":{"gitId":"-"},"content":" * @see Session#merge(E)"},{"lineNumber":259,"author":{"gitId":"-"},"content":" */"},{"lineNumber":260,"author":{"gitId":"-"},"content":" public static \u003cE\u003e E merge(E object) {"},{"lineNumber":261,"author":{"gitId":"-"},"content":" return getCurrentSession().merge(object);"},{"lineNumber":262,"author":{"gitId":"-"},"content":" }"},{"lineNumber":263,"author":{"gitId":"-"},"content":""},{"lineNumber":264,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":265,"author":{"gitId":"-"},"content":" * Make a transient instance persistent and mark it for later insertion in the database."},{"lineNumber":266,"author":{"gitId":"-"},"content":" * @see Session#persist(Object)"},{"lineNumber":267,"author":{"gitId":"-"},"content":" */"},{"lineNumber":268,"author":{"gitId":"-"},"content":" public static void persist(BaseEntity entity) {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" getCurrentSession().persist(entity);"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":273,"author":{"gitId":"-"},"content":" * Mark a persistence instance associated with this session for removal from the underlying database."},{"lineNumber":274,"author":{"gitId":"-"},"content":" * @see Session#remove(Object)"},{"lineNumber":275,"author":{"gitId":"-"},"content":" */"},{"lineNumber":276,"author":{"gitId":"-"},"content":" public static void remove(BaseEntity entity) {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" getCurrentSession().remove(entity);"},{"lineNumber":278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":281,"author":{"gitId":"-"},"content":" * Create and execute a {@code MutationQuery} for the given delete criteria tree."},{"lineNumber":282,"author":{"gitId":"-"},"content":" */"},{"lineNumber":283,"author":{"gitId":"-"},"content":" public static \u003cT\u003e void executeDelete(CriteriaDelete\u003cT\u003e cd) {"},{"lineNumber":284,"author":{"gitId":"-"},"content":" getCurrentSession().createMutationQuery(cd).executeUpdate();"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":288,"author":{"gitId":"dishenggg"},"content":" * Return a reference to the persistent instance with the given class and"},{"lineNumber":289,"author":{"gitId":"dishenggg"},"content":" * identifier,making the assumption that the instance is still persistent in the"},{"lineNumber":290,"author":{"gitId":"dishenggg"},"content":" * database."},{"lineNumber":291,"author":{"gitId":"dishenggg"},"content":" * @see Session#getReference(Class, Object)"},{"lineNumber":292,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":293,"author":{"gitId":"dishenggg"},"content":" public static \u003cT\u003e T getReference(Class\u003cT\u003e entityType, Object id) {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" return getCurrentSession().getReference(entityType, id);"},{"lineNumber":295,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":296,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":12,"-":285}},{"path":"src/main/java/teammates/common/util/Templates.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Contains utility methods for creating strings from given templates."},{"lineNumber":5,"author":{"gitId":"-"},"content":" */"},{"lineNumber":6,"author":{"gitId":"-"},"content":"public final class Templates {"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":" public static final String INSTRUCTOR_SAMPLE_DATA \u003d FileHelper.readResourceFile(\"InstructorSampleData.json\");"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":" private Templates() {"},{"lineNumber":11,"author":{"gitId":"-"},"content":" // utility class"},{"lineNumber":12,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Populates the HTML templates by replacing variables in the template string"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * with the given value strings."},{"lineNumber":17,"author":{"gitId":"-"},"content":" * @param template The template html to be populated"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * @param keyValuePairs Array of a variable, even number of key-value pairs:"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * { \"key1\", \"val1\", \"key2\", \"val2\", ... }"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * @return The populated template"},{"lineNumber":21,"author":{"gitId":"-"},"content":" */"},{"lineNumber":22,"author":{"gitId":"-"},"content":" public static String populateTemplate(String template, String... keyValuePairs) {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" assert keyValuePairs.length % 2 \u003d\u003d 0 : \"The number of elements in keyValuePairs passed in must be even\";"},{"lineNumber":24,"author":{"gitId":"-"},"content":" String populatedTemplate \u003d template;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c keyValuePairs.length; i +\u003d 2) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" populatedTemplate \u003d populatedTemplate.replace(keyValuePairs[i], keyValuePairs[i + 1]);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":" return populatedTemplate;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * Collection of templates of emails to be sent by the system."},{"lineNumber":33,"author":{"gitId":"-"},"content":" */"},{"lineNumber":34,"author":{"gitId":"-"},"content":" public static class EmailTemplates {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" public static final String ADMIN_NEW_ACCOUNT_REQUEST_ALERT \u003d"},{"lineNumber":36,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"adminEmailTemplate-newAccountRequestAlert.html\");"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" public static final String INSTRUCTOR_NEW_ACCOUNT_REQUEST_ACKNOWLEDGEMENT \u003d"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" FileHelper.readResourceFile(\"instructorEmailTemplate-newAccountRequestAcknowledgement.html\");"},{"lineNumber":39,"author":{"gitId":"-"},"content":" public static final String USER_COURSE_JOIN \u003d"},{"lineNumber":40,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"userEmailTemplate-courseJoin.html\");"},{"lineNumber":41,"author":{"gitId":"-"},"content":" public static final String USER_COURSE_REGISTER \u003d"},{"lineNumber":42,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"userEmailTemplate-userRegisterForCourse.html\");"},{"lineNumber":43,"author":{"gitId":"-"},"content":" public static final String FRAGMENT_STUDENT_COURSE_JOIN \u003d"},{"lineNumber":44,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"studentEmailFragment-courseJoin.html\");"},{"lineNumber":45,"author":{"gitId":"-"},"content":" public static final String FRAGMENT_STUDENT_COURSE_REJOIN_AFTER_GOOGLE_ID_RESET \u003d"},{"lineNumber":46,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"studentEmailFragment-googleIdReset.html\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":" public static final String FRAGMENT_STUDENT_COURSE_REJOIN_AFTER_REGKEY_RESET \u003d"},{"lineNumber":48,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"studentEmailFragment-registrationKeyReset.html\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":" public static final String FRAGMENT_INSTRUCTOR_COPY_PREAMBLE \u003d"},{"lineNumber":50,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"instructorEmailFragment-instructorCopyPreamble.html\");"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static final String FRAGMENT_INSTRUCTOR_COURSE_JOIN \u003d"},{"lineNumber":52,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"instructorEmailFragment-courseJoin.html\");"},{"lineNumber":53,"author":{"gitId":"-"},"content":" public static final String FRAGMENT_INSTRUCTOR_COURSE_REJOIN_AFTER_GOOGLE_ID_RESET \u003d"},{"lineNumber":54,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"instructorEmailFragment-googleIdReset.html\");"},{"lineNumber":55,"author":{"gitId":"-"},"content":" public static final String FRAGMENT_INSTRUCTOR_COURSE_REJOIN_AFTER_REGKEY_RESET \u003d"},{"lineNumber":56,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"instructorEmailFragment-registrationKeyReset.html\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public static final String USER_FEEDBACK_SESSION \u003d"},{"lineNumber":58,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"userEmailTemplate-feedbackSession.html\");"},{"lineNumber":59,"author":{"gitId":"-"},"content":" public static final String USER_FEEDBACK_SESSION_OPENING \u003d"},{"lineNumber":60,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"userEmailTemplate-feedbackSessionOpening.html\");"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public static final String USER_FEEDBACK_SESSION_PUBLISHED \u003d"},{"lineNumber":62,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"userEmailTemplate-feedbackSessionPublished.html\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" public static final String FRAGMENT_SESSION_LINKS_RECOVERY_ACCESS_LINKS_BY_SESSION \u003d"},{"lineNumber":64,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"sessionLinksRecoveryEmailTemplateFragment-sessionAccessLinksBySession.html\");"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static final String FRAGMENT_SESSION_LINKS_RECOVERY_ACCESS_LINKS_BY_COURSE \u003d"},{"lineNumber":66,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"sessionLinksRecoveryEmailTemplateFragment-sessionAccessLinksByCourse.html\");"},{"lineNumber":67,"author":{"gitId":"-"},"content":" public static final String SESSION_LINKS_RECOVERY_ACCESS_LINKS \u003d"},{"lineNumber":68,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"sessionLinksRecoveryEmailTemplate-feedbackSessionAccessLinks.html\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" public static final String SESSION_LINKS_RECOVERY_ACCESS_LINKS_NONE \u003d"},{"lineNumber":70,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"sessionLinksRecoveryEmailTemplate-feedbackSessionAccessLinksNone.html\");"},{"lineNumber":71,"author":{"gitId":"-"},"content":" public static final String SESSION_LINKS_RECOVERY_EMAIL_NOT_FOUND \u003d"},{"lineNumber":72,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"sessionLinksRecoveryEmailTemplate-emailNotFound.html\");"},{"lineNumber":73,"author":{"gitId":"-"},"content":" public static final String USER_FEEDBACK_SESSION_UNPUBLISHED \u003d"},{"lineNumber":74,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"userEmailTemplate-feedbackSessionUnpublished.html\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public static final String FRAGMENT_SINGLE_FEEDBACK_SESSION_LINKS \u003d"},{"lineNumber":76,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"userEmailTemplateFragment-feedbackSessionResendAllLinks.html\");"},{"lineNumber":77,"author":{"gitId":"-"},"content":" public static final String USER_FEEDBACK_SESSION_RESEND_ALL_LINKS \u003d"},{"lineNumber":78,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"userEmailTemplate-feedbackSessionResendAllLinks.html\");"},{"lineNumber":79,"author":{"gitId":"-"},"content":" public static final String USER_REGKEY_REGENERATION_RESEND_ALL_COURSE_LINKS \u003d"},{"lineNumber":80,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"userEmailTemplate-regenerateLinksResendAllCourseLinks.html\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":" public static final String SEVERE_ERROR_LOG_LINE \u003d"},{"lineNumber":82,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"severeErrorLogLine.html\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":" public static final String LOGIN_EMAIL \u003d"},{"lineNumber":84,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"loginEmail.html\");"},{"lineNumber":85,"author":{"gitId":"-"},"content":" public static final String NEW_INSTRUCTOR_ACCOUNT_WELCOME \u003d"},{"lineNumber":86,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"newInstructorAccountWelcome.html\");"},{"lineNumber":87,"author":{"gitId":"-"},"content":" public static final String FRAGMENT_SESSION_ADDITIONAL_CONTACT_INFORMATION \u003d"},{"lineNumber":88,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"userEmailFragment-sessionAdditionalContactInformationFragment.html\");"},{"lineNumber":89,"author":{"gitId":"-"},"content":" public static final String OWNER_FEEDBACK_SESSION \u003d"},{"lineNumber":90,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"ownerEmailTemplate-feedbackSession.html\");"},{"lineNumber":91,"author":{"gitId":"-"},"content":" public static final String FRAGMENT_OPENING_SOON_EDIT_DETAILS \u003d"},{"lineNumber":92,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"ownerEmailFragment-editDetails.html\");"},{"lineNumber":93,"author":{"gitId":"-"},"content":" public static final String FRAGMENT_OPENING_SOON_JOIN_COURSE_BEFORE_EDIT_DETAILS \u003d"},{"lineNumber":94,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"ownerEmailFragment-joinCourseBeforeEditDetails.html\");"},{"lineNumber":95,"author":{"gitId":"-"},"content":" public static final String FRAGMENT_CLOSED_VIEW_RESPONSES \u003d"},{"lineNumber":96,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"ownerEmailFragment-viewResponses.html\");"},{"lineNumber":97,"author":{"gitId":"-"},"content":" public static final String USER_DEADLINE_EXTENSION \u003d"},{"lineNumber":98,"author":{"gitId":"-"},"content":" FileHelper.readResourceFile(\"userEmailTemplate-deadlineExtension.html\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":2,"-":99}},{"path":"src/main/java/teammates/common/util/TimeHelper.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Duration;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.OffsetDateTime;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeParseException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":12,"author":{"gitId":"-"},"content":" * A helper class to hold time-related functions (e.g., converting dates to strings etc.)."},{"lineNumber":13,"author":{"gitId":"-"},"content":" *"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * \u003cp\u003eTime zone is assumed as UTC unless specifically mentioned."},{"lineNumber":15,"author":{"gitId":"-"},"content":" */"},{"lineNumber":16,"author":{"gitId":"-"},"content":"public final class TimeHelper {"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" private TimeHelper() {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" // utility class"},{"lineNumber":20,"author":{"gitId":"-"},"content":" }"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":23,"author":{"gitId":"-"},"content":" * Returns an Instant that represents the nearest hour before the given object."},{"lineNumber":24,"author":{"gitId":"-"},"content":" *"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * \u003cp\u003eThe time zone used is assumed to be the default timezone, namely UTC."},{"lineNumber":26,"author":{"gitId":"-"},"content":" */"},{"lineNumber":27,"author":{"gitId":"-"},"content":" public static Instant getInstantNearestHourBefore(Instant instant) {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" String nearestHourString \u003d formatInstant(instant, Const.DEFAULT_TIME_ZONE, \"yyyy-MM-dd\u0027T\u0027HH:00:00.00\u0027Z\u0027\");"},{"lineNumber":29,"author":{"gitId":"-"},"content":" return parseInstant(nearestHourString);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" * Returns an Instant that represents the nearest quarter hour before the given object."},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" *"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" * \u003cp\u003eThe time zone used is assumed to be the default timezone, namely UTC."},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" public static Instant getInstantNearestQuarterHourBefore(Instant instant) {"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" ZonedDateTime zdt \u003d instant.atZone(ZoneId.of(Const.DEFAULT_TIME_ZONE));"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" int minutesPastQuarter \u003d zdt.getMinute() % 15;"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" ZonedDateTime nearestQuarterZdt \u003d zdt.minusMinutes(minutesPastQuarter).withSecond(0).withNano(0);"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" return nearestQuarterZdt.toInstant();"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":45,"author":{"gitId":"-"},"content":" * Returns an Instant that is offset by a number of days from now."},{"lineNumber":46,"author":{"gitId":"-"},"content":" *"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * @param offsetInDays integer number of days to offset by"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * @return an Instant offset by {@code offsetInDays} days"},{"lineNumber":49,"author":{"gitId":"-"},"content":" */"},{"lineNumber":50,"author":{"gitId":"-"},"content":" public static Instant getInstantDaysOffsetFromNow(long offsetInDays) {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return Instant.now().plus(Duration.ofDays(offsetInDays));"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Returns an Instant that is offset by a number of months from now."},{"lineNumber":56,"author":{"gitId":"-"},"content":" *"},{"lineNumber":57,"author":{"gitId":"-"},"content":" * @param offsetInMonths integer number of months to offset by"},{"lineNumber":58,"author":{"gitId":"-"},"content":" * @param timeZone string representing the time zone to compute local datetime"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * @return an Instant offset by {@code offsetInMonths} days"},{"lineNumber":60,"author":{"gitId":"-"},"content":" */"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public static Instant getInstantMonthsOffsetFromNow(long offsetInMonths, String timeZone) {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":63,"author":{"gitId":"-"},"content":" ZonedDateTime zdt \u003d now.atZone(ZoneId.of(timeZone));"},{"lineNumber":64,"author":{"gitId":"-"},"content":" ZonedDateTime offsetZdt \u003d zdt.plusMonths(offsetInMonths);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return offsetZdt.toInstant();"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":69,"author":{"gitId":"-"},"content":" * Returns an Instant that is offset by a number of days before now."},{"lineNumber":70,"author":{"gitId":"-"},"content":" *"},{"lineNumber":71,"author":{"gitId":"-"},"content":" * @param offsetInDays integer number of days to offset by"},{"lineNumber":72,"author":{"gitId":"-"},"content":" * @return an Instant offset by {@code offsetInDays} days"},{"lineNumber":73,"author":{"gitId":"-"},"content":" */"},{"lineNumber":74,"author":{"gitId":"-"},"content":" public static Instant getInstantDaysOffsetBeforeNow(long offsetInDays) {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" return Instant.now().minus(Duration.ofDays(offsetInDays));"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * Returns an Instant that is offset by a number of hours from now."},{"lineNumber":80,"author":{"gitId":"-"},"content":" *"},{"lineNumber":81,"author":{"gitId":"-"},"content":" * @param offsetInHours integer number of hours to offset by"},{"lineNumber":82,"author":{"gitId":"-"},"content":" * @return an Instant offset by {@code offsetInHours} hours"},{"lineNumber":83,"author":{"gitId":"-"},"content":" */"},{"lineNumber":84,"author":{"gitId":"-"},"content":" public static Instant getInstantHoursOffsetFromNow(long offsetInHours) {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" return Instant.now().plus(Duration.ofHours(offsetInHours));"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":89,"author":{"gitId":"-"},"content":" * Formats a datetime stamp from an {@code instant} using a formatting pattern."},{"lineNumber":90,"author":{"gitId":"-"},"content":" *"},{"lineNumber":91,"author":{"gitId":"-"},"content":" * \u003cp\u003eNote: a formatting pattern containing \u0027a\u0027 (for the period; AM/PM) is treated differently at noon/midday."},{"lineNumber":92,"author":{"gitId":"-"},"content":" * Using that pattern with a datetime whose time falls on \"12:00 PM\" will cause it to be formatted as \"12:00 NOON\".\u003c/p\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" *"},{"lineNumber":94,"author":{"gitId":"-"},"content":" * @param instant the instant to be formatted"},{"lineNumber":95,"author":{"gitId":"-"},"content":" * @param timeZone the time zone to compute local datetime"},{"lineNumber":96,"author":{"gitId":"-"},"content":" * @param pattern formatting pattern, see Oracle docs for DateTimeFormatter for pattern table"},{"lineNumber":97,"author":{"gitId":"-"},"content":" * @return the formatted datetime stamp string"},{"lineNumber":98,"author":{"gitId":"-"},"content":" */"},{"lineNumber":99,"author":{"gitId":"-"},"content":" public static String formatInstant(Instant instant, String timeZone, String pattern) {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" if (instant \u003d\u003d null || timeZone \u003d\u003d null || pattern \u003d\u003d null) {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":" ZonedDateTime zonedDateTime \u003d instant.atZone(ZoneId.of(timeZone));"},{"lineNumber":104,"author":{"gitId":"-"},"content":" String processedPattern \u003d pattern;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" if (zonedDateTime.getHour() \u003d\u003d 12 \u0026\u0026 zonedDateTime.getMinute() \u003d\u003d 0) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" processedPattern \u003d pattern.replace(\"a\", \"\u0027NOON\u0027\");"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(processedPattern);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" return zonedDateTime.format(formatter);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":113,"author":{"gitId":"-"},"content":" * Gets an Instant which is adjusted for midnight time (23:59 and 00:00) at the specified time zone."},{"lineNumber":114,"author":{"gitId":"-"},"content":" * The direction of adjustment (23:59 to 00:00 or vice versa) is determined by {@code isForward} parameter."},{"lineNumber":115,"author":{"gitId":"-"},"content":" */"},{"lineNumber":116,"author":{"gitId":"-"},"content":" public static Instant getMidnightAdjustedInstantBasedOnZone(Instant instant, String timeZone, boolean isForward) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" if (isSpecialTime(instant)) {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" return instant;"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":" ZonedDateTime zonedDateTime \u003d instant.atZone(ZoneId.of(timeZone));"},{"lineNumber":121,"author":{"gitId":"-"},"content":" if (isForward \u0026\u0026 zonedDateTime.getHour() \u003d\u003d 23 \u0026\u0026 zonedDateTime.getMinute() \u003d\u003d 59) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" zonedDateTime \u003d zonedDateTime.plusMinutes(1L);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" } else if (!isForward \u0026\u0026 zonedDateTime.getHour() \u003d\u003d 0 \u0026\u0026 zonedDateTime.getMinute() \u003d\u003d 0) {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" zonedDateTime \u003d zonedDateTime.minusMinutes(1L);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":" return zonedDateTime.toInstant();"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":130,"author":{"gitId":"-"},"content":" * Returns whether the given {@code instant} is being used as a special representation, signifying its face value"},{"lineNumber":131,"author":{"gitId":"-"},"content":" * should not be used without proper processing."},{"lineNumber":132,"author":{"gitId":"-"},"content":" *"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * \u003cp\u003eA {@code null} instant is not a special time.\u003c/p\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":" *"},{"lineNumber":135,"author":{"gitId":"-"},"content":" * @param instant the instant to test"},{"lineNumber":136,"author":{"gitId":"-"},"content":" * @return {@code true} if the given instant is used as a special representation, {@code false} otherwise"},{"lineNumber":137,"author":{"gitId":"-"},"content":" */"},{"lineNumber":138,"author":{"gitId":"-"},"content":" public static boolean isSpecialTime(Instant instant) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" if (instant \u003d\u003d null) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" return instant.equals(Const.TIME_REPRESENTS_FOLLOW_OPENING)"},{"lineNumber":144,"author":{"gitId":"-"},"content":" || instant.equals(Const.TIME_REPRESENTS_FOLLOW_VISIBLE)"},{"lineNumber":145,"author":{"gitId":"-"},"content":" || instant.equals(Const.TIME_REPRESENTS_LATER)"},{"lineNumber":146,"author":{"gitId":"-"},"content":" || instant.equals(Const.TIME_REPRESENTS_NOW);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":150,"author":{"gitId":"-"},"content":" * Parses an {@code Instant} object from a datetime string in the ISO 8601 format."},{"lineNumber":151,"author":{"gitId":"-"},"content":" *"},{"lineNumber":152,"author":{"gitId":"-"},"content":" * @return the parsed {@code Instant} object"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * @throws AssertionError if there is a parsing error"},{"lineNumber":154,"author":{"gitId":"-"},"content":" * @see \u003ca href\u003d\"https://www.w3.org/TR/NOTE-datetime\"\u003ehttps://www.w3.org/TR/NOTE-datetime\u003c/a\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":" */"},{"lineNumber":156,"author":{"gitId":"-"},"content":" public static Instant parseInstant(String dateTimeString) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" return OffsetDateTime.parse(dateTimeString).toInstant();"},{"lineNumber":159,"author":{"gitId":"-"},"content":" } catch (DateTimeParseException e) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" assert false : \"Date in String is in wrong format.\";"},{"lineNumber":161,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":12,"-":153}},{"path":"src/main/java/teammates/logic/api/LogsProcessor.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.logic.api;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackSessionLogEntry;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.QueryLogsResults;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.GeneralLogEntry;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.LogEvent;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.QueryLogsParams;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.logic.external.GoogleCloudLoggingService;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.logic.external.LocalLoggingService;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.logic.external.LogService;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Handles operations related to logs reading/writing."},{"lineNumber":19,"author":{"gitId":"-"},"content":" *"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * \u003cp\u003eNote that while this interface should support writing logs, most of the application/system logs"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * should be written via the standard Logger class."},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class LogsProcessor {"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final LogsProcessor instance \u003d new LogsProcessor();"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private final LogService service;"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" LogsProcessor() {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" if (Config.IS_DEV_SERVER) {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" service \u003d new LocalLoggingService();"},{"lineNumber":31,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" service \u003d new GoogleCloudLoggingService();"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" public static LogsProcessor inst() {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" }"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":41,"author":{"gitId":"-"},"content":" * Queries and retrieves logs with given parameters."},{"lineNumber":42,"author":{"gitId":"-"},"content":" */"},{"lineNumber":43,"author":{"gitId":"-"},"content":" public QueryLogsResults queryLogs(QueryLogsParams queryLogsParams) {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" return service.queryLogs(queryLogsParams);"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Creates a feedback session log."},{"lineNumber":49,"author":{"gitId":"-"},"content":" */"},{"lineNumber":50,"author":{"gitId":"-"},"content":" public void createFeedbackSessionLog(String courseId, String email, String fsName, String fslType) {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" service.createFeedbackSessionLog(courseId, email, fsName, fslType);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" * Creates a feedback session log."},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" public void createFeedbackSessionLog(String courseId, UUID studentId, UUID fsId, String fslType) {"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" service.createFeedbackSessionLog(courseId, studentId, fsId, fslType);"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" * Gets the feedback session logs as filtered by the given parameters ordered by ascending timestamp."},{"lineNumber":63,"author":{"gitId":"-"},"content":" * @param email Can be null"},{"lineNumber":64,"author":{"gitId":"-"},"content":" */"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" public List\u003cFeedbackSessionLogEntry\u003e getOrderedFeedbackSessionLogs(String courseId, String email,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" long startTime, long endTime, String fsName) {"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" return service.getOrderedFeedbackSessionLogs(courseId, email, startTime, endTime, fsName);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" }"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":71,"author":{"gitId":"-"},"content":" * Gets the number of logs for the event type and extra filters."},{"lineNumber":72,"author":{"gitId":"-"},"content":" */"},{"lineNumber":73,"author":{"gitId":"-"},"content":" public int getNumberOfLogsForEvent(Instant startTime, Instant endTime, LogEvent logEvent, String extraFilters) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" int total \u003d 0;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" long logStartTime \u003d startTime.toEpochMilli();"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" while (true) {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" QueryLogsParams logsParams \u003d QueryLogsParams.builder(logStartTime, endTime.toEpochMilli())"},{"lineNumber":79,"author":{"gitId":"-"},"content":" .withLogEvent(logEvent.name())"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .withExtraFilters(extraFilters)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .withOrder(\"asc\")"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .withPageSize(300)"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":84,"author":{"gitId":"-"},"content":" QueryLogsResults logFetchResults \u003d queryLogs(logsParams);"},{"lineNumber":85,"author":{"gitId":"-"},"content":" List\u003cGeneralLogEntry\u003e logs \u003d logFetchResults.getLogEntries();"},{"lineNumber":86,"author":{"gitId":"-"},"content":" total +\u003d logs.size();"},{"lineNumber":87,"author":{"gitId":"-"},"content":" if (logFetchResults.getHasNextPage()) {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" logStartTime \u003d logs.get(logs.size() - 1).getTimestamp();"},{"lineNumber":89,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":" return total;"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":10,"-":86}},{"path":"src/main/java/teammates/logic/api/TaskQueuer.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.logic.api;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const.ParamsNames;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.Const.TaskQueue;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.TaskWrapper;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.logic.external.GoogleCloudTasksService;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.logic.external.LocalTaskQueueService;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.logic.external.TaskQueueService;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackSessionRemindRequest;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.ui.request.SendEmailRequest;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * Allows for adding specific type of tasks to the task queue."},{"lineNumber":21,"author":{"gitId":"-"},"content":" */"},{"lineNumber":22,"author":{"gitId":"-"},"content":"public class TaskQueuer {"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final TaskQueuer instance \u003d new TaskQueuer();"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private final TaskQueueService service;"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" TaskQueuer() {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" if (Config.IS_DEV_SERVER) {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" service \u003d new LocalTaskQueueService();"},{"lineNumber":32,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" service \u003d new GoogleCloudTasksService();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" public static TaskQueuer inst() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" // The following methods are facades to the actual logic for adding tasks to the queue."},{"lineNumber":42,"author":{"gitId":"-"},"content":" // Using this method, the actual logic can still be black-boxed"},{"lineNumber":43,"author":{"gitId":"-"},"content":" // while at the same time allowing this API to be mocked during test."},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" private void addTask(String queueName, String workerUrl, Map\u003cString, String\u003e paramMap, Object requestBody) {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" addDeferredTask(queueName, workerUrl, paramMap, requestBody, 0);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" }"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" void addDeferredTask(String queueName, String workerUrl, Map\u003cString, String\u003e paramMap, Object requestBody,"},{"lineNumber":50,"author":{"gitId":"-"},"content":" long countdownTime) {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" TaskWrapper task \u003d new TaskWrapper(queueName, workerUrl, paramMap, requestBody);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" service.addDeferredTask(task, countdownTime);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" }"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" // The following methods are the actual API methods to be used by the client classes"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":58,"author":{"gitId":"-"},"content":" * Schedules for feedback session reminders (i.e. student has not submitted responses yet)"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * for the specified feedback session."},{"lineNumber":60,"author":{"gitId":"-"},"content":" *"},{"lineNumber":61,"author":{"gitId":"-"},"content":" * @param courseId the course ID of the feedback session"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * @param feedbackSessionName the name of the feedback session"},{"lineNumber":63,"author":{"gitId":"-"},"content":" */"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public void scheduleFeedbackSessionReminders(String courseId, String feedbackSessionName,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" String googleIdOfRequestingInstructor) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e paramMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.INSTRUCTOR_ID, googleIdOfRequestingInstructor);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.FEEDBACK_SESSION_NAME, feedbackSessionName);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.COURSE_ID, courseId);"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" addTask(TaskQueue.FEEDBACK_SESSION_REMIND_EMAIL_QUEUE_NAME,"},{"lineNumber":72,"author":{"gitId":"-"},"content":" TaskQueue.FEEDBACK_SESSION_REMIND_EMAIL_WORKER_URL, paramMap, null);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Schedules for feedback session reminders (i.e. student/instructor has not submitted responses yet)"},{"lineNumber":77,"author":{"gitId":"-"},"content":" * for the specified feedback session for the specified group of users."},{"lineNumber":78,"author":{"gitId":"-"},"content":" *"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * @param courseId the course ID of the feedback session"},{"lineNumber":80,"author":{"gitId":"-"},"content":" * @param feedbackSessionName the name of the feedback session"},{"lineNumber":81,"author":{"gitId":"-"},"content":" * @param usersToRemind the group of users to send the reminders to"},{"lineNumber":82,"author":{"gitId":"-"},"content":" * @param requestingInstructorId the ID of the instructor who sends the reminder"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * @param isSendingCopyToInstructor the indicator of whether to send an email copy to the requesting instructor"},{"lineNumber":84,"author":{"gitId":"-"},"content":" */"},{"lineNumber":85,"author":{"gitId":"-"},"content":" public void scheduleFeedbackSessionRemindersForParticularUsers(String courseId, String feedbackSessionName,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" String[] usersToRemind,"},{"lineNumber":87,"author":{"gitId":"-"},"content":" String requestingInstructorId,"},{"lineNumber":88,"author":{"gitId":"-"},"content":" boolean isSendingCopyToInstructor) {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" FeedbackSessionRemindRequest remindRequest \u003d"},{"lineNumber":90,"author":{"gitId":"-"},"content":" new FeedbackSessionRemindRequest(courseId, feedbackSessionName, requestingInstructorId, usersToRemind,"},{"lineNumber":91,"author":{"gitId":"-"},"content":" isSendingCopyToInstructor);"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" addTask(TaskQueue.FEEDBACK_SESSION_REMIND_PARTICULAR_USERS_EMAIL_QUEUE_NAME,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" TaskQueue.FEEDBACK_SESSION_REMIND_PARTICULAR_USERS_EMAIL_WORKER_URL, new HashMap\u003c\u003e(), remindRequest);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Schedules for feedback session published email to be sent."},{"lineNumber":99,"author":{"gitId":"-"},"content":" *"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * @param courseId the course ID of the feedback session"},{"lineNumber":101,"author":{"gitId":"-"},"content":" * @param feedbackSessionName the name of the feedback session"},{"lineNumber":102,"author":{"gitId":"-"},"content":" */"},{"lineNumber":103,"author":{"gitId":"-"},"content":" public void scheduleFeedbackSessionPublishedEmail(String courseId, String feedbackSessionName) {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e paramMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":105,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.COURSE_ID, courseId);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.FEEDBACK_SESSION_NAME, feedbackSessionName);"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" addTask(TaskQueue.FEEDBACK_SESSION_PUBLISHED_EMAIL_QUEUE_NAME,"},{"lineNumber":109,"author":{"gitId":"-"},"content":" TaskQueue.FEEDBACK_SESSION_PUBLISHED_EMAIL_WORKER_URL, paramMap, null);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":113,"author":{"gitId":"-"},"content":" * Schedules for feedback session publication reminders"},{"lineNumber":114,"author":{"gitId":"-"},"content":" * for the specified feedback session for the specified group of users."},{"lineNumber":115,"author":{"gitId":"-"},"content":" *"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * @param courseId the course ID of the feedback session"},{"lineNumber":117,"author":{"gitId":"-"},"content":" * @param feedbackSessionName the name of the feedback session"},{"lineNumber":118,"author":{"gitId":"-"},"content":" * @param usersToEmail the group of users to send the reminders to"},{"lineNumber":119,"author":{"gitId":"-"},"content":" * @param requestingInstructorId the ID of the instructor who sends the reminder"},{"lineNumber":120,"author":{"gitId":"-"},"content":" */"},{"lineNumber":121,"author":{"gitId":"-"},"content":" public void scheduleFeedbackSessionResendPublishedEmail(String courseId, String feedbackSessionName,"},{"lineNumber":122,"author":{"gitId":"-"},"content":" String[] usersToEmail, String requestingInstructorId) {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" FeedbackSessionRemindRequest remindRequest \u003d"},{"lineNumber":124,"author":{"gitId":"-"},"content":" new FeedbackSessionRemindRequest(courseId, feedbackSessionName, requestingInstructorId, usersToEmail, true);"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" addTask(TaskQueue.FEEDBACK_SESSION_RESEND_PUBLISHED_EMAIL_QUEUE_NAME,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" TaskQueue.FEEDBACK_SESSION_RESEND_PUBLISHED_EMAIL_WORKER_URL, new HashMap\u003c\u003e(), remindRequest);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":131,"author":{"gitId":"-"},"content":" * Schedules for feedback session unpublished email to be sent."},{"lineNumber":132,"author":{"gitId":"-"},"content":" *"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * @param courseId the course ID of the feedback session"},{"lineNumber":134,"author":{"gitId":"-"},"content":" * @param feedbackSessionName the name of the feedback session"},{"lineNumber":135,"author":{"gitId":"-"},"content":" */"},{"lineNumber":136,"author":{"gitId":"-"},"content":" public void scheduleFeedbackSessionUnpublishedEmail(String courseId, String feedbackSessionName) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e paramMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":138,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.COURSE_ID, courseId);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.FEEDBACK_SESSION_NAME, feedbackSessionName);"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" addTask(TaskQueue.FEEDBACK_SESSION_UNPUBLISHED_EMAIL_QUEUE_NAME,"},{"lineNumber":142,"author":{"gitId":"-"},"content":" TaskQueue.FEEDBACK_SESSION_UNPUBLISHED_EMAIL_WORKER_URL, paramMap, null);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" }"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":146,"author":{"gitId":"-"},"content":" * Schedules for course registration to be sent to the specified instructor."},{"lineNumber":147,"author":{"gitId":"-"},"content":" *"},{"lineNumber":148,"author":{"gitId":"-"},"content":" * @param inviterGoogleId googleId of instructor or administrator who sends the invitation"},{"lineNumber":149,"author":{"gitId":"-"},"content":" * @param courseId the target course ID"},{"lineNumber":150,"author":{"gitId":"-"},"content":" * @param instructorEmail the email address of the invited instructor"},{"lineNumber":151,"author":{"gitId":"-"},"content":" */"},{"lineNumber":152,"author":{"gitId":"-"},"content":" public void scheduleCourseRegistrationInviteToInstructor(String inviterGoogleId,"},{"lineNumber":153,"author":{"gitId":"-"},"content":" String instructorEmail, String courseId, boolean isRejoining) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e paramMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":155,"author":{"gitId":"-"},"content":" if (inviterGoogleId !\u003d null) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.INVITER_ID, inviterGoogleId);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" }"},{"lineNumber":158,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.INSTRUCTOR_EMAIL, instructorEmail);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.COURSE_ID, courseId);"},{"lineNumber":160,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.IS_INSTRUCTOR_REJOINING, String.valueOf(isRejoining));"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" addTask(TaskQueue.INSTRUCTOR_COURSE_JOIN_EMAIL_QUEUE_NAME,"},{"lineNumber":163,"author":{"gitId":"-"},"content":" TaskQueue.INSTRUCTOR_COURSE_JOIN_EMAIL_WORKER_URL, paramMap, null);"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":167,"author":{"gitId":"-"},"content":" * Schedules for course registration to be sent to the specified student."},{"lineNumber":168,"author":{"gitId":"-"},"content":" *"},{"lineNumber":169,"author":{"gitId":"-"},"content":" * @param courseId the target course ID"},{"lineNumber":170,"author":{"gitId":"-"},"content":" * @param studentEmail the email address of the student"},{"lineNumber":171,"author":{"gitId":"-"},"content":" */"},{"lineNumber":172,"author":{"gitId":"-"},"content":" public void scheduleCourseRegistrationInviteToStudent(String courseId, String studentEmail, boolean isRejoining) {"},{"lineNumber":173,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e paramMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":174,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.COURSE_ID, courseId);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.STUDENT_EMAIL, studentEmail);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.IS_STUDENT_REJOINING, String.valueOf(isRejoining));"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" addTask(TaskQueue.STUDENT_COURSE_JOIN_EMAIL_QUEUE_NAME,"},{"lineNumber":179,"author":{"gitId":"-"},"content":" TaskQueue.STUDENT_COURSE_JOIN_EMAIL_WORKER_URL, paramMap, null);"},{"lineNumber":180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":183,"author":{"gitId":"-"},"content":" * Schedules for the given list of emails to be sent."},{"lineNumber":184,"author":{"gitId":"-"},"content":" *"},{"lineNumber":185,"author":{"gitId":"-"},"content":" * @param emails the list of emails to be sent"},{"lineNumber":186,"author":{"gitId":"-"},"content":" */"},{"lineNumber":187,"author":{"gitId":"-"},"content":" public void scheduleEmailsForSending(List\u003cEmailWrapper\u003e emails) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" if (emails.isEmpty()) {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" // Equally spread out the emails to be sent over 1 hour"},{"lineNumber":193,"author":{"gitId":"-"},"content":" // Sets interval to a maximum of 5 seconds if the interval is too large"},{"lineNumber":194,"author":{"gitId":"-"},"content":" int oneHourInMillis \u003d 60 * 60 * 1000;"},{"lineNumber":195,"author":{"gitId":"-"},"content":" int emailIntervalMillis \u003d Math.min(5000, oneHourInMillis / emails.size());"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" long numberOfEmailsSent \u003d 0L;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" for (EmailWrapper email : emails) {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" long emailDelayTimer \u003d numberOfEmailsSent * emailIntervalMillis;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" scheduleEmailForSending(email, emailDelayTimer);"},{"lineNumber":201,"author":{"gitId":"-"},"content":" numberOfEmailsSent++;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" }"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":206,"author":{"gitId":"-"},"content":" * Schedules for the search indexing of the instructor identified by {@code courseId} and {@code email}."},{"lineNumber":207,"author":{"gitId":"-"},"content":" *"},{"lineNumber":208,"author":{"gitId":"-"},"content":" * @param courseId the course ID of the instructor"},{"lineNumber":209,"author":{"gitId":"-"},"content":" * @param email the email of the instructor"},{"lineNumber":210,"author":{"gitId":"-"},"content":" */"},{"lineNumber":211,"author":{"gitId":"-"},"content":" public void scheduleInstructorForSearchIndexing(String courseId, String email) {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e paramMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":213,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.COURSE_ID, courseId);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.INSTRUCTOR_EMAIL, email);"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" addTask(TaskQueue.SEARCH_INDEXING_QUEUE_NAME, TaskQueue.INSTRUCTOR_SEARCH_INDEXING_WORKER_URL,"},{"lineNumber":217,"author":{"gitId":"-"},"content":" paramMap, null);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":221,"author":{"gitId":"domoberzin"},"content":" * Schedules for the search indexing of the account request identified by {@code id}."},{"lineNumber":222,"author":{"gitId":"-"},"content":" *"},{"lineNumber":223,"author":{"gitId":"domoberzin"},"content":" * @param id the id associated with the account request"},{"lineNumber":224,"author":{"gitId":"-"},"content":" */"},{"lineNumber":225,"author":{"gitId":"domoberzin"},"content":" public void scheduleAccountRequestForSearchIndexing(String id) {"},{"lineNumber":226,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e paramMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":227,"author":{"gitId":"domoberzin"},"content":" paramMap.put(ParamsNames.ACCOUNT_REQUEST_ID, id);"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" addTask(TaskQueue.SEARCH_INDEXING_QUEUE_NAME, TaskQueue.ACCOUNT_REQUEST_SEARCH_INDEXING_WORKER_URL,"},{"lineNumber":230,"author":{"gitId":"-"},"content":" paramMap, null);"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":234,"author":{"gitId":"-"},"content":" * Schedules for the search indexing of the student identified by {@code courseId} and {@code email}."},{"lineNumber":235,"author":{"gitId":"-"},"content":" *"},{"lineNumber":236,"author":{"gitId":"-"},"content":" * @param courseId the course ID of the student"},{"lineNumber":237,"author":{"gitId":"-"},"content":" * @param email the email of the student"},{"lineNumber":238,"author":{"gitId":"-"},"content":" */"},{"lineNumber":239,"author":{"gitId":"-"},"content":" public void scheduleStudentForSearchIndexing(String courseId, String email) {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e paramMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":241,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.COURSE_ID, courseId);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" paramMap.put(ParamsNames.STUDENT_EMAIL, email);"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" addTask(TaskQueue.SEARCH_INDEXING_QUEUE_NAME, TaskQueue.STUDENT_SEARCH_INDEXING_WORKER_URL,"},{"lineNumber":245,"author":{"gitId":"-"},"content":" paramMap, null);"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" private void scheduleEmailForSending(EmailWrapper email, long emailDelayTimer) {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" SendEmailRequest request \u003d new SendEmailRequest(email);"},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":" addDeferredTask(TaskQueue.SEND_EMAIL_QUEUE_NAME, TaskQueue.SEND_EMAIL_WORKER_URL,"},{"lineNumber":253,"author":{"gitId":"-"},"content":" new HashMap\u003c\u003e(), request, emailDelayTimer);"},{"lineNumber":254,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" String emailSubject \u003d email.getSubject();"},{"lineNumber":256,"author":{"gitId":"-"},"content":" String emailSenderName \u003d email.getSenderName();"},{"lineNumber":257,"author":{"gitId":"-"},"content":" String emailSender \u003d email.getSenderEmail();"},{"lineNumber":258,"author":{"gitId":"-"},"content":" String emailReceiver \u003d email.getRecipient();"},{"lineNumber":259,"author":{"gitId":"-"},"content":" String emailReplyToAddress \u003d email.getReplyTo();"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":" log.severe(\"Error when adding email to task queue: \" + e.getMessage() + \"\\n\""},{"lineNumber":262,"author":{"gitId":"-"},"content":" + \"Email sender: \" + emailSender + \"\\n\""},{"lineNumber":263,"author":{"gitId":"-"},"content":" + \"Email sender name: \" + emailSenderName + \"\\n\""},{"lineNumber":264,"author":{"gitId":"-"},"content":" + \"Email receiver: \" + emailReceiver + \"\\n\""},{"lineNumber":265,"author":{"gitId":"-"},"content":" + \"Email subject: \" + emailSubject + \"\\n\""},{"lineNumber":266,"author":{"gitId":"-"},"content":" + \"Email reply-to address: \" + emailReplyToAddress);"},{"lineNumber":267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":4,"-":266}},{"path":"src/main/java/teammates/logic/external/GoogleCloudLoggingService.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.logic.external;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import com.google.api.gax.paging.Page;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import com.google.cloud.logging.LogEntry;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import com.google.cloud.logging.Logging;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import com.google.cloud.logging.Logging.EntryListOption;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import com.google.cloud.logging.Logging.SortingField;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import com.google.cloud.logging.Logging.SortingOrder;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import com.google.cloud.logging.LoggingOptions;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import com.google.cloud.logging.Payload;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import com.google.cloud.logging.Severity;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackSessionLogEntry;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.QueryLogsResults;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionAuditLogDetails;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.GeneralLogEntry;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.LogDetails;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.LogEvent;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.LogSeverity;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.QueryLogsParams;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.SourceLocation;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Holds functions for operations related to Google Cloud Logging."},{"lineNumber":34,"author":{"gitId":"-"},"content":" */"},{"lineNumber":35,"author":{"gitId":"-"},"content":"public class GoogleCloudLoggingService implements LogService {"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String RESOURCE_TYPE_GAE_APP \u003d \"gae_app\";"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final String STDOUT_LOG_NAME \u003d \"stdout\";"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String STDERR_LOG_NAME \u003d \"stderr\";"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String ASCENDING_ORDER \u003d \"asc\";"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final String TRACE_PREFIX \u003d String.format(\"projects/%s/traces/\", Config.APP_ID);"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":47,"author":{"gitId":"-"},"content":" public QueryLogsResults queryLogs(QueryLogsParams queryLogsParams) {"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" LogSearchParams logSearchParams \u003d LogSearchParams.from(queryLogsParams)"},{"lineNumber":50,"author":{"gitId":"-"},"content":" .addLogName(STDOUT_LOG_NAME)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" .addLogName(STDERR_LOG_NAME)"},{"lineNumber":52,"author":{"gitId":"-"},"content":" .setResourceType(RESOURCE_TYPE_GAE_APP);"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" Page\u003cLogEntry\u003e logEntriesInPage \u003d getPageLogEntries(logSearchParams, queryLogsParams.getPageSize());"},{"lineNumber":55,"author":{"gitId":"-"},"content":" List\u003cGeneralLogEntry\u003e logEntries \u003d new ArrayList\u003c\u003e();"},{"lineNumber":56,"author":{"gitId":"-"},"content":" for (LogEntry entry : logEntriesInPage.getValues()) {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" Severity severity \u003d entry.getSeverity();"},{"lineNumber":58,"author":{"gitId":"-"},"content":" String trace \u003d entry.getTrace();"},{"lineNumber":59,"author":{"gitId":"-"},"content":" if (trace !\u003d null) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" trace \u003d trace.replace(TRACE_PREFIX, \"\");"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":" String insertId \u003d entry.getInsertId();"},{"lineNumber":63,"author":{"gitId":"-"},"content":" com.google.cloud.logging.SourceLocation sourceLocation \u003d entry.getSourceLocation();"},{"lineNumber":64,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e resourceIdentifier \u003d entry.getResource().getLabels();"},{"lineNumber":65,"author":{"gitId":"-"},"content":" Payload\u003c?\u003e payload \u003d entry.getPayload();"},{"lineNumber":66,"author":{"gitId":"-"},"content":" long timestamp \u003d entry.getInstantTimestamp().toEpochMilli();"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" String file \u003d \"\";"},{"lineNumber":69,"author":{"gitId":"-"},"content":" Long line \u003d 0L;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" String function \u003d \"\";"},{"lineNumber":71,"author":{"gitId":"-"},"content":" if (sourceLocation !\u003d null) {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" file \u003d sourceLocation.getFile();"},{"lineNumber":73,"author":{"gitId":"-"},"content":" line \u003d sourceLocation.getLine();"},{"lineNumber":74,"author":{"gitId":"-"},"content":" function \u003d sourceLocation.getFunction();"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" GeneralLogEntry logEntry \u003d new GeneralLogEntry(convertSeverity(severity), trace, insertId,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" resourceIdentifier, new SourceLocation(file, line, function), timestamp);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" if (payload.getType() \u003d\u003d Payload.Type.JSON) {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" Map\u003cString, Object\u003e jsonPayloadMap \u003d ((Payload.JsonPayload) payload).getDataAsMap();"},{"lineNumber":81,"author":{"gitId":"-"},"content":" logEntry.setDetails(JsonUtils.fromJson(JsonUtils.toCompactJson(jsonPayloadMap), LogDetails.class));"},{"lineNumber":82,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" String textPayloadMessage \u003d ((Payload.StringPayload) payload).getData();"},{"lineNumber":84,"author":{"gitId":"-"},"content":" logEntry.setMessage(textPayloadMessage);"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":" logEntries.add(logEntry);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":" boolean hasNextPage \u003d logEntriesInPage.getNextPageToken() !\u003d null;"},{"lineNumber":89,"author":{"gitId":"-"},"content":" return new QueryLogsResults(logEntries, hasNextPage);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" private LogSeverity convertSeverity(Severity severity) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" if (severity \u003d\u003d Severity.ERROR) {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" return LogSeverity.ERROR;"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":" if (severity \u003d\u003d Severity.WARNING) {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" return LogSeverity.WARNING;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":" if (severity \u003d\u003d Severity.INFO || severity \u003d\u003d Severity.NOTICE) {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" return LogSeverity.INFO;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":" if (severity \u003d\u003d Severity.CRITICAL || severity \u003d\u003d Severity.ALERT || severity \u003d\u003d Severity.EMERGENCY) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return LogSeverity.CRITICAL;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":" if (severity \u003d\u003d Severity.DEBUG) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" return LogSeverity.DEBUG;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":" return LogSeverity.DEFAULT;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":112,"author":{"gitId":"-"},"content":" public void createFeedbackSessionLog(String courseId, String email, String fsName, String fslType) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" // This method is not necessary for production usage because a feedback session log"},{"lineNumber":114,"author":{"gitId":"-"},"content":" // is already separately created through the standardized logging infrastructure."},{"lineNumber":115,"author":{"gitId":"-"},"content":" // However, this method is not removed as it is necessary to assist in local testing."},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" public void createFeedbackSessionLog(String courseId, UUID studentId, UUID fsId, String fslType) {"},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" // This method is not necessary for production usage because a feedback session log"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":" // is already separately created through the standardized logging infrastructure."},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" // However, this method is not removed as it is necessary to assist in local testing."},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" public List\u003cFeedbackSessionLogEntry\u003e getOrderedFeedbackSessionLogs(String courseId, String email,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" long startTime, long endTime, String fsName) {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" List\u003cString\u003e filters \u003d new ArrayList\u003c\u003e();"},{"lineNumber":129,"author":{"gitId":"-"},"content":" if (courseId !\u003d null) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" filters.add(\"jsonPayload.courseId\u003d\\\"\" + courseId + \"\\\"\");"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":" if (email !\u003d null) {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" filters.add(\"jsonPayload.studentEmail\u003d\\\"\" + email + \"\\\"\");"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":" if (fsName !\u003d null) {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" filters.add(\"jsonPayload.feedbackSessionName\u003d\\\"\" + fsName + \"\\\"\");"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":" QueryLogsParams queryLogsParams \u003d QueryLogsParams.builder(startTime, endTime)"},{"lineNumber":139,"author":{"gitId":"-"},"content":" .withLogEvent(LogEvent.FEEDBACK_SESSION_AUDIT.name())"},{"lineNumber":140,"author":{"gitId":"-"},"content":" .withSeverityLevel(LogSeverity.INFO)"},{"lineNumber":141,"author":{"gitId":"-"},"content":" .withExtraFilters(String.join(\"\\n\", filters))"},{"lineNumber":142,"author":{"gitId":"dishenggg"},"content":" .withOrder(ASCENDING_ORDER)"},{"lineNumber":143,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":144,"author":{"gitId":"-"},"content":" LogSearchParams logSearchParams \u003d LogSearchParams.from(queryLogsParams)"},{"lineNumber":145,"author":{"gitId":"-"},"content":" .addLogName(STDOUT_LOG_NAME)"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .setResourceType(RESOURCE_TYPE_GAE_APP);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" List\u003cLogEntry\u003e logEntries \u003d getAllLogEntries(logSearchParams);"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" List\u003cFeedbackSessionLogEntry\u003e fsLogEntries \u003d new ArrayList\u003c\u003e();"},{"lineNumber":150,"author":{"gitId":"-"},"content":" for (LogEntry entry : logEntries) {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" long timestamp \u003d entry.getInstantTimestamp().toEpochMilli();"},{"lineNumber":152,"author":{"gitId":"-"},"content":" Payload\u003c?\u003e payload \u003d entry.getPayload();"},{"lineNumber":153,"author":{"gitId":"-"},"content":" FeedbackSessionAuditLogDetails details;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" if (payload.getType() \u003d\u003d Payload.Type.JSON) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" Map\u003cString, Object\u003e jsonPayloadMap \u003d ((Payload.JsonPayload) payload).getDataAsMap();"},{"lineNumber":156,"author":{"gitId":"-"},"content":" LogDetails logDetails \u003d JsonUtils.fromJson(JsonUtils.toCompactJson(jsonPayloadMap), LogDetails.class);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" if (!(logDetails instanceof FeedbackSessionAuditLogDetails)) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":" details \u003d (FeedbackSessionAuditLogDetails) logDetails;"},{"lineNumber":161,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"dishenggg"},"content":" UUID studentId \u003d details.getStudentId() !\u003d null ? UUID.fromString(details.getStudentId()) : null;"},{"lineNumber":166,"author":{"gitId":"dishenggg"},"content":" UUID fsId \u003d details.getFeedbackSessionId() !\u003d null ? UUID.fromString(details.getFeedbackSessionId()) : null;"},{"lineNumber":167,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogEntry fslEntry;"},{"lineNumber":168,"author":{"gitId":"dishenggg"},"content":" if (fsId !\u003d null \u0026\u0026 studentId !\u003d null) {"},{"lineNumber":169,"author":{"gitId":"dishenggg"},"content":" fslEntry \u003d new FeedbackSessionLogEntry(details.getCourseId(), studentId, fsId, details.getAccessType(),"},{"lineNumber":170,"author":{"gitId":"dishenggg"},"content":" timestamp);"},{"lineNumber":171,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":172,"author":{"gitId":"dishenggg"},"content":" fslEntry \u003d new FeedbackSessionLogEntry(details.getCourseId(), details.getStudentEmail(),"},{"lineNumber":173,"author":{"gitId":"dishenggg"},"content":" details.getFeedbackSessionName(), details.getAccessType(), timestamp);"},{"lineNumber":174,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":" fsLogEntries.add(fslEntry);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" return fsLogEntries;"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" private List\u003cLogEntry\u003e getAllLogEntries(LogSearchParams logSearchParams) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" Logging logging \u003d LoggingOptions.getDefaultInstance().getService();"},{"lineNumber":183,"author":{"gitId":"-"},"content":" List\u003cEntryListOption\u003e entryListOptions \u003d convertLogSearchParams(logSearchParams, 0);"},{"lineNumber":184,"author":{"gitId":"-"},"content":" Page\u003cLogEntry\u003e entries \u003d logging.listLogEntries(entryListOptions.toArray(new EntryListOption[] {}));"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" List\u003cLogEntry\u003e logEntries \u003d new ArrayList\u003c\u003e();"},{"lineNumber":187,"author":{"gitId":"-"},"content":" for (LogEntry entry : entries.iterateAll()) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" logEntries.add(entry);"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" logging.close();"},{"lineNumber":193,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":194,"author":{"gitId":"-"},"content":" // ignore exception when closing resource"},{"lineNumber":195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":196,"author":{"gitId":"-"},"content":" return logEntries;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" private Page\u003cLogEntry\u003e getPageLogEntries(LogSearchParams logSearchParams, int pageSize) {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" Logging logging \u003d LoggingOptions.getDefaultInstance().getService();"},{"lineNumber":201,"author":{"gitId":"-"},"content":" List\u003cEntryListOption\u003e entryListOptions \u003d convertLogSearchParams(logSearchParams, pageSize);"},{"lineNumber":202,"author":{"gitId":"-"},"content":" Page\u003cLogEntry\u003e entries \u003d logging.listLogEntries(entryListOptions.toArray(new EntryListOption[] {}));"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" logging.close();"},{"lineNumber":206,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" // ignore exception when closing resource"},{"lineNumber":208,"author":{"gitId":"-"},"content":" }"},{"lineNumber":209,"author":{"gitId":"-"},"content":" return entries;"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" private List\u003cEntryListOption\u003e convertLogSearchParams(LogSearchParams s, int pageSize) {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" LoggingOptions options \u003d LoggingOptions.getDefaultInstance();"},{"lineNumber":214,"author":{"gitId":"-"},"content":" QueryLogsParams q \u003d s.queryLogsParams;"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" List\u003cString\u003e logFilters \u003d new ArrayList\u003c\u003e();"},{"lineNumber":217,"author":{"gitId":"-"},"content":" logFilters.add(\"timestamp\u003e\\\"\" + Instant.ofEpochMilli(q.getStartTime()).toString() + \"\\\"\");"},{"lineNumber":218,"author":{"gitId":"-"},"content":" logFilters.add(\"timestamp\u003c\u003d\\\"\" + Instant.ofEpochMilli(q.getEndTime()).toString() + \"\\\"\");"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" if (!s.logName.isEmpty()) {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" String logNameFilter \u003d s.logName.stream()"},{"lineNumber":222,"author":{"gitId":"-"},"content":" .map(str -\u003e \"\\\"projects/\" + options.getProjectId() + \"/logs/\" + str + \"\\\"\")"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .collect(Collectors.joining(\" OR \"));"},{"lineNumber":224,"author":{"gitId":"-"},"content":" logFilters.add(\"logName\u003d(\" + logNameFilter + \")\");"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":" if (s.resourceType !\u003d null) {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" logFilters.add(\"resource.type\u003d\\\"\" + s.resourceType + \"\\\"\");"},{"lineNumber":228,"author":{"gitId":"-"},"content":" }"},{"lineNumber":229,"author":{"gitId":"-"},"content":" if (q.getSeverity() !\u003d null) {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" logFilters.add(\"severity\u003d\" + q.getSeverity());"},{"lineNumber":231,"author":{"gitId":"-"},"content":" } else if (q.getMinSeverity() !\u003d null \u0026\u0026 q.getSeverity() \u003d\u003d null) {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" logFilters.add(\"severity\u003e\u003d\" + q.getMinSeverity());"},{"lineNumber":233,"author":{"gitId":"-"},"content":" }"},{"lineNumber":234,"author":{"gitId":"-"},"content":" if (q.getTraceId() !\u003d null) {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" logFilters.add(\"trace\u003d\\\"\" + TRACE_PREFIX + q.getTraceId() + \"\\\"\");"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":" if (q.getActionClass() !\u003d null) {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" logFilters.add(\"jsonPayload.actionClass\u003d\\\"\" + q.getActionClass() + \"\\\"\");"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":" if (q.getUserInfoParams() !\u003d null) {"},{"lineNumber":241,"author":{"gitId":"-"},"content":" if (q.getUserInfoParams().getGoogleId() !\u003d null) {"},{"lineNumber":242,"author":{"gitId":"-"},"content":" logFilters.add(\"jsonPayload.userInfo.googleId\u003d\\\"\" + q.getUserInfoParams().getGoogleId() + \"\\\"\");"},{"lineNumber":243,"author":{"gitId":"-"},"content":" }"},{"lineNumber":244,"author":{"gitId":"-"},"content":" if (q.getUserInfoParams().getRegkey() !\u003d null) {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" logFilters.add(\"jsonPayload.userInfo.regkey\u003d\\\"\" + q.getUserInfoParams().getRegkey() + \"\\\"\");"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":" if (q.getUserInfoParams().getEmail() !\u003d null) {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" logFilters.add(\"jsonPayload.userInfo.email\u003d\\\"\" + q.getUserInfoParams().getEmail() + \"\\\"\");"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":250,"author":{"gitId":"-"},"content":" }"},{"lineNumber":251,"author":{"gitId":"-"},"content":" if (q.getLogEvent() !\u003d null) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" logFilters.add(\"jsonPayload.event\u003d\\\"\" + q.getLogEvent() + \"\\\"\");"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":" if (q.getSourceLocation() !\u003d null \u0026\u0026 q.getSourceLocation().getFile() !\u003d null) {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" if (q.getSourceLocation().getFunction() \u003d\u003d null) {"},{"lineNumber":256,"author":{"gitId":"-"},"content":" logFilters.add(\"sourceLocation.file\u003d\\\"\" + q.getSourceLocation().getFile() + \"\\\"\");"},{"lineNumber":257,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" logFilters.add(\"sourceLocation.file\u003d\\\"\" + q.getSourceLocation().getFile()"},{"lineNumber":259,"author":{"gitId":"-"},"content":" + \"\\\" AND sourceLocation.function\u003d\\\"\" + q.getSourceLocation().getFunction() + \"\\\"\");"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":262,"author":{"gitId":"-"},"content":" if (q.getExceptionClass() !\u003d null) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" logFilters.add(\"jsonPayload.exceptionClass\u003d\\\"\" + q.getExceptionClass() + \"\\\"\");"},{"lineNumber":264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":265,"author":{"gitId":"-"},"content":" if (q.getLatency() !\u003d null) {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" logFilters.add(\"jsonPayload.responseTime\" + q.getLatency());"},{"lineNumber":267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":268,"author":{"gitId":"-"},"content":" if (q.getStatus() !\u003d null) {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" logFilters.add(\"jsonPayload.responseStatus\u003d\" + q.getStatus());"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":" if (q.getVersion() !\u003d null) {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" logFilters.add(\"jsonPayload.webVersion\u003d\\\"\" + q.getVersion() + \"\\\"\");"},{"lineNumber":273,"author":{"gitId":"-"},"content":" }"},{"lineNumber":274,"author":{"gitId":"-"},"content":" if (q.getExtraFilters() !\u003d null) {"},{"lineNumber":275,"author":{"gitId":"-"},"content":" logFilters.add(q.getExtraFilters());"},{"lineNumber":276,"author":{"gitId":"-"},"content":" }"},{"lineNumber":277,"author":{"gitId":"-"},"content":" String logFilter \u003d String.join(\"\\n\", logFilters);"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" List\u003cEntryListOption\u003e entryListOptions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":" entryListOptions.add(EntryListOption.filter(logFilter));"},{"lineNumber":282,"author":{"gitId":"-"},"content":""},{"lineNumber":283,"author":{"gitId":"-"},"content":" if (pageSize \u003e 0) {"},{"lineNumber":284,"author":{"gitId":"-"},"content":" entryListOptions.add(EntryListOption.pageSize(pageSize));"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" if (q.getOrder() !\u003d null) {"},{"lineNumber":288,"author":{"gitId":"-"},"content":" if (ASCENDING_ORDER.equals(q.getOrder())) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" entryListOptions.add(EntryListOption.sortOrder(SortingField.TIMESTAMP, SortingOrder.ASCENDING));"},{"lineNumber":290,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" entryListOptions.add(EntryListOption.sortOrder(SortingField.TIMESTAMP, SortingOrder.DESCENDING));"},{"lineNumber":292,"author":{"gitId":"-"},"content":" }"},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" return entryListOptions;"},{"lineNumber":296,"author":{"gitId":"-"},"content":" }"},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":299,"author":{"gitId":"-"},"content":" * Contains params to be used for the searching of logs."},{"lineNumber":300,"author":{"gitId":"-"},"content":" */"},{"lineNumber":301,"author":{"gitId":"-"},"content":" private static final class LogSearchParams {"},{"lineNumber":302,"author":{"gitId":"-"},"content":" private final List\u003cString\u003e logName \u003d new ArrayList\u003c\u003e();"},{"lineNumber":303,"author":{"gitId":"-"},"content":" private String resourceType;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" private QueryLogsParams queryLogsParams;"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" static LogSearchParams from(QueryLogsParams queryLogsParams) {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" return new LogSearchParams().setQueryLogsParams(queryLogsParams);"},{"lineNumber":308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" LogSearchParams addLogName(String logName) {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" this.logName.add(logName);"},{"lineNumber":312,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":313,"author":{"gitId":"-"},"content":" }"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":" LogSearchParams setResourceType(String resourceType) {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" this.resourceType \u003d resourceType;"},{"lineNumber":317,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" private LogSearchParams setQueryLogsParams(QueryLogsParams queryLogsParams) {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" this.queryLogsParams \u003d queryLogsParams;"},{"lineNumber":322,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":323,"author":{"gitId":"-"},"content":" }"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":19,"-":307}},{"path":"src/main/java/teammates/logic/external/LocalLoggingService.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.logic.external;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.lang.reflect.Type;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Collection;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.concurrent.ConcurrentHashMap;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.regex.Matcher;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.apache.commons.math3.random.RandomDataGenerator;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"import com.google.common.reflect.TypeToken;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import com.google.gson.JsonParseException;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackSessionLogEntry;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.QueryLogsResults;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.ExceptionLogDetails;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.GeneralLogEntry;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.LogDetails;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.LogEvent;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.QueryLogsParams;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.RequestLogDetails;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.RequestLogUser;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.common.util.FileHelper;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Holds functions for operations related to logs reading/writing in local dev environment."},{"lineNumber":34,"author":{"gitId":"-"},"content":" *"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * \u003cp\u003eThe current implementation uses an in-memory storage of logs to simulate the logs"},{"lineNumber":36,"author":{"gitId":"-"},"content":" * retention locally for feedback session logs only. It is not meant as a replacement but"},{"lineNumber":37,"author":{"gitId":"-"},"content":" * merely for testing purposes."},{"lineNumber":38,"author":{"gitId":"-"},"content":" */"},{"lineNumber":39,"author":{"gitId":"-"},"content":"public class LocalLoggingService implements LogService {"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final Map\u003cString, List\u003cFeedbackSessionLogEntry\u003e\u003e FEEDBACK_SESSION_LOG_ENTRIES \u003d new ConcurrentHashMap\u003c\u003e();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final List\u003cGeneralLogEntry\u003e LOCAL_LOG_ENTRIES \u003d loadLocalLogEntries();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String ASCENDING_ORDER \u003d \"asc\";"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static List\u003cGeneralLogEntry\u003e loadLocalLogEntries() {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" // Timestamp of logs are randomly created to be within the last one hour"},{"lineNumber":47,"author":{"gitId":"-"},"content":" long currentTimestamp \u003d Instant.now().toEpochMilli();"},{"lineNumber":48,"author":{"gitId":"-"},"content":" long earliestTimestamp \u003d currentTimestamp - 60 * 60 * 1000;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" String jsonString \u003d FileHelper.readResourceFile(\"logsForLocalDev.json\");"},{"lineNumber":51,"author":{"gitId":"-"},"content":" Type type \u003d new TypeToken\u003cCollection\u003cGeneralLogEntry\u003e\u003e(){}.getType();"},{"lineNumber":52,"author":{"gitId":"-"},"content":" Collection\u003cGeneralLogEntry\u003e logEntriesCollection \u003d JsonUtils.fromJson(jsonString, type);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" return logEntriesCollection.stream()"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .map(log -\u003e {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" long timestamp \u003d new RandomDataGenerator().nextLong(earliestTimestamp, currentTimestamp);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" GeneralLogEntry logEntryWithUpdatedTimestamp \u003d new GeneralLogEntry("},{"lineNumber":57,"author":{"gitId":"-"},"content":" log.getSeverity(), log.getTrace(), log.getInsertId(), log.getResourceIdentifier(),"},{"lineNumber":58,"author":{"gitId":"-"},"content":" log.getSourceLocation(), timestamp);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" logEntryWithUpdatedTimestamp.setDetails(log.getDetails());"},{"lineNumber":60,"author":{"gitId":"-"},"content":" logEntryWithUpdatedTimestamp.setMessage(log.getMessage());"},{"lineNumber":61,"author":{"gitId":"-"},"content":" return logEntryWithUpdatedTimestamp;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" })"},{"lineNumber":63,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":64,"author":{"gitId":"-"},"content":" } catch (JsonParseException e) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":70,"author":{"gitId":"-"},"content":" public QueryLogsResults queryLogs(QueryLogsParams queryLogsParams) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" // Page size is set as a small value to test loading of more logs"},{"lineNumber":72,"author":{"gitId":"-"},"content":" int pageSize \u003d 10;"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" List\u003cGeneralLogEntry\u003e result \u003d LOCAL_LOG_ENTRIES.stream()"},{"lineNumber":75,"author":{"gitId":"-"},"content":" .sorted((x, y) -\u003e {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" String order \u003d queryLogsParams.getOrder();"},{"lineNumber":77,"author":{"gitId":"-"},"content":" if (ASCENDING_ORDER.equals(order)) {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" return Long.compare(x.getTimestamp(), y.getTimestamp());"},{"lineNumber":79,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" return Long.compare(y.getTimestamp(), x.getTimestamp());"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":" })"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .filter(log -\u003e queryLogsParams.getSeverity() \u003d\u003d null"},{"lineNumber":84,"author":{"gitId":"-"},"content":" || log.getSeverity().equals(queryLogsParams.getSeverity()))"},{"lineNumber":85,"author":{"gitId":"-"},"content":" .filter(log -\u003e queryLogsParams.getMinSeverity() \u003d\u003d null"},{"lineNumber":86,"author":{"gitId":"-"},"content":" || log.getSeverity().getSeverityLevel()"},{"lineNumber":87,"author":{"gitId":"-"},"content":" \u003e\u003d queryLogsParams.getMinSeverity().getSeverityLevel())"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .filter(log -\u003e log.getTimestamp() \u003e queryLogsParams.getStartTime())"},{"lineNumber":89,"author":{"gitId":"-"},"content":" .filter(log -\u003e log.getTimestamp() \u003c\u003d queryLogsParams.getEndTime())"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .filter(log -\u003e queryLogsParams.getTraceId() \u003d\u003d null"},{"lineNumber":91,"author":{"gitId":"-"},"content":" || queryLogsParams.getTraceId().equals(log.getTrace()))"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .filter(log -\u003e queryLogsParams.getVersion() \u003d\u003d null"},{"lineNumber":93,"author":{"gitId":"-"},"content":" || queryLogsParams.getVersion().equals(log.getResourceIdentifier().get(\"version_id\")))"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .filter(log -\u003e queryLogsParams.getSourceLocation().getFile() \u003d\u003d null"},{"lineNumber":95,"author":{"gitId":"-"},"content":" || log.getSourceLocation().getFile().equals(queryLogsParams.getSourceLocation().getFile()))"},{"lineNumber":96,"author":{"gitId":"-"},"content":" .filter(log -\u003e queryLogsParams.getSourceLocation().getFunction() \u003d\u003d null"},{"lineNumber":97,"author":{"gitId":"-"},"content":" || log.getSourceLocation().getFunction().equals(queryLogsParams.getSourceLocation().getFunction()))"},{"lineNumber":98,"author":{"gitId":"-"},"content":" .filter(log -\u003e isEventBasedFilterSatisfied(log, queryLogsParams))"},{"lineNumber":99,"author":{"gitId":"-"},"content":" .limit(pageSize)"},{"lineNumber":100,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" List\u003cGeneralLogEntry\u003e copiedResults \u003d deepCopyLogEntries(result);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" boolean hasNextPage \u003d copiedResults.size() \u003d\u003d pageSize;"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" return new QueryLogsResults(copiedResults, hasNextPage);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" private boolean isEventBasedFilterSatisfied(GeneralLogEntry log, QueryLogsParams queryLogsParams) {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" String actionClassFilter \u003d queryLogsParams.getActionClass();"},{"lineNumber":110,"author":{"gitId":"-"},"content":" String exceptionClassFilter \u003d queryLogsParams.getExceptionClass();"},{"lineNumber":111,"author":{"gitId":"-"},"content":" String logEventFilter \u003d queryLogsParams.getLogEvent();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" String latencyFilter \u003d queryLogsParams.getLatency();"},{"lineNumber":113,"author":{"gitId":"-"},"content":" String statusFilter \u003d queryLogsParams.getStatus();"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" RequestLogUser userInfoFilter \u003d queryLogsParams.getUserInfoParams();"},{"lineNumber":116,"author":{"gitId":"-"},"content":" String regkeyFilter \u003d userInfoFilter.getRegkey();"},{"lineNumber":117,"author":{"gitId":"-"},"content":" String emailFilter \u003d userInfoFilter.getEmail();"},{"lineNumber":118,"author":{"gitId":"-"},"content":" String googleIdFilter \u003d userInfoFilter.getGoogleId();"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" if (actionClassFilter \u003d\u003d null \u0026\u0026 exceptionClassFilter \u003d\u003d null \u0026\u0026 logEventFilter \u003d\u003d null"},{"lineNumber":121,"author":{"gitId":"-"},"content":" \u0026\u0026 latencyFilter \u003d\u003d null \u0026\u0026 statusFilter \u003d\u003d null \u0026\u0026 regkeyFilter \u003d\u003d null"},{"lineNumber":122,"author":{"gitId":"-"},"content":" \u0026\u0026 emailFilter \u003d\u003d null \u0026\u0026 googleIdFilter \u003d\u003d null) {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":" LogDetails details \u003d log.getDetails();"},{"lineNumber":126,"author":{"gitId":"-"},"content":" if (details \u003d\u003d null) {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":" if (logEventFilter !\u003d null \u0026\u0026 !details.getEvent().name().equals(logEventFilter)) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":" if (!isExceptionFilterSatisfied(details, exceptionClassFilter)) {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":" return isRequestFilterSatisfied(details, actionClassFilter, latencyFilter, statusFilter,"},{"lineNumber":136,"author":{"gitId":"-"},"content":" regkeyFilter, emailFilter, googleIdFilter);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" private boolean isExceptionFilterSatisfied(LogDetails details, String exceptionClassFilter) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" if (exceptionClassFilter \u003d\u003d null) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":" if (details.getEvent() !\u003d LogEvent.EXCEPTION_LOG) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":" ExceptionLogDetails exceptionDetails \u003d (ExceptionLogDetails) details;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" return exceptionDetails.getExceptionClass().equals(exceptionClassFilter);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" private boolean isRequestFilterSatisfied(LogDetails details, String actionClassFilter,"},{"lineNumber":151,"author":{"gitId":"-"},"content":" String latencyFilter, String statusFilter, String regkeyFilter, String emailFilter, String googleIdFilter) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" if (actionClassFilter \u003d\u003d null \u0026\u0026 latencyFilter \u003d\u003d null \u0026\u0026 statusFilter \u003d\u003d null"},{"lineNumber":153,"author":{"gitId":"-"},"content":" \u0026\u0026 regkeyFilter \u003d\u003d null \u0026\u0026 emailFilter \u003d\u003d null \u0026\u0026 googleIdFilter \u003d\u003d null) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":155,"author":{"gitId":"-"},"content":" }"},{"lineNumber":156,"author":{"gitId":"-"},"content":" if (details.getEvent() !\u003d LogEvent.REQUEST_LOG) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":" RequestLogDetails requestDetails \u003d (RequestLogDetails) details;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" if (actionClassFilter !\u003d null \u0026\u0026 !actionClassFilter.equals(requestDetails.getActionClass())) {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":" if (statusFilter !\u003d null \u0026\u0026 !statusFilter.equals(String.valueOf(requestDetails.getResponseStatus()))) {"},{"lineNumber":164,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":" if (latencyFilter !\u003d null) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" Pattern p \u003d Pattern.compile(\"^(\u003e|\u003e\u003d|\u003c|\u003c\u003d) *(\\\\d+)$\");"},{"lineNumber":168,"author":{"gitId":"-"},"content":" Matcher m \u003d p.matcher(latencyFilter);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" long logLatency \u003d ((RequestLogDetails) details).getResponseTime();"},{"lineNumber":170,"author":{"gitId":"-"},"content":" boolean isFilterSatisfied \u003d false;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" if (m.matches()) {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" int time \u003d Integer.parseInt(m.group(2));"},{"lineNumber":173,"author":{"gitId":"-"},"content":" switch (m.group(1)) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" case \"\u003e\":"},{"lineNumber":175,"author":{"gitId":"-"},"content":" isFilterSatisfied \u003d logLatency \u003e time;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" case \"\u003e\u003d\":"},{"lineNumber":178,"author":{"gitId":"-"},"content":" isFilterSatisfied \u003d logLatency \u003e\u003d time;"},{"lineNumber":179,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":180,"author":{"gitId":"-"},"content":" case \"\u003c\":"},{"lineNumber":181,"author":{"gitId":"-"},"content":" isFilterSatisfied \u003d logLatency \u003c time;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":183,"author":{"gitId":"-"},"content":" case \"\u003c\u003d\":"},{"lineNumber":184,"author":{"gitId":"-"},"content":" isFilterSatisfied \u003d logLatency \u003c\u003d time;"},{"lineNumber":185,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":186,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":187,"author":{"gitId":"-"},"content":" assert false : \"Unreachable case\";"},{"lineNumber":188,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":" if (!isFilterSatisfied) {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":" RequestLogUser userInfo \u003d requestDetails.getUserInfo();"},{"lineNumber":196,"author":{"gitId":"-"},"content":" if (regkeyFilter !\u003d null \u0026\u0026 (userInfo \u003d\u003d null || !regkeyFilter.equals(userInfo.getRegkey()))) {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":" if (emailFilter !\u003d null \u0026\u0026 (userInfo \u003d\u003d null || !emailFilter.equals(userInfo.getEmail()))) {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":201,"author":{"gitId":"-"},"content":" }"},{"lineNumber":202,"author":{"gitId":"-"},"content":" return googleIdFilter \u003d\u003d null || userInfo !\u003d null \u0026\u0026 googleIdFilter.equals(userInfo.getGoogleId());"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":206,"author":{"gitId":"-"},"content":" public void createFeedbackSessionLog(String courseId, String email, String fsName, String fslType) {"},{"lineNumber":207,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogEntry logEntry \u003d new FeedbackSessionLogEntry(courseId, email,"},{"lineNumber":208,"author":{"gitId":"dishenggg"},"content":" fsName, fslType, Instant.now().toEpochMilli());"},{"lineNumber":209,"author":{"gitId":"dishenggg"},"content":" FEEDBACK_SESSION_LOG_ENTRIES.computeIfAbsent(courseId, k -\u003e new ArrayList\u003c\u003e()).add(logEntry);"},{"lineNumber":210,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":211,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":212,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":213,"author":{"gitId":"dishenggg"},"content":" public void createFeedbackSessionLog(String courseId, UUID studentId, UUID fsId, String fslType) {"},{"lineNumber":214,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogEntry logEntry \u003d new FeedbackSessionLogEntry(courseId, studentId, fsId,"},{"lineNumber":215,"author":{"gitId":"-"},"content":" fslType, Instant.now().toEpochMilli());"},{"lineNumber":216,"author":{"gitId":"-"},"content":" FEEDBACK_SESSION_LOG_ENTRIES.computeIfAbsent(courseId, k -\u003e new ArrayList\u003c\u003e()).add(logEntry);"},{"lineNumber":217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":220,"author":{"gitId":"dishenggg"},"content":" public List\u003cFeedbackSessionLogEntry\u003e getOrderedFeedbackSessionLogs(String courseId, String email,"},{"lineNumber":221,"author":{"gitId":"-"},"content":" long startTime, long endTime, String fsName) {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" return FEEDBACK_SESSION_LOG_ENTRIES"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .getOrDefault(courseId, new ArrayList\u003c\u003e())"},{"lineNumber":224,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":225,"author":{"gitId":"-"},"content":" .filter(log -\u003e email \u003d\u003d null || log.getStudentEmail().equals(email))"},{"lineNumber":226,"author":{"gitId":"-"},"content":" .filter(log -\u003e fsName \u003d\u003d null || log.getFeedbackSessionName().equals(fsName))"},{"lineNumber":227,"author":{"gitId":"-"},"content":" .filter(log -\u003e log.getTimestamp() \u003e\u003d startTime)"},{"lineNumber":228,"author":{"gitId":"-"},"content":" .filter(log -\u003e log.getTimestamp() \u003c\u003d endTime)"},{"lineNumber":229,"author":{"gitId":"dishenggg"},"content":" .sorted()"},{"lineNumber":230,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" private List\u003cGeneralLogEntry\u003e deepCopyLogEntries(List\u003cGeneralLogEntry\u003e logEntries) {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" List\u003cGeneralLogEntry\u003e result \u003d new ArrayList\u003c\u003e();"},{"lineNumber":235,"author":{"gitId":"-"},"content":" for (GeneralLogEntry logEntry : logEntries) {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" GeneralLogEntry copiedEntry \u003d new GeneralLogEntry(logEntry.getSeverity(),"},{"lineNumber":237,"author":{"gitId":"-"},"content":" logEntry.getTrace(), logEntry.getInsertId(), logEntry.getResourceIdentifier(),"},{"lineNumber":238,"author":{"gitId":"-"},"content":" logEntry.getSourceLocation(), logEntry.getTimestamp());"},{"lineNumber":239,"author":{"gitId":"-"},"content":" copiedEntry.setDetails(JsonUtils.fromJson(JsonUtils.toCompactJson(logEntry.getDetails()), LogDetails.class));"},{"lineNumber":240,"author":{"gitId":"-"},"content":" copiedEntry.setMessage(logEntry.getMessage());"},{"lineNumber":241,"author":{"gitId":"-"},"content":" result.add(copiedEntry);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" }"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" return result;"},{"lineNumber":245,"author":{"gitId":"-"},"content":" }"},{"lineNumber":246,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":11,"-":235}},{"path":"src/main/java/teammates/logic/external/LogService.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.logic.external;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackSessionLogEntry;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.QueryLogsResults;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.QueryLogsParams;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * An interface used for logs operations such as reading/writing."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public interface LogService {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Gets the list of logs satisfying the given criteria."},{"lineNumber":17,"author":{"gitId":"-"},"content":" */"},{"lineNumber":18,"author":{"gitId":"-"},"content":" QueryLogsResults queryLogs(QueryLogsParams queryLogsParams);"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Creates a feedback session log."},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":" void createFeedbackSessionLog(String courseId, String email, String fsName, String fslType);"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" * Creates a feedback session log for migrated courses."},{"lineNumber":27,"author":{"gitId":"-"},"content":" */"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" void createFeedbackSessionLog(String courseId, UUID studentId, UUID fsId, String fslType);"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" * Gets the feedback session logs as filtered by the given parameters ordered by ascending timestamp."},{"lineNumber":32,"author":{"gitId":"-"},"content":" */"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLogEntry\u003e getOrderedFeedbackSessionLogs(String courseId, String email,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" long startTime, long endTime, String fsName);"},{"lineNumber":35,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":6,"-":29}},{"path":"src/main/java/teammates/sqllogic/api/Logic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.api;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import jakarta.annotation.Nullable;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackQuestionRecipient;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.FeedbackResultFetchType;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationStyle;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationTargetUser;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.SqlSessionResultsBundle;"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EnrollException;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.exception.InstructorUpdateException;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.exception.StudentUpdateException;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.AccountRequestsLogic;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.AccountsLogic;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.CoursesLogic;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.DataBundleLogic;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.DeadlineExtensionsLogic;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.FeedbackQuestionsLogic;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.FeedbackResponseCommentsLogic;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.FeedbackResponsesLogic;"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":"import teammates.sqllogic.core.FeedbackSessionLogsLogic;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.FeedbackSessionsLogic;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.NotificationsLogic;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.UsageStatisticsLogic;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.UsersLogic;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":47,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":48,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":49,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":50,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.UsageStatistics;"},{"lineNumber":53,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.User;"},{"lineNumber":54,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackQuestionUpdateRequest;"},{"lineNumber":55,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackResponseCommentUpdateRequest;"},{"lineNumber":56,"author":{"gitId":"-"},"content":"import teammates.ui.request.InstructorCreateRequest;"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Provides the business logic for production usage of the system."},{"lineNumber":60,"author":{"gitId":"-"},"content":" *"},{"lineNumber":61,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis is a Facade class which simply forwards the method to internal classes."},{"lineNumber":62,"author":{"gitId":"-"},"content":" */"},{"lineNumber":63,"author":{"gitId":"-"},"content":"public class Logic {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" private static final Logic instance \u003d new Logic();"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" final AccountsLogic accountsLogic \u003d AccountsLogic.inst();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" final AccountRequestsLogic accountRequestLogic \u003d AccountRequestsLogic.inst();"},{"lineNumber":68,"author":{"gitId":"-"},"content":" final CoursesLogic coursesLogic \u003d CoursesLogic.inst();"},{"lineNumber":69,"author":{"gitId":"-"},"content":" final DeadlineExtensionsLogic deadlineExtensionsLogic \u003d DeadlineExtensionsLogic.inst();"},{"lineNumber":70,"author":{"gitId":"-"},"content":" final FeedbackQuestionsLogic feedbackQuestionsLogic \u003d FeedbackQuestionsLogic.inst();"},{"lineNumber":71,"author":{"gitId":"-"},"content":" final FeedbackResponsesLogic feedbackResponsesLogic \u003d FeedbackResponsesLogic.inst();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" final FeedbackResponseCommentsLogic feedbackResponseCommentsLogic \u003d FeedbackResponseCommentsLogic.inst();"},{"lineNumber":73,"author":{"gitId":"-"},"content":" final FeedbackSessionsLogic feedbackSessionsLogic \u003d FeedbackSessionsLogic.inst();"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" final FeedbackSessionLogsLogic feedbackSessionLogsLogic \u003d FeedbackSessionLogsLogic.inst();"},{"lineNumber":75,"author":{"gitId":"-"},"content":" final UsageStatisticsLogic usageStatisticsLogic \u003d UsageStatisticsLogic.inst();"},{"lineNumber":76,"author":{"gitId":"-"},"content":" final UsersLogic usersLogic \u003d UsersLogic.inst();"},{"lineNumber":77,"author":{"gitId":"-"},"content":" final NotificationsLogic notificationsLogic \u003d NotificationsLogic.inst();"},{"lineNumber":78,"author":{"gitId":"-"},"content":" final DataBundleLogic dataBundleLogic \u003d DataBundleLogic.inst();"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" Logic() {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":82,"author":{"gitId":"-"},"content":" }"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" public static Logic inst() {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":89,"author":{"gitId":"-"},"content":" * Creates an account request."},{"lineNumber":90,"author":{"gitId":"-"},"content":" *"},{"lineNumber":91,"author":{"gitId":"-"},"content":" * @return newly created account request."},{"lineNumber":92,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the account request details are invalid."},{"lineNumber":93,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the account request already exists."},{"lineNumber":94,"author":{"gitId":"-"},"content":" */"},{"lineNumber":95,"author":{"gitId":"-"},"content":" public AccountRequest createAccountRequest(String name, String email, String institute, AccountRequestStatus status,"},{"lineNumber":96,"author":{"gitId":"-"},"content":" String comments) throws InvalidParametersException {"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" return accountRequestLogic.createAccountRequest(name, email, institute, status, comments);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":102,"author":{"gitId":"-"},"content":" * Gets the account request with the given {@code id}."},{"lineNumber":103,"author":{"gitId":"-"},"content":" *"},{"lineNumber":104,"author":{"gitId":"-"},"content":" * @return account request with the given {@code id}."},{"lineNumber":105,"author":{"gitId":"-"},"content":" */"},{"lineNumber":106,"author":{"gitId":"-"},"content":" public AccountRequest getAccountRequest(UUID id) {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" return accountRequestLogic.getAccountRequest(id);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" * Gets the account request with the given {@code id}."},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" * @return account request with the given {@code id}."},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" public AccountRequest getAccountRequestWithTransaction(UUID id) {"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" return accountRequestLogic.getAccountRequestWithTransaction(id);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":120,"author":{"gitId":"-"},"content":" * Creates a or gets an account request."},{"lineNumber":121,"author":{"gitId":"-"},"content":" *"},{"lineNumber":122,"author":{"gitId":"-"},"content":" * @return newly created account request."},{"lineNumber":123,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the account request details are invalid."},{"lineNumber":124,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the account request already exists."},{"lineNumber":125,"author":{"gitId":"-"},"content":" */"},{"lineNumber":126,"author":{"gitId":"-"},"content":" public AccountRequest createAccountRequestWithTransaction(String name, String email, String institute,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" AccountRequestStatus status, String comments) throws InvalidParametersException {"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" return accountRequestLogic.createOrGetAccountRequestWithTransaction(name, email, institute, status, comments);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" * Gets the account request with the associated {@code regkey}."},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":" *"},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":" * @return account request with the associated {@code regkey}."},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":" public AccountRequest getAccountRequestByRegistrationKey(String regkey) {"},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":" return accountRequestLogic.getAccountRequestByRegistrationKey(regkey);"},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":140,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":142,"author":{"gitId":"-"},"content":" * Updates the given account request."},{"lineNumber":143,"author":{"gitId":"-"},"content":" *"},{"lineNumber":144,"author":{"gitId":"-"},"content":" * @return the updated account request."},{"lineNumber":145,"author":{"gitId":"-"},"content":" */"},{"lineNumber":146,"author":{"gitId":"-"},"content":" public AccountRequest updateAccountRequest(AccountRequest accountRequest)"},{"lineNumber":147,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" return accountRequestLogic.updateAccountRequest(accountRequest);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":152,"author":{"gitId":"domoberzin"},"content":" * Updates the given account request."},{"lineNumber":153,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":154,"author":{"gitId":"domoberzin"},"content":" * @return the updated account request."},{"lineNumber":155,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":" public AccountRequest updateAccountRequestWithTransaction(AccountRequest accountRequest)"},{"lineNumber":157,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":158,"author":{"gitId":"domoberzin"},"content":" return accountRequestLogic.updateAccountRequestWithTransaction(accountRequest);"},{"lineNumber":159,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":160,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":162,"author":{"gitId":"dishenggg"},"content":" * Creates/Resets the account request with the given id"},{"lineNumber":163,"author":{"gitId":"-"},"content":" * such that it is not registered."},{"lineNumber":164,"author":{"gitId":"-"},"content":" *"},{"lineNumber":165,"author":{"gitId":"-"},"content":" * @return account request that is unregistered with the"},{"lineNumber":166,"author":{"gitId":"dishenggg"},"content":" * id."},{"lineNumber":167,"author":{"gitId":"-"},"content":" */"},{"lineNumber":168,"author":{"gitId":"dishenggg"},"content":" public AccountRequest resetAccountRequest(UUID id)"},{"lineNumber":169,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InvalidParametersException {"},{"lineNumber":170,"author":{"gitId":"dishenggg"},"content":" return accountRequestLogic.resetAccountRequest(id);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":174,"author":{"gitId":"dishenggg"},"content":" * Deletes account request by id."},{"lineNumber":175,"author":{"gitId":"-"},"content":" *"},{"lineNumber":176,"author":{"gitId":"-"},"content":" * \u003cul\u003e"},{"lineNumber":177,"author":{"gitId":"-"},"content":" * \u003cli\u003eFails silently if no such account request.\u003c/li\u003e"},{"lineNumber":178,"author":{"gitId":"-"},"content":" * \u003c/ul\u003e"},{"lineNumber":179,"author":{"gitId":"-"},"content":" *"},{"lineNumber":180,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":181,"author":{"gitId":"-"},"content":" * All parameters are non-null."},{"lineNumber":182,"author":{"gitId":"-"},"content":" */"},{"lineNumber":183,"author":{"gitId":"dishenggg"},"content":" public void deleteAccountRequest(UUID id) {"},{"lineNumber":184,"author":{"gitId":"dishenggg"},"content":" accountRequestLogic.deleteAccountRequest(id);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":188,"author":{"gitId":"-"},"content":" * Gets all pending account requests."},{"lineNumber":189,"author":{"gitId":"-"},"content":" */"},{"lineNumber":190,"author":{"gitId":"-"},"content":" public List\u003cAccountRequest\u003e getPendingAccountRequests() {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" return accountRequestLogic.getPendingAccountRequests();"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" * Gets all pending account requests."},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":" public List\u003cAccountRequest\u003e getAllAccountRequests() {"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" return accountRequestLogic.getAllAccountRequests();"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":200,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":201,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":202,"author":{"gitId":"domoberzin"},"content":" * Get a list of account requests associated with email provided."},{"lineNumber":203,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":204,"author":{"gitId":"domoberzin"},"content":" public List\u003cAccountRequest\u003e getApprovedAccountRequestsForEmailWithTransaction(String email) {"},{"lineNumber":205,"author":{"gitId":"domoberzin"},"content":" return accountRequestLogic.getApprovedAccountRequestsForEmailWithTransaction(email);"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":209,"author":{"gitId":"-"},"content":" * Gets an account."},{"lineNumber":210,"author":{"gitId":"-"},"content":" */"},{"lineNumber":211,"author":{"gitId":"-"},"content":" public Account getAccount(UUID id) {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" return accountsLogic.getAccount(id);"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":216,"author":{"gitId":"-"},"content":" * Gets an account by googleId."},{"lineNumber":217,"author":{"gitId":"-"},"content":" */"},{"lineNumber":218,"author":{"gitId":"-"},"content":" public Account getAccountForGoogleId(String googleId) {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" return accountsLogic.getAccountForGoogleId(googleId);"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":223,"author":{"gitId":"-"},"content":" * Get a list of accounts associated with email provided."},{"lineNumber":224,"author":{"gitId":"-"},"content":" */"},{"lineNumber":225,"author":{"gitId":"-"},"content":" public List\u003cAccount\u003e getAccountsForEmail(String email) {"},{"lineNumber":226,"author":{"gitId":"-"},"content":" return accountsLogic.getAccountsForEmail(email);"},{"lineNumber":227,"author":{"gitId":"-"},"content":" }"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":230,"author":{"gitId":"domoberzin"},"content":" * Get a list of accounts associated with email provided."},{"lineNumber":231,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":232,"author":{"gitId":"domoberzin"},"content":" public List\u003cAccount\u003e getAccountsForEmailWithTransaction(String email) {"},{"lineNumber":233,"author":{"gitId":"domoberzin"},"content":" return accountsLogic.getAccountsForEmailWithTransaction(email);"},{"lineNumber":234,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":235,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":237,"author":{"gitId":"-"},"content":" * Creates an account."},{"lineNumber":238,"author":{"gitId":"-"},"content":" *"},{"lineNumber":239,"author":{"gitId":"-"},"content":" * @return the created account"},{"lineNumber":240,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the account is not valid"},{"lineNumber":241,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the account already exists in the database."},{"lineNumber":242,"author":{"gitId":"-"},"content":" */"},{"lineNumber":243,"author":{"gitId":"-"},"content":" public Account createAccount(Account account)"},{"lineNumber":244,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" return accountsLogic.createAccount(account);"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":249,"author":{"gitId":"domoberzin"},"content":" * Creates an account."},{"lineNumber":250,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":251,"author":{"gitId":"domoberzin"},"content":" * @return the created account"},{"lineNumber":252,"author":{"gitId":"domoberzin"},"content":" * @throws InvalidParametersException if the account is not valid"},{"lineNumber":253,"author":{"gitId":"domoberzin"},"content":" * @throws EntityAlreadyExistsException if the account already exists in the database."},{"lineNumber":254,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":255,"author":{"gitId":"domoberzin"},"content":" public Account createAccountWithTransaction(Account account)"},{"lineNumber":256,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":257,"author":{"gitId":"domoberzin"},"content":" return accountsLogic.createAccountWithTransaction(account);"},{"lineNumber":258,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":259,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":260,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":261,"author":{"gitId":"-"},"content":" * Deletes account by googleId."},{"lineNumber":262,"author":{"gitId":"-"},"content":" *"},{"lineNumber":263,"author":{"gitId":"-"},"content":" * \u003cul\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":" * \u003cli\u003eFails silently if no such account.\u003c/li\u003e"},{"lineNumber":265,"author":{"gitId":"-"},"content":" * \u003c/ul\u003e"},{"lineNumber":266,"author":{"gitId":"-"},"content":" *"},{"lineNumber":267,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":268,"author":{"gitId":"-"},"content":" * All parameters are non-null."},{"lineNumber":269,"author":{"gitId":"-"},"content":" */"},{"lineNumber":270,"author":{"gitId":"-"},"content":" public void deleteAccount(String googleId) {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" accountsLogic.deleteAccount(googleId);"},{"lineNumber":272,"author":{"gitId":"-"},"content":" }"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":275,"author":{"gitId":"-"},"content":" * Deletes account and all users by googleId."},{"lineNumber":276,"author":{"gitId":"-"},"content":" *"},{"lineNumber":277,"author":{"gitId":"-"},"content":" * \u003cul\u003e"},{"lineNumber":278,"author":{"gitId":"-"},"content":" * \u003cli\u003eFails silently if no such account.\u003c/li\u003e"},{"lineNumber":279,"author":{"gitId":"-"},"content":" * \u003c/ul\u003e"},{"lineNumber":280,"author":{"gitId":"-"},"content":" *"},{"lineNumber":281,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":282,"author":{"gitId":"-"},"content":" * All parameters are non-null."},{"lineNumber":283,"author":{"gitId":"-"},"content":" */"},{"lineNumber":284,"author":{"gitId":"-"},"content":" public void deleteAccountCascade(String googleId) {"},{"lineNumber":285,"author":{"gitId":"-"},"content":" accountsLogic.deleteAccountCascade(googleId);"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":289,"author":{"gitId":"-"},"content":" * Gets all students associated with a googleId."},{"lineNumber":290,"author":{"gitId":"-"},"content":" */"},{"lineNumber":291,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsByGoogleId(String googleId) {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" return usersLogic.getStudentsByGoogleId(googleId);"},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":296,"author":{"gitId":"-"},"content":" * Gets a course by course id."},{"lineNumber":297,"author":{"gitId":"-"},"content":" * @param courseId courseId of the course."},{"lineNumber":298,"author":{"gitId":"-"},"content":" * @return the specified course."},{"lineNumber":299,"author":{"gitId":"-"},"content":" */"},{"lineNumber":300,"author":{"gitId":"-"},"content":" public Course getCourse(String courseId) {"},{"lineNumber":301,"author":{"gitId":"-"},"content":" return coursesLogic.getCourse(courseId);"},{"lineNumber":302,"author":{"gitId":"-"},"content":" }"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":305,"author":{"gitId":"domoberzin"},"content":" * Gets a section from a course by section name."},{"lineNumber":306,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":307,"author":{"gitId":"domoberzin"},"content":" public Section getSection(String courseId, String section) {"},{"lineNumber":308,"author":{"gitId":"domoberzin"},"content":" return usersLogic.getSection(courseId, section);"},{"lineNumber":309,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":310,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":312,"author":{"gitId":"-"},"content":" * Gets courses associated with student."},{"lineNumber":313,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":314,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":315,"author":{"gitId":"-"},"content":" */"},{"lineNumber":316,"author":{"gitId":"-"},"content":" public List\u003cCourse\u003e getCoursesForStudentAccount(String googleId) {"},{"lineNumber":317,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":" return coursesLogic.getCoursesForStudentAccount(googleId);"},{"lineNumber":320,"author":{"gitId":"-"},"content":" }"},{"lineNumber":321,"author":{"gitId":"-"},"content":""},{"lineNumber":322,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":323,"author":{"gitId":"-"},"content":" * Gets courses associated with instructors."},{"lineNumber":324,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":325,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":326,"author":{"gitId":"-"},"content":" *"},{"lineNumber":327,"author":{"gitId":"-"},"content":" * @return Courses the given instructors is in except for courses in Recycle Bin."},{"lineNumber":328,"author":{"gitId":"-"},"content":" */"},{"lineNumber":329,"author":{"gitId":"-"},"content":" public List\u003cCourse\u003e getCoursesForInstructors(List\u003cInstructor\u003e instructorsList) {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" assert instructorsList !\u003d null;"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" return coursesLogic.getCoursesForInstructors(instructorsList);"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":336,"author":{"gitId":"-"},"content":" * Gets courses associated with instructors that are soft deleted."},{"lineNumber":337,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":338,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":339,"author":{"gitId":"-"},"content":" *"},{"lineNumber":340,"author":{"gitId":"-"},"content":" * @return Courses in Recycle Bin that the given instructors is in."},{"lineNumber":341,"author":{"gitId":"-"},"content":" */"},{"lineNumber":342,"author":{"gitId":"-"},"content":" public List\u003cCourse\u003e getSoftDeletedCoursesForInstructors(List\u003cInstructor\u003e instructorsList) {"},{"lineNumber":343,"author":{"gitId":"-"},"content":" assert instructorsList !\u003d null;"},{"lineNumber":344,"author":{"gitId":"-"},"content":""},{"lineNumber":345,"author":{"gitId":"-"},"content":" return coursesLogic.getSoftDeletedCoursesForInstructors(instructorsList);"},{"lineNumber":346,"author":{"gitId":"-"},"content":" }"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":349,"author":{"gitId":"yuanxi1"},"content":" * Gets the institute of the course."},{"lineNumber":350,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":351,"author":{"gitId":"yuanxi1"},"content":" public String getCourseInstitute(String courseId) {"},{"lineNumber":352,"author":{"gitId":"yuanxi1"},"content":" return coursesLogic.getCourseInstitute(courseId);"},{"lineNumber":353,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":354,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":355,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":356,"author":{"gitId":"-"},"content":" * Creates a course."},{"lineNumber":357,"author":{"gitId":"-"},"content":" * @param course the course to create."},{"lineNumber":358,"author":{"gitId":"-"},"content":" * @return the created course."},{"lineNumber":359,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the course is not valid."},{"lineNumber":360,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the course already exists."},{"lineNumber":361,"author":{"gitId":"-"},"content":" */"},{"lineNumber":362,"author":{"gitId":"-"},"content":" public Course createCourse(Course course) throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":363,"author":{"gitId":"-"},"content":" return coursesLogic.createCourse(course);"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":367,"author":{"gitId":"-"},"content":" * Deletes a course by course id."},{"lineNumber":368,"author":{"gitId":"-"},"content":" * @param courseId of course."},{"lineNumber":369,"author":{"gitId":"-"},"content":" */"},{"lineNumber":370,"author":{"gitId":"-"},"content":" public void deleteCourseCascade(String courseId) {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" coursesLogic.deleteCourseCascade(courseId);"},{"lineNumber":372,"author":{"gitId":"-"},"content":" }"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":375,"author":{"gitId":"domoberzin"},"content":" * Updates a student by {@link Student}."},{"lineNumber":376,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":377,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003eIf email changed, update by recreating the student and cascade update all responses"},{"lineNumber":378,"author":{"gitId":"marquestye"},"content":" * and comments the student gives/receives."},{"lineNumber":379,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":380,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003eIf team changed, cascade delete all responses the student gives/receives within that team."},{"lineNumber":381,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":382,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003eIf section changed, cascade update all responses the student gives/receives."},{"lineNumber":383,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":384,"author":{"gitId":"domoberzin"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":385,"author":{"gitId":"marquestye"},"content":" * * Student parameter is non-null."},{"lineNumber":386,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":387,"author":{"gitId":"domoberzin"},"content":" * @return updated student"},{"lineNumber":388,"author":{"gitId":"domoberzin"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":389,"author":{"gitId":"domoberzin"},"content":" * @throws EntityDoesNotExistException if the student cannot be found"},{"lineNumber":390,"author":{"gitId":"domoberzin"},"content":" * @throws EntityAlreadyExistsException if the student cannot be updated"},{"lineNumber":391,"author":{"gitId":"domoberzin"},"content":" * by recreation because of an existent student"},{"lineNumber":392,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":393,"author":{"gitId":"domoberzin"},"content":" public Student updateStudentCascade(Student student)"},{"lineNumber":394,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":395,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":396,"author":{"gitId":"domoberzin"},"content":" assert student !\u003d null;"},{"lineNumber":397,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":398,"author":{"gitId":"domoberzin"},"content":" return usersLogic.updateStudentCascade(student);"},{"lineNumber":399,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":400,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":401,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":402,"author":{"gitId":"-"},"content":" * Moves a course to Recycle Bin by its given corresponding ID."},{"lineNumber":403,"author":{"gitId":"-"},"content":" * @return the deletion timestamp assigned to the course."},{"lineNumber":404,"author":{"gitId":"-"},"content":" */"},{"lineNumber":405,"author":{"gitId":"-"},"content":" public Course moveCourseToRecycleBin(String courseId) throws EntityDoesNotExistException {"},{"lineNumber":406,"author":{"gitId":"-"},"content":" return coursesLogic.moveCourseToRecycleBin(courseId);"},{"lineNumber":407,"author":{"gitId":"-"},"content":" }"},{"lineNumber":408,"author":{"gitId":"-"},"content":""},{"lineNumber":409,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":410,"author":{"gitId":"-"},"content":" * Restores a course and all data related to the course from Recycle Bin by"},{"lineNumber":411,"author":{"gitId":"-"},"content":" * its given corresponding ID."},{"lineNumber":412,"author":{"gitId":"-"},"content":" */"},{"lineNumber":413,"author":{"gitId":"-"},"content":" public void restoreCourseFromRecycleBin(String courseId) throws EntityDoesNotExistException {"},{"lineNumber":414,"author":{"gitId":"-"},"content":" coursesLogic.restoreCourseFromRecycleBin(courseId);"},{"lineNumber":415,"author":{"gitId":"-"},"content":" }"},{"lineNumber":416,"author":{"gitId":"-"},"content":""},{"lineNumber":417,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":418,"author":{"gitId":"-"},"content":" * Updates a course."},{"lineNumber":419,"author":{"gitId":"-"},"content":" *"},{"lineNumber":420,"author":{"gitId":"-"},"content":" * @return updated course"},{"lineNumber":421,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":422,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the course cannot be found"},{"lineNumber":423,"author":{"gitId":"-"},"content":" */"},{"lineNumber":424,"author":{"gitId":"-"},"content":" public Course updateCourse(String courseId, String name, String timezone)"},{"lineNumber":425,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":426,"author":{"gitId":"-"},"content":" return coursesLogic.updateCourse(courseId, name, timezone);"},{"lineNumber":427,"author":{"gitId":"-"},"content":" }"},{"lineNumber":428,"author":{"gitId":"-"},"content":""},{"lineNumber":429,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":430,"author":{"gitId":"-"},"content":" * Gets a list of section names for the given {@code courseId}."},{"lineNumber":431,"author":{"gitId":"-"},"content":" */"},{"lineNumber":432,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getSectionNamesForCourse(String courseId)"},{"lineNumber":433,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":434,"author":{"gitId":"-"},"content":" return coursesLogic.getSectionNamesForCourse(courseId);"},{"lineNumber":435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":436,"author":{"gitId":"-"},"content":""},{"lineNumber":437,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":438,"author":{"gitId":"-"},"content":" * Get section by {@code courseId} and {@code teamName}."},{"lineNumber":439,"author":{"gitId":"-"},"content":" */"},{"lineNumber":440,"author":{"gitId":"-"},"content":" public Section getSectionByCourseIdAndTeam(String courseId, String teamName) {"},{"lineNumber":441,"author":{"gitId":"-"},"content":" return coursesLogic.getSectionByCourseIdAndTeam(courseId, teamName);"},{"lineNumber":442,"author":{"gitId":"-"},"content":" }"},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":445,"author":{"gitId":"-"},"content":" * Creates a deadline extension."},{"lineNumber":446,"author":{"gitId":"-"},"content":" *"},{"lineNumber":447,"author":{"gitId":"-"},"content":" * @return created deadline extension"},{"lineNumber":448,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the deadline extension is not valid"},{"lineNumber":449,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the deadline extension already exist"},{"lineNumber":450,"author":{"gitId":"-"},"content":" */"},{"lineNumber":451,"author":{"gitId":"-"},"content":" public DeadlineExtension createDeadlineExtension(DeadlineExtension deadlineExtension)"},{"lineNumber":452,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":453,"author":{"gitId":"-"},"content":" return deadlineExtensionsLogic.createDeadlineExtension(deadlineExtension);"},{"lineNumber":454,"author":{"gitId":"-"},"content":" }"},{"lineNumber":455,"author":{"gitId":"-"},"content":""},{"lineNumber":456,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":457,"author":{"gitId":"-"},"content":" * Updates a deadline extension."},{"lineNumber":458,"author":{"gitId":"-"},"content":" *"},{"lineNumber":459,"author":{"gitId":"-"},"content":" * @return updated deadline extension"},{"lineNumber":460,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the deadline extension does not exist"},{"lineNumber":461,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the deadline extension is not valid"},{"lineNumber":462,"author":{"gitId":"-"},"content":" *"},{"lineNumber":463,"author":{"gitId":"-"},"content":" */"},{"lineNumber":464,"author":{"gitId":"-"},"content":" public DeadlineExtension updateDeadlineExtension(DeadlineExtension de)"},{"lineNumber":465,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":466,"author":{"gitId":"-"},"content":" return deadlineExtensionsLogic.updateDeadlineExtension(de);"},{"lineNumber":467,"author":{"gitId":"-"},"content":" }"},{"lineNumber":468,"author":{"gitId":"-"},"content":""},{"lineNumber":469,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":470,"author":{"gitId":"-"},"content":" * Deletes a deadline extension."},{"lineNumber":471,"author":{"gitId":"-"},"content":" */"},{"lineNumber":472,"author":{"gitId":"-"},"content":" public void deleteDeadlineExtension(DeadlineExtension de) {"},{"lineNumber":473,"author":{"gitId":"-"},"content":" deadlineExtensionsLogic.deleteDeadlineExtension(de);"},{"lineNumber":474,"author":{"gitId":"-"},"content":" }"},{"lineNumber":475,"author":{"gitId":"-"},"content":""},{"lineNumber":476,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":477,"author":{"gitId":"-"},"content":" * Fetch the deadline extension for a given user and session feedback."},{"lineNumber":478,"author":{"gitId":"-"},"content":" *"},{"lineNumber":479,"author":{"gitId":"-"},"content":" * @return deadline extension instant if exists, else the default end time instant"},{"lineNumber":480,"author":{"gitId":"-"},"content":" * for the session feedback."},{"lineNumber":481,"author":{"gitId":"-"},"content":" */"},{"lineNumber":482,"author":{"gitId":"-"},"content":" public Instant getDeadlineForUser(FeedbackSession session, User user) {"},{"lineNumber":483,"author":{"gitId":"-"},"content":" return deadlineExtensionsLogic.getDeadlineForUser(session, user);"},{"lineNumber":484,"author":{"gitId":"-"},"content":" }"},{"lineNumber":485,"author":{"gitId":"-"},"content":""},{"lineNumber":486,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":487,"author":{"gitId":"-"},"content":" * Fetch the deadline extension for a given user and session feedback."},{"lineNumber":488,"author":{"gitId":"-"},"content":" *"},{"lineNumber":489,"author":{"gitId":"-"},"content":" * @return deadline extension instant if exists, else return null since no deadline extensions."},{"lineNumber":490,"author":{"gitId":"-"},"content":" */"},{"lineNumber":491,"author":{"gitId":"-"},"content":" public Instant getExtendedDeadlineForUser(FeedbackSession session, User user) {"},{"lineNumber":492,"author":{"gitId":"-"},"content":" return deadlineExtensionsLogic.getExtendedDeadlineForUser(session, user);"},{"lineNumber":493,"author":{"gitId":"-"},"content":" }"},{"lineNumber":494,"author":{"gitId":"-"},"content":""},{"lineNumber":495,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":496,"author":{"gitId":"-"},"content":" * Gets a list of deadline extensions with endTime coming up soon"},{"lineNumber":497,"author":{"gitId":"-"},"content":" * and possibly need a closing email to be sent."},{"lineNumber":498,"author":{"gitId":"-"},"content":" */"},{"lineNumber":499,"author":{"gitId":"-"},"content":" public List\u003cDeadlineExtension\u003e getDeadlineExtensionsPossiblyNeedingClosingEmail() {"},{"lineNumber":500,"author":{"gitId":"-"},"content":" return deadlineExtensionsLogic.getDeadlineExtensionsPossiblyNeedingClosingEmail();"},{"lineNumber":501,"author":{"gitId":"-"},"content":" }"},{"lineNumber":502,"author":{"gitId":"-"},"content":""},{"lineNumber":503,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":504,"author":{"gitId":"-"},"content":" * Gets a feedback session."},{"lineNumber":505,"author":{"gitId":"-"},"content":" *"},{"lineNumber":506,"author":{"gitId":"-"},"content":" * @return null if not found."},{"lineNumber":507,"author":{"gitId":"-"},"content":" */"},{"lineNumber":508,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSession(UUID id) {"},{"lineNumber":509,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSession(id);"},{"lineNumber":510,"author":{"gitId":"-"},"content":" }"},{"lineNumber":511,"author":{"gitId":"-"},"content":""},{"lineNumber":512,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":513,"author":{"gitId":"-"},"content":" * Gets a feedback session for {@code feedbackSessionName} and {@code courseId}."},{"lineNumber":514,"author":{"gitId":"-"},"content":" *"},{"lineNumber":515,"author":{"gitId":"-"},"content":" * @return null if not found."},{"lineNumber":516,"author":{"gitId":"-"},"content":" */"},{"lineNumber":517,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSession(String feedbackSessionName, String courseId) {"},{"lineNumber":518,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":519,"author":{"gitId":"-"},"content":" }"},{"lineNumber":520,"author":{"gitId":"-"},"content":""},{"lineNumber":521,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":522,"author":{"gitId":"dishenggg"},"content":" * Gets a feedback session reference."},{"lineNumber":523,"author":{"gitId":"dishenggg"},"content":" *"},{"lineNumber":524,"author":{"gitId":"dishenggg"},"content":" * @return Returns a proxy for the feedback session."},{"lineNumber":525,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":526,"author":{"gitId":"dishenggg"},"content":" public FeedbackSession getFeedbackSessionReference(UUID id) {"},{"lineNumber":527,"author":{"gitId":"dishenggg"},"content":" return feedbackSessionsLogic.getFeedbackSessionReference(id);"},{"lineNumber":528,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":529,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":530,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":531,"author":{"gitId":"-"},"content":" * Gets a feedback session from the recycle bin."},{"lineNumber":532,"author":{"gitId":"-"},"content":" *"},{"lineNumber":533,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":534,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":535,"author":{"gitId":"-"},"content":" *"},{"lineNumber":536,"author":{"gitId":"-"},"content":" * @return null if not found."},{"lineNumber":537,"author":{"gitId":"-"},"content":" */"},{"lineNumber":538,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSessionFromRecycleBin(String feedbackSessionName, String courseId) {"},{"lineNumber":539,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":540,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":541,"author":{"gitId":"-"},"content":""},{"lineNumber":542,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionFromRecycleBin(feedbackSessionName, courseId);"},{"lineNumber":543,"author":{"gitId":"-"},"content":" }"},{"lineNumber":544,"author":{"gitId":"-"},"content":""},{"lineNumber":545,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":546,"author":{"gitId":"-"},"content":" * Returns a {@code List} of feedback sessions in the Recycle Bin for the instructors."},{"lineNumber":547,"author":{"gitId":"-"},"content":" * \u003cbr\u003e"},{"lineNumber":548,"author":{"gitId":"-"},"content":" * Omits sessions if the corresponding courses are archived or in Recycle Bin"},{"lineNumber":549,"author":{"gitId":"-"},"content":" */"},{"lineNumber":550,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getSoftDeletedFeedbackSessionsForInstructors("},{"lineNumber":551,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorList) {"},{"lineNumber":552,"author":{"gitId":"-"},"content":" assert instructorList !\u003d null;"},{"lineNumber":553,"author":{"gitId":"-"},"content":""},{"lineNumber":554,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getSoftDeletedFeedbackSessionsForInstructors(instructorList);"},{"lineNumber":555,"author":{"gitId":"-"},"content":" }"},{"lineNumber":556,"author":{"gitId":"-"},"content":""},{"lineNumber":557,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":558,"author":{"gitId":"-"},"content":" * Gets a list of feedback sessions for instructors."},{"lineNumber":559,"author":{"gitId":"-"},"content":" */"},{"lineNumber":560,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsForInstructors("},{"lineNumber":561,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorList) {"},{"lineNumber":562,"author":{"gitId":"-"},"content":" assert instructorList !\u003d null;"},{"lineNumber":563,"author":{"gitId":"-"},"content":""},{"lineNumber":564,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionsForInstructors(instructorList);"},{"lineNumber":565,"author":{"gitId":"-"},"content":" }"},{"lineNumber":566,"author":{"gitId":"-"},"content":""},{"lineNumber":567,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":568,"author":{"gitId":"-"},"content":" * Gets all and only the feedback sessions ongoing within a range of time."},{"lineNumber":569,"author":{"gitId":"-"},"content":" */"},{"lineNumber":570,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getOngoingSessions(Instant rangeStart, Instant rangeEnd) {"},{"lineNumber":571,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getOngoingSessions(rangeStart, rangeEnd);"},{"lineNumber":572,"author":{"gitId":"-"},"content":" }"},{"lineNumber":573,"author":{"gitId":"-"},"content":""},{"lineNumber":574,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":575,"author":{"gitId":"-"},"content":" * Gets a set of giver identifiers that has at least one response under a feedback session."},{"lineNumber":576,"author":{"gitId":"-"},"content":" */"},{"lineNumber":577,"author":{"gitId":"-"},"content":" public Set\u003cString\u003e getGiverSetThatAnsweredFeedbackSession(String feedbackSessionName, String courseId) {"},{"lineNumber":578,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":579,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":580,"author":{"gitId":"-"},"content":""},{"lineNumber":581,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getGiverSetThatAnsweredFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":582,"author":{"gitId":"-"},"content":" }"},{"lineNumber":583,"author":{"gitId":"-"},"content":""},{"lineNumber":584,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":585,"author":{"gitId":"-"},"content":" * Updates a feedback session."},{"lineNumber":586,"author":{"gitId":"-"},"content":" *"},{"lineNumber":587,"author":{"gitId":"-"},"content":" * @return returns the updated feedback session."},{"lineNumber":588,"author":{"gitId":"-"},"content":" */"},{"lineNumber":589,"author":{"gitId":"-"},"content":" public FeedbackSession updateFeedbackSession(FeedbackSession feedbackSession)"},{"lineNumber":590,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":591,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.updateFeedbackSession(feedbackSession);"},{"lineNumber":592,"author":{"gitId":"-"},"content":" }"},{"lineNumber":593,"author":{"gitId":"-"},"content":""},{"lineNumber":594,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":595,"author":{"gitId":"-"},"content":" * Returns a list of sessions that require automated emails to be sent as they are published."},{"lineNumber":596,"author":{"gitId":"-"},"content":" */"},{"lineNumber":597,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsWhichNeedAutomatedPublishedEmailsToBeSent() {"},{"lineNumber":598,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionsWhichNeedAutomatedPublishedEmailsToBeSent();"},{"lineNumber":599,"author":{"gitId":"-"},"content":" }"},{"lineNumber":600,"author":{"gitId":"-"},"content":""},{"lineNumber":601,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":602,"author":{"gitId":"-"},"content":" * Creates a feedback session."},{"lineNumber":603,"author":{"gitId":"-"},"content":" *"},{"lineNumber":604,"author":{"gitId":"-"},"content":" * @return returns the created feedback session."},{"lineNumber":605,"author":{"gitId":"-"},"content":" */"},{"lineNumber":606,"author":{"gitId":"-"},"content":" public FeedbackSession createFeedbackSession(FeedbackSession feedbackSession)"},{"lineNumber":607,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":608,"author":{"gitId":"-"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":609,"author":{"gitId":"-"},"content":" assert feedbackSession.getCourse() !\u003d null \u0026\u0026 feedbackSession.getCourse().getId() !\u003d null;"},{"lineNumber":610,"author":{"gitId":"-"},"content":""},{"lineNumber":611,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.createFeedbackSession(feedbackSession);"},{"lineNumber":612,"author":{"gitId":"-"},"content":" }"},{"lineNumber":613,"author":{"gitId":"-"},"content":""},{"lineNumber":614,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":615,"author":{"gitId":"-"},"content":" * Gets all feedback sessions of a course, except those that are soft-deleted."},{"lineNumber":616,"author":{"gitId":"-"},"content":" */"},{"lineNumber":617,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsForCourse(String courseId) {"},{"lineNumber":618,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionsForCourse(courseId);"},{"lineNumber":619,"author":{"gitId":"-"},"content":" }"},{"lineNumber":620,"author":{"gitId":"-"},"content":""},{"lineNumber":621,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":622,"author":{"gitId":"-"},"content":" * Creates a new feedback question."},{"lineNumber":623,"author":{"gitId":"-"},"content":" *"},{"lineNumber":624,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":625,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":626,"author":{"gitId":"-"},"content":" *"},{"lineNumber":627,"author":{"gitId":"-"},"content":" * @return the created question"},{"lineNumber":628,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the question is invalid"},{"lineNumber":629,"author":{"gitId":"marquestye"},"content":" * @throws EntityAlreadyExistsException if the question already exists"},{"lineNumber":630,"author":{"gitId":"-"},"content":" */"},{"lineNumber":631,"author":{"gitId":"marquestye"},"content":" public FeedbackQuestion createFeedbackQuestion(FeedbackQuestion feedbackQuestion)"},{"lineNumber":632,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":633,"author":{"gitId":"-"},"content":" return feedbackQuestionsLogic.createFeedbackQuestion(feedbackQuestion);"},{"lineNumber":634,"author":{"gitId":"-"},"content":" }"},{"lineNumber":635,"author":{"gitId":"-"},"content":""},{"lineNumber":636,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":637,"author":{"gitId":"-"},"content":" * Publishes a feedback session."},{"lineNumber":638,"author":{"gitId":"-"},"content":" * @return the published feedback session"},{"lineNumber":639,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback session cannot be found"},{"lineNumber":640,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if session is already published"},{"lineNumber":641,"author":{"gitId":"-"},"content":" */"},{"lineNumber":642,"author":{"gitId":"-"},"content":" public FeedbackSession publishFeedbackSession(String feedbackSessionName, String courseId)"},{"lineNumber":643,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InvalidParametersException {"},{"lineNumber":644,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":645,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":646,"author":{"gitId":"-"},"content":""},{"lineNumber":647,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.publishFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":648,"author":{"gitId":"-"},"content":" }"},{"lineNumber":649,"author":{"gitId":"-"},"content":""},{"lineNumber":650,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":651,"author":{"gitId":"-"},"content":" * Checks whether a student has attempted a feedback session."},{"lineNumber":652,"author":{"gitId":"-"},"content":" *"},{"lineNumber":653,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf there is no question for students, the feedback session is considered as attempted.\u003c/p\u003e"},{"lineNumber":654,"author":{"gitId":"-"},"content":" */"},{"lineNumber":655,"author":{"gitId":"-"},"content":" public boolean isFeedbackSessionAttemptedByStudent(FeedbackSession session, String userEmail, String userTeam) {"},{"lineNumber":656,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.isFeedbackSessionAttemptedByStudent(session, userEmail, userTeam);"},{"lineNumber":657,"author":{"gitId":"-"},"content":" }"},{"lineNumber":658,"author":{"gitId":"-"},"content":""},{"lineNumber":659,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":660,"author":{"gitId":"-"},"content":" * Checks whether an instructor has attempted a feedback session."},{"lineNumber":661,"author":{"gitId":"-"},"content":" *"},{"lineNumber":662,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf there is no question for instructors, the feedback session is considered as attempted.\u003c/p\u003e"},{"lineNumber":663,"author":{"gitId":"-"},"content":" */"},{"lineNumber":664,"author":{"gitId":"-"},"content":" public boolean isFeedbackSessionAttemptedByInstructor(FeedbackSession session, String userEmail) {"},{"lineNumber":665,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.isFeedbackSessionAttemptedByInstructor(session, userEmail);"},{"lineNumber":666,"author":{"gitId":"-"},"content":" }"},{"lineNumber":667,"author":{"gitId":"-"},"content":""},{"lineNumber":668,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":669,"author":{"gitId":"-"},"content":" * Deletes a feedback session cascade to its associated questions, responses, deadline extensions and comments."},{"lineNumber":670,"author":{"gitId":"-"},"content":" *"},{"lineNumber":671,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":672,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":673,"author":{"gitId":"-"},"content":" */"},{"lineNumber":674,"author":{"gitId":"-"},"content":" public void deleteFeedbackSessionCascade(String feedbackSessionName, String courseId) {"},{"lineNumber":675,"author":{"gitId":"-"},"content":" feedbackSessionsLogic.deleteFeedbackSessionCascade(feedbackSessionName, courseId);"},{"lineNumber":676,"author":{"gitId":"-"},"content":" }"},{"lineNumber":677,"author":{"gitId":"-"},"content":""},{"lineNumber":678,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":679,"author":{"gitId":"-"},"content":" * Soft-deletes a specific session to Recycle Bin."},{"lineNumber":680,"author":{"gitId":"-"},"content":" */"},{"lineNumber":681,"author":{"gitId":"-"},"content":" public FeedbackSession moveFeedbackSessionToRecycleBin(String feedbackSessionName, String courseId)"},{"lineNumber":682,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":683,"author":{"gitId":"-"},"content":""},{"lineNumber":684,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":685,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":686,"author":{"gitId":"-"},"content":""},{"lineNumber":687,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.moveFeedbackSessionToRecycleBin(feedbackSessionName, courseId);"},{"lineNumber":688,"author":{"gitId":"-"},"content":" }"},{"lineNumber":689,"author":{"gitId":"-"},"content":""},{"lineNumber":690,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":691,"author":{"gitId":"-"},"content":" * Restores a specific session from Recycle Bin to feedback sessions table."},{"lineNumber":692,"author":{"gitId":"-"},"content":" */"},{"lineNumber":693,"author":{"gitId":"-"},"content":" public void restoreFeedbackSessionFromRecycleBin(String feedbackSessionName, String courseId)"},{"lineNumber":694,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":695,"author":{"gitId":"-"},"content":""},{"lineNumber":696,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":697,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":698,"author":{"gitId":"-"},"content":""},{"lineNumber":699,"author":{"gitId":"-"},"content":" feedbackSessionsLogic.restoreFeedbackSessionFromRecycleBin(feedbackSessionName, courseId);"},{"lineNumber":700,"author":{"gitId":"-"},"content":" }"},{"lineNumber":701,"author":{"gitId":"-"},"content":""},{"lineNumber":702,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":703,"author":{"gitId":"-"},"content":" * Unpublishes a feedback session."},{"lineNumber":704,"author":{"gitId":"-"},"content":" * @return the unpublished feedback session"},{"lineNumber":705,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback session cannot be found"},{"lineNumber":706,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException"},{"lineNumber":707,"author":{"gitId":"-"},"content":" * if the feedback session is not ready to be unpublished."},{"lineNumber":708,"author":{"gitId":"-"},"content":" */"},{"lineNumber":709,"author":{"gitId":"-"},"content":" public FeedbackSession unpublishFeedbackSession(String feedbackSessionName, String courseId)"},{"lineNumber":710,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InvalidParametersException {"},{"lineNumber":711,"author":{"gitId":"-"},"content":""},{"lineNumber":712,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":713,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":714,"author":{"gitId":"-"},"content":""},{"lineNumber":715,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.unpublishFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":716,"author":{"gitId":"-"},"content":" }"},{"lineNumber":717,"author":{"gitId":"-"},"content":""},{"lineNumber":718,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":719,"author":{"gitId":"-"},"content":" * After an update to feedback session\u0027s fields, may need to adjust the email status of the session."},{"lineNumber":720,"author":{"gitId":"-"},"content":" * @param session recently updated session."},{"lineNumber":721,"author":{"gitId":"-"},"content":" */"},{"lineNumber":722,"author":{"gitId":"-"},"content":" public void adjustFeedbackSessionEmailStatusAfterUpdate(FeedbackSession session) {"},{"lineNumber":723,"author":{"gitId":"-"},"content":" assert session !\u003d null;"},{"lineNumber":724,"author":{"gitId":"-"},"content":" feedbackSessionsLogic.adjustFeedbackSessionEmailStatusAfterUpdate(session);"},{"lineNumber":725,"author":{"gitId":"-"},"content":" }"},{"lineNumber":726,"author":{"gitId":"-"},"content":""},{"lineNumber":727,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":728,"author":{"gitId":"domoberzin"},"content":" * Gets the expected number of submissions for a feedback session."},{"lineNumber":729,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":730,"author":{"gitId":"domoberzin"},"content":" * \u003cbr\u003ePreconditions: \u003cbr\u003e"},{"lineNumber":731,"author":{"gitId":"domoberzin"},"content":" * * All parameters are non-null."},{"lineNumber":732,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":733,"author":{"gitId":"domoberzin"},"content":" public int getExpectedTotalSubmission(FeedbackSession fs) {"},{"lineNumber":734,"author":{"gitId":"domoberzin"},"content":" assert fs !\u003d null;"},{"lineNumber":735,"author":{"gitId":"domoberzin"},"content":" return feedbackSessionsLogic.getExpectedTotalSubmission(fs);"},{"lineNumber":736,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":737,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":738,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":739,"author":{"gitId":"domoberzin"},"content":" * Gets the actual number of submissions for a feedback session."},{"lineNumber":740,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":741,"author":{"gitId":"domoberzin"},"content":" * \u003cbr\u003ePreconditions: \u003cbr\u003e"},{"lineNumber":742,"author":{"gitId":"domoberzin"},"content":" * * All parameters are non-null."},{"lineNumber":743,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":744,"author":{"gitId":"domoberzin"},"content":" public int getActualTotalSubmission(FeedbackSession fs) {"},{"lineNumber":745,"author":{"gitId":"domoberzin"},"content":" assert fs !\u003d null;"},{"lineNumber":746,"author":{"gitId":"domoberzin"},"content":" return feedbackSessionsLogic.getActualTotalSubmission(fs);"},{"lineNumber":747,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":748,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":749,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":750,"author":{"gitId":"-"},"content":" * Get usage statistics within a time range."},{"lineNumber":751,"author":{"gitId":"-"},"content":" */"},{"lineNumber":752,"author":{"gitId":"-"},"content":" public List\u003cUsageStatistics\u003e getUsageStatisticsForTimeRange(Instant startTime, Instant endTime) {"},{"lineNumber":753,"author":{"gitId":"-"},"content":" return usageStatisticsLogic.getUsageStatisticsForTimeRange(startTime, endTime);"},{"lineNumber":754,"author":{"gitId":"-"},"content":" }"},{"lineNumber":755,"author":{"gitId":"-"},"content":""},{"lineNumber":756,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":757,"author":{"gitId":"-"},"content":" * Calculate usage statistics within a time range."},{"lineNumber":758,"author":{"gitId":"-"},"content":" */"},{"lineNumber":759,"author":{"gitId":"-"},"content":" public UsageStatistics calculateEntitiesStatisticsForTimeRange(Instant startTime, Instant endTime) {"},{"lineNumber":760,"author":{"gitId":"-"},"content":" return usageStatisticsLogic.calculateEntitiesStatisticsForTimeRange(startTime, endTime);"},{"lineNumber":761,"author":{"gitId":"-"},"content":" }"},{"lineNumber":762,"author":{"gitId":"-"},"content":""},{"lineNumber":763,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":764,"author":{"gitId":"-"},"content":" * Create usage statistics within a time range."},{"lineNumber":765,"author":{"gitId":"-"},"content":" */"},{"lineNumber":766,"author":{"gitId":"-"},"content":" public void createUsageStatistics(UsageStatistics attributes)"},{"lineNumber":767,"author":{"gitId":"-"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":768,"author":{"gitId":"-"},"content":" usageStatisticsLogic.createUsageStatistics(attributes);"},{"lineNumber":769,"author":{"gitId":"-"},"content":" }"},{"lineNumber":770,"author":{"gitId":"-"},"content":""},{"lineNumber":771,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":772,"author":{"gitId":"-"},"content":" * Creates a notification."},{"lineNumber":773,"author":{"gitId":"-"},"content":" *"},{"lineNumber":774,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":775,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":776,"author":{"gitId":"-"},"content":" *"},{"lineNumber":777,"author":{"gitId":"-"},"content":" * @return created notification"},{"lineNumber":778,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the notification is not valid"},{"lineNumber":779,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the notification exists in the database"},{"lineNumber":780,"author":{"gitId":"-"},"content":" */"},{"lineNumber":781,"author":{"gitId":"-"},"content":" public Notification createNotification(Notification notification) throws"},{"lineNumber":782,"author":{"gitId":"-"},"content":" InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":783,"author":{"gitId":"-"},"content":" return notificationsLogic.createNotification(notification);"},{"lineNumber":784,"author":{"gitId":"-"},"content":" }"},{"lineNumber":785,"author":{"gitId":"-"},"content":""},{"lineNumber":786,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":787,"author":{"gitId":"-"},"content":" * Gets a notification by ID."},{"lineNumber":788,"author":{"gitId":"-"},"content":" *"},{"lineNumber":789,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":790,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":791,"author":{"gitId":"-"},"content":" *"},{"lineNumber":792,"author":{"gitId":"-"},"content":" * @return Null if no match found."},{"lineNumber":793,"author":{"gitId":"-"},"content":" */"},{"lineNumber":794,"author":{"gitId":"-"},"content":" public Notification getNotification(UUID notificationId) {"},{"lineNumber":795,"author":{"gitId":"-"},"content":" return notificationsLogic.getNotification(notificationId);"},{"lineNumber":796,"author":{"gitId":"-"},"content":" }"},{"lineNumber":797,"author":{"gitId":"-"},"content":""},{"lineNumber":798,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":799,"author":{"gitId":"-"},"content":" * Updates a notification."},{"lineNumber":800,"author":{"gitId":"-"},"content":" *"},{"lineNumber":801,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":802,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":803,"author":{"gitId":"-"},"content":" * @return updated notification"},{"lineNumber":804,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the notification is not valid"},{"lineNumber":805,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the notification does not exist in the database"},{"lineNumber":806,"author":{"gitId":"-"},"content":" */"},{"lineNumber":807,"author":{"gitId":"-"},"content":" public Notification updateNotification(UUID notificationId, Instant startTime, Instant endTime,"},{"lineNumber":808,"author":{"gitId":"-"},"content":" NotificationStyle style, NotificationTargetUser targetUser, String title,"},{"lineNumber":809,"author":{"gitId":"-"},"content":" String message) throws"},{"lineNumber":810,"author":{"gitId":"-"},"content":" InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":811,"author":{"gitId":"-"},"content":" return notificationsLogic.updateNotification(notificationId, startTime, endTime, style, targetUser, title, message);"},{"lineNumber":812,"author":{"gitId":"-"},"content":" }"},{"lineNumber":813,"author":{"gitId":"-"},"content":""},{"lineNumber":814,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":815,"author":{"gitId":"-"},"content":" * Deletes notification by ID."},{"lineNumber":816,"author":{"gitId":"-"},"content":" *"},{"lineNumber":817,"author":{"gitId":"-"},"content":" * \u003cul\u003e"},{"lineNumber":818,"author":{"gitId":"-"},"content":" * \u003cli\u003eFails silently if no such notification.\u003c/li\u003e"},{"lineNumber":819,"author":{"gitId":"-"},"content":" * \u003c/ul\u003e"},{"lineNumber":820,"author":{"gitId":"-"},"content":" *"},{"lineNumber":821,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":822,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":823,"author":{"gitId":"-"},"content":" */"},{"lineNumber":824,"author":{"gitId":"-"},"content":" public void deleteNotification(UUID notificationId) {"},{"lineNumber":825,"author":{"gitId":"-"},"content":" notificationsLogic.deleteNotification(notificationId);"},{"lineNumber":826,"author":{"gitId":"-"},"content":" }"},{"lineNumber":827,"author":{"gitId":"-"},"content":""},{"lineNumber":828,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":829,"author":{"gitId":"-"},"content":" * Get a list of IDs of the read notifications of the account."},{"lineNumber":830,"author":{"gitId":"-"},"content":" */"},{"lineNumber":831,"author":{"gitId":"-"},"content":" public List\u003cUUID\u003e getReadNotificationsId(String id) {"},{"lineNumber":832,"author":{"gitId":"-"},"content":" return accountsLogic.getReadNotificationsId(id);"},{"lineNumber":833,"author":{"gitId":"-"},"content":" }"},{"lineNumber":834,"author":{"gitId":"-"},"content":""},{"lineNumber":835,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":836,"author":{"gitId":"-"},"content":" * Updates user read status for notification with ID {@code notificationId} and expiry time {@code endTime}."},{"lineNumber":837,"author":{"gitId":"-"},"content":" *"},{"lineNumber":838,"author":{"gitId":"-"},"content":" * \u003cp\u003ePreconditions:\u003c/p\u003e"},{"lineNumber":839,"author":{"gitId":"-"},"content":" * * All parameters are non-null. {@code endTime} must be after current moment."},{"lineNumber":840,"author":{"gitId":"-"},"content":" */"},{"lineNumber":841,"author":{"gitId":"-"},"content":" public List\u003cUUID\u003e updateReadNotifications(String id, UUID notificationId, Instant endTime)"},{"lineNumber":842,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":843,"author":{"gitId":"-"},"content":" return accountsLogic.updateReadNotifications(id, notificationId, endTime);"},{"lineNumber":844,"author":{"gitId":"-"},"content":" }"},{"lineNumber":845,"author":{"gitId":"-"},"content":""},{"lineNumber":846,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":847,"author":{"gitId":"-"},"content":" * Gets instructor associated with {@code id}."},{"lineNumber":848,"author":{"gitId":"-"},"content":" *"},{"lineNumber":849,"author":{"gitId":"-"},"content":" * @param id Id of Instructor."},{"lineNumber":850,"author":{"gitId":"-"},"content":" * @return Returns Instructor if found else null."},{"lineNumber":851,"author":{"gitId":"-"},"content":" */"},{"lineNumber":852,"author":{"gitId":"-"},"content":" public Instructor getInstructor(UUID id) {"},{"lineNumber":853,"author":{"gitId":"-"},"content":" return usersLogic.getInstructor(id);"},{"lineNumber":854,"author":{"gitId":"-"},"content":" }"},{"lineNumber":855,"author":{"gitId":"-"},"content":""},{"lineNumber":856,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":857,"author":{"gitId":"-"},"content":" * Gets instructor associated with {@code courseId} and {@code email}."},{"lineNumber":858,"author":{"gitId":"-"},"content":" */"},{"lineNumber":859,"author":{"gitId":"-"},"content":" public Instructor getInstructorForEmail(String courseId, String email) {"},{"lineNumber":860,"author":{"gitId":"-"},"content":" return usersLogic.getInstructorForEmail(courseId, email);"},{"lineNumber":861,"author":{"gitId":"-"},"content":" }"},{"lineNumber":862,"author":{"gitId":"-"},"content":""},{"lineNumber":863,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":864,"author":{"gitId":"-"},"content":" * Gets an instructor by associated {@code regkey}."},{"lineNumber":865,"author":{"gitId":"-"},"content":" */"},{"lineNumber":866,"author":{"gitId":"-"},"content":" public Instructor getInstructorByRegistrationKey(String regKey) {"},{"lineNumber":867,"author":{"gitId":"-"},"content":" return usersLogic.getInstructorByRegistrationKey(regKey);"},{"lineNumber":868,"author":{"gitId":"-"},"content":" }"},{"lineNumber":869,"author":{"gitId":"-"},"content":""},{"lineNumber":870,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":871,"author":{"gitId":"-"},"content":" * Gets an instructor by associated {@code googleId}."},{"lineNumber":872,"author":{"gitId":"-"},"content":" */"},{"lineNumber":873,"author":{"gitId":"-"},"content":" public Instructor getInstructorByGoogleId(String courseId, String googleId) {"},{"lineNumber":874,"author":{"gitId":"-"},"content":" return usersLogic.getInstructorByGoogleId(courseId, googleId);"},{"lineNumber":875,"author":{"gitId":"-"},"content":" }"},{"lineNumber":876,"author":{"gitId":"-"},"content":""},{"lineNumber":877,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":878,"author":{"gitId":"-"},"content":" * Gets list of instructors by {@code googleId}."},{"lineNumber":879,"author":{"gitId":"-"},"content":" */"},{"lineNumber":880,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsForGoogleId(String googleId) {"},{"lineNumber":881,"author":{"gitId":"-"},"content":" return usersLogic.getInstructorsForGoogleId(googleId);"},{"lineNumber":882,"author":{"gitId":"-"},"content":" }"},{"lineNumber":883,"author":{"gitId":"-"},"content":""},{"lineNumber":884,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":885,"author":{"gitId":"-"},"content":" * Gets instructors by associated {@code courseId}."},{"lineNumber":886,"author":{"gitId":"-"},"content":" */"},{"lineNumber":887,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsByCourse(String courseId) {"},{"lineNumber":888,"author":{"gitId":"-"},"content":" return usersLogic.getInstructorsForCourse(courseId);"},{"lineNumber":889,"author":{"gitId":"-"},"content":" }"},{"lineNumber":890,"author":{"gitId":"-"},"content":""},{"lineNumber":891,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":892,"author":{"gitId":"-"},"content":" * Creates an instructor."},{"lineNumber":893,"author":{"gitId":"-"},"content":" */"},{"lineNumber":894,"author":{"gitId":"-"},"content":" public Instructor createInstructor(Instructor instructor)"},{"lineNumber":895,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":896,"author":{"gitId":"-"},"content":" return usersLogic.createInstructor(instructor);"},{"lineNumber":897,"author":{"gitId":"-"},"content":" }"},{"lineNumber":898,"author":{"gitId":"-"},"content":""},{"lineNumber":899,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":900,"author":{"gitId":"-"},"content":" * Make the instructor join the course, i.e. associate the Google ID to the instructor.\u003cbr\u003e"},{"lineNumber":901,"author":{"gitId":"-"},"content":" * Creates an account for the instructor if no existing account is found."},{"lineNumber":902,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":903,"author":{"gitId":"-"},"content":" * * Parameters regkey and googleId are non-null."},{"lineNumber":904,"author":{"gitId":"-"},"content":" */"},{"lineNumber":905,"author":{"gitId":"-"},"content":" public Instructor joinCourseForInstructor(String regkey, String googleId)"},{"lineNumber":906,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":907,"author":{"gitId":"-"},"content":""},{"lineNumber":908,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":909,"author":{"gitId":"-"},"content":" assert regkey !\u003d null;"},{"lineNumber":910,"author":{"gitId":"-"},"content":""},{"lineNumber":911,"author":{"gitId":"-"},"content":" return accountsLogic.joinCourseForInstructor(regkey, googleId);"},{"lineNumber":912,"author":{"gitId":"-"},"content":" }"},{"lineNumber":913,"author":{"gitId":"-"},"content":""},{"lineNumber":914,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":915,"author":{"gitId":"-"},"content":" * Validates that the join course request is valid, then"},{"lineNumber":916,"author":{"gitId":"-"},"content":" * makes the instructor join the course, i.e. associate an account to the instructor with the given googleId."},{"lineNumber":917,"author":{"gitId":"-"},"content":" * Creates an account for the instructor if no existing account is found."},{"lineNumber":918,"author":{"gitId":"-"},"content":" * Preconditions:"},{"lineNumber":919,"author":{"gitId":"-"},"content":" * Parameters regkey and googleId are non-null."},{"lineNumber":920,"author":{"gitId":"-"},"content":" */"},{"lineNumber":921,"author":{"gitId":"-"},"content":" public Instructor joinCourseForInstructor(String googleId, Instructor instructor)"},{"lineNumber":922,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException, EntityDoesNotExistException {"},{"lineNumber":923,"author":{"gitId":"-"},"content":" if (googleId \u003d\u003d null) {"},{"lineNumber":924,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(\"Instructor\u0027s googleId cannot be null\");"},{"lineNumber":925,"author":{"gitId":"-"},"content":" }"},{"lineNumber":926,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":927,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(\"Instructor cannot be null\");"},{"lineNumber":928,"author":{"gitId":"-"},"content":" }"},{"lineNumber":929,"author":{"gitId":"-"},"content":""},{"lineNumber":930,"author":{"gitId":"-"},"content":" validateJoinCourseRequest(googleId, instructor);"},{"lineNumber":931,"author":{"gitId":"-"},"content":" return usersLogic.joinCourseForInstructor(googleId, instructor);"},{"lineNumber":932,"author":{"gitId":"-"},"content":" }"},{"lineNumber":933,"author":{"gitId":"-"},"content":""},{"lineNumber":934,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":935,"author":{"gitId":"-"},"content":" * Validates that the instructor can join the course it has as courseId field."},{"lineNumber":936,"author":{"gitId":"-"},"content":" *"},{"lineNumber":937,"author":{"gitId":"-"},"content":" * @return true if the instructor can join the course."},{"lineNumber":938,"author":{"gitId":"-"},"content":" * @throws Exception if the instructor cannot join the course."},{"lineNumber":939,"author":{"gitId":"-"},"content":" */"},{"lineNumber":940,"author":{"gitId":"-"},"content":" private boolean validateJoinCourseRequest(String googleId, Instructor instructor)"},{"lineNumber":941,"author":{"gitId":"-"},"content":" throws EntityAlreadyExistsException, EntityDoesNotExistException {"},{"lineNumber":942,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":943,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Instructor not found\");"},{"lineNumber":944,"author":{"gitId":"-"},"content":" }"},{"lineNumber":945,"author":{"gitId":"-"},"content":""},{"lineNumber":946,"author":{"gitId":"-"},"content":" // check course exists and has not been deleted"},{"lineNumber":947,"author":{"gitId":"-"},"content":" Course course \u003d getCourse(instructor.getCourseId());"},{"lineNumber":948,"author":{"gitId":"-"},"content":""},{"lineNumber":949,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":950,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Course with id \" + instructor.getCourseId() + \" does not exist\");"},{"lineNumber":951,"author":{"gitId":"-"},"content":" }"},{"lineNumber":952,"author":{"gitId":"-"},"content":" if (course.isCourseDeleted()) {"},{"lineNumber":953,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"The course you are trying to join has been deleted by an instructor\");"},{"lineNumber":954,"author":{"gitId":"-"},"content":" }"},{"lineNumber":955,"author":{"gitId":"-"},"content":""},{"lineNumber":956,"author":{"gitId":"-"},"content":" if (instructor.isRegistered()) {"},{"lineNumber":957,"author":{"gitId":"-"},"content":" throw new EntityAlreadyExistsException(\"Instructor has already joined course\");"},{"lineNumber":958,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":959,"author":{"gitId":"-"},"content":" // Check if this Google ID has already joined this course with courseId"},{"lineNumber":960,"author":{"gitId":"-"},"content":" Instructor existingInstructor \u003d"},{"lineNumber":961,"author":{"gitId":"-"},"content":" usersLogic.getInstructorByGoogleId(instructor.getCourseId(), googleId);"},{"lineNumber":962,"author":{"gitId":"-"},"content":" if (existingInstructor !\u003d null) {"},{"lineNumber":963,"author":{"gitId":"-"},"content":" throw new EntityAlreadyExistsException(\"Instructor has already joined course\");"},{"lineNumber":964,"author":{"gitId":"-"},"content":" }"},{"lineNumber":965,"author":{"gitId":"-"},"content":" }"},{"lineNumber":966,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":967,"author":{"gitId":"-"},"content":" }"},{"lineNumber":968,"author":{"gitId":"-"},"content":""},{"lineNumber":969,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":970,"author":{"gitId":"-"},"content":" * Searches instructors in the whole system. Used by admin only."},{"lineNumber":971,"author":{"gitId":"-"},"content":" *"},{"lineNumber":972,"author":{"gitId":"-"},"content":" * @return List of found instructors in the whole system. Null if no result found."},{"lineNumber":973,"author":{"gitId":"-"},"content":" */"},{"lineNumber":974,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e searchInstructorsInWholeSystem(String queryString)"},{"lineNumber":975,"author":{"gitId":"-"},"content":" throws SearchServiceException {"},{"lineNumber":976,"author":{"gitId":"-"},"content":" assert queryString !\u003d null;"},{"lineNumber":977,"author":{"gitId":"-"},"content":""},{"lineNumber":978,"author":{"gitId":"-"},"content":" return usersLogic.searchInstructorsInWholeSystem(queryString);"},{"lineNumber":979,"author":{"gitId":"-"},"content":" }"},{"lineNumber":980,"author":{"gitId":"-"},"content":""},{"lineNumber":981,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":982,"author":{"gitId":"-"},"content":" * Updates an instructor and cascades to responses and comments if needed."},{"lineNumber":983,"author":{"gitId":"-"},"content":" *"},{"lineNumber":984,"author":{"gitId":"-"},"content":" * @return updated instructor"},{"lineNumber":985,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the instructor update request is invalid"},{"lineNumber":986,"author":{"gitId":"-"},"content":" * @throws InstructorUpdateException if the update violates instructor validity"},{"lineNumber":987,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the instructor does not exist in the database"},{"lineNumber":988,"author":{"gitId":"-"},"content":" */"},{"lineNumber":989,"author":{"gitId":"-"},"content":" public Instructor updateInstructorCascade(String courseId, InstructorCreateRequest instructorRequest) throws"},{"lineNumber":990,"author":{"gitId":"-"},"content":" InvalidParametersException, InstructorUpdateException, EntityDoesNotExistException {"},{"lineNumber":991,"author":{"gitId":"-"},"content":" return usersLogic.updateInstructorCascade(courseId, instructorRequest);"},{"lineNumber":992,"author":{"gitId":"-"},"content":" }"},{"lineNumber":993,"author":{"gitId":"-"},"content":""},{"lineNumber":994,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":995,"author":{"gitId":"-"},"content":" * Checks if an instructor with {@code googleId} can create a course with {@code institute}."},{"lineNumber":996,"author":{"gitId":"-"},"content":" */"},{"lineNumber":997,"author":{"gitId":"-"},"content":" public boolean canInstructorCreateCourse(String googleId, String institute) {"},{"lineNumber":998,"author":{"gitId":"-"},"content":" return usersLogic.canInstructorCreateCourse(googleId, institute);"},{"lineNumber":999,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1000,"author":{"gitId":"-"},"content":""},{"lineNumber":1001,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1002,"author":{"gitId":"-"},"content":" * Gets student associated with {@code id}."},{"lineNumber":1003,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1004,"author":{"gitId":"-"},"content":" * @param id Id of Student."},{"lineNumber":1005,"author":{"gitId":"-"},"content":" * @return Returns Student if found else null."},{"lineNumber":1006,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1007,"author":{"gitId":"-"},"content":" public Student getStudent(UUID id) {"},{"lineNumber":1008,"author":{"gitId":"-"},"content":" return usersLogic.getStudent(id);"},{"lineNumber":1009,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1010,"author":{"gitId":"-"},"content":""},{"lineNumber":1011,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":1012,"author":{"gitId":"dishenggg"},"content":" * Gets student reference associated with {@code id}."},{"lineNumber":1013,"author":{"gitId":"dishenggg"},"content":" *"},{"lineNumber":1014,"author":{"gitId":"dishenggg"},"content":" * @param id Id of Student."},{"lineNumber":1015,"author":{"gitId":"dishenggg"},"content":" * @return Returns a proxy for the Student."},{"lineNumber":1016,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":1017,"author":{"gitId":"dishenggg"},"content":" public Student getStudentReference(UUID id) {"},{"lineNumber":1018,"author":{"gitId":"dishenggg"},"content":" return usersLogic.getStudentReference(id);"},{"lineNumber":1019,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":1020,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":1021,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1022,"author":{"gitId":"-"},"content":" * Gets student associated with {@code courseId} and {@code email}."},{"lineNumber":1023,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1024,"author":{"gitId":"-"},"content":" public Student getStudentForEmail(String courseId, String email) {"},{"lineNumber":1025,"author":{"gitId":"-"},"content":" return usersLogic.getStudentForEmail(courseId, email);"},{"lineNumber":1026,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1027,"author":{"gitId":"-"},"content":""},{"lineNumber":1028,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1029,"author":{"gitId":"-"},"content":" * Check if the students with the provided emails exist in the course."},{"lineNumber":1030,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1031,"author":{"gitId":"-"},"content":" public boolean verifyStudentsExistInCourse(String courseId, List\u003cString\u003e emails) {"},{"lineNumber":1032,"author":{"gitId":"-"},"content":" return usersLogic.verifyStudentsExistInCourse(courseId, emails);"},{"lineNumber":1033,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1034,"author":{"gitId":"-"},"content":""},{"lineNumber":1035,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1036,"author":{"gitId":"-"},"content":" * Check if the instructors with the provided emails exist in the course."},{"lineNumber":1037,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1038,"author":{"gitId":"-"},"content":" public boolean verifyInstructorsExistInCourse(String courseId, List\u003cString\u003e emails) {"},{"lineNumber":1039,"author":{"gitId":"-"},"content":" return usersLogic.verifyInstructorsExistInCourse(courseId, emails);"},{"lineNumber":1040,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1041,"author":{"gitId":"-"},"content":""},{"lineNumber":1042,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1043,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":1044,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1045,"author":{"gitId":"-"},"content":" * @return Empty list if none found."},{"lineNumber":1046,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1047,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForCourse(String courseId) {"},{"lineNumber":1048,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1049,"author":{"gitId":"-"},"content":" return usersLogic.getStudentsForCourse(courseId);"},{"lineNumber":1050,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1051,"author":{"gitId":"-"},"content":""},{"lineNumber":1052,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1053,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":1054,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1055,"author":{"gitId":"-"},"content":" * @return Empty list if none found."},{"lineNumber":1056,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1057,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getUnregisteredStudentsForCourse(String courseId) {"},{"lineNumber":1058,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1059,"author":{"gitId":"-"},"content":" return usersLogic.getUnregisteredStudentsForCourse(courseId);"},{"lineNumber":1060,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1061,"author":{"gitId":"-"},"content":""},{"lineNumber":1062,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1063,"author":{"gitId":"-"},"content":" * Gets a student by associated {@code regkey}."},{"lineNumber":1064,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1065,"author":{"gitId":"-"},"content":" public Student getStudentByRegistrationKey(String regKey) {"},{"lineNumber":1066,"author":{"gitId":"-"},"content":" return usersLogic.getStudentByRegistrationKey(regKey);"},{"lineNumber":1067,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1068,"author":{"gitId":"-"},"content":""},{"lineNumber":1069,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1070,"author":{"gitId":"-"},"content":" * Gets a student by associated {@code googleId}."},{"lineNumber":1071,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1072,"author":{"gitId":"-"},"content":" public Student getStudentByGoogleId(String courseId, String googleId) {"},{"lineNumber":1073,"author":{"gitId":"-"},"content":" return usersLogic.getStudentByGoogleId(courseId, googleId);"},{"lineNumber":1074,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1075,"author":{"gitId":"-"},"content":""},{"lineNumber":1076,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1077,"author":{"gitId":"-"},"content":" * Gets students by associated {@code teamName} and {@code courseId}."},{"lineNumber":1078,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1079,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsByTeamName(String teamName, String courseId) {"},{"lineNumber":1080,"author":{"gitId":"-"},"content":" return usersLogic.getStudentsForTeam(teamName, courseId);"},{"lineNumber":1081,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1082,"author":{"gitId":"-"},"content":""},{"lineNumber":1083,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1084,"author":{"gitId":"domoberzin"},"content":" * Gets a team by associated {@code courseId} and {@code sectionName}."},{"lineNumber":1085,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1086,"author":{"gitId":"domoberzin"},"content":" public Section getSectionOrCreate(String courseId, String sectionName) {"},{"lineNumber":1087,"author":{"gitId":"domoberzin"},"content":" return usersLogic.getSectionOrCreate(courseId, sectionName);"},{"lineNumber":1088,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1089,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1090,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1091,"author":{"gitId":"domoberzin"},"content":" * Gets a team by associated {@code section} and {@code teamName}."},{"lineNumber":1092,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1093,"author":{"gitId":"domoberzin"},"content":" public Team getTeamOrCreate(Section section, String teamName) {"},{"lineNumber":1094,"author":{"gitId":"domoberzin"},"content":" return usersLogic.getTeamOrCreate(section, teamName);"},{"lineNumber":1095,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1096,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1097,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1098,"author":{"gitId":"-"},"content":" * Creates a student."},{"lineNumber":1099,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1100,"author":{"gitId":"-"},"content":" * @return the created student"},{"lineNumber":1101,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the student is not valid"},{"lineNumber":1102,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the student already exists in the database."},{"lineNumber":1103,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1104,"author":{"gitId":"-"},"content":" public Student createStudent(Student student) throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":1105,"author":{"gitId":"-"},"content":" return usersLogic.createStudent(student);"},{"lineNumber":1106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1107,"author":{"gitId":"-"},"content":""},{"lineNumber":1108,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":1109,"author":{"gitId":"yuanxi1"},"content":" * Search for students. Preconditions: all parameters are non-null."},{"lineNumber":1110,"author":{"gitId":"yuanxi1"},"content":" * @param instructors a list of Instructors associated to a googleId,"},{"lineNumber":1111,"author":{"gitId":"yuanxi1"},"content":" * used for filtering of search result"},{"lineNumber":1112,"author":{"gitId":"yuanxi1"},"content":" * @return Null if no match found"},{"lineNumber":1113,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":1114,"author":{"gitId":"yuanxi1"},"content":" public List\u003cStudent\u003e searchStudents(String queryString, List\u003cInstructor\u003e instructors)"},{"lineNumber":1115,"author":{"gitId":"yuanxi1"},"content":" throws SearchServiceException {"},{"lineNumber":1116,"author":{"gitId":"yuanxi1"},"content":" assert queryString !\u003d null;"},{"lineNumber":1117,"author":{"gitId":"yuanxi1"},"content":" assert instructors !\u003d null;"},{"lineNumber":1118,"author":{"gitId":"yuanxi1"},"content":" return usersLogic.searchStudents(queryString, instructors);"},{"lineNumber":1119,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":1120,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":1121,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":1122,"author":{"gitId":"yuanxi1"},"content":" * This method should be used by admin only since the searching does not restrict the"},{"lineNumber":1123,"author":{"gitId":"yuanxi1"},"content":" * visibility according to the logged-in user\u0027s google ID. This is used by admin to"},{"lineNumber":1124,"author":{"gitId":"yuanxi1"},"content":" * search students in the whole system."},{"lineNumber":1125,"author":{"gitId":"yuanxi1"},"content":" * @return Null if no match found."},{"lineNumber":1126,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":1127,"author":{"gitId":"yuanxi1"},"content":" public List\u003cStudent\u003e searchStudentsInWholeSystem(String queryString)"},{"lineNumber":1128,"author":{"gitId":"yuanxi1"},"content":" throws SearchServiceException {"},{"lineNumber":1129,"author":{"gitId":"yuanxi1"},"content":" assert queryString !\u003d null;"},{"lineNumber":1130,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":1131,"author":{"gitId":"yuanxi1"},"content":" return usersLogic.searchStudentsInWholeSystem(queryString);"},{"lineNumber":1132,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":1133,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":1134,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1135,"author":{"gitId":"-"},"content":" * Deletes a student cascade its associated feedback responses, deadline"},{"lineNumber":1136,"author":{"gitId":"-"},"content":" * extensions and comments."},{"lineNumber":1137,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1138,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if the student does not exist."},{"lineNumber":1139,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1140,"author":{"gitId":"-"},"content":" * \u003cbr/\u003e"},{"lineNumber":1141,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr/\u003e"},{"lineNumber":1142,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1143,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1144,"author":{"gitId":"-"},"content":" public void deleteStudentCascade(String courseId, String studentEmail) {"},{"lineNumber":1145,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1146,"author":{"gitId":"-"},"content":" assert studentEmail !\u003d null;"},{"lineNumber":1147,"author":{"gitId":"-"},"content":""},{"lineNumber":1148,"author":{"gitId":"-"},"content":" usersLogic.deleteStudentCascade(courseId, studentEmail);"},{"lineNumber":1149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1150,"author":{"gitId":"-"},"content":""},{"lineNumber":1151,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1152,"author":{"gitId":"-"},"content":" * Deletes all the students in the course cascade their associated responses, deadline extensions and comments."},{"lineNumber":1153,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1154,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr\u003e"},{"lineNumber":1155,"author":{"gitId":"-"},"content":" * Parameter is non-null."},{"lineNumber":1156,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1157,"author":{"gitId":"-"},"content":" public void deleteStudentsInCourseCascade(String courseId) {"},{"lineNumber":1158,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1159,"author":{"gitId":"-"},"content":""},{"lineNumber":1160,"author":{"gitId":"-"},"content":" usersLogic.deleteStudentsInCourseCascade(courseId);"},{"lineNumber":1161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1162,"author":{"gitId":"-"},"content":""},{"lineNumber":1163,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":1164,"author":{"gitId":"yuanxi1"},"content":" * Make the student join the course, i.e. associate the Google ID to the student.\u003cbr\u003e"},{"lineNumber":1165,"author":{"gitId":"yuanxi1"},"content":" * Create an account for the student if no existing account is found."},{"lineNumber":1166,"author":{"gitId":"yuanxi1"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":1167,"author":{"gitId":"yuanxi1"},"content":" * * All parameters are non-null."},{"lineNumber":1168,"author":{"gitId":"yuanxi1"},"content":" * @param key the registration key"},{"lineNumber":1169,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":1170,"author":{"gitId":"yuanxi1"},"content":" public Student joinCourseForStudent(String key, String googleId)"},{"lineNumber":1171,"author":{"gitId":"yuanxi1"},"content":" throws InvalidParametersException, EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":1172,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":1173,"author":{"gitId":"yuanxi1"},"content":" assert googleId !\u003d null;"},{"lineNumber":1174,"author":{"gitId":"yuanxi1"},"content":" assert key !\u003d null;"},{"lineNumber":1175,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":1176,"author":{"gitId":"yuanxi1"},"content":" return accountsLogic.joinCourseForStudent(key, googleId);"},{"lineNumber":1177,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":1178,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":1179,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":1180,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1181,"author":{"gitId":"-"},"content":" * Gets all instructors and students by associated {@code googleId}."},{"lineNumber":1182,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1183,"author":{"gitId":"-"},"content":" public List\u003cUser\u003e getAllUsersByGoogleId(String googleId) {"},{"lineNumber":1184,"author":{"gitId":"-"},"content":" return usersLogic.getAllUsersByGoogleId(googleId);"},{"lineNumber":1185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1186,"author":{"gitId":"-"},"content":""},{"lineNumber":1187,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1188,"author":{"gitId":"-"},"content":" * Deletes a user."},{"lineNumber":1189,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1190,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if the user does not exist.\u003c/p\u003e"},{"lineNumber":1191,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1192,"author":{"gitId":"-"},"content":" public \u003cT extends User\u003e void deleteUser(T user) {"},{"lineNumber":1193,"author":{"gitId":"-"},"content":" usersLogic.deleteUser(user);"},{"lineNumber":1194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1195,"author":{"gitId":"-"},"content":""},{"lineNumber":1196,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1197,"author":{"gitId":"-"},"content":" * Deletes an instructor and cascades deletion to"},{"lineNumber":1198,"author":{"gitId":"-"},"content":" * associated feedback responses, deadline extensions and comments."},{"lineNumber":1199,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1200,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if the instructor does not exist."},{"lineNumber":1201,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1202,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":1203,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1204,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1205,"author":{"gitId":"-"},"content":" public void deleteInstructorCascade(String courseId, String email) {"},{"lineNumber":1206,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1207,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":1208,"author":{"gitId":"-"},"content":""},{"lineNumber":1209,"author":{"gitId":"-"},"content":" usersLogic.deleteInstructorCascade(courseId, email);"},{"lineNumber":1210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1211,"author":{"gitId":"-"},"content":""},{"lineNumber":1212,"author":{"gitId":"-"},"content":" public List\u003cNotification\u003e getAllNotifications() {"},{"lineNumber":1213,"author":{"gitId":"-"},"content":" return notificationsLogic.getAllNotifications();"},{"lineNumber":1214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1215,"author":{"gitId":"-"},"content":""},{"lineNumber":1216,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1217,"author":{"gitId":"-"},"content":" * Resets the googleId associated with the instructor."},{"lineNumber":1218,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1219,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":1220,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1221,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1222,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException If instructor cannot be found with given email and courseId."},{"lineNumber":1223,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1224,"author":{"gitId":"-"},"content":" public void resetInstructorGoogleId(String email, String courseId, String googleId)"},{"lineNumber":1225,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":1226,"author":{"gitId":"-"},"content":" usersLogic.resetInstructorGoogleId(email, courseId, googleId);"},{"lineNumber":1227,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1228,"author":{"gitId":"-"},"content":""},{"lineNumber":1229,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1230,"author":{"gitId":"-"},"content":" * Resets the googleId associated with the student."},{"lineNumber":1231,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1232,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":1233,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1234,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1235,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException If student cannot be found with given email and courseId."},{"lineNumber":1236,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1237,"author":{"gitId":"-"},"content":" public void resetStudentGoogleId(String email, String courseId, String googleId)"},{"lineNumber":1238,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":1239,"author":{"gitId":"-"},"content":" usersLogic.resetStudentGoogleId(email, courseId, googleId);"},{"lineNumber":1240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1241,"author":{"gitId":"-"},"content":""},{"lineNumber":1242,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1243,"author":{"gitId":"-"},"content":" * Regenerates the registration key for the instructor with email address {@code email} in course {@code courseId}."},{"lineNumber":1244,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1245,"author":{"gitId":"-"},"content":" * @return the instructor with the new registration key."},{"lineNumber":1246,"author":{"gitId":"-"},"content":" * @throws InstructorUpdateException if system was unable to generate a new registration key."},{"lineNumber":1247,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the instructor does not exist."},{"lineNumber":1248,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1249,"author":{"gitId":"-"},"content":" public Instructor regenerateInstructorRegistrationKey(String courseId, String email)"},{"lineNumber":1250,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InstructorUpdateException {"},{"lineNumber":1251,"author":{"gitId":"-"},"content":""},{"lineNumber":1252,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1253,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":1254,"author":{"gitId":"-"},"content":""},{"lineNumber":1255,"author":{"gitId":"-"},"content":" return usersLogic.regenerateInstructorRegistrationKey(courseId, email);"},{"lineNumber":1256,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1257,"author":{"gitId":"-"},"content":""},{"lineNumber":1258,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1259,"author":{"gitId":"-"},"content":" * Regenerates the registration key for the student with email address {@code email} in course {@code courseId}."},{"lineNumber":1260,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1261,"author":{"gitId":"-"},"content":" * @return the student with the new registration key."},{"lineNumber":1262,"author":{"gitId":"-"},"content":" * @throws StudentUpdateException if system was unable to generate a new registration key."},{"lineNumber":1263,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the student does not exist."},{"lineNumber":1264,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1265,"author":{"gitId":"-"},"content":" public Student regenerateStudentRegistrationKey(String courseId, String email)"},{"lineNumber":1266,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, StudentUpdateException {"},{"lineNumber":1267,"author":{"gitId":"-"},"content":""},{"lineNumber":1268,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1269,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":1270,"author":{"gitId":"-"},"content":""},{"lineNumber":1271,"author":{"gitId":"-"},"content":" return usersLogic.regenerateStudentRegistrationKey(courseId, email);"},{"lineNumber":1272,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1273,"author":{"gitId":"-"},"content":""},{"lineNumber":1274,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1275,"author":{"gitId":"-"},"content":" * Updates the instructor being edited to ensure validity of instructors for the course."},{"lineNumber":1276,"author":{"gitId":"-"},"content":" * * Preconditions: \u003cbr\u003e"},{"lineNumber":1277,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1278,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1279,"author":{"gitId":"-"},"content":" * @see UsersLogic#updateToEnsureValidityOfInstructorsForTheCourse(String, Instructor)"},{"lineNumber":1280,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1281,"author":{"gitId":"-"},"content":" public void updateToEnsureValidityOfInstructorsForTheCourse(String courseId, Instructor instructorToEdit) {"},{"lineNumber":1282,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1283,"author":{"gitId":"-"},"content":" assert instructorToEdit !\u003d null;"},{"lineNumber":1284,"author":{"gitId":"-"},"content":""},{"lineNumber":1285,"author":{"gitId":"-"},"content":" usersLogic.updateToEnsureValidityOfInstructorsForTheCourse(courseId, instructorToEdit);"},{"lineNumber":1286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1287,"author":{"gitId":"-"},"content":""},{"lineNumber":1288,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1289,"author":{"gitId":"-"},"content":" * Returns active notification for general users and the specified {@code targetUser}."},{"lineNumber":1290,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1291,"author":{"gitId":"-"},"content":" public List\u003cNotification\u003e getActiveNotificationsByTargetUser(NotificationTargetUser targetUser) {"},{"lineNumber":1292,"author":{"gitId":"-"},"content":" return notificationsLogic.getActiveNotificationsByTargetUser(targetUser);"},{"lineNumber":1293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1294,"author":{"gitId":"-"},"content":""},{"lineNumber":1295,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1296,"author":{"gitId":"-"},"content":" * Gets all questions for a feedback session.\u003cbr\u003e"},{"lineNumber":1297,"author":{"gitId":"-"},"content":" * Returns an empty list if they are no questions"},{"lineNumber":1298,"author":{"gitId":"-"},"content":" * for the session."},{"lineNumber":1299,"author":{"gitId":"-"},"content":" * Preconditions: \u003cbr\u003e"},{"lineNumber":1300,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1301,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1302,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForSession(FeedbackSession feedbackSession) {"},{"lineNumber":1303,"author":{"gitId":"-"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":1304,"author":{"gitId":"-"},"content":""},{"lineNumber":1305,"author":{"gitId":"-"},"content":" return feedbackQuestionsLogic.getFeedbackQuestionsForSession(feedbackSession);"},{"lineNumber":1306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1307,"author":{"gitId":"-"},"content":""},{"lineNumber":1308,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1309,"author":{"gitId":"-"},"content":" * Gets a list of all questions for the given session that"},{"lineNumber":1310,"author":{"gitId":"-"},"content":" * students can view/submit."},{"lineNumber":1311,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1312,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForStudents(FeedbackSession feedbackSession) {"},{"lineNumber":1313,"author":{"gitId":"-"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":1314,"author":{"gitId":"-"},"content":""},{"lineNumber":1315,"author":{"gitId":"-"},"content":" return feedbackQuestionsLogic.getFeedbackQuestionsForStudents(feedbackSession);"},{"lineNumber":1316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1317,"author":{"gitId":"-"},"content":""},{"lineNumber":1318,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1319,"author":{"gitId":"-"},"content":" * Gets a {@code List} of all questions for the given session that"},{"lineNumber":1320,"author":{"gitId":"-"},"content":" * instructor can view/submit."},{"lineNumber":1321,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1322,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForInstructors("},{"lineNumber":1323,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession, String instructorEmail) {"},{"lineNumber":1324,"author":{"gitId":"-"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":1325,"author":{"gitId":"-"},"content":""},{"lineNumber":1326,"author":{"gitId":"-"},"content":" return feedbackQuestionsLogic.getFeedbackQuestionsForInstructors(feedbackSession, instructorEmail);"},{"lineNumber":1327,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1328,"author":{"gitId":"-"},"content":""},{"lineNumber":1329,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1330,"author":{"gitId":"xenosf"},"content":" * Gets the session result for a feedback session."},{"lineNumber":1331,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":1332,"author":{"gitId":"xenosf"},"content":" * @see FeedbackResponsesLogic#getSessionResultsForCourse("},{"lineNumber":1333,"author":{"gitId":"xenosf"},"content":" * FeedbackSession, String, String, String, Section, FeedbackResultFetchType)"},{"lineNumber":1334,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1335,"author":{"gitId":"xenosf"},"content":" public SqlSessionResultsBundle getSessionResultsForCourse("},{"lineNumber":1336,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId, String userEmail,"},{"lineNumber":1337,"author":{"gitId":"xenosf"},"content":" @Nullable UUID questionId, @Nullable String sectionName, @Nullable FeedbackResultFetchType fetchType) {"},{"lineNumber":1338,"author":{"gitId":"xenosf"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":1339,"author":{"gitId":"xenosf"},"content":" assert courseId !\u003d null;"},{"lineNumber":1340,"author":{"gitId":"xenosf"},"content":" assert userEmail !\u003d null;"},{"lineNumber":1341,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1342,"author":{"gitId":"xenosf"},"content":" return feedbackResponsesLogic.getSessionResultsForCourse("},{"lineNumber":1343,"author":{"gitId":"xenosf"},"content":" feedbackSession, courseId, userEmail, questionId, sectionName, fetchType);"},{"lineNumber":1344,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1345,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1346,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1347,"author":{"gitId":"xenosf"},"content":" * Gets the session result for a feedback session for the given user."},{"lineNumber":1348,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":1349,"author":{"gitId":"xenosf"},"content":" * @see FeedbackResponsesLogic#getSessionResultsForUser(FeedbackSession, String, String, boolean, String)"},{"lineNumber":1350,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1351,"author":{"gitId":"xenosf"},"content":" public SqlSessionResultsBundle getSessionResultsForUser("},{"lineNumber":1352,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId, String userEmail, boolean isInstructor,"},{"lineNumber":1353,"author":{"gitId":"xenosf"},"content":" @Nullable UUID questionId, boolean isPreviewResults) {"},{"lineNumber":1354,"author":{"gitId":"xenosf"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":1355,"author":{"gitId":"xenosf"},"content":" assert courseId !\u003d null;"},{"lineNumber":1356,"author":{"gitId":"xenosf"},"content":" assert userEmail !\u003d null;"},{"lineNumber":1357,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1358,"author":{"gitId":"xenosf"},"content":" return feedbackResponsesLogic.getSessionResultsForUser("},{"lineNumber":1359,"author":{"gitId":"xenosf"},"content":" feedbackSession, courseId, userEmail, isInstructor, questionId, isPreviewResults);"},{"lineNumber":1360,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1361,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1362,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1363,"author":{"gitId":"-"},"content":" * Persists the given data bundle to the database."},{"lineNumber":1364,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1365,"author":{"gitId":"-"},"content":" public SqlDataBundle persistDataBundle(SqlDataBundle dataBundle)"},{"lineNumber":1366,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException, EntityDoesNotExistException {"},{"lineNumber":1367,"author":{"gitId":"-"},"content":" return dataBundleLogic.persistDataBundle(dataBundle);"},{"lineNumber":1368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1369,"author":{"gitId":"-"},"content":""},{"lineNumber":1370,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1371,"author":{"gitId":"-"},"content":" * Puts searchable documents from the data bundle to the database."},{"lineNumber":1372,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1373,"author":{"gitId":"-"},"content":" * @see DataBundleLogic#putDocuments(DataBundle)"},{"lineNumber":1374,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1375,"author":{"gitId":"-"},"content":" public void putDocuments(SqlDataBundle dataBundle) throws SearchServiceException {"},{"lineNumber":1376,"author":{"gitId":"-"},"content":" dataBundleLogic.putDocuments(dataBundle);"},{"lineNumber":1377,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1378,"author":{"gitId":"-"},"content":""},{"lineNumber":1379,"author":{"gitId":"mingyuanc"},"content":" /**"},{"lineNumber":1380,"author":{"gitId":"mingyuanc"},"content":" * Puts searchable instructor to the database."},{"lineNumber":1381,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":1382,"author":{"gitId":"mingyuanc"},"content":" public void putInstructorDocument(Instructor instructor) throws SearchServiceException {"},{"lineNumber":1383,"author":{"gitId":"mingyuanc"},"content":" usersLogic.putInstructorDocument(instructor);"},{"lineNumber":1384,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":1385,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":1386,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1387,"author":{"gitId":"domoberzin"},"content":" * Creates or updates search document for the given account request."},{"lineNumber":1388,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":1389,"author":{"gitId":"domoberzin"},"content":" * @see AccountRequestsLogic#putDocument(AccountRequest)"},{"lineNumber":1390,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1391,"author":{"gitId":"domoberzin"},"content":" public void putAccountRequestDocument(AccountRequest accountRequest) throws SearchServiceException {"},{"lineNumber":1392,"author":{"gitId":"domoberzin"},"content":" accountRequestLogic.putDocument(accountRequest);"},{"lineNumber":1393,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1394,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1395,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1396,"author":{"gitId":"-"},"content":" * Removes the given data bundle from the database."},{"lineNumber":1397,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1398,"author":{"gitId":"-"},"content":" public void removeDataBundle(SqlDataBundle dataBundle) throws InvalidParametersException {"},{"lineNumber":1399,"author":{"gitId":"-"},"content":" dataBundleLogic.removeDataBundle(dataBundle);"},{"lineNumber":1400,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1401,"author":{"gitId":"-"},"content":""},{"lineNumber":1402,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1403,"author":{"gitId":"-"},"content":" * Populates fields that need dynamic generation in a question."},{"lineNumber":1404,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1405,"author":{"gitId":"-"},"content":" * \u003cp\u003eCurrently, only MCQ/MSQ needs to generate choices dynamically.\u003c/p\u003e"},{"lineNumber":1406,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1407,"author":{"gitId":"-"},"content":" * @param feedbackQuestion the question to populate"},{"lineNumber":1408,"author":{"gitId":"-"},"content":" * @param courseId the ID of the course"},{"lineNumber":1409,"author":{"gitId":"-"},"content":" * @param emailOfEntityDoingQuestion the email of the entity doing the question"},{"lineNumber":1410,"author":{"gitId":"-"},"content":" * @param teamOfEntityDoingQuestion the team of the entity doing the question. If the entity is an instructor,"},{"lineNumber":1411,"author":{"gitId":"-"},"content":" * it can be {@code null}."},{"lineNumber":1412,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1413,"author":{"gitId":"-"},"content":" public void populateFieldsToGenerateInQuestion(FeedbackQuestion feedbackQuestion,"},{"lineNumber":1414,"author":{"gitId":"-"},"content":" String courseId, String emailOfEntityDoingQuestion,"},{"lineNumber":1415,"author":{"gitId":"-"},"content":" String teamOfEntityDoingQuestion) {"},{"lineNumber":1416,"author":{"gitId":"-"},"content":" assert feedbackQuestion !\u003d null;"},{"lineNumber":1417,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":1418,"author":{"gitId":"-"},"content":" assert emailOfEntityDoingQuestion !\u003d null;"},{"lineNumber":1419,"author":{"gitId":"-"},"content":""},{"lineNumber":1420,"author":{"gitId":"-"},"content":" feedbackQuestionsLogic.populateFieldsToGenerateInQuestion("},{"lineNumber":1421,"author":{"gitId":"-"},"content":" feedbackQuestion, courseId, emailOfEntityDoingQuestion, teamOfEntityDoingQuestion);"},{"lineNumber":1422,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1423,"author":{"gitId":"-"},"content":""},{"lineNumber":1424,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1425,"author":{"gitId":"-"},"content":" * Gets a feedback question."},{"lineNumber":1426,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1427,"author":{"gitId":"-"},"content":" * @return null if not found."},{"lineNumber":1428,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1429,"author":{"gitId":"-"},"content":" public FeedbackQuestion getFeedbackQuestion(UUID id) {"},{"lineNumber":1430,"author":{"gitId":"-"},"content":" return feedbackQuestionsLogic.getFeedbackQuestion(id);"},{"lineNumber":1431,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1432,"author":{"gitId":"-"},"content":""},{"lineNumber":1433,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1434,"author":{"gitId":"-"},"content":" * Deletes a feedback question cascade its responses and comments."},{"lineNumber":1435,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1436,"author":{"gitId":"-"},"content":" * \u003cp\u003eSilently fail if question does not exist."},{"lineNumber":1437,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1438,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":1439,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1440,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1441,"author":{"gitId":"-"},"content":" public void deleteFeedbackQuestionCascade(UUID questionId) {"},{"lineNumber":1442,"author":{"gitId":"-"},"content":" feedbackQuestionsLogic.deleteFeedbackQuestionCascade(questionId);"},{"lineNumber":1443,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1444,"author":{"gitId":"-"},"content":""},{"lineNumber":1445,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1446,"author":{"gitId":"-"},"content":" * Gets the recipients of a feedback question for student."},{"lineNumber":1447,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1448,"author":{"gitId":"-"},"content":" * @see FeedbackQuestionsLogic#getRecipientsOfQuestion"},{"lineNumber":1449,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1450,"author":{"gitId":"-"},"content":" public Map\u003cString, FeedbackQuestionRecipient\u003e getRecipientsOfQuestion("},{"lineNumber":1451,"author":{"gitId":"-"},"content":" FeedbackQuestion question,"},{"lineNumber":1452,"author":{"gitId":"-"},"content":" @Nullable Instructor instructorGiver, @Nullable Student studentGiver) {"},{"lineNumber":1453,"author":{"gitId":"-"},"content":" assert question !\u003d null;"},{"lineNumber":1454,"author":{"gitId":"-"},"content":""},{"lineNumber":1455,"author":{"gitId":"-"},"content":" return feedbackQuestionsLogic.getRecipientsOfQuestion(question, instructorGiver, studentGiver, null);"},{"lineNumber":1456,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1457,"author":{"gitId":"-"},"content":""},{"lineNumber":1458,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1459,"author":{"gitId":"-"},"content":" * Gets a feedbackResponse or null if it does not exist."},{"lineNumber":1460,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1461,"author":{"gitId":"-"},"content":" public FeedbackResponse getFeedbackResponse(UUID frId) {"},{"lineNumber":1462,"author":{"gitId":"-"},"content":" return feedbackResponsesLogic.getFeedbackResponse(frId);"},{"lineNumber":1463,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1464,"author":{"gitId":"-"},"content":""},{"lineNumber":1465,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1466,"author":{"gitId":"-"},"content":" * Creates a feedback response."},{"lineNumber":1467,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1468,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":1469,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1470,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1471,"author":{"gitId":"-"},"content":" * @return created feedback response"},{"lineNumber":1472,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the response is not valid"},{"lineNumber":1473,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the response already exist"},{"lineNumber":1474,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1475,"author":{"gitId":"-"},"content":" public FeedbackResponse createFeedbackResponse(FeedbackResponse feedbackResponse)"},{"lineNumber":1476,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":1477,"author":{"gitId":"-"},"content":" assert feedbackResponse !\u003d null;"},{"lineNumber":1478,"author":{"gitId":"-"},"content":" return feedbackResponsesLogic.createFeedbackResponse(feedbackResponse);"},{"lineNumber":1479,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1480,"author":{"gitId":"-"},"content":""},{"lineNumber":1481,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1482,"author":{"gitId":"-"},"content":" * Deletes a feedback response and cascades its associated comments."},{"lineNumber":1483,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1484,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":1485,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1486,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1487,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponsesAndCommentsCascade(FeedbackResponse feedbackResponse) {"},{"lineNumber":1488,"author":{"gitId":"-"},"content":" assert feedbackResponse !\u003d null;"},{"lineNumber":1489,"author":{"gitId":"-"},"content":" feedbackResponsesLogic.deleteFeedbackResponsesAndCommentsCascade(feedbackResponse);"},{"lineNumber":1490,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1491,"author":{"gitId":"-"},"content":""},{"lineNumber":1492,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1493,"author":{"gitId":"-"},"content":" * Get existing feedback responses from instructor for the given question."},{"lineNumber":1494,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1495,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromInstructorForQuestion("},{"lineNumber":1496,"author":{"gitId":"-"},"content":" FeedbackQuestion question, Instructor instructor) {"},{"lineNumber":1497,"author":{"gitId":"-"},"content":" return feedbackResponsesLogic.getFeedbackResponsesFromInstructorForQuestion("},{"lineNumber":1498,"author":{"gitId":"-"},"content":" question, instructor);"},{"lineNumber":1499,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1500,"author":{"gitId":"-"},"content":""},{"lineNumber":1501,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1502,"author":{"gitId":"-"},"content":" * Get existing feedback responses from student or his team for the given"},{"lineNumber":1503,"author":{"gitId":"-"},"content":" * question."},{"lineNumber":1504,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1505,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromStudentOrTeamForQuestion("},{"lineNumber":1506,"author":{"gitId":"-"},"content":" FeedbackQuestion question, Student student) {"},{"lineNumber":1507,"author":{"gitId":"-"},"content":" return feedbackResponsesLogic.getFeedbackResponsesFromStudentOrTeamForQuestion("},{"lineNumber":1508,"author":{"gitId":"-"},"content":" question, student);"},{"lineNumber":1509,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1510,"author":{"gitId":"-"},"content":""},{"lineNumber":1511,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1512,"author":{"gitId":"-"},"content":" * Gets an feedback response comment by feedback response comment id."},{"lineNumber":1513,"author":{"gitId":"-"},"content":" * @param id of feedback response comment."},{"lineNumber":1514,"author":{"gitId":"-"},"content":" * @return the specified feedback response comment."},{"lineNumber":1515,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1516,"author":{"gitId":"-"},"content":" public FeedbackResponseComment getFeedbackResponseComment(Long id) {"},{"lineNumber":1517,"author":{"gitId":"-"},"content":" return feedbackResponseCommentsLogic.getFeedbackResponseComment(id);"},{"lineNumber":1518,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1519,"author":{"gitId":"-"},"content":""},{"lineNumber":1520,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1521,"author":{"gitId":"-"},"content":" * Updates a feedback response comment."},{"lineNumber":1522,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the comment does not exist"},{"lineNumber":1523,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1524,"author":{"gitId":"-"},"content":" public FeedbackResponseComment updateFeedbackResponseComment(Long frcId,"},{"lineNumber":1525,"author":{"gitId":"-"},"content":" FeedbackResponseCommentUpdateRequest updateRequest, String updaterEmail)"},{"lineNumber":1526,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":1527,"author":{"gitId":"-"},"content":" return feedbackResponseCommentsLogic.updateFeedbackResponseComment(frcId, updateRequest, updaterEmail);"},{"lineNumber":1528,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1529,"author":{"gitId":"-"},"content":""},{"lineNumber":1530,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1531,"author":{"gitId":"-"},"content":" * Updates a feedback response and comments by {@link FeedbackResponse}."},{"lineNumber":1532,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1533,"author":{"gitId":"-"},"content":" * \u003cp\u003eCascade updates its associated feedback response comment"},{"lineNumber":1534,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1535,"author":{"gitId":"-"},"content":" * \u003cbr/\u003ePreconditions: \u003cbr/\u003e"},{"lineNumber":1536,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1537,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1538,"author":{"gitId":"-"},"content":" * @return updated feedback response"},{"lineNumber":1539,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":1540,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the comment cannot be found"},{"lineNumber":1541,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1542,"author":{"gitId":"-"},"content":" public FeedbackResponse updateFeedbackResponseCascade(FeedbackResponse feedbackResponse)"},{"lineNumber":1543,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":1544,"author":{"gitId":"-"},"content":" assert feedbackResponse !\u003d null;"},{"lineNumber":1545,"author":{"gitId":"-"},"content":""},{"lineNumber":1546,"author":{"gitId":"-"},"content":" return feedbackResponsesLogic.updateFeedbackResponseCascade(feedbackResponse);"},{"lineNumber":1547,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1548,"author":{"gitId":"-"},"content":""},{"lineNumber":1549,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1550,"author":{"gitId":"-"},"content":" * Checks whether there are responses for a question."},{"lineNumber":1551,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1552,"author":{"gitId":"-"},"content":" public boolean areThereResponsesForQuestion(UUID questionId) {"},{"lineNumber":1553,"author":{"gitId":"-"},"content":" return feedbackResponsesLogic.areThereResponsesForQuestion(questionId);"},{"lineNumber":1554,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1555,"author":{"gitId":"-"},"content":""},{"lineNumber":1556,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1557,"author":{"gitId":"-"},"content":" * Checks whether there are responses for a course."},{"lineNumber":1558,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1559,"author":{"gitId":"-"},"content":" public boolean hasResponsesForCourse(String courseId) {"},{"lineNumber":1560,"author":{"gitId":"-"},"content":" return feedbackResponsesLogic.hasResponsesForCourse(courseId);"},{"lineNumber":1561,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1562,"author":{"gitId":"-"},"content":""},{"lineNumber":1563,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1564,"author":{"gitId":"-"},"content":" * Gets the comment associated with the response."},{"lineNumber":1565,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1566,"author":{"gitId":"-"},"content":" public FeedbackResponseComment getFeedbackResponseCommentForResponseFromParticipant("},{"lineNumber":1567,"author":{"gitId":"-"},"content":" UUID feedbackResponseId) {"},{"lineNumber":1568,"author":{"gitId":"-"},"content":" return feedbackResponseCommentsLogic.getFeedbackResponseCommentForResponseFromParticipant(feedbackResponseId);"},{"lineNumber":1569,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1570,"author":{"gitId":"-"},"content":""},{"lineNumber":1571,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1572,"author":{"gitId":"-"},"content":" * Creates a feedback response comment."},{"lineNumber":1573,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the comment alreadty exists"},{"lineNumber":1574,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the comment is invalid"},{"lineNumber":1575,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1576,"author":{"gitId":"-"},"content":" public FeedbackResponseComment createFeedbackResponseComment(FeedbackResponseComment frc)"},{"lineNumber":1577,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":1578,"author":{"gitId":"-"},"content":" return feedbackResponseCommentsLogic.createFeedbackResponseComment(frc);"},{"lineNumber":1579,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1580,"author":{"gitId":"-"},"content":""},{"lineNumber":1581,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1582,"author":{"gitId":"-"},"content":" * Deletes a feedbackResponseComment."},{"lineNumber":1583,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1584,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponseComment(Long frcId) {"},{"lineNumber":1585,"author":{"gitId":"-"},"content":" feedbackResponseCommentsLogic.deleteFeedbackResponseComment(frcId);"},{"lineNumber":1586,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1587,"author":{"gitId":"-"},"content":""},{"lineNumber":1588,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1589,"author":{"gitId":"domoberzin"},"content":" * Gets all feedback responses from a giver for a question."},{"lineNumber":1590,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1591,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromGiverForCourse(String courseId, String giverEmail) {"},{"lineNumber":1592,"author":{"gitId":"domoberzin"},"content":" return feedbackResponsesLogic.getFeedbackResponsesFromGiverForCourse(courseId, giverEmail);"},{"lineNumber":1593,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1594,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1595,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1596,"author":{"gitId":"domoberzin"},"content":" * Gets all feedback responses for a recipient for a course."},{"lineNumber":1597,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1598,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForRecipientForCourse(String courseId, String recipientEmail) {"},{"lineNumber":1599,"author":{"gitId":"domoberzin"},"content":" return feedbackResponsesLogic.getFeedbackResponsesForRecipientForCourse(courseId, recipientEmail);"},{"lineNumber":1600,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1601,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1602,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1603,"author":{"gitId":"domoberzin"},"content":" * Gets all feedback response comments for a feedback response."},{"lineNumber":1604,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1605,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentsForResponse(UUID feedbackResponse) {"},{"lineNumber":1606,"author":{"gitId":"domoberzin"},"content":" return feedbackResponseCommentsLogic.getFeedbackResponseCommentsForResponse(feedbackResponse);"},{"lineNumber":1607,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1608,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1609,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1610,"author":{"gitId":"domoberzin"},"content":" * Validates sections for any limit violations and teams for any team name violations."},{"lineNumber":1611,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":1612,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003ePreconditions: \u003cbr\u003e"},{"lineNumber":1613,"author":{"gitId":"domoberzin"},"content":" * * All parameters are non-null."},{"lineNumber":1614,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":1615,"author":{"gitId":"domoberzin"},"content":" * @see StudentsLogic#validateSectionsAndTeams(List, String)"},{"lineNumber":1616,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1617,"author":{"gitId":"domoberzin"},"content":" public void validateSectionsAndTeams("},{"lineNumber":1618,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e studentList, String courseId) throws EnrollException {"},{"lineNumber":1619,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1620,"author":{"gitId":"domoberzin"},"content":" assert studentList !\u003d null;"},{"lineNumber":1621,"author":{"gitId":"domoberzin"},"content":" assert courseId !\u003d null;"},{"lineNumber":1622,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1623,"author":{"gitId":"domoberzin"},"content":" usersLogic.validateSectionsAndTeams(studentList, courseId);"},{"lineNumber":1624,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1625,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1626,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1627,"author":{"gitId":"domoberzin"},"content":" * Updates a feedback question by {@code FeedbackQuestionUpdateRequest}."},{"lineNumber":1628,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1629,"author":{"gitId":"-"},"content":" * \u003cp\u003eCascade adjust the question number of questions in the same session."},{"lineNumber":1630,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1631,"author":{"gitId":"-"},"content":" * \u003cp\u003eCascade adjust the existing response of the question."},{"lineNumber":1632,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1633,"author":{"gitId":"-"},"content":" * \u003cbr/\u003e Preconditions: \u003cbr/\u003e"},{"lineNumber":1634,"author":{"gitId":"-"},"content":" * * All parameters are non-null."},{"lineNumber":1635,"author":{"gitId":"-"},"content":" *"},{"lineNumber":1636,"author":{"gitId":"-"},"content":" * @return updated feedback question"},{"lineNumber":1637,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":1638,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback question cannot be found"},{"lineNumber":1639,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1640,"author":{"gitId":"-"},"content":" public FeedbackQuestion updateFeedbackQuestionCascade(UUID questionId, FeedbackQuestionUpdateRequest updateRequest)"},{"lineNumber":1641,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":1642,"author":{"gitId":"-"},"content":" return feedbackQuestionsLogic.updateFeedbackQuestionCascade(questionId, updateRequest);"},{"lineNumber":1643,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1644,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1645,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1646,"author":{"gitId":"-"},"content":" * Returns a list of feedback sessions that need an \"Open\" email to be sent."},{"lineNumber":1647,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1648,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsWhichNeedOpenEmailsToBeSent() {"},{"lineNumber":1649,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionsWhichNeedOpenEmailsToBeSent();"},{"lineNumber":1650,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1651,"author":{"gitId":"-"},"content":""},{"lineNumber":1652,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1653,"author":{"gitId":"-"},"content":" * Returns a list of sessions that were closed within past hour."},{"lineNumber":1654,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1655,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsClosedWithinThePastHour() {"},{"lineNumber":1656,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionsClosedWithinThePastHour();"},{"lineNumber":1657,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1658,"author":{"gitId":"-"},"content":""},{"lineNumber":1659,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1660,"author":{"gitId":"xenosf"},"content":" * Creates or updates search document for the given student."},{"lineNumber":1661,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":1662,"author":{"gitId":"xenosf"},"content":" * @see UsersLogic#putStudentDocument(Student)"},{"lineNumber":1663,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1664,"author":{"gitId":"xenosf"},"content":" public void putStudentDocument(Student student) throws SearchServiceException {"},{"lineNumber":1665,"author":{"gitId":"xenosf"},"content":" usersLogic.putStudentDocument(student);"},{"lineNumber":1666,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1667,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1668,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":1669,"author":{"gitId":"domoberzin"},"content":" * This is used by admin to search account requests in the whole system."},{"lineNumber":1670,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":1671,"author":{"gitId":"domoberzin"},"content":" * @return A list of {@link AccountRequest} or {@code null} if no match found."},{"lineNumber":1672,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":1673,"author":{"gitId":"domoberzin"},"content":" public List\u003cAccountRequest\u003e searchAccountRequestsInWholeSystem(String queryString)"},{"lineNumber":1674,"author":{"gitId":"domoberzin"},"content":" throws SearchServiceException {"},{"lineNumber":1675,"author":{"gitId":"domoberzin"},"content":" assert queryString !\u003d null;"},{"lineNumber":1676,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":1677,"author":{"gitId":"domoberzin"},"content":" return accountRequestLogic.searchAccountRequestsInWholeSystem(queryString);"},{"lineNumber":1678,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":1679,"author":{"gitId":"-"},"content":""},{"lineNumber":1680,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1681,"author":{"gitId":"-"},"content":" * Returns a list of sessions that are going to close soon."},{"lineNumber":1682,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1683,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsClosingWithinTimeLimit() {"},{"lineNumber":1684,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionsClosingWithinTimeLimit();"},{"lineNumber":1685,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1686,"author":{"gitId":"-"},"content":""},{"lineNumber":1687,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1688,"author":{"gitId":"-"},"content":" * Returns a list of sessions that are going to open soon."},{"lineNumber":1689,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1690,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsOpeningWithinTimeLimit() {"},{"lineNumber":1691,"author":{"gitId":"-"},"content":" return feedbackSessionsLogic.getFeedbackSessionsOpeningWithinTimeLimit();"},{"lineNumber":1692,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1693,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":1694,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":1695,"author":{"gitId":"dishenggg"},"content":" * Create feedback session logs."},{"lineNumber":1696,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":1697,"author":{"gitId":"dishenggg"},"content":" public void createFeedbackSessionLogs(List\u003cFeedbackSessionLog\u003e feedbackSessionLogs) {"},{"lineNumber":1698,"author":{"gitId":"dishenggg"},"content":" feedbackSessionLogsLogic.createFeedbackSessionLogs(feedbackSessionLogs);"},{"lineNumber":1699,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":1700,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":1701,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":1702,"author":{"gitId":"dishenggg"},"content":" * Gets the feedback session logs as filtered by the given parameters ordered by"},{"lineNumber":1703,"author":{"gitId":"dishenggg"},"content":" * ascending timestamp. Logs with the same timestamp will be ordered by the"},{"lineNumber":1704,"author":{"gitId":"dishenggg"},"content":" * student\u0027s email."},{"lineNumber":1705,"author":{"gitId":"dishenggg"},"content":" *"},{"lineNumber":1706,"author":{"gitId":"dishenggg"},"content":" * @param studentId Can be null"},{"lineNumber":1707,"author":{"gitId":"dishenggg"},"content":" * @param feedbackSessionId Can be null"},{"lineNumber":1708,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":1709,"author":{"gitId":"dishenggg"},"content":" public List\u003cFeedbackSessionLog\u003e getOrderedFeedbackSessionLogs(String courseId, UUID studentId,"},{"lineNumber":1710,"author":{"gitId":"dishenggg"},"content":" UUID feedbackSessionId, Instant startTime, Instant endTime) {"},{"lineNumber":1711,"author":{"gitId":"dishenggg"},"content":" return feedbackSessionLogsLogic.getOrderedFeedbackSessionLogs(courseId, studentId, feedbackSessionId, startTime,"},{"lineNumber":1712,"author":{"gitId":"dishenggg"},"content":" endTime);"},{"lineNumber":1713,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":1714,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":177,"yuanxi1":50,"marquestye":5,"xenosf":44,"dishenggg":59,"mingyuanc":7,"-":1372}},{"path":"src/main/java/teammates/sqllogic/api/SqlEmailGenerator.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.api;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.ErrorLogEntry;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailType;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.util.RequestTracer;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.util.Templates;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.util.Templates.EmailTemplates;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.CoursesLogic;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.DeadlineExtensionsLogic;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.FeedbackSessionsLogic;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.UsersLogic;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":37,"author":{"gitId":"-"},"content":" * Handles operations related to generating emails to be sent from provided templates."},{"lineNumber":38,"author":{"gitId":"-"},"content":" *"},{"lineNumber":39,"author":{"gitId":"-"},"content":" * @see EmailTemplates"},{"lineNumber":40,"author":{"gitId":"-"},"content":" * @see EmailType"},{"lineNumber":41,"author":{"gitId":"-"},"content":" * @see EmailWrapper"},{"lineNumber":42,"author":{"gitId":"-"},"content":" */"},{"lineNumber":43,"author":{"gitId":"-"},"content":"public final class SqlEmailGenerator {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" // feedback action strings"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW \u003d \"submit, edit or view\";"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_ACTION_VIEW \u003d \"view\";"},{"lineNumber":47,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_ACTION_SUBMIT_OR_UPDATE \u003d"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \", in case you have not submitted yet or wish to update your submission. \";"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String HTML_NO_ACTION_REQUIRED \u003d \"\u003cmark\u003eNo action is required if you have already submitted\u003c/mark\u003e\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" // status-related strings"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_STATUS_SESSION_OPEN \u003d \"is still open for submissions\""},{"lineNumber":53,"author":{"gitId":"-"},"content":" + FEEDBACK_ACTION_SUBMIT_OR_UPDATE + HTML_NO_ACTION_REQUIRED;"},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_STATUS_SESSION_OPENING \u003d \"is now open\";"},{"lineNumber":55,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_STATUS_SESSION_CLOSING \u003d \"is closing soon\""},{"lineNumber":56,"author":{"gitId":"-"},"content":" + FEEDBACK_ACTION_SUBMIT_OR_UPDATE + HTML_NO_ACTION_REQUIRED;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_STATUS_SESSION_CLOSED \u003d \"is now closed for submission\";"},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final String FEEDBACK_STATUS_SESSION_OPENING_SOON \u003d \"is due to open soon\";"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" private static final String DATETIME_DISPLAY_FORMAT \u003d \"EEE, dd MMM yyyy, hh:mm a z\";"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" private static final long SESSION_LINK_RECOVERY_DURATION_IN_DAYS \u003d 90;"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" private static final SqlEmailGenerator instance \u003d new SqlEmailGenerator();"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" private final CoursesLogic coursesLogic \u003d CoursesLogic.inst();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" private final DeadlineExtensionsLogic deLogic \u003d DeadlineExtensionsLogic.inst();"},{"lineNumber":68,"author":{"gitId":"-"},"content":" private final FeedbackSessionsLogic fsLogic \u003d FeedbackSessionsLogic.inst();"},{"lineNumber":69,"author":{"gitId":"-"},"content":" private final UsersLogic usersLogic \u003d UsersLogic.inst();"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" private SqlEmailGenerator() {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" public static SqlEmailGenerator inst() {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":80,"author":{"gitId":"-"},"content":" * Generate Feedback Session Opening emails."},{"lineNumber":81,"author":{"gitId":"-"},"content":" */"},{"lineNumber":82,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionOpeningEmails(FeedbackSession session) {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" return generateFeedbackSessionOpeningOrClosingEmails(session, EmailType.FEEDBACK_OPENING);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" private List\u003cEmailWrapper\u003e generateFeedbackSessionOpeningOrClosingEmails("},{"lineNumber":87,"author":{"gitId":"-"},"content":" FeedbackSession session, EmailType emailType) {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" Course course \u003d session.getCourse();"},{"lineNumber":89,"author":{"gitId":"-"},"content":" boolean isEmailNeededForStudents \u003d fsLogic.isFeedbackSessionForUserTypeToAnswer(session, false);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" boolean isEmailNeededForInstructors \u003d fsLogic.isFeedbackSessionForUserTypeToAnswer(session, true);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorsToNotify \u003d isEmailNeededForStudents"},{"lineNumber":92,"author":{"gitId":"-"},"content":" ? usersLogic.getCoOwnersForCourse(course.getId())"},{"lineNumber":93,"author":{"gitId":"-"},"content":" : new ArrayList\u003c\u003e();"},{"lineNumber":94,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students \u003d isEmailNeededForStudents"},{"lineNumber":95,"author":{"gitId":"-"},"content":" ? usersLogic.getStudentsForCourse(course.getId())"},{"lineNumber":96,"author":{"gitId":"-"},"content":" : new ArrayList\u003c\u003e();"},{"lineNumber":97,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors \u003d isEmailNeededForInstructors"},{"lineNumber":98,"author":{"gitId":"-"},"content":" ? usersLogic.getInstructorsForCourse(course.getId())"},{"lineNumber":99,"author":{"gitId":"-"},"content":" : new ArrayList\u003c\u003e();"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" if (emailType \u003d\u003d EmailType.FEEDBACK_CLOSING) {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" List\u003cDeadlineExtension\u003e deadlines \u003d session.getDeadlineExtensions();"},{"lineNumber":103,"author":{"gitId":"-"},"content":" Set\u003cUUID\u003e userIds \u003d deadlines.stream()"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .map(d -\u003e d.getUser().getId())"},{"lineNumber":105,"author":{"gitId":"-"},"content":" .collect(Collectors.toSet());"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" // student."},{"lineNumber":108,"author":{"gitId":"-"},"content":" students \u003d students.stream()"},{"lineNumber":109,"author":{"gitId":"-"},"content":" .filter(x -\u003e !userIds.contains(x.getId()))"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" // instructor."},{"lineNumber":113,"author":{"gitId":"-"},"content":" instructors \u003d instructors.stream()"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .filter(x -\u003e !userIds.contains(x.getId()))"},{"lineNumber":115,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" String status \u003d emailType \u003d\u003d EmailType.FEEDBACK_OPENING"},{"lineNumber":119,"author":{"gitId":"-"},"content":" ? FEEDBACK_STATUS_SESSION_OPENING"},{"lineNumber":120,"author":{"gitId":"-"},"content":" : FEEDBACK_STATUS_SESSION_CLOSING;"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" String template \u003d emailType \u003d\u003d EmailType.FEEDBACK_OPENING"},{"lineNumber":123,"author":{"gitId":"-"},"content":" ? EmailTemplates.USER_FEEDBACK_SESSION_OPENING.replace(\"${status}\", status)"},{"lineNumber":124,"author":{"gitId":"-"},"content":" : EmailTemplates.USER_FEEDBACK_SESSION.replace(\"${status}\", status);"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" return generateFeedbackSessionEmailBases(course, session, students, instructors, instructorsToNotify, template,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" emailType, FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":131,"author":{"gitId":"-"},"content":" * Generates the feedback session opening soon emails for the given {@code session}."},{"lineNumber":132,"author":{"gitId":"-"},"content":" *"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis is useful for e.g. in case the feedback session opening info was set wrongly."},{"lineNumber":134,"author":{"gitId":"-"},"content":" */"},{"lineNumber":135,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionOpeningSoonEmails(FeedbackSession session) {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" return generateFeedbackSessionOpeningSoonOrClosedEmails(session, EmailType.FEEDBACK_OPENING_SOON);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" private List\u003cEmailWrapper\u003e generateFeedbackSessionOpeningSoonOrClosedEmails("},{"lineNumber":140,"author":{"gitId":"-"},"content":" FeedbackSession session, EmailType emailType) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" Course course \u003d session.getCourse();"},{"lineNumber":142,"author":{"gitId":"-"},"content":" // Notify only course co-owners"},{"lineNumber":143,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e coOwners \u003d usersLogic.getCoOwnersForCourse(course.getId());"},{"lineNumber":144,"author":{"gitId":"-"},"content":" return coOwners.stream()"},{"lineNumber":145,"author":{"gitId":"-"},"content":" .map(coOwner -\u003e generateFeedbackSessionEmailBaseForCoowner(course, session, coOwner, emailType))"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" private EmailWrapper generateFeedbackSessionEmailBaseForCoowner("},{"lineNumber":150,"author":{"gitId":"-"},"content":" Course course, FeedbackSession session, Instructor coOwner, EmailType emailType) {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" String additionalNotes;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" String status;"},{"lineNumber":153,"author":{"gitId":"-"},"content":" if (emailType \u003d\u003d EmailType.FEEDBACK_OPENING_SOON) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" String editUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.INSTRUCTOR_SESSION_EDIT_PAGE)"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":156,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":157,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":158,"author":{"gitId":"-"},"content":" // If instructor has not joined the course, populate additional notes with information to join course."},{"lineNumber":159,"author":{"gitId":"-"},"content":" if (coOwner.isRegistered()) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" additionalNotes \u003d fillUpEditFeedbackSessionDetailsFragment(editUrl);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" additionalNotes \u003d fillUpJoinCourseBeforeEditFeedbackSessionDetailsFragment(editUrl,"},{"lineNumber":163,"author":{"gitId":"-"},"content":" getInstructorCourseJoinUrl(coOwner));"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":" status \u003d FEEDBACK_STATUS_SESSION_OPENING_SOON;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" String reportUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.INSTRUCTOR_SESSION_REPORT_PAGE)"},{"lineNumber":168,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":169,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":171,"author":{"gitId":"-"},"content":" additionalNotes \u003d fillUpViewResponsesDetailsFragment(reportUrl);"},{"lineNumber":172,"author":{"gitId":"-"},"content":" status \u003d FEEDBACK_STATUS_SESSION_CLOSED;"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" Instant startTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":176,"author":{"gitId":"-"},"content":" session.getStartTime(), session.getCourse().getTimeZone(), false);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" Instant endTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":178,"author":{"gitId":"-"},"content":" session.getEndTime(), session.getCourse().getTimeZone(), false);"},{"lineNumber":179,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate(EmailTemplates.OWNER_FEEDBACK_SESSION,"},{"lineNumber":180,"author":{"gitId":"-"},"content":" \"${status}\", status,"},{"lineNumber":181,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(coOwner.getName()),"},{"lineNumber":182,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":183,"author":{"gitId":"-"},"content":" \"${courseId}\", SanitizationHelper.sanitizeForHtml(course.getId()),"},{"lineNumber":184,"author":{"gitId":"-"},"content":" \"${feedbackSessionName}\", SanitizationHelper.sanitizeForHtml(session.getName()),"},{"lineNumber":185,"author":{"gitId":"-"},"content":" \"${deadline}\", SanitizationHelper.sanitizeForHtml("},{"lineNumber":186,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(endTime, session.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT)),"},{"lineNumber":187,"author":{"gitId":"-"},"content":" \"${sessionInstructions}\", session.getInstructionsString(),"},{"lineNumber":188,"author":{"gitId":"-"},"content":" \"${startTime}\", SanitizationHelper.sanitizeForHtml("},{"lineNumber":189,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(startTime, session.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT)),"},{"lineNumber":190,"author":{"gitId":"-"},"content":" \"${additionalNotes}\", additionalNotes);"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(coOwner.getEmail());"},{"lineNumber":193,"author":{"gitId":"-"},"content":" email.setType(emailType);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), session.getName());"},{"lineNumber":195,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":200,"author":{"gitId":"-"},"content":" * Generates the fragment for instructions on how to edit details for feedback session at {@code editUrl}."},{"lineNumber":201,"author":{"gitId":"-"},"content":" */"},{"lineNumber":202,"author":{"gitId":"-"},"content":" private String fillUpEditFeedbackSessionDetailsFragment(String editUrl) {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.FRAGMENT_OPENING_SOON_EDIT_DETAILS,"},{"lineNumber":204,"author":{"gitId":"-"},"content":" \"${sessionEditUrl}\", editUrl);"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":208,"author":{"gitId":"-"},"content":" * Generates the fragment for instructions on how to view responses for feedback session at {@code reportUrl}."},{"lineNumber":209,"author":{"gitId":"-"},"content":" */"},{"lineNumber":210,"author":{"gitId":"-"},"content":" private String fillUpViewResponsesDetailsFragment(String reportUrl) {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.FRAGMENT_CLOSED_VIEW_RESPONSES,"},{"lineNumber":212,"author":{"gitId":"-"},"content":" \"${reportUrl}\", reportUrl);"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":216,"author":{"gitId":"-"},"content":" * Generates the fragment for instructions on how to edit details for feedback session at {@code editUrl} and"},{"lineNumber":217,"author":{"gitId":"-"},"content":" * how to join the course at {@code joinUrl}."},{"lineNumber":218,"author":{"gitId":"-"},"content":" */"},{"lineNumber":219,"author":{"gitId":"-"},"content":" private String fillUpJoinCourseBeforeEditFeedbackSessionDetailsFragment(String editUrl, String joinUrl) {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.FRAGMENT_OPENING_SOON_JOIN_COURSE_BEFORE_EDIT_DETAILS,"},{"lineNumber":221,"author":{"gitId":"-"},"content":" \"${sessionEditUrl}\", editUrl,"},{"lineNumber":222,"author":{"gitId":"-"},"content":" \"${joinUrl}\", joinUrl"},{"lineNumber":223,"author":{"gitId":"-"},"content":" );"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":227,"author":{"gitId":"-"},"content":" * Generates the feedback session reminder emails for the given {@code session} for {@code students}"},{"lineNumber":228,"author":{"gitId":"-"},"content":" * and {@code instructorsToRemind}. In addition, the emails will also be forwarded to {@code instructorsToNotify}."},{"lineNumber":229,"author":{"gitId":"-"},"content":" */"},{"lineNumber":230,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionReminderEmails("},{"lineNumber":231,"author":{"gitId":"-"},"content":" FeedbackSession session, List\u003cStudent\u003e students,"},{"lineNumber":232,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorsToRemind, Instructor instructorToNotify) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" Course course \u003d session.getCourse();"},{"lineNumber":235,"author":{"gitId":"-"},"content":" String template \u003d EmailTemplates.USER_FEEDBACK_SESSION.replace(\"${status}\", FEEDBACK_STATUS_SESSION_OPEN);"},{"lineNumber":236,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorToNotifyAsList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":237,"author":{"gitId":"-"},"content":" if (instructorToNotify !\u003d null) {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" instructorToNotifyAsList.add(instructorToNotify);"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" return generateFeedbackSessionEmailBases(course, session, students, instructorsToRemind, instructorToNotifyAsList,"},{"lineNumber":242,"author":{"gitId":"-"},"content":" template, EmailType.FEEDBACK_SESSION_REMINDER, FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW);"},{"lineNumber":243,"author":{"gitId":"-"},"content":" }"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":246,"author":{"gitId":"-"},"content":" * Generates the email containing the summary of the feedback sessions"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * email for the given {@code courseId} for {@code userEmail}."},{"lineNumber":248,"author":{"gitId":"-"},"content":" * @param courseId - ID of the course"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * @param userEmail - Email of student to send feedback session summary to"},{"lineNumber":250,"author":{"gitId":"-"},"content":" * @param emailType - The email type which corresponds to the reason behind why the links are being resent"},{"lineNumber":251,"author":{"gitId":"-"},"content":" */"},{"lineNumber":252,"author":{"gitId":"-"},"content":" public EmailWrapper generateFeedbackSessionSummaryOfCourse("},{"lineNumber":253,"author":{"gitId":"-"},"content":" String courseId, String userEmail, EmailType emailType) {"},{"lineNumber":254,"author":{"gitId":"-"},"content":" assert emailType \u003d\u003d EmailType.STUDENT_EMAIL_CHANGED"},{"lineNumber":255,"author":{"gitId":"-"},"content":" || emailType \u003d\u003d EmailType.STUDENT_COURSE_LINKS_REGENERATED"},{"lineNumber":256,"author":{"gitId":"-"},"content":" || emailType \u003d\u003d EmailType.INSTRUCTOR_COURSE_LINKS_REGENERATED;"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":" Course course \u003d coursesLogic.getCourse(courseId);"},{"lineNumber":259,"author":{"gitId":"-"},"content":" boolean isInstructor \u003d emailType \u003d\u003d EmailType.INSTRUCTOR_COURSE_LINKS_REGENERATED;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" Student student \u003d usersLogic.getStudentForEmail(courseId, userEmail);"},{"lineNumber":261,"author":{"gitId":"-"},"content":" Instructor instructor \u003d null;"},{"lineNumber":262,"author":{"gitId":"-"},"content":" if (isInstructor) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" instructor \u003d usersLogic.getInstructorForEmail(courseId, userEmail);"},{"lineNumber":264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":267,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e fsInCourse \u003d fsLogic.getFeedbackSessionsForCourse(courseId);"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" for (FeedbackSession fs : fsInCourse) {"},{"lineNumber":270,"author":{"gitId":"-"},"content":" if (fs.isOpenEmailSent() || fs.isPublishedEmailSent()) {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" sessions.add(fs);"},{"lineNumber":272,"author":{"gitId":"-"},"content":" }"},{"lineNumber":273,"author":{"gitId":"-"},"content":" }"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":" StringBuilder linksFragmentValue \u003d new StringBuilder(1000);"},{"lineNumber":276,"author":{"gitId":"-"},"content":" String joinUrl \u003d Config.getFrontEndAppUrl("},{"lineNumber":277,"author":{"gitId":"-"},"content":" isInstructor ? instructor.getRegistrationUrl() : student.getRegistrationUrl()).toAbsoluteString();"},{"lineNumber":278,"author":{"gitId":"-"},"content":" boolean isYetToJoinCourse \u003d isInstructor ? isYetToJoinCourse(instructor) : isYetToJoinCourse(student);"},{"lineNumber":279,"author":{"gitId":"-"},"content":" String joinFragmentTemplate \u003d isInstructor"},{"lineNumber":280,"author":{"gitId":"-"},"content":" ? EmailTemplates.FRAGMENT_INSTRUCTOR_COURSE_REJOIN_AFTER_REGKEY_RESET"},{"lineNumber":281,"author":{"gitId":"-"},"content":" : emailType \u003d\u003d EmailType.STUDENT_EMAIL_CHANGED"},{"lineNumber":282,"author":{"gitId":"-"},"content":" ? EmailTemplates.FRAGMENT_STUDENT_COURSE_JOIN"},{"lineNumber":283,"author":{"gitId":"-"},"content":" : EmailTemplates.FRAGMENT_STUDENT_COURSE_REJOIN_AFTER_REGKEY_RESET;"},{"lineNumber":284,"author":{"gitId":"-"},"content":""},{"lineNumber":285,"author":{"gitId":"-"},"content":" String joinFragmentValue \u003d isYetToJoinCourse"},{"lineNumber":286,"author":{"gitId":"-"},"content":" ? Templates.populateTemplate(joinFragmentTemplate,"},{"lineNumber":287,"author":{"gitId":"-"},"content":" \"${joinUrl}\", joinUrl,"},{"lineNumber":288,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":289,"author":{"gitId":"-"},"content":" \"${coOwnersEmails}\", generateCoOwnersEmailsLine(course.getId()),"},{"lineNumber":290,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL)"},{"lineNumber":291,"author":{"gitId":"-"},"content":" : \"\";"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" for (FeedbackSession fs : sessions) {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" String submitUrlHtml \u003d \"(Feedback session is not yet opened)\";"},{"lineNumber":295,"author":{"gitId":"-"},"content":" String reportUrlHtml \u003d \"(Feedback session is not yet published)\";"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" String userKey \u003d isInstructor ? instructor.getRegKey() : student.getRegKey();"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" if (fs.isOpened() || fs.isClosed()) {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" String submitUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_SUBMISSION_PAGE)"},{"lineNumber":301,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":302,"author":{"gitId":"-"},"content":" .withSessionName(fs.getName())"},{"lineNumber":303,"author":{"gitId":"-"},"content":" .withRegistrationKey(userKey)"},{"lineNumber":304,"author":{"gitId":"-"},"content":" .withEntityType(isInstructor ? Const.EntityType.INSTRUCTOR : \"\")"},{"lineNumber":305,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":306,"author":{"gitId":"-"},"content":" submitUrlHtml \u003d \"\u003ca href\u003d\\\"\" + submitUrl + \"\\\"\u003e\" + submitUrl + \"\u003c/a\u003e\";"},{"lineNumber":307,"author":{"gitId":"-"},"content":" }"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":" if (fs.isPublished()) {"},{"lineNumber":310,"author":{"gitId":"-"},"content":" String reportUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_RESULTS_PAGE)"},{"lineNumber":311,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":312,"author":{"gitId":"-"},"content":" .withSessionName(fs.getName())"},{"lineNumber":313,"author":{"gitId":"-"},"content":" .withRegistrationKey(userKey)"},{"lineNumber":314,"author":{"gitId":"-"},"content":" .withEntityType(isInstructor ? Const.EntityType.INSTRUCTOR : \"\")"},{"lineNumber":315,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":316,"author":{"gitId":"-"},"content":" reportUrlHtml \u003d \"\u003ca href\u003d\\\"\" + reportUrl + \"\\\"\u003e\" + reportUrl + \"\u003c/a\u003e\";"},{"lineNumber":317,"author":{"gitId":"-"},"content":" }"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":" Instant endTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":320,"author":{"gitId":"-"},"content":" fs.getEndTime(), fs.getCourse().getTimeZone(), false);"},{"lineNumber":321,"author":{"gitId":"-"},"content":" linksFragmentValue.append(Templates.populateTemplate("},{"lineNumber":322,"author":{"gitId":"-"},"content":" EmailTemplates.FRAGMENT_SINGLE_FEEDBACK_SESSION_LINKS,"},{"lineNumber":323,"author":{"gitId":"-"},"content":" \"${feedbackSessionName}\", fs.getName(),"},{"lineNumber":324,"author":{"gitId":"-"},"content":" \"${deadline}\", TimeHelper.formatInstant(endTime, fs.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT)"},{"lineNumber":325,"author":{"gitId":"-"},"content":" + (fs.isClosed() ? \" (Passed)\" : \"\"),"},{"lineNumber":326,"author":{"gitId":"-"},"content":" \"${submitUrl}\", submitUrlHtml,"},{"lineNumber":327,"author":{"gitId":"-"},"content":" \"${reportUrl}\", reportUrlHtml));"},{"lineNumber":328,"author":{"gitId":"-"},"content":" }"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" if (linksFragmentValue.length() \u003d\u003d 0) {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" linksFragmentValue.append(\"No links found.\");"},{"lineNumber":332,"author":{"gitId":"-"},"content":" }"},{"lineNumber":333,"author":{"gitId":"-"},"content":""},{"lineNumber":334,"author":{"gitId":"-"},"content":" String additionalContactInformation \u003d getAdditionalContactInformationFragment(course, isInstructor);"},{"lineNumber":335,"author":{"gitId":"-"},"content":" String resendLinksTemplate \u003d emailType \u003d\u003d EmailType.STUDENT_EMAIL_CHANGED"},{"lineNumber":336,"author":{"gitId":"-"},"content":" ? Templates.EmailTemplates.USER_FEEDBACK_SESSION_RESEND_ALL_LINKS"},{"lineNumber":337,"author":{"gitId":"-"},"content":" : Templates.EmailTemplates.USER_REGKEY_REGENERATION_RESEND_ALL_COURSE_LINKS;"},{"lineNumber":338,"author":{"gitId":"-"},"content":""},{"lineNumber":339,"author":{"gitId":"-"},"content":" String userName \u003d isInstructor ? instructor.getName() : student.getName();"},{"lineNumber":340,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate(resendLinksTemplate,"},{"lineNumber":341,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(userName),"},{"lineNumber":342,"author":{"gitId":"-"},"content":" \"${userEmail}\", userEmail,"},{"lineNumber":343,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":344,"author":{"gitId":"-"},"content":" \"${courseId}\", course.getId(),"},{"lineNumber":345,"author":{"gitId":"-"},"content":" \"${joinFragment}\", joinFragmentValue,"},{"lineNumber":346,"author":{"gitId":"-"},"content":" \"${linksFragment}\", linksFragmentValue.toString(),"},{"lineNumber":347,"author":{"gitId":"-"},"content":" \"${additionalContactInformation}\", additionalContactInformation);"},{"lineNumber":348,"author":{"gitId":"-"},"content":""},{"lineNumber":349,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(userEmail);"},{"lineNumber":350,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":351,"author":{"gitId":"-"},"content":" email.setType(emailType);"},{"lineNumber":352,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), course.getId());"},{"lineNumber":353,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":354,"author":{"gitId":"-"},"content":" }"},{"lineNumber":355,"author":{"gitId":"-"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":357,"author":{"gitId":"-"},"content":" * Generates for the student an recovery email listing the links to submit/view responses for all feedback sessions"},{"lineNumber":358,"author":{"gitId":"-"},"content":" * under {@code recoveryEmailAddress} in the past 180 days. If no student with {@code recoveryEmailAddress} is"},{"lineNumber":359,"author":{"gitId":"-"},"content":" * found, generate an email stating that there is no such student in the system. If no feedback sessions are found,"},{"lineNumber":360,"author":{"gitId":"-"},"content":" * generate an email stating no feedback sessions found."},{"lineNumber":361,"author":{"gitId":"-"},"content":" */"},{"lineNumber":362,"author":{"gitId":"-"},"content":" public EmailWrapper generateSessionLinksRecoveryEmailForStudent(String recoveryEmailAddress,"},{"lineNumber":363,"author":{"gitId":"-"},"content":" String studentNameFromDatastore, Map\u003cCourseAttributes, StringBuilder\u003e dataStoreLinkFragmentMap) {"},{"lineNumber":364,"author":{"gitId":"-"},"content":""},{"lineNumber":365,"author":{"gitId":"-"},"content":" // Datastore attributes should be removed once migration is completed"},{"lineNumber":366,"author":{"gitId":"-"},"content":" String emptyName \u003d \"\";"},{"lineNumber":367,"author":{"gitId":"-"},"content":" boolean noDataStoreStudent \u003d studentNameFromDatastore.equals(emptyName); // student name cannot be empty"},{"lineNumber":368,"author":{"gitId":"-"},"content":""},{"lineNumber":369,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentsForEmail \u003d usersLogic.getAllStudentsForEmail(recoveryEmailAddress);"},{"lineNumber":370,"author":{"gitId":"-"},"content":""},{"lineNumber":371,"author":{"gitId":"-"},"content":" if (studentsForEmail.isEmpty() \u0026\u0026 noDataStoreStudent) {"},{"lineNumber":372,"author":{"gitId":"-"},"content":" return generateSessionLinksRecoveryEmailForNonExistentStudent(recoveryEmailAddress);"},{"lineNumber":373,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":374,"author":{"gitId":"-"},"content":" return generateSessionLinksRecoveryEmailForExistingStudent(recoveryEmailAddress, studentsForEmail,"},{"lineNumber":375,"author":{"gitId":"-"},"content":" studentNameFromDatastore, dataStoreLinkFragmentMap);"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":" }"},{"lineNumber":378,"author":{"gitId":"-"},"content":""},{"lineNumber":379,"author":{"gitId":"-"},"content":" private EmailWrapper generateSessionLinksRecoveryEmailForNonExistentStudent(String recoveryEmailAddress) {"},{"lineNumber":380,"author":{"gitId":"-"},"content":" String recoveryUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSIONS_LINK_RECOVERY_PAGE).toAbsoluteString();"},{"lineNumber":381,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate("},{"lineNumber":382,"author":{"gitId":"-"},"content":" EmailTemplates.SESSION_LINKS_RECOVERY_EMAIL_NOT_FOUND,"},{"lineNumber":383,"author":{"gitId":"-"},"content":" \"${userEmail}\", SanitizationHelper.sanitizeForHtml(recoveryEmailAddress),"},{"lineNumber":384,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL,"},{"lineNumber":385,"author":{"gitId":"-"},"content":" \"${teammateHomePageLink}\", Config.getFrontEndAppUrl(\"/\").toAbsoluteString(),"},{"lineNumber":386,"author":{"gitId":"-"},"content":" \"${sessionsRecoveryLink}\", recoveryUrl);"},{"lineNumber":387,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(recoveryEmailAddress);"},{"lineNumber":388,"author":{"gitId":"-"},"content":" email.setType(EmailType.SESSION_LINKS_RECOVERY);"},{"lineNumber":389,"author":{"gitId":"-"},"content":" email.setSubjectFromType();"},{"lineNumber":390,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":391,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":392,"author":{"gitId":"-"},"content":" }"},{"lineNumber":393,"author":{"gitId":"-"},"content":""},{"lineNumber":394,"author":{"gitId":"-"},"content":" private EmailWrapper generateSessionLinksRecoveryEmailForExistingStudent(String recoveryEmailAddress,"},{"lineNumber":395,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentsForEmail, String studentNameFromDatastore,"},{"lineNumber":396,"author":{"gitId":"-"},"content":" Map\u003cCourseAttributes, StringBuilder\u003e dataStoreLinkFragmentMap) {"},{"lineNumber":397,"author":{"gitId":"-"},"content":" assert !studentsForEmail.isEmpty() || studentNameFromDatastore !\u003d null;"},{"lineNumber":398,"author":{"gitId":"-"},"content":" int firstStudentIdx \u003d 0;"},{"lineNumber":399,"author":{"gitId":"-"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" Map\u003cCourse, StringBuilder\u003e linkFragmentsMap \u003d generateLinkFragmentsMap(studentsForEmail);"},{"lineNumber":401,"author":{"gitId":"-"},"content":""},{"lineNumber":402,"author":{"gitId":"-"},"content":" String emailBody;"},{"lineNumber":403,"author":{"gitId":"-"},"content":""},{"lineNumber":404,"author":{"gitId":"-"},"content":" String studentName;"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" if (studentsForEmail.isEmpty()) {"},{"lineNumber":407,"author":{"gitId":"-"},"content":" studentName \u003d studentNameFromDatastore;"},{"lineNumber":408,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":409,"author":{"gitId":"-"},"content":" studentName \u003d studentsForEmail.get(firstStudentIdx).getName();"},{"lineNumber":410,"author":{"gitId":"-"},"content":" }"},{"lineNumber":411,"author":{"gitId":"-"},"content":""},{"lineNumber":412,"author":{"gitId":"-"},"content":" var recoveryUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSIONS_LINK_RECOVERY_PAGE).toAbsoluteString();"},{"lineNumber":413,"author":{"gitId":"-"},"content":""},{"lineNumber":414,"author":{"gitId":"-"},"content":" if (linkFragmentsMap.isEmpty() \u0026\u0026 dataStoreLinkFragmentMap.isEmpty()) {"},{"lineNumber":415,"author":{"gitId":"-"},"content":" emailBody \u003d Templates.populateTemplate("},{"lineNumber":416,"author":{"gitId":"-"},"content":" EmailTemplates.SESSION_LINKS_RECOVERY_ACCESS_LINKS_NONE,"},{"lineNumber":417,"author":{"gitId":"-"},"content":" \"${teammateHomePageLink}\", Config.getFrontEndAppUrl(\"/\").toAbsoluteString(),"},{"lineNumber":418,"author":{"gitId":"-"},"content":" \"${userEmail}\", SanitizationHelper.sanitizeForHtml(recoveryEmailAddress),"},{"lineNumber":419,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL,"},{"lineNumber":420,"author":{"gitId":"-"},"content":" \"${sessionsRecoveryLink}\", recoveryUrl);"},{"lineNumber":421,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":422,"author":{"gitId":"-"},"content":" var courseFragments \u003d new StringBuilder(10000);"},{"lineNumber":423,"author":{"gitId":"-"},"content":" linkFragmentsMap.forEach((course, linksFragments) -\u003e {"},{"lineNumber":424,"author":{"gitId":"-"},"content":" String courseBody \u003d Templates.populateTemplate("},{"lineNumber":425,"author":{"gitId":"-"},"content":" EmailTemplates.FRAGMENT_SESSION_LINKS_RECOVERY_ACCESS_LINKS_BY_COURSE,"},{"lineNumber":426,"author":{"gitId":"-"},"content":" \"${sessionFragment}\", linksFragments.toString(),"},{"lineNumber":427,"author":{"gitId":"-"},"content":" \"${courseName}\", course.getName());"},{"lineNumber":428,"author":{"gitId":"-"},"content":" courseFragments.append(courseBody);"},{"lineNumber":429,"author":{"gitId":"-"},"content":" });"},{"lineNumber":430,"author":{"gitId":"-"},"content":""},{"lineNumber":431,"author":{"gitId":"-"},"content":" // To remove after migrating to postgres"},{"lineNumber":432,"author":{"gitId":"-"},"content":" dataStoreLinkFragmentMap.forEach((course, linksFragments) -\u003e {"},{"lineNumber":433,"author":{"gitId":"-"},"content":" String courseBody \u003d Templates.populateTemplate("},{"lineNumber":434,"author":{"gitId":"-"},"content":" EmailTemplates.FRAGMENT_SESSION_LINKS_RECOVERY_ACCESS_LINKS_BY_COURSE,"},{"lineNumber":435,"author":{"gitId":"-"},"content":" \"${sessionFragment}\", linksFragments.toString(),"},{"lineNumber":436,"author":{"gitId":"-"},"content":" \"${courseName}\", course.getName());"},{"lineNumber":437,"author":{"gitId":"-"},"content":" courseFragments.append(courseBody);"},{"lineNumber":438,"author":{"gitId":"-"},"content":" });"},{"lineNumber":439,"author":{"gitId":"-"},"content":" emailBody \u003d Templates.populateTemplate("},{"lineNumber":440,"author":{"gitId":"-"},"content":" EmailTemplates.SESSION_LINKS_RECOVERY_ACCESS_LINKS,"},{"lineNumber":441,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(studentName),"},{"lineNumber":442,"author":{"gitId":"-"},"content":" \"${linksFragment}\", courseFragments.toString(),"},{"lineNumber":443,"author":{"gitId":"-"},"content":" \"${userEmail}\", SanitizationHelper.sanitizeForHtml(recoveryEmailAddress),"},{"lineNumber":444,"author":{"gitId":"-"},"content":" \"${teammateHomePageLink}\", Config.getFrontEndAppUrl(\"/\").toAbsoluteString(),"},{"lineNumber":445,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL,"},{"lineNumber":446,"author":{"gitId":"-"},"content":" \"${sessionsRecoveryLink}\", recoveryUrl);"},{"lineNumber":447,"author":{"gitId":"-"},"content":" }"},{"lineNumber":448,"author":{"gitId":"-"},"content":""},{"lineNumber":449,"author":{"gitId":"-"},"content":" var email \u003d getEmptyEmailAddressedToEmail(recoveryEmailAddress);"},{"lineNumber":450,"author":{"gitId":"-"},"content":" email.setType(EmailType.SESSION_LINKS_RECOVERY);"},{"lineNumber":451,"author":{"gitId":"-"},"content":" email.setSubjectFromType();"},{"lineNumber":452,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":453,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":454,"author":{"gitId":"-"},"content":" }"},{"lineNumber":455,"author":{"gitId":"-"},"content":""},{"lineNumber":456,"author":{"gitId":"-"},"content":" private Map\u003cCourse, StringBuilder\u003e generateLinkFragmentsMap(List\u003cStudent\u003e studentsForEmail) {"},{"lineNumber":457,"author":{"gitId":"-"},"content":" Instant searchStartTime \u003d TimeHelper.getInstantDaysOffsetBeforeNow(SESSION_LINK_RECOVERY_DURATION_IN_DAYS);"},{"lineNumber":458,"author":{"gitId":"-"},"content":" Map\u003cCourse, StringBuilder\u003e linkFragmentsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":459,"author":{"gitId":"-"},"content":""},{"lineNumber":460,"author":{"gitId":"-"},"content":" for (var student : studentsForEmail) {"},{"lineNumber":461,"author":{"gitId":"-"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":462,"author":{"gitId":"-"},"content":" // Query students\u0027 courses first"},{"lineNumber":463,"author":{"gitId":"-"},"content":" // as a student will likely be in only a small number of courses."},{"lineNumber":464,"author":{"gitId":"-"},"content":" Course course \u003d student.getCourse();"},{"lineNumber":465,"author":{"gitId":"-"},"content":" String courseId \u003d course.getId();"},{"lineNumber":466,"author":{"gitId":"-"},"content":""},{"lineNumber":467,"author":{"gitId":"-"},"content":" StringBuilder linksFragmentValue;"},{"lineNumber":468,"author":{"gitId":"-"},"content":" if (linkFragmentsMap.containsKey(course)) {"},{"lineNumber":469,"author":{"gitId":"-"},"content":" linksFragmentValue \u003d linkFragmentsMap.get(course);"},{"lineNumber":470,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":471,"author":{"gitId":"-"},"content":" linksFragmentValue \u003d new StringBuilder(5000);"},{"lineNumber":472,"author":{"gitId":"-"},"content":" }"},{"lineNumber":473,"author":{"gitId":"-"},"content":""},{"lineNumber":474,"author":{"gitId":"-"},"content":" for (var session : fsLogic.getFeedbackSessionsForCourseStartingAfter(courseId, searchStartTime)) {"},{"lineNumber":475,"author":{"gitId":"-"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":476,"author":{"gitId":"-"},"content":" var submitUrlHtml \u003d \"\";"},{"lineNumber":477,"author":{"gitId":"-"},"content":" var reportUrlHtml \u003d \"\";"},{"lineNumber":478,"author":{"gitId":"-"},"content":""},{"lineNumber":479,"author":{"gitId":"-"},"content":" if (session.isOpened() || session.isClosed()) {"},{"lineNumber":480,"author":{"gitId":"-"},"content":" var submitUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_SUBMISSION_PAGE)"},{"lineNumber":481,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":482,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":483,"author":{"gitId":"-"},"content":" .withRegistrationKey(student.getRegKey())"},{"lineNumber":484,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":485,"author":{"gitId":"-"},"content":" submitUrlHtml \u003d \"[\u003ca href\u003d\\\"\" + submitUrl + \"\\\"\u003esubmission link\u003c/a\u003e]\";"},{"lineNumber":486,"author":{"gitId":"-"},"content":" }"},{"lineNumber":487,"author":{"gitId":"-"},"content":""},{"lineNumber":488,"author":{"gitId":"-"},"content":" if (session.isPublished()) {"},{"lineNumber":489,"author":{"gitId":"-"},"content":" var reportUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_RESULTS_PAGE)"},{"lineNumber":490,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":491,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":492,"author":{"gitId":"-"},"content":" .withRegistrationKey(student.getRegKey())"},{"lineNumber":493,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":494,"author":{"gitId":"-"},"content":" reportUrlHtml \u003d \"[\u003ca href\u003d\\\"\" + reportUrl + \"\\\"\u003eresult link\u003c/a\u003e]\";"},{"lineNumber":495,"author":{"gitId":"-"},"content":" }"},{"lineNumber":496,"author":{"gitId":"-"},"content":""},{"lineNumber":497,"author":{"gitId":"-"},"content":" if (submitUrlHtml.isEmpty() \u0026\u0026 reportUrlHtml.isEmpty()) {"},{"lineNumber":498,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":499,"author":{"gitId":"-"},"content":" }"},{"lineNumber":500,"author":{"gitId":"-"},"content":""},{"lineNumber":501,"author":{"gitId":"-"},"content":" linksFragmentValue.append(Templates.populateTemplate("},{"lineNumber":502,"author":{"gitId":"-"},"content":" EmailTemplates.FRAGMENT_SESSION_LINKS_RECOVERY_ACCESS_LINKS_BY_SESSION,"},{"lineNumber":503,"author":{"gitId":"-"},"content":" \"${sessionName}\", session.getName(),"},{"lineNumber":504,"author":{"gitId":"-"},"content":" \"${submitUrl}\", submitUrlHtml,"},{"lineNumber":505,"author":{"gitId":"-"},"content":" \"${reportUrl}\", reportUrlHtml));"},{"lineNumber":506,"author":{"gitId":"-"},"content":""},{"lineNumber":507,"author":{"gitId":"-"},"content":" linkFragmentsMap.putIfAbsent(course, linksFragmentValue);"},{"lineNumber":508,"author":{"gitId":"-"},"content":" }"},{"lineNumber":509,"author":{"gitId":"-"},"content":" }"},{"lineNumber":510,"author":{"gitId":"-"},"content":" return linkFragmentsMap;"},{"lineNumber":511,"author":{"gitId":"-"},"content":""},{"lineNumber":512,"author":{"gitId":"-"},"content":" }"},{"lineNumber":513,"author":{"gitId":"-"},"content":""},{"lineNumber":514,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":515,"author":{"gitId":"-"},"content":" * Generates the feedback session closing emails for the given {@code session}."},{"lineNumber":516,"author":{"gitId":"-"},"content":" *"},{"lineNumber":517,"author":{"gitId":"-"},"content":" * \u003cp\u003eStudents and instructors with deadline extensions are not notified."},{"lineNumber":518,"author":{"gitId":"-"},"content":" */"},{"lineNumber":519,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionClosingEmails(FeedbackSession session) {"},{"lineNumber":520,"author":{"gitId":"-"},"content":" return generateFeedbackSessionOpeningOrClosingEmails(session, EmailType.FEEDBACK_CLOSING);"},{"lineNumber":521,"author":{"gitId":"-"},"content":" }"},{"lineNumber":522,"author":{"gitId":"-"},"content":""},{"lineNumber":523,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":524,"author":{"gitId":"-"},"content":" * Generates the feedback session closed emails for the given {@code session}."},{"lineNumber":525,"author":{"gitId":"-"},"content":" */"},{"lineNumber":526,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionClosedEmails(FeedbackSession session) {"},{"lineNumber":527,"author":{"gitId":"-"},"content":" return generateFeedbackSessionOpeningSoonOrClosedEmails(session, EmailType.FEEDBACK_CLOSED);"},{"lineNumber":528,"author":{"gitId":"-"},"content":" }"},{"lineNumber":529,"author":{"gitId":"-"},"content":""},{"lineNumber":530,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":531,"author":{"gitId":"-"},"content":" * Generates the feedback session closing emails for users with deadline extensions."},{"lineNumber":532,"author":{"gitId":"-"},"content":" */"},{"lineNumber":533,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionClosingWithExtensionEmails("},{"lineNumber":534,"author":{"gitId":"-"},"content":" FeedbackSession session, List\u003cDeadlineExtension\u003e deadlineExtensions) {"},{"lineNumber":535,"author":{"gitId":"-"},"content":" Course course \u003d session.getCourse();"},{"lineNumber":536,"author":{"gitId":"-"},"content":""},{"lineNumber":537,"author":{"gitId":"-"},"content":" boolean isEmailNeededForStudents \u003d"},{"lineNumber":538,"author":{"gitId":"-"},"content":" !deadlineExtensions.isEmpty() \u0026\u0026 fsLogic.isFeedbackSessionForUserTypeToAnswer(session, false);"},{"lineNumber":539,"author":{"gitId":"-"},"content":" boolean isEmailNeededForInstructors \u003d"},{"lineNumber":540,"author":{"gitId":"-"},"content":" !deadlineExtensions.isEmpty() \u0026\u0026 fsLogic.isFeedbackSessionForUserTypeToAnswer(session, true);"},{"lineNumber":541,"author":{"gitId":"-"},"content":""},{"lineNumber":542,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students \u003d new ArrayList\u003c\u003e();"},{"lineNumber":543,"author":{"gitId":"-"},"content":" if (isEmailNeededForStudents) {"},{"lineNumber":544,"author":{"gitId":"-"},"content":" for (DeadlineExtension de : deadlineExtensions) {"},{"lineNumber":545,"author":{"gitId":"-"},"content":" Student student \u003d usersLogic.getStudentForEmail(course.getId(), de.getUser().getEmail());"},{"lineNumber":546,"author":{"gitId":"-"},"content":" if (student !\u003d null) {"},{"lineNumber":547,"author":{"gitId":"-"},"content":" students.add(student);"},{"lineNumber":548,"author":{"gitId":"-"},"content":" }"},{"lineNumber":549,"author":{"gitId":"-"},"content":" }"},{"lineNumber":550,"author":{"gitId":"-"},"content":" }"},{"lineNumber":551,"author":{"gitId":"-"},"content":""},{"lineNumber":552,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":553,"author":{"gitId":"-"},"content":" if (isEmailNeededForInstructors) {"},{"lineNumber":554,"author":{"gitId":"-"},"content":" for (DeadlineExtension de : deadlineExtensions) {"},{"lineNumber":555,"author":{"gitId":"-"},"content":" Instructor instructor \u003d"},{"lineNumber":556,"author":{"gitId":"-"},"content":" usersLogic.getInstructorForEmail(course.getId(), de.getUser().getEmail());"},{"lineNumber":557,"author":{"gitId":"-"},"content":" if (instructor !\u003d null) {"},{"lineNumber":558,"author":{"gitId":"-"},"content":" instructors.add(instructor);"},{"lineNumber":559,"author":{"gitId":"-"},"content":" }"},{"lineNumber":560,"author":{"gitId":"-"},"content":" }"},{"lineNumber":561,"author":{"gitId":"-"},"content":" }"},{"lineNumber":562,"author":{"gitId":"-"},"content":""},{"lineNumber":563,"author":{"gitId":"-"},"content":" String template \u003d EmailTemplates.USER_FEEDBACK_SESSION.replace(\"${status}\", FEEDBACK_STATUS_SESSION_CLOSING);"},{"lineNumber":564,"author":{"gitId":"-"},"content":" EmailType type \u003d EmailType.FEEDBACK_CLOSING;"},{"lineNumber":565,"author":{"gitId":"-"},"content":" String feedbackAction \u003d FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW;"},{"lineNumber":566,"author":{"gitId":"-"},"content":" List\u003cEmailWrapper\u003e emails \u003d new ArrayList\u003c\u003e();"},{"lineNumber":567,"author":{"gitId":"-"},"content":" for (Student student : students) {"},{"lineNumber":568,"author":{"gitId":"-"},"content":" emails.addAll(generateFeedbackSessionEmailBases(course, session, Collections.singletonList(student),"},{"lineNumber":569,"author":{"gitId":"-"},"content":" Collections.emptyList(), Collections.emptyList(), template, type, feedbackAction));"},{"lineNumber":570,"author":{"gitId":"-"},"content":" }"},{"lineNumber":571,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":572,"author":{"gitId":"-"},"content":" emails.addAll(generateFeedbackSessionEmailBases(course, session, Collections.emptyList(),"},{"lineNumber":573,"author":{"gitId":"-"},"content":" Collections.singletonList(instructor), Collections.emptyList(), template, type, feedbackAction));"},{"lineNumber":574,"author":{"gitId":"-"},"content":" }"},{"lineNumber":575,"author":{"gitId":"-"},"content":" return emails;"},{"lineNumber":576,"author":{"gitId":"-"},"content":" }"},{"lineNumber":577,"author":{"gitId":"-"},"content":""},{"lineNumber":578,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":579,"author":{"gitId":"-"},"content":" * Generates the feedback session published emails for the given {@code session}."},{"lineNumber":580,"author":{"gitId":"-"},"content":" */"},{"lineNumber":581,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionPublishedEmails(FeedbackSession session) {"},{"lineNumber":582,"author":{"gitId":"-"},"content":" return generateFeedbackSessionPublishedOrUnpublishedEmails(session, EmailType.FEEDBACK_PUBLISHED);"},{"lineNumber":583,"author":{"gitId":"-"},"content":" }"},{"lineNumber":584,"author":{"gitId":"-"},"content":""},{"lineNumber":585,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":586,"author":{"gitId":"-"},"content":" * Generates the feedback session published emails for the given {@code students} and"},{"lineNumber":587,"author":{"gitId":"-"},"content":" * {@code instructors} in {@code session}."},{"lineNumber":588,"author":{"gitId":"-"},"content":" */"},{"lineNumber":589,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionPublishedEmails(FeedbackSession session,"},{"lineNumber":590,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students, List\u003cInstructor\u003e instructors,"},{"lineNumber":591,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorsToNotify) {"},{"lineNumber":592,"author":{"gitId":"-"},"content":" return generateFeedbackSessionPublishedOrUnpublishedEmails("},{"lineNumber":593,"author":{"gitId":"-"},"content":" session, students, instructors, instructorsToNotify, EmailType.FEEDBACK_PUBLISHED);"},{"lineNumber":594,"author":{"gitId":"-"},"content":" }"},{"lineNumber":595,"author":{"gitId":"-"},"content":""},{"lineNumber":596,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":597,"author":{"gitId":"-"},"content":" * Generates the feedback session unpublished emails for the given {@code session}."},{"lineNumber":598,"author":{"gitId":"-"},"content":" */"},{"lineNumber":599,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateFeedbackSessionUnpublishedEmails(FeedbackSession session) {"},{"lineNumber":600,"author":{"gitId":"-"},"content":" return generateFeedbackSessionPublishedOrUnpublishedEmails(session, EmailType.FEEDBACK_UNPUBLISHED);"},{"lineNumber":601,"author":{"gitId":"-"},"content":" }"},{"lineNumber":602,"author":{"gitId":"-"},"content":""},{"lineNumber":603,"author":{"gitId":"-"},"content":" private List\u003cEmailWrapper\u003e generateFeedbackSessionPublishedOrUnpublishedEmails("},{"lineNumber":604,"author":{"gitId":"-"},"content":" FeedbackSession session, EmailType emailType) {"},{"lineNumber":605,"author":{"gitId":"-"},"content":" boolean isEmailNeededForStudents \u003d fsLogic.isFeedbackSessionViewableToUserType(session, false);"},{"lineNumber":606,"author":{"gitId":"-"},"content":" boolean isEmailNeededForInstructors \u003d fsLogic.isFeedbackSessionViewableToUserType(session, true);"},{"lineNumber":607,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorsToNotify \u003d isEmailNeededForStudents"},{"lineNumber":608,"author":{"gitId":"-"},"content":" ? usersLogic.getCoOwnersForCourse(session.getCourse().getId())"},{"lineNumber":609,"author":{"gitId":"-"},"content":" : new ArrayList\u003c\u003e();"},{"lineNumber":610,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students \u003d isEmailNeededForStudents"},{"lineNumber":611,"author":{"gitId":"-"},"content":" ? usersLogic.getStudentsForCourse(session.getCourse().getId())"},{"lineNumber":612,"author":{"gitId":"-"},"content":" : new ArrayList\u003c\u003e();"},{"lineNumber":613,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors \u003d isEmailNeededForInstructors"},{"lineNumber":614,"author":{"gitId":"-"},"content":" ? usersLogic.getInstructorsForCourse(session.getCourse().getId())"},{"lineNumber":615,"author":{"gitId":"-"},"content":" : new ArrayList\u003c\u003e();"},{"lineNumber":616,"author":{"gitId":"-"},"content":""},{"lineNumber":617,"author":{"gitId":"-"},"content":" return generateFeedbackSessionPublishedOrUnpublishedEmails("},{"lineNumber":618,"author":{"gitId":"-"},"content":" session, students, instructors, instructorsToNotify, emailType);"},{"lineNumber":619,"author":{"gitId":"-"},"content":" }"},{"lineNumber":620,"author":{"gitId":"-"},"content":""},{"lineNumber":621,"author":{"gitId":"-"},"content":" private List\u003cEmailWrapper\u003e generateFeedbackSessionPublishedOrUnpublishedEmails("},{"lineNumber":622,"author":{"gitId":"-"},"content":" FeedbackSession session, List\u003cStudent\u003e students,"},{"lineNumber":623,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors, List\u003cInstructor\u003e instructorsToNotify, EmailType emailType) {"},{"lineNumber":624,"author":{"gitId":"-"},"content":" Course course \u003d session.getCourse();"},{"lineNumber":625,"author":{"gitId":"-"},"content":" String template;"},{"lineNumber":626,"author":{"gitId":"-"},"content":" String action;"},{"lineNumber":627,"author":{"gitId":"-"},"content":" if (emailType \u003d\u003d EmailType.FEEDBACK_PUBLISHED) {"},{"lineNumber":628,"author":{"gitId":"-"},"content":" template \u003d EmailTemplates.USER_FEEDBACK_SESSION_PUBLISHED;"},{"lineNumber":629,"author":{"gitId":"-"},"content":" action \u003d FEEDBACK_ACTION_VIEW;"},{"lineNumber":630,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":631,"author":{"gitId":"-"},"content":" template \u003d EmailTemplates.USER_FEEDBACK_SESSION_UNPUBLISHED;"},{"lineNumber":632,"author":{"gitId":"-"},"content":" action \u003d FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW;"},{"lineNumber":633,"author":{"gitId":"-"},"content":" }"},{"lineNumber":634,"author":{"gitId":"-"},"content":""},{"lineNumber":635,"author":{"gitId":"-"},"content":" return generateFeedbackSessionEmailBases(course, session, students, instructors, instructorsToNotify, template,"},{"lineNumber":636,"author":{"gitId":"-"},"content":" emailType, action);"},{"lineNumber":637,"author":{"gitId":"-"},"content":" }"},{"lineNumber":638,"author":{"gitId":"-"},"content":""},{"lineNumber":639,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":640,"author":{"gitId":"-"},"content":" * Generates deadline extension granted emails."},{"lineNumber":641,"author":{"gitId":"-"},"content":" */"},{"lineNumber":642,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateDeadlineGrantedEmails(Course course,"},{"lineNumber":643,"author":{"gitId":"-"},"content":" FeedbackSession session, Map\u003cString, Instant\u003e createdDeadlines, boolean areInstructors) {"},{"lineNumber":644,"author":{"gitId":"-"},"content":" return createdDeadlines.entrySet()"},{"lineNumber":645,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":646,"author":{"gitId":"-"},"content":" .map(entry -\u003e"},{"lineNumber":647,"author":{"gitId":"-"},"content":" generateDeadlineExtensionEmail(course, session,"},{"lineNumber":648,"author":{"gitId":"-"},"content":" session.getEndTime(), entry.getValue(), EmailType.DEADLINE_EXTENSION_GRANTED,"},{"lineNumber":649,"author":{"gitId":"-"},"content":" entry.getKey(), areInstructors))"},{"lineNumber":650,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":651,"author":{"gitId":"-"},"content":" }"},{"lineNumber":652,"author":{"gitId":"-"},"content":""},{"lineNumber":653,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":654,"author":{"gitId":"-"},"content":" * Generates deadline extension updated emails."},{"lineNumber":655,"author":{"gitId":"-"},"content":" */"},{"lineNumber":656,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateDeadlineUpdatedEmails(Course course, FeedbackSession session,"},{"lineNumber":657,"author":{"gitId":"-"},"content":" Map\u003cString, Instant\u003e updatedDeadlines, Map\u003cString, Instant\u003e oldDeadlines, boolean areInstructors) {"},{"lineNumber":658,"author":{"gitId":"-"},"content":" return updatedDeadlines.entrySet()"},{"lineNumber":659,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":660,"author":{"gitId":"-"},"content":" .map(entry -\u003e"},{"lineNumber":661,"author":{"gitId":"-"},"content":" generateDeadlineExtensionEmail(course, session,"},{"lineNumber":662,"author":{"gitId":"-"},"content":" oldDeadlines.get(entry.getKey()), entry.getValue(), EmailType.DEADLINE_EXTENSION_UPDATED,"},{"lineNumber":663,"author":{"gitId":"-"},"content":" entry.getKey(), areInstructors))"},{"lineNumber":664,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":665,"author":{"gitId":"-"},"content":" }"},{"lineNumber":666,"author":{"gitId":"-"},"content":""},{"lineNumber":667,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":668,"author":{"gitId":"-"},"content":" * Generates deadline extension revoked emails."},{"lineNumber":669,"author":{"gitId":"-"},"content":" */"},{"lineNumber":670,"author":{"gitId":"-"},"content":" public List\u003cEmailWrapper\u003e generateDeadlineRevokedEmails(Course course,"},{"lineNumber":671,"author":{"gitId":"-"},"content":" FeedbackSession session, Map\u003cString, Instant\u003e revokedDeadlines, boolean areInstructors) {"},{"lineNumber":672,"author":{"gitId":"-"},"content":" return revokedDeadlines.entrySet()"},{"lineNumber":673,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":674,"author":{"gitId":"-"},"content":" .map(entry -\u003e"},{"lineNumber":675,"author":{"gitId":"-"},"content":" generateDeadlineExtensionEmail(course, session,"},{"lineNumber":676,"author":{"gitId":"-"},"content":" entry.getValue(), session.getEndTime(), EmailType.DEADLINE_EXTENSION_REVOKED,"},{"lineNumber":677,"author":{"gitId":"-"},"content":" entry.getKey(), areInstructors))"},{"lineNumber":678,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":679,"author":{"gitId":"-"},"content":" }"},{"lineNumber":680,"author":{"gitId":"-"},"content":""},{"lineNumber":681,"author":{"gitId":"-"},"content":" private EmailWrapper generateDeadlineExtensionEmail("},{"lineNumber":682,"author":{"gitId":"-"},"content":" Course course, FeedbackSession session, Instant oldEndTime, Instant endTime,"},{"lineNumber":683,"author":{"gitId":"-"},"content":" EmailType emailType, String userEmail, boolean isInstructor) {"},{"lineNumber":684,"author":{"gitId":"-"},"content":" String status;"},{"lineNumber":685,"author":{"gitId":"-"},"content":""},{"lineNumber":686,"author":{"gitId":"-"},"content":" switch (emailType) {"},{"lineNumber":687,"author":{"gitId":"-"},"content":" case DEADLINE_EXTENSION_GRANTED:"},{"lineNumber":688,"author":{"gitId":"-"},"content":" status \u003d \"You have been granted a deadline extension for the following feedback session.\";"},{"lineNumber":689,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":690,"author":{"gitId":"-"},"content":" case DEADLINE_EXTENSION_UPDATED:"},{"lineNumber":691,"author":{"gitId":"-"},"content":" status \u003d \"Your deadline for the following feedback session has been updated.\";"},{"lineNumber":692,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":693,"author":{"gitId":"-"},"content":" case DEADLINE_EXTENSION_REVOKED:"},{"lineNumber":694,"author":{"gitId":"-"},"content":" status \u003d \"Your deadline extension for the following feedback session has been revoked.\";"},{"lineNumber":695,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":696,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":697,"author":{"gitId":"-"},"content":" throw new AssertionError(\"Invalid email type: \" + emailType);"},{"lineNumber":698,"author":{"gitId":"-"},"content":" }"},{"lineNumber":699,"author":{"gitId":"-"},"content":""},{"lineNumber":700,"author":{"gitId":"-"},"content":" String additionalContactInformation \u003d getAdditionalContactInformationFragment(course, isInstructor);"},{"lineNumber":701,"author":{"gitId":"-"},"content":" Instant oldEndTimeFormatted \u003d"},{"lineNumber":702,"author":{"gitId":"-"},"content":" TimeHelper.getMidnightAdjustedInstantBasedOnZone(oldEndTime, session.getCourse().getTimeZone(), false);"},{"lineNumber":703,"author":{"gitId":"-"},"content":" Instant newEndTimeFormatted \u003d"},{"lineNumber":704,"author":{"gitId":"-"},"content":" TimeHelper.getMidnightAdjustedInstantBasedOnZone(endTime, session.getCourse().getTimeZone(), false);"},{"lineNumber":705,"author":{"gitId":"-"},"content":" String template \u003d EmailTemplates.USER_DEADLINE_EXTENSION"},{"lineNumber":706,"author":{"gitId":"-"},"content":" .replace(\"${status}\", status)"},{"lineNumber":707,"author":{"gitId":"-"},"content":" .replace(\"${oldEndTime}\", SanitizationHelper.sanitizeForHtml("},{"lineNumber":708,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(oldEndTimeFormatted,"},{"lineNumber":709,"author":{"gitId":"-"},"content":" session.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT)))"},{"lineNumber":710,"author":{"gitId":"-"},"content":" .replace(\"${newEndTime}\", SanitizationHelper.sanitizeForHtml("},{"lineNumber":711,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(newEndTimeFormatted,"},{"lineNumber":712,"author":{"gitId":"-"},"content":" session.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT)));"},{"lineNumber":713,"author":{"gitId":"-"},"content":" String feedbackAction \u003d FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW;"},{"lineNumber":714,"author":{"gitId":"-"},"content":""},{"lineNumber":715,"author":{"gitId":"-"},"content":" if (isInstructor) {"},{"lineNumber":716,"author":{"gitId":"-"},"content":" Instructor instructor \u003d usersLogic.getInstructorForEmail(course.getId(), userEmail);"},{"lineNumber":717,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":718,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":719,"author":{"gitId":"-"},"content":" }"},{"lineNumber":720,"author":{"gitId":"-"},"content":" return generateFeedbackSessionEmailBaseForInstructors("},{"lineNumber":721,"author":{"gitId":"-"},"content":" course, session, instructor, template, emailType, feedbackAction, additionalContactInformation);"},{"lineNumber":722,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":723,"author":{"gitId":"-"},"content":" Student student \u003d usersLogic.getStudentForEmail(course.getId(), userEmail);"},{"lineNumber":724,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":725,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":726,"author":{"gitId":"-"},"content":" }"},{"lineNumber":727,"author":{"gitId":"-"},"content":" return generateFeedbackSessionEmailBaseForStudents("},{"lineNumber":728,"author":{"gitId":"-"},"content":" course, session, student, template, emailType, feedbackAction, additionalContactInformation);"},{"lineNumber":729,"author":{"gitId":"-"},"content":" }"},{"lineNumber":730,"author":{"gitId":"-"},"content":" }"},{"lineNumber":731,"author":{"gitId":"-"},"content":""},{"lineNumber":732,"author":{"gitId":"-"},"content":" private List\u003cEmailWrapper\u003e generateFeedbackSessionEmailBases("},{"lineNumber":733,"author":{"gitId":"-"},"content":" Course course, FeedbackSession session, List\u003cStudent\u003e students,"},{"lineNumber":734,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors, List\u003cInstructor\u003e instructorsToNotify, String template,"},{"lineNumber":735,"author":{"gitId":"-"},"content":" EmailType type, String feedbackAction) {"},{"lineNumber":736,"author":{"gitId":"-"},"content":" StringBuilder studentAdditionalContactBuilder \u003d new StringBuilder();"},{"lineNumber":737,"author":{"gitId":"-"},"content":" StringBuilder instructorAdditionalContactBuilder \u003d new StringBuilder();"},{"lineNumber":738,"author":{"gitId":"-"},"content":" studentAdditionalContactBuilder.append(getAdditionalContactInformationFragment(course, false));"},{"lineNumber":739,"author":{"gitId":"-"},"content":" instructorAdditionalContactBuilder.append(getAdditionalContactInformationFragment(course, true));"},{"lineNumber":740,"author":{"gitId":"-"},"content":""},{"lineNumber":741,"author":{"gitId":"-"},"content":" List\u003cEmailWrapper\u003e emails \u003d new ArrayList\u003c\u003e();"},{"lineNumber":742,"author":{"gitId":"-"},"content":" for (Student student : students) {"},{"lineNumber":743,"author":{"gitId":"-"},"content":" emails.add(generateFeedbackSessionEmailBaseForStudents(course, session, student,"},{"lineNumber":744,"author":{"gitId":"-"},"content":" template, type, feedbackAction, studentAdditionalContactBuilder.toString()));"},{"lineNumber":745,"author":{"gitId":"-"},"content":" }"},{"lineNumber":746,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":747,"author":{"gitId":"-"},"content":" emails.add(generateFeedbackSessionEmailBaseForInstructors(course, session, instructor,"},{"lineNumber":748,"author":{"gitId":"-"},"content":" template, type, feedbackAction, instructorAdditionalContactBuilder.toString()));"},{"lineNumber":749,"author":{"gitId":"-"},"content":" }"},{"lineNumber":750,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructorsToNotify) {"},{"lineNumber":751,"author":{"gitId":"-"},"content":" emails.add(generateFeedbackSessionEmailBaseForNotifiedInstructors(course, session, instructor,"},{"lineNumber":752,"author":{"gitId":"-"},"content":" template, type, feedbackAction, studentAdditionalContactBuilder.toString()));"},{"lineNumber":753,"author":{"gitId":"-"},"content":" }"},{"lineNumber":754,"author":{"gitId":"-"},"content":" return emails;"},{"lineNumber":755,"author":{"gitId":"-"},"content":" }"},{"lineNumber":756,"author":{"gitId":"-"},"content":""},{"lineNumber":757,"author":{"gitId":"-"},"content":" private EmailWrapper generateFeedbackSessionEmailBaseForStudents("},{"lineNumber":758,"author":{"gitId":"-"},"content":" Course course, FeedbackSession session, Student student, String template,"},{"lineNumber":759,"author":{"gitId":"-"},"content":" EmailType type, String feedbackAction, String additionalContactInformation) {"},{"lineNumber":760,"author":{"gitId":"-"},"content":" String submitUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_SUBMISSION_PAGE)"},{"lineNumber":761,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":762,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":763,"author":{"gitId":"-"},"content":" .withRegistrationKey(student.getRegKey())"},{"lineNumber":764,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":765,"author":{"gitId":"-"},"content":""},{"lineNumber":766,"author":{"gitId":"-"},"content":" String reportUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_RESULTS_PAGE)"},{"lineNumber":767,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":768,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":769,"author":{"gitId":"-"},"content":" .withRegistrationKey(student.getRegKey())"},{"lineNumber":770,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":771,"author":{"gitId":"-"},"content":""},{"lineNumber":772,"author":{"gitId":"-"},"content":" Instant deadline \u003d deLogic.getDeadlineForUser(session, student);"},{"lineNumber":773,"author":{"gitId":"-"},"content":""},{"lineNumber":774,"author":{"gitId":"-"},"content":" Instant endTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":775,"author":{"gitId":"-"},"content":" deadline, session.getCourse().getTimeZone(), false);"},{"lineNumber":776,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate(template,"},{"lineNumber":777,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(student.getName()),"},{"lineNumber":778,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":779,"author":{"gitId":"-"},"content":" \"${courseId}\", SanitizationHelper.sanitizeForHtml(course.getId()),"},{"lineNumber":780,"author":{"gitId":"-"},"content":" \"${feedbackSessionName}\", SanitizationHelper.sanitizeForHtml(session.getName()),"},{"lineNumber":781,"author":{"gitId":"-"},"content":" \"${deadline}\", SanitizationHelper.sanitizeForHtml("},{"lineNumber":782,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(endTime, session.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT))"},{"lineNumber":783,"author":{"gitId":"-"},"content":" + (session.getEndTime().equals(deadline) ? \"\" : \" (after extension)\"),"},{"lineNumber":784,"author":{"gitId":"-"},"content":" \"${instructorPreamble}\", \"\","},{"lineNumber":785,"author":{"gitId":"-"},"content":" \"${sessionInstructions}\", session.getInstructionsString(),"},{"lineNumber":786,"author":{"gitId":"-"},"content":" \"${submitUrl}\", submitUrl,"},{"lineNumber":787,"author":{"gitId":"-"},"content":" \"${reportUrl}\", reportUrl,"},{"lineNumber":788,"author":{"gitId":"-"},"content":" \"${feedbackAction}\", feedbackAction,"},{"lineNumber":789,"author":{"gitId":"-"},"content":" \"${additionalContactInformation}\", additionalContactInformation);"},{"lineNumber":790,"author":{"gitId":"-"},"content":""},{"lineNumber":791,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(student.getEmail());"},{"lineNumber":792,"author":{"gitId":"-"},"content":" email.setType(type);"},{"lineNumber":793,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), session.getName());"},{"lineNumber":794,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":795,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":796,"author":{"gitId":"-"},"content":" }"},{"lineNumber":797,"author":{"gitId":"-"},"content":""},{"lineNumber":798,"author":{"gitId":"-"},"content":" private EmailWrapper generateFeedbackSessionEmailBaseForInstructors("},{"lineNumber":799,"author":{"gitId":"-"},"content":" Course course, FeedbackSession session, Instructor instructor,"},{"lineNumber":800,"author":{"gitId":"-"},"content":" String template, EmailType type, String feedbackAction, String additionalContactInformation) {"},{"lineNumber":801,"author":{"gitId":"-"},"content":" String submitUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_SUBMISSION_PAGE)"},{"lineNumber":802,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":803,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":804,"author":{"gitId":"-"},"content":" .withRegistrationKey(instructor.getRegKey())"},{"lineNumber":805,"author":{"gitId":"-"},"content":" .withEntityType(Const.EntityType.INSTRUCTOR)"},{"lineNumber":806,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":807,"author":{"gitId":"-"},"content":""},{"lineNumber":808,"author":{"gitId":"-"},"content":" String reportUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.SESSION_RESULTS_PAGE)"},{"lineNumber":809,"author":{"gitId":"-"},"content":" .withCourseId(course.getId())"},{"lineNumber":810,"author":{"gitId":"-"},"content":" .withSessionName(session.getName())"},{"lineNumber":811,"author":{"gitId":"-"},"content":" .withRegistrationKey(instructor.getRegKey())"},{"lineNumber":812,"author":{"gitId":"-"},"content":" .withEntityType(Const.EntityType.INSTRUCTOR)"},{"lineNumber":813,"author":{"gitId":"-"},"content":" .toAbsoluteString();"},{"lineNumber":814,"author":{"gitId":"-"},"content":""},{"lineNumber":815,"author":{"gitId":"-"},"content":" Instant deadline \u003d deLogic.getDeadlineForUser(session, instructor);"},{"lineNumber":816,"author":{"gitId":"-"},"content":""},{"lineNumber":817,"author":{"gitId":"-"},"content":" Instant endTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":818,"author":{"gitId":"-"},"content":" deadline, session.getCourse().getTimeZone(), false);"},{"lineNumber":819,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate(template,"},{"lineNumber":820,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(instructor.getName()),"},{"lineNumber":821,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":822,"author":{"gitId":"-"},"content":" \"${courseId}\", SanitizationHelper.sanitizeForHtml(course.getId()),"},{"lineNumber":823,"author":{"gitId":"-"},"content":" \"${feedbackSessionName}\", SanitizationHelper.sanitizeForHtml(session.getName()),"},{"lineNumber":824,"author":{"gitId":"-"},"content":" \"${deadline}\", SanitizationHelper.sanitizeForHtml("},{"lineNumber":825,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(endTime, session.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT))"},{"lineNumber":826,"author":{"gitId":"-"},"content":" + (session.getEndTime().equals(deadline) ? \"\" : \" (after extension)\"),"},{"lineNumber":827,"author":{"gitId":"-"},"content":" \"${instructorPreamble}\", \"\","},{"lineNumber":828,"author":{"gitId":"-"},"content":" \"${sessionInstructions}\", session.getInstructionsString(),"},{"lineNumber":829,"author":{"gitId":"-"},"content":" \"${submitUrl}\", submitUrl,"},{"lineNumber":830,"author":{"gitId":"-"},"content":" \"${reportUrl}\", reportUrl,"},{"lineNumber":831,"author":{"gitId":"-"},"content":" \"${feedbackAction}\", feedbackAction,"},{"lineNumber":832,"author":{"gitId":"-"},"content":" \"${additionalContactInformation}\", additionalContactInformation);"},{"lineNumber":833,"author":{"gitId":"-"},"content":""},{"lineNumber":834,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(instructor.getEmail());"},{"lineNumber":835,"author":{"gitId":"-"},"content":" email.setType(type);"},{"lineNumber":836,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), session.getName());"},{"lineNumber":837,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":838,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":839,"author":{"gitId":"-"},"content":" }"},{"lineNumber":840,"author":{"gitId":"-"},"content":""},{"lineNumber":841,"author":{"gitId":"-"},"content":" private EmailWrapper generateFeedbackSessionEmailBaseForNotifiedInstructors("},{"lineNumber":842,"author":{"gitId":"-"},"content":" Course course, FeedbackSession session, Instructor instructor,"},{"lineNumber":843,"author":{"gitId":"-"},"content":" String template, EmailType type, String feedbackAction, String additionalContactInformation) {"},{"lineNumber":844,"author":{"gitId":"-"},"content":""},{"lineNumber":845,"author":{"gitId":"-"},"content":" Instant endTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":846,"author":{"gitId":"-"},"content":" session.getEndTime(), session.getCourse().getTimeZone(), false);"},{"lineNumber":847,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate(template,"},{"lineNumber":848,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(instructor.getName()),"},{"lineNumber":849,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":850,"author":{"gitId":"-"},"content":" \"${courseId}\", SanitizationHelper.sanitizeForHtml(course.getId()),"},{"lineNumber":851,"author":{"gitId":"-"},"content":" \"${feedbackSessionName}\", SanitizationHelper.sanitizeForHtml(session.getName()),"},{"lineNumber":852,"author":{"gitId":"-"},"content":" \"${deadline}\", SanitizationHelper.sanitizeForHtml("},{"lineNumber":853,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(endTime, session.getCourse().getTimeZone(), DATETIME_DISPLAY_FORMAT)),"},{"lineNumber":854,"author":{"gitId":"-"},"content":" \"${instructorPreamble}\", fillUpInstructorPreamble(course),"},{"lineNumber":855,"author":{"gitId":"-"},"content":" \"${sessionInstructions}\", session.getInstructionsString(),"},{"lineNumber":856,"author":{"gitId":"-"},"content":" \"${submitUrl}\", \"{in the actual email sent to the students, this will be the unique link}\","},{"lineNumber":857,"author":{"gitId":"-"},"content":" \"${reportUrl}\", \"{in the actual email sent to the students, this will be the unique link}\","},{"lineNumber":858,"author":{"gitId":"-"},"content":" \"${feedbackAction}\", feedbackAction,"},{"lineNumber":859,"author":{"gitId":"-"},"content":" \"${additionalContactInformation}\", additionalContactInformation);"},{"lineNumber":860,"author":{"gitId":"-"},"content":""},{"lineNumber":861,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(instructor.getEmail());"},{"lineNumber":862,"author":{"gitId":"-"},"content":" email.setType(type);"},{"lineNumber":863,"author":{"gitId":"-"},"content":" email.setIsCopy(true);"},{"lineNumber":864,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), session.getName());"},{"lineNumber":865,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":866,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":867,"author":{"gitId":"-"},"content":" }"},{"lineNumber":868,"author":{"gitId":"-"},"content":""},{"lineNumber":869,"author":{"gitId":"-"},"content":" private boolean isYetToJoinCourse(Student student) {"},{"lineNumber":870,"author":{"gitId":"-"},"content":" return student.getAccount() \u003d\u003d null || student.getAccount().getGoogleId().isEmpty();"},{"lineNumber":871,"author":{"gitId":"-"},"content":" }"},{"lineNumber":872,"author":{"gitId":"-"},"content":""},{"lineNumber":873,"author":{"gitId":"-"},"content":" private boolean isYetToJoinCourse(Instructor instructor) {"},{"lineNumber":874,"author":{"gitId":"-"},"content":" return instructor.getAccount() \u003d\u003d null || instructor.getAccount().getGoogleId().isEmpty();"},{"lineNumber":875,"author":{"gitId":"-"},"content":" }"},{"lineNumber":876,"author":{"gitId":"-"},"content":""},{"lineNumber":877,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":878,"author":{"gitId":"-"},"content":" * Generates the new instructor account join email for the given {@code instructor}."},{"lineNumber":879,"author":{"gitId":"-"},"content":" */"},{"lineNumber":880,"author":{"gitId":"-"},"content":" public EmailWrapper generateNewInstructorAccountJoinEmail("},{"lineNumber":881,"author":{"gitId":"-"},"content":" String instructorEmail, String instructorName, String joinUrl) {"},{"lineNumber":882,"author":{"gitId":"-"},"content":""},{"lineNumber":883,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate(EmailTemplates.NEW_INSTRUCTOR_ACCOUNT_WELCOME,"},{"lineNumber":884,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(instructorName),"},{"lineNumber":885,"author":{"gitId":"-"},"content":" \"${joinUrl}\", joinUrl);"},{"lineNumber":886,"author":{"gitId":"-"},"content":""},{"lineNumber":887,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(instructorEmail);"},{"lineNumber":888,"author":{"gitId":"-"},"content":" email.setBcc(Config.SUPPORT_EMAIL);"},{"lineNumber":889,"author":{"gitId":"-"},"content":" email.setType(EmailType.NEW_INSTRUCTOR_ACCOUNT);"},{"lineNumber":890,"author":{"gitId":"-"},"content":" email.setSubjectFromType(SanitizationHelper.sanitizeForHtml(instructorName));"},{"lineNumber":891,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":892,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":893,"author":{"gitId":"-"},"content":" }"},{"lineNumber":894,"author":{"gitId":"-"},"content":""},{"lineNumber":895,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":896,"author":{"gitId":"-"},"content":" * Generates the course join email for the given {@code student} in {@code course}."},{"lineNumber":897,"author":{"gitId":"-"},"content":" */"},{"lineNumber":898,"author":{"gitId":"-"},"content":" public EmailWrapper generateStudentCourseJoinEmail(Course course, Student student) {"},{"lineNumber":899,"author":{"gitId":"-"},"content":""},{"lineNumber":900,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate("},{"lineNumber":901,"author":{"gitId":"-"},"content":" fillUpStudentJoinFragment(student),"},{"lineNumber":902,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(student.getName()),"},{"lineNumber":903,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":904,"author":{"gitId":"-"},"content":" \"${coOwnersEmails}\", generateCoOwnersEmailsLine(course.getId()),"},{"lineNumber":905,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":906,"author":{"gitId":"-"},"content":""},{"lineNumber":907,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(student.getEmail());"},{"lineNumber":908,"author":{"gitId":"-"},"content":" email.setType(EmailType.STUDENT_COURSE_JOIN);"},{"lineNumber":909,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), course.getId());"},{"lineNumber":910,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":911,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":912,"author":{"gitId":"-"},"content":" }"},{"lineNumber":913,"author":{"gitId":"-"},"content":""},{"lineNumber":914,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":915,"author":{"gitId":"-"},"content":" * Generates the course re-join email for the given {@code student} in {@code course}."},{"lineNumber":916,"author":{"gitId":"-"},"content":" */"},{"lineNumber":917,"author":{"gitId":"-"},"content":" public EmailWrapper generateStudentCourseRejoinEmailAfterGoogleIdReset("},{"lineNumber":918,"author":{"gitId":"-"},"content":" Course course, Student student) {"},{"lineNumber":919,"author":{"gitId":"-"},"content":""},{"lineNumber":920,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate("},{"lineNumber":921,"author":{"gitId":"-"},"content":" fillUpStudentRejoinAfterGoogleIdResetFragment(student),"},{"lineNumber":922,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(student.getName()),"},{"lineNumber":923,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":924,"author":{"gitId":"-"},"content":" \"${coOwnersEmails}\", generateCoOwnersEmailsLine(course.getId()),"},{"lineNumber":925,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":926,"author":{"gitId":"-"},"content":""},{"lineNumber":927,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(student.getEmail());"},{"lineNumber":928,"author":{"gitId":"-"},"content":" email.setType(EmailType.STUDENT_COURSE_REJOIN_AFTER_GOOGLE_ID_RESET);"},{"lineNumber":929,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), course.getId());"},{"lineNumber":930,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":931,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":932,"author":{"gitId":"-"},"content":" }"},{"lineNumber":933,"author":{"gitId":"-"},"content":""},{"lineNumber":934,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":935,"author":{"gitId":"-"},"content":" * Generates the course join email for the given {@code instructor} in {@code course}."},{"lineNumber":936,"author":{"gitId":"-"},"content":" * Also specifies contact information of {@code inviter}."},{"lineNumber":937,"author":{"gitId":"-"},"content":" */"},{"lineNumber":938,"author":{"gitId":"-"},"content":" public EmailWrapper generateInstructorCourseJoinEmail(Account inviter,"},{"lineNumber":939,"author":{"gitId":"-"},"content":" Instructor instructor, Course course) {"},{"lineNumber":940,"author":{"gitId":"-"},"content":""},{"lineNumber":941,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate("},{"lineNumber":942,"author":{"gitId":"-"},"content":" fillUpInstructorJoinFragment(instructor),"},{"lineNumber":943,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(instructor.getName()),"},{"lineNumber":944,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":945,"author":{"gitId":"-"},"content":" \"${inviterName}\", SanitizationHelper.sanitizeForHtml(inviter.getName()),"},{"lineNumber":946,"author":{"gitId":"-"},"content":" \"${inviterEmail}\", SanitizationHelper.sanitizeForHtml(inviter.getEmail()),"},{"lineNumber":947,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":948,"author":{"gitId":"-"},"content":""},{"lineNumber":949,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(instructor.getEmail());"},{"lineNumber":950,"author":{"gitId":"-"},"content":" email.setType(EmailType.INSTRUCTOR_COURSE_JOIN);"},{"lineNumber":951,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), course.getId());"},{"lineNumber":952,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":953,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":954,"author":{"gitId":"-"},"content":" }"},{"lineNumber":955,"author":{"gitId":"-"},"content":""},{"lineNumber":956,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":957,"author":{"gitId":"-"},"content":" * Generates the course re-join email for the given {@code instructor} in {@code course}."},{"lineNumber":958,"author":{"gitId":"-"},"content":" */"},{"lineNumber":959,"author":{"gitId":"-"},"content":" public EmailWrapper generateInstructorCourseRejoinEmailAfterGoogleIdReset("},{"lineNumber":960,"author":{"gitId":"-"},"content":" Instructor instructor, Course course) {"},{"lineNumber":961,"author":{"gitId":"-"},"content":""},{"lineNumber":962,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate("},{"lineNumber":963,"author":{"gitId":"-"},"content":" fillUpInstructorRejoinAfterGoogleIdResetFragment(instructor),"},{"lineNumber":964,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(instructor.getName()),"},{"lineNumber":965,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":966,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":967,"author":{"gitId":"-"},"content":""},{"lineNumber":968,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(instructor.getEmail());"},{"lineNumber":969,"author":{"gitId":"-"},"content":" email.setType(EmailType.INSTRUCTOR_COURSE_REJOIN_AFTER_GOOGLE_ID_RESET);"},{"lineNumber":970,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), course.getId());"},{"lineNumber":971,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":972,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":973,"author":{"gitId":"-"},"content":" }"},{"lineNumber":974,"author":{"gitId":"-"},"content":""},{"lineNumber":975,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":976,"author":{"gitId":"-"},"content":" * Generates the email to alert the admin of the new {@code accountRequest}."},{"lineNumber":977,"author":{"gitId":"-"},"content":" */"},{"lineNumber":978,"author":{"gitId":"-"},"content":" public EmailWrapper generateNewAccountRequestAdminAlertEmail(AccountRequest accountRequest) {"},{"lineNumber":979,"author":{"gitId":"-"},"content":" String name \u003d accountRequest.getName();"},{"lineNumber":980,"author":{"gitId":"-"},"content":" String institute \u003d accountRequest.getInstitute();"},{"lineNumber":981,"author":{"gitId":"-"},"content":" String emailAddress \u003d accountRequest.getEmail();"},{"lineNumber":982,"author":{"gitId":"-"},"content":" String comments \u003d accountRequest.getComments();"},{"lineNumber":983,"author":{"gitId":"-"},"content":" if (comments \u003d\u003d null) {"},{"lineNumber":984,"author":{"gitId":"-"},"content":" comments \u003d \"\";"},{"lineNumber":985,"author":{"gitId":"-"},"content":" }"},{"lineNumber":986,"author":{"gitId":"-"},"content":" String adminAccountRequestsPageUrl \u003d Config.getFrontEndAppUrl(Const.WebPageURIs.ADMIN_HOME_PAGE).toAbsoluteString();"},{"lineNumber":987,"author":{"gitId":"-"},"content":" String[] templateKeyValuePairs \u003d new String[] {"},{"lineNumber":988,"author":{"gitId":"-"},"content":" \"${name}\", name,"},{"lineNumber":989,"author":{"gitId":"-"},"content":" \"${institute}\", institute,"},{"lineNumber":990,"author":{"gitId":"-"},"content":" \"${emailAddress}\", emailAddress,"},{"lineNumber":991,"author":{"gitId":"-"},"content":" \"${comments}\", comments,"},{"lineNumber":992,"author":{"gitId":"-"},"content":" \"${adminAccountRequestsPageUrl}\", adminAccountRequestsPageUrl,"},{"lineNumber":993,"author":{"gitId":"-"},"content":" };"},{"lineNumber":994,"author":{"gitId":"-"},"content":" String content \u003d Templates.populateTemplate(EmailTemplates.ADMIN_NEW_ACCOUNT_REQUEST_ALERT, templateKeyValuePairs);"},{"lineNumber":995,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(Config.SUPPORT_EMAIL);"},{"lineNumber":996,"author":{"gitId":"-"},"content":" email.setType(EmailType.NEW_ACCOUNT_REQUEST_ADMIN_ALERT);"},{"lineNumber":997,"author":{"gitId":"-"},"content":" email.setSubjectFromType();"},{"lineNumber":998,"author":{"gitId":"-"},"content":" email.setContent(content);"},{"lineNumber":999,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":1000,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1001,"author":{"gitId":"-"},"content":""},{"lineNumber":1002,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1003,"author":{"gitId":"xenosf"},"content":" * Generates the acknowledgement email to be sent to the person who submitted {@code accountRequest}."},{"lineNumber":1004,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1005,"author":{"gitId":"xenosf"},"content":" public EmailWrapper generateNewAccountRequestAcknowledgementEmail(AccountRequest accountRequest) {"},{"lineNumber":1006,"author":{"gitId":"xenosf"},"content":" String name \u003d SanitizationHelper.sanitizeForHtml(accountRequest.getName());"},{"lineNumber":1007,"author":{"gitId":"xenosf"},"content":" String institute \u003d SanitizationHelper.sanitizeForHtml(accountRequest.getInstitute());"},{"lineNumber":1008,"author":{"gitId":"xenosf"},"content":" String emailAddress \u003d SanitizationHelper.sanitizeForHtml(accountRequest.getEmail());"},{"lineNumber":1009,"author":{"gitId":"xenosf"},"content":" String comments \u003d SanitizationHelper.sanitizeForHtml(accountRequest.getComments());"},{"lineNumber":1010,"author":{"gitId":"xenosf"},"content":" if (comments \u003d\u003d null) {"},{"lineNumber":1011,"author":{"gitId":"xenosf"},"content":" comments \u003d \"\";"},{"lineNumber":1012,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1013,"author":{"gitId":"xenosf"},"content":" String[] templateKeyValuePairs \u003d new String[] {"},{"lineNumber":1014,"author":{"gitId":"xenosf"},"content":" \"${name}\", name,"},{"lineNumber":1015,"author":{"gitId":"xenosf"},"content":" \"${institute}\", institute,"},{"lineNumber":1016,"author":{"gitId":"xenosf"},"content":" \"${emailAddress}\", emailAddress,"},{"lineNumber":1017,"author":{"gitId":"xenosf"},"content":" \"${comments}\", comments,"},{"lineNumber":1018,"author":{"gitId":"xenosf"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL,"},{"lineNumber":1019,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":1020,"author":{"gitId":"xenosf"},"content":" String content \u003d Templates.populateTemplate("},{"lineNumber":1021,"author":{"gitId":"xenosf"},"content":" EmailTemplates.INSTRUCTOR_NEW_ACCOUNT_REQUEST_ACKNOWLEDGEMENT, templateKeyValuePairs);"},{"lineNumber":1022,"author":{"gitId":"xenosf"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(emailAddress);"},{"lineNumber":1023,"author":{"gitId":"xenosf"},"content":" email.setType(EmailType.NEW_ACCOUNT_REQUEST_ACKNOWLEDGEMENT);"},{"lineNumber":1024,"author":{"gitId":"xenosf"},"content":" email.setBcc(Config.SUPPORT_EMAIL);"},{"lineNumber":1025,"author":{"gitId":"xenosf"},"content":" email.setSubjectFromType();"},{"lineNumber":1026,"author":{"gitId":"xenosf"},"content":" email.setContent(content);"},{"lineNumber":1027,"author":{"gitId":"xenosf"},"content":" return email;"},{"lineNumber":1028,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1029,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1030,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1031,"author":{"gitId":"-"},"content":" * Generates the email to be sent to instructor when their account request has been rejected by admin."},{"lineNumber":1032,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1033,"author":{"gitId":"-"},"content":" public EmailWrapper generateAccountRequestRejectionEmail(AccountRequest accountRequest, String title, String content) {"},{"lineNumber":1034,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(accountRequest.getEmail());"},{"lineNumber":1035,"author":{"gitId":"-"},"content":" email.setType(EmailType.ACCOUNT_REQUEST_REJECTION);"},{"lineNumber":1036,"author":{"gitId":"-"},"content":" email.setBcc(Config.SUPPORT_EMAIL);"},{"lineNumber":1037,"author":{"gitId":"-"},"content":" email.setSubjectFromType(SanitizationHelper.sanitizeTitle(title));"},{"lineNumber":1038,"author":{"gitId":"-"},"content":" email.setContent(SanitizationHelper.sanitizeForRichText(content));"},{"lineNumber":1039,"author":{"gitId":"-"},"content":""},{"lineNumber":1040,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":1041,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1042,"author":{"gitId":"-"},"content":""},{"lineNumber":1043,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1044,"author":{"gitId":"-"},"content":" * Generates the course registered email for the user with the given details in {@code course}."},{"lineNumber":1045,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1046,"author":{"gitId":"-"},"content":" public EmailWrapper generateUserCourseRegisteredEmail("},{"lineNumber":1047,"author":{"gitId":"-"},"content":" String name, String emailAddress, String googleId, boolean isInstructor, Course course) {"},{"lineNumber":1048,"author":{"gitId":"-"},"content":" String emailBody \u003d Templates.populateTemplate(EmailTemplates.USER_COURSE_REGISTER,"},{"lineNumber":1049,"author":{"gitId":"-"},"content":" \"${userName}\", SanitizationHelper.sanitizeForHtml(name),"},{"lineNumber":1050,"author":{"gitId":"-"},"content":" \"${userType}\", isInstructor ? \"an instructor\" : \"a student\","},{"lineNumber":1051,"author":{"gitId":"-"},"content":" \"${courseId}\", SanitizationHelper.sanitizeForHtml(course.getId()),"},{"lineNumber":1052,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()),"},{"lineNumber":1053,"author":{"gitId":"-"},"content":" \"${googleId}\", SanitizationHelper.sanitizeForHtml(googleId),"},{"lineNumber":1054,"author":{"gitId":"-"},"content":" \"${appUrl}\", isInstructor"},{"lineNumber":1055,"author":{"gitId":"-"},"content":" ? Config.getFrontEndAppUrl(Const.WebPageURIs.INSTRUCTOR_HOME_PAGE).toAbsoluteString()"},{"lineNumber":1056,"author":{"gitId":"-"},"content":" : Config.getFrontEndAppUrl(Const.WebPageURIs.STUDENT_HOME_PAGE).toAbsoluteString(),"},{"lineNumber":1057,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":1058,"author":{"gitId":"-"},"content":""},{"lineNumber":1059,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(emailAddress);"},{"lineNumber":1060,"author":{"gitId":"-"},"content":" email.setType(EmailType.USER_COURSE_REGISTER);"},{"lineNumber":1061,"author":{"gitId":"-"},"content":" email.setSubjectFromType(course.getName(), course.getId());"},{"lineNumber":1062,"author":{"gitId":"-"},"content":" email.setContent(emailBody);"},{"lineNumber":1063,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":1064,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1065,"author":{"gitId":"-"},"content":""},{"lineNumber":1066,"author":{"gitId":"-"},"content":" private String fillUpStudentJoinFragment(Student student) {"},{"lineNumber":1067,"author":{"gitId":"-"},"content":" String joinUrl \u003d Config.getFrontEndAppUrl(student.getRegistrationUrl()).toAbsoluteString();"},{"lineNumber":1068,"author":{"gitId":"-"},"content":""},{"lineNumber":1069,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.USER_COURSE_JOIN,"},{"lineNumber":1070,"author":{"gitId":"-"},"content":" \"${joinFragment}\", EmailTemplates.FRAGMENT_STUDENT_COURSE_JOIN,"},{"lineNumber":1071,"author":{"gitId":"-"},"content":" \"${joinUrl}\", joinUrl);"},{"lineNumber":1072,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1073,"author":{"gitId":"-"},"content":""},{"lineNumber":1074,"author":{"gitId":"-"},"content":" private String fillUpStudentRejoinAfterGoogleIdResetFragment(Student student) {"},{"lineNumber":1075,"author":{"gitId":"-"},"content":" String joinUrl \u003d Config.getFrontEndAppUrl(student.getRegistrationUrl()).toAbsoluteString();"},{"lineNumber":1076,"author":{"gitId":"-"},"content":""},{"lineNumber":1077,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.USER_COURSE_JOIN,"},{"lineNumber":1078,"author":{"gitId":"-"},"content":" \"${joinFragment}\", EmailTemplates.FRAGMENT_STUDENT_COURSE_REJOIN_AFTER_GOOGLE_ID_RESET,"},{"lineNumber":1079,"author":{"gitId":"-"},"content":" \"${joinUrl}\", joinUrl,"},{"lineNumber":1080,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":1081,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1082,"author":{"gitId":"-"},"content":""},{"lineNumber":1083,"author":{"gitId":"-"},"content":" private String getInstructorCourseJoinUrl(Instructor instructor) {"},{"lineNumber":1084,"author":{"gitId":"-"},"content":" return Config.getFrontEndAppUrl(instructor.getRegistrationUrl()).toAbsoluteString();"},{"lineNumber":1085,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1086,"author":{"gitId":"-"},"content":""},{"lineNumber":1087,"author":{"gitId":"-"},"content":" private String fillUpInstructorJoinFragment(Instructor instructor) {"},{"lineNumber":1088,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.USER_COURSE_JOIN,"},{"lineNumber":1089,"author":{"gitId":"-"},"content":" \"${joinFragment}\", EmailTemplates.FRAGMENT_INSTRUCTOR_COURSE_JOIN,"},{"lineNumber":1090,"author":{"gitId":"-"},"content":" \"${joinUrl}\", getInstructorCourseJoinUrl(instructor));"},{"lineNumber":1091,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1092,"author":{"gitId":"-"},"content":""},{"lineNumber":1093,"author":{"gitId":"-"},"content":" private String fillUpInstructorRejoinAfterGoogleIdResetFragment(Instructor instructor) {"},{"lineNumber":1094,"author":{"gitId":"-"},"content":" String joinUrl \u003d Config.getFrontEndAppUrl(instructor.getRegistrationUrl()).toAbsoluteString();"},{"lineNumber":1095,"author":{"gitId":"-"},"content":""},{"lineNumber":1096,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.USER_COURSE_JOIN,"},{"lineNumber":1097,"author":{"gitId":"-"},"content":" \"${joinFragment}\", EmailTemplates.FRAGMENT_INSTRUCTOR_COURSE_REJOIN_AFTER_GOOGLE_ID_RESET,"},{"lineNumber":1098,"author":{"gitId":"-"},"content":" \"${joinUrl}\", joinUrl,"},{"lineNumber":1099,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":1100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1101,"author":{"gitId":"-"},"content":""},{"lineNumber":1102,"author":{"gitId":"-"},"content":" private String fillUpInstructorPreamble(Course course) {"},{"lineNumber":1103,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.FRAGMENT_INSTRUCTOR_COPY_PREAMBLE,"},{"lineNumber":1104,"author":{"gitId":"-"},"content":" \"${courseId}\", SanitizationHelper.sanitizeForHtml(course.getId()),"},{"lineNumber":1105,"author":{"gitId":"-"},"content":" \"${courseName}\", SanitizationHelper.sanitizeForHtml(course.getName()));"},{"lineNumber":1106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1107,"author":{"gitId":"-"},"content":""},{"lineNumber":1108,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1109,"author":{"gitId":"-"},"content":" * Generates the logs compilation email for the given {@code logs}."},{"lineNumber":1110,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1111,"author":{"gitId":"-"},"content":" public EmailWrapper generateCompiledLogsEmail(List\u003cErrorLogEntry\u003e logs) {"},{"lineNumber":1112,"author":{"gitId":"-"},"content":" StringBuilder emailBody \u003d new StringBuilder();"},{"lineNumber":1113,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c logs.size(); i++) {"},{"lineNumber":1114,"author":{"gitId":"-"},"content":" emailBody.append(generateSevereErrorLogLine(i, logs.get(i).getMessage(),"},{"lineNumber":1115,"author":{"gitId":"-"},"content":" logs.get(i).getSeverity(), logs.get(i).getTraceId()));"},{"lineNumber":1116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1117,"author":{"gitId":"-"},"content":""},{"lineNumber":1118,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d getEmptyEmailAddressedToEmail(Config.SUPPORT_EMAIL);"},{"lineNumber":1119,"author":{"gitId":"-"},"content":" email.setType(EmailType.SEVERE_LOGS_COMPILATION);"},{"lineNumber":1120,"author":{"gitId":"-"},"content":" email.setSubjectFromType(Config.APP_VERSION);"},{"lineNumber":1121,"author":{"gitId":"-"},"content":" email.setContent(emailBody.toString());"},{"lineNumber":1122,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":1123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1124,"author":{"gitId":"-"},"content":""},{"lineNumber":1125,"author":{"gitId":"-"},"content":" private String generateSevereErrorLogLine(int index, String logMessage, String logLevel, String traceId) {"},{"lineNumber":1126,"author":{"gitId":"-"},"content":" return Templates.populateTemplate("},{"lineNumber":1127,"author":{"gitId":"-"},"content":" EmailTemplates.SEVERE_ERROR_LOG_LINE,"},{"lineNumber":1128,"author":{"gitId":"-"},"content":" \"${index}\", String.valueOf(index),"},{"lineNumber":1129,"author":{"gitId":"-"},"content":" \"${errorType}\", logLevel,"},{"lineNumber":1130,"author":{"gitId":"-"},"content":" \"${errorMessage}\", logMessage.replaceAll(\"\\n\", \"\\n\u003cbr\u003e\"),"},{"lineNumber":1131,"author":{"gitId":"-"},"content":" \"${traceId}\", traceId);"},{"lineNumber":1132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1133,"author":{"gitId":"-"},"content":""},{"lineNumber":1134,"author":{"gitId":"-"},"content":" private EmailWrapper getEmptyEmailAddressedToEmail(String recipient) {"},{"lineNumber":1135,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d new EmailWrapper();"},{"lineNumber":1136,"author":{"gitId":"-"},"content":" email.setRecipient(recipient);"},{"lineNumber":1137,"author":{"gitId":"-"},"content":" email.setSenderEmail(Config.EMAIL_SENDEREMAIL);"},{"lineNumber":1138,"author":{"gitId":"-"},"content":" email.setSenderName(Config.EMAIL_SENDERNAME);"},{"lineNumber":1139,"author":{"gitId":"-"},"content":" email.setReplyTo(Config.EMAIL_REPLYTO);"},{"lineNumber":1140,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":1141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1142,"author":{"gitId":"-"},"content":""},{"lineNumber":1143,"author":{"gitId":"-"},"content":" private String generateCoOwnersEmailsLine(String courseId) {"},{"lineNumber":1144,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e coOwners \u003d usersLogic.getCoOwnersForCourse(courseId);"},{"lineNumber":1145,"author":{"gitId":"-"},"content":" if (coOwners.isEmpty()) {"},{"lineNumber":1146,"author":{"gitId":"-"},"content":" return \"(No contactable instructors found)\";"},{"lineNumber":1147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1148,"author":{"gitId":"-"},"content":" StringBuilder coOwnersEmailsLine \u003d new StringBuilder();"},{"lineNumber":1149,"author":{"gitId":"-"},"content":" for (Instructor coOwner : coOwners) {"},{"lineNumber":1150,"author":{"gitId":"-"},"content":" coOwnersEmailsLine"},{"lineNumber":1151,"author":{"gitId":"-"},"content":" .append(SanitizationHelper.sanitizeForHtml(coOwner.getName()))"},{"lineNumber":1152,"author":{"gitId":"-"},"content":" .append(\" (\")"},{"lineNumber":1153,"author":{"gitId":"-"},"content":" .append(coOwner.getEmail())"},{"lineNumber":1154,"author":{"gitId":"-"},"content":" .append(\"), \");"},{"lineNumber":1155,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1156,"author":{"gitId":"-"},"content":" return coOwnersEmailsLine.substring(0, coOwnersEmailsLine.length() - 2);"},{"lineNumber":1157,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1158,"author":{"gitId":"-"},"content":""},{"lineNumber":1159,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1160,"author":{"gitId":"-"},"content":" * Generates additional contact information for User Email Templates."},{"lineNumber":1161,"author":{"gitId":"-"},"content":" * @return The contact information after replacing the placeholders."},{"lineNumber":1162,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1163,"author":{"gitId":"-"},"content":" private String getAdditionalContactInformationFragment(Course course, boolean isInstructor) {"},{"lineNumber":1164,"author":{"gitId":"-"},"content":" String particulars \u003d isInstructor ? \"instructor data (e.g. wrong permission, misspelled name)\""},{"lineNumber":1165,"author":{"gitId":"-"},"content":" : \"team/student data (e.g. wrong team, misspelled name)\";"},{"lineNumber":1166,"author":{"gitId":"-"},"content":" return Templates.populateTemplate(EmailTemplates.FRAGMENT_SESSION_ADDITIONAL_CONTACT_INFORMATION,"},{"lineNumber":1167,"author":{"gitId":"-"},"content":" \"${particulars}\", particulars,"},{"lineNumber":1168,"author":{"gitId":"-"},"content":" \"${coOwnersEmails}\", generateCoOwnersEmailsLine(course.getId()),"},{"lineNumber":1169,"author":{"gitId":"-"},"content":" \"${supportEmail}\", Config.SUPPORT_EMAIL);"},{"lineNumber":1170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1171,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":28,"-":1143}},{"path":"src/main/java/teammates/sqllogic/core/AccountRequestsLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountRequestsDb;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.AccountRequestSearchManager;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Handles operations related to account requests."},{"lineNumber":17,"author":{"gitId":"-"},"content":" *"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * @see AccountRequest"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * @see AccountRequestsDb"},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public final class AccountRequestsLogic {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final AccountRequestsLogic instance \u003d new AccountRequestsLogic();"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" private AccountRequestsDb accountRequestDb;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" private AccountRequestsLogic() {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" // prevent notification"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" public static AccountRequestsLogic inst() {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":36,"author":{"gitId":"-"},"content":" * Initialise dependencies for {@code AccountRequestLogic} object."},{"lineNumber":37,"author":{"gitId":"-"},"content":" */"},{"lineNumber":38,"author":{"gitId":"-"},"content":" public void initLogicDependencies(AccountRequestsDb accountRequestDb) {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" this.accountRequestDb \u003d accountRequestDb;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" private AccountRequestSearchManager getSearchManager() {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" return accountRequestDb.getSearchManager();"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Creates or updates search document for the given account request."},{"lineNumber":48,"author":{"gitId":"-"},"content":" */"},{"lineNumber":49,"author":{"gitId":"-"},"content":" public void putDocument(AccountRequest accountRequest) throws SearchServiceException {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" getSearchManager().putDocument(accountRequest);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":54,"author":{"gitId":"-"},"content":" * Creates an account request."},{"lineNumber":55,"author":{"gitId":"-"},"content":" */"},{"lineNumber":56,"author":{"gitId":"-"},"content":" public AccountRequest createAccountRequest(AccountRequest accountRequest) throws InvalidParametersException {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" return accountRequestDb.createAccountRequest(accountRequest);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":61,"author":{"gitId":"-"},"content":" * Creates an account request."},{"lineNumber":62,"author":{"gitId":"-"},"content":" */"},{"lineNumber":63,"author":{"gitId":"-"},"content":" public AccountRequest createAccountRequest(String name, String email, String institute, AccountRequestStatus status,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" String comments) throws InvalidParametersException {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" AccountRequest toCreate \u003d new AccountRequest(email, name, institute, status, comments);"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" return accountRequestDb.createAccountRequest(toCreate);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" }"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":71,"author":{"gitId":"-"},"content":" * Gets the account request associated with the {@code id}."},{"lineNumber":72,"author":{"gitId":"-"},"content":" */"},{"lineNumber":73,"author":{"gitId":"-"},"content":" public AccountRequest getAccountRequest(UUID id) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" return accountRequestDb.getAccountRequest(id);"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" * Gets the account request associated with the {@code id}."},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" public AccountRequest getAccountRequestWithTransaction(UUID id) {"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" AccountRequest request \u003d accountRequestDb.getAccountRequest(id);"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" return request;"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Updates an account request."},{"lineNumber":89,"author":{"gitId":"-"},"content":" */"},{"lineNumber":90,"author":{"gitId":"-"},"content":" public AccountRequest updateAccountRequest(AccountRequest accountRequest)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" return accountRequestDb.updateAccountRequest(accountRequest);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" * Updates an account request."},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":" @SuppressWarnings(\"PMD\")"},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" public AccountRequest updateAccountRequestWithTransaction(AccountRequest accountRequest)"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" AccountRequest updatedRequest;"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":" updatedRequest \u003d accountRequestDb.updateAccountRequest(accountRequest);"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" } catch (InvalidParametersException ipe) {"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.rollbackTransaction();"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" throw new InvalidParametersException(ipe.getMessage());"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" return updatedRequest;"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" * Gets account request associated with the {@code regkey}."},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" public AccountRequest getAccountRequestByRegistrationKey(String regkey) {"},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" return accountRequestDb.getAccountRequestByRegistrationKey(regkey);"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":124,"author":{"gitId":"-"},"content":" * Gets all pending account requests."},{"lineNumber":125,"author":{"gitId":"-"},"content":" */"},{"lineNumber":126,"author":{"gitId":"-"},"content":" public List\u003cAccountRequest\u003e getPendingAccountRequests() {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" return accountRequestDb.getPendingAccountRequests();"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" * Gets all account requests."},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" public List\u003cAccountRequest\u003e getAllAccountRequests() {"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" return accountRequestDb.getAllAccountRequests();"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" * Get a list of account requests associated with email provided."},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" public List\u003cAccountRequest\u003e getApprovedAccountRequestsForEmailWithTransaction(String email) {"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" List\u003cAccountRequest\u003e accountRequests \u003d accountRequestDb.getApprovedAccountRequestsForEmail(email);"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":" return accountRequests;"},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":148,"author":{"gitId":"dishenggg"},"content":" * Creates/resets the account request with the given id such that it is not registered."},{"lineNumber":149,"author":{"gitId":"-"},"content":" */"},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":" public AccountRequest resetAccountRequest(UUID id)"},{"lineNumber":151,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InvalidParametersException {"},{"lineNumber":152,"author":{"gitId":"dishenggg"},"content":" AccountRequest accountRequest \u003d accountRequestDb.getAccountRequest(id);"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" if (accountRequest \u003d\u003d null) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Failed to reset since AccountRequest with \""},{"lineNumber":156,"author":{"gitId":"dishenggg"},"content":" + \"the given id cannot be found.\");"},{"lineNumber":157,"author":{"gitId":"-"},"content":" }"},{"lineNumber":158,"author":{"gitId":"-"},"content":" accountRequest.setRegisteredAt(null);"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" return accountRequestDb.updateAccountRequest(accountRequest);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":164,"author":{"gitId":"dishenggg"},"content":" * Deletes account request associated with the {@code id}."},{"lineNumber":165,"author":{"gitId":"-"},"content":" *"},{"lineNumber":166,"author":{"gitId":"dishenggg"},"content":" * \u003cp\u003eFails silently if no account requests with the given id to delete can be found.\u003c/p\u003e"},{"lineNumber":167,"author":{"gitId":"-"},"content":" *"},{"lineNumber":168,"author":{"gitId":"-"},"content":" */"},{"lineNumber":169,"author":{"gitId":"dishenggg"},"content":" public void deleteAccountRequest(UUID id) {"},{"lineNumber":170,"author":{"gitId":"dishenggg"},"content":" AccountRequest toDelete \u003d accountRequestDb.getAccountRequest(id);"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" accountRequestDb.deleteAccountRequest(toDelete);"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":" * Searches for account requests in the whole system."},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":178,"author":{"gitId":"domoberzin"},"content":" * @return A list of {@link AccountRequest} or {@code null} if no match found."},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":" public List\u003cAccountRequest\u003e searchAccountRequestsInWholeSystem(String queryString)"},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":" throws SearchServiceException {"},{"lineNumber":182,"author":{"gitId":"domoberzin"},"content":" return accountRequestDb.searchAccountRequestsInWholeSystem(queryString);"},{"lineNumber":183,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":186,"author":{"gitId":"-"},"content":" * Creates an or gets an account request."},{"lineNumber":187,"author":{"gitId":"-"},"content":" */"},{"lineNumber":188,"author":{"gitId":"-"},"content":" public AccountRequest createOrGetAccountRequestWithTransaction(String name, String email, String institute,"},{"lineNumber":189,"author":{"gitId":"-"},"content":" AccountRequestStatus status, String comments)"},{"lineNumber":190,"author":{"gitId":"-"},"content":" throws InvalidParametersException {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" AccountRequest toCreate \u003d new AccountRequest(email, name, institute, status, comments);"},{"lineNumber":192,"author":{"gitId":"-"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":193,"author":{"gitId":"-"},"content":" AccountRequest accountRequest;"},{"lineNumber":194,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" accountRequest \u003d accountRequestDb.createAccountRequest(toCreate);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":197,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException ipe) {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" HibernateUtil.rollbackTransaction();"},{"lineNumber":199,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(ipe);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":" return accountRequest;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" }"},{"lineNumber":203,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":60,"dishenggg":15,"-":128}},{"path":"src/main/java/teammates/sqllogic/core/AccountsLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountsDb;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":14,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":15,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.ReadNotification;"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.User;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Handles operations related to accounts."},{"lineNumber":23,"author":{"gitId":"-"},"content":" *"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * @see Account"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * @see AccountsDb"},{"lineNumber":26,"author":{"gitId":"-"},"content":" */"},{"lineNumber":27,"author":{"gitId":"-"},"content":"public final class AccountsLogic {"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final AccountsLogic instance \u003d new AccountsLogic();"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" private AccountsDb accountsDb;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private NotificationsLogic notificationsLogic;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" private UsersLogic usersLogic;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"yuanxi1"},"content":" private CoursesLogic coursesLogic;"},{"lineNumber":38,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" private AccountsLogic() {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"yuanxi1"},"content":" void initLogicDependencies(AccountsDb accountsDb, NotificationsLogic notificationsLogic,"},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" UsersLogic usersLogic, CoursesLogic coursesLogic) {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" this.accountsDb \u003d accountsDb;"},{"lineNumber":46,"author":{"gitId":"-"},"content":" this.notificationsLogic \u003d notificationsLogic;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" this.usersLogic \u003d usersLogic;"},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" this.coursesLogic \u003d coursesLogic;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static AccountsLogic inst() {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":53,"author":{"gitId":"-"},"content":" }"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":56,"author":{"gitId":"-"},"content":" * Gets an account."},{"lineNumber":57,"author":{"gitId":"-"},"content":" */"},{"lineNumber":58,"author":{"gitId":"-"},"content":" public Account getAccount(UUID id) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" assert id !\u003d null;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return accountsDb.getAccount(id);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":64,"author":{"gitId":"-"},"content":" * Gets an account by googleId."},{"lineNumber":65,"author":{"gitId":"-"},"content":" */"},{"lineNumber":66,"author":{"gitId":"-"},"content":" public Account getAccountForGoogleId(String googleId) {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" return accountsDb.getAccountByGoogleId(googleId);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Gets accounts associated with email."},{"lineNumber":74,"author":{"gitId":"-"},"content":" */"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public List\u003cAccount\u003e getAccountsForEmail(String email) {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" return accountsDb.getAccountsByEmail(email);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" * Gets accounts associated with email."},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" public List\u003cAccount\u003e getAccountsForEmailWithTransaction(String email) {"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" assert email !\u003d null;"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" List\u003cAccount\u003e accounts \u003d accountsDb.getAccountsByEmail(email);"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" return accounts;"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":95,"author":{"gitId":"-"},"content":" * Creates an account."},{"lineNumber":96,"author":{"gitId":"-"},"content":" *"},{"lineNumber":97,"author":{"gitId":"-"},"content":" * @return the created account"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the account is not valid"},{"lineNumber":99,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the account already exists in the"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * database."},{"lineNumber":101,"author":{"gitId":"-"},"content":" */"},{"lineNumber":102,"author":{"gitId":"-"},"content":" public Account createAccount(Account account)"},{"lineNumber":103,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" assert account !\u003d null;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" return accountsDb.createAccount(account);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" * Creates an account."},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" * @return the created account"},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" * @throws InvalidParametersException if the account is not valid"},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" * @throws EntityAlreadyExistsException if the account already exists in the"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" * database."},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" public Account createAccountWithTransaction(Account account)"},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":" assert account !\u003d null;"},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" Account createdAccount \u003d accountsDb.createAccount(account);"},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":" HibernateUtil.commitTransaction();"},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" return createdAccount;"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":128,"author":{"gitId":"-"},"content":" * Deletes account associated with the {@code googleId}."},{"lineNumber":129,"author":{"gitId":"-"},"content":" *"},{"lineNumber":130,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if the account doesn\u0027t exist.\u003c/p\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":" */"},{"lineNumber":132,"author":{"gitId":"-"},"content":" public void deleteAccount(String googleId) {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" Account account \u003d getAccountForGoogleId(googleId);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" accountsDb.deleteAccount(account);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":140,"author":{"gitId":"-"},"content":" * Deletes account and all users associated with the {@code googleId}."},{"lineNumber":141,"author":{"gitId":"-"},"content":" *"},{"lineNumber":142,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if the account doesn\u0027t exist.\u003c/p\u003e"},{"lineNumber":143,"author":{"gitId":"-"},"content":" */"},{"lineNumber":144,"author":{"gitId":"-"},"content":" public void deleteAccountCascade(String googleId) {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" List\u003cUser\u003e usersToDelete \u003d usersLogic.getAllUsersByGoogleId(googleId);"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" for (User user : usersToDelete) {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" usersLogic.deleteUser(user);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" deleteAccount(googleId);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":157,"author":{"gitId":"-"},"content":" * Updates the readNotifications of an account."},{"lineNumber":158,"author":{"gitId":"-"},"content":" *"},{"lineNumber":159,"author":{"gitId":"-"},"content":" * @param googleId google ID of the user who read the notification."},{"lineNumber":160,"author":{"gitId":"-"},"content":" * @param notificationId ID of notification to be marked as read."},{"lineNumber":161,"author":{"gitId":"-"},"content":" * @param endTime the expiry time of the notification, i.e. notification"},{"lineNumber":162,"author":{"gitId":"-"},"content":" * will not be shown after this time."},{"lineNumber":163,"author":{"gitId":"-"},"content":" * @return the account with updated read notifications."},{"lineNumber":164,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the notification has expired."},{"lineNumber":165,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if account or notification does not"},{"lineNumber":166,"author":{"gitId":"-"},"content":" * exist."},{"lineNumber":167,"author":{"gitId":"-"},"content":" */"},{"lineNumber":168,"author":{"gitId":"-"},"content":" public List\u003cUUID\u003e updateReadNotifications(String googleId, UUID notificationId, Instant endTime)"},{"lineNumber":169,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" Account account \u003d accountsDb.getAccountByGoogleId(googleId);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" if (account \u003d\u003d null) {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to update the read notifications of a non-existent account.\");"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" Notification notification \u003d notificationsLogic.getNotification(notificationId);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" if (notification \u003d\u003d null) {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to mark as read a notification that does not exist.\");"},{"lineNumber":178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":179,"author":{"gitId":"-"},"content":" if (endTime.isBefore(Instant.now())) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(\"Trying to mark an expired notification as read.\");"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" ReadNotification readNotification \u003d new ReadNotification(account, notification);"},{"lineNumber":184,"author":{"gitId":"-"},"content":" account.addReadNotification(readNotification);"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" return account.getReadNotifications().stream()"},{"lineNumber":187,"author":{"gitId":"-"},"content":" .map(n -\u003e n.getNotification().getId())"},{"lineNumber":188,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":192,"author":{"gitId":"-"},"content":" * Gets ids of read notifications in an account."},{"lineNumber":193,"author":{"gitId":"-"},"content":" */"},{"lineNumber":194,"author":{"gitId":"-"},"content":" public List\u003cUUID\u003e getReadNotificationsId(String googleId) {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" return accountsDb.getAccountByGoogleId(googleId).getReadNotifications().stream()"},{"lineNumber":196,"author":{"gitId":"-"},"content":" .map(n -\u003e n.getNotification().getId())"},{"lineNumber":197,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":200,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":201,"author":{"gitId":"yuanxi1"},"content":" * Joins the user as a student."},{"lineNumber":202,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":203,"author":{"gitId":"yuanxi1"},"content":" public Student joinCourseForStudent(String registrationKey, String googleId)"},{"lineNumber":204,"author":{"gitId":"yuanxi1"},"content":" throws InvalidParametersException, EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":205,"author":{"gitId":"yuanxi1"},"content":" Student student \u003d validateStudentJoinRequest(registrationKey, googleId);"},{"lineNumber":206,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":207,"author":{"gitId":"yuanxi1"},"content":" Account account \u003d accountsDb.getAccountByGoogleId(googleId);"},{"lineNumber":208,"author":{"gitId":"yuanxi1"},"content":" // Create an account if it doesn\u0027t exist"},{"lineNumber":209,"author":{"gitId":"yuanxi1"},"content":" if (account \u003d\u003d null) {"},{"lineNumber":210,"author":{"gitId":"yuanxi1"},"content":" account \u003d new Account(googleId, student.getName(), student.getEmail());"},{"lineNumber":211,"author":{"gitId":"yuanxi1"},"content":" createAccount(account);"},{"lineNumber":212,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":213,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":214,"author":{"gitId":"yuanxi1"},"content":" if (student.getAccount() \u003d\u003d null) {"},{"lineNumber":215,"author":{"gitId":"yuanxi1"},"content":" student.setAccount(account);"},{"lineNumber":216,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":217,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":218,"author":{"gitId":"yuanxi1"},"content":" return student;"},{"lineNumber":219,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":220,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":221,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":222,"author":{"gitId":"yuanxi1"},"content":" * Joins the user as an instructor."},{"lineNumber":223,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":224,"author":{"gitId":"yuanxi1"},"content":" public Instructor joinCourseForInstructor(String key, String googleId)"},{"lineNumber":225,"author":{"gitId":"yuanxi1"},"content":" throws InvalidParametersException, EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":226,"author":{"gitId":"yuanxi1"},"content":" Instructor instructor \u003d validateInstructorJoinRequest(key, googleId);"},{"lineNumber":227,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":228,"author":{"gitId":"yuanxi1"},"content":" Account account \u003d accountsDb.getAccountByGoogleId(googleId);"},{"lineNumber":229,"author":{"gitId":"yuanxi1"},"content":" if (account \u003d\u003d null) {"},{"lineNumber":230,"author":{"gitId":"yuanxi1"},"content":" try {"},{"lineNumber":231,"author":{"gitId":"yuanxi1"},"content":" account \u003d new Account(googleId, instructor.getName(), instructor.getEmail());"},{"lineNumber":232,"author":{"gitId":"yuanxi1"},"content":" createAccount(account);"},{"lineNumber":233,"author":{"gitId":"yuanxi1"},"content":" } catch (EntityAlreadyExistsException e) {"},{"lineNumber":234,"author":{"gitId":"yuanxi1"},"content":" assert false : \"Account already exists.\";"},{"lineNumber":235,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":236,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":237,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":238,"author":{"gitId":"yuanxi1"},"content":" instructor.setAccount(account);"},{"lineNumber":239,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":240,"author":{"gitId":"yuanxi1"},"content":" // Update the googleId of the student entity for the instructor which was created from sample data."},{"lineNumber":241,"author":{"gitId":"yuanxi1"},"content":" Student student \u003d usersLogic.getStudentForEmail(instructor.getCourseId(), instructor.getEmail());"},{"lineNumber":242,"author":{"gitId":"yuanxi1"},"content":" if (student !\u003d null) {"},{"lineNumber":243,"author":{"gitId":"yuanxi1"},"content":" student.setAccount(account);"},{"lineNumber":244,"author":{"gitId":"yuanxi1"},"content":" usersLogic.updateStudentCascade(student);"},{"lineNumber":245,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":246,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":247,"author":{"gitId":"yuanxi1"},"content":" return instructor;"},{"lineNumber":248,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":249,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":250,"author":{"gitId":"yuanxi1"},"content":" private Instructor validateInstructorJoinRequest(String registrationKey, String googleId)"},{"lineNumber":251,"author":{"gitId":"yuanxi1"},"content":" throws EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":252,"author":{"gitId":"yuanxi1"},"content":" Instructor instructorForKey \u003d usersLogic.getInstructorByRegistrationKey(registrationKey);"},{"lineNumber":253,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":254,"author":{"gitId":"yuanxi1"},"content":" if (instructorForKey \u003d\u003d null) {"},{"lineNumber":255,"author":{"gitId":"yuanxi1"},"content":" throw new EntityDoesNotExistException(\"No instructor with given registration key: \" + registrationKey);"},{"lineNumber":256,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":257,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":258,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d coursesLogic.getCourse(instructorForKey.getCourseId());"},{"lineNumber":259,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":260,"author":{"gitId":"yuanxi1"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":261,"author":{"gitId":"yuanxi1"},"content":" throw new EntityDoesNotExistException(\"Course with id \" + instructorForKey.getCourseId() + \" does not exist\");"},{"lineNumber":262,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":263,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":264,"author":{"gitId":"yuanxi1"},"content":" if (course.isCourseDeleted()) {"},{"lineNumber":265,"author":{"gitId":"yuanxi1"},"content":" throw new EntityDoesNotExistException(\"The course you are trying to join has been deleted by an instructor\");"},{"lineNumber":266,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":267,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":268,"author":{"gitId":"yuanxi1"},"content":" if (instructorForKey.isRegistered()) {"},{"lineNumber":269,"author":{"gitId":"yuanxi1"},"content":" if (instructorForKey.getGoogleId().equals(googleId)) {"},{"lineNumber":270,"author":{"gitId":"yuanxi1"},"content":" Account existingAccount \u003d accountsDb.getAccountByGoogleId(googleId);"},{"lineNumber":271,"author":{"gitId":"yuanxi1"},"content":" if (existingAccount !\u003d null) {"},{"lineNumber":272,"author":{"gitId":"yuanxi1"},"content":" throw new EntityAlreadyExistsException(\"Instructor has already joined course\");"},{"lineNumber":273,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":274,"author":{"gitId":"yuanxi1"},"content":" } else {"},{"lineNumber":275,"author":{"gitId":"yuanxi1"},"content":" throw new EntityAlreadyExistsException(\"Instructor has already joined course\");"},{"lineNumber":276,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":277,"author":{"gitId":"yuanxi1"},"content":" } else {"},{"lineNumber":278,"author":{"gitId":"yuanxi1"},"content":" // Check if this Google ID has already joined this course"},{"lineNumber":279,"author":{"gitId":"yuanxi1"},"content":" Instructor existingInstructor \u003d"},{"lineNumber":280,"author":{"gitId":"yuanxi1"},"content":" usersLogic.getInstructorByGoogleId(instructorForKey.getCourseId(), googleId);"},{"lineNumber":281,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":282,"author":{"gitId":"yuanxi1"},"content":" if (existingInstructor !\u003d null) {"},{"lineNumber":283,"author":{"gitId":"yuanxi1"},"content":" throw new EntityAlreadyExistsException(\"Instructor has already joined course\");"},{"lineNumber":284,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":285,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":286,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":287,"author":{"gitId":"yuanxi1"},"content":" return instructorForKey;"},{"lineNumber":288,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":289,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":290,"author":{"gitId":"yuanxi1"},"content":" private Student validateStudentJoinRequest(String registrationKey, String googleId)"},{"lineNumber":291,"author":{"gitId":"yuanxi1"},"content":" throws EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":292,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":293,"author":{"gitId":"yuanxi1"},"content":" Student studentRole \u003d usersLogic.getStudentByRegistrationKey(registrationKey);"},{"lineNumber":294,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":295,"author":{"gitId":"yuanxi1"},"content":" if (studentRole \u003d\u003d null) {"},{"lineNumber":296,"author":{"gitId":"yuanxi1"},"content":" throw new EntityDoesNotExistException(\"No student with given registration key: \" + registrationKey);"},{"lineNumber":297,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":298,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":299,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d coursesLogic.getCourse(studentRole.getCourseId());"},{"lineNumber":300,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":301,"author":{"gitId":"yuanxi1"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":302,"author":{"gitId":"yuanxi1"},"content":" throw new EntityDoesNotExistException(\"Course with id \" + studentRole.getCourseId() + \" does not exist\");"},{"lineNumber":303,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":304,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":305,"author":{"gitId":"yuanxi1"},"content":" if (course.isCourseDeleted()) {"},{"lineNumber":306,"author":{"gitId":"yuanxi1"},"content":" throw new EntityDoesNotExistException(\"The course you are trying to join has been deleted by an instructor\");"},{"lineNumber":307,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":308,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":309,"author":{"gitId":"yuanxi1"},"content":" if (studentRole.isRegistered()) {"},{"lineNumber":310,"author":{"gitId":"yuanxi1"},"content":" throw new EntityAlreadyExistsException(\"Student has already joined course\");"},{"lineNumber":311,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":312,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":313,"author":{"gitId":"yuanxi1"},"content":" // Check if this Google ID has already joined this course"},{"lineNumber":314,"author":{"gitId":"yuanxi1"},"content":" Student existingStudent \u003d"},{"lineNumber":315,"author":{"gitId":"yuanxi1"},"content":" usersLogic.getStudentByGoogleId(studentRole.getCourseId(), googleId);"},{"lineNumber":316,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":317,"author":{"gitId":"yuanxi1"},"content":" if (existingStudent !\u003d null) {"},{"lineNumber":318,"author":{"gitId":"yuanxi1"},"content":" throw new EntityAlreadyExistsException(\"Student has already joined course\");"},{"lineNumber":319,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":320,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":321,"author":{"gitId":"yuanxi1"},"content":" return studentRole;"},{"lineNumber":322,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":323,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":33,"yuanxi1":132,"-":158}},{"path":"src/main/java/teammates/sqllogic/core/CoursesLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Comparator;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.CoursesDb;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Handles operations related to courses."},{"lineNumber":23,"author":{"gitId":"-"},"content":" *"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * @see Course"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * @see CoursesDb"},{"lineNumber":26,"author":{"gitId":"-"},"content":" */"},{"lineNumber":27,"author":{"gitId":"-"},"content":"public final class CoursesLogic {"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final CoursesLogic instance \u003d new CoursesLogic();"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" private CoursesDb coursesDb;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private FeedbackSessionsLogic fsLogic;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" private UsersLogic usersLogic;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" private CoursesLogic() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" public static CoursesLogic inst() {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" void initLogicDependencies(CoursesDb coursesDb, FeedbackSessionsLogic fsLogic, UsersLogic usersLogic) {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" this.coursesDb \u003d coursesDb;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" this.fsLogic \u003d fsLogic;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" this.usersLogic \u003d usersLogic;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":52,"author":{"gitId":"-"},"content":" * Creates a course."},{"lineNumber":53,"author":{"gitId":"-"},"content":" *"},{"lineNumber":54,"author":{"gitId":"-"},"content":" * @return the created course"},{"lineNumber":55,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the course is not valid"},{"lineNumber":56,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the course already exists in the"},{"lineNumber":57,"author":{"gitId":"-"},"content":" * database."},{"lineNumber":58,"author":{"gitId":"-"},"content":" */"},{"lineNumber":59,"author":{"gitId":"-"},"content":" public Course createCourse(Course course) throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return coursesDb.createCourse(course);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":64,"author":{"gitId":"-"},"content":" * Gets a course by course id."},{"lineNumber":65,"author":{"gitId":"-"},"content":" *"},{"lineNumber":66,"author":{"gitId":"-"},"content":" * @param courseId of course."},{"lineNumber":67,"author":{"gitId":"-"},"content":" * @return the specified course."},{"lineNumber":68,"author":{"gitId":"-"},"content":" */"},{"lineNumber":69,"author":{"gitId":"-"},"content":" public Course getCourse(String courseId) {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" return coursesDb.getCourse(courseId);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":74,"author":{"gitId":"-"},"content":" * Returns a list of {@link Course} for all courses a given student is enrolled in."},{"lineNumber":75,"author":{"gitId":"-"},"content":" *"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * @param googleId The Google ID of the student"},{"lineNumber":77,"author":{"gitId":"-"},"content":" */"},{"lineNumber":78,"author":{"gitId":"-"},"content":" public List\u003cCourse\u003e getCoursesForStudentAccount(String googleId) {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students \u003d usersLogic.getAllStudentsByGoogleId(googleId);"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" return students"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .map(Student::getCourse)"},{"lineNumber":84,"author":{"gitId":"-"},"content":" .filter(course -\u003e !course.isCourseDeleted())"},{"lineNumber":85,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":89,"author":{"gitId":"-"},"content":" * Returns a list of {@link Course} for all courses for a given list of instructors"},{"lineNumber":90,"author":{"gitId":"-"},"content":" * except for courses in Recycle Bin."},{"lineNumber":91,"author":{"gitId":"-"},"content":" */"},{"lineNumber":92,"author":{"gitId":"-"},"content":" public List\u003cCourse\u003e getCoursesForInstructors(List\u003cInstructor\u003e instructors) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" assert instructors !\u003d null;"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" return instructors"},{"lineNumber":96,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":97,"author":{"gitId":"-"},"content":" .map(Instructor::getCourse)"},{"lineNumber":98,"author":{"gitId":"-"},"content":" .filter(course -\u003e !course.isCourseDeleted())"},{"lineNumber":99,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":103,"author":{"gitId":"-"},"content":" * Returns a list of soft-deleted {@link Course} for a given list of instructors."},{"lineNumber":104,"author":{"gitId":"-"},"content":" */"},{"lineNumber":105,"author":{"gitId":"-"},"content":" public List\u003cCourse\u003e getSoftDeletedCoursesForInstructors(List\u003cInstructor\u003e instructors) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" assert instructors !\u003d null;"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" return instructors"},{"lineNumber":109,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .map(Instructor::getCourse)"},{"lineNumber":111,"author":{"gitId":"-"},"content":" .filter(course -\u003e course.isCourseDeleted())"},{"lineNumber":112,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * Deletes a course and cascade its students, instructors, sessions, responses, deadline extensions and comments."},{"lineNumber":117,"author":{"gitId":"-"},"content":" * Fails silently if no such course."},{"lineNumber":118,"author":{"gitId":"-"},"content":" */"},{"lineNumber":119,"author":{"gitId":"-"},"content":" public void deleteCourseCascade(String courseId) {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" Course course \u003d coursesDb.getCourse(courseId);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" usersLogic.deleteStudentsInCourseCascade(courseId);"},{"lineNumber":126,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e feedbackSessions \u003d fsLogic.getFeedbackSessionsForCourse(courseId);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" feedbackSessions.forEach(feedbackSession -\u003e {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" fsLogic.deleteFeedbackSessionCascade(feedbackSession.getName(), courseId);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" });"},{"lineNumber":130,"author":{"gitId":"-"},"content":" coursesDb.deleteSectionsByCourseId(courseId);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors \u003d usersLogic.getInstructorsForCourse(courseId);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" instructors.forEach(instructor -\u003e {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" usersLogic.deleteInstructorCascade(courseId, instructor.getEmail());"},{"lineNumber":134,"author":{"gitId":"-"},"content":" });"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" coursesDb.deleteCourse(course);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":140,"author":{"gitId":"-"},"content":" * Moves a course to Recycle Bin by its given corresponding ID."},{"lineNumber":141,"author":{"gitId":"-"},"content":" *"},{"lineNumber":142,"author":{"gitId":"-"},"content":" * @return the time when the course is moved to the recycle bin."},{"lineNumber":143,"author":{"gitId":"-"},"content":" */"},{"lineNumber":144,"author":{"gitId":"-"},"content":" public Course moveCourseToRecycleBin(String courseId) throws EntityDoesNotExistException {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" Course course \u003d coursesDb.getCourse(courseId);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to move a non-existent course to recycling bin.\");"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":151,"author":{"gitId":"-"},"content":" course.setDeletedAt(now);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" return course;"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":156,"author":{"gitId":"-"},"content":" * Restores a course from Recycle Bin by its given corresponding ID."},{"lineNumber":157,"author":{"gitId":"-"},"content":" */"},{"lineNumber":158,"author":{"gitId":"-"},"content":" public void restoreCourseFromRecycleBin(String courseId) throws EntityDoesNotExistException {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" Course course \u003d coursesDb.getCourse(courseId);"},{"lineNumber":160,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to restore a non-existent course from recycling bin.\");"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" course.setDeletedAt(null);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":168,"author":{"gitId":"-"},"content":" * Updates a course."},{"lineNumber":169,"author":{"gitId":"-"},"content":" *"},{"lineNumber":170,"author":{"gitId":"-"},"content":" * @return updated course"},{"lineNumber":171,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":172,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the course cannot be found"},{"lineNumber":173,"author":{"gitId":"-"},"content":" */"},{"lineNumber":174,"author":{"gitId":"-"},"content":" public Course updateCourse(String courseId, String name, String timezone)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" Course course \u003d getCourse(courseId);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT + Course.class);"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":" course.setName(name);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" course.setTimeZone(timezone);"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" if (!course.isValid()) {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(course.getInvalidityInfo());"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" return course;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":191,"author":{"gitId":"-"},"content":" * Creates a section."},{"lineNumber":192,"author":{"gitId":"-"},"content":" */"},{"lineNumber":193,"author":{"gitId":"-"},"content":" public Section createSection(Section section) throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":194,"author":{"gitId":"-"},"content":" return coursesDb.createSection(section);"},{"lineNumber":195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":198,"author":{"gitId":"-"},"content":" * Get section by {@code courseId} and {@code teamName}."},{"lineNumber":199,"author":{"gitId":"-"},"content":" */"},{"lineNumber":200,"author":{"gitId":"-"},"content":" public Section getSectionByCourseIdAndTeam(String courseId, String teamName) {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" assert teamName !\u003d null;"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":" return coursesDb.getSectionByCourseIdAndTeam(courseId, teamName);"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":208,"author":{"gitId":"-"},"content":" * Gets a list of section names for the given {@code courseId}."},{"lineNumber":209,"author":{"gitId":"-"},"content":" */"},{"lineNumber":210,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getSectionNamesForCourse(String courseId) throws EntityDoesNotExistException {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" Course course \u003d getCourse(courseId);"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to get section names for a non-existent course.\");"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" return course.getSections()"},{"lineNumber":219,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":220,"author":{"gitId":"-"},"content":" .map(section -\u003e section.getName())"},{"lineNumber":221,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":222,"author":{"gitId":"-"},"content":" }"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":225,"author":{"gitId":"yuanxi1"},"content":" * Gets the institute of the course."},{"lineNumber":226,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":227,"author":{"gitId":"yuanxi1"},"content":" public String getCourseInstitute(String courseId) {"},{"lineNumber":228,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d getCourse(courseId);"},{"lineNumber":229,"author":{"gitId":"yuanxi1"},"content":" assert course !\u003d null : \"Trying to getCourseInstitute for inexistent course with id \" + courseId;"},{"lineNumber":230,"author":{"gitId":"yuanxi1"},"content":" return course.getInstitute();"},{"lineNumber":231,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":232,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":234,"author":{"gitId":"-"},"content":" * Creates a team."},{"lineNumber":235,"author":{"gitId":"-"},"content":" */"},{"lineNumber":236,"author":{"gitId":"-"},"content":" public Team createTeam(Team team) throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" return coursesDb.createTeam(team);"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":241,"author":{"gitId":"-"},"content":" * Returns teams for a particular section."},{"lineNumber":242,"author":{"gitId":"-"},"content":" */"},{"lineNumber":243,"author":{"gitId":"-"},"content":" public List\u003cTeam\u003e getTeamsForSection(Section section) {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" return coursesDb.getTeamsForSection(section);"},{"lineNumber":245,"author":{"gitId":"-"},"content":" }"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":248,"author":{"gitId":"-"},"content":" * Returns teams for a course."},{"lineNumber":249,"author":{"gitId":"-"},"content":" */"},{"lineNumber":250,"author":{"gitId":"-"},"content":" public List\u003cTeam\u003e getTeamsForCourse(String courseId) {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" return coursesDb.getTeamsForCourse(courseId);"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":255,"author":{"gitId":"-"},"content":" * Sorts the courses list alphabetically by id."},{"lineNumber":256,"author":{"gitId":"-"},"content":" */"},{"lineNumber":257,"author":{"gitId":"-"},"content":" public static void sortById(List\u003cCourse\u003e courses) {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" courses.sort(Comparator.comparing(Course::getId));"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":9,"-":251}},{"path":"src/main/java/teammates/sqllogic/core/DataBundleLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Collection;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.ReadNotification;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.User;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Handles operations related to data bundles."},{"lineNumber":34,"author":{"gitId":"-"},"content":" *"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * @see DataBundle"},{"lineNumber":36,"author":{"gitId":"-"},"content":" */"},{"lineNumber":37,"author":{"gitId":"-"},"content":"public final class DataBundleLogic {"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final DataBundleLogic instance \u003d new DataBundleLogic();"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" private AccountsLogic accountsLogic;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private AccountRequestsLogic accountRequestsLogic;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private CoursesLogic coursesLogic;"},{"lineNumber":44,"author":{"gitId":"-"},"content":" private DeadlineExtensionsLogic deadlineExtensionsLogic;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private FeedbackSessionsLogic fsLogic;"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" private FeedbackSessionLogsLogic fslLogic;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" private FeedbackQuestionsLogic fqLogic;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private FeedbackResponsesLogic frLogic;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private FeedbackResponseCommentsLogic frcLogic;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private NotificationsLogic notificationsLogic;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private UsersLogic usersLogic;"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" private DataBundleLogic() {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" public static DataBundleLogic inst() {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" void initLogicDependencies(AccountsLogic accountsLogic, AccountRequestsLogic accountRequestsLogic,"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" CoursesLogic coursesLogic, DeadlineExtensionsLogic deadlineExtensionsLogic, FeedbackSessionsLogic fsLogic,"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogsLogic fslLogic, FeedbackQuestionsLogic fqLogic, FeedbackResponsesLogic frLogic,"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" FeedbackResponseCommentsLogic frcLogic, NotificationsLogic notificationsLogic, UsersLogic usersLogic) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" this.accountsLogic \u003d accountsLogic;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" this.accountRequestsLogic \u003d accountRequestsLogic;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" this.coursesLogic \u003d coursesLogic;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" this.deadlineExtensionsLogic \u003d deadlineExtensionsLogic;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.fsLogic \u003d fsLogic;"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" this.fslLogic \u003d fslLogic;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" this.fqLogic \u003d fqLogic;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" this.frLogic \u003d frLogic;"},{"lineNumber":73,"author":{"gitId":"-"},"content":" this.frcLogic \u003d frcLogic;"},{"lineNumber":74,"author":{"gitId":"-"},"content":" this.notificationsLogic \u003d notificationsLogic;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" this.usersLogic \u003d usersLogic;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * Deserialize JSON into a data bundle."},{"lineNumber":80,"author":{"gitId":"-"},"content":" *"},{"lineNumber":81,"author":{"gitId":"-"},"content":" * \u003cp\u003eNOTE: apart from for Course, ids used in the jsonString may be any valid UUID"},{"lineNumber":82,"author":{"gitId":"-"},"content":" * and are used only to link entities together. They will be replaced by a random"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * UUID when deserialized and hence do not need to be checked if they exist in the"},{"lineNumber":84,"author":{"gitId":"-"},"content":" * database previously.\u003c/p\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":" *"},{"lineNumber":86,"author":{"gitId":"-"},"content":" * @param jsonString containing entities to persist at once to the database."},{"lineNumber":87,"author":{"gitId":"-"},"content":" * CourseID must be a valid UUID not currently in use."},{"lineNumber":88,"author":{"gitId":"-"},"content":" * For other entities, replaces the given ids with randomly generated UUIDs."},{"lineNumber":89,"author":{"gitId":"-"},"content":" * @return newly created DataBundle"},{"lineNumber":90,"author":{"gitId":"-"},"content":" */"},{"lineNumber":91,"author":{"gitId":"-"},"content":" public static SqlDataBundle deserializeDataBundle(String jsonString) {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" SqlDataBundle dataBundle \u003d JsonUtils.fromJson(jsonString, SqlDataBundle.class);"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" Collection\u003cAccount\u003e accounts \u003d dataBundle.accounts.values();"},{"lineNumber":95,"author":{"gitId":"-"},"content":" Collection\u003cAccountRequest\u003e accountRequests \u003d dataBundle.accountRequests.values();"},{"lineNumber":96,"author":{"gitId":"-"},"content":" Collection\u003cCourse\u003e courses \u003d dataBundle.courses.values();"},{"lineNumber":97,"author":{"gitId":"-"},"content":" Collection\u003cSection\u003e sections \u003d dataBundle.sections.values();"},{"lineNumber":98,"author":{"gitId":"-"},"content":" Collection\u003cTeam\u003e teams \u003d dataBundle.teams.values();"},{"lineNumber":99,"author":{"gitId":"-"},"content":" Collection\u003cInstructor\u003e instructors \u003d dataBundle.instructors.values();"},{"lineNumber":100,"author":{"gitId":"-"},"content":" Collection\u003cStudent\u003e students \u003d dataBundle.students.values();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackSession\u003e sessions \u003d dataBundle.feedbackSessions.values();"},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" Collection\u003cFeedbackSessionLog\u003e sessionLogs \u003d dataBundle.feedbackSessionLogs.values();"},{"lineNumber":103,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackQuestion\u003e questions \u003d dataBundle.feedbackQuestions.values();"},{"lineNumber":104,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackResponse\u003e responses \u003d dataBundle.feedbackResponses.values();"},{"lineNumber":105,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackResponseComment\u003e responseComments \u003d dataBundle.feedbackResponseComments.values();"},{"lineNumber":106,"author":{"gitId":"-"},"content":" Collection\u003cDeadlineExtension\u003e deadlineExtensions \u003d dataBundle.deadlineExtensions.values();"},{"lineNumber":107,"author":{"gitId":"-"},"content":" Collection\u003cNotification\u003e notifications \u003d dataBundle.notifications.values();"},{"lineNumber":108,"author":{"gitId":"-"},"content":" Collection\u003cReadNotification\u003e readNotifications \u003d dataBundle.readNotifications.values();"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" // Mapping of IDs or placeholder IDs to actual entity"},{"lineNumber":111,"author":{"gitId":"-"},"content":" Map\u003cString, Course\u003e coursesMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" Map\u003cUUID, Section\u003e sectionsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":113,"author":{"gitId":"-"},"content":" Map\u003cUUID, Team\u003e teamsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":114,"author":{"gitId":"-"},"content":" Map\u003cUUID, FeedbackSession\u003e sessionsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":115,"author":{"gitId":"-"},"content":" Map\u003cUUID, FeedbackQuestion\u003e questionMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":116,"author":{"gitId":"-"},"content":" Map\u003cUUID, FeedbackResponse\u003e responseMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":117,"author":{"gitId":"-"},"content":" Map\u003cUUID, Account\u003e accountsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":118,"author":{"gitId":"-"},"content":" Map\u003cUUID, User\u003e usersMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":119,"author":{"gitId":"-"},"content":" Map\u003cUUID, Notification\u003e notificationsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" // Replace any placeholder IDs with newly generated UUIDs"},{"lineNumber":122,"author":{"gitId":"-"},"content":" // Store mapping of placeholder ID to actual entity to keep track of"},{"lineNumber":123,"author":{"gitId":"-"},"content":" // associations between entities"},{"lineNumber":124,"author":{"gitId":"-"},"content":" for (AccountRequest accountRequest : accountRequests) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" accountRequest.setId(UUID.randomUUID());"},{"lineNumber":126,"author":{"gitId":"-"},"content":" accountRequest.generateNewRegistrationKey();"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" for (Course course : courses) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" coursesMap.put(course.getId(), course);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" for (Section section : sections) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d section.getId();"},{"lineNumber":135,"author":{"gitId":"-"},"content":" section.setId(UUID.randomUUID());"},{"lineNumber":136,"author":{"gitId":"-"},"content":" sectionsMap.put(placeholderId, section);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" Course course \u003d coursesMap.get(section.getCourse().getId());"},{"lineNumber":138,"author":{"gitId":"-"},"content":" section.setCourse(course);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" }"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" for (Team team : teams) {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d team.getId();"},{"lineNumber":143,"author":{"gitId":"-"},"content":" team.setId(UUID.randomUUID());"},{"lineNumber":144,"author":{"gitId":"-"},"content":" teamsMap.put(placeholderId, team);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" Section section \u003d sectionsMap.get(team.getSection().getId());"},{"lineNumber":146,"author":{"gitId":"-"},"content":" team.setSection(section);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d session.getId();"},{"lineNumber":151,"author":{"gitId":"-"},"content":" session.setId(UUID.randomUUID());"},{"lineNumber":152,"author":{"gitId":"-"},"content":" sessionsMap.put(placeholderId, session);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" Course course \u003d coursesMap.get(session.getCourse().getId());"},{"lineNumber":154,"author":{"gitId":"-"},"content":" session.setCourse(course);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" }"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" for (FeedbackQuestion question : questions) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d question.getId();"},{"lineNumber":159,"author":{"gitId":"-"},"content":" question.setId(UUID.randomUUID());"},{"lineNumber":160,"author":{"gitId":"-"},"content":" questionMap.put(placeholderId, question);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d sessionsMap.get(question.getFeedbackSession().getId());"},{"lineNumber":162,"author":{"gitId":"-"},"content":" question.setFeedbackSession(fs);"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d response.getId();"},{"lineNumber":167,"author":{"gitId":"-"},"content":" response.setId(UUID.randomUUID());"},{"lineNumber":168,"author":{"gitId":"-"},"content":" responseMap.put(placeholderId, response);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" FeedbackQuestion fq \u003d questionMap.get(response.getFeedbackQuestion().getId());"},{"lineNumber":170,"author":{"gitId":"-"},"content":" Section giverSection \u003d sectionsMap.get(response.getGiverSection().getId());"},{"lineNumber":171,"author":{"gitId":"-"},"content":" Section recipientSection \u003d response.getRecipientSection() !\u003d null"},{"lineNumber":172,"author":{"gitId":"-"},"content":" ? sectionsMap.get(response.getRecipientSection().getId()) : null;"},{"lineNumber":173,"author":{"gitId":"-"},"content":" response.setFeedbackQuestion(fq);"},{"lineNumber":174,"author":{"gitId":"-"},"content":" response.setGiverSection(giverSection);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" response.setRecipientSection(recipientSection);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" for (FeedbackResponseComment responseComment : responseComments) {"},{"lineNumber":179,"author":{"gitId":"-"},"content":" FeedbackResponse fr \u003d responseMap.get(responseComment.getFeedbackResponse().getId());"},{"lineNumber":180,"author":{"gitId":"-"},"content":" Section giverSection \u003d sectionsMap.get(responseComment.getGiverSection().getId());"},{"lineNumber":181,"author":{"gitId":"-"},"content":" Section recipientSection \u003d sectionsMap.get(responseComment.getRecipientSection().getId());"},{"lineNumber":182,"author":{"gitId":"-"},"content":" responseComment.setFeedbackResponse(fr);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" responseComment.setGiverSection(giverSection);"},{"lineNumber":184,"author":{"gitId":"-"},"content":" responseComment.setRecipientSection(recipientSection);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" for (Account account : accounts) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d account.getId();"},{"lineNumber":189,"author":{"gitId":"-"},"content":" account.setId(UUID.randomUUID());"},{"lineNumber":190,"author":{"gitId":"-"},"content":" accountsMap.put(placeholderId, account);"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":194,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d instructor.getId();"},{"lineNumber":195,"author":{"gitId":"-"},"content":" instructor.setId(UUID.randomUUID());"},{"lineNumber":196,"author":{"gitId":"-"},"content":" usersMap.put(placeholderId, instructor);"},{"lineNumber":197,"author":{"gitId":"-"},"content":" Course course \u003d coursesMap.get(instructor.getCourse().getId());"},{"lineNumber":198,"author":{"gitId":"-"},"content":" instructor.setCourse(course);"},{"lineNumber":199,"author":{"gitId":"-"},"content":" if (instructor.getAccount() !\u003d null) {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" Account account \u003d accountsMap.get(instructor.getAccount().getId());"},{"lineNumber":201,"author":{"gitId":"-"},"content":" instructor.setAccount(account);"},{"lineNumber":202,"author":{"gitId":"-"},"content":" }"},{"lineNumber":203,"author":{"gitId":"-"},"content":" instructor.generateNewRegistrationKey();"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" for (Student student : students) {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d student.getId();"},{"lineNumber":208,"author":{"gitId":"-"},"content":" student.setId(UUID.randomUUID());"},{"lineNumber":209,"author":{"gitId":"-"},"content":" usersMap.put(placeholderId, student);"},{"lineNumber":210,"author":{"gitId":"-"},"content":" Course course \u003d coursesMap.get(student.getCourse().getId());"},{"lineNumber":211,"author":{"gitId":"-"},"content":" student.setCourse(course);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" Team team \u003d teamsMap.get(student.getTeam().getId());"},{"lineNumber":213,"author":{"gitId":"-"},"content":" student.setTeam(team);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" if (student.getAccount() !\u003d null) {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" Account account \u003d accountsMap.get(student.getAccount().getId());"},{"lineNumber":216,"author":{"gitId":"-"},"content":" student.setAccount(account);"},{"lineNumber":217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":218,"author":{"gitId":"-"},"content":" student.generateNewRegistrationKey();"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"dishenggg"},"content":" for (FeedbackSessionLog log : sessionLogs) {"},{"lineNumber":222,"author":{"gitId":"dishenggg"},"content":" log.setId(UUID.randomUUID());"},{"lineNumber":223,"author":{"gitId":"dishenggg"},"content":" FeedbackSession fs \u003d sessionsMap.get(log.getFeedbackSession().getId());"},{"lineNumber":224,"author":{"gitId":"dishenggg"},"content":" log.setFeedbackSession(fs);"},{"lineNumber":225,"author":{"gitId":"dishenggg"},"content":" Student student \u003d (Student) usersMap.get(log.getStudent().getId());"},{"lineNumber":226,"author":{"gitId":"dishenggg"},"content":" log.setStudent(student);"},{"lineNumber":227,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":228,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" for (Notification notification : notifications) {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" UUID placeholderId \u003d notification.getId();"},{"lineNumber":231,"author":{"gitId":"-"},"content":" notification.setId(UUID.randomUUID());"},{"lineNumber":232,"author":{"gitId":"-"},"content":" notificationsMap.put(placeholderId, notification);"},{"lineNumber":233,"author":{"gitId":"-"},"content":" }"},{"lineNumber":234,"author":{"gitId":"-"},"content":""},{"lineNumber":235,"author":{"gitId":"-"},"content":" for (ReadNotification readNotification : readNotifications) {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" readNotification.setId(UUID.randomUUID());"},{"lineNumber":237,"author":{"gitId":"-"},"content":" Account account \u003d accountsMap.get(readNotification.getAccount().getId());"},{"lineNumber":238,"author":{"gitId":"-"},"content":" readNotification.setAccount(account);"},{"lineNumber":239,"author":{"gitId":"-"},"content":" account.addReadNotification(readNotification);"},{"lineNumber":240,"author":{"gitId":"-"},"content":" Notification notification \u003d notificationsMap.get(readNotification.getNotification().getId());"},{"lineNumber":241,"author":{"gitId":"-"},"content":" readNotification.setNotification(notification);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" }"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" for (DeadlineExtension deadlineExtension : deadlineExtensions) {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" deadlineExtension.setId(UUID.randomUUID());"},{"lineNumber":246,"author":{"gitId":"-"},"content":" FeedbackSession session \u003d sessionsMap.get(deadlineExtension.getFeedbackSession().getId());"},{"lineNumber":247,"author":{"gitId":"-"},"content":" deadlineExtension.setFeedbackSession(session);"},{"lineNumber":248,"author":{"gitId":"-"},"content":" User user \u003d usersMap.get(deadlineExtension.getUser().getId());"},{"lineNumber":249,"author":{"gitId":"-"},"content":" deadlineExtension.setUser(user);"},{"lineNumber":250,"author":{"gitId":"-"},"content":" }"},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":" return dataBundle;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":256,"author":{"gitId":"-"},"content":" * Persists data in the given {@link DataBundle} to the database."},{"lineNumber":257,"author":{"gitId":"-"},"content":" *"},{"lineNumber":258,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if invalid data is encountered."},{"lineNumber":259,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if an entity was not found."},{"lineNumber":260,"author":{"gitId":"-"},"content":" * (ReadNotification requires Account and Notification to be created)"},{"lineNumber":261,"author":{"gitId":"-"},"content":" */"},{"lineNumber":262,"author":{"gitId":"-"},"content":" public SqlDataBundle persistDataBundle(SqlDataBundle dataBundle)"},{"lineNumber":263,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException, EntityDoesNotExistException {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" if (dataBundle \u003d\u003d null) {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(\"Null data bundle\");"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"yuanxi1"},"content":" linkEntities(dataBundle);"},{"lineNumber":269,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" Collection\u003cAccount\u003e accounts \u003d dataBundle.accounts.values();"},{"lineNumber":271,"author":{"gitId":"-"},"content":" Collection\u003cAccountRequest\u003e accountRequests \u003d dataBundle.accountRequests.values();"},{"lineNumber":272,"author":{"gitId":"-"},"content":" Collection\u003cCourse\u003e courses \u003d dataBundle.courses.values();"},{"lineNumber":273,"author":{"gitId":"-"},"content":" Collection\u003cSection\u003e sections \u003d dataBundle.sections.values();"},{"lineNumber":274,"author":{"gitId":"-"},"content":" Collection\u003cTeam\u003e teams \u003d dataBundle.teams.values();"},{"lineNumber":275,"author":{"gitId":"-"},"content":" Collection\u003cInstructor\u003e instructors \u003d dataBundle.instructors.values();"},{"lineNumber":276,"author":{"gitId":"-"},"content":" Collection\u003cStudent\u003e students \u003d dataBundle.students.values();"},{"lineNumber":277,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackSession\u003e sessions \u003d dataBundle.feedbackSessions.values();"},{"lineNumber":278,"author":{"gitId":"dishenggg"},"content":" Collection\u003cFeedbackSessionLog\u003e sessionLogs \u003d dataBundle.feedbackSessionLogs.values();"},{"lineNumber":279,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackQuestion\u003e questions \u003d dataBundle.feedbackQuestions.values();"},{"lineNumber":280,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackResponse\u003e responses \u003d dataBundle.feedbackResponses.values();"},{"lineNumber":281,"author":{"gitId":"-"},"content":" Collection\u003cFeedbackResponseComment\u003e responseComments \u003d dataBundle.feedbackResponseComments.values();"},{"lineNumber":282,"author":{"gitId":"-"},"content":" Collection\u003cDeadlineExtension\u003e deadlineExtensions \u003d dataBundle.deadlineExtensions.values();"},{"lineNumber":283,"author":{"gitId":"-"},"content":" Collection\u003cNotification\u003e notifications \u003d dataBundle.notifications.values();"},{"lineNumber":284,"author":{"gitId":"-"},"content":" Collection\u003cReadNotification\u003e readNotifications \u003d dataBundle.readNotifications.values();"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" for (AccountRequest accountRequest : accountRequests) {"},{"lineNumber":287,"author":{"gitId":"-"},"content":" accountRequestsLogic.createAccountRequest(accountRequest);"},{"lineNumber":288,"author":{"gitId":"-"},"content":" }"},{"lineNumber":289,"author":{"gitId":"-"},"content":""},{"lineNumber":290,"author":{"gitId":"-"},"content":" for (Notification notification : notifications) {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" notificationsLogic.createNotification(notification);"},{"lineNumber":292,"author":{"gitId":"-"},"content":" }"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":" for (Course course : courses) {"},{"lineNumber":295,"author":{"gitId":"-"},"content":" coursesLogic.createCourse(course);"},{"lineNumber":296,"author":{"gitId":"-"},"content":" }"},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":" for (Section section : sections) {"},{"lineNumber":299,"author":{"gitId":"-"},"content":" coursesLogic.createSection(section);"},{"lineNumber":300,"author":{"gitId":"-"},"content":" }"},{"lineNumber":301,"author":{"gitId":"-"},"content":""},{"lineNumber":302,"author":{"gitId":"-"},"content":" for (Team team : teams) {"},{"lineNumber":303,"author":{"gitId":"-"},"content":" coursesLogic.createTeam(team);"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" fsLogic.createFeedbackSession(session);"},{"lineNumber":308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" for (FeedbackQuestion question : questions) {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" fqLogic.createFeedbackQuestion(question);"},{"lineNumber":312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"-"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":315,"author":{"gitId":"-"},"content":" frLogic.createFeedbackResponse(response);"},{"lineNumber":316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" for (FeedbackResponseComment responseComment : responseComments) {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" responseComment.setId(null);"},{"lineNumber":320,"author":{"gitId":"-"},"content":" frcLogic.createFeedbackResponseComment(responseComment);"},{"lineNumber":321,"author":{"gitId":"-"},"content":" }"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" for (Account account : accounts) {"},{"lineNumber":324,"author":{"gitId":"-"},"content":" accountsLogic.createAccount(account);"},{"lineNumber":325,"author":{"gitId":"-"},"content":" }"},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" usersLogic.createInstructor(instructor);"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" for (Student student : students) {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" usersLogic.createStudent(student);"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"dishenggg"},"content":" fslLogic.createFeedbackSessionLogs(new ArrayList\u003c\u003e(sessionLogs));"},{"lineNumber":336,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":" for (ReadNotification readNotification : readNotifications) {"},{"lineNumber":338,"author":{"gitId":"-"},"content":" accountsLogic.updateReadNotifications(readNotification.getAccount().getGoogleId(),"},{"lineNumber":339,"author":{"gitId":"-"},"content":" readNotification.getNotification().getId(), readNotification.getNotification().getEndTime());"},{"lineNumber":340,"author":{"gitId":"-"},"content":" }"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":" for (DeadlineExtension deadlineExtension : deadlineExtensions) {"},{"lineNumber":343,"author":{"gitId":"-"},"content":" deadlineExtensionsLogic.createDeadlineExtension(deadlineExtension);"},{"lineNumber":344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" return dataBundle;"},{"lineNumber":347,"author":{"gitId":"-"},"content":" }"},{"lineNumber":348,"author":{"gitId":"-"},"content":""},{"lineNumber":349,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":350,"author":{"gitId":"-"},"content":" * Removes the items in the data bundle from the database."},{"lineNumber":351,"author":{"gitId":"-"},"content":" */"},{"lineNumber":352,"author":{"gitId":"-"},"content":" public void removeDataBundle(SqlDataBundle dataBundle) throws InvalidParametersException {"},{"lineNumber":353,"author":{"gitId":"-"},"content":" if (dataBundle \u003d\u003d null) {"},{"lineNumber":354,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(\"Data bundle is null\");"},{"lineNumber":355,"author":{"gitId":"-"},"content":" }"},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"yuanxi1"},"content":" linkEntities(dataBundle);"},{"lineNumber":358,"author":{"gitId":"-"},"content":" dataBundle.courses.values().forEach(course -\u003e {"},{"lineNumber":359,"author":{"gitId":"-"},"content":" coursesLogic.deleteCourseCascade(course.getId());"},{"lineNumber":360,"author":{"gitId":"-"},"content":" });"},{"lineNumber":361,"author":{"gitId":"-"},"content":" dataBundle.notifications.values().forEach(notification -\u003e {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" notificationsLogic.deleteNotification(notification.getId());"},{"lineNumber":363,"author":{"gitId":"-"},"content":" });"},{"lineNumber":364,"author":{"gitId":"-"},"content":" dataBundle.accounts.values().forEach(account -\u003e {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" accountsLogic.deleteAccount(account.getGoogleId());"},{"lineNumber":366,"author":{"gitId":"-"},"content":" });"},{"lineNumber":367,"author":{"gitId":"-"},"content":" dataBundle.accountRequests.values().forEach(accountRequest -\u003e {"},{"lineNumber":368,"author":{"gitId":"dishenggg"},"content":" accountRequestsLogic.deleteAccountRequest(accountRequest.getId());"},{"lineNumber":369,"author":{"gitId":"-"},"content":" });"},{"lineNumber":370,"author":{"gitId":"-"},"content":" }"},{"lineNumber":371,"author":{"gitId":"-"},"content":""},{"lineNumber":372,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":373,"author":{"gitId":"-"},"content":" * Creates document for entities that have document, i.e. searchable."},{"lineNumber":374,"author":{"gitId":"-"},"content":" */"},{"lineNumber":375,"author":{"gitId":"-"},"content":" public void putDocuments(SqlDataBundle dataBundle) throws SearchServiceException {"},{"lineNumber":376,"author":{"gitId":"-"},"content":" Map\u003cString, Student\u003e students \u003d dataBundle.students;"},{"lineNumber":377,"author":{"gitId":"-"},"content":" for (Student student : students.values()) {"},{"lineNumber":378,"author":{"gitId":"-"},"content":" usersLogic.putStudentDocument(student);"},{"lineNumber":379,"author":{"gitId":"-"},"content":" }"},{"lineNumber":380,"author":{"gitId":"-"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":" Map\u003cString, Instructor\u003e instructors \u003d dataBundle.instructors;"},{"lineNumber":382,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors.values()) {"},{"lineNumber":383,"author":{"gitId":"-"},"content":" usersLogic.putInstructorDocument(instructor);"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" Map\u003cString, AccountRequest\u003e accountRequests \u003d dataBundle.accountRequests;"},{"lineNumber":387,"author":{"gitId":"-"},"content":" for (AccountRequest accountRequest : accountRequests.values()) {"},{"lineNumber":388,"author":{"gitId":"-"},"content":" accountRequestsLogic.putDocument(accountRequest);"},{"lineNumber":389,"author":{"gitId":"-"},"content":" }"},{"lineNumber":390,"author":{"gitId":"-"},"content":" }"},{"lineNumber":391,"author":{"gitId":"-"},"content":""},{"lineNumber":392,"author":{"gitId":"yuanxi1"},"content":" private static void linkEntities(SqlDataBundle dataBundle) {"},{"lineNumber":393,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cAccount\u003e accounts \u003d dataBundle.accounts.values();"},{"lineNumber":394,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cCourse\u003e courses \u003d dataBundle.courses.values();"},{"lineNumber":395,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cSection\u003e sections \u003d dataBundle.sections.values();"},{"lineNumber":396,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cTeam\u003e teams \u003d dataBundle.teams.values();"},{"lineNumber":397,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cInstructor\u003e instructors \u003d dataBundle.instructors.values();"},{"lineNumber":398,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cStudent\u003e students \u003d dataBundle.students.values();"},{"lineNumber":399,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cFeedbackSession\u003e sessions \u003d dataBundle.feedbackSessions.values();"},{"lineNumber":400,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cFeedbackQuestion\u003e questions \u003d dataBundle.feedbackQuestions.values();"},{"lineNumber":401,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cFeedbackResponse\u003e responses \u003d dataBundle.feedbackResponses.values();"},{"lineNumber":402,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cFeedbackResponseComment\u003e responseComments \u003d dataBundle.feedbackResponseComments.values();"},{"lineNumber":403,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cDeadlineExtension\u003e deadlineExtensions \u003d dataBundle.deadlineExtensions.values();"},{"lineNumber":404,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cNotification\u003e notifications \u003d dataBundle.notifications.values();"},{"lineNumber":405,"author":{"gitId":"yuanxi1"},"content":" Collection\u003cReadNotification\u003e readNotifications \u003d dataBundle.readNotifications.values();"},{"lineNumber":406,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":407,"author":{"gitId":"yuanxi1"},"content":" // Mapping of IDs or placeholder IDs to actual entity"},{"lineNumber":408,"author":{"gitId":"yuanxi1"},"content":" Map\u003cString, Course\u003e coursesMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":409,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, Section\u003e sectionsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":410,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, Team\u003e teamsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":411,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, FeedbackSession\u003e sessionsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":412,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, FeedbackQuestion\u003e questionMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":413,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, FeedbackResponse\u003e responseMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":414,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, Account\u003e accountsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":415,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, User\u003e usersMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":416,"author":{"gitId":"yuanxi1"},"content":" Map\u003cUUID, Notification\u003e notificationsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":417,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":418,"author":{"gitId":"yuanxi1"},"content":" for (Course course : courses) {"},{"lineNumber":419,"author":{"gitId":"yuanxi1"},"content":" coursesMap.put(course.getId(), course);"},{"lineNumber":420,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":421,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":422,"author":{"gitId":"yuanxi1"},"content":" for (Section section : sections) {"},{"lineNumber":423,"author":{"gitId":"yuanxi1"},"content":" sectionsMap.put(section.getId(), section);"},{"lineNumber":424,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d coursesMap.get(section.getCourse().getId());"},{"lineNumber":425,"author":{"gitId":"yuanxi1"},"content":" section.setCourse(course);"},{"lineNumber":426,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":427,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":428,"author":{"gitId":"yuanxi1"},"content":" for (Team team : teams) {"},{"lineNumber":429,"author":{"gitId":"yuanxi1"},"content":" teamsMap.put(team.getId(), team);"},{"lineNumber":430,"author":{"gitId":"yuanxi1"},"content":" Section section \u003d sectionsMap.get(team.getSection().getId());"},{"lineNumber":431,"author":{"gitId":"yuanxi1"},"content":" team.setSection(section);"},{"lineNumber":432,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":433,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":434,"author":{"gitId":"yuanxi1"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":435,"author":{"gitId":"yuanxi1"},"content":" sessionsMap.put(session.getId(), session);"},{"lineNumber":436,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d coursesMap.get(session.getCourse().getId());"},{"lineNumber":437,"author":{"gitId":"yuanxi1"},"content":" session.setCourse(course);"},{"lineNumber":438,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":439,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":440,"author":{"gitId":"yuanxi1"},"content":" for (FeedbackQuestion question : questions) {"},{"lineNumber":441,"author":{"gitId":"yuanxi1"},"content":" questionMap.put(question.getId(), question);"},{"lineNumber":442,"author":{"gitId":"yuanxi1"},"content":" FeedbackSession fs \u003d sessionsMap.get(question.getFeedbackSession().getId());"},{"lineNumber":443,"author":{"gitId":"yuanxi1"},"content":" question.setFeedbackSession(fs);"},{"lineNumber":444,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":445,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":446,"author":{"gitId":"yuanxi1"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":447,"author":{"gitId":"yuanxi1"},"content":" UUID placeholderId \u003d response.getId();"},{"lineNumber":448,"author":{"gitId":"yuanxi1"},"content":" responseMap.put(placeholderId, response);"},{"lineNumber":449,"author":{"gitId":"yuanxi1"},"content":" FeedbackQuestion fq \u003d questionMap.get(response.getFeedbackQuestion().getId());"},{"lineNumber":450,"author":{"gitId":"yuanxi1"},"content":" Section giverSection \u003d sectionsMap.get(response.getGiverSection().getId());"},{"lineNumber":451,"author":{"gitId":"yuanxi1"},"content":" Section recipientSection \u003d response.getRecipientSection() !\u003d null"},{"lineNumber":452,"author":{"gitId":"yuanxi1"},"content":" ? sectionsMap.get(response.getRecipientSection().getId()) : null;"},{"lineNumber":453,"author":{"gitId":"yuanxi1"},"content":" response.setFeedbackQuestion(fq);"},{"lineNumber":454,"author":{"gitId":"yuanxi1"},"content":" response.setGiverSection(giverSection);"},{"lineNumber":455,"author":{"gitId":"yuanxi1"},"content":" response.setRecipientSection(recipientSection);"},{"lineNumber":456,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":457,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":458,"author":{"gitId":"yuanxi1"},"content":" for (FeedbackResponseComment responseComment : responseComments) {"},{"lineNumber":459,"author":{"gitId":"yuanxi1"},"content":" FeedbackResponse fr \u003d responseMap.get(responseComment.getFeedbackResponse().getId());"},{"lineNumber":460,"author":{"gitId":"yuanxi1"},"content":" Section giverSection \u003d sectionsMap.get(responseComment.getGiverSection().getId());"},{"lineNumber":461,"author":{"gitId":"yuanxi1"},"content":" Section recipientSection \u003d sectionsMap.get(responseComment.getRecipientSection().getId());"},{"lineNumber":462,"author":{"gitId":"yuanxi1"},"content":" responseComment.setFeedbackResponse(fr);"},{"lineNumber":463,"author":{"gitId":"yuanxi1"},"content":" responseComment.setGiverSection(giverSection);"},{"lineNumber":464,"author":{"gitId":"yuanxi1"},"content":" responseComment.setRecipientSection(recipientSection);"},{"lineNumber":465,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":466,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":467,"author":{"gitId":"yuanxi1"},"content":" for (Account account : accounts) {"},{"lineNumber":468,"author":{"gitId":"yuanxi1"},"content":" accountsMap.put(account.getId(), account);"},{"lineNumber":469,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":470,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":471,"author":{"gitId":"yuanxi1"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":472,"author":{"gitId":"yuanxi1"},"content":" usersMap.put(instructor.getId(), instructor);"},{"lineNumber":473,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d coursesMap.get(instructor.getCourse().getId());"},{"lineNumber":474,"author":{"gitId":"yuanxi1"},"content":" instructor.setCourse(course);"},{"lineNumber":475,"author":{"gitId":"yuanxi1"},"content":" if (instructor.getAccount() !\u003d null) {"},{"lineNumber":476,"author":{"gitId":"yuanxi1"},"content":" Account account \u003d accountsMap.get(instructor.getAccount().getId());"},{"lineNumber":477,"author":{"gitId":"yuanxi1"},"content":" instructor.setAccount(account);"},{"lineNumber":478,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":479,"author":{"gitId":"yuanxi1"},"content":" instructor.generateNewRegistrationKey();"},{"lineNumber":480,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":481,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":482,"author":{"gitId":"yuanxi1"},"content":" for (Student student : students) {"},{"lineNumber":483,"author":{"gitId":"yuanxi1"},"content":" usersMap.put(student.getId(), student);"},{"lineNumber":484,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d coursesMap.get(student.getCourse().getId());"},{"lineNumber":485,"author":{"gitId":"yuanxi1"},"content":" student.setCourse(course);"},{"lineNumber":486,"author":{"gitId":"yuanxi1"},"content":" Team team \u003d teamsMap.get(student.getTeam().getId());"},{"lineNumber":487,"author":{"gitId":"yuanxi1"},"content":" student.setTeam(team);"},{"lineNumber":488,"author":{"gitId":"yuanxi1"},"content":" if (student.getAccount() !\u003d null) {"},{"lineNumber":489,"author":{"gitId":"yuanxi1"},"content":" Account account \u003d accountsMap.get(student.getAccount().getId());"},{"lineNumber":490,"author":{"gitId":"yuanxi1"},"content":" student.setAccount(account);"},{"lineNumber":491,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":492,"author":{"gitId":"yuanxi1"},"content":" student.generateNewRegistrationKey();"},{"lineNumber":493,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":494,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":495,"author":{"gitId":"yuanxi1"},"content":" for (Notification notification : notifications) {"},{"lineNumber":496,"author":{"gitId":"yuanxi1"},"content":" notificationsMap.put(notification.getId(), notification);"},{"lineNumber":497,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":498,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":499,"author":{"gitId":"yuanxi1"},"content":" for (ReadNotification readNotification : readNotifications) {"},{"lineNumber":500,"author":{"gitId":"yuanxi1"},"content":" Account account \u003d accountsMap.get(readNotification.getAccount().getId());"},{"lineNumber":501,"author":{"gitId":"yuanxi1"},"content":" readNotification.setAccount(account);"},{"lineNumber":502,"author":{"gitId":"yuanxi1"},"content":" Notification notification \u003d notificationsMap.get(readNotification.getNotification().getId());"},{"lineNumber":503,"author":{"gitId":"yuanxi1"},"content":" readNotification.setNotification(notification);"},{"lineNumber":504,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":505,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":506,"author":{"gitId":"yuanxi1"},"content":" for (DeadlineExtension deadlineExtension : deadlineExtensions) {"},{"lineNumber":507,"author":{"gitId":"yuanxi1"},"content":" FeedbackSession session \u003d sessionsMap.get(deadlineExtension.getFeedbackSession().getId());"},{"lineNumber":508,"author":{"gitId":"yuanxi1"},"content":" deadlineExtension.setFeedbackSession(session);"},{"lineNumber":509,"author":{"gitId":"yuanxi1"},"content":" User user \u003d usersMap.get(deadlineExtension.getUser().getId());"},{"lineNumber":510,"author":{"gitId":"yuanxi1"},"content":" deadlineExtension.setUser(user);"},{"lineNumber":511,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":512,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":513,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":124,"dishenggg":20,"-":369}},{"path":"src/main/java/teammates/sqllogic/core/FeedbackQuestionsLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.HashSet;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"import jakarta.annotation.Nullable;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackQuestionRecipient;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlCourseRoster;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMcqQuestionDetails;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMsqQuestionDetails;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionType;"},{"lineNumber":22,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackQuestionsDb;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackMcqQuestion;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackMsqQuestion;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackQuestionUpdateRequest;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":37,"author":{"gitId":"-"},"content":" * Handles operations related to feedback questions."},{"lineNumber":38,"author":{"gitId":"-"},"content":" *"},{"lineNumber":39,"author":{"gitId":"-"},"content":" * @see FeedbackQuestion"},{"lineNumber":40,"author":{"gitId":"-"},"content":" * @see FeedbackQuestionsDb"},{"lineNumber":41,"author":{"gitId":"-"},"content":" */"},{"lineNumber":42,"author":{"gitId":"-"},"content":"public final class FeedbackQuestionsLogic {"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" static final String USER_NAME_FOR_SELF \u003d \"Myself\";"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final FeedbackQuestionsLogic instance \u003d new FeedbackQuestionsLogic();"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private FeedbackQuestionsDb fqDb;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private CoursesLogic coursesLogic;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private FeedbackResponsesLogic frLogic;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private UsersLogic usersLogic;"},{"lineNumber":53,"author":{"gitId":"-"},"content":" private FeedbackSessionsLogic feedbackSessionsLogic;"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" private FeedbackQuestionsLogic() {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" public static FeedbackQuestionsLogic inst() {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" void initLogicDependencies(FeedbackQuestionsDb fqDb, CoursesLogic coursesLogic, FeedbackResponsesLogic frLogic,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" UsersLogic usersLogic, FeedbackSessionsLogic feedbackSessionsLogic) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" this.fqDb \u003d fqDb;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" this.coursesLogic \u003d coursesLogic;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" this.frLogic \u003d frLogic;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" this.usersLogic \u003d usersLogic;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.feedbackSessionsLogic \u003d feedbackSessionsLogic;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Creates a new feedback question."},{"lineNumber":74,"author":{"gitId":"-"},"content":" *"},{"lineNumber":75,"author":{"gitId":"-"},"content":" * @return the created question"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the question is invalid"},{"lineNumber":77,"author":{"gitId":"marquestye"},"content":" * @throws EntityAlreadyExistsException if the question already exists"},{"lineNumber":78,"author":{"gitId":"-"},"content":" */"},{"lineNumber":79,"author":{"gitId":"marquestye"},"content":" public FeedbackQuestion createFeedbackQuestion(FeedbackQuestion feedbackQuestion)"},{"lineNumber":80,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":81,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion createdQuestion \u003d fqDb.createFeedbackQuestion(feedbackQuestion);"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsBefore \u003d getFeedbackQuestionsForSession(feedbackQuestion.getFeedbackSession());"},{"lineNumber":84,"author":{"gitId":"marquestye"},"content":" questionsBefore.remove(createdQuestion);"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" adjustQuestionNumbers(questionsBefore.size() + 1, createdQuestion.getQuestionNumber(), questionsBefore);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" return createdQuestion;"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":91,"author":{"gitId":"-"},"content":" * Gets an feedback question by feedback question id."},{"lineNumber":92,"author":{"gitId":"-"},"content":" * @param id of feedback question."},{"lineNumber":93,"author":{"gitId":"-"},"content":" * @return the specified feedback question."},{"lineNumber":94,"author":{"gitId":"-"},"content":" */"},{"lineNumber":95,"author":{"gitId":"-"},"content":" public FeedbackQuestion getFeedbackQuestion(UUID id) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" return fqDb.getFeedbackQuestion(id);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * Gets a {@link List} of every FeedbackQuestion in the given session."},{"lineNumber":101,"author":{"gitId":"-"},"content":" */"},{"lineNumber":102,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForSession(FeedbackSession feedbackSession) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questions \u003d fqDb.getFeedbackQuestionsForSession(feedbackSession.getId());"},{"lineNumber":105,"author":{"gitId":"-"},"content":" questions.sort(null);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" // check whether the question numbers are consistent"},{"lineNumber":108,"author":{"gitId":"-"},"content":" if (questions.size() \u003e 1 \u0026\u0026 !areQuestionNumbersConsistent(questions)) {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" log.severe(feedbackSession.getCourse().getId() + \": \" + feedbackSession.getName()"},{"lineNumber":110,"author":{"gitId":"-"},"content":" + \" has invalid question numbers\");"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" return questions;"},{"lineNumber":114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":117,"author":{"gitId":"-"},"content":" * Checks if there are any questions for the given session that instructors can view/submit."},{"lineNumber":118,"author":{"gitId":"-"},"content":" */"},{"lineNumber":119,"author":{"gitId":"-"},"content":" public boolean hasFeedbackQuestionsForInstructors(List\u003cFeedbackQuestion\u003e fqs, boolean isCreator) {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" boolean hasQuestions \u003d hasFeedbackQuestionsForGiverType(fqs, FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" if (hasQuestions) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" if (isCreator) {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" hasQuestions \u003d hasFeedbackQuestionsForGiverType(fqs, FeedbackParticipantType.SELF);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" return hasQuestions;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * Gets a {@code List} of all questions for the given session that instructors can view/submit."},{"lineNumber":134,"author":{"gitId":"-"},"content":" */"},{"lineNumber":135,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForInstructors("},{"lineNumber":136,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession, String userEmail) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" questions.addAll("},{"lineNumber":140,"author":{"gitId":"-"},"content":" fqDb.getFeedbackQuestionsForGiverType("},{"lineNumber":141,"author":{"gitId":"-"},"content":" feedbackSession, FeedbackParticipantType.INSTRUCTORS));"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" if (feedbackSession.getCreatorEmail().equals(userEmail)) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" questions.addAll("},{"lineNumber":145,"author":{"gitId":"-"},"content":" fqDb.getFeedbackQuestionsForGiverType("},{"lineNumber":146,"author":{"gitId":"-"},"content":" feedbackSession, FeedbackParticipantType.SELF));"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" return questions;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * Gets a {@code List} of all questions for the given session that students can view/submit."},{"lineNumber":154,"author":{"gitId":"-"},"content":" */"},{"lineNumber":155,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForStudents(FeedbackSession feedbackSession) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" questions.addAll(fqDb.getFeedbackQuestionsForGiverType(feedbackSession, FeedbackParticipantType.STUDENTS));"},{"lineNumber":159,"author":{"gitId":"-"},"content":" questions.addAll(fqDb.getFeedbackQuestionsForGiverType(feedbackSession, FeedbackParticipantType.SELF));"},{"lineNumber":160,"author":{"gitId":"dishenggg"},"content":" questions.sort(null);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" return questions;"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":165,"author":{"gitId":"-"},"content":" * Updates a feedback question."},{"lineNumber":166,"author":{"gitId":"-"},"content":" *"},{"lineNumber":167,"author":{"gitId":"-"},"content":" * \u003cp\u003eCascade adjust the question number of questions in the same session."},{"lineNumber":168,"author":{"gitId":"-"},"content":" *"},{"lineNumber":169,"author":{"gitId":"-"},"content":" * \u003cp\u003eCascade adjust the existing response of the question."},{"lineNumber":170,"author":{"gitId":"-"},"content":" *"},{"lineNumber":171,"author":{"gitId":"-"},"content":" * @return updated feedback question"},{"lineNumber":172,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":173,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback question cannot be found"},{"lineNumber":174,"author":{"gitId":"-"},"content":" */"},{"lineNumber":175,"author":{"gitId":"-"},"content":" public FeedbackQuestion updateFeedbackQuestionCascade(UUID questionId, FeedbackQuestionUpdateRequest updateRequest)"},{"lineNumber":176,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" FeedbackQuestion question \u003d fqDb.getFeedbackQuestion(questionId);"},{"lineNumber":178,"author":{"gitId":"-"},"content":" if (question \u003d\u003d null) {"},{"lineNumber":179,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to update a feedback question that does not exist.\");"},{"lineNumber":180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" int oldQuestionNumber \u003d question.getQuestionNumber();"},{"lineNumber":183,"author":{"gitId":"-"},"content":" int newQuestionNumber \u003d updateRequest.getQuestionNumber();"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e previousQuestionsInSession \u003d new ArrayList\u003c\u003e();"},{"lineNumber":186,"author":{"gitId":"-"},"content":" if (oldQuestionNumber !\u003d newQuestionNumber) {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" // get questions in session before update"},{"lineNumber":188,"author":{"gitId":"-"},"content":" previousQuestionsInSession \u003d getFeedbackQuestionsForSession(question.getFeedbackSession());"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" // update question"},{"lineNumber":192,"author":{"gitId":"-"},"content":" question.setQuestionNumber(updateRequest.getQuestionNumber());"},{"lineNumber":193,"author":{"gitId":"-"},"content":" question.setDescription(updateRequest.getQuestionDescription());"},{"lineNumber":194,"author":{"gitId":"-"},"content":" question.setQuestionDetails(updateRequest.getQuestionDetails());"},{"lineNumber":195,"author":{"gitId":"-"},"content":" question.setGiverType(updateRequest.getGiverType());"},{"lineNumber":196,"author":{"gitId":"-"},"content":" question.setRecipientType(updateRequest.getRecipientType());"},{"lineNumber":197,"author":{"gitId":"-"},"content":" question.setNumOfEntitiesToGiveFeedbackTo(updateRequest.getNumberOfEntitiesToGiveFeedbackTo());"},{"lineNumber":198,"author":{"gitId":"-"},"content":" question.setShowResponsesTo(updateRequest.getShowResponsesTo());"},{"lineNumber":199,"author":{"gitId":"-"},"content":" question.setShowGiverNameTo(updateRequest.getShowGiverNameTo());"},{"lineNumber":200,"author":{"gitId":"-"},"content":" question.setShowRecipientNameTo(updateRequest.getShowRecipientNameTo());"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" // validate questions (giver \u0026 recipient)"},{"lineNumber":203,"author":{"gitId":"-"},"content":" String err \u003d question.getQuestionDetailsCopy().validateGiverRecipientVisibility(question);"},{"lineNumber":204,"author":{"gitId":"-"},"content":" if (!err.isEmpty()) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(err);"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":" // validate questions (question details)"},{"lineNumber":208,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails questionDetails \u003d question.getQuestionDetailsCopy();"},{"lineNumber":209,"author":{"gitId":"-"},"content":" List\u003cString\u003e questionDetailsErrors \u003d questionDetails.validateQuestionDetails();"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" if (!questionDetailsErrors.isEmpty()) {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(questionDetailsErrors.toString());"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":" if (oldQuestionNumber !\u003d newQuestionNumber) {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" // shift other feedback questions (generate an empty \"slot\")"},{"lineNumber":217,"author":{"gitId":"-"},"content":" adjustQuestionNumbers(oldQuestionNumber, newQuestionNumber, previousQuestionsInSession);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" // adjust responses"},{"lineNumber":221,"author":{"gitId":"-"},"content":" if (question.areResponseDeletionsRequiredForChanges(updateRequest.getGiverType(),"},{"lineNumber":222,"author":{"gitId":"-"},"content":" updateRequest.getRecipientType(), updateRequest.getQuestionDetails())) {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" frLogic.deleteFeedbackResponsesForQuestionCascade(question.getId());"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" return question;"},{"lineNumber":227,"author":{"gitId":"-"},"content":" }"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":230,"author":{"gitId":"-"},"content":" * Checks if there are any questions for the given session that students can view/submit."},{"lineNumber":231,"author":{"gitId":"-"},"content":" */"},{"lineNumber":232,"author":{"gitId":"-"},"content":" public boolean hasFeedbackQuestionsForStudents(List\u003cFeedbackQuestion\u003e fqs) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" return hasFeedbackQuestionsForGiverType(fqs, FeedbackParticipantType.STUDENTS)"},{"lineNumber":234,"author":{"gitId":"-"},"content":" || hasFeedbackQuestionsForGiverType(fqs, FeedbackParticipantType.TEAMS);"},{"lineNumber":235,"author":{"gitId":"-"},"content":" }"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":238,"author":{"gitId":"-"},"content":" * Checks if there is any feedback questions in a session in a course for the given giver type."},{"lineNumber":239,"author":{"gitId":"-"},"content":" */"},{"lineNumber":240,"author":{"gitId":"-"},"content":" public boolean hasFeedbackQuestionsForGiverType("},{"lineNumber":241,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e feedbackQuestions, FeedbackParticipantType giverType) {"},{"lineNumber":242,"author":{"gitId":"-"},"content":" assert feedbackQuestions !\u003d null;"},{"lineNumber":243,"author":{"gitId":"-"},"content":" assert giverType !\u003d null;"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" for (FeedbackQuestion fq : feedbackQuestions) {"},{"lineNumber":246,"author":{"gitId":"-"},"content":" if (fq.getGiverType() \u003d\u003d giverType) {"},{"lineNumber":247,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":248,"author":{"gitId":"-"},"content":" }"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":250,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" // TODO can be removed once we are sure that question numbers will be consistent"},{"lineNumber":254,"author":{"gitId":"-"},"content":" private boolean areQuestionNumbersConsistent(List\u003cFeedbackQuestion\u003e questions) {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" Set\u003cInteger\u003e questionNumbersInSession \u003d new HashSet\u003c\u003e();"},{"lineNumber":256,"author":{"gitId":"-"},"content":" for (FeedbackQuestion question : questions) {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" if (!questionNumbersInSession.add(question.getQuestionNumber())) {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" for (int i \u003d 1; i \u003c\u003d questions.size(); i++) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" if (!questionNumbersInSession.contains(i)) {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":272,"author":{"gitId":"-"},"content":" * Adjust questions between the old and new number,"},{"lineNumber":273,"author":{"gitId":"-"},"content":" * if the new number is smaller, then shift up (increase qn#) all questions in between."},{"lineNumber":274,"author":{"gitId":"-"},"content":" * if the new number is bigger, then shift down(decrease qn#) all questions in between."},{"lineNumber":275,"author":{"gitId":"-"},"content":" */"},{"lineNumber":276,"author":{"gitId":"-"},"content":" private void adjustQuestionNumbers(int oldQuestionNumber, int newQuestionNumber, List\u003cFeedbackQuestion\u003e questions) {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" if (oldQuestionNumber \u003e newQuestionNumber \u0026\u0026 oldQuestionNumber \u003e\u003d 1) {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" for (int i \u003d oldQuestionNumber - 1; i \u003e\u003d newQuestionNumber; i--) {"},{"lineNumber":279,"author":{"gitId":"-"},"content":" FeedbackQuestion question \u003d questions.get(i - 1);"},{"lineNumber":280,"author":{"gitId":"-"},"content":" question.setQuestionNumber(question.getQuestionNumber() + 1);"},{"lineNumber":281,"author":{"gitId":"-"},"content":" }"},{"lineNumber":282,"author":{"gitId":"-"},"content":" } else if (oldQuestionNumber \u003c newQuestionNumber \u0026\u0026 oldQuestionNumber \u003c questions.size()) {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" for (int i \u003d oldQuestionNumber + 1; i \u003c\u003d newQuestionNumber; i++) {"},{"lineNumber":284,"author":{"gitId":"-"},"content":" FeedbackQuestion question \u003d questions.get(i - 1);"},{"lineNumber":285,"author":{"gitId":"-"},"content":" question.setQuestionNumber(question.getQuestionNumber() - 1);"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":" }"},{"lineNumber":288,"author":{"gitId":"-"},"content":" }"},{"lineNumber":289,"author":{"gitId":"-"},"content":""},{"lineNumber":290,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":291,"author":{"gitId":"-"},"content":" * Populates fields that need dynamic generation in a question."},{"lineNumber":292,"author":{"gitId":"-"},"content":" *"},{"lineNumber":293,"author":{"gitId":"-"},"content":" * \u003cp\u003eCurrently, only MCQ/MSQ needs to generate choices dynamically.\u003c/p\u003e"},{"lineNumber":294,"author":{"gitId":"-"},"content":" *"},{"lineNumber":295,"author":{"gitId":"-"},"content":" * @param feedbackQuestion the question to populate"},{"lineNumber":296,"author":{"gitId":"-"},"content":" * @param courseId the ID of the course"},{"lineNumber":297,"author":{"gitId":"-"},"content":" * @param emailOfEntityDoingQuestion the email of the entity doing the question"},{"lineNumber":298,"author":{"gitId":"-"},"content":" * @param teamOfEntityDoingQuestion the team of the entity doing the question. If the entity is an instructor,"},{"lineNumber":299,"author":{"gitId":"-"},"content":" * it can be {@code null}."},{"lineNumber":300,"author":{"gitId":"-"},"content":" */"},{"lineNumber":301,"author":{"gitId":"-"},"content":" public void populateFieldsToGenerateInQuestion(FeedbackQuestion feedbackQuestion,"},{"lineNumber":302,"author":{"gitId":"-"},"content":" String courseId, String emailOfEntityDoingQuestion, String teamOfEntityDoingQuestion) {"},{"lineNumber":303,"author":{"gitId":"-"},"content":" List\u003cString\u003e optionList;"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":" FeedbackParticipantType generateOptionsFor;"},{"lineNumber":306,"author":{"gitId":"-"},"content":" FeedbackQuestionType questionType \u003d feedbackQuestion.getQuestionDetailsCopy().getQuestionType();"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" if (questionType \u003d\u003d FeedbackQuestionType.MCQ) {"},{"lineNumber":309,"author":{"gitId":"-"},"content":" FeedbackMcqQuestionDetails feedbackMcqQuestionDetails \u003d"},{"lineNumber":310,"author":{"gitId":"-"},"content":" (FeedbackMcqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":311,"author":{"gitId":"-"},"content":" optionList \u003d feedbackMcqQuestionDetails.getMcqChoices();"},{"lineNumber":312,"author":{"gitId":"-"},"content":" generateOptionsFor \u003d feedbackMcqQuestionDetails.getGenerateOptionsFor();"},{"lineNumber":313,"author":{"gitId":"-"},"content":" } else if (questionType \u003d\u003d FeedbackQuestionType.MSQ) {"},{"lineNumber":314,"author":{"gitId":"-"},"content":" FeedbackMsqQuestionDetails feedbackMsqQuestionDetails \u003d"},{"lineNumber":315,"author":{"gitId":"-"},"content":" (FeedbackMsqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":316,"author":{"gitId":"-"},"content":" optionList \u003d feedbackMsqQuestionDetails.getMsqChoices();"},{"lineNumber":317,"author":{"gitId":"-"},"content":" generateOptionsFor \u003d feedbackMsqQuestionDetails.getGenerateOptionsFor();"},{"lineNumber":318,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" // other question types"},{"lineNumber":320,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":321,"author":{"gitId":"-"},"content":" }"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" switch (generateOptionsFor) {"},{"lineNumber":324,"author":{"gitId":"-"},"content":" case NONE:"},{"lineNumber":325,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":326,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":327,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":328,"author":{"gitId":"-"},"content":" case STUDENTS_EXCLUDING_SELF:"},{"lineNumber":329,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentList;"},{"lineNumber":330,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.STUDENTS_IN_SAME_SECTION) {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" Student student \u003d"},{"lineNumber":332,"author":{"gitId":"-"},"content":" usersLogic.getStudentForEmail(courseId, emailOfEntityDoingQuestion);"},{"lineNumber":333,"author":{"gitId":"-"},"content":" studentList \u003d usersLogic.getStudentsForSection(student.getSectionName(), courseId);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":335,"author":{"gitId":"-"},"content":" studentList \u003d usersLogic.getStudentsForCourse(courseId);"},{"lineNumber":336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.STUDENTS_EXCLUDING_SELF) {"},{"lineNumber":339,"author":{"gitId":"-"},"content":" studentList.removeIf(studentInList -\u003e studentInList.getEmail().equals(emailOfEntityDoingQuestion));"},{"lineNumber":340,"author":{"gitId":"-"},"content":" }"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":" for (Student student : studentList) {"},{"lineNumber":343,"author":{"gitId":"dishenggg"},"content":" optionList.add(student.getName() + \" (\" + student.getTeam().getName() + \")\");"},{"lineNumber":344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" optionList.sort(null);"},{"lineNumber":347,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":348,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":349,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":350,"author":{"gitId":"-"},"content":" case TEAMS_EXCLUDING_SELF:"},{"lineNumber":351,"author":{"gitId":"-"},"content":" List\u003cString\u003e teams;"},{"lineNumber":352,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.TEAMS_IN_SAME_SECTION) {"},{"lineNumber":353,"author":{"gitId":"-"},"content":" Student student \u003d"},{"lineNumber":354,"author":{"gitId":"-"},"content":" usersLogic.getStudentForEmail(courseId, emailOfEntityDoingQuestion);"},{"lineNumber":355,"author":{"gitId":"-"},"content":" teams \u003d coursesLogic.getTeamsForSection(student.getSection())"},{"lineNumber":356,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":357,"author":{"gitId":"-"},"content":" .map(team -\u003e { return team.getName(); })"},{"lineNumber":358,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":359,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" teams \u003d coursesLogic.getTeamsForCourse(courseId)"},{"lineNumber":361,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":362,"author":{"gitId":"-"},"content":" .map(team -\u003e { return team.getName(); })"},{"lineNumber":363,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.TEAMS_EXCLUDING_SELF) {"},{"lineNumber":367,"author":{"gitId":"-"},"content":" teams.removeIf(team -\u003e team.equals(teamOfEntityDoingQuestion));"},{"lineNumber":368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":369,"author":{"gitId":"-"},"content":""},{"lineNumber":370,"author":{"gitId":"-"},"content":" for (String team : teams) {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" optionList.add(team);"},{"lineNumber":372,"author":{"gitId":"-"},"content":" }"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":" optionList.sort(null);"},{"lineNumber":375,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":376,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS_INCLUDING_SELF:"},{"lineNumber":377,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":378,"author":{"gitId":"-"},"content":" if (teamOfEntityDoingQuestion !\u003d null) {"},{"lineNumber":379,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e teamMembers \u003d usersLogic.getStudentsForTeam(teamOfEntityDoingQuestion,"},{"lineNumber":380,"author":{"gitId":"-"},"content":" courseId);"},{"lineNumber":381,"author":{"gitId":"-"},"content":""},{"lineNumber":382,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.OWN_TEAM_MEMBERS) {"},{"lineNumber":383,"author":{"gitId":"-"},"content":" teamMembers.removeIf(teamMember -\u003e teamMember.getEmail().equals(emailOfEntityDoingQuestion));"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" teamMembers.forEach(teamMember -\u003e optionList.add(teamMember.getName()));"},{"lineNumber":387,"author":{"gitId":"-"},"content":""},{"lineNumber":388,"author":{"gitId":"-"},"content":" optionList.sort(null);"},{"lineNumber":389,"author":{"gitId":"-"},"content":" }"},{"lineNumber":390,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":391,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":392,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorList \u003d"},{"lineNumber":393,"author":{"gitId":"-"},"content":" usersLogic.getInstructorsForCourse(courseId);"},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructorList) {"},{"lineNumber":396,"author":{"gitId":"-"},"content":" optionList.add(instructor.getName());"},{"lineNumber":397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":398,"author":{"gitId":"-"},"content":""},{"lineNumber":399,"author":{"gitId":"-"},"content":" optionList.sort(null);"},{"lineNumber":400,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":401,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":402,"author":{"gitId":"-"},"content":" assert false : \"Trying to generate options for neither students, teams nor instructors\";"},{"lineNumber":403,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" if (questionType \u003d\u003d FeedbackQuestionType.MCQ) {"},{"lineNumber":407,"author":{"gitId":"-"},"content":" FeedbackMcqQuestionDetails feedbackMcqQuestionDetails \u003d"},{"lineNumber":408,"author":{"gitId":"-"},"content":" (FeedbackMcqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":409,"author":{"gitId":"-"},"content":" feedbackMcqQuestionDetails.setMcqChoices(optionList);"},{"lineNumber":410,"author":{"gitId":"-"},"content":" ((FeedbackMcqQuestion) feedbackQuestion).setFeedBackQuestionDetails(feedbackMcqQuestionDetails);"},{"lineNumber":411,"author":{"gitId":"-"},"content":" } else if (questionType \u003d\u003d FeedbackQuestionType.MSQ) {"},{"lineNumber":412,"author":{"gitId":"-"},"content":" FeedbackMsqQuestionDetails feedbackMsqQuestionDetails \u003d"},{"lineNumber":413,"author":{"gitId":"-"},"content":" (FeedbackMsqQuestionDetails) feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":414,"author":{"gitId":"-"},"content":" feedbackMsqQuestionDetails.setMsqChoices(optionList);"},{"lineNumber":415,"author":{"gitId":"-"},"content":" ((FeedbackMsqQuestion) feedbackQuestion).setFeedBackQuestionDetails(feedbackMsqQuestionDetails);"},{"lineNumber":416,"author":{"gitId":"-"},"content":" }"},{"lineNumber":417,"author":{"gitId":"-"},"content":" }"},{"lineNumber":418,"author":{"gitId":"-"},"content":""},{"lineNumber":419,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":420,"author":{"gitId":"-"},"content":" * Gets the recipients of a feedback question including recipient section and team."},{"lineNumber":421,"author":{"gitId":"-"},"content":" *"},{"lineNumber":422,"author":{"gitId":"-"},"content":" * @param question the feedback question"},{"lineNumber":423,"author":{"gitId":"-"},"content":" * @param instructorGiver can be null for student giver"},{"lineNumber":424,"author":{"gitId":"-"},"content":" * @param studentGiver can be null for instructor giver"},{"lineNumber":425,"author":{"gitId":"-"},"content":" * @param courseRoster if provided, the function can be completed without touching database"},{"lineNumber":426,"author":{"gitId":"-"},"content":" * @return a Map of {@code FeedbackQuestionRecipient} as the value and identifier as the key."},{"lineNumber":427,"author":{"gitId":"-"},"content":" */"},{"lineNumber":428,"author":{"gitId":"-"},"content":" public Map\u003cString, FeedbackQuestionRecipient\u003e getRecipientsOfQuestion("},{"lineNumber":429,"author":{"gitId":"-"},"content":" FeedbackQuestion question,"},{"lineNumber":430,"author":{"gitId":"-"},"content":" @Nullable Instructor instructorGiver, @Nullable Student studentGiver,"},{"lineNumber":431,"author":{"gitId":"-"},"content":" @Nullable SqlCourseRoster courseRoster) {"},{"lineNumber":432,"author":{"gitId":"-"},"content":" assert instructorGiver !\u003d null || studentGiver !\u003d null;"},{"lineNumber":433,"author":{"gitId":"-"},"content":""},{"lineNumber":434,"author":{"gitId":"-"},"content":" String courseId \u003d question.getCourseId();"},{"lineNumber":435,"author":{"gitId":"-"},"content":""},{"lineNumber":436,"author":{"gitId":"-"},"content":" Map\u003cString, FeedbackQuestionRecipient\u003e recipients \u003d new HashMap\u003c\u003e();"},{"lineNumber":437,"author":{"gitId":"-"},"content":""},{"lineNumber":438,"author":{"gitId":"-"},"content":" boolean isStudentGiver \u003d studentGiver !\u003d null;"},{"lineNumber":439,"author":{"gitId":"-"},"content":" boolean isInstructorGiver \u003d instructorGiver !\u003d null;"},{"lineNumber":440,"author":{"gitId":"-"},"content":""},{"lineNumber":441,"author":{"gitId":"-"},"content":" String giverEmail \u003d \"\";"},{"lineNumber":442,"author":{"gitId":"-"},"content":" String giverTeam \u003d \"\";"},{"lineNumber":443,"author":{"gitId":"-"},"content":" String giverSection \u003d \"\";"},{"lineNumber":444,"author":{"gitId":"-"},"content":" if (isStudentGiver) {"},{"lineNumber":445,"author":{"gitId":"-"},"content":" giverEmail \u003d studentGiver.getEmail();"},{"lineNumber":446,"author":{"gitId":"-"},"content":" giverTeam \u003d studentGiver.getTeamName();"},{"lineNumber":447,"author":{"gitId":"-"},"content":" giverSection \u003d studentGiver.getSectionName();"},{"lineNumber":448,"author":{"gitId":"-"},"content":" } else if (isInstructorGiver) {"},{"lineNumber":449,"author":{"gitId":"-"},"content":" giverEmail \u003d instructorGiver.getEmail();"},{"lineNumber":450,"author":{"gitId":"-"},"content":" giverTeam \u003d Const.USER_TEAM_FOR_INSTRUCTOR;"},{"lineNumber":451,"author":{"gitId":"-"},"content":" giverSection \u003d Const.DEFAULT_SECTION;"},{"lineNumber":452,"author":{"gitId":"-"},"content":" }"},{"lineNumber":453,"author":{"gitId":"-"},"content":""},{"lineNumber":454,"author":{"gitId":"-"},"content":" FeedbackParticipantType recipientType \u003d question.getRecipientType();"},{"lineNumber":455,"author":{"gitId":"-"},"content":" FeedbackParticipantType generateOptionsFor \u003d recipientType;"},{"lineNumber":456,"author":{"gitId":"-"},"content":""},{"lineNumber":457,"author":{"gitId":"-"},"content":" switch (recipientType) {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":459,"author":{"gitId":"-"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS) {"},{"lineNumber":460,"author":{"gitId":"-"},"content":" recipients.put(giverTeam,"},{"lineNumber":461,"author":{"gitId":"-"},"content":" new FeedbackQuestionRecipient(giverTeam, giverTeam));"},{"lineNumber":462,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":463,"author":{"gitId":"-"},"content":" recipients.put(giverEmail,"},{"lineNumber":464,"author":{"gitId":"-"},"content":" new FeedbackQuestionRecipient(USER_NAME_FOR_SELF, giverEmail));"},{"lineNumber":465,"author":{"gitId":"-"},"content":" }"},{"lineNumber":466,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":467,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":468,"author":{"gitId":"-"},"content":" case STUDENTS_EXCLUDING_SELF:"},{"lineNumber":469,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":470,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentList;"},{"lineNumber":471,"author":{"gitId":"-"},"content":" if (courseRoster \u003d\u003d null) {"},{"lineNumber":472,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.STUDENTS_IN_SAME_SECTION) {"},{"lineNumber":473,"author":{"gitId":"-"},"content":" studentList \u003d usersLogic.getStudentsForSection(giverSection, courseId);"},{"lineNumber":474,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":475,"author":{"gitId":"-"},"content":" studentList \u003d usersLogic.getStudentsForCourse(courseId);"},{"lineNumber":476,"author":{"gitId":"-"},"content":" }"},{"lineNumber":477,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":478,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.STUDENTS_IN_SAME_SECTION) {"},{"lineNumber":479,"author":{"gitId":"-"},"content":" final String finalGiverSection \u003d giverSection;"},{"lineNumber":480,"author":{"gitId":"-"},"content":" studentList \u003d courseRoster.getStudents().stream()"},{"lineNumber":481,"author":{"gitId":"-"},"content":" .filter(studentAttributes -\u003e studentAttributes.getSectionName()"},{"lineNumber":482,"author":{"gitId":"-"},"content":" .equals(finalGiverSection)).collect(Collectors.toList());"},{"lineNumber":483,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":484,"author":{"gitId":"-"},"content":" studentList \u003d courseRoster.getStudents();"},{"lineNumber":485,"author":{"gitId":"-"},"content":" }"},{"lineNumber":486,"author":{"gitId":"-"},"content":" }"},{"lineNumber":487,"author":{"gitId":"-"},"content":" for (Student student : studentList) {"},{"lineNumber":488,"author":{"gitId":"-"},"content":" if (isInstructorGiver \u0026\u0026 !instructorGiver.isAllowedForPrivilege("},{"lineNumber":489,"author":{"gitId":"-"},"content":" student.getSectionName(), question.getFeedbackSession().getName(),"},{"lineNumber":490,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_SUBMIT_SESSION_IN_SECTIONS)) {"},{"lineNumber":491,"author":{"gitId":"-"},"content":" // instructor can only see students in allowed sections for him/her"},{"lineNumber":492,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":493,"author":{"gitId":"-"},"content":" }"},{"lineNumber":494,"author":{"gitId":"-"},"content":" // Ensure student does not evaluate him/herself if it\u0027s STUDENTS_EXCLUDING_SELF or"},{"lineNumber":495,"author":{"gitId":"-"},"content":" // STUDENTS_IN_SAME_SECTION"},{"lineNumber":496,"author":{"gitId":"-"},"content":" if (giverEmail.equals(student.getEmail()) \u0026\u0026 generateOptionsFor !\u003d FeedbackParticipantType.STUDENTS) {"},{"lineNumber":497,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":498,"author":{"gitId":"-"},"content":" }"},{"lineNumber":499,"author":{"gitId":"-"},"content":" recipients.put(student.getEmail(), new FeedbackQuestionRecipient(student.getName(), student.getEmail(),"},{"lineNumber":500,"author":{"gitId":"-"},"content":" student.getSectionName(), student.getTeamName()));"},{"lineNumber":501,"author":{"gitId":"-"},"content":" }"},{"lineNumber":502,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":503,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":504,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorsInCourse;"},{"lineNumber":505,"author":{"gitId":"-"},"content":" if (courseRoster \u003d\u003d null) {"},{"lineNumber":506,"author":{"gitId":"-"},"content":" instructorsInCourse \u003d usersLogic.getInstructorsForCourse(courseId);"},{"lineNumber":507,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":508,"author":{"gitId":"-"},"content":" instructorsInCourse \u003d courseRoster.getInstructors();"},{"lineNumber":509,"author":{"gitId":"-"},"content":" }"},{"lineNumber":510,"author":{"gitId":"-"},"content":" for (Instructor instr : instructorsInCourse) {"},{"lineNumber":511,"author":{"gitId":"-"},"content":" // remove hidden instructors for students"},{"lineNumber":512,"author":{"gitId":"-"},"content":" if (isStudentGiver \u0026\u0026 !instr.isDisplayedToStudents()) {"},{"lineNumber":513,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":514,"author":{"gitId":"-"},"content":" }"},{"lineNumber":515,"author":{"gitId":"-"},"content":" // Ensure instructor does not evaluate himself"},{"lineNumber":516,"author":{"gitId":"-"},"content":" if (!giverEmail.equals(instr.getEmail())) {"},{"lineNumber":517,"author":{"gitId":"-"},"content":" recipients.put(instr.getEmail(),"},{"lineNumber":518,"author":{"gitId":"-"},"content":" new FeedbackQuestionRecipient(instr.getName(), instr.getEmail()));"},{"lineNumber":519,"author":{"gitId":"-"},"content":" }"},{"lineNumber":520,"author":{"gitId":"-"},"content":" }"},{"lineNumber":521,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":522,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":523,"author":{"gitId":"-"},"content":" case TEAMS_EXCLUDING_SELF:"},{"lineNumber":524,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":525,"author":{"gitId":"-"},"content":" Map\u003cString, List\u003cStudent\u003e\u003e teamToTeamMembersTable;"},{"lineNumber":526,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e teamStudents;"},{"lineNumber":527,"author":{"gitId":"-"},"content":" if (courseRoster \u003d\u003d null) {"},{"lineNumber":528,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.TEAMS_IN_SAME_SECTION) {"},{"lineNumber":529,"author":{"gitId":"-"},"content":" teamStudents \u003d usersLogic.getStudentsForSection(giverSection, courseId);"},{"lineNumber":530,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":531,"author":{"gitId":"-"},"content":" teamStudents \u003d usersLogic.getStudentsForCourse(courseId);"},{"lineNumber":532,"author":{"gitId":"-"},"content":" }"},{"lineNumber":533,"author":{"gitId":"-"},"content":" teamToTeamMembersTable \u003d SqlCourseRoster.buildTeamToMembersTable(teamStudents);"},{"lineNumber":534,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":535,"author":{"gitId":"-"},"content":" if (generateOptionsFor \u003d\u003d FeedbackParticipantType.TEAMS_IN_SAME_SECTION) {"},{"lineNumber":536,"author":{"gitId":"-"},"content":" final String finalGiverSection \u003d giverSection;"},{"lineNumber":537,"author":{"gitId":"-"},"content":" teamStudents \u003d courseRoster.getStudents().stream()"},{"lineNumber":538,"author":{"gitId":"-"},"content":" .filter(student -\u003e student.getSectionName().equals(finalGiverSection))"},{"lineNumber":539,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":540,"author":{"gitId":"-"},"content":" teamToTeamMembersTable \u003d SqlCourseRoster.buildTeamToMembersTable(teamStudents);"},{"lineNumber":541,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":542,"author":{"gitId":"-"},"content":" teamToTeamMembersTable \u003d courseRoster.getTeamToMembersTable();"},{"lineNumber":543,"author":{"gitId":"-"},"content":" }"},{"lineNumber":544,"author":{"gitId":"-"},"content":" }"},{"lineNumber":545,"author":{"gitId":"-"},"content":" for (Map.Entry\u003cString, List\u003cStudent\u003e\u003e team : teamToTeamMembersTable.entrySet()) {"},{"lineNumber":546,"author":{"gitId":"-"},"content":" if (isInstructorGiver \u0026\u0026 !instructorGiver.isAllowedForPrivilege("},{"lineNumber":547,"author":{"gitId":"-"},"content":" team.getValue().iterator().next().getSectionName(),"},{"lineNumber":548,"author":{"gitId":"-"},"content":" question.getFeedbackSession().getName(),"},{"lineNumber":549,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_SUBMIT_SESSION_IN_SECTIONS)) {"},{"lineNumber":550,"author":{"gitId":"-"},"content":" // instructor can only see teams in allowed sections for him/her"},{"lineNumber":551,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":552,"author":{"gitId":"-"},"content":" }"},{"lineNumber":553,"author":{"gitId":"-"},"content":" // Ensure student(\u0027s team) does not evaluate own team if it\u0027s TEAMS_EXCLUDING_SELF or"},{"lineNumber":554,"author":{"gitId":"-"},"content":" // TEAMS_IN_SAME_SECTION"},{"lineNumber":555,"author":{"gitId":"-"},"content":" if (giverTeam.equals(team.getKey()) \u0026\u0026 generateOptionsFor !\u003d FeedbackParticipantType.TEAMS) {"},{"lineNumber":556,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":557,"author":{"gitId":"-"},"content":" }"},{"lineNumber":558,"author":{"gitId":"-"},"content":" // recipientEmail doubles as team name in this case."},{"lineNumber":559,"author":{"gitId":"-"},"content":" recipients.put(team.getKey(), new FeedbackQuestionRecipient(team.getKey(), team.getKey()));"},{"lineNumber":560,"author":{"gitId":"-"},"content":" }"},{"lineNumber":561,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":562,"author":{"gitId":"-"},"content":" case OWN_TEAM:"},{"lineNumber":563,"author":{"gitId":"-"},"content":" recipients.put(giverTeam, new FeedbackQuestionRecipient(giverTeam, giverTeam));"},{"lineNumber":564,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":565,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":566,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students;"},{"lineNumber":567,"author":{"gitId":"-"},"content":" if (courseRoster \u003d\u003d null) {"},{"lineNumber":568,"author":{"gitId":"-"},"content":" students \u003d usersLogic.getStudentsForTeam(giverTeam, courseId);"},{"lineNumber":569,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":570,"author":{"gitId":"-"},"content":" students \u003d courseRoster.getTeamToMembersTable().getOrDefault(giverTeam, Collections.emptyList());"},{"lineNumber":571,"author":{"gitId":"-"},"content":" }"},{"lineNumber":572,"author":{"gitId":"-"},"content":" for (Student student : students) {"},{"lineNumber":573,"author":{"gitId":"-"},"content":" if (!student.getEmail().equals(giverEmail)) {"},{"lineNumber":574,"author":{"gitId":"-"},"content":" recipients.put(student.getEmail(), new FeedbackQuestionRecipient(student.getName(), student.getEmail(),"},{"lineNumber":575,"author":{"gitId":"-"},"content":" student.getSectionName(), student.getTeamName()));"},{"lineNumber":576,"author":{"gitId":"-"},"content":" }"},{"lineNumber":577,"author":{"gitId":"-"},"content":" }"},{"lineNumber":578,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":579,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS_INCLUDING_SELF:"},{"lineNumber":580,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e teamMembers;"},{"lineNumber":581,"author":{"gitId":"-"},"content":" if (courseRoster \u003d\u003d null) {"},{"lineNumber":582,"author":{"gitId":"-"},"content":" teamMembers \u003d usersLogic.getStudentsForTeam(giverTeam, courseId);"},{"lineNumber":583,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":584,"author":{"gitId":"-"},"content":" teamMembers \u003d courseRoster.getTeamToMembersTable().getOrDefault(giverTeam, Collections.emptyList());"},{"lineNumber":585,"author":{"gitId":"-"},"content":" }"},{"lineNumber":586,"author":{"gitId":"-"},"content":" for (Student student : teamMembers) {"},{"lineNumber":587,"author":{"gitId":"-"},"content":" // accepts self feedback too"},{"lineNumber":588,"author":{"gitId":"-"},"content":" recipients.put(student.getEmail(), new FeedbackQuestionRecipient(student.getName(), student.getEmail(),"},{"lineNumber":589,"author":{"gitId":"-"},"content":" student.getSectionName(), student.getTeamName()));"},{"lineNumber":590,"author":{"gitId":"-"},"content":" }"},{"lineNumber":591,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":592,"author":{"gitId":"-"},"content":" case NONE:"},{"lineNumber":593,"author":{"gitId":"-"},"content":" recipients.put(Const.GENERAL_QUESTION,"},{"lineNumber":594,"author":{"gitId":"-"},"content":" new FeedbackQuestionRecipient(Const.GENERAL_QUESTION, Const.GENERAL_QUESTION));"},{"lineNumber":595,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":596,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":597,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":598,"author":{"gitId":"-"},"content":" }"},{"lineNumber":599,"author":{"gitId":"-"},"content":" return recipients;"},{"lineNumber":600,"author":{"gitId":"-"},"content":" }"},{"lineNumber":601,"author":{"gitId":"-"},"content":""},{"lineNumber":602,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":603,"author":{"gitId":"-"},"content":" * Returns true if a session has question in a specific giverType."},{"lineNumber":604,"author":{"gitId":"-"},"content":" */"},{"lineNumber":605,"author":{"gitId":"-"},"content":" public boolean sessionHasQuestionsForGiverType("},{"lineNumber":606,"author":{"gitId":"-"},"content":" String feedbackSessionName, String courseId, FeedbackParticipantType giverType) {"},{"lineNumber":607,"author":{"gitId":"-"},"content":" return fqDb.hasFeedbackQuestionsForGiverType(feedbackSessionName, courseId, giverType);"},{"lineNumber":608,"author":{"gitId":"-"},"content":" }"},{"lineNumber":609,"author":{"gitId":"-"},"content":""},{"lineNumber":610,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":611,"author":{"gitId":"-"},"content":" * Returns true if a session has question in either STUDENTS type or TEAMS type."},{"lineNumber":612,"author":{"gitId":"-"},"content":" */"},{"lineNumber":613,"author":{"gitId":"-"},"content":" public boolean sessionHasQuestionsForStudent(String feedbackSessionName, String courseId) {"},{"lineNumber":614,"author":{"gitId":"-"},"content":" return fqDb.hasFeedbackQuestionsForGiverType(feedbackSessionName, courseId, FeedbackParticipantType.STUDENTS)"},{"lineNumber":615,"author":{"gitId":"-"},"content":" || fqDb.hasFeedbackQuestionsForGiverType(feedbackSessionName, courseId, FeedbackParticipantType.TEAMS);"},{"lineNumber":616,"author":{"gitId":"-"},"content":" }"},{"lineNumber":617,"author":{"gitId":"-"},"content":""},{"lineNumber":618,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":619,"author":{"gitId":"-"},"content":" * Deletes a feedback question cascade its responses and comments."},{"lineNumber":620,"author":{"gitId":"-"},"content":" *"},{"lineNumber":621,"author":{"gitId":"-"},"content":" * \u003cp\u003eSilently fail if question does not exist."},{"lineNumber":622,"author":{"gitId":"-"},"content":" */"},{"lineNumber":623,"author":{"gitId":"-"},"content":" public void deleteFeedbackQuestionCascade(UUID feedbackQuestionId) {"},{"lineNumber":624,"author":{"gitId":"-"},"content":" fqDb.deleteFeedbackQuestion(feedbackQuestionId);"},{"lineNumber":625,"author":{"gitId":"-"},"content":" }"},{"lineNumber":626,"author":{"gitId":"-"},"content":""},{"lineNumber":627,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":628,"author":{"gitId":"-"},"content":" * Filters the feedback questions in a course, with specified question type."},{"lineNumber":629,"author":{"gitId":"-"},"content":" * @param courseId the course to search from"},{"lineNumber":630,"author":{"gitId":"-"},"content":" * @param questionType the question type to search on"},{"lineNumber":631,"author":{"gitId":"-"},"content":" * @return a list of filtered questions"},{"lineNumber":632,"author":{"gitId":"-"},"content":" */"},{"lineNumber":633,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionForCourseWithType("},{"lineNumber":634,"author":{"gitId":"-"},"content":" String courseId, FeedbackQuestionType questionType) {"},{"lineNumber":635,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e feedbackSessions \u003d feedbackSessionsLogic.getFeedbackSessionsForCourse(courseId);"},{"lineNumber":636,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e feedbackQuestions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":637,"author":{"gitId":"-"},"content":""},{"lineNumber":638,"author":{"gitId":"-"},"content":" for (FeedbackSession session : feedbackSessions) {"},{"lineNumber":639,"author":{"gitId":"-"},"content":" feedbackQuestions.addAll(getFeedbackQuestionsForSession(session));"},{"lineNumber":640,"author":{"gitId":"-"},"content":" }"},{"lineNumber":641,"author":{"gitId":"-"},"content":""},{"lineNumber":642,"author":{"gitId":"-"},"content":" return feedbackQuestions"},{"lineNumber":643,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":644,"author":{"gitId":"-"},"content":" .filter(q -\u003e q.getQuestionDetailsCopy().getQuestionType().equals(questionType))"},{"lineNumber":645,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":646,"author":{"gitId":"-"},"content":" }"},{"lineNumber":647,"author":{"gitId":"-"},"content":""},{"lineNumber":648,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":649,"author":{"gitId":"xenosf"},"content":" * Builds a complete giver to recipient map for a {@code relatedQuestion}."},{"lineNumber":650,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":651,"author":{"gitId":"xenosf"},"content":" * @param relatedQuestion The question to be considered"},{"lineNumber":652,"author":{"gitId":"xenosf"},"content":" * @param courseRoster the roster in the course"},{"lineNumber":653,"author":{"gitId":"xenosf"},"content":" * @return a map from giver to recipient for the question."},{"lineNumber":654,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":655,"author":{"gitId":"xenosf"},"content":" public Map\u003cString, Set\u003cString\u003e\u003e buildCompleteGiverRecipientMap("},{"lineNumber":656,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion relatedQuestion, SqlCourseRoster courseRoster) {"},{"lineNumber":657,"author":{"gitId":"xenosf"},"content":" Map\u003cString, Set\u003cString\u003e\u003e completeGiverRecipientMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":658,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":659,"author":{"gitId":"xenosf"},"content":" List\u003cString\u003e possibleGiverEmails \u003d getPossibleGivers(relatedQuestion, courseRoster);"},{"lineNumber":660,"author":{"gitId":"xenosf"},"content":" for (String possibleGiverEmail : possibleGiverEmails) {"},{"lineNumber":661,"author":{"gitId":"xenosf"},"content":" switch (relatedQuestion.getGiverType()) {"},{"lineNumber":662,"author":{"gitId":"xenosf"},"content":" case STUDENTS:"},{"lineNumber":663,"author":{"gitId":"xenosf"},"content":" Student studentGiver \u003d courseRoster.getStudentForEmail(possibleGiverEmail);"},{"lineNumber":664,"author":{"gitId":"xenosf"},"content":" completeGiverRecipientMap"},{"lineNumber":665,"author":{"gitId":"xenosf"},"content":" .computeIfAbsent(possibleGiverEmail, key -\u003e new HashSet\u003c\u003e())"},{"lineNumber":666,"author":{"gitId":"xenosf"},"content":" .addAll(getRecipientsOfQuestion("},{"lineNumber":667,"author":{"gitId":"xenosf"},"content":" relatedQuestion, null, studentGiver, courseRoster).keySet());"},{"lineNumber":668,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":669,"author":{"gitId":"xenosf"},"content":" case TEAMS:"},{"lineNumber":670,"author":{"gitId":"xenosf"},"content":" Student oneTeamMember \u003d"},{"lineNumber":671,"author":{"gitId":"xenosf"},"content":" courseRoster.getTeamToMembersTable().get(possibleGiverEmail).iterator().next();"},{"lineNumber":672,"author":{"gitId":"xenosf"},"content":" completeGiverRecipientMap"},{"lineNumber":673,"author":{"gitId":"xenosf"},"content":" .computeIfAbsent(possibleGiverEmail, key -\u003e new HashSet\u003c\u003e())"},{"lineNumber":674,"author":{"gitId":"xenosf"},"content":" .addAll(getRecipientsOfQuestion("},{"lineNumber":675,"author":{"gitId":"xenosf"},"content":" relatedQuestion, null, oneTeamMember, courseRoster).keySet());"},{"lineNumber":676,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":677,"author":{"gitId":"xenosf"},"content":" case INSTRUCTORS:"},{"lineNumber":678,"author":{"gitId":"xenosf"},"content":" case SELF:"},{"lineNumber":679,"author":{"gitId":"xenosf"},"content":" Instructor instructorGiver \u003d courseRoster.getInstructorForEmail(possibleGiverEmail);"},{"lineNumber":680,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":681,"author":{"gitId":"xenosf"},"content":" // only happens when a session creator quits their course"},{"lineNumber":682,"author":{"gitId":"xenosf"},"content":" if (instructorGiver \u003d\u003d null) {"},{"lineNumber":683,"author":{"gitId":"xenosf"},"content":" instructorGiver \u003d new Instructor("},{"lineNumber":684,"author":{"gitId":"xenosf"},"content":" relatedQuestion.getCourse(),"},{"lineNumber":685,"author":{"gitId":"xenosf"},"content":" USER_NAME_FOR_SELF,"},{"lineNumber":686,"author":{"gitId":"xenosf"},"content":" possibleGiverEmail,"},{"lineNumber":687,"author":{"gitId":"xenosf"},"content":" false,"},{"lineNumber":688,"author":{"gitId":"xenosf"},"content":" USER_NAME_FOR_SELF,"},{"lineNumber":689,"author":{"gitId":"xenosf"},"content":" null,"},{"lineNumber":690,"author":{"gitId":"xenosf"},"content":" null"},{"lineNumber":691,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":692,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":693,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":694,"author":{"gitId":"xenosf"},"content":" completeGiverRecipientMap"},{"lineNumber":695,"author":{"gitId":"xenosf"},"content":" .computeIfAbsent(possibleGiverEmail, key -\u003e new HashSet\u003c\u003e())"},{"lineNumber":696,"author":{"gitId":"xenosf"},"content":" .addAll(getRecipientsOfQuestion("},{"lineNumber":697,"author":{"gitId":"xenosf"},"content":" relatedQuestion, instructorGiver, null, courseRoster).keySet());"},{"lineNumber":698,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":699,"author":{"gitId":"xenosf"},"content":" default:"},{"lineNumber":700,"author":{"gitId":"xenosf"},"content":" log.severe(\"Invalid giver type specified\");"},{"lineNumber":701,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":702,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":703,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":704,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":705,"author":{"gitId":"xenosf"},"content":" return completeGiverRecipientMap;"},{"lineNumber":706,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":707,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":708,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":709,"author":{"gitId":"xenosf"},"content":" * Gets possible giver identifiers for a feedback question."},{"lineNumber":710,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":711,"author":{"gitId":"xenosf"},"content":" * @param fq the feedback question"},{"lineNumber":712,"author":{"gitId":"xenosf"},"content":" * @param courseRoster roster of all students and instructors"},{"lineNumber":713,"author":{"gitId":"xenosf"},"content":" * @return a list of giver identifier"},{"lineNumber":714,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":715,"author":{"gitId":"xenosf"},"content":" private List\u003cString\u003e getPossibleGivers("},{"lineNumber":716,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq, SqlCourseRoster courseRoster) {"},{"lineNumber":717,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType giverType \u003d fq.getGiverType();"},{"lineNumber":718,"author":{"gitId":"xenosf"},"content":" List\u003cString\u003e possibleGivers \u003d new ArrayList\u003c\u003e();"},{"lineNumber":719,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":720,"author":{"gitId":"xenosf"},"content":" switch (giverType) {"},{"lineNumber":721,"author":{"gitId":"xenosf"},"content":" case STUDENTS:"},{"lineNumber":722,"author":{"gitId":"xenosf"},"content":" possibleGivers \u003d courseRoster.getStudents()"},{"lineNumber":723,"author":{"gitId":"xenosf"},"content":" .stream()"},{"lineNumber":724,"author":{"gitId":"xenosf"},"content":" .map(Student::getEmail)"},{"lineNumber":725,"author":{"gitId":"xenosf"},"content":" .collect(Collectors.toList());"},{"lineNumber":726,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":727,"author":{"gitId":"xenosf"},"content":" case INSTRUCTORS:"},{"lineNumber":728,"author":{"gitId":"xenosf"},"content":" possibleGivers \u003d courseRoster.getInstructors()"},{"lineNumber":729,"author":{"gitId":"xenosf"},"content":" .stream()"},{"lineNumber":730,"author":{"gitId":"xenosf"},"content":" .map(Instructor::getEmail)"},{"lineNumber":731,"author":{"gitId":"xenosf"},"content":" .collect(Collectors.toList());"},{"lineNumber":732,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":733,"author":{"gitId":"xenosf"},"content":" case TEAMS:"},{"lineNumber":734,"author":{"gitId":"xenosf"},"content":" possibleGivers \u003d new ArrayList\u003c\u003e(courseRoster.getTeamToMembersTable().keySet());"},{"lineNumber":735,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":736,"author":{"gitId":"xenosf"},"content":" case SELF:"},{"lineNumber":737,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d"},{"lineNumber":738,"author":{"gitId":"xenosf"},"content":" feedbackSessionsLogic.getFeedbackSession(fq.getFeedbackSessionName(), fq.getCourseId());"},{"lineNumber":739,"author":{"gitId":"xenosf"},"content":" possibleGivers \u003d Collections.singletonList(feedbackSession.getCreatorEmail());"},{"lineNumber":740,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":741,"author":{"gitId":"xenosf"},"content":" default:"},{"lineNumber":742,"author":{"gitId":"xenosf"},"content":" log.severe(\"Invalid giver type specified\");"},{"lineNumber":743,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":744,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":745,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":746,"author":{"gitId":"xenosf"},"content":" return possibleGivers;"},{"lineNumber":747,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":748,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":749,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":6,"xenosf":101,"dishenggg":2,"-":640}},{"path":"src/main/java/teammates/sqllogic/core/FeedbackResponseCommentsLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import java.util.Set;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import jakarta.annotation.Nullable;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.SqlCourseRoster;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackResponseCommentsDb;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackResponseCommentUpdateRequest;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Handles operations related to feedback response comments."},{"lineNumber":23,"author":{"gitId":"-"},"content":" *"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * @see FeedbackResponseComment"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * @see FeedbackResponseCommentsDb"},{"lineNumber":26,"author":{"gitId":"-"},"content":" */"},{"lineNumber":27,"author":{"gitId":"-"},"content":"public final class FeedbackResponseCommentsLogic {"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final FeedbackResponseCommentsLogic instance \u003d new FeedbackResponseCommentsLogic();"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private FeedbackResponseCommentsDb frcDb;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private FeedbackResponseCommentsLogic() {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" public static FeedbackResponseCommentsLogic inst() {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" }"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":41,"author":{"gitId":"-"},"content":" * Initialize dependencies for {@code FeedbackResponseCommentsLogic}."},{"lineNumber":42,"author":{"gitId":"-"},"content":" */"},{"lineNumber":43,"author":{"gitId":"-"},"content":" void initLogicDependencies(FeedbackResponseCommentsDb frcDb) {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" this.frcDb \u003d frcDb;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Gets an feedback response comment by feedback response comment id."},{"lineNumber":49,"author":{"gitId":"-"},"content":" * @param id of feedback response comment."},{"lineNumber":50,"author":{"gitId":"-"},"content":" * @return the specified feedback response comment."},{"lineNumber":51,"author":{"gitId":"-"},"content":" */"},{"lineNumber":52,"author":{"gitId":"-"},"content":" public FeedbackResponseComment getFeedbackResponseComment(Long id) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" return frcDb.getFeedbackResponseComment(id);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" * Gets all feedback response comments for a response."},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentForResponse(UUID feedbackResponseId) {"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" return frcDb.getFeedbackResponseCommentsForResponse(feedbackResponseId);"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" * Gets all response comments for a response."},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentsForResponse(UUID feedbackResponseId) {"},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" assert feedbackResponseId !\u003d null;"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" return frcDb.getFeedbackResponseCommentsForResponse(feedbackResponseId);"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Gets the comment associated with the response."},{"lineNumber":74,"author":{"gitId":"-"},"content":" */"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public FeedbackResponseComment getFeedbackResponseCommentForResponseFromParticipant("},{"lineNumber":76,"author":{"gitId":"-"},"content":" UUID feedbackResponseId) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" return frcDb.getFeedbackResponseCommentForResponseFromParticipant(feedbackResponseId);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":81,"author":{"gitId":"-"},"content":" * Creates a feedback response comment."},{"lineNumber":82,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the comment alreadty exists"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the comment is invalid"},{"lineNumber":84,"author":{"gitId":"-"},"content":" */"},{"lineNumber":85,"author":{"gitId":"-"},"content":" public FeedbackResponseComment createFeedbackResponseComment(FeedbackResponseComment frc)"},{"lineNumber":86,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" return frcDb.createFeedbackResponseComment(frc);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":91,"author":{"gitId":"-"},"content":" * Deletes a feedbackResponseComment."},{"lineNumber":92,"author":{"gitId":"-"},"content":" */"},{"lineNumber":93,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponseComment(Long frcId) {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" frcDb.deleteFeedbackResponseComment(frcId);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Updates a feedback response comment by {@link FeedbackResponseComment}."},{"lineNumber":99,"author":{"gitId":"-"},"content":" *"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * @return updated comment"},{"lineNumber":101,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":102,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the comment cannot be found"},{"lineNumber":103,"author":{"gitId":"-"},"content":" */"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public FeedbackResponseComment updateFeedbackResponseComment(FeedbackResponseComment feedbackResponseComment)"},{"lineNumber":105,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" return frcDb.updateFeedbackResponseComment(feedbackResponseComment);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":111,"author":{"gitId":"-"},"content":" * Updates a feedback response comment."},{"lineNumber":112,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the comment does not exist"},{"lineNumber":113,"author":{"gitId":"-"},"content":" */"},{"lineNumber":114,"author":{"gitId":"-"},"content":" public FeedbackResponseComment updateFeedbackResponseComment(Long frcId,"},{"lineNumber":115,"author":{"gitId":"-"},"content":" FeedbackResponseCommentUpdateRequest updateRequest, String updaterEmail)"},{"lineNumber":116,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" FeedbackResponseComment comment \u003d frcDb.getFeedbackResponseComment(frcId);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" if (comment \u003d\u003d null) {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to update a feedback response comment that does not exist.\");"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" comment.setCommentText(updateRequest.getCommentText());"},{"lineNumber":123,"author":{"gitId":"-"},"content":" comment.setShowCommentTo(updateRequest.getShowCommentTo());"},{"lineNumber":124,"author":{"gitId":"-"},"content":" comment.setShowGiverNameTo(updateRequest.getShowGiverNameTo());"},{"lineNumber":125,"author":{"gitId":"-"},"content":" comment.setLastEditorEmail(updaterEmail);"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" return comment;"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" * Updates all feedback response comments with new emails."},{"lineNumber":132,"author":{"gitId":"-"},"content":" */"},{"lineNumber":133,"author":{"gitId":"-"},"content":" public void updateFeedbackResponseCommentsEmails(String courseId, String oldEmail, String updatedEmail) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" frcDb.updateGiverEmailOfFeedbackResponseComments(courseId, oldEmail, updatedEmail);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" frcDb.updateLastEditorEmailOfFeedbackResponseComments(courseId, oldEmail, updatedEmail);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":" * Updates all feedback response comments with new sections."},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" public void updateFeedbackResponseCommentsForResponse(FeedbackResponse response)"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponseComment\u003e comments \u003d getFeedbackResponseCommentForResponse(response.getId());"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponseComment comment : comments) {"},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" comment.setGiverSection(response.getGiverSection());"},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":" comment.setRecipientSection(response.getRecipientSection());"},{"lineNumber":147,"author":{"gitId":"domoberzin"},"content":" frcDb.updateFeedbackResponseComment(comment);"},{"lineNumber":148,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":151,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":152,"author":{"gitId":"xenosf"},"content":" * Gets all feedback response comments for session in a section."},{"lineNumber":153,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":154,"author":{"gitId":"xenosf"},"content":" * @param courseId the course ID of the feedback session"},{"lineNumber":155,"author":{"gitId":"xenosf"},"content":" * @param feedbackSessionName the feedback session name"},{"lineNumber":156,"author":{"gitId":"xenosf"},"content":" * @param sectionName if null, will retrieve all comments in the session"},{"lineNumber":157,"author":{"gitId":"xenosf"},"content":" * @return a list of feedback response comments"},{"lineNumber":158,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":159,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentForSessionInSection("},{"lineNumber":160,"author":{"gitId":"xenosf"},"content":" String courseId, String feedbackSessionName, @Nullable String sectionName) {"},{"lineNumber":161,"author":{"gitId":"xenosf"},"content":" if (sectionName \u003d\u003d null) {"},{"lineNumber":162,"author":{"gitId":"xenosf"},"content":" return frcDb.getFeedbackResponseCommentsForSession(courseId, feedbackSessionName);"},{"lineNumber":163,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":164,"author":{"gitId":"xenosf"},"content":" return frcDb.getFeedbackResponseCommentsForSessionInSection(courseId, feedbackSessionName, sectionName);"},{"lineNumber":165,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":166,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":167,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":168,"author":{"gitId":"xenosf"},"content":" * Gets all feedback response comments for a question in a section."},{"lineNumber":169,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":170,"author":{"gitId":"xenosf"},"content":" * @param questionId the ID of the question"},{"lineNumber":171,"author":{"gitId":"xenosf"},"content":" * @param sectionName if null, will retrieve all comments for the question"},{"lineNumber":172,"author":{"gitId":"xenosf"},"content":" * @return a list of feedback response comments"},{"lineNumber":173,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":174,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentForQuestionInSection("},{"lineNumber":175,"author":{"gitId":"xenosf"},"content":" UUID questionId, @Nullable String sectionName) {"},{"lineNumber":176,"author":{"gitId":"xenosf"},"content":" if (sectionName \u003d\u003d null) {"},{"lineNumber":177,"author":{"gitId":"xenosf"},"content":" return frcDb.getFeedbackResponseCommentsForQuestion(questionId);"},{"lineNumber":178,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":179,"author":{"gitId":"xenosf"},"content":" return frcDb.getFeedbackResponseCommentsForQuestionInSection(questionId, sectionName);"},{"lineNumber":180,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":181,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":182,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":183,"author":{"gitId":"xenosf"},"content":" * Verifies whether the comment is visible to certain user."},{"lineNumber":184,"author":{"gitId":"xenosf"},"content":" * @return true/false"},{"lineNumber":185,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":186,"author":{"gitId":"xenosf"},"content":" public boolean checkIsResponseCommentVisibleForUser(String userEmail, boolean isInstructor,"},{"lineNumber":187,"author":{"gitId":"xenosf"},"content":" Student student, Set\u003cString\u003e studentsEmailInTeam, FeedbackResponse response,"},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion relatedQuestion, FeedbackResponseComment relatedComment) {"},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" if (response \u003d\u003d null || relatedQuestion \u003d\u003d null) {"},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" boolean isVisibilityFollowingFeedbackQuestion \u003d relatedComment.getIsVisibilityFollowingFeedbackQuestion();"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":" boolean isVisibleToGiver \u003d isVisibilityFollowingFeedbackQuestion"},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":" || relatedComment.checkIsVisibleTo(FeedbackParticipantType.GIVER);"},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":" boolean isVisibleToUser \u003d checkIsVisibleToUser(userEmail, response, relatedQuestion, relatedComment,"},{"lineNumber":199,"author":{"gitId":"xenosf"},"content":" isVisibleToGiver, isInstructor, !isInstructor);"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":" boolean isVisibleToUserTeam \u003d checkIsVisibleToUserTeam(student, studentsEmailInTeam, response,"},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" relatedQuestion, relatedComment, !isInstructor);"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":204,"author":{"gitId":"xenosf"},"content":" return isVisibleToUser || isVisibleToUserTeam;"},{"lineNumber":205,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":206,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":207,"author":{"gitId":"xenosf"},"content":" private boolean checkIsVisibleToUserTeam(Student student, Set\u003cString\u003e studentsEmailInTeam,"},{"lineNumber":208,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response, FeedbackQuestion relatedQuestion,"},{"lineNumber":209,"author":{"gitId":"xenosf"},"content":" FeedbackResponseComment relatedComment, boolean isUserStudent) {"},{"lineNumber":210,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":211,"author":{"gitId":"xenosf"},"content":" boolean isUserInResponseRecipientTeamAndRelatedResponseCommentVisibleToRecipients \u003d"},{"lineNumber":212,"author":{"gitId":"xenosf"},"content":" isUserStudent"},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 relatedQuestion.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 checkIsResponseCommentVisibleTo(relatedQuestion, relatedComment,"},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType.RECEIVER)"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 response.getRecipient().equals(student.getTeamName());"},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":" boolean isUserInResponseGiverTeamAndRelatedResponseCommentVisibleToGiversTeamMembers \u003d"},{"lineNumber":219,"author":{"gitId":"xenosf"},"content":" (relatedQuestion.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":220,"author":{"gitId":"xenosf"},"content":" || checkIsResponseCommentVisibleTo(relatedQuestion, relatedComment,"},{"lineNumber":221,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType.OWN_TEAM_MEMBERS))"},{"lineNumber":222,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 (studentsEmailInTeam.contains(response.getGiver())"},{"lineNumber":223,"author":{"gitId":"xenosf"},"content":" || isUserStudent \u0026\u0026 student.getTeamName().equals(response.getGiver()));"},{"lineNumber":224,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":225,"author":{"gitId":"xenosf"},"content":" boolean isUserInResponseRecipientTeamAndRelatedResponseCommentVisibleToRecipientsTeamMembers \u003d"},{"lineNumber":226,"author":{"gitId":"xenosf"},"content":" checkIsResponseCommentVisibleTo(relatedQuestion, relatedComment,"},{"lineNumber":227,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType.RECEIVER_TEAM_MEMBERS)"},{"lineNumber":228,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 studentsEmailInTeam.contains(response.getRecipient());"},{"lineNumber":229,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":230,"author":{"gitId":"xenosf"},"content":" return isUserInResponseRecipientTeamAndRelatedResponseCommentVisibleToRecipients"},{"lineNumber":231,"author":{"gitId":"xenosf"},"content":" || isUserInResponseGiverTeamAndRelatedResponseCommentVisibleToGiversTeamMembers"},{"lineNumber":232,"author":{"gitId":"xenosf"},"content":" || isUserInResponseRecipientTeamAndRelatedResponseCommentVisibleToRecipientsTeamMembers;"},{"lineNumber":233,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":234,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":235,"author":{"gitId":"xenosf"},"content":" private boolean checkIsVisibleToUser(String userEmail, FeedbackResponse response,"},{"lineNumber":236,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion relatedQuestion, FeedbackResponseComment relatedComment,"},{"lineNumber":237,"author":{"gitId":"xenosf"},"content":" boolean isVisibleToGiver, boolean isUserInstructor, boolean isUserStudent) {"},{"lineNumber":238,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":239,"author":{"gitId":"xenosf"},"content":" boolean isUserInstructorAndRelatedResponseCommentVisibleToInstructors \u003d"},{"lineNumber":240,"author":{"gitId":"xenosf"},"content":" isUserInstructor \u0026\u0026 checkIsResponseCommentVisibleTo(relatedQuestion, relatedComment,"},{"lineNumber":241,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":242,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":243,"author":{"gitId":"xenosf"},"content":" boolean isUserResponseRecipientAndRelatedResponseCommentVisibleToRecipients \u003d"},{"lineNumber":244,"author":{"gitId":"xenosf"},"content":" response.getRecipient().equals(userEmail) \u0026\u0026 checkIsResponseCommentVisibleTo(relatedQuestion,"},{"lineNumber":245,"author":{"gitId":"xenosf"},"content":" relatedComment, FeedbackParticipantType.RECEIVER);"},{"lineNumber":246,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":247,"author":{"gitId":"xenosf"},"content":" boolean isUserResponseGiverAndRelatedResponseCommentVisibleToGivers \u003d"},{"lineNumber":248,"author":{"gitId":"xenosf"},"content":" response.getGiver().equals(userEmail) \u0026\u0026 isVisibleToGiver;"},{"lineNumber":249,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":250,"author":{"gitId":"xenosf"},"content":" boolean isUserRelatedResponseCommentGiver \u003d relatedComment.getGiver().equals(userEmail);"},{"lineNumber":251,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":252,"author":{"gitId":"xenosf"},"content":" boolean isUserStudentAndRelatedResponseCommentVisibleToStudents \u003d"},{"lineNumber":253,"author":{"gitId":"xenosf"},"content":" isUserStudent \u0026\u0026 checkIsResponseCommentVisibleTo(relatedQuestion,"},{"lineNumber":254,"author":{"gitId":"xenosf"},"content":" relatedComment, FeedbackParticipantType.STUDENTS);"},{"lineNumber":255,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":256,"author":{"gitId":"xenosf"},"content":" return isUserInstructorAndRelatedResponseCommentVisibleToInstructors"},{"lineNumber":257,"author":{"gitId":"xenosf"},"content":" || isUserResponseRecipientAndRelatedResponseCommentVisibleToRecipients"},{"lineNumber":258,"author":{"gitId":"xenosf"},"content":" || isUserResponseGiverAndRelatedResponseCommentVisibleToGivers"},{"lineNumber":259,"author":{"gitId":"xenosf"},"content":" || isUserRelatedResponseCommentGiver"},{"lineNumber":260,"author":{"gitId":"xenosf"},"content":" || isUserStudentAndRelatedResponseCommentVisibleToStudents;"},{"lineNumber":261,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":262,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":263,"author":{"gitId":"xenosf"},"content":" private boolean checkIsResponseCommentVisibleTo(FeedbackQuestion relatedQuestion,"},{"lineNumber":264,"author":{"gitId":"xenosf"},"content":" FeedbackResponseComment relatedComment,"},{"lineNumber":265,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType viewerType) {"},{"lineNumber":266,"author":{"gitId":"xenosf"},"content":" boolean isVisibilityFollowingFeedbackQuestion \u003d relatedComment.getIsVisibilityFollowingFeedbackQuestion();"},{"lineNumber":267,"author":{"gitId":"xenosf"},"content":" return isVisibilityFollowingFeedbackQuestion"},{"lineNumber":268,"author":{"gitId":"xenosf"},"content":" ? relatedQuestion.isResponseVisibleTo(viewerType)"},{"lineNumber":269,"author":{"gitId":"xenosf"},"content":" : relatedComment.checkIsVisibleTo(viewerType);"},{"lineNumber":270,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":271,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":272,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":273,"author":{"gitId":"xenosf"},"content":" * Returns true if the comment\u0027s giver name is visible to certain user."},{"lineNumber":274,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":275,"author":{"gitId":"xenosf"},"content":" public boolean checkIsNameVisibleToUser(FeedbackResponseComment comment, FeedbackResponse response,"},{"lineNumber":276,"author":{"gitId":"xenosf"},"content":" String userEmail, SqlCourseRoster roster) {"},{"lineNumber":277,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackParticipantType\u003e showNameTo \u003d comment.getShowGiverNameTo();"},{"lineNumber":278,"author":{"gitId":"xenosf"},"content":" //in the old ver, name is always visible"},{"lineNumber":279,"author":{"gitId":"xenosf"},"content":" if (showNameTo \u003d\u003d null || comment.getIsVisibilityFollowingFeedbackQuestion()) {"},{"lineNumber":280,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":281,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":282,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":283,"author":{"gitId":"xenosf"},"content":" //comment giver can always see"},{"lineNumber":284,"author":{"gitId":"xenosf"},"content":" if (userEmail.equals(comment.getGiver())) {"},{"lineNumber":285,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":286,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":287,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":288,"author":{"gitId":"xenosf"},"content":" return checkIsFeedbackParticipantNameVisibleToUser(response, userEmail, roster, showNameTo);"},{"lineNumber":289,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":290,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":291,"author":{"gitId":"xenosf"},"content":" private boolean checkIsFeedbackParticipantNameVisibleToUser(FeedbackResponse response,"},{"lineNumber":292,"author":{"gitId":"xenosf"},"content":" String userEmail, SqlCourseRoster roster, List\u003cFeedbackParticipantType\u003e showNameTo) {"},{"lineNumber":293,"author":{"gitId":"xenosf"},"content":" String responseGiverTeam \u003d \"giverTeam\";"},{"lineNumber":294,"author":{"gitId":"xenosf"},"content":" if (roster.getStudentForEmail(response.getGiver()) !\u003d null) {"},{"lineNumber":295,"author":{"gitId":"xenosf"},"content":" responseGiverTeam \u003d roster.getStudentForEmail(response.getGiver()).getTeamName();"},{"lineNumber":296,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":297,"author":{"gitId":"xenosf"},"content":" String responseRecipientTeam \u003d \"recipientTeam\";"},{"lineNumber":298,"author":{"gitId":"xenosf"},"content":" if (roster.getStudentForEmail(response.getRecipient()) !\u003d null) {"},{"lineNumber":299,"author":{"gitId":"xenosf"},"content":" responseRecipientTeam \u003d roster.getStudentForEmail(response.getRecipient()).getTeamName();"},{"lineNumber":300,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":301,"author":{"gitId":"xenosf"},"content":" String currentUserTeam \u003d \"currentUserTeam\";"},{"lineNumber":302,"author":{"gitId":"xenosf"},"content":" if (roster.getStudentForEmail(userEmail) !\u003d null) {"},{"lineNumber":303,"author":{"gitId":"xenosf"},"content":" currentUserTeam \u003d roster.getStudentForEmail(userEmail).getTeamName();"},{"lineNumber":304,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":305,"author":{"gitId":"xenosf"},"content":" for (FeedbackParticipantType type : showNameTo) {"},{"lineNumber":306,"author":{"gitId":"xenosf"},"content":" switch (type) {"},{"lineNumber":307,"author":{"gitId":"xenosf"},"content":" case INSTRUCTORS:"},{"lineNumber":308,"author":{"gitId":"xenosf"},"content":" if (roster.getInstructorForEmail(userEmail) !\u003d null) {"},{"lineNumber":309,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":310,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":311,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":312,"author":{"gitId":"xenosf"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":313,"author":{"gitId":"xenosf"},"content":" if (responseGiverTeam.equals(currentUserTeam)) {"},{"lineNumber":314,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":315,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":316,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":317,"author":{"gitId":"xenosf"},"content":" case RECEIVER:"},{"lineNumber":318,"author":{"gitId":"xenosf"},"content":" if (userEmail.equals(response.getRecipient())) {"},{"lineNumber":319,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":320,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":321,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":322,"author":{"gitId":"xenosf"},"content":" case RECEIVER_TEAM_MEMBERS:"},{"lineNumber":323,"author":{"gitId":"xenosf"},"content":" if (responseRecipientTeam.equals(currentUserTeam)) {"},{"lineNumber":324,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":325,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":326,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":327,"author":{"gitId":"xenosf"},"content":" case STUDENTS:"},{"lineNumber":328,"author":{"gitId":"xenosf"},"content":" if (roster.getStudentForEmail(userEmail) !\u003d null) {"},{"lineNumber":329,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":330,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":331,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":332,"author":{"gitId":"xenosf"},"content":" case GIVER:"},{"lineNumber":333,"author":{"gitId":"xenosf"},"content":" if (userEmail.equals(response.getGiver())) {"},{"lineNumber":334,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":335,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":336,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":337,"author":{"gitId":"xenosf"},"content":" default:"},{"lineNumber":338,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":339,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":340,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":341,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":342,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":343,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":32,"xenosf":198,"-":113}},{"path":"src/main/java/teammates/sqllogic/core/FeedbackResponsesLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import java.util.Collections;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import java.util.HashMap;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import java.util.HashSet;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":"import java.util.Set;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import jakarta.annotation.Nullable;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.FeedbackResultFetchType;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlCourseRoster;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.SqlSessionResultsBundle;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionType;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankRecipientsResponseDetails;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const;"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.RequestTracer;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackResponsesDb;"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.responses.FeedbackMissingResponse;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackRankRecipientsResponse;"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" * Handles operations related to feedback responses."},{"lineNumber":40,"author":{"gitId":"-"},"content":" *"},{"lineNumber":41,"author":{"gitId":"-"},"content":" * @see FeedbackResponse"},{"lineNumber":42,"author":{"gitId":"-"},"content":" * @see FeedbackResponsesDb"},{"lineNumber":43,"author":{"gitId":"-"},"content":" */"},{"lineNumber":44,"author":{"gitId":"-"},"content":"public final class FeedbackResponsesLogic {"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final FeedbackResponsesLogic instance \u003d new FeedbackResponsesLogic();"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" private FeedbackResponsesDb frDb;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private UsersLogic usersLogic;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private FeedbackQuestionsLogic fqLogic;"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" private FeedbackResponseCommentsLogic frcLogic;"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" private FeedbackResponsesLogic() {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" public static FeedbackResponsesLogic inst() {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Initialize dependencies for {@code FeedbackResponsesLogic}."},{"lineNumber":63,"author":{"gitId":"-"},"content":" */"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" void initLogicDependencies(FeedbackResponsesDb frDb,"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" UsersLogic usersLogic, FeedbackQuestionsLogic fqLogic, FeedbackResponseCommentsLogic frcLogic) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" this.frDb \u003d frDb;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" this.usersLogic \u003d usersLogic;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" this.fqLogic \u003d fqLogic;"},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" this.frcLogic \u003d frcLogic;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Gets a feedbackResponse or null if it does not exist."},{"lineNumber":74,"author":{"gitId":"-"},"content":" */"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public FeedbackResponse getFeedbackResponse(UUID frId) {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" return frDb.getFeedbackResponse(frId);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":80,"author":{"gitId":"-"},"content":" * Returns true if the responses of the question are visible to students."},{"lineNumber":81,"author":{"gitId":"-"},"content":" */"},{"lineNumber":82,"author":{"gitId":"-"},"content":" public boolean isResponseOfFeedbackQuestionVisibleToStudent(FeedbackQuestion question) {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" if (question.isResponseVisibleTo(FeedbackParticipantType.STUDENTS)) {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":" boolean isStudentRecipientType \u003d"},{"lineNumber":87,"author":{"gitId":"-"},"content":" question.getRecipientType().equals(FeedbackParticipantType.STUDENTS)"},{"lineNumber":88,"author":{"gitId":"-"},"content":" || question.getRecipientType().equals(FeedbackParticipantType.STUDENTS_EXCLUDING_SELF)"},{"lineNumber":89,"author":{"gitId":"-"},"content":" || question.getRecipientType().equals(FeedbackParticipantType.STUDENTS_IN_SAME_SECTION)"},{"lineNumber":90,"author":{"gitId":"-"},"content":" || question.getRecipientType().equals(FeedbackParticipantType.OWN_TEAM_MEMBERS)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" || question.getRecipientType().equals(FeedbackParticipantType.OWN_TEAM_MEMBERS_INCLUDING_SELF)"},{"lineNumber":92,"author":{"gitId":"-"},"content":" || question.getRecipientType().equals(FeedbackParticipantType.GIVER)"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u0026\u0026 question.getGiverType().equals(FeedbackParticipantType.STUDENTS);"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" if ((isStudentRecipientType || question.getRecipientType().isTeam())"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u0026\u0026 question.isResponseVisibleTo(FeedbackParticipantType.RECEIVER)) {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":100,"author":{"gitId":"-"},"content":" || question.isResponseVisibleTo(FeedbackParticipantType.OWN_TEAM_MEMBERS)) {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return question.isResponseVisibleTo(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":107,"author":{"gitId":"-"},"content":" * Returns true if the responses of the question are visible to instructors."},{"lineNumber":108,"author":{"gitId":"-"},"content":" */"},{"lineNumber":109,"author":{"gitId":"-"},"content":" public boolean isResponseOfFeedbackQuestionVisibleToInstructor(FeedbackQuestion question) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" return question.isResponseVisibleTo(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":114,"author":{"gitId":"-"},"content":" * Checks whether a giver has responded a session."},{"lineNumber":115,"author":{"gitId":"-"},"content":" */"},{"lineNumber":116,"author":{"gitId":"-"},"content":" public boolean hasGiverRespondedForSession(String giverIdentifier, List\u003cFeedbackQuestion\u003e questions) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" assert questions !\u003d null;"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" for (FeedbackQuestion question : questions) {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" boolean hasResponse \u003d question"},{"lineNumber":121,"author":{"gitId":"-"},"content":" .getFeedbackResponses()"},{"lineNumber":122,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .anyMatch(response -\u003e response.getGiver().equals(giverIdentifier));"},{"lineNumber":124,"author":{"gitId":"-"},"content":" if (hasResponse) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * Checks whether a giver has responded a session."},{"lineNumber":134,"author":{"gitId":"-"},"content":" */"},{"lineNumber":135,"author":{"gitId":"-"},"content":" public boolean hasGiverRespondedForSession(String giver, String feedbackSessionName, String courseId) {"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" return frDb.hasResponsesFromGiverInSession(giver, feedbackSessionName, courseId);"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":141,"author":{"gitId":"-"},"content":" * Creates a feedback response."},{"lineNumber":142,"author":{"gitId":"-"},"content":" * @return the created response"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the response is not valid"},{"lineNumber":144,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the response already exist"},{"lineNumber":145,"author":{"gitId":"-"},"content":" */"},{"lineNumber":146,"author":{"gitId":"-"},"content":" public FeedbackResponse createFeedbackResponse(FeedbackResponse feedbackResponse)"},{"lineNumber":147,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" return frDb.createFeedbackResponse(feedbackResponse);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":152,"author":{"gitId":"-"},"content":" * Get existing feedback responses from instructor for the given question."},{"lineNumber":153,"author":{"gitId":"-"},"content":" */"},{"lineNumber":154,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromInstructorForQuestion("},{"lineNumber":155,"author":{"gitId":"-"},"content":" FeedbackQuestion question, Instructor instructor) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" return frDb.getFeedbackResponsesFromGiverForQuestion("},{"lineNumber":157,"author":{"gitId":"-"},"content":" question.getId(), instructor.getEmail());"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":161,"author":{"gitId":"-"},"content":" * Get existing feedback responses from student or his team for the given"},{"lineNumber":162,"author":{"gitId":"-"},"content":" * question."},{"lineNumber":163,"author":{"gitId":"-"},"content":" */"},{"lineNumber":164,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromStudentOrTeamForQuestion("},{"lineNumber":165,"author":{"gitId":"-"},"content":" FeedbackQuestion question, Student student) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" return getFeedbackResponsesFromTeamForQuestion("},{"lineNumber":168,"author":{"gitId":"-"},"content":" question.getId(), question.getCourseId(), student.getTeamName(), null);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":170,"author":{"gitId":"-"},"content":" return frDb.getFeedbackResponsesFromGiverForQuestion(question.getId(), student.getEmail());"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" private List\u003cFeedbackResponse\u003e getFeedbackResponsesFromTeamForQuestion("},{"lineNumber":174,"author":{"gitId":"-"},"content":" UUID feedbackQuestionId, String courseId, String teamName, @Nullable SqlCourseRoster courseRoster) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e responses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":177,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentsInTeam \u003d courseRoster \u003d\u003d null"},{"lineNumber":178,"author":{"gitId":"-"},"content":" ? usersLogic.getStudentsForTeam(teamName, courseId) : courseRoster.getTeamToMembersTable().get(teamName);"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" for (Student student : studentsInTeam) {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" responses.addAll(frDb.getFeedbackResponsesFromGiverForQuestion("},{"lineNumber":182,"author":{"gitId":"-"},"content":" feedbackQuestionId, student.getEmail()));"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" responses.addAll(frDb.getFeedbackResponsesFromGiverForQuestion("},{"lineNumber":186,"author":{"gitId":"-"},"content":" feedbackQuestionId, teamName));"},{"lineNumber":187,"author":{"gitId":"-"},"content":" return responses;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":191,"author":{"gitId":"-"},"content":" * Updates a non-null feedback response by {@link FeedbackResponse}."},{"lineNumber":192,"author":{"gitId":"-"},"content":" *"},{"lineNumber":193,"author":{"gitId":"-"},"content":" * \u003cp\u003eCascade updates its associated feedback response comment"},{"lineNumber":194,"author":{"gitId":"-"},"content":" * (e.g. associated response ID, giverSection and recipientSection)."},{"lineNumber":195,"author":{"gitId":"-"},"content":" *"},{"lineNumber":196,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf the giver/recipient field is changed, the response is updated by recreating the response"},{"lineNumber":197,"author":{"gitId":"-"},"content":" * as question-giver-recipient is the primary key."},{"lineNumber":198,"author":{"gitId":"-"},"content":" *"},{"lineNumber":199,"author":{"gitId":"-"},"content":" * @return updated feedback response"},{"lineNumber":200,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":201,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the comment cannot be found"},{"lineNumber":202,"author":{"gitId":"-"},"content":" */"},{"lineNumber":203,"author":{"gitId":"-"},"content":" public FeedbackResponse updateFeedbackResponseCascade(FeedbackResponse feedbackResponse)"},{"lineNumber":204,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" FeedbackResponse oldResponse \u003d frDb.getFeedbackResponse(feedbackResponse.getId());"},{"lineNumber":207,"author":{"gitId":"-"},"content":" FeedbackResponse newResponse \u003d frDb.updateFeedbackResponse(feedbackResponse);"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" boolean isGiverSectionChanged \u003d !oldResponse.getGiverSection().equals(newResponse.getGiverSection());"},{"lineNumber":210,"author":{"gitId":"-"},"content":" boolean isRecipientSectionChanged \u003d !oldResponse.getRecipientSection().equals(newResponse.getRecipientSection());"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" if (isGiverSectionChanged || isRecipientSectionChanged) {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponseComment\u003e oldResponseComments \u003d"},{"lineNumber":214,"author":{"gitId":"-"},"content":" frcLogic.getFeedbackResponseCommentForResponse(oldResponse.getId());"},{"lineNumber":215,"author":{"gitId":"-"},"content":" for (FeedbackResponseComment oldResponseComment : oldResponseComments) {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" if (isGiverSectionChanged) {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" oldResponseComment.setGiverSection(newResponse.getGiverSection());"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" if (isRecipientSectionChanged) {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" oldResponseComment.setRecipientSection(newResponse.getRecipientSection());"},{"lineNumber":222,"author":{"gitId":"-"},"content":" }"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":" frcLogic.updateFeedbackResponseComment(oldResponseComment);"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" }"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" return newResponse;"},{"lineNumber":230,"author":{"gitId":"-"},"content":" }"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":233,"author":{"gitId":"-"},"content":" * Deletes a feedback response cascade its associated feedback response comments."},{"lineNumber":234,"author":{"gitId":"-"},"content":" * Implicitly makes use of CascadeType.REMOVE."},{"lineNumber":235,"author":{"gitId":"-"},"content":" */"},{"lineNumber":236,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponsesAndCommentsCascade(FeedbackResponse feedbackResponse) {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" frDb.deleteFeedbackResponse(feedbackResponse);"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":241,"author":{"gitId":"-"},"content":" * Deletes all feedback responses of a question cascade its associated comments."},{"lineNumber":242,"author":{"gitId":"-"},"content":" */"},{"lineNumber":243,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponsesForQuestionCascade(UUID feedbackQuestionId) {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" // delete all responses, comments of the question"},{"lineNumber":245,"author":{"gitId":"-"},"content":" frDb.deleteFeedbackResponsesForQuestionCascade(feedbackQuestionId);"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * Checks whether there are responses for a question."},{"lineNumber":250,"author":{"gitId":"-"},"content":" */"},{"lineNumber":251,"author":{"gitId":"-"},"content":" public boolean areThereResponsesForQuestion(UUID questionId) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" return frDb.areThereResponsesForQuestion(questionId);"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":256,"author":{"gitId":"-"},"content":" * Checks whether there are responses for a course."},{"lineNumber":257,"author":{"gitId":"-"},"content":" */"},{"lineNumber":258,"author":{"gitId":"-"},"content":" public boolean hasResponsesForCourse(String courseId) {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" return frDb.hasResponsesForCourse(courseId);"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":264,"author":{"gitId":"-"},"content":" * Deletes all feedback responses involved an entity, cascade its associated comments."},{"lineNumber":265,"author":{"gitId":"-"},"content":" * Deletion will automatically be cascaded to each feedback response\u0027s comments,"},{"lineNumber":266,"author":{"gitId":"-"},"content":" * handled by Hibernate using the OnDelete annotation."},{"lineNumber":267,"author":{"gitId":"-"},"content":" */"},{"lineNumber":268,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponsesForCourseCascade(String courseId, String entityEmail) {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" // delete responses from the entity"},{"lineNumber":270,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e responsesFromStudent \u003d"},{"lineNumber":271,"author":{"gitId":"-"},"content":" getFeedbackResponsesFromGiverForCourse(courseId, entityEmail);"},{"lineNumber":272,"author":{"gitId":"-"},"content":" for (FeedbackResponse response : responsesFromStudent) {"},{"lineNumber":273,"author":{"gitId":"-"},"content":" frDb.deleteFeedbackResponse(response);"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" // delete responses to the entity"},{"lineNumber":277,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e responsesToStudent \u003d"},{"lineNumber":278,"author":{"gitId":"-"},"content":" getFeedbackResponsesForRecipientForCourse(courseId, entityEmail);"},{"lineNumber":279,"author":{"gitId":"-"},"content":" for (FeedbackResponse response : responsesToStudent) {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" frDb.deleteFeedbackResponse(response);"},{"lineNumber":281,"author":{"gitId":"-"},"content":" }"},{"lineNumber":282,"author":{"gitId":"-"},"content":" }"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":285,"author":{"gitId":"-"},"content":" * Gets all responses given by a user for a course."},{"lineNumber":286,"author":{"gitId":"-"},"content":" */"},{"lineNumber":287,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromGiverForCourse("},{"lineNumber":288,"author":{"gitId":"-"},"content":" String courseId, String giver) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":290,"author":{"gitId":"-"},"content":" assert giver !\u003d null;"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" return frDb.getFeedbackResponsesFromGiverForCourse(courseId, giver);"},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":296,"author":{"gitId":"-"},"content":" * Gets all responses received by a user for a course."},{"lineNumber":297,"author":{"gitId":"-"},"content":" */"},{"lineNumber":298,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForRecipientForCourse("},{"lineNumber":299,"author":{"gitId":"-"},"content":" String courseId, String recipient) {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":301,"author":{"gitId":"-"},"content":" assert recipient !\u003d null;"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" return frDb.getFeedbackResponsesForRecipientForCourse(courseId, recipient);"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":307,"author":{"gitId":"-"},"content":" * Gets all responses given by a user for a question."},{"lineNumber":308,"author":{"gitId":"-"},"content":" */"},{"lineNumber":309,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromGiverForQuestion("},{"lineNumber":310,"author":{"gitId":"-"},"content":" UUID feedbackQuestionId, String giver) {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" return frDb.getFeedbackResponsesFromGiverForQuestion(feedbackQuestionId, giver);"},{"lineNumber":312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":315,"author":{"gitId":"xenosf"},"content":" * Gets all responses for a question."},{"lineNumber":316,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":317,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForQuestion(UUID feedbackQuestionId) {"},{"lineNumber":318,"author":{"gitId":"domoberzin"},"content":" return frDb.getResponsesForQuestion(feedbackQuestionId);"},{"lineNumber":319,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":320,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":322,"author":{"gitId":"-"},"content":" * Updates the relevant responses before the deletion of a student."},{"lineNumber":323,"author":{"gitId":"-"},"content":" * This method takes care of the following:"},{"lineNumber":324,"author":{"gitId":"-"},"content":" * Making existing responses of \u0027rank recipient question\u0027 consistent."},{"lineNumber":325,"author":{"gitId":"-"},"content":" */"},{"lineNumber":326,"author":{"gitId":"-"},"content":" public void updateRankRecipientQuestionResponsesAfterDeletingStudent(String courseId) {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e filteredQuestions \u003d"},{"lineNumber":328,"author":{"gitId":"-"},"content":" fqLogic.getFeedbackQuestionForCourseWithType(courseId, FeedbackQuestionType.RANK_RECIPIENTS);"},{"lineNumber":329,"author":{"gitId":"-"},"content":" SqlCourseRoster roster \u003d new SqlCourseRoster("},{"lineNumber":330,"author":{"gitId":"-"},"content":" usersLogic.getStudentsForCourse(courseId),"},{"lineNumber":331,"author":{"gitId":"-"},"content":" usersLogic.getInstructorsForCourse(courseId));"},{"lineNumber":332,"author":{"gitId":"-"},"content":""},{"lineNumber":333,"author":{"gitId":"-"},"content":" for (FeedbackQuestion question : filteredQuestions) {"},{"lineNumber":334,"author":{"gitId":"-"},"content":" makeRankRecipientQuestionResponsesConsistent(question, roster);"},{"lineNumber":335,"author":{"gitId":"-"},"content":" }"},{"lineNumber":336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":339,"author":{"gitId":"-"},"content":" * Makes the rankings by one giver in the response to a \u0027rank recipient question\u0027 consistent, after deleting a"},{"lineNumber":340,"author":{"gitId":"-"},"content":" * student."},{"lineNumber":341,"author":{"gitId":"-"},"content":" * \u003cp\u003e"},{"lineNumber":342,"author":{"gitId":"-"},"content":" * Fails silently if the question type is not \u0027rank recipient question\u0027."},{"lineNumber":343,"author":{"gitId":"-"},"content":" * \u003c/p\u003e"},{"lineNumber":344,"author":{"gitId":"-"},"content":" */"},{"lineNumber":345,"author":{"gitId":"-"},"content":" private void makeRankRecipientQuestionResponsesConsistent("},{"lineNumber":346,"author":{"gitId":"-"},"content":" FeedbackQuestion question, SqlCourseRoster roster) {"},{"lineNumber":347,"author":{"gitId":"mingyuanc"},"content":" assert question.getQuestionDetailsCopy().getQuestionType()"},{"lineNumber":348,"author":{"gitId":"-"},"content":" .equals(FeedbackQuestionType.RANK_RECIPIENTS);"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":" FeedbackParticipantType giverType \u003d question.getGiverType();"},{"lineNumber":351,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e responses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":352,"author":{"gitId":"-"},"content":" int numberOfRecipients \u003d 0;"},{"lineNumber":353,"author":{"gitId":"-"},"content":""},{"lineNumber":354,"author":{"gitId":"-"},"content":" switch (giverType) {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":356,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":357,"author":{"gitId":"-"},"content":" for (Instructor instructor : roster.getInstructors()) {"},{"lineNumber":358,"author":{"gitId":"-"},"content":" numberOfRecipients \u003d"},{"lineNumber":359,"author":{"gitId":"-"},"content":" fqLogic.getRecipientsOfQuestion(question, instructor, null, roster).size();"},{"lineNumber":360,"author":{"gitId":"-"},"content":" responses \u003d getFeedbackResponsesFromGiverForQuestion(question.getId(), instructor.getEmail());"},{"lineNumber":361,"author":{"gitId":"-"},"content":" }"},{"lineNumber":362,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":364,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":365,"author":{"gitId":"-"},"content":" Student firstMemberOfTeam;"},{"lineNumber":366,"author":{"gitId":"-"},"content":" String team;"},{"lineNumber":367,"author":{"gitId":"-"},"content":" Map\u003cString, List\u003cStudent\u003e\u003e teams \u003d roster.getTeamToMembersTable();"},{"lineNumber":368,"author":{"gitId":"-"},"content":" for (Map.Entry\u003cString, List\u003cStudent\u003e\u003e entry : teams.entrySet()) {"},{"lineNumber":369,"author":{"gitId":"-"},"content":" team \u003d entry.getKey();"},{"lineNumber":370,"author":{"gitId":"-"},"content":" firstMemberOfTeam \u003d entry.getValue().get(0);"},{"lineNumber":371,"author":{"gitId":"-"},"content":" numberOfRecipients \u003d"},{"lineNumber":372,"author":{"gitId":"-"},"content":" fqLogic.getRecipientsOfQuestion(question, null, firstMemberOfTeam, roster).size();"},{"lineNumber":373,"author":{"gitId":"-"},"content":" responses \u003d"},{"lineNumber":374,"author":{"gitId":"-"},"content":" getFeedbackResponsesFromTeamForQuestion("},{"lineNumber":375,"author":{"gitId":"-"},"content":" question.getId(), question.getCourseId(), team, roster);"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":378,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":379,"author":{"gitId":"-"},"content":" for (Student student : roster.getStudents()) {"},{"lineNumber":380,"author":{"gitId":"-"},"content":" numberOfRecipients \u003d"},{"lineNumber":381,"author":{"gitId":"-"},"content":" fqLogic.getRecipientsOfQuestion(question, null, student, roster).size();"},{"lineNumber":382,"author":{"gitId":"-"},"content":" responses \u003d getFeedbackResponsesFromGiverForQuestion(question.getId(), student.getEmail());"},{"lineNumber":383,"author":{"gitId":"-"},"content":" }"},{"lineNumber":384,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":385,"author":{"gitId":"-"},"content":" }"},{"lineNumber":386,"author":{"gitId":"-"},"content":""},{"lineNumber":387,"author":{"gitId":"-"},"content":" updateFeedbackResponsesForRankRecipientQuestions(responses, numberOfRecipients);"},{"lineNumber":388,"author":{"gitId":"-"},"content":" }"},{"lineNumber":389,"author":{"gitId":"-"},"content":""},{"lineNumber":390,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":391,"author":{"gitId":"-"},"content":" * Updates responses for \u0027rank recipient question\u0027, such that the ranks in the responses are consistent."},{"lineNumber":392,"author":{"gitId":"-"},"content":" * @param responses responses to one feedback question, from one giver"},{"lineNumber":393,"author":{"gitId":"-"},"content":" * @param maxRank the maximum rank in each response"},{"lineNumber":394,"author":{"gitId":"-"},"content":" */"},{"lineNumber":395,"author":{"gitId":"-"},"content":" private void updateFeedbackResponsesForRankRecipientQuestions("},{"lineNumber":396,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e responses, int maxRank) {"},{"lineNumber":397,"author":{"gitId":"-"},"content":" if (maxRank \u003c\u003d 0) {"},{"lineNumber":398,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":399,"author":{"gitId":"-"},"content":" }"},{"lineNumber":400,"author":{"gitId":"-"},"content":""},{"lineNumber":401,"author":{"gitId":"-"},"content":" FeedbackRankRecipientsResponseDetails responseDetails;"},{"lineNumber":402,"author":{"gitId":"-"},"content":" boolean[] isRankUsed;"},{"lineNumber":403,"author":{"gitId":"-"},"content":" boolean isUpdateNeeded \u003d false;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" int answer;"},{"lineNumber":405,"author":{"gitId":"-"},"content":" int maxUnusedRank \u003d 0;"},{"lineNumber":406,"author":{"gitId":"-"},"content":""},{"lineNumber":407,"author":{"gitId":"-"},"content":" // Checks whether update is needed."},{"lineNumber":408,"author":{"gitId":"-"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":409,"author":{"gitId":"-"},"content":" if (!(response instanceof FeedbackRankRecipientsResponse)) {"},{"lineNumber":410,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":411,"author":{"gitId":"-"},"content":" }"},{"lineNumber":412,"author":{"gitId":"-"},"content":" responseDetails \u003d ((FeedbackRankRecipientsResponse) response).getAnswer();"},{"lineNumber":413,"author":{"gitId":"-"},"content":" answer \u003d responseDetails.getAnswer();"},{"lineNumber":414,"author":{"gitId":"-"},"content":" if (answer \u003e maxRank) {"},{"lineNumber":415,"author":{"gitId":"-"},"content":" isUpdateNeeded \u003d true;"},{"lineNumber":416,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":417,"author":{"gitId":"-"},"content":" }"},{"lineNumber":418,"author":{"gitId":"-"},"content":" }"},{"lineNumber":419,"author":{"gitId":"-"},"content":""},{"lineNumber":420,"author":{"gitId":"-"},"content":" // Updates repeatedly, until all responses are consistent."},{"lineNumber":421,"author":{"gitId":"-"},"content":" while (isUpdateNeeded) {"},{"lineNumber":422,"author":{"gitId":"-"},"content":" isUpdateNeeded \u003d false; // will be set to true again once invalid rank appears after update"},{"lineNumber":423,"author":{"gitId":"-"},"content":" isRankUsed \u003d new boolean[maxRank];"},{"lineNumber":424,"author":{"gitId":"-"},"content":""},{"lineNumber":425,"author":{"gitId":"-"},"content":" // Obtains the largest unused rank."},{"lineNumber":426,"author":{"gitId":"-"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" if (!(response instanceof FeedbackRankRecipientsResponse)) {"},{"lineNumber":428,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":429,"author":{"gitId":"-"},"content":" }"},{"lineNumber":430,"author":{"gitId":"-"},"content":" responseDetails \u003d ((FeedbackRankRecipientsResponse) response).getAnswer();"},{"lineNumber":431,"author":{"gitId":"-"},"content":" answer \u003d responseDetails.getAnswer();"},{"lineNumber":432,"author":{"gitId":"-"},"content":" if (answer \u003c\u003d maxRank) {"},{"lineNumber":433,"author":{"gitId":"-"},"content":" isRankUsed[answer - 1] \u003d true;"},{"lineNumber":434,"author":{"gitId":"-"},"content":" }"},{"lineNumber":435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":436,"author":{"gitId":"-"},"content":" for (int i \u003d maxRank - 1; i \u003e\u003d 0; i--) {"},{"lineNumber":437,"author":{"gitId":"-"},"content":" if (!isRankUsed[i]) {"},{"lineNumber":438,"author":{"gitId":"-"},"content":" maxUnusedRank \u003d i + 1;"},{"lineNumber":439,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":440,"author":{"gitId":"-"},"content":" }"},{"lineNumber":441,"author":{"gitId":"-"},"content":" }"},{"lineNumber":442,"author":{"gitId":"-"},"content":" assert maxUnusedRank \u003e 0; // if update is needed, there must be at least one unused rank"},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":445,"author":{"gitId":"-"},"content":" if (response instanceof FeedbackRankRecipientsResponse) {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" responseDetails \u003d ((FeedbackRankRecipientsResponse) response).getAnswer();"},{"lineNumber":447,"author":{"gitId":"-"},"content":" answer \u003d responseDetails.getAnswer();"},{"lineNumber":448,"author":{"gitId":"-"},"content":" if (answer \u003e maxUnusedRank) {"},{"lineNumber":449,"author":{"gitId":"-"},"content":" answer--;"},{"lineNumber":450,"author":{"gitId":"-"},"content":" responseDetails.setAnswer(answer);"},{"lineNumber":451,"author":{"gitId":"-"},"content":" }"},{"lineNumber":452,"author":{"gitId":"-"},"content":" if (answer \u003e maxRank) {"},{"lineNumber":453,"author":{"gitId":"-"},"content":" isUpdateNeeded \u003d true; // sets the flag to true if the updated rank is still invalid"},{"lineNumber":454,"author":{"gitId":"-"},"content":" }"},{"lineNumber":455,"author":{"gitId":"-"},"content":" }"},{"lineNumber":456,"author":{"gitId":"-"},"content":" }"},{"lineNumber":457,"author":{"gitId":"-"},"content":" }"},{"lineNumber":458,"author":{"gitId":"-"},"content":" }"},{"lineNumber":459,"author":{"gitId":"-"},"content":""},{"lineNumber":460,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":461,"author":{"gitId":"domoberzin"},"content":" * Updates responses for a student when his team changes."},{"lineNumber":462,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003e"},{"lineNumber":463,"author":{"gitId":"domoberzin"},"content":" * This is done by deleting responses that are no longer relevant to him in his new team."},{"lineNumber":464,"author":{"gitId":"domoberzin"},"content":" * \u003c/p\u003e"},{"lineNumber":465,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":466,"author":{"gitId":"domoberzin"},"content":" public void updateFeedbackResponsesForChangingTeam(Course course, String newEmail, Team newTeam, Team oldTeam)"},{"lineNumber":467,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":468,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":469,"author":{"gitId":"domoberzin"},"content":" FeedbackQuestion qn;"},{"lineNumber":470,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":471,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponse\u003e responsesFromUser \u003d"},{"lineNumber":472,"author":{"gitId":"domoberzin"},"content":" getFeedbackResponsesFromGiverForCourse(course.getId(), newEmail);"},{"lineNumber":473,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":474,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponse response : responsesFromUser) {"},{"lineNumber":475,"author":{"gitId":"domoberzin"},"content":" qn \u003d fqLogic.getFeedbackQuestion(response.getId());"},{"lineNumber":476,"author":{"gitId":"domoberzin"},"content":" if (qn !\u003d null \u0026\u0026 qn.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS) {"},{"lineNumber":477,"author":{"gitId":"domoberzin"},"content":" deleteFeedbackResponsesForQuestionCascade(qn.getId());"},{"lineNumber":478,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":479,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":480,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":481,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponse\u003e responsesToUser \u003d"},{"lineNumber":482,"author":{"gitId":"domoberzin"},"content":" getFeedbackResponsesForRecipientForCourse(course.getId(), newEmail);"},{"lineNumber":483,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":484,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponse response : responsesToUser) {"},{"lineNumber":485,"author":{"gitId":"domoberzin"},"content":" qn \u003d fqLogic.getFeedbackQuestion(response.getId());"},{"lineNumber":486,"author":{"gitId":"domoberzin"},"content":" if (qn !\u003d null \u0026\u0026 qn.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS) {"},{"lineNumber":487,"author":{"gitId":"domoberzin"},"content":" deleteFeedbackResponsesForQuestionCascade(qn.getId());"},{"lineNumber":488,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":489,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":490,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":491,"author":{"gitId":"domoberzin"},"content":" boolean isOldTeamEmpty \u003d usersLogic.getStudentsForTeam(oldTeam.getName(), course.getId()).isEmpty();"},{"lineNumber":492,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":493,"author":{"gitId":"domoberzin"},"content":" if (isOldTeamEmpty) {"},{"lineNumber":494,"author":{"gitId":"domoberzin"},"content":" deleteFeedbackResponsesForCourseCascade(course.getId(), oldTeam.getName());"},{"lineNumber":495,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":496,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":497,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":498,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":499,"author":{"gitId":"domoberzin"},"content":" * Updates responses for a student when his section changes."},{"lineNumber":500,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":501,"author":{"gitId":"domoberzin"},"content":" public void updateFeedbackResponsesForChangingSection(Course course, String newEmail, Section newSection)"},{"lineNumber":502,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":503,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":504,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponse\u003e responsesFromUser \u003d"},{"lineNumber":505,"author":{"gitId":"domoberzin"},"content":" getFeedbackResponsesFromGiverForCourse(course.getId(), newEmail);"},{"lineNumber":506,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":507,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponse response : responsesFromUser) {"},{"lineNumber":508,"author":{"gitId":"domoberzin"},"content":" response.setGiverSection(newSection);"},{"lineNumber":509,"author":{"gitId":"domoberzin"},"content":" frDb.updateFeedbackResponse(response);"},{"lineNumber":510,"author":{"gitId":"domoberzin"},"content":" frcLogic.updateFeedbackResponseCommentsForResponse(response);"},{"lineNumber":511,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":512,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":513,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackResponse\u003e responsesToUser \u003d"},{"lineNumber":514,"author":{"gitId":"domoberzin"},"content":" getFeedbackResponsesForRecipientForCourse(course.getId(), newEmail);"},{"lineNumber":515,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":516,"author":{"gitId":"domoberzin"},"content":" for (FeedbackResponse response : responsesToUser) {"},{"lineNumber":517,"author":{"gitId":"domoberzin"},"content":" response.setRecipientSection(newSection);"},{"lineNumber":518,"author":{"gitId":"domoberzin"},"content":" frDb.updateFeedbackResponse(response);"},{"lineNumber":519,"author":{"gitId":"domoberzin"},"content":" frcLogic.updateFeedbackResponseCommentsForResponse(response);"},{"lineNumber":520,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":521,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":522,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":523,"author":{"gitId":"marquestye"},"content":" /**"},{"lineNumber":524,"author":{"gitId":"marquestye"},"content":" * Updates a student\u0027s email in their given/received responses."},{"lineNumber":525,"author":{"gitId":"marquestye"},"content":" */"},{"lineNumber":526,"author":{"gitId":"marquestye"},"content":" public void updateFeedbackResponsesForChangingEmail(String courseId, String oldEmail, String newEmail)"},{"lineNumber":527,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":528,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":529,"author":{"gitId":"marquestye"},"content":" List\u003cFeedbackResponse\u003e responsesFromUser \u003d"},{"lineNumber":530,"author":{"gitId":"marquestye"},"content":" getFeedbackResponsesFromGiverForCourse(courseId, oldEmail);"},{"lineNumber":531,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":532,"author":{"gitId":"marquestye"},"content":" for (FeedbackResponse response : responsesFromUser) {"},{"lineNumber":533,"author":{"gitId":"marquestye"},"content":" response.setGiver(newEmail);"},{"lineNumber":534,"author":{"gitId":"marquestye"},"content":" frDb.updateFeedbackResponse(response);"},{"lineNumber":535,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":536,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":537,"author":{"gitId":"marquestye"},"content":" List\u003cFeedbackResponse\u003e responsesToUser \u003d"},{"lineNumber":538,"author":{"gitId":"marquestye"},"content":" getFeedbackResponsesForRecipientForCourse(courseId, oldEmail);"},{"lineNumber":539,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":540,"author":{"gitId":"marquestye"},"content":" for (FeedbackResponse response : responsesToUser) {"},{"lineNumber":541,"author":{"gitId":"marquestye"},"content":" response.setRecipient(newEmail);"},{"lineNumber":542,"author":{"gitId":"marquestye"},"content":" frDb.updateFeedbackResponse(response);"},{"lineNumber":543,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":544,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":545,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":546,"author":{"gitId":"xenosf"},"content":" private List\u003cFeedbackQuestion\u003e getQuestionsForSession("},{"lineNumber":547,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, @Nullable UUID questionId) {"},{"lineNumber":548,"author":{"gitId":"xenosf"},"content":" if (questionId \u003d\u003d null) {"},{"lineNumber":549,"author":{"gitId":"xenosf"},"content":" return fqLogic.getFeedbackQuestionsForSession(feedbackSession);"},{"lineNumber":550,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":551,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq \u003d fqLogic.getFeedbackQuestion(questionId);"},{"lineNumber":552,"author":{"gitId":"xenosf"},"content":" return fq \u003d\u003d null ? Collections.emptyList() : Collections.singletonList(fq);"},{"lineNumber":553,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":554,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":555,"author":{"gitId":"xenosf"},"content":" private SqlSessionResultsBundle buildResultsBundle("},{"lineNumber":556,"author":{"gitId":"xenosf"},"content":" boolean isCourseWide, FeedbackSession feedbackSession, String courseId, String sectionName, UUID questionId,"},{"lineNumber":557,"author":{"gitId":"xenosf"},"content":" boolean isInstructor, String userEmail, Instructor instructor, Student student,"},{"lineNumber":558,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster roster, List\u003cFeedbackQuestion\u003e allQuestions,"},{"lineNumber":559,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e allResponses, boolean isPreviewResults) {"},{"lineNumber":560,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":561,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackQuestion\u003e questionsNotVisibleToInstructors \u003d new HashSet\u003c\u003e();"},{"lineNumber":562,"author":{"gitId":"xenosf"},"content":" for (FeedbackQuestion qn : allQuestions) {"},{"lineNumber":563,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":564,"author":{"gitId":"xenosf"},"content":" // set questions that should not be visible to instructors if results are being previewed"},{"lineNumber":565,"author":{"gitId":"xenosf"},"content":" if (isPreviewResults \u0026\u0026 !checkCanInstructorsSeeQuestion(qn)) {"},{"lineNumber":566,"author":{"gitId":"xenosf"},"content":" questionsNotVisibleToInstructors.add(qn);"},{"lineNumber":567,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":568,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":569,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":570,"author":{"gitId":"xenosf"},"content":" // load comment(s)"},{"lineNumber":571,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e allComments;"},{"lineNumber":572,"author":{"gitId":"xenosf"},"content":" if (questionId \u003d\u003d null) {"},{"lineNumber":573,"author":{"gitId":"xenosf"},"content":" allComments \u003d frcLogic.getFeedbackResponseCommentForSessionInSection("},{"lineNumber":574,"author":{"gitId":"xenosf"},"content":" courseId, feedbackSession.getName(), sectionName);"},{"lineNumber":575,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":576,"author":{"gitId":"xenosf"},"content":" allComments \u003d frcLogic.getFeedbackResponseCommentForQuestionInSection(questionId, sectionName);"},{"lineNumber":577,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":578,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":579,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":580,"author":{"gitId":"xenosf"},"content":" // related questions, responses, and comment"},{"lineNumber":581,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackQuestion\u003e relatedQuestions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":582,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e relatedResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":583,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, List\u003cFeedbackResponseComment\u003e\u003e relatedCommentsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":584,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackQuestion\u003e relatedQuestionsNotVisibleForPreviewSet \u003d new HashSet\u003c\u003e();"},{"lineNumber":585,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackQuestion\u003e relatedQuestionsWithCommentNotVisibleForPreview \u003d new HashSet\u003c\u003e();"},{"lineNumber":586,"author":{"gitId":"xenosf"},"content":" if (isCourseWide) {"},{"lineNumber":587,"author":{"gitId":"xenosf"},"content":" // all questions are related questions when viewing course-wide result"},{"lineNumber":588,"author":{"gitId":"xenosf"},"content":" for (FeedbackQuestion qn : allQuestions) {"},{"lineNumber":589,"author":{"gitId":"xenosf"},"content":" relatedQuestions.add(qn);"},{"lineNumber":590,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":591,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":592,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":593,"author":{"gitId":"xenosf"},"content":" Set\u003cString\u003e studentsEmailInTeam \u003d new HashSet\u003c\u003e();"},{"lineNumber":594,"author":{"gitId":"xenosf"},"content":" if (student !\u003d null) {"},{"lineNumber":595,"author":{"gitId":"xenosf"},"content":" for (Student studentInTeam"},{"lineNumber":596,"author":{"gitId":"mingyuanc"},"content":" : roster.getTeamToMembersTable().getOrDefault(student.getTeam().getName(), Collections.emptyList())) {"},{"lineNumber":597,"author":{"gitId":"xenosf"},"content":" studentsEmailInTeam.add(studentInTeam.getEmail());"},{"lineNumber":598,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":599,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":600,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":601,"author":{"gitId":"xenosf"},"content":" // visibility table for each response and comment"},{"lineNumber":602,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, Boolean\u003e responseGiverVisibilityTable \u003d new HashMap\u003c\u003e();"},{"lineNumber":603,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, Boolean\u003e responseRecipientVisibilityTable \u003d new HashMap\u003c\u003e();"},{"lineNumber":604,"author":{"gitId":"xenosf"},"content":" Map\u003cLong, Boolean\u003e commentVisibilityTable \u003d new HashMap\u003c\u003e();"},{"lineNumber":605,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":606,"author":{"gitId":"xenosf"},"content":" // build response"},{"lineNumber":607,"author":{"gitId":"xenosf"},"content":" for (FeedbackResponse response : allResponses) {"},{"lineNumber":608,"author":{"gitId":"xenosf"},"content":" if (isPreviewResults"},{"lineNumber":609,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 relatedQuestionsNotVisibleForPreviewSet.contains(response.getFeedbackQuestion())) {"},{"lineNumber":610,"author":{"gitId":"xenosf"},"content":" // corresponding question\u0027s responses will not be shown to previewer, ignore the response"},{"lineNumber":611,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":612,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":613,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion correspondingQuestion \u003d response.getFeedbackQuestion();"},{"lineNumber":614,"author":{"gitId":"xenosf"},"content":" if (correspondingQuestion \u003d\u003d null) {"},{"lineNumber":615,"author":{"gitId":"xenosf"},"content":" // orphan response without corresponding question, ignore it"},{"lineNumber":616,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":617,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":618,"author":{"gitId":"xenosf"},"content":" // check visibility of response"},{"lineNumber":619,"author":{"gitId":"xenosf"},"content":" boolean isVisibleResponse \u003d isResponseVisibleForUser("},{"lineNumber":620,"author":{"gitId":"xenosf"},"content":" userEmail, isInstructor, student, studentsEmailInTeam, response, correspondingQuestion, instructor);"},{"lineNumber":621,"author":{"gitId":"xenosf"},"content":" if (!isVisibleResponse) {"},{"lineNumber":622,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":623,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":624,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":625,"author":{"gitId":"xenosf"},"content":" // if previewing results and corresponding question should not be visible to instructors,"},{"lineNumber":626,"author":{"gitId":"xenosf"},"content":" // note down the question and do not add the response"},{"lineNumber":627,"author":{"gitId":"xenosf"},"content":" if (isPreviewResults \u0026\u0026 questionsNotVisibleToInstructors.contains(response.getFeedbackQuestion())) {"},{"lineNumber":628,"author":{"gitId":"xenosf"},"content":" relatedQuestionsNotVisibleForPreviewSet.add(response.getFeedbackQuestion());"},{"lineNumber":629,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":630,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":631,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":632,"author":{"gitId":"xenosf"},"content":" // if there are viewable responses, the corresponding question becomes related"},{"lineNumber":633,"author":{"gitId":"xenosf"},"content":" relatedQuestions.add(response.getFeedbackQuestion());"},{"lineNumber":634,"author":{"gitId":"xenosf"},"content":" relatedResponses.add(response);"},{"lineNumber":635,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":636,"author":{"gitId":"xenosf"},"content":" // generate giver/recipient name visibility table"},{"lineNumber":637,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable.put(response,"},{"lineNumber":638,"author":{"gitId":"xenosf"},"content":" isNameVisibleToUser(correspondingQuestion, response, userEmail, isInstructor, true, roster));"},{"lineNumber":639,"author":{"gitId":"xenosf"},"content":" responseRecipientVisibilityTable.put(response,"},{"lineNumber":640,"author":{"gitId":"xenosf"},"content":" isNameVisibleToUser(correspondingQuestion, response, userEmail, isInstructor, false, roster));"},{"lineNumber":641,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":642,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":643,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":644,"author":{"gitId":"xenosf"},"content":" // build comment"},{"lineNumber":645,"author":{"gitId":"xenosf"},"content":" for (FeedbackResponseComment frc : allComments) {"},{"lineNumber":646,"author":{"gitId":"xenosf"},"content":" FeedbackResponse relatedResponse \u003d frc.getFeedbackResponse();"},{"lineNumber":647,"author":{"gitId":"xenosf"},"content":" // the comment needs to be relevant to the question and response"},{"lineNumber":648,"author":{"gitId":"xenosf"},"content":" if (relatedResponse \u003d\u003d null) {"},{"lineNumber":649,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":650,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":651,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion relatedQuestion \u003d relatedResponse.getFeedbackQuestion();"},{"lineNumber":652,"author":{"gitId":"xenosf"},"content":" if (relatedQuestion \u003d\u003d null) {"},{"lineNumber":653,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":654,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":655,"author":{"gitId":"xenosf"},"content":" // check visibility of comment"},{"lineNumber":656,"author":{"gitId":"xenosf"},"content":" boolean isVisibleResponseComment \u003d frcLogic.checkIsResponseCommentVisibleForUser("},{"lineNumber":657,"author":{"gitId":"xenosf"},"content":" userEmail, isInstructor, student, studentsEmailInTeam, relatedResponse, relatedQuestion, frc);"},{"lineNumber":658,"author":{"gitId":"xenosf"},"content":" if (!isVisibleResponseComment) {"},{"lineNumber":659,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":660,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":661,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":662,"author":{"gitId":"xenosf"},"content":" // if previewing results and the comment should not be visible to instructors,"},{"lineNumber":663,"author":{"gitId":"xenosf"},"content":" // note down the corresponding question and do not add the comment"},{"lineNumber":664,"author":{"gitId":"xenosf"},"content":" if (isPreviewResults \u0026\u0026 !checkCanInstructorsSeeComment(frc)) {"},{"lineNumber":665,"author":{"gitId":"xenosf"},"content":" relatedQuestionsWithCommentNotVisibleForPreview.add(frc.getFeedbackResponse().getFeedbackQuestion());"},{"lineNumber":666,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":667,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":668,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":669,"author":{"gitId":"xenosf"},"content":" relatedCommentsMap.computeIfAbsent(relatedResponse, key -\u003e new ArrayList\u003c\u003e()).add(frc);"},{"lineNumber":670,"author":{"gitId":"xenosf"},"content":" // generate comment giver name visibility table"},{"lineNumber":671,"author":{"gitId":"xenosf"},"content":" commentVisibilityTable.put(frc.getId(),"},{"lineNumber":672,"author":{"gitId":"xenosf"},"content":" frcLogic.checkIsNameVisibleToUser(frc, relatedResponse, userEmail, roster));"},{"lineNumber":673,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":674,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":675,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":676,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e existingResponses \u003d new ArrayList\u003c\u003e(relatedResponses);"},{"lineNumber":677,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e missingResponses \u003d Collections.emptyList();"},{"lineNumber":678,"author":{"gitId":"xenosf"},"content":" if (isCourseWide) {"},{"lineNumber":679,"author":{"gitId":"xenosf"},"content":" missingResponses \u003d buildMissingResponses("},{"lineNumber":680,"author":{"gitId":"xenosf"},"content":" instructor, responseGiverVisibilityTable, responseRecipientVisibilityTable, relatedQuestions,"},{"lineNumber":681,"author":{"gitId":"xenosf"},"content":" existingResponses, roster, sectionName);"},{"lineNumber":682,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":683,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":684,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":685,"author":{"gitId":"xenosf"},"content":" return new SqlSessionResultsBundle(relatedQuestions, relatedQuestionsNotVisibleForPreviewSet,"},{"lineNumber":686,"author":{"gitId":"xenosf"},"content":" relatedQuestionsWithCommentNotVisibleForPreview, existingResponses, missingResponses,"},{"lineNumber":687,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable, responseRecipientVisibilityTable, relatedCommentsMap,"},{"lineNumber":688,"author":{"gitId":"xenosf"},"content":" commentVisibilityTable, roster);"},{"lineNumber":689,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":690,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":691,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":692,"author":{"gitId":"xenosf"},"content":" * Gets the session result for a feedback session."},{"lineNumber":693,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":694,"author":{"gitId":"xenosf"},"content":" * @param feedbackSession the feedback session"},{"lineNumber":695,"author":{"gitId":"xenosf"},"content":" * @param courseId the ID of the course"},{"lineNumber":696,"author":{"gitId":"xenosf"},"content":" * @param instructorEmail the instructor viewing the feedback session"},{"lineNumber":697,"author":{"gitId":"xenosf"},"content":" * @param questionId if not null, will only return partial bundle for the question"},{"lineNumber":698,"author":{"gitId":"xenosf"},"content":" * @param sectionName if not null, will only return partial bundle for the section"},{"lineNumber":699,"author":{"gitId":"xenosf"},"content":" * @param fetchType if not null, will fetch responses by giver, receiver sections, or both"},{"lineNumber":700,"author":{"gitId":"xenosf"},"content":" * @return the session result bundle"},{"lineNumber":701,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":702,"author":{"gitId":"xenosf"},"content":" public SqlSessionResultsBundle getSessionResultsForCourse("},{"lineNumber":703,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId, String instructorEmail,"},{"lineNumber":704,"author":{"gitId":"xenosf"},"content":" @Nullable UUID questionId, @Nullable String sectionName, @Nullable FeedbackResultFetchType fetchType) {"},{"lineNumber":705,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":706,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster roster \u003d new SqlCourseRoster("},{"lineNumber":707,"author":{"gitId":"xenosf"},"content":" usersLogic.getStudentsForCourse(courseId),"},{"lineNumber":708,"author":{"gitId":"xenosf"},"content":" usersLogic.getInstructorsForCourse(courseId));"},{"lineNumber":709,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":710,"author":{"gitId":"xenosf"},"content":" // load question(s)"},{"lineNumber":711,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackQuestion\u003e allQuestions \u003d getQuestionsForSession(feedbackSession, questionId);"},{"lineNumber":712,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":713,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":714,"author":{"gitId":"xenosf"},"content":" // load response(s)"},{"lineNumber":715,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e allResponses;"},{"lineNumber":716,"author":{"gitId":"xenosf"},"content":" // load all response for instructors and passively filter them later"},{"lineNumber":717,"author":{"gitId":"xenosf"},"content":" if (questionId \u003d\u003d null) {"},{"lineNumber":718,"author":{"gitId":"xenosf"},"content":" allResponses \u003d getFeedbackResponsesForSessionInSection(feedbackSession, courseId, sectionName, fetchType);"},{"lineNumber":719,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":720,"author":{"gitId":"xenosf"},"content":" allResponses \u003d getFeedbackResponsesForQuestionInSection(questionId, sectionName, fetchType);"},{"lineNumber":721,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":722,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":723,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":724,"author":{"gitId":"xenosf"},"content":" // consider the current viewing user"},{"lineNumber":725,"author":{"gitId":"xenosf"},"content":" Instructor instructor \u003d usersLogic.getInstructorForEmail(courseId, instructorEmail);"},{"lineNumber":726,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":727,"author":{"gitId":"xenosf"},"content":" return buildResultsBundle(true, feedbackSession, courseId, sectionName, questionId, true, instructorEmail,"},{"lineNumber":728,"author":{"gitId":"xenosf"},"content":" instructor, null, roster, allQuestions, allResponses, false);"},{"lineNumber":729,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":730,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":731,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":732,"author":{"gitId":"xenosf"},"content":" * Gets the session result for a feedback session for the given user."},{"lineNumber":733,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":734,"author":{"gitId":"xenosf"},"content":" * @param feedbackSession the feedback session"},{"lineNumber":735,"author":{"gitId":"xenosf"},"content":" * @param courseId the ID of the course"},{"lineNumber":736,"author":{"gitId":"xenosf"},"content":" * @param userEmail the user viewing the feedback session"},{"lineNumber":737,"author":{"gitId":"xenosf"},"content":" * @param isInstructor true if the user is an instructor"},{"lineNumber":738,"author":{"gitId":"xenosf"},"content":" * @param questionId if not null, will only return partial bundle for the question"},{"lineNumber":739,"author":{"gitId":"xenosf"},"content":" * @param isPreviewResults true if getting session results for preview purpose"},{"lineNumber":740,"author":{"gitId":"xenosf"},"content":" * @return the session result bundle"},{"lineNumber":741,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":742,"author":{"gitId":"xenosf"},"content":" public SqlSessionResultsBundle getSessionResultsForUser("},{"lineNumber":743,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId, String userEmail, boolean isInstructor,"},{"lineNumber":744,"author":{"gitId":"xenosf"},"content":" @Nullable UUID questionId, boolean isPreviewResults) {"},{"lineNumber":745,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster roster \u003d new SqlCourseRoster("},{"lineNumber":746,"author":{"gitId":"xenosf"},"content":" usersLogic.getStudentsForCourse(courseId),"},{"lineNumber":747,"author":{"gitId":"xenosf"},"content":" usersLogic.getInstructorsForCourse(courseId));"},{"lineNumber":748,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":749,"author":{"gitId":"xenosf"},"content":" // load question(s)"},{"lineNumber":750,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackQuestion\u003e allQuestions \u003d getQuestionsForSession(feedbackSession, questionId);"},{"lineNumber":751,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":752,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":753,"author":{"gitId":"xenosf"},"content":" // load response(s)"},{"lineNumber":754,"author":{"gitId":"xenosf"},"content":" Student student \u003d isInstructor ? null : usersLogic.getStudentForEmail(courseId, userEmail);"},{"lineNumber":755,"author":{"gitId":"xenosf"},"content":" Instructor instructor \u003d isInstructor ? usersLogic.getInstructorForEmail(courseId, userEmail) : null;"},{"lineNumber":756,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e allResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":757,"author":{"gitId":"xenosf"},"content":" for (FeedbackQuestion question : allQuestions) {"},{"lineNumber":758,"author":{"gitId":"xenosf"},"content":" // load viewable responses for students/instructors proactively"},{"lineNumber":759,"author":{"gitId":"xenosf"},"content":" // this is cost-effective as in most of time responses for the whole session will not be viewable to individuals"},{"lineNumber":760,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e viewableResponses \u003d isInstructor"},{"lineNumber":761,"author":{"gitId":"xenosf"},"content":" ? getFeedbackResponsesToOrFromInstructorForQuestion(question, instructor)"},{"lineNumber":762,"author":{"gitId":"xenosf"},"content":" : getViewableFeedbackResponsesForStudentForQuestion(question, student, roster);"},{"lineNumber":763,"author":{"gitId":"xenosf"},"content":" allResponses.addAll(viewableResponses);"},{"lineNumber":764,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":765,"author":{"gitId":"xenosf"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":766,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":767,"author":{"gitId":"xenosf"},"content":" return buildResultsBundle(false, feedbackSession, courseId, null, questionId, isInstructor, userEmail,"},{"lineNumber":768,"author":{"gitId":"xenosf"},"content":" instructor, student, roster, allQuestions, allResponses, isPreviewResults);"},{"lineNumber":769,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":770,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":771,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":772,"author":{"gitId":"xenosf"},"content":" * Builds viewable missing responses for the session for instructor."},{"lineNumber":773,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":774,"author":{"gitId":"xenosf"},"content":" * @param instructor the instructor"},{"lineNumber":775,"author":{"gitId":"xenosf"},"content":" * @param responseGiverVisibilityTable"},{"lineNumber":776,"author":{"gitId":"xenosf"},"content":" * the giver visibility table which will be updated with the visibility of missing responses"},{"lineNumber":777,"author":{"gitId":"xenosf"},"content":" * @param responseRecipientVisibilityTable"},{"lineNumber":778,"author":{"gitId":"xenosf"},"content":" * the recipient visibility table which will be updated with the visibility of missing responses"},{"lineNumber":779,"author":{"gitId":"xenosf"},"content":" * @param relatedQuestions the relevant questions"},{"lineNumber":780,"author":{"gitId":"xenosf"},"content":" * @param existingResponses existing responses"},{"lineNumber":781,"author":{"gitId":"xenosf"},"content":" * @param courseRoster the course roster"},{"lineNumber":782,"author":{"gitId":"xenosf"},"content":" * @param sectionName if not null, will only build missing responses for the section"},{"lineNumber":783,"author":{"gitId":"xenosf"},"content":" * @return a list of missing responses for the session."},{"lineNumber":784,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":785,"author":{"gitId":"xenosf"},"content":" private List\u003cFeedbackResponse\u003e buildMissingResponses("},{"lineNumber":786,"author":{"gitId":"xenosf"},"content":" Instructor instructor, Map\u003cFeedbackResponse, Boolean\u003e responseGiverVisibilityTable,"},{"lineNumber":787,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, Boolean\u003e responseRecipientVisibilityTable, List\u003cFeedbackQuestion\u003e relatedQuestions,"},{"lineNumber":788,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e existingResponses, SqlCourseRoster courseRoster, @Nullable String sectionName) {"},{"lineNumber":789,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":790,"author":{"gitId":"xenosf"},"content":" // first get all possible giver recipient pairs"},{"lineNumber":791,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackQuestion, Map\u003cString, Set\u003cString\u003e\u003e\u003e questionCompleteGiverRecipientMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":792,"author":{"gitId":"xenosf"},"content":" for (FeedbackQuestion feedbackQuestion : relatedQuestions) {"},{"lineNumber":793,"author":{"gitId":"xenosf"},"content":" if (feedbackQuestion.getQuestionDetailsCopy().shouldGenerateMissingResponses(feedbackQuestion)) {"},{"lineNumber":794,"author":{"gitId":"xenosf"},"content":" questionCompleteGiverRecipientMap.put(feedbackQuestion,"},{"lineNumber":795,"author":{"gitId":"xenosf"},"content":" fqLogic.buildCompleteGiverRecipientMap(feedbackQuestion, courseRoster));"},{"lineNumber":796,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":797,"author":{"gitId":"xenosf"},"content":" questionCompleteGiverRecipientMap.put(feedbackQuestion, new HashMap\u003c\u003e());"},{"lineNumber":798,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":799,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":800,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":801,"author":{"gitId":"xenosf"},"content":" // remove the existing responses in those pairs"},{"lineNumber":802,"author":{"gitId":"xenosf"},"content":" for (FeedbackResponse existingResponse : existingResponses) {"},{"lineNumber":803,"author":{"gitId":"xenosf"},"content":" Map\u003cString, Set\u003cString\u003e\u003e currGiverRecipientMap \u003d"},{"lineNumber":804,"author":{"gitId":"xenosf"},"content":" questionCompleteGiverRecipientMap.get(existingResponse.getFeedbackQuestion());"},{"lineNumber":805,"author":{"gitId":"xenosf"},"content":" if (!currGiverRecipientMap.containsKey(existingResponse.getGiver())) {"},{"lineNumber":806,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":807,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":808,"author":{"gitId":"xenosf"},"content":" currGiverRecipientMap.get(existingResponse.getGiver()).remove(existingResponse.getRecipient());"},{"lineNumber":809,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":810,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":811,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e missingResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":812,"author":{"gitId":"xenosf"},"content":" // build dummy responses"},{"lineNumber":813,"author":{"gitId":"xenosf"},"content":" for (Map.Entry\u003cFeedbackQuestion, Map\u003cString, Set\u003cString\u003e\u003e\u003e currGiverRecipientMapEntry"},{"lineNumber":814,"author":{"gitId":"xenosf"},"content":" : questionCompleteGiverRecipientMap.entrySet()) {"},{"lineNumber":815,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion correspondingQuestion \u003d currGiverRecipientMapEntry.getKey();"},{"lineNumber":816,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":817,"author":{"gitId":"xenosf"},"content":" for (Map.Entry\u003cString, Set\u003cString\u003e\u003e giverRecipientEntry"},{"lineNumber":818,"author":{"gitId":"xenosf"},"content":" : currGiverRecipientMapEntry.getValue().entrySet()) {"},{"lineNumber":819,"author":{"gitId":"xenosf"},"content":" // giver"},{"lineNumber":820,"author":{"gitId":"xenosf"},"content":" String giverIdentifier \u003d giverRecipientEntry.getKey();"},{"lineNumber":821,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster.ParticipantInfo giverInfo \u003d courseRoster.getInfoForIdentifier(giverIdentifier);"},{"lineNumber":822,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":823,"author":{"gitId":"xenosf"},"content":" for (String recipientIdentifier : giverRecipientEntry.getValue()) {"},{"lineNumber":824,"author":{"gitId":"xenosf"},"content":" // recipient"},{"lineNumber":825,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster.ParticipantInfo recipientInfo \u003d courseRoster.getInfoForIdentifier(recipientIdentifier);"},{"lineNumber":826,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":827,"author":{"gitId":"xenosf"},"content":" // skip responses not in current section"},{"lineNumber":828,"author":{"gitId":"xenosf"},"content":" if (sectionName !\u003d null"},{"lineNumber":829,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 !giverInfo.getSectionName().equals(sectionName)"},{"lineNumber":830,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 !recipientInfo.getSectionName().equals(sectionName)) {"},{"lineNumber":831,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":832,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":833,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":834,"author":{"gitId":"xenosf"},"content":" FeedbackResponse missingResponse \u003d new FeedbackMissingResponse("},{"lineNumber":835,"author":{"gitId":"xenosf"},"content":" correspondingQuestion,"},{"lineNumber":836,"author":{"gitId":"xenosf"},"content":" giverIdentifier, giverInfo.getSectionName(),"},{"lineNumber":837,"author":{"gitId":"xenosf"},"content":" recipientIdentifier, recipientInfo.getSectionName());"},{"lineNumber":838,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":839,"author":{"gitId":"xenosf"},"content":" // check visibility of the missing response"},{"lineNumber":840,"author":{"gitId":"xenosf"},"content":" boolean isVisibleResponse \u003d isResponseVisibleForUser("},{"lineNumber":841,"author":{"gitId":"xenosf"},"content":" instructor.getEmail(), true, null, Collections.emptySet(),"},{"lineNumber":842,"author":{"gitId":"xenosf"},"content":" missingResponse, correspondingQuestion, instructor);"},{"lineNumber":843,"author":{"gitId":"xenosf"},"content":" if (!isVisibleResponse) {"},{"lineNumber":844,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":845,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":846,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":847,"author":{"gitId":"xenosf"},"content":" // generate giver/recipient name visibility table"},{"lineNumber":848,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable.put(missingResponse,"},{"lineNumber":849,"author":{"gitId":"xenosf"},"content":" isNameVisibleToUser(correspondingQuestion, missingResponse,"},{"lineNumber":850,"author":{"gitId":"xenosf"},"content":" instructor.getEmail(), true, true, courseRoster));"},{"lineNumber":851,"author":{"gitId":"xenosf"},"content":" responseRecipientVisibilityTable.put(missingResponse,"},{"lineNumber":852,"author":{"gitId":"xenosf"},"content":" isNameVisibleToUser(correspondingQuestion, missingResponse,"},{"lineNumber":853,"author":{"gitId":"xenosf"},"content":" instructor.getEmail(), true, false, courseRoster));"},{"lineNumber":854,"author":{"gitId":"xenosf"},"content":" missingResponses.add(missingResponse);"},{"lineNumber":855,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":856,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":857,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":858,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":859,"author":{"gitId":"xenosf"},"content":" return missingResponses;"},{"lineNumber":860,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":861,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":862,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":863,"author":{"gitId":"xenosf"},"content":" * Checks whether the giver name of a response is visible to an user."},{"lineNumber":864,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":865,"author":{"gitId":"xenosf"},"content":" public boolean isNameVisibleToUser("},{"lineNumber":866,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question,"},{"lineNumber":867,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response,"},{"lineNumber":868,"author":{"gitId":"xenosf"},"content":" String userEmail,"},{"lineNumber":869,"author":{"gitId":"xenosf"},"content":" boolean isInstructor, boolean isGiverName, SqlCourseRoster roster) {"},{"lineNumber":870,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":871,"author":{"gitId":"xenosf"},"content":" if (question \u003d\u003d null) {"},{"lineNumber":872,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":873,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":874,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":875,"author":{"gitId":"xenosf"},"content":" // Early return if user is giver"},{"lineNumber":876,"author":{"gitId":"xenosf"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS) {"},{"lineNumber":877,"author":{"gitId":"xenosf"},"content":" // if response is given by team, then anyone in the team can see the response"},{"lineNumber":878,"author":{"gitId":"xenosf"},"content":" if (roster.isStudentInTeam(userEmail, response.getGiver())) {"},{"lineNumber":879,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":880,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":881,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":882,"author":{"gitId":"xenosf"},"content":" if (response.getGiver().equals(userEmail)) {"},{"lineNumber":883,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":884,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":885,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":886,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":887,"author":{"gitId":"xenosf"},"content":" return isFeedbackParticipantNameVisibleToUser(question, response,"},{"lineNumber":888,"author":{"gitId":"xenosf"},"content":" userEmail, isInstructor, isGiverName, roster);"},{"lineNumber":889,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":890,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":891,"author":{"gitId":"xenosf"},"content":" private boolean isFeedbackParticipantNameVisibleToUser("},{"lineNumber":892,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question, FeedbackResponse response,"},{"lineNumber":893,"author":{"gitId":"xenosf"},"content":" String userEmail, boolean isInstructor, boolean isGiverName, SqlCourseRoster roster) {"},{"lineNumber":894,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackParticipantType\u003e showNameTo \u003d isGiverName"},{"lineNumber":895,"author":{"gitId":"xenosf"},"content":" ? question.getShowGiverNameTo()"},{"lineNumber":896,"author":{"gitId":"xenosf"},"content":" : question.getShowRecipientNameTo();"},{"lineNumber":897,"author":{"gitId":"xenosf"},"content":" for (FeedbackParticipantType type : showNameTo) {"},{"lineNumber":898,"author":{"gitId":"xenosf"},"content":" switch (type) {"},{"lineNumber":899,"author":{"gitId":"xenosf"},"content":" case INSTRUCTORS:"},{"lineNumber":900,"author":{"gitId":"xenosf"},"content":" if (roster.getInstructorForEmail(userEmail) !\u003d null \u0026\u0026 isInstructor) {"},{"lineNumber":901,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":902,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":903,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":904,"author":{"gitId":"xenosf"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":905,"author":{"gitId":"xenosf"},"content":" case OWN_TEAM_MEMBERS_INCLUDING_SELF:"},{"lineNumber":906,"author":{"gitId":"xenosf"},"content":" // Refers to Giver\u0027s Team Members"},{"lineNumber":907,"author":{"gitId":"xenosf"},"content":" if (roster.isStudentsInSameTeam(response.getGiver(), userEmail)) {"},{"lineNumber":908,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":909,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":910,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":911,"author":{"gitId":"xenosf"},"content":" case RECEIVER:"},{"lineNumber":912,"author":{"gitId":"xenosf"},"content":" // Response to team"},{"lineNumber":913,"author":{"gitId":"xenosf"},"content":" if (question.getRecipientType().isTeam()) {"},{"lineNumber":914,"author":{"gitId":"xenosf"},"content":" if (roster.isStudentInTeam(userEmail, response.getRecipient())) {"},{"lineNumber":915,"author":{"gitId":"xenosf"},"content":" // this is a team name"},{"lineNumber":916,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":917,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":918,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":919,"author":{"gitId":"xenosf"},"content":" // Response to individual"},{"lineNumber":920,"author":{"gitId":"xenosf"},"content":" } else if (response.getRecipient().equals(userEmail)) {"},{"lineNumber":921,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":922,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":923,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":924,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":925,"author":{"gitId":"xenosf"},"content":" case RECEIVER_TEAM_MEMBERS:"},{"lineNumber":926,"author":{"gitId":"xenosf"},"content":" // Response to team; recipient \u003d teamName"},{"lineNumber":927,"author":{"gitId":"xenosf"},"content":" if (question.getRecipientType().isTeam()) {"},{"lineNumber":928,"author":{"gitId":"xenosf"},"content":" if (roster.isStudentInTeam(userEmail, response.getRecipient())) {"},{"lineNumber":929,"author":{"gitId":"xenosf"},"content":" // this is a team name"},{"lineNumber":930,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":931,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":932,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":933,"author":{"gitId":"xenosf"},"content":" } else if (roster.isStudentsInSameTeam(response.getRecipient(), userEmail)) {"},{"lineNumber":934,"author":{"gitId":"xenosf"},"content":" // Response to individual"},{"lineNumber":935,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":936,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":937,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":938,"author":{"gitId":"xenosf"},"content":" case STUDENTS:"},{"lineNumber":939,"author":{"gitId":"xenosf"},"content":" if (roster.isStudentInCourse(userEmail)) {"},{"lineNumber":940,"author":{"gitId":"xenosf"},"content":" return true;"},{"lineNumber":941,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":942,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":943,"author":{"gitId":"xenosf"},"content":" default:"},{"lineNumber":944,"author":{"gitId":"xenosf"},"content":" assert false : \"Invalid FeedbackParticipantType for showNameTo in \""},{"lineNumber":945,"author":{"gitId":"xenosf"},"content":" + \"FeedbackResponseLogic.isFeedbackParticipantNameVisibleToUser()\";"},{"lineNumber":946,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":947,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":948,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":949,"author":{"gitId":"xenosf"},"content":" return false;"},{"lineNumber":950,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":951,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":952,"author":{"gitId":"xenosf"},"content":" private boolean isResponseVisibleForUser("},{"lineNumber":953,"author":{"gitId":"xenosf"},"content":" String userEmail, boolean isInstructor, Student student,"},{"lineNumber":954,"author":{"gitId":"xenosf"},"content":" Set\u003cString\u003e studentsEmailInTeam, FeedbackResponse response,"},{"lineNumber":955,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion relatedQuestion, Instructor instructor) {"},{"lineNumber":956,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":957,"author":{"gitId":"xenosf"},"content":" boolean isVisibleResponse \u003d false;"},{"lineNumber":958,"author":{"gitId":"xenosf"},"content":" if (isInstructor \u0026\u0026 relatedQuestion.isResponseVisibleTo(FeedbackParticipantType.INSTRUCTORS)"},{"lineNumber":959,"author":{"gitId":"xenosf"},"content":" || response.getRecipient().equals(userEmail)"},{"lineNumber":960,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 relatedQuestion.isResponseVisibleTo(FeedbackParticipantType.RECEIVER)"},{"lineNumber":961,"author":{"gitId":"xenosf"},"content":" || response.getGiver().equals(userEmail)"},{"lineNumber":962,"author":{"gitId":"xenosf"},"content":" || !isInstructor \u0026\u0026 relatedQuestion.isResponseVisibleTo(FeedbackParticipantType.STUDENTS)) {"},{"lineNumber":963,"author":{"gitId":"xenosf"},"content":" isVisibleResponse \u003d true;"},{"lineNumber":964,"author":{"gitId":"xenosf"},"content":" } else if (studentsEmailInTeam !\u003d null \u0026\u0026 !isInstructor) {"},{"lineNumber":965,"author":{"gitId":"xenosf"},"content":" if ((relatedQuestion.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":966,"author":{"gitId":"xenosf"},"content":" || relatedQuestion.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS_IN_SAME_SECTION"},{"lineNumber":967,"author":{"gitId":"xenosf"},"content":" || relatedQuestion.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS_EXCLUDING_SELF)"},{"lineNumber":968,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 relatedQuestion.isResponseVisibleTo(FeedbackParticipantType.RECEIVER)"},{"lineNumber":969,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 response.getRecipient().equals(student.getTeamName())) {"},{"lineNumber":970,"author":{"gitId":"xenosf"},"content":" isVisibleResponse \u003d true;"},{"lineNumber":971,"author":{"gitId":"xenosf"},"content":" } else if (relatedQuestion.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":972,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 response.getGiver().equals(student.getTeamName())) {"},{"lineNumber":973,"author":{"gitId":"xenosf"},"content":" isVisibleResponse \u003d true;"},{"lineNumber":974,"author":{"gitId":"xenosf"},"content":" } else if (relatedQuestion.isResponseVisibleTo(FeedbackParticipantType.OWN_TEAM_MEMBERS)"},{"lineNumber":975,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 studentsEmailInTeam.contains(response.getGiver())) {"},{"lineNumber":976,"author":{"gitId":"xenosf"},"content":" isVisibleResponse \u003d true;"},{"lineNumber":977,"author":{"gitId":"xenosf"},"content":" } else if (relatedQuestion.isResponseVisibleTo(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS)"},{"lineNumber":978,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 studentsEmailInTeam.contains(response.getRecipient())) {"},{"lineNumber":979,"author":{"gitId":"xenosf"},"content":" isVisibleResponse \u003d true;"},{"lineNumber":980,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":981,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":982,"author":{"gitId":"xenosf"},"content":" if (isVisibleResponse \u0026\u0026 instructor !\u003d null) {"},{"lineNumber":983,"author":{"gitId":"xenosf"},"content":" boolean isGiverSectionRestricted \u003d"},{"lineNumber":984,"author":{"gitId":"xenosf"},"content":" !instructor.isAllowedForPrivilege(response.getGiverSectionName(),"},{"lineNumber":985,"author":{"gitId":"xenosf"},"content":" response.getFeedbackQuestion().getFeedbackSession().getName(),"},{"lineNumber":986,"author":{"gitId":"xenosf"},"content":" Const.InstructorPermissions.CAN_VIEW_SESSION_IN_SECTIONS);"},{"lineNumber":987,"author":{"gitId":"xenosf"},"content":" // If instructors are not restricted to view the giver\u0027s section,"},{"lineNumber":988,"author":{"gitId":"xenosf"},"content":" // they are allowed to view responses to GENERAL, subject to visibility options"},{"lineNumber":989,"author":{"gitId":"xenosf"},"content":" boolean isRecipientSectionRestricted \u003d"},{"lineNumber":990,"author":{"gitId":"xenosf"},"content":" relatedQuestion.getRecipientType() !\u003d FeedbackParticipantType.NONE"},{"lineNumber":991,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 !instructor.isAllowedForPrivilege(response.getRecipientSectionName(),"},{"lineNumber":992,"author":{"gitId":"xenosf"},"content":" response.getFeedbackQuestion().getFeedbackSession().getName(),"},{"lineNumber":993,"author":{"gitId":"xenosf"},"content":" Const.InstructorPermissions.CAN_VIEW_SESSION_IN_SECTIONS);"},{"lineNumber":994,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":995,"author":{"gitId":"xenosf"},"content":" boolean isNotAllowedForInstructor \u003d isGiverSectionRestricted || isRecipientSectionRestricted;"},{"lineNumber":996,"author":{"gitId":"xenosf"},"content":" if (isNotAllowedForInstructor) {"},{"lineNumber":997,"author":{"gitId":"xenosf"},"content":" isVisibleResponse \u003d false;"},{"lineNumber":998,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":999,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1000,"author":{"gitId":"xenosf"},"content":" return isVisibleResponse;"},{"lineNumber":1001,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1002,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1003,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1004,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1005,"author":{"gitId":"xenosf"},"content":" * Gets all responses for a session."},{"lineNumber":1006,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1007,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e getFeedbackResponsesForSession("},{"lineNumber":1008,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId) {"},{"lineNumber":1009,"author":{"gitId":"xenosf"},"content":" return frDb.getFeedbackResponsesForSession(feedbackSession, courseId);"},{"lineNumber":1010,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1011,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1012,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1013,"author":{"gitId":"xenosf"},"content":" * Gets all responses given to/from a section in a feedback session in a course."},{"lineNumber":1014,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":1015,"author":{"gitId":"xenosf"},"content":" * @param feedbackSession the session"},{"lineNumber":1016,"author":{"gitId":"xenosf"},"content":" * @param courseId the course ID of the session"},{"lineNumber":1017,"author":{"gitId":"xenosf"},"content":" * @param sectionName if null, will retrieve all responses in the session"},{"lineNumber":1018,"author":{"gitId":"xenosf"},"content":" * @param fetchType if not null, will retrieve responses by giver, receiver sections, or both"},{"lineNumber":1019,"author":{"gitId":"xenosf"},"content":" * @return a list of responses"},{"lineNumber":1020,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1021,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForSessionInSection("},{"lineNumber":1022,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId, @Nullable String sectionName,"},{"lineNumber":1023,"author":{"gitId":"xenosf"},"content":" @Nullable FeedbackResultFetchType fetchType) {"},{"lineNumber":1024,"author":{"gitId":"xenosf"},"content":" if (sectionName \u003d\u003d null) {"},{"lineNumber":1025,"author":{"gitId":"xenosf"},"content":" return getFeedbackResponsesForSession(feedbackSession, courseId);"},{"lineNumber":1026,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1027,"author":{"gitId":"xenosf"},"content":" return frDb.getFeedbackResponsesForSessionInSection(feedbackSession, courseId, sectionName, fetchType);"},{"lineNumber":1028,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1029,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1030,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1031,"author":{"gitId":"xenosf"},"content":" * Gets all responses given to/from a section for a question."},{"lineNumber":1032,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":1033,"author":{"gitId":"xenosf"},"content":" * @param feedbackQuestionId the question UUID"},{"lineNumber":1034,"author":{"gitId":"xenosf"},"content":" * @param sectionName if null, will retrieve all responses for the question"},{"lineNumber":1035,"author":{"gitId":"xenosf"},"content":" * @return a list of responses"},{"lineNumber":1036,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1037,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForQuestionInSection("},{"lineNumber":1038,"author":{"gitId":"xenosf"},"content":" UUID feedbackQuestionId, @Nullable String sectionName, FeedbackResultFetchType fetchType) {"},{"lineNumber":1039,"author":{"gitId":"xenosf"},"content":" if (sectionName \u003d\u003d null) {"},{"lineNumber":1040,"author":{"gitId":"xenosf"},"content":" return getFeedbackResponsesForQuestion(feedbackQuestionId);"},{"lineNumber":1041,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1042,"author":{"gitId":"xenosf"},"content":" return frDb.getFeedbackResponsesForQuestionInSection(feedbackQuestionId, sectionName, fetchType);"},{"lineNumber":1043,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1044,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1045,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1046,"author":{"gitId":"xenosf"},"content":" * Returns feedback responses given/received by an instructor."},{"lineNumber":1047,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1048,"author":{"gitId":"xenosf"},"content":" private List\u003cFeedbackResponse\u003e getFeedbackResponsesToOrFromInstructorForQuestion("},{"lineNumber":1049,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question, Instructor instructor) {"},{"lineNumber":1050,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackResponse\u003e viewableResponses \u003d new HashSet\u003c\u003e();"},{"lineNumber":1051,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1052,"author":{"gitId":"xenosf"},"content":" // Add responses that the instructor submitted him/herself"},{"lineNumber":1053,"author":{"gitId":"xenosf"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS) {"},{"lineNumber":1054,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll("},{"lineNumber":1055,"author":{"gitId":"xenosf"},"content":" getFeedbackResponsesFromGiverForQuestion(question.getId(), instructor.getEmail())"},{"lineNumber":1056,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":1057,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1058,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1059,"author":{"gitId":"xenosf"},"content":" // Add responses that user is a receiver of when response is visible to receiver or instructors"},{"lineNumber":1060,"author":{"gitId":"xenosf"},"content":" if (question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":1061,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 (question.isResponseVisibleTo(FeedbackParticipantType.RECEIVER)"},{"lineNumber":1062,"author":{"gitId":"xenosf"},"content":" || question.isResponseVisibleTo(FeedbackParticipantType.INSTRUCTORS))) {"},{"lineNumber":1063,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll("},{"lineNumber":1064,"author":{"gitId":"xenosf"},"content":" getFeedbackResponsesForRecipientForQuestion(question.getId(), instructor.getEmail())"},{"lineNumber":1065,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":1066,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1067,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1068,"author":{"gitId":"xenosf"},"content":" return new ArrayList\u003c\u003e(viewableResponses);"},{"lineNumber":1069,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1070,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1071,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1072,"author":{"gitId":"xenosf"},"content":" * Returns viewable feedback responses for a student."},{"lineNumber":1073,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1074,"author":{"gitId":"xenosf"},"content":" private List\u003cFeedbackResponse\u003e getViewableFeedbackResponsesForStudentForQuestion("},{"lineNumber":1075,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question, Student student, SqlCourseRoster courseRoster) {"},{"lineNumber":1076,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackResponse\u003e viewableResponses \u003d new HashSet\u003c\u003e();"},{"lineNumber":1077,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1078,"author":{"gitId":"xenosf"},"content":" // Add responses that the student submitted him/herself"},{"lineNumber":1079,"author":{"gitId":"xenosf"},"content":" if (question.getGiverType() !\u003d FeedbackParticipantType.INSTRUCTORS) {"},{"lineNumber":1080,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll("},{"lineNumber":1081,"author":{"gitId":"xenosf"},"content":" getFeedbackResponsesFromGiverForQuestion(question.getId(), student.getEmail())"},{"lineNumber":1082,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":1083,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1084,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1085,"author":{"gitId":"xenosf"},"content":" // Add responses that user is a receiver of when response is visible to receiver"},{"lineNumber":1086,"author":{"gitId":"xenosf"},"content":" if (question.getRecipientType() !\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":1087,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 question.isResponseVisibleTo(FeedbackParticipantType.RECEIVER)) {"},{"lineNumber":1088,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll("},{"lineNumber":1089,"author":{"gitId":"xenosf"},"content":" getFeedbackResponsesForRecipientForQuestion(question.getId(), student.getEmail())"},{"lineNumber":1090,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":1091,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1092,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1093,"author":{"gitId":"xenosf"},"content":" if (question.isResponseVisibleTo(FeedbackParticipantType.STUDENTS)) {"},{"lineNumber":1094,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll(getFeedbackResponsesForQuestion(question.getId()));"},{"lineNumber":1095,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1096,"author":{"gitId":"xenosf"},"content":" // Early return as STUDENTS covers all cases below."},{"lineNumber":1097,"author":{"gitId":"xenosf"},"content":" return new ArrayList\u003c\u003e(viewableResponses);"},{"lineNumber":1098,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1099,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1100,"author":{"gitId":"xenosf"},"content":" if (question.getRecipientType().isTeam()"},{"lineNumber":1101,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 question.isResponseVisibleTo(FeedbackParticipantType.RECEIVER)) {"},{"lineNumber":1102,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll("},{"lineNumber":1103,"author":{"gitId":"xenosf"},"content":" getFeedbackResponsesForRecipientForQuestion(question.getId(), student.getTeamName())"},{"lineNumber":1104,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":1105,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1106,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1107,"author":{"gitId":"xenosf"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":1108,"author":{"gitId":"xenosf"},"content":" || question.isResponseVisibleTo(FeedbackParticipantType.OWN_TEAM_MEMBERS)) {"},{"lineNumber":1109,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll("},{"lineNumber":1110,"author":{"gitId":"xenosf"},"content":" getFeedbackResponsesFromTeamForQuestion("},{"lineNumber":1111,"author":{"gitId":"xenosf"},"content":" question.getId(), question.getCourseId(), student.getTeamName(), courseRoster));"},{"lineNumber":1112,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1113,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1114,"author":{"gitId":"xenosf"},"content":" if (question.isResponseVisibleTo(FeedbackParticipantType.RECEIVER_TEAM_MEMBERS)) {"},{"lineNumber":1115,"author":{"gitId":"xenosf"},"content":" for (Student studentInTeam : courseRoster.getTeamToMembersTable().get(student.getTeamName())) {"},{"lineNumber":1116,"author":{"gitId":"xenosf"},"content":" if (studentInTeam.getEmail().equals(student.getEmail())) {"},{"lineNumber":1117,"author":{"gitId":"xenosf"},"content":" continue;"},{"lineNumber":1118,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1119,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e responses \u003d"},{"lineNumber":1120,"author":{"gitId":"xenosf"},"content":" getFeedbackResponsesForRecipientForQuestion(question.getId(), studentInTeam.getEmail());"},{"lineNumber":1121,"author":{"gitId":"xenosf"},"content":" viewableResponses.addAll(responses);"},{"lineNumber":1122,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1123,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1124,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1125,"author":{"gitId":"xenosf"},"content":" return new ArrayList\u003c\u003e(viewableResponses);"},{"lineNumber":1126,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1127,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1128,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1129,"author":{"gitId":"xenosf"},"content":" * Gets all responses received by a user for a question."},{"lineNumber":1130,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1131,"author":{"gitId":"xenosf"},"content":" private List\u003cFeedbackResponse\u003e getFeedbackResponsesForRecipientForQuestion("},{"lineNumber":1132,"author":{"gitId":"xenosf"},"content":" UUID feedbackQuestionId, String userEmail) {"},{"lineNumber":1133,"author":{"gitId":"xenosf"},"content":" return frDb.getFeedbackResponsesForRecipientForQuestion(feedbackQuestionId, userEmail);"},{"lineNumber":1134,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1135,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1136,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1137,"author":{"gitId":"xenosf"},"content":" * Checks whether instructors can see the question."},{"lineNumber":1138,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1139,"author":{"gitId":"xenosf"},"content":" boolean checkCanInstructorsSeeQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":1140,"author":{"gitId":"xenosf"},"content":" boolean isResponseVisibleToInstructor \u003d"},{"lineNumber":1141,"author":{"gitId":"xenosf"},"content":" feedbackQuestion.getShowResponsesTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":1142,"author":{"gitId":"xenosf"},"content":" boolean isGiverVisibleToInstructor \u003d"},{"lineNumber":1143,"author":{"gitId":"xenosf"},"content":" feedbackQuestion.getShowGiverNameTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":1144,"author":{"gitId":"xenosf"},"content":" boolean isRecipientVisibleToInstructor \u003d"},{"lineNumber":1145,"author":{"gitId":"xenosf"},"content":" feedbackQuestion.getShowRecipientNameTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":1146,"author":{"gitId":"xenosf"},"content":" return isResponseVisibleToInstructor \u0026\u0026 isGiverVisibleToInstructor \u0026\u0026 isRecipientVisibleToInstructor;"},{"lineNumber":1147,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1148,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1149,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1150,"author":{"gitId":"xenosf"},"content":" * Checks whether instructors can see the comment."},{"lineNumber":1151,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1152,"author":{"gitId":"xenosf"},"content":" boolean checkCanInstructorsSeeComment(FeedbackResponseComment feedbackResponseComment) {"},{"lineNumber":1153,"author":{"gitId":"xenosf"},"content":" boolean isCommentVisibleToInstructor \u003d"},{"lineNumber":1154,"author":{"gitId":"xenosf"},"content":" feedbackResponseComment.getShowCommentTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":1155,"author":{"gitId":"xenosf"},"content":" boolean isGiverVisibleToInstructor \u003d"},{"lineNumber":1156,"author":{"gitId":"xenosf"},"content":" feedbackResponseComment.getShowGiverNameTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":1157,"author":{"gitId":"xenosf"},"content":" return isCommentVisibleToInstructor \u0026\u0026 isGiverVisibleToInstructor;"},{"lineNumber":1158,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1159,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1160,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":77,"marquestye":23,"xenosf":625,"mingyuanc":2,"-":433}},{"path":"src/main/java/teammates/sqllogic/core/FeedbackSessionLogsLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import org.hibernate.ObjectNotFoundException;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.Logger;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlapi.FeedbackSessionLogsDb;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":" * Handles operations related to feedback sessions."},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":" *"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":" * @see FeedbackSessionLog"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":" * @see FeedbackSessionLogsDb"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":"public final class FeedbackSessionLogsLogic {"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":" private static final FeedbackSessionLogsLogic instance \u003d new FeedbackSessionLogsLogic();"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":" private static final String ERROR_FAILED_TO_CREATE_LOG \u003d \"Failed to create session activity log\";"},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" private FeedbackSessionLogsDb fslDb;"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" private FeedbackSessionLogsLogic() {"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" // prevent initialization"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" public static FeedbackSessionLogsLogic inst() {"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" return instance;"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" void initLogicDependencies(FeedbackSessionLogsDb fslDb) {"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" this.fslDb \u003d fslDb;"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" * Creates feedback session logs."},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" public void createFeedbackSessionLogs(List\u003cFeedbackSessionLog\u003e fsLogs) {"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" for (FeedbackSessionLog fsLog : fsLogs) {"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" try {"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" fslDb.createFeedbackSessionLog(fsLog);"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" } catch (ObjectNotFoundException e) {"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" log.severe(String.format(ERROR_FAILED_TO_CREATE_LOG), e);"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" * Gets the feedback session logs as filtered by the given parameters ordered by"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" * ascending timestamp. Logs with the same timestamp will be ordered by the"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" * student\u0027s email."},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" *"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" * @param studentId Can be null"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" * @param feedbackSessionId Can be null"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" public List\u003cFeedbackSessionLog\u003e getOrderedFeedbackSessionLogs(String courseId, UUID studentId,"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" UUID feedbackSessionId, Instant startTime, Instant endTime) {"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" return fslDb.getOrderedFeedbackSessionLogs(courseId, studentId, feedbackSessionId, startTime,"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" endTime);"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":67}},{"path":"src/main/java/teammates/sqllogic/core/FeedbackSessionsLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.HashSet;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackSessionsDb;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * Handles operations related to feedback sessions."},{"lineNumber":25,"author":{"gitId":"-"},"content":" *"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * @see FeedbackSession"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * @see FeedbackSessionsDb"},{"lineNumber":28,"author":{"gitId":"-"},"content":" */"},{"lineNumber":29,"author":{"gitId":"-"},"content":"public final class FeedbackSessionsLogic {"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final String ERROR_NON_EXISTENT_FS_STRING_FORMAT \u003d \"Trying to %s a non-existent feedback session: \";"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String ERROR_NON_EXISTENT_FS_UPDATE \u003d String.format(ERROR_NON_EXISTENT_FS_STRING_FORMAT, \"update\");"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final String ERROR_FS_ALREADY_PUBLISH \u003d \"Error publishing feedback session: \""},{"lineNumber":36,"author":{"gitId":"-"},"content":" + \"Session has already been published.\";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String ERROR_FS_ALREADY_UNPUBLISH \u003d \"Error unpublishing feedback session: \""},{"lineNumber":38,"author":{"gitId":"-"},"content":" + \"Session has already been unpublished.\";"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final int NUMBER_OF_HOURS_BEFORE_CLOSING_ALERT \u003d 24;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final int NUMBER_OF_HOURS_BEFORE_OPENING_SOON_ALERT \u003d 24;"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final FeedbackSessionsLogic instance \u003d new FeedbackSessionsLogic();"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" private FeedbackSessionsDb fsDb;"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private FeedbackQuestionsLogic fqLogic;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" private FeedbackResponsesLogic frLogic;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private CoursesLogic coursesLogic;"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" private UsersLogic usersLogic;"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" private FeedbackSessionsLogic() {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":53,"author":{"gitId":"-"},"content":" }"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" public static FeedbackSessionsLogic inst() {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" void initLogicDependencies(FeedbackSessionsDb fsDb, CoursesLogic coursesLogic,"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" FeedbackResponsesLogic frLogic, FeedbackQuestionsLogic fqLogic, UsersLogic usersLogic) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" this.fsDb \u003d fsDb;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" this.frLogic \u003d frLogic;"},{"lineNumber":63,"author":{"gitId":"-"},"content":" this.fqLogic \u003d fqLogic;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" this.coursesLogic \u003d coursesLogic;"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" this.usersLogic \u003d usersLogic;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":69,"author":{"gitId":"-"},"content":" * Gets a feedback session."},{"lineNumber":70,"author":{"gitId":"-"},"content":" *"},{"lineNumber":71,"author":{"gitId":"-"},"content":" * @return null if not found."},{"lineNumber":72,"author":{"gitId":"-"},"content":" */"},{"lineNumber":73,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSession(UUID id) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" assert id !\u003d null;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" return fsDb.getFeedbackSession(id);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * Gets a feedback session for {@code feedbackSessionName} and {@code courseId}."},{"lineNumber":80,"author":{"gitId":"-"},"content":" *"},{"lineNumber":81,"author":{"gitId":"-"},"content":" * @return null if not found."},{"lineNumber":82,"author":{"gitId":"-"},"content":" */"},{"lineNumber":83,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSession(String feedbackSessionName, String courseId) {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" return fsDb.getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":" * Gets a feedback session reference."},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" *"},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":" * @return Returns a proxy for the feedback session."},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" public FeedbackSession getFeedbackSessionReference(UUID id) {"},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" assert id !\u003d null;"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":" return fsDb.getFeedbackSessionReference(id);"},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":101,"author":{"gitId":"-"},"content":" * Gets all feedback sessions of a course, except those that are soft-deleted."},{"lineNumber":102,"author":{"gitId":"-"},"content":" */"},{"lineNumber":103,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsForCourse(String courseId) {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" return fsDb.getFeedbackSessionEntitiesForCourse(courseId).stream()"},{"lineNumber":105,"author":{"gitId":"-"},"content":" .filter(fs -\u003e fs.getDeletedAt() \u003d\u003d null)"},{"lineNumber":106,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":110,"author":{"gitId":"-"},"content":" * Gets all feedback sessions of a course started after time, except those that are soft-deleted."},{"lineNumber":111,"author":{"gitId":"-"},"content":" */"},{"lineNumber":112,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsForCourseStartingAfter(String courseId, Instant after) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" return fsDb.getFeedbackSessionEntitiesForCourseStartingAfter(courseId, after).stream()"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .filter(session -\u003e session.getDeletedAt() \u003d\u003d null)"},{"lineNumber":115,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":119,"author":{"gitId":"-"},"content":" * Gets a feedback session from the recycle bin."},{"lineNumber":120,"author":{"gitId":"-"},"content":" *"},{"lineNumber":121,"author":{"gitId":"-"},"content":" * @return null if not found."},{"lineNumber":122,"author":{"gitId":"-"},"content":" */"},{"lineNumber":123,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSessionFromRecycleBin(String feedbackSessionName, String courseId) {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" return fsDb.getSoftDeletedFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":128,"author":{"gitId":"-"},"content":" * Gets a list of feedback sessions for instructors."},{"lineNumber":129,"author":{"gitId":"-"},"content":" */"},{"lineNumber":130,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsForInstructors("},{"lineNumber":131,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorList) {"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e courseNotDeletedInstructorList \u003d instructorList.stream()"},{"lineNumber":134,"author":{"gitId":"-"},"content":" .filter(instructor -\u003e coursesLogic.getCourse(instructor.getCourseId()).getDeletedAt() \u003d\u003d null)"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e fsList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" for (Instructor instructor : courseNotDeletedInstructorList) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" fsList.addAll(getFeedbackSessionsForCourse(instructor.getCourseId()));"},{"lineNumber":141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" return fsList;"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":147,"author":{"gitId":"-"},"content":" * Returns a {@code List} of feedback sessions in the Recycle Bin for the instructors."},{"lineNumber":148,"author":{"gitId":"-"},"content":" * \u003cbr\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":" * Omits sessions if the corresponding courses are archived or in Recycle Bin"},{"lineNumber":150,"author":{"gitId":"-"},"content":" */"},{"lineNumber":151,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getSoftDeletedFeedbackSessionsForInstructors("},{"lineNumber":152,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorList) {"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e courseNotDeletedInstructorList \u003d instructorList.stream()"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .filter(instructor -\u003e coursesLogic.getCourse(instructor.getCourseId()).getDeletedAt() \u003d\u003d null)"},{"lineNumber":156,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e fsList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" for (Instructor instructor : courseNotDeletedInstructorList) {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" fsList.addAll(fsDb.getSoftDeletedFeedbackSessionsForCourse(instructor.getCourseId()));"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" return fsList;"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":168,"author":{"gitId":"-"},"content":" * Gets all and only the feedback sessions ongoing within a range of time."},{"lineNumber":169,"author":{"gitId":"-"},"content":" */"},{"lineNumber":170,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getOngoingSessions(Instant rangeStart, Instant rangeEnd) {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" return fsDb.getOngoingSessions(rangeStart, rangeEnd);"},{"lineNumber":172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":175,"author":{"gitId":"-"},"content":" * Gets a set of giver identifiers that has at least one response under a feedback session."},{"lineNumber":176,"author":{"gitId":"-"},"content":" */"},{"lineNumber":177,"author":{"gitId":"-"},"content":" public Set\u003cString\u003e getGiverSetThatAnsweredFeedbackSession(String feedbackSessionName, String courseId) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":179,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession \u003d fsDb.getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" Set\u003cString\u003e giverSet \u003d new HashSet\u003c\u003e();"},{"lineNumber":184,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":185,"author":{"gitId":"domoberzin"},"content":" fqLogic.getFeedbackQuestionsForSession(feedbackSession).forEach(question -\u003e {"},{"lineNumber":186,"author":{"gitId":"domoberzin"},"content":" frLogic.getFeedbackResponsesForQuestion(question.getId()).forEach(response -\u003e {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" giverSet.add(response.getGiver());"},{"lineNumber":188,"author":{"gitId":"-"},"content":" });"},{"lineNumber":189,"author":{"gitId":"-"},"content":" });"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" return giverSet;"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" * Gets a set of giver identifiers that has at least one response under a feedback session."},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":" public Set\u003cString\u003e getGiverSetThatAnsweredFeedbackSession(FeedbackSession fs) {"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" assert fs !\u003d null;"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":200,"author":{"gitId":"domoberzin"},"content":" Set\u003cString\u003e giverSet \u003d new HashSet\u003c\u003e();"},{"lineNumber":201,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":202,"author":{"gitId":"domoberzin"},"content":" fqLogic.getFeedbackQuestionsForSession(fs).forEach(question -\u003e {"},{"lineNumber":203,"author":{"gitId":"domoberzin"},"content":" frLogic.getFeedbackResponsesForQuestion(question.getId()).forEach(response -\u003e {"},{"lineNumber":204,"author":{"gitId":"domoberzin"},"content":" giverSet.add(response.getGiver());"},{"lineNumber":205,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":206,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":207,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":208,"author":{"gitId":"domoberzin"},"content":" return giverSet;"},{"lineNumber":209,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":210,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":212,"author":{"gitId":"-"},"content":" * Creates a feedback session."},{"lineNumber":213,"author":{"gitId":"-"},"content":" *"},{"lineNumber":214,"author":{"gitId":"-"},"content":" * @return created feedback session"},{"lineNumber":215,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the session is not valid"},{"lineNumber":216,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the session already exist"},{"lineNumber":217,"author":{"gitId":"-"},"content":" */"},{"lineNumber":218,"author":{"gitId":"-"},"content":" public FeedbackSession createFeedbackSession(FeedbackSession session)"},{"lineNumber":219,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" assert session !\u003d null;"},{"lineNumber":221,"author":{"gitId":"-"},"content":" return fsDb.createFeedbackSession(session);"},{"lineNumber":222,"author":{"gitId":"-"},"content":" }"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":225,"author":{"gitId":"-"},"content":" * Updates a feedback session."},{"lineNumber":226,"author":{"gitId":"-"},"content":" *"},{"lineNumber":227,"author":{"gitId":"-"},"content":" * @return updated feedback session"},{"lineNumber":228,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback session does not exist"},{"lineNumber":229,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the new fields for feedback session are invalid"},{"lineNumber":230,"author":{"gitId":"-"},"content":" */"},{"lineNumber":231,"author":{"gitId":"-"},"content":" public FeedbackSession updateFeedbackSession(FeedbackSession session)"},{"lineNumber":232,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" return fsDb.updateFeedbackSession(session);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":237,"author":{"gitId":"-"},"content":" * Unpublishes a feedback session."},{"lineNumber":238,"author":{"gitId":"-"},"content":" *"},{"lineNumber":239,"author":{"gitId":"-"},"content":" * @return the unpublished feedback session"},{"lineNumber":240,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if session is already unpublished"},{"lineNumber":241,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback session cannot be found"},{"lineNumber":242,"author":{"gitId":"-"},"content":" */"},{"lineNumber":243,"author":{"gitId":"-"},"content":" public FeedbackSession unpublishFeedbackSession(String feedbackSessionName, String courseId)"},{"lineNumber":244,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InvalidParametersException {"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" FeedbackSession sessionToUnpublish \u003d getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" if (sessionToUnpublish \u003d\u003d null) {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_NON_EXISTENT_FS_UPDATE + courseId + \"/\" + feedbackSessionName);"},{"lineNumber":250,"author":{"gitId":"-"},"content":" }"},{"lineNumber":251,"author":{"gitId":"-"},"content":" if (!sessionToUnpublish.isPublished()) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(ERROR_FS_ALREADY_UNPUBLISH);"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":" sessionToUnpublish.setResultsVisibleFromTime(Const.TIME_REPRESENTS_LATER);"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":" return sessionToUnpublish;"},{"lineNumber":258,"author":{"gitId":"-"},"content":" }"},{"lineNumber":259,"author":{"gitId":"-"},"content":""},{"lineNumber":260,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":261,"author":{"gitId":"-"},"content":" * Publishes a feedback session."},{"lineNumber":262,"author":{"gitId":"-"},"content":" *"},{"lineNumber":263,"author":{"gitId":"-"},"content":" * @return the published feedback session"},{"lineNumber":264,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if session is already published"},{"lineNumber":265,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback session cannot be found"},{"lineNumber":266,"author":{"gitId":"-"},"content":" */"},{"lineNumber":267,"author":{"gitId":"-"},"content":" public FeedbackSession publishFeedbackSession(String feedbackSessionName, String courseId)"},{"lineNumber":268,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InvalidParametersException {"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" FeedbackSession sessionToPublish \u003d getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" if (sessionToPublish \u003d\u003d null) {"},{"lineNumber":273,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_NON_EXISTENT_FS_UPDATE + courseId + \"/\" + feedbackSessionName);"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":" if (sessionToPublish.isPublished()) {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(ERROR_FS_ALREADY_PUBLISH);"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" sessionToPublish.setResultsVisibleFromTime(Instant.now());"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":" return sessionToPublish;"},{"lineNumber":282,"author":{"gitId":"-"},"content":" }"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":285,"author":{"gitId":"-"},"content":" * Deletes a feedback session cascade to its associated questions, responses, deadline extensions and comments."},{"lineNumber":286,"author":{"gitId":"-"},"content":" */"},{"lineNumber":287,"author":{"gitId":"-"},"content":" public void deleteFeedbackSessionCascade(String feedbackSessionName, String courseId) {"},{"lineNumber":288,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession \u003d fsDb.getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":289,"author":{"gitId":"-"},"content":" fsDb.deleteFeedbackSession(feedbackSession);"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":293,"author":{"gitId":"-"},"content":" * Soft-deletes a specific feedback session to Recycle Bin."},{"lineNumber":294,"author":{"gitId":"-"},"content":" * @return the feedback session"},{"lineNumber":295,"author":{"gitId":"-"},"content":" */"},{"lineNumber":296,"author":{"gitId":"-"},"content":" public FeedbackSession moveFeedbackSessionToRecycleBin(String feedbackSessionName, String courseId)"},{"lineNumber":297,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" return fsDb.softDeleteFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":300,"author":{"gitId":"-"},"content":" }"},{"lineNumber":301,"author":{"gitId":"-"},"content":""},{"lineNumber":302,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":303,"author":{"gitId":"-"},"content":" * Restores a specific feedback session from Recycle Bin."},{"lineNumber":304,"author":{"gitId":"-"},"content":" */"},{"lineNumber":305,"author":{"gitId":"-"},"content":" public void restoreFeedbackSessionFromRecycleBin(String feedbackSessionName, String courseId)"},{"lineNumber":306,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" fsDb.restoreDeletedFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":311,"author":{"gitId":"-"},"content":" * Returns true if there are any questions for the specified user type (students/instructors) to answer."},{"lineNumber":312,"author":{"gitId":"-"},"content":" */"},{"lineNumber":313,"author":{"gitId":"-"},"content":" public boolean isFeedbackSessionForUserTypeToAnswer(FeedbackSession session, boolean isInstructor) {"},{"lineNumber":314,"author":{"gitId":"-"},"content":" if (!session.isVisible()) {"},{"lineNumber":315,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" return isInstructor"},{"lineNumber":319,"author":{"gitId":"-"},"content":" ? fqLogic.hasFeedbackQuestionsForInstructors(session.getFeedbackQuestions(), false)"},{"lineNumber":320,"author":{"gitId":"-"},"content":" : fqLogic.hasFeedbackQuestionsForStudents(session.getFeedbackQuestions());"},{"lineNumber":321,"author":{"gitId":"-"},"content":" }"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":324,"author":{"gitId":"-"},"content":" * Returns true if the feedback session is viewable by the given user type (students/instructors)."},{"lineNumber":325,"author":{"gitId":"-"},"content":" */"},{"lineNumber":326,"author":{"gitId":"-"},"content":" public boolean isFeedbackSessionViewableToUserType(FeedbackSession session, boolean isInstructor) {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" // Allow user to view the feedback session if there are questions for them"},{"lineNumber":328,"author":{"gitId":"-"},"content":" if (isFeedbackSessionForUserTypeToAnswer(session, isInstructor)) {"},{"lineNumber":329,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" // Allow user to view the feedback session if there are any question whose responses are visible to the user"},{"lineNumber":333,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsWithVisibleResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":334,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsForUser \u003d session.getFeedbackQuestions();"},{"lineNumber":335,"author":{"gitId":"-"},"content":" for (FeedbackQuestion question : questionsForUser) {"},{"lineNumber":336,"author":{"gitId":"-"},"content":" if (!isInstructor \u0026\u0026 frLogic.isResponseOfFeedbackQuestionVisibleToStudent(question)"},{"lineNumber":337,"author":{"gitId":"-"},"content":" || isInstructor \u0026\u0026 frLogic.isResponseOfFeedbackQuestionVisibleToInstructor(question)) {"},{"lineNumber":338,"author":{"gitId":"-"},"content":" // We only need one question with visible responses for the entire session to be visible"},{"lineNumber":339,"author":{"gitId":"-"},"content":" questionsWithVisibleResponses.add(question);"},{"lineNumber":340,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":341,"author":{"gitId":"-"},"content":" }"},{"lineNumber":342,"author":{"gitId":"-"},"content":" }"},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":" return session.isVisible() \u0026\u0026 !questionsWithVisibleResponses.isEmpty();"},{"lineNumber":345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":348,"author":{"gitId":"-"},"content":" * Checks whether a student has attempted a feedback session."},{"lineNumber":349,"author":{"gitId":"-"},"content":" *"},{"lineNumber":350,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf feedback session consists of all team questions, session is attempted by student only"},{"lineNumber":351,"author":{"gitId":"-"},"content":" * if someone from the team has responded. If feedback session has some individual questions,"},{"lineNumber":352,"author":{"gitId":"-"},"content":" * session is attempted only if the student has responded to any of the individual questions"},{"lineNumber":353,"author":{"gitId":"-"},"content":" * (regardless of the completion status of the team questions).\u003c/p\u003e"},{"lineNumber":354,"author":{"gitId":"-"},"content":" */"},{"lineNumber":355,"author":{"gitId":"-"},"content":" public boolean isFeedbackSessionAttemptedByStudent(FeedbackSession session, String userEmail, String userTeam) {"},{"lineNumber":356,"author":{"gitId":"-"},"content":" assert session !\u003d null;"},{"lineNumber":357,"author":{"gitId":"-"},"content":" assert userEmail !\u003d null;"},{"lineNumber":358,"author":{"gitId":"-"},"content":" assert userTeam !\u003d null;"},{"lineNumber":359,"author":{"gitId":"-"},"content":""},{"lineNumber":360,"author":{"gitId":"-"},"content":" if (!fqLogic.hasFeedbackQuestionsForStudents(session.getFeedbackQuestions())) {"},{"lineNumber":361,"author":{"gitId":"-"},"content":" // if there are no questions for student, session is attempted"},{"lineNumber":362,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" } else if (fqLogic.hasFeedbackQuestionsForGiverType("},{"lineNumber":364,"author":{"gitId":"-"},"content":" session.getFeedbackQuestions(), FeedbackParticipantType.STUDENTS)) {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" // case where there are some individual questions"},{"lineNumber":366,"author":{"gitId":"-"},"content":" return frLogic.hasGiverRespondedForSession(userEmail, session.getFeedbackQuestions());"},{"lineNumber":367,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":368,"author":{"gitId":"-"},"content":" // case where all are team questions"},{"lineNumber":369,"author":{"gitId":"-"},"content":" return frLogic.hasGiverRespondedForSession(userTeam, session.getFeedbackQuestions());"},{"lineNumber":370,"author":{"gitId":"-"},"content":" }"},{"lineNumber":371,"author":{"gitId":"-"},"content":" }"},{"lineNumber":372,"author":{"gitId":"-"},"content":""},{"lineNumber":373,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":374,"author":{"gitId":"-"},"content":" * Checks whether an instructor has attempted a feedback session."},{"lineNumber":375,"author":{"gitId":"-"},"content":" *"},{"lineNumber":376,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf there is no question for instructors, the feedback session is considered as attempted.\u003c/p\u003e"},{"lineNumber":377,"author":{"gitId":"-"},"content":" */"},{"lineNumber":378,"author":{"gitId":"-"},"content":" public boolean isFeedbackSessionAttemptedByInstructor(FeedbackSession session, String userEmail) {"},{"lineNumber":379,"author":{"gitId":"-"},"content":" assert session !\u003d null;"},{"lineNumber":380,"author":{"gitId":"-"},"content":" assert userEmail !\u003d null;"},{"lineNumber":381,"author":{"gitId":"-"},"content":""},{"lineNumber":382,"author":{"gitId":"-"},"content":" if (frLogic.hasGiverRespondedForSession(userEmail, session.getFeedbackQuestions())) {"},{"lineNumber":383,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" // if there is no question for instructor, session is attempted"},{"lineNumber":387,"author":{"gitId":"-"},"content":" return !fqLogic.hasFeedbackQuestionsForInstructors(session.getFeedbackQuestions(), session.isCreator(userEmail));"},{"lineNumber":388,"author":{"gitId":"-"},"content":" }"},{"lineNumber":389,"author":{"gitId":"-"},"content":""},{"lineNumber":390,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":391,"author":{"gitId":"-"},"content":" * After an update to feedback session\u0027s fields, may need to adjust the email status of the session."},{"lineNumber":392,"author":{"gitId":"-"},"content":" * @param session recently updated session."},{"lineNumber":393,"author":{"gitId":"-"},"content":" */"},{"lineNumber":394,"author":{"gitId":"-"},"content":" public void adjustFeedbackSessionEmailStatusAfterUpdate(FeedbackSession session) {"},{"lineNumber":395,"author":{"gitId":"-"},"content":" // reset isOpenEmailSent if the session has opened but is being un-opened"},{"lineNumber":396,"author":{"gitId":"-"},"content":" // now, or else leave it as sent if so."},{"lineNumber":397,"author":{"gitId":"-"},"content":" if (session.isOpenEmailSent()) {"},{"lineNumber":398,"author":{"gitId":"-"},"content":" session.setOpenEmailSent(session.isOpened());"},{"lineNumber":399,"author":{"gitId":"-"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" // also reset isOpeningSoonEmailSent"},{"lineNumber":401,"author":{"gitId":"-"},"content":" session.setOpeningSoonEmailSent("},{"lineNumber":402,"author":{"gitId":"domoberzin"},"content":" session.isOpened() || session.isOpeningInHours(NUMBER_OF_HOURS_BEFORE_OPENING_SOON_ALERT));"},{"lineNumber":403,"author":{"gitId":"-"},"content":" }"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" // reset isClosedEmailSent if the session has closed but is being un-closed"},{"lineNumber":406,"author":{"gitId":"-"},"content":" // now, or else leave it as sent if so."},{"lineNumber":407,"author":{"gitId":"-"},"content":" if (session.isClosedEmailSent()) {"},{"lineNumber":408,"author":{"gitId":"-"},"content":" session.setClosedEmailSent(session.isClosed());"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" // also reset isClosingSoonEmailSent"},{"lineNumber":411,"author":{"gitId":"-"},"content":" session.setClosingSoonEmailSent("},{"lineNumber":412,"author":{"gitId":"domoberzin"},"content":" session.isClosed() || session.isClosedAfter(NUMBER_OF_HOURS_BEFORE_CLOSING_ALERT));"},{"lineNumber":413,"author":{"gitId":"-"},"content":" }"},{"lineNumber":414,"author":{"gitId":"-"},"content":""},{"lineNumber":415,"author":{"gitId":"-"},"content":" // reset isPublishedEmailSent if the session has been published but is"},{"lineNumber":416,"author":{"gitId":"-"},"content":" // going to be unpublished now, or else leave it as sent if so."},{"lineNumber":417,"author":{"gitId":"-"},"content":" if (session.isPublishedEmailSent()) {"},{"lineNumber":418,"author":{"gitId":"-"},"content":" session.setPublishedEmailSent(session.isPublished());"},{"lineNumber":419,"author":{"gitId":"-"},"content":" }"},{"lineNumber":420,"author":{"gitId":"-"},"content":" }"},{"lineNumber":421,"author":{"gitId":"-"},"content":""},{"lineNumber":422,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":423,"author":{"gitId":"-"},"content":" * Criteria: must be published, publishEmail must be enabled and"},{"lineNumber":424,"author":{"gitId":"-"},"content":" * resultsVisibleTime must be custom."},{"lineNumber":425,"author":{"gitId":"-"},"content":" *"},{"lineNumber":426,"author":{"gitId":"-"},"content":" * @return returns a list of sessions that require automated emails to be"},{"lineNumber":427,"author":{"gitId":"-"},"content":" * sent as they are published"},{"lineNumber":428,"author":{"gitId":"-"},"content":" */"},{"lineNumber":429,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsWhichNeedAutomatedPublishedEmailsToBeSent() {"},{"lineNumber":430,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessionsToSendEmailsFor \u003d new ArrayList\u003c\u003e();"},{"lineNumber":431,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessions \u003d fsDb.getFeedbackSessionsPossiblyNeedingPublishedEmail();"},{"lineNumber":432,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration: %d\", sessions.size()));"},{"lineNumber":433,"author":{"gitId":"-"},"content":""},{"lineNumber":434,"author":{"gitId":"-"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":435,"author":{"gitId":"-"},"content":" // automated emails are required only for custom publish times"},{"lineNumber":436,"author":{"gitId":"-"},"content":" if (session.isPublished()"},{"lineNumber":437,"author":{"gitId":"-"},"content":" \u0026\u0026 !TimeHelper.isSpecialTime(session.getResultsVisibleFromTime())"},{"lineNumber":438,"author":{"gitId":"-"},"content":" \u0026\u0026 session.getCourse().getDeletedAt() \u003d\u003d null) {"},{"lineNumber":439,"author":{"gitId":"-"},"content":" sessionsToSendEmailsFor.add(session);"},{"lineNumber":440,"author":{"gitId":"-"},"content":" }"},{"lineNumber":441,"author":{"gitId":"-"},"content":" }"},{"lineNumber":442,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration after filtering: %d\","},{"lineNumber":443,"author":{"gitId":"-"},"content":" sessionsToSendEmailsFor.size()));"},{"lineNumber":444,"author":{"gitId":"-"},"content":" return sessionsToSendEmailsFor;"},{"lineNumber":445,"author":{"gitId":"-"},"content":" }"},{"lineNumber":446,"author":{"gitId":"-"},"content":""},{"lineNumber":447,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":448,"author":{"gitId":"-"},"content":" * Returns a list of sessions that are going to close within the next 24 hours."},{"lineNumber":449,"author":{"gitId":"-"},"content":" */"},{"lineNumber":450,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsClosingWithinTimeLimit() {"},{"lineNumber":451,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e requiredSessions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":452,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessions \u003d fsDb.getFeedbackSessionsPossiblyNeedingClosingSoonEmail();"},{"lineNumber":453,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration: %d\", sessions.size()));"},{"lineNumber":454,"author":{"gitId":"-"},"content":""},{"lineNumber":455,"author":{"gitId":"-"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":456,"author":{"gitId":"-"},"content":" if (session.isClosingWithinTimeLimit(NUMBER_OF_HOURS_BEFORE_CLOSING_ALERT)"},{"lineNumber":457,"author":{"gitId":"-"},"content":" \u0026\u0026 session.getCourse().getDeletedAt() \u003d\u003d null) {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" requiredSessions.add(session);"},{"lineNumber":459,"author":{"gitId":"-"},"content":" }"},{"lineNumber":460,"author":{"gitId":"-"},"content":" }"},{"lineNumber":461,"author":{"gitId":"-"},"content":""},{"lineNumber":462,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration after filtering: %d\","},{"lineNumber":463,"author":{"gitId":"-"},"content":" requiredSessions.size()));"},{"lineNumber":464,"author":{"gitId":"-"},"content":" return requiredSessions;"},{"lineNumber":465,"author":{"gitId":"-"},"content":" }"},{"lineNumber":466,"author":{"gitId":"-"},"content":""},{"lineNumber":467,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":468,"author":{"gitId":"-"},"content":" * Returns a list of sessions that are going to open in 24 hours."},{"lineNumber":469,"author":{"gitId":"-"},"content":" */"},{"lineNumber":470,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsOpeningWithinTimeLimit() {"},{"lineNumber":471,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e requiredSessions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":472,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessions \u003d fsDb.getFeedbackSessionsPossiblyNeedingOpeningSoonEmail();"},{"lineNumber":473,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration: %d\", sessions.size()));"},{"lineNumber":474,"author":{"gitId":"-"},"content":""},{"lineNumber":475,"author":{"gitId":"-"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":476,"author":{"gitId":"-"},"content":" if (session.isOpeningWithinTimeLimit(NUMBER_OF_HOURS_BEFORE_OPENING_SOON_ALERT)"},{"lineNumber":477,"author":{"gitId":"-"},"content":" \u0026\u0026 session.getCourse().getDeletedAt() \u003d\u003d null) {"},{"lineNumber":478,"author":{"gitId":"-"},"content":" requiredSessions.add(session);"},{"lineNumber":479,"author":{"gitId":"-"},"content":" }"},{"lineNumber":480,"author":{"gitId":"-"},"content":" }"},{"lineNumber":481,"author":{"gitId":"-"},"content":""},{"lineNumber":482,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration after filtering: %d\","},{"lineNumber":483,"author":{"gitId":"-"},"content":" requiredSessions.size()));"},{"lineNumber":484,"author":{"gitId":"-"},"content":" return requiredSessions;"},{"lineNumber":485,"author":{"gitId":"-"},"content":" }"},{"lineNumber":486,"author":{"gitId":"-"},"content":""},{"lineNumber":487,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":488,"author":{"gitId":"-"},"content":" * Returns a list of sessions that were closed within past hour."},{"lineNumber":489,"author":{"gitId":"-"},"content":" */"},{"lineNumber":490,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsClosedWithinThePastHour() {"},{"lineNumber":491,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e requiredSessions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":492,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessions \u003d fsDb.getFeedbackSessionsPossiblyNeedingClosedEmail();"},{"lineNumber":493,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration: %d\", sessions.size()));"},{"lineNumber":494,"author":{"gitId":"-"},"content":""},{"lineNumber":495,"author":{"gitId":"-"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":496,"author":{"gitId":"-"},"content":" // is session closed in the past 1 hour"},{"lineNumber":497,"author":{"gitId":"-"},"content":" if (session.isClosedWithinPastHour()"},{"lineNumber":498,"author":{"gitId":"-"},"content":" \u0026\u0026 session.getCourse().getDeletedAt() \u003d\u003d null) {"},{"lineNumber":499,"author":{"gitId":"-"},"content":" requiredSessions.add(session);"},{"lineNumber":500,"author":{"gitId":"-"},"content":" }"},{"lineNumber":501,"author":{"gitId":"-"},"content":" }"},{"lineNumber":502,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration after filtering: %d\","},{"lineNumber":503,"author":{"gitId":"-"},"content":" requiredSessions.size()));"},{"lineNumber":504,"author":{"gitId":"-"},"content":" return requiredSessions;"},{"lineNumber":505,"author":{"gitId":"-"},"content":" }"},{"lineNumber":506,"author":{"gitId":"-"},"content":""},{"lineNumber":507,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":508,"author":{"gitId":"-"},"content":" * Gets a list of undeleted feedback sessions which start within the last 2 hours"},{"lineNumber":509,"author":{"gitId":"-"},"content":" * and need an open email to be sent."},{"lineNumber":510,"author":{"gitId":"-"},"content":" */"},{"lineNumber":511,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsWhichNeedOpenEmailsToBeSent() {"},{"lineNumber":512,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessionsToSendEmailsFor \u003d new ArrayList\u003c\u003e();"},{"lineNumber":513,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e sessions \u003d fsDb.getFeedbackSessionsPossiblyNeedingOpenEmail();"},{"lineNumber":514,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration: %d\", sessions.size()));"},{"lineNumber":515,"author":{"gitId":"-"},"content":""},{"lineNumber":516,"author":{"gitId":"-"},"content":" for (FeedbackSession session : sessions) {"},{"lineNumber":517,"author":{"gitId":"-"},"content":" if (session.isOpened() \u0026\u0026 session.getCourse().getDeletedAt() \u003d\u003d null) {"},{"lineNumber":518,"author":{"gitId":"-"},"content":" sessionsToSendEmailsFor.add(session);"},{"lineNumber":519,"author":{"gitId":"-"},"content":" }"},{"lineNumber":520,"author":{"gitId":"-"},"content":" }"},{"lineNumber":521,"author":{"gitId":"-"},"content":""},{"lineNumber":522,"author":{"gitId":"-"},"content":" log.info(String.format(\"Number of sessions under consideration after filtering: %d\","},{"lineNumber":523,"author":{"gitId":"-"},"content":" sessionsToSendEmailsFor.size()));"},{"lineNumber":524,"author":{"gitId":"-"},"content":" return sessionsToSendEmailsFor;"},{"lineNumber":525,"author":{"gitId":"-"},"content":" }"},{"lineNumber":526,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":527,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":528,"author":{"gitId":"domoberzin"},"content":" * Gets the expected number of submissions for a feedback session."},{"lineNumber":529,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":530,"author":{"gitId":"domoberzin"},"content":" public int getExpectedTotalSubmission(FeedbackSession fs) {"},{"lineNumber":531,"author":{"gitId":"domoberzin"},"content":" int expectedTotal \u003d 0;"},{"lineNumber":532,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackQuestion\u003e questions \u003d fqLogic.getFeedbackQuestionsForSession(fs);"},{"lineNumber":533,"author":{"gitId":"domoberzin"},"content":" if (fqLogic.hasFeedbackQuestionsForStudents(questions)) {"},{"lineNumber":534,"author":{"gitId":"domoberzin"},"content":" expectedTotal +\u003d usersLogic.getStudentsForCourse(fs.getCourse().getId()).size();"},{"lineNumber":535,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":536,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":537,"author":{"gitId":"domoberzin"},"content":" // Pre-flight check to ensure there are questions for instructors."},{"lineNumber":538,"author":{"gitId":"domoberzin"},"content":" if (!fqLogic.hasFeedbackQuestionsForInstructors(questions, true)) {"},{"lineNumber":539,"author":{"gitId":"domoberzin"},"content":" return expectedTotal;"},{"lineNumber":540,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":541,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":542,"author":{"gitId":"domoberzin"},"content":" List\u003cInstructor\u003e instructors \u003d usersLogic.getInstructorsForCourse(fs.getCourse().getId());"},{"lineNumber":543,"author":{"gitId":"domoberzin"},"content":" if (instructors.isEmpty()) {"},{"lineNumber":544,"author":{"gitId":"domoberzin"},"content":" return expectedTotal;"},{"lineNumber":545,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":546,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":547,"author":{"gitId":"domoberzin"},"content":" // Check presence of questions for instructors."},{"lineNumber":548,"author":{"gitId":"domoberzin"},"content":" if (fqLogic.hasFeedbackQuestionsForInstructors(fqLogic.getFeedbackQuestionsForSession(fs), false)) {"},{"lineNumber":549,"author":{"gitId":"domoberzin"},"content":" expectedTotal +\u003d instructors.size();"},{"lineNumber":550,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":551,"author":{"gitId":"domoberzin"},"content":" // No questions for instructors. There must be questions for creator."},{"lineNumber":552,"author":{"gitId":"domoberzin"},"content":" List\u003cInstructor\u003e creators \u003d instructors.stream()"},{"lineNumber":553,"author":{"gitId":"domoberzin"},"content":" .filter(instructor -\u003e fs.getCreatorEmail().equals(instructor.getEmail()))"},{"lineNumber":554,"author":{"gitId":"domoberzin"},"content":" .collect(Collectors.toList());"},{"lineNumber":555,"author":{"gitId":"domoberzin"},"content":" expectedTotal +\u003d creators.size();"},{"lineNumber":556,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":557,"author":{"gitId":"domoberzin"},"content":" return expectedTotal;"},{"lineNumber":558,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":559,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":560,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":561,"author":{"gitId":"domoberzin"},"content":" * Gets the actual number of submissions for a feedback session."},{"lineNumber":562,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":563,"author":{"gitId":"domoberzin"},"content":" public int getActualTotalSubmission(FeedbackSession fs) {"},{"lineNumber":564,"author":{"gitId":"domoberzin"},"content":" return getGiverSetThatAnsweredFeedbackSession(fs).size();"},{"lineNumber":565,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":566,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":65,"dishenggg":10,"-":491}},{"path":"src/main/java/teammates/sqllogic/core/LogicStarter.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import jakarta.servlet.ServletContextEvent;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import jakarta.servlet.ServletContextListener;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountRequestsDb;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountsDb;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.CoursesDb;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.DeadlineExtensionsDb;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackQuestionsDb;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackResponseCommentsDb;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackResponsesDb;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlapi.FeedbackSessionLogsDb;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackSessionsDb;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.NotificationsDb;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.UsageStatisticsDb;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.UsersDb;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Setup in web.xml to register logic classes at application startup."},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class LogicStarter implements ServletContextListener {"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * Registers dependencies between different logic classes."},{"lineNumber":29,"author":{"gitId":"-"},"content":" */"},{"lineNumber":30,"author":{"gitId":"-"},"content":" public static void initializeDependencies() {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" AccountsLogic accountsLogic \u003d AccountsLogic.inst();"},{"lineNumber":32,"author":{"gitId":"-"},"content":" AccountRequestsLogic accountRequestsLogic \u003d AccountRequestsLogic.inst();"},{"lineNumber":33,"author":{"gitId":"-"},"content":" CoursesLogic coursesLogic \u003d CoursesLogic.inst();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" DataBundleLogic dataBundleLogic \u003d DataBundleLogic.inst();"},{"lineNumber":35,"author":{"gitId":"-"},"content":" DeadlineExtensionsLogic deadlineExtensionsLogic \u003d DeadlineExtensionsLogic.inst();"},{"lineNumber":36,"author":{"gitId":"-"},"content":" FeedbackSessionsLogic fsLogic \u003d FeedbackSessionsLogic.inst();"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogsLogic fslLogic \u003d FeedbackSessionLogsLogic.inst();"},{"lineNumber":38,"author":{"gitId":"-"},"content":" FeedbackResponsesLogic frLogic \u003d FeedbackResponsesLogic.inst();"},{"lineNumber":39,"author":{"gitId":"-"},"content":" FeedbackResponseCommentsLogic frcLogic \u003d FeedbackResponseCommentsLogic.inst();"},{"lineNumber":40,"author":{"gitId":"-"},"content":" FeedbackQuestionsLogic fqLogic \u003d FeedbackQuestionsLogic.inst();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" NotificationsLogic notificationsLogic \u003d NotificationsLogic.inst();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" UsageStatisticsLogic usageStatisticsLogic \u003d UsageStatisticsLogic.inst();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" UsersLogic usersLogic \u003d UsersLogic.inst();"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" accountRequestsLogic.initLogicDependencies(AccountRequestsDb.inst());"},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":" accountsLogic.initLogicDependencies(AccountsDb.inst(), notificationsLogic, usersLogic, coursesLogic);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" coursesLogic.initLogicDependencies(CoursesDb.inst(), fsLogic, usersLogic);"},{"lineNumber":48,"author":{"gitId":"-"},"content":" dataBundleLogic.initLogicDependencies(accountsLogic, accountRequestsLogic, coursesLogic,"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" deadlineExtensionsLogic, fsLogic, fslLogic, fqLogic, frLogic, frcLogic,"},{"lineNumber":50,"author":{"gitId":"-"},"content":" notificationsLogic, usersLogic);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" deadlineExtensionsLogic.initLogicDependencies(DeadlineExtensionsDb.inst(), fsLogic);"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" fsLogic.initLogicDependencies(FeedbackSessionsDb.inst(), coursesLogic, frLogic, fqLogic, usersLogic);"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" fslLogic.initLogicDependencies(FeedbackSessionLogsDb.inst());"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" frLogic.initLogicDependencies(FeedbackResponsesDb.inst(), usersLogic, fqLogic, frcLogic);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" frcLogic.initLogicDependencies(FeedbackResponseCommentsDb.inst());"},{"lineNumber":56,"author":{"gitId":"-"},"content":" fqLogic.initLogicDependencies(FeedbackQuestionsDb.inst(), coursesLogic, frLogic, usersLogic, fsLogic);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" notificationsLogic.initLogicDependencies(NotificationsDb.inst());"},{"lineNumber":58,"author":{"gitId":"-"},"content":" usageStatisticsLogic.initLogicDependencies(UsageStatisticsDb.inst());"},{"lineNumber":59,"author":{"gitId":"-"},"content":" usersLogic.initLogicDependencies(UsersDb.inst(), accountsLogic, frLogic, frcLogic, deadlineExtensionsLogic);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" log.info(\"Initialized dependencies between logic classes\");"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public void contextInitialized(ServletContextEvent event) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" // Invoked by Jetty at application startup."},{"lineNumber":66,"author":{"gitId":"-"},"content":" initializeDependencies();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":70,"author":{"gitId":"-"},"content":" public void contextDestroyed(ServletContextEvent event) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" // Nothing to do"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":2,"yuanxi1":1,"dishenggg":4,"-":67}},{"path":"src/main/java/teammates/sqllogic/core/UsersLogic.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"marquestye"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Comparator;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import java.util.StringJoiner;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPermissionRole;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPrivileges;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EnrollException;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.exception.InstructorUpdateException;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.exception.StudentUpdateException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.util.RequestTracer;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.UsersDb;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.User;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.InstructorSearchManager;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.StudentSearchManager;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.ui.request.InstructorCreateRequest;"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":41,"author":{"gitId":"-"},"content":" * Handles operations related to user (instructor \u0026 student)."},{"lineNumber":42,"author":{"gitId":"-"},"content":" *"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * @see User"},{"lineNumber":44,"author":{"gitId":"-"},"content":" * @see UsersDb"},{"lineNumber":45,"author":{"gitId":"-"},"content":" */"},{"lineNumber":46,"author":{"gitId":"-"},"content":"public final class UsersLogic {"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" static final String ERROR_INVALID_TEAM_NAME \u003d"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" \"Team \\\"%s\\\" is detected in both Section \\\"%s\\\" and Section \\\"%s\\\".\";"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" static final String ERROR_INVALID_TEAM_NAME_INSTRUCTION \u003d"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" \"Please use different team names in different sections.\";"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" static final String ERROR_ENROLL_EXCEED_SECTION_LIMIT \u003d"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" \"You are trying enroll more than %s students in section \\\"%s\\\".\";"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" static final String ERROR_ENROLL_EXCEED_SECTION_LIMIT_INSTRUCTION \u003d"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" \"To avoid performance problems, please do not enroll more than %s students in a single section.\";"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" private static final UsersLogic instance \u003d new UsersLogic();"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final int MAX_KEY_REGENERATION_TRIES \u003d 10;"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" private UsersDb usersDb;"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" private AccountsLogic accountsLogic;"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" private FeedbackResponsesLogic feedbackResponsesLogic;"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" private FeedbackResponseCommentsLogic feedbackResponseCommentsLogic;"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" private DeadlineExtensionsLogic deadlineExtensionsLogic;"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" private UsersLogic() {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" public static UsersLogic inst() {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" void initLogicDependencies(UsersDb usersDb, AccountsLogic accountsLogic, FeedbackResponsesLogic feedbackResponsesLogic,"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" FeedbackResponseCommentsLogic feedbackResponseCommentsLogic,"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" DeadlineExtensionsLogic deadlineExtensionsLogic) {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" this.usersDb \u003d usersDb;"},{"lineNumber":83,"author":{"gitId":"-"},"content":" this.accountsLogic \u003d accountsLogic;"},{"lineNumber":84,"author":{"gitId":"-"},"content":" this.feedbackResponsesLogic \u003d feedbackResponsesLogic;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" this.feedbackResponseCommentsLogic \u003d feedbackResponseCommentsLogic;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" this.deadlineExtensionsLogic \u003d deadlineExtensionsLogic;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" private InstructorSearchManager getInstructorSearchManager() {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" return usersDb.getInstructorSearchManager();"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" private StudentSearchManager getStudentSearchManager() {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" return usersDb.getStudentSearchManager();"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Creates or updates search document for the given instructor."},{"lineNumber":99,"author":{"gitId":"-"},"content":" */"},{"lineNumber":100,"author":{"gitId":"-"},"content":" public void putInstructorDocument(Instructor instructor) throws SearchServiceException {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" getInstructorSearchManager().putDocument(instructor);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":105,"author":{"gitId":"-"},"content":" * Creates or updates search document for the given student."},{"lineNumber":106,"author":{"gitId":"-"},"content":" */"},{"lineNumber":107,"author":{"gitId":"-"},"content":" public void putStudentDocument(Student student) throws SearchServiceException {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" getStudentSearchManager().putDocument(student);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":112,"author":{"gitId":"-"},"content":" * Create an instructor."},{"lineNumber":113,"author":{"gitId":"-"},"content":" *"},{"lineNumber":114,"author":{"gitId":"-"},"content":" * @return the created instructor"},{"lineNumber":115,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the instructor is not valid"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the instructor already exists in the"},{"lineNumber":117,"author":{"gitId":"-"},"content":" * database."},{"lineNumber":118,"author":{"gitId":"-"},"content":" */"},{"lineNumber":119,"author":{"gitId":"-"},"content":" public Instructor createInstructor(Instructor instructor)"},{"lineNumber":120,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":121,"author":{"gitId":"mingyuanc"},"content":" if (getInstructorForEmail(instructor.getCourseId(), instructor.getEmail()) !\u003d null) {"},{"lineNumber":122,"author":{"gitId":"mingyuanc"},"content":" throw new EntityAlreadyExistsException(\"Instructor already exists.\");"},{"lineNumber":123,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":" return usersDb.createInstructor(instructor);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":128,"author":{"gitId":"-"},"content":" * Updates an instructor and cascades to responses and comments if needed."},{"lineNumber":129,"author":{"gitId":"-"},"content":" *"},{"lineNumber":130,"author":{"gitId":"-"},"content":" * @return updated instructor"},{"lineNumber":131,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the instructor update request is invalid"},{"lineNumber":132,"author":{"gitId":"-"},"content":" * @throws InstructorUpdateException if the update violates instructor validity"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the instructor does not exist in the database"},{"lineNumber":134,"author":{"gitId":"-"},"content":" */"},{"lineNumber":135,"author":{"gitId":"-"},"content":" public Instructor updateInstructorCascade(String courseId, InstructorCreateRequest instructorRequest) throws"},{"lineNumber":136,"author":{"gitId":"-"},"content":" InvalidParametersException, InstructorUpdateException, EntityDoesNotExistException {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" Instructor instructor;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" String instructorId \u003d instructorRequest.getId();"},{"lineNumber":139,"author":{"gitId":"-"},"content":" if (instructorId \u003d\u003d null) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" instructor \u003d getInstructorForEmail(courseId, instructorRequest.getEmail());"},{"lineNumber":141,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" instructor \u003d getInstructorByGoogleId(courseId, instructorId);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" }"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(\"Trying to update an instructor that does not exist.\");"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" verifyAtLeastOneInstructorIsDisplayed("},{"lineNumber":150,"author":{"gitId":"-"},"content":" courseId, instructor.isDisplayedToStudents(), instructorRequest.getIsDisplayedToStudent());"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" String originalEmail \u003d instructor.getEmail();"},{"lineNumber":153,"author":{"gitId":"-"},"content":" boolean needsCascade \u003d false;"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" String newDisplayName \u003d instructorRequest.getDisplayName();"},{"lineNumber":156,"author":{"gitId":"-"},"content":" if (newDisplayName \u003d\u003d null || newDisplayName.isEmpty()) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" newDisplayName \u003d Const.DEFAULT_DISPLAY_NAME_FOR_INSTRUCTOR;"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" instructor.setName(SanitizationHelper.sanitizeName(instructorRequest.getName()));"},{"lineNumber":161,"author":{"gitId":"-"},"content":" instructor.setEmail(SanitizationHelper.sanitizeEmail(instructorRequest.getEmail()));"},{"lineNumber":162,"author":{"gitId":"-"},"content":" instructor.setRole(InstructorPermissionRole.getEnum(instructorRequest.getRoleName()));"},{"lineNumber":163,"author":{"gitId":"-"},"content":" instructor.setPrivileges(new InstructorPrivileges(instructorRequest.getRoleName()));"},{"lineNumber":164,"author":{"gitId":"-"},"content":" instructor.setDisplayName(SanitizationHelper.sanitizeName(newDisplayName));"},{"lineNumber":165,"author":{"gitId":"-"},"content":" instructor.setDisplayedToStudents(instructorRequest.getIsDisplayedToStudent());"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" String newEmail \u003d instructor.getEmail();"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" if (!originalEmail.equals(newEmail)) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" needsCascade \u003d true;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" if (!instructor.isValid()) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(instructor.getInvalidityInfo());"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" if (needsCascade) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" // cascade responses"},{"lineNumber":179,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e responsesFromUser \u003d"},{"lineNumber":180,"author":{"gitId":"-"},"content":" feedbackResponsesLogic.getFeedbackResponsesFromGiverForCourse(courseId, originalEmail);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" for (FeedbackResponse responseFromUser : responsesFromUser) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" FeedbackQuestion question \u003d responseFromUser.getFeedbackQuestion();"},{"lineNumber":183,"author":{"gitId":"-"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":184,"author":{"gitId":"-"},"content":" || question.getGiverType() \u003d\u003d FeedbackParticipantType.SELF) {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" responseFromUser.setGiver(newEmail);"},{"lineNumber":186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponse\u003e responsesToUser \u003d"},{"lineNumber":189,"author":{"gitId":"-"},"content":" feedbackResponsesLogic.getFeedbackResponsesForRecipientForCourse(courseId, originalEmail);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" for (FeedbackResponse responseToUser : responsesToUser) {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" FeedbackQuestion question \u003d responseToUser.getFeedbackQuestion();"},{"lineNumber":192,"author":{"gitId":"-"},"content":" if (question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":193,"author":{"gitId":"-"},"content":" || question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":194,"author":{"gitId":"-"},"content":" \u0026\u0026 question.getRecipientType() \u003d\u003d FeedbackParticipantType.SELF) {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" responseToUser.setRecipient(newEmail);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":" // cascade comments"},{"lineNumber":199,"author":{"gitId":"-"},"content":" feedbackResponseCommentsLogic.updateFeedbackResponseCommentsEmails(courseId, originalEmail, newEmail);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" return instructor;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":206,"author":{"gitId":"-"},"content":" * Verifies that at least one instructor is displayed to studens."},{"lineNumber":207,"author":{"gitId":"-"},"content":" *"},{"lineNumber":208,"author":{"gitId":"-"},"content":" * @throws InstructorUpdateException if there is no instructor displayed to students."},{"lineNumber":209,"author":{"gitId":"-"},"content":" */"},{"lineNumber":210,"author":{"gitId":"-"},"content":" void verifyAtLeastOneInstructorIsDisplayed(String courseId, boolean isOriginalInstructorDisplayed,"},{"lineNumber":211,"author":{"gitId":"-"},"content":" boolean isEditedInstructorDisplayed)"},{"lineNumber":212,"author":{"gitId":"-"},"content":" throws InstructorUpdateException {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorsDisplayed \u003d usersDb.getInstructorsDisplayedToStudents(courseId);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" boolean isEditedInstructorChangedToNonVisible \u003d isOriginalInstructorDisplayed \u0026\u0026 !isEditedInstructorDisplayed;"},{"lineNumber":215,"author":{"gitId":"-"},"content":" boolean isNoInstructorMadeVisible \u003d instructorsDisplayed.isEmpty() \u0026\u0026 !isEditedInstructorDisplayed;"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" if (isNoInstructorMadeVisible || instructorsDisplayed.size() \u003d\u003d 1 \u0026\u0026 isEditedInstructorChangedToNonVisible) {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" throw new InstructorUpdateException(\"At least one instructor must be displayed to students\");"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":223,"author":{"gitId":"-"},"content":" * Creates a student."},{"lineNumber":224,"author":{"gitId":"-"},"content":" *"},{"lineNumber":225,"author":{"gitId":"-"},"content":" * @return the created student"},{"lineNumber":226,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the student is not valid"},{"lineNumber":227,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the student already exists in the"},{"lineNumber":228,"author":{"gitId":"-"},"content":" * database."},{"lineNumber":229,"author":{"gitId":"-"},"content":" */"},{"lineNumber":230,"author":{"gitId":"-"},"content":" public Student createStudent(Student student) throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" return usersDb.createStudent(student);"},{"lineNumber":232,"author":{"gitId":"-"},"content":" }"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":235,"author":{"gitId":"-"},"content":" * Gets instructor associated with {@code id}."},{"lineNumber":236,"author":{"gitId":"-"},"content":" *"},{"lineNumber":237,"author":{"gitId":"-"},"content":" * @param id Id of Instructor."},{"lineNumber":238,"author":{"gitId":"-"},"content":" * @return Returns Instructor if found else null."},{"lineNumber":239,"author":{"gitId":"-"},"content":" */"},{"lineNumber":240,"author":{"gitId":"-"},"content":" public Instructor getInstructor(UUID id) {"},{"lineNumber":241,"author":{"gitId":"-"},"content":" assert id !\u003d null;"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" return usersDb.getInstructor(id);"},{"lineNumber":244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * Gets the instructor with the specified email."},{"lineNumber":248,"author":{"gitId":"-"},"content":" */"},{"lineNumber":249,"author":{"gitId":"-"},"content":" public Instructor getInstructorForEmail(String courseId, String userEmail) {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" return usersDb.getInstructorForEmail(courseId, userEmail);"},{"lineNumber":251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":254,"author":{"gitId":"-"},"content":" * Gets instructors matching any of the specified emails."},{"lineNumber":255,"author":{"gitId":"-"},"content":" */"},{"lineNumber":256,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsForEmails(String courseId, List\u003cString\u003e userEmails) {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" return usersDb.getInstructorsForEmails(courseId, userEmails);"},{"lineNumber":258,"author":{"gitId":"-"},"content":" }"},{"lineNumber":259,"author":{"gitId":"-"},"content":""},{"lineNumber":260,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":261,"author":{"gitId":"-"},"content":" * Gets an instructor by associated {@code regkey}."},{"lineNumber":262,"author":{"gitId":"-"},"content":" */"},{"lineNumber":263,"author":{"gitId":"-"},"content":" public Instructor getInstructorByRegistrationKey(String regKey) {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" assert regKey !\u003d null;"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" return usersDb.getInstructorByRegKey(regKey);"},{"lineNumber":267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":270,"author":{"gitId":"-"},"content":" * Gets an instructor by associated {@code googleId}."},{"lineNumber":271,"author":{"gitId":"-"},"content":" */"},{"lineNumber":272,"author":{"gitId":"-"},"content":" public Instructor getInstructorByGoogleId(String courseId, String googleId) {"},{"lineNumber":273,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" return usersDb.getInstructorByGoogleId(courseId, googleId);"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":280,"author":{"gitId":"-"},"content":" * Searches instructors in the whole system. Used by admin only."},{"lineNumber":281,"author":{"gitId":"-"},"content":" *"},{"lineNumber":282,"author":{"gitId":"-"},"content":" * @return List of found instructors in the whole system. Null if no result found."},{"lineNumber":283,"author":{"gitId":"-"},"content":" */"},{"lineNumber":284,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e searchInstructorsInWholeSystem(String queryString)"},{"lineNumber":285,"author":{"gitId":"-"},"content":" throws SearchServiceException {"},{"lineNumber":286,"author":{"gitId":"-"},"content":" return usersDb.searchInstructorsInWholeSystem(queryString);"},{"lineNumber":287,"author":{"gitId":"-"},"content":" }"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":290,"author":{"gitId":"-"},"content":" * Deletes an instructor or student."},{"lineNumber":291,"author":{"gitId":"-"},"content":" */"},{"lineNumber":292,"author":{"gitId":"-"},"content":" public \u003cT extends User\u003e void deleteUser(T user) {"},{"lineNumber":293,"author":{"gitId":"-"},"content":" usersDb.deleteUser(user);"},{"lineNumber":294,"author":{"gitId":"-"},"content":" }"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":297,"author":{"gitId":"-"},"content":" * Deletes an instructor and cascades deletion to"},{"lineNumber":298,"author":{"gitId":"-"},"content":" * associated feedback responses, deadline extensions and comments."},{"lineNumber":299,"author":{"gitId":"-"},"content":" *"},{"lineNumber":300,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if the instructor does not exist."},{"lineNumber":301,"author":{"gitId":"-"},"content":" */"},{"lineNumber":302,"author":{"gitId":"-"},"content":" public void deleteInstructorCascade(String courseId, String email) {"},{"lineNumber":303,"author":{"gitId":"-"},"content":" Instructor instructor \u003d getInstructorForEmail(courseId, email);"},{"lineNumber":304,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" feedbackResponsesLogic.deleteFeedbackResponsesForCourseCascade(courseId, email);"},{"lineNumber":309,"author":{"gitId":"-"},"content":" deadlineExtensionsLogic.deleteDeadlineExtensionsForUser(instructor);"},{"lineNumber":310,"author":{"gitId":"-"},"content":" deleteUser(instructor);"},{"lineNumber":311,"author":{"gitId":"-"},"content":" }"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":314,"author":{"gitId":"-"},"content":" * Gets the list of instructors with co-owner privileges in a course."},{"lineNumber":315,"author":{"gitId":"-"},"content":" */"},{"lineNumber":316,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getCoOwnersForCourse(String courseId) {"},{"lineNumber":317,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors \u003d getInstructorsForCourse(courseId);"},{"lineNumber":318,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorsWithCoOwnerPrivileges \u003d new ArrayList\u003c\u003e();"},{"lineNumber":319,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":320,"author":{"gitId":"-"},"content":" if (!instructor.hasCoownerPrivileges()) {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":322,"author":{"gitId":"-"},"content":" }"},{"lineNumber":323,"author":{"gitId":"-"},"content":" instructorsWithCoOwnerPrivileges.add(instructor);"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":" return instructorsWithCoOwnerPrivileges;"},{"lineNumber":326,"author":{"gitId":"-"},"content":" }"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":329,"author":{"gitId":"-"},"content":" * Gets a list of instructors for the specified course."},{"lineNumber":330,"author":{"gitId":"-"},"content":" */"},{"lineNumber":331,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsForCourse(String courseId) {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructorReturnList \u003d usersDb.getInstructorsForCourse(courseId);"},{"lineNumber":333,"author":{"gitId":"-"},"content":" sortByName(instructorReturnList);"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" return instructorReturnList;"},{"lineNumber":336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":339,"author":{"gitId":"-"},"content":" * Check if the instructors with the provided emails exist in the course."},{"lineNumber":340,"author":{"gitId":"-"},"content":" */"},{"lineNumber":341,"author":{"gitId":"-"},"content":" public boolean verifyInstructorsExistInCourse(String courseId, List\u003cString\u003e emails) {"},{"lineNumber":342,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors \u003d usersDb.getInstructorsForEmails(courseId, emails);"},{"lineNumber":343,"author":{"gitId":"-"},"content":" Map\u003cString, User\u003e emailInstructorMap \u003d convertUserListToEmailUserMap(instructors);"},{"lineNumber":344,"author":{"gitId":"-"},"content":""},{"lineNumber":345,"author":{"gitId":"-"},"content":" for (String email : emails) {"},{"lineNumber":346,"author":{"gitId":"-"},"content":" if (!emailInstructorMap.containsKey(email)) {"},{"lineNumber":347,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":348,"author":{"gitId":"-"},"content":" }"},{"lineNumber":349,"author":{"gitId":"-"},"content":" }"},{"lineNumber":350,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":354,"author":{"gitId":"-"},"content":" * Gets all instructors associated with a googleId."},{"lineNumber":355,"author":{"gitId":"-"},"content":" */"},{"lineNumber":356,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsForGoogleId(String googleId) {"},{"lineNumber":357,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":358,"author":{"gitId":"-"},"content":" return usersDb.getInstructorsForGoogleId(googleId);"},{"lineNumber":359,"author":{"gitId":"-"},"content":" }"},{"lineNumber":360,"author":{"gitId":"-"},"content":""},{"lineNumber":361,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":362,"author":{"gitId":"-"},"content":" * Make the instructor join the course, i.e. associate an account to the instructor with the given googleId."},{"lineNumber":363,"author":{"gitId":"-"},"content":" * Creates an account for the instructor if no existing account is found."},{"lineNumber":364,"author":{"gitId":"-"},"content":" * Preconditions:"},{"lineNumber":365,"author":{"gitId":"-"},"content":" * Parameters regkey and googleId are non-null."},{"lineNumber":366,"author":{"gitId":"-"},"content":" * @throws EntityAlreadyExistsException if the instructor already exists in the database."},{"lineNumber":367,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if the instructor parameters are not valid"},{"lineNumber":368,"author":{"gitId":"-"},"content":" */"},{"lineNumber":369,"author":{"gitId":"-"},"content":" public Instructor joinCourseForInstructor(String googleId, Instructor instructor)"},{"lineNumber":370,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" if (googleId \u003d\u003d null) {"},{"lineNumber":372,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(\"Instructor\u0027s googleId cannot be null\");"},{"lineNumber":373,"author":{"gitId":"-"},"content":" }"},{"lineNumber":374,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":375,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(\"Instructor cannot be null\");"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":""},{"lineNumber":378,"author":{"gitId":"-"},"content":" // setting account for instructor sets it as registered"},{"lineNumber":379,"author":{"gitId":"-"},"content":" if (instructor.getAccount() \u003d\u003d null) {"},{"lineNumber":380,"author":{"gitId":"-"},"content":" Account dbAccount \u003d accountsLogic.getAccountForGoogleId(googleId);"},{"lineNumber":381,"author":{"gitId":"-"},"content":" if (dbAccount !\u003d null) {"},{"lineNumber":382,"author":{"gitId":"-"},"content":" instructor.setAccount(dbAccount);"},{"lineNumber":383,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":384,"author":{"gitId":"-"},"content":" Account account \u003d new Account(googleId, instructor.getName(), instructor.getEmail());"},{"lineNumber":385,"author":{"gitId":"-"},"content":" instructor.setAccount(account);"},{"lineNumber":386,"author":{"gitId":"-"},"content":" accountsLogic.createAccount(account);"},{"lineNumber":387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":388,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":389,"author":{"gitId":"-"},"content":" instructor.setGoogleId(googleId);"},{"lineNumber":390,"author":{"gitId":"-"},"content":" }"},{"lineNumber":391,"author":{"gitId":"-"},"content":" usersDb.updateUser(instructor);"},{"lineNumber":392,"author":{"gitId":"-"},"content":""},{"lineNumber":393,"author":{"gitId":"-"},"content":" // Update the googleId of the student entity for the instructor which was created from sample data."},{"lineNumber":394,"author":{"gitId":"-"},"content":" Student student \u003d getStudentForEmail(instructor.getCourseId(), instructor.getEmail());"},{"lineNumber":395,"author":{"gitId":"-"},"content":" if (student !\u003d null) {"},{"lineNumber":396,"author":{"gitId":"-"},"content":" if (student.getAccount() \u003d\u003d null) {"},{"lineNumber":397,"author":{"gitId":"-"},"content":" Account account \u003d new Account(googleId, student.getName(), student.getEmail());"},{"lineNumber":398,"author":{"gitId":"-"},"content":" student.setAccount(account);"},{"lineNumber":399,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":400,"author":{"gitId":"-"},"content":" student.getAccount().setGoogleId(googleId);"},{"lineNumber":401,"author":{"gitId":"-"},"content":" }"},{"lineNumber":402,"author":{"gitId":"-"},"content":" usersDb.updateUser(student);"},{"lineNumber":403,"author":{"gitId":"-"},"content":" }"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" return instructor;"},{"lineNumber":406,"author":{"gitId":"-"},"content":" }"},{"lineNumber":407,"author":{"gitId":"-"},"content":""},{"lineNumber":408,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":409,"author":{"gitId":"-"},"content":" * Regenerates the registration key for the instructor with email address {@code email} in course {@code courseId}."},{"lineNumber":410,"author":{"gitId":"-"},"content":" *"},{"lineNumber":411,"author":{"gitId":"-"},"content":" * @return the instructor with the new registration key."},{"lineNumber":412,"author":{"gitId":"-"},"content":" * @throws InstructorUpdateException if system was unable to generate a new registration key."},{"lineNumber":413,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the instructor does not exist."},{"lineNumber":414,"author":{"gitId":"-"},"content":" */"},{"lineNumber":415,"author":{"gitId":"-"},"content":" public Instructor regenerateInstructorRegistrationKey(String courseId, String email)"},{"lineNumber":416,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, InstructorUpdateException {"},{"lineNumber":417,"author":{"gitId":"-"},"content":" Instructor instructor \u003d getInstructorForEmail(courseId, email);"},{"lineNumber":418,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":419,"author":{"gitId":"-"},"content":" String errorMessage \u003d String.format("},{"lineNumber":420,"author":{"gitId":"-"},"content":" \"The instructor with the email %s could not be found for the course with ID [%s].\", email, courseId);"},{"lineNumber":421,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(errorMessage);"},{"lineNumber":422,"author":{"gitId":"-"},"content":" }"},{"lineNumber":423,"author":{"gitId":"-"},"content":""},{"lineNumber":424,"author":{"gitId":"-"},"content":" String oldKey \u003d instructor.getRegKey();"},{"lineNumber":425,"author":{"gitId":"-"},"content":" int numTries \u003d 0;"},{"lineNumber":426,"author":{"gitId":"-"},"content":" while (numTries \u003c MAX_KEY_REGENERATION_TRIES) {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" instructor.generateNewRegistrationKey();"},{"lineNumber":428,"author":{"gitId":"-"},"content":" if (!instructor.getRegKey().equals(oldKey)) {"},{"lineNumber":429,"author":{"gitId":"-"},"content":" return instructor;"},{"lineNumber":430,"author":{"gitId":"-"},"content":" }"},{"lineNumber":431,"author":{"gitId":"-"},"content":" numTries++;"},{"lineNumber":432,"author":{"gitId":"-"},"content":" }"},{"lineNumber":433,"author":{"gitId":"-"},"content":""},{"lineNumber":434,"author":{"gitId":"-"},"content":" throw new InstructorUpdateException(\"Could not regenerate a new course registration key for the instructor.\");"},{"lineNumber":435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":436,"author":{"gitId":"-"},"content":""},{"lineNumber":437,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":438,"author":{"gitId":"-"},"content":" * Regenerates the registration key for the student with email address {@code email} in course {@code courseId}."},{"lineNumber":439,"author":{"gitId":"-"},"content":" *"},{"lineNumber":440,"author":{"gitId":"-"},"content":" * @return the student with the new registration key."},{"lineNumber":441,"author":{"gitId":"-"},"content":" * @throws StudentUpdateException if system was unable to generate a new registration key."},{"lineNumber":442,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the student does not exist."},{"lineNumber":443,"author":{"gitId":"-"},"content":" */"},{"lineNumber":444,"author":{"gitId":"-"},"content":" public Student regenerateStudentRegistrationKey(String courseId, String email)"},{"lineNumber":445,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException, StudentUpdateException {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" Student student \u003d getStudentForEmail(courseId, email);"},{"lineNumber":447,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":448,"author":{"gitId":"-"},"content":" String errorMessage \u003d String.format("},{"lineNumber":449,"author":{"gitId":"-"},"content":" \"The student with the email %s could not be found for the course with ID [%s].\", email, courseId);"},{"lineNumber":450,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(errorMessage);"},{"lineNumber":451,"author":{"gitId":"-"},"content":" }"},{"lineNumber":452,"author":{"gitId":"-"},"content":""},{"lineNumber":453,"author":{"gitId":"-"},"content":" String oldKey \u003d student.getRegKey();"},{"lineNumber":454,"author":{"gitId":"-"},"content":" int numTries \u003d 0;"},{"lineNumber":455,"author":{"gitId":"-"},"content":" while (numTries \u003c MAX_KEY_REGENERATION_TRIES) {"},{"lineNumber":456,"author":{"gitId":"-"},"content":" student.generateNewRegistrationKey();"},{"lineNumber":457,"author":{"gitId":"-"},"content":" if (!student.getRegKey().equals(oldKey)) {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" return student;"},{"lineNumber":459,"author":{"gitId":"-"},"content":" }"},{"lineNumber":460,"author":{"gitId":"-"},"content":" numTries++;"},{"lineNumber":461,"author":{"gitId":"-"},"content":" }"},{"lineNumber":462,"author":{"gitId":"-"},"content":""},{"lineNumber":463,"author":{"gitId":"-"},"content":" throw new StudentUpdateException(\"Could not regenerate a new course registration key for the student.\");"},{"lineNumber":464,"author":{"gitId":"-"},"content":" }"},{"lineNumber":465,"author":{"gitId":"-"},"content":""},{"lineNumber":466,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":467,"author":{"gitId":"-"},"content":" * Returns true if the user associated with the googleId is an instructor in any course in the system."},{"lineNumber":468,"author":{"gitId":"-"},"content":" */"},{"lineNumber":469,"author":{"gitId":"-"},"content":" public boolean isInstructorInAnyCourse(String googleId) {"},{"lineNumber":470,"author":{"gitId":"-"},"content":" return !usersDb.getAllInstructorsByGoogleId(googleId).isEmpty();"},{"lineNumber":471,"author":{"gitId":"-"},"content":" }"},{"lineNumber":472,"author":{"gitId":"-"},"content":""},{"lineNumber":473,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":474,"author":{"gitId":"-"},"content":" * Gets student associated with {@code id}."},{"lineNumber":475,"author":{"gitId":"-"},"content":" *"},{"lineNumber":476,"author":{"gitId":"-"},"content":" * @param id Id of Student."},{"lineNumber":477,"author":{"gitId":"-"},"content":" * @return Returns Student if found else null."},{"lineNumber":478,"author":{"gitId":"-"},"content":" */"},{"lineNumber":479,"author":{"gitId":"-"},"content":" public Student getStudent(UUID id) {"},{"lineNumber":480,"author":{"gitId":"-"},"content":" assert id !\u003d null;"},{"lineNumber":481,"author":{"gitId":"-"},"content":""},{"lineNumber":482,"author":{"gitId":"-"},"content":" return usersDb.getStudent(id);"},{"lineNumber":483,"author":{"gitId":"-"},"content":" }"},{"lineNumber":484,"author":{"gitId":"-"},"content":""},{"lineNumber":485,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":486,"author":{"gitId":"dishenggg"},"content":" * Gets student reference associated with {@code id}."},{"lineNumber":487,"author":{"gitId":"dishenggg"},"content":" *"},{"lineNumber":488,"author":{"gitId":"dishenggg"},"content":" * @param id Id of Student."},{"lineNumber":489,"author":{"gitId":"dishenggg"},"content":" * @return Returns a proxy for the Student."},{"lineNumber":490,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":491,"author":{"gitId":"dishenggg"},"content":" public Student getStudentReference(UUID id) {"},{"lineNumber":492,"author":{"gitId":"dishenggg"},"content":" assert id !\u003d null;"},{"lineNumber":493,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":494,"author":{"gitId":"dishenggg"},"content":" return usersDb.getStudentReference(id);"},{"lineNumber":495,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":496,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":497,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":498,"author":{"gitId":"-"},"content":" * Gets the student with the specified email."},{"lineNumber":499,"author":{"gitId":"-"},"content":" */"},{"lineNumber":500,"author":{"gitId":"-"},"content":" public Student getStudentForEmail(String courseId, String userEmail) {"},{"lineNumber":501,"author":{"gitId":"-"},"content":" return usersDb.getStudentForEmail(courseId, userEmail);"},{"lineNumber":502,"author":{"gitId":"-"},"content":" }"},{"lineNumber":503,"author":{"gitId":"-"},"content":""},{"lineNumber":504,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":505,"author":{"gitId":"-"},"content":" * Check if the students with the provided emails exist in the course."},{"lineNumber":506,"author":{"gitId":"-"},"content":" */"},{"lineNumber":507,"author":{"gitId":"-"},"content":" public boolean verifyStudentsExistInCourse(String courseId, List\u003cString\u003e emails) {"},{"lineNumber":508,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students \u003d usersDb.getStudentsForEmails(courseId, emails);"},{"lineNumber":509,"author":{"gitId":"-"},"content":" Map\u003cString, User\u003e emailStudentMap \u003d convertUserListToEmailUserMap(students);"},{"lineNumber":510,"author":{"gitId":"-"},"content":""},{"lineNumber":511,"author":{"gitId":"-"},"content":" for (String email : emails) {"},{"lineNumber":512,"author":{"gitId":"-"},"content":" if (!emailStudentMap.containsKey(email)) {"},{"lineNumber":513,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":514,"author":{"gitId":"-"},"content":" }"},{"lineNumber":515,"author":{"gitId":"-"},"content":" }"},{"lineNumber":516,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":517,"author":{"gitId":"-"},"content":" }"},{"lineNumber":518,"author":{"gitId":"-"},"content":""},{"lineNumber":519,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":520,"author":{"gitId":"-"},"content":" * Gets a list of students with the specified email."},{"lineNumber":521,"author":{"gitId":"-"},"content":" */"},{"lineNumber":522,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getAllStudentsForEmail(String email) {"},{"lineNumber":523,"author":{"gitId":"-"},"content":" return usersDb.getAllStudentsForEmail(email);"},{"lineNumber":524,"author":{"gitId":"-"},"content":" }"},{"lineNumber":525,"author":{"gitId":"-"},"content":""},{"lineNumber":526,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":527,"author":{"gitId":"-"},"content":" * Gets all students associated with a googleId."},{"lineNumber":528,"author":{"gitId":"-"},"content":" */"},{"lineNumber":529,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getAllStudentsByGoogleId(String googleId) {"},{"lineNumber":530,"author":{"gitId":"-"},"content":" return usersDb.getAllStudentsByGoogleId(googleId);"},{"lineNumber":531,"author":{"gitId":"-"},"content":" }"},{"lineNumber":532,"author":{"gitId":"-"},"content":""},{"lineNumber":533,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":534,"author":{"gitId":"-"},"content":" * Gets a list of students for the specified course."},{"lineNumber":535,"author":{"gitId":"-"},"content":" */"},{"lineNumber":536,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForCourse(String courseId) {"},{"lineNumber":537,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentReturnList \u003d usersDb.getStudentsForCourse(courseId);"},{"lineNumber":538,"author":{"gitId":"-"},"content":" sortByName(studentReturnList);"},{"lineNumber":539,"author":{"gitId":"-"},"content":""},{"lineNumber":540,"author":{"gitId":"-"},"content":" return studentReturnList;"},{"lineNumber":541,"author":{"gitId":"-"},"content":" }"},{"lineNumber":542,"author":{"gitId":"-"},"content":""},{"lineNumber":543,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":544,"author":{"gitId":"-"},"content":" * Gets a list of unregistered students for the specified course."},{"lineNumber":545,"author":{"gitId":"-"},"content":" */"},{"lineNumber":546,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getUnregisteredStudentsForCourse(String courseId) {"},{"lineNumber":547,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e students \u003d getStudentsForCourse(courseId);"},{"lineNumber":548,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e unregisteredStudents \u003d new ArrayList\u003c\u003e();"},{"lineNumber":549,"author":{"gitId":"-"},"content":""},{"lineNumber":550,"author":{"gitId":"-"},"content":" for (Student s : students) {"},{"lineNumber":551,"author":{"gitId":"-"},"content":" if (s.getAccount() \u003d\u003d null) {"},{"lineNumber":552,"author":{"gitId":"-"},"content":" unregisteredStudents.add(s);"},{"lineNumber":553,"author":{"gitId":"-"},"content":" }"},{"lineNumber":554,"author":{"gitId":"-"},"content":" }"},{"lineNumber":555,"author":{"gitId":"-"},"content":""},{"lineNumber":556,"author":{"gitId":"-"},"content":" return unregisteredStudents;"},{"lineNumber":557,"author":{"gitId":"-"},"content":" }"},{"lineNumber":558,"author":{"gitId":"-"},"content":""},{"lineNumber":559,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":560,"author":{"gitId":"yuanxi1"},"content":" * Searches for students."},{"lineNumber":561,"author":{"gitId":"yuanxi1"},"content":" *"},{"lineNumber":562,"author":{"gitId":"yuanxi1"},"content":" * @param instructors the constraint that restricts the search result"},{"lineNumber":563,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":564,"author":{"gitId":"yuanxi1"},"content":" public List\u003cStudent\u003e searchStudents(String queryString, List\u003cInstructor\u003e instructors)"},{"lineNumber":565,"author":{"gitId":"yuanxi1"},"content":" throws SearchServiceException {"},{"lineNumber":566,"author":{"gitId":"yuanxi1"},"content":" return usersDb.searchStudents(queryString, instructors);"},{"lineNumber":567,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":568,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":569,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":570,"author":{"gitId":"yuanxi1"},"content":" * This method should be used by admin only since the searching does not restrict the"},{"lineNumber":571,"author":{"gitId":"yuanxi1"},"content":" * visibility according to the logged-in user\u0027s google ID. This is used by admin to"},{"lineNumber":572,"author":{"gitId":"yuanxi1"},"content":" * search students in the whole system."},{"lineNumber":573,"author":{"gitId":"yuanxi1"},"content":" * @return null if no result found"},{"lineNumber":574,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":575,"author":{"gitId":"yuanxi1"},"content":" public List\u003cStudent\u003e searchStudentsInWholeSystem(String queryString)"},{"lineNumber":576,"author":{"gitId":"yuanxi1"},"content":" throws SearchServiceException {"},{"lineNumber":577,"author":{"gitId":"yuanxi1"},"content":" return usersDb.searchStudentsInWholeSystem(queryString);"},{"lineNumber":578,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":579,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":580,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":581,"author":{"gitId":"-"},"content":" * Gets all students of a section."},{"lineNumber":582,"author":{"gitId":"-"},"content":" */"},{"lineNumber":583,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForSection(String sectionName, String courseId) {"},{"lineNumber":584,"author":{"gitId":"-"},"content":" return usersDb.getStudentsForSection(sectionName, courseId);"},{"lineNumber":585,"author":{"gitId":"-"},"content":" }"},{"lineNumber":586,"author":{"gitId":"-"},"content":""},{"lineNumber":587,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":588,"author":{"gitId":"-"},"content":" * Gets all students of a team."},{"lineNumber":589,"author":{"gitId":"-"},"content":" */"},{"lineNumber":590,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForTeam(String teamName, String courseId) {"},{"lineNumber":591,"author":{"gitId":"-"},"content":" return usersDb.getStudentsForTeam(teamName, courseId);"},{"lineNumber":592,"author":{"gitId":"-"},"content":" }"},{"lineNumber":593,"author":{"gitId":"-"},"content":""},{"lineNumber":594,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":595,"author":{"gitId":"-"},"content":" * Gets a student by associated {@code regkey}."},{"lineNumber":596,"author":{"gitId":"-"},"content":" */"},{"lineNumber":597,"author":{"gitId":"-"},"content":" public Student getStudentByRegistrationKey(String regKey) {"},{"lineNumber":598,"author":{"gitId":"-"},"content":" assert regKey !\u003d null;"},{"lineNumber":599,"author":{"gitId":"-"},"content":""},{"lineNumber":600,"author":{"gitId":"-"},"content":" return usersDb.getStudentByRegKey(regKey);"},{"lineNumber":601,"author":{"gitId":"-"},"content":" }"},{"lineNumber":602,"author":{"gitId":"-"},"content":""},{"lineNumber":603,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":604,"author":{"gitId":"-"},"content":" * Gets a student by associated {@code googleId}."},{"lineNumber":605,"author":{"gitId":"-"},"content":" */"},{"lineNumber":606,"author":{"gitId":"-"},"content":" public Student getStudentByGoogleId(String courseId, String googleId) {"},{"lineNumber":607,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":608,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":609,"author":{"gitId":"-"},"content":""},{"lineNumber":610,"author":{"gitId":"-"},"content":" return usersDb.getStudentByGoogleId(courseId, googleId);"},{"lineNumber":611,"author":{"gitId":"-"},"content":" }"},{"lineNumber":612,"author":{"gitId":"-"},"content":""},{"lineNumber":613,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":614,"author":{"gitId":"-"},"content":" * Gets all students associated with a googleId."},{"lineNumber":615,"author":{"gitId":"-"},"content":" */"},{"lineNumber":616,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsByGoogleId(String googleId) {"},{"lineNumber":617,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":618,"author":{"gitId":"-"},"content":""},{"lineNumber":619,"author":{"gitId":"-"},"content":" return usersDb.getStudentsByGoogleId(googleId);"},{"lineNumber":620,"author":{"gitId":"-"},"content":" }"},{"lineNumber":621,"author":{"gitId":"-"},"content":""},{"lineNumber":622,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":623,"author":{"gitId":"-"},"content":" * Returns true if the user associated with the googleId is a student in any"},{"lineNumber":624,"author":{"gitId":"-"},"content":" * course in the system."},{"lineNumber":625,"author":{"gitId":"-"},"content":" */"},{"lineNumber":626,"author":{"gitId":"-"},"content":" public boolean isStudentInAnyCourse(String googleId) {"},{"lineNumber":627,"author":{"gitId":"-"},"content":" return !usersDb.getAllStudentsByGoogleId(googleId).isEmpty();"},{"lineNumber":628,"author":{"gitId":"-"},"content":" }"},{"lineNumber":629,"author":{"gitId":"-"},"content":""},{"lineNumber":630,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":631,"author":{"gitId":"-"},"content":" * Gets all instructors and students by {@code googleId}."},{"lineNumber":632,"author":{"gitId":"-"},"content":" */"},{"lineNumber":633,"author":{"gitId":"-"},"content":" public List\u003cUser\u003e getAllUsersByGoogleId(String googleId) {"},{"lineNumber":634,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":635,"author":{"gitId":"-"},"content":""},{"lineNumber":636,"author":{"gitId":"-"},"content":" return usersDb.getAllUsersByGoogleId(googleId);"},{"lineNumber":637,"author":{"gitId":"-"},"content":" }"},{"lineNumber":638,"author":{"gitId":"-"},"content":""},{"lineNumber":639,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":640,"author":{"gitId":"domoberzin"},"content":" * Gets the section with the name in a particular course."},{"lineNumber":641,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":642,"author":{"gitId":"domoberzin"},"content":" public Section getSection(String courseId, String sectionName) {"},{"lineNumber":643,"author":{"gitId":"domoberzin"},"content":" return usersDb.getSection(courseId, sectionName);"},{"lineNumber":644,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":645,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":646,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":647,"author":{"gitId":"domoberzin"},"content":" * Gets the section with the name in a particular course, otherwise creates a new section."},{"lineNumber":648,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":649,"author":{"gitId":"domoberzin"},"content":" public Section getSectionOrCreate(String courseId, String sectionName) {"},{"lineNumber":650,"author":{"gitId":"domoberzin"},"content":" return usersDb.getSectionOrCreate(courseId, sectionName);"},{"lineNumber":651,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":652,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":653,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":654,"author":{"gitId":"domoberzin"},"content":" * Gets the team with the name in a particular session, otherwise creates a new team."},{"lineNumber":655,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":656,"author":{"gitId":"domoberzin"},"content":" public Team getTeamOrCreate(Section section, String teamName) {"},{"lineNumber":657,"author":{"gitId":"domoberzin"},"content":" return usersDb.getTeamOrCreate(section, teamName);"},{"lineNumber":658,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":659,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":660,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":661,"author":{"gitId":"-"},"content":" * Checks if there are any other registered instructors that can modify instructors."},{"lineNumber":662,"author":{"gitId":"-"},"content":" * If there are none, the instructor currently being edited will be granted the privilege"},{"lineNumber":663,"author":{"gitId":"-"},"content":" * of modifying instructors automatically."},{"lineNumber":664,"author":{"gitId":"-"},"content":" *"},{"lineNumber":665,"author":{"gitId":"-"},"content":" * @param courseId Id of the course."},{"lineNumber":666,"author":{"gitId":"-"},"content":" * @param instructorToEdit Instructor that will be edited."},{"lineNumber":667,"author":{"gitId":"-"},"content":" * This may be modified within the method."},{"lineNumber":668,"author":{"gitId":"-"},"content":" */"},{"lineNumber":669,"author":{"gitId":"-"},"content":" public void updateToEnsureValidityOfInstructorsForTheCourse(String courseId, Instructor instructorToEdit) {"},{"lineNumber":670,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors \u003d getInstructorsForCourse(courseId);"},{"lineNumber":671,"author":{"gitId":"-"},"content":" int numOfInstrCanModifyInstructor \u003d 0;"},{"lineNumber":672,"author":{"gitId":"-"},"content":" Instructor instrWithModifyInstructorPrivilege \u003d null;"},{"lineNumber":673,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":674,"author":{"gitId":"-"},"content":" if (instructor.isAllowedForPrivilege(Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR)) {"},{"lineNumber":675,"author":{"gitId":"-"},"content":" numOfInstrCanModifyInstructor++;"},{"lineNumber":676,"author":{"gitId":"-"},"content":" instrWithModifyInstructorPrivilege \u003d instructor;"},{"lineNumber":677,"author":{"gitId":"-"},"content":" }"},{"lineNumber":678,"author":{"gitId":"-"},"content":" }"},{"lineNumber":679,"author":{"gitId":"-"},"content":" boolean isLastRegInstructorWithPrivilege \u003d numOfInstrCanModifyInstructor \u003c\u003d 1"},{"lineNumber":680,"author":{"gitId":"-"},"content":" \u0026\u0026 instrWithModifyInstructorPrivilege !\u003d null"},{"lineNumber":681,"author":{"gitId":"-"},"content":" \u0026\u0026 (!instrWithModifyInstructorPrivilege.isRegistered()"},{"lineNumber":682,"author":{"gitId":"-"},"content":" || instrWithModifyInstructorPrivilege.getGoogleId()"},{"lineNumber":683,"author":{"gitId":"-"},"content":" .equals(instructorToEdit.getGoogleId()));"},{"lineNumber":684,"author":{"gitId":"-"},"content":" if (isLastRegInstructorWithPrivilege) {"},{"lineNumber":685,"author":{"gitId":"-"},"content":" instructorToEdit.getPrivileges().updatePrivilege(Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR, true);"},{"lineNumber":686,"author":{"gitId":"-"},"content":" }"},{"lineNumber":687,"author":{"gitId":"-"},"content":" }"},{"lineNumber":688,"author":{"gitId":"-"},"content":""},{"lineNumber":689,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":690,"author":{"gitId":"-"},"content":" * Deletes a student along with its associated feedback responses, deadline extensions and comments."},{"lineNumber":691,"author":{"gitId":"-"},"content":" *"},{"lineNumber":692,"author":{"gitId":"-"},"content":" * \u003cp\u003eFails silently if the student does not exist."},{"lineNumber":693,"author":{"gitId":"-"},"content":" */"},{"lineNumber":694,"author":{"gitId":"-"},"content":" public void deleteStudentCascade(String courseId, String studentEmail) {"},{"lineNumber":695,"author":{"gitId":"-"},"content":" Student student \u003d getStudentForEmail(courseId, studentEmail);"},{"lineNumber":696,"author":{"gitId":"-"},"content":""},{"lineNumber":697,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":698,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":699,"author":{"gitId":"-"},"content":" }"},{"lineNumber":700,"author":{"gitId":"-"},"content":""},{"lineNumber":701,"author":{"gitId":"-"},"content":" feedbackResponsesLogic"},{"lineNumber":702,"author":{"gitId":"-"},"content":" .deleteFeedbackResponsesForCourseCascade(courseId, studentEmail);"},{"lineNumber":703,"author":{"gitId":"-"},"content":""},{"lineNumber":704,"author":{"gitId":"-"},"content":" if (usersDb.getStudentCountForTeam(student.getTeamName(), student.getCourseId()) \u003d\u003d 1) {"},{"lineNumber":705,"author":{"gitId":"-"},"content":" // the student is the only student in the team, delete responses related to the team"},{"lineNumber":706,"author":{"gitId":"-"},"content":" feedbackResponsesLogic"},{"lineNumber":707,"author":{"gitId":"-"},"content":" .deleteFeedbackResponsesForCourseCascade("},{"lineNumber":708,"author":{"gitId":"-"},"content":" student.getCourse().getId(), student.getTeamName());"},{"lineNumber":709,"author":{"gitId":"-"},"content":" }"},{"lineNumber":710,"author":{"gitId":"-"},"content":""},{"lineNumber":711,"author":{"gitId":"-"},"content":" deadlineExtensionsLogic.deleteDeadlineExtensionsForUser(student);"},{"lineNumber":712,"author":{"gitId":"-"},"content":" deleteUser(student);"},{"lineNumber":713,"author":{"gitId":"-"},"content":" feedbackResponsesLogic.updateRankRecipientQuestionResponsesAfterDeletingStudent(courseId);"},{"lineNumber":714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":715,"author":{"gitId":"-"},"content":""},{"lineNumber":716,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":717,"author":{"gitId":"-"},"content":" * Deletes students in the course cascade their associated responses, deadline extensions, and comments."},{"lineNumber":718,"author":{"gitId":"-"},"content":" */"},{"lineNumber":719,"author":{"gitId":"-"},"content":" public void deleteStudentsInCourseCascade(String courseId) {"},{"lineNumber":720,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentsInCourse \u003d getStudentsForCourse(courseId);"},{"lineNumber":721,"author":{"gitId":"-"},"content":""},{"lineNumber":722,"author":{"gitId":"-"},"content":" for (Student student : studentsInCourse) {"},{"lineNumber":723,"author":{"gitId":"-"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":724,"author":{"gitId":"-"},"content":" deleteStudentCascade(courseId, student.getEmail());"},{"lineNumber":725,"author":{"gitId":"-"},"content":" }"},{"lineNumber":726,"author":{"gitId":"-"},"content":" }"},{"lineNumber":727,"author":{"gitId":"-"},"content":""},{"lineNumber":728,"author":{"gitId":"marquestye"},"content":" private boolean isEmailChanged(String originalEmail, String newEmail) {"},{"lineNumber":729,"author":{"gitId":"marquestye"},"content":" return newEmail !\u003d null \u0026\u0026 !originalEmail.equals(newEmail);"},{"lineNumber":730,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":731,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":732,"author":{"gitId":"domoberzin"},"content":" private boolean isTeamChanged(Team originalTeam, Team newTeam) {"},{"lineNumber":733,"author":{"gitId":"domoberzin"},"content":" return newTeam !\u003d null \u0026\u0026 originalTeam !\u003d null"},{"lineNumber":734,"author":{"gitId":"domoberzin"},"content":" \u0026\u0026 !originalTeam.equals(newTeam);"},{"lineNumber":735,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":736,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":737,"author":{"gitId":"domoberzin"},"content":" private boolean isSectionChanged(Section originalSection, Section newSection) {"},{"lineNumber":738,"author":{"gitId":"domoberzin"},"content":" return newSection !\u003d null \u0026\u0026 originalSection !\u003d null"},{"lineNumber":739,"author":{"gitId":"domoberzin"},"content":" \u0026\u0026 !originalSection.equals(newSection);"},{"lineNumber":740,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":741,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":742,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":743,"author":{"gitId":"domoberzin"},"content":" * Updates a student by {@link Student}."},{"lineNumber":744,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":745,"author":{"gitId":"marquestye"},"content":" * \u003cp\u003eIf email changed, update by recreating the student and cascade update all responses"},{"lineNumber":746,"author":{"gitId":"marquestye"},"content":" * and comments the student gives/receives."},{"lineNumber":747,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":748,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003eIf team changed, cascade delete all responses the student gives/receives within that team."},{"lineNumber":749,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":750,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003eIf section changed, cascade update all responses the student gives/receives."},{"lineNumber":751,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":752,"author":{"gitId":"domoberzin"},"content":" * @return updated student"},{"lineNumber":753,"author":{"gitId":"domoberzin"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":754,"author":{"gitId":"domoberzin"},"content":" * @throws EntityDoesNotExistException if the student cannot be found"},{"lineNumber":755,"author":{"gitId":"domoberzin"},"content":" * @throws EntityAlreadyExistsException if the student cannot be updated"},{"lineNumber":756,"author":{"gitId":"domoberzin"},"content":" * by recreation because of an existent student"},{"lineNumber":757,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":758,"author":{"gitId":"domoberzin"},"content":" public Student updateStudentCascade(Student student)"},{"lineNumber":759,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException, EntityAlreadyExistsException {"},{"lineNumber":760,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":761,"author":{"gitId":"marquestye"},"content":" String courseId \u003d student.getCourseId();"},{"lineNumber":762,"author":{"gitId":"marquestye"},"content":" Student originalStudent \u003d getStudent(student.getId());"},{"lineNumber":763,"author":{"gitId":"marquestye"},"content":" String originalEmail \u003d originalStudent.getEmail();"},{"lineNumber":764,"author":{"gitId":"marquestye"},"content":" boolean changedEmail \u003d isEmailChanged(originalEmail, student.getEmail());"},{"lineNumber":765,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":766,"author":{"gitId":"marquestye"},"content":" // check for email conflict"},{"lineNumber":767,"author":{"gitId":"marquestye"},"content":" Student s \u003d usersDb.getStudentForEmail(courseId, student.getEmail());"},{"lineNumber":768,"author":{"gitId":"marquestye"},"content":" if (changedEmail \u0026\u0026 s !\u003d null) {"},{"lineNumber":769,"author":{"gitId":"marquestye"},"content":" String errorMessage \u003d String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, s.toString());"},{"lineNumber":770,"author":{"gitId":"marquestye"},"content":" throw new EntityAlreadyExistsException(errorMessage);"},{"lineNumber":771,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":772,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":773,"author":{"gitId":"domoberzin"},"content":" Team originalTeam \u003d originalStudent.getTeam();"},{"lineNumber":774,"author":{"gitId":"domoberzin"},"content":" Section originalSection \u003d originalStudent.getSection();"},{"lineNumber":775,"author":{"gitId":"domoberzin"},"content":" boolean changedTeam \u003d isTeamChanged(originalTeam, student.getTeam());"},{"lineNumber":776,"author":{"gitId":"domoberzin"},"content":" boolean changedSection \u003d isSectionChanged(originalSection, student.getSection());"},{"lineNumber":777,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":778,"author":{"gitId":"marquestye"},"content":" // update student"},{"lineNumber":779,"author":{"gitId":"marquestye"},"content":" usersDb.checkBeforeUpdateStudent(student);"},{"lineNumber":780,"author":{"gitId":"domoberzin"},"content":" originalStudent.setName(student.getName());"},{"lineNumber":781,"author":{"gitId":"domoberzin"},"content":" originalStudent.setTeam(student.getTeam());"},{"lineNumber":782,"author":{"gitId":"domoberzin"},"content":" originalStudent.setEmail(student.getEmail());"},{"lineNumber":783,"author":{"gitId":"domoberzin"},"content":" originalStudent.setComments(student.getComments());"},{"lineNumber":784,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":785,"author":{"gitId":"marquestye"},"content":" // cascade email changes to responses and comments"},{"lineNumber":786,"author":{"gitId":"marquestye"},"content":" if (changedEmail) {"},{"lineNumber":787,"author":{"gitId":"marquestye"},"content":" feedbackResponsesLogic.updateFeedbackResponsesForChangingEmail(courseId, originalEmail, student.getEmail());"},{"lineNumber":788,"author":{"gitId":"marquestye"},"content":" feedbackResponseCommentsLogic.updateFeedbackResponseCommentsEmails(courseId, originalEmail, student.getEmail());"},{"lineNumber":789,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":790,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":791,"author":{"gitId":"domoberzin"},"content":" // adjust submissions if moving to a different team"},{"lineNumber":792,"author":{"gitId":"domoberzin"},"content":" if (changedTeam) {"},{"lineNumber":793,"author":{"gitId":"marquestye"},"content":" feedbackResponsesLogic.updateFeedbackResponsesForChangingTeam(student.getCourse(), student.getEmail(),"},{"lineNumber":794,"author":{"gitId":"marquestye"},"content":" student.getTeam(), originalTeam);"},{"lineNumber":795,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":796,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":797,"author":{"gitId":"domoberzin"},"content":" // update the new section name in responses"},{"lineNumber":798,"author":{"gitId":"domoberzin"},"content":" if (changedSection) {"},{"lineNumber":799,"author":{"gitId":"domoberzin"},"content":" feedbackResponsesLogic.updateFeedbackResponsesForChangingSection("},{"lineNumber":800,"author":{"gitId":"marquestye"},"content":" student.getCourse(), student.getEmail(), student.getSection());"},{"lineNumber":801,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":802,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":803,"author":{"gitId":"marquestye"},"content":" return originalStudent;"},{"lineNumber":804,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":805,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":806,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":807,"author":{"gitId":"-"},"content":" * Resets the googleId associated with the instructor."},{"lineNumber":808,"author":{"gitId":"-"},"content":" */"},{"lineNumber":809,"author":{"gitId":"-"},"content":" public void resetInstructorGoogleId(String email, String courseId, String googleId)"},{"lineNumber":810,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":811,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":812,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":813,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":814,"author":{"gitId":"-"},"content":""},{"lineNumber":815,"author":{"gitId":"-"},"content":" Instructor instructor \u003d getInstructorForEmail(courseId, email);"},{"lineNumber":816,"author":{"gitId":"-"},"content":""},{"lineNumber":817,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":818,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT"},{"lineNumber":819,"author":{"gitId":"-"},"content":" + \"Instructor [courseId\u003d\" + courseId + \", email\u003d\" + email + \"]\");"},{"lineNumber":820,"author":{"gitId":"-"},"content":" }"},{"lineNumber":821,"author":{"gitId":"-"},"content":""},{"lineNumber":822,"author":{"gitId":"-"},"content":" instructor.setAccount(null);"},{"lineNumber":823,"author":{"gitId":"-"},"content":""},{"lineNumber":824,"author":{"gitId":"-"},"content":" if (usersDb.getAllUsersByGoogleId(googleId).isEmpty()) {"},{"lineNumber":825,"author":{"gitId":"-"},"content":" accountsLogic.deleteAccountCascade(googleId);"},{"lineNumber":826,"author":{"gitId":"-"},"content":" }"},{"lineNumber":827,"author":{"gitId":"-"},"content":" }"},{"lineNumber":828,"author":{"gitId":"-"},"content":""},{"lineNumber":829,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":830,"author":{"gitId":"domoberzin"},"content":" * Validates sections for any limit violations and teams for any team name violations."},{"lineNumber":831,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":832,"author":{"gitId":"domoberzin"},"content":" public void validateSectionsAndTeams("},{"lineNumber":833,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e studentList, String courseId) throws EnrollException {"},{"lineNumber":834,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":835,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e mergedList \u003d getMergedList(studentList, courseId);"},{"lineNumber":836,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":837,"author":{"gitId":"domoberzin"},"content":" if (mergedList.size() \u003c 2) { // no conflicts"},{"lineNumber":838,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":839,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":840,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":841,"author":{"gitId":"domoberzin"},"content":" String errorMessage \u003d getSectionInvalidityInfo(mergedList) + getTeamInvalidityInfo(mergedList);"},{"lineNumber":842,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":843,"author":{"gitId":"domoberzin"},"content":" if (!errorMessage.isEmpty()) {"},{"lineNumber":844,"author":{"gitId":"domoberzin"},"content":" throw new EnrollException(errorMessage);"},{"lineNumber":845,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":846,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":847,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":848,"author":{"gitId":"domoberzin"},"content":" private List\u003cStudent\u003e getMergedList(List\u003cStudent\u003e studentList, String courseId) {"},{"lineNumber":849,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":850,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e mergedList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":851,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e studentsInCourse \u003d getStudentsForCourse(courseId);"},{"lineNumber":852,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":853,"author":{"gitId":"domoberzin"},"content":" for (Student student : studentList) {"},{"lineNumber":854,"author":{"gitId":"domoberzin"},"content":" mergedList.add(student);"},{"lineNumber":855,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":856,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":857,"author":{"gitId":"domoberzin"},"content":" for (Student student : studentsInCourse) {"},{"lineNumber":858,"author":{"gitId":"domoberzin"},"content":" if (!isInEnrollList(student, mergedList)) {"},{"lineNumber":859,"author":{"gitId":"domoberzin"},"content":" mergedList.add(student);"},{"lineNumber":860,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":861,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":862,"author":{"gitId":"domoberzin"},"content":" return mergedList;"},{"lineNumber":863,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":864,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":865,"author":{"gitId":"domoberzin"},"content":" private String getSectionInvalidityInfo(List\u003cStudent\u003e mergedList) {"},{"lineNumber":866,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":867,"author":{"gitId":"domoberzin"},"content":" mergedList.sort(Comparator.comparing((Student student) -\u003e student.getSectionName())"},{"lineNumber":868,"author":{"gitId":"domoberzin"},"content":" .thenComparing(student -\u003e student.getTeamName())"},{"lineNumber":869,"author":{"gitId":"domoberzin"},"content":" .thenComparing(student -\u003e student.getName()));"},{"lineNumber":870,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":871,"author":{"gitId":"domoberzin"},"content":" List\u003cString\u003e invalidSectionList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":872,"author":{"gitId":"domoberzin"},"content":" int studentsCount \u003d 1;"},{"lineNumber":873,"author":{"gitId":"domoberzin"},"content":" for (int i \u003d 1; i \u003c mergedList.size(); i++) {"},{"lineNumber":874,"author":{"gitId":"domoberzin"},"content":" Student currentStudent \u003d mergedList.get(i);"},{"lineNumber":875,"author":{"gitId":"domoberzin"},"content":" Student previousStudent \u003d mergedList.get(i - 1);"},{"lineNumber":876,"author":{"gitId":"domoberzin"},"content":" if (currentStudent.getSectionName().equals(previousStudent.getSectionName())) {"},{"lineNumber":877,"author":{"gitId":"domoberzin"},"content":" studentsCount++;"},{"lineNumber":878,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":879,"author":{"gitId":"domoberzin"},"content":" if (studentsCount \u003e Const.SECTION_SIZE_LIMIT) {"},{"lineNumber":880,"author":{"gitId":"domoberzin"},"content":" invalidSectionList.add(previousStudent.getSectionName());"},{"lineNumber":881,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":882,"author":{"gitId":"domoberzin"},"content":" studentsCount \u003d 1;"},{"lineNumber":883,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":884,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":885,"author":{"gitId":"domoberzin"},"content":" if (i \u003d\u003d mergedList.size() - 1 \u0026\u0026 studentsCount \u003e Const.SECTION_SIZE_LIMIT) {"},{"lineNumber":886,"author":{"gitId":"domoberzin"},"content":" invalidSectionList.add(currentStudent.getSectionName());"},{"lineNumber":887,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":888,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":889,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":890,"author":{"gitId":"domoberzin"},"content":" StringJoiner errorMessage \u003d new StringJoiner(\" \");"},{"lineNumber":891,"author":{"gitId":"domoberzin"},"content":" for (String section : invalidSectionList) {"},{"lineNumber":892,"author":{"gitId":"domoberzin"},"content":" errorMessage.add(String.format("},{"lineNumber":893,"author":{"gitId":"domoberzin"},"content":" ERROR_ENROLL_EXCEED_SECTION_LIMIT,"},{"lineNumber":894,"author":{"gitId":"domoberzin"},"content":" Const.SECTION_SIZE_LIMIT, section));"},{"lineNumber":895,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":896,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":897,"author":{"gitId":"domoberzin"},"content":" if (!invalidSectionList.isEmpty()) {"},{"lineNumber":898,"author":{"gitId":"domoberzin"},"content":" errorMessage.add(String.format("},{"lineNumber":899,"author":{"gitId":"domoberzin"},"content":" ERROR_ENROLL_EXCEED_SECTION_LIMIT_INSTRUCTION,"},{"lineNumber":900,"author":{"gitId":"domoberzin"},"content":" Const.SECTION_SIZE_LIMIT));"},{"lineNumber":901,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":902,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":903,"author":{"gitId":"domoberzin"},"content":" return errorMessage.toString();"},{"lineNumber":904,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":905,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":906,"author":{"gitId":"domoberzin"},"content":" private String getTeamInvalidityInfo(List\u003cStudent\u003e mergedList) {"},{"lineNumber":907,"author":{"gitId":"domoberzin"},"content":" StringJoiner errorMessage \u003d new StringJoiner(\" \");"},{"lineNumber":908,"author":{"gitId":"domoberzin"},"content":" mergedList.sort(Comparator.comparing((Student student) -\u003e student.getTeamName())"},{"lineNumber":909,"author":{"gitId":"domoberzin"},"content":" .thenComparing(student -\u003e student.getName()));"},{"lineNumber":910,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":911,"author":{"gitId":"domoberzin"},"content":" List\u003cString\u003e invalidTeamList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":912,"author":{"gitId":"domoberzin"},"content":" for (int i \u003d 1; i \u003c mergedList.size(); i++) {"},{"lineNumber":913,"author":{"gitId":"domoberzin"},"content":" Student currentStudent \u003d mergedList.get(i);"},{"lineNumber":914,"author":{"gitId":"domoberzin"},"content":" Student previousStudent \u003d mergedList.get(i - 1);"},{"lineNumber":915,"author":{"gitId":"domoberzin"},"content":" if (currentStudent.getTeamName().equals(previousStudent.getTeamName())"},{"lineNumber":916,"author":{"gitId":"domoberzin"},"content":" \u0026\u0026 !currentStudent.getSectionName().equals(previousStudent.getSectionName())"},{"lineNumber":917,"author":{"gitId":"domoberzin"},"content":" \u0026\u0026 !invalidTeamList.contains(currentStudent.getTeamName())) {"},{"lineNumber":918,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":919,"author":{"gitId":"domoberzin"},"content":" errorMessage.add(String.format(ERROR_INVALID_TEAM_NAME,"},{"lineNumber":920,"author":{"gitId":"domoberzin"},"content":" currentStudent.getTeamName(),"},{"lineNumber":921,"author":{"gitId":"domoberzin"},"content":" previousStudent.getSectionName(),"},{"lineNumber":922,"author":{"gitId":"domoberzin"},"content":" currentStudent.getSectionName()));"},{"lineNumber":923,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":924,"author":{"gitId":"domoberzin"},"content":" invalidTeamList.add(currentStudent.getTeamName());"},{"lineNumber":925,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":926,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":927,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":928,"author":{"gitId":"domoberzin"},"content":" if (!invalidTeamList.isEmpty()) {"},{"lineNumber":929,"author":{"gitId":"domoberzin"},"content":" errorMessage.add(ERROR_INVALID_TEAM_NAME_INSTRUCTION);"},{"lineNumber":930,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":931,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":932,"author":{"gitId":"domoberzin"},"content":" return errorMessage.toString();"},{"lineNumber":933,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":934,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":935,"author":{"gitId":"domoberzin"},"content":" private boolean isInEnrollList(Student student,"},{"lineNumber":936,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e studentInfoList) {"},{"lineNumber":937,"author":{"gitId":"domoberzin"},"content":" for (Student studentInfo : studentInfoList) {"},{"lineNumber":938,"author":{"gitId":"domoberzin"},"content":" if (studentInfo.getEmail().equalsIgnoreCase(student.getEmail())) {"},{"lineNumber":939,"author":{"gitId":"domoberzin"},"content":" return true;"},{"lineNumber":940,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":941,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":942,"author":{"gitId":"domoberzin"},"content":" return false;"},{"lineNumber":943,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":944,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":945,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":946,"author":{"gitId":"-"},"content":" * Resets the googleId associated with the student."},{"lineNumber":947,"author":{"gitId":"-"},"content":" */"},{"lineNumber":948,"author":{"gitId":"-"},"content":" public void resetStudentGoogleId(String email, String courseId, String googleId)"},{"lineNumber":949,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":950,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":951,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":952,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":953,"author":{"gitId":"-"},"content":""},{"lineNumber":954,"author":{"gitId":"-"},"content":" Student student \u003d getStudentForEmail(courseId, email);"},{"lineNumber":955,"author":{"gitId":"-"},"content":""},{"lineNumber":956,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":957,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT"},{"lineNumber":958,"author":{"gitId":"-"},"content":" + \"Student [courseId\u003d\" + courseId + \", email\u003d\" + email + \"]\");"},{"lineNumber":959,"author":{"gitId":"-"},"content":" }"},{"lineNumber":960,"author":{"gitId":"-"},"content":""},{"lineNumber":961,"author":{"gitId":"-"},"content":" student.setAccount(null);"},{"lineNumber":962,"author":{"gitId":"-"},"content":""},{"lineNumber":963,"author":{"gitId":"-"},"content":" if (usersDb.getAllUsersByGoogleId(googleId).isEmpty()) {"},{"lineNumber":964,"author":{"gitId":"-"},"content":" accountsLogic.deleteAccountCascade(googleId);"},{"lineNumber":965,"author":{"gitId":"-"},"content":" }"},{"lineNumber":966,"author":{"gitId":"-"},"content":" }"},{"lineNumber":967,"author":{"gitId":"-"},"content":""},{"lineNumber":968,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":969,"author":{"gitId":"-"},"content":" * Sorts the instructors list alphabetically by name."},{"lineNumber":970,"author":{"gitId":"-"},"content":" */"},{"lineNumber":971,"author":{"gitId":"-"},"content":" public static \u003cT extends User\u003e void sortByName(List\u003cT\u003e users) {"},{"lineNumber":972,"author":{"gitId":"-"},"content":" users.sort(Comparator.comparing(user -\u003e user.getName().toLowerCase()));"},{"lineNumber":973,"author":{"gitId":"-"},"content":" }"},{"lineNumber":974,"author":{"gitId":"-"},"content":""},{"lineNumber":975,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":976,"author":{"gitId":"-"},"content":" * Checks if an instructor with {@code googleId} can create a course with"},{"lineNumber":977,"author":{"gitId":"-"},"content":" * {@code institute}"},{"lineNumber":978,"author":{"gitId":"-"},"content":" * (ie. has an existing course(s) with the same {@code institute})."},{"lineNumber":979,"author":{"gitId":"-"},"content":" */"},{"lineNumber":980,"author":{"gitId":"-"},"content":" public boolean canInstructorCreateCourse(String googleId, String institute) {"},{"lineNumber":981,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":982,"author":{"gitId":"-"},"content":" assert institute !\u003d null;"},{"lineNumber":983,"author":{"gitId":"-"},"content":""},{"lineNumber":984,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e existingInstructors \u003d getInstructorsForGoogleId(googleId);"},{"lineNumber":985,"author":{"gitId":"-"},"content":" return existingInstructors"},{"lineNumber":986,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":987,"author":{"gitId":"-"},"content":" .filter(Instructor::hasCoownerPrivileges)"},{"lineNumber":988,"author":{"gitId":"-"},"content":" .map(instructor -\u003e instructor.getCourse())"},{"lineNumber":989,"author":{"gitId":"-"},"content":" .anyMatch(course -\u003e institute.equals(course.getInstitute()));"},{"lineNumber":990,"author":{"gitId":"-"},"content":" }"},{"lineNumber":991,"author":{"gitId":"-"},"content":""},{"lineNumber":992,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":993,"author":{"gitId":"-"},"content":" * Utility function to convert user list to email-user map for faster email lookup."},{"lineNumber":994,"author":{"gitId":"-"},"content":" *"},{"lineNumber":995,"author":{"gitId":"-"},"content":" * @param users users list which contains users with unique email addresses"},{"lineNumber":996,"author":{"gitId":"-"},"content":" * @return email-user map for faster email lookup"},{"lineNumber":997,"author":{"gitId":"-"},"content":" */"},{"lineNumber":998,"author":{"gitId":"-"},"content":" private Map\u003cString, User\u003e convertUserListToEmailUserMap(List\u003c? extends User\u003e users) {"},{"lineNumber":999,"author":{"gitId":"-"},"content":" Map\u003cString, User\u003e emailUserMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":1000,"author":{"gitId":"-"},"content":" users.forEach(u -\u003e emailUserMap.put(u.getEmail(), u));"},{"lineNumber":1001,"author":{"gitId":"-"},"content":""},{"lineNumber":1002,"author":{"gitId":"-"},"content":" return emailUserMap;"},{"lineNumber":1003,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1004,"author":{"gitId":"-"},"content":""},{"lineNumber":1005,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":201,"yuanxi1":21,"marquestye":30,"mingyuanc":3,"dishenggg":12,"-":738}},{"path":"src/main/java/teammates/storage/sqlapi/AccountRequestsDb.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import java.util.ArrayList;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import java.util.Collections;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import java.util.UUID;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import jakarta.persistence.TypedQuery;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaBuilder;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaQuery;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Root;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.AccountRequestSearchManager;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.SearchManagerFactory;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * Generates CRUD operations for AccountRequest."},{"lineNumber":27,"author":{"gitId":"-"},"content":" *"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * @see AccountRequest"},{"lineNumber":29,"author":{"gitId":"-"},"content":" */"},{"lineNumber":30,"author":{"gitId":"-"},"content":"public final class AccountRequestsDb extends EntitiesDb {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final AccountRequestsDb instance \u003d new AccountRequestsDb();"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private AccountRequestsDb() {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" // prevent instantiation"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" public static AccountRequestsDb inst() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" public AccountRequestSearchManager getSearchManager() {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" return SearchManagerFactory.getAccountRequestSearchManager();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":46,"author":{"gitId":"-"},"content":" * Creates an AccountRequest in the database."},{"lineNumber":47,"author":{"gitId":"-"},"content":" */"},{"lineNumber":48,"author":{"gitId":"-"},"content":" public AccountRequest createAccountRequest(AccountRequest accountRequest) throws InvalidParametersException {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" assert accountRequest !\u003d null;"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" if (!accountRequest.isValid()) {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(accountRequest.getInvalidityInfo());"},{"lineNumber":53,"author":{"gitId":"-"},"content":" }"},{"lineNumber":54,"author":{"gitId":"-"},"content":" persist(accountRequest);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" return accountRequest;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Get AccountRequest by {@code id} from the database."},{"lineNumber":60,"author":{"gitId":"-"},"content":" */"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public AccountRequest getAccountRequest(UUID id) {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" assert id !\u003d null;"},{"lineNumber":63,"author":{"gitId":"-"},"content":" return HibernateUtil.get(AccountRequest.class, id);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":67,"author":{"gitId":"-"},"content":" * Get all Account Requests with {@code status} of \u0027pending\u0027."},{"lineNumber":68,"author":{"gitId":"-"},"content":" */"},{"lineNumber":69,"author":{"gitId":"-"},"content":" public List\u003cAccountRequest\u003e getPendingAccountRequests() {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":71,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cAccountRequest\u003e cr \u003d cb.createQuery(AccountRequest.class);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" Root\u003cAccountRequest\u003e root \u003d cr.from(AccountRequest.class);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":74,"author":{"gitId":"-"},"content":" .where(cb.equal(root.get(\"status\"), AccountRequestStatus.PENDING))"},{"lineNumber":75,"author":{"gitId":"-"},"content":" .orderBy(cb.desc(root.get(\"createdAt\")));"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" TypedQuery\u003cAccountRequest\u003e query \u003d HibernateUtil.createQuery(cr);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" return query.getResultList();"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" * Get all Account Requests."},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" public List\u003cAccountRequest\u003e getAllAccountRequests() {"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":" CriteriaQuery\u003cAccountRequest\u003e cr \u003d cb.createQuery(AccountRequest.class);"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" Root\u003cAccountRequest\u003e root \u003d cr.from(AccountRequest.class);"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" cr.select(root);"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" TypedQuery\u003cAccountRequest\u003e query \u003d HibernateUtil.createQuery(cr);"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" return query.getResultList();"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" * Get all Account Requests for a given {@code email}."},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" public List\u003cAccountRequest\u003e getApprovedAccountRequestsForEmail(String email) {"},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" CriteriaQuery\u003cAccountRequest\u003e cr \u003d cb.createQuery(AccountRequest.class);"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":" Root\u003cAccountRequest\u003e root \u003d cr.from(AccountRequest.class);"},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" cr.select(root).where(cb.and(cb.equal(root.get(\"email\"), email),"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" cb.equal(root.get(\"status\"), AccountRequestStatus.APPROVED)));"},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" TypedQuery\u003cAccountRequest\u003e query \u003d HibernateUtil.createQuery(cr);"},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" return query.getResultList();"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":109,"author":{"gitId":"-"},"content":" * Get AccountRequest by {@code registrationKey} from database."},{"lineNumber":110,"author":{"gitId":"-"},"content":" */"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":" public AccountRequest getAccountRequestByRegistrationKey(String registrationKey) {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":113,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cAccountRequest\u003e cr \u003d cb.createQuery(AccountRequest.class);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" Root\u003cAccountRequest\u003e root \u003d cr.from(AccountRequest.class);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" cr.select(root).where(cb.equal(root.get(\"registrationKey\"), registrationKey));"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" TypedQuery\u003cAccountRequest\u003e query \u003d HibernateUtil.createQuery(cr);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" return query.getResultStream().findFirst().orElse(null);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":122,"author":{"gitId":"-"},"content":" * Get AccountRequest with {@code createdTime} within the times {@code startTime} and {@code endTime}."},{"lineNumber":123,"author":{"gitId":"-"},"content":" */"},{"lineNumber":124,"author":{"gitId":"-"},"content":" public List\u003cAccountRequest\u003e getAccountRequests(Instant startTime, Instant endTime) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":126,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cAccountRequest\u003e cr \u003d cb.createQuery(AccountRequest.class);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" Root\u003cAccountRequest\u003e root \u003d cr.from(AccountRequest.class);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" cr.select(root).where(cb.and(cb.greaterThanOrEqualTo(root.get(\"createdAt\"), startTime),"},{"lineNumber":129,"author":{"gitId":"-"},"content":" cb.lessThanOrEqualTo(root.get(\"createdAt\"), endTime)));"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" TypedQuery\u003cAccountRequest\u003e query \u003d HibernateUtil.createQuery(cr);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" return query.getResultList();"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":136,"author":{"gitId":"-"},"content":" * Updates or creates (if does not exist) the AccountRequest in the database."},{"lineNumber":137,"author":{"gitId":"-"},"content":" */"},{"lineNumber":138,"author":{"gitId":"-"},"content":" public AccountRequest updateAccountRequest(AccountRequest accountRequest)"},{"lineNumber":139,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" assert accountRequest !\u003d null;"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" if (!accountRequest.isValid()) {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(accountRequest.getInvalidityInfo());"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" if (getAccountRequest(accountRequest.getId()) \u003d\u003d null) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException("},{"lineNumber":148,"author":{"gitId":"-"},"content":" String.format(ERROR_UPDATE_NON_EXISTENT, accountRequest.toString()));"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" merge(accountRequest);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" return accountRequest;"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":156,"author":{"gitId":"-"},"content":" * Deletes an AccountRequest."},{"lineNumber":157,"author":{"gitId":"-"},"content":" */"},{"lineNumber":158,"author":{"gitId":"-"},"content":" public void deleteAccountRequest(AccountRequest accountRequest) {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" if (accountRequest !\u003d null) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" delete(accountRequest);"},{"lineNumber":161,"author":{"gitId":"domoberzin"},"content":" deleteDocumentByAccountRequestId(accountRequest.getId());"},{"lineNumber":162,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":163,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":164,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":165,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":166,"author":{"gitId":"domoberzin"},"content":" * Removes search document for the given account request."},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":168,"author":{"gitId":"domoberzin"},"content":" public void deleteDocumentByAccountRequestId(UUID accountRequestId) {"},{"lineNumber":169,"author":{"gitId":"domoberzin"},"content":" if (getSearchManager() !\u003d null) {"},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":" getSearchManager().deleteDocuments("},{"lineNumber":171,"author":{"gitId":"-"},"content":" Collections.singletonList(accountRequestId.toString()));"},{"lineNumber":172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":" * Searches all account requests in the system."},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":178,"author":{"gitId":"domoberzin"},"content":" * \u003cp\u003eThis is used by admin to search account requests in the whole system."},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":" public List\u003cAccountRequest\u003e searchAccountRequestsInWholeSystem(String queryString)"},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":" throws SearchServiceException {"},{"lineNumber":182,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":183,"author":{"gitId":"domoberzin"},"content":" if (queryString.trim().isEmpty()) {"},{"lineNumber":184,"author":{"gitId":"domoberzin"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":185,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":186,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":187,"author":{"gitId":"domoberzin"},"content":" return getSearchManager().searchAccountRequests(queryString);"},{"lineNumber":188,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":56,"dishenggg":1,"-":132}},{"path":"src/main/java/teammates/storage/sqlapi/FeedbackQuestionsDb.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"marquestye"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":4,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaBuilder;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaQuery;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Join;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Root;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":14,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":15,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Handles CRUD operations for feedback questions."},{"lineNumber":23,"author":{"gitId":"-"},"content":" *"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * @see FeedbackQuestion"},{"lineNumber":25,"author":{"gitId":"-"},"content":" */"},{"lineNumber":26,"author":{"gitId":"-"},"content":"public final class FeedbackQuestionsDb extends EntitiesDb {"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final FeedbackQuestionsDb instance \u003d new FeedbackQuestionsDb();"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" private FeedbackQuestionsDb() {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" public static FeedbackQuestionsDb inst() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":39,"author":{"gitId":"-"},"content":" * Creates a new feedback question."},{"lineNumber":40,"author":{"gitId":"-"},"content":" *"},{"lineNumber":41,"author":{"gitId":"-"},"content":" * @return the created question"},{"lineNumber":42,"author":{"gitId":"marquestye"},"content":" * @throws InvalidParametersException if the question is invalid"},{"lineNumber":43,"author":{"gitId":"marquestye"},"content":" * @throws EntityAlreadyExistsException if the question already exists"},{"lineNumber":44,"author":{"gitId":"-"},"content":" */"},{"lineNumber":45,"author":{"gitId":"marquestye"},"content":" public FeedbackQuestion createFeedbackQuestion(FeedbackQuestion feedbackQuestion)"},{"lineNumber":46,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":47,"author":{"gitId":"marquestye"},"content":" assert feedbackQuestion !\u003d null;"},{"lineNumber":48,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":49,"author":{"gitId":"marquestye"},"content":" if (!feedbackQuestion.isValid()) {"},{"lineNumber":50,"author":{"gitId":"marquestye"},"content":" throw new InvalidParametersException(feedbackQuestion.getInvalidityInfo());"},{"lineNumber":51,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":52,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":53,"author":{"gitId":"marquestye"},"content":" if (getFeedbackQuestion(feedbackQuestion.getId()) !\u003d null) {"},{"lineNumber":54,"author":{"gitId":"marquestye"},"content":" String errorMessage \u003d String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, feedbackQuestion.toString());"},{"lineNumber":55,"author":{"gitId":"marquestye"},"content":" throw new EntityAlreadyExistsException(errorMessage);"},{"lineNumber":56,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":57,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" persist(feedbackQuestion);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" return feedbackQuestion;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":63,"author":{"gitId":"-"},"content":" * Gets a feedback question."},{"lineNumber":64,"author":{"gitId":"-"},"content":" *"},{"lineNumber":65,"author":{"gitId":"-"},"content":" * @return null if not found"},{"lineNumber":66,"author":{"gitId":"-"},"content":" */"},{"lineNumber":67,"author":{"gitId":"-"},"content":" public FeedbackQuestion getFeedbackQuestion(UUID fqId) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" assert fqId !\u003d null;"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" return HibernateUtil.get(FeedbackQuestion.class, fqId);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":74,"author":{"gitId":"-"},"content":" * Gets all feedback questions of a session."},{"lineNumber":75,"author":{"gitId":"-"},"content":" */"},{"lineNumber":76,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForSession(UUID fdId) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":78,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackQuestion\u003e cq \u003d cb.createQuery(FeedbackQuestion.class);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" Root\u003cFeedbackQuestion\u003e fqRoot \u003d cq.from(FeedbackQuestion.class);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fqJoin \u003d fqRoot.join(\"feedbackSession\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":" cq.select(fqRoot).where(cb.equal(fqJoin.get(\"id\"), fdId));"},{"lineNumber":82,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":86,"author":{"gitId":"-"},"content":" * Gets a list of feedback questions by {@code feedbackSession} and {@code giverType}."},{"lineNumber":87,"author":{"gitId":"-"},"content":" *"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * @return null if not found"},{"lineNumber":89,"author":{"gitId":"-"},"content":" */"},{"lineNumber":90,"author":{"gitId":"-"},"content":" public List\u003cFeedbackQuestion\u003e getFeedbackQuestionsForGiverType("},{"lineNumber":91,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession, FeedbackParticipantType giverType) {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":93,"author":{"gitId":"-"},"content":" assert giverType !\u003d null;"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":96,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackQuestion\u003e cq \u003d cb.createQuery(FeedbackQuestion.class);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" Root\u003cFeedbackQuestion\u003e root \u003d cq.from(FeedbackQuestion.class);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fqJoin \u003d root.join(\"feedbackSession\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":100,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":101,"author":{"gitId":"-"},"content":" cb.equal(fqJoin.get(\"id\"), feedbackSession.getId()),"},{"lineNumber":102,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"giverType\"), giverType)));"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":107,"author":{"gitId":"-"},"content":" * Deletes a feedback question."},{"lineNumber":108,"author":{"gitId":"-"},"content":" */"},{"lineNumber":109,"author":{"gitId":"-"},"content":" public void deleteFeedbackQuestion(UUID fqId) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" assert fqId !\u003d null;"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" FeedbackQuestion fq \u003d getFeedbackQuestion(fqId);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" if (fq !\u003d null) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" delete(fq);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":119,"author":{"gitId":"-"},"content":" * Checks if there is any feedback questions in a session in a course for the given giver type."},{"lineNumber":120,"author":{"gitId":"-"},"content":" */"},{"lineNumber":121,"author":{"gitId":"-"},"content":" public boolean hasFeedbackQuestionsForGiverType("},{"lineNumber":122,"author":{"gitId":"-"},"content":" String feedbackSessionName, String courseId, FeedbackParticipantType giverType) {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":124,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackQuestion\u003e cq \u003d cb.createQuery(FeedbackQuestion.class);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" Root\u003cFeedbackQuestion\u003e root \u003d cq.from(FeedbackQuestion.class);"},{"lineNumber":126,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d root.join(\"feedbackSession\");"},{"lineNumber":127,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e courseJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":131,"author":{"gitId":"-"},"content":" cb.equal(courseJoin.get(\"id\"), courseId),"},{"lineNumber":132,"author":{"gitId":"-"},"content":" cb.equal(fsJoin.get(\"name\"), feedbackSessionName),"},{"lineNumber":133,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"giverType\"), giverType)));"},{"lineNumber":134,"author":{"gitId":"-"},"content":" return !HibernateUtil.createQuery(cq).getResultList().isEmpty();"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":19,"-":117}},{"path":"src/main/java/teammates/storage/sqlapi/FeedbackResponseCommentsDb.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":4,"author":{"gitId":"mingyuanc"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaBuilder;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaQuery;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Join;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Root;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":15,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * Handles CRUD operations for feedbackResponseComments."},{"lineNumber":27,"author":{"gitId":"-"},"content":" *"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * @see FeedbackResponseComment"},{"lineNumber":29,"author":{"gitId":"-"},"content":" */"},{"lineNumber":30,"author":{"gitId":"-"},"content":"public final class FeedbackResponseCommentsDb extends EntitiesDb {"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final FeedbackResponseCommentsDb instance \u003d new FeedbackResponseCommentsDb();"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" private FeedbackResponseCommentsDb() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" public static FeedbackResponseCommentsDb inst() {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Gets a feedbackResponseComment or null if it does not exist."},{"lineNumber":44,"author":{"gitId":"-"},"content":" */"},{"lineNumber":45,"author":{"gitId":"-"},"content":" public FeedbackResponseComment getFeedbackResponseComment(Long frId) {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" assert frId !\u003d null;"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" return HibernateUtil.get(FeedbackResponseComment.class, frId);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":52,"author":{"gitId":"-"},"content":" * Creates a feedbackResponseComment."},{"lineNumber":53,"author":{"gitId":"-"},"content":" */"},{"lineNumber":54,"author":{"gitId":"-"},"content":" public FeedbackResponseComment createFeedbackResponseComment(FeedbackResponseComment feedbackResponseComment)"},{"lineNumber":55,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" assert feedbackResponseComment !\u003d null;"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" if (!feedbackResponseComment.isValid()) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(feedbackResponseComment.getInvalidityInfo());"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" if (feedbackResponseComment.getId() !\u003d null"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u0026\u0026 getFeedbackResponseComment(feedbackResponseComment.getId()) !\u003d null) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" throw new EntityAlreadyExistsException("},{"lineNumber":65,"author":{"gitId":"-"},"content":" String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, feedbackResponseComment.toString()));"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" persist(feedbackResponseComment);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" return feedbackResponseComment;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Deletes a feedbackResponseComment."},{"lineNumber":74,"author":{"gitId":"-"},"content":" */"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponseComment(Long frcId) {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" assert frcId !\u003d null;"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" FeedbackResponseComment frc \u003d getFeedbackResponseComment(frcId);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" if (frc !\u003d null) {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" delete(frc);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":" }"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" * Gets all feedback response comments for a response."},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentsForResponse(UUID feedbackResponseId) {"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" assert feedbackResponseId !\u003d null;"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" cq.select(root)"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" .where(cb.and("},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" cb.equal(frJoin.get(\"id\"), feedbackResponseId)));"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":102,"author":{"gitId":"-"},"content":" * Gets the comment associated with the feedback response."},{"lineNumber":103,"author":{"gitId":"-"},"content":" */"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public FeedbackResponseComment getFeedbackResponseCommentForResponseFromParticipant("},{"lineNumber":105,"author":{"gitId":"-"},"content":" UUID feedbackResponseId) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":107,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":110,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":111,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":112,"author":{"gitId":"-"},"content":" cb.equal(frJoin.get(\"id\"), feedbackResponseId)));"},{"lineNumber":113,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultStream().findFirst().orElse(null);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":117,"author":{"gitId":"-"},"content":" * Updates the giver email for all of the giver\u0027s comments in a course."},{"lineNumber":118,"author":{"gitId":"-"},"content":" */"},{"lineNumber":119,"author":{"gitId":"-"},"content":" public void updateGiverEmailOfFeedbackResponseComments(String courseId, String oldEmail, String updatedEmail) {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":121,"author":{"gitId":"-"},"content":" assert oldEmail !\u003d null;"},{"lineNumber":122,"author":{"gitId":"-"},"content":" assert updatedEmail !\u003d null;"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" if (oldEmail.equals(updatedEmail)) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponseComment\u003e responseComments \u003d"},{"lineNumber":129,"author":{"gitId":"-"},"content":" getFeedbackResponseCommentEntitiesForGiverInCourse(courseId, oldEmail);"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" for (FeedbackResponseComment responseComment : responseComments) {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" responseComment.setGiver(updatedEmail);"},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" merge(responseComment);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" * Updates the last editor to a new one for all comments in a course."},{"lineNumber":139,"author":{"gitId":"-"},"content":" */"},{"lineNumber":140,"author":{"gitId":"-"},"content":" public void updateLastEditorEmailOfFeedbackResponseComments(String courseId, String oldEmail, String updatedEmail) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" assert oldEmail !\u003d null;"},{"lineNumber":143,"author":{"gitId":"-"},"content":" assert updatedEmail !\u003d null;"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" if (oldEmail.equals(updatedEmail)) {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponseComment\u003e responseComments \u003d"},{"lineNumber":150,"author":{"gitId":"-"},"content":" getFeedbackResponseCommentEntitiesForLastEditorInCourse(courseId, oldEmail);"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" for (FeedbackResponseComment responseComment : responseComments) {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" responseComment.setLastEditorEmail(updatedEmail);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":" }"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" private List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentEntitiesForGiverInCourse("},{"lineNumber":158,"author":{"gitId":"-"},"content":" String courseId, String giver) {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":160,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":163,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frJoin.join(\"feedbackQuestion\");"},{"lineNumber":164,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":165,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":168,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":169,"author":{"gitId":"-"},"content":" cb.equal(cJoin.get(\"id\"), courseId),"},{"lineNumber":170,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"giver\"), giver)));"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" private List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentEntitiesForLastEditorInCourse("},{"lineNumber":176,"author":{"gitId":"-"},"content":" String courseId, String lastEditorEmail) {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":178,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":179,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":180,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":181,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frJoin.join(\"feedbackQuestion\");"},{"lineNumber":182,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":183,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":186,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":187,"author":{"gitId":"-"},"content":" cb.equal(cJoin.get(\"id\"), courseId),"},{"lineNumber":188,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"lastEditorEmail\"), lastEditorEmail)));"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" * Updates the feedback response comment."},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":196,"author":{"gitId":"mingyuanc"},"content":" public FeedbackResponseComment updateFeedbackResponseComment(FeedbackResponseComment feedbackResponseComment)"},{"lineNumber":197,"author":{"gitId":"mingyuanc"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" assert feedbackResponseComment !\u003d null;"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":200,"author":{"gitId":"mingyuanc"},"content":" if (!feedbackResponseComment.isValid()) {"},{"lineNumber":201,"author":{"gitId":"mingyuanc"},"content":" throw new InvalidParametersException(feedbackResponseComment.getInvalidityInfo());"},{"lineNumber":202,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":203,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":204,"author":{"gitId":"mingyuanc"},"content":" if (getFeedbackResponseComment(feedbackResponseComment.getId()) \u003d\u003d null) {"},{"lineNumber":205,"author":{"gitId":"mingyuanc"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT);"},{"lineNumber":206,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":207,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" return merge(feedbackResponseComment);"},{"lineNumber":209,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":210,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":211,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":212,"author":{"gitId":"xenosf"},"content":" * Gets all comments in a feedback session of a course."},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentsForSession("},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" String courseId, String feedbackSessionName) {"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" assert courseId !\u003d null;"},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":219,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":220,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":221,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":222,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":223,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frJoin.join(\"feedbackQuestion\");"},{"lineNumber":224,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":225,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":226,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":227,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":228,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":229,"author":{"gitId":"xenosf"},"content":" cb.equal(cJoin.get(\"id\"), courseId),"},{"lineNumber":230,"author":{"gitId":"xenosf"},"content":" cb.equal(fsJoin.get(\"name\"), feedbackSessionName)"},{"lineNumber":231,"author":{"gitId":"xenosf"},"content":" ));"},{"lineNumber":232,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":233,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":234,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":235,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":236,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":237,"author":{"gitId":"xenosf"},"content":" * Gets all comments of a feedback question of a course."},{"lineNumber":238,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":239,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentsForQuestion(UUID questionId) {"},{"lineNumber":240,"author":{"gitId":"xenosf"},"content":" assert questionId !\u003d null;"},{"lineNumber":241,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":242,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":243,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":244,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":245,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":246,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frJoin.join(\"feedbackQuestion\");"},{"lineNumber":247,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":248,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":249,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":250,"author":{"gitId":"xenosf"},"content":" cb.equal(fqJoin.get(\"id\"), questionId)));"},{"lineNumber":251,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":252,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":253,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":254,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":255,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":256,"author":{"gitId":"xenosf"},"content":" * Gets all comments in the given session where the giver or recipient is in the given section."},{"lineNumber":257,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":258,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentsForSessionInSection("},{"lineNumber":259,"author":{"gitId":"xenosf"},"content":" String courseId, String feedbackSessionName, String sectionName) {"},{"lineNumber":260,"author":{"gitId":"xenosf"},"content":" assert courseId !\u003d null;"},{"lineNumber":261,"author":{"gitId":"xenosf"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":262,"author":{"gitId":"xenosf"},"content":" assert sectionName !\u003d null;"},{"lineNumber":263,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":264,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":265,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":266,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":267,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":268,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frJoin.join(\"feedbackQuestion\");"},{"lineNumber":269,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":270,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":271,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":272,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, Section\u003e giverJoin \u003d root.join(\"giverSection\");"},{"lineNumber":273,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, Section\u003e recipientJoin \u003d root.join(\"recipientSection\");"},{"lineNumber":274,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":275,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":276,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":277,"author":{"gitId":"xenosf"},"content":" cb.equal(cJoin.get(\"id\"), courseId),"},{"lineNumber":278,"author":{"gitId":"xenosf"},"content":" cb.equal(fsJoin.get(\"name\"), feedbackSessionName),"},{"lineNumber":279,"author":{"gitId":"xenosf"},"content":" cb.or("},{"lineNumber":280,"author":{"gitId":"xenosf"},"content":" cb.equal(giverJoin.get(\"name\"), sectionName),"},{"lineNumber":281,"author":{"gitId":"xenosf"},"content":" cb.equal(recipientJoin.get(\"name\"), sectionName))"},{"lineNumber":282,"author":{"gitId":"xenosf"},"content":" ));"},{"lineNumber":283,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":284,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":285,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":286,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":287,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":288,"author":{"gitId":"xenosf"},"content":" * Gets all comments for a question where the giver or recipient is in the given section."},{"lineNumber":289,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":290,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseCommentsForQuestionInSection("},{"lineNumber":291,"author":{"gitId":"xenosf"},"content":" UUID questionId, String sectionName) {"},{"lineNumber":292,"author":{"gitId":"xenosf"},"content":" assert questionId !\u003d null;"},{"lineNumber":293,"author":{"gitId":"xenosf"},"content":" assert sectionName !\u003d null;"},{"lineNumber":294,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":295,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":296,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponseComment\u003e cq \u003d cb.createQuery(FeedbackResponseComment.class);"},{"lineNumber":297,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponseComment\u003e root \u003d cq.from(FeedbackResponseComment.class);"},{"lineNumber":298,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, FeedbackResponse\u003e frJoin \u003d root.join(\"feedbackResponse\");"},{"lineNumber":299,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frJoin.join(\"feedbackQuestion\");"},{"lineNumber":300,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":301,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, Section\u003e giverJoin \u003d root.join(\"giverSection\");"},{"lineNumber":302,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponseComment, Section\u003e recipientJoin \u003d root.join(\"recipientSection\");"},{"lineNumber":303,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":304,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":305,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":306,"author":{"gitId":"xenosf"},"content":" cb.equal(fqJoin.get(\"id\"), questionId),"},{"lineNumber":307,"author":{"gitId":"xenosf"},"content":" cb.or("},{"lineNumber":308,"author":{"gitId":"xenosf"},"content":" cb.equal(giverJoin.get(\"name\"), sectionName),"},{"lineNumber":309,"author":{"gitId":"xenosf"},"content":" cb.equal(recipientJoin.get(\"name\"), sectionName))"},{"lineNumber":310,"author":{"gitId":"xenosf"},"content":" ));"},{"lineNumber":311,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":312,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":313,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":314,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":26,"xenosf":105,"mingyuanc":12,"-":172}},{"path":"src/main/java/teammates/storage/sqlapi/FeedbackResponsesDb.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaBuilder;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaDelete;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaQuery;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Join;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Predicate;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Root;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Subquery;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.FeedbackResultFetchType;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Handles CRUD operations for feedbackResponses."},{"lineNumber":30,"author":{"gitId":"-"},"content":" *"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * @see FeedbackResponse"},{"lineNumber":32,"author":{"gitId":"-"},"content":" */"},{"lineNumber":33,"author":{"gitId":"-"},"content":"public final class FeedbackResponsesDb extends EntitiesDb {"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final FeedbackResponsesDb instance \u003d new FeedbackResponsesDb();"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" private FeedbackResponsesDb() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" public static FeedbackResponsesDb inst() {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":46,"author":{"gitId":"-"},"content":" * Gets a feedbackResponse or null if it does not exist."},{"lineNumber":47,"author":{"gitId":"-"},"content":" */"},{"lineNumber":48,"author":{"gitId":"-"},"content":" public FeedbackResponse getFeedbackResponse(UUID frId) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" assert frId !\u003d null;"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" return HibernateUtil.get(FeedbackResponse.class, frId);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Gets all responses given by a user in a course."},{"lineNumber":56,"author":{"gitId":"-"},"content":" */"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromGiverForCourse("},{"lineNumber":58,"author":{"gitId":"-"},"content":" String courseId, String giver) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":60,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cr \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e frRoot \u003d cr.from(FeedbackResponse.class);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frRoot.join(\"feedbackQuestion\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":64,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" cr.select(frRoot)"},{"lineNumber":67,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":68,"author":{"gitId":"-"},"content":" cb.equal(cJoin.get(\"id\"), courseId),"},{"lineNumber":69,"author":{"gitId":"-"},"content":" cb.equal(frRoot.get(\"giver\"), giver)));"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":75,"author":{"gitId":"-"},"content":" * Gets all responses given to a user in a course."},{"lineNumber":76,"author":{"gitId":"-"},"content":" */"},{"lineNumber":77,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForRecipientForCourse(String courseId, String recipient) {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":79,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cr \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e frRoot \u003d cr.from(FeedbackResponse.class);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d frRoot.join(\"feedbackQuestion\");"},{"lineNumber":82,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" cr.select(frRoot)"},{"lineNumber":86,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":87,"author":{"gitId":"-"},"content":" cb.equal(cJoin.get(\"id\"), courseId),"},{"lineNumber":88,"author":{"gitId":"-"},"content":" cb.equal(frRoot.get(\"recipient\"), recipient)));"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":94,"author":{"gitId":"-"},"content":" * Creates a feedbackResponse."},{"lineNumber":95,"author":{"gitId":"-"},"content":" */"},{"lineNumber":96,"author":{"gitId":"-"},"content":" public FeedbackResponse createFeedbackResponse(FeedbackResponse feedbackResponse)"},{"lineNumber":97,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" assert feedbackResponse !\u003d null;"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" if (!feedbackResponse.isValid()) {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(feedbackResponse.getInvalidityInfo());"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" if (getFeedbackResponse(feedbackResponse.getId()) !\u003d null) {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" throw new EntityAlreadyExistsException("},{"lineNumber":106,"author":{"gitId":"-"},"content":" String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, feedbackResponse.toString()));"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" persist(feedbackResponse);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" return feedbackResponse;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":114,"author":{"gitId":"-"},"content":" * Deletes a feedbackResponse."},{"lineNumber":115,"author":{"gitId":"-"},"content":" */"},{"lineNumber":116,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponse(FeedbackResponse feedbackResponse) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" if (feedbackResponse !\u003d null) {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" delete(feedbackResponse);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":123,"author":{"gitId":"-"},"content":" * Gets the feedback responses for a feedback question."},{"lineNumber":124,"author":{"gitId":"-"},"content":" * @param feedbackQuestionId the Id of the feedback question."},{"lineNumber":125,"author":{"gitId":"-"},"content":" * @param giverEmail the email of the response giver."},{"lineNumber":126,"author":{"gitId":"-"},"content":" */"},{"lineNumber":127,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesFromGiverForQuestion("},{"lineNumber":128,"author":{"gitId":"-"},"content":" UUID feedbackQuestionId, String giverEmail) {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":130,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e frJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":133,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":134,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":135,"author":{"gitId":"-"},"content":" cb.equal(frJoin.get(\"id\"), feedbackQuestionId),"},{"lineNumber":136,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"giver\"), giverEmail)));"},{"lineNumber":137,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":141,"author":{"gitId":"-"},"content":" * Deletes all feedback responses of a question cascade its associated comments."},{"lineNumber":142,"author":{"gitId":"-"},"content":" */"},{"lineNumber":143,"author":{"gitId":"-"},"content":" public void deleteFeedbackResponsesForQuestionCascade(UUID feedbackQuestionId) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":145,"author":{"gitId":"-"},"content":" CriteriaDelete\u003cFeedbackResponse\u003e cd \u003d cb.createCriteriaDelete(FeedbackResponse.class);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e frRoot \u003d cd.from(FeedbackResponse.class);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" Subquery\u003cUUID\u003e subquery \u003d cd.subquery(UUID.class);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e subqueryRoot \u003d subquery.from(FeedbackResponse.class);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e sqJoin \u003d subqueryRoot.join(\"feedbackQuestion\");"},{"lineNumber":150,"author":{"gitId":"-"},"content":" subquery.select(subqueryRoot.get(\"id\"));"},{"lineNumber":151,"author":{"gitId":"-"},"content":" subquery.where(cb.equal(sqJoin.get(\"id\"), feedbackQuestionId));"},{"lineNumber":152,"author":{"gitId":"-"},"content":" cd.where(cb.in(frRoot.get(\"id\")).value(subquery));"},{"lineNumber":153,"author":{"gitId":"-"},"content":" HibernateUtil.createMutationQuery(cd).executeUpdate();"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":157,"author":{"gitId":"-"},"content":" * Checks whether there are responses for a question."},{"lineNumber":158,"author":{"gitId":"-"},"content":" */"},{"lineNumber":159,"author":{"gitId":"-"},"content":" public boolean areThereResponsesForQuestion(UUID questionId) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":161,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":163,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":166,"author":{"gitId":"-"},"content":" .where(cb.equal(fqJoin.get(\"id\"), questionId));"},{"lineNumber":167,"author":{"gitId":"-"},"content":" return !HibernateUtil.createQuery(cq).getResultList().isEmpty();"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":171,"author":{"gitId":"xenosf"},"content":" * Get responses for a question."},{"lineNumber":172,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":173,"author":{"gitId":"domoberzin"},"content":" public List\u003cFeedbackResponse\u003e getResponsesForQuestion(UUID questionId) {"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":178,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":" cq.select(root)"},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":" .where(cb.equal(fqJoin.get(\"id\"), questionId));"},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":182,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":183,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":185,"author":{"gitId":"-"},"content":" * Checks whether a user has responses in a session."},{"lineNumber":186,"author":{"gitId":"-"},"content":" */"},{"lineNumber":187,"author":{"gitId":"-"},"content":" public boolean hasResponsesFromGiverInSession("},{"lineNumber":188,"author":{"gitId":"-"},"content":" String giver, String feedbackSessionName, String courseId) {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":190,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":191,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":192,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":193,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":194,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e courseJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":197,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":198,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"giver\"), giver),"},{"lineNumber":199,"author":{"gitId":"-"},"content":" cb.equal(fsJoin.get(\"name\"), feedbackSessionName),"},{"lineNumber":200,"author":{"gitId":"-"},"content":" cb.equal(courseJoin.get(\"id\"), courseId)));"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" return !HibernateUtil.createQuery(cq).getResultList().isEmpty();"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":206,"author":{"gitId":"-"},"content":" * Checks whether there are responses for a course."},{"lineNumber":207,"author":{"gitId":"-"},"content":" */"},{"lineNumber":208,"author":{"gitId":"-"},"content":" public boolean hasResponsesForCourse(String courseId) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":210,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":213,"author":{"gitId":"-"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":214,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e courseJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" cq.select(root)"},{"lineNumber":217,"author":{"gitId":"-"},"content":" .where(cb.equal(courseJoin.get(\"id\"), courseId));"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" return !HibernateUtil.createQuery(cq).getResultList().isEmpty();"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":223,"author":{"gitId":"domoberzin"},"content":" * Updates a feedbackResponse."},{"lineNumber":224,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":225,"author":{"gitId":"domoberzin"},"content":" * @throws EntityDoesNotExistException if the feedbackResponse does not exist"},{"lineNumber":226,"author":{"gitId":"domoberzin"},"content":" * @throws InvalidParametersException if the feedbackResponse is not valid"},{"lineNumber":227,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":228,"author":{"gitId":"domoberzin"},"content":" public FeedbackResponse updateFeedbackResponse(FeedbackResponse feedbackResponse)"},{"lineNumber":229,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":230,"author":{"gitId":"domoberzin"},"content":" assert feedbackResponse !\u003d null;"},{"lineNumber":231,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":232,"author":{"gitId":"domoberzin"},"content":" if (!feedbackResponse.isValid()) {"},{"lineNumber":233,"author":{"gitId":"domoberzin"},"content":" throw new InvalidParametersException(feedbackResponse.getInvalidityInfo());"},{"lineNumber":234,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":235,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":236,"author":{"gitId":"domoberzin"},"content":" if (getFeedbackResponse(feedbackResponse.getId()) \u003d\u003d null) {"},{"lineNumber":237,"author":{"gitId":"domoberzin"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT);"},{"lineNumber":238,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":239,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":240,"author":{"gitId":"domoberzin"},"content":" return merge(feedbackResponse);"},{"lineNumber":241,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":242,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":243,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":244,"author":{"gitId":"xenosf"},"content":" * Gets all responses received by a user for a question."},{"lineNumber":245,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":246,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForRecipientForQuestion("},{"lineNumber":247,"author":{"gitId":"xenosf"},"content":" UUID questionId, String recipient) {"},{"lineNumber":248,"author":{"gitId":"xenosf"},"content":" assert questionId !\u003d null;"},{"lineNumber":249,"author":{"gitId":"xenosf"},"content":" assert recipient !\u003d null;"},{"lineNumber":250,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":251,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":252,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":253,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":254,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":255,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":256,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":257,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":258,"author":{"gitId":"xenosf"},"content":" cb.equal(fqJoin.get(\"id\"), questionId),"},{"lineNumber":259,"author":{"gitId":"xenosf"},"content":" cb.equal(root.get(\"recipient\"), recipient)"},{"lineNumber":260,"author":{"gitId":"xenosf"},"content":" ));"},{"lineNumber":261,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":262,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":263,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":264,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":265,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":266,"author":{"gitId":"xenosf"},"content":" * Gets all responses given to/from a section in a feedback session in a course."},{"lineNumber":267,"author":{"gitId":"xenosf"},"content":" * Optionally, retrieves by either giver, receiver sections, or both."},{"lineNumber":268,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":269,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForSessionInSection("},{"lineNumber":270,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId, String sectionName, FeedbackResultFetchType fetchType) {"},{"lineNumber":271,"author":{"gitId":"xenosf"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":272,"author":{"gitId":"xenosf"},"content":" assert courseId !\u003d null;"},{"lineNumber":273,"author":{"gitId":"xenosf"},"content":" assert sectionName !\u003d null;"},{"lineNumber":274,"author":{"gitId":"xenosf"},"content":" assert fetchType !\u003d null;"},{"lineNumber":275,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":276,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":277,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":278,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":279,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":280,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":281,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":282,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":283,"author":{"gitId":"xenosf"},"content":" // unless specified by fetchType, do not filter by giver/recipient section"},{"lineNumber":284,"author":{"gitId":"xenosf"},"content":" Predicate giverSectionFilter \u003d cb.isTrue(cb.literal(true));"},{"lineNumber":285,"author":{"gitId":"xenosf"},"content":" Predicate recipientSectionFilter \u003d cb.isTrue(cb.literal(true));"},{"lineNumber":286,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, Section\u003e giverJoin \u003d root.join(\"giverSection\");"},{"lineNumber":287,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, Section\u003e recipientJoin \u003d root.join(\"recipientSection\");"},{"lineNumber":288,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":289,"author":{"gitId":"xenosf"},"content":" if (fetchType.shouldFetchByGiver()) {"},{"lineNumber":290,"author":{"gitId":"xenosf"},"content":" giverSectionFilter \u003d cb.equal(giverJoin.get(\"name\"), sectionName);"},{"lineNumber":291,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":292,"author":{"gitId":"xenosf"},"content":" if (fetchType.shouldFetchByReceiver()) {"},{"lineNumber":293,"author":{"gitId":"xenosf"},"content":" recipientSectionFilter \u003d cb.equal(recipientJoin.get(\"name\"), sectionName);"},{"lineNumber":294,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":295,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":296,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":297,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":298,"author":{"gitId":"xenosf"},"content":" cb.equal(fsJoin.get(\"id\"), feedbackSession.getId()),"},{"lineNumber":299,"author":{"gitId":"xenosf"},"content":" cb.equal(cJoin.get(\"id\"), courseId),"},{"lineNumber":300,"author":{"gitId":"xenosf"},"content":" giverSectionFilter,"},{"lineNumber":301,"author":{"gitId":"xenosf"},"content":" recipientSectionFilter"},{"lineNumber":302,"author":{"gitId":"xenosf"},"content":" ));"},{"lineNumber":303,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":304,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":305,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":306,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":307,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":308,"author":{"gitId":"xenosf"},"content":" * Gets all feedback responses of a question in a specific section."},{"lineNumber":309,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":310,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForQuestionInSection("},{"lineNumber":311,"author":{"gitId":"xenosf"},"content":" UUID questionId, String sectionName, FeedbackResultFetchType fetchType) {"},{"lineNumber":312,"author":{"gitId":"xenosf"},"content":" assert questionId !\u003d null;"},{"lineNumber":313,"author":{"gitId":"xenosf"},"content":" assert sectionName !\u003d null;"},{"lineNumber":314,"author":{"gitId":"xenosf"},"content":" assert fetchType !\u003d null;"},{"lineNumber":315,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":316,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":317,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":318,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":319,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":320,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":321,"author":{"gitId":"xenosf"},"content":" // unless specified by fetchType, do not filter by giver/recipient section"},{"lineNumber":322,"author":{"gitId":"xenosf"},"content":" Predicate giverSectionFilter \u003d cb.isTrue(cb.literal(true));"},{"lineNumber":323,"author":{"gitId":"xenosf"},"content":" Predicate recipientSectionFilter \u003d cb.isTrue(cb.literal(true));"},{"lineNumber":324,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, Section\u003e giverJoin \u003d root.join(\"giverSection\");"},{"lineNumber":325,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, Section\u003e recipientJoin \u003d root.join(\"recipientSection\");"},{"lineNumber":326,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":327,"author":{"gitId":"xenosf"},"content":" if (fetchType.shouldFetchByGiver()) {"},{"lineNumber":328,"author":{"gitId":"xenosf"},"content":" giverSectionFilter \u003d cb.equal(giverJoin.get(\"name\"), sectionName);"},{"lineNumber":329,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":330,"author":{"gitId":"xenosf"},"content":" if (fetchType.shouldFetchByReceiver()) {"},{"lineNumber":331,"author":{"gitId":"xenosf"},"content":" recipientSectionFilter \u003d cb.equal(recipientJoin.get(\"name\"), sectionName);"},{"lineNumber":332,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":333,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":334,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":335,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":336,"author":{"gitId":"xenosf"},"content":" cb.equal(fqJoin.get(\"id\"), questionId),"},{"lineNumber":337,"author":{"gitId":"xenosf"},"content":" giverSectionFilter,"},{"lineNumber":338,"author":{"gitId":"xenosf"},"content":" recipientSectionFilter"},{"lineNumber":339,"author":{"gitId":"xenosf"},"content":" ));"},{"lineNumber":340,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":341,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":342,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":343,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":344,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":345,"author":{"gitId":"xenosf"},"content":" * Gets all responses of a feedback session in a course."},{"lineNumber":346,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":347,"author":{"gitId":"xenosf"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponsesForSession("},{"lineNumber":348,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession, String courseId) {"},{"lineNumber":349,"author":{"gitId":"xenosf"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":350,"author":{"gitId":"xenosf"},"content":" assert courseId !\u003d null;"},{"lineNumber":351,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":352,"author":{"gitId":"xenosf"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":353,"author":{"gitId":"xenosf"},"content":" CriteriaQuery\u003cFeedbackResponse\u003e cq \u003d cb.createQuery(FeedbackResponse.class);"},{"lineNumber":354,"author":{"gitId":"xenosf"},"content":" Root\u003cFeedbackResponse\u003e root \u003d cq.from(FeedbackResponse.class);"},{"lineNumber":355,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackResponse, FeedbackQuestion\u003e fqJoin \u003d root.join(\"feedbackQuestion\");"},{"lineNumber":356,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackQuestion, FeedbackSession\u003e fsJoin \u003d fqJoin.join(\"feedbackSession\");"},{"lineNumber":357,"author":{"gitId":"xenosf"},"content":" Join\u003cFeedbackSession, Course\u003e cJoin \u003d fsJoin.join(\"course\");"},{"lineNumber":358,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":359,"author":{"gitId":"xenosf"},"content":" cq.select(root)"},{"lineNumber":360,"author":{"gitId":"xenosf"},"content":" .where(cb.and("},{"lineNumber":361,"author":{"gitId":"xenosf"},"content":" cb.equal(fsJoin.get(\"id\"), feedbackSession.getId()),"},{"lineNumber":362,"author":{"gitId":"xenosf"},"content":" cb.equal(cJoin.get(\"id\"), courseId)"},{"lineNumber":363,"author":{"gitId":"xenosf"},"content":" ));"},{"lineNumber":364,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":365,"author":{"gitId":"xenosf"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":366,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":367,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":368,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":37,"xenosf":127,"-":204}},{"path":"src/main/java/teammates/storage/sqlapi/FeedbackSessionLogsDb.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import jakarta.persistence.criteria.CriteriaBuilder;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import jakarta.persistence.criteria.CriteriaQuery;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import jakarta.persistence.criteria.Join;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"import jakarta.persistence.criteria.Predicate;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import jakarta.persistence.criteria.Root;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":" * Handles CRUD operations for feedback session logs."},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":" *"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":" * @see FeedbackSessionLog"},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":"public final class FeedbackSessionLogsDb extends EntitiesDb {"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" private static final FeedbackSessionLogsDb instance \u003d new FeedbackSessionLogsDb();"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" private FeedbackSessionLogsDb() {"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" // prevent initialization"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" public static FeedbackSessionLogsDb inst() {"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" return instance;"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" * Gets the feedback session logs as filtered by the given parameters ordered by"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" * ascending timestamp. Logs with the same timestamp will be ordered by the"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" * student\u0027s email."},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" *"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" * @param studentId Can be null"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" * @param feedbackSessionId Can be null"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" public List\u003cFeedbackSessionLog\u003e getOrderedFeedbackSessionLogs(String courseId, UUID studentId,"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" UUID feedbackSessionId, Instant startTime, Instant endTime) {"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" assert courseId !\u003d null;"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" assert startTime !\u003d null;"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" assert endTime !\u003d null;"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" CriteriaQuery\u003cFeedbackSessionLog\u003e cr \u003d cb.createQuery(FeedbackSessionLog.class);"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" Root\u003cFeedbackSessionLog\u003e root \u003d cr.from(FeedbackSessionLog.class);"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" Join\u003cFeedbackSessionLog, FeedbackSession\u003e feedbackSessionJoin \u003d root.join(\"feedbackSession\");"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" Join\u003cFeedbackSessionLog, Student\u003e studentJoin \u003d root.join(\"student\");"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" List\u003cPredicate\u003e predicates \u003d new ArrayList\u003c\u003e();"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" if (studentId !\u003d null) {"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" predicates.add(cb.equal(studentJoin.get(\"id\"), studentId));"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" if (feedbackSessionId !\u003d null) {"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" predicates.add(cb.equal(feedbackSessionJoin.get(\"id\"), feedbackSessionId));"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" predicates.add(cb.equal(feedbackSessionJoin.get(\"course\").get(\"id\"), courseId));"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" predicates.add(cb.greaterThanOrEqualTo(root.get(\"timestamp\"), startTime));"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" predicates.add(cb.lessThan(root.get(\"timestamp\"), endTime));"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" cr.select(root).where(predicates.toArray(new Predicate[0])).orderBy(cb.asc(root.get(\"timestamp\")),"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" cb.asc(studentJoin.get(\"email\")));"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" * Creates feedback session logs."},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" public FeedbackSessionLog createFeedbackSessionLog(FeedbackSessionLog log) {"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" assert log !\u003d null;"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" persist(log);"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" return log;"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":81,"-":5}},{"path":"src/main/java/teammates/storage/sqlapi/FeedbackSessionsDb.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaBuilder;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaQuery;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Join;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Root;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Handles CRUD operations for feedback sessions."},{"lineNumber":26,"author":{"gitId":"-"},"content":" *"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * @see FeedbackSession"},{"lineNumber":28,"author":{"gitId":"-"},"content":" */"},{"lineNumber":29,"author":{"gitId":"-"},"content":"public final class FeedbackSessionsDb extends EntitiesDb {"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final FeedbackSessionsDb instance \u003d new FeedbackSessionsDb();"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private FeedbackSessionsDb() {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" public static FeedbackSessionsDb inst() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":42,"author":{"gitId":"-"},"content":" * Gets a feedback session."},{"lineNumber":43,"author":{"gitId":"-"},"content":" *"},{"lineNumber":44,"author":{"gitId":"-"},"content":" * @return null if not found"},{"lineNumber":45,"author":{"gitId":"-"},"content":" */"},{"lineNumber":46,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSession(UUID fsId) {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" assert fsId !\u003d null;"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" return HibernateUtil.get(FeedbackSession.class, fsId);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":53,"author":{"gitId":"-"},"content":" * Gets a feedback session for {@code feedbackSessionName} and {@code courseId}."},{"lineNumber":54,"author":{"gitId":"-"},"content":" *"},{"lineNumber":55,"author":{"gitId":"-"},"content":" * @return null if not found"},{"lineNumber":56,"author":{"gitId":"-"},"content":" */"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSession(String feedbackSessionName, String courseId) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":59,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cq \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e fsRoot \u003d cq.from(FeedbackSession.class);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e fsJoin \u003d fsRoot.join(\"course\");"},{"lineNumber":62,"author":{"gitId":"-"},"content":" cq.select(fsRoot).where(cb.and("},{"lineNumber":63,"author":{"gitId":"-"},"content":" cb.equal(fsRoot.get(\"name\"), feedbackSessionName),"},{"lineNumber":64,"author":{"gitId":"-"},"content":" cb.equal(fsJoin.get(\"id\"), courseId)));"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultStream().findFirst().orElse(null);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" * Gets a feedback session reference."},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" *"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" * @return Returns a proxy for the feedback session."},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" public FeedbackSession getFeedbackSessionReference(UUID id) {"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" assert id !\u003d null;"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" return HibernateUtil.getReference(FeedbackSession.class, id);"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":80,"author":{"gitId":"-"},"content":" * Gets a soft-deleted feedback session."},{"lineNumber":81,"author":{"gitId":"-"},"content":" *"},{"lineNumber":82,"author":{"gitId":"-"},"content":" * @return null if not found or not soft-deleted."},{"lineNumber":83,"author":{"gitId":"-"},"content":" */"},{"lineNumber":84,"author":{"gitId":"-"},"content":" public FeedbackSession getSoftDeletedFeedbackSession(String feedbackSessionName, String courseId) {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession \u003d getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" if (feedbackSession !\u003d null \u0026\u0026 feedbackSession.getDeletedAt() \u003d\u003d null) {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" log.info(feedbackSessionName + \"/\" + courseId + \" is not soft-deleted!\");"},{"lineNumber":92,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" return feedbackSession;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":99,"author":{"gitId":"-"},"content":" * Gets soft-deleted feedback sessions for course."},{"lineNumber":100,"author":{"gitId":"-"},"content":" */"},{"lineNumber":101,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getSoftDeletedFeedbackSessionsForCourse(String courseId) {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":103,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cq \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e fsRoot \u003d cq.from(FeedbackSession.class);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e fsJoin \u003d fsRoot.join(\"course\");"},{"lineNumber":106,"author":{"gitId":"-"},"content":" cq.select(fsRoot).where(cb.and("},{"lineNumber":107,"author":{"gitId":"-"},"content":" cb.isNotNull(fsRoot.get(\"deletedAt\")),"},{"lineNumber":108,"author":{"gitId":"-"},"content":" cb.equal(fsJoin.get(\"id\"), courseId)));"},{"lineNumber":109,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":113,"author":{"gitId":"-"},"content":" * Gets all and only the feedback sessions ongoing within a range of time."},{"lineNumber":114,"author":{"gitId":"-"},"content":" */"},{"lineNumber":115,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getOngoingSessions(Instant rangeStart, Instant rangeEnd) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" assert rangeStart !\u003d null;"},{"lineNumber":117,"author":{"gitId":"-"},"content":" assert rangeEnd !\u003d null;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":119,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cr \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cr.from(FeedbackSession.class);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":122,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":123,"author":{"gitId":"-"},"content":" cb.greaterThan(root.get(\"endTime\"), rangeStart),"},{"lineNumber":124,"author":{"gitId":"-"},"content":" cb.lessThan(root.get(\"startTime\"), rangeEnd)));"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":129,"author":{"gitId":"-"},"content":" * Restores a specific soft deleted feedback session."},{"lineNumber":130,"author":{"gitId":"-"},"content":" */"},{"lineNumber":131,"author":{"gitId":"-"},"content":" public void restoreDeletedFeedbackSession(String feedbackSessionName, String courseId)"},{"lineNumber":132,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" FeedbackSession sessionEntity \u003d getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" if (sessionEntity \u003d\u003d null) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" sessionEntity.setDeletedAt(null);"},{"lineNumber":143,"author":{"gitId":"dishenggg"},"content":" merge(sessionEntity);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":147,"author":{"gitId":"-"},"content":" * Creates a feedback session."},{"lineNumber":148,"author":{"gitId":"-"},"content":" */"},{"lineNumber":149,"author":{"gitId":"-"},"content":" public FeedbackSession createFeedbackSession(FeedbackSession session)"},{"lineNumber":150,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" assert session !\u003d null;"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" if (!session.isValid()) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(session.getInvalidityInfo());"},{"lineNumber":155,"author":{"gitId":"-"},"content":" }"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" if (getFeedbackSession(session.getId()) !\u003d null) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" throw new EntityAlreadyExistsException(String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, session.toString()));"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" persist(session);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" return session;"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":166,"author":{"gitId":"-"},"content":" * Saves an updated {@code FeedbackSession} to the db."},{"lineNumber":167,"author":{"gitId":"-"},"content":" *"},{"lineNumber":168,"author":{"gitId":"-"},"content":" * @return updated feedback session"},{"lineNumber":169,"author":{"gitId":"-"},"content":" * @throws InvalidParametersException if attributes to update are not valid"},{"lineNumber":170,"author":{"gitId":"-"},"content":" * @throws EntityDoesNotExistException if the feedback session cannot be found"},{"lineNumber":171,"author":{"gitId":"-"},"content":" */"},{"lineNumber":172,"author":{"gitId":"-"},"content":" public FeedbackSession updateFeedbackSession(FeedbackSession feedbackSession)"},{"lineNumber":173,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" if (!feedbackSession.isValid()) {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(feedbackSession.getInvalidityInfo());"},{"lineNumber":178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" if (getFeedbackSession(feedbackSession.getId()) \u003d\u003d null) {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" return merge(feedbackSession);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":188,"author":{"gitId":"-"},"content":" * Deletes a feedback session."},{"lineNumber":189,"author":{"gitId":"-"},"content":" */"},{"lineNumber":190,"author":{"gitId":"-"},"content":" public void deleteFeedbackSession(FeedbackSession feedbackSession) {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" if (feedbackSession !\u003d null) {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" delete(feedbackSession);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":197,"author":{"gitId":"-"},"content":" * Soft-deletes a specific feedback session by its name and course id."},{"lineNumber":198,"author":{"gitId":"-"},"content":" *"},{"lineNumber":199,"author":{"gitId":"-"},"content":" * @return the feedback session."},{"lineNumber":200,"author":{"gitId":"-"},"content":" */"},{"lineNumber":201,"author":{"gitId":"-"},"content":" public FeedbackSession softDeleteFeedbackSession(String feedbackSessionName, String courseId)"},{"lineNumber":202,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":204,"author":{"gitId":"-"},"content":" assert feedbackSessionName !\u003d null;"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSessionEntity \u003d getFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" if (feedbackSessionEntity \u003d\u003d null) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT);"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" feedbackSessionEntity.setDeletedAt(Instant.now());"},{"lineNumber":213,"author":{"gitId":"-"},"content":" merge(feedbackSessionEntity);"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":" return feedbackSessionEntity;"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":219,"author":{"gitId":"-"},"content":" * Gets feedback sessions for a given {@code courseId}."},{"lineNumber":220,"author":{"gitId":"-"},"content":" */"},{"lineNumber":221,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionEntitiesForCourse(String courseId) {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":225,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cq \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":226,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cq.from(FeedbackSession.class);"},{"lineNumber":227,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e courseJoin \u003d root.join(\"course\");"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" cq.select(root).where(cb.equal(courseJoin.get(\"id\"), courseId));"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cq).getResultList();"},{"lineNumber":232,"author":{"gitId":"-"},"content":" }"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":235,"author":{"gitId":"-"},"content":" * Gets feedback sessions for a given {@code courseId} that start after {@code after}."},{"lineNumber":236,"author":{"gitId":"-"},"content":" */"},{"lineNumber":237,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionEntitiesForCourseStartingAfter(String courseId, Instant after) {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":239,"author":{"gitId":"-"},"content":" assert after !\u003d null;"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":242,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cr \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":243,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cr.from(FeedbackSession.class);"},{"lineNumber":244,"author":{"gitId":"-"},"content":" Join\u003cFeedbackSession, Course\u003e courseJoin \u003d root.join(\"course\");"},{"lineNumber":245,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":246,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":247,"author":{"gitId":"-"},"content":" cb.greaterThanOrEqualTo(root.get(\"startTime\"), after),"},{"lineNumber":248,"author":{"gitId":"-"},"content":" cb.equal(courseJoin.get(\"id\"), courseId)));"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":254,"author":{"gitId":"-"},"content":" * Gets a list of undeleted feedback sessions which open in the future"},{"lineNumber":255,"author":{"gitId":"-"},"content":" * and possibly need a opening soon email to be sent."},{"lineNumber":256,"author":{"gitId":"-"},"content":" */"},{"lineNumber":257,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsPossiblyNeedingOpeningSoonEmail() {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" return getFeedbackSessionEntitiesPossiblyNeedingOpeningSoonEmail().stream()"},{"lineNumber":259,"author":{"gitId":"-"},"content":" .filter(session -\u003e session.getDeletedAt() \u003d\u003d null)"},{"lineNumber":260,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" private List\u003cFeedbackSession\u003e getFeedbackSessionEntitiesPossiblyNeedingOpeningSoonEmail() {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":265,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cr \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":266,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cr.from(FeedbackSession.class);"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":269,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":270,"author":{"gitId":"-"},"content":" cb.greaterThan(root.get(\"startTime\"), TimeHelper.getInstantDaysOffsetFromNow(-2)),"},{"lineNumber":271,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"isOpeningSoonEmailSent\"), false)));"},{"lineNumber":272,"author":{"gitId":"-"},"content":""},{"lineNumber":273,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":277,"author":{"gitId":"-"},"content":" * Gets a list of undeleted feedback sessions which end in the future (2 hour ago onward)"},{"lineNumber":278,"author":{"gitId":"-"},"content":" * and possibly need a closing soon email to be sent."},{"lineNumber":279,"author":{"gitId":"-"},"content":" */"},{"lineNumber":280,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsPossiblyNeedingClosingSoonEmail() {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" return getFeedbackSessionEntitiesPossiblyNeedingClosingSoonEmail().stream()"},{"lineNumber":282,"author":{"gitId":"-"},"content":" .filter(session -\u003e session.getDeletedAt() \u003d\u003d null)"},{"lineNumber":283,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" private List\u003cFeedbackSession\u003e getFeedbackSessionEntitiesPossiblyNeedingClosingSoonEmail() {"},{"lineNumber":287,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":288,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cr \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":289,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cr.from(FeedbackSession.class);"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":292,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":293,"author":{"gitId":"-"},"content":" cb.greaterThan(root.get(\"endTime\"), TimeHelper.getInstantDaysOffsetFromNow(-2)),"},{"lineNumber":294,"author":{"gitId":"-"},"content":" cb.and("},{"lineNumber":295,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"isClosingSoonEmailSent\"), false),"},{"lineNumber":296,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"isClosingEmailEnabled\"), true))"},{"lineNumber":297,"author":{"gitId":"-"},"content":" ));"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":300,"author":{"gitId":"-"},"content":" }"},{"lineNumber":301,"author":{"gitId":"-"},"content":""},{"lineNumber":302,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":303,"author":{"gitId":"-"},"content":" * Gets a list of undeleted feedback sessions which end in the future (2 hour ago onward)"},{"lineNumber":304,"author":{"gitId":"-"},"content":" * and possibly need a closed email to be sent."},{"lineNumber":305,"author":{"gitId":"-"},"content":" */"},{"lineNumber":306,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsPossiblyNeedingClosedEmail() {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":308,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cr \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":309,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cr.from(FeedbackSession.class);"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":312,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":313,"author":{"gitId":"-"},"content":" cb.greaterThan(root.get(\"endTime\"), TimeHelper.getInstantDaysOffsetFromNow(-2)),"},{"lineNumber":314,"author":{"gitId":"-"},"content":" cb.isFalse(root.get(\"isClosedEmailSent\")),"},{"lineNumber":315,"author":{"gitId":"-"},"content":" cb.isTrue(root.get(\"isClosingEmailEnabled\")),"},{"lineNumber":316,"author":{"gitId":"-"},"content":" cb.isNull(root.get(\"deletedAt\"))"},{"lineNumber":317,"author":{"gitId":"-"},"content":" ));"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":320,"author":{"gitId":"-"},"content":" }"},{"lineNumber":321,"author":{"gitId":"-"},"content":""},{"lineNumber":322,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":323,"author":{"gitId":"-"},"content":" * Gets a list of undeleted published feedback sessions which possibly need a published email"},{"lineNumber":324,"author":{"gitId":"-"},"content":" * to be sent."},{"lineNumber":325,"author":{"gitId":"-"},"content":" */"},{"lineNumber":326,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsPossiblyNeedingPublishedEmail() {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" return getFeedbackSessionEntitiesPossiblyNeedingPublishedEmail().stream()"},{"lineNumber":328,"author":{"gitId":"-"},"content":" .filter(session -\u003e session.getDeletedAt() \u003d\u003d null)"},{"lineNumber":329,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" private List\u003cFeedbackSession\u003e getFeedbackSessionEntitiesPossiblyNeedingPublishedEmail() {"},{"lineNumber":333,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":334,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cr \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":335,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cr.from(FeedbackSession.class);"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":338,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":339,"author":{"gitId":"-"},"content":" cb.greaterThan(root.get(\"resultsVisibleFromTime\"), TimeHelper.getInstantDaysOffsetFromNow(-2)),"},{"lineNumber":340,"author":{"gitId":"-"},"content":" cb.and("},{"lineNumber":341,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"isPublishedEmailSent\"), false),"},{"lineNumber":342,"author":{"gitId":"-"},"content":" cb.equal(root.get(\"isPublishedEmailEnabled\"), true))"},{"lineNumber":343,"author":{"gitId":"-"},"content":" ));"},{"lineNumber":344,"author":{"gitId":"-"},"content":""},{"lineNumber":345,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":346,"author":{"gitId":"-"},"content":" }"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":349,"author":{"gitId":"-"},"content":" * Gets a list of undeleted feedback sessions which start within the last 2 days"},{"lineNumber":350,"author":{"gitId":"-"},"content":" * and possibly need an open email to be sent."},{"lineNumber":351,"author":{"gitId":"-"},"content":" */"},{"lineNumber":352,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSession\u003e getFeedbackSessionsPossiblyNeedingOpenEmail() {"},{"lineNumber":353,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":354,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cFeedbackSession\u003e cr \u003d cb.createQuery(FeedbackSession.class);"},{"lineNumber":355,"author":{"gitId":"-"},"content":" Root\u003cFeedbackSession\u003e root \u003d cr.from(FeedbackSession.class);"},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"-"},"content":" cr.select(root)"},{"lineNumber":358,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":359,"author":{"gitId":"-"},"content":" cb.greaterThan(root.get(\"startTime\"), TimeHelper.getInstantDaysOffsetFromNow(-2)),"},{"lineNumber":360,"author":{"gitId":"-"},"content":" cb.isFalse(root.get(\"isOpenEmailSent\")),"},{"lineNumber":361,"author":{"gitId":"-"},"content":" cb.isNull(root.get(\"deletedAt\"))"},{"lineNumber":362,"author":{"gitId":"-"},"content":" ));"},{"lineNumber":363,"author":{"gitId":"-"},"content":""},{"lineNumber":364,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":365,"author":{"gitId":"-"},"content":" }"},{"lineNumber":366,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":12,"-":354}},{"path":"src/main/java/teammates/storage/sqlapi/UsersDb.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaBuilder;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.CriteriaQuery;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Join;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Predicate;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import jakarta.persistence.criteria.Root;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.User;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.InstructorSearchManager;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.SearchManagerFactory;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlsearch.StudentSearchManager;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Handles CRUD operations for users."},{"lineNumber":34,"author":{"gitId":"-"},"content":" *"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * @see User"},{"lineNumber":36,"author":{"gitId":"-"},"content":" */"},{"lineNumber":37,"author":{"gitId":"-"},"content":"public final class UsersDb extends EntitiesDb {"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final UsersDb instance \u003d new UsersDb();"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" private UsersDb() {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" public static UsersDb inst() {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" return instance;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" }"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" public InstructorSearchManager getInstructorSearchManager() {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" return SearchManagerFactory.getInstructorSearchManager();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" public StudentSearchManager getStudentSearchManager() {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" return SearchManagerFactory.getStudentSearchManager();"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":58,"author":{"gitId":"-"},"content":" * Creates an instructor."},{"lineNumber":59,"author":{"gitId":"-"},"content":" */"},{"lineNumber":60,"author":{"gitId":"-"},"content":" public Instructor createInstructor(Instructor instructor)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" assert instructor !\u003d null;"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" if (!instructor.isValid()) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(instructor.getInvalidityInfo());"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" persist(instructor);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" return instructor;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Creates a student."},{"lineNumber":74,"author":{"gitId":"-"},"content":" */"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public Student createStudent(Student student)"},{"lineNumber":76,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" assert student !\u003d null;"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" if (!student.isValid()) {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" throw new InvalidParametersException(student.getInvalidityInfo());"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" persist(student);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" return student;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Gets an instructor by its {@code id}."},{"lineNumber":89,"author":{"gitId":"-"},"content":" */"},{"lineNumber":90,"author":{"gitId":"-"},"content":" public Instructor getInstructor(UUID id) {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" assert id !\u003d null;"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" return HibernateUtil.get(Instructor.class, id);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":97,"author":{"gitId":"-"},"content":" * Gets an instructor by {@code regKey}."},{"lineNumber":98,"author":{"gitId":"-"},"content":" */"},{"lineNumber":99,"author":{"gitId":"-"},"content":" public Instructor getInstructorByRegKey(String regKey) {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e cr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e instructorRoot \u003d cr.from(Instructor.class);"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" cr.select(instructorRoot).where(cb.equal(instructorRoot.get(\"regKey\"), regKey));"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":110,"author":{"gitId":"-"},"content":" * Gets an instructor by {@code googleId}."},{"lineNumber":111,"author":{"gitId":"-"},"content":" */"},{"lineNumber":112,"author":{"gitId":"-"},"content":" public Instructor getInstructorByGoogleId(String courseId, String googleId) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":114,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e cr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e instructorRoot \u003d cr.from(Instructor.class);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" Join\u003cInstructor, Account\u003e accountsJoin \u003d instructorRoot.join(\"account\");"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" cr.select(instructorRoot).where(cb.and("},{"lineNumber":119,"author":{"gitId":"-"},"content":" cb.equal(instructorRoot.get(\"courseId\"), courseId),"},{"lineNumber":120,"author":{"gitId":"-"},"content":" cb.equal(accountsJoin.get(\"googleId\"), googleId)));"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":126,"author":{"gitId":"-"},"content":" * Gets all instructors that will be displayed to students of a course."},{"lineNumber":127,"author":{"gitId":"-"},"content":" */"},{"lineNumber":128,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsDisplayedToStudents(String courseId) {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":130,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e cr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e instructorRoot \u003d cr.from(Instructor.class);"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" cr.select(instructorRoot).where(cb.and("},{"lineNumber":134,"author":{"gitId":"-"},"content":" cb.equal(instructorRoot.get(\"courseId\"), courseId),"},{"lineNumber":135,"author":{"gitId":"-"},"content":" cb.equal(instructorRoot.get(\"isDisplayedToStudents\"), true)));"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":141,"author":{"gitId":"-"},"content":" * Gets a student by its {@code id}."},{"lineNumber":142,"author":{"gitId":"-"},"content":" */"},{"lineNumber":143,"author":{"gitId":"-"},"content":" public Student getStudent(UUID id) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" assert id !\u003d null;"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" return HibernateUtil.get(Student.class, id);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":" * Gets a student reference by its {@code id}."},{"lineNumber":151,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":152,"author":{"gitId":"dishenggg"},"content":" public Student getStudentReference(UUID id) {"},{"lineNumber":153,"author":{"gitId":"dishenggg"},"content":" assert id !\u003d null;"},{"lineNumber":154,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":155,"author":{"gitId":"dishenggg"},"content":" return HibernateUtil.getReference(Student.class, id);"},{"lineNumber":156,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":159,"author":{"gitId":"-"},"content":" * Gets a student by {@code regKey}."},{"lineNumber":160,"author":{"gitId":"-"},"content":" */"},{"lineNumber":161,"author":{"gitId":"-"},"content":" public Student getStudentByRegKey(String regKey) {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":163,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":164,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" cr.select(studentRoot).where(cb.equal(studentRoot.get(\"regKey\"), regKey));"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":172,"author":{"gitId":"-"},"content":" * Gets a student by {@code googleId}."},{"lineNumber":173,"author":{"gitId":"-"},"content":" */"},{"lineNumber":174,"author":{"gitId":"-"},"content":" public Student getStudentByGoogleId(String courseId, String googleId) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":176,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":178,"author":{"gitId":"-"},"content":" Join\u003cStudent, Account\u003e accountsJoin \u003d studentRoot.join(\"account\");"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" cr.select(studentRoot).where(cb.and("},{"lineNumber":181,"author":{"gitId":"-"},"content":" cb.equal(studentRoot.get(\"courseId\"), courseId),"},{"lineNumber":182,"author":{"gitId":"-"},"content":" cb.equal(accountsJoin.get(\"googleId\"), googleId)));"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":188,"author":{"gitId":"-"},"content":" * Gets all students by {@code googleId}."},{"lineNumber":189,"author":{"gitId":"-"},"content":" */"},{"lineNumber":190,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsByGoogleId(String googleId) {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":192,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" Join\u003cStudent, Account\u003e accountsJoin \u003d studentRoot.join(\"account\");"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" cr.select(studentRoot).where(cb.equal(accountsJoin.get(\"googleId\"), googleId));"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":202,"author":{"gitId":"-"},"content":" * Gets a list of students by {@code teamName} and {@code courseId}."},{"lineNumber":203,"author":{"gitId":"-"},"content":" */"},{"lineNumber":204,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsByTeamName(String teamName, String courseId) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":206,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":207,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" studentRoot.alias(\"student\");"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" Join\u003cStudent, Team\u003e teamsJoin \u003d studentRoot.join(\"team\");"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" cr.select(studentRoot).where(cb.and("},{"lineNumber":214,"author":{"gitId":"-"},"content":" cb.equal(studentRoot.get(\"courseId\"), courseId),"},{"lineNumber":215,"author":{"gitId":"-"},"content":" cb.equal(teamsJoin.get(\"name\"), teamName)));"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":221,"author":{"gitId":"-"},"content":" * Gets all instructors and students by {@code googleId}."},{"lineNumber":222,"author":{"gitId":"-"},"content":" */"},{"lineNumber":223,"author":{"gitId":"-"},"content":" public List\u003cUser\u003e getAllUsersByGoogleId(String googleId) {"},{"lineNumber":224,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":225,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cUser\u003e usersCr \u003d cb.createQuery(User.class);"},{"lineNumber":226,"author":{"gitId":"-"},"content":" Root\u003cUser\u003e usersRoot \u003d usersCr.from(User.class);"},{"lineNumber":227,"author":{"gitId":"-"},"content":" Join\u003cUser, Account\u003e accountsJoin \u003d usersRoot.join(\"account\");"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" usersCr.select(usersRoot).where(cb.equal(accountsJoin.get(\"googleId\"), googleId));"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(usersCr).getResultList();"},{"lineNumber":232,"author":{"gitId":"-"},"content":" }"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":235,"author":{"gitId":"-"},"content":" * Gets all instructors by {@code googleId}."},{"lineNumber":236,"author":{"gitId":"-"},"content":" */"},{"lineNumber":237,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getAllInstructorsByGoogleId(String googleId) {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":239,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e instructorsCr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":240,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e instructorsRoot \u003d instructorsCr.from(Instructor.class);"},{"lineNumber":241,"author":{"gitId":"-"},"content":" Join\u003cInstructor, Account\u003e accountsJoin \u003d instructorsRoot.join(\"account\");"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" instructorsCr.select(instructorsRoot).where(cb.equal(accountsJoin.get(\"googleId\"), googleId));"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(instructorsCr).getResultList();"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * Gets all students by {@code googleId}."},{"lineNumber":250,"author":{"gitId":"-"},"content":" */"},{"lineNumber":251,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getAllStudentsByGoogleId(String googleId) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":253,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e studentsCr \u003d cb.createQuery(Student.class);"},{"lineNumber":254,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentsRoot \u003d studentsCr.from(Student.class);"},{"lineNumber":255,"author":{"gitId":"-"},"content":" Join\u003cStudent, Account\u003e accountsJoin \u003d studentsRoot.join(\"account\");"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":" studentsCr.select(studentsRoot).where(cb.equal(accountsJoin.get(\"googleId\"), googleId));"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(studentsCr).getResultList();"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":263,"author":{"gitId":"-"},"content":" * Gets all instructors."},{"lineNumber":264,"author":{"gitId":"-"},"content":" */"},{"lineNumber":265,"author":{"gitId":"-"},"content":" public \u003cT extends User\u003e T updateUser(T user) {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" assert user !\u003d null;"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" return merge(user);"},{"lineNumber":269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":272,"author":{"gitId":"-"},"content":" * Searches all instructors in the system."},{"lineNumber":273,"author":{"gitId":"-"},"content":" *"},{"lineNumber":274,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis method should be used by admin only since the searching does not"},{"lineNumber":275,"author":{"gitId":"-"},"content":" * restrict the visibility according to the logged-in user\u0027s google ID. This"},{"lineNumber":276,"author":{"gitId":"-"},"content":" * is used by admin to search instructors in the whole system."},{"lineNumber":277,"author":{"gitId":"-"},"content":" */"},{"lineNumber":278,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e searchInstructorsInWholeSystem(String queryString)"},{"lineNumber":279,"author":{"gitId":"-"},"content":" throws SearchServiceException {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" if (queryString.trim().isEmpty()) {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":282,"author":{"gitId":"-"},"content":" }"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" return getInstructorSearchManager().searchInstructors(queryString);"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":288,"author":{"gitId":"yuanxi1"},"content":" * Searches for students."},{"lineNumber":289,"author":{"gitId":"yuanxi1"},"content":" *"},{"lineNumber":290,"author":{"gitId":"yuanxi1"},"content":" * @param instructors the constraint that restricts the search result"},{"lineNumber":291,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":292,"author":{"gitId":"yuanxi1"},"content":" public List\u003cStudent\u003e searchStudents(String queryString, List\u003cInstructor\u003e instructors)"},{"lineNumber":293,"author":{"gitId":"yuanxi1"},"content":" throws SearchServiceException {"},{"lineNumber":294,"author":{"gitId":"yuanxi1"},"content":" if (queryString.trim().isEmpty()) {"},{"lineNumber":295,"author":{"gitId":"yuanxi1"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":296,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":297,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":298,"author":{"gitId":"yuanxi1"},"content":" return getStudentSearchManager().searchStudents(queryString, instructors);"},{"lineNumber":299,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":300,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":301,"author":{"gitId":"yuanxi1"},"content":" /**"},{"lineNumber":302,"author":{"gitId":"yuanxi1"},"content":" * Searches all students in the system."},{"lineNumber":303,"author":{"gitId":"yuanxi1"},"content":" *"},{"lineNumber":304,"author":{"gitId":"yuanxi1"},"content":" * \u003cp\u003eThis method should be used by admin only since the searching does not restrict the"},{"lineNumber":305,"author":{"gitId":"yuanxi1"},"content":" * visibility according to the logged-in user\u0027s google ID. This is used by admin to"},{"lineNumber":306,"author":{"gitId":"yuanxi1"},"content":" * search instructors in the whole system."},{"lineNumber":307,"author":{"gitId":"yuanxi1"},"content":" */"},{"lineNumber":308,"author":{"gitId":"yuanxi1"},"content":" public List\u003cStudent\u003e searchStudentsInWholeSystem(String queryString)"},{"lineNumber":309,"author":{"gitId":"yuanxi1"},"content":" throws SearchServiceException {"},{"lineNumber":310,"author":{"gitId":"yuanxi1"},"content":" if (queryString.trim().isEmpty()) {"},{"lineNumber":311,"author":{"gitId":"yuanxi1"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":312,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":313,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":314,"author":{"gitId":"yuanxi1"},"content":" return getStudentSearchManager().searchStudents(queryString, null);"},{"lineNumber":315,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":316,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":317,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":318,"author":{"gitId":"-"},"content":" * Deletes a user."},{"lineNumber":319,"author":{"gitId":"-"},"content":" */"},{"lineNumber":320,"author":{"gitId":"-"},"content":" public \u003cT extends User\u003e void deleteUser(T user) {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" if (user !\u003d null) {"},{"lineNumber":322,"author":{"gitId":"-"},"content":" delete(user);"},{"lineNumber":323,"author":{"gitId":"-"},"content":" }"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":327,"author":{"gitId":"-"},"content":" * Gets the number of instructors created within a specified time range."},{"lineNumber":328,"author":{"gitId":"-"},"content":" */"},{"lineNumber":329,"author":{"gitId":"-"},"content":" public long getNumInstructorsByTimeRange(Instant startTime, Instant endTime) {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":331,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cLong\u003e cr \u003d cb.createQuery(Long.class);"},{"lineNumber":332,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e root \u003d cr.from(Instructor.class);"},{"lineNumber":333,"author":{"gitId":"-"},"content":""},{"lineNumber":334,"author":{"gitId":"-"},"content":" cr.select(cb.count(root.get(\"id\"))).where(cb.and("},{"lineNumber":335,"author":{"gitId":"-"},"content":" cb.greaterThanOrEqualTo(root.get(\"createdAt\"), startTime),"},{"lineNumber":336,"author":{"gitId":"-"},"content":" cb.lessThan(root.get(\"createdAt\"), endTime)));"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getSingleResult();"},{"lineNumber":339,"author":{"gitId":"-"},"content":" }"},{"lineNumber":340,"author":{"gitId":"-"},"content":""},{"lineNumber":341,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":342,"author":{"gitId":"-"},"content":" * Gets the number of students created within a specified time range."},{"lineNumber":343,"author":{"gitId":"-"},"content":" */"},{"lineNumber":344,"author":{"gitId":"-"},"content":" public long getNumStudentsByTimeRange(Instant startTime, Instant endTime) {"},{"lineNumber":345,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":346,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cLong\u003e cr \u003d cb.createQuery(Long.class);"},{"lineNumber":347,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e root \u003d cr.from(Student.class);"},{"lineNumber":348,"author":{"gitId":"-"},"content":""},{"lineNumber":349,"author":{"gitId":"-"},"content":" cr.select(cb.count(root.get(\"id\"))).where(cb.and("},{"lineNumber":350,"author":{"gitId":"-"},"content":" cb.greaterThanOrEqualTo(root.get(\"createdAt\"), startTime),"},{"lineNumber":351,"author":{"gitId":"-"},"content":" cb.lessThan(root.get(\"createdAt\"), endTime)));"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getSingleResult();"},{"lineNumber":354,"author":{"gitId":"-"},"content":" }"},{"lineNumber":355,"author":{"gitId":"-"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":357,"author":{"gitId":"-"},"content":" * Gets the list of instructors for the specified {@code courseId}."},{"lineNumber":358,"author":{"gitId":"-"},"content":" */"},{"lineNumber":359,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsForCourse(String courseId) {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":361,"author":{"gitId":"-"},"content":""},{"lineNumber":362,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":363,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e cr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":364,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e root \u003d cr.from(Instructor.class);"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" cr.select(root).where(cb.equal(root.get(\"courseId\"), courseId));"},{"lineNumber":367,"author":{"gitId":"-"},"content":""},{"lineNumber":368,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":369,"author":{"gitId":"-"},"content":" }"},{"lineNumber":370,"author":{"gitId":"-"},"content":""},{"lineNumber":371,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":372,"author":{"gitId":"-"},"content":" * Gets the list of students for the specified {@code courseId}."},{"lineNumber":373,"author":{"gitId":"-"},"content":" */"},{"lineNumber":374,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForCourse(String courseId) {"},{"lineNumber":375,"author":{"gitId":"-"},"content":" assert courseId !\u003d null \u0026\u0026 !courseId.isEmpty();"},{"lineNumber":376,"author":{"gitId":"-"},"content":""},{"lineNumber":377,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":378,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":379,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e root \u003d cr.from(Student.class);"},{"lineNumber":380,"author":{"gitId":"-"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":" cr.select(root).where(cb.equal(root.get(\"courseId\"), courseId));"},{"lineNumber":382,"author":{"gitId":"-"},"content":""},{"lineNumber":383,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":387,"author":{"gitId":"-"},"content":" * Gets the list of students for the specified {@code courseId} in batches with {@code batchSize}."},{"lineNumber":388,"author":{"gitId":"-"},"content":" */"},{"lineNumber":389,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForCourse(String courseId, int batchSize) {"},{"lineNumber":390,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":391,"author":{"gitId":"-"},"content":""},{"lineNumber":392,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":393,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":394,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e root \u003d cr.from(Student.class);"},{"lineNumber":395,"author":{"gitId":"-"},"content":""},{"lineNumber":396,"author":{"gitId":"-"},"content":" cr.select(root).where(cb.equal(root.get(\"courseId\"), courseId));"},{"lineNumber":397,"author":{"gitId":"-"},"content":""},{"lineNumber":398,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).setMaxResults(batchSize).getResultList();"},{"lineNumber":399,"author":{"gitId":"-"},"content":" }"},{"lineNumber":400,"author":{"gitId":"-"},"content":""},{"lineNumber":401,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":402,"author":{"gitId":"-"},"content":" * Gets the instructor with the specified {@code userEmail}."},{"lineNumber":403,"author":{"gitId":"-"},"content":" */"},{"lineNumber":404,"author":{"gitId":"-"},"content":" public Instructor getInstructorForEmail(String courseId, String userEmail) {"},{"lineNumber":405,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":406,"author":{"gitId":"-"},"content":" assert userEmail !\u003d null;"},{"lineNumber":407,"author":{"gitId":"-"},"content":""},{"lineNumber":408,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":409,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e cr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":410,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e instructorRoot \u003d cr.from(Instructor.class);"},{"lineNumber":411,"author":{"gitId":"-"},"content":""},{"lineNumber":412,"author":{"gitId":"-"},"content":" cr.select(instructorRoot)"},{"lineNumber":413,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":414,"author":{"gitId":"-"},"content":" cb.equal(instructorRoot.get(\"courseId\"), courseId),"},{"lineNumber":415,"author":{"gitId":"-"},"content":" cb.equal(instructorRoot.get(\"email\"), userEmail)));"},{"lineNumber":416,"author":{"gitId":"-"},"content":""},{"lineNumber":417,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":418,"author":{"gitId":"-"},"content":" }"},{"lineNumber":419,"author":{"gitId":"-"},"content":""},{"lineNumber":420,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":421,"author":{"gitId":"-"},"content":" * Gets instructors with the specified {@code userEmail}."},{"lineNumber":422,"author":{"gitId":"-"},"content":" */"},{"lineNumber":423,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsForEmails(String courseId, List\u003cString\u003e userEmails) {"},{"lineNumber":424,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":425,"author":{"gitId":"-"},"content":" assert userEmails !\u003d null;"},{"lineNumber":426,"author":{"gitId":"-"},"content":""},{"lineNumber":427,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":428,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e cr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":429,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e instructorRoot \u003d cr.from(Instructor.class);"},{"lineNumber":430,"author":{"gitId":"-"},"content":""},{"lineNumber":431,"author":{"gitId":"-"},"content":" List\u003cPredicate\u003e predicates \u003d new ArrayList\u003c\u003e();"},{"lineNumber":432,"author":{"gitId":"-"},"content":" for (String userEmail : userEmails) {"},{"lineNumber":433,"author":{"gitId":"-"},"content":" predicates.add(cb.equal(instructorRoot.get(\"email\"), userEmail));"},{"lineNumber":434,"author":{"gitId":"-"},"content":" }"},{"lineNumber":435,"author":{"gitId":"-"},"content":""},{"lineNumber":436,"author":{"gitId":"-"},"content":" cr.select(instructorRoot)"},{"lineNumber":437,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":438,"author":{"gitId":"-"},"content":" cb.equal(instructorRoot.get(\"courseId\"), courseId),"},{"lineNumber":439,"author":{"gitId":"-"},"content":" cb.or(predicates.toArray(new Predicate[0]))));"},{"lineNumber":440,"author":{"gitId":"-"},"content":""},{"lineNumber":441,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":442,"author":{"gitId":"-"},"content":" }"},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":445,"author":{"gitId":"-"},"content":" * Gets the student with the specified {@code userEmail}."},{"lineNumber":446,"author":{"gitId":"-"},"content":" */"},{"lineNumber":447,"author":{"gitId":"-"},"content":" public Student getStudentForEmail(String courseId, String userEmail) {"},{"lineNumber":448,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":449,"author":{"gitId":"-"},"content":" assert userEmail !\u003d null;"},{"lineNumber":450,"author":{"gitId":"-"},"content":""},{"lineNumber":451,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":452,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":453,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":454,"author":{"gitId":"-"},"content":""},{"lineNumber":455,"author":{"gitId":"-"},"content":" cr.select(studentRoot)"},{"lineNumber":456,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":457,"author":{"gitId":"-"},"content":" cb.equal(studentRoot.get(\"courseId\"), courseId),"},{"lineNumber":458,"author":{"gitId":"-"},"content":" cb.equal(studentRoot.get(\"email\"), userEmail)));"},{"lineNumber":459,"author":{"gitId":"-"},"content":""},{"lineNumber":460,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":461,"author":{"gitId":"-"},"content":" }"},{"lineNumber":462,"author":{"gitId":"-"},"content":""},{"lineNumber":463,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":464,"author":{"gitId":"-"},"content":" * Gets students with the specified {@code userEmail}."},{"lineNumber":465,"author":{"gitId":"-"},"content":" */"},{"lineNumber":466,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForEmails(String courseId, List\u003cString\u003e userEmails) {"},{"lineNumber":467,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":468,"author":{"gitId":"-"},"content":" assert userEmails !\u003d null;"},{"lineNumber":469,"author":{"gitId":"-"},"content":""},{"lineNumber":470,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":471,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":472,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":473,"author":{"gitId":"-"},"content":""},{"lineNumber":474,"author":{"gitId":"-"},"content":" List\u003cPredicate\u003e predicates \u003d new ArrayList\u003c\u003e();"},{"lineNumber":475,"author":{"gitId":"-"},"content":" for (String userEmail : userEmails) {"},{"lineNumber":476,"author":{"gitId":"-"},"content":" predicates.add(cb.equal(studentRoot.get(\"email\"), userEmail));"},{"lineNumber":477,"author":{"gitId":"-"},"content":" }"},{"lineNumber":478,"author":{"gitId":"-"},"content":""},{"lineNumber":479,"author":{"gitId":"-"},"content":" cr.select(studentRoot)"},{"lineNumber":480,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":481,"author":{"gitId":"-"},"content":" cb.equal(studentRoot.get(\"courseId\"), courseId),"},{"lineNumber":482,"author":{"gitId":"-"},"content":" cb.or(predicates.toArray(new Predicate[0]))));"},{"lineNumber":483,"author":{"gitId":"-"},"content":""},{"lineNumber":484,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":485,"author":{"gitId":"-"},"content":" }"},{"lineNumber":486,"author":{"gitId":"-"},"content":""},{"lineNumber":487,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":488,"author":{"gitId":"-"},"content":" * Gets list of students by email."},{"lineNumber":489,"author":{"gitId":"-"},"content":" */"},{"lineNumber":490,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getAllStudentsForEmail(String email) {"},{"lineNumber":491,"author":{"gitId":"-"},"content":" assert email !\u003d null;"},{"lineNumber":492,"author":{"gitId":"-"},"content":""},{"lineNumber":493,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":494,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":495,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":496,"author":{"gitId":"-"},"content":""},{"lineNumber":497,"author":{"gitId":"-"},"content":" cr.select(studentRoot)"},{"lineNumber":498,"author":{"gitId":"-"},"content":" .where(cb.equal(studentRoot.get(\"email\"), email));"},{"lineNumber":499,"author":{"gitId":"-"},"content":""},{"lineNumber":500,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":501,"author":{"gitId":"-"},"content":" }"},{"lineNumber":502,"author":{"gitId":"-"},"content":""},{"lineNumber":503,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":504,"author":{"gitId":"-"},"content":" * Gets all instructors associated with a googleId."},{"lineNumber":505,"author":{"gitId":"-"},"content":" */"},{"lineNumber":506,"author":{"gitId":"-"},"content":" public List\u003cInstructor\u003e getInstructorsForGoogleId(String googleId) {"},{"lineNumber":507,"author":{"gitId":"-"},"content":" assert googleId !\u003d null;"},{"lineNumber":508,"author":{"gitId":"-"},"content":""},{"lineNumber":509,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":510,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cInstructor\u003e cr \u003d cb.createQuery(Instructor.class);"},{"lineNumber":511,"author":{"gitId":"-"},"content":" Root\u003cInstructor\u003e instructorRoot \u003d cr.from(Instructor.class);"},{"lineNumber":512,"author":{"gitId":"-"},"content":" Join\u003cInstructor, Account\u003e accountsJoin \u003d instructorRoot.join(\"account\");"},{"lineNumber":513,"author":{"gitId":"-"},"content":""},{"lineNumber":514,"author":{"gitId":"-"},"content":" cr.select(instructorRoot).where(cb.equal(accountsJoin.get(\"googleId\"), googleId));"},{"lineNumber":515,"author":{"gitId":"-"},"content":""},{"lineNumber":516,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":517,"author":{"gitId":"-"},"content":" }"},{"lineNumber":518,"author":{"gitId":"-"},"content":""},{"lineNumber":519,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":520,"author":{"gitId":"-"},"content":" * Gets all students of a section of a course."},{"lineNumber":521,"author":{"gitId":"-"},"content":" */"},{"lineNumber":522,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForSection(String sectionName, String courseId) {"},{"lineNumber":523,"author":{"gitId":"-"},"content":" assert sectionName !\u003d null;"},{"lineNumber":524,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":525,"author":{"gitId":"-"},"content":""},{"lineNumber":526,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":527,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":528,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":529,"author":{"gitId":"-"},"content":" Join\u003cStudent, Course\u003e courseJoin \u003d studentRoot.join(\"course\");"},{"lineNumber":530,"author":{"gitId":"-"},"content":" Join\u003cStudent, Team\u003e teamsJoin \u003d studentRoot.join(\"team\");"},{"lineNumber":531,"author":{"gitId":"-"},"content":" Join\u003cTeam, Section\u003e sectionJoin \u003d teamsJoin.join(\"section\");"},{"lineNumber":532,"author":{"gitId":"-"},"content":""},{"lineNumber":533,"author":{"gitId":"-"},"content":" cr.select(studentRoot)"},{"lineNumber":534,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":535,"author":{"gitId":"-"},"content":" cb.equal(courseJoin.get(\"id\"), courseId),"},{"lineNumber":536,"author":{"gitId":"-"},"content":" cb.equal(sectionJoin.get(\"name\"), sectionName)));"},{"lineNumber":537,"author":{"gitId":"-"},"content":""},{"lineNumber":538,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":539,"author":{"gitId":"-"},"content":" }"},{"lineNumber":540,"author":{"gitId":"-"},"content":""},{"lineNumber":541,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":542,"author":{"gitId":"-"},"content":" * Gets all students of a team of a course."},{"lineNumber":543,"author":{"gitId":"-"},"content":" */"},{"lineNumber":544,"author":{"gitId":"-"},"content":" public List\u003cStudent\u003e getStudentsForTeam(String teamName, String courseId) {"},{"lineNumber":545,"author":{"gitId":"-"},"content":" assert teamName !\u003d null;"},{"lineNumber":546,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":547,"author":{"gitId":"-"},"content":""},{"lineNumber":548,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":549,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cStudent\u003e cr \u003d cb.createQuery(Student.class);"},{"lineNumber":550,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":551,"author":{"gitId":"-"},"content":" Join\u003cStudent, Course\u003e courseJoin \u003d studentRoot.join(\"course\");"},{"lineNumber":552,"author":{"gitId":"-"},"content":" Join\u003cStudent, Team\u003e teamsJoin \u003d studentRoot.join(\"team\");"},{"lineNumber":553,"author":{"gitId":"-"},"content":""},{"lineNumber":554,"author":{"gitId":"-"},"content":" cr.select(studentRoot)"},{"lineNumber":555,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":556,"author":{"gitId":"-"},"content":" cb.equal(courseJoin.get(\"id\"), courseId),"},{"lineNumber":557,"author":{"gitId":"-"},"content":" cb.equal(teamsJoin.get(\"name\"), teamName)));"},{"lineNumber":558,"author":{"gitId":"-"},"content":""},{"lineNumber":559,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getResultList();"},{"lineNumber":560,"author":{"gitId":"-"},"content":" }"},{"lineNumber":561,"author":{"gitId":"-"},"content":""},{"lineNumber":562,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":563,"author":{"gitId":"-"},"content":" * Gets count of students of a team of a course."},{"lineNumber":564,"author":{"gitId":"-"},"content":" */"},{"lineNumber":565,"author":{"gitId":"-"},"content":" public long getStudentCountForTeam(String teamName, String courseId) {"},{"lineNumber":566,"author":{"gitId":"-"},"content":" assert teamName !\u003d null;"},{"lineNumber":567,"author":{"gitId":"-"},"content":" assert courseId !\u003d null;"},{"lineNumber":568,"author":{"gitId":"-"},"content":""},{"lineNumber":569,"author":{"gitId":"-"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":570,"author":{"gitId":"-"},"content":" CriteriaQuery\u003cLong\u003e cr \u003d cb.createQuery(Long.class);"},{"lineNumber":571,"author":{"gitId":"-"},"content":" Root\u003cStudent\u003e studentRoot \u003d cr.from(Student.class);"},{"lineNumber":572,"author":{"gitId":"-"},"content":" Join\u003cStudent, Course\u003e courseJoin \u003d studentRoot.join(\"course\");"},{"lineNumber":573,"author":{"gitId":"-"},"content":" Join\u003cStudent, Team\u003e teamsJoin \u003d studentRoot.join(\"team\");"},{"lineNumber":574,"author":{"gitId":"-"},"content":""},{"lineNumber":575,"author":{"gitId":"-"},"content":" cr.select(cb.count(studentRoot.get(\"id\")))"},{"lineNumber":576,"author":{"gitId":"-"},"content":" .where(cb.and("},{"lineNumber":577,"author":{"gitId":"-"},"content":" cb.equal(courseJoin.get(\"id\"), courseId),"},{"lineNumber":578,"author":{"gitId":"-"},"content":" cb.equal(teamsJoin.get(\"name\"), teamName)));"},{"lineNumber":579,"author":{"gitId":"-"},"content":""},{"lineNumber":580,"author":{"gitId":"-"},"content":" return HibernateUtil.createQuery(cr).getSingleResult();"},{"lineNumber":581,"author":{"gitId":"-"},"content":" }"},{"lineNumber":582,"author":{"gitId":"-"},"content":""},{"lineNumber":583,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":584,"author":{"gitId":"domoberzin"},"content":" * Gets the section with the specified {@code sectionName} and {@code courseId}."},{"lineNumber":585,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":586,"author":{"gitId":"domoberzin"},"content":" public Section getSection(String courseId, String sectionName) {"},{"lineNumber":587,"author":{"gitId":"domoberzin"},"content":" assert sectionName !\u003d null;"},{"lineNumber":588,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":589,"author":{"gitId":"domoberzin"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":590,"author":{"gitId":"domoberzin"},"content":" CriteriaQuery\u003cSection\u003e cr \u003d cb.createQuery(Section.class);"},{"lineNumber":591,"author":{"gitId":"domoberzin"},"content":" Root\u003cSection\u003e sectionRoot \u003d cr.from(Section.class);"},{"lineNumber":592,"author":{"gitId":"domoberzin"},"content":" Join\u003cSection, Course\u003e courseJoin \u003d sectionRoot.join(\"course\");"},{"lineNumber":593,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":594,"author":{"gitId":"domoberzin"},"content":" cr.select(sectionRoot)"},{"lineNumber":595,"author":{"gitId":"domoberzin"},"content":" .where(cb.and("},{"lineNumber":596,"author":{"gitId":"domoberzin"},"content":" cb.equal(courseJoin.get(\"id\"), courseId),"},{"lineNumber":597,"author":{"gitId":"domoberzin"},"content":" cb.equal(sectionRoot.get(\"name\"), sectionName)));"},{"lineNumber":598,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":599,"author":{"gitId":"domoberzin"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":600,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":601,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":602,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":603,"author":{"gitId":"domoberzin"},"content":" * Gets a section by its {@code courseId} and {@code sectionName}."},{"lineNumber":604,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":605,"author":{"gitId":"domoberzin"},"content":" public Section getSectionOrCreate(String courseId, String sectionName) {"},{"lineNumber":606,"author":{"gitId":"domoberzin"},"content":" assert courseId !\u003d null;"},{"lineNumber":607,"author":{"gitId":"domoberzin"},"content":" assert sectionName !\u003d null;"},{"lineNumber":608,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":609,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getSection(courseId, sectionName);"},{"lineNumber":610,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":611,"author":{"gitId":"domoberzin"},"content":" if (section \u003d\u003d null) {"},{"lineNumber":612,"author":{"gitId":"domoberzin"},"content":" Course course \u003d CoursesDb.inst().getCourse(courseId);"},{"lineNumber":613,"author":{"gitId":"domoberzin"},"content":" section \u003d new Section(course, sectionName);"},{"lineNumber":614,"author":{"gitId":"domoberzin"},"content":" persist(section);"},{"lineNumber":615,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":616,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":617,"author":{"gitId":"domoberzin"},"content":" return section;"},{"lineNumber":618,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":619,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":620,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":621,"author":{"gitId":"domoberzin"},"content":" * Gets a team by its {@code section} and {@code teamName}."},{"lineNumber":622,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":623,"author":{"gitId":"domoberzin"},"content":" public Team getTeam(Section section, String teamName) {"},{"lineNumber":624,"author":{"gitId":"domoberzin"},"content":" assert teamName !\u003d null;"},{"lineNumber":625,"author":{"gitId":"domoberzin"},"content":" assert section !\u003d null;"},{"lineNumber":626,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":627,"author":{"gitId":"domoberzin"},"content":" CriteriaBuilder cb \u003d HibernateUtil.getCriteriaBuilder();"},{"lineNumber":628,"author":{"gitId":"domoberzin"},"content":" CriteriaQuery\u003cTeam\u003e cr \u003d cb.createQuery(Team.class);"},{"lineNumber":629,"author":{"gitId":"domoberzin"},"content":" Root\u003cTeam\u003e teamRoot \u003d cr.from(Team.class);"},{"lineNumber":630,"author":{"gitId":"domoberzin"},"content":" Join\u003cTeam, Section\u003e sectionJoin \u003d teamRoot.join(\"section\");"},{"lineNumber":631,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":632,"author":{"gitId":"domoberzin"},"content":" cr.select(teamRoot)"},{"lineNumber":633,"author":{"gitId":"domoberzin"},"content":" .where(cb.and("},{"lineNumber":634,"author":{"gitId":"domoberzin"},"content":" cb.equal(sectionJoin.get(\"id\"), section.getId()),"},{"lineNumber":635,"author":{"gitId":"domoberzin"},"content":" cb.equal(teamRoot.get(\"name\"), teamName)));"},{"lineNumber":636,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":637,"author":{"gitId":"domoberzin"},"content":" return HibernateUtil.createQuery(cr).getResultStream().findFirst().orElse(null);"},{"lineNumber":638,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":639,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":640,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":641,"author":{"gitId":"domoberzin"},"content":" * Gets a team by its {@code section} and {@code teamName}."},{"lineNumber":642,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":643,"author":{"gitId":"domoberzin"},"content":" public Team getTeamOrCreate(Section section, String teamName) {"},{"lineNumber":644,"author":{"gitId":"domoberzin"},"content":" assert teamName !\u003d null;"},{"lineNumber":645,"author":{"gitId":"domoberzin"},"content":" assert section !\u003d null;"},{"lineNumber":646,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":647,"author":{"gitId":"domoberzin"},"content":" Team team \u003d getTeam(section, teamName);"},{"lineNumber":648,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":649,"author":{"gitId":"domoberzin"},"content":" if (team \u003d\u003d null) {"},{"lineNumber":650,"author":{"gitId":"domoberzin"},"content":" team \u003d new Team(section, teamName);"},{"lineNumber":651,"author":{"gitId":"domoberzin"},"content":" persist(team);"},{"lineNumber":652,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":653,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":654,"author":{"gitId":"domoberzin"},"content":" return team;"},{"lineNumber":655,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":656,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":657,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":658,"author":{"gitId":"domoberzin"},"content":" * Updates a student."},{"lineNumber":659,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":660,"author":{"gitId":"domoberzin"},"content":" public Student updateStudent(Student student)"},{"lineNumber":661,"author":{"gitId":"domoberzin"},"content":" throws EntityDoesNotExistException, InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":662,"author":{"gitId":"marquestye"},"content":" checkBeforeUpdateStudent(student);"},{"lineNumber":663,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":664,"author":{"gitId":"marquestye"},"content":" return merge(student);"},{"lineNumber":665,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":666,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":667,"author":{"gitId":"marquestye"},"content":" /**"},{"lineNumber":668,"author":{"gitId":"marquestye"},"content":" * Performs checks on student without updating."},{"lineNumber":669,"author":{"gitId":"marquestye"},"content":" */"},{"lineNumber":670,"author":{"gitId":"marquestye"},"content":" public void checkBeforeUpdateStudent(Student student)"},{"lineNumber":671,"author":{"gitId":"marquestye"},"content":" throws EntityDoesNotExistException, InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":672,"author":{"gitId":"domoberzin"},"content":" assert student !\u003d null;"},{"lineNumber":673,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":674,"author":{"gitId":"domoberzin"},"content":" if (!student.isValid()) {"},{"lineNumber":675,"author":{"gitId":"domoberzin"},"content":" throw new InvalidParametersException(student.getInvalidityInfo());"},{"lineNumber":676,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":677,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":678,"author":{"gitId":"domoberzin"},"content":" if (getStudent(student.getId()) \u003d\u003d null) {"},{"lineNumber":679,"author":{"gitId":"domoberzin"},"content":" throw new EntityDoesNotExistException(ERROR_UPDATE_NON_EXISTENT);"},{"lineNumber":680,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":681,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":682,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":683,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":93,"yuanxi1":30,"marquestye":10,"dishenggg":9,"-":541}},{"path":"src/main/java/teammates/storage/sqlentity/FeedbackQuestion.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlentity;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Objects;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import jakarta.persistence.CascadeType;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import jakarta.persistence.Column;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import jakarta.persistence.Convert;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import jakarta.persistence.Entity;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import jakarta.persistence.EnumType;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import jakarta.persistence.Enumerated;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import jakarta.persistence.Id;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import jakarta.persistence.Inheritance;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import jakarta.persistence.InheritanceType;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import jakarta.persistence.JoinColumn;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import jakarta.persistence.ManyToOne;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import jakarta.persistence.OneToMany;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import jakarta.persistence.Table;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"import org.hibernate.annotations.UpdateTimestamp;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackConstantSumQuestion;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackContributionQuestion;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackMcqQuestion;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackMsqQuestion;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackNumericalScaleQuestion;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackRankOptionsQuestion;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackRankRecipientsQuestion;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackRubricQuestion;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.questions.FeedbackTextQuestion;"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":39,"author":{"gitId":"-"},"content":" * Represents a feedback question."},{"lineNumber":40,"author":{"gitId":"-"},"content":" */"},{"lineNumber":41,"author":{"gitId":"-"},"content":"@Entity"},{"lineNumber":42,"author":{"gitId":"-"},"content":"@Table(name \u003d \"FeedbackQuestions\")"},{"lineNumber":43,"author":{"gitId":"-"},"content":"@Inheritance(strategy \u003d InheritanceType.SINGLE_TABLE)"},{"lineNumber":44,"author":{"gitId":"-"},"content":"public abstract class FeedbackQuestion extends BaseEntity implements Comparable\u003cFeedbackQuestion\u003e {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" @Id"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private UUID id;"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" @ManyToOne"},{"lineNumber":49,"author":{"gitId":"-"},"content":" @JoinColumn(name \u003d \"sessionId\")"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private FeedbackSession feedbackSession;"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" @OneToMany(mappedBy \u003d \"feedbackQuestion\", cascade \u003d CascadeType.REMOVE)"},{"lineNumber":53,"author":{"gitId":"-"},"content":" private List\u003cFeedbackResponse\u003e feedbackResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" private Integer questionNumber;"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" @Column(nullable \u003d true)"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private String description;"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":62,"author":{"gitId":"-"},"content":" @Enumerated(EnumType.STRING)"},{"lineNumber":63,"author":{"gitId":"-"},"content":" private FeedbackParticipantType giverType;"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":66,"author":{"gitId":"-"},"content":" @Enumerated(EnumType.STRING)"},{"lineNumber":67,"author":{"gitId":"-"},"content":" private FeedbackParticipantType recipientType;"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" private Integer numOfEntitiesToGiveFeedbackTo;"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":73,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackParticipantTypeListConverter.class)"},{"lineNumber":74,"author":{"gitId":"-"},"content":" private List\u003cFeedbackParticipantType\u003e showResponsesTo;"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":77,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackParticipantTypeListConverter.class)"},{"lineNumber":78,"author":{"gitId":"-"},"content":" private List\u003cFeedbackParticipantType\u003e showGiverNameTo;"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackParticipantTypeListConverter.class)"},{"lineNumber":82,"author":{"gitId":"-"},"content":" private List\u003cFeedbackParticipantType\u003e showRecipientNameTo;"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" @UpdateTimestamp"},{"lineNumber":85,"author":{"gitId":"-"},"content":" @Column"},{"lineNumber":86,"author":{"gitId":"-"},"content":" private Instant updatedAt;"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" protected FeedbackQuestion() {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" // required by Hibernate"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" public FeedbackQuestion("},{"lineNumber":93,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession, Integer questionNumber,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" String description, FeedbackParticipantType giverType, FeedbackParticipantType recipientType,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" Integer numOfEntitiesToGiveFeedbackTo, List\u003cFeedbackParticipantType\u003e showResponsesTo,"},{"lineNumber":96,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showGiverNameTo, List\u003cFeedbackParticipantType\u003e showRecipientNameTo"},{"lineNumber":97,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" this.setId(UUID.randomUUID());"},{"lineNumber":99,"author":{"gitId":"-"},"content":" this.setFeedbackSession(feedbackSession);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" this.setQuestionNumber(questionNumber);"},{"lineNumber":101,"author":{"gitId":"-"},"content":" this.setDescription(description);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" this.setGiverType(giverType);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" this.setRecipientType(recipientType);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" this.setNumOfEntitiesToGiveFeedbackTo(numOfEntitiesToGiveFeedbackTo);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" this.setShowResponsesTo(showResponsesTo);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" this.setShowGiverNameTo(showGiverNameTo);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" this.setShowRecipientNameTo(showRecipientNameTo);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":111,"author":{"gitId":"-"},"content":" * Gets a copy of the question details of the feedback question."},{"lineNumber":112,"author":{"gitId":"-"},"content":" */"},{"lineNumber":113,"author":{"gitId":"-"},"content":" public abstract FeedbackQuestionDetails getQuestionDetailsCopy();"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * Make a copy of the FeedbackQuestion."},{"lineNumber":117,"author":{"gitId":"-"},"content":" */"},{"lineNumber":118,"author":{"gitId":"-"},"content":" public abstract FeedbackQuestion makeDeepCopy(FeedbackSession newFeedbackSession);"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":121,"author":{"gitId":"-"},"content":" * Creates a feedback question according to its {@code FeedbackQuestionType}."},{"lineNumber":122,"author":{"gitId":"-"},"content":" */"},{"lineNumber":123,"author":{"gitId":"-"},"content":" public static FeedbackQuestion makeQuestion("},{"lineNumber":124,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession, Integer questionNumber,"},{"lineNumber":125,"author":{"gitId":"-"},"content":" String description, FeedbackParticipantType giverType, FeedbackParticipantType recipientType,"},{"lineNumber":126,"author":{"gitId":"-"},"content":" Integer numOfEntitiesToGiveFeedbackTo, List\u003cFeedbackParticipantType\u003e showResponsesTo,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showGiverNameTo, List\u003cFeedbackParticipantType\u003e showRecipientNameTo,"},{"lineNumber":128,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails feedbackQuestionDetails"},{"lineNumber":129,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" FeedbackQuestion feedbackQuestion \u003d null;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" switch (feedbackQuestionDetails.getQuestionType()) {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" case TEXT:"},{"lineNumber":133,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackTextQuestion("},{"lineNumber":134,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":135,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":136,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":137,"author":{"gitId":"-"},"content":" );"},{"lineNumber":138,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":139,"author":{"gitId":"-"},"content":" case MCQ:"},{"lineNumber":140,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackMcqQuestion("},{"lineNumber":141,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":142,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":143,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":144,"author":{"gitId":"-"},"content":" );"},{"lineNumber":145,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":146,"author":{"gitId":"-"},"content":" case MSQ:"},{"lineNumber":147,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackMsqQuestion("},{"lineNumber":148,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":149,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":150,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":151,"author":{"gitId":"-"},"content":" );"},{"lineNumber":152,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":153,"author":{"gitId":"-"},"content":" case NUMSCALE:"},{"lineNumber":154,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackNumericalScaleQuestion("},{"lineNumber":155,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":156,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":157,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":158,"author":{"gitId":"-"},"content":" );"},{"lineNumber":159,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" case CONSTSUM:"},{"lineNumber":161,"author":{"gitId":"-"},"content":" case CONSTSUM_OPTIONS:"},{"lineNumber":162,"author":{"gitId":"-"},"content":" case CONSTSUM_RECIPIENTS:"},{"lineNumber":163,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackConstantSumQuestion("},{"lineNumber":164,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":165,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":166,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":167,"author":{"gitId":"-"},"content":" );"},{"lineNumber":168,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":169,"author":{"gitId":"-"},"content":" case CONTRIB:"},{"lineNumber":170,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackContributionQuestion("},{"lineNumber":171,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":172,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":173,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":174,"author":{"gitId":"-"},"content":" );"},{"lineNumber":175,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" case RUBRIC:"},{"lineNumber":177,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackRubricQuestion("},{"lineNumber":178,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":179,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":180,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":181,"author":{"gitId":"-"},"content":" );"},{"lineNumber":182,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":183,"author":{"gitId":"-"},"content":" case RANK_OPTIONS:"},{"lineNumber":184,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackRankOptionsQuestion("},{"lineNumber":185,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":186,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":187,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":188,"author":{"gitId":"-"},"content":" );"},{"lineNumber":189,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":190,"author":{"gitId":"-"},"content":" case RANK_RECIPIENTS:"},{"lineNumber":191,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d new FeedbackRankRecipientsQuestion("},{"lineNumber":192,"author":{"gitId":"-"},"content":" feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":193,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo,"},{"lineNumber":194,"author":{"gitId":"-"},"content":" feedbackQuestionDetails"},{"lineNumber":195,"author":{"gitId":"-"},"content":" );"},{"lineNumber":196,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":" return feedbackQuestion;"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":202,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getInvalidityInfo() {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" List\u003cString\u003e errors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" errors.addAll(FieldValidator.getValidityInfoForFeedbackParticipantType(giverType, recipientType));"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" errors.addAll(FieldValidator.getValidityInfoForFeedbackResponseVisibility(showResponsesTo,"},{"lineNumber":208,"author":{"gitId":"-"},"content":" showGiverNameTo,"},{"lineNumber":209,"author":{"gitId":"-"},"content":" showRecipientNameTo));"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" return errors;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":215,"author":{"gitId":"-"},"content":" * Checks if updating this question to the question will"},{"lineNumber":216,"author":{"gitId":"-"},"content":" * require the responses to be deleted for consistency."},{"lineNumber":217,"author":{"gitId":"-"},"content":" * Does not check if any responses exist."},{"lineNumber":218,"author":{"gitId":"-"},"content":" */"},{"lineNumber":219,"author":{"gitId":"-"},"content":" public boolean areResponseDeletionsRequiredForChanges(FeedbackParticipantType giverType,"},{"lineNumber":220,"author":{"gitId":"-"},"content":" FeedbackParticipantType recipientType,"},{"lineNumber":221,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails questionDetails) {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" if (!giverType.equals(this.giverType)"},{"lineNumber":223,"author":{"gitId":"-"},"content":" || !recipientType.equals(this.recipientType)) {"},{"lineNumber":224,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" return this.getQuestionDetailsCopy().shouldChangesRequireResponseDeletion(questionDetails);"},{"lineNumber":228,"author":{"gitId":"-"},"content":" }"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":" public UUID getId() {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" return id;"},{"lineNumber":232,"author":{"gitId":"-"},"content":" }"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" public void setId(UUID id) {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" this.id \u003d id;"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" public FeedbackSession getFeedbackSession() {"},{"lineNumber":239,"author":{"gitId":"-"},"content":" return feedbackSession;"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"xenosf"},"content":" public String getFeedbackSessionName() {"},{"lineNumber":243,"author":{"gitId":"xenosf"},"content":" return feedbackSession.getName();"},{"lineNumber":244,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":245,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" public void setFeedbackSession(FeedbackSession feedbackSession) {"},{"lineNumber":247,"author":{"gitId":"-"},"content":" this.feedbackSession \u003d feedbackSession;"},{"lineNumber":248,"author":{"gitId":"-"},"content":" }"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponse\u003e getFeedbackResponses() {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" return feedbackResponses;"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" public void setFeedbackResponses(List\u003cFeedbackResponse\u003e feedbackResponses) {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" this.feedbackResponses \u003d feedbackResponses;"},{"lineNumber":256,"author":{"gitId":"-"},"content":" }"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":" public Integer getQuestionNumber() {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" return questionNumber;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" public void setQuestionNumber(Integer questionNumber) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" this.questionNumber \u003d questionNumber;"},{"lineNumber":264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" public String getDescription() {"},{"lineNumber":267,"author":{"gitId":"-"},"content":" return description;"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" public void setDescription(String description) {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" this.description \u003d description;"},{"lineNumber":272,"author":{"gitId":"-"},"content":" }"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":275,"author":{"gitId":"-"},"content":" * Set the question details of the question."},{"lineNumber":276,"author":{"gitId":"-"},"content":" */"},{"lineNumber":277,"author":{"gitId":"-"},"content":" public abstract void setQuestionDetails(FeedbackQuestionDetails questionDetails);"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" public FeedbackParticipantType getGiverType() {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" return giverType;"},{"lineNumber":281,"author":{"gitId":"-"},"content":" }"},{"lineNumber":282,"author":{"gitId":"-"},"content":""},{"lineNumber":283,"author":{"gitId":"-"},"content":" public void setGiverType(FeedbackParticipantType giverType) {"},{"lineNumber":284,"author":{"gitId":"-"},"content":" this.giverType \u003d giverType;"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" public FeedbackParticipantType getRecipientType() {"},{"lineNumber":288,"author":{"gitId":"-"},"content":" return recipientType;"},{"lineNumber":289,"author":{"gitId":"-"},"content":" }"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":" public void setRecipientType(FeedbackParticipantType recipientType) {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" this.recipientType \u003d recipientType;"},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" public Integer getNumOfEntitiesToGiveFeedbackTo() {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" return numOfEntitiesToGiveFeedbackTo;"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" public void setNumOfEntitiesToGiveFeedbackTo(Integer numOfEntitiesToGiveFeedbackTo) {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" this.numOfEntitiesToGiveFeedbackTo \u003d numOfEntitiesToGiveFeedbackTo;"},{"lineNumber":301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" public List\u003cFeedbackParticipantType\u003e getShowResponsesTo() {"},{"lineNumber":304,"author":{"gitId":"-"},"content":" return showResponsesTo;"},{"lineNumber":305,"author":{"gitId":"-"},"content":" }"},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":" public void setShowResponsesTo(List\u003cFeedbackParticipantType\u003e showResponsesTo) {"},{"lineNumber":308,"author":{"gitId":"-"},"content":" this.showResponsesTo \u003d showResponsesTo;"},{"lineNumber":309,"author":{"gitId":"-"},"content":" }"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":" public List\u003cFeedbackParticipantType\u003e getShowGiverNameTo() {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" return showGiverNameTo;"},{"lineNumber":313,"author":{"gitId":"-"},"content":" }"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":" public void setShowGiverNameTo(List\u003cFeedbackParticipantType\u003e showGiverNameTo) {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" this.showGiverNameTo \u003d showGiverNameTo;"},{"lineNumber":317,"author":{"gitId":"-"},"content":" }"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":" public List\u003cFeedbackParticipantType\u003e getShowRecipientNameTo() {"},{"lineNumber":320,"author":{"gitId":"-"},"content":" return showRecipientNameTo;"},{"lineNumber":321,"author":{"gitId":"-"},"content":" }"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" public void setShowRecipientNameTo(List\u003cFeedbackParticipantType\u003e showRecipientNameTo) {"},{"lineNumber":324,"author":{"gitId":"-"},"content":" this.showRecipientNameTo \u003d showRecipientNameTo;"},{"lineNumber":325,"author":{"gitId":"-"},"content":" }"},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":" public Instant getUpdatedAt() {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" return updatedAt;"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" public void setUpdatedAt(Instant updatedAt) {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" this.updatedAt \u003d updatedAt;"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"xenosf"},"content":" public Course getCourse() {"},{"lineNumber":336,"author":{"gitId":"xenosf"},"content":" return this.feedbackSession.getCourse();"},{"lineNumber":337,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":338,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":339,"author":{"gitId":"-"},"content":" public String getCourseId() {"},{"lineNumber":340,"author":{"gitId":"-"},"content":" return this.feedbackSession.getCourse().getId();"},{"lineNumber":341,"author":{"gitId":"-"},"content":" }"},{"lineNumber":342,"author":{"gitId":"-"},"content":""},{"lineNumber":343,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":344,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":345,"author":{"gitId":"-"},"content":" return \"Question [id\u003d\" + id + \", questionNumber\u003d\" + questionNumber + \", description\u003d\" + description"},{"lineNumber":346,"author":{"gitId":"-"},"content":" + \", giverType\u003d\" + giverType + \", recipientType\u003d\" + recipientType"},{"lineNumber":347,"author":{"gitId":"-"},"content":" + \", numOfEntitiesToGiveFeedbackTo\u003d\" + numOfEntitiesToGiveFeedbackTo + \", showResponsesTo\u003d\""},{"lineNumber":348,"author":{"gitId":"-"},"content":" + showResponsesTo + \", showGiverNameTo\u003d\" + showGiverNameTo + \", showRecipientNameTo\u003d\""},{"lineNumber":349,"author":{"gitId":"-"},"content":" + showRecipientNameTo + \", isClosingEmailEnabled\u003d\" + \", createdAt\u003d\" + getCreatedAt() + \", updatedAt\u003d\""},{"lineNumber":350,"author":{"gitId":"-"},"content":" + updatedAt + \"]\";"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":354,"author":{"gitId":"-"},"content":" public int compareTo(FeedbackQuestion o) {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" if (o \u003d\u003d null) {"},{"lineNumber":356,"author":{"gitId":"-"},"content":" return 1;"},{"lineNumber":357,"author":{"gitId":"-"},"content":" }"},{"lineNumber":358,"author":{"gitId":"-"},"content":""},{"lineNumber":359,"author":{"gitId":"-"},"content":" if (!this.questionNumber.equals(o.questionNumber)) {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" return Integer.compare(this.questionNumber, o.questionNumber);"},{"lineNumber":361,"author":{"gitId":"-"},"content":" }"},{"lineNumber":362,"author":{"gitId":"-"},"content":" // Although question numbers ought to be unique in a feedback session,"},{"lineNumber":363,"author":{"gitId":"-"},"content":" // eventual consistency can result in duplicate questions numbers."},{"lineNumber":364,"author":{"gitId":"-"},"content":" // Therefore, to ensure that the question order is always consistent to the user,"},{"lineNumber":365,"author":{"gitId":"-"},"content":" // compare feedbackQuestionId, which is guaranteed to be unique,"},{"lineNumber":366,"author":{"gitId":"-"},"content":" // when the questionNumbers are the same."},{"lineNumber":367,"author":{"gitId":"-"},"content":" return this.id.compareTo(o.id);"},{"lineNumber":368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":369,"author":{"gitId":"-"},"content":""},{"lineNumber":370,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":371,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":372,"author":{"gitId":"-"},"content":" // FeedbackQuestion ID uniquely identifies a FeedbackQuestion."},{"lineNumber":373,"author":{"gitId":"-"},"content":" return this.getId().hashCode();"},{"lineNumber":374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":377,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":378,"author":{"gitId":"-"},"content":" if (other \u003d\u003d null) {"},{"lineNumber":379,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":380,"author":{"gitId":"-"},"content":" } else if (this \u003d\u003d other) {"},{"lineNumber":381,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":382,"author":{"gitId":"-"},"content":" } else if (this.getClass() \u003d\u003d other.getClass()) {"},{"lineNumber":383,"author":{"gitId":"-"},"content":" FeedbackQuestion otherQuestion \u003d (FeedbackQuestion) other;"},{"lineNumber":384,"author":{"gitId":"-"},"content":" return Objects.equals(this.getId(), otherQuestion.getId());"},{"lineNumber":385,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":386,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":388,"author":{"gitId":"-"},"content":" }"},{"lineNumber":389,"author":{"gitId":"-"},"content":""},{"lineNumber":390,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":391,"author":{"gitId":"-"},"content":" * Returns true if the response is visible to the given participant type."},{"lineNumber":392,"author":{"gitId":"-"},"content":" */"},{"lineNumber":393,"author":{"gitId":"-"},"content":" public boolean isResponseVisibleTo(FeedbackParticipantType userType) {"},{"lineNumber":394,"author":{"gitId":"-"},"content":" return showResponsesTo.contains(userType);"},{"lineNumber":395,"author":{"gitId":"-"},"content":" }"},{"lineNumber":396,"author":{"gitId":"-"},"content":"}"},{"lineNumber":397,"author":{"gitId":"-"},"content":""}],"authorContributionMap":{"xenosf":8,"-":389}},{"path":"src/main/java/teammates/storage/sqlentity/FeedbackResponse.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlentity;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Objects;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import jakarta.persistence.CascadeType;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import jakarta.persistence.Column;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import jakarta.persistence.Entity;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import jakarta.persistence.Id;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import jakarta.persistence.Inheritance;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import jakarta.persistence.InheritanceType;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import jakarta.persistence.JoinColumn;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import jakarta.persistence.ManyToOne;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import jakarta.persistence.OneToMany;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import jakarta.persistence.Table;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"import org.hibernate.annotations.UpdateTimestamp;"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackResponseDetails;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackConstantSumResponse;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackContributionResponse;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackMcqResponse;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackMsqResponse;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackNumericalScaleResponse;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackRankOptionsResponse;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackRankRecipientsResponse;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackRubricResponse;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.responses.FeedbackTextResponse;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":34,"author":{"gitId":"-"},"content":" * Represents a Feedback Response."},{"lineNumber":35,"author":{"gitId":"-"},"content":" */"},{"lineNumber":36,"author":{"gitId":"-"},"content":"@Entity"},{"lineNumber":37,"author":{"gitId":"-"},"content":"@Table(name \u003d \"FeedbackResponses\")"},{"lineNumber":38,"author":{"gitId":"-"},"content":"@Inheritance(strategy \u003d InheritanceType.SINGLE_TABLE)"},{"lineNumber":39,"author":{"gitId":"-"},"content":"public abstract class FeedbackResponse extends BaseEntity {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" @Id"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private UUID id;"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" @ManyToOne"},{"lineNumber":44,"author":{"gitId":"-"},"content":" @JoinColumn(name \u003d \"questionId\")"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private FeedbackQuestion feedbackQuestion;"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" @OneToMany(mappedBy \u003d \"feedbackResponse\", cascade \u003d CascadeType.REMOVE)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private List\u003cFeedbackResponseComment\u003e feedbackResponseComments \u003d new ArrayList\u003c\u003e();"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private String giver;"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" @ManyToOne"},{"lineNumber":54,"author":{"gitId":"-"},"content":" @JoinColumn(name \u003d \"giverSectionId\")"},{"lineNumber":55,"author":{"gitId":"-"},"content":" private Section giverSection;"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":58,"author":{"gitId":"-"},"content":" private String recipient;"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" @ManyToOne"},{"lineNumber":61,"author":{"gitId":"-"},"content":" @JoinColumn(name \u003d \"recipientSectionId\")"},{"lineNumber":62,"author":{"gitId":"-"},"content":" private Section recipientSection;"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" @UpdateTimestamp"},{"lineNumber":65,"author":{"gitId":"-"},"content":" private Instant updatedAt;"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" protected FeedbackResponse() {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" // required by Hibernate"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" public FeedbackResponse("},{"lineNumber":72,"author":{"gitId":"-"},"content":" FeedbackQuestion feedbackQuestion, String giver,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" Section giverSection, String recipient, Section recipientSection"},{"lineNumber":74,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" this.setId(UUID.randomUUID());"},{"lineNumber":76,"author":{"gitId":"-"},"content":" this.setFeedbackQuestion(feedbackQuestion);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" this.setGiver(giver);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" this.setGiverSection(giverSection);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" this.setRecipient(recipient);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" this.setRecipientSection(recipientSection);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":84,"author":{"gitId":"-"},"content":" * Creates a feedback response according to its {@code FeedbackQuestionType}."},{"lineNumber":85,"author":{"gitId":"-"},"content":" */"},{"lineNumber":86,"author":{"gitId":"-"},"content":" public static FeedbackResponse makeResponse("},{"lineNumber":87,"author":{"gitId":"-"},"content":" FeedbackQuestion feedbackQuestion, String giver,"},{"lineNumber":88,"author":{"gitId":"-"},"content":" Section giverSection, String receiver, Section receiverSection,"},{"lineNumber":89,"author":{"gitId":"-"},"content":" FeedbackResponseDetails responseDetails"},{"lineNumber":90,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" FeedbackResponse feedbackResponse \u003d null;"},{"lineNumber":92,"author":{"gitId":"-"},"content":" switch (responseDetails.getQuestionType()) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" case TEXT:"},{"lineNumber":94,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackTextResponse("},{"lineNumber":95,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":96,"author":{"gitId":"-"},"content":" );"},{"lineNumber":97,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" case MCQ:"},{"lineNumber":99,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackMcqResponse("},{"lineNumber":100,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":101,"author":{"gitId":"-"},"content":" );"},{"lineNumber":102,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":103,"author":{"gitId":"-"},"content":" case MSQ:"},{"lineNumber":104,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackMsqResponse("},{"lineNumber":105,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":106,"author":{"gitId":"-"},"content":" );"},{"lineNumber":107,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" case NUMSCALE:"},{"lineNumber":109,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackNumericalScaleResponse("},{"lineNumber":110,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":111,"author":{"gitId":"-"},"content":" );"},{"lineNumber":112,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" case CONSTSUM:"},{"lineNumber":114,"author":{"gitId":"-"},"content":" case CONSTSUM_OPTIONS:"},{"lineNumber":115,"author":{"gitId":"-"},"content":" case CONSTSUM_RECIPIENTS:"},{"lineNumber":116,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackConstantSumResponse("},{"lineNumber":117,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":118,"author":{"gitId":"-"},"content":" );"},{"lineNumber":119,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" case CONTRIB:"},{"lineNumber":121,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackContributionResponse("},{"lineNumber":122,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":123,"author":{"gitId":"-"},"content":" );"},{"lineNumber":124,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":125,"author":{"gitId":"-"},"content":" case RUBRIC:"},{"lineNumber":126,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackRubricResponse("},{"lineNumber":127,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":128,"author":{"gitId":"-"},"content":" );"},{"lineNumber":129,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" case RANK_OPTIONS:"},{"lineNumber":131,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackRankOptionsResponse("},{"lineNumber":132,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":133,"author":{"gitId":"-"},"content":" );"},{"lineNumber":134,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":135,"author":{"gitId":"-"},"content":" case RANK_RECIPIENTS:"},{"lineNumber":136,"author":{"gitId":"-"},"content":" feedbackResponse \u003d new FeedbackRankRecipientsResponse("},{"lineNumber":137,"author":{"gitId":"-"},"content":" feedbackQuestion, giver, giverSection, receiver, receiverSection, responseDetails"},{"lineNumber":138,"author":{"gitId":"-"},"content":" );"},{"lineNumber":139,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":" return feedbackResponse;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":145,"author":{"gitId":"-"},"content":" * Update a feedback response according to its {@code FeedbackQuestionType}."},{"lineNumber":146,"author":{"gitId":"-"},"content":" */"},{"lineNumber":147,"author":{"gitId":"-"},"content":" public static FeedbackResponse updateResponse("},{"lineNumber":148,"author":{"gitId":"-"},"content":" FeedbackResponse originalFeedbackResponse,"},{"lineNumber":149,"author":{"gitId":"-"},"content":" FeedbackQuestion feedbackQuestion, String giver,"},{"lineNumber":150,"author":{"gitId":"-"},"content":" Section giverSection, String receiver, Section receiverSection,"},{"lineNumber":151,"author":{"gitId":"-"},"content":" FeedbackResponseDetails responseDetails"},{"lineNumber":152,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" FeedbackResponse updatedFeedbackResponse \u003d makeResponse("},{"lineNumber":154,"author":{"gitId":"-"},"content":" feedbackQuestion,"},{"lineNumber":155,"author":{"gitId":"-"},"content":" giver,"},{"lineNumber":156,"author":{"gitId":"-"},"content":" giverSection,"},{"lineNumber":157,"author":{"gitId":"-"},"content":" receiver,"},{"lineNumber":158,"author":{"gitId":"-"},"content":" receiverSection,"},{"lineNumber":159,"author":{"gitId":"-"},"content":" responseDetails"},{"lineNumber":160,"author":{"gitId":"-"},"content":" );"},{"lineNumber":161,"author":{"gitId":"-"},"content":" updatedFeedbackResponse.setCreatedAt(originalFeedbackResponse.getCreatedAt());"},{"lineNumber":162,"author":{"gitId":"-"},"content":" updatedFeedbackResponse.setId(originalFeedbackResponse.getId());"},{"lineNumber":163,"author":{"gitId":"-"},"content":" return updatedFeedbackResponse;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":167,"author":{"gitId":"-"},"content":" * Gets a copy of the question details of the feedback question."},{"lineNumber":168,"author":{"gitId":"-"},"content":" */"},{"lineNumber":169,"author":{"gitId":"-"},"content":" public abstract FeedbackResponseDetails getFeedbackResponseDetailsCopy();"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" public UUID getId() {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" return id;"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" public void setId(UUID id) {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" this.id \u003d id;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" public FeedbackQuestion getFeedbackQuestion() {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" return feedbackQuestion;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" public void setFeedbackQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" this.feedbackQuestion \u003d feedbackQuestion;"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" public List\u003cFeedbackResponseComment\u003e getFeedbackResponseComments() {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" return feedbackResponseComments;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" public void setFeedbackResponseComments(List\u003cFeedbackResponseComment\u003e feedbackResponseComments) {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" this.feedbackResponseComments \u003d feedbackResponseComments;"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" public String getGiver() {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" return giver;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" public void setGiver(String giver) {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" this.giver \u003d giver;"},{"lineNumber":201,"author":{"gitId":"-"},"content":" }"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" public Section getGiverSection() {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" return giverSection;"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"xenosf"},"content":" public String getGiverSectionName() {"},{"lineNumber":208,"author":{"gitId":"xenosf"},"content":" return giverSection.getName();"},{"lineNumber":209,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":210,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" public void setGiverSection(Section giverSection) {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" this.giverSection \u003d giverSection;"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":" public String getRecipient() {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" return recipient;"},{"lineNumber":217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" public void setRecipient(String recipient) {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" this.recipient \u003d recipient;"},{"lineNumber":221,"author":{"gitId":"-"},"content":" }"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":" public Section getRecipientSection() {"},{"lineNumber":224,"author":{"gitId":"-"},"content":" return recipientSection;"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"xenosf"},"content":" public String getRecipientSectionName() {"},{"lineNumber":228,"author":{"gitId":"xenosf"},"content":" return recipientSection.getName();"},{"lineNumber":229,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":230,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" public void setRecipientSection(Section recipientSection) {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" this.recipientSection \u003d recipientSection;"},{"lineNumber":233,"author":{"gitId":"-"},"content":" }"},{"lineNumber":234,"author":{"gitId":"-"},"content":""},{"lineNumber":235,"author":{"gitId":"-"},"content":" public Instant getUpdatedAt() {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" return updatedAt;"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" public void setUpdatedAt(Instant updatedAt) {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" this.updatedAt \u003d updatedAt;"},{"lineNumber":241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":244,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getInvalidityInfo() {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":249,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" return \"FeedbackResponse [id\u003d\" + id + \", giver\u003d\" + giver + \", recipient\u003d\" + recipient"},{"lineNumber":251,"author":{"gitId":"-"},"content":" + \", createdAt\u003d\" + getCreatedAt() + \", updatedAt\u003d\" + updatedAt + \"]\";"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":255,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":256,"author":{"gitId":"-"},"content":" return this.getId().hashCode();"},{"lineNumber":257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":260,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":261,"author":{"gitId":"-"},"content":" if (other \u003d\u003d null) {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":263,"author":{"gitId":"-"},"content":" } else if (this \u003d\u003d other) {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":265,"author":{"gitId":"-"},"content":" } else if (this.getClass() \u003d\u003d other.getClass()) {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" FeedbackResponse otherResponse \u003d (FeedbackResponse) other;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" return Objects.equals(this.getId(), otherResponse.getId());"},{"lineNumber":268,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":" }"},{"lineNumber":272,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":8,"-":264}},{"path":"src/main/java/teammates/storage/sqlentity/FeedbackResponseComment.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlentity;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Objects;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import jakarta.persistence.Column;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import jakarta.persistence.Convert;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import jakarta.persistence.Entity;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import jakarta.persistence.GeneratedValue;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import jakarta.persistence.Id;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import jakarta.persistence.JoinColumn;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import jakarta.persistence.ManyToOne;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import jakarta.persistence.Table;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"import org.hibernate.annotations.OnDelete;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import org.hibernate.annotations.OnDeleteAction;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import org.hibernate.annotations.UpdateTimestamp;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * Represents a feedback response comment."},{"lineNumber":27,"author":{"gitId":"-"},"content":" */"},{"lineNumber":28,"author":{"gitId":"-"},"content":"@Entity"},{"lineNumber":29,"author":{"gitId":"-"},"content":"@Table(name \u003d \"FeedbackResponseComments\")"},{"lineNumber":30,"author":{"gitId":"-"},"content":"public class FeedbackResponseComment extends BaseEntity {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" @Id"},{"lineNumber":32,"author":{"gitId":"-"},"content":" @GeneratedValue"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private Long id;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" @ManyToOne"},{"lineNumber":36,"author":{"gitId":"-"},"content":" @OnDelete(action \u003d OnDeleteAction.CASCADE)"},{"lineNumber":37,"author":{"gitId":"-"},"content":" @JoinColumn(name \u003d \"responseId\")"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private FeedbackResponse feedbackResponse;"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private String giver;"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackParticipantTypeConverter.class)"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private FeedbackParticipantType giverType;"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" @ManyToOne"},{"lineNumber":48,"author":{"gitId":"-"},"content":" @JoinColumn(name \u003d \"giverSectionId\")"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private Section giverSection;"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" @ManyToOne"},{"lineNumber":52,"author":{"gitId":"-"},"content":" @JoinColumn(name \u003d \"recipientSectionId\")"},{"lineNumber":53,"author":{"gitId":"-"},"content":" private Section recipientSection;"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" private String commentText;"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private boolean isVisibilityFollowingFeedbackQuestion;"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":62,"author":{"gitId":"-"},"content":" private boolean isCommentFromFeedbackParticipant;"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":65,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackParticipantTypeListConverter.class)"},{"lineNumber":66,"author":{"gitId":"-"},"content":" private List\u003cFeedbackParticipantType\u003e showCommentTo;"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":69,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackParticipantTypeListConverter.class)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" private List\u003cFeedbackParticipantType\u003e showGiverNameTo;"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" @UpdateTimestamp"},{"lineNumber":73,"author":{"gitId":"-"},"content":" private Instant updatedAt;"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":76,"author":{"gitId":"-"},"content":" private String lastEditorEmail;"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" protected FeedbackResponseComment() {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" // required by Hibernate"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" public FeedbackResponseComment("},{"lineNumber":83,"author":{"gitId":"-"},"content":" FeedbackResponse feedbackResponse, String giver, FeedbackParticipantType giverType,"},{"lineNumber":84,"author":{"gitId":"-"},"content":" Section giverSection, Section recipientSection, String commentText,"},{"lineNumber":85,"author":{"gitId":"-"},"content":" boolean isVisibilityFollowingFeedbackQuestion, boolean isCommentFromFeedbackParticipant,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showCommentTo, List\u003cFeedbackParticipantType\u003e showGiverNameTo,"},{"lineNumber":87,"author":{"gitId":"-"},"content":" String lastEditorEmail"},{"lineNumber":88,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" this.setFeedbackResponse(feedbackResponse);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" this.setGiver(giver);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" this.setGiverType(giverType);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" this.setGiverSection(giverSection);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" this.setRecipientSection(recipientSection);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" this.setCommentText(commentText);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" this.setIsVisibilityFollowingFeedbackQuestion(isVisibilityFollowingFeedbackQuestion);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" this.setIsCommentFromFeedbackParticipant(isCommentFromFeedbackParticipant);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" this.setShowCommentTo(showCommentTo);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" this.setShowGiverNameTo(showGiverNameTo);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" this.setLastEditorEmail(lastEditorEmail);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" public Long getId() {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return id;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" public void setId(Long id) {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" this.id \u003d id;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" public FeedbackResponse getFeedbackResponse() {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" return feedbackResponse;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" public void setFeedbackResponse(FeedbackResponse feedbackResponse) {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" this.feedbackResponse \u003d feedbackResponse;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" public String getGiver() {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" return giver;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" public void setGiver(String giver) {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" this.giver \u003d giver;"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" public FeedbackParticipantType getGiverType() {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" return giverType;"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" public void setGiverType(FeedbackParticipantType giverType) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" this.giverType \u003d giverType;"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" public Section getGiverSection() {"},{"lineNumber":135,"author":{"gitId":"-"},"content":" return giverSection;"},{"lineNumber":136,"author":{"gitId":"-"},"content":" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" public void setGiverSection(Section giverSection) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" this.giverSection \u003d giverSection;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" public Section getRecipientSection() {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" return recipientSection;"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" public void setRecipientSection(Section recipientSection) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" this.recipientSection \u003d recipientSection;"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" public String getCommentText() {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" return commentText;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" public void setCommentText(String commentText) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" this.commentText \u003d commentText;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" public boolean getIsVisibilityFollowingFeedbackQuestion() {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" return this.isVisibilityFollowingFeedbackQuestion;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" public void setIsVisibilityFollowingFeedbackQuestion(boolean isVisibilityFollowingFeedbackQuestion) {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" this.isVisibilityFollowingFeedbackQuestion \u003d isVisibilityFollowingFeedbackQuestion;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" public boolean getIsCommentFromFeedbackParticipant() {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" return this.isCommentFromFeedbackParticipant;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" public void setIsCommentFromFeedbackParticipant(boolean isCommentFromFeedbackParticipant) {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" this.isCommentFromFeedbackParticipant \u003d isCommentFromFeedbackParticipant;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" public List\u003cFeedbackParticipantType\u003e getShowCommentTo() {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" return showCommentTo;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" public void setShowCommentTo(List\u003cFeedbackParticipantType\u003e showCommentTo) {"},{"lineNumber":179,"author":{"gitId":"-"},"content":" this.showCommentTo \u003d showCommentTo;"},{"lineNumber":180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" public List\u003cFeedbackParticipantType\u003e getShowGiverNameTo() {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" return showGiverNameTo;"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" public void setShowGiverNameTo(List\u003cFeedbackParticipantType\u003e showGiverNameTo) {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" this.showGiverNameTo \u003d showGiverNameTo;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" public Instant getUpdatedAt() {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" return updatedAt;"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" public void setUpdatedAt(Instant updatedAt) {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" this.updatedAt \u003d updatedAt;"},{"lineNumber":196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" public String getLastEditorEmail() {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" return lastEditorEmail;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" public void setLastEditorEmail(String lastEditorEmail) {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" this.lastEditorEmail \u003d lastEditorEmail;"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":207,"author":{"gitId":"-"},"content":" * Formats the entity before persisting in database."},{"lineNumber":208,"author":{"gitId":"-"},"content":" * TODO: Override when BaseEntity adds abstract sanitizeForSaving"},{"lineNumber":209,"author":{"gitId":"-"},"content":" */"},{"lineNumber":210,"author":{"gitId":"-"},"content":" public void sanitizeForSaving() {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" this.commentText \u003d SanitizationHelper.sanitizeForRichText(this.commentText);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" * Returns true if the response comment is visible to the given participant type."},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":" public boolean checkIsVisibleTo(FeedbackParticipantType viewerType) {"},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":" return showCommentTo.contains(viewerType);"},{"lineNumber":219,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":220,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":222,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getInvalidityInfo() {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" List\u003cString\u003e errors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForCommentGiverType(giverType), errors);"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForVisibilityOfFeedbackParticipantComments("},{"lineNumber":228,"author":{"gitId":"-"},"content":" isCommentFromFeedbackParticipant, isVisibilityFollowingFeedbackQuestion), errors);"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":" return errors;"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":234,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" return \"FeedbackResponse [id\u003d\" + id + \", giver\u003d\" + giver + \", commentText\u003d\" + commentText"},{"lineNumber":236,"author":{"gitId":"-"},"content":" + \", isVisibilityFollowingFeedbackQuestion\u003d\" + isVisibilityFollowingFeedbackQuestion"},{"lineNumber":237,"author":{"gitId":"-"},"content":" + \", isCommentFromFeedbackParticipant\u003d\" + isCommentFromFeedbackParticipant"},{"lineNumber":238,"author":{"gitId":"-"},"content":" + \", lastEditorEmail\u003d\" + lastEditorEmail + \", createdAt\u003d\" + getCreatedAt()"},{"lineNumber":239,"author":{"gitId":"-"},"content":" + \", updatedAt\u003d\" + updatedAt + \"]\";"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":243,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" return this.getId().hashCode();"},{"lineNumber":245,"author":{"gitId":"-"},"content":" }"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":248,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" if (other \u003d\u003d null) {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":251,"author":{"gitId":"-"},"content":" } else if (this \u003d\u003d other) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" } else if (this.getClass() \u003d\u003d other.getClass()) {"},{"lineNumber":254,"author":{"gitId":"-"},"content":" FeedbackResponseComment otherResponse \u003d (FeedbackResponseComment) other;"},{"lineNumber":255,"author":{"gitId":"-"},"content":" return Objects.equals(this.getId(), otherResponse.getId());"},{"lineNumber":256,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":258,"author":{"gitId":"-"},"content":" }"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":7,"-":253}},{"path":"src/main/java/teammates/storage/sqlentity/FeedbackSessionLog.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.storage.sqlentity;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import java.util.Objects;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import jakarta.persistence.Column;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import jakarta.persistence.Entity;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"import jakarta.persistence.EnumType;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import jakarta.persistence.Enumerated;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import jakarta.persistence.Id;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import jakarta.persistence.JoinColumn;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"import jakarta.persistence.ManyToOne;"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":"import jakarta.persistence.Table;"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"import org.hibernate.annotations.NotFound;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import org.hibernate.annotations.NotFoundAction;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import org.hibernate.annotations.OnDelete;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import org.hibernate.annotations.OnDeleteAction;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" * Represents a feedback session log."},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":"@Entity"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":"@Table(name \u003d \"FeedbackSessionLogs\")"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":"public class FeedbackSessionLog extends BaseEntity {"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" @Id"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" private UUID id;"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" @ManyToOne"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" @JoinColumn(name \u003d \"studentId\")"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" @NotFound(action \u003d NotFoundAction.IGNORE)"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" @OnDelete(action \u003d OnDeleteAction.CASCADE)"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" private Student student;"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" @ManyToOne"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" @JoinColumn(name \u003d \"sessionId\")"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" @NotFound(action \u003d NotFoundAction.IGNORE)"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" @OnDelete(action \u003d OnDeleteAction.CASCADE)"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" private FeedbackSession feedbackSession;"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" @Column(nullable \u003d false)"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" @Enumerated(EnumType.STRING)"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" private FeedbackSessionLogType feedbackSessionLogType;"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" @Column(nullable \u003d false)"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" private Instant timestamp;"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" protected FeedbackSessionLog() {"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" // required by Hibernate"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" public FeedbackSessionLog(Student student, FeedbackSession feedbackSession,"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType feedbackSessionLogType, Instant timestamp) {"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" this.setId(UUID.randomUUID());"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" this.student \u003d student;"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" this.feedbackSession \u003d feedbackSession;"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" this.feedbackSessionLogType \u003d feedbackSessionLogType;"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" this.timestamp \u003d timestamp;"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" public UUID getId() {"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" return id;"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" public void setId(UUID id) {"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" this.id \u003d id;"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" public Student getStudent() {"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" return student;"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" public void setStudent(Student student) {"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" this.student \u003d student;"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" public FeedbackSession getFeedbackSession() {"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" return feedbackSession;"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":" public void setFeedbackSession(FeedbackSession feedbackSession) {"},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" this.feedbackSession \u003d feedbackSession;"},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":" public FeedbackSessionLogType getFeedbackSessionLogType() {"},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":" return feedbackSessionLogType;"},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" public void setFeedbackSessionLogType(FeedbackSessionLogType feedbackSessionLogType) {"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" this.feedbackSessionLogType \u003d feedbackSessionLogType;"},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" public Instant getTimestamp() {"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" return timestamp;"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" public void setTimestamp(Instant timestamp) {"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":" this.timestamp \u003d timestamp;"},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":" public String toString() {"},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" return \"FeedbackSessionLog [id\u003d\" + id + \", student\u003d\" + student + \", feedbackSession\u003d\" + feedbackSession"},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":" + \", feedbackSessionLogType\u003d\" + feedbackSessionLogType.getLabel() + \", timestamp\u003d\" + timestamp + \"]\";"},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":" public int hashCode() {"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":" return this.getId().hashCode();"},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" public boolean equals(Object other) {"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" if (other \u003d\u003d null) {"},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" return false;"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":" } else if (this \u003d\u003d other) {"},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" return true;"},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" } else if (this.getClass() \u003d\u003d other.getClass()) {"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog otherFeedbackSessionLog \u003d (FeedbackSessionLog) other;"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" return Objects.equals(this.getId(), otherFeedbackSessionLog.getId());"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" return false;"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" public List\u003cString\u003e getInvalidityInfo() {"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":128,"-":7}},{"path":"src/main/java/teammates/storage/sqlentity/Student.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlentity;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import jakarta.persistence.Column;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import jakarta.persistence.Entity;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import jakarta.persistence.Table;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Represents a Student."},{"lineNumber":17,"author":{"gitId":"-"},"content":" */"},{"lineNumber":18,"author":{"gitId":"-"},"content":"@Entity"},{"lineNumber":19,"author":{"gitId":"-"},"content":"@Table(name \u003d \"Students\")"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class Student extends User {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private String comments;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" protected Student() {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" // required by Hibernate"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" public Student(Course course, String name, String email, String comments) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" super(course, name, email);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" this.setComments(comments);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" }"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" public Student(Course course, String name, String email, String comments, Team team) {"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" super(course, name, email);"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" this.setComments(comments);"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" this.setTeam(team);"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" * Gets the comments of the student."},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":42,"author":{"gitId":"-"},"content":" public String getComments() {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" return comments;"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" * Sets the comments of the student."},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":49,"author":{"gitId":"-"},"content":" public void setComments(String comments) {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" this.comments \u003d SanitizationHelper.sanitizeTextField(comments);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":54,"author":{"gitId":"-"},"content":" public String getTeamName() {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" return getTeam().getName();"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":59,"author":{"gitId":"-"},"content":" public String getSectionName() {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return this.getTeam().getSection().getName();"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public Section getSection() {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return this.getTeam().getSection();"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":69,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" return \"Student [id\u003d\" + super.getId() + \", comments\u003d\" + comments"},{"lineNumber":71,"author":{"gitId":"-"},"content":" + \", createdAt\u003d\" + super.getCreatedAt() + \", updatedAt\u003d\" + super.getUpdatedAt() + \"]\";"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getInvalidityInfo() {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" assert comments !\u003d null;"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" List\u003cString\u003e errors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForEmail(super.getEmail()), errors);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForStudentRoleComments(comments), errors);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" addNonEmptyError(FieldValidator.getInvalidityInfoForPersonName(super.getName()), errors);"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" return errors;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" public String getRegistrationUrl() {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" return Config.getFrontEndAppUrl(Const.WebPageURIs.JOIN_PAGE)"},{"lineNumber":89,"author":{"gitId":"-"},"content":" .withRegistrationKey(getRegKey())"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .withEntityType(Const.EntityType.STUDENT)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .toString();"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":12,"-":81}},{"path":"src/main/java/teammates/storage/sqlentity/questions/FeedbackMsqQuestion.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlentity.questions;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import jakarta.persistence.Column;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import jakarta.persistence.Convert;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import jakarta.persistence.Converter;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import jakarta.persistence.Entity;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackMsqQuestionDetails;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Represents an msq question."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"@Entity"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class FeedbackMsqQuestion extends FeedbackQuestion {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false, columnDefinition \u003d \"TEXT\")"},{"lineNumber":24,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackMsqQuestionDetailsConverter.class)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private FeedbackMsqQuestionDetails questionDetails;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" protected FeedbackMsqQuestion() {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" // required by Hibernate"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" public FeedbackMsqQuestion("},{"lineNumber":32,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession, Integer questionNumber,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" String description, FeedbackParticipantType giverType, FeedbackParticipantType recipientType,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" Integer numOfEntitiesToGiveFeedbackTo, List\u003cFeedbackParticipantType\u003e showResponsesTo,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showGiverNameTo, List\u003cFeedbackParticipantType\u003e showRecipientNameTo,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails feedbackQuestionDetails"},{"lineNumber":37,"author":{"gitId":"-"},"content":" ) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" super(feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" setFeedBackQuestionDetails((FeedbackMsqQuestionDetails) feedbackQuestionDetails);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":44,"author":{"gitId":"-"},"content":" public FeedbackQuestionDetails getQuestionDetailsCopy() {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" return questionDetails.getDeepCopy();"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":49,"author":{"gitId":"-"},"content":" public FeedbackMsqQuestion makeDeepCopy(FeedbackSession newFeedbackSession) {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" return new FeedbackMsqQuestion("},{"lineNumber":51,"author":{"gitId":"-"},"content":" newFeedbackSession, this.getQuestionNumber(), this.getDescription(), this.getGiverType(),"},{"lineNumber":52,"author":{"gitId":"-"},"content":" this.getRecipientType(), this.getNumOfEntitiesToGiveFeedbackTo(), new ArrayList\u003c\u003e(this.getShowResponsesTo()),"},{"lineNumber":53,"author":{"gitId":"-"},"content":" new ArrayList\u003c\u003e(this.getShowGiverNameTo()), new ArrayList\u003c\u003e(this.getShowRecipientNameTo()),"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" this.questionDetails.getDeepCopy()"},{"lineNumber":55,"author":{"gitId":"-"},"content":" );"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":59,"author":{"gitId":"-"},"content":" public void setQuestionDetails(FeedbackQuestionDetails questionDetails) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" this.questionDetails \u003d (FeedbackMsqQuestionDetails) questionDetails;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return \"FeedbackMsqQuestion [id\u003d\" + super.getId()"},{"lineNumber":66,"author":{"gitId":"-"},"content":" + \", createdAt\u003d\" + super.getCreatedAt() + \", updatedAt\u003d\" + super.getUpdatedAt() + \"]\";"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" public void setFeedBackQuestionDetails(FeedbackMsqQuestionDetails questionDetails) {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" this.questionDetails \u003d questionDetails;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" public FeedbackMsqQuestionDetails getFeedbackQuestionDetails() {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" return questionDetails;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":78,"author":{"gitId":"-"},"content":" * Converter for FeedbackMsqQuestion specific attributes."},{"lineNumber":79,"author":{"gitId":"-"},"content":" */"},{"lineNumber":80,"author":{"gitId":"-"},"content":" @Converter"},{"lineNumber":81,"author":{"gitId":"-"},"content":" public static class FeedbackMsqQuestionDetailsConverter"},{"lineNumber":82,"author":{"gitId":"-"},"content":" extends FeedbackQuestionDetailsConverter {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":1,"-":83}},{"path":"src/main/java/teammates/storage/sqlentity/questions/FeedbackRankOptionsQuestion.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlentity.questions;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import jakarta.persistence.Column;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import jakarta.persistence.Convert;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import jakarta.persistence.Converter;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import jakarta.persistence.Entity;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackRankOptionsQuestionDetails;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Represents a rank options question."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"@Entity"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class FeedbackRankOptionsQuestion extends FeedbackQuestion {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Column(nullable \u003d false, columnDefinition \u003d \"TEXT\")"},{"lineNumber":24,"author":{"gitId":"-"},"content":" @Convert(converter \u003d FeedbackRankOptionsQuestionDetailsConverter.class)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private FeedbackRankOptionsQuestionDetails questionDetails;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" protected FeedbackRankOptionsQuestion() {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" // required by Hibernate"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" public FeedbackRankOptionsQuestion("},{"lineNumber":32,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession, Integer questionNumber,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" String description, FeedbackParticipantType giverType, FeedbackParticipantType recipientType,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" Integer numOfEntitiesToGiveFeedbackTo, List\u003cFeedbackParticipantType\u003e showResponsesTo,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e showGiverNameTo, List\u003cFeedbackParticipantType\u003e showRecipientNameTo,"},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":" FeedbackQuestionDetails feedbackQuestionDetails) {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" super(feedbackSession, questionNumber, description, giverType, recipientType,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" numOfEntitiesToGiveFeedbackTo, showResponsesTo, showGiverNameTo, showRecipientNameTo);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" setFeedBackQuestionDetails((FeedbackRankOptionsQuestionDetails) feedbackQuestionDetails);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":43,"author":{"gitId":"-"},"content":" public FeedbackQuestionDetails getQuestionDetailsCopy() {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" return questionDetails.getDeepCopy();"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":48,"author":{"gitId":"-"},"content":" public FeedbackRankOptionsQuestion makeDeepCopy(FeedbackSession newFeedbackSession) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" return new FeedbackRankOptionsQuestion("},{"lineNumber":50,"author":{"gitId":"-"},"content":" newFeedbackSession, this.getQuestionNumber(), this.getDescription(), this.getGiverType(),"},{"lineNumber":51,"author":{"gitId":"-"},"content":" this.getRecipientType(), this.getNumOfEntitiesToGiveFeedbackTo(),"},{"lineNumber":52,"author":{"gitId":"-"},"content":" new ArrayList\u003c\u003e(this.getShowResponsesTo()), new ArrayList\u003c\u003e(this.getShowGiverNameTo()),"},{"lineNumber":53,"author":{"gitId":"-"},"content":" new ArrayList\u003c\u003e(this.getShowRecipientNameTo()),"},{"lineNumber":54,"author":{"gitId":"mingyuanc"},"content":" this.questionDetails.getDeepCopy());"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":58,"author":{"gitId":"-"},"content":" public void setQuestionDetails(FeedbackQuestionDetails questionDetails) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" this.questionDetails \u003d (FeedbackRankOptionsQuestionDetails) questionDetails;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":63,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" return \"FeedbackRankOptionsQuestion [id\u003d\" + super.getId()"},{"lineNumber":65,"author":{"gitId":"-"},"content":" + \", createdAt\u003d\" + super.getCreatedAt() + \", updatedAt\u003d\" + super.getUpdatedAt() + \"]\";"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" public void setFeedBackQuestionDetails(FeedbackRankOptionsQuestionDetails questionDetails) {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.questionDetails \u003d questionDetails;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" public FeedbackRankOptionsQuestionDetails getFeedbackQuestionDetails() {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" return questionDetails;"},{"lineNumber":74,"author":{"gitId":"-"},"content":" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":77,"author":{"gitId":"-"},"content":" * Converter for FeedbackRankOptionsQuestion specific attributes."},{"lineNumber":78,"author":{"gitId":"-"},"content":" */"},{"lineNumber":79,"author":{"gitId":"-"},"content":" @Converter"},{"lineNumber":80,"author":{"gitId":"-"},"content":" public static class FeedbackRankOptionsQuestionDetailsConverter"},{"lineNumber":81,"author":{"gitId":"-"},"content":" extends FeedbackQuestionDetailsConverter {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" }"},{"lineNumber":83,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"mingyuanc":2,"-":81}},{"path":"src/main/java/teammates/storage/sqlentity/responses/FeedbackMissingResponse.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.storage.sqlentity.responses;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.questions.FeedbackTextResponseDetails;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":" * Represents a missing response."},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"public class FeedbackMissingResponse extends FeedbackTextResponse {"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":" private String giverSectionName;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":" private String recipientSectionName;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":" protected FeedbackMissingResponse() {"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":" // required by Hibernate"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":" public FeedbackMissingResponse("},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion feedbackQuestion, String giver,"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" String giverSectionName, String recipient, String recipientSectionName"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" ) {"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" super(feedbackQuestion, giver, null, recipient, null, new FeedbackTextResponseDetails(Const.MISSING_RESPONSE_TEXT));"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" this.giverSectionName \u003d giverSectionName;"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" this.recipientSectionName \u003d recipientSectionName;"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" public String getGiverSectionName() {"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" return giverSectionName;"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" public String getRecipientSectionName() {"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" return recipientSectionName;"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":37}},{"path":"src/main/java/teammates/storage/sqlsearch/SearchManager.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.storage.sqlsearch;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.net.SocketTimeoutException;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.apache.commons.lang.StringUtils;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.apache.solr.client.solrj.SolrQuery;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.apache.solr.client.solrj.SolrServerException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.apache.solr.client.solrj.impl.HttpSolrClient;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.apache.solr.client.solrj.response.QueryResponse;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.apache.solr.common.SolrDocument;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import org.apache.solr.common.SolrInputDocument;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.BaseEntity;"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * Acts as a proxy to search service."},{"lineNumber":28,"author":{"gitId":"-"},"content":" *"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * @param \u003cT\u003e Type of entity to be returned"},{"lineNumber":30,"author":{"gitId":"-"},"content":" */"},{"lineNumber":31,"author":{"gitId":"-"},"content":"abstract class SearchManager\u003cT extends BaseEntity\u003e {"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final String ERROR_DELETE_DOCUMENT \u003d \"Failed to delete document(s) %s in Solr. Root cause: %s \";"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String ERROR_SEARCH_DOCUMENT \u003d \"Failed to search for document(s) %s from Solr. Root cause: %s \";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String ERROR_SEARCH_NOT_IMPLEMENTED \u003d \"Search service is not implemented\";"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final String ERROR_PUT_DOCUMENT \u003d \"Failed to put document %s into Solr. Root cause: %s \";"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final String ERROR_RESET_COLLECTION \u003d \"Failed to reset collections. Root cause: %s \";"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final int START_INDEX \u003d 0;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final int NUM_OF_RESULTS \u003d Const.SEARCH_QUERY_SIZE_LIMIT;"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" private final HttpSolrClient client;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private final boolean isResetAllowed;"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" SearchManager(String searchServiceHost, boolean isResetAllowed) {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" this.isResetAllowed \u003d Config.IS_DEV_SERVER \u0026\u0026 isResetAllowed;"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" if (StringHelper.isEmpty(searchServiceHost)) {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" this.client \u003d null;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" this.client \u003d new HttpSolrClient.Builder(searchServiceHost)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .withConnectionTimeout(2000) // timeout for connecting to Solr server"},{"lineNumber":55,"author":{"gitId":"-"},"content":" .withSocketTimeout(5000) // timeout for reading data"},{"lineNumber":56,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" SolrQuery getBasicQuery(String queryString) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" SolrQuery query \u003d new SolrQuery();"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" String cleanQueryString \u003d cleanSpecialChars(queryString);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" query.setQuery(cleanQueryString);"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" query.setStart(START_INDEX);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" query.setRows(NUM_OF_RESULTS);"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" return query;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" QueryResponse performQuery(SolrQuery query) throws SearchServiceException {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" if (client \u003d\u003d null) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" throw new SearchServiceException(\"Full-text search is not available.\", HttpStatus.SC_NOT_IMPLEMENTED);"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" return client.query(getCollectionName(), query);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" } catch (SolrServerException e) {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" Throwable rootCause \u003d e.getRootCause();"},{"lineNumber":81,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_SEARCH_DOCUMENT, query.getQuery(), rootCause), e);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" if (rootCause instanceof SocketTimeoutException) {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" throw new SearchServiceException(\"A timeout was reached while processing your request. \""},{"lineNumber":84,"author":{"gitId":"-"},"content":" + \"Please try again later.\", e, HttpStatus.SC_GATEWAY_TIMEOUT);"},{"lineNumber":85,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" throw new SearchServiceException(\"An error has occurred while performing search. \""},{"lineNumber":87,"author":{"gitId":"-"},"content":" + \"Please try again later.\", e, HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_SEARCH_DOCUMENT, query.getQuery(), e.getCause()), e);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" throw new SearchServiceException(\"An error has occurred while performing search. \""},{"lineNumber":92,"author":{"gitId":"-"},"content":" + \"Please try again later.\", e, HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" abstract String getCollectionName();"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" abstract SearchDocument\u003cT\u003e createDocument(T entity);"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":101,"author":{"gitId":"-"},"content":" * Creates or updates search document for the given entity."},{"lineNumber":102,"author":{"gitId":"-"},"content":" */"},{"lineNumber":103,"author":{"gitId":"-"},"content":" public void putDocument(T entity) throws SearchServiceException {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" if (client \u003d\u003d null) {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" log.warning(ERROR_SEARCH_NOT_IMPLEMENTED);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" if (entity \u003d\u003d null) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" Map\u003cString, Object\u003e searchableFields \u003d createDocument(entity).getSearchableFields();"},{"lineNumber":114,"author":{"gitId":"-"},"content":" SolrInputDocument document \u003d new SolrInputDocument();"},{"lineNumber":115,"author":{"gitId":"-"},"content":" searchableFields.forEach((key, value) -\u003e document.addField(key, value));"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" client.add(getCollectionName(), Collections.singleton(document));"},{"lineNumber":119,"author":{"gitId":"-"},"content":" client.commit(getCollectionName());"},{"lineNumber":120,"author":{"gitId":"-"},"content":" } catch (SolrServerException e) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_PUT_DOCUMENT, document, e.getRootCause()), e);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" throw new SearchServiceException(e, HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_PUT_DOCUMENT, document, e.getCause()), e);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" throw new SearchServiceException(e, HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":130,"author":{"gitId":"-"},"content":" * Removes search documents based on the given keys."},{"lineNumber":131,"author":{"gitId":"-"},"content":" */"},{"lineNumber":132,"author":{"gitId":"-"},"content":" public void deleteDocuments(List\u003cString\u003e keys) {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" if (client \u003d\u003d null) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" log.warning(ERROR_SEARCH_NOT_IMPLEMENTED);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":136,"author":{"gitId":"-"},"content":" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" if (keys.isEmpty()) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" client.deleteById(getCollectionName(), keys);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" client.commit(getCollectionName());"},{"lineNumber":145,"author":{"gitId":"-"},"content":" } catch (SolrServerException e) {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_DELETE_DOCUMENT, keys, e.getRootCause()), e);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_DELETE_DOCUMENT, keys, e.getCause()), e);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * Resets the data for all collections if, and only if called during component"},{"lineNumber":154,"author":{"gitId":"-"},"content":" * tests."},{"lineNumber":155,"author":{"gitId":"-"},"content":" */"},{"lineNumber":156,"author":{"gitId":"-"},"content":" public void resetCollections() {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" if (client \u003d\u003d null || !isResetAllowed) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" client.deleteByQuery(getCollectionName(), \"*:*\");"},{"lineNumber":163,"author":{"gitId":"-"},"content":" client.commit(getCollectionName());"},{"lineNumber":164,"author":{"gitId":"-"},"content":" } catch (SolrServerException e) {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_RESET_COLLECTION, e.getRootCause()), e);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" log.severe(String.format(ERROR_RESET_COLLECTION, e.getCause()), e);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" private String cleanSpecialChars(String queryString) {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" String htmlTagStripPattern \u003d \"\u003c[^\u003e]*\u003e\";"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" // Solr special characters: + - \u0026\u0026 || ! ( ) { } [ ] ^ \" ~ * ? : \\ /"},{"lineNumber":175,"author":{"gitId":"-"},"content":" String res \u003d queryString.replaceAll(htmlTagStripPattern, \"\")"},{"lineNumber":176,"author":{"gitId":"-"},"content":" .replace(\"\\\\\", \"\\\\\\\\\")"},{"lineNumber":177,"author":{"gitId":"-"},"content":" .replace(\"+\", \"\\\\+\")"},{"lineNumber":178,"author":{"gitId":"-"},"content":" .replace(\"-\", \"\\\\-\")"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .replace(\"\u0026\u0026\", \"\\\\\u0026\u0026\")"},{"lineNumber":180,"author":{"gitId":"-"},"content":" .replace(\"||\", \"\\\\||\")"},{"lineNumber":181,"author":{"gitId":"-"},"content":" .replace(\"!\", \"\\\\!\")"},{"lineNumber":182,"author":{"gitId":"-"},"content":" .replace(\"(\", \"\\\\(\")"},{"lineNumber":183,"author":{"gitId":"-"},"content":" .replace(\")\", \"\\\\)\")"},{"lineNumber":184,"author":{"gitId":"-"},"content":" .replace(\"{\", \"\\\\{\")"},{"lineNumber":185,"author":{"gitId":"-"},"content":" .replace(\"}\", \"\\\\}\")"},{"lineNumber":186,"author":{"gitId":"-"},"content":" .replace(\"[\", \"\\\\[\")"},{"lineNumber":187,"author":{"gitId":"-"},"content":" .replace(\"]\", \"\\\\]\")"},{"lineNumber":188,"author":{"gitId":"-"},"content":" .replace(\"^\", \"\\\\^\")"},{"lineNumber":189,"author":{"gitId":"-"},"content":" .replace(\"~\", \"\\\\~\")"},{"lineNumber":190,"author":{"gitId":"-"},"content":" .replace(\"?\", \"\\\\?\")"},{"lineNumber":191,"author":{"gitId":"-"},"content":" .replace(\":\", \"\\\\:\")"},{"lineNumber":192,"author":{"gitId":"-"},"content":" .replace(\"/\", \"\\\\/\");"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" // imbalanced double quotes are invalid"},{"lineNumber":195,"author":{"gitId":"-"},"content":" int count \u003d StringUtils.countMatches(res, \"\\\"\");"},{"lineNumber":196,"author":{"gitId":"-"},"content":" if (count % 2 \u003d\u003d 1) {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" res \u003d res.replace(\"\\\"\", \"\");"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" // use exact match only when there\u0027s email-like input"},{"lineNumber":201,"author":{"gitId":"-"},"content":" if (res.contains(\"@\") \u0026\u0026 count \u003d\u003d 0) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" return \"\\\"\" + res + \"\\\"\";"},{"lineNumber":203,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" return res;"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" abstract T getEntityFromDocument(SolrDocument document);"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":" abstract void sortResult(List\u003cT\u003e result);"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" List\u003cT\u003e convertDocumentToEntities(List\u003cSolrDocument\u003e documents) {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" if (documents \u003d\u003d null) {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" List\u003cT\u003e result \u003d new ArrayList\u003c\u003e();"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" for (SolrDocument document : documents) {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" T entity \u003d getEntityFromDocument(document);"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" // Entity will be null if document corresponds to entity in datastore"},{"lineNumber":223,"author":{"gitId":"-"},"content":" if (entity \u003d\u003d null) {"},{"lineNumber":224,"author":{"gitId":"-"},"content":" // search engine out of sync as SearchManager may fail to delete documents"},{"lineNumber":225,"author":{"gitId":"-"},"content":" // the chance is low and it is generally not a big problem"},{"lineNumber":226,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":227,"author":{"gitId":"domoberzin"},"content":" // these lines below are commented out as they interfere with the dual db search,"},{"lineNumber":228,"author":{"gitId":"domoberzin"},"content":" // and cause unwanted deletions, please refer to the following PR for more details"},{"lineNumber":229,"author":{"gitId":"domoberzin"},"content":" // [PR](https://github.com/TEAMMATES/teammates/pull/12838)"},{"lineNumber":230,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":231,"author":{"gitId":"domoberzin"},"content":" // String id \u003d (String) document.getFirstValue(\"id\");"},{"lineNumber":232,"author":{"gitId":"domoberzin"},"content":" // deleteDocuments(Collections.singletonList(id));"},{"lineNumber":233,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":" result.add(entity);"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":" sortResult(result);"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" return result;"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":7,"-":235}},{"path":"src/main/java/teammates/ui/constants/ApiConst.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.constants;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import com.fasterxml.jackson.annotation.JsonValue;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":9,"author":{"gitId":"-"},"content":" * Special constants used by the back-end."},{"lineNumber":10,"author":{"gitId":"-"},"content":" */"},{"lineNumber":11,"author":{"gitId":"-"},"content":"public enum ApiConst {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" // CHECKSTYLE.OFF:JavadocVariable"},{"lineNumber":13,"author":{"gitId":"-"},"content":" COURSE_ID_MAX_LENGTH(FieldValidator.COURSE_ID_MAX_LENGTH),"},{"lineNumber":14,"author":{"gitId":"-"},"content":" COURSE_NAME_MAX_LENGTH(FieldValidator.COURSE_NAME_MAX_LENGTH),"},{"lineNumber":15,"author":{"gitId":"-"},"content":" STUDENT_NAME_MAX_LENGTH(FieldValidator.PERSON_NAME_MAX_LENGTH),"},{"lineNumber":16,"author":{"gitId":"-"},"content":" SECTION_NAME_MAX_LENGTH(FieldValidator.SECTION_NAME_MAX_LENGTH),"},{"lineNumber":17,"author":{"gitId":"-"},"content":" TEAM_NAME_MAX_LENGTH(FieldValidator.TEAM_NAME_MAX_LENGTH),"},{"lineNumber":18,"author":{"gitId":"-"},"content":" EMAIL_MAX_LENGTH(FieldValidator.EMAIL_MAX_LENGTH),"},{"lineNumber":19,"author":{"gitId":"-"},"content":" FEEDBACK_SESSION_NAME_MAX_LENGTH(FieldValidator.FEEDBACK_SESSION_NAME_MAX_LENGTH),"},{"lineNumber":20,"author":{"gitId":"-"},"content":" NOTIFICATION_TITLE_MAX_LENGTH(FieldValidator.NOTIFICATION_TITLE_MAX_LENGTH),"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" CONTRIBUTION_POINT_NOT_SUBMITTED(Const.POINTS_NOT_SUBMITTED),"},{"lineNumber":23,"author":{"gitId":"-"},"content":" CONTRIBUTION_POINT_NOT_INITIALIZED(Const.INT_UNINITIALIZED),"},{"lineNumber":24,"author":{"gitId":"-"},"content":" CONTRIBUTION_POINT_NOT_SURE(Const.POINTS_NOT_SURE),"},{"lineNumber":25,"author":{"gitId":"-"},"content":" CONTRIBUTION_POINT_EQUAL_SHARE(Const.POINTS_EQUAL_SHARE),"},{"lineNumber":26,"author":{"gitId":"-"},"content":" NUMERICAL_SCALE_ANSWER_NOT_SUBMITTED(Const.POINTS_NOT_SUBMITTED),"},{"lineNumber":27,"author":{"gitId":"-"},"content":" RANK_OPTIONS_ANSWER_NOT_SUBMITTED(Const.POINTS_NOT_SUBMITTED),"},{"lineNumber":28,"author":{"gitId":"-"},"content":" RANK_RECIPIENTS_ANSWER_NOT_SUBMITTED(Const.POINTS_NOT_SUBMITTED),"},{"lineNumber":29,"author":{"gitId":"-"},"content":" NO_VALUE(Const.POINTS_NO_VALUE),"},{"lineNumber":30,"author":{"gitId":"-"},"content":" LOGS_RETENTION_PERIOD(Const.LOGS_RETENTION_PERIOD.toDays()),"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" SEARCH_QUERY_SIZE_LIMIT(Const.SEARCH_QUERY_SIZE_LIMIT),"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" STUDENT_ACTIVITY_LOGS_UPDATE_INTERVAL(Const.STUDENT_ACTIVITY_LOGS_UPDATE_INTERVAL.toMinutes());"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" // CHECKSTYLE.ON:JavadocVariable"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" private final Object value;"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" ApiConst(Object value) {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" this.value \u003d value;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" @JsonValue"},{"lineNumber":43,"author":{"gitId":"-"},"content":" public Object getValue() {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" return value;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":3,"-":44}},{"path":"src/main/java/teammates/ui/constants/ApiStringConst.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.ui.constants;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import com.fasterxml.jackson.annotation.JsonValue;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":" * Special constants used by the back-end."},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"public enum ApiStringConst {"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":" // CHECKSTYLE.OFF:JavadocVariable"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":" EMAIL_REGEX(escapeRegex(FieldValidator.REGEX_EMAIL));"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":" // CHECKSTYLE.ON:JavadocVariable"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":" private final Object value;"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" ApiStringConst(Object value) {"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":" this.value \u003d value;"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" @JsonValue"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" public Object getValue() {"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" return value;"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" * Escape regex pattern strings to ensure the pattern remains valid when converted to JS."},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" private static String escapeRegex(String regexStr) {"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" String escapedRegexStr \u003d regexStr;"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" // Double escape backslashes"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" escapedRegexStr \u003d escapedRegexStr.replace(\"\\\\\", \"\\\\\\\\\");"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" // Replace possessive zero or more times quantifier *+ that the email pattern uses"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" // with greedy zero or more times quantifier *"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" // as possessive quantifiers are not supported in JavaScript"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" escapedRegexStr \u003d escapedRegexStr.replace(\"*+\", \"*\");"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" return escapedRegexStr;"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":40}},{"path":"src/main/java/teammates/ui/constants/ResourceEndpoints.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.constants;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import com.fasterxml.jackson.annotation.JsonValue;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.util.Const.ResourceURIs;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":8,"author":{"gitId":"-"},"content":" * API endpoints for resources."},{"lineNumber":9,"author":{"gitId":"-"},"content":" */"},{"lineNumber":10,"author":{"gitId":"-"},"content":"public enum ResourceEndpoints {"},{"lineNumber":11,"author":{"gitId":"-"},"content":" //CHECKSTYLE.OFF:JavadocVariable"},{"lineNumber":12,"author":{"gitId":"-"},"content":" ERROR_REPORT(ResourceURIs.ERROR_REPORT),"},{"lineNumber":13,"author":{"gitId":"-"},"content":" AUTH(ResourceURIs.AUTH),"},{"lineNumber":14,"author":{"gitId":"-"},"content":" AUTH_REGKEY(ResourceURIs.AUTH_REGKEY),"},{"lineNumber":15,"author":{"gitId":"-"},"content":" ACCOUNT(ResourceURIs.ACCOUNT),"},{"lineNumber":16,"author":{"gitId":"-"},"content":" ACCOUNT_RESET(ResourceURIs.ACCOUNT_RESET),"},{"lineNumber":17,"author":{"gitId":"-"},"content":" ACCOUNT_REQUEST(ResourceURIs.ACCOUNT_REQUEST),"},{"lineNumber":18,"author":{"gitId":"-"},"content":" ACCOUNT_REQUESTS(ResourceURIs.ACCOUNT_REQUESTS),"},{"lineNumber":19,"author":{"gitId":"-"},"content":" ACCOUNT_REQUEST_RESET(ResourceURIs.ACCOUNT_REQUEST_RESET),"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" ACCOUNT_REQUEST_REJECT(ResourceURIs.ACCOUNT_REQUEST_REJECTION),"},{"lineNumber":21,"author":{"gitId":"-"},"content":" ACCOUNTS(ResourceURIs.ACCOUNTS),"},{"lineNumber":22,"author":{"gitId":"-"},"content":" RESPONSE_COMMENT(ResourceURIs.RESPONSE_COMMENT),"},{"lineNumber":23,"author":{"gitId":"-"},"content":" COURSE(ResourceURIs.COURSE),"},{"lineNumber":24,"author":{"gitId":"-"},"content":" COURSE_ARCHIVE(ResourceURIs.COURSE_ARCHIVE),"},{"lineNumber":25,"author":{"gitId":"-"},"content":" BIN_COURSE(ResourceURIs.BIN_COURSE),"},{"lineNumber":26,"author":{"gitId":"-"},"content":" COURSE_SECTIONS(ResourceURIs.COURSE_SECTIONS),"},{"lineNumber":27,"author":{"gitId":"-"},"content":" COURSES(ResourceURIs.COURSES),"},{"lineNumber":28,"author":{"gitId":"-"},"content":" INSTRUCTORS(ResourceURIs.INSTRUCTORS),"},{"lineNumber":29,"author":{"gitId":"-"},"content":" INSTRUCTOR(ResourceURIs.INSTRUCTOR),"},{"lineNumber":30,"author":{"gitId":"-"},"content":" INSTRUCTOR_PRIVILEGE(ResourceURIs.INSTRUCTOR_PRIVILEGE),"},{"lineNumber":31,"author":{"gitId":"-"},"content":" INSTRUCTOR_KEY(ResourceURIs.INSTRUCTOR_KEY),"},{"lineNumber":32,"author":{"gitId":"-"},"content":" RESULT(ResourceURIs.RESULT),"},{"lineNumber":33,"author":{"gitId":"-"},"content":" STUDENTS(ResourceURIs.STUDENTS),"},{"lineNumber":34,"author":{"gitId":"-"},"content":" STUDENT(ResourceURIs.STUDENT),"},{"lineNumber":35,"author":{"gitId":"-"},"content":" STUDENT_KEY(ResourceURIs.STUDENT_KEY),"},{"lineNumber":36,"author":{"gitId":"-"},"content":" SESSIONS_ONGOING(ResourceURIs.SESSIONS_ONGOING),"},{"lineNumber":37,"author":{"gitId":"-"},"content":" SESSION(ResourceURIs.SESSION),"},{"lineNumber":38,"author":{"gitId":"-"},"content":" SESSION_LOGS(ResourceURIs.SESSION_LOGS),"},{"lineNumber":39,"author":{"gitId":"-"},"content":" SESSION_PUBLISH(ResourceURIs.SESSION_PUBLISH),"},{"lineNumber":40,"author":{"gitId":"-"},"content":" SESSION_REMIND_SUBMISSION(ResourceURIs.SESSION_REMIND_SUBMISSION),"},{"lineNumber":41,"author":{"gitId":"-"},"content":" SESSION_REMIND_RESULT(ResourceURIs.SESSION_REMIND_RESULT),"},{"lineNumber":42,"author":{"gitId":"-"},"content":" SESSION_STATS(ResourceURIs.SESSION_STATS),"},{"lineNumber":43,"author":{"gitId":"-"},"content":" SESSION_SUBMITTED_GIVER_SET(ResourceURIs.SESSION_SUBMITTED_GIVER_SET),"},{"lineNumber":44,"author":{"gitId":"-"},"content":" SESSIONS(ResourceURIs.SESSIONS),"},{"lineNumber":45,"author":{"gitId":"-"},"content":" BIN_SESSION(ResourceURIs.BIN_SESSION),"},{"lineNumber":46,"author":{"gitId":"-"},"content":" QUESTIONS(ResourceURIs.QUESTIONS),"},{"lineNumber":47,"author":{"gitId":"-"},"content":" QUESTION(ResourceURIs.QUESTION),"},{"lineNumber":48,"author":{"gitId":"-"},"content":" QUESTION_RECIPIENTS(ResourceURIs.QUESTION_RECIPIENTS),"},{"lineNumber":49,"author":{"gitId":"-"},"content":" RESPONSES(ResourceURIs.RESPONSES),"},{"lineNumber":50,"author":{"gitId":"-"},"content":" HAS_RESPONSES(ResourceURIs.HAS_RESPONSES),"},{"lineNumber":51,"author":{"gitId":"-"},"content":" NOTIFICATION(ResourceURIs.NOTIFICATION),"},{"lineNumber":52,"author":{"gitId":"-"},"content":" NOTIFICATIONS(ResourceURIs.NOTIFICATIONS),"},{"lineNumber":53,"author":{"gitId":"-"},"content":" NOTIFICATION_READ(ResourceURIs.NOTIFICATION_READ),"},{"lineNumber":54,"author":{"gitId":"-"},"content":" JOIN(ResourceURIs.JOIN),"},{"lineNumber":55,"author":{"gitId":"-"},"content":" JOIN_REMIND(ResourceURIs.JOIN_REMIND),"},{"lineNumber":56,"author":{"gitId":"-"},"content":" TIMEZONE(ResourceURIs.TIMEZONE),"},{"lineNumber":57,"author":{"gitId":"-"},"content":" SESSION_LINKS_RECOVERY(ResourceURIs.SESSION_LINKS_RECOVERY),"},{"lineNumber":58,"author":{"gitId":"-"},"content":" EMAIL(ResourceURIs.EMAIL),"},{"lineNumber":59,"author":{"gitId":"-"},"content":" SEARCH_ACCOUNT_REQUESTS(ResourceURIs.SEARCH_ACCOUNT_REQUESTS),"},{"lineNumber":60,"author":{"gitId":"-"},"content":" SEARCH_INSTRUCTORS(ResourceURIs.SEARCH_INSTRUCTORS),"},{"lineNumber":61,"author":{"gitId":"-"},"content":" SEARCH_STUDENTS(ResourceURIs.SEARCH_STUDENTS),"},{"lineNumber":62,"author":{"gitId":"-"},"content":" LOGS(ResourceURIs.LOGS),"},{"lineNumber":63,"author":{"gitId":"-"},"content":" USAGE_STATISTICS(ResourceURIs.USAGE_STATISTICS),"},{"lineNumber":64,"author":{"gitId":"-"},"content":" ACTION_CLASS(ResourceURIs.ACTION_CLASS),"},{"lineNumber":65,"author":{"gitId":"-"},"content":" LOGIN_EMAIL(ResourceURIs.LOGIN_EMAIL);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" //CHECKSTYLE.ON:JavadocVariable"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" private final String url;"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" ResourceEndpoints(String s) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" this.url \u003d s;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" @JsonValue"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public String getUrl() {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" return url;"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":1,"-":77}},{"path":"src/main/java/teammates/ui/output/CourseData.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.output;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import jakarta.annotation.Nullable;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPermissionSet;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":10,"author":{"gitId":"-"},"content":" * The API output format of a course."},{"lineNumber":11,"author":{"gitId":"-"},"content":" */"},{"lineNumber":12,"author":{"gitId":"-"},"content":"public class CourseData extends ApiOutput {"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" private final String courseId;"},{"lineNumber":15,"author":{"gitId":"-"},"content":" private final String courseName;"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private final String timeZone;"},{"lineNumber":17,"author":{"gitId":"-"},"content":" private final String institute;"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":" @Nullable"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":" private final Boolean isMigrated;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" private long creationTimestamp;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" private long deletionTimestamp;"},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private InstructorPermissionSet privileges;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" public CourseData(CourseAttributes courseAttributes) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" this.courseId \u003d courseAttributes.getId();"},{"lineNumber":27,"author":{"gitId":"-"},"content":" this.courseName \u003d courseAttributes.getName();"},{"lineNumber":28,"author":{"gitId":"-"},"content":" this.timeZone \u003d courseAttributes.getTimeZone();"},{"lineNumber":29,"author":{"gitId":"-"},"content":" this.institute \u003d courseAttributes.getInstitute();"},{"lineNumber":30,"author":{"gitId":"-"},"content":" this.creationTimestamp \u003d courseAttributes.getCreatedAt().toEpochMilli();"},{"lineNumber":31,"author":{"gitId":"-"},"content":" if (courseAttributes.getDeletedAt() !\u003d null) {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" this.deletionTimestamp \u003d courseAttributes.getDeletedAt().toEpochMilli();"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" this.isMigrated \u003d false;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" public CourseData(Course course) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" this.courseId \u003d course.getId();"},{"lineNumber":39,"author":{"gitId":"-"},"content":" this.courseName \u003d course.getName();"},{"lineNumber":40,"author":{"gitId":"-"},"content":" this.timeZone \u003d course.getTimeZone();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" this.institute \u003d course.getInstitute();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" this.creationTimestamp \u003d course.getCreatedAt().toEpochMilli();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" if (course.getDeletedAt() !\u003d null) {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" this.deletionTimestamp \u003d course.getDeletedAt().toEpochMilli();"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" this.isMigrated \u003d true;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" }"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" public String getCourseId() {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" return courseId;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" public String getCourseName() {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" return courseName;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" public String getInstitute() {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" return institute;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" public String getTimeZone() {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" return timeZone;"},{"lineNumber":63,"author":{"gitId":"-"},"content":" }"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" public long getCreationTimestamp() {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" return creationTimestamp;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" public long getDeletionTimestamp() {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" return deletionTimestamp;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" public Boolean getIsMigrated() {"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" return isMigrated;"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" public InstructorPermissionSet getPrivileges() {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" return privileges;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" public void setCreationTimestamp(long creationTimestamp) {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" this.creationTimestamp \u003d creationTimestamp;"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" public void setDeletionTimestamp(long deletionTimestamp) {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" this.deletionTimestamp \u003d deletionTimestamp;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" public void setPrivileges(InstructorPermissionSet privileges) {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" this.privileges \u003d privileges;"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":94,"author":{"gitId":"-"},"content":" * Hides some attributes to student."},{"lineNumber":95,"author":{"gitId":"-"},"content":" */"},{"lineNumber":96,"author":{"gitId":"-"},"content":" public void hideInformationForStudent() {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" setDeletionTimestamp(0);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":8,"-":91}},{"path":"src/main/java/teammates/ui/output/FeedbackSessionData.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.output;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import jakarta.annotation.Nullable;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPermissionSet;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * The API output format of {@link FeedbackSessionAttributes}."},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class FeedbackSessionData extends ApiOutput {"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":" @Nullable"},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" private final UUID feedbackSessionId;"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" private final String courseId;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private final String timeZone;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private final String feedbackSessionName;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private final String instructions;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private final Long submissionStartTimestamp;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private final Long submissionEndTimestamp;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private Long submissionEndWithExtensionTimestamp;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private Long sessionVisibleFromTimestamp;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private Long resultVisibleFromTimestamp;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private Long gracePeriod;"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" private SessionVisibleSetting sessionVisibleSetting;"},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private Long customSessionVisibleTimestamp;"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" private ResponseVisibleSetting responseVisibleSetting;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private Long customResponseVisibleTimestamp;"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" private FeedbackSessionSubmissionStatus submissionStatus;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private FeedbackSessionPublishStatus publishStatus;"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" private Boolean isClosingEmailEnabled;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" private Boolean isPublishedEmailEnabled;"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" private long createdAtTimestamp;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private final Long deletedAtTimestamp;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":61,"author":{"gitId":"-"},"content":" private InstructorPermissionSet privileges;"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" private Map\u003cString, Long\u003e studentDeadlines;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" private Map\u003cString, Long\u003e instructorDeadlines;"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" public FeedbackSessionData(FeedbackSessionAttributes feedbackSessionAttributes) {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" String timeZone \u003d feedbackSessionAttributes.getTimeZone();"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" this.feedbackSessionId \u003d null;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.courseId \u003d feedbackSessionAttributes.getCourseId();"},{"lineNumber":70,"author":{"gitId":"-"},"content":" this.timeZone \u003d timeZone;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" this.feedbackSessionName \u003d feedbackSessionAttributes.getFeedbackSessionName();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" this.instructions \u003d feedbackSessionAttributes.getInstructions();"},{"lineNumber":73,"author":{"gitId":"-"},"content":" this.submissionStartTimestamp \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":74,"author":{"gitId":"-"},"content":" feedbackSessionAttributes.getStartTime(), timeZone, true).toEpochMilli();"},{"lineNumber":75,"author":{"gitId":"-"},"content":" this.submissionEndTimestamp \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":76,"author":{"gitId":"-"},"content":" feedbackSessionAttributes.getEndTime(), timeZone, true).toEpochMilli();"},{"lineNumber":77,"author":{"gitId":"-"},"content":" this.submissionEndWithExtensionTimestamp \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":78,"author":{"gitId":"-"},"content":" feedbackSessionAttributes.getDeadline(), timeZone, true).toEpochMilli();"},{"lineNumber":79,"author":{"gitId":"-"},"content":" this.gracePeriod \u003d feedbackSessionAttributes.getGracePeriodMinutes();"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" Instant sessionVisibleTime \u003d feedbackSessionAttributes.getSessionVisibleFromTime();"},{"lineNumber":82,"author":{"gitId":"-"},"content":" this.sessionVisibleFromTimestamp \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":83,"author":{"gitId":"-"},"content":" sessionVisibleTime, timeZone, true).toEpochMilli();"},{"lineNumber":84,"author":{"gitId":"-"},"content":" if (sessionVisibleTime.equals(Const.TIME_REPRESENTS_FOLLOW_OPENING)) {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" this.sessionVisibleSetting \u003d SessionVisibleSetting.AT_OPEN;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" this.sessionVisibleSetting \u003d SessionVisibleSetting.CUSTOM;"},{"lineNumber":88,"author":{"gitId":"-"},"content":" this.customSessionVisibleTimestamp \u003d this.sessionVisibleFromTimestamp;"},{"lineNumber":89,"author":{"gitId":"-"},"content":" }"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" Instant responseVisibleTime \u003d feedbackSessionAttributes.getResultsVisibleFromTime();"},{"lineNumber":92,"author":{"gitId":"-"},"content":" this.resultVisibleFromTimestamp \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":93,"author":{"gitId":"-"},"content":" responseVisibleTime, timeZone, true).toEpochMilli();"},{"lineNumber":94,"author":{"gitId":"-"},"content":" if (responseVisibleTime.equals(Const.TIME_REPRESENTS_FOLLOW_VISIBLE)) {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" this.responseVisibleSetting \u003d ResponseVisibleSetting.AT_VISIBLE;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" } else if (responseVisibleTime.equals(Const.TIME_REPRESENTS_LATER)) {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" this.responseVisibleSetting \u003d ResponseVisibleSetting.LATER;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" this.responseVisibleSetting \u003d ResponseVisibleSetting.CUSTOM;"},{"lineNumber":100,"author":{"gitId":"-"},"content":" this.customResponseVisibleTimestamp \u003d this.resultVisibleFromTimestamp;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" if (!feedbackSessionAttributes.isVisible()) {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.NOT_VISIBLE;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":" if (feedbackSessionAttributes.isVisible() \u0026\u0026 !feedbackSessionAttributes.isOpened()) {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.VISIBLE_NOT_OPEN;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":" if (feedbackSessionAttributes.isOpened()) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.OPEN;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":" if (feedbackSessionAttributes.isInGracePeriod()) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.GRACE_PERIOD;"},{"lineNumber":114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":115,"author":{"gitId":"-"},"content":" if (feedbackSessionAttributes.isClosed()) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.CLOSED;"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" if (feedbackSessionAttributes.isPublished()) {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" this.publishStatus \u003d FeedbackSessionPublishStatus.PUBLISHED;"},{"lineNumber":121,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" this.publishStatus \u003d FeedbackSessionPublishStatus.NOT_PUBLISHED;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" this.isClosingEmailEnabled \u003d feedbackSessionAttributes.isClosingEmailEnabled();"},{"lineNumber":126,"author":{"gitId":"-"},"content":" this.isPublishedEmailEnabled \u003d feedbackSessionAttributes.isPublishedEmailEnabled();"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" this.createdAtTimestamp \u003d feedbackSessionAttributes.getCreatedTime().toEpochMilli();"},{"lineNumber":129,"author":{"gitId":"-"},"content":" if (feedbackSessionAttributes.getDeletedTime() \u003d\u003d null) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" this.deletedAtTimestamp \u003d null;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" this.deletedAtTimestamp \u003d feedbackSessionAttributes.getDeletedTime().toEpochMilli();"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" String userEmail \u003d feedbackSessionAttributes.getUserEmail();"},{"lineNumber":136,"author":{"gitId":"-"},"content":" this.studentDeadlines \u003d feedbackSessionAttributes.getStudentDeadlines()"},{"lineNumber":137,"author":{"gitId":"-"},"content":" .entrySet()"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":139,"author":{"gitId":"-"},"content":" .filter(entry -\u003e userEmail \u003d\u003d null || userEmail.equals(entry.getKey()))"},{"lineNumber":140,"author":{"gitId":"-"},"content":" .collect(Collectors.toMap(Map.Entry::getKey, entry -\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":" TimeHelper.getMidnightAdjustedInstantBasedOnZone(entry.getValue(), timeZone, true)"},{"lineNumber":142,"author":{"gitId":"-"},"content":" .toEpochMilli()));"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" this.instructorDeadlines \u003d feedbackSessionAttributes.getInstructorDeadlines()"},{"lineNumber":145,"author":{"gitId":"-"},"content":" .entrySet()"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":147,"author":{"gitId":"-"},"content":" .filter(entry -\u003e userEmail \u003d\u003d null || userEmail.equals(entry.getKey()))"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .collect(Collectors.toMap(Map.Entry::getKey, entry -\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":" TimeHelper.getMidnightAdjustedInstantBasedOnZone(entry.getValue(), timeZone, true)"},{"lineNumber":150,"author":{"gitId":"-"},"content":" .toEpochMilli()));"},{"lineNumber":151,"author":{"gitId":"-"},"content":" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" public FeedbackSessionData(FeedbackSession feedbackSession) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" assert feedbackSession !\u003d null;"},{"lineNumber":155,"author":{"gitId":"-"},"content":" assert feedbackSession.getCourse() !\u003d null;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" String timeZone \u003d feedbackSession.getCourse().getTimeZone();"},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":" this.feedbackSessionId \u003d feedbackSession.getId();"},{"lineNumber":158,"author":{"gitId":"-"},"content":" this.courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":159,"author":{"gitId":"-"},"content":" this.timeZone \u003d timeZone;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" this.feedbackSessionName \u003d feedbackSession.getName();"},{"lineNumber":161,"author":{"gitId":"-"},"content":" this.instructions \u003d feedbackSession.getInstructions();"},{"lineNumber":162,"author":{"gitId":"-"},"content":" this.submissionStartTimestamp \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":163,"author":{"gitId":"-"},"content":" feedbackSession.getStartTime(), timeZone, true).toEpochMilli();"},{"lineNumber":164,"author":{"gitId":"-"},"content":" this.submissionEndTimestamp \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":165,"author":{"gitId":"-"},"content":" feedbackSession.getEndTime(), timeZone, true).toEpochMilli();"},{"lineNumber":166,"author":{"gitId":"-"},"content":" // If no deadline extension time is provided, then the end time with extension is assumed to be"},{"lineNumber":167,"author":{"gitId":"-"},"content":" // just the end time."},{"lineNumber":168,"author":{"gitId":"-"},"content":" this.submissionEndWithExtensionTimestamp \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":169,"author":{"gitId":"-"},"content":" feedbackSession.getEndTime(), timeZone, true).toEpochMilli();"},{"lineNumber":170,"author":{"gitId":"-"},"content":" this.gracePeriod \u003d feedbackSession.getGracePeriod().toMinutes();"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" Instant sessionVisibleTime \u003d feedbackSession.getSessionVisibleFromTime();"},{"lineNumber":173,"author":{"gitId":"-"},"content":" this.sessionVisibleFromTimestamp \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":174,"author":{"gitId":"-"},"content":" sessionVisibleTime, timeZone, true).toEpochMilli();"},{"lineNumber":175,"author":{"gitId":"-"},"content":" if (sessionVisibleTime.equals(Const.TIME_REPRESENTS_FOLLOW_OPENING)) {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" this.sessionVisibleSetting \u003d SessionVisibleSetting.AT_OPEN;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" this.sessionVisibleSetting \u003d SessionVisibleSetting.CUSTOM;"},{"lineNumber":179,"author":{"gitId":"-"},"content":" this.customSessionVisibleTimestamp \u003d this.sessionVisibleFromTimestamp;"},{"lineNumber":180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" Instant responseVisibleTime \u003d feedbackSession.getResultsVisibleFromTime();"},{"lineNumber":183,"author":{"gitId":"-"},"content":" this.resultVisibleFromTimestamp \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":184,"author":{"gitId":"-"},"content":" responseVisibleTime, timeZone, true).toEpochMilli();"},{"lineNumber":185,"author":{"gitId":"-"},"content":" if (responseVisibleTime.equals(Const.TIME_REPRESENTS_FOLLOW_VISIBLE)) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" this.responseVisibleSetting \u003d ResponseVisibleSetting.AT_VISIBLE;"},{"lineNumber":187,"author":{"gitId":"-"},"content":" } else if (responseVisibleTime.equals(Const.TIME_REPRESENTS_LATER)) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" this.responseVisibleSetting \u003d ResponseVisibleSetting.LATER;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" this.responseVisibleSetting \u003d ResponseVisibleSetting.CUSTOM;"},{"lineNumber":191,"author":{"gitId":"-"},"content":" this.customResponseVisibleTimestamp \u003d this.resultVisibleFromTimestamp;"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" if (!feedbackSession.isVisible()) {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.NOT_VISIBLE;"},{"lineNumber":196,"author":{"gitId":"-"},"content":" } else if (feedbackSession.isVisible() \u0026\u0026 !feedbackSession.isOpened()"},{"lineNumber":197,"author":{"gitId":"-"},"content":" \u0026\u0026 !feedbackSession.isClosed()) {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.VISIBLE_NOT_OPEN;"},{"lineNumber":199,"author":{"gitId":"-"},"content":" } else if (feedbackSession.isInGracePeriod()) {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.GRACE_PERIOD;"},{"lineNumber":201,"author":{"gitId":"-"},"content":" } else if (feedbackSession.isOpened()) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.OPEN;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" } else if (feedbackSession.isClosed()) {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.CLOSED;"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" if (feedbackSession.isPublished()) {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" this.publishStatus \u003d FeedbackSessionPublishStatus.PUBLISHED;"},{"lineNumber":209,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" this.publishStatus \u003d FeedbackSessionPublishStatus.NOT_PUBLISHED;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" this.isClosingEmailEnabled \u003d feedbackSession.isClosingEmailEnabled();"},{"lineNumber":214,"author":{"gitId":"-"},"content":" this.isPublishedEmailEnabled \u003d feedbackSession.isPublishedEmailEnabled();"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" this.createdAtTimestamp \u003d feedbackSession.getCreatedAt().toEpochMilli();"},{"lineNumber":217,"author":{"gitId":"-"},"content":" if (feedbackSession.getDeletedAt() \u003d\u003d null) {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" this.deletedAtTimestamp \u003d null;"},{"lineNumber":219,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" this.deletedAtTimestamp \u003d feedbackSession.getDeletedAt().toEpochMilli();"},{"lineNumber":221,"author":{"gitId":"-"},"content":" }"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":" this.studentDeadlines \u003d new HashMap\u003c\u003e();"},{"lineNumber":224,"author":{"gitId":"-"},"content":" this.instructorDeadlines \u003d new HashMap\u003c\u003e();"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" // place deadline extensions into appropriate student and instructor deadline maps"},{"lineNumber":227,"author":{"gitId":"-"},"content":" for (DeadlineExtension de : feedbackSession.getDeadlineExtensions()) {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" if (de.getUser() instanceof Student) {"},{"lineNumber":229,"author":{"gitId":"-"},"content":" this.studentDeadlines.put(de.getUser().getEmail(),"},{"lineNumber":230,"author":{"gitId":"-"},"content":" TimeHelper.getMidnightAdjustedInstantBasedOnZone(de.getEndTime(), timeZone, true).toEpochMilli());"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":" if (de.getUser() instanceof Instructor) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" this.instructorDeadlines.put(de.getUser().getEmail(),"},{"lineNumber":234,"author":{"gitId":"-"},"content":" TimeHelper.getMidnightAdjustedInstantBasedOnZone(de.getEndTime(), timeZone, true).toEpochMilli());"},{"lineNumber":235,"author":{"gitId":"-"},"content":" }"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":240,"author":{"gitId":"-"},"content":" * Constructs FeedbackSessionData for a given user deadline."},{"lineNumber":241,"author":{"gitId":"-"},"content":" */"},{"lineNumber":242,"author":{"gitId":"-"},"content":" public FeedbackSessionData(FeedbackSession feedbackSession, Instant extendedDeadline) {"},{"lineNumber":243,"author":{"gitId":"-"},"content":" this(feedbackSession);"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" this.submissionEndWithExtensionTimestamp \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":246,"author":{"gitId":"-"},"content":" extendedDeadline, timeZone, true).toEpochMilli();"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" if (!feedbackSession.isVisible()) {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.NOT_VISIBLE;"},{"lineNumber":250,"author":{"gitId":"-"},"content":" } else if (feedbackSession.isVisible() \u0026\u0026 !feedbackSession.isOpenedGivenExtendedDeadline(extendedDeadline)"},{"lineNumber":251,"author":{"gitId":"-"},"content":" \u0026\u0026 !feedbackSession.isClosedGivenExtendedDeadline(extendedDeadline)) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.VISIBLE_NOT_OPEN;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" } else if (feedbackSession.isInGracePeriodGivenExtendedDeadline(extendedDeadline)) {"},{"lineNumber":254,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.GRACE_PERIOD;"},{"lineNumber":255,"author":{"gitId":"-"},"content":" } else if (feedbackSession.isOpenedGivenExtendedDeadline(extendedDeadline)) {"},{"lineNumber":256,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.OPEN;"},{"lineNumber":257,"author":{"gitId":"-"},"content":" } else if (feedbackSession.isClosedGivenExtendedDeadline(extendedDeadline)) {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" this.submissionStatus \u003d FeedbackSessionSubmissionStatus.CLOSED;"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"dishenggg"},"content":" public UUID getFeedbackSessionId() {"},{"lineNumber":263,"author":{"gitId":"dishenggg"},"content":" return feedbackSessionId;"},{"lineNumber":264,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":265,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" public String getCourseId() {"},{"lineNumber":267,"author":{"gitId":"-"},"content":" return courseId;"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" public String getTimeZone() {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" return timeZone;"},{"lineNumber":272,"author":{"gitId":"-"},"content":" }"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":" public String getFeedbackSessionName() {"},{"lineNumber":275,"author":{"gitId":"-"},"content":" return feedbackSessionName;"},{"lineNumber":276,"author":{"gitId":"-"},"content":" }"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":" public String getInstructions() {"},{"lineNumber":279,"author":{"gitId":"-"},"content":" return instructions;"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" public long getSubmissionStartTimestamp() {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" return submissionStartTimestamp;"},{"lineNumber":284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" public long getSubmissionEndTimestamp() {"},{"lineNumber":287,"author":{"gitId":"-"},"content":" return submissionEndTimestamp;"},{"lineNumber":288,"author":{"gitId":"-"},"content":" }"},{"lineNumber":289,"author":{"gitId":"-"},"content":""},{"lineNumber":290,"author":{"gitId":"-"},"content":" public long getSubmissionEndWithExtensionTimestamp() {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" return submissionEndWithExtensionTimestamp;"},{"lineNumber":292,"author":{"gitId":"-"},"content":" }"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":" public Long getSessionVisibleFromTimestamp() {"},{"lineNumber":295,"author":{"gitId":"-"},"content":" return sessionVisibleFromTimestamp;"},{"lineNumber":296,"author":{"gitId":"-"},"content":" }"},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":" public Long getResultVisibleFromTimestamp() {"},{"lineNumber":299,"author":{"gitId":"-"},"content":" return resultVisibleFromTimestamp;"},{"lineNumber":300,"author":{"gitId":"-"},"content":" }"},{"lineNumber":301,"author":{"gitId":"-"},"content":""},{"lineNumber":302,"author":{"gitId":"-"},"content":" public Long getGracePeriod() {"},{"lineNumber":303,"author":{"gitId":"-"},"content":" return gracePeriod;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" public SessionVisibleSetting getSessionVisibleSetting() {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" return sessionVisibleSetting;"},{"lineNumber":308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" public Long getCustomSessionVisibleTimestamp() {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" return customSessionVisibleTimestamp;"},{"lineNumber":312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"-"},"content":" public ResponseVisibleSetting getResponseVisibleSetting() {"},{"lineNumber":315,"author":{"gitId":"-"},"content":" return responseVisibleSetting;"},{"lineNumber":316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" public Long getCustomResponseVisibleTimestamp() {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" return customResponseVisibleTimestamp;"},{"lineNumber":320,"author":{"gitId":"-"},"content":" }"},{"lineNumber":321,"author":{"gitId":"-"},"content":""},{"lineNumber":322,"author":{"gitId":"-"},"content":" public FeedbackSessionSubmissionStatus getSubmissionStatus() {"},{"lineNumber":323,"author":{"gitId":"-"},"content":" return submissionStatus;"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" public FeedbackSessionPublishStatus getPublishStatus() {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" return publishStatus;"},{"lineNumber":328,"author":{"gitId":"-"},"content":" }"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" public Boolean getIsClosingEmailEnabled() {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" return isClosingEmailEnabled;"},{"lineNumber":332,"author":{"gitId":"-"},"content":" }"},{"lineNumber":333,"author":{"gitId":"-"},"content":""},{"lineNumber":334,"author":{"gitId":"-"},"content":" public Boolean getIsPublishedEmailEnabled() {"},{"lineNumber":335,"author":{"gitId":"-"},"content":" return isPublishedEmailEnabled;"},{"lineNumber":336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" public Map\u003cString, Long\u003e getStudentDeadlines() {"},{"lineNumber":339,"author":{"gitId":"-"},"content":" return studentDeadlines;"},{"lineNumber":340,"author":{"gitId":"-"},"content":" }"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":" public Map\u003cString, Long\u003e getInstructorDeadlines() {"},{"lineNumber":343,"author":{"gitId":"-"},"content":" return instructorDeadlines;"},{"lineNumber":344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" public void setSessionVisibleFromTimestamp(Long sessionVisibleFromTimestamp) {"},{"lineNumber":347,"author":{"gitId":"-"},"content":" this.sessionVisibleFromTimestamp \u003d sessionVisibleFromTimestamp;"},{"lineNumber":348,"author":{"gitId":"-"},"content":" }"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":" public void setResultVisibleFromTimestamp(Long resultVisibleFromTimestamp) {"},{"lineNumber":351,"author":{"gitId":"-"},"content":" this.resultVisibleFromTimestamp \u003d resultVisibleFromTimestamp;"},{"lineNumber":352,"author":{"gitId":"-"},"content":" }"},{"lineNumber":353,"author":{"gitId":"-"},"content":""},{"lineNumber":354,"author":{"gitId":"-"},"content":" public void setGracePeriod(Long gracePeriod) {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" this.gracePeriod \u003d gracePeriod;"},{"lineNumber":356,"author":{"gitId":"-"},"content":" }"},{"lineNumber":357,"author":{"gitId":"-"},"content":""},{"lineNumber":358,"author":{"gitId":"-"},"content":" public void setSessionVisibleSetting(SessionVisibleSetting sessionVisibleSetting) {"},{"lineNumber":359,"author":{"gitId":"-"},"content":" this.sessionVisibleSetting \u003d sessionVisibleSetting;"},{"lineNumber":360,"author":{"gitId":"-"},"content":" }"},{"lineNumber":361,"author":{"gitId":"-"},"content":""},{"lineNumber":362,"author":{"gitId":"-"},"content":" public void setCustomSessionVisibleTimestamp(Long customSessionVisibleTimestamp) {"},{"lineNumber":363,"author":{"gitId":"-"},"content":" this.customSessionVisibleTimestamp \u003d customSessionVisibleTimestamp;"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" public void setResponseVisibleSetting(ResponseVisibleSetting responseVisibleSetting) {"},{"lineNumber":367,"author":{"gitId":"-"},"content":" this.responseVisibleSetting \u003d responseVisibleSetting;"},{"lineNumber":368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":369,"author":{"gitId":"-"},"content":""},{"lineNumber":370,"author":{"gitId":"-"},"content":" public void setCustomResponseVisibleTimestamp(Long customResponseVisibleTimestamp) {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" this.customResponseVisibleTimestamp \u003d customResponseVisibleTimestamp;"},{"lineNumber":372,"author":{"gitId":"-"},"content":" }"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":" public void setPublishStatus(FeedbackSessionPublishStatus publishStatus) {"},{"lineNumber":375,"author":{"gitId":"-"},"content":" this.publishStatus \u003d publishStatus;"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":""},{"lineNumber":378,"author":{"gitId":"-"},"content":" public void setClosingEmailEnabled(Boolean closingEmailEnabled) {"},{"lineNumber":379,"author":{"gitId":"-"},"content":" isClosingEmailEnabled \u003d closingEmailEnabled;"},{"lineNumber":380,"author":{"gitId":"-"},"content":" }"},{"lineNumber":381,"author":{"gitId":"-"},"content":""},{"lineNumber":382,"author":{"gitId":"-"},"content":" public void setPublishedEmailEnabled(Boolean publishedEmailEnabled) {"},{"lineNumber":383,"author":{"gitId":"-"},"content":" isPublishedEmailEnabled \u003d publishedEmailEnabled;"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" public long getCreatedAtTimestamp() {"},{"lineNumber":387,"author":{"gitId":"-"},"content":" return createdAtTimestamp;"},{"lineNumber":388,"author":{"gitId":"-"},"content":" }"},{"lineNumber":389,"author":{"gitId":"-"},"content":""},{"lineNumber":390,"author":{"gitId":"-"},"content":" public void setCreatedAtTimestamp(long timestamp) {"},{"lineNumber":391,"author":{"gitId":"-"},"content":" createdAtTimestamp \u003d timestamp;"},{"lineNumber":392,"author":{"gitId":"-"},"content":" }"},{"lineNumber":393,"author":{"gitId":"-"},"content":""},{"lineNumber":394,"author":{"gitId":"-"},"content":" public Long getDeletedAtTimestamp() {"},{"lineNumber":395,"author":{"gitId":"-"},"content":" return deletedAtTimestamp;"},{"lineNumber":396,"author":{"gitId":"-"},"content":" }"},{"lineNumber":397,"author":{"gitId":"-"},"content":""},{"lineNumber":398,"author":{"gitId":"-"},"content":" public InstructorPermissionSet getPrivileges() {"},{"lineNumber":399,"author":{"gitId":"-"},"content":" return privileges;"},{"lineNumber":400,"author":{"gitId":"-"},"content":" }"},{"lineNumber":401,"author":{"gitId":"-"},"content":""},{"lineNumber":402,"author":{"gitId":"-"},"content":" public void setPrivileges(InstructorPermissionSet privileges) {"},{"lineNumber":403,"author":{"gitId":"-"},"content":" this.privileges \u003d privileges;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" public void setStudentDeadlines(Map\u003cString, Long\u003e studentDeadlines) {"},{"lineNumber":407,"author":{"gitId":"-"},"content":" this.studentDeadlines \u003d studentDeadlines;"},{"lineNumber":408,"author":{"gitId":"-"},"content":" }"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" public void setInstructorDeadlines(Map\u003cString, Long\u003e instructorDeadlines) {"},{"lineNumber":411,"author":{"gitId":"-"},"content":" this.instructorDeadlines \u003d instructorDeadlines;"},{"lineNumber":412,"author":{"gitId":"-"},"content":" }"},{"lineNumber":413,"author":{"gitId":"-"},"content":""},{"lineNumber":414,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":415,"author":{"gitId":"-"},"content":" * Hides some attributes to student."},{"lineNumber":416,"author":{"gitId":"-"},"content":" */"},{"lineNumber":417,"author":{"gitId":"-"},"content":" public void hideInformationForStudent() {"},{"lineNumber":418,"author":{"gitId":"-"},"content":" hideInformationForStudentAndInstructor();"},{"lineNumber":419,"author":{"gitId":"-"},"content":" hideSessionVisibilityTimestamps();"},{"lineNumber":420,"author":{"gitId":"-"},"content":" instructorDeadlines.clear();"},{"lineNumber":421,"author":{"gitId":"-"},"content":" }"},{"lineNumber":422,"author":{"gitId":"-"},"content":""},{"lineNumber":423,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":424,"author":{"gitId":"-"},"content":" * Hides some attributes to student."},{"lineNumber":425,"author":{"gitId":"-"},"content":" */"},{"lineNumber":426,"author":{"gitId":"-"},"content":" public void hideInformationForStudent(String studentEmail) {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" hideInformationForStudentAndInstructor();"},{"lineNumber":428,"author":{"gitId":"-"},"content":" hideSessionVisibilityTimestamps();"},{"lineNumber":429,"author":{"gitId":"-"},"content":" studentDeadlines.keySet().removeIf(email -\u003e !(email.equals(studentEmail)));"},{"lineNumber":430,"author":{"gitId":"-"},"content":" instructorDeadlines.clear();"},{"lineNumber":431,"author":{"gitId":"-"},"content":" }"},{"lineNumber":432,"author":{"gitId":"-"},"content":""},{"lineNumber":433,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":434,"author":{"gitId":"-"},"content":" * Hides some attributes to instructor without appropriate privilege."},{"lineNumber":435,"author":{"gitId":"-"},"content":" */"},{"lineNumber":436,"author":{"gitId":"-"},"content":" public void hideInformationForInstructor() {"},{"lineNumber":437,"author":{"gitId":"-"},"content":" hideInformationForStudentAndInstructor();"},{"lineNumber":438,"author":{"gitId":"-"},"content":" studentDeadlines.clear();"},{"lineNumber":439,"author":{"gitId":"-"},"content":" }"},{"lineNumber":440,"author":{"gitId":"-"},"content":""},{"lineNumber":441,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":442,"author":{"gitId":"-"},"content":" * Hides some attributes to instructor without appropriate privilege."},{"lineNumber":443,"author":{"gitId":"-"},"content":" */"},{"lineNumber":444,"author":{"gitId":"-"},"content":" public void hideInformationForInstructor(String instructorEmail) {"},{"lineNumber":445,"author":{"gitId":"-"},"content":" hideInformationForStudentAndInstructor();"},{"lineNumber":446,"author":{"gitId":"-"},"content":" instructorDeadlines.keySet().removeIf(email -\u003e !(email.equals(instructorEmail)));"},{"lineNumber":447,"author":{"gitId":"-"},"content":" studentDeadlines.clear();"},{"lineNumber":448,"author":{"gitId":"-"},"content":" }"},{"lineNumber":449,"author":{"gitId":"-"},"content":""},{"lineNumber":450,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":451,"author":{"gitId":"-"},"content":" * Hides some attributes for instructor who is submitting feedback session."},{"lineNumber":452,"author":{"gitId":"-"},"content":" */"},{"lineNumber":453,"author":{"gitId":"-"},"content":" public void hideInformationForInstructorSubmission() {"},{"lineNumber":454,"author":{"gitId":"-"},"content":" hideInformationForInstructor();"},{"lineNumber":455,"author":{"gitId":"-"},"content":" hideSessionVisibilityTimestamps();"},{"lineNumber":456,"author":{"gitId":"-"},"content":" }"},{"lineNumber":457,"author":{"gitId":"-"},"content":""},{"lineNumber":458,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":459,"author":{"gitId":"-"},"content":" * Hides some attributes for instructor who is submitting feedback session."},{"lineNumber":460,"author":{"gitId":"-"},"content":" */"},{"lineNumber":461,"author":{"gitId":"-"},"content":" public void hideInformationForInstructorSubmission(String userEmail) {"},{"lineNumber":462,"author":{"gitId":"-"},"content":" hideInformationForInstructor(userEmail);"},{"lineNumber":463,"author":{"gitId":"-"},"content":" hideSessionVisibilityTimestamps();"},{"lineNumber":464,"author":{"gitId":"-"},"content":" }"},{"lineNumber":465,"author":{"gitId":"-"},"content":""},{"lineNumber":466,"author":{"gitId":"-"},"content":" private void hideSessionVisibilityTimestamps() {"},{"lineNumber":467,"author":{"gitId":"-"},"content":" setSessionVisibleFromTimestamp(null);"},{"lineNumber":468,"author":{"gitId":"-"},"content":" setResultVisibleFromTimestamp(null);"},{"lineNumber":469,"author":{"gitId":"-"},"content":" setSessionVisibleSetting(null);"},{"lineNumber":470,"author":{"gitId":"-"},"content":" setCustomSessionVisibleTimestamp(null);"},{"lineNumber":471,"author":{"gitId":"-"},"content":" setResponseVisibleSetting(null);"},{"lineNumber":472,"author":{"gitId":"-"},"content":" setCustomResponseVisibleTimestamp(null);"},{"lineNumber":473,"author":{"gitId":"-"},"content":" }"},{"lineNumber":474,"author":{"gitId":"-"},"content":""},{"lineNumber":475,"author":{"gitId":"-"},"content":" private void hideInformationForStudentAndInstructor() {"},{"lineNumber":476,"author":{"gitId":"-"},"content":" setClosingEmailEnabled(null);"},{"lineNumber":477,"author":{"gitId":"-"},"content":" setPublishedEmailEnabled(null);"},{"lineNumber":478,"author":{"gitId":"-"},"content":" setGracePeriod(null);"},{"lineNumber":479,"author":{"gitId":"-"},"content":" setCreatedAtTimestamp(0);"},{"lineNumber":480,"author":{"gitId":"-"},"content":" }"},{"lineNumber":481,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":11,"-":470}},{"path":"src/main/java/teammates/ui/output/FeedbackSessionLogData.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.output;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackSessionLogEntry;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * The response log of a single feedback session."},{"lineNumber":16,"author":{"gitId":"-"},"content":" */"},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class FeedbackSessionLogData {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" private final FeedbackSessionData feedbackSessionData;"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private final List\u003cFeedbackSessionLogEntryData\u003e feedbackSessionLogEntries;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":" // Remove generic types after migration is done (i.e. can just use FeedbackSession, Student, FeedbackSessionLog)"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":" public \u003cS, T, U\u003e FeedbackSessionLogData(S feedbackSession, List\u003cU\u003e logEntries,"},{"lineNumber":23,"author":{"gitId":"-"},"content":" Map\u003cString, T\u003e studentsMap) {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" if (feedbackSession instanceof FeedbackSessionAttributes) {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes fs \u003d (FeedbackSessionAttributes) feedbackSession;"},{"lineNumber":26,"author":{"gitId":"-"},"content":" FeedbackSessionData fsData \u003d new FeedbackSessionData(fs);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" List\u003cFeedbackSessionLogEntryData\u003e fsLogEntryDatas \u003d logEntries.stream()"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .map(log -\u003e {"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" if (log instanceof FeedbackSessionLogEntry) {"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogEntry convertedLog \u003d (FeedbackSessionLogEntry) log;"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" T student \u003d studentsMap.get(convertedLog.getStudentEmail());"},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (student instanceof StudentAttributes) {"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" return new FeedbackSessionLogEntryData(convertedLog, (StudentAttributes) student);"},{"lineNumber":34,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(\"Invalid student type\");"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" throw new IllegalArgumentException(\"Invalid log type\");"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":" })"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":42,"author":{"gitId":"-"},"content":" this.feedbackSessionData \u003d fsData;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" this.feedbackSessionLogEntries \u003d fsLogEntryDatas;"},{"lineNumber":44,"author":{"gitId":"-"},"content":" } else if (feedbackSession instanceof FeedbackSession) {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d (FeedbackSession) feedbackSession;"},{"lineNumber":46,"author":{"gitId":"-"},"content":" FeedbackSessionData fsData \u003d new FeedbackSessionData(fs);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" List\u003cFeedbackSessionLogEntryData\u003e fsLogEntryDatas \u003d logEntries.stream()"},{"lineNumber":48,"author":{"gitId":"-"},"content":" .map(log -\u003e {"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" if (log instanceof FeedbackSessionLog) {"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog convertedLog \u003d (FeedbackSessionLog) log;"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" T student \u003d studentsMap.get(convertedLog.getStudent().getEmail());"},{"lineNumber":52,"author":{"gitId":"-"},"content":" if (student instanceof Student) {"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" return new FeedbackSessionLogEntryData(convertedLog, (Student) student);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(\"Invalid student type\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" throw new IllegalArgumentException(\"Invalid log type\");"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" })"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":62,"author":{"gitId":"-"},"content":" this.feedbackSessionData \u003d fsData;"},{"lineNumber":63,"author":{"gitId":"-"},"content":" this.feedbackSessionLogEntries \u003d fsLogEntryDatas;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(\"Invalid feedback session type\");"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" public FeedbackSessionData getFeedbackSessionData() {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" return feedbackSessionData;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":74,"author":{"gitId":"-"},"content":" * Returns all feedback session log entries."},{"lineNumber":75,"author":{"gitId":"-"},"content":" */"},{"lineNumber":76,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSessionLogEntryData\u003e getFeedbackSessionLogEntries() {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" return feedbackSessionLogEntries;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":17,"-":62}},{"path":"src/main/java/teammates/ui/output/FeedbackSessionLogEntryData.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.output;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackSessionLogEntry;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":10,"author":{"gitId":"-"},"content":" * The session log of a student for a single feedback session."},{"lineNumber":11,"author":{"gitId":"-"},"content":" */"},{"lineNumber":12,"author":{"gitId":"-"},"content":"public class FeedbackSessionLogEntryData {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" private final StudentData studentData;"},{"lineNumber":14,"author":{"gitId":"-"},"content":" private final FeedbackSessionLogType feedbackSessionLogType;"},{"lineNumber":15,"author":{"gitId":"-"},"content":" private final long timestamp;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" public FeedbackSessionLogEntryData(FeedbackSessionLogEntry logEntry, StudentAttributes student) {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" StudentData studentData \u003d new StudentData(student);"},{"lineNumber":19,"author":{"gitId":"-"},"content":" FeedbackSessionLogType logType \u003d FeedbackSessionLogType.valueOfLabel(logEntry.getFeedbackSessionLogType());"},{"lineNumber":20,"author":{"gitId":"-"},"content":" long timestamp \u003d logEntry.getTimestamp();"},{"lineNumber":21,"author":{"gitId":"-"},"content":" this.studentData \u003d studentData;"},{"lineNumber":22,"author":{"gitId":"-"},"content":" this.feedbackSessionLogType \u003d logType;"},{"lineNumber":23,"author":{"gitId":"-"},"content":" this.timestamp \u003d timestamp;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" public FeedbackSessionLogEntryData(FeedbackSessionLog logEntry, Student student) {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" StudentData studentData \u003d new StudentData(student);"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType logType \u003d logEntry.getFeedbackSessionLogType();"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" long timestamp \u003d logEntry.getTimestamp().toEpochMilli();"},{"lineNumber":30,"author":{"gitId":"-"},"content":" this.studentData \u003d studentData;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" this.feedbackSessionLogType \u003d logType;"},{"lineNumber":32,"author":{"gitId":"-"},"content":" this.timestamp \u003d timestamp;"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" public StudentData getStudentData() {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" return studentData;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" public FeedbackSessionLogType getFeedbackSessionLogType() {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" return feedbackSessionLogType;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" public long getTimestamp() {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" return timestamp;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":4,"-":42}},{"path":"src/main/java/teammates/ui/output/FeedbackSessionLogsData.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.output;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":8,"author":{"gitId":"-"},"content":" * The API output format for logs on all feedback sessions in a course."},{"lineNumber":9,"author":{"gitId":"-"},"content":" */"},{"lineNumber":10,"author":{"gitId":"-"},"content":"public class FeedbackSessionLogsData extends ApiOutput {"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":" private final List\u003cFeedbackSessionLogData\u003e feedbackSessionLogs;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":" // Remove generic types after migration is done (i.e. can just use FeedbackSession and Student, FeedbackSessionLog)"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":" public \u003cS, T, U\u003e FeedbackSessionLogsData(Map\u003cString, List\u003cU\u003e\u003e groupedEntries,"},{"lineNumber":16,"author":{"gitId":"-"},"content":" Map\u003cString, S\u003e studentsMap, Map\u003cString, T\u003e sessionsMap) {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" this.feedbackSessionLogs \u003d groupedEntries.entrySet().stream()"},{"lineNumber":18,"author":{"gitId":"-"},"content":" .map(entry -\u003e {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" T feedbackSession \u003d sessionsMap.get(entry.getKey());"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":" List\u003cU\u003e logEntries \u003d entry.getValue();"},{"lineNumber":21,"author":{"gitId":"-"},"content":" return new FeedbackSessionLogData(feedbackSession, logEntries, studentsMap);"},{"lineNumber":22,"author":{"gitId":"-"},"content":" })"},{"lineNumber":23,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" public List\u003cFeedbackSessionLogData\u003e getFeedbackSessionLogs() {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" return feedbackSessionLogs;"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":3,"-":26}},{"path":"src/main/java/teammates/ui/output/NotificationData.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.output;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import org.threeten.bp.Instant;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationStyle;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationTargetUser;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * The API output format of a notification."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class NotificationData extends ApiOutput {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" private String notificationId;"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private long startTimestamp;"},{"lineNumber":17,"author":{"gitId":"-"},"content":" private long endTimestamp;"},{"lineNumber":18,"author":{"gitId":"-"},"content":" private long createdAt;"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private NotificationStyle style;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" private NotificationTargetUser targetUser;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" private String title;"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private String message;"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private boolean shown;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" public NotificationData(NotificationAttributes notificationAttributes) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" this.notificationId \u003d notificationAttributes.getNotificationId();"},{"lineNumber":27,"author":{"gitId":"-"},"content":" this.startTimestamp \u003d notificationAttributes.getStartTime().toEpochMilli();"},{"lineNumber":28,"author":{"gitId":"-"},"content":" this.endTimestamp \u003d notificationAttributes.getEndTime().toEpochMilli();"},{"lineNumber":29,"author":{"gitId":"-"},"content":" this.createdAt \u003d notificationAttributes.getCreatedAt().toEpochMilli();"},{"lineNumber":30,"author":{"gitId":"-"},"content":" this.style \u003d notificationAttributes.getStyle();"},{"lineNumber":31,"author":{"gitId":"-"},"content":" this.targetUser \u003d notificationAttributes.getTargetUser();"},{"lineNumber":32,"author":{"gitId":"-"},"content":" this.title \u003d notificationAttributes.getTitle();"},{"lineNumber":33,"author":{"gitId":"-"},"content":" this.message \u003d notificationAttributes.getMessage();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" this.shown \u003d notificationAttributes.isShown();"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" public NotificationData(Notification notification) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" this.notificationId \u003d notification.getId().toString();"},{"lineNumber":39,"author":{"gitId":"-"},"content":" this.startTimestamp \u003d notification.getStartTime().toEpochMilli();"},{"lineNumber":40,"author":{"gitId":"-"},"content":" this.endTimestamp \u003d notification.getEndTime().toEpochMilli();"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" this.createdAt \u003d notification.getCreatedAt() \u003d\u003d null"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" ? Instant.now().toEpochMilli() : notification.getCreatedAt().toEpochMilli();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" this.style \u003d notification.getStyle();"},{"lineNumber":44,"author":{"gitId":"-"},"content":" this.targetUser \u003d notification.getTargetUser();"},{"lineNumber":45,"author":{"gitId":"-"},"content":" this.title \u003d notification.getTitle();"},{"lineNumber":46,"author":{"gitId":"-"},"content":" this.message \u003d notification.getMessage();"},{"lineNumber":47,"author":{"gitId":"-"},"content":" this.shown \u003d notification.isShown();"},{"lineNumber":48,"author":{"gitId":"-"},"content":" }"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" public String getNotificationId() {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return this.notificationId;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" public long getStartTimestamp() {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" return this.startTimestamp;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" public long getEndTimestamp() {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" return this.endTimestamp;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" public long getCreatedAt() {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" return this.createdAt;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" public NotificationStyle getStyle() {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" return this.style;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" }"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" public NotificationTargetUser getTargetUser() {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" return this.targetUser;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" public String getTitle() {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" return this.title;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" public String getMessage() {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" return this.message;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" public boolean isShown() {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" return this.shown;"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":4,"-":81}},{"path":"src/main/java/teammates/ui/output/SessionResultsData.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.output;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.LinkedList;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Queue;"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"import java.util.Set;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import jakarta.annotation.Nullable;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.CourseRoster;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SessionResultsBundle;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.SqlCourseRoster;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.SqlSessionResultsBundle;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseAttributes;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseCommentAttributes;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackResponseDetails;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":36,"author":{"gitId":"-"},"content":" * API output format for session results, including statistics."},{"lineNumber":37,"author":{"gitId":"-"},"content":" */"},{"lineNumber":38,"author":{"gitId":"-"},"content":"public class SessionResultsData extends ApiOutput {"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String REGEX_ANONYMOUS_PARTICIPANT_HASH \u003d \"[0-9]{1,10}\";"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" final List\u003cQuestionOutput\u003e questions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" SessionResultsData() {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" // use factory method instead"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Factory method to construct API output for instructor."},{"lineNumber":50,"author":{"gitId":"-"},"content":" */"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static SessionResultsData initForInstructor(SessionResultsBundle bundle) {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" SessionResultsData sessionResultsData \u003d new SessionResultsData();"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" Map\u003cString, List\u003cFeedbackResponseAttributes\u003e\u003e questionsWithResponses \u003d"},{"lineNumber":55,"author":{"gitId":"-"},"content":" bundle.getQuestionResponseMap();"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" questionsWithResponses.forEach((questionId, responses) -\u003e {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes question \u003d bundle.getQuestionsMap().get(questionId);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails questionDetails \u003d question.getQuestionDetailsCopy();"},{"lineNumber":60,"author":{"gitId":"-"},"content":" QuestionOutput qnOutput \u003d new QuestionOutput(question,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" questionDetails.getQuestionResultStatisticsJson(question, null, bundle), false, false);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" // put normal responses"},{"lineNumber":63,"author":{"gitId":"-"},"content":" List\u003cResponseOutput\u003e allResponses \u003d buildResponsesForInstructor(responses, bundle, false);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" qnOutput.allResponses.addAll(allResponses);"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" // put missing responses"},{"lineNumber":67,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponseAttributes\u003e missingResponses \u003d bundle.getQuestionMissingResponseMap().get(questionId);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" qnOutput.allResponses.addAll(buildResponsesForInstructor(missingResponses, bundle, true));"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" sessionResultsData.questions.add(qnOutput);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" });"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" return sessionResultsData;"},{"lineNumber":74,"author":{"gitId":"-"},"content":" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":" * Factory method to construct API output for instructor."},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" public static SessionResultsData initForInstructor(SqlSessionResultsBundle bundle) {"},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" SessionResultsData sessionResultsData \u003d new SessionResultsData();"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e questionsWithResponses \u003d"},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" bundle.getQuestionResponseMap();"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":" questionsWithResponses.forEach((question, responses) -\u003e {"},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":" FeedbackQuestionDetails questionDetails \u003d question.getQuestionDetailsCopy();"},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" QuestionOutput qnOutput \u003d new QuestionOutput(question,"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" questionDetails.getQuestionResultStatisticsJson(question, null, bundle), false, false);"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" // put normal responses"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" List\u003cResponseOutput\u003e allResponses \u003d buildResponsesForInstructor(responses, bundle, false);"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":" qnOutput.allResponses.addAll(allResponses);"},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":93,"author":{"gitId":"xenosf"},"content":" // put missing responses"},{"lineNumber":94,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e missingResponses \u003d bundle.getQuestionMissingResponseMap().get(question);"},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":" qnOutput.allResponses.addAll(buildResponsesForInstructor(missingResponses, bundle, true));"},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" sessionResultsData.questions.add(qnOutput);"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":100,"author":{"gitId":"xenosf"},"content":" return sessionResultsData;"},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":102,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Factory method to construct API output for student."},{"lineNumber":105,"author":{"gitId":"-"},"content":" */"},{"lineNumber":106,"author":{"gitId":"-"},"content":" public static SessionResultsData initForStudent(SessionResultsBundle bundle, StudentAttributes student) {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" SessionResultsData sessionResultsData \u003d new SessionResultsData();"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" Map\u003cString, List\u003cFeedbackResponseAttributes\u003e\u003e questionsWithResponses \u003d"},{"lineNumber":110,"author":{"gitId":"-"},"content":" bundle.getQuestionResponseMap();"},{"lineNumber":111,"author":{"gitId":"-"},"content":" questionsWithResponses.forEach((questionId, responses) -\u003e {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes question \u003d bundle.getQuestionsMap().get(questionId);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails questionDetails \u003d question.getQuestionDetailsCopy();"},{"lineNumber":114,"author":{"gitId":"-"},"content":" // check if question has comments (on any responses) not visible for preview"},{"lineNumber":115,"author":{"gitId":"-"},"content":" boolean hasCommentNotVisibleForPreview \u003d bundle.getQuestionsWithCommentNotVisibleForPreview()"},{"lineNumber":116,"author":{"gitId":"-"},"content":" .contains(questionId);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" QuestionOutput qnOutput \u003d new QuestionOutput(question,"},{"lineNumber":118,"author":{"gitId":"-"},"content":" questionDetails.getQuestionResultStatisticsJson(question, student.getEmail(), bundle),"},{"lineNumber":119,"author":{"gitId":"-"},"content":" false, hasCommentNotVisibleForPreview);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" Map\u003cString, List\u003cResponseOutput\u003e\u003e otherResponsesMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" qnOutput.getFeedbackQuestion().hideInformationForStudent();"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" if (questionDetails.isIndividualResponsesShownToStudents()) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" for (FeedbackResponseAttributes response : responses) {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" boolean isUserInstructor \u003d Const.USER_TEAM_FOR_INSTRUCTOR.equals(student.getTeam());"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" boolean isUserGiver \u003d student.getEmail().equals(response.getGiver())"},{"lineNumber":129,"author":{"gitId":"-"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":130,"author":{"gitId":"-"},"content":" || !isUserInstructor \u0026\u0026 question.getGiverType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" boolean isUserRecipient \u003d student.getEmail().equals(response.getRecipient())"},{"lineNumber":132,"author":{"gitId":"-"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":133,"author":{"gitId":"-"},"content":" || !isUserInstructor \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" ResponseOutput responseOutput \u003d buildSingleResponseForStudent(response, bundle, student);"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" if (isUserRecipient) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" qnOutput.responsesToSelf.add(responseOutput);"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" if (isUserGiver) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" qnOutput.responsesFromSelf.add(responseOutput);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" if (!isUserRecipient \u0026\u0026 !isUserGiver) {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" // we don\u0027t need care about the keys of the map here"},{"lineNumber":146,"author":{"gitId":"-"},"content":" // as only the values of the map will be used"},{"lineNumber":147,"author":{"gitId":"-"},"content":" otherResponsesMap.computeIfAbsent(response.getRecipient(), k -\u003e new ArrayList\u003c\u003e())"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .add(responseOutput);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" qnOutput.allResponses.add(responseOutput);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":" qnOutput.otherResponses.addAll(otherResponsesMap.values());"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" sessionResultsData.questions.add(qnOutput);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" });"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" Map\u003cString, FeedbackQuestionAttributes\u003e questionsWithResponsesNotVisibleForPreview \u003d"},{"lineNumber":160,"author":{"gitId":"-"},"content":" bundle.getQuestionsNotVisibleForPreviewMap();"},{"lineNumber":161,"author":{"gitId":"-"},"content":" questionsWithResponsesNotVisibleForPreview.forEach((questionId, question) -\u003e {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" QuestionOutput qnOutput \u003d new QuestionOutput(question, \"\", true, false);"},{"lineNumber":163,"author":{"gitId":"-"},"content":" sessionResultsData.questions.add(qnOutput);"},{"lineNumber":164,"author":{"gitId":"-"},"content":" });"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" return sessionResultsData;"},{"lineNumber":167,"author":{"gitId":"-"},"content":" }"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":170,"author":{"gitId":"xenosf"},"content":" * Factory method to construct API output for student."},{"lineNumber":171,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":172,"author":{"gitId":"xenosf"},"content":" public static SessionResultsData initForStudent(SqlSessionResultsBundle bundle, Student student) {"},{"lineNumber":173,"author":{"gitId":"xenosf"},"content":" SessionResultsData sessionResultsData \u003d new SessionResultsData();"},{"lineNumber":174,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":175,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackQuestion, List\u003cFeedbackResponse\u003e\u003e questionsWithResponses \u003d"},{"lineNumber":176,"author":{"gitId":"xenosf"},"content":" bundle.getQuestionResponseMap();"},{"lineNumber":177,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":178,"author":{"gitId":"xenosf"},"content":" questionsWithResponses.forEach((question, responses) -\u003e {"},{"lineNumber":179,"author":{"gitId":"xenosf"},"content":" FeedbackQuestionDetails questionDetails \u003d question.getQuestionDetailsCopy();"},{"lineNumber":180,"author":{"gitId":"xenosf"},"content":" // check if question has comments (on any responses) not visible for preview"},{"lineNumber":181,"author":{"gitId":"xenosf"},"content":" boolean hasCommentNotVisibleForPreview \u003d bundle.getQuestionsWithCommentNotVisibleForPreviewSet()"},{"lineNumber":182,"author":{"gitId":"xenosf"},"content":" .contains(question);"},{"lineNumber":183,"author":{"gitId":"xenosf"},"content":" QuestionOutput qnOutput \u003d new QuestionOutput(question,"},{"lineNumber":184,"author":{"gitId":"xenosf"},"content":" questionDetails.getQuestionResultStatisticsJson(question, student.getEmail(), bundle),"},{"lineNumber":185,"author":{"gitId":"xenosf"},"content":" false, hasCommentNotVisibleForPreview);"},{"lineNumber":186,"author":{"gitId":"xenosf"},"content":" Map\u003cString, List\u003cResponseOutput\u003e\u003e otherResponsesMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":187,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":" qnOutput.getFeedbackQuestion().hideInformationForStudent();"},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" if (questionDetails.isIndividualResponsesShownToStudents()) {"},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":" boolean isUserInstructor \u003d Const.USER_TEAM_FOR_INSTRUCTOR.equals(student.getTeamName());"},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" boolean isUserGiver \u003d student.getEmail().equals(response.getGiver())"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":" || !isUserInstructor \u0026\u0026 question.getGiverType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":" boolean isUserRecipient \u003d student.getEmail().equals(response.getRecipient())"},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":199,"author":{"gitId":"xenosf"},"content":" || !isUserInstructor \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":" ResponseOutput responseOutput \u003d buildSingleResponseForStudent(response, bundle, student);"},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" if (isUserRecipient) {"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":" qnOutput.responsesToSelf.add(responseOutput);"},{"lineNumber":204,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":205,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":206,"author":{"gitId":"xenosf"},"content":" if (isUserGiver) {"},{"lineNumber":207,"author":{"gitId":"xenosf"},"content":" qnOutput.responsesFromSelf.add(responseOutput);"},{"lineNumber":208,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":209,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":210,"author":{"gitId":"xenosf"},"content":" if (!isUserRecipient \u0026\u0026 !isUserGiver) {"},{"lineNumber":211,"author":{"gitId":"xenosf"},"content":" // we don\u0027t need care about the keys of the map here"},{"lineNumber":212,"author":{"gitId":"xenosf"},"content":" // as only the values of the map will be used"},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" otherResponsesMap.computeIfAbsent(response.getRecipient(), k -\u003e new ArrayList\u003c\u003e())"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" .add(responseOutput);"},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":" qnOutput.allResponses.add(responseOutput);"},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":219,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":220,"author":{"gitId":"xenosf"},"content":" qnOutput.otherResponses.addAll(otherResponsesMap.values());"},{"lineNumber":221,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":222,"author":{"gitId":"xenosf"},"content":" sessionResultsData.questions.add(qnOutput);"},{"lineNumber":223,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":224,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":225,"author":{"gitId":"xenosf"},"content":" Set\u003cFeedbackQuestion\u003e questionsWithResponsesNotVisibleForPreview \u003d"},{"lineNumber":226,"author":{"gitId":"xenosf"},"content":" bundle.getQuestionsNotVisibleForPreviewSet();"},{"lineNumber":227,"author":{"gitId":"xenosf"},"content":" questionsWithResponsesNotVisibleForPreview.forEach(question -\u003e {"},{"lineNumber":228,"author":{"gitId":"xenosf"},"content":" QuestionOutput qnOutput \u003d new QuestionOutput(question, \"\", true, false);"},{"lineNumber":229,"author":{"gitId":"xenosf"},"content":" sessionResultsData.questions.add(qnOutput);"},{"lineNumber":230,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":231,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":232,"author":{"gitId":"xenosf"},"content":" return sessionResultsData;"},{"lineNumber":233,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":234,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":235,"author":{"gitId":"-"},"content":" private static ResponseOutput buildSingleResponseForStudent("},{"lineNumber":236,"author":{"gitId":"-"},"content":" FeedbackResponseAttributes response, SessionResultsBundle bundle, StudentAttributes student) {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes question \u003d bundle.getQuestionsMap().get(response.getFeedbackQuestionId());"},{"lineNumber":238,"author":{"gitId":"-"},"content":" boolean isUserInstructor \u003d Const.USER_TEAM_FOR_INSTRUCTOR.equals(student.getTeam());"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" // process giver"},{"lineNumber":241,"author":{"gitId":"-"},"content":" boolean isUserGiver \u003d student.getEmail().equals(response.getGiver())"},{"lineNumber":242,"author":{"gitId":"-"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":243,"author":{"gitId":"-"},"content":" || !isUserInstructor \u0026\u0026 question.getGiverType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":244,"author":{"gitId":"-"},"content":" boolean isUserTeamGiver \u003d question.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":245,"author":{"gitId":"-"},"content":" \u0026\u0026 student.getTeam().equals(response.getGiver());"},{"lineNumber":246,"author":{"gitId":"-"},"content":" String giverName;"},{"lineNumber":247,"author":{"gitId":"-"},"content":" String giverTeam \u003d \"\";"},{"lineNumber":248,"author":{"gitId":"-"},"content":" if (isUserTeamGiver) {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" giverName \u003d String.format(\"Your Team (%s)\", response.getGiver());"},{"lineNumber":250,"author":{"gitId":"-"},"content":" giverTeam \u003d response.getGiver();"},{"lineNumber":251,"author":{"gitId":"-"},"content":" } else if (isUserGiver) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" giverName \u003d \"You\";"},{"lineNumber":253,"author":{"gitId":"-"},"content":" giverTeam \u003d student.getTeam();"},{"lineNumber":254,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" // we don\u0027t want student to figure out who is who by using the hash"},{"lineNumber":256,"author":{"gitId":"-"},"content":" giverName \u003d removeAnonymousHash(getGiverNameOfResponse(response, bundle));"},{"lineNumber":257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" // process recipient"},{"lineNumber":260,"author":{"gitId":"-"},"content":" boolean isUserRecipient \u003d student.getEmail().equals(response.getRecipient())"},{"lineNumber":261,"author":{"gitId":"-"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":262,"author":{"gitId":"-"},"content":" || !isUserInstructor \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":263,"author":{"gitId":"-"},"content":" boolean isUserTeamRecipient \u003d (question.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":264,"author":{"gitId":"-"},"content":" || question.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS_IN_SAME_SECTION)"},{"lineNumber":265,"author":{"gitId":"-"},"content":" \u0026\u0026 student.getTeam().equals(response.getRecipient());"},{"lineNumber":266,"author":{"gitId":"-"},"content":" String recipientName;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" String recipientTeam \u003d \"\";"},{"lineNumber":268,"author":{"gitId":"-"},"content":" if (isUserRecipient) {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" recipientName \u003d \"You\";"},{"lineNumber":270,"author":{"gitId":"-"},"content":" recipientTeam \u003d student.getTeam();"},{"lineNumber":271,"author":{"gitId":"-"},"content":" } else if (isUserTeamRecipient) {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" recipientName \u003d String.format(\"Your Team (%s)\", response.getRecipient());"},{"lineNumber":273,"author":{"gitId":"-"},"content":" recipientTeam \u003d response.getRecipient();"},{"lineNumber":274,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":275,"author":{"gitId":"-"},"content":" // we don\u0027t want student to figure out who is who by using the hash"},{"lineNumber":276,"author":{"gitId":"-"},"content":" recipientName \u003d removeAnonymousHash(getRecipientNameOfResponse(response, bundle));"},{"lineNumber":277,"author":{"gitId":"-"},"content":" if (!recipientName.contains(Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT)) {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" recipientTeam \u003d bundle.getRoster().getInfoForIdentifier(response.getRecipient()).getTeamName();"},{"lineNumber":279,"author":{"gitId":"-"},"content":" }"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" // process comments"},{"lineNumber":283,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponseCommentAttributes\u003e feedbackResponseComments \u003d"},{"lineNumber":284,"author":{"gitId":"-"},"content":" bundle.getResponseCommentsMap().getOrDefault(response.getId(), Collections.emptyList());"},{"lineNumber":285,"author":{"gitId":"-"},"content":" Queue\u003cCommentOutput\u003e comments \u003d buildComments(feedbackResponseComments, bundle);"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" return ResponseOutput.builder()"},{"lineNumber":288,"author":{"gitId":"-"},"content":" .withResponseId(response.getId())"},{"lineNumber":289,"author":{"gitId":"-"},"content":" .withGiver(giverName)"},{"lineNumber":290,"author":{"gitId":"-"},"content":" .withGiverTeam(giverTeam)"},{"lineNumber":291,"author":{"gitId":"-"},"content":" .withGiverEmail(null)"},{"lineNumber":292,"author":{"gitId":"-"},"content":" .withRelatedGiverEmail(null)"},{"lineNumber":293,"author":{"gitId":"xenosf"},"content":" .withGiverSectionName(response.getGiverSection())"},{"lineNumber":294,"author":{"gitId":"xenosf"},"content":" .withRecipient(recipientName)"},{"lineNumber":295,"author":{"gitId":"xenosf"},"content":" .withRecipientTeam(recipientTeam)"},{"lineNumber":296,"author":{"gitId":"xenosf"},"content":" .withRecipientEmail(null)"},{"lineNumber":297,"author":{"gitId":"xenosf"},"content":" .withRecipientSectionName(response.getRecipientSection())"},{"lineNumber":298,"author":{"gitId":"xenosf"},"content":" .withResponseDetails(response.getResponseDetailsCopy())"},{"lineNumber":299,"author":{"gitId":"xenosf"},"content":" .withParticipantComment(comments.poll())"},{"lineNumber":300,"author":{"gitId":"xenosf"},"content":" .withInstructorComments(new ArrayList\u003c\u003e(comments))"},{"lineNumber":301,"author":{"gitId":"xenosf"},"content":" .build();"},{"lineNumber":302,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":303,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":304,"author":{"gitId":"xenosf"},"content":" private static ResponseOutput buildSingleResponseForStudent("},{"lineNumber":305,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response, SqlSessionResultsBundle bundle, Student student) {"},{"lineNumber":306,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question \u003d response.getFeedbackQuestion();"},{"lineNumber":307,"author":{"gitId":"xenosf"},"content":" boolean isUserInstructor \u003d Const.USER_TEAM_FOR_INSTRUCTOR.equals(student.getTeamName());"},{"lineNumber":308,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":309,"author":{"gitId":"xenosf"},"content":" // process giver"},{"lineNumber":310,"author":{"gitId":"xenosf"},"content":" boolean isUserGiver \u003d student.getEmail().equals(response.getGiver())"},{"lineNumber":311,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":312,"author":{"gitId":"xenosf"},"content":" || !isUserInstructor \u0026\u0026 question.getGiverType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":313,"author":{"gitId":"xenosf"},"content":" boolean isUserTeamGiver \u003d question.getGiverType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":314,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 student.getTeamName().equals(response.getGiver());"},{"lineNumber":315,"author":{"gitId":"xenosf"},"content":" String giverName;"},{"lineNumber":316,"author":{"gitId":"xenosf"},"content":" String giverTeam \u003d \"\";"},{"lineNumber":317,"author":{"gitId":"xenosf"},"content":" if (isUserTeamGiver) {"},{"lineNumber":318,"author":{"gitId":"xenosf"},"content":" giverName \u003d String.format(\"Your Team (%s)\", response.getGiver());"},{"lineNumber":319,"author":{"gitId":"xenosf"},"content":" giverTeam \u003d response.getGiver();"},{"lineNumber":320,"author":{"gitId":"xenosf"},"content":" } else if (isUserGiver) {"},{"lineNumber":321,"author":{"gitId":"xenosf"},"content":" giverName \u003d \"You\";"},{"lineNumber":322,"author":{"gitId":"xenosf"},"content":" giverTeam \u003d student.getTeamName();"},{"lineNumber":323,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":324,"author":{"gitId":"xenosf"},"content":" // we don\u0027t want student to figure out who is who by using the hash"},{"lineNumber":325,"author":{"gitId":"xenosf"},"content":" giverName \u003d removeAnonymousHash(getGiverNameOfResponse(response, bundle));"},{"lineNumber":326,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":327,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":328,"author":{"gitId":"xenosf"},"content":" // process recipient"},{"lineNumber":329,"author":{"gitId":"xenosf"},"content":" boolean isUserRecipient \u003d student.getEmail().equals(response.getRecipient())"},{"lineNumber":330,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 (isUserInstructor \u0026\u0026 question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS"},{"lineNumber":331,"author":{"gitId":"xenosf"},"content":" || !isUserInstructor \u0026\u0026 question.getRecipientType() !\u003d FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":332,"author":{"gitId":"xenosf"},"content":" boolean isUserTeamRecipient \u003d (question.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":333,"author":{"gitId":"xenosf"},"content":" || question.getRecipientType() \u003d\u003d FeedbackParticipantType.TEAMS_IN_SAME_SECTION)"},{"lineNumber":334,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 student.getTeamName().equals(response.getRecipient());"},{"lineNumber":335,"author":{"gitId":"xenosf"},"content":" String recipientName;"},{"lineNumber":336,"author":{"gitId":"xenosf"},"content":" String recipientTeam \u003d \"\";"},{"lineNumber":337,"author":{"gitId":"xenosf"},"content":" if (isUserRecipient) {"},{"lineNumber":338,"author":{"gitId":"xenosf"},"content":" recipientName \u003d \"You\";"},{"lineNumber":339,"author":{"gitId":"xenosf"},"content":" recipientTeam \u003d student.getTeamName();"},{"lineNumber":340,"author":{"gitId":"xenosf"},"content":" } else if (isUserTeamRecipient) {"},{"lineNumber":341,"author":{"gitId":"xenosf"},"content":" recipientName \u003d String.format(\"Your Team (%s)\", response.getRecipient());"},{"lineNumber":342,"author":{"gitId":"xenosf"},"content":" recipientTeam \u003d response.getRecipient();"},{"lineNumber":343,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":344,"author":{"gitId":"xenosf"},"content":" // we don\u0027t want student to figure out who is who by using the hash"},{"lineNumber":345,"author":{"gitId":"xenosf"},"content":" recipientName \u003d removeAnonymousHash(getRecipientNameOfResponse(response, bundle));"},{"lineNumber":346,"author":{"gitId":"xenosf"},"content":" if (!recipientName.contains(Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT)) {"},{"lineNumber":347,"author":{"gitId":"xenosf"},"content":" recipientTeam \u003d bundle.getRoster().getInfoForIdentifier(response.getRecipient()).getTeamName();"},{"lineNumber":348,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":349,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":350,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":351,"author":{"gitId":"xenosf"},"content":" // process comments"},{"lineNumber":352,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e feedbackResponseComments \u003d"},{"lineNumber":353,"author":{"gitId":"xenosf"},"content":" bundle.getResponseCommentsMap().getOrDefault(response, Collections.emptyList());"},{"lineNumber":354,"author":{"gitId":"xenosf"},"content":" Queue\u003cCommentOutput\u003e comments \u003d buildComments(feedbackResponseComments, bundle);"},{"lineNumber":355,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":356,"author":{"gitId":"xenosf"},"content":" return ResponseOutput.builder()"},{"lineNumber":357,"author":{"gitId":"xenosf"},"content":" .withResponse(response)"},{"lineNumber":358,"author":{"gitId":"xenosf"},"content":" .withGiver(giverName)"},{"lineNumber":359,"author":{"gitId":"xenosf"},"content":" .withGiverTeam(giverTeam)"},{"lineNumber":360,"author":{"gitId":"xenosf"},"content":" .withGiverEmail(null)"},{"lineNumber":361,"author":{"gitId":"xenosf"},"content":" .withRelatedGiverEmail(null)"},{"lineNumber":362,"author":{"gitId":"-"},"content":" .withGiverSection(response.getGiverSection())"},{"lineNumber":363,"author":{"gitId":"-"},"content":" .withRecipient(recipientName)"},{"lineNumber":364,"author":{"gitId":"-"},"content":" .withRecipientTeam(recipientTeam)"},{"lineNumber":365,"author":{"gitId":"-"},"content":" .withRecipientEmail(null)"},{"lineNumber":366,"author":{"gitId":"-"},"content":" .withRecipientSection(response.getRecipientSection())"},{"lineNumber":367,"author":{"gitId":"xenosf"},"content":" .withResponseDetails(response.getFeedbackResponseDetailsCopy())"},{"lineNumber":368,"author":{"gitId":"-"},"content":" .withParticipantComment(comments.poll())"},{"lineNumber":369,"author":{"gitId":"-"},"content":" .withInstructorComments(new ArrayList\u003c\u003e(comments))"},{"lineNumber":370,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":371,"author":{"gitId":"-"},"content":" }"},{"lineNumber":372,"author":{"gitId":"-"},"content":""},{"lineNumber":373,"author":{"gitId":"-"},"content":" private static String removeAnonymousHash(String identifier) {"},{"lineNumber":374,"author":{"gitId":"-"},"content":" return identifier.replaceAll(Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT + \" (student|instructor|team) \""},{"lineNumber":375,"author":{"gitId":"-"},"content":" + REGEX_ANONYMOUS_PARTICIPANT_HASH, Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT + \" $1\");"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":""},{"lineNumber":378,"author":{"gitId":"-"},"content":" private static List\u003cResponseOutput\u003e buildResponsesForInstructor("},{"lineNumber":379,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponseAttributes\u003e responses, SessionResultsBundle bundle, boolean areMissingResponses) {"},{"lineNumber":380,"author":{"gitId":"-"},"content":" List\u003cResponseOutput\u003e output \u003d new ArrayList\u003c\u003e();"},{"lineNumber":381,"author":{"gitId":"-"},"content":""},{"lineNumber":382,"author":{"gitId":"-"},"content":" for (FeedbackResponseAttributes response : responses) {"},{"lineNumber":383,"author":{"gitId":"-"},"content":" output.add(buildSingleResponseForInstructor(response, bundle, areMissingResponses));"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" return output;"},{"lineNumber":387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":388,"author":{"gitId":"-"},"content":""},{"lineNumber":389,"author":{"gitId":"xenosf"},"content":" private static List\u003cResponseOutput\u003e buildResponsesForInstructor("},{"lineNumber":390,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e responses, SqlSessionResultsBundle bundle, boolean areMissingResponses) {"},{"lineNumber":391,"author":{"gitId":"xenosf"},"content":" List\u003cResponseOutput\u003e output \u003d new ArrayList\u003c\u003e();"},{"lineNumber":392,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":393,"author":{"gitId":"xenosf"},"content":" for (FeedbackResponse response : responses) {"},{"lineNumber":394,"author":{"gitId":"xenosf"},"content":" output.add(buildSingleResponseForInstructor(response, bundle, areMissingResponses));"},{"lineNumber":395,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":396,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":397,"author":{"gitId":"xenosf"},"content":" return output;"},{"lineNumber":398,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":399,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" private static ResponseOutput buildSingleResponseForInstructor("},{"lineNumber":401,"author":{"gitId":"-"},"content":" FeedbackResponseAttributes response, SessionResultsBundle bundle, boolean isMissingResponse) {"},{"lineNumber":402,"author":{"gitId":"-"},"content":" // process giver"},{"lineNumber":403,"author":{"gitId":"-"},"content":" String giverEmail \u003d null;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" String relatedGiverEmail \u003d null;"},{"lineNumber":405,"author":{"gitId":"-"},"content":" if (bundle.isResponseGiverVisible(response)) {"},{"lineNumber":406,"author":{"gitId":"-"},"content":" giverEmail \u003d response.getGiver();"},{"lineNumber":407,"author":{"gitId":"-"},"content":" relatedGiverEmail \u003d response.getGiver();"},{"lineNumber":408,"author":{"gitId":"-"},"content":""},{"lineNumber":409,"author":{"gitId":"-"},"content":" if (bundle.getRoster().isTeamInCourse(giverEmail)) {"},{"lineNumber":410,"author":{"gitId":"-"},"content":" // remove recipient email as it is a team name"},{"lineNumber":411,"author":{"gitId":"-"},"content":" relatedGiverEmail \u003d"},{"lineNumber":412,"author":{"gitId":"-"},"content":" bundle.getRoster().getTeamToMembersTable().get(giverEmail).iterator().next().getEmail();"},{"lineNumber":413,"author":{"gitId":"-"},"content":" giverEmail \u003d null;"},{"lineNumber":414,"author":{"gitId":"-"},"content":" }"},{"lineNumber":415,"author":{"gitId":"-"},"content":" }"},{"lineNumber":416,"author":{"gitId":"-"},"content":" String giverName \u003d getGiverNameOfResponse(response, bundle);"},{"lineNumber":417,"author":{"gitId":"-"},"content":" String giverTeam \u003d bundle.getRoster().getInfoForIdentifier(response.getGiver()).getTeamName();"},{"lineNumber":418,"author":{"gitId":"-"},"content":" String giverSection \u003d response.getGiverSection();"},{"lineNumber":419,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes question \u003d bundle.getQuestionsMap().get(response.getFeedbackQuestionId());"},{"lineNumber":420,"author":{"gitId":"-"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS) {"},{"lineNumber":421,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d bundle.getRoster().getInstructorForEmail(response.getGiver());"},{"lineNumber":422,"author":{"gitId":"-"},"content":" giverName \u003d instructor.getName();"},{"lineNumber":423,"author":{"gitId":"-"},"content":" giverTeam \u003d Const.USER_TEAM_FOR_INSTRUCTOR;"},{"lineNumber":424,"author":{"gitId":"-"},"content":" giverSection \u003d Const.DEFAULT_SECTION;"},{"lineNumber":425,"author":{"gitId":"-"},"content":" }"},{"lineNumber":426,"author":{"gitId":"-"},"content":""},{"lineNumber":427,"author":{"gitId":"-"},"content":" // process recipient"},{"lineNumber":428,"author":{"gitId":"-"},"content":" String recipientEmail \u003d null;"},{"lineNumber":429,"author":{"gitId":"-"},"content":" String recipientName \u003d getRecipientNameOfResponse(response, bundle);"},{"lineNumber":430,"author":{"gitId":"-"},"content":" String recipientTeam \u003d"},{"lineNumber":431,"author":{"gitId":"-"},"content":" bundle.getRoster().getInfoForIdentifier(response.getRecipient()).getTeamName();"},{"lineNumber":432,"author":{"gitId":"-"},"content":" String recipientSection \u003d response.getRecipientSection();"},{"lineNumber":433,"author":{"gitId":"-"},"content":" if (question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS) {"},{"lineNumber":434,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d bundle.getRoster().getInstructorForEmail(response.getRecipient());"},{"lineNumber":435,"author":{"gitId":"-"},"content":" recipientName \u003d instructor.getName();"},{"lineNumber":436,"author":{"gitId":"-"},"content":" recipientTeam \u003d Const.USER_TEAM_FOR_INSTRUCTOR;"},{"lineNumber":437,"author":{"gitId":"-"},"content":" recipientSection \u003d Const.DEFAULT_SECTION;"},{"lineNumber":438,"author":{"gitId":"-"},"content":" }"},{"lineNumber":439,"author":{"gitId":"-"},"content":" if (bundle.isResponseRecipientVisible(response)) {"},{"lineNumber":440,"author":{"gitId":"-"},"content":" recipientEmail \u003d response.getRecipient();"},{"lineNumber":441,"author":{"gitId":"-"},"content":""},{"lineNumber":442,"author":{"gitId":"-"},"content":" if (bundle.getRoster().isTeamInCourse(recipientEmail)) {"},{"lineNumber":443,"author":{"gitId":"-"},"content":" // remove recipient email as it is a team name"},{"lineNumber":444,"author":{"gitId":"-"},"content":" recipientEmail \u003d null;"},{"lineNumber":445,"author":{"gitId":"-"},"content":" } else if (Const.GENERAL_QUESTION.equals(recipientEmail)) {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" // general recipient does not have email"},{"lineNumber":447,"author":{"gitId":"-"},"content":" recipientEmail \u003d null;"},{"lineNumber":448,"author":{"gitId":"-"},"content":" }"},{"lineNumber":449,"author":{"gitId":"-"},"content":" }"},{"lineNumber":450,"author":{"gitId":"-"},"content":""},{"lineNumber":451,"author":{"gitId":"-"},"content":" // process comments"},{"lineNumber":452,"author":{"gitId":"-"},"content":" List\u003cFeedbackResponseCommentAttributes\u003e feedbackResponseComments \u003d"},{"lineNumber":453,"author":{"gitId":"-"},"content":" bundle.getResponseCommentsMap().getOrDefault(response.getId(), Collections.emptyList());"},{"lineNumber":454,"author":{"gitId":"-"},"content":" Queue\u003cCommentOutput\u003e comments \u003d buildComments(feedbackResponseComments, bundle);"},{"lineNumber":455,"author":{"gitId":"-"},"content":""},{"lineNumber":456,"author":{"gitId":"-"},"content":" return ResponseOutput.builder()"},{"lineNumber":457,"author":{"gitId":"-"},"content":" .withIsMissingResponse(isMissingResponse)"},{"lineNumber":458,"author":{"gitId":"-"},"content":" .withResponseId(response.getId())"},{"lineNumber":459,"author":{"gitId":"-"},"content":" .withGiver(giverName)"},{"lineNumber":460,"author":{"gitId":"-"},"content":" .withGiverTeam(giverTeam)"},{"lineNumber":461,"author":{"gitId":"-"},"content":" .withGiverEmail(giverEmail)"},{"lineNumber":462,"author":{"gitId":"-"},"content":" .withRelatedGiverEmail(relatedGiverEmail)"},{"lineNumber":463,"author":{"gitId":"xenosf"},"content":" .withGiverSectionName(giverSection)"},{"lineNumber":464,"author":{"gitId":"-"},"content":" .withRecipient(recipientName)"},{"lineNumber":465,"author":{"gitId":"-"},"content":" .withRecipientTeam(recipientTeam)"},{"lineNumber":466,"author":{"gitId":"-"},"content":" .withRecipientEmail(recipientEmail)"},{"lineNumber":467,"author":{"gitId":"xenosf"},"content":" .withRecipientSectionName(recipientSection)"},{"lineNumber":468,"author":{"gitId":"-"},"content":" .withResponseDetails(response.getResponseDetailsCopy())"},{"lineNumber":469,"author":{"gitId":"-"},"content":" .withParticipantComment(comments.poll())"},{"lineNumber":470,"author":{"gitId":"-"},"content":" .withInstructorComments(new ArrayList\u003c\u003e(comments))"},{"lineNumber":471,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":472,"author":{"gitId":"-"},"content":" }"},{"lineNumber":473,"author":{"gitId":"-"},"content":""},{"lineNumber":474,"author":{"gitId":"xenosf"},"content":" private static ResponseOutput buildSingleResponseForInstructor("},{"lineNumber":475,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response, SqlSessionResultsBundle bundle, boolean isMissingResponse) {"},{"lineNumber":476,"author":{"gitId":"xenosf"},"content":" // process giver"},{"lineNumber":477,"author":{"gitId":"xenosf"},"content":" String giverEmail \u003d null;"},{"lineNumber":478,"author":{"gitId":"xenosf"},"content":" String relatedGiverEmail \u003d null;"},{"lineNumber":479,"author":{"gitId":"xenosf"},"content":" if (bundle.isResponseGiverVisible(response)) {"},{"lineNumber":480,"author":{"gitId":"xenosf"},"content":" giverEmail \u003d response.getGiver();"},{"lineNumber":481,"author":{"gitId":"xenosf"},"content":" relatedGiverEmail \u003d response.getGiver();"},{"lineNumber":482,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":483,"author":{"gitId":"xenosf"},"content":" if (bundle.getRoster().isTeamInCourse(giverEmail)) {"},{"lineNumber":484,"author":{"gitId":"xenosf"},"content":" // remove recipient email as it is a team name"},{"lineNumber":485,"author":{"gitId":"xenosf"},"content":" relatedGiverEmail \u003d"},{"lineNumber":486,"author":{"gitId":"xenosf"},"content":" bundle.getRoster().getTeamToMembersTable().get(giverEmail).iterator().next().getEmail();"},{"lineNumber":487,"author":{"gitId":"xenosf"},"content":" giverEmail \u003d null;"},{"lineNumber":488,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":489,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":490,"author":{"gitId":"xenosf"},"content":" String giverName \u003d getGiverNameOfResponse(response, bundle);"},{"lineNumber":491,"author":{"gitId":"xenosf"},"content":" String giverTeam \u003d bundle.getRoster().getInfoForIdentifier(response.getGiver()).getTeamName();"},{"lineNumber":492,"author":{"gitId":"xenosf"},"content":" String giverSectionName \u003d response.getGiverSectionName();"},{"lineNumber":493,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question \u003d response.getFeedbackQuestion();"},{"lineNumber":494,"author":{"gitId":"xenosf"},"content":" if (question.getGiverType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS) {"},{"lineNumber":495,"author":{"gitId":"xenosf"},"content":" Instructor instructor \u003d bundle.getRoster().getInstructorForEmail(response.getGiver());"},{"lineNumber":496,"author":{"gitId":"xenosf"},"content":" giverName \u003d instructor.getName();"},{"lineNumber":497,"author":{"gitId":"xenosf"},"content":" giverTeam \u003d Const.USER_TEAM_FOR_INSTRUCTOR;"},{"lineNumber":498,"author":{"gitId":"xenosf"},"content":" giverSectionName \u003d Const.DEFAULT_SECTION;"},{"lineNumber":499,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":500,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":501,"author":{"gitId":"xenosf"},"content":" // process recipient"},{"lineNumber":502,"author":{"gitId":"xenosf"},"content":" String recipientEmail \u003d null;"},{"lineNumber":503,"author":{"gitId":"xenosf"},"content":" String recipientName \u003d getRecipientNameOfResponse(response, bundle);"},{"lineNumber":504,"author":{"gitId":"xenosf"},"content":" String recipientTeam \u003d"},{"lineNumber":505,"author":{"gitId":"xenosf"},"content":" bundle.getRoster().getInfoForIdentifier(response.getRecipient()).getTeamName();"},{"lineNumber":506,"author":{"gitId":"xenosf"},"content":" String recipientSectionName \u003d response.getRecipientSectionName();"},{"lineNumber":507,"author":{"gitId":"xenosf"},"content":" if (question.getRecipientType() \u003d\u003d FeedbackParticipantType.INSTRUCTORS) {"},{"lineNumber":508,"author":{"gitId":"xenosf"},"content":" Instructor instructor \u003d bundle.getRoster().getInstructorForEmail(response.getRecipient());"},{"lineNumber":509,"author":{"gitId":"xenosf"},"content":" recipientName \u003d instructor.getName();"},{"lineNumber":510,"author":{"gitId":"xenosf"},"content":" recipientTeam \u003d Const.USER_TEAM_FOR_INSTRUCTOR;"},{"lineNumber":511,"author":{"gitId":"xenosf"},"content":" recipientSectionName \u003d Const.DEFAULT_SECTION;"},{"lineNumber":512,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":513,"author":{"gitId":"xenosf"},"content":" if (bundle.isResponseRecipientVisible(response)) {"},{"lineNumber":514,"author":{"gitId":"xenosf"},"content":" recipientEmail \u003d response.getRecipient();"},{"lineNumber":515,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":516,"author":{"gitId":"xenosf"},"content":" if (bundle.getRoster().isTeamInCourse(recipientEmail)) {"},{"lineNumber":517,"author":{"gitId":"xenosf"},"content":" // remove recipient email as it is a team name"},{"lineNumber":518,"author":{"gitId":"xenosf"},"content":" recipientEmail \u003d null;"},{"lineNumber":519,"author":{"gitId":"xenosf"},"content":" } else if (Const.GENERAL_QUESTION.equals(recipientEmail)) {"},{"lineNumber":520,"author":{"gitId":"xenosf"},"content":" // general recipient does not have email"},{"lineNumber":521,"author":{"gitId":"xenosf"},"content":" recipientEmail \u003d null;"},{"lineNumber":522,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":523,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":524,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":525,"author":{"gitId":"xenosf"},"content":" // process comments"},{"lineNumber":526,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponseComment\u003e feedbackResponseComments \u003d"},{"lineNumber":527,"author":{"gitId":"xenosf"},"content":" bundle.getResponseCommentsMap().getOrDefault(response, Collections.emptyList());"},{"lineNumber":528,"author":{"gitId":"xenosf"},"content":" Queue\u003cCommentOutput\u003e comments \u003d buildComments(feedbackResponseComments, bundle);"},{"lineNumber":529,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":530,"author":{"gitId":"xenosf"},"content":" return ResponseOutput.builder()"},{"lineNumber":531,"author":{"gitId":"xenosf"},"content":" .withIsMissingResponse(isMissingResponse)"},{"lineNumber":532,"author":{"gitId":"xenosf"},"content":" .withResponse(response)"},{"lineNumber":533,"author":{"gitId":"xenosf"},"content":" .withGiver(giverName)"},{"lineNumber":534,"author":{"gitId":"xenosf"},"content":" .withGiverTeam(giverTeam)"},{"lineNumber":535,"author":{"gitId":"xenosf"},"content":" .withGiverEmail(giverEmail)"},{"lineNumber":536,"author":{"gitId":"xenosf"},"content":" .withRelatedGiverEmail(relatedGiverEmail)"},{"lineNumber":537,"author":{"gitId":"xenosf"},"content":" .withGiverSectionName(giverSectionName)"},{"lineNumber":538,"author":{"gitId":"xenosf"},"content":" .withRecipient(recipientName)"},{"lineNumber":539,"author":{"gitId":"xenosf"},"content":" .withRecipientTeam(recipientTeam)"},{"lineNumber":540,"author":{"gitId":"xenosf"},"content":" .withRecipientEmail(recipientEmail)"},{"lineNumber":541,"author":{"gitId":"xenosf"},"content":" .withRecipientSectionName(recipientSectionName)"},{"lineNumber":542,"author":{"gitId":"xenosf"},"content":" .withResponseDetails(response.getFeedbackResponseDetailsCopy())"},{"lineNumber":543,"author":{"gitId":"xenosf"},"content":" .withParticipantComment(comments.poll())"},{"lineNumber":544,"author":{"gitId":"xenosf"},"content":" .withInstructorComments(new ArrayList\u003c\u003e(comments))"},{"lineNumber":545,"author":{"gitId":"xenosf"},"content":" .build();"},{"lineNumber":546,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":547,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":548,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":549,"author":{"gitId":"-"},"content":" * Gets giver name of a response from the bundle."},{"lineNumber":550,"author":{"gitId":"-"},"content":" *"},{"lineNumber":551,"author":{"gitId":"-"},"content":" * \u003cp\u003eAnonymized the name if necessary."},{"lineNumber":552,"author":{"gitId":"-"},"content":" */"},{"lineNumber":553,"author":{"gitId":"-"},"content":" private static String getGiverNameOfResponse(FeedbackResponseAttributes response, SessionResultsBundle bundle) {"},{"lineNumber":554,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes question \u003d bundle.getQuestionsMap().get(response.getFeedbackQuestionId());"},{"lineNumber":555,"author":{"gitId":"-"},"content":" FeedbackParticipantType participantType \u003d question.getGiverType();"},{"lineNumber":556,"author":{"gitId":"-"},"content":""},{"lineNumber":557,"author":{"gitId":"-"},"content":" CourseRoster.ParticipantInfo userInfo \u003d bundle.getRoster().getInfoForIdentifier(response.getGiver());"},{"lineNumber":558,"author":{"gitId":"-"},"content":" String name \u003d userInfo.getName();"},{"lineNumber":559,"author":{"gitId":"-"},"content":""},{"lineNumber":560,"author":{"gitId":"-"},"content":" if (!bundle.isResponseGiverVisible(response)) {"},{"lineNumber":561,"author":{"gitId":"-"},"content":" name \u003d SessionResultsBundle.getAnonName(participantType, name);"},{"lineNumber":562,"author":{"gitId":"-"},"content":" }"},{"lineNumber":563,"author":{"gitId":"-"},"content":""},{"lineNumber":564,"author":{"gitId":"-"},"content":" return name;"},{"lineNumber":565,"author":{"gitId":"-"},"content":" }"},{"lineNumber":566,"author":{"gitId":"-"},"content":""},{"lineNumber":567,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":568,"author":{"gitId":"xenosf"},"content":" * Gets giver name of a response from the bundle."},{"lineNumber":569,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":570,"author":{"gitId":"xenosf"},"content":" * \u003cp\u003eAnonymized the name if necessary."},{"lineNumber":571,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":572,"author":{"gitId":"xenosf"},"content":" private static String getGiverNameOfResponse(FeedbackResponse response, SqlSessionResultsBundle bundle) {"},{"lineNumber":573,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question \u003d response.getFeedbackQuestion();"},{"lineNumber":574,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType participantType \u003d question.getGiverType();"},{"lineNumber":575,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":576,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster.ParticipantInfo userInfo \u003d bundle.getRoster().getInfoForIdentifier(response.getGiver());"},{"lineNumber":577,"author":{"gitId":"xenosf"},"content":" String name \u003d userInfo.getName();"},{"lineNumber":578,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":579,"author":{"gitId":"xenosf"},"content":" if (!bundle.isResponseGiverVisible(response)) {"},{"lineNumber":580,"author":{"gitId":"xenosf"},"content":" name \u003d SessionResultsBundle.getAnonName(participantType, name);"},{"lineNumber":581,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":582,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":583,"author":{"gitId":"xenosf"},"content":" return name;"},{"lineNumber":584,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":585,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":586,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":587,"author":{"gitId":"-"},"content":" * Gets recipient name of a response from the bundle."},{"lineNumber":588,"author":{"gitId":"-"},"content":" *"},{"lineNumber":589,"author":{"gitId":"-"},"content":" * \u003cp\u003eAnonymized the name if necessary."},{"lineNumber":590,"author":{"gitId":"-"},"content":" */"},{"lineNumber":591,"author":{"gitId":"-"},"content":" private static String getRecipientNameOfResponse(FeedbackResponseAttributes response, SessionResultsBundle bundle) {"},{"lineNumber":592,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes question \u003d bundle.getQuestionsMap().get(response.getFeedbackQuestionId());"},{"lineNumber":593,"author":{"gitId":"-"},"content":" FeedbackParticipantType participantType \u003d question.getRecipientType();"},{"lineNumber":594,"author":{"gitId":"-"},"content":" if (participantType \u003d\u003d FeedbackParticipantType.SELF) {"},{"lineNumber":595,"author":{"gitId":"-"},"content":" // recipient type for self-feedback is the same as the giver type"},{"lineNumber":596,"author":{"gitId":"-"},"content":" participantType \u003d question.getGiverType();"},{"lineNumber":597,"author":{"gitId":"-"},"content":" }"},{"lineNumber":598,"author":{"gitId":"-"},"content":""},{"lineNumber":599,"author":{"gitId":"-"},"content":" CourseRoster.ParticipantInfo userInfo \u003d bundle.getRoster().getInfoForIdentifier(response.getRecipient());"},{"lineNumber":600,"author":{"gitId":"-"},"content":" String name \u003d userInfo.getName();"},{"lineNumber":601,"author":{"gitId":"-"},"content":" if (Const.GENERAL_QUESTION.equals(response.getRecipient())) {"},{"lineNumber":602,"author":{"gitId":"-"},"content":" // for general question"},{"lineNumber":603,"author":{"gitId":"-"},"content":" name \u003d Const.USER_NOBODY_TEXT;"},{"lineNumber":604,"author":{"gitId":"-"},"content":" }"},{"lineNumber":605,"author":{"gitId":"-"},"content":" if (!bundle.isResponseRecipientVisible(response)) {"},{"lineNumber":606,"author":{"gitId":"-"},"content":" name \u003d SessionResultsBundle.getAnonName(participantType, name);"},{"lineNumber":607,"author":{"gitId":"-"},"content":" }"},{"lineNumber":608,"author":{"gitId":"-"},"content":""},{"lineNumber":609,"author":{"gitId":"-"},"content":" return name;"},{"lineNumber":610,"author":{"gitId":"-"},"content":" }"},{"lineNumber":611,"author":{"gitId":"-"},"content":""},{"lineNumber":612,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":613,"author":{"gitId":"xenosf"},"content":" * Gets recipient name of a response from the bundle."},{"lineNumber":614,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":615,"author":{"gitId":"xenosf"},"content":" * \u003cp\u003eAnonymized the name if necessary."},{"lineNumber":616,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":617,"author":{"gitId":"xenosf"},"content":" private static String getRecipientNameOfResponse(FeedbackResponse response, SqlSessionResultsBundle bundle) {"},{"lineNumber":618,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question \u003d response.getFeedbackQuestion();"},{"lineNumber":619,"author":{"gitId":"xenosf"},"content":" FeedbackParticipantType participantType \u003d question.getRecipientType();"},{"lineNumber":620,"author":{"gitId":"xenosf"},"content":" if (participantType \u003d\u003d FeedbackParticipantType.SELF) {"},{"lineNumber":621,"author":{"gitId":"xenosf"},"content":" // recipient type for self-feedback is the same as the giver type"},{"lineNumber":622,"author":{"gitId":"xenosf"},"content":" participantType \u003d question.getGiverType();"},{"lineNumber":623,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":624,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":625,"author":{"gitId":"xenosf"},"content":" SqlCourseRoster.ParticipantInfo userInfo \u003d bundle.getRoster().getInfoForIdentifier(response.getRecipient());"},{"lineNumber":626,"author":{"gitId":"xenosf"},"content":" String name \u003d userInfo.getName();"},{"lineNumber":627,"author":{"gitId":"xenosf"},"content":" if (Const.GENERAL_QUESTION.equals(response.getRecipient())) {"},{"lineNumber":628,"author":{"gitId":"xenosf"},"content":" // for general question"},{"lineNumber":629,"author":{"gitId":"xenosf"},"content":" name \u003d Const.USER_NOBODY_TEXT;"},{"lineNumber":630,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":631,"author":{"gitId":"xenosf"},"content":" if (!bundle.isResponseRecipientVisible(response)) {"},{"lineNumber":632,"author":{"gitId":"xenosf"},"content":" name \u003d SessionResultsBundle.getAnonName(participantType, name);"},{"lineNumber":633,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":634,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":635,"author":{"gitId":"xenosf"},"content":" return name;"},{"lineNumber":636,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":637,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":638,"author":{"gitId":"-"},"content":" private static Queue\u003cCommentOutput\u003e buildComments(List\u003cFeedbackResponseCommentAttributes\u003e feedbackResponseComments,"},{"lineNumber":639,"author":{"gitId":"-"},"content":" SessionResultsBundle bundle) {"},{"lineNumber":640,"author":{"gitId":"-"},"content":" LinkedList\u003cCommentOutput\u003e outputs \u003d new LinkedList\u003c\u003e();"},{"lineNumber":641,"author":{"gitId":"-"},"content":""},{"lineNumber":642,"author":{"gitId":"-"},"content":" CommentOutput participantComment \u003d null;"},{"lineNumber":643,"author":{"gitId":"-"},"content":" for (FeedbackResponseCommentAttributes comment : feedbackResponseComments) {"},{"lineNumber":644,"author":{"gitId":"-"},"content":" if (comment.isCommentFromFeedbackParticipant()) {"},{"lineNumber":645,"author":{"gitId":"-"},"content":" // participant comment will not need these fields"},{"lineNumber":646,"author":{"gitId":"-"},"content":" participantComment \u003d CommentOutput.builder(comment)"},{"lineNumber":647,"author":{"gitId":"-"},"content":" .withCommentGiver(null)"},{"lineNumber":648,"author":{"gitId":"-"},"content":" .withCommentGiverName(null)"},{"lineNumber":649,"author":{"gitId":"-"},"content":" .withLastEditorEmail(null)"},{"lineNumber":650,"author":{"gitId":"-"},"content":" .withLastEditorName(null)"},{"lineNumber":651,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":652,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":653,"author":{"gitId":"-"},"content":" String giverEmail \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":654,"author":{"gitId":"-"},"content":" String giverName \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":655,"author":{"gitId":"-"},"content":" String lastEditorEmail \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":656,"author":{"gitId":"-"},"content":" String lastEditorName \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":657,"author":{"gitId":"-"},"content":" if (bundle.isCommentGiverVisible(comment)) {"},{"lineNumber":658,"author":{"gitId":"-"},"content":" giverEmail \u003d comment.getCommentGiver();"},{"lineNumber":659,"author":{"gitId":"-"},"content":" giverName \u003d bundle.getRoster().getInfoForIdentifier(comment.getCommentGiver()).getName();"},{"lineNumber":660,"author":{"gitId":"-"},"content":" lastEditorEmail \u003d comment.getLastEditorEmail();"},{"lineNumber":661,"author":{"gitId":"-"},"content":" lastEditorName \u003d bundle.getRoster().getInfoForIdentifier(comment.getLastEditorEmail()).getName();"},{"lineNumber":662,"author":{"gitId":"-"},"content":" }"},{"lineNumber":663,"author":{"gitId":"-"},"content":" outputs.add(CommentOutput.builder(comment)"},{"lineNumber":664,"author":{"gitId":"-"},"content":" .withCommentGiver(giverEmail)"},{"lineNumber":665,"author":{"gitId":"-"},"content":" .withCommentGiverName(giverName)"},{"lineNumber":666,"author":{"gitId":"-"},"content":" .withLastEditorEmail(lastEditorEmail)"},{"lineNumber":667,"author":{"gitId":"-"},"content":" .withLastEditorName(lastEditorName)"},{"lineNumber":668,"author":{"gitId":"-"},"content":" .build());"},{"lineNumber":669,"author":{"gitId":"-"},"content":" }"},{"lineNumber":670,"author":{"gitId":"-"},"content":" }"},{"lineNumber":671,"author":{"gitId":"-"},"content":" outputs.addFirst(participantComment);"},{"lineNumber":672,"author":{"gitId":"-"},"content":""},{"lineNumber":673,"author":{"gitId":"-"},"content":" return outputs;"},{"lineNumber":674,"author":{"gitId":"-"},"content":" }"},{"lineNumber":675,"author":{"gitId":"-"},"content":""},{"lineNumber":676,"author":{"gitId":"xenosf"},"content":" private static Queue\u003cCommentOutput\u003e buildComments(List\u003cFeedbackResponseComment\u003e feedbackResponseComments,"},{"lineNumber":677,"author":{"gitId":"xenosf"},"content":" SqlSessionResultsBundle bundle) {"},{"lineNumber":678,"author":{"gitId":"xenosf"},"content":" LinkedList\u003cCommentOutput\u003e outputs \u003d new LinkedList\u003c\u003e();"},{"lineNumber":679,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":680,"author":{"gitId":"xenosf"},"content":" CommentOutput participantComment \u003d null;"},{"lineNumber":681,"author":{"gitId":"xenosf"},"content":" for (FeedbackResponseComment comment : feedbackResponseComments) {"},{"lineNumber":682,"author":{"gitId":"xenosf"},"content":" if (comment.getIsCommentFromFeedbackParticipant()) {"},{"lineNumber":683,"author":{"gitId":"xenosf"},"content":" // participant comment will not need these fields"},{"lineNumber":684,"author":{"gitId":"xenosf"},"content":" participantComment \u003d CommentOutput.builder(comment)"},{"lineNumber":685,"author":{"gitId":"xenosf"},"content":" .withCommentGiver(null)"},{"lineNumber":686,"author":{"gitId":"xenosf"},"content":" .withCommentGiverName(null)"},{"lineNumber":687,"author":{"gitId":"xenosf"},"content":" .withLastEditorEmail(null)"},{"lineNumber":688,"author":{"gitId":"xenosf"},"content":" .withLastEditorName(null)"},{"lineNumber":689,"author":{"gitId":"xenosf"},"content":" .build();"},{"lineNumber":690,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":691,"author":{"gitId":"xenosf"},"content":" String giverEmail \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":692,"author":{"gitId":"xenosf"},"content":" String giverName \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":693,"author":{"gitId":"xenosf"},"content":" String lastEditorEmail \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":694,"author":{"gitId":"xenosf"},"content":" String lastEditorName \u003d Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT;"},{"lineNumber":695,"author":{"gitId":"xenosf"},"content":" if (bundle.isCommentGiverVisible(comment)) {"},{"lineNumber":696,"author":{"gitId":"xenosf"},"content":" giverEmail \u003d comment.getGiver();"},{"lineNumber":697,"author":{"gitId":"xenosf"},"content":" giverName \u003d bundle.getRoster().getInfoForIdentifier(comment.getGiver()).getName();"},{"lineNumber":698,"author":{"gitId":"xenosf"},"content":" lastEditorEmail \u003d comment.getLastEditorEmail();"},{"lineNumber":699,"author":{"gitId":"xenosf"},"content":" lastEditorName \u003d bundle.getRoster().getInfoForIdentifier(comment.getLastEditorEmail()).getName();"},{"lineNumber":700,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":701,"author":{"gitId":"xenosf"},"content":" outputs.add(CommentOutput.builder(comment)"},{"lineNumber":702,"author":{"gitId":"xenosf"},"content":" .withCommentGiver(giverEmail)"},{"lineNumber":703,"author":{"gitId":"xenosf"},"content":" .withCommentGiverName(giverName)"},{"lineNumber":704,"author":{"gitId":"xenosf"},"content":" .withLastEditorEmail(lastEditorEmail)"},{"lineNumber":705,"author":{"gitId":"xenosf"},"content":" .withLastEditorName(lastEditorName)"},{"lineNumber":706,"author":{"gitId":"xenosf"},"content":" .build());"},{"lineNumber":707,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":708,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":709,"author":{"gitId":"xenosf"},"content":" outputs.addFirst(participantComment);"},{"lineNumber":710,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":711,"author":{"gitId":"xenosf"},"content":" return outputs;"},{"lineNumber":712,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":713,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":714,"author":{"gitId":"-"},"content":" public List\u003cQuestionOutput\u003e getQuestions() {"},{"lineNumber":715,"author":{"gitId":"-"},"content":" return questions;"},{"lineNumber":716,"author":{"gitId":"-"},"content":" }"},{"lineNumber":717,"author":{"gitId":"-"},"content":""},{"lineNumber":718,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":719,"author":{"gitId":"-"},"content":" * API output format for questions in session results."},{"lineNumber":720,"author":{"gitId":"-"},"content":" */"},{"lineNumber":721,"author":{"gitId":"-"},"content":" public static final class QuestionOutput {"},{"lineNumber":722,"author":{"gitId":"-"},"content":""},{"lineNumber":723,"author":{"gitId":"-"},"content":" private final FeedbackQuestionData feedbackQuestion;"},{"lineNumber":724,"author":{"gitId":"-"},"content":" private final String questionStatistics;"},{"lineNumber":725,"author":{"gitId":"-"},"content":""},{"lineNumber":726,"author":{"gitId":"-"},"content":" private final List\u003cResponseOutput\u003e allResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":727,"author":{"gitId":"-"},"content":" private final boolean hasResponseButNotVisibleForPreview;"},{"lineNumber":728,"author":{"gitId":"-"},"content":" private final boolean hasCommentNotVisibleForPreview;"},{"lineNumber":729,"author":{"gitId":"-"},"content":""},{"lineNumber":730,"author":{"gitId":"-"},"content":" // For student view only"},{"lineNumber":731,"author":{"gitId":"-"},"content":" private final List\u003cResponseOutput\u003e responsesToSelf \u003d new ArrayList\u003c\u003e();"},{"lineNumber":732,"author":{"gitId":"-"},"content":" private final List\u003cResponseOutput\u003e responsesFromSelf \u003d new ArrayList\u003c\u003e();"},{"lineNumber":733,"author":{"gitId":"-"},"content":" private final List\u003cList\u003cResponseOutput\u003e\u003e otherResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":734,"author":{"gitId":"-"},"content":""},{"lineNumber":735,"author":{"gitId":"-"},"content":" private QuestionOutput(FeedbackQuestionAttributes feedbackQuestionAttributes, String questionStatistics,"},{"lineNumber":736,"author":{"gitId":"-"},"content":" boolean hasResponseButNotVisibleForPreview, boolean hasCommentNotVisibleForPreview) {"},{"lineNumber":737,"author":{"gitId":"-"},"content":" this.feedbackQuestion \u003d new FeedbackQuestionData(feedbackQuestionAttributes);"},{"lineNumber":738,"author":{"gitId":"-"},"content":" this.questionStatistics \u003d questionStatistics;"},{"lineNumber":739,"author":{"gitId":"-"},"content":" this.hasResponseButNotVisibleForPreview \u003d hasResponseButNotVisibleForPreview;"},{"lineNumber":740,"author":{"gitId":"-"},"content":" this.hasCommentNotVisibleForPreview \u003d hasCommentNotVisibleForPreview;"},{"lineNumber":741,"author":{"gitId":"-"},"content":" }"},{"lineNumber":742,"author":{"gitId":"-"},"content":""},{"lineNumber":743,"author":{"gitId":"xenosf"},"content":" private QuestionOutput(FeedbackQuestion feedbackQuestion, String questionStatistics,"},{"lineNumber":744,"author":{"gitId":"xenosf"},"content":" boolean hasResponseButNotVisibleForPreview, boolean hasCommentNotVisibleForPreview) {"},{"lineNumber":745,"author":{"gitId":"xenosf"},"content":" this.feedbackQuestion \u003d new FeedbackQuestionData(feedbackQuestion);"},{"lineNumber":746,"author":{"gitId":"xenosf"},"content":" this.questionStatistics \u003d questionStatistics;"},{"lineNumber":747,"author":{"gitId":"xenosf"},"content":" this.hasResponseButNotVisibleForPreview \u003d hasResponseButNotVisibleForPreview;"},{"lineNumber":748,"author":{"gitId":"xenosf"},"content":" this.hasCommentNotVisibleForPreview \u003d hasCommentNotVisibleForPreview;"},{"lineNumber":749,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":750,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":751,"author":{"gitId":"-"},"content":" public FeedbackQuestionData getFeedbackQuestion() {"},{"lineNumber":752,"author":{"gitId":"-"},"content":" return feedbackQuestion;"},{"lineNumber":753,"author":{"gitId":"-"},"content":" }"},{"lineNumber":754,"author":{"gitId":"-"},"content":""},{"lineNumber":755,"author":{"gitId":"-"},"content":" public String getQuestionStatistics() {"},{"lineNumber":756,"author":{"gitId":"-"},"content":" return questionStatistics;"},{"lineNumber":757,"author":{"gitId":"-"},"content":" }"},{"lineNumber":758,"author":{"gitId":"-"},"content":""},{"lineNumber":759,"author":{"gitId":"-"},"content":" public List\u003cResponseOutput\u003e getAllResponses() {"},{"lineNumber":760,"author":{"gitId":"-"},"content":" return allResponses;"},{"lineNumber":761,"author":{"gitId":"-"},"content":" }"},{"lineNumber":762,"author":{"gitId":"-"},"content":""},{"lineNumber":763,"author":{"gitId":"-"},"content":" public boolean getHasResponseButNotVisibleForPreview() {"},{"lineNumber":764,"author":{"gitId":"-"},"content":" return hasResponseButNotVisibleForPreview;"},{"lineNumber":765,"author":{"gitId":"-"},"content":" }"},{"lineNumber":766,"author":{"gitId":"-"},"content":""},{"lineNumber":767,"author":{"gitId":"-"},"content":" public boolean getHasCommentNotVisibleForPreview() {"},{"lineNumber":768,"author":{"gitId":"-"},"content":" return hasCommentNotVisibleForPreview;"},{"lineNumber":769,"author":{"gitId":"-"},"content":" }"},{"lineNumber":770,"author":{"gitId":"-"},"content":""},{"lineNumber":771,"author":{"gitId":"-"},"content":" public List\u003cResponseOutput\u003e getResponsesFromSelf() {"},{"lineNumber":772,"author":{"gitId":"-"},"content":" return responsesFromSelf;"},{"lineNumber":773,"author":{"gitId":"-"},"content":" }"},{"lineNumber":774,"author":{"gitId":"-"},"content":""},{"lineNumber":775,"author":{"gitId":"-"},"content":" public List\u003cResponseOutput\u003e getResponsesToSelf() {"},{"lineNumber":776,"author":{"gitId":"-"},"content":" return responsesToSelf;"},{"lineNumber":777,"author":{"gitId":"-"},"content":" }"},{"lineNumber":778,"author":{"gitId":"-"},"content":""},{"lineNumber":779,"author":{"gitId":"-"},"content":" public List\u003cList\u003cResponseOutput\u003e\u003e getOtherResponses() {"},{"lineNumber":780,"author":{"gitId":"-"},"content":" return otherResponses;"},{"lineNumber":781,"author":{"gitId":"-"},"content":" }"},{"lineNumber":782,"author":{"gitId":"-"},"content":""},{"lineNumber":783,"author":{"gitId":"-"},"content":" }"},{"lineNumber":784,"author":{"gitId":"-"},"content":""},{"lineNumber":785,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":786,"author":{"gitId":"-"},"content":" * API output format for question responses."},{"lineNumber":787,"author":{"gitId":"-"},"content":" */"},{"lineNumber":788,"author":{"gitId":"-"},"content":" public static final class ResponseOutput {"},{"lineNumber":789,"author":{"gitId":"-"},"content":""},{"lineNumber":790,"author":{"gitId":"-"},"content":" private boolean isMissingResponse;"},{"lineNumber":791,"author":{"gitId":"-"},"content":""},{"lineNumber":792,"author":{"gitId":"-"},"content":" private String responseId;"},{"lineNumber":793,"author":{"gitId":"-"},"content":""},{"lineNumber":794,"author":{"gitId":"-"},"content":" private String giver;"},{"lineNumber":795,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":796,"author":{"gitId":"-"},"content":" * Depending on the question giver type, {@code giverIdentifier} may contain the giver\u0027s email, any team member\u0027s"},{"lineNumber":797,"author":{"gitId":"-"},"content":" * email or null."},{"lineNumber":798,"author":{"gitId":"-"},"content":" */"},{"lineNumber":799,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":800,"author":{"gitId":"-"},"content":" private String relatedGiverEmail;"},{"lineNumber":801,"author":{"gitId":"-"},"content":" private String giverTeam;"},{"lineNumber":802,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":803,"author":{"gitId":"-"},"content":" private String giverEmail;"},{"lineNumber":804,"author":{"gitId":"-"},"content":" private String giverSection;"},{"lineNumber":805,"author":{"gitId":"-"},"content":" private String recipient;"},{"lineNumber":806,"author":{"gitId":"-"},"content":" private String recipientTeam;"},{"lineNumber":807,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":808,"author":{"gitId":"-"},"content":" private String recipientEmail;"},{"lineNumber":809,"author":{"gitId":"-"},"content":" private String recipientSection;"},{"lineNumber":810,"author":{"gitId":"-"},"content":" private FeedbackResponseDetails responseDetails;"},{"lineNumber":811,"author":{"gitId":"-"},"content":""},{"lineNumber":812,"author":{"gitId":"-"},"content":" // comments"},{"lineNumber":813,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":814,"author":{"gitId":"-"},"content":" private CommentOutput participantComment;"},{"lineNumber":815,"author":{"gitId":"-"},"content":" private List\u003cCommentOutput\u003e instructorComments;"},{"lineNumber":816,"author":{"gitId":"-"},"content":""},{"lineNumber":817,"author":{"gitId":"-"},"content":" private ResponseOutput() {"},{"lineNumber":818,"author":{"gitId":"-"},"content":" // use builder instead"},{"lineNumber":819,"author":{"gitId":"-"},"content":" }"},{"lineNumber":820,"author":{"gitId":"-"},"content":""},{"lineNumber":821,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":822,"author":{"gitId":"-"},"content":" * Returns a builder for {@link ResponseOutput}."},{"lineNumber":823,"author":{"gitId":"-"},"content":" */"},{"lineNumber":824,"author":{"gitId":"-"},"content":" static Builder builder() {"},{"lineNumber":825,"author":{"gitId":"-"},"content":" return new Builder();"},{"lineNumber":826,"author":{"gitId":"-"},"content":" }"},{"lineNumber":827,"author":{"gitId":"-"},"content":""},{"lineNumber":828,"author":{"gitId":"-"},"content":" public boolean isMissingResponse() {"},{"lineNumber":829,"author":{"gitId":"-"},"content":" return isMissingResponse;"},{"lineNumber":830,"author":{"gitId":"-"},"content":" }"},{"lineNumber":831,"author":{"gitId":"-"},"content":""},{"lineNumber":832,"author":{"gitId":"-"},"content":" public String getResponseId() {"},{"lineNumber":833,"author":{"gitId":"-"},"content":" return responseId;"},{"lineNumber":834,"author":{"gitId":"-"},"content":" }"},{"lineNumber":835,"author":{"gitId":"-"},"content":""},{"lineNumber":836,"author":{"gitId":"-"},"content":" public String getGiver() {"},{"lineNumber":837,"author":{"gitId":"-"},"content":" return giver;"},{"lineNumber":838,"author":{"gitId":"-"},"content":" }"},{"lineNumber":839,"author":{"gitId":"-"},"content":""},{"lineNumber":840,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":841,"author":{"gitId":"-"},"content":" public String getGiverEmail() {"},{"lineNumber":842,"author":{"gitId":"-"},"content":" return giverEmail;"},{"lineNumber":843,"author":{"gitId":"-"},"content":" }"},{"lineNumber":844,"author":{"gitId":"-"},"content":""},{"lineNumber":845,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":846,"author":{"gitId":"-"},"content":" public String getRelatedGiverEmail() {"},{"lineNumber":847,"author":{"gitId":"-"},"content":" return relatedGiverEmail;"},{"lineNumber":848,"author":{"gitId":"-"},"content":" }"},{"lineNumber":849,"author":{"gitId":"-"},"content":""},{"lineNumber":850,"author":{"gitId":"-"},"content":" public String getGiverTeam() {"},{"lineNumber":851,"author":{"gitId":"-"},"content":" return giverTeam;"},{"lineNumber":852,"author":{"gitId":"-"},"content":" }"},{"lineNumber":853,"author":{"gitId":"-"},"content":""},{"lineNumber":854,"author":{"gitId":"-"},"content":" public String getGiverSection() {"},{"lineNumber":855,"author":{"gitId":"-"},"content":" return giverSection;"},{"lineNumber":856,"author":{"gitId":"-"},"content":" }"},{"lineNumber":857,"author":{"gitId":"-"},"content":""},{"lineNumber":858,"author":{"gitId":"-"},"content":" public String getRecipient() {"},{"lineNumber":859,"author":{"gitId":"-"},"content":" return recipient;"},{"lineNumber":860,"author":{"gitId":"-"},"content":" }"},{"lineNumber":861,"author":{"gitId":"-"},"content":""},{"lineNumber":862,"author":{"gitId":"-"},"content":" public String getRecipientTeam() {"},{"lineNumber":863,"author":{"gitId":"-"},"content":" return recipientTeam;"},{"lineNumber":864,"author":{"gitId":"-"},"content":" }"},{"lineNumber":865,"author":{"gitId":"-"},"content":""},{"lineNumber":866,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":867,"author":{"gitId":"-"},"content":" public String getRecipientEmail() {"},{"lineNumber":868,"author":{"gitId":"-"},"content":" return recipientEmail;"},{"lineNumber":869,"author":{"gitId":"-"},"content":" }"},{"lineNumber":870,"author":{"gitId":"-"},"content":""},{"lineNumber":871,"author":{"gitId":"-"},"content":" public String getRecipientSection() {"},{"lineNumber":872,"author":{"gitId":"-"},"content":" return recipientSection;"},{"lineNumber":873,"author":{"gitId":"-"},"content":" }"},{"lineNumber":874,"author":{"gitId":"-"},"content":""},{"lineNumber":875,"author":{"gitId":"-"},"content":" public FeedbackResponseDetails getResponseDetails() {"},{"lineNumber":876,"author":{"gitId":"-"},"content":" return responseDetails;"},{"lineNumber":877,"author":{"gitId":"-"},"content":" }"},{"lineNumber":878,"author":{"gitId":"-"},"content":""},{"lineNumber":879,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":880,"author":{"gitId":"-"},"content":" public CommentOutput getParticipantComment() {"},{"lineNumber":881,"author":{"gitId":"-"},"content":" return participantComment;"},{"lineNumber":882,"author":{"gitId":"-"},"content":" }"},{"lineNumber":883,"author":{"gitId":"-"},"content":""},{"lineNumber":884,"author":{"gitId":"-"},"content":" public List\u003cCommentOutput\u003e getInstructorComments() {"},{"lineNumber":885,"author":{"gitId":"-"},"content":" return instructorComments;"},{"lineNumber":886,"author":{"gitId":"-"},"content":" }"},{"lineNumber":887,"author":{"gitId":"-"},"content":""},{"lineNumber":888,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":889,"author":{"gitId":"-"},"content":" * Builder class for {@link ResponseOutput}."},{"lineNumber":890,"author":{"gitId":"-"},"content":" */"},{"lineNumber":891,"author":{"gitId":"-"},"content":" public static final class Builder {"},{"lineNumber":892,"author":{"gitId":"-"},"content":" private final ResponseOutput responseOutput;"},{"lineNumber":893,"author":{"gitId":"-"},"content":""},{"lineNumber":894,"author":{"gitId":"-"},"content":" private Builder() {"},{"lineNumber":895,"author":{"gitId":"-"},"content":" responseOutput \u003d new ResponseOutput();"},{"lineNumber":896,"author":{"gitId":"-"},"content":" }"},{"lineNumber":897,"author":{"gitId":"-"},"content":""},{"lineNumber":898,"author":{"gitId":"-"},"content":" Builder withIsMissingResponse(boolean isMissingResponse) {"},{"lineNumber":899,"author":{"gitId":"-"},"content":" responseOutput.isMissingResponse \u003d isMissingResponse;"},{"lineNumber":900,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":901,"author":{"gitId":"-"},"content":" }"},{"lineNumber":902,"author":{"gitId":"-"},"content":""},{"lineNumber":903,"author":{"gitId":"-"},"content":" Builder withResponseId(String responseId) {"},{"lineNumber":904,"author":{"gitId":"-"},"content":" responseOutput.responseId \u003d StringHelper.encrypt(responseId);"},{"lineNumber":905,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":906,"author":{"gitId":"-"},"content":" }"},{"lineNumber":907,"author":{"gitId":"-"},"content":""},{"lineNumber":908,"author":{"gitId":"xenosf"},"content":" Builder withResponse(FeedbackResponse response) {"},{"lineNumber":909,"author":{"gitId":"xenosf"},"content":" responseOutput.responseId \u003d StringHelper.encrypt(response.getId().toString());"},{"lineNumber":910,"author":{"gitId":"xenosf"},"content":" return this;"},{"lineNumber":911,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":912,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":913,"author":{"gitId":"-"},"content":" Builder withGiver(String giverName) {"},{"lineNumber":914,"author":{"gitId":"-"},"content":" responseOutput.giver \u003d giverName;"},{"lineNumber":915,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":916,"author":{"gitId":"-"},"content":" }"},{"lineNumber":917,"author":{"gitId":"-"},"content":""},{"lineNumber":918,"author":{"gitId":"-"},"content":" Builder withRelatedGiverEmail(@Nullable String relatedGiverEmail) {"},{"lineNumber":919,"author":{"gitId":"-"},"content":" responseOutput.relatedGiverEmail \u003d relatedGiverEmail;"},{"lineNumber":920,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":921,"author":{"gitId":"-"},"content":" }"},{"lineNumber":922,"author":{"gitId":"-"},"content":""},{"lineNumber":923,"author":{"gitId":"-"},"content":" Builder withGiverTeam(String giverTeam) {"},{"lineNumber":924,"author":{"gitId":"-"},"content":" responseOutput.giverTeam \u003d giverTeam;"},{"lineNumber":925,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":926,"author":{"gitId":"-"},"content":" }"},{"lineNumber":927,"author":{"gitId":"-"},"content":""},{"lineNumber":928,"author":{"gitId":"-"},"content":" Builder withGiverEmail(@Nullable String giverEmail) {"},{"lineNumber":929,"author":{"gitId":"-"},"content":" responseOutput.giverEmail \u003d giverEmail;"},{"lineNumber":930,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":931,"author":{"gitId":"-"},"content":" }"},{"lineNumber":932,"author":{"gitId":"-"},"content":""},{"lineNumber":933,"author":{"gitId":"xenosf"},"content":" Builder withGiverSectionName(String giverSection) {"},{"lineNumber":934,"author":{"gitId":"-"},"content":" responseOutput.giverSection \u003d giverSection;"},{"lineNumber":935,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":936,"author":{"gitId":"-"},"content":" }"},{"lineNumber":937,"author":{"gitId":"-"},"content":""},{"lineNumber":938,"author":{"gitId":"xenosf"},"content":" Builder withGiverSection(Section giverSection) {"},{"lineNumber":939,"author":{"gitId":"xenosf"},"content":" responseOutput.giverSection \u003d giverSection.getName();"},{"lineNumber":940,"author":{"gitId":"xenosf"},"content":" return this;"},{"lineNumber":941,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":942,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":943,"author":{"gitId":"-"},"content":" Builder withRecipient(String recipientName) {"},{"lineNumber":944,"author":{"gitId":"-"},"content":" responseOutput.recipient \u003d recipientName;"},{"lineNumber":945,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":946,"author":{"gitId":"-"},"content":" }"},{"lineNumber":947,"author":{"gitId":"-"},"content":""},{"lineNumber":948,"author":{"gitId":"-"},"content":" Builder withRecipientTeam(String recipientTeam) {"},{"lineNumber":949,"author":{"gitId":"-"},"content":" responseOutput.recipientTeam \u003d recipientTeam;"},{"lineNumber":950,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":951,"author":{"gitId":"-"},"content":" }"},{"lineNumber":952,"author":{"gitId":"-"},"content":""},{"lineNumber":953,"author":{"gitId":"-"},"content":" Builder withRecipientEmail(@Nullable String recipientEmail) {"},{"lineNumber":954,"author":{"gitId":"-"},"content":" responseOutput.recipientEmail \u003d recipientEmail;"},{"lineNumber":955,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":956,"author":{"gitId":"-"},"content":" }"},{"lineNumber":957,"author":{"gitId":"-"},"content":""},{"lineNumber":958,"author":{"gitId":"xenosf"},"content":" Builder withRecipientSectionName(String recipientSection) {"},{"lineNumber":959,"author":{"gitId":"-"},"content":" responseOutput.recipientSection \u003d recipientSection;"},{"lineNumber":960,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":961,"author":{"gitId":"-"},"content":" }"},{"lineNumber":962,"author":{"gitId":"-"},"content":""},{"lineNumber":963,"author":{"gitId":"xenosf"},"content":" Builder withRecipientSection(Section recipientSection) {"},{"lineNumber":964,"author":{"gitId":"xenosf"},"content":" responseOutput.recipientSection \u003d recipientSection.getName();"},{"lineNumber":965,"author":{"gitId":"xenosf"},"content":" return this;"},{"lineNumber":966,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":967,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":968,"author":{"gitId":"-"},"content":" Builder withResponseDetails(FeedbackResponseDetails responseDetails) {"},{"lineNumber":969,"author":{"gitId":"-"},"content":" responseOutput.responseDetails \u003d responseDetails;"},{"lineNumber":970,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":971,"author":{"gitId":"-"},"content":" }"},{"lineNumber":972,"author":{"gitId":"-"},"content":""},{"lineNumber":973,"author":{"gitId":"-"},"content":" Builder withParticipantComment(@Nullable CommentOutput participantComment) {"},{"lineNumber":974,"author":{"gitId":"-"},"content":" responseOutput.participantComment \u003d participantComment;"},{"lineNumber":975,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":976,"author":{"gitId":"-"},"content":" }"},{"lineNumber":977,"author":{"gitId":"-"},"content":""},{"lineNumber":978,"author":{"gitId":"-"},"content":" Builder withInstructorComments(List\u003cCommentOutput\u003e instructorComments) {"},{"lineNumber":979,"author":{"gitId":"-"},"content":" responseOutput.instructorComments \u003d instructorComments;"},{"lineNumber":980,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":981,"author":{"gitId":"-"},"content":" }"},{"lineNumber":982,"author":{"gitId":"-"},"content":""},{"lineNumber":983,"author":{"gitId":"-"},"content":" ResponseOutput build() {"},{"lineNumber":984,"author":{"gitId":"-"},"content":" return responseOutput;"},{"lineNumber":985,"author":{"gitId":"-"},"content":" }"},{"lineNumber":986,"author":{"gitId":"-"},"content":" }"},{"lineNumber":987,"author":{"gitId":"-"},"content":" }"},{"lineNumber":988,"author":{"gitId":"-"},"content":""},{"lineNumber":989,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":990,"author":{"gitId":"-"},"content":" * API output format for response comments."},{"lineNumber":991,"author":{"gitId":"-"},"content":" */"},{"lineNumber":992,"author":{"gitId":"-"},"content":" public static final class CommentOutput extends FeedbackResponseCommentData {"},{"lineNumber":993,"author":{"gitId":"-"},"content":""},{"lineNumber":994,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":995,"author":{"gitId":"-"},"content":" private String commentGiverName;"},{"lineNumber":996,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":997,"author":{"gitId":"-"},"content":" private String lastEditorName;"},{"lineNumber":998,"author":{"gitId":"-"},"content":""},{"lineNumber":999,"author":{"gitId":"xenosf"},"content":" private CommentOutput(FeedbackResponseCommentAttributes frca) {"},{"lineNumber":1000,"author":{"gitId":"xenosf"},"content":" // use builder instead"},{"lineNumber":1001,"author":{"gitId":"xenosf"},"content":" super(frca);"},{"lineNumber":1002,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1003,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1004,"author":{"gitId":"xenosf"},"content":" private CommentOutput(FeedbackResponseComment frc) {"},{"lineNumber":1005,"author":{"gitId":"-"},"content":" // use builder instead"},{"lineNumber":1006,"author":{"gitId":"-"},"content":" super(frc);"},{"lineNumber":1007,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1008,"author":{"gitId":"-"},"content":""},{"lineNumber":1009,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1010,"author":{"gitId":"-"},"content":" * Returns a builder for {@link CommentOutput}."},{"lineNumber":1011,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1012,"author":{"gitId":"xenosf"},"content":" static Builder builder(FeedbackResponseCommentAttributes frca) {"},{"lineNumber":1013,"author":{"gitId":"xenosf"},"content":" return new Builder(frca);"},{"lineNumber":1014,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1015,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1016,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":1017,"author":{"gitId":"xenosf"},"content":" * Returns a builder for {@link CommentOutput}."},{"lineNumber":1018,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":1019,"author":{"gitId":"xenosf"},"content":" static Builder builder(FeedbackResponseComment frc) {"},{"lineNumber":1020,"author":{"gitId":"-"},"content":" return new Builder(frc);"},{"lineNumber":1021,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1022,"author":{"gitId":"-"},"content":""},{"lineNumber":1023,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":1024,"author":{"gitId":"-"},"content":" public String getCommentGiverName() {"},{"lineNumber":1025,"author":{"gitId":"-"},"content":" return commentGiverName;"},{"lineNumber":1026,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1027,"author":{"gitId":"-"},"content":""},{"lineNumber":1028,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":1029,"author":{"gitId":"-"},"content":" public String getLastEditorName() {"},{"lineNumber":1030,"author":{"gitId":"-"},"content":" return lastEditorName;"},{"lineNumber":1031,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1032,"author":{"gitId":"-"},"content":""},{"lineNumber":1033,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1034,"author":{"gitId":"-"},"content":" * Builder class for {@link CommentOutput}."},{"lineNumber":1035,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1036,"author":{"gitId":"-"},"content":" public static final class Builder {"},{"lineNumber":1037,"author":{"gitId":"-"},"content":" private final CommentOutput commentOutput;"},{"lineNumber":1038,"author":{"gitId":"-"},"content":""},{"lineNumber":1039,"author":{"gitId":"xenosf"},"content":" private Builder(FeedbackResponseCommentAttributes frca) {"},{"lineNumber":1040,"author":{"gitId":"xenosf"},"content":" commentOutput \u003d new CommentOutput(frca);"},{"lineNumber":1041,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":1042,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":1043,"author":{"gitId":"xenosf"},"content":" private Builder(FeedbackResponseComment frc) {"},{"lineNumber":1044,"author":{"gitId":"-"},"content":" commentOutput \u003d new CommentOutput(frc);"},{"lineNumber":1045,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1046,"author":{"gitId":"-"},"content":""},{"lineNumber":1047,"author":{"gitId":"-"},"content":" Builder withCommentGiver(@Nullable String commentGiver) {"},{"lineNumber":1048,"author":{"gitId":"-"},"content":" commentOutput.commentGiver \u003d commentGiver;"},{"lineNumber":1049,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":1050,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1051,"author":{"gitId":"-"},"content":""},{"lineNumber":1052,"author":{"gitId":"-"},"content":" Builder withCommentGiverName(@Nullable String commentGiverName) {"},{"lineNumber":1053,"author":{"gitId":"-"},"content":" commentOutput.commentGiverName \u003d commentGiverName;"},{"lineNumber":1054,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":1055,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1056,"author":{"gitId":"-"},"content":""},{"lineNumber":1057,"author":{"gitId":"-"},"content":" Builder withLastEditorEmail(@Nullable String lastEditorEmail) {"},{"lineNumber":1058,"author":{"gitId":"-"},"content":" commentOutput.lastEditorEmail \u003d lastEditorEmail;"},{"lineNumber":1059,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":1060,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1061,"author":{"gitId":"-"},"content":""},{"lineNumber":1062,"author":{"gitId":"-"},"content":" Builder withLastEditorName(@Nullable String lastEditorName) {"},{"lineNumber":1063,"author":{"gitId":"-"},"content":" commentOutput.lastEditorName \u003d lastEditorName;"},{"lineNumber":1064,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":1065,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1066,"author":{"gitId":"-"},"content":""},{"lineNumber":1067,"author":{"gitId":"-"},"content":" CommentOutput build() {"},{"lineNumber":1068,"author":{"gitId":"-"},"content":" return commentOutput;"},{"lineNumber":1069,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1070,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1071,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1072,"author":{"gitId":"-"},"content":""},{"lineNumber":1073,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":386,"-":687}},{"path":"src/main/java/teammates/ui/output/StudentData.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.output;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import jakarta.annotation.Nullable;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * The API output format of {@link StudentAttributes}."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class StudentData extends ApiOutput {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":" @Nullable"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":" private final UUID studentId;"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" private final String email;"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private final String courseId;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" private final String name;"},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private String googleId;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private String comments;"},{"lineNumber":26,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private String key;"},{"lineNumber":28,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private String institute;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" @Nullable"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private JoinState joinState;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private final String teamName;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private final String sectionName;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" public StudentData(StudentAttributes studentAttributes) {"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" this.studentId \u003d null;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" this.email \u003d studentAttributes.getEmail();"},{"lineNumber":39,"author":{"gitId":"-"},"content":" this.courseId \u003d studentAttributes.getCourse();"},{"lineNumber":40,"author":{"gitId":"-"},"content":" this.name \u003d studentAttributes.getName();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" this.joinState \u003d studentAttributes.isRegistered() ? JoinState.JOINED : JoinState.NOT_JOINED;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" this.comments \u003d studentAttributes.getComments();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" this.teamName \u003d studentAttributes.getTeam();"},{"lineNumber":44,"author":{"gitId":"-"},"content":" this.sectionName \u003d studentAttributes.getSection();"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" public StudentData(Student student) {"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" this.studentId \u003d student.getId();"},{"lineNumber":49,"author":{"gitId":"-"},"content":" this.email \u003d student.getEmail();"},{"lineNumber":50,"author":{"gitId":"-"},"content":" this.courseId \u003d student.getCourseId();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" this.name \u003d student.getName();"},{"lineNumber":52,"author":{"gitId":"-"},"content":" this.joinState \u003d student.isRegistered() ? JoinState.JOINED : JoinState.NOT_JOINED;"},{"lineNumber":53,"author":{"gitId":"-"},"content":" this.comments \u003d student.getComments();"},{"lineNumber":54,"author":{"gitId":"-"},"content":" this.teamName \u003d student.getTeamName();"},{"lineNumber":55,"author":{"gitId":"-"},"content":" this.sectionName \u003d student.getSectionName();"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" public UUID getStudentId() {"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" return studentId;"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" public String getEmail() {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" return email;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" public String getCourseId() {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" return courseId;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" }"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" public String getName() {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" return name;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" public String getGoogleId() {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" return googleId;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" public String getComments() {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" return comments;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" public JoinState getJoinState() {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" return joinState;"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" public String getTeamName() {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" return teamName;"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" public String getSectionName() {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" return sectionName;"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" public String getKey() {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" return key;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" public String getInstitute() {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" return institute;"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" public void setGoogleId(String googleId) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" this.googleId \u003d googleId;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" public void setComments(String comments) {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" this.comments \u003d comments;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" public void setJoinState(JoinState joinState) {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" this.joinState \u003d joinState;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" public void setKey(String key) {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" this.key \u003d key;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" public void setInstitute(String institute) {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" this.institute \u003d institute;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":123,"author":{"gitId":"-"},"content":" * Hides some attributes to student."},{"lineNumber":124,"author":{"gitId":"-"},"content":" */"},{"lineNumber":125,"author":{"gitId":"-"},"content":" public void hideInformationForStudent() {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" setComments(null);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" setJoinState(null);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":131,"author":{"gitId":"-"},"content":" * Adds additional information only for search result for admin."},{"lineNumber":132,"author":{"gitId":"-"},"content":" * @param key The registration key"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * @param institute The institute of the student"},{"lineNumber":134,"author":{"gitId":"-"},"content":" * @param googleId The googleId of the student"},{"lineNumber":135,"author":{"gitId":"-"},"content":" */"},{"lineNumber":136,"author":{"gitId":"-"},"content":" public void addAdditionalInformationForAdminSearch(String key, String institute, String googleId) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" this.setKey(key);"},{"lineNumber":138,"author":{"gitId":"-"},"content":" this.setInstitute(institute);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" this.setGoogleId(googleId);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":11,"-":130}},{"path":"src/main/java/teammates/ui/request/AccountRequestRejectionRequest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.ui.request;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import java.util.Objects;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import jakarta.annotation.Nullable;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":" * The request reasonBody for rejecting an account request."},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":"public class AccountRequestRejectionRequest extends BasicRequest {"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":" @Nullable"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":" private String reasonTitle;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":" @Nullable"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" private String reasonBody;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":" public AccountRequestRejectionRequest(String reasonTitle, String reasonBody) {"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" this.reasonTitle \u003d SanitizationHelper.sanitizeTitle(reasonTitle);"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" this.reasonBody \u003d SanitizationHelper.sanitizeForRichText(reasonBody);"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" public void validate() throws InvalidHttpRequestBodyException {"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" if (reasonBody \u003d\u003d null || reasonTitle \u003d\u003d null) {"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" assertTrue(Objects.equals(reasonBody, reasonTitle),"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" \"Both reason body and title need to be null to reject silently\");"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" public String getReasonTitle() {"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" return this.reasonTitle;"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" public String getReasonBody() {"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" return this.reasonBody;"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" * Returns true if both reason body and title are non-null."},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" public boolean checkHasReason() {"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" return this.reasonBody !\u003d null \u0026\u0026 this.reasonTitle !\u003d null;"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":45,"-":1}},{"path":"src/main/java/teammates/ui/request/AccountRequestUpdateRequest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.ui.request;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import jakarta.annotation.Nullable;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":" * The create request for an account request update request."},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"public class AccountRequestUpdateRequest extends BasicRequest {"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":" private String name;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":" private String email;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":" private String institute;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":" private AccountRequestStatus status;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" @Nullable"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" private String comments;"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" public AccountRequestUpdateRequest(String name, String email, String institute, AccountRequestStatus status,"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" String comments) {"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" this.name \u003d SanitizationHelper.sanitizeName(name);"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" this.email \u003d SanitizationHelper.sanitizeEmail(email);"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" this.institute \u003d SanitizationHelper.sanitizeName(institute);"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" this.status \u003d status;"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" if (comments !\u003d null) {"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" this.comments \u003d SanitizationHelper.sanitizeTextField(comments);"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" public void validate() throws InvalidHttpRequestBodyException {"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" assertTrue(name !\u003d null, \"name cannot be null\");"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" assertTrue(email !\u003d null, \"email cannot be null\");"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" assertTrue(institute !\u003d null, \"institute cannot be null\");"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" assertTrue(status !\u003d null, \"status cannot be null\");"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" assertTrue(status \u003d\u003d AccountRequestStatus.APPROVED"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" || status \u003d\u003d AccountRequestStatus.REJECTED"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" || status \u003d\u003d AccountRequestStatus.PENDING"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" || status \u003d\u003d AccountRequestStatus.REGISTERED,"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" \"status must be one of the following: APPROVED, REJECTED, PENDING, REGISTERED\");"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" public String getName() {"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" return this.name;"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" public String getEmail() {"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" return this.email;"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" public String getInstitute() {"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" return this.institute;"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" public AccountRequestStatus getStatus() {"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" return this.status;"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" public String getComments() {"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" return this.comments;"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":62,"-":1}},{"path":"src/main/java/teammates/ui/webapi/AccountRequestSearchIndexingWorkerAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.UUID;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const.ParamsNames;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":12,"author":{"gitId":"-"},"content":" * Task queue worker action: performs account request search indexing."},{"lineNumber":13,"author":{"gitId":"-"},"content":" */"},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class AccountRequestSearchIndexingWorkerAction extends AdminOnlyAction {"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":17,"author":{"gitId":"-"},"content":" public ActionResult execute() {"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" String id \u003d getNonNullRequestParamValue(ParamsNames.ACCOUNT_REQUEST_ID);"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" UUID accountRequestId;"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" accountRequestId \u003d UUID.fromString(id);"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" } catch (IllegalArgumentException e) {"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" throw new InvalidHttpParameterException(e.getMessage(), e);"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" AccountRequest accRequest \u003d sqlLogic.getAccountRequest(accountRequestId);"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" sqlLogic.putAccountRequestDocument(accRequest);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" // Set an arbitrary retry code outside of the range 200-299 to trigger automatic retry"},{"lineNumber":33,"author":{"gitId":"-"},"content":" return new JsonResult(\"Failure\", HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" return new JsonResult(\"Successful\");"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":13,"-":25}},{"path":"src/main/java/teammates/ui/webapi/ActionFactory.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import jakarta.servlet.http.HttpServletRequest;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpDelete;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpGet;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpPost;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpPut;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.Const.CronJobURIs;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.Const.ResourceURIs;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.util.Const.TaskQueue;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * Generates the matching {@link Action} for a given URI and request method."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public final class ActionFactory {"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" static final Map\u003cString, Map\u003cString, Class\u003c? extends Action\u003e\u003e\u003e ACTION_MAPPINGS \u003d new HashMap\u003c\u003e();"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String GET \u003d HttpGet.METHOD_NAME;"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String POST \u003d HttpPost.METHOD_NAME;"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String PUT \u003d HttpPut.METHOD_NAME;"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final String DELETE \u003d HttpDelete.METHOD_NAME;"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" static {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" map(ResourceURIs.DATABUNDLE, POST, PutDataBundleAction.class);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" // Even though this is a DELETE action, PUT is used as DELETE does not allow usage of response body"},{"lineNumber":33,"author":{"gitId":"-"},"content":" map(ResourceURIs.DATABUNDLE, PUT, DeleteDataBundleAction.class);"},{"lineNumber":34,"author":{"gitId":"-"},"content":" map(ResourceURIs.SQL_DATABUNDLE, POST, PutSqlDataBundleAction.class);"},{"lineNumber":35,"author":{"gitId":"-"},"content":" // Even though this is a DELETE action, PUT is used as DELETE does not allow usage of response body"},{"lineNumber":36,"author":{"gitId":"-"},"content":" map(ResourceURIs.SQL_DATABUNDLE, PUT, DeleteSqlDataBundleAction.class);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" map(ResourceURIs.DATABUNDLE_DOCUMENTS, PUT, PutDataBundleDocumentsAction.class);"},{"lineNumber":38,"author":{"gitId":"-"},"content":" map(ResourceURIs.EXCEPTION, GET, AdminExceptionTestAction.class);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" // Even though this is a GET action, POST is used in order to get extra protection from CSRF"},{"lineNumber":40,"author":{"gitId":"-"},"content":" map(ResourceURIs.USER_COOKIE, POST, GetUserCookieAction.class);"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" map(ResourceURIs.ERROR_REPORT, POST, SendErrorReportAction.class);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" map(ResourceURIs.TIMEZONE, GET, GetTimeZonesAction.class);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" map(ResourceURIs.AUTH, GET, GetAuthInfoAction.class);"},{"lineNumber":45,"author":{"gitId":"-"},"content":" map(ResourceURIs.AUTH_REGKEY, GET, GetRegkeyValidityAction.class);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" map(ResourceURIs.ACCOUNT, GET, GetAccountAction.class);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" map(ResourceURIs.ACCOUNT, POST, CreateAccountAction.class);"},{"lineNumber":48,"author":{"gitId":"-"},"content":" map(ResourceURIs.ACCOUNT, DELETE, DeleteAccountAction.class);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" map(ResourceURIs.ACCOUNT_RESET, PUT, ResetAccountAction.class);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" map(ResourceURIs.ACCOUNT_REQUEST, GET, GetAccountRequestAction.class);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" map(ResourceURIs.ACCOUNT_REQUEST, POST, CreateAccountRequestAction.class);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" map(ResourceURIs.ACCOUNT_REQUEST, DELETE, DeleteAccountRequestAction.class);"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" map(ResourceURIs.ACCOUNT_REQUEST, PUT, UpdateAccountRequestAction.class);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" map(ResourceURIs.ACCOUNT_REQUESTS, GET, GetAccountRequestsAction.class);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" map(ResourceURIs.ACCOUNT_REQUEST_RESET, PUT, ResetAccountRequestAction.class);"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" map(ResourceURIs.ACCOUNT_REQUEST_REJECTION, POST, RejectAccountRequestAction.class);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" map(ResourceURIs.ACCOUNTS, GET, GetAccountsAction.class);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" map(ResourceURIs.COURSE, GET, GetCourseAction.class);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" map(ResourceURIs.COURSE, DELETE, DeleteCourseAction.class);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" map(ResourceURIs.COURSE, POST, CreateCourseAction.class);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" map(ResourceURIs.COURSE, PUT, UpdateCourseAction.class);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" map(ResourceURIs.COURSE_ARCHIVE, PUT, ArchiveCourseAction.class);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" map(ResourceURIs.DEADLINE_EXTENSION, GET, GetDeadlineExtensionAction.class);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" map(ResourceURIs.BIN_COURSE, PUT, BinCourseAction.class);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" map(ResourceURIs.BIN_COURSE, DELETE, RestoreCourseAction.class);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" map(ResourceURIs.COURSES, GET, GetCoursesAction.class);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" map(ResourceURIs.COURSE_SECTIONS, GET, GetCourseSectionNamesAction.class);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" map(ResourceURIs.INSTRUCTORS, GET, GetInstructorsAction.class);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" map(ResourceURIs.INSTRUCTOR, GET, GetInstructorAction.class);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" map(ResourceURIs.INSTRUCTOR, DELETE, DeleteInstructorAction.class);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" map(ResourceURIs.INSTRUCTOR_PRIVILEGE, GET, GetInstructorPrivilegeAction.class);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" map(ResourceURIs.INSTRUCTOR_PRIVILEGE, PUT, UpdateInstructorPrivilegeAction.class);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" map(ResourceURIs.RESPONSE_COMMENT, POST, CreateFeedbackResponseCommentAction.class);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" map(ResourceURIs.RESPONSE_COMMENT, GET, GetFeedbackResponseCommentAction.class);"},{"lineNumber":75,"author":{"gitId":"-"},"content":" map(ResourceURIs.RESPONSE_COMMENT, PUT, UpdateFeedbackResponseCommentAction.class);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" map(ResourceURIs.RESPONSE_COMMENT, DELETE, DeleteFeedbackResponseCommentAction.class);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" map(ResourceURIs.RESULT, GET, GetSessionResultsAction.class);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" map(ResourceURIs.LOGIN_EMAIL, POST, SendLoginEmailAction.class);"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" //STUDENTS APIs"},{"lineNumber":81,"author":{"gitId":"-"},"content":" map(ResourceURIs.STUDENTS, GET, GetStudentsAction.class);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" map(ResourceURIs.STUDENTS, PUT, EnrollStudentsAction.class);"},{"lineNumber":83,"author":{"gitId":"-"},"content":" map(ResourceURIs.STUDENTS, DELETE, DeleteStudentsAction.class);"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" //STUDENT APIs"},{"lineNumber":86,"author":{"gitId":"-"},"content":" map(ResourceURIs.STUDENT, DELETE, DeleteStudentAction.class);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" map(ResourceURIs.STUDENT, GET, GetStudentAction.class);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" map(ResourceURIs.STUDENT, PUT, UpdateStudentAction.class);"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" // NOTIFICATION APIs"},{"lineNumber":91,"author":{"gitId":"-"},"content":" map(ResourceURIs.NOTIFICATION, GET, GetNotificationAction.class);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" map(ResourceURIs.NOTIFICATION, POST, CreateNotificationAction.class);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" map(ResourceURIs.NOTIFICATION, PUT, UpdateNotificationAction.class);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" map(ResourceURIs.NOTIFICATION, DELETE, DeleteNotificationAction.class);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" map(ResourceURIs.NOTIFICATION_READ, POST, MarkNotificationAsReadAction.class);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" map(ResourceURIs.NOTIFICATION_READ, GET, GetReadNotificationsAction.class);"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" // NOTIFICATIONS APIs"},{"lineNumber":99,"author":{"gitId":"-"},"content":" map(ResourceURIs.NOTIFICATIONS, GET, GetNotificationsAction.class);"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" //SEARCH APIs"},{"lineNumber":102,"author":{"gitId":"-"},"content":" map(ResourceURIs.SEARCH_INSTRUCTORS, GET, SearchInstructorsAction.class);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" map(ResourceURIs.SEARCH_STUDENTS, GET, SearchStudentsAction.class);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" map(ResourceURIs.SEARCH_ACCOUNT_REQUESTS, GET, SearchAccountRequestsAction.class);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" map(ResourceURIs.EMAIL, GET, GenerateEmailAction.class);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSIONS_ONGOING, GET, GetOngoingSessionsAction.class);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSION_STATS, GET, GetSessionResponseStatsAction.class);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSION, GET, GetFeedbackSessionAction.class);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSION, PUT, UpdateFeedbackSessionAction.class);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSION, POST, CreateFeedbackSessionAction.class);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSION, DELETE, DeleteFeedbackSessionAction.class);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSION_PUBLISH, POST, PublishFeedbackSessionAction.class);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSION_PUBLISH, DELETE, UnpublishFeedbackSessionAction.class);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSION_SUBMITTED_GIVER_SET, GET, GetFeedbackSessionSubmittedGiverSetAction.class);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSION_REMIND_SUBMISSION, POST, RemindFeedbackSessionSubmissionAction.class);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSION_REMIND_RESULT, POST, RemindFeedbackSessionResultAction.class);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSIONS, GET, GetFeedbackSessionsAction.class);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" map(ResourceURIs.BIN_SESSION, PUT, BinFeedbackSessionAction.class);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" map(ResourceURIs.BIN_SESSION, DELETE, RestoreFeedbackSessionAction.class);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" map(ResourceURIs.INSTRUCTOR_KEY, POST, RegenerateInstructorKeyAction.class);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" map(ResourceURIs.STUDENT_KEY, POST, RegenerateStudentKeyAction.class);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" map(ResourceURIs.QUESTIONS, GET, GetFeedbackQuestionsAction.class);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" map(ResourceURIs.QUESTION, POST, CreateFeedbackQuestionAction.class);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" map(ResourceURIs.QUESTION, PUT, UpdateFeedbackQuestionAction.class);"},{"lineNumber":126,"author":{"gitId":"-"},"content":" map(ResourceURIs.QUESTION, DELETE, DeleteFeedbackQuestionAction.class);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" map(ResourceURIs.QUESTION_RECIPIENTS, GET, GetFeedbackQuestionRecipientsAction.class);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" map(ResourceURIs.RESPONSES, GET, GetFeedbackResponsesAction.class);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" map(ResourceURIs.RESPONSES, PUT, SubmitFeedbackResponsesAction.class);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" map(ResourceURIs.HAS_RESPONSES, GET, GetHasResponsesAction.class);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSION_LINKS_RECOVERY, POST, SessionLinksRecoveryAction.class);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" map(ResourceURIs.JOIN, GET, GetCourseJoinStatusAction.class);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" map(ResourceURIs.JOIN, PUT, JoinCourseAction.class);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" map(ResourceURIs.JOIN_REMIND, POST, SendJoinReminderEmailAction.class);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" map(ResourceURIs.INSTRUCTOR, PUT, UpdateInstructorAction.class);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" map(ResourceURIs.INSTRUCTOR, POST, CreateInstructorAction.class);"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" // Logging and tracking"},{"lineNumber":139,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSION_LOGS, POST, CreateFeedbackSessionLogAction.class);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" map(ResourceURIs.SESSION_LOGS, GET, GetFeedbackSessionLogsAction.class);"},{"lineNumber":141,"author":{"gitId":"-"},"content":" map(ResourceURIs.LOGS, GET, QueryLogsAction.class);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" map(ResourceURIs.USAGE_STATISTICS, GET, GetUsageStatisticsAction.class);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" map(ResourceURIs.ACTION_CLASS, GET, GetActionClassesAction.class);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" // Cron jobs; use GET request"},{"lineNumber":146,"author":{"gitId":"-"},"content":" // Reference: https://cloud.google.com/appengine/docs/standard/scheduling-jobs-with-cron-yaml"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" map(CronJobURIs.AUTOMATED_LOG_COMPILATION, GET, CompileLogsAction.class);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" map(CronJobURIs.AUTOMATED_DATASTORE_BACKUP, GET, DatastoreBackupAction.class);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" map(CronJobURIs.AUTOMATED_FEEDBACK_OPENING_REMINDERS, GET, FeedbackSessionOpeningRemindersAction.class);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" map(CronJobURIs.AUTOMATED_FEEDBACK_CLOSED_REMINDERS, GET, FeedbackSessionClosedRemindersAction.class);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" map(CronJobURIs.AUTOMATED_FEEDBACK_CLOSING_REMINDERS, GET, FeedbackSessionClosingRemindersAction.class);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" map(CronJobURIs.AUTOMATED_FEEDBACK_PUBLISHED_REMINDERS, GET, FeedbackSessionPublishedRemindersAction.class);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" map(CronJobURIs.AUTOMATED_FEEDBACK_OPENING_SOON_REMINDERS, GET,"},{"lineNumber":155,"author":{"gitId":"-"},"content":" FeedbackSessionOpeningSoonRemindersAction.class);"},{"lineNumber":156,"author":{"gitId":"-"},"content":" map(CronJobURIs.AUTOMATED_USAGE_STATISTICS_COLLECTION, GET, CalculateUsageStatisticsAction.class);"},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":" map(CronJobURIs.AUTOMATED_FEEDBACK_SESSION_LOGS_PROCESSING, GET, UpdateFeedbackSessionLogsAction.class);"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" // Task queue workers; use POST request"},{"lineNumber":160,"author":{"gitId":"-"},"content":" // Reference: https://cloud.google.com/tasks/docs/creating-appengine-tasks"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" map(TaskQueue.FEEDBACK_SESSION_PUBLISHED_EMAIL_WORKER_URL, POST, FeedbackSessionPublishedEmailWorkerAction.class);"},{"lineNumber":163,"author":{"gitId":"-"},"content":" map(TaskQueue.FEEDBACK_SESSION_RESEND_PUBLISHED_EMAIL_WORKER_URL, POST,"},{"lineNumber":164,"author":{"gitId":"-"},"content":" FeedbackSessionResendPublishedEmailWorkerAction.class);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" map(TaskQueue.FEEDBACK_SESSION_REMIND_EMAIL_WORKER_URL, POST, FeedbackSessionRemindEmailWorkerAction.class);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" map(TaskQueue.FEEDBACK_SESSION_REMIND_PARTICULAR_USERS_EMAIL_WORKER_URL, POST,"},{"lineNumber":167,"author":{"gitId":"-"},"content":" FeedbackSessionRemindParticularUsersEmailWorkerAction.class);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" map(TaskQueue.FEEDBACK_SESSION_UNPUBLISHED_EMAIL_WORKER_URL, POST,"},{"lineNumber":169,"author":{"gitId":"-"},"content":" FeedbackSessionUnpublishedEmailWorkerAction.class);"},{"lineNumber":170,"author":{"gitId":"-"},"content":" map(TaskQueue.INSTRUCTOR_COURSE_JOIN_EMAIL_WORKER_URL, POST, InstructorCourseJoinEmailWorkerAction.class);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" map(TaskQueue.SEND_EMAIL_WORKER_URL, POST, SendEmailWorkerAction.class);"},{"lineNumber":172,"author":{"gitId":"-"},"content":" map(TaskQueue.STUDENT_COURSE_JOIN_EMAIL_WORKER_URL, POST, StudentCourseJoinEmailWorkerAction.class);"},{"lineNumber":173,"author":{"gitId":"-"},"content":" map(TaskQueue.ACCOUNT_REQUEST_SEARCH_INDEXING_WORKER_URL, POST, AccountRequestSearchIndexingWorkerAction.class);"},{"lineNumber":174,"author":{"gitId":"-"},"content":" map(TaskQueue.INSTRUCTOR_SEARCH_INDEXING_WORKER_URL, POST, InstructorSearchIndexingWorkerAction.class);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" map(TaskQueue.STUDENT_SEARCH_INDEXING_WORKER_URL, POST, StudentSearchIndexingWorkerAction.class);"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" private ActionFactory() {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" // prevent initialization"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" private static void map(String uri, String method, Class\u003c? extends Action\u003e actionClass) {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" ACTION_MAPPINGS.computeIfAbsent(uri, k -\u003e new HashMap\u003c\u003e()).put(method, actionClass);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":188,"author":{"gitId":"-"},"content":" * Returns the matching {@link Action} object for the URI and method in {@code req}."},{"lineNumber":189,"author":{"gitId":"-"},"content":" */"},{"lineNumber":190,"author":{"gitId":"-"},"content":" public static Action getAction(HttpServletRequest req, String method) throws ActionMappingException {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" String uri \u003d req.getRequestURI();"},{"lineNumber":192,"author":{"gitId":"-"},"content":" if (uri.contains(\";\")) {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" uri \u003d uri.split(\";\")[0];"},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":" return getAction(uri, method);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" private static Action getAction(String uri, String method) throws ActionMappingException {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" if (!ACTION_MAPPINGS.containsKey(uri)) {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" throw new ActionMappingException(\"Resource with URI \" + uri + \" is not found.\", HttpStatus.SC_NOT_FOUND);"},{"lineNumber":201,"author":{"gitId":"-"},"content":" }"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" Class\u003c? extends Action\u003e controllerClass \u003d"},{"lineNumber":204,"author":{"gitId":"-"},"content":" ACTION_MAPPINGS.getOrDefault(uri, new HashMap\u003c\u003e()).get(method);"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" if (controllerClass \u003d\u003d null) {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" throw new ActionMappingException(\"Method [\" + method + \"] is not allowed for URI \" + uri + \".\","},{"lineNumber":208,"author":{"gitId":"-"},"content":" HttpStatus.SC_METHOD_NOT_ALLOWED);"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" return controllerClass.getDeclaredConstructor().newInstance();"},{"lineNumber":213,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" assert false : \"Could not create the action for \" + uri;"},{"lineNumber":215,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":1,"xenosf":1,"dishenggg":1,"-":216}},{"path":"src/main/java/teammates/ui/webapi/BasicFeedbackSubmissionAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * The basic action for feedback submission."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"abstract class BasicFeedbackSubmissionAction extends Action {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Checks whether instructors can see the question."},{"lineNumber":23,"author":{"gitId":"-"},"content":" */"},{"lineNumber":24,"author":{"gitId":"-"},"content":" boolean canInstructorSeeQuestion(FeedbackQuestionAttributes feedbackQuestion) {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" boolean isGiverVisibleToInstructor \u003d"},{"lineNumber":26,"author":{"gitId":"-"},"content":" feedbackQuestion.getShowGiverNameTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" boolean isRecipientVisibleToInstructor \u003d"},{"lineNumber":28,"author":{"gitId":"-"},"content":" feedbackQuestion.getShowRecipientNameTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" boolean isResponseVisibleToInstructor \u003d"},{"lineNumber":30,"author":{"gitId":"-"},"content":" feedbackQuestion.getShowResponsesTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" return isResponseVisibleToInstructor \u0026\u0026 isGiverVisibleToInstructor \u0026\u0026 isRecipientVisibleToInstructor;"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * Checks whether instructors can see the question."},{"lineNumber":36,"author":{"gitId":"-"},"content":" */"},{"lineNumber":37,"author":{"gitId":"-"},"content":" boolean canInstructorSeeQuestion(FeedbackQuestion feedbackQuestion) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" boolean isGiverVisibleToInstructor \u003d"},{"lineNumber":39,"author":{"gitId":"-"},"content":" feedbackQuestion.getShowGiverNameTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" boolean isRecipientVisibleToInstructor \u003d"},{"lineNumber":41,"author":{"gitId":"-"},"content":" feedbackQuestion.getShowRecipientNameTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" boolean isResponseVisibleToInstructor \u003d"},{"lineNumber":43,"author":{"gitId":"-"},"content":" feedbackQuestion.getShowResponsesTo().contains(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" return isResponseVisibleToInstructor \u0026\u0026 isGiverVisibleToInstructor \u0026\u0026 isRecipientVisibleToInstructor;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Verifies that instructor can see the moderated question in moderation request."},{"lineNumber":49,"author":{"gitId":"-"},"content":" */"},{"lineNumber":50,"author":{"gitId":"-"},"content":" void verifyInstructorCanSeeQuestionIfInModeration(FeedbackQuestionAttributes feedbackQuestion)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" throws UnauthorizedAccessException {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson) \u0026\u0026 !canInstructorSeeQuestion(feedbackQuestion)) {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" // should not moderate question which instructors cannot see"},{"lineNumber":56,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"The question is not applicable for moderation\", true);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":61,"author":{"gitId":"-"},"content":" * Verifies that instructor can see the moderated question in moderation request."},{"lineNumber":62,"author":{"gitId":"-"},"content":" */"},{"lineNumber":63,"author":{"gitId":"-"},"content":" void verifyInstructorCanSeeQuestionIfInModeration(FeedbackQuestion feedbackQuestion)"},{"lineNumber":64,"author":{"gitId":"-"},"content":" throws UnauthorizedAccessException {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson) \u0026\u0026 !canInstructorSeeQuestion(feedbackQuestion)) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" // should not moderate question which instructors cannot see"},{"lineNumber":69,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"The question is not applicable for moderation\", true);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":74,"author":{"gitId":"-"},"content":" * Gets the student involved in the submission process."},{"lineNumber":75,"author":{"gitId":"-"},"content":" */"},{"lineNumber":76,"author":{"gitId":"-"},"content":" StudentAttributes getStudentOfCourseFromRequest(String courseId) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" return logic.getStudentForEmail(courseId, moderatedPerson);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" return logic.getStudentForEmail(courseId, previewAsPerson);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" return getPossiblyUnregisteredStudent(courseId);"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":90,"author":{"gitId":"-"},"content":" * Gets the student involved in the submission process."},{"lineNumber":91,"author":{"gitId":"-"},"content":" */"},{"lineNumber":92,"author":{"gitId":"-"},"content":" Student getSqlStudentOfCourseFromRequest(String courseId) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" // TODO: Rename method to remove Sql after migration."},{"lineNumber":94,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" return sqlLogic.getStudentForEmail(courseId, moderatedPerson);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" return sqlLogic.getStudentForEmail(courseId, previewAsPerson);"},{"lineNumber":101,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" return getPossiblyUnregisteredSqlStudent(courseId);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":107,"author":{"gitId":"-"},"content":" * Checks the access control for student feedback submission."},{"lineNumber":108,"author":{"gitId":"-"},"content":" */"},{"lineNumber":109,"author":{"gitId":"-"},"content":" void checkAccessControlForStudentFeedbackSubmission("},{"lineNumber":110,"author":{"gitId":"-"},"content":" StudentAttributes student, FeedbackSessionAttributes feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent student entity\");"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":121,"author":{"gitId":"-"},"content":" logic.getInstructorForGoogleId(feedbackSession.getCourseId(), userInfo.getId()), feedbackSession,"},{"lineNumber":122,"author":{"gitId":"-"},"content":" student.getSection(),"},{"lineNumber":123,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION_COMMENT_IN_SECTIONS);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" checkAccessControlForPreview(feedbackSession, false);"},{"lineNumber":126,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(student, feedbackSession);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" verifyMatchingGoogleId(student.getGoogleId());"},{"lineNumber":129,"author":{"gitId":"-"},"content":" }"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * Checks the access control for student feedback submission."},{"lineNumber":134,"author":{"gitId":"-"},"content":" */"},{"lineNumber":135,"author":{"gitId":"-"},"content":" void checkAccessControlForStudentFeedbackSubmission(Student student, FeedbackSession feedbackSession)"},{"lineNumber":136,"author":{"gitId":"-"},"content":" throws UnauthorizedAccessException {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent student entity\");"},{"lineNumber":139,"author":{"gitId":"-"},"content":" }"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":147,"author":{"gitId":"-"},"content":" sqlLogic.getInstructorByGoogleId(feedbackSession.getCourse().getId(), userInfo.getId()), feedbackSession,"},{"lineNumber":148,"author":{"gitId":"-"},"content":" student.getSectionName(),"},{"lineNumber":149,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION_COMMENT_IN_SECTIONS);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":153,"author":{"gitId":"-"},"content":" sqlLogic.getInstructorByGoogleId(feedbackSession.getCourse().getId(), userInfo.getId()), feedbackSession,"},{"lineNumber":154,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(student, feedbackSession);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" if (student.getAccount() !\u003d null) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" if (userInfo \u003d\u003d null) {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" // Student is associated with an account; even if registration key is passed, do not allow access"},{"lineNumber":160,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Login is required to access this feedback session\");"},{"lineNumber":161,"author":{"gitId":"-"},"content":" } else if (!userInfo.id.equals(student.getAccount().getGoogleId())) {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" // Logged in student is not the same as the student registered for the given key, do not allow access"},{"lineNumber":163,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"You are not authorized to access this feedback session\");"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":167,"author":{"gitId":"-"},"content":" }"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":170,"author":{"gitId":"-"},"content":" * Checks the access control for student feedback result."},{"lineNumber":171,"author":{"gitId":"-"},"content":" */"},{"lineNumber":172,"author":{"gitId":"-"},"content":" void checkAccessControlForStudentFeedbackResult("},{"lineNumber":173,"author":{"gitId":"-"},"content":" StudentAttributes student, FeedbackSessionAttributes feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent student entity\");"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" if (StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(student, feedbackSession);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" verifyMatchingGoogleId(student.getGoogleId());"},{"lineNumber":183,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" checkAccessControlForPreview(feedbackSession, false);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":" * Checks the access control for student feedback result."},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" void checkAccessControlForStudentFeedbackResult("},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":" Student student, FeedbackSession feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent student entity\");"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":199,"author":{"gitId":"xenosf"},"content":" if (StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":" gateKeeper.verifyAccessible(student, feedbackSession);"},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":" verifyMatchingGoogleId(student.getGoogleId());"},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":" checkAccessControlForPreview(feedbackSession, false);"},{"lineNumber":204,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":205,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":206,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":208,"author":{"gitId":"-"},"content":" * Gets the instructor involved in the submission process."},{"lineNumber":209,"author":{"gitId":"-"},"content":" */"},{"lineNumber":210,"author":{"gitId":"-"},"content":" InstructorAttributes getInstructorOfCourseFromRequest(String courseId) {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" return logic.getInstructorForEmail(courseId, moderatedPerson);"},{"lineNumber":216,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" return logic.getInstructorForEmail(courseId, previewAsPerson);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" return getPossiblyUnregisteredInstructor(courseId);"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":" }"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":224,"author":{"gitId":"-"},"content":" * Gets the instructor involved in the submission process."},{"lineNumber":225,"author":{"gitId":"-"},"content":" */"},{"lineNumber":226,"author":{"gitId":"-"},"content":" Instructor getSqlInstructorOfCourseFromRequest(String courseId) {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":228,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" return sqlLogic.getInstructorForEmail(courseId, moderatedPerson);"},{"lineNumber":232,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" return sqlLogic.getInstructorForEmail(courseId, previewAsPerson);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" return getPossiblyUnregisteredSqlInstructor(courseId);"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":240,"author":{"gitId":"-"},"content":" * Checks the access control for instructor feedback submission."},{"lineNumber":241,"author":{"gitId":"-"},"content":" */"},{"lineNumber":242,"author":{"gitId":"-"},"content":" void checkAccessControlForInstructorFeedbackSubmission("},{"lineNumber":243,"author":{"gitId":"-"},"content":" InstructorAttributes instructor, FeedbackSessionAttributes feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent instructor entity\");"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":249,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":253,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(logic.getInstructorForGoogleId(feedbackSession.getCourseId(), userInfo.getId()),"},{"lineNumber":254,"author":{"gitId":"-"},"content":" feedbackSession, Const.InstructorPermissions.CAN_MODIFY_SESSION_COMMENT_IN_SECTIONS);"},{"lineNumber":255,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":256,"author":{"gitId":"-"},"content":" checkAccessControlForPreview(feedbackSession, true);"},{"lineNumber":257,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" gateKeeper.verifySessionSubmissionPrivilegeForInstructor(feedbackSession, instructor);"},{"lineNumber":259,"author":{"gitId":"-"},"content":" verifyMatchingGoogleId(instructor.getGoogleId());"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":264,"author":{"gitId":"-"},"content":" * Checks the access control for instructor feedback submission."},{"lineNumber":265,"author":{"gitId":"-"},"content":" */"},{"lineNumber":266,"author":{"gitId":"-"},"content":" void checkAccessControlForInstructorFeedbackSubmission("},{"lineNumber":267,"author":{"gitId":"-"},"content":" Instructor instructor, FeedbackSession feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":268,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent instructor entity\");"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(moderatedPerson)) {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":277,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":278,"author":{"gitId":"-"},"content":" sqlLogic.getInstructorByGoogleId(feedbackSession.getCourse().getId(), userInfo.getId()),"},{"lineNumber":279,"author":{"gitId":"-"},"content":" feedbackSession, Const.InstructorPermissions.CAN_MODIFY_SESSION_COMMENT_IN_SECTIONS);"},{"lineNumber":280,"author":{"gitId":"-"},"content":" } else if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":283,"author":{"gitId":"-"},"content":" sqlLogic.getInstructorByGoogleId(feedbackSession.getCourse().getId(), userInfo.getId()),"},{"lineNumber":284,"author":{"gitId":"-"},"content":" feedbackSession, Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":285,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":286,"author":{"gitId":"-"},"content":" gateKeeper.verifySessionSubmissionPrivilegeForInstructor(feedbackSession, instructor);"},{"lineNumber":287,"author":{"gitId":"-"},"content":" if (instructor.getAccount() !\u003d null) {"},{"lineNumber":288,"author":{"gitId":"-"},"content":" if (userInfo \u003d\u003d null) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" // Instructor is associated to an account; even if registration key is passed, do not allow access"},{"lineNumber":290,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Login is required to access this feedback session\");"},{"lineNumber":291,"author":{"gitId":"-"},"content":" } else if (!userInfo.id.equals(instructor.getAccount().getGoogleId())) {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" // Logged in instructor is not the same as the instructor registered for the given key,"},{"lineNumber":293,"author":{"gitId":"-"},"content":" // do not allow access"},{"lineNumber":294,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"You are not authorized to access this feedback session\");"},{"lineNumber":295,"author":{"gitId":"-"},"content":" }"},{"lineNumber":296,"author":{"gitId":"-"},"content":" }"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":301,"author":{"gitId":"-"},"content":" * Checks the access control for instructor feedback result."},{"lineNumber":302,"author":{"gitId":"-"},"content":" */"},{"lineNumber":303,"author":{"gitId":"-"},"content":" void checkAccessControlForInstructorFeedbackResult("},{"lineNumber":304,"author":{"gitId":"-"},"content":" InstructorAttributes instructor, FeedbackSessionAttributes feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":306,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent instructor entity\");"},{"lineNumber":307,"author":{"gitId":"-"},"content":" }"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":" if (StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, feedbackSession,"},{"lineNumber":313,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_VIEW_SESSION_IN_SECTIONS);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" verifyMatchingGoogleId(instructor.getGoogleId());"},{"lineNumber":315,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" checkAccessControlForPreview(feedbackSession, true);"},{"lineNumber":317,"author":{"gitId":"-"},"content":" }"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":321,"author":{"gitId":"-"},"content":" * Checks the access control for instructor feedback result."},{"lineNumber":322,"author":{"gitId":"-"},"content":" */"},{"lineNumber":323,"author":{"gitId":"-"},"content":" void checkAccessControlForInstructorFeedbackResult("},{"lineNumber":324,"author":{"gitId":"-"},"content":" Instructor instructor, FeedbackSession feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":325,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":326,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Trying to access system using a non-existent instructor entity\");"},{"lineNumber":327,"author":{"gitId":"-"},"content":" }"},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" if (StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, feedbackSession,"},{"lineNumber":333,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_VIEW_SESSION_IN_SECTIONS);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" verifyMatchingGoogleId(instructor.getGoogleId());"},{"lineNumber":335,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":336,"author":{"gitId":"-"},"content":" checkAccessControlForPreview(feedbackSession, true);"},{"lineNumber":337,"author":{"gitId":"-"},"content":" }"},{"lineNumber":338,"author":{"gitId":"-"},"content":" }"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" private void verifyMatchingGoogleId(String googleId) throws UnauthorizedAccessException {"},{"lineNumber":341,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(googleId)) {"},{"lineNumber":342,"author":{"gitId":"-"},"content":" if (userInfo \u003d\u003d null) {"},{"lineNumber":343,"author":{"gitId":"-"},"content":" // Student/Instructor is associated to a google ID; even if registration key is passed, do not allow access"},{"lineNumber":344,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Login is required to access this feedback session\");"},{"lineNumber":345,"author":{"gitId":"-"},"content":" } else if (!userInfo.id.equals(googleId)) {"},{"lineNumber":346,"author":{"gitId":"-"},"content":" // Logged in student/instructor is not the same as the student/instructor registered for the given key,"},{"lineNumber":347,"author":{"gitId":"-"},"content":" // do not allow access"},{"lineNumber":348,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"You are not authorized to access this feedback session\");"},{"lineNumber":349,"author":{"gitId":"-"},"content":" }"},{"lineNumber":350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" private void checkAccessControlForPreview(FeedbackSessionAttributes feedbackSession, boolean isInstructor)"},{"lineNumber":354,"author":{"gitId":"-"},"content":" throws UnauthorizedAccessException {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":356,"author":{"gitId":"-"},"content":" if (isInstructor) {"},{"lineNumber":357,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":358,"author":{"gitId":"-"},"content":" logic.getInstructorForGoogleId(feedbackSession.getCourseId(), userInfo.getId()), feedbackSession,"},{"lineNumber":359,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":360,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":361,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":362,"author":{"gitId":"-"},"content":" logic.getInstructorForGoogleId(feedbackSession.getCourseId(), userInfo.getId()), feedbackSession,"},{"lineNumber":363,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":" }"},{"lineNumber":366,"author":{"gitId":"-"},"content":""},{"lineNumber":367,"author":{"gitId":"xenosf"},"content":" private void checkAccessControlForPreview(FeedbackSession feedbackSession, boolean isInstructor)"},{"lineNumber":368,"author":{"gitId":"xenosf"},"content":" throws UnauthorizedAccessException {"},{"lineNumber":369,"author":{"gitId":"xenosf"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":370,"author":{"gitId":"xenosf"},"content":" if (isInstructor) {"},{"lineNumber":371,"author":{"gitId":"xenosf"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":372,"author":{"gitId":"xenosf"},"content":" sqlLogic.getInstructorByGoogleId(feedbackSession.getCourse().getId(), userInfo.getId()), feedbackSession,"},{"lineNumber":373,"author":{"gitId":"xenosf"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":374,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":375,"author":{"gitId":"xenosf"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":376,"author":{"gitId":"xenosf"},"content":" sqlLogic.getInstructorByGoogleId(feedbackSession.getCourse().getId(), userInfo.getId()), feedbackSession,"},{"lineNumber":377,"author":{"gitId":"xenosf"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":378,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":379,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":380,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":382,"author":{"gitId":"-"},"content":" * Verifies that it is not a preview request."},{"lineNumber":383,"author":{"gitId":"-"},"content":" */"},{"lineNumber":384,"author":{"gitId":"-"},"content":" void verifyNotPreview() throws UnauthorizedAccessException {"},{"lineNumber":385,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":386,"author":{"gitId":"-"},"content":" if (!StringHelper.isEmpty(previewAsPerson)) {"},{"lineNumber":387,"author":{"gitId":"-"},"content":" // should not view response under preview mode"},{"lineNumber":388,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"You are not allowed to see responses when previewing\", true);"},{"lineNumber":389,"author":{"gitId":"-"},"content":" }"},{"lineNumber":390,"author":{"gitId":"-"},"content":" }"},{"lineNumber":391,"author":{"gitId":"-"},"content":""},{"lineNumber":392,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":393,"author":{"gitId":"-"},"content":" * Verifies that the session is open for submission."},{"lineNumber":394,"author":{"gitId":"-"},"content":" *"},{"lineNumber":395,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf it is moderation request, omit the check."},{"lineNumber":396,"author":{"gitId":"-"},"content":" */"},{"lineNumber":397,"author":{"gitId":"-"},"content":" void verifySessionOpenExceptForModeration(FeedbackSessionAttributes feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":398,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":399,"author":{"gitId":"-"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" if (StringHelper.isEmpty(moderatedPerson) \u0026\u0026 !(feedbackSession.isOpened() || feedbackSession.isInGracePeriod())) {"},{"lineNumber":401,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"The feedback session is not available for submission\", true);"},{"lineNumber":402,"author":{"gitId":"-"},"content":" }"},{"lineNumber":403,"author":{"gitId":"-"},"content":" }"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":406,"author":{"gitId":"-"},"content":" * Verifies that the session is open for submission."},{"lineNumber":407,"author":{"gitId":"-"},"content":" *"},{"lineNumber":408,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf it is moderation request, omit the check."},{"lineNumber":409,"author":{"gitId":"-"},"content":" */"},{"lineNumber":410,"author":{"gitId":"-"},"content":" void verifySessionOpenExceptForModeration(FeedbackSession feedbackSession) throws UnauthorizedAccessException {"},{"lineNumber":411,"author":{"gitId":"-"},"content":" String moderatedPerson \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON);"},{"lineNumber":412,"author":{"gitId":"-"},"content":""},{"lineNumber":413,"author":{"gitId":"-"},"content":" if (StringHelper.isEmpty(moderatedPerson) \u0026\u0026 !(feedbackSession.isOpened() || feedbackSession.isInGracePeriod())) {"},{"lineNumber":414,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"The feedback session is not available for submission\", true);"},{"lineNumber":415,"author":{"gitId":"-"},"content":" }"},{"lineNumber":416,"author":{"gitId":"-"},"content":" }"},{"lineNumber":417,"author":{"gitId":"-"},"content":""},{"lineNumber":418,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":419,"author":{"gitId":"-"},"content":" * Gets the section of a recipient."},{"lineNumber":420,"author":{"gitId":"-"},"content":" */"},{"lineNumber":421,"author":{"gitId":"-"},"content":" @SuppressWarnings(\"PMD.ImplicitSwitchFallThrough\") // false positive"},{"lineNumber":422,"author":{"gitId":"-"},"content":" Section getRecipientSection("},{"lineNumber":423,"author":{"gitId":"-"},"content":" String courseId, FeedbackParticipantType giverType, FeedbackParticipantType recipientType,"},{"lineNumber":424,"author":{"gitId":"-"},"content":" String recipientIdentifier) {"},{"lineNumber":425,"author":{"gitId":"-"},"content":""},{"lineNumber":426,"author":{"gitId":"-"},"content":" switch (recipientType) {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":428,"author":{"gitId":"-"},"content":" switch (giverType) {"},{"lineNumber":429,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":430,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":431,"author":{"gitId":"-"},"content":" return Const.DEFAULT_SQL_SECTION;"},{"lineNumber":432,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":433,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":434,"author":{"gitId":"-"},"content":" Section section \u003d sqlLogic.getSectionByCourseIdAndTeam(courseId, recipientIdentifier);"},{"lineNumber":435,"author":{"gitId":"-"},"content":" return section \u003d\u003d null ? Const.DEFAULT_SQL_SECTION : section;"},{"lineNumber":436,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":437,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":438,"author":{"gitId":"-"},"content":" Student student \u003d sqlLogic.getStudentForEmail(courseId, recipientIdentifier);"},{"lineNumber":439,"author":{"gitId":"-"},"content":" return student \u003d\u003d null ? Const.DEFAULT_SQL_SECTION : student.getSection();"},{"lineNumber":440,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":441,"author":{"gitId":"-"},"content":" assert false : \"Invalid giver type \" + giverType + \" for recipient type \" + recipientType;"},{"lineNumber":442,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":443,"author":{"gitId":"-"},"content":" }"},{"lineNumber":444,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":445,"author":{"gitId":"-"},"content":" case NONE:"},{"lineNumber":446,"author":{"gitId":"-"},"content":" return Const.DEFAULT_SQL_SECTION;"},{"lineNumber":447,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":448,"author":{"gitId":"-"},"content":" case TEAMS_EXCLUDING_SELF:"},{"lineNumber":449,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":450,"author":{"gitId":"-"},"content":" case OWN_TEAM:"},{"lineNumber":451,"author":{"gitId":"-"},"content":" Section section \u003d sqlLogic.getSectionByCourseIdAndTeam(courseId, recipientIdentifier);"},{"lineNumber":452,"author":{"gitId":"-"},"content":" return section \u003d\u003d null ? Const.DEFAULT_SQL_SECTION : section;"},{"lineNumber":453,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":454,"author":{"gitId":"-"},"content":" case STUDENTS_EXCLUDING_SELF:"},{"lineNumber":455,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":456,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":457,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS_INCLUDING_SELF:"},{"lineNumber":458,"author":{"gitId":"-"},"content":" Student student \u003d sqlLogic.getStudentForEmail(courseId, recipientIdentifier);"},{"lineNumber":459,"author":{"gitId":"-"},"content":" return student \u003d\u003d null ? Const.DEFAULT_SQL_SECTION : student.getSection();"},{"lineNumber":460,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":461,"author":{"gitId":"-"},"content":" assert false : \"Unknown recipient type \" + recipientType;"},{"lineNumber":462,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":463,"author":{"gitId":"-"},"content":" }"},{"lineNumber":464,"author":{"gitId":"-"},"content":" }"},{"lineNumber":465,"author":{"gitId":"-"},"content":""},{"lineNumber":466,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":467,"author":{"gitId":"-"},"content":" * Gets the section of a recipient."},{"lineNumber":468,"author":{"gitId":"-"},"content":" */"},{"lineNumber":469,"author":{"gitId":"-"},"content":" @SuppressWarnings(\"PMD.ImplicitSwitchFallThrough\") // false positive"},{"lineNumber":470,"author":{"gitId":"-"},"content":" String getDatastoreRecipientSection("},{"lineNumber":471,"author":{"gitId":"-"},"content":" String courseId, FeedbackParticipantType giverType, FeedbackParticipantType recipientType,"},{"lineNumber":472,"author":{"gitId":"-"},"content":" String recipientIdentifier) {"},{"lineNumber":473,"author":{"gitId":"-"},"content":" switch (recipientType) {"},{"lineNumber":474,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":475,"author":{"gitId":"-"},"content":" switch (giverType) {"},{"lineNumber":476,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":477,"author":{"gitId":"-"},"content":" case SELF:"},{"lineNumber":478,"author":{"gitId":"-"},"content":" return Const.DEFAULT_SECTION;"},{"lineNumber":479,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":480,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":481,"author":{"gitId":"-"},"content":" return logic.getSectionForTeam(courseId, recipientIdentifier);"},{"lineNumber":482,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":483,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":484,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d logic.getStudentForEmail(courseId, recipientIdentifier);"},{"lineNumber":485,"author":{"gitId":"-"},"content":" return student \u003d\u003d null ? Const.DEFAULT_SECTION : student.getSection();"},{"lineNumber":486,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":487,"author":{"gitId":"-"},"content":" assert false : \"Invalid giver type \" + giverType + \" for recipient type \" + recipientType;"},{"lineNumber":488,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":489,"author":{"gitId":"-"},"content":" }"},{"lineNumber":490,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":491,"author":{"gitId":"-"},"content":" case NONE:"},{"lineNumber":492,"author":{"gitId":"-"},"content":" return Const.DEFAULT_SECTION;"},{"lineNumber":493,"author":{"gitId":"-"},"content":" case TEAMS:"},{"lineNumber":494,"author":{"gitId":"-"},"content":" case TEAMS_EXCLUDING_SELF:"},{"lineNumber":495,"author":{"gitId":"-"},"content":" case TEAMS_IN_SAME_SECTION:"},{"lineNumber":496,"author":{"gitId":"-"},"content":" case OWN_TEAM:"},{"lineNumber":497,"author":{"gitId":"-"},"content":" return logic.getSectionForTeam(courseId, recipientIdentifier);"},{"lineNumber":498,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":499,"author":{"gitId":"-"},"content":" case STUDENTS_EXCLUDING_SELF:"},{"lineNumber":500,"author":{"gitId":"-"},"content":" case STUDENTS_IN_SAME_SECTION:"},{"lineNumber":501,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS:"},{"lineNumber":502,"author":{"gitId":"-"},"content":" case OWN_TEAM_MEMBERS_INCLUDING_SELF:"},{"lineNumber":503,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d logic.getStudentForEmail(courseId, recipientIdentifier);"},{"lineNumber":504,"author":{"gitId":"-"},"content":" return student \u003d\u003d null ? Const.DEFAULT_SECTION : student.getSection();"},{"lineNumber":505,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":506,"author":{"gitId":"-"},"content":" assert false : \"Unknown recipient type \" + recipientType;"},{"lineNumber":507,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":508,"author":{"gitId":"-"},"content":" }"},{"lineNumber":509,"author":{"gitId":"-"},"content":" }"},{"lineNumber":510,"author":{"gitId":"-"},"content":""},{"lineNumber":511,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":33,"-":478}},{"path":"src/main/java/teammates/ui/webapi/CreateAccountAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.temporal.ChronoUnit;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.DataBundle;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.util.Templates;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":30,"author":{"gitId":"-"},"content":" * Creates a new instructor account with sample courses."},{"lineNumber":31,"author":{"gitId":"-"},"content":" */"},{"lineNumber":32,"author":{"gitId":"-"},"content":"public class CreateAccountAction extends Action {"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":42,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" // Any user can create instructor account as long as the registration key is valid."},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":47,"author":{"gitId":"-"},"content":" public JsonResult execute() throws InvalidHttpRequestBodyException, InvalidOperationException {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" String registrationKey \u003d getNonNullRequestParamValue(Const.ParamsNames.REGKEY);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" String timezone \u003d getRequestParamValue(Const.ParamsNames.TIMEZONE);"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" if (timezone \u003d\u003d null || !FieldValidator.getInvalidityInfoForTimeZone(timezone).isEmpty()) {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" // Use default timezone instead"},{"lineNumber":53,"author":{"gitId":"-"},"content":" timezone \u003d Const.DEFAULT_TIME_ZONE;"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d sqlLogic.getAccountRequestByRegistrationKey(registrationKey);"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" if (accountRequest \u003d\u003d null) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(\"Account request with registration key \""},{"lineNumber":60,"author":{"gitId":"-"},"content":" + registrationKey + \" could not be found\");"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" if (accountRequest.getRegisteredAt() !\u003d null) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(\"The registration key \" + registrationKey + \" has already been used.\");"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" String instructorEmail \u003d accountRequest.getEmail();"},{"lineNumber":68,"author":{"gitId":"-"},"content":" String instructorName \u003d accountRequest.getName();"},{"lineNumber":69,"author":{"gitId":"-"},"content":" String instructorInstitution \u003d accountRequest.getInstitute();"},{"lineNumber":70,"author":{"gitId":"-"},"content":" String courseId;"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" courseId \u003d importDemoData(instructorEmail, instructorName, instructorInstitution, timezone);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException ipe) {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" // There should not be any invalid parameter here"},{"lineNumber":76,"author":{"gitId":"-"},"content":" log.severe(\"Unexpected error\", ipe);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" return new JsonResult(ipe.getMessage(), HttpStatus.SC_INTERNAL_SERVER_ERROR);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" List\u003cInstructorAttributes\u003e instructorList \u003d logic.getInstructorsForCourse(courseId);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" assert !instructorList.isEmpty();"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" logic.joinCourseForInstructor(instructorList.get(0).getKey(), userInfo.id);"},{"lineNumber":86,"author":{"gitId":"-"},"content":" } catch (EntityDoesNotExistException | EntityAlreadyExistsException | InvalidParametersException e) {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" // EntityDoesNotExistException should not be thrown as all entities should exist in demo course."},{"lineNumber":88,"author":{"gitId":"-"},"content":" // EntityAlreadyExistsException should not be thrown as updated entities should not have"},{"lineNumber":89,"author":{"gitId":"-"},"content":" // conflict with generated entities in new demo course."},{"lineNumber":90,"author":{"gitId":"-"},"content":" // InvalidParametersException should not be thrown as as there should not be any invalid parameters."},{"lineNumber":91,"author":{"gitId":"-"},"content":" log.severe(\"Unexpected error\", e);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" return new JsonResult(e.getMessage(), HttpStatus.SC_INTERNAL_SERVER_ERROR);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" setAccountRequestAsRegistered(accountRequest);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" } catch (EntityDoesNotExistException | InvalidParametersException e) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" // EntityDoesNotExistException should not be thrown as existence of account request has been validated before."},{"lineNumber":99,"author":{"gitId":"-"},"content":" // InvalidParametersException should not be thrown as there should not be any invalid parameters."},{"lineNumber":100,"author":{"gitId":"-"},"content":" log.severe(\"Unexpected error\", e);"},{"lineNumber":101,"author":{"gitId":"-"},"content":" return new JsonResult(e.getMessage(), HttpStatus.SC_INTERNAL_SERVER_ERROR);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" return new JsonResult(\"Account successfully created\", HttpStatus.SC_OK);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":108,"author":{"gitId":"-"},"content":" * Abstracts the logic of updating an account request to be registered."},{"lineNumber":109,"author":{"gitId":"-"},"content":" *"},{"lineNumber":110,"author":{"gitId":"-"},"content":" * @return the updated account request"},{"lineNumber":111,"author":{"gitId":"-"},"content":" */"},{"lineNumber":112,"author":{"gitId":"-"},"content":" private AccountRequest setAccountRequestAsRegistered(AccountRequest accountRequest)"},{"lineNumber":113,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" accountRequest.setStatus(AccountRequestStatus.REGISTERED);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" accountRequest.setRegisteredAt(Instant.now());"},{"lineNumber":116,"author":{"gitId":"-"},"content":" sqlLogic.updateAccountRequest(accountRequest);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" return accountRequest;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" private static String getDateString(Instant instant) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" return TimeHelper.formatInstant(instant, Const.DEFAULT_TIME_ZONE, \"yyyy-MM-dd\");"},{"lineNumber":122,"author":{"gitId":"-"},"content":" }"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":125,"author":{"gitId":"-"},"content":" * Imports demo course for the new instructor."},{"lineNumber":126,"author":{"gitId":"-"},"content":" *"},{"lineNumber":127,"author":{"gitId":"-"},"content":" * @return the ID of demo course"},{"lineNumber":128,"author":{"gitId":"-"},"content":" */"},{"lineNumber":129,"author":{"gitId":"-"},"content":" private String importDemoData(String instructorEmail, String instructorName, String instructorInstitute, String timezone)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" throws InvalidParametersException {"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" String courseId \u003d generateDemoCourseId(instructorEmail);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" // Used for start time + visible time for all sessions"},{"lineNumber":136,"author":{"gitId":"-"},"content":" String dateString1 \u003d getDateString(now.minus(7, ChronoUnit.DAYS));"},{"lineNumber":137,"author":{"gitId":"-"},"content":" // Used for end time for sessions already past"},{"lineNumber":138,"author":{"gitId":"-"},"content":" String dateString2 \u003d getDateString(now.minus(3, ChronoUnit.DAYS));"},{"lineNumber":139,"author":{"gitId":"-"},"content":" // Used for result visible time for sessions already past"},{"lineNumber":140,"author":{"gitId":"-"},"content":" String dateString3 \u003d getDateString(now.minus(2, ChronoUnit.DAYS));"},{"lineNumber":141,"author":{"gitId":"-"},"content":" // Used for end time for session still ongoing"},{"lineNumber":142,"author":{"gitId":"-"},"content":" String dateString4 \u003d getDateString(now.plus(3, ChronoUnit.DAYS));"},{"lineNumber":143,"author":{"gitId":"-"},"content":" // Used for timestamp of comments"},{"lineNumber":144,"author":{"gitId":"-"},"content":" String dateString5 \u003d getDateString(now);"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" String dataBundleString \u003d Templates.populateTemplate(Templates.INSTRUCTOR_SAMPLE_DATA,"},{"lineNumber":147,"author":{"gitId":"-"},"content":" // replace email"},{"lineNumber":148,"author":{"gitId":"-"},"content":" \"teammates.demo.instructor@demo.course\", instructorEmail,"},{"lineNumber":149,"author":{"gitId":"-"},"content":" // replace name"},{"lineNumber":150,"author":{"gitId":"-"},"content":" \"Demo_Instructor\", instructorName,"},{"lineNumber":151,"author":{"gitId":"-"},"content":" // replace course"},{"lineNumber":152,"author":{"gitId":"-"},"content":" \"demo.course\", courseId,"},{"lineNumber":153,"author":{"gitId":"-"},"content":" // replace institute"},{"lineNumber":154,"author":{"gitId":"-"},"content":" \"demo.institute\", instructorInstitute,"},{"lineNumber":155,"author":{"gitId":"-"},"content":" // replace timezone"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \"demo.timezone\", timezone,"},{"lineNumber":157,"author":{"gitId":"-"},"content":" // replace dates"},{"lineNumber":158,"author":{"gitId":"-"},"content":" \"demo.date1\", dateString1,"},{"lineNumber":159,"author":{"gitId":"-"},"content":" \"demo.date2\", dateString2,"},{"lineNumber":160,"author":{"gitId":"-"},"content":" \"demo.date3\", dateString3,"},{"lineNumber":161,"author":{"gitId":"-"},"content":" \"demo.date4\", dateString4,"},{"lineNumber":162,"author":{"gitId":"-"},"content":" \"demo.date5\", dateString5);"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" if (!Const.DEFAULT_TIME_ZONE.equals(timezone)) {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" dataBundleString \u003d replaceAdjustedTimeAndTimezone(dataBundleString, timezone);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" DataBundle data \u003d JsonUtils.fromJson(dataBundleString, DataBundle.class);"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" logic.persistDataBundle(data);"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" List\u003cStudentAttributes\u003e students \u003d logic.getStudentsForCourse(courseId);"},{"lineNumber":173,"author":{"gitId":"-"},"content":" List\u003cInstructorAttributes\u003e instructors \u003d logic.getInstructorsForCourse(courseId);"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" for (StudentAttributes student : students) {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" taskQueuer.scheduleStudentForSearchIndexing(student.getCourse(), student.getEmail());"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" for (InstructorAttributes instructor : instructors) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" taskQueuer.scheduleInstructorForSearchIndexing(instructor.getCourseId(), instructor.getEmail());"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" return courseId;"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" // Strategy to Generate New Demo Course Id:"},{"lineNumber":187,"author":{"gitId":"-"},"content":" // a. keep the part of email before \"@\""},{"lineNumber":188,"author":{"gitId":"-"},"content":" // replace \"@\" with \".\""},{"lineNumber":189,"author":{"gitId":"-"},"content":" // replace email host with their first 3 chars. eg, gmail.com -\u003e gma"},{"lineNumber":190,"author":{"gitId":"-"},"content":" // append \"-demo\""},{"lineNumber":191,"author":{"gitId":"-"},"content":" // to sum up: lebron@gmail.com -\u003e lebron.gma-demo"},{"lineNumber":192,"author":{"gitId":"-"},"content":" //"},{"lineNumber":193,"author":{"gitId":"-"},"content":" // b. if the generated courseId already exists, create another one by appending a integer to the previous courseId."},{"lineNumber":194,"author":{"gitId":"-"},"content":" // if the newly generate id still exists, increment the id, until we find a feasible one"},{"lineNumber":195,"author":{"gitId":"-"},"content":" // eg."},{"lineNumber":196,"author":{"gitId":"-"},"content":" // lebron@gmail.com -\u003e lebron.gma-demo // already exists!"},{"lineNumber":197,"author":{"gitId":"-"},"content":" // lebron@gmail.com -\u003e lebron.gma-demo0 // already exists!"},{"lineNumber":198,"author":{"gitId":"-"},"content":" // lebron@gmail.com -\u003e lebron.gma-demo1 // already exists!"},{"lineNumber":199,"author":{"gitId":"-"},"content":" // ..."},{"lineNumber":200,"author":{"gitId":"-"},"content":" // lebron@gmail.com -\u003e lebron.gma-demo99 // already exists!"},{"lineNumber":201,"author":{"gitId":"-"},"content":" // lebron@gmail.com -\u003e lebron.gma-demo100 // found! a feasible id"},{"lineNumber":202,"author":{"gitId":"-"},"content":" //"},{"lineNumber":203,"author":{"gitId":"-"},"content":" // c. in any cases(a or b), if generated Id is longer than FieldValidator.COURSE_ID_MAX_LENGTH, shorten the part"},{"lineNumber":204,"author":{"gitId":"-"},"content":" // before \"@\" of the initial input email, by continuously removing its last character"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":207,"author":{"gitId":"-"},"content":" * Generate a course ID for demo course, and if the generated id already exists, try another one."},{"lineNumber":208,"author":{"gitId":"-"},"content":" *"},{"lineNumber":209,"author":{"gitId":"-"},"content":" * @param instructorEmail is the instructor email."},{"lineNumber":210,"author":{"gitId":"-"},"content":" * @return generated course id"},{"lineNumber":211,"author":{"gitId":"-"},"content":" */"},{"lineNumber":212,"author":{"gitId":"-"},"content":" private String generateDemoCourseId(String instructorEmail) {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" String proposedCourseId \u003d generateNextDemoCourseId(instructorEmail, FieldValidator.COURSE_ID_MAX_LENGTH);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" while (logic.getCourse(proposedCourseId) !\u003d null) {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" proposedCourseId \u003d generateNextDemoCourseId(proposedCourseId, FieldValidator.COURSE_ID_MAX_LENGTH);"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":" return proposedCourseId;"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":221,"author":{"gitId":"-"},"content":" * Generate a course ID for demo course from a given email."},{"lineNumber":222,"author":{"gitId":"-"},"content":" *"},{"lineNumber":223,"author":{"gitId":"-"},"content":" * @param instructorEmail is the instructor email."},{"lineNumber":224,"author":{"gitId":"-"},"content":" * @return the first proposed course id. eg.lebron@gmail.com -\u003e lebron.gma-demo"},{"lineNumber":225,"author":{"gitId":"-"},"content":" */"},{"lineNumber":226,"author":{"gitId":"-"},"content":" private String getDemoCourseIdRoot(String instructorEmail) {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" String[] emailSplit \u003d instructorEmail.split(\"@\");"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" String username \u003d emailSplit[0];"},{"lineNumber":230,"author":{"gitId":"-"},"content":" String host \u003d emailSplit[1];"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" String head \u003d StringHelper.replaceIllegalChars(username, FieldValidator.REGEX_COURSE_ID, \u0027_\u0027);"},{"lineNumber":233,"author":{"gitId":"-"},"content":" String hostAbbreviation \u003d host.substring(0, Math.min(host.length(), 3));"},{"lineNumber":234,"author":{"gitId":"-"},"content":""},{"lineNumber":235,"author":{"gitId":"-"},"content":" return head + \".\" + hostAbbreviation + \"-demo\";"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":239,"author":{"gitId":"-"},"content":" * Generate a course ID for demo course from a given email or a generated course Id."},{"lineNumber":240,"author":{"gitId":"-"},"content":" *"},{"lineNumber":241,"author":{"gitId":"-"},"content":" * \u003cp\u003eHere we check the input string is an email or course Id and handle them accordingly;"},{"lineNumber":242,"author":{"gitId":"-"},"content":" * check the resulting course id, and if bigger than maximumIdLength, cut it so that it equals maximumIdLength."},{"lineNumber":243,"author":{"gitId":"-"},"content":" *"},{"lineNumber":244,"author":{"gitId":"-"},"content":" * @param instructorEmailOrProposedCourseId is the instructor email or a proposed course id that already exists."},{"lineNumber":245,"author":{"gitId":"-"},"content":" * @param maximumIdLength is the maximum resulting id length allowed, above which we will cut the part before \"@\""},{"lineNumber":246,"author":{"gitId":"-"},"content":" * @return the proposed course id, e.g.:"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * \u003cul\u003e"},{"lineNumber":248,"author":{"gitId":"-"},"content":" * \u003cli\u003elebron@gmail.com -\u003e lebron.gma-demo\u003c/li\u003e"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * \u003cli\u003elebron.gma-demo -\u003e lebron.gma-demo0\u003c/li\u003e"},{"lineNumber":250,"author":{"gitId":"-"},"content":" * \u003cli\u003elebron.gma-demo0 -\u003e lebron.gma-demo1\u003c/li\u003e"},{"lineNumber":251,"author":{"gitId":"-"},"content":" * \u003cli\u003e012345678901234567890123456789.gma-demo9 -\u003e 01234567890123456789012345678.gma-demo10 (being cut)\u003c/li\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":" * \u003c/ul\u003e"},{"lineNumber":253,"author":{"gitId":"-"},"content":" */"},{"lineNumber":254,"author":{"gitId":"-"},"content":" public String generateNextDemoCourseId(String instructorEmailOrProposedCourseId, int maximumIdLength) {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" boolean isFirstCourseId \u003d instructorEmailOrProposedCourseId.contains(\"@\");"},{"lineNumber":256,"author":{"gitId":"-"},"content":" if (isFirstCourseId) {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" return StringHelper.truncateHead(getDemoCourseIdRoot(instructorEmailOrProposedCourseId), maximumIdLength);"},{"lineNumber":258,"author":{"gitId":"-"},"content":" }"},{"lineNumber":259,"author":{"gitId":"-"},"content":""},{"lineNumber":260,"author":{"gitId":"-"},"content":" boolean isFirstTimeDuplicate \u003d instructorEmailOrProposedCourseId.endsWith(\"-demo\");"},{"lineNumber":261,"author":{"gitId":"-"},"content":" if (isFirstTimeDuplicate) {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" return StringHelper.truncateHead(instructorEmailOrProposedCourseId + \"0\", maximumIdLength);"},{"lineNumber":263,"author":{"gitId":"-"},"content":" }"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":" int lastIndexOfDemo \u003d instructorEmailOrProposedCourseId.lastIndexOf(\"-demo\");"},{"lineNumber":266,"author":{"gitId":"-"},"content":" String root \u003d instructorEmailOrProposedCourseId.substring(0, lastIndexOfDemo);"},{"lineNumber":267,"author":{"gitId":"-"},"content":" int previousDedupSuffix \u003d Integer.parseInt(instructorEmailOrProposedCourseId.substring(lastIndexOfDemo + 5));"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" return StringHelper.truncateHead(root + \"-demo\" + (previousDedupSuffix + 1), maximumIdLength);"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":273,"author":{"gitId":"-"},"content":" * Replace time and timezone based on users timezone."},{"lineNumber":274,"author":{"gitId":"-"},"content":" * Strings representing instant are adjusted so that they represent the same date and time but in the users timezone."},{"lineNumber":275,"author":{"gitId":"-"},"content":" * Timezone is changed to users timezone."},{"lineNumber":276,"author":{"gitId":"-"},"content":" */"},{"lineNumber":277,"author":{"gitId":"-"},"content":" private String replaceAdjustedTimeAndTimezone(String template, String timezoneString) {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" // timezoneString should have been validated in #execute() method already"},{"lineNumber":279,"author":{"gitId":"-"},"content":" assert ZoneId.getAvailableZoneIds().contains(timezoneString);"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":" String pattern \u003d \"\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}Z\"; // regex for instant"},{"lineNumber":282,"author":{"gitId":"-"},"content":" ZoneId timezone \u003d ZoneId.of(timezoneString);"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" // replace instant with instant adjusted for user\u0027s timezone"},{"lineNumber":285,"author":{"gitId":"-"},"content":" return Pattern.compile(pattern).matcher(template).replaceAll(timestampMatch -\u003e {"},{"lineNumber":286,"author":{"gitId":"-"},"content":" String timestamp \u003d timestampMatch.group();"},{"lineNumber":287,"author":{"gitId":"-"},"content":" Instant instant \u003d Instant.parse(timestamp);"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":" if (TimeHelper.isSpecialTime(instant)) {"},{"lineNumber":290,"author":{"gitId":"-"},"content":" return timestamp;"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" return ZonedDateTime.ofInstant(instant, ZoneId.of(Const.DEFAULT_TIME_ZONE))"},{"lineNumber":294,"author":{"gitId":"-"},"content":" .withZoneSameLocal(timezone).toInstant().toString();"},{"lineNumber":295,"author":{"gitId":"-"},"content":" });"},{"lineNumber":296,"author":{"gitId":"-"},"content":" }"},{"lineNumber":297,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":2,"-":295}},{"path":"src/main/java/teammates/ui/webapi/CreateAccountRequestAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.ui.output.AccountRequestData;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.ui.request.AccountCreateRequest;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":12,"author":{"gitId":"-"},"content":" * Creates a new account request."},{"lineNumber":13,"author":{"gitId":"-"},"content":" */"},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class CreateAccountRequestAction extends Action {"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":17,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" return AuthType.PUBLIC;"},{"lineNumber":19,"author":{"gitId":"-"},"content":" }"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":22,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" // Nothing needs to be done here because anybody should be able to create an account request."},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":27,"author":{"gitId":"-"},"content":" public boolean isTransactionNeeded() {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":32,"author":{"gitId":"-"},"content":" public JsonResult execute()"},{"lineNumber":33,"author":{"gitId":"-"},"content":" throws InvalidHttpRequestBodyException, InvalidOperationException {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" AccountCreateRequest createRequest \u003d getAndValidateRequestBody(AccountCreateRequest.class);"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" String instructorName \u003d createRequest.getInstructorName().trim();"},{"lineNumber":37,"author":{"gitId":"-"},"content":" String instructorEmail \u003d createRequest.getInstructorEmail().trim();"},{"lineNumber":38,"author":{"gitId":"-"},"content":" String instructorInstitution \u003d createRequest.getInstructorInstitution().trim();"},{"lineNumber":39,"author":{"gitId":"-"},"content":" String comments \u003d createRequest.getInstructorComments();"},{"lineNumber":40,"author":{"gitId":"-"},"content":" if (comments !\u003d null) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" comments \u003d comments.trim();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":" AccountRequest accountRequest;"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" accountRequest \u003d sqlLogic.createAccountRequestWithTransaction(instructorName, instructorEmail,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" instructorInstitution, AccountRequestStatus.PENDING, comments);"},{"lineNumber":48,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException ipe) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(ipe);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" taskQueuer.scheduleAccountRequestForSearchIndexing(accountRequest.getId().toString());"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" assert accountRequest !\u003d null;"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" if (userInfo \u003d\u003d null || !userInfo.isAdmin) {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" EmailWrapper adminAlertEmail \u003d sqlEmailGenerator.generateNewAccountRequestAdminAlertEmail(accountRequest);"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" EmailWrapper userAcknowledgementEmail \u003d sqlEmailGenerator"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" .generateNewAccountRequestAcknowledgementEmail(accountRequest);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" emailSender.sendEmail(adminAlertEmail);"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" emailSender.sendEmail(userAcknowledgementEmail);"},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" AccountRequestData output \u003d new AccountRequestData(accountRequest);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return new JsonResult(output);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":1,"xenosf":5,"-":62}},{"path":"src/main/java/teammates/ui/webapi/CreateFeedbackQuestionAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":8,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackQuestionData;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackQuestionCreateRequest;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Creates a feedback question."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class CreateFeedbackQuestionAction extends Action {"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":23,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" String feedbackSessionName \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" InstructorAttributes instructorDetailForCourse \u003d logic.getInstructorForGoogleId(courseId, userInfo.getId());"},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (!isCourseMigrated(courseId)) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructorDetailForCourse,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" getNonNullFeedbackSession(feedbackSessionName, courseId),"},{"lineNumber":35,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" // TODO: Remove sql from variable name after migration"},{"lineNumber":40,"author":{"gitId":"-"},"content":" Instructor sqlInstructorDetailForCourse \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.getId());"},{"lineNumber":41,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(sqlInstructorDetailForCourse,"},{"lineNumber":42,"author":{"gitId":"-"},"content":" getNonNullSqlFeedbackSession(feedbackSessionName, courseId),"},{"lineNumber":43,"author":{"gitId":"-"},"content":" Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":47,"author":{"gitId":"marquestye"},"content":" public JsonResult execute() throws InvalidHttpRequestBodyException, InvalidOperationException {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" String feedbackSessionName \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" FeedbackQuestionCreateRequest request \u003d getAndValidateRequestBody(FeedbackQuestionCreateRequest.class);"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" if (!isCourseMigrated(courseId)) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" return executeWithDataStore(courseId, feedbackSessionName, request);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" FeedbackQuestion feedbackQuestion \u003d FeedbackQuestion.makeQuestion("},{"lineNumber":57,"author":{"gitId":"-"},"content":" getNonNullSqlFeedbackSession(feedbackSessionName, courseId),"},{"lineNumber":58,"author":{"gitId":"-"},"content":" request.getQuestionNumber(),"},{"lineNumber":59,"author":{"gitId":"-"},"content":" request.getQuestionDescription(),"},{"lineNumber":60,"author":{"gitId":"-"},"content":" request.getGiverType(),"},{"lineNumber":61,"author":{"gitId":"-"},"content":" request.getRecipientType(),"},{"lineNumber":62,"author":{"gitId":"-"},"content":" request.getNumberOfEntitiesToGiveFeedbackTo(),"},{"lineNumber":63,"author":{"gitId":"-"},"content":" request.getShowResponsesTo(),"},{"lineNumber":64,"author":{"gitId":"-"},"content":" request.getShowGiverNameTo(),"},{"lineNumber":65,"author":{"gitId":"-"},"content":" request.getShowRecipientNameTo(),"},{"lineNumber":66,"author":{"gitId":"-"},"content":" request.getQuestionDetails()"},{"lineNumber":67,"author":{"gitId":"-"},"content":" );"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" // validate questions (giver \u0026 recipient)"},{"lineNumber":71,"author":{"gitId":"-"},"content":" String err \u003d feedbackQuestion.getQuestionDetailsCopy().validateGiverRecipientVisibility(feedbackQuestion);"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" if (!err.isEmpty()) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(err);"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":" // validate questions (question details)"},{"lineNumber":77,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails questionDetails \u003d feedbackQuestion.getQuestionDetailsCopy();"},{"lineNumber":78,"author":{"gitId":"-"},"content":" List\u003cString\u003e questionDetailsErrors \u003d questionDetails.validateQuestionDetails();"},{"lineNumber":79,"author":{"gitId":"-"},"content":" if (!questionDetailsErrors.isEmpty()) {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(questionDetailsErrors.toString());"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":" feedbackQuestion \u003d sqlLogic.createFeedbackQuestion(feedbackQuestion);"},{"lineNumber":83,"author":{"gitId":"-"},"content":" return new JsonResult(new FeedbackQuestionData(feedbackQuestion));"},{"lineNumber":84,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException ex) {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(ex);"},{"lineNumber":86,"author":{"gitId":"marquestye"},"content":" } catch (EntityAlreadyExistsException e) {"},{"lineNumber":87,"author":{"gitId":"marquestye"},"content":" throw new InvalidOperationException(e);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":" }"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" private JsonResult executeWithDataStore(String courseId, String feedbackSessionName,"},{"lineNumber":92,"author":{"gitId":"-"},"content":" FeedbackQuestionCreateRequest request) throws InvalidHttpRequestBodyException {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes attributes \u003d FeedbackQuestionAttributes.builder()"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .withCourseId(courseId)"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .withFeedbackSessionName(feedbackSessionName)"},{"lineNumber":96,"author":{"gitId":"-"},"content":" .withGiverType(request.getGiverType())"},{"lineNumber":97,"author":{"gitId":"-"},"content":" .withRecipientType(request.getRecipientType())"},{"lineNumber":98,"author":{"gitId":"-"},"content":" .withQuestionNumber(request.getQuestionNumber())"},{"lineNumber":99,"author":{"gitId":"-"},"content":" .withNumberOfEntitiesToGiveFeedbackTo(request.getNumberOfEntitiesToGiveFeedbackTo())"},{"lineNumber":100,"author":{"gitId":"-"},"content":" .withShowResponsesTo(request.getShowResponsesTo())"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .withShowGiverNameTo(request.getShowGiverNameTo())"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .withShowRecipientNameTo(request.getShowRecipientNameTo())"},{"lineNumber":103,"author":{"gitId":"-"},"content":" .withQuestionDetails(request.getQuestionDetails())"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .withQuestionDescription(request.getQuestionDescription())"},{"lineNumber":105,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" // validate questions (giver \u0026 recipient)"},{"lineNumber":108,"author":{"gitId":"-"},"content":" String err \u003d attributes.getQuestionDetailsCopy().validateGiverRecipientVisibility(attributes);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" if (!err.isEmpty()) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(err);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":" // validate questions (question details)"},{"lineNumber":113,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails questionDetails \u003d attributes.getQuestionDetailsCopy();"},{"lineNumber":114,"author":{"gitId":"-"},"content":" List\u003cString\u003e questionDetailsErrors \u003d questionDetails.validateQuestionDetails();"},{"lineNumber":115,"author":{"gitId":"-"},"content":" if (!questionDetailsErrors.isEmpty()) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(String.join(\"\\n\", questionDetailsErrors));"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" attributes \u003d logic.createFeedbackQuestion(attributes);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" return new JsonResult(new FeedbackQuestionData(attributes));"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":4,"-":124}},{"path":"src/main/java/teammates/ui/webapi/CreateFeedbackSessionAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPermissionSet;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionData;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.ui.request.FeedbackSessionCreateRequest;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * Create a feedback session."},{"lineNumber":27,"author":{"gitId":"-"},"content":" */"},{"lineNumber":28,"author":{"gitId":"-"},"content":"public class CreateFeedbackSessionAction extends Action {"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.getId());"},{"lineNumber":43,"author":{"gitId":"-"},"content":" Course course \u003d sqlLogic.getCourse(courseId);"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, course, Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.getId());"},{"lineNumber":48,"author":{"gitId":"-"},"content":" CourseAttributes course \u003d logic.getCourse(courseId);"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, course, Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":55,"author":{"gitId":"-"},"content":" public JsonResult execute() throws InvalidHttpRequestBodyException, InvalidOperationException {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" FeedbackSessionCreateRequest createRequest \u003d"},{"lineNumber":58,"author":{"gitId":"-"},"content":" getAndValidateRequestBody(FeedbackSessionCreateRequest.class);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" String feedbackSessionName \u003d SanitizationHelper.sanitizeTitle(createRequest.getFeedbackSessionName());"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" Course course \u003d sqlLogic.getCourse(courseId);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Failed to find course with the given course id.\");"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.getId());"},{"lineNumber":67,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Failed to find instructor with the given courseId and googleId.\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" String timeZone \u003d course.getTimeZone();"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" Instant startTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":74,"author":{"gitId":"-"},"content":" createRequest.getSubmissionStartTime(), timeZone, true);"},{"lineNumber":75,"author":{"gitId":"-"},"content":" String startTimeError \u003d FieldValidator.getInvalidityInfoForNewStartTime(startTime, timeZone);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" if (!startTimeError.isEmpty()) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(\"Invalid submission opening time: \" + startTimeError);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":" Instant endTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":80,"author":{"gitId":"-"},"content":" createRequest.getSubmissionEndTime(), timeZone, true);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" String endTimeError \u003d FieldValidator.getInvalidityInfoForNewEndTime(endTime, timeZone);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" if (!endTimeError.isEmpty()) {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(\"Invalid submission closing time: \" + endTimeError);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Instant sessionVisibleTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":86,"author":{"gitId":"-"},"content":" createRequest.getSessionVisibleFromTime(), timeZone, true);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" String visibilityStartAndSessionStartTimeError \u003d"},{"lineNumber":88,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForNewVisibilityStart(sessionVisibleTime, startTime);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" if (!visibilityStartAndSessionStartTimeError.isEmpty()) {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(\"Invalid session visible time: \""},{"lineNumber":91,"author":{"gitId":"-"},"content":" + visibilityStartAndSessionStartTimeError);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":" Instant resultsVisibleTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":94,"author":{"gitId":"-"},"content":" createRequest.getResultsVisibleFromTime(), timeZone, true);"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" FeedbackSession feedbackSession \u003d new FeedbackSession("},{"lineNumber":97,"author":{"gitId":"-"},"content":" feedbackSessionName,"},{"lineNumber":98,"author":{"gitId":"-"},"content":" course,"},{"lineNumber":99,"author":{"gitId":"-"},"content":" instructor.getEmail(),"},{"lineNumber":100,"author":{"gitId":"-"},"content":" createRequest.getInstructions(),"},{"lineNumber":101,"author":{"gitId":"-"},"content":" startTime,"},{"lineNumber":102,"author":{"gitId":"-"},"content":" endTime,"},{"lineNumber":103,"author":{"gitId":"-"},"content":" sessionVisibleTime,"},{"lineNumber":104,"author":{"gitId":"-"},"content":" resultsVisibleTime,"},{"lineNumber":105,"author":{"gitId":"-"},"content":" createRequest.getGracePeriod(),"},{"lineNumber":106,"author":{"gitId":"-"},"content":" true,"},{"lineNumber":107,"author":{"gitId":"-"},"content":" createRequest.isClosingEmailEnabled(),"},{"lineNumber":108,"author":{"gitId":"-"},"content":" createRequest.isPublishedEmailEnabled()"},{"lineNumber":109,"author":{"gitId":"-"},"content":" );"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" feedbackSession \u003d sqlLogic.createFeedbackSession(feedbackSession);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" } catch (EntityAlreadyExistsException e) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(\"A session named \" + feedbackSessionName"},{"lineNumber":115,"author":{"gitId":"-"},"content":" + \" exists already in the course \" + course.getName()"},{"lineNumber":116,"author":{"gitId":"-"},"content":" + \" (Course ID: \" + courseId + \")\", e);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" if (createRequest.getToCopyCourseId() !\u003d null) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" createCopiedFeedbackQuestions(createRequest.getToCopyCourseId(), courseId,"},{"lineNumber":123,"author":{"gitId":"-"},"content":" feedbackSessionName, createRequest.getToCopySessionName());"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":" FeedbackSessionData output \u003d new FeedbackSessionData(feedbackSession);"},{"lineNumber":126,"author":{"gitId":"-"},"content":" InstructorPermissionSet privilege \u003d constructInstructorPrivileges(instructor, feedbackSessionName);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" output.setPrivileges(privilege);"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" return new JsonResult(output);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" CourseAttributes course \u003d logic.getCourse(courseId);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" String timeZone \u003d course.getTimeZone();"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" Instant startTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":135,"author":{"gitId":"-"},"content":" createRequest.getSubmissionStartTime(), timeZone, true);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" String startTimeError \u003d FieldValidator.getInvalidityInfoForNewStartTime(startTime, timeZone);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" if (!startTimeError.isEmpty()) {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(\"Invalid submission opening time: \" + startTimeError);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" }"},{"lineNumber":140,"author":{"gitId":"-"},"content":" Instant endTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":141,"author":{"gitId":"-"},"content":" createRequest.getSubmissionEndTime(), timeZone, true);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" String endTimeError \u003d FieldValidator.getInvalidityInfoForNewEndTime(endTime, timeZone);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" if (!endTimeError.isEmpty()) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(\"Invalid submission closing time: \" + endTimeError);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":" Instant sessionVisibleTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":147,"author":{"gitId":"-"},"content":" createRequest.getSessionVisibleFromTime(), timeZone, true);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" String visibilityStartAndSessionStartTimeError \u003d"},{"lineNumber":149,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForNewVisibilityStart(sessionVisibleTime, startTime);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" if (!visibilityStartAndSessionStartTimeError.isEmpty()) {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(\"Invalid session visible time: \""},{"lineNumber":152,"author":{"gitId":"-"},"content":" + visibilityStartAndSessionStartTimeError);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":" Instant resultsVisibleTime \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone("},{"lineNumber":155,"author":{"gitId":"-"},"content":" createRequest.getResultsVisibleFromTime(), timeZone, true);"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.getId());"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes fs \u003d"},{"lineNumber":160,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes"},{"lineNumber":161,"author":{"gitId":"-"},"content":" .builder(feedbackSessionName, course.getId())"},{"lineNumber":162,"author":{"gitId":"-"},"content":" .withCreatorEmail(instructor.getEmail())"},{"lineNumber":163,"author":{"gitId":"-"},"content":" .withTimeZone(course.getTimeZone())"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .withInstructions(createRequest.getInstructions())"},{"lineNumber":165,"author":{"gitId":"-"},"content":" .withStartTime(startTime)"},{"lineNumber":166,"author":{"gitId":"-"},"content":" .withEndTime(endTime)"},{"lineNumber":167,"author":{"gitId":"-"},"content":" .withGracePeriod(createRequest.getGracePeriod())"},{"lineNumber":168,"author":{"gitId":"-"},"content":" .withSessionVisibleFromTime(sessionVisibleTime)"},{"lineNumber":169,"author":{"gitId":"-"},"content":" .withResultsVisibleFromTime(resultsVisibleTime)"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .withIsClosingEmailEnabled(createRequest.isClosingEmailEnabled())"},{"lineNumber":171,"author":{"gitId":"-"},"content":" .withIsPublishedEmailEnabled(createRequest.isPublishedEmailEnabled())"},{"lineNumber":172,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":173,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" logic.createFeedbackSession(fs);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" } catch (EntityAlreadyExistsException e) {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(\"A session named \" + feedbackSessionName"},{"lineNumber":177,"author":{"gitId":"-"},"content":" + \" exists already in the course \" + course.getName()"},{"lineNumber":178,"author":{"gitId":"-"},"content":" + \" (Course ID: \" + courseId + \")\", e);"},{"lineNumber":179,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" if (createRequest.getToCopyCourseId() !\u003d null) {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" createFeedbackQuestions(createRequest.getToCopyCourseId(), courseId, feedbackSessionName,"},{"lineNumber":185,"author":{"gitId":"-"},"content":" createRequest.getToCopySessionName());"},{"lineNumber":186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":" fs \u003d getNonNullFeedbackSession(fs.getFeedbackSessionName(), fs.getCourseId());"},{"lineNumber":188,"author":{"gitId":"-"},"content":" FeedbackSessionData output \u003d new FeedbackSessionData(fs);"},{"lineNumber":189,"author":{"gitId":"-"},"content":" InstructorPermissionSet privilege \u003d constructInstructorPrivileges(instructor, feedbackSessionName);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" output.setPrivileges(privilege);"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" return new JsonResult(output);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" private void createCopiedFeedbackQuestions(String oldCourseId, String newCourseId,"},{"lineNumber":197,"author":{"gitId":"-"},"content":" String newFeedbackSessionName, String oldFeedbackSessionName) {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" FeedbackSession oldFeedbackSession \u003d sqlLogic.getFeedbackSession(oldFeedbackSessionName, oldCourseId);"},{"lineNumber":199,"author":{"gitId":"-"},"content":" FeedbackSession newFeedbackSession \u003d sqlLogic.getFeedbackSession(newFeedbackSessionName, newCourseId);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" sqlLogic.getFeedbackQuestionsForSession(oldFeedbackSession).forEach(question -\u003e {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" FeedbackQuestion feedbackQuestion \u003d question.makeDeepCopy(newFeedbackSession);"},{"lineNumber":202,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" sqlLogic.createFeedbackQuestion(feedbackQuestion);"},{"lineNumber":204,"author":{"gitId":"marquestye"},"content":" } catch (InvalidParametersException | EntityAlreadyExistsException e) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" log.severe(\"Error when copying feedback question: \" + e.getMessage());"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":" });"},{"lineNumber":208,"author":{"gitId":"-"},"content":" }"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":" private void createFeedbackQuestions(String copyCourseId, String newCourseId, String feedbackSessionName,"},{"lineNumber":211,"author":{"gitId":"-"},"content":" String oldSessionName) {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" logic.getFeedbackQuestionsForSession(oldSessionName, copyCourseId).forEach(question -\u003e {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes attributes \u003d FeedbackQuestionAttributes.builder()"},{"lineNumber":214,"author":{"gitId":"-"},"content":" .withCourseId(newCourseId)"},{"lineNumber":215,"author":{"gitId":"-"},"content":" .withFeedbackSessionName(feedbackSessionName)"},{"lineNumber":216,"author":{"gitId":"-"},"content":" .withGiverType(question.getGiverType())"},{"lineNumber":217,"author":{"gitId":"-"},"content":" .withRecipientType(question.getRecipientType())"},{"lineNumber":218,"author":{"gitId":"-"},"content":" .withQuestionNumber(question.getQuestionNumber())"},{"lineNumber":219,"author":{"gitId":"-"},"content":" .withNumberOfEntitiesToGiveFeedbackTo(question.getNumberOfEntitiesToGiveFeedbackTo())"},{"lineNumber":220,"author":{"gitId":"-"},"content":" .withShowResponsesTo(question.getShowResponsesTo())"},{"lineNumber":221,"author":{"gitId":"-"},"content":" .withShowGiverNameTo(question.getShowGiverNameTo())"},{"lineNumber":222,"author":{"gitId":"-"},"content":" .withShowRecipientNameTo(question.getShowRecipientNameTo())"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .withQuestionDetails(question.getQuestionDetails())"},{"lineNumber":224,"author":{"gitId":"-"},"content":" .withQuestionDescription(question.getQuestionDescription())"},{"lineNumber":225,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" logic.createFeedbackQuestion(attributes);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" log.severe(\"Error when copying feedback question: \" + e.getMessage());"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":" });"},{"lineNumber":233,"author":{"gitId":"-"},"content":" }"},{"lineNumber":234,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":1,"-":233}},{"path":"src/main/java/teammates/ui/webapi/CreateFeedbackSessionLogAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionAuditLogDetails;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Action: creates a feedback session log for the purposes of tracking and auditing."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"public class CreateFeedbackSessionLogAction extends Action {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":18,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" return AuthType.PUBLIC;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" }"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":23,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" // No specific access control restrictions on creating feedback session logs"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"-"},"content":" public JsonResult execute() {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" String fslType \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" FeedbackSessionLogType convertedFslType \u003d FeedbackSessionLogType.valueOfLabel(fslType);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" if (convertedFslType \u003d\u003d null) {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Invalid log type\");"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" String fsName \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" String studentEmail \u003d getNonNullRequestParamValue(Const.ParamsNames.STUDENT_EMAIL);"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" // Skip rigorous validations to avoid incurring extra db reads and to keep the endpoint"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" // light"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" FeedbackSessionAuditLogDetails details \u003d new FeedbackSessionAuditLogDetails();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" details.setCourseId(courseId);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" details.setFeedbackSessionName(fsName);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" details.setStudentEmail(studentEmail);"},{"lineNumber":45,"author":{"gitId":"-"},"content":" details.setAccessType(fslType);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" UUID studentId \u003d getUuidRequestParamValue(Const.ParamsNames.STUDENT_SQL_ID);"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" UUID fsId \u003d getUuidRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_ID);"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" details.setStudentId(studentId.toString());"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" details.setFeedbackSessionId(fsId.toString());"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" // Necessary to assist local testing. For production usage, this will be a no-op."},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" logsProcessor.createFeedbackSessionLog(courseId, studentId, fsId, fslType);"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" // Necessary to assist local testing. For production usage, this will be a no-op."},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" logsProcessor.createFeedbackSessionLog(courseId, studentEmail, fsName, fslType);"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" log.event(\"Feedback session audit event: \" + fslType, details);"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" return new JsonResult(\"Successful\");"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":19,"-":46}},{"path":"src/main/java/teammates/ui/webapi/CreateInstructorAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.datatransfer.InstructorPermissionRole;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPrivileges;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.SanitizationHelper;"},{"lineNumber":10,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":11,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorData;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.ui.request.InstructorCreateRequest;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Action: adds another instructor to a course that already exists."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"mingyuanc"},"content":"public class CreateInstructorAction extends Action {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":22,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":27,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" if (userInfo.isAdmin) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (!userInfo.isInstructor) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Instructor privilege is required to access this resource.\");"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":39,"author":{"gitId":"mingyuanc"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.id);"},{"lineNumber":40,"author":{"gitId":"mingyuanc"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":41,"author":{"gitId":"mingyuanc"},"content":" instructor, sqlLogic.getCourse(courseId), Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR);"},{"lineNumber":42,"author":{"gitId":"mingyuanc"},"content":" } else {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.id);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":45,"author":{"gitId":"-"},"content":" instructor, logic.getCourse(courseId), Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":" }"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":50,"author":{"gitId":"-"},"content":" public JsonResult execute() throws InvalidHttpRequestBodyException, InvalidOperationException {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" InstructorCreateRequest instructorRequest \u003d getAndValidateRequestBody(InstructorCreateRequest.class);"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":55,"author":{"gitId":"mingyuanc"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":56,"author":{"gitId":"mingyuanc"},"content":" return executeWithSql(courseId, instructorRequest);"},{"lineNumber":57,"author":{"gitId":"mingyuanc"},"content":" } else {"},{"lineNumber":58,"author":{"gitId":"mingyuanc"},"content":" return executeWithDataStore(courseId, instructorRequest);"},{"lineNumber":59,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" } catch (EntityAlreadyExistsException e) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" throw new InvalidOperationException("},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"An instructor with the same email address already exists in the course.\", e);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":67,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":68,"author":{"gitId":"mingyuanc"},"content":" /**"},{"lineNumber":69,"author":{"gitId":"mingyuanc"},"content":" * Executes the action using SQL storage."},{"lineNumber":70,"author":{"gitId":"mingyuanc"},"content":" *"},{"lineNumber":71,"author":{"gitId":"mingyuanc"},"content":" * @param courseId Id of the course the instructor is being added"},{"lineNumber":72,"author":{"gitId":"mingyuanc"},"content":" * to."},{"lineNumber":73,"author":{"gitId":"mingyuanc"},"content":" * @param instructorRequest Request body containing the instructor\u0027s info."},{"lineNumber":74,"author":{"gitId":"mingyuanc"},"content":" * @return The Json result of the created Instructor"},{"lineNumber":75,"author":{"gitId":"mingyuanc"},"content":" * @throws InvalidParametersException If a parameter is invalid"},{"lineNumber":76,"author":{"gitId":"mingyuanc"},"content":" * @throws EntityAlreadyExistsException If there is a conflict at the email"},{"lineNumber":77,"author":{"gitId":"mingyuanc"},"content":" * field"},{"lineNumber":78,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":79,"author":{"gitId":"mingyuanc"},"content":" private JsonResult executeWithSql(String courseId, InstructorCreateRequest instructorRequest)"},{"lineNumber":80,"author":{"gitId":"mingyuanc"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":81,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":82,"author":{"gitId":"mingyuanc"},"content":" Instructor instructorToAdd \u003d createInstructorWithBasicAttributesSql(courseId,"},{"lineNumber":83,"author":{"gitId":"mingyuanc"},"content":" SanitizationHelper.sanitizeName(instructorRequest.getName()),"},{"lineNumber":84,"author":{"gitId":"mingyuanc"},"content":" SanitizationHelper.sanitizeEmail(instructorRequest.getEmail()), instructorRequest.getRoleName(),"},{"lineNumber":85,"author":{"gitId":"mingyuanc"},"content":" instructorRequest.getIsDisplayedToStudent(),"},{"lineNumber":86,"author":{"gitId":"mingyuanc"},"content":" SanitizationHelper.sanitizeName(instructorRequest.getDisplayName()));"},{"lineNumber":87,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":88,"author":{"gitId":"mingyuanc"},"content":" Instructor createdInstructor \u003d sqlLogic.createInstructor(instructorToAdd);"},{"lineNumber":89,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":90,"author":{"gitId":"mingyuanc"},"content":" taskQueuer.scheduleCourseRegistrationInviteToInstructor("},{"lineNumber":91,"author":{"gitId":"mingyuanc"},"content":" this.userInfo.id, instructorToAdd.getEmail(), courseId, false);"},{"lineNumber":92,"author":{"gitId":"mingyuanc"},"content":" taskQueuer.scheduleInstructorForSearchIndexing(createdInstructor.getCourseId(), createdInstructor.getEmail());"},{"lineNumber":93,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":94,"author":{"gitId":"mingyuanc"},"content":" return new JsonResult(new InstructorData(createdInstructor));"},{"lineNumber":95,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":96,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":97,"author":{"gitId":"mingyuanc"},"content":" /**"},{"lineNumber":98,"author":{"gitId":"mingyuanc"},"content":" * Executes the action using Datastore storage."},{"lineNumber":99,"author":{"gitId":"mingyuanc"},"content":" *"},{"lineNumber":100,"author":{"gitId":"mingyuanc"},"content":" * @param courseId Id of the course the instructor is being added"},{"lineNumber":101,"author":{"gitId":"mingyuanc"},"content":" * to."},{"lineNumber":102,"author":{"gitId":"mingyuanc"},"content":" * @param instructorRequest Request body containing the instructor\u0027s info."},{"lineNumber":103,"author":{"gitId":"mingyuanc"},"content":" * @return The Json result of the created Instructor"},{"lineNumber":104,"author":{"gitId":"mingyuanc"},"content":" * @throws InvalidParametersException If a parameter is invalid"},{"lineNumber":105,"author":{"gitId":"mingyuanc"},"content":" * @throws EntityAlreadyExistsException If there is a conflict at the email"},{"lineNumber":106,"author":{"gitId":"mingyuanc"},"content":" * field"},{"lineNumber":107,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":108,"author":{"gitId":"mingyuanc"},"content":" private JsonResult executeWithDataStore(String courseId, InstructorCreateRequest instructorRequest)"},{"lineNumber":109,"author":{"gitId":"mingyuanc"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" InstructorAttributes instructorToAdd \u003d createInstructorWithBasicAttributes(courseId,"},{"lineNumber":111,"author":{"gitId":"-"},"content":" instructorRequest.getName(), instructorRequest.getEmail(), instructorRequest.getRoleName(),"},{"lineNumber":112,"author":{"gitId":"-"},"content":" instructorRequest.getIsDisplayedToStudent(), instructorRequest.getDisplayName());"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" InstructorAttributes createdInstructor \u003d logic.createInstructor(instructorToAdd);"},{"lineNumber":115,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" taskQueuer.scheduleCourseRegistrationInviteToInstructor("},{"lineNumber":117,"author":{"gitId":"-"},"content":" userInfo.id, instructorToAdd.getEmail(), instructorToAdd.getCourseId(), false);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" taskQueuer.scheduleInstructorForSearchIndexing(createdInstructor.getCourseId(), createdInstructor.getEmail());"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" return new JsonResult(new InstructorData(createdInstructor));"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"mingyuanc"},"content":" /**"},{"lineNumber":124,"author":{"gitId":"mingyuanc"},"content":" * Creates a new instructor with basic information."},{"lineNumber":125,"author":{"gitId":"mingyuanc"},"content":" * This consists of everything apart from custom privileges."},{"lineNumber":126,"author":{"gitId":"mingyuanc"},"content":" *"},{"lineNumber":127,"author":{"gitId":"mingyuanc"},"content":" * @param courseId Id of the course the instructor is being added"},{"lineNumber":128,"author":{"gitId":"mingyuanc"},"content":" * to."},{"lineNumber":129,"author":{"gitId":"mingyuanc"},"content":" * @param instructorName Name of the instructor."},{"lineNumber":130,"author":{"gitId":"mingyuanc"},"content":" * @param instructorEmail Email of the instructor."},{"lineNumber":131,"author":{"gitId":"mingyuanc"},"content":" * @param instructorRole Role of the instructor."},{"lineNumber":132,"author":{"gitId":"mingyuanc"},"content":" * @param isDisplayedToStudents Whether the instructor should be visible to"},{"lineNumber":133,"author":{"gitId":"mingyuanc"},"content":" * students."},{"lineNumber":134,"author":{"gitId":"mingyuanc"},"content":" * @param displayedName Name to be visible to students."},{"lineNumber":135,"author":{"gitId":"mingyuanc"},"content":" * Should not be {@code null} even if"},{"lineNumber":136,"author":{"gitId":"mingyuanc"},"content":" * {@code isDisplayedToStudents} is false."},{"lineNumber":137,"author":{"gitId":"mingyuanc"},"content":" * @return An instructor with basic info, excluding custom privileges"},{"lineNumber":138,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":139,"author":{"gitId":"mingyuanc"},"content":" private Instructor createInstructorWithBasicAttributesSql(String courseId, String instructorName,"},{"lineNumber":140,"author":{"gitId":"mingyuanc"},"content":" String instructorEmail, String instructorRole,"},{"lineNumber":141,"author":{"gitId":"mingyuanc"},"content":" boolean isDisplayedToStudents, String displayedName) {"},{"lineNumber":142,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":143,"author":{"gitId":"mingyuanc"},"content":" String instrName \u003d SanitizationHelper.sanitizeName(instructorName);"},{"lineNumber":144,"author":{"gitId":"mingyuanc"},"content":" String instrEmail \u003d SanitizationHelper.sanitizeEmail(instructorEmail);"},{"lineNumber":145,"author":{"gitId":"mingyuanc"},"content":" String instrRole \u003d SanitizationHelper.sanitizeName(instructorRole);"},{"lineNumber":146,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":147,"author":{"gitId":"mingyuanc"},"content":" String instrDisplayedName \u003d displayedName;"},{"lineNumber":148,"author":{"gitId":"mingyuanc"},"content":" if (displayedName \u003d\u003d null || displayedName.isEmpty()) {"},{"lineNumber":149,"author":{"gitId":"mingyuanc"},"content":" instrDisplayedName \u003d Const.DEFAULT_DISPLAY_NAME_FOR_INSTRUCTOR;"},{"lineNumber":150,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":151,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":152,"author":{"gitId":"mingyuanc"},"content":" InstructorPrivileges privileges \u003d new InstructorPrivileges(instrRole);"},{"lineNumber":153,"author":{"gitId":"mingyuanc"},"content":" InstructorPermissionRole role \u003d InstructorPermissionRole.getEnum(instrRole);"},{"lineNumber":154,"author":{"gitId":"mingyuanc"},"content":" Course course \u003d sqlLogic.getCourse(courseId);"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"mingyuanc"},"content":" return new Instructor(course, instrName, instrEmail, isDisplayedToStudents, instrDisplayedName, role,"},{"lineNumber":157,"author":{"gitId":"mingyuanc"},"content":" privileges);"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":161,"author":{"gitId":"-"},"content":" * Creates a new instructor with basic information."},{"lineNumber":162,"author":{"gitId":"-"},"content":" * This consists of everything apart from custom privileges."},{"lineNumber":163,"author":{"gitId":"-"},"content":" *"},{"lineNumber":164,"author":{"gitId":"mingyuanc"},"content":" * @param courseId Id of the course the instructor is being added"},{"lineNumber":165,"author":{"gitId":"mingyuanc"},"content":" * to."},{"lineNumber":166,"author":{"gitId":"-"},"content":" * @param instructorName Name of the instructor."},{"lineNumber":167,"author":{"gitId":"-"},"content":" * @param instructorEmail Email of the instructor."},{"lineNumber":168,"author":{"gitId":"-"},"content":" * @param instructorRole Role of the instructor."},{"lineNumber":169,"author":{"gitId":"mingyuanc"},"content":" * @param isDisplayedToStudents Whether the instructor should be visible to"},{"lineNumber":170,"author":{"gitId":"mingyuanc"},"content":" * students."},{"lineNumber":171,"author":{"gitId":"-"},"content":" * @param displayedName Name to be visible to students."},{"lineNumber":172,"author":{"gitId":"mingyuanc"},"content":" * Should not be {@code null} even if"},{"lineNumber":173,"author":{"gitId":"mingyuanc"},"content":" * {@code isDisplayedToStudents} is false."},{"lineNumber":174,"author":{"gitId":"-"},"content":" * @return An instructor with basic info, excluding custom privileges"},{"lineNumber":175,"author":{"gitId":"-"},"content":" */"},{"lineNumber":176,"author":{"gitId":"-"},"content":" private InstructorAttributes createInstructorWithBasicAttributes(String courseId, String instructorName,"},{"lineNumber":177,"author":{"gitId":"-"},"content":" String instructorEmail, String instructorRole,"},{"lineNumber":178,"author":{"gitId":"-"},"content":" boolean isDisplayedToStudents, String displayedName) {"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" String instrName \u003d SanitizationHelper.sanitizeName(instructorName);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" String instrEmail \u003d SanitizationHelper.sanitizeEmail(instructorEmail);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" String instrRole \u003d SanitizationHelper.sanitizeName(instructorRole);"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" String instrDisplayedName \u003d displayedName;"},{"lineNumber":185,"author":{"gitId":"-"},"content":" if (displayedName \u003d\u003d null || displayedName.isEmpty()) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" instrDisplayedName \u003d Const.DEFAULT_DISPLAY_NAME_FOR_INSTRUCTOR;"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" instrDisplayedName \u003d SanitizationHelper.sanitizeName(instrDisplayedName);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" InstructorPrivileges privileges \u003d new InstructorPrivileges(instructorRole);"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" return InstructorAttributes.builder(courseId, instrEmail)"},{"lineNumber":193,"author":{"gitId":"-"},"content":" .withName(instrName)"},{"lineNumber":194,"author":{"gitId":"-"},"content":" .withRole(instrRole)"},{"lineNumber":195,"author":{"gitId":"-"},"content":" .withIsDisplayedToStudents(isDisplayedToStudents)"},{"lineNumber":196,"author":{"gitId":"-"},"content":" .withDisplayedName(instrDisplayedName)"},{"lineNumber":197,"author":{"gitId":"-"},"content":" .withPrivileges(privileges)"},{"lineNumber":198,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"mingyuanc":99,"-":102}},{"path":"src/main/java/teammates/ui/webapi/DeleteAccountRequestAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":9,"author":{"gitId":"-"},"content":" * Deletes an existing account request."},{"lineNumber":10,"author":{"gitId":"-"},"content":" */"},{"lineNumber":11,"author":{"gitId":"-"},"content":"class DeleteAccountRequestAction extends AdminOnlyAction {"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":14,"author":{"gitId":"-"},"content":" public JsonResult execute() throws InvalidOperationException {"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":" UUID id \u003d getUuidRequestParamValue(Const.ParamsNames.ACCOUNT_REQUEST_ID);"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":" AccountRequest toDelete \u003d sqlLogic.getAccountRequest(id);"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" if (toDelete !\u003d null \u0026\u0026 toDelete.getRegisteredAt() !\u003d null) {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" // instructor is already registered and cannot be deleted"},{"lineNumber":21,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(\"Account request of a registered instructor cannot be deleted.\");"},{"lineNumber":22,"author":{"gitId":"-"},"content":" }"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":" sqlLogic.deleteAccountRequest(id);"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" return new JsonResult(\"Account request successfully deleted.\");"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":5,"-":24}},{"path":"src/main/java/teammates/ui/webapi/EnrollStudentsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.EnrollException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.RequestTracer;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.ui.output.EnrollStudentsData;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentData;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentsData;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.ui.request.StudentsEnrollRequest;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * Enroll a list of students."},{"lineNumber":29,"author":{"gitId":"-"},"content":" *"},{"lineNumber":30,"author":{"gitId":"-"},"content":" * \u003cp\u003eCreate the students who are not in the course."},{"lineNumber":31,"author":{"gitId":"-"},"content":" *"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * \u003cp\u003eUpdate the students who are already existed."},{"lineNumber":33,"author":{"gitId":"-"},"content":" *"},{"lineNumber":34,"author":{"gitId":"-"},"content":" * \u003cp\u003eReturn all students who are successfully enrolled."},{"lineNumber":35,"author":{"gitId":"-"},"content":" */"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":"public class EnrollStudentsAction extends Action {"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":39,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":44,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" if (!userInfo.isInstructor) {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Instructor privilege is required to access this resource.\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":" }"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" if (!isCourseMigrated(courseId)) {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.id);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":53,"author":{"gitId":"-"},"content":" instructor, logic.getCourse(courseId), Const.InstructorPermissions.CAN_MODIFY_STUDENT);"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.id);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" instructor, sqlLogic.getCourse(courseId), Const.InstructorPermissions.CAN_MODIFY_STUDENT);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public JsonResult execute() throws InvalidHttpRequestBodyException, InvalidOperationException {"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" StudentsEnrollRequest enrollRequests \u003d getAndValidateRequestBody(StudentsEnrollRequest.class);"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":" List\u003cStudentsEnrollRequest.StudentEnrollRequest\u003e studentEnrollRequests \u003d enrollRequests.getStudentEnrollRequests();"},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" Course course \u003d sqlLogic.getCourse(courseId);"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" boolean isCourseMigrated \u003d isCourseMigrated(courseId);"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" if (isCourseMigrated) {"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e studentsToEnroll \u003d new ArrayList\u003c\u003e();"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" studentEnrollRequests.forEach(studentEnrollRequest -\u003e {"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" Section section \u003d new Section(course, studentEnrollRequest.getSection());"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" Team team \u003d new Team(section, studentEnrollRequest.getTeam());"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" studentsToEnroll.add(new Student("},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" course, studentEnrollRequest.getName(),"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" studentEnrollRequest.getEmail(), studentEnrollRequest.getComments(), team));"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" sqlLogic.validateSectionsAndTeams(studentsToEnroll, courseId);"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" } catch (EnrollException e) {"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" throw new InvalidOperationException(e);"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e enrolledStudents \u003d new ArrayList\u003c\u003e();"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" List\u003cEnrollStudentsData.EnrollErrorResults\u003e failToEnrollStudents \u003d new ArrayList\u003c\u003e();"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" Set\u003cString\u003e existingStudentsEmail;"},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" List\u003cStudent\u003e existingStudents \u003d sqlLogic.getStudentsForCourse(courseId);"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" existingStudentsEmail \u003d"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" existingStudents.stream().map(Student::getEmail).collect(Collectors.toSet());"},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" for (StudentsEnrollRequest.StudentEnrollRequest enrollRequest : studentEnrollRequests) {"},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" if (existingStudentsEmail.contains(enrollRequest.getEmail())) {"},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":" // The student has been enrolled in the course."},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":" Section section \u003d sqlLogic.getSectionOrCreate(courseId, enrollRequest.getSection());"},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" Team team \u003d sqlLogic.getTeamOrCreate(section, enrollRequest.getTeam());"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" Student newStudent \u003d new Student("},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" course, enrollRequest.getName(),"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" enrollRequest.getEmail(), enrollRequest.getComments(), team);"},{"lineNumber":105,"author":{"gitId":"marquestye"},"content":" newStudent.setId(sqlLogic.getStudentForEmail(courseId, enrollRequest.getEmail()).getId());"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":" Student updatedStudent \u003d sqlLogic.updateStudentCascade(newStudent);"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" taskQueuer.scheduleStudentForSearchIndexing("},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" updatedStudent.getCourseId(), updatedStudent.getEmail());"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" enrolledStudents.add(updatedStudent);"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" } catch (InvalidParametersException | EntityDoesNotExistException"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" | EntityAlreadyExistsException exception) {"},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" // Unsuccessfully enrolled students will not be returned."},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" failToEnrollStudents.add(new EnrollStudentsData.EnrollErrorResults(enrollRequest.getEmail(),"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" exception.getMessage()));"},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" // The student is new."},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" Section section \u003d sqlLogic.getSectionOrCreate(courseId, enrollRequest.getSection());"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" Team team \u003d sqlLogic.getTeamOrCreate(section, enrollRequest.getTeam());"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" Student newStudent \u003d new Student("},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":" course, enrollRequest.getName(),"},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":" enrollRequest.getEmail(), enrollRequest.getComments(), team);"},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" newStudent \u003d sqlLogic.createStudent(newStudent);"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" taskQueuer.scheduleStudentForSearchIndexing("},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" newStudent.getCourseId(), newStudent.getEmail());"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" enrolledStudents.add(newStudent);"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":" } catch (InvalidParametersException | EntityAlreadyExistsException exception) {"},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":" // Unsuccessfully enrolled students will not be returned."},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":" failToEnrollStudents.add(new EnrollStudentsData.EnrollErrorResults(enrollRequest.getEmail(),"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" exception.getMessage()));"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" List\u003cStudentData\u003e studentDataList \u003d enrolledStudents"},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":" .stream()"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" .map(StudentData::new)"},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":" .collect(Collectors.toList());"},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" StudentsData data \u003d new StudentsData();"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" data.setStudents(studentDataList);"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":" return new JsonResult(new EnrollStudentsData(data, failToEnrollStudents));"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" List\u003cStudentAttributes\u003e studentsToEnroll \u003d new ArrayList\u003c\u003e();"},{"lineNumber":148,"author":{"gitId":"-"},"content":" enrollRequests.getStudentEnrollRequests().forEach(studentEnrollRequest -\u003e {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" studentsToEnroll.add(StudentAttributes.builder(courseId, studentEnrollRequest.getEmail())"},{"lineNumber":150,"author":{"gitId":"-"},"content":" .withName(studentEnrollRequest.getName())"},{"lineNumber":151,"author":{"gitId":"-"},"content":" .withSectionName(studentEnrollRequest.getSection())"},{"lineNumber":152,"author":{"gitId":"-"},"content":" .withTeamName(studentEnrollRequest.getTeam())"},{"lineNumber":153,"author":{"gitId":"-"},"content":" .withComment(studentEnrollRequest.getComments())"},{"lineNumber":154,"author":{"gitId":"-"},"content":" .build());"},{"lineNumber":155,"author":{"gitId":"-"},"content":" });"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" logic.validateSectionsAndTeams(studentsToEnroll, courseId);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" } catch (EnrollException e) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(e);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" List\u003cStudentAttributes\u003e enrolledStudents \u003d new ArrayList\u003c\u003e();"},{"lineNumber":164,"author":{"gitId":"-"},"content":" List\u003cEnrollStudentsData.EnrollErrorResults\u003e failToEnrollStudents \u003d new ArrayList\u003c\u003e();"},{"lineNumber":165,"author":{"gitId":"domoberzin"},"content":" Set\u003cString\u003e existingStudentsEmail;"},{"lineNumber":166,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":" List\u003cStudentAttributes\u003e existingStudents \u003d logic.getStudentsForCourse(courseId);"},{"lineNumber":168,"author":{"gitId":"domoberzin"},"content":" existingStudentsEmail \u003d"},{"lineNumber":169,"author":{"gitId":"domoberzin"},"content":" existingStudents.stream().map(StudentAttributes::getEmail).collect(Collectors.toSet());"},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" for (StudentAttributes student : studentsToEnroll) {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" RequestTracer.checkRemainingTime();"},{"lineNumber":173,"author":{"gitId":"-"},"content":" if (existingStudentsEmail.contains(student.getEmail())) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" // The student has been enrolled in the course."},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" StudentAttributes.UpdateOptions updateOptions \u003d"},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" StudentAttributes.updateOptionsBuilder(courseId, student.getEmail())"},{"lineNumber":178,"author":{"gitId":"-"},"content":" .withName(student.getName())"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .withSectionName(student.getSection())"},{"lineNumber":180,"author":{"gitId":"-"},"content":" .withTeamName(student.getTeam())"},{"lineNumber":181,"author":{"gitId":"-"},"content":" .withComment(student.getComments())"},{"lineNumber":182,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":183,"author":{"gitId":"-"},"content":" StudentAttributes updatedStudent \u003d logic.updateStudentCascade(updateOptions);"},{"lineNumber":184,"author":{"gitId":"domoberzin"},"content":" taskQueuer.scheduleStudentForSearchIndexing("},{"lineNumber":185,"author":{"gitId":"domoberzin"},"content":" updatedStudent.getCourse(), updatedStudent.getEmail());"},{"lineNumber":186,"author":{"gitId":"-"},"content":" enrolledStudents.add(updatedStudent);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException | EntityDoesNotExistException"},{"lineNumber":188,"author":{"gitId":"-"},"content":" | EntityAlreadyExistsException exception) {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" // Unsuccessfully enrolled students will not be returned."},{"lineNumber":190,"author":{"gitId":"-"},"content":" failToEnrollStudents.add(new EnrollStudentsData.EnrollErrorResults(student.getEmail(),"},{"lineNumber":191,"author":{"gitId":"-"},"content":" exception.getMessage()));"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":194,"author":{"gitId":"-"},"content":" // The student is new."},{"lineNumber":195,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":" StudentAttributes studentAttributes \u003d StudentAttributes.builder(courseId, student.getEmail())"},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":" .withName(student.getName())"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" .withSectionName(student.getSection())"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":" .withTeamName(student.getTeam())"},{"lineNumber":200,"author":{"gitId":"domoberzin"},"content":" .withComment(student.getComments())"},{"lineNumber":201,"author":{"gitId":"domoberzin"},"content":" .build();"},{"lineNumber":202,"author":{"gitId":"domoberzin"},"content":" StudentAttributes newStudent \u003d logic.createStudent(studentAttributes);"},{"lineNumber":203,"author":{"gitId":"-"},"content":" taskQueuer.scheduleStudentForSearchIndexing(newStudent.getCourse(), newStudent.getEmail());"},{"lineNumber":204,"author":{"gitId":"-"},"content":" enrolledStudents.add(newStudent);"},{"lineNumber":205,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException | EntityAlreadyExistsException exception) {"},{"lineNumber":206,"author":{"gitId":"-"},"content":" // Unsuccessfully enrolled students will not be returned."},{"lineNumber":207,"author":{"gitId":"-"},"content":" failToEnrollStudents.add(new EnrollStudentsData.EnrollErrorResults(student.getEmail(),"},{"lineNumber":208,"author":{"gitId":"-"},"content":" exception.getMessage()));"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" List\u003cStudentData\u003e studentDataList \u003d enrolledStudents"},{"lineNumber":214,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":215,"author":{"gitId":"-"},"content":" .map(StudentData::new)"},{"lineNumber":216,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":217,"author":{"gitId":"-"},"content":" StudentsData data \u003d new StudentsData();"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" data.setStudents(studentDataList);"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" return new JsonResult(new EnrollStudentsData(data, failToEnrollStudents));"},{"lineNumber":222,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":108,"marquestye":1,"-":116}},{"path":"src/main/java/teammates/ui/webapi/GetCourseJoinStatusAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountRequestAttributes;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.ui.output.JoinStatus;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Get the join status of a course."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"public class GetCourseJoinStatusAction extends Action {"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":18,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" }"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":23,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" // Any user can use a join link as long as its parameters are valid"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"-"},"content":" public JsonResult execute() {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" String regkey \u003d getNonNullRequestParamValue(Const.ParamsNames.REGKEY);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" String entityType \u003d getNonNullRequestParamValue(Const.ParamsNames.ENTITY_TYPE);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" String isCreatingAccount \u003d getRequestParamValue(Const.ParamsNames.IS_CREATING_ACCOUNT);"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" switch (entityType) {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" case Const.EntityType.STUDENT:"},{"lineNumber":35,"author":{"gitId":"-"},"content":" return getStudentJoinStatus(regkey);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" case Const.EntityType.INSTRUCTOR:"},{"lineNumber":37,"author":{"gitId":"-"},"content":" return getInstructorJoinStatus(regkey, \"true\".equals(isCreatingAccount));"},{"lineNumber":38,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":39,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Error: invalid entity type\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" private JsonResult getStudentJoinStatus(String regkey) {"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" StudentAttributes studentAttributes \u003d logic.getStudentForRegistrationKey(regkey);"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" if (studentAttributes !\u003d null \u0026\u0026 !isCourseMigrated(studentAttributes.getCourse())) {"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" return getJoinStatusResult(studentAttributes.isRegistered());"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" Student student \u003d sqlLogic.getStudentByRegistrationKey(regkey);"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(\"No student with given registration key: \" + regkey);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" }"},{"lineNumber":54,"author":{"gitId":"-"},"content":" return getJoinStatusResult(student.isRegistered());"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" private JsonResult getInstructorJoinStatus(String regkey, boolean isCreatingAccount) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" if (isCreatingAccount) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" AccountRequestAttributes accountRequest \u003d logic.getAccountRequestForRegistrationKey(regkey);"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" AccountRequest sqlAccountRequest \u003d sqlLogic.getAccountRequestByRegistrationKey(regkey);"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" if (accountRequest \u003d\u003d null \u0026\u0026 sqlAccountRequest \u003d\u003d null) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(\"No account request with given registration key: \" + regkey);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" if (sqlAccountRequest !\u003d null) {"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" return getJoinStatusResult(sqlAccountRequest.getRegisteredAt() !\u003d null);"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" if (accountRequest !\u003d null) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" return getJoinStatusResult(accountRequest.getRegisteredAt() !\u003d null);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" InstructorAttributes instructorAttributes \u003d logic.getInstructorForRegistrationKey(regkey);"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" if (instructorAttributes !\u003d null \u0026\u0026 !isCourseMigrated(instructorAttributes.getCourseId())) {"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" return getJoinStatusResult(instructorAttributes.isRegistered());"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByRegistrationKey(regkey);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" if (instructor \u003d\u003d null) {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(\"No instructor with given registration key: \" + regkey);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":" return getJoinStatusResult(instructor.isRegistered());"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" private JsonResult getJoinStatusResult(boolean hasJoined) {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" JoinStatus result \u003d new JoinStatus(hasJoined);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" return new JsonResult(result);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":24,"-":69}},{"path":"src/main/java/teammates/ui/webapi/GetFeedbackSessionLogsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.LinkedHashMap;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackSessionLogEntry;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionLogsData;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * Action: gets the feedback session logs of feedback sessions of a course."},{"lineNumber":29,"author":{"gitId":"-"},"content":" */"},{"lineNumber":30,"author":{"gitId":"-"},"content":"public class GetFeedbackSessionLogsAction extends Action {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":32,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" if (!userInfo.isInstructor) {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Instructor privilege is required to access this resource.\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" Course course \u003d sqlLogic.getCourse(courseId);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" if (course \u003d\u003d null) {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(\"Course is not found\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.getId());"},{"lineNumber":52,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, course, Const.InstructorPermissions.CAN_MODIFY_STUDENT);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, course, Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, course, Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" CourseAttributes courseAttributes \u003d logic.getCourse(courseId);"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" if (courseAttributes \u003d\u003d null) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(\"Course is not found\");"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.getId());"},{"lineNumber":63,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, courseAttributes, Const.InstructorPermissions.CAN_MODIFY_STUDENT);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, courseAttributes, Const.InstructorPermissions.CAN_MODIFY_SESSION);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, courseAttributes, Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":70,"author":{"gitId":"-"},"content":" public JsonResult execute() {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" String fslTypes \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" List\u003cFeedbackSessionLogType\u003e convertedFslTypes \u003d new ArrayList\u003c\u003e();"},{"lineNumber":73,"author":{"gitId":"-"},"content":" if (fslTypes !\u003d null) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" // Multiple log types are separated by a comma e.g access,submission"},{"lineNumber":75,"author":{"gitId":"-"},"content":" for (String fslType : fslTypes.split(\",\")) {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" FeedbackSessionLogType convertedFslType \u003d FeedbackSessionLogType.valueOfLabel(fslType);"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" if (convertedFslType \u003d\u003d null) {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Invalid log type\");"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" convertedFslTypes.add(convertedFslType);"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" String startTimeStr \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" String endTimeStr \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" long startTime;"},{"lineNumber":89,"author":{"gitId":"-"},"content":" long endTime;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" startTime \u003d Long.parseLong(startTimeStr);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" endTime \u003d Long.parseLong(endTimeStr);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" } catch (NumberFormatException e) {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Invalid start or end time\", e);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":" // TODO: we might want to impose limits on the time range from startTime to endTime"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" if (endTime \u003c startTime) {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"The end time should be after the start time.\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" if (!isCourseMigrated(courseId)) {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" long earliestSearchTime \u003d TimeHelper.getInstantDaysOffsetBeforeNow(Const.LOGS_RETENTION_PERIOD.toDays())"},{"lineNumber":106,"author":{"gitId":"-"},"content":" .toEpochMilli();"},{"lineNumber":107,"author":{"gitId":"-"},"content":" if (startTime \u003c earliestSearchTime) {"},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" throw new InvalidHttpParameterException(\"The earliest date you can search for is \""},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":" + Const.LOGS_RETENTION_PERIOD.toDays() + \" days before today.\");"},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":" UUID studentId \u003d null;"},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" UUID feedbackSessionId \u003d null;"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":" String studentIdString \u003d getRequestParamValue(Const.ParamsNames.STUDENT_SQL_ID);"},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" String feedbackSessionIdString \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_ID);"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" if (studentIdString !\u003d null) {"},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" studentId \u003d getUuidFromString(Const.ParamsNames.STUDENT_SQL_ID, studentIdString);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" if (feedbackSessionIdString !\u003d null) {"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" feedbackSessionId \u003d getUuidFromString(Const.ParamsNames.FEEDBACK_SESSION_ID, feedbackSessionIdString);"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" if (sqlLogic.getCourse(courseId) \u003d\u003d null) {"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":" throw new EntityNotFoundException(\"Course not found\");"},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" if (studentId !\u003d null \u0026\u0026 sqlLogic.getStudent(studentId) \u003d\u003d null) {"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" throw new EntityNotFoundException(\"Student not found\");"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":" if (feedbackSessionId !\u003d null \u0026\u0026 sqlLogic.getFeedbackSession(feedbackSessionId) \u003d\u003d null) {"},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":" throw new EntityNotFoundException(\"Feedback session not found\");"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e fsLogEntries \u003d sqlLogic.getOrderedFeedbackSessionLogs(courseId, studentId,"},{"lineNumber":140,"author":{"gitId":"dishenggg"},"content":" feedbackSessionId, Instant.ofEpochMilli(startTime), Instant.ofEpochMilli(endTime));"},{"lineNumber":141,"author":{"gitId":"-"},"content":" Map\u003cString, Student\u003e studentsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":142,"author":{"gitId":"-"},"content":" Map\u003cString, FeedbackSession\u003e sessionsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":143,"author":{"gitId":"-"},"content":" List\u003cFeedbackSession\u003e feedbackSessions \u003d sqlLogic.getFeedbackSessionsForCourse(courseId);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" feedbackSessions.forEach(fs -\u003e sessionsMap.put(fs.getName(), fs));"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" fsLogEntries \u003d fsLogEntries.stream().filter(logEntry -\u003e {"},{"lineNumber":147,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType logType \u003d logEntry.getFeedbackSessionLogType();"},{"lineNumber":148,"author":{"gitId":"dishenggg"},"content":" if (logType \u003d\u003d null || fslTypes !\u003d null \u0026\u0026 !convertedFslTypes.contains(logType)) {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" // If the feedback session log type retrieved from the log is invalid"},{"lineNumber":150,"author":{"gitId":"-"},"content":" // or not the type being queried, ignore the log"},{"lineNumber":151,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"dishenggg"},"content":" if (!studentsMap.containsKey(logEntry.getStudent().getEmail())) {"},{"lineNumber":155,"author":{"gitId":"dishenggg"},"content":" Student student \u003d sqlLogic.getStudent(logEntry.getStudent().getId());"},{"lineNumber":156,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" // If the student email retrieved from the log is invalid, ignore the log"},{"lineNumber":158,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"dishenggg"},"content":" studentsMap.put(student.getEmail(), student);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":" // If the feedback session retrieved from the log is invalid, ignore the log"},{"lineNumber":163,"author":{"gitId":"dishenggg"},"content":" return sessionsMap.containsKey(logEntry.getFeedbackSession().getName());"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }).collect(Collectors.toList());"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"dishenggg"},"content":" Map\u003cString, List\u003cFeedbackSessionLog\u003e\u003e groupedEntries \u003d groupFeedbackSessionLogs(fsLogEntries);"},{"lineNumber":167,"author":{"gitId":"-"},"content":" feedbackSessions.forEach(fs -\u003e groupedEntries.putIfAbsent(fs.getName(), new ArrayList\u003c\u003e()));"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" FeedbackSessionLogsData fslData \u003d new FeedbackSessionLogsData(groupedEntries, studentsMap, sessionsMap);"},{"lineNumber":170,"author":{"gitId":"-"},"content":" return new JsonResult(fslData);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":172,"author":{"gitId":"dishenggg"},"content":" if (logic.getCourse(courseId) \u003d\u003d null) {"},{"lineNumber":173,"author":{"gitId":"dishenggg"},"content":" throw new EntityNotFoundException(\"Course not found\");"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"dishenggg"},"content":" String email \u003d getRequestParamValue(Const.ParamsNames.STUDENT_EMAIL);"},{"lineNumber":177,"author":{"gitId":"dishenggg"},"content":" if (email !\u003d null \u0026\u0026 logic.getStudentForEmail(courseId, email) \u003d\u003d null) {"},{"lineNumber":178,"author":{"gitId":"dishenggg"},"content":" throw new EntityNotFoundException(\"Student not found\");"},{"lineNumber":179,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":180,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":181,"author":{"gitId":"dishenggg"},"content":" String feedbackSessionName \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);"},{"lineNumber":182,"author":{"gitId":"dishenggg"},"content":" if (feedbackSessionName !\u003d null \u0026\u0026 logic.getFeedbackSession(feedbackSessionName, courseId) \u003d\u003d null) {"},{"lineNumber":183,"author":{"gitId":"dishenggg"},"content":" throw new EntityNotFoundException(\"Feedback session not found\");"},{"lineNumber":184,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":185,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":186,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLogEntry\u003e fsLogEntries \u003d"},{"lineNumber":187,"author":{"gitId":"dishenggg"},"content":" logsProcessor.getOrderedFeedbackSessionLogs(courseId, email, startTime, endTime, feedbackSessionName);"},{"lineNumber":188,"author":{"gitId":"-"},"content":" Map\u003cString, StudentAttributes\u003e studentsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":189,"author":{"gitId":"-"},"content":" Map\u003cString, FeedbackSessionAttributes\u003e sessionsMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":190,"author":{"gitId":"-"},"content":" List\u003cFeedbackSessionAttributes\u003e feedbackSessions \u003d logic.getFeedbackSessionsForCourse(courseId);"},{"lineNumber":191,"author":{"gitId":"-"},"content":" feedbackSessions.forEach(fs -\u003e sessionsMap.put(fs.getFeedbackSessionName(), fs));"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" fsLogEntries \u003d fsLogEntries.stream().filter(logEntry -\u003e {"},{"lineNumber":194,"author":{"gitId":"-"},"content":" String logType \u003d logEntry.getFeedbackSessionLogType();"},{"lineNumber":195,"author":{"gitId":"-"},"content":" FeedbackSessionLogType convertedLogType \u003d FeedbackSessionLogType.valueOfLabel(logType);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" if (convertedLogType \u003d\u003d null || fslTypes !\u003d null \u0026\u0026 !convertedFslTypes.contains(convertedLogType)) {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" // If the feedback session log type retrieved from the log is invalid"},{"lineNumber":198,"author":{"gitId":"-"},"content":" // or not the type being queried, ignore the log"},{"lineNumber":199,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" if (!studentsMap.containsKey(logEntry.getStudentEmail())) {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d logic.getStudentForEmail(courseId, logEntry.getStudentEmail());"},{"lineNumber":204,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" // If the student email retrieved from the log is invalid, ignore the log"},{"lineNumber":206,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":207,"author":{"gitId":"-"},"content":" }"},{"lineNumber":208,"author":{"gitId":"-"},"content":" studentsMap.put(logEntry.getStudentEmail(), student);"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":" // If the feedback session retrieved from the log is invalid, ignore the log"},{"lineNumber":211,"author":{"gitId":"-"},"content":" return sessionsMap.containsKey(logEntry.getFeedbackSessionName());"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }).collect(Collectors.toList());"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" Map\u003cString, List\u003cFeedbackSessionLogEntry\u003e\u003e groupedEntries \u003d"},{"lineNumber":215,"author":{"gitId":"-"},"content":" groupFeedbackSessionLogEntries(fsLogEntries);"},{"lineNumber":216,"author":{"gitId":"-"},"content":" feedbackSessions.forEach(fs -\u003e groupedEntries.putIfAbsent(fs.getFeedbackSessionName(), new ArrayList\u003c\u003e()));"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" FeedbackSessionLogsData fslData \u003d new FeedbackSessionLogsData(groupedEntries, studentsMap, sessionsMap);"},{"lineNumber":219,"author":{"gitId":"-"},"content":" return new JsonResult(fslData);"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":" }"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":" private Map\u003cString, List\u003cFeedbackSessionLogEntry\u003e\u003e groupFeedbackSessionLogEntries("},{"lineNumber":224,"author":{"gitId":"-"},"content":" List\u003cFeedbackSessionLogEntry\u003e fsLogEntries) {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" Map\u003cString, List\u003cFeedbackSessionLogEntry\u003e\u003e groupedEntries \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":226,"author":{"gitId":"-"},"content":" for (FeedbackSessionLogEntry fsLogEntry : fsLogEntries) {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" String fsName \u003d fsLogEntry.getFeedbackSessionName();"},{"lineNumber":228,"author":{"gitId":"-"},"content":" groupedEntries.computeIfAbsent(fsName, k -\u003e new ArrayList\u003c\u003e()).add(fsLogEntry);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":230,"author":{"gitId":"-"},"content":" return groupedEntries;"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":233,"author":{"gitId":"dishenggg"},"content":" private Map\u003cString, List\u003cFeedbackSessionLog\u003e\u003e groupFeedbackSessionLogs("},{"lineNumber":234,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e fsLogEntries) {"},{"lineNumber":235,"author":{"gitId":"dishenggg"},"content":" Map\u003cString, List\u003cFeedbackSessionLog\u003e\u003e groupedEntries \u003d new LinkedHashMap\u003c\u003e();"},{"lineNumber":236,"author":{"gitId":"dishenggg"},"content":" for (FeedbackSessionLog fsLogEntry : fsLogEntries) {"},{"lineNumber":237,"author":{"gitId":"dishenggg"},"content":" String fsName \u003d fsLogEntry.getFeedbackSession().getName();"},{"lineNumber":238,"author":{"gitId":"dishenggg"},"content":" groupedEntries.computeIfAbsent(fsName, k -\u003e new ArrayList\u003c\u003e()).add(fsLogEntry);"},{"lineNumber":239,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":240,"author":{"gitId":"dishenggg"},"content":" return groupedEntries;"},{"lineNumber":241,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":242,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":65,"-":177}},{"path":"src/main/java/teammates/ui/webapi/GetSessionResponseStatsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionStatsData;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Action: gets the response stats (submitted / total) of a feedback session."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"public class GetSessionResponseStatsAction extends Action {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":16,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":18,"author":{"gitId":"-"},"content":" }"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" if (userInfo.isAdmin) {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" String feedbackSessionName \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" FeedbackSession fs \u003d getNonNullSqlFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.getId());"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" gateKeeper.verifyAccessible(instructor, fs);"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes fsa \u003d getNonNullFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":34,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.getId());"},{"lineNumber":35,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible(instructor, fsa);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":40,"author":{"gitId":"-"},"content":" public JsonResult execute() {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" String feedbackSessionName \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" FeedbackSession fsa \u003d getNonNullSqlFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" int expectedTotal \u003d sqlLogic.getExpectedTotalSubmission(fsa);"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" int actualTotal \u003d sqlLogic.getActualTotalSubmission(fsa);"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" FeedbackSessionStatsData output \u003d new FeedbackSessionStatsData(actualTotal, expectedTotal);"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" return new JsonResult(output);"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes fsa \u003d getNonNullFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" int expectedTotal \u003d logic.getExpectedTotalSubmission(fsa);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" int actualTotal \u003d logic.getActualTotalSubmission(fsa);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" FeedbackSessionStatsData output \u003d new FeedbackSessionStatsData(actualTotal, expectedTotal);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" return new JsonResult(output);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":15,"-":44}},{"path":"src/main/java/teammates/ui/webapi/GetSessionResultsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import java.util.UUID;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackResultFetchType;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SessionResultsBundle;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.SqlSessionResultsBundle;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.StringHelper;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":16,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.ui.output.SessionResultsData;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.ui.request.Intent;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Gets feedback session results including statistics where necessary."},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":"public class GetSessionResultsAction extends BasicFeedbackSubmissionAction {"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":26,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" return AuthType.PUBLIC;"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":31,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":33,"author":{"gitId":"-"},"content":" String feedbackSessionName \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);"},{"lineNumber":34,"author":{"gitId":"-"},"content":" Intent intent \u003d Intent.valueOf(getNonNullRequestParamValue(Const.ParamsNames.INTENT));"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" boolean isPreviewResults \u003d !StringHelper.isEmpty(previewAsPerson);"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" checkSpecificAccessControlSql(courseId, feedbackSessionName, intent, isPreviewResults);"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" checkSpecificAccessControlDatastore(courseId, feedbackSessionName, intent, isPreviewResults);"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" private void checkSpecificAccessControlDatastore("},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" String courseId, String feedbackSessionName, Intent intent, boolean isPreviewResults)"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" throws UnauthorizedAccessException {"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" FeedbackSessionAttributes feedbackSession \u003d getNonNullFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" switch (intent) {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" case FULL_DETAIL:"},{"lineNumber":52,"author":{"gitId":"-"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.getId());"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" gateKeeper.verifyAccessible(instructor, feedbackSession);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" case INSTRUCTOR_RESULT:"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" if (!isPreviewResults \u0026\u0026 !feedbackSession.isPublished()) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"This feedback session is not yet published.\", true);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" instructor \u003d getInstructorOfCourseFromRequest(courseId);"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" checkAccessControlForInstructorFeedbackResult(instructor, feedbackSession);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":63,"author":{"gitId":"-"},"content":" case STUDENT_RESULT:"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" if (!isPreviewResults \u0026\u0026 !feedbackSession.isPublished()) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"This feedback session is not yet published.\", true);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d getStudentOfCourseFromRequest(courseId);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" checkAccessControlForStudentFeedbackResult(student, feedbackSession);"},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":" case INSTRUCTOR_SUBMISSION:"},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" case STUDENT_SUBMISSION:"},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" throw new InvalidHttpParameterException(\"Invalid intent for this action\");"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" default:"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" throw new InvalidHttpParameterException(\"Unknown intent \" + intent);"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" private void checkSpecificAccessControlSql("},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" String courseId, String feedbackSessionName, Intent intent, boolean isPreviewResults)"},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" throws UnauthorizedAccessException {"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d getNonNullSqlFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" switch (intent) {"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":" case FULL_DETAIL:"},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":" gateKeeper.verifyLoggedInUserPrivileges(userInfo);"},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.getId());"},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" gateKeeper.verifyAccessible(instructor, feedbackSession);"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" case INSTRUCTOR_RESULT:"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" if (!isPreviewResults \u0026\u0026 !feedbackSession.isPublished()) {"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":" throw new UnauthorizedAccessException(\"This feedback session is not yet published.\", true);"},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":" instructor \u003d getSqlInstructorOfCourseFromRequest(courseId);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" checkAccessControlForInstructorFeedbackResult(instructor, feedbackSession);"},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":" break;"},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":" case STUDENT_RESULT:"},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" if (!isPreviewResults \u0026\u0026 !feedbackSession.isPublished()) {"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" throw new UnauthorizedAccessException(\"This feedback session is not yet published.\", true);"},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":" Student student \u003d getSqlStudentOfCourseFromRequest(courseId);"},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":" checkAccessControlForStudentFeedbackResult(student, feedbackSession);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":103,"author":{"gitId":"-"},"content":" case INSTRUCTOR_SUBMISSION:"},{"lineNumber":104,"author":{"gitId":"-"},"content":" case STUDENT_SUBMISSION:"},{"lineNumber":105,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Invalid intent for this action\");"},{"lineNumber":106,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":107,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Unknown intent \" + intent);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":112,"author":{"gitId":"-"},"content":" public JsonResult execute() {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" String feedbackSessionName \u003d getNonNullRequestParamValue(Const.ParamsNames.FEEDBACK_SESSION_NAME);"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" // Allow additional filter by question ID and section name"},{"lineNumber":117,"author":{"gitId":"-"},"content":" String questionId \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_QUESTION_ID);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" String selectedSection \u003d getRequestParamValue(Const.ParamsNames.FEEDBACK_RESULTS_GROUPBYSECTION);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" FeedbackResultFetchType fetchType \u003d FeedbackResultFetchType.parseFetchType("},{"lineNumber":120,"author":{"gitId":"-"},"content":" getRequestParamValue(Const.ParamsNames.FEEDBACK_RESULTS_SECTION_BY_GIVER_RECEIVER));"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" String previewAsPerson \u003d getRequestParamValue(Const.ParamsNames.PREVIEWAS);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" boolean isPreviewResults \u003d !StringHelper.isEmpty(previewAsPerson);"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":" Intent intent \u003d Intent.valueOf(getNonNullRequestParamValue(Const.ParamsNames.INTENT));"},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":" if (questionId !\u003d null) {"},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" UUID questionUuid \u003d getUuidRequestParamValue(Const.ParamsNames.FEEDBACK_QUESTION_ID);"},{"lineNumber":130,"author":{"gitId":"mingyuanc"},"content":" return executeWithSql(courseId, feedbackSessionName, questionUuid,"},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":" selectedSection, fetchType, intent, isPreviewResults);"},{"lineNumber":132,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":133,"author":{"gitId":"xenosf"},"content":" return executeWithSql(courseId, feedbackSessionName, null, selectedSection,"},{"lineNumber":134,"author":{"gitId":"xenosf"},"content":" fetchType, intent, isPreviewResults);"},{"lineNumber":135,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":136,"author":{"gitId":"xenosf"},"content":" return executeWithDatastore(courseId, feedbackSessionName, questionId, selectedSection,"},{"lineNumber":137,"author":{"gitId":"xenosf"},"content":" fetchType, intent, isPreviewResults);"},{"lineNumber":138,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":139,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":140,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":141,"author":{"gitId":"xenosf"},"content":" private JsonResult executeWithDatastore("},{"lineNumber":142,"author":{"gitId":"xenosf"},"content":" String courseId, String feedbackSessionName, String questionId, String selectedSection,"},{"lineNumber":143,"author":{"gitId":"xenosf"},"content":" FeedbackResultFetchType fetchType, Intent intent, boolean isPreviewResults) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" InstructorAttributes instructor;"},{"lineNumber":145,"author":{"gitId":"-"},"content":" StudentAttributes student;"},{"lineNumber":146,"author":{"gitId":"xenosf"},"content":" SessionResultsBundle bundle;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" switch (intent) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" case FULL_DETAIL:"},{"lineNumber":149,"author":{"gitId":"-"},"content":" instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.id);"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" bundle \u003d logic.getSessionResultsForCourse(feedbackSessionName, courseId, instructor.getEmail(),"},{"lineNumber":152,"author":{"gitId":"-"},"content":" questionId, selectedSection, fetchType);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" return new JsonResult(SessionResultsData.initForInstructor(bundle));"},{"lineNumber":154,"author":{"gitId":"-"},"content":" case INSTRUCTOR_RESULT:"},{"lineNumber":155,"author":{"gitId":"-"},"content":" // Section name filter is not applicable here"},{"lineNumber":156,"author":{"gitId":"-"},"content":" instructor \u003d getInstructorOfCourseFromRequest(courseId);"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" bundle \u003d logic.getSessionResultsForUser(feedbackSessionName, courseId, instructor.getEmail(),"},{"lineNumber":159,"author":{"gitId":"-"},"content":" true, questionId, isPreviewResults);"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" // Build a fake student object, as the results will be displayed as if they are displayed to a student"},{"lineNumber":162,"author":{"gitId":"-"},"content":" student \u003d StudentAttributes.builder(instructor.getCourseId(), instructor.getEmail())"},{"lineNumber":163,"author":{"gitId":"-"},"content":" .withTeamName(Const.USER_TEAM_FOR_INSTRUCTOR)"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" return new JsonResult(SessionResultsData.initForStudent(bundle, student));"},{"lineNumber":167,"author":{"gitId":"-"},"content":" case STUDENT_RESULT:"},{"lineNumber":168,"author":{"gitId":"-"},"content":" // Section name filter is not applicable here"},{"lineNumber":169,"author":{"gitId":"-"},"content":" student \u003d getStudentOfCourseFromRequest(courseId);"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" bundle \u003d logic.getSessionResultsForUser(feedbackSessionName, courseId, student.getEmail(),"},{"lineNumber":172,"author":{"gitId":"-"},"content":" false, questionId, isPreviewResults);"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" return new JsonResult(SessionResultsData.initForStudent(bundle, student));"},{"lineNumber":175,"author":{"gitId":"-"},"content":" case INSTRUCTOR_SUBMISSION:"},{"lineNumber":176,"author":{"gitId":"-"},"content":" case STUDENT_SUBMISSION:"},{"lineNumber":177,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Invalid intent for this action\");"},{"lineNumber":178,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":179,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Unknown intent \" + intent);"},{"lineNumber":180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"xenosf"},"content":" private JsonResult executeWithSql("},{"lineNumber":184,"author":{"gitId":"xenosf"},"content":" String courseId, String feedbackSessionName, UUID questionUuid, String selectedSection,"},{"lineNumber":185,"author":{"gitId":"xenosf"},"content":" FeedbackResultFetchType fetchType, Intent intent, boolean isPreviewResults) {"},{"lineNumber":186,"author":{"gitId":"xenosf"},"content":" Instructor instructor;"},{"lineNumber":187,"author":{"gitId":"xenosf"},"content":" Student student;"},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":" FeedbackSession feedbackSession \u003d getNonNullSqlFeedbackSession(feedbackSessionName, courseId);"},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":" SqlSessionResultsBundle bundle;"},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" switch (intent) {"},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" case FULL_DETAIL:"},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":" instructor \u003d getSqlInstructorOfCourseFromRequest(courseId);"},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":194,"author":{"gitId":"xenosf"},"content":" bundle \u003d sqlLogic.getSessionResultsForCourse(feedbackSession, courseId, instructor.getEmail(),"},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":" questionUuid, selectedSection, fetchType);"},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":" return new JsonResult(SessionResultsData.initForInstructor(bundle));"},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":" case INSTRUCTOR_RESULT:"},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":" // Section name filter is not applicable here"},{"lineNumber":199,"author":{"gitId":"mingyuanc"},"content":" instructor \u003d getSqlInstructorOfCourseFromRequest(courseId);"},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":" bundle \u003d sqlLogic.getSessionResultsForUser(feedbackSession, courseId, instructor.getEmail(),"},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" true, questionUuid, isPreviewResults);"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":204,"author":{"gitId":"xenosf"},"content":" // Build a fake student object, as the results will be displayed as if they are displayed to a student"},{"lineNumber":205,"author":{"gitId":"xenosf"},"content":" student \u003d new Student(instructor.getCourse(), instructor.getName(), instructor.getEmail(), \"\");"},{"lineNumber":206,"author":{"gitId":"mingyuanc"},"content":" student.setTeam(new Team(null, Const.USER_TEAM_FOR_INSTRUCTOR));"},{"lineNumber":207,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":208,"author":{"gitId":"xenosf"},"content":" return new JsonResult(SessionResultsData.initForStudent(bundle, student));"},{"lineNumber":209,"author":{"gitId":"xenosf"},"content":" case STUDENT_RESULT:"},{"lineNumber":210,"author":{"gitId":"xenosf"},"content":" // Section name filter is not applicable here"},{"lineNumber":211,"author":{"gitId":"xenosf"},"content":" student \u003d getSqlStudentOfCourseFromRequest(courseId);"},{"lineNumber":212,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" bundle \u003d sqlLogic.getSessionResultsForUser(feedbackSession, courseId, student.getEmail(),"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" false, questionUuid, isPreviewResults);"},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" return new JsonResult(SessionResultsData.initForStudent(bundle, student));"},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":" case INSTRUCTOR_SUBMISSION:"},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":" case STUDENT_SUBMISSION:"},{"lineNumber":219,"author":{"gitId":"xenosf"},"content":" throw new InvalidHttpParameterException(\"Invalid intent for this action\");"},{"lineNumber":220,"author":{"gitId":"xenosf"},"content":" default:"},{"lineNumber":221,"author":{"gitId":"xenosf"},"content":" throw new InvalidHttpParameterException(\"Unknown intent \" + intent);"},{"lineNumber":222,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":223,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":224,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":114,"mingyuanc":4,"-":107}},{"path":"src/main/java/teammates/ui/webapi/InstructorSearchIndexingWorkerAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.util.Const.ParamsNames;"},{"lineNumber":8,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Task queue worker action: performs instructor search indexing."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class InstructorSearchIndexingWorkerAction extends AdminOnlyAction {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":16,"author":{"gitId":"-"},"content":" public ActionResult execute() {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(ParamsNames.COURSE_ID);"},{"lineNumber":18,"author":{"gitId":"-"},"content":" String email \u003d getNonNullRequestParamValue(ParamsNames.INSTRUCTOR_EMAIL);"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"mingyuanc"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":21,"author":{"gitId":"mingyuanc"},"content":" return executeWithSql(courseId, email);"},{"lineNumber":22,"author":{"gitId":"mingyuanc"},"content":" } else {"},{"lineNumber":23,"author":{"gitId":"mingyuanc"},"content":" return executeWithDataStore(courseId, email);"},{"lineNumber":24,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":25,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":26,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":27,"author":{"gitId":"mingyuanc"},"content":" private JsonResult executeWithSql(String courseId, String email) {"},{"lineNumber":28,"author":{"gitId":"mingyuanc"},"content":" Instructor instructor \u003d sqlLogic.getInstructorForEmail(courseId, email);"},{"lineNumber":29,"author":{"gitId":"mingyuanc"},"content":" try {"},{"lineNumber":30,"author":{"gitId":"mingyuanc"},"content":" sqlLogic.putInstructorDocument(instructor);"},{"lineNumber":31,"author":{"gitId":"mingyuanc"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":32,"author":{"gitId":"mingyuanc"},"content":" // Set an arbitrary retry code outside the range 200-299 to trigger automatic retry"},{"lineNumber":33,"author":{"gitId":"mingyuanc"},"content":" return new JsonResult(\"Failure\", HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":34,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":35,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":" return new JsonResult(\"Successful\");"},{"lineNumber":37,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":39,"author":{"gitId":"mingyuanc"},"content":" private JsonResult executeWithDataStore(String courseId, String email) {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForEmail(courseId, email);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" logic.putInstructorDocument(instructor);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" // Set an arbitrary retry code outside of the range 200-299 to trigger automatic retry"},{"lineNumber":45,"author":{"gitId":"-"},"content":" return new JsonResult(\"Failure\", HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" return new JsonResult(\"Successful\");"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"mingyuanc":21,"-":29}},{"path":"src/main/java/teammates/ui/webapi/JoinCourseAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"yuanxi1"},"content":"import java.util.Optional;"},{"lineNumber":4,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":16,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":17,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Action: joins a course for a student/instructor."},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"yuanxi1"},"content":"public class JoinCourseAction extends Action {"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" // Any user can use a join link as long as its parameters are valid"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"-"},"content":" public JsonResult execute() throws InvalidOperationException {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" String regKey \u003d getNonNullRequestParamValue(Const.ParamsNames.REGKEY);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" String entityType \u003d getNonNullRequestParamValue(Const.ParamsNames.ENTITY_TYPE);"},{"lineNumber":41,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":" String courseId \u003d getCourseId(regKey, entityType);"},{"lineNumber":43,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":44,"author":{"gitId":"yuanxi1"},"content":" // courseId is null when the registration key does not exist, this case is handled in the AccountsLogic."},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":" // Hence default to not migrated. Getting the courseId in the action layer is not needed once migration is done."},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":" if (courseId \u003d\u003d null || !isCourseMigrated(courseId)) {"},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":" switch (entityType) {"},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" case Const.EntityType.STUDENT:"},{"lineNumber":49,"author":{"gitId":"yuanxi1"},"content":" return joinCourseForStudentDatastore(regKey);"},{"lineNumber":50,"author":{"gitId":"yuanxi1"},"content":" case Const.EntityType.INSTRUCTOR:"},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":" return joinCourseForInstructorDatastore(regKey);"},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":" default:"},{"lineNumber":53,"author":{"gitId":"yuanxi1"},"content":" throw new InvalidHttpParameterException(\"Error: invalid entity type\");"},{"lineNumber":54,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":55,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":56,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" switch (entityType) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" case Const.EntityType.STUDENT:"},{"lineNumber":59,"author":{"gitId":"-"},"content":" return joinCourseForStudent(regKey);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" case Const.EntityType.INSTRUCTOR:"},{"lineNumber":61,"author":{"gitId":"-"},"content":" return joinCourseForInstructor(regKey);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":63,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Error: invalid entity type\");"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" private JsonResult joinCourseForStudent(String regkey) throws InvalidOperationException {"},{"lineNumber":68,"author":{"gitId":"yuanxi1"},"content":" Student student;"},{"lineNumber":69,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":70,"author":{"gitId":"yuanxi1"},"content":" try {"},{"lineNumber":71,"author":{"gitId":"yuanxi1"},"content":" student \u003d sqlLogic.joinCourseForStudent(regkey, userInfo.id);"},{"lineNumber":72,"author":{"gitId":"yuanxi1"},"content":" } catch (EntityDoesNotExistException ednee) {"},{"lineNumber":73,"author":{"gitId":"yuanxi1"},"content":" throw new EntityNotFoundException(ednee);"},{"lineNumber":74,"author":{"gitId":"yuanxi1"},"content":" } catch (EntityAlreadyExistsException eaee) {"},{"lineNumber":75,"author":{"gitId":"yuanxi1"},"content":" throw new InvalidOperationException(eaee);"},{"lineNumber":76,"author":{"gitId":"yuanxi1"},"content":" } catch (InvalidParametersException ipe) {"},{"lineNumber":77,"author":{"gitId":"yuanxi1"},"content":" // There should not be any invalid parameter here"},{"lineNumber":78,"author":{"gitId":"yuanxi1"},"content":" log.severe(\"Unexpected error\", ipe);"},{"lineNumber":79,"author":{"gitId":"yuanxi1"},"content":" return new JsonResult(ipe.getMessage(), HttpStatus.SC_INTERNAL_SERVER_ERROR);"},{"lineNumber":80,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":81,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":82,"author":{"gitId":"yuanxi1"},"content":" sendJoinEmail(student.getCourseId(), student.getName(), student.getEmail(), false);"},{"lineNumber":83,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":84,"author":{"gitId":"yuanxi1"},"content":" return new JsonResult(\"Student successfully joined course\");"},{"lineNumber":85,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":86,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":87,"author":{"gitId":"yuanxi1"},"content":" private JsonResult joinCourseForInstructor(String regkey) throws InvalidOperationException {"},{"lineNumber":88,"author":{"gitId":"yuanxi1"},"content":" Instructor instructor;"},{"lineNumber":89,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":90,"author":{"gitId":"yuanxi1"},"content":" try {"},{"lineNumber":91,"author":{"gitId":"yuanxi1"},"content":" instructor \u003d sqlLogic.joinCourseForInstructor(regkey, userInfo.id);"},{"lineNumber":92,"author":{"gitId":"yuanxi1"},"content":" } catch (EntityDoesNotExistException ednee) {"},{"lineNumber":93,"author":{"gitId":"yuanxi1"},"content":" throw new EntityNotFoundException(ednee);"},{"lineNumber":94,"author":{"gitId":"yuanxi1"},"content":" } catch (EntityAlreadyExistsException eaee) {"},{"lineNumber":95,"author":{"gitId":"yuanxi1"},"content":" throw new InvalidOperationException(eaee);"},{"lineNumber":96,"author":{"gitId":"yuanxi1"},"content":" } catch (InvalidParametersException ipe) {"},{"lineNumber":97,"author":{"gitId":"yuanxi1"},"content":" // There should not be any invalid parameter here"},{"lineNumber":98,"author":{"gitId":"yuanxi1"},"content":" log.severe(\"Unexpected error\", ipe);"},{"lineNumber":99,"author":{"gitId":"yuanxi1"},"content":" return new JsonResult(ipe.getMessage(), HttpStatus.SC_INTERNAL_SERVER_ERROR);"},{"lineNumber":100,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":101,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":102,"author":{"gitId":"yuanxi1"},"content":" sendJoinEmail(instructor.getCourseId(), instructor.getName(), instructor.getEmail(), true);"},{"lineNumber":103,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":104,"author":{"gitId":"yuanxi1"},"content":" return new JsonResult(\"Instructor successfully joined course\");"},{"lineNumber":105,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":106,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":107,"author":{"gitId":"yuanxi1"},"content":" private JsonResult joinCourseForStudentDatastore(String regkey) throws InvalidOperationException {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" StudentAttributes student;"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" student \u003d logic.joinCourseForStudent(regkey, userInfo.id);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" } catch (EntityDoesNotExistException ednee) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(ednee);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" } catch (EntityAlreadyExistsException eaee) {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(eaee);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException ipe) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" // There should not be any invalid parameter here"},{"lineNumber":118,"author":{"gitId":"-"},"content":" log.severe(\"Unexpected error\", ipe);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" return new JsonResult(ipe.getMessage(), HttpStatus.SC_INTERNAL_SERVER_ERROR);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"yuanxi1"},"content":" sendJoinEmailDatastore(student.getCourse(), student.getName(), student.getEmail(), false);"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" return new JsonResult(\"Student successfully joined course\");"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"yuanxi1"},"content":" private JsonResult joinCourseForInstructorDatastore(String regkey) throws InvalidOperationException {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" InstructorAttributes instructor;"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" instructor \u003d logic.joinCourseForInstructor(regkey, userInfo.id);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" } catch (EntityDoesNotExistException ednee) {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(ednee);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" } catch (EntityAlreadyExistsException eaee) {"},{"lineNumber":135,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(eaee);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException ipe) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" // There should not be any invalid parameter here"},{"lineNumber":138,"author":{"gitId":"-"},"content":" log.severe(\"Unexpected error\", ipe);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" return new JsonResult(ipe.getMessage(), HttpStatus.SC_INTERNAL_SERVER_ERROR);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"yuanxi1"},"content":" sendJoinEmailDatastore(instructor.getCourseId(), instructor.getName(), instructor.getEmail(), true);"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" return new JsonResult(\"Instructor successfully joined course\");"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"yuanxi1"},"content":" private void sendJoinEmailDatastore(String courseId, String userName, String userEmail, boolean isInstructor) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" CourseAttributes course \u003d logic.getCourse(courseId);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d emailGenerator.generateUserCourseRegisteredEmail("},{"lineNumber":150,"author":{"gitId":"-"},"content":" userName, userEmail, userInfo.id, isInstructor, course);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" emailSender.sendEmail(email);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"yuanxi1"},"content":" private void sendJoinEmail(String courseId, String userName, String userEmail, boolean isInstructor) {"},{"lineNumber":155,"author":{"gitId":"yuanxi1"},"content":" Course course \u003d sqlLogic.getCourse(courseId);"},{"lineNumber":156,"author":{"gitId":"yuanxi1"},"content":" EmailWrapper email \u003d sqlEmailGenerator.generateUserCourseRegisteredEmail("},{"lineNumber":157,"author":{"gitId":"yuanxi1"},"content":" userName, userEmail, userInfo.id, isInstructor, course);"},{"lineNumber":158,"author":{"gitId":"yuanxi1"},"content":" emailSender.sendEmail(email);"},{"lineNumber":159,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":160,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":161,"author":{"gitId":"yuanxi1"},"content":" private String getCourseId(String regKey, String entityType) {"},{"lineNumber":162,"author":{"gitId":"yuanxi1"},"content":" String courseIdSql;"},{"lineNumber":163,"author":{"gitId":"yuanxi1"},"content":" String courseIdDatastore;"},{"lineNumber":164,"author":{"gitId":"yuanxi1"},"content":" switch (entityType) {"},{"lineNumber":165,"author":{"gitId":"yuanxi1"},"content":" case Const.EntityType.STUDENT:"},{"lineNumber":166,"author":{"gitId":"yuanxi1"},"content":" courseIdSql \u003d Optional.ofNullable(sqlLogic.getStudentByRegistrationKey(regKey))"},{"lineNumber":167,"author":{"gitId":"yuanxi1"},"content":" .map(Student::getCourseId)"},{"lineNumber":168,"author":{"gitId":"yuanxi1"},"content":" .orElse(null);"},{"lineNumber":169,"author":{"gitId":"yuanxi1"},"content":" courseIdDatastore \u003d Optional.ofNullable(logic.getStudentForRegistrationKey(regKey))"},{"lineNumber":170,"author":{"gitId":"yuanxi1"},"content":" .map(StudentAttributes::getCourse)"},{"lineNumber":171,"author":{"gitId":"yuanxi1"},"content":" .orElse(null);"},{"lineNumber":172,"author":{"gitId":"yuanxi1"},"content":" break;"},{"lineNumber":173,"author":{"gitId":"yuanxi1"},"content":" case Const.EntityType.INSTRUCTOR:"},{"lineNumber":174,"author":{"gitId":"yuanxi1"},"content":" courseIdSql \u003d Optional.ofNullable(sqlLogic.getInstructorByRegistrationKey(regKey))"},{"lineNumber":175,"author":{"gitId":"yuanxi1"},"content":" .map(Instructor::getCourseId)"},{"lineNumber":176,"author":{"gitId":"yuanxi1"},"content":" .orElse(null);"},{"lineNumber":177,"author":{"gitId":"yuanxi1"},"content":" courseIdDatastore \u003d Optional.ofNullable(logic.getInstructorForRegistrationKey(regKey))"},{"lineNumber":178,"author":{"gitId":"yuanxi1"},"content":" .map(InstructorAttributes::getCourseId)"},{"lineNumber":179,"author":{"gitId":"yuanxi1"},"content":" .orElse(null);"},{"lineNumber":180,"author":{"gitId":"yuanxi1"},"content":" break;"},{"lineNumber":181,"author":{"gitId":"yuanxi1"},"content":" default:"},{"lineNumber":182,"author":{"gitId":"yuanxi1"},"content":" throw new InvalidHttpParameterException(\"Error: invalid entity type\");"},{"lineNumber":183,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":184,"author":{"gitId":"yuanxi1"},"content":" return courseIdDatastore !\u003d null ? courseIdDatastore : courseIdSql;"},{"lineNumber":185,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":98,"-":88}},{"path":"src/main/java/teammates/ui/webapi/PutDataBundleDocumentsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.DataBundle;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Puts searchable documents from the data bundle into the DB."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"public class PutDataBundleDocumentsAction extends Action {"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":18,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" return AuthType.ALL_ACCESS;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" }"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":23,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" if (!Config.IS_DEV_SERVER) {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Admin privilege is required to access this resource.\");"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" public JsonResult execute() throws InvalidHttpRequestBodyException {"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" String type \u003d getNonNullRequestParamValue(\"databundletype\");"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" switch (type) {"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" case \"sql\":"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" return putSqlDataBundleDocuments();"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" case \"datastore\":"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" return putDataBundleDocuments();"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" default:"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" throw new InvalidHttpParameterException(\"Error: invalid data bundle type\");"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" private JsonResult putSqlDataBundleDocuments() throws InvalidHttpRequestBodyException {"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" SqlDataBundle sqlDataBundle \u003d JsonUtils.fromJson(getRequestBody(), SqlDataBundle.class);"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" try {"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" sqlLogic.putDocuments(sqlDataBundle);"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" return new JsonResult(\"Failed to add data bundle documents.\", HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" return new JsonResult(\"Data bundle documents successfully added.\");"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" private JsonResult putDataBundleDocuments() throws InvalidHttpRequestBodyException {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" DataBundle dataBundle \u003d JsonUtils.fromJson(getRequestBody(), DataBundle.class);"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" logic.putDocuments(dataBundle);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return new JsonResult(\"Failed to add data bundle documents.\", HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":" return new JsonResult(\"Data bundle documents successfully added.\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" }"},{"lineNumber":64,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":29,"-":35}},{"path":"src/main/java/teammates/ui/webapi/RejectAccountRequestAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import java.util.UUID;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":"import teammates.ui.output.AccountRequestData;"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":"import teammates.ui.request.AccountRequestRejectionRequest;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":" * Rejects an account request."},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"public class RejectAccountRequestAction extends AdminOnlyAction {"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" public boolean isTransactionNeeded() {"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" return false;"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" @Override"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" public JsonResult execute() throws InvalidOperationException, InvalidHttpRequestBodyException {"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" String id \u003d getNonNullRequestParamValue(Const.ParamsNames.ACCOUNT_REQUEST_ID);"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" UUID accountRequestId \u003d getUuidFromString(Const.ParamsNames.ACCOUNT_REQUEST_ID, id);"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d sqlLogic.getAccountRequestWithTransaction(accountRequestId);"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" if (accountRequest \u003d\u003d null) {"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" String errorMessage \u003d String.format(Const.ACCOUNT_REQUEST_NOT_FOUND, accountRequestId.toString());"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" throw new EntityNotFoundException(errorMessage);"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" AccountRequestRejectionRequest accountRequestRejectionRequest \u003d"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" getAndValidateRequestBody(AccountRequestRejectionRequest.class);"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" AccountRequestStatus initialStatus \u003d accountRequest.getStatus();"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" try {"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" accountRequest.setStatus(AccountRequestStatus.REJECTED);"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d sqlLogic.updateAccountRequestWithTransaction(accountRequest);"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" if (accountRequestRejectionRequest.checkHasReason()"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" \u0026\u0026 initialStatus !\u003d AccountRequestStatus.REJECTED) {"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" EmailWrapper email \u003d sqlEmailGenerator.generateAccountRequestRejectionEmail(accountRequest,"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" accountRequestRejectionRequest.getReasonTitle(), accountRequestRejectionRequest.getReasonBody());"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" emailSender.sendEmail(email);"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" taskQueuer.scheduleAccountRequestForSearchIndexing(accountRequest.getId().toString());"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" } catch (EntityDoesNotExistException e) {"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" throw new EntityNotFoundException(e);"},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" return new JsonResult(new AccountRequestData(accountRequest));"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"domoberzin":9,"xenosf":50}},{"path":"src/main/java/teammates/ui/webapi/ResetAccountRequestAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.Logger;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.ui.output.JoinLinkData;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Action: resets an account request."},{"lineNumber":17,"author":{"gitId":"-"},"content":" */"},{"lineNumber":18,"author":{"gitId":"-"},"content":"class ResetAccountRequestAction extends AdminOnlyAction {"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" private static final Logger log \u003d Logger.getLogger();"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":23,"author":{"gitId":"-"},"content":" public JsonResult execute() throws InvalidOperationException {"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":" UUID id \u003d getUuidRequestParamValue(Const.ParamsNames.ACCOUNT_REQUEST_ID);"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" AccountRequest accountRequest \u003d sqlLogic.getAccountRequest(id);"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" if (accountRequest \u003d\u003d null) {"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" throw new EntityNotFoundException(\"Account request with id: \" + id.toString() + \" does not exist.\");"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":" if (accountRequest.getRegisteredAt() \u003d\u003d null) {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(\"Unable to reset account request as instructor is still unregistered.\");"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" accountRequest \u003d sqlLogic.resetAccountRequest(id);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException | EntityDoesNotExistException ue) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" // InvalidParametersException and EntityDoesNotExistException should not be thrown as"},{"lineNumber":39,"author":{"gitId":"-"},"content":" // validity of params has been verified when fetching entity."},{"lineNumber":40,"author":{"gitId":"-"},"content":" log.severe(\"Unexpected error\", ue);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" return new JsonResult(ue.getMessage(), HttpStatus.SC_INTERNAL_SERVER_ERROR);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" String joinLink \u003d accountRequest.getRegistrationUrl();"},{"lineNumber":45,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d emailGenerator.generateNewInstructorAccountJoinEmail("},{"lineNumber":46,"author":{"gitId":"-"},"content":" accountRequest.getEmail(), accountRequest.getName(), joinLink);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" emailSender.sendEmail(email);"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" JoinLinkData output \u003d new JoinLinkData(joinLink);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" return new JsonResult(output);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":6,"-":47}},{"path":"src/main/java/teammates/ui/webapi/SearchAccountRequestsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountRequestAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.ui.output.AccountRequestData;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.ui.output.AccountRequestsData;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Searches for account requests."},{"lineNumber":15,"author":{"gitId":"-"},"content":" */"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"public class SearchAccountRequestsAction extends AdminOnlyAction {"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":19,"author":{"gitId":"-"},"content":" public JsonResult execute() {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" String searchKey \u003d getNonNullRequestParamValue(Const.ParamsNames.SEARCH_KEY);"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" List\u003cAccountRequest\u003e accountRequests;"},{"lineNumber":23,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" accountRequests \u003d sqlLogic.searchAccountRequestsInWholeSystem(searchKey);"},{"lineNumber":25,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" return new JsonResult(e.getMessage(), e.getStatusCode());"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" List\u003cAccountRequestAttributes\u003e requestsDatastore;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" requestsDatastore \u003d logic.searchAccountRequestsInWholeSystem(searchKey);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" return new JsonResult(e.getMessage(), e.getStatusCode());"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" List\u003cAccountRequestData\u003e accountRequestDataList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" for (AccountRequest accountRequest : accountRequests) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" AccountRequestData accountRequestData \u003d new AccountRequestData(accountRequest);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" accountRequestDataList.add(accountRequestData);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" for (AccountRequestAttributes request : requestsDatastore) {"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" if (accountRequestDataList.stream().noneMatch(data -\u003e data.getEmail().equals(request.getEmail()))) {"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" AccountRequestData accountRequestData \u003d new AccountRequestData(request);"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" accountRequestDataList.add(accountRequestData);"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" AccountRequestsData accountRequestsData \u003d new AccountRequestsData();"},{"lineNumber":50,"author":{"gitId":"-"},"content":" accountRequestsData.setAccountRequests(accountRequestDataList);"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" return new JsonResult(accountRequestsData);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" }"},{"lineNumber":54,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":17,"-":37}},{"path":"src/main/java/teammates/ui/webapi/SearchInstructorsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorData;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorsData;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Searches for instructors."},{"lineNumber":15,"author":{"gitId":"-"},"content":" */"},{"lineNumber":16,"author":{"gitId":"-"},"content":"public class SearchInstructorsAction extends AdminOnlyAction {"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":19,"author":{"gitId":"-"},"content":" public JsonResult execute() {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" // Search for sql db"},{"lineNumber":21,"author":{"gitId":"-"},"content":" String searchKey \u003d getNonNullRequestParamValue(Const.ParamsNames.SEARCH_KEY);"},{"lineNumber":22,"author":{"gitId":"-"},"content":" List\u003cInstructor\u003e instructors;"},{"lineNumber":23,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" instructors \u003d sqlLogic.searchInstructorsInWholeSystem(searchKey);"},{"lineNumber":25,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" return new JsonResult(e.getMessage(), e.getStatusCode());"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" // Search for datastore"},{"lineNumber":30,"author":{"gitId":"-"},"content":" List\u003cInstructorAttributes\u003e instructorsDatastore;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" instructorsDatastore \u003d logic.searchInstructorsInWholeSystem(searchKey);"},{"lineNumber":33,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" return new JsonResult(e.getMessage(), e.getStatusCode());"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" List\u003cInstructorData\u003e instructorDataList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" // Add instructors from sql db"},{"lineNumber":40,"author":{"gitId":"-"},"content":" for (Instructor instructor : instructors) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" InstructorData instructorData \u003d new InstructorData(instructor);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" instructorData.addAdditionalInformationForAdminSearch("},{"lineNumber":43,"author":{"gitId":"-"},"content":" instructor.getRegKey(),"},{"lineNumber":44,"author":{"gitId":"-"},"content":" sqlLogic.getCourse(instructor.getCourseId()).getInstitute(),"},{"lineNumber":45,"author":{"gitId":"-"},"content":" instructor.getGoogleId());"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" instructorDataList.add(instructorData);"},{"lineNumber":48,"author":{"gitId":"-"},"content":" }"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" // Add instructors from datastore"},{"lineNumber":51,"author":{"gitId":"-"},"content":" for (InstructorAttributes instructor : instructorsDatastore) {"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" InstructorData instructorData \u003d new InstructorData(instructor);"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" if (isCourseMigrated(instructorData.getCourseId())) {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" instructorData.addAdditionalInformationForAdminSearch("},{"lineNumber":60,"author":{"gitId":"-"},"content":" instructor.getKey(),"},{"lineNumber":61,"author":{"gitId":"-"},"content":" logic.getCourseInstitute(instructor.getCourseId()),"},{"lineNumber":62,"author":{"gitId":"-"},"content":" instructor.getGoogleId());"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" instructorDataList.add(instructorData);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" InstructorsData instructorsData \u003d new InstructorsData();"},{"lineNumber":68,"author":{"gitId":"-"},"content":" instructorsData.setInstructors(instructorDataList);"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" return new JsonResult(instructorsData);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":1,"-":71}},{"path":"src/main/java/teammates/ui/webapi/SearchStudentsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":10,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":11,"author":{"gitId":"yuanxi1"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentData;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentsData;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Action for searching for students."},{"lineNumber":17,"author":{"gitId":"-"},"content":" */"},{"lineNumber":18,"author":{"gitId":"yuanxi1"},"content":"public class SearchStudentsAction extends Action {"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":23,"author":{"gitId":"-"},"content":" }"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":26,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" // Only instructors and admins can search for student"},{"lineNumber":28,"author":{"gitId":"-"},"content":" if (!userInfo.isInstructor \u0026\u0026 !userInfo.isAdmin) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Instructor or Admin privilege is required to access this resource.\");"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":" }"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"-"},"content":" public JsonResult execute() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" String searchKey \u003d getNonNullRequestParamValue(Const.ParamsNames.SEARCH_KEY);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" String entity \u003d getNonNullRequestParamValue(Const.ParamsNames.ENTITY_TYPE);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"yuanxi1"},"content":" List\u003cStudent\u003e students;"},{"lineNumber":39,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":40,"author":{"gitId":"yuanxi1"},"content":" try {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" if (userInfo.isInstructor \u0026\u0026 Const.EntityType.INSTRUCTOR.equals(entity)) {"},{"lineNumber":42,"author":{"gitId":"yuanxi1"},"content":" List\u003cInstructor\u003e instructors \u003d sqlLogic.getInstructorsForGoogleId(userInfo.id);"},{"lineNumber":43,"author":{"gitId":"yuanxi1"},"content":" students \u003d sqlLogic.searchStudents(searchKey, instructors);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" } else if (userInfo.isAdmin \u0026\u0026 Const.EntityType.ADMIN.equals(entity)) {"},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":" students \u003d sqlLogic.searchStudentsInWholeSystem(searchKey);"},{"lineNumber":46,"author":{"gitId":"yuanxi1"},"content":" } else {"},{"lineNumber":47,"author":{"gitId":"yuanxi1"},"content":" throw new InvalidHttpParameterException(\"Invalid entity type for search\");"},{"lineNumber":48,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":49,"author":{"gitId":"yuanxi1"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":50,"author":{"gitId":"yuanxi1"},"content":" return new JsonResult(e.getMessage(), e.getStatusCode());"},{"lineNumber":51,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":52,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":53,"author":{"gitId":"yuanxi1"},"content":" // Search in datastore. For more information on dual db support, see this [PR](https://github.com/TEAMMATES/teammates/pull/12728/files)"},{"lineNumber":54,"author":{"gitId":"yuanxi1"},"content":" List\u003cStudentAttributes\u003e studentsDatastore;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" if (userInfo.isInstructor \u0026\u0026 Const.EntityType.INSTRUCTOR.equals(entity)) {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" List\u003cInstructorAttributes\u003e instructors \u003d logic.getInstructorsForGoogleId(userInfo.id);"},{"lineNumber":58,"author":{"gitId":"yuanxi1"},"content":" studentsDatastore \u003d logic.searchStudents(searchKey, instructors);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" } else if (userInfo.isAdmin \u0026\u0026 Const.EntityType.ADMIN.equals(entity)) {"},{"lineNumber":60,"author":{"gitId":"yuanxi1"},"content":" studentsDatastore \u003d logic.searchStudentsInWholeSystem(searchKey);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" throw new InvalidHttpParameterException(\"Invalid entity type for search\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" }"},{"lineNumber":64,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return new JsonResult(e.getMessage(), e.getStatusCode());"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" List\u003cStudentData\u003e studentDataList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":69,"author":{"gitId":"yuanxi1"},"content":" // Add students from sql database"},{"lineNumber":70,"author":{"gitId":"yuanxi1"},"content":" for (Student s : students) {"},{"lineNumber":71,"author":{"gitId":"yuanxi1"},"content":" StudentData studentData \u003d new StudentData(s);"},{"lineNumber":72,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" if (userInfo.isAdmin \u0026\u0026 Const.EntityType.ADMIN.equals(entity)) {"},{"lineNumber":74,"author":{"gitId":"yuanxi1"},"content":" studentData.addAdditionalInformationForAdminSearch("},{"lineNumber":75,"author":{"gitId":"yuanxi1"},"content":" s.getRegKey(),"},{"lineNumber":76,"author":{"gitId":"yuanxi1"},"content":" sqlLogic.getCourseInstitute(s.getCourseId()),"},{"lineNumber":77,"author":{"gitId":"yuanxi1"},"content":" s.getGoogleId()"},{"lineNumber":78,"author":{"gitId":"yuanxi1"},"content":" );"},{"lineNumber":79,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":80,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":81,"author":{"gitId":"yuanxi1"},"content":" studentDataList.add(studentData);"},{"lineNumber":82,"author":{"gitId":"yuanxi1"},"content":" }"},{"lineNumber":83,"author":{"gitId":"yuanxi1"},"content":" // Add students from datastore"},{"lineNumber":84,"author":{"gitId":"yuanxi1"},"content":" for (StudentAttributes s : studentsDatastore) {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" StudentData studentData \u003d new StudentData(s);"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" if (isCourseMigrated(studentData.getCourseId())) {"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" continue;"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" if (userInfo.isAdmin \u0026\u0026 Const.EntityType.ADMIN.equals(entity)) {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" studentData.addAdditionalInformationForAdminSearch("},{"lineNumber":93,"author":{"gitId":"-"},"content":" s.getKey(),"},{"lineNumber":94,"author":{"gitId":"-"},"content":" logic.getCourseInstitute(s.getCourse()),"},{"lineNumber":95,"author":{"gitId":"-"},"content":" s.getGoogleId()"},{"lineNumber":96,"author":{"gitId":"-"},"content":" );"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" studentDataList.add(studentData);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":" StudentsData studentsData \u003d new StudentsData();"},{"lineNumber":102,"author":{"gitId":"-"},"content":" studentsData.setStudents(studentDataList);"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" return new JsonResult(studentsData);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":4,"yuanxi1":35,"-":67}},{"path":"src/main/java/teammates/ui/webapi/StudentSearchIndexingWorkerAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.exception.SearchServiceException;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.util.Const.ParamsNames;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Task queue worker action: performs student search indexing."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class StudentSearchIndexingWorkerAction extends AdminOnlyAction {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":16,"author":{"gitId":"-"},"content":" public ActionResult execute() {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(ParamsNames.COURSE_ID);"},{"lineNumber":18,"author":{"gitId":"-"},"content":" String email \u003d getNonNullRequestParamValue(ParamsNames.STUDENT_EMAIL);"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" return executeWithSql(courseId, email);"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" } else {"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" return executeWithDataStore(courseId, email);"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" private ActionResult executeWithDataStore(String courseId, String email) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d logic.getStudentForEmail(courseId, email);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" logic.putStudentDocument(student);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" // Set an arbitrary retry code outside of the range 200-299 to trigger automatic retry"},{"lineNumber":34,"author":{"gitId":"-"},"content":" return new JsonResult(\"Failure\", HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" return new JsonResult(\"Successful\");"},{"lineNumber":38,"author":{"gitId":"-"},"content":" }"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" private ActionResult executeWithSql(String courseId, String email) {"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" Student student \u003d sqlLogic.getStudentForEmail(courseId, email);"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" try {"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" sqlLogic.putStudentDocument(student);"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" } catch (SearchServiceException e) {"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" // Set an arbitrary retry code outside of the range 200-299 to trigger automatic retry"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" return new JsonResult(\"Failure\", HttpStatus.SC_BAD_GATEWAY);"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" return new JsonResult(\"Successful\");"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":22,"-":29}},{"path":"src/main/java/teammates/ui/webapi/UpdateAccountRequestAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import java.util.UUID;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.Const;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.output.AccountRequestData;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.request.AccountRequestUpdateRequest;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":" * Updates an account request."},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"public class UpdateAccountRequestAction extends AdminOnlyAction {"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" public boolean isTransactionNeeded() {"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" return false;"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" public JsonResult execute() throws InvalidOperationException, InvalidHttpRequestBodyException {"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" String id \u003d getNonNullRequestParamValue(Const.ParamsNames.ACCOUNT_REQUEST_ID);"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" UUID accountRequestId \u003d getUuidFromString(Const.ParamsNames.ACCOUNT_REQUEST_ID, id);"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" AccountRequest accountRequest \u003d sqlLogic.getAccountRequestWithTransaction(accountRequestId);"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" if (accountRequest \u003d\u003d null) {"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" String errorMessage \u003d String.format(Const.ACCOUNT_REQUEST_NOT_FOUND, accountRequestId.toString());"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" throw new EntityNotFoundException(errorMessage);"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" AccountRequestUpdateRequest accountRequestUpdateRequest \u003d"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" getAndValidateRequestBody(AccountRequestUpdateRequest.class);"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" if (accountRequestUpdateRequest.getStatus() \u003d\u003d AccountRequestStatus.APPROVED"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" \u0026\u0026 (accountRequest.getStatus() \u003d\u003d AccountRequestStatus.PENDING"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" || accountRequest.getStatus() \u003d\u003d AccountRequestStatus.REJECTED)) {"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" if (!sqlLogic.getAccountsForEmailWithTransaction(accountRequest.getEmail()).isEmpty()) {"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" throw new InvalidOperationException(String.format(\"An account with email %s already exists. \""},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" + \"Please reject or delete the account request instead.\","},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" accountRequest.getEmail()));"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" if (!sqlLogic.getApprovedAccountRequestsForEmailWithTransaction(accountRequest.getEmail()).isEmpty()) {"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" throw new InvalidOperationException(String.format("},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" \"An account request with email %s has already been approved. \""},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" + \"Please reject or delete the account request instead.\","},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" accountRequest.getEmail()));"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" // should not need to update other fields for an approval"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" accountRequest.setStatus(accountRequestUpdateRequest.getStatus());"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d sqlLogic.updateAccountRequestWithTransaction(accountRequest);"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" EmailWrapper email \u003d sqlEmailGenerator.generateNewInstructorAccountJoinEmail("},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" accountRequest.getEmail(), accountRequest.getName(), accountRequest.getRegistrationUrl());"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" taskQueuer.scheduleAccountRequestForSearchIndexing(accountRequest.getId().toString());"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" emailSender.sendEmail(email);"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" } catch (EntityDoesNotExistException e) {"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":" throw new EntityNotFoundException(e);"},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" } else {"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" accountRequest.setName(accountRequestUpdateRequest.getName());"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" accountRequest.setEmail(accountRequestUpdateRequest.getEmail());"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" accountRequest.setInstitute(accountRequestUpdateRequest.getInstitute());"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" accountRequest.setStatus(accountRequest.getStatus());"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" accountRequest.setComments(accountRequestUpdateRequest.getComments());"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" accountRequest \u003d sqlLogic.updateAccountRequestWithTransaction(accountRequest);"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" taskQueuer.scheduleAccountRequestForSearchIndexing(accountRequest.getId().toString());"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" } catch (EntityDoesNotExistException e) {"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" throw new EntityNotFoundException(e);"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":" return new JsonResult(new AccountRequestData(accountRequest));"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":85,"xenosf":1,"-":2}},{"path":"src/main/java/teammates/ui/webapi/UpdateFeedbackSessionLogsAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import java.time.temporal.ChronoUnit;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.util.ArrayList;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import java.util.HashMap;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import java.util.Map;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.FeedbackSessionLogEntry;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.Const;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":" * Process feedback session logs from GCP in the past defined time period and"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":" * store in the database."},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":"public class UpdateFeedbackSessionLogsAction extends AdminOnlyAction {"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" static final long COLLECTION_TIME_PERIOD \u003d Const.STUDENT_ACTIVITY_LOGS_UPDATE_INTERVAL.toMinutes();"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" static final long SPAM_FILTER \u003d Const.STUDENT_ACTIVITY_LOGS_FILTER_WINDOW.toMillis();"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" public JsonResult execute() {"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e filteredLogs \u003d new ArrayList\u003c\u003e();"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" Instant endTime \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.now());"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" Instant startTime \u003d endTime.minus(COLLECTION_TIME_PERIOD, ChronoUnit.MINUTES);"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLogEntry\u003e logEntries \u003d logsProcessor.getOrderedFeedbackSessionLogs(null, null,"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" startTime.toEpochMilli(), endTime.toEpochMilli(), null);"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" Map\u003cUUID, Map\u003cString, Map\u003cUUID, Map\u003cString, Long\u003e\u003e\u003e\u003e lastSavedTimestamps \u003d new HashMap\u003c\u003e();"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" Map\u003cString, Boolean\u003e isCourseMigratedMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" for (FeedbackSessionLogEntry logEntry : logEntries) {"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" isCourseMigratedMap.computeIfAbsent(logEntry.getCourseId(), k -\u003e {"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" CourseAttributes course \u003d logic.getCourse(logEntry.getCourseId());"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" return course \u003d\u003d null || course.isMigrated();"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" });"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" if (!isCourseMigratedMap.get(logEntry.getCourseId())) {"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" continue;"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d logEntry.getCourseId();"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" UUID studentId \u003d logEntry.getStudentId();"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" UUID fbSessionId \u003d logEntry.getFeedbackSessionId();"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" String type \u003d logEntry.getFeedbackSessionLogType();"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" Long timestamp \u003d logEntry.getTimestamp();"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" lastSavedTimestamps.computeIfAbsent(studentId, k -\u003e new HashMap\u003c\u003e());"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" lastSavedTimestamps.get(studentId).computeIfAbsent(courseId, k -\u003e new HashMap\u003c\u003e());"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":" lastSavedTimestamps.get(studentId).get(courseId).computeIfAbsent(fbSessionId, k -\u003e new HashMap\u003c\u003e());"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" Long lastSaved \u003d lastSavedTimestamps.get(studentId).get(courseId).get(fbSessionId).getOrDefault(type, 0L);"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" if (Math.abs(timestamp - lastSaved) \u003e SPAM_FILTER) {"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" lastSavedTimestamps.get(studentId).get(courseId).get(fbSessionId).put(type, timestamp);"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" Student student \u003d sqlLogic.getStudentReference(studentId);"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d sqlLogic.getFeedbackSessionReference(fbSessionId);"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog fslEntity \u003d new FeedbackSessionLog(student, feedbackSession,"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.valueOfLabel(type), Instant.ofEpochMilli(timestamp));"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" filteredLogs.add(fslEntity);"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" sqlLogic.createFeedbackSessionLogs(filteredLogs);"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" return new JsonResult(\"Successful\");"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":77}},{"path":"src/main/java/teammates/ui/webapi/UpdateStudentAction.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.exception.EnrollException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailSendingStatus;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailType;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":15,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":16,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":17,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":18,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":19,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.ui.request.InvalidHttpRequestBodyException;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.ui.request.StudentUpdateRequest;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * Action: Edits details of a student in a course."},{"lineNumber":25,"author":{"gitId":"-"},"content":" */"},{"lineNumber":26,"author":{"gitId":"marquestye"},"content":"public class UpdateStudentAction extends Action {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" static final String STUDENT_NOT_FOUND_FOR_EDIT \u003d \"The student you tried to edit does not exist. \""},{"lineNumber":28,"author":{"gitId":"-"},"content":" + \"If the student was created during the last few minutes, \""},{"lineNumber":29,"author":{"gitId":"-"},"content":" + \"try again in a few more minutes as the student may still be being saved.\";"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String SUCCESSFUL_UPDATE \u003d \"Student has been updated\";"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String SUCCESSFUL_UPDATE_WITH_EMAIL \u003d SUCCESSFUL_UPDATE + \" and email sent\";"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String SUCCESSFUL_UPDATE_BUT_EMAIL_FAILED \u003d SUCCESSFUL_UPDATE + \" but email failed to send\";"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":35,"author":{"gitId":"-"},"content":" AuthType getMinAuthLevel() {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" return AuthType.LOGGED_IN;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":40,"author":{"gitId":"-"},"content":" void checkSpecificAccessControl() throws UnauthorizedAccessException {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" if (!userInfo.isInstructor) {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" throw new UnauthorizedAccessException(\"Instructor privilege is required to access this resource.\");"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"marquestye"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":47,"author":{"gitId":"marquestye"},"content":" Instructor instructor \u003d sqlLogic.getInstructorByGoogleId(courseId, userInfo.getId());"},{"lineNumber":48,"author":{"gitId":"marquestye"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":49,"author":{"gitId":"marquestye"},"content":" instructor, sqlLogic.getCourse(courseId), Const.InstructorPermissions.CAN_MODIFY_STUDENT);"},{"lineNumber":50,"author":{"gitId":"marquestye"},"content":" } else {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d logic.getInstructorForGoogleId(courseId, userInfo.id);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" gateKeeper.verifyAccessible("},{"lineNumber":53,"author":{"gitId":"-"},"content":" instructor, logic.getCourse(courseId), Const.InstructorPermissions.CAN_MODIFY_STUDENT);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":58,"author":{"gitId":"-"},"content":" public JsonResult execute() throws InvalidHttpRequestBodyException, InvalidOperationException {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" String courseId \u003d getNonNullRequestParamValue(Const.ParamsNames.COURSE_ID);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" String studentEmail \u003d getNonNullRequestParamValue(Const.ParamsNames.STUDENT_EMAIL);"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"marquestye"},"content":" if (!isCourseMigrated(courseId)) {"},{"lineNumber":63,"author":{"gitId":"marquestye"},"content":" return executeWithDatastore(courseId, studentEmail);"},{"lineNumber":64,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":65,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":66,"author":{"gitId":"marquestye"},"content":" Student existingStudent \u003d sqlLogic.getStudentForEmail(courseId, studentEmail);"},{"lineNumber":67,"author":{"gitId":"marquestye"},"content":" if (existingStudent \u003d\u003d null) {"},{"lineNumber":68,"author":{"gitId":"marquestye"},"content":" throw new EntityNotFoundException(STUDENT_NOT_FOUND_FOR_EDIT);"},{"lineNumber":69,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":70,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":71,"author":{"gitId":"marquestye"},"content":" StudentUpdateRequest updateRequest \u003d getAndValidateRequestBody(StudentUpdateRequest.class);"},{"lineNumber":72,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":73,"author":{"gitId":"marquestye"},"content":" Course course \u003d sqlLogic.getCourse(courseId);"},{"lineNumber":74,"author":{"gitId":"marquestye"},"content":" Section section \u003d sqlLogic.getSectionOrCreate(courseId, updateRequest.getSection());"},{"lineNumber":75,"author":{"gitId":"marquestye"},"content":" Team team \u003d sqlLogic.getTeamOrCreate(section, updateRequest.getTeam());"},{"lineNumber":76,"author":{"gitId":"marquestye"},"content":" Student studentToUpdate \u003d new Student(course, updateRequest.getName(), updateRequest.getEmail(),"},{"lineNumber":77,"author":{"gitId":"marquestye"},"content":" updateRequest.getComments(), team);"},{"lineNumber":78,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":79,"author":{"gitId":"marquestye"},"content":" try {"},{"lineNumber":80,"author":{"gitId":"marquestye"},"content":" //we swap out email before we validate"},{"lineNumber":81,"author":{"gitId":"marquestye"},"content":" //TODO: this is duct tape at the moment, need to refactor how we do the validation"},{"lineNumber":82,"author":{"gitId":"marquestye"},"content":" String newEmail \u003d studentToUpdate.getEmail();"},{"lineNumber":83,"author":{"gitId":"marquestye"},"content":" studentToUpdate.setEmail(existingStudent.getEmail());"},{"lineNumber":84,"author":{"gitId":"marquestye"},"content":" sqlLogic.validateSectionsAndTeams(Arrays.asList(studentToUpdate), courseId);"},{"lineNumber":85,"author":{"gitId":"marquestye"},"content":" studentToUpdate.setEmail(newEmail);"},{"lineNumber":86,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":87,"author":{"gitId":"marquestye"},"content":" studentToUpdate.setId(existingStudent.getId());"},{"lineNumber":88,"author":{"gitId":"marquestye"},"content":" Student updatedStudent \u003d sqlLogic.updateStudentCascade(studentToUpdate);"},{"lineNumber":89,"author":{"gitId":"marquestye"},"content":" taskQueuer.scheduleStudentForSearchIndexing(courseId, updatedStudent.getEmail());"},{"lineNumber":90,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":91,"author":{"gitId":"marquestye"},"content":" if (!studentEmail.equals(updateRequest.getEmail()) \u0026\u0026 updateRequest.getIsSessionSummarySendEmail()) {"},{"lineNumber":92,"author":{"gitId":"marquestye"},"content":" boolean emailSent \u003d sendEmail(courseId, updateRequest.getEmail());"},{"lineNumber":93,"author":{"gitId":"marquestye"},"content":" String statusMessage \u003d emailSent ? SUCCESSFUL_UPDATE_WITH_EMAIL"},{"lineNumber":94,"author":{"gitId":"marquestye"},"content":" : SUCCESSFUL_UPDATE_BUT_EMAIL_FAILED;"},{"lineNumber":95,"author":{"gitId":"marquestye"},"content":" return new JsonResult(statusMessage);"},{"lineNumber":96,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":97,"author":{"gitId":"marquestye"},"content":" } catch (EnrollException e) {"},{"lineNumber":98,"author":{"gitId":"marquestye"},"content":" throw new InvalidOperationException(e);"},{"lineNumber":99,"author":{"gitId":"marquestye"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":100,"author":{"gitId":"marquestye"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":101,"author":{"gitId":"marquestye"},"content":" } catch (EntityDoesNotExistException ednee) {"},{"lineNumber":102,"author":{"gitId":"marquestye"},"content":" throw new EntityNotFoundException(ednee);"},{"lineNumber":103,"author":{"gitId":"marquestye"},"content":" } catch (EntityAlreadyExistsException e) {"},{"lineNumber":104,"author":{"gitId":"marquestye"},"content":" throw new InvalidOperationException(\"Trying to update to an email that is already in use\", e);"},{"lineNumber":105,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":106,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":107,"author":{"gitId":"marquestye"},"content":" return new JsonResult(SUCCESSFUL_UPDATE);"},{"lineNumber":108,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":109,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":110,"author":{"gitId":"marquestye"},"content":" private JsonResult executeWithDatastore(String courseId, String studentEmail)"},{"lineNumber":111,"author":{"gitId":"marquestye"},"content":" throws InvalidHttpRequestBodyException, InvalidOperationException {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d logic.getStudentForEmail(courseId, studentEmail);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" if (student \u003d\u003d null) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(STUDENT_NOT_FOUND_FOR_EDIT);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" StudentUpdateRequest updateRequest \u003d getAndValidateRequestBody(StudentUpdateRequest.class);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" StudentAttributes studentToUpdate \u003d StudentAttributes.builder(courseId, updateRequest.getEmail())"},{"lineNumber":119,"author":{"gitId":"-"},"content":" .withName(updateRequest.getName())"},{"lineNumber":120,"author":{"gitId":"-"},"content":" .withSectionName(updateRequest.getSection())"},{"lineNumber":121,"author":{"gitId":"-"},"content":" .withTeamName(updateRequest.getTeam())"},{"lineNumber":122,"author":{"gitId":"-"},"content":" .withComment(updateRequest.getComments())"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" //we swap out email before we validate"},{"lineNumber":127,"author":{"gitId":"-"},"content":" //TODO: this is duct tape at the moment, need to refactor how we do the validation"},{"lineNumber":128,"author":{"gitId":"-"},"content":" String newEmail \u003d studentToUpdate.getEmail();"},{"lineNumber":129,"author":{"gitId":"-"},"content":" studentToUpdate.setEmail(student.getEmail());"},{"lineNumber":130,"author":{"gitId":"-"},"content":" logic.validateSectionsAndTeams(Arrays.asList(studentToUpdate), student.getCourse());"},{"lineNumber":131,"author":{"gitId":"-"},"content":" studentToUpdate.setEmail(newEmail);"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" StudentAttributes updatedStudent \u003d logic.updateStudentCascade("},{"lineNumber":134,"author":{"gitId":"-"},"content":" StudentAttributes.updateOptionsBuilder(courseId, studentEmail)"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .withName(updateRequest.getName())"},{"lineNumber":136,"author":{"gitId":"-"},"content":" .withNewEmail(updateRequest.getEmail())"},{"lineNumber":137,"author":{"gitId":"-"},"content":" .withTeamName(updateRequest.getTeam())"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .withSectionName(updateRequest.getSection())"},{"lineNumber":139,"author":{"gitId":"-"},"content":" .withComment(updateRequest.getComments())"},{"lineNumber":140,"author":{"gitId":"-"},"content":" .build());"},{"lineNumber":141,"author":{"gitId":"-"},"content":" taskQueuer.scheduleStudentForSearchIndexing(updatedStudent.getCourse(), updatedStudent.getEmail());"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" if (!student.getEmail().equals(updateRequest.getEmail())) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" logic.resetStudentGoogleId(updateRequest.getEmail(), courseId);"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" if (updateRequest.getIsSessionSummarySendEmail()) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" boolean emailSent \u003d sendEmail(courseId, updateRequest.getEmail());"},{"lineNumber":148,"author":{"gitId":"-"},"content":" String statusMessage \u003d emailSent ? SUCCESSFUL_UPDATE_WITH_EMAIL"},{"lineNumber":149,"author":{"gitId":"-"},"content":" : SUCCESSFUL_UPDATE_BUT_EMAIL_FAILED;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" return new JsonResult(statusMessage);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":" } catch (EnrollException e) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(e);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" } catch (InvalidParametersException e) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" throw new InvalidHttpRequestBodyException(e);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" } catch (EntityDoesNotExistException ednee) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" throw new EntityNotFoundException(ednee);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" } catch (EntityAlreadyExistsException e) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" throw new InvalidOperationException(\"Trying to update to an email that is already in use\", e);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" return new JsonResult(SUCCESSFUL_UPDATE);"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":167,"author":{"gitId":"-"},"content":" * Sends the feedback session summary as an email."},{"lineNumber":168,"author":{"gitId":"-"},"content":" *"},{"lineNumber":169,"author":{"gitId":"-"},"content":" * @return The true if email was sent successfully or false otherwise."},{"lineNumber":170,"author":{"gitId":"-"},"content":" */"},{"lineNumber":171,"author":{"gitId":"-"},"content":" private boolean sendEmail(String courseId, String studentEmail) {"},{"lineNumber":172,"author":{"gitId":"marquestye"},"content":" if (isCourseMigrated(courseId)) {"},{"lineNumber":173,"author":{"gitId":"marquestye"},"content":" EmailWrapper email \u003d sqlEmailGenerator.generateFeedbackSessionSummaryOfCourse("},{"lineNumber":174,"author":{"gitId":"marquestye"},"content":" courseId, studentEmail, EmailType.STUDENT_EMAIL_CHANGED);"},{"lineNumber":175,"author":{"gitId":"marquestye"},"content":" EmailSendingStatus status \u003d emailSender.sendEmail(email);"},{"lineNumber":176,"author":{"gitId":"marquestye"},"content":" return status.isSuccess();"},{"lineNumber":177,"author":{"gitId":"marquestye"},"content":" } else {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d emailGenerator.generateFeedbackSessionSummaryOfCourse("},{"lineNumber":179,"author":{"gitId":"-"},"content":" courseId, studentEmail, EmailType.STUDENT_EMAIL_CHANGED);"},{"lineNumber":180,"author":{"gitId":"-"},"content":" EmailSendingStatus status \u003d emailSender.sendEmail(email);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" return status.isSuccess();"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":68,"-":117}},{"path":"src/main/resources/instructorEmailTemplate-newAccountRequestAcknowledgement.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"\u003cp\u003eHello, ${name}\u003c/p\u003e"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"\u003cp\u003e"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":" Thank you for submitting an account request. This is what you have submitted:"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"\u003c/p\u003e"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"\u003cdiv\u003e"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":" \u003ctable style\u003d\"max-width:600px;border:1px solid black;\"\u003e"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":" \u003cstrong\u003e"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":" Full Name"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":" \u003c/strong\u003e"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":" ${name}"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" \u003cstrong\u003e"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" Country \u0026 Institute"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" \u003c/strong\u003e"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" ${institute}"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" \u003cstrong\u003e"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" Email Address"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" \u003c/strong\u003e"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" ${emailAddress}"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" \u003cstrong\u003e"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" Comments"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" \u003c/strong\u003e"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" ${comments}"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" \u003c/table\u003e"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":"\u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":"\u003cp\u003e"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" Your request will be reviewed within 24 hours. We will send another email once your request has been accepted."},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":"\u003c/p\u003e"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":"\u003cp\u003e"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" If you have any additional queries, please feel free to contact us at ${supportEmail}."},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":"\u003c/p\u003e"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":"\u003cp\u003e"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" Regards,\u003cbr\u003e"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" TEAMMATES Team."},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":"\u003c/p\u003e"}],"authorContributionMap":{"xenosf":65}},{"path":"src/test/java/teammates/common/datatransfer/SqlSessionResultsBundleTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.common.datatransfer;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import java.util.HashMap;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import java.util.HashSet;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import java.util.Map;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const;"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":" * SUT: {@link SqlSessionResultsBundle}."},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":"public class SqlSessionResultsBundleTest extends BaseTestCase {"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" public void testGetQuestionResponseMap() {"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" SqlDataBundle responseBundle \u003d loadSqlDataBundle(\"/SqlFeedbackSessionResultsBundleTest.json\");"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" List\u003cString\u003e allExpectedResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" allExpectedResponses.add(responseBundle.feedbackResponses.get(\"response1ForQ1\").toString());"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" allExpectedResponses.add(responseBundle.feedbackResponses.get(\"response2ForQ1\").toString());"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" SqlSessionResultsBundle bundle \u003d"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" new SqlSessionResultsBundle("},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackQuestions.values()),"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackResponses.values()),"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(),"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" new SqlCourseRoster(new ArrayList\u003c\u003e(responseBundle.students.values()),"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.instructors.values()))"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" ______TS(\"Test question having responses\");"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq \u003d responseBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e allResponses \u003d bundle.getQuestionResponseMap().get(fq);"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" assertEquals(2, allResponses.size());"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" List\u003cString\u003e allResponsesString \u003d new ArrayList\u003c\u003e();"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" allResponsesString.add(allResponses.get(0).toString());"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" allResponsesString.add(allResponses.get(1).toString());"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" assertEquals(allExpectedResponses, allResponsesString);"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":" ______TS(\"Test question having no responses\");"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" fq \u003d responseBundle.feedbackQuestions.get(\"qn4InSession1InCourse1\");"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" allResponses \u003d bundle.getQuestionResponseMap().get(fq);"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" assertEquals(0, allResponses.size());"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" public void testGetQuestionMissingResponseMap() {"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" SqlDataBundle responseBundle \u003d loadSqlDataBundle(\"/SqlFeedbackSessionResultsBundleTest.json\");"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":" List\u003cString\u003e expectedMissingResponses \u003d new ArrayList\u003c\u003e();"},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":" expectedMissingResponses.add(responseBundle.feedbackResponses.get(\"response1ForQ1\").toString());"},{"lineNumber":67,"author":{"gitId":"xenosf"},"content":" expectedMissingResponses.add(responseBundle.feedbackResponses.get(\"response2ForQ1\").toString());"},{"lineNumber":68,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":" SqlSessionResultsBundle bundle \u003d"},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":" new SqlSessionResultsBundle("},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackQuestions.values()),"},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(),"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackResponses.values()),"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" new SqlCourseRoster(new ArrayList\u003c\u003e(responseBundle.students.values()),"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.instructors.values()))"},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":" ______TS(\"Test question having missing responses\");"},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion fq \u003d responseBundle.feedbackQuestions.get(\"qn1InSession1InCourse1\");"},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":" List\u003cFeedbackResponse\u003e missingResponses \u003d bundle.getQuestionMissingResponseMap().get(fq);"},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" assertEquals(2, missingResponses.size());"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" List\u003cString\u003e missingResponsesString \u003d new ArrayList\u003c\u003e();"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" missingResponsesString.add(missingResponses.get(0).toString());"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" missingResponsesString.add(missingResponses.get(1).toString());"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":" assertEquals(expectedMissingResponses, missingResponsesString);"},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":93,"author":{"gitId":"xenosf"},"content":" ______TS(\"Test question having no missing responses\");"},{"lineNumber":94,"author":{"gitId":"xenosf"},"content":" fq \u003d responseBundle.feedbackQuestions.get(\"qn4InSession1InCourse1\");"},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":" missingResponses \u003d bundle.getQuestionMissingResponseMap().get(fq);"},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":" assertEquals(0, missingResponses.size());"},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":100,"author":{"gitId":"xenosf"},"content":" public void testIsResponseGiverRecipientVisible_typicalCase_shouldReturnCorrectValues() {"},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":102,"author":{"gitId":"xenosf"},"content":" SqlDataBundle responseBundle \u003d loadSqlDataBundle(\"/SqlFeedbackSessionResultsBundleTest.json\");"},{"lineNumber":103,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":104,"author":{"gitId":"xenosf"},"content":" FeedbackSession session1Course1 \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":105,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":106,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question1ForS1C1 \u003d getTypicalFeedbackQuestionForSession(session1Course1);"},{"lineNumber":107,"author":{"gitId":"xenosf"},"content":" FeedbackQuestion question2ForS1C1 \u003d getTypicalFeedbackQuestionForSession(session1Course1);"},{"lineNumber":108,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":109,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response1ForQ1S1C1 \u003d getTypicalFeedbackResponseForQuestion(question1ForS1C1);"},{"lineNumber":110,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response2ForQ1S1C1 \u003d getTypicalFeedbackResponseForQuestion(question1ForS1C1);"},{"lineNumber":111,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response1ForQ2S1C1 \u003d getTypicalFeedbackResponseForQuestion(question2ForS1C1);"},{"lineNumber":112,"author":{"gitId":"xenosf"},"content":" FeedbackResponse response2ForQ2S1C1 \u003d getTypicalFeedbackResponseForQuestion(question2ForS1C1);"},{"lineNumber":113,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":114,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, Boolean\u003e responseGiverVisibilityTable \u003d new HashMap\u003c\u003e();"},{"lineNumber":115,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable.put(response1ForQ1S1C1, true);"},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable.put(response2ForQ1S1C1, false);"},{"lineNumber":117,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable.put(response1ForQ2S1C1, true);"},{"lineNumber":118,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable.put(response2ForQ2S1C1, false);"},{"lineNumber":119,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":120,"author":{"gitId":"xenosf"},"content":" Map\u003cFeedbackResponse, Boolean\u003e responseRecipientVisibilityTable \u003d new HashMap\u003c\u003e();"},{"lineNumber":121,"author":{"gitId":"xenosf"},"content":" responseRecipientVisibilityTable.put(response1ForQ1S1C1, false);"},{"lineNumber":122,"author":{"gitId":"xenosf"},"content":" responseRecipientVisibilityTable.put(response2ForQ1S1C1, true);"},{"lineNumber":123,"author":{"gitId":"xenosf"},"content":" responseRecipientVisibilityTable.put(response1ForQ2S1C1, true);"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":" responseRecipientVisibilityTable.put(response2ForQ2S1C1, false);"},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":" SqlSessionResultsBundle bundle \u003d"},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" new SqlSessionResultsBundle("},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackQuestions.values()),"},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":130,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackResponses.values()),"},{"lineNumber":132,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(),"},{"lineNumber":133,"author":{"gitId":"xenosf"},"content":" responseGiverVisibilityTable,"},{"lineNumber":134,"author":{"gitId":"xenosf"},"content":" responseRecipientVisibilityTable,"},{"lineNumber":135,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":136,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":137,"author":{"gitId":"xenosf"},"content":" new SqlCourseRoster(new ArrayList\u003c\u003e(responseBundle.students.values()),"},{"lineNumber":138,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.instructors.values()))"},{"lineNumber":139,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":140,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":141,"author":{"gitId":"xenosf"},"content":" for (Map.Entry\u003cFeedbackResponse, Boolean\u003e visibilityEntry : responseGiverVisibilityTable.entrySet()) {"},{"lineNumber":142,"author":{"gitId":"xenosf"},"content":" assertEquals(visibilityEntry.getValue(),"},{"lineNumber":143,"author":{"gitId":"xenosf"},"content":" bundle.isResponseGiverVisible(visibilityEntry.getKey()));"},{"lineNumber":144,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":145,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":146,"author":{"gitId":"xenosf"},"content":" for (Map.Entry\u003cFeedbackResponse, Boolean\u003e visibilityEntry : responseRecipientVisibilityTable.entrySet()) {"},{"lineNumber":147,"author":{"gitId":"xenosf"},"content":" assertEquals(visibilityEntry.getValue(),"},{"lineNumber":148,"author":{"gitId":"xenosf"},"content":" bundle.isResponseRecipientVisible(visibilityEntry.getKey()));"},{"lineNumber":149,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":150,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":151,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":152,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":153,"author":{"gitId":"xenosf"},"content":" public void testIsCommentGiverVisible_typicalCase_shouldReturnCorrectValues() {"},{"lineNumber":154,"author":{"gitId":"xenosf"},"content":" SqlDataBundle responseBundle \u003d loadSqlDataBundle(\"/SqlFeedbackSessionResultsBundleTest.json\");"},{"lineNumber":155,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":156,"author":{"gitId":"xenosf"},"content":" Map\u003cLong, Boolean\u003e commentGiverVisibilityTable \u003d new HashMap\u003c\u003e();"},{"lineNumber":157,"author":{"gitId":"xenosf"},"content":" commentGiverVisibilityTable.put(1L, true);"},{"lineNumber":158,"author":{"gitId":"xenosf"},"content":" commentGiverVisibilityTable.put(2L, false);"},{"lineNumber":159,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":160,"author":{"gitId":"xenosf"},"content":" SqlSessionResultsBundle bundle \u003d"},{"lineNumber":161,"author":{"gitId":"xenosf"},"content":" new SqlSessionResultsBundle("},{"lineNumber":162,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackQuestions.values()),"},{"lineNumber":163,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":164,"author":{"gitId":"xenosf"},"content":" new HashSet\u003c\u003e(),"},{"lineNumber":165,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.feedbackResponses.values()),"},{"lineNumber":166,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(),"},{"lineNumber":167,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":168,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":169,"author":{"gitId":"xenosf"},"content":" new HashMap\u003c\u003e(),"},{"lineNumber":170,"author":{"gitId":"xenosf"},"content":" commentGiverVisibilityTable,"},{"lineNumber":171,"author":{"gitId":"xenosf"},"content":" new SqlCourseRoster(new ArrayList\u003c\u003e(responseBundle.students.values()),"},{"lineNumber":172,"author":{"gitId":"xenosf"},"content":" new ArrayList\u003c\u003e(responseBundle.instructors.values()))"},{"lineNumber":173,"author":{"gitId":"xenosf"},"content":" );"},{"lineNumber":174,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":175,"author":{"gitId":"xenosf"},"content":" // Manually add comment IDs as loadSqlDataBundle does not add comment IDs"},{"lineNumber":176,"author":{"gitId":"xenosf"},"content":" FeedbackResponseComment comment1 \u003d responseBundle.feedbackResponseComments.get(\"comment1ToResponse1ForQ1\");"},{"lineNumber":177,"author":{"gitId":"xenosf"},"content":" FeedbackResponseComment comment2 \u003d responseBundle.feedbackResponseComments.get(\"comment2ToResponse1ForQ1\");"},{"lineNumber":178,"author":{"gitId":"xenosf"},"content":" comment1.setId(1L);"},{"lineNumber":179,"author":{"gitId":"xenosf"},"content":" comment2.setId(2L);"},{"lineNumber":180,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":181,"author":{"gitId":"xenosf"},"content":" assertTrue(bundle.isCommentGiverVisible(comment1));"},{"lineNumber":182,"author":{"gitId":"xenosf"},"content":" assertFalse(bundle.isCommentGiverVisible(comment2));"},{"lineNumber":183,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":184,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":185,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":186,"author":{"gitId":"xenosf"},"content":" public void testGetAnonName_typicalCase_shouldGenerateCorrectly() {"},{"lineNumber":187,"author":{"gitId":"xenosf"},"content":" String anonName \u003d SqlSessionResultsBundle.getAnonName(FeedbackParticipantType.STUDENTS, \"\");"},{"lineNumber":188,"author":{"gitId":"xenosf"},"content":" assertTrue(anonName.startsWith(Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT));"},{"lineNumber":189,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":190,"author":{"gitId":"xenosf"},"content":" anonName \u003d SqlSessionResultsBundle.getAnonName(FeedbackParticipantType.STUDENTS, \"test@gmail.com\");"},{"lineNumber":191,"author":{"gitId":"xenosf"},"content":" assertTrue(anonName.startsWith(Const.DISPLAYED_NAME_FOR_ANONYMOUS_PARTICIPANT));"},{"lineNumber":192,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":193,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":193}},{"path":"src/test/java/teammates/common/util/FieldValidatorTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Duration;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.temporal.ChronoUnit;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * SUT: {@link FieldValidator}."},{"lineNumber":15,"author":{"gitId":"-"},"content":" */"},{"lineNumber":16,"author":{"gitId":"-"},"content":"public class FieldValidatorTest extends BaseTestCase {"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":19,"author":{"gitId":"-"},"content":" public void testGetValidityInfoForNonHtmlField_cleanInput_returnEmptyString() {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" String clean \u003d \"Valid clean input with no special HTML characters\";"},{"lineNumber":21,"author":{"gitId":"-"},"content":" String testFieldName \u003d \"Inconsequential test field name\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":" String actual \u003d FieldValidator.getValidityInfoForNonHtmlField(testFieldName, clean);"},{"lineNumber":23,"author":{"gitId":"-"},"content":" assertEquals(\"Valid clean input with no special HTML characters should return empty string\", \"\","},{"lineNumber":24,"author":{"gitId":"-"},"content":" actual);"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":28,"author":{"gitId":"-"},"content":" public void testGetValidityInfoForNonHtmlField_sanitizedInput_returnEmptyString() {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" String sanitizedInput \u003d \"Valid sanitized input \u0026lt; \u0026gt; \u0026quot; \u0026#x2f; \u0026#39; \u0026amp;\";"},{"lineNumber":30,"author":{"gitId":"-"},"content":" String testFieldName \u003d \"Inconsequential test field name\";"},{"lineNumber":31,"author":{"gitId":"-"},"content":" String actual \u003d FieldValidator.getValidityInfoForNonHtmlField(testFieldName, sanitizedInput);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" assertEquals(\"Valid sanitized input should return empty string\", \"\", actual);"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":36,"author":{"gitId":"-"},"content":" public void testGetValidityInfoForNonHtmlField_unsanitizedInput_returnErrorString() {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" String unsanitizedInput \u003d \"Invalid unsanitized input \u003c\u003e\\\"/\u0027\u0026\";"},{"lineNumber":38,"author":{"gitId":"-"},"content":" String testFieldName \u003d \"Inconsequential test field name\";"},{"lineNumber":39,"author":{"gitId":"-"},"content":" String actual \u003d FieldValidator.getValidityInfoForNonHtmlField(testFieldName, unsanitizedInput);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid unsanitized input should return error string\","},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"The provided Inconsequential test field name is not acceptable to TEAMMATES as it \""},{"lineNumber":42,"author":{"gitId":"-"},"content":" + \"cannot contain the following special html characters in brackets: (\u003c \u003e \\\" / \u0027 \u0026)\","},{"lineNumber":43,"author":{"gitId":"-"},"content":" actual);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":47,"author":{"gitId":"-"},"content":" public void testGetValidityInfoForSizeCappedPossiblyEmptyString() {"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" String typicalFieldName \u003d \"my field\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":" int maxLength \u003d 50;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" assertEquals(\"valid: typical value\","},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"\","},{"lineNumber":53,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForSizeCappedPossiblyEmptyString("},{"lineNumber":54,"author":{"gitId":"-"},"content":" typicalFieldName,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" maxLength,"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"Dr. Amy-B s/o O\u0027br, \u0026 2nd \\t \\n (alias \u0027JB\u0027)\"));"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" assertEquals(\"valid: max length\","},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"\","},{"lineNumber":60,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForSizeCappedPossiblyEmptyString("},{"lineNumber":61,"author":{"gitId":"-"},"content":" typicalFieldName,"},{"lineNumber":62,"author":{"gitId":"-"},"content":" maxLength,"},{"lineNumber":63,"author":{"gitId":"-"},"content":" StringHelperExtension.generateStringOfLength(maxLength)));"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" String emptyValue \u003d \"\";"},{"lineNumber":66,"author":{"gitId":"-"},"content":" assertEquals(\"valid: empty\","},{"lineNumber":67,"author":{"gitId":"-"},"content":" \"\","},{"lineNumber":68,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForSizeCappedPossiblyEmptyString("},{"lineNumber":69,"author":{"gitId":"-"},"content":" typicalFieldName,"},{"lineNumber":70,"author":{"gitId":"-"},"content":" maxLength,"},{"lineNumber":71,"author":{"gitId":"-"},"content":" emptyValue));"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" String untrimmedValue \u003d \" abc \";"},{"lineNumber":74,"author":{"gitId":"-"},"content":" assertEquals(\"invalid: untrimmed\","},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"The provided my field is not acceptable to TEAMMATES as it contains only whitespace or \""},{"lineNumber":76,"author":{"gitId":"-"},"content":" + \"contains extra spaces at the beginning or at the end of the text.\","},{"lineNumber":77,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForSizeCappedPossiblyEmptyString(typicalFieldName, maxLength,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" untrimmedValue));"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" String tooLongName \u003d StringHelperExtension.generateStringOfLength(maxLength + 1);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" assertEquals(\"invalid: too long\","},{"lineNumber":82,"author":{"gitId":"-"},"content":" \"\\\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\" is not acceptable to TEAMMATES \""},{"lineNumber":83,"author":{"gitId":"-"},"content":" + \"as a/an my field because it is too long. The value of a/an my field should be no \""},{"lineNumber":84,"author":{"gitId":"-"},"content":" + \"longer than 50 characters.\","},{"lineNumber":85,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForSizeCappedPossiblyEmptyString(typicalFieldName, maxLength,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" tooLongName));"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":90,"author":{"gitId":"-"},"content":" public void testGetValidityInfoForAllowedName() {"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" ______TS(\"null value\");"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" String typicalFieldName \u003d \"name field\";"},{"lineNumber":95,"author":{"gitId":"-"},"content":" int typicalLength \u003d 25;"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" assertThrows(AssertionError.class, () -\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForAllowedName(typicalFieldName, typicalLength, null));"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" ______TS(\"typical success case\");"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" int maxLength \u003d 50;"},{"lineNumber":103,"author":{"gitId":"-"},"content":" assertEquals(\"valid: typical length with valid characters\","},{"lineNumber":104,"author":{"gitId":"-"},"content":" \"\","},{"lineNumber":105,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForAllowedName("},{"lineNumber":106,"author":{"gitId":"-"},"content":" typicalFieldName,"},{"lineNumber":107,"author":{"gitId":"-"},"content":" maxLength,"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \"Ýàn-B. s/o O\u0027br, \u00262\\t\\n(~!@#$^*+_\u003d{}[]\\\\:;\\\"\u003c\u003e?)\"));"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" ______TS(\"failure: invalid characters\");"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" String nameContainInvalidChars \u003d \"Dr. Amy-Bén s/o O\u0027\u0026|% 2\\t\\n (~!@#$^*+_\u003d{}[]\\\\:;\\\"\u003c\u003e?)\";"},{"lineNumber":113,"author":{"gitId":"-"},"content":" assertEquals(\"invalid: typical length with invalid characters\","},{"lineNumber":114,"author":{"gitId":"-"},"content":" \"\\\"Dr. Amy-Bén s/o O\u0027\u0026|% 2\\t\\n (~!@#$^*+_\u003d{}[]\\\\:;\\\"\u003c\u003e?)\\\" is \""},{"lineNumber":115,"author":{"gitId":"-"},"content":" + \"not acceptable to TEAMMATES as a/an name field because it contains invalid \""},{"lineNumber":116,"author":{"gitId":"-"},"content":" + \"characters. A/An name field must start with an alphanumeric character, and cannot \""},{"lineNumber":117,"author":{"gitId":"-"},"content":" + \"contain any vertical bar (|) or percent sign (%).\","},{"lineNumber":118,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForAllowedName(typicalFieldName, maxLength,"},{"lineNumber":119,"author":{"gitId":"-"},"content":" nameContainInvalidChars));"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" ______TS(\"failure: starts with non-alphanumeric character\");"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" String nameStartedWithNonAlphaNumChar \u003d \"!Amy-Bén s/o O\u0027\u0026|% 2\\t\\n (~!@#$^*+_\u003d{}[]\\\\:;\\\"\u003c\u003e?)\";"},{"lineNumber":124,"author":{"gitId":"-"},"content":" assertEquals(\"invalid: typical length with invalid characters\","},{"lineNumber":125,"author":{"gitId":"-"},"content":" \"\\\"!Amy-Bén s/o O\u0027\u0026|% 2\\t\\n (~!@#$^*+_\u003d{}[]\\\\:;\\\"\u003c\u003e?)\\\" is not \""},{"lineNumber":126,"author":{"gitId":"-"},"content":" + \"acceptable to TEAMMATES as a/an name field because it starts with a \""},{"lineNumber":127,"author":{"gitId":"-"},"content":" + \"non-alphanumeric character. A/An name field must start with an alphanumeric \""},{"lineNumber":128,"author":{"gitId":"-"},"content":" + \"character, and cannot contain any vertical bar (|) or percent sign (%).\","},{"lineNumber":129,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForAllowedName(typicalFieldName, maxLength,"},{"lineNumber":130,"author":{"gitId":"-"},"content":" nameStartedWithNonAlphaNumChar));"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" ______TS(\"failure: starts with curly braces but contains invalid char\");"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" String nameStartedWithBracesButHasInvalidChar \u003d \"{Amy} -Bén s/o O\u0027\u0026|% 2\\t\\n (~!@#$^*+_\u003d{}[]\\\\:;\\\"\u003c\u003e?)\";"},{"lineNumber":135,"author":{"gitId":"-"},"content":" assertEquals(\"invalid: typical length with invalid characters\","},{"lineNumber":136,"author":{"gitId":"-"},"content":" \"\\\"{Amy} -Bén s/o O\u0027\u0026|% 2\\t\\n (~!@#$^*+_\u003d{}[]\\\\:;\\\"\u003c\u003e?)\\\" is not \""},{"lineNumber":137,"author":{"gitId":"-"},"content":" + \"acceptable to TEAMMATES as a/an name field because it contains invalid \""},{"lineNumber":138,"author":{"gitId":"-"},"content":" + \"characters. A/An name field must start with an alphanumeric character, and cannot \""},{"lineNumber":139,"author":{"gitId":"-"},"content":" + \"contain any vertical bar (|) or percent sign (%).\","},{"lineNumber":140,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForAllowedName(typicalFieldName, maxLength,"},{"lineNumber":141,"author":{"gitId":"-"},"content":" nameStartedWithBracesButHasInvalidChar));"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" ______TS(\"failure: starts with opening curly bracket but dose not have closing bracket\");"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" String nameStartedWithCurlyBracketButHasNoEnd \u003d \"{Amy -Bén s/o O\u0027\u0026|% 2\\t\\n (~!@#$^*+_\u003d{[]\\\\:;\\\"\u003c\u003e?)\";"},{"lineNumber":146,"author":{"gitId":"-"},"content":" assertEquals(\"invalid: typical length started with non-alphanumeric character\","},{"lineNumber":147,"author":{"gitId":"-"},"content":" \"\\\"{Amy -Bén s/o O\u0027\u0026|% 2\\t\\n (~!@#$^*+_\u003d{[]\\\\:;\\\"\u003c\u003e?)\\\" is not \""},{"lineNumber":148,"author":{"gitId":"-"},"content":" + \"acceptable to TEAMMATES as a/an name field because it starts with a \""},{"lineNumber":149,"author":{"gitId":"-"},"content":" + \"non-alphanumeric character. A/An name field must start with an alphanumeric \""},{"lineNumber":150,"author":{"gitId":"-"},"content":" + \"character, and cannot contain any vertical bar (|) or percent sign (%).\","},{"lineNumber":151,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForAllowedName(typicalFieldName, maxLength,"},{"lineNumber":152,"author":{"gitId":"-"},"content":" nameStartedWithCurlyBracketButHasNoEnd));"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" ______TS(\"success: with opening and closing curly braces\");"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" assertEquals(\"valid: max length\","},{"lineNumber":157,"author":{"gitId":"-"},"content":" \"\","},{"lineNumber":158,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForAllowedName("},{"lineNumber":159,"author":{"gitId":"-"},"content":" typicalFieldName,"},{"lineNumber":160,"author":{"gitId":"-"},"content":" maxLength,"},{"lineNumber":161,"author":{"gitId":"-"},"content":" \"{last name} first name\"));"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" ______TS(\"success: max length\");"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" assertEquals(\"valid: max length\","},{"lineNumber":166,"author":{"gitId":"-"},"content":" \"\","},{"lineNumber":167,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForAllowedName("},{"lineNumber":168,"author":{"gitId":"-"},"content":" typicalFieldName,"},{"lineNumber":169,"author":{"gitId":"-"},"content":" maxLength,"},{"lineNumber":170,"author":{"gitId":"-"},"content":" StringHelperExtension.generateStringOfLength(maxLength)));"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" ______TS(\"failure: too long\");"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" String tooLongName \u003d StringHelperExtension.generateStringOfLength(maxLength + 1);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" assertEquals(\"invalid: too long\","},{"lineNumber":176,"author":{"gitId":"-"},"content":" \"\\\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\" is not acceptable to TEAMMATES \""},{"lineNumber":177,"author":{"gitId":"-"},"content":" + \"as a/an name field because it is too long. The value of a/an name field should \""},{"lineNumber":178,"author":{"gitId":"-"},"content":" + \"be no longer than 50 characters. It should not be empty.\","},{"lineNumber":179,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForAllowedName(typicalFieldName, maxLength, tooLongName));"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" ______TS(\"failure: empty string\");"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" String emptyValue \u003d \"\";"},{"lineNumber":184,"author":{"gitId":"-"},"content":" assertEquals(\"invalid: empty\","},{"lineNumber":185,"author":{"gitId":"-"},"content":" \"The field \u0027name field\u0027 is empty. The value of a/an name field should be no longer \""},{"lineNumber":186,"author":{"gitId":"-"},"content":" + \"than 50 characters. It should not be empty.\","},{"lineNumber":187,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForAllowedName(typicalFieldName, maxLength, emptyValue));"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" ______TS(\"failure: untrimmed value\");"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" String untrimmedValue \u003d \" abc \";"},{"lineNumber":192,"author":{"gitId":"-"},"content":" assertEquals(\"invalid: untrimmed\","},{"lineNumber":193,"author":{"gitId":"-"},"content":" \"The provided name field is not acceptable to TEAMMATES as it contains only whitespace \""},{"lineNumber":194,"author":{"gitId":"-"},"content":" + \"or contains extra spaces at the beginning or at the end of the text.\","},{"lineNumber":195,"author":{"gitId":"-"},"content":" FieldValidator.getValidityInfoForAllowedName(typicalFieldName, maxLength, untrimmedValue));"},{"lineNumber":196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":199,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForPersonName_invalid_returnSpecificErrorString() {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" String invalidPersonName \u003d \"\";"},{"lineNumber":201,"author":{"gitId":"-"},"content":" String actual \u003d FieldValidator.getInvalidityInfoForPersonName(invalidPersonName);"},{"lineNumber":202,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid person name (empty) should return error message that is specific to person name\","},{"lineNumber":203,"author":{"gitId":"-"},"content":" \"The field \u0027person name\u0027 is empty. The value of a/an person name should be no longer \""},{"lineNumber":204,"author":{"gitId":"-"},"content":" + \"than 100 characters. It should not be empty.\","},{"lineNumber":205,"author":{"gitId":"-"},"content":" actual);"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":209,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForInstituteName_invalid_returnSpecificErrorString() {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" String invalidInstituteName \u003d StringHelperExtension.generateStringOfLength("},{"lineNumber":211,"author":{"gitId":"-"},"content":" FieldValidator.INSTITUTE_NAME_MAX_LENGTH + 1);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" String actual \u003d FieldValidator.getInvalidityInfoForInstituteName(invalidInstituteName);"},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" String expectedTemplate \u003d \"\\\"%s\\\" is not \""},{"lineNumber":214,"author":{"gitId":"-"},"content":" + \"acceptable to TEAMMATES as a/an institute name because it is too long. The value \""},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" + \"of a/an institute name should be no longer than 128 characters. It should not be empty.\";"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" String expected \u003d String.format(expectedTemplate, invalidInstituteName);"},{"lineNumber":217,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid institute name (too long) should return error message that is specific to institute name\","},{"lineNumber":218,"author":{"gitId":"xenosf"},"content":" expected, actual);"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":222,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForTeamName_invalid_returnSpecificErrorString() {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" String invalidTeamName \u003d \"\";"},{"lineNumber":224,"author":{"gitId":"-"},"content":" String actual \u003d FieldValidator.getInvalidityInfoForTeamName(invalidTeamName);"},{"lineNumber":225,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid team name (empty) should return error message that is specific to team name\","},{"lineNumber":226,"author":{"gitId":"-"},"content":" \"The field \u0027team name\u0027 is empty. The value of a/an team name should be no longer \""},{"lineNumber":227,"author":{"gitId":"-"},"content":" + \"than 60 characters. It should not be empty.\","},{"lineNumber":228,"author":{"gitId":"-"},"content":" actual);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":232,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForSectionName_invalid_returnSpecificErrorString() {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" String invalidSectionName \u003d \"Percent Symbol % Section\";"},{"lineNumber":234,"author":{"gitId":"-"},"content":" String actual \u003d FieldValidator.getInvalidityInfoForSectionName(invalidSectionName);"},{"lineNumber":235,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid section name (invalid char) should return error string that is specific to section name\","},{"lineNumber":236,"author":{"gitId":"-"},"content":" \"\\\"Percent Symbol % Section\\\" is not acceptable to TEAMMATES as a/an section name \""},{"lineNumber":237,"author":{"gitId":"-"},"content":" + \"because it contains invalid characters. A/An section name must start with an \""},{"lineNumber":238,"author":{"gitId":"-"},"content":" + \"alphanumeric character, and cannot contain any vertical bar (|) or percent sign (%).\","},{"lineNumber":239,"author":{"gitId":"-"},"content":" actual);"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":243,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForCourseName_invalid_returnSpecificErrorString() {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" String invalidCourseName \u003d \"Vertical Bar | Course\";"},{"lineNumber":245,"author":{"gitId":"-"},"content":" String actual \u003d FieldValidator.getInvalidityInfoForCourseName(invalidCourseName);"},{"lineNumber":246,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid course name (invalid char) should return error string that is specific to course name\","},{"lineNumber":247,"author":{"gitId":"-"},"content":" \"\\\"Vertical Bar | Course\\\" is not acceptable to TEAMMATES as a/an course name because \""},{"lineNumber":248,"author":{"gitId":"-"},"content":" + \"it contains invalid characters. A/An course name must start with an alphanumeric \""},{"lineNumber":249,"author":{"gitId":"-"},"content":" + \"character, and cannot contain any vertical bar (|) or percent sign (%).\","},{"lineNumber":250,"author":{"gitId":"-"},"content":" actual);"},{"lineNumber":251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":254,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForFeedbackSessionName_invalid_returnSpecificErrorString() {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" String invalidSessionName \u003d StringHelperExtension.generateStringOfLength("},{"lineNumber":256,"author":{"gitId":"-"},"content":" FieldValidator.FEEDBACK_SESSION_NAME_MAX_LENGTH + 1);"},{"lineNumber":257,"author":{"gitId":"-"},"content":" String actual \u003d FieldValidator.getInvalidityInfoForFeedbackSessionName(invalidSessionName);"},{"lineNumber":258,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid feedback session name (too long) should return error message specific to feedback \""},{"lineNumber":259,"author":{"gitId":"-"},"content":" + \"session name\","},{"lineNumber":260,"author":{"gitId":"-"},"content":" \"\\\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\" \""},{"lineNumber":261,"author":{"gitId":"-"},"content":" + \"is not acceptable to TEAMMATES as a/an feedback session name because it is too long. \""},{"lineNumber":262,"author":{"gitId":"-"},"content":" + \"The value of a/an feedback session name should be no longer than 64 characters. \""},{"lineNumber":263,"author":{"gitId":"-"},"content":" + \"It should not be empty.\","},{"lineNumber":264,"author":{"gitId":"-"},"content":" actual);"},{"lineNumber":265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":268,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForRole_null_throwException() {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" assertThrows(AssertionError.class, () -\u003e FieldValidator.getInvalidityInfoForRole(null));"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":273,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForRole_valid_returnEmptyString() {"},{"lineNumber":274,"author":{"gitId":"-"},"content":" String validRole \u003d Const.InstructorPermissionRoleNames.INSTRUCTOR_PERMISSION_ROLE_COOWNER;"},{"lineNumber":275,"author":{"gitId":"-"},"content":" String actual \u003d FieldValidator.getInvalidityInfoForRole(validRole);"},{"lineNumber":276,"author":{"gitId":"-"},"content":" assertEquals(\"Valid role should return empty string\", \"\", actual);"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":280,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForRole_invalid_returnErrorString() {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" String invalidRole \u003d \"student leader\";"},{"lineNumber":282,"author":{"gitId":"-"},"content":" String actual \u003d FieldValidator.getInvalidityInfoForRole(invalidRole);"},{"lineNumber":283,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid role should return appropriate error string\","},{"lineNumber":284,"author":{"gitId":"-"},"content":" String.format(FieldValidator.ROLE_ERROR_MESSAGE, invalidRole),"},{"lineNumber":285,"author":{"gitId":"-"},"content":" actual);"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" invalidRole \u003d \"\u003cscript\u003e alert(\u0027hi!\u0027); \u003c/script\u003e\";"},{"lineNumber":288,"author":{"gitId":"-"},"content":" actual \u003d FieldValidator.getInvalidityInfoForRole(invalidRole);"},{"lineNumber":289,"author":{"gitId":"-"},"content":" assertEquals(\"Unsanitized, invalid role should return appropriate error string\","},{"lineNumber":290,"author":{"gitId":"-"},"content":" String.format(FieldValidator.ROLE_ERROR_MESSAGE, invalidRole), actual);"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":294,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForGoogleId_null_throwException() {"},{"lineNumber":295,"author":{"gitId":"-"},"content":" assertThrows(AssertionError.class, () -\u003e FieldValidator.getInvalidityInfoForGoogleId(null));"},{"lineNumber":296,"author":{"gitId":"-"},"content":" }"},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":299,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForGoogleId_valid_returnEmptyString() {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" String typicalId \u003d \"valid9.Goo-gle.id_\";"},{"lineNumber":301,"author":{"gitId":"-"},"content":" assertEquals(\"Valid Google ID (typical) should return empty string\", \"\","},{"lineNumber":302,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForGoogleId(typicalId));"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" String shortId \u003d \"e\";"},{"lineNumber":305,"author":{"gitId":"-"},"content":" assertEquals(\"Valid Google ID (short) should return empty string\", \"\","},{"lineNumber":306,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForGoogleId(shortId));"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" String emailAsId \u003d \"someone@yahoo.com\";"},{"lineNumber":309,"author":{"gitId":"-"},"content":" assertEquals(\"Valid Google ID (typical email) should return empty string\", \"\","},{"lineNumber":310,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForGoogleId(emailAsId));"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":" String shortEmailAsId \u003d \"e@y.c\";"},{"lineNumber":313,"author":{"gitId":"-"},"content":" assertEquals(\"Valid Google ID (short email) should return empty string\", \"\","},{"lineNumber":314,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForGoogleId(shortEmailAsId));"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" String maxLengthId \u003d StringHelperExtension.generateStringOfLength(FieldValidator.GOOGLE_ID_MAX_LENGTH);"},{"lineNumber":317,"author":{"gitId":"-"},"content":" assertEquals(\"Valid Google ID (max length) should return empty string\", \"\","},{"lineNumber":318,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForGoogleId(maxLengthId));"},{"lineNumber":319,"author":{"gitId":"-"},"content":" }"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":322,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForGoogleId_invalid_returnErrorString() {"},{"lineNumber":323,"author":{"gitId":"-"},"content":" String emptyId \u003d \"\";"},{"lineNumber":324,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid Google ID (empty) should return appropriate error message\","},{"lineNumber":325,"author":{"gitId":"-"},"content":" \"The field \u0027Google ID\u0027 is empty. A Google ID must be a valid id \""},{"lineNumber":326,"author":{"gitId":"-"},"content":" + \"already registered with Google. It cannot be longer than \""},{"lineNumber":327,"author":{"gitId":"-"},"content":" + \"254 characters, cannot be empty and cannot contain spaces.\","},{"lineNumber":328,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForGoogleId(emptyId));"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" String whitespaceId \u003d \" \";"},{"lineNumber":331,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid Google ID (contains whitespaces only) should return appropriate error message\","},{"lineNumber":332,"author":{"gitId":"-"},"content":" FieldValidator.WHITESPACE_ONLY_OR_EXTRA_WHITESPACE_ERROR_MESSAGE.replace("},{"lineNumber":333,"author":{"gitId":"-"},"content":" \"${fieldName}\", FieldValidator.GOOGLE_ID_FIELD_NAME),"},{"lineNumber":334,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForGoogleId(whitespaceId));"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"-"},"content":" String untrimmedId \u003d \" googleIdWithSpacesAround \";"},{"lineNumber":337,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid Google ID (leading/trailing whitespaces) should return appropriate error message\","},{"lineNumber":338,"author":{"gitId":"-"},"content":" FieldValidator.WHITESPACE_ONLY_OR_EXTRA_WHITESPACE_ERROR_MESSAGE.replace("},{"lineNumber":339,"author":{"gitId":"-"},"content":" \"${fieldName}\", FieldValidator.GOOGLE_ID_FIELD_NAME),"},{"lineNumber":340,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForGoogleId(untrimmedId));"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":" String tooLongId \u003d StringHelperExtension.generateStringOfLength(FieldValidator.GOOGLE_ID_MAX_LENGTH + 1);"},{"lineNumber":343,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid Google ID (too long) should return appropriate error message\","},{"lineNumber":344,"author":{"gitId":"-"},"content":" \"\\\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},{"lineNumber":345,"author":{"gitId":"-"},"content":" + \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},{"lineNumber":346,"author":{"gitId":"-"},"content":" + \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},{"lineNumber":347,"author":{"gitId":"-"},"content":" + \"aaaaaaaa\\\" is not acceptable to TEAMMATES as a/an Google ID because it is too \""},{"lineNumber":348,"author":{"gitId":"-"},"content":" + \"long. A Google ID must be a valid id already registered with Google. It cannot \""},{"lineNumber":349,"author":{"gitId":"-"},"content":" + \"be longer than 254 characters, cannot be empty and cannot contain spaces.\","},{"lineNumber":350,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForGoogleId(tooLongId));"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" String idWithSpaces \u003d \"invalid google id with spaces\";"},{"lineNumber":353,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid Google ID (with spaces) should return appropriate error message\","},{"lineNumber":354,"author":{"gitId":"-"},"content":" \"\\\"invalid google id with spaces\\\" is not acceptable to TEAMMATES as a/an Google ID \""},{"lineNumber":355,"author":{"gitId":"-"},"content":" + \"because it is not in the correct format. A Google ID must be a valid id already \""},{"lineNumber":356,"author":{"gitId":"-"},"content":" + \"registered with Google. It cannot be longer than 254 characters, cannot be empty \""},{"lineNumber":357,"author":{"gitId":"-"},"content":" + \"and cannot contain spaces.\","},{"lineNumber":358,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForGoogleId(idWithSpaces));"},{"lineNumber":359,"author":{"gitId":"-"},"content":""},{"lineNumber":360,"author":{"gitId":"-"},"content":" String idWithInvalidHtmlChar \u003d \"invalid google id with HTML/\u003c special characters\";"},{"lineNumber":361,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid Google ID (contains HTML characters) should return appropriate error message\","},{"lineNumber":362,"author":{"gitId":"-"},"content":" \"\\\"invalid google id with HTML/\u003c special characters\\\" is not acceptable to \""},{"lineNumber":363,"author":{"gitId":"-"},"content":" + \"TEAMMATES as a/an Google ID because it is not in the correct format. A Google ID \""},{"lineNumber":364,"author":{"gitId":"-"},"content":" + \"must be a valid id already registered with Google. It cannot be longer than 254 \""},{"lineNumber":365,"author":{"gitId":"-"},"content":" + \"characters, cannot be empty and cannot contain spaces.\","},{"lineNumber":366,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForGoogleId(idWithInvalidHtmlChar));"},{"lineNumber":367,"author":{"gitId":"-"},"content":" }"},{"lineNumber":368,"author":{"gitId":"-"},"content":""},{"lineNumber":369,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":370,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForEmail_null_throwException() {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" assertThrows(AssertionError.class, () -\u003e FieldValidator.getInvalidityInfoForEmail(null));"},{"lineNumber":372,"author":{"gitId":"-"},"content":" }"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":375,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForEmail_valid_returnEmptyString() {"},{"lineNumber":376,"author":{"gitId":"-"},"content":" String typicalEmail \u003d \"someone@yahoo.com\";"},{"lineNumber":377,"author":{"gitId":"-"},"content":" assertEquals(\"Valid email (typical) should return empty string\", \"\","},{"lineNumber":378,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForEmail(typicalEmail));"},{"lineNumber":379,"author":{"gitId":"-"},"content":""},{"lineNumber":380,"author":{"gitId":"-"},"content":" String shortEmail \u003d \"e@y.c\";"},{"lineNumber":381,"author":{"gitId":"-"},"content":" assertEquals(\"Valid email (short) should return empty string\", \"\","},{"lineNumber":382,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForEmail(shortEmail));"},{"lineNumber":383,"author":{"gitId":"-"},"content":""},{"lineNumber":384,"author":{"gitId":"-"},"content":" String maxLengthEmail \u003d StringHelperExtension.generateStringOfLength(FieldValidator.EMAIL_MAX_LENGTH - 6) + \"@c.gov\";"},{"lineNumber":385,"author":{"gitId":"-"},"content":" assertEquals(\"Valid email (max-length) should return empty string\", \"\","},{"lineNumber":386,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForEmail(maxLengthEmail));"},{"lineNumber":387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":388,"author":{"gitId":"-"},"content":""},{"lineNumber":389,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":390,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForEmail_invalid_returnErrorString() {"},{"lineNumber":391,"author":{"gitId":"-"},"content":" String emptyEmail \u003d \"\";"},{"lineNumber":392,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid email (empty) should return appropriate error string\","},{"lineNumber":393,"author":{"gitId":"-"},"content":" \"The field \u0027email\u0027 is empty. An email address contains some text followed by one \""},{"lineNumber":394,"author":{"gitId":"-"},"content":" + \"\u0027@\u0027 sign followed by some more text, and should end with a top level domain address like \""},{"lineNumber":395,"author":{"gitId":"-"},"content":" + \".com. It cannot be longer than 254 characters, cannot be empty and cannot contain spaces.\","},{"lineNumber":396,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForEmail(emptyEmail));"},{"lineNumber":397,"author":{"gitId":"-"},"content":""},{"lineNumber":398,"author":{"gitId":"-"},"content":" String untrimmedEmail \u003d \" untrimmed@email.com \";"},{"lineNumber":399,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid email (leading/trailing spaces) should return appropriate error string\","},{"lineNumber":400,"author":{"gitId":"-"},"content":" FieldValidator.WHITESPACE_ONLY_OR_EXTRA_WHITESPACE_ERROR_MESSAGE.replace("},{"lineNumber":401,"author":{"gitId":"-"},"content":" \"${fieldName}\", FieldValidator.EMAIL_FIELD_NAME),"},{"lineNumber":402,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForEmail(untrimmedEmail));"},{"lineNumber":403,"author":{"gitId":"-"},"content":""},{"lineNumber":404,"author":{"gitId":"-"},"content":" String whitespaceEmail \u003d \" \";"},{"lineNumber":405,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid email (only whitespaces) should return appropriate error string\","},{"lineNumber":406,"author":{"gitId":"-"},"content":" FieldValidator.WHITESPACE_ONLY_OR_EXTRA_WHITESPACE_ERROR_MESSAGE.replace("},{"lineNumber":407,"author":{"gitId":"-"},"content":" \"${fieldName}\", FieldValidator.EMAIL_FIELD_NAME),"},{"lineNumber":408,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForEmail(whitespaceEmail));"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" String tooLongEmail \u003d StringHelperExtension.generateStringOfLength(FieldValidator.EMAIL_MAX_LENGTH + 1) + \"@c.gov\";"},{"lineNumber":411,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid email (too long) should return appropriate error string\","},{"lineNumber":412,"author":{"gitId":"-"},"content":" \"\\\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},{"lineNumber":413,"author":{"gitId":"-"},"content":" + \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},{"lineNumber":414,"author":{"gitId":"-"},"content":" + \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""},{"lineNumber":415,"author":{"gitId":"-"},"content":" + \"aaaaaaaa@c.gov\\\" is not acceptable to TEAMMATES as a/an email because it is too \""},{"lineNumber":416,"author":{"gitId":"-"},"content":" + \"long. An email address contains some text followed by one \u0027@\u0027 sign followed by \""},{"lineNumber":417,"author":{"gitId":"-"},"content":" + \"some more text, and should end with a top level domain address like .com. \""},{"lineNumber":418,"author":{"gitId":"-"},"content":" + \"It cannot be longer than 254 characters, cannot be empty and \""},{"lineNumber":419,"author":{"gitId":"-"},"content":" + \"cannot contain spaces.\","},{"lineNumber":420,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForEmail(tooLongEmail));"},{"lineNumber":421,"author":{"gitId":"-"},"content":""},{"lineNumber":422,"author":{"gitId":"-"},"content":" String emailWithSpaceAfterAtSymbol \u003d \"woMAN@com. sg\";"},{"lineNumber":423,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid email (space character after \u0027@\u0027) should return appropriate error string\","},{"lineNumber":424,"author":{"gitId":"-"},"content":" \"\\\"woMAN@com. sg\\\" is not acceptable to TEAMMATES as a/an email because it is not in \""},{"lineNumber":425,"author":{"gitId":"-"},"content":" + \"the correct format. An email address contains some text followed by one \u0027@\u0027 sign \""},{"lineNumber":426,"author":{"gitId":"-"},"content":" + \"followed by some more text, and should end with a top level domain address like .com. \""},{"lineNumber":427,"author":{"gitId":"-"},"content":" + \"It cannot be longer than 254 characters, cannot be \""},{"lineNumber":428,"author":{"gitId":"-"},"content":" + \"empty and cannot contain spaces.\","},{"lineNumber":429,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForEmail(emailWithSpaceAfterAtSymbol));"},{"lineNumber":430,"author":{"gitId":"-"},"content":""},{"lineNumber":431,"author":{"gitId":"-"},"content":" String emailWithSpaceBeforeAtSymbol \u003d \"man woman@com.sg\";"},{"lineNumber":432,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid email (space character before \u0027@\u0027) should return appropriate error string\","},{"lineNumber":433,"author":{"gitId":"-"},"content":" \"\\\"man woman@com.sg\\\" is not acceptable to TEAMMATES as a/an email because it \""},{"lineNumber":434,"author":{"gitId":"-"},"content":" + \"is not in the correct format. An email address contains some text followed by \""},{"lineNumber":435,"author":{"gitId":"-"},"content":" + \"one \u0027@\u0027 sign followed by some more text, and should end with a top level domain address \""},{"lineNumber":436,"author":{"gitId":"-"},"content":" + \"like .com. It cannot be longer than 254 \""},{"lineNumber":437,"author":{"gitId":"-"},"content":" + \"characters, cannot be empty and cannot contain spaces.\","},{"lineNumber":438,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForEmail(emailWithSpaceBeforeAtSymbol));"},{"lineNumber":439,"author":{"gitId":"-"},"content":""},{"lineNumber":440,"author":{"gitId":"-"},"content":" String emailWithMultipleAtSymbol \u003d \"man@woman@com.lk\";"},{"lineNumber":441,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid email (multiple \u0027@\u0027 characters) should return appropriate error string\","},{"lineNumber":442,"author":{"gitId":"-"},"content":" \"\\\"man@woman@com.lk\\\" is not acceptable to TEAMMATES as a/an email because it is not \""},{"lineNumber":443,"author":{"gitId":"-"},"content":" + \"in the correct format. An email address contains some text followed by one \u0027@\u0027 \""},{"lineNumber":444,"author":{"gitId":"-"},"content":" + \"sign followed by some more text, and should end with a top level domain address like .com. \""},{"lineNumber":445,"author":{"gitId":"-"},"content":" + \"It cannot be longer than 254 characters, \""},{"lineNumber":446,"author":{"gitId":"-"},"content":" + \"cannot be empty and cannot contain spaces.\","},{"lineNumber":447,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForEmail(emailWithMultipleAtSymbol));"},{"lineNumber":448,"author":{"gitId":"-"},"content":" }"},{"lineNumber":449,"author":{"gitId":"-"},"content":""},{"lineNumber":450,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":451,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForCourseId_null_throwException() {"},{"lineNumber":452,"author":{"gitId":"-"},"content":" assertThrows(AssertionError.class, () -\u003e FieldValidator.getInvalidityInfoForCourseId(null));"},{"lineNumber":453,"author":{"gitId":"-"},"content":" }"},{"lineNumber":454,"author":{"gitId":"-"},"content":""},{"lineNumber":455,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":456,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForCourseId_valid_returnEmptyString() {"},{"lineNumber":457,"author":{"gitId":"-"},"content":" String typicalCourseId \u003d \"cs1101-sem1.2_\";"},{"lineNumber":458,"author":{"gitId":"-"},"content":" assertEquals(\"Valid Course ID (typical) should return empty string\", \"\","},{"lineNumber":459,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForCourseId(typicalCourseId));"},{"lineNumber":460,"author":{"gitId":"-"},"content":""},{"lineNumber":461,"author":{"gitId":"-"},"content":" String shortCourseId \u003d \"c\";"},{"lineNumber":462,"author":{"gitId":"-"},"content":" assertEquals(\"Valid Course ID (short) should return empty string\", \"\","},{"lineNumber":463,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForCourseId(shortCourseId));"},{"lineNumber":464,"author":{"gitId":"-"},"content":""},{"lineNumber":465,"author":{"gitId":"-"},"content":" String maxLengthCourseId \u003d StringHelperExtension.generateStringOfLength("},{"lineNumber":466,"author":{"gitId":"-"},"content":" FieldValidator.COURSE_ID_MAX_LENGTH);"},{"lineNumber":467,"author":{"gitId":"-"},"content":" assertEquals(\"Valid Course ID (max length) should return empty string\", \"\","},{"lineNumber":468,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForCourseId(maxLengthCourseId));"},{"lineNumber":469,"author":{"gitId":"-"},"content":" }"},{"lineNumber":470,"author":{"gitId":"-"},"content":""},{"lineNumber":471,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":472,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForCourseId_invalid_returnErrorString() {"},{"lineNumber":473,"author":{"gitId":"-"},"content":" String emptyCourseId \u003d \"\";"},{"lineNumber":474,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid Course ID (empty) should return appropriate error string\","},{"lineNumber":475,"author":{"gitId":"-"},"content":" \"The field \u0027course ID\u0027 is empty. A course ID can contain letters, numbers, \""},{"lineNumber":476,"author":{"gitId":"-"},"content":" + \"fullstops, hyphens, underscores, and dollar signs. It cannot be \""},{"lineNumber":477,"author":{"gitId":"-"},"content":" + \"longer than 64 characters, cannot be empty and cannot contain spaces.\","},{"lineNumber":478,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForCourseId(emptyCourseId));"},{"lineNumber":479,"author":{"gitId":"-"},"content":""},{"lineNumber":480,"author":{"gitId":"-"},"content":" String untrimmedCourseId \u003d \" $cs1101-sem1.2_ \";"},{"lineNumber":481,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid Course ID (untrimmed) should return appropriate error string\","},{"lineNumber":482,"author":{"gitId":"-"},"content":" FieldValidator.WHITESPACE_ONLY_OR_EXTRA_WHITESPACE_ERROR_MESSAGE.replace("},{"lineNumber":483,"author":{"gitId":"-"},"content":" \"${fieldName}\", FieldValidator.COURSE_ID_FIELD_NAME),"},{"lineNumber":484,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForCourseId(untrimmedCourseId));"},{"lineNumber":485,"author":{"gitId":"-"},"content":""},{"lineNumber":486,"author":{"gitId":"-"},"content":" String whitespaceOnlyCourseId \u003d \" \";"},{"lineNumber":487,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid Course ID (whitespace only) should return appropriate error string\","},{"lineNumber":488,"author":{"gitId":"-"},"content":" FieldValidator.WHITESPACE_ONLY_OR_EXTRA_WHITESPACE_ERROR_MESSAGE.replace("},{"lineNumber":489,"author":{"gitId":"-"},"content":" \"${fieldName}\", FieldValidator.COURSE_ID_FIELD_NAME),"},{"lineNumber":490,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForCourseId(whitespaceOnlyCourseId));"},{"lineNumber":491,"author":{"gitId":"-"},"content":""},{"lineNumber":492,"author":{"gitId":"-"},"content":" String tooLongCourseId \u003d StringHelperExtension.generateStringOfLength("},{"lineNumber":493,"author":{"gitId":"-"},"content":" FieldValidator.COURSE_ID_MAX_LENGTH + 1);"},{"lineNumber":494,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid Course ID (too long) should return appropriate error string\","},{"lineNumber":495,"author":{"gitId":"-"},"content":" \"\\\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\\" \""},{"lineNumber":496,"author":{"gitId":"-"},"content":" + \"is not acceptable to TEAMMATES as a/an course ID because it is too long. \""},{"lineNumber":497,"author":{"gitId":"-"},"content":" + \"A course ID can contain letters, numbers, fullstops, hyphens, underscores, \""},{"lineNumber":498,"author":{"gitId":"-"},"content":" + \"and dollar signs. It cannot be longer than 64 characters, \""},{"lineNumber":499,"author":{"gitId":"-"},"content":" + \"cannot be empty and cannot contain spaces.\","},{"lineNumber":500,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForCourseId(tooLongCourseId));"},{"lineNumber":501,"author":{"gitId":"-"},"content":""},{"lineNumber":502,"author":{"gitId":"-"},"content":" String courseIdWithSpaces \u003d \"my course id with spaces\";"},{"lineNumber":503,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid Course ID (contains spaces) should return appropriate error string\","},{"lineNumber":504,"author":{"gitId":"-"},"content":" \"\\\"my course id with spaces\\\" is not acceptable to TEAMMATES as a/an course ID because \""},{"lineNumber":505,"author":{"gitId":"-"},"content":" + \"it is not in the correct format. A course ID can contain letters, numbers, \""},{"lineNumber":506,"author":{"gitId":"-"},"content":" + \"fullstops, hyphens, underscores, and dollar signs. It cannot be longer than 64 \""},{"lineNumber":507,"author":{"gitId":"-"},"content":" + \"characters, cannot be empty and cannot contain spaces.\","},{"lineNumber":508,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForCourseId(courseIdWithSpaces));"},{"lineNumber":509,"author":{"gitId":"-"},"content":""},{"lineNumber":510,"author":{"gitId":"-"},"content":" String courseIdWithInvalidChar \u003d \"cour@s*hy#\";"},{"lineNumber":511,"author":{"gitId":"-"},"content":" assertEquals(\"Invalid Course ID (invalid char) should return appropriate error string\","},{"lineNumber":512,"author":{"gitId":"-"},"content":" \"\\\"cour@s*hy#\\\" is not acceptable to TEAMMATES as a/an course ID because it is not in \""},{"lineNumber":513,"author":{"gitId":"-"},"content":" + \"the correct format. A course ID can contain letters, numbers, fullstops, \""},{"lineNumber":514,"author":{"gitId":"-"},"content":" + \"hyphens, underscores, and dollar signs. It cannot be longer than 64 characters, \""},{"lineNumber":515,"author":{"gitId":"-"},"content":" + \"cannot be empty and cannot contain spaces.\","},{"lineNumber":516,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForCourseId(courseIdWithInvalidChar));"},{"lineNumber":517,"author":{"gitId":"-"},"content":" }"},{"lineNumber":518,"author":{"gitId":"-"},"content":""},{"lineNumber":519,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":520,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForNewStartTime_valid_returnEmptyString() {"},{"lineNumber":521,"author":{"gitId":"-"},"content":" Instant earliestSessionStart \u003d TimeHelperExtension"},{"lineNumber":522,"author":{"gitId":"-"},"content":" .getInstantHoursOffsetFromNow(-1)"},{"lineNumber":523,"author":{"gitId":"-"},"content":" .truncatedTo(ChronoUnit.HOURS);"},{"lineNumber":524,"author":{"gitId":"-"},"content":" assertEquals(\"\", FieldValidator.getInvalidityInfoForNewStartTime(earliestSessionStart, Const.DEFAULT_TIME_ZONE));"},{"lineNumber":525,"author":{"gitId":"-"},"content":""},{"lineNumber":526,"author":{"gitId":"-"},"content":" Instant latestSessionStart \u003d TimeHelperExtension"},{"lineNumber":527,"author":{"gitId":"-"},"content":" .getInstantDaysOffsetFromNow(90)"},{"lineNumber":528,"author":{"gitId":"-"},"content":" .truncatedTo(ChronoUnit.HOURS);"},{"lineNumber":529,"author":{"gitId":"-"},"content":" assertEquals(\"\", FieldValidator.getInvalidityInfoForNewStartTime(latestSessionStart, Const.DEFAULT_TIME_ZONE));"},{"lineNumber":530,"author":{"gitId":"-"},"content":" }"},{"lineNumber":531,"author":{"gitId":"-"},"content":""},{"lineNumber":532,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":533,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForNewStartTime_invalid_returnErrorString() {"},{"lineNumber":534,"author":{"gitId":"-"},"content":" Instant threeHoursBeforeNowRounded \u003d TimeHelperExtension"},{"lineNumber":535,"author":{"gitId":"-"},"content":" .getInstantHoursOffsetFromNow(-3)"},{"lineNumber":536,"author":{"gitId":"-"},"content":" .truncatedTo(ChronoUnit.HOURS);"},{"lineNumber":537,"author":{"gitId":"-"},"content":" assertEquals(\"The start time for this feedback session cannot be earlier than 2 hours before now.\","},{"lineNumber":538,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForNewStartTime(threeHoursBeforeNowRounded, Const.DEFAULT_TIME_ZONE));"},{"lineNumber":539,"author":{"gitId":"-"},"content":""},{"lineNumber":540,"author":{"gitId":"-"},"content":" Instant thirteenMonthsFromNow \u003d TimeHelperExtension"},{"lineNumber":541,"author":{"gitId":"-"},"content":" .getInstantMonthsOffsetFromNow(13, Const.DEFAULT_TIME_ZONE)"},{"lineNumber":542,"author":{"gitId":"-"},"content":" .truncatedTo(ChronoUnit.HOURS);"},{"lineNumber":543,"author":{"gitId":"-"},"content":" assertEquals(\"The start time for this feedback session cannot be later than 12 months from now.\","},{"lineNumber":544,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForNewStartTime(thirteenMonthsFromNow, Const.DEFAULT_TIME_ZONE));"},{"lineNumber":545,"author":{"gitId":"-"},"content":""},{"lineNumber":546,"author":{"gitId":"-"},"content":" Instant notAtHourMark \u003d TimeHelperExtension"},{"lineNumber":547,"author":{"gitId":"-"},"content":" .getInstantHoursOffsetFromNow(1)"},{"lineNumber":548,"author":{"gitId":"-"},"content":" .truncatedTo(ChronoUnit.HOURS)"},{"lineNumber":549,"author":{"gitId":"-"},"content":" .plus(Duration.ofMinutes(30));"},{"lineNumber":550,"author":{"gitId":"-"},"content":" assertEquals(\"The start time for this feedback session must be at exact hour mark.\","},{"lineNumber":551,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForNewStartTime(notAtHourMark, Const.DEFAULT_TIME_ZONE));"},{"lineNumber":552,"author":{"gitId":"-"},"content":" }"},{"lineNumber":553,"author":{"gitId":"-"},"content":""},{"lineNumber":554,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":555,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForNewEndTime_valid_returnEmptyString() {"},{"lineNumber":556,"author":{"gitId":"-"},"content":" Instant earliestSessionEnd \u003d TimeHelperExtension"},{"lineNumber":557,"author":{"gitId":"-"},"content":" .getInstantHoursOffsetFromNow(0)"},{"lineNumber":558,"author":{"gitId":"-"},"content":" .truncatedTo(ChronoUnit.HOURS);"},{"lineNumber":559,"author":{"gitId":"-"},"content":" assertEquals(\"\", FieldValidator.getInvalidityInfoForNewEndTime(earliestSessionEnd, Const.DEFAULT_TIME_ZONE));"},{"lineNumber":560,"author":{"gitId":"-"},"content":""},{"lineNumber":561,"author":{"gitId":"-"},"content":" Instant latestSessionEnd \u003d TimeHelperExtension"},{"lineNumber":562,"author":{"gitId":"-"},"content":" .getInstantDaysOffsetFromNow(180)"},{"lineNumber":563,"author":{"gitId":"-"},"content":" .truncatedTo(ChronoUnit.HOURS);"},{"lineNumber":564,"author":{"gitId":"-"},"content":" assertEquals(\"\", FieldValidator.getInvalidityInfoForNewEndTime(latestSessionEnd, Const.DEFAULT_TIME_ZONE));"},{"lineNumber":565,"author":{"gitId":"-"},"content":" }"},{"lineNumber":566,"author":{"gitId":"-"},"content":""},{"lineNumber":567,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":568,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForNewEndTime_invalid_returnErrorString() {"},{"lineNumber":569,"author":{"gitId":"-"},"content":" Instant twoHoursBeforeNowRounded \u003d TimeHelperExtension"},{"lineNumber":570,"author":{"gitId":"-"},"content":" .getInstantHoursOffsetFromNow(-2)"},{"lineNumber":571,"author":{"gitId":"-"},"content":" .truncatedTo(ChronoUnit.HOURS);"},{"lineNumber":572,"author":{"gitId":"-"},"content":" assertEquals(\"The end time for this feedback session cannot be earlier than 1 hour before now.\","},{"lineNumber":573,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForNewEndTime(twoHoursBeforeNowRounded, Const.DEFAULT_TIME_ZONE));"},{"lineNumber":574,"author":{"gitId":"-"},"content":""},{"lineNumber":575,"author":{"gitId":"-"},"content":" Instant thirteenMonthsFromNow \u003d TimeHelperExtension"},{"lineNumber":576,"author":{"gitId":"-"},"content":" .getInstantMonthsOffsetFromNow(13, Const.DEFAULT_TIME_ZONE)"},{"lineNumber":577,"author":{"gitId":"-"},"content":" .truncatedTo(ChronoUnit.HOURS);"},{"lineNumber":578,"author":{"gitId":"-"},"content":" assertEquals(\"The end time for this feedback session cannot be later than 12 months from now.\","},{"lineNumber":579,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForNewEndTime(thirteenMonthsFromNow,"},{"lineNumber":580,"author":{"gitId":"-"},"content":" Const.DEFAULT_TIME_ZONE));"},{"lineNumber":581,"author":{"gitId":"-"},"content":""},{"lineNumber":582,"author":{"gitId":"-"},"content":" Instant notAtHourMark \u003d TimeHelperExtension"},{"lineNumber":583,"author":{"gitId":"-"},"content":" .getInstantHoursOffsetFromNow(1)"},{"lineNumber":584,"author":{"gitId":"-"},"content":" .truncatedTo(ChronoUnit.HOURS)"},{"lineNumber":585,"author":{"gitId":"-"},"content":" .plus(Duration.ofMinutes(30));"},{"lineNumber":586,"author":{"gitId":"-"},"content":" assertEquals(\"The end time for this feedback session must be at exact hour mark.\","},{"lineNumber":587,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForNewEndTime(notAtHourMark, Const.DEFAULT_TIME_ZONE));"},{"lineNumber":588,"author":{"gitId":"-"},"content":" }"},{"lineNumber":589,"author":{"gitId":"-"},"content":""},{"lineNumber":590,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":591,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForTimeForSessionStartAndEnd_valid_returnEmptyString() {"},{"lineNumber":592,"author":{"gitId":"-"},"content":" Instant sessionStart \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(-1);"},{"lineNumber":593,"author":{"gitId":"-"},"content":" Instant sessionEnd \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(1);"},{"lineNumber":594,"author":{"gitId":"-"},"content":" assertEquals(\"\", FieldValidator.getInvalidityInfoForTimeForSessionStartAndEnd(sessionStart, sessionEnd));"},{"lineNumber":595,"author":{"gitId":"-"},"content":" }"},{"lineNumber":596,"author":{"gitId":"-"},"content":""},{"lineNumber":597,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":598,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForTimeForSessionStartAndEnd_invalid_returnErrorString() {"},{"lineNumber":599,"author":{"gitId":"-"},"content":" Instant sessionStart \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(1);"},{"lineNumber":600,"author":{"gitId":"-"},"content":" Instant sessionEnd \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(-1);"},{"lineNumber":601,"author":{"gitId":"-"},"content":" assertEquals(\"The end time for this feedback session cannot be earlier than the start time.\","},{"lineNumber":602,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForSessionStartAndEnd(sessionStart, sessionEnd));"},{"lineNumber":603,"author":{"gitId":"-"},"content":" }"},{"lineNumber":604,"author":{"gitId":"-"},"content":""},{"lineNumber":605,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":606,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForTimeForVisibilityStartAndSessionStart_valid_returnEmptyString() {"},{"lineNumber":607,"author":{"gitId":"-"},"content":" Instant visibilityStart \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(-1);"},{"lineNumber":608,"author":{"gitId":"-"},"content":" Instant sessionStart \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(1);"},{"lineNumber":609,"author":{"gitId":"-"},"content":" assertEquals(\"\","},{"lineNumber":610,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForVisibilityStartAndSessionStart("},{"lineNumber":611,"author":{"gitId":"-"},"content":" visibilityStart, sessionStart));"},{"lineNumber":612,"author":{"gitId":"-"},"content":" }"},{"lineNumber":613,"author":{"gitId":"-"},"content":""},{"lineNumber":614,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":615,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForTimeForVisibilityStartAndSessionStart_invalid_returnErrorString() {"},{"lineNumber":616,"author":{"gitId":"-"},"content":" Instant visibilityStart \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(1);"},{"lineNumber":617,"author":{"gitId":"-"},"content":" Instant sessionStart \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(-1);"},{"lineNumber":618,"author":{"gitId":"-"},"content":" assertEquals(\"The start time for this feedback session cannot be earlier than the time when the \""},{"lineNumber":619,"author":{"gitId":"-"},"content":" + \"session will be visible.\","},{"lineNumber":620,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForVisibilityStartAndSessionStart("},{"lineNumber":621,"author":{"gitId":"-"},"content":" visibilityStart, sessionStart));"},{"lineNumber":622,"author":{"gitId":"-"},"content":" }"},{"lineNumber":623,"author":{"gitId":"-"},"content":""},{"lineNumber":624,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":625,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForTimeForNewVisibilityStart_valid_returnEmptyString() {"},{"lineNumber":626,"author":{"gitId":"-"},"content":" Instant sessionStart \u003d TimeHelperExtension.getInstantDaysOffsetFromNow(1);"},{"lineNumber":627,"author":{"gitId":"-"},"content":" Instant visibilityStart \u003d sessionStart.plus(Duration.ofDays(29));"},{"lineNumber":628,"author":{"gitId":"-"},"content":" assertEquals(\"\", FieldValidator.getInvalidityInfoForTimeForNewVisibilityStart("},{"lineNumber":629,"author":{"gitId":"-"},"content":" visibilityStart, sessionStart));"},{"lineNumber":630,"author":{"gitId":"-"},"content":" }"},{"lineNumber":631,"author":{"gitId":"-"},"content":""},{"lineNumber":632,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":633,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForTimeForNewVisibilityStart_invalid_returnErrorString() {"},{"lineNumber":634,"author":{"gitId":"-"},"content":" Instant sessionStart \u003d TimeHelperExtension.getInstantDaysOffsetFromNow(1);"},{"lineNumber":635,"author":{"gitId":"-"},"content":" Instant thirtyOneDaysBeforeSessionStart \u003d TimeHelperExtension.getInstantDaysOffsetFromNow(-31);"},{"lineNumber":636,"author":{"gitId":"-"},"content":" assertEquals(\"The time when the session will be visible for this feedback session cannot be \""},{"lineNumber":637,"author":{"gitId":"-"},"content":" + \"earlier than 30 days before start time.\","},{"lineNumber":638,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForNewVisibilityStart("},{"lineNumber":639,"author":{"gitId":"-"},"content":" thirtyOneDaysBeforeSessionStart, sessionStart));"},{"lineNumber":640,"author":{"gitId":"-"},"content":" }"},{"lineNumber":641,"author":{"gitId":"-"},"content":""},{"lineNumber":642,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":643,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForTimeForVisibilityStartAndResultsPublish_valid_returnEmptyString() {"},{"lineNumber":644,"author":{"gitId":"-"},"content":" Instant visibilityStart \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(-1);"},{"lineNumber":645,"author":{"gitId":"-"},"content":" Instant resultsPublish \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(1);"},{"lineNumber":646,"author":{"gitId":"-"},"content":" assertEquals(\"\","},{"lineNumber":647,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForVisibilityStartAndResultsPublish("},{"lineNumber":648,"author":{"gitId":"-"},"content":" visibilityStart, resultsPublish));"},{"lineNumber":649,"author":{"gitId":"-"},"content":" }"},{"lineNumber":650,"author":{"gitId":"-"},"content":""},{"lineNumber":651,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":652,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForTimeForVisibilityStartAndResultsPublish_invalid_returnErrorString() {"},{"lineNumber":653,"author":{"gitId":"-"},"content":" Instant visibilityStart \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(1);"},{"lineNumber":654,"author":{"gitId":"-"},"content":" Instant resultsPublish \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(-1);"},{"lineNumber":655,"author":{"gitId":"-"},"content":" assertEquals(\"The time when the results will be visible for this feedback session cannot be \""},{"lineNumber":656,"author":{"gitId":"-"},"content":" + \"earlier than the time when the session will be visible.\","},{"lineNumber":657,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForVisibilityStartAndResultsPublish("},{"lineNumber":658,"author":{"gitId":"-"},"content":" visibilityStart, resultsPublish));"},{"lineNumber":659,"author":{"gitId":"-"},"content":" }"},{"lineNumber":660,"author":{"gitId":"-"},"content":""},{"lineNumber":661,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":662,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForTimeForSessionEndAndExtendedDeadlines_valid_returnEmptyString() {"},{"lineNumber":663,"author":{"gitId":"-"},"content":" Instant sessionEnd \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(-1);"},{"lineNumber":664,"author":{"gitId":"-"},"content":" Map\u003cString, Instant\u003e extendedDeadlines \u003d new HashMap\u003c\u003e();"},{"lineNumber":665,"author":{"gitId":"-"},"content":" extendedDeadlines.put(\"participant@email.com\", TimeHelperExtension.getInstantHoursOffsetFromNow(1));"},{"lineNumber":666,"author":{"gitId":"-"},"content":" assertEquals(\"\","},{"lineNumber":667,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForSessionEndAndExtendedDeadlines("},{"lineNumber":668,"author":{"gitId":"-"},"content":" sessionEnd, extendedDeadlines));"},{"lineNumber":669,"author":{"gitId":"-"},"content":" }"},{"lineNumber":670,"author":{"gitId":"-"},"content":""},{"lineNumber":671,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":672,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForTimeForSessionEndAndExtendedDeadlines_invalid_returnErrorString() {"},{"lineNumber":673,"author":{"gitId":"-"},"content":" ______TS(\"extended deadline earlier than the end time\");"},{"lineNumber":674,"author":{"gitId":"-"},"content":" Instant sessionEnd \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(1);"},{"lineNumber":675,"author":{"gitId":"-"},"content":" Map\u003cString, Instant\u003e extendedDeadlines \u003d new HashMap\u003c\u003e();"},{"lineNumber":676,"author":{"gitId":"-"},"content":" extendedDeadlines.put(\"participant@email.com\", TimeHelperExtension.getInstantHoursOffsetFromNow(-1));"},{"lineNumber":677,"author":{"gitId":"-"},"content":" assertEquals(\"The extended deadlines for this feedback session cannot be earlier than or at the same time as \""},{"lineNumber":678,"author":{"gitId":"-"},"content":" + \"the end time.\","},{"lineNumber":679,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForSessionEndAndExtendedDeadlines("},{"lineNumber":680,"author":{"gitId":"-"},"content":" sessionEnd, extendedDeadlines));"},{"lineNumber":681,"author":{"gitId":"-"},"content":""},{"lineNumber":682,"author":{"gitId":"-"},"content":" ______TS(\"extended deadline at the same time as the end time\");"},{"lineNumber":683,"author":{"gitId":"-"},"content":" extendedDeadlines.put(\"participant@email.com\", sessionEnd);"},{"lineNumber":684,"author":{"gitId":"-"},"content":" assertEquals(\"The extended deadlines for this feedback session cannot be earlier than or at the same time as \""},{"lineNumber":685,"author":{"gitId":"-"},"content":" + \"the end time.\","},{"lineNumber":686,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForSessionEndAndExtendedDeadlines("},{"lineNumber":687,"author":{"gitId":"-"},"content":" sessionEnd, extendedDeadlines));"},{"lineNumber":688,"author":{"gitId":"-"},"content":" }"},{"lineNumber":689,"author":{"gitId":"-"},"content":""},{"lineNumber":690,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":691,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForTimeForNotificationStartAndEnd_valid_returnEmptyString() {"},{"lineNumber":692,"author":{"gitId":"-"},"content":" Instant notificationStart \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(-1);"},{"lineNumber":693,"author":{"gitId":"-"},"content":" Instant notificationEnd \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(1);"},{"lineNumber":694,"author":{"gitId":"-"},"content":""},{"lineNumber":695,"author":{"gitId":"-"},"content":" assertEquals(\"\","},{"lineNumber":696,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForNotificationStartAndEnd("},{"lineNumber":697,"author":{"gitId":"-"},"content":" notificationStart, notificationEnd));"},{"lineNumber":698,"author":{"gitId":"-"},"content":" }"},{"lineNumber":699,"author":{"gitId":"-"},"content":""},{"lineNumber":700,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":701,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForTimeForNotificationStartAndEnd_inValid_returnErrorString() {"},{"lineNumber":702,"author":{"gitId":"-"},"content":" Instant notificationStart \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(1);"},{"lineNumber":703,"author":{"gitId":"-"},"content":" Instant notificationEnd \u003d TimeHelperExtension.getInstantHoursOffsetFromNow(-1);"},{"lineNumber":704,"author":{"gitId":"-"},"content":""},{"lineNumber":705,"author":{"gitId":"-"},"content":" assertEquals(\"The time when the notification will expire for this notification cannot be earlier \""},{"lineNumber":706,"author":{"gitId":"-"},"content":" + \"than the time when the notification will be visible.\","},{"lineNumber":707,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForTimeForNotificationStartAndEnd("},{"lineNumber":708,"author":{"gitId":"-"},"content":" notificationStart, notificationEnd));"},{"lineNumber":709,"author":{"gitId":"-"},"content":" }"},{"lineNumber":710,"author":{"gitId":"-"},"content":""},{"lineNumber":711,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":712,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForNotificationTitle_valid_returnEmptyString() {"},{"lineNumber":713,"author":{"gitId":"-"},"content":" assertEquals(\"\", FieldValidator.getInvalidityInfoForNotificationTitle(\"valid title\"));"},{"lineNumber":714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":715,"author":{"gitId":"-"},"content":""},{"lineNumber":716,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":717,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForNotificationTitle_inValid_returnErrorString() {"},{"lineNumber":718,"author":{"gitId":"-"},"content":" ______TS(\"Empty notification title\");"},{"lineNumber":719,"author":{"gitId":"-"},"content":" assertEquals(\"The field \u0027notification title\u0027 is empty.\","},{"lineNumber":720,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForNotificationTitle(\"\"));"},{"lineNumber":721,"author":{"gitId":"-"},"content":""},{"lineNumber":722,"author":{"gitId":"-"},"content":" ______TS(\"Notification title exceeds maximum length\");"},{"lineNumber":723,"author":{"gitId":"-"},"content":" String invalidNotificationTitle \u003d StringHelperExtension.generateStringOfLength("},{"lineNumber":724,"author":{"gitId":"-"},"content":" FieldValidator.NOTIFICATION_TITLE_MAX_LENGTH + 1);"},{"lineNumber":725,"author":{"gitId":"-"},"content":" assertEquals(\"\\\"\" + invalidNotificationTitle + \"\\\" is not acceptable to TEAMMATES as a/an \""},{"lineNumber":726,"author":{"gitId":"-"},"content":" + \"notification title because it is too long. \""},{"lineNumber":727,"author":{"gitId":"-"},"content":" + \"The value of a/an notification title should be no longer than \""},{"lineNumber":728,"author":{"gitId":"-"},"content":" + FieldValidator.NOTIFICATION_TITLE_MAX_LENGTH"},{"lineNumber":729,"author":{"gitId":"-"},"content":" + \" characters. It should not be empty.\","},{"lineNumber":730,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForNotificationTitle(invalidNotificationTitle));"},{"lineNumber":731,"author":{"gitId":"-"},"content":" }"},{"lineNumber":732,"author":{"gitId":"-"},"content":""},{"lineNumber":733,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":734,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForNotificationBody_valid_returnEmptyString() {"},{"lineNumber":735,"author":{"gitId":"-"},"content":" assertEquals(\"\", FieldValidator.getInvalidityInfoForNotificationBody(\"valid body\"));"},{"lineNumber":736,"author":{"gitId":"-"},"content":" }"},{"lineNumber":737,"author":{"gitId":"-"},"content":""},{"lineNumber":738,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":739,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForNotificationBody_inValid_returnErrorString() {"},{"lineNumber":740,"author":{"gitId":"-"},"content":" assertEquals(\"The field \u0027notification message\u0027 is empty.\","},{"lineNumber":741,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForNotificationBody(\"\"));"},{"lineNumber":742,"author":{"gitId":"-"},"content":" }"},{"lineNumber":743,"author":{"gitId":"-"},"content":""},{"lineNumber":744,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":745,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForNotificationStyle_valid_returnEmptyString() {"},{"lineNumber":746,"author":{"gitId":"-"},"content":" assertEquals(\"\", FieldValidator.getInvalidityInfoForNotificationStyle(\"SUCCESS\"));"},{"lineNumber":747,"author":{"gitId":"-"},"content":" }"},{"lineNumber":748,"author":{"gitId":"-"},"content":""},{"lineNumber":749,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":750,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForNotificationStyle_inValid_returnErrorString() {"},{"lineNumber":751,"author":{"gitId":"-"},"content":" String invalidStyle \u003d \"invalid style\";"},{"lineNumber":752,"author":{"gitId":"-"},"content":" assertEquals(\"\\\"\" + invalidStyle + \"\\\" is not an accepted notification style to TEAMMATES. \","},{"lineNumber":753,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForNotificationStyle(invalidStyle));"},{"lineNumber":754,"author":{"gitId":"-"},"content":" }"},{"lineNumber":755,"author":{"gitId":"-"},"content":""},{"lineNumber":756,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":757,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForNotificationTargetUser_valid_returnEmptyString() {"},{"lineNumber":758,"author":{"gitId":"-"},"content":" assertEquals(\"\", FieldValidator.getInvalidityInfoForNotificationTargetUser(\"GENERAL\"));"},{"lineNumber":759,"author":{"gitId":"-"},"content":" }"},{"lineNumber":760,"author":{"gitId":"-"},"content":""},{"lineNumber":761,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":762,"author":{"gitId":"-"},"content":" public void testGetInvalidityInfoForNotificationTargetUser_inValid_returnErrorString() {"},{"lineNumber":763,"author":{"gitId":"-"},"content":" String invalidUser \u003d \"invalid user\";"},{"lineNumber":764,"author":{"gitId":"-"},"content":" assertEquals(\"\\\"\" + invalidUser + \"\\\" is not an accepted notification target user to TEAMMATES. \","},{"lineNumber":765,"author":{"gitId":"-"},"content":" FieldValidator.getInvalidityInfoForNotificationTargetUser(invalidUser));"},{"lineNumber":766,"author":{"gitId":"-"},"content":" }"},{"lineNumber":767,"author":{"gitId":"-"},"content":""},{"lineNumber":768,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":769,"author":{"gitId":"-"},"content":" public void testRegexName() {"},{"lineNumber":770,"author":{"gitId":"-"},"content":" ______TS(\"success: typical name\");"},{"lineNumber":771,"author":{"gitId":"-"},"content":" String name \u003d \"Benny Charlés\";"},{"lineNumber":772,"author":{"gitId":"-"},"content":" assertTrue(StringHelper.isMatching(name, FieldValidator.REGEX_NAME));"},{"lineNumber":773,"author":{"gitId":"-"},"content":""},{"lineNumber":774,"author":{"gitId":"-"},"content":" ______TS(\"success: name begins with accented characters\");"},{"lineNumber":775,"author":{"gitId":"-"},"content":" name \u003d \"Ýàn-B. s/o O\u0027br, \u00262(~!@#$^*+_\u003d{}[]\\\\:;\\\"\u003c\u003e?)\";"},{"lineNumber":776,"author":{"gitId":"-"},"content":" assertTrue(StringHelper.isMatching(name, FieldValidator.REGEX_NAME));"},{"lineNumber":777,"author":{"gitId":"-"},"content":""},{"lineNumber":778,"author":{"gitId":"-"},"content":" ______TS(\"failure: name begins with non-alphanumeric character\");"},{"lineNumber":779,"author":{"gitId":"-"},"content":" name \u003d \"~Amy-Ben. s/o O\u0027br, \u00262(~!@#$^*+_\u003d{}[]\\\\:;\\\"\u003c\u003e?)\";"},{"lineNumber":780,"author":{"gitId":"-"},"content":" assertFalse(StringHelper.isMatching(name, FieldValidator.REGEX_NAME));"},{"lineNumber":781,"author":{"gitId":"-"},"content":""},{"lineNumber":782,"author":{"gitId":"-"},"content":" ______TS(\"failure: name contains invalid character\");"},{"lineNumber":783,"author":{"gitId":"-"},"content":" name \u003d \"Amy-B. s/o O\u0027br, %|\u00262(~!@#$^*+_\u003d{}[]\\\\:;\\\"\u003c\u003e?)\";"},{"lineNumber":784,"author":{"gitId":"-"},"content":" assertFalse(StringHelper.isMatching(name, FieldValidator.REGEX_NAME));"},{"lineNumber":785,"author":{"gitId":"-"},"content":" }"},{"lineNumber":786,"author":{"gitId":"-"},"content":""},{"lineNumber":787,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":788,"author":{"gitId":"-"},"content":" public void testRegexEmail() {"},{"lineNumber":789,"author":{"gitId":"-"},"content":" ______TS(\"success: typical email\");"},{"lineNumber":790,"author":{"gitId":"-"},"content":" String email \u003d \"john@email.com\";"},{"lineNumber":791,"author":{"gitId":"-"},"content":" assertTrue(StringHelper.isMatching(email, FieldValidator.REGEX_EMAIL));"},{"lineNumber":792,"author":{"gitId":"-"},"content":""},{"lineNumber":793,"author":{"gitId":"-"},"content":" ______TS(\"failure: no top level domain\");"},{"lineNumber":794,"author":{"gitId":"-"},"content":" email \u003d \"a@e\";"},{"lineNumber":795,"author":{"gitId":"-"},"content":" assertFalse(StringHelper.isMatching(email, FieldValidator.REGEX_EMAIL));"},{"lineNumber":796,"author":{"gitId":"-"},"content":""},{"lineNumber":797,"author":{"gitId":"-"},"content":" ______TS(\"success: minimum allowed email format\");"},{"lineNumber":798,"author":{"gitId":"-"},"content":" email \u003d \"a@e.c\";"},{"lineNumber":799,"author":{"gitId":"-"},"content":" assertTrue(StringHelper.isMatching(email, FieldValidator.REGEX_EMAIL));"},{"lineNumber":800,"author":{"gitId":"-"},"content":""},{"lineNumber":801,"author":{"gitId":"-"},"content":" ______TS(\"success: all allowed special characters\");"},{"lineNumber":802,"author":{"gitId":"-"},"content":" email \u003d \"a!#$%\u0026\u0027*/\u003d?^_`{}~@e.c\";"},{"lineNumber":803,"author":{"gitId":"-"},"content":" assertTrue(StringHelper.isMatching(email, FieldValidator.REGEX_EMAIL));"},{"lineNumber":804,"author":{"gitId":"-"},"content":""},{"lineNumber":805,"author":{"gitId":"-"},"content":" ______TS(\"failure: invalid starting character\");"},{"lineNumber":806,"author":{"gitId":"-"},"content":" email \u003d \"$john@email.com\";"},{"lineNumber":807,"author":{"gitId":"-"},"content":" assertFalse(StringHelper.isMatching(email, FieldValidator.REGEX_EMAIL));"},{"lineNumber":808,"author":{"gitId":"-"},"content":""},{"lineNumber":809,"author":{"gitId":"-"},"content":" ______TS(\"failure: two consecutive dots in local part\");"},{"lineNumber":810,"author":{"gitId":"-"},"content":" email \u003d \"john..dot@email.com\";"},{"lineNumber":811,"author":{"gitId":"-"},"content":" assertFalse(StringHelper.isMatching(email, FieldValidator.REGEX_EMAIL));"},{"lineNumber":812,"author":{"gitId":"-"},"content":""},{"lineNumber":813,"author":{"gitId":"-"},"content":" ______TS(\"failure: invalid characters in domain part\");"},{"lineNumber":814,"author":{"gitId":"-"},"content":" email \u003d \"john@e\u0026email.com\";"},{"lineNumber":815,"author":{"gitId":"-"},"content":" assertFalse(StringHelper.isMatching(email, FieldValidator.REGEX_EMAIL));"},{"lineNumber":816,"author":{"gitId":"-"},"content":""},{"lineNumber":817,"author":{"gitId":"-"},"content":" ______TS(\"failure: invalid ending character in domain part\");"},{"lineNumber":818,"author":{"gitId":"-"},"content":" email \u003d \"john@email.com3\";"},{"lineNumber":819,"author":{"gitId":"-"},"content":" assertFalse(StringHelper.isMatching(email, FieldValidator.REGEX_EMAIL));"},{"lineNumber":820,"author":{"gitId":"-"},"content":" }"},{"lineNumber":821,"author":{"gitId":"-"},"content":""},{"lineNumber":822,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":823,"author":{"gitId":"-"},"content":" public void testRegexCourseId() {"},{"lineNumber":824,"author":{"gitId":"-"},"content":" ______TS(\"success: typical course ID\");"},{"lineNumber":825,"author":{"gitId":"-"},"content":" String courseId \u003d \"CS101\";"},{"lineNumber":826,"author":{"gitId":"-"},"content":" assertTrue(StringHelper.isMatching(courseId, FieldValidator.REGEX_COURSE_ID));"},{"lineNumber":827,"author":{"gitId":"-"},"content":""},{"lineNumber":828,"author":{"gitId":"-"},"content":" ______TS(\"success: course ID with all accepted symbols\");"},{"lineNumber":829,"author":{"gitId":"-"},"content":" courseId \u003d \"CS101-B.$\";"},{"lineNumber":830,"author":{"gitId":"-"},"content":" assertTrue(StringHelper.isMatching(courseId, FieldValidator.REGEX_COURSE_ID));"},{"lineNumber":831,"author":{"gitId":"-"},"content":""},{"lineNumber":832,"author":{"gitId":"-"},"content":" ______TS(\"failure: contains invalid character\");"},{"lineNumber":833,"author":{"gitId":"-"},"content":" courseId \u003d \"CS101+B\";"},{"lineNumber":834,"author":{"gitId":"-"},"content":" assertFalse(StringHelper.isMatching(courseId, FieldValidator.REGEX_COURSE_ID));"},{"lineNumber":835,"author":{"gitId":"-"},"content":" }"},{"lineNumber":836,"author":{"gitId":"-"},"content":""},{"lineNumber":837,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":838,"author":{"gitId":"-"},"content":" public void testRegexGoogleIdNonEmail() {"},{"lineNumber":839,"author":{"gitId":"-"},"content":" ______TS(\"success: typical google id\");"},{"lineNumber":840,"author":{"gitId":"-"},"content":" String googleId \u003d \"teammates.instr\";"},{"lineNumber":841,"author":{"gitId":"-"},"content":" assertTrue(StringHelper.isMatching(googleId, FieldValidator.REGEX_GOOGLE_ID_NON_EMAIL));"},{"lineNumber":842,"author":{"gitId":"-"},"content":""},{"lineNumber":843,"author":{"gitId":"-"},"content":" ______TS(\"success: google id with all accepted characters\");"},{"lineNumber":844,"author":{"gitId":"-"},"content":" googleId \u003d \"teammates.new_instr-3\";"},{"lineNumber":845,"author":{"gitId":"-"},"content":" assertTrue(StringHelper.isMatching(googleId, FieldValidator.REGEX_GOOGLE_ID_NON_EMAIL));"},{"lineNumber":846,"author":{"gitId":"-"},"content":""},{"lineNumber":847,"author":{"gitId":"-"},"content":" ______TS(\"failure: is email\");"},{"lineNumber":848,"author":{"gitId":"-"},"content":" googleId \u003d \"teammates.instr@email.com\";"},{"lineNumber":849,"author":{"gitId":"-"},"content":" assertFalse(StringHelper.isMatching(googleId, FieldValidator.REGEX_GOOGLE_ID_NON_EMAIL));"},{"lineNumber":850,"author":{"gitId":"-"},"content":""},{"lineNumber":851,"author":{"gitId":"-"},"content":" ______TS(\"failure: contains invalid character\");"},{"lineNumber":852,"author":{"gitId":"-"},"content":" googleId \u003d \"teammates.$instr\";"},{"lineNumber":853,"author":{"gitId":"-"},"content":" assertFalse(StringHelper.isMatching(googleId, FieldValidator.REGEX_GOOGLE_ID_NON_EMAIL));"},{"lineNumber":854,"author":{"gitId":"-"},"content":" }"},{"lineNumber":855,"author":{"gitId":"-"},"content":""},{"lineNumber":856,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":4,"-":852}},{"path":"src/test/java/teammates/common/util/TimeHelperTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.common.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Duration;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.Month;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.OffsetDateTime;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.time.temporal.ChronoUnit;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * SUT: {@link TimeHelper}."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class TimeHelperTest extends BaseTestCase {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String DATETIME_DISPLAY_FORMAT \u003d \"EEE, dd MMM yyyy, hh:mm a z\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":24,"author":{"gitId":"-"},"content":" public void testEndOfYearDates() {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" LocalDateTime date \u003d LocalDateTime.of(2015, Month.DECEMBER, 30, 12, 0);"},{"lineNumber":26,"author":{"gitId":"-"},"content":" assertEquals(\"Wed, 30 Dec 2015, 12:00 NOON UTC\", TimeHelper.formatInstant("},{"lineNumber":27,"author":{"gitId":"-"},"content":" date.atZone(ZoneId.of(\"UTC\")).toInstant(), \"UTC\", DATETIME_DISPLAY_FORMAT));"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":31,"author":{"gitId":"-"},"content":" public void testFormatDateTimeForDisplay() {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" String zoneId \u003d \"UTC\";"},{"lineNumber":33,"author":{"gitId":"-"},"content":" Instant instant \u003d LocalDateTime.of(2015, Month.NOVEMBER, 30, 12, 0).atZone(ZoneId.of(zoneId)).toInstant();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" assertEquals(\"Mon, 30 Nov 2015, 12:00 NOON UTC\", TimeHelper.formatInstant(instant, zoneId, DATETIME_DISPLAY_FORMAT));"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" zoneId \u003d \"Asia/Singapore\";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" instant \u003d LocalDateTime.of(2015, Month.NOVEMBER, 30, 16, 0).atZone(ZoneId.of(zoneId)).toInstant();"},{"lineNumber":38,"author":{"gitId":"-"},"content":" assertEquals(\"Mon, 30 Nov 2015, 04:00 PM SGT\", TimeHelper.formatInstant(instant, zoneId, DATETIME_DISPLAY_FORMAT));"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" instant \u003d LocalDateTime.of(2015, Month.NOVEMBER, 30, 4, 0).atZone(ZoneId.of(zoneId)).toInstant();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" assertEquals(\"Mon, 30 Nov 2015, 04:00 AM SGT\", TimeHelper.formatInstant(instant, zoneId, DATETIME_DISPLAY_FORMAT));"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":45,"author":{"gitId":"-"},"content":" public void testGetMidnightAdjustedInstantBasedOnZone() {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" String zoneId \u003d \"UTC\";"},{"lineNumber":47,"author":{"gitId":"-"},"content":" Instant instantAt0000 \u003d LocalDateTime.of(2015, Month.NOVEMBER, 30, 0, 0).atZone(ZoneId.of(zoneId)).toInstant();"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" Instant backwardAdjusted \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone(instantAt0000, zoneId, false);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" assertEquals(\"Sun, 29 Nov 2015, 11:59 PM UTC\","},{"lineNumber":51,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(backwardAdjusted, zoneId, DATETIME_DISPLAY_FORMAT));"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" Instant forwardAdjusted \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone(instantAt0000, zoneId, true);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" assertEquals(\"Mon, 30 Nov 2015, 12:00 AM UTC\","},{"lineNumber":55,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(forwardAdjusted, zoneId, DATETIME_DISPLAY_FORMAT));"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" Instant instantAt2359 \u003d LocalDateTime.of(2015, Month.NOVEMBER, 29, 23, 59).atZone(ZoneId.of(zoneId)).toInstant();"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" backwardAdjusted \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone(instantAt2359, zoneId, false);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" assertEquals(\"Sun, 29 Nov 2015, 11:59 PM UTC\","},{"lineNumber":61,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(backwardAdjusted, zoneId, DATETIME_DISPLAY_FORMAT));"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" forwardAdjusted \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone(instantAt2359, zoneId, true);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" assertEquals(\"Mon, 30 Nov 2015, 12:00 AM UTC\","},{"lineNumber":65,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(forwardAdjusted, zoneId, DATETIME_DISPLAY_FORMAT));"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" String wrongTimeZone \u003d \"Asia/Singapore\";"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" backwardAdjusted \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone(instantAt0000, wrongTimeZone, false);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" assertEquals(\"Mon, 30 Nov 2015, 12:00 AM UTC\","},{"lineNumber":71,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(backwardAdjusted, zoneId, DATETIME_DISPLAY_FORMAT));"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" forwardAdjusted \u003d TimeHelper.getMidnightAdjustedInstantBasedOnZone(instantAt2359, wrongTimeZone, true);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" assertEquals(\"Sun, 29 Nov 2015, 11:59 PM UTC\","},{"lineNumber":75,"author":{"gitId":"-"},"content":" TimeHelper.formatInstant(forwardAdjusted, zoneId, DATETIME_DISPLAY_FORMAT));"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":79,"author":{"gitId":"-"},"content":" public void testGetInstantNearestHourBefore() {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" Instant expected \u003d Instant.parse(\"2020-12-31T16:00:00Z\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":" Instant actual \u003d TimeHelper.getInstantNearestHourBefore(Instant.parse(\"2020-12-31T16:00:00Z\"));"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" assertEquals(expected, actual);"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" actual \u003d TimeHelper.getInstantNearestHourBefore(Instant.parse(\"2020-12-31T16:10:00Z\"));"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" assertEquals(expected, actual);"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" actual \u003d TimeHelper.getInstantNearestHourBefore(OffsetDateTime.parse(\"2021-01-01T00:30:00+08:00\").toInstant());"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" assertEquals(expected, actual);"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" actual \u003d TimeHelper.getInstantNearestHourBefore(OffsetDateTime.parse(\"2020-12-31T12:59:00-04:00\").toInstant());"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" assertEquals(expected, actual);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":99,"author":{"gitId":"-"},"content":" public void testGetInstantDaysOffsetFromNow() {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" // Comparison using second precision is sufficient"},{"lineNumber":101,"author":{"gitId":"-"},"content":" Instant expected \u003d Instant.now().truncatedTo(ChronoUnit.SECONDS);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" Instant actual \u003d TimeHelper.getInstantDaysOffsetFromNow(0).truncatedTo(ChronoUnit.SECONDS);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" assertEquals(expected, actual);"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" expected \u003d Instant.now().plus(Duration.ofDays(365)).truncatedTo(ChronoUnit.SECONDS);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" actual \u003d TimeHelper.getInstantDaysOffsetFromNow(365).truncatedTo(ChronoUnit.SECONDS);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" assertEquals(expected, actual);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":111,"author":{"gitId":"-"},"content":" public void testGetInstantDaysOffsetBeforeNow() {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" // Comparison using second precision is sufficient"},{"lineNumber":113,"author":{"gitId":"-"},"content":" Instant expected \u003d Instant.now().truncatedTo(ChronoUnit.SECONDS);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" Instant actual \u003d TimeHelper.getInstantDaysOffsetBeforeNow(0).truncatedTo(ChronoUnit.SECONDS);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" assertEquals(expected, actual);"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" expected \u003d Instant.now().minus(Duration.ofDays(365)).truncatedTo(ChronoUnit.SECONDS);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" actual \u003d TimeHelper.getInstantDaysOffsetBeforeNow(365).truncatedTo(ChronoUnit.SECONDS);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" assertEquals(expected, actual);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":123,"author":{"gitId":"-"},"content":" public void testGetInstantHoursOffsetFromNow() {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" // Comparison using second precision is sufficient"},{"lineNumber":125,"author":{"gitId":"-"},"content":" Instant expected \u003d Instant.now().truncatedTo(ChronoUnit.SECONDS);"},{"lineNumber":126,"author":{"gitId":"-"},"content":" Instant actual \u003d TimeHelper.getInstantHoursOffsetFromNow(0).truncatedTo(ChronoUnit.SECONDS);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" assertEquals(expected, actual);"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" expected \u003d Instant.now().plus(Duration.ofHours(60)).truncatedTo(ChronoUnit.SECONDS);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" actual \u003d TimeHelper.getInstantHoursOffsetFromNow(60).truncatedTo(ChronoUnit.SECONDS);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" assertEquals(expected, actual);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":135,"author":{"gitId":"-"},"content":" public void testGetInstantMonthsOffsetFromNow() {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" Instant expected \u003d Instant.now().truncatedTo(ChronoUnit.DAYS);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" Instant actual \u003d TimeHelper.getInstantMonthsOffsetFromNow(0, Const.DEFAULT_TIME_ZONE)"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .truncatedTo(ChronoUnit.DAYS);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" assertEquals(expected, actual);"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" Instant now \u003d Instant.now();"},{"lineNumber":142,"author":{"gitId":"-"},"content":" ZonedDateTime zdt \u003d now.atZone(ZoneId.of(Const.DEFAULT_TIME_ZONE));"},{"lineNumber":143,"author":{"gitId":"-"},"content":" ZonedDateTime offsetZdt \u003d zdt.plusMonths(12);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" expected \u003d offsetZdt.toInstant().truncatedTo(ChronoUnit.SECONDS);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" actual \u003d TimeHelper.getInstantMonthsOffsetFromNow(12, Const.DEFAULT_TIME_ZONE).truncatedTo(ChronoUnit.SECONDS);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" assertEquals(expected, actual);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":" public void getInstantNearestQuarterHourBefore() {"},{"lineNumber":151,"author":{"gitId":"dishenggg"},"content":" Instant expectedQ1 \u003d Instant.parse(\"2020-12-31T16:00:00Z\");"},{"lineNumber":152,"author":{"gitId":"dishenggg"},"content":" Instant actual \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.parse(\"2020-12-31T16:00:00Z\"));"},{"lineNumber":153,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":154,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedQ1, actual);"},{"lineNumber":155,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":156,"author":{"gitId":"dishenggg"},"content":" actual \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.parse(\"2020-12-31T16:09:30Z\"));"},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":158,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedQ1, actual);"},{"lineNumber":159,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":160,"author":{"gitId":"dishenggg"},"content":" actual \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.parse(\"2020-12-31T16:14:59Z\"));"},{"lineNumber":161,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":162,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedQ1, actual);"},{"lineNumber":163,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":164,"author":{"gitId":"dishenggg"},"content":" actual \u003d TimeHelper"},{"lineNumber":165,"author":{"gitId":"dishenggg"},"content":" .getInstantNearestQuarterHourBefore(OffsetDateTime.parse(\"2021-01-01T00:10:00+08:00\").toInstant());"},{"lineNumber":166,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":167,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedQ1, actual);"},{"lineNumber":168,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":169,"author":{"gitId":"dishenggg"},"content":" actual \u003d TimeHelper"},{"lineNumber":170,"author":{"gitId":"dishenggg"},"content":" .getInstantNearestQuarterHourBefore(OffsetDateTime.parse(\"2020-12-31T12:09:00-04:00\").toInstant());"},{"lineNumber":171,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":172,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedQ1, actual);"},{"lineNumber":173,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":174,"author":{"gitId":"dishenggg"},"content":" Instant expectedQ2 \u003d Instant.parse(\"2020-12-31T16:15:00Z\");"},{"lineNumber":175,"author":{"gitId":"dishenggg"},"content":" actual \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.parse(\"2020-12-31T16:15:00Z\"));"},{"lineNumber":176,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":177,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedQ2, actual);"},{"lineNumber":178,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":179,"author":{"gitId":"dishenggg"},"content":" actual \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.parse(\"2020-12-31T16:19:30Z\"));"},{"lineNumber":180,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":181,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedQ2, actual);"},{"lineNumber":182,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":183,"author":{"gitId":"dishenggg"},"content":" actual \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.parse(\"2020-12-31T16:29:59Z\"));"},{"lineNumber":184,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":185,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedQ2, actual);"},{"lineNumber":186,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":187,"author":{"gitId":"dishenggg"},"content":" Instant expectedQ3 \u003d Instant.parse(\"2020-12-31T16:30:00Z\");"},{"lineNumber":188,"author":{"gitId":"dishenggg"},"content":" actual \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.parse(\"2020-12-31T16:30:00Z\"));"},{"lineNumber":189,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":190,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedQ3, actual);"},{"lineNumber":191,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":192,"author":{"gitId":"dishenggg"},"content":" actual \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.parse(\"2020-12-31T16:39:30Z\"));"},{"lineNumber":193,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":194,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedQ3, actual);"},{"lineNumber":195,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":196,"author":{"gitId":"dishenggg"},"content":" actual \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.parse(\"2020-12-31T16:44:59Z\"));"},{"lineNumber":197,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":198,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedQ3, actual);"},{"lineNumber":199,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":200,"author":{"gitId":"dishenggg"},"content":" Instant expectedQ4 \u003d Instant.parse(\"2020-12-31T16:45:00Z\");"},{"lineNumber":201,"author":{"gitId":"dishenggg"},"content":" actual \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.parse(\"2020-12-31T16:45:00Z\"));"},{"lineNumber":202,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":203,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedQ4, actual);"},{"lineNumber":204,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":205,"author":{"gitId":"dishenggg"},"content":" actual \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.parse(\"2020-12-31T16:49:30Z\"));"},{"lineNumber":206,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":207,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedQ4, actual);"},{"lineNumber":208,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":209,"author":{"gitId":"dishenggg"},"content":" actual \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.parse(\"2020-12-31T16:59:59Z\"));"},{"lineNumber":210,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":211,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedQ4, actual);"},{"lineNumber":212,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":64,"-":149}},{"path":"src/test/java/teammates/logic/api/MockLogsProcessor.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.logic.api;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackSessionLogEntry;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.QueryLogsResults;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.GeneralLogEntry;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.LogDetails;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.LogSeverity;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.QueryLogsParams;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.SourceLocation;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Allows mocking of {@link LogsProcessor}."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class MockLogsProcessor extends LogsProcessor {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" private List\u003cFeedbackSessionLogEntry\u003e feedbackSessionLogs \u003d new ArrayList\u003c\u003e();"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private List\u003cGeneralLogEntry\u003e generalLogs \u003d new ArrayList\u003c\u003e();"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Simulates insertion of feedback session logs."},{"lineNumber":26,"author":{"gitId":"-"},"content":" */"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" public void insertFeedbackSessionLog(String courseId, String studentEmail, String feedbackSessionName,"},{"lineNumber":28,"author":{"gitId":"-"},"content":" String fslType, long timestamp) {"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" feedbackSessionLogs"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" .add(new FeedbackSessionLogEntry(courseId, studentEmail, feedbackSessionName, fslType, timestamp));"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" * Simulates insertion of feedback session logs."},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" public void insertFeedbackSessionLog(String courseId, UUID studentId, UUID feedbackSessionId,"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" String fslType, long timestamp) {"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" feedbackSessionLogs"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" .add(new FeedbackSessionLogEntry(courseId, studentId, feedbackSessionId, fslType, timestamp));"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Simulates insertion of general INFO logs."},{"lineNumber":44,"author":{"gitId":"-"},"content":" */"},{"lineNumber":45,"author":{"gitId":"-"},"content":" public void insertInfoLog(String trace, String insertId, SourceLocation sourceLocation,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" long timestamp, String textPayloadMessage, LogDetails logDetails) {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" insertGeneralLog(LogSeverity.INFO, trace, insertId,"},{"lineNumber":48,"author":{"gitId":"-"},"content":" sourceLocation, timestamp, textPayloadMessage, logDetails);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":52,"author":{"gitId":"-"},"content":" * Simulates insertion of general WARNING logs."},{"lineNumber":53,"author":{"gitId":"-"},"content":" */"},{"lineNumber":54,"author":{"gitId":"-"},"content":" public void insertWarningLog(String trace, String insertId, SourceLocation sourceLocation,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" long timestamp, String textPayloadMessage, LogDetails logDetails) {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" insertGeneralLog(LogSeverity.WARNING, trace, insertId,"},{"lineNumber":57,"author":{"gitId":"-"},"content":" sourceLocation, timestamp, textPayloadMessage, logDetails);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":61,"author":{"gitId":"-"},"content":" * Simulates insertion of general ERROR logs."},{"lineNumber":62,"author":{"gitId":"-"},"content":" */"},{"lineNumber":63,"author":{"gitId":"-"},"content":" public void insertErrorLog(String trace, String insertId, SourceLocation sourceLocation,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" long timestamp, String textPayloadMessage, LogDetails logDetails) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" insertGeneralLog(LogSeverity.ERROR, trace, insertId,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" sourceLocation, timestamp, textPayloadMessage, logDetails);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" private void insertGeneralLog(LogSeverity severity, String trace, String insertId,"},{"lineNumber":70,"author":{"gitId":"-"},"content":" SourceLocation sourceLocation, long timestamp, String textPayloadMessage,"},{"lineNumber":71,"author":{"gitId":"-"},"content":" LogDetails logDetails) {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" GeneralLogEntry logEntry \u003d new GeneralLogEntry(severity, trace, insertId, new HashMap\u003c\u003e(), sourceLocation,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" timestamp);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" logEntry.setMessage(textPayloadMessage);"},{"lineNumber":75,"author":{"gitId":"-"},"content":" logEntry.setDetails(logDetails);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" generalLogs.add(logEntry);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":80,"author":{"gitId":"-"},"content":" public QueryLogsResults queryLogs(QueryLogsParams queryLogsParams) {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" List\u003cGeneralLogEntry\u003e queryResults \u003d new ArrayList\u003c\u003e();"},{"lineNumber":82,"author":{"gitId":"-"},"content":" if (queryLogsParams.getSeverity() !\u003d null) {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" generalLogs.forEach(entry -\u003e {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" if (queryLogsParams.getSeverity().equals(entry.getSeverity())"},{"lineNumber":85,"author":{"gitId":"-"},"content":" \u0026\u0026 entry.getTimestamp() \u003e\u003d queryLogsParams.getStartTime()"},{"lineNumber":86,"author":{"gitId":"-"},"content":" \u0026\u0026 entry.getTimestamp() \u003c\u003d queryLogsParams.getEndTime()) {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" queryResults.add(entry);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":" });"},{"lineNumber":90,"author":{"gitId":"-"},"content":" } else if (queryLogsParams.getMinSeverity() !\u003d null) {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" generalLogs.forEach(entry -\u003e {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" if (queryLogsParams.getMinSeverity().getSeverityLevel()"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003c\u003d entry.getSeverity().getSeverityLevel()"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u0026\u0026 entry.getTimestamp() \u003e\u003d queryLogsParams.getStartTime()"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \u0026\u0026 entry.getTimestamp() \u003c\u003d queryLogsParams.getEndTime()) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" queryResults.add(entry);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":" });"},{"lineNumber":99,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" generalLogs.forEach(entry -\u003e {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" if (entry.getTimestamp() \u003e\u003d queryLogsParams.getStartTime()"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u0026\u0026 entry.getTimestamp() \u003c\u003d queryLogsParams.getEndTime()) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" queryResults.add(entry);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":" });"},{"lineNumber":106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":107,"author":{"gitId":"-"},"content":" return new QueryLogsResults(queryResults, false);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":" public void createFeedbackSessionLog(String courseId, UUID studentId, UUID fsId, String fslType) {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" // No-op"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":" public List\u003cFeedbackSessionLogEntry\u003e getOrderedFeedbackSessionLogs(String courseId, String email,"},{"lineNumber":117,"author":{"gitId":"-"},"content":" long startTime, long endTime, String fsName) {"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" feedbackSessionLogs.sort((x, y) -\u003e x.compareTo(y));"},{"lineNumber":119,"author":{"gitId":"-"},"content":" return feedbackSessionLogs;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":16,"-":106}},{"path":"src/test/java/teammates/logic/api/MockUserProvision.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.logic.api;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.UserInfo;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.UserInfoCookie;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":7,"author":{"gitId":"-"},"content":" * Allows mocking of the {@link UserProvision} API used in production."},{"lineNumber":8,"author":{"gitId":"-"},"content":" *"},{"lineNumber":9,"author":{"gitId":"-"},"content":" * \u003cp\u003eInstead of getting user information from the authentication service,"},{"lineNumber":10,"author":{"gitId":"-"},"content":" * the API will return pre-determined information instead."},{"lineNumber":11,"author":{"gitId":"-"},"content":" */"},{"lineNumber":12,"author":{"gitId":"-"},"content":"public class MockUserProvision extends UserProvision {"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" private UserInfo mockUser \u003d new UserInfo(\"user.id\");"},{"lineNumber":15,"author":{"gitId":"-"},"content":" private boolean isLoggedIn;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" private UserInfo loginUser(String userId, boolean isAdmin) {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" isLoggedIn \u003d true;"},{"lineNumber":19,"author":{"gitId":"-"},"content":" mockUser.id \u003d userId;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" mockUser.isAdmin \u003d isAdmin;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" return getCurrentUser(null);"},{"lineNumber":22,"author":{"gitId":"-"},"content":" }"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Adds a logged-in user without admin rights."},{"lineNumber":26,"author":{"gitId":"-"},"content":" *"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * @return The user info after login process"},{"lineNumber":28,"author":{"gitId":"-"},"content":" */"},{"lineNumber":29,"author":{"gitId":"-"},"content":" public UserInfo loginUser(String userId) {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" return loginUser(userId, false);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" }"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" private UserInfo loginUserWithTransaction(String userId, boolean isAdmin) {"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" isLoggedIn \u003d true;"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" mockUser.id \u003d userId;"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" mockUser.isAdmin \u003d isAdmin;"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" return getCurrentUserWithTransaction(null);"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" * Adds a logged-in user without admin rights."},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" * @return The user info after login process"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" public UserInfo loginUserWithTransaction(String userId) {"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" return loginUserWithTransaction(userId, false);"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":50,"author":{"gitId":"-"},"content":" * Adds a logged-in user as an admin."},{"lineNumber":51,"author":{"gitId":"-"},"content":" *"},{"lineNumber":52,"author":{"gitId":"-"},"content":" * @return The user info after login process"},{"lineNumber":53,"author":{"gitId":"-"},"content":" */"},{"lineNumber":54,"author":{"gitId":"-"},"content":" public UserInfo loginAsAdmin(String userId) {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" return loginUser(userId, true);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" * Adds a logged-in user as an admin."},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" *"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" * @return The user info after login process"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" public UserInfo loginAsAdminWithTransaction(String userId) {"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" return loginUserWithTransaction(userId, true);"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":68,"author":{"gitId":"-"},"content":" * Removes the logged-in user information."},{"lineNumber":69,"author":{"gitId":"-"},"content":" */"},{"lineNumber":70,"author":{"gitId":"-"},"content":" public void logoutUser() {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" isLoggedIn \u003d false;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public UserInfo getCurrentLoggedInUser(UserInfoCookie uic) {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" return isLoggedIn ? mockUser : null;"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":25,"-":54}},{"path":"src/test/java/teammates/sqllogic/api/SqlEmailGeneratorTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.api;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.util.Config;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailType;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.util.EmailWrapper;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.test.EmailChecker;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * SUT: {@link SqlEmailGenerator}."},{"lineNumber":17,"author":{"gitId":"-"},"content":" */"},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class SqlEmailGeneratorTest extends BaseTestCase {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private final SqlEmailGenerator sqlEmailGenerator \u003d SqlEmailGenerator.inst();"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":22,"author":{"gitId":"-"},"content":" void testGenerateNewAccountRequestAdminAlertEmail_withComments_generatesSuccessfully() throws IOException {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d new AccountRequest(\"chosen-one@jedi.org\", \"Anakin Skywalker\", \"Jedi Order\","},{"lineNumber":24,"author":{"gitId":"-"},"content":" AccountRequestStatus.PENDING,"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"I don\u0027t like sand. It\u0027s coarse and rough and irritating... and it gets everywhere.\");"},{"lineNumber":26,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d sqlEmailGenerator.generateNewAccountRequestAdminAlertEmail(accountRequest);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" verifyEmail(email, Config.SUPPORT_EMAIL, EmailType.NEW_ACCOUNT_REQUEST_ADMIN_ALERT,"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"TEAMMATES (Action Needed): New Account Request Received\","},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"/adminNewAccountRequestAlertEmailWithComments.html\");"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":33,"author":{"gitId":"-"},"content":" void testGenerateNewAccountRequestAdminAlertEmail_withNoComments_generatesSuccessfully() throws IOException {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d new AccountRequest(\"maul@sith.org\", \"Maul\", \"Sith Order\","},{"lineNumber":35,"author":{"gitId":"-"},"content":" AccountRequestStatus.PENDING, null);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d sqlEmailGenerator.generateNewAccountRequestAdminAlertEmail(accountRequest);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" verifyEmail(email, Config.SUPPORT_EMAIL, EmailType.NEW_ACCOUNT_REQUEST_ADMIN_ALERT,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"TEAMMATES (Action Needed): New Account Request Received\","},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"/adminNewAccountRequestAlertEmailWithNoComments.html\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" void testGenerateNewAccountRequestAcknowledgementEmail_withComments_generatesSuccessfully() throws IOException {"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" AccountRequest accountRequest \u003d new AccountRequest(\"darth-vader@sith.org\", \"Darth Vader\", \"Sith Order\","},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" AccountRequestStatus.PENDING,"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" \"I Am Your Father\");"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" EmailWrapper email \u003d sqlEmailGenerator.generateNewAccountRequestAcknowledgementEmail(accountRequest);"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" verifyEmail(email, \"darth-vader@sith.org\", EmailType.NEW_ACCOUNT_REQUEST_ACKNOWLEDGEMENT,"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" \"TEAMMATES: Acknowledgement of Instructor Account Request\","},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" Config.SUPPORT_EMAIL,"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" \"/instructorNewAccountRequestAcknowledgementEmailWithComments.html\");"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":" void testGenerateNewAccountRequestAcknowledgementEmail_withNoComments_generatesSuccessfully() throws IOException {"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" AccountRequest accountRequest \u003d new AccountRequest(\"maul@sith.org\", \"Maul\", \"Sith Order\","},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" AccountRequestStatus.PENDING, null);"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" EmailWrapper email \u003d sqlEmailGenerator.generateNewAccountRequestAcknowledgementEmail(accountRequest);"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" verifyEmail(email, \"maul@sith.org\", EmailType.NEW_ACCOUNT_REQUEST_ACKNOWLEDGEMENT,"},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" \"TEAMMATES: Acknowledgement of Instructor Account Request\","},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" Config.SUPPORT_EMAIL,"},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" \"/instructorNewAccountRequestAcknowledgementEmailWithNoComments.html\");"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":66,"author":{"gitId":"-"},"content":" void testGenerateAccountRequestRejectionEmail_withDefaultReason_generatesSuccessfully() throws IOException {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" AccountRequest accountRequest \u003d new AccountRequest(\"maul@sith.org\", \"Maul\", \"Sith Order\","},{"lineNumber":68,"author":{"gitId":"-"},"content":" AccountRequestStatus.PENDING, null);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" String title \u003d \"We are Unable to Create an Account for you\";"},{"lineNumber":70,"author":{"gitId":"-"},"content":" String content \u003d new StringBuilder()"},{"lineNumber":71,"author":{"gitId":"-"},"content":" .append(\"\u003cp\u003eHi, Maul\u003c/p\u003e\\n\")"},{"lineNumber":72,"author":{"gitId":"-"},"content":" .append(\"\u003cp\u003eThanks for your interest in using TEAMMATES. \")"},{"lineNumber":73,"author":{"gitId":"-"},"content":" .append(\"We are unable to create a TEAMMATES instructor account for you.\u003c/p\u003e\\n\\n\")"},{"lineNumber":74,"author":{"gitId":"-"},"content":" .append(\"\u003cp\u003e\\n\")"},{"lineNumber":75,"author":{"gitId":"-"},"content":" .append(\" \u003cstrong\u003eReason:\u003c/strong\u003e The email address you provided \")"},{"lineNumber":76,"author":{"gitId":"-"},"content":" .append(\"is not an \u0027official\u0027 email address provided by your institution.\u003cbr /\u003e\\n\")"},{"lineNumber":77,"author":{"gitId":"-"},"content":" .append(\" \u003cstrong\u003eRemedy:\u003c/strong\u003e \")"},{"lineNumber":78,"author":{"gitId":"-"},"content":" .append(\"Please re-submit an account request with your \u0027official\u0027 institution email address.\\n\")"},{"lineNumber":79,"author":{"gitId":"-"},"content":" .append(\"\u003c/p\u003e\\n\\n\")"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .append(\"\u003cp\u003eIf you need further clarification or would like to appeal this decision, \")"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .append(\"please feel free to contact us at teammates@comp.nus.edu.sg.\u003c/p\u003e\\n\")"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .append(\"\u003cp\u003eRegards,\u003cbr /\u003eTEAMMATES Team.\u003c/p\u003e\\n\")"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .toString();"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" EmailWrapper email \u003d sqlEmailGenerator.generateAccountRequestRejectionEmail(accountRequest, title, content);"},{"lineNumber":86,"author":{"gitId":"-"},"content":" verifyEmail(email, \"maul@sith.org\", EmailType.ACCOUNT_REQUEST_REJECTION,"},{"lineNumber":87,"author":{"gitId":"-"},"content":" \"TEAMMATES: \" + title,"},{"lineNumber":88,"author":{"gitId":"-"},"content":" Config.SUPPORT_EMAIL,"},{"lineNumber":89,"author":{"gitId":"-"},"content":" \"/instructorAccountRequestRejectionEmail.html\");"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" private void verifyEmail(EmailWrapper email, String expectedRecipientEmailAddress, EmailType expectedEmailType,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" String expectedSubject, String expectedEmailContentFilePathname) throws IOException {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" assertEquals(expectedRecipientEmailAddress, email.getRecipient());"},{"lineNumber":95,"author":{"gitId":"-"},"content":" assertEquals(Config.EMAIL_SENDEREMAIL, email.getSenderEmail());"},{"lineNumber":96,"author":{"gitId":"-"},"content":" assertEquals(Config.EMAIL_SENDERNAME, email.getSenderName());"},{"lineNumber":97,"author":{"gitId":"-"},"content":" assertEquals(Config.EMAIL_REPLYTO, email.getReplyTo());"},{"lineNumber":98,"author":{"gitId":"-"},"content":" assertEquals(expectedEmailType, email.getType());"},{"lineNumber":99,"author":{"gitId":"-"},"content":" assertEquals(expectedSubject, email.getSubject());"},{"lineNumber":100,"author":{"gitId":"-"},"content":" String emailContent \u003d email.getContent();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" EmailChecker.verifyEmailContent(emailContent, expectedEmailContentFilePathname);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" verifyEmailContentHasNoPlaceholders(emailContent);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"xenosf"},"content":" private void verifyEmail(EmailWrapper email, String expectedRecipientEmailAddress, EmailType expectedEmailType,"},{"lineNumber":106,"author":{"gitId":"xenosf"},"content":" String expectedSubject, String expectedBcc, String expectedEmailContentFilePathname) throws IOException {"},{"lineNumber":107,"author":{"gitId":"xenosf"},"content":" assertEquals(expectedRecipientEmailAddress, email.getRecipient());"},{"lineNumber":108,"author":{"gitId":"xenosf"},"content":" assertEquals(Config.EMAIL_SENDEREMAIL, email.getSenderEmail());"},{"lineNumber":109,"author":{"gitId":"xenosf"},"content":" assertEquals(Config.EMAIL_SENDERNAME, email.getSenderName());"},{"lineNumber":110,"author":{"gitId":"xenosf"},"content":" assertEquals(Config.EMAIL_REPLYTO, email.getReplyTo());"},{"lineNumber":111,"author":{"gitId":"xenosf"},"content":" assertEquals(expectedEmailType, email.getType());"},{"lineNumber":112,"author":{"gitId":"xenosf"},"content":" assertEquals(expectedSubject, email.getSubject());"},{"lineNumber":113,"author":{"gitId":"xenosf"},"content":" assertEquals(expectedBcc, email.getBcc());"},{"lineNumber":114,"author":{"gitId":"xenosf"},"content":" String emailContent \u003d email.getContent();"},{"lineNumber":115,"author":{"gitId":"xenosf"},"content":" EmailChecker.verifyEmailContent(emailContent, expectedEmailContentFilePathname);"},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" verifyEmailContentHasNoPlaceholders(emailContent);"},{"lineNumber":117,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":118,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" private void verifyEmailContentHasNoPlaceholders(String emailContent) {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" assertFalse(emailContent.contains(\"${\"));"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":37,"-":85}},{"path":"src/test/java/teammates/sqllogic/core/AccountRequestsLogicTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import static org.mockito.ArgumentMatchers.any;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import static org.mockito.ArgumentMatchers.nullable;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.mock;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import static org.mockito.Mockito.times;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.verify;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.when;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"import teammates.common.util.Const;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountRequestsDb;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * SUT: {@link AccountRequestsLogic}."},{"lineNumber":25,"author":{"gitId":"-"},"content":" */"},{"lineNumber":26,"author":{"gitId":"-"},"content":"public class AccountRequestsLogicTest extends BaseTestCase {"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" private AccountRequestsLogic accountRequestsLogic \u003d AccountRequestsLogic.inst();"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private AccountRequestsDb accountRequestsDb;"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":32,"author":{"gitId":"-"},"content":" public void setUpMethod() {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" accountRequestsDb \u003d mock(AccountRequestsDb.class);"},{"lineNumber":34,"author":{"gitId":"-"},"content":" accountRequestsLogic.initLogicDependencies(accountRequestsDb);"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" public void testCreateAccountRequest_typicalRequest_success() throws Exception {"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" AccountRequest accountRequest \u003d getTypicalAccountRequest();"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" when(accountRequestsDb.createAccountRequest(accountRequest)).thenReturn(accountRequest);"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" AccountRequest createdAccountRequest \u003d accountRequestsLogic.createAccountRequest(accountRequest);"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" assertEquals(accountRequest, createdAccountRequest);"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" verify(accountRequestsDb, times(1)).createAccountRequest(accountRequest);"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" public void testCreateAccountRequest_requestAlreadyExists_success() throws Exception {"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" AccountRequest accountRequest1 \u003d getTypicalAccountRequest();"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" AccountRequest accountRequest2 \u003d getTypicalAccountRequest();"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" when(accountRequestsDb.createAccountRequest(accountRequest1))"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" .thenReturn(accountRequest1);"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" when(accountRequestsDb.createAccountRequest(accountRequest2))"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" .thenReturn(accountRequest2);"},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" accountRequestsLogic.createAccountRequest(accountRequest1);"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" accountRequestsLogic.createAccountRequest(accountRequest2);"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" verify(accountRequestsDb, times(1)).createAccountRequest(accountRequest1);"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" verify(accountRequestsDb, times(1)).createAccountRequest(accountRequest2);"},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" public void testCreateAccountRequest_invalidParams_failure() throws Exception {"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" AccountRequest invalidEmailAccountRequest \u003d getTypicalAccountRequest();"},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":" invalidEmailAccountRequest.setEmail(\"invalid email\");"},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":" when(accountRequestsDb.createAccountRequest(invalidEmailAccountRequest))"},{"lineNumber":67,"author":{"gitId":"xenosf"},"content":" .thenThrow(new InvalidParametersException(\"test exception\"));"},{"lineNumber":68,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":" assertThrows(InvalidParametersException.class, () -\u003e {"},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":" accountRequestsLogic.createAccountRequest(invalidEmailAccountRequest);"},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" verify(accountRequestsDb, times(1)).createAccountRequest(invalidEmailAccountRequest);"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" public void testUpdateAccountRequest_typicalRequest_success()"},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" AccountRequest ar \u003d getTypicalAccountRequest();"},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" when(accountRequestsDb.updateAccountRequest(ar)).thenReturn(ar);"},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" AccountRequest updatedAr \u003d accountRequestsLogic.updateAccountRequest(ar);"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" assertEquals(ar, updatedAr);"},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" verify(accountRequestsDb, times(1)).updateAccountRequest(ar);"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" public void testUpdateAccountRequest_requestNotFound_failure()"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" AccountRequest arNotFound \u003d getTypicalAccountRequest();"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" when(accountRequestsDb.updateAccountRequest(arNotFound)).thenThrow(new EntityDoesNotExistException(\"test message\"));"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":93,"author":{"gitId":"xenosf"},"content":" () -\u003e accountRequestsLogic.updateAccountRequest(arNotFound));"},{"lineNumber":94,"author":{"gitId":"xenosf"},"content":" verify(accountRequestsDb, times(1)).updateAccountRequest(any(AccountRequest.class));"},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" public void testDeleteAccountRequest_typicalRequest_success() {"},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" AccountRequest ar \u003d getTypicalAccountRequest();"},{"lineNumber":100,"author":{"gitId":"xenosf"},"content":" when(accountRequestsDb.getAccountRequest(ar.getId())).thenReturn(ar);"},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":" accountRequestsLogic.deleteAccountRequest(ar.getId());"},{"lineNumber":102,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":103,"author":{"gitId":"xenosf"},"content":" verify(accountRequestsDb, times(1)).deleteAccountRequest(any(AccountRequest.class));"},{"lineNumber":104,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":105,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":106,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":107,"author":{"gitId":"xenosf"},"content":" public void testDeleteAccountRequest_nonexistentRequest_shouldSilentlyDelete() {"},{"lineNumber":108,"author":{"gitId":"xenosf"},"content":" UUID nonexistentUuid \u003d UUID.fromString(\"00000000-0000-4000-8000-000000000100\");"},{"lineNumber":109,"author":{"gitId":"xenosf"},"content":" accountRequestsLogic.deleteAccountRequest(nonexistentUuid);"},{"lineNumber":110,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":111,"author":{"gitId":"xenosf"},"content":" verify(accountRequestsDb, times(1)).deleteAccountRequest(nullable(AccountRequest.class));"},{"lineNumber":112,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":113,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":114,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":115,"author":{"gitId":"xenosf"},"content":" public void testGetAccountRequestByRegistrationKey_typicalRequest_success() {"},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" AccountRequest ar \u003d getTypicalAccountRequest();"},{"lineNumber":117,"author":{"gitId":"xenosf"},"content":" String regkey \u003d \"regkey\";"},{"lineNumber":118,"author":{"gitId":"xenosf"},"content":" ar.setRegistrationKey(regkey);"},{"lineNumber":119,"author":{"gitId":"xenosf"},"content":" when(accountRequestsDb.getAccountRequestByRegistrationKey(regkey)).thenReturn(ar);"},{"lineNumber":120,"author":{"gitId":"xenosf"},"content":" AccountRequest actualAr \u003d"},{"lineNumber":121,"author":{"gitId":"xenosf"},"content":" accountRequestsLogic.getAccountRequestByRegistrationKey(ar.getRegistrationKey());"},{"lineNumber":122,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":123,"author":{"gitId":"xenosf"},"content":" assertEquals(ar, actualAr);"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":" verify(accountRequestsDb, times(1)).getAccountRequestByRegistrationKey(regkey);"},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":" public void testGetAccountRequestByRegistrationKey_nonexistentRequest_shouldReturnNull() throws Exception {"},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" String nonexistentRegkey \u003d \"not_exist\";"},{"lineNumber":130,"author":{"gitId":"xenosf"},"content":" when(accountRequestsDb.getAccountRequestByRegistrationKey(nonexistentRegkey)).thenReturn(null);"},{"lineNumber":131,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":132,"author":{"gitId":"xenosf"},"content":" assertNull(accountRequestsLogic.getAccountRequestByRegistrationKey(nonexistentRegkey));"},{"lineNumber":133,"author":{"gitId":"xenosf"},"content":" verify(accountRequestsDb, times(1)).getAccountRequestByRegistrationKey(nonexistentRegkey);"},{"lineNumber":134,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":135,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":136,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":137,"author":{"gitId":"xenosf"},"content":" public void testResetAccountRequest_typicalRequest_success()"},{"lineNumber":138,"author":{"gitId":"xenosf"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":139,"author":{"gitId":"xenosf"},"content":" AccountRequest accountRequest \u003d getTypicalAccountRequest();"},{"lineNumber":140,"author":{"gitId":"xenosf"},"content":" accountRequest.setRegisteredAt(Const.TIME_REPRESENTS_NOW);"},{"lineNumber":141,"author":{"gitId":"xenosf"},"content":" when(accountRequestsDb.getAccountRequest(accountRequest.getId()))"},{"lineNumber":142,"author":{"gitId":"xenosf"},"content":" .thenReturn(accountRequest);"},{"lineNumber":143,"author":{"gitId":"xenosf"},"content":" when(accountRequestsDb.updateAccountRequest(accountRequest)).thenReturn(accountRequest);"},{"lineNumber":144,"author":{"gitId":"xenosf"},"content":" accountRequest \u003d accountRequestsLogic.resetAccountRequest(accountRequest.getId());"},{"lineNumber":145,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":146,"author":{"gitId":"xenosf"},"content":" assertNull(accountRequest.getRegisteredAt());"},{"lineNumber":147,"author":{"gitId":"xenosf"},"content":" verify(accountRequestsDb, times(1)).getAccountRequest(accountRequest.getId());"},{"lineNumber":148,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":149,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":150,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":151,"author":{"gitId":"xenosf"},"content":" public void testResetAccountRequest_nonexistentRequest_failure()"},{"lineNumber":152,"author":{"gitId":"xenosf"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":153,"author":{"gitId":"xenosf"},"content":" AccountRequest accountRequest \u003d getTypicalAccountRequest();"},{"lineNumber":154,"author":{"gitId":"xenosf"},"content":" accountRequest.setRegisteredAt(Const.TIME_REPRESENTS_NOW);"},{"lineNumber":155,"author":{"gitId":"xenosf"},"content":" when(accountRequestsDb.getAccountRequest(accountRequest.getId()))"},{"lineNumber":156,"author":{"gitId":"xenosf"},"content":" .thenReturn(null);"},{"lineNumber":157,"author":{"gitId":"xenosf"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":158,"author":{"gitId":"xenosf"},"content":" () -\u003e accountRequestsLogic.resetAccountRequest(accountRequest.getId()));"},{"lineNumber":159,"author":{"gitId":"xenosf"},"content":" verify(accountRequestsDb, times(1)).getAccountRequest(accountRequest.getId());"},{"lineNumber":160,"author":{"gitId":"xenosf"},"content":" verify(accountRequestsDb, times(0)).updateAccountRequest(nullable(AccountRequest.class));"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":164,"author":{"gitId":"-"},"content":" public void testGetAccountRequest_nonExistentAccountRequest_returnsNull() {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" UUID id \u003d UUID.randomUUID();"},{"lineNumber":166,"author":{"gitId":"-"},"content":" when(accountRequestsDb.getAccountRequest(id)).thenReturn(null);"},{"lineNumber":167,"author":{"gitId":"-"},"content":" AccountRequest actualAccountRequest \u003d accountRequestsLogic.getAccountRequest(id);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" verify(accountRequestsDb).getAccountRequest(id);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" assertNull(actualAccountRequest);"},{"lineNumber":170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":173,"author":{"gitId":"-"},"content":" public void testGetAccountRequest_existingAccountRequest_getsSuccessfully() {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" AccountRequest expectedAccountRequest \u003d"},{"lineNumber":175,"author":{"gitId":"-"},"content":" new AccountRequest(\"test@gmail.com\", \"name\", \"institute\", AccountRequestStatus.PENDING, \"comments\");"},{"lineNumber":176,"author":{"gitId":"-"},"content":" UUID id \u003d expectedAccountRequest.getId();"},{"lineNumber":177,"author":{"gitId":"-"},"content":" when(accountRequestsDb.getAccountRequest(id)).thenReturn(expectedAccountRequest);"},{"lineNumber":178,"author":{"gitId":"-"},"content":" AccountRequest actualAccountRequest \u003d accountRequestsLogic.getAccountRequest(id);"},{"lineNumber":179,"author":{"gitId":"-"},"content":" verify(accountRequestsDb).getAccountRequest(id);"},{"lineNumber":180,"author":{"gitId":"-"},"content":" assertEquals(expectedAccountRequest, actualAccountRequest);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":132,"-":50}},{"path":"src/test/java/teammates/sqllogic/core/AccountsLogicTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.mock;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.times;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.verify;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.when;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.AccountsDb;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.ReadNotification;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.User;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * SUT: {@link AccountsLogic}."},{"lineNumber":27,"author":{"gitId":"-"},"content":" */"},{"lineNumber":28,"author":{"gitId":"-"},"content":"public class AccountsLogicTest extends BaseTestCase {"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" private AccountsLogic accountsLogic \u003d AccountsLogic.inst();"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private AccountsDb accountsDb;"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" private NotificationsLogic notificationsLogic;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" private UsersLogic usersLogic;"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"yuanxi1"},"content":" private CoursesLogic coursesLogic;"},{"lineNumber":39,"author":{"gitId":"yuanxi1"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":41,"author":{"gitId":"-"},"content":" public void setUpMethod() {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" accountsDb \u003d mock(AccountsDb.class);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" notificationsLogic \u003d mock(NotificationsLogic.class);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" usersLogic \u003d mock(UsersLogic.class);"},{"lineNumber":45,"author":{"gitId":"yuanxi1"},"content":" accountsLogic.initLogicDependencies(accountsDb, notificationsLogic, usersLogic, coursesLogic);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":49,"author":{"gitId":"-"},"content":" public void testDeleteAccount_accountExists_success() {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" when(accountsLogic.getAccountForGoogleId(googleId)).thenReturn(account);"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" accountsLogic.deleteAccount(googleId);"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" verify(accountsDb, times(1)).deleteAccount(account);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public void testDeleteAccountCascade_googleIdExists_success() {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":63,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":64,"author":{"gitId":"-"},"content":" List\u003cUser\u003e users \u003d new ArrayList\u003c\u003e();"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c 2; ++i) {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" users.add(getTypicalInstructor());"},{"lineNumber":68,"author":{"gitId":"-"},"content":" users.add(getTypicalStudent());"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" when(usersLogic.getAllUsersByGoogleId(googleId)).thenReturn(users);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" when(accountsLogic.getAccountForGoogleId(googleId)).thenReturn(account);"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" accountsLogic.deleteAccountCascade(googleId);"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" for (User user : users) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" verify(usersLogic, times(1)).deleteUser(user);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":" verify(accountsDb, times(1)).deleteAccount(account);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":83,"author":{"gitId":"-"},"content":" public void testUpdateReadNotifications_shouldReturnCorrectReadNotificationId_success()"},{"lineNumber":84,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":86,"author":{"gitId":"-"},"content":" Notification notification \u003d getTypicalNotificationWithId();"},{"lineNumber":87,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":88,"author":{"gitId":"-"},"content":" UUID notificationId \u003d notification.getId();"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" when(accountsDb.getAccountByGoogleId(googleId)).thenReturn(account);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" when(notificationsLogic.getNotification(notificationId)).thenReturn(notification);"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" List\u003cUUID\u003e readNotificationIds \u003d accountsLogic.updateReadNotifications(googleId, notificationId,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" notification.getEndTime());"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" verify(accountsDb, times(1)).getAccountByGoogleId(googleId);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" verify(notificationsLogic, times(1)).getNotification(notificationId);"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" assertEquals(1, readNotificationIds.size());"},{"lineNumber":100,"author":{"gitId":"-"},"content":" assertEquals(notificationId, readNotificationIds.get(0));"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public void testUpdateReadNotifications_shouldAddReadNotificationToAccount_success()"},{"lineNumber":105,"author":{"gitId":"-"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":107,"author":{"gitId":"-"},"content":" Notification notification \u003d getTypicalNotificationWithId();"},{"lineNumber":108,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":109,"author":{"gitId":"-"},"content":" UUID notificationId \u003d notification.getId();"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" when(accountsDb.getAccountByGoogleId(googleId)).thenReturn(account);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" when(notificationsLogic.getNotification(notificationId)).thenReturn(notification);"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" accountsLogic.updateReadNotifications(googleId, notificationId, notification.getEndTime());"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" verify(accountsDb, times(1)).getAccountByGoogleId(googleId);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" verify(notificationsLogic, times(1)).getNotification(notificationId);"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" List\u003cReadNotification\u003e accountReadNotifications \u003d account.getReadNotifications();"},{"lineNumber":120,"author":{"gitId":"-"},"content":" assertEquals(1, accountReadNotifications.size());"},{"lineNumber":121,"author":{"gitId":"-"},"content":" ReadNotification readNotification \u003d accountReadNotifications.get(0);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" assertSame(account, readNotification.getAccount());"},{"lineNumber":123,"author":{"gitId":"-"},"content":" assertSame(notification, readNotification.getNotification());"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":127,"author":{"gitId":"-"},"content":" public void testUpdateReadNotifications_accountDoesNotExist_throwEntityDoesNotExistException() {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":129,"author":{"gitId":"-"},"content":" Notification notification \u003d getTypicalNotificationWithId();"},{"lineNumber":130,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":131,"author":{"gitId":"-"},"content":" UUID notificationId \u003d notification.getId();"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" when(accountsDb.getAccountByGoogleId(googleId)).thenReturn(null);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" when(notificationsLogic.getNotification(notificationId)).thenReturn(notification);"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" EntityDoesNotExistException ex \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":137,"author":{"gitId":"-"},"content":" () -\u003e accountsLogic.updateReadNotifications(googleId, notificationId, notification.getEndTime()));"},{"lineNumber":138,"author":{"gitId":"-"},"content":" assertEquals(\"Trying to update the read notifications of a non-existent account.\", ex.getMessage());"},{"lineNumber":139,"author":{"gitId":"-"},"content":" }"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":142,"author":{"gitId":"-"},"content":" public void testUpdateReadNotifications_notificationDoesNotExist_throwEntityDoesNotExistException() {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":144,"author":{"gitId":"-"},"content":" Notification notification \u003d getTypicalNotificationWithId();"},{"lineNumber":145,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":146,"author":{"gitId":"-"},"content":" UUID notificationId \u003d notification.getId();"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" when(accountsDb.getAccountByGoogleId(googleId)).thenReturn(account);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" when(notificationsLogic.getNotification(notificationId)).thenReturn(null);"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" EntityDoesNotExistException ex \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":152,"author":{"gitId":"-"},"content":" () -\u003e accountsLogic.updateReadNotifications(googleId, notificationId, notification.getEndTime()));"},{"lineNumber":153,"author":{"gitId":"-"},"content":" assertEquals(\"Trying to mark as read a notification that does not exist.\", ex.getMessage());"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":157,"author":{"gitId":"-"},"content":" public void testUpdateReadNotifications_markExpiredNotificationAsRead_throwInvalidParametersException() {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":159,"author":{"gitId":"-"},"content":" Notification notification \u003d getTypicalNotificationWithId();"},{"lineNumber":160,"author":{"gitId":"-"},"content":" notification.setEndTime(Instant.parse(\"2012-01-01T00:00:00Z\"));"},{"lineNumber":161,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":162,"author":{"gitId":"-"},"content":" UUID notificationId \u003d notification.getId();"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" when(accountsDb.getAccountByGoogleId(googleId)).thenReturn(account);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" when(notificationsLogic.getNotification(notificationId)).thenReturn(notification);"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" InvalidParametersException ex \u003d assertThrows(InvalidParametersException.class,"},{"lineNumber":168,"author":{"gitId":"-"},"content":" () -\u003e accountsLogic.updateReadNotifications(googleId, notificationId, notification.getEndTime()));"},{"lineNumber":169,"author":{"gitId":"-"},"content":" assertEquals(\"Trying to mark an expired notification as read.\", ex.getMessage());"},{"lineNumber":170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":173,"author":{"gitId":"-"},"content":" public void testGetReadNotificationsId_doesNotHaveReadNotifications_success() {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":175,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":176,"author":{"gitId":"-"},"content":" when(accountsDb.getAccountByGoogleId(googleId)).thenReturn(account);"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" List\u003cUUID\u003e readNotifications \u003d accountsLogic.getReadNotificationsId(googleId);"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" assertEquals(0, readNotifications.size());"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":184,"author":{"gitId":"-"},"content":" public void testGetReadNotificationsId_hasReadNotifications_success() {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" Account account \u003d getTypicalAccount();"},{"lineNumber":186,"author":{"gitId":"-"},"content":" List\u003cReadNotification\u003e readNotifications \u003d new ArrayList\u003c\u003e();"},{"lineNumber":187,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c 10; i++) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" Notification notification \u003d getTypicalNotificationWithId();"},{"lineNumber":189,"author":{"gitId":"-"},"content":" ReadNotification readNotification \u003d new ReadNotification(account, notification);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" readNotifications.add(readNotification);"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":" account.setReadNotifications(readNotifications);"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" String googleId \u003d account.getGoogleId();"},{"lineNumber":195,"author":{"gitId":"-"},"content":" when(accountsDb.getAccountByGoogleId(googleId)).thenReturn(account);"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" List\u003cUUID\u003e actualReadNotifications \u003d accountsLogic.getReadNotificationsId(googleId);"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" assertEquals(10, actualReadNotifications.size());"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c 10; i++) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" assertEquals(readNotifications.get(i).getNotification().getId(),"},{"lineNumber":203,"author":{"gitId":"-"},"content":" actualReadNotifications.get(i));"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"yuanxi1":3,"-":203}},{"path":"src/test/java/teammates/sqllogic/core/CoursesLogicTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.mock;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.times;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.verify;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.when;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import static teammates.common.util.Const.ERROR_UPDATE_NON_EXISTENT;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import java.time.Duration;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.CoursesDb;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":30,"author":{"gitId":"-"},"content":" * SUT: {@code CoursesLogic}."},{"lineNumber":31,"author":{"gitId":"-"},"content":" */"},{"lineNumber":32,"author":{"gitId":"-"},"content":"public class CoursesLogicTest extends BaseTestCase {"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" private CoursesLogic coursesLogic \u003d CoursesLogic.inst();"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" private UsersLogic usersLogic;"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" private FeedbackSessionsLogic fsLogic;"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" private CoursesDb coursesDb;"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":43,"author":{"gitId":"-"},"content":" public void setUp() {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" coursesDb \u003d mock(CoursesDb.class);"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" fsLogic \u003d mock(FeedbackSessionsLogic.class);"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" usersLogic \u003d mock(UsersLogic.class);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" coursesLogic.initLogicDependencies(coursesDb, fsLogic, usersLogic);"},{"lineNumber":48,"author":{"gitId":"-"},"content":" }"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public void testMoveCourseToRecycleBin_shouldReturnBinnedCourse_success()"},{"lineNumber":52,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":54,"author":{"gitId":"-"},"content":" String courseId \u003d course.getId();"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(course);"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" Course binnedCourse \u003d coursesLogic.moveCourseToRecycleBin(courseId);"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" verify(coursesDb, times(1)).getCourse(courseId);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" assertNotNull(binnedCourse);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" }"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public void testMoveCourseToRecycleBin_courseDoesNotExist_throwEntityDoesNotExistException() {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" String courseId \u003d getTypicalCourse().getId();"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(null);"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" EntityDoesNotExistException ex \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":71,"author":{"gitId":"-"},"content":" () -\u003e coursesLogic.moveCourseToRecycleBin(courseId));"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" assertEquals(\"Trying to move a non-existent course to recycling bin.\", ex.getMessage());"},{"lineNumber":74,"author":{"gitId":"-"},"content":" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":77,"author":{"gitId":"-"},"content":" public void testRestoreCourseFromRecycleBin_shouldSetDeletedAtToNull_success()"},{"lineNumber":78,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":80,"author":{"gitId":"-"},"content":" String courseId \u003d course.getId();"},{"lineNumber":81,"author":{"gitId":"-"},"content":" course.setDeletedAt(Instant.parse(\"2021-01-01T00:00:00Z\"));"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(course);"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" coursesLogic.restoreCourseFromRecycleBin(courseId);"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" verify(coursesDb, times(1)).getCourse(courseId);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" assertNull(course.getDeletedAt());"},{"lineNumber":89,"author":{"gitId":"-"},"content":" }"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":92,"author":{"gitId":"-"},"content":" public void testRestoreCourseFromRecycleBin_courseDoesNotExist_throwEntityDoesNotExistException() {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" String courseId \u003d getTypicalCourse().getId();"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(null);"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" EntityDoesNotExistException ex \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":98,"author":{"gitId":"-"},"content":" () -\u003e coursesLogic.restoreCourseFromRecycleBin(courseId));"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" assertEquals(\"Trying to restore a non-existent course from recycling bin.\", ex.getMessage());"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public void testGetSectionNamesForCourse_shouldReturnListOfSectionNames_success() throws EntityDoesNotExistException {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":106,"author":{"gitId":"-"},"content":" String courseId \u003d course.getId();"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" Section s1 \u003d getTypicalSection();"},{"lineNumber":109,"author":{"gitId":"-"},"content":" s1.setName(\"test-sectionName1\");"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" Section s2 \u003d getTypicalSection();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" s2.setName(\"test-sectionName2\");"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" List\u003cSection\u003e sections \u003d new ArrayList\u003c\u003e();"},{"lineNumber":115,"author":{"gitId":"-"},"content":" sections.add(s1);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" sections.add(s2);"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" course.setSections(sections);"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(course);"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" List\u003cString\u003e sectionNames \u003d coursesLogic.getSectionNamesForCourse(courseId);"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" verify(coursesDb, times(1)).getCourse(courseId);"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedSectionNames \u003d List.of(\"test-sectionName1\", \"test-sectionName2\");"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" assertEquals(expectedSectionNames, sectionNames);"},{"lineNumber":129,"author":{"gitId":"-"},"content":" }"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":132,"author":{"gitId":"-"},"content":" public void testGetSectionNamesForCourse_courseDoesNotExist_throwEntityDoesNotExistException()"},{"lineNumber":133,"author":{"gitId":"-"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" String courseId \u003d getTypicalCourse().getId();"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(null);"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" EntityDoesNotExistException ex \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":139,"author":{"gitId":"-"},"content":" () -\u003e coursesLogic.getSectionNamesForCourse(courseId));"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" assertEquals(\"Trying to get section names for a non-existent course.\", ex.getMessage());"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" public void testCreateCourse_shouldReturnCreatedCourse_success()"},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":147,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":148,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createCourse(course)).thenReturn(course);"},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":151,"author":{"gitId":"domoberzin"},"content":" Course createdCourse \u003d coursesLogic.createCourse(course);"},{"lineNumber":152,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":153,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).createCourse(course);"},{"lineNumber":154,"author":{"gitId":"domoberzin"},"content":" assertNotNull(createdCourse);"},{"lineNumber":155,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":157,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":158,"author":{"gitId":"domoberzin"},"content":" public void testCreateDuplicateCourse_throwEntityAlreadyExistsException()"},{"lineNumber":159,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":160,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":161,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":162,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createCourse(course))"},{"lineNumber":163,"author":{"gitId":"domoberzin"},"content":" .thenThrow(new EntityAlreadyExistsException("},{"lineNumber":164,"author":{"gitId":"domoberzin"},"content":" String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, course.toString())));"},{"lineNumber":165,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":166,"author":{"gitId":"domoberzin"},"content":" EntityAlreadyExistsException ex \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.createCourse(course));"},{"lineNumber":168,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":169,"author":{"gitId":"domoberzin"},"content":" assertEquals(String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, course.toString()), ex.getMessage());"},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":171,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":172,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":173,"author":{"gitId":"domoberzin"},"content":" public void testGetCourse_shouldReturnCourse_success() {"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d course.getId();"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(course);"},{"lineNumber":178,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":" Course returnedCourse \u003d coursesLogic.getCourse(courseId);"},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).getCourse(courseId);"},{"lineNumber":182,"author":{"gitId":"domoberzin"},"content":" assertNotNull(returnedCourse);"},{"lineNumber":183,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":184,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":185,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":186,"author":{"gitId":"domoberzin"},"content":" public void testDeleteCourseCascade_shouldDeleteCourse_success() {"},{"lineNumber":187,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":188,"author":{"gitId":"domoberzin"},"content":" List\u003cInstructor\u003e instructors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":189,"author":{"gitId":"domoberzin"},"content":" List\u003cFeedbackSession\u003e feedbackSessions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":190,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":191,"author":{"gitId":"domoberzin"},"content":" FeedbackSession fs \u003d new FeedbackSession(\"test-fs\", course, \"test@email.com\","},{"lineNumber":192,"author":{"gitId":"domoberzin"},"content":" \"test\", Instant.now(), Instant.now(), Instant.now(), Instant.now(), Duration.ofSeconds(60),"},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":" false, false, false);"},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" feedbackSessions.add(fs);"},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" instructors.add(getTypicalInstructor());"},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":" when(fsLogic.getFeedbackSessionsForCourse(course.getId())).thenReturn(feedbackSessions);"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" when(usersLogic.getInstructorsForCourse(course.getId())).thenReturn(instructors);"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getCourse(course.getId())).thenReturn(course);"},{"lineNumber":200,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":201,"author":{"gitId":"domoberzin"},"content":" coursesLogic.deleteCourseCascade(course.getId());"},{"lineNumber":202,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":203,"author":{"gitId":"domoberzin"},"content":" verify(usersLogic, times(1)).deleteStudentsInCourseCascade(course.getId());"},{"lineNumber":204,"author":{"gitId":"domoberzin"},"content":" verify(usersLogic, times(1)).getInstructorsForCourse(course.getId());"},{"lineNumber":205,"author":{"gitId":"domoberzin"},"content":" verify(usersLogic, times(1)).deleteInstructorCascade(course.getId(), instructors.get(0).getEmail());"},{"lineNumber":206,"author":{"gitId":"domoberzin"},"content":" verify(fsLogic, times(1)).deleteFeedbackSessionCascade(fs.getName(), course.getId());"},{"lineNumber":207,"author":{"gitId":"domoberzin"},"content":" verify(fsLogic, times(1)).getFeedbackSessionsForCourse(course.getId());"},{"lineNumber":208,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).deleteCourse(course);"},{"lineNumber":209,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).deleteSectionsByCourseId(course.getId());"},{"lineNumber":210,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":211,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":212,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":213,"author":{"gitId":"domoberzin"},"content":" public void testUpdateCourse_shouldReturnUpdatedCourse_success()"},{"lineNumber":214,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":215,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":216,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d course.getId();"},{"lineNumber":217,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":218,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(course);"},{"lineNumber":219,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":220,"author":{"gitId":"domoberzin"},"content":" Course updatedCourse \u003d coursesLogic.updateCourse(courseId, \"Test Course 1\", \"Asia/India\");"},{"lineNumber":221,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":222,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).getCourse(courseId);"},{"lineNumber":223,"author":{"gitId":"domoberzin"},"content":" assertNotNull(updatedCourse);"},{"lineNumber":224,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"Test Course 1\", updatedCourse.getName());"},{"lineNumber":225,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"Asia/India\", updatedCourse.getTimeZone());"},{"lineNumber":226,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":227,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":228,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":229,"author":{"gitId":"domoberzin"},"content":" public void testUpdateCourse_throwEntityDoesNotExistException()"},{"lineNumber":230,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":231,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":232,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d course.getId();"},{"lineNumber":233,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":234,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(null);"},{"lineNumber":235,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":236,"author":{"gitId":"domoberzin"},"content":" EntityDoesNotExistException ex \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":237,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.updateCourse(courseId, course.getName(), \"Asia/Singapore\"));"},{"lineNumber":238,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":239,"author":{"gitId":"domoberzin"},"content":" assertEquals(ERROR_UPDATE_NON_EXISTENT + Course.class, ex.getMessage());"},{"lineNumber":240,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":241,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":242,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":243,"author":{"gitId":"domoberzin"},"content":" public void testUpdateCourse_throwInvalidParametersException()"},{"lineNumber":244,"author":{"gitId":"domoberzin"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":245,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":246,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d course.getId();"},{"lineNumber":247,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":248,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(course);"},{"lineNumber":249,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":250,"author":{"gitId":"domoberzin"},"content":" InvalidParametersException ex \u003d assertThrows(InvalidParametersException.class,"},{"lineNumber":251,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.updateCourse(courseId, \"\", \"Asia/Singapore\"));"},{"lineNumber":252,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":253,"author":{"gitId":"domoberzin"},"content":" String expectedMessage \u003d \"The field \u0027course name\u0027 is empty.\""},{"lineNumber":254,"author":{"gitId":"domoberzin"},"content":" + \" The value of a/an course name should be no longer than 80 characters.\""},{"lineNumber":255,"author":{"gitId":"domoberzin"},"content":" + \" It should not be empty.\";"},{"lineNumber":256,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":257,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedMessage, ex.getMessage());"},{"lineNumber":258,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":259,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":260,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":261,"author":{"gitId":"domoberzin"},"content":" public void testCreateSection_shouldReturnCreatedSection_success()"},{"lineNumber":262,"author":{"gitId":"domoberzin"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":263,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":264,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":265,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createSection(section)).thenReturn(section);"},{"lineNumber":266,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":267,"author":{"gitId":"domoberzin"},"content":" Section createdSection \u003d coursesLogic.createSection(section);"},{"lineNumber":268,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":269,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).createSection(section);"},{"lineNumber":270,"author":{"gitId":"domoberzin"},"content":" assertNotNull(createdSection);"},{"lineNumber":271,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":272,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":273,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":274,"author":{"gitId":"domoberzin"},"content":" public void testCreateDuplicateSection_throwEntityAlreadyExistsException()"},{"lineNumber":275,"author":{"gitId":"domoberzin"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":276,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":277,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":278,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createSection(section))"},{"lineNumber":279,"author":{"gitId":"domoberzin"},"content":" .thenThrow(new EntityAlreadyExistsException("},{"lineNumber":280,"author":{"gitId":"domoberzin"},"content":" String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, section.toString())));"},{"lineNumber":281,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":282,"author":{"gitId":"domoberzin"},"content":" EntityAlreadyExistsException ex \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":283,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.createSection(section));"},{"lineNumber":284,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":285,"author":{"gitId":"domoberzin"},"content":" assertEquals(String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, section.toString()), ex.getMessage());"},{"lineNumber":286,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":287,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":288,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":289,"author":{"gitId":"domoberzin"},"content":" public void testCreateSectionInvalidName_throwInvalidParametersException()"},{"lineNumber":290,"author":{"gitId":"domoberzin"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":291,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":292,"author":{"gitId":"domoberzin"},"content":" section.setName(null);"},{"lineNumber":293,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":294,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createSection(section)).thenThrow(new InvalidParametersException(section.getInvalidityInfo()));"},{"lineNumber":295,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":296,"author":{"gitId":"domoberzin"},"content":" InvalidParametersException ex \u003d assertThrows(InvalidParametersException.class,"},{"lineNumber":297,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.createSection(section));"},{"lineNumber":298,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":299,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"The provided section name is not acceptable to TEAMMATES as it cannot be empty.\", ex.getMessage());"},{"lineNumber":300,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":301,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":302,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":303,"author":{"gitId":"domoberzin"},"content":" public void testGetSectionByCourseIdAndTeam_shouldReturnSection_success() {"},{"lineNumber":304,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":305,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d section.getCourse().getId();"},{"lineNumber":306,"author":{"gitId":"domoberzin"},"content":" String teamName \u003d section.getName();"},{"lineNumber":307,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":308,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getSectionByCourseIdAndTeam(courseId, teamName)).thenReturn(section);"},{"lineNumber":309,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":310,"author":{"gitId":"domoberzin"},"content":" Section returnedSection \u003d coursesLogic.getSectionByCourseIdAndTeam(courseId, teamName);"},{"lineNumber":311,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":312,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).getSectionByCourseIdAndTeam(courseId, teamName);"},{"lineNumber":313,"author":{"gitId":"domoberzin"},"content":" assertNotNull(returnedSection);"},{"lineNumber":314,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":315,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":316,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":317,"author":{"gitId":"domoberzin"},"content":" public void testGetSectionByCourseIdAndTeam_sectionDoesNotExist_returnNull() {"},{"lineNumber":318,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d getTypicalCourse().getId();"},{"lineNumber":319,"author":{"gitId":"domoberzin"},"content":" String teamName \u003d getTypicalSection().getName();"},{"lineNumber":320,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":321,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getSectionByCourseIdAndTeam(courseId, teamName)).thenReturn(null);"},{"lineNumber":322,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":323,"author":{"gitId":"domoberzin"},"content":" Section returnedSection \u003d coursesLogic.getSectionByCourseIdAndTeam(courseId, teamName);"},{"lineNumber":324,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":325,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).getSectionByCourseIdAndTeam(courseId, teamName);"},{"lineNumber":326,"author":{"gitId":"domoberzin"},"content":" assertNull(returnedSection);"},{"lineNumber":327,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":328,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":329,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":330,"author":{"gitId":"domoberzin"},"content":" public void testGetCourseInstitute_shouldReturnInstitute_success() {"},{"lineNumber":331,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":332,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d course.getId();"},{"lineNumber":333,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":334,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(course);"},{"lineNumber":335,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":336,"author":{"gitId":"domoberzin"},"content":" String institute \u003d coursesLogic.getCourseInstitute(courseId);"},{"lineNumber":337,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":338,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).getCourse(courseId);"},{"lineNumber":339,"author":{"gitId":"domoberzin"},"content":" assertNotNull(institute);"},{"lineNumber":340,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":341,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":342,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":343,"author":{"gitId":"domoberzin"},"content":" public void testGetCourseInstituteNonExistentCourse_throwAssertionError() {"},{"lineNumber":344,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":345,"author":{"gitId":"domoberzin"},"content":" String courseId \u003d course.getId();"},{"lineNumber":346,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":347,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getCourse(courseId)).thenReturn(null);"},{"lineNumber":348,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":349,"author":{"gitId":"domoberzin"},"content":" AssertionError ex \u003d assertThrows(AssertionError.class,"},{"lineNumber":350,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.getCourseInstitute(courseId));"},{"lineNumber":351,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":352,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"Trying to getCourseInstitute for inexistent course with id \" + courseId, ex.getMessage());"},{"lineNumber":353,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":354,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":355,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":356,"author":{"gitId":"domoberzin"},"content":" public void testCreateTeam_shouldReturnCreatedTeam_success()"},{"lineNumber":357,"author":{"gitId":"domoberzin"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":358,"author":{"gitId":"domoberzin"},"content":" Team team \u003d getTypicalTeam();"},{"lineNumber":359,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":360,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createTeam(team)).thenReturn(team);"},{"lineNumber":361,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":362,"author":{"gitId":"domoberzin"},"content":" Team createdTeam \u003d coursesLogic.createTeam(team);"},{"lineNumber":363,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":364,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).createTeam(team);"},{"lineNumber":365,"author":{"gitId":"domoberzin"},"content":" assertNotNull(createdTeam);"},{"lineNumber":366,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":367,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":368,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":369,"author":{"gitId":"domoberzin"},"content":" public void testCreateDuplicateTeam_throwEntityAlreadyExistsException()"},{"lineNumber":370,"author":{"gitId":"domoberzin"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":371,"author":{"gitId":"domoberzin"},"content":" Team team \u003d getTypicalTeam();"},{"lineNumber":372,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":373,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createTeam(team)).thenThrow("},{"lineNumber":374,"author":{"gitId":"domoberzin"},"content":" new EntityAlreadyExistsException("},{"lineNumber":375,"author":{"gitId":"domoberzin"},"content":" String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, team.toString())));"},{"lineNumber":376,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":377,"author":{"gitId":"domoberzin"},"content":" EntityAlreadyExistsException ex \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":378,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.createTeam(team));"},{"lineNumber":379,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":380,"author":{"gitId":"domoberzin"},"content":" assertEquals(String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, team.toString()), ex.getMessage());"},{"lineNumber":381,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":382,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":383,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":384,"author":{"gitId":"domoberzin"},"content":" public void testCreateTeamInvalidName_throwInvalidParametersException()"},{"lineNumber":385,"author":{"gitId":"domoberzin"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":386,"author":{"gitId":"domoberzin"},"content":" Team team \u003d getTypicalTeam();"},{"lineNumber":387,"author":{"gitId":"domoberzin"},"content":" team.setName(null);"},{"lineNumber":388,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":389,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.createTeam(team)).thenThrow(new InvalidParametersException(team.getInvalidityInfo()));"},{"lineNumber":390,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":391,"author":{"gitId":"domoberzin"},"content":" InvalidParametersException ex \u003d assertThrows(InvalidParametersException.class,"},{"lineNumber":392,"author":{"gitId":"domoberzin"},"content":" () -\u003e coursesLogic.createTeam(team));"},{"lineNumber":393,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":394,"author":{"gitId":"domoberzin"},"content":" assertEquals(\"The provided team name is not acceptable to TEAMMATES as it cannot be empty.\", ex.getMessage());"},{"lineNumber":395,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":396,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":397,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":398,"author":{"gitId":"domoberzin"},"content":" public void testGetTeamsForSection_shouldReturnListOfTeams_success() {"},{"lineNumber":399,"author":{"gitId":"domoberzin"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":400,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":401,"author":{"gitId":"domoberzin"},"content":" Team t1 \u003d getTypicalTeam();"},{"lineNumber":402,"author":{"gitId":"domoberzin"},"content":" t1.setName(\"test-teamName1\");"},{"lineNumber":403,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":404,"author":{"gitId":"domoberzin"},"content":" Team t2 \u003d getTypicalTeam();"},{"lineNumber":405,"author":{"gitId":"domoberzin"},"content":" t2.setName(\"test-teamName2\");"},{"lineNumber":406,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":407,"author":{"gitId":"domoberzin"},"content":" List\u003cTeam\u003e teams \u003d new ArrayList\u003c\u003e();"},{"lineNumber":408,"author":{"gitId":"domoberzin"},"content":" teams.add(t1);"},{"lineNumber":409,"author":{"gitId":"domoberzin"},"content":" teams.add(t2);"},{"lineNumber":410,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":411,"author":{"gitId":"domoberzin"},"content":" section.setTeams(teams);"},{"lineNumber":412,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":413,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getTeamsForSection(section)).thenReturn(teams);"},{"lineNumber":414,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":415,"author":{"gitId":"domoberzin"},"content":" List\u003cTeam\u003e returnedTeams \u003d coursesLogic.getTeamsForSection(section);"},{"lineNumber":416,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":417,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).getTeamsForSection(section);"},{"lineNumber":418,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":419,"author":{"gitId":"domoberzin"},"content":" List\u003cTeam\u003e expectedTeams \u003d List.of(t1, t2);"},{"lineNumber":420,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":421,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedTeams, returnedTeams);"},{"lineNumber":422,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":423,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":424,"author":{"gitId":"domoberzin"},"content":" @Test"},{"lineNumber":425,"author":{"gitId":"domoberzin"},"content":" public void testGetTeamsForCourse_shouldReturnListOfTeams_success() {"},{"lineNumber":426,"author":{"gitId":"domoberzin"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":427,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":428,"author":{"gitId":"domoberzin"},"content":" Team t1 \u003d getTypicalTeam();"},{"lineNumber":429,"author":{"gitId":"domoberzin"},"content":" t1.setName(\"test-teamName1\");"},{"lineNumber":430,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":431,"author":{"gitId":"domoberzin"},"content":" Team t2 \u003d getTypicalTeam();"},{"lineNumber":432,"author":{"gitId":"domoberzin"},"content":" t2.setName(\"test-teamName2\");"},{"lineNumber":433,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":434,"author":{"gitId":"domoberzin"},"content":" List\u003cTeam\u003e teams \u003d new ArrayList\u003c\u003e();"},{"lineNumber":435,"author":{"gitId":"domoberzin"},"content":" teams.add(t1);"},{"lineNumber":436,"author":{"gitId":"domoberzin"},"content":" teams.add(t2);"},{"lineNumber":437,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":438,"author":{"gitId":"domoberzin"},"content":" when(coursesDb.getTeamsForCourse(course.getId())).thenReturn(teams);"},{"lineNumber":439,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":440,"author":{"gitId":"domoberzin"},"content":" List\u003cTeam\u003e returnedTeams \u003d coursesLogic.getTeamsForCourse(course.getId());"},{"lineNumber":441,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":442,"author":{"gitId":"domoberzin"},"content":" verify(coursesDb, times(1)).getTeamsForCourse(course.getId());"},{"lineNumber":443,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":444,"author":{"gitId":"domoberzin"},"content":" List\u003cTeam\u003e expectedTeams \u003d List.of(t1, t2);"},{"lineNumber":445,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":446,"author":{"gitId":"domoberzin"},"content":" assertEquals(expectedTeams, returnedTeams);"},{"lineNumber":447,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":448,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":319,"-":129}},{"path":"src/test/java/teammates/sqllogic/core/FeedbackQuestionsLogicTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.mock;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static org.mockito.Mockito.when;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlCourseRoster;"},{"lineNumber":15,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlapi.FeedbackQuestionsDb;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * SUT: {@link FeedbackQuestionsLogic}."},{"lineNumber":26,"author":{"gitId":"-"},"content":" */"},{"lineNumber":27,"author":{"gitId":"-"},"content":"public class FeedbackQuestionsLogicTest extends BaseTestCase {"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private FeedbackQuestionsLogic fqLogic \u003d FeedbackQuestionsLogic.inst();"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" private FeedbackQuestionsDb fqDb;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private UsersLogic usersLogic;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":36,"author":{"gitId":"-"},"content":" public void setUpMethod() {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" fqDb \u003d mock(FeedbackQuestionsDb.class);"},{"lineNumber":38,"author":{"gitId":"-"},"content":" CoursesLogic coursesLogic \u003d mock(CoursesLogic.class);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" usersLogic \u003d mock(UsersLogic.class);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" FeedbackResponsesLogic frLogic \u003d mock(FeedbackResponsesLogic.class);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" FeedbackSessionsLogic feedbackSessionsLogic \u003d mock(FeedbackSessionsLogic.class);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" fqLogic.initLogicDependencies(fqDb, coursesLogic, frLogic, usersLogic, feedbackSessionsLogic);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":46,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForSession_questionNumbersInOrder_success() {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":48,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questions \u003d createQuestionList(fs, 5);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" fs.setId(UUID.randomUUID());"},{"lineNumber":52,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForSession(fs.getId())).thenReturn(questions);"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqLogic.getFeedbackQuestionsForSession(fs);"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" assertEquals(questions.size(), actualQuestions.size());"},{"lineNumber":57,"author":{"gitId":"-"},"content":" assertTrue(questions.containsAll(actualQuestions));"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForSession_questionNumbersOutOfOrder_success() {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":63,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" FeedbackQuestion fq5 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" fq1.setQuestionNumber(1);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" fq2.setQuestionNumber(2);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" fq3.setQuestionNumber(3);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" fq4.setQuestionNumber(4);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" fq5.setQuestionNumber(5);"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questions \u003d new ArrayList\u003c\u003e(List.of(fq2, fq4, fq3, fq1, fq5));"},{"lineNumber":77,"author":{"gitId":"-"},"content":" fs.setId(UUID.randomUUID());"},{"lineNumber":78,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForSession(fs.getId())).thenReturn(questions);"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqLogic.getFeedbackQuestionsForSession(fs);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" assertEquals(questions.size(), actualQuestions.size());"},{"lineNumber":83,"author":{"gitId":"-"},"content":" assertTrue(questions.containsAll(actualQuestions));"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":87,"author":{"gitId":"-"},"content":" public void testCreateFeedbackQuestion_questionNumbersAreConsistent_canCreateFeedbackQuestion()"},{"lineNumber":88,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":90,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" FeedbackQuestion newQuestion \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" newQuestion.setQuestionNumber(5);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsBefore \u003d createQuestionList(fs, 4);"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" fs.setId(UUID.randomUUID());"},{"lineNumber":97,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForSession(fs.getId())).thenReturn(questionsBefore);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" when(fqDb.createFeedbackQuestion(newQuestion)).thenReturn(newQuestion);"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" FeedbackQuestion createdQuestion \u003d fqLogic.createFeedbackQuestion(newQuestion);"},{"lineNumber":101,"author":{"gitId":"-"},"content":" assertEquals(newQuestion, createdQuestion);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":105,"author":{"gitId":"-"},"content":" public void testCreateFeedbackQuestion_questionNumbersAreInconsistent_canCreateFeedbackQuestion()"},{"lineNumber":106,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":108,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" FeedbackQuestion fq5 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" fq1.setQuestionNumber(2);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" fq2.setQuestionNumber(3);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" fq3.setQuestionNumber(4);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" fq4.setQuestionNumber(5);"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsBefore \u003d new ArrayList\u003c\u003e(List.of(fq1, fq2, fq3, fq4));"},{"lineNumber":120,"author":{"gitId":"-"},"content":" fs.setId(UUID.randomUUID());"},{"lineNumber":121,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForSession(fs.getId())).thenReturn(questionsBefore);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" when(fqDb.createFeedbackQuestion(fq5)).thenReturn(fq5);"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" FeedbackQuestion createdQuestion \u003d fqLogic.createFeedbackQuestion(fq5);"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" assertEquals(fq5, createdQuestion);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" @Test(enabled \u003d false)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" public void testCreateFeedbackQuestion_oldQuestionNumberLargerThanNewQuestionNumber_adjustQuestionNumberCorrectly()"},{"lineNumber":131,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":133,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":138,"author":{"gitId":"-"},"content":" FeedbackQuestion fq5 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" fq1.setQuestionNumber(2);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" fq2.setQuestionNumber(3);"},{"lineNumber":141,"author":{"gitId":"-"},"content":" fq3.setQuestionNumber(4);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" fq4.setQuestionNumber(5);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" fq5.setQuestionNumber(1);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsBefore \u003d new ArrayList\u003c\u003e(List.of(fq1, fq2, fq3, fq4));"},{"lineNumber":146,"author":{"gitId":"-"},"content":" fs.setId(UUID.randomUUID());"},{"lineNumber":147,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForSession(fs.getId())).thenReturn(questionsBefore);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" when(fqDb.createFeedbackQuestion(fq5)).thenReturn(fq5);"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" fqLogic.createFeedbackQuestion(fq5);"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" assertEquals(1, fq1.getQuestionNumber().intValue());"},{"lineNumber":153,"author":{"gitId":"-"},"content":" assertEquals(2, fq2.getQuestionNumber().intValue());"},{"lineNumber":154,"author":{"gitId":"-"},"content":" assertEquals(3, fq3.getQuestionNumber().intValue());"},{"lineNumber":155,"author":{"gitId":"-"},"content":" assertEquals(4, fq4.getQuestionNumber().intValue());"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" @Test(enabled \u003d false)"},{"lineNumber":159,"author":{"gitId":"-"},"content":" public void testCreateFeedbackQuestion_oldQuestionNumberSmallerThanNewQuestionNumber_adjustQuestionNumberCorrectly()"},{"lineNumber":160,"author":{"gitId":"marquestye"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":162,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":163,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":164,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":167,"author":{"gitId":"-"},"content":" FeedbackQuestion fq5 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" fq1.setQuestionNumber(0);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" fq2.setQuestionNumber(1);"},{"lineNumber":170,"author":{"gitId":"-"},"content":" fq3.setQuestionNumber(2);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" fq4.setQuestionNumber(3);"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsBefore \u003d new ArrayList\u003c\u003e(List.of(fq1, fq2, fq3, fq4));"},{"lineNumber":174,"author":{"gitId":"-"},"content":" fs.setId(UUID.randomUUID());"},{"lineNumber":175,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForSession(fs.getId())).thenReturn(questionsBefore);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" when(fqDb.createFeedbackQuestion(fq5)).thenReturn(fq5);"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" fqLogic.createFeedbackQuestion(fq5);"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" assertEquals(1, fq1.getQuestionNumber().intValue());"},{"lineNumber":181,"author":{"gitId":"-"},"content":" assertEquals(2, fq2.getQuestionNumber().intValue());"},{"lineNumber":182,"author":{"gitId":"-"},"content":" assertEquals(3, fq3.getQuestionNumber().intValue());"},{"lineNumber":183,"author":{"gitId":"-"},"content":" assertEquals(4, fq4.getQuestionNumber().intValue());"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":187,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForStudents_success() {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":189,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":191,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":192,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsSelf \u003d List.of(fq1, fq2);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsStudent \u003d List.of(fq3, fq4);"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e expectedQuestions \u003d List.of(fq1, fq2, fq3, fq4);"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.SELF)).thenReturn(questionsSelf);"},{"lineNumber":201,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.STUDENTS)).thenReturn(questionsStudent);"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqLogic.getFeedbackQuestionsForStudents(fs);"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestions.size(), actualQuestions.size());"},{"lineNumber":206,"author":{"gitId":"-"},"content":" assertTrue(actualQuestions.containsAll(actualQuestions));"},{"lineNumber":207,"author":{"gitId":"-"},"content":" }"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":210,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForInstructors_instructorIsCreator_success() {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":212,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":213,"author":{"gitId":"-"},"content":" fs.setCreatorEmail(\"instr1@teammates.tmt\");"},{"lineNumber":214,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":215,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":216,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":217,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsInstructors \u003d List.of(fq1, fq2);"},{"lineNumber":220,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsSelf \u003d List.of(fq3, fq4);"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.INSTRUCTORS))"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .thenReturn(questionsInstructors);"},{"lineNumber":224,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.SELF)).thenReturn(questionsSelf);"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e expectedQuestions \u003d List.of(fq1, fq2, fq3, fq4);"},{"lineNumber":227,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqLogic.getFeedbackQuestionsForInstructors(fs, \"instr1@teammates.tmt\");"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestions.size(), actualQuestions.size());"},{"lineNumber":230,"author":{"gitId":"-"},"content":" assertTrue(actualQuestions.containsAll(actualQuestions));"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":234,"author":{"gitId":"-"},"content":" public void testGetFeedbackQuestionsForInstructors_instructorIsNotCreator_success() {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":236,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":237,"author":{"gitId":"-"},"content":" fs.setCreatorEmail(\"instr1@teammates.tmt\");"},{"lineNumber":238,"author":{"gitId":"-"},"content":" FeedbackQuestion fq1 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":239,"author":{"gitId":"-"},"content":" FeedbackQuestion fq2 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":240,"author":{"gitId":"-"},"content":" FeedbackQuestion fq3 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":241,"author":{"gitId":"-"},"content":" FeedbackQuestion fq4 \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsInstructors \u003d List.of(fq1, fq2);"},{"lineNumber":244,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questionsSelf \u003d List.of(fq3, fq4);"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.INSTRUCTORS))"},{"lineNumber":247,"author":{"gitId":"-"},"content":" .thenReturn(questionsInstructors);"},{"lineNumber":248,"author":{"gitId":"-"},"content":" when(fqDb.getFeedbackQuestionsForGiverType(fs, FeedbackParticipantType.SELF)).thenReturn(questionsSelf);"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e expectedQuestions \u003d List.of(fq1, fq2);"},{"lineNumber":251,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e actualQuestions \u003d fqLogic.getFeedbackQuestionsForInstructors(fs, \"instr2@teammates.tmt\");"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestions.size(), actualQuestions.size());"},{"lineNumber":254,"author":{"gitId":"-"},"content":" assertTrue(actualQuestions.containsAll(actualQuestions));"},{"lineNumber":255,"author":{"gitId":"-"},"content":" }"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":" @Test(enabled \u003d false)"},{"lineNumber":258,"author":{"gitId":"-"},"content":" public void testGetRecipientsOfQuestion_giverTypeStudents() {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" Course c \u003d getTypicalCourse();"},{"lineNumber":260,"author":{"gitId":"-"},"content":" FeedbackSession fs \u003d getTypicalFeedbackSessionForCourse(c);"},{"lineNumber":261,"author":{"gitId":"-"},"content":" FeedbackQuestion fq \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" Student s1 \u003d getTypicalStudent();"},{"lineNumber":264,"author":{"gitId":"-"},"content":" Student s2 \u003d getTypicalStudent();"},{"lineNumber":265,"author":{"gitId":"-"},"content":" List\u003cStudent\u003e studentsInCourse \u003d List.of(s1, s2);"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":" SqlCourseRoster courseRoster \u003d new SqlCourseRoster(studentsInCourse, null);"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" when(usersLogic.getStudentsForCourse(\"course-1\")).thenReturn(studentsInCourse);"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" ______TS(\"response to students except self\");"},{"lineNumber":272,"author":{"gitId":"-"},"content":" assertEquals(fqLogic.getRecipientsOfQuestion(fq, null, s2, null).size(), studentsInCourse.size() - 1);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" assertEquals(fqLogic.getRecipientsOfQuestion(fq, null, s2, courseRoster).size(), studentsInCourse.size() - 1);"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":" }"},{"lineNumber":276,"author":{"gitId":"-"},"content":""},{"lineNumber":277,"author":{"gitId":"-"},"content":" private List\u003cFeedbackQuestion\u003e createQuestionList(FeedbackSession fs, int numOfQuestions) {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" List\u003cFeedbackQuestion\u003e questions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":279,"author":{"gitId":"-"},"content":" for (int i \u003d 1; i \u003c\u003d numOfQuestions; i++) {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" FeedbackQuestion fq \u003d getTypicalFeedbackQuestionForSession(fs);"},{"lineNumber":281,"author":{"gitId":"-"},"content":" fq.setQuestionNumber(i);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" questions.add(fq);"},{"lineNumber":283,"author":{"gitId":"-"},"content":" }"},{"lineNumber":284,"author":{"gitId":"-"},"content":" return questions;"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"marquestye":5,"-":281}},{"path":"src/test/java/teammates/sqllogic/core/FeedbackResponseCommentsLogicTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"mingyuanc"},"content":"package teammates.sqllogic.core;"},{"lineNumber":2,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":3,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.mock;"},{"lineNumber":4,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.times;"},{"lineNumber":5,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.verify;"},{"lineNumber":6,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.when;"},{"lineNumber":7,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":8,"author":{"gitId":"mingyuanc"},"content":"import java.util.ArrayList;"},{"lineNumber":9,"author":{"gitId":"mingyuanc"},"content":"import java.util.List;"},{"lineNumber":10,"author":{"gitId":"mingyuanc"},"content":"import java.util.UUID;"},{"lineNumber":11,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":12,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":13,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.Test;"},{"lineNumber":14,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":15,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":16,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":17,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":18,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":19,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlapi.FeedbackResponseCommentsDb;"},{"lineNumber":20,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":21,"author":{"gitId":"mingyuanc"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":22,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.output.CommentVisibilityType;"},{"lineNumber":23,"author":{"gitId":"mingyuanc"},"content":"import teammates.ui.request.FeedbackResponseCommentUpdateRequest;"},{"lineNumber":24,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":25,"author":{"gitId":"mingyuanc"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"mingyuanc"},"content":" * SUT: {@link FeedbackResponseCommentsLogic}."},{"lineNumber":27,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":28,"author":{"gitId":"mingyuanc"},"content":"public class FeedbackResponseCommentsLogicTest extends BaseTestCase {"},{"lineNumber":29,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":30,"author":{"gitId":"mingyuanc"},"content":" private static final Long TYPICAL_ID \u003d 100L;"},{"lineNumber":31,"author":{"gitId":"mingyuanc"},"content":" private static final Long NOT_TYPICAL_ID \u003d 101L;"},{"lineNumber":32,"author":{"gitId":"mingyuanc"},"content":" private static final UUID TYPICAL_UUID \u003d UUID.randomUUID();"},{"lineNumber":33,"author":{"gitId":"mingyuanc"},"content":" private FeedbackResponseCommentsLogic frcLogic \u003d FeedbackResponseCommentsLogic.inst();"},{"lineNumber":34,"author":{"gitId":"mingyuanc"},"content":" private FeedbackResponseCommentsDb frcDb;"},{"lineNumber":35,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":" @BeforeMethod"},{"lineNumber":37,"author":{"gitId":"mingyuanc"},"content":" public void setUpMethod() {"},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":" frcDb \u003d mock(FeedbackResponseCommentsDb.class);"},{"lineNumber":39,"author":{"gitId":"mingyuanc"},"content":" frcLogic.initLogicDependencies(frcDb);"},{"lineNumber":40,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":41,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":42,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":43,"author":{"gitId":"mingyuanc"},"content":" public void testGetComment_commentAlreadyExists_success() {"},{"lineNumber":44,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":45,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":46,"author":{"gitId":"mingyuanc"},"content":" when(frcDb.getFeedbackResponseComment(comment.getId())).thenReturn(comment);"},{"lineNumber":47,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":48,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment commentFetched \u003d frcLogic.getFeedbackResponseComment(TYPICAL_ID);"},{"lineNumber":49,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":50,"author":{"gitId":"mingyuanc"},"content":" assertEquals(comment, commentFetched);"},{"lineNumber":51,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":52,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":53,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":54,"author":{"gitId":"mingyuanc"},"content":" public void testGetCommentForResponse_commentAlreadyExists_success() {"},{"lineNumber":55,"author":{"gitId":"mingyuanc"},"content":" List\u003cFeedbackResponseComment\u003e expectedReturn \u003d new ArrayList\u003c\u003e();"},{"lineNumber":56,"author":{"gitId":"mingyuanc"},"content":" expectedReturn.add(getTypicalResponseComment(TYPICAL_ID));"},{"lineNumber":57,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":58,"author":{"gitId":"mingyuanc"},"content":" when(frcDb.getFeedbackResponseCommentsForResponse(TYPICAL_UUID)).thenReturn(expectedReturn);"},{"lineNumber":59,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":60,"author":{"gitId":"mingyuanc"},"content":" List\u003cFeedbackResponseComment\u003e fetchedReturn \u003d frcLogic.getFeedbackResponseCommentsForResponse(TYPICAL_UUID);"},{"lineNumber":61,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":62,"author":{"gitId":"mingyuanc"},"content":" assertEquals(expectedReturn, fetchedReturn);"},{"lineNumber":63,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":64,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":65,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":66,"author":{"gitId":"mingyuanc"},"content":" public void testGetCommentForResponseFromParticipant_commentAlreadyExists_success() {"},{"lineNumber":67,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":68,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":69,"author":{"gitId":"mingyuanc"},"content":" when(frcDb.getFeedbackResponseCommentForResponseFromParticipant(TYPICAL_UUID)).thenReturn(comment);"},{"lineNumber":70,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":71,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment commentFetched \u003d frcLogic"},{"lineNumber":72,"author":{"gitId":"mingyuanc"},"content":" .getFeedbackResponseCommentForResponseFromParticipant(TYPICAL_UUID);"},{"lineNumber":73,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":74,"author":{"gitId":"mingyuanc"},"content":" assertEquals(comment, commentFetched);"},{"lineNumber":75,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":76,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":77,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":78,"author":{"gitId":"mingyuanc"},"content":" public void testGetComment_commentDoesNotExist_returnsNull() {"},{"lineNumber":79,"author":{"gitId":"mingyuanc"},"content":" when(frcDb.getFeedbackResponseComment(NOT_TYPICAL_ID)).thenReturn(null);"},{"lineNumber":80,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":81,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment commentFetched \u003d frcLogic.getFeedbackResponseComment(NOT_TYPICAL_ID);"},{"lineNumber":82,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":83,"author":{"gitId":"mingyuanc"},"content":" verify(frcDb, times(1)).getFeedbackResponseComment(NOT_TYPICAL_ID);"},{"lineNumber":84,"author":{"gitId":"mingyuanc"},"content":" assertNull(commentFetched);"},{"lineNumber":85,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":86,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":87,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":88,"author":{"gitId":"mingyuanc"},"content":" public void testCreateComment_commentDoesNotExist_success()"},{"lineNumber":89,"author":{"gitId":"mingyuanc"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":90,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":91,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":92,"author":{"gitId":"mingyuanc"},"content":" frcLogic.createFeedbackResponseComment(comment);"},{"lineNumber":93,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":94,"author":{"gitId":"mingyuanc"},"content":" verify(frcDb, times(1)).createFeedbackResponseComment(comment);"},{"lineNumber":95,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":96,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":97,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":98,"author":{"gitId":"mingyuanc"},"content":" public void testCreateComment_commentAlreadyExists_throwsEntityAlreadyExistsException()"},{"lineNumber":99,"author":{"gitId":"mingyuanc"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":100,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":101,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":102,"author":{"gitId":"mingyuanc"},"content":" when(frcDb.createFeedbackResponseComment(comment)).thenThrow(EntityAlreadyExistsException.class);"},{"lineNumber":103,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":104,"author":{"gitId":"mingyuanc"},"content":" assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":105,"author":{"gitId":"mingyuanc"},"content":" () -\u003e frcLogic.createFeedbackResponseComment(comment));"},{"lineNumber":106,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":107,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":108,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":109,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":110,"author":{"gitId":"mingyuanc"},"content":" public void testDeleteComment_commentExists_success() {"},{"lineNumber":111,"author":{"gitId":"mingyuanc"},"content":" frcLogic.deleteFeedbackResponseComment(TYPICAL_ID);"},{"lineNumber":112,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":113,"author":{"gitId":"mingyuanc"},"content":" verify(frcDb, times(1)).deleteFeedbackResponseComment(TYPICAL_ID);"},{"lineNumber":114,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":115,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":116,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":117,"author":{"gitId":"mingyuanc"},"content":" public void testUpdateCommentEmails_success() {"},{"lineNumber":118,"author":{"gitId":"mingyuanc"},"content":" String courseId \u003d \"Course_id\";"},{"lineNumber":119,"author":{"gitId":"mingyuanc"},"content":" String oldEmail \u003d \"oldEmail@gmail.com\";"},{"lineNumber":120,"author":{"gitId":"mingyuanc"},"content":" String newEmail \u003d \"newEmail@gmail.com\";"},{"lineNumber":121,"author":{"gitId":"mingyuanc"},"content":" frcLogic.updateFeedbackResponseCommentsEmails(courseId, oldEmail, newEmail);"},{"lineNumber":122,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":123,"author":{"gitId":"mingyuanc"},"content":" verify(frcDb, times(1)).updateGiverEmailOfFeedbackResponseComments(courseId, oldEmail, newEmail);"},{"lineNumber":124,"author":{"gitId":"mingyuanc"},"content":" verify(frcDb, times(1)).updateLastEditorEmailOfFeedbackResponseComments(courseId, oldEmail, newEmail);"},{"lineNumber":125,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":126,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":127,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":128,"author":{"gitId":"mingyuanc"},"content":" public void testUpdateComment_entityAlreadyExists_success()"},{"lineNumber":129,"author":{"gitId":"mingyuanc"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":130,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":131,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":132,"author":{"gitId":"mingyuanc"},"content":" when(frcDb.getFeedbackResponseComment(comment.getId())).thenReturn(comment);"},{"lineNumber":133,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":134,"author":{"gitId":"mingyuanc"},"content":" String updatedCommentText \u003d \"Update\";"},{"lineNumber":135,"author":{"gitId":"mingyuanc"},"content":" String lastEditorEmail \u003d \"me@gmail.com\";"},{"lineNumber":136,"author":{"gitId":"mingyuanc"},"content":" List\u003cCommentVisibilityType\u003e showCommentTo \u003d new ArrayList\u003c\u003e();"},{"lineNumber":137,"author":{"gitId":"mingyuanc"},"content":" showCommentTo.add(CommentVisibilityType.STUDENTS);"},{"lineNumber":138,"author":{"gitId":"mingyuanc"},"content":" showCommentTo.add(CommentVisibilityType.INSTRUCTORS);"},{"lineNumber":139,"author":{"gitId":"mingyuanc"},"content":" List\u003cCommentVisibilityType\u003e showGiverNameTo \u003d new ArrayList\u003c\u003e();"},{"lineNumber":140,"author":{"gitId":"mingyuanc"},"content":" showGiverNameTo.add(CommentVisibilityType.INSTRUCTORS);"},{"lineNumber":141,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":142,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseCommentUpdateRequest updateRequest \u003d new FeedbackResponseCommentUpdateRequest("},{"lineNumber":143,"author":{"gitId":"mingyuanc"},"content":" updatedCommentText, showCommentTo, showGiverNameTo);"},{"lineNumber":144,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment updatedComment \u003d frcLogic.updateFeedbackResponseComment(TYPICAL_ID, updateRequest,"},{"lineNumber":145,"author":{"gitId":"mingyuanc"},"content":" lastEditorEmail);"},{"lineNumber":146,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":147,"author":{"gitId":"mingyuanc"},"content":" verify(frcDb, times(1)).getFeedbackResponseComment(TYPICAL_ID);"},{"lineNumber":148,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":149,"author":{"gitId":"mingyuanc"},"content":" List\u003cFeedbackParticipantType\u003e expectedShowCommentTo \u003d new ArrayList\u003c\u003e();"},{"lineNumber":150,"author":{"gitId":"mingyuanc"},"content":" expectedShowCommentTo.add(FeedbackParticipantType.STUDENTS);"},{"lineNumber":151,"author":{"gitId":"mingyuanc"},"content":" expectedShowCommentTo.add(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":152,"author":{"gitId":"mingyuanc"},"content":" List\u003cFeedbackParticipantType\u003e expectedShowGiverNameTo \u003d new ArrayList\u003c\u003e();"},{"lineNumber":153,"author":{"gitId":"mingyuanc"},"content":" expectedShowGiverNameTo.add(FeedbackParticipantType.INSTRUCTORS);"},{"lineNumber":154,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":155,"author":{"gitId":"mingyuanc"},"content":" assertEquals(TYPICAL_ID, updatedComment.getId());"},{"lineNumber":156,"author":{"gitId":"mingyuanc"},"content":" assertEquals(updatedCommentText, updatedComment.getCommentText());"},{"lineNumber":157,"author":{"gitId":"mingyuanc"},"content":" assertEquals(expectedShowCommentTo, updatedComment.getShowCommentTo());"},{"lineNumber":158,"author":{"gitId":"mingyuanc"},"content":" assertEquals(expectedShowGiverNameTo, updatedComment.getShowGiverNameTo());"},{"lineNumber":159,"author":{"gitId":"mingyuanc"},"content":" assertEquals(lastEditorEmail, updatedComment.getLastEditorEmail());"},{"lineNumber":160,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":161,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":162,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":163,"author":{"gitId":"mingyuanc"},"content":" public void testUpdateComment_entityDoesNotExist() {"},{"lineNumber":164,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":165,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":166,"author":{"gitId":"mingyuanc"},"content":" when(frcDb.getFeedbackResponseComment(comment.getId())).thenReturn(comment);"},{"lineNumber":167,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":168,"author":{"gitId":"mingyuanc"},"content":" long nonExistentId \u003d 101L;"},{"lineNumber":169,"author":{"gitId":"mingyuanc"},"content":" String updatedCommentText \u003d \"Update\";"},{"lineNumber":170,"author":{"gitId":"mingyuanc"},"content":" String lastEditorEmail \u003d \"me@gmail.com\";"},{"lineNumber":171,"author":{"gitId":"mingyuanc"},"content":" List\u003cCommentVisibilityType\u003e showCommentTo \u003d new ArrayList\u003c\u003e();"},{"lineNumber":172,"author":{"gitId":"mingyuanc"},"content":" showCommentTo.add(CommentVisibilityType.STUDENTS);"},{"lineNumber":173,"author":{"gitId":"mingyuanc"},"content":" showCommentTo.add(CommentVisibilityType.INSTRUCTORS);"},{"lineNumber":174,"author":{"gitId":"mingyuanc"},"content":" List\u003cCommentVisibilityType\u003e showGiverNameTo \u003d new ArrayList\u003c\u003e();"},{"lineNumber":175,"author":{"gitId":"mingyuanc"},"content":" showGiverNameTo.add(CommentVisibilityType.INSTRUCTORS);"},{"lineNumber":176,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":177,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseCommentUpdateRequest updateRequest \u003d new FeedbackResponseCommentUpdateRequest("},{"lineNumber":178,"author":{"gitId":"mingyuanc"},"content":" updatedCommentText, showCommentTo, showGiverNameTo);"},{"lineNumber":179,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":180,"author":{"gitId":"mingyuanc"},"content":" EntityDoesNotExistException ex \u003d assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":181,"author":{"gitId":"mingyuanc"},"content":" () -\u003e frcLogic.updateFeedbackResponseComment(nonExistentId, updateRequest, lastEditorEmail));"},{"lineNumber":182,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":183,"author":{"gitId":"mingyuanc"},"content":" assertEquals(\"Trying to update a feedback response comment that does not exist.\", ex.getMessage());"},{"lineNumber":184,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":185,"author":{"gitId":"mingyuanc"},"content":"}"}],"authorContributionMap":{"mingyuanc":185}},{"path":"src/test/java/teammates/sqlui/webapi/GetFeedbackSessionLogsActionTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.sqlui.webapi;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.when;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.time.Instant;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import java.util.ArrayList;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.InstructorPrivileges;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.Const;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.output.FeedbackSessionLogData;"},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.output.FeedbackSessionLogEntryData;"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.output.FeedbackSessionLogsData;"},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.webapi.GetFeedbackSessionLogsAction;"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.webapi.JsonResult;"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" * SUT: {@link GetFeedbackSessionLogsAction}."},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":"public class GetFeedbackSessionLogsActionTest extends BaseActionTest\u003cGetFeedbackSessionLogsAction\u003e {"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" private Course course;"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" private Student student1;"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" private Student student2;"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" private FeedbackSession fs1;"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" private long startTime;"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" private long endTime;"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" private String googleId \u003d \"google-id\";"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" String getActionUri() {"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" return Const.ResourceURIs.SESSION_LOGS;"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" String getRequestMethod() {"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":" return GET;"},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" @BeforeMethod"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" void setUp() {"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" FeedbackSession fs2;"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" endTime \u003d Instant.now().toEpochMilli();"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" startTime \u003d endTime - (Const.LOGS_RETENTION_PERIOD.toDays() - 1) * 24 * 60 * 60 * 1000;"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" course \u003d getTypicalCourse();"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" student1 \u003d getTypicalStudent();"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" student1.setEmail(\"student1@teammates.tmt\");"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" student1.setTeam(getTypicalTeam());"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" student2 \u003d getTypicalStudent();"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" student2.setEmail(\"student2@teammates.tmt\");"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" student2.setTeam(getTypicalTeam());"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" fs1 \u003d getTypicalFeedbackSessionForCourse(course);"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" fs1.setName(\"fs1\");"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" fs1.setCreatedAt(Instant.now());"},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" fs2 \u003d getTypicalFeedbackSessionForCourse(course);"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" fs2.setName(\"fs2\");"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" fs2.setCreatedAt(Instant.now());"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getCourse(course.getId())).thenReturn(course);"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getFeedbackSession(fs1.getId())).thenReturn(fs1);"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getStudent(student1.getId())).thenReturn(student1);"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getStudent(student2.getId())).thenReturn(student2);"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSession\u003e feedbackSessions \u003d new ArrayList\u003c\u003e();"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" feedbackSessions.add(fs1);"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" feedbackSessions.add(fs2);"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getFeedbackSessionsForCourse(course.getId())).thenReturn(feedbackSessions);"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student1Session1Log1 \u003d new FeedbackSessionLog(student1, fs1, FeedbackSessionLogType.ACCESS,"},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" Instant.ofEpochMilli(startTime));"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student1Session2Log1 \u003d new FeedbackSessionLog(student1, fs2, FeedbackSessionLogType.ACCESS,"},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":" Instant.ofEpochMilli(startTime + 1000));"},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student1Session2Log2 \u003d new FeedbackSessionLog(student1, fs2,"},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.SUBMISSION, Instant.ofEpochMilli(startTime + 2000));"},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student2Session1Log1 \u003d new FeedbackSessionLog(student2, fs1, FeedbackSessionLogType.ACCESS,"},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" Instant.ofEpochMilli(startTime + 3000));"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog student2Session1Log2 \u003d new FeedbackSessionLog(student2, fs1,"},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.SUBMISSION, Instant.ofEpochMilli(startTime + 4000));"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e allLogsInCourse \u003d new ArrayList\u003c\u003e();"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" allLogsInCourse.add(student1Session1Log1);"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":" allLogsInCourse.add(student1Session2Log1);"},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":" allLogsInCourse.add(student1Session2Log2);"},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" allLogsInCourse.add(student2Session1Log1);"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":" allLogsInCourse.add(student2Session1Log2);"},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getOrderedFeedbackSessionLogs(course.getId(), null, null, Instant.ofEpochMilli(startTime),"},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":" Instant.ofEpochMilli(endTime))).thenReturn(allLogsInCourse);"},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e student1Logs \u003d new ArrayList\u003c\u003e();"},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" student1Logs.add(student1Session1Log1);"},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":" student1Logs.add(student1Session2Log1);"},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" student1Logs.add(student1Session2Log2);"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getOrderedFeedbackSessionLogs(course.getId(), student1.getId(), null,"},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":" Instant.ofEpochMilli(startTime), Instant.ofEpochMilli(endTime))).thenReturn(student1Logs);"},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e fs1Logs \u003d new ArrayList\u003c\u003e();"},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" fs1Logs.add(student1Session1Log1);"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":" fs1Logs.add(student2Session1Log1);"},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" fs1Logs.add(student2Session1Log2);"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getOrderedFeedbackSessionLogs(course.getId(), null, fs1.getId(),"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" Instant.ofEpochMilli(startTime), Instant.ofEpochMilli(endTime))).thenReturn(fs1Logs);"},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLog\u003e student1Fs1Logs \u003d new ArrayList\u003c\u003e();"},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" student1Fs1Logs.add(student1Session1Log1);"},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getOrderedFeedbackSessionLogs(course.getId(), student1.getId(), fs1.getId(),"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" Instant.ofEpochMilli(startTime), Instant.ofEpochMilli(endTime))).thenReturn(student1Fs1Logs);"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":" protected void testExecute() {"},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":" JsonResult actionOutput;"},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: not enough parameters\");"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure("},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, course.getId());"},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure("},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime));"},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure("},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":140,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime));"},{"lineNumber":141,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":142,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: invalid course id\");"},{"lineNumber":143,"author":{"gitId":"dishenggg"},"content":" String[] paramsInvalid1 \u003d {"},{"lineNumber":144,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, \"fake-course-id\","},{"lineNumber":145,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, student1.getId().toString(),"},{"lineNumber":146,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":147,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":148,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":149,"author":{"gitId":"dishenggg"},"content":" verifyEntityNotFound(paramsInvalid1);"},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":151,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: invalid student id\");"},{"lineNumber":152,"author":{"gitId":"dishenggg"},"content":" String[] paramsInvalid2 \u003d {"},{"lineNumber":153,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":154,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, \"00000000-0000-0000-0000-000000000000\","},{"lineNumber":155,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":156,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":158,"author":{"gitId":"dishenggg"},"content":" verifyEntityNotFound(paramsInvalid2);"},{"lineNumber":159,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":160,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Failure case: invalid start or end times\");"},{"lineNumber":161,"author":{"gitId":"dishenggg"},"content":" String[] paramsInvalid3 \u003d {"},{"lineNumber":162,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":163,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, \"abc\","},{"lineNumber":164,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":165,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":166,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure(paramsInvalid3);"},{"lineNumber":167,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":168,"author":{"gitId":"dishenggg"},"content":" String[] paramsInvalid4 \u003d {"},{"lineNumber":169,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":170,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":171,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, \" \","},{"lineNumber":172,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":173,"author":{"gitId":"dishenggg"},"content":" verifyHttpParameterFailure(paramsInvalid4);"},{"lineNumber":174,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":175,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Success case: should group by feedback session\");"},{"lineNumber":176,"author":{"gitId":"dishenggg"},"content":" String[] paramsSuccessful1 \u003d {"},{"lineNumber":177,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":178,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":179,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":180,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":181,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":182,"author":{"gitId":"dishenggg"},"content":" actionOutput \u003d getJsonResult(getAction(paramsSuccessful1));"},{"lineNumber":183,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":184,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogsData fslData \u003d (FeedbackSessionLogsData) actionOutput.getOutput();"},{"lineNumber":185,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLogData\u003e fsLogs \u003d fslData.getFeedbackSessionLogs();"},{"lineNumber":186,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":187,"author":{"gitId":"dishenggg"},"content":" // Course has 2 feedback sessions"},{"lineNumber":188,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.size(), 2);"},{"lineNumber":189,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":190,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLogEntryData\u003e fsLogEntries1 \u003d fsLogs.get(0).getFeedbackSessionLogEntries();"},{"lineNumber":191,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLogEntryData\u003e fsLogEntries2 \u003d fsLogs.get(1).getFeedbackSessionLogEntries();"},{"lineNumber":192,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":193,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.size(), 3);"},{"lineNumber":194,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(0).getStudentData().getEmail(), student1.getEmail());"},{"lineNumber":195,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(0).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":196,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(1).getStudentData().getEmail(), student2.getEmail());"},{"lineNumber":197,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(1).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":198,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(2).getStudentData().getEmail(), student2.getEmail());"},{"lineNumber":199,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(2).getFeedbackSessionLogType(), FeedbackSessionLogType.SUBMISSION);"},{"lineNumber":200,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":201,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.size(), 2);"},{"lineNumber":202,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.get(0).getStudentData().getEmail(), student1.getEmail());"},{"lineNumber":203,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.get(0).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":204,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.get(1).getStudentData().getEmail(), student1.getEmail());"},{"lineNumber":205,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.get(1).getFeedbackSessionLogType(), FeedbackSessionLogType.SUBMISSION);"},{"lineNumber":206,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":207,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Success case: should accept optional student id\");"},{"lineNumber":208,"author":{"gitId":"dishenggg"},"content":" String[] paramsSuccessful2 \u003d {"},{"lineNumber":209,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":210,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, student1.getId().toString(),"},{"lineNumber":211,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":212,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":213,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":214,"author":{"gitId":"dishenggg"},"content":" actionOutput \u003d getJsonResult(getAction(paramsSuccessful2));"},{"lineNumber":215,"author":{"gitId":"dishenggg"},"content":" fslData \u003d (FeedbackSessionLogsData) actionOutput.getOutput();"},{"lineNumber":216,"author":{"gitId":"dishenggg"},"content":" fsLogs \u003d fslData.getFeedbackSessionLogs();"},{"lineNumber":217,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":218,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.size(), 2);"},{"lineNumber":219,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":220,"author":{"gitId":"dishenggg"},"content":" fsLogEntries1 \u003d fsLogs.get(0).getFeedbackSessionLogEntries();"},{"lineNumber":221,"author":{"gitId":"dishenggg"},"content":" fsLogEntries2 \u003d fsLogs.get(1).getFeedbackSessionLogEntries();"},{"lineNumber":222,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":223,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.size(), 1);"},{"lineNumber":224,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(0).getStudentData().getEmail(), student1.getEmail());"},{"lineNumber":225,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(0).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":226,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":227,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.size(), 2);"},{"lineNumber":228,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.get(0).getStudentData().getEmail(), student1.getEmail());"},{"lineNumber":229,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.get(0).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":230,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.get(1).getStudentData().getEmail(), student1.getEmail());"},{"lineNumber":231,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries2.get(1).getFeedbackSessionLogType(), FeedbackSessionLogType.SUBMISSION);"},{"lineNumber":232,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":233,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Success case: should accept optional feedback session\");"},{"lineNumber":234,"author":{"gitId":"dishenggg"},"content":" String[] paramsSuccessful3 \u003d {"},{"lineNumber":235,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":236,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_ID, fs1.getId().toString(),"},{"lineNumber":237,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":238,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":239,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":240,"author":{"gitId":"dishenggg"},"content":" actionOutput \u003d getJsonResult(getAction(paramsSuccessful3));"},{"lineNumber":241,"author":{"gitId":"dishenggg"},"content":" fslData \u003d (FeedbackSessionLogsData) actionOutput.getOutput();"},{"lineNumber":242,"author":{"gitId":"dishenggg"},"content":" fsLogs \u003d fslData.getFeedbackSessionLogs();"},{"lineNumber":243,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":244,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.size(), 2);"},{"lineNumber":245,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.get(1).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":246,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":247,"author":{"gitId":"dishenggg"},"content":" fsLogEntries1 \u003d fsLogs.get(0).getFeedbackSessionLogEntries();"},{"lineNumber":248,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":249,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.size(), 3);"},{"lineNumber":250,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(0).getStudentData().getEmail(), student1.getEmail());"},{"lineNumber":251,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(0).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":252,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(1).getStudentData().getEmail(), student2.getEmail());"},{"lineNumber":253,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(1).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":254,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(2).getStudentData().getEmail(), student2.getEmail());"},{"lineNumber":255,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(2).getFeedbackSessionLogType(), FeedbackSessionLogType.SUBMISSION);"},{"lineNumber":256,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":257,"author":{"gitId":"dishenggg"},"content":" ______TS(\"Success case: should accept all optional params\");"},{"lineNumber":258,"author":{"gitId":"dishenggg"},"content":" String[] paramsSuccessful4 \u003d {"},{"lineNumber":259,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":260,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.STUDENT_SQL_ID, student1.getId().toString(),"},{"lineNumber":261,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_ID, fs1.getId().toString(),"},{"lineNumber":262,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":263,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":264,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":265,"author":{"gitId":"dishenggg"},"content":" actionOutput \u003d getJsonResult(getAction(paramsSuccessful4));"},{"lineNumber":266,"author":{"gitId":"dishenggg"},"content":" fslData \u003d (FeedbackSessionLogsData) actionOutput.getOutput();"},{"lineNumber":267,"author":{"gitId":"dishenggg"},"content":" fsLogs \u003d fslData.getFeedbackSessionLogs();"},{"lineNumber":268,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":269,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.size(), 2);"},{"lineNumber":270,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogs.get(1).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":271,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":272,"author":{"gitId":"dishenggg"},"content":" fsLogEntries1 \u003d fsLogs.get(0).getFeedbackSessionLogEntries();"},{"lineNumber":273,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":274,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.size(), 1);"},{"lineNumber":275,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(0).getStudentData().getEmail(), student1.getEmail());"},{"lineNumber":276,"author":{"gitId":"dishenggg"},"content":" assertEquals(fsLogEntries1.get(0).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":277,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":278,"author":{"gitId":"dishenggg"},"content":" // TODO: if we restrict the range from start to end time, it should be tested"},{"lineNumber":279,"author":{"gitId":"dishenggg"},"content":" // here as well"},{"lineNumber":280,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":281,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":282,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":283,"author":{"gitId":"dishenggg"},"content":" void testSpecificAccessControl_instructorWithInvalidPermission_cannotAccess() {"},{"lineNumber":284,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":285,"author":{"gitId":"dishenggg"},"content":" Instructor instructor \u003d new Instructor(course, \"name\", \"instructoremail@tm.tmt\","},{"lineNumber":286,"author":{"gitId":"dishenggg"},"content":" false, \"\", null, new InstructorPrivileges());"},{"lineNumber":287,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":288,"author":{"gitId":"dishenggg"},"content":" loginAsInstructor(googleId);"},{"lineNumber":289,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getCourse(course.getId())).thenReturn(course);"},{"lineNumber":290,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getInstructorByGoogleId(course.getId(), googleId)).thenReturn(instructor);"},{"lineNumber":291,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":292,"author":{"gitId":"dishenggg"},"content":" String[] params \u003d {"},{"lineNumber":293,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":294,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":295,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":296,"author":{"gitId":"dishenggg"},"content":" verifyCannotAccess(params);"},{"lineNumber":297,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":298,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":299,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":300,"author":{"gitId":"dishenggg"},"content":" void testSpecificAccessControl_instructorWithPermission_canAccess() {"},{"lineNumber":301,"author":{"gitId":"dishenggg"},"content":" InstructorPrivileges instructorPrivileges \u003d new InstructorPrivileges();"},{"lineNumber":302,"author":{"gitId":"dishenggg"},"content":" instructorPrivileges.updatePrivilege(Const.InstructorPermissions.CAN_MODIFY_SESSION, true);"},{"lineNumber":303,"author":{"gitId":"dishenggg"},"content":" instructorPrivileges.updatePrivilege(Const.InstructorPermissions.CAN_MODIFY_STUDENT, true);"},{"lineNumber":304,"author":{"gitId":"dishenggg"},"content":" instructorPrivileges.updatePrivilege(Const.InstructorPermissions.CAN_MODIFY_INSTRUCTOR, true);"},{"lineNumber":305,"author":{"gitId":"dishenggg"},"content":" Instructor instructor \u003d new Instructor(course, \"name\", \"instructoremail@tm.tmt\","},{"lineNumber":306,"author":{"gitId":"dishenggg"},"content":" false, \"\", null, instructorPrivileges);"},{"lineNumber":307,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":308,"author":{"gitId":"dishenggg"},"content":" loginAsInstructor(googleId);"},{"lineNumber":309,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getCourse(course.getId())).thenReturn(course);"},{"lineNumber":310,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getInstructorByGoogleId(course.getId(), googleId)).thenReturn(instructor);"},{"lineNumber":311,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":312,"author":{"gitId":"dishenggg"},"content":" String[] params \u003d {"},{"lineNumber":313,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":314,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":315,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":316,"author":{"gitId":"dishenggg"},"content":" verifyCanAccess(params);"},{"lineNumber":317,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":318,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":319,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":320,"author":{"gitId":"dishenggg"},"content":" void testSpecificAccessControl_notInstructor_cannotAccess() {"},{"lineNumber":321,"author":{"gitId":"dishenggg"},"content":" String[] params \u003d {"},{"lineNumber":322,"author":{"gitId":"dishenggg"},"content":" Const.ParamsNames.COURSE_ID, course.getId(),"},{"lineNumber":323,"author":{"gitId":"dishenggg"},"content":" };"},{"lineNumber":324,"author":{"gitId":"dishenggg"},"content":" loginAsStudent(googleId);"},{"lineNumber":325,"author":{"gitId":"dishenggg"},"content":" verifyCannotAccess(params);"},{"lineNumber":326,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":327,"author":{"gitId":"dishenggg"},"content":" logoutUser();"},{"lineNumber":328,"author":{"gitId":"dishenggg"},"content":" verifyCannotAccess(params);"},{"lineNumber":329,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":330,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":330}},{"path":"src/test/java/teammates/sqlui/webapi/UpdateFeedbackSessionLogsActionTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.sqlui.webapi;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.ArgumentMatchers.argThat;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.reset;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.verify;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.when;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import java.time.Instant;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import java.time.temporal.ChronoUnit;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import java.util.ArrayList;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":"import java.util.List;"},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.FeedbackSessionLogEntry;"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.Const;"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.webapi.UpdateFeedbackSessionLogsAction;"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" * SUT: {@link UpdateFeedbackSessionLogsAction}."},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":"public class UpdateFeedbackSessionLogsActionTest"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" extends BaseActionTest\u003cUpdateFeedbackSessionLogsAction\u003e {"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" static final long COLLECTION_TIME_PERIOD \u003d Const.STUDENT_ACTIVITY_LOGS_UPDATE_INTERVAL.toMinutes();"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" static final long SPAM_FILTER \u003d Const.STUDENT_ACTIVITY_LOGS_FILTER_WINDOW.toMillis();"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":" Student student1;"},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" Student student2;"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" Course course1;"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" Course course2;"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" FeedbackSession session1InCourse1;"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" FeedbackSession session2InCourse1;"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" FeedbackSession session1InCourse2;"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" Instant endTime;"},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" Instant startTime;"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" protected String getActionUri() {"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" return Const.CronJobURIs.AUTOMATED_FEEDBACK_SESSION_LOGS_PROCESSING;"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" @Override"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" String getRequestMethod() {"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" return GET;"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" @BeforeMethod"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" void setUp() {"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" endTime \u003d TimeHelper.getInstantNearestQuarterHourBefore(Instant.now());"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" startTime \u003d endTime.minus(COLLECTION_TIME_PERIOD, ChronoUnit.MINUTES);"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" course1 \u003d getTypicalCourse();"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" course1.setId(\"course1\");"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" course2 \u003d getTypicalCourse();"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" course2.setId(\"course2\");"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" student1 \u003d getTypicalStudent();"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" student1.setEmail(\"student1@teammates.tmt\");"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" student1.setId(UUID.randomUUID());"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" student2 \u003d getTypicalStudent();"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" student2.setEmail(\"student2@teammates.tmt\");"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" student2.setId(UUID.randomUUID());"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" session1InCourse1 \u003d getTypicalFeedbackSessionForCourse(course1);"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.setName(\"session1\");"},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" session1InCourse1.setId(UUID.randomUUID());"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" session2InCourse1 \u003d getTypicalFeedbackSessionForCourse(course1);"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" session2InCourse1.setName(\"session2\");"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":" session2InCourse1.setId(UUID.randomUUID());"},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" session1InCourse2 \u003d getTypicalFeedbackSessionForCourse(course2);"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":" session1InCourse2.setName(\"session1\");"},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":" session1InCourse2.setId(UUID.randomUUID());"},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" reset(mockLogic);"},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getStudentReference(student1.getId())).thenReturn(student1);"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getStudentReference(student2.getId())).thenReturn(student2);"},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getFeedbackSessionReference(session1InCourse1.getId())).thenReturn(session1InCourse1);"},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getFeedbackSessionReference(session2InCourse1.getId())).thenReturn(session2InCourse1);"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" when(mockLogic.getFeedbackSessionReference(session1InCourse2.getId())).thenReturn(session1InCourse2);"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.getOrderedFeedbackSessionLogs(\"\", \"\", 0, 0, \"\").clear();"},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":" public void testExecute_noRecentLogs_noLogsCreated()"},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":" UpdateFeedbackSessionLogsAction action \u003d getAction();"},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" action.execute();"},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" verify(mockLogic).createFeedbackSessionLogs(argThat(filteredLogs -\u003e filteredLogs.isEmpty()));"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":" public void testExecute_recentLogsNoSpam_allLogsCreated()"},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":" // Different Types"},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusSeconds(100).toEpochMilli());"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.SUBMISSION.getLabel(), startTime.plusSeconds(100).toEpochMilli());"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.VIEW_RESULT.getLabel(), startTime.plusSeconds(100).toEpochMilli());"},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" // Different feedback sessions"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusSeconds(200).toEpochMilli());"},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1.getId(), session2InCourse1.getId(),"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusSeconds(200).toEpochMilli());"},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":" // Different Student"},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusSeconds(300).toEpochMilli());"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student2.getId(), session1InCourse1.getId(),"},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusSeconds(300).toEpochMilli());"},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":" // Different course"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusSeconds(400).toEpochMilli());"},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course2.getId(), student1.getId(), session1InCourse2.getId(),"},{"lineNumber":140,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusSeconds(400).toEpochMilli());"},{"lineNumber":141,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":142,"author":{"gitId":"dishenggg"},"content":" // Gap is larger than spam filter"},{"lineNumber":143,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":144,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.toEpochMilli());"},{"lineNumber":145,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":146,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusMillis(SPAM_FILTER + 1).toEpochMilli());"},{"lineNumber":147,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":148,"author":{"gitId":"dishenggg"},"content":" UpdateFeedbackSessionLogsAction action \u003d getAction();"},{"lineNumber":149,"author":{"gitId":"dishenggg"},"content":" action.execute();"},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":151,"author":{"gitId":"dishenggg"},"content":" // method returns all logs regardless of params"},{"lineNumber":152,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLogEntry\u003e expected \u003d mockLogsProcessor.getOrderedFeedbackSessionLogs(\"\", \"\", 0, 0, \"\");"},{"lineNumber":153,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":154,"author":{"gitId":"dishenggg"},"content":" verify(mockLogic).createFeedbackSessionLogs(argThat(filteredLogs -\u003e isEqual(expected, filteredLogs)));"},{"lineNumber":155,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":156,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":158,"author":{"gitId":"dishenggg"},"content":" public void testExecute_recentLogsWithSpam_someLogsCreated()"},{"lineNumber":159,"author":{"gitId":"dishenggg"},"content":" throws EntityAlreadyExistsException, InvalidParametersException {"},{"lineNumber":160,"author":{"gitId":"dishenggg"},"content":" // Gap is smaller than spam filter"},{"lineNumber":161,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":162,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.toEpochMilli());"},{"lineNumber":163,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":164,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusMillis(SPAM_FILTER - 2).toEpochMilli());"},{"lineNumber":165,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":166,"author":{"gitId":"dishenggg"},"content":" // Filters multiple logs within one spam window"},{"lineNumber":167,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":168,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusMillis(SPAM_FILTER - 1).toEpochMilli());"},{"lineNumber":169,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":170,"author":{"gitId":"dishenggg"},"content":" // Correctly adds new log after filtering"},{"lineNumber":171,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":172,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusMillis(SPAM_FILTER + 1).toEpochMilli());"},{"lineNumber":173,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":174,"author":{"gitId":"dishenggg"},"content":" // Filters out spam in the new window"},{"lineNumber":175,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":176,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusMillis(SPAM_FILTER + 2).toEpochMilli());"},{"lineNumber":177,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":178,"author":{"gitId":"dishenggg"},"content":" UpdateFeedbackSessionLogsAction action \u003d getAction();"},{"lineNumber":179,"author":{"gitId":"dishenggg"},"content":" action.execute();"},{"lineNumber":180,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":181,"author":{"gitId":"dishenggg"},"content":" List\u003cFeedbackSessionLogEntry\u003e expected \u003d new ArrayList\u003c\u003e();"},{"lineNumber":182,"author":{"gitId":"dishenggg"},"content":" expected.add(new FeedbackSessionLogEntry(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":183,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.toEpochMilli()));"},{"lineNumber":184,"author":{"gitId":"dishenggg"},"content":" expected.add(new FeedbackSessionLogEntry(course1.getId(), student1.getId(), session1InCourse1.getId(),"},{"lineNumber":185,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime.plusMillis(SPAM_FILTER + 1).toEpochMilli()));"},{"lineNumber":186,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":187,"author":{"gitId":"dishenggg"},"content":" verify(mockLogic).createFeedbackSessionLogs(argThat(filteredLogs -\u003e isEqual(expected, filteredLogs)));"},{"lineNumber":188,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":189,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":190,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":191,"author":{"gitId":"dishenggg"},"content":" public void testSpecificAccessControl_isAdmin_canAccess() {"},{"lineNumber":192,"author":{"gitId":"dishenggg"},"content":" loginAsAdmin();"},{"lineNumber":193,"author":{"gitId":"dishenggg"},"content":" verifyCanAccess();"},{"lineNumber":194,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":195,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":196,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":197,"author":{"gitId":"dishenggg"},"content":" public void testSpecificAccessControl_isInstructor_cannotAccess() {"},{"lineNumber":198,"author":{"gitId":"dishenggg"},"content":" loginAsInstructor(\"user-id\");"},{"lineNumber":199,"author":{"gitId":"dishenggg"},"content":" verifyCannotAccess();"},{"lineNumber":200,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":201,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":202,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":203,"author":{"gitId":"dishenggg"},"content":" public void testSpecificAccessControl_isStudent_cannotAccess() {"},{"lineNumber":204,"author":{"gitId":"dishenggg"},"content":" loginAsStudent(\"user-id\");"},{"lineNumber":205,"author":{"gitId":"dishenggg"},"content":" verifyCannotAccess();"},{"lineNumber":206,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":207,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":208,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":209,"author":{"gitId":"dishenggg"},"content":" public void testSpecificAccessControl_loggedOut_cannotAccess() {"},{"lineNumber":210,"author":{"gitId":"dishenggg"},"content":" logoutUser();"},{"lineNumber":211,"author":{"gitId":"dishenggg"},"content":" verifyCannotAccess();"},{"lineNumber":212,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":213,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":214,"author":{"gitId":"dishenggg"},"content":" private Boolean isEqual(List\u003cFeedbackSessionLogEntry\u003e expected, List\u003cFeedbackSessionLog\u003e actual) {"},{"lineNumber":215,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":216,"author":{"gitId":"dishenggg"},"content":" assertEquals(expected.size(), actual.size());"},{"lineNumber":217,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":218,"author":{"gitId":"dishenggg"},"content":" for (int i \u003d 0; i \u003c expected.size(); i++) {"},{"lineNumber":219,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLogEntry expectedEntry \u003d expected.get(i);"},{"lineNumber":220,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog actualLog \u003d actual.get(i);"},{"lineNumber":221,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":222,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedEntry.getStudentId(), actualLog.getStudent().getId());"},{"lineNumber":223,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":224,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedEntry.getFeedbackSessionId(), actualLog.getFeedbackSession().getId());"},{"lineNumber":225,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":226,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedEntry.getFeedbackSessionLogType(), actualLog.getFeedbackSessionLogType().getLabel());"},{"lineNumber":227,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":228,"author":{"gitId":"dishenggg"},"content":" assertEquals(expectedEntry.getTimestamp(), actualLog.getTimestamp().toEpochMilli());"},{"lineNumber":229,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":230,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":231,"author":{"gitId":"dishenggg"},"content":" return true;"},{"lineNumber":232,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":233,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":232,"-":1}},{"path":"src/test/java/teammates/storage/sqlapi/FeedbackQuestionsDbTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"marquestye"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":3,"author":{"gitId":"marquestye"},"content":"import static org.mockito.ArgumentMatchers.any;"},{"lineNumber":4,"author":{"gitId":"marquestye"},"content":"import static org.mockito.Mockito.mockStatic;"},{"lineNumber":5,"author":{"gitId":"marquestye"},"content":"import static org.mockito.Mockito.never;"},{"lineNumber":6,"author":{"gitId":"marquestye"},"content":"import static org.mockito.Mockito.spy;"},{"lineNumber":7,"author":{"gitId":"marquestye"},"content":"import static org.mockito.Mockito.times;"},{"lineNumber":8,"author":{"gitId":"marquestye"},"content":"import static teammates.common.util.Const.ERROR_CREATE_ENTITY_ALREADY_EXISTS;"},{"lineNumber":9,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":10,"author":{"gitId":"marquestye"},"content":"import java.util.List;"},{"lineNumber":11,"author":{"gitId":"marquestye"},"content":"import java.util.UUID;"},{"lineNumber":12,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":13,"author":{"gitId":"marquestye"},"content":"import org.mockito.MockedStatic;"},{"lineNumber":14,"author":{"gitId":"marquestye"},"content":"import org.testng.annotations.AfterMethod;"},{"lineNumber":15,"author":{"gitId":"marquestye"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":16,"author":{"gitId":"marquestye"},"content":"import org.testng.annotations.Test;"},{"lineNumber":17,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":18,"author":{"gitId":"marquestye"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":19,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":20,"author":{"gitId":"marquestye"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":21,"author":{"gitId":"marquestye"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":22,"author":{"gitId":"marquestye"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":23,"author":{"gitId":"marquestye"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":24,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":25,"author":{"gitId":"marquestye"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"marquestye"},"content":" * SUT: {@link FeedbackQuestionsDb}."},{"lineNumber":27,"author":{"gitId":"marquestye"},"content":" */"},{"lineNumber":28,"author":{"gitId":"marquestye"},"content":"public class FeedbackQuestionsDbTest extends BaseTestCase {"},{"lineNumber":29,"author":{"gitId":"marquestye"},"content":" private FeedbackQuestionsDb feedbackQuestionsDb;"},{"lineNumber":30,"author":{"gitId":"marquestye"},"content":" private MockedStatic\u003cHibernateUtil\u003e mockHibernateUtil;"},{"lineNumber":31,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":32,"author":{"gitId":"marquestye"},"content":" @BeforeMethod"},{"lineNumber":33,"author":{"gitId":"marquestye"},"content":" public void setUpMethod() {"},{"lineNumber":34,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil \u003d mockStatic(HibernateUtil.class);"},{"lineNumber":35,"author":{"gitId":"marquestye"},"content":" feedbackQuestionsDb \u003d spy(FeedbackQuestionsDb.class);"},{"lineNumber":36,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":37,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":38,"author":{"gitId":"marquestye"},"content":" @AfterMethod"},{"lineNumber":39,"author":{"gitId":"marquestye"},"content":" public void teardownMethod() {"},{"lineNumber":40,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.close();"},{"lineNumber":41,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":42,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":43,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":44,"author":{"gitId":"marquestye"},"content":" public void testCreateFeedbackQuestion_success() throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":45,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion feedbackQuestion \u003d getFeedbackQuestion();"},{"lineNumber":46,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":47,"author":{"gitId":"marquestye"},"content":" feedbackQuestionsDb.createFeedbackQuestion(feedbackQuestion);"},{"lineNumber":48,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":49,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(feedbackQuestion), times(1));"},{"lineNumber":50,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":51,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":52,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":53,"author":{"gitId":"marquestye"},"content":" public void testCreateFeedbackQuestion_questionAlreadyExists_throwsEntityAlreadyExistsException() {"},{"lineNumber":54,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion feedbackQuestion \u003d getFeedbackQuestion();"},{"lineNumber":55,"author":{"gitId":"marquestye"},"content":" UUID fqid \u003d feedbackQuestion.getId();"},{"lineNumber":56,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":57,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackQuestion.class, fqid)).thenReturn(feedbackQuestion);"},{"lineNumber":58,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":59,"author":{"gitId":"marquestye"},"content":" EntityAlreadyExistsException eaee \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":60,"author":{"gitId":"marquestye"},"content":" () -\u003e feedbackQuestionsDb.createFeedbackQuestion(feedbackQuestion));"},{"lineNumber":61,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":62,"author":{"gitId":"marquestye"},"content":" assertEquals(String.format(ERROR_CREATE_ENTITY_ALREADY_EXISTS, feedbackQuestion.toString()), eaee.getMessage());"},{"lineNumber":63,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(feedbackQuestion), never());"},{"lineNumber":64,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":65,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":66,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":67,"author":{"gitId":"marquestye"},"content":" public void testCreateFeedbackQuestion_invalidQuestion_throwsInvalidParametersException() {"},{"lineNumber":68,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion feedbackQuestion \u003d getFeedbackQuestion();"},{"lineNumber":69,"author":{"gitId":"marquestye"},"content":" feedbackQuestion.setGiverType(FeedbackParticipantType.NONE);"},{"lineNumber":70,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":71,"author":{"gitId":"marquestye"},"content":" InvalidParametersException ipe \u003d assertThrows(InvalidParametersException.class,"},{"lineNumber":72,"author":{"gitId":"marquestye"},"content":" () -\u003e feedbackQuestionsDb.createFeedbackQuestion(feedbackQuestion));"},{"lineNumber":73,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":74,"author":{"gitId":"marquestye"},"content":" assertEquals(feedbackQuestion.getInvalidityInfo(), List.of(ipe.getMessage()));"},{"lineNumber":75,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(feedbackQuestion), never());"},{"lineNumber":76,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":77,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":78,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":79,"author":{"gitId":"marquestye"},"content":" public void testGetFeedbackQuestion_success() {"},{"lineNumber":80,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion feedbackQuestion \u003d getFeedbackQuestion();"},{"lineNumber":81,"author":{"gitId":"marquestye"},"content":" UUID fqid \u003d feedbackQuestion.getId();"},{"lineNumber":82,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":83,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackQuestion.class, fqid)).thenReturn(feedbackQuestion);"},{"lineNumber":84,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":85,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion retrievedSession \u003d feedbackQuestionsDb.getFeedbackQuestion(fqid);"},{"lineNumber":86,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":87,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.get(FeedbackQuestion.class, fqid), times(1));"},{"lineNumber":88,"author":{"gitId":"marquestye"},"content":" assertEquals(feedbackQuestion, retrievedSession);"},{"lineNumber":89,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":90,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":91,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":92,"author":{"gitId":"marquestye"},"content":" public void testGetFeedbackQuestion_questionDoesNotExist_returnNull() {"},{"lineNumber":93,"author":{"gitId":"marquestye"},"content":" UUID fqid \u003d UUID.randomUUID();"},{"lineNumber":94,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":95,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackQuestion.class, fqid)).thenReturn(null);"},{"lineNumber":96,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":97,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion retrievedSession \u003d feedbackQuestionsDb.getFeedbackQuestion(fqid);"},{"lineNumber":98,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":99,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.get(FeedbackQuestion.class, fqid), times(1));"},{"lineNumber":100,"author":{"gitId":"marquestye"},"content":" assertNull(retrievedSession);"},{"lineNumber":101,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":102,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":103,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":104,"author":{"gitId":"marquestye"},"content":" public void testDeleteFeedbackQuestion_success() {"},{"lineNumber":105,"author":{"gitId":"marquestye"},"content":" FeedbackQuestion feedbackQuestion \u003d getFeedbackQuestion();"},{"lineNumber":106,"author":{"gitId":"marquestye"},"content":" UUID fqid \u003d feedbackQuestion.getId();"},{"lineNumber":107,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":108,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackQuestion.class, fqid)).thenReturn(feedbackQuestion);"},{"lineNumber":109,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":110,"author":{"gitId":"marquestye"},"content":" feedbackQuestionsDb.deleteFeedbackQuestion(fqid);"},{"lineNumber":111,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":112,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.remove(feedbackQuestion), times(1));"},{"lineNumber":113,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":114,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":115,"author":{"gitId":"marquestye"},"content":" @Test"},{"lineNumber":116,"author":{"gitId":"marquestye"},"content":" public void testDeleteFeedbackQuestion_questionDoesNotExist_nothingHappens() {"},{"lineNumber":117,"author":{"gitId":"marquestye"},"content":" UUID fqid \u003d UUID.randomUUID();"},{"lineNumber":118,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":119,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackQuestion.class, fqid)).thenReturn(null);"},{"lineNumber":120,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":121,"author":{"gitId":"marquestye"},"content":" feedbackQuestionsDb.deleteFeedbackQuestion(fqid);"},{"lineNumber":122,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":123,"author":{"gitId":"marquestye"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.remove(any()), never());"},{"lineNumber":124,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":125,"author":{"gitId":"marquestye"},"content":""},{"lineNumber":126,"author":{"gitId":"marquestye"},"content":" private FeedbackQuestion getFeedbackQuestion() {"},{"lineNumber":127,"author":{"gitId":"marquestye"},"content":" return getTypicalFeedbackQuestionForSession(getTypicalFeedbackSessionForCourse(getTypicalCourse()));"},{"lineNumber":128,"author":{"gitId":"marquestye"},"content":" }"},{"lineNumber":129,"author":{"gitId":"marquestye"},"content":"}"}],"authorContributionMap":{"marquestye":129}},{"path":"src/test/java/teammates/storage/sqlapi/FeedbackResponseCommentsDbTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"mingyuanc"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":3,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.ArgumentMatchers.anyLong;"},{"lineNumber":4,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.doReturn;"},{"lineNumber":5,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.mockStatic;"},{"lineNumber":6,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.never;"},{"lineNumber":7,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.spy;"},{"lineNumber":8,"author":{"gitId":"mingyuanc"},"content":"import static org.mockito.Mockito.times;"},{"lineNumber":9,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":10,"author":{"gitId":"mingyuanc"},"content":"import org.mockito.MockedStatic;"},{"lineNumber":11,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.AfterMethod;"},{"lineNumber":12,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":13,"author":{"gitId":"mingyuanc"},"content":"import org.testng.annotations.Test;"},{"lineNumber":14,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":15,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":16,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":17,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":18,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":19,"author":{"gitId":"mingyuanc"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":20,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":21,"author":{"gitId":"mingyuanc"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":22,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":23,"author":{"gitId":"mingyuanc"},"content":"/**"},{"lineNumber":24,"author":{"gitId":"mingyuanc"},"content":" * SUT: {@code FeedbackResponseCommentsDb}."},{"lineNumber":25,"author":{"gitId":"mingyuanc"},"content":" */"},{"lineNumber":26,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":27,"author":{"gitId":"mingyuanc"},"content":"public class FeedbackResponseCommentsDbTest extends BaseTestCase {"},{"lineNumber":28,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":29,"author":{"gitId":"mingyuanc"},"content":" private static final Long TYPICAL_ID \u003d 100L;"},{"lineNumber":30,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":31,"author":{"gitId":"mingyuanc"},"content":" private static final Long NOT_TYPICAL_ID \u003d 101L;"},{"lineNumber":32,"author":{"gitId":"mingyuanc"},"content":" private FeedbackResponseCommentsDb feedbackResponseCommentsDb;"},{"lineNumber":33,"author":{"gitId":"mingyuanc"},"content":" private MockedStatic\u003cHibernateUtil\u003e mockHibernateUtil;"},{"lineNumber":34,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":35,"author":{"gitId":"mingyuanc"},"content":" @BeforeMethod"},{"lineNumber":36,"author":{"gitId":"mingyuanc"},"content":" public void setUpMethod() {"},{"lineNumber":37,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil \u003d mockStatic(HibernateUtil.class);"},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":" feedbackResponseCommentsDb \u003d spy(FeedbackResponseCommentsDb.class);"},{"lineNumber":39,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":40,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":41,"author":{"gitId":"mingyuanc"},"content":" @AfterMethod"},{"lineNumber":42,"author":{"gitId":"mingyuanc"},"content":" public void teardownMethod() {"},{"lineNumber":43,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.close();"},{"lineNumber":44,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":45,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":46,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":47,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":48,"author":{"gitId":"mingyuanc"},"content":" public void testCreateComment_commentDoesNotExist_success()"},{"lineNumber":49,"author":{"gitId":"mingyuanc"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":50,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":51,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":52,"author":{"gitId":"mingyuanc"},"content":" feedbackResponseCommentsDb.createFeedbackResponseComment(comment);"},{"lineNumber":53,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":54,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(comment));"},{"lineNumber":55,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":56,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":57,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":58,"author":{"gitId":"mingyuanc"},"content":" public void testCreateComment_commentAlreadyExists_throwsEntityAlreadyExistsException() {"},{"lineNumber":59,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":60,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":61,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackResponseComment.class, TYPICAL_ID)).thenReturn(comment);"},{"lineNumber":62,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":63,"author":{"gitId":"mingyuanc"},"content":" EntityAlreadyExistsException ex \u003d assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":64,"author":{"gitId":"mingyuanc"},"content":" () -\u003e feedbackResponseCommentsDb.createFeedbackResponseComment(comment));"},{"lineNumber":65,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":66,"author":{"gitId":"mingyuanc"},"content":" assertEquals(\"Trying to create an entity that exists: \" + comment.toString(), ex.getMessage());"},{"lineNumber":67,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(comment), never());"},{"lineNumber":68,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":69,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":70,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":71,"author":{"gitId":"mingyuanc"},"content":" public void testGetComment_commentAlreadyExists_success() {"},{"lineNumber":72,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":73,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":74,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackResponseComment.class, TYPICAL_ID)).thenReturn(comment);"},{"lineNumber":75,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":76,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment commentFetched \u003d feedbackResponseCommentsDb.getFeedbackResponseComment(TYPICAL_ID);"},{"lineNumber":77,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":78,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackResponseComment.class, TYPICAL_ID)).thenReturn(comment);"},{"lineNumber":79,"author":{"gitId":"mingyuanc"},"content":" assertEquals(comment, commentFetched);"},{"lineNumber":80,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":81,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":82,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":83,"author":{"gitId":"mingyuanc"},"content":" public void testGetComment_commentDoesNotExist_returnsNull() {"},{"lineNumber":84,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackResponseComment.class, NOT_TYPICAL_ID)).thenReturn(null);"},{"lineNumber":85,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":86,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment commentFetched \u003d feedbackResponseCommentsDb.getFeedbackResponseComment(NOT_TYPICAL_ID);"},{"lineNumber":87,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":88,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.get(FeedbackResponseComment.class, NOT_TYPICAL_ID), times(1));"},{"lineNumber":89,"author":{"gitId":"mingyuanc"},"content":" assertNull(commentFetched);"},{"lineNumber":90,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":91,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":92,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":93,"author":{"gitId":"mingyuanc"},"content":" public void testDeleteComment_commentExists_success() {"},{"lineNumber":94,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":95,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":96,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackResponseComment.class, TYPICAL_ID)).thenReturn(comment);"},{"lineNumber":97,"author":{"gitId":"mingyuanc"},"content":" feedbackResponseCommentsDb.deleteFeedbackResponseComment(TYPICAL_ID);"},{"lineNumber":98,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":99,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.remove(comment));"},{"lineNumber":100,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":101,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":102,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":103,"author":{"gitId":"mingyuanc"},"content":" public void testUpdateComment_commentInvalid_throwsInvalidParametersException() {"},{"lineNumber":104,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":105,"author":{"gitId":"mingyuanc"},"content":" comment.setGiverType(FeedbackParticipantType.SELF);"},{"lineNumber":106,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":107,"author":{"gitId":"mingyuanc"},"content":" assertThrows(InvalidParametersException.class,"},{"lineNumber":108,"author":{"gitId":"mingyuanc"},"content":" () -\u003e feedbackResponseCommentsDb.updateFeedbackResponseComment(comment));"},{"lineNumber":109,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":110,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(comment), never());"},{"lineNumber":111,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":112,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":113,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":114,"author":{"gitId":"mingyuanc"},"content":" public void testUpdateComment_commentDoesNotExist_throwsEntityDoesNotExistException() {"},{"lineNumber":115,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(NOT_TYPICAL_ID);"},{"lineNumber":116,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":117,"author":{"gitId":"mingyuanc"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":118,"author":{"gitId":"mingyuanc"},"content":" () -\u003e feedbackResponseCommentsDb.updateFeedbackResponseComment(comment));"},{"lineNumber":119,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":120,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(comment), never());"},{"lineNumber":121,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":122,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":123,"author":{"gitId":"mingyuanc"},"content":" @Test"},{"lineNumber":124,"author":{"gitId":"mingyuanc"},"content":" public void testUpdateCourse_success() throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":125,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d getTypicalResponseComment(TYPICAL_ID);"},{"lineNumber":126,"author":{"gitId":"mingyuanc"},"content":" comment.setCommentText(\"Placeholder Text\");"},{"lineNumber":127,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":128,"author":{"gitId":"mingyuanc"},"content":" doReturn(comment).when(feedbackResponseCommentsDb).getFeedbackResponseComment(anyLong());"},{"lineNumber":129,"author":{"gitId":"mingyuanc"},"content":" feedbackResponseCommentsDb.updateFeedbackResponseComment(comment);"},{"lineNumber":130,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":131,"author":{"gitId":"mingyuanc"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(comment));"},{"lineNumber":132,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":133,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":134,"author":{"gitId":"mingyuanc"},"content":"}"}],"authorContributionMap":{"mingyuanc":134}},{"path":"src/test/java/teammates/storage/sqlapi/FeedbackSessionLogsDbTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.mockStatic;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.time.Instant;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import org.mockito.MockedStatic;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.AfterMethod;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSessionLog;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":" * SUT: {@code FeedbackSessionLogsDb}."},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":"public class FeedbackSessionLogsDbTest extends BaseTestCase {"},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":" private FeedbackSessionLogsDb feedbackSessionLogsDb \u003d FeedbackSessionLogsDb.inst();"},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":" private MockedStatic\u003cHibernateUtil\u003e mockHibernateUtil;"},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" @BeforeMethod"},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" public void setUpMethod() {"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil \u003d mockStatic(HibernateUtil.class);"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" @AfterMethod"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" public void teardownMethod() {"},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.close();"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" public void testCreateFeedbackSessionLog_success() {"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" FeedbackSessionLog logToAdd \u003d new FeedbackSessionLog(getTypicalStudent(),"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" getTypicalFeedbackSessionForCourse(getTypicalCourse()), FeedbackSessionLogType.ACCESS,"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" Instant.parse(\"2011-01-01T00:00:00Z\"));"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" feedbackSessionLogsDb.createFeedbackSessionLog(logToAdd);"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(logToAdd));"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":46}},{"path":"src/test/java/teammates/storage/sqlapi/FeedbackSessionsDbTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"package teammates.storage.sqlapi;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.ArgumentMatchers.any;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.doReturn;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.mockStatic;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.never;"},{"lineNumber":7,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.spy;"},{"lineNumber":8,"author":{"gitId":"dishenggg"},"content":"import static org.mockito.Mockito.times;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import java.util.UUID;"},{"lineNumber":11,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":12,"author":{"gitId":"dishenggg"},"content":"import org.mockito.MockedStatic;"},{"lineNumber":13,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.AfterMethod;"},{"lineNumber":14,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":"import org.testng.annotations.Test;"},{"lineNumber":16,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":17,"author":{"gitId":"dishenggg"},"content":"import teammates.common.exception.EntityAlreadyExistsException;"},{"lineNumber":18,"author":{"gitId":"dishenggg"},"content":"import teammates.common.exception.EntityDoesNotExistException;"},{"lineNumber":19,"author":{"gitId":"dishenggg"},"content":"import teammates.common.exception.InvalidParametersException;"},{"lineNumber":20,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":21,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.TimeHelperExtension;"},{"lineNumber":22,"author":{"gitId":"dishenggg"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":23,"author":{"gitId":"dishenggg"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":24,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":25,"author":{"gitId":"dishenggg"},"content":"/**"},{"lineNumber":26,"author":{"gitId":"dishenggg"},"content":" * SUT: {@code FeedbackSessionsDb}."},{"lineNumber":27,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":28,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":"public class FeedbackSessionsDbTest extends BaseTestCase {"},{"lineNumber":30,"author":{"gitId":"dishenggg"},"content":" private FeedbackSessionsDb feedbackSessionsDb;"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" private MockedStatic\u003cHibernateUtil\u003e mockHibernateUtil;"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":33,"author":{"gitId":"dishenggg"},"content":" @BeforeMethod"},{"lineNumber":34,"author":{"gitId":"dishenggg"},"content":" public void setUpMethod() {"},{"lineNumber":35,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil \u003d mockStatic(HibernateUtil.class);"},{"lineNumber":36,"author":{"gitId":"dishenggg"},"content":" feedbackSessionsDb \u003d spy(FeedbackSessionsDb.class);"},{"lineNumber":37,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":39,"author":{"gitId":"dishenggg"},"content":" @AfterMethod"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" public void teardownMethod() {"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.close();"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" public void testCreateSession_sessionDoesNotExist_success()"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":49,"author":{"gitId":"dishenggg"},"content":" feedbackSessionsDb.createFeedbackSession(feedbackSession);"},{"lineNumber":50,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(feedbackSession), times(1));"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" public void testCreateSession_duplicateSession_throwsEntityAlreadyExistsException()"},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" UUID uuid \u003d feedbackSession.getId();"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" doReturn(feedbackSession).when(feedbackSessionsDb).getFeedbackSession(uuid);"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" assertThrows(EntityAlreadyExistsException.class,"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" () -\u003e feedbackSessionsDb.createFeedbackSession(feedbackSession));"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(feedbackSession), never());"},{"lineNumber":64,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" public void testCreateSession_invalidParams_throwsInvalidParametersException()"},{"lineNumber":68,"author":{"gitId":"dishenggg"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":69,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":70,"author":{"gitId":"dishenggg"},"content":" feedbackSession.setName(\"\");"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":72,"author":{"gitId":"dishenggg"},"content":" assertThrows(InvalidParametersException.class, () -\u003e feedbackSessionsDb.createFeedbackSession(feedbackSession));"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.persist(feedbackSession), never());"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" public void testCreateSession_nullParams_throwsAssertionError()"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" throws InvalidParametersException, EntityAlreadyExistsException {"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" assertThrows(AssertionError.class, () -\u003e feedbackSessionsDb.createFeedbackSession(null));"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":81,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" public void testGetFeedbackSession_sessionExists_success() {"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" UUID uuid \u003d feedbackSession.getId();"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackSession.class, uuid)).thenReturn(feedbackSession);"},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" FeedbackSession sessionFetched \u003d feedbackSessionsDb.getFeedbackSession(uuid);"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.get(FeedbackSession.class, uuid), times(1));"},{"lineNumber":91,"author":{"gitId":"dishenggg"},"content":" assertEquals(feedbackSession, sessionFetched);"},{"lineNumber":92,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":93,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" public void testGetFeedbackSession_sessionDoesNotExists_returnNull() {"},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" UUID randomUuid \u003d UUID.randomUUID();"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.when(() -\u003e HibernateUtil.get(FeedbackSession.class, randomUuid)).thenReturn(null);"},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" FeedbackSession sessionFetched \u003d feedbackSessionsDb.getFeedbackSession(randomUuid);"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.get(FeedbackSession.class, randomUuid), times(1));"},{"lineNumber":102,"author":{"gitId":"dishenggg"},"content":" assertNull(sessionFetched);"},{"lineNumber":103,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":105,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" public void testUpdateFeedbackSession_success() throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" doReturn(feedbackSession).when(feedbackSessionsDb).getFeedbackSession(any(UUID.class));"},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" feedbackSessionsDb.updateFeedbackSession(feedbackSession);"},{"lineNumber":111,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":112,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(feedbackSession), times(1));"},{"lineNumber":113,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":114,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":116,"author":{"gitId":"dishenggg"},"content":" public void testUpdateFeedbackSession_sessionDoesNotExist_throwsEntityDoesNotExistException()"},{"lineNumber":117,"author":{"gitId":"dishenggg"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":118,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":119,"author":{"gitId":"dishenggg"},"content":" UUID uuid \u003d feedbackSession.getId();"},{"lineNumber":120,"author":{"gitId":"dishenggg"},"content":" doReturn(null).when(feedbackSessionsDb).getFeedbackSession(uuid);"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":122,"author":{"gitId":"dishenggg"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":123,"author":{"gitId":"dishenggg"},"content":" () -\u003e feedbackSessionsDb.updateFeedbackSession(feedbackSession));"},{"lineNumber":124,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(feedbackSession), never());"},{"lineNumber":125,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":126,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":127,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":128,"author":{"gitId":"dishenggg"},"content":" public void testUpdateFeedbackSession_sessionInvalid_throwsInvalidParametersException()"},{"lineNumber":129,"author":{"gitId":"dishenggg"},"content":" throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" UUID uuid \u003d feedbackSession.getId();"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":" feedbackSession.setName(\"\");"},{"lineNumber":133,"author":{"gitId":"dishenggg"},"content":" doReturn(feedbackSession).when(feedbackSessionsDb).getFeedbackSession(uuid);"},{"lineNumber":134,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":135,"author":{"gitId":"dishenggg"},"content":" assertThrows(InvalidParametersException.class, () -\u003e feedbackSessionsDb.updateFeedbackSession(feedbackSession));"},{"lineNumber":136,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(feedbackSession), never());"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":138,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":139,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":140,"author":{"gitId":"dishenggg"},"content":" public void testDeleteFeedbackSession_success() throws InvalidParametersException, EntityDoesNotExistException {"},{"lineNumber":141,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":142,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":143,"author":{"gitId":"dishenggg"},"content":" feedbackSessionsDb.deleteFeedbackSession(feedbackSession);"},{"lineNumber":144,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":145,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.remove(feedbackSession), times(1));"},{"lineNumber":146,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":147,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":148,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":149,"author":{"gitId":"dishenggg"},"content":" public void testGetSoftDeletedFeedbackSession_isSoftDeleted_success() {"},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":151,"author":{"gitId":"dishenggg"},"content":" String sessionName \u003d feedbackSession.getName();"},{"lineNumber":152,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":153,"author":{"gitId":"dishenggg"},"content":" feedbackSession.setDeletedAt(TimeHelperExtension.getInstantDaysOffsetFromNow(2));"},{"lineNumber":154,"author":{"gitId":"dishenggg"},"content":" doReturn(feedbackSession).when(feedbackSessionsDb).getFeedbackSession(sessionName, courseId);"},{"lineNumber":155,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":156,"author":{"gitId":"dishenggg"},"content":" FeedbackSession sessionFetched \u003d feedbackSessionsDb.getSoftDeletedFeedbackSession(sessionName, courseId);"},{"lineNumber":157,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":158,"author":{"gitId":"dishenggg"},"content":" assertEquals(feedbackSession, sessionFetched);"},{"lineNumber":159,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":160,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":161,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":162,"author":{"gitId":"dishenggg"},"content":" public void testGetSoftDeletedFeedbackSession_notSoftDeleted_returnNull() {"},{"lineNumber":163,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":164,"author":{"gitId":"dishenggg"},"content":" String sessionName \u003d feedbackSession.getName();"},{"lineNumber":165,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":166,"author":{"gitId":"dishenggg"},"content":" doReturn(feedbackSession).when(feedbackSessionsDb).getFeedbackSession(sessionName, courseId);"},{"lineNumber":167,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":168,"author":{"gitId":"dishenggg"},"content":" FeedbackSession sessionFetched \u003d feedbackSessionsDb.getSoftDeletedFeedbackSession(sessionName, courseId);"},{"lineNumber":169,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":170,"author":{"gitId":"dishenggg"},"content":" assertNull(sessionFetched);"},{"lineNumber":171,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":172,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":173,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":174,"author":{"gitId":"dishenggg"},"content":" public void testGetSoftDeletedFeedbackSession_sessionDoesNotExist_returnNull() {"},{"lineNumber":175,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":176,"author":{"gitId":"dishenggg"},"content":" String sessionName \u003d feedbackSession.getName();"},{"lineNumber":177,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":178,"author":{"gitId":"dishenggg"},"content":" doReturn(null).when(feedbackSessionsDb).getFeedbackSession(sessionName, courseId);"},{"lineNumber":179,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":180,"author":{"gitId":"dishenggg"},"content":" FeedbackSession sessionFetched \u003d feedbackSessionsDb.getSoftDeletedFeedbackSession(sessionName, courseId);"},{"lineNumber":181,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":182,"author":{"gitId":"dishenggg"},"content":" assertNull(sessionFetched);"},{"lineNumber":183,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":184,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":185,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":186,"author":{"gitId":"dishenggg"},"content":" public void testRestoreDeletedFeedbackSession_success() throws EntityDoesNotExistException {"},{"lineNumber":187,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":188,"author":{"gitId":"dishenggg"},"content":" String sessionName \u003d feedbackSession.getName();"},{"lineNumber":189,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":190,"author":{"gitId":"dishenggg"},"content":" feedbackSession.setDeletedAt(TimeHelperExtension.getInstantDaysOffsetFromNow(2));"},{"lineNumber":191,"author":{"gitId":"dishenggg"},"content":" doReturn(feedbackSession).when(feedbackSessionsDb).getFeedbackSession(sessionName, courseId);"},{"lineNumber":192,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":193,"author":{"gitId":"dishenggg"},"content":" feedbackSessionsDb.restoreDeletedFeedbackSession(sessionName, courseId);"},{"lineNumber":194,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":195,"author":{"gitId":"dishenggg"},"content":" assertNull(feedbackSession.getDeletedAt());"},{"lineNumber":196,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(feedbackSession), times(1));"},{"lineNumber":197,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":198,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":199,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":200,"author":{"gitId":"dishenggg"},"content":" public void testRestoreDeletedFeedbackSession_sessionDoesNotExist_throwsEntityDoesNotExistException()"},{"lineNumber":201,"author":{"gitId":"dishenggg"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":202,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":203,"author":{"gitId":"dishenggg"},"content":" String sessionName \u003d feedbackSession.getName();"},{"lineNumber":204,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":205,"author":{"gitId":"dishenggg"},"content":" doReturn(null).when(feedbackSessionsDb).getFeedbackSession(sessionName, courseId);"},{"lineNumber":206,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":207,"author":{"gitId":"dishenggg"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":208,"author":{"gitId":"dishenggg"},"content":" () -\u003e feedbackSessionsDb.restoreDeletedFeedbackSession(sessionName, courseId));"},{"lineNumber":209,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(feedbackSession), never());"},{"lineNumber":210,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":211,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":212,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":213,"author":{"gitId":"dishenggg"},"content":" public void testSoftDeleteFeedbackSession_success() throws EntityDoesNotExistException {"},{"lineNumber":214,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":215,"author":{"gitId":"dishenggg"},"content":" String sessionName \u003d feedbackSession.getName();"},{"lineNumber":216,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":217,"author":{"gitId":"dishenggg"},"content":" doReturn(feedbackSession).when(feedbackSessionsDb).getFeedbackSession(sessionName, courseId);"},{"lineNumber":218,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":219,"author":{"gitId":"dishenggg"},"content":" feedbackSessionsDb.softDeleteFeedbackSession(sessionName, courseId);"},{"lineNumber":220,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":221,"author":{"gitId":"dishenggg"},"content":" assertNotNull(feedbackSession.getDeletedAt());"},{"lineNumber":222,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(feedbackSession), times(1));"},{"lineNumber":223,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":224,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":225,"author":{"gitId":"dishenggg"},"content":" @Test"},{"lineNumber":226,"author":{"gitId":"dishenggg"},"content":" public void testSoftDeleteFeedbackSession_sessionDoesNotExist_throwsEntityDoesNotExistException()"},{"lineNumber":227,"author":{"gitId":"dishenggg"},"content":" throws EntityDoesNotExistException {"},{"lineNumber":228,"author":{"gitId":"dishenggg"},"content":" FeedbackSession feedbackSession \u003d getTypicalFeedbackSessionForCourse(getTypicalCourse());"},{"lineNumber":229,"author":{"gitId":"dishenggg"},"content":" String sessionName \u003d feedbackSession.getName();"},{"lineNumber":230,"author":{"gitId":"dishenggg"},"content":" String courseId \u003d feedbackSession.getCourse().getId();"},{"lineNumber":231,"author":{"gitId":"dishenggg"},"content":" doReturn(null).when(feedbackSessionsDb).getFeedbackSession(sessionName, courseId);"},{"lineNumber":232,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":233,"author":{"gitId":"dishenggg"},"content":" assertThrows(EntityDoesNotExistException.class,"},{"lineNumber":234,"author":{"gitId":"dishenggg"},"content":" () -\u003e feedbackSessionsDb.restoreDeletedFeedbackSession(sessionName, courseId));"},{"lineNumber":235,"author":{"gitId":"dishenggg"},"content":" mockHibernateUtil.verify(() -\u003e HibernateUtil.merge(feedbackSession), never());"},{"lineNumber":236,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":237,"author":{"gitId":"dishenggg"},"content":"}"}],"authorContributionMap":{"dishenggg":237}},{"path":"src/test/java/teammates/test/AbstractBackDoor.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.test;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.BufferedReader;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.InputStreamReader;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.net.URI;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.net.URISyntaxException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.Duration;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"import org.apache.http.HttpEntity;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import org.apache.http.HttpStatus;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import org.apache.http.NameValuePair;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.CloseableHttpResponse;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpDelete;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpGet;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpPost;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpPut;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import org.apache.http.client.methods.HttpRequestBase;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import org.apache.http.client.utils.URIBuilder;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import org.apache.http.entity.StringEntity;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import org.apache.http.impl.client.CloseableHttpClient;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import org.apache.http.impl.client.HttpClients;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import org.apache.http.message.BasicNameValuePair;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"import com.google.gson.JsonObject;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import com.google.gson.JsonParser;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.DataBundle;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":38,"author":{"gitId":"dishenggg"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountAttributes;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountRequestAttributes;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.DeadlineExtensionAttributes;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseAttributes;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseCommentAttributes;"},{"lineNumber":46,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":47,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":48,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":49,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":50,"author":{"gitId":"-"},"content":"import teammates.common.exception.HttpRequestFailedException;"},{"lineNumber":51,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":53,"author":{"gitId":"-"},"content":"import teammates.common.util.TimeHelper;"},{"lineNumber":54,"author":{"gitId":"-"},"content":"import teammates.ui.output.AccountData;"},{"lineNumber":55,"author":{"gitId":"-"},"content":"import teammates.ui.output.AccountRequestData;"},{"lineNumber":56,"author":{"gitId":"-"},"content":"import teammates.ui.output.CourseData;"},{"lineNumber":57,"author":{"gitId":"-"},"content":"import teammates.ui.output.CoursesData;"},{"lineNumber":58,"author":{"gitId":"-"},"content":"import teammates.ui.output.DeadlineExtensionData;"},{"lineNumber":59,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackQuestionData;"},{"lineNumber":60,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackQuestionsData;"},{"lineNumber":61,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackResponseCommentData;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackResponseData;"},{"lineNumber":63,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackResponsesData;"},{"lineNumber":64,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionData;"},{"lineNumber":65,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionsData;"},{"lineNumber":66,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackVisibilityType;"},{"lineNumber":67,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorData;"},{"lineNumber":68,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorsData;"},{"lineNumber":69,"author":{"gitId":"-"},"content":"import teammates.ui.output.MessageOutput;"},{"lineNumber":70,"author":{"gitId":"-"},"content":"import teammates.ui.output.NotificationData;"},{"lineNumber":71,"author":{"gitId":"-"},"content":"import teammates.ui.output.NumberOfEntitiesToGiveFeedbackToSetting;"},{"lineNumber":72,"author":{"gitId":"-"},"content":"import teammates.ui.output.ResponseVisibleSetting;"},{"lineNumber":73,"author":{"gitId":"-"},"content":"import teammates.ui.output.SessionVisibleSetting;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentData;"},{"lineNumber":75,"author":{"gitId":"-"},"content":"import teammates.ui.request.Intent;"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":78,"author":{"gitId":"-"},"content":" * Used to create API calls to the back-end without going through the UI."},{"lineNumber":79,"author":{"gitId":"-"},"content":" */"},{"lineNumber":80,"author":{"gitId":"-"},"content":"public abstract class AbstractBackDoor {"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * Gets the URL of the back-end."},{"lineNumber":84,"author":{"gitId":"-"},"content":" */"},{"lineNumber":85,"author":{"gitId":"-"},"content":" protected abstract String getAppUrl();"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Gets the backdoor key used to authenticate with the back-end."},{"lineNumber":89,"author":{"gitId":"-"},"content":" */"},{"lineNumber":90,"author":{"gitId":"-"},"content":" protected abstract String getBackdoorKey();"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":93,"author":{"gitId":"-"},"content":" * Gets the CSRF key used to authenticate with the back-end."},{"lineNumber":94,"author":{"gitId":"-"},"content":" */"},{"lineNumber":95,"author":{"gitId":"-"},"content":" protected abstract String getCsrfKey();"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Executes GET request with the given {@code relativeUrl}."},{"lineNumber":99,"author":{"gitId":"-"},"content":" *"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * @return The body content and status of the HTTP response"},{"lineNumber":101,"author":{"gitId":"-"},"content":" */"},{"lineNumber":102,"author":{"gitId":"-"},"content":" public ResponseBodyAndCode executeGetRequest(String relativeUrl, Map\u003cString, String\u003e params) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return executeRequest(HttpGet.METHOD_NAME, relativeUrl, params, null);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":107,"author":{"gitId":"-"},"content":" * Executes POST request with the given {@code relativeUrl}."},{"lineNumber":108,"author":{"gitId":"-"},"content":" *"},{"lineNumber":109,"author":{"gitId":"-"},"content":" * @return The body content and status of the HTTP response"},{"lineNumber":110,"author":{"gitId":"-"},"content":" */"},{"lineNumber":111,"author":{"gitId":"-"},"content":" public ResponseBodyAndCode executePostRequest(String relativeUrl, Map\u003cString, String\u003e params, String body) {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" return executeRequest(HttpPost.METHOD_NAME, relativeUrl, params, body);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * Executes PUT request with the given {@code relativeUrl}."},{"lineNumber":117,"author":{"gitId":"-"},"content":" *"},{"lineNumber":118,"author":{"gitId":"-"},"content":" * @return The body content and status of the HTTP response"},{"lineNumber":119,"author":{"gitId":"-"},"content":" */"},{"lineNumber":120,"author":{"gitId":"-"},"content":" public ResponseBodyAndCode executePutRequest(String relativeUrl, Map\u003cString, String\u003e params, String body) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" return executeRequest(HttpPut.METHOD_NAME, relativeUrl, params, body);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" }"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":125,"author":{"gitId":"-"},"content":" * Executes DELETE request with the given {@code relativeUrl}."},{"lineNumber":126,"author":{"gitId":"-"},"content":" *"},{"lineNumber":127,"author":{"gitId":"-"},"content":" * @return The body content and status of the HTTP response"},{"lineNumber":128,"author":{"gitId":"-"},"content":" */"},{"lineNumber":129,"author":{"gitId":"-"},"content":" public ResponseBodyAndCode executeDeleteRequest(String relativeUrl, Map\u003cString, String\u003e params) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" return executeRequest(HttpDelete.METHOD_NAME, relativeUrl, params, null);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":134,"author":{"gitId":"-"},"content":" * Executes HTTP request with the given {@code method} and {@code relativeUrl}."},{"lineNumber":135,"author":{"gitId":"-"},"content":" *"},{"lineNumber":136,"author":{"gitId":"-"},"content":" * @return The content of the HTTP response"},{"lineNumber":137,"author":{"gitId":"-"},"content":" */"},{"lineNumber":138,"author":{"gitId":"-"},"content":" private ResponseBodyAndCode executeRequest("},{"lineNumber":139,"author":{"gitId":"-"},"content":" String method, String relativeUrl, Map\u003cString, String\u003e params, String body) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" String url \u003d getAppUrl() + relativeUrl;"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" HttpRequestBase request;"},{"lineNumber":143,"author":{"gitId":"-"},"content":" switch (method) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" case HttpGet.METHOD_NAME:"},{"lineNumber":145,"author":{"gitId":"-"},"content":" request \u003d createGetRequest(url, params);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" case HttpPost.METHOD_NAME:"},{"lineNumber":148,"author":{"gitId":"-"},"content":" request \u003d createPostRequest(url, params, body);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" case HttpPut.METHOD_NAME:"},{"lineNumber":151,"author":{"gitId":"-"},"content":" request \u003d createPutRequest(url, params, body);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":153,"author":{"gitId":"-"},"content":" case HttpDelete.METHOD_NAME:"},{"lineNumber":154,"author":{"gitId":"-"},"content":" request \u003d createDeleteRequest(url, params);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":157,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unaccepted HTTP method: \" + method);"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" addAuthKeys(request);"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" try (CloseableHttpClient httpClient \u003d HttpClients.createDefault();"},{"lineNumber":163,"author":{"gitId":"-"},"content":" CloseableHttpResponse response \u003d httpClient.execute(request)) {"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" String responseBody \u003d null;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" HttpEntity entity \u003d response.getEntity();"},{"lineNumber":167,"author":{"gitId":"-"},"content":" if (entity !\u003d null) {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" try (BufferedReader br \u003d new BufferedReader("},{"lineNumber":169,"author":{"gitId":"-"},"content":" new InputStreamReader(entity.getContent(), Const.ENCODING))) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" responseBody \u003d br.lines().collect(Collectors.joining(System.lineSeparator()));"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":173,"author":{"gitId":"-"},"content":" return new ResponseBodyAndCode(responseBody, response.getStatusLine().getStatusCode());"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":181,"author":{"gitId":"-"},"content":" * Executes GET request with the given {@code relativeUrl}."},{"lineNumber":182,"author":{"gitId":"-"},"content":" *"},{"lineNumber":183,"author":{"gitId":"-"},"content":" * @return The content of the HTTP response"},{"lineNumber":184,"author":{"gitId":"-"},"content":" */"},{"lineNumber":185,"author":{"gitId":"-"},"content":" private static HttpGet createGetRequest(String url, Map\u003cString, String\u003e params) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" return new HttpGet(createBasicUri(url, params));"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" private static HttpPost createPostRequest(String url, Map\u003cString, String\u003e params, String body) {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" HttpPost post \u003d new HttpPost(createBasicUri(url, params));"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" if (body !\u003d null) {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" StringEntity entity \u003d new StringEntity(body, Const.ENCODING);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" post.setEntity(entity);"},{"lineNumber":195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" return post;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" private static HttpPut createPutRequest(String url, Map\u003cString, String\u003e params, String body) {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" HttpPut put \u003d new HttpPut(createBasicUri(url, params));"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" if (body !\u003d null) {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" StringEntity entity \u003d new StringEntity(body, Const.ENCODING);"},{"lineNumber":205,"author":{"gitId":"-"},"content":" put.setEntity(entity);"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" return put;"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" private static HttpDelete createDeleteRequest(String url, Map\u003cString, String\u003e params) {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" return new HttpDelete(createBasicUri(url, params));"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":" private static URI createBasicUri(String url, Map\u003cString, String\u003e params) {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" List\u003cNameValuePair\u003e postParameters \u003d new ArrayList\u003c\u003e();"},{"lineNumber":217,"author":{"gitId":"-"},"content":" if (params !\u003d null) {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" params.forEach((key, value) -\u003e postParameters.add(new BasicNameValuePair(key, value)));"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" URIBuilder uriBuilder \u003d new URIBuilder(url);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" uriBuilder.addParameters(postParameters);"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" return uriBuilder.build();"},{"lineNumber":226,"author":{"gitId":"-"},"content":" } catch (URISyntaxException e) {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":228,"author":{"gitId":"-"},"content":" }"},{"lineNumber":229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" private void addAuthKeys(HttpRequestBase request) {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" request.addHeader(Const.HeaderNames.BACKDOOR_KEY, getBackdoorKey());"},{"lineNumber":233,"author":{"gitId":"-"},"content":" request.addHeader(Const.HeaderNames.CSRF_KEY, getCsrfKey());"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":237,"author":{"gitId":"-"},"content":" * Removes and restores given data in the database. This method is to be called on test startup."},{"lineNumber":238,"author":{"gitId":"-"},"content":" *"},{"lineNumber":239,"author":{"gitId":"-"},"content":" * \u003cp\u003eNote: The data associated with the test accounts have to be \u003cstrong\u003emanually\u003c/strong\u003e removed by removing the data"},{"lineNumber":240,"author":{"gitId":"-"},"content":" * bundle when a test ends because the test accounts are shared across tests."},{"lineNumber":241,"author":{"gitId":"-"},"content":" *"},{"lineNumber":242,"author":{"gitId":"-"},"content":" * \u003cp\u003eTest data should never be cleared after test in order to prevent incurring additional database costs because the"},{"lineNumber":243,"author":{"gitId":"-"},"content":" * test\u0027s data may not be accessed in another test. Also although unlikely in normal conditions, when a test fail to"},{"lineNumber":244,"author":{"gitId":"-"},"content":" * remove data bundle on teardown, another test should have no reason to fail."},{"lineNumber":245,"author":{"gitId":"-"},"content":" *"},{"lineNumber":246,"author":{"gitId":"-"},"content":" * \u003cp\u003eAnother reason not to remove associated data after a test is that in case of test failures, it helps to have the"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * associated data in the database to debug the failure."},{"lineNumber":248,"author":{"gitId":"-"},"content":" *"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * \u003cp\u003eThis means that removing the data bundle on startup is not always sufficient because a test only knows how"},{"lineNumber":250,"author":{"gitId":"-"},"content":" * to remove its associated data."},{"lineNumber":251,"author":{"gitId":"-"},"content":" * This is why some tests would fail when they use the same account and use different data."},{"lineNumber":252,"author":{"gitId":"-"},"content":" * Extending this method to remove data outside its associated data would introduce"},{"lineNumber":253,"author":{"gitId":"-"},"content":" * unnecessary complications such as extra costs and knowing exactly how much data to remove. Removing too much data"},{"lineNumber":254,"author":{"gitId":"-"},"content":" * would not just incur higher database costs but we can make tests unexpectedly pass(fail) when the data is expected to"},{"lineNumber":255,"author":{"gitId":"-"},"content":" * be not present(present) in another test."},{"lineNumber":256,"author":{"gitId":"-"},"content":" *"},{"lineNumber":257,"author":{"gitId":"-"},"content":" * \u003cp\u003eTODO: Hence, we need to explicitly remove the data bundle in tests on teardown to avoid instability of tests."},{"lineNumber":258,"author":{"gitId":"-"},"content":" * However, removing the data bundle on teardown manually is not a perfect solution because two tests can concurrently"},{"lineNumber":259,"author":{"gitId":"-"},"content":" * access the same account and their data may get mixed up in the process. This is a major problem we need to address."},{"lineNumber":260,"author":{"gitId":"-"},"content":" */"},{"lineNumber":261,"author":{"gitId":"-"},"content":" public String removeAndRestoreDataBundle(DataBundle dataBundle) throws HttpRequestFailedException {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" removeDataBundle(dataBundle);"},{"lineNumber":263,"author":{"gitId":"-"},"content":" ResponseBodyAndCode putRequestOutput \u003d"},{"lineNumber":264,"author":{"gitId":"-"},"content":" executePostRequest(Const.ResourceURIs.DATABUNDLE, null, JsonUtils.toJson(dataBundle));"},{"lineNumber":265,"author":{"gitId":"-"},"content":" if (putRequestOutput.responseCode !\u003d HttpStatus.SC_OK) {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" throw new HttpRequestFailedException(\"Request failed: [\" + putRequestOutput.responseCode + \"] \""},{"lineNumber":267,"author":{"gitId":"-"},"content":" + putRequestOutput.responseBody);"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":" return putRequestOutput.responseBody;"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":273,"author":{"gitId":"-"},"content":" * Removes and restores given data in the database. This method is to be called on test startup."},{"lineNumber":274,"author":{"gitId":"-"},"content":" */"},{"lineNumber":275,"author":{"gitId":"-"},"content":" public SqlDataBundle removeAndRestoreSqlDataBundle(SqlDataBundle dataBundle) throws HttpRequestFailedException {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" removeSqlDataBundle(dataBundle);"},{"lineNumber":277,"author":{"gitId":"-"},"content":" ResponseBodyAndCode putRequestOutput \u003d"},{"lineNumber":278,"author":{"gitId":"-"},"content":" executePostRequest(Const.ResourceURIs.SQL_DATABUNDLE, null, JsonUtils.toJson(dataBundle));"},{"lineNumber":279,"author":{"gitId":"-"},"content":" if (putRequestOutput.responseCode !\u003d HttpStatus.SC_OK) {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" throw new HttpRequestFailedException(\"Request failed: [\" + putRequestOutput.responseCode + \"] \""},{"lineNumber":281,"author":{"gitId":"-"},"content":" + putRequestOutput.responseBody);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" }"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" JsonObject jsonObject \u003d JsonParser.parseString(putRequestOutput.responseBody).getAsJsonObject();"},{"lineNumber":285,"author":{"gitId":"-"},"content":" // data bundle is nested under message key"},{"lineNumber":286,"author":{"gitId":"-"},"content":" String message \u003d jsonObject.get(\"message\").getAsString();"},{"lineNumber":287,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(message, SqlDataBundle.class);"},{"lineNumber":288,"author":{"gitId":"-"},"content":" }"},{"lineNumber":289,"author":{"gitId":"-"},"content":""},{"lineNumber":290,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":291,"author":{"gitId":"-"},"content":" * Removes given data from the database."},{"lineNumber":292,"author":{"gitId":"-"},"content":" *"},{"lineNumber":293,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf given entities have already been deleted, it fails silently."},{"lineNumber":294,"author":{"gitId":"-"},"content":" */"},{"lineNumber":295,"author":{"gitId":"-"},"content":" public void removeDataBundle(DataBundle dataBundle) {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" executePutRequest(Const.ResourceURIs.DATABUNDLE, null, JsonUtils.toJson(dataBundle));"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":300,"author":{"gitId":"-"},"content":" * Removes given data from the database."},{"lineNumber":301,"author":{"gitId":"-"},"content":" *"},{"lineNumber":302,"author":{"gitId":"-"},"content":" * \u003cp\u003eIf given entities have already been deleted, it fails silently."},{"lineNumber":303,"author":{"gitId":"-"},"content":" */"},{"lineNumber":304,"author":{"gitId":"-"},"content":" public void removeSqlDataBundle(SqlDataBundle dataBundle) {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" executePutRequest(Const.ResourceURIs.SQL_DATABUNDLE, null, JsonUtils.toJson(dataBundle));"},{"lineNumber":306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":309,"author":{"gitId":"-"},"content":" * Gets the cookie format for the given user ID."},{"lineNumber":310,"author":{"gitId":"-"},"content":" */"},{"lineNumber":311,"author":{"gitId":"-"},"content":" public String getUserCookie(String userId) {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":313,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.USER_ID, userId);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executePostRequest(Const.ResourceURIs.USER_COOKIE, params, null);"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" MessageOutput output \u003d JsonUtils.fromJson(response.responseBody, MessageOutput.class);"},{"lineNumber":317,"author":{"gitId":"-"},"content":" return output.getMessage();"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"dishenggg"},"content":" // TODO: remove params after migration"},{"lineNumber":321,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":322,"author":{"gitId":"-"},"content":" * Puts searchable documents in data bundle into the database."},{"lineNumber":323,"author":{"gitId":"-"},"content":" */"},{"lineNumber":324,"author":{"gitId":"-"},"content":" public String putDocuments(DataBundle dataBundle) throws HttpRequestFailedException {"},{"lineNumber":325,"author":{"gitId":"dishenggg"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":326,"author":{"gitId":"dishenggg"},"content":" params.put(\"databundletype\", \"datastore\");"},{"lineNumber":327,"author":{"gitId":"-"},"content":" ResponseBodyAndCode putRequestOutput \u003d"},{"lineNumber":328,"author":{"gitId":"dishenggg"},"content":" executePutRequest(Const.ResourceURIs.DATABUNDLE_DOCUMENTS, params, JsonUtils.toJson(dataBundle));"},{"lineNumber":329,"author":{"gitId":"-"},"content":" if (putRequestOutput.responseCode !\u003d HttpStatus.SC_OK) {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" throw new HttpRequestFailedException(\"Request failed: [\" + putRequestOutput.responseCode + \"] \""},{"lineNumber":331,"author":{"gitId":"-"},"content":" + putRequestOutput.responseBody);"},{"lineNumber":332,"author":{"gitId":"-"},"content":" }"},{"lineNumber":333,"author":{"gitId":"-"},"content":" return putRequestOutput.responseBody;"},{"lineNumber":334,"author":{"gitId":"-"},"content":" }"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"dishenggg"},"content":" // TODO: remove method after migration"},{"lineNumber":337,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":338,"author":{"gitId":"dishenggg"},"content":" * Puts searchable documents in data bundle into the SQL database."},{"lineNumber":339,"author":{"gitId":"-"},"content":" */"},{"lineNumber":340,"author":{"gitId":"dishenggg"},"content":" public String putSqlDocuments(SqlDataBundle dataBundle) throws HttpRequestFailedException {"},{"lineNumber":341,"author":{"gitId":"dishenggg"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":342,"author":{"gitId":"dishenggg"},"content":" params.put(\"databundletype\", \"sql\");"},{"lineNumber":343,"author":{"gitId":"-"},"content":" ResponseBodyAndCode putRequestOutput \u003d"},{"lineNumber":344,"author":{"gitId":"dishenggg"},"content":" executePutRequest(Const.ResourceURIs.DATABUNDLE_DOCUMENTS, params, JsonUtils.toJson(dataBundle));"},{"lineNumber":345,"author":{"gitId":"-"},"content":" if (putRequestOutput.responseCode !\u003d HttpStatus.SC_OK) {"},{"lineNumber":346,"author":{"gitId":"-"},"content":" throw new HttpRequestFailedException(\"Request failed: [\" + putRequestOutput.responseCode + \"] \""},{"lineNumber":347,"author":{"gitId":"-"},"content":" + putRequestOutput.responseBody);"},{"lineNumber":348,"author":{"gitId":"-"},"content":" }"},{"lineNumber":349,"author":{"gitId":"-"},"content":" return putRequestOutput.responseBody;"},{"lineNumber":350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":353,"author":{"gitId":"-"},"content":" * Gets account data from the database."},{"lineNumber":354,"author":{"gitId":"-"},"content":" */"},{"lineNumber":355,"author":{"gitId":"-"},"content":" public AccountData getAccountData(String googleId) {"},{"lineNumber":356,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":357,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INSTRUCTOR_ID, googleId);"},{"lineNumber":358,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.ACCOUNT, params);"},{"lineNumber":359,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":361,"author":{"gitId":"-"},"content":" }"},{"lineNumber":362,"author":{"gitId":"-"},"content":""},{"lineNumber":363,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(response.responseBody, AccountData.class);"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":367,"author":{"gitId":"-"},"content":" * Gets an account from the database."},{"lineNumber":368,"author":{"gitId":"-"},"content":" */"},{"lineNumber":369,"author":{"gitId":"-"},"content":" public AccountAttributes getAccount(String googleId) {"},{"lineNumber":370,"author":{"gitId":"-"},"content":" AccountData accountData \u003d getAccountData(googleId);"},{"lineNumber":371,"author":{"gitId":"-"},"content":" return AccountAttributes.builder(accountData.getGoogleId())"},{"lineNumber":372,"author":{"gitId":"-"},"content":" .withName(accountData.getName())"},{"lineNumber":373,"author":{"gitId":"-"},"content":" .withEmail(accountData.getEmail())"},{"lineNumber":374,"author":{"gitId":"-"},"content":" .withReadNotifications("},{"lineNumber":375,"author":{"gitId":"-"},"content":" accountData.getReadNotifications()"},{"lineNumber":376,"author":{"gitId":"-"},"content":" .entrySet()"},{"lineNumber":377,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":378,"author":{"gitId":"-"},"content":" .collect(Collectors.toMap("},{"lineNumber":379,"author":{"gitId":"-"},"content":" e -\u003e e.getKey(),"},{"lineNumber":380,"author":{"gitId":"-"},"content":" e -\u003e Instant.ofEpochMilli(e.getValue())"},{"lineNumber":381,"author":{"gitId":"-"},"content":" ))"},{"lineNumber":382,"author":{"gitId":"-"},"content":" )"},{"lineNumber":383,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":387,"author":{"gitId":"-"},"content":" * Gets course data from the database."},{"lineNumber":388,"author":{"gitId":"-"},"content":" */"},{"lineNumber":389,"author":{"gitId":"-"},"content":" public CourseData getCourseData(String courseId) {"},{"lineNumber":390,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":391,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":392,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.COURSE, params);"},{"lineNumber":393,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":394,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":395,"author":{"gitId":"-"},"content":" }"},{"lineNumber":396,"author":{"gitId":"-"},"content":""},{"lineNumber":397,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(response.responseBody, CourseData.class);"},{"lineNumber":398,"author":{"gitId":"-"},"content":" }"},{"lineNumber":399,"author":{"gitId":"-"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":401,"author":{"gitId":"-"},"content":" * Gets a course from the database."},{"lineNumber":402,"author":{"gitId":"-"},"content":" */"},{"lineNumber":403,"author":{"gitId":"-"},"content":" public CourseAttributes getCourse(String courseId) {"},{"lineNumber":404,"author":{"gitId":"-"},"content":" CourseData courseData \u003d getCourseData(courseId);"},{"lineNumber":405,"author":{"gitId":"-"},"content":" if (courseData \u003d\u003d null) {"},{"lineNumber":406,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":407,"author":{"gitId":"-"},"content":" }"},{"lineNumber":408,"author":{"gitId":"-"},"content":" return CourseAttributes.builder(courseData.getCourseId())"},{"lineNumber":409,"author":{"gitId":"-"},"content":" .withName(courseData.getCourseName())"},{"lineNumber":410,"author":{"gitId":"-"},"content":" .withTimezone(courseData.getTimeZone())"},{"lineNumber":411,"author":{"gitId":"-"},"content":" .withInstitute(courseData.getInstitute())"},{"lineNumber":412,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":413,"author":{"gitId":"-"},"content":" }"},{"lineNumber":414,"author":{"gitId":"-"},"content":""},{"lineNumber":415,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":416,"author":{"gitId":"-"},"content":" * Gets archived course data from the database."},{"lineNumber":417,"author":{"gitId":"-"},"content":" */"},{"lineNumber":418,"author":{"gitId":"-"},"content":" public CourseData getArchivedCourseData(String instructorId, String courseId) {"},{"lineNumber":419,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":420,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.USER_ID, instructorId);"},{"lineNumber":421,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":422,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR);"},{"lineNumber":423,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_STATUS, Const.CourseStatus.ARCHIVED);"},{"lineNumber":424,"author":{"gitId":"-"},"content":""},{"lineNumber":425,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.COURSES, params);"},{"lineNumber":426,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":428,"author":{"gitId":"-"},"content":" }"},{"lineNumber":429,"author":{"gitId":"-"},"content":""},{"lineNumber":430,"author":{"gitId":"-"},"content":" CoursesData coursesData \u003d JsonUtils.fromJson(response.responseBody, CoursesData.class);"},{"lineNumber":431,"author":{"gitId":"-"},"content":" CourseData courseData \u003d coursesData.getCourses()"},{"lineNumber":432,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":433,"author":{"gitId":"-"},"content":" .filter(cd -\u003e cd.getCourseId().equals(courseId))"},{"lineNumber":434,"author":{"gitId":"-"},"content":" .findFirst()"},{"lineNumber":435,"author":{"gitId":"-"},"content":" .orElse(null);"},{"lineNumber":436,"author":{"gitId":"-"},"content":""},{"lineNumber":437,"author":{"gitId":"-"},"content":" if (courseData \u003d\u003d null) {"},{"lineNumber":438,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":439,"author":{"gitId":"-"},"content":" }"},{"lineNumber":440,"author":{"gitId":"-"},"content":""},{"lineNumber":441,"author":{"gitId":"-"},"content":" return courseData;"},{"lineNumber":442,"author":{"gitId":"-"},"content":" }"},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":445,"author":{"gitId":"-"},"content":" * Gets a archived course from the database."},{"lineNumber":446,"author":{"gitId":"-"},"content":" */"},{"lineNumber":447,"author":{"gitId":"-"},"content":" public CourseAttributes getArchivedCourse(String instructorId, String courseId) {"},{"lineNumber":448,"author":{"gitId":"-"},"content":" CourseData courseData \u003d getArchivedCourseData(instructorId, courseId);"},{"lineNumber":449,"author":{"gitId":"-"},"content":" if (courseData \u003d\u003d null) {"},{"lineNumber":450,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":451,"author":{"gitId":"-"},"content":" }"},{"lineNumber":452,"author":{"gitId":"-"},"content":" return CourseAttributes.builder(courseData.getCourseId())"},{"lineNumber":453,"author":{"gitId":"-"},"content":" .withName(courseData.getCourseName())"},{"lineNumber":454,"author":{"gitId":"-"},"content":" .withTimezone(courseData.getTimeZone())"},{"lineNumber":455,"author":{"gitId":"-"},"content":" .withInstitute(courseData.getInstitute())"},{"lineNumber":456,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":457,"author":{"gitId":"-"},"content":" }"},{"lineNumber":458,"author":{"gitId":"-"},"content":""},{"lineNumber":459,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":460,"author":{"gitId":"-"},"content":" * Returns true if the course exists and is in recycle bin."},{"lineNumber":461,"author":{"gitId":"-"},"content":" */"},{"lineNumber":462,"author":{"gitId":"-"},"content":" public boolean isCourseInRecycleBin(String courseId) {"},{"lineNumber":463,"author":{"gitId":"-"},"content":" CourseData courseData \u003d getCourseData(courseId);"},{"lineNumber":464,"author":{"gitId":"-"},"content":" if (courseData \u003d\u003d null) {"},{"lineNumber":465,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":466,"author":{"gitId":"-"},"content":" }"},{"lineNumber":467,"author":{"gitId":"-"},"content":" return courseData.getDeletionTimestamp() !\u003d 0;"},{"lineNumber":468,"author":{"gitId":"-"},"content":" }"},{"lineNumber":469,"author":{"gitId":"-"},"content":""},{"lineNumber":470,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":471,"author":{"gitId":"-"},"content":" * Gets instructor data from the database."},{"lineNumber":472,"author":{"gitId":"-"},"content":" */"},{"lineNumber":473,"author":{"gitId":"-"},"content":" public InstructorData getInstructorData(String courseId, String email) {"},{"lineNumber":474,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":475,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":476,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString());"},{"lineNumber":477,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.INSTRUCTORS, params);"},{"lineNumber":478,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":479,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":480,"author":{"gitId":"-"},"content":" }"},{"lineNumber":481,"author":{"gitId":"-"},"content":""},{"lineNumber":482,"author":{"gitId":"-"},"content":" InstructorsData instructorsData \u003d JsonUtils.fromJson(response.responseBody, InstructorsData.class);"},{"lineNumber":483,"author":{"gitId":"-"},"content":" InstructorData instructorData \u003d instructorsData.getInstructors()"},{"lineNumber":484,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":485,"author":{"gitId":"-"},"content":" .filter(instructor -\u003e instructor.getEmail().equals(email))"},{"lineNumber":486,"author":{"gitId":"-"},"content":" .findFirst()"},{"lineNumber":487,"author":{"gitId":"-"},"content":" .orElse(null);"},{"lineNumber":488,"author":{"gitId":"-"},"content":""},{"lineNumber":489,"author":{"gitId":"-"},"content":" if (instructorData \u003d\u003d null) {"},{"lineNumber":490,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":491,"author":{"gitId":"-"},"content":" }"},{"lineNumber":492,"author":{"gitId":"-"},"content":""},{"lineNumber":493,"author":{"gitId":"-"},"content":" return instructorData;"},{"lineNumber":494,"author":{"gitId":"-"},"content":" }"},{"lineNumber":495,"author":{"gitId":"-"},"content":""},{"lineNumber":496,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":497,"author":{"gitId":"-"},"content":" * Get instructor from database. Does not include certain fields like InstructorPrivileges."},{"lineNumber":498,"author":{"gitId":"-"},"content":" */"},{"lineNumber":499,"author":{"gitId":"-"},"content":" public InstructorAttributes getInstructor(String courseId, String instructorEmail) {"},{"lineNumber":500,"author":{"gitId":"-"},"content":" InstructorData instructorData \u003d getInstructorData(courseId, instructorEmail);"},{"lineNumber":501,"author":{"gitId":"-"},"content":" if (instructorData \u003d\u003d null) {"},{"lineNumber":502,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":503,"author":{"gitId":"-"},"content":" }"},{"lineNumber":504,"author":{"gitId":"-"},"content":" InstructorAttributes.Builder instructor \u003d InstructorAttributes.builder(instructorData.getCourseId(),"},{"lineNumber":505,"author":{"gitId":"-"},"content":" instructorData.getEmail());"},{"lineNumber":506,"author":{"gitId":"-"},"content":" if (instructorData.getGoogleId() !\u003d null) {"},{"lineNumber":507,"author":{"gitId":"-"},"content":" instructor.withGoogleId(instructorData.getGoogleId());"},{"lineNumber":508,"author":{"gitId":"-"},"content":" }"},{"lineNumber":509,"author":{"gitId":"-"},"content":" if (instructorData.getName() !\u003d null) {"},{"lineNumber":510,"author":{"gitId":"-"},"content":" instructor.withName(instructorData.getName());"},{"lineNumber":511,"author":{"gitId":"-"},"content":" }"},{"lineNumber":512,"author":{"gitId":"-"},"content":" if (instructorData.getRole() !\u003d null) {"},{"lineNumber":513,"author":{"gitId":"-"},"content":" instructor.withRole(instructorData.getRole().getRoleName());"},{"lineNumber":514,"author":{"gitId":"-"},"content":" }"},{"lineNumber":515,"author":{"gitId":"-"},"content":" if (instructorData.getIsDisplayedToStudents() !\u003d null) {"},{"lineNumber":516,"author":{"gitId":"-"},"content":" instructor.withIsDisplayedToStudents(instructorData.getIsDisplayedToStudents());"},{"lineNumber":517,"author":{"gitId":"-"},"content":" }"},{"lineNumber":518,"author":{"gitId":"-"},"content":" if (instructorData.getDisplayedToStudentsAs() !\u003d null) {"},{"lineNumber":519,"author":{"gitId":"-"},"content":" instructor.withDisplayedName(instructorData.getDisplayedToStudentsAs());"},{"lineNumber":520,"author":{"gitId":"-"},"content":" }"},{"lineNumber":521,"author":{"gitId":"-"},"content":" InstructorAttributes instructorAttributes \u003d instructor.build();"},{"lineNumber":522,"author":{"gitId":"-"},"content":" if (instructorData.getKey() !\u003d null) {"},{"lineNumber":523,"author":{"gitId":"-"},"content":" instructorAttributes.setKey(instructorData.getKey());"},{"lineNumber":524,"author":{"gitId":"-"},"content":" }"},{"lineNumber":525,"author":{"gitId":"-"},"content":" return instructorAttributes;"},{"lineNumber":526,"author":{"gitId":"-"},"content":" }"},{"lineNumber":527,"author":{"gitId":"-"},"content":""},{"lineNumber":528,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":529,"author":{"gitId":"-"},"content":" * Gets student data from the database."},{"lineNumber":530,"author":{"gitId":"-"},"content":" */"},{"lineNumber":531,"author":{"gitId":"-"},"content":" public StudentData getStudentData(String courseId, String studentEmail) {"},{"lineNumber":532,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":533,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":534,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.STUDENT_EMAIL, studentEmail);"},{"lineNumber":535,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.STUDENT, params);"},{"lineNumber":536,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":537,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":538,"author":{"gitId":"-"},"content":" }"},{"lineNumber":539,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(response.responseBody, StudentData.class);"},{"lineNumber":540,"author":{"gitId":"-"},"content":" }"},{"lineNumber":541,"author":{"gitId":"-"},"content":""},{"lineNumber":542,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":543,"author":{"gitId":"-"},"content":" * Get student from database."},{"lineNumber":544,"author":{"gitId":"-"},"content":" */"},{"lineNumber":545,"author":{"gitId":"-"},"content":" public StudentAttributes getStudent(String courseId, String studentEmail) {"},{"lineNumber":546,"author":{"gitId":"-"},"content":" StudentData studentData \u003d getStudentData(courseId, studentEmail);"},{"lineNumber":547,"author":{"gitId":"-"},"content":" if (studentData \u003d\u003d null) {"},{"lineNumber":548,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":549,"author":{"gitId":"-"},"content":" }"},{"lineNumber":550,"author":{"gitId":"-"},"content":" StudentAttributes.Builder builder \u003d StudentAttributes.builder(studentData.getCourseId(),"},{"lineNumber":551,"author":{"gitId":"-"},"content":" studentData.getEmail());"},{"lineNumber":552,"author":{"gitId":"-"},"content":" if (studentData.getGoogleId() !\u003d null) {"},{"lineNumber":553,"author":{"gitId":"-"},"content":" builder.withGoogleId(studentData.getGoogleId());"},{"lineNumber":554,"author":{"gitId":"-"},"content":" }"},{"lineNumber":555,"author":{"gitId":"-"},"content":" if (studentData.getName() !\u003d null) {"},{"lineNumber":556,"author":{"gitId":"-"},"content":" builder.withName(studentData.getName());"},{"lineNumber":557,"author":{"gitId":"-"},"content":" }"},{"lineNumber":558,"author":{"gitId":"-"},"content":" if (studentData.getSectionName() !\u003d null) {"},{"lineNumber":559,"author":{"gitId":"-"},"content":" builder.withSectionName(studentData.getSectionName());"},{"lineNumber":560,"author":{"gitId":"-"},"content":" }"},{"lineNumber":561,"author":{"gitId":"-"},"content":" if (studentData.getTeamName() !\u003d null) {"},{"lineNumber":562,"author":{"gitId":"-"},"content":" builder.withTeamName(studentData.getTeamName());"},{"lineNumber":563,"author":{"gitId":"-"},"content":" }"},{"lineNumber":564,"author":{"gitId":"-"},"content":" if (studentData.getComments() !\u003d null) {"},{"lineNumber":565,"author":{"gitId":"-"},"content":" builder.withComment(studentData.getComments());"},{"lineNumber":566,"author":{"gitId":"-"},"content":" }"},{"lineNumber":567,"author":{"gitId":"-"},"content":" StudentAttributes student \u003d builder.build();"},{"lineNumber":568,"author":{"gitId":"-"},"content":" if (studentData.getKey() !\u003d null) {"},{"lineNumber":569,"author":{"gitId":"-"},"content":" student.setKey(studentData.getKey());"},{"lineNumber":570,"author":{"gitId":"-"},"content":" }"},{"lineNumber":571,"author":{"gitId":"-"},"content":" return student;"},{"lineNumber":572,"author":{"gitId":"-"},"content":" }"},{"lineNumber":573,"author":{"gitId":"-"},"content":""},{"lineNumber":574,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":575,"author":{"gitId":"-"},"content":" * Get feedback session data from database."},{"lineNumber":576,"author":{"gitId":"-"},"content":" */"},{"lineNumber":577,"author":{"gitId":"-"},"content":" public FeedbackSessionData getFeedbackSessionData(String courseId, String feedbackSessionName) {"},{"lineNumber":578,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":579,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":580,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSessionName);"},{"lineNumber":581,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString());"},{"lineNumber":582,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.SESSION, params);"},{"lineNumber":583,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":584,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":585,"author":{"gitId":"-"},"content":" }"},{"lineNumber":586,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(response.responseBody, FeedbackSessionData.class);"},{"lineNumber":587,"author":{"gitId":"-"},"content":" }"},{"lineNumber":588,"author":{"gitId":"-"},"content":""},{"lineNumber":589,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":590,"author":{"gitId":"-"},"content":" * Get feedback session from database."},{"lineNumber":591,"author":{"gitId":"-"},"content":" */"},{"lineNumber":592,"author":{"gitId":"-"},"content":" public FeedbackSessionAttributes getFeedbackSession(String courseId, String feedbackSessionName) {"},{"lineNumber":593,"author":{"gitId":"-"},"content":" FeedbackSessionData sessionData \u003d getFeedbackSessionData(courseId, feedbackSessionName);"},{"lineNumber":594,"author":{"gitId":"-"},"content":" if (sessionData \u003d\u003d null) {"},{"lineNumber":595,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":596,"author":{"gitId":"-"},"content":" }"},{"lineNumber":597,"author":{"gitId":"-"},"content":""},{"lineNumber":598,"author":{"gitId":"-"},"content":" Map\u003cString, Instant\u003e studentDeadlines \u003d"},{"lineNumber":599,"author":{"gitId":"-"},"content":" convertDeadlinesToInstant(sessionData.getStudentDeadlines(), sessionData.getTimeZone());"},{"lineNumber":600,"author":{"gitId":"-"},"content":" Map\u003cString, Instant\u003e instructorDeadlines \u003d"},{"lineNumber":601,"author":{"gitId":"-"},"content":" convertDeadlinesToInstant(sessionData.getInstructorDeadlines(), sessionData.getTimeZone());"},{"lineNumber":602,"author":{"gitId":"-"},"content":""},{"lineNumber":603,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes sessionAttributes \u003d FeedbackSessionAttributes"},{"lineNumber":604,"author":{"gitId":"-"},"content":" .builder(sessionData.getFeedbackSessionName(), sessionData.getCourseId())"},{"lineNumber":605,"author":{"gitId":"-"},"content":" .withInstructions(sessionData.getInstructions())"},{"lineNumber":606,"author":{"gitId":"-"},"content":" .withStartTime(Instant.ofEpochMilli(sessionData.getSubmissionStartTimestamp()))"},{"lineNumber":607,"author":{"gitId":"-"},"content":" .withEndTime(Instant.ofEpochMilli(sessionData.getSubmissionEndTimestamp()))"},{"lineNumber":608,"author":{"gitId":"-"},"content":" .withTimeZone(sessionData.getTimeZone())"},{"lineNumber":609,"author":{"gitId":"-"},"content":" .withGracePeriod(Duration.ofMinutes(sessionData.getGracePeriod()))"},{"lineNumber":610,"author":{"gitId":"-"},"content":" .withIsClosingEmailEnabled(sessionData.getIsClosingEmailEnabled())"},{"lineNumber":611,"author":{"gitId":"-"},"content":" .withIsPublishedEmailEnabled(sessionData.getIsPublishedEmailEnabled())"},{"lineNumber":612,"author":{"gitId":"-"},"content":" .withStudentDeadlines(studentDeadlines)"},{"lineNumber":613,"author":{"gitId":"-"},"content":" .withInstructorDeadlines(instructorDeadlines)"},{"lineNumber":614,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":615,"author":{"gitId":"-"},"content":""},{"lineNumber":616,"author":{"gitId":"-"},"content":" sessionAttributes.setCreatedTime(Instant.ofEpochMilli(sessionData.getCreatedAtTimestamp()));"},{"lineNumber":617,"author":{"gitId":"-"},"content":""},{"lineNumber":618,"author":{"gitId":"-"},"content":" if (sessionData.getSessionVisibleSetting().equals(SessionVisibleSetting.AT_OPEN)) {"},{"lineNumber":619,"author":{"gitId":"-"},"content":" sessionAttributes.setSessionVisibleFromTime(Const.TIME_REPRESENTS_FOLLOW_OPENING);"},{"lineNumber":620,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":621,"author":{"gitId":"-"},"content":" sessionAttributes.setSessionVisibleFromTime(Instant.ofEpochMilli("},{"lineNumber":622,"author":{"gitId":"-"},"content":" sessionData.getCustomSessionVisibleTimestamp()));"},{"lineNumber":623,"author":{"gitId":"-"},"content":" }"},{"lineNumber":624,"author":{"gitId":"-"},"content":""},{"lineNumber":625,"author":{"gitId":"-"},"content":" if (sessionData.getResponseVisibleSetting().equals(ResponseVisibleSetting.AT_VISIBLE)) {"},{"lineNumber":626,"author":{"gitId":"-"},"content":" sessionAttributes.setResultsVisibleFromTime(Const.TIME_REPRESENTS_FOLLOW_VISIBLE);"},{"lineNumber":627,"author":{"gitId":"-"},"content":" } else if (sessionData.getResponseVisibleSetting().equals(ResponseVisibleSetting.LATER)) {"},{"lineNumber":628,"author":{"gitId":"-"},"content":" sessionAttributes.setResultsVisibleFromTime(Const.TIME_REPRESENTS_LATER);"},{"lineNumber":629,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":630,"author":{"gitId":"-"},"content":" sessionAttributes.setResultsVisibleFromTime(Instant.ofEpochMilli("},{"lineNumber":631,"author":{"gitId":"-"},"content":" sessionData.getCustomResponseVisibleTimestamp()));"},{"lineNumber":632,"author":{"gitId":"-"},"content":" }"},{"lineNumber":633,"author":{"gitId":"-"},"content":""},{"lineNumber":634,"author":{"gitId":"-"},"content":" return sessionAttributes;"},{"lineNumber":635,"author":{"gitId":"-"},"content":" }"},{"lineNumber":636,"author":{"gitId":"-"},"content":""},{"lineNumber":637,"author":{"gitId":"-"},"content":" private Map\u003cString, Instant\u003e convertDeadlinesToInstant(Map\u003cString, Long\u003e deadlines, String timezone) {"},{"lineNumber":638,"author":{"gitId":"-"},"content":" return deadlines.entrySet()"},{"lineNumber":639,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":640,"author":{"gitId":"-"},"content":" .collect(Collectors.toMap(Map.Entry::getKey, entry -\u003e {"},{"lineNumber":641,"author":{"gitId":"-"},"content":" Instant deadline \u003d Instant.ofEpochMilli(entry.getValue());"},{"lineNumber":642,"author":{"gitId":"-"},"content":" return TimeHelper.getMidnightAdjustedInstantBasedOnZone(deadline, timezone, true);"},{"lineNumber":643,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":644,"author":{"gitId":"-"},"content":" }"},{"lineNumber":645,"author":{"gitId":"-"},"content":""},{"lineNumber":646,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":647,"author":{"gitId":"-"},"content":" * Get soft deleted feedback session from database."},{"lineNumber":648,"author":{"gitId":"-"},"content":" */"},{"lineNumber":649,"author":{"gitId":"-"},"content":" public FeedbackSessionData getSoftDeletedSessionData(String feedbackSessionName, String instructorId) {"},{"lineNumber":650,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":651,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.ENTITY_TYPE, Const.EntityType.INSTRUCTOR);"},{"lineNumber":652,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.IS_IN_RECYCLE_BIN, \"true\");"},{"lineNumber":653,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.USER_ID, instructorId);"},{"lineNumber":654,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.SESSIONS, params);"},{"lineNumber":655,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":656,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":657,"author":{"gitId":"-"},"content":" }"},{"lineNumber":658,"author":{"gitId":"-"},"content":""},{"lineNumber":659,"author":{"gitId":"-"},"content":" FeedbackSessionsData sessionsData \u003d JsonUtils.fromJson(response.responseBody, FeedbackSessionsData.class);"},{"lineNumber":660,"author":{"gitId":"-"},"content":" return sessionsData.getFeedbackSessions()"},{"lineNumber":661,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":662,"author":{"gitId":"-"},"content":" .filter(fs -\u003e fs.getFeedbackSessionName().equals(feedbackSessionName))"},{"lineNumber":663,"author":{"gitId":"-"},"content":" .findFirst()"},{"lineNumber":664,"author":{"gitId":"-"},"content":" .orElse(null);"},{"lineNumber":665,"author":{"gitId":"-"},"content":" }"},{"lineNumber":666,"author":{"gitId":"-"},"content":""},{"lineNumber":667,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":668,"author":{"gitId":"-"},"content":" * Get soft deleted feedback session from database."},{"lineNumber":669,"author":{"gitId":"-"},"content":" */"},{"lineNumber":670,"author":{"gitId":"-"},"content":" public FeedbackSessionAttributes getSoftDeletedSession(String feedbackSessionName, String instructorId) {"},{"lineNumber":671,"author":{"gitId":"-"},"content":" FeedbackSessionData feedbackSession \u003d getSoftDeletedSessionData(feedbackSessionName, instructorId);"},{"lineNumber":672,"author":{"gitId":"-"},"content":" if (feedbackSession \u003d\u003d null) {"},{"lineNumber":673,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":674,"author":{"gitId":"-"},"content":" }"},{"lineNumber":675,"author":{"gitId":"-"},"content":""},{"lineNumber":676,"author":{"gitId":"-"},"content":" return FeedbackSessionAttributes"},{"lineNumber":677,"author":{"gitId":"-"},"content":" .builder(feedbackSession.getCourseId(), feedbackSession.getFeedbackSessionName())"},{"lineNumber":678,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":679,"author":{"gitId":"-"},"content":" }"},{"lineNumber":680,"author":{"gitId":"-"},"content":""},{"lineNumber":681,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":682,"author":{"gitId":"-"},"content":" * Get feedback question data from database."},{"lineNumber":683,"author":{"gitId":"-"},"content":" */"},{"lineNumber":684,"author":{"gitId":"-"},"content":" public FeedbackQuestionData getFeedbackQuestionData(String courseId, String feedbackSessionName,"},{"lineNumber":685,"author":{"gitId":"-"},"content":" int qnNumber) {"},{"lineNumber":686,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":687,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":688,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSessionName);"},{"lineNumber":689,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INTENT, Intent.FULL_DETAIL.toString());"},{"lineNumber":690,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.QUESTIONS, params);"},{"lineNumber":691,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":692,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":693,"author":{"gitId":"-"},"content":" }"},{"lineNumber":694,"author":{"gitId":"-"},"content":""},{"lineNumber":695,"author":{"gitId":"-"},"content":" FeedbackQuestionsData questionsData \u003d JsonUtils.fromJson(response.responseBody, FeedbackQuestionsData.class);"},{"lineNumber":696,"author":{"gitId":"-"},"content":" return questionsData.getQuestions()"},{"lineNumber":697,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":698,"author":{"gitId":"-"},"content":" .filter(fq -\u003e fq.getQuestionNumber() \u003d\u003d qnNumber)"},{"lineNumber":699,"author":{"gitId":"-"},"content":" .findFirst()"},{"lineNumber":700,"author":{"gitId":"-"},"content":" .orElse(null);"},{"lineNumber":701,"author":{"gitId":"-"},"content":" }"},{"lineNumber":702,"author":{"gitId":"-"},"content":""},{"lineNumber":703,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":704,"author":{"gitId":"-"},"content":" * Get feedback question from database."},{"lineNumber":705,"author":{"gitId":"-"},"content":" */"},{"lineNumber":706,"author":{"gitId":"-"},"content":" public FeedbackQuestionAttributes getFeedbackQuestion(String courseId, String feedbackSessionName,"},{"lineNumber":707,"author":{"gitId":"-"},"content":" int qnNumber) {"},{"lineNumber":708,"author":{"gitId":"-"},"content":" FeedbackQuestionData question \u003d getFeedbackQuestionData(courseId, feedbackSessionName, qnNumber);"},{"lineNumber":709,"author":{"gitId":"-"},"content":""},{"lineNumber":710,"author":{"gitId":"-"},"content":" if (question \u003d\u003d null) {"},{"lineNumber":711,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":712,"author":{"gitId":"-"},"content":" }"},{"lineNumber":713,"author":{"gitId":"-"},"content":""},{"lineNumber":714,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes questionAttr \u003d FeedbackQuestionAttributes.builder()"},{"lineNumber":715,"author":{"gitId":"-"},"content":" .withCourseId(courseId)"},{"lineNumber":716,"author":{"gitId":"-"},"content":" .withFeedbackSessionName(feedbackSessionName)"},{"lineNumber":717,"author":{"gitId":"-"},"content":" .withQuestionDetails(question.getQuestionDetails())"},{"lineNumber":718,"author":{"gitId":"-"},"content":" .withQuestionDescription(question.getQuestionDescription())"},{"lineNumber":719,"author":{"gitId":"-"},"content":" .withQuestionNumber(question.getQuestionNumber())"},{"lineNumber":720,"author":{"gitId":"-"},"content":" .withGiverType(question.getGiverType())"},{"lineNumber":721,"author":{"gitId":"-"},"content":" .withRecipientType(question.getRecipientType())"},{"lineNumber":722,"author":{"gitId":"-"},"content":" .withNumberOfEntitiesToGiveFeedbackTo(question.getNumberOfEntitiesToGiveFeedbackToSetting()"},{"lineNumber":723,"author":{"gitId":"-"},"content":" .equals(NumberOfEntitiesToGiveFeedbackToSetting.UNLIMITED)"},{"lineNumber":724,"author":{"gitId":"-"},"content":" ? Const.MAX_POSSIBLE_RECIPIENTS"},{"lineNumber":725,"author":{"gitId":"-"},"content":" : question.getCustomNumberOfEntitiesToGiveFeedbackTo())"},{"lineNumber":726,"author":{"gitId":"-"},"content":" .withShowResponsesTo(convertToFeedbackParticipantType(question.getShowResponsesTo()))"},{"lineNumber":727,"author":{"gitId":"-"},"content":" .withShowGiverNameTo(convertToFeedbackParticipantType(question.getShowGiverNameTo()))"},{"lineNumber":728,"author":{"gitId":"-"},"content":" .withShowRecipientNameTo(convertToFeedbackParticipantType(question.getShowRecipientNameTo()))"},{"lineNumber":729,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":730,"author":{"gitId":"-"},"content":" if (question.getFeedbackQuestionId() !\u003d null) {"},{"lineNumber":731,"author":{"gitId":"-"},"content":" questionAttr.setId(question.getFeedbackQuestionId());"},{"lineNumber":732,"author":{"gitId":"-"},"content":" }"},{"lineNumber":733,"author":{"gitId":"-"},"content":" return questionAttr;"},{"lineNumber":734,"author":{"gitId":"-"},"content":" }"},{"lineNumber":735,"author":{"gitId":"-"},"content":""},{"lineNumber":736,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":737,"author":{"gitId":"-"},"content":" * Converts List of FeedbackParticipantType to sorted List of FeedbackVisibilityType."},{"lineNumber":738,"author":{"gitId":"-"},"content":" */"},{"lineNumber":739,"author":{"gitId":"-"},"content":" private static List\u003cFeedbackParticipantType\u003e convertToFeedbackParticipantType("},{"lineNumber":740,"author":{"gitId":"-"},"content":" List\u003cFeedbackVisibilityType\u003e feedbackVisibilityTypeList) {"},{"lineNumber":741,"author":{"gitId":"-"},"content":" List\u003cFeedbackParticipantType\u003e feedbackParticipantTypeList \u003d feedbackVisibilityTypeList.stream()"},{"lineNumber":742,"author":{"gitId":"-"},"content":" .map(feedbackParticipantType -\u003e {"},{"lineNumber":743,"author":{"gitId":"-"},"content":" switch (feedbackParticipantType) {"},{"lineNumber":744,"author":{"gitId":"-"},"content":" case STUDENTS:"},{"lineNumber":745,"author":{"gitId":"-"},"content":" return FeedbackParticipantType.STUDENTS;"},{"lineNumber":746,"author":{"gitId":"-"},"content":" case INSTRUCTORS:"},{"lineNumber":747,"author":{"gitId":"-"},"content":" return FeedbackParticipantType.INSTRUCTORS;"},{"lineNumber":748,"author":{"gitId":"-"},"content":" case RECIPIENT:"},{"lineNumber":749,"author":{"gitId":"-"},"content":" return FeedbackParticipantType.RECEIVER;"},{"lineNumber":750,"author":{"gitId":"-"},"content":" case GIVER_TEAM_MEMBERS:"},{"lineNumber":751,"author":{"gitId":"-"},"content":" return FeedbackParticipantType.OWN_TEAM_MEMBERS;"},{"lineNumber":752,"author":{"gitId":"-"},"content":" case RECIPIENT_TEAM_MEMBERS:"},{"lineNumber":753,"author":{"gitId":"-"},"content":" return FeedbackParticipantType.RECEIVER_TEAM_MEMBERS;"},{"lineNumber":754,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":755,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unknown FeedbackVisibilityType \" + feedbackParticipantType);"},{"lineNumber":756,"author":{"gitId":"-"},"content":" }"},{"lineNumber":757,"author":{"gitId":"-"},"content":" }).collect(Collectors.toList());"},{"lineNumber":758,"author":{"gitId":"-"},"content":" Collections.sort(feedbackParticipantTypeList);"},{"lineNumber":759,"author":{"gitId":"-"},"content":" return feedbackParticipantTypeList;"},{"lineNumber":760,"author":{"gitId":"-"},"content":" }"},{"lineNumber":761,"author":{"gitId":"-"},"content":""},{"lineNumber":762,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":763,"author":{"gitId":"-"},"content":" * Get feedback response data from database."},{"lineNumber":764,"author":{"gitId":"-"},"content":" */"},{"lineNumber":765,"author":{"gitId":"-"},"content":" public FeedbackResponseData getFeedbackResponseData(String feedbackQuestionId, String giver,"},{"lineNumber":766,"author":{"gitId":"-"},"content":" String recipient) {"},{"lineNumber":767,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":768,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.FEEDBACK_QUESTION_ID, feedbackQuestionId);"},{"lineNumber":769,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INTENT, Intent.STUDENT_SUBMISSION.toString());"},{"lineNumber":770,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.FEEDBACK_SESSION_MODERATED_PERSON, giver);"},{"lineNumber":771,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.RESPONSES, params);"},{"lineNumber":772,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":773,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":774,"author":{"gitId":"-"},"content":" }"},{"lineNumber":775,"author":{"gitId":"-"},"content":""},{"lineNumber":776,"author":{"gitId":"-"},"content":" FeedbackResponsesData responsesData \u003d JsonUtils.fromJson(response.responseBody, FeedbackResponsesData.class);"},{"lineNumber":777,"author":{"gitId":"-"},"content":" return responsesData.getResponses()"},{"lineNumber":778,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":779,"author":{"gitId":"-"},"content":" .filter(r -\u003e r.getGiverIdentifier().equals(giver) \u0026\u0026 r.getRecipientIdentifier().equals(recipient))"},{"lineNumber":780,"author":{"gitId":"-"},"content":" .findFirst()"},{"lineNumber":781,"author":{"gitId":"-"},"content":" .orElse(null);"},{"lineNumber":782,"author":{"gitId":"-"},"content":" }"},{"lineNumber":783,"author":{"gitId":"-"},"content":""},{"lineNumber":784,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":785,"author":{"gitId":"-"},"content":" * Get feedback response from database."},{"lineNumber":786,"author":{"gitId":"-"},"content":" */"},{"lineNumber":787,"author":{"gitId":"-"},"content":" public FeedbackResponseAttributes getFeedbackResponse(String feedbackQuestionId, String giver,"},{"lineNumber":788,"author":{"gitId":"-"},"content":" String recipient) {"},{"lineNumber":789,"author":{"gitId":"-"},"content":" FeedbackResponseData fr \u003d getFeedbackResponseData(feedbackQuestionId, giver, recipient);"},{"lineNumber":790,"author":{"gitId":"-"},"content":""},{"lineNumber":791,"author":{"gitId":"-"},"content":" if (fr \u003d\u003d null) {"},{"lineNumber":792,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":793,"author":{"gitId":"-"},"content":" }"},{"lineNumber":794,"author":{"gitId":"-"},"content":""},{"lineNumber":795,"author":{"gitId":"-"},"content":" FeedbackResponseAttributes responseAttr \u003d FeedbackResponseAttributes"},{"lineNumber":796,"author":{"gitId":"-"},"content":" .builder(feedbackQuestionId, fr.getGiverIdentifier(), fr.getRecipientIdentifier())"},{"lineNumber":797,"author":{"gitId":"-"},"content":" .withResponseDetails(fr.getResponseDetails())"},{"lineNumber":798,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":799,"author":{"gitId":"-"},"content":" if (fr.getFeedbackResponseId() !\u003d null) {"},{"lineNumber":800,"author":{"gitId":"-"},"content":" responseAttr.setId(fr.getFeedbackResponseId());"},{"lineNumber":801,"author":{"gitId":"-"},"content":" }"},{"lineNumber":802,"author":{"gitId":"-"},"content":" return responseAttr;"},{"lineNumber":803,"author":{"gitId":"-"},"content":" }"},{"lineNumber":804,"author":{"gitId":"-"},"content":""},{"lineNumber":805,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":806,"author":{"gitId":"-"},"content":" * Get feedback response comment from database."},{"lineNumber":807,"author":{"gitId":"-"},"content":" */"},{"lineNumber":808,"author":{"gitId":"-"},"content":" public FeedbackResponseCommentAttributes getFeedbackResponseComment(String feedbackResponseId) {"},{"lineNumber":809,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":810,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.FEEDBACK_RESPONSE_ID, feedbackResponseId);"},{"lineNumber":811,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.INTENT, Intent.STUDENT_SUBMISSION.toString());"},{"lineNumber":812,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.RESPONSE_COMMENT, params);"},{"lineNumber":813,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":814,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":815,"author":{"gitId":"-"},"content":" }"},{"lineNumber":816,"author":{"gitId":"-"},"content":""},{"lineNumber":817,"author":{"gitId":"-"},"content":" FeedbackResponseCommentData frc \u003d JsonUtils.fromJson(response.responseBody, FeedbackResponseCommentData.class);"},{"lineNumber":818,"author":{"gitId":"-"},"content":""},{"lineNumber":819,"author":{"gitId":"-"},"content":" if (frc \u003d\u003d null) {"},{"lineNumber":820,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":821,"author":{"gitId":"-"},"content":" }"},{"lineNumber":822,"author":{"gitId":"-"},"content":""},{"lineNumber":823,"author":{"gitId":"-"},"content":" return FeedbackResponseCommentAttributes.builder()"},{"lineNumber":824,"author":{"gitId":"-"},"content":" .withCommentGiver(frc.getCommentGiver())"},{"lineNumber":825,"author":{"gitId":"-"},"content":" .withCommentText(frc.getCommentText())"},{"lineNumber":826,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":827,"author":{"gitId":"-"},"content":" }"},{"lineNumber":828,"author":{"gitId":"-"},"content":""},{"lineNumber":829,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":830,"author":{"gitId":"-"},"content":" * Deletes a course from the database."},{"lineNumber":831,"author":{"gitId":"-"},"content":" */"},{"lineNumber":832,"author":{"gitId":"-"},"content":" public void deleteCourse(String courseId) {"},{"lineNumber":833,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":834,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":835,"author":{"gitId":"-"},"content":" executeDeleteRequest(Const.ResourceURIs.COURSE, params);"},{"lineNumber":836,"author":{"gitId":"-"},"content":" }"},{"lineNumber":837,"author":{"gitId":"-"},"content":""},{"lineNumber":838,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":839,"author":{"gitId":"-"},"content":" * Gets an account request from the database."},{"lineNumber":840,"author":{"gitId":"-"},"content":" */"},{"lineNumber":841,"author":{"gitId":"-"},"content":" public AccountRequestAttributes getAccountRequest(UUID id) {"},{"lineNumber":842,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":843,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString());"},{"lineNumber":844,"author":{"gitId":"-"},"content":""},{"lineNumber":845,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.ACCOUNT_REQUEST, params);"},{"lineNumber":846,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":847,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":848,"author":{"gitId":"-"},"content":" }"},{"lineNumber":849,"author":{"gitId":"-"},"content":""},{"lineNumber":850,"author":{"gitId":"-"},"content":" AccountRequestData accountRequestData \u003d JsonUtils.fromJson(response.responseBody, AccountRequestData.class);"},{"lineNumber":851,"author":{"gitId":"-"},"content":""},{"lineNumber":852,"author":{"gitId":"-"},"content":" return AccountRequestAttributes"},{"lineNumber":853,"author":{"gitId":"-"},"content":" .builder(accountRequestData.getEmail(), accountRequestData.getInstitute(), accountRequestData.getName())"},{"lineNumber":854,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":855,"author":{"gitId":"-"},"content":" }"},{"lineNumber":856,"author":{"gitId":"-"},"content":""},{"lineNumber":857,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":858,"author":{"gitId":"-"},"content":" * Gets registration key of an account request from the database."},{"lineNumber":859,"author":{"gitId":"-"},"content":" */"},{"lineNumber":860,"author":{"gitId":"-"},"content":" public String getRegKeyForAccountRequest(UUID id) {"},{"lineNumber":861,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":862,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString());"},{"lineNumber":863,"author":{"gitId":"-"},"content":""},{"lineNumber":864,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.ACCOUNT_REQUEST, params);"},{"lineNumber":865,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":866,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":867,"author":{"gitId":"-"},"content":" }"},{"lineNumber":868,"author":{"gitId":"-"},"content":""},{"lineNumber":869,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(response.responseBody, AccountRequestData.class).getRegistrationKey();"},{"lineNumber":870,"author":{"gitId":"-"},"content":" }"},{"lineNumber":871,"author":{"gitId":"-"},"content":""},{"lineNumber":872,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":873,"author":{"gitId":"-"},"content":" * Deletes an account request from the database."},{"lineNumber":874,"author":{"gitId":"-"},"content":" */"},{"lineNumber":875,"author":{"gitId":"dishenggg"},"content":" public void deleteAccountRequest(UUID id) {"},{"lineNumber":876,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":877,"author":{"gitId":"dishenggg"},"content":" params.put(Const.ParamsNames.ACCOUNT_REQUEST_ID, id.toString());"},{"lineNumber":878,"author":{"gitId":"-"},"content":" executeDeleteRequest(Const.ResourceURIs.ACCOUNT_REQUEST, params);"},{"lineNumber":879,"author":{"gitId":"-"},"content":" }"},{"lineNumber":880,"author":{"gitId":"-"},"content":""},{"lineNumber":881,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":882,"author":{"gitId":"-"},"content":" * Gets notification data from the database."},{"lineNumber":883,"author":{"gitId":"-"},"content":" */"},{"lineNumber":884,"author":{"gitId":"-"},"content":" public NotificationData getNotificationData(String notificationId) {"},{"lineNumber":885,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":886,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.NOTIFICATION_ID, notificationId);"},{"lineNumber":887,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.NOTIFICATION, params);"},{"lineNumber":888,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":889,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":890,"author":{"gitId":"-"},"content":" }"},{"lineNumber":891,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(response.responseBody, NotificationData.class);"},{"lineNumber":892,"author":{"gitId":"-"},"content":" }"},{"lineNumber":893,"author":{"gitId":"-"},"content":""},{"lineNumber":894,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":895,"author":{"gitId":"-"},"content":" * Gets a notification from the database."},{"lineNumber":896,"author":{"gitId":"-"},"content":" */"},{"lineNumber":897,"author":{"gitId":"-"},"content":" public NotificationAttributes getNotification(String notificationId) {"},{"lineNumber":898,"author":{"gitId":"-"},"content":" NotificationData notificationData \u003d getNotificationData(notificationId);"},{"lineNumber":899,"author":{"gitId":"-"},"content":" if (notificationData \u003d\u003d null) {"},{"lineNumber":900,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":901,"author":{"gitId":"-"},"content":" }"},{"lineNumber":902,"author":{"gitId":"-"},"content":" NotificationAttributes notification \u003d NotificationAttributes.builder(notificationData.getNotificationId())"},{"lineNumber":903,"author":{"gitId":"-"},"content":" .withStartTime(Instant.ofEpochMilli(notificationData.getStartTimestamp()))"},{"lineNumber":904,"author":{"gitId":"-"},"content":" .withEndTime(Instant.ofEpochMilli(notificationData.getEndTimestamp()))"},{"lineNumber":905,"author":{"gitId":"-"},"content":" .withStyle(notificationData.getStyle())"},{"lineNumber":906,"author":{"gitId":"-"},"content":" .withTargetUser(notificationData.getTargetUser())"},{"lineNumber":907,"author":{"gitId":"-"},"content":" .withTitle(notificationData.getTitle())"},{"lineNumber":908,"author":{"gitId":"-"},"content":" .withMessage(notificationData.getMessage())"},{"lineNumber":909,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":910,"author":{"gitId":"-"},"content":" notification.setCreatedAt(Instant.ofEpochMilli(notificationData.getCreatedAt()));"},{"lineNumber":911,"author":{"gitId":"-"},"content":" return notification;"},{"lineNumber":912,"author":{"gitId":"-"},"content":" }"},{"lineNumber":913,"author":{"gitId":"-"},"content":""},{"lineNumber":914,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":915,"author":{"gitId":"-"},"content":" * Deletes a notification from the database."},{"lineNumber":916,"author":{"gitId":"-"},"content":" */"},{"lineNumber":917,"author":{"gitId":"-"},"content":" public void deleteNotification(String notificationId) {"},{"lineNumber":918,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":919,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.NOTIFICATION_ID, notificationId);"},{"lineNumber":920,"author":{"gitId":"-"},"content":" executeDeleteRequest(Const.ResourceURIs.NOTIFICATION, params);"},{"lineNumber":921,"author":{"gitId":"-"},"content":" }"},{"lineNumber":922,"author":{"gitId":"-"},"content":""},{"lineNumber":923,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":924,"author":{"gitId":"-"},"content":" * Deletes a notification from the database."},{"lineNumber":925,"author":{"gitId":"-"},"content":" */"},{"lineNumber":926,"author":{"gitId":"-"},"content":" public void deleteNotification(UUID notificationId) {"},{"lineNumber":927,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":928,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.NOTIFICATION_ID, notificationId.toString());"},{"lineNumber":929,"author":{"gitId":"-"},"content":" executeDeleteRequest(Const.ResourceURIs.NOTIFICATION, params);"},{"lineNumber":930,"author":{"gitId":"-"},"content":" }"},{"lineNumber":931,"author":{"gitId":"-"},"content":""},{"lineNumber":932,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":933,"author":{"gitId":"-"},"content":" * Gets a deadline extension from the database."},{"lineNumber":934,"author":{"gitId":"-"},"content":" */"},{"lineNumber":935,"author":{"gitId":"-"},"content":" public DeadlineExtensionAttributes getDeadlineExtension("},{"lineNumber":936,"author":{"gitId":"-"},"content":" String courseId, String feedbackSessionName, String userEmail, boolean isInstructor) {"},{"lineNumber":937,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e params \u003d new HashMap\u003c\u003e();"},{"lineNumber":938,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.COURSE_ID, courseId);"},{"lineNumber":939,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.FEEDBACK_SESSION_NAME, feedbackSessionName);"},{"lineNumber":940,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.USER_EMAIL, userEmail);"},{"lineNumber":941,"author":{"gitId":"-"},"content":" params.put(Const.ParamsNames.IS_INSTRUCTOR, Boolean.toString(isInstructor));"},{"lineNumber":942,"author":{"gitId":"-"},"content":""},{"lineNumber":943,"author":{"gitId":"-"},"content":" ResponseBodyAndCode response \u003d executeGetRequest(Const.ResourceURIs.DEADLINE_EXTENSION, params);"},{"lineNumber":944,"author":{"gitId":"-"},"content":" if (response.responseCode \u003d\u003d HttpStatus.SC_NOT_FOUND) {"},{"lineNumber":945,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":946,"author":{"gitId":"-"},"content":" }"},{"lineNumber":947,"author":{"gitId":"-"},"content":""},{"lineNumber":948,"author":{"gitId":"-"},"content":" DeadlineExtensionData deadlineExtensionData \u003d JsonUtils.fromJson(response.responseBody, DeadlineExtensionData.class);"},{"lineNumber":949,"author":{"gitId":"-"},"content":""},{"lineNumber":950,"author":{"gitId":"-"},"content":" return DeadlineExtensionAttributes.builder("},{"lineNumber":951,"author":{"gitId":"-"},"content":" deadlineExtensionData.getCourseId(), deadlineExtensionData.getFeedbackSessionName(),"},{"lineNumber":952,"author":{"gitId":"-"},"content":" deadlineExtensionData.getUserEmail(), deadlineExtensionData.getIsInstructor())"},{"lineNumber":953,"author":{"gitId":"-"},"content":" .withEndTime(Instant.ofEpochMilli(deadlineExtensionData.getEndTime()))"},{"lineNumber":954,"author":{"gitId":"-"},"content":" .withSentClosingEmail(deadlineExtensionData.getSentClosingEmail())"},{"lineNumber":955,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":956,"author":{"gitId":"-"},"content":" }"},{"lineNumber":957,"author":{"gitId":"-"},"content":""},{"lineNumber":958,"author":{"gitId":"-"},"content":" private static final class ResponseBodyAndCode {"},{"lineNumber":959,"author":{"gitId":"-"},"content":""},{"lineNumber":960,"author":{"gitId":"-"},"content":" String responseBody;"},{"lineNumber":961,"author":{"gitId":"-"},"content":" int responseCode;"},{"lineNumber":962,"author":{"gitId":"-"},"content":""},{"lineNumber":963,"author":{"gitId":"-"},"content":" ResponseBodyAndCode(String responseBody, int responseCode) {"},{"lineNumber":964,"author":{"gitId":"-"},"content":" this.responseBody \u003d responseBody;"},{"lineNumber":965,"author":{"gitId":"-"},"content":" this.responseCode \u003d responseCode;"},{"lineNumber":966,"author":{"gitId":"-"},"content":" }"},{"lineNumber":967,"author":{"gitId":"-"},"content":""},{"lineNumber":968,"author":{"gitId":"-"},"content":" }"},{"lineNumber":969,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":13,"-":956}},{"path":"src/test/java/teammates/test/BaseTestCase.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.test;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.lang.reflect.Method;"},{"lineNumber":5,"author":{"gitId":"dishenggg"},"content":"import java.time.Duration;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.UUID;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.function.Executable;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.AccountRequestStatus;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.DataBundle;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.FeedbackParticipantType;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPermissionRole;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.InstructorPrivileges;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationStyle;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.NotificationTargetUser;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.questions.FeedbackResponseDetails;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackTextQuestionDetails;"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":"import teammates.common.datatransfer.questions.FeedbackTextResponseDetails;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.common.util.FieldValidator;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.TimeHelperExtension;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.sqllogic.core.DataBundleLogic;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.AccountRequest;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":38,"author":{"gitId":"mingyuanc"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Section;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Team;"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Base class for all test cases."},{"lineNumber":48,"author":{"gitId":"-"},"content":" */"},{"lineNumber":49,"author":{"gitId":"-"},"content":"@SuppressWarnings(\"PMD.TestClassWithoutTestCases\")"},{"lineNumber":50,"author":{"gitId":"-"},"content":"public class BaseTestCase {"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":53,"author":{"gitId":"-"},"content":" * Test Segment divider. Used to divide a test case into logical sections."},{"lineNumber":54,"author":{"gitId":"-"},"content":" * The weird name is for easy spotting."},{"lineNumber":55,"author":{"gitId":"-"},"content":" *"},{"lineNumber":56,"author":{"gitId":"-"},"content":" * @param description"},{"lineNumber":57,"author":{"gitId":"-"},"content":" * of the logical section. This will be printed."},{"lineNumber":58,"author":{"gitId":"-"},"content":" */"},{"lineNumber":59,"author":{"gitId":"-"},"content":" // CHECKSTYLE.OFF:AbbreviationAsWordInName|MethodName the weird name is for easy spotting."},{"lineNumber":60,"author":{"gitId":"-"},"content":" public static void ______TS(String description) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" print(\" * \" + description);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" }"},{"lineNumber":63,"author":{"gitId":"-"},"content":" // CHECKSTYLE.ON:AbbreviationAsWordInName|MethodName"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":66,"author":{"gitId":"-"},"content":" public void printTestClassHeader() {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" print(\"[\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\""},{"lineNumber":68,"author":{"gitId":"-"},"content":" + getClass().getCanonicalName()"},{"lineNumber":69,"author":{"gitId":"-"},"content":" + \"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d]\");"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":73,"author":{"gitId":"-"},"content":" public void printTestClassFooter() {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" print(getClass().getCanonicalName() + \" completed\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" protected static void print(String message) {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" System.out.println(message);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" protected String getTestDataFolder() {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" return TestProperties.TEST_DATA_FOLDER;"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":86,"author":{"gitId":"-"},"content":" * Creates a DataBundle as specified in typicalDataBundle.json."},{"lineNumber":87,"author":{"gitId":"-"},"content":" */"},{"lineNumber":88,"author":{"gitId":"-"},"content":" protected DataBundle getTypicalDataBundle() {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" return loadDataBundle(\"/typicalDataBundle.json\");"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" protected DataBundle loadDataBundle(String jsonFileName) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" String pathToJsonFile \u003d getTestDataFolder() + jsonFileName;"},{"lineNumber":95,"author":{"gitId":"-"},"content":" String jsonString \u003d FileHelper.readFile(pathToJsonFile);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" return JsonUtils.fromJson(jsonString, DataBundle.class);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" protected SqlDataBundle getTypicalSqlDataBundle() {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return loadSqlDataBundle(\"/typicalDataBundle.json\");"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" protected SqlDataBundle loadSqlDataBundle(String jsonFileName) {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" // TODO: rename to loadDataBundle after migration"},{"lineNumber":109,"author":{"gitId":"-"},"content":" String pathToJsonFile \u003d getTestDataFolder() + jsonFileName;"},{"lineNumber":110,"author":{"gitId":"-"},"content":" String jsonString \u003d FileHelper.readFile(pathToJsonFile);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" return DataBundleLogic.deserializeDataBundle(jsonString);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":118,"author":{"gitId":"-"},"content":" * These getTypicalX functions are used to generate typical entities for tests."},{"lineNumber":119,"author":{"gitId":"-"},"content":" * The entity fields can be changed using setter methods if needed."},{"lineNumber":120,"author":{"gitId":"-"},"content":" * New entity generator functions for tests should be added here, and follow the"},{"lineNumber":121,"author":{"gitId":"-"},"content":" * same naming convention."},{"lineNumber":122,"author":{"gitId":"-"},"content":" *"},{"lineNumber":123,"author":{"gitId":"-"},"content":" * \u003cp\u003eExample usage:"},{"lineNumber":124,"author":{"gitId":"-"},"content":" * Account account \u003d getTypicalAccount();"},{"lineNumber":125,"author":{"gitId":"-"},"content":" * Student student \u003d getTypicalStudent();"},{"lineNumber":126,"author":{"gitId":"-"},"content":" * account.setEmail(\"newemail@teammates.com\");"},{"lineNumber":127,"author":{"gitId":"-"},"content":" * student.setName(\"New Student Name\");"},{"lineNumber":128,"author":{"gitId":"-"},"content":" */"},{"lineNumber":129,"author":{"gitId":"-"},"content":" protected Account getTypicalAccount() {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" return new Account(\"google-id\", \"name\", \"email@teammates.com\");"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" protected Notification getTypicalNotificationWithId() {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" Notification notification \u003d new Notification(Instant.parse(\"2011-01-01T00:00:00Z\"),"},{"lineNumber":135,"author":{"gitId":"-"},"content":" Instant.parse(\"2099-01-01T00:00:00Z\"), NotificationStyle.DANGER, NotificationTargetUser.GENERAL,"},{"lineNumber":136,"author":{"gitId":"-"},"content":" \"A deprecation note\", \"\u003cp\u003eDeprecation happens in three minutes\u003c/p\u003e\");"},{"lineNumber":137,"author":{"gitId":"-"},"content":" notification.setId(UUID.randomUUID());"},{"lineNumber":138,"author":{"gitId":"-"},"content":" return notification;"},{"lineNumber":139,"author":{"gitId":"-"},"content":" }"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" protected Instructor getTypicalInstructor() {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":143,"author":{"gitId":"-"},"content":" InstructorPrivileges instructorPrivileges \u003d"},{"lineNumber":144,"author":{"gitId":"-"},"content":" new InstructorPrivileges(Const.InstructorPermissionRoleNames.INSTRUCTOR_PERMISSION_ROLE_COOWNER);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" InstructorPermissionRole role \u003d InstructorPermissionRole"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .getEnum(Const.InstructorPermissionRoleNames.INSTRUCTOR_PERMISSION_ROLE_COOWNER);"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" return new Instructor(course, \"instructor-name\", \"valid@teammates.tmt\","},{"lineNumber":149,"author":{"gitId":"-"},"content":" false, Const.DEFAULT_DISPLAY_NAME_FOR_INSTRUCTOR, role, instructorPrivileges);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" protected Course getTypicalCourse() {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" return new Course(\"course-id\", \"course-name\", Const.DEFAULT_TIME_ZONE, \"teammates\");"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" protected Student getTypicalStudent() {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":158,"author":{"gitId":"-"},"content":" return new Student(course, \"student-name\", \"validstudent@teammates.tmt\", \"comments\");"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" protected Section getTypicalSection() {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" Course course \u003d getTypicalCourse();"},{"lineNumber":163,"author":{"gitId":"-"},"content":" return new Section(course, \"test-section\");"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" protected Team getTypicalTeam() {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" Section section \u003d getTypicalSection();"},{"lineNumber":168,"author":{"gitId":"-"},"content":" return new Team(section, \"test-team\");"},{"lineNumber":169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" protected FeedbackSession getTypicalFeedbackSessionForCourse(Course course) {"},{"lineNumber":172,"author":{"gitId":"dishenggg"},"content":" Instant startTime \u003d TimeHelperExtension.getInstantDaysOffsetFromNow(1);"},{"lineNumber":173,"author":{"gitId":"dishenggg"},"content":" Instant endTime \u003d TimeHelperExtension.getInstantDaysOffsetFromNow(7);"},{"lineNumber":174,"author":{"gitId":"dishenggg"},"content":" return new FeedbackSession(\"test-feedbacksession\","},{"lineNumber":175,"author":{"gitId":"dishenggg"},"content":" course,"},{"lineNumber":176,"author":{"gitId":"dishenggg"},"content":" \"test@teammates.tmt\","},{"lineNumber":177,"author":{"gitId":"dishenggg"},"content":" \"test-instructions\","},{"lineNumber":178,"author":{"gitId":"dishenggg"},"content":" startTime,"},{"lineNumber":179,"author":{"gitId":"dishenggg"},"content":" endTime,"},{"lineNumber":180,"author":{"gitId":"dishenggg"},"content":" startTime,"},{"lineNumber":181,"author":{"gitId":"dishenggg"},"content":" endTime,"},{"lineNumber":182,"author":{"gitId":"dishenggg"},"content":" Duration.ofMinutes(5),"},{"lineNumber":183,"author":{"gitId":"dishenggg"},"content":" false,"},{"lineNumber":184,"author":{"gitId":"dishenggg"},"content":" false,"},{"lineNumber":185,"author":{"gitId":"dishenggg"},"content":" false);"},{"lineNumber":186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" protected FeedbackQuestion getTypicalFeedbackQuestionForSession(FeedbackSession session) {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" return FeedbackQuestion.makeQuestion(session, 1, \"test-description\","},{"lineNumber":190,"author":{"gitId":"-"},"content":" FeedbackParticipantType.SELF, FeedbackParticipantType.SELF, 1, new ArrayList\u003c\u003e(),"},{"lineNumber":191,"author":{"gitId":"-"},"content":" new ArrayList\u003c\u003e(), new ArrayList\u003c\u003e(),"},{"lineNumber":192,"author":{"gitId":"-"},"content":" new FeedbackTextQuestionDetails(\"test question text\"));"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"xenosf"},"content":" protected FeedbackResponse getTypicalFeedbackResponseForQuestion(FeedbackQuestion question) {"},{"lineNumber":196,"author":{"gitId":"xenosf"},"content":" return FeedbackResponse.makeResponse(question, \"test-giver\", getTypicalSection(), \"test-recipient\","},{"lineNumber":197,"author":{"gitId":"xenosf"},"content":" getTypicalSection(), getTypicalFeedbackResponseDetails());"},{"lineNumber":198,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":199,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":200,"author":{"gitId":"xenosf"},"content":" protected FeedbackResponseDetails getTypicalFeedbackResponseDetails() {"},{"lineNumber":201,"author":{"gitId":"xenosf"},"content":" return new FeedbackTextResponseDetails();"},{"lineNumber":202,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":203,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":204,"author":{"gitId":"mingyuanc"},"content":" protected FeedbackResponseComment getTypicalResponseComment(Long id) {"},{"lineNumber":205,"author":{"gitId":"mingyuanc"},"content":" FeedbackResponseComment comment \u003d new FeedbackResponseComment(null, \"\","},{"lineNumber":206,"author":{"gitId":"mingyuanc"},"content":" FeedbackParticipantType.STUDENTS, null, null, \"\","},{"lineNumber":207,"author":{"gitId":"mingyuanc"},"content":" false, false,"},{"lineNumber":208,"author":{"gitId":"mingyuanc"},"content":" null, null, null);"},{"lineNumber":209,"author":{"gitId":"mingyuanc"},"content":" comment.setId(id);"},{"lineNumber":210,"author":{"gitId":"mingyuanc"},"content":" return comment;"},{"lineNumber":211,"author":{"gitId":"mingyuanc"},"content":" }"},{"lineNumber":212,"author":{"gitId":"mingyuanc"},"content":""},{"lineNumber":213,"author":{"gitId":"xenosf"},"content":" protected AccountRequest getTypicalAccountRequest() {"},{"lineNumber":214,"author":{"gitId":"xenosf"},"content":" return new AccountRequest(\"valid@test.com\", \"Test Name\", \"TEAMMATES Test Institute 1, Test Country\","},{"lineNumber":215,"author":{"gitId":"xenosf"},"content":" AccountRequestStatus.PENDING, \"\");"},{"lineNumber":216,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":217,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":219,"author":{"gitId":"-"},"content":" * Populates the feedback question and response IDs within the data bundle."},{"lineNumber":220,"author":{"gitId":"-"},"content":" *"},{"lineNumber":221,"author":{"gitId":"-"},"content":" * \u003cp\u003eFor tests where simulated database is used, the backend will assign the question and response IDs"},{"lineNumber":222,"author":{"gitId":"-"},"content":" * when the entities are persisted into the database, and modify the relation IDs accordingly."},{"lineNumber":223,"author":{"gitId":"-"},"content":" * However, for tests that do not use simulated database (e.g. pure data structure tests),"},{"lineNumber":224,"author":{"gitId":"-"},"content":" * the assignment of IDs have to be simulated."},{"lineNumber":225,"author":{"gitId":"-"},"content":" */"},{"lineNumber":226,"author":{"gitId":"-"},"content":" protected void populateQuestionAndResponseIds(DataBundle dataBundle) {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" Map\u003cString, Map\u003cInteger, String\u003e\u003e sessionToQuestionNumberToId \u003d new HashMap\u003c\u003e();"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" dataBundle.feedbackQuestions.forEach((key, question) -\u003e {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" // Assign the same ID as the key as a later function requires a match between the key and the question ID"},{"lineNumber":231,"author":{"gitId":"-"},"content":" question.setId(key);"},{"lineNumber":232,"author":{"gitId":"-"},"content":" Map\u003cInteger, String\u003e questionNumberToId \u003d sessionToQuestionNumberToId.computeIfAbsent("},{"lineNumber":233,"author":{"gitId":"-"},"content":" question.getCourseId() + \"%\" + question.getFeedbackSessionName(), k -\u003e new HashMap\u003c\u003e());"},{"lineNumber":234,"author":{"gitId":"-"},"content":" questionNumberToId.put(question.getQuestionNumber(), key);"},{"lineNumber":235,"author":{"gitId":"-"},"content":" });"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" dataBundle.feedbackResponses.forEach((key, response) -\u003e {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" response.setId(key);"},{"lineNumber":239,"author":{"gitId":"-"},"content":" String feedbackQuestionId \u003d sessionToQuestionNumberToId"},{"lineNumber":240,"author":{"gitId":"-"},"content":" .get(response.getCourseId() + \"%\" + response.getFeedbackSessionName())"},{"lineNumber":241,"author":{"gitId":"-"},"content":" .get(Integer.valueOf(response.getFeedbackQuestionId()));"},{"lineNumber":242,"author":{"gitId":"-"},"content":" response.setFeedbackQuestionId(feedbackQuestionId);"},{"lineNumber":243,"author":{"gitId":"-"},"content":" });"},{"lineNumber":244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * Invokes the method named {@code methodName} as defined in the {@code definingClass}."},{"lineNumber":248,"author":{"gitId":"-"},"content":" * @param definingClass the class which defines the method"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * @param parameterTypes the parameter types of the method,"},{"lineNumber":250,"author":{"gitId":"-"},"content":" * which must be passed in the same order defined in the method"},{"lineNumber":251,"author":{"gitId":"-"},"content":" * @param invokingObject the object which invokes the method, can be {@code null} if the method is static"},{"lineNumber":252,"author":{"gitId":"-"},"content":" * @param args the arguments to be passed to the method invocation"},{"lineNumber":253,"author":{"gitId":"-"},"content":" */"},{"lineNumber":254,"author":{"gitId":"-"},"content":" protected static Object invokeMethod(Class\u003c?\u003e definingClass, String methodName, Class\u003c?\u003e[] parameterTypes,"},{"lineNumber":255,"author":{"gitId":"-"},"content":" Object invokingObject, Object[] args)"},{"lineNumber":256,"author":{"gitId":"-"},"content":" throws ReflectiveOperationException {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" Method method \u003d definingClass.getDeclaredMethod(methodName, parameterTypes);"},{"lineNumber":258,"author":{"gitId":"-"},"content":" method.setAccessible(true);"},{"lineNumber":259,"author":{"gitId":"-"},"content":" return method.invoke(invokingObject, args);"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" protected static String getPopulatedErrorMessage(String messageTemplate, String userInput,"},{"lineNumber":263,"author":{"gitId":"-"},"content":" String fieldName, String errorReason)"},{"lineNumber":264,"author":{"gitId":"-"},"content":" throws ReflectiveOperationException {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" return getPopulatedErrorMessage(messageTemplate, userInput, fieldName, errorReason, 0);"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" protected static String getPopulatedErrorMessage(String messageTemplate, String userInput,"},{"lineNumber":269,"author":{"gitId":"-"},"content":" String fieldName, String errorReason, int maxLength)"},{"lineNumber":270,"author":{"gitId":"-"},"content":" throws ReflectiveOperationException {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" return (String) invokeMethod(FieldValidator.class, \"getPopulatedErrorMessage\","},{"lineNumber":272,"author":{"gitId":"-"},"content":" new Class\u003c?\u003e[] { String.class, String.class, String.class, String.class, int.class },"},{"lineNumber":273,"author":{"gitId":"-"},"content":" null, new Object[] { messageTemplate, userInput, fieldName, errorReason, maxLength });"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" protected static String getPopulatedEmptyStringErrorMessage(String messageTemplate, String fieldName, int maxLength)"},{"lineNumber":277,"author":{"gitId":"-"},"content":" throws ReflectiveOperationException {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" return (String) invokeMethod(FieldValidator.class, \"getPopulatedEmptyStringErrorMessage\","},{"lineNumber":279,"author":{"gitId":"-"},"content":" new Class\u003c?\u003e[] { String.class, String.class, int.class },"},{"lineNumber":280,"author":{"gitId":"-"},"content":" null, new Object[] { messageTemplate, fieldName, maxLength });"},{"lineNumber":281,"author":{"gitId":"-"},"content":" }"},{"lineNumber":282,"author":{"gitId":"-"},"content":""},{"lineNumber":283,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":284,"author":{"gitId":"-"},"content":" * Here are some of the most common assertion methods provided by JUnit."},{"lineNumber":285,"author":{"gitId":"-"},"content":" * They are copied here to prevent repetitive importing in test classes."},{"lineNumber":286,"author":{"gitId":"-"},"content":" */"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" protected static void assertTrue(boolean condition) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" Assertions.assertTrue(condition);"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" protected static void assertTrue(String message, boolean condition) {"},{"lineNumber":293,"author":{"gitId":"-"},"content":" Assertions.assertTrue(condition, message);"},{"lineNumber":294,"author":{"gitId":"-"},"content":" }"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":" protected static void assertFalse(boolean condition) {"},{"lineNumber":297,"author":{"gitId":"-"},"content":" Assertions.assertFalse(condition);"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" protected static void assertFalse(String message, boolean condition) {"},{"lineNumber":301,"author":{"gitId":"-"},"content":" Assertions.assertFalse(condition, message);"},{"lineNumber":302,"author":{"gitId":"-"},"content":" }"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" protected static void assertEquals(int expected, int actual) {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expected, actual);"},{"lineNumber":306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" protected static void assertEquals(String message, int expected, int actual) {"},{"lineNumber":309,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expected, actual, message);"},{"lineNumber":310,"author":{"gitId":"-"},"content":" }"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":" protected static void assertEquals(long expected, long actual) {"},{"lineNumber":313,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expected, actual);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" }"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" protected static void assertEquals(double expected, double actual, double delta) {"},{"lineNumber":317,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expected, actual, delta);"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" protected static void assertEquals(Object expected, Object actual) {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expected, actual);"},{"lineNumber":322,"author":{"gitId":"-"},"content":" }"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":" protected static void assertEquals(String message, Object expected, Object actual) {"},{"lineNumber":325,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expected, actual, message);"},{"lineNumber":326,"author":{"gitId":"-"},"content":" }"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" protected static void assertArrayEquals(byte[] expected, byte[] actual) {"},{"lineNumber":329,"author":{"gitId":"-"},"content":" Assertions.assertArrayEquals(expected, actual);"},{"lineNumber":330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" protected static void assertNotEquals(Object first, Object second) {"},{"lineNumber":333,"author":{"gitId":"-"},"content":" Assertions.assertNotEquals(first, second);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" }"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"-"},"content":" protected static void assertSame(Object expected, Object actual) {"},{"lineNumber":337,"author":{"gitId":"-"},"content":" Assertions.assertSame(expected, actual);"},{"lineNumber":338,"author":{"gitId":"-"},"content":" }"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" protected static void assertNotSame(Object unexpected, Object actual) {"},{"lineNumber":341,"author":{"gitId":"-"},"content":" Assertions.assertNotSame(unexpected, actual);"},{"lineNumber":342,"author":{"gitId":"-"},"content":" }"},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":" protected static void assertNull(Object object) {"},{"lineNumber":345,"author":{"gitId":"-"},"content":" Assertions.assertNull(object);"},{"lineNumber":346,"author":{"gitId":"-"},"content":" }"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":" protected static void assertNull(String message, Object object) {"},{"lineNumber":349,"author":{"gitId":"-"},"content":" Assertions.assertNull(object, message);"},{"lineNumber":350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" protected static void assertNotNull(Object object) {"},{"lineNumber":353,"author":{"gitId":"-"},"content":" Assertions.assertNotNull(object);"},{"lineNumber":354,"author":{"gitId":"-"},"content":" }"},{"lineNumber":355,"author":{"gitId":"-"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":" protected static void assertNotNull(String message, Object object) {"},{"lineNumber":357,"author":{"gitId":"-"},"content":" Assertions.assertNotNull(object, message);"},{"lineNumber":358,"author":{"gitId":"-"},"content":" }"},{"lineNumber":359,"author":{"gitId":"-"},"content":""},{"lineNumber":360,"author":{"gitId":"-"},"content":" protected static void fail(String message) {"},{"lineNumber":361,"author":{"gitId":"-"},"content":" Assertions.fail(message);"},{"lineNumber":362,"author":{"gitId":"-"},"content":" }"},{"lineNumber":363,"author":{"gitId":"-"},"content":""},{"lineNumber":364,"author":{"gitId":"-"},"content":" protected static \u003cT extends Throwable\u003e T assertThrows(Class\u003cT\u003e expectedType, Executable executable) {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" return Assertions.assertThrows(expectedType, executable);"},{"lineNumber":366,"author":{"gitId":"-"},"content":" }"},{"lineNumber":367,"author":{"gitId":"-"},"content":""},{"lineNumber":368,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":19,"dishenggg":16,"mingyuanc":10,"-":323}},{"path":"src/test/java/teammates/test/BaseTestCaseWithDatabaseAccess.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.test;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.DataBundle;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountRequestAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.DeadlineExtensionAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.EntityAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseAttributes;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseCommentAttributes;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.common.util.JsonUtils;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * Base class for all test cases which are allowed to access the database."},{"lineNumber":21,"author":{"gitId":"-"},"content":" */"},{"lineNumber":22,"author":{"gitId":"-"},"content":"public abstract class BaseTestCaseWithDatabaseAccess extends BaseTestCase {"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final int VERIFICATION_RETRY_COUNT \u003d 5;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final int VERIFICATION_RETRY_DELAY_IN_MS \u003d 1000;"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final int OPERATION_RETRY_COUNT \u003d 5;"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final int OPERATION_RETRY_DELAY_IN_MS \u003d 1000;"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" protected void verifyPresentInDatabase(DataBundle data) {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" data.accounts.values().forEach(this::verifyPresentInDatabase);"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" data.instructors.values().forEach(this::verifyPresentInDatabase);"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" data.courses.values().stream()"},{"lineNumber":35,"author":{"gitId":"-"},"content":" .filter(course -\u003e !course.isCourseDeleted())"},{"lineNumber":36,"author":{"gitId":"-"},"content":" .forEach(this::verifyPresentInDatabase);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" data.students.values().forEach(this::verifyPresentInDatabase);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" protected void verifyPresentInDatabase(EntityAttributes\u003c?\u003e expected) {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" int retryLimit \u003d VERIFICATION_RETRY_COUNT;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" EntityAttributes\u003c?\u003e actual \u003d getEntity(expected);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" while (actual \u003d\u003d null \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":46,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(VERIFICATION_RETRY_DELAY_IN_MS);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" actual \u003d getEntity(expected);"},{"lineNumber":48,"author":{"gitId":"-"},"content":" }"},{"lineNumber":49,"author":{"gitId":"-"},"content":" verifyEquals(expected, actual);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" private EntityAttributes\u003c?\u003e getEntity(EntityAttributes\u003c?\u003e expected) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" if (expected instanceof AccountAttributes) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" return getAccount((AccountAttributes) expected);"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" } else if (expected instanceof CourseAttributes) {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" return getCourse((CourseAttributes) expected);"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackQuestionAttributes) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return getFeedbackQuestion((FeedbackQuestionAttributes) expected);"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponseCommentAttributes) {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" return getFeedbackResponseComment((FeedbackResponseCommentAttributes) expected);"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponseAttributes) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" return getFeedbackResponse((FeedbackResponseAttributes) expected);"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackSessionAttributes) {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" return getFeedbackSession((FeedbackSessionAttributes) expected);"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" } else if (expected instanceof InstructorAttributes) {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" return getInstructor((InstructorAttributes) expected);"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" } else if (expected instanceof StudentAttributes) {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" return getStudent((StudentAttributes) expected);"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" } else if (expected instanceof AccountRequestAttributes) {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" return getAccountRequest((AccountRequestAttributes) expected);"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" } else if (expected instanceof DeadlineExtensionAttributes) {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" return getDeadlineExtension((DeadlineExtensionAttributes) expected);"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" } else if (expected instanceof NotificationAttributes) {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" return getNotification((NotificationAttributes) expected);"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unknown entity type!\");"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":" }"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" protected void verifyAbsentInDatabase(EntityAttributes\u003c?\u003e entity) {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" int retryLimit \u003d VERIFICATION_RETRY_COUNT;"},{"lineNumber":93,"author":{"gitId":"-"},"content":" EntityAttributes\u003c?\u003e actual \u003d getEntity(entity);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" while (actual !\u003d null \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(VERIFICATION_RETRY_DELAY_IN_MS);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" actual \u003d getEntity(entity);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":" assertNull(actual);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" private void verifyEquals(EntityAttributes\u003c?\u003e expected, EntityAttributes\u003c?\u003e actual) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" if (expected instanceof AccountAttributes) {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" AccountAttributes expectedAccount \u003d ((AccountAttributes) expected).getCopy();"},{"lineNumber":105,"author":{"gitId":"-"},"content":" AccountAttributes actualAccount \u003d (AccountAttributes) actual;"},{"lineNumber":106,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedAccount, actualAccount);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedAccount), JsonUtils.toJson(actualAccount));"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" } else if (expected instanceof CourseAttributes) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" CourseAttributes expectedCourse \u003d (CourseAttributes) expected;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" CourseAttributes actualCourse \u003d (CourseAttributes) actual;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedCourse, actualCourse);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedCourse), JsonUtils.toJson(actualCourse));"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackQuestionAttributes) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes expectedFq \u003d (FeedbackQuestionAttributes) expected;"},{"lineNumber":117,"author":{"gitId":"-"},"content":" FeedbackQuestionAttributes actualFq \u003d (FeedbackQuestionAttributes) actual;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedFq, actualFq);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedFq), JsonUtils.toJson(actualFq));"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponseCommentAttributes) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" FeedbackResponseCommentAttributes expectedFrc \u003d (FeedbackResponseCommentAttributes) expected;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" FeedbackResponseCommentAttributes actualFrc \u003d (FeedbackResponseCommentAttributes) actual;"},{"lineNumber":124,"author":{"gitId":"-"},"content":" assertEquals(expectedFrc.getCourseId(), actualFrc.getCourseId());"},{"lineNumber":125,"author":{"gitId":"-"},"content":" assertEquals(expectedFrc.getCommentGiver(), actualFrc.getCommentGiver());"},{"lineNumber":126,"author":{"gitId":"-"},"content":" assertEquals(expectedFrc.getFeedbackSessionName(), actualFrc.getFeedbackSessionName());"},{"lineNumber":127,"author":{"gitId":"-"},"content":" assertEquals(expectedFrc.getCommentText(), actualFrc.getCommentText());"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponseAttributes) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" FeedbackResponseAttributes expectedFr \u003d (FeedbackResponseAttributes) expected;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" FeedbackResponseAttributes actualFr \u003d (FeedbackResponseAttributes) actual;"},{"lineNumber":132,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedFr, actualFr);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedFr), JsonUtils.toJson(actualFr));"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackSessionAttributes) {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes expectedFs \u003d ((FeedbackSessionAttributes) expected).getCopy();"},{"lineNumber":137,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes actualFs \u003d (FeedbackSessionAttributes) actual;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedFs, actualFs);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedFs), JsonUtils.toJson(actualFs));"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" } else if (expected instanceof InstructorAttributes) {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" InstructorAttributes expectedInstructor \u003d ((InstructorAttributes) expected).getCopy();"},{"lineNumber":143,"author":{"gitId":"-"},"content":" InstructorAttributes actualInstructor \u003d (InstructorAttributes) actual;"},{"lineNumber":144,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedInstructor, actualInstructor);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedInstructor), JsonUtils.toJson(actualInstructor));"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" } else if (expected instanceof StudentAttributes) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" StudentAttributes expectedStudent \u003d ((StudentAttributes) expected).getCopy();"},{"lineNumber":149,"author":{"gitId":"-"},"content":" StudentAttributes actualStudent \u003d (StudentAttributes) actual;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedStudent, actualStudent);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedStudent), JsonUtils.toJson(actualStudent));"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" } else if (expected instanceof AccountRequestAttributes) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" AccountRequestAttributes expectedAccountRequest \u003d (AccountRequestAttributes) expected;"},{"lineNumber":155,"author":{"gitId":"-"},"content":" AccountRequestAttributes actualAccountRequest \u003d (AccountRequestAttributes) actual;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedAccountRequest), JsonUtils.toJson(actualAccountRequest));"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" } else if (expected instanceof DeadlineExtensionAttributes) {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" DeadlineExtensionAttributes expectedDeadlineExtension \u003d (DeadlineExtensionAttributes) expected;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" DeadlineExtensionAttributes actualDeadlineExtension \u003d (DeadlineExtensionAttributes) actual;"},{"lineNumber":161,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedDeadlineExtension, actualDeadlineExtension);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedDeadlineExtension), JsonUtils.toJson(actualDeadlineExtension));"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" } else if (expected instanceof NotificationAttributes) {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" NotificationAttributes expectedNotification \u003d (NotificationAttributes) expected;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" NotificationAttributes actualNotification \u003d (NotificationAttributes) actual;"},{"lineNumber":167,"author":{"gitId":"-"},"content":" equalizeIrrelevantData(expectedNotification, actualNotification);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertEquals(JsonUtils.toJson(expectedNotification), JsonUtils.toJson(actualNotification));"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unknown entity type!\");"},{"lineNumber":172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" protected abstract AccountAttributes getAccount(AccountAttributes account);"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(AccountAttributes expected, AccountAttributes actual) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":179,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(CourseAttributes expected, CourseAttributes actual) {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":184,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(FeedbackQuestionAttributes expected, FeedbackQuestionAttributes actual) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" expected.setId(actual.getId());"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(FeedbackResponseAttributes expected, FeedbackResponseAttributes actual) {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" expected.setId(actual.getId());"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(FeedbackSessionAttributes expected, FeedbackSessionAttributes actual) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" expected.setCreatedTime(actual.getCreatedTime());"},{"lineNumber":197,"author":{"gitId":"-"},"content":" // Not available in FeedbackSessionData and thus ignored"},{"lineNumber":198,"author":{"gitId":"-"},"content":" expected.setCreatorEmail(actual.getCreatorEmail());"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(InstructorAttributes expected, InstructorAttributes actual) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" // pretend keys match because the key is generated only before storing into database"},{"lineNumber":203,"author":{"gitId":"-"},"content":" if (actual.getKey() !\u003d null) {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" expected.setKey(actual.getKey());"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(StudentAttributes expected, StudentAttributes actual) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" // For these fields, we consider null and \"\" equivalent."},{"lineNumber":210,"author":{"gitId":"-"},"content":" if (expected.getGoogleId() \u003d\u003d null \u0026\u0026 actual.getGoogleId().isEmpty()) {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" expected.setGoogleId(\"\");"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":" if (expected.getTeam() \u003d\u003d null \u0026\u0026 actual.getTeam().isEmpty()) {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" expected.setTeam(\"\");"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":" if (expected.getComments() \u003d\u003d null \u0026\u0026 actual.getComments().isEmpty()) {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" expected.setComments(\"\");"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" // pretend keys match because the key is generated only before storing into database"},{"lineNumber":221,"author":{"gitId":"-"},"content":" if (actual.getKey() !\u003d null) {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" expected.setKey(actual.getKey());"},{"lineNumber":223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(DeadlineExtensionAttributes expected, DeadlineExtensionAttributes actual) {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":228,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":229,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":230,"author":{"gitId":"-"},"content":" }"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" private void equalizeIrrelevantData(NotificationAttributes expected, NotificationAttributes actual) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" // Ignore time field as it is stamped at the time of creation in testing"},{"lineNumber":234,"author":{"gitId":"-"},"content":" expected.setCreatedAt(actual.getCreatedAt());"},{"lineNumber":235,"author":{"gitId":"-"},"content":" expected.setUpdatedAt(actual.getUpdatedAt());"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" protected abstract CourseAttributes getCourse(CourseAttributes course);"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" protected abstract FeedbackQuestionAttributes getFeedbackQuestion(FeedbackQuestionAttributes fq);"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":" protected abstract FeedbackResponseCommentAttributes getFeedbackResponseComment(FeedbackResponseCommentAttributes frc);"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" protected abstract FeedbackResponseAttributes getFeedbackResponse(FeedbackResponseAttributes fr);"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" protected abstract FeedbackSessionAttributes getFeedbackSession(FeedbackSessionAttributes fs);"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" protected abstract InstructorAttributes getInstructor(InstructorAttributes instructor);"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" protected abstract StudentAttributes getStudent(StudentAttributes student);"},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":" protected abstract AccountRequestAttributes getAccountRequest(AccountRequestAttributes accountRequest);"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" protected abstract DeadlineExtensionAttributes getDeadlineExtension(DeadlineExtensionAttributes accountRequest);"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":" protected abstract NotificationAttributes getNotification(NotificationAttributes notification);"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":" protected void removeAndRestoreDataBundle(DataBundle testData) {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" int retryLimit \u003d OPERATION_RETRY_COUNT;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" boolean isOperationSuccess \u003d doRemoveAndRestoreDataBundle(testData);"},{"lineNumber":261,"author":{"gitId":"-"},"content":" while (!isOperationSuccess \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":263,"author":{"gitId":"-"},"content":" print(\"Re-trying removeAndRestoreDataBundle\");"},{"lineNumber":264,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(OPERATION_RETRY_DELAY_IN_MS);"},{"lineNumber":265,"author":{"gitId":"-"},"content":" isOperationSuccess \u003d doRemoveAndRestoreDataBundle(testData);"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":" assertTrue(isOperationSuccess);"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" protected abstract boolean doRemoveAndRestoreDataBundle(DataBundle testData);"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" protected SqlDataBundle removeAndRestoreSqlDataBundle(SqlDataBundle testData) {"},{"lineNumber":273,"author":{"gitId":"-"},"content":" int retryLimit \u003d OPERATION_RETRY_COUNT;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" SqlDataBundle dataBundle \u003d doRemoveAndRestoreSqlDataBundle(testData);"},{"lineNumber":275,"author":{"gitId":"-"},"content":" while (dataBundle \u003d\u003d null \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":277,"author":{"gitId":"-"},"content":" print(\"Re-trying removeAndRestoreDataBundle\");"},{"lineNumber":278,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(OPERATION_RETRY_DELAY_IN_MS);"},{"lineNumber":279,"author":{"gitId":"-"},"content":" dataBundle \u003d doRemoveAndRestoreSqlDataBundle(testData);"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":" assertNotNull(dataBundle);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" return dataBundle;"},{"lineNumber":283,"author":{"gitId":"-"},"content":" }"},{"lineNumber":284,"author":{"gitId":"-"},"content":""},{"lineNumber":285,"author":{"gitId":"-"},"content":" protected abstract SqlDataBundle doRemoveAndRestoreSqlDataBundle(SqlDataBundle testData);"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" protected void putDocuments(DataBundle testData) {"},{"lineNumber":288,"author":{"gitId":"-"},"content":" int retryLimit \u003d OPERATION_RETRY_COUNT;"},{"lineNumber":289,"author":{"gitId":"-"},"content":" boolean isOperationSuccess \u003d doPutDocuments(testData);"},{"lineNumber":290,"author":{"gitId":"-"},"content":" while (!isOperationSuccess \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":292,"author":{"gitId":"-"},"content":" print(\"Re-trying putDocuments\");"},{"lineNumber":293,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(OPERATION_RETRY_DELAY_IN_MS);"},{"lineNumber":294,"author":{"gitId":"-"},"content":" isOperationSuccess \u003d doPutDocuments(testData);"},{"lineNumber":295,"author":{"gitId":"-"},"content":" }"},{"lineNumber":296,"author":{"gitId":"-"},"content":" assertTrue(isOperationSuccess);"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" protected abstract boolean doPutDocuments(DataBundle testData);"},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"domoberzin"},"content":" protected void putSqlDocuments(SqlDataBundle testData) {"},{"lineNumber":302,"author":{"gitId":"domoberzin"},"content":" int retryLimit \u003d OPERATION_RETRY_COUNT;"},{"lineNumber":303,"author":{"gitId":"domoberzin"},"content":" boolean isOperationSuccess \u003d doPutDocumentsSql(testData);"},{"lineNumber":304,"author":{"gitId":"domoberzin"},"content":" while (!isOperationSuccess \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":305,"author":{"gitId":"domoberzin"},"content":" retryLimit--;"},{"lineNumber":306,"author":{"gitId":"domoberzin"},"content":" print(\"Re-trying putSqlDocuments\");"},{"lineNumber":307,"author":{"gitId":"domoberzin"},"content":" ThreadHelper.waitFor(OPERATION_RETRY_DELAY_IN_MS);"},{"lineNumber":308,"author":{"gitId":"domoberzin"},"content":" isOperationSuccess \u003d doPutDocumentsSql(testData);"},{"lineNumber":309,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":310,"author":{"gitId":"domoberzin"},"content":" assertTrue(isOperationSuccess);"},{"lineNumber":311,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":312,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":313,"author":{"gitId":"domoberzin"},"content":" protected abstract boolean doPutDocumentsSql(SqlDataBundle testData);"},{"lineNumber":314,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":13,"-":301}},{"path":"src/test/java/teammates/test/BaseTestCaseWithLocalDatabaseAccess.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.test;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.testcontainers.containers.PostgreSQLContainer;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterClass;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterMethod;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.AfterSuite;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeClass;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeMethod;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.testng.annotations.BeforeSuite;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import com.google.cloud.datastore.DatastoreOptions;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import com.google.cloud.datastore.testing.LocalDatastoreHelper;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import com.googlecode.objectify.ObjectifyFactory;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import com.googlecode.objectify.ObjectifyService;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import com.googlecode.objectify.util.Closeable;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.DataBundle;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountAttributes;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.AccountRequestAttributes;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.DeadlineExtensionAttributes;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackQuestionAttributes;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseAttributes;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackResponseCommentAttributes;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.NotificationAttributes;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.common.util.HibernateUtil;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import teammates.logic.api.LogicExtension;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import teammates.logic.core.LogicStarter;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import teammates.sqllogic.api.Logic;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import teammates.storage.api.OfyHelper;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import teammates.storage.search.AccountRequestSearchManager;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import teammates.storage.search.InstructorSearchManager;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import teammates.storage.search.SearchManagerFactory;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import teammates.storage.search.StudentSearchManager;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Base class for all tests which require access to a locally run database."},{"lineNumber":44,"author":{"gitId":"-"},"content":" *"},{"lineNumber":45,"author":{"gitId":"-"},"content":" * \u003cp\u003eAs all tests are run against a single DB instance and we use shared test data for most tests,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" * the tests need to be run in a single thread to prevent test data contamination across different tests."},{"lineNumber":47,"author":{"gitId":"-"},"content":" */"},{"lineNumber":48,"author":{"gitId":"-"},"content":"@Test(singleThreaded \u003d true)"},{"lineNumber":49,"author":{"gitId":"-"},"content":"public abstract class BaseTestCaseWithLocalDatabaseAccess extends BaseTestCaseWithDatabaseAccess {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final PostgreSQLContainer\u003c?\u003e PGSQL \u003d new PostgreSQLContainer\u003c\u003e(\"postgres:15.1-alpine\");"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final LocalDatastoreHelper LOCAL_DATASTORE_HELPER \u003d LocalDatastoreHelper.newBuilder()"},{"lineNumber":53,"author":{"gitId":"-"},"content":" .setConsistency(1.0)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .setPort(TestProperties.TEST_LOCALDATASTORE_PORT)"},{"lineNumber":55,"author":{"gitId":"-"},"content":" .setStoreOnDisk(false)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":57,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":58,"author":{"gitId":"-"},"content":" * sqlLogic for use in test cases."},{"lineNumber":59,"author":{"gitId":"-"},"content":" */"},{"lineNumber":60,"author":{"gitId":"-"},"content":" protected Logic sqlLogic;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" private final LogicExtension logic \u003d new LogicExtension();"},{"lineNumber":62,"author":{"gitId":"-"},"content":" private Closeable closeable;"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" @BeforeSuite"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public void setupDbLayer() throws Exception {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" PGSQL.start();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" HibernateUtil.buildSessionFactory(PGSQL.getJdbcUrl(), PGSQL.getUsername(), PGSQL.getPassword());"},{"lineNumber":68,"author":{"gitId":"-"},"content":" teammates.sqllogic.core.LogicStarter.initializeDependencies();"},{"lineNumber":69,"author":{"gitId":"-"},"content":" sqlLogic \u003d Logic.inst();"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" LOCAL_DATASTORE_HELPER.start();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" DatastoreOptions options \u003d LOCAL_DATASTORE_HELPER.getOptions();"},{"lineNumber":73,"author":{"gitId":"-"},"content":" ObjectifyService.init(new ObjectifyFactory("},{"lineNumber":74,"author":{"gitId":"-"},"content":" options.getService()"},{"lineNumber":75,"author":{"gitId":"-"},"content":" ));"},{"lineNumber":76,"author":{"gitId":"-"},"content":" OfyHelper.registerEntityClasses();"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" SearchManagerFactory.registerAccountRequestSearchManager("},{"lineNumber":79,"author":{"gitId":"-"},"content":" new AccountRequestSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":80,"author":{"gitId":"-"},"content":" SearchManagerFactory.registerInstructorSearchManager("},{"lineNumber":81,"author":{"gitId":"-"},"content":" new InstructorSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":82,"author":{"gitId":"-"},"content":" SearchManagerFactory.registerStudentSearchManager("},{"lineNumber":83,"author":{"gitId":"-"},"content":" new StudentSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" teammates.storage.sqlsearch.SearchManagerFactory.registerAccountRequestSearchManager("},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":" new teammates.storage.sqlsearch.AccountRequestSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" teammates.storage.sqlsearch.SearchManagerFactory.registerInstructorSearchManager("},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" new teammates.storage.sqlsearch.InstructorSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" teammates.storage.sqlsearch.SearchManagerFactory.registerStudentSearchManager("},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" new teammates.storage.sqlsearch.StudentSearchManager(TestProperties.SEARCH_SERVICE_HOST, true));"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" LogicStarter.initializeDependencies();"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" @BeforeClass"},{"lineNumber":96,"author":{"gitId":"-"},"content":" public void setupObjectify() {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" closeable \u003d ObjectifyService.begin();"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":101,"author":{"gitId":"-"},"content":" public void tearDownObjectify() {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" closeable.close();"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" @AfterClass"},{"lineNumber":106,"author":{"gitId":"-"},"content":" public void resetDbLayer() throws Exception {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" SearchManagerFactory.getAccountRequestSearchManager().resetCollections();"},{"lineNumber":108,"author":{"gitId":"-"},"content":" SearchManagerFactory.getInstructorSearchManager().resetCollections();"},{"lineNumber":109,"author":{"gitId":"-"},"content":" SearchManagerFactory.getStudentSearchManager().resetCollections();"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" LOCAL_DATASTORE_HELPER.reset();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" @AfterSuite"},{"lineNumber":115,"author":{"gitId":"-"},"content":" public void tearDownLocalDatastoreHelper() throws Exception {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" PGSQL.close();"},{"lineNumber":117,"author":{"gitId":"-"},"content":" LOCAL_DATASTORE_HELPER.stop();"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" @BeforeMethod"},{"lineNumber":121,"author":{"gitId":"-"},"content":" protected void setUp() throws Exception {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" HibernateUtil.beginTransaction();"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" @AfterMethod"},{"lineNumber":126,"author":{"gitId":"-"},"content":" protected void tearDown() {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" HibernateUtil.rollbackTransaction();"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":131,"author":{"gitId":"-"},"content":" protected AccountAttributes getAccount(AccountAttributes account) {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" return logic.getAccount(account.getGoogleId());"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":136,"author":{"gitId":"-"},"content":" protected CourseAttributes getCourse(CourseAttributes course) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" return logic.getCourse(course.getId());"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":141,"author":{"gitId":"-"},"content":" protected FeedbackQuestionAttributes getFeedbackQuestion(FeedbackQuestionAttributes fq) {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" return logic.getFeedbackQuestion(fq.getFeedbackSessionName(), fq.getCourseId(), fq.getQuestionNumber());"},{"lineNumber":143,"author":{"gitId":"-"},"content":" }"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":146,"author":{"gitId":"-"},"content":" protected FeedbackResponseCommentAttributes getFeedbackResponseComment(FeedbackResponseCommentAttributes frc) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" return logic.getFeedbackResponseComment(frc.getFeedbackResponseId(), frc.getCommentGiver(), frc.getCreatedAt());"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":151,"author":{"gitId":"-"},"content":" protected FeedbackResponseAttributes getFeedbackResponse(FeedbackResponseAttributes fr) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" return logic.getFeedbackResponse(fr.getFeedbackQuestionId(), fr.getGiver(), fr.getRecipient());"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":156,"author":{"gitId":"-"},"content":" protected FeedbackSessionAttributes getFeedbackSession(FeedbackSessionAttributes fs) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" return logic.getFeedbackSession(fs.getFeedbackSessionName(), fs.getCourseId());"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":161,"author":{"gitId":"-"},"content":" protected InstructorAttributes getInstructor(InstructorAttributes instructor) {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" return instructor.getGoogleId() \u003d\u003d null"},{"lineNumber":163,"author":{"gitId":"-"},"content":" ? logic.getInstructorForEmail(instructor.getCourseId(), instructor.getEmail())"},{"lineNumber":164,"author":{"gitId":"-"},"content":" : logic.getInstructorForGoogleId(instructor.getCourseId(), instructor.getGoogleId());"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":168,"author":{"gitId":"-"},"content":" protected StudentAttributes getStudent(StudentAttributes student) {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" return logic.getStudentForEmail(student.getCourse(), student.getEmail());"},{"lineNumber":170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":173,"author":{"gitId":"-"},"content":" protected AccountRequestAttributes getAccountRequest(AccountRequestAttributes accountRequest) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" return logic.getAccountRequest(accountRequest.getEmail(), accountRequest.getInstitute());"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":178,"author":{"gitId":"-"},"content":" protected DeadlineExtensionAttributes getDeadlineExtension(DeadlineExtensionAttributes deadlineExtension) {"},{"lineNumber":179,"author":{"gitId":"-"},"content":" return logic.getDeadlineExtension("},{"lineNumber":180,"author":{"gitId":"-"},"content":" deadlineExtension.getCourseId(), deadlineExtension.getFeedbackSessionName(),"},{"lineNumber":181,"author":{"gitId":"-"},"content":" deadlineExtension.getUserEmail(), deadlineExtension.getIsInstructor());"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":185,"author":{"gitId":"-"},"content":" protected NotificationAttributes getNotification(NotificationAttributes notification) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" return logic.getNotification(notification.getNotificationId());"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" protected void removeAndRestoreTypicalDataBundle() {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" DataBundle dataBundle \u003d getTypicalDataBundle();"},{"lineNumber":191,"author":{"gitId":"-"},"content":" removeAndRestoreDataBundle(dataBundle);"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":195,"author":{"gitId":"-"},"content":" protected boolean doRemoveAndRestoreDataBundle(DataBundle dataBundle) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" logic.removeDataBundle(dataBundle);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" logic.persistDataBundle(dataBundle);"},{"lineNumber":199,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" e.printStackTrace();"},{"lineNumber":202,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":207,"author":{"gitId":"-"},"content":" protected SqlDataBundle doRemoveAndRestoreSqlDataBundle(SqlDataBundle dataBundle) {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" sqlLogic.removeDataBundle(dataBundle);"},{"lineNumber":210,"author":{"gitId":"-"},"content":" return sqlLogic.persistDataBundle(dataBundle);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" e.printStackTrace();"},{"lineNumber":213,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":218,"author":{"gitId":"-"},"content":" protected boolean doPutDocuments(DataBundle dataBundle) {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" logic.putDocuments(dataBundle);"},{"lineNumber":221,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":222,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" e.printStackTrace();"},{"lineNumber":224,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":" }"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"domoberzin"},"content":" @Override"},{"lineNumber":229,"author":{"gitId":"domoberzin"},"content":" protected boolean doPutDocumentsSql(SqlDataBundle dataBundle) {"},{"lineNumber":230,"author":{"gitId":"domoberzin"},"content":" try {"},{"lineNumber":231,"author":{"gitId":"domoberzin"},"content":" sqlLogic.putDocuments(dataBundle);"},{"lineNumber":232,"author":{"gitId":"domoberzin"},"content":" return true;"},{"lineNumber":233,"author":{"gitId":"domoberzin"},"content":" } catch (Exception e) {"},{"lineNumber":234,"author":{"gitId":"domoberzin"},"content":" e.printStackTrace();"},{"lineNumber":235,"author":{"gitId":"domoberzin"},"content":" return false;"},{"lineNumber":236,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":237,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":238,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" protected Account getAccountFromDatabase(String googleId) {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" return sqlLogic.getAccountForGoogleId(googleId);"},{"lineNumber":241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" protected void clearObjectifyCache() {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" ObjectifyService.ofy().clear();"},{"lineNumber":245,"author":{"gitId":"-"},"content":" }"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":18,"-":229}},{"path":"src/test/java/teammates/test/BaseTestCaseWithSqlDatabaseAccess.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.test;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.SqlDataBundle;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackQuestionDetails;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.questions.FeedbackResponseDetails;"},{"lineNumber":6,"author":{"gitId":"dishenggg"},"content":"import teammates.common.util.Const;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Account;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.BaseEntity;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Course;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.DeadlineExtension;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackQuestion;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponse;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackResponseComment;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.FeedbackSession;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Instructor;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Notification;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.Student;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import teammates.storage.sqlentity.UsageStatistics;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import teammates.ui.output.AccountData;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import teammates.ui.output.ApiOutput;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import teammates.ui.output.CourseData;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import teammates.ui.output.DeadlineExtensionData;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackQuestionData;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackResponseCommentData;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackResponseData;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionData;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import teammates.ui.output.InstructorData;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import teammates.ui.output.NotificationData;"},{"lineNumber":29,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.output.NumberOfEntitiesToGiveFeedbackToSetting;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import teammates.ui.output.StudentData;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import teammates.ui.output.UsageStatisticsData;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":34,"author":{"gitId":"-"},"content":" * Base class for all test cases which are allowed to access the database."},{"lineNumber":35,"author":{"gitId":"-"},"content":" */"},{"lineNumber":36,"author":{"gitId":"-"},"content":"public abstract class BaseTestCaseWithSqlDatabaseAccess extends BaseTestCase {"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final int VERIFICATION_RETRY_COUNT \u003d 5;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final int VERIFICATION_RETRY_DELAY_IN_MS \u003d 1000;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final int OPERATION_RETRY_COUNT \u003d 5;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final int OPERATION_RETRY_DELAY_IN_MS \u003d 1000;"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":44,"author":{"gitId":"-"},"content":" * Removes and restores the databundle, with retries."},{"lineNumber":45,"author":{"gitId":"-"},"content":" */"},{"lineNumber":46,"author":{"gitId":"-"},"content":" protected SqlDataBundle removeAndRestoreDataBundle(SqlDataBundle testData) {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" int retryLimit \u003d OPERATION_RETRY_COUNT;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" SqlDataBundle dataBundle \u003d doRemoveAndRestoreDataBundle(testData);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" while (dataBundle \u003d\u003d null \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" print(\"Re-trying removeAndRestoreDataBundle\");"},{"lineNumber":52,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(OPERATION_RETRY_DELAY_IN_MS);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" dataBundle \u003d doRemoveAndRestoreDataBundle(testData);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":" assertNotNull(dataBundle);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" return dataBundle;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" protected abstract SqlDataBundle doRemoveAndRestoreDataBundle(SqlDataBundle testData);"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Verifies that two entities are equal."},{"lineNumber":63,"author":{"gitId":"-"},"content":" */"},{"lineNumber":64,"author":{"gitId":"-"},"content":" protected void verifyEquals(BaseEntity expected, ApiOutput actual) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (expected instanceof FeedbackQuestion) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" FeedbackQuestion expectedQuestion \u003d (FeedbackQuestion) expected;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails expectedQuestionDetails \u003d expectedQuestion.getQuestionDetailsCopy();"},{"lineNumber":68,"author":{"gitId":"-"},"content":" FeedbackQuestionData actualQuestion \u003d (FeedbackQuestionData) actual;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" FeedbackQuestionDetails actualQuestionDetails \u003d actualQuestion.getQuestionDetails();"},{"lineNumber":70,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestion.getQuestionNumber(), (Integer) actualQuestion.getQuestionNumber());"},{"lineNumber":71,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestion.getDescription(), actualQuestion.getQuestionDescription());"},{"lineNumber":72,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestion.getGiverType(), actualQuestion.getGiverType());"},{"lineNumber":73,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestion.getRecipientType(), actualQuestion.getRecipientType());"},{"lineNumber":74,"author":{"gitId":"dishenggg"},"content":" if (expectedQuestion.getNumOfEntitiesToGiveFeedbackTo() \u003d\u003d Const.MAX_POSSIBLE_RECIPIENTS) {"},{"lineNumber":75,"author":{"gitId":"dishenggg"},"content":" assertEquals(actualQuestion.getNumberOfEntitiesToGiveFeedbackToSetting(),"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" NumberOfEntitiesToGiveFeedbackToSetting.UNLIMITED);"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" assertNull(actualQuestion.getCustomNumberOfEntitiesToGiveFeedbackTo());"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":79,"author":{"gitId":"dishenggg"},"content":" assertEquals(actualQuestion.getNumberOfEntitiesToGiveFeedbackToSetting(),"},{"lineNumber":80,"author":{"gitId":"dishenggg"},"content":" NumberOfEntitiesToGiveFeedbackToSetting.CUSTOM);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestion.getNumOfEntitiesToGiveFeedbackTo(),"},{"lineNumber":82,"author":{"gitId":"-"},"content":" actualQuestion.getCustomNumberOfEntitiesToGiveFeedbackTo());"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":" assertEquals(expectedQuestionDetails.getJsonString(), actualQuestionDetails.getJsonString());"},{"lineNumber":85,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponse) {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" FeedbackResponse expectedFeedbackResponse \u003d (FeedbackResponse) expected;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" FeedbackResponseDetails expectedResponseDetails \u003d"},{"lineNumber":88,"author":{"gitId":"-"},"content":" expectedFeedbackResponse.getFeedbackResponseDetailsCopy();"},{"lineNumber":89,"author":{"gitId":"-"},"content":" FeedbackResponseData actualResponse \u003d (FeedbackResponseData) actual;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" FeedbackResponseDetails actualResponseDetails \u003d actualResponse.getResponseDetails();"},{"lineNumber":91,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackResponse.getGiver(), actualResponse.getGiverIdentifier());"},{"lineNumber":92,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackResponse.getRecipient(), actualResponse.getRecipientIdentifier());"},{"lineNumber":93,"author":{"gitId":"-"},"content":" assertEquals(expectedResponseDetails.getAnswerString(),"},{"lineNumber":94,"author":{"gitId":"-"},"content":" actualResponse.getResponseDetails().getAnswerString());"},{"lineNumber":95,"author":{"gitId":"-"},"content":" assertEquals(expectedResponseDetails.getQuestionType(),"},{"lineNumber":96,"author":{"gitId":"-"},"content":" actualResponse.getResponseDetails().getQuestionType());"},{"lineNumber":97,"author":{"gitId":"-"},"content":" assertEquals(expectedResponseDetails.getJsonString(), actualResponseDetails.getJsonString());"},{"lineNumber":98,"author":{"gitId":"-"},"content":" } else if (expected instanceof Account) {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" Account expectedAccount \u003d (Account) expected;"},{"lineNumber":100,"author":{"gitId":"-"},"content":" AccountData actualAccount \u003d (AccountData) actual;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" assertEquals(expectedAccount.getGoogleId(), actualAccount.getGoogleId());"},{"lineNumber":102,"author":{"gitId":"-"},"content":" assertEquals(expectedAccount.getName(), actualAccount.getName());"},{"lineNumber":103,"author":{"gitId":"-"},"content":" assertEquals(expectedAccount.getEmail(), actualAccount.getEmail());"},{"lineNumber":104,"author":{"gitId":"-"},"content":" } else if (expected instanceof Course) {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" Course expectedCourse \u003d (Course) expected;"},{"lineNumber":106,"author":{"gitId":"-"},"content":" CourseData actualCourse \u003d (CourseData) actual;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" assertEquals(expectedCourse.getName(), actualCourse.getCourseName());"},{"lineNumber":108,"author":{"gitId":"-"},"content":" assertEquals(expectedCourse.getTimeZone(), actualCourse.getTimeZone());"},{"lineNumber":109,"author":{"gitId":"-"},"content":" assertEquals(expectedCourse.getInstitute(), actualCourse.getInstitute());"},{"lineNumber":110,"author":{"gitId":"-"},"content":" } else if (expected instanceof DeadlineExtension) {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" DeadlineExtension expectedDeadlineExtension \u003d (DeadlineExtension) expected;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" DeadlineExtensionData actualDeadlineExtension \u003d (DeadlineExtensionData) actual;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" assertEquals(expectedDeadlineExtension.getEndTime().toEpochMilli(), actualDeadlineExtension.getEndTime());"},{"lineNumber":114,"author":{"gitId":"-"},"content":" assertEquals(expectedDeadlineExtension.isClosingSoonEmailSent(),"},{"lineNumber":115,"author":{"gitId":"-"},"content":" actualDeadlineExtension.getSentClosingEmail());"},{"lineNumber":116,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackResponseComment) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" FeedbackResponseComment expectedFeedbackResponseComment \u003d (FeedbackResponseComment) expected;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" FeedbackResponseCommentData actualComment \u003d (FeedbackResponseCommentData) actual;"},{"lineNumber":119,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackResponseComment.getGiver(), actualComment.getCommentGiver());"},{"lineNumber":120,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackResponseComment.getCommentText(), actualComment.getCommentText());"},{"lineNumber":121,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackResponseComment.getIsVisibilityFollowingFeedbackQuestion(),"},{"lineNumber":122,"author":{"gitId":"-"},"content":" actualComment.isVisibilityFollowingFeedbackQuestion());"},{"lineNumber":123,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackResponseComment.getLastEditorEmail(), actualComment.getLastEditorEmail());"},{"lineNumber":124,"author":{"gitId":"-"},"content":" } else if (expected instanceof FeedbackSession) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" FeedbackSession expectedFeedbackSession \u003d (FeedbackSession) expected;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" FeedbackSessionData actualFeedbackSession \u003d (FeedbackSessionData) actual;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.getName(), actualFeedbackSession.getFeedbackSessionName());"},{"lineNumber":128,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.getInstructions(), actualFeedbackSession.getInstructions());"},{"lineNumber":129,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.getStartTime().toEpochMilli(),"},{"lineNumber":130,"author":{"gitId":"-"},"content":" actualFeedbackSession.getSubmissionStartTimestamp());"},{"lineNumber":131,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.getEndTime().toEpochMilli(),"},{"lineNumber":132,"author":{"gitId":"-"},"content":" actualFeedbackSession.getSubmissionEndTimestamp());"},{"lineNumber":133,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.getSessionVisibleFromTime().toEpochMilli(),"},{"lineNumber":134,"author":{"gitId":"-"},"content":" actualFeedbackSession.getSessionVisibleFromTimestamp().longValue());"},{"lineNumber":135,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.getResultsVisibleFromTime().toEpochMilli(),"},{"lineNumber":136,"author":{"gitId":"-"},"content":" actualFeedbackSession.getResultVisibleFromTimestamp().longValue());"},{"lineNumber":137,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.getGracePeriod().toMinutes(),"},{"lineNumber":138,"author":{"gitId":"-"},"content":" actualFeedbackSession.getGracePeriod().longValue());"},{"lineNumber":139,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.isClosingEmailEnabled(),"},{"lineNumber":140,"author":{"gitId":"-"},"content":" actualFeedbackSession.getIsClosingEmailEnabled());"},{"lineNumber":141,"author":{"gitId":"-"},"content":" assertEquals(expectedFeedbackSession.isPublishedEmailEnabled(),"},{"lineNumber":142,"author":{"gitId":"-"},"content":" actualFeedbackSession.getIsPublishedEmailEnabled());"},{"lineNumber":143,"author":{"gitId":"-"},"content":" } else if (expected instanceof Instructor) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" Instructor expectedInstructor \u003d (Instructor) expected;"},{"lineNumber":145,"author":{"gitId":"-"},"content":" InstructorData actualInstructor \u003d (InstructorData) actual;"},{"lineNumber":146,"author":{"gitId":"-"},"content":" assertEquals(expectedInstructor.getCourseId(), actualInstructor.getCourseId());"},{"lineNumber":147,"author":{"gitId":"-"},"content":" assertEquals(expectedInstructor.getName(), actualInstructor.getName());"},{"lineNumber":148,"author":{"gitId":"-"},"content":" assertEquals(expectedInstructor.getEmail(), actualInstructor.getEmail());"},{"lineNumber":149,"author":{"gitId":"-"},"content":" assertEquals(expectedInstructor.getRegKey(), actualInstructor.getKey());"},{"lineNumber":150,"author":{"gitId":"-"},"content":" assertEquals(expectedInstructor.isDisplayedToStudents(), actualInstructor.getIsDisplayedToStudents());"},{"lineNumber":151,"author":{"gitId":"-"},"content":" assertEquals(expectedInstructor.getDisplayName(), actualInstructor.getDisplayedToStudentsAs());"},{"lineNumber":152,"author":{"gitId":"-"},"content":" assertEquals(expectedInstructor.getRole(), actualInstructor.getRole());"},{"lineNumber":153,"author":{"gitId":"-"},"content":" } else if (expected instanceof Notification) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" Notification expectedNotification \u003d (Notification) expected;"},{"lineNumber":155,"author":{"gitId":"-"},"content":" NotificationData actualNotification \u003d (NotificationData) actual;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" assertEquals(expectedNotification.getStartTime().toEpochMilli(), actualNotification.getStartTimestamp());"},{"lineNumber":157,"author":{"gitId":"-"},"content":" assertEquals(expectedNotification.getEndTime().toEpochMilli(), actualNotification.getEndTimestamp());"},{"lineNumber":158,"author":{"gitId":"-"},"content":" assertEquals(expectedNotification.getStyle(), actualNotification.getStyle());"},{"lineNumber":159,"author":{"gitId":"-"},"content":" assertEquals(expectedNotification.getTargetUser(), actualNotification.getTargetUser());"},{"lineNumber":160,"author":{"gitId":"-"},"content":" assertEquals(expectedNotification.getTitle(), actualNotification.getTitle());"},{"lineNumber":161,"author":{"gitId":"-"},"content":" assertEquals(expectedNotification.getMessage(), actualNotification.getMessage());"},{"lineNumber":162,"author":{"gitId":"-"},"content":" assertEquals(expectedNotification.isShown(), actualNotification.isShown());"},{"lineNumber":163,"author":{"gitId":"-"},"content":" } else if (expected instanceof Student) {"},{"lineNumber":164,"author":{"gitId":"-"},"content":" Student expectedStudent \u003d (Student) expected;"},{"lineNumber":165,"author":{"gitId":"-"},"content":" StudentData actualStudent \u003d (StudentData) actual;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" assertEquals(expectedStudent.getCourseId(), actualStudent.getCourseId());"},{"lineNumber":167,"author":{"gitId":"-"},"content":" assertEquals(expectedStudent.getName(), actualStudent.getName());"},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertEquals(expectedStudent.getEmail(), actualStudent.getEmail());"},{"lineNumber":169,"author":{"gitId":"-"},"content":" assertEquals(expectedStudent.getRegKey(), actualStudent.getKey());"},{"lineNumber":170,"author":{"gitId":"-"},"content":" assertEquals(expectedStudent.getComments(), actualStudent.getComments());"},{"lineNumber":171,"author":{"gitId":"-"},"content":" // TODO: A student might not have a team or section."},{"lineNumber":172,"author":{"gitId":"-"},"content":" // assertEquals(expectedStudent.getTeamName(), actualStudent.getTeamName());"},{"lineNumber":173,"author":{"gitId":"-"},"content":" // assertEquals(expectedStudent.getSectionName(), actualStudent.getSectionName());"},{"lineNumber":174,"author":{"gitId":"-"},"content":" } else if (expected instanceof UsageStatistics) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" UsageStatistics expectedUsageStatistics \u003d (UsageStatistics) expected;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" UsageStatisticsData actualUsageStatistics \u003d (UsageStatisticsData) actual;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getStartTime().toEpochMilli(), actualUsageStatistics.getStartTime());"},{"lineNumber":178,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getTimePeriod(), actualUsageStatistics.getTimePeriod());"},{"lineNumber":179,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getNumResponses(), actualUsageStatistics.getNumResponses());"},{"lineNumber":180,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getNumCourses(), actualUsageStatistics.getNumCourses());"},{"lineNumber":181,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getNumStudents(), actualUsageStatistics.getNumStudents());"},{"lineNumber":182,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getNumInstructors(), actualUsageStatistics.getNumInstructors());"},{"lineNumber":183,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getNumAccountRequests(),"},{"lineNumber":184,"author":{"gitId":"-"},"content":" actualUsageStatistics.getNumAccountRequests());"},{"lineNumber":185,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getNumEmails(), actualUsageStatistics.getNumEmails());"},{"lineNumber":186,"author":{"gitId":"-"},"content":" assertEquals(expectedUsageStatistics.getNumSubmissions(), actualUsageStatistics.getNumSubmissions());"},{"lineNumber":187,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" fail(\"Unknown entity\");"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":193,"author":{"gitId":"-"},"content":" * Verifies that the given entity is present in the database."},{"lineNumber":194,"author":{"gitId":"-"},"content":" */"},{"lineNumber":195,"author":{"gitId":"-"},"content":" protected void verifyPresentInDatabase(BaseEntity expected) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" int retryLimit \u003d VERIFICATION_RETRY_COUNT;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" ApiOutput actual \u003d getEntity(expected);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" while (actual \u003d\u003d null \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(VERIFICATION_RETRY_DELAY_IN_MS);"},{"lineNumber":201,"author":{"gitId":"-"},"content":" actual \u003d getEntity(expected);"},{"lineNumber":202,"author":{"gitId":"-"},"content":" }"},{"lineNumber":203,"author":{"gitId":"-"},"content":" verifyEquals(expected, actual);"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":207,"author":{"gitId":"-"},"content":" * Verifies that the given entity is absent in the database."},{"lineNumber":208,"author":{"gitId":"-"},"content":" */"},{"lineNumber":209,"author":{"gitId":"-"},"content":" protected void verifyAbsentInDatabase(BaseEntity expected) {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" int retryLimit \u003d VERIFICATION_RETRY_COUNT;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" ApiOutput actual \u003d getEntity(expected);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" while (actual !\u003d null \u0026\u0026 retryLimit \u003e 0) {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" retryLimit--;"},{"lineNumber":214,"author":{"gitId":"-"},"content":" ThreadHelper.waitFor(VERIFICATION_RETRY_DELAY_IN_MS);"},{"lineNumber":215,"author":{"gitId":"-"},"content":" actual \u003d getEntity(expected);"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":" assertNull(actual);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" private ApiOutput getEntity(BaseEntity entity) {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" if (entity instanceof Student) {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" return getStudent((Student) entity);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" } else if (entity instanceof FeedbackQuestion) {"},{"lineNumber":224,"author":{"gitId":"-"},"content":" return getFeedbackQuestion((FeedbackQuestion) entity);"},{"lineNumber":225,"author":{"gitId":"-"},"content":" } else if (entity instanceof FeedbackSession) {"},{"lineNumber":226,"author":{"gitId":"-"},"content":" return getFeedbackSession((FeedbackSession) entity);"},{"lineNumber":227,"author":{"gitId":"-"},"content":" } else if (entity instanceof FeedbackResponse) {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" return getFeedbackResponse((FeedbackResponse) entity);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" throw new RuntimeException(\"Unknown entity type\");"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":" }"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" protected abstract FeedbackQuestionData getFeedbackQuestion(FeedbackQuestion fq);"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" protected abstract FeedbackSessionData getFeedbackSession(FeedbackSession fq);"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" protected abstract FeedbackResponseData getFeedbackResponse(FeedbackResponse fq);"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" protected abstract StudentData getStudent(Student student);"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":10,"-":232}},{"path":"src/test/java/teammates/ui/request/AccountRequestRejectionRequestTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"package teammates.ui.request;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import org.testng.annotations.Test;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import teammates.test.BaseTestCase;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"/**"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":" * SUT: {@link AccountRequestRejectionRequest}."},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"public class AccountRequestRejectionRequestTest extends BaseTestCase {"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":" private static final String TYPICAL_TITLE \u003d \"We are Unable to Create an Account for you\";"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":" private static final String TYPICAL_BODY \u003d new StringBuilder()"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":" .append(\"\u003cp\u003eHi, Example\u003c/p\u003e\\n\")"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":" .append(\"\u003cp\u003eThanks for your interest in using TEAMMATES. \")"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":" .append(\"We are unable to create a TEAMMATES instructor account for you.\u003c/p\u003e\\n\\n\")"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" .append(\"\u003cp\u003e\\n\")"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":" .append(\" \u003cstrong\u003eReason:\u003c/strong\u003e The email address you provided \")"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":" .append(\"is not an \u0027official\u0027 email address provided by your institution.\u003cbr /\u003e\\n\")"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" .append(\" \u003cstrong\u003eRemedy:\u003c/strong\u003e \")"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" .append(\"Please re-submit an account request with your \u0027official\u0027 institution email address.\\n\")"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" .append(\"\u003c/p\u003e\\n\\n\")"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" .append(\"\u003cp\u003eIf you need further clarification or would like to appeal this decision, \")"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" .append(\"please feel free to contact us at teammates@comp.nus.edu.sg.\u003c/p\u003e\\n\")"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" .append(\"\u003cp\u003eRegards,\u003cbr /\u003eTEAMMATES Team.\u003c/p\u003e\\n\")"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" .toString();"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" public void testValidate_withNonNullBodyAndNonNullTitle_shouldPass() throws Exception {"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" AccountRequestRejectionRequest request \u003d new AccountRequestRejectionRequest(TYPICAL_TITLE, TYPICAL_BODY);"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" request.validate();"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" public void testValidate_withNullBodyAndNullTitle_shouldPass() throws Exception {"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" AccountRequestRejectionRequest request \u003d new AccountRequestRejectionRequest(null, null);"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" request.validate();"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" public void testValidate_withNonNullBodyAndNullTitle_shouldFail() {"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" AccountRequestRejectionRequest request \u003d new AccountRequestRejectionRequest(null, TYPICAL_BODY);"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" assertThrows(InvalidHttpRequestBodyException.class, request::validate);"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" @Test"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" public void testValidate_withNullBodyAndNonNullTitle_shouldFail() {"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" AccountRequestRejectionRequest request \u003d new AccountRequestRejectionRequest(TYPICAL_TITLE, null);"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" assertThrows(InvalidHttpRequestBodyException.class, request::validate);"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":51}},{"path":"src/test/java/teammates/ui/webapi/CreateFeedbackSessionLogActionTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":10,"author":{"gitId":"dishenggg"},"content":"import teammates.ui.output.MessageOutput;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * SUT: {@link CreateFeedbackSessionLogAction}."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class CreateFeedbackSessionLogActionTest extends BaseActionTest\u003cCreateFeedbackSessionLogAction\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":17,"author":{"gitId":"-"},"content":" protected String getActionUri() {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" return Const.ResourceURIs.SESSION_LOGS;"},{"lineNumber":19,"author":{"gitId":"-"},"content":" }"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":22,"author":{"gitId":"-"},"content":" protected String getRequestMethod() {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" return POST;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"-"},"content":" protected void testExecute() {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" CourseAttributes course1 \u003d typicalBundle.courses.get(\"typicalCourse1\");"},{"lineNumber":30,"author":{"gitId":"-"},"content":" String courseId1 \u003d course1.getId();"},{"lineNumber":31,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes fsa1 \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":32,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes fsa2 \u003d typicalBundle.feedbackSessions.get(\"session2InCourse1\");"},{"lineNumber":33,"author":{"gitId":"-"},"content":" StudentAttributes student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":34,"author":{"gitId":"-"},"content":" StudentAttributes student2 \u003d typicalBundle.students.get(\"student2InCourse1\");"},{"lineNumber":35,"author":{"gitId":"-"},"content":" StudentAttributes student3 \u003d typicalBundle.students.get(\"student1InCourse3\");"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" ______TS(\"Failure case: not enough parameters\");"},{"lineNumber":38,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure(Const.ParamsNames.COURSE_ID, courseId1);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure("},{"lineNumber":40,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":41,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fsa1.getFeedbackSessionName()"},{"lineNumber":42,"author":{"gitId":"-"},"content":" );"},{"lineNumber":43,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure("},{"lineNumber":44,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fsa1.getFeedbackSessionName(),"},{"lineNumber":45,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.SUBMISSION.getLabel(),"},{"lineNumber":46,"author":{"gitId":"-"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail()"},{"lineNumber":47,"author":{"gitId":"-"},"content":" );"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" ______TS(\"Failure case: invalid log type\");"},{"lineNumber":50,"author":{"gitId":"-"},"content":" String[] paramsInvalid \u003d {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fsa1.getFeedbackSessionName(),"},{"lineNumber":53,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, \"invalid log type\","},{"lineNumber":54,"author":{"gitId":"-"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":55,"author":{"gitId":"-"},"content":" };"},{"lineNumber":56,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure(paramsInvalid);"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" ______TS(\"Success case: typical access\");"},{"lineNumber":59,"author":{"gitId":"-"},"content":" String[] paramsSuccessfulAccess \u003d {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fsa1.getFeedbackSessionName(),"},{"lineNumber":62,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.ACCESS.getLabel(),"},{"lineNumber":63,"author":{"gitId":"-"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":64,"author":{"gitId":"-"},"content":" };"},{"lineNumber":65,"author":{"gitId":"dishenggg"},"content":" JsonResult response \u003d getJsonResult(getAction(paramsSuccessfulAccess));"},{"lineNumber":66,"author":{"gitId":"dishenggg"},"content":" MessageOutput output \u003d (MessageOutput) response.getOutput();"},{"lineNumber":67,"author":{"gitId":"dishenggg"},"content":" assertEquals(\"Successful\", output.getMessage());"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" ______TS(\"Success case: typical submission\");"},{"lineNumber":70,"author":{"gitId":"-"},"content":" String[] paramsSuccessfulSubmission \u003d {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":72,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fsa2.getFeedbackSessionName(),"},{"lineNumber":73,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.SUBMISSION.getLabel(),"},{"lineNumber":74,"author":{"gitId":"-"},"content":" Const.ParamsNames.STUDENT_EMAIL, student2.getEmail(),"},{"lineNumber":75,"author":{"gitId":"-"},"content":" };"},{"lineNumber":76,"author":{"gitId":"dishenggg"},"content":" response \u003d getJsonResult(getAction(paramsSuccessfulSubmission));"},{"lineNumber":77,"author":{"gitId":"dishenggg"},"content":" output \u003d (MessageOutput) response.getOutput();"},{"lineNumber":78,"author":{"gitId":"dishenggg"},"content":" assertEquals(\"Successful\", output.getMessage());"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" ______TS(\"Success case: should create even for invalid parameters\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":" String[] paramsNonExistentFsName \u003d {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":83,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, \"non-existent-feedback-session-name\","},{"lineNumber":84,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.SUBMISSION.getLabel(),"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1.getEmail(),"},{"lineNumber":86,"author":{"gitId":"-"},"content":" };"},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" response \u003d getJsonResult(getAction(paramsNonExistentFsName));"},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" output \u003d (MessageOutput) response.getOutput();"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":" assertEquals(\"Successful\", output.getMessage());"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" String[] paramsNonExistentStudentEmail \u003d {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fsa1.getFeedbackSessionName(),"},{"lineNumber":94,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.SUBMISSION.getLabel(),"},{"lineNumber":95,"author":{"gitId":"-"},"content":" Const.ParamsNames.STUDENT_EMAIL, \"non-existent-student@email.com\","},{"lineNumber":96,"author":{"gitId":"-"},"content":" };"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":" response \u003d getJsonResult(getAction(paramsNonExistentStudentEmail));"},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" output \u003d (MessageOutput) response.getOutput();"},{"lineNumber":99,"author":{"gitId":"dishenggg"},"content":" assertEquals(\"Successful\", output.getMessage());"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" ______TS(\"Success case: should create even when student cannot access feedback session in course\");"},{"lineNumber":102,"author":{"gitId":"-"},"content":" String[] paramsWithoutAccess \u003d {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId1,"},{"lineNumber":104,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_NAME, fsa1.getFeedbackSessionName(),"},{"lineNumber":105,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_TYPE, FeedbackSessionLogType.SUBMISSION.getLabel(),"},{"lineNumber":106,"author":{"gitId":"-"},"content":" Const.ParamsNames.STUDENT_EMAIL, student3.getEmail(),"},{"lineNumber":107,"author":{"gitId":"-"},"content":" };"},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":" response \u003d getJsonResult(getAction(paramsWithoutAccess));"},{"lineNumber":109,"author":{"gitId":"dishenggg"},"content":" output \u003d (MessageOutput) response.getOutput();"},{"lineNumber":110,"author":{"gitId":"dishenggg"},"content":" assertEquals(\"Successful\", output.getMessage());"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":114,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":115,"author":{"gitId":"-"},"content":" protected void testAccessControl() {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" verifyAnyUserCanAccess();"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":16,"-":102}},{"path":"src/test/java/teammates/ui/webapi/GetActionClassesActionTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.ui.output.ActionClasses;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * SUT: {@link GetActionClassesAction}."},{"lineNumber":15,"author":{"gitId":"-"},"content":" */"},{"lineNumber":16,"author":{"gitId":"-"},"content":"public class GetActionClassesActionTest extends BaseActionTest\u003cGetActionClassesAction\u003e {"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":19,"author":{"gitId":"-"},"content":" protected String getActionUri() {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" return Const.ResourceURIs.ACTION_CLASS;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" }"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":24,"author":{"gitId":"-"},"content":" protected String getRequestMethod() {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" return GET;"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":29,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":30,"author":{"gitId":"-"},"content":" protected void testExecute() {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" List\u003cClass\u003c? extends Action\u003e\u003e expectedActionClasses \u003d Arrays.asList("},{"lineNumber":32,"author":{"gitId":"-"},"content":" DeleteFeedbackResponseCommentAction.class,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" CreateFeedbackResponseCommentAction.class,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" GetFeedbackResponseCommentAction.class,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" UpdateFeedbackResponseCommentAction.class,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" RestoreFeedbackSessionAction.class,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" BinFeedbackSessionAction.class,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" GetCoursesAction.class,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" GetRegkeyValidityAction.class,"},{"lineNumber":40,"author":{"gitId":"-"},"content":" PutDataBundleAction.class,"},{"lineNumber":41,"author":{"gitId":"-"},"content":" DeleteDataBundleAction.class,"},{"lineNumber":42,"author":{"gitId":"-"},"content":" CreateFeedbackSessionLogAction.class,"},{"lineNumber":43,"author":{"gitId":"-"},"content":" GetFeedbackSessionLogsAction.class,"},{"lineNumber":44,"author":{"gitId":"-"},"content":" GetInstructorPrivilegeAction.class,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" UpdateInstructorPrivilegeAction.class,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" GetFeedbackSessionsAction.class,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" GenerateEmailAction.class,"},{"lineNumber":48,"author":{"gitId":"-"},"content":" GetFeedbackQuestionsAction.class,"},{"lineNumber":49,"author":{"gitId":"-"},"content":" GetOngoingSessionsAction.class,"},{"lineNumber":50,"author":{"gitId":"-"},"content":" AdminExceptionTestAction.class,"},{"lineNumber":51,"author":{"gitId":"-"},"content":" GetUserCookieAction.class,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" RemindFeedbackSessionResultAction.class,"},{"lineNumber":53,"author":{"gitId":"-"},"content":" DeleteInstructorAction.class,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" CreateInstructorAction.class,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" GetInstructorAction.class,"},{"lineNumber":56,"author":{"gitId":"-"},"content":" UpdateInstructorAction.class,"},{"lineNumber":57,"author":{"gitId":"-"},"content":" ArchiveCourseAction.class,"},{"lineNumber":58,"author":{"gitId":"-"},"content":" InstructorCourseJoinEmailWorkerAction.class,"},{"lineNumber":59,"author":{"gitId":"-"},"content":" DeleteStudentAction.class,"},{"lineNumber":60,"author":{"gitId":"-"},"content":" GetStudentAction.class,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" UpdateStudentAction.class,"},{"lineNumber":62,"author":{"gitId":"-"},"content":" SearchStudentsAction.class,"},{"lineNumber":63,"author":{"gitId":"-"},"content":" FeedbackSessionRemindEmailWorkerAction.class,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" DeleteFeedbackSessionAction.class,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" CreateFeedbackSessionAction.class,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" GetFeedbackSessionAction.class,"},{"lineNumber":67,"author":{"gitId":"-"},"content":" UpdateFeedbackSessionAction.class,"},{"lineNumber":68,"author":{"gitId":"-"},"content":" FeedbackSessionClosingRemindersAction.class,"},{"lineNumber":69,"author":{"gitId":"-"},"content":" GetTimeZonesAction.class,"},{"lineNumber":70,"author":{"gitId":"-"},"content":" FeedbackSessionRemindParticularUsersEmailWorkerAction.class,"},{"lineNumber":71,"author":{"gitId":"-"},"content":" GetFeedbackResponsesAction.class,"},{"lineNumber":72,"author":{"gitId":"-"},"content":" SubmitFeedbackResponsesAction.class,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" FeedbackSessionPublishedEmailWorkerAction.class,"},{"lineNumber":74,"author":{"gitId":"-"},"content":" FeedbackSessionClosedRemindersAction.class,"},{"lineNumber":75,"author":{"gitId":"-"},"content":" SendErrorReportAction.class,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" GetActionClassesAction.class,"},{"lineNumber":77,"author":{"gitId":"-"},"content":" UnpublishFeedbackSessionAction.class,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" PublishFeedbackSessionAction.class,"},{"lineNumber":79,"author":{"gitId":"-"},"content":" GetSessionResultsAction.class,"},{"lineNumber":80,"author":{"gitId":"-"},"content":" GetHasResponsesAction.class,"},{"lineNumber":81,"author":{"gitId":"-"},"content":" DatastoreBackupAction.class,"},{"lineNumber":82,"author":{"gitId":"-"},"content":" RestoreCourseAction.class,"},{"lineNumber":83,"author":{"gitId":"-"},"content":" BinCourseAction.class,"},{"lineNumber":84,"author":{"gitId":"-"},"content":" DeleteAccountAction.class,"},{"lineNumber":85,"author":{"gitId":"-"},"content":" CreateAccountAction.class,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" CreateAccountRequestAction.class,"},{"lineNumber":87,"author":{"gitId":"-"},"content":" GetAccountRequestAction.class,"},{"lineNumber":88,"author":{"gitId":"-"},"content":" DeleteAccountRequestAction.class,"},{"lineNumber":89,"author":{"gitId":"-"},"content":" GetAccountRequestsAction.class,"},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" UpdateAccountRequestAction.class,"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":" RejectAccountRequestAction.class,"},{"lineNumber":92,"author":{"gitId":"-"},"content":" GetAccountAction.class,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" GetAccountsAction.class,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" FeedbackSessionPublishedRemindersAction.class,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" QueryLogsAction.class,"},{"lineNumber":96,"author":{"gitId":"-"},"content":" SessionLinksRecoveryAction.class,"},{"lineNumber":97,"author":{"gitId":"-"},"content":" SendJoinReminderEmailAction.class,"},{"lineNumber":98,"author":{"gitId":"-"},"content":" RegenerateInstructorKeyAction.class,"},{"lineNumber":99,"author":{"gitId":"-"},"content":" RegenerateStudentKeyAction.class,"},{"lineNumber":100,"author":{"gitId":"-"},"content":" CompileLogsAction.class,"},{"lineNumber":101,"author":{"gitId":"-"},"content":" GetAuthInfoAction.class,"},{"lineNumber":102,"author":{"gitId":"-"},"content":" GetFeedbackSessionSubmittedGiverSetAction.class,"},{"lineNumber":103,"author":{"gitId":"-"},"content":" GetCourseJoinStatusAction.class,"},{"lineNumber":104,"author":{"gitId":"-"},"content":" JoinCourseAction.class,"},{"lineNumber":105,"author":{"gitId":"-"},"content":" GetSessionResponseStatsAction.class,"},{"lineNumber":106,"author":{"gitId":"-"},"content":" DeleteCourseAction.class,"},{"lineNumber":107,"author":{"gitId":"-"},"content":" CreateCourseAction.class,"},{"lineNumber":108,"author":{"gitId":"-"},"content":" GetCourseAction.class,"},{"lineNumber":109,"author":{"gitId":"-"},"content":" UpdateCourseAction.class,"},{"lineNumber":110,"author":{"gitId":"-"},"content":" GetFeedbackQuestionRecipientsAction.class,"},{"lineNumber":111,"author":{"gitId":"-"},"content":" RemindFeedbackSessionSubmissionAction.class,"},{"lineNumber":112,"author":{"gitId":"-"},"content":" FeedbackSessionUnpublishedEmailWorkerAction.class,"},{"lineNumber":113,"author":{"gitId":"-"},"content":" SendEmailWorkerAction.class,"},{"lineNumber":114,"author":{"gitId":"-"},"content":" GetInstructorsAction.class,"},{"lineNumber":115,"author":{"gitId":"-"},"content":" PutDataBundleDocumentsAction.class,"},{"lineNumber":116,"author":{"gitId":"-"},"content":" FeedbackSessionResendPublishedEmailWorkerAction.class,"},{"lineNumber":117,"author":{"gitId":"-"},"content":" StudentCourseJoinEmailWorkerAction.class,"},{"lineNumber":118,"author":{"gitId":"-"},"content":" SearchInstructorsAction.class,"},{"lineNumber":119,"author":{"gitId":"-"},"content":" GetCourseSectionNamesAction.class,"},{"lineNumber":120,"author":{"gitId":"-"},"content":" ResetAccountAction.class,"},{"lineNumber":121,"author":{"gitId":"-"},"content":" FeedbackSessionOpeningRemindersAction.class,"},{"lineNumber":122,"author":{"gitId":"-"},"content":" FeedbackSessionOpeningSoonRemindersAction.class,"},{"lineNumber":123,"author":{"gitId":"-"},"content":" DeleteStudentsAction.class,"},{"lineNumber":124,"author":{"gitId":"-"},"content":" GetStudentsAction.class,"},{"lineNumber":125,"author":{"gitId":"-"},"content":" EnrollStudentsAction.class,"},{"lineNumber":126,"author":{"gitId":"-"},"content":" DeleteFeedbackQuestionAction.class,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" CreateFeedbackQuestionAction.class,"},{"lineNumber":128,"author":{"gitId":"-"},"content":" UpdateFeedbackQuestionAction.class,"},{"lineNumber":129,"author":{"gitId":"-"},"content":" InstructorSearchIndexingWorkerAction.class,"},{"lineNumber":130,"author":{"gitId":"-"},"content":" StudentSearchIndexingWorkerAction.class,"},{"lineNumber":131,"author":{"gitId":"-"},"content":" AccountRequestSearchIndexingWorkerAction.class,"},{"lineNumber":132,"author":{"gitId":"-"},"content":" SearchAccountRequestsAction.class,"},{"lineNumber":133,"author":{"gitId":"-"},"content":" ResetAccountRequestAction.class,"},{"lineNumber":134,"author":{"gitId":"-"},"content":" CalculateUsageStatisticsAction.class,"},{"lineNumber":135,"author":{"gitId":"-"},"content":" GetUsageStatisticsAction.class,"},{"lineNumber":136,"author":{"gitId":"-"},"content":" GetNotificationAction.class,"},{"lineNumber":137,"author":{"gitId":"-"},"content":" CreateNotificationAction.class,"},{"lineNumber":138,"author":{"gitId":"-"},"content":" UpdateNotificationAction.class,"},{"lineNumber":139,"author":{"gitId":"-"},"content":" DeleteNotificationAction.class,"},{"lineNumber":140,"author":{"gitId":"-"},"content":" GetNotificationsAction.class,"},{"lineNumber":141,"author":{"gitId":"-"},"content":" MarkNotificationAsReadAction.class,"},{"lineNumber":142,"author":{"gitId":"-"},"content":" GetReadNotificationsAction.class,"},{"lineNumber":143,"author":{"gitId":"-"},"content":" GetDeadlineExtensionAction.class,"},{"lineNumber":144,"author":{"gitId":"-"},"content":" SendLoginEmailAction.class,"},{"lineNumber":145,"author":{"gitId":"-"},"content":" PutSqlDataBundleAction.class,"},{"lineNumber":146,"author":{"gitId":"dishenggg"},"content":" DeleteSqlDataBundleAction.class,"},{"lineNumber":147,"author":{"gitId":"dishenggg"},"content":" UpdateFeedbackSessionLogsAction.class"},{"lineNumber":148,"author":{"gitId":"-"},"content":" );"},{"lineNumber":149,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedActionClassesNames \u003d expectedActionClasses.stream()"},{"lineNumber":150,"author":{"gitId":"-"},"content":" .map(Class::getSimpleName)"},{"lineNumber":151,"author":{"gitId":"-"},"content":" .sorted()"},{"lineNumber":152,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" GetActionClassesAction action \u003d getAction();"},{"lineNumber":155,"author":{"gitId":"-"},"content":" action.execute();"},{"lineNumber":156,"author":{"gitId":"-"},"content":" JsonResult result \u003d getJsonResult(action);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" ActionClasses data \u003d (ActionClasses) result.getOutput();"},{"lineNumber":158,"author":{"gitId":"-"},"content":" List\u003cString\u003e actualActionClasses \u003d data.getActionClasses();"},{"lineNumber":159,"author":{"gitId":"-"},"content":" Collections.sort(actualActionClasses);"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" assertEquals(expectedActionClassesNames, actualActionClasses);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":165,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":166,"author":{"gitId":"-"},"content":" protected void testAccessControl() {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" verifyAccessibleForAdmin();"},{"lineNumber":168,"author":{"gitId":"-"},"content":" verifyAccessibleForMaintainers();"},{"lineNumber":169,"author":{"gitId":"-"},"content":" verifyInaccessibleForStudents();"},{"lineNumber":170,"author":{"gitId":"-"},"content":" verifyInaccessibleForInstructors();"},{"lineNumber":171,"author":{"gitId":"-"},"content":" verifyInaccessibleWithoutLogin();"},{"lineNumber":172,"author":{"gitId":"-"},"content":" verifyInaccessibleForUnregisteredUsers();"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":1,"xenosf":1,"dishenggg":2,"-":171}},{"path":"src/test/java/teammates/ui/webapi/GetFeedbackSessionLogsActionTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package teammates.ui.webapi;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import org.testng.annotations.Test;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.CourseAttributes;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.FeedbackSessionAttributes;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.InstructorAttributes;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.attributes.StudentAttributes;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import teammates.common.datatransfer.logs.FeedbackSessionLogType;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import teammates.common.util.Const;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionLogData;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionLogEntryData;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import teammates.ui.output.FeedbackSessionLogsData;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * SUT: {@link GetFeedbackSessionLogsAction}."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class GetFeedbackSessionLogsActionTest extends BaseActionTest\u003cGetFeedbackSessionLogsAction\u003e {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":23,"author":{"gitId":"-"},"content":" protected String getActionUri() {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" return Const.ResourceURIs.SESSION_LOGS;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"-"},"content":" protected String getRequestMethod() {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" return GET;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":33,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":34,"author":{"gitId":"-"},"content":" protected void testExecute() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" JsonResult actionOutput;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" CourseAttributes course \u003d typicalBundle.courses.get(\"typicalCourse1\");"},{"lineNumber":38,"author":{"gitId":"-"},"content":" String courseId \u003d course.getId();"},{"lineNumber":39,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes fsa1 \u003d typicalBundle.feedbackSessions.get(\"session1InCourse1\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" FeedbackSessionAttributes fsa2 \u003d typicalBundle.feedbackSessions.get(\"session2InCourse1\");"},{"lineNumber":41,"author":{"gitId":"-"},"content":" String fsa1Name \u003d fsa1.getFeedbackSessionName();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" String fsa2Name \u003d fsa2.getFeedbackSessionName();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" StudentAttributes student1 \u003d typicalBundle.students.get(\"student1InCourse1\");"},{"lineNumber":44,"author":{"gitId":"-"},"content":" StudentAttributes student2 \u003d typicalBundle.students.get(\"student2InCourse1\");"},{"lineNumber":45,"author":{"gitId":"-"},"content":" String student1Email \u003d student1.getEmail();"},{"lineNumber":46,"author":{"gitId":"-"},"content":" String student2Email \u003d student2.getEmail();"},{"lineNumber":47,"author":{"gitId":"-"},"content":" long endTime \u003d Instant.now().toEpochMilli();"},{"lineNumber":48,"author":{"gitId":"-"},"content":" long startTime \u003d endTime - (Const.LOGS_RETENTION_PERIOD.toDays() - 1) * 24 * 60 * 60 * 1000;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" long invalidStartTime \u003d endTime - (Const.LOGS_RETENTION_PERIOD.toDays() + 1) * 24 * 60 * 60 * 1000;"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(courseId, student1Email, fsa1Name,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime);"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(courseId, student1Email, fsa2Name,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime + 1000);"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(courseId, student1Email, fsa2Name,"},{"lineNumber":56,"author":{"gitId":"-"},"content":" FeedbackSessionLogType.SUBMISSION.getLabel(), startTime + 2000);"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(courseId, student2Email, fsa1Name,"},{"lineNumber":58,"author":{"gitId":"-"},"content":" FeedbackSessionLogType.ACCESS.getLabel(), startTime + 3000);"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":" mockLogsProcessor.insertFeedbackSessionLog(courseId, student2Email, fsa1Name,"},{"lineNumber":60,"author":{"gitId":"-"},"content":" FeedbackSessionLogType.SUBMISSION.getLabel(), startTime + 4000);"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" ______TS(\"Failure case: not enough parameters\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure("},{"lineNumber":64,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId"},{"lineNumber":65,"author":{"gitId":"-"},"content":" );"},{"lineNumber":66,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure("},{"lineNumber":67,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":68,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime)"},{"lineNumber":69,"author":{"gitId":"-"},"content":" );"},{"lineNumber":70,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure("},{"lineNumber":71,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":72,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime)"},{"lineNumber":73,"author":{"gitId":"-"},"content":" );"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" ______TS(\"Failure case: invalid course id\");"},{"lineNumber":76,"author":{"gitId":"-"},"content":" String[] paramsInvalid1 \u003d {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, \"fake-course-id\","},{"lineNumber":78,"author":{"gitId":"-"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1Email,"},{"lineNumber":79,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":80,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":81,"author":{"gitId":"-"},"content":" };"},{"lineNumber":82,"author":{"gitId":"-"},"content":" verifyEntityNotFound(paramsInvalid1);"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" ______TS(\"Failure case: invalid student email\");"},{"lineNumber":85,"author":{"gitId":"-"},"content":" String[] paramsInvalid2 \u003d {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":87,"author":{"gitId":"-"},"content":" Const.ParamsNames.STUDENT_EMAIL, \"fake-student-email@gmail.com\","},{"lineNumber":88,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":89,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":90,"author":{"gitId":"-"},"content":" };"},{"lineNumber":91,"author":{"gitId":"-"},"content":" verifyEntityNotFound(paramsInvalid2);"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" ______TS(\"Failure case: invalid start or end times\");"},{"lineNumber":94,"author":{"gitId":"-"},"content":" String[] paramsInvalid3 \u003d {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":96,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, \"abc\","},{"lineNumber":97,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":98,"author":{"gitId":"-"},"content":" };"},{"lineNumber":99,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure(paramsInvalid3);"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" String[] paramsInvalid4 \u003d {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":103,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":104,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, \" \","},{"lineNumber":105,"author":{"gitId":"-"},"content":" };"},{"lineNumber":106,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure(paramsInvalid4);"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" ______TS(\"Failure case: start time is before earliest search time\");"},{"lineNumber":109,"author":{"gitId":"-"},"content":" verifyHttpParameterFailure("},{"lineNumber":110,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":111,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(invalidStartTime),"},{"lineNumber":112,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime)"},{"lineNumber":113,"author":{"gitId":"-"},"content":" );"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" ______TS(\"Success case: should group by feedback session\");"},{"lineNumber":116,"author":{"gitId":"-"},"content":" String[] paramsSuccessful1 \u003d {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":118,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":119,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":120,"author":{"gitId":"-"},"content":" };"},{"lineNumber":121,"author":{"gitId":"-"},"content":" actionOutput \u003d getJsonResult(getAction(paramsSuccessful1));"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" // The filtering by the logs processor cannot be tested directly, assume that it filters correctly"},{"lineNumber":124,"author":{"gitId":"-"},"content":" // Here, it simply returns all log entries"},{"lineNumber":125,"author":{"gitId":"-"},"content":" FeedbackSessionLogsData fslData \u003d (FeedbackSessionLogsData) actionOutput.getOutput();"},{"lineNumber":126,"author":{"gitId":"-"},"content":" List\u003cFeedbackSessionLogData\u003e fsLogs \u003d fslData.getFeedbackSessionLogs();"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" // Course has 6 feedback sessions, last 4 of which have no log entries"},{"lineNumber":129,"author":{"gitId":"-"},"content":" assertEquals(fsLogs.size(), 6);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" assertEquals(fsLogs.get(2).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" assertEquals(fsLogs.get(3).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" assertEquals(fsLogs.get(4).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" assertEquals(fsLogs.get(5).getFeedbackSessionLogEntries().size(), 0);"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" List\u003cFeedbackSessionLogEntryData\u003e fsLogEntries1 \u003d fsLogs.get(0).getFeedbackSessionLogEntries();"},{"lineNumber":136,"author":{"gitId":"-"},"content":" List\u003cFeedbackSessionLogEntryData\u003e fsLogEntries2 \u003d fsLogs.get(1).getFeedbackSessionLogEntries();"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries1.size(), 3);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries1.get(0).getStudentData().getEmail(), student1Email);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries1.get(0).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":141,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries1.get(1).getStudentData().getEmail(), student2Email);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries1.get(1).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries1.get(2).getStudentData().getEmail(), student2Email);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries1.get(2).getFeedbackSessionLogType(), FeedbackSessionLogType.SUBMISSION);"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries2.size(), 2);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries2.get(0).getStudentData().getEmail(), student1Email);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries2.get(0).getFeedbackSessionLogType(), FeedbackSessionLogType.ACCESS);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries2.get(1).getStudentData().getEmail(), student1Email);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" assertEquals(fsLogEntries2.get(1).getFeedbackSessionLogType(), FeedbackSessionLogType.SUBMISSION);"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" ______TS(\"Success case: should accept optional email\");"},{"lineNumber":153,"author":{"gitId":"-"},"content":" String[] paramsSuccessful2 \u003d {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":155,"author":{"gitId":"-"},"content":" Const.ParamsNames.STUDENT_EMAIL, student1Email,"},{"lineNumber":156,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_STARTTIME, String.valueOf(startTime),"},{"lineNumber":157,"author":{"gitId":"-"},"content":" Const.ParamsNames.FEEDBACK_SESSION_LOG_ENDTIME, String.valueOf(endTime),"},{"lineNumber":158,"author":{"gitId":"-"},"content":" };"},{"lineNumber":159,"author":{"gitId":"-"},"content":" getJsonResult(getAction(paramsSuccessful2));"},{"lineNumber":160,"author":{"gitId":"-"},"content":" // No need to check output again here, it will be exactly the same as the previous case"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" // TODO: if we restrict the range from start to end time, it should be tested here as well"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":166,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":167,"author":{"gitId":"-"},"content":" protected void testAccessControl() {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" InstructorAttributes instructor \u003d typicalBundle.instructors.get(\"instructor2OfCourse1\");"},{"lineNumber":169,"author":{"gitId":"-"},"content":" InstructorAttributes helper \u003d typicalBundle.instructors.get(\"helperOfCourse1\");"},{"lineNumber":170,"author":{"gitId":"-"},"content":" String courseId \u003d instructor.getCourseId();"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" ______TS(\"Only instructors of the same course can access\");"},{"lineNumber":173,"author":{"gitId":"-"},"content":" String[] submissionParams \u003d new String[] {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":175,"author":{"gitId":"-"},"content":" };"},{"lineNumber":176,"author":{"gitId":"-"},"content":" verifyOnlyInstructorsOfTheSameCourseCanAccess(submissionParams);"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" ______TS(\"Only instructors with modify student, session and instructor privilege can access\");"},{"lineNumber":179,"author":{"gitId":"-"},"content":" submissionParams \u003d new String[] {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" Const.ParamsNames.COURSE_ID, courseId,"},{"lineNumber":181,"author":{"gitId":"-"},"content":" };"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" loginAsInstructor(helper.getGoogleId());"},{"lineNumber":186,"author":{"gitId":"-"},"content":" verifyCannotAccess(submissionParams);"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" loginAsInstructor(instructor.getGoogleId());"},{"lineNumber":189,"author":{"gitId":"-"},"content":" verifyCanAccess(submissionParams);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":5,"-":187}},{"path":"src/test/resources/emails/instructorNewAccountRequestAcknowledgementEmailWithComments.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"\u003cp\u003eHello, Darth Vader\u003c/p\u003e"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"\u003cp\u003e"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":" Thank you for submitting an account request. This is what you have submitted:"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"\u003c/p\u003e"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"\u003cdiv\u003e"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":" \u003ctable style\u003d\"max-width:600px;border:1px solid black;\"\u003e"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":" \u003cstrong\u003e"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":" Full Name"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":" \u003c/strong\u003e"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":" Darth Vader"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" \u003cstrong\u003e"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" Country \u0026 Institute"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" \u003c/strong\u003e"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" Sith Order"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" \u003cstrong\u003e"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" Email Address"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" \u003c/strong\u003e"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" darth-vader@sith.org"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" \u003cstrong\u003e"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" Comments"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" \u003c/strong\u003e"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" I Am Your Father"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" \u003c/table\u003e"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":"\u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":"\u003cp\u003e"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" Your request will be reviewed within 24 hours. We will send another email once your request has been accepted."},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":"\u003c/p\u003e"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":"\u003cp\u003e"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" If you have any additional queries, please feel free to contact us at ${support.email}."},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":"\u003c/p\u003e"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":"\u003cp\u003e"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" Regards,\u003cbr\u003e"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" TEAMMATES Team."},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":"\u003c/p\u003e"}],"authorContributionMap":{"xenosf":65}},{"path":"src/test/resources/emails/instructorNewAccountRequestAcknowledgementEmailWithNoComments.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"\u003cp\u003eHello, Maul\u003c/p\u003e"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"\u003cp\u003e"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":" Thank you for submitting an account request. This is what you have submitted:"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"\u003c/p\u003e"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"\u003cdiv\u003e"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":" \u003ctable style\u003d\"max-width:600px;border:1px solid black;\"\u003e"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":" \u003cstrong\u003e"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":" Full Name"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":" \u003c/strong\u003e"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":" Maul"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" \u003cstrong\u003e"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" Country \u0026 Institute"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" \u003c/strong\u003e"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" Sith Order"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" \u003cstrong\u003e"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" Email Address"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" \u003c/strong\u003e"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" maul@sith.org"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" \u003cstrong\u003e"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" Comments"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" \u003c/strong\u003e"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" \u003ctd style\u003d\"padding:5px;\"\u003e"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" "},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" \u003c/table\u003e"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":"\u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":"\u003cp\u003e"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" Your request will be reviewed within 24 hours. We will send another email once your request has been accepted."},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":"\u003c/p\u003e"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":"\u003cp\u003e"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" If you have any additional queries, please feel free to contact us at ${support.email}."},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":"\u003c/p\u003e"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":"\u003cp\u003e"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" Regards,\u003cbr\u003e"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" TEAMMATES Team."},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":"\u003c/p\u003e"}],"authorContributionMap":{"xenosf":65}},{"path":"src/web/app/components/account-requests-table/account-request-table-model.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"import { AccountRequestStatus } from \u0027src/web/types/api-output\u0027;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":" * Model for the row entries in the account requests table."},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"export interface AccountRequestTableRowModel {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" id: string;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":" name: string;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":" email: string;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":" status: AccountRequestStatus;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":" instituteAndCountry: string;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":" createdAtText: string;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":" registeredAtText: string;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":" comments: string;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":" registrationLink: string;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":" showLinks: boolean;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":16,"-":1}},{"path":"src/web/app/components/account-requests-table/account-request-table.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"\u003cdiv class\u003d\"card bg-light top-padded\" *ngIf\u003d\"accountRequests.length\"\u003e"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":" \u003cdiv class\u003d\"card-header bg-primary text-white\"\u003e"},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":" \u003cdiv *ngIf\u003d\"searchString; else pendingRequests\"\u003e"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":" \u003cstrong\u003eAccount Requests Found\u003c/strong\u003e"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":" \u003cng-template #pendingRequests\u003e"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":" \u003cstrong\u003ePending Account Requests\u003c/strong\u003e"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":" \u003c/ng-template\u003e"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":" \u003cdiv *ngIf\u003d\"searchString\" class\u003d\"card-header-btn-toolbar\"\u003e"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":" \u003cbutton id\u003d\"show-account-request-links\" class\u003d\"btn btn-light btn-sm\" style\u003d\"margin-right: 10px;\" type\u003d\"button\" (click)\u003d\"showAllAccountRequestsLinks()\"\u003eExpand All\u003c/button\u003e"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":" \u003cbutton id\u003d\"hide-account-request-links\" class\u003d\"btn btn-light btn-sm\" type\u003d\"button\" (click)\u003d\"hideAllAccountRequestsLinks()\"\u003eCollapse All\u003c/button\u003e"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"\u003cdiv class\u003d\"table-responsive\"\u003e"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":" \u003ctable class\u003d\"table table-striped data-table\" id\u003d\"search-table-account-request\"\u003e"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":" \u003cthead\u003e"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" \u003ctr\u003e"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" \u003cth\u003eName\u003c/th\u003e"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" \u003cth\u003eEmail\u003c/th\u003e"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" \u003cth\u003eStatus\u003c/th\u003e"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" \u003cth\u003eInstitute, Country\u003c/th\u003e"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" \u003cth\u003eCreated At\u003c/th\u003e"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" \u003cth *ngIf\u003d\"searchString\"\u003eRegistered At\u003c/th\u003e"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" \u003cth\u003eComments\u003c/th\u003e"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" \u003cth\u003eOptions\u003c/th\u003e"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" \u003c/tr\u003e"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" \u003c/thead\u003e"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" \u003ctbody\u003e"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" \u003cng-container *ngFor\u003d\"let accountRequest of accountRequests; let i \u003d index; trackBy: trackAccountRequest\"\u003e"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" \u003ctr\u003e"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" \u003ctd [innerHtml]\u003d\"accountRequest.name | highlighter:searchString:true\"\u003e"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" \u003cbr\u003e"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" \u003cdiv class\u003d\"col-sm-1\"\u003e"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" \u003cbutton *ngIf\u003d\"!accountRequest.showLinks\" class\u003d\"btn\" aria-label\u003d\"Expand\"\u003e"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" \u003ci class\u003d\"fas fa-chevron-circle-down\" style\u003d\"color: blue;\"\u003e\u003c/i\u003e"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" \u003c/button\u003e"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" \u003cbutton *ngIf\u003d\"accountRequest.showLinks\" class\u003d\"btn\" aria-label\u003d\"Collapse\"\u003e"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" \u003ci class\u003d\"fas fa-chevron-circle-up\" style\u003d\"color: blue;\"\u003e\u003c/i\u003e"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" \u003c/button\u003e"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" \u003c/td\u003e"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" \u003ctd [innerHtml]\u003d\"accountRequest.email | highlighter:searchString:true\"\u003e{{ accountRequest.email }}\u003c/td\u003e"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" \u003ctd [innerHtml]\u003d\"accountRequest.status | highlighter:searchString:true\"\u003e{{ accountRequest.status }}\u003c/td\u003e"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" \u003ctd [innerHtml]\u003d\"accountRequest.instituteAndCountry | highlighter:searchString:true\"\u003e{{ accountRequest.instituteAndCountry }}\u003c/td\u003e"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" \u003ctd id\u003d\"timestamp-box\"\u003e{{ accountRequest.createdAtText }}\u003c/td\u003e"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" \u003ctd *ngIf\u003d\"searchString\" id\u003d\"timestamp-box\"\u003e{{ accountRequest.registeredAtText || \u0027Not Registered Yet\u0027 }}\u003c/td\u003e"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" \u003ctd\u003e"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" \u003cdiv id\u003d\"comment-box\" [innerHtml]\u003d\"accountRequest.comments | highlighter:searchString:true\"\u003e"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" {{ accountRequest.comments }}"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" \u003c/td\u003e"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" \u003ctd class\u003d\"align-middle\"\u003e"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" \u003cdiv class\u003d\"d-flex flex-row align-items-center justify-content-center gap-2\"\u003e"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" \u003cdiv\u003e"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" \u003ca id\u003d\"edit-account-request-{{i}}\" href\u003d\"javascript:;\" (click)\u003d\"$event.stopPropagation(); editAccountRequest(accountRequest);\"\u003e"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" \u003ci class\u003d\"fa-solid fa-pen\"\u003e\u003c/i\u003e"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" \u003c/a\u003e"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" \u003cdiv class\u003d\"ngb-tooltip-class\" [ngbTooltip]\u003d\"accountRequest.registeredAtText \u0026\u0026 \u0027Account requests of registered instructors cannot be deleted\u0027\" placement\u003d\"top\"\u003e"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" \u003ca id\u003d\"delete-account-request-{{i}}\" href\u003d\"javascript:;\" (click)\u003d\"$event.stopPropagation(); deleteAccountRequest(accountRequest)\"\u003e"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" \u003ci class\u003d\"fa-solid fa-trash\"\u003e\u003c/i\u003e"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" \u003c/a\u003e"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" \u003cdiv\u003e"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" \u003ca id\u003d\"view-account-request-{{i}}\" href\u003d\"javascript:;\" (click)\u003d\"$event.stopPropagation(); viewAccountRequest(accountRequest)\"\u003e"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":" \u003ci class\u003d\"fa-solid fa-eye\"\u003e\u003c/i\u003e"},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" \u003c/a\u003e"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" \u003cbutton id\u003d\"approve-account-request-{{i}}\" class\u003d\"btn btn-success\" [disabled]\u003d\"!accountRequest.status || accountRequest.status \u003d\u003d\u003d \u0027APPROVED\u0027 || accountRequest.status \u003d\u003d\u003d \u0027REGISTERED\u0027\" (click)\u003d\"$event.stopPropagation(); approveAccountRequest(accountRequest)\"\u003eApprove\u003c/button\u003e"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" \u003cspan ngbDropdown container\u003d\"body\"\u003e"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" \u003cbutton id\u003d\"reject-account-request-{{i}}\" type\u003d\"button\" class\u003d\"btn btn-warning\" [disabled]\u003d\"!accountRequest.status || accountRequest.status \u003d\u003d\u003d \u0027REGISTERED\u0027 || accountRequest.status \u003d\u003d\u003d \u0027APPROVED\u0027 || accountRequest.status \u003d\u003d\u003d \u0027REJECTED\u0027\" ngbDropdownToggle\u003e Reject \u003c/button\u003e"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" \u003cdiv ngbDropdownMenu (click)\u003d\"$event.stopPropagation()\"\u003e"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" \u003cbutton id\u003d\"reject-request-{{i}}\" class\u003d\"btn btn-light btn-sm dropdown-item\" (click)\u003d\"$event.stopPropagation(); rejectAccountRequest(accountRequest)\"\u003e Reject \u003c/button\u003e"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" \u003cbutton id\u003d\"reject-request-with-reason-{{i}}\" class\u003d\"btn btn-light btn-sm dropdown-item\" (click)\u003d\"$event.stopPropagation(); rejectAccountRequestWithReason(accountRequest)\"\u003e Reject With Reason \u003c/button\u003e"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" \u003c/span\u003e"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" \u003cdiv *ngIf\u003d\"searchString\" class\u003d\"ngb-tooltip-class\" [ngbTooltip]\u003d\"accountRequest.registeredAtText \u0026\u0026 \u0027Account requests of registered instructors cannot be deleted\u0027\" placement\u003d\"top\"\u003e"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" \u003cbutton id\u003d\"reset-account-request-{{i}}\" class\u003d\"btn btn-primary\" [disabled]\u003d\"!accountRequest.registeredAtText\" (click)\u003d\"$event.stopPropagation(); resetAccountRequest(accountRequest);\"\u003eReset\u003c/button\u003e"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" \u003c/td\u003e"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" \u003c/tr\u003e"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" \u003ctr *ngIf\u003d\"accountRequest.showLinks \u0026\u0026 searchString\"\u003e"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" \u003ctd colspan\u003d\"100\"\u003e"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" \u003cul class\u003d\"list-group\" *ngIf\u003d\"accountRequest.showLinks\" @collapseAnim\u003e"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":" \u003cli class\u003d\"list-group-item list-group-item-info\"\u003e"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" \u003cstrong\u003eAccount Registration Link\u003c/strong\u003e"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" \u003cinput [value]\u003d\"accountRequest.registrationLink\" disabled class\u003d\"form-control\"\u003e"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" \u003c/li\u003e"},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" \u003c/ul\u003e"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" \u003c/td\u003e"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" \u003c/tr\u003e"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" \u003c/ng-container\u003e"},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" \u003c/tbody\u003e"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" \u003c/table\u003e"},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"}],"authorContributionMap":{"domoberzin":96}},{"path":"src/web/app/components/account-requests-table/account-request-table.component.scss","fileType":"scss","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"::ng-deep .highlighted-text {"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":" background-color: yellow;"},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"}"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"/* stylelint-disable declaration-block-no-redundant-longhand-properties */"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":".table-responsive {"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":" overflow-y: visible;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":" overflow-x: -moz-scrollbars-horizontal; "},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"}"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":".table-responsive \u003e table \u003e thead \u003e tr \u003e th {"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":" white-space: nowrap;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"}"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"/* stylelint-disable property-no-vendor-prefix */"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"::-webkit-scrollbar {"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" -webkit-appearance: none;"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" width: 1px;"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":"}"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":"::-webkit-scrollbar-thumb {"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" border-radius: 0;"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" background-color: rgb(0 0 0 / 50%);"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" box-shadow: 0 0 1px rgb(255 255 255 / 50%);"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":"}"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":"#search-table-account-request {"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" border-collapse: collapse;"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":"}"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":"#search-table-account-request th:last-child, "},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":"#search-table-account-request td:last-child {"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" min-width: 10vw;"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" position: sticky;"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" right: 0;"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" z-index: 1;"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" background-color: #F8F9FA;"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":"}"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":"#search-table-account-request th:last-child::after,"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":"#search-table-account-request td:last-child::after {"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" content: \"\";"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" position: absolute;"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" left: -1px;"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" top: 0;"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" bottom: 0;"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" width: 1px;"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" background: #c8c7c7;"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" z-index: 1;"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":"}"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":"#comment-box {"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" min-height: 5vh;"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" width: max(800px, 35vw);"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" max-width: max-content;"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" word-break: break-word;"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" word-wrap: break-all;"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":"}"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":".dropdown-item {"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" border: none;"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":65}},{"path":"src/web/app/components/account-requests-table/account-request-table.component.spec.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"import { HttpClientTestingModule } from \u0027@angular/common/http/testing\u0027;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":"import { ComponentFixture, TestBed, waitForAsync } from \u0027@angular/core/testing\u0027;"},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import { BrowserAnimationsModule } from \u0027@angular/platform-browser/animations\u0027;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import { NgbModal } from \u0027@ng-bootstrap/ng-bootstrap\u0027;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import { of, throwError } from \u0027rxjs\u0027;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import { AccountRequestTableRowModel } from \u0027./account-request-table-model\u0027;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import { AccountRequestTableComponent } from \u0027./account-request-table.component\u0027;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import { AccountRequestTableModule } from \u0027./account-request-table.module\u0027;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import { EditRequestModalComponent } from \u0027./admin-edit-request-modal/admin-edit-request-modal.component\u0027;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import {"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":" RejectWithReasonModalComponent,"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"} from \u0027./admin-reject-with-reason-modal/admin-reject-with-reason-modal.component\u0027;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import { AccountService } from \u0027../../../services/account.service\u0027;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import { SimpleModalService } from \u0027../../../services/simple-modal.service\u0027;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"import { StatusMessageService } from \u0027../../../services/status-message.service\u0027;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import { createBuilder } from \u0027../../../test-helpers/generic-builder\u0027;"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"import { createMockNgbModalRef } from \u0027../../../test-helpers/mock-ngb-modal-ref\u0027;"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"import { AccountRequest, AccountRequestStatus } from \u0027../../../types/api-output\u0027;"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":"import { SimpleModalType } from \u0027../simple-modal/simple-modal-type\u0027;"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":"describe(\u0027AccountRequestTableComponent\u0027, () \u003d\u003e {"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" let component: AccountRequestTableComponent;"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" let fixture: ComponentFixture\u003cAccountRequestTableComponent\u003e;"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" let accountService: AccountService;"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" let statusMessageService: StatusMessageService;"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" let simpleModalService: SimpleModalService;"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" let ngbModal: NgbModal;"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" const accountRequestDetailsBuilder \u003d createBuilder\u003cAccountRequestTableRowModel\u003e({"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" id: \u0027\u0027,"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" email: \u0027\u0027,"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" name: \u0027\u0027,"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" instituteAndCountry: \u0027\u0027,"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" registrationLink: \u0027\u0027,"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" status: AccountRequestStatus.PENDING,"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" comments: \u0027\u0027,"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" registeredAtText: \u0027\u0027,"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" createdAtText: \u0027\u0027,"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" showLinks: false,"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" const DEFAULT_ACCOUNT_REQUEST \u003d accountRequestDetailsBuilder"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" .email(\u0027email\u0027)"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" .name(\u0027name\u0027)"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" .status(AccountRequestStatus.PENDING)"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" .instituteAndCountry(\u0027institute\u0027)"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" .createdAtText(\u0027Tue, 08 Feb 2022, 08:23 AM +00:00\u0027)"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" .comments(\u0027comment\u0027);"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" const resetModalContent \u003d `Are you sure you want to reset the account request for"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" \u003cstrong\u003ename\u003c/strong\u003e with email \u003cstrong\u003eemail\u003c/strong\u003e from"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" \u003cstrong\u003einstitute\u003c/strong\u003e?"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" An email with the account registration link will also be sent to the instructor.`;"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" const resetModalTitle \u003d \u0027Reset account request for \u003cstrong\u003ename\u003c/strong\u003e?\u0027;"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" const deleteModalContent \u003d `Are you sure you want to \u003cstrong\u003edelete\u003c/strong\u003e the account request for"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" \u003cstrong\u003ename\u003c/strong\u003e with email \u003cstrong\u003eemail\u003c/strong\u003e from"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" \u003cstrong\u003einstitute\u003c/strong\u003e?`;"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" const deleteModalTitle \u003d \u0027Delete account request for \u003cstrong\u003ename\u003c/strong\u003e?\u0027;"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" beforeEach(waitForAsync(() \u003d\u003e {"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" TestBed.configureTestingModule({"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" declarations: [AccountRequestTableComponent],"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" imports: ["},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" AccountRequestTableModule,"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" BrowserAnimationsModule,"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":" HttpClientTestingModule,"},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" ],"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":" providers: ["},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" AccountService, SimpleModalService,"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" ],"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" }).compileComponents();"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" }));"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" beforeEach(() \u003d\u003e {"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" fixture \u003d TestBed.createComponent(AccountRequestTableComponent);"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" component \u003d fixture.componentInstance;"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" accountService \u003d TestBed.inject(AccountService);"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" statusMessageService \u003d TestBed.inject(StatusMessageService);"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" simpleModalService \u003d TestBed.inject(SimpleModalService);"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" ngbModal \u003d TestBed.inject(NgbModal);"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" it(\u0027should create\u0027, () \u003d\u003e {"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" expect(component).toBeTruthy();"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" it(\u0027should snap with an expanded account requests table\u0027, () \u003d\u003e {"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":" const accountRequestResult: AccountRequestTableRowModel \u003d DEFAULT_ACCOUNT_REQUEST.build();"},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d ["},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" accountRequestResult,"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":" it(\u0027should show account request links when expand all button clicked\u0027, () \u003d\u003e {"},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" const accountRequestResult: AccountRequestTableRowModel \u003d DEFAULT_ACCOUNT_REQUEST.build();"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":" accountRequestResult.status \u003d AccountRequestStatus.APPROVED;"},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" accountRequestResult.registrationLink \u003d \u0027registrationLink\u0027;"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d ["},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" accountRequestResult,"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" component.searchString \u003d \u0027test\u0027;"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" const button: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#show-account-request-links\u0027);"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" button.click();"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" expect(component.accountRequests[0].showLinks).toEqual(true);"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" it(\u0027should display account requests with no reset or expand links button\u0027, () \u003d\u003e {"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" const accountRequestResults: AccountRequestTableRowModel[] \u003d ["},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" DEFAULT_ACCOUNT_REQUEST.build(),"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" DEFAULT_ACCOUNT_REQUEST.build(),"},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d accountRequestResults;"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" it(\u0027should display account requests with reset button and expandable links buttons\u0027,"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" () \u003d\u003e {"},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" const approvedAccountRequestResult: AccountRequestTableRowModel \u003d DEFAULT_ACCOUNT_REQUEST.build();"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" approvedAccountRequestResult.status \u003d AccountRequestStatus.APPROVED;"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":" approvedAccountRequestResult.registrationLink \u003d \u0027registrationLink\u0027;"},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":" const registeredAccountRequestResult: AccountRequestTableRowModel \u003d DEFAULT_ACCOUNT_REQUEST.build();"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" registeredAccountRequestResult.status \u003d AccountRequestStatus.REGISTERED;"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":" registeredAccountRequestResult.registrationLink \u003d \u0027registrationLink\u0027;"},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" const accountRequestResults: AccountRequestTableRowModel[] \u003d ["},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":" approvedAccountRequestResult,"},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" registeredAccountRequestResult,"},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d accountRequestResults;"},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" component.searchString \u003d \u0027test\u0027;"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" it(\u0027should show success message when deleting account request is successful\u0027, () \u003d\u003e {"},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d ["},{"lineNumber":147,"author":{"gitId":"domoberzin"},"content":" DEFAULT_ACCOUNT_REQUEST.build(),"},{"lineNumber":148,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":151,"author":{"gitId":"domoberzin"},"content":" const modalSpy \u003d jest.spyOn(simpleModalService, \u0027openConfirmationModal\u0027).mockImplementation(() \u003d\u003e {"},{"lineNumber":152,"author":{"gitId":"domoberzin"},"content":" return createMockNgbModalRef({});"},{"lineNumber":153,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":154,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":155,"author":{"gitId":"domoberzin"},"content":" jest.spyOn(accountService, \u0027deleteAccountRequest\u0027).mockReturnValue(of({"},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":" message: \u0027Account request successfully deleted.\u0027,"},{"lineNumber":157,"author":{"gitId":"domoberzin"},"content":" }));"},{"lineNumber":158,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":159,"author":{"gitId":"domoberzin"},"content":" const spyStatusMessageService: any \u003d jest.spyOn(statusMessageService, \u0027showSuccessToast\u0027)"},{"lineNumber":160,"author":{"gitId":"domoberzin"},"content":" .mockImplementation((args: string) \u003d\u003e {"},{"lineNumber":161,"author":{"gitId":"domoberzin"},"content":" expect(args).toEqual(\u0027Account request successfully deleted.\u0027);"},{"lineNumber":162,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":163,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":164,"author":{"gitId":"domoberzin"},"content":" const deleteButton: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#delete-account-request-0\u0027);"},{"lineNumber":165,"author":{"gitId":"domoberzin"},"content":" deleteButton.click();"},{"lineNumber":166,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":" expect(spyStatusMessageService).toHaveBeenCalled();"},{"lineNumber":168,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledTimes(1);"},{"lineNumber":169,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledWith(deleteModalTitle, SimpleModalType.DANGER, deleteModalContent);"},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":171,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":172,"author":{"gitId":"domoberzin"},"content":" it(\u0027should show error message when deleting account request is unsuccessful\u0027, () \u003d\u003e {"},{"lineNumber":173,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d ["},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":" DEFAULT_ACCOUNT_REQUEST.build(),"},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":178,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":" const modalSpy \u003d jest.spyOn(simpleModalService, \u0027openConfirmationModal\u0027).mockImplementation(() \u003d\u003e {"},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":" return createMockNgbModalRef({});"},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":182,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":183,"author":{"gitId":"domoberzin"},"content":" jest.spyOn(accountService, \u0027deleteAccountRequest\u0027).mockReturnValue(throwError(() \u003d\u003e ({"},{"lineNumber":184,"author":{"gitId":"domoberzin"},"content":" error: {"},{"lineNumber":185,"author":{"gitId":"domoberzin"},"content":" message: \u0027This is the error message.\u0027,"},{"lineNumber":186,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":187,"author":{"gitId":"domoberzin"},"content":" })));"},{"lineNumber":188,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":189,"author":{"gitId":"domoberzin"},"content":" const spyStatusMessageService: any \u003d jest.spyOn(statusMessageService, \u0027showErrorToast\u0027)"},{"lineNumber":190,"author":{"gitId":"domoberzin"},"content":" .mockImplementation((args: string) \u003d\u003e {"},{"lineNumber":191,"author":{"gitId":"domoberzin"},"content":" expect(args).toEqual(\u0027This is the error message.\u0027);"},{"lineNumber":192,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" const deleteButton: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#delete-account-request-0\u0027);"},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" deleteButton.click();"},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":197,"author":{"gitId":"domoberzin"},"content":" expect(spyStatusMessageService).toHaveBeenCalled();"},{"lineNumber":198,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledTimes(1);"},{"lineNumber":199,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledWith(deleteModalTitle, SimpleModalType.DANGER, deleteModalContent);"},{"lineNumber":200,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":201,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":202,"author":{"gitId":"domoberzin"},"content":" it(\u0027should show success message when resetting account request is successful\u0027, () \u003d\u003e {"},{"lineNumber":203,"author":{"gitId":"domoberzin"},"content":" const registeredAccountRequestResult: AccountRequestTableRowModel \u003d DEFAULT_ACCOUNT_REQUEST.build();"},{"lineNumber":204,"author":{"gitId":"domoberzin"},"content":" registeredAccountRequestResult.status \u003d AccountRequestStatus.REGISTERED;"},{"lineNumber":205,"author":{"gitId":"domoberzin"},"content":" registeredAccountRequestResult.registrationLink \u003d \u0027registrationLink\u0027;"},{"lineNumber":206,"author":{"gitId":"domoberzin"},"content":" registeredAccountRequestResult.registeredAtText \u003d \u0027registeredTime\u0027;"},{"lineNumber":207,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d ["},{"lineNumber":208,"author":{"gitId":"domoberzin"},"content":" registeredAccountRequestResult,"},{"lineNumber":209,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":210,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":211,"author":{"gitId":"domoberzin"},"content":" component.searchString \u003d \u0027test\u0027;"},{"lineNumber":212,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":213,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":214,"author":{"gitId":"domoberzin"},"content":" const modalSpy \u003d jest.spyOn(simpleModalService, \u0027openConfirmationModal\u0027).mockImplementation(() \u003d\u003e {"},{"lineNumber":215,"author":{"gitId":"domoberzin"},"content":" return createMockNgbModalRef({});"},{"lineNumber":216,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":217,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":218,"author":{"gitId":"domoberzin"},"content":" jest.spyOn(accountService, \u0027resetAccountRequest\u0027).mockReturnValue(of({"},{"lineNumber":219,"author":{"gitId":"domoberzin"},"content":" joinLink: \u0027joinlink\u0027,"},{"lineNumber":220,"author":{"gitId":"domoberzin"},"content":" }));"},{"lineNumber":221,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":222,"author":{"gitId":"domoberzin"},"content":" const spyStatusMessageService \u003d jest.spyOn(statusMessageService, \u0027showSuccessToast\u0027)"},{"lineNumber":223,"author":{"gitId":"domoberzin"},"content":" .mockImplementation((args: string) \u003d\u003e {"},{"lineNumber":224,"author":{"gitId":"domoberzin"},"content":" expect(args)"},{"lineNumber":225,"author":{"gitId":"domoberzin"},"content":" .toEqual(\u0027Reset successful. An email has been sent to email.\u0027);"},{"lineNumber":226,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":227,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":228,"author":{"gitId":"domoberzin"},"content":" const resetButton \u003d fixture.debugElement.nativeElement.querySelector(\u0027#reset-account-request-0\u0027);"},{"lineNumber":229,"author":{"gitId":"domoberzin"},"content":" resetButton.click();"},{"lineNumber":230,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":231,"author":{"gitId":"domoberzin"},"content":" expect(spyStatusMessageService).toHaveBeenCalled();"},{"lineNumber":232,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledTimes(1);"},{"lineNumber":233,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledWith(resetModalTitle, SimpleModalType.WARNING, resetModalContent);"},{"lineNumber":234,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":235,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":236,"author":{"gitId":"domoberzin"},"content":" it(\u0027should show error message when resetting account request is unsuccessful\u0027, () \u003d\u003e {"},{"lineNumber":237,"author":{"gitId":"domoberzin"},"content":" const registeredAccountRequestResult: AccountRequestTableRowModel \u003d DEFAULT_ACCOUNT_REQUEST.build();"},{"lineNumber":238,"author":{"gitId":"domoberzin"},"content":" registeredAccountRequestResult.status \u003d AccountRequestStatus.REGISTERED;"},{"lineNumber":239,"author":{"gitId":"domoberzin"},"content":" registeredAccountRequestResult.registrationLink \u003d \u0027registrationLink\u0027;"},{"lineNumber":240,"author":{"gitId":"domoberzin"},"content":" registeredAccountRequestResult.registeredAtText \u003d \u0027registeredTime\u0027;"},{"lineNumber":241,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d ["},{"lineNumber":242,"author":{"gitId":"domoberzin"},"content":" registeredAccountRequestResult,"},{"lineNumber":243,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":244,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":245,"author":{"gitId":"domoberzin"},"content":" component.searchString \u003d \u0027test\u0027;"},{"lineNumber":246,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":247,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":248,"author":{"gitId":"domoberzin"},"content":" const modalSpy \u003d jest.spyOn(simpleModalService, \u0027openConfirmationModal\u0027).mockImplementation(() \u003d\u003e {"},{"lineNumber":249,"author":{"gitId":"domoberzin"},"content":" return createMockNgbModalRef({});"},{"lineNumber":250,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":251,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":252,"author":{"gitId":"domoberzin"},"content":" jest.spyOn(accountService, \u0027resetAccountRequest\u0027).mockReturnValue(throwError(() \u003d\u003e ({"},{"lineNumber":253,"author":{"gitId":"domoberzin"},"content":" error: {"},{"lineNumber":254,"author":{"gitId":"domoberzin"},"content":" message: \u0027This is the error message.\u0027,"},{"lineNumber":255,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":256,"author":{"gitId":"domoberzin"},"content":" })));"},{"lineNumber":257,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":258,"author":{"gitId":"domoberzin"},"content":" const spyStatusMessageService \u003d jest.spyOn(statusMessageService, \u0027showErrorToast\u0027)"},{"lineNumber":259,"author":{"gitId":"domoberzin"},"content":" .mockImplementation((args: string) \u003d\u003e {"},{"lineNumber":260,"author":{"gitId":"domoberzin"},"content":" expect(args).toEqual(\u0027This is the error message.\u0027);"},{"lineNumber":261,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":262,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":263,"author":{"gitId":"domoberzin"},"content":" const resetButton \u003d fixture.debugElement.nativeElement.querySelector(\u0027#reset-account-request-0\u0027);"},{"lineNumber":264,"author":{"gitId":"domoberzin"},"content":" resetButton.click();"},{"lineNumber":265,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":266,"author":{"gitId":"domoberzin"},"content":" expect(spyStatusMessageService).toHaveBeenCalled();"},{"lineNumber":267,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledTimes(1);"},{"lineNumber":268,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledWith(resetModalTitle, SimpleModalType.WARNING, resetModalContent);"},{"lineNumber":269,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":270,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":271,"author":{"gitId":"domoberzin"},"content":" it(\u0027should display comment modal\u0027, () \u003d\u003e {"},{"lineNumber":272,"author":{"gitId":"domoberzin"},"content":" const accountRequestResults: AccountRequestTableRowModel[] \u003d ["},{"lineNumber":273,"author":{"gitId":"domoberzin"},"content":" DEFAULT_ACCOUNT_REQUEST.build(),"},{"lineNumber":274,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":275,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":276,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d accountRequestResults;"},{"lineNumber":277,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":278,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":279,"author":{"gitId":"domoberzin"},"content":" const modalSpy \u003d jest.spyOn(simpleModalService, \u0027openInformationModal\u0027)"},{"lineNumber":280,"author":{"gitId":"domoberzin"},"content":" .mockReturnValue(createMockNgbModalRef());"},{"lineNumber":281,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":282,"author":{"gitId":"domoberzin"},"content":" const viewCommentButton: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#view-account-request-0\u0027);"},{"lineNumber":283,"author":{"gitId":"domoberzin"},"content":" viewCommentButton.click();"},{"lineNumber":284,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledTimes(1);"},{"lineNumber":285,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledWith(\u0027Comments for \u003cstrong\u003ename\u003c/strong\u003e Request\u0027,"},{"lineNumber":286,"author":{"gitId":"domoberzin"},"content":" SimpleModalType.INFO, \u0027\u003cstrong\u003eComment:\u003c/strong\u003e comment\u0027);"},{"lineNumber":287,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":288,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":289,"author":{"gitId":"domoberzin"},"content":" it(\u0027should display edit modal when edit button is clicked\u0027, () \u003d\u003e {"},{"lineNumber":290,"author":{"gitId":"domoberzin"},"content":" const accountRequestResults: AccountRequestTableRowModel[] \u003d ["},{"lineNumber":291,"author":{"gitId":"domoberzin"},"content":" DEFAULT_ACCOUNT_REQUEST.build(),"},{"lineNumber":292,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":293,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":294,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d accountRequestResults;"},{"lineNumber":295,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":296,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":297,"author":{"gitId":"domoberzin"},"content":" const mockModalRef \u003d {"},{"lineNumber":298,"author":{"gitId":"domoberzin"},"content":" componentInstance: {},"},{"lineNumber":299,"author":{"gitId":"domoberzin"},"content":" result: Promise.resolve({}),"},{"lineNumber":300,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":301,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":302,"author":{"gitId":"domoberzin"},"content":" const modalSpy \u003d jest.spyOn(ngbModal, \u0027open\u0027).mockReturnValue(mockModalRef as any);"},{"lineNumber":303,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":304,"author":{"gitId":"domoberzin"},"content":" const editButton: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#edit-account-request-0\u0027);"},{"lineNumber":305,"author":{"gitId":"domoberzin"},"content":" editButton.click();"},{"lineNumber":306,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledTimes(1);"},{"lineNumber":307,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledWith(EditRequestModalComponent);"},{"lineNumber":308,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":309,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":310,"author":{"gitId":"domoberzin"},"content":" it(\u0027should display reject modal when reject button is clicked\u0027, () \u003d\u003e {"},{"lineNumber":311,"author":{"gitId":"domoberzin"},"content":" const accountRequestResults: AccountRequestTableRowModel[] \u003d ["},{"lineNumber":312,"author":{"gitId":"domoberzin"},"content":" DEFAULT_ACCOUNT_REQUEST.build(),"},{"lineNumber":313,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":314,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":315,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d accountRequestResults;"},{"lineNumber":316,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":317,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":318,"author":{"gitId":"domoberzin"},"content":" const modalSpy \u003d jest.spyOn(ngbModal, \u0027open\u0027).mockImplementation(() \u003d\u003e {"},{"lineNumber":319,"author":{"gitId":"domoberzin"},"content":" return createMockNgbModalRef({});"},{"lineNumber":320,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":321,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":322,"author":{"gitId":"domoberzin"},"content":" const rejectButton: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#reject-request-with-reason-0\u0027);"},{"lineNumber":323,"author":{"gitId":"domoberzin"},"content":" rejectButton.click();"},{"lineNumber":324,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":325,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledTimes(1);"},{"lineNumber":326,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledWith(RejectWithReasonModalComponent);"},{"lineNumber":327,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":328,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":329,"author":{"gitId":"domoberzin"},"content":" it(\u0027should display error message when rejection was unsuccessful\u0027, () \u003d\u003e {"},{"lineNumber":330,"author":{"gitId":"domoberzin"},"content":" const accountRequestResults: AccountRequestTableRowModel[] \u003d ["},{"lineNumber":331,"author":{"gitId":"domoberzin"},"content":" DEFAULT_ACCOUNT_REQUEST.build(),"},{"lineNumber":332,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":333,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":334,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d accountRequestResults;"},{"lineNumber":335,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":336,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":337,"author":{"gitId":"domoberzin"},"content":" jest.spyOn(accountService, \u0027rejectAccountRequest\u0027).mockReturnValue(throwError(() \u003d\u003e ({"},{"lineNumber":338,"author":{"gitId":"domoberzin"},"content":" error: {"},{"lineNumber":339,"author":{"gitId":"domoberzin"},"content":" message: \u0027This is the error message.\u0027,"},{"lineNumber":340,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":341,"author":{"gitId":"domoberzin"},"content":" })));"},{"lineNumber":342,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":343,"author":{"gitId":"domoberzin"},"content":" const spyStatusMessageService \u003d jest.spyOn(statusMessageService, \u0027showErrorToast\u0027)"},{"lineNumber":344,"author":{"gitId":"domoberzin"},"content":" .mockImplementation((args: string) \u003d\u003e {"},{"lineNumber":345,"author":{"gitId":"domoberzin"},"content":" expect(args).toEqual(\u0027This is the error message.\u0027);"},{"lineNumber":346,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":347,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":348,"author":{"gitId":"domoberzin"},"content":" const rejectButton \u003d fixture.debugElement.nativeElement.querySelector(\u0027#reject-request-0\u0027);"},{"lineNumber":349,"author":{"gitId":"domoberzin"},"content":" rejectButton.click();"},{"lineNumber":350,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":351,"author":{"gitId":"domoberzin"},"content":" expect(spyStatusMessageService).toHaveBeenCalled();"},{"lineNumber":352,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":353,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":354,"author":{"gitId":"domoberzin"},"content":" it(\u0027should display error message when approval was unsuccessful\u0027, () \u003d\u003e {"},{"lineNumber":355,"author":{"gitId":"domoberzin"},"content":" const accountRequestResults: AccountRequestTableRowModel[] \u003d ["},{"lineNumber":356,"author":{"gitId":"domoberzin"},"content":" DEFAULT_ACCOUNT_REQUEST.build(),"},{"lineNumber":357,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":358,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":359,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d accountRequestResults;"},{"lineNumber":360,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":361,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":362,"author":{"gitId":"domoberzin"},"content":" jest.spyOn(accountService, \u0027approveAccountRequest\u0027).mockReturnValue(throwError(() \u003d\u003e ({"},{"lineNumber":363,"author":{"gitId":"domoberzin"},"content":" error: {"},{"lineNumber":364,"author":{"gitId":"domoberzin"},"content":" message: \u0027This is the error message.\u0027,"},{"lineNumber":365,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":366,"author":{"gitId":"domoberzin"},"content":" })));"},{"lineNumber":367,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":368,"author":{"gitId":"domoberzin"},"content":" const spyStatusMessageService: any \u003d jest.spyOn(statusMessageService, \u0027showErrorToast\u0027)"},{"lineNumber":369,"author":{"gitId":"domoberzin"},"content":" .mockImplementation((args: string) \u003d\u003e {"},{"lineNumber":370,"author":{"gitId":"domoberzin"},"content":" expect(args).toEqual(\u0027This is the error message.\u0027);"},{"lineNumber":371,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":372,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":373,"author":{"gitId":"domoberzin"},"content":" const approveButton: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#approve-account-request-0\u0027);"},{"lineNumber":374,"author":{"gitId":"domoberzin"},"content":" approveButton.click();"},{"lineNumber":375,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":376,"author":{"gitId":"domoberzin"},"content":" expect(spyStatusMessageService).toHaveBeenCalled();"},{"lineNumber":377,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":378,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":379,"author":{"gitId":"domoberzin"},"content":" it(\u0027should display error message when edit was unsuccessful\u0027, () \u003d\u003e {"},{"lineNumber":380,"author":{"gitId":"domoberzin"},"content":" const accountRequestResults: AccountRequestTableRowModel[] \u003d ["},{"lineNumber":381,"author":{"gitId":"domoberzin"},"content":" DEFAULT_ACCOUNT_REQUEST.build(),"},{"lineNumber":382,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":383,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":384,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d accountRequestResults;"},{"lineNumber":385,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":386,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":387,"author":{"gitId":"domoberzin"},"content":" const mockModalRef \u003d {"},{"lineNumber":388,"author":{"gitId":"domoberzin"},"content":" componentInstance: {},"},{"lineNumber":389,"author":{"gitId":"domoberzin"},"content":" result: Promise.resolve({}),"},{"lineNumber":390,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":391,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":392,"author":{"gitId":"domoberzin"},"content":" jest.spyOn(ngbModal, \u0027open\u0027).mockReturnValue(mockModalRef as any);"},{"lineNumber":393,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":394,"author":{"gitId":"domoberzin"},"content":" jest.spyOn(accountService, \u0027editAccountRequest\u0027).mockReturnValue(throwError(() \u003d\u003e ({"},{"lineNumber":395,"author":{"gitId":"domoberzin"},"content":" error: {"},{"lineNumber":396,"author":{"gitId":"domoberzin"},"content":" message: \u0027This is the error message.\u0027,"},{"lineNumber":397,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":398,"author":{"gitId":"domoberzin"},"content":" })));"},{"lineNumber":399,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":400,"author":{"gitId":"domoberzin"},"content":" const spyStatusMessageService \u003d jest.spyOn(statusMessageService, \u0027showErrorToast\u0027)"},{"lineNumber":401,"author":{"gitId":"domoberzin"},"content":" .mockImplementation((args: string) \u003d\u003e {"},{"lineNumber":402,"author":{"gitId":"domoberzin"},"content":" expect(args).toEqual(\u0027This is the error message.\u0027);"},{"lineNumber":403,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":404,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":405,"author":{"gitId":"domoberzin"},"content":" const editButton \u003d fixture.debugElement.nativeElement.querySelector(\u0027#edit-account-request-0\u0027);"},{"lineNumber":406,"author":{"gitId":"domoberzin"},"content":" editButton.click();"},{"lineNumber":407,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":408,"author":{"gitId":"domoberzin"},"content":" expect(spyStatusMessageService).toHaveBeenCalled();"},{"lineNumber":409,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":410,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":411,"author":{"gitId":"domoberzin"},"content":" it(\u0027should update request when edit is succcessful\u0027, () \u003d\u003e {"},{"lineNumber":412,"author":{"gitId":"domoberzin"},"content":" const accountRequestResults: AccountRequestTableRowModel[] \u003d ["},{"lineNumber":413,"author":{"gitId":"domoberzin"},"content":" DEFAULT_ACCOUNT_REQUEST.build(),"},{"lineNumber":414,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":415,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":416,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d accountRequestResults;"},{"lineNumber":417,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":418,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":419,"author":{"gitId":"domoberzin"},"content":" const mockModalRef \u003d {"},{"lineNumber":420,"author":{"gitId":"domoberzin"},"content":" componentInstance: {},"},{"lineNumber":421,"author":{"gitId":"domoberzin"},"content":" result: Promise.resolve({}),"},{"lineNumber":422,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":423,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":424,"author":{"gitId":"domoberzin"},"content":" const modalSpy \u003d jest.spyOn(ngbModal, \u0027open\u0027).mockReturnValue(mockModalRef as any);"},{"lineNumber":425,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":426,"author":{"gitId":"domoberzin"},"content":" const editedAccountRequest : AccountRequest \u003d {"},{"lineNumber":427,"author":{"gitId":"domoberzin"},"content":" id: \u0027id\u0027,"},{"lineNumber":428,"author":{"gitId":"domoberzin"},"content":" comments: \u0027new comment\u0027,"},{"lineNumber":429,"author":{"gitId":"domoberzin"},"content":" email: \u0027new email\u0027,"},{"lineNumber":430,"author":{"gitId":"domoberzin"},"content":" institute: \u0027new institute\u0027,"},{"lineNumber":431,"author":{"gitId":"domoberzin"},"content":" registrationKey: \u0027registration key\u0027,"},{"lineNumber":432,"author":{"gitId":"domoberzin"},"content":" name: \u0027new name\u0027,"},{"lineNumber":433,"author":{"gitId":"domoberzin"},"content":" createdAt: 1,"},{"lineNumber":434,"author":{"gitId":"domoberzin"},"content":" status: AccountRequestStatus.PENDING,"},{"lineNumber":435,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":436,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":437,"author":{"gitId":"domoberzin"},"content":" jest.spyOn(accountService, \u0027editAccountRequest\u0027).mockReturnValue(of(editedAccountRequest));"},{"lineNumber":438,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":439,"author":{"gitId":"domoberzin"},"content":" const editButton: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#edit-account-request-0\u0027);"},{"lineNumber":440,"author":{"gitId":"domoberzin"},"content":" editButton.click();"},{"lineNumber":441,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledTimes(1);"},{"lineNumber":442,"author":{"gitId":"domoberzin"},"content":" expect(modalSpy).toHaveBeenCalledWith(EditRequestModalComponent);"},{"lineNumber":443,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":444,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":445,"author":{"gitId":"domoberzin"},"content":" expect(component.accountRequests[0].comments).toEqual(\u0027new comment\u0027);"},{"lineNumber":446,"author":{"gitId":"domoberzin"},"content":" expect(component.accountRequests[0].email).toEqual(\u0027new email\u0027);"},{"lineNumber":447,"author":{"gitId":"domoberzin"},"content":" expect(component.accountRequests[0].instituteAndCountry).toEqual(\u0027new institute\u0027);"},{"lineNumber":448,"author":{"gitId":"domoberzin"},"content":" expect(component.accountRequests[0].name).toEqual(\u0027new name\u0027);"},{"lineNumber":449,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":450,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":451,"author":{"gitId":"domoberzin"},"content":" it(\u0027should update status when approval is succcessful\u0027, () \u003d\u003e {"},{"lineNumber":452,"author":{"gitId":"domoberzin"},"content":" const accountRequestResults: AccountRequestTableRowModel[] \u003d ["},{"lineNumber":453,"author":{"gitId":"domoberzin"},"content":" DEFAULT_ACCOUNT_REQUEST.build(),"},{"lineNumber":454,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":455,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":456,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d accountRequestResults;"},{"lineNumber":457,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":458,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":459,"author":{"gitId":"domoberzin"},"content":" const approvedRequest : AccountRequest \u003d {"},{"lineNumber":460,"author":{"gitId":"domoberzin"},"content":" id: component.accountRequests[0].id,"},{"lineNumber":461,"author":{"gitId":"domoberzin"},"content":" comments: component.accountRequests[0].comments,"},{"lineNumber":462,"author":{"gitId":"domoberzin"},"content":" email: component.accountRequests[0].email,"},{"lineNumber":463,"author":{"gitId":"domoberzin"},"content":" institute: component.accountRequests[0].instituteAndCountry,"},{"lineNumber":464,"author":{"gitId":"domoberzin"},"content":" registrationKey: \u0027registration key\u0027,"},{"lineNumber":465,"author":{"gitId":"domoberzin"},"content":" name: component.accountRequests[0].name,"},{"lineNumber":466,"author":{"gitId":"domoberzin"},"content":" createdAt: 1,"},{"lineNumber":467,"author":{"gitId":"domoberzin"},"content":" status: AccountRequestStatus.APPROVED,"},{"lineNumber":468,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":469,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":470,"author":{"gitId":"domoberzin"},"content":" jest.spyOn(accountService, \u0027approveAccountRequest\u0027).mockReturnValue(of(approvedRequest));"},{"lineNumber":471,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":472,"author":{"gitId":"domoberzin"},"content":" const approveButton: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#approve-account-request-0\u0027);"},{"lineNumber":473,"author":{"gitId":"domoberzin"},"content":" approveButton.click();"},{"lineNumber":474,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":475,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":476,"author":{"gitId":"domoberzin"},"content":" expect(component.accountRequests[0].status).toEqual(AccountRequestStatus.APPROVED);"},{"lineNumber":477,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":478,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":479,"author":{"gitId":"domoberzin"},"content":" it(\u0027should update status when rejection is succcessful\u0027, () \u003d\u003e {"},{"lineNumber":480,"author":{"gitId":"domoberzin"},"content":" const accountRequestResults: AccountRequestTableRowModel[] \u003d ["},{"lineNumber":481,"author":{"gitId":"domoberzin"},"content":" DEFAULT_ACCOUNT_REQUEST.build(),"},{"lineNumber":482,"author":{"gitId":"domoberzin"},"content":" ];"},{"lineNumber":483,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":484,"author":{"gitId":"domoberzin"},"content":" component.accountRequests \u003d accountRequestResults;"},{"lineNumber":485,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":486,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":487,"author":{"gitId":"domoberzin"},"content":" const rejectedRequest : AccountRequest \u003d {"},{"lineNumber":488,"author":{"gitId":"domoberzin"},"content":" id: component.accountRequests[0].id,"},{"lineNumber":489,"author":{"gitId":"domoberzin"},"content":" comments: component.accountRequests[0].comments,"},{"lineNumber":490,"author":{"gitId":"domoberzin"},"content":" email: component.accountRequests[0].email,"},{"lineNumber":491,"author":{"gitId":"domoberzin"},"content":" institute: component.accountRequests[0].instituteAndCountry,"},{"lineNumber":492,"author":{"gitId":"domoberzin"},"content":" registrationKey: \u0027registration key\u0027,"},{"lineNumber":493,"author":{"gitId":"domoberzin"},"content":" name: component.accountRequests[0].name,"},{"lineNumber":494,"author":{"gitId":"domoberzin"},"content":" createdAt: 1,"},{"lineNumber":495,"author":{"gitId":"domoberzin"},"content":" status: AccountRequestStatus.REJECTED,"},{"lineNumber":496,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":497,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":498,"author":{"gitId":"domoberzin"},"content":" jest.spyOn(accountService, \u0027rejectAccountRequest\u0027).mockReturnValue(of(rejectedRequest));"},{"lineNumber":499,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":500,"author":{"gitId":"domoberzin"},"content":" const rejectButton: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#reject-request-0\u0027);"},{"lineNumber":501,"author":{"gitId":"domoberzin"},"content":" rejectButton.click();"},{"lineNumber":502,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":503,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":504,"author":{"gitId":"domoberzin"},"content":" expect(component.accountRequests[0].status).toEqual(AccountRequestStatus.REJECTED);"},{"lineNumber":505,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":506,"author":{"gitId":"domoberzin"},"content":"});"}],"authorContributionMap":{"domoberzin":506}},{"path":"src/web/app/components/account-requests-table/account-request-table.component.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"import { Component, Input } from \u0027@angular/core\u0027;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":"import { NgbModalRef, NgbModal } from \u0027@ng-bootstrap/ng-bootstrap\u0027;"},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import { AccountRequestTableRowModel } from \u0027./account-request-table-model\u0027;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import { EditRequestModalComponentResult } from \u0027./admin-edit-request-modal/admin-edit-request-modal-model\u0027;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import { EditRequestModalComponent } from \u0027./admin-edit-request-modal/admin-edit-request-modal.component\u0027;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import {"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":" RejectWithReasonModalComponent,"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"} from \u0027./admin-reject-with-reason-modal/admin-reject-with-reason-modal.component\u0027;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"import { AccountService } from \u0027../../../services/account.service\u0027;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import { SimpleModalService } from \u0027../../../services/simple-modal.service\u0027;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import { StatusMessageService } from \u0027../../../services/status-message.service\u0027;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"import { AccountRequest, MessageOutput } from \u0027../../../types/api-output\u0027;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import { ErrorMessageOutput } from \u0027../../error-message-output\u0027;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import { SimpleModalType } from \u0027../simple-modal/simple-modal-type\u0027;"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":"import { collapseAnim } from \u0027../teammates-common/collapse-anim\u0027;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" * Account requests table component."},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":"@Component({"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" selector: \u0027tm-account-request-table\u0027,"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" templateUrl: \u0027./account-request-table.component.html\u0027,"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" styleUrls: [\u0027./account-request-table.component.scss\u0027],"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" animations: [collapseAnim],"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":"})"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":"export class AccountRequestTableComponent {"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" @Input()"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" accountRequests: AccountRequestTableRowModel[] \u003d [];"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" @Input()"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" searchString \u003d \u0027\u0027;"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" constructor("},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" private statusMessageService: StatusMessageService,"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" private simpleModalService: SimpleModalService,"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" private accountService: AccountService,"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" private ngbModal: NgbModal,"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" ) {}"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" * Shows all account requests\u0027 links in the page."},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" showAllAccountRequestsLinks(): void {"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" for (const accountRequest of this.accountRequests) {"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" accountRequest.showLinks \u003d true;"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" * Hides all account requests\u0027 links in the page."},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" hideAllAccountRequestsLinks(): void {"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" for (const accountRequest of this.accountRequests) {"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" accountRequest.showLinks \u003d false;"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" editAccountRequest(accountRequest: AccountRequestTableRowModel): void {"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" const modalRef: NgbModalRef \u003d this.ngbModal.open(EditRequestModalComponent);"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" modalRef.componentInstance.accountRequestName \u003d accountRequest.name;"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" modalRef.componentInstance.accountRequestEmail \u003d accountRequest.email;"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" modalRef.componentInstance.accountRequestInstitution \u003d accountRequest.instituteAndCountry;"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" modalRef.componentInstance.accountRequestComments \u003d accountRequest.comments;"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" modalRef.result.then((res: EditRequestModalComponentResult) \u003d\u003e {"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":" this.accountService.editAccountRequest("},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" accountRequest.id,"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" res.accountRequestName,"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" res.accountRequestEmail,"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" res.accountRequestInstitution,"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" accountRequest.status,"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" res.accountRequestComment)"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" .subscribe({"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" next: (resp: AccountRequest) \u003d\u003e {"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" accountRequest.comments \u003d resp.comments ?? \u0027\u0027;"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" accountRequest.name \u003d resp.name;"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" accountRequest.email \u003d resp.email;"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":" accountRequest.instituteAndCountry \u003d resp.institute;"},{"lineNumber":81,"author":{"gitId":"domoberzin"},"content":" this.statusMessageService.showSuccessToast(\u0027Account request was successfully updated.\u0027);"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":83,"author":{"gitId":"domoberzin"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":84,"author":{"gitId":"domoberzin"},"content":" this.statusMessageService.showErrorToast(resp.error.message);"},{"lineNumber":85,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":88,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":89,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":90,"author":{"gitId":"domoberzin"},"content":" approveAccountRequest(accountRequest: AccountRequestTableRowModel): void {"},{"lineNumber":91,"author":{"gitId":"domoberzin"},"content":" this.accountService.approveAccountRequest(accountRequest.id, accountRequest.name,"},{"lineNumber":92,"author":{"gitId":"domoberzin"},"content":" accountRequest.email, accountRequest.instituteAndCountry)"},{"lineNumber":93,"author":{"gitId":"domoberzin"},"content":" .subscribe({"},{"lineNumber":94,"author":{"gitId":"domoberzin"},"content":" next: (resp : AccountRequest) \u003d\u003e {"},{"lineNumber":95,"author":{"gitId":"domoberzin"},"content":" accountRequest.status \u003d resp.status;"},{"lineNumber":96,"author":{"gitId":"domoberzin"},"content":" this.statusMessageService.showSuccessToast("},{"lineNumber":97,"author":{"gitId":"domoberzin"},"content":" `Account request was successfully approved. Email has been sent to ${accountRequest.email}.`,"},{"lineNumber":98,"author":{"gitId":"domoberzin"},"content":" );"},{"lineNumber":99,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" this.statusMessageService.showErrorToast(resp.error.message);"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":" resetAccountRequest(accountRequest: AccountRequestTableRowModel): void {"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" const modalContent \u003d `Are you sure you want to reset the account request for"},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" \u003cstrong\u003e${accountRequest.name}\u003c/strong\u003e with email \u003cstrong\u003e${accountRequest.email}\u003c/strong\u003e from"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" \u003cstrong\u003e${accountRequest.instituteAndCountry}\u003c/strong\u003e?"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" An email with the account registration link will also be sent to the instructor.`;"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" const modalRef: NgbModalRef \u003d this.simpleModalService.openConfirmationModal("},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" `Reset account request for \u003cstrong\u003e${accountRequest.name}\u003c/strong\u003e?`, SimpleModalType.WARNING, modalContent);"},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" modalRef.result.then(() \u003d\u003e {"},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" this.accountService.resetAccountRequest(accountRequest.id)"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" .subscribe({"},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":" next: () \u003d\u003e {"},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":" this.statusMessageService"},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" .showSuccessToast(`Reset successful. An email has been sent to ${accountRequest.email}.`);"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" accountRequest.registeredAtText \u003d \u0027\u0027;"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":" this.statusMessageService.showErrorToast(resp.error.message);"},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" }, () \u003d\u003e {});"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":" deleteAccountRequest(accountRequest: AccountRequestTableRowModel): void {"},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":" const modalContent: string \u003d `Are you sure you want to \u003cstrong\u003edelete\u003c/strong\u003e the account request for"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" \u003cstrong\u003e${accountRequest.name}\u003c/strong\u003e with email \u003cstrong\u003e${accountRequest.email}\u003c/strong\u003e from"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":" \u003cstrong\u003e${accountRequest.instituteAndCountry}\u003c/strong\u003e?`;"},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" const modalRef: NgbModalRef \u003d this.simpleModalService.openConfirmationModal("},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":" `Delete account request for \u003cstrong\u003e${accountRequest.name}\u003c/strong\u003e?`, SimpleModalType.DANGER, modalContent);"},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" modalRef.result.then(() \u003d\u003e {"},{"lineNumber":137,"author":{"gitId":"dishenggg"},"content":" this.accountService.deleteAccountRequest(accountRequest.id)"},{"lineNumber":138,"author":{"gitId":"domoberzin"},"content":" .subscribe({"},{"lineNumber":139,"author":{"gitId":"domoberzin"},"content":" next: (resp: MessageOutput) \u003d\u003e {"},{"lineNumber":140,"author":{"gitId":"domoberzin"},"content":" this.statusMessageService.showSuccessToast(resp.message);"},{"lineNumber":141,"author":{"gitId":"domoberzin"},"content":" this.accountRequests \u003d this.accountRequests.filter((x: AccountRequestTableRowModel) \u003d\u003e x !\u003d\u003d accountRequest);"},{"lineNumber":142,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":143,"author":{"gitId":"domoberzin"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":144,"author":{"gitId":"domoberzin"},"content":" this.statusMessageService.showErrorToast(resp.error.message);"},{"lineNumber":145,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":146,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":147,"author":{"gitId":"domoberzin"},"content":" }, () \u003d\u003e {});"},{"lineNumber":148,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":149,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":150,"author":{"gitId":"domoberzin"},"content":" viewAccountRequest(accountRequest: AccountRequestTableRowModel): void {"},{"lineNumber":151,"author":{"gitId":"domoberzin"},"content":" const modalContent: string \u003d `\u003cstrong\u003eComment:\u003c/strong\u003e ${accountRequest.comments || \u0027No comments\u0027}`;"},{"lineNumber":152,"author":{"gitId":"domoberzin"},"content":" const modalRef: NgbModalRef \u003d this.simpleModalService.openInformationModal("},{"lineNumber":153,"author":{"gitId":"domoberzin"},"content":" `Comments for \u003cstrong\u003e${accountRequest.name}\u003c/strong\u003e Request`, SimpleModalType.INFO, modalContent);"},{"lineNumber":154,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":155,"author":{"gitId":"domoberzin"},"content":" modalRef.result.then(() \u003d\u003e {}, () \u003d\u003e {});"},{"lineNumber":156,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":157,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":158,"author":{"gitId":"domoberzin"},"content":" rejectAccountRequest(accountRequest: AccountRequestTableRowModel): void {"},{"lineNumber":159,"author":{"gitId":"domoberzin"},"content":" this.accountService.rejectAccountRequest(accountRequest.id)"},{"lineNumber":160,"author":{"gitId":"domoberzin"},"content":" .subscribe({"},{"lineNumber":161,"author":{"gitId":"domoberzin"},"content":" next: (resp : AccountRequest) \u003d\u003e {"},{"lineNumber":162,"author":{"gitId":"domoberzin"},"content":" accountRequest.status \u003d resp.status;"},{"lineNumber":163,"author":{"gitId":"domoberzin"},"content":" this.statusMessageService.showSuccessToast(\u0027Account request was successfully rejected.\u0027);"},{"lineNumber":164,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":165,"author":{"gitId":"domoberzin"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":166,"author":{"gitId":"domoberzin"},"content":" this.statusMessageService.showErrorToast(resp.error.message);"},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":168,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":169,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":171,"author":{"gitId":"domoberzin"},"content":" rejectAccountRequestWithReason(accountRequest: AccountRequestTableRowModel): void {"},{"lineNumber":172,"author":{"gitId":"domoberzin"},"content":" const modalRef: NgbModalRef \u003d this.ngbModal.open(RejectWithReasonModalComponent);"},{"lineNumber":173,"author":{"gitId":"domoberzin"},"content":" modalRef.componentInstance.accountRequestName \u003d accountRequest.name;"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":" modalRef.componentInstance.accountRequestEmail \u003d accountRequest.email;"},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":" modalRef.result.then(() \u003d\u003e {"},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" this.accountService.rejectAccountRequest(accountRequest.id,"},{"lineNumber":178,"author":{"gitId":"domoberzin"},"content":" modalRef.componentInstance.rejectionReasonTitle, modalRef.componentInstance.rejectionReasonBody)"},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":" .subscribe({"},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":" next: (resp: AccountRequest) \u003d\u003e {"},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":" accountRequest.status \u003d resp.status;"},{"lineNumber":182,"author":{"gitId":"domoberzin"},"content":" this.statusMessageService.showSuccessToast("},{"lineNumber":183,"author":{"gitId":"domoberzin"},"content":" `Account request was successfully rejected. Email has been sent to ${accountRequest.email}.`,"},{"lineNumber":184,"author":{"gitId":"domoberzin"},"content":" );"},{"lineNumber":185,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":186,"author":{"gitId":"domoberzin"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":187,"author":{"gitId":"domoberzin"},"content":" this.statusMessageService.showErrorToast(resp.error.message);"},{"lineNumber":188,"author":{"gitId":"domoberzin"},"content":" },"},{"lineNumber":189,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":190,"author":{"gitId":"domoberzin"},"content":" }, () \u003d\u003e {});"},{"lineNumber":191,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":192,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":193,"author":{"gitId":"domoberzin"},"content":" trackAccountRequest(accountRequest: AccountRequestTableRowModel): string {"},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" return accountRequest.id;"},{"lineNumber":195,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":196,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":194,"dishenggg":2}},{"path":"src/web/app/components/account-requests-table/account-request-table.module.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"import { CommonModule } from \u0027@angular/common\u0027;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":"import { NgModule } from \u0027@angular/core\u0027;"},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import { FormsModule } from \u0027@angular/forms\u0027;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import { NgbTooltipModule, NgbDropdownModule } from \u0027@ng-bootstrap/ng-bootstrap\u0027;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import { AccountRequestTableComponent } from \u0027./account-request-table.component\u0027;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import { EditRequestModalComponent } from \u0027./admin-edit-request-modal/admin-edit-request-modal.component\u0027;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import {"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":" RejectWithReasonModalComponent,"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"} from \u0027./admin-reject-with-reason-modal/admin-reject-with-reason-modal.component\u0027;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import { Pipes } from \u0027../../pipes/pipes.module\u0027;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import { RichTextEditorModule } from \u0027../rich-text-editor/rich-text-editor.module\u0027;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":" * Module for account requests table."},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"@NgModule({"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" declarations: ["},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" AccountRequestTableComponent,"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" EditRequestModalComponent,"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" RejectWithReasonModalComponent,"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" ],"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" exports: ["},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" AccountRequestTableComponent,"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" ],"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" imports: ["},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" CommonModule,"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" FormsModule,"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" NgbTooltipModule,"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" NgbDropdownModule,"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" Pipes,"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" RichTextEditorModule,"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" ],"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":"})"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":"export class AccountRequestTableModule { }"}],"authorContributionMap":{"domoberzin":34}},{"path":"src/web/app/components/account-requests-table/admin-edit-request-modal/admin-edit-request-modal-model.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":" * Result of {@link EditRequestModalComponent}"},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"export interface EditRequestModalComponentResult {"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":" accountRequestName: string;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":" accountRequestEmail: string;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":" accountRequestInstitution: string;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":" accountRequestComment: string;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":9}},{"path":"src/web/app/components/account-requests-table/admin-edit-request-modal/admin-edit-request-modal.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"\u003cdiv class\u003d\"modal-header bg-primary\"\u003e"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":" \u003ch5 class\u003d\"modal-title text-white\"\u003e"},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":" \u003cdiv\u003eEdit Account Request for {{ accountRequestName }}\u003c/div\u003e"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":" \u003c/h5\u003e"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn-close\" (click)\u003d\"activeModal.dismiss()\"\u003e\u003c/button\u003e"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":" \u003cdiv id\u003d\"reject-account-request-modal\" class\u003d\"modal-body\"\u003e"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":" \u003cdiv\u003e"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":" \u003clabel\u003e\u003cb\u003eName:\u003c/b\u003e\u003c/label\u003e"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":" \u003cinput id\u003d\"request-name\" type\u003d\"text\" class\u003d\"form-control\" value\u003d\"{{ accountRequestName }}\" (input)\u003d\"accountRequestName \u003d $event.target.value\"\u003e"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":" \u003cdiv\u003e"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":" \u003clabel\u003e\u003cb\u003eEmail:\u003c/b\u003e\u003c/label\u003e"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":" \u003cinput id\u003d\"request-email\" type\u003d\"text\" class\u003d\"form-control\" value\u003d\"{{ accountRequestEmail }}\" (input)\u003d\"accountRequestEmail \u003d $event.target.value\"\u003e"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":" \u003cdiv\u003e"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" \u003clabel\u003e\u003cb\u003eInstitution, Country:\u003c/b\u003e\u003c/label\u003e"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" \u003cinput id\u003d\"request-institution\" type\u003d\"text\" class\u003d\"form-control\" value\u003d\"{{ accountRequestInstitution }}\" (input)\u003d\"accountRequestInstitution \u003d $event.target.value\"\u003e"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" \u003cdiv class\u003d\"row\"\u003e"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" \u003cdiv\u003e"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" \u003clabel\u003e\u003cb\u003eComments:\u003c/b\u003e\u003c/label\u003e"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" \u003cdiv class\u003d\"form-group\"\u003e"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" \u003ctextarea id\u003d\"request-comments\" class\u003d\"form-control\" rows\u003d\"5\" value\u003d\"{{ accountRequestComments }}\" (input)\u003d\"accountRequestComments \u003d $event.target.value\"\u003e\u003c/textarea\u003e"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" \u003cdiv class\u003d\"modal-footer\"\u003e"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn btn-light\" (click)\u003d\"activeModal.dismiss()\"\u003eCancel\u003c/button\u003e"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" \u003cbutton id\u003d\"btn-confirm-edit-request\" type\u003d\"button\" class\u003d\"btn btn-primary\" (click)\u003d\"edit()\"\u003e"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" Save"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" \u003c/button\u003e"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"}],"authorContributionMap":{"domoberzin":34}},{"path":"src/web/app/components/account-requests-table/admin-edit-request-modal/admin-edit-request-modal.component.spec.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"import { HttpClientTestingModule } from \u0027@angular/common/http/testing\u0027;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":"import { ComponentFixture, TestBed, waitForAsync } from \u0027@angular/core/testing\u0027;"},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import { NgbActiveModal } from \u0027@ng-bootstrap/ng-bootstrap\u0027;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import { EditRequestModalComponent } from \u0027./admin-edit-request-modal.component\u0027;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"describe(\u0027RejectWithReasonModal\u0027, () \u003d\u003e {"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":" let fixture: ComponentFixture\u003cEditRequestModalComponent\u003e;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":" let component: EditRequestModalComponent;"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":" beforeEach(waitForAsync(() \u003d\u003e {"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":" TestBed.configureTestingModule({"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":" declarations: [],"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":" imports: ["},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":" HttpClientTestingModule,"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":" ],"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":" providers: [NgbActiveModal],"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" })"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" .compileComponents();"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" }));"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" beforeEach(() \u003d\u003e {"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" fixture \u003d TestBed.createComponent(EditRequestModalComponent);"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" component \u003d fixture.componentInstance;"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" it(\u0027should create\u0027, () \u003d\u003e {"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" expect(component).toBeTruthy();"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" it(\u0027should show empty fields\u0027, () \u003d\u003e {"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" it(\u0027should show populated data\u0027, () \u003d\u003e {"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" component.accountRequestName \u003d \u0027John Doe\u0027;"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" component.accountRequestEmail \u003d \u0027johndoe@email.com\u0027;"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" component.accountRequestInstitution \u003d \u0027NUS\u0027;"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" component.accountRequestComments \u003d \u0027Comments\u0027;"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" it(\u0027should close modal with data\u0027, () \u003d\u003e {"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" const spyActiveModal \u003d jest.spyOn(component.activeModal, \u0027close\u0027);"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" component.accountRequestName \u003d \u0027John Doe\u0027;"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" component.accountRequestEmail \u003d \u0027johndoe@email.com\u0027;"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" component.accountRequestInstitution \u003d \u0027NUS\u0027;"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" component.accountRequestComments \u003d \u0027Comments\u0027;"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" component.edit();"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" expect(spyActiveModal).toHaveBeenCalled();"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":" expect(spyActiveModal).toHaveBeenCalledWith({"},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" accountRequestName: \u0027John Doe\u0027,"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" accountRequestEmail: \u0027johndoe@email.com\u0027,"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" accountRequestInstitution: \u0027NUS\u0027,"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" accountRequestComment: \u0027Comments\u0027,"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":"});"}],"authorContributionMap":{"domoberzin":60}},{"path":"src/web/app/components/account-requests-table/admin-edit-request-modal/admin-edit-request-modal.component.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"import { Component, Input } from \u0027@angular/core\u0027;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":"import { NgbActiveModal } from \u0027@ng-bootstrap/ng-bootstrap\u0027;"},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import { EditRequestModalComponentResult } from \u0027./admin-edit-request-modal-model\u0027;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":" * Modal to select reject account requests with reason."},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"@Component({"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":" selector: \u0027tm-edit-request-modal\u0027,"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":" templateUrl: \u0027./admin-edit-request-modal.component.html\u0027,"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":" styleUrls: [\u0027./admin-edit-request-modal.component.scss\u0027],"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":"})"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"export class EditRequestModalComponent {"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":" @Input()"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" accountRequestName: string \u003d \u0027\u0027;"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" @Input()"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" accountRequestEmail: string \u003d \u0027\u0027;"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" @Input()"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" accountRequestInstitution: string \u003d \u0027\u0027;"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" @Input()"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" accountRequestComments: string \u003d \u0027\u0027;"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" constructor(public activeModal: NgbActiveModal) {}"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" * Fires the edit event."},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" edit(): void {"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" const result: EditRequestModalComponentResult \u003d {"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" accountRequestName: this.accountRequestName,"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" accountRequestEmail: this.accountRequestEmail,"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" accountRequestInstitution: this.accountRequestInstitution,"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" accountRequestComment: this.accountRequestComments,"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" this.activeModal.close(result);"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":40}},{"path":"src/web/app/components/account-requests-table/admin-reject-with-reason-modal/admin-reject-with-reason-modal-model.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"export interface RejectWithReasonModalComponentResult {"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":" rejectionReasonTitle: string;"},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":" rejectionReasonBody: string;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":4}},{"path":"src/web/app/components/account-requests-table/admin-reject-with-reason-modal/admin-reject-with-reason-modal.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"\u003cdiv class\u003d\"modal-header bg-warning\"\u003e"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":" \u003ch5 class\u003d\"modal-title\"\u003e"},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":" \u003cdiv\u003eReject Account Request for {{ accountRequestName }} With Reason\u003c/div\u003e"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":" \u003c/h5\u003e"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn-close\" (click)\u003d\"activeModal.dismiss()\"\u003e\u003c/button\u003e"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"\u003c/div\u003e"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"\u003cdiv id\u003d\"reject-account-request-modal\" class\u003d\"modal-body\"\u003e"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":" \u003cdiv class\u003d\"row\"\u003e"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":" \u003cdiv\u003e"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":" \u003clabel\u003e\u003cb\u003eRejection Message Title:\u003c/b\u003e\u003c/label\u003e"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":" \u003cdiv class\u003d\"form-group\"\u003e"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":" \u003cinput id\u003d\"rejection-reason-title\" type\u003d\"text\" class\u003d\"form-control\" rows\u003d\"5\" value\u003d\"{{ rejectionReasonTitle }}\" (input)\u003d\"rejectionReasonTitle \u003d $event.target.value\"\u003e"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":" \u003cdiv\u003e"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" \u003clabel\u003e\u003cb\u003eRejection Message Body:\u003c/b\u003e\u003c/label\u003e"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" \u003c/div\u003e"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" \u003ctm-rich-text-editor id\u003d\"rejection-reason-body\" [richText]\u003d\"rejectionReasonBody\" (richTextChange)\u003d\"onRejectionReasonBodyChange($event)\"\u003e\u003c/tm-rich-text-editor\u003e"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":"\u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":"\u003cdiv class\u003d\"modal-footer\"\u003e"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" \u003cbutton id\u003d\"btn-cancel-reject-request\" type\u003d\"button\" class\u003d\"btn btn-light\" (click)\u003d\"activeModal.dismiss()\"\u003eCancel\u003c/button\u003e"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":" \u003cbutton id\u003d\"btn-confirm-reject-request\" type\u003d\"button\" class\u003d\"btn btn-warning\" (click)\u003d\"reject()\"\u003e"},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" Reject"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" \u003c/button\u003e"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"domoberzin":26}},{"path":"src/web/app/components/account-requests-table/admin-reject-with-reason-modal/admin-reject-with-reason-modal.component.spec.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"import { HttpClientTestingModule } from \u0027@angular/common/http/testing\u0027;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":"import { ComponentFixture, TestBed, waitForAsync } from \u0027@angular/core/testing\u0027;"},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import { By } from \u0027@angular/platform-browser\u0027;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import { NgbActiveModal } from \u0027@ng-bootstrap/ng-bootstrap\u0027;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import { RejectWithReasonModalComponent } from \u0027./admin-reject-with-reason-modal.component\u0027;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":"import { StatusMessageService } from \u0027../../../../services/status-message.service\u0027;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"describe(\u0027RejectWithReasonModal\u0027, () \u003d\u003e {"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":" let statusMessageService: StatusMessageService;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":" let fixture: ComponentFixture\u003cRejectWithReasonModalComponent\u003e;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":" let component: RejectWithReasonModalComponent;"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":" beforeEach(waitForAsync(() \u003d\u003e {"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":" TestBed.configureTestingModule({"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":" declarations: [],"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":" imports: ["},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" HttpClientTestingModule,"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" ],"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" providers: [NgbActiveModal, StatusMessageService],"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":" })"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" .compileComponents();"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" }));"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" beforeEach(() \u003d\u003e {"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" fixture \u003d TestBed.createComponent(RejectWithReasonModalComponent);"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" statusMessageService \u003d TestBed.inject(StatusMessageService);"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" component \u003d fixture.componentInstance;"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" it(\u0027should create\u0027, () \u003d\u003e {"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" expect(component).toBeTruthy();"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" it(\u0027should show empty title and body\u0027, () \u003d\u003e {"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" it(\u0027should show error message when title is empty upon submitting\u0027, () \u003d\u003e {"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" component.rejectionReasonTitle \u003d \u0027\u0027;"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" const spyStatusMessageService \u003d jest.spyOn(statusMessageService, \u0027showErrorToast\u0027)"},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" .mockImplementation((args: string) \u003d\u003e {"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" expect(args).toEqual(\u0027Please provide a title for the rejection email.\u0027);"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" const rejectButton: any \u003d fixture.debugElement.query(By.css(\u0027#btn-confirm-reject-request\u0027));"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":" rejectButton.nativeElement.click();"},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" expect(spyStatusMessageService).toHaveBeenCalled();"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" it(\u0027should show error message when body is empty upon submitting\u0027, () \u003d\u003e {"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" component.rejectionReasonBody \u003d \u0027\u0027;"},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":" const spyStatusMessageService \u003d jest.spyOn(statusMessageService, \u0027showErrorToast\u0027)"},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" .mockImplementation((args: string) \u003d\u003e {"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" expect(args).toEqual(\u0027Please provide an email body for the rejection email.\u0027);"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":" const rejectButton: any \u003d fixture.debugElement.query(By.css(\u0027#btn-confirm-reject-request\u0027));"},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" rejectButton.nativeElement.click();"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" expect(spyStatusMessageService).toHaveBeenCalled();"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":" it(\u0027should close modal with data\u0027, () \u003d\u003e {"},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" const spyActiveModal \u003d jest.spyOn(component.activeModal, \u0027close\u0027);"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" component.rejectionReasonTitle \u003d \u0027Rejection Title\u0027;"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" component.rejectionReasonBody \u003d \u0027Rejection Body\u0027;"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" fixture.detectChanges();"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":" component.reject();"},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" expect(spyActiveModal).toHaveBeenCalled();"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" expect(spyActiveModal).toHaveBeenCalledWith({"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":" rejectionReasonTitle: \u0027Rejection Title\u0027,"},{"lineNumber":77,"author":{"gitId":"domoberzin"},"content":" rejectionReasonBody: \u0027Rejection Body\u0027,"},{"lineNumber":78,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":79,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":80,"author":{"gitId":"domoberzin"},"content":"});"}],"authorContributionMap":{"domoberzin":80}},{"path":"src/web/app/components/account-requests-table/admin-reject-with-reason-modal/admin-reject-with-reason-modal.component.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"domoberzin"},"content":"import { Component, Input, OnInit } from \u0027@angular/core\u0027;"},{"lineNumber":2,"author":{"gitId":"domoberzin"},"content":"import { NgbActiveModal } from \u0027@ng-bootstrap/ng-bootstrap\u0027;"},{"lineNumber":3,"author":{"gitId":"domoberzin"},"content":"import { RejectWithReasonModalComponentResult } from \u0027./admin-reject-with-reason-modal-model\u0027;"},{"lineNumber":4,"author":{"gitId":"domoberzin"},"content":"import { environment } from \u0027../../../../environments/environment\u0027;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import { StatusMessageService } from \u0027../../../../services/status-message.service\u0027;"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"/**"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":" * Modal to select reject account requests with reason."},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"@Component({"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":" selector: \u0027tm-reject-with-reason-modal\u0027,"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":" templateUrl: \u0027./admin-reject-with-reason-modal.component.html\u0027,"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":" styleUrls: [\u0027./admin-reject-with-reason-modal.component.scss\u0027],"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"})"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"export class RejectWithReasonModalComponent implements OnInit {"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":" @Input()"},{"lineNumber":19,"author":{"gitId":"domoberzin"},"content":" accountRequestName: string \u003d \u0027\u0027;"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":" @Input()"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" accountRequestEmail: string \u003d \u0027\u0027;"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":24,"author":{"gitId":"domoberzin"},"content":" rejectionReasonBody: string \u003d \u0027\u003cp\u003eHi, {accountRequestName} \u003c/p\u003e\\n\\n\u0027"},{"lineNumber":25,"author":{"gitId":"domoberzin"},"content":" + \u0027\u003cp\u003eThanks for your interest in using TEAMMATES. \u0027"},{"lineNumber":26,"author":{"gitId":"domoberzin"},"content":" + \u0027We are unable to create a TEAMMATES instructor account for you.\u003c/p\u003e\u0027"},{"lineNumber":27,"author":{"gitId":"domoberzin"},"content":" + \u0027\u003cp\u003e\u003cstrong\u003eReason:\u003c/strong\u003e The email address you provided is not an \u0026#39;official\u0026#39; \u0027"},{"lineNumber":28,"author":{"gitId":"domoberzin"},"content":" + \u0027email address provided by your institution.\u003cbr /\u003e\u0027"},{"lineNumber":29,"author":{"gitId":"domoberzin"},"content":" + \u0027\u003cstrong\u003eRemedy:\u003c/strong\u003e Please re-submit an account request with your \u0026#39;official\u0026#39; \u0027"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" + \u0027institution email address.\u003c/p\u003e\\n\\n\u0027"},{"lineNumber":31,"author":{"gitId":"domoberzin"},"content":" + \u0027\u003cp\u003e\u003cstrong\u003eReason:\u003c/strong\u003e The email address you have provided seems like it belongs to a student \u0027"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" + \u0027(i.e., not a staff member) of your institution.\u003cbr /\u003e\u0027"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" + \u0027\u003cstrong\u003eRemedy:\u003c/strong\u003e If you are a student but you still need an instructor account, \u0027"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" + \u0027please send your justification to {supportEmail}\u003c/p\u003e\\n\\n\u0027"},{"lineNumber":35,"author":{"gitId":"domoberzin"},"content":" + \u0027\u003cp\u003e\u003cstrong\u003eReason:\u003c/strong\u003e You already have an account for this email address and this institution.\u003cbr /\u003e\u0027"},{"lineNumber":36,"author":{"gitId":"domoberzin"},"content":" + \u0027\u003cstrong\u003eRemedy:\u003c/strong\u003e You can login to TEAMMATES using your Google account {existingEmail} \u003c/p\u003e\\n\\n\u0027"},{"lineNumber":37,"author":{"gitId":"domoberzin"},"content":" + \u0027\u003cp\u003eIf you need further clarification or would like to appeal this decision, please \u0027"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" + \u0027feel free to contact us at {supportEmail}\u003c/p\u003e\u0027"},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" + \u0027\u003cp\u003eRegards,\u003cbr /\u003eTEAMMATES Team.\u003c/p\u003e\u0027;"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" rejectionReasonTitle: string \u003d \u0027We are Unable to Create an Account for you\u0027;"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":42,"author":{"gitId":"domoberzin"},"content":" constructor(public activeModal: NgbActiveModal, public statusMessageService: StatusMessageService) {}"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":44,"author":{"gitId":"domoberzin"},"content":" ngOnInit(): void {"},{"lineNumber":45,"author":{"gitId":"domoberzin"},"content":" this.rejectionReasonBody \u003d this.rejectionReasonBody.replace(\u0027{accountRequestName}\u0027, this.accountRequestName);"},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" this.rejectionReasonBody \u003d this.rejectionReasonBody.replace(\u0027{existingEmail}\u0027, this.accountRequestEmail);"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" this.rejectionReasonBody \u003d this.rejectionReasonBody.replaceAll(\u0027{supportEmail}\u0027, environment.supportEmail);"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":50,"author":{"gitId":"domoberzin"},"content":" onRejectionReasonBodyChange(updatedText: string): void {"},{"lineNumber":51,"author":{"gitId":"domoberzin"},"content":" this.rejectionReasonBody \u003d updatedText;"},{"lineNumber":52,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":53,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":54,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":55,"author":{"gitId":"domoberzin"},"content":" * Fires the reject event."},{"lineNumber":56,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":57,"author":{"gitId":"domoberzin"},"content":" reject(): void {"},{"lineNumber":58,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":59,"author":{"gitId":"domoberzin"},"content":" if (!this.rejectionReasonBody || this.rejectionReasonBody.length \u003d\u003d\u003d 0) {"},{"lineNumber":60,"author":{"gitId":"domoberzin"},"content":" this.statusMessageService.showErrorToast(\u0027Please provide an email body for the rejection email.\u0027);"},{"lineNumber":61,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":62,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":63,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":64,"author":{"gitId":"domoberzin"},"content":" if (!this.rejectionReasonTitle || this.rejectionReasonTitle.length \u003d\u003d\u003d 0) {"},{"lineNumber":65,"author":{"gitId":"domoberzin"},"content":" this.statusMessageService.showErrorToast(\u0027Please provide a title for the rejection email.\u0027);"},{"lineNumber":66,"author":{"gitId":"domoberzin"},"content":" return;"},{"lineNumber":67,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":68,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":69,"author":{"gitId":"domoberzin"},"content":" const result: RejectWithReasonModalComponentResult \u003d {"},{"lineNumber":70,"author":{"gitId":"domoberzin"},"content":" rejectionReasonTitle: this.rejectionReasonTitle,"},{"lineNumber":71,"author":{"gitId":"domoberzin"},"content":" rejectionReasonBody: this.rejectionReasonBody,"},{"lineNumber":72,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":73,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":74,"author":{"gitId":"domoberzin"},"content":" this.activeModal.close(result);"},{"lineNumber":75,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":76,"author":{"gitId":"domoberzin"},"content":"}"}],"authorContributionMap":{"domoberzin":76}},{"path":"src/web/app/components/comment-box/comment-row/comment-row.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctm-comment-edit-form *ngIf\u003d\"model.isEditing || mode \u003d\u003d\u003d CommentRowMode.ADD\""},{"lineNumber":2,"author":{"gitId":"-"},"content":" [mode]\u003d\"mode\""},{"lineNumber":3,"author":{"gitId":"-"},"content":" [model]\u003d\"model.commentEditFormModel\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" (modelChange)\u003d\"triggerModelChange(\u0027commentEditFormModel\u0027, $event)\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" [isVisibilityOptionEnabled]\u003d\"isVisibilityOptionEnabled\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" [isDisabled]\u003d\"isDisabled\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" [shouldHideSavingButton]\u003d\"shouldHideSavingButton\""},{"lineNumber":8,"author":{"gitId":"-"},"content":" [questionShowResponsesTo]\u003d\"questionShowResponsesTo\""},{"lineNumber":9,"author":{"gitId":"-"},"content":" [response]\u003d\"response\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" [isFeedbackParticipantComment]\u003d\"isFeedbackParticipantComment\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" [shouldHideClosingButton]\u003d\"shouldHideClosingButton\""},{"lineNumber":12,"author":{"gitId":"-"},"content":" (closeCommentBoxEvent)\u003d\"triggerCloseEditing()\""},{"lineNumber":13,"author":{"gitId":"-"},"content":" (saveCommentEvent)\u003d\"triggerSaveCommentEvent()\"\u003e\u003c/tm-comment-edit-form\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"card\" *ngIf\u003d\"!model.isEditing \u0026\u0026 mode \u003d\u003d\u003d CommentRowMode.EDIT \u0026\u0026 model.originalComment\"\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row comment-row\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"by-response-giver text-secondary\" *ngIf\u003d\"isFeedbackParticipantComment\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" Comment by response giver."},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":22,"author":{"gitId":"yuanxi1"},"content":" \u003cng-container class\u003d\"text-secondary\" *ngIf\u003d\"!isFeedbackParticipantComment\"\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"comment-giver-name\"\u003e{{ model.commentGiverName ? model.commentGiverName : model.originalComment.commentGiver }} commented at \u003c/span\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"ngb-tooltip-class\" style\u003d\"margin-right: .25rem;\" [ngbTooltip]\u003d\"model.originalComment.createdAt | formatDateDetail: model.timezone!\"\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" {{ model.originalComment.createdAt | formatDateBrief: model.timezone! }}\u003c/span\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003cng-container *ngIf\u003d\"model.originalComment.lastEditedAt \u0026\u0026 model.originalComment.lastEditedAt !\u003d\u003d model.originalComment.createdAt\"\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-circle dot-xs align-middle\" style\u003d\"margin-right: .25rem;\"\u003e\u003c/i\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003cspan id\u003d\"last-editor-name\" style\u003d\"margin-right: .25rem;\" class\u003d\"ngb-tooltip-class\""},{"lineNumber":29,"author":{"gitId":"-"},"content":" [ngbTooltip]\u003d\"model.originalComment.lastEditedAt | formatDateDetail: model.timezone!\"\u003eedited by {{ model.lastEditorName ? model.lastEditorName : model.originalComment.lastEditorEmail }}\u003c/span\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003c/ng-container\u003e"},{"lineNumber":31,"author":{"gitId":"yuanxi1"},"content":" \u003c/ng-container\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fa fa-eye\" aria-hidden\u003d\"true\" ngbTooltip\u003d\"This response comment is visible to {{ visibilityStateMachine.getVisibilityTypesUnderVisibilityControl(CommentVisibilityControl.SHOW_COMMENT) | commentVisibilityTypesJointName }}\"\u003e\u003c/i\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"float-end\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn-edit-comment btn btn-outline-primary btn-sm\" *ngIf\u003d\"!shouldHideEditButton\" ngbTooltip\u003d\u0027Edit this comment\u0027"},{"lineNumber":37,"author":{"gitId":"-"},"content":" (click)\u003d\"triggerModelChange(\u0027isEditing\u0027, true)\" [disabled]\u003d\"isDisabled\"\u003e\u003ci class\u003d\"fas fa-pencil-alt\"\u003e\u003c/i\u003e\u003c/button\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn-delete-comment btn btn-outline-primary btn-sm btn-margin-left\" *ngIf\u003d\"!shouldHideDeleteButton\" ngbTooltip\u003d\u0027Delete this comment\u0027"},{"lineNumber":39,"author":{"gitId":"-"},"content":" (click)\u003d\"triggerDeleteCommentEvent()\" [disabled]\u003d\"isDisabled\"\u003e\u003ci class\u003d\"fas fa-trash\"\u003e\u003c/i\u003e\u003c/button\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"comment-text col-12\" [innerHTML]\u003d\"model.originalComment.commentText | safeHtml\"\u003e\u003c/div\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"yuanxi1":2,"-":43}},{"path":"src/web/app/components/notification-banner/notification-banner.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"yuanxi1"},"content":"\u003cdiv id\u003d\"notification-banner\" class\u003d\"banner\" [ngClass]\u003d\"notifications[0].style | notificationStyleClass\" *ngIf\u003d\"isShown \u0026\u0026 notifications.length \u003e 0\" [attr.data-testid]\u003d\"notifications[0].notificationId\" @collapseAnim\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-close-notif\" type\u003d\"button\" class\u003d\"btn-close\" aria-label\u003d\"Close\" (click)\u003d\"closeNotification()\"\u003e\u003c/button\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003ch5\u003e{{ notifications[0].title }}\u003c/h5\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"banner-text\" [innerHTML]\u003d\"notifications[0].message\"\u003e\u003c/div\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"d-flex flex-row-reverse mt-3 me-2\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-mark-as-read\" type\u003d\"button\" [ngClass]\u003d\"getButtonClass(notifications[0])\" (click)\u003d\"markNotificationAsRead(notifications[0])\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" Mark as Read"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"yuanxi1":1,"-":9}},{"path":"src/web/app/components/session-edit-form/session-edit-form.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"session-edit-form\" class\u003d\"card card-plain\"\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"close-header\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.ADD\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn-close\" aria-label\u003d\"Close\" (click)\u003d\"closeEditFormHandler()\"\u003e\u003c/button\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.ADD\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-lg-7\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row mb-2\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 col-sm-3 session-heading-text\"\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003ch5\u003eCreate new\u003c/h5\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 col-sm-9 create-new-dropdown-div\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cselect id\u003d\"session-type\" class\u003d\"form-control form-select\" [ngModel]\u003d\"model.templateSessionName\" (ngModelChange)\u003d\"triggerModelChange(\u0027templateSessionName\u0027, $event)\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003coption *ngFor\u003d\"let templateSession of templateSessions\" [ngValue]\u003d\"templateSession.name\"\u003e{{ templateSession.name }}\u003c/option\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/select\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003ca type\u003d\"button\" class\u003d\"btn btn-link\" tmRouterLink\u003d\"/web/instructor/help\" [queryParams]\u003d\"{ questionId: \u0027sessions\u0027, section: \u0027sessions\u0027 }\" target\u003d\"_blank\" aria-label\u003d\"Help for feedback sessions\"\u003e\u003ci class\u003d\"fas fa-info-circle\"\u003e\u003c/i\u003e\u003c/a\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-lg-5\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row\"\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 col-sm-3 col-lg-1 session-heading-text\"\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003ch5\u003eOr\u003c/h5\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 col-sm-9 col-lg-11 text-md-start\"\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-copy-session\" type\u003d\"button\" class\u003d\"btn btn-info\" (click)\u003d\"copyOthersHandler()\"\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003cspan\u003eCopy from previous feedback sessions\u003c/span\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"padding-left-7px\"\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003ctm-ajax-loading *ngIf\u003d\"isCopyOtherSessionLoading\"\u003e\u003c/tm-ajax-loading\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.EDIT\"\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 text-center text-md-end session-form-buttons\"\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-fs-edit\" type\u003d\"button\" class\u003d\"btn btn-primary\" (click)\u003d\"triggerModelChange(\u0027isEditable\u0027, true)\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.EDIT \u0026\u0026 !model.isEditable \u0026\u0026 !model.isSaving\"\u003e\u003ci class\u003d\"fas fa-pencil-alt\"\u003e\u003c/i\u003e Edit\u003c/button\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-fs-save\" type\u003d\"button\" class\u003d\"btn btn-primary\" (click)\u003d\"submitFormHandler()\" [disabled]\u003d\"model.isSaving\" *ngIf\u003d\"model.isEditable || model.isSaving\"\u003e\u003ctm-ajax-loading *ngIf\u003d\"model.isSaving\"\u003e\u003c/tm-ajax-loading\u003e \u003ci class\u003d\"fas fa-check\"\u003e\u003c/i\u003e Save\u003c/button\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn btn-primary\" ngbTooltip\u003d\"Discard changes to the feedback session\" (click)\u003d\"cancelHandler()\" *ngIf\u003d\"model.isEditable\" [disabled]\u003d\"model.isSaving\"\u003e\u003ci class\u003d\"fas fa-ban\"\u003e\u003c/i\u003e Cancel\u003c/button\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-fs-delete\" type\u003d\"button\" class\u003d\"btn btn-primary\" ngbTooltip\u003d\"Delete the feedback session\" (click)\u003d\"deleteHandler()\" [disabled]\u003d\"model.isSaving\"\u003e\u003ctm-ajax-loading *ngIf\u003d\"model.isDeleting\"\u003e\u003c/tm-ajax-loading\u003e\u003ci class\u003d\"fas fa-trash\"\u003e\u003c/i\u003e Delete\u003c/button\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-fs-copy\" type\u003d\"button\" class\u003d\"btn btn-primary\" ngbTooltip\u003d\"Copy this feedback session to other courses\" (click)\u003d\"copyHandler()\" [disabled]\u003d\"model.isSaving\"\u003e\u003ctm-ajax-loading *ngIf\u003d\"model.isCopying\"\u003e\u003c/tm-ajax-loading\u003e\u003ci class\u003d\"far fa-copy\"\u003e\u003c/i\u003e Copy\u003c/button\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card border-primary margin-top-20px\"\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 text-md-end font-bold\" [ngClass]\u003d\"{\u0027col-form-label\u0027: formMode \u003d\u003d\u003d SessionEditFormMode.ADD}\"\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"ngb-tooltip-class\" ngbTooltip\u003d\"Course for which the feedback session is for.\"\u003eCourse ID\u003c/span\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-auto text-md-start\"\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.ADD\"\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003cselect id\u003d\"add-course-id\" class\u003d\"form-control form-select\" [ngClass]\u003d\"{\u0027is-invalid\u0027: courseCandidates.length \u003d\u003d\u003d 0}\" [ngModel]\u003d\"model.courseId\" (ngModelChange)\u003d\"courseIdChangeHandler($event)\" [disabled]\u003d\"courseCandidates.length \u003d\u003d\u003d 0\"\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003coption *ngFor\u003d\"let course of courseCandidates\" [ngValue]\u003d\"course.courseId\"\u003e{{ course.courseId }}\u003c/option\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003c/select\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"invalid-feedback\" *ngIf\u003d\"courseCandidates.length \u003d\u003d\u003d 0\"\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" There is no un-archived course."},{"lineNumber":59,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"edit-course-id\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.EDIT\"\u003e {{ model.courseId }} \u003c/div\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" \u003cbr/\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 text-md-end font-bold\" [ngClass]\u003d\"{\u0027col-form-label\u0027: formMode \u003d\u003d\u003d SessionEditFormMode.ADD}\"\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":" Time Zone"},{"lineNumber":68,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"time-zone\" class\u003d\"col-md-3 text-md-start\" [ngClass]\u003d\"{\u0027col-form-label\u0027: formMode \u003d\u003d\u003d SessionEditFormMode.ADD}\"\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"ngb-tooltip-class\" ngbTooltip\u003d\"To change this, edit the course settings. TEAMMATES automatically adjusts to match the current time offset in your area, including clock changes due to daylight saving time.\"\u003e{{ model.timeZone }}\u003c/span\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003cbr/\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 text-md-end font-bold\"\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" Course Name"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"course-name\" class\u003d\"col-md-10 text-md-start\"\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" {{ model.courseName }}"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003cbr/\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 text-md-end font-bold\"\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":" \u003cspan *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.ADD\" class\u003d\"ngb-tooltip-class\" ngbTooltip\u003d\"Enter the name of the feedback session e.g. Feedback Session 1.\"\u003eSession Name*\u003c/span\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":" \u003cspan *ngIf\u003d\"formMode !\u003d\u003d SessionEditFormMode.ADD\"\u003eSession Name\u003c/span\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-10 text-md-start\"\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.ADD\"\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"add-session-name\" type\u003d\"text\" class\u003d\"form-control\" [ngModel]\u003d\"model.feedbackSessionName\" (ngModelChange)\u003d\"triggerModelChange(\u0027feedbackSessionName\u0027, $event)\" placeholder\u003d\"e.g. Feedback for Project Presentation 1\" maxlength\u003d\"64\" required #sessionName\u003d\"ngModel\" /\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":" \u003cdiv [hidden]\u003d\"sessionName.valid || (sessionName.pristine \u0026\u0026 sessionName.untouched)\" class\u003d\"invalid-field\"\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fa fa-exclamation-circle\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" The field Session Name should not be empty."},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \u003cdiv\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":" {{FEEDBACK_SESSION_NAME_MAX_LENGTH - model.feedbackSessionName.length}} characters left"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"edit-session-name\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.EDIT\"\u003e {{ model.feedbackSessionName }} \u003c/div\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003cbr/\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 text-md-end font-bold\"\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"ngb-tooltip-class\" ngbTooltip\u003d\"Will be displayed at the top of the page when users respond to the session.\"\u003eInstructions\u003c/span\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-10 text-md-start\"\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \u003ctm-rich-text-editor id\u003d\"instructions\" [richText]\u003d\"model.instructions\" (richTextChange)\u003d\"triggerModelChange(\u0027instructions\u0027, $event)\" [isDisabled]\u003d\"!model.isEditable\" [hasCharacterLimit]\u003d\"true\"\u003e\u003c/tm-rich-text-editor\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":" \u003cbr/\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.EDIT\"\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 text-md-end font-bold\"\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":" Submission Status"},{"lineNumber":115,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":116,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"submission-status\" class\u003d\"col-md-4 text-md-start\"\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":" {{ model.submissionStatus | submissionStatusName }}"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 text-md-end font-bold mt-3 mt-md-0\"\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":" Published Status"},{"lineNumber":121,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"published-status\" class\u003d\"col-md-4 text-md-start\"\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":" {{ model.publishStatus | publishStatusName }}"},{"lineNumber":124,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card border-primary margin-top-20px\"\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4\"\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 text-md-start\"\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":" \u003cdiv\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class label-control font-bold\" ngbTooltip\u003d\"Users can start submitting responses.\"\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":" Submission opening time"},{"lineNumber":137,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":138,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center align-items-center\"\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"submission-start-date\" class\u003d\"col-md-7 col-xs-center\"\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":" \u003ctm-datepicker [isDisabled]\u003d\"!model.isEditable\" (dateChangeCallback)\u003d\"triggerSubmissionOpeningDateModelChange(\u0027submissionStartDate\u0027, $event)\""},{"lineNumber":143,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForSubmissionStart\" [maxDate]\u003d\"maxDateForSubmissionStart\""},{"lineNumber":144,"author":{"gitId":"-"},"content":" [date]\u003d\"model.submissionStartDate\"\u003e\u003c/tm-datepicker\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-5\"\u003e"},{"lineNumber":147,"author":{"gitId":"-"},"content":" \u003ctm-timepicker id\u003d\"submission-start-time\" [isDisabled]\u003d\"!model.isEditable\" (timeChange)\u003d\"triggerModelChange(\u0027submissionStartTime\u0027, $event)\""},{"lineNumber":148,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForSubmissionStart\" [maxDate]\u003d\"maxDateForSubmissionStart\""},{"lineNumber":149,"author":{"gitId":"-"},"content":" [date]\u003d\"model.submissionStartDate\""},{"lineNumber":150,"author":{"gitId":"-"},"content":" [minTime]\u003d\"minTimeForSubmissionStart\" [maxTime]\u003d\"maxTimeForSubmissionStart\""},{"lineNumber":151,"author":{"gitId":"-"},"content":" [time]\u003d\"model.submissionStartTime\"\u003e\u003c/tm-timepicker\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4 border-left-gray\"\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 text-md-start ms-md-2\"\u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class label-control font-bold\" ngbTooltip\u003d\"No more submissions from users.\"\u003e"},{"lineNumber":159,"author":{"gitId":"-"},"content":" Submission closing time"},{"lineNumber":160,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":162,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":163,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row align-items-center\"\u003e"},{"lineNumber":164,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"submission-end-date\" class\u003d\"col-md-7 col-xs-center\"\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":" \u003ctm-datepicker [isDisabled]\u003d\"!model.isEditable\" (dateChangeCallback)\u003d\"triggerModelChange(\u0027submissionEndDate\u0027, $event)\""},{"lineNumber":166,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForSubmissionEnd\" [maxDate]\u003d\"maxDateForSubmissionEnd\""},{"lineNumber":167,"author":{"gitId":"-"},"content":" [date]\u003d\"model.submissionEndDate\"\u003e\u003c/tm-datepicker\u003e"},{"lineNumber":168,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":169,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-5\"\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":" \u003ctm-timepicker id\u003d\"submission-end-time\" [isDisabled]\u003d\"!model.isEditable\" (timeChange)\u003d\"triggerModelChange(\u0027submissionEndTime\u0027, $event)\""},{"lineNumber":171,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForSubmissionEnd\" [maxDate]\u003d\"maxDateForSubmissionEnd\""},{"lineNumber":172,"author":{"gitId":"-"},"content":" [date]\u003d\"model.submissionEndDate\""},{"lineNumber":173,"author":{"gitId":"-"},"content":" [minTime]\u003d\"minTimeForSubmissionEnd\" [maxTime]\u003d\"maxTimeForSubmissionEnd\""},{"lineNumber":174,"author":{"gitId":"-"},"content":" [time]\u003d\"model.submissionEndTime\"\u003e\u003c/tm-timepicker\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":176,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":177,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":178,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4 border-left-gray\"\u003e"},{"lineNumber":179,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":180,"author":{"gitId":"nknguyenhc"},"content":" \u003cdiv class\u003d\"col-12 text-md-start ms-md-2\"\u003e"},{"lineNumber":181,"author":{"gitId":"nknguyenhc"},"content":" \u003clabel for\u003d\"grace-period\" class\u003d\"ngb-tooltip-class control-label font-bold\" ngbTooltip\u003d\"Amount of time the system will continue accepting submissions after the specified deadline.\"\u003e"},{"lineNumber":182,"author":{"gitId":"-"},"content":" Grace period"},{"lineNumber":183,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row text-center\"\u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":" \u003cselect id\u003d\"grace-period\" class\u003d\"form-control form-select\" [ngModel]\u003d\"model.gracePeriod\" (ngModelChange)\u003d\"triggerModelChange(\u0027gracePeriod\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":" \u003coption *ngFor\u003d\"let graceMinute of [0, 5, 10, 15, 20, 25, 30]\" [ngValue]\u003d\"graceMinute\"\u003e{{ graceMinute + \u0027 min\u0027}}\u003c/option\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":" \u003c/select\u003e"},{"lineNumber":191,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":192,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":193,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row\"\u003e"},{"lineNumber":194,"author":{"gitId":"-"},"content":" \u003ca class\u003d\"ps-3 pt-2\""},{"lineNumber":195,"author":{"gitId":"-"},"content":" *ngIf\u003d\"formMode !\u003d\u003d SessionEditFormMode.ADD\""},{"lineNumber":196,"author":{"gitId":"-"},"content":" tmRouterLink\u003d\"/web/instructor/sessions/individual-extension\""},{"lineNumber":197,"author":{"gitId":"-"},"content":" [queryParams]\u003d\"{ courseid: model.courseId, fsname: model.feedbackSessionName, preselectnonsubmitters: false }\"\u003e"},{"lineNumber":198,"author":{"gitId":"-"},"content":" Individual Deadline Extensions"},{"lineNumber":199,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-edit\"\u003e\u003c/i\u003e"},{"lineNumber":200,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u003ca class\u003d\"ps-3 pt-2 disabled-link ngb-tooltip-class\""},{"lineNumber":202,"author":{"gitId":"-"},"content":" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.ADD\""},{"lineNumber":203,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"You must save the new session before setting individual deadline extensions\"\u003e"},{"lineNumber":204,"author":{"gitId":"-"},"content":" Individual Deadline Extensions"},{"lineNumber":205,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-edit\"\u003e\u003c/i\u003e"},{"lineNumber":206,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":209,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":210,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"!model.hasVisibleSettingsPanelExpanded\" class\u003d\"margin-top-20px\"\u003e"},{"lineNumber":214,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"text-muted\"\u003eSession is visible at submission opening time, responses are only visible when you publish the results.\u003c/span\u003e"},{"lineNumber":215,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-change-visibility\" type\u003d\"button\" class\u003d\"btn btn-link\" (click)\u003d\"triggerModelChange(\u0027hasVisibleSettingsPanelExpanded\u0027, true)\" [disabled]\u003d\"!model.isEditable\"\u003e[Change]\u003c/button\u003e"},{"lineNumber":216,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":217,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card border-primary margin-top-20px\" *ngIf\u003d\"model.hasVisibleSettingsPanelExpanded\" @collapseAnim\u003e"},{"lineNumber":218,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row align-items-start\"\u003e"},{"lineNumber":220,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-6 text-center text-md-start\"\u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row ms-md-1\"\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":223,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class label-control font-bold\" ngbTooltip\u003d\"Session can be visible before it is open for submissions so that users can preview the questions.\"\u003eMake session visible \u003c/label\u003e"},{"lineNumber":224,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":225,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":226,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row mt-md-2 ms-md-1\"\u003e"},{"lineNumber":227,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 mt-md-1\"\u003e"},{"lineNumber":228,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-check\"\u003e"},{"lineNumber":229,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"form-check-label\"\u003e"},{"lineNumber":230,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"session-visibility-custom\" class\u003d\"form-check-input\" type\u003d\"radio\" name\u003d\"sessionVisibleRadio\" [value]\u003d\"SessionVisibleSetting.CUSTOM\" [ngModel]\u003d\"model.sessionVisibleSetting\" (ngModelChange)\u003d\"triggerModelChange(\u0027sessionVisibleSetting\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"\u003e"},{"lineNumber":231,"author":{"gitId":"-"},"content":" At"},{"lineNumber":232,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":234,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":235,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"session-visibility-date\" class\u003d\"col-md-6\"\u003e"},{"lineNumber":236,"author":{"gitId":"-"},"content":" \u003ctm-datepicker [isDisabled]\u003d\"model.sessionVisibleSetting !\u003d\u003d SessionVisibleSetting.CUSTOM || !model.isEditable\""},{"lineNumber":237,"author":{"gitId":"-"},"content":" (dateChangeCallback)\u003d\"triggerModelChange(\u0027customSessionVisibleDate\u0027, $event)\""},{"lineNumber":238,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForSessionVisible\" [maxDate]\u003d\"maxDateForSessionVisible\""},{"lineNumber":239,"author":{"gitId":"-"},"content":" [date]\u003d\"model.customSessionVisibleDate\"\u003e\u003c/tm-datepicker\u003e"},{"lineNumber":240,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":241,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4\"\u003e"},{"lineNumber":242,"author":{"gitId":"-"},"content":" \u003ctm-timepicker id\u003d\"session-visibility-time\" [isDisabled]\u003d\"model.sessionVisibleSetting !\u003d\u003d SessionVisibleSetting.CUSTOM || !model.isEditable\" (timeChange)\u003d\"triggerModelChange(\u0027customSessionVisibleTime\u0027, $event)\""},{"lineNumber":243,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForSessionVisible\" [maxDate]\u003d\"maxDateForSessionVisible\""},{"lineNumber":244,"author":{"gitId":"-"},"content":" [date]\u003d\"model.customSessionVisibleDate\""},{"lineNumber":245,"author":{"gitId":"-"},"content":" [minTime]\u003d\"minTimeForSessionVisible\" [maxTime]\u003d\"maxTimeForSessionVisible\""},{"lineNumber":246,"author":{"gitId":"-"},"content":" [time]\u003d\"model.customSessionVisibleTime\" \u003e\u003c/tm-timepicker\u003e"},{"lineNumber":247,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":248,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":249,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row mt-md-1 ms-md-3\"\u003e"},{"lineNumber":250,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 form-check\"\u003e"},{"lineNumber":251,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"form-check-label\"\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"session-visibility-at-open\" class\u003d\"form-check-input\" type\u003d\"radio\" name\u003d\"sessionVisibleRadio\" [value]\u003d\"SessionVisibleSetting.AT_OPEN\" [ngModel]\u003d\"model.sessionVisibleSetting\" (ngModelChange)\u003d\"triggerModelChange(\u0027sessionVisibleSetting\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"\u003e"},{"lineNumber":253,"author":{"gitId":"-"},"content":" Submission opening time"},{"lineNumber":254,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":256,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":257,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":258,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-6 sessionVisibleRadio border-left-gray text-center text-md-start\"\u003e"},{"lineNumber":259,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row ms-md-1\"\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":261,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class label-control font-bold\" ngbTooltip\u003d\"Make responses for the feedback session visible to designated recipients.\"\u003eMake response visible \u003c/label\u003e"},{"lineNumber":262,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":263,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row mt-md-2 ms-md-1\"\u003e"},{"lineNumber":265,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2 mt-md-1\"\u003e"},{"lineNumber":266,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-check\"\u003e"},{"lineNumber":267,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"form-check-label\"\u003e"},{"lineNumber":268,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"response-visibility-custom\" class\u003d\"form-check-input\" type\u003d\"radio\" name\u003d\"responseVisibleRadio\" [value]\u003d\"ResponseVisibleSetting.CUSTOM\" [ngModel]\u003d\"model.responseVisibleSetting\" (ngModelChange)\u003d\"triggerModelChange(\u0027responseVisibleSetting\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"/\u003e"},{"lineNumber":269,"author":{"gitId":"-"},"content":" At"},{"lineNumber":270,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":271,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":272,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":273,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"response-visibility-date\" class\u003d\"col-md-6\"\u003e"},{"lineNumber":274,"author":{"gitId":"-"},"content":" \u003ctm-datepicker [isDisabled]\u003d\"model.responseVisibleSetting !\u003d\u003d ResponseVisibleSetting.CUSTOM || !model.isEditable\""},{"lineNumber":275,"author":{"gitId":"-"},"content":" (dateChangeCallback)\u003d\"triggerModelChange(\u0027customResponseVisibleDate\u0027, $event)\""},{"lineNumber":276,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForResponseVisible\" [date]\u003d\"model.customResponseVisibleDate\"\u003e\u003c/tm-datepicker\u003e"},{"lineNumber":277,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":278,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4\"\u003e"},{"lineNumber":279,"author":{"gitId":"-"},"content":" \u003ctm-timepicker id\u003d\"response-visibility-time\" [isDisabled]\u003d\"model.responseVisibleSetting !\u003d\u003d ResponseVisibleSetting.CUSTOM || !model.isEditable\" (timeChange)\u003d\"triggerModelChange(\u0027customResponseVisibleTime\u0027, $event)\""},{"lineNumber":280,"author":{"gitId":"-"},"content":" [minDate]\u003d\"minDateForResponseVisible\" [date]\u003d\"model.customResponseVisibleDate\""},{"lineNumber":281,"author":{"gitId":"-"},"content":" [minTime]\u003d\"minTimeForResponseVisible\" [time]\u003d\"model.customResponseVisibleTime\" \u003e\u003c/tm-timepicker\u003e"},{"lineNumber":282,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":283,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":284,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row mt-md-2 ms-md-1\"\u003e"},{"lineNumber":285,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":286,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-check\"\u003e"},{"lineNumber":287,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class form-check-label\" ngbTooltip\u003d\"Same time as when the session becomes visible to users.\"\u003e"},{"lineNumber":288,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"response-visibility-immediately\" class\u003d\"form-check-input\" type\u003d\"radio\" name\u003d\"responseVisibleRadio\" [value]\u003d\"ResponseVisibleSetting.AT_VISIBLE\" [ngModel]\u003d\"model.responseVisibleSetting\" (ngModelChange)\u003d\"triggerModelChange(\u0027responseVisibleSetting\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"\u003e"},{"lineNumber":289,"author":{"gitId":"-"},"content":" Immediately"},{"lineNumber":290,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":291,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":292,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":293,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":294,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row mt-md-2 ms-md-1\"\u003e"},{"lineNumber":295,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":296,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-check\"\u003e"},{"lineNumber":297,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class form-check-label\" ngbTooltip\u003d\"Remember to manually publish the responses for this session later on.\"\u003e"},{"lineNumber":298,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"response-visibility-manually\" class\u003d\"form-check-input\" type\u003d\"radio\" name\u003d\"responseVisibleRadio\" [value]\u003d\"ResponseVisibleSetting.LATER\" [ngModel]\u003d\"model.responseVisibleSetting\" (ngModelChange)\u003d\"triggerModelChange(\u0027responseVisibleSetting\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"\u003e"},{"lineNumber":299,"author":{"gitId":"-"},"content":" Not now (publish manually)"},{"lineNumber":300,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":301,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":302,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":303,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":304,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":305,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":306,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":307,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":308,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"!model.hasEmailSettingsPanelExpanded\"\u003e"},{"lineNumber":309,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"text-muted\"\u003eEmails are sent when session opens (within 15 minutes), 24 hrs before session closes and when results are published.\u003c/span\u003e"},{"lineNumber":310,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-change-email\" type\u003d\"button\" class\u003d\"btn btn-link\" (click)\u003d\"triggerModelChange(\u0027hasEmailSettingsPanelExpanded\u0027, true)\" [disabled]\u003d\"!model.isEditable\"\u003e[Change]\u003c/button\u003e"},{"lineNumber":311,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":312,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card border-primary margin-top-20px\" *ngIf\u003d\"model.hasEmailSettingsPanelExpanded\" @collapseAnim\u003e"},{"lineNumber":313,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":314,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 font-bold\"\u003e"},{"lineNumber":315,"author":{"gitId":"-"},"content":" Send emails for"},{"lineNumber":316,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":317,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row ms-md-1 mt-md-3\"\u003e"},{"lineNumber":318,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4\"\u003e"},{"lineNumber":319,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-check form-check-inline\"\u003e"},{"lineNumber":320,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class form-check-label\" ngbTooltip\u003d\"Notify students when the session is open for submission.\"\u003e"},{"lineNumber":321,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"email-opening\" class\u003d\"form-check-input\" type\u003d\"checkbox\" checked disabled\u003eSession opening reminder"},{"lineNumber":322,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":323,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":324,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":325,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4\"\u003e"},{"lineNumber":326,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-check form-check-inline\"\u003e"},{"lineNumber":327,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class form-check-label\" ngbTooltip\u003d\"Remind students to submit 24 hours before the end of the session.\"\u003e"},{"lineNumber":328,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"email-closing\" class\u003d\"form-check-input\" type\u003d\"checkbox\" [ngModel]\u003d\"model.isClosingEmailEnabled\" (ngModelChange)\u003d\"triggerModelChange(\u0027isClosingEmailEnabled\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"\u003e Session closing reminder"},{"lineNumber":329,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":330,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":331,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":332,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-4\"\u003e"},{"lineNumber":333,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-check form-check-inline\"\u003e"},{"lineNumber":334,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"ngb-tooltip-class form-check-label\" ngbTooltip\u003d\"Notify students when the session results is published.\"\u003e"},{"lineNumber":335,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"email-published\" class\u003d\"form-check-input\" type\u003d\"checkbox\" [ngModel]\u003d\"model.isPublishedEmailEnabled\" (ngModelChange)\u003d\"triggerModelChange(\u0027isPublishedEmailEnabled\u0027, $event)\" [disabled]\u003d\"!model.isEditable\"\u003e Results published announcement"},{"lineNumber":336,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":337,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":338,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":339,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":340,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":341,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":342,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row margin-top-20px\"\u003e"},{"lineNumber":343,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 text-center\"\u003e"},{"lineNumber":344,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"loader\"\u003e\u003c/span\u003e"},{"lineNumber":345,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.ADD\"\u003e"},{"lineNumber":346,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-create-session\" type\u003d\"button\" class\u003d\"btn btn-primary\" [disabled]\u003d\"courseCandidates.length \u003d\u003d\u003d 0 || model.isSaving || !model.feedbackSessionName\" (click)\u003d\"submitFormHandler()\"\u003e"},{"lineNumber":347,"author":{"gitId":"-"},"content":" \u003ctm-ajax-loading *ngIf\u003d\"model.isSaving\"\u003e\u003c/tm-ajax-loading\u003eCreate Feedback Session"},{"lineNumber":348,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":349,"author":{"gitId":"-"},"content":" \u003cp class\u003d\"text-danger margin-top-20px\" *ngIf\u003d\"courseCandidates.length \u003d\u003d\u003d 0\"\u003e\u003cb\u003eYou need to have an active(unarchived) course to create a session!\u003c/b\u003e\u003c/p\u003e"},{"lineNumber":350,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":351,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.EDIT\"\u003e"},{"lineNumber":352,"author":{"gitId":"-"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn btn-success\" [disabled]\u003d\"model.isSaving || !model.isEditable\" *ngIf\u003d\"formMode \u003d\u003d\u003d SessionEditFormMode.EDIT\" (click)\u003d\"submitFormHandler()\"\u003e"},{"lineNumber":353,"author":{"gitId":"-"},"content":" \u003ctm-ajax-loading *ngIf\u003d\"model.isSaving\"\u003e\u003c/tm-ajax-loading\u003eSave Changes"},{"lineNumber":354,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":355,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":356,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":357,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":358,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":359,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"nknguyenhc":2,"-":357}},{"path":"src/web/app/pages-admin/admin-home-page/admin-home-page.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"card bg-light top-padded\"\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cdiv\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003cstrong\u003eAdding Multiple Instructors\u003c/strong\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cp class\u003d\"text-muted\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-exclamation-circle\"\u003e\u003c/i\u003e Add Instructor Details in the format: Name | Email | Institution"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003c/p\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003ctextarea class\u003d\"form-control\" id\u003d\"instructor-details-single-line\" [(ngModel)]\u003d\"instructorDetails\" aria-label\u003d\"Add multiple instructors\"\u003e\u003c/textarea\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"top-padded\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-primary\" id\u003d\"add-instructor-single-line\" (click)\u003d\"validateAndAddInstructorDetails()\"\u003eAdd Instructors\u003c/button\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"card bg-light top-padded\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cdiv\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003cstrong\u003eAdding a Single Instructor\u003c/strong\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"top-padded\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003clabel for\u003d\"instructor-name\"\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003cstrong\u003eName:\u003c/strong\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003cinput class\u003d\"form-control\" type\u003d\"text\" id\u003d\"instructor-name\" [(ngModel)]\u003d\"instructorName\"\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"top-padded\"\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003clabel for\u003d\"instructor-email\"\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003cstrong\u003eEmail:\u003c/strong\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003cinput class\u003d\"form-control\" type\u003d\"text\" id\u003d\"instructor-email\" [(ngModel)]\u003d\"instructorEmail\"\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"top-padded\"\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003clabel for\u003d\"instructor-institution\"\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003cstrong\u003eInstitution:\u003c/strong\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003cinput class\u003d\"form-control\" type\u003d\"text\" id\u003d\"instructor-institution\" [(ngModel)]\u003d\"instructorInstitution\"\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"top-padded\"\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-primary\" id\u003d\"add-instructor\" (click)\u003d\"validateAndAddInstructorDetail()\"\u003eAdd Instructor\u003c/button\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"card bg-light top-padded\" *ngIf\u003d\"instructorsConsolidated.length\"\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-header bg-primary text-white\"\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cstrong\u003eResult\u003c/strong\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"table-responsive\"\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003ctable class\u003d\"table table-striped table-hover\"\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003cthead\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003ctr\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":" \u003cth\u003eName\u003c/th\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003cth\u003eEmail\u003c/th\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \u003cth\u003eInstitution\u003c/th\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":" \u003cth\u003eAction\u003c/th\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003cth\u003eStatus\u003c/th\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" \u003cth\u003eMessage\u003c/th\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003c/tr\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003c/thead\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \u003ctbody\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":" \u003ctr tm-new-instructor-data-row"},{"lineNumber":69,"author":{"gitId":"-"},"content":" *ngFor\u003d\"let instructor of instructorsConsolidated; let i \u003d index\""},{"lineNumber":70,"author":{"gitId":"-"},"content":" [instructor]\u003d\"instructor\""},{"lineNumber":71,"author":{"gitId":"-"},"content":" [index]\u003d\"i\""},{"lineNumber":72,"author":{"gitId":"-"},"content":" [isAddDisabled]\u003d\"activeRequests \u003e 0\""},{"lineNumber":73,"author":{"gitId":"-"},"content":" (addInstructorEvent)\u003d\"addInstructor(i)\""},{"lineNumber":74,"author":{"gitId":"-"},"content":" (removeInstructorEvent)\u003d\"removeInstructor(i)\""},{"lineNumber":75,"author":{"gitId":"-"},"content":" (toggleEditModeEvent)\u003d\"setInstructorRowEditModeEnabled(i, $event)\""},{"lineNumber":76,"author":{"gitId":"-"},"content":" \u003e\u003c/tr\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003c/tbody\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003c/table\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-primary top-padded\" (click)\u003d\"addAllInstructors()\" id\u003d\"add-all-instructors\" [disabled]\u003d\"activeRequests \u003e 0 || isAddingInstructors\"\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003ctm-ajax-loading *ngIf\u003d\"isAddingInstructors\"\u003e\u003c/tm-ajax-loading\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" Add All Instructors"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":86,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":87,"author":{"gitId":"domoberzin"},"content":"\u003ctm-account-request-table *ngIf\u003d\"accountReqs.length\" [accountRequests]\u003d\"accountReqs\" [searchString]\u003d\"\"\u003e\u003c/tm-account-request-table\u003e"}],"authorContributionMap":{"domoberzin":2,"-":85}},{"path":"src/web/app/pages-admin/admin-home-page/admin-home-page.component.spec.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { HttpClientTestingModule } from \u0027@angular/common/http/testing\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { ComponentFixture, TestBed, waitForAsync } from \u0027@angular/core/testing\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import { FormsModule } from \u0027@angular/forms\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { RouterTestingModule } from \u0027@angular/router/testing\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import { of, throwError } from \u0027rxjs\u0027;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import { AdminHomePageComponent } from \u0027./admin-home-page.component\u0027;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import { InstructorData } from \u0027./instructor-data\u0027;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import { NewInstructorDataRowComponent } from \u0027./new-instructor-data-row/new-instructor-data-row.component\u0027;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import { AccountService } from \u0027../../../services/account.service\u0027;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import { LinkService } from \u0027../../../services/link.service\u0027;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import { StatusMessageService } from \u0027../../../services/status-message.service\u0027;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import { AccountRequestStatus } from \u0027../../../types/api-output\u0027;"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"import { AccountRequestTableModule } from \u0027../../components/account-requests-table/account-request-table.module\u0027;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import { AjaxLoadingModule } from \u0027../../components/ajax-loading/ajax-loading.module\u0027;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import { LoadingSpinnerModule } from \u0027../../components/loading-spinner/loading-spinner.module\u0027;"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":"import { FormatDateDetailPipe } from \u0027../../components/teammates-common/format-date-detail.pipe\u0027;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"describe(\u0027AdminHomePageComponent\u0027, () \u003d\u003e {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" let component: AdminHomePageComponent;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" let fixture: ComponentFixture\u003cAdminHomePageComponent\u003e;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" let accountService: AccountService;"},{"lineNumber":22,"author":{"gitId":"-"},"content":" let linkService: LinkService;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" beforeEach(waitForAsync(() \u003d\u003e {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" TestBed.configureTestingModule({"},{"lineNumber":26,"author":{"gitId":"-"},"content":" declarations: ["},{"lineNumber":27,"author":{"gitId":"-"},"content":" AdminHomePageComponent,"},{"lineNumber":28,"author":{"gitId":"-"},"content":" NewInstructorDataRowComponent,"},{"lineNumber":29,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":30,"author":{"gitId":"-"},"content":" imports: ["},{"lineNumber":31,"author":{"gitId":"-"},"content":" FormsModule,"},{"lineNumber":32,"author":{"gitId":"-"},"content":" HttpClientTestingModule,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" LoadingSpinnerModule,"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" AccountRequestTableModule,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" AjaxLoadingModule,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" RouterTestingModule,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":38,"author":{"gitId":"-"},"content":" providers: ["},{"lineNumber":39,"author":{"gitId":"-"},"content":" AccountService,"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" FormatDateDetailPipe,"},{"lineNumber":41,"author":{"gitId":"-"},"content":" StatusMessageService,"},{"lineNumber":42,"author":{"gitId":"-"},"content":" LinkService,"},{"lineNumber":43,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":44,"author":{"gitId":"-"},"content":" })"},{"lineNumber":45,"author":{"gitId":"-"},"content":" .compileComponents();"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" beforeEach(() \u003d\u003e {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" fixture \u003d TestBed.createComponent(AdminHomePageComponent);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" accountService \u003d TestBed.inject(AccountService);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" linkService \u003d TestBed.inject(LinkService);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" component \u003d fixture.componentInstance;"},{"lineNumber":53,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":54,"author":{"gitId":"-"},"content":" });"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" it(\u0027should create\u0027, () \u003d\u003e {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" expect(component).toBeTruthy();"},{"lineNumber":58,"author":{"gitId":"-"},"content":" });"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" it(\u0027should add one instructor to list if all fields are filled\u0027, () \u003d\u003e {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" component.instructorName \u003d \u0027Instructor Name\u0027;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" component.instructorEmail \u003d \u0027instructor@example.com\u0027;"},{"lineNumber":63,"author":{"gitId":"-"},"content":" component.instructorInstitution \u003d \u0027Instructor Institution\u0027;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" const button: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#add-instructor\u0027);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" button.click();"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" expect(component.instructorName).toEqual(\u0027\u0027);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" expect(component.instructorEmail).toEqual(\u0027\u0027);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" expect(component.instructorInstitution).toEqual(\u0027\u0027);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated.length).toEqual(1);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[0]).toEqual({"},{"lineNumber":74,"author":{"gitId":"-"},"content":" email: \u0027instructor@example.com\u0027,"},{"lineNumber":75,"author":{"gitId":"-"},"content":" institution: \u0027Instructor Institution\u0027,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" name: \u0027Instructor Name\u0027,"},{"lineNumber":77,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":79,"author":{"gitId":"-"},"content":" });"},{"lineNumber":80,"author":{"gitId":"-"},"content":" });"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" it(\u0027should not add one instructor to list if some fields are empty\u0027, () \u003d\u003e {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" component.instructorName \u003d \u0027Instructor Name\u0027;"},{"lineNumber":84,"author":{"gitId":"-"},"content":" component.instructorEmail \u003d \u0027\u0027;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" component.instructorInstitution \u003d \u0027Instructor Institution\u0027;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" const button: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#add-instructor\u0027);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" button.click();"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" expect(component.instructorName).toEqual(\u0027Instructor Name\u0027);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" expect(component.instructorEmail).toEqual(\u0027\u0027);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" expect(component.instructorInstitution).toEqual(\u0027Instructor Institution\u0027);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated.length).toEqual(0);"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" component.instructorName \u003d \u0027\u0027;"},{"lineNumber":97,"author":{"gitId":"-"},"content":" component.instructorEmail \u003d \u0027instructor@example.com\u0027;"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" button.click();"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" expect(component.instructorName).toEqual(\u0027\u0027);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" expect(component.instructorEmail).toEqual(\u0027instructor@example.com\u0027);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" expect(component.instructorInstitution).toEqual(\u0027Instructor Institution\u0027);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated.length).toEqual(0);"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" component.instructorName \u003d \u0027Instructor Name\u0027;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" component.instructorInstitution \u003d \u0027\u0027;"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" button.click();"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" expect(component.instructorName).toEqual(\u0027Instructor Name\u0027);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" expect(component.instructorEmail).toEqual(\u0027instructor@example.com\u0027);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" expect(component.instructorInstitution).toEqual(\u0027\u0027);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated.length).toEqual(0);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" });"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" it(\u0027should only add valid instructor details in the single line field\u0027, () \u003d\u003e {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" component.instructorDetails \u003d ["},{"lineNumber":119,"author":{"gitId":"-"},"content":" \u0027Instructor A | instructora@example.com | Institution A\u0027,"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \u0027Instructor B | instructorb@example.com\u0027,"},{"lineNumber":121,"author":{"gitId":"-"},"content":" \u0027Instructor C | | instructorc@example.com\u0027,"},{"lineNumber":122,"author":{"gitId":"-"},"content":" \u0027Instructor D | instructord@example.com | Institution D\u0027,"},{"lineNumber":123,"author":{"gitId":"-"},"content":" \u0027| instructore@example.com | Institution E\u0027,"},{"lineNumber":124,"author":{"gitId":"-"},"content":" ].join(\u0027\\n\u0027);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" const button: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#add-instructor-single-line\u0027);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" button.click();"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" expect(component.instructorDetails).toEqual(["},{"lineNumber":131,"author":{"gitId":"-"},"content":" \u0027Instructor B | instructorb@example.com\u0027,"},{"lineNumber":132,"author":{"gitId":"-"},"content":" \u0027Instructor C | | instructorc@example.com\u0027,"},{"lineNumber":133,"author":{"gitId":"-"},"content":" \u0027| instructore@example.com | Institution E\u0027,"},{"lineNumber":134,"author":{"gitId":"-"},"content":" ].join(\u0027\\r\\n\u0027));"},{"lineNumber":135,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated.length).toEqual(2);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[0]).toEqual({"},{"lineNumber":137,"author":{"gitId":"-"},"content":" email: \u0027instructora@example.com\u0027,"},{"lineNumber":138,"author":{"gitId":"-"},"content":" institution: \u0027Institution A\u0027,"},{"lineNumber":139,"author":{"gitId":"-"},"content":" name: \u0027Instructor A\u0027,"},{"lineNumber":140,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":141,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":142,"author":{"gitId":"-"},"content":" });"},{"lineNumber":143,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[1]).toEqual({"},{"lineNumber":144,"author":{"gitId":"-"},"content":" email: \u0027instructord@example.com\u0027,"},{"lineNumber":145,"author":{"gitId":"-"},"content":" institution: \u0027Institution D\u0027,"},{"lineNumber":146,"author":{"gitId":"-"},"content":" name: \u0027Instructor D\u0027,"},{"lineNumber":147,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":148,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":149,"author":{"gitId":"-"},"content":" });"},{"lineNumber":150,"author":{"gitId":"-"},"content":" });"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" it(\u0027should remove instructor out of queue if REMOVE is requested\u0027, () \u003d\u003e {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" const instructorData: InstructorData \u003d {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" name: \u0027Instructor A\u0027,"},{"lineNumber":155,"author":{"gitId":"-"},"content":" email: \u0027instructora@example.com\u0027,"},{"lineNumber":156,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution A\u0027,"},{"lineNumber":157,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":158,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":159,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":160,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":161,"author":{"gitId":"-"},"content":" };"},{"lineNumber":162,"author":{"gitId":"-"},"content":" component.instructorsConsolidated \u003d [instructorData];"},{"lineNumber":163,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" const index: number \u003d 0;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" component.removeInstructor(index);"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated.includes(instructorData)).toBeFalsy();"},{"lineNumber":169,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated.length).toEqual(0);"},{"lineNumber":170,"author":{"gitId":"-"},"content":" });"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" it(\u0027should add instructor and update field when successful\u0027, () \u003d\u003e {"},{"lineNumber":173,"author":{"gitId":"-"},"content":" component.instructorsConsolidated \u003d ["},{"lineNumber":174,"author":{"gitId":"-"},"content":" {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" name: \u0027Instructor A\u0027,"},{"lineNumber":176,"author":{"gitId":"-"},"content":" email: \u0027instructora@example.com\u0027,"},{"lineNumber":177,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution A\u0027,"},{"lineNumber":178,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":179,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":180,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":181,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":182,"author":{"gitId":"-"},"content":" },"},{"lineNumber":183,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":184,"author":{"gitId":"-"},"content":" jest.spyOn(accountService, \u0027createAccountRequest\u0027).mockReturnValue(of({"},{"lineNumber":185,"author":{"gitId":"-"},"content":" id: \u0027some.person@example.com%NUS\u0027,"},{"lineNumber":186,"author":{"gitId":"-"},"content":" email: \u0027some.person@example.com\u0027,"},{"lineNumber":187,"author":{"gitId":"-"},"content":" name: \u0027Some Person\u0027,"},{"lineNumber":188,"author":{"gitId":"-"},"content":" institute: \u0027NUS\u0027,"},{"lineNumber":189,"author":{"gitId":"-"},"content":" status: AccountRequestStatus.APPROVED,"},{"lineNumber":190,"author":{"gitId":"-"},"content":" registrationKey: \u0027registrationKey\u0027,"},{"lineNumber":191,"author":{"gitId":"-"},"content":" createdAt: 528,"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":193,"author":{"gitId":"-"},"content":" jest.spyOn(linkService, \u0027generateAccountRegistrationLink\u0027)"},{"lineNumber":194,"author":{"gitId":"-"},"content":" .mockReturnValue(\u0027http://localhost:4200/web/join?iscreatingaccount\u003dtrue\u0026key\u003dregistrationKey\u0027);"},{"lineNumber":195,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" const index: number \u003d 0;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" component.addInstructor(index);"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[index].status).toEqual(\u0027SUCCESS\u0027);"},{"lineNumber":201,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[index].joinLink)"},{"lineNumber":202,"author":{"gitId":"-"},"content":" .toEqual(\u0027http://localhost:4200/web/join?iscreatingaccount\u003dtrue\u0026key\u003dregistrationKey\u0027);"},{"lineNumber":203,"author":{"gitId":"-"},"content":" expect(component.activeRequests).toEqual(0);"},{"lineNumber":204,"author":{"gitId":"-"},"content":" });"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" it(\u0027should not add instructor and update field during failure\u0027, () \u003d\u003e {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" component.instructorsConsolidated \u003d ["},{"lineNumber":208,"author":{"gitId":"-"},"content":" {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" name: \u0027Instructor A\u0027,"},{"lineNumber":210,"author":{"gitId":"-"},"content":" email: \u0027instructora@example.com\u0027,"},{"lineNumber":211,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution A\u0027,"},{"lineNumber":212,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":213,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":214,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":215,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":216,"author":{"gitId":"-"},"content":" },"},{"lineNumber":217,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":218,"author":{"gitId":"-"},"content":" jest.spyOn(accountService, \u0027createAccountRequest\u0027).mockReturnValue(throwError(() \u003d\u003e ({"},{"lineNumber":219,"author":{"gitId":"-"},"content":" error: {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" message: \u0027This is the error message\u0027,"},{"lineNumber":221,"author":{"gitId":"-"},"content":" },"},{"lineNumber":222,"author":{"gitId":"-"},"content":" })));"},{"lineNumber":223,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" const index: number \u003d 0;"},{"lineNumber":226,"author":{"gitId":"-"},"content":" component.addInstructor(index);"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[index].status).toEqual(\u0027FAIL\u0027);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[index].message).toEqual(\u0027This is the error message\u0027);"},{"lineNumber":230,"author":{"gitId":"-"},"content":" expect(component.activeRequests).toEqual(0);"},{"lineNumber":231,"author":{"gitId":"-"},"content":" });"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" it(\u0027should enter edit mode for only the specified instructor\u0027, () \u003d\u003e {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" component.instructorsConsolidated \u003d ["},{"lineNumber":235,"author":{"gitId":"-"},"content":" {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" name: \u0027Instructor A\u0027,"},{"lineNumber":237,"author":{"gitId":"-"},"content":" email: \u0027instructora@example.com\u0027,"},{"lineNumber":238,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution A\u0027,"},{"lineNumber":239,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":240,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":241,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":242,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":243,"author":{"gitId":"-"},"content":" },"},{"lineNumber":244,"author":{"gitId":"-"},"content":" {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" name: \u0027Instructor B\u0027,"},{"lineNumber":246,"author":{"gitId":"-"},"content":" email: \u0027instructorb@example.com\u0027,"},{"lineNumber":247,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution B\u0027,"},{"lineNumber":248,"author":{"gitId":"-"},"content":" status: \u0027SUCCESS\u0027,"},{"lineNumber":249,"author":{"gitId":"-"},"content":" statusCode: 200,"},{"lineNumber":250,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":251,"author":{"gitId":"-"},"content":" joinLink: \u0027http://localhost:4200/web/join\u0027,"},{"lineNumber":252,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":253,"author":{"gitId":"-"},"content":" },"},{"lineNumber":254,"author":{"gitId":"-"},"content":" {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" name: \u0027Instructor C\u0027,"},{"lineNumber":256,"author":{"gitId":"-"},"content":" email: \u0027instructorc@example.com\u0027,"},{"lineNumber":257,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution C\u0027,"},{"lineNumber":258,"author":{"gitId":"-"},"content":" status: \u0027FAIL\u0027,"},{"lineNumber":259,"author":{"gitId":"-"},"content":" statusCode: 400,"},{"lineNumber":260,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":261,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":262,"author":{"gitId":"-"},"content":" message: \u0027The instructor cannot be added for some reason\u0027,"},{"lineNumber":263,"author":{"gitId":"-"},"content":" },"},{"lineNumber":264,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" const index: number \u003d 2;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" component.setInstructorRowEditModeEnabled(index, true);"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" for (let i: number \u003d 0; i \u003c component.instructorsConsolidated.length; i +\u003d 1) {"},{"lineNumber":270,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[i].isCurrentlyBeingEdited).toEqual(i \u003d\u003d\u003d index);"},{"lineNumber":271,"author":{"gitId":"-"},"content":" }"},{"lineNumber":272,"author":{"gitId":"-"},"content":" });"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":" it(\u0027should exit edit mode for only the specified instructor\u0027, () \u003d\u003e {"},{"lineNumber":275,"author":{"gitId":"-"},"content":" component.instructorsConsolidated \u003d ["},{"lineNumber":276,"author":{"gitId":"-"},"content":" {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" name: \u0027Instructor A\u0027,"},{"lineNumber":278,"author":{"gitId":"-"},"content":" email: \u0027instructora@example.com\u0027,"},{"lineNumber":279,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution A\u0027,"},{"lineNumber":280,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":281,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":282,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":283,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":284,"author":{"gitId":"-"},"content":" },"},{"lineNumber":285,"author":{"gitId":"-"},"content":" {"},{"lineNumber":286,"author":{"gitId":"-"},"content":" name: \u0027Instructor B\u0027,"},{"lineNumber":287,"author":{"gitId":"-"},"content":" email: \u0027instructorb@example.com\u0027,"},{"lineNumber":288,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution B\u0027,"},{"lineNumber":289,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":290,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":291,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":292,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":293,"author":{"gitId":"-"},"content":" },"},{"lineNumber":294,"author":{"gitId":"-"},"content":" {"},{"lineNumber":295,"author":{"gitId":"-"},"content":" name: \u0027Instructor C\u0027,"},{"lineNumber":296,"author":{"gitId":"-"},"content":" email: \u0027instructorc@example.com\u0027,"},{"lineNumber":297,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution C\u0027,"},{"lineNumber":298,"author":{"gitId":"-"},"content":" status: \u0027FAIL\u0027,"},{"lineNumber":299,"author":{"gitId":"-"},"content":" statusCode: 400,"},{"lineNumber":300,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":301,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":302,"author":{"gitId":"-"},"content":" message: \u0027The instructor cannot be added for some reason\u0027,"},{"lineNumber":303,"author":{"gitId":"-"},"content":" },"},{"lineNumber":304,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":305,"author":{"gitId":"-"},"content":" for (let i: number \u003d 0; i \u003c component.instructorsConsolidated.length; i +\u003d 1) {"},{"lineNumber":306,"author":{"gitId":"-"},"content":" component.setInstructorRowEditModeEnabled(i, true);"},{"lineNumber":307,"author":{"gitId":"-"},"content":" }"},{"lineNumber":308,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" const index: number \u003d 1;"},{"lineNumber":311,"author":{"gitId":"-"},"content":" component.setInstructorRowEditModeEnabled(index, false);"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":" for (let i: number \u003d 0; i \u003c component.instructorsConsolidated.length; i +\u003d 1) {"},{"lineNumber":314,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[i].isCurrentlyBeingEdited).toEqual(i !\u003d\u003d index);"},{"lineNumber":315,"author":{"gitId":"-"},"content":" }"},{"lineNumber":316,"author":{"gitId":"-"},"content":" });"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" it(\u0027should add all instructors when prompted\u0027, () \u003d\u003e {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" component.instructorsConsolidated \u003d ["},{"lineNumber":320,"author":{"gitId":"-"},"content":" {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" name: \u0027Instructor A\u0027,"},{"lineNumber":322,"author":{"gitId":"-"},"content":" email: \u0027instructora@example.com\u0027,"},{"lineNumber":323,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution A\u0027,"},{"lineNumber":324,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":325,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":326,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":327,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":328,"author":{"gitId":"-"},"content":" },"},{"lineNumber":329,"author":{"gitId":"-"},"content":" {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" name: \u0027Instructor B\u0027,"},{"lineNumber":331,"author":{"gitId":"-"},"content":" email: \u0027instructorb@example.com\u0027,"},{"lineNumber":332,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution B\u0027,"},{"lineNumber":333,"author":{"gitId":"-"},"content":" status: \u0027SUCCESS\u0027,"},{"lineNumber":334,"author":{"gitId":"-"},"content":" statusCode: 200,"},{"lineNumber":335,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":336,"author":{"gitId":"-"},"content":" joinLink: \u0027http://localhost:4200/web/join\u0027,"},{"lineNumber":337,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":338,"author":{"gitId":"-"},"content":" },"},{"lineNumber":339,"author":{"gitId":"-"},"content":" {"},{"lineNumber":340,"author":{"gitId":"-"},"content":" name: \u0027Instructor C\u0027,"},{"lineNumber":341,"author":{"gitId":"-"},"content":" email: \u0027instructorc@example.com\u0027,"},{"lineNumber":342,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution C\u0027,"},{"lineNumber":343,"author":{"gitId":"-"},"content":" status: \u0027FAIL\u0027,"},{"lineNumber":344,"author":{"gitId":"-"},"content":" statusCode: 400,"},{"lineNumber":345,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":346,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":347,"author":{"gitId":"-"},"content":" message: \u0027The instructor cannot be added for some reason\u0027,"},{"lineNumber":348,"author":{"gitId":"-"},"content":" },"},{"lineNumber":349,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":350,"author":{"gitId":"-"},"content":" // No need to spy here as this test only tests the number of active requests added"},{"lineNumber":351,"author":{"gitId":"-"},"content":" // Testing of adding individual instructors have been done before"},{"lineNumber":352,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":353,"author":{"gitId":"-"},"content":""},{"lineNumber":354,"author":{"gitId":"-"},"content":" const button: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#add-all-instructors\u0027);"},{"lineNumber":355,"author":{"gitId":"-"},"content":" button.click();"},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[0].status).toEqual(\u0027ADDING\u0027);"},{"lineNumber":358,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[1].status).toEqual(\u0027SUCCESS\u0027);"},{"lineNumber":359,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[2].status).toEqual(\u0027ADDING\u0027);"},{"lineNumber":360,"author":{"gitId":"-"},"content":" expect(component.activeRequests).toEqual(2);"},{"lineNumber":361,"author":{"gitId":"-"},"content":" });"},{"lineNumber":362,"author":{"gitId":"-"},"content":""},{"lineNumber":363,"author":{"gitId":"-"},"content":" it(\u0027should add only instructors that are not currently in edit mode when trying to add all\u0027, () \u003d\u003e {"},{"lineNumber":364,"author":{"gitId":"-"},"content":" component.instructorsConsolidated \u003d ["},{"lineNumber":365,"author":{"gitId":"-"},"content":" {"},{"lineNumber":366,"author":{"gitId":"-"},"content":" name: \u0027Instructor A\u0027,"},{"lineNumber":367,"author":{"gitId":"-"},"content":" email: \u0027instructora@example.com\u0027,"},{"lineNumber":368,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution A\u0027,"},{"lineNumber":369,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":370,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":371,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":372,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":373,"author":{"gitId":"-"},"content":" },"},{"lineNumber":374,"author":{"gitId":"-"},"content":" {"},{"lineNumber":375,"author":{"gitId":"-"},"content":" name: \u0027Instructor B\u0027,"},{"lineNumber":376,"author":{"gitId":"-"},"content":" email: \u0027instructorb@example.com\u0027,"},{"lineNumber":377,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution B\u0027,"},{"lineNumber":378,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":379,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: true,"},{"lineNumber":380,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":381,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":382,"author":{"gitId":"-"},"content":" },"},{"lineNumber":383,"author":{"gitId":"-"},"content":" {"},{"lineNumber":384,"author":{"gitId":"-"},"content":" name: \u0027Instructor C\u0027,"},{"lineNumber":385,"author":{"gitId":"-"},"content":" email: \u0027instructorc@example.com\u0027,"},{"lineNumber":386,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution C\u0027,"},{"lineNumber":387,"author":{"gitId":"-"},"content":" status: \u0027FAIL\u0027,"},{"lineNumber":388,"author":{"gitId":"-"},"content":" statusCode: 400,"},{"lineNumber":389,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":390,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":391,"author":{"gitId":"-"},"content":" message: \u0027The instructor cannot be added for some reason\u0027,"},{"lineNumber":392,"author":{"gitId":"-"},"content":" },"},{"lineNumber":393,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":394,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":395,"author":{"gitId":"-"},"content":""},{"lineNumber":396,"author":{"gitId":"-"},"content":" const addAllButton: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#add-all-instructors\u0027);"},{"lineNumber":397,"author":{"gitId":"-"},"content":" addAllButton.click();"},{"lineNumber":398,"author":{"gitId":"-"},"content":""},{"lineNumber":399,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[0].status).toEqual(\u0027ADDING\u0027);"},{"lineNumber":400,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[1].status).toEqual(\u0027PENDING\u0027);"},{"lineNumber":401,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[2].status).toEqual(\u0027ADDING\u0027);"},{"lineNumber":402,"author":{"gitId":"-"},"content":" expect(component.activeRequests).toEqual(2);"},{"lineNumber":403,"author":{"gitId":"-"},"content":" });"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" it(\u0027should snap with default view\u0027, () \u003d\u003e {"},{"lineNumber":406,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":407,"author":{"gitId":"-"},"content":" });"},{"lineNumber":408,"author":{"gitId":"-"},"content":""},{"lineNumber":409,"author":{"gitId":"-"},"content":" it(\u0027should snap with some instructors details\u0027, () \u003d\u003e {"},{"lineNumber":410,"author":{"gitId":"-"},"content":" component.instructorsConsolidated \u003d ["},{"lineNumber":411,"author":{"gitId":"-"},"content":" {"},{"lineNumber":412,"author":{"gitId":"-"},"content":" name: \u0027Instructor A\u0027,"},{"lineNumber":413,"author":{"gitId":"-"},"content":" email: \u0027instructora@example.com\u0027,"},{"lineNumber":414,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution A\u0027,"},{"lineNumber":415,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":416,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":417,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":418,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":419,"author":{"gitId":"-"},"content":" },"},{"lineNumber":420,"author":{"gitId":"-"},"content":" {"},{"lineNumber":421,"author":{"gitId":"-"},"content":" name: \u0027Instructor B\u0027,"},{"lineNumber":422,"author":{"gitId":"-"},"content":" email: \u0027instructorb@example.com\u0027,"},{"lineNumber":423,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution B\u0027,"},{"lineNumber":424,"author":{"gitId":"-"},"content":" status: \u0027SUCCESS\u0027,"},{"lineNumber":425,"author":{"gitId":"-"},"content":" statusCode: 200,"},{"lineNumber":426,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":427,"author":{"gitId":"-"},"content":" joinLink: \u0027http://localhost:4200/web/join\u0027,"},{"lineNumber":428,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":429,"author":{"gitId":"-"},"content":" },"},{"lineNumber":430,"author":{"gitId":"-"},"content":" {"},{"lineNumber":431,"author":{"gitId":"-"},"content":" name: \u0027Instructor C\u0027,"},{"lineNumber":432,"author":{"gitId":"-"},"content":" email: \u0027instructorc@example.com\u0027,"},{"lineNumber":433,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution C\u0027,"},{"lineNumber":434,"author":{"gitId":"-"},"content":" status: \u0027FAIL\u0027,"},{"lineNumber":435,"author":{"gitId":"-"},"content":" statusCode: 400,"},{"lineNumber":436,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":437,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":438,"author":{"gitId":"-"},"content":" message: \u0027The instructor cannot be added for some reason\u0027,"},{"lineNumber":439,"author":{"gitId":"-"},"content":" },"},{"lineNumber":440,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":441,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":442,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":443,"author":{"gitId":"-"},"content":" });"},{"lineNumber":444,"author":{"gitId":"-"},"content":""},{"lineNumber":445,"author":{"gitId":"-"},"content":" it(\u0027should snap with disabled adding instructor button if there are active requests\u0027, () \u003d\u003e {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" component.instructorsConsolidated \u003d ["},{"lineNumber":447,"author":{"gitId":"-"},"content":" {"},{"lineNumber":448,"author":{"gitId":"-"},"content":" name: \u0027Instructor A\u0027,"},{"lineNumber":449,"author":{"gitId":"-"},"content":" email: \u0027instructora@example.com\u0027,"},{"lineNumber":450,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution A\u0027,"},{"lineNumber":451,"author":{"gitId":"-"},"content":" status: \u0027ADDING\u0027,"},{"lineNumber":452,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":453,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":454,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":455,"author":{"gitId":"-"},"content":" },"},{"lineNumber":456,"author":{"gitId":"-"},"content":" {"},{"lineNumber":457,"author":{"gitId":"-"},"content":" name: \u0027Instructor B\u0027,"},{"lineNumber":458,"author":{"gitId":"-"},"content":" email: \u0027instructorb@example.com\u0027,"},{"lineNumber":459,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution B\u0027,"},{"lineNumber":460,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":461,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":462,"author":{"gitId":"-"},"content":" joinLink: \u0027This should not be displayed\u0027,"},{"lineNumber":463,"author":{"gitId":"-"},"content":" message: \u0027This should not be displayed\u0027,"},{"lineNumber":464,"author":{"gitId":"-"},"content":" },"},{"lineNumber":465,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":466,"author":{"gitId":"-"},"content":" component.activeRequests \u003d 1;"},{"lineNumber":467,"author":{"gitId":"-"},"content":" component.isAddingInstructors \u003d true;"},{"lineNumber":468,"author":{"gitId":"-"},"content":""},{"lineNumber":469,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":470,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":471,"author":{"gitId":"-"},"content":" });"},{"lineNumber":472,"author":{"gitId":"-"},"content":""},{"lineNumber":473,"author":{"gitId":"-"},"content":" it(\u0027should add multiple instructors split by tabs\u0027, () \u003d\u003e {"},{"lineNumber":474,"author":{"gitId":"-"},"content":" component.instructorDetails \u003d `Instructor A \\t instructora@example.com \\t Sample Institution A\\n"},{"lineNumber":475,"author":{"gitId":"-"},"content":" Instructor B \\t instructorb@example.com \\t Sample Institution B`;"},{"lineNumber":476,"author":{"gitId":"-"},"content":""},{"lineNumber":477,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":478,"author":{"gitId":"-"},"content":""},{"lineNumber":479,"author":{"gitId":"-"},"content":" const button: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#add-instructor-single-line\u0027);"},{"lineNumber":480,"author":{"gitId":"-"},"content":" button.click();"},{"lineNumber":481,"author":{"gitId":"-"},"content":""},{"lineNumber":482,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated.length).toEqual(2);"},{"lineNumber":483,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[0]).toEqual("},{"lineNumber":484,"author":{"gitId":"-"},"content":" {"},{"lineNumber":485,"author":{"gitId":"-"},"content":" name: \u0027Instructor A\u0027,"},{"lineNumber":486,"author":{"gitId":"-"},"content":" email: \u0027instructora@example.com\u0027,"},{"lineNumber":487,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution A\u0027,"},{"lineNumber":488,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":489,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":491,"author":{"gitId":"-"},"content":" );"},{"lineNumber":492,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[1]).toEqual("},{"lineNumber":493,"author":{"gitId":"-"},"content":" {"},{"lineNumber":494,"author":{"gitId":"-"},"content":" name: \u0027Instructor B\u0027,"},{"lineNumber":495,"author":{"gitId":"-"},"content":" email: \u0027instructorb@example.com\u0027,"},{"lineNumber":496,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution B\u0027,"},{"lineNumber":497,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":498,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":499,"author":{"gitId":"-"},"content":" },"},{"lineNumber":500,"author":{"gitId":"-"},"content":" );"},{"lineNumber":501,"author":{"gitId":"-"},"content":" });"},{"lineNumber":502,"author":{"gitId":"-"},"content":""},{"lineNumber":503,"author":{"gitId":"-"},"content":" it(\u0027should add multiple instructors split by vertical bars\u0027, () \u003d\u003e {"},{"lineNumber":504,"author":{"gitId":"-"},"content":" component.instructorDetails \u003d `Instructor A | instructora@example.com | Sample Institution A\\n"},{"lineNumber":505,"author":{"gitId":"-"},"content":" Instructor B | instructorb@example.com | Sample Institution B`;"},{"lineNumber":506,"author":{"gitId":"-"},"content":""},{"lineNumber":507,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":508,"author":{"gitId":"-"},"content":""},{"lineNumber":509,"author":{"gitId":"-"},"content":" const button: any \u003d fixture.debugElement.nativeElement.querySelector(\u0027#add-instructor-single-line\u0027);"},{"lineNumber":510,"author":{"gitId":"-"},"content":" button.click();"},{"lineNumber":511,"author":{"gitId":"-"},"content":""},{"lineNumber":512,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated.length).toEqual(2);"},{"lineNumber":513,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[0]).toEqual("},{"lineNumber":514,"author":{"gitId":"-"},"content":" {"},{"lineNumber":515,"author":{"gitId":"-"},"content":" name: \u0027Instructor A\u0027,"},{"lineNumber":516,"author":{"gitId":"-"},"content":" email: \u0027instructora@example.com\u0027,"},{"lineNumber":517,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution A\u0027,"},{"lineNumber":518,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":519,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":520,"author":{"gitId":"-"},"content":" },"},{"lineNumber":521,"author":{"gitId":"-"},"content":" );"},{"lineNumber":522,"author":{"gitId":"-"},"content":" expect(component.instructorsConsolidated[1]).toEqual("},{"lineNumber":523,"author":{"gitId":"-"},"content":" {"},{"lineNumber":524,"author":{"gitId":"-"},"content":" name: \u0027Instructor B\u0027,"},{"lineNumber":525,"author":{"gitId":"-"},"content":" email: \u0027instructorb@example.com\u0027,"},{"lineNumber":526,"author":{"gitId":"-"},"content":" institution: \u0027Sample Institution B\u0027,"},{"lineNumber":527,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":528,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":529,"author":{"gitId":"-"},"content":" },"},{"lineNumber":530,"author":{"gitId":"-"},"content":" );"},{"lineNumber":531,"author":{"gitId":"-"},"content":" });"},{"lineNumber":532,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"domoberzin":4,"-":528}},{"path":"src/web/app/pages-admin/admin-home-page/admin-home-page.component.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"dishenggg"},"content":"import { Component, OnInit } from \u0027@angular/core\u0027;"},{"lineNumber":2,"author":{"gitId":"dishenggg"},"content":"import { Observable, of } from \u0027rxjs\u0027;"},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"import { finalize } from \u0027rxjs/operators\u0027;"},{"lineNumber":4,"author":{"gitId":"dishenggg"},"content":"import { InstructorData } from \u0027./instructor-data\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import { AccountService } from \u0027../../../services/account.service\u0027;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import { LinkService } from \u0027../../../services/link.service\u0027;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import { StatusMessageService } from \u0027../../../services/status-message.service\u0027;"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":"import { TimezoneService } from \u0027../../../services/timezone.service\u0027;"},{"lineNumber":9,"author":{"gitId":"dishenggg"},"content":"import { AccountRequest, AccountRequests } from \u0027../../../types/api-output\u0027;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import { AccountRequestTableRowModel } from \u0027../../components/account-requests-table/account-request-table-model\u0027;"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":"import { FormatDateDetailPipe } from \u0027../../components/teammates-common/format-date-detail.pipe\u0027;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import { ErrorMessageOutput } from \u0027../../error-message-output\u0027;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Admin home page."},{"lineNumber":16,"author":{"gitId":"-"},"content":" */"},{"lineNumber":17,"author":{"gitId":"-"},"content":"@Component({"},{"lineNumber":18,"author":{"gitId":"-"},"content":" selector: \u0027tm-admin-home-page\u0027,"},{"lineNumber":19,"author":{"gitId":"-"},"content":" templateUrl: \u0027./admin-home-page.component.html\u0027,"},{"lineNumber":20,"author":{"gitId":"-"},"content":" styleUrls: [\u0027./admin-home-page.component.scss\u0027],"},{"lineNumber":21,"author":{"gitId":"-"},"content":"})"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":"export class AdminHomePageComponent implements OnInit {"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" instructorDetails: string \u003d \u0027\u0027;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" instructorName: string \u003d \u0027\u0027;"},{"lineNumber":26,"author":{"gitId":"-"},"content":" instructorEmail: string \u003d \u0027\u0027;"},{"lineNumber":27,"author":{"gitId":"-"},"content":" instructorInstitution: string \u003d \u0027\u0027;"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" instructorsConsolidated: InstructorData[] \u003d [];"},{"lineNumber":30,"author":{"gitId":"domoberzin"},"content":" accountReqs: AccountRequestTableRowModel[] \u003d [];"},{"lineNumber":31,"author":{"gitId":"-"},"content":" activeRequests: number \u003d 0;"},{"lineNumber":32,"author":{"gitId":"domoberzin"},"content":" currentPage: number \u003d 1;"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" pageSize: number \u003d 20;"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" items$: Observable\u003cany\u003e \u003d of([]);"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" isAddingInstructors: boolean \u003d false;"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" constructor("},{"lineNumber":39,"author":{"gitId":"-"},"content":" private accountService: AccountService,"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private statusMessageService: StatusMessageService,"},{"lineNumber":41,"author":{"gitId":"domoberzin"},"content":" private timezoneService: TimezoneService,"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private linkService: LinkService,"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" private formatDateDetailPipe: FormatDateDetailPipe,"},{"lineNumber":44,"author":{"gitId":"-"},"content":" ) {}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"domoberzin"},"content":" ngOnInit(): void {"},{"lineNumber":47,"author":{"gitId":"domoberzin"},"content":" this.fetchAccountRequests();"},{"lineNumber":48,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":49,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":51,"author":{"gitId":"-"},"content":" * Validates and adds the instructor details filled with first form."},{"lineNumber":52,"author":{"gitId":"-"},"content":" */"},{"lineNumber":53,"author":{"gitId":"-"},"content":" validateAndAddInstructorDetails(): void {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" const invalidLines: string[] \u003d [];"},{"lineNumber":55,"author":{"gitId":"-"},"content":" for (const instructorDetail of this.instructorDetails.split(/\\r?\\n/)) {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" const instructorDetailSplit: string[] \u003d instructorDetail.split(/[|\\t]/).map((item: string) \u003d\u003e item.trim());"},{"lineNumber":57,"author":{"gitId":"-"},"content":" if (instructorDetailSplit.length \u003c 3) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" // TODO handle error"},{"lineNumber":59,"author":{"gitId":"-"},"content":" invalidLines.push(instructorDetail);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":" if (!instructorDetailSplit[0] || !instructorDetailSplit[1] || !instructorDetailSplit[2]) {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" // TODO handle error"},{"lineNumber":64,"author":{"gitId":"-"},"content":" invalidLines.push(instructorDetail);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":" this.instructorsConsolidated.push({"},{"lineNumber":68,"author":{"gitId":"-"},"content":" name: instructorDetailSplit[0],"},{"lineNumber":69,"author":{"gitId":"-"},"content":" email: instructorDetailSplit[1],"},{"lineNumber":70,"author":{"gitId":"-"},"content":" institution: instructorDetailSplit[2],"},{"lineNumber":71,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":72,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" });"},{"lineNumber":74,"author":{"gitId":"-"},"content":" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":" this.instructorDetails \u003d invalidLines.join(\u0027\\r\\n\u0027);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * Validates and adds the instructor detail filled with second form."},{"lineNumber":80,"author":{"gitId":"-"},"content":" */"},{"lineNumber":81,"author":{"gitId":"-"},"content":" validateAndAddInstructorDetail(): void {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" if (!this.instructorName || !this.instructorEmail || !this.instructorInstitution) {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" // TODO handle error"},{"lineNumber":84,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":" this.instructorsConsolidated.push({"},{"lineNumber":87,"author":{"gitId":"-"},"content":" name: this.instructorName,"},{"lineNumber":88,"author":{"gitId":"-"},"content":" email: this.instructorEmail,"},{"lineNumber":89,"author":{"gitId":"-"},"content":" institution: this.instructorInstitution,"},{"lineNumber":90,"author":{"gitId":"-"},"content":" status: \u0027PENDING\u0027,"},{"lineNumber":91,"author":{"gitId":"-"},"content":" isCurrentlyBeingEdited: false,"},{"lineNumber":92,"author":{"gitId":"-"},"content":" });"},{"lineNumber":93,"author":{"gitId":"-"},"content":" this.instructorName \u003d \u0027\u0027;"},{"lineNumber":94,"author":{"gitId":"-"},"content":" this.instructorEmail \u003d \u0027\u0027;"},{"lineNumber":95,"author":{"gitId":"-"},"content":" this.instructorInstitution \u003d \u0027\u0027;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":99,"author":{"gitId":"-"},"content":" * Adds the instructor at the i-th index."},{"lineNumber":100,"author":{"gitId":"-"},"content":" */"},{"lineNumber":101,"author":{"gitId":"-"},"content":" addInstructor(i: number): void {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" const instructor: InstructorData \u003d this.instructorsConsolidated[i];"},{"lineNumber":103,"author":{"gitId":"-"},"content":" if (this.instructorsConsolidated[i].isCurrentlyBeingEdited"},{"lineNumber":104,"author":{"gitId":"-"},"content":" || (instructor.status !\u003d\u003d \u0027PENDING\u0027 \u0026\u0026 instructor.status !\u003d\u003d \u0027FAIL\u0027)) {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":107,"author":{"gitId":"-"},"content":" this.activeRequests +\u003d 1;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" instructor.status \u003d \u0027ADDING\u0027;"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" this.isAddingInstructors \u003d true;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" this.accountService.createAccountRequest({"},{"lineNumber":112,"author":{"gitId":"-"},"content":" instructorEmail: instructor.email,"},{"lineNumber":113,"author":{"gitId":"-"},"content":" instructorName: instructor.name,"},{"lineNumber":114,"author":{"gitId":"-"},"content":" instructorInstitution: instructor.institution,"},{"lineNumber":115,"author":{"gitId":"-"},"content":" })"},{"lineNumber":116,"author":{"gitId":"-"},"content":" .pipe(finalize(() \u003d\u003e {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" this.isAddingInstructors \u003d false;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }))"},{"lineNumber":119,"author":{"gitId":"-"},"content":" .subscribe({"},{"lineNumber":120,"author":{"gitId":"-"},"content":" next: (resp: AccountRequest) \u003d\u003e {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" instructor.status \u003d \u0027SUCCESS\u0027;"},{"lineNumber":122,"author":{"gitId":"-"},"content":" instructor.statusCode \u003d 200;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" instructor.joinLink \u003d this.linkService.generateAccountRegistrationLink(resp.registrationKey);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" this.activeRequests -\u003d 1;"},{"lineNumber":125,"author":{"gitId":"-"},"content":" },"},{"lineNumber":126,"author":{"gitId":"-"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" instructor.status \u003d \u0027FAIL\u0027;"},{"lineNumber":128,"author":{"gitId":"-"},"content":" instructor.statusCode \u003d resp.status;"},{"lineNumber":129,"author":{"gitId":"-"},"content":" instructor.message \u003d resp.error.message;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" this.activeRequests -\u003d 1;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" },"},{"lineNumber":132,"author":{"gitId":"-"},"content":" });"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":136,"author":{"gitId":"-"},"content":" * Removes the instructor at the i-th index."},{"lineNumber":137,"author":{"gitId":"-"},"content":" */"},{"lineNumber":138,"author":{"gitId":"-"},"content":" removeInstructor(i: number): void {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" this.instructorsConsolidated.splice(i, 1);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Sets the i-th instructor data row\u0027s edit mode status."},{"lineNumber":144,"author":{"gitId":"-"},"content":" *"},{"lineNumber":145,"author":{"gitId":"-"},"content":" * @param i The index."},{"lineNumber":146,"author":{"gitId":"-"},"content":" * @param isEnabled Whether the edit mode status is enabled."},{"lineNumber":147,"author":{"gitId":"-"},"content":" */"},{"lineNumber":148,"author":{"gitId":"-"},"content":" setInstructorRowEditModeEnabled(i: number, isEnabled: boolean): void {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" this.instructorsConsolidated[i].isCurrentlyBeingEdited \u003d isEnabled;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * Adds all the pending and failed-to-add instructors."},{"lineNumber":154,"author":{"gitId":"-"},"content":" */"},{"lineNumber":155,"author":{"gitId":"-"},"content":" addAllInstructors(): void {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" for (let i: number \u003d 0; i \u003c this.instructorsConsolidated.length; i +\u003d 1) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" this.addInstructor(i);"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"domoberzin"},"content":" private formatAccountRequests(requests: AccountRequests): AccountRequestTableRowModel[] {"},{"lineNumber":162,"author":{"gitId":"domoberzin"},"content":" const timezone: string \u003d this.timezoneService.guessTimezone() || \u0027UTC\u0027;"},{"lineNumber":163,"author":{"gitId":"domoberzin"},"content":" return requests.accountRequests.map((request) \u003d\u003e {"},{"lineNumber":164,"author":{"gitId":"domoberzin"},"content":" return {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" id: request.id,"},{"lineNumber":166,"author":{"gitId":"domoberzin"},"content":" name: request.name,"},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":" email: request.email,"},{"lineNumber":168,"author":{"gitId":"domoberzin"},"content":" status: request.status,"},{"lineNumber":169,"author":{"gitId":"domoberzin"},"content":" instituteAndCountry: request.institute,"},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":" createdAtText: this.formatDateDetailPipe.transform(request.createdAt, timezone),"},{"lineNumber":171,"author":{"gitId":"domoberzin"},"content":" registeredAtText: request.registeredAt"},{"lineNumber":172,"author":{"gitId":"domoberzin"},"content":" ? this.formatDateDetailPipe.transform(request.registeredAt, timezone) : \u0027\u0027,"},{"lineNumber":173,"author":{"gitId":"domoberzin"},"content":" comments: request.comments || \u0027\u0027,"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":" registrationLink: \u0027\u0027,"},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" showLinks: false,"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":178,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":" fetchAccountRequests(): void {"},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":" this.accountService.getPendingAccountRequests().subscribe({"},{"lineNumber":182,"author":{"gitId":"domoberzin"},"content":" next: (resp: AccountRequests) \u003d\u003e {"},{"lineNumber":183,"author":{"gitId":"domoberzin"},"content":" this.accountReqs \u003d this.formatAccountRequests(resp);"},{"lineNumber":184,"author":{"gitId":"-"},"content":" },"},{"lineNumber":185,"author":{"gitId":"-"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" this.statusMessageService.showErrorToast(resp.error.message);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" },"},{"lineNumber":188,"author":{"gitId":"-"},"content":" });"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":35,"dishenggg":5,"-":150}},{"path":"src/web/app/pages-admin/admin-home-page/admin-home-page.module.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { CommonModule } from \u0027@angular/common\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { NgModule } from \u0027@angular/core\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import { FormsModule } from \u0027@angular/forms\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { RouterModule, Routes } from \u0027@angular/router\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import { AdminHomePageComponent } from \u0027./admin-home-page.component\u0027;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import { NewInstructorDataRowComponent } from \u0027./new-instructor-data-row/new-instructor-data-row.component\u0027;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import { AccountRequestTableModule } from \u0027../../components/account-requests-table/account-request-table.module\u0027;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import { AjaxLoadingModule } from \u0027../../components/ajax-loading/ajax-loading.module\u0027;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import { LoadingSpinnerModule } from \u0027../../components/loading-spinner/loading-spinner.module\u0027;"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":"import { FormatDateDetailPipe } from \u0027../../components/teammates-common/format-date-detail.pipe\u0027;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"const routes: Routes \u003d ["},{"lineNumber":13,"author":{"gitId":"-"},"content":" {"},{"lineNumber":14,"author":{"gitId":"-"},"content":" path: \u0027\u0027,"},{"lineNumber":15,"author":{"gitId":"-"},"content":" component: AdminHomePageComponent,"},{"lineNumber":16,"author":{"gitId":"-"},"content":" },"},{"lineNumber":17,"author":{"gitId":"-"},"content":"];"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * Module for admin home page."},{"lineNumber":21,"author":{"gitId":"-"},"content":" */"},{"lineNumber":22,"author":{"gitId":"-"},"content":"@NgModule({"},{"lineNumber":23,"author":{"gitId":"-"},"content":" declarations: ["},{"lineNumber":24,"author":{"gitId":"-"},"content":" AdminHomePageComponent,"},{"lineNumber":25,"author":{"gitId":"-"},"content":" NewInstructorDataRowComponent,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":27,"author":{"gitId":"-"},"content":" exports: ["},{"lineNumber":28,"author":{"gitId":"-"},"content":" AdminHomePageComponent,"},{"lineNumber":29,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":30,"author":{"gitId":"-"},"content":" imports: ["},{"lineNumber":31,"author":{"gitId":"-"},"content":" CommonModule,"},{"lineNumber":32,"author":{"gitId":"-"},"content":" FormsModule,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" RouterModule.forChild(routes),"},{"lineNumber":34,"author":{"gitId":"domoberzin"},"content":" AccountRequestTableModule,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" AjaxLoadingModule,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" LoadingSpinnerModule,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":38,"author":{"gitId":"domoberzin"},"content":" providers: ["},{"lineNumber":39,"author":{"gitId":"domoberzin"},"content":" FormatDateDetailPipe,"},{"lineNumber":40,"author":{"gitId":"domoberzin"},"content":" ],"},{"lineNumber":41,"author":{"gitId":"-"},"content":"})"},{"lineNumber":42,"author":{"gitId":"-"},"content":"export class AdminHomePageModule { }"}],"authorContributionMap":{"domoberzin":6,"-":36}},{"path":"src/web/app/pages-admin/admin-search-page/admin-search-page.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"card bg-light top-padded\"\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cp class\u003d\"text-muted\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" Tips: Surround key word to search a whole string or string contains punctuation like \"-\" \".\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003c/p\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"input-group\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"search-box\" type\u003d\"text\" class\u003d\"form-control\" aria-label\u003d\"Search\" [(ngModel)]\u003d\"searchQuery\""},{"lineNumber":9,"author":{"gitId":"-"},"content":" (keyup.enter)\u003d\"search()\" [maxlength]\u003d\"characterLimit\"\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"search-button\" class\u003d\"btn btn-primary input-group-text\" (click)\u003d\"search()\"\u003eSearch\u003c/button\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cspan\u003e{{ characterLimit - searchQuery.length }} characters left\u003c/span\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"card bg-light top-padded\" *ngIf\u003d\"instructors.length\"\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-header bg-info\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cstrong\u003eInstructors Found\u003c/strong\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-header-btn-toolbar\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"show-instructor-links\" class\u003d\"btn btn-light btn-sm\" style\u003d\"margin-right: 10px;\" type\u003d\"button\" (click)\u003d\"showAllInstructorsLinks()\"\u003eExpand All\u003c/button\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"hide-instructor-links\" class\u003d\"btn btn-light btn-sm\" type\u003d\"button\" (click)\u003d\"hideAllInstructorsLinks()\"\u003eCollapse All\u003c/button\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"table-responsive\"\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003ctable id\u003d\"search-table-instructor\" class\u003d\"table table-striped data-table\"\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003cthead\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003ctr\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003cth\u003eCourse\u003c/th\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003cth\u003eName\u003c/th\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003cth\u003eGoogle ID\u003c/th\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003cth\u003eInstitute\u003c/th\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003cth\u003eOptions\u003c/th\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003c/tr\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003c/thead\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003ctbody\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cng-container *ngFor\u003d\"let instructor of instructors; let i \u003d index\"\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003ctr (click)\u003d\"instructor.showLinks \u003d !instructor.showLinks\"\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003ctd class\u003d\"text-break\"\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"ngb-tooltip-class\" [ngClass]\u003d\"{\u0027text-course-deleted\u0027: instructor.isCourseDeleted}\" [ngbTooltip]\u003d\"instructor.courseName\" [innerHtml]\u003d\"instructor.courseId | highlighter:searchString:true\"\u003e\u003c/span\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003ci *ngIf\u003d\"instructor.isCourseDeleted\" class\u003d\"fas fa-trash-alt text-course-deleted margin-left-5px bin-icon\" [ngbTooltip]\u003d\"\u0027This course is in the recycle bin.\u0027\"\u003e\u003c/i\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003cbr\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-sm-1\"\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003cbutton *ngIf\u003d\"!instructor.showLinks\" class\u003d\"btn\" aria-label\u003d\"Expand\"\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-chevron-circle-down\" style\u003d\"color: blue;\"\u003e\u003c/i\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003cbutton *ngIf\u003d\"instructor.showLinks\" class\u003d\"btn\" aria-label\u003d\"Collapse\"\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-chevron-circle-up\" style\u003d\"color: blue;\"\u003e\u003c/i\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003ctd [innerHtml]\u003d\"instructor.name | highlighter:searchString:true\"\u003e\u003c/td\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003ctd\u003e\u003ca href\u003d\"{{ instructor.homePageLink }}\" (click)\u003d\"$event.stopPropagation()\" target\u003d\"_blank\" rel\u003d\"noopener noreferrer\" [innerHtml]\u003d\"instructor.googleId | highlighter:searchString:true\"\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003ctd [innerHtml]\u003d\"instructor.institute | highlighter:searchString:true\"\u003e\u003c/td\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003ctd\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"{{ instructor.manageAccountLink }}\" *ngIf\u003d\"instructor.manageAccountLink\""},{"lineNumber":59,"author":{"gitId":"-"},"content":" (click)\u003d\"$event.stopPropagation()\" target\u003d\"_blank\" rel\u003d\"noopener noreferrer\"\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-info-circle\"\u003e\u003c/i\u003e Manage this account"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":" \u003cbr\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003ca id\u003d\"reset-instructor-id-{{i}}\" href\u003d\"javascript:;\" (click)\u003d\"resetInstructorGoogleId(instructor, $event)\" *ngIf\u003d\"instructor.googleId\"\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sync\"\u003e\u003c/i\u003e Reset Google ID"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003cbr\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"regenerate-instructor-key-{{i}}\" class\u003d\"btn btn-danger\" (click)\u003d\"instructor.showLinks \u003d !instructor.showLinks; regenerateInstructorKey(instructor);\"\u003eRegenerate key\u003c/button\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u003c/tr\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":" \u003ctr *ngIf\u003d\"instructor.showLinks\"\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \u003ctd colspan\u003d\"5\"\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":" \u003cul class\u003d\"list-group\"\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003cli class\u003d\"list-group-item list-group-item-success has-success\"\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \u003cstrong\u003eEmail\u003c/strong\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \u003cinput [value]\u003d\"instructor.email\" disabled class\u003d\"form-control\"\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003cli class\u003d\"list-group-item list-group-item-info\"\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003cstrong\u003eCourse Join Link\u003c/strong\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003cinput [value]\u003d\"instructor.courseJoinLink\" disabled class\u003d\"form-control\"\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003cli class\u003d\"list-group-item list-group-item-light\" *ngFor\u003d\"let awaitingFs of instructor.awaitingSessions | keyvalue\"\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003cstrong\u003e{{ awaitingFs.key + \u0027 \u0027 + awaitingFs.value.startTime + \u0027 - \u0027 + awaitingFs.value.endTime }}\u003c/strong\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003cinput [value]\u003d\"awaitingFs.value.feedbackSessionUrl\" disabled class\u003d\"form-control\"\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":" \u003cli class\u003d\"list-group-item list-group-item-warning\" *ngFor\u003d\"let openFs of instructor.openSessions | keyvalue\"\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":" \u003cstrong\u003e{{ openFs.key + \u0027 \u0027 + openFs.value.startTime + \u0027 - \u0027 + openFs.value.endTime }}\u003c/strong\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":" \u003cinput [value]\u003d\"openFs.value.feedbackSessionUrl\" disabled class\u003d\"form-control\"\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" \u003cli class\u003d\"list-group-item list-group-item-danger\" *ngFor\u003d\"let notOpenFs of instructor.notOpenSessions | keyvalue\"\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \u003cstrong\u003e{{ notOpenFs.key + \u0027 \u0027 + notOpenFs.value.startTime + \u0027 - \u0027 + notOpenFs.value.endTime }}\u003c/strong\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":" \u003cinput [value]\u003d\"notOpenFs.value.feedbackSessionUrl\" disabled class\u003d\"form-control\"\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003cli class\u003d\"list-group-item list-group-item-success\" *ngFor\u003d\"let publishedFs of instructor.publishedSessions | keyvalue\"\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003cstrong\u003e{{ publishedFs.key + \u0027 \u0027 + publishedFs.value.startTime + \u0027 - \u0027 + publishedFs.value.endTime }}\u003c/strong\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \u003cinput [value]\u003d\"publishedFs.value.feedbackSessionUrl\" disabled class\u003d\"form-control\"\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \u003c/ul\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":" \u003c/tr\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" \u003c/ng-container\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003c/tbody\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003c/table\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"card bg-light top-padded\" *ngIf\u003d\"students.length\"\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-header bg-primary text-white\"\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \u003cstrong\u003eStudents Found\u003c/strong\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-header-btn-toolbar\"\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"show-student-links\" class\u003d\"btn btn-light btn-sm\" style\u003d\"margin-right: 10px;\" type\u003d\"button\" (click)\u003d\"showAllStudentsLinks()\"\u003eExpand All\u003c/button\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"hide-student-links\" class\u003d\"btn btn-light btn-sm\" type\u003d\"button\" (click)\u003d\"hideAllStudentsLinks()\"\u003eCollapse All\u003c/button\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"table-responsive\"\u003e"},{"lineNumber":116,"author":{"gitId":"-"},"content":" \u003ctable class\u003d\"table table-striped data-table\" id\u003d\"search-table-student\"\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":" \u003cthead\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \u003ctr\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":" \u003cth\u003eCourse [Section] (Team)\u003c/th\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \u003cth\u003eName\u003c/th\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":" \u003cth\u003eGoogle ID\u003c/th\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":" \u003cth\u003eInstitute\u003c/th\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":" \u003cth\u003eComments\u003c/th\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":" \u003cth\u003eOptions\u003c/th\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" \u003c/tr\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003c/thead\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":" \u003ctbody\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":" \u003cng-container *ngFor\u003d\"let student of students; let i \u003d index\"\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":" \u003ctr (click)\u003d\"student.showLinks \u003d !student.showLinks\"\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":" \u003ctd\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"text-break ngb-tooltip-class\" [ngClass]\u003d\"{\u0027text-course-deleted\u0027: student.isCourseDeleted}\" [ngbTooltip]\u003d\"student.courseName\""},{"lineNumber":132,"author":{"gitId":"-"},"content":" [innerHtml]\u003d\"student.courseId + \u0027 [\u0027 + student.section + \u0027] (\u0027 + student.team + \u0027)\u0027 | highlighter:searchString:true\"\u003e\u003c/span\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":" \u003ci *ngIf\u003d\"student.isCourseDeleted\" class\u003d\"fas fa-trash-alt text-course-deleted margin-left-5px bin-icon\" [ngbTooltip]\u003d\"\u0027This course is in the recycle bin.\u0027\"\u003e\u003c/i\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":" \u003cbr\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-sm-1\"\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":" \u003cbutton *ngIf\u003d\"!student.showLinks\" class\u003d\"btn\" aria-label\u003d\"Expand\"\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-chevron-circle-down\" style\u003d\"color: blue;\"\u003e\u003c/i\u003e"},{"lineNumber":138,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":" \u003cbutton *ngIf\u003d\"student.showLinks\" class\u003d\"btn\" aria-label\u003d\"Collapse\"\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-chevron-circle-up\" style\u003d\"color: blue;\"\u003e\u003c/i\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":143,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":" \u003ctd\u003e\u003ca href\u003d\"{{ student.profilePageLink }}\""},{"lineNumber":145,"author":{"gitId":"-"},"content":" (click)\u003d\"$event.stopPropagation()\" target\u003d\"_blank\" rel\u003d\"noopener noreferrer\" [innerHtml]\u003d\"student.name | highlighter:searchString:true\"\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":" \u003c/a\u003e\u003c/td\u003e"},{"lineNumber":147,"author":{"gitId":"-"},"content":" \u003ctd\u003e\u003ca href\u003d\"{{ student.homePageLink }}\" *ngIf\u003d\"student.googleId\""},{"lineNumber":148,"author":{"gitId":"-"},"content":" (click)\u003d\"$event.stopPropagation()\" target\u003d\"_blank\" rel\u003d\"noopener noreferrer\" [innerHtml]\u003d\"student.googleId | highlighter:searchString:true\"\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":" \u003c/a\u003e\u003c/td\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":" \u003ctd [innerHtml]\u003d\"student.institute | highlighter:searchString:true\"\u003e\u003c/td\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":" \u003ctd [innerHtml]\u003d\"student.comments | highlighter:searchString:true\"\u003e\u003c/td\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":" \u003ctd\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"{{ student.manageAccountLink }}\" *ngIf\u003d\"student.googleId \u0026\u0026 student.manageAccountLink\""},{"lineNumber":154,"author":{"gitId":"-"},"content":" (click)\u003d\"$event.stopPropagation()\" target\u003d\"_blank\" rel\u003d\"noopener noreferrer\"\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-info-circle\"\u003e\u003c/i\u003e Manage this account"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":" \u003cbr\u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":" \u003ca id\u003d\"reset-student-id-{{i}}\" href\u003d\"javascript:;\" (click)\u003d\"resetStudentGoogleId(student, $event)\" *ngIf\u003d\"student.googleId\"\u003e"},{"lineNumber":159,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sync\"\u003e\u003c/i\u003e Reset Google ID"},{"lineNumber":160,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":" \u003cbr\u003e"},{"lineNumber":162,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"regenerate-student-key-{{i}}\" class\u003d\"btn btn-danger\" (click)\u003d\"student.showLinks \u003d !student.showLinks; regenerateStudentKey(student);\"\u003eRegenerate key\u003c/button\u003e"},{"lineNumber":163,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":164,"author":{"gitId":"-"},"content":" \u003c/tr\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":" \u003ctr\u003e"},{"lineNumber":166,"author":{"gitId":"-"},"content":" \u003ctd colspan\u003d\"6\"\u003e"},{"lineNumber":167,"author":{"gitId":"-"},"content":" \u003cul class\u003d\"list-group\" *ngIf\u003d\"student.showLinks\" @collapseAnim\u003e"},{"lineNumber":168,"author":{"gitId":"-"},"content":" \u003cli class\u003d\"list-group-item list-group-item-success has-success\"\u003e"},{"lineNumber":169,"author":{"gitId":"-"},"content":" \u003cstrong\u003eEmail\u003c/strong\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":" \u003cinput [value]\u003d\"student.email\" disabled class\u003d\"form-control\"\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":172,"author":{"gitId":"-"},"content":" \u003cli class\u003d\"list-group-item list-group-item-info\"\u003e"},{"lineNumber":173,"author":{"gitId":"-"},"content":" \u003cstrong\u003eCourse Join Link\u003c/strong\u003e"},{"lineNumber":174,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"send-course-join-button\" type\u003d\"button\" class\u003d\"btn btn-primary margin-left-5px btn-sm\" (click)\u003d\"openCourseJoinEmail(student.courseId, student.email)\"\u003eSend mail\u003c/button\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":" \u003cinput [value]\u003d\"student.courseJoinLink\" disabled class\u003d\"form-control\"\u003e"},{"lineNumber":176,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":177,"author":{"gitId":"-"},"content":" \u003cli class\u003d\"list-group-item list-group-item-light\" *ngFor\u003d\"let awaitingFs of student.awaitingSessions | keyvalue\"\u003e"},{"lineNumber":178,"author":{"gitId":"-"},"content":" \u003cstrong\u003e{{ awaitingFs.key + \u0027 \u0027 + awaitingFs.value.startTime + \u0027 - \u0027 + awaitingFs.value.endTime }}\u003c/strong\u003e"},{"lineNumber":179,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"send-awaiting-session-reminder-button\" type\u003d\"button\" class\u003d\"btn btn-primary margin-left-5px btn-sm\" (click)\u003d\"openFeedbackSessionReminderEmail(student.courseId, student.email, awaitingFs.key)\"\u003eSend mail\u003c/button\u003e"},{"lineNumber":180,"author":{"gitId":"-"},"content":" \u003cinput [value]\u003d\"awaitingFs.value.feedbackSessionUrl\" disabled class\u003d\"form-control\"\u003e"},{"lineNumber":181,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":182,"author":{"gitId":"-"},"content":" \u003cli class\u003d\"list-group-item list-group-item-warning\" *ngFor\u003d\"let openFs of student.openSessions | keyvalue\"\u003e"},{"lineNumber":183,"author":{"gitId":"-"},"content":" \u003cstrong\u003e{{ openFs.key + \u0027 \u0027 + openFs.value.startTime + \u0027 - \u0027 + openFs.value.endTime }}\u003c/strong\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"send-open-session-reminder-button\" type\u003d\"button\" class\u003d\"btn btn-primary margin-left-5px btn-sm\" (click)\u003d\"openFeedbackSessionReminderEmail(student.courseId, student.email, openFs.key)\"\u003eSend mail\u003c/button\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":" \u003cinput [value]\u003d\"openFs.value.feedbackSessionUrl\" disabled class\u003d\"form-control\"\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":" \u003cli class\u003d\"list-group-item list-group-item-danger\" *ngFor\u003d\"let notOpenFs of student.notOpenSessions | keyvalue\"\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":" \u003cstrong\u003e{{ notOpenFs.key + \u0027 \u0027 + notOpenFs.value.startTime + \u0027 - \u0027 + notOpenFs.value.endTime }}\u003c/strong\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"send-not-open-session-reminder-button\" type\u003d\"button\" class\u003d\"btn btn-primary margin-left-5px btn-sm\" (click)\u003d\"openFeedbackSessionReminderEmail(student.courseId, student.email, notOpenFs.key)\"\u003eSend mail\u003c/button\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":" \u003cinput [value]\u003d\"notOpenFs.value.feedbackSessionUrl\" disabled class\u003d\"form-control\"\u003e"},{"lineNumber":191,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":192,"author":{"gitId":"-"},"content":" \u003cli class\u003d\"list-group-item list-group-item-success\" *ngFor\u003d\"let publishedFs of student.publishedSessions | keyvalue\"\u003e"},{"lineNumber":193,"author":{"gitId":"-"},"content":" \u003cstrong\u003e{{ publishedFs.key + \u0027 \u0027 + publishedFs.value.startTime + \u0027 - \u0027 + publishedFs.value.endTime }}\u003c/strong\u003e"},{"lineNumber":194,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"send-published-session-reminder-button\" type\u003d\"button\" class\u003d\"btn btn-primary margin-left-5px btn-sm\" (click)\u003d\"openFeedbackSessionReminderEmail(student.courseId, student.email, publishedFs.key)\"\u003eSend mail\u003c/button\u003e"},{"lineNumber":195,"author":{"gitId":"-"},"content":" \u003cinput [value]\u003d\"publishedFs.value.feedbackSessionUrl\" disabled class\u003d\"form-control\"\u003e"},{"lineNumber":196,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":197,"author":{"gitId":"-"},"content":" \u003c/ul\u003e"},{"lineNumber":198,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":199,"author":{"gitId":"-"},"content":" \u003c/tr\u003e"},{"lineNumber":200,"author":{"gitId":"-"},"content":" \u003c/ng-container\u003e"},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u003c/tbody\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":" \u003c/table\u003e"},{"lineNumber":203,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":204,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"domoberzin"},"content":"\u003ctm-account-request-table *ngIf\u003d\"accountRequests.length\" [accountRequests]\u003d\"accountRequests\" [searchString]\u003d\"searchString\"\u003e\u003c/tm-account-request-table\u003e"}],"authorContributionMap":{"domoberzin":1,"-":205}},{"path":"src/web/app/pages-admin/admin-search-page/admin-search-page.component.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { Component } from \u0027@angular/core\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { NgbModalRef } from \u0027@ng-bootstrap/ng-bootstrap\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import { finalize } from \u0027rxjs/operators\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { AccountService } from \u0027../../../services/account.service\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import { EmailGenerationService } from \u0027../../../services/email-generation.service\u0027;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import { InstructorService } from \u0027../../../services/instructor.service\u0027;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import { LoadingBarService } from \u0027../../../services/loading-bar.service\u0027;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" AccountRequestSearchResult,"},{"lineNumber":10,"author":{"gitId":"-"},"content":" AdminSearchResult,"},{"lineNumber":11,"author":{"gitId":"-"},"content":" FeedbackSessionsGroup,"},{"lineNumber":12,"author":{"gitId":"-"},"content":" InstructorAccountSearchResult,"},{"lineNumber":13,"author":{"gitId":"-"},"content":" SearchService,"},{"lineNumber":14,"author":{"gitId":"-"},"content":" StudentAccountSearchResult,"},{"lineNumber":15,"author":{"gitId":"-"},"content":"} from \u0027../../../services/search.service\u0027;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import { SimpleModalService } from \u0027../../../services/simple-modal.service\u0027;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import { StatusMessageService } from \u0027../../../services/status-message.service\u0027;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import { StudentService } from \u0027../../../services/student.service\u0027;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import { ApiConst } from \u0027../../../types/api-const\u0027;"},{"lineNumber":20,"author":{"gitId":"domoberzin"},"content":"import { Email, RegenerateKey } from \u0027../../../types/api-output\u0027;"},{"lineNumber":21,"author":{"gitId":"domoberzin"},"content":"import {"},{"lineNumber":22,"author":{"gitId":"domoberzin"},"content":" AccountRequestTableRowModel,"},{"lineNumber":23,"author":{"gitId":"domoberzin"},"content":"} from \u0027../../components/account-requests-table/account-request-table-model\u0027;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import { SimpleModalType } from \u0027../../components/simple-modal/simple-modal-type\u0027;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import { collapseAnim } from \u0027../../components/teammates-common/collapse-anim\u0027;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import { ErrorMessageOutput } from \u0027../../error-message-output\u0027;"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Admin search page."},{"lineNumber":30,"author":{"gitId":"-"},"content":" */"},{"lineNumber":31,"author":{"gitId":"-"},"content":"@Component({"},{"lineNumber":32,"author":{"gitId":"-"},"content":" selector: \u0027tm-admin-search-page\u0027,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" templateUrl: \u0027./admin-search-page.component.html\u0027,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" styleUrls: [\u0027./admin-search-page.component.scss\u0027],"},{"lineNumber":35,"author":{"gitId":"-"},"content":" animations: [collapseAnim],"},{"lineNumber":36,"author":{"gitId":"-"},"content":"})"},{"lineNumber":37,"author":{"gitId":"-"},"content":"export class AdminSearchPageComponent {"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" searchQuery: string \u003d \u0027\u0027;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" searchString: string \u003d \u0027\u0027;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" instructors: InstructorAccountSearchResult[] \u003d [];"},{"lineNumber":42,"author":{"gitId":"-"},"content":" students: StudentAccountSearchResult[] \u003d [];"},{"lineNumber":43,"author":{"gitId":"domoberzin"},"content":" accountRequests: AccountRequestTableRowModel[] \u003d [];"},{"lineNumber":44,"author":{"gitId":"-"},"content":" characterLimit \u003d 100;"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" constructor("},{"lineNumber":47,"author":{"gitId":"-"},"content":" private statusMessageService: StatusMessageService,"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private simpleModalService: SimpleModalService,"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private accountService: AccountService,"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private instructorService: InstructorService,"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private studentService: StudentService,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private searchService: SearchService,"},{"lineNumber":53,"author":{"gitId":"-"},"content":" private emailGenerationService: EmailGenerationService,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" private loadingBarService: LoadingBarService,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" ) {}"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":58,"author":{"gitId":"-"},"content":" * Searches for students and instructors matching the search query."},{"lineNumber":59,"author":{"gitId":"-"},"content":" */"},{"lineNumber":60,"author":{"gitId":"-"},"content":" search(): void {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" this.loadingBarService.showLoadingBar();"},{"lineNumber":62,"author":{"gitId":"-"},"content":" this.searchService.searchAdmin("},{"lineNumber":63,"author":{"gitId":"-"},"content":" this.searchQuery,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" ).pipe(finalize(() \u003d\u003e {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" this.loadingBarService.hideLoadingBar();"},{"lineNumber":66,"author":{"gitId":"-"},"content":" })).subscribe({"},{"lineNumber":67,"author":{"gitId":"-"},"content":" next: (resp: AdminSearchResult) \u003d\u003e {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" const hasStudents: boolean \u003d !!(resp.students \u0026\u0026 resp.students.length);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" const hasInstructors: boolean \u003d !!(resp.instructors \u0026\u0026 resp.instructors.length);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" const hasAccountRequests: boolean \u003d !!(resp.accountRequests \u0026\u0026 resp.accountRequests.length);"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" if (!hasStudents \u0026\u0026 !hasInstructors \u0026\u0026 !hasAccountRequests) {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" this.statusMessageService.showWarningToast(\u0027No results found.\u0027);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" this.instructors \u003d [];"},{"lineNumber":75,"author":{"gitId":"-"},"content":" this.students \u003d [];"},{"lineNumber":76,"author":{"gitId":"-"},"content":" this.accountRequests \u003d [];"},{"lineNumber":77,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" this.instructors \u003d resp.instructors;"},{"lineNumber":81,"author":{"gitId":"-"},"content":" this.students \u003d resp.students;"},{"lineNumber":82,"author":{"gitId":"domoberzin"},"content":" this.accountRequests \u003d this.formatAccountRequests(resp.accountRequests);"},{"lineNumber":83,"author":{"gitId":"-"},"content":" this.hideAllInstructorsLinks();"},{"lineNumber":84,"author":{"gitId":"-"},"content":" this.hideAllStudentsLinks();"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" // prompt user to use more specific terms if search results limit reached"},{"lineNumber":87,"author":{"gitId":"-"},"content":" const limit: number \u003d ApiConst.SEARCH_QUERY_SIZE_LIMIT;"},{"lineNumber":88,"author":{"gitId":"-"},"content":" const limitsReached: string[] \u003d [];"},{"lineNumber":89,"author":{"gitId":"-"},"content":" if (this.students.length \u003e\u003d limit) {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" limitsReached.push(`${limit} student results`);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":" if (this.instructors.length \u003e\u003d limit) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" limitsReached.push(`${limit} instructor results`);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":" if (this.accountRequests.length \u003e\u003d limit) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" limitsReached.push(`${limit} account request results`);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":" if (limitsReached.length) {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" this.statusMessageService.showWarningToast(`${limitsReached.join(\u0027 and \u0027)} have been shown on this page"},{"lineNumber":100,"author":{"gitId":"-"},"content":" but there may be more results not shown. Consider searching with more specific terms.`);"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" this.searchString \u003d this.searchQuery;"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" },"},{"lineNumber":106,"author":{"gitId":"-"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" this.instructors \u003d [];"},{"lineNumber":108,"author":{"gitId":"-"},"content":" this.students \u003d [];"},{"lineNumber":109,"author":{"gitId":"-"},"content":" this.statusMessageService.showErrorToast(resp.error.message);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" },"},{"lineNumber":111,"author":{"gitId":"-"},"content":" });"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":" private formatAccountRequests(accountRequests: AccountRequestSearchResult[]): AccountRequestTableRowModel[] {"},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" return accountRequests.map((accountRequest: AccountRequestSearchResult): AccountRequestTableRowModel \u003d\u003e {"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" return {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" id: accountRequest.id,"},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":" name: accountRequest.name,"},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" email: accountRequest.email,"},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" status: accountRequest.status,"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" instituteAndCountry: accountRequest.institute,"},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":" createdAtText: accountRequest.createdAtText,"},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":" registeredAtText: accountRequest.registeredAtText || \u0027\u0027,"},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" comments: accountRequest.comments,"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" registrationLink: accountRequest.registrationLink,"},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" showLinks: accountRequest.showLinks,"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":" });"},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":132,"author":{"gitId":"-"},"content":" * Shows all instructors\u0027 links in the page."},{"lineNumber":133,"author":{"gitId":"-"},"content":" */"},{"lineNumber":134,"author":{"gitId":"-"},"content":" showAllInstructorsLinks(): void {"},{"lineNumber":135,"author":{"gitId":"-"},"content":" for (const instructor of this.instructors) {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" instructor.showLinks \u003d true;"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":141,"author":{"gitId":"-"},"content":" * Hides all instructors\u0027 links in the page."},{"lineNumber":142,"author":{"gitId":"-"},"content":" */"},{"lineNumber":143,"author":{"gitId":"-"},"content":" hideAllInstructorsLinks(): void {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" for (const instructor of this.instructors) {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" instructor.showLinks \u003d false;"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":150,"author":{"gitId":"-"},"content":" * Shows all students\u0027 links in the page."},{"lineNumber":151,"author":{"gitId":"-"},"content":" */"},{"lineNumber":152,"author":{"gitId":"-"},"content":" showAllStudentsLinks(): void {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" for (const student of this.students) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" student.showLinks \u003d true;"},{"lineNumber":155,"author":{"gitId":"-"},"content":" }"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":159,"author":{"gitId":"-"},"content":" * Hides all students\u0027 links in the page."},{"lineNumber":160,"author":{"gitId":"-"},"content":" */"},{"lineNumber":161,"author":{"gitId":"-"},"content":" hideAllStudentsLinks(): void {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" for (const student of this.students) {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" student.showLinks \u003d false;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":168,"author":{"gitId":"-"},"content":" * Resets the instructor\u0027s Google ID."},{"lineNumber":169,"author":{"gitId":"-"},"content":" */"},{"lineNumber":170,"author":{"gitId":"-"},"content":" resetInstructorGoogleId(instructor: InstructorAccountSearchResult, event: any): void {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" if (event) {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" event.preventDefault();"},{"lineNumber":173,"author":{"gitId":"-"},"content":" event.stopPropagation();"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" const modalContent: string \u003d `Are you sure you want to reset the Google account ID currently associated for"},{"lineNumber":177,"author":{"gitId":"-"},"content":" \u003cstrong\u003e${instructor.name}\u003c/strong\u003e in the course \u003cstrong\u003e${instructor.courseId}\u003c/strong\u003e?"},{"lineNumber":178,"author":{"gitId":"-"},"content":" The user will need to re-associate their account with a new Google ID.`;"},{"lineNumber":179,"author":{"gitId":"-"},"content":" const modalRef: NgbModalRef \u003d this.simpleModalService.openConfirmationModal("},{"lineNumber":180,"author":{"gitId":"-"},"content":" `Reset \u003cstrong\u003e${instructor.name}\u003c/strong\u003e\u0027s Google ID?`, SimpleModalType.WARNING, modalContent);"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" modalRef.result.then(() \u003d\u003e {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" this.accountService.resetInstructorAccount(instructor.courseId, instructor.email).subscribe({"},{"lineNumber":184,"author":{"gitId":"-"},"content":" next: () \u003d\u003e {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" this.search();"},{"lineNumber":186,"author":{"gitId":"-"},"content":" this.statusMessageService.showSuccessToast(\u0027The instructor\\\u0027s Google ID has been reset.\u0027);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" },"},{"lineNumber":188,"author":{"gitId":"-"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" this.statusMessageService.showErrorToast(resp.error.message);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" },"},{"lineNumber":191,"author":{"gitId":"-"},"content":" });"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }, () \u003d\u003e {});"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":196,"author":{"gitId":"-"},"content":" * Resets the student\u0027s Google ID."},{"lineNumber":197,"author":{"gitId":"-"},"content":" */"},{"lineNumber":198,"author":{"gitId":"-"},"content":" resetStudentGoogleId(student: StudentAccountSearchResult, event: any): void {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" if (event) {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" event.preventDefault();"},{"lineNumber":201,"author":{"gitId":"-"},"content":" event.stopPropagation();"},{"lineNumber":202,"author":{"gitId":"-"},"content":" }"},{"lineNumber":203,"author":{"gitId":"-"},"content":" const modalContent: string \u003d `Are you sure you want to reset the Google account ID currently associated for"},{"lineNumber":204,"author":{"gitId":"-"},"content":" \u003cstrong\u003e${student.name}\u003c/strong\u003e in the course \u003cstrong\u003e${student.courseId}\u003c/strong\u003e?"},{"lineNumber":205,"author":{"gitId":"-"},"content":" The user will need to re-associate their account with a new Google ID.`;"},{"lineNumber":206,"author":{"gitId":"-"},"content":" const modalRef: NgbModalRef \u003d this.simpleModalService.openConfirmationModal("},{"lineNumber":207,"author":{"gitId":"-"},"content":" `Reset \u003cstrong\u003e${student.name}\u003c/strong\u003e\u0027s Google ID?`, SimpleModalType.WARNING, modalContent);"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" modalRef.result.then(() \u003d\u003e {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" this.accountService.resetStudentAccount(student.courseId, student.email).subscribe({"},{"lineNumber":211,"author":{"gitId":"-"},"content":" next: () \u003d\u003e {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" student.googleId \u003d \u0027\u0027;"},{"lineNumber":213,"author":{"gitId":"-"},"content":" this.statusMessageService.showSuccessToast(\u0027The student\\\u0027s Google ID has been reset.\u0027);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" },"},{"lineNumber":215,"author":{"gitId":"-"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" this.statusMessageService.showErrorToast(resp.error.message);"},{"lineNumber":217,"author":{"gitId":"-"},"content":" },"},{"lineNumber":218,"author":{"gitId":"-"},"content":" });"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }, () \u003d\u003e {});"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":223,"author":{"gitId":"-"},"content":" * Regenerates the student\u0027s registration key."},{"lineNumber":224,"author":{"gitId":"-"},"content":" */"},{"lineNumber":225,"author":{"gitId":"-"},"content":" regenerateStudentKey(student: StudentAccountSearchResult): void {"},{"lineNumber":226,"author":{"gitId":"-"},"content":" const modalContent: string \u003d `Are you sure you want to regenerate the registration key for"},{"lineNumber":227,"author":{"gitId":"-"},"content":" \u003cstrong\u003e${student.name}\u003c/strong\u003e for the course \u003cstrong\u003e${student.courseId}\u003c/strong\u003e?"},{"lineNumber":228,"author":{"gitId":"-"},"content":" An email will be sent to the student with all the new course registration and feedback session links.`;"},{"lineNumber":229,"author":{"gitId":"-"},"content":" const modalRef: NgbModalRef \u003d this.simpleModalService.openConfirmationModal("},{"lineNumber":230,"author":{"gitId":"-"},"content":" `Regenerate \u003cstrong\u003e${student.name}\u003c/strong\u003e\u0027s course links?`, SimpleModalType.WARNING, modalContent);"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" modalRef.result.then(() \u003d\u003e {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" this.studentService.regenerateStudentKey(student.courseId, student.email)"},{"lineNumber":234,"author":{"gitId":"-"},"content":" .subscribe({"},{"lineNumber":235,"author":{"gitId":"-"},"content":" next: (resp: RegenerateKey) \u003d\u003e {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" this.statusMessageService.showSuccessToast(resp.message);"},{"lineNumber":237,"author":{"gitId":"-"},"content":" this.updateDisplayedStudentCourseLinks(student, resp.newRegistrationKey);"},{"lineNumber":238,"author":{"gitId":"-"},"content":" },"},{"lineNumber":239,"author":{"gitId":"-"},"content":" error: (response: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" this.statusMessageService.showErrorToast(response.error.message);"},{"lineNumber":241,"author":{"gitId":"-"},"content":" },"},{"lineNumber":242,"author":{"gitId":"-"},"content":" });"},{"lineNumber":243,"author":{"gitId":"-"},"content":" }, () \u003d\u003e {});"},{"lineNumber":244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * Regenerates the instructor\u0027s registration key."},{"lineNumber":248,"author":{"gitId":"-"},"content":" */"},{"lineNumber":249,"author":{"gitId":"-"},"content":" regenerateInstructorKey(instructor: InstructorAccountSearchResult): void {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" const modalContent: string \u003d `Are you sure you want to regenerate the registration key for"},{"lineNumber":251,"author":{"gitId":"-"},"content":" \u003cstrong\u003e${instructor.name}\u003c/strong\u003e for the course \u003cstrong\u003e${instructor.courseId}\u003c/strong\u003e?"},{"lineNumber":252,"author":{"gitId":"-"},"content":" An email will be sent to the instructor with all the new course registration and feedback session links.`;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" const modalRef: NgbModalRef \u003d this.simpleModalService.openConfirmationModal("},{"lineNumber":254,"author":{"gitId":"-"},"content":" `Regenerate \u003cstrong\u003e${instructor.name}\u003c/strong\u003e\u0027s course links?`, SimpleModalType.WARNING, modalContent);"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":" modalRef.result.then(() \u003d\u003e {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" this.instructorService.regenerateInstructorKey(instructor.courseId, instructor.email)"},{"lineNumber":258,"author":{"gitId":"-"},"content":" .subscribe({"},{"lineNumber":259,"author":{"gitId":"-"},"content":" next: (resp: RegenerateKey) \u003d\u003e {"},{"lineNumber":260,"author":{"gitId":"-"},"content":" this.statusMessageService.showSuccessToast(resp.message);"},{"lineNumber":261,"author":{"gitId":"-"},"content":" this.updateDisplayedInstructorCourseLinks(instructor, resp.newRegistrationKey);"},{"lineNumber":262,"author":{"gitId":"-"},"content":" },"},{"lineNumber":263,"author":{"gitId":"-"},"content":" error: (response: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" this.statusMessageService.showErrorToast(response.error.message);"},{"lineNumber":265,"author":{"gitId":"-"},"content":" },"},{"lineNumber":266,"author":{"gitId":"-"},"content":" });"},{"lineNumber":267,"author":{"gitId":"-"},"content":" }, () \u003d\u003e {});"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":271,"author":{"gitId":"-"},"content":" * Updates the student\u0027s displayed course join and feedback session links with the value of the newKey."},{"lineNumber":272,"author":{"gitId":"-"},"content":" */"},{"lineNumber":273,"author":{"gitId":"-"},"content":" private updateDisplayedStudentCourseLinks(student: StudentAccountSearchResult, newKey: string): void {"},{"lineNumber":274,"author":{"gitId":"-"},"content":" const updateSessions \u003d (sessions: FeedbackSessionsGroup): void \u003d\u003e {"},{"lineNumber":275,"author":{"gitId":"-"},"content":" Object.keys(sessions).forEach((key: string): void \u003d\u003e {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" sessions[key].feedbackSessionUrl \u003d this.getUpdatedUrl(sessions[key].feedbackSessionUrl, newKey);"},{"lineNumber":277,"author":{"gitId":"-"},"content":" });"},{"lineNumber":278,"author":{"gitId":"-"},"content":" };"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" student.courseJoinLink \u003d this.getUpdatedUrl(student.courseJoinLink, newKey);"},{"lineNumber":281,"author":{"gitId":"-"},"content":" updateSessions(student.awaitingSessions);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" updateSessions(student.openSessions);"},{"lineNumber":283,"author":{"gitId":"-"},"content":" updateSessions(student.notOpenSessions);"},{"lineNumber":284,"author":{"gitId":"-"},"content":" updateSessions(student.publishedSessions);"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":288,"author":{"gitId":"-"},"content":" * Updates the instructor\u0027s displayed course join and feedback session links with the value of the newKey."},{"lineNumber":289,"author":{"gitId":"-"},"content":" */"},{"lineNumber":290,"author":{"gitId":"-"},"content":" private updateDisplayedInstructorCourseLinks(instructor: InstructorAccountSearchResult, newKey: string): void {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" const updateSessions \u003d (sessions: FeedbackSessionsGroup): void \u003d\u003e {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" Object.keys(sessions).forEach((key: string): void \u003d\u003e {"},{"lineNumber":293,"author":{"gitId":"-"},"content":" sessions[key].feedbackSessionUrl \u003d this.getUpdatedUrl(sessions[key].feedbackSessionUrl, newKey);"},{"lineNumber":294,"author":{"gitId":"-"},"content":" });"},{"lineNumber":295,"author":{"gitId":"-"},"content":" };"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" instructor.courseJoinLink \u003d this.getUpdatedUrl(instructor.courseJoinLink, newKey);"},{"lineNumber":298,"author":{"gitId":"-"},"content":" updateSessions(instructor.awaitingSessions);"},{"lineNumber":299,"author":{"gitId":"-"},"content":" updateSessions(instructor.openSessions);"},{"lineNumber":300,"author":{"gitId":"-"},"content":" updateSessions(instructor.notOpenSessions);"},{"lineNumber":301,"author":{"gitId":"-"},"content":" updateSessions(instructor.publishedSessions);"},{"lineNumber":302,"author":{"gitId":"-"},"content":" }"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":305,"author":{"gitId":"-"},"content":" * Returns the URL after replacing the value of the `key` parameter with that of the new key."},{"lineNumber":306,"author":{"gitId":"-"},"content":" */"},{"lineNumber":307,"author":{"gitId":"-"},"content":" private getUpdatedUrl(link: string, newVal: string): string {"},{"lineNumber":308,"author":{"gitId":"-"},"content":" const param: string \u003d \u0027key\u0027;"},{"lineNumber":309,"author":{"gitId":"-"},"content":" const regex: RegExp \u003d new RegExp(`(${param}\u003d)[^\u0026]+`);"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":" return link.replace(regex, `$1${newVal}`);"},{"lineNumber":312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":315,"author":{"gitId":"-"},"content":" * Open up an email populated with content for course join invitation."},{"lineNumber":316,"author":{"gitId":"-"},"content":" */"},{"lineNumber":317,"author":{"gitId":"-"},"content":" openCourseJoinEmail(courseId: string, studentemail: string): void {"},{"lineNumber":318,"author":{"gitId":"-"},"content":" this.emailGenerationService.getCourseJoinEmail(courseId, studentemail)"},{"lineNumber":319,"author":{"gitId":"-"},"content":" .subscribe({"},{"lineNumber":320,"author":{"gitId":"-"},"content":" next: (email: Email) \u003d\u003e {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" window.location.href \u003d `mailto:${email.recipient}`"},{"lineNumber":322,"author":{"gitId":"-"},"content":" + `?Subject\u003d${email.subject}`"},{"lineNumber":323,"author":{"gitId":"-"},"content":" + `\u0026body\u003d${email.content}`;"},{"lineNumber":324,"author":{"gitId":"-"},"content":" },"},{"lineNumber":325,"author":{"gitId":"-"},"content":" error: (err: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":326,"author":{"gitId":"-"},"content":" this.statusMessageService.showErrorToast(err.error.message);"},{"lineNumber":327,"author":{"gitId":"-"},"content":" },"},{"lineNumber":328,"author":{"gitId":"-"},"content":" });"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":332,"author":{"gitId":"-"},"content":" * Open up an email populated with content for feedback session reminder."},{"lineNumber":333,"author":{"gitId":"-"},"content":" */"},{"lineNumber":334,"author":{"gitId":"-"},"content":" openFeedbackSessionReminderEmail(courseId: string, studentemail: string, fsname: string): void {"},{"lineNumber":335,"author":{"gitId":"-"},"content":" this.emailGenerationService.getFeedbackSessionReminderEmail(courseId, studentemail, fsname)"},{"lineNumber":336,"author":{"gitId":"-"},"content":" .subscribe({"},{"lineNumber":337,"author":{"gitId":"-"},"content":" next: (email: Email) \u003d\u003e {"},{"lineNumber":338,"author":{"gitId":"-"},"content":" window.location.href \u003d `mailto:${email.recipient}`"},{"lineNumber":339,"author":{"gitId":"-"},"content":" + `?Subject\u003d${email.subject}`"},{"lineNumber":340,"author":{"gitId":"-"},"content":" + `\u0026body\u003d${email.content}`;"},{"lineNumber":341,"author":{"gitId":"-"},"content":" },"},{"lineNumber":342,"author":{"gitId":"-"},"content":" error: (err: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":343,"author":{"gitId":"-"},"content":" this.statusMessageService.showErrorToast(err.error.message);"},{"lineNumber":344,"author":{"gitId":"-"},"content":" },"},{"lineNumber":345,"author":{"gitId":"-"},"content":" });"},{"lineNumber":346,"author":{"gitId":"-"},"content":" }"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":22,"-":326}},{"path":"src/web/app/pages-admin/admin-search-page/admin-search-page.module.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { CommonModule } from \u0027@angular/common\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { NgModule } from \u0027@angular/core\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import { FormsModule } from \u0027@angular/forms\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { RouterModule, Routes } from \u0027@angular/router\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import { NgbTooltipModule } from \u0027@ng-bootstrap/ng-bootstrap\u0027;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import { AdminSearchPageComponent } from \u0027./admin-search-page.component\u0027;"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":"import {"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":" AccountRequestTableModule,"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":"} from \u0027../../components/account-requests-table/account-request-table.module\u0027;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import { Pipes } from \u0027../../pipes/pipes.module\u0027;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"const routes: Routes \u003d ["},{"lineNumber":13,"author":{"gitId":"-"},"content":" {"},{"lineNumber":14,"author":{"gitId":"-"},"content":" path: \u0027\u0027,"},{"lineNumber":15,"author":{"gitId":"-"},"content":" component: AdminSearchPageComponent,"},{"lineNumber":16,"author":{"gitId":"-"},"content":" },"},{"lineNumber":17,"author":{"gitId":"-"},"content":"];"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * Module for admin search page."},{"lineNumber":21,"author":{"gitId":"-"},"content":" */"},{"lineNumber":22,"author":{"gitId":"-"},"content":"@NgModule({"},{"lineNumber":23,"author":{"gitId":"-"},"content":" declarations: ["},{"lineNumber":24,"author":{"gitId":"-"},"content":" AdminSearchPageComponent,"},{"lineNumber":25,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":26,"author":{"gitId":"-"},"content":" exports: ["},{"lineNumber":27,"author":{"gitId":"-"},"content":" AdminSearchPageComponent,"},{"lineNumber":28,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":29,"author":{"gitId":"-"},"content":" imports: ["},{"lineNumber":30,"author":{"gitId":"-"},"content":" CommonModule,"},{"lineNumber":31,"author":{"gitId":"-"},"content":" FormsModule,"},{"lineNumber":32,"author":{"gitId":"-"},"content":" NgbTooltipModule,"},{"lineNumber":33,"author":{"gitId":"domoberzin"},"content":" AccountRequestTableModule,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" RouterModule.forChild(routes),"},{"lineNumber":35,"author":{"gitId":"-"},"content":" Pipes,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":37,"author":{"gitId":"-"},"content":"})"},{"lineNumber":38,"author":{"gitId":"-"},"content":"export class AdminSearchPageModule { }"}],"authorContributionMap":{"domoberzin":4,"-":34}},{"path":"src/web/app/pages-instructor/instructor-courses-page/instructor-courses-page.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-add-course\" class\u003d\"btn btn-success\" (click)\u003d\"isAddNewCourseFormExpanded \u003d true\""},{"lineNumber":3,"author":{"gitId":"-"},"content":" [disabled]\u003d\"isAddNewCourseFormExpanded || isLoadingActiveCourses\"\u003e\u003ci class\u003d\"fas fa-plus\"\u003e\u003c/i\u003e Add New Course"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"add-course-section\" class\u003d\"course-section\" *ngIf\u003d\"isAddNewCourseFormExpanded \u0026\u0026 !isLoadingActiveCourses\" @collapseAnim\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003ctm-course-edit-form [formMode]\u003d\"CourseEditFormMode.ADD\" [(formModel)]\u003d\"courseFormModel\""},{"lineNumber":9,"author":{"gitId":"-"},"content":" [resetFormEvent]\u003d\"resetCourseForm\" (closeFormEvent)\u003d\"isAddNewCourseFormExpanded \u003d false\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" (createNewCourseEvent)\u003d\"createNewCourse()\" (copyCourseEvent)\u003d\"createCopiedCourse($event)\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003c/tm-course-edit-form\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003cdiv *ngIf\u003d\"isCopyingCourse\" class\u003d\"margin-top-30px\"\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003cp\u003eCopy Progress\u003c/p\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003ctm-progress-bar\u003e\u003c/tm-progress-bar\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003ctm-loading-retry [shouldShowRetry]\u003d\"hasLoadingFailed\" [message]\u003d\"\u0027Failed to load courses\u0027\""},{"lineNumber":20,"author":{"gitId":"-"},"content":" (retryEvent)\u003d\"loadInstructorCourses()\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"course-section\"\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003ch2 class\u003d\"h3\"\u003eActive courses\u003c/h2\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cdiv *tmIsLoading\u003d\"isLoadingActiveCourses\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003cng-template #addCourseAlert\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"alert alert-warning margin-top-30px\" role\u003d\"alert\"\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" You do not seem to have any active courses. Use the button above to create a new course."},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c/ng-template\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"activeCourses.length; else addCourseAlert;\"\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"table table-responsive\"\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003ctable id\u003d\"active-courses-table\" class\u003d\"table table-striped table-bordered margin-0\"\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003cthead\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003ctr class\u003d\"bg-primary text-white\"\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003cth id\u003d\"sort-course-id\" class\u003d\"sortable-header\" (click)\u003d\"sortCoursesEvent(SortBy.COURSE_ID)\""},{"lineNumber":35,"author":{"gitId":"-"},"content":" [attr.aria-sort]\u003d\"getAriaSortActive(SortBy.COURSE_ID)\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cbutton\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" Course ID"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"fa-stack\" aria-hidden\u003d\"true\"\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort\"\u003e\u003c/i\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-down\""},{"lineNumber":41,"author":{"gitId":"-"},"content":" *ngIf\u003d\"activeTableSortBy \u003d\u003d\u003d SortBy.COURSE_ID \u0026\u0026 activeTableSortOrder \u003d\u003d\u003d SortOrder.DESC\"\u003e\u003c/i\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-up\""},{"lineNumber":43,"author":{"gitId":"-"},"content":" *ngIf\u003d\"activeTableSortBy \u003d\u003d\u003d SortBy.COURSE_ID \u0026\u0026 activeTableSortOrder \u003d\u003d\u003d SortOrder.ASC\"\u003e\u003c/i\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003c/th\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003cth id\u003d\"sort-course-name\" class\u003d\"sortable-header\" (click)\u003d\"sortCoursesEvent(SortBy.COURSE_NAME)\""},{"lineNumber":48,"author":{"gitId":"-"},"content":" [attr.aria-sort]\u003d\"getAriaSortActive(SortBy.COURSE_NAME)\"\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003cbutton\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" Course Name"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"fa-stack\" aria-hidden\u003d\"true\"\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort\"\u003e\u003c/i\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-down\""},{"lineNumber":54,"author":{"gitId":"-"},"content":" *ngIf\u003d\"activeTableSortBy \u003d\u003d\u003d SortBy.COURSE_NAME \u0026\u0026 activeTableSortOrder \u003d\u003d\u003d SortOrder.DESC\"\u003e\u003c/i\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-up\""},{"lineNumber":56,"author":{"gitId":"-"},"content":" *ngIf\u003d\"activeTableSortBy \u003d\u003d\u003d SortBy.COURSE_NAME \u0026\u0026 activeTableSortOrder \u003d\u003d\u003d SortOrder.ASC\"\u003e\u003c/i\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":" \u003c/th\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003cth id\u003d\"sort-creation-date\" class\u003d\"sortable-header\""},{"lineNumber":61,"author":{"gitId":"-"},"content":" (click)\u003d\"sortCoursesEvent(SortBy.COURSE_CREATION_DATE)\""},{"lineNumber":62,"author":{"gitId":"-"},"content":" [attr.aria-sort]\u003d\"getAriaSortActive(SortBy.COURSE_CREATION_DATE)\"\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003cbutton\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" Creation Date"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"fa-stack\" aria-hidden\u003d\"true\"\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort\"\u003e\u003c/i\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-down\""},{"lineNumber":68,"author":{"gitId":"-"},"content":" *ngIf\u003d\"activeTableSortBy \u003d\u003d\u003d SortBy.COURSE_CREATION_DATE \u0026\u0026 activeTableSortOrder \u003d\u003d\u003d SortOrder.DESC\"\u003e\u003c/i\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-up\""},{"lineNumber":70,"author":{"gitId":"-"},"content":" *ngIf\u003d\"activeTableSortBy \u003d\u003d\u003d SortBy.COURSE_CREATION_DATE \u0026\u0026 activeTableSortOrder \u003d\u003d\u003d SortOrder.ASC\"\u003e\u003c/i\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003c/th\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \u003cth\u003eSections\u003c/th\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \u003cth\u003eTeams\u003c/th\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \u003cth\u003eTotal Students\u003c/th\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003cth\u003eTotal Unregistered\u003c/th\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003cth class\u003d\"text-center\"\u003eAction(s)\u003c/th\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003c/tr\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003c/thead\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003ctbody\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003cng-template #loadingSpinner\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003ctm-ajax-loading [useBlueSpinner]\u003d\"true\"\u003e\u003c/tm-ajax-loading\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003c/ng-template\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":" \u003ctr *ngFor\u003d\"let course of activeCourses; let i \u003d index\"\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":" \u003ctd id\u003d\"course-id-{{ i }}\" class\u003d\"text-break\"\u003e{{course.course.courseId}}\u003c/td\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":" \u003ctd class\u003d\"text-break\"\u003e{{course.course.courseName}}\u003c/td\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003ctd\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"ngb-tooltip-class\" container\u003d\"body\""},{"lineNumber":90,"author":{"gitId":"-"},"content":" [ngbTooltip]\u003d\"course.course.creationTimestamp | date:\u0027EEE, dd MMM yyyy, h:mma\u0027\"\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":" {{course.course.creationTimestamp | date:\u0027d MMM yyyy\u0027}}"},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003ctd\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \u003cspan *ngIf\u003d\"!courseStats[course.course.courseId]\"\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u003cbutton *ngIf\u003d\"!course.isLoadingCourseStats; else loadingSpinner\""},{"lineNumber":97,"author":{"gitId":"-"},"content":" (click)\u003d\"getCourseStats(i)\" class\u003d\"link-button\" \u003e Show"},{"lineNumber":98,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" \u003cspan *ngIf\u003d\"courseStats[course.course.courseId]\"\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" {{ courseStats[course.course.courseId][\u0027sections\u0027] }}"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003ctd\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \u003cspan *ngIf\u003d\"!courseStats[course.course.courseId]\"\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003cbutton *ngIf\u003d\"!course.isLoadingCourseStats; else loadingSpinner\" id\u003d\"show-statistics-{{ i }}\""},{"lineNumber":107,"author":{"gitId":"-"},"content":" (click)\u003d\"getCourseStats(i)\" class\u003d\"link-button\" \u003e Show"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" \u003cspan *ngIf\u003d\"courseStats[course.course.courseId]\"\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":" {{ courseStats[course.course.courseId][\u0027teams\u0027] }}"},{"lineNumber":112,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":" \u003ctd\u003e"},{"lineNumber":115,"author":{"gitId":"-"},"content":" \u003cspan *ngIf\u003d\"!courseStats[course.course.courseId]\"\u003e"},{"lineNumber":116,"author":{"gitId":"-"},"content":" \u003cbutton *ngIf\u003d\"!course.isLoadingCourseStats; else loadingSpinner\""},{"lineNumber":117,"author":{"gitId":"-"},"content":" (click)\u003d\"getCourseStats(i)\" class\u003d\"link-button\" \u003e Show"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \u003cspan *ngIf\u003d\"courseStats[course.course.courseId]\"\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":" {{ courseStats[course.course.courseId][\u0027students\u0027] }}"},{"lineNumber":122,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":" \u003ctd\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" \u003cspan *ngIf\u003d\"!courseStats[course.course.courseId]\"\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003cbutton *ngIf\u003d\"!course.isLoadingCourseStats; else loadingSpinner\""},{"lineNumber":127,"author":{"gitId":"-"},"content":" (click)\u003d\"getCourseStats(i)\" class\u003d\"link-button\" \u003e Show"},{"lineNumber":128,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":" \u003cspan *ngIf\u003d\"courseStats[course.course.courseId]\"\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":" {{ courseStats[course.course.courseId][\u0027unregistered\u0027] }}"},{"lineNumber":132,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":" \u003ctd class\u003d\"text-center actions-cell\"\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":" \u003ca id\u003d\"btn-enroll-{{ i }}\" class\u003d\"btn btn-light btn-sm custom-button-active\" *ngIf\u003d\"course.canModifyStudent\""},{"lineNumber":136,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"Enroll student into the course\" tmRouterLink\u003d\"/web/instructor/courses/enroll\""},{"lineNumber":137,"author":{"gitId":"-"},"content":" [queryParams]\u003d\"{courseid: course.course.courseId}\"\u003e"},{"lineNumber":138,"author":{"gitId":"-"},"content":" Enroll"},{"lineNumber":139,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-enroll-disabled-{{ i }}\" class\u003d\"btn btn-light btn-sm disabled\""},{"lineNumber":141,"author":{"gitId":"-"},"content":" *ngIf\u003d\"!course.canModifyStudent\"\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":" Enroll"},{"lineNumber":143,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":" \u003cdiv ngbDropdown class\u003d\"d-inline-block\"\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-other-actions-{{ i }}\" class\u003d\"btn btn-light btn-sm custom-button-active\" ngbDropdownToggle\u003eOther"},{"lineNumber":146,"author":{"gitId":"-"},"content":" Actions\u003c/button\u003e"},{"lineNumber":147,"author":{"gitId":"-"},"content":" \u003cdiv ngbDropdownMenu\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":" \u003ca class\u003d\"btn btn-primary btn-sm dropdown-item clickable\""},{"lineNumber":149,"author":{"gitId":"-"},"content":" tmRouterLink\u003d\"/web/instructor/courses/details\" [queryParams]\u003d\"{courseid: course.course.courseId}\"\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":" View"},{"lineNumber":151,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":" \u003ca class\u003d\"btn btn-primary btn-sm dropdown-item clickable\""},{"lineNumber":153,"author":{"gitId":"-"},"content":" tmRouterLink\u003d\"/web/instructor/courses/edit\" [queryParams]\u003d\"{courseid: course.course.courseId}\"\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":" Edit"},{"lineNumber":155,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-copy-{{ i }}\" class\u003d\"btn btn-primary btn-sm dropdown-item clickable\""},{"lineNumber":157,"author":{"gitId":"-"},"content":" *ngIf\u003d\"course.canModifyCourse\""},{"lineNumber":158,"author":{"gitId":"-"},"content":" (click)\u003d\"onCopy(course.course.courseId, course.course.courseName, course.course.timeZone)\""},{"lineNumber":159,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"Copy the course and its corresponding sessions\" placement\u003d\"left\" container\u003d\"body\""},{"lineNumber":160,"author":{"gitId":"-"},"content":" [disabled]\u003d\"isCopyingCourse\"\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":" Copy"},{"lineNumber":162,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":163,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-archive-{{ i }}\" class\u003d\"btn btn-primary btn-sm dropdown-item clickable\""},{"lineNumber":164,"author":{"gitId":"-"},"content":" (click)\u003d\"changeArchiveStatus(course.course.courseId, true)\""},{"lineNumber":165,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"Archive the course so that it will not be shown in the home page any more (you can still access it from the \u0027Courses\u0027 tab)\""},{"lineNumber":166,"author":{"gitId":"-"},"content":" placement\u003d\"left\" container\u003d\"body\"\u003e"},{"lineNumber":167,"author":{"gitId":"-"},"content":" Archive"},{"lineNumber":168,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":169,"author":{"gitId":"dishenggg"},"content":" \u003ca class\u003d\"btn btn-primary btn-sm dropdown-item clickable\" *ngIf\u003d\"course.course.privileges?.canModifyInstructor \u0026\u0026 course.course.isMigrated\""},{"lineNumber":170,"author":{"gitId":"dishenggg"},"content":" tmRouterLink\u003d\u0027/web/instructor/courses/student-activity-logs\u0027 [queryParams]\u003d\"{courseid: course.course.courseId}\"\u003e"},{"lineNumber":171,"author":{"gitId":"dishenggg"},"content":" View Logs"},{"lineNumber":172,"author":{"gitId":"dishenggg"},"content":" \u003c/a\u003e"},{"lineNumber":173,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-soft-delete-{{ i }}\" class\u003d\"btn btn-primary btn-sm dropdown-item clickable\""},{"lineNumber":174,"author":{"gitId":"-"},"content":" *ngIf\u003d\"course.canModifyCourse\" (click)\u003d\"onDelete(course.course.courseId)\""},{"lineNumber":175,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"Delete the course and its corresponding students and sessions\" placement\u003d\"left\""},{"lineNumber":176,"author":{"gitId":"-"},"content":" container\u003d\"body\"\u003e"},{"lineNumber":177,"author":{"gitId":"-"},"content":" Delete"},{"lineNumber":178,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":179,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-soft-delete-disabled-{{ i }}\" class\u003d\"btn btn-primary btn-sm dropdown-item disabled\""},{"lineNumber":180,"author":{"gitId":"-"},"content":" *ngIf\u003d\"!course.canModifyCourse\"\u003e"},{"lineNumber":181,"author":{"gitId":"-"},"content":" Delete"},{"lineNumber":182,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":183,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \u003c/tr\u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":" \u003c/tbody\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":" \u003ctr *ngIf\u003d\"!activeCourses.length\"\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":" \u003ctd\u003e\u003c/td\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":" \u003ctd\u003e\u003c/td\u003e"},{"lineNumber":191,"author":{"gitId":"-"},"content":" \u003ctd\u003e\u003c/td\u003e"},{"lineNumber":192,"author":{"gitId":"-"},"content":" \u003ctd\u003e\u003c/td\u003e"},{"lineNumber":193,"author":{"gitId":"-"},"content":" \u003ctd\u003e\u003c/td\u003e"},{"lineNumber":194,"author":{"gitId":"-"},"content":" \u003ctd\u003e\u003c/td\u003e"},{"lineNumber":195,"author":{"gitId":"-"},"content":" \u003ctd\u003e\u003c/td\u003e"},{"lineNumber":196,"author":{"gitId":"-"},"content":" \u003ctd\u003e\u003c/td\u003e"},{"lineNumber":197,"author":{"gitId":"-"},"content":" \u003c/tr\u003e"},{"lineNumber":198,"author":{"gitId":"-"},"content":" \u003c/table\u003e"},{"lineNumber":199,"author":{"gitId":"-"},"content":" \u003cp *ngIf\u003d\"!activeCourses.length\"\u003eNo records found.\u003c/p\u003e"},{"lineNumber":200,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":203,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":204,"author":{"gitId":"-"},"content":"\u003c/tm-loading-retry\u003e"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"course-section\"\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":" \u003ch2 class\u003d\"h3 text-muted\"\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"fa fa-file-archive\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e Archived courses"},{"lineNumber":209,"author":{"gitId":"-"},"content":" \u003c/h2\u003e"},{"lineNumber":210,"author":{"gitId":"-"},"content":" \u003cdiv *tmIsLoading\u003d\"isLoadingArchivedCourses\"\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":" \u003cng-template #noArchiveAlert\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"alert alert-warning margin-top-30px\" role\u003d\"alert\"\u003e"},{"lineNumber":213,"author":{"gitId":"-"},"content":" There are no courses archived currently."},{"lineNumber":214,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":215,"author":{"gitId":"-"},"content":" \u003c/ng-template\u003e"},{"lineNumber":216,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card top-padded\" *ngIf\u003d\"archivedCourses.length else noArchiveAlert\"\u003e"},{"lineNumber":217,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"archived-table-heading\" class\u003d\"card-header bg-info cursor-pointer\""},{"lineNumber":218,"author":{"gitId":"-"},"content":" (click)\u003d\"isArchivedCourseExpanded \u003d !isArchivedCourseExpanded\"\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":" \u003cb\u003eArchive\u003c/b\u003e"},{"lineNumber":220,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-header-btn-toolbar\"\u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":" \u003ctm-panel-chevron [isExpanded]\u003d\"isArchivedCourseExpanded\"\u003e\u003c/tm-panel-chevron\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":223,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":224,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body archive-body table-responsive\" *ngIf\u003d\"isArchivedCourseExpanded\" @collapseAnim\u003e"},{"lineNumber":225,"author":{"gitId":"-"},"content":" \u003ctable id\u003d\"archived-courses-table\" class\u003d\"table table-striped table-bordered archive-table\"\u003e"},{"lineNumber":226,"author":{"gitId":"-"},"content":" \u003cthead\u003e"},{"lineNumber":227,"author":{"gitId":"-"},"content":" \u003ctr class\u003d\"background-color-medium-gray text-color-gray\"\u003e"},{"lineNumber":228,"author":{"gitId":"-"},"content":" \u003cth class\u003d\"sortable-header\" (click)\u003d\"sortArchivedCoursesEvent(SortBy.COURSE_ID)\""},{"lineNumber":229,"author":{"gitId":"-"},"content":" [attr.aria-sort]\u003d\"getAriaSortArchived(SortBy.COURSE_ID)\"\u003e"},{"lineNumber":230,"author":{"gitId":"-"},"content":" \u003cbutton\u003e"},{"lineNumber":231,"author":{"gitId":"-"},"content":" Course ID"},{"lineNumber":232,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"fa-stack\" aria-hidden\u003d\"true\"\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort\"\u003e\u003c/i\u003e"},{"lineNumber":234,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-down\""},{"lineNumber":235,"author":{"gitId":"-"},"content":" *ngIf\u003d\"archivedTableSortBy \u003d\u003d\u003d SortBy.COURSE_ID \u0026\u0026 archivedTableSortOrder \u003d\u003d\u003d SortOrder.DESC\"\u003e\u003c/i\u003e"},{"lineNumber":236,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-up\""},{"lineNumber":237,"author":{"gitId":"-"},"content":" *ngIf\u003d\"archivedTableSortBy \u003d\u003d\u003d SortBy.COURSE_ID \u0026\u0026 archivedTableSortOrder \u003d\u003d\u003d SortOrder.ASC\"\u003e\u003c/i\u003e"},{"lineNumber":238,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":239,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":240,"author":{"gitId":"-"},"content":" \u003c/th\u003e"},{"lineNumber":241,"author":{"gitId":"-"},"content":" \u003cth class\u003d\"sortable-header\" (click)\u003d\"sortArchivedCoursesEvent(SortBy.COURSE_NAME)\""},{"lineNumber":242,"author":{"gitId":"-"},"content":" [attr.aria-sort]\u003d\"getAriaSortArchived(SortBy.COURSE_NAME)\"\u003e"},{"lineNumber":243,"author":{"gitId":"-"},"content":" \u003cbutton\u003e"},{"lineNumber":244,"author":{"gitId":"-"},"content":" Course Name"},{"lineNumber":245,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"fa-stack\" aria-hidden\u003d\"true\"\u003e"},{"lineNumber":246,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort\"\u003e\u003c/i\u003e"},{"lineNumber":247,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-down\""},{"lineNumber":248,"author":{"gitId":"-"},"content":" *ngIf\u003d\"archivedTableSortBy \u003d\u003d\u003d SortBy.COURSE_NAME \u0026\u0026 archivedTableSortOrder \u003d\u003d\u003d SortOrder.DESC\"\u003e\u003c/i\u003e"},{"lineNumber":249,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-up\""},{"lineNumber":250,"author":{"gitId":"-"},"content":" *ngIf\u003d\"archivedTableSortBy \u003d\u003d\u003d SortBy.COURSE_NAME \u0026\u0026 archivedTableSortOrder \u003d\u003d\u003d SortOrder.ASC\"\u003e\u003c/i\u003e"},{"lineNumber":251,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":253,"author":{"gitId":"-"},"content":" \u003c/th\u003e"},{"lineNumber":254,"author":{"gitId":"-"},"content":" \u003cth class\u003d\"sortable-header\" (click)\u003d\"sortArchivedCoursesEvent(SortBy.COURSE_CREATION_DATE)\""},{"lineNumber":255,"author":{"gitId":"-"},"content":" [attr.aria-sort]\u003d\"getAriaSortArchived(SortBy.COURSE_CREATION_DATE)\"\u003e"},{"lineNumber":256,"author":{"gitId":"-"},"content":" \u003cbutton\u003e"},{"lineNumber":257,"author":{"gitId":"-"},"content":" Creation Date"},{"lineNumber":258,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"fa-stack\" aria-hidden\u003d\"true\"\u003e"},{"lineNumber":259,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort\"\u003e\u003c/i\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-down\""},{"lineNumber":261,"author":{"gitId":"-"},"content":" *ngIf\u003d\"archivedTableSortBy \u003d\u003d\u003d SortBy.COURSE_CREATION_DATE \u0026\u0026 archivedTableSortOrder \u003d\u003d\u003d SortOrder.DESC\"\u003e\u003c/i\u003e"},{"lineNumber":262,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-up\""},{"lineNumber":263,"author":{"gitId":"-"},"content":" *ngIf\u003d\"archivedTableSortBy \u003d\u003d\u003d SortBy.COURSE_CREATION_DATE \u0026\u0026 archivedTableSortOrder \u003d\u003d\u003d SortOrder.ASC\"\u003e\u003c/i\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":265,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":266,"author":{"gitId":"-"},"content":" \u003c/th\u003e"},{"lineNumber":267,"author":{"gitId":"-"},"content":" \u003cth class\u003d\"text-center\"\u003eAction(s)\u003c/th\u003e"},{"lineNumber":268,"author":{"gitId":"-"},"content":" \u003c/tr\u003e"},{"lineNumber":269,"author":{"gitId":"-"},"content":" \u003c/thead\u003e"},{"lineNumber":270,"author":{"gitId":"-"},"content":" \u003ctbody\u003e"},{"lineNumber":271,"author":{"gitId":"-"},"content":" \u003ctr *ngFor\u003d\"let course of archivedCourses; let i \u003d index\"\u003e"},{"lineNumber":272,"author":{"gitId":"-"},"content":" \u003ctd id\u003d\"archived-course-id-{{ i }}\" class\u003d\"text-break\"\u003e{{course.course.courseId}}\u003c/td\u003e"},{"lineNumber":273,"author":{"gitId":"-"},"content":" \u003ctd class\u003d\"text-break\"\u003e{{course.course.courseName}}\u003c/td\u003e"},{"lineNumber":274,"author":{"gitId":"-"},"content":" \u003ctd\u003e"},{"lineNumber":275,"author":{"gitId":"-"},"content":" \u003cspan container\u003d\"body\" class\u003d\"ngb-tooltip-class\""},{"lineNumber":276,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"{{course.course.creationTimestamp | date:\u0027EEE, dd MMM yyyy, h:mma\u0027}}\"\u003e{{course.course.creationTimestamp"},{"lineNumber":277,"author":{"gitId":"-"},"content":" | date:\u0027d MMM yyyy\u0027}}\u003c/span\u003e"},{"lineNumber":278,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":279,"author":{"gitId":"-"},"content":" \u003ctd class\u003d\"text-center actions-cell\"\u003e"},{"lineNumber":280,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-unarchive-{{ i }}\" class\u003d\"btn btn-light btn-sm custom-button-archived\""},{"lineNumber":281,"author":{"gitId":"-"},"content":" (click)\u003d\"changeArchiveStatus(course.course.courseId, false)\"\u003e"},{"lineNumber":282,"author":{"gitId":"-"},"content":" Unarchive"},{"lineNumber":283,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":284,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-soft-delete-archived-{{ i }}\" class\u003d\"btn btn-light btn-sm custom-button-archived\" *ngIf\u003d\"course.canModifyCourse\""},{"lineNumber":285,"author":{"gitId":"-"},"content":" (click)\u003d\"onDelete(course.course.courseId)\""},{"lineNumber":286,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"Delete the course and its corresponding students and sessions\"\u003e"},{"lineNumber":287,"author":{"gitId":"-"},"content":" Delete"},{"lineNumber":288,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":289,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-soft-delete-archived-disabled-{{ i }}\" class\u003d\"btn btn-light btn-sm disabled\""},{"lineNumber":290,"author":{"gitId":"-"},"content":" *ngIf\u003d\"!course.canModifyCourse\"\u003e"},{"lineNumber":291,"author":{"gitId":"-"},"content":" Delete"},{"lineNumber":292,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":293,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":294,"author":{"gitId":"-"},"content":" \u003c/tr\u003e"},{"lineNumber":295,"author":{"gitId":"-"},"content":" \u003c/tbody\u003e"},{"lineNumber":296,"author":{"gitId":"-"},"content":" \u003c/table\u003e"},{"lineNumber":297,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":298,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":299,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":300,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":301,"author":{"gitId":"-"},"content":""},{"lineNumber":302,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"row course-section margin-top-30px\"\u003e"},{"lineNumber":303,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":304,"author":{"gitId":"-"},"content":" \u003ch2 class\u003d\"h3 text-muted\"\u003e"},{"lineNumber":305,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"fa fa-trash-alt\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e Deleted courses"},{"lineNumber":306,"author":{"gitId":"-"},"content":" \u003c/h2\u003e"},{"lineNumber":307,"author":{"gitId":"-"},"content":" \u003cdiv *tmIsLoading\u003d\"isLoadingSoftDeletedCourses\"\u003e"},{"lineNumber":308,"author":{"gitId":"-"},"content":" \u003cng-template #emptyBinAlert\u003e"},{"lineNumber":309,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"alert alert-warning margin-top-30px\" role\u003d\"alert\"\u003e"},{"lineNumber":310,"author":{"gitId":"-"},"content":" There are no courses in the bin."},{"lineNumber":311,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":312,"author":{"gitId":"-"},"content":" \u003c/ng-template\u003e"},{"lineNumber":313,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card bg-light top-padded\" *ngIf\u003d\"softDeletedCourses.length else emptyBinAlert\"\u003e"},{"lineNumber":314,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"deleted-table-heading\" class\u003d\"card-header bg-secondary text-white cursor-pointer\""},{"lineNumber":315,"author":{"gitId":"-"},"content":" (click)\u003d\"isRecycleBinExpanded \u003d !isRecycleBinExpanded\"\u003e"},{"lineNumber":316,"author":{"gitId":"-"},"content":" \u003cb\u003eRecycle Bin\u003c/b\u003e"},{"lineNumber":317,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-header-btn-toolbar\"\u003e"},{"lineNumber":318,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-restore-all\" class\u003d\"btn btn-secondary btn-sm\" *ngIf\u003d\"canRestoreAll\""},{"lineNumber":319,"author":{"gitId":"-"},"content":" (click)\u003d\"$event.stopPropagation(); onRestoreAll()\""},{"lineNumber":320,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"Restore all deleted courses and their corresponding students and sessions\"\u003e"},{"lineNumber":321,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-check\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e Restore All"},{"lineNumber":322,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":323,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary btn-sm disabled\" *ngIf\u003d\"!canRestoreAll\"\u003e"},{"lineNumber":324,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-check\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e Restore All"},{"lineNumber":325,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":326,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-delete-all\" class\u003d\"btn btn-secondary btn-sm\" *ngIf\u003d\"canDeleteAll\""},{"lineNumber":327,"author":{"gitId":"-"},"content":" (click)\u003d\"$event.stopPropagation(); onDeleteAll()\""},{"lineNumber":328,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"Permanently delete all courses and their corresponding students and sessions\"\u003e"},{"lineNumber":329,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-times\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e Delete All"},{"lineNumber":330,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":331,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary btn-sm disabled\" *ngIf\u003d\"!canDeleteAll\"\u003e"},{"lineNumber":332,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-times\" aria-hidden\u003d\"true\"\u003e\u003c/i\u003e Delete All"},{"lineNumber":333,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":334,"author":{"gitId":"-"},"content":" \u003ctm-panel-chevron [isExpanded]\u003d\"isRecycleBinExpanded\"\u003e\u003c/tm-panel-chevron\u003e"},{"lineNumber":335,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":336,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":337,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body recycle-bin-body table-responsive\" *ngIf\u003d\"isRecycleBinExpanded\" @collapseAnim\u003e"},{"lineNumber":338,"author":{"gitId":"-"},"content":" \u003ctable id\u003d\"deleted-courses-table\""},{"lineNumber":339,"author":{"gitId":"-"},"content":" class\u003d\"table table-responsive-lg table-striped table-bordered recycle-bin-table\"\u003e"},{"lineNumber":340,"author":{"gitId":"-"},"content":" \u003cthead\u003e"},{"lineNumber":341,"author":{"gitId":"-"},"content":" \u003ctr class\u003d\"background-color-medium-gray text-color-gray\"\u003e"},{"lineNumber":342,"author":{"gitId":"-"},"content":" \u003cth class\u003d\"sortable-header\" (click)\u003d\"sortDeletedCoursesEvent(SortBy.COURSE_ID)\""},{"lineNumber":343,"author":{"gitId":"-"},"content":" [attr.aria-sort]\u003d\"getAriaSortDeleted(SortBy.COURSE_ID)\"\u003e"},{"lineNumber":344,"author":{"gitId":"-"},"content":" \u003cbutton\u003e"},{"lineNumber":345,"author":{"gitId":"-"},"content":" Course ID"},{"lineNumber":346,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"fa-stack\" aria-hidden\u003d\"true\"\u003e"},{"lineNumber":347,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort\"\u003e\u003c/i\u003e"},{"lineNumber":348,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-down\""},{"lineNumber":349,"author":{"gitId":"-"},"content":" *ngIf\u003d\"deletedTableSortBy \u003d\u003d\u003d SortBy.COURSE_ID \u0026\u0026 deletedTableSortOrder \u003d\u003d\u003d SortOrder.DESC\"\u003e\u003c/i\u003e"},{"lineNumber":350,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-up\""},{"lineNumber":351,"author":{"gitId":"-"},"content":" *ngIf\u003d\"deletedTableSortBy \u003d\u003d\u003d SortBy.COURSE_ID \u0026\u0026 deletedTableSortOrder \u003d\u003d\u003d SortOrder.ASC\"\u003e\u003c/i\u003e"},{"lineNumber":352,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":353,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":354,"author":{"gitId":"-"},"content":" \u003c/th\u003e"},{"lineNumber":355,"author":{"gitId":"-"},"content":" \u003cth class\u003d\"sortable-header\" (click)\u003d\"sortDeletedCoursesEvent(SortBy.COURSE_NAME)\""},{"lineNumber":356,"author":{"gitId":"-"},"content":" [attr.aria-sort]\u003d\"getAriaSortDeleted(SortBy.COURSE_NAME)\"\u003e"},{"lineNumber":357,"author":{"gitId":"-"},"content":" \u003cbutton\u003e"},{"lineNumber":358,"author":{"gitId":"-"},"content":" Course Name"},{"lineNumber":359,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"fa-stack\" aria-hidden\u003d\"true\"\u003e"},{"lineNumber":360,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort\"\u003e\u003c/i\u003e"},{"lineNumber":361,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-down\""},{"lineNumber":362,"author":{"gitId":"-"},"content":" *ngIf\u003d\"deletedTableSortBy \u003d\u003d\u003d SortBy.COURSE_NAME \u0026\u0026 deletedTableSortOrder \u003d\u003d\u003d SortOrder.DESC\"\u003e\u003c/i\u003e"},{"lineNumber":363,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-up\""},{"lineNumber":364,"author":{"gitId":"-"},"content":" *ngIf\u003d\"deletedTableSortBy \u003d\u003d\u003d SortBy.COURSE_NAME \u0026\u0026 deletedTableSortOrder \u003d\u003d\u003d SortOrder.ASC\"\u003e\u003c/i\u003e"},{"lineNumber":365,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":366,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":367,"author":{"gitId":"-"},"content":" \u003c/th\u003e"},{"lineNumber":368,"author":{"gitId":"-"},"content":" \u003cth class\u003d\"sortable-header\" (click)\u003d\"sortDeletedCoursesEvent(SortBy.COURSE_CREATION_DATE)\""},{"lineNumber":369,"author":{"gitId":"-"},"content":" [attr.aria-sort]\u003d\"getAriaSortDeleted(SortBy.COURSE_CREATION_DATE)\"\u003e"},{"lineNumber":370,"author":{"gitId":"-"},"content":" \u003cbutton\u003e"},{"lineNumber":371,"author":{"gitId":"-"},"content":" Creation Date"},{"lineNumber":372,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"fa-stack\" aria-hidden\u003d\"true\"\u003e"},{"lineNumber":373,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort\"\u003e\u003c/i\u003e"},{"lineNumber":374,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-down\""},{"lineNumber":375,"author":{"gitId":"-"},"content":" *ngIf\u003d\"deletedTableSortBy \u003d\u003d\u003d SortBy.COURSE_CREATION_DATE \u0026\u0026 deletedTableSortOrder \u003d\u003d\u003d SortOrder.DESC\"\u003e\u003c/i\u003e"},{"lineNumber":376,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-up\""},{"lineNumber":377,"author":{"gitId":"-"},"content":" *ngIf\u003d\"deletedTableSortBy \u003d\u003d\u003d SortBy.COURSE_CREATION_DATE \u0026\u0026 deletedTableSortOrder \u003d\u003d\u003d SortOrder.ASC\"\u003e\u003c/i\u003e"},{"lineNumber":378,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":379,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":380,"author":{"gitId":"-"},"content":" \u003c/th\u003e"},{"lineNumber":381,"author":{"gitId":"-"},"content":" \u003cth class\u003d\"sortable-header\" (click)\u003d\"sortDeletedCoursesEvent(SortBy.COURSE_DELETION_DATE)\""},{"lineNumber":382,"author":{"gitId":"-"},"content":" [attr.aria-sort]\u003d\"getAriaSortDeleted(SortBy.COURSE_DELETION_DATE)\"\u003e"},{"lineNumber":383,"author":{"gitId":"-"},"content":" \u003cbutton\u003e"},{"lineNumber":384,"author":{"gitId":"-"},"content":" Deletion Date"},{"lineNumber":385,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"fa-stack\" aria-hidden\u003d\"true\"\u003e"},{"lineNumber":386,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort\"\u003e\u003c/i\u003e"},{"lineNumber":387,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-down\""},{"lineNumber":388,"author":{"gitId":"-"},"content":" *ngIf\u003d\"deletedTableSortBy \u003d\u003d\u003d SortBy.COURSE_DELETION_DATE \u0026\u0026 deletedTableSortOrder \u003d\u003d\u003d SortOrder.DESC\"\u003e\u003c/i\u003e"},{"lineNumber":389,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-sort-up\""},{"lineNumber":390,"author":{"gitId":"-"},"content":" *ngIf\u003d\"deletedTableSortBy \u003d\u003d\u003d SortBy.COURSE_DELETION_DATE \u0026\u0026 deletedTableSortOrder \u003d\u003d\u003d SortOrder.ASC\"\u003e\u003c/i\u003e"},{"lineNumber":391,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":392,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":393,"author":{"gitId":"-"},"content":" \u003c/th\u003e"},{"lineNumber":394,"author":{"gitId":"-"},"content":" \u003cth class\u003d\"text-center\"\u003eAction(s)\u003c/th\u003e"},{"lineNumber":395,"author":{"gitId":"-"},"content":" \u003c/tr\u003e"},{"lineNumber":396,"author":{"gitId":"-"},"content":" \u003c/thead\u003e"},{"lineNumber":397,"author":{"gitId":"-"},"content":" \u003ctbody\u003e"},{"lineNumber":398,"author":{"gitId":"-"},"content":" \u003ctr *ngFor\u003d\"let course of softDeletedCourses; let i \u003d index\"\u003e"},{"lineNumber":399,"author":{"gitId":"-"},"content":" \u003ctd id\u003d\"deleted-course-id-{{ i }}\" class\u003d\"text-break\"\u003e{{course.course.courseId}}\u003c/td\u003e"},{"lineNumber":400,"author":{"gitId":"-"},"content":" \u003ctd class\u003d\"text-break\"\u003e{{course.course.courseName}}\u003c/td\u003e"},{"lineNumber":401,"author":{"gitId":"-"},"content":" \u003ctd\u003e"},{"lineNumber":402,"author":{"gitId":"-"},"content":" \u003cspan container\u003d\"body\" class\u003d\"ngb-tooltip-class\""},{"lineNumber":403,"author":{"gitId":"-"},"content":" [ngbTooltip]\u003d\"course.course.creationTimestamp | date:\u0027EEE, dd MMM yyyy, h:mma\u0027\"\u003e"},{"lineNumber":404,"author":{"gitId":"-"},"content":" {{course.course.creationTimestamp | date:\u0027d MMM yyyy\u0027}}"},{"lineNumber":405,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":406,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":407,"author":{"gitId":"-"},"content":" \u003ctd\u003e"},{"lineNumber":408,"author":{"gitId":"-"},"content":" \u003cspan container\u003d\"body\" class\u003d\"ngb-tooltip-class\""},{"lineNumber":409,"author":{"gitId":"-"},"content":" [ngbTooltip]\u003d\"course.course.deletionTimestamp | date:\u0027EEE, dd MMM yyyy, h:mma\u0027\"\u003e"},{"lineNumber":410,"author":{"gitId":"-"},"content":" {{course.course.deletionTimestamp | date:\u0027d MMM yyyy\u0027}}"},{"lineNumber":411,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":412,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":413,"author":{"gitId":"-"},"content":" \u003ctd class\u003d\"text-center actions-cell\"\u003e"},{"lineNumber":414,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-restore-{{ i }}\" class\u003d\"btn btn-light btn-sm\" *ngIf\u003d\"course.canModifyCourse\""},{"lineNumber":415,"author":{"gitId":"-"},"content":" (click)\u003d\"onRestore(course.course.courseId)\""},{"lineNumber":416,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"Restore the deleted course and its corresponding students and sessions\"\u003e"},{"lineNumber":417,"author":{"gitId":"-"},"content":" Restore"},{"lineNumber":418,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":419,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-restore-disabled-{{ i }}\" class\u003d\"btn btn-light btn-sm disabled\""},{"lineNumber":420,"author":{"gitId":"-"},"content":" *ngIf\u003d\"!course.canModifyCourse\"\u003e"},{"lineNumber":421,"author":{"gitId":"-"},"content":" Restore"},{"lineNumber":422,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":423,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-delete-{{ i }}\" class\u003d\"btn btn-light btn-sm text-danger\" *ngIf\u003d\"course.canModifyCourse\""},{"lineNumber":424,"author":{"gitId":"-"},"content":" (click)\u003d\"onDeletePermanently(course.course.courseId)\""},{"lineNumber":425,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"Permanently delete the course and its corresponding students and sessions\"\u003e"},{"lineNumber":426,"author":{"gitId":"-"},"content":" Delete Permanently"},{"lineNumber":427,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":428,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"btn-delete-disabled-{{ i }}\" class\u003d\"btn btn-light btn-sm disabled text-danger\""},{"lineNumber":429,"author":{"gitId":"-"},"content":" *ngIf\u003d\"!course.canModifyCourse\"\u003e"},{"lineNumber":430,"author":{"gitId":"-"},"content":" Delete Permanently"},{"lineNumber":431,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":432,"author":{"gitId":"-"},"content":" \u003c/td\u003e"},{"lineNumber":433,"author":{"gitId":"-"},"content":" \u003c/tr\u003e"},{"lineNumber":434,"author":{"gitId":"-"},"content":" \u003c/tbody\u003e"},{"lineNumber":435,"author":{"gitId":"-"},"content":" \u003c/table\u003e"},{"lineNumber":436,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":437,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":438,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":439,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":440,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":441,"author":{"gitId":"-"},"content":""},{"lineNumber":442,"author":{"gitId":"-"},"content":"\u003cng-template #modifiedTimestampsModal\u003e"},{"lineNumber":443,"author":{"gitId":"-"},"content":" \u003ctm-modified-timestamps-modal [modifiedSessions]\u003d\"this.modifiedSessions\"\u003e"},{"lineNumber":444,"author":{"gitId":"-"},"content":" \u003c/tm-modified-timestamps-modal\u003e"},{"lineNumber":445,"author":{"gitId":"-"},"content":"\u003c/ng-template\u003e"}],"authorContributionMap":{"dishenggg":4,"-":441}},{"path":"src/web/app/pages-instructor/instructor-home-page/instructor-home-page.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ch1\u003eHome\u003c/h1\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"card bg-light\" style\u003d\"margin-bottom: 20px;\" *ngIf\u003d\"isNewUser\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" New to TEAMMATES? You may wish to have a look at our \u003ca href\u003d\"/web/instructor/getting-started\" target\u003d\"_blank\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" rel\u003d\"noopener noreferrer\"\u003eGetting Started Guide\u003c/a\u003e."},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"row mb-3\" *tmIsLoading\u003d\"!hasCoursesLoaded\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-4 mt-auto\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003ca tmRouterLink\u003d\"/web/instructor/courses\" class\u003d\"btn btn-success\" [queryParams]\u003d\"{isAddNewCourse: true}\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-plus\"\u003e\u003c/i\u003e Add New Course"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-8\" *ngIf\u003d\"courseTabModels.length \u003e 0\"\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"float-end\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cstrong class\u003d\"d-inline\"\u003e Sort By: \u003c/strong\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"btn-group\" data-toggle\u003d\"buttons\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"sort-course-id\" class\u003d\"btn btn-light\" [disabled]\u003d\"isSelectedForSorting(SortBy.COURSE_ID)\""},{"lineNumber":21,"author":{"gitId":"-"},"content":" (click)\u003d\"sortCoursesBy(SortBy.COURSE_ID)\"\u003eCourse ID\u003c/button\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"sort-course-name\" class\u003d\"btn btn-light\" [disabled]\u003d\"isSelectedForSorting(SortBy.COURSE_NAME)\""},{"lineNumber":23,"author":{"gitId":"-"},"content":" (click)\u003d\"sortCoursesBy(SortBy.COURSE_NAME)\"\u003eCourse Name\u003c/button\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"sort-course-date\" class\u003d\"btn btn-light\""},{"lineNumber":25,"author":{"gitId":"-"},"content":" [disabled]\u003d\"isSelectedForSorting(SortBy.COURSE_CREATION_DATE)\""},{"lineNumber":26,"author":{"gitId":"-"},"content":" (click)\u003d\"sortCoursesBy(SortBy.COURSE_CREATION_DATE)\"\u003eCreation Date\u003c/button\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cdiv *ngIf\u003d\"isCopyingCourse\" class\u003d\"mb-4\"\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003cp\u003eCopy Progress\u003c/p\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003ctm-progress-bar\u003e\u003c/tm-progress-bar\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003ctm-loading-retry [shouldShowRetry]\u003d\"hasCoursesLoadingFailed\" [message]\u003d\"\u0027Something went wrong\u0027\""},{"lineNumber":38,"author":{"gitId":"-"},"content":" (retryEvent)\u003d\"loadCourses()\"\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003cdiv *tmIsLoading\u003d\"!hasCoursesLoaded || isCopyLoading\"\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"courseTabModels.length \u003e 0\"\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"course-tab-{{ idx }}\" class\u003d\"card\" *ngFor\u003d\"let courseTabModel of courseTabModels; let idx \u003d index\"\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-header bg-primary text-white cursor-pointer\""},{"lineNumber":43,"author":{"gitId":"-"},"content":" (click)\u003d\"courseTabModel.isTabExpanded \u003d handleClick($event, courseTabModel); this.loadFeedbackSessions(idx);\"\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003cb class\u003d\"course-details text-break\"\u003e[{{ courseTabModel.course.courseId }}]: {{"},{"lineNumber":45,"author":{"gitId":"-"},"content":" courseTabModel.course.courseName }}\u003c/b\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-header-btn-toolbar flex-lg-shrink-0\" *ngIf\u003d\"courseTabModel.isAjaxSuccess\"\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003cspan ngbDropdown container\u003d\"body\"\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn btn-primary btn-sm\" ngbDropdownToggle\u003e Students \u003c/button\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003cdiv ngbDropdownMenu (click)\u003d\"$event.stopPropagation()\"\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003cng-container *ngIf\u003d\"courseTabModel.instructorPrivilege.canModifyStudent\"\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003ca class\u003d\"btn btn-light btn-sm dropdown-item\" tmRouterLink\u003d\"/web/instructor/courses/enroll\""},{"lineNumber":52,"author":{"gitId":"-"},"content":" [queryParams]\u003d\"{courseid: courseTabModel.course.courseId}\"\u003e Enroll"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003c/ng-container\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003ca class\u003d\"btn btn-light btn-sm dropdown-item\" tmRouterLink\u003d\"/web/instructor/courses/details\""},{"lineNumber":56,"author":{"gitId":"-"},"content":" [queryParams]\u003d\"{courseid: courseTabModel.course.courseId}\"\u003e View / Edit"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003cspan ngbDropdown container\u003d\"body\"\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn btn-primary btn-sm\" ngbDropdownToggle\u003e Instructors \u003c/button\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":" \u003cdiv ngbDropdownMenu (click)\u003d\"$event.stopPropagation()\"\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003ca class\u003d\"btn btn-light btn-sm dropdown-item\" tmRouterLink\u003d\"/web/instructor/courses/edit\""},{"lineNumber":64,"author":{"gitId":"-"},"content":" [queryParams]\u003d\"{courseid: courseTabModel.course.courseId}\"\u003e View / Edit"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":" \u003cspan ngbDropdown container\u003d\"body\"\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn btn-primary btn-sm\" ngbDropdownToggle\u003e Sessions \u003c/button\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":" \u003cdiv ngbDropdownMenu (click)\u003d\"$event.stopPropagation()\"\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \u003ca class\u003d\"btn btn-light btn-sm dropdown-item\" tmRouterLink\u003d\"/web/instructor/sessions\""},{"lineNumber":72,"author":{"gitId":"-"},"content":" [queryParams]\u003d\"{courseid: courseTabModel.course.courseId}\"\u003e Add"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \u003cspan ngbDropdown container\u003d\"body\"\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003cbutton type\u003d\"button\" class\u003d\"btn-course btn btn-primary btn-sm\" ngbDropdownToggle\u003e Course \u003c/button\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003cdiv ngbDropdownMenu (click)\u003d\"$event.stopPropagation()\"\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003ca class\u003d\"btn-archive-course btn btn-light btn-sm dropdown-item\""},{"lineNumber":80,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"Archive the course so that it will not be shown in the home page any more (you can still access it from the \u0027Courses\u0027 tab)\""},{"lineNumber":81,"author":{"gitId":"-"},"content":" (click)\u003d\"archiveCourse(courseTabModel.course.courseId)\""},{"lineNumber":82,"author":{"gitId":"-"},"content":" tmRouterLink\u003d\"./\"\u003e Archive"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003ca class\u003d\"btn btn-light btn-sm dropdown-item\" tmRouterLink\u003d\u0027/web/instructor/courses/edit\u0027"},{"lineNumber":85,"author":{"gitId":"-"},"content":" [queryParams]\u003d\"{courseid: courseTabModel.course.courseId}\"\u003e View / Edit"},{"lineNumber":86,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":" \u003cng-container *ngIf\u003d\"courseTabModel.instructorPrivilege.canModifyCourse\"\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003ca class\u003d\"btn-copy-course btn btn-light btn-sm dropdown-item\""},{"lineNumber":89,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"Copy the course and its corresponding sessions\""},{"lineNumber":90,"author":{"gitId":"-"},"content":" (click)\u003d\"!isCopyingCourse \u0026\u0026 onCopy(courseTabModel.course.courseId, courseTabModel.course.courseName, courseTabModel.course.timeZone)\""},{"lineNumber":91,"author":{"gitId":"-"},"content":" tmRouterLink\u003d\"./\"\u003e Copy"},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003c/ng-container\u003e"},{"lineNumber":94,"author":{"gitId":"dishenggg"},"content":" \u003cng-container *ngIf\u003d\"courseTabModel.instructorPrivilege.canModifyInstructor \u0026\u0026 courseTabModel.course.isMigrated\"\u003e"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" \u003ca class\u003d\"btn-course-logs btn btn-light btn-sm dropdown-item\" tmRouterLink\u003d\"/web/instructor/courses/student-activity-logs\""},{"lineNumber":96,"author":{"gitId":"dishenggg"},"content":" [queryParams]\u003d\"{courseid: courseTabModel.course.courseId}\"\u003e View Logs"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":" \u003c/a\u003e"},{"lineNumber":98,"author":{"gitId":"dishenggg"},"content":" \u003c/ng-container\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":" \u003cng-container *ngIf\u003d\"courseTabModel.instructorPrivilege.canModifyCourse\"\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" \u003ca class\u003d\"btn-delete-course btn btn-light btn-sm dropdown-item\""},{"lineNumber":101,"author":{"gitId":"-"},"content":" ngbTooltip\u003d\"Delete the course and its corresponding students and sessions\""},{"lineNumber":102,"author":{"gitId":"-"},"content":" (click)\u003d\"deleteCourse(courseTabModel.course.courseId)\""},{"lineNumber":103,"author":{"gitId":"-"},"content":" tmRouterLink\u003d\"./\"\u003e Delete"},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \u003c/ng-container\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \u003ctm-panel-chevron [isExpanded]\u003d\"courseTabModel.isTabExpanded\"\u003e\u003c/tm-panel-chevron\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body padding-0 table-responsive\" *ngIf\u003d\"courseTabModel.isTabExpanded\" @collapseAnim\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":" \u003ctm-loading-retry [shouldShowRetry]\u003d\"courseTabModel.hasLoadingFailed\""},{"lineNumber":113,"author":{"gitId":"-"},"content":" [message]\u003d\"\u0027Error loading feedback sessions\u0027\" (retryEvent)\u003d\"loadFeedbackSessions(idx)\"\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":" \u003ctm-sessions-table *tmIsLoading\u003d\"!courseTabModel.hasPopulated\""},{"lineNumber":115,"author":{"gitId":"-"},"content":" [sessionsTableRowModels]\u003d\"courseTabModel.sessionsTableRowModels\""},{"lineNumber":116,"author":{"gitId":"-"},"content":" id \u003d \"sessions-table-{{ idx }}\""},{"lineNumber":117,"author":{"gitId":"-"},"content":" [initialSortBy]\u003d\"initialSortBy\""},{"lineNumber":118,"author":{"gitId":"-"},"content":" [sortOrder]\u003d\"sortOrder\""},{"lineNumber":119,"author":{"gitId":"-"},"content":" [courseCandidates]\u003d\"courseCandidates\""},{"lineNumber":120,"author":{"gitId":"-"},"content":" [headerColorScheme]\u003d\"SortableTableHeaderColorScheme.WHITE\""},{"lineNumber":121,"author":{"gitId":"-"},"content":" [columnsToShow]\u003d\"["},{"lineNumber":122,"author":{"gitId":"-"},"content":" SessionsTableColumn.START_DATE,"},{"lineNumber":123,"author":{"gitId":"-"},"content":" SessionsTableColumn.END_DATE"},{"lineNumber":124,"author":{"gitId":"-"},"content":" ]\""},{"lineNumber":125,"author":{"gitId":"-"},"content":" [isSendReminderLoading]\u003d\"isSendReminderLoading\""},{"lineNumber":126,"author":{"gitId":"-"},"content":" (sortSessionsTableRowModelsEvent)\u003d\"sortSessionsTableRowModelsEvent(idx, $event)\""},{"lineNumber":127,"author":{"gitId":"-"},"content":" (loadResponseRateEvent)\u003d\"loadResponseRateEventHandler(idx, $event)\""},{"lineNumber":128,"author":{"gitId":"-"},"content":" (moveSessionToRecycleBinEvent)\u003d\"moveSessionToRecycleBinEventHandler(idx, $event)\""},{"lineNumber":129,"author":{"gitId":"-"},"content":" (copySessionEvent)\u003d\"copySessionEventHandler(idx, $event)\""},{"lineNumber":130,"author":{"gitId":"-"},"content":" (submitSessionAsInstructorEvent)\u003d\"submitSessionAsInstructorEventHandler(idx, $event)\""},{"lineNumber":131,"author":{"gitId":"-"},"content":" (publishSessionEvent)\u003d\"publishSessionEventHandler(idx, $event)\""},{"lineNumber":132,"author":{"gitId":"-"},"content":" (unpublishSessionEvent)\u003d\"unpublishSessionEventHandler(idx, $event)\""},{"lineNumber":133,"author":{"gitId":"-"},"content":" (downloadSessionResultsEvent)\u003d\"downloadSessionResultEventHandler(idx, $event)\""},{"lineNumber":134,"author":{"gitId":"-"},"content":" (resendResultsLinkToStudentsEvent)\u003d\"resendResultsLinkToRespondentsEventHandler(courseTabModel.sessionsTableRowModels[$event])\""},{"lineNumber":135,"author":{"gitId":"-"},"content":" (sendRemindersToAllNonSubmittersEvent)\u003d\"sendRemindersToRespondentsEventHandler(courseTabModel.sessionsTableRowModels[$event], true)\""},{"lineNumber":136,"author":{"gitId":"-"},"content":" (sendRemindersToSelectedNonSubmittersEvent)\u003d\"sendRemindersToRespondentsEventHandler(courseTabModel.sessionsTableRowModels[$event], false)\"\u003e\u003c/tm-sessions-table\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":" \u003c/tm-loading-retry\u003e"},{"lineNumber":138,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":"\u003c/tm-loading-retry\u003e"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":"\u003cng-template #modifiedTimestampsModal\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":" \u003ctm-modified-timestamps-modal [coursesOfModifiedSession]\u003d\"this.coursesOfModifiedSession\""},{"lineNumber":146,"author":{"gitId":"-"},"content":" [modifiedSessions]\u003d\"this.modifiedSession\"\u003e"},{"lineNumber":147,"author":{"gitId":"-"},"content":" \u003c/tm-modified-timestamps-modal\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":"\u003c/ng-template\u003e"}],"authorContributionMap":{"dishenggg":5,"-":143}},{"path":"src/web/app/pages-instructor/instructor-student-activity-logs/instructor-student-activity-logs.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ch1\u003eStudent Activity Logs For {{course.courseName}}\u003c/h1\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cp\u003eThis page allows you to find when your students have accessed or submitted a particular feedback session or view a session results. Note that you can only view student logs if you have \u003cb\u003eowner or manager privileges\u003c/b\u003e for the course. The earliest date you can search for is \u003cb\u003e{{this.LOGS_RETENTION_PERIOD}} days\u003c/b\u003e before today.\u003c/p\u003e"},{"lineNumber":3,"author":{"gitId":"dishenggg"},"content":"\u003cp\u003ePlease note that recent activity after \u003cb\u003e{{ this.lastUpdated }}\u003c/b\u003e may \u003cb\u003eNOT\u003c/b\u003e be shown as the information is updated in \u003cb\u003e{{ this.STUDENT_ACTIVITY_LOGS_UPDATE_INTERVAL }} minute\u003c/b\u003e intervals.\u003c/p\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003chr/\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cdiv *tmIsLoading\u003d\"isLoading\" class\u003d\"card bg-form no-border\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row form-group\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-4\"\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003clabel for\u003d\"activity-type-dropdown\" class\u003d\"fw-bold\"\u003eActivity Type\u003c/label\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003cselect id\u003d\"activity-type-dropdown\" class\u003d\"form-control form-select col-12\" [(ngModel)]\u003d\"formModel.logType\" (ngModelChange)\u003d\"triggerDefaultLogActivityTypeChange($event)\"\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003coption value\u003d\"\" disabled selected hidden\u003eSelect Activity Type\u003c/option\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003coption *ngFor\u003d\"let logType of LOG_TYPES\" [value]\u003d\"logType.value\"\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" {{logType.label}}"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003c/option\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003c/select\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-8\"\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 mb-1\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"fw-bold\"\u003eSearch period from\u003c/label\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"input-group\"\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"logs-from-datepicker\" class\u003d\"col-md-6 input-group\"\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003cinput type\u003d\"text\" class\u003d\"form-control\" ngbDatepicker readonly [minDate]\u003d\"earliestSearchDate\""},{"lineNumber":29,"author":{"gitId":"-"},"content":" [maxDate]\u003d\"formModel.logsDateTo\" [(ngModel)]\u003d\"formModel.logsDateFrom\" #logsFromDp\u003d\"ngbDatepicker\""},{"lineNumber":30,"author":{"gitId":"-"},"content":" aria-label\u003d\"Date to search from\" /\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-light\" aria-label\u003d\"Change date\" (click)\u003d\"logsFromDp.toggle()\" type\u003d\"button\"\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-calendar-alt\"\u003e\u003c/i\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-3\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003ctm-timepicker id\u003d\"logs-from-timepicker\" [(time)]\u003d\"formModel.logsTimeFrom\"\u003e\u003c/tm-timepicker\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row form-group\"\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-4\"\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003clabel for\u003d\"student-name-dropdown\" class\u003d\"fw-bold\"\u003eStudent Name (Optional)\u003c/label\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" \u003cselect id\u003d\"student-name-dropdown\" class\u003d\"form-control form-select col-12\" [(ngModel)]\u003d\"formModel.selectedStudent\"\u003e"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":" \u003coption *ngFor\u003d\"let student of students\" [ngValue]\u003d\"{studentEmail: student.email || \u0027\u0027, studentId: student.studentId}\"\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" {{student.name}} {{student.email ? \u0027\u003c\u0027 + student.email + \u0027\u003e\u0027 : \u0027\u0027}}"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003c/option\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003c/select\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-8\"\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 mb-1\"\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003clabel for\u003d\"logs-to-datepicker\" class\u003d\"fw-bold\"\u003eSearch period until\u003c/label\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"input-group\"\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"logs-to-datepicker\" class\u003d\"col-md-6 input-group\"\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003cinput type\u003d\"text\" class\u003d\"form-control\" ngbDatepicker readonly [minDate]\u003d\"formModel.logsDateFrom\""},{"lineNumber":61,"author":{"gitId":"-"},"content":" [maxDate]\u003d\"dateToday\" [(ngModel)]\u003d\"formModel.logsDateTo\" #logsToDp\u003d\"ngbDatepicker\""},{"lineNumber":62,"author":{"gitId":"-"},"content":" aria-label\u003d\"Date to search until\" /\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-light\" aria-label\u003d\"Change date\" (click)\u003d\"logsToDp.toggle()\" type\u003d\"button\"\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" \u003ci class\u003d\"fas fa-calendar-alt\"\u003e\u003c/i\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-3\"\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":" \u003ctm-timepicker id\u003d\"logs-to-timepicker\" [(time)]\u003d\"formModel.logsTimeTo\" aria-label\u003d\"Search period until time\"\u003e\u003c/tm-timepicker\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-md-2\"\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \u003cbutton id\u003d\"search-button\" class\u003d\"float-end btn btn-primary\" (click)\u003d\"search()\" [disabled]\u003d\"course.courseId \u003d\u003d\u003d \u0027\u0027 || isSearching\"\u003eSearch\u003c/button\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row form-group\"\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-5\"\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003clabel for\u003d\"session-dropdown\" class\u003d\"fw-bold\"\u003eFeedback Session Name (Optional)\u003c/label\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12\"\u003e"},{"lineNumber":82,"author":{"gitId":"dishenggg"},"content":" \u003cselect id\u003d\"session-dropdown\" class\u003d\"form-control form-select col-md-12\" [(ngModel)]\u003d\"formModel.selectedSession\"\u003e"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" \u003coption [ngValue]\u003d\"{feedbackSessionName: \u0027\u0027, sessionId: \u0027\u0027}\"\u003e\u003c/option\u003e"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" \u003coption *ngFor\u003d\"let session of feedbackSessions | keyvalue\" [ngValue]\u003d\"{feedbackSessionName: session.key, sessionId: session.value.sessionId}\"\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":" {{session.key}}"},{"lineNumber":86,"author":{"gitId":"-"},"content":" \u003c/option\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":" \u003c/select\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"row mt-md-1 ms-md-3\"\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-12 form-check\" style\u003d\"margin-top: 30px;\"\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"form-check-label\"\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"show-actions\" class\u003d\"form-check-input\" type\u003d\"checkbox\" name\u003d\"showActions\" [checked]\u003d\"formModel.showActions\" (click)\u003d\"triggerModelChange(\u0027showActions\u0027, $event.target.checked)\"\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" Show actions"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u003clabel class\u003d\"form-check-label\" style\u003d\"margin-left: 40px;\"\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \u003cinput id\u003d\"show-inactions\" class\u003d\"form-check-input\" type\u003d\"checkbox\" name\u003d\"showInactions\" [checked]\u003d\"formModel.showInactions\" (click)\u003d\"triggerModelChange(\u0027showInactions\u0027, $event.target.checked)\"\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":" Show inactions"},{"lineNumber":99,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"logs-output\"\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003cdiv *tmIsLoading\u003d\"isSearching\"\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" \u003cdiv *ngFor\u003d\"let results of searchResults\"\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \u003cdiv [ngClass]\u003d\"{ \u0027alert-success-border\u0027: results.logRowsData.length, \u0027alert-failure-border\u0027: !results.logRowsData.length }\" class\u003d\"card mb-3\"\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":" \u003cdiv [ngClass]\u003d\"{ \u0027alert-success\u0027: results.logRowsData.length, \u0027alert-failure\u0027: !results.logRowsData.length}\" class\u003d\"card-header cursor-pointer text-break\" (click)\u003d\"results.isTabExpanded \u003d !results.isTabExpanded\"\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" {{results.feedbackSessionName}}"},{"lineNumber":111,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-header-btn-toolbar\"\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":" \u003ctm-panel-chevron [isExpanded]\u003d\"results.isTabExpanded\"\u003e\u003c/tm-panel-chevron\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":115,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"results.isTabExpanded\"\u003e"},{"lineNumber":116,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"results.logRowsData[0]; else noActivityTemplate\" class\u003d\"card-body mb-4\"\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":" \u003ctm-sortable-table [rows]\u003d\"results.logRowsData\" [columns]\u003d\"results.logColumnsData\" [initialSortBy]\u003d\"SortBy.GIVER_NAME\"\u003e\u003c/tm-sortable-table\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":" \u003cng-template #noActivityTemplate\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"no-activity-body\"\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":" \u003ci\u003eNo activity for this feedback session in selected search period\u003c/i\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":" \u003c/ng-template\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"dishenggg":6,"-":122}},{"path":"src/web/app/pages-instructor/instructor-student-activity-logs/instructor-student-activity-logs.component.spec.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { HttpClientTestingModule } from \u0027@angular/common/http/testing\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { ComponentFixture, TestBed, waitForAsync } from \u0027@angular/core/testing\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import { RouterTestingModule } from \u0027@angular/router/testing\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { of } from \u0027rxjs\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import SpyInstance \u003d jest.SpyInstance;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import { InstructorStudentActivityLogsComponent } from \u0027./instructor-student-activity-logs.component\u0027;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import { InstructorStudentActivityLogsModule } from \u0027./instructor-student-activity-logs.module\u0027;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import { LogService } from \u0027../../../services/log.service\u0027;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import { StudentService } from \u0027../../../services/student.service\u0027;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import { TimezoneService } from \u0027../../../services/timezone.service\u0027;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" Course,"},{"lineNumber":13,"author":{"gitId":"-"},"content":" FeedbackSession,"},{"lineNumber":14,"author":{"gitId":"-"},"content":" FeedbackSessionLog,"},{"lineNumber":15,"author":{"gitId":"-"},"content":" FeedbackSessionLogType,"},{"lineNumber":16,"author":{"gitId":"-"},"content":" FeedbackSessionPublishStatus,"},{"lineNumber":17,"author":{"gitId":"-"},"content":" FeedbackSessionSubmissionStatus,"},{"lineNumber":18,"author":{"gitId":"-"},"content":" ResponseVisibleSetting,"},{"lineNumber":19,"author":{"gitId":"-"},"content":" SessionVisibleSetting,"},{"lineNumber":20,"author":{"gitId":"-"},"content":" Student,"},{"lineNumber":21,"author":{"gitId":"-"},"content":"} from \u0027../../../types/api-output\u0027;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import { Milliseconds } from \u0027../../../types/datetime-const\u0027;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import { SortBy } from \u0027../../../types/sort-properties\u0027;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import { ColumnData } from \u0027../../components/sortable-table/sortable-table.component\u0027;"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"describe(\u0027InstructorStudentActivityLogsComponent\u0027, () \u003d\u003e {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" let component: InstructorStudentActivityLogsComponent;"},{"lineNumber":28,"author":{"gitId":"-"},"content":" let fixture: ComponentFixture\u003cInstructorStudentActivityLogsComponent\u003e;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" let studentService: StudentService;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" let logService: LogService;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" let timezoneService: TimezoneService;"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" const LOGS_DATE_TIME_FORMAT: string \u003d \u0027ddd, DD MMM YYYY hh:mm:ss A\u0027;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" const resultColumns: ColumnData[] \u003d ["},{"lineNumber":35,"author":{"gitId":"-"},"content":" { header: \u0027Status\u0027, sortBy: SortBy.RESULT_VIEW_STATUS },"},{"lineNumber":36,"author":{"gitId":"-"},"content":" { header: \u0027Name\u0027, sortBy: SortBy.GIVER_NAME },"},{"lineNumber":37,"author":{"gitId":"-"},"content":" { header: \u0027Email\u0027, sortBy: SortBy.RESPONDENT_EMAIL },"},{"lineNumber":38,"author":{"gitId":"-"},"content":" { header: \u0027Section\u0027, sortBy: SortBy.SECTION_NAME },"},{"lineNumber":39,"author":{"gitId":"-"},"content":" { header: \u0027Team\u0027, sortBy: SortBy.TEAM_NAME },"},{"lineNumber":40,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":41,"author":{"gitId":"-"},"content":" const testCourse1: Course \u003d {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" courseId: \u0027CS9999\u0027,"},{"lineNumber":43,"author":{"gitId":"-"},"content":" courseName: \u0027CS9999\u0027,"},{"lineNumber":44,"author":{"gitId":"-"},"content":" institute: \u0027Test Institute\u0027,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" timeZone: \u0027Asia/Singapore\u0027,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" creationTimestamp: 0,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" deletionTimestamp: 0,"},{"lineNumber":48,"author":{"gitId":"-"},"content":" privileges: {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" canModifyCourse: true,"},{"lineNumber":50,"author":{"gitId":"-"},"content":" canModifySession: true,"},{"lineNumber":51,"author":{"gitId":"-"},"content":" canModifyStudent: true,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" canModifyInstructor: true,"},{"lineNumber":53,"author":{"gitId":"-"},"content":" canViewStudentInSections: true,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" canModifySessionCommentsInSections: true,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" canViewSessionInSections: true,"},{"lineNumber":56,"author":{"gitId":"-"},"content":" canSubmitSessionInSections: true,"},{"lineNumber":57,"author":{"gitId":"-"},"content":" },"},{"lineNumber":58,"author":{"gitId":"-"},"content":" };"},{"lineNumber":59,"author":{"gitId":"-"},"content":" const emptyStudent: Student \u003d {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" courseId: \u0027\u0027, email: \u0027\u0027, name: \u0027\u0027, sectionName: \u0027\u0027, teamName: \u0027\u0027,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" };"},{"lineNumber":62,"author":{"gitId":"-"},"content":" const testStudent: Student \u003d {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" email: \u0027doejohn@email.com\u0027,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" courseId: \u0027CS9999\u0027,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" name: \u0027Doe John\u0027,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" teamName: \u0027team 1\u0027,"},{"lineNumber":67,"author":{"gitId":"-"},"content":" sectionName: \u0027section 1\u0027,"},{"lineNumber":68,"author":{"gitId":"-"},"content":" };"},{"lineNumber":69,"author":{"gitId":"-"},"content":" const testFeedbackSession: FeedbackSession \u003d {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" feedbackSessionName: \u0027Feedback Session 1\u0027,"},{"lineNumber":71,"author":{"gitId":"-"},"content":" courseId: \u0027CS9999\u0027,"},{"lineNumber":72,"author":{"gitId":"-"},"content":" timeZone: \u0027Asia/Singapore\u0027,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" instructions: \u0027\u0027,"},{"lineNumber":74,"author":{"gitId":"-"},"content":" submissionStartTimestamp: 0,"},{"lineNumber":75,"author":{"gitId":"-"},"content":" submissionEndTimestamp: 1549095330000,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" gracePeriod: 0,"},{"lineNumber":77,"author":{"gitId":"-"},"content":" sessionVisibleSetting: SessionVisibleSetting.AT_OPEN,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" responseVisibleSetting: ResponseVisibleSetting.AT_VISIBLE,"},{"lineNumber":79,"author":{"gitId":"-"},"content":" submissionStatus: FeedbackSessionSubmissionStatus.OPEN,"},{"lineNumber":80,"author":{"gitId":"-"},"content":" publishStatus: FeedbackSessionPublishStatus.PUBLISHED,"},{"lineNumber":81,"author":{"gitId":"-"},"content":" isClosingEmailEnabled: true,"},{"lineNumber":82,"author":{"gitId":"-"},"content":" isPublishedEmailEnabled: true,"},{"lineNumber":83,"author":{"gitId":"-"},"content":" createdAtTimestamp: 0,"},{"lineNumber":84,"author":{"gitId":"-"},"content":" studentDeadlines: {},"},{"lineNumber":85,"author":{"gitId":"-"},"content":" instructorDeadlines: {},"},{"lineNumber":86,"author":{"gitId":"-"},"content":" };"},{"lineNumber":87,"author":{"gitId":"-"},"content":" const testLogs1: FeedbackSessionLog \u003d {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" feedbackSessionData: testFeedbackSession,"},{"lineNumber":89,"author":{"gitId":"-"},"content":" feedbackSessionLogEntries: ["},{"lineNumber":90,"author":{"gitId":"-"},"content":" {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" studentData: testStudent,"},{"lineNumber":92,"author":{"gitId":"-"},"content":" feedbackSessionLogType: FeedbackSessionLogType.SUBMISSION,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" timestamp: 0,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" },"},{"lineNumber":95,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":96,"author":{"gitId":"-"},"content":" };"},{"lineNumber":97,"author":{"gitId":"-"},"content":" const testLogs2: FeedbackSessionLog \u003d {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" feedbackSessionData: testFeedbackSession,"},{"lineNumber":99,"author":{"gitId":"-"},"content":" feedbackSessionLogEntries: ["},{"lineNumber":100,"author":{"gitId":"-"},"content":" {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" studentData: testStudent,"},{"lineNumber":102,"author":{"gitId":"-"},"content":" feedbackSessionLogType: FeedbackSessionLogType.SUBMISSION,"},{"lineNumber":103,"author":{"gitId":"-"},"content":" timestamp: 0,"},{"lineNumber":104,"author":{"gitId":"-"},"content":" },"},{"lineNumber":105,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":106,"author":{"gitId":"-"},"content":" };"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" beforeEach(waitForAsync(() \u003d\u003e {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" TestBed.configureTestingModule({"},{"lineNumber":110,"author":{"gitId":"-"},"content":" imports: ["},{"lineNumber":111,"author":{"gitId":"-"},"content":" InstructorStudentActivityLogsModule,"},{"lineNumber":112,"author":{"gitId":"-"},"content":" HttpClientTestingModule,"},{"lineNumber":113,"author":{"gitId":"-"},"content":" RouterTestingModule,"},{"lineNumber":114,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }).compileComponents();"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" beforeEach(() \u003d\u003e {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" fixture \u003d TestBed.createComponent(InstructorStudentActivityLogsComponent);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" studentService \u003d TestBed.inject(StudentService);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" logService \u003d TestBed.inject(LogService);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" timezoneService \u003d TestBed.inject(TimezoneService);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" component \u003d fixture.componentInstance;"},{"lineNumber":124,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":125,"author":{"gitId":"-"},"content":" });"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" it(\u0027should create\u0027, () \u003d\u003e {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" expect(component).toBeTruthy();"},{"lineNumber":129,"author":{"gitId":"-"},"content":" });"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" it(\u0027should snap with default fields\u0027, () \u003d\u003e {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":133,"author":{"gitId":"-"},"content":" });"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" it(\u0027should snap when page is still loading\u0027, () \u003d\u003e {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" component.isLoading \u003d true;"},{"lineNumber":137,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":138,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":139,"author":{"gitId":"-"},"content":" });"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" it(\u0027should snap when searching for details in search form\u0027, () \u003d\u003e {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" component.course \u003d testCourse1;"},{"lineNumber":143,"author":{"gitId":"-"},"content":" component.formModel \u003d {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" logsDateFrom: { year: 1997, month: 9, day: 11 },"},{"lineNumber":145,"author":{"gitId":"-"},"content":" logsTimeFrom: { hour: 23, minute: 59 },"},{"lineNumber":146,"author":{"gitId":"-"},"content":" logsDateTo: { year: 1998, month: 9, day: 11 },"},{"lineNumber":147,"author":{"gitId":"-"},"content":" logsTimeTo: { hour: 15, minute: 0 },"},{"lineNumber":148,"author":{"gitId":"dishenggg"},"content":" selectedStudent: { studentEmail: \u0027doejohn@email.com\u0027, studentId: undefined },"},{"lineNumber":149,"author":{"gitId":"-"},"content":" logType: \u0027session access\u0027,"},{"lineNumber":150,"author":{"gitId":"dishenggg"},"content":" selectedSession: { feedbackSessionName: undefined, sessionId: undefined },"},{"lineNumber":151,"author":{"gitId":"-"},"content":" showActions: false,"},{"lineNumber":152,"author":{"gitId":"-"},"content":" showInactions: false,"},{"lineNumber":153,"author":{"gitId":"-"},"content":" };"},{"lineNumber":154,"author":{"gitId":"-"},"content":" component.students \u003d [testStudent];"},{"lineNumber":155,"author":{"gitId":"-"},"content":" component.isLoading \u003d false;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" component.isSearching \u003d true;"},{"lineNumber":157,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":160,"author":{"gitId":"-"},"content":" });"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" it(\u0027should snap with results of a search\u0027, () \u003d\u003e {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" component.searchResults \u003d ["},{"lineNumber":164,"author":{"gitId":"-"},"content":" {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" feedbackSessionName: \u0027Feedback session 1\u0027,"},{"lineNumber":166,"author":{"gitId":"-"},"content":" logColumnsData: resultColumns,"},{"lineNumber":167,"author":{"gitId":"-"},"content":" logRowsData: [["},{"lineNumber":168,"author":{"gitId":"-"},"content":" { value: \u002715 January 2021\u0027 },"},{"lineNumber":169,"author":{"gitId":"-"},"content":" { value: \u0027Doe John\u0027 },"},{"lineNumber":170,"author":{"gitId":"-"},"content":" { value: \u0027Viewed the submission page\u0027 },"},{"lineNumber":171,"author":{"gitId":"-"},"content":" { value: \u0027doejohn@email.com\u0027 },"},{"lineNumber":172,"author":{"gitId":"-"},"content":" { value: \u0027section 1\u0027 },"},{"lineNumber":173,"author":{"gitId":"-"},"content":" { value: \u0027team 1\u0027 },"},{"lineNumber":174,"author":{"gitId":"-"},"content":" ]],"},{"lineNumber":175,"author":{"gitId":"-"},"content":" isTabExpanded: true,"},{"lineNumber":176,"author":{"gitId":"-"},"content":" },"},{"lineNumber":177,"author":{"gitId":"-"},"content":" {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" feedbackSessionName: \u0027Feedback session 2\u0027,"},{"lineNumber":179,"author":{"gitId":"-"},"content":" logColumnsData: resultColumns,"},{"lineNumber":180,"author":{"gitId":"-"},"content":" logRowsData: [],"},{"lineNumber":181,"author":{"gitId":"-"},"content":" isTabExpanded: true,"},{"lineNumber":182,"author":{"gitId":"-"},"content":" },"},{"lineNumber":183,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":184,"author":{"gitId":"-"},"content":" component.isLoading \u003d false;"},{"lineNumber":185,"author":{"gitId":"-"},"content":" component.isSearching \u003d false;"},{"lineNumber":186,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":189,"author":{"gitId":"-"},"content":" });"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" it(\u0027should load all students of selected course has on select\u0027, () \u003d\u003e {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" const studentSpy: SpyInstance \u003d jest.spyOn(studentService, \u0027getStudentsFromCourse\u0027)"},{"lineNumber":193,"author":{"gitId":"-"},"content":" .mockReturnValue(of({"},{"lineNumber":194,"author":{"gitId":"-"},"content":" students: ["},{"lineNumber":195,"author":{"gitId":"-"},"content":" testStudent,"},{"lineNumber":196,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" component.loadStudents(testCourse1.courseId);"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" expect(component.students[0]).toEqual(emptyStudent);"},{"lineNumber":202,"author":{"gitId":"-"},"content":" expect(component.students[1]).toEqual(testStudent);"},{"lineNumber":203,"author":{"gitId":"-"},"content":" expect(studentSpy).toHaveBeenNthCalledWith(1, { courseId: testCourse1.courseId });"},{"lineNumber":204,"author":{"gitId":"-"},"content":" });"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" it(\u0027should load students from cache if present\u0027, () \u003d\u003e {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" const studentSpy: SpyInstance \u003d jest.spyOn(studentService, \u0027getStudentsFromCourse\u0027)"},{"lineNumber":208,"author":{"gitId":"-"},"content":" .mockReturnValue(of({"},{"lineNumber":209,"author":{"gitId":"-"},"content":" students: ["},{"lineNumber":210,"author":{"gitId":"-"},"content":" testStudent,"},{"lineNumber":211,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" component.students \u003d [emptyStudent];"},{"lineNumber":215,"author":{"gitId":"-"},"content":" component.loadStudents(testCourse1.courseId);"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" expect(component.students.length).toEqual(1);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" expect(component.students[0]).toEqual(emptyStudent);"},{"lineNumber":219,"author":{"gitId":"-"},"content":" expect(studentSpy).not.toHaveBeenCalled();"},{"lineNumber":220,"author":{"gitId":"-"},"content":" });"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" it(\u0027should search for logs using feedback course timezone when search button is clicked\u0027, () \u003d\u003e {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" const logSpy: SpyInstance \u003d jest.spyOn(logService, \u0027searchFeedbackSessionLog\u0027)"},{"lineNumber":224,"author":{"gitId":"-"},"content":" .mockReturnValue(of({ feedbackSessionLogs: [testLogs1, testLogs2] }));"},{"lineNumber":225,"author":{"gitId":"-"},"content":" const timeSpy: SpyInstance \u003d jest.spyOn(timezoneService, \u0027resolveLocalDateTime\u0027);"},{"lineNumber":226,"author":{"gitId":"-"},"content":" const tzOffset: number \u003d timezoneService.getTzOffsets()[testCourse1.timeZone];"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":" component.isLoading \u003d false;"},{"lineNumber":229,"author":{"gitId":"-"},"content":" component.isSearching \u003d false;"},{"lineNumber":230,"author":{"gitId":"-"},"content":" component.formModel \u003d {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" logsDateFrom: { year: 2020, month: 12, day: 30 },"},{"lineNumber":232,"author":{"gitId":"-"},"content":" logsTimeFrom: { hour: 23, minute: 59 },"},{"lineNumber":233,"author":{"gitId":"-"},"content":" logsDateTo: { year: 2020, month: 12, day: 31 },"},{"lineNumber":234,"author":{"gitId":"-"},"content":" logsTimeTo: { hour: 23, minute: 59 },"},{"lineNumber":235,"author":{"gitId":"dishenggg"},"content":" selectedStudent: { studentEmail: testStudent.email, studentId: \u0027\u0027 },"},{"lineNumber":236,"author":{"gitId":"-"},"content":" logType: \u0027submission\u0027,"},{"lineNumber":237,"author":{"gitId":"dishenggg"},"content":" selectedSession: { feedbackSessionName: \u0027\u0027, sessionId: \u0027\u0027 },"},{"lineNumber":238,"author":{"gitId":"-"},"content":" showActions: true,"},{"lineNumber":239,"author":{"gitId":"-"},"content":" showInactions: false,"},{"lineNumber":240,"author":{"gitId":"-"},"content":" };"},{"lineNumber":241,"author":{"gitId":"-"},"content":" component.course \u003d testCourse1;"},{"lineNumber":242,"author":{"gitId":"-"},"content":" component.students \u003d [testStudent];"},{"lineNumber":243,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" fixture.debugElement.nativeElement.querySelector(\u0027#search-button\u0027).click();"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" expect(timeSpy).toHaveBeenCalledTimes(2);"},{"lineNumber":248,"author":{"gitId":"-"},"content":" expect(timeSpy).toHaveBeenCalledWith("},{"lineNumber":249,"author":{"gitId":"-"},"content":" component.formModel.logsDateFrom,"},{"lineNumber":250,"author":{"gitId":"-"},"content":" component.formModel.logsTimeFrom,"},{"lineNumber":251,"author":{"gitId":"-"},"content":" testCourse1.timeZone,"},{"lineNumber":252,"author":{"gitId":"-"},"content":" true,"},{"lineNumber":253,"author":{"gitId":"-"},"content":" );"},{"lineNumber":254,"author":{"gitId":"-"},"content":" expect(logSpy).toHaveBeenCalled();"},{"lineNumber":255,"author":{"gitId":"-"},"content":" expect(logSpy).toHaveBeenCalledWith({"},{"lineNumber":256,"author":{"gitId":"-"},"content":" courseId: testCourse1.courseId,"},{"lineNumber":257,"author":{"gitId":"-"},"content":" searchFrom: (new Date(\u00272020-12-31T00:00+00:00\u0027).getTime()"},{"lineNumber":258,"author":{"gitId":"-"},"content":" - tzOffset * Milliseconds.IN_ONE_MINUTE).toString(),"},{"lineNumber":259,"author":{"gitId":"-"},"content":" searchUntil: (new Date(\u00272021-01-01T00:00+00:00\u0027).getTime()"},{"lineNumber":260,"author":{"gitId":"-"},"content":" - tzOffset * Milliseconds.IN_ONE_MINUTE).toString(),"},{"lineNumber":261,"author":{"gitId":"-"},"content":" studentEmail: testStudent.email,"},{"lineNumber":262,"author":{"gitId":"-"},"content":" sessionName: \u0027\u0027,"},{"lineNumber":263,"author":{"gitId":"-"},"content":" logType: \u0027submission\u0027,"},{"lineNumber":264,"author":{"gitId":"dishenggg"},"content":" studentId: \u0027\u0027,"},{"lineNumber":265,"author":{"gitId":"dishenggg"},"content":" sessionId: \u0027\u0027,"},{"lineNumber":266,"author":{"gitId":"-"},"content":" });"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" expect(component.searchResults.length).toEqual(2);"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" const timestamp: string \u003d timezoneService.formatToString("},{"lineNumber":271,"author":{"gitId":"-"},"content":" 0, testFeedbackSession.timeZone, LOGS_DATE_TIME_FORMAT);"},{"lineNumber":272,"author":{"gitId":"-"},"content":""},{"lineNumber":273,"author":{"gitId":"-"},"content":" for (let i: number \u003d 0; i \u003c 2; i +\u003d 1) {"},{"lineNumber":274,"author":{"gitId":"-"},"content":" expect(component.searchResults[i].isTabExpanded).toBeTruthy();"},{"lineNumber":275,"author":{"gitId":"-"},"content":" expect(component.searchResults[i].logColumnsData).toEqual(resultColumns);"},{"lineNumber":276,"author":{"gitId":"-"},"content":" // Testing that the LogType is converted correctly."},{"lineNumber":277,"author":{"gitId":"-"},"content":" expect(component.searchResults[i].logRowsData[0][0].value).toEqual(`Submitted responses at ${timestamp}`);"},{"lineNumber":278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":279,"author":{"gitId":"-"},"content":" });"},{"lineNumber":280,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"dishenggg":6,"-":274}},{"path":"src/web/app/pages-instructor/instructor-student-activity-logs/instructor-student-activity-logs.component.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { Component, OnInit } from \u0027@angular/core\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { ActivatedRoute } from \u0027@angular/router\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import { NgbDateParserFormatter } from \u0027@ng-bootstrap/ng-bootstrap\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { finalize } from \u0027rxjs/operators\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import { CourseService } from \u0027../../../services/course.service\u0027;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import { FeedbackSessionsService } from \u0027../../../services/feedback-sessions.service\u0027;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import { LogService } from \u0027../../../services/log.service\u0027;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import { StatusMessageService } from \u0027../../../services/status-message.service\u0027;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import { StudentService } from \u0027../../../services/student.service\u0027;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import { TimezoneService } from \u0027../../../services/timezone.service\u0027;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import { ApiConst } from \u0027../../../types/api-const\u0027;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" Course, FeedbackSession,"},{"lineNumber":14,"author":{"gitId":"-"},"content":" FeedbackSessionLog, FeedbackSessionLogEntry,"},{"lineNumber":15,"author":{"gitId":"-"},"content":" FeedbackSessionLogs, FeedbackSessions,"},{"lineNumber":16,"author":{"gitId":"-"},"content":" Student,"},{"lineNumber":17,"author":{"gitId":"-"},"content":"} from \u0027../../../types/api-output\u0027;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" getDefaultDateFormat,"},{"lineNumber":20,"author":{"gitId":"-"},"content":" getDefaultTimeFormat,"},{"lineNumber":21,"author":{"gitId":"-"},"content":" getLatestTimeFormat,"},{"lineNumber":22,"author":{"gitId":"-"},"content":" DateFormat,"},{"lineNumber":23,"author":{"gitId":"-"},"content":" TimeFormat,"},{"lineNumber":24,"author":{"gitId":"-"},"content":" Milliseconds,"},{"lineNumber":25,"author":{"gitId":"-"},"content":"} from \u0027../../../types/datetime-const\u0027;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import { SortBy } from \u0027../../../types/sort-properties\u0027;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import { DatePickerFormatter } from \u0027../../components/datepicker/datepicker-formatter\u0027;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import { ColumnData, SortableTableCellData } from \u0027../../components/sortable-table/sortable-table.component\u0027;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import { ErrorMessageOutput } from \u0027../../error-message-output\u0027;"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * Model for searching of logs"},{"lineNumber":33,"author":{"gitId":"-"},"content":" */"},{"lineNumber":34,"author":{"gitId":"-"},"content":"interface SearchLogsFormModel {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" logsDateFrom: DateFormat;"},{"lineNumber":36,"author":{"gitId":"-"},"content":" logsDateTo: DateFormat;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" logsTimeFrom: TimeFormat;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" logsTimeTo: TimeFormat;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" logType: string;"},{"lineNumber":40,"author":{"gitId":"dishenggg"},"content":" selectedSession: SelectedSession;"},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" selectedStudent: SelectedStudent;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" showActions: boolean;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" showInactions: boolean;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"interface LogType {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" label: string;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" value: string;"},{"lineNumber":49,"author":{"gitId":"-"},"content":"}"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"dishenggg"},"content":"interface SelectedStudent {"},{"lineNumber":52,"author":{"gitId":"dishenggg"},"content":" studentEmail?: string;"},{"lineNumber":53,"author":{"gitId":"dishenggg"},"content":" studentId?: string;"},{"lineNumber":54,"author":{"gitId":"dishenggg"},"content":"}"},{"lineNumber":55,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":56,"author":{"gitId":"dishenggg"},"content":"interface SelectedSession {"},{"lineNumber":57,"author":{"gitId":"dishenggg"},"content":" feedbackSessionName?: string;"},{"lineNumber":58,"author":{"gitId":"dishenggg"},"content":" sessionId?: string;"},{"lineNumber":59,"author":{"gitId":"dishenggg"},"content":"}"},{"lineNumber":60,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Model for displaying of feedback session logs"},{"lineNumber":63,"author":{"gitId":"-"},"content":" */"},{"lineNumber":64,"author":{"gitId":"-"},"content":"interface FeedbackSessionLogModel {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" feedbackSessionName: string;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" logColumnsData: ColumnData[];"},{"lineNumber":67,"author":{"gitId":"-"},"content":" logRowsData: SortableTableCellData[][];"},{"lineNumber":68,"author":{"gitId":"-"},"content":" isTabExpanded: boolean;"},{"lineNumber":69,"author":{"gitId":"-"},"content":"}"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":72,"author":{"gitId":"-"},"content":" * Component for student activity and inactivity logs"},{"lineNumber":73,"author":{"gitId":"-"},"content":" */"},{"lineNumber":74,"author":{"gitId":"-"},"content":"@Component({"},{"lineNumber":75,"author":{"gitId":"-"},"content":" selector: \u0027tm-instructor-student-activity-logs\u0027,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" templateUrl: \u0027./instructor-student-activity-logs.component.html\u0027,"},{"lineNumber":77,"author":{"gitId":"-"},"content":" providers: [{ provide: NgbDateParserFormatter, useClass: DatePickerFormatter }],"},{"lineNumber":78,"author":{"gitId":"-"},"content":" styleUrls: [\u0027./instructor-student-activity-logs.component.scss\u0027],"},{"lineNumber":79,"author":{"gitId":"-"},"content":"})"},{"lineNumber":80,"author":{"gitId":"-"},"content":"export class InstructorStudentActivityLogsComponent implements OnInit {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" LOGS_DATE_TIME_FORMAT: string \u003d \u0027ddd, DD MMM YYYY hh:mm:ss A\u0027;"},{"lineNumber":82,"author":{"gitId":"-"},"content":" LOGS_RETENTION_PERIOD: number \u003d ApiConst.LOGS_RETENTION_PERIOD;"},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" STUDENT_ACTIVITY_LOGS_UPDATE_INTERVAL: number \u003d ApiConst.STUDENT_ACTIVITY_LOGS_UPDATE_INTERVAL;"},{"lineNumber":84,"author":{"gitId":"-"},"content":" LOG_TYPES: LogType[] \u003d ["},{"lineNumber":85,"author":{"gitId":"-"},"content":" { label: \u0027session access\u0027, value: \u0027access\u0027 },"},{"lineNumber":86,"author":{"gitId":"-"},"content":" { label: \u0027session submission\u0027, value: \u0027submission\u0027 },"},{"lineNumber":87,"author":{"gitId":"-"},"content":" { label: \u0027session access and submission\u0027, value: \u0027access,submission\u0027 },"},{"lineNumber":88,"author":{"gitId":"-"},"content":" { label: \u0027view session results\u0027, value: \u0027view result\u0027 },"},{"lineNumber":89,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" // enum"},{"lineNumber":92,"author":{"gitId":"-"},"content":" SortBy: typeof SortBy \u003d SortBy;"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" formModel: SearchLogsFormModel \u003d {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" logsDateFrom: getDefaultDateFormat(),"},{"lineNumber":96,"author":{"gitId":"-"},"content":" logsTimeFrom: getDefaultTimeFormat(),"},{"lineNumber":97,"author":{"gitId":"-"},"content":" logsDateTo: getDefaultDateFormat(),"},{"lineNumber":98,"author":{"gitId":"-"},"content":" logsTimeTo: getDefaultTimeFormat(),"},{"lineNumber":99,"author":{"gitId":"-"},"content":" logType: \u0027\u0027,"},{"lineNumber":100,"author":{"gitId":"dishenggg"},"content":" selectedStudent: { studentEmail: \u0027\u0027, studentId: \u0027\u0027 },"},{"lineNumber":101,"author":{"gitId":"dishenggg"},"content":" selectedSession: { feedbackSessionName: \u0027\u0027, sessionId: \u0027\u0027 },"},{"lineNumber":102,"author":{"gitId":"-"},"content":" showActions: false,"},{"lineNumber":103,"author":{"gitId":"-"},"content":" showInactions: false,"},{"lineNumber":104,"author":{"gitId":"-"},"content":" };"},{"lineNumber":105,"author":{"gitId":"-"},"content":" course: Course \u003d {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" courseId: \u0027\u0027,"},{"lineNumber":107,"author":{"gitId":"-"},"content":" courseName: \u0027\u0027,"},{"lineNumber":108,"author":{"gitId":"-"},"content":" institute: \u0027\u0027,"},{"lineNumber":109,"author":{"gitId":"-"},"content":" timeZone: \u0027\u0027,"},{"lineNumber":110,"author":{"gitId":"-"},"content":" creationTimestamp: 0,"},{"lineNumber":111,"author":{"gitId":"-"},"content":" deletionTimestamp: 0,"},{"lineNumber":112,"author":{"gitId":"-"},"content":" };"},{"lineNumber":113,"author":{"gitId":"-"},"content":" dateToday: DateFormat \u003d getDefaultDateFormat();"},{"lineNumber":114,"author":{"gitId":"-"},"content":" earliestSearchDate: DateFormat \u003d getDefaultDateFormat();"},{"lineNumber":115,"author":{"gitId":"dishenggg"},"content":" studentLogsMap: Map\u003cstring, FeedbackSessionLogEntry[]\u003e \u003d new Map();"},{"lineNumber":116,"author":{"gitId":"-"},"content":" students: Student[] \u003d [];"},{"lineNumber":117,"author":{"gitId":"-"},"content":" feedbackSessions: Map\u003cstring, FeedbackSession\u003e \u003d new Map();"},{"lineNumber":118,"author":{"gitId":"-"},"content":" searchResults: FeedbackSessionLogModel[] \u003d [];"},{"lineNumber":119,"author":{"gitId":"-"},"content":" isLoading: boolean \u003d true;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" isSearching: boolean \u003d false;"},{"lineNumber":121,"author":{"gitId":"dishenggg"},"content":" lastUpdated: string \u003d \u0027\u0027;"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" constructor(private route: ActivatedRoute,"},{"lineNumber":124,"author":{"gitId":"-"},"content":" private courseService: CourseService,"},{"lineNumber":125,"author":{"gitId":"-"},"content":" private feedbackSessionsService: FeedbackSessionsService,"},{"lineNumber":126,"author":{"gitId":"-"},"content":" private studentService: StudentService,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" private logsService: LogService,"},{"lineNumber":128,"author":{"gitId":"-"},"content":" private timezoneService: TimezoneService,"},{"lineNumber":129,"author":{"gitId":"-"},"content":" private statusMessageService: StatusMessageService) { }"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" ngOnInit(): void {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" this.route.queryParams.subscribe((queryParams: any) \u003d\u003e {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" const courseId \u003d queryParams.courseid;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" this.loadControlPanel();"},{"lineNumber":135,"author":{"gitId":"-"},"content":" this.loadCourse(courseId);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" this.loadFeedbackSessions(courseId);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" this.loadStudents(courseId);"},{"lineNumber":138,"author":{"gitId":"-"},"content":" });"},{"lineNumber":139,"author":{"gitId":"-"},"content":" }"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":142,"author":{"gitId":"-"},"content":" * Loads the control panel based on the given course ID."},{"lineNumber":143,"author":{"gitId":"-"},"content":" */"},{"lineNumber":144,"author":{"gitId":"-"},"content":" loadControlPanel(): void {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" const today: Date \u003d new Date();"},{"lineNumber":146,"author":{"gitId":"-"},"content":" this.dateToday.year \u003d today.getFullYear();"},{"lineNumber":147,"author":{"gitId":"-"},"content":" this.dateToday.month \u003d today.getMonth() + 1;"},{"lineNumber":148,"author":{"gitId":"-"},"content":" this.dateToday.day \u003d today.getDate();"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" const earliestSearchDate: Date \u003d new Date(Date.now()"},{"lineNumber":151,"author":{"gitId":"-"},"content":" - this.LOGS_RETENTION_PERIOD * Milliseconds.IN_ONE_DAY);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" this.earliestSearchDate.year \u003d earliestSearchDate.getFullYear();"},{"lineNumber":153,"author":{"gitId":"-"},"content":" this.earliestSearchDate.month \u003d earliestSearchDate.getMonth() + 1;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" this.earliestSearchDate.day \u003d earliestSearchDate.getDate();"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" const fromDate: Date \u003d new Date();"},{"lineNumber":157,"author":{"gitId":"-"},"content":" fromDate.setDate(today.getDate() - 1);"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" this.formModel.logsDateFrom \u003d {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" year: fromDate.getFullYear(),"},{"lineNumber":161,"author":{"gitId":"-"},"content":" month: fromDate.getMonth() + 1,"},{"lineNumber":162,"author":{"gitId":"-"},"content":" day: fromDate.getDate(),"},{"lineNumber":163,"author":{"gitId":"-"},"content":" };"},{"lineNumber":164,"author":{"gitId":"-"},"content":" this.formModel.logsDateTo \u003d { ...this.dateToday };"},{"lineNumber":165,"author":{"gitId":"-"},"content":" this.formModel.logsTimeFrom \u003d getLatestTimeFormat();"},{"lineNumber":166,"author":{"gitId":"-"},"content":" this.formModel.logsTimeTo \u003d getLatestTimeFormat();"},{"lineNumber":167,"author":{"gitId":"-"},"content":" }"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":170,"author":{"gitId":"-"},"content":" * Search for logs of student activity"},{"lineNumber":171,"author":{"gitId":"-"},"content":" */"},{"lineNumber":172,"author":{"gitId":"-"},"content":" search(): void {"},{"lineNumber":173,"author":{"gitId":"dishenggg"},"content":" if (this.formModel.logType \u003d\u003d\u003d \u0027\u0027) {"},{"lineNumber":174,"author":{"gitId":"dishenggg"},"content":" this.statusMessageService.showErrorToast(\u0027Please select an activity type\u0027);"},{"lineNumber":175,"author":{"gitId":"dishenggg"},"content":" return;"},{"lineNumber":176,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":177,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":178,"author":{"gitId":"dishenggg"},"content":" this.studentLogsMap \u003d new Map();"},{"lineNumber":179,"author":{"gitId":"-"},"content":" this.searchResults \u003d [];"},{"lineNumber":180,"author":{"gitId":"-"},"content":" this.isSearching \u003d true;"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" const timeZone: string \u003d this.course.timeZone;"},{"lineNumber":183,"author":{"gitId":"-"},"content":" const searchFrom: number \u003d this.timezoneService.resolveLocalDateTime("},{"lineNumber":184,"author":{"gitId":"-"},"content":" this.formModel.logsDateFrom, this.formModel.logsTimeFrom, timeZone, true);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" const searchUntil: number \u003d this.timezoneService.resolveLocalDateTime("},{"lineNumber":186,"author":{"gitId":"-"},"content":" this.formModel.logsDateTo, this.formModel.logsTimeTo, timeZone, true);"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" this.logsService.searchFeedbackSessionLog({"},{"lineNumber":189,"author":{"gitId":"-"},"content":" courseId: this.course.courseId,"},{"lineNumber":190,"author":{"gitId":"-"},"content":" searchFrom: searchFrom.toString(),"},{"lineNumber":191,"author":{"gitId":"-"},"content":" searchUntil: searchUntil.toString(),"},{"lineNumber":192,"author":{"gitId":"dishenggg"},"content":" studentEmail: this.formModel.selectedStudent.studentEmail,"},{"lineNumber":193,"author":{"gitId":"-"},"content":" logType: this.formModel.logType,"},{"lineNumber":194,"author":{"gitId":"dishenggg"},"content":" sessionName: this.formModel.selectedSession.feedbackSessionName,"},{"lineNumber":195,"author":{"gitId":"dishenggg"},"content":" studentId: this.formModel.selectedStudent.studentId,"},{"lineNumber":196,"author":{"gitId":"dishenggg"},"content":" sessionId: this.formModel.selectedSession.sessionId,"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }).pipe("},{"lineNumber":198,"author":{"gitId":"-"},"content":" finalize(() \u003d\u003e {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" this.isSearching \u003d false;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":201,"author":{"gitId":"-"},"content":" ).subscribe({"},{"lineNumber":202,"author":{"gitId":"-"},"content":" next: (logs: FeedbackSessionLogs) \u003d\u003e {"},{"lineNumber":203,"author":{"gitId":"dishenggg"},"content":" if (this.formModel.selectedSession.feedbackSessionName \u003d\u003d\u003d \u0027\u0027) {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" logs.feedbackSessionLogs.forEach((log: FeedbackSessionLog) \u003d\u003e {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" log.feedbackSessionLogEntries.forEach((entry: FeedbackSessionLogEntry) \u003d\u003e {"},{"lineNumber":206,"author":{"gitId":"dishenggg"},"content":" const arr: FeedbackSessionLogEntry[] | undefined \u003d"},{"lineNumber":207,"author":{"gitId":"dishenggg"},"content":" this.studentLogsMap.get(this.getStudentKey(log, entry.studentData.email));"},{"lineNumber":208,"author":{"gitId":"dishenggg"},"content":" if (arr) {"},{"lineNumber":209,"author":{"gitId":"dishenggg"},"content":" arr.push(entry);"},{"lineNumber":210,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":211,"author":{"gitId":"dishenggg"},"content":" this.studentLogsMap.set(this.getStudentKey(log, entry.studentData.email), [entry]);"},{"lineNumber":212,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":" });"},{"lineNumber":214,"author":{"gitId":"-"},"content":" this.searchResults.push(this.toFeedbackSessionLogModel(log));"},{"lineNumber":215,"author":{"gitId":"-"},"content":" });"},{"lineNumber":216,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" const targetFeedbackSessionLog \u003d logs.feedbackSessionLogs.find((log: FeedbackSessionLog) \u003d\u003e"},{"lineNumber":218,"author":{"gitId":"dishenggg"},"content":" log.feedbackSessionData.feedbackSessionName \u003d\u003d\u003d this.formModel.selectedSession.feedbackSessionName);"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" if (targetFeedbackSessionLog) {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" targetFeedbackSessionLog.feedbackSessionLogEntries.forEach((entry: FeedbackSessionLogEntry) \u003d\u003e {"},{"lineNumber":222,"author":{"gitId":"dishenggg"},"content":" const arr: FeedbackSessionLogEntry[] | undefined \u003d"},{"lineNumber":223,"author":{"gitId":"dishenggg"},"content":" this.studentLogsMap.get(this.getStudentKey(targetFeedbackSessionLog, entry.studentData.email));"},{"lineNumber":224,"author":{"gitId":"dishenggg"},"content":" if (arr) {"},{"lineNumber":225,"author":{"gitId":"dishenggg"},"content":" arr.push(entry);"},{"lineNumber":226,"author":{"gitId":"dishenggg"},"content":" } else {"},{"lineNumber":227,"author":{"gitId":"dishenggg"},"content":" this.studentLogsMap.set("},{"lineNumber":228,"author":{"gitId":"dishenggg"},"content":" this.getStudentKey(targetFeedbackSessionLog, entry.studentData.email), [entry]);"},{"lineNumber":229,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":230,"author":{"gitId":"-"},"content":" });"},{"lineNumber":231,"author":{"gitId":"-"},"content":" this.searchResults.push(this.toFeedbackSessionLogModel(targetFeedbackSessionLog));"},{"lineNumber":232,"author":{"gitId":"-"},"content":" }"},{"lineNumber":233,"author":{"gitId":"-"},"content":" }"},{"lineNumber":234,"author":{"gitId":"-"},"content":" },"},{"lineNumber":235,"author":{"gitId":"-"},"content":" error: (e: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" this.statusMessageService.showErrorToast(e.error.message);"},{"lineNumber":237,"author":{"gitId":"-"},"content":" },"},{"lineNumber":238,"author":{"gitId":"-"},"content":" });"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":242,"author":{"gitId":"-"},"content":" * Load the course based on the course id"},{"lineNumber":243,"author":{"gitId":"-"},"content":" */"},{"lineNumber":244,"author":{"gitId":"-"},"content":" private loadCourse(courseId: string): void {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" this.courseService"},{"lineNumber":246,"author":{"gitId":"-"},"content":" .getCourseAsInstructor(courseId)"},{"lineNumber":247,"author":{"gitId":"-"},"content":" .pipe(finalize(() \u003d\u003e {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" this.isLoading \u003d false;"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }))"},{"lineNumber":250,"author":{"gitId":"-"},"content":" .subscribe({"},{"lineNumber":251,"author":{"gitId":"-"},"content":" next: (course: Course) \u003d\u003e {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" this.course \u003d course;"},{"lineNumber":253,"author":{"gitId":"dishenggg"},"content":" this.setLastUpdated();"},{"lineNumber":254,"author":{"gitId":"-"},"content":" },"},{"lineNumber":255,"author":{"gitId":"-"},"content":" error: (e: ErrorMessageOutput) \u003d\u003e this.statusMessageService.showErrorToast(e.error.message),"},{"lineNumber":256,"author":{"gitId":"-"},"content":" });"},{"lineNumber":257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" private loadFeedbackSessions(courseId: string): void {"},{"lineNumber":260,"author":{"gitId":"-"},"content":" this.feedbackSessionsService"},{"lineNumber":261,"author":{"gitId":"-"},"content":" .getFeedbackSessionsForInstructor(courseId)"},{"lineNumber":262,"author":{"gitId":"-"},"content":" .subscribe({"},{"lineNumber":263,"author":{"gitId":"-"},"content":" next: (feedbackSessions: FeedbackSessions) \u003d\u003e {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" feedbackSessions.feedbackSessions.forEach((fs: FeedbackSession) \u003d\u003e {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" this.feedbackSessions.set(fs.feedbackSessionName, fs);"},{"lineNumber":266,"author":{"gitId":"-"},"content":" });"},{"lineNumber":267,"author":{"gitId":"-"},"content":" },"},{"lineNumber":268,"author":{"gitId":"-"},"content":" error: (e: ErrorMessageOutput) \u003d\u003e this.statusMessageService.showErrorToast(e.error.message),"},{"lineNumber":269,"author":{"gitId":"-"},"content":" });"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":273,"author":{"gitId":"-"},"content":" * Load all students for the selected course"},{"lineNumber":274,"author":{"gitId":"-"},"content":" */"},{"lineNumber":275,"author":{"gitId":"-"},"content":" loadStudents(courseId: string): void {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" if (this.students.length \u003d\u003d\u003d 0) {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" this.isLoading \u003d true;"},{"lineNumber":278,"author":{"gitId":"-"},"content":" this.studentService.getStudentsFromCourse({ courseId })"},{"lineNumber":279,"author":{"gitId":"-"},"content":" .pipe(finalize(() \u003d\u003e { this.isLoading \u003d false; }))"},{"lineNumber":280,"author":{"gitId":"-"},"content":" .subscribe(({ students }: { students: Student[] }) \u003d\u003e {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" const emptyStudent: Student \u003d {"},{"lineNumber":282,"author":{"gitId":"-"},"content":" courseId: \u0027\u0027, email: \u0027\u0027, name: \u0027\u0027, sectionName: \u0027\u0027, teamName: \u0027\u0027,"},{"lineNumber":283,"author":{"gitId":"-"},"content":" };"},{"lineNumber":284,"author":{"gitId":"-"},"content":" students.sort((a: Student, b: Student): number \u003d\u003e a.name.localeCompare(b.name));"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" // Student with no name is selectable to search for all students since the field is optional"},{"lineNumber":287,"author":{"gitId":"-"},"content":" this.students \u003d [emptyStudent, ...students];"},{"lineNumber":288,"author":{"gitId":"-"},"content":" });"},{"lineNumber":289,"author":{"gitId":"-"},"content":" }"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" private toFeedbackSessionLogModel(log: FeedbackSessionLog): FeedbackSessionLogModel {"},{"lineNumber":293,"author":{"gitId":"-"},"content":" const fsName \u003d log.feedbackSessionData.feedbackSessionName;"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" feedbackSessionName: fsName,"},{"lineNumber":297,"author":{"gitId":"-"},"content":" logColumnsData: ["},{"lineNumber":298,"author":{"gitId":"-"},"content":" { header: \u0027Status\u0027, sortBy: SortBy.RESULT_VIEW_STATUS },"},{"lineNumber":299,"author":{"gitId":"-"},"content":" { header: \u0027Name\u0027, sortBy: SortBy.GIVER_NAME },"},{"lineNumber":300,"author":{"gitId":"-"},"content":" { header: \u0027Email\u0027, sortBy: SortBy.RESPONDENT_EMAIL },"},{"lineNumber":301,"author":{"gitId":"-"},"content":" { header: \u0027Section\u0027, sortBy: SortBy.SECTION_NAME },"},{"lineNumber":302,"author":{"gitId":"-"},"content":" { header: \u0027Team\u0027, sortBy: SortBy.TEAM_NAME },"},{"lineNumber":303,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":304,"author":{"gitId":"-"},"content":" logRowsData: this.students"},{"lineNumber":305,"author":{"gitId":"-"},"content":" .filter((student: Student) \u003d\u003e {"},{"lineNumber":306,"author":{"gitId":"-"},"content":" if (student.email \u003d\u003d\u003d \u0027\u0027) {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"dishenggg"},"content":" if ("},{"lineNumber":311,"author":{"gitId":"dishenggg"},"content":" this.formModel.selectedStudent.studentEmail !\u003d\u003d \u0027\u0027"},{"lineNumber":312,"author":{"gitId":"dishenggg"},"content":" \u0026\u0026 student.email !\u003d\u003d this.formModel.selectedStudent.studentEmail"},{"lineNumber":313,"author":{"gitId":"dishenggg"},"content":" ) {"},{"lineNumber":314,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":315,"author":{"gitId":"-"},"content":" }"},{"lineNumber":316,"author":{"gitId":"-"},"content":""},{"lineNumber":317,"author":{"gitId":"-"},"content":" if (this.formModel.showInactions \u0026\u0026 this.formModel.showActions) {"},{"lineNumber":318,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":319,"author":{"gitId":"-"},"content":" }"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" const studentKey \u003d this.getStudentKey(log, student.email);"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"dishenggg"},"content":" if (this.studentLogsMap.has(studentKey)) {"},{"lineNumber":324,"author":{"gitId":"-"},"content":" if (this.formModel.showInactions) {"},{"lineNumber":325,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":326,"author":{"gitId":"-"},"content":" }"},{"lineNumber":327,"author":{"gitId":"-"},"content":" } else if (this.formModel.showActions) {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":332,"author":{"gitId":"-"},"content":" })"},{"lineNumber":333,"author":{"gitId":"dishenggg"},"content":" .flatMap((student: Student) \u003d\u003e {"},{"lineNumber":334,"author":{"gitId":"-"},"content":" let status: string;"},{"lineNumber":335,"author":{"gitId":"-"},"content":" let dataStyle: string \u003d \u0027font-family:monospace; white-space:pre;\u0027;"},{"lineNumber":336,"author":{"gitId":"-"},"content":" const studentKey \u003d this.getStudentKey(log, student.email);"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"dishenggg"},"content":" const entries: FeedbackSessionLogEntry[] | undefined \u003d this.studentLogsMap.get(studentKey);"},{"lineNumber":339,"author":{"gitId":"dishenggg"},"content":" const rows: any[] \u003d [];"},{"lineNumber":340,"author":{"gitId":"dishenggg"},"content":" if (entries) {"},{"lineNumber":341,"author":{"gitId":"dishenggg"},"content":" entries.forEach((entry: FeedbackSessionLogEntry) \u003d\u003e {"},{"lineNumber":342,"author":{"gitId":"-"},"content":" const timestamp: string \u003d this.timezoneService.formatToString("},{"lineNumber":343,"author":{"gitId":"-"},"content":" entry.timestamp, log.feedbackSessionData.timeZone, this.LOGS_DATE_TIME_FORMAT);"},{"lineNumber":344,"author":{"gitId":"dishenggg"},"content":" status \u003d `${this.logTypeToActivityDisplay(entry.feedbackSessionLogType)} at ${timestamp}`;"},{"lineNumber":345,"author":{"gitId":"dishenggg"},"content":" status \u003d status.charAt(0).toUpperCase() + status.slice(1);"},{"lineNumber":346,"author":{"gitId":"dishenggg"},"content":" rows.push([{"},{"lineNumber":347,"author":{"gitId":"dishenggg"},"content":" value: status,"},{"lineNumber":348,"author":{"gitId":"dishenggg"},"content":" style: dataStyle,"},{"lineNumber":349,"author":{"gitId":"dishenggg"},"content":" },"},{"lineNumber":350,"author":{"gitId":"dishenggg"},"content":" { value: student.name },"},{"lineNumber":351,"author":{"gitId":"dishenggg"},"content":" { value: student.email },"},{"lineNumber":352,"author":{"gitId":"dishenggg"},"content":" { value: student.sectionName },"},{"lineNumber":353,"author":{"gitId":"dishenggg"},"content":" { value: student.teamName }]);"},{"lineNumber":354,"author":{"gitId":"dishenggg"},"content":" });"},{"lineNumber":355,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":356,"author":{"gitId":"dishenggg"},"content":" status \u003d `Not ${this.logTypeToActivityDisplay(this.formModel.logType)} within the query range`;"},{"lineNumber":357,"author":{"gitId":"-"},"content":" dataStyle +\u003d \u0027color:red;\u0027;"},{"lineNumber":358,"author":{"gitId":"dishenggg"},"content":" rows.push(["},{"lineNumber":359,"author":{"gitId":"-"},"content":" {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" value: status,"},{"lineNumber":361,"author":{"gitId":"-"},"content":" style: dataStyle,"},{"lineNumber":362,"author":{"gitId":"-"},"content":" },"},{"lineNumber":363,"author":{"gitId":"-"},"content":" { value: student.name },"},{"lineNumber":364,"author":{"gitId":"-"},"content":" { value: student.email },"},{"lineNumber":365,"author":{"gitId":"-"},"content":" { value: student.sectionName },"},{"lineNumber":366,"author":{"gitId":"-"},"content":" { value: student.teamName },"},{"lineNumber":367,"author":{"gitId":"dishenggg"},"content":" ]);"},{"lineNumber":368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":369,"author":{"gitId":"dishenggg"},"content":" return rows;"},{"lineNumber":370,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":371,"author":{"gitId":"-"},"content":" isTabExpanded: (log.feedbackSessionLogEntries.length !\u003d\u003d 0 \u0026\u0026 this.formModel.showActions)"},{"lineNumber":372,"author":{"gitId":"-"},"content":" || (log.feedbackSessionLogEntries.length \u003d\u003d\u003d 0 \u0026\u0026 this.formModel.showInactions),"},{"lineNumber":373,"author":{"gitId":"-"},"content":" };"},{"lineNumber":374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":" private logTypeToActivityDisplay(logType: string): string {"},{"lineNumber":377,"author":{"gitId":"-"},"content":" switch (logType.toUpperCase()) {"},{"lineNumber":378,"author":{"gitId":"-"},"content":" case \u0027ACCESS\u0027:"},{"lineNumber":379,"author":{"gitId":"dishenggg"},"content":" return \u0027viewed the submission page\u0027;"},{"lineNumber":380,"author":{"gitId":"-"},"content":" case \u0027SUBMISSION\u0027:"},{"lineNumber":381,"author":{"gitId":"dishenggg"},"content":" return \u0027submitted responses\u0027;"},{"lineNumber":382,"author":{"gitId":"dishenggg"},"content":" case \u0027VIEW_RESULT\u0027:"},{"lineNumber":383,"author":{"gitId":"-"},"content":" case \u0027VIEW RESULT\u0027:"},{"lineNumber":384,"author":{"gitId":"dishenggg"},"content":" return \u0027viewed the session results\u0027;"},{"lineNumber":385,"author":{"gitId":"-"},"content":" case \u0027ACCESS,SUBMISSION\u0027:"},{"lineNumber":386,"author":{"gitId":"dishenggg"},"content":" return \u0027viewed the submission page or submitted responses\u0027;"},{"lineNumber":387,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":388,"author":{"gitId":"dishenggg"},"content":" return \u0027unknown activity\u0027;"},{"lineNumber":389,"author":{"gitId":"-"},"content":" }"},{"lineNumber":390,"author":{"gitId":"-"},"content":" }"},{"lineNumber":391,"author":{"gitId":"-"},"content":""},{"lineNumber":392,"author":{"gitId":"-"},"content":" private getStudentKey(log: FeedbackSessionLog, studentEmail: string): string {"},{"lineNumber":393,"author":{"gitId":"-"},"content":" return `${log.feedbackSessionData.feedbackSessionName}-${studentEmail}`;"},{"lineNumber":394,"author":{"gitId":"-"},"content":" }"},{"lineNumber":395,"author":{"gitId":"-"},"content":""},{"lineNumber":396,"author":{"gitId":"-"},"content":" triggerDefaultLogActivityTypeChange(logType: string): void {"},{"lineNumber":397,"author":{"gitId":"-"},"content":" if (logType \u003d\u003d\u003d \u0027view result\u0027) {"},{"lineNumber":398,"author":{"gitId":"-"},"content":" this.formModel.showInactions \u003d true;"},{"lineNumber":399,"author":{"gitId":"-"},"content":" this.formModel.showActions \u003d false;"},{"lineNumber":400,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":401,"author":{"gitId":"-"},"content":" this.formModel.showInactions \u003d false;"},{"lineNumber":402,"author":{"gitId":"-"},"content":" this.formModel.showActions \u003d true;"},{"lineNumber":403,"author":{"gitId":"-"},"content":" }"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":407,"author":{"gitId":"-"},"content":" * Triggers the change of the model for the form."},{"lineNumber":408,"author":{"gitId":"-"},"content":" */"},{"lineNumber":409,"author":{"gitId":"-"},"content":" triggerModelChange(field: string, data: any): void {"},{"lineNumber":410,"author":{"gitId":"-"},"content":" this.formModel \u003d {"},{"lineNumber":411,"author":{"gitId":"-"},"content":" ...this.formModel,"},{"lineNumber":412,"author":{"gitId":"-"},"content":" [field]: data,"},{"lineNumber":413,"author":{"gitId":"-"},"content":" };"},{"lineNumber":414,"author":{"gitId":"-"},"content":" }"},{"lineNumber":415,"author":{"gitId":"-"},"content":""},{"lineNumber":416,"author":{"gitId":"dishenggg"},"content":" private setLastUpdated(): void {"},{"lineNumber":417,"author":{"gitId":"dishenggg"},"content":" // 15 mins buffer to allow cron job to finish adding all logs to the database"},{"lineNumber":418,"author":{"gitId":"dishenggg"},"content":" const CRON_JOB_BUFFER \u003d 15;"},{"lineNumber":419,"author":{"gitId":"dishenggg"},"content":" const now: Date \u003d new Date();"},{"lineNumber":420,"author":{"gitId":"dishenggg"},"content":" const minsPastQuarter \u003d now.getMinutes() % 15;"},{"lineNumber":421,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":422,"author":{"gitId":"dishenggg"},"content":" const lastUpdated \u003d now.getTime() - ((CRON_JOB_BUFFER + minsPastQuarter) * Milliseconds.IN_ONE_MINUTE);"},{"lineNumber":423,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":424,"author":{"gitId":"dishenggg"},"content":" this.lastUpdated \u003d this.timezoneService.formatToString(lastUpdated, this.course.timeZone, \u0027DD MMM YYYY, hh:mm A\u0027);"},{"lineNumber":425,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":426,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":86,"-":340}},{"path":"src/web/app/pages-instructor/instructor-student-records-page/instructor-student-records-page.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ch1 id\u003d\"records-header\"\u003e{{studentName}}\u0027s Records\u003csmall class\u003d\"text-muted text-break\"\u003e - {{courseId}}\u003c/small\u003e\u003c/h1\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003ch2\u003eRecords in feedback sessions\u003c/h2\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003ctm-loading-retry [shouldShowRetry]\u003d\"hasStudentResultsLoadingFailed\" [message]\u003d\"\u0027Failed to load student results\u0027\" (retryEvent)\u003d\"loadStudentResults()\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003cdiv *tmIsLoading\u003d\"isStudentResultsLoading\"\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cdiv *ngFor\u003d\"let session of sessionTabs\" class\u003d\"card card-default mb-4\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-header cursor-pointer\" (click)\u003d\"session.isCollapsed \u003d !session.isCollapsed\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cstrong class\u003d\"text-break\"\u003eFeedback Session: {{ session.feedbackSession.feedbackSessionName }}\u003c/strong\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-header-btn-toolbar\"\u003e"},{"lineNumber":9,"author":{"gitId":"Tim-Siu"},"content":" \u003ctm-panel-chevron [isExpanded]\u003d\"!session.isCollapsed\" chevronColor\u003d\"black\"\u003e\u003c/tm-panel-chevron\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\" *ngIf\u003d\"!session.isCollapsed\" @collapseAnim\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003ctm-grq-rgq-view-responses *ngIf\u003d\"session.responsesReceivedByStudent.length \u003e 0\""},{"lineNumber":14,"author":{"gitId":"-"},"content":" [session]\u003d\"session.feedbackSession\""},{"lineNumber":15,"author":{"gitId":"-"},"content":" [responses]\u003d\"session.responsesReceivedByStudent\" [groupByTeam]\u003d\"false\" [section]\u003d\"\" [sectionType]\u003d\"\""},{"lineNumber":16,"author":{"gitId":"-"},"content":" [isGrq]\u003d\"false\" [instructorCommentTableModel]\u003d\"instructorCommentTableModel\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" (saveNewCommentEvent)\u003d\"saveNewComment($event, session.feedbackSession.timeZone)\""},{"lineNumber":18,"author":{"gitId":"-"},"content":" (deleteCommentEvent)\u003d\"deleteComment($event)\""},{"lineNumber":19,"author":{"gitId":"-"},"content":" (updateCommentEvent)\u003d\"updateComment($event, session.feedbackSession.timeZone)\""},{"lineNumber":20,"author":{"gitId":"-"},"content":" [isExpandAll]\u003d\"true\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/tm-grq-rgq-view-responses\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"session.responsesReceivedByStudent.length \u003d\u003d\u003d 0\" class\u003d\"mb-3\"\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" No feedback responses for {{studentName}} ({{studentTeam}}) found."},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003ctm-grq-rgq-view-responses *ngIf\u003d\"session.responsesGivenByStudent.length \u003e 0\""},{"lineNumber":26,"author":{"gitId":"-"},"content":" [session]\u003d\"session.feedbackSession\""},{"lineNumber":27,"author":{"gitId":"-"},"content":" [responses]\u003d\"session.responsesGivenByStudent\" [groupByTeam]\u003d\"false\" [section]\u003d\"\" [sectionType]\u003d\"\""},{"lineNumber":28,"author":{"gitId":"-"},"content":" [isGrq]\u003d\"true\" [instructorCommentTableModel]\u003d\"instructorCommentTableModel\""},{"lineNumber":29,"author":{"gitId":"-"},"content":" (saveNewCommentEvent)\u003d\"saveNewComment($event, session.feedbackSession.timeZone)\""},{"lineNumber":30,"author":{"gitId":"-"},"content":" (deleteCommentEvent)\u003d\"deleteComment($event)\""},{"lineNumber":31,"author":{"gitId":"-"},"content":" (updateCommentEvent)\u003d\"updateComment($event, session.feedbackSession.timeZone)\""},{"lineNumber":32,"author":{"gitId":"-"},"content":" [isExpandAll]\u003d\"true\""},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003e\u003c/tm-grq-rgq-view-responses\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003cdiv *ngIf\u003d\"session.responsesGivenByStudent.length \u003d\u003d\u003d 0\"\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" No feedback responses from {{studentName}} ({{studentTeam}}) found."},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003c/tm-loading-retry\u003e"}],"authorContributionMap":{"-":39,"Tim-Siu":1}},{"path":"src/web/app/pages-session/session-result-page/session-result-page.component.spec.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { HttpClientTestingModule } from \u0027@angular/common/http/testing\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { ComponentFixture, TestBed, waitForAsync } from \u0027@angular/core/testing\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import { ActivatedRoute } from \u0027@angular/router\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { RouterTestingModule } from \u0027@angular/router/testing\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import { of, throwError } from \u0027rxjs\u0027;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import SpyInstance \u003d jest.SpyInstance;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import { FeedbackQuestionModel, SessionResultPageComponent } from \u0027./session-result-page.component\u0027;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import { environment } from \u0027../../../environments/environment\u0027;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import { AuthService } from \u0027../../../services/auth.service\u0027;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import { FeedbackQuestionsService } from \u0027../../../services/feedback-questions.service\u0027;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import { FeedbackSessionsService } from \u0027../../../services/feedback-sessions.service\u0027;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import { LogService } from \u0027../../../services/log.service\u0027;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import { NavigationService } from \u0027../../../services/navigation.service\u0027;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import { StudentService } from \u0027../../../services/student.service\u0027;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" AuthInfo,"},{"lineNumber":17,"author":{"gitId":"-"},"content":" FeedbackMcqQuestionDetails,"},{"lineNumber":18,"author":{"gitId":"-"},"content":" FeedbackParticipantType,"},{"lineNumber":19,"author":{"gitId":"-"},"content":" FeedbackQuestion,"},{"lineNumber":20,"author":{"gitId":"-"},"content":" FeedbackQuestions,"},{"lineNumber":21,"author":{"gitId":"-"},"content":" FeedbackQuestionType,"},{"lineNumber":22,"author":{"gitId":"-"},"content":" FeedbackSession,"},{"lineNumber":23,"author":{"gitId":"-"},"content":" FeedbackSessionPublishStatus,"},{"lineNumber":24,"author":{"gitId":"-"},"content":" FeedbackSessionSubmissionStatus,"},{"lineNumber":25,"author":{"gitId":"-"},"content":" NumberOfEntitiesToGiveFeedbackToSetting,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" RegkeyValidity,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" ResponseVisibleSetting,"},{"lineNumber":28,"author":{"gitId":"-"},"content":" SessionVisibleSetting,"},{"lineNumber":29,"author":{"gitId":"-"},"content":"} from \u0027../../../types/api-output\u0027;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import { Intent } from \u0027../../../types/api-request\u0027;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import { LoadingRetryModule } from \u0027../../components/loading-retry/loading-retry.module\u0027;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import { LoadingSpinnerModule } from \u0027../../components/loading-spinner/loading-spinner.module\u0027;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import { QuestionResponsePanelModule } from \u0027../../components/question-response-panel/question-response-panel.module\u0027;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import { SingleStatisticsModule } from \u0027../../components/question-responses/single-statistics/single-statistics.module\u0027;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" StudentViewResponsesModule,"},{"lineNumber":37,"author":{"gitId":"-"},"content":"} from \u0027../../components/question-responses/student-view-responses/student-view-responses.module\u0027;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import { QuestionTextWithInfoModule } from \u0027../../components/question-text-with-info/question-text-with-info.module\u0027;"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"describe(\u0027SessionResultPageComponent\u0027, () \u003d\u003e {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" const testFeedbackSession: FeedbackSession \u003d {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" feedbackSessionName: \u0027First Session\u0027,"},{"lineNumber":43,"author":{"gitId":"-"},"content":" courseId: \u0027CS1231\u0027,"},{"lineNumber":44,"author":{"gitId":"-"},"content":" timeZone: \u0027Asia/Singapore\u0027,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" instructions: \u0027\u0027,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" submissionStartTimestamp: 0,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" submissionEndTimestamp: 1549095330000,"},{"lineNumber":48,"author":{"gitId":"-"},"content":" gracePeriod: 0,"},{"lineNumber":49,"author":{"gitId":"-"},"content":" sessionVisibleSetting: SessionVisibleSetting.AT_OPEN,"},{"lineNumber":50,"author":{"gitId":"-"},"content":" responseVisibleSetting: ResponseVisibleSetting.AT_VISIBLE,"},{"lineNumber":51,"author":{"gitId":"-"},"content":" submissionStatus: FeedbackSessionSubmissionStatus.OPEN,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" publishStatus: FeedbackSessionPublishStatus.PUBLISHED,"},{"lineNumber":53,"author":{"gitId":"-"},"content":" isClosingEmailEnabled: true,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" isPublishedEmailEnabled: true,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" createdAtTimestamp: 0,"},{"lineNumber":56,"author":{"gitId":"-"},"content":" studentDeadlines: {},"},{"lineNumber":57,"author":{"gitId":"-"},"content":" instructorDeadlines: {},"},{"lineNumber":58,"author":{"gitId":"-"},"content":" };"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" const testInfo: AuthInfo \u003d {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" masquerade: false,"},{"lineNumber":62,"author":{"gitId":"-"},"content":" user: {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" id: \u0027user-id\u0027,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" isAdmin: false,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" isInstructor: true,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" isStudent: false,"},{"lineNumber":67,"author":{"gitId":"-"},"content":" isMaintainer: false,"},{"lineNumber":68,"author":{"gitId":"-"},"content":" },"},{"lineNumber":69,"author":{"gitId":"-"},"content":" };"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" const testFeedbackQuestion: FeedbackQuestion \u003d {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" feedbackQuestionId: \u0027feedbackQuestion1\u0027,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" questionNumber: 1,"},{"lineNumber":74,"author":{"gitId":"-"},"content":" questionBrief: \u0027How well did team member perform?\u0027,"},{"lineNumber":75,"author":{"gitId":"-"},"content":" questionDescription: \u0027\u0027,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" questionDetails: {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" hasAssignedWeights: false,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" mcqWeights: [],"},{"lineNumber":79,"author":{"gitId":"-"},"content":" mcqOtherWeight: 0,"},{"lineNumber":80,"author":{"gitId":"-"},"content":" mcqChoices: ["},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u0027\u003cp\u003eGood\u003c/p\u003e\u0027,"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u0027\u003cp\u003eNormal\u003c/p\u003e\u0027,"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u0027\u003cp\u003eBad\u003c/p\u003e\u0027,"},{"lineNumber":84,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":85,"author":{"gitId":"-"},"content":" otherEnabled: false,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" questionDropdownEnabled: false,"},{"lineNumber":87,"author":{"gitId":"-"},"content":" generateOptionsFor: \u0027NONE\u0027,"},{"lineNumber":88,"author":{"gitId":"-"},"content":" questionType: FeedbackQuestionType.MCQ,"},{"lineNumber":89,"author":{"gitId":"-"},"content":" questionText: \u0027How well did team member perform?\u0027,"},{"lineNumber":90,"author":{"gitId":"-"},"content":" } as FeedbackMcqQuestionDetails,"},{"lineNumber":91,"author":{"gitId":"-"},"content":" questionType: FeedbackQuestionType.MCQ,"},{"lineNumber":92,"author":{"gitId":"-"},"content":" giverType: FeedbackParticipantType.STUDENTS,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" recipientType: FeedbackParticipantType.OWN_TEAM_MEMBERS_INCLUDING_SELF,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" numberOfEntitiesToGiveFeedbackToSetting: NumberOfEntitiesToGiveFeedbackToSetting.UNLIMITED,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" showResponsesTo: [],"},{"lineNumber":96,"author":{"gitId":"-"},"content":" showGiverNameTo: [],"},{"lineNumber":97,"author":{"gitId":"-"},"content":" showRecipientNameTo: [],"},{"lineNumber":98,"author":{"gitId":"-"},"content":" customNumberOfEntitiesToGiveFeedbackTo: 0,"},{"lineNumber":99,"author":{"gitId":"-"},"content":" };"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" let component: SessionResultPageComponent;"},{"lineNumber":102,"author":{"gitId":"-"},"content":" let fixture: ComponentFixture\u003cSessionResultPageComponent\u003e;"},{"lineNumber":103,"author":{"gitId":"-"},"content":" let authService: AuthService;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" let navService: NavigationService;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" let studentService: StudentService;"},{"lineNumber":106,"author":{"gitId":"-"},"content":" let feedbackQuestionsService: FeedbackQuestionsService;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" let feedbackSessionService: FeedbackSessionsService;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" let logService: LogService;"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" const testQueryParams: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" courseid: \u0027CS3281\u0027,"},{"lineNumber":112,"author":{"gitId":"-"},"content":" fsname: \u0027Peer Feedback\u0027,"},{"lineNumber":113,"author":{"gitId":"-"},"content":" key: \u0027reg-key\u0027,"},{"lineNumber":114,"author":{"gitId":"-"},"content":" previewas: \u0027\u0027,"},{"lineNumber":115,"author":{"gitId":"-"},"content":" };"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" beforeEach(waitForAsync(() \u003d\u003e {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" TestBed.configureTestingModule({"},{"lineNumber":119,"author":{"gitId":"-"},"content":" imports: ["},{"lineNumber":120,"author":{"gitId":"-"},"content":" HttpClientTestingModule,"},{"lineNumber":121,"author":{"gitId":"-"},"content":" RouterTestingModule,"},{"lineNumber":122,"author":{"gitId":"-"},"content":" StudentViewResponsesModule,"},{"lineNumber":123,"author":{"gitId":"-"},"content":" QuestionTextWithInfoModule,"},{"lineNumber":124,"author":{"gitId":"-"},"content":" QuestionResponsePanelModule,"},{"lineNumber":125,"author":{"gitId":"-"},"content":" SingleStatisticsModule,"},{"lineNumber":126,"author":{"gitId":"-"},"content":" LoadingSpinnerModule,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" LoadingRetryModule,"},{"lineNumber":128,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":129,"author":{"gitId":"-"},"content":" declarations: [SessionResultPageComponent],"},{"lineNumber":130,"author":{"gitId":"-"},"content":" providers: ["},{"lineNumber":131,"author":{"gitId":"-"},"content":" AuthService,"},{"lineNumber":132,"author":{"gitId":"-"},"content":" NavigationService,"},{"lineNumber":133,"author":{"gitId":"-"},"content":" StudentService,"},{"lineNumber":134,"author":{"gitId":"-"},"content":" FeedbackSessionsService,"},{"lineNumber":135,"author":{"gitId":"-"},"content":" LogService,"},{"lineNumber":136,"author":{"gitId":"-"},"content":" {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" provide: ActivatedRoute,"},{"lineNumber":138,"author":{"gitId":"-"},"content":" useValue: {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" queryParams: of(testQueryParams),"},{"lineNumber":140,"author":{"gitId":"-"},"content":" data: {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" intent: Intent.STUDENT_RESULT,"},{"lineNumber":142,"author":{"gitId":"-"},"content":" pipe: () \u003d\u003e {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" subscribe: (fn: (value: any) \u003d\u003e void) \u003d\u003e fn(testQueryParams),"},{"lineNumber":145,"author":{"gitId":"-"},"content":" };"},{"lineNumber":146,"author":{"gitId":"-"},"content":" },"},{"lineNumber":147,"author":{"gitId":"-"},"content":" },"},{"lineNumber":148,"author":{"gitId":"-"},"content":" },"},{"lineNumber":149,"author":{"gitId":"-"},"content":" },"},{"lineNumber":150,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":151,"author":{"gitId":"-"},"content":" })"},{"lineNumber":152,"author":{"gitId":"-"},"content":" .compileComponents();"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" beforeEach(() \u003d\u003e {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" fixture \u003d TestBed.createComponent(SessionResultPageComponent);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" authService \u003d TestBed.inject(AuthService);"},{"lineNumber":158,"author":{"gitId":"-"},"content":" navService \u003d TestBed.inject(NavigationService);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" studentService \u003d TestBed.inject(StudentService);"},{"lineNumber":160,"author":{"gitId":"-"},"content":" feedbackQuestionsService \u003d TestBed.inject(FeedbackQuestionsService);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" feedbackSessionService \u003d TestBed.inject(FeedbackSessionsService);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" logService \u003d TestBed.inject(LogService);"},{"lineNumber":163,"author":{"gitId":"-"},"content":" component \u003d fixture.componentInstance;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" // Set both loading flags to false initially for testing purposes only"},{"lineNumber":165,"author":{"gitId":"-"},"content":" component.isCourseLoading \u003d false;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" component.isFeedbackSessionDetailsLoading \u003d false;"},{"lineNumber":167,"author":{"gitId":"-"},"content":" component.isFeedbackSessionResultsLoading \u003d false;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":169,"author":{"gitId":"-"},"content":" });"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" it(\u0027should create\u0027, () \u003d\u003e {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" expect(component).toBeTruthy();"},{"lineNumber":173,"author":{"gitId":"-"},"content":" });"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" it(\u0027should snap with default fields\u0027, () \u003d\u003e {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":177,"author":{"gitId":"-"},"content":" });"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" it(\u0027should snap with session details and results are loading\u0027, () \u003d\u003e {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" component.isCourseLoading \u003d true;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" component.isFeedbackSessionDetailsLoading \u003d true;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" component.isFeedbackSessionResultsLoading \u003d true;"},{"lineNumber":183,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":184,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":185,"author":{"gitId":"-"},"content":" });"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" it(\u0027should snap with session details loaded and results are loading\u0027, () \u003d\u003e {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" component.isCourseLoading \u003d false;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" component.isFeedbackSessionDetailsLoading \u003d false;"},{"lineNumber":190,"author":{"gitId":"-"},"content":" component.isFeedbackSessionResultsLoading \u003d true;"},{"lineNumber":191,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":192,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":193,"author":{"gitId":"-"},"content":" });"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" it(\u0027should snap when session results failed to load\u0027, () \u003d\u003e {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" component.isCourseLoading \u003d false;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" component.isFeedbackSessionDetailsLoading \u003d false;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" component.isFeedbackSessionResultsLoading \u003d false;"},{"lineNumber":199,"author":{"gitId":"-"},"content":" component.hasFeedbackSessionResultsLoadingFailed \u003d true;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":201,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":202,"author":{"gitId":"-"},"content":" });"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":" it(\u0027should snap with user that is logged in and using session link\u0027, () \u003d\u003e {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" component.regKey \u003d \u0027session-link-key\u0027;"},{"lineNumber":206,"author":{"gitId":"-"},"content":" component.loggedInUser \u003d \u0027alice\u0027;"},{"lineNumber":207,"author":{"gitId":"-"},"content":" component.personName \u003d \u0027alice\u0027;"},{"lineNumber":208,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":209,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":210,"author":{"gitId":"-"},"content":" });"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" it(\u0027should snap with user that is not logged in and using session link\u0027, () \u003d\u003e {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" component.regKey \u003d \u0027session-link-key\u0027;"},{"lineNumber":214,"author":{"gitId":"-"},"content":" component.loggedInUser \u003d \u0027\u0027;"},{"lineNumber":215,"author":{"gitId":"-"},"content":" component.personName \u003d \u0027alice\u0027;"},{"lineNumber":216,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":217,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":218,"author":{"gitId":"-"},"content":" });"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" it(\u0027should snap with an open feedback session with no questions\u0027, () \u003d\u003e {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" component.session \u003d {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" courseId: \u0027CS3281\u0027,"},{"lineNumber":223,"author":{"gitId":"-"},"content":" timeZone: \u0027UTC\u0027,"},{"lineNumber":224,"author":{"gitId":"-"},"content":" feedbackSessionName: \u0027Peer Review 1\u0027,"},{"lineNumber":225,"author":{"gitId":"-"},"content":" instructions: \u0027\u0027,"},{"lineNumber":226,"author":{"gitId":"-"},"content":" submissionStartTimestamp: 1555232400,"},{"lineNumber":227,"author":{"gitId":"-"},"content":" submissionEndTimestamp: 1555233400,"},{"lineNumber":228,"author":{"gitId":"-"},"content":" gracePeriod: 0,"},{"lineNumber":229,"author":{"gitId":"-"},"content":" sessionVisibleSetting: SessionVisibleSetting.AT_OPEN,"},{"lineNumber":230,"author":{"gitId":"-"},"content":" responseVisibleSetting: ResponseVisibleSetting.AT_VISIBLE,"},{"lineNumber":231,"author":{"gitId":"-"},"content":" submissionStatus: FeedbackSessionSubmissionStatus.OPEN,"},{"lineNumber":232,"author":{"gitId":"-"},"content":" publishStatus: FeedbackSessionPublishStatus.NOT_PUBLISHED,"},{"lineNumber":233,"author":{"gitId":"-"},"content":" isClosingEmailEnabled: true,"},{"lineNumber":234,"author":{"gitId":"-"},"content":" isPublishedEmailEnabled: true,"},{"lineNumber":235,"author":{"gitId":"-"},"content":" createdAtTimestamp: 1555231400,"},{"lineNumber":236,"author":{"gitId":"-"},"content":" studentDeadlines: {},"},{"lineNumber":237,"author":{"gitId":"-"},"content":" instructorDeadlines: {},"},{"lineNumber":238,"author":{"gitId":"-"},"content":" };"},{"lineNumber":239,"author":{"gitId":"-"},"content":" component.questions \u003d [];"},{"lineNumber":240,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":241,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":242,"author":{"gitId":"-"},"content":" });"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" it(\u0027should snap when previewing results\u0027, () \u003d\u003e {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" component.intent \u003d Intent.STUDENT_RESULT;"},{"lineNumber":246,"author":{"gitId":"-"},"content":" component.regKey \u003d \u0027\u0027;"},{"lineNumber":247,"author":{"gitId":"-"},"content":" component.previewAsPerson \u003d \u0027alice2@tmt.tmt\u0027;"},{"lineNumber":248,"author":{"gitId":"-"},"content":" component.personName \u003d \u0027Alice2\u0027;"},{"lineNumber":249,"author":{"gitId":"-"},"content":" component.personEmail \u003d \u0027alice2@tmt.tmt\u0027;"},{"lineNumber":250,"author":{"gitId":"-"},"content":" component.session \u003d testFeedbackSession;"},{"lineNumber":251,"author":{"gitId":"-"},"content":" component.questions \u003d [];"},{"lineNumber":252,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":253,"author":{"gitId":"-"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":254,"author":{"gitId":"-"},"content":" });"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":" it(\u0027should fetch auth info on init\u0027, () \u003d\u003e {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" jest.spyOn(authService, \u0027getAuthUser\u0027).mockReturnValue(of(testInfo));"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" component.ngOnInit();"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":" expect(component.courseId).toEqual(\u0027CS3281\u0027);"},{"lineNumber":262,"author":{"gitId":"-"},"content":" expect(component.feedbackSessionName).toEqual(\u0027Peer Feedback\u0027);"},{"lineNumber":263,"author":{"gitId":"-"},"content":" expect(component.regKey).toEqual(\u0027reg-key\u0027);"},{"lineNumber":264,"author":{"gitId":"-"},"content":" expect(component.loggedInUser).toEqual(\u0027user-id\u0027);"},{"lineNumber":265,"author":{"gitId":"-"},"content":" });"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":" it(\u0027should verify allowed access and used reg key\u0027, () \u003d\u003e {"},{"lineNumber":268,"author":{"gitId":"-"},"content":" const testValidity: RegkeyValidity \u003d {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" isAllowedAccess: true,"},{"lineNumber":270,"author":{"gitId":"-"},"content":" isUsed: true,"},{"lineNumber":271,"author":{"gitId":"-"},"content":" isValid: false,"},{"lineNumber":272,"author":{"gitId":"-"},"content":" };"},{"lineNumber":273,"author":{"gitId":"-"},"content":" jest.spyOn(authService, \u0027getAuthUser\u0027).mockReturnValue(of(testInfo));"},{"lineNumber":274,"author":{"gitId":"-"},"content":" jest.spyOn(authService, \u0027getAuthRegkeyValidity\u0027).mockReturnValue(of(testValidity));"},{"lineNumber":275,"author":{"gitId":"-"},"content":" const navSpy: SpyInstance \u003d jest.spyOn(navService, \u0027navigateByURLWithParamEncoding\u0027).mockImplementation();"},{"lineNumber":276,"author":{"gitId":"-"},"content":""},{"lineNumber":277,"author":{"gitId":"-"},"content":" component.ngOnInit();"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" expect(navSpy).toHaveBeenCalledTimes(1);"},{"lineNumber":280,"author":{"gitId":"-"},"content":" expect(navSpy).toHaveBeenLastCalledWith(\u0027/web/student/sessions/result\u0027,"},{"lineNumber":281,"author":{"gitId":"-"},"content":" { courseid: \u0027CS3281\u0027, fsname: \u0027Peer Feedback\u0027 });"},{"lineNumber":282,"author":{"gitId":"-"},"content":" });"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" it(\u0027should load info and create log for unused reg key that is allowed\u0027, () \u003d\u003e {"},{"lineNumber":285,"author":{"gitId":"-"},"content":" const testValidity: RegkeyValidity \u003d {"},{"lineNumber":286,"author":{"gitId":"-"},"content":" isAllowedAccess: true,"},{"lineNumber":287,"author":{"gitId":"-"},"content":" isUsed: false,"},{"lineNumber":288,"author":{"gitId":"-"},"content":" isValid: false,"},{"lineNumber":289,"author":{"gitId":"-"},"content":" };"},{"lineNumber":290,"author":{"gitId":"-"},"content":" jest.spyOn(authService, \u0027getAuthUser\u0027).mockReturnValue(of(testInfo));"},{"lineNumber":291,"author":{"gitId":"-"},"content":" jest.spyOn(authService, \u0027getAuthRegkeyValidity\u0027).mockReturnValue(of(testValidity));"},{"lineNumber":292,"author":{"gitId":"-"},"content":" jest.spyOn(studentService, \u0027getStudent\u0027).mockReturnValue(of({"},{"lineNumber":293,"author":{"gitId":"-"},"content":" name: \u0027student-name\u0027,"},{"lineNumber":294,"author":{"gitId":"dishenggg"},"content":" email: \u0027student@tmt.tmt\u0027,"},{"lineNumber":295,"author":{"gitId":"-"},"content":" courseId: \u0027\u0027,"},{"lineNumber":296,"author":{"gitId":"-"},"content":" sectionName: \u0027\u0027,"},{"lineNumber":297,"author":{"gitId":"-"},"content":" teamName: \u0027\u0027,"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":299,"author":{"gitId":"-"},"content":" jest.spyOn(feedbackSessionService, \u0027getFeedbackSession\u0027).mockReturnValue(of(testFeedbackSession));"},{"lineNumber":300,"author":{"gitId":"-"},"content":" const logSpy: SpyInstance \u003d jest.spyOn(logService, \u0027createFeedbackSessionLog\u0027).mockReturnValue(of(\u0027log created\u0027));"},{"lineNumber":301,"author":{"gitId":"-"},"content":""},{"lineNumber":302,"author":{"gitId":"-"},"content":" component.ngOnInit();"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" expect(component.personName).toEqual(\u0027student-name\u0027);"},{"lineNumber":305,"author":{"gitId":"-"},"content":" expect(component.session.courseId).toEqual(\u0027CS1231\u0027);"},{"lineNumber":306,"author":{"gitId":"-"},"content":" expect(logSpy).toHaveBeenCalledTimes(1);"},{"lineNumber":307,"author":{"gitId":"-"},"content":" });"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":" it(\u0027should deny access for reg key not belonging to logged in user\u0027, () \u003d\u003e {"},{"lineNumber":310,"author":{"gitId":"-"},"content":" const testValidity: RegkeyValidity \u003d {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" isAllowedAccess: false,"},{"lineNumber":312,"author":{"gitId":"-"},"content":" isUsed: false,"},{"lineNumber":313,"author":{"gitId":"-"},"content":" isValid: true,"},{"lineNumber":314,"author":{"gitId":"-"},"content":" };"},{"lineNumber":315,"author":{"gitId":"-"},"content":" jest.spyOn(authService, \u0027getAuthUser\u0027).mockReturnValue(of(testInfo));"},{"lineNumber":316,"author":{"gitId":"-"},"content":" jest.spyOn(authService, \u0027getAuthRegkeyValidity\u0027).mockReturnValue(of(testValidity));"},{"lineNumber":317,"author":{"gitId":"-"},"content":" const navSpy: SpyInstance \u003d jest.spyOn(navService, \u0027navigateWithErrorMessage\u0027).mockImplementation();"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":" component.ngOnInit();"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" expect(navSpy).toHaveBeenCalledTimes(1);"},{"lineNumber":322,"author":{"gitId":"-"},"content":" expect(navSpy).toHaveBeenLastCalledWith(\u0027/web/front\u0027,"},{"lineNumber":323,"author":{"gitId":"-"},"content":" `You are trying to access TEAMMATES using the Google account user-id, which"},{"lineNumber":324,"author":{"gitId":"-"},"content":" is not linked to this TEAMMATES account. If you used a different Google account to"},{"lineNumber":325,"author":{"gitId":"-"},"content":" join/access TEAMMATES before, please use that Google account to access TEAMMATES. If you"},{"lineNumber":326,"author":{"gitId":"-"},"content":" cannot remember which Google account you used before, please email us at"},{"lineNumber":327,"author":{"gitId":"-"},"content":" ${environment.supportEmail} for help.`);"},{"lineNumber":328,"author":{"gitId":"-"},"content":" });"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" it(\u0027should deny access for invalid reg key\u0027, () \u003d\u003e {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" const testValidity: RegkeyValidity \u003d {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" isAllowedAccess: false,"},{"lineNumber":333,"author":{"gitId":"-"},"content":" isUsed: false,"},{"lineNumber":334,"author":{"gitId":"-"},"content":" isValid: false,"},{"lineNumber":335,"author":{"gitId":"-"},"content":" };"},{"lineNumber":336,"author":{"gitId":"-"},"content":" jest.spyOn(authService, \u0027getAuthUser\u0027).mockReturnValue(of(testInfo));"},{"lineNumber":337,"author":{"gitId":"-"},"content":" jest.spyOn(authService, \u0027getAuthRegkeyValidity\u0027).mockReturnValue(of(testValidity));"},{"lineNumber":338,"author":{"gitId":"-"},"content":" const navSpy: SpyInstance \u003d jest.spyOn(navService, \u0027navigateWithErrorMessage\u0027).mockImplementation();"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" component.ngOnInit();"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":" expect(navSpy).toHaveBeenCalledTimes(1);"},{"lineNumber":343,"author":{"gitId":"-"},"content":" expect(navSpy).toHaveBeenLastCalledWith(\u0027/web/front\u0027,"},{"lineNumber":344,"author":{"gitId":"-"},"content":" \u0027You are not authorized to view this page.\u0027);"},{"lineNumber":345,"author":{"gitId":"-"},"content":" });"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":" it(\u0027should navigate away when error occurs\u0027, () \u003d\u003e {"},{"lineNumber":348,"author":{"gitId":"-"},"content":" jest.spyOn(authService, \u0027getAuthUser\u0027).mockReturnValue(throwError(() \u003d\u003e ({"},{"lineNumber":349,"author":{"gitId":"-"},"content":" error: { message: \u0027This is error\u0027 },"},{"lineNumber":350,"author":{"gitId":"-"},"content":" })));"},{"lineNumber":351,"author":{"gitId":"-"},"content":" const navSpy: SpyInstance \u003d jest.spyOn(navService, \u0027navigateWithErrorMessage\u0027).mockImplementation();"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":354,"author":{"gitId":"-"},"content":" component.ngOnInit();"},{"lineNumber":355,"author":{"gitId":"-"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":" expect(navSpy).toHaveBeenCalledTimes(1);"},{"lineNumber":357,"author":{"gitId":"-"},"content":" expect(navSpy).toHaveBeenLastCalledWith(\u0027/web/front\u0027,"},{"lineNumber":358,"author":{"gitId":"-"},"content":" \u0027You are not authorized to view this page.\u0027);"},{"lineNumber":359,"author":{"gitId":"-"},"content":" });"},{"lineNumber":360,"author":{"gitId":"-"},"content":""},{"lineNumber":361,"author":{"gitId":"-"},"content":" it(\u0027should navigate to join course when user click on join course link\u0027, () \u003d\u003e {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" component.regKey \u003d \u0027reg-key\u0027;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" component.loggedInUser \u003d \u0027user\u0027;"},{"lineNumber":364,"author":{"gitId":"-"},"content":" const navSpy: SpyInstance \u003d jest.spyOn(navService, \u0027navigateByURL\u0027).mockImplementation();"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":367,"author":{"gitId":"-"},"content":""},{"lineNumber":368,"author":{"gitId":"-"},"content":" const btn: any \u003d fixture.debugElement.nativeElement"},{"lineNumber":369,"author":{"gitId":"-"},"content":" .querySelector(\u0027#join-course-btn\u0027);"},{"lineNumber":370,"author":{"gitId":"-"},"content":" btn.click();"},{"lineNumber":371,"author":{"gitId":"-"},"content":""},{"lineNumber":372,"author":{"gitId":"-"},"content":" expect(navSpy).toHaveBeenCalledTimes(1);"},{"lineNumber":373,"author":{"gitId":"-"},"content":" expect(navSpy).toHaveBeenLastCalledWith(\u0027/web/join\u0027, { entitytype: \u0027student\u0027, key: \u0027reg-key\u0027 });"},{"lineNumber":374,"author":{"gitId":"-"},"content":" });"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":" it(\u0027should load feedback questions\u0027, () \u003d\u003e {"},{"lineNumber":377,"author":{"gitId":"-"},"content":" const testValidity: RegkeyValidity \u003d {"},{"lineNumber":378,"author":{"gitId":"-"},"content":" isAllowedAccess: true,"},{"lineNumber":379,"author":{"gitId":"-"},"content":" isUsed: false,"},{"lineNumber":380,"author":{"gitId":"-"},"content":" isValid: false,"},{"lineNumber":381,"author":{"gitId":"-"},"content":" };"},{"lineNumber":382,"author":{"gitId":"-"},"content":" const testFeedbackQuestions: FeedbackQuestions \u003d {"},{"lineNumber":383,"author":{"gitId":"-"},"content":" questions: [testFeedbackQuestion],"},{"lineNumber":384,"author":{"gitId":"-"},"content":" };"},{"lineNumber":385,"author":{"gitId":"-"},"content":" const testFeedbackQuestionModel: FeedbackQuestionModel \u003d {"},{"lineNumber":386,"author":{"gitId":"-"},"content":" feedbackQuestion: testFeedbackQuestion,"},{"lineNumber":387,"author":{"gitId":"-"},"content":" questionStatistics: \u0027\u0027,"},{"lineNumber":388,"author":{"gitId":"-"},"content":" allResponses: [],"},{"lineNumber":389,"author":{"gitId":"-"},"content":" responsesToSelf: [],"},{"lineNumber":390,"author":{"gitId":"-"},"content":" responsesFromSelf: [],"},{"lineNumber":391,"author":{"gitId":"-"},"content":" otherResponses: [],"},{"lineNumber":392,"author":{"gitId":"-"},"content":" isLoading: false,"},{"lineNumber":393,"author":{"gitId":"-"},"content":" isLoaded: false,"},{"lineNumber":394,"author":{"gitId":"-"},"content":" hasResponse: false,"},{"lineNumber":395,"author":{"gitId":"-"},"content":" hasResponseButNotVisibleForPreview: false,"},{"lineNumber":396,"author":{"gitId":"-"},"content":" hasCommentNotVisibleForPreview: false,"},{"lineNumber":397,"author":{"gitId":"-"},"content":" };"},{"lineNumber":398,"author":{"gitId":"-"},"content":""},{"lineNumber":399,"author":{"gitId":"-"},"content":" jest.spyOn(authService, \u0027getAuthUser\u0027).mockReturnValue(of(testInfo));"},{"lineNumber":400,"author":{"gitId":"-"},"content":" jest.spyOn(authService, \u0027getAuthRegkeyValidity\u0027).mockReturnValue(of(testValidity));"},{"lineNumber":401,"author":{"gitId":"-"},"content":" jest.spyOn(feedbackSessionService, \u0027getFeedbackSession\u0027).mockReturnValue(of(testFeedbackSession));"},{"lineNumber":402,"author":{"gitId":"-"},"content":" const getQuestionsSpy: SpyInstance \u003d jest.spyOn(feedbackQuestionsService, \u0027getFeedbackQuestions\u0027)"},{"lineNumber":403,"author":{"gitId":"-"},"content":" .mockReturnValue(of(testFeedbackQuestions));"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" component.ngOnInit();"},{"lineNumber":406,"author":{"gitId":"-"},"content":" expect(getQuestionsSpy).toHaveBeenLastCalledWith({"},{"lineNumber":407,"author":{"gitId":"-"},"content":" courseId: testQueryParams[\u0027courseid\u0027],"},{"lineNumber":408,"author":{"gitId":"-"},"content":" feedbackSessionName: testQueryParams[\u0027fsname\u0027],"},{"lineNumber":409,"author":{"gitId":"-"},"content":" intent: Intent.STUDENT_RESULT,"},{"lineNumber":410,"author":{"gitId":"-"},"content":" key: testQueryParams[\u0027key\u0027],"},{"lineNumber":411,"author":{"gitId":"-"},"content":" previewAs: testQueryParams[\u0027previewas\u0027],"},{"lineNumber":412,"author":{"gitId":"-"},"content":" });"},{"lineNumber":413,"author":{"gitId":"-"},"content":" expect(component.questions.length).toEqual(1);"},{"lineNumber":414,"author":{"gitId":"-"},"content":" expect(component.questions[0]).toEqual(testFeedbackQuestionModel);"},{"lineNumber":415,"author":{"gitId":"-"},"content":" });"},{"lineNumber":416,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"dishenggg":1,"-":415}},{"path":"src/web/app/pages-session/session-result-page/session-result-page.component.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { Component, OnInit } from \u0027@angular/core\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { ActivatedRoute } from \u0027@angular/router\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import { NgbModal, NgbModalRef } from \u0027@ng-bootstrap/ng-bootstrap\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { Observable } from \u0027rxjs\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import { finalize, switchMap, tap } from \u0027rxjs/operators\u0027;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import { environment } from \u0027../../../environments/environment\u0027;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import { AuthService } from \u0027../../../services/auth.service\u0027;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import { CourseService } from \u0027../../../services/course.service\u0027;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import { FeedbackQuestionsService } from \u0027../../../services/feedback-questions.service\u0027;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import { FeedbackSessionsService } from \u0027../../../services/feedback-sessions.service\u0027;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import { InstructorService } from \u0027../../../services/instructor.service\u0027;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import { LogService } from \u0027../../../services/log.service\u0027;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import { NavigationService } from \u0027../../../services/navigation.service\u0027;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import { StatusMessageService } from \u0027../../../services/status-message.service\u0027;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import { StudentService } from \u0027../../../services/student.service\u0027;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import { TimezoneService } from \u0027../../../services/timezone.service\u0027;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" AuthInfo,"},{"lineNumber":19,"author":{"gitId":"-"},"content":" Course,"},{"lineNumber":20,"author":{"gitId":"-"},"content":" FeedbackQuestion,"},{"lineNumber":21,"author":{"gitId":"-"},"content":" FeedbackQuestions,"},{"lineNumber":22,"author":{"gitId":"-"},"content":" FeedbackSession, FeedbackSessionLogType,"},{"lineNumber":23,"author":{"gitId":"-"},"content":" FeedbackSessionPublishStatus, FeedbackSessionSubmissionStatus,"},{"lineNumber":24,"author":{"gitId":"-"},"content":" Instructor,"},{"lineNumber":25,"author":{"gitId":"-"},"content":" RegkeyValidity,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" ResponseOutput,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" ResponseVisibleSetting,"},{"lineNumber":28,"author":{"gitId":"-"},"content":" SessionVisibleSetting, Student,"},{"lineNumber":29,"author":{"gitId":"-"},"content":"} from \u0027../../../types/api-output\u0027;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import { FeedbackVisibilityType, Intent } from \u0027../../../types/api-request\u0027;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import { DEFAULT_NUMBER_OF_RETRY_ATTEMPTS } from \u0027../../../types/default-retry-attempts\u0027;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import { ErrorReportComponent } from \u0027../../components/error-report/error-report.component\u0027;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import { ErrorMessageOutput } from \u0027../../error-message-output\u0027;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"export interface FeedbackQuestionModel {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" feedbackQuestion: FeedbackQuestion;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" questionStatistics: string;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" allResponses: ResponseOutput[];"},{"lineNumber":39,"author":{"gitId":"-"},"content":" responsesToSelf: ResponseOutput[];"},{"lineNumber":40,"author":{"gitId":"-"},"content":" responsesFromSelf: ResponseOutput[];"},{"lineNumber":41,"author":{"gitId":"-"},"content":" otherResponses: ResponseOutput[][];"},{"lineNumber":42,"author":{"gitId":"-"},"content":" isLoading: boolean;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" isLoaded: boolean;"},{"lineNumber":44,"author":{"gitId":"-"},"content":" hasResponse: boolean;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" errorMessage?: string;"},{"lineNumber":46,"author":{"gitId":"-"},"content":" hasResponseButNotVisibleForPreview: boolean;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" hasCommentNotVisibleForPreview: boolean;"},{"lineNumber":48,"author":{"gitId":"-"},"content":"}"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":51,"author":{"gitId":"-"},"content":" * Feedback session result page."},{"lineNumber":52,"author":{"gitId":"-"},"content":" */"},{"lineNumber":53,"author":{"gitId":"-"},"content":"@Component({"},{"lineNumber":54,"author":{"gitId":"-"},"content":" selector: \u0027tm-session-result-page\u0027,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" templateUrl: \u0027./session-result-page.component.html\u0027,"},{"lineNumber":56,"author":{"gitId":"-"},"content":" styleUrls: [\u0027./session-result-page.component.scss\u0027],"},{"lineNumber":57,"author":{"gitId":"-"},"content":"})"},{"lineNumber":58,"author":{"gitId":"-"},"content":"export class SessionResultPageComponent implements OnInit {"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" // enum"},{"lineNumber":61,"author":{"gitId":"-"},"content":" Intent: typeof Intent \u003d Intent;"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" session: FeedbackSession \u003d {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" courseId: \u0027\u0027,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" timeZone: \u0027\u0027,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" feedbackSessionName: \u0027\u0027,"},{"lineNumber":67,"author":{"gitId":"-"},"content":" instructions: \u0027\u0027,"},{"lineNumber":68,"author":{"gitId":"-"},"content":" submissionStartTimestamp: 0,"},{"lineNumber":69,"author":{"gitId":"-"},"content":" submissionEndTimestamp: 0,"},{"lineNumber":70,"author":{"gitId":"-"},"content":" gracePeriod: 0,"},{"lineNumber":71,"author":{"gitId":"-"},"content":" sessionVisibleSetting: SessionVisibleSetting.AT_OPEN,"},{"lineNumber":72,"author":{"gitId":"-"},"content":" responseVisibleSetting: ResponseVisibleSetting.AT_VISIBLE,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" submissionStatus: FeedbackSessionSubmissionStatus.OPEN,"},{"lineNumber":74,"author":{"gitId":"-"},"content":" publishStatus: FeedbackSessionPublishStatus.NOT_PUBLISHED,"},{"lineNumber":75,"author":{"gitId":"-"},"content":" isClosingEmailEnabled: true,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" isPublishedEmailEnabled: true,"},{"lineNumber":77,"author":{"gitId":"-"},"content":" createdAtTimestamp: 0,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" studentDeadlines: {},"},{"lineNumber":79,"author":{"gitId":"-"},"content":" instructorDeadlines: {},"},{"lineNumber":80,"author":{"gitId":"-"},"content":" };"},{"lineNumber":81,"author":{"gitId":"-"},"content":" questions: FeedbackQuestionModel[] \u003d [];"},{"lineNumber":82,"author":{"gitId":"-"},"content":" courseName: string \u003d \u0027\u0027;"},{"lineNumber":83,"author":{"gitId":"-"},"content":" courseInstitute: string \u003d \u0027\u0027;"},{"lineNumber":84,"author":{"gitId":"-"},"content":" formattedSessionOpeningTime: string \u003d \u0027\u0027;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" formattedSessionClosingTime: string \u003d \u0027\u0027;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" personName: string \u003d \u0027\u0027;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" personEmail: string \u003d \u0027\u0027;"},{"lineNumber":88,"author":{"gitId":"-"},"content":" courseId: string \u003d \u0027\u0027;"},{"lineNumber":89,"author":{"gitId":"-"},"content":" feedbackSessionName: string \u003d \u0027\u0027;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" entityType: string \u003d \u0027student\u0027;"},{"lineNumber":91,"author":{"gitId":"-"},"content":" regKey: string \u003d \u0027\u0027;"},{"lineNumber":92,"author":{"gitId":"-"},"content":" loggedInUser: string \u003d \u0027\u0027;"},{"lineNumber":93,"author":{"gitId":"-"},"content":" visibilityRecipient: FeedbackVisibilityType \u003d FeedbackVisibilityType.RECIPIENT;"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" intent: Intent \u003d Intent.STUDENT_RESULT;"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" previewAsPerson: string \u003d \u0027\u0027;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" isPreviewHintExpanded: boolean \u003d false;"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" isCourseLoading: boolean \u003d true;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" isFeedbackSessionDetailsLoading: boolean \u003d true;"},{"lineNumber":102,"author":{"gitId":"-"},"content":" isFeedbackSessionResultsLoading: boolean \u003d true;"},{"lineNumber":103,"author":{"gitId":"-"},"content":" hasFeedbackSessionResultsLoadingFailed: boolean \u003d false;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" retryAttempts: number \u003d DEFAULT_NUMBER_OF_RETRY_ATTEMPTS;"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"dishenggg"},"content":" feedbackSessionId: string | undefined \u003d \u0027\u0027;"},{"lineNumber":107,"author":{"gitId":"dishenggg"},"content":" studentId: string | undefined \u003d \u0027\u0027;"},{"lineNumber":108,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" private backendUrl: string \u003d environment.backendUrl;"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" constructor(private feedbackQuestionsService: FeedbackQuestionsService,"},{"lineNumber":112,"author":{"gitId":"-"},"content":" private feedbackSessionsService: FeedbackSessionsService,"},{"lineNumber":113,"author":{"gitId":"-"},"content":" private route: ActivatedRoute,"},{"lineNumber":114,"author":{"gitId":"-"},"content":" private timezoneService: TimezoneService,"},{"lineNumber":115,"author":{"gitId":"-"},"content":" private navigationService: NavigationService,"},{"lineNumber":116,"author":{"gitId":"-"},"content":" private authService: AuthService,"},{"lineNumber":117,"author":{"gitId":"-"},"content":" private studentService: StudentService,"},{"lineNumber":118,"author":{"gitId":"-"},"content":" private instructorService: InstructorService,"},{"lineNumber":119,"author":{"gitId":"-"},"content":" private courseService: CourseService,"},{"lineNumber":120,"author":{"gitId":"-"},"content":" private statusMessageService: StatusMessageService,"},{"lineNumber":121,"author":{"gitId":"-"},"content":" private logService: LogService,"},{"lineNumber":122,"author":{"gitId":"-"},"content":" private ngbModal: NgbModal) {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" this.timezoneService.getTzVersion(); // import timezone service to load timezone data"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" ngOnInit(): void {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" this.route.data.pipe("},{"lineNumber":128,"author":{"gitId":"-"},"content":" tap((data: any) \u003d\u003e {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" this.intent \u003d data.intent;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":131,"author":{"gitId":"-"},"content":" switchMap(() \u003d\u003e this.route.queryParams),"},{"lineNumber":132,"author":{"gitId":"-"},"content":" ).subscribe((queryParams: any) \u003d\u003e {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" this.courseId \u003d queryParams.courseid;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" this.feedbackSessionName \u003d queryParams.fsname;"},{"lineNumber":135,"author":{"gitId":"-"},"content":" this.regKey \u003d queryParams.key || \u0027\u0027;"},{"lineNumber":136,"author":{"gitId":"-"},"content":" this.previewAsPerson \u003d queryParams.previewas ? queryParams.previewas : \u0027\u0027;"},{"lineNumber":137,"author":{"gitId":"-"},"content":" if (queryParams.entitytype \u003d\u003d\u003d \u0027instructor\u0027) {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" this.entityType \u003d \u0027instructor\u0027;"},{"lineNumber":139,"author":{"gitId":"-"},"content":" this.intent \u003d Intent.INSTRUCTOR_RESULT;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" const nextUrl: string \u003d `${window.location.pathname}${window.location.search.replace(/\u0026/g, \u0027%26\u0027)}`;"},{"lineNumber":143,"author":{"gitId":"-"},"content":" this.authService.getAuthUser(undefined, nextUrl).subscribe({"},{"lineNumber":144,"author":{"gitId":"-"},"content":" next: (auth: AuthInfo) \u003d\u003e {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" const isPreview: boolean \u003d !!(auth.user \u0026\u0026 this.previewAsPerson);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" if (auth.user) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" this.loggedInUser \u003d auth.user.id;"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":" // prevent having both key and previewas parameters in URL"},{"lineNumber":150,"author":{"gitId":"-"},"content":" if (this.regKey \u0026\u0026 isPreview) {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" this.navigationService.navigateWithErrorMessage(\u0027/web/front\u0027,"},{"lineNumber":152,"author":{"gitId":"-"},"content":" \u0027You are not authorized to view this page.\u0027);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":" if (this.regKey) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" this.authService.getAuthRegkeyValidity(this.regKey, this.intent).subscribe({"},{"lineNumber":157,"author":{"gitId":"-"},"content":" next: (resp: RegkeyValidity) \u003d\u003e {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" if (resp.isAllowedAccess) {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" if (resp.isUsed) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" // The logged in user matches the registration key; redirect to the logged in URL"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" this.navigationService.navigateByURLWithParamEncoding("},{"lineNumber":163,"author":{"gitId":"-"},"content":" `/web/${this.entityType}/sessions/result`,"},{"lineNumber":164,"author":{"gitId":"-"},"content":" { courseid: this.courseId, fsname: this.feedbackSessionName });"},{"lineNumber":165,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" // Valid, unused registration key; load information based on the key"},{"lineNumber":167,"author":{"gitId":"-"},"content":" this.loadCourseInfo();"},{"lineNumber":168,"author":{"gitId":"-"},"content":" this.loadPersonName();"},{"lineNumber":169,"author":{"gitId":"-"},"content":" this.loadFeedbackSession();"},{"lineNumber":170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":171,"author":{"gitId":"-"},"content":" } else if (resp.isValid) {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" // At this point, registration key must already be used, otherwise access would be granted"},{"lineNumber":173,"author":{"gitId":"-"},"content":" if (this.loggedInUser) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" // Registration key belongs to another user who is not the logged in user"},{"lineNumber":175,"author":{"gitId":"-"},"content":" this.navigationService.navigateWithErrorMessage(\u0027/web/front\u0027,"},{"lineNumber":176,"author":{"gitId":"-"},"content":" `You are trying to access TEAMMATES using the Google account ${this.loggedInUser}, which"},{"lineNumber":177,"author":{"gitId":"-"},"content":" is not linked to this TEAMMATES account. If you used a different Google account to"},{"lineNumber":178,"author":{"gitId":"-"},"content":" join/access TEAMMATES before, please use that Google account to access TEAMMATES. If you"},{"lineNumber":179,"author":{"gitId":"-"},"content":" cannot remember which Google account you used before, please email us at"},{"lineNumber":180,"author":{"gitId":"-"},"content":" ${environment.supportEmail} for help.`);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" // There is no logged in user for a valid, used registration key, redirect to login page"},{"lineNumber":183,"author":{"gitId":"-"},"content":" // eslint-disable-next-line no-lonely-if"},{"lineNumber":184,"author":{"gitId":"-"},"content":" if (this.entityType \u003d\u003d\u003d \u0027student\u0027) {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" window.location.href \u003d `${this.backendUrl}${auth.studentLoginUrl}`;"},{"lineNumber":186,"author":{"gitId":"-"},"content":" } else if (this.entityType \u003d\u003d\u003d \u0027instructor\u0027) {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" window.location.href \u003d `${this.backendUrl}${auth.instructorLoginUrl}`;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" // The registration key is invalid"},{"lineNumber":192,"author":{"gitId":"-"},"content":" this.navigationService.navigateWithErrorMessage(\u0027/web/front\u0027,"},{"lineNumber":193,"author":{"gitId":"-"},"content":" \u0027You are not authorized to view this page.\u0027);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":" },"},{"lineNumber":196,"author":{"gitId":"-"},"content":" error: () \u003d\u003e {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" this.navigationService.navigateWithErrorMessage(\u0027/web/front\u0027,"},{"lineNumber":198,"author":{"gitId":"-"},"content":" \u0027You are not authorized to view this page.\u0027);"},{"lineNumber":199,"author":{"gitId":"-"},"content":" },"},{"lineNumber":200,"author":{"gitId":"-"},"content":" });"},{"lineNumber":201,"author":{"gitId":"-"},"content":" } else if (this.loggedInUser) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" // Load information based on logged in user"},{"lineNumber":203,"author":{"gitId":"-"},"content":" // This will also cover preview cases"},{"lineNumber":204,"author":{"gitId":"-"},"content":" this.loadCourseInfo();"},{"lineNumber":205,"author":{"gitId":"-"},"content":" this.loadPersonName();"},{"lineNumber":206,"author":{"gitId":"-"},"content":" this.loadFeedbackSession();"},{"lineNumber":207,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" this.navigationService.navigateWithErrorMessage(\u0027/web/front\u0027,"},{"lineNumber":209,"author":{"gitId":"-"},"content":" \u0027You are not authorized to view this page.\u0027);"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":" },"},{"lineNumber":212,"author":{"gitId":"-"},"content":" error: () \u003d\u003e {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" this.navigationService.navigateWithErrorMessage(\u0027/web/front\u0027,"},{"lineNumber":214,"author":{"gitId":"-"},"content":" \u0027You are not authorized to view this page.\u0027);"},{"lineNumber":215,"author":{"gitId":"-"},"content":" },"},{"lineNumber":216,"author":{"gitId":"-"},"content":" });"},{"lineNumber":217,"author":{"gitId":"-"},"content":" });"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" private loadCourseInfo(): void {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" this.isCourseLoading \u003d true;"},{"lineNumber":222,"author":{"gitId":"-"},"content":" let request: Observable\u003cCourse\u003e;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" switch (this.intent) {"},{"lineNumber":224,"author":{"gitId":"-"},"content":" case Intent.STUDENT_RESULT:"},{"lineNumber":225,"author":{"gitId":"-"},"content":" if (this.previewAsPerson) {"},{"lineNumber":226,"author":{"gitId":"-"},"content":" request \u003d this.courseService.getCourseAsInstructor(this.courseId);"},{"lineNumber":227,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" request \u003d this.courseService.getCourseAsStudent(this.courseId, this.regKey);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":230,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":231,"author":{"gitId":"-"},"content":" case Intent.INSTRUCTOR_RESULT:"},{"lineNumber":232,"author":{"gitId":"-"},"content":" request \u003d this.courseService.getCourseAsInstructor(this.courseId, this.regKey);"},{"lineNumber":233,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":234,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":235,"author":{"gitId":"-"},"content":" this.isCourseLoading \u003d false;"},{"lineNumber":236,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":" request.subscribe({"},{"lineNumber":239,"author":{"gitId":"-"},"content":" next: (resp: Course) \u003d\u003e {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" this.courseName \u003d resp.courseName;"},{"lineNumber":241,"author":{"gitId":"-"},"content":" this.courseInstitute \u003d resp.institute;"},{"lineNumber":242,"author":{"gitId":"-"},"content":" this.isCourseLoading \u003d false;"},{"lineNumber":243,"author":{"gitId":"-"},"content":" },"},{"lineNumber":244,"author":{"gitId":"-"},"content":" error: () \u003d\u003e {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" this.isCourseLoading \u003d false;"},{"lineNumber":246,"author":{"gitId":"-"},"content":" },"},{"lineNumber":247,"author":{"gitId":"-"},"content":" });"},{"lineNumber":248,"author":{"gitId":"-"},"content":" }"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" private loadPersonName(): void {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" switch (this.intent) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" case Intent.STUDENT_RESULT:"},{"lineNumber":253,"author":{"gitId":"-"},"content":" this.studentService.getStudent("},{"lineNumber":254,"author":{"gitId":"-"},"content":" this.courseId,"},{"lineNumber":255,"author":{"gitId":"-"},"content":" this.previewAsPerson,"},{"lineNumber":256,"author":{"gitId":"-"},"content":" this.regKey,"},{"lineNumber":257,"author":{"gitId":"-"},"content":" ).subscribe((student: Student) \u003d\u003e {"},{"lineNumber":258,"author":{"gitId":"dishenggg"},"content":" this.studentId \u003d student.studentId;"},{"lineNumber":259,"author":{"gitId":"-"},"content":" this.personName \u003d student.name;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" this.personEmail \u003d student.email;"},{"lineNumber":261,"author":{"gitId":"dishenggg"},"content":" this.logStudentView();"},{"lineNumber":262,"author":{"gitId":"-"},"content":" });"},{"lineNumber":263,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":264,"author":{"gitId":"-"},"content":" case Intent.INSTRUCTOR_RESULT:"},{"lineNumber":265,"author":{"gitId":"-"},"content":" this.instructorService.getInstructor({"},{"lineNumber":266,"author":{"gitId":"-"},"content":" courseId: this.courseId,"},{"lineNumber":267,"author":{"gitId":"-"},"content":" feedbackSessionName: this.feedbackSessionName,"},{"lineNumber":268,"author":{"gitId":"-"},"content":" intent: this.intent,"},{"lineNumber":269,"author":{"gitId":"-"},"content":" key: this.regKey,"},{"lineNumber":270,"author":{"gitId":"-"},"content":" previewAs: this.previewAsPerson,"},{"lineNumber":271,"author":{"gitId":"-"},"content":" }).subscribe((instructor: Instructor) \u003d\u003e {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" this.personName \u003d instructor.name;"},{"lineNumber":273,"author":{"gitId":"-"},"content":" this.personEmail \u003d instructor.email;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" });"},{"lineNumber":275,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":276,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" private loadFeedbackSession(): void {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" this.isFeedbackSessionDetailsLoading \u003d true;"},{"lineNumber":282,"author":{"gitId":"-"},"content":" this.isFeedbackSessionResultsLoading \u003d true;"},{"lineNumber":283,"author":{"gitId":"-"},"content":" this.feedbackSessionsService.getFeedbackSession({"},{"lineNumber":284,"author":{"gitId":"-"},"content":" courseId: this.courseId,"},{"lineNumber":285,"author":{"gitId":"-"},"content":" feedbackSessionName: this.feedbackSessionName,"},{"lineNumber":286,"author":{"gitId":"-"},"content":" intent: this.intent,"},{"lineNumber":287,"author":{"gitId":"-"},"content":" key: this.regKey,"},{"lineNumber":288,"author":{"gitId":"-"},"content":" previewAs: this.previewAsPerson,"},{"lineNumber":289,"author":{"gitId":"-"},"content":" })"},{"lineNumber":290,"author":{"gitId":"dishenggg"},"content":" .pipe(finalize(() \u003d\u003e {"},{"lineNumber":291,"author":{"gitId":"dishenggg"},"content":" this.isFeedbackSessionDetailsLoading \u003d false;"},{"lineNumber":292,"author":{"gitId":"dishenggg"},"content":" }))"},{"lineNumber":293,"author":{"gitId":"-"},"content":" .subscribe({"},{"lineNumber":294,"author":{"gitId":"-"},"content":" next: (feedbackSession: FeedbackSession) \u003d\u003e {"},{"lineNumber":295,"author":{"gitId":"-"},"content":" const TIME_FORMAT: string \u003d \u0027ddd, DD MMM, YYYY, hh:mm A zz\u0027;"},{"lineNumber":296,"author":{"gitId":"-"},"content":" this.session \u003d feedbackSession;"},{"lineNumber":297,"author":{"gitId":"dishenggg"},"content":" this.feedbackSessionId \u003d feedbackSession.feedbackSessionId;"},{"lineNumber":298,"author":{"gitId":"-"},"content":" this.formattedSessionOpeningTime \u003d this.timezoneService"},{"lineNumber":299,"author":{"gitId":"-"},"content":" .formatToString(this.session.submissionStartTimestamp, this.session.timeZone, TIME_FORMAT);"},{"lineNumber":300,"author":{"gitId":"-"},"content":" this.formattedSessionClosingTime \u003d this.timezoneService"},{"lineNumber":301,"author":{"gitId":"-"},"content":" .formatToString(this.session.submissionEndTimestamp, this.session.timeZone, TIME_FORMAT);"},{"lineNumber":302,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":303,"author":{"gitId":"dishenggg"},"content":" this.logStudentView();"},{"lineNumber":304,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":" this.feedbackQuestionsService.getFeedbackQuestions({"},{"lineNumber":306,"author":{"gitId":"-"},"content":" courseId: this.courseId,"},{"lineNumber":307,"author":{"gitId":"-"},"content":" feedbackSessionName: this.feedbackSessionName,"},{"lineNumber":308,"author":{"gitId":"-"},"content":" intent: this.intent,"},{"lineNumber":309,"author":{"gitId":"-"},"content":" key: this.regKey,"},{"lineNumber":310,"author":{"gitId":"-"},"content":" previewAs: this.previewAsPerson,"},{"lineNumber":311,"author":{"gitId":"-"},"content":" }).pipe(finalize(() \u003d\u003e {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" this.isFeedbackSessionResultsLoading \u003d false;"},{"lineNumber":313,"author":{"gitId":"-"},"content":" }))"},{"lineNumber":314,"author":{"gitId":"-"},"content":" .subscribe({"},{"lineNumber":315,"author":{"gitId":"-"},"content":" next: (feedbackQuestions: FeedbackQuestions) \u003d\u003e {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" feedbackQuestions.questions.sort("},{"lineNumber":317,"author":{"gitId":"-"},"content":" (a: FeedbackQuestion, b: FeedbackQuestion) \u003d\u003e"},{"lineNumber":318,"author":{"gitId":"-"},"content":" a.questionNumber - b.questionNumber);"},{"lineNumber":319,"author":{"gitId":"-"},"content":" for (const question of feedbackQuestions.questions) {"},{"lineNumber":320,"author":{"gitId":"-"},"content":" this.questions.push({"},{"lineNumber":321,"author":{"gitId":"-"},"content":" feedbackQuestion: question,"},{"lineNumber":322,"author":{"gitId":"-"},"content":" questionStatistics: \u0027\u0027,"},{"lineNumber":323,"author":{"gitId":"-"},"content":" allResponses: [],"},{"lineNumber":324,"author":{"gitId":"-"},"content":" responsesToSelf: [],"},{"lineNumber":325,"author":{"gitId":"-"},"content":" responsesFromSelf: [],"},{"lineNumber":326,"author":{"gitId":"-"},"content":" otherResponses: [],"},{"lineNumber":327,"author":{"gitId":"-"},"content":" isLoading: false,"},{"lineNumber":328,"author":{"gitId":"-"},"content":" isLoaded: false,"},{"lineNumber":329,"author":{"gitId":"-"},"content":" hasResponse: false,"},{"lineNumber":330,"author":{"gitId":"-"},"content":" hasResponseButNotVisibleForPreview: false,"},{"lineNumber":331,"author":{"gitId":"-"},"content":" hasCommentNotVisibleForPreview: false,"},{"lineNumber":332,"author":{"gitId":"-"},"content":" });"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":" },"},{"lineNumber":335,"author":{"gitId":"-"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":336,"author":{"gitId":"-"},"content":" this.handleError(resp);"},{"lineNumber":337,"author":{"gitId":"-"},"content":" },"},{"lineNumber":338,"author":{"gitId":"-"},"content":" });"},{"lineNumber":339,"author":{"gitId":"-"},"content":" },"},{"lineNumber":340,"author":{"gitId":"-"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":341,"author":{"gitId":"-"},"content":" this.isFeedbackSessionResultsLoading \u003d false;"},{"lineNumber":342,"author":{"gitId":"-"},"content":" this.handleError(resp);"},{"lineNumber":343,"author":{"gitId":"-"},"content":" },"},{"lineNumber":344,"author":{"gitId":"-"},"content":" });"},{"lineNumber":345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":348,"author":{"gitId":"-"},"content":" * Redirects to join course link for unregistered student/instructor."},{"lineNumber":349,"author":{"gitId":"-"},"content":" */"},{"lineNumber":350,"author":{"gitId":"-"},"content":" joinCourseForUnregisteredEntity(): void {"},{"lineNumber":351,"author":{"gitId":"-"},"content":" this.navigationService.navigateByURL(\u0027/web/join\u0027, { entitytype: this.entityType, key: this.regKey });"},{"lineNumber":352,"author":{"gitId":"-"},"content":" }"},{"lineNumber":353,"author":{"gitId":"-"},"content":""},{"lineNumber":354,"author":{"gitId":"-"},"content":" navigateToSessionReportPage(): void {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" this.navigationService.navigateByURL(\u0027/web/instructor/sessions/report\u0027,"},{"lineNumber":356,"author":{"gitId":"-"},"content":" { courseid: this.courseId, fsname: this.feedbackSessionName });"},{"lineNumber":357,"author":{"gitId":"-"},"content":" }"},{"lineNumber":358,"author":{"gitId":"-"},"content":""},{"lineNumber":359,"author":{"gitId":"-"},"content":" retryLoadingFeedbackSessionResults(): void {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" this.hasFeedbackSessionResultsLoadingFailed \u003d false;"},{"lineNumber":361,"author":{"gitId":"-"},"content":" if (this.retryAttempts \u003e\u003d 0) {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" this.retryAttempts -\u003d 1;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" }"},{"lineNumber":364,"author":{"gitId":"-"},"content":" this.loadFeedbackSession();"},{"lineNumber":365,"author":{"gitId":"-"},"content":" }"},{"lineNumber":366,"author":{"gitId":"-"},"content":""},{"lineNumber":367,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":368,"author":{"gitId":"-"},"content":" * Handles error according to number of attempts at retry"},{"lineNumber":369,"author":{"gitId":"-"},"content":" */"},{"lineNumber":370,"author":{"gitId":"-"},"content":" handleError(resp: ErrorMessageOutput): void {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" this.hasFeedbackSessionResultsLoadingFailed \u003d true;"},{"lineNumber":372,"author":{"gitId":"-"},"content":" if (this.retryAttempts \u003c 0) {"},{"lineNumber":373,"author":{"gitId":"-"},"content":" const report: NgbModalRef \u003d this.ngbModal.open(ErrorReportComponent);"},{"lineNumber":374,"author":{"gitId":"-"},"content":" report.componentInstance.requestId \u003d resp.error.requestId;"},{"lineNumber":375,"author":{"gitId":"-"},"content":" report.componentInstance.errorMessage \u003d resp.error.message;"},{"lineNumber":376,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":377,"author":{"gitId":"-"},"content":" this.statusMessageService.showErrorToast(resp.error.message);"},{"lineNumber":378,"author":{"gitId":"-"},"content":" }"},{"lineNumber":379,"author":{"gitId":"-"},"content":" }"},{"lineNumber":380,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":381,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":382,"author":{"gitId":"dishenggg"},"content":" * Logs student activity after student/session details have been fetched."},{"lineNumber":383,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":384,"author":{"gitId":"dishenggg"},"content":" logStudentView(): void {"},{"lineNumber":385,"author":{"gitId":"dishenggg"},"content":" if (this.intent !\u003d\u003d Intent.STUDENT_RESULT) {"},{"lineNumber":386,"author":{"gitId":"dishenggg"},"content":" return;"},{"lineNumber":387,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":388,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":389,"author":{"gitId":"dishenggg"},"content":" // dummy vars to check that both student and session has been loaded"},{"lineNumber":390,"author":{"gitId":"dishenggg"},"content":" if (!this.personEmail || !this.session.courseId) {"},{"lineNumber":391,"author":{"gitId":"dishenggg"},"content":" return;"},{"lineNumber":392,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":393,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":394,"author":{"gitId":"dishenggg"},"content":" this.logService.createFeedbackSessionLog({"},{"lineNumber":395,"author":{"gitId":"dishenggg"},"content":" courseId: this.courseId,"},{"lineNumber":396,"author":{"gitId":"dishenggg"},"content":" feedbackSessionName: this.feedbackSessionName,"},{"lineNumber":397,"author":{"gitId":"dishenggg"},"content":" studentEmail: this.personEmail,"},{"lineNumber":398,"author":{"gitId":"dishenggg"},"content":" logType: FeedbackSessionLogType.VIEW_RESULT,"},{"lineNumber":399,"author":{"gitId":"dishenggg"},"content":" feedbackSessionId: this.feedbackSessionId,"},{"lineNumber":400,"author":{"gitId":"dishenggg"},"content":" studentId: this.studentId,"},{"lineNumber":401,"author":{"gitId":"dishenggg"},"content":" }).subscribe();"},{"lineNumber":402,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":403,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":35,"-":368}},{"path":"src/web/app/pages-session/session-submission-page/session-submission-page.component.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { DOCUMENT } from \u0027@angular/common\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { AfterViewInit, Component, Inject, OnInit } from \u0027@angular/core\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import { ActivatedRoute } from \u0027@angular/router\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { NgbModal, NgbModalRef } from \u0027@ng-bootstrap/ng-bootstrap\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import { PageScrollService } from \u0027ngx-page-scroll-core\u0027;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import { forkJoin, Observable, of } from \u0027rxjs\u0027;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import { catchError, finalize, switchMap, tap } from \u0027rxjs/operators\u0027;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import { SavingCompleteModalComponent } from \u0027./saving-complete-modal/saving-complete-modal.component\u0027;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import { environment } from \u0027../../../environments/environment\u0027;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import { AuthService } from \u0027../../../services/auth.service\u0027;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import { CourseService } from \u0027../../../services/course.service\u0027;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import { DeadlineExtensionHelper } from \u0027../../../services/deadline-extension-helper\u0027;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import { FeedbackQuestionsService } from \u0027../../../services/feedback-questions.service\u0027;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import { FeedbackResponseCommentService } from \u0027../../../services/feedback-response-comment.service\u0027;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import { FeedbackResponsesResponse, FeedbackResponsesService } from \u0027../../../services/feedback-responses.service\u0027;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import { FeedbackSessionsService } from \u0027../../../services/feedback-sessions.service\u0027;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import { InstructorService } from \u0027../../../services/instructor.service\u0027;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import { LogService } from \u0027../../../services/log.service\u0027;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import { NavigationService } from \u0027../../../services/navigation.service\u0027;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import { SimpleModalService } from \u0027../../../services/simple-modal.service\u0027;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import { StatusMessageService } from \u0027../../../services/status-message.service\u0027;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import { StudentService } from \u0027../../../services/student.service\u0027;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import { TimezoneService } from \u0027../../../services/timezone.service\u0027;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" AuthInfo,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" Course,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" FeedbackParticipantType,"},{"lineNumber":28,"author":{"gitId":"-"},"content":" FeedbackQuestion,"},{"lineNumber":29,"author":{"gitId":"-"},"content":" FeedbackQuestionRecipient,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" FeedbackQuestionRecipients,"},{"lineNumber":31,"author":{"gitId":"-"},"content":" FeedbackQuestionType,"},{"lineNumber":32,"author":{"gitId":"-"},"content":" FeedbackResponse,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" FeedbackResponseComment,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" FeedbackResponses,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" FeedbackSession,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" FeedbackSessionLogType,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" FeedbackSessionSubmissionStatus,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" Instructor,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" NumberOfEntitiesToGiveFeedbackToSetting,"},{"lineNumber":40,"author":{"gitId":"-"},"content":" RegkeyValidity,"},{"lineNumber":41,"author":{"gitId":"-"},"content":" Student,"},{"lineNumber":42,"author":{"gitId":"-"},"content":"} from \u0027../../../types/api-output\u0027;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import { FeedbackResponseRequest, Intent } from \u0027../../../types/api-request\u0027;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import { Milliseconds } from \u0027../../../types/datetime-const\u0027;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"import { DEFAULT_NUMBER_OF_RETRY_ATTEMPTS } from \u0027../../../types/default-retry-attempts\u0027;"},{"lineNumber":46,"author":{"gitId":"-"},"content":"import { CommentRowModel } from \u0027../../components/comment-box/comment-row/comment-row.component\u0027;"},{"lineNumber":47,"author":{"gitId":"-"},"content":"import { ErrorReportComponent } from \u0027../../components/error-report/error-report.component\u0027;"},{"lineNumber":48,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" FeedbackResponseRecipient,"},{"lineNumber":50,"author":{"gitId":"-"},"content":" FeedbackResponseRecipientSubmissionFormModel,"},{"lineNumber":51,"author":{"gitId":"-"},"content":" QuestionSubmissionFormMode,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" QuestionSubmissionFormModel,"},{"lineNumber":53,"author":{"gitId":"-"},"content":"} from \u0027../../components/question-submission-form/question-submission-form-model\u0027;"},{"lineNumber":54,"author":{"gitId":"-"},"content":"import { SimpleModalType } from \u0027../../components/simple-modal/simple-modal-type\u0027;"},{"lineNumber":55,"author":{"gitId":"-"},"content":"import { ErrorMessageOutput } from \u0027../../error-message-output\u0027;"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":"interface FeedbackQuestionsResponse {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" questions: FeedbackQuestion[];"},{"lineNumber":59,"author":{"gitId":"-"},"content":"}"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"// To export out"},{"lineNumber":62,"author":{"gitId":"-"},"content":"export enum SessionView {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" DEFAULT \u003d \u0027Question\u0027,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" GROUP_RECIPIENTS \u003d \u0027Recipient\u0027,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"}"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":68,"author":{"gitId":"-"},"content":" * Feedback session submission page."},{"lineNumber":69,"author":{"gitId":"-"},"content":" */"},{"lineNumber":70,"author":{"gitId":"-"},"content":"@Component({"},{"lineNumber":71,"author":{"gitId":"-"},"content":" selector: \u0027tm-session-submission-page\u0027,"},{"lineNumber":72,"author":{"gitId":"-"},"content":" templateUrl: \u0027./session-submission-page.component.html\u0027,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" styleUrls: [\u0027./session-submission-page.component.scss\u0027],"},{"lineNumber":74,"author":{"gitId":"-"},"content":"})"},{"lineNumber":75,"author":{"gitId":"-"},"content":"export class SessionSubmissionPageComponent implements OnInit, AfterViewInit {"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" // enum"},{"lineNumber":78,"author":{"gitId":"-"},"content":" FeedbackSessionSubmissionStatus: typeof FeedbackSessionSubmissionStatus \u003d FeedbackSessionSubmissionStatus;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" FeedbackQuestionType: typeof FeedbackQuestionType \u003d FeedbackQuestionType;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" Intent: typeof Intent \u003d Intent;"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" courseId: string \u003d \u0027\u0027;"},{"lineNumber":83,"author":{"gitId":"-"},"content":" feedbackSessionName: string \u003d \u0027\u0027;"},{"lineNumber":84,"author":{"gitId":"-"},"content":" regKey: string \u003d \u0027\u0027;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" entityType: string \u003d \u0027student\u0027;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" loggedInUser: string \u003d \u0027\u0027;"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" moderatedPerson: string \u003d \u0027\u0027;"},{"lineNumber":89,"author":{"gitId":"-"},"content":" previewAsPerson: string \u003d \u0027\u0027;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" // the name of the person involved"},{"lineNumber":91,"author":{"gitId":"-"},"content":" // (e.g. the student name for unregistered student, the name of instructor being moderated)"},{"lineNumber":92,"author":{"gitId":"-"},"content":" personName: string \u003d \u0027\u0027;"},{"lineNumber":93,"author":{"gitId":"-"},"content":" personEmail: string \u003d \u0027\u0027;"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" courseName: string \u003d \u0027\u0027;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" courseInstitute: string \u003d \u0027\u0027;"},{"lineNumber":97,"author":{"gitId":"-"},"content":" formattedSessionOpeningTime: string \u003d \u0027\u0027;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" formattedSessionClosingTime: string \u003d \u0027\u0027;"},{"lineNumber":99,"author":{"gitId":"-"},"content":" feedbackSessionInstructions: string \u003d \u0027\u0027;"},{"lineNumber":100,"author":{"gitId":"-"},"content":" feedbackSessionTimezone: string \u003d \u0027\u0027;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" feedbackSessionSubmissionStatus: FeedbackSessionSubmissionStatus \u003d FeedbackSessionSubmissionStatus.OPEN;"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" intent: Intent \u003d Intent.STUDENT_SUBMISSION;"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" questionSubmissionForms: QuestionSubmissionFormModel[] \u003d [];"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" isSavingResponses: boolean \u003d false;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" isSubmissionFormsDisabled: boolean \u003d false;"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" isModerationHintExpanded: boolean \u003d false;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" moderatedQuestionId: string \u003d \u0027\u0027;"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" isCourseLoading: boolean \u003d true;"},{"lineNumber":114,"author":{"gitId":"-"},"content":" isFeedbackSessionLoading: boolean \u003d true;"},{"lineNumber":115,"author":{"gitId":"-"},"content":" isFeedbackSessionQuestionsLoading: boolean \u003d true;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" hasFeedbackSessionQuestionsLoadingFailed: boolean \u003d false;"},{"lineNumber":117,"author":{"gitId":"-"},"content":" retryAttempts: number \u003d DEFAULT_NUMBER_OF_RETRY_ATTEMPTS;"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" isQuestionCountOne: boolean \u003d false;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" isSubmitAllClicked: boolean \u003d false;"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" allSessionViews \u003d SessionView;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" currentSelectedSessionView: SessionView \u003d SessionView.DEFAULT;"},{"lineNumber":124,"author":{"gitId":"-"},"content":" hasLoadedAllRecipients: boolean \u003d false;"},{"lineNumber":125,"author":{"gitId":"-"},"content":" // Records the recipient to groupable questions mapping used in grouping questions by recipients view"},{"lineNumber":126,"author":{"gitId":"-"},"content":" recipientQuestionMap: Map\u003cstring, Set\u003cnumber\u003e\u003e \u003d new Map\u003cstring, Set\u003cnumber\u003e\u003e();"},{"lineNumber":127,"author":{"gitId":"-"},"content":" ungroupableQuestions: Set\u003cnumber\u003e \u003d new Set();"},{"lineNumber":128,"author":{"gitId":"-"},"content":" ungroupableQuestionsSorted: number[] \u003d [];"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"dishenggg"},"content":" feedbackSessionId: string | undefined \u003d \u0027\u0027;"},{"lineNumber":131,"author":{"gitId":"dishenggg"},"content":" studentId: string | undefined \u003d \u0027\u0027;"},{"lineNumber":132,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" private backendUrl: string \u003d environment.backendUrl;"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" constructor(private route: ActivatedRoute,"},{"lineNumber":136,"author":{"gitId":"-"},"content":" private statusMessageService: StatusMessageService,"},{"lineNumber":137,"author":{"gitId":"-"},"content":" private timezoneService: TimezoneService,"},{"lineNumber":138,"author":{"gitId":"-"},"content":" private feedbackQuestionsService: FeedbackQuestionsService,"},{"lineNumber":139,"author":{"gitId":"-"},"content":" private feedbackResponsesService: FeedbackResponsesService,"},{"lineNumber":140,"author":{"gitId":"-"},"content":" private feedbackSessionsService: FeedbackSessionsService,"},{"lineNumber":141,"author":{"gitId":"-"},"content":" private studentService: StudentService,"},{"lineNumber":142,"author":{"gitId":"-"},"content":" private instructorService: InstructorService,"},{"lineNumber":143,"author":{"gitId":"-"},"content":" private courseService: CourseService,"},{"lineNumber":144,"author":{"gitId":"-"},"content":" private ngbModal: NgbModal,"},{"lineNumber":145,"author":{"gitId":"-"},"content":" private simpleModalService: SimpleModalService,"},{"lineNumber":146,"author":{"gitId":"-"},"content":" private pageScrollService: PageScrollService,"},{"lineNumber":147,"author":{"gitId":"-"},"content":" private authService: AuthService,"},{"lineNumber":148,"author":{"gitId":"-"},"content":" private navigationService: NavigationService,"},{"lineNumber":149,"author":{"gitId":"-"},"content":" private commentService: FeedbackResponseCommentService,"},{"lineNumber":150,"author":{"gitId":"-"},"content":" private logService: LogService,"},{"lineNumber":151,"author":{"gitId":"-"},"content":" @Inject(DOCUMENT) private document: any) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" this.timezoneService.getTzVersion(); // import timezone service to load timezone data"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" ngOnInit(): void {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" this.route.data.pipe("},{"lineNumber":157,"author":{"gitId":"-"},"content":" tap((data: any) \u003d\u003e {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" this.intent \u003d data.intent;"},{"lineNumber":159,"author":{"gitId":"-"},"content":" this.entityType \u003d data.intent \u003d\u003d\u003d Intent.INSTRUCTOR_SUBMISSION ? \u0027instructor\u0027 : this.entityType;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":161,"author":{"gitId":"-"},"content":" switchMap(() \u003d\u003e this.route.queryParams),"},{"lineNumber":162,"author":{"gitId":"-"},"content":" ).subscribe((queryParams: any) \u003d\u003e {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" this.courseId \u003d queryParams.courseid;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" this.feedbackSessionName \u003d queryParams.fsname;"},{"lineNumber":165,"author":{"gitId":"-"},"content":" this.regKey \u003d queryParams.key ? queryParams.key : \u0027\u0027;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" this.moderatedPerson \u003d queryParams.moderatedperson ? queryParams.moderatedperson : \u0027\u0027;"},{"lineNumber":167,"author":{"gitId":"-"},"content":" this.previewAsPerson \u003d queryParams.previewas ? queryParams.previewas : \u0027\u0027;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" if (queryParams.entitytype \u003d\u003d\u003d \u0027instructor\u0027) {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" this.entityType \u003d \u0027instructor\u0027;"},{"lineNumber":170,"author":{"gitId":"-"},"content":" this.intent \u003d Intent.INSTRUCTOR_SUBMISSION;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":" this.moderatedQuestionId \u003d queryParams.moderatedquestionId ? queryParams.moderatedquestionId : \u0027\u0027;"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" if (this.previewAsPerson) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" // disable submission in the preview mode"},{"lineNumber":176,"author":{"gitId":"-"},"content":" this.isSubmissionFormsDisabled \u003d true;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" const nextUrl: string \u003d `${window.location.pathname}${window.location.search.replace(/\u0026/g, \u0027%26\u0027)}`;"},{"lineNumber":180,"author":{"gitId":"-"},"content":" this.authService.getAuthUser(undefined, nextUrl).subscribe({"},{"lineNumber":181,"author":{"gitId":"-"},"content":" next: (auth: AuthInfo) \u003d\u003e {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" const isPreviewOrModeration: boolean \u003d !!(auth.user \u0026\u0026 (this.moderatedPerson || this.previewAsPerson));"},{"lineNumber":183,"author":{"gitId":"-"},"content":" if (auth.user) {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" this.loggedInUser \u003d auth.user.id;"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":" if (this.regKey \u0026\u0026 !isPreviewOrModeration) {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" this.authService.getAuthRegkeyValidity(this.regKey, this.intent).subscribe({"},{"lineNumber":188,"author":{"gitId":"-"},"content":" next: (resp: RegkeyValidity) \u003d\u003e {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" if (resp.isAllowedAccess) {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" if (resp.isUsed) {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" // The logged in user matches the registration key; redirect to the logged in URL"},{"lineNumber":192,"author":{"gitId":"-"},"content":" this.navigationService.navigateByURLWithParamEncoding("},{"lineNumber":193,"author":{"gitId":"-"},"content":" `/web/${this.entityType}/sessions/submission`,"},{"lineNumber":194,"author":{"gitId":"-"},"content":" { courseid: this.courseId, fsname: this.feedbackSessionName });"},{"lineNumber":195,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" // Valid, unused registration key; load information based on the key"},{"lineNumber":197,"author":{"gitId":"-"},"content":" this.loadCourseInfo();"},{"lineNumber":198,"author":{"gitId":"-"},"content":" this.loadPersonName();"},{"lineNumber":199,"author":{"gitId":"-"},"content":" this.loadFeedbackSession(false, auth);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":" } else if (resp.isValid) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" // At this point, registration key must already be used, otherwise access would be granted"},{"lineNumber":203,"author":{"gitId":"-"},"content":" if (this.loggedInUser) {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" // Registration key belongs to another user who is not the logged in user"},{"lineNumber":205,"author":{"gitId":"-"},"content":" this.navigationService.navigateWithErrorMessage(\u0027/web/front\u0027,"},{"lineNumber":206,"author":{"gitId":"-"},"content":" `You are trying to access TEAMMATES using the Google account ${this.loggedInUser}, which"},{"lineNumber":207,"author":{"gitId":"-"},"content":" is not linked to this TEAMMATES account. If you used a different Google account to"},{"lineNumber":208,"author":{"gitId":"-"},"content":" join/access TEAMMATES before, please use that Google account to access TEAMMATES. If you"},{"lineNumber":209,"author":{"gitId":"-"},"content":" cannot remember which Google account you used before, please email us at"},{"lineNumber":210,"author":{"gitId":"-"},"content":" ${environment.supportEmail} for help.`);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" this.loadFeedbackSession(true, auth);"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" // The registration key is invalid"},{"lineNumber":216,"author":{"gitId":"-"},"content":" this.navigationService.navigateWithErrorMessage(\u0027/web/front\u0027,"},{"lineNumber":217,"author":{"gitId":"-"},"content":" \u0027You are not authorized to view this page.\u0027);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":" },"},{"lineNumber":220,"author":{"gitId":"-"},"content":" error: () \u003d\u003e {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" this.navigationService.navigateWithErrorMessage(\u0027/web/front\u0027,"},{"lineNumber":222,"author":{"gitId":"-"},"content":" \u0027You are not authorized to view this page.\u0027);"},{"lineNumber":223,"author":{"gitId":"-"},"content":" },"},{"lineNumber":224,"author":{"gitId":"-"},"content":" });"},{"lineNumber":225,"author":{"gitId":"-"},"content":" } else if (this.loggedInUser) {"},{"lineNumber":226,"author":{"gitId":"-"},"content":" // Load information based on logged in user"},{"lineNumber":227,"author":{"gitId":"-"},"content":" // This will also cover moderation/preview cases"},{"lineNumber":228,"author":{"gitId":"-"},"content":" this.loadCourseInfo();"},{"lineNumber":229,"author":{"gitId":"-"},"content":" this.loadPersonName();"},{"lineNumber":230,"author":{"gitId":"-"},"content":" this.loadFeedbackSession(false, auth);"},{"lineNumber":231,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" this.navigationService.navigateWithErrorMessage(\u0027/web/front\u0027,"},{"lineNumber":233,"author":{"gitId":"-"},"content":" \u0027You are not authorized to view this page.\u0027);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":" },"},{"lineNumber":236,"author":{"gitId":"-"},"content":" error: () \u003d\u003e {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" this.navigationService.navigateWithErrorMessage(\u0027/web/front\u0027,"},{"lineNumber":238,"author":{"gitId":"-"},"content":" \u0027You are not authorized to view this page.\u0027);"},{"lineNumber":239,"author":{"gitId":"-"},"content":" },"},{"lineNumber":240,"author":{"gitId":"-"},"content":" });"},{"lineNumber":241,"author":{"gitId":"-"},"content":" });"},{"lineNumber":242,"author":{"gitId":"-"},"content":" }"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" // Solution for checking partial element visibility adapted from"},{"lineNumber":245,"author":{"gitId":"-"},"content":" // https://stackoverflow.com/questions/30943662/check-if-element-is-partially-in-viewport"},{"lineNumber":246,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * Checks if a given element is in view."},{"lineNumber":248,"author":{"gitId":"-"},"content":" *"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * @param e element to perform check for"},{"lineNumber":250,"author":{"gitId":"-"},"content":" */"},{"lineNumber":251,"author":{"gitId":"-"},"content":" isInViewport(e: HTMLElement): boolean {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" const rect \u003d e.getBoundingClientRect();"},{"lineNumber":253,"author":{"gitId":"-"},"content":" const windowHeight: number \u003d (window.innerHeight || document.documentElement.clientHeight);"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":" return !("},{"lineNumber":256,"author":{"gitId":"-"},"content":" Math.floor(100 - (((rect.top \u003e\u003d 0 ? 0 : rect.top) / +-rect.height) * 100)) \u003c 1"},{"lineNumber":257,"author":{"gitId":"-"},"content":" || Math.floor(100 - ((rect.bottom - windowHeight) / rect.height) * 100) \u003c 1"},{"lineNumber":258,"author":{"gitId":"-"},"content":" );"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":262,"author":{"gitId":"-"},"content":" * Scrolls to the question based on its given question id."},{"lineNumber":263,"author":{"gitId":"-"},"content":" */"},{"lineNumber":264,"author":{"gitId":"-"},"content":" scrollToQuestion(): void {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" const div: HTMLElement | null \u003d document.getElementById(this.moderatedQuestionId);"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":" // continue scrolling as long as the element to scroll to is yet to be found or not in view"},{"lineNumber":268,"author":{"gitId":"-"},"content":" if (div \u003d\u003d null || !(this.isInViewport(div))) {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" setTimeout(() \u003d\u003e {"},{"lineNumber":270,"author":{"gitId":"-"},"content":" this.pageScrollService.scroll({"},{"lineNumber":271,"author":{"gitId":"-"},"content":" document: this.document,"},{"lineNumber":272,"author":{"gitId":"-"},"content":" scrollTarget: `#${this.moderatedQuestionId}`,"},{"lineNumber":273,"author":{"gitId":"-"},"content":" scrollOffset: 70,"},{"lineNumber":274,"author":{"gitId":"-"},"content":" });"},{"lineNumber":275,"author":{"gitId":"-"},"content":" this.scrollToQuestion();"},{"lineNumber":276,"author":{"gitId":"-"},"content":" }, 500);"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" ngAfterViewInit(): void {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" if (!this.moderatedQuestionId) {"},{"lineNumber":282,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":283,"author":{"gitId":"-"},"content":" }"},{"lineNumber":284,"author":{"gitId":"-"},"content":" this.scrollToQuestion();"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" private loadCourseInfo(): void {"},{"lineNumber":288,"author":{"gitId":"-"},"content":" this.isCourseLoading \u003d true;"},{"lineNumber":289,"author":{"gitId":"-"},"content":" let request: Observable\u003cCourse\u003e;"},{"lineNumber":290,"author":{"gitId":"-"},"content":" switch (this.intent) {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" case Intent.STUDENT_SUBMISSION:"},{"lineNumber":292,"author":{"gitId":"-"},"content":" if (this.moderatedPerson || this.previewAsPerson) {"},{"lineNumber":293,"author":{"gitId":"-"},"content":" request \u003d this.courseService.getCourseAsInstructor(this.courseId);"},{"lineNumber":294,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":295,"author":{"gitId":"-"},"content":" request \u003d this.courseService.getCourseAsStudent(this.courseId, this.regKey);"},{"lineNumber":296,"author":{"gitId":"-"},"content":" }"},{"lineNumber":297,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":298,"author":{"gitId":"-"},"content":" case Intent.INSTRUCTOR_SUBMISSION:"},{"lineNumber":299,"author":{"gitId":"-"},"content":" request \u003d this.courseService.getCourseAsInstructor(this.courseId, this.regKey);"},{"lineNumber":300,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":301,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":302,"author":{"gitId":"-"},"content":" this.isCourseLoading \u003d false;"},{"lineNumber":303,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":" request.subscribe({"},{"lineNumber":306,"author":{"gitId":"-"},"content":" next: (resp: Course) \u003d\u003e {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" this.courseName \u003d resp.courseName;"},{"lineNumber":308,"author":{"gitId":"-"},"content":" this.courseInstitute \u003d resp.institute;"},{"lineNumber":309,"author":{"gitId":"-"},"content":" this.isCourseLoading \u003d false;"},{"lineNumber":310,"author":{"gitId":"-"},"content":" },"},{"lineNumber":311,"author":{"gitId":"-"},"content":" error: () \u003d\u003e {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" this.isCourseLoading \u003d false;"},{"lineNumber":313,"author":{"gitId":"-"},"content":" },"},{"lineNumber":314,"author":{"gitId":"-"},"content":" });"},{"lineNumber":315,"author":{"gitId":"-"},"content":" }"},{"lineNumber":316,"author":{"gitId":"-"},"content":""},{"lineNumber":317,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":318,"author":{"gitId":"-"},"content":" * Loads the name of the person involved in the submission."},{"lineNumber":319,"author":{"gitId":"-"},"content":" */"},{"lineNumber":320,"author":{"gitId":"-"},"content":" loadPersonName(): void {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" switch (this.intent) {"},{"lineNumber":322,"author":{"gitId":"-"},"content":" case Intent.STUDENT_SUBMISSION:"},{"lineNumber":323,"author":{"gitId":"-"},"content":" this.studentService.getStudent("},{"lineNumber":324,"author":{"gitId":"-"},"content":" this.courseId,"},{"lineNumber":325,"author":{"gitId":"-"},"content":" this.moderatedPerson || this.previewAsPerson,"},{"lineNumber":326,"author":{"gitId":"-"},"content":" this.regKey,"},{"lineNumber":327,"author":{"gitId":"-"},"content":" ).subscribe((student: Student) \u003d\u003e {"},{"lineNumber":328,"author":{"gitId":"dishenggg"},"content":" this.studentId \u003d student.studentId;"},{"lineNumber":329,"author":{"gitId":"-"},"content":" this.personName \u003d student.name;"},{"lineNumber":330,"author":{"gitId":"-"},"content":" this.personEmail \u003d student.email;"},{"lineNumber":331,"author":{"gitId":"dishenggg"},"content":" this.logStudentAccess();"},{"lineNumber":332,"author":{"gitId":"-"},"content":" });"},{"lineNumber":333,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":334,"author":{"gitId":"-"},"content":" case Intent.INSTRUCTOR_SUBMISSION:"},{"lineNumber":335,"author":{"gitId":"-"},"content":" this.instructorService.getInstructor({"},{"lineNumber":336,"author":{"gitId":"-"},"content":" courseId: this.courseId,"},{"lineNumber":337,"author":{"gitId":"-"},"content":" feedbackSessionName: this.feedbackSessionName,"},{"lineNumber":338,"author":{"gitId":"-"},"content":" intent: this.intent,"},{"lineNumber":339,"author":{"gitId":"-"},"content":" key: this.regKey,"},{"lineNumber":340,"author":{"gitId":"-"},"content":" moderatedPerson: this.moderatedPerson,"},{"lineNumber":341,"author":{"gitId":"-"},"content":" previewAs: this.previewAsPerson,"},{"lineNumber":342,"author":{"gitId":"-"},"content":" }).subscribe((instructor: Instructor) \u003d\u003e {"},{"lineNumber":343,"author":{"gitId":"-"},"content":" this.personName \u003d instructor.name;"},{"lineNumber":344,"author":{"gitId":"-"},"content":" this.personEmail \u003d instructor.email;"},{"lineNumber":345,"author":{"gitId":"-"},"content":" });"},{"lineNumber":346,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":347,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":348,"author":{"gitId":"-"},"content":" }"},{"lineNumber":349,"author":{"gitId":"-"},"content":" }"},{"lineNumber":350,"author":{"gitId":"-"},"content":""},{"lineNumber":351,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":352,"author":{"gitId":"-"},"content":" * Redirects to join course link for unregistered student/instructor."},{"lineNumber":353,"author":{"gitId":"-"},"content":" */"},{"lineNumber":354,"author":{"gitId":"-"},"content":" joinCourseForUnregisteredEntity(): void {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" this.navigationService.navigateByURL(\u0027/web/join\u0027, { entitytype: this.entityType, key: this.regKey });"},{"lineNumber":356,"author":{"gitId":"-"},"content":" }"},{"lineNumber":357,"author":{"gitId":"-"},"content":""},{"lineNumber":358,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":359,"author":{"gitId":"-"},"content":" * Loads the feedback session information."},{"lineNumber":360,"author":{"gitId":"-"},"content":" */"},{"lineNumber":361,"author":{"gitId":"-"},"content":" loadFeedbackSession(loginRequired: boolean, auth: AuthInfo): void {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" this.isFeedbackSessionLoading \u003d true;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" const TIME_FORMAT: string \u003d \u0027ddd, DD MMM, YYYY, hh:mm A zz\u0027;"},{"lineNumber":364,"author":{"gitId":"-"},"content":" this.feedbackSessionsService.getFeedbackSession({"},{"lineNumber":365,"author":{"gitId":"-"},"content":" courseId: this.courseId,"},{"lineNumber":366,"author":{"gitId":"-"},"content":" feedbackSessionName: this.feedbackSessionName,"},{"lineNumber":367,"author":{"gitId":"-"},"content":" intent: this.intent,"},{"lineNumber":368,"author":{"gitId":"-"},"content":" key: this.regKey,"},{"lineNumber":369,"author":{"gitId":"-"},"content":" moderatedPerson: this.moderatedPerson,"},{"lineNumber":370,"author":{"gitId":"-"},"content":" previewAs: this.previewAsPerson,"},{"lineNumber":371,"author":{"gitId":"-"},"content":" }).pipe(finalize(() \u003d\u003e {"},{"lineNumber":372,"author":{"gitId":"-"},"content":" this.isFeedbackSessionLoading \u003d false;"},{"lineNumber":373,"author":{"gitId":"-"},"content":" }))"},{"lineNumber":374,"author":{"gitId":"-"},"content":" .subscribe({"},{"lineNumber":375,"author":{"gitId":"-"},"content":" next: (feedbackSession: FeedbackSession) \u003d\u003e {"},{"lineNumber":376,"author":{"gitId":"dishenggg"},"content":" this.feedbackSessionId \u003d feedbackSession.feedbackSessionId;"},{"lineNumber":377,"author":{"gitId":"-"},"content":" this.feedbackSessionInstructions \u003d feedbackSession.instructions;"},{"lineNumber":378,"author":{"gitId":"-"},"content":" this.formattedSessionOpeningTime \u003d this.timezoneService"},{"lineNumber":379,"author":{"gitId":"-"},"content":" .formatToString(feedbackSession.submissionStartTimestamp, feedbackSession.timeZone, TIME_FORMAT);"},{"lineNumber":380,"author":{"gitId":"-"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":" this.formattedSessionClosingTime \u003d this.getformattedSessionClosingTime(feedbackSession, TIME_FORMAT);"},{"lineNumber":382,"author":{"gitId":"-"},"content":""},{"lineNumber":383,"author":{"gitId":"-"},"content":" this.feedbackSessionSubmissionStatus \u003d feedbackSession.submissionStatus;"},{"lineNumber":384,"author":{"gitId":"-"},"content":" this.feedbackSessionTimezone \u003d feedbackSession.timeZone;"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"dishenggg"},"content":" this.logStudentAccess();"},{"lineNumber":387,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":388,"author":{"gitId":"-"},"content":" // don\u0027t show alert modal in moderation"},{"lineNumber":389,"author":{"gitId":"-"},"content":" if (!this.moderatedPerson) {"},{"lineNumber":390,"author":{"gitId":"-"},"content":" let modalContent: string;"},{"lineNumber":391,"author":{"gitId":"-"},"content":" switch (feedbackSession.submissionStatus) {"},{"lineNumber":392,"author":{"gitId":"-"},"content":" case FeedbackSessionSubmissionStatus.VISIBLE_NOT_OPEN:"},{"lineNumber":393,"author":{"gitId":"-"},"content":" this.isSubmissionFormsDisabled \u003d true;"},{"lineNumber":394,"author":{"gitId":"-"},"content":" modalContent \u003d `\u003cp\u003e\u003cstrong\u003eThe feedback session is currently not open for submissions.\u003c/strong\u003e\u003c/p\u003e"},{"lineNumber":395,"author":{"gitId":"-"},"content":" \u003cp\u003eYou can view the questions and any submitted responses"},{"lineNumber":396,"author":{"gitId":"-"},"content":" for this feedback session but cannot submit new responses.\u003c/p\u003e`;"},{"lineNumber":397,"author":{"gitId":"-"},"content":" this.simpleModalService.openInformationModal("},{"lineNumber":398,"author":{"gitId":"-"},"content":" \u0027Feedback Session Not Open\u0027, SimpleModalType.WARNING, modalContent);"},{"lineNumber":399,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":400,"author":{"gitId":"-"},"content":" case FeedbackSessionSubmissionStatus.OPEN:"},{"lineNumber":401,"author":{"gitId":"-"},"content":" if (this.isFeedbackEndingLessThanFifteenMinutes(feedbackSession)) {"},{"lineNumber":402,"author":{"gitId":"-"},"content":" modalContent \u003d \u0027Warning: you have less than 15 minutes before the submission deadline expires!\u0027;"},{"lineNumber":403,"author":{"gitId":"-"},"content":" this.simpleModalService.openInformationModal("},{"lineNumber":404,"author":{"gitId":"-"},"content":" \u0027Feedback Session Will Be Closing Soon!\u0027, SimpleModalType.WARNING, modalContent);"},{"lineNumber":405,"author":{"gitId":"-"},"content":" }"},{"lineNumber":406,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":407,"author":{"gitId":"-"},"content":" case FeedbackSessionSubmissionStatus.CLOSED:"},{"lineNumber":408,"author":{"gitId":"-"},"content":" this.isSubmissionFormsDisabled \u003d true;"},{"lineNumber":409,"author":{"gitId":"-"},"content":" modalContent \u003d `\u003cp\u003e\u003cstrong\u003eFeedback Session is Closed\u003c/strong\u003e\u003c/p\u003e"},{"lineNumber":410,"author":{"gitId":"-"},"content":" \u003cp\u003eYou can view the questions and any submitted responses"},{"lineNumber":411,"author":{"gitId":"-"},"content":" for this feedback session but cannot submit new responses.\u003c/p\u003e`;"},{"lineNumber":412,"author":{"gitId":"-"},"content":" this.simpleModalService.openInformationModal("},{"lineNumber":413,"author":{"gitId":"-"},"content":" \u0027Feedback Session Closed\u0027, SimpleModalType.WARNING, modalContent);"},{"lineNumber":414,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":415,"author":{"gitId":"-"},"content":" case FeedbackSessionSubmissionStatus.GRACE_PERIOD:"},{"lineNumber":416,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":417,"author":{"gitId":"-"},"content":" }"},{"lineNumber":418,"author":{"gitId":"-"},"content":" }"},{"lineNumber":419,"author":{"gitId":"-"},"content":""},{"lineNumber":420,"author":{"gitId":"-"},"content":" this.loadFeedbackQuestions();"},{"lineNumber":421,"author":{"gitId":"-"},"content":""},{"lineNumber":422,"author":{"gitId":"-"},"content":" // Display note on submission on mobile device"},{"lineNumber":423,"author":{"gitId":"-"},"content":" const mobileDeviceWidth: number \u003d 768;"},{"lineNumber":424,"author":{"gitId":"-"},"content":" if (this.feedbackSessionSubmissionStatus \u003d\u003d\u003d FeedbackSessionSubmissionStatus.OPEN"},{"lineNumber":425,"author":{"gitId":"-"},"content":" \u0026\u0026 window.innerWidth \u003c mobileDeviceWidth) {"},{"lineNumber":426,"author":{"gitId":"-"},"content":" const modalContent: string \u003d `Note that you can use the Submit button to save responses already entered,"},{"lineNumber":427,"author":{"gitId":"-"},"content":" and continue to answer remaining questions after that."},{"lineNumber":428,"author":{"gitId":"-"},"content":" You may also edit your submission any number of times before the closing time of this session.`;"},{"lineNumber":429,"author":{"gitId":"-"},"content":" this.simpleModalService.openInformationModal("},{"lineNumber":430,"author":{"gitId":"-"},"content":" \u0027Note On Submission\u0027, SimpleModalType.INFO, modalContent);"},{"lineNumber":431,"author":{"gitId":"-"},"content":" }"},{"lineNumber":432,"author":{"gitId":"-"},"content":" },"},{"lineNumber":433,"author":{"gitId":"-"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":434,"author":{"gitId":"-"},"content":" if (resp.status \u003d\u003d\u003d 404) {"},{"lineNumber":435,"author":{"gitId":"-"},"content":" const message \u003d \u0027The session does not exist \u0027"},{"lineNumber":436,"author":{"gitId":"-"},"content":" + \u0027(most likely deleted by an instructor after the submission link was sent).\u0027;"},{"lineNumber":437,"author":{"gitId":"-"},"content":" this.simpleModalService.openInformationModal(\u0027Feedback Session Does Not Exist!\u0027, SimpleModalType.DANGER,"},{"lineNumber":438,"author":{"gitId":"-"},"content":" message,"},{"lineNumber":439,"author":{"gitId":"-"},"content":" {"},{"lineNumber":440,"author":{"gitId":"-"},"content":" onClosed: () \u003d\u003e this.navigationService.navigateByURL("},{"lineNumber":441,"author":{"gitId":"-"},"content":" this.loggedInUser ? `/web/${this.entityType}/home` : \u0027/web/front/home\u0027),"},{"lineNumber":442,"author":{"gitId":"-"},"content":" },"},{"lineNumber":443,"author":{"gitId":"-"},"content":" { backdrop: \u0027static\u0027 });"},{"lineNumber":444,"author":{"gitId":"-"},"content":" } else if (resp.status \u003d\u003d\u003d 403) {"},{"lineNumber":445,"author":{"gitId":"-"},"content":" if (loginRequired \u0026\u0026 !auth.user) {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" // There is no logged in user for a valid, used registration key, redirect to login page"},{"lineNumber":447,"author":{"gitId":"-"},"content":" if (this.entityType \u003d\u003d\u003d \u0027student\u0027) {"},{"lineNumber":448,"author":{"gitId":"-"},"content":" window.location.href \u003d `${this.backendUrl}${auth.studentLoginUrl}`;"},{"lineNumber":449,"author":{"gitId":"-"},"content":" } else if (this.entityType \u003d\u003d\u003d \u0027instructor\u0027) {"},{"lineNumber":450,"author":{"gitId":"-"},"content":" window.location.href \u003d `${this.backendUrl}${auth.instructorLoginUrl}`;"},{"lineNumber":451,"author":{"gitId":"-"},"content":" }"},{"lineNumber":452,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":453,"author":{"gitId":"-"},"content":" this.simpleModalService.openInformationModal(\u0027Not Authorised To Access!\u0027, SimpleModalType.DANGER,"},{"lineNumber":454,"author":{"gitId":"-"},"content":" resp.error.message,"},{"lineNumber":455,"author":{"gitId":"-"},"content":" {"},{"lineNumber":456,"author":{"gitId":"-"},"content":" onClosed: () \u003d\u003e this.navigationService.navigateByURL("},{"lineNumber":457,"author":{"gitId":"-"},"content":" this.loggedInUser ? `/web/${this.entityType}/home` : \u0027/web/front/home\u0027),"},{"lineNumber":458,"author":{"gitId":"-"},"content":" },"},{"lineNumber":459,"author":{"gitId":"-"},"content":" { backdrop: \u0027static\u0027 });"},{"lineNumber":460,"author":{"gitId":"-"},"content":" }"},{"lineNumber":461,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":462,"author":{"gitId":"-"},"content":" this.navigationService.navigateWithErrorMessage("},{"lineNumber":463,"author":{"gitId":"-"},"content":" `/web/${this.entityType}/home`, resp.error.message);"},{"lineNumber":464,"author":{"gitId":"-"},"content":" }"},{"lineNumber":465,"author":{"gitId":"-"},"content":" },"},{"lineNumber":466,"author":{"gitId":"-"},"content":" });"},{"lineNumber":467,"author":{"gitId":"-"},"content":" }"},{"lineNumber":468,"author":{"gitId":"-"},"content":""},{"lineNumber":469,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":470,"author":{"gitId":"-"},"content":" * Loads feedback questions to submit."},{"lineNumber":471,"author":{"gitId":"-"},"content":" */"},{"lineNumber":472,"author":{"gitId":"-"},"content":" loadFeedbackQuestions(): void {"},{"lineNumber":473,"author":{"gitId":"-"},"content":" this.isFeedbackSessionQuestionsLoading \u003d true;"},{"lineNumber":474,"author":{"gitId":"-"},"content":" this.questionSubmissionForms \u003d [];"},{"lineNumber":475,"author":{"gitId":"-"},"content":" this.feedbackQuestionsService.getFeedbackQuestions({"},{"lineNumber":476,"author":{"gitId":"-"},"content":" courseId: this.courseId,"},{"lineNumber":477,"author":{"gitId":"-"},"content":" feedbackSessionName: this.feedbackSessionName,"},{"lineNumber":478,"author":{"gitId":"-"},"content":" intent: this.intent,"},{"lineNumber":479,"author":{"gitId":"-"},"content":" key: this.regKey,"},{"lineNumber":480,"author":{"gitId":"-"},"content":" moderatedPerson: this.moderatedPerson,"},{"lineNumber":481,"author":{"gitId":"-"},"content":" previewAs: this.previewAsPerson,"},{"lineNumber":482,"author":{"gitId":"-"},"content":" }).pipe(finalize(() \u003d\u003e {"},{"lineNumber":483,"author":{"gitId":"-"},"content":" this.isFeedbackSessionQuestionsLoading \u003d false;"},{"lineNumber":484,"author":{"gitId":"-"},"content":" }))"},{"lineNumber":485,"author":{"gitId":"-"},"content":" .subscribe({"},{"lineNumber":486,"author":{"gitId":"-"},"content":" next: (response: FeedbackQuestionsResponse) \u003d\u003e {"},{"lineNumber":487,"author":{"gitId":"-"},"content":" response.questions.forEach((feedbackQuestion: FeedbackQuestion) \u003d\u003e {"},{"lineNumber":488,"author":{"gitId":"-"},"content":" const model: QuestionSubmissionFormModel \u003d {"},{"lineNumber":489,"author":{"gitId":"-"},"content":" isLoading: false,"},{"lineNumber":490,"author":{"gitId":"-"},"content":" isLoaded: false,"},{"lineNumber":491,"author":{"gitId":"-"},"content":" isTabExpanded: true,"},{"lineNumber":492,"author":{"gitId":"-"},"content":" feedbackQuestionId: feedbackQuestion.feedbackQuestionId,"},{"lineNumber":493,"author":{"gitId":"-"},"content":""},{"lineNumber":494,"author":{"gitId":"-"},"content":" questionNumber: feedbackQuestion.questionNumber,"},{"lineNumber":495,"author":{"gitId":"-"},"content":" questionBrief: feedbackQuestion.questionBrief,"},{"lineNumber":496,"author":{"gitId":"-"},"content":" questionDescription: feedbackQuestion.questionDescription,"},{"lineNumber":497,"author":{"gitId":"-"},"content":""},{"lineNumber":498,"author":{"gitId":"-"},"content":" giverType: feedbackQuestion.giverType,"},{"lineNumber":499,"author":{"gitId":"-"},"content":" recipientType: feedbackQuestion.recipientType,"},{"lineNumber":500,"author":{"gitId":"-"},"content":" recipientList: [],"},{"lineNumber":501,"author":{"gitId":"-"},"content":" recipientSubmissionForms: [],"},{"lineNumber":502,"author":{"gitId":"-"},"content":""},{"lineNumber":503,"author":{"gitId":"-"},"content":" questionType: feedbackQuestion.questionType,"},{"lineNumber":504,"author":{"gitId":"-"},"content":" questionDetails: feedbackQuestion.questionDetails,"},{"lineNumber":505,"author":{"gitId":"-"},"content":""},{"lineNumber":506,"author":{"gitId":"-"},"content":" numberOfEntitiesToGiveFeedbackToSetting: feedbackQuestion.numberOfEntitiesToGiveFeedbackToSetting,"},{"lineNumber":507,"author":{"gitId":"-"},"content":" customNumberOfEntitiesToGiveFeedbackTo: feedbackQuestion.customNumberOfEntitiesToGiveFeedbackTo"},{"lineNumber":508,"author":{"gitId":"-"},"content":" ? feedbackQuestion.customNumberOfEntitiesToGiveFeedbackTo : 0,"},{"lineNumber":509,"author":{"gitId":"-"},"content":""},{"lineNumber":510,"author":{"gitId":"-"},"content":" showGiverNameTo: feedbackQuestion.showGiverNameTo,"},{"lineNumber":511,"author":{"gitId":"-"},"content":" showRecipientNameTo: feedbackQuestion.showRecipientNameTo,"},{"lineNumber":512,"author":{"gitId":"-"},"content":" showResponsesTo: feedbackQuestion.showResponsesTo,"},{"lineNumber":513,"author":{"gitId":"-"},"content":""},{"lineNumber":514,"author":{"gitId":"-"},"content":" hasResponseChangedForRecipients: new Map\u003cstring, boolean\u003e(),"},{"lineNumber":515,"author":{"gitId":"-"},"content":" isTabExpandedForRecipients: new Map\u003cstring, boolean\u003e(),"},{"lineNumber":516,"author":{"gitId":"-"},"content":" };"},{"lineNumber":517,"author":{"gitId":"-"},"content":" this.questionSubmissionForms.push(model);"},{"lineNumber":518,"author":{"gitId":"-"},"content":" });"},{"lineNumber":519,"author":{"gitId":"-"},"content":""},{"lineNumber":520,"author":{"gitId":"-"},"content":" this.isQuestionCountOne \u003d this.questionSubmissionForms.length \u003d\u003d\u003d 1;"},{"lineNumber":521,"author":{"gitId":"-"},"content":" },"},{"lineNumber":522,"author":{"gitId":"-"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":523,"author":{"gitId":"-"},"content":" this.handleError(resp);"},{"lineNumber":524,"author":{"gitId":"-"},"content":" },"},{"lineNumber":525,"author":{"gitId":"-"},"content":" });"},{"lineNumber":526,"author":{"gitId":"-"},"content":" }"},{"lineNumber":527,"author":{"gitId":"-"},"content":""},{"lineNumber":528,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":529,"author":{"gitId":"-"},"content":" * Tracks the question submission form by feedback question id."},{"lineNumber":530,"author":{"gitId":"-"},"content":" *"},{"lineNumber":531,"author":{"gitId":"-"},"content":" * @see https://angular.io/api/common/NgForOf#properties"},{"lineNumber":532,"author":{"gitId":"-"},"content":" */"},{"lineNumber":533,"author":{"gitId":"-"},"content":" trackQuestionSubmissionFormByFn(_: any, item: QuestionSubmissionFormModel): any {"},{"lineNumber":534,"author":{"gitId":"-"},"content":" return item.feedbackQuestionId;"},{"lineNumber":535,"author":{"gitId":"-"},"content":" }"},{"lineNumber":536,"author":{"gitId":"-"},"content":""},{"lineNumber":537,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":538,"author":{"gitId":"-"},"content":" * Loads the feedback question recipients for the question."},{"lineNumber":539,"author":{"gitId":"-"},"content":" */"},{"lineNumber":540,"author":{"gitId":"-"},"content":" loadFeedbackQuestionRecipientsForQuestion(model: QuestionSubmissionFormModel): void {"},{"lineNumber":541,"author":{"gitId":"-"},"content":" this.feedbackQuestionsService.loadFeedbackQuestionRecipients({"},{"lineNumber":542,"author":{"gitId":"-"},"content":" questionId: model.feedbackQuestionId,"},{"lineNumber":543,"author":{"gitId":"-"},"content":" intent: this.intent,"},{"lineNumber":544,"author":{"gitId":"-"},"content":" key: this.regKey,"},{"lineNumber":545,"author":{"gitId":"-"},"content":" moderatedPerson: this.moderatedPerson,"},{"lineNumber":546,"author":{"gitId":"-"},"content":" previewAs: this.previewAsPerson,"},{"lineNumber":547,"author":{"gitId":"-"},"content":" }).subscribe({"},{"lineNumber":548,"author":{"gitId":"-"},"content":" next: (response: FeedbackQuestionRecipients) \u003d\u003e {"},{"lineNumber":549,"author":{"gitId":"-"},"content":" response.recipients.forEach((recipient: FeedbackQuestionRecipient) \u003d\u003e {"},{"lineNumber":550,"author":{"gitId":"-"},"content":" model.recipientList.push({"},{"lineNumber":551,"author":{"gitId":"-"},"content":" recipientIdentifier: recipient.identifier,"},{"lineNumber":552,"author":{"gitId":"-"},"content":" recipientName: recipient.name,"},{"lineNumber":553,"author":{"gitId":"-"},"content":" recipientSection: recipient.section,"},{"lineNumber":554,"author":{"gitId":"-"},"content":" recipientTeam: recipient.team,"},{"lineNumber":555,"author":{"gitId":"-"},"content":" });"},{"lineNumber":556,"author":{"gitId":"-"},"content":" });"},{"lineNumber":557,"author":{"gitId":"-"},"content":""},{"lineNumber":558,"author":{"gitId":"-"},"content":" if (!this.hasLoadedAllRecipients) {"},{"lineNumber":559,"author":{"gitId":"-"},"content":" // Keep track of the recipient to questions mapping and the ungroupable questions even before"},{"lineNumber":560,"author":{"gitId":"-"},"content":" // changing to grouping questions by recipients view"},{"lineNumber":561,"author":{"gitId":"-"},"content":" if (this.getQuestionSubmissionFormModeInDefaultView(model) \u003d\u003d\u003d QuestionSubmissionFormMode.FIXED_RECIPIENT"},{"lineNumber":562,"author":{"gitId":"-"},"content":" \u0026\u0026 model.questionType !\u003d\u003d FeedbackQuestionType.RANK_RECIPIENTS"},{"lineNumber":563,"author":{"gitId":"-"},"content":" \u0026\u0026 model.questionType !\u003d\u003d FeedbackQuestionType.CONSTSUM_RECIPIENTS"},{"lineNumber":564,"author":{"gitId":"-"},"content":" \u0026\u0026 model.questionType !\u003d\u003d FeedbackQuestionType.CONTRIB) {"},{"lineNumber":565,"author":{"gitId":"-"},"content":" model.recipientList.forEach((recipient: FeedbackResponseRecipient) \u003d\u003e {"},{"lineNumber":566,"author":{"gitId":"-"},"content":" this.addQuestionForRecipient(recipient.recipientIdentifier, model.questionNumber);"},{"lineNumber":567,"author":{"gitId":"-"},"content":" });"},{"lineNumber":568,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":569,"author":{"gitId":"-"},"content":" this.ungroupableQuestions.add(model.questionNumber);"},{"lineNumber":570,"author":{"gitId":"-"},"content":" }"},{"lineNumber":571,"author":{"gitId":"-"},"content":" }"},{"lineNumber":572,"author":{"gitId":"-"},"content":""},{"lineNumber":573,"author":{"gitId":"-"},"content":" if (this.previewAsPerson) {"},{"lineNumber":574,"author":{"gitId":"-"},"content":" // don\u0027t load responses in preview mode"},{"lineNumber":575,"author":{"gitId":"-"},"content":" // generate a list of empty response box"},{"lineNumber":576,"author":{"gitId":"-"},"content":" const formMode: QuestionSubmissionFormMode \u003d this.getQuestionSubmissionFormModeInDefaultView(model);"},{"lineNumber":577,"author":{"gitId":"-"},"content":" model.recipientList.forEach((recipient: FeedbackResponseRecipient) \u003d\u003e {"},{"lineNumber":578,"author":{"gitId":"-"},"content":" if (formMode \u003d\u003d\u003d QuestionSubmissionFormMode.FLEXIBLE_RECIPIENT"},{"lineNumber":579,"author":{"gitId":"-"},"content":" \u0026\u0026 model.recipientSubmissionForms.length \u003e\u003d model.customNumberOfEntitiesToGiveFeedbackTo) {"},{"lineNumber":580,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":581,"author":{"gitId":"-"},"content":" }"},{"lineNumber":582,"author":{"gitId":"-"},"content":""},{"lineNumber":583,"author":{"gitId":"-"},"content":" let recipientIdentifier: string \u003d \u0027\u0027;"},{"lineNumber":584,"author":{"gitId":"-"},"content":" if (formMode !\u003d\u003d QuestionSubmissionFormMode.FLEXIBLE_RECIPIENT) {"},{"lineNumber":585,"author":{"gitId":"-"},"content":" recipientIdentifier \u003d recipient.recipientIdentifier;"},{"lineNumber":586,"author":{"gitId":"-"},"content":" }"},{"lineNumber":587,"author":{"gitId":"-"},"content":""},{"lineNumber":588,"author":{"gitId":"-"},"content":" model.recipientSubmissionForms.push({"},{"lineNumber":589,"author":{"gitId":"-"},"content":" recipientIdentifier,"},{"lineNumber":590,"author":{"gitId":"-"},"content":" responseDetails: this.feedbackResponsesService.getDefaultFeedbackResponseDetails(model.questionType),"},{"lineNumber":591,"author":{"gitId":"-"},"content":" responseId: \u0027\u0027,"},{"lineNumber":592,"author":{"gitId":"-"},"content":" isValid: true,"},{"lineNumber":593,"author":{"gitId":"-"},"content":" });"},{"lineNumber":594,"author":{"gitId":"-"},"content":" });"},{"lineNumber":595,"author":{"gitId":"-"},"content":" model.isLoading \u003d false;"},{"lineNumber":596,"author":{"gitId":"-"},"content":" model.isLoaded \u003d true;"},{"lineNumber":597,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":598,"author":{"gitId":"-"},"content":" this.loadFeedbackResponses(model);"},{"lineNumber":599,"author":{"gitId":"-"},"content":" }"},{"lineNumber":600,"author":{"gitId":"-"},"content":" },"},{"lineNumber":601,"author":{"gitId":"-"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e this.statusMessageService.showErrorToast(resp.error.message),"},{"lineNumber":602,"author":{"gitId":"-"},"content":" });"},{"lineNumber":603,"author":{"gitId":"-"},"content":" }"},{"lineNumber":604,"author":{"gitId":"-"},"content":""},{"lineNumber":605,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":606,"author":{"gitId":"-"},"content":" * Gets the form mode of the question submission form."},{"lineNumber":607,"author":{"gitId":"-"},"content":" */"},{"lineNumber":608,"author":{"gitId":"-"},"content":" getQuestionSubmissionFormMode(model: QuestionSubmissionFormModel, recipientListLength: number):"},{"lineNumber":609,"author":{"gitId":"-"},"content":" QuestionSubmissionFormMode {"},{"lineNumber":610,"author":{"gitId":"-"},"content":" const isNumberOfEntitiesToGiveFeedbackToSettingLimited: boolean \u003d"},{"lineNumber":611,"author":{"gitId":"-"},"content":" (model.recipientType \u003d\u003d\u003d FeedbackParticipantType.STUDENTS"},{"lineNumber":612,"author":{"gitId":"-"},"content":" || model.recipientType \u003d\u003d\u003d FeedbackParticipantType.STUDENTS_EXCLUDING_SELF"},{"lineNumber":613,"author":{"gitId":"-"},"content":" || model.recipientType \u003d\u003d\u003d FeedbackParticipantType.STUDENTS_IN_SAME_SECTION"},{"lineNumber":614,"author":{"gitId":"-"},"content":" || model.recipientType \u003d\u003d\u003d FeedbackParticipantType.TEAMS"},{"lineNumber":615,"author":{"gitId":"-"},"content":" || model.recipientType \u003d\u003d\u003d FeedbackParticipantType.TEAMS_EXCLUDING_SELF"},{"lineNumber":616,"author":{"gitId":"-"},"content":" || model.recipientType \u003d\u003d\u003d FeedbackParticipantType.TEAMS_IN_SAME_SECTION"},{"lineNumber":617,"author":{"gitId":"-"},"content":" || model.recipientType \u003d\u003d\u003d FeedbackParticipantType.INSTRUCTORS)"},{"lineNumber":618,"author":{"gitId":"-"},"content":" \u0026\u0026 model.numberOfEntitiesToGiveFeedbackToSetting \u003d\u003d\u003d NumberOfEntitiesToGiveFeedbackToSetting.CUSTOM"},{"lineNumber":619,"author":{"gitId":"-"},"content":" \u0026\u0026 recipientListLength \u003e model.customNumberOfEntitiesToGiveFeedbackTo;"},{"lineNumber":620,"author":{"gitId":"-"},"content":""},{"lineNumber":621,"author":{"gitId":"-"},"content":" return isNumberOfEntitiesToGiveFeedbackToSettingLimited"},{"lineNumber":622,"author":{"gitId":"-"},"content":" ? QuestionSubmissionFormMode.FLEXIBLE_RECIPIENT : QuestionSubmissionFormMode.FIXED_RECIPIENT;"},{"lineNumber":623,"author":{"gitId":"-"},"content":" }"},{"lineNumber":624,"author":{"gitId":"-"},"content":""},{"lineNumber":625,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":626,"author":{"gitId":"-"},"content":" * Gets the form mode of the question submission form in {@code DEFAULT} view."},{"lineNumber":627,"author":{"gitId":"-"},"content":" */"},{"lineNumber":628,"author":{"gitId":"-"},"content":" getQuestionSubmissionFormModeInDefaultView(model: QuestionSubmissionFormModel): QuestionSubmissionFormMode {"},{"lineNumber":629,"author":{"gitId":"-"},"content":" return this.getQuestionSubmissionFormMode(model, model.recipientList.length);"},{"lineNumber":630,"author":{"gitId":"-"},"content":" }"},{"lineNumber":631,"author":{"gitId":"-"},"content":""},{"lineNumber":632,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":633,"author":{"gitId":"-"},"content":" * Loads the responses of the feedback question to {@recipientSubmissionForms} in the model."},{"lineNumber":634,"author":{"gitId":"-"},"content":" */"},{"lineNumber":635,"author":{"gitId":"-"},"content":" loadFeedbackResponses(model: QuestionSubmissionFormModel): void {"},{"lineNumber":636,"author":{"gitId":"-"},"content":" this.feedbackResponsesService.getFeedbackResponse({"},{"lineNumber":637,"author":{"gitId":"-"},"content":" questionId: model.feedbackQuestionId,"},{"lineNumber":638,"author":{"gitId":"-"},"content":" intent: this.intent,"},{"lineNumber":639,"author":{"gitId":"-"},"content":" key: this.regKey,"},{"lineNumber":640,"author":{"gitId":"-"},"content":" moderatedPerson: this.moderatedPerson,"},{"lineNumber":641,"author":{"gitId":"-"},"content":" }).pipe(finalize(() \u003d\u003e {"},{"lineNumber":642,"author":{"gitId":"-"},"content":" model.isLoading \u003d false;"},{"lineNumber":643,"author":{"gitId":"-"},"content":" model.isLoaded \u003d true;"},{"lineNumber":644,"author":{"gitId":"-"},"content":" }))"},{"lineNumber":645,"author":{"gitId":"-"},"content":" .subscribe({"},{"lineNumber":646,"author":{"gitId":"-"},"content":" next: (existingResponses: FeedbackResponsesResponse) \u003d\u003e {"},{"lineNumber":647,"author":{"gitId":"-"},"content":" if (this.getQuestionSubmissionFormModeInDefaultView(model) \u003d\u003d\u003d QuestionSubmissionFormMode.FIXED_RECIPIENT) {"},{"lineNumber":648,"author":{"gitId":"-"},"content":" // need to generate a full list of submission forms"},{"lineNumber":649,"author":{"gitId":"-"},"content":" model.recipientList.forEach((recipient: FeedbackResponseRecipient) \u003d\u003e {"},{"lineNumber":650,"author":{"gitId":"-"},"content":" const matchedExistingResponse: FeedbackResponse | undefined \u003d"},{"lineNumber":651,"author":{"gitId":"-"},"content":" existingResponses.responses.find("},{"lineNumber":652,"author":{"gitId":"-"},"content":" (response: FeedbackResponse) \u003d\u003e response.recipientIdentifier \u003d\u003d\u003d recipient.recipientIdentifier);"},{"lineNumber":653,"author":{"gitId":"-"},"content":" const submissionForm: FeedbackResponseRecipientSubmissionFormModel \u003d {"},{"lineNumber":654,"author":{"gitId":"-"},"content":" recipientIdentifier: recipient.recipientIdentifier,"},{"lineNumber":655,"author":{"gitId":"-"},"content":" responseDetails: matchedExistingResponse"},{"lineNumber":656,"author":{"gitId":"-"},"content":" ? matchedExistingResponse.responseDetails"},{"lineNumber":657,"author":{"gitId":"-"},"content":" : this.feedbackResponsesService.getDefaultFeedbackResponseDetails(model.questionType),"},{"lineNumber":658,"author":{"gitId":"-"},"content":" responseId: matchedExistingResponse ? matchedExistingResponse.feedbackResponseId : \u0027\u0027,"},{"lineNumber":659,"author":{"gitId":"-"},"content":" isValid: true,"},{"lineNumber":660,"author":{"gitId":"-"},"content":" };"},{"lineNumber":661,"author":{"gitId":"-"},"content":" if (matchedExistingResponse \u0026\u0026 matchedExistingResponse.giverComment) {"},{"lineNumber":662,"author":{"gitId":"-"},"content":" submissionForm.commentByGiver \u003d this.getCommentModel("},{"lineNumber":663,"author":{"gitId":"-"},"content":" matchedExistingResponse.giverComment, recipient.recipientIdentifier);"},{"lineNumber":664,"author":{"gitId":"-"},"content":" }"},{"lineNumber":665,"author":{"gitId":"-"},"content":" model.recipientSubmissionForms.push(submissionForm);"},{"lineNumber":666,"author":{"gitId":"-"},"content":" });"},{"lineNumber":667,"author":{"gitId":"-"},"content":" }"},{"lineNumber":668,"author":{"gitId":"-"},"content":""},{"lineNumber":669,"author":{"gitId":"-"},"content":" if (this.getQuestionSubmissionFormModeInDefaultView(model)"},{"lineNumber":670,"author":{"gitId":"-"},"content":" \u003d\u003d\u003d QuestionSubmissionFormMode.FLEXIBLE_RECIPIENT) {"},{"lineNumber":671,"author":{"gitId":"-"},"content":" // need to generate limited number of submission forms"},{"lineNumber":672,"author":{"gitId":"-"},"content":" let numberOfRecipientSubmissionFormsNeeded: number \u003d"},{"lineNumber":673,"author":{"gitId":"-"},"content":" model.customNumberOfEntitiesToGiveFeedbackTo - existingResponses.responses.length;"},{"lineNumber":674,"author":{"gitId":"-"},"content":""},{"lineNumber":675,"author":{"gitId":"-"},"content":" existingResponses.responses.forEach((response: FeedbackResponse) \u003d\u003e {"},{"lineNumber":676,"author":{"gitId":"-"},"content":" const submissionForm: FeedbackResponseRecipientSubmissionFormModel \u003d {"},{"lineNumber":677,"author":{"gitId":"-"},"content":" recipientIdentifier: response.recipientIdentifier,"},{"lineNumber":678,"author":{"gitId":"-"},"content":" responseDetails: response.responseDetails,"},{"lineNumber":679,"author":{"gitId":"-"},"content":" responseId: response.feedbackResponseId,"},{"lineNumber":680,"author":{"gitId":"-"},"content":" isValid: true,"},{"lineNumber":681,"author":{"gitId":"-"},"content":" };"},{"lineNumber":682,"author":{"gitId":"-"},"content":" if (response.giverComment) {"},{"lineNumber":683,"author":{"gitId":"-"},"content":" submissionForm.commentByGiver \u003d this.getCommentModel("},{"lineNumber":684,"author":{"gitId":"-"},"content":" response.giverComment, response.recipientIdentifier);"},{"lineNumber":685,"author":{"gitId":"-"},"content":" }"},{"lineNumber":686,"author":{"gitId":"-"},"content":" model.recipientSubmissionForms.push(submissionForm);"},{"lineNumber":687,"author":{"gitId":"-"},"content":" });"},{"lineNumber":688,"author":{"gitId":"-"},"content":""},{"lineNumber":689,"author":{"gitId":"-"},"content":" // generate empty submission forms"},{"lineNumber":690,"author":{"gitId":"-"},"content":" while (numberOfRecipientSubmissionFormsNeeded \u003e 0) {"},{"lineNumber":691,"author":{"gitId":"-"},"content":" model.recipientSubmissionForms.push({"},{"lineNumber":692,"author":{"gitId":"-"},"content":" recipientIdentifier: \u0027\u0027,"},{"lineNumber":693,"author":{"gitId":"-"},"content":" responseDetails: this.feedbackResponsesService.getDefaultFeedbackResponseDetails(model.questionType),"},{"lineNumber":694,"author":{"gitId":"-"},"content":" responseId: \u0027\u0027,"},{"lineNumber":695,"author":{"gitId":"-"},"content":" isValid: true,"},{"lineNumber":696,"author":{"gitId":"-"},"content":" });"},{"lineNumber":697,"author":{"gitId":"-"},"content":" numberOfRecipientSubmissionFormsNeeded -\u003d 1;"},{"lineNumber":698,"author":{"gitId":"-"},"content":" }"},{"lineNumber":699,"author":{"gitId":"-"},"content":" }"},{"lineNumber":700,"author":{"gitId":"-"},"content":" },"},{"lineNumber":701,"author":{"gitId":"-"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e this.statusMessageService.showErrorToast(resp.error.message),"},{"lineNumber":702,"author":{"gitId":"-"},"content":" });"},{"lineNumber":703,"author":{"gitId":"-"},"content":" }"},{"lineNumber":704,"author":{"gitId":"-"},"content":""},{"lineNumber":705,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":706,"author":{"gitId":"-"},"content":" * Gets the comment model for a given comment."},{"lineNumber":707,"author":{"gitId":"-"},"content":" */"},{"lineNumber":708,"author":{"gitId":"-"},"content":" getCommentModel(comment: FeedbackResponseComment, recipientIdentifier: string): CommentRowModel {"},{"lineNumber":709,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":710,"author":{"gitId":"-"},"content":" originalComment: comment,"},{"lineNumber":711,"author":{"gitId":"-"},"content":" originalRecipientIdentifier: recipientIdentifier,"},{"lineNumber":712,"author":{"gitId":"-"},"content":" commentEditFormModel: {"},{"lineNumber":713,"author":{"gitId":"-"},"content":" commentText: comment.commentText,"},{"lineNumber":714,"author":{"gitId":"-"},"content":" // the participant comment shall not use custom visibilities"},{"lineNumber":715,"author":{"gitId":"-"},"content":" isUsingCustomVisibilities: false,"},{"lineNumber":716,"author":{"gitId":"-"},"content":" showCommentTo: [],"},{"lineNumber":717,"author":{"gitId":"-"},"content":" showGiverNameTo: [],"},{"lineNumber":718,"author":{"gitId":"-"},"content":" },"},{"lineNumber":719,"author":{"gitId":"-"},"content":" timezone: this.feedbackSessionTimezone,"},{"lineNumber":720,"author":{"gitId":"-"},"content":" isEditing: false,"},{"lineNumber":721,"author":{"gitId":"-"},"content":" };"},{"lineNumber":722,"author":{"gitId":"-"},"content":" }"},{"lineNumber":723,"author":{"gitId":"-"},"content":""},{"lineNumber":724,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":725,"author":{"gitId":"-"},"content":" * Checks whether there is any submission forms in the current page."},{"lineNumber":726,"author":{"gitId":"-"},"content":" */"},{"lineNumber":727,"author":{"gitId":"-"},"content":" get questionsNeedingSubmission(): QuestionSubmissionFormModel[] {"},{"lineNumber":728,"author":{"gitId":"-"},"content":" return this.questionSubmissionForms"},{"lineNumber":729,"author":{"gitId":"-"},"content":" .filter((model: QuestionSubmissionFormModel) \u003d\u003e model.recipientSubmissionForms.length !\u003d\u003d 0);"},{"lineNumber":730,"author":{"gitId":"-"},"content":" }"},{"lineNumber":731,"author":{"gitId":"-"},"content":""},{"lineNumber":732,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":733,"author":{"gitId":"-"},"content":" * Saves the feedback responses for the specific questions."},{"lineNumber":734,"author":{"gitId":"-"},"content":" *"},{"lineNumber":735,"author":{"gitId":"-"},"content":" * \u003cp\u003eAll empty feedback response will be deleted; For non-empty responses, update/create them if necessary."},{"lineNumber":736,"author":{"gitId":"-"},"content":" *"},{"lineNumber":737,"author":{"gitId":"-"},"content":" * @param questionSubmissionForms An array of question submission forms to be saved"},{"lineNumber":738,"author":{"gitId":"-"},"content":" * @param isSubmitAll Is the \u0027Submit Responses for All Questions\u0027 button clicked when saving responses"},{"lineNumber":739,"author":{"gitId":"-"},"content":" * @param recipientId The recipient identifier of the selected recipient when saving responses for this recipient"},{"lineNumber":740,"author":{"gitId":"-"},"content":" * only. This parameter will be null when saving responses for all questions or saving responses for one question."},{"lineNumber":741,"author":{"gitId":"-"},"content":" */"},{"lineNumber":742,"author":{"gitId":"-"},"content":" saveFeedbackResponses(questionSubmissionForms: QuestionSubmissionFormModel[],"},{"lineNumber":743,"author":{"gitId":"-"},"content":" isSubmitAll: boolean, recipientId: string | null): void {"},{"lineNumber":744,"author":{"gitId":"-"},"content":" if (isSubmitAll) {"},{"lineNumber":745,"author":{"gitId":"-"},"content":" this.isSubmitAllClicked \u003d true;"},{"lineNumber":746,"author":{"gitId":"-"},"content":" }"},{"lineNumber":747,"author":{"gitId":"-"},"content":""},{"lineNumber":748,"author":{"gitId":"-"},"content":" const notYetAnsweredQuestions: Set\u003cnumber\u003e \u003d new Set();"},{"lineNumber":749,"author":{"gitId":"-"},"content":" const requestIds: Record\u003cstring, string\u003e \u003d {};"},{"lineNumber":750,"author":{"gitId":"-"},"content":" const answers: Record\u003cstring, FeedbackResponse[]\u003e \u003d {};"},{"lineNumber":751,"author":{"gitId":"-"},"content":" const failToSaveQuestions: Record\u003cnumber, string\u003e \u003d {}; // Map of question number to error message"},{"lineNumber":752,"author":{"gitId":"-"},"content":" const savingRequests: Observable\u003cany\u003e[] \u003d [];"},{"lineNumber":753,"author":{"gitId":"-"},"content":""},{"lineNumber":754,"author":{"gitId":"-"},"content":" this.logService.createFeedbackSessionLog({"},{"lineNumber":755,"author":{"gitId":"-"},"content":" courseId: this.courseId,"},{"lineNumber":756,"author":{"gitId":"-"},"content":" feedbackSessionName: this.feedbackSessionName,"},{"lineNumber":757,"author":{"gitId":"-"},"content":" studentEmail: this.personEmail,"},{"lineNumber":758,"author":{"gitId":"-"},"content":" logType: FeedbackSessionLogType.SUBMISSION,"},{"lineNumber":759,"author":{"gitId":"dishenggg"},"content":" feedbackSessionId: this.feedbackSessionId,"},{"lineNumber":760,"author":{"gitId":"dishenggg"},"content":" studentId: this.studentId,"},{"lineNumber":761,"author":{"gitId":"dishenggg"},"content":" }).subscribe();"},{"lineNumber":762,"author":{"gitId":"-"},"content":""},{"lineNumber":763,"author":{"gitId":"-"},"content":" questionSubmissionForms.forEach((questionSubmissionFormModel: QuestionSubmissionFormModel) \u003d\u003e {"},{"lineNumber":764,"author":{"gitId":"-"},"content":" let isQuestionFullyAnswered: boolean \u003d true;"},{"lineNumber":765,"author":{"gitId":"-"},"content":""},{"lineNumber":766,"author":{"gitId":"-"},"content":" const responses: FeedbackResponseRequest[] \u003d [];"},{"lineNumber":767,"author":{"gitId":"-"},"content":""},{"lineNumber":768,"author":{"gitId":"-"},"content":" questionSubmissionFormModel.recipientSubmissionForms"},{"lineNumber":769,"author":{"gitId":"-"},"content":" .forEach((recipientSubmissionFormModel: FeedbackResponseRecipientSubmissionFormModel) \u003d\u003e {"},{"lineNumber":770,"author":{"gitId":"-"},"content":" if (!recipientSubmissionFormModel.isValid) {"},{"lineNumber":771,"author":{"gitId":"-"},"content":" failToSaveQuestions[questionSubmissionFormModel.questionNumber] \u003d"},{"lineNumber":772,"author":{"gitId":"-"},"content":" \u0027Invalid responses provided. Please check question constraints.\u0027;"},{"lineNumber":773,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":774,"author":{"gitId":"-"},"content":" }"},{"lineNumber":775,"author":{"gitId":"-"},"content":" const isFeedbackResponseDetailsEmpty: boolean \u003d"},{"lineNumber":776,"author":{"gitId":"-"},"content":" this.feedbackResponsesService.isFeedbackResponseDetailsEmpty("},{"lineNumber":777,"author":{"gitId":"-"},"content":" questionSubmissionFormModel.questionType, recipientSubmissionFormModel.responseDetails);"},{"lineNumber":778,"author":{"gitId":"-"},"content":""},{"lineNumber":779,"author":{"gitId":"-"},"content":" if (!isFeedbackResponseDetailsEmpty) {"},{"lineNumber":780,"author":{"gitId":"-"},"content":" responses.push({"},{"lineNumber":781,"author":{"gitId":"-"},"content":" recipient: recipientSubmissionFormModel.recipientIdentifier,"},{"lineNumber":782,"author":{"gitId":"-"},"content":" responseDetails: recipientSubmissionFormModel.responseDetails,"},{"lineNumber":783,"author":{"gitId":"-"},"content":" });"},{"lineNumber":784,"author":{"gitId":"-"},"content":" }"},{"lineNumber":785,"author":{"gitId":"-"},"content":" });"},{"lineNumber":786,"author":{"gitId":"-"},"content":""},{"lineNumber":787,"author":{"gitId":"-"},"content":" isQuestionFullyAnswered \u003d responses.length \u003e 0;"},{"lineNumber":788,"author":{"gitId":"-"},"content":""},{"lineNumber":789,"author":{"gitId":"-"},"content":" if (!failToSaveQuestions[questionSubmissionFormModel.questionNumber]) {"},{"lineNumber":790,"author":{"gitId":"-"},"content":" savingRequests.push("},{"lineNumber":791,"author":{"gitId":"-"},"content":" this.feedbackResponsesService.submitFeedbackResponses(questionSubmissionFormModel.feedbackQuestionId, {"},{"lineNumber":792,"author":{"gitId":"-"},"content":" responses,"},{"lineNumber":793,"author":{"gitId":"-"},"content":" }, {"},{"lineNumber":794,"author":{"gitId":"-"},"content":" intent: this.intent,"},{"lineNumber":795,"author":{"gitId":"-"},"content":" key: this.regKey,"},{"lineNumber":796,"author":{"gitId":"-"},"content":" moderatedperson: this.moderatedPerson,"},{"lineNumber":797,"author":{"gitId":"-"},"content":" singlerecipientidforsubmission: recipientId?.toString() || \u0027\u0027,"},{"lineNumber":798,"author":{"gitId":"-"},"content":" }).pipe("},{"lineNumber":799,"author":{"gitId":"-"},"content":" tap((resp: FeedbackResponses) \u003d\u003e {"},{"lineNumber":800,"author":{"gitId":"-"},"content":" const responsesMap: Record\u003cstring, FeedbackResponse\u003e \u003d {};"},{"lineNumber":801,"author":{"gitId":"-"},"content":" resp.responses.forEach((response: FeedbackResponse) \u003d\u003e {"},{"lineNumber":802,"author":{"gitId":"-"},"content":" responsesMap[response.recipientIdentifier] \u003d response;"},{"lineNumber":803,"author":{"gitId":"-"},"content":" answers[questionSubmissionFormModel.feedbackQuestionId] \u003d"},{"lineNumber":804,"author":{"gitId":"-"},"content":" answers[questionSubmissionFormModel.feedbackQuestionId] || [];"},{"lineNumber":805,"author":{"gitId":"-"},"content":" answers[questionSubmissionFormModel.feedbackQuestionId].push(response);"},{"lineNumber":806,"author":{"gitId":"-"},"content":" });"},{"lineNumber":807,"author":{"gitId":"-"},"content":" requestIds[questionSubmissionFormModel.feedbackQuestionId] \u003d resp.requestId || \u0027\u0027;"},{"lineNumber":808,"author":{"gitId":"-"},"content":""},{"lineNumber":809,"author":{"gitId":"-"},"content":" questionSubmissionFormModel.recipientSubmissionForms"},{"lineNumber":810,"author":{"gitId":"-"},"content":" .forEach((recipientSubmissionFormModel: FeedbackResponseRecipientSubmissionFormModel) \u003d\u003e {"},{"lineNumber":811,"author":{"gitId":"-"},"content":" if (responsesMap[recipientSubmissionFormModel.recipientIdentifier]) {"},{"lineNumber":812,"author":{"gitId":"-"},"content":" const correspondingResp: FeedbackResponse \u003d"},{"lineNumber":813,"author":{"gitId":"-"},"content":" responsesMap[recipientSubmissionFormModel.recipientIdentifier];"},{"lineNumber":814,"author":{"gitId":"-"},"content":" recipientSubmissionFormModel.responseId \u003d correspondingResp.feedbackResponseId;"},{"lineNumber":815,"author":{"gitId":"-"},"content":" recipientSubmissionFormModel.responseDetails \u003d correspondingResp.responseDetails;"},{"lineNumber":816,"author":{"gitId":"-"},"content":" recipientSubmissionFormModel.recipientIdentifier \u003d correspondingResp.recipientIdentifier;"},{"lineNumber":817,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":818,"author":{"gitId":"-"},"content":" recipientSubmissionFormModel.responseId \u003d \u0027\u0027;"},{"lineNumber":819,"author":{"gitId":"-"},"content":" recipientSubmissionFormModel.commentByGiver \u003d undefined;"},{"lineNumber":820,"author":{"gitId":"-"},"content":" }"},{"lineNumber":821,"author":{"gitId":"-"},"content":" });"},{"lineNumber":822,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":823,"author":{"gitId":"-"},"content":" switchMap(() \u003d\u003e"},{"lineNumber":824,"author":{"gitId":"-"},"content":" forkJoin(questionSubmissionFormModel.recipientSubmissionForms"},{"lineNumber":825,"author":{"gitId":"-"},"content":" .map((recipientSubmissionFormModel: FeedbackResponseRecipientSubmissionFormModel) \u003d\u003e"},{"lineNumber":826,"author":{"gitId":"-"},"content":" this.createCommentRequest(recipientSubmissionFormModel))),"},{"lineNumber":827,"author":{"gitId":"-"},"content":" ),"},{"lineNumber":828,"author":{"gitId":"-"},"content":" catchError((error: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":829,"author":{"gitId":"-"},"content":" failToSaveQuestions[questionSubmissionFormModel.questionNumber] \u003d error.error.message;"},{"lineNumber":830,"author":{"gitId":"-"},"content":" return of(error);"},{"lineNumber":831,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":832,"author":{"gitId":"-"},"content":" ),"},{"lineNumber":833,"author":{"gitId":"-"},"content":" );"},{"lineNumber":834,"author":{"gitId":"-"},"content":" }"},{"lineNumber":835,"author":{"gitId":"-"},"content":""},{"lineNumber":836,"author":{"gitId":"-"},"content":" if (!isQuestionFullyAnswered) {"},{"lineNumber":837,"author":{"gitId":"-"},"content":" notYetAnsweredQuestions.add(questionSubmissionFormModel.questionNumber);"},{"lineNumber":838,"author":{"gitId":"-"},"content":" }"},{"lineNumber":839,"author":{"gitId":"-"},"content":" });"},{"lineNumber":840,"author":{"gitId":"-"},"content":""},{"lineNumber":841,"author":{"gitId":"-"},"content":" this.isSavingResponses \u003d true;"},{"lineNumber":842,"author":{"gitId":"-"},"content":" forkJoin(savingRequests).pipe("},{"lineNumber":843,"author":{"gitId":"-"},"content":" finalize(() \u003d\u003e {"},{"lineNumber":844,"author":{"gitId":"-"},"content":" this.isSavingResponses \u003d false;"},{"lineNumber":845,"author":{"gitId":"-"},"content":""},{"lineNumber":846,"author":{"gitId":"-"},"content":" const modalRef: NgbModalRef \u003d this.ngbModal.open(SavingCompleteModalComponent);"},{"lineNumber":847,"author":{"gitId":"-"},"content":" modalRef.componentInstance.requestIds \u003d requestIds;"},{"lineNumber":848,"author":{"gitId":"-"},"content":" modalRef.componentInstance.courseId \u003d this.courseId;"},{"lineNumber":849,"author":{"gitId":"-"},"content":" modalRef.componentInstance.feedbackSessionName \u003d this.feedbackSessionName;"},{"lineNumber":850,"author":{"gitId":"-"},"content":" modalRef.componentInstance.feedbackSessionTimezone \u003d this.feedbackSessionTimezone;"},{"lineNumber":851,"author":{"gitId":"-"},"content":" modalRef.componentInstance.personEmail \u003d this.personEmail;"},{"lineNumber":852,"author":{"gitId":"-"},"content":" modalRef.componentInstance.personName \u003d this.personName;"},{"lineNumber":853,"author":{"gitId":"-"},"content":" modalRef.componentInstance.questions \u003d questionSubmissionForms;"},{"lineNumber":854,"author":{"gitId":"-"},"content":" modalRef.componentInstance.answers \u003d answers;"},{"lineNumber":855,"author":{"gitId":"-"},"content":" modalRef.componentInstance.notYetAnsweredQuestions \u003d Array.from(notYetAnsweredQuestions.values());"},{"lineNumber":856,"author":{"gitId":"-"},"content":" modalRef.componentInstance.failToSaveQuestions \u003d failToSaveQuestions;"},{"lineNumber":857,"author":{"gitId":"-"},"content":""},{"lineNumber":858,"author":{"gitId":"-"},"content":" if (recipientId) {"},{"lineNumber":859,"author":{"gitId":"-"},"content":" this.questionSubmissionForms.forEach((model: QuestionSubmissionFormModel) \u003d\u003e {"},{"lineNumber":860,"author":{"gitId":"-"},"content":" if (this.recipientQuestionMap.get(recipientId)!.has(model.questionNumber)) {"},{"lineNumber":861,"author":{"gitId":"-"},"content":" model.hasResponseChangedForRecipients.set(recipientId, false);"},{"lineNumber":862,"author":{"gitId":"-"},"content":" }"},{"lineNumber":863,"author":{"gitId":"-"},"content":" });"},{"lineNumber":864,"author":{"gitId":"-"},"content":" }"},{"lineNumber":865,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":866,"author":{"gitId":"-"},"content":" ).subscribe();"},{"lineNumber":867,"author":{"gitId":"-"},"content":" }"},{"lineNumber":868,"author":{"gitId":"-"},"content":""},{"lineNumber":869,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":870,"author":{"gitId":"-"},"content":" * Creates comment request."},{"lineNumber":871,"author":{"gitId":"-"},"content":" */"},{"lineNumber":872,"author":{"gitId":"-"},"content":" createCommentRequest(recipientSubmissionFormModel: FeedbackResponseRecipientSubmissionFormModel): Observable\u003cany\u003e {"},{"lineNumber":873,"author":{"gitId":"-"},"content":" if (!recipientSubmissionFormModel.responseId) {"},{"lineNumber":874,"author":{"gitId":"-"},"content":" // responseId not set, cannot set comment"},{"lineNumber":875,"author":{"gitId":"-"},"content":" return of({});"},{"lineNumber":876,"author":{"gitId":"-"},"content":" }"},{"lineNumber":877,"author":{"gitId":"-"},"content":" if (!recipientSubmissionFormModel.commentByGiver) {"},{"lineNumber":878,"author":{"gitId":"-"},"content":" // comment not given, do nothing"},{"lineNumber":879,"author":{"gitId":"-"},"content":" return of({});"},{"lineNumber":880,"author":{"gitId":"-"},"content":" }"},{"lineNumber":881,"author":{"gitId":"-"},"content":""},{"lineNumber":882,"author":{"gitId":"-"},"content":" const isSameRecipient \u003d recipientSubmissionFormModel.recipientIdentifier"},{"lineNumber":883,"author":{"gitId":"-"},"content":" \u003d\u003d\u003d recipientSubmissionFormModel.commentByGiver.originalRecipientIdentifier;"},{"lineNumber":884,"author":{"gitId":"-"},"content":""},{"lineNumber":885,"author":{"gitId":"-"},"content":" if (!recipientSubmissionFormModel.commentByGiver.originalComment || !isSameRecipient) {"},{"lineNumber":886,"author":{"gitId":"-"},"content":" // comment is new or original comment deleted because recipient has changed"},{"lineNumber":887,"author":{"gitId":"-"},"content":""},{"lineNumber":888,"author":{"gitId":"-"},"content":" if (recipientSubmissionFormModel.commentByGiver.commentEditFormModel.commentText \u003d\u003d\u003d \u0027\u0027) {"},{"lineNumber":889,"author":{"gitId":"-"},"content":" // new comment is empty"},{"lineNumber":890,"author":{"gitId":"-"},"content":" recipientSubmissionFormModel.commentByGiver \u003d undefined;"},{"lineNumber":891,"author":{"gitId":"-"},"content":" return of({});"},{"lineNumber":892,"author":{"gitId":"-"},"content":" }"},{"lineNumber":893,"author":{"gitId":"-"},"content":""},{"lineNumber":894,"author":{"gitId":"-"},"content":" // create new comment"},{"lineNumber":895,"author":{"gitId":"-"},"content":" return this.commentService.createComment({"},{"lineNumber":896,"author":{"gitId":"-"},"content":" commentText: recipientSubmissionFormModel.commentByGiver.commentEditFormModel.commentText,"},{"lineNumber":897,"author":{"gitId":"-"},"content":" // we ignore the fields in comment edit model as participant comment"},{"lineNumber":898,"author":{"gitId":"-"},"content":" // will follow visibilities from question by design"},{"lineNumber":899,"author":{"gitId":"-"},"content":" showCommentTo: [],"},{"lineNumber":900,"author":{"gitId":"-"},"content":" showGiverNameTo: [],"},{"lineNumber":901,"author":{"gitId":"-"},"content":" }, recipientSubmissionFormModel.responseId, this.intent, {"},{"lineNumber":902,"author":{"gitId":"-"},"content":" key: this.regKey,"},{"lineNumber":903,"author":{"gitId":"-"},"content":" moderatedperson: this.moderatedPerson,"},{"lineNumber":904,"author":{"gitId":"-"},"content":" }).pipe("},{"lineNumber":905,"author":{"gitId":"-"},"content":" tap((comment: FeedbackResponseComment) \u003d\u003e {"},{"lineNumber":906,"author":{"gitId":"-"},"content":" recipientSubmissionFormModel.commentByGiver \u003d this.getCommentModel("},{"lineNumber":907,"author":{"gitId":"-"},"content":" comment, recipientSubmissionFormModel.recipientIdentifier);"},{"lineNumber":908,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":909,"author":{"gitId":"-"},"content":" );"},{"lineNumber":910,"author":{"gitId":"-"},"content":" }"},{"lineNumber":911,"author":{"gitId":"-"},"content":""},{"lineNumber":912,"author":{"gitId":"-"},"content":" // existing comment"},{"lineNumber":913,"author":{"gitId":"-"},"content":""},{"lineNumber":914,"author":{"gitId":"-"},"content":" if (recipientSubmissionFormModel.commentByGiver.commentEditFormModel.commentText \u003d\u003d\u003d \u0027\u0027) {"},{"lineNumber":915,"author":{"gitId":"-"},"content":" // comment is empty, create delete request"},{"lineNumber":916,"author":{"gitId":"-"},"content":" return this.commentService.deleteComment("},{"lineNumber":917,"author":{"gitId":"-"},"content":" recipientSubmissionFormModel.commentByGiver.originalComment.feedbackResponseCommentId, this.intent, {"},{"lineNumber":918,"author":{"gitId":"-"},"content":" key: this.regKey,"},{"lineNumber":919,"author":{"gitId":"-"},"content":" moderatedperson: this.moderatedPerson,"},{"lineNumber":920,"author":{"gitId":"-"},"content":" })"},{"lineNumber":921,"author":{"gitId":"-"},"content":" .pipe("},{"lineNumber":922,"author":{"gitId":"-"},"content":" tap(() \u003d\u003e {"},{"lineNumber":923,"author":{"gitId":"-"},"content":" recipientSubmissionFormModel.commentByGiver \u003d undefined;"},{"lineNumber":924,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":925,"author":{"gitId":"-"},"content":" }"},{"lineNumber":926,"author":{"gitId":"-"},"content":""},{"lineNumber":927,"author":{"gitId":"-"},"content":" // update comment"},{"lineNumber":928,"author":{"gitId":"-"},"content":" return this.commentService.updateComment({"},{"lineNumber":929,"author":{"gitId":"-"},"content":" commentText: recipientSubmissionFormModel.commentByGiver.commentEditFormModel.commentText,"},{"lineNumber":930,"author":{"gitId":"-"},"content":" // we ignore the fields in comment edit model as participant comment"},{"lineNumber":931,"author":{"gitId":"-"},"content":" // will follow visibilities from question by design"},{"lineNumber":932,"author":{"gitId":"-"},"content":" showCommentTo: [],"},{"lineNumber":933,"author":{"gitId":"-"},"content":" showGiverNameTo: [],"},{"lineNumber":934,"author":{"gitId":"-"},"content":" }, recipientSubmissionFormModel.commentByGiver.originalComment.feedbackResponseCommentId, this.intent, {"},{"lineNumber":935,"author":{"gitId":"-"},"content":" key: this.regKey,"},{"lineNumber":936,"author":{"gitId":"-"},"content":" moderatedperson: this.moderatedPerson,"},{"lineNumber":937,"author":{"gitId":"-"},"content":" }).pipe("},{"lineNumber":938,"author":{"gitId":"-"},"content":" tap((comment: FeedbackResponseComment) \u003d\u003e {"},{"lineNumber":939,"author":{"gitId":"-"},"content":" recipientSubmissionFormModel.commentByGiver \u003d this.getCommentModel("},{"lineNumber":940,"author":{"gitId":"-"},"content":" comment, recipientSubmissionFormModel.recipientIdentifier);"},{"lineNumber":941,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":942,"author":{"gitId":"-"},"content":" );"},{"lineNumber":943,"author":{"gitId":"-"},"content":" }"},{"lineNumber":944,"author":{"gitId":"-"},"content":""},{"lineNumber":945,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":946,"author":{"gitId":"-"},"content":" * Deletes a comment by participants."},{"lineNumber":947,"author":{"gitId":"-"},"content":" */"},{"lineNumber":948,"author":{"gitId":"-"},"content":" deleteParticipantComment(questionIndex: number, responseIdx: number): void {"},{"lineNumber":949,"author":{"gitId":"-"},"content":" const recipientSubmissionFormModel: FeedbackResponseRecipientSubmissionFormModel \u003d"},{"lineNumber":950,"author":{"gitId":"-"},"content":" this.questionSubmissionForms[questionIndex].recipientSubmissionForms[responseIdx];"},{"lineNumber":951,"author":{"gitId":"-"},"content":""},{"lineNumber":952,"author":{"gitId":"-"},"content":" if (!recipientSubmissionFormModel.commentByGiver || !recipientSubmissionFormModel.commentByGiver.originalComment) {"},{"lineNumber":953,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":954,"author":{"gitId":"-"},"content":" }"},{"lineNumber":955,"author":{"gitId":"-"},"content":""},{"lineNumber":956,"author":{"gitId":"-"},"content":" this.commentService.deleteComment("},{"lineNumber":957,"author":{"gitId":"-"},"content":" recipientSubmissionFormModel.commentByGiver.originalComment.feedbackResponseCommentId, this.intent, {"},{"lineNumber":958,"author":{"gitId":"-"},"content":" key: this.regKey,"},{"lineNumber":959,"author":{"gitId":"-"},"content":" moderatedperson: this.moderatedPerson,"},{"lineNumber":960,"author":{"gitId":"-"},"content":" })"},{"lineNumber":961,"author":{"gitId":"-"},"content":" .subscribe({"},{"lineNumber":962,"author":{"gitId":"-"},"content":" next: () \u003d\u003e {"},{"lineNumber":963,"author":{"gitId":"-"},"content":" recipientSubmissionFormModel.commentByGiver \u003d undefined;"},{"lineNumber":964,"author":{"gitId":"-"},"content":" this.statusMessageService.showSuccessToast(\u0027Your comment has been deleted!\u0027);"},{"lineNumber":965,"author":{"gitId":"-"},"content":" },"},{"lineNumber":966,"author":{"gitId":"-"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":967,"author":{"gitId":"-"},"content":" this.statusMessageService.showErrorToast(resp.error.message);"},{"lineNumber":968,"author":{"gitId":"-"},"content":" },"},{"lineNumber":969,"author":{"gitId":"-"},"content":" });"},{"lineNumber":970,"author":{"gitId":"-"},"content":" }"},{"lineNumber":971,"author":{"gitId":"-"},"content":""},{"lineNumber":972,"author":{"gitId":"-"},"content":" retryLoadingFeedbackSessionQuestions(): void {"},{"lineNumber":973,"author":{"gitId":"-"},"content":" this.hasFeedbackSessionQuestionsLoadingFailed \u003d false;"},{"lineNumber":974,"author":{"gitId":"-"},"content":" if (this.retryAttempts \u003e\u003d 0) {"},{"lineNumber":975,"author":{"gitId":"-"},"content":" this.retryAttempts -\u003d 1;"},{"lineNumber":976,"author":{"gitId":"-"},"content":" }"},{"lineNumber":977,"author":{"gitId":"-"},"content":" this.loadFeedbackQuestions();"},{"lineNumber":978,"author":{"gitId":"-"},"content":" }"},{"lineNumber":979,"author":{"gitId":"-"},"content":""},{"lineNumber":980,"author":{"gitId":"-"},"content":" handleError(resp: ErrorMessageOutput): void {"},{"lineNumber":981,"author":{"gitId":"-"},"content":" this.hasFeedbackSessionQuestionsLoadingFailed \u003d true;"},{"lineNumber":982,"author":{"gitId":"-"},"content":" if (this.retryAttempts \u003c 0) {"},{"lineNumber":983,"author":{"gitId":"-"},"content":" const report: NgbModalRef \u003d this.ngbModal.open(ErrorReportComponent);"},{"lineNumber":984,"author":{"gitId":"-"},"content":" report.componentInstance.requestId \u003d resp.error.requestId;"},{"lineNumber":985,"author":{"gitId":"-"},"content":" report.componentInstance.errorMessage \u003d resp.error.message;"},{"lineNumber":986,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":987,"author":{"gitId":"-"},"content":" this.statusMessageService.showErrorToast(resp.error.message);"},{"lineNumber":988,"author":{"gitId":"-"},"content":" }"},{"lineNumber":989,"author":{"gitId":"-"},"content":" }"},{"lineNumber":990,"author":{"gitId":"-"},"content":""},{"lineNumber":991,"author":{"gitId":"-"},"content":" loadRecipientsAndResponses(event: any, questionSubmissionForm: QuestionSubmissionFormModel): void {"},{"lineNumber":992,"author":{"gitId":"-"},"content":" if (event \u0026\u0026 event.visible \u0026\u0026 !questionSubmissionForm.isLoaded \u0026\u0026 !questionSubmissionForm.isLoading) {"},{"lineNumber":993,"author":{"gitId":"-"},"content":" questionSubmissionForm.isLoading \u003d true;"},{"lineNumber":994,"author":{"gitId":"-"},"content":" this.loadFeedbackQuestionRecipientsForQuestion(questionSubmissionForm);"},{"lineNumber":995,"author":{"gitId":"-"},"content":" }"},{"lineNumber":996,"author":{"gitId":"-"},"content":" }"},{"lineNumber":997,"author":{"gitId":"-"},"content":""},{"lineNumber":998,"author":{"gitId":"-"},"content":" private getformattedSessionClosingTime(feedbackSession: FeedbackSession, TIME_FORMAT: string): string {"},{"lineNumber":999,"author":{"gitId":"-"},"content":" const userSessionEndingTime \u003d DeadlineExtensionHelper.getUserFeedbackSessionEndingTimestamp(feedbackSession);"},{"lineNumber":1000,"author":{"gitId":"-"},"content":" let formattedString \u003d this.timezoneService.formatToString("},{"lineNumber":1001,"author":{"gitId":"-"},"content":" userSessionEndingTime, feedbackSession.timeZone, TIME_FORMAT);"},{"lineNumber":1002,"author":{"gitId":"-"},"content":" if (DeadlineExtensionHelper.hasUserExtension(feedbackSession)) {"},{"lineNumber":1003,"author":{"gitId":"-"},"content":" formattedString +\u003d \u0027 (Extension given)\u0027;"},{"lineNumber":1004,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1005,"author":{"gitId":"-"},"content":" return formattedString;"},{"lineNumber":1006,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1007,"author":{"gitId":"-"},"content":""},{"lineNumber":1008,"author":{"gitId":"-"},"content":" private isFeedbackEndingLessThanFifteenMinutes(feedbackSession: FeedbackSession): boolean {"},{"lineNumber":1009,"author":{"gitId":"-"},"content":" const userSessionEndingTime \u003d DeadlineExtensionHelper.getOngoingUserFeedbackSessionEndingTimestamp(feedbackSession);"},{"lineNumber":1010,"author":{"gitId":"-"},"content":" return (userSessionEndingTime - Date.now()) \u003c Milliseconds.IN_FIFTEEN_MINUTES;"},{"lineNumber":1011,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1012,"author":{"gitId":"-"},"content":""},{"lineNumber":1013,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1014,"author":{"gitId":"-"},"content":" * Filter questions that we are submitting for intended recipient"},{"lineNumber":1015,"author":{"gitId":"-"},"content":" * when grouped session view is toggled and save the responses after."},{"lineNumber":1016,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1017,"author":{"gitId":"-"},"content":" saveResponsesForSelectedRecipientQuestions(recipientId: string,"},{"lineNumber":1018,"author":{"gitId":"-"},"content":" questionSubmissionForms: QuestionSubmissionFormModel[]): void {"},{"lineNumber":1019,"author":{"gitId":"-"},"content":" const questionsToRecipient: Set\u003cnumber\u003e | undefined \u003d this.recipientQuestionMap.get(recipientId);"},{"lineNumber":1020,"author":{"gitId":"-"},"content":" if (!questionsToRecipient) {"},{"lineNumber":1021,"author":{"gitId":"-"},"content":" this.statusMessageService.showErrorToast(\u0027Failed to save response for this recipient. \u0027"},{"lineNumber":1022,"author":{"gitId":"-"},"content":" + \u0027Please switch back to \"Group by Question\" view to save responses.\u0027);"},{"lineNumber":1023,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1024,"author":{"gitId":"-"},"content":" const recipientQSForms \u003d questionSubmissionForms"},{"lineNumber":1025,"author":{"gitId":"-"},"content":" .filter((questionSubmissionFormModel: QuestionSubmissionFormModel) \u003d\u003e"},{"lineNumber":1026,"author":{"gitId":"-"},"content":" questionsToRecipient!.has(questionSubmissionFormModel.questionNumber));"},{"lineNumber":1027,"author":{"gitId":"-"},"content":""},{"lineNumber":1028,"author":{"gitId":"-"},"content":" this.saveFeedbackResponses(recipientQSForms, false, recipientId);"},{"lineNumber":1029,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1030,"author":{"gitId":"-"},"content":""},{"lineNumber":1031,"author":{"gitId":"-"},"content":" private addQuestionForRecipient(recipientId: string, questionId: any): void {"},{"lineNumber":1032,"author":{"gitId":"-"},"content":" if (this.recipientQuestionMap.has(recipientId)) {"},{"lineNumber":1033,"author":{"gitId":"-"},"content":" this.recipientQuestionMap.get(recipientId)!.add(questionId);"},{"lineNumber":1034,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1035,"author":{"gitId":"-"},"content":" const feedbackQuestionIds: Set\u003cany\u003e \u003d new Set\u003cany\u003e();"},{"lineNumber":1036,"author":{"gitId":"-"},"content":" feedbackQuestionIds.add(questionId);"},{"lineNumber":1037,"author":{"gitId":"-"},"content":" this.recipientQuestionMap.set(recipientId, feedbackQuestionIds);"},{"lineNumber":1038,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1039,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1040,"author":{"gitId":"-"},"content":""},{"lineNumber":1041,"author":{"gitId":"-"},"content":" toggleViewChange(selectedView: SessionView): void {"},{"lineNumber":1042,"author":{"gitId":"-"},"content":" if (selectedView \u003d\u003d\u003d this.currentSelectedSessionView) {"},{"lineNumber":1043,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":1044,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1045,"author":{"gitId":"-"},"content":""},{"lineNumber":1046,"author":{"gitId":"-"},"content":" if (selectedView \u003d\u003d\u003d SessionView.DEFAULT) {"},{"lineNumber":1047,"author":{"gitId":"-"},"content":" this.currentSelectedSessionView \u003d SessionView.DEFAULT;"},{"lineNumber":1048,"author":{"gitId":"-"},"content":" } else if (selectedView \u003d\u003d\u003d SessionView.GROUP_RECIPIENTS) {"},{"lineNumber":1049,"author":{"gitId":"-"},"content":" this.currentSelectedSessionView \u003d SessionView.GROUP_RECIPIENTS;"},{"lineNumber":1050,"author":{"gitId":"-"},"content":" this.groupQuestionsByRecipient();"},{"lineNumber":1051,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1052,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1053,"author":{"gitId":"-"},"content":""},{"lineNumber":1054,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1055,"author":{"gitId":"-"},"content":" * Group questions by recipients in {@code GROUP_RECIPIENTS} view."},{"lineNumber":1056,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1057,"author":{"gitId":"-"},"content":" groupQuestionsByRecipient(): void {"},{"lineNumber":1058,"author":{"gitId":"-"},"content":" if (this.hasLoadedAllRecipients) {"},{"lineNumber":1059,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":1060,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1061,"author":{"gitId":"-"},"content":" // We first need to load the recipient for all the questions. This is because questions with"},{"lineNumber":1062,"author":{"gitId":"-"},"content":" // FIXED_RECIPIENT question submission mode are ungroupable and to know whether the question"},{"lineNumber":1063,"author":{"gitId":"-"},"content":" // submission mode of a question, we need to load the recipient list first."},{"lineNumber":1064,"author":{"gitId":"-"},"content":" const recipientsObservables: Observable\u003cFeedbackQuestionRecipients\u003e[] \u003d [];"},{"lineNumber":1065,"author":{"gitId":"-"},"content":" const questionsToBeLoaded: QuestionSubmissionFormModel[] \u003d [];"},{"lineNumber":1066,"author":{"gitId":"-"},"content":""},{"lineNumber":1067,"author":{"gitId":"-"},"content":" this.questionSubmissionForms.forEach((model: QuestionSubmissionFormModel) \u003d\u003e {"},{"lineNumber":1068,"author":{"gitId":"-"},"content":" if (!model.isLoading \u0026\u0026 !model.isLoaded) {"},{"lineNumber":1069,"author":{"gitId":"-"},"content":" questionsToBeLoaded.push(model);"},{"lineNumber":1070,"author":{"gitId":"-"},"content":" recipientsObservables.push(this.feedbackQuestionsService.loadFeedbackQuestionRecipients({"},{"lineNumber":1071,"author":{"gitId":"-"},"content":" questionId: model.feedbackQuestionId,"},{"lineNumber":1072,"author":{"gitId":"-"},"content":" intent: this.intent,"},{"lineNumber":1073,"author":{"gitId":"-"},"content":" key: this.regKey,"},{"lineNumber":1074,"author":{"gitId":"-"},"content":" moderatedPerson: this.moderatedPerson,"},{"lineNumber":1075,"author":{"gitId":"-"},"content":" previewAs: this.previewAsPerson,"},{"lineNumber":1076,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":1077,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1078,"author":{"gitId":"-"},"content":" });"},{"lineNumber":1079,"author":{"gitId":"-"},"content":""},{"lineNumber":1080,"author":{"gitId":"-"},"content":" // Find the groupable and ungroupable questions and construct the recipient to question mapping."},{"lineNumber":1081,"author":{"gitId":"-"},"content":" forkJoin(recipientsObservables)"},{"lineNumber":1082,"author":{"gitId":"-"},"content":" .pipe(finalize(() \u003d\u003e {"},{"lineNumber":1083,"author":{"gitId":"-"},"content":" this.ungroupableQuestionsSorted \u003d Array.from(this.ungroupableQuestions).sort();"},{"lineNumber":1084,"author":{"gitId":"-"},"content":" this.hasLoadedAllRecipients \u003d true;"},{"lineNumber":1085,"author":{"gitId":"-"},"content":" }))"},{"lineNumber":1086,"author":{"gitId":"-"},"content":" .subscribe({"},{"lineNumber":1087,"author":{"gitId":"-"},"content":" next: (feedbackQuestionRecipients: FeedbackQuestionRecipients[]) \u003d\u003e {"},{"lineNumber":1088,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c feedbackQuestionRecipients.length; i +\u003d 1) {"},{"lineNumber":1089,"author":{"gitId":"-"},"content":" const question: QuestionSubmissionFormModel \u003d questionsToBeLoaded[i];"},{"lineNumber":1090,"author":{"gitId":"-"},"content":" // Only questions with question submission form mode being FIXED_RECIPIENT and with question type"},{"lineNumber":1091,"author":{"gitId":"-"},"content":" // not being CONSTSUM_RECIPIENTS, RANK_RECIPIENTS, and CONTRIB, are the groupable questions."},{"lineNumber":1092,"author":{"gitId":"-"},"content":" if (this.getQuestionSubmissionFormMode(question, feedbackQuestionRecipients[i].recipients.length)"},{"lineNumber":1093,"author":{"gitId":"-"},"content":" \u003d\u003d\u003d QuestionSubmissionFormMode.FIXED_RECIPIENT"},{"lineNumber":1094,"author":{"gitId":"-"},"content":" \u0026\u0026 question.questionType !\u003d\u003d FeedbackQuestionType.CONSTSUM_RECIPIENTS"},{"lineNumber":1095,"author":{"gitId":"-"},"content":" \u0026\u0026 question.questionType !\u003d\u003d FeedbackQuestionType.RANK_RECIPIENTS"},{"lineNumber":1096,"author":{"gitId":"-"},"content":" \u0026\u0026 question.questionType !\u003d\u003d FeedbackQuestionType.CONTRIB) {"},{"lineNumber":1097,"author":{"gitId":"-"},"content":""},{"lineNumber":1098,"author":{"gitId":"-"},"content":" for (let j \u003d 0; j \u003c feedbackQuestionRecipients[i].recipients.length; j +\u003d 1) {"},{"lineNumber":1099,"author":{"gitId":"-"},"content":" const recipient: FeedbackQuestionRecipient \u003d feedbackQuestionRecipients[i].recipients[j];"},{"lineNumber":1100,"author":{"gitId":"-"},"content":" this.addQuestionForRecipient(recipient.identifier, question.questionNumber);"},{"lineNumber":1101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1102,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":1103,"author":{"gitId":"-"},"content":" this.ungroupableQuestions.add(question.questionNumber);"},{"lineNumber":1104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1106,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1107,"author":{"gitId":"-"},"content":" error: () \u003d\u003e {"},{"lineNumber":1108,"author":{"gitId":"-"},"content":" this.statusMessageService.showWarningToast(\u0027Failed to build groupable questions\u0027);"},{"lineNumber":1109,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1110,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1111,"author":{"gitId":"-"},"content":" );"},{"lineNumber":1112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1113,"author":{"gitId":"-"},"content":""},{"lineNumber":1114,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":1115,"author":{"gitId":"-"},"content":" * Gets recipient name in {@code FIXED_RECIPIENT} mode and in {@code GROUP_RECIPIENTS} view."},{"lineNumber":1116,"author":{"gitId":"-"},"content":" */"},{"lineNumber":1117,"author":{"gitId":"-"},"content":" getRecipientName(recipientIdentifier: string): string {"},{"lineNumber":1118,"author":{"gitId":"-"},"content":" const question: QuestionSubmissionFormModel | undefined \u003d"},{"lineNumber":1119,"author":{"gitId":"-"},"content":" this.questionSubmissionForms.find((model: QuestionSubmissionFormModel) \u003d\u003e"},{"lineNumber":1120,"author":{"gitId":"-"},"content":" model.questionNumber \u003d\u003d\u003d this.recipientQuestionMap.get(recipientIdentifier)!.values().next().value);"},{"lineNumber":1121,"author":{"gitId":"-"},"content":""},{"lineNumber":1122,"author":{"gitId":"-"},"content":" if (!question) {"},{"lineNumber":1123,"author":{"gitId":"-"},"content":" this.statusMessageService.showErrorToast(\u0027Failed to build groupable questions\u0027);"},{"lineNumber":1124,"author":{"gitId":"-"},"content":" return \u0027Unknown\u0027;"},{"lineNumber":1125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1126,"author":{"gitId":"-"},"content":""},{"lineNumber":1127,"author":{"gitId":"-"},"content":" const recipient: FeedbackResponseRecipient | undefined \u003d"},{"lineNumber":1128,"author":{"gitId":"-"},"content":" question!.recipientList.find("},{"lineNumber":1129,"author":{"gitId":"-"},"content":" (r: FeedbackResponseRecipient) \u003d\u003e r.recipientIdentifier \u003d\u003d\u003d recipientIdentifier);"},{"lineNumber":1130,"author":{"gitId":"-"},"content":""},{"lineNumber":1131,"author":{"gitId":"-"},"content":" return recipient ? recipient.recipientName : \u0027Unknown\u0027;"},{"lineNumber":1132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1133,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":1134,"author":{"gitId":"dishenggg"},"content":" /**"},{"lineNumber":1135,"author":{"gitId":"dishenggg"},"content":" * Logs student activity after student/session details have been fetched."},{"lineNumber":1136,"author":{"gitId":"dishenggg"},"content":" */"},{"lineNumber":1137,"author":{"gitId":"dishenggg"},"content":" logStudentAccess(): void {"},{"lineNumber":1138,"author":{"gitId":"dishenggg"},"content":" if (this.intent !\u003d\u003d Intent.STUDENT_SUBMISSION) {"},{"lineNumber":1139,"author":{"gitId":"dishenggg"},"content":" return;"},{"lineNumber":1140,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":1141,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":1142,"author":{"gitId":"dishenggg"},"content":" // dummy vars to check that both student and session has been loaded"},{"lineNumber":1143,"author":{"gitId":"dishenggg"},"content":" if (!this.personEmail || !this.feedbackSessionTimezone) {"},{"lineNumber":1144,"author":{"gitId":"dishenggg"},"content":" return;"},{"lineNumber":1145,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":1146,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":1147,"author":{"gitId":"dishenggg"},"content":" this.logService.createFeedbackSessionLog({"},{"lineNumber":1148,"author":{"gitId":"dishenggg"},"content":" courseId: this.courseId,"},{"lineNumber":1149,"author":{"gitId":"dishenggg"},"content":" feedbackSessionName: this.feedbackSessionName,"},{"lineNumber":1150,"author":{"gitId":"dishenggg"},"content":" studentEmail: this.personEmail,"},{"lineNumber":1151,"author":{"gitId":"dishenggg"},"content":" logType: FeedbackSessionLogType.ACCESS,"},{"lineNumber":1152,"author":{"gitId":"dishenggg"},"content":" feedbackSessionId: this.feedbackSessionId,"},{"lineNumber":1153,"author":{"gitId":"dishenggg"},"content":" studentId: this.studentId,"},{"lineNumber":1154,"author":{"gitId":"dishenggg"},"content":" }).subscribe();"},{"lineNumber":1155,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":1156,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":34,"-":1122}},{"path":"src/web/app/pages-static/request-page/instructor-request-form/instructor-request-form-model.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"export type InstructorRequestFormModel \u003d {"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":" name: string,"},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":" institution: string,"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":" country: string,"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":" email: string,"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":" comments: string,"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"};"}],"authorContributionMap":{"xenosf":7}},{"path":"src/web/app/pages-static/request-page/instructor-request-form/instructor-request-form.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"\u003cp aria-hidden\u003d\"true\"\u003e"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":" \u003c!-- aria-hidden as screen readers use inputs\u0027 required attribute instead (and cannot see the asterisks) --\u003e"},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":" Questions marked with an asterisk \u003cspan class\u003d\"red-font\"\u003e*\u003c/span\u003e are required."},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"\u003c/p\u003e"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"\u003cform (ngSubmit)\u003d\"onSubmit()\" [formGroup]\u003d\"arf\"\u003e"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":" \u003cdiv class\u003d\"form-group {{checkIsFieldRequired(name) ? \u0027required\u0027 : \u0027\u0027}}\"\u003e"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":" \u003clabel for\u003d\"name\" id\u003d\"name-label\" class\u003d\"qn\"\u003e"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":" Full Name"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":" \u003c/label\u003e"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":" \u003cp class\u003d\"help-block\"\u003e"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":" This is the name that will be shown to your students. You may include salutation (Dr. Prof. etc.)"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":" \u003c/p\u003e"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":" \u003cinput class\u003d\"form-control {{getFieldValidationClasses(name)}}\" type\u003d\"text\" id\u003d\"name\" autocomplete\u003d\"name\""},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":" [formControl]\u003d\"name\" [required]\u003d\"checkIsFieldRequired(name)\" [attr.aria-invalid]\u003d\"name.invalid\"\u003e"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"name.errors?.[\u0027required\u0027]\" role\u003d\"alert\" aria-describedby\u003d\"name-label\" tabindex\u003d\"0\" class\u003d\"invalid-feedback\"\u003e"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":" Please enter your name."},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"name.errors?.[\u0027maxlength\u0027]\" role\u003d\"alert\" aria-describedby\u003d\"name-label\" tabindex\u003d\"0\" class\u003d\"invalid-feedback\"\u003e"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":" Name must be shorter than {{STUDENT_NAME_MAX_LENGTH}} characters. (Current: {{name.value?.length}})"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"name.errors?.[\u0027pattern\u0027]\" role\u003d\"alert\" aria-describedby\u003d\"name-label\" tabindex\u003d\"0\""},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" class\u003d\"invalid-feedback\"\u003e"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" Name must start with an alphanumeric character (a-z, 0-9) and cannot contain any vertical bar (|) or percent sign (%)."},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" \u003cbr\u003e"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" \u003cdiv class\u003d\"form-group {{checkIsFieldRequired(institution) ? \u0027required\u0027 : \u0027\u0027}}\"\u003e"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" \u003clabel for\u003d\"institution\" id\u003d\"institution-label\" class\u003d\"qn\"\u003e"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" University/school/institution"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" \u003c/label\u003e"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" \u003cp class\u003d\"help-block\"\u003e"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" Please give full name of the university/institution."},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" \u003c/p\u003e"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" \u003cinput class\u003d\"form-control {{getFieldValidationClasses(institution)}}\" type\u003d\"text\" id\u003d\"institution\""},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" autocomplete\u003d\"organization\" [formControl]\u003d\"institution\" [required]\u003d\"checkIsFieldRequired(institution)\""},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" [attr.aria-invalid]\u003d\"institution.invalid\"\u003e"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"institution.errors?.[\u0027required\u0027]\" role\u003d\"alert\" aria-describedby\u003d\"institution-label\" tabindex\u003d\"0\""},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" class\u003d\"invalid-feedback\"\u003e"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" Please enter your institution name."},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"institution.errors?.[\u0027maxlength\u0027]\" role\u003d\"alert\" aria-describedby\u003d\"institution-label\" tabindex\u003d\"0\""},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" class\u003d\"invalid-feedback\"\u003e"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" Institution name must be shorter than {{INSTITUTION_NAME_MAX_LENGTH}} characters. (Current: {{institution.value?.length}})"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"institution.errors?.[\u0027pattern\u0027]\" role\u003d\"alert\" aria-describedby\u003d\"institution-label\" tabindex\u003d\"0\""},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" class\u003d\"invalid-feedback\"\u003e"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" Institution name must start with an alphanumeric character (a-z, 0-9) and cannot contain any vertical bar (|) or percent sign (%)."},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" \u003cbr\u003e"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" \u003cdiv class\u003d\"form-group {{checkIsFieldRequired(country) ? \u0027required\u0027 : \u0027\u0027}}\"\u003e"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" \u003clabel for\u003d\"country\" id\u003d\"country-label\" class\u003d\"qn\"\u003e"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" Country"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" \u003c/label\u003e"},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":" \u003cp class\u003d\"help-block\"\u003e"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" Which country is your university/institution based in?"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" \u003c/p\u003e"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" \u003cinput class\u003d\"form-control {{getFieldValidationClasses(country)}}\" type\u003d\"text\" id\u003d\"country\""},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" autocomplete\u003d\"country-name\" [formControl]\u003d\"country\" [required]\u003d\"checkIsFieldRequired(country)\""},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" [attr.aria-invalid]\u003d\"country.invalid\"\u003e"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"country.errors?.[\u0027required\u0027]\" role\u003d\"alert\" aria-describedby\u003d\"country-label\" tabindex\u003d\"0\""},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" class\u003d\"invalid-feedback\"\u003e"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" Please enter your institution\u0027s country."},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"country.errors?.[\u0027maxlength\u0027]\" role\u003d\"alert\" aria-describedby\u003d\"country-label\" tabindex\u003d\"0\""},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":" class\u003d\"invalid-feedback\"\u003e"},{"lineNumber":67,"author":{"gitId":"xenosf"},"content":" Country name must be shorter than {{COUNTRY_NAME_MAX_LENGTH}} characters. (Current: {{country.value?.length}})"},{"lineNumber":68,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"country.errors?.[\u0027pattern\u0027]\" role\u003d\"alert\" aria-describedby\u003d\"country-label\" tabindex\u003d\"0\""},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":" class\u003d\"invalid-feedback\"\u003e"},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" Country name must start with an alphanumeric character (a-z, 0-9) and cannot contain any vertical bar (|) or percent sign (%)."},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" \u003cbr\u003e"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" \u003cdiv class\u003d\"form-group {{checkIsFieldRequired(email) ? \u0027required\u0027 : \u0027\u0027}}\"\u003e"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" \u003clabel for\u003d\"email\" id\u003d\"email-label\" class\u003d\"qn\"\u003e"},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":" Official email address"},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" \u003c/label\u003e"},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" \u003cp class\u003d\"help-block\"\u003e"},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" Please use the email address \u003cb\u003egiven to you by your school/university\u003c/b\u003e"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":" (not your personal Gmail/Hotmail address)."},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" Note that this email address will be visible to the students you enroll in TEAMMATES."},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" \u003c/p\u003e"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":" \u003cinput class\u003d\"form-control {{getFieldValidationClasses(email)}}\" type\u003d\"email\" id\u003d\"email\" autocomplete\u003d\"email\""},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":" [formControl]\u003d\"email\" [required]\u003d\"checkIsFieldRequired(email)\" [attr.aria-invalid]\u003d\"email.invalid\"\u003e"},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"email.errors?.[\u0027required\u0027]\" role\u003d\"alert\" aria-describedby\u003d\"email-label\" tabindex\u003d\"0\""},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" class\u003d\"invalid-feedback\"\u003e"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" Please enter your email address."},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"email.errors?.[\u0027maxlength\u0027]\" role\u003d\"alert\" aria-describedby\u003d\"email-label\" tabindex\u003d\"0\""},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":" class\u003d\"invalid-feedback\"\u003e"},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":" Email address must be shorter than {{EMAIL_MAX_LENGTH}} characters. (Current: {{email.value?.length}})"},{"lineNumber":93,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":94,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"email.errors?.[\u0027pattern\u0027]\" role\u003d\"alert\" aria-describedby\u003d\"email-label\" tabindex\u003d\"0\""},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":" class\u003d\"invalid-feedback\"\u003e"},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":" Please enter a valid email address."},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" \u003cbr\u003e"},{"lineNumber":100,"author":{"gitId":"xenosf"},"content":" \u003cdiv class\u003d\"form-group {{checkIsFieldRequired(comments) ? \u0027required\u0027 : \u0027\u0027}}\"\u003e"},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":" \u003clabel for\u003d\"comments\" id\u003d\"comments-label\" class\u003d\"qn\"\u003e"},{"lineNumber":102,"author":{"gitId":"xenosf"},"content":" Any other comments/queries"},{"lineNumber":103,"author":{"gitId":"xenosf"},"content":" \u003c/label\u003e"},{"lineNumber":104,"author":{"gitId":"dishenggg"},"content":" \u003ctextarea class\u003d\"form-control {{getFieldValidationClasses(comments)}}\" id\u003d\"comments\" [formControl]\u003d\"comments\""},{"lineNumber":105,"author":{"gitId":"xenosf"},"content":" [attr.aria-invalid]\u003d\"comments.invalid\"\u003e\u003c/textarea\u003e"},{"lineNumber":106,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":107,"author":{"gitId":"xenosf"},"content":" \u003cbr\u003e"},{"lineNumber":108,"author":{"gitId":"xenosf"},"content":" \u003cngb-alert type\u003d\"danger\" [dismissible]\u003d\"false\" *ngIf\u003d\"hasSubmitAttempt \u0026\u0026 arf.invalid\" class\u003d\"error-box\"\u003e"},{"lineNumber":109,"author":{"gitId":"xenosf"},"content":" \u003cstrong\u003eThere was a problem with your submission.\u003c/strong\u003e Please check and fix the errors above and submit again."},{"lineNumber":110,"author":{"gitId":"xenosf"},"content":" \u003c/ngb-alert\u003e"},{"lineNumber":111,"author":{"gitId":"xenosf"},"content":" \u003cngb-alert type\u003d\"danger\" [dismissible]\u003d\"false\" *ngIf\u003d\"serverErrorMessage\" class\u003d\"error-box\"\u003e"},{"lineNumber":112,"author":{"gitId":"xenosf"},"content":" \u003cstrong\u003eError submitting request:\u003c/strong\u003e {{serverErrorMessage}}"},{"lineNumber":113,"author":{"gitId":"xenosf"},"content":" \u003c/ngb-alert\u003e"},{"lineNumber":114,"author":{"gitId":"xenosf"},"content":" \u003cbutton type\u003d\"submit\" class\u003d\"btn btn-primary\" id\u003d\"submit-button\" [disabled]\u003d\"!canSubmit\"\u003e"},{"lineNumber":115,"author":{"gitId":"xenosf"},"content":" {{isLoading ? \"Submitting...\" : \"Submit\"}}"},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" \u003c/button\u003e"},{"lineNumber":117,"author":{"gitId":"xenosf"},"content":"\u003c/form\u003e"}],"authorContributionMap":{"xenosf":116,"dishenggg":1}},{"path":"src/web/app/pages-static/request-page/instructor-request-form/instructor-request-form.component.scss","fileType":"scss","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"label.qn {"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":" font-weight: bold;"},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":" font-size: 1rem;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":" margin-bottom: 0.3rem;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"}"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":".form-group {"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":" margin-bottom: 0.5rem;"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":"}"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":".form-group.required \u003e label::after {"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":" content:\"*\";"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":" color: red;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":"}"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":".help-block {"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" margin-bottom: 0.8rem;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":"}"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":".red-font {"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" color: red;"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":"}"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":".error-box {"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" margin: 1rem 0;"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":26}},{"path":"src/web/app/pages-static/request-page/instructor-request-form/instructor-request-form.component.spec.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"import { ComponentFixture, TestBed, waitForAsync } from \u0027@angular/core/testing\u0027;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":"import { ReactiveFormsModule } from \u0027@angular/forms\u0027;"},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import { By } from \u0027@angular/platform-browser\u0027;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import { Observable, first } from \u0027rxjs\u0027;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import { InstructorRequestFormModel } from \u0027./instructor-request-form-model\u0027;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import { InstructorRequestFormComponent } from \u0027./instructor-request-form.component\u0027;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import { AccountService } from \u0027../../../../services/account.service\u0027;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":"import { AccountCreateRequest } from \u0027../../../../types/api-request\u0027;"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"describe(\u0027InstructorRequestFormComponent\u0027, () \u003d\u003e {"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":" let component: InstructorRequestFormComponent;"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":" let fixture: ComponentFixture\u003cInstructorRequestFormComponent\u003e;"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":" let accountService: AccountService;"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":" const typicalModel: InstructorRequestFormModel \u003d {"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":" name: \u0027John Doe\u0027,"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":" institution: \u0027Example Institution\u0027,"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" country: \u0027Example Country\u0027,"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":" email: \u0027jd@example.edu\u0027,"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":" comments: \u0027\u0027,"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" const typicalCreateRequest: AccountCreateRequest \u003d {"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" instructorEmail: typicalModel.email,"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" instructorName: typicalModel.name,"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" instructorInstitution: `${typicalModel.institution}, ${typicalModel.country}`,"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" const accountServiceStub: Partial\u003cAccountService\u003e \u003d {"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" createAccountRequest: () \u003d\u003e new Observable((subscriber) \u003d\u003e {"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" subscriber.next();"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" }),"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" * Fills in form fields with the given data."},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" * @param data Data to fill form with."},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" function fillFormWith(data: InstructorRequestFormModel): void {"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" component.name.setValue(data.name);"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" component.institution.setValue(data.institution);"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" component.country.setValue(data.country);"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" component.email.setValue(data.email);"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" component.comments.setValue(data.comments);"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" beforeEach(waitForAsync(() \u003d\u003e {"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" TestBed.configureTestingModule({"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" declarations: [InstructorRequestFormComponent],"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" imports: [ReactiveFormsModule],"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" providers: [{ provide: AccountService, useValue: accountServiceStub }],"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" })"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" .compileComponents();"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" }));"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":" beforeEach(() \u003d\u003e {"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" fixture \u003d TestBed.createComponent(InstructorRequestFormComponent);"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" component \u003d fixture.componentInstance;"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" accountService \u003d TestBed.inject(AccountService);"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" fixture.detectChanges();"},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" jest.clearAllMocks();"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" it(\u0027should create\u0027, () \u003d\u003e {"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" expect(component).toBeTruthy();"},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":67,"author":{"gitId":"xenosf"},"content":" it(\u0027should render correctly\u0027, () \u003d\u003e {"},{"lineNumber":68,"author":{"gitId":"xenosf"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" it(\u0027should run onSubmit() when submit button is clicked\u0027, () \u003d\u003e {"},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" jest.spyOn(component, \u0027onSubmit\u0027);"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" fillFormWith(typicalModel);"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" const submitButton \u003d fixture.debugElement.query(By.css(\u0027#submit-button\u0027));"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" submitButton.nativeElement.click();"},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" expect(component.onSubmit).toHaveBeenCalledTimes(1);"},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":" it(\u0027should emit requestSubmissionEvent with the correct data when form is submitted\u0027, () \u003d\u003e {"},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" jest.spyOn(accountService, \u0027createAccountRequest\u0027).mockReturnValue("},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" new Observable((subscriber) \u003d\u003e { subscriber.next(); }));"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":" // Listen for emitted value"},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":" let actualModel: InstructorRequestFormModel | null \u003d null;"},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" component.requestSubmissionEvent.pipe(first())"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" .subscribe((data: InstructorRequestFormModel) \u003d\u003e { actualModel \u003d data; });"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" fillFormWith(typicalModel);"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":" component.onSubmit();"},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":93,"author":{"gitId":"xenosf"},"content":" expect(actualModel).toBeTruthy();"},{"lineNumber":94,"author":{"gitId":"xenosf"},"content":" expect(actualModel!.name).toBe(typicalModel.name);"},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":" expect(actualModel!.institution).toBe(typicalModel.institution);"},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":" expect(actualModel!.country).toBe(typicalModel.country);"},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" expect(actualModel!.email).toBe(typicalModel.email);"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" expect(actualModel!.comments).toBe(typicalModel.comments);"},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":100,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":" it(\u0027should send the correct request data when form is submitted\u0027, () \u003d\u003e {"},{"lineNumber":102,"author":{"gitId":"xenosf"},"content":" jest.spyOn(accountService, \u0027createAccountRequest\u0027).mockReturnValue("},{"lineNumber":103,"author":{"gitId":"xenosf"},"content":" new Observable((subscriber) \u003d\u003e { subscriber.next(); }));"},{"lineNumber":104,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":105,"author":{"gitId":"xenosf"},"content":" fillFormWith(typicalModel);"},{"lineNumber":106,"author":{"gitId":"xenosf"},"content":" component.onSubmit();"},{"lineNumber":107,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":108,"author":{"gitId":"xenosf"},"content":" expect(accountService.createAccountRequest).toHaveBeenCalledTimes(1);"},{"lineNumber":109,"author":{"gitId":"xenosf"},"content":" expect(accountService.createAccountRequest).toHaveBeenCalledWith(expect.objectContaining(typicalCreateRequest));"},{"lineNumber":110,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":111,"author":{"gitId":"xenosf"},"content":"});"}],"authorContributionMap":{"xenosf":111}},{"path":"src/web/app/pages-static/request-page/instructor-request-form/instructor-request-form.component.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"import { Component, EventEmitter, Output } from \u0027@angular/core\u0027;"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":"import { FormControl, FormGroup, Validators } from \u0027@angular/forms\u0027;"},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import { finalize } from \u0027rxjs\u0027;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"import { InstructorRequestFormModel } from \u0027./instructor-request-form-model\u0027;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import { AccountService } from \u0027../../../../services/account.service\u0027;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import { AccountCreateRequest } from \u0027../../../../types/api-request\u0027;"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":"import { FormValidator } from \u0027../../../../types/form-validator\u0027;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":"import { ErrorMessageOutput } from \u0027../../../error-message-output\u0027;"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":"@Component({"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":" selector: \u0027tm-instructor-request-form\u0027,"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":" templateUrl: \u0027./instructor-request-form.component.html\u0027,"},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":" styleUrls: [\u0027./instructor-request-form.component.scss\u0027],"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":"})"},{"lineNumber":15,"author":{"gitId":"xenosf"},"content":"export class InstructorRequestFormComponent {"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" constructor(private accountService: AccountService) {}"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":" // Create members to be accessed in template"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" readonly STUDENT_NAME_MAX_LENGTH \u003d FormValidator.STUDENT_NAME_MAX_LENGTH;"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" readonly INSTITUTION_NAME_MAX_LENGTH \u003d FormValidator.INSTITUTION_NAME_MAX_LENGTH;"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" readonly COUNTRY_NAME_MAX_LENGTH \u003d FormValidator.COUNTRY_NAME_MAX_LENGTH;"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" readonly EMAIL_MAX_LENGTH \u003d FormValidator.EMAIL_MAX_LENGTH;"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" arf \u003d new FormGroup({"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" name: new FormControl(\u0027\u0027, ["},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" Validators.required,"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" Validators.maxLength(FormValidator.STUDENT_NAME_MAX_LENGTH),"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" Validators.pattern(FormValidator.NAME_REGEX),"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" ]),"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" institution: new FormControl(\u0027\u0027, ["},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" Validators.required,"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" Validators.maxLength(FormValidator.INSTITUTION_NAME_MAX_LENGTH),"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" Validators.pattern(FormValidator.NAME_REGEX),"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" ]),"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" country: new FormControl(\u0027\u0027, ["},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" Validators.required,"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" Validators.maxLength(FormValidator.COUNTRY_NAME_MAX_LENGTH),"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" Validators.pattern(FormValidator.NAME_REGEX),"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" ]),"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" email: new FormControl(\u0027\u0027, ["},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" Validators.required,"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" Validators.pattern(FormValidator.EMAIL_REGEX),"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" Validators.maxLength(FormValidator.EMAIL_MAX_LENGTH),"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" ]),"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" comments: new FormControl(\u0027\u0027),"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" }, { updateOn: \u0027submit\u0027 });"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" // Create members for easier access of arf controls"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" name \u003d this.arf.controls.name;"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" institution \u003d this.arf.controls.institution;"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" country \u003d this.arf.controls.country;"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" email \u003d this.arf.controls.email;"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" comments \u003d this.arf.controls.comments;"},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" hasSubmitAttempt \u003d false;"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":" isLoading \u003d false;"},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" @Output() requestSubmissionEvent \u003d new EventEmitter\u003cInstructorRequestFormModel\u003e();"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" serverErrorMessage \u003d \u0027\u0027;"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":" checkIsFieldRequired(field: FormControl): boolean {"},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" return field.hasValidator(Validators.required);"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":" get canSubmit(): boolean {"},{"lineNumber":67,"author":{"gitId":"xenosf"},"content":" return !this.isLoading;"},{"lineNumber":68,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":69,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":70,"author":{"gitId":"xenosf"},"content":" getFieldValidationClasses(field: FormControl): string {"},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" let str \u003d \u0027\u0027;"},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" if (this.hasSubmitAttempt) {"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" if (field.invalid) {"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" str \u003d \u0027is-invalid\u0027;"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" } else if (field.value !\u003d\u003d \u0027\u0027) {"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":" str \u003d \u0027is-valid\u0027;"},{"lineNumber":77,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":78,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":79,"author":{"gitId":"xenosf"},"content":" return str;"},{"lineNumber":80,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":81,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":82,"author":{"gitId":"xenosf"},"content":" onSubmit(): void {"},{"lineNumber":83,"author":{"gitId":"xenosf"},"content":" this.hasSubmitAttempt \u003d true;"},{"lineNumber":84,"author":{"gitId":"xenosf"},"content":" this.isLoading \u003d true;"},{"lineNumber":85,"author":{"gitId":"xenosf"},"content":" this.serverErrorMessage \u003d \u0027\u0027;"},{"lineNumber":86,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":87,"author":{"gitId":"xenosf"},"content":" if (this.arf.invalid) {"},{"lineNumber":88,"author":{"gitId":"xenosf"},"content":" this.isLoading \u003d false;"},{"lineNumber":89,"author":{"gitId":"xenosf"},"content":" // Do not submit form"},{"lineNumber":90,"author":{"gitId":"xenosf"},"content":" return;"},{"lineNumber":91,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":92,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":93,"author":{"gitId":"xenosf"},"content":" const name \u003d this.name.value!.trim();"},{"lineNumber":94,"author":{"gitId":"xenosf"},"content":" const email \u003d this.email.value!.trim();"},{"lineNumber":95,"author":{"gitId":"xenosf"},"content":" const comments \u003d this.comments.value!.trim();"},{"lineNumber":96,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":97,"author":{"gitId":"xenosf"},"content":" // Combine country and institution"},{"lineNumber":98,"author":{"gitId":"xenosf"},"content":" const country \u003d this.country.value!.trim();"},{"lineNumber":99,"author":{"gitId":"xenosf"},"content":" const institution \u003d this.institution.value!.trim();"},{"lineNumber":100,"author":{"gitId":"xenosf"},"content":" const combinedInstitution \u003d `${institution}, ${country}`;"},{"lineNumber":101,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":102,"author":{"gitId":"xenosf"},"content":" const requestData: AccountCreateRequest \u003d {"},{"lineNumber":103,"author":{"gitId":"xenosf"},"content":" instructorEmail: email,"},{"lineNumber":104,"author":{"gitId":"xenosf"},"content":" instructorName: name,"},{"lineNumber":105,"author":{"gitId":"xenosf"},"content":" instructorInstitution: combinedInstitution,"},{"lineNumber":106,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":107,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":108,"author":{"gitId":"xenosf"},"content":" if (comments) {"},{"lineNumber":109,"author":{"gitId":"xenosf"},"content":" requestData.instructorComments \u003d comments;"},{"lineNumber":110,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":111,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":112,"author":{"gitId":"xenosf"},"content":" this.accountService.createAccountRequest(requestData)"},{"lineNumber":113,"author":{"gitId":"xenosf"},"content":" .pipe(finalize(() \u003d\u003e { this.isLoading \u003d false; }))"},{"lineNumber":114,"author":{"gitId":"xenosf"},"content":" .subscribe({"},{"lineNumber":115,"author":{"gitId":"xenosf"},"content":" next: () \u003d\u003e {"},{"lineNumber":116,"author":{"gitId":"xenosf"},"content":" // Pass form input to parent to display confirmation"},{"lineNumber":117,"author":{"gitId":"xenosf"},"content":" this.requestSubmissionEvent.emit({"},{"lineNumber":118,"author":{"gitId":"xenosf"},"content":" name,"},{"lineNumber":119,"author":{"gitId":"xenosf"},"content":" institution,"},{"lineNumber":120,"author":{"gitId":"xenosf"},"content":" country,"},{"lineNumber":121,"author":{"gitId":"xenosf"},"content":" email,"},{"lineNumber":122,"author":{"gitId":"xenosf"},"content":" comments,"},{"lineNumber":123,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":124,"author":{"gitId":"xenosf"},"content":" },"},{"lineNumber":125,"author":{"gitId":"xenosf"},"content":" error: (resp: ErrorMessageOutput) \u003d\u003e {"},{"lineNumber":126,"author":{"gitId":"xenosf"},"content":" this.serverErrorMessage \u003d resp.error.message;"},{"lineNumber":127,"author":{"gitId":"xenosf"},"content":" },"},{"lineNumber":128,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":129,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":130,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":130}},{"path":"src/web/app/pages-static/request-page/request-page.component.html","fileType":"html","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"color-orange\"\u003e"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":" Request for an Instructor Account"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003c/h1\u003e"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":"\u003cdiv class\u003d\"col-xs-12 col-md-10 col-lg-8 col-xl-7 col-xxl-6\"\u003e"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"!submittedFormData\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003cp\u003e"},{"lineNumber":7,"author":{"gitId":"xenosf"},"content":" Request for an instructor account using this form if you are an instructor and want to use TEAMMATES to manage peer evaluations and/or other feedback paths of your students."},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":" \u003c/p\u003e"},{"lineNumber":9,"author":{"gitId":"xenosf"},"content":" \u003chr\u003e"},{"lineNumber":10,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"!isDeclarationDone\"\u003e"},{"lineNumber":11,"author":{"gitId":"xenosf"},"content":" \u003cp\u003e"},{"lineNumber":12,"author":{"gitId":"xenosf"},"content":" Note: \u003cb\u003eStudents should not use this form to request for TEAMMATES accounts\u003c/b\u003e, as students do not need accounts to use TEAMMATES. Instead, TEAMMATES will email students (who have been added to TEAMMATES by a course instructor) an access link when there is a TEAMMATES session available for them to access."},{"lineNumber":13,"author":{"gitId":"xenosf"},"content":" \u003c/p\u003e"},{"lineNumber":14,"author":{"gitId":"xenosf"},"content":" \u003ca type\u003d\"button\" class\u003d\"btn btn-secondary\" tmRouterLink\u003d\"/web/front/home\"\u003eBack to home page\u003c/a\u003e"},{"lineNumber":15,"author":{"gitId":"dishenggg"},"content":" \u003cbutton id\u003d\"btn-am-instructor\" type\u003d\"button\" class\u003d\"btn btn-primary ms-3\" (click)\u003d\"onDeclarationButtonClicked()\"\u003eI am an instructor\u003c/button\u003e"},{"lineNumber":16,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"isDeclarationDone\"\u003e"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":" \u003ctm-instructor-request-form *ngIf\u003d\"!submittedFormData\" (requestSubmissionEvent)\u003d\"onRequestSubmitted($event)\"\u003e\u003c/tm-instructor-request-form\u003e"},{"lineNumber":19,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":20,"author":{"gitId":"xenosf"},"content":" \u003chr\u003e"},{"lineNumber":21,"author":{"gitId":"xenosf"},"content":" \u003c/div\u003e"},{"lineNumber":22,"author":{"gitId":"xenosf"},"content":" \u003cdiv *ngIf\u003d\"submittedFormData\"\u003e"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" \u003cp\u003e"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":" Your request has been submitted successfully:"},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" \u003c/p\u003e"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" \u003ctable class\u003d\"table table-bordered my-3\"\u003e"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" \u003ctbody\u003e"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" \u003cth scope\u003d\"row\" class\u003d\"col-3\"\u003eFull Name\u003c/th\u003e"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" \u003ctd\u003e{{submittedFormData.name}}\u003c/td\u003e"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" \u003cth scope\u003d\"row\"\u003eInstitution\u003c/th\u003e"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" \u003ctd\u003e{{submittedFormData.institution}}\u003c/td\u003e"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" \u003cth scope\u003d\"row\"\u003eCountry\u003c/th\u003e"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" \u003ctd\u003e{{submittedFormData.country}}\u003c/td\u003e"},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" \u003cth scope\u003d\"row\"\u003eEmail\u003c/th\u003e"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" \u003ctd\u003e{{submittedFormData.email}}\u003c/td\u003e"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" \u003ctr\u003e"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" \u003cth scope\u003d\"row\"\u003eComments\u003c/th\u003e"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" \u003ctd\u003e"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" {{submittedFormData.comments}}"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" \u003cspan class\u003d\"empty-field-placeholder\" *ngIf\u003d\"!submittedFormData.comments\"\u003e\u003c/span\u003e"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" \u003c/td\u003e"},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" \u003c/tr\u003e"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" \u003c/tbody\u003e"},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" \u003c/table\u003e"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" \u003cp\u003e"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" We have sent an acknowledgement email to your email address \u003cb\u003e{{submittedFormData.email}}\u003c/b\u003e."},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":" Please check your email inbox or spam folder."},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" If you do not receive the acknowledgement email within 1 hour, please \u003ca tmRouterLink\u003d\"/web/front/contact\"\u003econtact\u003c/a\u003e us."},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003c/p\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"xenosf":52,"dishenggg":1,"-":6}},{"path":"src/web/app/pages-static/request-page/request-page.component.scss","fileType":"scss","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":".empty-field-placeholder::after {"},{"lineNumber":2,"author":{"gitId":"xenosf"},"content":" content: \"(empty)\";"},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":" opacity: 0.5;"},{"lineNumber":4,"author":{"gitId":"xenosf"},"content":" font-style: italic;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"}"}],"authorContributionMap":{"xenosf":5}},{"path":"src/web/app/pages-static/request-page/request-page.component.spec.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { ComponentFixture, TestBed, waitForAsync } from \u0027@angular/core/testing\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { RequestPageComponent } from \u0027./request-page.component\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"-"},"content":"describe(\u0027RequestPageComponent\u0027, () \u003d\u003e {"},{"lineNumber":5,"author":{"gitId":"-"},"content":" let component: RequestPageComponent;"},{"lineNumber":6,"author":{"gitId":"-"},"content":" let fixture: ComponentFixture\u003cRequestPageComponent\u003e;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":" beforeEach(waitForAsync(() \u003d\u003e {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" TestBed.configureTestingModule({"},{"lineNumber":10,"author":{"gitId":"-"},"content":" declarations: [RequestPageComponent],"},{"lineNumber":11,"author":{"gitId":"-"},"content":" })"},{"lineNumber":12,"author":{"gitId":"-"},"content":" .compileComponents();"},{"lineNumber":13,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" beforeEach(() \u003d\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" fixture \u003d TestBed.createComponent(RequestPageComponent);"},{"lineNumber":17,"author":{"gitId":"-"},"content":" component \u003d fixture.componentInstance;"},{"lineNumber":18,"author":{"gitId":"-"},"content":" fixture.detectChanges();"},{"lineNumber":19,"author":{"gitId":"-"},"content":" });"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" it(\u0027should create\u0027, () \u003d\u003e {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" expect(component).toBeTruthy();"},{"lineNumber":23,"author":{"gitId":"-"},"content":" });"},{"lineNumber":24,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":25,"author":{"gitId":"xenosf"},"content":" it(\u0027should render correctly before instructor declaration is done\u0027, () \u003d\u003e {"},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" component.isDeclarationDone \u003d false;"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" component.submittedFormData \u003d null;"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" fixture.detectChanges();"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" it(\u0027should render correctly after instructor declaration is done\u0027, () \u003d\u003e {"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" component.isDeclarationDone \u003d true;"},{"lineNumber":34,"author":{"gitId":"xenosf"},"content":" component.submittedFormData \u003d null;"},{"lineNumber":35,"author":{"gitId":"xenosf"},"content":" fixture.detectChanges();"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" it(\u0027should render correctly after form is submitted\u0027, () \u003d\u003e {"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" component.submittedFormData \u003d {"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":" name: \u0027Jane Smith\u0027,"},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" institution: \u0027University of Example\u0027,"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" country: \u0027Example Republic\u0027,"},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" email: \u0027js@exampleu.edu\u0027,"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" comments: \u0027\u0027,"},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" };"},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" fixture.detectChanges();"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" expect(fixture).toMatchSnapshot();"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":50,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"xenosf":26,"-":24}},{"path":"src/web/app/pages-static/request-page/request-page.component.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { Component } from \u0027@angular/core\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { DomSanitizer, SafeResourceUrl } from \u0027@angular/platform-browser\u0027;"},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import { InstructorRequestFormModel } from \u0027./instructor-request-form/instructor-request-form-model\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { environment } from \u0027../../../environments/environment\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":7,"author":{"gitId":"-"},"content":" * Account request page."},{"lineNumber":8,"author":{"gitId":"-"},"content":" */"},{"lineNumber":9,"author":{"gitId":"-"},"content":"@Component({"},{"lineNumber":10,"author":{"gitId":"-"},"content":" selector: \u0027tm-request-page\u0027,"},{"lineNumber":11,"author":{"gitId":"-"},"content":" templateUrl: \u0027./request-page.component.html\u0027,"},{"lineNumber":12,"author":{"gitId":"-"},"content":" styleUrls: [\u0027./request-page.component.scss\u0027],"},{"lineNumber":13,"author":{"gitId":"-"},"content":"})"},{"lineNumber":14,"author":{"gitId":"-"},"content":"export class RequestPageComponent {"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" accountRequestFormUrl: SafeResourceUrl | null;"},{"lineNumber":17,"author":{"gitId":"xenosf"},"content":" isDeclarationDone: boolean \u003d false;"},{"lineNumber":18,"author":{"gitId":"xenosf"},"content":" submittedFormData: InstructorRequestFormModel | null \u003d null;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" constructor(private sanitizer: DomSanitizer) {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" this.accountRequestFormUrl \u003d environment.accountRequestFormUrl"},{"lineNumber":22,"author":{"gitId":"-"},"content":" ? this.sanitizer.bypassSecurityTrustResourceUrl(environment.accountRequestFormUrl)"},{"lineNumber":23,"author":{"gitId":"-"},"content":" : null;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"xenosf"},"content":" onDeclarationButtonClicked(): void {"},{"lineNumber":27,"author":{"gitId":"xenosf"},"content":" this.isDeclarationDone \u003d true;"},{"lineNumber":28,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":29,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":30,"author":{"gitId":"xenosf"},"content":" onRequestSubmitted(data: InstructorRequestFormModel): void {"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" this.submittedFormData \u003d data;"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":10,"-":23}},{"path":"src/web/app/pages-static/request-page/request-page.module.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { CommonModule } from \u0027@angular/common\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { NgModule } from \u0027@angular/core\u0027;"},{"lineNumber":3,"author":{"gitId":"xenosf"},"content":"import { ReactiveFormsModule } from \u0027@angular/forms\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { RouterModule, Routes } from \u0027@angular/router\u0027;"},{"lineNumber":5,"author":{"gitId":"xenosf"},"content":"import { NgbAlertModule } from \u0027@ng-bootstrap/ng-bootstrap\u0027;"},{"lineNumber":6,"author":{"gitId":"xenosf"},"content":"import { InstructorRequestFormComponent } from \u0027./instructor-request-form/instructor-request-form.component\u0027;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import { RequestPageComponent } from \u0027./request-page.component\u0027;"},{"lineNumber":8,"author":{"gitId":"xenosf"},"content":"import { TeammatesRouterModule } from \u0027../../components/teammates-router/teammates-router.module\u0027;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"const routes: Routes \u003d ["},{"lineNumber":11,"author":{"gitId":"-"},"content":" {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" path: \u0027\u0027,"},{"lineNumber":13,"author":{"gitId":"-"},"content":" component: RequestPageComponent,"},{"lineNumber":14,"author":{"gitId":"-"},"content":" },"},{"lineNumber":15,"author":{"gitId":"-"},"content":"];"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Module for request page."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"@NgModule({"},{"lineNumber":21,"author":{"gitId":"-"},"content":" declarations: ["},{"lineNumber":22,"author":{"gitId":"-"},"content":" RequestPageComponent,"},{"lineNumber":23,"author":{"gitId":"xenosf"},"content":" InstructorRequestFormComponent,"},{"lineNumber":24,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":25,"author":{"gitId":"-"},"content":" exports: ["},{"lineNumber":26,"author":{"gitId":"-"},"content":" RequestPageComponent,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":28,"author":{"gitId":"-"},"content":" imports: ["},{"lineNumber":29,"author":{"gitId":"-"},"content":" CommonModule,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" RouterModule.forChild(routes),"},{"lineNumber":31,"author":{"gitId":"xenosf"},"content":" TeammatesRouterModule,"},{"lineNumber":32,"author":{"gitId":"xenosf"},"content":" ReactiveFormsModule,"},{"lineNumber":33,"author":{"gitId":"xenosf"},"content":" NgbAlertModule,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":35,"author":{"gitId":"-"},"content":"})"},{"lineNumber":36,"author":{"gitId":"-"},"content":"export class RequestPageModule { }"}],"authorContributionMap":{"xenosf":8,"-":28}},{"path":"src/web/services/account.service.spec.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { HttpClientTestingModule } from \u0027@angular/common/http/testing\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { TestBed } from \u0027@angular/core/testing\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import { AccountService } from \u0027./account.service\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { HttpRequestService } from \u0027./http-request.service\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import createSpyFromClass from \u0027../test-helpers/create-spy-from-class\u0027;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import { ResourceEndpoints } from \u0027../types/api-const\u0027;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import { AccountCreateRequest } from \u0027../types/api-request\u0027;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"describe(\u0027AccountService\u0027, () \u003d\u003e {"},{"lineNumber":10,"author":{"gitId":"-"},"content":" let spyHttpRequestService: any;"},{"lineNumber":11,"author":{"gitId":"-"},"content":" let service: AccountService;"},{"lineNumber":12,"author":{"gitId":"-"},"content":" const id: string \u003d \u0027TestID\u0027;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" beforeEach(() \u003d\u003e {"},{"lineNumber":15,"author":{"gitId":"-"},"content":" spyHttpRequestService \u003d createSpyFromClass(HttpRequestService);"},{"lineNumber":16,"author":{"gitId":"-"},"content":" TestBed.configureTestingModule({"},{"lineNumber":17,"author":{"gitId":"-"},"content":" imports: ["},{"lineNumber":18,"author":{"gitId":"-"},"content":" HttpClientTestingModule,"},{"lineNumber":19,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":20,"author":{"gitId":"-"},"content":" providers: ["},{"lineNumber":21,"author":{"gitId":"-"},"content":" { provide: HttpRequestService, useValue: spyHttpRequestService },"},{"lineNumber":22,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":23,"author":{"gitId":"-"},"content":" });"},{"lineNumber":24,"author":{"gitId":"-"},"content":" service \u003d TestBed.inject(AccountService);"},{"lineNumber":25,"author":{"gitId":"-"},"content":" });"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" it(\u0027should be created\u0027, () \u003d\u003e {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" expect(service).toBeTruthy();"},{"lineNumber":29,"author":{"gitId":"-"},"content":" });"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" it(\u0027should execute GET on account endpoint\u0027, () \u003d\u003e {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" service.getAccount(id);"},{"lineNumber":33,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" instructorid: id,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" };"},{"lineNumber":36,"author":{"gitId":"-"},"content":" expect(spyHttpRequestService.get).toHaveBeenCalledWith(ResourceEndpoints.ACCOUNT, paramMap);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" });"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" it(\u0027should execute GET on accounts endpoint\u0027, () \u003d\u003e {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" const email \u003d \u0027email@gmail.tmt\u0027;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" service.getAccounts(email);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" useremail: email,"},{"lineNumber":44,"author":{"gitId":"-"},"content":" };"},{"lineNumber":45,"author":{"gitId":"-"},"content":" expect(spyHttpRequestService.get).toHaveBeenCalledWith(ResourceEndpoints.ACCOUNTS, paramMap);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" });"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" it(\u0027should execute POST on account endpoint with timezone string\u0027, () \u003d\u003e {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" const testKey: string \u003d \u0027testKey\u0027;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" const testTimezone: string \u003d \u0027UTC\u0027;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" key: testKey,"},{"lineNumber":53,"author":{"gitId":"-"},"content":" timezone: testTimezone,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" };"},{"lineNumber":55,"author":{"gitId":"-"},"content":" service.createAccount(testKey, testTimezone);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" expect(spyHttpRequestService.post).toHaveBeenCalledWith(ResourceEndpoints.ACCOUNT, paramMap);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" });"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" it(\u0027should execute POST on account endpoint with empty timezone string\u0027, () \u003d\u003e {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" const testKey: string \u003d \u0027testKey\u0027;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" key: testKey,"},{"lineNumber":63,"author":{"gitId":"-"},"content":" };"},{"lineNumber":64,"author":{"gitId":"-"},"content":" service.createAccount(testKey, \u0027\u0027);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" expect(spyHttpRequestService.post).toHaveBeenCalledWith(ResourceEndpoints.ACCOUNT, paramMap);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" });"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" it(\u0027should execute POST on account request endpoint\u0027, () \u003d\u003e {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" const testRequest: AccountCreateRequest \u003d {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" instructorEmail: \u0027testEmail\u0027,"},{"lineNumber":71,"author":{"gitId":"-"},"content":" instructorInstitution: \u0027testInstitution\u0027,"},{"lineNumber":72,"author":{"gitId":"-"},"content":" instructorName: \u0027testName\u0027,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" };"},{"lineNumber":74,"author":{"gitId":"-"},"content":" service.createAccountRequest(testRequest);"},{"lineNumber":75,"author":{"gitId":"-"},"content":" expect(spyHttpRequestService.post).toHaveBeenCalledWith(ResourceEndpoints.ACCOUNT_REQUEST, {}, testRequest);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" });"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" it(\u0027should execute DELETE on account endpoint\u0027, () \u003d\u003e {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" service.deleteAccount(id);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" instructorid: id,"},{"lineNumber":82,"author":{"gitId":"-"},"content":" };"},{"lineNumber":83,"author":{"gitId":"-"},"content":" expect(spyHttpRequestService.delete).toHaveBeenCalledWith(ResourceEndpoints.ACCOUNT, paramMap);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" });"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" it(\u0027should execute DELETE on account request endpoint\u0027, () \u003d\u003e {"},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" service.deleteAccountRequest(\u0027testId\u0027);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":" id: \u0027testId\u0027,"},{"lineNumber":90,"author":{"gitId":"-"},"content":" };"},{"lineNumber":91,"author":{"gitId":"-"},"content":" expect(spyHttpRequestService.delete).toHaveBeenCalledWith(ResourceEndpoints.ACCOUNT_REQUEST, paramMap);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" });"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" it(\u0027should execute PUT on account request reset endpoint\u0027, () \u003d\u003e {"},{"lineNumber":95,"author":{"gitId":"dishenggg"},"content":" service.resetAccountRequest(\u0027testId\u0027);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":97,"author":{"gitId":"dishenggg"},"content":" id: \u0027testId\u0027,"},{"lineNumber":98,"author":{"gitId":"-"},"content":" };"},{"lineNumber":99,"author":{"gitId":"-"},"content":" expect(spyHttpRequestService.put).toHaveBeenCalledWith(ResourceEndpoints.ACCOUNT_REQUEST_RESET, paramMap);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" });"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" it(\u0027should execute PUT on account/reset endpoint for student\u0027, () \u003d\u003e {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" service.resetStudentAccount(id, \u0027testStudentEmail\u0027);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" courseid: id,"},{"lineNumber":106,"author":{"gitId":"-"},"content":" studentemail: \u0027testStudentEmail\u0027,"},{"lineNumber":107,"author":{"gitId":"-"},"content":" };"},{"lineNumber":108,"author":{"gitId":"-"},"content":" expect(spyHttpRequestService.put).toHaveBeenCalledWith(ResourceEndpoints.ACCOUNT_RESET, paramMap);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" });"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" it(\u0027should execute PUT on account/reset endpoint for instructor\u0027, () \u003d\u003e {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" service.resetInstructorAccount(id, \u0027testInstructorEmail\u0027);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" courseid: id,"},{"lineNumber":115,"author":{"gitId":"-"},"content":" instructoremail: \u0027testInstructorEmail\u0027,"},{"lineNumber":116,"author":{"gitId":"-"},"content":" };"},{"lineNumber":117,"author":{"gitId":"-"},"content":" expect(spyHttpRequestService.put).toHaveBeenCalledWith(ResourceEndpoints.ACCOUNT_RESET, paramMap);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" });"},{"lineNumber":119,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"dishenggg":4,"-":115}},{"path":"src/web/services/account.service.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { Injectable } from \u0027@angular/core\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { Observable } from \u0027rxjs\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import { HttpRequestService } from \u0027./http-request.service\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { ResourceEndpoints } from \u0027../types/api-const\u0027;"},{"lineNumber":5,"author":{"gitId":"domoberzin"},"content":"import {"},{"lineNumber":6,"author":{"gitId":"domoberzin"},"content":" Account,"},{"lineNumber":7,"author":{"gitId":"domoberzin"},"content":" AccountRequest,"},{"lineNumber":8,"author":{"gitId":"domoberzin"},"content":" Accounts,"},{"lineNumber":9,"author":{"gitId":"domoberzin"},"content":" AccountRequests,"},{"lineNumber":10,"author":{"gitId":"domoberzin"},"content":" JoinLink,"},{"lineNumber":11,"author":{"gitId":"domoberzin"},"content":" MessageOutput,"},{"lineNumber":12,"author":{"gitId":"domoberzin"},"content":" AccountRequestStatus,"},{"lineNumber":13,"author":{"gitId":"domoberzin"},"content":"} from \u0027../types/api-output\u0027;"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":"import {"},{"lineNumber":15,"author":{"gitId":"domoberzin"},"content":" AccountCreateRequest,"},{"lineNumber":16,"author":{"gitId":"domoberzin"},"content":" AccountRequestUpdateRequest,"},{"lineNumber":17,"author":{"gitId":"domoberzin"},"content":" AccountRequestRejectionRequest,"},{"lineNumber":18,"author":{"gitId":"domoberzin"},"content":"} from \u0027../types/api-request\u0027;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Handles account related logic provision"},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":"@Injectable({"},{"lineNumber":24,"author":{"gitId":"-"},"content":" providedIn: \u0027root\u0027,"},{"lineNumber":25,"author":{"gitId":"-"},"content":"})"},{"lineNumber":26,"author":{"gitId":"-"},"content":"export class AccountService {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" constructor(private httpRequestService: HttpRequestService) {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * Creates an account by calling API."},{"lineNumber":32,"author":{"gitId":"-"},"content":" */"},{"lineNumber":33,"author":{"gitId":"-"},"content":" createAccount(key: string, timezone: string): Observable\u003cMessageOutput\u003e {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d { key };"},{"lineNumber":35,"author":{"gitId":"-"},"content":" if (timezone) {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" paramMap[\u0027timezone\u0027] \u003d timezone;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":" return this.httpRequestService.post(ResourceEndpoints.ACCOUNT, paramMap);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":42,"author":{"gitId":"-"},"content":" * Creates an account request by calling API."},{"lineNumber":43,"author":{"gitId":"-"},"content":" */"},{"lineNumber":44,"author":{"gitId":"-"},"content":" createAccountRequest(request: AccountCreateRequest): Observable\u003cAccountRequest\u003e {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" return this.httpRequestService.post(ResourceEndpoints.ACCOUNT_REQUEST, {}, request);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Deletes an account by calling API."},{"lineNumber":50,"author":{"gitId":"-"},"content":" */"},{"lineNumber":51,"author":{"gitId":"-"},"content":" deleteAccount(id: string): Observable\u003cMessageOutput\u003e {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" instructorid: id,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" };"},{"lineNumber":55,"author":{"gitId":"-"},"content":" return this.httpRequestService.delete(ResourceEndpoints.ACCOUNT, paramMap);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Deletes an account request by calling API."},{"lineNumber":60,"author":{"gitId":"-"},"content":" */"},{"lineNumber":61,"author":{"gitId":"dishenggg"},"content":" deleteAccountRequest(id: string): Observable\u003cMessageOutput\u003e {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" id,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" };"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return this.httpRequestService.delete(ResourceEndpoints.ACCOUNT_REQUEST, paramMap);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":69,"author":{"gitId":"-"},"content":" * Resets an account request by calling API."},{"lineNumber":70,"author":{"gitId":"-"},"content":" */"},{"lineNumber":71,"author":{"gitId":"dishenggg"},"content":" resetAccountRequest(id: string): Observable\u003cJoinLink\u003e {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":73,"author":{"gitId":"dishenggg"},"content":" id,"},{"lineNumber":74,"author":{"gitId":"-"},"content":" };"},{"lineNumber":75,"author":{"gitId":"-"},"content":" return this.httpRequestService.put(ResourceEndpoints.ACCOUNT_REQUEST_RESET, paramMap);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * Resets a student account by calling API."},{"lineNumber":80,"author":{"gitId":"-"},"content":" */"},{"lineNumber":81,"author":{"gitId":"-"},"content":" resetStudentAccount(courseId: string, studentEmail: string): Observable\u003cMessageOutput\u003e {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" courseid: courseId,"},{"lineNumber":84,"author":{"gitId":"-"},"content":" studentemail: studentEmail,"},{"lineNumber":85,"author":{"gitId":"-"},"content":" };"},{"lineNumber":86,"author":{"gitId":"-"},"content":" return this.httpRequestService.put(ResourceEndpoints.ACCOUNT_RESET, paramMap);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":90,"author":{"gitId":"-"},"content":" * Resets an instructor account by calling API."},{"lineNumber":91,"author":{"gitId":"-"},"content":" */"},{"lineNumber":92,"author":{"gitId":"-"},"content":" resetInstructorAccount(courseId: string, instructorEmail: string): Observable\u003cMessageOutput\u003e {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" courseid: courseId,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" instructoremail: instructorEmail,"},{"lineNumber":96,"author":{"gitId":"-"},"content":" };"},{"lineNumber":97,"author":{"gitId":"-"},"content":" return this.httpRequestService.put(ResourceEndpoints.ACCOUNT_RESET, paramMap);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":101,"author":{"gitId":"domoberzin"},"content":" * Approves account request by calling API"},{"lineNumber":102,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":103,"author":{"gitId":"domoberzin"},"content":" approveAccountRequest(id: string, name: string, email: string, institute: string)"},{"lineNumber":104,"author":{"gitId":"domoberzin"},"content":" : Observable\u003cAccountRequest\u003e {"},{"lineNumber":105,"author":{"gitId":"domoberzin"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":106,"author":{"gitId":"domoberzin"},"content":" id,"},{"lineNumber":107,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":108,"author":{"gitId":"domoberzin"},"content":" const accountReqUpdateRequest : AccountRequestUpdateRequest \u003d {"},{"lineNumber":109,"author":{"gitId":"domoberzin"},"content":" name,"},{"lineNumber":110,"author":{"gitId":"domoberzin"},"content":" email,"},{"lineNumber":111,"author":{"gitId":"domoberzin"},"content":" institute,"},{"lineNumber":112,"author":{"gitId":"domoberzin"},"content":" status: AccountRequestStatus.APPROVED,"},{"lineNumber":113,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":114,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":115,"author":{"gitId":"domoberzin"},"content":" return this.httpRequestService.put(ResourceEndpoints.ACCOUNT_REQUEST, paramMap, accountReqUpdateRequest);"},{"lineNumber":116,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":117,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":118,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":119,"author":{"gitId":"domoberzin"},"content":" * Edits an account request by calling API."},{"lineNumber":120,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":121,"author":{"gitId":"domoberzin"},"content":" editAccountRequest(id: string, name: string, email: string, institute: string,"},{"lineNumber":122,"author":{"gitId":"domoberzin"},"content":" status: AccountRequestStatus, comments: string)"},{"lineNumber":123,"author":{"gitId":"domoberzin"},"content":" : Observable\u003cAccountRequest\u003e {"},{"lineNumber":124,"author":{"gitId":"domoberzin"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":125,"author":{"gitId":"domoberzin"},"content":" id,"},{"lineNumber":126,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":127,"author":{"gitId":"domoberzin"},"content":" const accountReqUpdateRequest : AccountRequestUpdateRequest \u003d {"},{"lineNumber":128,"author":{"gitId":"domoberzin"},"content":" name,"},{"lineNumber":129,"author":{"gitId":"domoberzin"},"content":" email,"},{"lineNumber":130,"author":{"gitId":"domoberzin"},"content":" institute,"},{"lineNumber":131,"author":{"gitId":"domoberzin"},"content":" status,"},{"lineNumber":132,"author":{"gitId":"domoberzin"},"content":" comments,"},{"lineNumber":133,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":134,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":135,"author":{"gitId":"domoberzin"},"content":" return this.httpRequestService.put(ResourceEndpoints.ACCOUNT_REQUEST, paramMap, accountReqUpdateRequest);"},{"lineNumber":136,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":137,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":139,"author":{"gitId":"-"},"content":" * Gets an account by calling API."},{"lineNumber":140,"author":{"gitId":"-"},"content":" */"},{"lineNumber":141,"author":{"gitId":"-"},"content":" getAccount(googleId: string): Observable\u003cAccount\u003e {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" instructorid: googleId,"},{"lineNumber":144,"author":{"gitId":"-"},"content":" };"},{"lineNumber":145,"author":{"gitId":"-"},"content":" return this.httpRequestService.get(ResourceEndpoints.ACCOUNT, paramMap);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":149,"author":{"gitId":"-"},"content":" * Gets accounts by calling API."},{"lineNumber":150,"author":{"gitId":"-"},"content":" */"},{"lineNumber":151,"author":{"gitId":"-"},"content":" getAccounts(email: string): Observable\u003cAccounts\u003e {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" useremail: email,"},{"lineNumber":154,"author":{"gitId":"-"},"content":" };"},{"lineNumber":155,"author":{"gitId":"-"},"content":" return this.httpRequestService.get(ResourceEndpoints.ACCOUNTS, paramMap);"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":159,"author":{"gitId":"domoberzin"},"content":" * Gets account requests by calling API."},{"lineNumber":160,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":161,"author":{"gitId":"domoberzin"},"content":" getPendingAccountRequests(): Observable\u003cAccountRequests\u003e {"},{"lineNumber":162,"author":{"gitId":"domoberzin"},"content":" const paramMap \u003d {"},{"lineNumber":163,"author":{"gitId":"domoberzin"},"content":" status: AccountRequestStatus.PENDING,"},{"lineNumber":164,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":165,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":166,"author":{"gitId":"domoberzin"},"content":" return this.httpRequestService.get(ResourceEndpoints.ACCOUNT_REQUESTS, paramMap);"},{"lineNumber":167,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":168,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":169,"author":{"gitId":"domoberzin"},"content":" /**"},{"lineNumber":170,"author":{"gitId":"domoberzin"},"content":" * Rejects an account request by calling API."},{"lineNumber":171,"author":{"gitId":"domoberzin"},"content":" */"},{"lineNumber":172,"author":{"gitId":"domoberzin"},"content":" rejectAccountRequest(id: string, title?: string, body?: string): Observable\u003cAccountRequest\u003e {"},{"lineNumber":173,"author":{"gitId":"domoberzin"},"content":" let accountReqRejectRequest: AccountRequestRejectionRequest \u003d {};"},{"lineNumber":174,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":175,"author":{"gitId":"domoberzin"},"content":" if (title !\u003d\u003d undefined \u0026\u0026 body !\u003d\u003d undefined) {"},{"lineNumber":176,"author":{"gitId":"domoberzin"},"content":" accountReqRejectRequest \u003d {"},{"lineNumber":177,"author":{"gitId":"domoberzin"},"content":" reasonTitle: title,"},{"lineNumber":178,"author":{"gitId":"domoberzin"},"content":" reasonBody: body,"},{"lineNumber":179,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":180,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":181,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":182,"author":{"gitId":"domoberzin"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":183,"author":{"gitId":"domoberzin"},"content":" id,"},{"lineNumber":184,"author":{"gitId":"domoberzin"},"content":" };"},{"lineNumber":185,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":186,"author":{"gitId":"domoberzin"},"content":" return this.httpRequestService.post(ResourceEndpoints.ACCOUNT_REQUEST_REJECT, paramMap, accountReqRejectRequest);"},{"lineNumber":187,"author":{"gitId":"domoberzin"},"content":" }"},{"lineNumber":188,"author":{"gitId":"domoberzin"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"domoberzin":83,"dishenggg":4,"-":102}},{"path":"src/web/services/log.service.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { Injectable } from \u0027@angular/core\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { Observable } from \u0027rxjs\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import { HttpRequestService } from \u0027./http-request.service\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { ResourceEndpoints } from \u0027../types/api-const\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":6,"author":{"gitId":"-"},"content":" ActionClasses,"},{"lineNumber":7,"author":{"gitId":"-"},"content":" FeedbackSessionLogs,"},{"lineNumber":8,"author":{"gitId":"-"},"content":" FeedbackSessionLogType,"},{"lineNumber":9,"author":{"gitId":"-"},"content":" GeneralLogs,"},{"lineNumber":10,"author":{"gitId":"-"},"content":" QueryLogsParams,"},{"lineNumber":11,"author":{"gitId":"-"},"content":"} from \u0027../types/api-output\u0027;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Handles logging related logic provision."},{"lineNumber":15,"author":{"gitId":"-"},"content":" */"},{"lineNumber":16,"author":{"gitId":"-"},"content":"@Injectable({"},{"lineNumber":17,"author":{"gitId":"-"},"content":" providedIn: \u0027root\u0027,"},{"lineNumber":18,"author":{"gitId":"-"},"content":"})"},{"lineNumber":19,"author":{"gitId":"-"},"content":"export class LogService {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" constructor(private httpRequestService: HttpRequestService) { }"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * Creates a log for feedback session by calling API."},{"lineNumber":25,"author":{"gitId":"-"},"content":" */"},{"lineNumber":26,"author":{"gitId":"-"},"content":" createFeedbackSessionLog(queryParams: {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" courseId: string,"},{"lineNumber":28,"author":{"gitId":"-"},"content":" feedbackSessionName: string,"},{"lineNumber":29,"author":{"gitId":"-"},"content":" studentEmail: string,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" logType: FeedbackSessionLogType,"},{"lineNumber":31,"author":{"gitId":"dishenggg"},"content":" feedbackSessionId?: string,"},{"lineNumber":32,"author":{"gitId":"dishenggg"},"content":" studentId?: string,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }): Observable\u003cstring\u003e {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" courseid: queryParams.courseId,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" fsname: queryParams.feedbackSessionName,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" studentemail: queryParams.studentEmail,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" fsltype: queryParams.logType.toString(),"},{"lineNumber":39,"author":{"gitId":"-"},"content":" };"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"dishenggg"},"content":" if (queryParams.feedbackSessionId) {"},{"lineNumber":42,"author":{"gitId":"dishenggg"},"content":" paramMap[\u0027fsid\u0027] \u003d queryParams.feedbackSessionId;"},{"lineNumber":43,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":44,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":45,"author":{"gitId":"dishenggg"},"content":" if (queryParams.studentId) {"},{"lineNumber":46,"author":{"gitId":"dishenggg"},"content":" paramMap[\u0027studentid\u0027] \u003d queryParams.studentId;"},{"lineNumber":47,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":48,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" return this.httpRequestService.post(ResourceEndpoints.SESSION_LOGS, paramMap);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":53,"author":{"gitId":"-"},"content":" * Searches for feedback session logs."},{"lineNumber":54,"author":{"gitId":"-"},"content":" */"},{"lineNumber":55,"author":{"gitId":"-"},"content":" searchFeedbackSessionLog(queryParams: {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" courseId: string,"},{"lineNumber":57,"author":{"gitId":"-"},"content":" searchFrom: string,"},{"lineNumber":58,"author":{"gitId":"-"},"content":" searchUntil: string,"},{"lineNumber":59,"author":{"gitId":"-"},"content":" studentEmail?: string,"},{"lineNumber":60,"author":{"gitId":"-"},"content":" sessionName?: string,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" logType?: string,"},{"lineNumber":62,"author":{"gitId":"dishenggg"},"content":" studentId?: string,"},{"lineNumber":63,"author":{"gitId":"dishenggg"},"content":" sessionId?: string,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }): Observable\u003cFeedbackSessionLogs\u003e {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" courseid: queryParams.courseId,"},{"lineNumber":67,"author":{"gitId":"-"},"content":" fslstarttime: queryParams.searchFrom,"},{"lineNumber":68,"author":{"gitId":"-"},"content":" fslendtime: queryParams.searchUntil,"},{"lineNumber":69,"author":{"gitId":"-"},"content":" };"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" if (queryParams.studentEmail) {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" paramMap[\u0027studentemail\u0027] \u003d queryParams.studentEmail;"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" if (queryParams.sessionName) {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" paramMap[\u0027fsname\u0027] \u003d queryParams.sessionName;"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" if (queryParams.logType) {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" paramMap[\u0027fsltype\u0027] \u003d queryParams.logType;"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"dishenggg"},"content":" if (queryParams.studentId) {"},{"lineNumber":84,"author":{"gitId":"dishenggg"},"content":" paramMap[\u0027studentid\u0027] \u003d queryParams.studentId;"},{"lineNumber":85,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":86,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":87,"author":{"gitId":"dishenggg"},"content":" if (queryParams.sessionId) {"},{"lineNumber":88,"author":{"gitId":"dishenggg"},"content":" paramMap[\u0027fsid\u0027] \u003d queryParams.sessionId;"},{"lineNumber":89,"author":{"gitId":"dishenggg"},"content":" }"},{"lineNumber":90,"author":{"gitId":"dishenggg"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" return this.httpRequestService.get(ResourceEndpoints.SESSION_LOGS, paramMap);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" searchLogs(queryParams: Partial\u003cQueryLogsParams\u003e): Observable\u003cGeneralLogs\u003e {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" const paramMap: Record\u003cstring, string\u003e \u003d {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" starttime: `${queryParams.startTime || -1}`,"},{"lineNumber":97,"author":{"gitId":"-"},"content":" endtime: `${queryParams.endTime || -1}`,"},{"lineNumber":98,"author":{"gitId":"-"},"content":" };"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" if (queryParams.order) {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" paramMap[\u0027order\u0027] \u003d queryParams.order;"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" if (queryParams.severity) {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" paramMap[\u0027severity\u0027] \u003d queryParams.severity;"},{"lineNumber":106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" if (queryParams.minSeverity) {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" paramMap[\u0027minseverity\u0027] \u003d queryParams.minSeverity;"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" if (queryParams.logEvent) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" paramMap[\u0027logevent\u0027] \u003d queryParams.logEvent;"},{"lineNumber":114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" if (queryParams.actionClass) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" paramMap[\u0027actionclass\u0027] \u003d queryParams.actionClass;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" if (queryParams.traceId) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" paramMap[\u0027traceid\u0027] \u003d queryParams.traceId;"},{"lineNumber":122,"author":{"gitId":"-"},"content":" }"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" if (queryParams.userInfoParams) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" if (queryParams.userInfoParams.googleId) {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" paramMap[\u0027googleid\u0027] \u003d queryParams.userInfoParams.googleId;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" if (queryParams.userInfoParams.regkey) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" paramMap[\u0027key\u0027] \u003d queryParams.userInfoParams.regkey;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" if (queryParams.userInfoParams.email) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" paramMap[\u0027email\u0027] \u003d queryParams.userInfoParams.email;"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" if (queryParams.sourceLocation) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" if (queryParams.sourceLocation.file) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" paramMap[\u0027sourcelocationfile\u0027] \u003d queryParams.sourceLocation.file;"},{"lineNumber":141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" if (queryParams.sourceLocation.function) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" paramMap[\u0027sourcelocationfunction\u0027] \u003d queryParams.sourceLocation.function;"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" if (queryParams.exceptionClass) {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" paramMap[\u0027exceptionclass\u0027] \u003d queryParams.exceptionClass;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" if (queryParams.latency) {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" paramMap[\u0027latency\u0027] \u003d queryParams.latency;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" if (queryParams.status) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" paramMap[\u0027status\u0027] \u003d queryParams.status;"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" if (queryParams.version) {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" paramMap[\u0027version\u0027] \u003d queryParams.version;"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" if (queryParams.extraFilters) {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" paramMap[\u0027extrafilters\u0027] \u003d queryParams.extraFilters;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" return this.httpRequestService.get(ResourceEndpoints.LOGS, paramMap);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" getActionClassList(): Observable\u003cActionClasses\u003e {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" return this.httpRequestService.get(ResourceEndpoints.ACTION_CLASS);"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"dishenggg":20,"-":154}},{"path":"src/web/services/search.service.spec.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { HttpClientTestingModule } from \u0027@angular/common/http/testing\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { TestBed } from \u0027@angular/core/testing\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import { RouterTestingModule } from \u0027@angular/router/testing\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { HttpRequestService } from \u0027./http-request.service\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":6,"author":{"gitId":"-"},"content":" AccountRequestSearchResult,"},{"lineNumber":7,"author":{"gitId":"-"},"content":" InstructorAccountSearchResult,"},{"lineNumber":8,"author":{"gitId":"-"},"content":" SearchService,"},{"lineNumber":9,"author":{"gitId":"-"},"content":" StudentAccountSearchResult,"},{"lineNumber":10,"author":{"gitId":"-"},"content":"} from \u0027./search.service\u0027;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import { TimezoneService } from \u0027./timezone.service\u0027;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import createSpyFromClass from \u0027../test-helpers/create-spy-from-class\u0027;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import { ResourceEndpoints } from \u0027../types/api-const\u0027;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":15,"author":{"gitId":"-"},"content":" AccountRequest,"},{"lineNumber":16,"author":{"gitId":"-"},"content":" AccountRequestStatus,"},{"lineNumber":17,"author":{"gitId":"-"},"content":" Course,"},{"lineNumber":18,"author":{"gitId":"-"},"content":" FeedbackSession,"},{"lineNumber":19,"author":{"gitId":"-"},"content":" FeedbackSessionPublishStatus,"},{"lineNumber":20,"author":{"gitId":"-"},"content":" FeedbackSessionSubmissionStatus,"},{"lineNumber":21,"author":{"gitId":"-"},"content":" Instructor,"},{"lineNumber":22,"author":{"gitId":"-"},"content":" InstructorPermissionRole,"},{"lineNumber":23,"author":{"gitId":"-"},"content":" InstructorPrivilege,"},{"lineNumber":24,"author":{"gitId":"-"},"content":" JoinState,"},{"lineNumber":25,"author":{"gitId":"-"},"content":" ResponseVisibleSetting,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" SessionVisibleSetting,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" Student,"},{"lineNumber":28,"author":{"gitId":"-"},"content":"} from \u0027../types/api-output\u0027;"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"describe(\u0027SearchService\u0027, () \u003d\u003e {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" let spyHttpRequestService: any;"},{"lineNumber":32,"author":{"gitId":"-"},"content":" let service: SearchService;"},{"lineNumber":33,"author":{"gitId":"-"},"content":" let timezoneService: TimezoneService;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" const mockStudent: Student \u003d {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" email: \u0027alice.b.tmms@gmail.tmt\u0027,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" courseId: \u0027dog.gma-demo\u0027,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" name: \u0027Alice Betsy\u0027,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" googleId: \u0027alice.b.tmms.sampleData\u0027,"},{"lineNumber":40,"author":{"gitId":"-"},"content":" comments: \"This student\u0027s name is Alice Betsy\","},{"lineNumber":41,"author":{"gitId":"-"},"content":" key: \u0027keyheehee\u0027,"},{"lineNumber":42,"author":{"gitId":"-"},"content":" institute: \u0027NUS\u0027,"},{"lineNumber":43,"author":{"gitId":"-"},"content":" joinState: JoinState.JOINED,"},{"lineNumber":44,"author":{"gitId":"-"},"content":" teamName: \u0027Team 1\u0027,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" sectionName: \u0027Tutorial Group 1\u0027,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" };"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" const mockInstructorA: Instructor \u003d {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" googleId: \u0027test@example.com\u0027,"},{"lineNumber":50,"author":{"gitId":"-"},"content":" courseId: \u0027dog.gma-demo\u0027,"},{"lineNumber":51,"author":{"gitId":"-"},"content":" email: \u0027dog@gmail.com\u0027,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" isDisplayedToStudents: true,"},{"lineNumber":53,"author":{"gitId":"-"},"content":" displayedToStudentsAs: \u0027Instructor\u0027,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" name: \u0027Hi\u0027,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" key: \u0027impicklerick\u0027,"},{"lineNumber":56,"author":{"gitId":"-"},"content":" role: InstructorPermissionRole.INSTRUCTOR_PERMISSION_ROLE_COOWNER,"},{"lineNumber":57,"author":{"gitId":"-"},"content":" joinState: JoinState.JOINED,"},{"lineNumber":58,"author":{"gitId":"-"},"content":" };"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" const mockInstructorB: Instructor \u003d {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" googleId: \u0027insB\u0027,"},{"lineNumber":62,"author":{"gitId":"-"},"content":" courseId: \u0027dog.gma-demo\u0027,"},{"lineNumber":63,"author":{"gitId":"-"},"content":" email: \u0027cat@gmail.com\u0027,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" isDisplayedToStudents: true,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" displayedToStudentsAs: \u0027Instructor\u0027,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" name: \u0027Cat\u0027,"},{"lineNumber":67,"author":{"gitId":"-"},"content":" key: \u0027qwertyuiop\u0027,"},{"lineNumber":68,"author":{"gitId":"-"},"content":" role: InstructorPermissionRole.INSTRUCTOR_PERMISSION_ROLE_CUSTOM,"},{"lineNumber":69,"author":{"gitId":"-"},"content":" joinState: JoinState.JOINED,"},{"lineNumber":70,"author":{"gitId":"-"},"content":" };"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" const mockInstructorC: Instructor \u003d {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" googleId: \u0027insC\u0027,"},{"lineNumber":74,"author":{"gitId":"-"},"content":" courseId: \u0027dog.gma-demo\u0027,"},{"lineNumber":75,"author":{"gitId":"-"},"content":" email: \u0027animal@gmail.com\u0027,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" isDisplayedToStudents: true,"},{"lineNumber":77,"author":{"gitId":"-"},"content":" displayedToStudentsAs: \u0027Instructor\u0027,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" name: \u0027QWQ\u0027,"},{"lineNumber":79,"author":{"gitId":"-"},"content":" key: \u0027vjvkjsnffwicvvcsc\u0027,"},{"lineNumber":80,"author":{"gitId":"-"},"content":" role: InstructorPermissionRole.INSTRUCTOR_PERMISSION_ROLE_CUSTOM,"},{"lineNumber":81,"author":{"gitId":"-"},"content":" joinState: JoinState.JOINED,"},{"lineNumber":82,"author":{"gitId":"-"},"content":" };"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" const mockSessions: FeedbackSession[] \u003d ["},{"lineNumber":85,"author":{"gitId":"-"},"content":" {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" courseId: \u0027dog.gma-demo\u0027,"},{"lineNumber":87,"author":{"gitId":"-"},"content":" timeZone: \u0027Asia/Singapore\u0027,"},{"lineNumber":88,"author":{"gitId":"-"},"content":" feedbackSessionName: \u0027First team feedback session\u0027,"},{"lineNumber":89,"author":{"gitId":"-"},"content":" instructions: \u0027Please give your feedback based on the following questions.\u0027,"},{"lineNumber":90,"author":{"gitId":"-"},"content":" submissionStartTimestamp: 1333295940000,"},{"lineNumber":91,"author":{"gitId":"-"},"content":" submissionEndTimestamp: 1333382340000,"},{"lineNumber":92,"author":{"gitId":"-"},"content":" submissionStatus: FeedbackSessionSubmissionStatus.CLOSED,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" publishStatus: FeedbackSessionPublishStatus.PUBLISHED,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" createdAtTimestamp: 1333324740000,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" gracePeriod: 1,"},{"lineNumber":96,"author":{"gitId":"-"},"content":" sessionVisibleSetting: SessionVisibleSetting.CUSTOM,"},{"lineNumber":97,"author":{"gitId":"-"},"content":" responseVisibleSetting: ResponseVisibleSetting.CUSTOM,"},{"lineNumber":98,"author":{"gitId":"-"},"content":" isClosingEmailEnabled: false,"},{"lineNumber":99,"author":{"gitId":"-"},"content":" isPublishedEmailEnabled: false,"},{"lineNumber":100,"author":{"gitId":"-"},"content":" studentDeadlines: {},"},{"lineNumber":101,"author":{"gitId":"-"},"content":" instructorDeadlines: {},"},{"lineNumber":102,"author":{"gitId":"-"},"content":" },"},{"lineNumber":103,"author":{"gitId":"-"},"content":" {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" courseId: \u0027dog.gma-demo\u0027,"},{"lineNumber":105,"author":{"gitId":"-"},"content":" timeZone: \u0027Asia/Singapore\u0027,"},{"lineNumber":106,"author":{"gitId":"-"},"content":" feedbackSessionName: \u0027Second team feedback session\u0027,"},{"lineNumber":107,"author":{"gitId":"-"},"content":" instructions: \u0027Please give your feedback based on the following questions.\u0027,"},{"lineNumber":108,"author":{"gitId":"-"},"content":" submissionStartTimestamp: 1333295940000,"},{"lineNumber":109,"author":{"gitId":"-"},"content":" submissionEndTimestamp: 2122300740000,"},{"lineNumber":110,"author":{"gitId":"-"},"content":" submissionStatus: FeedbackSessionSubmissionStatus.OPEN,"},{"lineNumber":111,"author":{"gitId":"-"},"content":" publishStatus: FeedbackSessionPublishStatus.NOT_PUBLISHED,"},{"lineNumber":112,"author":{"gitId":"-"},"content":" createdAtTimestamp: 1333324740000,"},{"lineNumber":113,"author":{"gitId":"-"},"content":" gracePeriod: 1,"},{"lineNumber":114,"author":{"gitId":"-"},"content":" sessionVisibleSetting: SessionVisibleSetting.CUSTOM,"},{"lineNumber":115,"author":{"gitId":"-"},"content":" responseVisibleSetting: ResponseVisibleSetting.CUSTOM,"},{"lineNumber":116,"author":{"gitId":"-"},"content":" isClosingEmailEnabled: false,"},{"lineNumber":117,"author":{"gitId":"-"},"content":" isPublishedEmailEnabled: false,"},{"lineNumber":118,"author":{"gitId":"-"},"content":" studentDeadlines: {},"},{"lineNumber":119,"author":{"gitId":"-"},"content":" instructorDeadlines: {},"},{"lineNumber":120,"author":{"gitId":"-"},"content":" },"},{"lineNumber":121,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" const mockPrivilegeA: InstructorPrivilege \u003d {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" privileges: {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" courseLevel: {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" canModifyCourse: true,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" canModifySession: true,"},{"lineNumber":128,"author":{"gitId":"-"},"content":" canModifyStudent: true,"},{"lineNumber":129,"author":{"gitId":"-"},"content":" canModifyInstructor: true,"},{"lineNumber":130,"author":{"gitId":"-"},"content":" canViewStudentInSections: true,"},{"lineNumber":131,"author":{"gitId":"-"},"content":" canModifySessionCommentsInSections: true,"},{"lineNumber":132,"author":{"gitId":"-"},"content":" canViewSessionInSections: true,"},{"lineNumber":133,"author":{"gitId":"-"},"content":" canSubmitSessionInSections: true,"},{"lineNumber":134,"author":{"gitId":"-"},"content":" },"},{"lineNumber":135,"author":{"gitId":"-"},"content":" sectionLevel: {},"},{"lineNumber":136,"author":{"gitId":"-"},"content":" sessionLevel: {},"},{"lineNumber":137,"author":{"gitId":"-"},"content":" },"},{"lineNumber":138,"author":{"gitId":"-"},"content":" requestId: \u0027checkyourprivilege\u0027,"},{"lineNumber":139,"author":{"gitId":"-"},"content":" };"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" const mockPrivilegeB: InstructorPrivilege \u003d {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" privileges: {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" courseLevel: {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" canModifyCourse: true,"},{"lineNumber":145,"author":{"gitId":"-"},"content":" canModifySession: true,"},{"lineNumber":146,"author":{"gitId":"-"},"content":" canModifyStudent: true,"},{"lineNumber":147,"author":{"gitId":"-"},"content":" canModifyInstructor: false,"},{"lineNumber":148,"author":{"gitId":"-"},"content":" canViewStudentInSections: true,"},{"lineNumber":149,"author":{"gitId":"-"},"content":" canModifySessionCommentsInSections: true,"},{"lineNumber":150,"author":{"gitId":"-"},"content":" canViewSessionInSections: true,"},{"lineNumber":151,"author":{"gitId":"-"},"content":" canSubmitSessionInSections: true,"},{"lineNumber":152,"author":{"gitId":"-"},"content":" },"},{"lineNumber":153,"author":{"gitId":"-"},"content":" sectionLevel: {},"},{"lineNumber":154,"author":{"gitId":"-"},"content":" sessionLevel: {},"},{"lineNumber":155,"author":{"gitId":"-"},"content":" },"},{"lineNumber":156,"author":{"gitId":"-"},"content":" requestId: \u0027123gyijuyol56w8refw123ce8f5\u0027,"},{"lineNumber":157,"author":{"gitId":"-"},"content":" };"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" const mockPrivilegeC: InstructorPrivilege \u003d {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" privileges: {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" courseLevel: {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" canModifyCourse: false,"},{"lineNumber":163,"author":{"gitId":"-"},"content":" canModifySession: false,"},{"lineNumber":164,"author":{"gitId":"-"},"content":" canModifyStudent: false,"},{"lineNumber":165,"author":{"gitId":"-"},"content":" canModifyInstructor: true,"},{"lineNumber":166,"author":{"gitId":"-"},"content":" canViewStudentInSections: false,"},{"lineNumber":167,"author":{"gitId":"-"},"content":" canModifySessionCommentsInSections: false,"},{"lineNumber":168,"author":{"gitId":"-"},"content":" canViewSessionInSections: false,"},{"lineNumber":169,"author":{"gitId":"-"},"content":" canSubmitSessionInSections: false,"},{"lineNumber":170,"author":{"gitId":"-"},"content":" },"},{"lineNumber":171,"author":{"gitId":"-"},"content":" sectionLevel: {},"},{"lineNumber":172,"author":{"gitId":"-"},"content":" sessionLevel: {},"},{"lineNumber":173,"author":{"gitId":"-"},"content":" },"},{"lineNumber":174,"author":{"gitId":"-"},"content":" requestId: \u002798pa78342kjnk22s1213rsdff4\u0027,"},{"lineNumber":175,"author":{"gitId":"-"},"content":" };"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" const mockCourse: Course \u003d {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" courseId: \u0027dog.gma-demo\u0027,"},{"lineNumber":179,"author":{"gitId":"-"},"content":" courseName: \u0027Sample Course 101\u0027,"},{"lineNumber":180,"author":{"gitId":"-"},"content":" institute: \u0027Test Institute\u0027,"},{"lineNumber":181,"author":{"gitId":"-"},"content":" timeZone: \u0027UTC\u0027,"},{"lineNumber":182,"author":{"gitId":"-"},"content":" creationTimestamp: 1585487897502,"},{"lineNumber":183,"author":{"gitId":"-"},"content":" deletionTimestamp: 0,"},{"lineNumber":184,"author":{"gitId":"-"},"content":" requestId: \u00275e80aa3c00007918934385f5\u0027,"},{"lineNumber":185,"author":{"gitId":"-"},"content":" };"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" const mockAccountRequest: AccountRequest \u003d {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" id: \u0027132efa02-b208-4195-a262-a8eae25ceb95\u0027,"},{"lineNumber":189,"author":{"gitId":"-"},"content":" registrationKey: \u0027regkey\u0027,"},{"lineNumber":190,"author":{"gitId":"-"},"content":" createdAt: 1585487897502,"},{"lineNumber":191,"author":{"gitId":"-"},"content":" name: \u0027Test Instructor\u0027,"},{"lineNumber":192,"author":{"gitId":"-"},"content":" institute: \u0027Test Institute\u0027,"},{"lineNumber":193,"author":{"gitId":"-"},"content":" email: \u0027test@example.com\u0027,"},{"lineNumber":194,"author":{"gitId":"domoberzin"},"content":" comments: \u0027This is a test account request\u0027,"},{"lineNumber":195,"author":{"gitId":"-"},"content":" status: AccountRequestStatus.APPROVED,"},{"lineNumber":196,"author":{"gitId":"-"},"content":" };"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" beforeEach(() \u003d\u003e {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" spyHttpRequestService \u003d createSpyFromClass(HttpRequestService);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" TestBed.configureTestingModule({"},{"lineNumber":201,"author":{"gitId":"-"},"content":" imports: [HttpClientTestingModule, RouterTestingModule],"},{"lineNumber":202,"author":{"gitId":"-"},"content":" providers: ["},{"lineNumber":203,"author":{"gitId":"-"},"content":" { provide: HttpRequestService, useValue: spyHttpRequestService },"},{"lineNumber":204,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":205,"author":{"gitId":"-"},"content":" });"},{"lineNumber":206,"author":{"gitId":"-"},"content":" service \u003d TestBed.inject(SearchService);"},{"lineNumber":207,"author":{"gitId":"-"},"content":" timezoneService \u003d TestBed.inject(TimezoneService);"},{"lineNumber":208,"author":{"gitId":"-"},"content":" });"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":" it(\u0027should be created\u0027, () \u003d\u003e {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" expect(service).toBeTruthy();"},{"lineNumber":212,"author":{"gitId":"-"},"content":" });"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" it(\u0027should execute GET when searching for students\u0027, () \u003d\u003e {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" service.searchStudents(\u0027Alice\u0027, \u0027instructor\u0027);"},{"lineNumber":216,"author":{"gitId":"-"},"content":" const paramMap: { [key: string]: string } \u003d {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" searchkey: \u0027Alice\u0027,"},{"lineNumber":218,"author":{"gitId":"-"},"content":" entitytype: \u0027instructor\u0027,"},{"lineNumber":219,"author":{"gitId":"-"},"content":" };"},{"lineNumber":220,"author":{"gitId":"-"},"content":" expect(spyHttpRequestService.get).toHaveBeenCalledWith("},{"lineNumber":221,"author":{"gitId":"-"},"content":" ResourceEndpoints.SEARCH_STUDENTS,"},{"lineNumber":222,"author":{"gitId":"-"},"content":" paramMap,"},{"lineNumber":223,"author":{"gitId":"-"},"content":" );"},{"lineNumber":224,"author":{"gitId":"-"},"content":" });"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" it(\u0027should execute GET when searching for instructors\u0027, () \u003d\u003e {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" service.searchInstructors(\u0027YoyoImCoronavirus\u0027);"},{"lineNumber":228,"author":{"gitId":"-"},"content":" const paramMap: { [key: string]: string } \u003d {"},{"lineNumber":229,"author":{"gitId":"-"},"content":" searchkey: \u0027YoyoImCoronavirus\u0027,"},{"lineNumber":230,"author":{"gitId":"-"},"content":" };"},{"lineNumber":231,"author":{"gitId":"-"},"content":" expect(spyHttpRequestService.get).toHaveBeenCalledWith("},{"lineNumber":232,"author":{"gitId":"-"},"content":" ResourceEndpoints.SEARCH_INSTRUCTORS,"},{"lineNumber":233,"author":{"gitId":"-"},"content":" paramMap,"},{"lineNumber":234,"author":{"gitId":"-"},"content":" );"},{"lineNumber":235,"author":{"gitId":"-"},"content":" });"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" it(\u0027should execute GET when searching for account requests\u0027, () \u003d\u003e {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" service.searchAccountRequests(\u0027Account Request\u0027);"},{"lineNumber":239,"author":{"gitId":"-"},"content":" const paramMap: { [key: string]: string } \u003d {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" searchkey: \u0027Account Request\u0027,"},{"lineNumber":241,"author":{"gitId":"-"},"content":" };"},{"lineNumber":242,"author":{"gitId":"-"},"content":" expect(spyHttpRequestService.get).toHaveBeenCalledWith("},{"lineNumber":243,"author":{"gitId":"-"},"content":" ResourceEndpoints.SEARCH_ACCOUNT_REQUESTS,"},{"lineNumber":244,"author":{"gitId":"-"},"content":" paramMap,"},{"lineNumber":245,"author":{"gitId":"-"},"content":" );"},{"lineNumber":246,"author":{"gitId":"-"},"content":" });"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" it(\u0027should join students accurately when calling as admin\u0027, () \u003d\u003e {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" const result: StudentAccountSearchResult \u003d service.joinAdminStudent("},{"lineNumber":250,"author":{"gitId":"-"},"content":" mockStudent,"},{"lineNumber":251,"author":{"gitId":"-"},"content":" { instructors: [mockInstructorA] },"},{"lineNumber":252,"author":{"gitId":"-"},"content":" mockCourse,"},{"lineNumber":253,"author":{"gitId":"-"},"content":" { feedbackSessions: mockSessions },"},{"lineNumber":254,"author":{"gitId":"-"},"content":" [mockPrivilegeA],"},{"lineNumber":255,"author":{"gitId":"-"},"content":" );"},{"lineNumber":256,"author":{"gitId":"-"},"content":" expect(result.comments).toBe(\"This student\u0027s name is Alice Betsy\");"},{"lineNumber":257,"author":{"gitId":"-"},"content":" expect(result.courseId).toBe(\u0027dog.gma-demo\u0027);"},{"lineNumber":258,"author":{"gitId":"-"},"content":" expect(result.courseJoinLink).toBe(`${window.location.origin}/web/join?key\u003dkeyheehee\u0026entitytype\u003dstudent`);"},{"lineNumber":259,"author":{"gitId":"-"},"content":" expect(result.courseName).toBe(\u0027Sample Course 101\u0027);"},{"lineNumber":260,"author":{"gitId":"-"},"content":" expect(result.email).toBe(\u0027alice.b.tmms@gmail.tmt\u0027);"},{"lineNumber":261,"author":{"gitId":"-"},"content":" expect(result.manageAccountLink).toBe(\u0027/web/admin/accounts?instructorid\u003dalice.b.tmms.sampleData\u0027);"},{"lineNumber":262,"author":{"gitId":"-"},"content":" });"},{"lineNumber":263,"author":{"gitId":"-"},"content":""},{"lineNumber":264,"author":{"gitId":"-"},"content":" it(\u0027should join students with correct profile page link when course has co-owner\u0027, () \u003d\u003e {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" const result: StudentAccountSearchResult \u003d service.joinAdminStudent("},{"lineNumber":266,"author":{"gitId":"-"},"content":" mockStudent,"},{"lineNumber":267,"author":{"gitId":"-"},"content":" { instructors: [mockInstructorC, mockInstructorB, mockInstructorA] },"},{"lineNumber":268,"author":{"gitId":"-"},"content":" mockCourse,"},{"lineNumber":269,"author":{"gitId":"-"},"content":" { feedbackSessions: mockSessions },"},{"lineNumber":270,"author":{"gitId":"-"},"content":" [mockPrivilegeC, mockPrivilegeB, mockPrivilegeA],"},{"lineNumber":271,"author":{"gitId":"-"},"content":" );"},{"lineNumber":272,"author":{"gitId":"-"},"content":" expect(result.profilePageLink).toBe(\u0027/web/instructor/courses/student/details?\u0027"},{"lineNumber":273,"author":{"gitId":"-"},"content":" + \u0027courseid\u003ddog.gma-demo\u0026studentemail\u003dalice.b.tmms%40gmail.tmt\u0026user\u003dtest%40example.com\u0027);"},{"lineNumber":274,"author":{"gitId":"-"},"content":" });"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" it(\u0027should join students with correct profile page link when course has no co-owner\u0027, () \u003d\u003e {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" const result: StudentAccountSearchResult \u003d service.joinAdminStudent("},{"lineNumber":278,"author":{"gitId":"-"},"content":" mockStudent,"},{"lineNumber":279,"author":{"gitId":"-"},"content":" { instructors: [mockInstructorB, mockInstructorC] },"},{"lineNumber":280,"author":{"gitId":"-"},"content":" mockCourse,"},{"lineNumber":281,"author":{"gitId":"-"},"content":" { feedbackSessions: mockSessions },"},{"lineNumber":282,"author":{"gitId":"-"},"content":" [mockPrivilegeB, mockPrivilegeC],"},{"lineNumber":283,"author":{"gitId":"-"},"content":" );"},{"lineNumber":284,"author":{"gitId":"-"},"content":" expect(result.profilePageLink).toBe(\u0027/web/instructor/courses/student/details?\u0027"},{"lineNumber":285,"author":{"gitId":"-"},"content":" + \u0027courseid\u003ddog.gma-demo\u0026studentemail\u003dalice.b.tmms%40gmail.tmt\u0026user\u003dinsC\u0027);"},{"lineNumber":286,"author":{"gitId":"-"},"content":" });"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" it(\u0027should join instructors accurately when calling as admin\u0027, () \u003d\u003e {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" const result: InstructorAccountSearchResult \u003d service"},{"lineNumber":290,"author":{"gitId":"-"},"content":" .joinAdminInstructor(mockInstructorA, mockCourse, { feedbackSessions: mockSessions });"},{"lineNumber":291,"author":{"gitId":"-"},"content":" expect(result.courseId).toBe(\u0027dog.gma-demo\u0027);"},{"lineNumber":292,"author":{"gitId":"-"},"content":" expect(result.courseJoinLink).toBe(`${window.location.origin}/web/join?key\u003dimpicklerick\u0026entitytype\u003dinstructor`);"},{"lineNumber":293,"author":{"gitId":"-"},"content":" expect(result.courseName).toBe(\u0027Sample Course 101\u0027);"},{"lineNumber":294,"author":{"gitId":"-"},"content":" expect(result.email).toBe(\u0027dog@gmail.com\u0027);"},{"lineNumber":295,"author":{"gitId":"-"},"content":" expect(result.manageAccountLink).toBe(\u0027/web/admin/accounts?instructorid\u003dtest%40example.com\u0027);"},{"lineNumber":296,"author":{"gitId":"-"},"content":" expect(result.homePageLink).toBe(\u0027/web/instructor/home?user\u003dtest%40example.com\u0027);"},{"lineNumber":297,"author":{"gitId":"-"},"content":" });"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" it(\u0027should join account requests accurately when timezone can be guessed and instructor is registered\u0027, () \u003d\u003e {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" jest.spyOn(timezoneService, \u0027guessTimezone\u0027).mockReturnValue(\u0027Asia/Singapore\u0027);"},{"lineNumber":301,"author":{"gitId":"-"},"content":" const accountRequest: AccountRequest \u003d {"},{"lineNumber":302,"author":{"gitId":"-"},"content":" ...mockAccountRequest,"},{"lineNumber":303,"author":{"gitId":"-"},"content":" registeredAt: 1685487897502,"},{"lineNumber":304,"author":{"gitId":"-"},"content":" status: AccountRequestStatus.REGISTERED,"},{"lineNumber":305,"author":{"gitId":"-"},"content":" };"},{"lineNumber":306,"author":{"gitId":"-"},"content":" const result: AccountRequestSearchResult \u003d service.joinAdminAccountRequest(accountRequest);"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" expect(result.id).toBe(\u0027132efa02-b208-4195-a262-a8eae25ceb95\u0027);"},{"lineNumber":309,"author":{"gitId":"-"},"content":" expect(result.email).toBe(\u0027test@example.com\u0027);"},{"lineNumber":310,"author":{"gitId":"-"},"content":" expect(result.institute).toBe(\u0027Test Institute\u0027);"},{"lineNumber":311,"author":{"gitId":"-"},"content":" expect(result.name).toBe(\u0027Test Instructor\u0027);"},{"lineNumber":312,"author":{"gitId":"-"},"content":" expect(result.createdAtText).toBe(\u0027Sun, 29 Mar 2020, 09:18 PM +08:00\u0027);"},{"lineNumber":313,"author":{"gitId":"-"},"content":" expect(result.registeredAtText).toBe(\u0027Wed, 31 May 2023, 07:04 AM +08:00\u0027);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" expect(result.registrationLink).toBe(`${window.location.origin}/web/join?iscreatingaccount\u003dtrue\u0026key\u003dregkey`);"},{"lineNumber":315,"author":{"gitId":"-"},"content":" });"},{"lineNumber":316,"author":{"gitId":"-"},"content":""},{"lineNumber":317,"author":{"gitId":"-"},"content":" it(\u0027should join account requests accurately when timezone cannot be guessed and instructor is not registered\u0027, () \u003d\u003e {"},{"lineNumber":318,"author":{"gitId":"-"},"content":" jest.spyOn(timezoneService, \u0027guessTimezone\u0027).mockReturnValue(\u0027\u0027);"},{"lineNumber":319,"author":{"gitId":"-"},"content":" const result: AccountRequestSearchResult \u003d service.joinAdminAccountRequest(mockAccountRequest);"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" expect(result.email).toBe(\u0027test@example.com\u0027);"},{"lineNumber":322,"author":{"gitId":"-"},"content":" expect(result.institute).toBe(\u0027Test Institute\u0027);"},{"lineNumber":323,"author":{"gitId":"-"},"content":" expect(result.name).toBe(\u0027Test Instructor\u0027);"},{"lineNumber":324,"author":{"gitId":"-"},"content":" expect(result.createdAtText).toBe(\u0027Sun, 29 Mar 2020, 01:18 PM +00:00\u0027);"},{"lineNumber":325,"author":{"gitId":"-"},"content":" expect(result.registeredAtText).toBe(null);"},{"lineNumber":326,"author":{"gitId":"-"},"content":" expect(result.registrationLink).toBe(`${window.location.origin}/web/join?iscreatingaccount\u003dtrue\u0026key\u003dregkey`);"},{"lineNumber":327,"author":{"gitId":"-"},"content":" });"},{"lineNumber":328,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"domoberzin":1,"-":327}},{"path":"src/web/services/search.service.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { Injectable } from \u0027@angular/core\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { forkJoin, Observable, of } from \u0027rxjs\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import { map, mergeMap } from \u0027rxjs/operators\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import { CourseService } from \u0027./course.service\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import { FeedbackSessionsService } from \u0027./feedback-sessions.service\u0027;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import { HttpRequestService } from \u0027./http-request.service\u0027;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import { InstructorService } from \u0027./instructor.service\u0027;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import { LinkService } from \u0027./link.service\u0027;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import { TimezoneService } from \u0027./timezone.service\u0027;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import { ResourceEndpoints } from \u0027../types/api-const\u0027;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" AccountRequest,"},{"lineNumber":13,"author":{"gitId":"-"},"content":" AccountRequests,"},{"lineNumber":14,"author":{"gitId":"domoberzin"},"content":" AccountRequestStatus,"},{"lineNumber":15,"author":{"gitId":"-"},"content":" Course, FeedbackSession,"},{"lineNumber":16,"author":{"gitId":"-"},"content":" FeedbackSessions,"},{"lineNumber":17,"author":{"gitId":"-"},"content":" Instructor,"},{"lineNumber":18,"author":{"gitId":"-"},"content":" InstructorPermissionRole,"},{"lineNumber":19,"author":{"gitId":"-"},"content":" InstructorPrivilege,"},{"lineNumber":20,"author":{"gitId":"-"},"content":" Instructors,"},{"lineNumber":21,"author":{"gitId":"-"},"content":" Student,"},{"lineNumber":22,"author":{"gitId":"-"},"content":" Students,"},{"lineNumber":23,"author":{"gitId":"-"},"content":"} from \u0027../types/api-output\u0027;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import { Intent } from \u0027../types/api-request\u0027;"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * Handles the logic for search."},{"lineNumber":28,"author":{"gitId":"-"},"content":" */"},{"lineNumber":29,"author":{"gitId":"-"},"content":"@Injectable({"},{"lineNumber":30,"author":{"gitId":"-"},"content":" providedIn: \u0027root\u0027,"},{"lineNumber":31,"author":{"gitId":"-"},"content":"})"},{"lineNumber":32,"author":{"gitId":"-"},"content":"export class SearchService {"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" constructor("},{"lineNumber":35,"author":{"gitId":"-"},"content":" private instructorService: InstructorService,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private httpRequestService: HttpRequestService,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private feedbackSessionService: FeedbackSessionsService,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private courseService: CourseService,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private linkService: LinkService,"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private timezoneService: TimezoneService,"},{"lineNumber":41,"author":{"gitId":"-"},"content":" ) {}"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" searchInstructor(searchKey: string): Observable\u003cInstructorSearchResult\u003e {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" return this.searchStudents(searchKey, \u0027instructor\u0027).pipe("},{"lineNumber":45,"author":{"gitId":"-"},"content":" map((studentsRes: Students) \u003d\u003e {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" students: studentsRes.students,"},{"lineNumber":48,"author":{"gitId":"-"},"content":" comments: [],"},{"lineNumber":49,"author":{"gitId":"-"},"content":" };"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":51,"author":{"gitId":"-"},"content":" );"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" searchAdmin(searchKey: string): Observable\u003cAdminSearchResult\u003e {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" return forkJoin(["},{"lineNumber":56,"author":{"gitId":"-"},"content":" this.searchStudents(searchKey, \u0027admin\u0027),"},{"lineNumber":57,"author":{"gitId":"-"},"content":" this.searchInstructors(searchKey),"},{"lineNumber":58,"author":{"gitId":"-"},"content":" this.searchAccountRequests(searchKey),"},{"lineNumber":59,"author":{"gitId":"-"},"content":" ]).pipe("},{"lineNumber":60,"author":{"gitId":"-"},"content":" map((value: [Students, Instructors, AccountRequests]): [Student[], Instructor[], AccountRequest[]] \u003d\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":" [value[0].students, value[1].instructors, value[2].accountRequests],"},{"lineNumber":62,"author":{"gitId":"-"},"content":" ),"},{"lineNumber":63,"author":{"gitId":"-"},"content":" mergeMap((value: [Student[], Instructor[], AccountRequest[]]) \u003d\u003e {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" const [students, instructors, accountRequests]: [Student[], Instructor[], AccountRequest[]] \u003d value;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return forkJoin(["},{"lineNumber":66,"author":{"gitId":"-"},"content":" of(students),"},{"lineNumber":67,"author":{"gitId":"-"},"content":" of(instructors),"},{"lineNumber":68,"author":{"gitId":"-"},"content":" of(accountRequests),"},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.getDistinctFields(students, instructors),"},{"lineNumber":70,"author":{"gitId":"-"},"content":" ]);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":72,"author":{"gitId":"-"},"content":" map((value: [Student[], Instructor[], AccountRequest[], DistinctFields]) \u003d\u003e {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" students: this.createStudentAccountSearchResults(value[0], ...value[3]),"},{"lineNumber":75,"author":{"gitId":"-"},"content":" instructors: this.createInstructorAccountSearchResults(value[1], value[3][1], value[3][2]),"},{"lineNumber":76,"author":{"gitId":"-"},"content":" accountRequests: this.createAccountRequestSearchResults(value[2]),"},{"lineNumber":77,"author":{"gitId":"-"},"content":" };"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":79,"author":{"gitId":"-"},"content":" );"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" searchStudents(searchKey: string, entityType: string): Observable\u003cStudents\u003e {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" const paramMap: { [key: string]: string } \u003d {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" searchkey: searchKey,"},{"lineNumber":85,"author":{"gitId":"-"},"content":" entitytype: entityType,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" };"},{"lineNumber":87,"author":{"gitId":"-"},"content":" return this.httpRequestService.get(ResourceEndpoints.SEARCH_STUDENTS, paramMap);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" searchInstructors(searchKey: string): Observable\u003cInstructors\u003e {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" const paramMap: { [key: string]: string } \u003d {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" searchkey: searchKey,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" };"},{"lineNumber":94,"author":{"gitId":"-"},"content":" return this.httpRequestService.get(ResourceEndpoints.SEARCH_INSTRUCTORS, paramMap);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" searchAccountRequests(searchKey: string): Observable\u003cAccountRequests\u003e {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" const paramMap: { [key: string]: string } \u003d {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" searchkey: searchKey,"},{"lineNumber":100,"author":{"gitId":"-"},"content":" };"},{"lineNumber":101,"author":{"gitId":"-"},"content":" return this.httpRequestService.get(ResourceEndpoints.SEARCH_ACCOUNT_REQUESTS, paramMap);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" createStudentAccountSearchResults("},{"lineNumber":105,"author":{"gitId":"-"},"content":" students: Student[],"},{"lineNumber":106,"author":{"gitId":"-"},"content":" distinctInstructorsMap: DistinctInstructorsMap,"},{"lineNumber":107,"author":{"gitId":"-"},"content":" distinctCoursesMap: DistinctCoursesMap,"},{"lineNumber":108,"author":{"gitId":"-"},"content":" distinctFeedbackSessionsMap: DistinctFeedbackSessionsMap,"},{"lineNumber":109,"author":{"gitId":"-"},"content":" distinctInstructorPrivilegesMap: DistinctInstructorPrivilegesMap,"},{"lineNumber":110,"author":{"gitId":"-"},"content":" ): StudentAccountSearchResult[] {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" return students.map((student: Student) \u003d\u003e {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" const { courseId }: Student \u003d student;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" return this.joinAdminStudent("},{"lineNumber":114,"author":{"gitId":"-"},"content":" student,"},{"lineNumber":115,"author":{"gitId":"-"},"content":" distinctInstructorsMap[courseId],"},{"lineNumber":116,"author":{"gitId":"-"},"content":" distinctCoursesMap[courseId],"},{"lineNumber":117,"author":{"gitId":"-"},"content":" distinctFeedbackSessionsMap[courseId],"},{"lineNumber":118,"author":{"gitId":"-"},"content":" distinctInstructorPrivilegesMap[courseId],"},{"lineNumber":119,"author":{"gitId":"-"},"content":" );"},{"lineNumber":120,"author":{"gitId":"-"},"content":" });"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" joinAdminStudent("},{"lineNumber":124,"author":{"gitId":"-"},"content":" student: Student,"},{"lineNumber":125,"author":{"gitId":"-"},"content":" instructors: Instructors,"},{"lineNumber":126,"author":{"gitId":"-"},"content":" course: Course,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" feedbackSessions: FeedbackSessions,"},{"lineNumber":128,"author":{"gitId":"-"},"content":" instructorPrivileges: InstructorPrivilege[],"},{"lineNumber":129,"author":{"gitId":"-"},"content":" ): StudentAccountSearchResult {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" let studentResult: StudentAccountSearchResult \u003d {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" email: \u0027\u0027,"},{"lineNumber":132,"author":{"gitId":"-"},"content":" name: \u0027\u0027,"},{"lineNumber":133,"author":{"gitId":"-"},"content":" comments: \u0027\u0027,"},{"lineNumber":134,"author":{"gitId":"-"},"content":" team: \u0027\u0027,"},{"lineNumber":135,"author":{"gitId":"-"},"content":" section: \u0027\u0027,"},{"lineNumber":136,"author":{"gitId":"-"},"content":" awaitingSessions: {},"},{"lineNumber":137,"author":{"gitId":"-"},"content":" openSessions: {},"},{"lineNumber":138,"author":{"gitId":"-"},"content":" notOpenSessions: {},"},{"lineNumber":139,"author":{"gitId":"-"},"content":" publishedSessions: {},"},{"lineNumber":140,"author":{"gitId":"-"},"content":" courseId: \u0027\u0027,"},{"lineNumber":141,"author":{"gitId":"-"},"content":" courseName: \u0027\u0027,"},{"lineNumber":142,"author":{"gitId":"-"},"content":" isCourseDeleted: false,"},{"lineNumber":143,"author":{"gitId":"-"},"content":" institute: \u0027\u0027,"},{"lineNumber":144,"author":{"gitId":"-"},"content":" manageAccountLink: \u0027\u0027,"},{"lineNumber":145,"author":{"gitId":"-"},"content":" homePageLink: \u0027\u0027,"},{"lineNumber":146,"author":{"gitId":"-"},"content":" profilePageLink: \u0027\u0027,"},{"lineNumber":147,"author":{"gitId":"-"},"content":" courseJoinLink: \u0027\u0027,"},{"lineNumber":148,"author":{"gitId":"-"},"content":" googleId: \u0027\u0027,"},{"lineNumber":149,"author":{"gitId":"-"},"content":" showLinks: false,"},{"lineNumber":150,"author":{"gitId":"-"},"content":" };"},{"lineNumber":151,"author":{"gitId":"-"},"content":" const {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" email,"},{"lineNumber":153,"author":{"gitId":"-"},"content":" name,"},{"lineNumber":154,"author":{"gitId":"-"},"content":" comments \u003d \u0027\u0027,"},{"lineNumber":155,"author":{"gitId":"-"},"content":" teamName: team,"},{"lineNumber":156,"author":{"gitId":"-"},"content":" sectionName: section,"},{"lineNumber":157,"author":{"gitId":"-"},"content":" googleId \u003d \u0027\u0027,"},{"lineNumber":158,"author":{"gitId":"-"},"content":" institute \u003d \u0027\u0027,"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }: Student \u003d student;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" studentResult \u003d { ...studentResult, email, name, comments, team, section, googleId, institute };"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" const { courseId, courseName, deletionTimestamp }: Course \u003d course;"},{"lineNumber":163,"author":{"gitId":"-"},"content":" studentResult \u003d { ...studentResult, courseId, courseName, isCourseDeleted: Boolean(deletionTimestamp) };"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" let masqueradeGoogleId: string \u003d \u0027\u0027;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" for (const instructor of instructors.instructors) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" if (instructor.googleId"},{"lineNumber":168,"author":{"gitId":"-"},"content":" \u0026\u0026 instructor.role \u003d\u003d\u003d InstructorPermissionRole.INSTRUCTOR_PERMISSION_ROLE_COOWNER) {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" masqueradeGoogleId \u003d instructor.googleId;"},{"lineNumber":170,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":173,"author":{"gitId":"-"},"content":" // no instructor with co-owner privileges"},{"lineNumber":174,"author":{"gitId":"-"},"content":" // there is usually at least one instructor with \"modify instructor\" permission"},{"lineNumber":175,"author":{"gitId":"-"},"content":" if (masqueradeGoogleId \u003d\u003d\u003d \u0027\u0027) {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" for (const instructor of instructors.instructors) {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" const instructorPrivilege: InstructorPrivilege | undefined \u003d instructorPrivileges.shift();"},{"lineNumber":178,"author":{"gitId":"-"},"content":" if (instructor.googleId"},{"lineNumber":179,"author":{"gitId":"-"},"content":" \u0026\u0026 (instructorPrivilege \u0026\u0026 instructorPrivilege.privileges.courseLevel.canModifyInstructor)) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" masqueradeGoogleId \u003d instructor.googleId;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" // Generate feedback session urls"},{"lineNumber":187,"author":{"gitId":"-"},"content":" const { awaitingSessions, openSessions, notOpenSessions, publishedSessions }: StudentFeedbackSessions \u003d"},{"lineNumber":188,"author":{"gitId":"-"},"content":" this.classifyFeedbackSessions(feedbackSessions, student, false);"},{"lineNumber":189,"author":{"gitId":"-"},"content":" studentResult \u003d { ...studentResult, awaitingSessions, openSessions, notOpenSessions, publishedSessions };"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" // Generate links for students"},{"lineNumber":192,"author":{"gitId":"-"},"content":" studentResult.courseJoinLink \u003d this.linkService.generateCourseJoinLink(student, \u0027student\u0027);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" studentResult.homePageLink \u003d this.linkService"},{"lineNumber":194,"author":{"gitId":"-"},"content":" .generateHomePageLink(googleId, this.linkService.STUDENT_HOME_PAGE);"},{"lineNumber":195,"author":{"gitId":"-"},"content":" studentResult.profilePageLink \u003d this.linkService.generateProfilePageLink(student, masqueradeGoogleId);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" studentResult.manageAccountLink \u003d this.linkService"},{"lineNumber":197,"author":{"gitId":"-"},"content":" .generateManageAccountLink(googleId, this.linkService.ADMIN_ACCOUNTS_PAGE);"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" return studentResult;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" createInstructorAccountSearchResults("},{"lineNumber":203,"author":{"gitId":"-"},"content":" instructors: Instructor[],"},{"lineNumber":204,"author":{"gitId":"-"},"content":" distinctCoursesMap: DistinctCoursesMap,"},{"lineNumber":205,"author":{"gitId":"-"},"content":" distinctFeedbackSessionsMap: DistinctFeedbackSessionsMap,"},{"lineNumber":206,"author":{"gitId":"-"},"content":" ): InstructorAccountSearchResult[] {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" return instructors.map((instructor: Instructor) \u003d\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":" this.joinAdminInstructor(instructor, distinctCoursesMap[instructor.courseId],"},{"lineNumber":209,"author":{"gitId":"-"},"content":" distinctFeedbackSessionsMap[instructor.courseId]));"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" joinAdminInstructor("},{"lineNumber":213,"author":{"gitId":"-"},"content":" instructor: Instructor,"},{"lineNumber":214,"author":{"gitId":"-"},"content":" course: Course,"},{"lineNumber":215,"author":{"gitId":"-"},"content":" feedbackSessions: FeedbackSessions,"},{"lineNumber":216,"author":{"gitId":"-"},"content":" ): InstructorAccountSearchResult {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" let instructorResult: InstructorAccountSearchResult \u003d {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" email: \u0027\u0027,"},{"lineNumber":219,"author":{"gitId":"-"},"content":" name: \u0027\u0027,"},{"lineNumber":220,"author":{"gitId":"-"},"content":" courseId: \u0027\u0027,"},{"lineNumber":221,"author":{"gitId":"-"},"content":" courseName: \u0027\u0027,"},{"lineNumber":222,"author":{"gitId":"-"},"content":" isCourseDeleted: false,"},{"lineNumber":223,"author":{"gitId":"-"},"content":" institute: \u0027\u0027,"},{"lineNumber":224,"author":{"gitId":"-"},"content":" manageAccountLink: \u0027\u0027,"},{"lineNumber":225,"author":{"gitId":"-"},"content":" homePageLink: \u0027\u0027,"},{"lineNumber":226,"author":{"gitId":"-"},"content":" courseJoinLink: \u0027\u0027,"},{"lineNumber":227,"author":{"gitId":"-"},"content":" googleId: \u0027\u0027,"},{"lineNumber":228,"author":{"gitId":"-"},"content":" showLinks: false,"},{"lineNumber":229,"author":{"gitId":"-"},"content":" awaitingSessions: {},"},{"lineNumber":230,"author":{"gitId":"-"},"content":" openSessions: {},"},{"lineNumber":231,"author":{"gitId":"-"},"content":" notOpenSessions: {},"},{"lineNumber":232,"author":{"gitId":"-"},"content":" publishedSessions: {},"},{"lineNumber":233,"author":{"gitId":"-"},"content":" };"},{"lineNumber":234,"author":{"gitId":"-"},"content":" const { email, name, googleId \u003d \u0027\u0027, institute \u003d \u0027\u0027 }: Instructor \u003d instructor;"},{"lineNumber":235,"author":{"gitId":"-"},"content":" instructorResult \u003d { ...instructorResult, email, name, googleId, institute };"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" const { courseId, courseName, deletionTimestamp }: Course \u003d course;"},{"lineNumber":238,"author":{"gitId":"-"},"content":" instructorResult \u003d { ...instructorResult, courseId, courseName, isCourseDeleted: Boolean(deletionTimestamp) };"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" // Generate feedback session urls"},{"lineNumber":241,"author":{"gitId":"-"},"content":" const { awaitingSessions, openSessions, notOpenSessions, publishedSessions }: StudentFeedbackSessions \u003d"},{"lineNumber":242,"author":{"gitId":"-"},"content":" this.classifyFeedbackSessions(feedbackSessions, instructor, true);"},{"lineNumber":243,"author":{"gitId":"-"},"content":" instructorResult \u003d { ...instructorResult, awaitingSessions, openSessions, notOpenSessions, publishedSessions };"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" // Generate links for instructors"},{"lineNumber":246,"author":{"gitId":"-"},"content":" instructorResult.courseJoinLink \u003d this.linkService.generateCourseJoinLink(instructor, \u0027instructor\u0027);"},{"lineNumber":247,"author":{"gitId":"-"},"content":" instructorResult.homePageLink \u003d this.linkService"},{"lineNumber":248,"author":{"gitId":"-"},"content":" .generateHomePageLink(googleId, this.linkService.INSTRUCTOR_HOME_PAGE);"},{"lineNumber":249,"author":{"gitId":"-"},"content":" instructorResult.manageAccountLink \u003d this.linkService"},{"lineNumber":250,"author":{"gitId":"-"},"content":" .generateManageAccountLink(googleId, this.linkService.ADMIN_ACCOUNTS_PAGE);"},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":" return instructorResult;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":" classifyFeedbackSessions(feedbackSessions: FeedbackSessions, entity: Student | Instructor, isInstructor: boolean):"},{"lineNumber":256,"author":{"gitId":"-"},"content":" StudentFeedbackSessions {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" const feedbackSessionLinks: StudentFeedbackSessions \u003d {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" awaitingSessions: {},"},{"lineNumber":259,"author":{"gitId":"-"},"content":" openSessions: {},"},{"lineNumber":260,"author":{"gitId":"-"},"content":" notOpenSessions: {},"},{"lineNumber":261,"author":{"gitId":"-"},"content":" publishedSessions: {},"},{"lineNumber":262,"author":{"gitId":"-"},"content":" };"},{"lineNumber":263,"author":{"gitId":"-"},"content":" for (const feedbackSession of feedbackSessions.feedbackSessions) {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" if (this.feedbackSessionService.isFeedbackSessionOpen(feedbackSession)) {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" feedbackSessionLinks.openSessions[feedbackSession.feedbackSessionName] \u003d {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" ...this.formatProperties(feedbackSession),"},{"lineNumber":267,"author":{"gitId":"-"},"content":" feedbackSessionUrl: this.linkService.generateSubmitUrl("},{"lineNumber":268,"author":{"gitId":"-"},"content":" entity, feedbackSession.feedbackSessionName, isInstructor),"},{"lineNumber":269,"author":{"gitId":"-"},"content":" };"},{"lineNumber":270,"author":{"gitId":"-"},"content":" } else if (this.feedbackSessionService.isFeedbackSessionAwaiting(feedbackSession)) {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" feedbackSessionLinks.awaitingSessions[feedbackSession.feedbackSessionName] \u003d {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" ...this.formatProperties(feedbackSession),"},{"lineNumber":273,"author":{"gitId":"-"},"content":" feedbackSessionUrl: this.linkService.generateSubmitUrl("},{"lineNumber":274,"author":{"gitId":"-"},"content":" entity, feedbackSession.feedbackSessionName, isInstructor),"},{"lineNumber":275,"author":{"gitId":"-"},"content":" };"},{"lineNumber":276,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" feedbackSessionLinks.notOpenSessions[feedbackSession.feedbackSessionName] \u003d {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" ...this.formatProperties(feedbackSession),"},{"lineNumber":279,"author":{"gitId":"-"},"content":" feedbackSessionUrl: this.linkService.generateSubmitUrl("},{"lineNumber":280,"author":{"gitId":"-"},"content":" entity, feedbackSession.feedbackSessionName, isInstructor),"},{"lineNumber":281,"author":{"gitId":"-"},"content":" };"},{"lineNumber":282,"author":{"gitId":"-"},"content":" }"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" if (this.feedbackSessionService.isFeedbackSessionPublished(feedbackSession)) {"},{"lineNumber":285,"author":{"gitId":"-"},"content":" feedbackSessionLinks.publishedSessions[feedbackSession.feedbackSessionName] \u003d {"},{"lineNumber":286,"author":{"gitId":"-"},"content":" ...this.formatProperties(feedbackSession),"},{"lineNumber":287,"author":{"gitId":"-"},"content":" feedbackSessionUrl: this.linkService.generateResultUrl("},{"lineNumber":288,"author":{"gitId":"-"},"content":" entity, feedbackSession.feedbackSessionName, isInstructor),"},{"lineNumber":289,"author":{"gitId":"-"},"content":" };"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":" return feedbackSessionLinks;"},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" createAccountRequestSearchResults("},{"lineNumber":296,"author":{"gitId":"-"},"content":" accountRequests: AccountRequest[],"},{"lineNumber":297,"author":{"gitId":"-"},"content":" ): AccountRequestSearchResult[] {"},{"lineNumber":298,"author":{"gitId":"-"},"content":" return accountRequests.map((accountRequest: AccountRequest) \u003d\u003e this.joinAdminAccountRequest(accountRequest));"},{"lineNumber":299,"author":{"gitId":"-"},"content":" }"},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":" joinAdminAccountRequest(accountRequest: AccountRequest): AccountRequestSearchResult {"},{"lineNumber":302,"author":{"gitId":"-"},"content":" let accountRequestResult: AccountRequestSearchResult \u003d {"},{"lineNumber":303,"author":{"gitId":"-"},"content":" id: \u0027\u0027,"},{"lineNumber":304,"author":{"gitId":"-"},"content":" name: \u0027\u0027,"},{"lineNumber":305,"author":{"gitId":"-"},"content":" email: \u0027\u0027,"},{"lineNumber":306,"author":{"gitId":"-"},"content":" institute: \u0027\u0027,"},{"lineNumber":307,"author":{"gitId":"-"},"content":" createdAtText: \u0027\u0027,"},{"lineNumber":308,"author":{"gitId":"-"},"content":" registeredAtText: \u0027\u0027,"},{"lineNumber":309,"author":{"gitId":"-"},"content":" registrationLink: \u0027\u0027,"},{"lineNumber":310,"author":{"gitId":"-"},"content":" showLinks: false,"},{"lineNumber":311,"author":{"gitId":"domoberzin"},"content":" status: AccountRequestStatus.PENDING,"},{"lineNumber":312,"author":{"gitId":"domoberzin"},"content":" comments: \u0027\u0027,"},{"lineNumber":313,"author":{"gitId":"-"},"content":" };"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"domoberzin"},"content":" const {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" id, registrationKey, createdAt, registeredAt,"},{"lineNumber":317,"author":{"gitId":"domoberzin"},"content":" name, institute, email, status, comments,"},{"lineNumber":318,"author":{"gitId":"domoberzin"},"content":" }: AccountRequest \u003d accountRequest;"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" const timezone: string \u003d this.timezoneService.guessTimezone() || \u0027UTC\u0027;"},{"lineNumber":321,"author":{"gitId":"-"},"content":" accountRequestResult.createdAtText \u003d this.formatTimestampAsString(createdAt, timezone);"},{"lineNumber":322,"author":{"gitId":"-"},"content":" accountRequestResult.registeredAtText \u003d registeredAt ? this.formatTimestampAsString(registeredAt, timezone) : null;"},{"lineNumber":323,"author":{"gitId":"domoberzin"},"content":" accountRequestResult.comments \u003d comments || \u0027\u0027;"},{"lineNumber":324,"author":{"gitId":"-"},"content":""},{"lineNumber":325,"author":{"gitId":"-"},"content":" const registrationLink: string \u003d this.linkService.generateAccountRegistrationLink(registrationKey);"},{"lineNumber":326,"author":{"gitId":"-"},"content":" accountRequestResult \u003d { ...accountRequestResult, id, name, email, institute, registrationLink, status };"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" return accountRequestResult;"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" private getDistinctFields(students: Student[], instructors: Instructor[]): Observable\u003cDistinctFields\u003e {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" const distinctCourseIds: string[] \u003d Array.from(new Set(["},{"lineNumber":333,"author":{"gitId":"-"},"content":" ...students.map((student: Student) \u003d\u003e student.courseId),"},{"lineNumber":334,"author":{"gitId":"-"},"content":" ...instructors.map((instructor: Instructor) \u003d\u003e instructor.courseId),"},{"lineNumber":335,"author":{"gitId":"-"},"content":" ]));"},{"lineNumber":336,"author":{"gitId":"-"},"content":" if (distinctCourseIds.length \u003d\u003d\u003d 0) {"},{"lineNumber":337,"author":{"gitId":"-"},"content":" return forkJoin([of({}), of({}), of({}), of({})]);"},{"lineNumber":338,"author":{"gitId":"-"},"content":" }"},{"lineNumber":339,"author":{"gitId":"-"},"content":" return forkJoin(["},{"lineNumber":340,"author":{"gitId":"-"},"content":" this.getDistinctInstructors(distinctCourseIds),"},{"lineNumber":341,"author":{"gitId":"-"},"content":" this.getDistinctCourses(distinctCourseIds),"},{"lineNumber":342,"author":{"gitId":"-"},"content":" this.getDistinctFeedbackSessions(distinctCourseIds),"},{"lineNumber":343,"author":{"gitId":"-"},"content":" ]).pipe("},{"lineNumber":344,"author":{"gitId":"-"},"content":" mergeMap((value: ["},{"lineNumber":345,"author":{"gitId":"-"},"content":" DistinctInstructorsMap,"},{"lineNumber":346,"author":{"gitId":"-"},"content":" DistinctCoursesMap,"},{"lineNumber":347,"author":{"gitId":"-"},"content":" DistinctFeedbackSessionsMap],"},{"lineNumber":348,"author":{"gitId":"-"},"content":" ) \u003d\u003e {"},{"lineNumber":349,"author":{"gitId":"-"},"content":" return forkJoin(["},{"lineNumber":350,"author":{"gitId":"-"},"content":" of(value[0]),"},{"lineNumber":351,"author":{"gitId":"-"},"content":" of(value[1]),"},{"lineNumber":352,"author":{"gitId":"-"},"content":" of(value[2]),"},{"lineNumber":353,"author":{"gitId":"-"},"content":" this.getDistinctInstructorPrivileges(value[0]),"},{"lineNumber":354,"author":{"gitId":"-"},"content":" ]);"},{"lineNumber":355,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":356,"author":{"gitId":"-"},"content":" );"},{"lineNumber":357,"author":{"gitId":"-"},"content":" }"},{"lineNumber":358,"author":{"gitId":"-"},"content":""},{"lineNumber":359,"author":{"gitId":"-"},"content":" private getDistinctInstructors(distinctCourseIds: string[]): Observable\u003cDistinctInstructorsMap\u003e {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" return forkJoin("},{"lineNumber":361,"author":{"gitId":"-"},"content":" distinctCourseIds.map((courseId: string) \u003d\u003e"},{"lineNumber":362,"author":{"gitId":"-"},"content":" this.instructorService.loadInstructors({ courseId, intent: Intent.FULL_DETAIL })),"},{"lineNumber":363,"author":{"gitId":"-"},"content":" ).pipe("},{"lineNumber":364,"author":{"gitId":"-"},"content":" map((instructorsArray: Instructors[]) \u003d\u003e {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" const distinctInstructorsMap: DistinctInstructorsMap \u003d {};"},{"lineNumber":366,"author":{"gitId":"-"},"content":" instructorsArray.forEach((instructors: Instructors, index: number) \u003d\u003e {"},{"lineNumber":367,"author":{"gitId":"-"},"content":" distinctInstructorsMap[distinctCourseIds[index]] \u003d instructors;"},{"lineNumber":368,"author":{"gitId":"-"},"content":" });"},{"lineNumber":369,"author":{"gitId":"-"},"content":" return distinctInstructorsMap;"},{"lineNumber":370,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":371,"author":{"gitId":"-"},"content":" );"},{"lineNumber":372,"author":{"gitId":"-"},"content":" }"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":" private getDistinctInstructorPrivileges("},{"lineNumber":375,"author":{"gitId":"-"},"content":" distinctInstructorsMap: DistinctInstructorsMap,"},{"lineNumber":376,"author":{"gitId":"-"},"content":" ): Observable\u003cDistinctInstructorPrivilegesMap\u003e {"},{"lineNumber":377,"author":{"gitId":"-"},"content":" const distinctCourseIds: string[] \u003d Object.keys(distinctInstructorsMap);"},{"lineNumber":378,"author":{"gitId":"-"},"content":" const instructorsArray: Instructors[] \u003d Object.values(distinctInstructorsMap);"},{"lineNumber":379,"author":{"gitId":"-"},"content":" return forkJoin(["},{"lineNumber":380,"author":{"gitId":"-"},"content":" of(distinctCourseIds),"},{"lineNumber":381,"author":{"gitId":"-"},"content":" forkJoin(instructorsArray.map((instructors: Instructors) \u003d\u003e {"},{"lineNumber":382,"author":{"gitId":"-"},"content":" return forkJoin("},{"lineNumber":383,"author":{"gitId":"-"},"content":" instructors.instructors.map("},{"lineNumber":384,"author":{"gitId":"-"},"content":" (instructor: Instructor) \u003d\u003e this.instructorService.loadInstructorPrivilege("},{"lineNumber":385,"author":{"gitId":"-"},"content":" {"},{"lineNumber":386,"author":{"gitId":"-"},"content":" courseId: instructor.courseId,"},{"lineNumber":387,"author":{"gitId":"-"},"content":" instructorEmail: instructor.email,"},{"lineNumber":388,"author":{"gitId":"-"},"content":" },"},{"lineNumber":389,"author":{"gitId":"-"},"content":" ),"},{"lineNumber":390,"author":{"gitId":"-"},"content":" ),"},{"lineNumber":391,"author":{"gitId":"-"},"content":" );"},{"lineNumber":392,"author":{"gitId":"-"},"content":" })),"},{"lineNumber":393,"author":{"gitId":"-"},"content":" ]).pipe("},{"lineNumber":394,"author":{"gitId":"-"},"content":" map("},{"lineNumber":395,"author":{"gitId":"-"},"content":" (value: [string[], InstructorPrivilege[][]]) \u003d\u003e {"},{"lineNumber":396,"author":{"gitId":"-"},"content":" const distinctInstructorPrivilegesMap: DistinctInstructorPrivilegesMap \u003d {};"},{"lineNumber":397,"author":{"gitId":"-"},"content":" value[1].forEach((instructorPrivilegesArray: InstructorPrivilege[], index: number) \u003d\u003e {"},{"lineNumber":398,"author":{"gitId":"-"},"content":" distinctInstructorPrivilegesMap[value[0][index]] \u003d instructorPrivilegesArray;"},{"lineNumber":399,"author":{"gitId":"-"},"content":" });"},{"lineNumber":400,"author":{"gitId":"-"},"content":" return distinctInstructorPrivilegesMap;"},{"lineNumber":401,"author":{"gitId":"-"},"content":" },"},{"lineNumber":402,"author":{"gitId":"-"},"content":" ),"},{"lineNumber":403,"author":{"gitId":"-"},"content":" );"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" private getDistinctCourses(distinctCourseIds: string[]): Observable\u003cDistinctCoursesMap\u003e {"},{"lineNumber":407,"author":{"gitId":"-"},"content":" return forkJoin("},{"lineNumber":408,"author":{"gitId":"-"},"content":" distinctCourseIds.map((id: string) \u003d\u003e this.courseService.getCourseAsInstructor(id)),"},{"lineNumber":409,"author":{"gitId":"-"},"content":" ).pipe("},{"lineNumber":410,"author":{"gitId":"-"},"content":" map((courses: Course[]) \u003d\u003e {"},{"lineNumber":411,"author":{"gitId":"-"},"content":" const distinctCoursesMap: DistinctCoursesMap \u003d {};"},{"lineNumber":412,"author":{"gitId":"-"},"content":" courses.forEach((course: Course, index: number) \u003d\u003e {"},{"lineNumber":413,"author":{"gitId":"-"},"content":" distinctCoursesMap[distinctCourseIds[index]] \u003d course;"},{"lineNumber":414,"author":{"gitId":"-"},"content":" });"},{"lineNumber":415,"author":{"gitId":"-"},"content":" return distinctCoursesMap;"},{"lineNumber":416,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":417,"author":{"gitId":"-"},"content":" );"},{"lineNumber":418,"author":{"gitId":"-"},"content":" }"},{"lineNumber":419,"author":{"gitId":"-"},"content":""},{"lineNumber":420,"author":{"gitId":"-"},"content":" private getDistinctFeedbackSessions(distinctCourseIds: string[]): Observable\u003cDistinctFeedbackSessionsMap\u003e {"},{"lineNumber":421,"author":{"gitId":"-"},"content":" return forkJoin("},{"lineNumber":422,"author":{"gitId":"-"},"content":" distinctCourseIds.map((id: string) \u003d\u003e"},{"lineNumber":423,"author":{"gitId":"-"},"content":" this.feedbackSessionService.getFeedbackSessionsForStudent(\u0027admin\u0027, id)),"},{"lineNumber":424,"author":{"gitId":"-"},"content":" )"},{"lineNumber":425,"author":{"gitId":"-"},"content":" .pipe("},{"lineNumber":426,"author":{"gitId":"-"},"content":" map((feedbackSessionsArray: FeedbackSessions[]) \u003d\u003e {"},{"lineNumber":427,"author":{"gitId":"-"},"content":" const distinctFeedbackSessionsMap: DistinctFeedbackSessionsMap \u003d {};"},{"lineNumber":428,"author":{"gitId":"-"},"content":" feedbackSessionsArray.forEach("},{"lineNumber":429,"author":{"gitId":"-"},"content":" (feedbackSessions: FeedbackSessions, index: number) \u003d\u003e {"},{"lineNumber":430,"author":{"gitId":"-"},"content":" distinctFeedbackSessionsMap[distinctCourseIds[index]] \u003d feedbackSessions;"},{"lineNumber":431,"author":{"gitId":"-"},"content":" },"},{"lineNumber":432,"author":{"gitId":"-"},"content":" );"},{"lineNumber":433,"author":{"gitId":"-"},"content":" return distinctFeedbackSessionsMap;"},{"lineNumber":434,"author":{"gitId":"-"},"content":" }),"},{"lineNumber":435,"author":{"gitId":"-"},"content":" );"},{"lineNumber":436,"author":{"gitId":"-"},"content":" }"},{"lineNumber":437,"author":{"gitId":"-"},"content":""},{"lineNumber":438,"author":{"gitId":"-"},"content":" private formatProperties(feedbackSession: FeedbackSession): { startTime: string, endTime: string } {"},{"lineNumber":439,"author":{"gitId":"-"},"content":" const startTime: string \u003d"},{"lineNumber":440,"author":{"gitId":"-"},"content":" this.formatTimestampAsString(feedbackSession.submissionStartTimestamp, feedbackSession.timeZone);"},{"lineNumber":441,"author":{"gitId":"-"},"content":" const endTime: string \u003d"},{"lineNumber":442,"author":{"gitId":"-"},"content":" this.formatTimestampAsString(feedbackSession.submissionEndTimestamp, feedbackSession.timeZone);"},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" return { startTime, endTime };"},{"lineNumber":445,"author":{"gitId":"-"},"content":" }"},{"lineNumber":446,"author":{"gitId":"-"},"content":""},{"lineNumber":447,"author":{"gitId":"-"},"content":" private formatTimestampAsString(timestamp: number, timezone: string): string {"},{"lineNumber":448,"author":{"gitId":"-"},"content":" const dateFormatWithZoneInfo: string \u003d \u0027ddd, DD MMM YYYY, hh:mm A Z\u0027;"},{"lineNumber":449,"author":{"gitId":"-"},"content":""},{"lineNumber":450,"author":{"gitId":"-"},"content":" return this.timezoneService"},{"lineNumber":451,"author":{"gitId":"-"},"content":" .formatToString(timestamp, timezone, dateFormatWithZoneInfo);"},{"lineNumber":452,"author":{"gitId":"-"},"content":" }"},{"lineNumber":453,"author":{"gitId":"-"},"content":"}"},{"lineNumber":454,"author":{"gitId":"-"},"content":""},{"lineNumber":455,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":456,"author":{"gitId":"-"},"content":" * The typings for the response object returned by the instructor search service."},{"lineNumber":457,"author":{"gitId":"-"},"content":" */"},{"lineNumber":458,"author":{"gitId":"-"},"content":"export interface InstructorSearchResult {"},{"lineNumber":459,"author":{"gitId":"-"},"content":" students: Student[];"},{"lineNumber":460,"author":{"gitId":"-"},"content":"}"},{"lineNumber":461,"author":{"gitId":"-"},"content":""},{"lineNumber":462,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":463,"author":{"gitId":"-"},"content":" * The typings for the response object returned by admin search service."},{"lineNumber":464,"author":{"gitId":"-"},"content":" */"},{"lineNumber":465,"author":{"gitId":"-"},"content":"export interface AdminSearchResult {"},{"lineNumber":466,"author":{"gitId":"-"},"content":" students: StudentAccountSearchResult[];"},{"lineNumber":467,"author":{"gitId":"-"},"content":" instructors: InstructorAccountSearchResult[];"},{"lineNumber":468,"author":{"gitId":"-"},"content":" accountRequests: AccountRequestSearchResult[];"},{"lineNumber":469,"author":{"gitId":"-"},"content":"}"},{"lineNumber":470,"author":{"gitId":"-"},"content":""},{"lineNumber":471,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":472,"author":{"gitId":"-"},"content":" * Search results for account requests from the admin endpoint."},{"lineNumber":473,"author":{"gitId":"-"},"content":" */"},{"lineNumber":474,"author":{"gitId":"-"},"content":"export interface AccountRequestSearchResult {"},{"lineNumber":475,"author":{"gitId":"-"},"content":" id: string;"},{"lineNumber":476,"author":{"gitId":"-"},"content":" name: string;"},{"lineNumber":477,"author":{"gitId":"-"},"content":" email: string;"},{"lineNumber":478,"author":{"gitId":"domoberzin"},"content":" status: AccountRequestStatus;"},{"lineNumber":479,"author":{"gitId":"-"},"content":" institute: string;"},{"lineNumber":480,"author":{"gitId":"-"},"content":" createdAtText: string;"},{"lineNumber":481,"author":{"gitId":"-"},"content":" registeredAtText: string | null;"},{"lineNumber":482,"author":{"gitId":"-"},"content":" registrationLink: string;"},{"lineNumber":483,"author":{"gitId":"-"},"content":" showLinks: boolean;"},{"lineNumber":484,"author":{"gitId":"domoberzin"},"content":" comments: string;"},{"lineNumber":485,"author":{"gitId":"-"},"content":"}"},{"lineNumber":486,"author":{"gitId":"-"},"content":""},{"lineNumber":487,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":488,"author":{"gitId":"-"},"content":" * Search results for instructors for the admin endpoint"},{"lineNumber":489,"author":{"gitId":"-"},"content":" */"},{"lineNumber":490,"author":{"gitId":"-"},"content":"export interface InstructorAccountSearchResult {"},{"lineNumber":491,"author":{"gitId":"-"},"content":" name: string;"},{"lineNumber":492,"author":{"gitId":"-"},"content":" email: string;"},{"lineNumber":493,"author":{"gitId":"-"},"content":" googleId: string;"},{"lineNumber":494,"author":{"gitId":"-"},"content":" courseId: string;"},{"lineNumber":495,"author":{"gitId":"-"},"content":" courseName: string;"},{"lineNumber":496,"author":{"gitId":"-"},"content":" isCourseDeleted: boolean;"},{"lineNumber":497,"author":{"gitId":"-"},"content":" institute: string;"},{"lineNumber":498,"author":{"gitId":"-"},"content":" courseJoinLink: string;"},{"lineNumber":499,"author":{"gitId":"-"},"content":" homePageLink: string;"},{"lineNumber":500,"author":{"gitId":"-"},"content":" manageAccountLink: string;"},{"lineNumber":501,"author":{"gitId":"-"},"content":" showLinks: boolean;"},{"lineNumber":502,"author":{"gitId":"-"},"content":" awaitingSessions: FeedbackSessionsGroup;"},{"lineNumber":503,"author":{"gitId":"-"},"content":" openSessions: FeedbackSessionsGroup;"},{"lineNumber":504,"author":{"gitId":"-"},"content":" notOpenSessions: FeedbackSessionsGroup;"},{"lineNumber":505,"author":{"gitId":"-"},"content":" publishedSessions: FeedbackSessionsGroup;"},{"lineNumber":506,"author":{"gitId":"-"},"content":"}"},{"lineNumber":507,"author":{"gitId":"-"},"content":""},{"lineNumber":508,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":509,"author":{"gitId":"-"},"content":" * Search results for students from the Admin endpoint."},{"lineNumber":510,"author":{"gitId":"-"},"content":" */"},{"lineNumber":511,"author":{"gitId":"-"},"content":"export interface StudentAccountSearchResult extends InstructorAccountSearchResult {"},{"lineNumber":512,"author":{"gitId":"-"},"content":" section: string;"},{"lineNumber":513,"author":{"gitId":"-"},"content":" team: string;"},{"lineNumber":514,"author":{"gitId":"-"},"content":" comments: string;"},{"lineNumber":515,"author":{"gitId":"-"},"content":" profilePageLink: string;"},{"lineNumber":516,"author":{"gitId":"-"},"content":"}"},{"lineNumber":517,"author":{"gitId":"-"},"content":""},{"lineNumber":518,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":519,"author":{"gitId":"-"},"content":" * Feedback session information for search result."},{"lineNumber":520,"author":{"gitId":"-"},"content":" */"},{"lineNumber":521,"author":{"gitId":"-"},"content":"export interface FeedbackSessionsGroup {"},{"lineNumber":522,"author":{"gitId":"-"},"content":" [name: string]: {"},{"lineNumber":523,"author":{"gitId":"-"},"content":" startTime: string,"},{"lineNumber":524,"author":{"gitId":"-"},"content":" endTime: string,"},{"lineNumber":525,"author":{"gitId":"-"},"content":" feedbackSessionUrl: string,"},{"lineNumber":526,"author":{"gitId":"-"},"content":" };"},{"lineNumber":527,"author":{"gitId":"-"},"content":"}"},{"lineNumber":528,"author":{"gitId":"-"},"content":""},{"lineNumber":529,"author":{"gitId":"-"},"content":"interface StudentFeedbackSessions {"},{"lineNumber":530,"author":{"gitId":"-"},"content":" awaitingSessions: FeedbackSessionsGroup;"},{"lineNumber":531,"author":{"gitId":"-"},"content":" openSessions: FeedbackSessionsGroup;"},{"lineNumber":532,"author":{"gitId":"-"},"content":" notOpenSessions: FeedbackSessionsGroup;"},{"lineNumber":533,"author":{"gitId":"-"},"content":" publishedSessions: FeedbackSessionsGroup;"},{"lineNumber":534,"author":{"gitId":"-"},"content":"}"},{"lineNumber":535,"author":{"gitId":"-"},"content":""},{"lineNumber":536,"author":{"gitId":"-"},"content":"interface DistinctInstructorsMap {"},{"lineNumber":537,"author":{"gitId":"-"},"content":" [courseId: string]: Instructors;"},{"lineNumber":538,"author":{"gitId":"-"},"content":"}"},{"lineNumber":539,"author":{"gitId":"-"},"content":""},{"lineNumber":540,"author":{"gitId":"-"},"content":"interface DistinctFeedbackSessionsMap {"},{"lineNumber":541,"author":{"gitId":"-"},"content":" [courseId: string]: FeedbackSessions;"},{"lineNumber":542,"author":{"gitId":"-"},"content":"}"},{"lineNumber":543,"author":{"gitId":"-"},"content":""},{"lineNumber":544,"author":{"gitId":"-"},"content":"interface DistinctCoursesMap {"},{"lineNumber":545,"author":{"gitId":"-"},"content":" [courseId: string]: Course;"},{"lineNumber":546,"author":{"gitId":"-"},"content":"}"},{"lineNumber":547,"author":{"gitId":"-"},"content":""},{"lineNumber":548,"author":{"gitId":"-"},"content":"interface DistinctInstructorPrivilegesMap {"},{"lineNumber":549,"author":{"gitId":"-"},"content":" [courseId: string]: InstructorPrivilege[];"},{"lineNumber":550,"author":{"gitId":"-"},"content":"}"},{"lineNumber":551,"author":{"gitId":"-"},"content":""},{"lineNumber":552,"author":{"gitId":"-"},"content":"type DistinctFields \u003d ["},{"lineNumber":553,"author":{"gitId":"-"},"content":" DistinctInstructorsMap,"},{"lineNumber":554,"author":{"gitId":"-"},"content":" DistinctCoursesMap,"},{"lineNumber":555,"author":{"gitId":"-"},"content":" DistinctFeedbackSessionsMap,"},{"lineNumber":556,"author":{"gitId":"-"},"content":" DistinctInstructorPrivilegesMap,"},{"lineNumber":557,"author":{"gitId":"-"},"content":"];"}],"authorContributionMap":{"domoberzin":9,"-":548}},{"path":"src/web/types/const.spec.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"import { ApiConst, ApiStringConst } from \u0027./api-const\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import { FeedbackQuestionType } from \u0027./api-output\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":4,"author":{"gitId":"-"},"content":" DEFAULT_INSTRUCTOR_PRIVILEGE,"},{"lineNumber":5,"author":{"gitId":"-"},"content":" DEFAULT_PRIVILEGE_COOWNER,"},{"lineNumber":6,"author":{"gitId":"-"},"content":" DEFAULT_PRIVILEGE_MANAGER,"},{"lineNumber":7,"author":{"gitId":"-"},"content":" DEFAULT_PRIVILEGE_OBSERVER,"},{"lineNumber":8,"author":{"gitId":"-"},"content":" DEFAULT_PRIVILEGE_TUTOR,"},{"lineNumber":9,"author":{"gitId":"-"},"content":"} from \u0027./default-instructor-privilege\u0027;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":11,"author":{"gitId":"-"},"content":" DEFAULT_CONSTSUM_OPTIONS_QUESTION_DETAILS,"},{"lineNumber":12,"author":{"gitId":"-"},"content":" DEFAULT_CONSTSUM_RECIPIENTS_QUESTION_DETAILS,"},{"lineNumber":13,"author":{"gitId":"-"},"content":" DEFAULT_CONSTSUM_RESPONSE_DETAILS,"},{"lineNumber":14,"author":{"gitId":"-"},"content":" DEFAULT_CONTRIBUTION_QUESTION_DETAILS,"},{"lineNumber":15,"author":{"gitId":"-"},"content":" DEFAULT_CONTRIBUTION_RESPONSE_DETAILS,"},{"lineNumber":16,"author":{"gitId":"-"},"content":" DEFAULT_MCQ_QUESTION_DETAILS,"},{"lineNumber":17,"author":{"gitId":"-"},"content":" DEFAULT_MCQ_RESPONSE_DETAILS,"},{"lineNumber":18,"author":{"gitId":"-"},"content":" DEFAULT_MSQ_QUESTION_DETAILS,"},{"lineNumber":19,"author":{"gitId":"-"},"content":" DEFAULT_MSQ_RESPONSE_DETAILS,"},{"lineNumber":20,"author":{"gitId":"-"},"content":" DEFAULT_NUMSCALE_QUESTION_DETAILS,"},{"lineNumber":21,"author":{"gitId":"-"},"content":" DEFAULT_NUMSCALE_RESPONSE_DETAILS,"},{"lineNumber":22,"author":{"gitId":"-"},"content":" DEFAULT_RANK_OPTIONS_QUESTION_DETAILS,"},{"lineNumber":23,"author":{"gitId":"-"},"content":" DEFAULT_RANK_OPTIONS_RESPONSE_DETAILS,"},{"lineNumber":24,"author":{"gitId":"-"},"content":" DEFAULT_RANK_RECIPIENTS_QUESTION_DETAILS,"},{"lineNumber":25,"author":{"gitId":"-"},"content":" DEFAULT_RANK_RECIPIENTS_RESPONSE_DETAILS,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" DEFAULT_RUBRIC_QUESTION_DETAILS,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" DEFAULT_RUBRIC_RESPONSE_DETAILS,"},{"lineNumber":28,"author":{"gitId":"-"},"content":" DEFAULT_TEXT_QUESTION_DETAILS,"},{"lineNumber":29,"author":{"gitId":"-"},"content":" DEFAULT_TEXT_RESPONSE_DETAILS,"},{"lineNumber":30,"author":{"gitId":"-"},"content":"} from \u0027./default-question-structs\u0027;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"describe(\u0027Constants\u0027, () \u003d\u003e {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" // Here we test that the constants are positive numbers"},{"lineNumber":34,"author":{"gitId":"-"},"content":" // The exact values are implementation details that do not matter"},{"lineNumber":35,"author":{"gitId":"-"},"content":" it(\u0027should generate length limits correctly\u0027, () \u003d\u003e {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.COURSE_ID_MAX_LENGTH).toEqual(\u0027number\u0027);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" expect(ApiConst.COURSE_ID_MAX_LENGTH).toBeGreaterThan(0);"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.COURSE_NAME_MAX_LENGTH).toEqual(\u0027number\u0027);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" expect(ApiConst.COURSE_NAME_MAX_LENGTH).toBeGreaterThan(0);"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.STUDENT_NAME_MAX_LENGTH).toEqual(\u0027number\u0027);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" expect(ApiConst.STUDENT_NAME_MAX_LENGTH).toBeGreaterThan(0);"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.SECTION_NAME_MAX_LENGTH).toEqual(\u0027number\u0027);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" expect(ApiConst.SECTION_NAME_MAX_LENGTH).toBeGreaterThan(0);"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.TEAM_NAME_MAX_LENGTH).toEqual(\u0027number\u0027);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" expect(ApiConst.TEAM_NAME_MAX_LENGTH).toBeGreaterThan(0);"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.EMAIL_MAX_LENGTH).toEqual(\u0027number\u0027);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" expect(ApiConst.EMAIL_MAX_LENGTH).toBeGreaterThan(0);"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.FEEDBACK_SESSION_NAME_MAX_LENGTH).toEqual(\u0027number\u0027);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" expect(ApiConst.FEEDBACK_SESSION_NAME_MAX_LENGTH).toBeGreaterThan(0);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" });"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" // Here we test that the constants are numbers"},{"lineNumber":59,"author":{"gitId":"-"},"content":" // The exact values are implementation details that do not matter"},{"lineNumber":60,"author":{"gitId":"-"},"content":" it(\u0027should generate numerical constants correctly\u0027, () \u003d\u003e {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.CONTRIBUTION_POINT_NOT_SUBMITTED).toEqual(\u0027number\u0027);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.CONTRIBUTION_POINT_NOT_INITIALIZED).toEqual(\u0027number\u0027);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.CONTRIBUTION_POINT_NOT_SURE).toEqual(\u0027number\u0027);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.CONTRIBUTION_POINT_EQUAL_SHARE).toEqual(\u0027number\u0027);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.NUMERICAL_SCALE_ANSWER_NOT_SUBMITTED).toEqual(\u0027number\u0027);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.RANK_OPTIONS_ANSWER_NOT_SUBMITTED).toEqual(\u0027number\u0027);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.RANK_RECIPIENTS_ANSWER_NOT_SUBMITTED).toEqual(\u0027number\u0027);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" expect(typeof ApiConst.NO_VALUE).toEqual(\u0027number\u0027);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" });"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"xenosf"},"content":" // Here we test that the constants are strings"},{"lineNumber":72,"author":{"gitId":"xenosf"},"content":" it(\u0027should generate string constants correctly\u0027, () \u003d\u003e {"},{"lineNumber":73,"author":{"gitId":"xenosf"},"content":" expect(typeof ApiStringConst.EMAIL_REGEX).toEqual(\u0027string\u0027);"},{"lineNumber":74,"author":{"gitId":"xenosf"},"content":" expect(() \u003d\u003e new RegExp(ApiStringConst.EMAIL_REGEX)).not.toThrow();"},{"lineNumber":75,"author":{"gitId":"xenosf"},"content":" });"},{"lineNumber":76,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" // Here we test that:"},{"lineNumber":78,"author":{"gitId":"-"},"content":" // 1. The string is parseable to JSON"},{"lineNumber":79,"author":{"gitId":"-"},"content":" // 2. The question type is correct"},{"lineNumber":80,"author":{"gitId":"-"},"content":" // 3. There is questionText field"},{"lineNumber":81,"author":{"gitId":"-"},"content":" // They are sufficient to ascertain that the correct structure is generated"},{"lineNumber":82,"author":{"gitId":"-"},"content":" it(\u0027should generate question details correctly\u0027, () \u003d\u003e {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" expect(DEFAULT_CONSTSUM_OPTIONS_QUESTION_DETAILS().questionType).toEqual(FeedbackQuestionType.CONSTSUM_OPTIONS);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" expect(DEFAULT_CONSTSUM_OPTIONS_QUESTION_DETAILS().questionText).toEqual(\u0027\u0027);"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" expect(DEFAULT_CONSTSUM_RECIPIENTS_QUESTION_DETAILS().questionType)"},{"lineNumber":87,"author":{"gitId":"-"},"content":" .toEqual(FeedbackQuestionType.CONSTSUM_RECIPIENTS);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" expect(DEFAULT_CONSTSUM_RECIPIENTS_QUESTION_DETAILS().questionText).toEqual(\u0027\u0027);"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" expect(DEFAULT_CONTRIBUTION_QUESTION_DETAILS().questionType).toEqual(FeedbackQuestionType.CONTRIB);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" expect(DEFAULT_CONTRIBUTION_QUESTION_DETAILS().questionText).toEqual(\u0027\u0027);"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" expect(DEFAULT_MCQ_QUESTION_DETAILS().questionType).toEqual(FeedbackQuestionType.MCQ);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" expect(DEFAULT_MCQ_QUESTION_DETAILS().questionText).toEqual(\u0027\u0027);"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" expect(DEFAULT_MSQ_QUESTION_DETAILS().questionType).toEqual(FeedbackQuestionType.MSQ);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" expect(DEFAULT_MSQ_QUESTION_DETAILS().questionText).toEqual(\u0027\u0027);"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" expect(DEFAULT_NUMSCALE_QUESTION_DETAILS().questionType).toEqual(FeedbackQuestionType.NUMSCALE);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" expect(DEFAULT_NUMSCALE_QUESTION_DETAILS().questionText).toEqual(\u0027\u0027);"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" expect(DEFAULT_RANK_OPTIONS_QUESTION_DETAILS().questionType).toEqual(FeedbackQuestionType.RANK_OPTIONS);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" expect(DEFAULT_RANK_OPTIONS_QUESTION_DETAILS().questionText).toEqual(\u0027\u0027);"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" expect(DEFAULT_RANK_RECIPIENTS_QUESTION_DETAILS().questionType).toEqual(FeedbackQuestionType.RANK_RECIPIENTS);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" expect(DEFAULT_RANK_RECIPIENTS_QUESTION_DETAILS().questionText).toEqual(\u0027\u0027);"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" expect(DEFAULT_RUBRIC_QUESTION_DETAILS().questionType).toEqual(FeedbackQuestionType.RUBRIC);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" expect(DEFAULT_RUBRIC_QUESTION_DETAILS().questionText).toEqual(\u0027\u0027);"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" expect(DEFAULT_TEXT_QUESTION_DETAILS().questionType).toEqual(FeedbackQuestionType.TEXT);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" expect(DEFAULT_TEXT_QUESTION_DETAILS().questionText).toEqual(\u0027\u0027);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" });"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" // Here we test that:"},{"lineNumber":116,"author":{"gitId":"-"},"content":" // 1. The string is parseable to JSON"},{"lineNumber":117,"author":{"gitId":"-"},"content":" // 2. The question type is correct"},{"lineNumber":118,"author":{"gitId":"-"},"content":" // 3. There is either answer or answers field (depending on question type)"},{"lineNumber":119,"author":{"gitId":"-"},"content":" // They are sufficient to ascertain that the correct structure is generated"},{"lineNumber":120,"author":{"gitId":"-"},"content":" it(\u0027should generate response details correctly\u0027, () \u003d\u003e {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" expect(DEFAULT_CONSTSUM_RESPONSE_DETAILS().questionType).toEqual(FeedbackQuestionType.CONSTSUM);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" expect(DEFAULT_CONSTSUM_RESPONSE_DETAILS().answers).toBeTruthy();"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" expect(DEFAULT_CONTRIBUTION_RESPONSE_DETAILS().questionType).toEqual(FeedbackQuestionType.CONTRIB);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" expect(DEFAULT_CONTRIBUTION_RESPONSE_DETAILS().answer).toBeTruthy();"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" expect(DEFAULT_MCQ_RESPONSE_DETAILS().questionType).toEqual(FeedbackQuestionType.MCQ);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" expect(DEFAULT_MCQ_RESPONSE_DETAILS().answer).toEqual(\u0027\u0027);"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" expect(DEFAULT_MSQ_RESPONSE_DETAILS().questionType).toEqual(FeedbackQuestionType.MSQ);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" expect(DEFAULT_MSQ_RESPONSE_DETAILS().answers).toBeTruthy();"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" expect(DEFAULT_NUMSCALE_RESPONSE_DETAILS().questionType).toEqual(FeedbackQuestionType.NUMSCALE);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" expect(DEFAULT_NUMSCALE_RESPONSE_DETAILS().answer).toBeTruthy();"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" expect(DEFAULT_RANK_OPTIONS_RESPONSE_DETAILS().questionType).toEqual(FeedbackQuestionType.RANK_OPTIONS);"},{"lineNumber":137,"author":{"gitId":"-"},"content":" expect(DEFAULT_RANK_OPTIONS_RESPONSE_DETAILS().answers).toBeTruthy();"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" expect(DEFAULT_RANK_RECIPIENTS_RESPONSE_DETAILS().questionType).toEqual(FeedbackQuestionType.RANK_RECIPIENTS);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" expect(DEFAULT_RANK_RECIPIENTS_RESPONSE_DETAILS().answer).toBeTruthy();"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" expect(DEFAULT_RUBRIC_RESPONSE_DETAILS().questionType).toEqual(FeedbackQuestionType.RUBRIC);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" expect(DEFAULT_RUBRIC_RESPONSE_DETAILS().answer).toBeTruthy();"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" expect(DEFAULT_TEXT_RESPONSE_DETAILS().questionType).toEqual(FeedbackQuestionType.TEXT);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" expect(DEFAULT_TEXT_RESPONSE_DETAILS().answer).toEqual(\u0027\u0027);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" });"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" // Here we just test that the string is parseable to JSON and one representative privilege is correct"},{"lineNumber":150,"author":{"gitId":"-"},"content":" it(\u0027should generate instructor privileges correctly\u0027, () \u003d\u003e {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" expect(DEFAULT_INSTRUCTOR_PRIVILEGE()).toBeTruthy();"},{"lineNumber":152,"author":{"gitId":"-"},"content":" expect(DEFAULT_INSTRUCTOR_PRIVILEGE().canModifyCourse).toBeFalsy();"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" expect(DEFAULT_PRIVILEGE_COOWNER()).toBeTruthy();"},{"lineNumber":155,"author":{"gitId":"-"},"content":" expect(DEFAULT_PRIVILEGE_COOWNER().canModifyCourse).toBeTruthy();"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" expect(DEFAULT_PRIVILEGE_MANAGER()).toBeTruthy();"},{"lineNumber":158,"author":{"gitId":"-"},"content":" expect(DEFAULT_PRIVILEGE_MANAGER().canModifyStudent).toBeTruthy();"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" expect(DEFAULT_PRIVILEGE_OBSERVER()).toBeTruthy();"},{"lineNumber":161,"author":{"gitId":"-"},"content":" expect(DEFAULT_PRIVILEGE_OBSERVER().canViewStudentInSections).toBeTruthy();"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" expect(DEFAULT_PRIVILEGE_TUTOR()).toBeTruthy();"},{"lineNumber":164,"author":{"gitId":"-"},"content":" expect(DEFAULT_PRIVILEGE_TUTOR().canSubmitSessionInSections).toBeTruthy();"},{"lineNumber":165,"author":{"gitId":"-"},"content":" });"},{"lineNumber":166,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"xenosf":7,"-":159}},{"path":"src/web/types/form-validator.ts","fileType":"ts","lines":[{"lineNumber":1,"author":{"gitId":"xenosf"},"content":"import { ApiConst, ApiStringConst } from \u0027./api-const\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Represents the root FormValidator object of all form fields."},{"lineNumber":5,"author":{"gitId":"-"},"content":" */"},{"lineNumber":6,"author":{"gitId":"-"},"content":"export enum FormValidator {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":8,"author":{"gitId":"-"},"content":" * Max length for the \u0027Course ID\u0027 field."},{"lineNumber":9,"author":{"gitId":"-"},"content":" */"},{"lineNumber":10,"author":{"gitId":"-"},"content":" COURSE_ID_MAX_LENGTH \u003d ApiConst.COURSE_ID_MAX_LENGTH,"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Max length for the \u0027Course Name\u0027 field."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":" COURSE_NAME_MAX_LENGTH \u003d ApiConst.COURSE_NAME_MAX_LENGTH,"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Max length for the \u0027Student Name` field."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":" STUDENT_NAME_MAX_LENGTH \u003d ApiConst.STUDENT_NAME_MAX_LENGTH,"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":23,"author":{"gitId":"-"},"content":" * Max length for the \u0027Section Name` field."},{"lineNumber":24,"author":{"gitId":"-"},"content":" */"},{"lineNumber":25,"author":{"gitId":"-"},"content":" SECTION_NAME_MAX_LENGTH \u003d ApiConst.SECTION_NAME_MAX_LENGTH,"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * Max length for the \u0027Team Name` field."},{"lineNumber":29,"author":{"gitId":"-"},"content":" */"},{"lineNumber":30,"author":{"gitId":"-"},"content":" TEAM_NAME_MAX_LENGTH \u003d ApiConst.TEAM_NAME_MAX_LENGTH,"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Max length for the \u0027E-mail Address` field."},{"lineNumber":34,"author":{"gitId":"-"},"content":" */"},{"lineNumber":35,"author":{"gitId":"-"},"content":" EMAIL_MAX_LENGTH \u003d ApiConst.EMAIL_MAX_LENGTH,"},{"lineNumber":36,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":37,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":38,"author":{"gitId":"xenosf"},"content":" * Regex used to verify emails in the back-end."},{"lineNumber":39,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":40,"author":{"gitId":"xenosf"},"content":" EMAIL_REGEX \u003d ApiStringConst.EMAIL_REGEX,"},{"lineNumber":41,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":42,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":43,"author":{"gitId":"xenosf"},"content":" * Regex used to verify names."},{"lineNumber":44,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":45,"author":{"gitId":"xenosf"},"content":" * Based on back-end\u0027s `FieldValidator.REGEX_NAME`."},{"lineNumber":46,"author":{"gitId":"xenosf"},"content":" * The back-end regex is not converted to use here as the pattern syntax is not accepted in JS."},{"lineNumber":47,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":48,"author":{"gitId":"xenosf"},"content":" NAME_REGEX \u003d \u0027^[a-zA-Z0-9][^|%]*$\u0027,"},{"lineNumber":49,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":50,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":51,"author":{"gitId":"xenosf"},"content":" * Regex used to verify country names."},{"lineNumber":52,"author":{"gitId":"xenosf"},"content":" *"},{"lineNumber":53,"author":{"gitId":"xenosf"},"content":" * Based on back-end\u0027s `FieldValidator.REGEX_NAME`, but without needing to start with alphanumeric"},{"lineNumber":54,"author":{"gitId":"xenosf"},"content":" * as the country is added to the end of the combined institute string."},{"lineNumber":55,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":56,"author":{"gitId":"xenosf"},"content":" COUNTRY_REGEX \u003d \u0027^[^|%]*$\u0027,"},{"lineNumber":57,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":58,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":59,"author":{"gitId":"xenosf"},"content":" * Max length for institution name in account request. (to be combined with country)"},{"lineNumber":60,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":61,"author":{"gitId":"xenosf"},"content":" INSTITUTION_NAME_MAX_LENGTH \u003d 86,"},{"lineNumber":62,"author":{"gitId":"xenosf"},"content":""},{"lineNumber":63,"author":{"gitId":"xenosf"},"content":" /**"},{"lineNumber":64,"author":{"gitId":"xenosf"},"content":" * Max length for country in account request. (to be combined with institution name)"},{"lineNumber":65,"author":{"gitId":"xenosf"},"content":" */"},{"lineNumber":66,"author":{"gitId":"xenosf"},"content":" COUNTRY_NAME_MAX_LENGTH \u003d 40,"},{"lineNumber":67,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"xenosf":32,"-":35}}] diff --git a/TEAMMATES_teammates_master/commits.json b/TEAMMATES_teammates_master/commits.json index 9825c47..1f967aa 100644 --- a/TEAMMATES_teammates_master/commits.json +++ b/TEAMMATES_teammates_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"xenosf":[{"date":"2024-02-15","commitResults":[{"hash":"3c0126ef4feeda7cedcd8f098ee953f916856d70","isMergeCommit":false,"messageTitle":"[#12048] Migrate StudentSearchIndexingWorkerAction (#12733)","messageBody":"* Migrate StudentSearchIndexingWorkerAction\r\n\r\n* Add IT for StudentSearchIndexingWorkerAction\r\n\r\n* Fix javadoc for putStudentDocument\r\n\r\n* Refactor SQL logic and Datastore execute logic to separate methods\r\n\r\n* Fix checkstyle errors\r\n\r\n* Reset student search collections before test\r\n\r\n* Rename test methods to use \"should\"","fileTypesAndContributionMap":{"java":{"insertions":116,"deletions":0}}}]},{"date":"2024-02-27","commitResults":[{"hash":"2dad48b8d3bf32fb337f3021bcf7a9021f15a656","isMergeCommit":false,"messageTitle":"[#12048] Migrate GetSessionResultsAction (#12719)","messageBody":"* Migrate SessionResultsData\r\n\r\n* Add default entities\r\n\r\n* Add helper methods to assist migrated logic\r\n\r\n* Migrate buildCompleteGiverRecipientMap\r\n\r\n* Migrate checkSpecificAccessControl\r\n\r\n* Add default team instance for instructor\r\n\r\n* Migrate session results data logic\r\n\r\n* Use default team entity for instructor instead of const\r\n\r\n* Migrate non-db logic\r\n\r\n* Refactor Datastore and SQL action logic out to separate methods\r\n\r\n* Fix checkstyle errors\r\n\r\n* Migrate DB logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Move default instructor team entity to const\r\n\r\n* Add test for SqlSessionResultsBundle\r\n\r\n* Fix SQL results bundle test\r\n\r\n* Add IT for GetSessionResultsAction\r\n\r\n* Fix action logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Remove unused method parameters\r\n\r\n* Fix persistence issues in test cases\r\n\r\n* Remove question getter for comment\r\n\r\n* Rename boolean methods to start with verb\r\n\r\n* Reword comment to clarify question ID\r\n\r\n* Refactor getting question UUID from param value\r\n\r\n* Remove unneeded getters\r\n\r\n* Remove entities from Const\r\n\r\n* Revert changes to SqlCourseRoster\r\n\r\n* Create and use missing response class\r\n\r\n* Refactor no response text to const\r\n\r\n* Migrate preview-related functionality\r\n\r\n* Migrate preview functionality for question output\r\n\r\n* Fix recipient section filter\r\n\r\n* Update test cases to handle question preview\r\n\r\n* Merge duplicate methods\r\n\r\n* Fix checkstyle errors\r\n\r\n* Add missing questions with non-visible preview responses\r\n\r\n* Remove outdated test\r\n\r\n* Edit for style and readability\r\n\r\n* Fix missing join\r\n\r\n* Fix section filtering logic\r\n\r\n* Fix checkstyle errors","fileTypesAndContributionMap":{"java":{"insertions":2563,"deletions":23}}}]},{"date":"2024-03-13","commitResults":[{"hash":"b8023350e370623921776a3cdc18776f65d1c3f6","isMergeCommit":false,"messageTitle":"[#12048] Add integration tests for FeedbackResponseCommentsDb (#12849)","messageBody":"* Migrate SessionResultsData\r\n\r\n* Add default entities\r\n\r\n* Add helper methods to assist migrated logic\r\n\r\n* Migrate buildCompleteGiverRecipientMap\r\n\r\n* Migrate checkSpecificAccessControl\r\n\r\n* Add default team instance for instructor\r\n\r\n* Migrate session results data logic\r\n\r\n* Use default team entity for instructor instead of const\r\n\r\n* Migrate non-db logic\r\n\r\n* Refactor Datastore and SQL action logic out to separate methods\r\n\r\n* Fix checkstyle errors\r\n\r\n* Migrate DB logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Move default instructor team entity to const\r\n\r\n* Add test for SqlSessionResultsBundle\r\n\r\n* Fix SQL results bundle test\r\n\r\n* Add IT for GetSessionResultsAction\r\n\r\n* Fix action logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Remove unused method parameters\r\n\r\n* Fix persistence issues in test cases\r\n\r\n* Remove question getter for comment\r\n\r\n* Rename boolean methods to start with verb\r\n\r\n* Reword comment to clarify question ID\r\n\r\n* Refactor getting question UUID from param value\r\n\r\n* Remove unneeded getters\r\n\r\n* Remove entities from Const\r\n\r\n* Revert changes to SqlCourseRoster\r\n\r\n* Create and use missing response class\r\n\r\n* Refactor no response text to const\r\n\r\n* Migrate preview-related functionality\r\n\r\n* Migrate preview functionality for question output\r\n\r\n* Fix recipient section filter\r\n\r\n* Update test cases to handle question preview\r\n\r\n* Merge duplicate methods\r\n\r\n* Fix checkstyle errors\r\n\r\n* Add missing questions with non-visible preview responses\r\n\r\n* Remove outdated test\r\n\r\n* Edit for style and readability\r\n\r\n* Fix missing join\r\n\r\n* Fix section filtering logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Add integration tests\r\n\r\n* Refactor tests for readability\r\n\r\n* Fix broken test cases\r\n\r\n* Rename test section key\r\n\r\n* Use separate json bundle for test data\r\n\r\n* Clear session when set up\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":202,"deletions":8}}}]},{"date":"2024-03-14","commitResults":[{"hash":"931dea4d8747bfec25bd10309e2b722a743a6b7e","isMergeCommit":false,"messageTitle":"[#12048] Add integration tests for FeedbackResponsesDb (#12856)","messageBody":"* Migrate SessionResultsData\r\n\r\n* Add default entities\r\n\r\n* Add helper methods to assist migrated logic\r\n\r\n* Migrate buildCompleteGiverRecipientMap\r\n\r\n* Migrate checkSpecificAccessControl\r\n\r\n* Add default team instance for instructor\r\n\r\n* Migrate session results data logic\r\n\r\n* Use default team entity for instructor instead of const\r\n\r\n* Migrate non-db logic\r\n\r\n* Refactor Datastore and SQL action logic out to separate methods\r\n\r\n* Fix checkstyle errors\r\n\r\n* Migrate DB logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Move default instructor team entity to const\r\n\r\n* Add test for SqlSessionResultsBundle\r\n\r\n* Fix SQL results bundle test\r\n\r\n* Add IT for GetSessionResultsAction\r\n\r\n* Fix action logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Remove unused method parameters\r\n\r\n* Fix persistence issues in test cases\r\n\r\n* Remove question getter for comment\r\n\r\n* Rename boolean methods to start with verb\r\n\r\n* Reword comment to clarify question ID\r\n\r\n* Refactor getting question UUID from param value\r\n\r\n* Remove unneeded getters\r\n\r\n* Remove entities from Const\r\n\r\n* Revert changes to SqlCourseRoster\r\n\r\n* Create and use missing response class\r\n\r\n* Refactor no response text to const\r\n\r\n* Migrate preview-related functionality\r\n\r\n* Migrate preview functionality for question output\r\n\r\n* Fix recipient section filter\r\n\r\n* Update test cases to handle question preview\r\n\r\n* Merge duplicate methods\r\n\r\n* Fix checkstyle errors\r\n\r\n* Add missing questions with non-visible preview responses\r\n\r\n* Remove outdated test\r\n\r\n* Edit for style and readability\r\n\r\n* Fix missing join\r\n\r\n* Fix section filtering logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Add integration tests\r\n\r\n* Update and use typical bundle\r\n\r\n* Update test cases for updated bundle\r\n\r\n* Revert typical data bundle\r\n\r\n* Use separate data bundle for feedback responses test\r\n\r\n* Revert unrelated tests\r\n\r\n* Fix json formatting\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":215,"deletions":19}}}]},{"date":"2024-04-09","commitResults":[{"hash":"1e9ccb091fac81793a93c460e017c076b797c66b","isMergeCommit":false,"messageTitle":"[#12048] Migrate AccountRequestsLogicTest (#12780)","messageBody":"* Migrate test cases for AccountRequestsLogic\r\n\r\n* Remove test case\r\n\r\n* Split test cases","fileTypesAndContributionMap":{"java":{"insertions":182,"deletions":0}}}]}],"sopa301":[],"mingyuanc":[{"date":"2024-02-07","commitResults":[{"hash":"cc0bf4f77bc293c689f5e721d16aae14f150e152","isMergeCommit":false,"messageTitle":"[#12048] Migrate CreateInstructorAction (#12706)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":257,"deletions":37}}}]},{"date":"2024-02-18","commitResults":[{"hash":"8e757e2125448b07dbc7e46d94e8967c9925da4c","isMergeCommit":false,"messageTitle":"[#12048] Migrate instructor search indexing worker action (#12731)","messageBody":"* Fix lint\r\n\r\n* Migrate instructor search indexing worker action\r\n\r\n* Fix Checkstyle\r\n\r\n* Fix Checkstyle\r\n\r\n* Fix Checkstyle\r\n\r\n* Add testcases\r\n\r\n* Update comparator to Id\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e\r\nCo-authored-by: Nicolas \u003c25302138+NicolasCwy@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":107,"deletions":0}}}]},{"date":"2024-02-19","commitResults":[{"hash":"d6c67fc9dd31c36f196be454a22cce955e1c8229","isMergeCommit":false,"messageTitle":"Add testcases for FeedbackResponseCommentsDbTest (#12755)","messageBody":"* Add CRUD testcases\r\n\r\n* Fix linting\r\n\r\n* Refactor getTypicalComment\r\n\r\n* Amend testDeleteComment testcase\r\n\r\n* Amend testDeleteComment testcase\r\n\r\n* Fix compile error\r\n\r\n* Revert linting changes\r\n\r\n---------\r\n\r\nCo-authored-by: Nicolas \u003c25302138+NicolasCwy@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":156,"deletions":1}}}]},{"date":"2024-03-09","commitResults":[{"hash":"ef31826b7ec1e1308c0e6016ba513e9c6afa3c58","isMergeCommit":false,"messageTitle":"Add testcases for FeedbackResponseCommentsLogicTest (#12769)","messageBody":"* Added testcase\r\n\r\n* Add new testcases\r\n\r\n* Remove dead store\r\n\r\n---------\r\n\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":185,"deletions":0}}}]},{"date":"2024-03-27","commitResults":[{"hash":"0cfadeffbb74c112f2705ade1be7c6b0cf61d51f","isMergeCommit":false,"messageTitle":"[#12048] Migrate Feedback Rank Option E2E test (#12902)","messageBody":"* Initial commit\r\n\r\n* Fix lint\r\n\r\n* Follow convention and add test\r\n\r\n* Change file path\r\n\r\n* Fix requested changes\r\n\r\n* Fixed testcases\r\n\r\n* Fix lint\r\n\r\n* Add deepcopy\r\n\r\n* Fixed e2e test\r\n\r\n---------\r\n\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":154,"deletions":4}}}]},{"date":"2024-04-15","commitResults":[{"hash":"98d9044d7e95ecdaf31f2191f76fa0254ace4f40","isMergeCommit":false,"messageTitle":"Initial commit (#13024)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}}]},{"date":"2024-04-17","commitResults":[{"hash":"f8522866c39bc7d7208f1e3443061b408ef4af9e","isMergeCommit":false,"messageTitle":"[#12048] Fix getSessionResultAction bugs (#13023)","messageBody":"* [#12048] Config prod settings and convenience scripts for non course migration (#12959)\r\n\r\n* Add fields\r\n\r\n* Change based on feedback\r\n\r\n* Add changes\r\n\r\n* Add reverse data migration script for account (#12962)\r\n\r\n* Add changes (#12965)\r\n\r\n* V9 non course migration fix to check extra SQL accounts (#12966)\r\n\r\n* Add changes\r\n\r\n* Add isMarked script\r\n\r\n* Add patch data migration script for usage stats (#12970)\r\n\r\n* Add patch data migration script for usage stats\r\n\r\n* Fix hibernate batch query\r\n\r\n* Revert log\r\n\r\n* Initial commit\r\n\r\n* Revert \"[#12048] Config prod settings and convenience scripts for non course migration (#12959)\"\r\n\r\nThis reverts commit 6df39c19108de833624992c56e09f75960ff65c1.\r\n\r\n* Revert \"Add reverse data migration script for account (#12962)\"\r\n\r\nThis reverts commit 05099825679c31ace2872860a358288ec0bdacc3.\r\n\r\n* Revert \"V9 non course migration fix to check extra SQL accounts (#12966)\"\r\n\r\nThis reverts commit 611b2cc3682b11e75c3631a8843aa030e8a34b9d.\r\n\r\n* Revert \"Add patch data migration script for usage stats (#12970)\"\r\n\r\nThis reverts commit 239ae85a5bd2d40ea4464b6e47a626f76913a6e1.\r\n\r\n* Revert \"Add changes (#12965)\"\r\n\r\nThis reverts commit 1292dbe995e50b9c3fe1bf5ec377e92f6f751ec2.\r\n\r\n* Fix lint\r\n\r\n* Retry lint\r\n\r\n---------\r\n\r\nCo-authored-by: FergusMok \u003cFergusMok1@gmail.com\u003e\r\nCo-authored-by: Zhang Ziqing \u003c69516975+ziqing26@users.noreply.github.com\u003e\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":5}}}]}],"jingting1412":[{"date":"2024-03-16","commitResults":[{"hash":"2d1080682a62f32981cb4b0edd497f0928bcd83b","isMergeCommit":false,"messageTitle":"[#12271] Docs: Upgrade to latest MarkBind version (#12893)","messageBody":"* Upgrade layouts\r\n\r\n* Add breadcrumb for pages\r\n\r\n* Fix puml diagrams\r\n\r\n* Make navbar sticky\r\n\r\n* Upgrade markbind version\r\n\r\n* Upgrade markbind\r\n\r\n* Upgrade markbind version\r\n\r\n* Update pages\r\n\r\n* Revert \"Upgrade markbind version\"\r\n\r\nThis reverts commit 76b2d44f3bc57d5bfdf03fdb2c01cb92a186105f.\r\n\r\n---------\r\n\r\nCo-authored-by: Zhang Ziqing \u003c69516975+ziqing26@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"md":{"insertions":43,"deletions":44}}}]}],"KevinEyo1":[],"LamJiuFong":[],"yiwen101":[],"jonasongg":[],"domoberzin":[{"date":"2024-02-04","commitResults":[{"hash":"333f582460d9b1ba7174321de3ea3113cc71c9db","isMergeCommit":false,"messageTitle":"[#12048] Migrate enroll students action (#12715)","messageBody":"* Modify student entity\r\n\r\n* Add update comment logic\r\n\r\n* Modify logic files for cascading update and creation for student\r\n\r\n* Add database queries for updating student\r\n\r\n* Update EnrollStudentsAction\r\n\r\n* Fix checkstyle\r\n\r\n* Remove extra query for editor update\r\n\r\n* Remove email update logic\r\n\r\n* Update javadocs\r\n\r\n* Copy over logic for Team and Section validation\r\n\r\n* Edit javadocs\r\n\r\n* Change StudentAttributes to Student instead\r\n\r\n* Fix lint issues\r\n\r\n* Fix lint issues\r\n\r\n* Fix component tests and lint\r\n\r\n* Remove ununsed method\r\n\r\n* Fix lint\r\n\r\n* Update validation logic to use Student\r\n\r\n* Update test case\r\n\r\n* Add tests for duplicate team across sections\r\n\r\n* Remove unused methods and add getSection to UsersLogic\r\n\r\n* Fix sorting logic\r\n\r\n* Change getName method calls for section and team\r\n\r\n* Remove unused methods\r\n\r\n* Add more detail to JavaDocs\r\n\r\n* Remove unusued methods\r\n\r\n* Use getCourseId instead of toString\r\n\r\n* Modify test case\r\n\r\n* Revert changes\r\n\r\n* Change toString to getCourseId\r\n\r\n* Update tests to include unregistered student\r\n\r\n* Fix trailing whitespaces","fileTypesAndContributionMap":{"java":{"insertions":875,"deletions":66}}}]},{"date":"2024-02-10","commitResults":[{"hash":"21ae95eab736f4c37933d3fa0fd9bd592c6b92d6","isMergeCommit":false,"messageTitle":"[#12048] Migrate search account requests action (#12726)","messageBody":"* feat: add search account request methods to SQL storage and logic layers\r\n\r\n* feat: migrate SearchAccountRequestsAction to use SQL logic\r\n\r\n* fix: failing tests\r\n\r\n* fix: remove commented line\r\n\r\n* fix: migrate AccountRequestSearch tests\r\n\r\n---------\r\n\r\nCo-authored-by: Dominic Lim \u003c46486515+domlimm@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":347,"deletions":5}}}]},{"date":"2024-02-18","commitResults":[{"hash":"c314aa9f3462f76ac3a3e8d15e58289181b31573","isMergeCommit":false,"messageTitle":"[#12048] Add tests for CoursesLogic (#12746)","messageBody":"* feat: add tests for CoursesLogic\r\n\r\n* fix: verify parameters of mocked logic classes\r\n\r\n* fix: lint issues\r\n\r\n* fix: add additional verification of parameters\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":319,"deletions":2}}}]},{"date":"2024-02-20","commitResults":[{"hash":"daba8ebd1ead324ae4e4b2daba64d2586538a9f5","isMergeCommit":false,"messageTitle":"[#12048] Migrate AccountRequestSearchIndexingWorkerAction (#12757)","messageBody":"* feat: migrate account request search indexing worker action\r\n\r\n* fix: remove datastore logic and old test\r\n\r\n* fix: remove NPE suppress","fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":13}}}]},{"date":"2024-02-24","commitResults":[{"hash":"7a22ab856fb641e0d7897a00e45ed3c5024ab766","isMergeCommit":false,"messageTitle":"[#12048] Fix GetSessionResponseStatsActionIT (#12777)","messageBody":"* Migrate GetSessionResponseStatsAction\r\n\r\n* fix: fix NPE issues\r\n\r\n* fix: remove extra comments\r\n\r\n* fix: remove extra line\r\n\r\n---------\r\n\r\nCo-authored-by: Zhang Ziqing \u003czhangziqing9926@gmail.com\u003e\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e\r\nCo-authored-by: Zhang Ziqing \u003c69516975+ziqing26@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":218,"deletions":15}}},{"hash":"7da77bb9ba38925e675b94d64dc6bff2d7d5bcc1","isMergeCommit":false,"messageTitle":"[#12048] Create IT for GetFeedbackSessionSubmittedGiverSetAction (#12778)","messageBody":"* Migrate GetSessionResponseStatsAction\r\n\r\n* fix: fix NPE issues\r\n\r\n* feat: add IT for GetFeedbackSessionSubmittedGiverSetAction\r\n\r\n* fix: remove extra comment\r\n\r\n* fix: remove duplicate method\r\n\r\n---------\r\n\r\nCo-authored-by: Zhang Ziqing \u003czhangziqing9926@gmail.com\u003e\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e\r\nCo-authored-by: Zhang Ziqing \u003c69516975+ziqing26@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":81,"deletions":3}}}]},{"date":"2024-02-26","commitResults":[{"hash":"500e7421dc31bd884ba6d2ff7a01b6abcabf646b","isMergeCommit":false,"messageTitle":"[#12048] Migrate Admin Notifications E2E Test (#12793)","messageBody":"* feat: add resources for admin notifications e2e test\r\n\r\n* fix: set created at on notification creation\r\n\r\n* feat: migrate admin notifications e2e test\r\n\r\n* fix: remove created at check for notifications\r\n\r\n* fix: remove extra comments\r\n\r\n* fix: remove explicit created at\r\n\r\n* fix: null check for created at\r\n\r\n* fix lint\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e\r\nCo-authored-by: Cedric Ong \u003ccedricongjh@gmail.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":47,"deletions":34}}},{"hash":"203ec245f53c97be136208df3f583bfd6db97f8c","isMergeCommit":false,"messageTitle":"[#12048] Migrate AdminSearchPageE2ETest (#12838)","messageBody":"* migate admin search e2e\r\n\r\n* fix e2e test\r\n\r\n* fix failing tests\r\n\r\n* fix: add put sql document methods\r\n\r\n* fix: add migrated check back in\r\n\r\n* fix: add cleanup method\r\n\r\n* fix: add search document removal for account request\r\n\r\n* fix lint and tests\r\n\r\n* fix: json file formatting\r\n\r\n* fix: init both searchManagers\r\n\r\n* fix: add comments\r\n\r\n* fix: remove notifications field in data file\r\n\r\n---------\r\n\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":201,"deletions":45}}}]},{"date":"2024-03-03","commitResults":[{"hash":"0f9d99069cca05ac16878b0f5e0fa78bf629d96d","isMergeCommit":false,"messageTitle":"[#12048] Add tests for CourseDbIT (#12786)","messageBody":"* feat: add more coverage for methods in CoursesDb\r\n\r\n* fix: add further test cases\r\n\r\n---------\r\n\r\nCo-authored-by: Dominic Lim \u003c46486515+domlimm@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":165,"deletions":4}}}]},{"date":"2024-03-13","commitResults":[{"hash":"ccdb6ccf64330e83bff24d7b93e15f2081c30398","isMergeCommit":false,"messageTitle":"[#12048] Migrate InstructorSearchPageE2ETest (#12891)","messageBody":"* feat: migrate instructor search page e2e test\r\n\r\n* fix: add new line\r\n\r\n* fix axe test\r\n\r\n* remove extra whitespace","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":3}}}]},{"date":"2024-04-09","commitResults":[{"hash":"84ed244ade96870b71346808916568ae41b64b92","isMergeCommit":false,"messageTitle":"[#12048] Migrate AdminSearchPageE2ETest SQL (#12811)","messageBody":"* test e2e changes\r\n\r\n* fix: reduce e2e test json file size\r\n\r\n* fix student key\r\n\r\n* fix course key\r\n\r\n* fix instructor keys\r\n\r\n* fix filepath\r\n\r\n* fix e2e test\r\n\r\n* remove extra data from bundle\r\n\r\n* Add correct removal logic to avoid constraint violation\r\n\r\n* Fix e2e tests and lint\r\n\r\nfix reset google id test\r\n\r\nfix e2e tests\r\n\r\nfix e2e tests\r\n\r\nfix tests\r\n\r\nremove double click\r\n\r\nfix unknown symbol\r\n\r\nadd toast check\r\n\r\nchange toast verification message\r\n\r\nremove toast check\r\n\r\n* fix: add null check\r\n\r\n* move admin search page e2e test to sql cases\r\n\r\n* Rename AdminSearchPageE2ETest_SQLEntities.json to AdminSearchPageE2ETest_SqlEntities.json\r\n\r\n* fix failing test\r\n\r\n* fix: remove extra null check\r\n\r\n* fix: add test to e2e sql xml file\r\n\r\n* fix function call\r\n\r\n* remove unnecessary changes\r\n\r\n* create new file for sql entities\r\n\r\n* revert unnecessary changes\r\n\r\n* remove trailing whitespace\r\n\r\n* add teardown for account requests\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":446,"deletions":11}}}]}],"asdfghjkxd":[],"yuanxi1":[{"date":"2023-12-28","commitResults":[{"hash":"5de8300549d6b06bd21d38f1d258bdcaebc6c443","isMergeCommit":false,"messageTitle":"[#12663] Instructor\u0027s Student Records Page: Tooltips for comments (#12676)","messageBody":"* Fix comment tooltip causing the text to go into next line\r\n\r\n* Update snapshot test\r\n\r\n---------\r\n\r\nCo-authored-by: YX Z \u003cyxz@YXs-MacBook-Air-2.local\u003e\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e\r\nCo-authored-by: Dominic Lim \u003c46486515+domlimm@users.noreply.github.com\u003e\r\nCo-authored-by: Jason Qiu \u003cjason_qiu@hotmail.com\u003e","fileTypesAndContributionMap":{"html":{"insertions":2,"deletions":2}}}]},{"date":"2024-02-06","commitResults":[{"hash":"f0279fa802b98f5dbf9d92c200168f21aa41ef62","isMergeCommit":false,"messageTitle":"[#12048] Migrate join course action (#12722)","messageBody":"* Add join course for student and instructor to AccountsLogic\r\n\r\n* Update AccountsLogic tests\r\n\r\n* Migrate JoinCourseAction\r\n\r\n* Add JoinCourseActionIT\r\n\r\n* Update to use usersLogic for student update\r\n\r\n* Fix failing IT caused by updates to typicalDataBundle\r\n\r\n* Fix failing IT\r\n\r\n* Remove print statements\r\n\r\n---------\r\n\r\nCo-authored-by: YX Z \u003cyxz@YXs-MacBook-Air-2.local\u003e\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":605,"deletions":12}}}]},{"date":"2024-02-14","commitResults":[{"hash":"33953dc064e3230bf0c27f2b591f5b06e212d8cf","isMergeCommit":false,"messageTitle":"[#12048] Migrate search students action (#12735)","messageBody":"* Migrate search students action and associated logic\r\n\r\n* Add tests for student search\r\n\r\n* Remove old test\r\n\r\n* Restore datastore test\r\n\r\n* Add support for dual db search\r\n\r\n* Suppress NPE warning\r\n\r\n---------\r\n\r\nCo-authored-by: YX Z \u003cyxz@YXs-MacBook-Air-2.local\u003e\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":528,"deletions":5}}}]},{"date":"2024-02-25","commitResults":[{"hash":"a913315da176e03961d0a0a4fae955571a5bf8aa","isMergeCommit":false,"messageTitle":"Add locale for java datetime formatter (#12826)","messageBody":"Co-authored-by: YX Z \u003cyxz@r-154-105-25-172.comp.nus.edu.sg\u003e","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":1}}}]},{"date":"2024-02-26","commitResults":[{"hash":"7b2a69c88dad53002650c37e12a16ba6e5564281","isMergeCommit":false,"messageTitle":"[#12048] Migrate Notification Banner E2E (#12840)","messageBody":"* Add locale for java datetime formatter\r\n\r\n* Migrate non-course content for NotificationBannerE2ETest\r\n\r\n* Fix linting\r\n\r\n* Fix snapshot test\r\n\r\n---------\r\n\r\nCo-authored-by: YX Z \u003cyxz@r-154-105-25-172.comp.nus.edu.sg\u003e\r\nCo-authored-by: YX Z \u003cyxz@YXs-MacBook-Air-2.local\u003e\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":14},"html":{"insertions":1,"deletions":1}}}]},{"date":"2024-03-19","commitResults":[{"hash":"a34c3c57b22456de526d5af9a0317d502f44907a","isMergeCommit":false,"messageTitle":"[#12048] Migrate InstructorNotificationsPageE2E (#12906)","messageBody":"* Migrate InstructorNotificationsPageE2E\r\n\r\n* Fix unsaved transient entity error\r\n\r\n* Fix lint\r\n\r\n* Fix lint\r\n\r\n* Update testng xml\r\n\r\n---------\r\n\r\nCo-authored-by: YX Z \u003cyxz@YXs-MacBook-Air-2.local\u003e\r\nCo-authored-by: YX Z \u003cyxz@r-121-109-25-172.comp.nus.edu.sg\u003e\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":202,"deletions":0}}}]}],"supermii2":[],"marquestye":[{"date":"2024-02-25","commitResults":[{"hash":"3191fd1c0a471a34b3dbbfae8e305946280b0d42","isMergeCommit":false,"messageTitle":"[#12048] Migrate UpdateStudentAction (#12727)","messageBody":"* Modify student entity\r\n\r\n* Add update comment logic\r\n\r\n* Modify logic files for cascading update and creation for student\r\n\r\n* Add database queries for updating student\r\n\r\n* Update EnrollStudentsAction\r\n\r\n* Fix checkstyle\r\n\r\n* Remove extra query for editor update\r\n\r\n* Remove email update logic\r\n\r\n* Update javadocs\r\n\r\n* Copy over logic for Team and Section validation\r\n\r\n* Edit javadocs\r\n\r\n* Change StudentAttributes to Student instead\r\n\r\n* Fix lint issues\r\n\r\n* Fix lint issues\r\n\r\n* Fix component tests and lint\r\n\r\n* Remove ununsed method\r\n\r\n* Fix lint\r\n\r\n* Update validation logic to use Student\r\n\r\n* Update test case\r\n\r\n* Add tests for duplicate team across sections\r\n\r\n* Migrate UpdateStudentAction and add tests\r\n\r\n* Remove resetStudentGoogleId\r\n\r\n* Refactor updateStudentCascade\r\n\r\n* Fix integration tests\r\n\r\n* Fix checkstyle\r\n\r\n* Fix integration tests\r\n\r\n* Fix lint\r\n\r\n* Add persist verification in test\r\n\r\n* Fix test\r\n\r\n* Fix tests\r\n\r\n* Remove unused method\r\n\r\n* Fix test\r\n\r\n* Fix test\r\n\r\n* Fix test\r\n\r\n* Split UpdateStudentActionIT into multiple testcases\r\n\r\n* Add test separators\r\n\r\n---------\r\n\r\nCo-authored-by: Dominic Berzin \u003cberzindominic@gmail.com\u003e\r\nCo-authored-by: domoberzin \u003c74132255+domoberzin@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":522,"deletions":36}}}]},{"date":"2024-03-10","commitResults":[{"hash":"bf5a2ac8506bc49ecd1c479b634991a6380452e3","isMergeCommit":false,"messageTitle":"[#12048] Add tests for FeedbackQuestionsDb (#12759)","messageBody":"* Add verification during feedback question creation\r\n\r\n* Add tests for FeedbackQuestionsDb\r\n\r\n* Fix missing javadocs\r\n\r\n* Fix feedback question creation logic\r\n\r\n* Add test\r\n\r\n* Reuse error message\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e\r\nCo-authored-by: Zhang Ziqing \u003c69516975+ziqing26@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":169,"deletions":17}}}]},{"date":"2024-04-09","commitResults":[{"hash":"b9ccd4fb42a005822ba785a396699cf2a5005cec","isMergeCommit":false,"messageTitle":"[#12048] Migrate FeedbackNumScaleQuestionE2ETest (#12940)","messageBody":"* Migrate num scale e2e\r\n\r\n* Fix team id\r\n\r\n* Fix bugs","fileTypesAndContributionMap":{"java":{"insertions":147,"deletions":0}}}]}],"nknguyenhc":[{"date":"2023-12-25","commitResults":[{"hash":"a64f6605aec32e664527d017f7e2d9946010d4b2","isMergeCommit":false,"messageTitle":"[#12654] Instructor Edit Session Page: Bug in Grace Period Tooltip (#12675)","messageBody":"* Fix grace period tooltip\r\n\r\n* Update test cases\r\n\r\n---------\r\n\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e\r\nCo-authored-by: Dominic Lim \u003c46486515+domlimm@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"html":{"insertions":2,"deletions":2}}}]}],"Arif-Khalid":[],"NereusWB922":[],"dishenggg":[{"date":"2024-02-04","commitResults":[{"hash":"c8723d594557a0afdc117d679b9b4dfa41b32b61","isMergeCommit":false,"messageTitle":"[#12048] Migrate GetCourseJoinStatusAction (#12713)","messageBody":"* Migrate get course join status\r\n\r\n* Add IT for getCourseJoinStatusAction\r\n\r\n* Fix checkstyle\r\n\r\n* Update testcases\r\n\r\n* Update testcases\r\n\r\n* Refactor code\r\n\r\n---------\r\n\r\nCo-authored-by: dishenggg \u003cdisheng05@gmail.com\u003e\r\nCo-authored-by: FergusMok \u003cFergusMok1@gmail.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":262,"deletions":25}}}]},{"date":"2024-02-11","commitResults":[{"hash":"13c58fd88627b5fd90ca5aa5d605a6d2420cf128","isMergeCommit":false,"messageTitle":"[#12048] Migrate PutDataBundleDocumentsAction (#12734)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":50,"deletions":4}}}]},{"date":"2024-02-18","commitResults":[{"hash":"5bfb84739674612f2d8d4f7c9d0202f5f2dbab83","isMergeCommit":false,"messageTitle":"Merge restore deleted to db (#12751)","messageBody":"Co-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":0}}}]},{"date":"2024-02-22","commitResults":[{"hash":"5b3a96fdde95d6ab3fef6b861c2867efe92d15f4","isMergeCommit":false,"messageTitle":"[#12048] Add test cases for FeedbackSessionsDb (#12752)","messageBody":"* Add test for FeedbackSessionsDb\r\n\r\n* update test cases\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":253,"deletions":2}}}]},{"date":"2024-02-24","commitResults":[{"hash":"8125d5353307b0d225e90fc671c3f7420e8602a4","isMergeCommit":false,"messageTitle":"migrate instructor notif e2e (#12792)","messageBody":"Co-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":28,"deletions":21}}}]},{"date":"2024-03-13","commitResults":[{"hash":"2ad2242e44748557db65217b87dda052cbf55f7c","isMergeCommit":false,"messageTitle":"[#12048] Add tests for FeedbackQuestionsDbIT (#12781)","messageBody":"* Add verification during feedback question creation\r\n\r\n* Add tests for FeedbackQuestionsDb\r\n\r\n* Fix missing javadocs\r\n\r\n* Fix feedback question creation logic\r\n\r\n* Add test\r\n\r\n* Reuse error message\r\n\r\n* Add tests for FeedbackQuestionsDbIT\r\n\r\n---------\r\n\r\nCo-authored-by: marquestye \u003ce0360581@u.nus.edu\u003e\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":72,"deletions":0}}}]},{"date":"2024-03-19","commitResults":[{"hash":"4dc0c6deff8108eba7be7d85ccdd2f770d2b1a8e","isMergeCommit":false,"messageTitle":"[#12048] Migrate FeedbackMsqQuestionE2ETest (#12904)","messageBody":"* Migrate test\r\n\r\n* Update test\r\n\r\n* Update sql json\r\n\r\n* fix lint\r\n\r\n* Fix lint\r\n\r\n* Update json and add test to xml\r\n\r\n* Revert \"Fix lint\"\r\n\r\nThis reverts commit f767b5233dc280290b31bc6e669b173d0befd26d.\r\n\r\n* Revert \"Update sql json\"\r\n\r\nThis reverts commit 45744750bb262c3537d5628e9beef1289e163fb6.\r\n\r\n* Fix xml\r\n\r\n* Change to use makeDeepCopy\r\n\r\n* sort questions\r\n\r\n* fix verifyEquals method\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e\r\nCo-authored-by: Cedric Ong \u003ccedricong99@gmail.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":217,"deletions":4}}}]},{"date":"2024-03-27","commitResults":[{"hash":"e51132e3c4f2c694c60ac53e3f4a2dd973f9c1c9","isMergeCommit":false,"messageTitle":"[#12048] Migrate FeedbackMcqQuestionE2ETest (#12820)","messageBody":"* Migrate MCQ E2E\r\n\r\n* Fix lint\r\n\r\n* Fix lint\r\n\r\n* Update xml\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":166,"deletions":1}}}]}],"MadLamprey":[],"Tim-Siu":[{"date":"2023-12-22","commitResults":[{"hash":"fdfdded21b473d79468a263a61b32985cce72ed3","isMergeCommit":false,"messageTitle":"[#3942] Instructor\u0027s Student Records Page: Feedback session panel chevron barely visible #12668 (#12673)","messageBody":"* Fix chevron color issue\r\n\r\n* Replace property binding with static value assignation","fileTypesAndContributionMap":{"html":{"insertions":1,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"xenosf":{"java":3266,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"sopa301":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"mingyuanc":{"java":851,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"jingting1412":{"java":0,"js":0,"scss":0,"md":42,"py":0,"tag":0,"html":0,"ts":0},"KevinEyo1":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"LamJiuFong":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"yiwen101":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"jonasongg":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"domoberzin":{"java":2612,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"asdfghjkxd":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"yuanxi1":{"java":1310,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":3,"ts":0},"supermii2":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"marquestye":{"java":824,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"nknguyenhc":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":2,"ts":0},"Arif-Khalid":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"NereusWB922":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"dishenggg":{"java":1002,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"MadLamprey":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"Tim-Siu":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":1,"ts":0}},"authorContributionVariance":{"xenosf":48583.746,"sopa301":0.0,"mingyuanc":1271.8394,"jingting1412":54.061455,"KevinEyo1":0.0,"LamJiuFong":0.0,"yiwen101":0.0,"jonasongg":0.0,"domoberzin":10774.146,"asdfghjkxd":0.0,"yuanxi1":4982.9355,"supermii2":0.0,"marquestye":2603.294,"nknguyenhc":0.11427954,"Arif-Khalid":0.0,"NereusWB922":0.0,"dishenggg":1624.6464,"MadLamprey":0.0,"Tim-Siu":0.028569883},"authorDisplayNameMap":{"xenosf":"XENO..NONG","sopa301":"POON..RYAN","mingyuanc":"CHIN..YUAN","jingting1412":"WANG..TING","KevinEyo1":"EYO ..EVIN","LamJiuFong":"LAM ..FONG","yiwen101":"WANG..IWEN","jonasongg":"JONA.. WEI","domoberzin":"DOMI.. GIN","asdfghjkxd":"GEOR.. YAO","yuanxi1":"ZHU ..ANXI","supermii2":"ALVI..S NG","marquestye":"TYE ..QUES","nknguyenhc":"NGUY..UYEN","Arif-Khalid":"ARIF..ALID","NereusWB922":"NERE.. BIN","dishenggg":"YEO ..HENG","MadLamprey":"MISR..ITYA","Tim-Siu":"XU S..UYAO"}} +{"authorDailyContributionsMap":{"xenosf":[{"date":"2024-02-15","commitResults":[{"hash":"3c0126ef4feeda7cedcd8f098ee953f916856d70","isMergeCommit":false,"messageTitle":"[#12048] Migrate StudentSearchIndexingWorkerAction (#12733)","messageBody":"* Migrate StudentSearchIndexingWorkerAction\r\n\r\n* Add IT for StudentSearchIndexingWorkerAction\r\n\r\n* Fix javadoc for putStudentDocument\r\n\r\n* Refactor SQL logic and Datastore execute logic to separate methods\r\n\r\n* Fix checkstyle errors\r\n\r\n* Reset student search collections before test\r\n\r\n* Rename test methods to use \"should\"","fileTypesAndContributionMap":{"java":{"insertions":116,"deletions":0}}}]},{"date":"2024-02-27","commitResults":[{"hash":"2dad48b8d3bf32fb337f3021bcf7a9021f15a656","isMergeCommit":false,"messageTitle":"[#12048] Migrate GetSessionResultsAction (#12719)","messageBody":"* Migrate SessionResultsData\r\n\r\n* Add default entities\r\n\r\n* Add helper methods to assist migrated logic\r\n\r\n* Migrate buildCompleteGiverRecipientMap\r\n\r\n* Migrate checkSpecificAccessControl\r\n\r\n* Add default team instance for instructor\r\n\r\n* Migrate session results data logic\r\n\r\n* Use default team entity for instructor instead of const\r\n\r\n* Migrate non-db logic\r\n\r\n* Refactor Datastore and SQL action logic out to separate methods\r\n\r\n* Fix checkstyle errors\r\n\r\n* Migrate DB logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Move default instructor team entity to const\r\n\r\n* Add test for SqlSessionResultsBundle\r\n\r\n* Fix SQL results bundle test\r\n\r\n* Add IT for GetSessionResultsAction\r\n\r\n* Fix action logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Remove unused method parameters\r\n\r\n* Fix persistence issues in test cases\r\n\r\n* Remove question getter for comment\r\n\r\n* Rename boolean methods to start with verb\r\n\r\n* Reword comment to clarify question ID\r\n\r\n* Refactor getting question UUID from param value\r\n\r\n* Remove unneeded getters\r\n\r\n* Remove entities from Const\r\n\r\n* Revert changes to SqlCourseRoster\r\n\r\n* Create and use missing response class\r\n\r\n* Refactor no response text to const\r\n\r\n* Migrate preview-related functionality\r\n\r\n* Migrate preview functionality for question output\r\n\r\n* Fix recipient section filter\r\n\r\n* Update test cases to handle question preview\r\n\r\n* Merge duplicate methods\r\n\r\n* Fix checkstyle errors\r\n\r\n* Add missing questions with non-visible preview responses\r\n\r\n* Remove outdated test\r\n\r\n* Edit for style and readability\r\n\r\n* Fix missing join\r\n\r\n* Fix section filtering logic\r\n\r\n* Fix checkstyle errors","fileTypesAndContributionMap":{"java":{"insertions":2563,"deletions":23}}}]},{"date":"2024-03-13","commitResults":[{"hash":"b8023350e370623921776a3cdc18776f65d1c3f6","isMergeCommit":false,"messageTitle":"[#12048] Add integration tests for FeedbackResponseCommentsDb (#12849)","messageBody":"* Migrate SessionResultsData\r\n\r\n* Add default entities\r\n\r\n* Add helper methods to assist migrated logic\r\n\r\n* Migrate buildCompleteGiverRecipientMap\r\n\r\n* Migrate checkSpecificAccessControl\r\n\r\n* Add default team instance for instructor\r\n\r\n* Migrate session results data logic\r\n\r\n* Use default team entity for instructor instead of const\r\n\r\n* Migrate non-db logic\r\n\r\n* Refactor Datastore and SQL action logic out to separate methods\r\n\r\n* Fix checkstyle errors\r\n\r\n* Migrate DB logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Move default instructor team entity to const\r\n\r\n* Add test for SqlSessionResultsBundle\r\n\r\n* Fix SQL results bundle test\r\n\r\n* Add IT for GetSessionResultsAction\r\n\r\n* Fix action logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Remove unused method parameters\r\n\r\n* Fix persistence issues in test cases\r\n\r\n* Remove question getter for comment\r\n\r\n* Rename boolean methods to start with verb\r\n\r\n* Reword comment to clarify question ID\r\n\r\n* Refactor getting question UUID from param value\r\n\r\n* Remove unneeded getters\r\n\r\n* Remove entities from Const\r\n\r\n* Revert changes to SqlCourseRoster\r\n\r\n* Create and use missing response class\r\n\r\n* Refactor no response text to const\r\n\r\n* Migrate preview-related functionality\r\n\r\n* Migrate preview functionality for question output\r\n\r\n* Fix recipient section filter\r\n\r\n* Update test cases to handle question preview\r\n\r\n* Merge duplicate methods\r\n\r\n* Fix checkstyle errors\r\n\r\n* Add missing questions with non-visible preview responses\r\n\r\n* Remove outdated test\r\n\r\n* Edit for style and readability\r\n\r\n* Fix missing join\r\n\r\n* Fix section filtering logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Add integration tests\r\n\r\n* Refactor tests for readability\r\n\r\n* Fix broken test cases\r\n\r\n* Rename test section key\r\n\r\n* Use separate json bundle for test data\r\n\r\n* Clear session when set up\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":202,"deletions":8}}}]},{"date":"2024-03-14","commitResults":[{"hash":"931dea4d8747bfec25bd10309e2b722a743a6b7e","isMergeCommit":false,"messageTitle":"[#12048] Add integration tests for FeedbackResponsesDb (#12856)","messageBody":"* Migrate SessionResultsData\r\n\r\n* Add default entities\r\n\r\n* Add helper methods to assist migrated logic\r\n\r\n* Migrate buildCompleteGiverRecipientMap\r\n\r\n* Migrate checkSpecificAccessControl\r\n\r\n* Add default team instance for instructor\r\n\r\n* Migrate session results data logic\r\n\r\n* Use default team entity for instructor instead of const\r\n\r\n* Migrate non-db logic\r\n\r\n* Refactor Datastore and SQL action logic out to separate methods\r\n\r\n* Fix checkstyle errors\r\n\r\n* Migrate DB logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Move default instructor team entity to const\r\n\r\n* Add test for SqlSessionResultsBundle\r\n\r\n* Fix SQL results bundle test\r\n\r\n* Add IT for GetSessionResultsAction\r\n\r\n* Fix action logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Remove unused method parameters\r\n\r\n* Fix persistence issues in test cases\r\n\r\n* Remove question getter for comment\r\n\r\n* Rename boolean methods to start with verb\r\n\r\n* Reword comment to clarify question ID\r\n\r\n* Refactor getting question UUID from param value\r\n\r\n* Remove unneeded getters\r\n\r\n* Remove entities from Const\r\n\r\n* Revert changes to SqlCourseRoster\r\n\r\n* Create and use missing response class\r\n\r\n* Refactor no response text to const\r\n\r\n* Migrate preview-related functionality\r\n\r\n* Migrate preview functionality for question output\r\n\r\n* Fix recipient section filter\r\n\r\n* Update test cases to handle question preview\r\n\r\n* Merge duplicate methods\r\n\r\n* Fix checkstyle errors\r\n\r\n* Add missing questions with non-visible preview responses\r\n\r\n* Remove outdated test\r\n\r\n* Edit for style and readability\r\n\r\n* Fix missing join\r\n\r\n* Fix section filtering logic\r\n\r\n* Fix checkstyle errors\r\n\r\n* Add integration tests\r\n\r\n* Update and use typical bundle\r\n\r\n* Update test cases for updated bundle\r\n\r\n* Revert typical data bundle\r\n\r\n* Use separate data bundle for feedback responses test\r\n\r\n* Revert unrelated tests\r\n\r\n* Fix json formatting\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":215,"deletions":19}}}]},{"date":"2024-03-27","commitResults":[{"hash":"f7eaa617f1e129a828bc4eb5b3f2776629ef9a3f","isMergeCommit":false,"messageTitle":"[#11878] Upgrade instructor request form UI (#12929)","messageBody":"* Add confirmation prompt\r\n\r\n* Remove old form iframe\r\n\r\n* Improve declaration view spacing\r\n\r\n* Edit page heading phrasing for clarity\r\n\r\n* Create request form\r\n\r\n* Add validation messages\r\n\r\n* Fix form validation\r\n\r\n* Set up form submission confirmation\r\n\r\n* Create submission acknowledgement view\r\n\r\n* Fix URL checking regex\r\n\r\n* Fix initial state\r\n\r\n* Display placeholder when optional field is empty\r\n\r\n* Fix code style\r\n\r\n* Edit comment for clarity\r\n\r\n* Fix institution and country combination\r\n\r\nCo-authored-by: Jay Aljelo Ting \u003c65202977+jayasting98@users.noreply.github.com\u003e\r\n\r\n* Fix naming\r\n\r\n* Remove hard line break\r\n\r\n* Add explanatory comment for regex\r\n\r\n* Remove newline\r\n\r\n* Add newlines at end of file\r\n\r\n* Clear styles file\r\n\r\n* Re-add styles file\r\n\r\n* Include test\r\n\r\n* Add test cases for requestSubmissionEvent\r\n\r\n* Improve test case readability\r\n\r\n* Edit test case name for clarity\r\n\r\n* Add snapshot tests\r\n\r\n* Revert \"Add snapshot tests\"\r\n\r\nThis reverts commit ec7395d4e8bd0d956f3c355b9906ec0ab3ae0f58.\r\n\r\n* Fix lint errors\r\n\r\n* Rename methods to be clearer\r\n\r\n* Disable submit button when not ready to submit\r\n\r\n---------\r\n\r\nCo-authored-by: Jay Aljelo Ting \u003c65202977+jayasting98@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"scss":{"insertions":27,"deletions":0},"html":{"insertions":155,"deletions":11},"ts":{"insertions":198,"deletions":0}}}]},{"date":"2024-03-29","commitResults":[{"hash":"f6329eb10233e07143153782451605524216c901","isMergeCommit":false,"messageTitle":"[#11878] Add snapshot tests for instructor request form UI (#12942)","messageBody":"* Add snapshot tests\r\n\r\n* Change double quotes to single quotes","fileTypesAndContributionMap":{"ts":{"insertions":31,"deletions":0}}}]},{"date":"2024-03-30","commitResults":[{"hash":"00b85cec55172709a112a6519ff11316b448f79e","isMergeCommit":false,"messageTitle":"[#11878] Create instructor request acknowledgement email (#12944)","messageBody":"* Create instructor request acknowledgement email\r\n\r\n* Add tests for acknowledgement email\r\n\r\n* Fix test cases\r\n\r\n* Fix comments in expected email\r\n\r\n* Use config support email value in email template\r\n\r\n* Fix email recipient\r\n\r\n* Fix test expected emails\r\n\r\n* Remove trailing space\r\n\r\n* Use placeholder for support email\r\n\r\n* Sanitize acknowledgement email\r\n\r\n* Set acknowledgement email to bcc support","fileTypesAndContributionMap":{"java":{"insertions":80,"deletions":3},"html":{"insertions":195,"deletions":0}}}]},{"date":"2024-04-02","commitResults":[{"hash":"7ec74c76f1feb2c2528ac061e88332e166994316","isMergeCommit":false,"messageTitle":"[#11878] Change institute length limit (#12974)","messageBody":"* Change institute name max length to 128\r\n\r\n* Edit test case for new length limit","fileTypesAndContributionMap":{"java":{"insertions":6,"deletions":5}}}]},{"date":"2024-04-04","commitResults":[{"hash":"de3181a347f241d23d34dad524a2542231a03e1f","isMergeCommit":false,"messageTitle":"[#11878] Integrate instructor request form with API (#12943)","messageBody":"* Integrate instructor request form FE with API\r\n\r\n* Remove redundant statement\r\n\r\n* Move URL regex const to backend const file\r\n\r\n* Fix import path\r\n\r\n* Move URL regex to FieldValidator\r\n\r\n* Add validators to match backend fields\r\n\r\n* Add error message box\r\n\r\n* Change submit button display when loading\r\n\r\n* Combine final action into subscribe\r\n\r\n* Add max length validators for institution and country\r\n\r\n* Fix lint errors\r\n\r\n* Add test cases to test submission\r\n\r\n* Add specific error messages for form validation\r\n\r\n* Remove home page URL field\r\n\r\n* Fix lint errors\r\n\r\n* Remove url regex from test\r\n\r\n* Update snap\r\n\r\n* Clean up test code\r\n\r\n* Remove comment about home page URL\r\n\r\n* Change canSubmit check to getter\r\n\r\n* Fix form submit button not re-enabling on error\r\n\r\n* Add name pattern validator to front-end\r\n\r\n* Fix snapshot","fileTypesAndContributionMap":{"java":{"insertions":40,"deletions":0},"scss":{"insertions":4,"deletions":0},"html":{"insertions":48,"deletions":30},"ts":{"insertions":153,"deletions":53}}}]},{"date":"2024-04-09","commitResults":[{"hash":"1e9ccb091fac81793a93c460e017c076b797c66b","isMergeCommit":false,"messageTitle":"[#12048] Migrate AccountRequestsLogicTest (#12780)","messageBody":"* Migrate test cases for AccountRequestsLogic\r\n\r\n* Remove test case\r\n\r\n* Split test cases","fileTypesAndContributionMap":{"java":{"insertions":182,"deletions":0}}},{"hash":"fb0ba194ba1759bc5ce1da0f23ec467bdfed36fe","isMergeCommit":false,"messageTitle":"[#11878] Create reject account request endpoint (#12985)","messageBody":"* Create account request rejection endpoint\r\n\r\n* Add validation\r\n\r\n* Add check for already rejected request when sending email\r\n\r\n* Add integration test cases\r\n\r\n* Set request method to post\r\n\r\n* Fix lint errors\r\n\r\n* Update tests list\r\n\r\n* Update validation check\r\n\r\n* Add test for validation\r\n\r\n* Fix lint errors\r\n\r\n* Fix validation comparison\r\n\r\n* Fix error message test\r\n\r\n* Add email sending\r\n\r\n* Update test cases\r\n\r\n* Refactor reason check code for clarity","fileTypesAndContributionMap":{"java":{"insertions":371,"deletions":3}}}]},{"date":"2024-04-15","commitResults":[{"hash":"bb261f4fdaff9efad9048da9dae71578a11cf09a","isMergeCommit":false,"messageTitle":"[#11878] Remove mention of home page URL from confirmation email (#13030)","messageBody":"","fileTypesAndContributionMap":{"html":{"insertions":3,"deletions":3}}}]},{"date":"2024-04-16","commitResults":[{"hash":"665752c8ff7379ebef441b427093fcbefd8bb561","isMergeCommit":false,"messageTitle":"[#11878] Check if account request is not created by admin before sending email (#13032)","messageBody":"* Add check if admin when creating account request\r\n\r\n* Trim down test case","fileTypesAndContributionMap":{"java":{"insertions":25,"deletions":5}}}]},{"date":"2024-04-17","commitResults":[{"hash":"ab22022dc4511f3f522931c2ab1324de5dbebea9","isMergeCommit":false,"messageTitle":"[#11878] Migrate AccountRequestsLogic unit tests (#13043)","messageBody":"* Add get typical account request method\r\n\r\n* Migrate AccountRequestsLogicTest\r\n\r\n* Remove test for get by email address and institute\r\n\r\n---------\r\n\r\nCo-authored-by: Jay Aljelo Ting \u003c65202977+jayasting98@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":139,"deletions":1}}}]},{"date":"2024-04-18","commitResults":[{"hash":"2cc6ef82fc92e2bc742c39b6c5b337330faf5e62","isMergeCommit":false,"messageTitle":"[#11878] Add SQLI tests (#13047)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":31,"deletions":0}}}]}],"sopa301":[],"mingyuanc":[{"date":"2024-02-07","commitResults":[{"hash":"cc0bf4f77bc293c689f5e721d16aae14f150e152","isMergeCommit":false,"messageTitle":"[#12048] Migrate CreateInstructorAction (#12706)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":257,"deletions":37}}}]},{"date":"2024-02-18","commitResults":[{"hash":"8e757e2125448b07dbc7e46d94e8967c9925da4c","isMergeCommit":false,"messageTitle":"[#12048] Migrate instructor search indexing worker action (#12731)","messageBody":"* Fix lint\r\n\r\n* Migrate instructor search indexing worker action\r\n\r\n* Fix Checkstyle\r\n\r\n* Fix Checkstyle\r\n\r\n* Fix Checkstyle\r\n\r\n* Add testcases\r\n\r\n* Update comparator to Id\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e\r\nCo-authored-by: Nicolas \u003c25302138+NicolasCwy@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":107,"deletions":0}}}]},{"date":"2024-02-19","commitResults":[{"hash":"d6c67fc9dd31c36f196be454a22cce955e1c8229","isMergeCommit":false,"messageTitle":"Add testcases for FeedbackResponseCommentsDbTest (#12755)","messageBody":"* Add CRUD testcases\r\n\r\n* Fix linting\r\n\r\n* Refactor getTypicalComment\r\n\r\n* Amend testDeleteComment testcase\r\n\r\n* Amend testDeleteComment testcase\r\n\r\n* Fix compile error\r\n\r\n* Revert linting changes\r\n\r\n---------\r\n\r\nCo-authored-by: Nicolas \u003c25302138+NicolasCwy@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":156,"deletions":1}}}]},{"date":"2024-03-09","commitResults":[{"hash":"ef31826b7ec1e1308c0e6016ba513e9c6afa3c58","isMergeCommit":false,"messageTitle":"Add testcases for FeedbackResponseCommentsLogicTest (#12769)","messageBody":"* Added testcase\r\n\r\n* Add new testcases\r\n\r\n* Remove dead store\r\n\r\n---------\r\n\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":185,"deletions":0}}}]},{"date":"2024-03-27","commitResults":[{"hash":"0cfadeffbb74c112f2705ade1be7c6b0cf61d51f","isMergeCommit":false,"messageTitle":"[#12048] Migrate Feedback Rank Option E2E test (#12902)","messageBody":"* Initial commit\r\n\r\n* Fix lint\r\n\r\n* Follow convention and add test\r\n\r\n* Change file path\r\n\r\n* Fix requested changes\r\n\r\n* Fixed testcases\r\n\r\n* Fix lint\r\n\r\n* Add deepcopy\r\n\r\n* Fixed e2e test\r\n\r\n---------\r\n\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":154,"deletions":4}}}]},{"date":"2024-04-15","commitResults":[{"hash":"98d9044d7e95ecdaf31f2191f76fa0254ace4f40","isMergeCommit":false,"messageTitle":"Initial commit (#13024)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":2}}}]},{"date":"2024-04-17","commitResults":[{"hash":"f8522866c39bc7d7208f1e3443061b408ef4af9e","isMergeCommit":false,"messageTitle":"[#12048] Fix getSessionResultAction bugs (#13023)","messageBody":"* [#12048] Config prod settings and convenience scripts for non course migration (#12959)\r\n\r\n* Add fields\r\n\r\n* Change based on feedback\r\n\r\n* Add changes\r\n\r\n* Add reverse data migration script for account (#12962)\r\n\r\n* Add changes (#12965)\r\n\r\n* V9 non course migration fix to check extra SQL accounts (#12966)\r\n\r\n* Add changes\r\n\r\n* Add isMarked script\r\n\r\n* Add patch data migration script for usage stats (#12970)\r\n\r\n* Add patch data migration script for usage stats\r\n\r\n* Fix hibernate batch query\r\n\r\n* Revert log\r\n\r\n* Initial commit\r\n\r\n* Revert \"[#12048] Config prod settings and convenience scripts for non course migration (#12959)\"\r\n\r\nThis reverts commit 6df39c19108de833624992c56e09f75960ff65c1.\r\n\r\n* Revert \"Add reverse data migration script for account (#12962)\"\r\n\r\nThis reverts commit 05099825679c31ace2872860a358288ec0bdacc3.\r\n\r\n* Revert \"V9 non course migration fix to check extra SQL accounts (#12966)\"\r\n\r\nThis reverts commit 611b2cc3682b11e75c3631a8843aa030e8a34b9d.\r\n\r\n* Revert \"Add patch data migration script for usage stats (#12970)\"\r\n\r\nThis reverts commit 239ae85a5bd2d40ea4464b6e47a626f76913a6e1.\r\n\r\n* Revert \"Add changes (#12965)\"\r\n\r\nThis reverts commit 1292dbe995e50b9c3fe1bf5ec377e92f6f751ec2.\r\n\r\n* Fix lint\r\n\r\n* Retry lint\r\n\r\n---------\r\n\r\nCo-authored-by: FergusMok \u003cFergusMok1@gmail.com\u003e\r\nCo-authored-by: Zhang Ziqing \u003c69516975+ziqing26@users.noreply.github.com\u003e\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":33,"deletions":5}}}]}],"jingting1412":[{"date":"2024-03-16","commitResults":[{"hash":"2d1080682a62f32981cb4b0edd497f0928bcd83b","isMergeCommit":false,"messageTitle":"[#12271] Docs: Upgrade to latest MarkBind version (#12893)","messageBody":"* Upgrade layouts\r\n\r\n* Add breadcrumb for pages\r\n\r\n* Fix puml diagrams\r\n\r\n* Make navbar sticky\r\n\r\n* Upgrade markbind version\r\n\r\n* Upgrade markbind\r\n\r\n* Upgrade markbind version\r\n\r\n* Update pages\r\n\r\n* Revert \"Upgrade markbind version\"\r\n\r\nThis reverts commit 76b2d44f3bc57d5bfdf03fdb2c01cb92a186105f.\r\n\r\n---------\r\n\r\nCo-authored-by: Zhang Ziqing \u003c69516975+ziqing26@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"md":{"insertions":43,"deletions":44}}}]}],"KevinEyo1":[],"LamJiuFong":[],"yiwen101":[],"jonasongg":[],"domoberzin":[{"date":"2024-02-04","commitResults":[{"hash":"333f582460d9b1ba7174321de3ea3113cc71c9db","isMergeCommit":false,"messageTitle":"[#12048] Migrate enroll students action (#12715)","messageBody":"* Modify student entity\r\n\r\n* Add update comment logic\r\n\r\n* Modify logic files for cascading update and creation for student\r\n\r\n* Add database queries for updating student\r\n\r\n* Update EnrollStudentsAction\r\n\r\n* Fix checkstyle\r\n\r\n* Remove extra query for editor update\r\n\r\n* Remove email update logic\r\n\r\n* Update javadocs\r\n\r\n* Copy over logic for Team and Section validation\r\n\r\n* Edit javadocs\r\n\r\n* Change StudentAttributes to Student instead\r\n\r\n* Fix lint issues\r\n\r\n* Fix lint issues\r\n\r\n* Fix component tests and lint\r\n\r\n* Remove ununsed method\r\n\r\n* Fix lint\r\n\r\n* Update validation logic to use Student\r\n\r\n* Update test case\r\n\r\n* Add tests for duplicate team across sections\r\n\r\n* Remove unused methods and add getSection to UsersLogic\r\n\r\n* Fix sorting logic\r\n\r\n* Change getName method calls for section and team\r\n\r\n* Remove unused methods\r\n\r\n* Add more detail to JavaDocs\r\n\r\n* Remove unusued methods\r\n\r\n* Use getCourseId instead of toString\r\n\r\n* Modify test case\r\n\r\n* Revert changes\r\n\r\n* Change toString to getCourseId\r\n\r\n* Update tests to include unregistered student\r\n\r\n* Fix trailing whitespaces","fileTypesAndContributionMap":{"java":{"insertions":875,"deletions":66}}}]},{"date":"2024-02-10","commitResults":[{"hash":"21ae95eab736f4c37933d3fa0fd9bd592c6b92d6","isMergeCommit":false,"messageTitle":"[#12048] Migrate search account requests action (#12726)","messageBody":"* feat: add search account request methods to SQL storage and logic layers\r\n\r\n* feat: migrate SearchAccountRequestsAction to use SQL logic\r\n\r\n* fix: failing tests\r\n\r\n* fix: remove commented line\r\n\r\n* fix: migrate AccountRequestSearch tests\r\n\r\n---------\r\n\r\nCo-authored-by: Dominic Lim \u003c46486515+domlimm@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":347,"deletions":5}}}]},{"date":"2024-02-18","commitResults":[{"hash":"c314aa9f3462f76ac3a3e8d15e58289181b31573","isMergeCommit":false,"messageTitle":"[#12048] Add tests for CoursesLogic (#12746)","messageBody":"* feat: add tests for CoursesLogic\r\n\r\n* fix: verify parameters of mocked logic classes\r\n\r\n* fix: lint issues\r\n\r\n* fix: add additional verification of parameters\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":319,"deletions":2}}}]},{"date":"2024-02-20","commitResults":[{"hash":"daba8ebd1ead324ae4e4b2daba64d2586538a9f5","isMergeCommit":false,"messageTitle":"[#12048] Migrate AccountRequestSearchIndexingWorkerAction (#12757)","messageBody":"* feat: migrate account request search indexing worker action\r\n\r\n* fix: remove datastore logic and old test\r\n\r\n* fix: remove NPE suppress","fileTypesAndContributionMap":{"java":{"insertions":38,"deletions":13}}}]},{"date":"2024-02-24","commitResults":[{"hash":"7a22ab856fb641e0d7897a00e45ed3c5024ab766","isMergeCommit":false,"messageTitle":"[#12048] Fix GetSessionResponseStatsActionIT (#12777)","messageBody":"* Migrate GetSessionResponseStatsAction\r\n\r\n* fix: fix NPE issues\r\n\r\n* fix: remove extra comments\r\n\r\n* fix: remove extra line\r\n\r\n---------\r\n\r\nCo-authored-by: Zhang Ziqing \u003czhangziqing9926@gmail.com\u003e\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e\r\nCo-authored-by: Zhang Ziqing \u003c69516975+ziqing26@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":218,"deletions":15}}},{"hash":"7da77bb9ba38925e675b94d64dc6bff2d7d5bcc1","isMergeCommit":false,"messageTitle":"[#12048] Create IT for GetFeedbackSessionSubmittedGiverSetAction (#12778)","messageBody":"* Migrate GetSessionResponseStatsAction\r\n\r\n* fix: fix NPE issues\r\n\r\n* feat: add IT for GetFeedbackSessionSubmittedGiverSetAction\r\n\r\n* fix: remove extra comment\r\n\r\n* fix: remove duplicate method\r\n\r\n---------\r\n\r\nCo-authored-by: Zhang Ziqing \u003czhangziqing9926@gmail.com\u003e\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e\r\nCo-authored-by: Zhang Ziqing \u003c69516975+ziqing26@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":81,"deletions":3}}}]},{"date":"2024-02-26","commitResults":[{"hash":"500e7421dc31bd884ba6d2ff7a01b6abcabf646b","isMergeCommit":false,"messageTitle":"[#12048] Migrate Admin Notifications E2E Test (#12793)","messageBody":"* feat: add resources for admin notifications e2e test\r\n\r\n* fix: set created at on notification creation\r\n\r\n* feat: migrate admin notifications e2e test\r\n\r\n* fix: remove created at check for notifications\r\n\r\n* fix: remove extra comments\r\n\r\n* fix: remove explicit created at\r\n\r\n* fix: null check for created at\r\n\r\n* fix lint\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e\r\nCo-authored-by: Cedric Ong \u003ccedricongjh@gmail.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":47,"deletions":34}}},{"hash":"203ec245f53c97be136208df3f583bfd6db97f8c","isMergeCommit":false,"messageTitle":"[#12048] Migrate AdminSearchPageE2ETest (#12838)","messageBody":"* migate admin search e2e\r\n\r\n* fix e2e test\r\n\r\n* fix failing tests\r\n\r\n* fix: add put sql document methods\r\n\r\n* fix: add migrated check back in\r\n\r\n* fix: add cleanup method\r\n\r\n* fix: add search document removal for account request\r\n\r\n* fix lint and tests\r\n\r\n* fix: json file formatting\r\n\r\n* fix: init both searchManagers\r\n\r\n* fix: add comments\r\n\r\n* fix: remove notifications field in data file\r\n\r\n---------\r\n\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":201,"deletions":45}}}]},{"date":"2024-03-03","commitResults":[{"hash":"0f9d99069cca05ac16878b0f5e0fa78bf629d96d","isMergeCommit":false,"messageTitle":"[#12048] Add tests for CourseDbIT (#12786)","messageBody":"* feat: add more coverage for methods in CoursesDb\r\n\r\n* fix: add further test cases\r\n\r\n---------\r\n\r\nCo-authored-by: Dominic Lim \u003c46486515+domlimm@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":165,"deletions":4}}}]},{"date":"2024-03-13","commitResults":[{"hash":"ccdb6ccf64330e83bff24d7b93e15f2081c30398","isMergeCommit":false,"messageTitle":"[#12048] Migrate InstructorSearchPageE2ETest (#12891)","messageBody":"* feat: migrate instructor search page e2e test\r\n\r\n* fix: add new line\r\n\r\n* fix axe test\r\n\r\n* remove extra whitespace","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":3}}}]},{"date":"2024-03-27","commitResults":[{"hash":"40613dff7486e2224c1375a218f55f442279a4e9","isMergeCommit":false,"messageTitle":"[#11878] Update Admin Home Page UI for ARF (#12933)","messageBody":"* create component for account request table\r\n\r\n* cherry pick admin home page changes\r\n\r\n* remove testing code\r\n\r\n* fix lint and css issues\r\n\r\n* fix admin home page snaps\r\n\r\n* update admin home snaps\r\n\r\n* remove edit approve and reject components\r\n\r\n* modify css\r\n\r\n* delete edit and reject modal components\r\n\r\n* revert spec file changes\r\n\r\n* integrate new types\r\n\r\n* fix lint\r\n\r\n* use enum for status\r\n\r\n* fix lint\r\n\r\n* fix css lint\r\n\r\n* fix lint\r\n\r\n* fix lint\r\n\r\n* use enum and remove infinite scroll\r\n\r\n* remove approve account request code\r\n\r\n* remove extra div\r\n\r\n* fix url\r\n\r\n* modify comments\r\n\r\n* revert extra formatting\r\n\r\n* remove plural form and use date pipe\r\n\r\n* fix naming\r\n\r\n* fix spec file and update institute formatting\r\n\r\n* fix lint\r\n\r\n* combine institute and country columns","fileTypesAndContributionMap":{"scss":{"insertions":63,"deletions":0},"html":{"insertions":84,"deletions":0},"ts":{"insertions":243,"deletions":9}}}]},{"date":"2024-03-28","commitResults":[{"hash":"561837052d6810ac904eb5cd34454e0cb98fa530","isMergeCommit":false,"messageTitle":"[#11878] Admin Search UI Update for ARF (#12945)","messageBody":"* update admin search page to use acc req component\r\n\r\n* fix selector for e2e test\r\n\r\n* fix spec files and imports\r\n\r\n* update e2e selector\r\n\r\n* fix column numbers","fileTypesAndContributionMap":{"java":{"insertions":5,"deletions":5},"html":{"insertions":2,"deletions":64},"ts":{"insertions":43,"deletions":78}}}]},{"date":"2024-04-05","commitResults":[{"hash":"5779d2f365abad11ed259714c8422bc66f82db1e","isMergeCommit":false,"messageTitle":"[#11878] Create Update Account Request Action (#12982)","messageBody":"* create update action and IT\r\n\r\n* update javadocs\r\n\r\n* update tests\r\n\r\n* add more tests\r\n\r\n* simplify logic\r\n\r\n* remove unused string\r\n\r\n* fix test\r\n\r\n* allow null comments\r\n\r\n* add more tests\r\n\r\n* use EntityNotFoundException\r\n\r\n* cleanup after create account requests test\r\n\r\n* remove unncessary check","fileTypesAndContributionMap":{"java":{"insertions":378,"deletions":0}}}]},{"date":"2024-04-06","commitResults":[{"hash":"4a54001bac3824cc8ac2fb66324d7061151f4504","isMergeCommit":false,"messageTitle":"[#11878] Fix Account Request Update Search Indexing (#12984)","messageBody":"* update account request indexing\r\n\r\n* add methods to test access control\r\n\r\n* refactoring for transactions","fileTypesAndContributionMap":{"java":{"insertions":259,"deletions":28}}}]},{"date":"2024-04-07","commitResults":[{"hash":"62750b08b4ea5169b7098e5071f1d58153152970","isMergeCommit":false,"messageTitle":"[#11878] Add Edit and Approve Account Requests functionality (#12975)","messageBody":"* add edit and approve functionality\r\n\r\n* remove rejection code\r\n\r\n* fix snap\r\n\r\n* integrate endpoint\r\n\r\n* disable approve button for approved requests\r\n\r\n* use comments instead of comment\r\n\r\n* use searchString instead of searchQuery\r\n\r\n* fix snap","fileTypesAndContributionMap":{"scss":{"insertions":0,"deletions":0},"html":{"insertions":42,"deletions":2},"ts":{"insertions":147,"deletions":9}}}]},{"date":"2024-04-09","commitResults":[{"hash":"84ed244ade96870b71346808916568ae41b64b92","isMergeCommit":false,"messageTitle":"[#12048] Migrate AdminSearchPageE2ETest SQL (#12811)","messageBody":"* test e2e changes\r\n\r\n* fix: reduce e2e test json file size\r\n\r\n* fix student key\r\n\r\n* fix course key\r\n\r\n* fix instructor keys\r\n\r\n* fix filepath\r\n\r\n* fix e2e test\r\n\r\n* remove extra data from bundle\r\n\r\n* Add correct removal logic to avoid constraint violation\r\n\r\n* Fix e2e tests and lint\r\n\r\nfix reset google id test\r\n\r\nfix e2e tests\r\n\r\nfix e2e tests\r\n\r\nfix tests\r\n\r\nremove double click\r\n\r\nfix unknown symbol\r\n\r\nadd toast check\r\n\r\nchange toast verification message\r\n\r\nremove toast check\r\n\r\n* fix: add null check\r\n\r\n* move admin search page e2e test to sql cases\r\n\r\n* Rename AdminSearchPageE2ETest_SQLEntities.json to AdminSearchPageE2ETest_SqlEntities.json\r\n\r\n* fix failing test\r\n\r\n* fix: remove extra null check\r\n\r\n* fix: add test to e2e sql xml file\r\n\r\n* fix function call\r\n\r\n* remove unnecessary changes\r\n\r\n* create new file for sql entities\r\n\r\n* revert unnecessary changes\r\n\r\n* remove trailing whitespace\r\n\r\n* add teardown for account requests\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":446,"deletions":11}}},{"hash":"50c87bc8390e6a7c3592e00ef5db575cc66f8fcc","isMergeCommit":false,"messageTitle":"use transactions for reject account request action (#13001)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":53,"deletions":38}}}]},{"date":"2024-04-10","commitResults":[{"hash":"a36ecf7d6996d7e4b468d19eb8c9de42eceb65d3","isMergeCommit":false,"messageTitle":"[#11878] Create Rejection Modal for Account Requests (#12989)","messageBody":"* Create rejection modal\r\n\r\n* fix lint and tests\r\n\r\n* fix placeholders and lint\r\n\r\n* remove title\r\n\r\n* integrate api\r\n\r\n* check undefined title and body\r\n\r\n* fix trailing white spaces\r\n\r\n* fix whitespace\r\n\r\n* change error message\r\n\r\n* re-add account request table on home page\r\n\r\n* replace support email","fileTypesAndContributionMap":{"scss":{"insertions":0,"deletions":0},"html":{"insertions":37,"deletions":2},"ts":{"insertions":147,"deletions":1}}}]},{"date":"2024-04-11","commitResults":[{"hash":"ce75a0a56f69d64a0c4ebcf15cffa78c9ca7b182","isMergeCommit":false,"messageTitle":"[#11878] Add Error Message for Approving Existing Account (#13004)","messageBody":"* add error message for duplicate account request\r\n\r\n* add tests","fileTypesAndContributionMap":{"java":{"insertions":75,"deletions":0}}}]},{"date":"2024-04-12","commitResults":[{"hash":"451a25a53c859e2d5382842450158ea641ec92f7","isMergeCommit":false,"messageTitle":"[#11878] Handle Duplicate Approved Account Requests (#13009)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":52,"deletions":0}}}]},{"date":"2024-04-14","commitResults":[{"hash":"4682dffb71e4566ed72a9e8a7b2b814e8d16f869","isMergeCommit":false,"messageTitle":"[#11878] Add tests for Account Request Table (#12977)","messageBody":"* add component tests for account request table\r\n\r\n* modify tests\r\n\r\n* remove old tests\r\n\r\n* remove comment\r\n\r\n* remove unnecessary code\r\n\r\n* add tests\r\n\r\n* update disabled criteria\r\n\r\n* remove extra builders and update snaps","fileTypesAndContributionMap":{"html":{"insertions":5,"deletions":5},"ts":{"insertions":641,"deletions":197}}}]},{"date":"2024-04-15","commitResults":[{"hash":"f0e2af37f90ed48f0e48c6e3222ae96b6c4eb7f7","isMergeCommit":false,"messageTitle":"[#11878] Fix Approval Email Bug (#13027)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1}}},{"hash":"0f0fd05a3a1a36169972f73abd67da32cfb2ab73","isMergeCommit":false,"messageTitle":"[#11878] Add Toasts (#13028)","messageBody":"* add toasts\r\n\r\n* lint","fileTypesAndContributionMap":{"ts":{"insertions":9,"deletions":1}}},{"hash":"20c29e589224601c5ceace8a656f0c14a33ec36f","isMergeCommit":false,"messageTitle":"fix highlighting and null statuses (#13031)","messageBody":"","fileTypesAndContributionMap":{"html":{"insertions":4,"deletions":4},"ts":{"insertions":1,"deletions":1}}},{"hash":"3dab1dc547f30044b2d6938a5973b9ab34e70159","isMergeCommit":false,"messageTitle":"[#11878] Fix Overlapping Tooltip (#13026)","messageBody":"* fix tooltip\r\n\r\n* re-add removed lines\r\n\r\n* update snap\r\n\r\n* update snaps\r\n\r\n* lint\r\n\r\n* suppress warning\r\n\r\n* lint","fileTypesAndContributionMap":{"scss":{"insertions":3,"deletions":1},"html":{"insertions":2,"deletions":2}}}]},{"date":"2024-04-17","commitResults":[{"hash":"68a4fbfe4052918b322acdbf89144477f677eb22","isMergeCommit":false,"messageTitle":"[#11878] Add Admin E2E Tests (#13020)","messageBody":"* add admin e2e tests\r\n\r\n* remove exception catching and update snaps\r\n\r\n* fix snaps\r\n\r\n* add comment verification\r\n\r\n* fix test","fileTypesAndContributionMap":{"java":{"insertions":293,"deletions":0},"html":{"insertions":1,"deletions":1},"ts":{"insertions":2,"deletions":2}}}]},{"date":"2024-04-18","commitResults":[{"hash":"ce839ab4351aba3036c19afa92edc60cadcbd85f","isMergeCommit":false,"messageTitle":"fix edit (#13056)","messageBody":"Co-authored-by: Zhang Ziqing \u003c69516975+ziqing26@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"ts":{"insertions":24,"deletions":14}}}]}],"asdfghjkxd":[],"yuanxi1":[{"date":"2023-12-28","commitResults":[{"hash":"5de8300549d6b06bd21d38f1d258bdcaebc6c443","isMergeCommit":false,"messageTitle":"[#12663] Instructor\u0027s Student Records Page: Tooltips for comments (#12676)","messageBody":"* Fix comment tooltip causing the text to go into next line\r\n\r\n* Update snapshot test\r\n\r\n---------\r\n\r\nCo-authored-by: YX Z \u003cyxz@YXs-MacBook-Air-2.local\u003e\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e\r\nCo-authored-by: Dominic Lim \u003c46486515+domlimm@users.noreply.github.com\u003e\r\nCo-authored-by: Jason Qiu \u003cjason_qiu@hotmail.com\u003e","fileTypesAndContributionMap":{"html":{"insertions":2,"deletions":2}}}]},{"date":"2024-02-06","commitResults":[{"hash":"f0279fa802b98f5dbf9d92c200168f21aa41ef62","isMergeCommit":false,"messageTitle":"[#12048] Migrate join course action (#12722)","messageBody":"* Add join course for student and instructor to AccountsLogic\r\n\r\n* Update AccountsLogic tests\r\n\r\n* Migrate JoinCourseAction\r\n\r\n* Add JoinCourseActionIT\r\n\r\n* Update to use usersLogic for student update\r\n\r\n* Fix failing IT caused by updates to typicalDataBundle\r\n\r\n* Fix failing IT\r\n\r\n* Remove print statements\r\n\r\n---------\r\n\r\nCo-authored-by: YX Z \u003cyxz@YXs-MacBook-Air-2.local\u003e\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":605,"deletions":12}}}]},{"date":"2024-02-14","commitResults":[{"hash":"33953dc064e3230bf0c27f2b591f5b06e212d8cf","isMergeCommit":false,"messageTitle":"[#12048] Migrate search students action (#12735)","messageBody":"* Migrate search students action and associated logic\r\n\r\n* Add tests for student search\r\n\r\n* Remove old test\r\n\r\n* Restore datastore test\r\n\r\n* Add support for dual db search\r\n\r\n* Suppress NPE warning\r\n\r\n---------\r\n\r\nCo-authored-by: YX Z \u003cyxz@YXs-MacBook-Air-2.local\u003e\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":528,"deletions":5}}}]},{"date":"2024-02-25","commitResults":[{"hash":"a913315da176e03961d0a0a4fae955571a5bf8aa","isMergeCommit":false,"messageTitle":"Add locale for java datetime formatter (#12826)","messageBody":"Co-authored-by: YX Z \u003cyxz@r-154-105-25-172.comp.nus.edu.sg\u003e","fileTypesAndContributionMap":{"java":{"insertions":2,"deletions":1}}}]},{"date":"2024-02-26","commitResults":[{"hash":"7b2a69c88dad53002650c37e12a16ba6e5564281","isMergeCommit":false,"messageTitle":"[#12048] Migrate Notification Banner E2E (#12840)","messageBody":"* Add locale for java datetime formatter\r\n\r\n* Migrate non-course content for NotificationBannerE2ETest\r\n\r\n* Fix linting\r\n\r\n* Fix snapshot test\r\n\r\n---------\r\n\r\nCo-authored-by: YX Z \u003cyxz@r-154-105-25-172.comp.nus.edu.sg\u003e\r\nCo-authored-by: YX Z \u003cyxz@YXs-MacBook-Air-2.local\u003e\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":14,"deletions":14},"html":{"insertions":1,"deletions":1}}}]},{"date":"2024-03-19","commitResults":[{"hash":"a34c3c57b22456de526d5af9a0317d502f44907a","isMergeCommit":false,"messageTitle":"[#12048] Migrate InstructorNotificationsPageE2E (#12906)","messageBody":"* Migrate InstructorNotificationsPageE2E\r\n\r\n* Fix unsaved transient entity error\r\n\r\n* Fix lint\r\n\r\n* Fix lint\r\n\r\n* Update testng xml\r\n\r\n---------\r\n\r\nCo-authored-by: YX Z \u003cyxz@YXs-MacBook-Air-2.local\u003e\r\nCo-authored-by: YX Z \u003cyxz@r-121-109-25-172.comp.nus.edu.sg\u003e\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":202,"deletions":0}}}]}],"supermii2":[],"marquestye":[{"date":"2024-02-25","commitResults":[{"hash":"3191fd1c0a471a34b3dbbfae8e305946280b0d42","isMergeCommit":false,"messageTitle":"[#12048] Migrate UpdateStudentAction (#12727)","messageBody":"* Modify student entity\r\n\r\n* Add update comment logic\r\n\r\n* Modify logic files for cascading update and creation for student\r\n\r\n* Add database queries for updating student\r\n\r\n* Update EnrollStudentsAction\r\n\r\n* Fix checkstyle\r\n\r\n* Remove extra query for editor update\r\n\r\n* Remove email update logic\r\n\r\n* Update javadocs\r\n\r\n* Copy over logic for Team and Section validation\r\n\r\n* Edit javadocs\r\n\r\n* Change StudentAttributes to Student instead\r\n\r\n* Fix lint issues\r\n\r\n* Fix lint issues\r\n\r\n* Fix component tests and lint\r\n\r\n* Remove ununsed method\r\n\r\n* Fix lint\r\n\r\n* Update validation logic to use Student\r\n\r\n* Update test case\r\n\r\n* Add tests for duplicate team across sections\r\n\r\n* Migrate UpdateStudentAction and add tests\r\n\r\n* Remove resetStudentGoogleId\r\n\r\n* Refactor updateStudentCascade\r\n\r\n* Fix integration tests\r\n\r\n* Fix checkstyle\r\n\r\n* Fix integration tests\r\n\r\n* Fix lint\r\n\r\n* Add persist verification in test\r\n\r\n* Fix test\r\n\r\n* Fix tests\r\n\r\n* Remove unused method\r\n\r\n* Fix test\r\n\r\n* Fix test\r\n\r\n* Fix test\r\n\r\n* Split UpdateStudentActionIT into multiple testcases\r\n\r\n* Add test separators\r\n\r\n---------\r\n\r\nCo-authored-by: Dominic Berzin \u003cberzindominic@gmail.com\u003e\r\nCo-authored-by: domoberzin \u003c74132255+domoberzin@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":522,"deletions":36}}}]},{"date":"2024-03-10","commitResults":[{"hash":"bf5a2ac8506bc49ecd1c479b634991a6380452e3","isMergeCommit":false,"messageTitle":"[#12048] Add tests for FeedbackQuestionsDb (#12759)","messageBody":"* Add verification during feedback question creation\r\n\r\n* Add tests for FeedbackQuestionsDb\r\n\r\n* Fix missing javadocs\r\n\r\n* Fix feedback question creation logic\r\n\r\n* Add test\r\n\r\n* Reuse error message\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e\r\nCo-authored-by: Zhang Ziqing \u003c69516975+ziqing26@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":169,"deletions":17}}}]},{"date":"2024-04-09","commitResults":[{"hash":"b9ccd4fb42a005822ba785a396699cf2a5005cec","isMergeCommit":false,"messageTitle":"[#12048] Migrate FeedbackNumScaleQuestionE2ETest (#12940)","messageBody":"* Migrate num scale e2e\r\n\r\n* Fix team id\r\n\r\n* Fix bugs","fileTypesAndContributionMap":{"java":{"insertions":147,"deletions":0}}}]}],"nknguyenhc":[{"date":"2023-12-25","commitResults":[{"hash":"a64f6605aec32e664527d017f7e2d9946010d4b2","isMergeCommit":false,"messageTitle":"[#12654] Instructor Edit Session Page: Bug in Grace Period Tooltip (#12675)","messageBody":"* Fix grace period tooltip\r\n\r\n* Update test cases\r\n\r\n---------\r\n\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e\r\nCo-authored-by: Dominic Lim \u003c46486515+domlimm@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"html":{"insertions":2,"deletions":2}}}]}],"Arif-Khalid":[],"NereusWB922":[],"dishenggg":[{"date":"2024-02-04","commitResults":[{"hash":"c8723d594557a0afdc117d679b9b4dfa41b32b61","isMergeCommit":false,"messageTitle":"[#12048] Migrate GetCourseJoinStatusAction (#12713)","messageBody":"* Migrate get course join status\r\n\r\n* Add IT for getCourseJoinStatusAction\r\n\r\n* Fix checkstyle\r\n\r\n* Update testcases\r\n\r\n* Update testcases\r\n\r\n* Refactor code\r\n\r\n---------\r\n\r\nCo-authored-by: dishenggg \u003cdisheng05@gmail.com\u003e\r\nCo-authored-by: FergusMok \u003cFergusMok1@gmail.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":262,"deletions":25}}}]},{"date":"2024-02-11","commitResults":[{"hash":"13c58fd88627b5fd90ca5aa5d605a6d2420cf128","isMergeCommit":false,"messageTitle":"[#12048] Migrate PutDataBundleDocumentsAction (#12734)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":50,"deletions":4}}}]},{"date":"2024-02-18","commitResults":[{"hash":"5bfb84739674612f2d8d4f7c9d0202f5f2dbab83","isMergeCommit":false,"messageTitle":"Merge restore deleted to db (#12751)","messageBody":"Co-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":0}}}]},{"date":"2024-02-22","commitResults":[{"hash":"5b3a96fdde95d6ab3fef6b861c2867efe92d15f4","isMergeCommit":false,"messageTitle":"[#12048] Add test cases for FeedbackSessionsDb (#12752)","messageBody":"* Add test for FeedbackSessionsDb\r\n\r\n* update test cases\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":253,"deletions":2}}}]},{"date":"2024-02-24","commitResults":[{"hash":"8125d5353307b0d225e90fc671c3f7420e8602a4","isMergeCommit":false,"messageTitle":"migrate instructor notif e2e (#12792)","messageBody":"Co-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":28,"deletions":21}}}]},{"date":"2024-03-13","commitResults":[{"hash":"2ad2242e44748557db65217b87dda052cbf55f7c","isMergeCommit":false,"messageTitle":"[#12048] Add tests for FeedbackQuestionsDbIT (#12781)","messageBody":"* Add verification during feedback question creation\r\n\r\n* Add tests for FeedbackQuestionsDb\r\n\r\n* Fix missing javadocs\r\n\r\n* Fix feedback question creation logic\r\n\r\n* Add test\r\n\r\n* Reuse error message\r\n\r\n* Add tests for FeedbackQuestionsDbIT\r\n\r\n---------\r\n\r\nCo-authored-by: marquestye \u003ce0360581@u.nus.edu\u003e\r\nCo-authored-by: Wei Qing \u003c48304907+weiquu@users.noreply.github.com\u003e\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":72,"deletions":0}}}]},{"date":"2024-03-18","commitResults":[{"hash":"17866eb4b93c3d773296ea2022cbf3ad96585a16","isMergeCommit":false,"messageTitle":"[#11843] Create FeedbackSessionLog entity and cron job action (#12895)","messageBody":"* Create FeedbackSessionLog entity\r\n\r\n* fix lint\r\n\r\n* Create UpdateFeedbackSessionLogsAction\r\n\r\n* Sort query results from logging service\r\n\r\n* Update type of feedbackSessionLogType\r\n\r\n* Fix naming\r\n\r\n* Fix enum in entity\r\n\r\n* Update filter to differentiate by session\r\n\r\n* Add Uri Info\r\n\r\n* Add tests\r\n\r\n* Update test case\r\n\r\n* Update to getOrderedFeedbackSessionLogs","fileTypesAndContributionMap":{"java":{"insertions":426,"deletions":11}}}]},{"date":"2024-03-19","commitResults":[{"hash":"4dc0c6deff8108eba7be7d85ccdd2f770d2b1a8e","isMergeCommit":false,"messageTitle":"[#12048] Migrate FeedbackMsqQuestionE2ETest (#12904)","messageBody":"* Migrate test\r\n\r\n* Update test\r\n\r\n* Update sql json\r\n\r\n* fix lint\r\n\r\n* Fix lint\r\n\r\n* Update json and add test to xml\r\n\r\n* Revert \"Fix lint\"\r\n\r\nThis reverts commit f767b5233dc280290b31bc6e669b173d0befd26d.\r\n\r\n* Revert \"Update sql json\"\r\n\r\nThis reverts commit 45744750bb262c3537d5628e9beef1289e163fb6.\r\n\r\n* Fix xml\r\n\r\n* Change to use makeDeepCopy\r\n\r\n* sort questions\r\n\r\n* fix verifyEquals method\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e\r\nCo-authored-by: Cedric Ong \u003ccedricong99@gmail.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":217,"deletions":4}}}]},{"date":"2024-03-27","commitResults":[{"hash":"e51132e3c4f2c694c60ac53e3f4a2dd973f9c1c9","isMergeCommit":false,"messageTitle":"[#12048] Migrate FeedbackMcqQuestionE2ETest (#12820)","messageBody":"* Migrate MCQ E2E\r\n\r\n* Fix lint\r\n\r\n* Fix lint\r\n\r\n* Update xml\r\n\r\n---------\r\n\r\nCo-authored-by: Cedric Ong \u003c67156011+cedricongjh@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":166,"deletions":1}}}]},{"date":"2024-03-28","commitResults":[{"hash":"ccad41b26b4c62529fda29bc2d4b556e7098c356","isMergeCommit":false,"messageTitle":"[#11843] Create Logic and Db layer for FeedbackSessionLogs (#12914)","messageBody":"* Create FeedbackSessionLog entity\r\n\r\n* fix lint\r\n\r\n* Create UpdateFeedbackSessionLogsAction\r\n\r\n* Sort query results from logging service\r\n\r\n* Update type of feedbackSessionLogType\r\n\r\n* Fix naming\r\n\r\n* Fix enum in entity\r\n\r\n* Update filter to differentiate by session\r\n\r\n* Add Uri Info\r\n\r\n* Add tests\r\n\r\n* Update test case\r\n\r\n* Update to getOrderedFeedbackSessionLogs\r\n\r\n* Create skeleton\r\n\r\n* Implement logic and db layer\r\n\r\n* fix lint\r\n\r\n* Update entity\r\n\r\n* Fix tests\r\n\r\n* Fix bugs and optimize action\r\n\r\n* Prevent courseId from being null\r\n\r\n* Update GCP logs to store ids\r\n\r\n* Fix tests\r\n\r\n* Update action to use reference\r\n\r\n* Add some error handling\r\n\r\n* Fix tests\r\n\r\n* Add ids to api output","fileTypesAndContributionMap":{"java":{"insertions":1055,"deletions":124}}}]},{"date":"2024-04-05","commitResults":[{"hash":"a98630d6fe89136c4953bba2fd7b887e2e57b011","isMergeCommit":false,"messageTitle":"[#11843] Update GetFeedbackSessionLogsAction to use SQL db (#12938)","messageBody":"* Create FeedbackSessionLog entity\r\n\r\n* fix lint\r\n\r\n* Create UpdateFeedbackSessionLogsAction\r\n\r\n* Sort query results from logging service\r\n\r\n* Update type of feedbackSessionLogType\r\n\r\n* Fix naming\r\n\r\n* Fix enum in entity\r\n\r\n* Update filter to differentiate by session\r\n\r\n* Add Uri Info\r\n\r\n* Add tests\r\n\r\n* Update test case\r\n\r\n* Update to getOrderedFeedbackSessionLogs\r\n\r\n* Create skeleton\r\n\r\n* Implement logic and db layer\r\n\r\n* fix lint\r\n\r\n* Update entity\r\n\r\n* Fix tests\r\n\r\n* Update action to use fslDb\r\n\r\n* Fix tests\r\n\r\n* Update DbIT to use databundle\r\n\r\n* Fix bugs and optimize action\r\n\r\n* Prevent courseId from being null\r\n\r\n* Update GCP logs to store ids\r\n\r\n* Fix tests\r\n\r\n* Update action to use reference\r\n\r\n* Add some error handling\r\n\r\n* Fix tests\r\n\r\n* Add ids to api output\r\n\r\n* Fix lint\r\n\r\n* Update cron.yaml\r\n\r\n* Tidy up code\r\n\r\n* Update comments","fileTypesAndContributionMap":{"java":{"insertions":657,"deletions":169}}}]},{"date":"2024-04-09","commitResults":[{"hash":"cfff21db4a28c169de343df4f24198923e250b8e","isMergeCommit":false,"messageTitle":"Remove unused modal (#12998)","messageBody":"","fileTypesAndContributionMap":{"html":{"insertions":0,"deletions":68},"ts":{"insertions":5,"deletions":364}}}]},{"date":"2024-04-11","commitResults":[{"hash":"6de9607e48ecd10b38c87d1b1f42aaa2379d9440","isMergeCommit":false,"messageTitle":"[#11878] Update DeleteAccountRequest to reference by ID (#12997)","messageBody":"* Update to delete by id\r\n\r\n* fix lint\r\n\r\n* fix lint\r\n\r\n* fix frontend lint","fileTypesAndContributionMap":{"java":{"insertions":22,"deletions":21},"ts":{"insertions":5,"deletions":7}}},{"hash":"e0beb08e5c1ef5e726e6f21ba87a2a7213290d26","isMergeCommit":false,"messageTitle":"[#11878] Update ResetAccountRequest to reference by ID (#13002)","messageBody":"* Update reset to reference by id\r\n\r\n* fix comments","fileTypesAndContributionMap":{"java":{"insertions":17,"deletions":16},"ts":{"insertions":5,"deletions":7}}}]},{"date":"2024-04-13","commitResults":[{"hash":"8d506a13d6a11feb0d7129b1c2563e82b7b5527d","isMergeCommit":false,"messageTitle":"[#11843] Update front end for session activity logs (#12973)","messageBody":"* Create FeedbackSessionLog entity\r\n\r\n* fix lint\r\n\r\n* Create UpdateFeedbackSessionLogsAction\r\n\r\n* Sort query results from logging service\r\n\r\n* Update type of feedbackSessionLogType\r\n\r\n* Fix naming\r\n\r\n* Fix enum in entity\r\n\r\n* Update filter to differentiate by session\r\n\r\n* Add Uri Info\r\n\r\n* Add tests\r\n\r\n* Update test case\r\n\r\n* Update to getOrderedFeedbackSessionLogs\r\n\r\n* Create skeleton\r\n\r\n* Implement logic and db layer\r\n\r\n* fix lint\r\n\r\n* Update entity\r\n\r\n* Fix tests\r\n\r\n* Update action to use fslDb\r\n\r\n* Fix tests\r\n\r\n* Update DbIT to use databundle\r\n\r\n* Fix bugs and optimize action\r\n\r\n* Prevent courseId from being null\r\n\r\n* Update GCP logs to store ids\r\n\r\n* Fix tests\r\n\r\n* Update action to use reference\r\n\r\n* Add some error handling\r\n\r\n* Fix tests\r\n\r\n* Add ids to api output\r\n\r\n* Fix lint\r\n\r\n* Update front end\r\n\r\n* Update cron.yaml\r\n\r\n* Update front end\r\n\r\n* Fix result display\r\n\r\n* Tidy up code\r\n\r\n* Update actions to use getUuid\r\n\r\n* Fix formatting\r\n\r\n* Fix bug\r\n\r\n* Add buttons to access page\r\n\r\n* Shift logging\r\n\r\n* fiox bug\r\n\r\n* fix fe tests\r\n\r\n* Fix bug\r\n\r\n* Fix tests\r\n\r\n* Add IT\r\n\r\n* remove email and fsname\r\n\r\n* fix ts lint\r\n\r\n* Fix status message\r\n\r\n* Remove front end error messages\r\n\r\n* Add assertion fortests\r\n\r\n* Fix migrated check\r\n\r\n* Change to use id\r\n\r\n* Update javadoc\r\n\r\n* Change cron job to 15 mins intervals\r\n\r\n* fix tests\r\n\r\n* fix fe bug\r\n\r\n* Add delay note\r\n\r\n* Update to use const\r\n\r\n* Add const\r\n\r\n* fix fe tests","fileTypesAndContributionMap":{"java":{"insertions":440,"deletions":225},"html":{"insertions":15,"deletions":9},"ts":{"insertions":179,"deletions":74}}}]},{"date":"2024-04-16","commitResults":[{"hash":"16f776768a3b4a6e24c2b0673993e4fce1afb8a3","isMergeCommit":false,"messageTitle":"[#11878] Request Page E2E (#13015)","messageBody":"* Add E2E skeleton\r\n\r\n* Fix test and lint\r\n\r\n* Add verifyEmailSent\r\n\r\n* fix fe tests","fileTypesAndContributionMap":{"java":{"insertions":125,"deletions":0},"html":{"insertions":2,"deletions":2}}}]},{"date":"2024-04-17","commitResults":[{"hash":"3915b8c5684bfb77087c9b334468b0960965d6e5","isMergeCommit":false,"messageTitle":"Remove method from logic and db (#13044)","messageBody":"","fileTypesAndContributionMap":{"java":{"insertions":0,"deletions":31}}}]},{"date":"2024-04-18","commitResults":[{"hash":"9a51e2ae1348baac90d5e704a49ecb58d7ca9064","isMergeCommit":false,"messageTitle":"[#11843] Fix front end bugs (#13037)","messageBody":"* Fix notViewedSince\r\n\r\n* Update disclaimer\r\n\r\n* Change disclaimer message\r\n\r\n* Fix view result message\r\n\r\n* Fix not viewed since message","fileTypesAndContributionMap":{"html":{"insertions":2,"deletions":1},"ts":{"insertions":14,"deletions":12}}}]}],"MadLamprey":[],"Tim-Siu":[{"date":"2023-12-22","commitResults":[{"hash":"fdfdded21b473d79468a263a61b32985cce72ed3","isMergeCommit":false,"messageTitle":"[#3942] Instructor\u0027s Student Records Page: Feedback session panel chevron barely visible #12668 (#12673)","messageBody":"* Fix chevron color issue\r\n\r\n* Replace property binding with static value assignation","fileTypesAndContributionMap":{"html":{"insertions":1,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"xenosf":{"java":3735,"js":0,"scss":31,"md":0,"py":0,"tag":0,"html":363,"ts":331},"sopa301":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"mingyuanc":{"java":851,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"jingting1412":{"java":0,"js":0,"scss":0,"md":42,"py":0,"tag":0,"html":0,"ts":0},"KevinEyo1":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"LamJiuFong":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"yiwen101":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"jonasongg":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"domoberzin":{"java":3240,"js":0,"scss":65,"md":0,"py":0,"tag":0,"html":159,"ts":1183},"asdfghjkxd":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"yuanxi1":{"java":1309,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":3,"ts":0},"supermii2":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"marquestye":{"java":819,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"nknguyenhc":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":2,"ts":0},"Arif-Khalid":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"NereusWB922":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"dishenggg":{"java":3323,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":17,"ts":197},"MadLamprey":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":0,"ts":0},"Tim-Siu":{"java":0,"js":0,"scss":0,"md":0,"py":0,"tag":0,"html":1,"ts":0}},"authorContributionVariance":{"xenosf":52102.08,"sopa301":0.0,"mingyuanc":1263.081,"jingting1412":53.678123,"KevinEyo1":0.0,"LamJiuFong":0.0,"yiwen101":0.0,"jonasongg":0.0,"domoberzin":19354.154,"asdfghjkxd":0.0,"yuanxi1":4948.0444,"supermii2":0.0,"marquestye":2584.9875,"nknguyenhc":0.11346941,"Arif-Khalid":0.0,"NereusWB922":0.0,"dishenggg":24359.678,"MadLamprey":0.0,"Tim-Siu":0.028367352},"authorDisplayNameMap":{"xenosf":"XENO..NONG","sopa301":"POON..RYAN","mingyuanc":"CHIN..YUAN","jingting1412":"WANG..TING","KevinEyo1":"EYO ..EVIN","LamJiuFong":"LAM ..FONG","yiwen101":"WANG..IWEN","jonasongg":"JONA.. WEI","domoberzin":"DOMI.. GIN","asdfghjkxd":"GEOR.. YAO","yuanxi1":"ZHU ..ANXI","supermii2":"ALVI..S NG","marquestye":"TYE ..QUES","nknguyenhc":"NGUY..UYEN","Arif-Khalid":"ARIF..ALID","NereusWB922":"NERE.. BIN","dishenggg":"YEO ..HENG","MadLamprey":"MISR..ITYA","Tim-Siu":"XU S..UYAO"}} diff --git a/archive.zip b/archive.zip index c0a83ad..a7db2c4 100644 Binary files a/archive.zip and b/archive.zip differ diff --git a/markbind_markbind_master/authorship.json b/markbind_markbind_master/authorship.json index 2a917e1..ace4ec5 100644 --- a/markbind_markbind_master/authorship.json +++ b/markbind_markbind_master/authorship.json @@ -1 +1 @@ -[{"path":".github/workflows/ci.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"name: CI"},{"lineNumber":2,"author":{"gitId":"-"},"content":"on:"},{"lineNumber":3,"author":{"gitId":"-"},"content":" push:"},{"lineNumber":4,"author":{"gitId":"-"},"content":" branches:"},{"lineNumber":5,"author":{"gitId":"-"},"content":" - master"},{"lineNumber":6,"author":{"gitId":"-"},"content":" tags:"},{"lineNumber":7,"author":{"gitId":"-"},"content":" - \u0027v[0-9]+.[0-9]+.[0-9]+\u0027"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pull_request:"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"concurrency:"},{"lineNumber":11,"author":{"gitId":"-"},"content":" group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}"},{"lineNumber":12,"author":{"gitId":"-"},"content":" cancel-in-progress: true"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"jobs:"},{"lineNumber":15,"author":{"gitId":"-"},"content":" test:"},{"lineNumber":16,"author":{"gitId":"-"},"content":" strategy:"},{"lineNumber":17,"author":{"gitId":"-"},"content":" matrix:"},{"lineNumber":18,"author":{"gitId":"-"},"content":" platform: [ubuntu-latest, macos-latest, windows-latest]"},{"lineNumber":19,"author":{"gitId":"-"},"content":" runs-on: ${{ matrix.platform }}"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" permissions:"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" contents: read"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" steps:"},{"lineNumber":24,"author":{"gitId":"-"},"content":" - uses: actions/checkout@v3"},{"lineNumber":25,"author":{"gitId":"-"},"content":" - uses: actions/setup-node@v3"},{"lineNumber":26,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":27,"author":{"gitId":"-"},"content":" node-version: \u002716\u0027"},{"lineNumber":28,"author":{"gitId":"-"},"content":" - name: Install Graphviz"},{"lineNumber":29,"author":{"gitId":"-"},"content":" uses: tlylt/install-graphviz@v1"},{"lineNumber":30,"author":{"gitId":"-"},"content":" - name: Install Java"},{"lineNumber":31,"author":{"gitId":"-"},"content":" uses: actions/setup-java@v3"},{"lineNumber":32,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":33,"author":{"gitId":"-"},"content":" java-version: \u002711\u0027"},{"lineNumber":34,"author":{"gitId":"-"},"content":" distribution: \u0027temurin\u0027"},{"lineNumber":35,"author":{"gitId":"-"},"content":" - run: npm run setup"},{"lineNumber":36,"author":{"gitId":"-"},"content":" - run: npm run test"},{"lineNumber":37,"author":{"gitId":"-"},"content":" - name: Upload coverage report to Codecov"},{"lineNumber":38,"author":{"gitId":"-"},"content":" uses: codecov/codecov-action@v3"},{"lineNumber":39,"author":{"gitId":"-"},"content":" env:"},{"lineNumber":40,"author":{"gitId":"-"},"content":" CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}"},{"lineNumber":41,"author":{"gitId":"-"},"content":" check-docs:"},{"lineNumber":42,"author":{"gitId":"-"},"content":" runs-on: ubuntu-latest"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" permissions:"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" contents: read"},{"lineNumber":45,"author":{"gitId":"-"},"content":" steps:"},{"lineNumber":46,"author":{"gitId":"-"},"content":" - uses: actions/checkout@v3"},{"lineNumber":47,"author":{"gitId":"-"},"content":" - uses: actions/setup-node@v3"},{"lineNumber":48,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":49,"author":{"gitId":"-"},"content":" node-version: \u002716\u0027"},{"lineNumber":50,"author":{"gitId":"-"},"content":" - name: Install Graphviz"},{"lineNumber":51,"author":{"gitId":"-"},"content":" uses: tlylt/install-graphviz@v1"},{"lineNumber":52,"author":{"gitId":"-"},"content":" - name: Install Java"},{"lineNumber":53,"author":{"gitId":"-"},"content":" uses: actions/setup-java@v3"},{"lineNumber":54,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":55,"author":{"gitId":"-"},"content":" java-version: \u002711\u0027"},{"lineNumber":56,"author":{"gitId":"-"},"content":" distribution: \u0027temurin\u0027"},{"lineNumber":57,"author":{"gitId":"-"},"content":" - run: npm run setup"},{"lineNumber":58,"author":{"gitId":"-"},"content":" - run: npm run build:web"},{"lineNumber":59,"author":{"gitId":"-"},"content":" - name: Build MarkBind docs (UG + DG)"},{"lineNumber":60,"author":{"gitId":"-"},"content":" run: npm run build:docs"},{"lineNumber":61,"author":{"gitId":"-"},"content":" - name: Check build log"},{"lineNumber":62,"author":{"gitId":"-"},"content":" run: |"},{"lineNumber":63,"author":{"gitId":"-"},"content":" log_file\u003d\"docs/_markbind/logs/markbind-$(date +\u0027%Y-%m-%d\u0027).log\""},{"lineNumber":64,"author":{"gitId":"-"},"content":" pattern\u003d\"^[0-9T:.Z-]+ - (warn|error):\""},{"lineNumber":65,"author":{"gitId":"-"},"content":" "},{"lineNumber":66,"author":{"gitId":"-"},"content":" if grep -q -E \"$pattern\" \"$log_file\"; then"},{"lineNumber":67,"author":{"gitId":"-"},"content":" printf \"The following issues were found when building the documentation:\\n\""},{"lineNumber":68,"author":{"gitId":"-"},"content":" grep -E \"$pattern\" \"$log_file\""},{"lineNumber":69,"author":{"gitId":"-"},"content":" exit 1"},{"lineNumber":70,"author":{"gitId":"-"},"content":" fi"},{"lineNumber":71,"author":{"gitId":"-"},"content":" deploy-docs:"},{"lineNumber":72,"author":{"gitId":"-"},"content":" needs: test"},{"lineNumber":73,"author":{"gitId":"-"},"content":" # disabled on forks"},{"lineNumber":74,"author":{"gitId":"-"},"content":" if: github.event_name \u003d\u003d \u0027push\u0027 \u0026\u0026 github.repository \u003d\u003d \u0027MarkBind/markbind\u0027"},{"lineNumber":75,"author":{"gitId":"-"},"content":" runs-on: ubuntu-latest"},{"lineNumber":76,"author":{"gitId":"-"},"content":" env:"},{"lineNumber":77,"author":{"gitId":"-"},"content":" GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}"},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":" permissions:"},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":" contents: read"},{"lineNumber":80,"author":{"gitId":"-"},"content":" steps:"},{"lineNumber":81,"author":{"gitId":"-"},"content":" - uses: actions/checkout@v3"},{"lineNumber":82,"author":{"gitId":"-"},"content":" - uses: actions/setup-node@v3"},{"lineNumber":83,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":84,"author":{"gitId":"-"},"content":" node-version: \u002716\u0027"},{"lineNumber":85,"author":{"gitId":"-"},"content":" - name: Install Graphviz"},{"lineNumber":86,"author":{"gitId":"-"},"content":" uses: tlylt/install-graphviz@v1"},{"lineNumber":87,"author":{"gitId":"-"},"content":" - name: Install Java"},{"lineNumber":88,"author":{"gitId":"-"},"content":" uses: actions/setup-java@v3"},{"lineNumber":89,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":90,"author":{"gitId":"-"},"content":" java-version: \u002711\u0027"},{"lineNumber":91,"author":{"gitId":"-"},"content":" distribution: \u0027temurin\u0027"},{"lineNumber":92,"author":{"gitId":"-"},"content":" - run: npm run setup"},{"lineNumber":93,"author":{"gitId":"-"},"content":" - name: Deploy DG on any commit to master, to markbind.org/devdocs"},{"lineNumber":94,"author":{"gitId":"-"},"content":" run: \u003e-"},{"lineNumber":95,"author":{"gitId":"-"},"content":" npm run build:web \u0026\u0026"},{"lineNumber":96,"author":{"gitId":"-"},"content":" npm run deploy:dg"},{"lineNumber":97,"author":{"gitId":"-"},"content":" - name: Deploy UG on release, to markbind.org"},{"lineNumber":98,"author":{"gitId":"-"},"content":" if: github.ref_type \u003d\u003d \u0027tag\u0027"},{"lineNumber":99,"author":{"gitId":"-"},"content":" run: npm run deploy:ug"},{"lineNumber":100,"author":{"gitId":"-"},"content":" - name: Check deploy log"},{"lineNumber":101,"author":{"gitId":"-"},"content":" run: |"},{"lineNumber":102,"author":{"gitId":"-"},"content":" log_file\u003d\"docs/_markbind/logs/markbind-$(date +\u0027%Y-%m-%d\u0027).log\""},{"lineNumber":103,"author":{"gitId":"-"},"content":" pattern\u003d\"^[0-9T:.Z-]+ - error:\""},{"lineNumber":104,"author":{"gitId":"-"},"content":" "},{"lineNumber":105,"author":{"gitId":"-"},"content":" if grep -q -E \"$pattern\" \"$log_file\"; then"},{"lineNumber":106,"author":{"gitId":"-"},"content":" printf \"The following issues were found when deploying the documentation:\\n\""},{"lineNumber":107,"author":{"gitId":"-"},"content":" grep -E \"$pattern\" \"$log_file\""},{"lineNumber":108,"author":{"gitId":"-"},"content":" exit 1"},{"lineNumber":109,"author":{"gitId":"-"},"content":" fi"}],"authorContributionMap":{"KevinEyo1":6,"-":103}},{"path":".github/workflows/new-contributor.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"name: New Contributor Action"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"on: "},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" pull_request_target:"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" types: [closed]"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"concurrency:"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":" group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" cancel-in-progress: true"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"jobs:"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" check-new-contributor:"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" if: ${{ github.event.pull_request.merged }}"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" runs-on: ubuntu-latest"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" permissions:"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" pull-requests: write"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" steps:"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" - name: Check new contributor"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" uses: actions/github-script@v7"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" with:"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" script: |"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" const prAuthor \u003d context.payload.pull_request.user.login;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" const prMerger \u003d context.payload.pull_request.merged_by.login;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" const repoOwner \u003d context.repo.owner;"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" const repoName \u003d context.repo.repo;"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":" const currentPR \u003d context.payload.pull_request.number;"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":" const previouslyMergedPRsByAuthor \u003d await github.paginate("},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" github.rest.pulls.list,"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" owner: repoOwner,"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" repo: repoName,"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":" state: \u0027closed\u0027,"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":" per_page: 100"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" (response) \u003d\u003e response.data.filter(pr \u003d\u003e pr.merged_at !\u003d null \u0026\u0026 pr.user.login \u003d\u003d\u003d prAuthor \u0026\u0026 pr.number !\u003d\u003d currentPR)"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" );"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" if (previouslyMergedPRsByAuthor.length \u003d\u003d 0) {"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" const welcomeMessage \u003d `**Welcome**, @${prAuthor}! 🎉 Thank you for your contribution to the MarkBind project!\\n\\n@${prMerger}, please remember to add @${prAuthor} as an official contributor to our repository.\\n\\nSee the full list of contributors [here](https://markbind.org/about.html). ✨`;"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" github.rest.issues.createComment({"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" issue_number: currentPR,"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" owner: repoOwner,"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" repo: repoName,"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" body: welcomeMessage"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" });"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":45}},{"path":".github/workflows/pr-merge.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"name: Pull Request Review Action"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"on:"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" pull_request_target:"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" types:"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" - closed"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"concurrency:"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" cancel-in-progress: true"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"jobs:"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" check-pr-label:"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" if: ${{ github.event.pull_request.merged }}"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" runs-on: ubuntu-latest"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" permissions:"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" contents: read"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" outputs:"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" num_labels_chosen: ${{ steps.check_pr_description_label.outputs.num_labels_chosen }}"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" message: ${{ steps.check_pr_description_label.outputs.message }}"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" chosen_label: ${{ steps.check_pr_description_label.outputs.chosen_label }}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" steps:"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" - uses: actions/checkout@v3"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" - name: Check for PR description label"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" id: check_pr_description_label"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":" run: |"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":" python scripts/process_message.py \"${TEXT_BODY}\" \u003e processed_body.txt"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" processed_body\u003d$(cat processed_body.txt)"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" proposed_version_impact\u003d$(echo \"$processed_body\" | awk \u0027/Major \\\\\\(when you make incompatible API changes\\\\\\)/,/Patch \\\\\\(when you make backward compatible bug fixes\\\\\\)/\u0027)"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" is_major\u003d$(echo \"$proposed_version_impact\" | grep -qi \u0027\\[X\\] Major\u0027; echo $((1-$?)))"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" is_minor\u003d$(echo \"$proposed_version_impact\" | grep -qi \u0027\\[X\\] Minor\u0027; echo $((1-$?)))"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":" is_patch\u003d$(echo \"$proposed_version_impact\" | grep -qi \u0027\\[X\\] Patch\u0027; echo $((1-$?)))"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":" num_labels_chosen\u003d$(($is_major + $is_minor + $is_patch))"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" echo \"num_labels_chosen\u003d$num_labels_chosen\" \u003e\u003e \"$GITHUB_OUTPUT\""},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" if [[ \"$num_labels_chosen\" -eq 0 ]]; then"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" echo \"message\u003d$(echo \"@${MERGE_AUTHOR} Each PR must have a SEMVER impact label, please remember to label the PR properly.\")\" \u003e\u003e \"$GITHUB_OUTPUT\""},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" elif [[ \"$num_labels_chosen\" -ge 2 ]]; then"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" echo \"message\u003d$(echo \"@${MERGE_AUTHOR} Each PR can only have one SEMVER impact label, please remember to label the PR properly.\")\" \u003e\u003e \"$GITHUB_OUTPUT\""},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" else"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" echo \"message\u003d$(echo \"SEMVER impact selected.\")\" \u003e\u003e \"$GITHUB_OUTPUT\""},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" echo \"chosen_label\u003d$("},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" if [ \"$is_major\" -eq 1 ]; then"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" echo \"r.Major\""},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" elif [ \"$is_minor\" -eq 1 ]; then"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" echo \"r.Minor\""},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" elif [ \"$is_patch\" -eq 1 ]; then"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":" echo \"r.Patch\""},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":" fi"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":" )\" \u003e\u003e \"$GITHUB_OUTPUT\""},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" fi"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":" env:"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":" TEXT_BODY: ${{ github.event.pull_request.body }}"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":" MERGE_AUTHOR: ${{ github.event.sender.login }}"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":" assign-label-or-reminder:"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":" if: ${{ github.event.pull_request.merged }}"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":" runs-on: ubuntu-latest"},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":" needs: check-pr-label"},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":" permissions:"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":" pull-requests: write"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":" steps:"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" - uses: actions/github-script@v7"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":" with:"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":" script: |"},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":" if (process.env.NUM_LABELS_CHOSEN !\u003d 1) {"},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":" github.rest.issues.createComment({"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":" issue_number: context.payload.pull_request.number,"},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":" owner: context.repo.owner,"},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":" repo: context.repo.repo,"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":" body: process.env.MESSAGE,"},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":" });"},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":" } else {"},{"lineNumber":72,"author":{"gitId":"KevinEyo1"},"content":" github.rest.issues.addLabels({"},{"lineNumber":73,"author":{"gitId":"KevinEyo1"},"content":" issue_number: context.payload.pull_request.number,"},{"lineNumber":74,"author":{"gitId":"KevinEyo1"},"content":" owner: context.repo.owner,"},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":" repo: context.repo.repo,"},{"lineNumber":76,"author":{"gitId":"KevinEyo1"},"content":" labels: [process.env.CHOSEN_LABEL]"},{"lineNumber":77,"author":{"gitId":"KevinEyo1"},"content":" });"},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":" env:"},{"lineNumber":80,"author":{"gitId":"KevinEyo1"},"content":" NUM_LABELS_CHOSEN: ${{ needs.check-pr-label.outputs.num_labels_chosen }}"},{"lineNumber":81,"author":{"gitId":"KevinEyo1"},"content":" MESSAGE: ${{ needs.check-pr-label.outputs.message }}"},{"lineNumber":82,"author":{"gitId":"KevinEyo1"},"content":" CHOSEN_LABEL: ${{ needs.check-pr-label.outputs.chosen_label }}"},{"lineNumber":83,"author":{"gitId":"KevinEyo1"},"content":""}],"authorContributionMap":{"KevinEyo1":83}},{"path":".github/workflows/pr-message-reminder.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"name: PR Message Reminder"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"on:"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" push:"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" branches:"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" - master"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" tags:"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":" - \u0027v[0-9]+.[0-9]+.[0-9]+\u0027"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" pull_request:"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" types:"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" - opened"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" - synchronize"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" - reopened"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" - edited"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"concurrency:"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" cancel-in-progress: true"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"jobs:"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" remind-pr-author:"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" if: github.event_name \u003d\u003d \u0027pull_request\u0027"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" runs-on: ubuntu-latest"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" permissions:"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" contents: read"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":" "},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":" steps:"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" - uses: actions/checkout@v3"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" - name: Extract Proposed Commit Message"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" run: |"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" python scripts/process_message.py \"${TEXT_BODY}\" \u003e processed_body.txt"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":" processed_body\u003d$(cat processed_body.txt)"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":" proposed_commit_message\u003d$(echo \"$processed_body\" | awk \u0027/\\\\*\\\\*Proposed commit message: \\\\\\(wrap lines at 72 characters\\\\\\)\\\\*\\\\*/,/\\\\*\\\\*Checklist:\\\\*\\\\*/\u0027 | tail -n +2 | head -n -3)"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" echo \"Proposed commit message:\""},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" echo \"$proposed_commit_message\""},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" if ! grep -q \u0027[^[:space:]]\u0027 \u003c\u003c\u003c \"$proposed_commit_message\"; then"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" echo \"Please fill in the proposed commit message section in the pull request description.\""},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" exit 1"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" fi"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" env:"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" TEXT_BODY: ${{ github.event.pull_request.body }}"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":41}},{"path":".stylelintrc.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"module.exports \u003d {"},{"lineNumber":2,"author":{"gitId":"LamJiuFong"},"content":" \"extends\": [\"stylelint-config-standard\", \"stylelint-config-recommended-vue\"],"},{"lineNumber":3,"author":{"gitId":"LamJiuFong"},"content":" \"plugins\": [\"@stylistic/stylelint-plugin\"],"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"rules\": {"},{"lineNumber":5,"author":{"gitId":"LamJiuFong"},"content":" \"@stylistic/indentation\": [4, { baseIndentLevel: 1 } ],"},{"lineNumber":6,"author":{"gitId":"-"},"content":" // MarkBind generates some blank CSS files when initialising a site,"},{"lineNumber":7,"author":{"gitId":"-"},"content":" // which violates the no-empty-source rule"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"no-empty-source\": null"},{"lineNumber":9,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10,"author":{"gitId":"-"},"content":"};"}],"authorContributionMap":{"LamJiuFong":3,"-":7}},{"path":"docs/_markbind/layouts/userGuide.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% include \"_markbind/layouts/headers/header.md\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"flex-body\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003cnav id\u003d\"site-nav\"\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"site-nav-top\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"fw-bold mb-2\" style\u003d\"font-size: 1.25rem;\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" User Guide"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003csite-nav\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"* [Getting Started]({{baseUrl}}/userGuide/gettingStarted.html)"},{"lineNumber":13,"author":{"gitId":"-"},"content":"* Authoring Contents :expanded:"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * [Overview]({{baseUrl}}/userGuide/authoringContents.html)"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * [Adding Pages]({{baseUrl}}/userGuide/addingPages.html)"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * [MarkBind Syntax Overview]({{baseUrl}}/userGuide/markBindSyntaxOverview.html)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * [Formatting Contents]({{baseUrl}}/userGuide/formattingContents.html)"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * [Using Components]({{baseUrl}}/userGuide/usingComponents.html) :expanded:"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * [Presentation]({{baseUrl}}/userGuide/components/presentation.html)"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * [Images \u0026 Diagrams]({{baseUrl}}/userGuide/components/imagesAndDiagrams.html)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * [Pop-Ups]({{baseUrl}}/userGuide/components/popups.html)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * [Navigation]({{baseUrl}}/userGuide/components/navigation.html)"},{"lineNumber":23,"author":{"gitId":"-"},"content":" * [Others]({{baseUrl}}/userGuide/components/others.html)"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * [Advanced]({{baseUrl}}/userGuide/components/advanced.html)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * [Using HTML, JavaScript, CSS]({{baseUrl}}/userGuide/usingHtmlJavaScriptCss.html)"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * [Tweaking the Page Structure]({{baseUrl}}/userGuide/tweakingThePageStructure.html)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * [Reusing Contents]({{baseUrl}}/userGuide/reusingContents.html)"},{"lineNumber":28,"author":{"gitId":"-"},"content":"* Working with Sites :expanded:"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * [Overview]({{baseUrl}}/userGuide/workingWithSites.html)"},{"lineNumber":30,"author":{"gitId":"-"},"content":" * [Setting Site Properties]({{baseUrl}}/userGuide/settingSiteProperties.html)"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * [Using Plugins]({{baseUrl}}/userGuide/usingPlugins.html)"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * [Making the Site Searchable]({{baseUrl}}/userGuide/makingTheSiteSearchable.html)"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * [Applying Themes]({{baseUrl}}/userGuide/themes.html)"},{"lineNumber":34,"author":{"gitId":"-"},"content":" * [Deploying the Site]({{baseUrl}}/userGuide/deployingTheSite.html)"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * [MarkBind in the Project Workflow]({{baseUrl}}/userGuide/markBindInTheProjectWorkflow.html)"},{"lineNumber":36,"author":{"gitId":"-"},"content":" * [Redirecting to a Custom 404 Page]({{baseUrl}}/userGuide/redirectingToACustom404Page.html)"},{"lineNumber":37,"author":{"gitId":"-"},"content":" * [Adding Navigation Buttons]({{baseUrl}}/userGuide/addingNavigationButtons.html)"},{"lineNumber":38,"author":{"gitId":"-"},"content":" * [Templates]({{baseUrl}}/userGuide/templates.html)"},{"lineNumber":39,"author":{"gitId":"-"},"content":"* References :expanded:"},{"lineNumber":40,"author":{"gitId":"-"},"content":" * [CLI Commands]({{baseUrl}}/userGuide/cliCommands.html)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" * [Reader-Facing Features]({{baseUrl}}/userGuide/readerFacingFeatures.html)"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" * [Syntax Reference]({{baseUrl}}/userGuide/syntaxReference.html)"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * [`site.json` File]({{baseUrl}}/userGuide/siteJsonFile.html)"},{"lineNumber":44,"author":{"gitId":"-"},"content":" * [`.gitignore` File]({{baseUrl}}/userGuide/gitignoreFile.html)"},{"lineNumber":45,"author":{"gitId":"-"},"content":" * [Tips \u0026 Tricks]({{baseUrl}}/userGuide/tipsAndTricks.html)"},{"lineNumber":46,"author":{"gitId":"-"},"content":" * [Troubleshooting]({{baseUrl}}/userGuide/troubleshooting.html)"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * [Glossary]({{baseUrl}}/userGuide/glossary.html)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003c/site-nav\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003c/nav\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"content-wrapper\"\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cbreadcrumb /\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" {{ content }}"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003cnav id\u003d\"page-nav\"\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003cpage-nav /\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":" \u003c/nav\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003cscroll-top-button\u003e\u003c/scroll-top-button\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"footers/footer.md\" /\u003e"}],"authorContributionMap":{"jingting1412":1,"-":62}},{"path":"docs/css/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":109,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":"}"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":120,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":"}"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":127,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":129}},{"path":"docs/devGuide/bootcamp/exploreMarkBind.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Explore MarkBind as a User\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" title: \"{{ title }}\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" layout: devGuide.md"},{"lineNumber":7,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"# {{ title }}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"Getting to know MarkBind as a user will help you understand what MarkBind offers and how it can be used to create static websites. This will also help you understand the different components and syntax available in MarkBind, which will be useful when you want to debug issues or create similar features in the future."},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"## TLDR"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"- [ ] Setup the master branch MarkBind"},{"lineNumber":21,"author":{"gitId":"-"},"content":"- [ ] Create a MarkBind site"},{"lineNumber":22,"author":{"gitId":"-"},"content":"- [ ] Create content with MarkBind"},{"lineNumber":23,"author":{"gitId":"-"},"content":"- [ ] Modify site structure and configuration"},{"lineNumber":24,"author":{"gitId":"-"},"content":"- [ ] Deploy your MarkBind site"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"## Setup the master branch of MarkBind"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"As mentioned in our \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/gettingStarted.html\"\u003euser guide\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/gettingStarted.html\"\u003euser guide\u003c/a\u003e, we can either install MarkBind via npm or create a new MarkBind site with npx."},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"In this bootcamp, we want to set up the master branch MarkBind so that we can test out any changes we make to the codebase on our local machine."},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" light\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"You can also switch between the master branch MarkBind and check out other branches if you are working on multiple issues. This is also useful when you want to test out a PR submitted by another developer."},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"{{baseUrl}}/devGuide/development/settingUp.md\" header\u003d\"**Setting up MarkBind**\" type\u003d\"info\" minimized\u003e\u003c/panel\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"**Checkpoint**"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"After setting up MarkBind, try running from the root directory of your MarkBind repository:"},{"lineNumber":45,"author":{"gitId":"-"},"content":"- [ ] `markbind -v` to check that you have the correct version of MarkBind installed"},{"lineNumber":46,"author":{"gitId":"-"},"content":"- [ ] `cd docs \u0026\u0026 markbind serve -d` to check that you can serve the MarkBind documentation site in development mode"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"If you can browse the MarkBind documentation site that should have automatically been up in your browser at http://localhost:8080, you have successfully set up MarkBind!"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"port-info\"\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":"If port 8080 is in use, another port will be chosen. Refer to the console output for the exact URL address."},{"lineNumber":53,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Sample Console Output\" type\u003d\"info\" minimized\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"```"},{"lineNumber":59,"author":{"gitId":"-"},"content":"$ markbind -v"},{"lineNumber":60,"author":{"gitId":"-"},"content":" __ __ _ ____ _ _ "},{"lineNumber":61,"author":{"gitId":"-"},"content":" | \\/ | __ _ _ __ | | __ | __ ) (_) _ __ __| |"},{"lineNumber":62,"author":{"gitId":"-"},"content":" | |\\/| | / _` | | \u0027__| | |/ / | _ \\ | | | \u0027_ \\ / _` |"},{"lineNumber":63,"author":{"gitId":"-"},"content":" | | | | | (_| | | | | \u003c | |_) | | | | | | | | (_| |"},{"lineNumber":64,"author":{"gitId":"-"},"content":" |_| |_| \\__,_| |_| |_|\\_\\ |____/ |_| |_| |_| \\__,_|"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" v4.0.2"},{"lineNumber":67,"author":{"gitId":"-"},"content":"Usage: markbind \u003ccommand\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":"Options:"},{"lineNumber":70,"author":{"gitId":"-"},"content":" -V, --version output the version number "},{"lineNumber":71,"author":{"gitId":"-"},"content":" -h, --help display help for command "},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":"Commands:"},{"lineNumber":74,"author":{"gitId":"-"},"content":" init|i [options] [root] init a markbind website project"},{"lineNumber":75,"author":{"gitId":"-"},"content":" serve|s [options] [root] build then serve a website from a directory"},{"lineNumber":76,"author":{"gitId":"-"},"content":" build|b [options] [root] [output] build a website"},{"lineNumber":77,"author":{"gitId":"-"},"content":" deploy|d [options] [root] deploy the latest build of the site to the repo\u0027s Github pages"},{"lineNumber":78,"author":{"gitId":"-"},"content":" help [command] display help for command"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":"$ cd docs \u0026\u0026 markbind serve -d"},{"lineNumber":81,"author":{"gitId":"-"},"content":" __ __ _ ____ _ _"},{"lineNumber":82,"author":{"gitId":"-"},"content":" | \\/ | __ _ _ __ | | __ | __ ) (_) _ __ __| |"},{"lineNumber":83,"author":{"gitId":"-"},"content":" | |\\/| | / _` | | \u0027__| | |/ / | _ \\ | | | \u0027_ \\ / _` |"},{"lineNumber":84,"author":{"gitId":"-"},"content":" | | | | | (_| | | | | \u003c | |_) | | | | | | | | (_| |"},{"lineNumber":85,"author":{"gitId":"-"},"content":" |_| |_| \\__,_| |_| |_|\\_\\ |____/ |_| |_| |_| \\__,_|"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" v4.0.2"},{"lineNumber":88,"author":{"gitId":"-"},"content":"info: Changes detected in MarkBind Vue Source Files:"},{"lineNumber":89,"author":{"gitId":"-"},"content":"Bundle is regenerated by webpack and built pages are re-rendered with the latest bundle."},{"lineNumber":90,"author":{"gitId":"-"},"content":"info: Website generation started at 4:16:47 pm"},{"lineNumber":91,"author":{"gitId":"-"},"content":"info: Building assets..."},{"lineNumber":92,"author":{"gitId":"-"},"content":"info: Assets built"},{"lineNumber":93,"author":{"gitId":"-"},"content":"info: Generating pages..."},{"lineNumber":94,"author":{"gitId":"-"},"content":"[\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d------------------------------------] 23 / 59 pages [\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d-------[\u003d\u003d\u003d\u003d\u003d\u003d[\u003d\u003d\u003d[\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d] 59 / 59 pages built"},{"lineNumber":95,"author":{"gitId":"-"},"content":"info: Pages built"},{"lineNumber":96,"author":{"gitId":"-"},"content":"webpack built 6d52f45b1910f9f545a2 in 11017ms"},{"lineNumber":97,"author":{"gitId":"-"},"content":"i 「wdm」: Hash: 6d52f45b1910f9f545a2"},{"lineNumber":98,"author":{"gitId":"-"},"content":"Version: webpack 4.46.0"},{"lineNumber":99,"author":{"gitId":"-"},"content":"Time: 11017ms"},{"lineNumber":100,"author":{"gitId":"-"},"content":"Built at: 01/01/2023 4:16:58 pm"},{"lineNumber":101,"author":{"gitId":"-"},"content":" Asset Size Chunks Chunk Names"},{"lineNumber":102,"author":{"gitId":"-"},"content":" fonts/KaTeX_AMS-Regular.ttf 62.1 KiB [emitted]"},{"lineNumber":103,"author":{"gitId":"-"},"content":" fonts/KaTeX_AMS-Regular.woff 32.7 KiB [emitted]"},{"lineNumber":104,"author":{"gitId":"-"},"content":" fonts/KaTeX_AMS-Regular.woff2 27.4 KiB [emitted]"},{"lineNumber":105,"author":{"gitId":"-"},"content":" fonts/KaTeX_Caligraphic-Bold.ttf 12.1 KiB [emitted]"},{"lineNumber":106,"author":{"gitId":"-"},"content":" fonts/KaTeX_Caligraphic-Bold.woff 7.54 KiB [emitted]"},{"lineNumber":107,"author":{"gitId":"-"},"content":" fonts/KaTeX_Caligraphic-Bold.woff2 6.75 KiB [emitted]"},{"lineNumber":108,"author":{"gitId":"-"},"content":" fonts/KaTeX_Caligraphic-Regular.ttf 12.1 KiB [emitted]"},{"lineNumber":109,"author":{"gitId":"-"},"content":" fonts/KaTeX_Caligraphic-Regular.woff 7.48 KiB [emitted]"},{"lineNumber":110,"author":{"gitId":"-"},"content":"fonts/KaTeX_Caligraphic-Regular.woff2 6.75 KiB [emitted]"},{"lineNumber":111,"author":{"gitId":"-"},"content":" fonts/KaTeX_Fraktur-Bold.ttf 19.1 KiB [emitted]"},{"lineNumber":112,"author":{"gitId":"-"},"content":" fonts/KaTeX_Fraktur-Bold.woff 13 KiB [emitted]"},{"lineNumber":113,"author":{"gitId":"-"},"content":" fonts/KaTeX_Fraktur-Bold.woff2 11.1 KiB [emitted]"},{"lineNumber":114,"author":{"gitId":"-"},"content":" fonts/KaTeX_Fraktur-Regular.ttf 19.1 KiB [emitted]"},{"lineNumber":115,"author":{"gitId":"-"},"content":" fonts/KaTeX_Fraktur-Regular.woff 12.9 KiB [emitted]"},{"lineNumber":116,"author":{"gitId":"-"},"content":" fonts/KaTeX_Fraktur-Regular.woff2 11.1 KiB [emitted]"},{"lineNumber":117,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Bold.ttf 50.1 KiB [emitted]"},{"lineNumber":118,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Bold.woff 29.2 KiB [emitted]"},{"lineNumber":119,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Bold.woff2 24.7 KiB [emitted]"},{"lineNumber":120,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-BoldItalic.ttf 32.2 KiB [emitted]"},{"lineNumber":121,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-BoldItalic.woff 19 KiB [emitted]"},{"lineNumber":122,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-BoldItalic.woff2 16.4 KiB [emitted]"},{"lineNumber":123,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Italic.ttf 32.8 KiB [emitted]"},{"lineNumber":124,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Italic.woff 19.2 KiB [emitted]"},{"lineNumber":125,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Italic.woff2 16.6 KiB [emitted]"},{"lineNumber":126,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Regular.ttf 52.3 KiB [emitted]"},{"lineNumber":127,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Regular.woff 30.1 KiB [emitted]"},{"lineNumber":128,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Regular.woff2 25.7 KiB [emitted]"},{"lineNumber":129,"author":{"gitId":"-"},"content":" fonts/KaTeX_Math-BoldItalic.ttf 30.5 KiB [emitted]"},{"lineNumber":130,"author":{"gitId":"-"},"content":" fonts/KaTeX_Math-BoldItalic.woff 18.2 KiB [emitted]"},{"lineNumber":131,"author":{"gitId":"-"},"content":" fonts/KaTeX_Math-BoldItalic.woff2 16 KiB [emitted]"},{"lineNumber":132,"author":{"gitId":"-"},"content":" fonts/KaTeX_Math-Italic.ttf 30.6 KiB [emitted]"},{"lineNumber":133,"author":{"gitId":"-"},"content":" fonts/KaTeX_Math-Italic.woff 18.3 KiB [emitted]"},{"lineNumber":134,"author":{"gitId":"-"},"content":" fonts/KaTeX_Math-Italic.woff2 16.1 KiB [emitted]"},{"lineNumber":135,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Bold.ttf 23.9 KiB [emitted]"},{"lineNumber":136,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Bold.woff 14.1 KiB [emitted]"},{"lineNumber":137,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Bold.woff2 11.9 KiB [emitted]"},{"lineNumber":138,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Italic.ttf 21.8 KiB [emitted]"},{"lineNumber":139,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Italic.woff 13.8 KiB [emitted]"},{"lineNumber":140,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Italic.woff2 11.7 KiB [emitted]"},{"lineNumber":141,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Regular.ttf 19 KiB [emitted]"},{"lineNumber":142,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Regular.woff 12 KiB [emitted]"},{"lineNumber":143,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Regular.woff2 10.1 KiB [emitted]"},{"lineNumber":144,"author":{"gitId":"-"},"content":" fonts/KaTeX_Script-Regular.ttf 16.3 KiB [emitted]"},{"lineNumber":145,"author":{"gitId":"-"},"content":" fonts/KaTeX_Script-Regular.woff 10.3 KiB [emitted]"},{"lineNumber":146,"author":{"gitId":"-"},"content":" fonts/KaTeX_Script-Regular.woff2 9.42 KiB [emitted]"},{"lineNumber":147,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size1-Regular.ttf 11.9 KiB [emitted]"},{"lineNumber":148,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size1-Regular.woff 6.34 KiB [emitted]"},{"lineNumber":149,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size1-Regular.woff2 5.34 KiB [emitted]"},{"lineNumber":150,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size2-Regular.ttf 11.2 KiB [emitted]"},{"lineNumber":151,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size2-Regular.woff 6.04 KiB [emitted]"},{"lineNumber":152,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size2-Regular.woff2 5.09 KiB [emitted]"},{"lineNumber":153,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size3-Regular.ttf 7.41 KiB [emitted]"},{"lineNumber":154,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size3-Regular.woff 4.32 KiB [emitted]"},{"lineNumber":155,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size3-Regular.woff2 3.54 KiB [emitted]"},{"lineNumber":156,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size4-Regular.ttf 10.1 KiB [emitted]"},{"lineNumber":157,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size4-Regular.woff 5.84 KiB [emitted]"},{"lineNumber":158,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size4-Regular.woff2 4.81 KiB [emitted]"},{"lineNumber":159,"author":{"gitId":"-"},"content":" fonts/KaTeX_Typewriter-Regular.ttf 26.9 KiB [emitted]"},{"lineNumber":160,"author":{"gitId":"-"},"content":" fonts/KaTeX_Typewriter-Regular.woff 15.7 KiB [emitted]"},{"lineNumber":161,"author":{"gitId":"-"},"content":" fonts/KaTeX_Typewriter-Regular.woff2 13.3 KiB [emitted]"},{"lineNumber":162,"author":{"gitId":"-"},"content":" js/markbind.min.js 1.3 MiB markbind [emitted] markbind"},{"lineNumber":163,"author":{"gitId":"-"},"content":"Entrypoint markbind \u003d js/markbind.min.js"},{"lineNumber":164,"author":{"gitId":"-"},"content":"[0] multi webpack-hot-middleware/client ../packages/core-web/src/index.js 40 bytes {markbind} [built]"},{"lineNumber":165,"author":{"gitId":"-"},"content":"[../../node_modules/@babel/runtime/helpers/arrayWithHoles.js] ../node_modules/@babel/runtime/helpers/arrayWithHoles.js "},{"lineNumber":166,"author":{"gitId":"-"},"content":"184 bytes {markbind} [built]"},{"lineNumber":167,"author":{"gitId":"-"},"content":"[../../node_modules/@babel/runtime/helpers/defineProperty.js] ../node_modules/@babel/runtime/helpers/defineProperty.js "},{"lineNumber":168,"author":{"gitId":"-"},"content":"367 bytes {markbind} [built]"},{"lineNumber":169,"author":{"gitId":"-"},"content":"[../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js] ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js 711 bytes {markbind} [built]"},{"lineNumber":170,"author":{"gitId":"-"},"content":"[../../node_modules/@babel/runtime/helpers/nonIterableRest.js] ../node_modules/@babel/runtime/helpers/nonIterableRest.js 309 bytes {markbind} [built]"},{"lineNumber":171,"author":{"gitId":"-"},"content":"[../../node_modules/@babel/runtime/helpers/slicedToArray.js] ../node_modules/@babel/runtime/helpers/slicedToArray.js 522 bytes {markbind} [built]"},{"lineNumber":172,"author":{"gitId":"-"},"content":"[../../node_modules/strip-ansi/index.js] ../node_modules/strip-ansi/index.js 154 bytes {markbind} [built]"},{"lineNumber":173,"author":{"gitId":"-"},"content":"[../../node_modules/webpack-hot-middleware/client-overlay.js] ../node_modules/webpack-hot-middleware/client-overlay.js 2.14 KiB {markbind} [built] "},{"lineNumber":174,"author":{"gitId":"-"},"content":"[../../node_modules/webpack-hot-middleware/client.js] ../node_modules/webpack-hot-middleware/client.js 7.69 KiB {markbind} [built]"},{"lineNumber":175,"author":{"gitId":"-"},"content":"[../../node_modules/webpack-hot-middleware/process-update.js] ../node_modules/webpack-hot-middleware/process-update.js 4.36 KiB {markbind} [built] "},{"lineNumber":176,"author":{"gitId":"-"},"content":"[../../node_modules/webpack/buildin/module.js] ../node_modules/webpack/buildin/module.js 497 bytes {markbind} [built]"},{"lineNumber":177,"author":{"gitId":"-"},"content":"[./src/VueCommonAppFactory.js] ../packages/core-web/src/VueCommonAppFactory.js 1.09 KiB {markbind} [built]"},{"lineNumber":178,"author":{"gitId":"-"},"content":"[./src/index.js] ../packages/core-web/src/index.js 8.17 KiB {markbind} [built]"},{"lineNumber":179,"author":{"gitId":"-"},"content":"[./src/scrollTopButton.js] ../packages/core-web/src/scrollTopButton.js 1.49 KiB {markbind} [built]"},{"lineNumber":180,"author":{"gitId":"-"},"content":"[./src/styles/index.css] ../packages/core-web/src/styles/index.css 1.09 KiB {markbind} [built]"},{"lineNumber":181,"author":{"gitId":"-"},"content":" + 346 hidden modules"},{"lineNumber":182,"author":{"gitId":"-"},"content":"i 「wdm」: Compiled successfully."},{"lineNumber":183,"author":{"gitId":"-"},"content":"info: Site data built"},{"lineNumber":184,"author":{"gitId":"-"},"content":"info: Website generation complete! Total build time: 11.242s"},{"lineNumber":185,"author":{"gitId":"-"},"content":"info: Serving \"C:\\Users\\User\\Documents\\GitHub\\markbind\\docs\\_site\" at http://127.0.0.1:8080"},{"lineNumber":186,"author":{"gitId":"-"},"content":"info: Press CTRL+C to stop ..."},{"lineNumber":187,"author":{"gitId":"-"},"content":"```"},{"lineNumber":188,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"## Create a MarkBind site"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":"With MarkBind installed, we can now create a new MarkBind site."},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":"We recommend that you set up a new repository for this MarkBind site so that you can push your site to GitHub pages later. This MarkBind site can be used to test out any changes you make to the codebase."},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":"As an example, let\u0027s create a test site together!"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":"You can refer to the example repository [here](https://github.com/tlylt/mb-dev-tlylt) for the code and [here](https://tlylt.github.io/mb-dev-tlylt/) for the deployed site if you get stuck."},{"lineNumber":202,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":"1. Create a new folder called \u003ctooltip content\u003d\"replace \u0027xxx\u0027 with your GitHub username\"\u003e\"mb-dev-xxx\"\u003c/tooltip\u003e at a location outside of the MarkBind source code directory."},{"lineNumber":205,"author":{"gitId":"-"},"content":"1. Go to the folder and run `markbind init` to create a new MarkBind site with the default template."},{"lineNumber":206,"author":{"gitId":"-"},"content":"1. Initialize a new git repository in the folder by running `git init`. You can also create a new public repository on GitHub first and clone it to your local machine."},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":"You should see the following output:"},{"lineNumber":209,"author":{"gitId":"-"},"content":"```"},{"lineNumber":210,"author":{"gitId":"-"},"content":"$ markbind init"},{"lineNumber":211,"author":{"gitId":"-"},"content":" __ __ _ ____ _ _"},{"lineNumber":212,"author":{"gitId":"-"},"content":" | \\/ | __ _ _ __ | | __ | __ ) (_) _ __ __| |"},{"lineNumber":213,"author":{"gitId":"-"},"content":" | |\\/| | / _` | | \u0027__| | |/ / | _ \\ | | | \u0027_ \\ / _` |"},{"lineNumber":214,"author":{"gitId":"-"},"content":" | | | | | (_| | | | | \u003c | |_) | | | | | | | | (_| |"},{"lineNumber":215,"author":{"gitId":"-"},"content":" |_| |_| \\__,_| |_| |_|\\_\\ |____/ |_| |_| |_| \\__,_|"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" v4.0.2"},{"lineNumber":218,"author":{"gitId":"-"},"content":"info: Initialization success."},{"lineNumber":219,"author":{"gitId":"-"},"content":"```"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":"**Checkpoint**"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":"After setting up the MarkBind test site, try running the following common operations from the root directory of your test site:"},{"lineNumber":226,"author":{"gitId":"-"},"content":"- [ ] Build the site by running `markbind build`"},{"lineNumber":227,"author":{"gitId":"-"},"content":"- [ ] Serve the site by running `markbind serve`"},{"lineNumber":228,"author":{"gitId":"-"},"content":"- [ ] Serve the site in development mode by running `markbind serve -d`"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":"You now have the test site up and running!"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":"## Create Content with MarkBind"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":"MarkBind contains a range of additional syntax on top of Markdown. It also comes with a set of components that can be used to create content."},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":"Two essential sections of the user guide to get started with are:"},{"lineNumber":239,"author":{"gitId":"-"},"content":"- \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/formattingContents.html\"\u003eFormatting Contents\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/formattingContents.html\"\u003eFormatting Contents\u003c/a\u003e - Covering Markdown \u0026 Markdown-like syntax."},{"lineNumber":240,"author":{"gitId":"-"},"content":"- \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/usingComponents.html\"\u003eUsing Components\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/usingComponents.html\"\u003eUsing Components\u003c/a\u003e - Covering MarkBind components (Built with Vue.js or Native HTML)."},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"{{baseUrl}}/userGuide/authoringContents.md\" header\u003d\"**Creating Content**\" type\u003d\"info\" minimized\u003e\u003c/panel\u003e"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":"The generated MarkBind site from the above step also includes a few sample usage in the `index.md` file."},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":"Now, let\u0027s try editing the `index.md` file to add some content of our own!"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":"1. Open the `index.md` file in your `mb-dev-xxx` folder."},{"lineNumber":249,"author":{"gitId":"-"},"content":"1. Replace the wording `Landing Page Title` with `MarkBind Developer Test Site`."},{"lineNumber":250,"author":{"gitId":"-"},"content":"1. Modify or add some content utilizing one or more of the following syntaxes:"},{"lineNumber":251,"author":{"gitId":"-"},"content":" - \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/formattingContents.html#text-styles\"\u003eText Styles\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/formattingContents.html#text-styles\"\u003eText Styles\u003c/a\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":" - \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/formattingContents.html#code\"\u003eCode Block\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/formattingContents.html#code\"\u003eCode Block\u003c/a\u003e"},{"lineNumber":253,"author":{"gitId":"-"},"content":" - \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/formattingContents.html#emoji\"\u003eEmoji\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/formattingContents.html#emoji\"\u003eEmoji\u003c/a\u003e"},{"lineNumber":254,"author":{"gitId":"-"},"content":" - etc."},{"lineNumber":255,"author":{"gitId":"-"},"content":"1. Modify or add some content utilizing one or more of the following components:"},{"lineNumber":256,"author":{"gitId":"-"},"content":" - \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/components/presentation.html#boxes\"\u003eBox\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/components/presentation.html#boxes\"\u003eBox\u003c/a\u003e"},{"lineNumber":257,"author":{"gitId":"-"},"content":" - \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/components/presentation.html#panels\"\u003ePanel\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/components/presentation.html#panels\"\u003ePanel\u003c/a\u003e"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" - \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/components/popups.html#tooltips\"\u003eTooltip\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/components/popups.html#tooltips\"\u003eTooltip\u003c/a\u003e"},{"lineNumber":259,"author":{"gitId":"-"},"content":" - etc."},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":"**Checkpoint**"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":"With live preview, you should be able to see the changes you have made to the site after saving. Check that the following are true:"},{"lineNumber":266,"author":{"gitId":"-"},"content":"- [ ] Serve the site by running `markbind serve -d`"},{"lineNumber":267,"author":{"gitId":"-"},"content":"- [ ] Make changes to the `index.md` file and save"},{"lineNumber":268,"author":{"gitId":"-"},"content":"- [ ] See the changes reflected in the live preview, with the correct rendering of the syntax and components"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":"You now have created content with MarkBind!"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":"## Modify Site Structure and Configuration"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":"There are a few ways to modify the site\u0027s (as well as the page\u0027s) structure and configuration. We will cover the following:"},{"lineNumber":277,"author":{"gitId":"-"},"content":"- \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/tweakingThePageStructure.html#frontmatter\"\u003eFrontmatter\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/tweakingThePageStructure.html#frontmatter\"\u003eFrontmatter\u003c/a\u003e"},{"lineNumber":278,"author":{"gitId":"-"},"content":"- \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/tweakingThePageStructure.html#layouts\"\u003eLayouts\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/tweakingThePageStructure.html#layouts\"\u003eLayouts\u003c/a\u003e"},{"lineNumber":279,"author":{"gitId":"-"},"content":"- \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/siteJsonFile.html\"\u003esite.json\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/siteJsonFile.html\"\u003esite.json\u003c/a\u003e"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":"Let\u0027s continue with the test site we created earlier and modify the `index.md` file via frontmatter."},{"lineNumber":282,"author":{"gitId":"-"},"content":""},{"lineNumber":283,"author":{"gitId":"-"},"content":"1. Open the `index.md` file in your `mb-dev-xxx` folder."},{"lineNumber":284,"author":{"gitId":"-"},"content":"1. Change the `pageNavTitle` in the frontmatter from `Topics` to `Index Page`."},{"lineNumber":285,"author":{"gitId":"-"},"content":"1. Change the `pageNav` in the frontmatter from `4` to `5`."},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":"**Checkpoint**"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":"Ensure that you are still serving the site with `markbind serve -d`. Check that the following are true:"},{"lineNumber":292,"author":{"gitId":"-"},"content":"- [ ] The rendered page navigation title is changed to `Index Page`"},{"lineNumber":293,"author":{"gitId":"-"},"content":"- [ ] The rendered page navigation content now shows `H5` headings as well"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":"Screenshot before the changes:"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":"\u003cpic src\u003d\"{{baseUrl}}/images/bootcamp/page_nav_before.png\" alt\u003d\"Page navigation title and content before changes\"\u003e\u003c/pic\u003e"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":"Screenshot after the changes:"},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":"\u003cpic src\u003d\"{{baseUrl}}/images/bootcamp/page_nav_after.png\" alt\u003d\"Page navigation title and content after changes\"\u003e\u003c/pic\u003e"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":"Another commonly adjusted structure is the layout of the site (especially, the site\u0027s top header and the left-hand-side navigation)."},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":"1. Open the `_markbind/layouts/default.md` file in your `mb-dev-xxx` folder."},{"lineNumber":308,"author":{"gitId":"-"},"content":"1. Change `Your Logo` to `MarkBind Developer Test Site`."},{"lineNumber":309,"author":{"gitId":"-"},"content":"1. Change `Home :house:` to `My Test Playground :computer:`."},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":"**Checkpoint**"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":"Ensure that you are still serving the site with `markbind serve -d`. Check that the following are true:"},{"lineNumber":316,"author":{"gitId":"-"},"content":"- [ ] The rendered page logo in the header is changed to `MarkBind Developer Test Site`"},{"lineNumber":317,"author":{"gitId":"-"},"content":"- [ ] The rendered site navigation title is changed to `My Test Playground` :computer:"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":"Screenshot after the changes:"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":"\u003cpic src\u003d\"{{baseUrl}}/images/bootcamp/logo_and_nav.png\" alt\u003d\"Logo and Nav changes\"\u003e\u003c/pic\u003e"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":324,"author":{"gitId":"-"},"content":""},{"lineNumber":325,"author":{"gitId":"-"},"content":"Lastly, let\u0027s modify the site configuration to change the site title and more."},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":"The `site.json` file is autogenerated and located in the root directory of the site. Refer to the User Guide - \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/siteJsonFile.html\"\u003e`site.json`\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/siteJsonFile.html\"\u003e`site.json`\u003c/a\u003e section for more details."},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"-"},"content":"1. Open the `site.json` file in your `mb-dev-xxx` folder."},{"lineNumber":330,"author":{"gitId":"-"},"content":"1. Change `\"titlePrefix\": \"\",` to `\"titlePrefix\": \"mb-dev-xxx\",`."},{"lineNumber":331,"author":{"gitId":"-"},"content":"1. Under `pages`, add `\"title\": \"Home\"`."},{"lineNumber":332,"author":{"gitId":"-"},"content":""},{"lineNumber":333,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":"**Checkpoint**"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":"Ensure that you are still serving the site with `markbind serve -d`. Check that the following are true:"},{"lineNumber":338,"author":{"gitId":"-"},"content":"- [ ] The page title in the browser tab is changed to `mb-dev-xxx - Home`"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":"Screenshot after the changes:"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":"\u003cpic src\u003d\"{{baseUrl}}/images/bootcamp/page_title.png\" alt\u003d\"Page title changes\"\u003e\u003c/pic\u003e"},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":"You now have modified some of the commonly adjusted site structure and configuration!"},{"lineNumber":345,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":"## Deploy your MarkBind site"},{"lineNumber":348,"author":{"gitId":"-"},"content":""},{"lineNumber":349,"author":{"gitId":"-"},"content":"MarkBind sites can be easily deployed with CLI commands or via CI. Let\u0027s try deploying our site via GitHub Actions."},{"lineNumber":350,"author":{"gitId":"-"},"content":""},{"lineNumber":351,"author":{"gitId":"-"},"content":"1. Open the `site.json` file in your `mb-dev-xxx` folder."},{"lineNumber":352,"author":{"gitId":"-"},"content":"1. Change `\"baseUrl\": \"\",` to `\"baseUrl\": \"/mb-dev-xxx\",` (Note the leading `/` and that the value is the same as your GitHub repository name)."},{"lineNumber":353,"author":{"gitId":"-"},"content":"1. Create a `.github/workflows/deploy.yml` file with the following content mentioned in the \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/deployingTheSite.html#deploying-via-github-actions\"\u003eGitHub Actions guide\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/deployingTheSite.html#deploying-via-github-actions\"\u003eGitHub Actions guide\u003c/a\u003e."},{"lineNumber":354,"author":{"gitId":"-"},"content":" 1. Note that you should change `branches: master` to `branches: main` if you are using the `main` branch."},{"lineNumber":355,"author":{"gitId":"-"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"{{baseUrl}}/userGuide/deployingTheSite.md#markbind-action-tip\" header\u003d\"**MarkBind Action**\" type\u003d\"info\" expanded/\u003e"},{"lineNumber":357,"author":{"gitId":"-"},"content":""},{"lineNumber":358,"author":{"gitId":"-"},"content":"4. Ensure that you have added your remote GitHub repository to your local repository with the following command (replace `xxx` with your GitHub username):"},{"lineNumber":359,"author":{"gitId":"-"},"content":" ```bash"},{"lineNumber":360,"author":{"gitId":"-"},"content":" git remote add origin https://github.com/xxx/mb-dev-xxx.git"},{"lineNumber":361,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":362,"author":{"gitId":"-"},"content":"5. Commit and push the changes to the `main` branch with the following commands:"},{"lineNumber":363,"author":{"gitId":"-"},"content":" ```bash"},{"lineNumber":364,"author":{"gitId":"-"},"content":" git add ."},{"lineNumber":365,"author":{"gitId":"-"},"content":" git commit -m \"Update content\""},{"lineNumber":366,"author":{"gitId":"-"},"content":" git push origin main"},{"lineNumber":367,"author":{"gitId":"-"},"content":"6. Update your GitHub repository setting for deploying to GitHub Pages."},{"lineNumber":368,"author":{"gitId":"-"},"content":" 1. Navigate to the Settings \u003e Pages section on GitHub for that repository and set the source to `Deploy from a branch` and the branch to `gh-pages` and `/(root)`."},{"lineNumber":369,"author":{"gitId":"-"},"content":""},{"lineNumber":370,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":371,"author":{"gitId":"-"},"content":""},{"lineNumber":372,"author":{"gitId":"-"},"content":"**Checkpoint**"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":"Check that the following are true:"},{"lineNumber":375,"author":{"gitId":"-"},"content":"- [ ] The triggered GitHub action runs are successful"},{"lineNumber":376,"author":{"gitId":"-"},"content":"- [ ] The site is deployed and available at `https://\u003cusername\u003e.github.io/mb-dev-xxx/` (after a few seconds to a few minutes)"},{"lineNumber":377,"author":{"gitId":"-"},"content":""},{"lineNumber":378,"author":{"gitId":"-"},"content":"Congratulations! :tada::tada::tada: You have deployed your MarkBind site!"},{"lineNumber":379,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":380,"author":{"gitId":"-"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":"## Summary"},{"lineNumber":382,"author":{"gitId":"-"},"content":""},{"lineNumber":383,"author":{"gitId":"-"},"content":"In the first part of this bootcamp, we experimented with MarkBind as a user. We have set up the master branch of MarkBind and created a new MarkBind site. We have also created content with MarkBind components/syntax and deployed our site."},{"lineNumber":384,"author":{"gitId":"-"},"content":""},{"lineNumber":385,"author":{"gitId":"-"},"content":"Here are some additional tasks for you to try out:"},{"lineNumber":386,"author":{"gitId":"-"},"content":"- [ ] Create a new MarkBind site with a different \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/themes.html\"\u003etheme\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/themes.html\"\u003etheme\u003c/a\u003e"},{"lineNumber":387,"author":{"gitId":"-"},"content":"- [ ] Try out MarkBind\u0027s \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/reusingContents.html#includes\"\u003einclude mechanism\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/reusingContents.html#includes\"\u003einclude mechanism\u003c/a\u003e"},{"lineNumber":388,"author":{"gitId":"-"},"content":"- [ ] Create a dedicated MarkBind site for your personal usage and [share it with us](https://github.com/MarkBind/markbind/discussions/new?category\u003dshow-and-tell)"},{"lineNumber":389,"author":{"gitId":"-"},"content":" - You can see some examples in the [MarkBind showcase]({{ baseUrl }}/showcase.html)"},{"lineNumber":390,"author":{"gitId":"-"},"content":""},{"lineNumber":391,"author":{"gitId":"-"},"content":"Take a break now :coffee: and we will continue with the second part of the bootcamp!"},{"lineNumber":392,"author":{"gitId":"-"},"content":""},{"lineNumber":393,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":394,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027intro\u0027, \u0027contributeToDocs\u0027) }}"}],"authorContributionMap":{"-":393,"yiwen101":1}},{"path":"docs/site.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"baseUrl\": \"\","},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"timeZone\": \"Asia/Singapore\","},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"titlePrefix\": \"MarkBind\","},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"style\": {"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"codeTheme\": \"light\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":9,"author":{"gitId":"-"},"content":" {"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"glob\": [\"*.md\", \"userGuide/*.md\", \"userGuide/components/*.md\", \"devGuide/*.md\", \"devGuide/*/*.md\"]"},{"lineNumber":11,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12,"author":{"gitId":"-"},"content":" {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"src\": ["},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"index.md\","},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"userGuide/index.md\","},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \"userGuide/syntaxReference.md\","},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"userGuide/readerFacingFeatures.md\","},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"devGuide/index.md\""},{"lineNumber":19,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"searchable\": \"no\""},{"lineNumber":21,"author":{"gitId":"-"},"content":" }"},{"lineNumber":22,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"plugins\" : ["},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"filterTags\","},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"mathDelimiters\","},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"codeBlockWrapButtons\","},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"web3Form\","},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"codeBlockCopyButtons\""},{"lineNumber":29,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"pluginsContext\" : {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"filterTags\" : {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"tags\": [\"environment--combined\"]"},{"lineNumber":33,"author":{"gitId":"-"},"content":" },"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"mathDelimiters\": {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"delimiters\": [\"beg_end\"]"},{"lineNumber":36,"author":{"gitId":"-"},"content":" },"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"web3Form\": {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"accessKey\": [\"\"]"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":" },"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"headingIndexingLevel\": 6,"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"ignore\": ["},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"_markbind\","},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"_site/*\","},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"lib/*\","},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"*.json\","},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"*.md\","},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"*.njk\","},{"lineNumber":49,"author":{"gitId":"-"},"content":" \".git/*\","},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"*.pptx\","},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"CNAME\""},{"lineNumber":52,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"deploy\": {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"message\": \"Site Update.\""},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"jingting1412":1,"-":55}},{"path":"docs/ug-site.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"baseUrl\": \"\","},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"titlePrefix\": \"MarkBind\","},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"style\": {"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"codeTheme\": \"light\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":8,"author":{"gitId":"-"},"content":" {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"glob\": [\"*.md\", \"userGuide/*.md\", \"userGuide/components/*.md\"]"},{"lineNumber":10,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11,"author":{"gitId":"-"},"content":" {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"src\": ["},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"index.md\","},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"userGuide/index.md\","},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \"userGuide/syntaxReference.md\","},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"userGuide/readerFacingFeatures.md\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"searchable\": \"no\""},{"lineNumber":19,"author":{"gitId":"-"},"content":" }"},{"lineNumber":20,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"plugins\" : ["},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"filterTags\","},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"mathDelimiters\","},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"codeBlockCopyButtons\""},{"lineNumber":25,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"pluginsContext\" : {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"filterTags\" : {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"tags\": [\"environment--ug\"]"},{"lineNumber":29,"author":{"gitId":"-"},"content":" },"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"mathDelimiters\": {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"delimiters\": [\"beg_end\"]"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":" },"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"headingIndexingLevel\": 6,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"ignore\": ["},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"_markbind\","},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"_site/*\","},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"lib/*\","},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"*.json\","},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"*.md\","},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"*.njk\","},{"lineNumber":42,"author":{"gitId":"-"},"content":" \".git/*\","},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"*.pptx\""},{"lineNumber":44,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"deploy\": {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"message\": \"Site Update.\","},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"repo\": \"https://github.com/MarkBind/markbind.github.io.git\","},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"branch\": \"master\""},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"jingting1412":1,"-":49}},{"path":"docs/userGuide/cliCommands.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" title: \"User Guide: Command Line Interface (CLI)\""},{"lineNumber":3,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: default"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"# CLI Commands"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cpage-nav-print /\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"### Overview"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"If you do not have MarkBind installed globally, you can still use MarkBind commands by prefixing the commands with `npx`. For example, `markbind init` becomes `npx markbind-cli init`."},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"If you have MarkBind installed locally, you may also refer to the scripts section of your `package.json` file for the commands you can use. For example, `npm run init` for `markbind init`."},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"An overview of MarkBind\u0027s Command Line Interface (CLI) can be referenced with `markbind --help`:"},{"lineNumber":21,"author":{"gitId":"-"},"content":"```"},{"lineNumber":22,"author":{"gitId":"-"},"content":"$ markbind --help"},{"lineNumber":23,"author":{"gitId":"-"},"content":"Usage: markbind \u003ccommand\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" "},{"lineNumber":25,"author":{"gitId":"-"},"content":" Options:"},{"lineNumber":26,"author":{"gitId":"-"},"content":" -V, --version output the version number"},{"lineNumber":27,"author":{"gitId":"-"},"content":" -h, --help output usage information"},{"lineNumber":28,"author":{"gitId":"-"},"content":" "},{"lineNumber":29,"author":{"gitId":"-"},"content":" Commands:"},{"lineNumber":30,"author":{"gitId":"-"},"content":" init|i [options] [root] init a markbind website project"},{"lineNumber":31,"author":{"gitId":"-"},"content":" serve|s [options] [root] build then serve a website from a directory"},{"lineNumber":32,"author":{"gitId":"-"},"content":" build|b [options] [root] [output] build a website"},{"lineNumber":33,"author":{"gitId":"-"},"content":" deploy|d [options] [root] deploy the latest build of the site to the repo\u0027s Github pages"},{"lineNumber":34,"author":{"gitId":"-"},"content":"```"},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"markbind-init\"\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"### `init` Command"},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"**Format:** `markbind init [options] [root]`"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"**Alias:** `markbind i`"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"**Description:** Initializes a directory into a MarkBind site by creating a skeleton structure for the website which includes a `index.md` and a `site.json`."},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"**Arguments:**"},{"lineNumber":48,"author":{"gitId":"-"},"content":"* `[root]`\u003cbr\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" Root directory. Default is the current directory.\u003cbr\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" {{ icon_example }} `./myWebsite`"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Options** :fas-cogs:\" type\u003d\"minimal\" expanded\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"**Options** :fas-cogs:"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"* `-c`, `--convert`\u003cbr\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":" Convert an existing GitHub wiki or `docs` folder into a MarkBind website. See [Converting an existing GitHub project]({{ baseUrl }}/userGuide/markBindInTheProjectWorkflow.html#converting-existing-project-documentation-wiki) for more information."},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"* `-t`, `--template` \u003cbr\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" When initialising MarkBind, change the template that you start with. See [templates](templates.html)."},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":"{{ icon_examples }}"},{"lineNumber":63,"author":{"gitId":"-"},"content":"* `markbind init` : Initializes the site in the current working directory."},{"lineNumber":64,"author":{"gitId":"-"},"content":"* `markbind init ./myWebsite` : Initializes the site in `./myWebsite` directory."},{"lineNumber":65,"author":{"gitId":"-"},"content":"* `markbind init --convert --template minimal`: Converts the GitHub wiki or `docs` folder in the current working directory into a minimal MarkBind website."},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"### `serve` Command"},{"lineNumber":72,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":"**Format:** `markbind serve [options] [root]`"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"**Alias:** `markbind s`"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"**Description:** Does the following steps:"},{"lineNumber":79,"author":{"gitId":"-"},"content":"1. Builds the site and puts the generated files in a directory named `_site`."},{"lineNumber":80,"author":{"gitId":"LamJiuFong"},"content":"1. Starts a web server instance locally and makes the site available at `http://127.0.0.1:8080` by default."},{"lineNumber":81,"author":{"gitId":"-"},"content":"1. Opens a \u003ctrigger trigger\u003d\"click\" for\u003d\"modal:cliCommands-livePreview\"\u003elive preview\u003c/trigger\u003e of the website."},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003cmodal large header\u003d\"Live Preview\" id\u003d\"modal:cliCommands-livePreview\"\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"glossary.md#live-preview\"/\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003c/modal\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"**Arguments:**"},{"lineNumber":88,"author":{"gitId":"-"},"content":"* `[root]`\u003cbr\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" Root directory. The default is the directory where this command was executed.\u003cbr\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":" {{ icon_example }} `./myWebsite`"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Options** :fas-cogs:\" type\u003d\"minimal\" expanded\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":"**Options** :fas-cogs:"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"* `-o \u003cfile\u003e`, `--one-page \u003cfile\u003e`\u003cbr\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":" Serves only a single page from your website **initially**. If `\u003cfile\u003e` is not specified, it defaults to `index.md`.\u003cbr\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Thereafter, when changes to source files have been made, the opened pages will be rebuilt if it was affected.\u003cbr\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":" * Navigating to a new page will build the new page, if it has not been built before, or there were some changes to source files that affected it before navigating to it.\u003cbr\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * {{ icon_example }} `--one-page guide/index.md`"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" light header\u003d\"Caveats\" style\u003d\"width: calc(100% - 50px); position: relative; left: 40px;\"\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"Essentially, this optional feature is very useful when writing content, more so if your build times are starting to slow down!"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"The caveat is that not building all pages during the initial process, or not rebuilding all affected pages when a file changes, will cause your search results for these pages to be empty or outdated, until you navigate to them to trigger a rebuild."},{"lineNumber":107,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":"* `-b`, `--background-build` **[BETA]**\u003cbr\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" If `--one-page` is specified, this mode enhances the single-page serve by building the pages that are not yet built"},{"lineNumber":111,"author":{"gitId":"-"},"content":" or marked to be rebuilt in the background."},{"lineNumber":112,"author":{"gitId":"-"},"content":" "},{"lineNumber":113,"author":{"gitId":"-"},"content":" You can still edit the pages during the background build. When MarkBind detects changes to the source"},{"lineNumber":114,"author":{"gitId":"-"},"content":" files, the background build will stop, rebuild the files affected, then resumes the background build with the"},{"lineNumber":115,"author":{"gitId":"-"},"content":" remaining pages."},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":"* `-s \u003cfile\u003e`, `--site-config \u003cfile\u003e`\u003cbr\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":" Specify the site config file (default: `site.json`)\u003cbr\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":" {{ icon_example }} `-s otherSite.json`"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":"* `-n`, `--no-open`\u003cbr\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":" Don\u0027t open a live preview in the browser automatically."},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":"* `-f`, `--force-reload`\u003cbr\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" Force live reload to process all files in the site, instead of just the relevant files. This option is useful when you are modifying a file that is not a file type monitored by the \u003ctrigger trigger\u003d\"click\" for\u003d\"modal:cliCommands-livePreview\"\u003elive preview\u003c/trigger\u003e feature."},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"LamJiuFong"},"content":"* `-a \u003caddress\u003e`, `--address \u003caddress\u003e`\u003cbr\u003e"},{"lineNumber":128,"author":{"gitId":"LamJiuFong"},"content":" Specify the server address/host (Default is 127.0.0.1)."},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"LamJiuFong"},"content":"* `-p \u003cport\u003e`, `--port \u003cport\u003e`\u003cbr\u003e"},{"lineNumber":131,"author":{"gitId":"LamJiuFong"},"content":" Serve the website in the specified port (Default is 8080)."},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":"{{ icon_examples }}"},{"lineNumber":134,"author":{"gitId":"-"},"content":"* `markbind serve` : Serves the site from the current working directory."},{"lineNumber":135,"author":{"gitId":"-"},"content":"* `markbind serve ./myWebsite` : Serves the site from the `./myWebsite` directory."},{"lineNumber":136,"author":{"gitId":"-"},"content":"* `markbind serve -p 8888 -s otherSite.json` : Serves the site in Port 8888 from the current working directory, using `otherSite.json` as the site configuration file."},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"### `build` Command"},{"lineNumber":143,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":"**Format:** `markbind build [options] [root] [output]`"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"**Alias:** `markbind b`"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":"**Description:** Generates the site to the directory named `_site` in the current directory."},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":"**Arguments:**"},{"lineNumber":152,"author":{"gitId":"-"},"content":"* `[root]`\u003cbr\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":" Root directory. Default is the current directory.\u003cbr\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":" {{ icon_example }} `./myWebsite`"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":"* `[root] [output]`\u003cbr\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":" Read source files from the `[root]` directory and put the generated files in the specified `[output]` directory. Default output directory is `_site`.\u003cbr\u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":" {{ icon_example }} `./myWebsite ./myWebsite/myOutDir`"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Options** :fas-cogs:\" type\u003d\"minimal\" expanded\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":"**Options** :fas-cogs:"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":"* `--baseUrl \u003cbase\u003e`\u003cbr\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":" Override the `baseUrl` property (read from the `site.json`) with the given `\u003cbase\u003e` value.\u003cbr\u003e"},{"lineNumber":166,"author":{"gitId":"-"},"content":" {{ icon_example }} `--baseUrl staging`"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":"* `-s \u003cfile\u003e`, `--site-config \u003cfile\u003e`\u003cbr\u003e"},{"lineNumber":169,"author":{"gitId":"-"},"content":" Specify the site config file (default: `site.json`)\u003cbr\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":" {{ icon_example }} `-s otherSite.json`"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":"**{{ icon_examples }}**"},{"lineNumber":173,"author":{"gitId":"-"},"content":"* `markbind build` : Generates the site from the current working directory."},{"lineNumber":174,"author":{"gitId":"-"},"content":"* `markbind build ./myWebsite` : Generates the site from the `./myWebsite` directory."},{"lineNumber":175,"author":{"gitId":"-"},"content":"* `markbind build ./myWebsite ./myOutDir` : Generates the site from the `./myWebsite` directory to the `./myOutDir` directory."},{"lineNumber":176,"author":{"gitId":"-"},"content":"* `markbind build ./stagingDir --baseUrl staging` : Generates the site from the `./stagingDir` directory, with the `baseUrl` property in `site.json` set to `staging`."},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":"### `deploy` Command"},{"lineNumber":183,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":"**Format:** `markbind deploy [options] [root]`"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":"**Alias:** `markbind d`"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":"**Description:** Deploys the site to the repo\u0027s GitHub pages by generating the site (default dir: `_site`) and pushing the generated site to the `gh-pages` branch of the current git working directory\u0027s remote repo."},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"**Arguments:**"},{"lineNumber":192,"author":{"gitId":"-"},"content":"* `[root]`\u003cbr\u003e"},{"lineNumber":193,"author":{"gitId":"-"},"content":" Root directory. Default is the current directory.\u003cbr\u003e"},{"lineNumber":194,"author":{"gitId":"-"},"content":" {{ icon_example }} `./myWebsite`"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Options** :fas-cogs:\" type\u003d\"minimal\" expanded\u003e"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":"**Options** :fas-cogs:"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":"* `-c \u003cgithubTokenName\u003e`, `--ci \u003cgithubTokenName\u003e`\u003cbr\u003e"},{"lineNumber":201,"author":{"gitId":"-"},"content":" Deploy the site in CI Environments using the GitHub personal access token stored in `\u003cgithubTokenName\u003e` (default: `GITHUB_TOKEN`).\u003cbr\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":" {{ icon_example }} `-c PA_TOKEN`"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":"* `-n`, `--no-build`\u003cbr\u003e"},{"lineNumber":205,"author":{"gitId":"-"},"content":" Skips the generation of the site before deploying it. By default, the `deploy` command generates the site before deploying the built site. This command should be used if the site needs to be generated with non-default arguments for the `build` command (e.g. baseUrl is specified using the `--baseUrl` flag for the `markbind build` command)."},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":"* `-s \u003cfile\u003e`, `--site-config \u003cfile\u003e`\u003cbr\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":" Specify the site config file (default: `site.json`).\u003cbr\u003e"},{"lineNumber":209,"author":{"gitId":"-"},"content":" {{ icon_example }} `-s otherSite.json`"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":"%%{{ icon_info }} Related: [User Guide: Deploying the Website](deployingTheSite.html).%%"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":"**{{ icon_examples }}**"},{"lineNumber":214,"author":{"gitId":"-"},"content":"* `markbind deploy` : Deploys after generating the site from the current working directory."},{"lineNumber":215,"author":{"gitId":"-"},"content":"* `markbind deploy ./myWebsite` : Deploys after generating the site from the `./myWebsite` directory."},{"lineNumber":216,"author":{"gitId":"-"},"content":"* `markbind deploy --no-build` : Deploys the site from the current working directory without generating it."},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":"### `--help` Option"},{"lineNumber":223,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":"**Format:** `markbind [command] --help`"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":"**Alias:** `markbind [command] -h`"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"**Description:** Prints a summary of MarkBind commands or a detailed usage guide for the given `command`."},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":"{{ icon_examples }}"},{"lineNumber":232,"author":{"gitId":"-"},"content":"* `markbind --help` : Prints a summary of MarkBind commands."},{"lineNumber":233,"author":{"gitId":"-"},"content":"* `markbind serve --help` : Prints a detailed usage guide for the `serve` command."}],"authorContributionMap":{"LamJiuFong":5,"-":228}},{"path":"docs/userGuide/components/imagesAndDiagrams.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Image \u0026 Diagram Components\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"imagesAndDiagrams\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"advanced.md#slots-info\" /\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"# Images \u0026 Diagrams"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\" class\u003d\"lead\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"The image components here provide **convenient syntax \u0026 styling abstractions** on top of raw HTML and Markdown images."},{"lineNumber":22,"author":{"gitId":"-"},"content":"Diagrams, in the form of **inline PlantUML components** are also supported."},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"{% macro show_topic(filename) %}"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"../syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":"{% if \u0027images-diagrams\u0027 in v[2] %}"},{"lineNumber":34,"author":{"gitId":"-"},"content":"{{ show_topic(k) }}"},{"lineNumber":35,"author":{"gitId":"-"},"content":"{% endif %}"},{"lineNumber":36,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":41,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027presentation\u0027, \u0027popups\u0027) }}"}],"authorContributionMap":{"jingting1412":2,"-":39}},{"path":"docs/userGuide/components/navigation.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Navigation Components\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"navigation\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"advanced.md#slots-info\" /\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"# Navigation"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\" class\u003d\"lead\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"The components in this page are used for scaffolding **site and page navigation**."},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"{% macro show_topic(filename) %}"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"../syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":"{% if \u0027navigation\u0027 in v[2] %}"},{"lineNumber":33,"author":{"gitId":"-"},"content":"{{ show_topic(k) }}"},{"lineNumber":34,"author":{"gitId":"-"},"content":"{% endif %}"},{"lineNumber":35,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":40,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027popups\u0027, \u0027others\u0027) }}"}],"authorContributionMap":{"jingting1412":2,"-":38}},{"path":"docs/userGuide/components/others.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Other Components\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"others\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"advanced.md#slots-info\" /\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"# Others"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\" class\u003d\"lead\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"This page lists some other components that may be useful in creating education websites. For now, there are only question and quiz components."},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"{% macro show_topic(filename) %}"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"../syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":"{% if \u0027others\u0027 in v[2] %}"},{"lineNumber":33,"author":{"gitId":"-"},"content":"{{ show_topic(k) }}"},{"lineNumber":34,"author":{"gitId":"-"},"content":"{% endif %}"},{"lineNumber":35,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":40,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027navigation\u0027, \u0027advanced\u0027) }}"}],"authorContributionMap":{"jingting1412":2,"-":38}},{"path":"docs/userGuide/components/popups.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Pop-Up Components\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"popups\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"advanced.md#slots-info\" /\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"# Pop-Ups"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\" class\u003d\"lead\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"The components in this page can be used to easily create **various forms of pop-ups** that are activated on some user action (e.g., hovering over some text). This may be useful for showing additional information related to some specific area or span of content."},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"{% macro show_topic(filename) %}"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"../syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":"{% if \u0027popups\u0027 in v[2] %}"},{"lineNumber":33,"author":{"gitId":"-"},"content":"{{ show_topic(k) }}"},{"lineNumber":34,"author":{"gitId":"-"},"content":"{% endif %}"},{"lineNumber":35,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":40,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027imagesAndDiagrams\u0027, \u0027navigation\u0027) }}"}],"authorContributionMap":{"jingting1412":2,"-":38}},{"path":"docs/userGuide/components/presentation.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Presentational Components\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"presentation\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"advanced.md#slots-info\" /\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"# Presentation"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\" class\u003d\"lead\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"The components in this page are the core **presentational** components you may want to use. Panels and tabs can be used to **organise content sections**, while badges and boxes can **highlight small, specific pieces of information**."},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":"\u003cbox type \u003d \"warning\" header \u003d \"#### Use of markdown in content\" \u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":"As presentational components are HTML-based, you need to follow the HTML syntax when using markdown in the content of the components."},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":"More specifically, you should use either:"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"- add a line break with no indentation before the markdown content"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":"- use the `\u003cmarkdown\u003e` (block level elements) or `\u003cmd\u003e` (inline level elements) tags to wrap the markdown content."},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":"For more information, please refer to this [section]({{baseUrl}}/userGuide/usingHtmlJavaScriptCss.html#markdown-in-html)."},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"{% macro show_topic(filename) %}"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"../syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":"{% if \u0027presentation\u0027 in v[2] %}"},{"lineNumber":42,"author":{"gitId":"-"},"content":"{{ show_topic(k) }}"},{"lineNumber":43,"author":{"gitId":"-"},"content":"{% endif %}"},{"lineNumber":44,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"# Relevant Tips \u0026 Tricks"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Indent components\"\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"../tipsAndTricks.md#indentComponents\" /\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":57,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027../usingComponents\u0027, \u0027imagesAndDiagrams\u0027) }}"}],"authorContributionMap":{"jingting1412":2,"-":47,"yiwen101":8}},{"path":"docs/userGuide/formattingContents.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Formatting Contents\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"formattingContents\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 2"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"# {{ title }}"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\" id\u003d\"overview\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"**MarkBind supports a wide collection of Markdown-like basic content formatting syntax** such as text styling, tables, lists, images, links, etc."},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"{% macro show_topic(filename) %}"},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"./syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" {% if \u0027basic\u0027 in v[2] %}"},{"lineNumber":32,"author":{"gitId":"-"},"content":"{{ show_topic(k) }}"},{"lineNumber":33,"author":{"gitId":"-"},"content":" {% endif %}"},{"lineNumber":34,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"# Relevant Tips \u0026 Tricks"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Escaping Characters\"\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"tipsAndTricks.md#escapingCharacters\" /\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":45,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027markBindSyntaxOverview\u0027, \u0027usingComponents\u0027) }}"}],"authorContributionMap":{"jingting1412":2,"-":43}},{"path":"docs/userGuide/markBindInTheProjectWorkflow.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"MarkBind in the Project Workflow\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"markBindInTheProjectWorkflow\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"# {{ title }}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\" id\u003d\"overview\"\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"As **MarkBind is especially optimized as a project documentation tool**, it integrates well with the workflow of software projects."},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"#### Authoring Workflow"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"While most IDEs provide previews for Markdown files, unless your MarkBind files are using basic Markdown syntax only, you are recommended to launch a {{ link_live_preview }} and check the rendering of the page as you modify the source file."},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"#### GitHub Project Workflow"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"If you use GitHub for your project, you can [deploy your site to GitHub pages](deployingTheSite.html#deploying-to-github-pages) easily. You can even set up Travis to automatically deploy your site to GitHub pages whenever a branch in your repo is updated."},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"If you are using GitHub Pull Requests as part of your workflow, you can [set up Netlify to show a preview of the site generated from the MarkBind code in the PR](deployingTheSite.html#deploying-to-netlify)."},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"#### Using MarkBind for Project Documentation"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"Here is an example workflow for using MarkBind for both developer documentation and user documentation in a GitHub project:"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"Suppose the main development of the project is done in the `master` branch while product releases are done using the `release` branch."},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"You can keep the user docs in a separate directory (say `user-docs`) and set up a MarkBind project in that folder. When there is a new release, you can deploy the user-docs site to GitHub Pages for users to read."},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"Similarly, you can keep the dev docs in a separate directory (say `dev-docs`) and set up Netlify to deploy the site when there is an update to the `master` branch; that way, developers can see the latest version of dev-docs via the Netlify site."},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"#### Converting existing project documentation/wiki"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"MarkBind supports the automatic conversion of an existing GitHub wiki or `docs` folder containing Markdown files."},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"A MarkBind conversion involves the following:"},{"lineNumber":49,"author":{"gitId":"-"},"content":"- Adding a Home page: If your project already has a `README.md` or `Home.md`, the content will be copied over to `index.md`. Otherwise, a default home page will be added."},{"lineNumber":50,"author":{"gitId":"-"},"content":"- Adding an About Us page: If your project already has `about.md`, this will be used as the About page. Otherwise, a default About page will be added."},{"lineNumber":51,"author":{"gitId":"-"},"content":"- Adding a top navigation bar."},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":"- Adding a site navigation menu: If your project has a valid `_Sidebar.md` file, it will be used as the [site navigation menu]({{baseUrl}}/userGuide/tweakingThePageStructure.html#constructing-a-page-navigation-menu). Otherwise, the menu will be built from your project\u0027s directory structure and contain links to all addressable pages. "},{"lineNumber":53,"author":{"gitId":"-"},"content":"- Adding a custom footer: If your project has a valid `_Footer.md` file, it will be used as the website footer. Otherwise, a default footer will be added."},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" Conversion might not work if your project files have existing Nunjucks syntax. "},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"To convert your existing project, follow these steps:"},{"lineNumber":60,"author":{"gitId":"-"},"content":"1. Navigate into the project directory."},{"lineNumber":61,"author":{"gitId":"-"},"content":"1. Run `markbind init --convert` to convert the project."},{"lineNumber":62,"author":{"gitId":"-"},"content":"1. You can now preview the website using `markbind serve` to view your newly converted MarkBind website."},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":" You only need to run the conversion once. Once you have converted your project, you can proceed to edit it as a normal MarkBind project."},{"lineNumber":66,"author":{"gitId":"-"},"content":"\u003c/box\u003e "},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":69,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027deployingTheSite\u0027, \u0027redirectingToACustom404Page\u0027) }}"}],"authorContributionMap":{"-":68,"yiwen101":1}},{"path":"docs/userGuide/readerFacingFeatures.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" title: \"User Guide: Reader-Facing Features\""},{"lineNumber":3,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" pageNav: 5"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"components/advanced.md#slots-info\" /\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"# Reader-Facing Features"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"info\"\u003eExpand the \u003cmd\u003e**details...**\u003c/md\u003e panel for more info!\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"{% macro show_topic(filename, heading) %}"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"##### {{ heading }}"},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003cbox\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"syntax/{{ filename }}.md#examples\" /\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"seamless\" header\u003d\"%%details...%%\" \u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" {% if \u0027reader-facing\u0027 in v[2] %}"},{"lineNumber":31,"author":{"gitId":"-"},"content":"{{ show_topic( k, v[0]) }}"},{"lineNumber":32,"author":{"gitId":"-"},"content":" {% endif %}"},{"lineNumber":33,"author":{"gitId":"-"},"content":"{% endfor %}"}],"authorContributionMap":{"jingting1412":4,"-":29}},{"path":"docs/userGuide/reusingContents.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Reusing Contents\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"reusingContents\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 4"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"# {{ title }}"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\" id\u003d\"overview\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"**MarkBind is highly-optimized for content reuse**. It offers several mechanisms to provide readers with many variations of the content while minimizing duplication at source file level. As a result, instead of creating a one-size-fits-all site, MarkBind can create a site in which readers can chart their own path of reading."},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"syntax/variables.md\" /\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"syntax/includes.md\" /\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"## Reusing Contents Across Sites"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"**MarkBind supports reusing across sites.** It allows you to include the pages you want from a _sub-site_ in another _main-site_ without having to change anything in the source files of the _sub-site_ as long as the _sub-site_ source files are inside the directory of the _main-site_."},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"{{ icon_example }} Suppose you have a site `textbook` and you want to include some pages from it in another site `course`. Given below is how you can locate the sub-site `textbook` inside the root directory of the main-site `course` so that files from `textbook` can be reused in the `course` site."},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003ctree\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":"C:/course/"},{"lineNumber":40,"author":{"gitId":"-"},"content":" textbook/"},{"lineNumber":41,"author":{"gitId":"-"},"content":" index.md"},{"lineNumber":42,"author":{"gitId":"-"},"content":" overview.md"},{"lineNumber":43,"author":{"gitId":"-"},"content":" site.json"},{"lineNumber":44,"author":{"gitId":"-"},"content":" index.md"},{"lineNumber":45,"author":{"gitId":"-"},"content":" reading.md"},{"lineNumber":46,"author":{"gitId":"-"},"content":" site.json"},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003c/tree\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":"In `reading.md` (note how it reuses content from the sub-site `textbook`):"},{"lineNumber":50,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":51,"author":{"gitId":"-"},"content":"# Week 1 Reading:"},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"textbook/overview.md\" /\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":"```"},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"tip.md\" boilerplate \u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"tip_body\"\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":"If you are using Git for version control, you can set up the sub-site repository as a [Git sub-module](https://git-scm.com/book/en/v2/Git-Tools-Submodules) of the main site repository."},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"## Creating Content Variations"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":"**MarkBind can create sites that give more control to the reader.** Given below are some mechanisms authors can use to create variations of content that gives more control to the reader in charting their own path through the content."},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":"#### Allowing users to remove some contents"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"When the readers can remove an item from a page, they can create their own version of the page by removing items they don\u0027t want to see. This is especially useful when printing a page."},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":"To make an element closeable, use `v-closeable`."},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":78,"author":{"gitId":"-"},"content":"\u003cdiv v-closeable\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":"Optional video:"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":"@[youtube](v40b3ExbM0c)"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"```"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"This is how the content will appear. Note how you can hover over the content to access the :x: button that can collapse the content."},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003cdiv v-closeable\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":"Optional video:"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":"@[youtube](v40b3ExbM0c)"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"#### Giving alternative contents"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":"You can use a [_Tabs_ component](components/presentation.html#tabs) to give alternative versions of content, for example, giving a code snippet in different programming languages."},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":"#### Giving access to additional contents"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"You can use following components to give readers an option to access additional content at their discretion."},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":"* [Tooltips](components/popups.html#tooltips), [Popovers](components/popups.html#popovers), [Modals](components/popups.html#modals)"},{"lineNumber":106,"author":{"gitId":"-"},"content":"* [Expandable Panels](components/presentation.html#panels)"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"#### Organizing contents in alternative ways"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":"You can take advantage of [MarkBind\u0027s feature for content reuse](reusingContents.html) to organize content in alternative ways to cater for different readers, without having to duplicate content. For example, you can have different pages that organizes the same information alphabetically, chronologically, by difficulty, group information by topic, etc."},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"#### Optimizing the Print View"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":"To \u003cspan class\u003d\"keyword\"\u003ehide minimized panels in the _print view_\u003c/span\u003e, add the following code to a CSS file used in your site."},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":"```css"},{"lineNumber":117,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" .card-container \u003e .morph {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":"}"},{"lineNumber":122,"author":{"gitId":"-"},"content":"```"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"Tim-Siu"},"content":"MarkBind also comes with some built-in optimizations for printing by default:"},{"lineNumber":125,"author":{"gitId":"Tim-Siu"},"content":"- \u003cinclude src\u003d\"syntax/code.md#code-print-optimization\" /\u003e"},{"lineNumber":126,"author":{"gitId":"Tim-Siu"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":"#### Hiding some info in the generated content"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":"To permanently hide a fragment from the reader:"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"d-none\"\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":" content to hide ..."},{"lineNumber":134,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"...\" add-class\u003d\"d-none\"\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":" content to hide ..."},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003cpanel\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":"```"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":"To hide a fragment in one specific page, \u0027mark\u0027 the elements using a `class`:"},{"lineNumber":142,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":143,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"extra\"\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":" content to hide ..."},{"lineNumber":145,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":"```"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":"Then, in a page-specific CSS file,"},{"lineNumber":149,"author":{"gitId":"-"},"content":"```css"},{"lineNumber":150,"author":{"gitId":"-"},"content":".extra {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" display: none; /* \u0027block\u0027 or \u0027inline-block\u0027 if you want it to show */"},{"lineNumber":152,"author":{"gitId":"-"},"content":"}"},{"lineNumber":153,"author":{"gitId":"-"},"content":"```"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":"#### Deploying a page multiple times with different titles"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":"By [overriding the `title` declared in the frontmatter of the page using `site.json`](tweakingThePageStructure.html#frontmatter), it is possible to allow MarkBind to serve the same page with different titles. "},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":"This may especially be useful for users who are serving a page from a submodule."},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"#### Creating slight variations of content"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":"Tags are a good way to create multiple variations of a page within the same source file, such as to filter content for creating multiple different versions of the same page. See [_User Guide: Tweaking the Page Structure → Tags_](tweakingThePageStructure.html#plugin-tags) section for more information."},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":166,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027tweakingThePageStructure\u0027, \u0027workingWithSites\u0027) }}"}],"authorContributionMap":{"-":160,"yiwen101":3,"Tim-Siu":3}},{"path":"docs/userGuide/siteJsonFile.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" title: \"site.json File\""},{"lineNumber":3,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":4,"author":{"gitId":"-"},"content":" keywords: site.json"},{"lineNumber":5,"author":{"gitId":"-"},"content":" pageNav: 4"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"# `site.json` File"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"The `site.json` file {{ tooltip_root_directory }} is used to configure various aspects of a MarkBind website."},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"Here is a typical `site.json` file:"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"```json"},{"lineNumber":18,"author":{"gitId":"-"},"content":"{"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"baseUrl\": \"/myproduct\","},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"faviconPath\": \"myfavicon.png\","},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"titlePrefix\": \"FooBar Dev Docs\","},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"titleSuffix\": \"FooBar\","},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"style\": {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"bootstrapTheme\": \"bootswatch-cerulean\","},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"codeTheme\": \"light\","},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"codeLineNumbers\": true"},{"lineNumber":27,"author":{"gitId":"-"},"content":" },"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":29,"author":{"gitId":"-"},"content":" {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"src\": \"index.md\","},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"layout\": \"normal\","},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"searchable\": \"no\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"externalScripts\": ["},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"https://cdn.plot.ly/plotly-latest.min.js\""},{"lineNumber":36,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"frontmatter\": {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"header\": \"header.md\""},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":" },"},{"lineNumber":41,"author":{"gitId":"-"},"content":" {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"glob\": \"topics/**/*.md\","},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"globExclude\": [\"topics/*/appendix/*.md\"],"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"layout\": \"subtopic\""},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"pagesExclude\": [\"subsite/**/*.md\", \"node_modules/*\"],"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"externalScripts\": ["},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config\u003dTeX-MML-AM_CHTML\""},{"lineNumber":50,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"deploy\": {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"message\": \"Site Update.\","},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"repo\": \"https://github.com/myorg/myrepo.git\","},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"branch\": \"gh-pages\""},{"lineNumber":55,"author":{"gitId":"-"},"content":" },"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"globalOverride\": {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"footer\": \"my-footer.md\""},{"lineNumber":58,"author":{"gitId":"-"},"content":" },"},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"ignore\": ["},{"lineNumber":60,"author":{"gitId":"-"},"content":" \"_site/*\","},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"*.json\","},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"*.md\","},{"lineNumber":63,"author":{"gitId":"-"},"content":" \".git/*\","},{"lineNumber":64,"author":{"gitId":"-"},"content":" \".gitignore\","},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"node_modules/*\""},{"lineNumber":66,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \"plugins\" : ["},{"lineNumber":68,"author":{"gitId":"-"},"content":" \"filterTags\""},{"lineNumber":69,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"pluginsContext\" : {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"filterTags\" : {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" \"tags\": [\"tag1\", \"tag2\"]"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":" },"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"headingIndexingLevel\": 4,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \"intrasiteLinkValidation\": {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"enabled\": false"},{"lineNumber":78,"author":{"gitId":"-"},"content":" },"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"plantumlCheck\": true"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":"```"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"#### **`baseUrl`**"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":"**The base URL relative to your domain.** Default: `\"\"`(empty)."},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"deployingTheSite.md#warning-about-baseUrl\" /\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"Note: `baseUrl` does not support [live preview](glossary.md#live-preview) as there is no use case for changing it in during `markbind serve`."},{"lineNumber":92,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":"#### **`faviconPath`**"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"**The location of the favicon.** Default: `favicon.ico`."},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":"%%{{ icon_info }} If the favicon was recently changed, you may need to force-refresh the Browser to see the new image.%%"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"#### **`titlePrefix`**"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"**The prefix for all page titles.** The separator `-` will be inserted by MarkBind."},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"#### **`titleSuffix`**"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":"**The suffix for all page titles.** The separator `-` will be inserted by MarkBind."},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"#### **`style`**"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":"_(Optional)_ **The styling options to be applied to the site.** This includes:"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":"* **`bootstrapTheme`**"},{"lineNumber":117,"author":{"gitId":"-"},"content":" _(Optional)_ The theme for the generated site.\u003cbr\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":" Uses the default Bootstrap theme if not specified. See [User Guide: Themes](themes.html) for more details."},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":"* **`codeTheme`** [Optional. Default: `\"dark\"`]\u003cbr\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":" The theme used for fenced code blocks. Accepts either `\"light\"` or `\"dark\"`."},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"* **`codeLineNumbers`** [Optional. Default: `false`]\u003cbr\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":" The global setting to display or hide line numbers for code blocks. Accepts either `true` or `false`."},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"#### **`pages`**"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"**An array of pages to be rendered.**"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":"* **`src/glob`**"},{"lineNumber":131,"author":{"gitId":"-"},"content":" * `src` can be used to specify a single file, or an array of files.\u003cbr\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":" {{ icon_examples }} `docs/index.md` or `[ \u0027docs/index.md\u0027, \u0027docs/userGuide.md\u0027 ]` { .my-1 }"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * `glob` can be used alternatively to define a file pattern in the [_glob syntax_](https://en.wikipedia.org/wiki/Glob_(programming)), or an array of such file patterns.\u003cbr\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":" {{ icon_examples }} `**/*.md` or `[ \u0027**/*.md\u0027, \u0027**/index.md\u0027 ]` { .my-2 }"},{"lineNumber":135,"author":{"gitId":"-"},"content":"* **`globExclude`**: An array of file patterns to be excluded from rendering when using `glob`, also defined in the glob syntax."},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":"* **`title`**: The page `\u003ctitle\u003e` for the generated web page. Titles specified here take priority over titles specified in the [frontmatter](tweakingThePageStructure.html#frontmatter) of individual pages."},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":"* **`layout`**: The [layout](tweakingThePageStructure.html#layouts) to be used by the page. Default: `default`."},{"lineNumber":138,"author":{"gitId":"-"},"content":"* **`searchable`**: Specifies that the page(s) should be excluded from searching. Default: `yes`."},{"lineNumber":139,"author":{"gitId":"-"},"content":"* **`externalScripts`**: An array of external scripts to be referenced on the page. Scripts referenced will be run before the layout script."},{"lineNumber":140,"author":{"gitId":"-"},"content":"* **`frontmatter`**: Specifies properties to add to the frontmatter of a page or glob of pages. Overrides any existing properties if they have the same name, and overrides any frontmatter properties specified in `globalOverride`."},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"page-property-overriding\"\u003e"},{"lineNumber":143,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":"[Page properties that are defined in `site.json`](#pages) for a particular page will override those defined in the frontmatter of the page. For example, if we declare a `title` within the frontmatter of the page (say `index.md`) like such:"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":148,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":" title: Hello World"},{"lineNumber":150,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":"```"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":"But the `title` property in the corresponding `site.json` is set as such:"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":"```js"},{"lineNumber":156,"author":{"gitId":"-"},"content":"{"},{"lineNumber":157,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":158,"author":{"gitId":"-"},"content":" {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" \"src\": \"index.md\","},{"lineNumber":160,"author":{"gitId":"-"},"content":" \"title\": \"Landing Page\","},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":163,"author":{"gitId":"-"},"content":"}"},{"lineNumber":164,"author":{"gitId":"-"},"content":"```"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":"Then, the title of `index.md` will be set as \"Landing Page\" instead of \"Hello World\"."},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":"In this manner, setting the property `title` in `site.json` will always override the `title` declared within the frontmatter of the page."},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"page-glob-overriding\"\u003e"},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":"Note: If multiple **`src`** (pages) or **`glob`** (globs) attributes match a file, MarkBind will merge properties from all entries. If there are conflicting properties, pages are given priority over globs. If there are multiple matching glob entries, the last entry is given priority."},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":"{{ icon_example }} Multiple entries matching `index.md`:"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":"```js"},{"lineNumber":183,"author":{"gitId":"-"},"content":"{"},{"lineNumber":184,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":185,"author":{"gitId":"-"},"content":" {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \"src\": \"index.md\","},{"lineNumber":187,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":188,"author":{"gitId":"-"},"content":" \"searchable\": \"no\""},{"lineNumber":189,"author":{"gitId":"-"},"content":" },"},{"lineNumber":190,"author":{"gitId":"-"},"content":" {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" \"glob\": \"*.md\","},{"lineNumber":192,"author":{"gitId":"-"},"content":" \"layout\": \"normal\","},{"lineNumber":193,"author":{"gitId":"-"},"content":" \"searchable\": \"yes\""},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":196,"author":{"gitId":"-"},"content":"}"},{"lineNumber":197,"author":{"gitId":"-"},"content":"```"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":"The following properties will apply to `index.md`:"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":"```js"},{"lineNumber":202,"author":{"gitId":"-"},"content":"{"},{"lineNumber":203,"author":{"gitId":"-"},"content":" \"src\": \"index.md\","},{"lineNumber":204,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\", // Inherited from page"},{"lineNumber":205,"author":{"gitId":"-"},"content":" \"layout\": \"normal\", // Inherited from glob"},{"lineNumber":206,"author":{"gitId":"-"},"content":" \"searchable\": \"no\", // Page takes priority over glob"},{"lineNumber":207,"author":{"gitId":"-"},"content":"}"},{"lineNumber":208,"author":{"gitId":"-"},"content":"```"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":"#### **`pagesExclude`**"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":"**An array of file patterns to be excluded from rendering.** The exclusion pattern follows the glob syntax."},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":"This property is the global variant to the `globExclude` property and is functionally identical to it. If the two are used at once, the file patterns from both properties will be combined when excluding pages."},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"#### **`externalScripts`**"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":"**An array of external scripts to be referenced on all pages.** To reference an external script only on specific pages, `externalScripts` should be specified in `pages` instead. Scripts referenced will be run before the layout script."},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":"#### **`globalOverride`**"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":"**Globally overrides properties in the frontmatter of all pages.** Any property included in the global override will automatically be merged with the frontmatter of every single page, and override them if the property exists."},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":"#### **`ignore`**"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":"**An array of file patterns to be ignored when copying files to the generated site.** By default, MarkBind will copy all the files as assets of the generated site."},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":"The ignore pattern follows the [glob pattern used in .gitignore](https://git-scm.com/docs/gitignore#_pattern_format). For example, `*.md` ignores all markdown source files."},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"site-json-deploy\"\u003e"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":"#### **`deploy`**"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":"**The settings for [auto-deployment to GitHub pages](deployingTheSite.html).**"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":"* **`message`** [Optional. Default: `\"Site Update.\"`]\u003cbr\u003e"},{"lineNumber":241,"author":{"gitId":"-"},"content":" The commit message used for the deployment commit."},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":"* **`repo`** [Optional. Default: the current working project\u0027s repo]\u003cbr\u003e"},{"lineNumber":244,"author":{"gitId":"-"},"content":" The repo you want to deploy to.\u003cbr\u003e"},{"lineNumber":245,"author":{"gitId":"-"},"content":" Format: `\"https://github.com/\u003corg|username\u003e/\u003crepo\u003e.git\"` (`\"git@github.com:\u003corg|username\u003e/\u003crepo\u003e.git\"` if you use SSH)\u003cbr\u003e"},{"lineNumber":246,"author":{"gitId":"-"},"content":" {{ icon_example }} `\"https://github.com/myorg/myrepo.git\"`"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":"* **`branch`** [Optional. Default: `\"gh-pages\"`]\u003cbr\u003e"},{"lineNumber":249,"author":{"gitId":"-"},"content":" The branch that will be deployed to in the remote repo."},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":"#### **`plugins`**, **`pluginsContext`**"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":"**A list of plugins to load.** Plugins are user-defined extensions that can add custom features to MarkBind. `pluginsContext` contains settings to be applied to the loaded plugins. See [User Guide: Using Plugins](usingPlugins.html) for more details."},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":"The example above uses tags as an example of configuring plugin settings, refer to the [`filterTags` plugin](tweakingThePageStructure.html#toggling-alternative-contents) for more details."},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":"#### **`headingIndexingLevel`**"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":"**The level of headings to be indexed for searching.** Default: `3` %%i.e., only headings of levels 1,2,3 will be indexed for searching%%."},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":"#### **`enableSearch`**"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":"**Specifies that the website should use MarkBind\u0027s search functionality.** Default: `true`. See [User Guide: Making the Site Searchable](makingTheSiteSearchable.html) for more details."},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":"#### **`timeZone`**"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":"**Time zone of the [time stamp](reusingContents.html#built-in-global-variables).** Default: `\"UTC\"`."},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"seamless\" header\u003d\"Time Zone Options\"\u003e"},{"lineNumber":272,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"pages/timeZones.md\" /\u003e"},{"lineNumber":273,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":276,"author":{"gitId":"-"},"content":""},{"lineNumber":277,"author":{"gitId":"-"},"content":"#### **`locale`**"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":"**Language by locale used for the [time stamp](reusingContents.html#built-in-global-variables).** Default: `\"en-GB\"` (`English (United Kingdom)`). \u003cbr\u003e"},{"lineNumber":280,"author":{"gitId":"-"},"content":"The date format is thus: `\u003cDay\u003e, \u003cDate\u003e \u003cMonth\u003e \u003cYear\u003e, \u003c24-hour Time\u003e \u003cTime Zone Code\u003e`."},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"seamless\" header\u003d\"Locale Options\"\u003e"},{"lineNumber":283,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"pages/locales.md\" /\u003e"},{"lineNumber":284,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":285,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":"#### **`intrasiteLinkValidation`**"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":"**Toggle whether to validate intra-site links.** By default, MarkBind will validate all intra-site links and alert you of any potentially invalid ones."},{"lineNumber":290,"author":{"gitId":"-"},"content":"To disable this validation **entirely**, you may add the following to `site.json`:"},{"lineNumber":291,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"disable-global-intrasite-link-validation\"\u003e"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" ```js"},{"lineNumber":294,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":295,"author":{"gitId":"-"},"content":" \"intrasiteLinkValidation\": {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" \"enabled\": false"},{"lineNumber":297,"author":{"gitId":"-"},"content":" },"},{"lineNumber":298,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":299,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":"#### **`plantumlCheck`**"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":"**Toggle whether to display a warning about PlantUML\u0027s prerequisite. Only applicable for non-Windows users.** By default, MarkBind will check if you have Graphviz installed when you are using PlantUML diagrams."},{"lineNumber":306,"author":{"gitId":"-"},"content":"To disable this validation and the display of the warning, you may add the following to `site.json`:"},{"lineNumber":307,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"plantuml-check\"\u003e"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":" ```js"},{"lineNumber":310,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":311,"author":{"gitId":"-"},"content":" \"plantumlCheck\": false,"},{"lineNumber":312,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":313,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":312,"yiwen101":3}},{"path":"docs/userGuide/syntax/annotations.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Annotations"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"**An `annotate` component allows you to easily annotate over any images.**"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"Annotate wrappers (`\u003cannotate\u003e`) are used in conjunction with Annotate"},{"lineNumber":6,"author":{"gitId":"-"},"content":"Points (`\u003ca-point\u003e`)."},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"- `\u003cannotate\u003e`: Annotate wrappers are used to hold the image and set its width and height."},{"lineNumber":9,"author":{"gitId":"-"},"content":"- `\u003ca-point\u003e`: Annotate points define the position, text and style of each point within the image. Insert them between the Annotate wrappers."},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"The x and y coordinates of each Annotate Point are relative to the image and are written in percentage of total width or height."},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"LamJiuFong"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleImage.png\" width\u003d\"500\" alt\u003d\"Sample Image\" lazy\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003c!-- Minimal Point --\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"25%\" content\u003d\"This point is 25% from the left and 25% from the top\" /\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003c!-- Customize Point Size (default size is 40px) --\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"25%\" content\u003d\"This point is 50% from the left and 25% from the top\" size\u003d\"60\"/\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c!-- Customize Point Header (default is empty) --\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"25%\" content\u003d\"This point is 75% from the left and 25% from the top\" header\u003d\"This has a header\"/\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003c!-- Customize Point Color (default color is green) --\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"50%\" content\u003d\"This point is 25% from the left and 50% from the top\" color\u003d\"red\"/\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003c!-- Customize Point Opacity (default opacity is 0.3) --\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"50%\" content\u003d\"This point is 50% from the left and 50% from the top\" opacity\u003d\"0.7\"/\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c!-- Customize Point Label (default is empty) --\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"75%\" content\u003d\"This point is 25% from the left and 75% from the top\" label\u003d\"1\"/\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003c!-- Customize Text Color (default color is black) --\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"75%\" content\u003d\"This point is 50% from the left and 75% from the top\" textColor\u003d\"white\" color\u003d\"black\" label\u003d\"2\" opacity\u003d\"1\"/\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003c!-- Customize Font Size (default font size is 14) --\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"75%\" content\u003d\"This point is 75% from the left and 75% from the top\" fontSize\u003d\"30\" label\u003d\"3\"/\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003c!-- Customize Label (default is a rounded button) --\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"50%\" content\u003d\"This point is 75% from the left and 50% from the top\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"badge bg-primary\"\u003eBadge label\u003c/span\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003c/a-point\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"**Use markdown in the header, label and content**"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"Annotate Points supports markdown in the header, label and content. "},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleImage.png\" width\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"25%\" content\u003d\"# Content\" /\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"25%\" header\u003d\":blush:\" /\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"25%\" label\u003d\":heart:\"/\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"**Customising shapes for Annotate Point** \u003cbr\u003e "},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"Annotate Points supports different shapes and customisation. "},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":"The default shape used is a rounded button."},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":"When using a customised shape, the options shape, color and opacity will not work. "},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":"Style the shape to achieve the same effect."},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleImage.png\" width\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"50%\" content\u003d\"This point is 75% from the left and 50% from the top\"\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"badge bg-primary\"\u003eBadge label\u003c/span\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003c/a-point\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"50%\" content\u003d\"This point is 25% from the left and 50% from the top\"\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003cpic src\u003d\"../../images/deer.jpg\" width\u003d\"50\" height\u003d\"50\"\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003c/a-point\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003c!-- Customised Annotate Point with styling--\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"50%\" content\u003d\"This point is 25% from the left and 50% from the top\"\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003cdiv style\u003d\"opacity: 90%; color: red\"\u003eCustom\u003c/div\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003c/a-point\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":"**Using triggers and positions for Annotate Point** \u003cbr\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"Similar to **[popovers](../components/popups.md#popovers)**, Annotate Points also support different types of triggers and positions"},{"lineNumber":92,"author":{"gitId":"-"},"content":"for users with different needs."},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleImage.png\" width\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":" \u003c!-- Default Trigger (click)--\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"33%\" y\u003d\"33%\" content\u003d\"Lorem ipsum dolor sit amet\" /\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003c!-- Set Trigger to hover focus --\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"66%\" y\u003d\"33%\" content\u003d\"Lorem ipsum dolor sit amet\" trigger\u003d\"hover focus\"/\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" \u003c!-- Set Popover Placement (click)--\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"66%\" content\u003d\"Popover on the left\" placement\u003d\"left\"/\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"66%\" content\u003d\"Popover on the bottom\" placement\u003d\"bottom\"/\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"66%\" content\u003d\"Popover on the right\" placement\u003d\"right\"/\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" \u003c!-- Both trigger and popover placement hover focus --\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"66%\" content\u003d\"Popover on the bottom\" placement\u003d\"bottom\" trigger\u003d\"hover focus\"/\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":"**Displaying content as legends in Annotate Point**"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":"`\u003ca-point\u003e` allows users to display its content !!inside a popover!! or !!as a legend below the diagram!! or !!both!!. However, the label attribute must be specified in `\u003ca-point\u003e` in order to display the content below the image."},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleImage.png\" width\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":" \u003c!-- Default Legend (popover only)--\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"50%\" content\u003d\"There is only text when you click me\" label\u003d\"1\"/\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003c!-- Set Legend to bottom only (no popover) --\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"50%\" content\u003d\"Clicking on this does nothing\" label\u003d\"2\" legend\u003d\"bottom\" header\u003d\"Headers are displayed as well\"/\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":" \u003c!-- Set Legend to both --\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"50%\" content\u003d\"There is text at both locations\" label\u003d\"3\" legend\u003d\"both\" header\u003d\"Headers are displayed at both positions\"/\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":"**Sample use cases for Annotate** \u003cbr\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":"Here we showcase some use cases of the Annotate feature."},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":"**Example 1: Describing elements in an image** \u003cbr\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":143,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleObject.png\" height\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":147,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"6%\" y\u003d\"50%\" content\u003d\"You can use a triangle and a solid line (not to be confused with an arrow) to indicate class inheritance.\" label\u003d\"1\" header\u003d\"Class inheritance\" legend\u003d\"both\"/\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25.5%\" y\u003d\"50%\" content\u003d\"UML uses a solid diamond symbol to denote composition.\" label\u003d\"2\" header\u003d\"Composition\" color\u003d\"red\" legend\u003d\"both\"/\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"45%\" y\u003d\"50%\" content\u003d\"UML uses a hollow diamond to indicate an aggregation.\" label\u003d\"3\" header\u003d\"Aggregation\" color\u003d\"blue\" legend\u003d\"both\"/\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"64.5%\" y\u003d\"50%\" content\u003d\"Association labels describe the meaning of the association.\" label\u003d\"4\" header\u003d\"Association labels\" color\u003d\"yellow\" legend\u003d\"both\"/\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":"**Example 2: Drawing over elements** \u003cbr\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleSequence.png\" height\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":162,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"35%\" y\u003d\"18.5%\" content\u003d\"Operation is invoked\" header\u003d\"Operation\" opacity\u003d\"0.2\" size\u003d\"30\"/\u003e"},{"lineNumber":163,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"65%\" y\u003d\"50%\" content\u003d\"This is the period during which the method is being executed\" header\u003d\"Activation Bar\" opacity\u003d\"0.3\" size\u003d\"50\" color\u003d\"yellow\"/\u003e"},{"lineNumber":164,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"14%\" y\u003d\"85%\" content\u003d\"Return control and possibly some return value\" header\u003d\"Return Value\" opacity\u003d\"0.2\" size\u003d\"30\" color\u003d\"blue\"/\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":166,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":167,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":"****`\u003ca-point\u003e` Options****"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"| Name | Type | Default | Description |"},{"lineNumber":174,"author":{"gitId":"-"},"content":"| --------- | -------- | ----------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|"},{"lineNumber":175,"author":{"gitId":"-"},"content":"| x | `String` | | **This must be specified.**\u003cbr\u003eThe x-coordinate of the point.\u003cbr\u003eSupports range of values from `0%` to `100%`. |"},{"lineNumber":176,"author":{"gitId":"-"},"content":"| y | `String` | | **This must be specified.**\u003cbr\u003eThe y-coordinate of the point.\u003cbr\u003eSupports range of values from `0%` to `100%`. |"},{"lineNumber":177,"author":{"gitId":"-"},"content":"| content | `String` | `\u0027\u0027` | Annotate Point content.\u003cbr\u003eThe annotation content will be omitted if this is not provided. |"},{"lineNumber":178,"author":{"gitId":"-"},"content":"| header | `String` | `\u0027\u0027` | Annotate Point header.\u003cbr\u003eThe header will be omitted if this is not provided. |"},{"lineNumber":179,"author":{"gitId":"-"},"content":"| trigger | `String` | `click` | Popover trigger type.\u003cbr\u003eSupports: `click`, `focus`, `hover`, or any space-separated combination of these. |"},{"lineNumber":180,"author":{"gitId":"-"},"content":"| placement | `String` | `top` | Position of the Popover.\u003cbr\u003eSupports: `top`, `left`, `right`, `bottom`. |"},{"lineNumber":181,"author":{"gitId":"-"},"content":"| label | `String` | `\u0027\u0027` | The label shown on the point itself.\u003cbr\u003eThe label will be omitted if this is not provided.\u003cbr\u003eNote that labels should not be too long as they might overflow out of the point. |"},{"lineNumber":182,"author":{"gitId":"-"},"content":"| size | `String` | `\u002740\u0027` | The size of the point in pixels. \u003cbr\u003e Does not work with customised shapes |"},{"lineNumber":183,"author":{"gitId":"-"},"content":"| color | `String` | `\u0027green\u0027` | The color of the point.\u003cbr\u003eSupports any color in the CSS color format. E.g. `red`, `#ffffff`, `rgb(66, 135, 245)`, etc. \u003cbr\u003e Does not work with customised shapes |"},{"lineNumber":184,"author":{"gitId":"-"},"content":"| opacity | `String` | `\u00270.3\u0027` | The opacity of the point.\u003cbr\u003eSupports range of values from `0` to `1`. \u003cbr\u003e Does not work with customised shapes |"},{"lineNumber":185,"author":{"gitId":"-"},"content":"| fontSize | `String` | `\u002714\u0027` | The font size of the label.\u003cbr\u003eSupports any pixel size smaller than size of the point. |"},{"lineNumber":186,"author":{"gitId":"-"},"content":"| textColor | `String` | `\u0027black\u0027` | The color of the label.\u003cbr\u003eSupports any color in the CSS color format. E.g. `red`, `#ffffff`, `rgb(66, 135, 245)`, etc. |"},{"lineNumber":187,"author":{"gitId":"-"},"content":"| legend | `String` | `\u0027popover\u0027` | The position of the Annotate Point content and header.\u003cbr\u003eSupports: `popover`, `bottom`, `both`. |"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":"****`\u003cannotate\u003e` Options****"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"This is effectively the same as the options used for the [picture](#pictures) component."},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":"| Name | Type | Default | Description |"},{"lineNumber":194,"author":{"gitId":"LamJiuFong"},"content":"|--------| --------- | ------- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|"},{"lineNumber":195,"author":{"gitId":"-"},"content":"| alt | `string` | | **This must be specified.**\u003cbr\u003eThe alternative text of the image. |"},{"lineNumber":196,"author":{"gitId":"-"},"content":"| src | `string` | | **This must be specified.**\u003cbr\u003eThe URL of the image.\u003cbr\u003eThe URL can be specified as absolute or relative references. More info in: _[Intra-Site Links]({{baseUrl}}/userGuide/formattingContents.html#intraSiteLinks)_ |"},{"lineNumber":197,"author":{"gitId":"-"},"content":"| height | `string` |`\u0027\u0027`| The height of the image in pixels. |"},{"lineNumber":198,"author":{"gitId":"-"},"content":"| width | `string` |`\u0027\u0027`| The width of the image in pixels.\u003cbr\u003eIf both width and height are specified, width takes priority over height. It is to maintain the image\u0027s aspect ratio. |"},{"lineNumber":199,"author":{"gitId":"LamJiuFong"},"content":"| lazy | `boolean` | false | The `\u003cannotate\u003e` component lazy loads if this attribute is specified.\u003cbr\u003e**Either the height or width should be specified to avoid layout shifts while lazy loading images.** |"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":"```"},{"lineNumber":206,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleImage.png\" width\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"25%\" content\u003d\"Lorem ipsum dolor sit amet\" /\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"25%\" content\u003d\"Lorem ipsum dolor sit amet\" label\u003d\"1a\"/\u003e"},{"lineNumber":209,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"25%\" content\u003d\"Lorem ipsum dolor sit amet\" label\u003d\"1b\" legend\u003d\"both\"/\u003e"},{"lineNumber":210,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":"```"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"https://markbind.org/userGuide/diagrams/object.png\" height\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":218,"author":{"gitId":"-"},"content":" \u003c!-- Default Legend (popover only)--\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"6%\" y\u003d\"50%\" content\u003d\"You can use a triangle and a solid line (not to be confused with an arrow) to indicate class inheritance.\" label\u003d\"1\" header\u003d\""},{"lineNumber":220,"author":{"gitId":"-"},"content":"Class inheritance\"/\u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":" \u003c!-- Set Legend to bottom only (popover is not clickable) --\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25.5%\" y\u003d\"50%\" content\u003d\"UML uses a solid diamond symbol to denote composition.\" label\u003d\"2\" header\u003d\"Composition\" color\u003d\"red\"/\u003e"},{"lineNumber":223,"author":{"gitId":"-"},"content":" \u003c!-- Set Legend to both --\u003e"},{"lineNumber":224,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"45%\" y\u003d\"50%\" content\u003d\"UML uses a hollow diamond to indicate an aggregation.\" label\u003d\"3\" header\u003d\""},{"lineNumber":225,"author":{"gitId":"-"},"content":"Aggregation\" color\u003d\"blue\"/\u003e"},{"lineNumber":226,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"64.5%\" y\u003d\"50%\" content\u003d\"Association labels describe the meaning of the association.\" label\u003d\"4\" header\u003d\"Association labels\" color\u003d\"yellow\"/\u003e"},{"lineNumber":227,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":230,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":231,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"LamJiuFong":3,"-":228}},{"path":"docs/userGuide/syntax/badges.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Badges"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":"**Example:**"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"\u003cspan class\u003d\"badge bg-primary\"\u003e"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"Some Plain Text"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"\u003c/span\u003e"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"\u003cspan class\u003d\"badge bg-primary\"\u003e"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"\u003cmd\u003e_Some Markdown_\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"\u003c/variable\u003e"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"\u003c/include\u003e"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":"**You can choose from a variety of colors for your badges. You can also use the `rounded-pill` class to make the badges pill-shaped.**"},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":"Normal:"},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-primary\"\u003ePrimary\u003c/span\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-secondary\"\u003eSecondary\u003c/span\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-success\"\u003eSuccess\u003c/span\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-danger\"\u003eDanger\u003c/span\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-warning text-dark\"\u003eWarning\u003c/span\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-info text-dark\"\u003eInfo\u003c/span\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-light text-dark\"\u003eLight\u003c/span\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-dark\"\u003eDark\u003c/span\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003cbr\u003ePills:"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-primary\"\u003ePrimary\u003c/span\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-secondary\"\u003eSecondary\u003c/span\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-success\"\u003eSuccess\u003c/span\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-danger\"\u003eDanger\u003c/span\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-warning text-dark\"\u003eWarning\u003c/span\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-info text-dark\"\u003eInfo\u003c/span\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-light text-dark\"\u003eLight\u003c/span\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-dark\"\u003eDark\u003c/span\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":"**You can use Badges in combination with headings, buttons, links, etc.**"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":"Links:"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003ca href\u003d\"#\" class\u003d\"badge bg-primary\"\u003ePrimary\u003c/a\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":"\u003ca href\u003d\"#\" class\u003d\"badge rounded-pill bg-warning text-dark\"\u003eWarning\u003c/a\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":"Buttons:"},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003cbutton type\u003d\"button\" class\u003d\"btn btn-primary\"\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" Difficulty Level \u003cspan class\u003d\"badge bg-light text-dark\"\u003e4\u003c/span\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003c/button\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"Headings:"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"### Feature X \u003cspan class\u003d\"badge bg-danger\"\u003ebeta\u003c/span\u003e {.no-index}"},{"lineNumber":59,"author":{"gitId":"-"},"content":"##### Feature Y \u003cspan class\u003d\"badge rounded-pill bg-success\"\u003estable\u003c/span\u003e {.no-index}"},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":"%%{{ icon_info }} You can refer to [Bootstrap documentation](https://getbootstrap.com/docs/5.1/components/badge/) to find more information about Badges.%%"},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-primary\"\u003ePrimary\u003c/span\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-success\"\u003eSuccess\u003c/span\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":"\u003cbutton type\u003d\"button\" class\u003d\"btn btn-primary\"\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" Difficulty Level \u003cspan class\u003d\"badge bg-light text-dark\"\u003e4\u003c/span\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":"\u003c/button\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":"```"},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-primary\"\u003ePrimary\u003c/span\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-success\"\u003eSuccess\u003c/span\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003cbutton type\u003d\"button\" class\u003d\"btn btn-primary\"\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":" Difficulty Level \u003cspan class\u003d\"badge bg-light text-dark\"\u003e4\u003c/span\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":"##### Feature Y \u003cspan class\u003d\"badge rounded-pill bg-warning text-dark\"\u003estable\u003c/span\u003e {.no-index}"},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c/button\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":73,"yiwen101":16}},{"path":"docs/userGuide/syntax/boxes.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% from \"userGuide/components/advanced.md\" import slot_info_trigger %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"## Boxes"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":"**Simple Example**"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cbox\u003e"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"plain text"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":"\u003cbox\u003e"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"\u003cmd\u003e_markdown_\u003c/md\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"\u003c/variable\u003e"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":"\u003c/include\u003e"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":"**Boxes come with different built-in types.**"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" info"},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" warning"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"success\"\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" success"},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\"\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" important"},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"wrong\"\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" wrong"},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" tip"},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\"\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" definition"},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" dismissible\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" dismissible info"},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"success\" header\u003d\"#### Header :rocket:\" icon-size\u003d\"2x\"\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"warning\" header\u003d\"You can use **markdown** here! :pizza:\" dismissible\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003c/box\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"**The built in types can be colored.**"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"primary\"\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":" primary"},{"lineNumber":66,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"secondary\"\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":" secondary"},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"success\"\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":" success"},{"lineNumber":72,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"danger\"\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":" danger"},{"lineNumber":75,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"warning\"\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":" warning"},{"lineNumber":78,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"info\"\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" info"},{"lineNumber":81,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"light\"\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" light"},{"lineNumber":84,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"dark\"\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":" dark"},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"**MarkBind also supports a light color scheme for boxes**"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003cbox light\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":" default light"},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" light\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" info light"},{"lineNumber":101,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" light\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" warning light"},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"success\" light\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" success light"},{"lineNumber":107,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":" important light"},{"lineNumber":110,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"wrong\" light\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":" wrong light"},{"lineNumber":113,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" light\u003e"},{"lineNumber":115,"author":{"gitId":"-"},"content":" tip light"},{"lineNumber":116,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" light\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":" definition light"},{"lineNumber":119,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" header\u003d\"##### Header markdown :rocket:\" light\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":" definition light with header markdown"},{"lineNumber":122,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"**MarkBind also supports a seamless style of boxes**"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":"As `light` and `seamless` are mutually exclusive styles, `light` takes priority over `seamless`."},{"lineNumber":131,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":"\u003cbox seamless\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":" default seamless"},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":" info seamless"},{"lineNumber":141,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":143,"author":{"gitId":"-"},"content":" warning seamless"},{"lineNumber":144,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"success\" seamless\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":" success seamless"},{"lineNumber":147,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" seamless\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":" important seamless"},{"lineNumber":150,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"wrong\" seamless\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":" wrong seamless"},{"lineNumber":153,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":" tip seamless"},{"lineNumber":156,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" seamless dismissible\u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":" dismissible definition seamless"},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" header\u003d\"##### Header markdown :rocket:\" seamless\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":" success seamless with header markdown"},{"lineNumber":162,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":163,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":164,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":"**You can further customize the Box\u0027s appearance.**"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":"\u003cbox background-color\u003d\"#ffca6a\" border-color\u003d\"grey\" border-left-color\u003d\"#8b5a01\"\u003e"},{"lineNumber":172,"author":{"gitId":"-"},"content":"default type, styled as an orange box with a brown left border"},{"lineNumber":173,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" color\u003d\"red\" icon\u003d\":rocket:\"\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":"info, with a custom markdown rocket icon and `red` colored text."},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":"You can use any inline markdown in the `icon` property."},{"lineNumber":179,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":180,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":181,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":"**You can remove the background, icon and borders of preset styles.**"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":"\u003cbox no-icon no-background type\u003d\"success\"\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":" success box without a tick icon and backgound"},{"lineNumber":190,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":"\u003cbox no-border type\u003d\"definition\" light\u003e"},{"lineNumber":193,"author":{"gitId":"-"},"content":" definition type box, light style without border"},{"lineNumber":194,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":195,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":196,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":"\u003cbox header\u003d\"Note\" type\u003d\"info\" seamless\u003e"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":"Custom styles **(** `background-color`, `border-color`, `border-left-color`, `icon` **)** as introduced in the previous section, takes precedence over the `no-background`, `no-border`, `no-icon` attributes."},{"lineNumber":201,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":"**You can also use icons, resize them and change their color accordingly.**"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":206,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"success\" icon\u003d\":fas-camera:\"\u003e"},{"lineNumber":209,"author":{"gitId":"-"},"content":" Lorem ipsum dolor sit amet, consectetur adipiscing elit"},{"lineNumber":210,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" icon\u003d\":fas-camera:\" icon-size\u003d\"2x\"\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":" Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},{"lineNumber":213,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":214,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" icon\u003d\":fas-camera:\" icon-size\u003d\"3x\"\u003e"},{"lineNumber":215,"author":{"gitId":"-"},"content":" Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."},{"lineNumber":216,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":217,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" icon\u003d\":fas-camera:\" icon-color\u003d\"red\" icon-size\u003d\"3x\"\u003e"},{"lineNumber":218,"author":{"gitId":"-"},"content":" Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."},{"lineNumber":219,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":220,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":"****Options****"},{"lineNumber":224,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":225,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":226,"author":{"gitId":"-"},"content":"background-color | `String` | `null` |"},{"lineNumber":227,"author":{"gitId":"-"},"content":"border-color | `String` | `null` |"},{"lineNumber":228,"author":{"gitId":"-"},"content":"border-left-color | `String` | `null` | Overrides border-color for the left border."},{"lineNumber":229,"author":{"gitId":"-"},"content":"color | `String` | `null` | Color of the text."},{"lineNumber":230,"author":{"gitId":"-"},"content":"dismissible | `Boolean` | `false` | Adds a button to close the box to the top right corner."},{"lineNumber":231,"author":{"gitId":"-"},"content":"icon{{slot_info_trigger}} | `String` | `null` | Inline MarkDown text of the icon displayed on the left."},{"lineNumber":232,"author":{"gitId":"-"},"content":"icon-size | `String` | `null` | Resizes the icon. Supports integer-scaling of the icon dimensions e.g. `2x`, `3x`, `4x`, etc."},{"lineNumber":233,"author":{"gitId":"-"},"content":"icon-color | `String` | `null` | Color of the icon."},{"lineNumber":234,"author":{"gitId":"-"},"content":"header{{slot_info_trigger}} | `String` | `null` | Markdown text of the box header."},{"lineNumber":235,"author":{"gitId":"-"},"content":"type | `String` | `\u0027\u0027` | Supports: `info`, `warning`, `success`, `important`, `wrong`, `tip`, `definition`, or empty for default."},{"lineNumber":236,"author":{"gitId":"-"},"content":"theme | `String` | `\u0027\u0027` | Supports: `primary`, `secondary`, `success`, `danger`, `warning`, `tip`, `light`, `dark` or empty for default."},{"lineNumber":237,"author":{"gitId":"-"},"content":"light | `Boolean` | `false` | Uses a light color scheme for the box."},{"lineNumber":238,"author":{"gitId":"-"},"content":"seamless | `Boolean` | `false` | Uses a seamless style for the box. If `light` is specified, this style will not be activated."},{"lineNumber":239,"author":{"gitId":"-"},"content":"no-border | `Boolean` | `false` | Removes border, except if styled by `border-color` or `border-left-color`. "},{"lineNumber":240,"author":{"gitId":"-"},"content":"no-background | `Boolean` | `false` | Removes background, except if styled by `background-color` option."},{"lineNumber":241,"author":{"gitId":"-"},"content":"no-icon | `Boolean` | `false` | Removes icon, except if icon is displayed via `icon` option."},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":247,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":248,"author":{"gitId":"-"},"content":" warning"},{"lineNumber":249,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":250,"author":{"gitId":"-"},"content":"```"},{"lineNumber":251,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":"\u003cbox\u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":" default"},{"lineNumber":256,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":257,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":258,"author":{"gitId":"-"},"content":" info"},{"lineNumber":259,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":261,"author":{"gitId":"-"},"content":" warning"},{"lineNumber":262,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":263,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"success\"\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":" success"},{"lineNumber":265,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":266,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\"\u003e"},{"lineNumber":267,"author":{"gitId":"-"},"content":" important"},{"lineNumber":268,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":269,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"wrong\"\u003e"},{"lineNumber":270,"author":{"gitId":"-"},"content":" wrong"},{"lineNumber":271,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":272,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":273,"author":{"gitId":"-"},"content":" tip"},{"lineNumber":274,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":275,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\"\u003e"},{"lineNumber":276,"author":{"gitId":"-"},"content":" definition"},{"lineNumber":277,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":278,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":264,"yiwen101":14}},{"path":"docs/userGuide/syntax/code.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Code"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"#### Themes"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"MarkBind can present formatted code blocks, be it fenced or inline, with either **light** or **dark** themes. The default is dark \u003ctrigger for\u003d\"modal:code-dark-example\" trigger\u003d\"click\"\u003e_(click for an example)_\u003c/trigger\u003e."},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cmodal header\u003d\"Dark Code Theme\" id\u003d\"modal:code-dark-example\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cpic src\u003d\"/images/codeDarkTheme.png\" alt\u003d\"Theme example\"\u003e\u003c/pic\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c/modal\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"Refer [here](../siteJsonFile.html#style) for configuring MarkBind to use a specific theme for the code blocks."},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"#### Fenced Code"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"MarkBind provides several features, some of which are added on top of the existing functionality of Markdown\u0027s _fenced code blocks_."},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003csmall\u003eMore info: \u003chttps://www.markdownguide.org/extended-syntax#fenced-code-blocks\u003e\u003c/small\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"Features:"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"* Syntax coloring"},{"lineNumber":23,"author":{"gitId":"-"},"content":"* Line numbering"},{"lineNumber":24,"author":{"gitId":"-"},"content":"* Line highlighting"},{"lineNumber":25,"author":{"gitId":"-"},"content":"* Code block headers"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"##### Syntax coloring"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"To enable syntax coloring, specify a language next to the backticks before the fenced code block."},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example\"\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"```xml"},{"lineNumber":34,"author":{"gitId":"-"},"content":"\u003cfoo\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003c/foo\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":"```"},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"##### Line numbering"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"Line numbers are \u003ctooltip content\u003d\"Line numbers were provided by default in version v3.1.1 and below. To preserve the exact line numbers behavior of sites generated in previous versions, simply set the codeLineNumbers option in site.json to true\"\u003ehidden by default\u003c/tooltip\u003e. To enable line numbers for the entire site by default,"},{"lineNumber":45,"author":{"gitId":"-"},"content":"add `\"codeLineNumbers\": true` to the [`site.json`]({{baseUrl}}/userGuide/siteJsonFile.html#style) file:"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"```json {highlight-lines\u003d\"8[:]\"}"},{"lineNumber":48,"author":{"gitId":"-"},"content":"{"},{"lineNumber":49,"author":{"gitId":"-"},"content":" // ..."},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"style\": {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"bootstrapTheme\": \"bootswatch-cerulean\","},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"codeTheme\": \"light\","},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"codeLineNumbers\": true // optional, false if omitted"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":" // code below omitted for brevity"},{"lineNumber":56,"author":{"gitId":"-"},"content":"}"},{"lineNumber":57,"author":{"gitId":"-"},"content":"```"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"For each code block, you may also use the `line-numbers` or `no-line-numbers` classes to override the site-wide setting as such:"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":"```xml {.line-numbers}"},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003cfoo\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":"\u003c/foo\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":"```"},{"lineNumber":68,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":"```xml {.no-line-numbers}"},{"lineNumber":74,"author":{"gitId":"-"},"content":"\u003cfoo\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003c/foo\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":"```"},{"lineNumber":78,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":"You can have your line numbers start with a value other than `1` with the `start-from` attribute."},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"```js {start-from\u003d6}"},{"lineNumber":86,"author":{"gitId":"-"},"content":"function add(a, b) {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" return a + b;"},{"lineNumber":88,"author":{"gitId":"-"},"content":"}"},{"lineNumber":89,"author":{"gitId":"-"},"content":"```"},{"lineNumber":90,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":"##### Line highlighting"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":"You can add the `highlight-lines` attribute to add highlighting to your code block. Refer to the examples"},{"lineNumber":96,"author":{"gitId":"-"},"content":"below for a visual demonstration of all the possible ways of highlighting a code block."},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"**Full text highlight**"},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":"```js {start-from\u003d6 .line-numbers highlight-lines\u003d\"7, 9\"}"},{"lineNumber":102,"author":{"gitId":"-"},"content":"function add(a, b) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" const sum \u003d a + b;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" console.log(`${a} + ${b} \u003d ${sum}`);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" return sum;"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"},{"lineNumber":107,"author":{"gitId":"-"},"content":"```"},{"lineNumber":108,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":"**Substring highlight**"},{"lineNumber":112,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":"```js {.line-numbers highlight-lines\u003d\"1[\u0027function\u0027], 2[\u0027a\u0027], 2[\u0027b\u0027], 4[\u0027diff\u0027]\"}"},{"lineNumber":115,"author":{"gitId":"-"},"content":"function subtract(a, b) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" const diff \u003d a - b;"},{"lineNumber":117,"author":{"gitId":"-"},"content":" console.log(`${a} + ${b} \u003d ${diff}`);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" return diff;"},{"lineNumber":119,"author":{"gitId":"-"},"content":"}"},{"lineNumber":120,"author":{"gitId":"-"},"content":"```"},{"lineNumber":121,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":"**Character-bounded highlight**"},{"lineNumber":125,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":"```js {.line-numbers highlight-lines\u003d\"1[0:3], 1[6:10], 2[5:], 3[:6]\"}"},{"lineNumber":128,"author":{"gitId":"-"},"content":"function multiply(a, b) {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" const product \u003d a * b;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" console.log(\u0027Product \u003d ${product}\u0027);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" return product;"},{"lineNumber":132,"author":{"gitId":"-"},"content":"}"},{"lineNumber":133,"author":{"gitId":"-"},"content":"```"},{"lineNumber":134,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":"**Word-bounded highlight**"},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":"```js {.line-numbers highlight-lines\u003d\"1[1::3], 1[5::7], 2[2::], 3[::3]\"}"},{"lineNumber":141,"author":{"gitId":"-"},"content":"// Function returns the distance travelled assuming constant speed"},{"lineNumber":142,"author":{"gitId":"-"},"content":"function calculateDistance(speed, time) {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" const distance \u003d speed * time;"},{"lineNumber":144,"author":{"gitId":"-"},"content":" console.log(`Distance travelled \u003d ${distance}`);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" return distance;"},{"lineNumber":146,"author":{"gitId":"-"},"content":"}"},{"lineNumber":147,"author":{"gitId":"-"},"content":"```"},{"lineNumber":148,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":"**Full-line highlight**"},{"lineNumber":152,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":"```js {start-from\u003d10 .line-numbers highlight-lines\u003d\"11[:]\"}"},{"lineNumber":155,"author":{"gitId":"-"},"content":"function add(a, b) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" return a + b;"},{"lineNumber":157,"author":{"gitId":"-"},"content":"}"},{"lineNumber":158,"author":{"gitId":"-"},"content":"```"},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":"**Sample Combined Usage**"},{"lineNumber":163,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":164,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":"```java {.line-numbers highlight-lines\u003d\"1[:],3[\u0027Inventory\u0027],3[4::6],4[\u0027It\\\u0027s designed\u0027],5,6[8:15],6[18:],8[0::2],12[:]-14,16-18,20[12:]-22,24[1::]-26\"}"},{"lineNumber":166,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":"// Inventory is a class that stores inventory items in a list."},{"lineNumber":169,"author":{"gitId":"-"},"content":"// It\u0027s designed as a thin wrapper on the List interface."},{"lineNumber":170,"author":{"gitId":"-"},"content":"public class Inventory {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" private List\u003cItem\u003e items;"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" public int getItemCount(){"},{"lineNumber":174,"author":{"gitId":"-"},"content":" return items.size();"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" public bool isEmpty() {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" return items.isEmpty();"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" public Item getItem(idx: int) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" return items.get(idx);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" public void addItem(item: Item) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" return items.add(item);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" public void removeItem(item: Item) {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" return items.remove(item);"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":"}"},{"lineNumber":193,"author":{"gitId":"-"},"content":"```"},{"lineNumber":194,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":195,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":"The value of `highlight-lines` is composed of *highlight rules*, separated by commas."},{"lineNumber":198,"author":{"gitId":"-"},"content":"These rules dictate where and how MarkBind should highlight your code block."},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":"You can specify the highlight rules in many different ways, each is detailed as follows:"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":"Type | Format | Example"},{"lineNumber":203,"author":{"gitId":"-"},"content":"-----|--------|--------"},{"lineNumber":204,"author":{"gitId":"-"},"content":"**Full text highlight**\u003cbr\u003eHighlights the entirety of the text portion of the line | The line numbers as-is (subject to the starting line number set in `start-from`). | `3`, `5`"},{"lineNumber":205,"author":{"gitId":"-"},"content":"**Substring highlight**\u003cbr\u003eHighlights _all_ occurrences of a substring in the line | `lineNumber[part]`\u003cbr\u003e\u003cbr\u003e_Limitations_: `part` must be wrapped in quotes. If `part` contains a quote, escape it with a backslash (`\\`). | `3[\u0027Inventory\u0027]`,`4[\u0027It\\\u0027s designed\u0027]`"},{"lineNumber":206,"author":{"gitId":"-"},"content":"**Character-bounded highlight**\u003cbr\u003eHighlights a specific range of characters in the line | `lineNumber[start:end]`, highlights from character position `start` up to (but not including) `end`.\u003cbr\u003e\u003cbr\u003eCharacter positions start from `0` as the first non-whitespace character, upwards.\u003cbr\u003e\u003cbr\u003eOmit either `start`/`end` to highlight from the start / up to the end, respectively. | `19[1:5]`,`30[10:]`,`35[:20]`"},{"lineNumber":207,"author":{"gitId":"-"},"content":"**Word-bounded highlight**\u003cbr\u003eHighlights a specific range of words in the line | `lineNumber[start::end]`, highlights from word position `start` up to (but not including) `end`.\u003cbr\u003e\u003cbr\u003eWord positions start from `0` as the first word (sequence of non-whitespace characters), upwards.\u003cbr\u003e\u003cbr\u003eOmit either `start`/`end` to highlight from the start / up to the end, respectively. | `5[2::4]`,`9[1::]`,`11[::5]`"},{"lineNumber":208,"author":{"gitId":"-"},"content":"**Full line highlight**\u003cbr\u003eHighlights the entirety of the line | `lineNumber[:]` | `7[:]`"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":"Not only a single line, MarkBind is also capable of highlighting ranges of lines in various ways. In general, the syntax"},{"lineNumber":211,"author":{"gitId":"-"},"content":"for range highlighting consists of two single line highlight rules as listed above joined by a dash (`-`)."},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":"Type | Format | Example"},{"lineNumber":214,"author":{"gitId":"-"},"content":"-----|--------|--------"},{"lineNumber":215,"author":{"gitId":"-"},"content":"**Ranged full text highlight**\u003cbr\u003eHighlights from the first non-whitespace character to the last non-whitespace character | `lineStart-lineEnd` | `2-4`"},{"lineNumber":216,"author":{"gitId":"-"},"content":"**Ranged full line highlight**\u003cbr\u003eLike ranged full text highlight, but highlights the entirety of the lines | `lineStart[:]-lineEnd` or `lineStart-lineEnd[:]` | `1[:]-5`,`10-12[:]`"},{"lineNumber":217,"author":{"gitId":"-"},"content":"**Ranged character-bounded highlight**\u003cbr\u003eHighlights the text portion of the lines within the range, but starts/ends at an arbitrary character | `lineStart[start:]-lineEnd` or `lineStart-lineEnd[:end]` | `3[2:]-7`, `4-9[:17]`"},{"lineNumber":218,"author":{"gitId":"-"},"content":"**Ranged word-bounded highlight**\u003cbr\u003eLike ranged character-bounded highlight, but starts/ends at an arbitrary word | `lineStart[start::]-lineEnd` or `lineStart-lineEnd[::end]` | `16[1::]-20`,`22-24[::3]`"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"##### Heading"},{"lineNumber":221,"author":{"gitId":"-"},"content":"To add a heading, add the attribute `heading` with the heading text as the value, as shown below."},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":224,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":225,"author":{"gitId":"-"},"content":"```xml {heading\u003d\"Heading title\"}"},{"lineNumber":226,"author":{"gitId":"-"},"content":"\u003cfoo\u003e"},{"lineNumber":227,"author":{"gitId":"-"},"content":" \u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e"},{"lineNumber":228,"author":{"gitId":"-"},"content":"\u003c/foo\u003e"},{"lineNumber":229,"author":{"gitId":"-"},"content":"```"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":232,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":"Headings support inline Markdown, except for `Inline Code` and %%Dim%% text styles."},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":237,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":238,"author":{"gitId":"-"},"content":"```{heading\u003d\"**Bold**, _Italic_, ___Bold and Italic___, ~~Strike through~~, ****Super Bold****, !!Underline!!, \u003d\u003dHighlight\u003d\u003d, :+1: :exclamation: :x: :construction:\u003cbr\u003eWe support page breaks\"}"},{"lineNumber":239,"author":{"gitId":"-"},"content":"\u003cfoo\u003e\u003c/foo\u003e"},{"lineNumber":240,"author":{"gitId":"-"},"content":"```"},{"lineNumber":241,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":242,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":"##### Using multiple features"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":"You can also use multiple features together, as shown below."},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":249,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":250,"author":{"gitId":"-"},"content":"```xml {highlight-lines\u003d\"2\" heading\u003d\"Heading title\"}"},{"lineNumber":251,"author":{"gitId":"-"},"content":"\u003cfoo\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":" \u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e"},{"lineNumber":253,"author":{"gitId":"-"},"content":"\u003c/foo\u003e"},{"lineNumber":254,"author":{"gitId":"-"},"content":"```"},{"lineNumber":255,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":256,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":257,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":"##### Copy button"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":"A _copy_ button can be added to code blocks using the `codeBlockCopyButtons` plugin:"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"seamless\" header\u003d\"**User Guide: Using Plugins → Plugin: `codeBlockCopyButtons`**\" popup-url\u003d\"usingPlugins.html#plugin-codeblockcopybuttons\"\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"../plugins/codeBlockCopyButtons.md\" /\u003e"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":268,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":"##### Wrap text button"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":"A _wrap text_ button can be added to code blocks using the `codeBlockWrapButtons` plugin:"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"seamless\" header\u003d\"**User Guide: Using Plugins → Plugin: `codeBlockWrapButtons`**\" popup-url\u003d\"usingPlugins.html#plugin-codeblockwrapbuttons\"\u003e"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"../plugins/codeBlockWrapButtons.md\" /\u003e"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":279,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"Tim-Siu"},"content":"##### Printing optimization"},{"lineNumber":282,"author":{"gitId":"Tim-Siu"},"content":""},{"lineNumber":283,"author":{"gitId":"Tim-Siu"},"content":"\u003cdiv id\u003d\"code-print-optimization\"\u003e"},{"lineNumber":284,"author":{"gitId":"-"},"content":"Markbind enhances the readability of your code blocks for printing by "},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":"- Applying soft wrapping, ensuring code doesn\u0027t get cut off"},{"lineNumber":287,"author":{"gitId":"-"},"content":"- Adding line numbers to maintain context when wrapping occurs"},{"lineNumber":288,"author":{"gitId":"-"},"content":"- Automatically changing dark code theme to light"},{"lineNumber":289,"author":{"gitId":"-"},"content":"- Removing [codeBlockCopyButtons]({{baseUrl}}/userGuide/formattingContents.html#copy-button) and [codeBlockWrapButtons]({{baseUrl}}/userGuide/formattingContents.html#wrap-text-button)"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e "},{"lineNumber":292,"author":{"gitId":"-"},"content":" There are some issues with printing in Firefox. Please use other browsers such as Chrome if these issues persist."},{"lineNumber":293,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"Tim-Siu"},"content":"\u003c/div\u003e"},{"lineNumber":296,"author":{"gitId":"Tim-Siu"},"content":"\u003cbr\u003e"},{"lineNumber":297,"author":{"gitId":"Tim-Siu"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":"#### Inline Code"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":"##### Syntax coloring"},{"lineNumber":301,"author":{"gitId":"-"},"content":""},{"lineNumber":302,"author":{"gitId":"-"},"content":"MarkBind can apply syntax-coloring on inline code too."},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":305,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":306,"author":{"gitId":"-"},"content":"Consider the XML code `\u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e`{.xml},\u003cbr\u003e"},{"lineNumber":307,"author":{"gitId":"-"},"content":"or the java code `public static void main(String[] args)`{.java}."},{"lineNumber":308,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":309,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":"{% raw %}"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":"##### Displaying content within curly braces: `{{ content }}`"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":"If your code contains special Nunjucks tags like `{{` or `}}`, use a [raw-endraw block](../tipsAndTricks.html#using-raw-endraw-to-display-content):"},{"lineNumber":316,"author":{"gitId":"-"},"content":""},{"lineNumber":317,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":318,"author":{"gitId":"-"},"content":"{% raw %} {{ content }} {% endraw %}"},{"lineNumber":319,"author":{"gitId":"-"},"content":"```"},{"lineNumber":320,"author":{"gitId":"-"},"content":"{% endraw %}"},{"lineNumber":321,"author":{"gitId":"-"},"content":""},{"lineNumber":322,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":"````"},{"lineNumber":325,"author":{"gitId":"-"},"content":"```xml"},{"lineNumber":326,"author":{"gitId":"-"},"content":"\u003cfoo\u003e"},{"lineNumber":327,"author":{"gitId":"-"},"content":" \u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e"},{"lineNumber":328,"author":{"gitId":"-"},"content":"\u003c/foo\u003e"},{"lineNumber":329,"author":{"gitId":"-"},"content":"```"},{"lineNumber":330,"author":{"gitId":"-"},"content":"````"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":"```"},{"lineNumber":333,"author":{"gitId":"-"},"content":"`\u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e`{.xml}"},{"lineNumber":334,"author":{"gitId":"-"},"content":"```"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":"```xml"},{"lineNumber":341,"author":{"gitId":"-"},"content":"\u003cfoo\u003e"},{"lineNumber":342,"author":{"gitId":"-"},"content":" \u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e"},{"lineNumber":343,"author":{"gitId":"-"},"content":"\u003c/foo\u003e"},{"lineNumber":344,"author":{"gitId":"-"},"content":"```"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":"Syntax coloring for inline code: `\u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e`{.xml} too!"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":342,"Tim-Siu":6}},{"path":"docs/userGuide/syntax/dates.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Dates"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"{% macro njcode(raw) %}\u003ccode\u003e{\u003ca/\u003e{ {{ raw }} }}\u003c/code\u003e{% endmacro %}"},{"lineNumber":4,"author":{"gitId":"-"},"content":"{% macro njblock(raw) %}\u003ccode\u003e{\u003ca/\u003e% {{ raw }} %}\u003c/code\u003e{% endmacro %}"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"**MarkBind supports date formatting and simple calculations** as a Nunjucks [filter](https://mozilla.github.io/nunjucks/templating.html#filters)."},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"**Syntax:** {{ njcode(\u0027baseDate | date(format, daysToAdd)\u0027) }}"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"20 days after 1st Jan 2020:"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"{{ njcode(\u0027\"2020-01-01\" | date(\"ddd, Do MMM, YYYY\", 20) \u0027) }} :glyphicon-arrow-right: {{ \"2020-01-01\" | date(\"ddd, Do MMM, YYYY\", 20) }}"},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"The baseDate follows the format: `YYYY-MM-DD`"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"The default output format is `\"ddd D MMM\"` e.g. Fri 6 Mar"},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"### Using variables"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"{{ njblock(\u0027set base1 \u003d \"2020-01-01\"\u0027) }} {% set base1 \u003d \"2020-01-01\" %} \u003cbr/\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":"{{ njblock(\u0027set format1 \u003d \"DD MM YYYY\"\u0027) }} {% set format1 \u003d \"DD MM YYYY\" %} \u003cbr/\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"{{ njblock(\u0027set format2 \u003d \"ddd Do MMM (DD/MM/YYYY)\"\u0027) }} {% set format2 \u003d \"ddd Do MMM (DD/MM/YYYY)\" %}"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date\u0027) }} :glyphicon-arrow-right: {{ base1 | date }}\u003cbr/\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"#### Custom formatting"},{"lineNumber":33,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date(format1)\u0027) }} :glyphicon-arrow-right: {{ base1 | date(format1) }}\u003cbr/\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"#### Adding days"},{"lineNumber":36,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date(format2, 0)\u0027) }} :glyphicon-arrow-right: {{ base1 | date(format2, 0) }}\u003cbr/\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date(format2, 10)\u0027) }} :glyphicon-arrow-right: {{ base1 | date(format2, 10) }}\u003cbr/\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"#### Nunjucks variables"},{"lineNumber":40,"author":{"gitId":"-"},"content":"Dates can be supplied using [Nunjucks variables](../reusingContents.html#variables) for convenience."},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"Inside the `.md` file of a page:"},{"lineNumber":43,"author":{"gitId":"-"},"content":"```"},{"lineNumber":44,"author":{"gitId":"-"},"content":"{% raw %}{% set date_pagevar \u003d \"2020-03-06\" %}{% endraw %}"},{"lineNumber":45,"author":{"gitId":"-"},"content":"```"},{"lineNumber":46,"author":{"gitId":"-"},"content":"{% set date_pagevar \u003d \"2020-03-06\" %}"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"{{ njcode(\u0027date_pagevar | date(format2)\u0027) }} :glyphicon-arrow-right: {{ date_pagevar | date(format2) }} \u003cbr/\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"### Advanced Formatting"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"The output date can be formatted to suit your needs by specifying a format string as an argument to the date filter."},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"Default format: `\"ddd D MMM\"` e.g. Fri 6 Mar"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Brief reference**\"\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":"Token | Output"},{"lineNumber":61,"author":{"gitId":"-"},"content":"--- | ---"},{"lineNumber":62,"author":{"gitId":"-"},"content":"D | 1"},{"lineNumber":63,"author":{"gitId":"-"},"content":"Do | 1st"},{"lineNumber":64,"author":{"gitId":"-"},"content":"DD | 01"},{"lineNumber":65,"author":{"gitId":"-"},"content":"M | 1"},{"lineNumber":66,"author":{"gitId":"-"},"content":"MM | 01"},{"lineNumber":67,"author":{"gitId":"-"},"content":"MMM | Jan"},{"lineNumber":68,"author":{"gitId":"-"},"content":"MMMM | January"},{"lineNumber":69,"author":{"gitId":"-"},"content":"YY | 19"},{"lineNumber":70,"author":{"gitId":"-"},"content":"YYYY | 2019"},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":"Full formatting reference available [here](https://day.js.org/docs/en/parse/string-format#list-of-all-available-parsing-tokens) and [here](https://day.js.org/docs/en/plugin/advanced-format)."},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003cinclude boilerplate src\u003d\"outputBox.md\"\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003cbox\u003e\u003cspan\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":"{{ njblock(\u0027set base1 \u003d \"2019-08-12\"\u0027) }}\u003cbr/\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":"{{ njblock(\u0027set format1 \u003d \"DD MM YYYY\"\u0027) }}\u003cbr/\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":"{{ njblock(\u0027set format2 \u003d \"ddd Do MM\"\u0027) }}\u003cbr/\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date\u0027) }} \u003c!-- Mon 12 Aug --\u003e\u003cbr/\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date(format1)\u0027) }} \u003c!-- 12 08 2019 --\u003e\u003cbr/\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date(format1, 10)\u0027) }} \u003c!-- 22 08 2019 --\u003e\u003cbr/\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date(format2, 10)\u0027) }} \u003c!-- Thu 22/08 --\u003e\u003cbr/\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003c/span\u003e\u003c/box\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"output\"\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":"Mon 12 Aug\u003cbr/\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":"12 08 2019\u003cbr/\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":"22 08 2019\u003cbr/\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":"Thu 22/08"},{"lineNumber":95,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"\u003cbox\u003e\u003cspan\u003e"},{"lineNumber":102,"author":{"gitId":"jingting1412"},"content":"{{ njcode(\u0027baseDate | date(format, daysToAdd)\u0027) }} \u003c!-- 22.08.2019 --\u003e\u003cbr/\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":"\u003c/span\u003e\u003c/box\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":1,"-":103}},{"path":"docs/userGuide/syntax/emoji.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Emoji"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":":+1: :exclamation: :x: :construction: :) :/ :D"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"Tim-Siu"},"content":"%%{{ icon_info }} The list of supported [emoji](https://github.com/ikatyang/emoji-cheat-sheet/blob/master/README.md) and [emoticon shortcuts](https://github.com/markdown-it/markdown-it-emoji/blob/master/lib/data/shortcuts.mjs).%%"},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":20,"author":{"gitId":"-"},"content":":+1: :exclamation: :x: :construction: :) :/ :D"},{"lineNumber":21,"author":{"gitId":"-"},"content":"```"},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":":+1: :exclamation: :x: :construction: :) :/ :D"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":26,"Tim-Siu":1}},{"path":"docs/userGuide/syntax/footnotes.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Footnotes"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example-markbind\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"**Normal footnotes:**"},{"lineNumber":9,"author":{"gitId":"-"},"content":"Here is a footnote reference,[^1] and another.[^longnote]"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"[^1]: Here is the footnote. Footnotes will appear at the bottom of the page."},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"[^longnote]: Here\u0027s one with multiple blocks."},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" Subsequent paragraphs are indented to show that they"},{"lineNumber":16,"author":{"gitId":"-"},"content":"belong to the previous footnote."},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"**Inline footnotes:**"},{"lineNumber":20,"author":{"gitId":"-"},"content":"Here is an inline note.^[Inline notes are easier to write, since"},{"lineNumber":21,"author":{"gitId":"-"},"content":"you don\u0027t have to pick an identifier and move down to type the"},{"lineNumber":22,"author":{"gitId":"-"},"content":"note.]"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"Normal footnotes won\u0027t work when used inside the attributes of MarkBind components!"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"For example, it won\u0027t work in the `header` attribute of [panels](../components/presentation.html#panels)."},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":38,"author":{"gitId":"-"},"content":"**Normal footnotes:**"},{"lineNumber":39,"author":{"gitId":"-"},"content":"Here is a footnote reference,[^1] and another.[^longnote]"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"[^1]: Here is the footnote. Footnotes will appear at the bottom of the page."},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"[^longnote]: Here\u0027s one with multiple blocks."},{"lineNumber":44,"author":{"gitId":"-"},"content":" Subsequent paragraphs are indented to show that they"},{"lineNumber":45,"author":{"gitId":"-"},"content":"belong to the previous footnote."},{"lineNumber":46,"author":{"gitId":"-"},"content":"```"},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"1 + 1 \u003d 2 ^[Math]"},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":50,"yiwen101":1}},{"path":"docs/userGuide/syntax/fullSyntaxSet.njk","fileType":"njk","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"{% set syntax_topics \u003d {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" headings : [\u0027Headings\u0027, \u0027headings\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" paragraphs : [\u0027Paragraphs\u0027, \u0027paragraphs\u0027, [\u0027basic\u0027]],"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" lineBreaks : [\u0027Line Breaks\u0027, \u0027line-breaks\u0027, [\u0027basic\u0027]],"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" textStyles : [\u0027Text Styles\u0027, \u0027text-styles\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" blockquotes: [\u0027Blockquotes\u0027, \u0027blockquotes\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" lists : [\u0027Lists\u0027, \u0027lists\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" code : [\u0027Code\u0027, \u0027code\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" horizontalrules : [\u0027Horizontal Rules\u0027, \u0027horizontal-rules\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" links : [\u0027Links\u0027, \u0027links\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" footnotes: [\u0027Footnotes\u0027, \u0027footnotes\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" images : [\u0027Images\u0027, \u0027images\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" attributes: [\u0027Classes, Attributes \u0026 Identifiers\u0027, \u0027classes-attributes-and-amp-identifiers\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" tables : [\u0027Tables\u0027, \u0027tables\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" emoji : [\u0027Emoji\u0027, \u0027emoji\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" icons : [\u0027Icons\u0027, \u0027icons\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" embeds : [\u0027Embeds\u0027, \u0027embeds\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" dates : [\u0027Dates\u0027, \u0027dates\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" mathformulae : [\u0027Math Formulae\u0027, \u0027math-formulae\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" frontmatter : [\u0027Frontmatter\u0027, \u0027frontmatter\u0027, [\u0027tweakingThePageStructure\u0027]],"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" tags : [\u0027Tags\u0027, \u0027plugin-tags\u0027, [\u0027tweakingThePageStructure\u0027]],"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" includes : [\u0027Includes\u0027, \u0027includes\u0027, [\u0027reusingContents\u0027]],"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" variables : [\u0027Variables\u0027, \u0027variables\u0027, [\u0027reusingContents\u0027]],"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" keywords : [\u0027Keywords\u0027, \u0027keywords\u0027, [\u0027makingTheSiteSearchable\u0027]],"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" badges : [\u0027Badges\u0027, \u0027badges\u0027, [\u0027presentation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" boxes : [\u0027Boxes\u0027, \u0027boxes\u0027, [\u0027presentation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" panels : [\u0027Panels\u0027, \u0027panels\u0027, [\u0027presentation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" tabs : [\u0027Tabs\u0027, \u0027tabs\u0027, [\u0027presentation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" pictures : [\u0027Pictures\u0027, \u0027pictures\u0027, [\u0027images-diagrams\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":" annotations : [\u0027Annotations\u0027, \u0027annotations\u0027, [\u0027images-diagrams\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" thumbnails : [\u0027Thumbnails\u0027, \u0027thumbnails\u0027, [\u0027images-diagrams\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" diagrams : [\u0027Diagrams\u0027, \u0027diagrams\u0027, [\u0027images-diagrams\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":" tree : [\u0027Tree\u0027, \u0027tree\u0027, [\u0027images-diagrams\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":" tooltips : [\u0027Tooltips\u0027, \u0027tooltips\u0027, [\u0027popups\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":" popovers : [\u0027Popovers\u0027, \u0027popovers\u0027, [\u0027popups\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" modals : [\u0027Modals\u0027, \u0027modals\u0027, [\u0027popups\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":" dropdowns : [\u0027Dropdowns\u0027, \u0027dropdowns\u0027, [\u0027navigation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":" searchBars : [\u0027Search Bars\u0027, \u0027search-bars\u0027, [\u0027navigation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":" navBars : [\u0027Nav Bars\u0027, \u0027navbars\u0027, [\u0027navigation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" breadcrumbs : [\u0027Breadcrumbs\u0027, \u0027breadcrumbs\u0027, [\u0027navigation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" siteNavigationMenus : [\u0027Site Navigation Menus\u0027, \u0027site-navigation-menus\u0027, [\u0027navigation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":" pageNavigationMenus : [\u0027Page Navigation Menus\u0027, \u0027page-navigation-menus\u0027, [\u0027navigation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" scrollTopButton : [\u0027Scroll To Top Button\u0027, \u0027scroll-to-top-button\u0027, [\u0027navigation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" questions : [\u0027Questions and Quizzes\u0027, \u0027questions-and-quizzes\u0027, [\u0027others\u0027, \u0027reader-facing\u0027]]"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":"} %}"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":"{% macro generate_url(k, v) %}"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" {% set url\u003d\"/userGuide/\" %}"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" {% if v[2] is iterable %}"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":" {% if \u0027basic\u0027 in v[2] %}"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"formattingContents.html#\" + v[1] %}"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027presentation\u0027 in v[2] %}"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/presentation.html#\" + v[1] %}"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027images-diagrams\u0027 in v[2] %}"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/imagesAndDiagrams.html#\" + v[1] %}"},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027popups\u0027 in v[2] %}"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/popups.html#\" + v[1] %}"},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027navigation\u0027 in v[2] %}"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/navigation.html#\" + v[1] %}"},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027others\u0027 in v[2] %}"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/others.html#\" + v[1] %}"},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":" {% else %}"},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + v[2][0] + v[1] %}"},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":" {% endif %}"},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":" {% else %}"},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url %}"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":" {% endif%}"},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":" {{ url }}"},{"lineNumber":71,"author":{"gitId":"jingting1412"},"content":"{% endmacro %} "}],"authorContributionMap":{"jingting1412":71}},{"path":"docs/userGuide/syntax/headings.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Headings"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"You can prepend the heading text with 1-6 `#` characters to indicate headings of levels 1-6."},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":"### Heading level 3"},{"lineNumber":10,"author":{"gitId":"-"},"content":"..."},{"lineNumber":11,"author":{"gitId":"-"},"content":"###### Heading level 6"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"{{ icon_info }} **MarkBind auto-generates anchors for all headings.**\u003cbr\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"If the heading text is `Foo Bar (Goo)`, the ID of the generated anchor will be `foo-bar-goo` (all lower case, special characters omitted, joined by `-`)."},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003csmall\u003eAlternative syntax, more info: https://www.markdownguide.org/basic-syntax#headings"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":24,"author":{"gitId":"-"},"content":"### Heading level 3"},{"lineNumber":25,"author":{"gitId":"-"},"content":"..."},{"lineNumber":26,"author":{"gitId":"-"},"content":"###### Heading level 6"},{"lineNumber":27,"author":{"gitId":"-"},"content":"```"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":"```markdown"},{"lineNumber":32,"author":{"gitId":"-"},"content":"### Heading level 3"},{"lineNumber":33,"author":{"gitId":"-"},"content":"..."},{"lineNumber":34,"author":{"gitId":"-"},"content":"###### Heading level 6"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":"```"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":2,"-":34}},{"path":"docs/userGuide/syntax/icons.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Icons"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":"\u003csmall\u003e%%Acknowledgement: Font Awesome icons are provided by [Font Awesome](https://fontawesome.com/) under their [free license](https://fontawesome.com/license), Glyphicons are provided by [Glyphicons](https://glyphicons.com/) via [Bootstrap 3](https://getbootstrap.com/docs/3.3/). Bootstrap icons are designed by [@mdo](https://github.com/mdo), maintained by the [Bootstrap Team](https://github.com/orgs/twbs/people) and provided under MIT liscense. [Octicons](https://octicons.github.com) are copyright of GitHub, and Material icons are provided by [Google Fonts](https://fonts.google.com/icons) via [`material-icons` by Ravindra Marella](https://www.npmjs.com/package/material-icons) under the [Apache license 2.0](https://www.apache.org/licenses/LICENSE-2.0.html).%%\u003c/small\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":"MarkBind supports using Font Icons provided by Font Awesome, Glyphicons, GitHub\u0027s Octicons and Bootstrap icons."},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"tip.md\" boilerplate \u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"tip_body\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":"The advantage of font icons over emojis is font icons can be _styled_ to fit your needs. e.g.,"},{"lineNumber":10,"author":{"gitId":"-"},"content":"* emoji: \u003cspan style\u003d\"color: purple\"\u003eDon\u0027t judge the :book: by its cover! :-1:\u003c/span\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":"* font icons: \u003cspan style\u003d\"color: purple\"\u003eDon\u0027t judge the :fa-solid-book: by its cover! {{ icon_dislike }}\u003c/span\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"###### Using Font Awesome Icons"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"MarkBind currently supports Version 6 of Font Awesome (Free plan). For detailed changes between versions, refer to [Font Awesome\u0027s documentation](https://fontawesome.com/docs/web/setup/upgrade/whats-changed)."},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"1. Decide which icon you want to use from the [list of available icons](https://fontawesome.com/icons?d\u003dgallery\u0026m\u003dfree)."},{"lineNumber":24,"author":{"gitId":"-"},"content":"1. Construct the MarkBind name for the selected icon by adding the _type prefix_."},{"lineNumber":25,"author":{"gitId":"-"},"content":" Note: Font Awesome has two different styles for their icons, each with their own type prefix. Here is an example from each type:"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * _Solid_ (prefix: `fa-solid-`) e.g., :fa-solid-file-code: (actual name `file-code`, MarkBind name `fa-solid-file-code`)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * _Brands_ (prefix: `fa-brands-`): e.g., :fa-brands-github-alt: (actual name `github-alt`, MarkBind name `fa-brands-github-alt`)"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"1. Insert MarkBind name for the icon enclosed within colons to get the icon in your page.\u003cbr\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" `Create a **branch**`\u003ccode\u003e:\u003cspan\u003e\u003c/span\u003efas-code-branch: now!\u003c/code\u003e → Create a **branch** :fas-code-branch: now!"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"###### Using Glyphicons"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"1. Decide which icon you want to use from [list of provided glyphicons](https://getbootstrap.com/docs/3.3/components/#glyphicons)."},{"lineNumber":36,"author":{"gitId":"-"},"content":"1. Insert the name for the icon enclosed within colons to get the icon in your page.\u003cbr\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" `Move to the right!`\u003ccode\u003e:\u003cspan\u003e\u003c/span\u003eglyphicon-hand-right:\u003c/code\u003e → Move to the right! :glyphicon-hand-right:"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003ccode\u003e:\u003cspan\u003e\u003c/span\u003eglyphicon-hand-right:\u003c/code\u003e \u003ccode\u003e:\u003cspan\u003e\u003c/span\u003efa-brands-github:\u003c/code\u003e \u003ccode\u003e:\u003cspan\u003e\u003c/span\u003efa-solid-home:\u003c/code\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":":glyphicon-hand-right: :fa-brands-github: :fa-solid-home: %%:glyphicon-hand-right: :fa-brands-github: :fa-solid-home:%% \u003cspan style\u003d\"color: red\"\u003e:glyphicon-hand-right: :fa-brands-github: :fa-solid-home:\u003c/span\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"###### Using Octicons"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"1. Decide which icon you want to use from [list of available Octicons](https://octicons.github.com)."},{"lineNumber":53,"author":{"gitId":"-"},"content":"1. Insert the name for the icon enclosed within colons to get the icon in your page.\u003cbr\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" `Merge a **pull request** :octicon-git-pull-request:` → Merge a **pull request** :octicon-git-pull-request:"},{"lineNumber":55,"author":{"gitId":"-"},"content":"1. You may also append `~class-name` to the end of the octicon name to add `class\u003d\"class-name\"` property to your Octicon (e.g. `:octicon-git-pull-request~icon-large-red:` will generate an Octicon of class *icon-large-red*). You may then add corresponding CSS to `{root}/_markbind/layouts/{layout-name}/styles.css` to customize the style of your Octicon."},{"lineNumber":56,"author":{"gitId":"-"},"content":"1. If your background is dark, you may use `:octiconlight-*:` to render the icon as white. "},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":"###### Using Bootstrap icons"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":"1. Decide which icon you want to use from [list of available Bootstrap icons](https://icons.getbootstrap.com)."},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":"1. Insert the name for the icon enclosed within colons to get the icon in your page.\u003cbr\u003e"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" `Add a romantic touch with :bi-arrow-through-heart:` → Add a romantic touch with :bi-arrow-through-heart:"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"###### Using Material Icons"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":"1. Decide which icon you want to use from [list of available icons](https://fonts.google.com/icons)."},{"lineNumber":67,"author":{"gitId":"-"},"content":"1. Construct the MarkBind name for the selected icon by writing the icon name in _lowercase letters only_, replacing any spaces between the words in the name with _dashes_ (`-`), then adding the _type prefix_."},{"lineNumber":68,"author":{"gitId":"-"},"content":" Note: Google has five different styles for their Material icons, each with their own type prefix. Here is an example from each type:"},{"lineNumber":69,"author":{"gitId":"-"},"content":" * _Filled_ (prefix: `mif-`) e.g. :mif-perm-media: (actual name `Perm Media`, MarkBind name `mif-perm-media`)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" * _Outlined_ (prefix: `mio-`) e.g., :mio-perm-media: (actual name `Perm Media`, MarkBind name `mio-perm-media`)"},{"lineNumber":71,"author":{"gitId":"-"},"content":" * _Rounded_ (prefix: `mir-`): e.g., :mir-perm-media: (actual name `Perm Media`, MarkBind name `mir-perm-media`)"},{"lineNumber":72,"author":{"gitId":"-"},"content":" * _Sharp_ (prefix: `mis-`): e.g., :mis-perm-media: (actual name `Perm Media`, MarkBind name `mis-perm-media`)"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * _Two tone_ (prefix: `mit-`): e.g., :mit-perm-media: (actual name `Perm Media`, MarkBind name `mit-perm-media`)"},{"lineNumber":74,"author":{"gitId":"-"},"content":" "},{"lineNumber":75,"author":{"gitId":"-"},"content":"1. Insert the name for the icon enclosed within colons to get the icon in your page.\u003cbr\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" `Download from Cloud :mio-cloud-download:` → Download from Cloud :mio-cloud-download:"}],"authorContributionMap":{"-":68,"yiwen101":8}},{"path":"docs/userGuide/syntax/images.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Images"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":"![](https://markbind.org/images/logo-lightbackground.png)"},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" URLs can be specified as relative references. More info in: \u003ci\u003e\u003ca href\u003d\"#intraSiteLinks\"\u003eIntra-Site Links\u003c/a\u003e\u003c/i\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":18,"author":{"gitId":"-"},"content":"![alt text here](https://markbind.org/images/logo-lightbackground.png \"title here\")"},{"lineNumber":19,"author":{"gitId":"-"},"content":"```"},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"![alt text here](https://markbind.org/images/logo-lightbackground.png \"title here\")"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"**Adjusting image dimension**"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"MarkBind also supports the `\u003dWx` shorthand for specifying image width:"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":"This image has a width of 100px: ![](https://markbind.org/images/logo-lightbackground.png \u003d100x)"},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" The width of images cannot exceed that of their parent container. If the specified width is too large, it will be ignored."},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"MarkBind does not support setting the height of images through the `\u003dWxH` or `\u003dxH` syntax. This is because images are automatically resized to ensure responsiveness based on their width."},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"**Auto-linkify**"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"MarkBind automatically wraps images with link to the image URL such that one can click on the image to view the full image."},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":"Click on the image to open the image: ![logo](https://markbind.org/images/logo-lightbackground.png \u003d150x)"},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":"If the image is wrapped with a link, the link will be used instead."},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":"Clicking on this image will bring you to the MarkBind homepage (instead of opening the image):"},{"lineNumber":61,"author":{"gitId":"-"},"content":"[![logo](https://markbind.org/images/logo-lightbackground.png \u003d150x)](https://markbind.org)"},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":"If you want to display images with captions, or have the image auto-resize to fit its container, take a look at [MarkBind\u0027s `pic` component]({{baseUrl}}/userGuide/components/imagesAndDiagrams.html#pictures)."},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"}],"authorContributionMap":{"KevinEyo1":6,"-":63}},{"path":"docs/userGuide/syntax/includes.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → Reusing Contents → Includes_]({{ baseUrl }}/userGuide/reusingContents.html#includes)\u003c/md\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"## Includes"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"**MarkBind has a powerful `\u003cinclude\u003e` mechanism** which allows you to create documents by combining other content fragments."},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"**You can use `\u003cinclude\u003e` tag to include another markdown or HTML document into the current document.**"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"{{ icon_example }} Including text from a `tip2.md` in another file."},{"lineNumber":17,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":18,"author":{"gitId":"-"},"content":"Tip 1. ..."},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"tips/tip2.md\" /\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":"Tip 3. ..."},{"lineNumber":21,"author":{"gitId":"-"},"content":"```"},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"**You can `\u003cinclude\u003e` a fragment of a file** by specifying the `#fragment-id` at the end of the `src` attribute value, provided the fragment is wrapped in a `\u003cdiv\u003e`/`\u003cspan\u003e` tag with the matching `id`."},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" seamless\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"Choose `\u003cdiv\u003e` over `\u003cspan\u003e` when wrapping block-level elements, to prevent invalid HTML markup which causes [hydration issues](https://vuejs.org/guide/scaling-up/ssr.html#hydration-mismatch)."},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"{{ icon_example }} Including a fragment from a file:"},{"lineNumber":35,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":36,"author":{"gitId":"-"},"content":"Some text"},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"docs/tips.md#tip-1\" /\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":"Some other text"},{"lineNumber":39,"author":{"gitId":"-"},"content":"```"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"`docs/tips.md`:"},{"lineNumber":42,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":43,"author":{"gitId":"-"},"content":"..."},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"tip-1\" /\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" Tip 1. ..."},{"lineNumber":46,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"Tip 2. ..."},{"lineNumber":49,"author":{"gitId":"-"},"content":"```"},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"When setting the `id` of a fragment, be careful not to clash with heading anchor IDs auto-generated by MarkBind. For example, if you have a heading `## Some Useful Tips`, MarkBind will auto-generate an ID `some-useful-tips` for that heading."},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"panels.md#script_and_styles_warning\"\u003e\u003c/include\u003e"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"baseUrl-warning\"\u003e"},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"warning\" header\u003d\"Add `{{ \u0027{{ baseUrl }}\u0027 }}` to make your URLs absolute links if they may be reused in different contexts\"\u003e"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":"Make an internal relative link an absolute link by adding `{{ \u0027{{ baseUrl }}\u0027 }}` in front of the path. This allows the link to always point to the same target. Keep this in mind when putting content with links that is reused (eg: via `\u003cinclude\u003e`). This is because when your content is re-used, a relative link may no longer point to where you want it to."},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"baseUrl-example\"\u003e"},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":"\u003cpanel header\u003d\"Example of using absolute links in `\u003cinclude\u003e`\"\u003e"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":"The file `folder1/file1.md` contains a link to `folder1/target.html`. The file `folder2/file2.md` contains `folder1/file1.md` using `\u003cinclude\u003e`."},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":"**In `folder2/file2.md`:** "},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":"```"},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"folder1/file1.md\" /\u003e"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":"```"},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"success\" header\u003d\"Positive example\"\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"jingting1412"},"content":"To ensure that the link will still point to `folder1/target.html`, use an **absolute link** in `folder1/file1.md` as such: `{{ \u0027{{baseUrl}}\u0027 }}/folder1/target.html`."},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":74,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"wrong\" header\u003d\"Negative example\"\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"jingting1412"},"content":"If a relative link `target.html` is used, the link in `folder2/file2.md` will point to `folder2/target.html` instead of `folder1/target.html`"},{"lineNumber":77,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":78,"author":{"gitId":"jingting1412"},"content":"\u003c/panel\u003e"},{"lineNumber":79,"author":{"gitId":"jingting1412"},"content":"\u003cbr/\u003e"},{"lineNumber":80,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":81,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":82,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"tip.md\" boilerplate \u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"tip_body\"\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":"The `\u003cinclude\u003e` mechanism can be used inside any MarkBind source file (even inside the _frontmatter_ section) but it will not work inside some _special_ files such as the `_markbind/variables.md`."},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":"**Attributes:**"},{"lineNumber":91,"author":{"gitId":"-"},"content":"* **`src`**: specify the source file path."},{"lineNumber":92,"author":{"gitId":"-"},"content":"* **`inline`** (optional): make the included result an inline element. (wrapped in `\u003cspan\u003e` tag). e.g.,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" ```html"},{"lineNumber":94,"author":{"gitId":"-"},"content":" The title is \u003cinclude src\u003d\"../docs/summary.md#title\" inline /\u003e while ..."},{"lineNumber":95,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":96,"author":{"gitId":"-"},"content":"* **`optional`** (optional): include the file/fragment only if it exists i.e., there will be no error message if the file/fragment does not exist. e.g.,"},{"lineNumber":97,"author":{"gitId":"-"},"content":" ```html"},{"lineNumber":98,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"UserStories.md\" optional /\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":100,"author":{"gitId":"-"},"content":"* **`trim`** (optional): remove leading and trailing whitespace and newlines from the document before including."},{"lineNumber":101,"author":{"gitId":"-"},"content":" ```html"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"UserStories.md#epic\" trim /\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":104,"author":{"gitId":"-"},"content":"* **`omitFrontmatter`** (optional): omit the frontmatter of the file/fragment from being included (if any)."},{"lineNumber":105,"author":{"gitId":"-"},"content":" ```html"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"UserStories.md#epic\" omitFrontmatter /\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":"##### `\u003cinclude\u003e` Inside an Included File"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":"**Although the `src` attribute of an `\u003cinclude\u003e` is given _relative_ to the current directory, it is converted to an _absolute_ value _before_ the \u003ctooltip content\u003d\"i.e., the file containing the `\u003cinclude\u003e`\"\u003ehost file\u003c/tooltip\u003e is included from another file.**"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":"{{ icon_example }} Suppose you have a MarkBind project with the following file structure."},{"lineNumber":116,"author":{"gitId":"-"},"content":"\u003ctree\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":"C:/mySite/"},{"lineNumber":118,"author":{"gitId":"-"},"content":" bookFiles/"},{"lineNumber":119,"author":{"gitId":"-"},"content":" book.md"},{"lineNumber":120,"author":{"gitId":"-"},"content":" chapter1.md"},{"lineNumber":121,"author":{"gitId":"-"},"content":" chapter2.md"},{"lineNumber":122,"author":{"gitId":"-"},"content":" reviewFiles/"},{"lineNumber":123,"author":{"gitId":"-"},"content":" review.md"},{"lineNumber":124,"author":{"gitId":"-"},"content":"\u003c/tree\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":"The `book.md`:"},{"lineNumber":126,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":127,"author":{"gitId":"-"},"content":"# My Book"},{"lineNumber":128,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter1.md\" /\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter2.md\" /\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":"```"},{"lineNumber":131,"author":{"gitId":"-"},"content":"The `review.md`:"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":134,"author":{"gitId":"-"},"content":"# My Review"},{"lineNumber":135,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"../bookFiles/book.md\" /\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":"..."},{"lineNumber":137,"author":{"gitId":"-"},"content":"```"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":"The content of the `chapter1.md` and `chapter2.md` will be included in the `review.md` (via `\u003cinclude src\u003d\"../bookFiles/book.md\" /\u003e`) although `chapter1.md` and `chapter2.md` are not in `reviewFiles` directory. i.e., `\u003cinclude src\u003d\"chapter1.md\" /\u003e` will be interpreted as `\u003cinclude src\u003d\"c:/mySite/bookFiles/chapter1.md\" /\u003e`"},{"lineNumber":140,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"In other words, **`\u003cinclude\u003e` interprets the reused code relative to the original location of the file, not the location in which it is reused.**"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":"##### Specifying Variables in an `\u003cinclude\u003e`"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":"**It is possible to include variables in an `\u003cinclude\u003e`.**"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":"{{ icon_example }} Specifying `title` and `author` variables in an `\u003cinclude\u003e` tag:"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":155,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"article.md\"\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"title\"\u003eMy Title\u003c/variable\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"author\"\u003eJohn Doe\u003c/variable\u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":159,"author":{"gitId":"-"},"content":"```"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"In `article.md`:"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":"{% raw %}"},{"lineNumber":164,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":165,"author":{"gitId":"-"},"content":"# {{ title }}\u003cbr\u003e"},{"lineNumber":166,"author":{"gitId":"-"},"content":"Author: {{ author }}"},{"lineNumber":167,"author":{"gitId":"-"},"content":"```"},{"lineNumber":168,"author":{"gitId":"-"},"content":"{% endraw %}"},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":"These variables work the same way as variables in `_markbind/variables.md`, except that they only apply to the included file. They allow the included file to be reused as a template, for different source files using different variable values."},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"You can also specify include variables within the `\u003cinclude\u003e` tag itself by adding a `var-` prefix."},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":"{{ icon_example }} Specifying `title` and `author` variables inline:"},{"lineNumber":178,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":179,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"article.md\" var-title\u003d\"My Title\" var-author\u003d\"John Doe\" /\u003e"},{"lineNumber":180,"author":{"gitId":"-"},"content":"```"},{"lineNumber":181,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":"If the same variable is defined in a chain of `\u003cinclude\u003e`s (e.g. `a.md` includes `b.md` includes `c.md`...), variables defined in the top-most `\u003cinclude\u003e` will take precedence. Global variables (`_markbind/variables.md`) will take precedence over any `\u003cinclude\u003e` variables."},{"lineNumber":184,"author":{"gitId":"-"},"content":"This is to allow the outer context to adapt the reused content without changing its actual content."},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Preventing cyclical errors when using multiple includes with same variables\"\u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":"Since outer variables override inner variables, this may result in errors if attempting to use an `include` within another `include` with the same variables."},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":"This is because the inner variable of the same name will be replaced with the outer variable, which contains the inner variable. "},{"lineNumber":191,"author":{"gitId":"-"},"content":"This inner variable is once again overridden to result in another inner variable and so on, causing a cyclical error."},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":"To fix this issue, do not use an inner `include` if they use the same variables."},{"lineNumber":194,"author":{"gitId":"-"},"content":"Instead, copy the content of the `src` file and replace the variables with the defined values."},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":"Example:"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":"```html {.line-numbers}"},{"lineNumber":199,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"boilerplate.md\" boilerplate\u003e"},{"lineNumber":200,"author":{"gitId":"-"},"content":" \u003cspan id\u003d\"variable\"\u003e"},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"boilerplate.md\"\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":" \u003cspan id\u003d\"variable\"\u003e"},{"lineNumber":203,"author":{"gitId":"-"},"content":" VALUE_OF_VARIABLE"},{"lineNumber":204,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":205,"author":{"gitId":"-"},"content":" \u003c/include\u003e"},{"lineNumber":206,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":"```"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":"The inner `variable` would be replaced by the outer `variable` resulting in a cyclical error:"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":"```html {.line-numbers highlight-lines\u003d\"5-9\"}"},{"lineNumber":213,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"boilerplate.md\" boilerplate\u003e"},{"lineNumber":214,"author":{"gitId":"-"},"content":" \u003cspan id\u003d\"variable\"\u003e"},{"lineNumber":215,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"boilerplate.md\"\u003e"},{"lineNumber":216,"author":{"gitId":"-"},"content":" \u003cspan id\u003d\"variable\"\u003e"},{"lineNumber":217,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"boilerplate.md\"\u003e"},{"lineNumber":218,"author":{"gitId":"-"},"content":" \u003cspan id\u003d\"variable\"\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":220,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":" \u003c/include\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":223,"author":{"gitId":"-"},"content":" \u003c/include\u003e"},{"lineNumber":224,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":225,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":226,"author":{"gitId":"-"},"content":"```"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":"To fix this problem, copy the content of the `src` file and replace the variables with the defined values as such:"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":"```html {.line-numbers highlight-lines\u003d\"3\"}"},{"lineNumber":231,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"boilerplate.md\" boilerplate\u003e"},{"lineNumber":232,"author":{"gitId":"-"},"content":" \u003cspan id\u003d\"variable\"\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":" Boilerplate content: VALUE_OF_VARIABLE \u003c!-- Replace {{ \u0027{{\u0027 }} variable {{ \u0027}}\u0027 }} in boilerplate with VALUE_OF_VARIABLE --\u003e"},{"lineNumber":234,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":235,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":236,"author":{"gitId":"-"},"content":"```"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":"##### Excluding Files from Rendering as Pages"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":"**MarkBind supports the exclusion of files from page generation**. For example, you can exclude files containing \u003ctooltip content\u003d\"A fragment is a piece of content that can be reused across multiple pages.\"\u003ecustom fragments\u003c/tooltip\u003e that are only meant to be used in `\u003cinclude\u003e`."},{"lineNumber":245,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":"Note: This example below is assuming that you have included the following glob pattern in the `site.json` file:"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":"```js"},{"lineNumber":250,"author":{"gitId":"-"},"content":"{"},{"lineNumber":251,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":252,"author":{"gitId":"-"},"content":" {"},{"lineNumber":253,"author":{"gitId":"-"},"content":" \"glob\": \"*.md\","},{"lineNumber":254,"author":{"gitId":"-"},"content":" \"layout\": \"normal\","},{"lineNumber":255,"author":{"gitId":"-"},"content":" \"searchable\": \"yes\""},{"lineNumber":256,"author":{"gitId":"-"},"content":" }"},{"lineNumber":257,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":258,"author":{"gitId":"-"},"content":"}"},{"lineNumber":259,"author":{"gitId":"-"},"content":"```"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":"Else, if each page is included individually, there is no need to exclude the fragments as they will not be included in the page generation."},{"lineNumber":262,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":263,"author":{"gitId":"-"},"content":""},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":"{{ icon_example }} Suppose you have a fragment file `content-fragment.md` and you want to include it in some pages of the site `course` without rendering `content-fragment.md` as a page."},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":"\u003ctree\u003e"},{"lineNumber":268,"author":{"gitId":"-"},"content":"C:/course/"},{"lineNumber":269,"author":{"gitId":"-"},"content":" content-fragment.md"},{"lineNumber":270,"author":{"gitId":"-"},"content":" index.md"},{"lineNumber":271,"author":{"gitId":"-"},"content":" reading.md"},{"lineNumber":272,"author":{"gitId":"-"},"content":" site.json"},{"lineNumber":273,"author":{"gitId":"-"},"content":"\u003c/tree\u003e"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":"In `reading.md` (note how it reuses content from the `content-fragment.md`):"},{"lineNumber":276,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":277,"author":{"gitId":"-"},"content":"# Week 1 Reading:"},{"lineNumber":278,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"content-fragment.md\" /\u003e"},{"lineNumber":279,"author":{"gitId":"-"},"content":"```"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":"In `site.json` we then exclude the fragment from the page generation with [pagesExclude](../siteJsonFile.html#pagesexclude):"},{"lineNumber":282,"author":{"gitId":"-"},"content":""},{"lineNumber":283,"author":{"gitId":"-"},"content":"```json"},{"lineNumber":284,"author":{"gitId":"-"},"content":"..."},{"lineNumber":285,"author":{"gitId":"-"},"content":"\"pagesExclude\": ["},{"lineNumber":286,"author":{"gitId":"-"},"content":" \"**/*-fragment.md\""},{"lineNumber":287,"author":{"gitId":"-"},"content":"],"},{"lineNumber":288,"author":{"gitId":"-"},"content":"..."},{"lineNumber":289,"author":{"gitId":"-"},"content":"```"},{"lineNumber":290,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"tip.md\" boilerplate \u003e"},{"lineNumber":295,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"tip_body\"\u003e"},{"lineNumber":296,"author":{"gitId":"-"},"content":"You may use any custom name you wish for your fragments but be sure to update the `pagesExclude` list with the appropriate glob pattern."},{"lineNumber":297,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":298,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":301,"author":{"gitId":"-"},"content":""},{"lineNumber":302,"author":{"gitId":"-"},"content":"### Using Boilerplate Files"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":"**If you find yourself duplicating a \u003ctooltip content\u003d\"code that needs to stay relative to the directory in which it used\"\u003e_boilerplate code_\u003c/tooltip\u003e fragment in multiple places of your code base, you can use a `boilerplate` file to avoid such duplication.** Note that you cannot use a normal `\u003cinclude\u003e` in this case because the code included using a normal `\u003cinclude\u003e` stays relative to the original location while boilerplate code needs to be interpreted relative to the location it is being used."},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":"{{ icon_example }} Suppose you have a MarkBind project with the following file structure."},{"lineNumber":309,"author":{"gitId":"-"},"content":"\u003ctree\u003e"},{"lineNumber":310,"author":{"gitId":"-"},"content":"C:/mySite/"},{"lineNumber":311,"author":{"gitId":"-"},"content":" chapter1/"},{"lineNumber":312,"author":{"gitId":"-"},"content":" chapter.md"},{"lineNumber":313,"author":{"gitId":"-"},"content":" text.md"},{"lineNumber":314,"author":{"gitId":"-"},"content":" exercises.md"},{"lineNumber":315,"author":{"gitId":"-"},"content":" chapter2/"},{"lineNumber":316,"author":{"gitId":"-"},"content":" chapter.md"},{"lineNumber":317,"author":{"gitId":"-"},"content":" text.md"},{"lineNumber":318,"author":{"gitId":"-"},"content":" exercises.md"},{"lineNumber":319,"author":{"gitId":"-"},"content":" book.md"},{"lineNumber":320,"author":{"gitId":"-"},"content":"\u003c/tree\u003e"},{"lineNumber":321,"author":{"gitId":"-"},"content":"The `book.md`:"},{"lineNumber":322,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":323,"author":{"gitId":"-"},"content":"# My Book"},{"lineNumber":324,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter1/chapter.md\" /\u003e"},{"lineNumber":325,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter2/chapter.md\" /\u003e"},{"lineNumber":326,"author":{"gitId":"-"},"content":"```"},{"lineNumber":327,"author":{"gitId":"-"},"content":"The `chapter1/chapter.md`:"},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":330,"author":{"gitId":"-"},"content":"## Text"},{"lineNumber":331,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"text.md\" /\u003e"},{"lineNumber":332,"author":{"gitId":"-"},"content":"## Exercises"},{"lineNumber":333,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"exercises.md\" /\u003e"},{"lineNumber":334,"author":{"gitId":"-"},"content":"```"},{"lineNumber":335,"author":{"gitId":"-"},"content":"The `chapter2/chapter.md`:"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":338,"author":{"gitId":"-"},"content":"## Text"},{"lineNumber":339,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"text.md\" /\u003e"},{"lineNumber":340,"author":{"gitId":"-"},"content":"## Exercises"},{"lineNumber":341,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"exercises.md\" /\u003e"},{"lineNumber":342,"author":{"gitId":"-"},"content":"```"},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":"As you can see, both `chapter.md` files are exactly the same. If we were to use only one of the `chapter.md` files and `\u003cinclude\u003e` it twice in the `book.md`, we\u0027ll end up with the same chapter content duplicated twice, which is not what we want. In other words, `chapter.md` contains boilerplate code that needs to be interpreted relative to where it is applied, once relative to `chapter1` directory and once relative to `chapter2` directory."},{"lineNumber":345,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":"To use a code fragment as a boilerplate file,"},{"lineNumber":348,"author":{"gitId":"-"},"content":"1. Put the code in a file inside the `_markbind/boilerplates` directory."},{"lineNumber":349,"author":{"gitId":"-"},"content":"2. `\u003cinclude\u003e` the file _as if_ a copy of it exists in any directory you want it to applied, but add the `boilerplate` attribute to the `\u003cinclude\u003e` tag."},{"lineNumber":350,"author":{"gitId":"-"},"content":""},{"lineNumber":351,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":"{{ icon_example }} Here\u0027s how you can use a boilerplate file to avoid duplicating the `chapter.md`:"},{"lineNumber":354,"author":{"gitId":"-"},"content":"\u003ctree\u003e"},{"lineNumber":355,"author":{"gitId":"-"},"content":"C:/mySite/"},{"lineNumber":356,"author":{"gitId":"-"},"content":" _markbind/boilerplates/"},{"lineNumber":357,"author":{"gitId":"-"},"content":" chapter.md"},{"lineNumber":358,"author":{"gitId":"-"},"content":" chapter1/"},{"lineNumber":359,"author":{"gitId":"-"},"content":" text.md"},{"lineNumber":360,"author":{"gitId":"-"},"content":" exercises.md"},{"lineNumber":361,"author":{"gitId":"-"},"content":" chapter2/"},{"lineNumber":362,"author":{"gitId":"-"},"content":" text.md"},{"lineNumber":363,"author":{"gitId":"-"},"content":" exercises.md"},{"lineNumber":364,"author":{"gitId":"-"},"content":" book.md"},{"lineNumber":365,"author":{"gitId":"-"},"content":"\u003c/tree\u003e"},{"lineNumber":366,"author":{"gitId":"-"},"content":"The `book.md`:"},{"lineNumber":367,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":368,"author":{"gitId":"-"},"content":"# My Book"},{"lineNumber":369,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter1/chapter.md\" boilerplate /\u003e"},{"lineNumber":370,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter2/chapter.md\" boilerplate /\u003e"},{"lineNumber":371,"author":{"gitId":"-"},"content":"```"},{"lineNumber":372,"author":{"gitId":"-"},"content":"The `_markbind/boilerplates/chapter.md`:"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":375,"author":{"gitId":"-"},"content":"## Text"},{"lineNumber":376,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"text.md\" /\u003e"},{"lineNumber":377,"author":{"gitId":"-"},"content":"## Exercises"},{"lineNumber":378,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"exercises.md\" /\u003e"},{"lineNumber":379,"author":{"gitId":"-"},"content":"```"},{"lineNumber":380,"author":{"gitId":"-"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":"Consider the line `\u003cinclude src\u003d\"chapter1/chapter.md\" boilerplate /\u003e`. Note how you can use `src\u003d\"chapter1/chapter.md\"` even though there is no such file. MarkBind will use the `chapter.md` file from `/_markbind/boilerplates/` but interpret it as if the file exists in the `chapter1` directory (i.e., interpret the `chapter.md` code relative to the `chapter1` directory)."},{"lineNumber":382,"author":{"gitId":"-"},"content":""},{"lineNumber":383,"author":{"gitId":"-"},"content":"Similarly, `\u003cinclude src\u003d\"chapter2/chapter.md\" boilerplate /\u003e` interprets the `chapter.md` relative to the `chapter2` directory."},{"lineNumber":384,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":"If you have many boilerplate files, you can organize them into directories inside the `_markbind` directory. When using such boilerplate files, you need to replace `boilerplate` attribute with `boilerplate\u003d\"\u003cpath to file relative to _markbind/boilerplates\u003e\"`."},{"lineNumber":387,"author":{"gitId":"-"},"content":""},{"lineNumber":388,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":389,"author":{"gitId":"-"},"content":""},{"lineNumber":390,"author":{"gitId":"-"},"content":"{{ icon_example }} Suppose the `chapter.md` is places in a `book` directory:"},{"lineNumber":391,"author":{"gitId":"-"},"content":"\u003ctree\u003e"},{"lineNumber":392,"author":{"gitId":"-"},"content":"C:/mySite/"},{"lineNumber":393,"author":{"gitId":"-"},"content":" _markbind/boilerplates/"},{"lineNumber":394,"author":{"gitId":"-"},"content":" book/"},{"lineNumber":395,"author":{"gitId":"-"},"content":" chapter.md"},{"lineNumber":396,"author":{"gitId":"-"},"content":"\u003c/tree\u003e"},{"lineNumber":397,"author":{"gitId":"-"},"content":""},{"lineNumber":398,"author":{"gitId":"-"},"content":"It needs to be used as follows:"},{"lineNumber":399,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":400,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter1/chapter.md\" boilerplate\u003d\"book/chapter.md\" /\u003e"},{"lineNumber":401,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter2/chapter.md\" boilerplate\u003d\"book/chapter.md\" /\u003e"},{"lineNumber":402,"author":{"gitId":"-"},"content":"```"},{"lineNumber":403,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":407,"author":{"gitId":"-"},"content":""},{"lineNumber":408,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":409,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"foo.md#bar\" boilerplate inline trim\u003e"},{"lineNumber":410,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"x\"\u003e5\u003c/variable\u003e"},{"lineNumber":411,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":412,"author":{"gitId":"-"},"content":"```"},{"lineNumber":413,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":25,"-":388}},{"path":"docs/userGuide/syntax/lists.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Lists"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"-"},"content":"****Unordered lists:****"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":"* Item 1"},{"lineNumber":10,"author":{"gitId":"-"},"content":" * Sub item 1.1"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Sub item 1.2\u003cbr\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" Second line"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Sub item 1.2.1"},{"lineNumber":14,"author":{"gitId":"-"},"content":"* Item 2"},{"lineNumber":15,"author":{"gitId":"-"},"content":"* Item 3"},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"****Customizing the Unordered list appearance:****"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"**To customize unordered lists\u0027 icons, add the configuration `{icon\u003d\"icon-name\"}` and/or `{text\u003d\"text\"}` after a specific list item.**"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":"* Item 1 { text\u003d\"Step 1 :+1:\" icon\u003d\"glyphicon-education\" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":"* Item 2 { text\u003d\"Step 2\" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * Item 2.1 { icon\u003d\"fas-file-code\" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Item 2.2"},{"lineNumber":30,"author":{"gitId":"-"},"content":"* Item 3 { text\u003d\"Step 3\" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * Item 3.1 "},{"lineNumber":32,"author":{"gitId":"-"},"content":"* Item 4 { text\u003d\"\\`PR`\" icon\u003d\"octicon-git-pull-request\" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Item 4.1 { icon\u003d\"mif-perm-media\" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":"* Item 5 { text\u003d\"Step 5\" icon\u003d\"glyphicon-education\" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * Item 5.1 { icon\u003d\"notebook_with_decorative_cover\" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003c/variable\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003cbox type\u003dinfo seamless\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"Customization will be carried over to the other items within the **same level of the list**."},{"lineNumber":42,"author":{"gitId":"-"},"content":"Example: "},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":"* Item 1 { icon\u003d\"glyphicon-education\" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Item 1.1"},{"lineNumber":48,"author":{"gitId":"-"},"content":"* Item 2 "},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003c/variable\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"The customised icon appears for Item 2 but not for Item 1.1."},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"Hence, if you customize any item on a certain level, you must also **customize the first item on that level**. If not, the list will revert to its uncustomized form."},{"lineNumber":55,"author":{"gitId":"-"},"content":"If you wish to remove the customization from the following levels, you can set `text` and/or `icon` to be an empty string `\"\"`. "},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":"Example:"},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":"* Item 1 { icon\u003d\"glyphicon-education\" text\u003d\"Only for this bullet\" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":"* Item 2 { icon\u003d\"\" }"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003c/variable\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" \u003c/include\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":"You can use any of the [icons](../formattingContents.html#icons) supported by MarkBind. If an item has a specified icon, that icon will be used for it and for subsequent items at that level."},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":"Markdown can also be used in texts."},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003cbox type\u003dwarning seamless\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":"You may need to add escape characters when using special characters for Markdown in text. "},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":"**You can add an icon or text that only applies to a specific item by using the `once` attribute.**"},{"lineNumber":76,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":77,"author":{"gitId":"KevinEyo1"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":80,"author":{"gitId":"KevinEyo1"},"content":"* Item 1 { icon\u003d\"glyphicon-education\" }"},{"lineNumber":81,"author":{"gitId":"KevinEyo1"},"content":"* Item 2 { icon\u003d\"fas-code-branch\" once\u003dtrue }"},{"lineNumber":82,"author":{"gitId":"KevinEyo1"},"content":" * Item 2.1"},{"lineNumber":83,"author":{"gitId":"KevinEyo1"},"content":" * Item 2.2"},{"lineNumber":84,"author":{"gitId":"KevinEyo1"},"content":"* Item 3"},{"lineNumber":85,"author":{"gitId":"KevinEyo1"},"content":" \u003c/variable\u003e"},{"lineNumber":86,"author":{"gitId":"KevinEyo1"},"content":"\u003c/include\u003e"},{"lineNumber":87,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":88,"author":{"gitId":"KevinEyo1"},"content":"Subsequent items at the same level will not inherit icons or texts with the `once` attribute and will instead inherit the icons or texts before it."},{"lineNumber":89,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":90,"author":{"gitId":"KevinEyo1"},"content":"The `once` attribute also applies to all other attributes such as `i-size` and `t-size` as seen below."},{"lineNumber":91,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":92,"author":{"gitId":"KevinEyo1"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":93,"author":{"gitId":"KevinEyo1"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":94,"author":{"gitId":"KevinEyo1"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":95,"author":{"gitId":"KevinEyo1"},"content":"* Item 1 { icon\u003d\"glyphicon-education\" i-size\u003d\"40px\" i-class\u003d\"text-primary\" }"},{"lineNumber":96,"author":{"gitId":"KevinEyo1"},"content":"* Item 2 { i-size\u003d\"25px\" once\u003dtrue }"},{"lineNumber":97,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item 2.1"},{"lineNumber":98,"author":{"gitId":"KevinEyo1"},"content":"* Item 3"},{"lineNumber":99,"author":{"gitId":"KevinEyo1"},"content":" \u003c/variable\u003e"},{"lineNumber":100,"author":{"gitId":"KevinEyo1"},"content":"\u003c/include\u003e"},{"lineNumber":101,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":"**You can adjust the icon and text\u0027s size by using the `i-size` and `t-size` attribute respectively.**"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"* Item 1 { icon\u003d\"fas-file-code\" i-size\u003d\"35px\" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":"* Item 2 { icon\u003d\"fas-file-code\" i-size\u003d\"4rem\" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":"* Item 3 { icon\u003d\"fas-file-code\" i-size\u003d\"5em\" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":116,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"* Item 1 { text\u003d\"Step 1\" t-size\u003d\"35px\" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":"* Item 2 { text\u003d\"Step 2\" t-size\u003d\"4rem\" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":"* Item 3 { text\u003d\"Step 3\" t-size\u003d\"5em\" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"You can utilize any [CSS size unit](https://www.w3schools.com/cssref/css_units.php)."},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"**You can also use images as icons.**"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"* Item 1 { icon\u003d\"/images/deer.jpg\" i-width\u003d\"30px\" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":"* Item 2 { i-width\u003d\"60px\" i-height\u003d\"44px\" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":"* Item 3 { i-width\u003d\"90px\" i-height\u003d\"61px\" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":"If either the `i-width` or the `i-height` of an image is not specified, the unspecified dimension will adjust to maintain the image\u0027s original aspect ratio. For example, for an image of size 800x600 (4:3), if `i-width` is set to 400px, its height will be 300px."},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":"**The icon and text\u0027s appearance can be further customized by adding a `i-class` and `t-class` attribute respectively.**"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example-markbind\"\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":"* Item 1 { icon\u003d\"/images/deer.jpg\" text\u003d\"Deer\" i-width\u003d\"60px\" height\u003d\"17px\" i-class\u003d\"rounded\" t-class\u003d\"text-warning my-2\" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":"* Item 2 { t-class\u003d\"text-info my-2\" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":" * Item 2.1 { icon\u003d\"fas-question-circle\" i-class\u003d\"badge rounded-pill my-1 bg-success text-white\" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * Item 2.2"},{"lineNumber":154,"author":{"gitId":"-"},"content":" * Item 2.3 { i-class\u003d\"badge rounded-pill my-1 bg-primary text-white\"}"},{"lineNumber":155,"author":{"gitId":"-"},"content":"* Item 3 { t-class\u003d\"text-primary my-2\" }"},{"lineNumber":156,"author":{"gitId":"-"},"content":" * Item 3.1 "},{"lineNumber":157,"author":{"gitId":"-"},"content":" * Item 3.2 { icon\u003d\"fas-question-circle\" i-class\u003d\"badge rounded my-1 bg-danger text-white\" }"},{"lineNumber":158,"author":{"gitId":"-"},"content":" * Item 3.3 "},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":" "},{"lineNumber":162,"author":{"gitId":"-"},"content":"**The spacing between the icon and the content can be customized by using a `i-spacing` attribute.**"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":166,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":167,"author":{"gitId":"-"},"content":"* Item 1 { icon\u003d\"+1\" }"},{"lineNumber":168,"author":{"gitId":"-"},"content":"* Item 2 { i-spacing\u003d\"1rem\" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":"* Item 3 { i-spacing\u003d\"2rem\" }"},{"lineNumber":170,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"\u003cbox type\u003dtip seamless\u003e"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":"Similar to the `icon` and `text` attribute, other icon attributes such as `i-class`, `i-width`, `i-height`, `i-spacing`, `t-size` and `t-class` apply for subsequent list items at the same level, until they are overridden by the same attribute. For example, Item 2.3\u0027s `i-class` overrides Item 2.1\u0027s and applies up to Item 3.1."},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":"**The spacing between the icon and the content can be customized by using a `i-spacing` attribute.**"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":182,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":183,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":"* Item 1 { icon\u003d\"+1\" text\u003d\"Yay\" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":"* Item 2 { i-spacing\u003d\"1rem\" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":"* Item 3 { i-spacing\u003d\"2rem\" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":"**You can apply Markdown\u0027s heading and paragraph syntax within the list.**"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":196,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":197,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":"* #### Heading 1: Overview {icon\u003d\"/images/overview-d.png\" i-width\u003d\"65px\" i-class\u003d\"rounded\" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":" Content 1: This section provides a summary of the document or topic. "},{"lineNumber":201,"author":{"gitId":"-"},"content":" It sets the context and purpose of the content to follow."},{"lineNumber":202,"author":{"gitId":"-"},"content":"* #### Heading 2: Detailed Description { icon\u003d\"/images/detailed-d.png\" i-width\u003d\"65px\" i-class\u003d\"rounded\" }"},{"lineNumber":203,"author":{"gitId":"-"},"content":" Content 2: This section delves deeper into the topic, offering comprehensive information and detailed explanations."},{"lineNumber":204,"author":{"gitId":"-"},"content":" It might also include evidence, examples, or justifications."},{"lineNumber":205,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":206,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":"Icon specifications should be attached only to the first element of a list item (for the example above, the icon specification should be attached to the heading, not the content below the heading)."},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":"****Ordered lists:****"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":213,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":214,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":215,"author":{"gitId":"-"},"content":"1. Item 1"},{"lineNumber":216,"author":{"gitId":"-"},"content":" 1. Sub item 1.1"},{"lineNumber":217,"author":{"gitId":"-"},"content":" 2. Sub item 1.2"},{"lineNumber":218,"author":{"gitId":"-"},"content":"2. Item 2"},{"lineNumber":219,"author":{"gitId":"-"},"content":"3. Item 3"},{"lineNumber":220,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":224,"author":{"gitId":"-"},"content":"You can also start an ordered list at a particular number by changing the"},{"lineNumber":225,"author":{"gitId":"-"},"content":"\u003cpopover\u003e"},{"lineNumber":226,"author":{"gitId":"-"},"content":"first number"},{"lineNumber":227,"author":{"gitId":"-"},"content":"\u003ctemplate slot\u003d\"content\"\u003e"},{"lineNumber":228,"author":{"gitId":"-"},"content":"\u003cdiv style\u003d\"text-align: center; margin-bottom: 5px;\"\u003e{{ icon_example }}\u003c/div\u003e"},{"lineNumber":229,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputSeparate.md\" boilerplate\u003e"},{"lineNumber":230,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":231,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":232,"author":{"gitId":"-"},"content":"10. Item 1"},{"lineNumber":233,"author":{"gitId":"-"},"content":" 1. Sub item 1.1"},{"lineNumber":234,"author":{"gitId":"-"},"content":" 1. Sub item 1.2"},{"lineNumber":235,"author":{"gitId":"-"},"content":"1. Item 2"},{"lineNumber":236,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":237,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"output\"\u003e"},{"lineNumber":238,"author":{"gitId":"-"},"content":"10. Item 1"},{"lineNumber":239,"author":{"gitId":"-"},"content":" 1. Sub item 1.1"},{"lineNumber":240,"author":{"gitId":"-"},"content":" 1. Sub item 1.2"},{"lineNumber":241,"author":{"gitId":"-"},"content":"1. Item 2"},{"lineNumber":242,"author":{"gitId":"-"},"content":"{.ps-0 .ms-0}"},{"lineNumber":243,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":244,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":245,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":246,"author":{"gitId":"-"},"content":"\u003c/popover\u003e!"},{"lineNumber":247,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":"\u003csmall\u003eMore info on above list types: https://www.markdownguide.org/basic-syntax#lists\u003c/small\u003e"},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":"****Task lists**** (from GFMD):"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example-gfmd\"\u003e"},{"lineNumber":254,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":256,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":257,"author":{"gitId":"-"},"content":"- [ ] Item 1"},{"lineNumber":258,"author":{"gitId":"-"},"content":" - [ ] Sub item 1.1"},{"lineNumber":259,"author":{"gitId":"-"},"content":" - [x] Sub item 1.2"},{"lineNumber":260,"author":{"gitId":"-"},"content":"- [x] Item 2"},{"lineNumber":261,"author":{"gitId":"-"},"content":"- [ ] Item 3"},{"lineNumber":262,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":263,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":"****Radio-button lists:****"},{"lineNumber":268,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example-markbind\"\u003e"},{"lineNumber":269,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":270,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":271,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":272,"author":{"gitId":"-"},"content":"- ( ) Item 1"},{"lineNumber":273,"author":{"gitId":"-"},"content":"- ( ) Item 2"},{"lineNumber":274,"author":{"gitId":"-"},"content":"- (x) Item 3"},{"lineNumber":275,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":276,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":277,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":282,"author":{"gitId":"-"},"content":"1. Item 1"},{"lineNumber":283,"author":{"gitId":"-"},"content":" 1. Sub item 1.1"},{"lineNumber":284,"author":{"gitId":"-"},"content":" 1. Sub item 1.2"},{"lineNumber":285,"author":{"gitId":"-"},"content":"* Item 2"},{"lineNumber":286,"author":{"gitId":"-"},"content":" * item 2.1"},{"lineNumber":287,"author":{"gitId":"-"},"content":"- [ ] Item 3"},{"lineNumber":288,"author":{"gitId":"-"},"content":"- [x] Item 4"},{"lineNumber":289,"author":{"gitId":"-"},"content":"- ( ) Item 5"},{"lineNumber":290,"author":{"gitId":"-"},"content":"```"},{"lineNumber":291,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":292,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":"1. Item 1"},{"lineNumber":295,"author":{"gitId":"-"},"content":" 1. Sub item 1.1"},{"lineNumber":296,"author":{"gitId":"-"},"content":" 1. Sub item 1.2"},{"lineNumber":297,"author":{"gitId":"-"},"content":"* Item 2"},{"lineNumber":298,"author":{"gitId":"-"},"content":" * item 2.1"},{"lineNumber":299,"author":{"gitId":"-"},"content":"- [ ] Item 3"},{"lineNumber":300,"author":{"gitId":"-"},"content":"- [x] Item 4"},{"lineNumber":301,"author":{"gitId":"-"},"content":"- ( ) Item 5"},{"lineNumber":302,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"KevinEyo1":27,"-":275}},{"path":"docs/userGuide/syntax/navBars.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Navbars"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"**Navbar allows visitors of your website to navigate through pages easily.**"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"**Navbars support link highlighting; link highlighting can be customised by specifying rules.**"},{"lineNumber":6,"author":{"gitId":"-"},"content":"- Define `default-highlight-on` in `\u003cnavbar\u003e` to specify fallback highlight rules."},{"lineNumber":7,"author":{"gitId":"-"},"content":"- Define `data-highlight` in `\u003ca\u003e` tags with the class `nav-link` or `dropdown-item` to specify individual highlight rules."},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003cmarkdown\u003e"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"Note: **Navbars** should be placed within a [header file]({{ baseUrl }}/userGuide/tweakingThePageStructure.html#sticking-the-header-to-the-top) to ensure that they are correctly positioned at the top of the page, above the [site navigation]({{ baseUrl }}/userGuide/tweakingThePageStructure.html#constructing-a-page-navigation-menu) and [page navigation]({{ baseUrl }}/userGuide/tweakingThePageStructure.html#constructing-a-page-navigation-menu) menus."},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003c/markdown\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003cnavbar type\u003d\"primary\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003c!-- Brand as slot --\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c!-- You can use dropdown component --\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cdropdown header\u003d\"Dropdown\" class\u003d\"nav-link\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"#navbars\" class\u003d\"dropdown-item\"\u003eOption\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003c/dropdown\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003c!-- For right positioning use slot --\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eFork...\u003c/a\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cnavbar type\u003d\"dark\"\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003c!-- Brand as slot --\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003c!-- You can use dropdown component --\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cdropdown header\u003d\"Dropdown\" class\u003d\"nav-link\"\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"#navbars\" class\u003d\"dropdown-item\"\u003eOption\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003c/dropdown\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003c!-- For right positioning use slot --\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eFork...\u003c/a\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003cnavbar type\u003d\"light\"\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003c!-- Brand as slot --\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003c!-- You can use dropdown component --\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003cdropdown header\u003d\"Dropdown\" class\u003d\"nav-link\"\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"#navbars\" class\u003d\"dropdown-item\"\u003eOption\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003c/dropdown\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003c!-- For right positioning use slot --\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eFork...\u003c/a\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":"****Options****"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":65,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":66,"author":{"gitId":"-"},"content":"type | `String` | `primary` | Supports: `primary`, `dark`, `light`, `none`."},{"lineNumber":67,"author":{"gitId":"-"},"content":"default-highlight-on | `String` | `sibling-or-child` | Supports: `sibling-or-child`, `sibling`, `child`, `exact`, `none`. Specifies link highlight rules for navbars."},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"If you wish to further customize your navbar beyond the primary, dark, and light theme colors, specify the `type\u003d\"none\"` attribute and insert your own custom styles via the `add-class` attribute. You can \u003ctrigger trigger\u003d\"click\" for\u003d\"modal:built-in-bg\"\u003euse built-in background styles\u003c/trigger\u003e or [insert your own defined CSS classes](/userGuide/components/advanced.md#inserting-custom-classes-into-components)."},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":"\u003cmodal header\u003d\"Built-in background styles\" id\u003d\"modal:built-in-bg\"\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003cmd\u003eFor instance, Bootstrap supports `.bg-danger`, `bg-info`, `bg-primary`, `bg-success`, `bg-warning` as background colors.\u003c/md\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":"\u003cmd\u003eIn `{your-site}/_markbind/headers/header.md`, you can change `\u003cnavbar type\u003d\"dark/primary/light\"\u003e` to `\u003cnavbar type\u003d\"none\" add-class\u003d\"bg-warning/danger/info/primary/success\"\u003e` to apply Bootstrap background styles.\u003c/md\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":"\u003c/modal\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":"****Navbar Link Highlighting****"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":83,"author":{"gitId":"-"},"content":"{% include \"_markbind/layouts/headers/header.md\" %}"},{"lineNumber":84,"author":{"gitId":"-"},"content":"```"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":"****Highlight Options****"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"Name | Description"},{"lineNumber":89,"author":{"gitId":"-"},"content":"--- | ---"},{"lineNumber":90,"author":{"gitId":"-"},"content":"`child` | Highlights link if URL in address bar is a child of the link. E.g `foo/bar` is a child of `foo`."},{"lineNumber":91,"author":{"gitId":"-"},"content":"`sibling` | Highlights link if URL in address bar is a sibling of the link. E.g `foo/bar` and `foo/bear` are siblings."},{"lineNumber":92,"author":{"gitId":"-"},"content":"`sibling-or-child` | Highlights link if URL in address bar is a sibling or child of the link."},{"lineNumber":93,"author":{"gitId":"-"},"content":"`exact` | Highlights link if URL in address bar exactly matches link."},{"lineNumber":94,"author":{"gitId":"-"},"content":"`none` | No highlighting."},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cnavbar type\u003d\"primary\"\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" \u003c!-- Brand as slot --\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" \u003c!-- You can use dropdown component --\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003cdropdown header\u003d\"Dropdown\" class\u003d\"nav-link\"\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"#navbars\" class\u003d\"dropdown-item\"\u003eOption\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003c/dropdown\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" \u003c!-- For right positioning use slot --\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eFork...\u003c/a\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":"```"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":"\u003cnavbar type\u003d\"primary\"\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":" \u003c!-- Brand as slot --\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":" \u003c!-- You can use dropdown component --\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":" \u003cdropdown header\u003d\"Dropdown\" class\u003d\"nav-link\"\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"#navbars\" class\u003d\"dropdown-item\"\u003eOption\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" \u003c/dropdown\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003c!-- For right positioning use slot --\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eFork...\u003c/a\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003cnavbar type\u003d\"dark\"\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":" \u003c!-- Brand as slot --\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":" \u003c!-- You can use dropdown component --\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":" \u003cdropdown header\u003d\"Dropdown\" class\u003d\"nav-link\"\u003e"},{"lineNumber":138,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"#navbars\" class\u003d\"dropdown-item\"\u003eOption\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":" \u003c/dropdown\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":" \u003c!-- For right positioning use slot --\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eFork...\u003c/a\u003e"},{"lineNumber":143,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":"\u003cnavbar type\u003d\"light\"\u003e"},{"lineNumber":147,"author":{"gitId":"-"},"content":" \u003c!-- Brand as slot --\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":" \u003c!-- You can use dropdown component --\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":" \u003cdropdown header\u003d\"Dropdown\" class\u003d\"nav-link\"\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"#navbars\" class\u003d\"dropdown-item\"\u003eOption\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":" \u003c/dropdown\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":" \u003c!-- For right positioning use slot --\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eFork...\u003c/a\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":"****Mobile page and site navigation menus****"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":"The navbar component also provides access to MarkBind\u0027s [site navigation]({{ baseUrl }}/userGuide/components/navigation.html#site-navigation-menus) and [page navigation]({{ baseUrl }}/userGuide/components/navigation.html#page-navigation-menus) menu **components** if used in the page\u0027s [layout](../tweakingThePageStructure.md#layouts). No additional setup is required!"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":"If you are viewing the documentation on a larger device, resize the window to see what it looks like."},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":"Alternatively, if you want to display \u003ctooltip content\u003d\"e.g. adding an image to the site nav\"\u003eadditional content\u003c/tooltip\u003e in these navigation menus, the navbar is also able to \"pull in\" any **container element** with a HTML `id` of `\"site-nav\"` or `\"page-nav\"`. You may refer to the [layouts](../tweakingThePageStructure.md#layouts) section for an example."},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":"The navbar component auto-detects if the MarkBind\u0027s navigation components or your element containers has any \u003ctooltip content\u003d\"`\u003ca\u003e` tags in particular\"\u003elinks\u003c/tooltip\u003e.\u003cbr\u003e"},{"lineNumber":173,"author":{"gitId":"-"},"content":"If absent, the navigation buttons to open the menus are _automatically hidden_."},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":"****Mobile navigation menu button placement****"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":"If you wish to alter the button placement on the navbar, you may use the `\u003csite-nav-button /\u003e` and `\u003cpage-nav-button /\u003e` components in the `lower-navbar` slot."},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":"By default, if the `lower-navbar` slot is not specified, the site and page navigation buttons are simply placed as such."},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":183,"author":{"gitId":"-"},"content":"\u003cnavbar\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":" \u003c!-- Any normal navbar items --\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":" \u003c!-- Use slot to wrap the buttons in the lower navbar --\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"lower-navbar\" class\u003d\"nav-menu-container\"\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":" \u003csite-nav-button /\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":" \u003cpage-nav-button /\u003e"},{"lineNumber":191,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":192,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":193,"author":{"gitId":"-"},"content":"```"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":"Component | Description"},{"lineNumber":196,"author":{"gitId":"-"},"content":"--- | ---"},{"lineNumber":197,"author":{"gitId":"-"},"content":"`page-nav-button` | Pulls any element with an identifier, `id\u003dpage-nav` into the menu. If no such element exists, it pulls any [page navigation menu]({{ baseUrl }}/userGuide/components/navigation.html#page-navigation-menus) used in the layout."},{"lineNumber":198,"author":{"gitId":"-"},"content":"`site-nav-button` | Pulls any element with an identifier, `id\u003dsite-nav` into the menu. If no such element exists, it pulls all [site navigation menu components]({{ baseUrl }}/userGuide/components/navigation.html#site-navigation-menus) used in the layout."},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":"****Styling the mobile page and site navigation menus****"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":"You may also wish to style your navigation content differently on mobile view."},{"lineNumber":203,"author":{"gitId":"-"},"content":"By default, MarkBind already provides some reasonable overrides for smaller screens, applied over any styles you might have for the mobile navigation content identified above."},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":"```css {heading\u003d\"CSS class attached to the root navigation element\"}"},{"lineNumber":206,"author":{"gitId":"-"},"content":".mb-mobile-nav {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" display: block !important;"},{"lineNumber":208,"author":{"gitId":"-"},"content":" margin: 0 !important;"},{"lineNumber":209,"author":{"gitId":"-"},"content":" border: none !important;"},{"lineNumber":210,"author":{"gitId":"-"},"content":" padding: 10px !important;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" width: 100% !important;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" max-width: 100% !important;"},{"lineNumber":213,"author":{"gitId":"-"},"content":"}"},{"lineNumber":214,"author":{"gitId":"-"},"content":"```"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":"If you require greater customisation, you may simply compose the respective selectors with the `.mb-mobile-nav` element."},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":"{{ icon_example }}"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"```css {heading\u003d\"\"}"},{"lineNumber":221,"author":{"gitId":"-"},"content":"#site-nav.mb-mobile-nav {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" /* Be sure to add the !important css rule when overriding .mb-mobile-nav\u0027s properties! */"},{"lineNumber":223,"author":{"gitId":"-"},"content":" border: 1px solid black !important;"},{"lineNumber":224,"author":{"gitId":"-"},"content":" /* For other properties, there is no need. */"},{"lineNumber":225,"author":{"gitId":"-"},"content":" color: red;"},{"lineNumber":226,"author":{"gitId":"-"},"content":"}"},{"lineNumber":227,"author":{"gitId":"-"},"content":"```"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":"Refer to the [layouts](../tweakingThePageStructure.md) section to find out how to add custom CSS files to a page!"},{"lineNumber":232,"author":{"gitId":"-"},"content":"\u003c/box\u003e"}],"authorContributionMap":{"-":231,"yiwen101":1}},{"path":"docs/userGuide/syntax/pageNavigationMenus.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Page Navigation Menus"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"keyword d-none\"\u003eprint page nav as table of content\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"content\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"**A _Page Navigation Menu_ (\u003d\u003d_pageNav_ for short\u003d\u003d) displays a list of the current page\u0027s headings.** Page navigation menus are typically configured in [layouts]({{baseUrl}}/userGuide/tweakingThePageStructure.html#layouts), but can also be utilized in individual pages."},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"****Adding a pageNav****"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"1. **Specify the smallest heading level you want to be included** within the `\u003cfrontmatter\u003e` of a page with \u003ctooltip content\u003d\"The value `default` will use `headingIndexingLevel` within `site.json`.\"\u003e`\"default\"`\u003c/tooltip\u003e or a \u003ctooltip content\u003d\"HTML defines six levels of headings, numbered from \u003cbr\u003e`1 to 6`.\"\u003e`heading level`\u003c/tooltip\u003e."},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" The `default` level uses the [`headingIndexingLevel` property]({{baseUrl}}/userGuide/siteJsonFile.html#headingindexinglevel) of your site configuration file."},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003c/box\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"2. **(Optional) You may also specify a page navigation title** within `\u003cfrontmatter\u003e` that will be placed at the top of the page navigation menu."},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"3. **Position the page navigation menu** within your layout using the `\u003cpage-nav /\u003e` component."},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"4. **(Optional) To make pageNav accessible on smaller screens, you can use the `\u003cpage-nav-button /\u003e` component in the [navbar]({{baseUrl}}/userGuide/components/navigation.html#navbars).**"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"5. **(Optional) To make pageNav available on print, you can position the page navigation menu on individual pages with the `\u003cpage-nav-print /\u003e` component.**"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Additional details on printing pageNav**\" type\u003d\"seamless\" class\u003d\"ms-4\" expanded\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"You can specify the location of the page navigation menu on print by using either of the following syntaxes:"},{"lineNumber":29,"author":{"gitId":"-"},"content":"- `\u003cpage-nav-print /\u003e`"},{"lineNumber":30,"author":{"gitId":"-"},"content":"- `\u003cpage-nav-print\u003e\u003c/page-nav-print\u003e`"},{"lineNumber":31,"author":{"gitId":"-"},"content":" - This is useful if you want to include a custom title (or any other content) before the page navigation menu. For example, `\u003cpage-nav-print\u003eTable of Contents\u003c/page-nav-print\u003e`"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"You can specify multiple `\u003cpage-nav-print /\u003e` components in a page and they do not have to be at the top of the page. They also do not appear when viewed on a browser."},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"{{ icon_example }}"},{"lineNumber":36,"author":{"gitId":"-"},"content":"In the page that you want to have page navigation printed (i.e. to serve as a table of content when viewed on PDFs), use the `\u003cpage-nav-print /\u003e` component to position the pageNav like so:"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"indented\"\u003e"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" pageNav: 2"},{"lineNumber":43,"author":{"gitId":"-"},"content":" pageNavTitle: \"Chapters of This Page\""},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003cpage-nav-print /\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"# Overview"},{"lineNumber":49,"author":{"gitId":"-"},"content":"Content of the page..."},{"lineNumber":50,"author":{"gitId":"-"},"content":"```"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"To view the pageNav on print, open the print preview of the page using the browser\u0027s print function."},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"If you are using Chrome, you can right-click on the page and select \"Print\" to open the print preview."},{"lineNumber":59,"author":{"gitId":"-"},"content":"You can try it out by going to our [CLI Commands page]({{baseUrl}}/userGuide/cliCommands.html) and printing it."},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":"You can see an example of a Page Navigation Bar \u003d\u003don the right side\u003d\u003d of \u003ca target\u003d\"_blank\" href\u003d\"{{ baseUrl }}/userGuide/formattingContents.html\"\u003ethis page\u003c/a\u003e."},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":4,"KevinEyo1":1,"-":64}},{"path":"docs/userGuide/syntax/panels.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% from \"userGuide/components/advanced.md\" import slot_info_trigger %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"## Panels"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"**Panel is a flexible container that supports collapsing and expanding its content. It is expandable by default.**"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"This is your header for a Panel, click me to expand!\"\u003e"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"\u003cmarkdown\u003e_markdown_\u003c/markdown\u003e"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"plain text ..."},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"**With `minimized` attribute, panel is minimized into an inline block element. The `alt` attribute is for you to specify the minimized block header.**"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"How to cultivate a tomato plant at home\" alt\u003d\"Tomatoes\" minimized\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" Lorem ipsum ..."},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"**With `expanded` attribute, you can set the panels to be expanded when loaded in.**"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Have your readers click less to see the Panel\u0027s contents\" expanded\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" Lorem ipsum ..."},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"**With the `expand-headerless` attribute, you can hide the panel header when it is expanded.**"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"This header will only show when the Panel is collapsed\" expand-headerless\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" Lorem ipsum ..."},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"**With the `peek` attribute, you may showcase part of your content without expanding the panel.**"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Give your readers a peek of the content without expanding Panel\" peek\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore"},{"lineNumber":57,"author":{"gitId":"-"},"content":" magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo"},{"lineNumber":58,"author":{"gitId":"-"},"content":" consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."},{"lineNumber":59,"author":{"gitId":"-"},"content":" Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."},{"lineNumber":60,"author":{"gitId":"-"},"content":" Curabitur ornare ipsum eu ex congue egestas. Maecenas pretium nibh sed enim ornare finibus. Mauris quis metus "},{"lineNumber":61,"author":{"gitId":"-"},"content":" facilisis, mattis tellus nec, pulvinar mi. Quisque at vehicula lectus. Ut ac lacus mi. Donec mattis nec velit "},{"lineNumber":62,"author":{"gitId":"-"},"content":" eget tincidunt. Maecenas vel mauris mattis nisl tempor sollicitudin. Orci varius natoque penatibus et magnis "},{"lineNumber":63,"author":{"gitId":"-"},"content":" dis parturient montes, nascetur ridiculus mus. Duis tincidunt diam eu dolor pellentesque, eget dignissim tortor "},{"lineNumber":64,"author":{"gitId":"-"},"content":" pellentesque. "},{"lineNumber":65,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":"**Panel provides many types that change its appearance.**"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**light type panel (DEFAULT)**\" type\u003d\"light\" minimized\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**dark type panel**\" type\u003d\"dark\" minimized\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**primary type panel**\" type\u003d\"primary\" minimized\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**secondary type panel**\" type\u003d\"secondary\" minimized\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**info type panel**\" type\u003d\"info\" minimized\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**danger type panel**\" type\u003d\"danger\" minimized\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":91,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**warning type panel**\" type\u003d\"warning\" minimized\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":94,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**success type panel**\" type\u003d\"success\" minimized\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":97,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**seamless type panel**\" type\u003d\"seamless\" minimized\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":100,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**minimal type panel**\" type\u003d\"minimal\" minimized\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":103,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"jingting1412"},"content":"\u003cbox background-color\u003d\"#C51E3A\" color\u003d\"white\"\u003e"},{"lineNumber":108,"author":{"gitId":"jingting1412"},"content":" "},{"lineNumber":109,"author":{"gitId":"jingting1412"},"content":" :bulb: Seamless panels inherit the background colour and text colour of any parents!"},{"lineNumber":110,"author":{"gitId":"jingting1412"},"content":" \u003cbr/\u003e"},{"lineNumber":111,"author":{"gitId":"jingting1412"},"content":" \u003cpanel type\u003d\"seamless\" header\u003d\"This is an example seamless panel\"\u003e"},{"lineNumber":112,"author":{"gitId":"jingting1412"},"content":" This is its content."},{"lineNumber":113,"author":{"gitId":"jingting1412"},"content":" \u003c/panel\u003e"},{"lineNumber":114,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":"**Show/Hide buttons using `no-switch`, `no-close`, or `no-minimized-switch`.**"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**This minimized panel does not have a switch button**\" minimized no-minimized-switch\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":123,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"This panel does not have a switch button\" no-switch\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":126,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"This panel does not have a close button\" no-close\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":129,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"This panel does not have either buttons\" no-close no-switch\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":"**Use markdown in the header (only inline level markdown are supported).**"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Bold text** :rocket: ![](https://markbind.org/images/logo-lightbackground.png \u003dx20)\" type\u003d\"seamless\"\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":143,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"**If `src` attribute is provided, the panel will take content from the `src` specified and add it to the Panel body.**"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Content loaded in from \u0027src\u0027\" src\u003d\"extra/loadContent.html#fragment\" minimized\u003e\u003c/panel\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":"\u003cdiv id \u003d \"script_and_styles_warning\"\u003e"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":"\u003cbox type \u003d \"warning\" header \u003d \"#### Global Effects of the Script and Styles from the Imported Externals\"\u003e"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":"Importing external resources that contains `script` or `styles` can inadvertently take global effects on your MarkBind website. Due to hoisting during processing, imported scripts and stylesheets affect the entire page. This could potentially alter its appearance and behavior beyond the intended scope."},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":"For example, if a CSS file imported via such means styles headings to be red, this change will be reflected page-wide."},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":"To safeguard against unintended consequences, consider directly incorporating the code or customizing styles to target specific elements or classes not used universally. This approach grants more precise control over your website\u0027s presentation and reduces the risk of unexpected changes."},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":"\u003c/div\u003e"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":"**If `popup-url` attribute is provided, a popup button will be shown. If clicked, it opens the specified url in a new window.**"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":172,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Try clicking on my pop-up button\" popup-url\u003d\"{{ baseUrl }}/userGuide/syntax/extra/loadContent.html\"\u003e"},{"lineNumber":173,"author":{"gitId":"-"},"content":" This panel has a popup."},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":176,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"includes.md#baseUrl-warning\"/\u003e"},{"lineNumber":179,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":"**If `preload` attribute is provided, the panel body will load the HTML when the page renders instead of after being expanded.**"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":183,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Right click and inspect my HTML before expanding me!\" src\u003d\"extra/loadContent.html#fragment\" preload\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \u003cp\u003eYou should be able to find this text before expanding the Panel.\u003c/p\u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"**You can nest Panels or other components within a Panel.**"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":194,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":195,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":196,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Parent Panel\"\u003e"},{"lineNumber":197,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Level 1 Nested Panel\"\u003e"},{"lineNumber":198,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Level 2 Nested Panel\"\u003e"},{"lineNumber":199,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"success\"\u003e"},{"lineNumber":200,"author":{"gitId":"-"},"content":" I\u0027m a nested box"},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u003c/box\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Level 3 Nested Panel\" type\u003d\"minimal\"\u003e"},{"lineNumber":203,"author":{"gitId":"-"},"content":" minimal-type panel"},{"lineNumber":204,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":205,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":206,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Level 1 Nested Panel\" type\u003d\"info\"\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":" Some Text"},{"lineNumber":209,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":210,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":"****Options****"},{"lineNumber":215,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":216,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":217,"author":{"gitId":"-"},"content":"header{{slot_info_trigger}} | `String` | `\u0027\u0027` | The clickable text on the Panel\u0027s header. Supports MarkDown text."},{"lineNumber":218,"author":{"gitId":"-"},"content":"alt | `String` | Panel header | The clickable text on the minimised Panel. Supports MarkDown text."},{"lineNumber":219,"author":{"gitId":"-"},"content":"expandable | `Boolean`| `true` | Whether Panel is expandable."},{"lineNumber":220,"author":{"gitId":"-"},"content":"expanded | `Boolean` | `false` | Whether Panel is expanded or collapsed when loaded in."},{"lineNumber":221,"author":{"gitId":"-"},"content":"minimized | `Boolean` | `false` | Whether Panel is minimized."},{"lineNumber":222,"author":{"gitId":"-"},"content":"expand-headerless | `Boolean` | `false` | Whether to hide the header text when the Panel is expanded."},{"lineNumber":223,"author":{"gitId":"-"},"content":"peek | `Boolean` | `false` | Whether to show part of the content when the Panel is collapsed."},{"lineNumber":224,"author":{"gitId":"-"},"content":"no-close | `Boolean` | `false` | Whether to show the close button."},{"lineNumber":225,"author":{"gitId":"-"},"content":"no-switch | `Boolean` | `false` | Whether to show the expand switch."},{"lineNumber":226,"author":{"gitId":"-"},"content":"bottom-switch | `Boolean` | `true` | Whether to show an expand switch at the bottom of the panel. Independent of no-switch."},{"lineNumber":227,"author":{"gitId":"-"},"content":"popup-url | `String` | | The URL that the popup window will navigate to. The URL can be absolute or relative."},{"lineNumber":228,"author":{"gitId":"-"},"content":"preload | `Boolean` | `false` | Whether the content is loaded immediately from `src`."},{"lineNumber":229,"author":{"gitId":"-"},"content":"src | `String` | | The URL to the remote page to be loaded as the content of the panel."},{"lineNumber":230,"author":{"gitId":"-"},"content":"type | `String` | `light` | The type or color scheme of the panel (single).\u003cbr\u003eSupports: `light`, `dark`, `primary`, `secondary`, `info`, `success`, `warning`, `danger`, `seamless`, `minimal`."},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":235,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"primary type panel\" type\u003d\"primary\" \u003e"},{"lineNumber":236,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":237,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":238,"author":{"gitId":"-"},"content":"```"},{"lineNumber":239,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":242,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"minimal type panel\" type\u003d\"minimal\" \u003e"},{"lineNumber":243,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":244,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":245,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"seamless type panel\" type\u003d\"seamless\" \u003e"},{"lineNumber":246,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":247,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":248,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"info type panel\" type\u003d\"info\" expanded\u003e"},{"lineNumber":249,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":250,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":251,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"danger type panel\" type\u003d\"danger\" \u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":253,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":254,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"warning type panel\" type\u003d\"warning\" \u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":256,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":257,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"success type panel\" type\u003d\"success\" \u003e"},{"lineNumber":258,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":259,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":"\u003cp/\u003e"},{"lineNumber":261,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"light type panel (DEFAULT)\" type\u003d\"light\" minimized\u003e"},{"lineNumber":262,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":263,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"dark type panel\" type\u003d\"dark\" minimized\u003e"},{"lineNumber":265,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":266,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":267,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"primary type panel\" type\u003d\"primary\" minimized\u003e"},{"lineNumber":268,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":269,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":270,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"secondary type panel\" type\u003d\"secondary\" minimized\u003e"},{"lineNumber":271,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":272,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":10,"-":252,"yiwen101":13}},{"path":"docs/userGuide/syntax/pictures.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Pictures"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"**A `pic` component allows you to add captions below the image.**"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":8,"author":{"gitId":"LamJiuFong"},"content":"\u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" width\u003d\"300\" alt\u003d\"Logo\" lazy\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" MarkBind Logo"},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c/pic\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"****Options****"},{"lineNumber":15,"author":{"gitId":"-"},"content":"Name | Type | Default | Description "},{"lineNumber":16,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":17,"author":{"gitId":"-"},"content":"alt | `string` | | **This must be specified.**\u003cbr\u003eThe alternative text of the image."},{"lineNumber":18,"author":{"gitId":"-"},"content":"height | `string` | | The height of the image in pixels."},{"lineNumber":19,"author":{"gitId":"-"},"content":"src | `string` | | **This must be specified.**\u003cbr\u003eThe URL of the image.\u003cbr\u003eThe URL can be specified as absolute or relative references. More info in: _[Intra-Site Links]({{baseUrl}}/userGuide/formattingContents.html#intraSiteLinks)_"},{"lineNumber":20,"author":{"gitId":"-"},"content":"width | `string` | | The width of the image in pixels.\u003cbr\u003eIf both width and height are specified, width takes priority over height. It is to maintain the image\u0027s aspect ratio."},{"lineNumber":21,"author":{"gitId":"LamJiuFong"},"content":"lazy | `boolean` | false | The `\u003cpic\u003e` component lazy loads if this attribute is specified.\u003cbr\u003e**Either the height or width should be specified to avoid layout shifts while lazy loading images.**"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"If you want to display images that are automatically linked to its image URL, such that one can click on the image to view the full image, take a look at [MarkBind images]({{baseUrl}}/userGuide/formattingContents.html#images)."},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":32,"author":{"gitId":"LamJiuFong"},"content":"\u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" width\u003d\"300\" alt\u003d\"Logo\" lazy\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" MarkBind Logo"},{"lineNumber":34,"author":{"gitId":"-"},"content":"\u003c/pic\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":"```"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" width\u003d\"300\" alt\u003d\"Logo\"\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" MarkBind Logo"},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003c/pic\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"LamJiuFong":3,"KevinEyo1":5,"-":35}},{"path":"docs/userGuide/syntax/popovers.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% from \"userGuide/components/advanced.md\" import slot_info_trigger %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"## Popovers"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cpopover content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"top\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on top\u003c/button\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cpopover content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"left\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on left\u003c/button\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003cpopover content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"right\"\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on right\u003c/button\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cpopover content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"bottom\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on bottom\u003c/button\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003ch4 class\u003d\"no-index\"\u003eHeader\u003c/h4\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003cpopover header\u003d\"Header\" content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"top\"\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on top\u003c/button\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cpopover header\u003d\"Header\" content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"left\"\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on left\u003c/button\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003cpopover header\u003d\"Header\" content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"right\"\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on right\u003c/button\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cpopover header\u003d\"Header\" content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"bottom\"\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on bottom\u003c/button\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":"\u003chr /\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003ch4 class\u003d\"no-index\"\u003eTrigger\u003c/h4\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cpopover header\u003d\"Header\" content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"top\" trigger\u003d\"hover\"\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003eMouseenter\u003c/button\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003c/popover\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003ch4 class\u003d\"no-index\"\u003eMarkdown\u003c/h4\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003cpopover header\u003d\"**Emoji header** :rocket:\" content\u003d\"!!emoji!! content :cat:\"\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003eHover\u003c/button\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003c/popover\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003ch4 class\u003d\"no-index\"\u003eContent using slot\u003c/h4\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003cpopover header\u003d\"**Emoji header** :rocket:\"\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"content\"\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" This is a long content..."},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003eHover\u003c/button\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003c/popover\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003ch4 class\u003d\"no-index\"\u003eContent using src\u003c/h4\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003cpopover header\u003d\"From a HTML file\" src\u003d\"{{ baseUrl }}/userGuide/syntax/extra/loadContent.html#fragment\"\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":" This is loaded from a .html file"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003c/popover\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003cpopover header\u003d\"From a MarkDown file\" src\u003d\"{{ baseUrl }}/userGuide/formattingContents.md#overview\"\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" This is loaded from a .md file"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003c/popover\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003ch4 class\u003d\"no-index\"\u003eWrap Text\u003c/h4\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u003cpopover header\u003d\"false\" content\u003d\"Nice!\"\u003eWhat do you say\u003c/popover\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"includes.md#baseUrl-warning\"/\u003e"},{"lineNumber":75,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"**Using trigger for Popover:**\u003cbr\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":"More about \u003ctrigger for\u003d\"pop:trigger_id\"\u003etrigger\u003c/trigger\u003e."},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003cpopover id\u003d\"pop:trigger_id\" content\u003d\"This popover is triggered by a trigger\"\u003e\u003c/popover\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":"This is the same \u003ctrigger for\u003d\"pop:trigger_id\"\u003etrigger\u003c/trigger\u003e as last one."},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"More about triggers\"\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"extra/triggers.md\" /\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":"****Options****"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"| Name | Type | Default | Description |"},{"lineNumber":97,"author":{"gitId":"-"},"content":"| ---------------------------- | -------- | ------------- | -------------------------------------------------------------------------------------------------------------------|"},{"lineNumber":98,"author":{"gitId":"-"},"content":"| trigger | `String` | `hover focus` | How the Popover is triggered.\u003cbr\u003eSupports: `click`, `focus`, `hover`, or any space-separated combination of these. |"},{"lineNumber":99,"author":{"gitId":"-"},"content":"| header{{slot_info_trigger}} | `String` | `\u0027\u0027` | Popover header, supports MarkDown text. |"},{"lineNumber":100,"author":{"gitId":"-"},"content":"| content{{slot_info_trigger}} | `String` | `\u0027\u0027` | Popover content, supports MarkDown text. |"},{"lineNumber":101,"author":{"gitId":"-"},"content":"| src | `String` | | The URL to the remote page to be loaded as the content of the popover.\u003cbr\u003eBoth `.md` and `.html` are accepted. |"},{"lineNumber":102,"author":{"gitId":"-"},"content":"| placement | `String` | `top` | How to position the Popover.\u003cbr\u003eSupports: `top`, `left`, `right`, `bottom`. |"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" light\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"MarkBind supports the `src` attribute, `content` attribute and `content` slot for popovers. "},{"lineNumber":107,"author":{"gitId":"-"},"content":"Usually, only one of these would be used at a time."},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":"If multiple of these are used, MarkBind will prioritise in the following order:"},{"lineNumber":110,"author":{"gitId":"-"},"content":" 1. `content` slot"},{"lineNumber":111,"author":{"gitId":"-"},"content":" 1. `content` attribute"},{"lineNumber":112,"author":{"gitId":"-"},"content":" 1. `src` attribute"},{"lineNumber":113,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":118,"author":{"gitId":"-"},"content":"Hover over the \u003ctrigger for\u003d\"pop:context-target\"\u003ekeyword\u003c/trigger\u003e to see the popover."},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":"\u003cpopover id\u003d\"pop:context-target\" header\u003d\"Popover header\" placement\u003d\"top\"\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":"\u003cdiv slot\u003d\"content\"\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"description :+1:"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":"```"},{"lineNumber":128,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":"Hover over the \u003ctrigger for\u003d\"pop:context-target\"\u003ekeyword\u003c/trigger\u003e to see the popover."},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"\u003cpopover id\u003d\"pop:context-target\" header\u003d\"Popover header\" placement\u003d\"top\"\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":"\u003cdiv slot\u003d\"content\"\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":"description :+1:"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":2,"-":139}},{"path":"docs/userGuide/syntax/questions.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% from \"userGuide/components/advanced.md\" import slot_info_trigger, slot_type_info_trigger %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"## Questions and Quizzes"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"Question and quiz components provide an easy way to test readers on the relevant content topic in the page. {.mt-3}"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"#### Introduction"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"Question components (`\u003cquestion\u003e`) can be one of the following types: **MCQ**, **Checkbox**, **Fill-in-the-Blanks**, or **Text**."},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"In all cases, content directly inserted in between `\u003cquestion\u003e...\u003c/question\u003e` will be inserted into the **question body**."},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"You can also insert markdown into the **header** or **hint box**, by using the `header` and `hint` attributes respectively. Click the hint button below to see how the hint box turns out!"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputSeparate.md\" boilerplate \u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"heading\"\u003eHeader and Hint syntax\u003c/variable\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003c!-- Insert markdown into the header and hint using the respective attributes --\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"checkbox\" header\u003d\"Which of the following is correct?\" hint\u003d\"Think out of the box! :fas-box:\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c!-- Anything you place directly under a question not in a slot is inserted into the question body! --\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003csmall\u003eAdapted from [Daily Mail](https://www.dailymail.co.uk/femail/article-4702868/Can-pass-intelligence-test.html)"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003c/small\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003c/pic\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003c!-- Several hidden checkbox q-option components explained later --\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"output\"\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"checkbox\" header\u003d\"Which of the following is correct?\" hint\u003d\"Think out of the box! :fas-box:\"\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003cpic src\u003d\"{{baseUrl}}/images/math-question.jpg\" alt\u003d\"math question image\" height\u003d\"200\" class\u003d\"d-block mx-auto\"\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003csmall\u003eAdapted from [Daily Mail](https://www.dailymail.co.uk/femail/article-4702868/Can-pass-intelligence-test.html)"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003c/small\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003c/pic\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003cq-option correct reason\u003d\"Multiply the numbers on the left together and add the leftmost number!\"\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" 96"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003cq-option reason\u003d\"Under normal circumstances, this would be correct.\"\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" 19"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003cq-option correct reason\u003d\"Simply add the running sum of the results as well!\"\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" 40"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003cq-option\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" 811"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":"If you require more expressive formatting for your header or hint markup, you can use the `\u003cdiv slot\u003d\"header\"\u003e` and `\u003cdiv slot\u003d\"hint\"\u003e` slots. Expand the panel below to see an example!"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"minimal\" header\u003d\"Header and Hint example **with slots**\"\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputSeparate.md\" boilerplate \u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"heading\"\u003eHeaders and Hints using slots\u003c/variable\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"checkbox\"\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003c!-- Header slot --\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"header\"\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" Which of the following is correct?"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" Challenge: Try to get all the answers on your first try! :star: :star:"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" \u003cpic src\u003d\"{{baseUrl}}/images/math-question.jpg\" alt\u003d\"math question image\" height\u003d\"200\" class\u003d\"d-block mx-auto\"\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003csmall\u003eAdapted from [Daily Mail](https://www.dailymail.co.uk/femail/article-4702868/Can-pass-intelligence-test.html)"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \u003c/small\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \u003c/pic\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003c!-- Several hidden checkbox q-option components explained later --\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003c!-- Hint slot --\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"hint\"\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" Think out of the box! :fas-box:"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" Need another hint? \u003ctooltip content\u003d\"Two of the answers are correct!\"\u003eHover over me!\u003c/tooltip\u003e :fas-mouse-pointer:"},{"lineNumber":85,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"output\"\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"checkbox\"\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \u003c!-- Header slot --\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"header\"\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" Which of the following is correct?"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" Challenge: Try to get all the answers on your first try! :star: :star:"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" \u003cpic src\u003d\"{{baseUrl}}/images/math-question.jpg\" alt\u003d\"math question image\" height\u003d\"200\" class\u003d\"d-block mx-auto\"\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" \u003csmall\u003eAdapted from [Daily Mail](https://www.dailymail.co.uk/femail/article-4702868/Can-pass-intelligence-test.html)"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003c/small\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003c/pic\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003cq-option correct reason\u003d\"Multiply the numbers on the left together and add the leftmost number!\"\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":" 96"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" \u003cq-option reason\u003d\"Under normal circumstances, this would be correct.\"\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":" 19"},{"lineNumber":109,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" \u003cq-option correct reason\u003d\"Simply add the running sum of the results as well!\"\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":" 40"},{"lineNumber":112,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":" \u003cq-option\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":" 811"},{"lineNumber":115,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" \u003c!-- Hint slot --\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"hint\"\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" Think out of the box! :fas-box:"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" Need another hint? \u003ctooltip content\u003d\"Two of the answers are correct!\"\u003eHover over me!\u003c/tooltip\u003e :fas-mouse-pointer:"},{"lineNumber":123,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless class\u003d\"mt-3\"\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":"Placing the question into the header is entirely optional. You may also wish to include the question directly in the question body, omitting the header entirely."},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":"****Options and Slots common to all question types****"},{"lineNumber":136,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":137,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":138,"author":{"gitId":"-"},"content":"type | `String` | `\u0027\u0027` | The type of question. Supports `mcq`, `checkbox`, `blanks`, or `text`."},{"lineNumber":139,"author":{"gitId":"-"},"content":"header{{slot_info_trigger}} | `String` | `\u0027\u0027` | The markup to insert into the question header. The header is omitted if this is not provided."},{"lineNumber":140,"author":{"gitId":"-"},"content":"hint{{slot_info_trigger}} | `String` | `\u0027\u0027` | The content to display in the hint box."},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":"#### MCQ and Checkbox Questions {.mt-4 .mb-3}"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":"MCQ and checkbox questions are indicated with the `type\u003d\"mcq\"` or `type\u003d\"checkbox\"` attribute."},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"In both instances, you can include the possible answers using the `\u003cq-option\u003e` component, placed anywhere inside the \u003ctooltip content\u003d\"if you wish, you could place it in the `header` mentioned above as well!\"\u003equestion\u003c/tooltip\u003e. To indicate the correct option(s), add the `\u003cq-option correct\u003e` attribute."},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":"Optionally, you can provide the reason for the particular option using the `\u003cq-option reason\u003d\"...\"\u003e` attribute, or the `\u003cdiv slot\u003d\"reason\"\u003e` slot for more expressive formatting, similar to the `hint` and `header` options and slots."},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":"**MCQ Questions**"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":"{% set mcqQuestion %}"},{"lineNumber":154,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"mcq\" header\u003d\"Which of these **contradicts** the heuristics recommended when creating test cases with multiple inputs?\"\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":" \u003c!-- Insert the reason for the option using the reason attribute --\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \u003cq-option reason\u003d\"This is **correct**. We need to figure out if a positive test case works!\"\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":" Each valid test input should appear at least once in a test case that doesn’t have any invalid inputs."},{"lineNumber":158,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":159,"author":{"gitId":"-"},"content":" \u003cq-option\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":" It is ok to combine valid values for different inputs."},{"lineNumber":161,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":162,"author":{"gitId":"-"},"content":" \u003cq-option\u003e"},{"lineNumber":163,"author":{"gitId":"-"},"content":" No more than one invalid test input should be in a given test case."},{"lineNumber":164,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":" \u003c!-- Use the \u0027correct\u0027 attribute to indicate an option as correct. --\u003e"},{"lineNumber":166,"author":{"gitId":"-"},"content":" \u003cq-option correct\u003e"},{"lineNumber":167,"author":{"gitId":"-"},"content":" All invalid test inputs must be tested together."},{"lineNumber":168,"author":{"gitId":"-"},"content":" \u003c!-- Optionally, you may use a reason slot instead of a reason attribute. --\u003e"},{"lineNumber":169,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"reason\"\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":" If you test all invalid test inputs together, you will not know if each one of the invalid inputs are handled"},{"lineNumber":171,"author":{"gitId":"-"},"content":" correctly by the SUT."},{"lineNumber":172,"author":{"gitId":"-"},"content":" This is because most SUTs return an error message upon encountering the first invalid input."},{"lineNumber":173,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":174,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"hint\"\u003e"},{"lineNumber":176,"author":{"gitId":"-"},"content":" How do you figure out which inputs are wrong? (or correct)"},{"lineNumber":177,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":178,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":179,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":182,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":183,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e{{ mcqQuestion }}\u003c/variable\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003eMCQ questions can have multiple correct options!\u003c/box\u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":"**Checkbox Questions**"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":"{% set checkboxQuestion %}"},{"lineNumber":191,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"checkbox\" hint\u003d\"Use your calculator! :fas-calculator:\"\u003e"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"jingting1412"},"content":" ###### Which of the following is true?"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" \u003cbr\u003e"},{"lineNumber":196,"author":{"gitId":"-"},"content":" \u003cq-option reason\u003d\"lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum\"\u003e"},{"lineNumber":197,"author":{"gitId":"-"},"content":" 1 + 1 \u003d 11"},{"lineNumber":198,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":199,"author":{"gitId":"-"},"content":" \u003cq-option reason\u003d\"Division by zero is **undefined**!\"\u003e"},{"lineNumber":200,"author":{"gitId":"-"},"content":" 1 / 0 \u003d infinity"},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":" \u003cq-option correct\u003e"},{"lineNumber":203,"author":{"gitId":"-"},"content":" 11 / 11 \u003d 1"},{"lineNumber":204,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":205,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":206,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate\u003e"},{"lineNumber":209,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":210,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e{{ checkboxQuestion }}\u003c/variable\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":"****`q-option` Options and Slots****"},{"lineNumber":214,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":215,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":216,"author":{"gitId":"-"},"content":"correct | `Boolean` | `false` | Whether this option (placed under either a MCQ or checkbox question) is correct. You may have multiple correct answers in either case."},{"lineNumber":217,"author":{"gitId":"-"},"content":"reason{{slot_info_trigger}} | `String` | `\u0027\u0027` | The explanation markup to display for the option once the answer is checked."},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"#### Fill-in-the-Blanks Questions {.mt-4 .mb-3}"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":"Fill-in-the-blanks questions are specified with the `type\u003d\"blanks\"` attribute."},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":"Unlike MCQ and checkbox questions, answer checking is performed for each blank by providing keywords to check for in the user\u0027s answer through the `keywords` attribute in each `q-option`."},{"lineNumber":225,"author":{"gitId":"-"},"content":"If no keywords are provided, the answer for that blank will always be marked as correct."},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"Keywords are validated by checking if the keyword matches the user\u0027s answer exactly (ignoring letter casing)."},{"lineNumber":230,"author":{"gitId":"-"},"content":"This works well for some"},{"lineNumber":231,"author":{"gitId":"-"},"content":"\u003cpopover header\u003d\"When does validation work?\"\u003ecases"},{"lineNumber":232,"author":{"gitId":"-"},"content":" \u003cspan slot\u003d\"content\"\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":" When the keywords given are short and specific to the blank (eg. `abstraction`), it increases the chances that the blank will be validated correctly."},{"lineNumber":234,"author":{"gitId":"-"},"content":" \u003cbr\u003e\u003cbr\u003e"},{"lineNumber":235,"author":{"gitId":"-"},"content":" In contrast, something long and vague like `after discussing for a period of time` which can easily be expressed in a different way (eg. `after deliberating for a while`) would likely cause the blank to be validated incorrectly."},{"lineNumber":236,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":237,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":238,"author":{"gitId":"-"},"content":"and not others."},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":"{% set blanksQuestion %}"},{"lineNumber":243,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"blanks\" hint\u003d\"Google it!\"\u003e"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"jingting1412"},"content":" ###### German sociologist __________ called the process of simultaneously analyzing the behavior of individuals and the society that shapes that behavior __________."},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" \u003cq-option keywords\u003d\"Norbert Elias, Elias\" reason\u003d\"That\u0027s his name!\"\u003e\u003c/q-option\u003e"},{"lineNumber":248,"author":{"gitId":"-"},"content":" \u003cq-option keywords\u003d\"figuration\"\u003e\u003c/q-option\u003e"},{"lineNumber":249,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":250,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate\u003e"},{"lineNumber":253,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":254,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e{{ blanksQuestion }}\u003c/variable\u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":"By default, if the question has yet to be answered correctly, intermediate results will be shown beside each blank. You can specify a `no-intermediate-result` attribute to avoid this behvaiour (i.e. hide the result of each blank upon incorrect attempts)."},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":"Since the validation is imperfect, the minimum proportion of correct blanks needed for the entire question to be marked as correct can also be changed using the `threshold` attribute."},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":"If you don\u0027t want to validate the answer at all, you may set the `threshold` attribute to `0`. Doing so always marks the entire question correct, and users will be able to see all intended answers."},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":"{% set blanksQuestion2 %}"},{"lineNumber":268,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"blanks\" hint\u003d\"What properties would you want these database transactions to have?\" threshold\u003d0.75 no-intermediate-result\u003e"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"jingting1412"},"content":" ###### In computer science, ACID is a set of properties of database transactions intended to guarantee data validity despite errors, power failures, and other mishaps. These properties are: A for __________, C for __________, I for __________, and D for __________."},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" \u003cq-option keywords\u003d\"Atomicity, Atomic\" reason\u003d\"Meaning: either all occurs or nothing occurs\"\u003e\u003c/q-option\u003e"},{"lineNumber":273,"author":{"gitId":"-"},"content":" \u003cq-option keywords\u003d\"Consistency, Consistent\"\u003e\u003c/q-option\u003e"},{"lineNumber":274,"author":{"gitId":"-"},"content":" \u003cq-option keywords\u003d\"Isolation, Isolated\"\u003e\u003c/q-option\u003e"},{"lineNumber":275,"author":{"gitId":"-"},"content":" \u003cq-option keywords\u003d\"Durability, Durable\"\u003e\u003c/q-option\u003e"},{"lineNumber":276,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":277,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate\u003e"},{"lineNumber":280,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":281,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e{{ blanksQuestion2 }}\u003c/variable\u003e"},{"lineNumber":282,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":"****Fill-in-the-Blanks Question specific Options and Slots****"},{"lineNumber":285,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":286,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":287,"author":{"gitId":"-"},"content":"threshold | `Number` | `0.5` | Minimum proportion of keywords that have to be matched in the user\u0027s answer for the answer to be marked as correct."},{"lineNumber":288,"author":{"gitId":"-"},"content":"no-intermediate-result | `Boolean` | `False` | Hides the result of each blank after an incorrect attempt."},{"lineNumber":289,"author":{"gitId":"-"},"content":""},{"lineNumber":290,"author":{"gitId":"-"},"content":"****`q-option` Options and Slots****"},{"lineNumber":291,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":292,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":293,"author":{"gitId":"-"},"content":"keywords | `String` | `\u0027\u0027` | Comma delimited string of keywords or phrases to match the user\u0027s answer against."},{"lineNumber":294,"author":{"gitId":"-"},"content":"reason{{slot_info_trigger}} | `String` | `\u0027\u0027` | The explanation markup to display for the option once the answer is checked."},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":"#### Text Questions {.mt-4 .mb-3}"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":"Text questions are specified with the `type\u003d\"text\"` attribute."},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":"Unlike MCQ and checkbox questions, answer checking is performed by providing keywords to check for in the user\u0027s answer through the `keywords` attribute."},{"lineNumber":302,"author":{"gitId":"-"},"content":"If no keywords are provided, the answer will always be marked as correct when placed in quizzes."},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":"Keywords are validated by simply looking for the keyword as a pattern in the user\u0027s answer!"},{"lineNumber":307,"author":{"gitId":"-"},"content":"This works well for some"},{"lineNumber":308,"author":{"gitId":"-"},"content":"\u003cpopover header\u003d\"When does validation work?\"\u003ecases"},{"lineNumber":309,"author":{"gitId":"-"},"content":" \u003cspan slot\u003d\"content\"\u003e"},{"lineNumber":310,"author":{"gitId":"-"},"content":" When the keywords specified are rather long (eg. `requirements`), it reduces the chance that this keyword can be mistakenly validated."},{"lineNumber":311,"author":{"gitId":"-"},"content":" \u003cbr\u003e\u003cbr\u003e"},{"lineNumber":312,"author":{"gitId":"-"},"content":" In contrast, something short and common like `take` which can easily be part of another word (eg. `mis-take-nly`) would be mistakenly validated."},{"lineNumber":313,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":314,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":315,"author":{"gitId":"-"},"content":"and not others."},{"lineNumber":316,"author":{"gitId":"-"},"content":""},{"lineNumber":317,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":"You can provide your answer in the `answer` attribute, or similarly, the `\u003cdiv slot\u003d\"answer\"\u003e` slot for more expressive formatting."},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":"{% set textQuestion %}"},{"lineNumber":322,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"text\" header\u003d\"Which country did the Hawaiian pizza originate from?\""},{"lineNumber":323,"author":{"gitId":"-"},"content":" keywords\u003d\"hawaii\" threshold\u003d\"0.5\" answer\u003d\"It originated from Hawaii!\"\u003e"},{"lineNumber":324,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"hint\"\u003e"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" Watch some pizza commercials! :tv:"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" :pizza: :pizza: :pizza: :pizza: :pizza: :pizza: :pizza: :pizza: :pizza: :pizza: :pizza: :pizza:"},{"lineNumber":329,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":330,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":331,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":332,"author":{"gitId":"-"},"content":""},{"lineNumber":333,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate\u003e"},{"lineNumber":334,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":335,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e{{ textQuestion }}\u003c/variable\u003e"},{"lineNumber":336,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":"Since the validation is imperfect, the minimum proportion of keywords that need to be matched can also be changed using the `threshold` attribute."},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":"If you don\u0027t want to validate the answer at all, you may also omit the `keywords` attribute entirely. Doing so also always marks the question as correct inside [quizzes](#quizzes)."},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":"****Text Question specific Options and Slots****"},{"lineNumber":347,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":348,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":349,"author":{"gitId":"-"},"content":"keywords | `String` | `\u0027\u0027` | Comma delimited string of keywords or phrases to match the user\u0027s answer against."},{"lineNumber":350,"author":{"gitId":"-"},"content":"threshold | `Number` | `0.5` | Minimum proportion of keywords that have to be matched in the user\u0027s answer for the answer to be marked as correct."},{"lineNumber":351,"author":{"gitId":"-"},"content":"answer{{slot_info_trigger}} | `String` | `\u0027\u0027` | The answer or explanation to display when the user clicks the check button."},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":"#### Quizzes"},{"lineNumber":354,"author":{"gitId":"-"},"content":""},{"lineNumber":355,"author":{"gitId":"-"},"content":"You can also build a series of questions out of multiple `\u003cquestion\u003e` components."},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"-"},"content":"Simply place the `\u003cquestion\u003e` components you want to include into the `\u003cquiz\u003e` component! No extra configuration is needed."},{"lineNumber":358,"author":{"gitId":"-"},"content":""},{"lineNumber":359,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputSeparate.md\" boilerplate \u003e"},{"lineNumber":360,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":361,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":362,"author":{"gitId":"-"},"content":"\u003cquiz\u003e"},{"lineNumber":363,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"mcq\"\u003e...\u003c/question\u003e"},{"lineNumber":364,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"checkbox\"\u003e...\u003c/question\u003e"},{"lineNumber":365,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"blanks\"\u003e...\u003c/question\u003e"},{"lineNumber":366,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"text\"\u003e...\u003c/question\u003e"},{"lineNumber":367,"author":{"gitId":"-"},"content":"\u003c/quiz\u003e"},{"lineNumber":368,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":369,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"output\"\u003e"},{"lineNumber":370,"author":{"gitId":"-"},"content":"\u003cquiz\u003e"},{"lineNumber":371,"author":{"gitId":"-"},"content":"{{ mcqQuestion }}"},{"lineNumber":372,"author":{"gitId":"-"},"content":"{{ checkboxQuestion }}"},{"lineNumber":373,"author":{"gitId":"-"},"content":"{{ blanksQuestion }}"},{"lineNumber":374,"author":{"gitId":"-"},"content":"{{ textQuestion }}"},{"lineNumber":375,"author":{"gitId":"-"},"content":"\u003c/quiz\u003e"},{"lineNumber":376,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":377,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":378,"author":{"gitId":"-"},"content":""},{"lineNumber":379,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":380,"author":{"gitId":"-"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":"****Quiz Options and Slots****"},{"lineNumber":382,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":383,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":384,"author":{"gitId":"-"},"content":"intro | `String` | `\u0027\u0027` | Quiz intro markup above the question count."},{"lineNumber":385,"author":{"gitId":"-"},"content":"intro | Slot | `Click start to begin` | Quiz intro markup. Overrides the `intro` attribute if both are present."},{"lineNumber":386,"author":{"gitId":"-"},"content":""},{"lineNumber":387,"author":{"gitId":"-"},"content":"\u003c!-- Included in syntax cheat sheet --\u003e"},{"lineNumber":388,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":389,"author":{"gitId":"-"},"content":""},{"lineNumber":390,"author":{"gitId":"-"},"content":"```html { heading\u003d\"MCQ and Checkbox questions\" }"},{"lineNumber":391,"author":{"gitId":"-"},"content":"\u003c!-- use type\u003d\"checkbox\" for checkbox questions --\u003e"},{"lineNumber":392,"author":{"gitId":"-"},"content":"{{ mcqQuestion }}"},{"lineNumber":393,"author":{"gitId":"-"},"content":"```"},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"-"},"content":"```html { heading\u003d\"Fill-in-the-Blanks questions\" }"},{"lineNumber":396,"author":{"gitId":"-"},"content":"{{ blanksQuestion }}"},{"lineNumber":397,"author":{"gitId":"-"},"content":"```"},{"lineNumber":398,"author":{"gitId":"-"},"content":""},{"lineNumber":399,"author":{"gitId":"-"},"content":"```html { heading\u003d\"Text questions\" }"},{"lineNumber":400,"author":{"gitId":"-"},"content":"{{ textQuestion }}"},{"lineNumber":401,"author":{"gitId":"-"},"content":"```"},{"lineNumber":402,"author":{"gitId":"-"},"content":""},{"lineNumber":403,"author":{"gitId":"-"},"content":"```html { heading\u003d\"Quiz\" }"},{"lineNumber":404,"author":{"gitId":"-"},"content":"\u003cquiz\u003e"},{"lineNumber":405,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"mcq\"\u003e...\u003c/question\u003e"},{"lineNumber":406,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"checkbox\"\u003e...\u003c/question\u003e"},{"lineNumber":407,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"blanks\"\u003e...\u003c/question\u003e"},{"lineNumber":408,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"text\"\u003e...\u003c/question\u003e"},{"lineNumber":409,"author":{"gitId":"-"},"content":"\u003c/quiz\u003e"},{"lineNumber":410,"author":{"gitId":"-"},"content":"```"},{"lineNumber":411,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":412,"author":{"gitId":"-"},"content":""},{"lineNumber":413,"author":{"gitId":"-"},"content":"\u003c!-- Included in readerFacingFeatures.md --\u003e"},{"lineNumber":414,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":415,"author":{"gitId":"-"},"content":"\u003cquiz\u003e"},{"lineNumber":416,"author":{"gitId":"-"},"content":"{{ mcqQuestion }}"},{"lineNumber":417,"author":{"gitId":"-"},"content":"{{ checkboxQuestion }}"},{"lineNumber":418,"author":{"gitId":"-"},"content":"{{ blanksQuestion }}"},{"lineNumber":419,"author":{"gitId":"-"},"content":"{{ textQuestion }}"},{"lineNumber":420,"author":{"gitId":"-"},"content":"\u003c/quiz\u003e"},{"lineNumber":421,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":3,"-":418}},{"path":"docs/userGuide/syntax/searchBars.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Search Bars"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"The `searchbar` component allows users to search all headings within any page on the site."},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"body\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"outputBox.md\" boilerplate \u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\"\u003e\u003c/searchbar\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search (Right-aligned dropdown)\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"```"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"To use the searchbar within a navbar, add the following markup to your file. The searchbar can be positioned using the slot attribute for the list. The following markup adds a searchbar to the right side of the navbar with appropriate styling."},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003cli slot\u003d\"right\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cform class\u003d\"navbar-form\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\"\u003e\u003c/searchbar\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/form\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/li\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":"```"},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cvariable id\u003d\"output\"\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"Enter a search term (eg. \u0027search bar\u0027) to see the search result dropdown."},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\"\u003e\u003c/searchbar\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search (Right-aligned dropdown)\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"****Options****"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":37,"author":{"gitId":"-"},"content":"---- | ---- | ------- | ------"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":"algolia | `Boolean` | `false` | Whether the searchbar should be connected to [Algolia DocSearch]({{ baseUrl }}/userGuide/usingPlugins.html#plugin-algolia)."},{"lineNumber":39,"author":{"gitId":"-"},"content":"data | `Array` || The local data source for suggestions. Expected to be a primitive array. To use MarkBind\u0027s search functionality, set this value to `\"searchData\"`."},{"lineNumber":40,"author":{"gitId":"-"},"content":"menu-align-right | `Boolean` | `false` | Whether the search bar\u0027s dropdown list will be right-aligned."},{"lineNumber":41,"author":{"gitId":"-"},"content":"on-hit | `Function` || A callback function when you click or hit return on an item. To use MarkBind\u0027s search functionality, set this value to `\"searchCallback\"`."},{"lineNumber":42,"author":{"gitId":"-"},"content":"placeholder | `String` | `\u0027\u0027` | The placeholder text shown when no keywords are entered in the search bar."},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"Note: If you are using MarkBind\u0027s search functionality, then `enableSearch` **must be set to `true` in `site.json`**."},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":"See: [User Guide: Site Configuration → enableSearch]({{ baseUrl }}/userGuide/siteJsonFile.html#enablesearch)."},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"%%{{ icon_info }} Related topic: [User Guide: Making the Site Searchable]({{ baseUrl }}/userGuide/makingTheSiteSearchable.html).%%"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":"%%{{ icon_info }} Related topic: [User Guide: Using Plugins → Algolia: Enabling Algolia DocSearch]({{ baseUrl }}/userGuide/usingPlugins.html#plugin-algolia).%%"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003c/div\u003e \u003c!-- end of body --\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":"```"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":65,"author":{"gitId":"-"},"content":"\u003cli slot\u003d\"right\"\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003cform class\u003d\"navbar-form\"\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\"\u003e\u003c/searchbar\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":" \u003c/form\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003c/li\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":"```"},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":"\u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\"\u003e\u003c/searchbar\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":73,"yiwen101":3}},{"path":"docs/userGuide/syntax/siteNavigationMenus.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Site Navigation Menus"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"content\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"**A _Site Navigation Menu_ (\u003d\u003d_siteNav_ for short\u003d\u003d) can be used to show a road map of the main pages of your site.**"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"Steps to add a siteNav:"},{"lineNumber":8,"author":{"gitId":"-"},"content":"1. Format your siteNav as an unordered Markdown list"},{"lineNumber":9,"author":{"gitId":"-"},"content":"2. Include it under a `\u003csite-nav\u003e` element."},{"lineNumber":10,"author":{"gitId":"-"},"content":"3. (Optional) To make siteNav accessible on smaller screens, you can use the `\u003csite-nav-button /\u003e` component in the [navbar]({{baseUrl}}/userGuide/components/navigation.html#navbars)."},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003csite-nav\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":"* [**Getting Started**]({{baseUrl}}/userGuide/gettingStarted.html)"},{"lineNumber":17,"author":{"gitId":"-"},"content":"* **Authoring Contents** :expanded:"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * [Overview]({{baseUrl}}/userGuide/authoringContents.html)"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * [Adding Pages]({{baseUrl}}/userGuide/addingPages.html)"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * [MarkBind Syntax Overview]({{baseUrl}}/userGuide/markBindSyntaxOverview.html)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * [Formatting Contents]({{baseUrl}}/userGuide/formattingContents.html)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * [Using Components]({{baseUrl}}/userGuide/usingComponents.html)"},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003c/site-nav\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"MarkBind has styles nested lists with additional padding and smaller text sizes up to **4** nesting levels."},{"lineNumber":29,"author":{"gitId":"-"},"content":"Beyond that, you\u0027d have to include your own styles."},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"****Expanding menu items by default****"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"You can **append the `:expanded:` to a \u003ctooltip content\u003d\"a menu item with sub menu-items\"\u003eparent menu item\u003c/tooltip\u003e to make it expand by default.** In the example above, `* Authoring Contents :expanded:` makes the menu item `Authoring Contents` expand by default."},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\"\u003e\u003c/div\u003e"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":"```html"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":"\u003csite-nav\u003e"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":"* [**Getting Started**]({{baseUrl}}/userGuide/gettingStarted.html)"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":"* **Authoring Contents** :expanded:"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" * [Overview]({{baseUrl}}/userGuide/authoringContents.html)"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" * [Adding Pages]({{baseUrl}}/userGuide/addingPages.html)"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" * [MarkBind Syntax Overview]({{baseUrl}}/userGuide/markBindSyntaxOverview.html)"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" * [Formatting Contents]({{baseUrl}}/userGuide/formattingContents.html)"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" * [Using Components]({{baseUrl}}/userGuide/usingComponents.html)"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":"\u003c/site-nav\u003e"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":"```"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":16,"-":37}},{"path":"docs/userGuide/syntax/tabs.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Tabs"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003ctabs\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"First tab\"\u003e"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" Text in the first tab"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \u003cmarkdown\u003e_some markdown_\u003c/markdown\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Disabled second tab :x:\" disabled\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Tab not printed\" class\u003d\"d-print-none\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" This tab will not be printed."},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003ctab-group header\u003d\"Third tab group :milky_way:\"\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Stars :star:\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" Some stuff about stars ..."},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Disabled Moon :new_moon:\" disabled\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/tab-group\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003ctab-group header\u003d\"Disabled fourth tab group\" disabled\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Hidden tab\"\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla ullamcorper ultrices lobortis."},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003c/tab-group\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003c/tabs\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"****Options****"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"`tabs`:"},{"lineNumber":35,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":36,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":37,"author":{"gitId":"-"},"content":"active | `Number` | `0` | Active Tab index (0-based)"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"`tab`:"},{"lineNumber":40,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":41,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":42,"author":{"gitId":"-"},"content":"header | `String` | `null` | Tab title."},{"lineNumber":43,"author":{"gitId":"-"},"content":"disabled | `Boolean` | `false` | Whether Tab is clickable and can be activated."},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"`tab-group`:"},{"lineNumber":46,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":47,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":48,"author":{"gitId":"-"},"content":"header | `String` | `null` | Tab Group title."},{"lineNumber":49,"author":{"gitId":"-"},"content":"disabled | `Boolean` | `false` | Whether Tab Group is clickable and can be activated."},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":"Tabs, tab group and individual tab can be omitted during printing by adding Bootstrap\u0027s display property `class\u003d\"d-print-none\"` to the respective components."},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003ctabs\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"First tab\"\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":" Content of the first tab"},{"lineNumber":62,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Second tab\"\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" Contents of the second tab"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003ctab-group header\u003d\"Third tab group :tv:\"\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Stars :star:\"\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":" Some stuff about stars ..."},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Moon\"\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":" Some stuff about the moon ..."},{"lineNumber":72,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003c/tab-group\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":"\u003c/tabs\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":"```"},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":"\u003ctabs\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"First tab\"\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":" Content of the first tab"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Second tab\"\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Contents of the second tab"},{"lineNumber":86,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":" \u003ctab-group header\u003d\"Third tab group :tv:\"\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Stars :star:\"\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" Some stuff about stars ..."},{"lineNumber":90,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Moon\"\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":" Some stuff about the moon ..."},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003c/tab-group\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":"\u003c/tabs\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":94,"yiwen101":2}},{"path":"docs/userGuide/syntax/variables.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → Reusing Contents → Variables_]({{ baseUrl }}/userGuide/reusingContents.html#variables)\u003c/md\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"## Variables"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"**Nunjucks [variables](https://mozilla.github.io/nunjucks/templating.html#set) are ideal for reusing small bits of code** in multiple places; you can define a variable to represent the code bit in question and reuse it anywhere in the site by referring to the variable instead of duplicating the code bit."},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"MarkBind does not aim to alter the already robust variable features of Nunjucks, but provides several extensions to it."},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"### Global Variables"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"**Global variables are to be defined in the `_markbind/variables.md` file.** Each variable must have an `name` and the value can be any MarkBind-compliant code fragment. The `name` should not contain `-` and `.`. For example, `search-option` and `search.options` are not allowed."},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"The variables declared here are available from anywhere in the code base."},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"{{ icon_example }} Here\u0027s how you can define two variables `year` and `options`:"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"year\"\u003e2018\u003c/variable\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"options\"\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"* yes"},{"lineNumber":29,"author":{"gitId":"-"},"content":"* no"},{"lineNumber":30,"author":{"gitId":"-"},"content":"* maybe"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"```"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"To include a variable value in your code, give the variable id enclosed in Nunjucks\u0027 double curly braces syntax."},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"{{ icon_example }} `The year was {% raw %}{{ year }}{% endraw %}.` {{ icon_arrow_right }} The year was 2018."},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"Global variables (`_markbind/variables.md`) will take precedence over any variables set via Nunjucks\u0027 tags (e.g. `{% raw %}{% set %}{% endraw %}`)."},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#### Built-in Global Variables"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"MarkBind also provides a number of built-in variables."},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"Variable | Notes | {{ icon_example }} | Output"},{"lineNumber":53,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":54,"author":{"gitId":"-"},"content":"`baseUrl` | Represents the root directory of the site on the server, as configured in your [site configuration]({{baseUrl}}/userGuide/siteJsonFile.html#baseurl) file. \u003cbr\u003e Used for specifying [intra-site links](../formattingContents.html#intra-site-links). | If `baseUrl` is specified as `userGuide/`:\u003cbr\u003e\u003cbr\u003e `\u003cimg src\u003d\"{% raw %}{{baseUrl}}{% endraw %}/images/logo.png\" /\u003e` | `\u003cimg src\u003d\"userGuide/images/logo.png\" /\u003e`"},{"lineNumber":55,"author":{"gitId":"-"},"content":"`timestamp` | The time stamp that indicates when the page was generated. \u003cbr\u003e\u003cbr\u003e The [default]({{baseUrl}}/userGuide/siteJsonFile.html#timezone) values of `\"timeZone\"` and `\"locale\"` are `\"UTC\"` and `\"en-GB\"` respectively. | The following example showcases the use of the `\"Asia/Singapore\"` time zone.\u003cbr\u003e\u003cbr\u003e `Page generated at: {% raw %}{{timestamp}}{% endraw %}` | `Page generated at: {{ timestamp }}`"},{"lineNumber":56,"author":{"gitId":"-"},"content":"`MarkBind` | The MarkBind version in use, linked to the MarkBind website. | `Page generated by: {% raw %}{{MarkBind}}{% endraw %}` | `Page generated by:` {{ MarkBind | safe }}"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"### Importing variables from other external file formats"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"You can also source variables from external files using MarkBind\u0027s {%raw%}`{% ext varName \u003d \"filepathToFile\" %}`{%endraw%} Nunjucks extension."},{"lineNumber":62,"author":{"gitId":"-"},"content":"This is useful if you have external datasets you want to display in your site!"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"To do so, assign a root variable name (`varName`) to the file path from the \u003ctooltip content\u003d\"similar to how you assign filepaths for other Nunjucks tags\"\u003eroot directory of the site\u003c/tooltip\u003e. You may then access the file\u0027s variables using dot `varName.xx` or array `varName[i]` syntax, depending on the file\u0027s contents."},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":"\u003ctabs\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":"\u003ctab header\u003d\"Importing from JSON files\"\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":"{{icon_example}}"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":"%%CODE:%%"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"{% raw %}"},{"lineNumber":79,"author":{"gitId":"-"},"content":"```html {heading\u003d\"Displaying a student scoreboard stored as JSON\"}"},{"lineNumber":80,"author":{"gitId":"-"},"content":"{% ext studentScoreboard \u003d \"userGuide/syntax/extra/scoreboard.json\" %}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":"Student Number | Score | Rank"},{"lineNumber":83,"author":{"gitId":"-"},"content":":----- | :-------: | ----"},{"lineNumber":84,"author":{"gitId":"-"},"content":"{% for student in studentScoreboard.students -%}"},{"lineNumber":85,"author":{"gitId":"-"},"content":"{{ student.number }} | {{ student.score }} | {{ student.rank }}"},{"lineNumber":86,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003csmall\u003eLast updated at {{ studentScoreboard.lastUpdated }}\u003c/small\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":"```"},{"lineNumber":90,"author":{"gitId":"-"},"content":"{% endraw %}"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"minimal\" header\u003d\"JSON file used in example\"\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":"```json {heading\u003d\"JSON File\"}"},{"lineNumber":95,"author":{"gitId":"-"},"content":"{% include \"userGuide/syntax/extra/scoreboard.json\" %}"},{"lineNumber":96,"author":{"gitId":"-"},"content":"```"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":"%%OUTPUT:%%"},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"\u003cbox border-left-color\u003d\"grey\" background-color\u003d\"white\"\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"{% ext studentScoreboard \u003d \"userGuide/syntax/extra/scoreboard.json\" %}"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":"Student Number | Score | Rank"},{"lineNumber":111,"author":{"gitId":"-"},"content":":----- | :-------: | ----"},{"lineNumber":112,"author":{"gitId":"-"},"content":"{% for student in studentScoreboard.students -%}"},{"lineNumber":113,"author":{"gitId":"-"},"content":"{{ student.number }} | {{ student.score }} / 100 | {{ student.rank }}"},{"lineNumber":114,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":"\u003csmall\u003eLast updated at {{ studentScoreboard.lastUpdated }}\u003c/small\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":"\u003c/tab\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":"\u003ctab header\u003d\"Importing from CSV files\"\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"{{icon_example}}"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":"%%CODE:%%"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":"{% raw %}"},{"lineNumber":130,"author":{"gitId":"-"},"content":"```html {heading\u003d\"Displaying a student scoreboard stored as CSV\"}"},{"lineNumber":131,"author":{"gitId":"-"},"content":"{% ext studentScoreboard \u003d \"userGuide/syntax/extra/scoreboard.csv\" %}"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":"Student Number | Score | Rank"},{"lineNumber":134,"author":{"gitId":"-"},"content":":----- | :-------: | ----"},{"lineNumber":135,"author":{"gitId":"-"},"content":"{% for student in studentScoreboard -%}"},{"lineNumber":136,"author":{"gitId":"-"},"content":"{{ student.number }} | {{ student.score }} | {{ student.rank }}"},{"lineNumber":137,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":138,"author":{"gitId":"-"},"content":"```"},{"lineNumber":139,"author":{"gitId":"-"},"content":"{% endraw %}"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"minimal\" header\u003d\"CSV file used in example\"\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":"```csv {heading\u003d\"CSV File\"}"},{"lineNumber":144,"author":{"gitId":"-"},"content":"{% include \"userGuide/syntax/extra/scoreboard.csv\" %}"},{"lineNumber":145,"author":{"gitId":"-"},"content":"```"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":"\u003cbox border-left-color\u003d\"{{ markbind_blue}}\"\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":"{{ icon_bulb_blue }} If you do not want to have a header row, you can specify it by appending a `noHeader` option at the end of the variable declaration. In this example, it should be {% raw %} `{% ext studentScoreboard \u003d \"userGuide/syntax/extra/scoreboard.csv\", noHeader %}` {% endraw %}. Elements have to be accessed using the `[]` operator (i.e. using `student[0]` to access student number instead of `student.number`)."},{"lineNumber":153,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":"%%OUTPUT:%%"},{"lineNumber":158,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":"\u003cbox border-left-color\u003d\"grey\" background-color\u003d\"white\"\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":"{% ext studentScoreboard \u003d \"userGuide/syntax/extra/scoreboard.csv\" %}"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":"Student Number | Score | Rank"},{"lineNumber":165,"author":{"gitId":"-"},"content":":----- | :-------: | ----"},{"lineNumber":166,"author":{"gitId":"-"},"content":"{% for student in studentScoreboard -%}"},{"lineNumber":167,"author":{"gitId":"-"},"content":"{{ student.number }} | {{ student.score }} / 100 | {{ student.rank }}"},{"lineNumber":168,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"\u003c/tab\u003e"},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003c/tabs\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":"Only `.json` and `.csv` files are supported for now."},{"lineNumber":179,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"jingting1412"},"content":"```markdown"},{"lineNumber":186,"author":{"gitId":"jingting1412"},"content":"Place global variables in `_markbind/variables.md`"},{"lineNumber":187,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"year\"\u003e2018\u003c/variable\u003e"},{"lineNumber":188,"author":{"gitId":"jingting1412"},"content":"The year was {% raw %}{{ year }}{% endraw %}"},{"lineNumber":189,"author":{"gitId":"-"},"content":"```"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":3,"-":188}},{"path":"docs/userGuide/syntaxReference.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" title: \"User Guide: Syntax Reference\""},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" layout: userGuide.md"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" pageNav: 5"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"# Syntax Reference"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":"Expand the panels for detailed explanations of the feature or click on the link in the header to go to the corresponding page!"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":"{% macro show_topic(filename, heading, url) %}"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":"\u003cpanel type\u003d\"seamless\" no-close popup-url\u003d\"{{ url }}\"\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003cdiv slot\u003d\"header\"\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003cmarkdown\u003e##### **{{ heading }}**\u003c/markdown\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003cinclude src\u003d\"syntax/{{ filename }}.md#short\" /\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" \u003cinclude src\u003d\"syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"\u003c/panel\u003e"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":"{% endmacro %}"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":"{% for k,v in topics | dictsort %}"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" {% set url\u003d\"/userGuide/\" %}"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" {% if v[2] is iterable %}"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" {% if \u0027basic\u0027 in v[2] %}"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"formattingContents.html#\" + v[1] %}"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027presentation\u0027 in v[2] %}"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/presentation.html#\" + v[1] %}"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027images-diagrams\u0027 in v[2] %}"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/imagesAndDiagrams.html#\" + v[1] %}"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027popups\u0027 in v[2] %}"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/popups.html#\" + v[1] %}"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027navigation\u0027 in v[2] %}"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/navigation.html#\" + v[1] %}"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027others\u0027 in v[2] %}"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/others.html#\" + v[1] %}"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" {% else %}"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + v[2][0] + \".html#\" + v[1] %}"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" {% endif %}"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" {% else %}"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url %}"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" {% endif %}"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" {{ show_topic( k, v[0], url) }}"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":"{% endfor %}"}],"authorContributionMap":{"jingting1412":50}},{"path":"docs/userGuide/templates.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Templates\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"templates\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":8,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"# {{ title }}"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\" id\u003d\"overview\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"MarkBind allows you to start off your new project with different templates."},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"During initialization you can add a flag `--template \u003ctemplate-key\u003e` to select a different template to initialize with. For example:"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"```"},{"lineNumber":25,"author":{"gitId":"-"},"content":"markbind init --template minimal"},{"lineNumber":26,"author":{"gitId":"-"},"content":"```"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"## Supported Templates"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"Name | Template key | Description | Quick Deploy"},{"lineNumber":31,"author":{"gitId":"-"},"content":"---- | ------- | ----------- | ------------"},{"lineNumber":32,"author":{"gitId":"-"},"content":"Default | `default` | Default template if `--template` is unspecified. Includes core features such as site and page navigation for a more convenient quick start. | \u003ca href\u003d\"https://app.netlify.com/start/deploy?repository\u003dhttps://github.com/MarkBind/init-typical-netlify\"\u003e\u003cimg src\u003d\"https://www.netlify.com/img/deploy/button.svg\" /\u003e\u003c/a\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"Minimal | `minimal` | Minimalistic template that gets you started quickly. | \u003ca href\u003d\"https://app.netlify.com/start/deploy?repository\u003dhttps://github.com/MarkBind/init-minimal-netlify\"\u003e\u003cimg src\u003d\"https://www.netlify.com/img/deploy/button.svg\" /\u003e\u003c/a\u003e"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"Project | `project` | Project documentation template serves as a good starting point for project developers. This template includes both a user guide and a developer guide, with some formatted dummy content. | \u003ca href\u003d\"https://markbind-template-project.netlify.app/\"\u003e\u003cimg src\u003d\"https://www.netlify.com/img/deploy/button.svg\" /\u003e\u003c/a\u003e"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":"Portfolio | `portfolio` | Portfolio template to quickly build your portfolio. | \u003ca href\u003d\"\"\u003eQuick deploy link to come!\u003c/a\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":38,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027addingNavigationButtons\u0027, \u0027\u0027) }}"}],"authorContributionMap":{"jingting1412":1,"KevinEyo1":1,"-":36}},{"path":"docs/userGuide/troubleshooting.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Troubleshooting\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title | safe }}\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":7,"author":{"gitId":"-"},"content":" pageNav: 5"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"# {{ title | safe }}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"##### HTML Rendering Issues"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"Unexpected behavior can occur in rendered pages due to a number of different reasons. One of these reasons is when the rendered pages are not valid HTML."},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"Incorrect HTML markup can be due to:"},{"lineNumber":17,"author":{"gitId":"-"},"content":"- nesting block-level elements inside `\u003cp\u003e` or `\u003cspan\u003e` elements"},{"lineNumber":18,"author":{"gitId":"-"},"content":"- missing `\u003ctbody\u003e` tags"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"###### Example: block-level elements inside `\u003cspan\u003e` elements"},{"lineNumber":21,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"example\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"Animal | Trainable? | Price | Remarks"},{"lineNumber":26,"author":{"gitId":"-"},"content":":------|:----------:|------:|--------"},{"lineNumber":27,"author":{"gitId":"-"},"content":"Ants | no | 5 |"},{"lineNumber":28,"author":{"gitId":"-"},"content":"Bees | no | 20 |"},{"lineNumber":29,"author":{"gitId":"-"},"content":"Cats | yes | 100 |"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":"```"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"The table specified by the Markdown syntax above will be rendered as a block-level element, which will be included in a inline span element. This makes the HTML output invalid."},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Underlying Error (Example)\" type\u003d\"seamless\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"```"},{"lineNumber":38,"author":{"gitId":"-"},"content":"vue.js:634 [Vue warn]: The client-side rendered virtual DOM tree is not matching server-rendered content."},{"lineNumber":39,"author":{"gitId":"-"},"content":"This is likely caused by incorrect HTML markup, for example nesting block-level elements inside `\u003cp\u003e`,"},{"lineNumber":40,"author":{"gitId":"-"},"content":"or missing `\u003ctbody\u003e`."},{"lineNumber":41,"author":{"gitId":"-"},"content":"Bailing hydration and performing full client-side render."},{"lineNumber":42,"author":{"gitId":"-"},"content":"```"},{"lineNumber":43,"author":{"gitId":"-"},"content":"See [SSR guide for Vue](https://vuejs.org/guide/scaling-up/ssr.html#hydration-mismatch) for more details on hydration mismatch."},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"A possible fix for the above situation is to wrap the table in a `\u003cdiv\u003e` element instead:"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"example\"\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"Animal | Trainable? | Price | Remarks"},{"lineNumber":53,"author":{"gitId":"-"},"content":":------|:----------:|------:|--------"},{"lineNumber":54,"author":{"gitId":"-"},"content":"Ants | no | 5 |"},{"lineNumber":55,"author":{"gitId":"-"},"content":"Bees | no | 20 |"},{"lineNumber":56,"author":{"gitId":"-"},"content":"Cats | yes | 100 |"},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":"```"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":"##### Markdown Rendering Issues"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":"If you encounter issues in rendering Markdown in a component, it is likely that the Markdown is not being properly recognized due to syntax errors. Signposting is required to inform Markdown to parse the content of a presentation component as Markdown rather than plain text."},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":"You could signpost Markdown either by:"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":"- using the `\u003cmarkdown\u003e`(block level elements) or `\u003cmd\u003e`(inline level elements) tags to wrap the Markdown content."},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":"- using an empty line without any indentation before the Markdown content"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":"###### Example: correct Markdown rendering using tags or newline:"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":"\u003cbox\u003e"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":"**Example1**"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":"\u003cbox\u003e "},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":"\u003cmd\u003e **Example2** \u003c/md\u003e "},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":"\u003cbox\u003e "},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":"\u003cmarkdown\u003e **Example3** \u003c/markdown\u003e "},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":"\u003c/variable\u003e"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":"\u003c/include\u003e"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":"\u003cpanel header\u003d\"###### Example: Markdown not rendered without singposting\" type\u003d\"seamless\"\u003e"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":"\u003cbox\u003e **This will be rendered as plain text**\u003c/box\u003e"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":"\u003c/variable\u003e"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":"\u003c/include\u003e"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":"\u003c/panel\u003e"},{"lineNumber":97,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":98,"author":{"gitId":"jingting1412"},"content":"##### Content with local links not working when included with `\u003cinclude\u003e`"},{"lineNumber":99,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":100,"author":{"gitId":"jingting1412"},"content":"If you notice that relative links in a page pointing to another page no longer works after adding it into a page via `\u003cinclude\u003e`, it may be because the relative link no longer points to the correct address in the new page with `\u003cinclude\u003e`. "},{"lineNumber":101,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":102,"author":{"gitId":"jingting1412"},"content":"To solve this, change the relative URL into an **absolute** URL by adding `{{ \u0027{{ baseUrl }}\u0027 }}`. This will ensure that the link will always point to the same address regardless of the page it is included in."},{"lineNumber":103,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":104,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"syntax/includes.md#baseUrl-example\"/\u003e"},{"lineNumber":105,"author":{"gitId":"jingting1412"},"content":""}],"authorContributionMap":{"jingting1412":9,"-":58,"yiwen101":38}},{"path":"docs/userGuide/usingComponents.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Using Components\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"usingComponents\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"# Using Components"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\" class\u003d\"lead\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"**MarkBind provides a number of components** (e.g., expandable panels, tabbed displays, navigation bars, etc.) that you can use to enhance the appearance/behavior of your pages."},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"To use a component, just use the corresponding markup in your file. For example, to create a Panel, you just need to use the markup:"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Click to expand\" type\u003d\"seamless\"\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" Panel Content."},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"```"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"{% macro show_topic(filename) %}"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"./syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" {% if \u0027component\u0027 in v[2] %}"},{"lineNumber":39,"author":{"gitId":"-"},"content":"{{ show_topic(k) }}"},{"lineNumber":40,"author":{"gitId":"-"},"content":" {% endif %}"},{"lineNumber":41,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":46,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027formattingContents\u0027, \u0027components/presentation\u0027) }}"}],"authorContributionMap":{"jingting1412":2,"-":44}},{"path":"package.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"name\": \"root\","},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"private\": true,"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"workspaces\": [\"packages/*\"],"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"scripts\": {"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"prebuild:backend\": \"npm run clean\","},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"build:backend\": \"tsc --noEmitOnError\","},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"build:web\": \"cd packages/core-web \u0026\u0026 npm run build\","},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"build:dg\": \"cd docs \u0026\u0026 ../packages/cli/index.js build -s dg-site.json\","},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"build:ug\": \"cd docs \u0026\u0026 ../packages/cli/index.js build -s ug-site.json\","},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"build:docs\": \"cd docs \u0026\u0026 node ../packages/cli/index.js build --baseUrl\","},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"deploy:dg\": \"cd docs \u0026\u0026 ../packages/cli/index.js deploy -s dg-site.json --ci\","},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"deploy:ug\": \"cd docs \u0026\u0026 ../packages/cli/index.js deploy -s ug-site.json --ci\","},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"deploy:netlify\": \"npm run setup \u0026\u0026 npm run build:web \u0026\u0026 cd docs \u0026\u0026 node ../packages/cli/index.js build --baseUrl\","},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"clean\": \"node ./scripts/clean.js\","},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"csslint\": \"stylelint **/*.css **/*.vue\","},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"csslintfix\": \"stylelint **/*.css **/*.vue --fix\","},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"dev\": \"tsc --watch\","},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"lint\": \"eslint . --ext .js,.ts,.vue \u0026\u0026 npm run csslint\","},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"lintfix\": \"eslint . --ext .js,.ts,.vue --fix \u0026\u0026 npm run csslintfix\","},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"setup\": \"npm ci \u0026\u0026 npm run clean \u0026\u0026 lerna run prepare\","},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"test\": \"npm run lint \u0026\u0026 lerna run test --stream --parallel\","},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"updatetest\": \"lerna run updatetest --stream --parallel\""},{"lineNumber":24,"author":{"gitId":"-"},"content":" },"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"devDependencies\": {"},{"lineNumber":26,"author":{"gitId":"LamJiuFong"},"content":" \"@stylistic/stylelint-plugin\": \"^2.1.0\","},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"@types/node\": \"^18.15.0\","},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"@typescript-eslint/eslint-plugin\": \"^5.16.0\","},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"@typescript-eslint/parser\": \"^5.16.0\","},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"eslint\": \"^7.32.0\","},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-base\": \"^15.0.0\","},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-typescript\": \"^16.1.4\","},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"eslint-plugin-import\": \"^2.25.2\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"eslint-plugin-lodash\": \"^7.2.0\","},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"lerna\": \"^6.5.1\","},{"lineNumber":36,"author":{"gitId":"LamJiuFong"},"content":" \"stylelint\": \"^16.2.1\","},{"lineNumber":37,"author":{"gitId":"LamJiuFong"},"content":" \"stylelint-config-recommended-vue\": \"^1.5.0\","},{"lineNumber":38,"author":{"gitId":"LamJiuFong"},"content":" \"stylelint-config-standard\": \"^36.0.0\","},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"typescript\": \"^4.6.2\","},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"walk-sync\": \"^2.0.2\""},{"lineNumber":41,"author":{"gitId":"LamJiuFong"},"content":" },"},{"lineNumber":42,"author":{"gitId":"LamJiuFong"},"content":" \"dependencies\": {"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-icons\": \"^1.11.3\","},{"lineNumber":44,"author":{"gitId":"LamJiuFong"},"content":" \"postcss\": \"^8.4.35\""},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":7,"-":38,"yiwen101":1}},{"path":"packages/cli/index.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"#!/usr/bin/env node"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"// Entry file for MarkBind project"},{"lineNumber":4,"author":{"gitId":"-"},"content":"const program \u003d require(\u0027commander\u0027);"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"const logger \u003d require(\u0027./src/util/logger\u0027);"},{"lineNumber":7,"author":{"gitId":"-"},"content":"const { build } \u003d require(\u0027./src/cmd/build\u0027);"},{"lineNumber":8,"author":{"gitId":"-"},"content":"const { deploy } \u003d require(\u0027./src/cmd/deploy\u0027);"},{"lineNumber":9,"author":{"gitId":"-"},"content":"const { init } \u003d require(\u0027./src/cmd/init\u0027);"},{"lineNumber":10,"author":{"gitId":"-"},"content":"const { serve } \u003d require(\u0027./src/cmd/serve\u0027);"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"const CLI_VERSION \u003d require(\u0027./package.json\u0027).version;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"process.title \u003d \u0027MarkBind\u0027;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"process.stdout.write("},{"lineNumber":16,"author":{"gitId":"-"},"content":" `${String.fromCharCode(27)}]0; MarkBind${String.fromCharCode(7)}`,"},{"lineNumber":17,"author":{"gitId":"-"},"content":");"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"function printHeader() {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" logger.logo();"},{"lineNumber":21,"author":{"gitId":"-"},"content":" logger.log(` v${CLI_VERSION}`);"},{"lineNumber":22,"author":{"gitId":"-"},"content":"}"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"program"},{"lineNumber":25,"author":{"gitId":"-"},"content":" .addHelpText(\u0027beforeAll\u0027, printHeader())"},{"lineNumber":26,"author":{"gitId":"-"},"content":" .showHelpAfterError(\u0027(run \"markbind --help\" to list commands)\u0027);"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"program"},{"lineNumber":29,"author":{"gitId":"-"},"content":" .allowUnknownOption()"},{"lineNumber":30,"author":{"gitId":"-"},"content":" .usage(\u0027\u003ccommand\u003e\u0027);"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"program"},{"lineNumber":33,"author":{"gitId":"-"},"content":" .name(\u0027markbind\u0027)"},{"lineNumber":34,"author":{"gitId":"-"},"content":" .version(CLI_VERSION);"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"program"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .command(\u0027init [root]\u0027)"},{"lineNumber":38,"author":{"gitId":"-"},"content":" .option(\u0027-c, --convert\u0027, \u0027convert a GitHub wiki or docs folder to a MarkBind website\u0027)"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .option(\u0027-t, --template \u003ctype\u003e\u0027, \u0027initialise markbind with a specified template\u0027, \u0027default\u0027)"},{"lineNumber":40,"author":{"gitId":"-"},"content":" .alias(\u0027i\u0027)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .description(\u0027init a markbind website project\u0027)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .action((root, options) \u003d\u003e {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" init(root, options);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" });"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"program"},{"lineNumber":47,"author":{"gitId":"-"},"content":" .command(\u0027serve [root]\u0027)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" .alias(\u0027s\u0027)"},{"lineNumber":49,"author":{"gitId":"-"},"content":" .option(\u0027-f, --force-reload\u0027, \u0027force a full reload of all site files when a file is changed\u0027)"},{"lineNumber":50,"author":{"gitId":"-"},"content":" .option(\u0027-n, --no-open\u0027, \u0027do not automatically open the site in browser\u0027)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" .option(\u0027-o, --one-page [file]\u0027, \u0027build and serve only a single page in the site initially,\u0027"},{"lineNumber":52,"author":{"gitId":"-"},"content":" + \u0027building more pages when they are navigated to. Also lazily rebuilds only the page being viewed when\u0027"},{"lineNumber":53,"author":{"gitId":"-"},"content":" + \u0027there are changes to the source files (if needed), building others when navigated to\u0027)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .option(\u0027-b, --background-build\u0027, \u0027when --one-page is specified, enhances one-page serve by building\u0027"},{"lineNumber":55,"author":{"gitId":"-"},"content":" + \u0027remaining pages in the background\u0027)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" .option(\u0027-p, --port \u003cport\u003e\u0027, \u0027port for server to listen on (Default is 8080)\u0027)"},{"lineNumber":57,"author":{"gitId":"-"},"content":" .option(\u0027-s, --site-config \u003cfile\u003e\u0027, \u0027specify the site config file (default: site.json)\u0027)"},{"lineNumber":58,"author":{"gitId":"-"},"content":" .option(\u0027-d, --dev\u0027, \u0027development mode, enabling live \u0026 hot reload for frontend source files.\u0027)"},{"lineNumber":59,"author":{"gitId":"LamJiuFong"},"content":" .option(\u0027-a, --address \u003caddress\u003e\u0027, \u0027specify the server address/host (Default is 127.0.0.1)\u0027)"},{"lineNumber":60,"author":{"gitId":"-"},"content":" .description(\u0027build then serve a website from a directory\u0027)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .action((userSpecifiedRoot, options) \u003d\u003e {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" serve(userSpecifiedRoot, options);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" });"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":"program"},{"lineNumber":66,"author":{"gitId":"-"},"content":" .command(\u0027build [root] [output]\u0027)"},{"lineNumber":67,"author":{"gitId":"-"},"content":" .alias(\u0027b\u0027)"},{"lineNumber":68,"author":{"gitId":"-"},"content":" .option(\u0027--baseUrl [baseUrl]\u0027,"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u0027optional flag which overrides baseUrl in site.json, leave argument empty for empty baseUrl\u0027)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .option(\u0027-s, --site-config \u003cfile\u003e\u0027, \u0027specify the site config file (default: site.json)\u0027)"},{"lineNumber":71,"author":{"gitId":"-"},"content":" .description(\u0027build a website\u0027)"},{"lineNumber":72,"author":{"gitId":"-"},"content":" .action((userSpecifiedRoot, output, options) \u003d\u003e {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" build(userSpecifiedRoot, output, options);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" });"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"program"},{"lineNumber":77,"author":{"gitId":"-"},"content":" .command(\u0027deploy [root]\u0027)"},{"lineNumber":78,"author":{"gitId":"-"},"content":" .alias(\u0027d\u0027)"},{"lineNumber":79,"author":{"gitId":"-"},"content":" .option(\u0027-c, --ci [githubTokenName]\u0027, \u0027deploy the site in CI Environment [GITHUB_TOKEN]\u0027)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .option(\u0027-n, --no-build\u0027, \u0027do not automatically build the site before deployment\u0027)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .option(\u0027-s, --site-config \u003cfile\u003e\u0027, \u0027specify the site config file (default: site.json)\u0027)"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .description(\u0027deploy the latest build of the site to the repo\\\u0027s Github pages\u0027)"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .action((userSpecifiedRoot, options) \u003d\u003e {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" deploy(userSpecifiedRoot, options);"},{"lineNumber":85,"author":{"gitId":"-"},"content":" });"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"program.parse(process.argv);"}],"authorContributionMap":{"LamJiuFong":1,"-":86}},{"path":"packages/cli/src/cmd/serve.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"const chokidar \u003d require(\u0027chokidar\u0027);"},{"lineNumber":2,"author":{"gitId":"-"},"content":"const path \u003d require(\u0027path\u0027);"},{"lineNumber":3,"author":{"gitId":"LamJiuFong"},"content":"const readline \u003d require(\u0027readline\u0027);"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"const { Site } \u003d require(\u0027@markbind/core\u0027);"},{"lineNumber":6,"author":{"gitId":"-"},"content":"const { pageVueServerRenderer } \u003d require(\u0027@markbind/core/src/Page/PageVueServerRenderer\u0027);"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"const fsUtil \u003d require(\u0027@markbind/core/src/utils/fsUtil\u0027);"},{"lineNumber":9,"author":{"gitId":"-"},"content":"const { INDEX_MARKDOWN_FILE } \u003d require(\u0027@markbind/core/src/Site/constants\u0027);"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"const cliUtil \u003d require(\u0027../util/cliUtil\u0027);"},{"lineNumber":12,"author":{"gitId":"-"},"content":"const liveServer \u003d require(\u0027../lib/live-server\u0027);"},{"lineNumber":13,"author":{"gitId":"-"},"content":"const logger \u003d require(\u0027../util/logger\u0027);"},{"lineNumber":14,"author":{"gitId":"-"},"content":"const {"},{"lineNumber":15,"author":{"gitId":"-"},"content":" addHandler,"},{"lineNumber":16,"author":{"gitId":"-"},"content":" changeHandler,"},{"lineNumber":17,"author":{"gitId":"-"},"content":" lazyReloadMiddleware,"},{"lineNumber":18,"author":{"gitId":"-"},"content":" removeHandler,"},{"lineNumber":19,"author":{"gitId":"-"},"content":"} \u003d require(\u0027../util/serveUtil\u0027);"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"LamJiuFong"},"content":"function isIPAddressZero(address) {"},{"lineNumber":22,"author":{"gitId":"LamJiuFong"},"content":" const patternForZero \u003d /^0(\\.0)*$/;"},{"lineNumber":23,"author":{"gitId":"LamJiuFong"},"content":""},{"lineNumber":24,"author":{"gitId":"LamJiuFong"},"content":" return patternForZero.test(address);"},{"lineNumber":25,"author":{"gitId":"LamJiuFong"},"content":"}"},{"lineNumber":26,"author":{"gitId":"LamJiuFong"},"content":""},{"lineNumber":27,"author":{"gitId":"LamJiuFong"},"content":"function questionAsync(question) {"},{"lineNumber":28,"author":{"gitId":"LamJiuFong"},"content":" const readlineInterface \u003d readline.createInterface({ input: process.stdin, output: process.stdout });"},{"lineNumber":29,"author":{"gitId":"LamJiuFong"},"content":""},{"lineNumber":30,"author":{"gitId":"LamJiuFong"},"content":" return new Promise((resolve) \u003d\u003e {"},{"lineNumber":31,"author":{"gitId":"LamJiuFong"},"content":" readlineInterface.question(question, (response) \u003d\u003e {"},{"lineNumber":32,"author":{"gitId":"LamJiuFong"},"content":" readlineInterface.close();"},{"lineNumber":33,"author":{"gitId":"LamJiuFong"},"content":" resolve(response);"},{"lineNumber":34,"author":{"gitId":"LamJiuFong"},"content":" });"},{"lineNumber":35,"author":{"gitId":"LamJiuFong"},"content":" });"},{"lineNumber":36,"author":{"gitId":"LamJiuFong"},"content":"}"},{"lineNumber":37,"author":{"gitId":"LamJiuFong"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"function serve(userSpecifiedRoot, options) {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" if (options.dev) {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" logger.useDebugConsole();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" let rootFolder;"},{"lineNumber":44,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" rootFolder \u003d cliUtil.findRootFolder(userSpecifiedRoot, options.siteConfig);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" if (options.forceReload \u0026\u0026 options.onePage) {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" logger.error(\u0027Oops! You shouldn\\\u0027t need to use the --force-reload option with --one-page.\u0027);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" process.exitCode \u003d 1;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" process.exit();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":" } catch (error) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" logger.error(error.message);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" process.exitCode \u003d 1;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" const logsFolder \u003d path.join(rootFolder, \u0027_markbind/logs\u0027);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" const outputFolder \u003d path.join(rootFolder, \u0027_site\u0027);"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" const presentDefaultFile \u003d fsUtil.fileExists(INDEX_MARKDOWN_FILE) ? INDEX_MARKDOWN_FILE : false;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" if (options.onePage \u003d\u003d\u003d true \u0026\u0026 !presentDefaultFile) {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" logger.error(\u0027Oops! It seems that you didn\\\u0027t have the default file index.md.\u0027);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" process.exitCode \u003d 1;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" process.exit();"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":" let onePagePath \u003d options.onePage \u003d\u003d\u003d true ? presentDefaultFile : options.onePage;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" onePagePath \u003d onePagePath ? fsUtil.ensurePosix(onePagePath) : onePagePath;"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" const reloadAfterBackgroundBuild \u003d () \u003d\u003e {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" logger.info(\u0027All opened pages will be reloaded.\u0027);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" liveServer.reloadActiveTabs();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" };"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" const site \u003d new Site(rootFolder, outputFolder, onePagePath,"},{"lineNumber":75,"author":{"gitId":"-"},"content":" options.forceReload, options.siteConfig, options.dev,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" options.backgroundBuild, reloadAfterBackgroundBuild);"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" // server config"},{"lineNumber":79,"author":{"gitId":"-"},"content":" const serverConfig \u003d {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" open: options.open,"},{"lineNumber":81,"author":{"gitId":"-"},"content":" logLevel: 0,"},{"lineNumber":82,"author":{"gitId":"-"},"content":" root: outputFolder,"},{"lineNumber":83,"author":{"gitId":"-"},"content":" port: options.port || 8080,"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" host: options.address || \u0027127.0.0.1\u0027,"},{"lineNumber":85,"author":{"gitId":"-"},"content":" middleware: [],"},{"lineNumber":86,"author":{"gitId":"-"},"content":" mount: [],"},{"lineNumber":87,"author":{"gitId":"-"},"content":" };"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" site"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .readSiteConfig()"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .then(async (config) \u003d\u003e {"},{"lineNumber":92,"author":{"gitId":"LamJiuFong"},"content":" if (isIPAddressZero(serverConfig.host)) {"},{"lineNumber":93,"author":{"gitId":"LamJiuFong"},"content":" const response \u003d await questionAsync("},{"lineNumber":94,"author":{"gitId":"LamJiuFong"},"content":" \u0027WARNING: Using the address \\\u00270.0.0.0\\\u0027 could potentially expose your server to the internet, \u0027"},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":" + \u0027which may pose security risks. \\n\u0027"},{"lineNumber":96,"author":{"gitId":"LamJiuFong"},"content":" + \u0027Proceed with caution? [y/N] \u0027);"},{"lineNumber":97,"author":{"gitId":"LamJiuFong"},"content":" if (response.toLowerCase() \u003d\u003d\u003d \u0027y\u0027) {"},{"lineNumber":98,"author":{"gitId":"LamJiuFong"},"content":" logger.info(\u0027Proceeding to generate website\u0027);"},{"lineNumber":99,"author":{"gitId":"LamJiuFong"},"content":" } else {"},{"lineNumber":100,"author":{"gitId":"LamJiuFong"},"content":" logger.info(\u0027Website generation is cancelled.\u0027);"},{"lineNumber":101,"author":{"gitId":"LamJiuFong"},"content":" process.exit();"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":" }"},{"lineNumber":103,"author":{"gitId":"LamJiuFong"},"content":" }"},{"lineNumber":104,"author":{"gitId":"LamJiuFong"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" serverConfig.mount.push([config.baseUrl || \u0027/\u0027, outputFolder]);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" if (options.dev) {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" // eslint-disable-next-line global-require"},{"lineNumber":109,"author":{"gitId":"-"},"content":" const webpackDevConfig \u003d require(\u0027@markbind/core-web/webpack.dev\u0027);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" await webpackDevConfig.serverEntry(pageVueServerRenderer.updateMarkBindVueBundle, rootFolder);"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" const getMiddlewares \u003d webpackDevConfig.clientEntry;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" getMiddlewares(`${config.baseUrl}/markbind`)"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .forEach(middleware \u003d\u003e serverConfig.middleware.push(middleware));"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" if (onePagePath) {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" const onePageHtmlUrl \u003d `${config.baseUrl}/${onePagePath.replace(/\\.md$/, \u0027.html\u0027)}`;"},{"lineNumber":119,"author":{"gitId":"-"},"content":" serverConfig.open \u003d serverConfig.open \u0026\u0026 onePageHtmlUrl;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" serverConfig.middleware.push(lazyReloadMiddleware(site, rootFolder, config));"},{"lineNumber":121,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" serverConfig.open \u003d serverConfig.open \u0026\u0026 `${config.baseUrl}/`;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" return site.generate();"},{"lineNumber":126,"author":{"gitId":"-"},"content":" })"},{"lineNumber":127,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" const watcher \u003d chokidar.watch(rootFolder, {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" ignored: ["},{"lineNumber":130,"author":{"gitId":"-"},"content":" logsFolder,"},{"lineNumber":131,"author":{"gitId":"-"},"content":" outputFolder,"},{"lineNumber":132,"author":{"gitId":"-"},"content":" /(^|[/\\\\])\\../,"},{"lineNumber":133,"author":{"gitId":"-"},"content":" x \u003d\u003e x.endsWith(\u0027___jb_tmp___\u0027), x \u003d\u003e x.endsWith(\u0027___jb_old___\u0027), // IDE temp files"},{"lineNumber":134,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":135,"author":{"gitId":"-"},"content":" ignoreInitial: true,"},{"lineNumber":136,"author":{"gitId":"-"},"content":" });"},{"lineNumber":137,"author":{"gitId":"-"},"content":" watcher"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .on(\u0027add\u0027, addHandler(site, onePagePath))"},{"lineNumber":139,"author":{"gitId":"-"},"content":" .on(\u0027change\u0027, changeHandler(site, onePagePath))"},{"lineNumber":140,"author":{"gitId":"-"},"content":" .on(\u0027unlink\u0027, removeHandler(site, onePagePath));"},{"lineNumber":141,"author":{"gitId":"-"},"content":" })"},{"lineNumber":142,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" const server \u003d liveServer.start(serverConfig);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" server.addListener(\u0027listening\u0027, () \u003d\u003e {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" const address \u003d server.address();"},{"lineNumber":146,"author":{"gitId":"LamJiuFong"},"content":" const serveHost \u003d address.address;"},{"lineNumber":147,"author":{"gitId":"LamJiuFong"},"content":" const servePort \u003d address.port;"},{"lineNumber":148,"author":{"gitId":"LamJiuFong"},"content":" const serveURL \u003d `http://${serveHost}:${servePort}`;"},{"lineNumber":149,"author":{"gitId":"-"},"content":" logger.info(`Serving \"${outputFolder}\" at ${serveURL}`);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" logger.info(\u0027Press CTRL+C to stop ...\u0027);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" });"},{"lineNumber":152,"author":{"gitId":"-"},"content":" })"},{"lineNumber":153,"author":{"gitId":"-"},"content":" .catch((error) \u003d\u003e {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" logger.error(error.message);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" process.exitCode \u003d 1;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" });"},{"lineNumber":157,"author":{"gitId":"-"},"content":"}"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":"module.exports \u003d {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" serve,"},{"lineNumber":161,"author":{"gitId":"-"},"content":"};"}],"authorContributionMap":{"LamJiuFong":35,"-":126}},{"path":"packages/cli/src/lib/live-server/index.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"#!/usr/bin/env node"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"/*"},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Patch for live-server to expose websocket clients for external use in order to keep track"},{"lineNumber":5,"author":{"gitId":"-"},"content":" * of opened tabs."},{"lineNumber":6,"author":{"gitId":"-"},"content":" *"},{"lineNumber":7,"author":{"gitId":"-"},"content":" * live-server locally keeps track of opened client websockets in order for it to be able"},{"lineNumber":8,"author":{"gitId":"-"},"content":" * to perform live reload whenever there are changes in the watched directory. However, the"},{"lineNumber":9,"author":{"gitId":"-"},"content":" * clients list is stored internally."},{"lineNumber":10,"author":{"gitId":"-"},"content":" *"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * This patch allows us to gain access to the information that can be gathered with the client"},{"lineNumber":12,"author":{"gitId":"-"},"content":" * websockets, which in turn enables the support for multiple-tab development."},{"lineNumber":13,"author":{"gitId":"-"},"content":" *"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Patch is written against live-server v1.2.1"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * The **only** changes are prefaced with a CHANGED comment"},{"lineNumber":16,"author":{"gitId":"-"},"content":" */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"var fs \u003d require(\u0027fs\u0027),"},{"lineNumber":19,"author":{"gitId":"-"},"content":" connect \u003d require(\u0027connect\u0027),"},{"lineNumber":20,"author":{"gitId":"-"},"content":" serveIndex \u003d require(\u0027serve-index\u0027),"},{"lineNumber":21,"author":{"gitId":"-"},"content":" logger \u003d require(\u0027morgan\u0027),"},{"lineNumber":22,"author":{"gitId":"-"},"content":" WebSocket \u003d require(\u0027faye-websocket\u0027),"},{"lineNumber":23,"author":{"gitId":"-"},"content":" path \u003d require(\u0027path\u0027),"},{"lineNumber":24,"author":{"gitId":"-"},"content":" parse \u003d require(\u0027url-parse\u0027),"},{"lineNumber":25,"author":{"gitId":"-"},"content":" http \u003d require(\u0027http\u0027),"},{"lineNumber":26,"author":{"gitId":"-"},"content":" send \u003d require(\u0027send\u0027),"},{"lineNumber":27,"author":{"gitId":"-"},"content":" open \u003d require(\u0027opn\u0027),"},{"lineNumber":28,"author":{"gitId":"-"},"content":" es \u003d require(\"event-stream\"),"},{"lineNumber":29,"author":{"gitId":"-"},"content":" os \u003d require(\u0027os\u0027),"},{"lineNumber":30,"author":{"gitId":"-"},"content":" chokidar \u003d require(\u0027chokidar\u0027),"},{"lineNumber":31,"author":{"gitId":"-"},"content":" // CHANGED: added MarkBind\u0027s core fsUtil package"},{"lineNumber":32,"author":{"gitId":"-"},"content":" fsUtil \u003d require(\u0027@markbind/core/src/utils/fsUtil\u0027);"},{"lineNumber":33,"author":{"gitId":"-"},"content":"require(\u0027colors\u0027);"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"// CHANGED: added absolute path that directs to the live-server directory"},{"lineNumber":36,"author":{"gitId":"-"},"content":"const pathToLiveServerDir \u003d path.dirname(require.resolve(\u0027live-server\u0027));"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"// CHANGED: correctly resolve to the live-server directory"},{"lineNumber":39,"author":{"gitId":"-"},"content":"var INJECTED_CODE \u003d fs.readFileSync(path.join(pathToLiveServerDir, \"injected.html\"), \"utf8\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"var LiveServer \u003d {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" server: null,"},{"lineNumber":43,"author":{"gitId":"-"},"content":" watcher: null,"},{"lineNumber":44,"author":{"gitId":"-"},"content":" logLevel: 2,"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" // CHANGED: added properties relevant to MarkBind live-preview"},{"lineNumber":47,"author":{"gitId":"-"},"content":" activeTabs: [],"},{"lineNumber":48,"author":{"gitId":"-"},"content":" baseUrl: \u0027\u0027,"},{"lineNumber":49,"author":{"gitId":"-"},"content":"};"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":"function escape(html){"},{"lineNumber":52,"author":{"gitId":"-"},"content":" return String(html)"},{"lineNumber":53,"author":{"gitId":"-"},"content":" .replace(/\u0026(?!\\w+;)/g, \u0027\u0026amp;\u0027)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .replace(/\u003c/g, \u0027\u0026lt;\u0027)"},{"lineNumber":55,"author":{"gitId":"-"},"content":" .replace(/\u003e/g, \u0027\u0026gt;\u0027)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" .replace(/\"/g, \u0027\u0026quot;\u0027);"},{"lineNumber":57,"author":{"gitId":"-"},"content":"}"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"// Based on connect.static(), but streamlined and with added code injecter"},{"lineNumber":60,"author":{"gitId":"-"},"content":"function staticServer(root) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" var isFile \u003d false;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" try { // For supporting mounting files instead of just directories"},{"lineNumber":63,"author":{"gitId":"-"},"content":" isFile \u003d fs.statSync(root).isFile();"},{"lineNumber":64,"author":{"gitId":"-"},"content":" } catch (e) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (e.code !\u003d\u003d \"ENOENT\") throw e;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":" return function(req, res, next) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" if (req.method !\u003d\u003d \u0027GET\u0027 \u0026\u0026 req.method !\u003d\u003d \u0027HEAD\u0027) return next();"},{"lineNumber":69,"author":{"gitId":"-"},"content":" const reqpath \u003d isFile ? \"\" : parse(req.url).pathname;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" var hasNoOrigin \u003d !req.headers.origin;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" var injectCandidates \u003d [ new RegExp(\"\u003c/body\u003e\", \"i\"), new RegExp(\"\u003c/svg\u003e\"), new RegExp(\"\u003c/head\u003e\", \"i\")];"},{"lineNumber":72,"author":{"gitId":"-"},"content":" var injectTag \u003d null;"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" function directory() {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" var pathname \u003d parse(req.url).pathname;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" res.statusCode \u003d 301;"},{"lineNumber":77,"author":{"gitId":"-"},"content":" res.setHeader(\u0027Location\u0027, pathname + \u0027/\u0027);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" res.end(\u0027Redirecting to \u0027 + escape(pathname) + \u0027/\u0027);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" function file(filepath /*, stat*/) {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" var x \u003d path.extname(filepath).toLocaleLowerCase(), match,"},{"lineNumber":83,"author":{"gitId":"-"},"content":" possibleExtensions \u003d [ \"\", \".html\", \".htm\", \".xhtml\", \".php\", \".svg\" ];"},{"lineNumber":84,"author":{"gitId":"-"},"content":" if (hasNoOrigin \u0026\u0026 (possibleExtensions.indexOf(x) \u003e -1)) {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" // TODO: Sync file read here is not nice, but we need to determine if the html should be injected or not"},{"lineNumber":86,"author":{"gitId":"-"},"content":" var contents \u003d fs.readFileSync(filepath, \"utf8\");"},{"lineNumber":87,"author":{"gitId":"-"},"content":" for (var i \u003d 0; i \u003c injectCandidates.length; ++i) {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" match \u003d injectCandidates[i].exec(contents);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" if (match) {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" injectTag \u003d match[0];"},{"lineNumber":91,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" if (injectTag \u003d\u003d\u003d null \u0026\u0026 LiveServer.logLevel \u003e\u003d 3) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" console.warn(\"Failed to inject refresh script!\".yellow,"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \"Couldn\u0027t find any of the tags \", injectCandidates, \"from\", filepath);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" function error(err) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" if (err.status \u003d\u003d\u003d 404) return next();"},{"lineNumber":104,"author":{"gitId":"-"},"content":" next(err);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" function inject(stream) {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" if (injectTag) {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" // We need to modify the length given to browser"},{"lineNumber":110,"author":{"gitId":"-"},"content":" var len \u003d INJECTED_CODE.length + res.getHeader(\u0027Content-Length\u0027);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" res.setHeader(\u0027Content-Length\u0027, len);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" var originalPipe \u003d stream.pipe;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" stream.pipe \u003d function(resp) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" originalPipe.call(stream, es.replace(new RegExp(injectTag, \"i\"), INJECTED_CODE + injectTag)).pipe(resp);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" };"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" send(req, reqpath, { root: root })"},{"lineNumber":120,"author":{"gitId":"-"},"content":" .on(\u0027error\u0027, error)"},{"lineNumber":121,"author":{"gitId":"-"},"content":" .on(\u0027directory\u0027, directory)"},{"lineNumber":122,"author":{"gitId":"-"},"content":" .on(\u0027file\u0027, file)"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .on(\u0027stream\u0027, inject)"},{"lineNumber":124,"author":{"gitId":"-"},"content":" .pipe(res);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" };"},{"lineNumber":126,"author":{"gitId":"-"},"content":"}"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":129,"author":{"gitId":"-"},"content":" * Rewrite request URL and pass it back to the static handler."},{"lineNumber":130,"author":{"gitId":"-"},"content":" * @param staticHandler {function} Next handler"},{"lineNumber":131,"author":{"gitId":"-"},"content":" * @param file {string} Path to the entry point file"},{"lineNumber":132,"author":{"gitId":"-"},"content":" */"},{"lineNumber":133,"author":{"gitId":"-"},"content":"function entryPoint(staticHandler, file) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" if (!file) return function(req, res, next) { next(); };"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" return function(req, res, next) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" req.url \u003d \"/\" + file;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" staticHandler(req, res, next);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" };"},{"lineNumber":140,"author":{"gitId":"-"},"content":"}"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Start a live server with parameters given as an object"},{"lineNumber":144,"author":{"gitId":"LamJiuFong"},"content":" * @param host {string} Address to bind to (default: 127.0.0.1)"},{"lineNumber":145,"author":{"gitId":"-"},"content":" * @param port {number} Port number (default: 8080)"},{"lineNumber":146,"author":{"gitId":"-"},"content":" * @param root {string} Path to root directory (default: cwd)"},{"lineNumber":147,"author":{"gitId":"-"},"content":" * @param watch {array} Paths to exclusively watch for changes"},{"lineNumber":148,"author":{"gitId":"-"},"content":" * @param ignore {array} Paths to ignore when watching files for changes"},{"lineNumber":149,"author":{"gitId":"-"},"content":" * @param ignorePattern {regexp} Ignore files by RegExp"},{"lineNumber":150,"author":{"gitId":"-"},"content":" * @param noCssInject Don\u0027t inject CSS changes, just reload as with any other file change"},{"lineNumber":151,"author":{"gitId":"-"},"content":" * @param open {(string|string[])} Subpath(s) to open in browser, use false to suppress launch (default: server root)"},{"lineNumber":152,"author":{"gitId":"-"},"content":" * @param mount {array} Mount directories onto a route, e.g. [[\u0027/components\u0027, \u0027./node_modules\u0027]]."},{"lineNumber":153,"author":{"gitId":"-"},"content":" * @param logLevel {number} 0 \u003d errors only, 1 \u003d some, 2 \u003d lots"},{"lineNumber":154,"author":{"gitId":"-"},"content":" * @param file {string} Path to the entry point file"},{"lineNumber":155,"author":{"gitId":"-"},"content":" * @param wait {number} Server will wait for all changes, before reloading"},{"lineNumber":156,"author":{"gitId":"-"},"content":" * @param htpasswd {string} Path to htpasswd file to enable HTTP Basic authentication"},{"lineNumber":157,"author":{"gitId":"-"},"content":" * @param middleware {array} Append middleware to stack, e.g. [function(req, res, next) { next(); }]."},{"lineNumber":158,"author":{"gitId":"-"},"content":" */"},{"lineNumber":159,"author":{"gitId":"-"},"content":"LiveServer.start \u003d function(options) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" options \u003d options || {};"},{"lineNumber":161,"author":{"gitId":"LamJiuFong"},"content":" var host \u003d options.host ?? \u0027127.0.0.1\u0027;"},{"lineNumber":162,"author":{"gitId":"LamJiuFong"},"content":" var port \u003d options.port ?? 8080; // 0 means random"},{"lineNumber":163,"author":{"gitId":"-"},"content":" var root \u003d options.root || process.cwd();"},{"lineNumber":164,"author":{"gitId":"-"},"content":" var mount \u003d options.mount || [];"},{"lineNumber":165,"author":{"gitId":"-"},"content":" var watchPaths \u003d options.watch || [root];"},{"lineNumber":166,"author":{"gitId":"-"},"content":" LiveServer.logLevel \u003d options.logLevel \u003d\u003d\u003d undefined ? 2 : options.logLevel;"},{"lineNumber":167,"author":{"gitId":"-"},"content":" var openPath \u003d (options.open \u003d\u003d\u003d undefined || options.open \u003d\u003d\u003d true) ?"},{"lineNumber":168,"author":{"gitId":"-"},"content":" \"\" : ((options.open \u003d\u003d\u003d null || options.open \u003d\u003d\u003d false) ? null : options.open);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" if (options.noBrowser) openPath \u003d null; // Backwards compatibility with 0.7.0"},{"lineNumber":170,"author":{"gitId":"-"},"content":" var file \u003d options.file;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" var staticServerHandler \u003d staticServer(root);"},{"lineNumber":172,"author":{"gitId":"-"},"content":" var wait \u003d options.wait \u003d\u003d\u003d undefined ? 100 : options.wait;"},{"lineNumber":173,"author":{"gitId":"-"},"content":" var browser \u003d options.browser || null;"},{"lineNumber":174,"author":{"gitId":"-"},"content":" var htpasswd \u003d options.htpasswd || null;"},{"lineNumber":175,"author":{"gitId":"-"},"content":" var cors \u003d options.cors || false;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" var https \u003d options.https || null;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" var proxy \u003d options.proxy || [];"},{"lineNumber":178,"author":{"gitId":"-"},"content":" var middleware \u003d options.middleware || [];"},{"lineNumber":179,"author":{"gitId":"-"},"content":" var noCssInject \u003d options.noCssInject;"},{"lineNumber":180,"author":{"gitId":"-"},"content":" var httpsModule \u003d options.httpsModule;"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" if (httpsModule) {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" require.resolve(httpsModule);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" } catch (e) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" console.error((\"HTTPS module \\\"\" + httpsModule + \"\\\" you\u0027ve provided was not found.\").red);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" console.error(\"Did you do\", \"\\\"npm install \" + httpsModule + \"\\\"?\");"},{"lineNumber":188,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" httpsModule \u003d \"https\";"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" // Setup a web server"},{"lineNumber":195,"author":{"gitId":"-"},"content":" var app \u003d connect();"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" // Add logger. Level 2 logs only errors"},{"lineNumber":198,"author":{"gitId":"-"},"content":" if (LiveServer.logLevel \u003d\u003d\u003d 2) {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" app.use(logger(\u0027dev\u0027, {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" skip: function (req, res) { return res.statusCode \u003c 400; }"},{"lineNumber":201,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":202,"author":{"gitId":"-"},"content":" // Level 2 or above logs all requests"},{"lineNumber":203,"author":{"gitId":"-"},"content":" } else if (LiveServer.logLevel \u003e 2) {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" app.use(logger(\u0027dev\u0027));"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":" if (options.spa) {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" middleware.push(\"spa\");"},{"lineNumber":208,"author":{"gitId":"-"},"content":" }"},{"lineNumber":209,"author":{"gitId":"-"},"content":" // Add middleware"},{"lineNumber":210,"author":{"gitId":"-"},"content":" middleware.map(function(mw) {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" if (typeof mw \u003d\u003d\u003d \"string\") {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" var ext \u003d path.extname(mw).toLocaleLowerCase();"},{"lineNumber":213,"author":{"gitId":"-"},"content":" if (ext !\u003d\u003d \".js\") {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" // CHANGED: correctly resolve to the live-server directory"},{"lineNumber":215,"author":{"gitId":"-"},"content":" mw \u003d require(path.join(pathToLiveServerDir, \"middleware\", mw + \".js\"));"},{"lineNumber":216,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" mw \u003d require(mw);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":" app.use(mw);"},{"lineNumber":221,"author":{"gitId":"-"},"content":" });"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":" // Use http-auth if configured"},{"lineNumber":224,"author":{"gitId":"-"},"content":" if (htpasswd !\u003d\u003d null) {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" var auth \u003d require(\u0027http-auth\u0027);"},{"lineNumber":226,"author":{"gitId":"-"},"content":" var basic \u003d auth.basic({"},{"lineNumber":227,"author":{"gitId":"-"},"content":" realm: \"Please authorize\","},{"lineNumber":228,"author":{"gitId":"-"},"content":" file: htpasswd"},{"lineNumber":229,"author":{"gitId":"-"},"content":" });"},{"lineNumber":230,"author":{"gitId":"-"},"content":" app.use(auth.connect(basic));"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":" if (cors) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" app.use(require(\"cors\")({"},{"lineNumber":234,"author":{"gitId":"-"},"content":" origin: true, // reflecting request origin"},{"lineNumber":235,"author":{"gitId":"-"},"content":" credentials: true // allowing requests with credentials"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":" mount.forEach(function(mountRule) {"},{"lineNumber":239,"author":{"gitId":"-"},"content":" var mountPath \u003d path.resolve(process.cwd(), mountRule[1]);"},{"lineNumber":240,"author":{"gitId":"-"},"content":" if (!options.watch) // Auto add mount paths to wathing but only if exclusive path option is not given"},{"lineNumber":241,"author":{"gitId":"-"},"content":" watchPaths.push(mountPath);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" app.use(mountRule[0], staticServer(mountPath));"},{"lineNumber":243,"author":{"gitId":"-"},"content":" if (LiveServer.logLevel \u003e\u003d 1)"},{"lineNumber":244,"author":{"gitId":"-"},"content":" console.log(\u0027Mapping %s to \"%s\"\u0027, mountRule[0], mountPath);"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" // CHANGED: added baseUrl initialization based on the first mount rule"},{"lineNumber":247,"author":{"gitId":"-"},"content":" if (LiveServer.baseUrl \u003d\u003d\u003d \u0027\u0027) {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" LiveServer.baseUrl \u003d mountRule[0] || \u0027/\u0027;"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":250,"author":{"gitId":"-"},"content":" });"},{"lineNumber":251,"author":{"gitId":"-"},"content":" proxy.forEach(function(proxyRule) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" var proxyOpts \u003d parse(proxyRule[1]);"},{"lineNumber":253,"author":{"gitId":"-"},"content":" proxyOpts.via \u003d true;"},{"lineNumber":254,"author":{"gitId":"-"},"content":" proxyOpts.preserveHost \u003d true;"},{"lineNumber":255,"author":{"gitId":"-"},"content":" app.use(proxyRule[0], require(\u0027proxy-middleware\u0027)(proxyOpts));"},{"lineNumber":256,"author":{"gitId":"-"},"content":" if (LiveServer.logLevel \u003e\u003d 1)"},{"lineNumber":257,"author":{"gitId":"-"},"content":" console.log(\u0027Mapping %s to \"%s\"\u0027, proxyRule[0], proxyRule[1]);"},{"lineNumber":258,"author":{"gitId":"-"},"content":" });"},{"lineNumber":259,"author":{"gitId":"-"},"content":" app.use(staticServerHandler) // Custom static server"},{"lineNumber":260,"author":{"gitId":"-"},"content":" .use(entryPoint(staticServerHandler, file))"},{"lineNumber":261,"author":{"gitId":"-"},"content":" .use(serveIndex(root, { icons: true }));"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" var server, protocol;"},{"lineNumber":264,"author":{"gitId":"-"},"content":" if (https !\u003d\u003d null) {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" var httpsConfig \u003d https;"},{"lineNumber":266,"author":{"gitId":"-"},"content":" if (typeof https \u003d\u003d\u003d \"string\") {"},{"lineNumber":267,"author":{"gitId":"-"},"content":" httpsConfig \u003d require(path.resolve(process.cwd(), https));"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":" server \u003d require(httpsModule).createServer(httpsConfig, app);"},{"lineNumber":270,"author":{"gitId":"-"},"content":" protocol \u003d \"https\";"},{"lineNumber":271,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" server \u003d http.createServer(app);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" protocol \u003d \"http\";"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" // Handle server startup errors"},{"lineNumber":277,"author":{"gitId":"-"},"content":" server.addListener(\u0027error\u0027, function(e) {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" if (e.code \u003d\u003d\u003d \u0027EADDRINUSE\u0027) {"},{"lineNumber":279,"author":{"gitId":"-"},"content":" var serveURL \u003d protocol + \u0027://\u0027 + host + \u0027:\u0027 + port;"},{"lineNumber":280,"author":{"gitId":"-"},"content":" console.log(\u0027%s is already in use. Trying another port.\u0027.yellow, serveURL);"},{"lineNumber":281,"author":{"gitId":"-"},"content":" setTimeout(function() {"},{"lineNumber":282,"author":{"gitId":"-"},"content":" server.listen(0, host);"},{"lineNumber":283,"author":{"gitId":"-"},"content":" }, 1000);"},{"lineNumber":284,"author":{"gitId":"LamJiuFong"},"content":" } else if (e.code \u003d\u003d\u003d \u0027EADDRNOTAVAIL\u0027) {"},{"lineNumber":285,"author":{"gitId":"LamJiuFong"},"content":" console.log(\u0027%s is not available. Trying another address\u0027.yellow, host);"},{"lineNumber":286,"author":{"gitId":"LamJiuFong"},"content":" setTimeout(function() {"},{"lineNumber":287,"author":{"gitId":"LamJiuFong"},"content":" server.listen(port, \u0027127.0.0.1\u0027);"},{"lineNumber":288,"author":{"gitId":"LamJiuFong"},"content":" }, 1000);"},{"lineNumber":289,"author":{"gitId":"LamJiuFong"},"content":" }"},{"lineNumber":290,"author":{"gitId":"LamJiuFong"},"content":" else {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" console.error(e.toString().red);"},{"lineNumber":292,"author":{"gitId":"-"},"content":" LiveServer.shutdown();"},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":" });"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":" // Handle successful server"},{"lineNumber":297,"author":{"gitId":"-"},"content":" server.addListener(\u0027listening\u0027, function(/*e*/) {"},{"lineNumber":298,"author":{"gitId":"-"},"content":" LiveServer.server \u003d server;"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" var address \u003d server.address();"},{"lineNumber":301,"author":{"gitId":"LamJiuFong"},"content":" var serveHost \u003d address.address;"},{"lineNumber":302,"author":{"gitId":"LamJiuFong"},"content":" var openHost \u003d host;"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" var serveURL \u003d protocol + \u0027://\u0027 + serveHost + \u0027:\u0027 + address.port;"},{"lineNumber":305,"author":{"gitId":"-"},"content":" var openURL \u003d protocol + \u0027://\u0027 + openHost + \u0027:\u0027 + address.port;"},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":" var serveURLs \u003d [ serveURL ];"},{"lineNumber":308,"author":{"gitId":"-"},"content":" if (LiveServer.logLevel \u003e 2 \u0026\u0026 address.address \u003d\u003d\u003d \"0.0.0.0\") {"},{"lineNumber":309,"author":{"gitId":"-"},"content":" var ifaces \u003d os.networkInterfaces();"},{"lineNumber":310,"author":{"gitId":"-"},"content":" serveURLs \u003d Object.keys(ifaces)"},{"lineNumber":311,"author":{"gitId":"-"},"content":" .map(function(iface) {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" return ifaces[iface];"},{"lineNumber":313,"author":{"gitId":"-"},"content":" })"},{"lineNumber":314,"author":{"gitId":"-"},"content":" // flatten address data, use only IPv4"},{"lineNumber":315,"author":{"gitId":"-"},"content":" .reduce(function(data, addresses) {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" addresses.filter(function(addr) {"},{"lineNumber":317,"author":{"gitId":"-"},"content":" return addr.family \u003d\u003d\u003d \"IPv4\";"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }).forEach(function(addr) {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" data.push(addr);"},{"lineNumber":320,"author":{"gitId":"-"},"content":" });"},{"lineNumber":321,"author":{"gitId":"-"},"content":" return data;"},{"lineNumber":322,"author":{"gitId":"-"},"content":" }, [])"},{"lineNumber":323,"author":{"gitId":"-"},"content":" .map(function(addr) {"},{"lineNumber":324,"author":{"gitId":"-"},"content":" return protocol + \"://\" + addr.address + \":\" + address.port;"},{"lineNumber":325,"author":{"gitId":"-"},"content":" });"},{"lineNumber":326,"author":{"gitId":"-"},"content":" }"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" // Output"},{"lineNumber":329,"author":{"gitId":"-"},"content":" if (LiveServer.logLevel \u003e\u003d 1) {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" if (serveURL \u003d\u003d\u003d openURL)"},{"lineNumber":331,"author":{"gitId":"-"},"content":" if (serveURLs.length \u003d\u003d\u003d 1) {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" console.log((\"Serving \\\"%s\\\" at %s\").green, root, serveURLs[0]);"},{"lineNumber":333,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":334,"author":{"gitId":"-"},"content":" console.log((\"Serving \\\"%s\\\" at\\n\\t%s\").green, root, serveURLs.join(\"\\n\\t\"));"},{"lineNumber":335,"author":{"gitId":"-"},"content":" }"},{"lineNumber":336,"author":{"gitId":"-"},"content":" else"},{"lineNumber":337,"author":{"gitId":"-"},"content":" console.log((\"Serving \\\"%s\\\" at %s (%s)\").green, root, openURL, serveURL);"},{"lineNumber":338,"author":{"gitId":"-"},"content":" }"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" // Launch browser"},{"lineNumber":341,"author":{"gitId":"-"},"content":" if (openPath !\u003d\u003d null)"},{"lineNumber":342,"author":{"gitId":"-"},"content":" if (typeof openPath \u003d\u003d\u003d \"object\") {"},{"lineNumber":343,"author":{"gitId":"-"},"content":" openPath.forEach(function(p) {"},{"lineNumber":344,"author":{"gitId":"-"},"content":" open(openURL + p, {app: browser});"},{"lineNumber":345,"author":{"gitId":"-"},"content":" });"},{"lineNumber":346,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":347,"author":{"gitId":"-"},"content":" open(openURL + openPath, {app: browser});"},{"lineNumber":348,"author":{"gitId":"-"},"content":" }"},{"lineNumber":349,"author":{"gitId":"-"},"content":" });"},{"lineNumber":350,"author":{"gitId":"-"},"content":""},{"lineNumber":351,"author":{"gitId":"-"},"content":" // Setup server to listen at port"},{"lineNumber":352,"author":{"gitId":"-"},"content":" server.listen(port, host);"},{"lineNumber":353,"author":{"gitId":"-"},"content":" "},{"lineNumber":354,"author":{"gitId":"-"},"content":" // WebSocket"},{"lineNumber":355,"author":{"gitId":"-"},"content":" // CHANGED: Removed local clients variable in favour of the clients in active tabs entries"},{"lineNumber":356,"author":{"gitId":"-"},"content":" server.addListener(\u0027upgrade\u0027, function(request, socket, head) {"},{"lineNumber":357,"author":{"gitId":"-"},"content":" var ws \u003d new WebSocket(request, socket, head);"},{"lineNumber":358,"author":{"gitId":"-"},"content":" ws.onopen \u003d function() { ws.send(\u0027connected\u0027); };"},{"lineNumber":359,"author":{"gitId":"-"},"content":""},{"lineNumber":360,"author":{"gitId":"-"},"content":" if (wait \u003e 0) {"},{"lineNumber":361,"author":{"gitId":"-"},"content":" (function() {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" var wssend \u003d ws.send;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" var waitTimeout;"},{"lineNumber":364,"author":{"gitId":"-"},"content":" ws.send \u003d function() {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" var args \u003d arguments;"},{"lineNumber":366,"author":{"gitId":"-"},"content":" if (waitTimeout) clearTimeout(waitTimeout);"},{"lineNumber":367,"author":{"gitId":"-"},"content":" waitTimeout \u003d setTimeout(function(){"},{"lineNumber":368,"author":{"gitId":"-"},"content":" wssend.apply(ws, args);"},{"lineNumber":369,"author":{"gitId":"-"},"content":" }, wait);"},{"lineNumber":370,"author":{"gitId":"-"},"content":" };"},{"lineNumber":371,"author":{"gitId":"-"},"content":" })();"},{"lineNumber":372,"author":{"gitId":"-"},"content":" }"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":" ws.onclose \u003d function() {"},{"lineNumber":375,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":376,"author":{"gitId":"-"},"content":" * CHANGED: Modified to remove the active tab that has the closed socket as"},{"lineNumber":377,"author":{"gitId":"-"},"content":" * its current client on socket close. In other words, only socket close event that"},{"lineNumber":378,"author":{"gitId":"-"},"content":" * does not come from live reload will remove the active tab."},{"lineNumber":379,"author":{"gitId":"-"},"content":" */"},{"lineNumber":380,"author":{"gitId":"-"},"content":" LiveServer.activeTabs \u003d LiveServer.activeTabs.filter(tab \u003d\u003e tab.client !\u003d\u003d ws);"},{"lineNumber":381,"author":{"gitId":"-"},"content":" };"},{"lineNumber":382,"author":{"gitId":"-"},"content":""},{"lineNumber":383,"author":{"gitId":"-"},"content":" // CHANGED: Enhanced client websocket addition process to record the client as an active tab entry"},{"lineNumber":384,"author":{"gitId":"-"},"content":" const reqUrl \u003d path.dirname(request.url);"},{"lineNumber":385,"author":{"gitId":"-"},"content":" const normalizedUrl \u003d fsUtil.ensurePosix(path.relative(LiveServer.baseUrl, reqUrl));"},{"lineNumber":386,"author":{"gitId":"-"},"content":""},{"lineNumber":387,"author":{"gitId":"-"},"content":" // If an entry with empty client is present, reuse existing entry to maintain order from pre-reload "},{"lineNumber":388,"author":{"gitId":"-"},"content":" const existingTab \u003d LiveServer.activeTabs.find(tab \u003d\u003e tab.url \u003d\u003d\u003d normalizedUrl \u0026\u0026 !tab.client);"},{"lineNumber":389,"author":{"gitId":"-"},"content":" if (existingTab) {"},{"lineNumber":390,"author":{"gitId":"-"},"content":" existingTab.client \u003d ws;"},{"lineNumber":391,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":392,"author":{"gitId":"-"},"content":" }"},{"lineNumber":393,"author":{"gitId":"-"},"content":""},{"lineNumber":394,"author":{"gitId":"-"},"content":" // Insert new entry to the active tabs list"},{"lineNumber":395,"author":{"gitId":"-"},"content":" LiveServer.activeTabs.unshift({ url: normalizedUrl, client: ws });"},{"lineNumber":396,"author":{"gitId":"-"},"content":" });"},{"lineNumber":397,"author":{"gitId":"-"},"content":""},{"lineNumber":398,"author":{"gitId":"-"},"content":" var ignored \u003d ["},{"lineNumber":399,"author":{"gitId":"-"},"content":" function(testPath) { // Always ignore dotfiles (important e.g. because editor hidden temp files)"},{"lineNumber":400,"author":{"gitId":"-"},"content":" return testPath !\u003d\u003d \".\" \u0026\u0026 /(^[.#]|(?:__|~)$)/.test(path.basename(testPath));"},{"lineNumber":401,"author":{"gitId":"-"},"content":" }"},{"lineNumber":402,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":403,"author":{"gitId":"-"},"content":" if (options.ignore) {"},{"lineNumber":404,"author":{"gitId":"-"},"content":" ignored \u003d ignored.concat(options.ignore);"},{"lineNumber":405,"author":{"gitId":"-"},"content":" }"},{"lineNumber":406,"author":{"gitId":"-"},"content":" if (options.ignorePattern) {"},{"lineNumber":407,"author":{"gitId":"-"},"content":" ignored.push(options.ignorePattern);"},{"lineNumber":408,"author":{"gitId":"-"},"content":" }"},{"lineNumber":409,"author":{"gitId":"-"},"content":" // Setup file watcher"},{"lineNumber":410,"author":{"gitId":"-"},"content":" LiveServer.watcher \u003d chokidar.watch(watchPaths, {"},{"lineNumber":411,"author":{"gitId":"-"},"content":" ignored: ignored,"},{"lineNumber":412,"author":{"gitId":"-"},"content":" ignoreInitial: true"},{"lineNumber":413,"author":{"gitId":"-"},"content":" });"},{"lineNumber":414,"author":{"gitId":"-"},"content":" function handleChange(changePath) {"},{"lineNumber":415,"author":{"gitId":"-"},"content":" var cssChange \u003d path.extname(changePath) \u003d\u003d\u003d \".css\" \u0026\u0026 !noCssInject;"},{"lineNumber":416,"author":{"gitId":"-"},"content":" if (LiveServer.logLevel \u003e\u003d 1) {"},{"lineNumber":417,"author":{"gitId":"-"},"content":" if (cssChange)"},{"lineNumber":418,"author":{"gitId":"-"},"content":" console.log(\"CSS change detected\".magenta, changePath);"},{"lineNumber":419,"author":{"gitId":"-"},"content":" else console.log(\"Change detected\".cyan, changePath);"},{"lineNumber":420,"author":{"gitId":"-"},"content":" }"},{"lineNumber":421,"author":{"gitId":"-"},"content":""},{"lineNumber":422,"author":{"gitId":"-"},"content":" // CHANGED: Modified the send message to clients routine"},{"lineNumber":423,"author":{"gitId":"-"},"content":""},{"lineNumber":424,"author":{"gitId":"-"},"content":" if (cssChange) {"},{"lineNumber":425,"author":{"gitId":"-"},"content":" LiveServer.sendMessageToActiveTabs(\u0027refreshcss\u0027);"},{"lineNumber":426,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":427,"author":{"gitId":"-"},"content":" }"},{"lineNumber":428,"author":{"gitId":"-"},"content":""},{"lineNumber":429,"author":{"gitId":"-"},"content":" // Only reload active tabs if the changed file is opened in one of them"},{"lineNumber":430,"author":{"gitId":"-"},"content":" const normalizeUrl \u003d (url) \u003d\u003e {"},{"lineNumber":431,"author":{"gitId":"-"},"content":" if (!url || url.length \u003d\u003d\u003d 0) {"},{"lineNumber":432,"author":{"gitId":"-"},"content":" return \"index.html\";"},{"lineNumber":433,"author":{"gitId":"-"},"content":" }"},{"lineNumber":434,"author":{"gitId":"-"},"content":""},{"lineNumber":435,"author":{"gitId":"-"},"content":" if (path.extname(url) \u003d\u003d\u003d \u0027.html\u0027) {"},{"lineNumber":436,"author":{"gitId":"-"},"content":" return url;"},{"lineNumber":437,"author":{"gitId":"-"},"content":" }"},{"lineNumber":438,"author":{"gitId":"-"},"content":""},{"lineNumber":439,"author":{"gitId":"-"},"content":" return path.posix.join(url, \u0027index.html\u0027);"},{"lineNumber":440,"author":{"gitId":"-"},"content":" };"},{"lineNumber":441,"author":{"gitId":"-"},"content":""},{"lineNumber":442,"author":{"gitId":"-"},"content":" let normalizedPath \u003d fsUtil.ensurePosix(path.relative(root, changePath));"},{"lineNumber":443,"author":{"gitId":"-"},"content":" if (LiveServer.activeTabs.some(tab \u003d\u003e tab.client \u0026\u0026 normalizeUrl(tab.url) \u003d\u003d\u003d normalizedPath)) {"},{"lineNumber":444,"author":{"gitId":"-"},"content":" LiveServer.sendMessageToActiveTabs(\u0027reload\u0027);"},{"lineNumber":445,"author":{"gitId":"-"},"content":" }"},{"lineNumber":446,"author":{"gitId":"-"},"content":" }"},{"lineNumber":447,"author":{"gitId":"-"},"content":" LiveServer.watcher"},{"lineNumber":448,"author":{"gitId":"-"},"content":" .on(\"change\", handleChange)"},{"lineNumber":449,"author":{"gitId":"-"},"content":" .on(\"add\", handleChange)"},{"lineNumber":450,"author":{"gitId":"-"},"content":" .on(\"unlink\", handleChange)"},{"lineNumber":451,"author":{"gitId":"-"},"content":" .on(\"addDir\", handleChange)"},{"lineNumber":452,"author":{"gitId":"-"},"content":" .on(\"unlinkDir\", handleChange)"},{"lineNumber":453,"author":{"gitId":"-"},"content":" .on(\"ready\", function () {"},{"lineNumber":454,"author":{"gitId":"-"},"content":" if (LiveServer.logLevel \u003e\u003d 1)"},{"lineNumber":455,"author":{"gitId":"-"},"content":" console.log(\"Ready for changes\".cyan);"},{"lineNumber":456,"author":{"gitId":"-"},"content":" })"},{"lineNumber":457,"author":{"gitId":"-"},"content":" .on(\"error\", function (err) {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" console.log(\"ERROR:\".red, err);"},{"lineNumber":459,"author":{"gitId":"-"},"content":" });"},{"lineNumber":460,"author":{"gitId":"-"},"content":""},{"lineNumber":461,"author":{"gitId":"-"},"content":" return server;"},{"lineNumber":462,"author":{"gitId":"-"},"content":"};"},{"lineNumber":463,"author":{"gitId":"-"},"content":""},{"lineNumber":464,"author":{"gitId":"-"},"content":"LiveServer.shutdown \u003d function() {"},{"lineNumber":465,"author":{"gitId":"-"},"content":" var watcher \u003d LiveServer.watcher;"},{"lineNumber":466,"author":{"gitId":"-"},"content":" if (watcher) {"},{"lineNumber":467,"author":{"gitId":"-"},"content":" watcher.close();"},{"lineNumber":468,"author":{"gitId":"-"},"content":" }"},{"lineNumber":469,"author":{"gitId":"-"},"content":" var server \u003d LiveServer.server;"},{"lineNumber":470,"author":{"gitId":"-"},"content":" if (server)"},{"lineNumber":471,"author":{"gitId":"-"},"content":" server.close();"},{"lineNumber":472,"author":{"gitId":"-"},"content":"};"},{"lineNumber":473,"author":{"gitId":"-"},"content":""},{"lineNumber":474,"author":{"gitId":"-"},"content":"// CHANGED: Added method to retrieve current active urls"},{"lineNumber":475,"author":{"gitId":"-"},"content":"LiveServer.getActiveUrls \u003d () \u003d\u003e LiveServer.activeTabs.filter(tab \u003d\u003e tab.client).map(tab \u003d\u003e tab.url);"},{"lineNumber":476,"author":{"gitId":"-"},"content":""},{"lineNumber":477,"author":{"gitId":"-"},"content":"// CHANGED: Added method to send message to active tabs"},{"lineNumber":478,"author":{"gitId":"-"},"content":"LiveServer.sendMessageToActiveTabs \u003d (msg) \u003d\u003e {"},{"lineNumber":479,"author":{"gitId":"-"},"content":" LiveServer.activeTabs.forEach((tab) \u003d\u003e {"},{"lineNumber":480,"author":{"gitId":"-"},"content":" if (tab.client) {"},{"lineNumber":481,"author":{"gitId":"-"},"content":" const client \u003d tab.client;"},{"lineNumber":482,"author":{"gitId":"-"},"content":" if (msg \u003d\u003d\u003d \u0027reload\u0027) {"},{"lineNumber":483,"author":{"gitId":"-"},"content":" // Clear the client from the entry to be refilled in the socket establishment phase after reload"},{"lineNumber":484,"author":{"gitId":"-"},"content":" tab.client \u003d undefined;"},{"lineNumber":485,"author":{"gitId":"-"},"content":" }"},{"lineNumber":486,"author":{"gitId":"-"},"content":" client.send(msg);"},{"lineNumber":487,"author":{"gitId":"-"},"content":" }"},{"lineNumber":488,"author":{"gitId":"-"},"content":" });"},{"lineNumber":489,"author":{"gitId":"-"},"content":"}"},{"lineNumber":490,"author":{"gitId":"-"},"content":""},{"lineNumber":491,"author":{"gitId":"-"},"content":"// CHANGED: Added convenience method to reload all active tabs"},{"lineNumber":492,"author":{"gitId":"-"},"content":"LiveServer.reloadActiveTabs \u003d () \u003d\u003e LiveServer.sendMessageToActiveTabs(\u0027reload\u0027);"},{"lineNumber":493,"author":{"gitId":"-"},"content":""},{"lineNumber":494,"author":{"gitId":"-"},"content":"module.exports \u003d LiveServer;"}],"authorContributionMap":{"LamJiuFong":12,"-":482}},{"path":"packages/cli/test/functional/testSites.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"const testSites \u003d ["},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u0027test_site\u0027,"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u0027test_site_algolia_plugin\u0027,"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u0027test_site_special_tags\u0027,"},{"lineNumber":5,"author":{"gitId":"-"},"content":"];"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"const testConvertSites \u003d ["},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u0027test_site_convert/test_basic_convert\u0027,"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u0027test_site_convert/test_navigation_convert\u0027,"},{"lineNumber":10,"author":{"gitId":"-"},"content":"];"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"const testTemplateSites \u003d ["},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u0027minimal,test_site_templates/test_minimal\u0027,"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u0027default,test_site_templates/test_default\u0027,"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" \u0027project,test_site_templates/test_project\u0027,"},{"lineNumber":16,"author":{"gitId":"-"},"content":"];"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"// These files will be generated within test_site/expected/"},{"lineNumber":19,"author":{"gitId":"-"},"content":"// after running `npm run updatetest`. Due to the fact that"},{"lineNumber":20,"author":{"gitId":"-"},"content":"// these files create git diffs every time they are generated,"},{"lineNumber":21,"author":{"gitId":"-"},"content":"// we decided to not commit them to the repository."},{"lineNumber":22,"author":{"gitId":"-"},"content":"// However, we still want to verify that they are present."},{"lineNumber":23,"author":{"gitId":"-"},"content":"const plantumlGeneratedFilesForTestSites \u003d {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" test_site: ["},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u00279c9e77fc0a983cb6b592e65733787bec.png\u0027,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u0027inline-output.png\u0027,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u0027diagrams/activity.png\u0027,"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u0027diagrams/class.png\u0027,"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u0027diagrams/component.png\u0027,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u0027diagrams/object.png\u0027,"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u0027diagrams/sequence.png\u0027,"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u0027diagrams/state.png\u0027,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u0027diagrams/usecase.png\u0027,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u0027sub_site/inline-output/inline-puml-image.png\u0027,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":36,"author":{"gitId":"-"},"content":"};"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"const plantumlGeneratedFilesForConvertSites \u003d {};"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"const plantumlGeneratedFilesForTemplateSites \u003d {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" test_project: [\u0027diagrams/example.png\u0027],"},{"lineNumber":42,"author":{"gitId":"-"},"content":"};"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"module.exports \u003d {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" testSites,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" testConvertSites,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" testTemplateSites,"},{"lineNumber":48,"author":{"gitId":"-"},"content":" plantumlGeneratedFilesForTestSites,"},{"lineNumber":49,"author":{"gitId":"-"},"content":" plantumlGeneratedFilesForConvertSites,"},{"lineNumber":50,"author":{"gitId":"-"},"content":" plantumlGeneratedFilesForTemplateSites,"},{"lineNumber":51,"author":{"gitId":"-"},"content":"};"}],"authorContributionMap":{"KevinEyo1":1,"-":50}},{"path":"packages/cli/test/functional/test_site/expected/index.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027div\u0027,[_c(\u0027header\u0027,[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\",\"default-highlight-on\":\"sibling-or-child\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/\",\"title\":\"Home\"}},[_v(\"MarkBind Test Site\")])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs\")])])]),_v(\" \"),_m(0)],1),_v(\" \"),_m(1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_c(\u0027div\u0027,[_c(\u0027h2\u0027,{attrs:{\"id\":\"default-layout\"}},[_v(\"Default Layout\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#default-layout\",\"onclick\":\"event.stopPropagation()\"}})])])])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027div\u0027,[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs 🐛\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_c(\u0027h3\u0027,{attrs:{\"id\":\"testing-site-nav\"}},[_v(\"Testing Site-Nav\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#testing-site-nav\",\"onclick\":\"event.stopPropagation()\"}})])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027strong\u0027,[_v(\"Dropdown \")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-search\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" title ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Html within site-nav \"),_c(\u0027span\u0027,{staticStyle:{\"color\":\"red\"}},[_v(\"should\")]),_v(\" be displayed properly\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown title 📐\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027mark\u0027,[_v(\"Third Link\")]),_v(\" 📋\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Filler text \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-facetime-video\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" Youtube 📺\")]),_v(\" filler text\"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/watch?v\u003ddQw4w9WgXcQ\"}},[_v(\"The answer to everything in the universe\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027mark\u0027,[_v(\"Dropdown title\")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-comment\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown Title\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Hello Doge Hello Doge 🐶\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_c(\u0027strong\u0027,[_v(\"NESTED LINK\")]),_v(\" Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Test line break in navigation layout\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Nested line break text ✂️\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Nested line break href\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Nested Nested line break text ✂️\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested line break dropdown menu\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Line break item 2 📘\")])])])])])])],1)],1)])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"website-content\"},[_m(2),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_m(5),_v(\" \"),_m(6),_v(\" \"),_m(7),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Normal footnotes:\")]),_v(\"\\nHere is a footnote reference,\"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:footnotefn-1-1\"}},[_c(\u0027sup\u0027,{staticClass:\"footnote-ref\"},[_c(\u0027a\u0027,{attrs:{\"aria-describedby\":\"footnote-label\",\"href\":\"#fn-1-1\"}},[_v(\"[1]\")])])]),_v(\" and another.\"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:footnotefn-1-2\"}},[_c(\u0027sup\u0027,{staticClass:\"footnote-ref\"},[_c(\u0027a\u0027,{attrs:{\"aria-describedby\":\"footnote-label\",\"href\":\"#fn-1-2\"}},[_v(\"[2]\")])])])],1),_v(\" \"),_c(\u0027p\u0027,[_v(\"Here is a repeated footnote to \"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:footnotefn-1-1\"}},[_c(\u0027sup\u0027,{staticClass:\"footnote-ref\"},[_c(\u0027a\u0027,{attrs:{\"aria-describedby\":\"footnote-label\",\"href\":\"#fn-1-1\"}},[_v(\"[1:1]\")])])])],1),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Inline footnotes:\")]),_v(\"\\nHere is an inline note.\"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:footnotefn-1-3\"}},[_c(\u0027sup\u0027,{staticClass:\"footnote-ref\"},[_c(\u0027a\u0027,{attrs:{\"aria-describedby\":\"footnote-label\",\"href\":\"#fn-1-3\"}},[_v(\"[3]\")])])])],1)]),_v(\" \"),_m(8),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"text\"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:footnotefn-2-1\"}},[_c(\u0027sup\u0027,{staticClass:\"footnote-ref\"},[_c(\u0027a\u0027,{attrs:{\"aria-describedby\":\"footnote-label\",\"href\":\"#fn-2-1\"}},[_v(\"[1]\")])])]),_v(\", text2\"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:footnotefn-2-2\"}},[_c(\u0027sup\u0027,{staticClass:\"footnote-ref\"},[_c(\u0027a\u0027,{attrs:{\"aria-describedby\":\"footnote-label\",\"href\":\"#fn-2-2\"}},[_v(\"[2]\")])])])],1)]),_v(\" \"),_m(9),_v(\" \"),_c(\u0027div\u0027,[_v(\" front back \")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"arrayVarItem1\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"arrayVarItem2\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"nestedVarValue\")]),_v(\" \"),_m(10),_v(\" \"),_c(\u0027p\u0027,[_v(\"This variable can be referenced.\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"References can be several levels deep.\")]),_v(\" \"),_m(11),_v(\" \"),_c(\u0027p\u0027,[_v(\"Page Variable with Global Variable\")]),_v(\" \"),_m(12),_v(\" \"),_c(\u0027p\u0027,[_v(\"Global Variable Overriding Page Variable\")]),_v(\" \"),_m(13),_v(\" \"),_m(14),_v(\" \"),_m(15),_v(\" \"),_m(16),_v(\" \"),_m(17),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Panel with keyword\")])]},proxy:true}])},[_v(\" \"),_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"panel keyword\")])]),_v(\" \"),_m(18),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\",\"panelId\":\"panel-with-heading\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h1\u0027,{attrs:{\"id\":\"panel-with-heading\"}},[_v(\"Panel with heading\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-with-heading\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"panel keyword\")])]),_v(\" \"),_m(19),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\",\"panelId\":\"panel-without-heading-with-keyword\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h1\u0027,{attrs:{\"id\":\"panel-without-heading-with-keyword\"}},[_v(\"Panel without heading with keyword\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-without-heading-with-keyword\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027h1\u0027,{attrs:{\"id\":\"keyword-should-be-tagged-to-this-heading-not-the-panel-heading\"}},[_v(\"Keyword should be tagged to this heading, not the panel heading\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#keyword-should-be-tagged-to-this-heading-not-the-panel-heading\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"panel keyword\")])])]),_v(\" \"),_m(20),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"panelId\":\"panel-with-heading-with-keyword\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h1\u0027,{attrs:{\"id\":\"panel-with-heading-with-keyword\"}},[_v(\"Panel with heading with keyword\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-with-heading-with-keyword\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027h1\u0027,{attrs:{\"id\":\"keyword-should-be-tagged-to-the-panel-heading-not-this-heading\"}},[_v(\"Keyword should be tagged to the panel heading, not this heading\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#keyword-should-be-tagged-to-the-panel-heading-not-this-heading\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"panel keyword\")])])]),_v(\" \"),_m(21),_v(\" \"),_m(22),_v(\" \"),_m(23),_v(\" \"),_m(24),_v(\" \"),_m(25),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"Keyword with included heading\")]),_v(\" \"),_m(26),_v(\" \"),_m(27),_v(\" \"),_m(28),_v(\" \"),_m(29),_v(\" \"),_m(30),_v(\" \"),_m(31),_v(\" \"),_c(\u0027div\u0027,[_m(32),_v(\" \"),_m(33),_v(\" \"),_c(\u0027p\u0027,[_v(\"There are many techniques used during a requirements gathering. The following are some of the techniques.\")]),_v(\" \"),_m(34),_v(\" \"),_c(\u0027p\u0027,[_v(\"Brainstorming is a group activity designed to generate a large number of diverse and creative ideas for the solution\\nof a problem. In a brainstorming session there are no \\\"bad\\\" ideas.\\nThe aim is to generate ideas; not to validate them. Brainstorming encourages you to \\\"think outside the box\\\" and\\nput \\\"crazy\\\" ideas on the table without fear of rejection.\")]),_v(\" \"),_m(35),_v(\" \"),_c(\u0027p\u0027,[_v(\"Carefully designed questionnaires can be used to solicit responses and opinions from a large number of users regarding\\nany current system or a new innovation.\")]),_v(\" \"),_m(36),_v(\" \"),_c(\u0027p\u0027,[_v(\"Focus groups are a kind of informal interview within an interactive group setting.\\nA \"),_c(\u0027tooltip\u0027,{scopedSlots:_u([{key:\"content\",fn:function(){return [_v(\"e.g. potential users, beta testers\")]},proxy:true}])},[_v(\"group of people\")]),_v(\"\\nare asked about their understanding of a specific issue or a process.\\nFocus groups can bring out undiscovered conflicts and misunderstandings among stakeholder interests which can then be\\nresolved or clarified as necessary.\")],1)]),_v(\" \"),_m(37),_v(\" \"),_m(38),_v(\" \"),_m(39),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"name\":\"Boilerplate Referencing\"}},[_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/requirements/UserStories._include_.html\",\"no-close\":\"\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Boilerplate Includes\")])]},proxy:true}])})],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"name\":\"Referencing specified path in boilerplate\"}},[_m(40),_v(\" \"),_c(\u0027p\u0027,[_v(\"Like static include, pages within the site should be able to use files located in folders within boilerplate.\")]),_v(\" \"),_m(41),_v(\" \"),_m(42),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/requirements/NonFunctionalRequirements._include_.html\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Tested with the folllowing include\")])]},proxy:true}])})],1),_v(\" \"),_m(43),_v(\" \"),_m(44),_v(\" \"),_m(45),_v(\" \"),_m(46),_v(\" \"),_m(47),_v(\" \"),_m(48),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"This is a page from another MarkBind site.\\nThe purpose of this page is to ensure that reuse works as expected.\\nAll the following images should display correctly.\")]),_v(\" \"),_m(49),_v(\" \"),_c(\u0027p\u0027,[_v(\"PIC tags:\\n\"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"https://dummyimage.com/600x400/000/fff\"}})],1),_v(\" \"),_m(50),_v(\" \"),_m(51),_v(\" \"),_c(\u0027p\u0027,[_v(\"Within DIV tag:\")]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"imageTest\"}},[_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}})],1)]),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}})],1),_v(\" \"),_m(52),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"baseUrl in a nested sub-site should correctly evaluate to the nested sub-site\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The base url in the nested_sub_site is /test_site/sub_site/nested_sub_site.\")]),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"baseUrl in a nested sub-site page\u0027s include should correctly evaluate to the nested sub-site\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The base url in the nested_sub_site page\u0027s include is /test_site/sub_site/nested_sub_site.\")])])])]),_v(\" \"),_m(53),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"baseUrl in a sub site should correctly evaluate\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The base url in sub_site is /test_site/sub_site.\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Subsite including nested subsite:\")])]),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"baseUrl in a nested sub-site should correctly evaluate to the nested sub-site\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The base url in the nested_sub_site is /test_site/sub_site/nested_sub_site.\")]),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"baseUrl in a nested sub-site page\u0027s include should correctly evaluate to the nested sub-site\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The base url in the nested_sub_site page\u0027s include is /test_site/sub_site/nested_sub_site.\")])])])])],1)]),_v(\" \"),_m(54),_v(\" \"),_c(\u0027div\u0027,[_v(\"As we establish requirements, they should be recorded in some way for future reference,\\nusually called a requirement specification. Furthermore, it is advisable to show these requirements to stakeholders,\\nand refine requirements based on their feedback. The next phase is to convert requirements into a product\\nspecification that specifies how the product will address the requirements. \")]),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/requirements/SpecifyingRequirements._include_.html#preview\",\"type\":\"minimal\",\"fragment\":\"preview\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"same test with panels\")])])]},proxy:true}])}),_v(\" \"),_m(55),_v(\" \"),_m(56),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/requirements/testBaseUrlInIncludeSrc._include_.html\",\"type\":\"minimal\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"same test with panels\")])])]},proxy:true}])}),_v(\" \"),_m(57),_v(\" \"),_m(58),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/requirements/testBaseUrlInIncludeSrc._include_.html\",\"type\":\"minimal\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"same test with panels\")])])]},proxy:true}])}),_v(\" \"),_m(59),_v(\" \"),_m(60),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/sub_site/testBaseUrlInIncludeSrcSubSite._include_.html\",\"type\":\"minimal\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"same test with panels\")])])]},proxy:true}])}),_v(\" \"),_m(61),_v(\" \"),_m(62),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/sub_site/testBaseUrlInIncludeSrcSubSite._include_.html\",\"type\":\"minimal\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"same test with panels\")])])]},proxy:true}])}),_v(\" \"),_m(63),_v(\" \"),_m(64),_v(\" \"),_m(65),_v(\" \"),_m(66),_v(\" \"),_m(67),_v(\" \"),_m(68),_v(\" \"),_m(69),_v(\" \"),_m(70),_v(\" \"),_m(71),_v(\" \"),_m(72),_v(\" \"),_m(73),_v(\" \"),_c(\u0027panel\u0027,[_c(\u0027span\u0027,{staticClass:\"card-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_v(\"\\n Heading\\n \")])]),_v(\" \"),_m(74),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\",\"panelId\":\"panel-without-src-header\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-without-src-header\"}},[_v(\"Panel without src header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-without-src-header\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel without src content heading\")])])])]),_v(\" \"),_m(75),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/testPanels/PanelNormalSource._include_.html\",\"expanded\":\"\",\"panelId\":\"panel-with-normal-src-header\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-with-normal-src-header\"}},[_v(\"Panel with normal src header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-with-normal-src-header\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])}),_v(\" \"),_m(76),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/testPanels/PanelSourceContainsSegment._include_.html#segment\",\"expanded\":\"\",\"fragment\":\"segment\",\"panelId\":\"panel-with-src-from-a-page-segment-header\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-with-src-from-a-page-segment-header\"}},[_v(\"Panel with src from a page segment header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-with-src-from-a-page-segment-header\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])}),_v(\" \"),_m(77),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/testPanels/boilerTestPanel._include_.html\",\"expanded\":\"\",\"panelId\":\"boilerplate-referencing\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"boilerplate-referencing\"}},[_v(\"Boilerplate referencing\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#boilerplate-referencing\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])}),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/testPanelsDuplicate/boilerTestPanel._include_.html\",\"expanded\":\"\",\"panelId\":\"boilerplate-referencing-2\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"boilerplate-referencing-2\"}},[_v(\"Boilerplate referencing 2\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#boilerplate-referencing-2\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])}),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/testPanels/notInside._include_.html\",\"expanded\":\"\",\"panelId\":\"referencing-specified-path-in-boilerplate\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"referencing-specified-path-in-boilerplate\"}},[_v(\"Referencing specified path in boilerplate\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#referencing-specified-path-in-boilerplate\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])}),_v(\" \"),_m(78),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/testPanels/NestedPanel._include_.html\",\"expanded\":\"\",\"panelId\":\"outer-nested-panel\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"outer-nested-panel\"}},[_v(\"Outer nested panel\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#outer-nested-panel\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])}),_v(\" \"),_m(79),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\",\"panelId\":\"outer-nested-panel-without-src\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"outer-nested-panel-without-src\"}},[_v(\"Outer nested panel without src\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#outer-nested-panel-without-src\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel content of outer nested panel\")])]),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\",\"panelId\":\"inner-panel-header-without-src\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"inner-panel-header-without-src\"}},[_v(\"Inner panel header without src\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#inner-panel-header-without-src\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel content of inner nested panel\")])])])],1),_v(\" \"),_m(80),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/sub_site/index._include_.html\",\"expanded\":\"\",\"panelId\":\"panel-with-src-from-another-markbind-site-header\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-with-src-from-another-markbind-site-header\"}},[_v(\"Panel with src from another MarkBind site header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-with-src-from-another-markbind-site-header\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])}),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/sub_site/testReuseSubsite._include_.html\",\"expanded\":\"\",\"panelId\":\"panel-with-src-from-another-markbind-site-header-2\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-with-src-from-another-markbind-site-header-2\"}},[_v(\"Panel with src from another MarkBind site header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-with-src-from-another-markbind-site-header-2\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])})],1),_v(\" \"),_m(81),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027trigger\u0027,{attrs:{\"for\":\"modal-with-panel\"}},[_v(\"trigger\")])],1),_v(\" \"),_c(\u0027modal\u0027,{attrs:{\"id\":\"modal-with-panel\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_v(\"modal title with panel inside\")]},proxy:true}])},[_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\",\"panelId\":\"panel-inside-modal\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-inside-modal\"}},[_v(\"Panel inside modal\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-inside-modal\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel content inside modal\")])])])],1),_v(\" \"),_m(82),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"dismissible\":\"\"}},[_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027trigger\u0027,{attrs:{\"for\":\"modal-a\"}},[_v(\"modal trigger\")]),_v(\".\")],1),_v(\" \"),_c(\u0027modal\u0027,{attrs:{\"id\":\"modal-a\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_v(\"modal header\")]},proxy:true}])},[_v(\"\\n Lorem ipsum\\n\")])],1)]),_v(\" \"),_m(83),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"panelId\":\"unexpanded-panel-header\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"unexpanded-panel-header\"}},[_v(\"Unexpanded panel header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#unexpanded-panel-header\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel content of unexpanded panel should not appear in search data\")])]),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\",\"panelId\":\"panel-header-inside-unexpanded-panel-should-not-appear-in-search-data\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-header-inside-unexpanded-panel-should-not-appear-in-search-data\"}},[_v(\"Panel header inside unexpanded panel should not appear in search data\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-header-inside-unexpanded-panel-should-not-appear-in-search-data\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel content inside unexpanded panel should not appear in search data\")])])])],1),_v(\" \"),_m(84),_v(\" \"),_c(\u0027div\u0027,[_m(85),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"type\":\"info\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Expandable panel without closing transition\")])]},proxy:true}])},[_v(\"\\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n\")]),_v(\" \"),_m(86),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"type\":\"info\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Expanded panel without transition\")])]},proxy:true}])},[_v(\"\\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\\n\")]),_v(\" \"),_m(87),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"type\":\"minimal\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027em\u0027,[_c(\u0027strong\u0027,[_v(\"Minimal panel without closing transition \"),_c(\u0027strong\u0027,[_v(\"-\u003e\")])])])])]},proxy:true},{key:\"_alt\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Minimal panel 1\")])]},proxy:true}])},[_v(\"\\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n\")]),_v(\" \"),_m(88),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"type\":\"minimal\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027em\u0027,[_c(\u0027strong\u0027,[_v(\"Minimal panel without closing transition \"),_c(\u0027strong\u0027,[_v(\"-\u003e\")])])])])]},proxy:true},{key:\"_alt\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Minimal panel 2\")])]},proxy:true}])},[_v(\"\\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\\n\")])],1),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test popover has no stray space\")]),_v(\"\\n(\"),_c(\u0027popover\u0027,{scopedSlots:_u([{key:\"content\",fn:function(){return [_v(\"content\")]},proxy:true}])},[_v(\"There should be no stray space before this\")]),_v(\")\")],1),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test tooltip has no stray space\")]),_v(\"\\n(\"),_c(\u0027tooltip\u0027,{scopedSlots:_u([{key:\"content\",fn:function(){return [_v(\"content\")]},proxy:true}])},[_v(\"There should be no stray space before this\")]),_v(\")\")],1),_v(\" \"),_m(89),_v(\" \"),_m(90),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/activity.png\",\"alt\":\"activity diagram\"}}),_v(\" \"),_m(91),_v(\" \"),_c(\u0027div\u0027,[_m(92),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/inline-output.png\"}}),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/9c9e77fc0a983cb6b592e65733787bec.png\"}}),_v(\" \"),_m(93),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/sequence.png\"}}),_v(\" \"),_m(94),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/usecase.png\"}}),_v(\" \"),_m(95),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/class.png\"}})],1),_v(\" \"),_m(96),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/sub_site/inline-output/inline-puml-image.png\"}}),_v(\" \"),_m(97),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/activity.png\"}}),_v(\" \"),_m(98),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/component.png\"}}),_v(\" \"),_m(99),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/state.png\"}}),_v(\" \"),_m(100),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/object.png\"}})],1),_v(\" \"),_m(101),_v(\" \"),_m(102),_v(\" \"),_m(103),_v(\" \"),_c(\u0027div\u0027,{pre:true},[_v(\"{{ variable interpolation syntax can be used with v-pre }}\")]),_v(\" \"),_c(\u0027div\u0027,{pre:true},[_v(\"{{ nonExistentVariable }}\")]),_v(\" \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers\"}},[_v(\"{{ code elements should automatically be assigned v-pre }}\")]),_c(\u0027hr\u0027,{staticClass:\"footnotes-sep\"}),_v(\" \"),_c(\u0027section\u0027,{staticClass:\"footnotes\"},[_c(\u0027ol\u0027,{staticClass:\"footnotes-list\"},[_c(\u0027popover\u0027,{attrs:{\"id\":\"pop:footnotefn-1-1\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"Here is the footnote. Footnotes will appear at the bottom of the page.\")])])]},proxy:true}])}),_c(\u0027popover\u0027,{attrs:{\"id\":\"pop:footnotefn-1-2\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"Here\u0027s one with multiple blocks.\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Subsequent paragraphs are indented to show that they\\nbelong to the previous footnote.\")])])]},proxy:true}])}),_c(\u0027popover\u0027,{attrs:{\"id\":\"pop:footnotefn-1-3\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"Inlines notes are easier to write, since\\nyou don\u0027t have to pick an identifier and move down to type the\\nnote.\")])])]},proxy:true}])}),_v(\" \"),_m(104),_v(\" \"),_m(105),_v(\" \"),_m(106),_v(\" \"),_c(\u0027popover\u0027,{attrs:{\"id\":\"pop:footnotefn-2-1\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"footnote1\")])])]},proxy:true}])}),_c(\u0027popover\u0027,{attrs:{\"id\":\"pop:footnotefn-2-2\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"footnote2\")])])]},proxy:true}])}),_v(\" \"),_m(107),_m(108)],1)])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"navbar-brand page-nav-title\",\"href\":\"#\"}},[_v(\"Testing Page Navigation\")]),_v(\" \"),_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#heading-with-multiple-keywords\"}},[_v(\"Heading with multiple keywords‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#heading-with-keyword-in-panel\"}},[_v(\"Heading with keyword in panel‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-with-heading\"}},[_v(\"Panel with heading‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-without-heading-with-keyword\"}},[_v(\"Panel without heading with keyword‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#keyword-should-be-tagged-to-this-heading-not-the-panel-heading\"}},[_v(\"Keyword should be tagged to this heading, not the panel heading‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-with-heading-with-keyword\"}},[_v(\"Panel with heading with keyword‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#heading-fragment-with-leading-spaces-and-newline\"}},[_v(\"Heading \\nFragment with leading spaces and newline\\n‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#heading-with-included-keyword\"}},[_v(\"Heading with included keyword‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#included-heading\"}},[_v(\"Included Heading‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#heading-with-nested-keyword\"}},[_v(\"Heading with nested keyword‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#heading-with-hidden-keyword\"}},[_v(\"Heading with hidden keyword‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#establishing-requirements\"}},[_v(\"Establishing Requirements‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#brainstorming\"}},[_v(\"Brainstorming‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#user-surveys\"}},[_v(\"User surveys‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#focus-groups\"}},[_v(\"Focus groups‎\")])])]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#path-within-the-boilerplate-folder-is-separately-specified\"}},[_v(\"Path within the boilerplate folder is separately specified‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#feature-list\"}},[_v(\"Feature list‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-without-src-header\"}},[_v(\"Panel without src header‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-with-normal-src-header\"}},[_v(\"Panel with normal src header‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-with-src-from-a-page-segment-header\"}},[_v(\"Panel with src from a page segment header‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#boilerplate-referencing\"}},[_v(\"Boilerplate referencing‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#boilerplate-referencing-2\"}},[_v(\"Boilerplate referencing 2‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#referencing-specified-path-in-boilerplate\"}},[_v(\"Referencing specified path in boilerplate‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#outer-nested-panel\"}},[_v(\"Outer nested panel‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#outer-nested-panel-without-src\"}},[_v(\"Outer nested panel without src‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#inner-panel-header-without-src\"}},[_v(\"Inner panel header without src‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-with-src-from-another-markbind-site-header\"}},[_v(\"Panel with src from another MarkBind site header‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-with-src-from-another-markbind-site-header-2\"}},[_v(\"Panel with src from another MarkBind site header‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#unexpanded-panel-header\"}},[_v(\"Unexpanded panel header‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#level-6-header-outside-headingsearchindex-with-always-index-attribute-should-be-indexed\"}},[_v(\"Level 6 header (outside headingSearchIndex) with always-index attribute should be indexed‎\")])])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(109)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"bg-info display-4 text-center text-white\"},[_c(\u0027br\u0027),_v(\"\\n Test Jumbotron\"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027br\u0027)])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Relative Link Test\")]),_v(\" This is a relative Intra-Site link in a layout (see \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html#heading-with-hidden-keyword\"}},[_v(\"link\")]),_v(\")\")])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"-"},"content":") {"},{"lineNumber":14,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"\u003cmarkdown\u003e\")]),_v(\" and \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"\u003cmd\u003e\")]),_v(\" elements\")])])}"},{"lineNumber":15,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"-"},"content":") {"},{"lineNumber":17,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"This should be wrapped in a \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"\u003cp\u003e\")]),_v(\" tag as it uses the block-level markdown renderer\")])])}"},{"lineNumber":18,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"-"},"content":") {"},{"lineNumber":20,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027span\u0027,[_v(\"\\nThis should not be wrapped in a \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"\u003cp\u003e\")]),_v(\" tag as it uses the inline markdown renderer\\n\")])}"},{"lineNumber":21,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"-"},"content":") {"},{"lineNumber":23,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"mt-2\"},[_c(\u0027pre\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs\"}},[_c(\u0027span\u0027,[_v(\"\u003cmarkdown\u003e elements allow block-level markdown without needing a leading newline.\\n\")]),_c(\u0027span\u0027,[_v(\"Hence, the contained markdown should be parsed and output as is, without any parsing errors.\\n\")]),_c(\u0027span\u0027,[_v(\"\u003c/invalidhtml\u003e\\n\")])])])])}"},{"lineNumber":24,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"-"},"content":") {"},{"lineNumber":26,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027span\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"\u003cmd\u003e\")]),_v(\" elements allow inline-level markdown even in a non-markdown token.\\nHence, the contained markdown should be parsed and output as is, without any parsing errors.\\n\"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"\u003c/invalid\u003e\")]),_v(\".\\n\")])}"},{"lineNumber":27,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"-"},"content":") {"},{"lineNumber":29,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test footnotes\")])])}"},{"lineNumber":30,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"-"},"content":") {"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test include footnotes from hash\")])])}"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":35,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Nunjucks SetExt\")])])}"},{"lineNumber":36,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":37,"author":{"gitId":"-"},"content":") {"},{"lineNumber":38,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Variables that reference another variable\")])])}"},{"lineNumber":39,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":40,"author":{"gitId":"-"},"content":") {"},{"lineNumber":41,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Global Variables can be referenced in {% set %}\")])])}"},{"lineNumber":42,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":43,"author":{"gitId":"-"},"content":") {"},{"lineNumber":44,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Global Variables should override {% set %}\")])])}"},{"lineNumber":45,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":46,"author":{"gitId":"-"},"content":") {"},{"lineNumber":47,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test Page Variable and Included Variable Integrations\")])])}"},{"lineNumber":48,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":49,"author":{"gitId":"-"},"content":") {"},{"lineNumber":50,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Outer Page Variable Should Not Leak Into Inner Pages\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Outer Page Variable Should Not Leak Into Inner Pages\")])])}"},{"lineNumber":51,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":52,"author":{"gitId":"-"},"content":") {"},{"lineNumber":53,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"heading-with-multiple-keywords\"}},[_v(\"Heading with multiple keywords\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-with-multiple-keywords\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":54,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":55,"author":{"gitId":"-"},"content":") {"},{"lineNumber":56,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"keyword 1\")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"keyword 2\")])])}"},{"lineNumber":57,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":58,"author":{"gitId":"-"},"content":") {"},{"lineNumber":59,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"heading-with-keyword-in-panel\"}},[_v(\"Heading with keyword in panel\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-with-keyword-in-panel\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":60,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":61,"author":{"gitId":"-"},"content":") {"},{"lineNumber":62,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel with heading with keyword\")])])}"},{"lineNumber":63,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":64,"author":{"gitId":"-"},"content":") {"},{"lineNumber":65,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Expanded panel without heading with keyword\")])])}"},{"lineNumber":66,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":67,"author":{"gitId":"-"},"content":") {"},{"lineNumber":68,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Unexpanded panel with heading with keyword\")])])}"},{"lineNumber":69,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":70,"author":{"gitId":"-"},"content":") {"},{"lineNumber":71,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"heading-fragment-with-leading-spaces-and-newline\"}},[_v(\"Heading \"),_c(\u0027div\u0027,[_c(\u0027pre\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers\"}},[_v(\"Fragment with leading spaces and newline\\n\")])])]),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-fragment-with-leading-spaces-and-newline\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":72,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":73,"author":{"gitId":"-"},"content":") {"},{"lineNumber":74,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"The \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"id\")]),_v(\" for the above heading should be \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"heading-fragment-with-leading-spaces-and-newline\")]),_v(\" in total.\\nThis test ensures heading ids are assigned last (e.g. after \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"\u003cinclude /\u003e\")]),_v(\"s are processed).\")])}"},{"lineNumber":75,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":76,"author":{"gitId":"-"},"content":") {"},{"lineNumber":77,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"heading-with-included-keyword\"}},[_v(\"Heading with included keyword\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-with-included-keyword\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":78,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":79,"author":{"gitId":"-"},"content":") {"},{"lineNumber":80,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"included keyword\")])])])}"},{"lineNumber":81,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":82,"author":{"gitId":"-"},"content":") {"},{"lineNumber":83,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027h1\u0027,{attrs:{\"id\":\"included-heading\"}},[_v(\"Included Heading\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#included-heading\",\"onclick\":\"event.stopPropagation()\"}})])])}"},{"lineNumber":84,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":85,"author":{"gitId":"-"},"content":") {"},{"lineNumber":86,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"heading-with-nested-keyword\"}},[_v(\"Heading with nested keyword\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-with-nested-keyword\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":87,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":88,"author":{"gitId":"-"},"content":") {"},{"lineNumber":89,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027div\u0027,[_c(\u0027div\u0027,[_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"nested keyword\")])])])])}"},{"lineNumber":90,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":91,"author":{"gitId":"-"},"content":") {"},{"lineNumber":92,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"heading-with-hidden-keyword\"}},[_v(\"Heading with hidden keyword\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-with-hidden-keyword\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":93,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":94,"author":{"gitId":"-"},"content":") {"},{"lineNumber":95,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027span\u0027,{staticClass:\"keyword d-none\"},[_v(\"invisible keyword\")])])}"},{"lineNumber":96,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":97,"author":{"gitId":"-"},"content":") {"},{"lineNumber":98,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with frontmatter shown tag\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"tags\":\"tag-frontmatter-shown\"}},[_v(\"\\nDiv with shown tag\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with site shown tag\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"tags\":\"tag-site-shown\"}},[_v(\"\\nDiv with site shown tag\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with multiple tags\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"tags\":\"tag-site-shown tag-other\"}},[_v(\"\\nDiv with multiple tags\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with hidden tag (Hidden)\")])]),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with tag in included file\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"tags\":\"tag-included-file\"}},[_v(\"\\nDiv with tag in included file\\n\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with tag matching general tag\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"tags\":\"tag-exp-shown\"}},[_v(\"\\nDiv with tag matching general tag\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with tag matching general tag and specific tag (Hidden)\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with tag matching frontmatter tag overridden by matching site tag\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"tags\":\"tag-site-override-shown\"}},[_v(\"\\nDiv with tag matching frontmatter tag overridden by matching site tag\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with tag matching general frontmatter tag not overridden by matching specific site tag (Hidden)\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with tag matching general frontmatter tag overridden by matching specific site tag\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"tags\":\"tag-site-override-shown\"}},[_v(\"\\nDiv with tag matching general frontmatter tag overridden by matching specific site tag\\n\")])])}"},{"lineNumber":99,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":100,"author":{"gitId":"-"},"content":") {"},{"lineNumber":101,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Normal include\")])])}"},{"lineNumber":102,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":103,"author":{"gitId":"-"},"content":") {"},{"lineNumber":104,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"establishing-requirements\"}},[_v(\"Establishing Requirements\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#establishing-requirements\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":105,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":106,"author":{"gitId":"-"},"content":") {"},{"lineNumber":107,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027span\u0027,{attrs:{\"id\":\"preview\"}},[_v(\"Requirements gathering, requirements elicitation, requirements analysis,\\nrequirements capture are some of the terms commonly \"),_c(\u0027strong\u0027,[_v(\"and\")]),_v(\" interchangeably used to represent the activity\\nof understanding what a software product should do.\")])])}"},{"lineNumber":108,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":109,"author":{"gitId":"-"},"content":") {"},{"lineNumber":110,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h4\u0027,{attrs:{\"id\":\"brainstorming\"}},[_v(\"Brainstorming\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#brainstorming\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":111,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":112,"author":{"gitId":"-"},"content":") {"},{"lineNumber":113,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h4\u0027,{attrs:{\"id\":\"user-surveys\"}},[_v(\"User surveys\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#user-surveys\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":114,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":115,"author":{"gitId":"-"},"content":") {"},{"lineNumber":116,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h4\u0027,{attrs:{\"id\":\"focus-groups\"}},[_v(\"Focus groups\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#focus-groups\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":117,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":118,"author":{"gitId":"-"},"content":") {"},{"lineNumber":119,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include segment\")])])}"},{"lineNumber":120,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":121,"author":{"gitId":"-"},"content":") {"},{"lineNumber":122,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_v(\"Requirements gathering, requirements elicitation, requirements analysis,\\nrequirements capture are some of the terms commonly \"),_c(\u0027strong\u0027,[_v(\"and\")]),_v(\" interchangeably used to represent the activity\\nof understanding what a software product should do.\")])}"},{"lineNumber":123,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":124,"author":{"gitId":"-"},"content":") {"},{"lineNumber":125,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Boilerplate include\")])])}"},{"lineNumber":126,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":127,"author":{"gitId":"-"},"content":") {"},{"lineNumber":128,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"path-within-the-boilerplate-folder-is-separately-specified\"}},[_v(\"Path within the boilerplate folder is separately specified\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#path-within-the-boilerplate-folder-is-separately-specified\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":129,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":130,"author":{"gitId":"-"},"content":") {"},{"lineNumber":131,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Also, the boilerplate file name (e.g. \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"inside.md\")]),_v(\") and the file that it is supposed to act as (\"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"notInside.md\")]),_v(\") can be different.\")])}"},{"lineNumber":132,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":133,"author":{"gitId":"-"},"content":") {"},{"lineNumber":134,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"This file should behaves as if it is in the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"requirements\")]),_v(\" folder:\")])}"},{"lineNumber":135,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":136,"author":{"gitId":"-"},"content":") {"},{"lineNumber":137,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Nested include\")])])}"},{"lineNumber":138,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":139,"author":{"gitId":"-"},"content":") {"},{"lineNumber":140,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Establishing requirements\")]),_v(\": \"),_c(\u0027span\u0027,[_v(\"Requirements gathering, requirements elicitation, requirements analysis,\\nrequirements capture are some of the terms commonly \"),_c(\u0027strong\u0027,[_v(\"and\")]),_v(\" interchangeably used to represent the activity\\nof understanding what a software product should do.\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Specifying requirements\")]),_v(\": \"),_c(\u0027span\u0027,[_v(\"As we establish requirements, they should be recorded in some way for future reference,\\nusually called a requirement specification. Furthermore, it is advisable to show these requirements to stakeholders,\\nand refine requirements based on their feedback. The next phase is to convert requirements into a product\\nspecification that specifies how the product will address the requirements. \")])])])])}"},{"lineNumber":141,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":142,"author":{"gitId":"-"},"content":") {"},{"lineNumber":143,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"HTML include\")])])}"},{"lineNumber":144,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":145,"author":{"gitId":"-"},"content":") {"},{"lineNumber":146,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"This is a HTML document\")]),_v(\" \"),_c(\u0027span\u0027,[_v(\"It is \"),_c(\u0027strong\u0027,[_v(\"possible\")]),_v(\" to use Markdown in HTML\")])])}"},{"lineNumber":147,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":148,"author":{"gitId":"-"},"content":") {"},{"lineNumber":149,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include from another MarkBind site\")])])}"},{"lineNumber":150,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":151,"author":{"gitId":"-"},"content":") {"},{"lineNumber":152,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"This is a page from another MarkBind site.\")]),_v(\" \"),_c(\u0027h2\u0027,{attrs:{\"id\":\"feature-list\"}},[_v(\"Feature list\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#feature-list\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_v(\"It is a list of features (or functionalities) grouped according to some criteria such as priority\\n(e.g. must-have, nice-to-have, etc. ), order of delivery, object or process related\\n(e.g. order-related, invoice-related, etc.).\\nHere is a sample feature list from Minesweeper (only a brief description has been provided to save space).\")]),_v(\" \"),_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Basic play – Single player play.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Difficulty levels – Additional Medium and Advanced levels.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Versus play – Two players can play against each other.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Timer – Additional fixed time restriction on the player.\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"image\"}},[_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}})])])}"},{"lineNumber":153,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":154,"author":{"gitId":"-"},"content":") {"},{"lineNumber":155,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"IMG tags:\\n\"),_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://dummyimage.com/600x400/000/fff\"}})])}"},{"lineNumber":156,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":157,"author":{"gitId":"-"},"content":") {"},{"lineNumber":158,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Anchor:\\n\"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://dummyimage.com/600x400/000/fff\"}},[_v(\"External Image\")])])}"},{"lineNumber":159,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":160,"author":{"gitId":"-"},"content":") {"},{"lineNumber":161,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/sub_site/images/I\u0027m%20not%20allowed%20to%20use%20my%20favorite%20tool.png\"}},[_v(\"Link to picture\")]),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"id\":\"namedAnchor\"}},[_v(\"Named Anchor\")]),_v(\" \"),_c(\u0027a\u0027,[_v(\"Anchor with no attributes\")])])}"},{"lineNumber":162,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":163,"author":{"gitId":"-"},"content":") {"},{"lineNumber":164,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include nested sub-site directly\")])])}"},{"lineNumber":165,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":166,"author":{"gitId":"-"},"content":") {"},{"lineNumber":167,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include nested sub-site from sub-site\")])])}"},{"lineNumber":168,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":169,"author":{"gitId":"-"},"content":") {"},{"lineNumber":170,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include a file using baseUrl\")])])}"},{"lineNumber":171,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":172,"author":{"gitId":"-"},"content":") {"},{"lineNumber":173,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include a file in a sub-folder that uses baseUrl\")])])}"},{"lineNumber":174,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":175,"author":{"gitId":"-"},"content":") {"},{"lineNumber":176,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027div\u0027,[_v(\"Requirements gathering, requirements elicitation, requirements analysis,\\nrequirements capture are some of the terms commonly \"),_c(\u0027strong\u0027,[_v(\"and\")]),_v(\" interchangeably used to represent the activity\\nof understanding what a software product should do.\")])])}"},{"lineNumber":177,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":178,"author":{"gitId":"-"},"content":") {"},{"lineNumber":179,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include a file in a sub-folder that uses baseUrl using baseUrl\")])])}"},{"lineNumber":180,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":181,"author":{"gitId":"-"},"content":") {"},{"lineNumber":182,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027div\u0027,[_v(\"Requirements gathering, requirements elicitation, requirements analysis,\\nrequirements capture are some of the terms commonly \"),_c(\u0027strong\u0027,[_v(\"and\")]),_v(\" interchangeably used to represent the activity\\nof understanding what a software product should do.\")])])}"},{"lineNumber":183,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":184,"author":{"gitId":"-"},"content":") {"},{"lineNumber":185,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include a file in a sub-site that uses baseUrl\")])])}"},{"lineNumber":186,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":187,"author":{"gitId":"-"},"content":") {"},{"lineNumber":188,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027div\u0027,[_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}})])])}"},{"lineNumber":189,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":190,"author":{"gitId":"-"},"content":") {"},{"lineNumber":191,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include a file in a sub-site that uses baseUrl using baseUrl\")])])}"},{"lineNumber":192,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":193,"author":{"gitId":"-"},"content":") {"},{"lineNumber":194,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027div\u0027,[_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}})])])}"},{"lineNumber":195,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":196,"author":{"gitId":"-"},"content":") {"},{"lineNumber":197,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Trimmed include\")])])}"},{"lineNumber":198,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":199,"author":{"gitId":"-"},"content":") {"},{"lineNumber":200,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_c(\u0027span\u0027,[_c(\u0027br\u0027),_v(\"\\nFragment with leading spaces and newline\")])])])}"},{"lineNumber":201,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":202,"author":{"gitId":"-"},"content":") {"},{"lineNumber":203,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Trimmed include fragment\")])])}"},{"lineNumber":204,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":205,"author":{"gitId":"-"},"content":") {"},{"lineNumber":206,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Before | \"),_c(\u0027span\u0027,[_v(\"Fragment with leading spaces and newline\")]),_v(\" | After\")])])}"},{"lineNumber":207,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":208,"author":{"gitId":"-"},"content":") {"},{"lineNumber":209,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include with custom variables\")])])}"},{"lineNumber":210,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":211,"author":{"gitId":"-"},"content":") {"},{"lineNumber":212,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variable as include attribute\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable as include attribute\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variable\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variable with markdown\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_c(\u0027strong\u0027,[_v(\"Included variable with markdown\")])])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variable as attribute\")])]),_v(\" \"),_c(\u0027p\u0027,{staticStyle:{\"color\":\"blue\"}},[_v(\"Test\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variable as HTML element\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027span\u0027,[_v(\"Included variable within HTML element\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variable overridden by variables.md\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Global Variable Overriding Included Variable\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variables in included file\")])]),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"Included variable in outer included file\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable overriding inner variable\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Inner included variables should not leak into other files\")])]),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"Should be blank:\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variable with global variable\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable with Global Variable\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test nunjucks set overridden by include variable and global variable\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable\\nGlobal Variable\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test nunjucks import overridden by include variable and global variable\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable\\nGlobal Variable\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test nunjucks set overridden by include variable and global variable in nested include\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable\\nGlobal Variable\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test nunjucks import overridden by include variable and global variable in nested include\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable\\nGlobal Variable\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test missing variable with default\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Missing Variable\")])])}"},{"lineNumber":213,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":214,"author":{"gitId":"-"},"content":") {"},{"lineNumber":215,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Variables for includes should not be recognised as page variables, hence, there should be no text between \"),_c(\u0027strong\u0027,[_v(\"this\")])])}"},{"lineNumber":216,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":217,"author":{"gitId":"-"},"content":") {"},{"lineNumber":218,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"and \"),_c(\u0027strong\u0027,[_v(\"this\")]),_v(\".\")])}"},{"lineNumber":219,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":220,"author":{"gitId":"-"},"content":") {"},{"lineNumber":221,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Included variables should not leak into other files\")])])}"},{"lineNumber":222,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":223,"author":{"gitId":"-"},"content":") {"},{"lineNumber":224,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"Should be blank:\")])])}"},{"lineNumber":225,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":226,"author":{"gitId":"-"},"content":") {"},{"lineNumber":227,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel with shorthand heading syntax\")])])}"},{"lineNumber":228,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":229,"author":{"gitId":"-"},"content":") {"},{"lineNumber":230,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel without src\")])])}"},{"lineNumber":231,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":232,"author":{"gitId":"-"},"content":") {"},{"lineNumber":233,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel with normal src\")])])}"},{"lineNumber":234,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":235,"author":{"gitId":"-"},"content":") {"},{"lineNumber":236,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel with src from a page segment\")])])}"},{"lineNumber":237,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":238,"author":{"gitId":"-"},"content":") {"},{"lineNumber":239,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel with boilerplate\")])])}"},{"lineNumber":240,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":241,"author":{"gitId":"-"},"content":") {"},{"lineNumber":242,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Nested panel\")])])}"},{"lineNumber":243,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":244,"author":{"gitId":"-"},"content":") {"},{"lineNumber":245,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Nested panel without src\")])])}"},{"lineNumber":246,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":247,"author":{"gitId":"-"},"content":") {"},{"lineNumber":248,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel with src from another MarkBind site\")])])}"},{"lineNumber":249,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":250,"author":{"gitId":"-"},"content":") {"},{"lineNumber":251,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Modal with panel inside\")])])}"},{"lineNumber":252,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":253,"author":{"gitId":"-"},"content":") {"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"The button of modal inside dismissible box should be properly positioned\")])])}"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":257,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Unexpanded panel\")])])}"},{"lineNumber":258,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":259,"author":{"gitId":"-"},"content":") {"},{"lineNumber":260,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test panel closing transitions\")])])}"},{"lineNumber":261,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":262,"author":{"gitId":"-"},"content":") {"},{"lineNumber":263,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Nested Panel with height greater than viewport\")])])}"},{"lineNumber":264,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":265,"author":{"gitId":"-"},"content":") {"},{"lineNumber":266,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Nested Panel with height smaller than viewport\")])])}"},{"lineNumber":267,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":268,"author":{"gitId":"-"},"content":") {"},{"lineNumber":269,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Minimal Panel with height greater than viewport\")])])}"},{"lineNumber":270,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":271,"author":{"gitId":"-"},"content":") {"},{"lineNumber":272,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Minimal Panel with height smaller than viewport\")])])}"},{"lineNumber":273,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":274,"author":{"gitId":"-"},"content":") {"},{"lineNumber":275,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test search indexing\")])])}"},{"lineNumber":276,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":277,"author":{"gitId":"-"},"content":") {"},{"lineNumber":278,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test PlantUML live reload without include\")])])}"},{"lineNumber":279,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":280,"author":{"gitId":"-"},"content":") {"},{"lineNumber":281,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test PlantUML live reload with include\")])])}"},{"lineNumber":282,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":283,"author":{"gitId":"-"},"content":") {"},{"lineNumber":284,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"PlantUML Test\")])])}"},{"lineNumber":285,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":286,"author":{"gitId":"-"},"content":") {"},{"lineNumber":287,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Sequence Diagram\")])])}"},{"lineNumber":288,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":289,"author":{"gitId":"-"},"content":") {"},{"lineNumber":290,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Use Case Diagram\")])])}"},{"lineNumber":291,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":292,"author":{"gitId":"-"},"content":") {"},{"lineNumber":293,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Class Diagram\")])])}"},{"lineNumber":294,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":295,"author":{"gitId":"-"},"content":") {"},{"lineNumber":296,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test PlantUML in sub folder\")])])}"},{"lineNumber":297,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":298,"author":{"gitId":"-"},"content":") {"},{"lineNumber":299,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Activity Diagram\")])])}"},{"lineNumber":300,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":301,"author":{"gitId":"-"},"content":") {"},{"lineNumber":302,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Component Diagram\")])])}"},{"lineNumber":303,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":304,"author":{"gitId":"-"},"content":") {"},{"lineNumber":305,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"State Diagram\")])])}"},{"lineNumber":306,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":307,"author":{"gitId":"-"},"content":") {"},{"lineNumber":308,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Object Diagram\")])])}"},{"lineNumber":309,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":310,"author":{"gitId":"-"},"content":") {"},{"lineNumber":311,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h2\u0027,{staticClass:\"no-index\",attrs:{\"id\":\"level-2-header-inside-headingsearchindex-with-no-index-attribute-should-not-be-indexed\"}},[_v(\"Level 2 header (inside headingSearchIndex) with no-index attribute should not be indexed\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#level-2-header-inside-headingsearchindex-with-no-index-attribute-should-not-be-indexed\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":312,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":313,"author":{"gitId":"-"},"content":") {"},{"lineNumber":314,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h6\u0027,{staticClass:\"always-index\",attrs:{\"id\":\"level-6-header-outside-headingsearchindex-with-always-index-attribute-should-be-indexed\"}},[_v(\"Level 6 header (outside headingSearchIndex) with always-index attribute should be indexed\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#level-6-header-outside-headingsearchindex-with-always-index-attribute-should-be-indexed\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":315,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":316,"author":{"gitId":"-"},"content":") {"},{"lineNumber":317,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test nunjucks raw tags\")])])}"},{"lineNumber":318,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":319,"author":{"gitId":"-"},"content":") {"},{"lineNumber":320,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027li\u0027,{staticClass:\"footnote-item\",attrs:{\"id\":\"fn-1-1\"}},[_c(\u0027p\u0027,[_v(\"Here is the footnote. Footnotes will appear at the bottom of the page.\")])])}"},{"lineNumber":321,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":322,"author":{"gitId":"-"},"content":") {"},{"lineNumber":323,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027li\u0027,{staticClass:\"footnote-item\",attrs:{\"id\":\"fn-1-2\"}},[_c(\u0027p\u0027,[_v(\"Here\u0027s one with multiple blocks.\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Subsequent paragraphs are indented to show that they\\nbelong to the previous footnote.\")])])}"},{"lineNumber":324,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":325,"author":{"gitId":"-"},"content":") {"},{"lineNumber":326,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027li\u0027,{staticClass:\"footnote-item\",attrs:{\"id\":\"fn-1-3\"}},[_c(\u0027p\u0027,[_v(\"Inlines notes are easier to write, since\\nyou don\u0027t have to pick an identifier and move down to type the\\nnote.\")])])}"},{"lineNumber":327,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":328,"author":{"gitId":"-"},"content":") {"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027li\u0027,{staticClass:\"footnote-item\",attrs:{\"id\":\"fn-2-1\"}},[_c(\u0027p\u0027,[_v(\"footnote1\")])])}"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027li\u0027,{staticClass:\"footnote-item\",attrs:{\"id\":\"fn-2-2\"}},[_c(\u0027p\u0027,[_v(\"footnote2\")])])}"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":335,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027footer\u0027,[_c(\u0027h1\u0027,{attrs:{\"id\":\"heading-in-footer-should-not-be-indexed\"}},[_v(\"Heading in footer should not be indexed\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-in-footer-should-not-be-indexed\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"text-center\"},[_v(\"\\n This is a dynamic height footer that supports markdown \"),_c(\u0027span\u0027,[_v(\"😄\")]),_v(\"!\\n \")])])])}"},{"lineNumber":336,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":337,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"-":324,"yiwen101":13}},{"path":"packages/cli/test/functional/test_site/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/cli/test/functional/test_site/expected/plugins/web3Form/web-3-form.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"LamJiuFong"},"content":".web-3-form input,"},{"lineNumber":2,"author":{"gitId":"LamJiuFong"},"content":".web-3-form select,"},{"lineNumber":3,"author":{"gitId":"LamJiuFong"},"content":".web-3-form textarea {"},{"lineNumber":4,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding: 12px;"},{"lineNumber":6,"author":{"gitId":"-"},"content":" border: 1px solid #ccc;"},{"lineNumber":7,"author":{"gitId":"-"},"content":" border-radius: 4px;"},{"lineNumber":8,"author":{"gitId":"-"},"content":" box-sizing: border-box;"},{"lineNumber":9,"author":{"gitId":"-"},"content":" margin-top: 6px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":" margin-bottom: 16px;"},{"lineNumber":11,"author":{"gitId":"-"},"content":" resize: vertical;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":3,"-":9}},{"path":"packages/cli/test/functional/test_site/expected/siteData.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"enableSearch\": true,"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":4,"author":{"gitId":"-"},"content":" {"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"src\": \"bugs/index.md\","},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"title\": \"Open Bugs\","},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":9,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"src\": \"index.md\","},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"panel-with-heading\": \"Panel with heading\","},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"panel-without-heading-with-keyword\": \"Panel without heading with keyword\","},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"panel-with-heading-with-keyword\": \"Panel with heading with keyword\","},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"panel-without-src-header\": \"Panel without src header\","},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"panel-with-normal-src-header\": \"Panel with normal src header\","},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"panel-with-src-from-a-page-segment-header\": \"Panel with src from a page segment header\","},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"boilerplate-referencing\": \"Boilerplate referencing\","},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"boilerplate-referencing-2\": \"Boilerplate referencing 2\","},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"referencing-specified-path-in-boilerplate\": \"Referencing specified path in boilerplate\","},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"outer-nested-panel\": \"Outer nested panel\","},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"outer-nested-panel-without-src\": \"Outer nested panel without src\","},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"panel-with-src-from-another-markbind-site-header\": \"Panel with src from another MarkBind site header\","},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"panel-with-src-from-another-markbind-site-header-2\": \"Panel with src from another MarkBind site header\","},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"unexpanded-panel-header\": \"Unexpanded panel header\","},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"keyword-should-be-tagged-to-this-heading-not-the-panel-heading\": \"Keyword should be tagged to this heading, not the panel heading\","},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"panel-normal-source-content-headings\": \"Panel normal source content headings\","},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"panel-source-segment-content-headings\": \"Panel source segment content headings\","},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"boilerplate-test-for-panel-heading\": \"boilerplate test for panel heading\","},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"heading-in-panel-boilerplate\": \"heading in panel boilerplate\","},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"nested-panel\": \"Nested Panel\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"normal-panel-content-heading\": \"Normal panel content heading\","},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"inner-panel-header-without-src\": \"Inner panel header without src\","},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"feature-list\": \"Feature list\","},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"heading-with-multiple-keywords\": \"Heading with multiple keywords\","},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"heading-with-keyword-in-panel\": \"Heading with keyword in panel\","},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"heading-fragment-with-leading-spaces-and-newline\": \"Heading \\nFragment with leading spaces and newline\\n\","},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"heading-with-included-keyword\": \"Heading with included keyword\","},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"included-heading\": \"Included Heading\","},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"heading-with-nested-keyword\": \"Heading with nested keyword\","},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"heading-with-hidden-keyword\": \"Heading with hidden keyword\","},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"establishing-requirements\": \"Establishing Requirements\","},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"brainstorming\": \"Brainstorming\","},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"user-surveys\": \"User surveys\","},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"focus-groups\": \"Focus groups\","},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"path-within-the-boilerplate-folder-is-separately-specified\": \"Path within the boilerplate folder is separately specified\","},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"level-6-header-outside-headingsearchindex-with-always-index-attribute-should-be-indexed\": \"Level 6 header (outside headingSearchIndex) with always-index attribute should be indexed\""},{"lineNumber":50,"author":{"gitId":"-"},"content":" },"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"headingKeywords\": {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"heading-with-keyword-in-panel\": ["},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"panel keyword\""},{"lineNumber":54,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"panel-with-heading\": ["},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"panel keyword\""},{"lineNumber":57,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \"keyword-should-be-tagged-to-this-heading-not-the-panel-heading\": ["},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"panel keyword\""},{"lineNumber":60,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"panel-with-heading-with-keyword\": ["},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"panel keyword\""},{"lineNumber":63,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":64,"author":{"gitId":"-"},"content":" \"heading-with-multiple-keywords\": ["},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"keyword 1\","},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"keyword 2\""},{"lineNumber":67,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":68,"author":{"gitId":"-"},"content":" \"heading-with-included-keyword\": ["},{"lineNumber":69,"author":{"gitId":"-"},"content":" \"included keyword\""},{"lineNumber":70,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"included-heading\": ["},{"lineNumber":72,"author":{"gitId":"-"},"content":" \"Keyword with included heading\""},{"lineNumber":73,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \"heading-with-nested-keyword\": ["},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"nested keyword\""},{"lineNumber":76,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"heading-with-hidden-keyword\": ["},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"invisible keyword\""},{"lineNumber":79,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":" },"},{"lineNumber":82,"author":{"gitId":"-"},"content":" {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \"src\": \"sub_site/index.md\","},{"lineNumber":84,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" \"feature-list\": \"Feature list\""},{"lineNumber":86,"author":{"gitId":"-"},"content":" },"},{"lineNumber":87,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":88,"author":{"gitId":"-"},"content":" },"},{"lineNumber":89,"author":{"gitId":"-"},"content":" {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \"src\": \"sub_site/nested_sub_site/index.md\","},{"lineNumber":91,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":92,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":93,"author":{"gitId":"-"},"content":" },"},{"lineNumber":94,"author":{"gitId":"-"},"content":" {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \"src\": \"test_md_fragment.md\","},{"lineNumber":96,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \"some-heading\": \"Some heading\""},{"lineNumber":98,"author":{"gitId":"-"},"content":" },"},{"lineNumber":99,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":100,"author":{"gitId":"-"},"content":" },"},{"lineNumber":101,"author":{"gitId":"-"},"content":" {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \"src\": \"testEmptyFrontmatter.md\","},{"lineNumber":103,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":104,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":106,"author":{"gitId":"-"},"content":" },"},{"lineNumber":107,"author":{"gitId":"-"},"content":" {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \"src\": \"testLayoutsOverride.md\","},{"lineNumber":109,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":110,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":111,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":112,"author":{"gitId":"-"},"content":" },"},{"lineNumber":113,"author":{"gitId":"-"},"content":" {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" \"src\": \"testEmptyAltFrontMatter.md\","},{"lineNumber":115,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":116,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":117,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":118,"author":{"gitId":"-"},"content":" },"},{"lineNumber":119,"author":{"gitId":"-"},"content":" {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \"src\": \"testLayoutsOverrideWithAltFrontmatter.md\","},{"lineNumber":121,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":122,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":123,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":124,"author":{"gitId":"-"},"content":" },"},{"lineNumber":125,"author":{"gitId":"-"},"content":" {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \"src\": \"testAltFrontMatterInvalidKeyValue.md\","},{"lineNumber":127,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":128,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":129,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":130,"author":{"gitId":"-"},"content":" },"},{"lineNumber":131,"author":{"gitId":"-"},"content":" {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" \"src\": \"testSingleAltFrontMatter.md\","},{"lineNumber":133,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":134,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":136,"author":{"gitId":"-"},"content":" },"},{"lineNumber":137,"author":{"gitId":"-"},"content":" {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" \"src\": \"testAltFrontMatterParsing.md\","},{"lineNumber":139,"author":{"gitId":"-"},"content":" \"title\": \"new title\","},{"lineNumber":140,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":141,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":142,"author":{"gitId":"-"},"content":" },"},{"lineNumber":143,"author":{"gitId":"-"},"content":" {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" \"src\": \"testExternalScripts.md\","},{"lineNumber":145,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":146,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":147,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":148,"author":{"gitId":"-"},"content":" },"},{"lineNumber":149,"author":{"gitId":"-"},"content":" {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" \"src\": \"testLayouts.md\","},{"lineNumber":151,"author":{"gitId":"-"},"content":" \"title\": \"Test nunjucks path resolving\","},{"lineNumber":152,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":153,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":154,"author":{"gitId":"-"},"content":" },"},{"lineNumber":155,"author":{"gitId":"-"},"content":" {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \"src\": \"testLayoutsWithAltFrontMatter.md\","},{"lineNumber":157,"author":{"gitId":"-"},"content":" \"title\": \"Test nunjucks path resolving\","},{"lineNumber":158,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":159,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":161,"author":{"gitId":"-"},"content":" {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" \"src\": \"testNunjucksPathResolving.md\","},{"lineNumber":163,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":164,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":165,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":166,"author":{"gitId":"-"},"content":" },"},{"lineNumber":167,"author":{"gitId":"-"},"content":" {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" \"src\": \"sub_site/testNunjucksPathResolving.md\","},{"lineNumber":169,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":170,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":171,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":172,"author":{"gitId":"-"},"content":" },"},{"lineNumber":173,"author":{"gitId":"-"},"content":" {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" \"src\": \"sub_site/nested_sub_site/testNunjucksPathResolving.md\","},{"lineNumber":175,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":176,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":177,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":178,"author":{"gitId":"-"},"content":" },"},{"lineNumber":179,"author":{"gitId":"-"},"content":" {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" \"src\": \"testAntiFOUCStyles.md\","},{"lineNumber":181,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":182,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":183,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":184,"author":{"gitId":"-"},"content":" },"},{"lineNumber":185,"author":{"gitId":"-"},"content":" {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \"src\": \"testAnchorGeneration.md\","},{"lineNumber":187,"author":{"gitId":"-"},"content":" \"title\": \"Anchor Generation Test\","},{"lineNumber":188,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" \"should-have-anchor-7\": \"should have anchor\","},{"lineNumber":190,"author":{"gitId":"-"},"content":" \"should-have-anchor-20\": \"should have anchor\","},{"lineNumber":191,"author":{"gitId":"-"},"content":" \"should-have-anchor-8\": \"should have anchor\","},{"lineNumber":192,"author":{"gitId":"-"},"content":" \"should-have-anchor-9\": \"should have anchor\","},{"lineNumber":193,"author":{"gitId":"-"},"content":" \"should-have-anchor-10\": \"should have anchor\","},{"lineNumber":194,"author":{"gitId":"-"},"content":" \"should-have-anchor-11\": \"should have anchor\","},{"lineNumber":195,"author":{"gitId":"-"},"content":" \"should-have-anchor-21\": \"should have anchor\","},{"lineNumber":196,"author":{"gitId":"-"},"content":" \"should-have-anchor-22\": \"should have anchor\","},{"lineNumber":197,"author":{"gitId":"-"},"content":" \"should-have-anchor-23\": \"should have anchor\","},{"lineNumber":198,"author":{"gitId":"-"},"content":" \"should-have-anchor-24\": \"should have anchor\","},{"lineNumber":199,"author":{"gitId":"-"},"content":" \"root-file\": \"Root file\","},{"lineNumber":200,"author":{"gitId":"-"},"content":" \"should-have-anchor\": \"should have anchor\","},{"lineNumber":201,"author":{"gitId":"-"},"content":" \"should-have-anchor-2\": \"should have anchor\","},{"lineNumber":202,"author":{"gitId":"-"},"content":" \"should-have-anchor-3\": \"should have anchor\","},{"lineNumber":203,"author":{"gitId":"-"},"content":" \"should-have-anchor-4\": \"should have anchor\","},{"lineNumber":204,"author":{"gitId":"-"},"content":" \"included-file\": \"Included File\","},{"lineNumber":205,"author":{"gitId":"-"},"content":" \"should-have-anchor-14\": \"should have anchor\","},{"lineNumber":206,"author":{"gitId":"-"},"content":" \"should-have-anchor-15\": \"should have anchor\","},{"lineNumber":207,"author":{"gitId":"-"},"content":" \"should-have-anchor-16\": \"should have anchor\","},{"lineNumber":208,"author":{"gitId":"-"},"content":" \"should-have-anchor-17\": \"should have anchor\""},{"lineNumber":209,"author":{"gitId":"-"},"content":" },"},{"lineNumber":210,"author":{"gitId":"-"},"content":" \"headingKeywords\": {},"},{"lineNumber":211,"author":{"gitId":"-"},"content":" \"frontmatterKeywords\": \"testFrontmatterKeywords\""},{"lineNumber":212,"author":{"gitId":"-"},"content":" },"},{"lineNumber":213,"author":{"gitId":"-"},"content":" {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" \"src\": \"testAnnotate.md\","},{"lineNumber":215,"author":{"gitId":"-"},"content":" \"title\": \"Annotate Feature Test\","},{"lineNumber":216,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" \"content\": \"Content\""},{"lineNumber":218,"author":{"gitId":"-"},"content":" },"},{"lineNumber":219,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":220,"author":{"gitId":"-"},"content":" },"},{"lineNumber":221,"author":{"gitId":"-"},"content":" {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" \"src\": \"testTooltipSpacing.md\","},{"lineNumber":223,"author":{"gitId":"-"},"content":" \"title\": \"Tooltip Spacing Test\","},{"lineNumber":224,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" \"569-stray-space-after-tooltip\": \"569: Stray space after tooltip\""},{"lineNumber":226,"author":{"gitId":"-"},"content":" },"},{"lineNumber":227,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":228,"author":{"gitId":"-"},"content":" },"},{"lineNumber":229,"author":{"gitId":"-"},"content":" {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" \"src\": \"testThumbnails.md\","},{"lineNumber":231,"author":{"gitId":"-"},"content":" \"title\": \"Thumbnails Test\","},{"lineNumber":232,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":233,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":234,"author":{"gitId":"-"},"content":" },"},{"lineNumber":235,"author":{"gitId":"-"},"content":" {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" \"src\": \"testPlantUML.md\","},{"lineNumber":237,"author":{"gitId":"-"},"content":" \"title\": \"PlantUML Test\","},{"lineNumber":238,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":239,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":240,"author":{"gitId":"-"},"content":" },"},{"lineNumber":241,"author":{"gitId":"-"},"content":" {"},{"lineNumber":242,"author":{"gitId":"-"},"content":" \"src\": \"testCodeBlocks.md\","},{"lineNumber":243,"author":{"gitId":"-"},"content":" \"title\": \"Test: Code Blocks\","},{"lineNumber":244,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":245,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":246,"author":{"gitId":"-"},"content":" },"},{"lineNumber":247,"author":{"gitId":"-"},"content":" {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" \"src\": \"testIncludePluginsRendered.md\","},{"lineNumber":249,"author":{"gitId":"-"},"content":" \"title\": \"Included files should have plugins rendered on them\","},{"lineNumber":250,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":251,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":252,"author":{"gitId":"-"},"content":" },"},{"lineNumber":253,"author":{"gitId":"-"},"content":" {"},{"lineNumber":254,"author":{"gitId":"-"},"content":" \"src\": \"testIncludeMultipleModals.md\","},{"lineNumber":255,"author":{"gitId":"-"},"content":" \"title\": \"Multiple inclusions of a modal should be supported\","},{"lineNumber":256,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":257,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":258,"author":{"gitId":"-"},"content":" },"},{"lineNumber":259,"author":{"gitId":"-"},"content":" {"},{"lineNumber":260,"author":{"gitId":"-"},"content":" \"src\": \"testPopovers.md\","},{"lineNumber":261,"author":{"gitId":"-"},"content":" \"title\": \"Test: Popovers\","},{"lineNumber":262,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" \"nested-panel\": \"Nested Panel\","},{"lineNumber":264,"author":{"gitId":"-"},"content":" \"normal-panel-content-heading\": \"Normal panel content heading\","},{"lineNumber":265,"author":{"gitId":"-"},"content":" \"some-heading\": \"Some heading\","},{"lineNumber":266,"author":{"gitId":"-"},"content":" \"some-heading-2\": \"Some heading\""},{"lineNumber":267,"author":{"gitId":"-"},"content":" },"},{"lineNumber":268,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":269,"author":{"gitId":"-"},"content":" },"},{"lineNumber":270,"author":{"gitId":"-"},"content":" {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" \"src\": \"testPopoverTrigger.md\","},{"lineNumber":272,"author":{"gitId":"-"},"content":" \"title\": \"Popover initiated by trigger should honor trigger attribute\","},{"lineNumber":273,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":274,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":275,"author":{"gitId":"-"},"content":" },"},{"lineNumber":276,"author":{"gitId":"-"},"content":" {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" \"src\": \"testModals.md\","},{"lineNumber":278,"author":{"gitId":"-"},"content":" \"title\": \"Test: Modals\","},{"lineNumber":279,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":280,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":281,"author":{"gitId":"-"},"content":" },"},{"lineNumber":282,"author":{"gitId":"-"},"content":" {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" \"src\": \"testDates.md\","},{"lineNumber":284,"author":{"gitId":"-"},"content":" \"title\": \"Nunjucks date filter tests\","},{"lineNumber":285,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":286,"author":{"gitId":"-"},"content":" \"dates\": \"Dates\""},{"lineNumber":287,"author":{"gitId":"-"},"content":" },"},{"lineNumber":288,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":289,"author":{"gitId":"-"},"content":" },"},{"lineNumber":290,"author":{"gitId":"-"},"content":" {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" \"src\": \"testVariableContainsInclude.md\","},{"lineNumber":292,"author":{"gitId":"-"},"content":" \"title\": \"Variable should be able to store included content fragments\","},{"lineNumber":293,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" \"content-fragment\": \"content fragment\""},{"lineNumber":295,"author":{"gitId":"-"},"content":" },"},{"lineNumber":296,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":297,"author":{"gitId":"-"},"content":" },"},{"lineNumber":298,"author":{"gitId":"-"},"content":" {"},{"lineNumber":299,"author":{"gitId":"-"},"content":" \"src\": \"testIncludeBoilerplate.md\","},{"lineNumber":300,"author":{"gitId":"-"},"content":" \"title\": \"Content inside \u003cinclude\u003e should not be processed by markdown\","},{"lineNumber":301,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":302,"author":{"gitId":"-"},"content":" \"hello\": \"hello\""},{"lineNumber":303,"author":{"gitId":"-"},"content":" },"},{"lineNumber":304,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":305,"author":{"gitId":"-"},"content":" },"},{"lineNumber":306,"author":{"gitId":"-"},"content":" {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" \"src\": \"testPanels.md\","},{"lineNumber":308,"author":{"gitId":"-"},"content":" \"title\": \"Test: Panels\","},{"lineNumber":309,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":310,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":311,"author":{"gitId":"-"},"content":" },"},{"lineNumber":312,"author":{"gitId":"-"},"content":" {"},{"lineNumber":313,"author":{"gitId":"-"},"content":" \"src\": \"testPanelMarkdownParsing.md\","},{"lineNumber":314,"author":{"gitId":"-"},"content":" \"title\": \"markdown-it should parse minimized panel as inline element and normal panel as block element\","},{"lineNumber":315,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":316,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":317,"author":{"gitId":"-"},"content":" },"},{"lineNumber":318,"author":{"gitId":"-"},"content":" {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" \"src\": \"testCenterText.md\","},{"lineNumber":320,"author":{"gitId":"-"},"content":" \"title\": \"Center-aligned text test\","},{"lineNumber":321,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":322,"author":{"gitId":"-"},"content":" \"center-text\": \"Center Text\""},{"lineNumber":323,"author":{"gitId":"-"},"content":" },"},{"lineNumber":324,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":325,"author":{"gitId":"-"},"content":" },"},{"lineNumber":326,"author":{"gitId":"-"},"content":" {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" \"src\": \"testHr.md\","},{"lineNumber":328,"author":{"gitId":"-"},"content":" \"title\": \"create different types of horizontal rules\","},{"lineNumber":329,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" \"different-types-of-horizontal-rules\": \"Different types of horizontal rules\""},{"lineNumber":331,"author":{"gitId":"-"},"content":" },"},{"lineNumber":332,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":333,"author":{"gitId":"-"},"content":" },"},{"lineNumber":334,"author":{"gitId":"-"},"content":" {"},{"lineNumber":335,"author":{"gitId":"-"},"content":" \"src\": \"testPageNav.md\","},{"lineNumber":336,"author":{"gitId":"-"},"content":" \"title\": \"text interpolation should be skipped appropriately\","},{"lineNumber":337,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":338,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":339,"author":{"gitId":"-"},"content":" },"},{"lineNumber":340,"author":{"gitId":"-"},"content":" {"},{"lineNumber":341,"author":{"gitId":"-"},"content":" \"src\": \"testPanelsClosingTransition.md\","},{"lineNumber":342,"author":{"gitId":"-"},"content":" \"title\": \"Test: Panels closing transition\","},{"lineNumber":343,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":344,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":345,"author":{"gitId":"-"},"content":" },"},{"lineNumber":346,"author":{"gitId":"-"},"content":" {"},{"lineNumber":347,"author":{"gitId":"-"},"content":" \"src\": \"testLinks.md\","},{"lineNumber":348,"author":{"gitId":"-"},"content":" \"title\": \"Autolink tests\","},{"lineNumber":349,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":350,"author":{"gitId":"-"},"content":" \"autolinks\": \"Autolinks\""},{"lineNumber":351,"author":{"gitId":"-"},"content":" },"},{"lineNumber":352,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":353,"author":{"gitId":"-"},"content":" },"},{"lineNumber":354,"author":{"gitId":"-"},"content":" {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" \"src\": \"testTree.md\","},{"lineNumber":356,"author":{"gitId":"-"},"content":" \"title\": \"Tree tests\","},{"lineNumber":357,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":358,"author":{"gitId":"-"},"content":" \"tree\": \"Tree\","},{"lineNumber":359,"author":{"gitId":"-"},"content":" \"single-tree\": \"Single Tree\","},{"lineNumber":360,"author":{"gitId":"-"},"content":" \"multiple-tree\": \"Multiple Tree\","},{"lineNumber":361,"author":{"gitId":"-"},"content":" \"inline-markdown\": \"Inline Markdown\""},{"lineNumber":362,"author":{"gitId":"-"},"content":" },"},{"lineNumber":363,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":364,"author":{"gitId":"-"},"content":" },"},{"lineNumber":365,"author":{"gitId":"-"},"content":" {"},{"lineNumber":366,"author":{"gitId":"-"},"content":" \"src\": \"testMath.md\","},{"lineNumber":367,"author":{"gitId":"-"},"content":" \"title\": \"Math formulae should be displayed correctly, with additional plugin\","},{"lineNumber":368,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":369,"author":{"gitId":"-"},"content":" \"math-formulae\": \"Math Formulae\","},{"lineNumber":370,"author":{"gitId":"-"},"content":" \"markbind-supports-typesetting-tex-math-equations\": \"Markbind supports typesetting TeX math equations\","},{"lineNumber":371,"author":{"gitId":"-"},"content":" \"additional-delimiters-can-be-used-if-mathdelimiters-plugin-is-enabled\": \"Additional delimiters can be used if mathDelimiters plugin is enabled\""},{"lineNumber":372,"author":{"gitId":"-"},"content":" },"},{"lineNumber":373,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":374,"author":{"gitId":"-"},"content":" },"},{"lineNumber":375,"author":{"gitId":"-"},"content":" {"},{"lineNumber":376,"author":{"gitId":"-"},"content":" \"src\": \"testImages.md\","},{"lineNumber":377,"author":{"gitId":"-"},"content":" \"title\": \"Rendering of images according to specified dimension and auto-linkify ability\","},{"lineNumber":378,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":379,"author":{"gitId":"-"},"content":" \"images\": \"Images\","},{"lineNumber":380,"author":{"gitId":"-"},"content":" \"alt\": \"Alt\","},{"lineNumber":381,"author":{"gitId":"-"},"content":" \"dimension\": \"Dimension\","},{"lineNumber":382,"author":{"gitId":"-"},"content":" \"linkify\": \"Linkify\""},{"lineNumber":383,"author":{"gitId":"-"},"content":" },"},{"lineNumber":384,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":385,"author":{"gitId":"-"},"content":" },"},{"lineNumber":386,"author":{"gitId":"-"},"content":" {"},{"lineNumber":387,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavTarget.md\","},{"lineNumber":388,"author":{"gitId":"-"},"content":" \"title\": \"Bootstrap scrollspy related classes should be applied only if there are navigable headings\","},{"lineNumber":389,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":390,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":391,"author":{"gitId":"-"},"content":" },"},{"lineNumber":392,"author":{"gitId":"-"},"content":" {"},{"lineNumber":393,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavWithoutTitleAndNavHeadings.md\","},{"lineNumber":394,"author":{"gitId":"-"},"content":" \"title\": \"page nav separator should be omitted when there is no title and navigation headings added\","},{"lineNumber":395,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":396,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":397,"author":{"gitId":"-"},"content":" },"},{"lineNumber":398,"author":{"gitId":"-"},"content":" {"},{"lineNumber":399,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavWithOnlyTitle.md\","},{"lineNumber":400,"author":{"gitId":"-"},"content":" \"title\": \"page nav with title added\","},{"lineNumber":401,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":402,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":403,"author":{"gitId":"-"},"content":" },"},{"lineNumber":404,"author":{"gitId":"-"},"content":" {"},{"lineNumber":405,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavPrint.md\","},{"lineNumber":406,"author":{"gitId":"-"},"content":" \"title\": \"printing page nav\","},{"lineNumber":407,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":408,"author":{"gitId":"-"},"content":" \"h1\": \"H1\","},{"lineNumber":409,"author":{"gitId":"-"},"content":" \"h2\": \"H2\""},{"lineNumber":410,"author":{"gitId":"-"},"content":" },"},{"lineNumber":411,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":412,"author":{"gitId":"-"},"content":" },"},{"lineNumber":413,"author":{"gitId":"-"},"content":" {"},{"lineNumber":414,"author":{"gitId":"-"},"content":" \"src\": \"testWeb3FormPlugin.md\","},{"lineNumber":415,"author":{"gitId":"-"},"content":" \"title\": \"web 3 forms\","},{"lineNumber":416,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":417,"author":{"gitId":"-"},"content":" \"i-am-a-header\": \"🚀 I am a header\""},{"lineNumber":418,"author":{"gitId":"-"},"content":" },"},{"lineNumber":419,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":420,"author":{"gitId":"-"},"content":" },"},{"lineNumber":421,"author":{"gitId":"-"},"content":" {"},{"lineNumber":422,"author":{"gitId":"-"},"content":" \"src\": \"testList.md\","},{"lineNumber":423,"author":{"gitId":"-"},"content":" \"title\": \"web 3 forms\","},{"lineNumber":424,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":425,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":426,"author":{"gitId":"-"},"content":" },"},{"lineNumber":427,"author":{"gitId":"-"},"content":" {"},{"lineNumber":428,"author":{"gitId":"-"},"content":" \"src\": \"testFontAwesomeInPage.md\","},{"lineNumber":429,"author":{"gitId":"-"},"content":" \"title\": \"font-awesome icon in page, only font-awesome stylesheet should be loaded\","},{"lineNumber":430,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":431,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":432,"author":{"gitId":"-"},"content":" },"},{"lineNumber":433,"author":{"gitId":"-"},"content":" {"},{"lineNumber":434,"author":{"gitId":"-"},"content":" \"src\": \"testGlyphiconInPage.md\","},{"lineNumber":435,"author":{"gitId":"-"},"content":" \"title\": \"glyphicon icon in page, only glyphicon stylesheet should be loaded\","},{"lineNumber":436,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":437,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":438,"author":{"gitId":"-"},"content":" },"},{"lineNumber":439,"author":{"gitId":"-"},"content":" {"},{"lineNumber":440,"author":{"gitId":"-"},"content":" \"src\": \"testMaterialIconsInPage.md\","},{"lineNumber":441,"author":{"gitId":"-"},"content":" \"title\": \"material-icons icon in page, only material-icons stylesheet should be loaded\","},{"lineNumber":442,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":443,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":444,"author":{"gitId":"-"},"content":" },"},{"lineNumber":445,"author":{"gitId":"-"},"content":" {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" \"src\": \"testOcticonInPage.md\","},{"lineNumber":447,"author":{"gitId":"-"},"content":" \"title\": \"octicon icon in page, only octicon stylesheet should be loaded\","},{"lineNumber":448,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":449,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":450,"author":{"gitId":"-"},"content":" },"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" {"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"src\": \"testBootstrapIconInPage.md\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"title\": \"bootstrap icon in page, only octicon stylesheet should be loaded\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"headings\": {},"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"headingKeywords\": {}"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" },"},{"lineNumber":457,"author":{"gitId":"-"},"content":" {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" \"src\": \"testIconsInSiteLayout.md\","},{"lineNumber":459,"author":{"gitId":"-"},"content":" \"title\": \"glyphicon \u0026 octicon icon in page, only glyphicon \u0026 octicon stylesheets should be loaded\","},{"lineNumber":460,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":461,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" },"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" {"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"src\": \"testSourceContainScript.md\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"title\": \"Test: If source contains script or css, when included, the script or css should be included\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"headings\": {"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"panel-with-src-that-contains-css-and-script-header\": \"Panel with src that contains css and script header\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"h1-text\": \"\\n\\n\\n h1 text\\n \\n\""},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" },"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"headingKeywords\": {}"},{"lineNumber":471,"author":{"gitId":"-"},"content":" }"},{"lineNumber":472,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":473,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"-":458,"yiwen101":15}},{"path":"packages/cli/test/functional/test_site/expected/stylesheets/styles.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: auto;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" margin-left: 60px;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":"}"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":113,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":"}"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":124,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" margin-left: 0;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":"}"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":135,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":137}},{"path":"packages/cli/test/functional/test_site/expected/testBootstrapIconInPage.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027div\u0027,[_c(\u0027header\u0027,[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\",\"default-highlight-on\":\"sibling-or-child\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/\",\"title\":\"Home\"}},[_v(\"MarkBind Test Site\")])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs\")])])]),_v(\" \"),_m(0)],1),_v(\" \"),_m(1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(2),_v(\" \"),_m(3),_v(\" \"),_m(4)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})])],1)])}"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":"};"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"bg-info display-4 text-center text-white\"},[_c(\u0027br\u0027),_v(\"\\n Test Jumbotron\"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027br\u0027)])}"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Relative Link Test\")]),_v(\" This is a relative Intra-Site link in a layout (see \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html#heading-with-hidden-keyword\"}},[_v(\"link\")]),_v(\")\")])}"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"A bootstrap icon is supposed to appear here ---\u003e \"),_c(\u0027i\u0027,{staticClass:\"bi-terminal-dash\"})])}"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"There is one bootstrap-icons icon in this page content.\")])])}"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Open up console. Only bootstrap-icons stylesheet should be loaded!\")])])}"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"}];"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" "}],"authorContributionMap":{"yiwen101":22}},{"path":"packages/cli/test/functional/test_site/expected/testList.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027div\u0027,[_c(\u0027header\u0027,[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\",\"default-highlight-on\":\"sibling-or-child\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/\",\"title\":\"Home\"}},[_v(\"MarkBind Test Site\")])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs\")])])]),_v(\" \"),_m(0)],1),_v(\" \"),_m(1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_c(\u0027div\u0027,[_c(\u0027h2\u0027,{attrs:{\"id\":\"default-layout\"}},[_v(\"Default Layout\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#default-layout\",\"onclick\":\"event.stopPropagation()\"}})])])])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027div\u0027,[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs 🐛\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_c(\u0027h3\u0027,{attrs:{\"id\":\"testing-site-nav\"}},[_v(\"Testing Site-Nav\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#testing-site-nav\",\"onclick\":\"event.stopPropagation()\"}})])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027strong\u0027,[_v(\"Dropdown \")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-search\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" title ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Html within site-nav \"),_c(\u0027span\u0027,{staticStyle:{\"color\":\"red\"}},[_v(\"should\")]),_v(\" be displayed properly\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown title 📐\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027mark\u0027,[_v(\"Third Link\")]),_v(\" 📋\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Filler text \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-facetime-video\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" Youtube 📺\")]),_v(\" filler text\"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/watch?v\u003ddQw4w9WgXcQ\"}},[_v(\"The answer to everything in the universe\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027mark\u0027,[_v(\"Dropdown title\")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-comment\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown Title\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Hello Doge Hello Doge 🐶\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_c(\u0027strong\u0027,[_v(\"NESTED LINK\")]),_v(\" Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Test line break in navigation layout\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Nested line break text ✂️\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Nested line break href\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Nested Nested line break text ✂️\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested line break dropdown menu\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Line break item 2 📘\")])])])])])])],1)],1)])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(2),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_m(5),_v(\" \"),_m(6),_v(\" \"),_m(7),_v(\" \"),_m(8),_v(\" \"),_m(9),_v(\" \"),_m(10),_v(\" \"),_m(11),_v(\" \"),_m(12),_v(\" \"),_m(13),_v(\" \"),_m(14),_v(\" \"),_m(15),_v(\" \"),_m(16),_v(\" \"),_m(17),_v(\" \"),_m(18),_v(\" \"),_m(19),_v(\" \"),_m(20),_v(\" \"),_m(21),_v(\" \"),_m(22),_v(\" \"),_m(23),_v(\" \"),_m(24),_v(\" \"),_m(25),_v(\" \"),_m(26),_v(\" \"),_m(27),_v(\" \"),_m(28),_v(\" \"),_m(29),_v(\" \"),_m(30),_v(\" \"),_m(31),_v(\" \"),_m(32),_v(\" \"),_m(33),_v(\" \"),_m(34),_v(\" \"),_m(35),_v(\" \"),_m(36),_v(\" \"),_m(37),_v(\" \"),_m(38),_v(\" \"),_m(39),_v(\" \"),_m(40),_v(\" \"),_m(41),_v(\" \"),_m(42),_v(\" \"),_m(43),_v(\" \"),_m(44),_v(\" \"),_m(45),_v(\" \"),_m(46),_v(\" \"),_m(47),_v(\" \"),_m(48),_v(\" \"),_m(49),_v(\" \"),_m(50),_v(\" \"),_m(51),_v(\" \"),_m(52),_v(\" \"),_m(53),_v(\" \"),_m(54),_v(\" \"),_m(55),_v(\" \"),_m(56),_v(\" \"),_m(57),_v(\" \"),_m(58),_v(\" \"),_m(59),_v(\" \"),_m(60),_v(\" \"),_m(61),_v(\" \"),_m(62),_v(\" \"),_m(63),_v(\" \"),_m(64),_v(\" \"),_m(65)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(66)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"bg-info display-4 text-center text-white\"},[_c(\u0027br\u0027),_v(\"\\n Test Jumbotron\"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027br\u0027)])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Relative Link Test\")]),_v(\" This is a relative Intra-Site link in a layout (see \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html#heading-with-hidden-keyword\"}},[_v(\"link\")]),_v(\")\")])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"-"},"content":") {"},{"lineNumber":14,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item\")])])}"},{"lineNumber":15,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"-"},"content":") {"},{"lineNumber":17,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Only 1 item\")])])}"},{"lineNumber":18,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"-"},"content":") {"},{"lineNumber":20,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item with customization icon\")])])}"},{"lineNumber":21,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"-"},"content":") {"},{"lineNumber":23,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\")])])])}"},{"lineNumber":24,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"-"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item with once customization\")])])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\")])])])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item with customization text\")])])}"},{"lineNumber":33,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"-"},"content":") {"},{"lineNumber":35,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Step 1\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\")])])])}"},{"lineNumber":36,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":37,"author":{"gitId":"-"},"content":") {"},{"lineNumber":38,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item + nested list\")])])}"},{"lineNumber":39,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":40,"author":{"gitId":"-"},"content":") {"},{"lineNumber":41,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Only 1 item\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Only 1 item\")])])])])}"},{"lineNumber":42,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":43,"author":{"gitId":"-"},"content":") {"},{"lineNumber":44,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item + nested list with icon customization\")])])}"},{"lineNumber":45,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":46,"author":{"gitId":"-"},"content":") {"},{"lineNumber":47,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\")])])])])])])}"},{"lineNumber":48,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":49,"author":{"gitId":"-"},"content":") {"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item + nested list with once customization\")])])}"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\")])])])])])])}"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":56,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item + nested list with text customization\")])])}"},{"lineNumber":57,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":58,"author":{"gitId":"-"},"content":") {"},{"lineNumber":59,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Step 1\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Step 1.1\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\")])])])])])])}"},{"lineNumber":60,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":61,"author":{"gitId":"-"},"content":") {"},{"lineNumber":62,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Basic structure\")])])}"},{"lineNumber":63,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":64,"author":{"gitId":"-"},"content":") {"},{"lineNumber":65,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Item A\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-item B3.1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])])}"},{"lineNumber":66,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":67,"author":{"gitId":"-"},"content":") {"},{"lineNumber":68,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Icon inheritance test\")])])}"},{"lineNumber":69,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":70,"author":{"gitId":"-"},"content":") {"},{"lineNumber":71,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":72,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":73,"author":{"gitId":"-"},"content":") {"},{"lineNumber":74,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Text inheritance test\")])])}"},{"lineNumber":75,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":76,"author":{"gitId":"-"},"content":") {"},{"lineNumber":77,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"First layer\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"First layer\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Second layer\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Second layer\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Second layer\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Third layer\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Third layer\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Second layer\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":78,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":79,"author":{"gitId":"-"},"content":") {"},{"lineNumber":80,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"First item no customization test\")])])}"},{"lineNumber":81,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":82,"author":{"gitId":"-"},"content":") {"},{"lineNumber":83,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Item A\")]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"./images/deer.jpg\",\"text\":\"First\"}},[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"fas-file-code\",\"text\":\"Should not be appearing\"}},[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-item B3.1\")]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"./images/deer.jpg\",\"i-width\":\"50px\",\"text\":\"Should not be appearing\"}},[_v(\"Sub-sub-item B3.2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])])}"},{"lineNumber":84,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":85,"author":{"gitId":"-"},"content":") {"},{"lineNumber":86,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Correct first item customization test\")])])}"},{"lineNumber":87,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":88,"author":{"gitId":"-"},"content":") {"},{"lineNumber":89,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":90,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":91,"author":{"gitId":"-"},"content":") {"},{"lineNumber":92,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Testing with various icon attributes\")])])}"},{"lineNumber":93,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":94,"author":{"gitId":"-"},"content":") {"},{"lineNumber":95,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticClass:\"text-warning\",staticStyle:{\"width\":\"200px\",\"height\":\"100px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Hi\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"2rem\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Hi\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"2rem\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Hi\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"height\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"height\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,{attrs:{\"i-class\":\"text-danger\"}},[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"1rem\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Hi\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":96,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":97,"author":{"gitId":"-"},"content":") {"},{"lineNumber":98,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Testing with various text attributes\")])])}"},{"lineNumber":99,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":100,"author":{"gitId":"-"},"content":") {"},{"lineNumber":101,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"text-primary\",staticStyle:{\"font-size\":\"20px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Step 1\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"text-warning\",staticStyle:{\"font-size\":\"20px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Step 2\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"text-success\",staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"text-success\",staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"👍\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"👍\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,{attrs:{\"t-class\":\"text-danger\"}},[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"text-success\",staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":102,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":103,"author":{"gitId":"-"},"content":") {"},{"lineNumber":104,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Mixing text and icon\")])])}"},{"lineNumber":105,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":106,"author":{"gitId":"-"},"content":") {"},{"lineNumber":107,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027span\u0027,{staticClass:\"text-primary\",staticStyle:{\"font-size\":\"20px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Step 1\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027span\u0027,{staticClass:\"text-warning\",staticStyle:{\"font-size\":\"20px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Step 2\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"20px\",\"height\":\"20px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027span\u0027,{staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"30px\",\"height\":\"30px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027span\u0027,{staticClass:\"text-success\",staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"30px\",\"height\":\"30px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027span\u0027,{staticClass:\"text-success\",staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"👍​\")]),_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"👍\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"👍​\")]),_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"👍\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,{attrs:{\"t-class\":\"text-danger\"}},[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"30px\",\"height\":\"30px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027span\u0027,{staticClass:\"text-success\",staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":108,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":109,"author":{"gitId":"-"},"content":") {"},{"lineNumber":110,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Mixing basic and customized lists\")])])}"},{"lineNumber":111,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":112,"author":{"gitId":"-"},"content":") {"},{"lineNumber":113,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Item A\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-danger\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-danger\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticClass:\"text-warning\",staticStyle:{\"width\":\"200px\",\"height\":\"100px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])}"},{"lineNumber":114,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":115,"author":{"gitId":"-"},"content":") {"},{"lineNumber":116,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Reverse mixing basic and customized lists\")])])}"},{"lineNumber":117,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":118,"author":{"gitId":"-"},"content":") {"},{"lineNumber":119,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-item B3.1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])])])}"},{"lineNumber":120,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":121,"author":{"gitId":"-"},"content":") {"},{"lineNumber":122,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Every second list item customized\")])])}"},{"lineNumber":123,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":124,"author":{"gitId":"-"},"content":") {"},{"lineNumber":125,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticClass:\"text-warning\",staticStyle:{\"width\":\"200px\",\"height\":\"100px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticClass:\"text-warning\",staticStyle:{\"width\":\"200px\",\"height\":\"100px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":126,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":127,"author":{"gitId":"-"},"content":") {"},{"lineNumber":128,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Once + none + customization\")])])}"},{"lineNumber":129,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":130,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":131,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":132,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":133,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":134,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Customization + none + once\")])])}"},{"lineNumber":135,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":136,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":137,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":138,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":139,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":140,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Customization + once + none\")])])}"},{"lineNumber":141,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":142,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":143,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":144,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":145,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":146,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Once + customization + none\")])])}"},{"lineNumber":147,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":148,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":149,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":150,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":151,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":152,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"None + customization + once\")])])}"},{"lineNumber":153,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":154,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":155,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Item A\")]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"fas-file-code\"}},[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"glyphicon-education\",\"once\":\"true\"}},[_v(\"Item C\")])])}"},{"lineNumber":156,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":157,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":158,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"None + once + customization\")])])}"},{"lineNumber":159,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":160,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":161,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Item A\")]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"glyphicon-education\",\"once\":\"true\"}},[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"fas-file-code\"}},[_v(\"Item C\")])])}"},{"lineNumber":162,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":163,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":164,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Customization + once + customization\")])])}"},{"lineNumber":165,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":166,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":167,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":168,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":169,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":170,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"String once\")])])}"},{"lineNumber":171,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":172,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":173,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Item C\")])])}"},{"lineNumber":174,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":175,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":176,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"False once for item A, rest of items will inherit\")])])}"},{"lineNumber":177,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":178,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":179,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":180,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":181,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":182,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"False once for item B, will overwrite item A\")])])}"},{"lineNumber":183,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":184,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":185,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":186,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":187,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":188,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Once for specific attributes besides icon, does not overwrite\")])])}"},{"lineNumber":189,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":190,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":191,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"70px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"40px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"70px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":192,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":193,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":194,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"False once for specific attributes besides icon, does overwrite\")])])}"},{"lineNumber":195,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":196,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":197,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"70px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"40px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"40px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":198,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":199,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":200,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Sub-level\")])])}"},{"lineNumber":201,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":202,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":203,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Item A\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"./images/deer.jpg\",\"i-width\":\"50px\"}},[_v(\"Item C\")])])}"},{"lineNumber":204,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":205,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":206,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027footer\u0027,[_c(\u0027h1\u0027,{attrs:{\"id\":\"heading-in-footer-should-not-be-indexed\"}},[_v(\"Heading in footer should not be indexed\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-in-footer-should-not-be-indexed\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"text-center\"},[_v(\"\\n This is a dynamic height footer that supports markdown \"),_c(\u0027span\u0027,[_v(\"😄\")]),_v(\"!\\n \")])])])}"},{"lineNumber":207,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":208,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"KevinEyo1":91,"-":117}},{"path":"packages/cli/test/functional/test_site/expected/testSourceContainScript.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027div\u0027,[_c(\u0027header\u0027,[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\",\"default-highlight-on\":\"sibling-or-child\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/\",\"title\":\"Home\"}},[_v(\"MarkBind Test Site\")])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs\")])])]),_v(\" \"),_m(0)],1),_v(\" \"),_m(1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_c(\u0027div\u0027,[_c(\u0027h2\u0027,{attrs:{\"id\":\"default-layout\"}},[_v(\"Default Layout\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#default-layout\",\"onclick\":\"event.stopPropagation()\"}})])])])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027div\u0027,[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs 🐛\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_c(\u0027h3\u0027,{attrs:{\"id\":\"testing-site-nav\"}},[_v(\"Testing Site-Nav\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#testing-site-nav\",\"onclick\":\"event.stopPropagation()\"}})])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027strong\u0027,[_v(\"Dropdown \")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-search\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" title ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Html within site-nav \"),_c(\u0027span\u0027,{staticStyle:{\"color\":\"red\"}},[_v(\"should\")]),_v(\" be displayed properly\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown title 📐\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027mark\u0027,[_v(\"Third Link\")]),_v(\" 📋\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Filler text \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-facetime-video\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" Youtube 📺\")]),_v(\" filler text\"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/watch?v\u003ddQw4w9WgXcQ\"}},[_v(\"The answer to everything in the universe\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027mark\u0027,[_v(\"Dropdown title\")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-comment\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown Title\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Hello Doge Hello Doge 🐶\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_c(\u0027strong\u0027,[_v(\"NESTED LINK\")]),_v(\" Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Test line break in navigation layout\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Nested line break text ✂️\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Nested line break href\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Nested Nested line break text ✂️\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested line break dropdown menu\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Line break item 2 📘\")])])])])])])],1)],1)])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/testPanels/PanelSourceContainsScript._include_.html\",\"expanded\":\"\",\"panelId\":\"panel-with-src-that-contains-css-and-script-header\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-with-src-that-contains-css-and-script-header\"}},[_v(\"Panel with src that contains css and script header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-with-src-that-contains-css-and-script-header\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])})],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(2)])}"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":"};"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"bg-info display-4 text-center text-white\"},[_c(\u0027br\u0027),_v(\"\\n Test Jumbotron\"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027br\u0027)])}"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Relative Link Test\")]),_v(\" This is a relative Intra-Site link in a layout (see \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html#heading-with-hidden-keyword\"}},[_v(\"link\")]),_v(\")\")])}"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027footer\u0027,[_c(\u0027h1\u0027,{attrs:{\"id\":\"heading-in-footer-should-not-be-indexed\"}},[_v(\"Heading in footer should not be indexed\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-in-footer-should-not-be-indexed\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"text-center\"},[_v(\"\\n This is a dynamic height footer that supports markdown \"),_c(\u0027span\u0027,[_v(\"😄\")]),_v(\"!\\n \")])])])}"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"}];"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" "}],"authorContributionMap":{"yiwen101":16}},{"path":"packages/cli/test/functional/test_site/expected/testWeb3FormPlugin.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"LamJiuFong"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027div\u0027,[_c(\u0027header\u0027,[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\",\"default-highlight-on\":\"sibling-or-child\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/\",\"title\":\"Home\"}},[_v(\"MarkBind Test Site\")])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs\")])])]),_v(\" \"),_m(0)],1),_v(\" \"),_m(1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_c(\u0027div\u0027,[_c(\u0027h2\u0027,{attrs:{\"id\":\"default-layout\"}},[_v(\"Default Layout\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#default-layout\",\"onclick\":\"event.stopPropagation()\"}})])])])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027div\u0027,[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs 🐛\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_c(\u0027h3\u0027,{attrs:{\"id\":\"testing-site-nav\"}},[_v(\"Testing Site-Nav\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#testing-site-nav\",\"onclick\":\"event.stopPropagation()\"}})])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027strong\u0027,[_v(\"Dropdown \")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-search\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" title ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Html within site-nav \"),_c(\u0027span\u0027,{staticStyle:{\"color\":\"red\"}},[_v(\"should\")]),_v(\" be displayed properly\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown title 📐\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027mark\u0027,[_v(\"Third Link\")]),_v(\" 📋\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Filler text \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-facetime-video\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" Youtube 📺\")]),_v(\" filler text\"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/watch?v\u003ddQw4w9WgXcQ\"}},[_v(\"The answer to everything in the universe\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027mark\u0027,[_v(\"Dropdown title\")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-comment\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown Title\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Hello Doge Hello Doge 🐶\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_c(\u0027strong\u0027,[_v(\"NESTED LINK\")]),_v(\" Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Test line break in navigation layout\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Nested line break text ✂️\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Nested line break href\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Nested Nested line break text ✂️\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested line break dropdown menu\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Line break item 2 📘\")])])])])])])],1)],1)])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(2),_v(\" \"),_c(\u0027box\u0027,{staticClass:\"web-3-form\",attrs:{\"type\":\"info\",\"no-icon\":\"\"}},[_c(\u0027p\u0027,{staticClass:\"h2\"},[_v(\"Contact Us\")]),_c(\u0027form\u0027,{attrs:{\"onsubmit\":\"submitForm(this)\"}},[_c(\u0027input\u0027,{attrs:{\"type\":\"hidden\",\"name\":\"access_key\",\"value\":\"\"}}),_c(\u0027label\u0027,{attrs:{\"for\":\"name\"}},[_v(\"Name\")]),_v(\" \"),_c(\u0027input\u0027,{attrs:{\"type\":\"text\",\"name\":\"name\",\"required\":\"\",\"placeholder\":\"John Doe\"}}),_v(\" \"),_c(\u0027label\u0027,{attrs:{\"for\":\"email\"}},[_v(\"Email\")]),_v(\" \"),_c(\u0027input\u0027,{attrs:{\"type\":\"email\",\"name\":\"email\",\"required\":\"\",\"placeholder\":\"johndoe@gmail.com\"}}),_v(\" \"),_c(\u0027label\u0027,{attrs:{\"for\":\"message\"}},[_v(\"Message\")]),_v(\" \"),_c(\u0027textarea\u0027,{attrs:{\"name\":\"message\",\"required\":\"\"}}),_v(\" \"),_c(\u0027button\u0027,{staticClass:\"badge bg-info\",attrs:{\"type\":\"submit\"}},[_v(\"Submit\")])])]),_v(\" \"),_m(3),_v(\" \"),_c(\u0027box\u0027,{staticClass:\"web-3-form\",attrs:{\"type\":\"info\",\"no-icon\":\"\"}},[_c(\u0027form\u0027,{attrs:{\"onsubmit\":\"submitForm(this)\"}},[_c(\u0027input\u0027,{attrs:{\"type\":\"hidden\",\"name\":\"access_key\",\"value\":\"\"}}),_c(\u0027label\u0027,{attrs:{\"for\":\"name\"}},[_v(\"Name\")]),_v(\" \"),_c(\u0027input\u0027,{attrs:{\"type\":\"text\",\"name\":\"name\",\"required\":\"\",\"placeholder\":\"John Doe\"}}),_c(\u0027label\u0027,{attrs:{\"for\":\"message\"}},[_v(\"Message\")]),_v(\" \"),_c(\u0027textarea\u0027,{attrs:{\"name\":\"message\",\"required\":\"\"}}),_c(\u0027button\u0027,{staticClass:\"badge bg-info\",attrs:{\"type\":\"submit\"}},[_v(\"Submit\")])])]),_v(\" \"),_m(4),_v(\" \"),_c(\u0027box\u0027,{staticClass:\"web-3-form\",attrs:{\"type\":\"info\",\"no-icon\":\"\"}},[_c(\u0027form\u0027,{attrs:{\"onsubmit\":\"submitForm(this)\"}},[_c(\u0027input\u0027,{attrs:{\"type\":\"hidden\",\"name\":\"access_key\",\"value\":\"\"}}),_c(\u0027input\u0027,{attrs:{\"type\":\"radio\",\"id\":\"html\",\"name\":\"fav_language\",\"value\":\"HTML\"}}),_c(\u0027label\u0027,{attrs:{\"for\":\"html\"}},[_v(\"HTML\")]),_c(\u0027br\u0027),_c(\u0027input\u0027,{attrs:{\"type\":\"radio\",\"id\":\"css\",\"name\":\"fav_language\",\"value\":\"CSS\"}}),_c(\u0027label\u0027,{attrs:{\"for\":\"css\"}},[_v(\"CSS\")]),_c(\u0027br\u0027),_c(\u0027input\u0027,{attrs:{\"type\":\"radio\",\"id\":\"javascript\",\"name\":\"fav_language\",\"value\":\"JavaScript\"}}),_c(\u0027label\u0027,{attrs:{\"for\":\"javascript\"}},[_v(\"JavaScript\")]),_c(\u0027br\u0027),_c(\u0027input\u0027,{attrs:{\"list\":\"browsers\"}}),_c(\u0027datalist\u0027,{attrs:{\"id\":\"browsers\"}},[_c(\u0027option\u0027,{attrs:{\"value\":\"Internet Explorer\"}}),_c(\u0027option\u0027,{attrs:{\"value\":\"Firefox\"}}),_c(\u0027option\u0027,{attrs:{\"value\":\"Chrome\"}}),_c(\u0027option\u0027,{attrs:{\"value\":\"Opera\"}}),_c(\u0027option\u0027,{attrs:{\"value\":\"Safari\"}})]),_c(\u0027br\u0027),_c(\u0027button\u0027,{staticClass:\"badge bg-info\",attrs:{\"type\":\"submit\"}},[_v(\"Submit\")])])]),_v(\" \"),_m(5),_v(\" \"),_c(\u0027box\u0027,{staticClass:\"web-3-form\",attrs:{\"type\":\"warning\",\"no-icon\":\"\"}},[_c(\u0027h3\u0027,{attrs:{\"id\":\"i-am-a-header\"}},[_v(\"🚀 I am a header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#i-am-a-header\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027form\u0027,{attrs:{\"onsubmit\":\"submitForm(this)\"}},[_c(\u0027input\u0027,{attrs:{\"type\":\"hidden\",\"name\":\"access_key\",\"value\":\"\"}}),_c(\u0027label\u0027,{attrs:{\"for\":\"name\"}},[_v(\"Name\")]),_v(\" \"),_c(\u0027input\u0027,{attrs:{\"type\":\"text\",\"name\":\"name\",\"required\":\"\",\"placeholder\":\"John Doe\"}}),_v(\" \"),_c(\u0027label\u0027,{attrs:{\"for\":\"email\"}},[_v(\"Email\")]),_v(\" \"),_c(\u0027input\u0027,{attrs:{\"type\":\"email\",\"name\":\"email\",\"required\":\"\",\"placeholder\":\"johndoe@gmail.com\"}}),_v(\" \"),_c(\u0027label\u0027,{attrs:{\"for\":\"message\"}},[_v(\"Message\")]),_v(\" \"),_c(\u0027textarea\u0027,{attrs:{\"name\":\"message\",\"required\":\"\"}}),_v(\" \"),_c(\u0027button\u0027,{staticClass:\"badge bg-info\",attrs:{\"type\":\"submit\"}},[_v(\"Submit\")])])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(6)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"bg-info display-4 text-center text-white\"},[_c(\u0027br\u0027),_v(\"\\n Test Jumbotron\"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027br\u0027)])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Relative Link Test\")]),_v(\" This is a relative Intra-Site link in a layout (see \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html#heading-with-hidden-keyword\"}},[_v(\"link\")]),_v(\")\")])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"-"},"content":") {"},{"lineNumber":14,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Default contact us form\")])])}"},{"lineNumber":15,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"-"},"content":") {"},{"lineNumber":17,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Form with default inputs\")])])}"},{"lineNumber":18,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"-"},"content":") {"},{"lineNumber":20,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Form with customised inputs\")])])}"},{"lineNumber":21,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"-"},"content":") {"},{"lineNumber":23,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Form with customised options\")])])}"},{"lineNumber":24,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"-"},"content":") {"},{"lineNumber":26,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027footer\u0027,[_c(\u0027h1\u0027,{attrs:{\"id\":\"heading-in-footer-should-not-be-indexed\"}},[_v(\"Heading in footer should not be indexed\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-in-footer-should-not-be-indexed\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"text-center\"},[_v(\"\\n This is a dynamic height footer that supports markdown \"),_c(\u0027span\u0027,[_v(\"😄\")]),_v(\"!\\n \")])])])}"},{"lineNumber":27,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":28,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"LamJiuFong":1,"-":27}},{"path":"packages/cli/test/functional/test_site/index.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":"title: Hello World"},{"lineNumber":3,"author":{"gitId":"-"},"content":"pageNav: \"default\""},{"lineNumber":4,"author":{"gitId":"-"},"content":"pageNavTitle: \"Testing Page Navigation\""},{"lineNumber":5,"author":{"gitId":"-"},"content":"globalOverrideProperty: \"To be overridden by global override\""},{"lineNumber":6,"author":{"gitId":"-"},"content":"frontmatterOverrideProperty: \"To be overridden by frontmatter override\""},{"lineNumber":7,"author":{"gitId":"-"},"content":"globalAndFrontmatterOverrideProperty: \"To be overridden by frontmatter and global override\""},{"lineNumber":8,"author":{"gitId":"-"},"content":"tags: [\"tag-frontmatter-shown\", \"tag-included-file\", \"+tag-exp*\", \"-tag-exp-hidden\", \"-tag-site-override-shown\", \"-tag-site-override-specific*\"]"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"website-content\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"**Test `\u003cmarkdown\u003e` and `\u003cmd\u003e` elements**"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cmarkdown\u003eThis should be wrapped in a `\u003cp\u003e` tag as it uses the block-level markdown renderer\u003c/markdown\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cmd\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":"This should not be wrapped in a `\u003cp\u003e` tag as it uses the inline markdown renderer"},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003c/md\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003cmarkdown class\u003d\"mt-2\"\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":"```"},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cmarkdown\u003e elements allow block-level markdown without needing a leading newline."},{"lineNumber":24,"author":{"gitId":"-"},"content":"Hence, the contained markdown should be parsed and output as is, without any parsing errors."},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003c/invalidhtml\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":"```"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c/markdown\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003cmd\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"`\u003cmd\u003e` elements allow inline-level markdown even in a non-markdown token."},{"lineNumber":31,"author":{"gitId":"-"},"content":"Hence, the contained markdown should be parsed and output as is, without any parsing errors."},{"lineNumber":32,"author":{"gitId":"-"},"content":"`\u003c/invalid\u003e`."},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/md\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"**Test footnotes**"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testFootnotes.md\" /\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":"**Test include footnotes from hash**"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":"\u003cinclude src\u003d\"testHashFootnotes.md#import\" /\u003e"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"**Nunjucks SetExt**"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"{% ext externalVar \u003d \"_markbind/variable.json\" %}"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"{{ externalVar.front }} {{ externalVar.back }}"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"{% for val in externalVar.arrayVar %}"},{"lineNumber":51,"author":{"gitId":"-"},"content":"{{ val }}"},{"lineNumber":52,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"{{ externalVar.nestedVar.nestedVarKey }}"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"**Variables that reference another variable**"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"{{finalized_value}}"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":"{{reference_level_4}}"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":"**Global Variables can be referenced in {% raw %}{% set %}{% endraw %}**"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"{% set page_variable_with_global_variable %}"},{"lineNumber":65,"author":{"gitId":"-"},"content":"Page Variable with {{ global_variable }}"},{"lineNumber":66,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":67,"author":{"gitId":"-"},"content":"{{ page_variable_with_global_variable }}"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":"**Global Variables should override {% raw %}{% set %}{% endraw %}**"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"{% set page_global_variable_overriding_page_variable %}"},{"lineNumber":72,"author":{"gitId":"-"},"content":"**Should not appear**: Page Variable overridden by Global Variable"},{"lineNumber":73,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":74,"author":{"gitId":"-"},"content":"{{ page_global_variable_overriding_page_variable }}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"**Test Page Variable and Included Variable Integrations**"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"{% set outerNunjucksVariable %}"},{"lineNumber":79,"author":{"gitId":"-"},"content":"Outer Nunjucks Variable"},{"lineNumber":80,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testPageVariablesInInclude.md\" /\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":"# Heading with multiple keywords"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"keyword\"\u003ekeyword 1\u003c/span\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"keyword\"\u003ekeyword 2\u003c/span\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"# Heading with keyword in panel"},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Panel with keyword\" expanded\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"keyword\"\u003epanel keyword\u003c/span\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":"**Panel with heading with keyword**"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"# Panel with heading\" expanded\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"keyword\"\u003epanel keyword\u003c/span\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":"**Expanded panel without heading with keyword**"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"# Panel without heading with keyword\" expanded\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" # Keyword should be tagged to this heading, not the panel heading"},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"keyword\"\u003epanel keyword\u003c/span\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":"**Unexpanded panel with heading with keyword**"},{"lineNumber":108,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"# Panel with heading with keyword\"\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" # Keyword should be tagged to the panel heading, not this heading"},{"lineNumber":111,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"keyword\"\u003epanel keyword\u003c/span\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":"# Heading \u003cinclude src\u003d\"testTrimIncludeFragment.md#fragment\" /\u003e"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":"The `id` for the above heading should be `heading-fragment-with-leading-spaces-and-newline` in total."},{"lineNumber":117,"author":{"gitId":"-"},"content":"This test ensures heading ids are assigned last (e.g. after `\u003cinclude /\u003e`s are processed)."},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"# Heading with included keyword"},{"lineNumber":120,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testKeyword.md\" /\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testKeywordHeading.md\" /\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"keyword\"\u003eKeyword with included heading\u003c/span\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":"# Heading with nested keyword"},{"lineNumber":126,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":" \u003cdiv\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":" \u003cdiv\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"keyword\"\u003enested keyword\u003c/span\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"# Heading with hidden keyword"},{"lineNumber":135,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"keyword d-none\"\u003einvisible keyword\u003c/span\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testTags.md\" /\u003e"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":"**Normal include**"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"requirements/EstablishingRequirements.md\" /\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":"**Include segment**"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"requirements/EstablishingRequirements.md#preview\" /\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"**Boilerplate include**"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"requirements/boilerTest.md\" name\u003d\"Boilerplate Referencing\" boilerplate /\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"requirements/notInside.md\" name\u003d\"Referencing specified path in boilerplate\" boilerplate\u003d\"folder/inside.md\"/\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":"**Nested include**"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"requirements/nestedInclude.md\" /\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":"**HTML include**"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testInclude.html\" /\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"**Include from another MarkBind site**"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"sub_site/index.md\" /\u003e"},{"lineNumber":164,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"sub_site/testReuseSubsite.md\" /\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"sub_site/testReuseSubsite.md#imageTest\" /\u003e"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":"**Include nested sub-site directly**"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003cbox\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"sub_site/nested_sub_site/index.md\" /\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"**Include nested sub-site from sub-site**"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":"\u003cbox\u003e"},{"lineNumber":176,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"sub_site/testSubsiteAndNestedSubsiteBaseUrl.md\" /\u003e"},{"lineNumber":177,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":"**Include a file using baseUrl**"},{"lineNumber":180,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"{{baseUrl}}/requirements/SpecifyingRequirements.md#preview\" /\u003e"},{"lineNumber":181,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"{{baseUrl}}/requirements/SpecifyingRequirements.md#preview\" header\u003d\"**same test with panels**\" type\u003d\"minimal\" /\u003e"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":"**Include a file in a sub-folder that uses baseUrl**"},{"lineNumber":184,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"requirements/testBaseUrlInIncludeSrc.md\" /\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"requirements/testBaseUrlInIncludeSrc.md\" header\u003d\"**same test with panels**\" type\u003d\"minimal\" /\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":"**Include a file in a sub-folder that uses baseUrl using baseUrl**"},{"lineNumber":188,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"{{baseUrl}}/requirements/testBaseUrlInIncludeSrc.md\" /\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"{{baseUrl}}/requirements/testBaseUrlInIncludeSrc.md\" header\u003d\"**same test with panels**\" type\u003d\"minimal\" /\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"**Include a file in a sub-site that uses baseUrl**"},{"lineNumber":192,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"sub_site/testBaseUrlInIncludeSrcSubSite.md\" /\u003e"},{"lineNumber":193,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"sub_site/testBaseUrlInIncludeSrcSubSite.md\" header\u003d\"**same test with panels**\" type\u003d\"minimal\" /\u003e"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":"**Include a file in a sub-site that uses baseUrl using baseUrl**"},{"lineNumber":196,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"{{baseUrl}}/sub_site/testBaseUrlInIncludeSrcSubSite.md\" /\u003e"},{"lineNumber":197,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"{{baseUrl}}/sub_site/testBaseUrlInIncludeSrcSubSite.md\" header\u003d\"**same test with panels**\" type\u003d\"minimal\" /\u003e"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":"**Trimmed include** "},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":"**\u003cinclude src\u003d\"testTrimInclude.md\" trim inline /\u003e**"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":"**Trimmed include fragment**"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":"**Before | \u003cinclude src\u003d\"testTrimIncludeFragment.md#fragment\" trim inline /\u003e | After**"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":"**Include with custom variables**"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testIncludeVariables.md\" var-included_variable_as_include_attribute\u003d\"Included variable as include attribute\"\u003e"},{"lineNumber":210,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable\"\u003eIncluded variable\u003c/variable\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable_with_markdown\"\u003e__**Included variable with markdown**__\u003c/variable\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable_as_attribute\"\u003ecolor: blue\u003c/variable\u003e"},{"lineNumber":213,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable_as_html_element\"\u003e\u003cspan\u003eIncluded variable within HTML element\u003c/span\u003e\u003c/variable\u003e"},{"lineNumber":214,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"global_variable_overriding_included_variable\"\u003e**Should not appear**: Included variable overridden by global variable\u003c/variable\u003e"},{"lineNumber":215,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable_inner_overridden\"\u003eIncluded variable overriding inner variable\u003c/variable\u003e"},{"lineNumber":216,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable_in_outer_included_file\"\u003eIncluded variable in outer included file\u003c/variable\u003e"},{"lineNumber":217,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable_should_not_leak\"\u003e**Should not appear**: Included variable should not leak into other files\u003c/variable\u003e"},{"lineNumber":218,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable_with_global_variable\"\u003eIncluded variable with {{ global_variable }}\u003c/variable\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":"Variables for includes should not be recognised as page variables, hence, there should be no text between **this**"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":"{{ included_variable }}"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":"and **this**."},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":"**Included variables should not leak into other files**"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testIncludeVariableLeak.md\" /\u003e"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":"**Panel with shorthand heading syntax**"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":"\u003cpanel\u003e"},{"lineNumber":234,"author":{"gitId":"-"},"content":" \u003cspan heading\u003e"},{"lineNumber":235,"author":{"gitId":"-"},"content":" Heading"},{"lineNumber":236,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":237,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":"**Panel without src**"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Panel without src header\" expanded\u003e"},{"lineNumber":242,"author":{"gitId":"-"},"content":"\u003cmarkdown\u003e"},{"lineNumber":243,"author":{"gitId":"-"},"content":"**Panel without src content heading**"},{"lineNumber":244,"author":{"gitId":"-"},"content":"\u003c/markdown\u003e "},{"lineNumber":245,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":"**Panel with normal src**"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Panel with normal src header\" src\u003d\"testPanels/PanelNormalSource.md\" expanded\u003e"},{"lineNumber":250,"author":{"gitId":"-"},"content":"\u003c/panel\u003e "},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":"**Panel with src from a page segment**"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Panel with src from a page segment header\" src\u003d\"testPanels/PanelSourceContainsSegment.md#segment\" expanded\u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":"**Panel with boilerplate**"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Boilerplate referencing\" src\u003d\"testPanels/boilerTestPanel.md\" boilerplate expanded\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Boilerplate referencing 2\" src\u003d\"testPanelsDuplicate/boilerTestPanel.md\" boilerplate expanded\u003e"},{"lineNumber":263,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Referencing specified path in boilerplate\" src\u003d\"testPanels/notInside.md\" boilerplate\u003d\"folder/panelBoilerplate.md\" expanded\u003e"},{"lineNumber":266,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":"**Nested panel**"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Outer nested panel\" src\u003d\"testPanels/NestedPanel.md\" expanded\u003e"},{"lineNumber":271,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":272,"author":{"gitId":"-"},"content":""},{"lineNumber":273,"author":{"gitId":"-"},"content":"**Nested panel without src**"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Outer nested panel without src\" expanded\u003e"},{"lineNumber":276,"author":{"gitId":"-"},"content":""},{"lineNumber":277,"author":{"gitId":"-"},"content":" **Panel content of outer nested panel**"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"## Inner panel header without src\" expanded\u003e"},{"lineNumber":280,"author":{"gitId":"-"},"content":" "},{"lineNumber":281,"author":{"gitId":"-"},"content":" **Panel content of inner nested panel**"},{"lineNumber":282,"author":{"gitId":"-"},"content":""},{"lineNumber":283,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":284,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":"**Panel with src from another MarkBind site**"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Panel with src from another MarkBind site header\" src\u003d\"sub_site/index.md\" expanded\u003e"},{"lineNumber":289,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":290,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Panel with src from another MarkBind site header\" src\u003d\"sub_site/testReuseSubsite.md\" expanded\u003e"},{"lineNumber":291,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":292,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":"**Modal with panel inside**"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":"\u003ctrigger for\u003d\"modal-with-panel\"\u003etrigger\u003c/trigger\u003e"},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":"\u003cmodal header\u003d\"modal title with panel inside\" id\u003d\"modal-with-panel\"\u003e"},{"lineNumber":299,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"## Panel inside modal\" expanded\u003e"},{"lineNumber":300,"author":{"gitId":"-"},"content":" "},{"lineNumber":301,"author":{"gitId":"-"},"content":" **Panel content inside modal**"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":304,"author":{"gitId":"-"},"content":"\u003c/modal\u003e"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":"**The button of modal inside dismissible box should be properly positioned**"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":"\u003cbox dismissible\u003e"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":"\u003cinclude src\u003d\"testModal/DismissibleBox.md#example\"/\u003e"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":"**Unexpanded panel**"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Unexpanded panel header\"\u003e"},{"lineNumber":316,"author":{"gitId":"-"},"content":""},{"lineNumber":317,"author":{"gitId":"-"},"content":" **Panel content of unexpanded panel should not appear in search data**"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"## Panel header inside unexpanded panel should not appear in search data\" expanded\u003e"},{"lineNumber":320,"author":{"gitId":"-"},"content":" "},{"lineNumber":321,"author":{"gitId":"-"},"content":" **Panel content inside unexpanded panel should not appear in search data**"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":324,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":"**Test panel closing transitions**"},{"lineNumber":327,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testPanelsClosingTransition.md\" /\u003e"},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":"**Test popover has no stray space**"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":"(\u003cpopover content\u003d\"content\"\u003eThere should be no stray space before this\u003c/popover\u003e)"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":"**Test tooltip has no stray space**"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":"(\u003ctooltip content\u003d\"content\"\u003eThere should be no stray space before this\u003c/tooltip\u003e)"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":"**Test search indexing**"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":"**Test PlantUML live reload without include**"},{"lineNumber":338,"author":{"gitId":"-"},"content":"\u003cpuml src\u003d\"diagrams/activity.puml\" alt\u003d\"activity diagram\" /\u003e"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":"**Test PlantUML live reload with include**"},{"lineNumber":341,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testPlantUML.md\" /\u003e"},{"lineNumber":342,"author":{"gitId":"-"},"content":""},{"lineNumber":343,"author":{"gitId":"-"},"content":"**Test PlantUML in sub folder**"},{"lineNumber":344,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"sub_site/testPlantUMLSubFolderInclude.md\" /\u003e"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":"## Level 2 header (inside headingSearchIndex) with no-index attribute should not be indexed {.no-index}"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":"###### Level 6 header (outside headingSearchIndex) with always-index attribute should be indexed {.always-index}"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":"**Test nunjucks raw tags**"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":"{% raw %}"},{"lineNumber":353,"author":{"gitId":"-"},"content":""},{"lineNumber":354,"author":{"gitId":"-"},"content":"\u003cdiv v-pre\u003e{{ variable interpolation syntax can be used with v-pre }}\u003c/div\u003e"},{"lineNumber":355,"author":{"gitId":"-"},"content":"\u003cdiv v-pre\u003e{{ nonExistentVariable }}\u003c/div\u003e"},{"lineNumber":356,"author":{"gitId":"-"},"content":"\u003ccode\u003e{{ code elements should automatically be assigned v-pre }}\u003c/code\u003e"},{"lineNumber":357,"author":{"gitId":"-"},"content":""},{"lineNumber":358,"author":{"gitId":"-"},"content":"{% endraw %}"}],"authorContributionMap":{"-":342,"yiwen101":16}},{"path":"packages/cli/test/functional/test_site/site.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"baseUrl\": \"/test_site\","},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"faviconPath\": \"favicon.png\","},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"titlePrefix\": \"\","},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"titleSuffix\": \"\","},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"style\": {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"codeLineNumbers\": true"},{"lineNumber":8,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":10,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"src\": \"index.md\","},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"frontmatter\": {"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"frontmatterOverrideProperty\": \"Overridden by frontmatter override\","},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"globalAndFrontmatterOverrideProperty\": \"Overridden by frontmatter override\""},{"lineNumber":16,"author":{"gitId":"-"},"content":" }"},{"lineNumber":17,"author":{"gitId":"-"},"content":" },"},{"lineNumber":18,"author":{"gitId":"-"},"content":" {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"src\": [\"testEmptyFrontmatter.md\", \"testLayoutsOverride.md\", \"testEmptyAltFrontMatter.md\", \"testLayoutsOverrideWithAltFrontmatter.md\"],"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"layout\": \"testLayout.md\""},{"lineNumber":22,"author":{"gitId":"-"},"content":" },"},{"lineNumber":23,"author":{"gitId":"-"},"content":" {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"src\": [\"testAltFrontMatterInvalidKeyValue.md\", \"testSingleAltFrontMatter.md\"],"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\""},{"lineNumber":26,"author":{"gitId":"-"},"content":" },"},{"lineNumber":27,"author":{"gitId":"-"},"content":" {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"src\": [\"testAltFrontMatterParsing.md\"]"},{"lineNumber":29,"author":{"gitId":"-"},"content":" },"},{"lineNumber":30,"author":{"gitId":"-"},"content":" {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"src\": \"testExternalScripts.md\","},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"layout\": \"testLayout.md\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"externalScripts\": ["},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config\u003dTeX-MML-AM_CHTML\""},{"lineNumber":36,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":37,"author":{"gitId":"-"},"content":" },"},{"lineNumber":38,"author":{"gitId":"-"},"content":" {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"src\": [\"testLayouts.md\", \"testLayoutsWithAltFrontMatter.md\"],"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"title\": \"Test nunjucks path resolving\""},{"lineNumber":41,"author":{"gitId":"-"},"content":" },"},{"lineNumber":42,"author":{"gitId":"-"},"content":" {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"src\": ["},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"testNunjucksPathResolving.md\","},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"sub_site/testNunjucksPathResolving.md\","},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"sub_site/nested_sub_site/testNunjucksPathResolving.md\""},{"lineNumber":47,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\""},{"lineNumber":49,"author":{"gitId":"-"},"content":" },"},{"lineNumber":50,"author":{"gitId":"-"},"content":" {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"glob\": [\"**/index.md\", \"**/test_md_fragment.md\"]"},{"lineNumber":52,"author":{"gitId":"-"},"content":" },"},{"lineNumber":53,"author":{"gitId":"-"},"content":" {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"src\": \"testAntiFOUCStyles.md\","},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\""},{"lineNumber":56,"author":{"gitId":"-"},"content":" },"},{"lineNumber":57,"author":{"gitId":"-"},"content":" {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \"src\": \"testAnchorGeneration.md\","},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"title\": \"Anchor Generation Test\""},{"lineNumber":60,"author":{"gitId":"-"},"content":" },"},{"lineNumber":61,"author":{"gitId":"-"},"content":" {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"src\": \"testAnnotate.md\","},{"lineNumber":63,"author":{"gitId":"-"},"content":" \"title\": \"Annotate Feature Test\""},{"lineNumber":64,"author":{"gitId":"-"},"content":" },"},{"lineNumber":65,"author":{"gitId":"-"},"content":" {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"src\": \"testTooltipSpacing.md\","},{"lineNumber":67,"author":{"gitId":"-"},"content":" \"title\": \"Tooltip Spacing Test\""},{"lineNumber":68,"author":{"gitId":"-"},"content":" },"},{"lineNumber":69,"author":{"gitId":"-"},"content":" {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"src\": \"testThumbnails.md\","},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"title\": \"Thumbnails Test\""},{"lineNumber":72,"author":{"gitId":"-"},"content":" },"},{"lineNumber":73,"author":{"gitId":"-"},"content":" {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \"src\": \"testPlantUML.md\","},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"title\": \"PlantUML Test\""},{"lineNumber":76,"author":{"gitId":"-"},"content":" },"},{"lineNumber":77,"author":{"gitId":"-"},"content":" {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"src\": \"testCodeBlocks.md\","},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"title\": \"Test: Code Blocks\""},{"lineNumber":80,"author":{"gitId":"-"},"content":" },"},{"lineNumber":81,"author":{"gitId":"-"},"content":" {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \"src\": \"testIncludePluginsRendered.md\","},{"lineNumber":83,"author":{"gitId":"-"},"content":" \"title\": \"Included files should have plugins rendered on them\""},{"lineNumber":84,"author":{"gitId":"-"},"content":" },"},{"lineNumber":85,"author":{"gitId":"-"},"content":" {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" \"src\": \"testIncludeMultipleModals.md\","},{"lineNumber":87,"author":{"gitId":"-"},"content":" \"title\": \"Multiple inclusions of a modal should be supported\""},{"lineNumber":88,"author":{"gitId":"-"},"content":" },"},{"lineNumber":89,"author":{"gitId":"-"},"content":" {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \"src\": \"testPopovers.md\","},{"lineNumber":91,"author":{"gitId":"-"},"content":" \"title\": \"Test: Popovers\""},{"lineNumber":92,"author":{"gitId":"-"},"content":" },"},{"lineNumber":93,"author":{"gitId":"-"},"content":" {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \"src\": \"testPopoverTrigger.md\","},{"lineNumber":95,"author":{"gitId":"-"},"content":" \"title\": \"Popover initiated by trigger should honor trigger attribute\""},{"lineNumber":96,"author":{"gitId":"-"},"content":" },"},{"lineNumber":97,"author":{"gitId":"-"},"content":" {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" \"src\": \"testModals.md\","},{"lineNumber":99,"author":{"gitId":"-"},"content":" \"title\": \"Test: Modals\""},{"lineNumber":100,"author":{"gitId":"-"},"content":" },"},{"lineNumber":101,"author":{"gitId":"-"},"content":" {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \"src\": \"testDates.md\","},{"lineNumber":103,"author":{"gitId":"-"},"content":" \"title\": \"Nunjucks date filter tests\""},{"lineNumber":104,"author":{"gitId":"-"},"content":" },"},{"lineNumber":105,"author":{"gitId":"-"},"content":" {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \"src\": \"testVariableContainsInclude.md\","},{"lineNumber":107,"author":{"gitId":"-"},"content":" \"title\": \"Variable should be able to store included content fragments\""},{"lineNumber":108,"author":{"gitId":"-"},"content":" },"},{"lineNumber":109,"author":{"gitId":"-"},"content":" {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" \"src\": \"testIncludeBoilerplate.md\","},{"lineNumber":111,"author":{"gitId":"-"},"content":" \"title\": \"Content inside \u003cinclude\u003e should not be processed by markdown\""},{"lineNumber":112,"author":{"gitId":"-"},"content":" },"},{"lineNumber":113,"author":{"gitId":"-"},"content":" {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" \"src\": \"testPanels.md\","},{"lineNumber":115,"author":{"gitId":"-"},"content":" \"title\": \"Test: Panels\""},{"lineNumber":116,"author":{"gitId":"-"},"content":" },"},{"lineNumber":117,"author":{"gitId":"-"},"content":" {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \"src\": \"testPanelMarkdownParsing.md\","},{"lineNumber":119,"author":{"gitId":"-"},"content":" \"title\": \"markdown-it should parse minimized panel as inline element and normal panel as block element\""},{"lineNumber":120,"author":{"gitId":"-"},"content":" },"},{"lineNumber":121,"author":{"gitId":"-"},"content":" {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" \"src\": \"testCenterText.md\","},{"lineNumber":123,"author":{"gitId":"-"},"content":" \"title\": \"Center-aligned text test\""},{"lineNumber":124,"author":{"gitId":"-"},"content":" },"},{"lineNumber":125,"author":{"gitId":"-"},"content":" {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \"src\": \"testHr.md\","},{"lineNumber":127,"author":{"gitId":"-"},"content":" \"title\": \"create different types of horizontal rules\""},{"lineNumber":128,"author":{"gitId":"-"},"content":" },"},{"lineNumber":129,"author":{"gitId":"-"},"content":" {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" \"src\": \"testPageNav.md\","},{"lineNumber":131,"author":{"gitId":"-"},"content":" \"title\": \"text interpolation should be skipped appropriately\""},{"lineNumber":132,"author":{"gitId":"-"},"content":" },"},{"lineNumber":133,"author":{"gitId":"-"},"content":" {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" \"src\": \"testPanelsClosingTransition.md\","},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"title\": \"Test: Panels closing transition\""},{"lineNumber":136,"author":{"gitId":"-"},"content":" },"},{"lineNumber":137,"author":{"gitId":"-"},"content":" {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" \"src\": \"testLinks.md\","},{"lineNumber":139,"author":{"gitId":"-"},"content":" \"title\": \"Autolink tests\""},{"lineNumber":140,"author":{"gitId":"-"},"content":" },"},{"lineNumber":141,"author":{"gitId":"-"},"content":" {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" \"src\": \"testTree.md\","},{"lineNumber":143,"author":{"gitId":"-"},"content":" \"title\": \"Tree tests\""},{"lineNumber":144,"author":{"gitId":"-"},"content":" },"},{"lineNumber":145,"author":{"gitId":"-"},"content":" {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" \"src\": \"testMath.md\","},{"lineNumber":147,"author":{"gitId":"-"},"content":" \"title\": \"Math formulae should be displayed correctly, with additional plugin\""},{"lineNumber":148,"author":{"gitId":"-"},"content":" },"},{"lineNumber":149,"author":{"gitId":"-"},"content":" {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" \"src\": \"testImages.md\","},{"lineNumber":151,"author":{"gitId":"-"},"content":" \"title\": \"Rendering of images according to specified dimension and auto-linkify ability\""},{"lineNumber":152,"author":{"gitId":"-"},"content":" },"},{"lineNumber":153,"author":{"gitId":"-"},"content":" {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavTarget.md\","},{"lineNumber":155,"author":{"gitId":"-"},"content":" \"title\": \"Bootstrap scrollspy related classes should be applied only if there are navigable headings\""},{"lineNumber":156,"author":{"gitId":"-"},"content":" },"},{"lineNumber":157,"author":{"gitId":"-"},"content":" {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavWithoutTitleAndNavHeadings.md\","},{"lineNumber":159,"author":{"gitId":"-"},"content":" \"title\": \"page nav separator should be omitted when there is no title and navigation headings added\""},{"lineNumber":160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":161,"author":{"gitId":"-"},"content":" {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavWithOnlyTitle.md\","},{"lineNumber":163,"author":{"gitId":"-"},"content":" \"title\": \"page nav with title added\""},{"lineNumber":164,"author":{"gitId":"-"},"content":" },"},{"lineNumber":165,"author":{"gitId":"-"},"content":" {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavPrint.md\","},{"lineNumber":167,"author":{"gitId":"-"},"content":" \"title\": \"printing page nav\""},{"lineNumber":168,"author":{"gitId":"-"},"content":" },"},{"lineNumber":169,"author":{"gitId":"-"},"content":" {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" \"src\": \"testWeb3FormPlugin.md\","},{"lineNumber":171,"author":{"gitId":"-"},"content":" \"title\": \"web 3 forms\""},{"lineNumber":172,"author":{"gitId":"-"},"content":" },"},{"lineNumber":173,"author":{"gitId":"-"},"content":" {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" \"src\": \"testList.md\","},{"lineNumber":175,"author":{"gitId":"-"},"content":" \"title\": \"web 3 forms\""},{"lineNumber":176,"author":{"gitId":"-"},"content":" },"},{"lineNumber":177,"author":{"gitId":"-"},"content":" {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" \"src\": \"testFontAwesomeInPage.md\","},{"lineNumber":179,"author":{"gitId":"-"},"content":" \"title\": \"font-awesome icon in page, only font-awesome stylesheet should be loaded\""},{"lineNumber":180,"author":{"gitId":"-"},"content":" },"},{"lineNumber":181,"author":{"gitId":"-"},"content":" {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" \"src\": \"testGlyphiconInPage.md\","},{"lineNumber":183,"author":{"gitId":"-"},"content":" \"title\": \"glyphicon icon in page, only glyphicon stylesheet should be loaded\""},{"lineNumber":184,"author":{"gitId":"-"},"content":" },"},{"lineNumber":185,"author":{"gitId":"-"},"content":" {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \"src\": \"testMaterialIconsInPage.md\","},{"lineNumber":187,"author":{"gitId":"-"},"content":" \"title\": \"material-icons icon in page, only material-icons stylesheet should be loaded\""},{"lineNumber":188,"author":{"gitId":"-"},"content":" },"},{"lineNumber":189,"author":{"gitId":"-"},"content":" {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" \"src\": \"testOcticonInPage.md\","},{"lineNumber":191,"author":{"gitId":"-"},"content":" \"title\": \"octicon icon in page, only octicon stylesheet should be loaded\""},{"lineNumber":192,"author":{"gitId":"-"},"content":" },"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" {"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"src\": \"testBootstrapIconInPage.md\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"title\": \"bootstrap icon in page, only octicon stylesheet should be loaded\""},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" },"},{"lineNumber":197,"author":{"gitId":"-"},"content":" {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" \"src\": \"testIconsInSiteLayout.md\","},{"lineNumber":199,"author":{"gitId":"-"},"content":" \"title\": \"glyphicon \u0026 octicon icon in page, only glyphicon \u0026 octicon stylesheets should be loaded\""},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" },"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" {"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"src\": \"testSourceContainScript.md\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"title\": \"Test: If source contains script or css, when included, the script or css should be included\""},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":206,"author":{"gitId":"-"},"content":" \"pagesExclude\": [\"**/*-fragment.md\"],"},{"lineNumber":207,"author":{"gitId":"-"},"content":" \"ignore\": ["},{"lineNumber":208,"author":{"gitId":"-"},"content":" \"_markbind/layouts/*\","},{"lineNumber":209,"author":{"gitId":"-"},"content":" \"_markbind/logs/*\","},{"lineNumber":210,"author":{"gitId":"-"},"content":" \"_site/*\","},{"lineNumber":211,"author":{"gitId":"-"},"content":" \"site.json\","},{"lineNumber":212,"author":{"gitId":"-"},"content":" \"*.md\","},{"lineNumber":213,"author":{"gitId":"-"},"content":" \"testFileIgnore.sh\","},{"lineNumber":214,"author":{"gitId":"-"},"content":" \"testFileIgnore/*\","},{"lineNumber":215,"author":{"gitId":"-"},"content":" \"expected/*\""},{"lineNumber":216,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":217,"author":{"gitId":"-"},"content":" \"deploy\": {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" \"message\": \"Site Update.\""},{"lineNumber":219,"author":{"gitId":"-"},"content":" },"},{"lineNumber":220,"author":{"gitId":"-"},"content":" \"globalOverride\": {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" \"globalOverrideProperty\": \"Overridden by global override\","},{"lineNumber":222,"author":{"gitId":"-"},"content":" \"globalAndFrontmatterOverrideProperty\": \"Overridden by global override\""},{"lineNumber":223,"author":{"gitId":"-"},"content":" },"},{"lineNumber":224,"author":{"gitId":"-"},"content":" \"headingIndexingLevel\": 4,"},{"lineNumber":225,"author":{"gitId":"-"},"content":" \"plugins\": ["},{"lineNumber":226,"author":{"gitId":"-"},"content":" \"testMarkbindPlugin\","},{"lineNumber":227,"author":{"gitId":"-"},"content":" \"filterTags\","},{"lineNumber":228,"author":{"gitId":"-"},"content":" \"googleAnalytics\","},{"lineNumber":229,"author":{"gitId":"-"},"content":" \"mathDelimiters\","},{"lineNumber":230,"author":{"gitId":"-"},"content":" \"web3Form\""},{"lineNumber":231,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":232,"author":{"gitId":"-"},"content":" \"pluginsContext\": {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" \"testMarkbindPlugin\": {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" \"pre\": \"\\n\\n# Markbind Plugin Pre-render\","},{"lineNumber":235,"author":{"gitId":"-"},"content":" \"post\": \"\u003cp\u003eNode Modules Plugin Post-render\u003c/p\u003e\""},{"lineNumber":236,"author":{"gitId":"-"},"content":" },"},{"lineNumber":237,"author":{"gitId":"-"},"content":" \"filterTags\": {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" \"tags\": ["},{"lineNumber":239,"author":{"gitId":"-"},"content":" \"tag-site-shown\","},{"lineNumber":240,"author":{"gitId":"-"},"content":" \"+tag-site-override-shown\","},{"lineNumber":241,"author":{"gitId":"-"},"content":" \"+tag-site-override-specific-shown\""},{"lineNumber":242,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":243,"author":{"gitId":"-"},"content":" },"},{"lineNumber":244,"author":{"gitId":"-"},"content":" \"googleAnalytics\": {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" \"trackingID\": \"TRACKING-ID\""},{"lineNumber":246,"author":{"gitId":"-"},"content":" },"},{"lineNumber":247,"author":{"gitId":"-"},"content":" \"mathDelimiters\": {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" \"delimiters\": [\"beg_end\"]"},{"lineNumber":249,"author":{"gitId":"-"},"content":" },"},{"lineNumber":250,"author":{"gitId":"-"},"content":" \"web3Form\": {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" \"accessKey\": \"\""},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"-":246,"yiwen101":8}},{"path":"packages/cli/test/functional/test_site/stylesheets/styles.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: auto;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" margin-left: 60px;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":"}"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":113,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":"}"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":124,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" margin-left: 0;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":"}"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":135,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":137}},{"path":"packages/cli/test/functional/test_site/testBootstrapIconInPage.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":"title: Test optimize loading of icon stylesheets"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":"layout: simpleLayoutWithoutIcons.md"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":"A bootstrap icon is supposed to appear here ---\u003e :bi-terminal-dash:"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"**There is one bootstrap-icons icon in this page content.**"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"**Open up console. Only bootstrap-icons stylesheet should be loaded!**"}],"authorContributionMap":{"yiwen101":10}},{"path":"packages/cli/test/functional/test_site/testHashFootnotes.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"\u003cdiv id\u003d\"import\"\u003e"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":"text^[footnote1], text2^[footnote2]"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"yiwen101":4}},{"path":"packages/cli/test/functional/test_site/testList.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"1. One item"},{"lineNumber":2,"author":{"gitId":"-"},"content":"- Only 1 item "},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"-"},"content":"1. One item with customization icon"},{"lineNumber":5,"author":{"gitId":"-"},"content":"- Only 1 item { icon\u003d\"glyphicon-education\" }"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"1. One item with once customization"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"- Only 1 item { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"1. One item with customization text"},{"lineNumber":11,"author":{"gitId":"-"},"content":"- Only 1 item { text\u003d\"Step 1\" }"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"1. One item + nested list"},{"lineNumber":14,"author":{"gitId":"-"},"content":"- Only 1 item"},{"lineNumber":15,"author":{"gitId":"-"},"content":" - Only 1 item"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"1. One item + nested list with icon customization"},{"lineNumber":18,"author":{"gitId":"-"},"content":"- Only 1 item { icon\u003d\"glyphicon-education\" }"},{"lineNumber":19,"author":{"gitId":"-"},"content":" - Only 1 item { icon\u003d\"glyphicon-education\" }"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"1. One item + nested list with once customization"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":"- Only 1 item { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" - Only 1 item { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"1. One item + nested list with text customization"},{"lineNumber":26,"author":{"gitId":"-"},"content":"- Only 1 item { text\u003d\"Step 1\" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":" - Only 1 item { text\u003d\"Step 1.1\" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"1. Basic structure"},{"lineNumber":30,"author":{"gitId":"-"},"content":"* Item A"},{"lineNumber":31,"author":{"gitId":"-"},"content":"* Item B "},{"lineNumber":32,"author":{"gitId":"-"},"content":" * Sub-item B1 "},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Sub-item B2 "},{"lineNumber":34,"author":{"gitId":"-"},"content":" * Sub-item B3 "},{"lineNumber":35,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1"},{"lineNumber":36,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2 "},{"lineNumber":37,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1"},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Sub-item B4 "},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"1. Icon inheritance test"},{"lineNumber":41,"author":{"gitId":"-"},"content":"* Item A { icon\u003d\"glyphicon-education\" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":"* Item B "},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Sub-item B1 { icon\u003d\"fas-file-code\" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":" * Sub-item B2"},{"lineNumber":45,"author":{"gitId":"-"},"content":" * Sub-item B3 "},{"lineNumber":46,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1"},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Sub-item B4 "},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":"1. Text inheritance test"},{"lineNumber":52,"author":{"gitId":"-"},"content":"* Item A { text\u003d\"First layer\" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":"* Item B"},{"lineNumber":54,"author":{"gitId":"-"},"content":" * Sub-item B1 { text\u003d\"Second layer\" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Sub-item B2"},{"lineNumber":56,"author":{"gitId":"-"},"content":" * Sub-item B3"},{"lineNumber":57,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 { text\u003d\"Third layer\" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1"},{"lineNumber":60,"author":{"gitId":"-"},"content":" * Sub-item B4"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":"1. First item no customization test"},{"lineNumber":63,"author":{"gitId":"-"},"content":"* Item A "},{"lineNumber":64,"author":{"gitId":"-"},"content":"* Item B { icon\u003d\"./images/deer.jpg\" text\u003d\"First\"}"},{"lineNumber":65,"author":{"gitId":"-"},"content":" * Sub-item B1"},{"lineNumber":66,"author":{"gitId":"-"},"content":" * Sub-item B2 { icon\u003d\"fas-file-code\" text\u003d\"Should not be appearing\"}"},{"lineNumber":67,"author":{"gitId":"-"},"content":" * Sub-item B3"},{"lineNumber":68,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1"},{"lineNumber":69,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" text\u003d\"Should not be appearing\"}"},{"lineNumber":70,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1"},{"lineNumber":71,"author":{"gitId":"-"},"content":" * Sub-item B4"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":"1. Correct first item customization test"},{"lineNumber":74,"author":{"gitId":"-"},"content":"* Item A { icon\u003d\"glyphicon-education\" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":"* Item B { icon\u003d\"./images/deer.jpg\" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Sub-item B1 { icon\u003d\"fas-file-code\" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":" * Sub-item B2 "},{"lineNumber":78,"author":{"gitId":"-"},"content":" * Sub-item B3"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2 "},{"lineNumber":81,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1"},{"lineNumber":82,"author":{"gitId":"-"},"content":" * Sub-item B4"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":"1. Testing with various icon attributes"},{"lineNumber":85,"author":{"gitId":"-"},"content":"* Item A { icon\u003d\"glyphicon-education\" i-size\u003d\"20px\" i-class\u003d\"text-primary\" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":"* Item B { icon\u003d\"./images/deer.jpg\" i-width\u003d\"200px\" i-height\u003d\"100px\" i-class\u003d\"text-warning\" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":" * Sub-item B1 { icon\u003d\"fas-file-code\" text\u003d\"Hi\" i-size\u003d\"30px\" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Sub-item B2 { i-class\u003d\"text-success\" i-spacing\u003d\"2rem\" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":" * Sub-item B3"},{"lineNumber":90,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" i-height\u003d\"50px\" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2 "},{"lineNumber":92,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1 { i-class\u003d\"text-danger\" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":" * Sub-item B4 { i-spacing\u003d\"1rem\" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":"1. Testing with various text attributes"},{"lineNumber":96,"author":{"gitId":"-"},"content":"* Item A { text\u003d\"Step 1\" t-size\u003d\"20px\" t-class\u003d\"text-primary\" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":"* Item B { text\u003d\"Step 2\" t-class\u003d\"text-warning\" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Sub-item B1 { text\u003d\"\\_MD_\" t-size\u003d\"10px\" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":" * Sub-item B2 { t-class\u003d\"text-success\" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * Sub-item B3"},{"lineNumber":101,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 { text\u003d\":+1:\"}"},{"lineNumber":102,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2"},{"lineNumber":103,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1 { t-class\u003d\"text-danger\" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Sub-item B4"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"1. Mixing text and icon "},{"lineNumber":107,"author":{"gitId":"-"},"content":"* Item A { text\u003d\"Step 1\" icon\u003d\"glyphicon-education\" t-size\u003d\"20px\" t-class\u003d\"text-primary\" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":"* Item B { text\u003d\"Step 2\" t-class\u003d\"text-warning\" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":" * Sub-item B1 { text\u003d\"\\_MD_\" icon\u003d\"./images/deer.jpg\" t-size\u003d\"10px\" i-width\u003d\"20px\" i-height\u003d\"20px\"}"},{"lineNumber":110,"author":{"gitId":"-"},"content":" * Sub-item B2 { t-class\u003d\"text-success\" i-height\u003d\"30px\" i-width\u003d\"30px\"}"},{"lineNumber":111,"author":{"gitId":"-"},"content":" * Sub-item B3"},{"lineNumber":112,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 { text\u003d\":+1:\" icon\u003d\"+1\"}"},{"lineNumber":113,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2"},{"lineNumber":114,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1 { t-class\u003d\"text-danger\" }"},{"lineNumber":115,"author":{"gitId":"-"},"content":" * Sub-item B4"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":"1. Mixing basic and customized lists"},{"lineNumber":118,"author":{"gitId":"-"},"content":"* Item A"},{"lineNumber":119,"author":{"gitId":"-"},"content":"* Item B "},{"lineNumber":120,"author":{"gitId":"-"},"content":" * Sub-item B1 {icon\u003d\"fas-file-code\" i-size\u003d\"20px\" i-class\u003d\"text-success\"}"},{"lineNumber":121,"author":{"gitId":"-"},"content":" * Sub-item B2 "},{"lineNumber":122,"author":{"gitId":"-"},"content":" * Sub-item B3 "},{"lineNumber":123,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 {icon\u003d\"glyphicon-education\" i-size\u003d\"30px\" i-class\u003d\"text-danger\"}"},{"lineNumber":124,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2 "},{"lineNumber":125,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1 {icon\u003d\"./images/deer.jpg\" i-width\u003d\"200px\" i-height\u003d\"100px\" i-class\u003d\"text-warning\"}"},{"lineNumber":126,"author":{"gitId":"-"},"content":" * Sub-item B4 "},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"1. Reverse mixing basic and customized lists"},{"lineNumber":129,"author":{"gitId":"-"},"content":"* Item A {icon\u003d\"glyphicon-education\" i-size\u003d\"20px\" i-class\u003d\"text-primary\"}"},{"lineNumber":130,"author":{"gitId":"-"},"content":"* Item B "},{"lineNumber":131,"author":{"gitId":"-"},"content":" * Sub-item B1 "},{"lineNumber":132,"author":{"gitId":"-"},"content":" * Sub-item B2"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * Sub-item B3"},{"lineNumber":134,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 "},{"lineNumber":135,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2"},{"lineNumber":136,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1 "},{"lineNumber":137,"author":{"gitId":"-"},"content":" * Sub-item B4"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":"1. Every second list item customized"},{"lineNumber":140,"author":{"gitId":"-"},"content":"* Item A {icon\u003d\"glyphicon-education\" i-size\u003d\"20px\" i-class\u003d\"text-primary\"}"},{"lineNumber":141,"author":{"gitId":"-"},"content":"* Item B "},{"lineNumber":142,"author":{"gitId":"-"},"content":" * Sub-item B1 {icon\u003d\"fas-file-code\" i-size\u003d\"30px\" i-class\u003d\"text-success\"}"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Sub-item B2 "},{"lineNumber":144,"author":{"gitId":"-"},"content":" * Sub-item B3 {icon\u003d\"./images/deer.jpg\" i-width\u003d\"200px\" i-height\u003d\"100px\" i-class\u003d\"text-warning\"}"},{"lineNumber":145,"author":{"gitId":"-"},"content":" * Sub-item B4"},{"lineNumber":146,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":147,"author":{"gitId":"KevinEyo1"},"content":"1. Once + none + customization"},{"lineNumber":148,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":149,"author":{"gitId":"KevinEyo1"},"content":"* Item B "},{"lineNumber":150,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1 { icon\u003d\"fas-file-code\" }"},{"lineNumber":151,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":152,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":153,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":154,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":155,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":156,"author":{"gitId":"KevinEyo1"},"content":"* Item C { icon\u003d\"fas-file-code\" }"},{"lineNumber":157,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":158,"author":{"gitId":"KevinEyo1"},"content":"1. Customization + none + once"},{"lineNumber":159,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"fas-file-code\" }"},{"lineNumber":160,"author":{"gitId":"KevinEyo1"},"content":"* Item B"},{"lineNumber":161,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1 { icon\u003d\"fas-file-code\" }"},{"lineNumber":162,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":163,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":164,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":165,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":166,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":167,"author":{"gitId":"KevinEyo1"},"content":"* Item C { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":168,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":169,"author":{"gitId":"KevinEyo1"},"content":"1. Customization + once + none"},{"lineNumber":170,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"fas-file-code\" }"},{"lineNumber":171,"author":{"gitId":"KevinEyo1"},"content":"* Item B { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":172,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":173,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":174,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":175,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":176,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":177,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":178,"author":{"gitId":"KevinEyo1"},"content":"* Item C"},{"lineNumber":179,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":180,"author":{"gitId":"KevinEyo1"},"content":"1. Once + customization + none"},{"lineNumber":181,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":182,"author":{"gitId":"KevinEyo1"},"content":"* Item B { icon\u003d\"fas-file-code\" }"},{"lineNumber":183,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":184,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":185,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":186,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":187,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":188,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":189,"author":{"gitId":"KevinEyo1"},"content":"* Item C"},{"lineNumber":190,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":191,"author":{"gitId":"KevinEyo1"},"content":"1. None + customization + once"},{"lineNumber":192,"author":{"gitId":"KevinEyo1"},"content":"* Item A "},{"lineNumber":193,"author":{"gitId":"KevinEyo1"},"content":"* Item B { icon\u003d\"fas-file-code\" }"},{"lineNumber":194,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":195,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":196,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":197,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":198,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":199,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":200,"author":{"gitId":"KevinEyo1"},"content":"* Item C { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":201,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":202,"author":{"gitId":"KevinEyo1"},"content":"1. None + once + customization"},{"lineNumber":203,"author":{"gitId":"KevinEyo1"},"content":"* Item A "},{"lineNumber":204,"author":{"gitId":"KevinEyo1"},"content":"* Item B { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":205,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":206,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":207,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":208,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":209,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":210,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":211,"author":{"gitId":"KevinEyo1"},"content":"* Item C { icon\u003d\"fas-file-code\" }"},{"lineNumber":212,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":213,"author":{"gitId":"KevinEyo1"},"content":"1. Customization + once + customization"},{"lineNumber":214,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"fas-file-code\" }"},{"lineNumber":215,"author":{"gitId":"KevinEyo1"},"content":"* Item B { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":216,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":217,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":218,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":219,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":220,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":221,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":222,"author":{"gitId":"KevinEyo1"},"content":"* Item C { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":223,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":224,"author":{"gitId":"KevinEyo1"},"content":"1. String once"},{"lineNumber":225,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"glyphicon-education\" once\u003d\"true\" }"},{"lineNumber":226,"author":{"gitId":"KevinEyo1"},"content":"* Item B "},{"lineNumber":227,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":228,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":229,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":230,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":231,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":232,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":233,"author":{"gitId":"KevinEyo1"},"content":"* Item C"},{"lineNumber":234,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":235,"author":{"gitId":"KevinEyo1"},"content":"1. False once for item A, rest of items will inherit"},{"lineNumber":236,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"glyphicon-education\" once\u003dfalse }"},{"lineNumber":237,"author":{"gitId":"KevinEyo1"},"content":"* Item B "},{"lineNumber":238,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":239,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":240,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":241,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":242,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":243,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":244,"author":{"gitId":"KevinEyo1"},"content":"* Item C"},{"lineNumber":245,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":246,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":247,"author":{"gitId":"KevinEyo1"},"content":"1. False once for item B, will overwrite item A"},{"lineNumber":248,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"fas-file-code\" }"},{"lineNumber":249,"author":{"gitId":"KevinEyo1"},"content":"* Item B { icon\u003d\"glyphicon-education\" once\u003dfalse }"},{"lineNumber":250,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":251,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":252,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":253,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":254,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":255,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":256,"author":{"gitId":"KevinEyo1"},"content":"* Item C"},{"lineNumber":257,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":258,"author":{"gitId":"KevinEyo1"},"content":"1. Once for specific attributes besides icon, does not overwrite"},{"lineNumber":259,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"glyphicon-education\" i-size\u003d\"70px\" i-class\u003d\"text-primary\" }"},{"lineNumber":260,"author":{"gitId":"KevinEyo1"},"content":"* Item B { i-size\u003d\"40px\" once\u003dtrue }"},{"lineNumber":261,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":262,"author":{"gitId":"KevinEyo1"},"content":"* Item C"},{"lineNumber":263,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":264,"author":{"gitId":"KevinEyo1"},"content":"1. False once for specific attributes besides icon, does overwrite"},{"lineNumber":265,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"glyphicon-education\" i-size\u003d\"70px\" i-class\u003d\"text-primary\" }"},{"lineNumber":266,"author":{"gitId":"KevinEyo1"},"content":"* Item B { i-size\u003d\"40px\" once\u003dfalse }"},{"lineNumber":267,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":268,"author":{"gitId":"KevinEyo1"},"content":"* Item C"},{"lineNumber":269,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":270,"author":{"gitId":"KevinEyo1"},"content":"1. Sub-level"},{"lineNumber":271,"author":{"gitId":"KevinEyo1"},"content":"* Item A "},{"lineNumber":272,"author":{"gitId":"KevinEyo1"},"content":"* Item B "},{"lineNumber":273,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1 { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":274,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":275,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 { icon\u003d\"fas-file-code\" }"},{"lineNumber":276,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":277,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":278,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":279,"author":{"gitId":"KevinEyo1"},"content":"* Item C { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"}],"authorContributionMap":{"KevinEyo1":141,"-":138}},{"path":"packages/cli/test/functional/test_site/testModal/DismissibleBox.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"\u003cdiv id\u003d\"example\"\u003e"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":"\u003ctrigger for\u003d\"modal-a\"\u003emodal trigger\u003c/trigger\u003e."},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":"\u003cmodal header\u003d\"modal header\" id\u003d\"modal-a\" \u003e"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" Lorem ipsum"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"\u003c/modal\u003e"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"yiwen101":9}},{"path":"packages/cli/test/functional/test_site/testPanels/PanelSourceContainsScript.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"\u003ch1\u003e"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":"\u003cscript\u003e"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" // JavaScript code specific to this component"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" console.log(\"Inline script executed! 35\");"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":"\u003c/script\u003e"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":"\u003cstyle\u003e"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" /* CSS styles specific to this component */"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" h1 {"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" color: red;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" }"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"\u003c/style\u003e"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"h1 text"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":"\u003c/h1\u003e"}],"authorContributionMap":{"yiwen101":13}},{"path":"packages/cli/test/functional/test_site/testSourceContainScript.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"\u003cpanel header\u003d\"## Panel with src that contains css and script header\" src\u003d\"testPanels/PanelSourceContainsScript.md\" expanded\u003e\u003c/panel\u003e"}],"authorContributionMap":{"yiwen101":1}},{"path":"packages/cli/test/functional/test_site_algolia_plugin/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site_algolia_plugin/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site_algolia_plugin/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site_algolia_plugin/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site_algolia_plugin/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/404.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027p\u0027),_m(0),_v(\" \"),_m(1),_c(\u0027p\u0027)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027p\u0027,{staticStyle:{\"font-size\":\"10rem\"}},[_v(\"404\")])])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027p\u0027,{staticStyle:{\"font-size\":\"1.5rem\"}},[_v(\"File not found\"),_c(\u0027br\u0027),_v(\"Click \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/\"}},[_v(\"here\")]),_v(\" to go back to the home page.\")])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/Home.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027p\u0027,[_v(\"Welcome to the test-deploy wiki!\")])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [];"},{"lineNumber":7,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":6}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/Page-1.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"page-1\"}},[_v(\"Page 1\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#page-1\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":10,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":9}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/_Footer.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027p\u0027,[_v(\"Custom footer.\")])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [];"},{"lineNumber":7,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":6}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/_Sidebar.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"[[Page-1]]\")])])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":10,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":9}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/about.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0),_v(\" \"),_m(1)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"about\"}},[_v(\"About\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#about\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Welcome to your \"),_c(\u0027strong\u0027,[_v(\"About Us\")]),_v(\" page.\")])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic1.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_m(0),_v(\" \"),_m(1)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"topic-1\"}},[_v(\"Topic 1\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#topic-1\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027blockquote\u0027,[_c(\u0027p\u0027,[_v(\"More content to be added\")])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic2.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027span\u0027,{staticClass:\"fas fa-tools\"}),_c(\u0027span\u0027,[_v(\" This is a placeholder page\")])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [];"},{"lineNumber":7,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":6}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic3a.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027span\u0027,{staticClass:\"fas fa-tools\"}),_c(\u0027span\u0027,[_v(\" This is a placeholder page\")])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [];"},{"lineNumber":7,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":6}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic3b.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027span\u0027,{staticClass:\"fas fa-tools\"}),_c(\u0027span\u0027,[_v(\" This is a placeholder page\")])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [];"},{"lineNumber":7,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":6}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/index.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027p\u0027,[_v(\"Welcome to the test-deploy wiki!\")])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [];"},{"lineNumber":7,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":6}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" margin-left: 60px;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":"}"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":113,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":"}"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":124,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" margin-left: 0;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":"}"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":135,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":137}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/non_markbind_site/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" margin-left: 60px;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":"}"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":113,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":"}"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":124,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" margin-left: 0;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":"}"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":135,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":137}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/404.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027p\u0027),_m(0),_v(\" \"),_m(1),_c(\u0027p\u0027)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(2)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027p\u0027,{staticStyle:{\"font-size\":\"10rem\"}},[_v(\"404\")])])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027p\u0027,{staticStyle:{\"font-size\":\"1.5rem\"}},[_v(\"File not found\"),_c(\u0027br\u0027),_v(\"Click \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/\"}},[_v(\"here\")]),_v(\" to go back to the home page.\")])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"-"},"content":") {"},{"lineNumber":14,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":16,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":15}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/Home.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027p\u0027,[_v(\"Welcome to the test-deploy wiki!\")])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(0)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":10,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":9}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/Page-1.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"page-1\"}},[_v(\"Page 1\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#page-1\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/README.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0),_v(\" \"),_c(\u0027p\u0027,[_v(\"Test readme file\")])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"readme\"}},[_v(\"Readme\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#readme\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/about.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0),_v(\" \"),_m(1)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(2)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"about\"}},[_v(\"About\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#about\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Welcome to your \"),_c(\u0027strong\u0027,[_v(\"About Us\")]),_v(\" page.\")])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"-"},"content":") {"},{"lineNumber":14,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":16,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":15}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic1.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_m(0),_v(\" \"),_m(1)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(2)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"topic-1\"}},[_v(\"Topic 1\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#topic-1\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027blockquote\u0027,[_c(\u0027p\u0027,[_v(\"More content to be added\")])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"-"},"content":") {"},{"lineNumber":14,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":16,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":15}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic2.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027span\u0027,{staticClass:\"fas fa-tools\"}),_c(\u0027span\u0027,[_v(\" This is a placeholder page\")])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(0)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":10,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":9}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic3a.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027span\u0027,{staticClass:\"fas fa-tools\"}),_c(\u0027span\u0027,[_v(\" This is a placeholder page\")])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(0)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":10,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":9}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic3b.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027span\u0027,{staticClass:\"fas fa-tools\"}),_c(\u0027span\u0027,[_v(\" This is a placeholder page\")])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(0)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":10,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":9}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/index.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0),_v(\" \"),_c(\u0027p\u0027,[_v(\"Test readme file\")])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"readme\"}},[_v(\"Readme\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#readme\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":109,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":"}"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":120,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":"}"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":127,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":129}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_1.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"sample-content-in-another-folder-which-is-not-named-content\"}},[_v(\"Sample content in another folder which is not named content\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#sample-content-in-another-folder-which-is-not-named-content\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_2.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"sample-content-in-another-folder-which-is-not-named-content\"}},[_v(\"Sample content in another folder which is not named content\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#sample-content-in-another-folder-which-is-not-named-content\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_3.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"sample-content-in-another-folder-which-is-not-named-content\"}},[_v(\"Sample content in another folder which is not named content\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#sample-content-in-another-folder-which-is-not-named-content\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/non_markbind_site/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":109,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":"}"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":120,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":"}"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":127,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":129}},{"path":"packages/cli/test/functional/test_site_special_tags/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site_special_tags/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site_special_tags/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site_special_tags/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site_special_tags/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/cli/test/functional/test_site_templates/test_default/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site_templates/test_default/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site_templates/test_default/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site_templates/test_default/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site_templates/test_default/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/cli/test/functional/test_site_templates/test_default/expected/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":109,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":"}"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":120,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":"}"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":127,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":129}},{"path":"packages/cli/test/functional/test_site_templates/test_minimal/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site_templates/test_minimal/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site_templates/test_minimal/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site_templates/test_minimal/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site_templates/test_minimal/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/404.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" title: Page not found"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" layout: 404.md"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"-\u003e\u003cp style\u003d\"font-size: 10rem\"\u003e404\u003c/p\u003e\u003c-"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"-\u003e\u003cp style\u003d\"font-size: 1.5rem\"\u003eFile not found\u003cbr\u003eClick \u003ca href\u003d\"/\"\u003ehere\u003c/a\u003e to go back to the home page.\u003c/p\u003e\u003c-"}],"authorContributionMap":{"jingting1412":7}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/_markbind/layouts/404.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cdiv\u003e{{ content }}\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":1}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/_markbind/layouts/default.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003chead-bottom\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \u003clink rel\u003d\"stylesheet\" href\u003d\"{{baseUrl}}/stylesheets/main.css\"\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003c/head-bottom\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003cheader sticky\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cnavbar type\u003d\"dark\"\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"{{baseUrl}}/index.html\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eYour Name\u003c/a\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#skills\" class\u003d\"nav-link\"\u003eSkills\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#experience\" class\u003d\"nav-link\"\u003eExperience\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003cdropdown header\u003d\"Projects\" class\u003d\"nav-link\"\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#project-1\" class\u003d\"dropdown-item\"\u003eProject 1\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#project-2\" class\u003d\"dropdown-item\"\u003eProject 2\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#other-projects\" class\u003d\"dropdown-item\"\u003eOther projects\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003c/dropdown\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003cform class\u003d\"navbar-form\"\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003c/form\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003c/li\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003c/navbar\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":"\u003c/header\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"flex-body\"\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" \u003cdiv id\u003d\"content-wrapper\"\u003e"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" {{ content }}"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \u003cscroll-top-button\u003e\u003c/scroll-top-button\u003e"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":"\u003cfooter\u003e"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" \u003c!-- Support MarkBind by including a link to us on your landing page! --\u003e"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"text-center\"\u003e"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" \u003csmall\u003e[Generated by {{MarkBind}}]\u003c/small\u003e"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":"\u003c/footer\u003e"}],"authorContributionMap":{"jingting1412":35}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/_markbind/variables.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"name\"\u003e[NAME]\u003c/variable\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"javascript\"\u003e\u003cthumbnail src\u003d\u0027../contents/assets/JavaScript.svg\u0027 size\u003d\"50\"/\u003e\u003c/variable\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"typescript\"\u003e\u003cthumbnail src\u003d\u0027../contents/assets/Typescript.svg\u0027 size\u003d\"50\"/\u003e\u003c/variable\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"vue\"\u003e\u003cthumbnail src\u003d\u0027../contents/assets/Vue.svg\u0027 size\u003d\"50\"/\u003e\u003c/variable\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"java\"\u003e\u003cthumbnail src\u003d\"../contents/assets/java-icon.svg\" size\u003d\"50\"/\u003e\u003c/variable\u003e"}],"authorContributionMap":{"jingting1412":5}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/contents/experience.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"# Experience"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cul class\u003d\"nav nav-tabs\" role\u003d\"tablist\"\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" \u003cli class\u003d\"nav-item\" role\u003d\"presentation\"\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \u003ca class\u003d\"nav-link active\" data-bs-toggle\u003d\"tab\" href\u003d\"#NUS\" aria-selected\u003d\"false\" role\u003d\"tab\" tabindex\u003d\"-1\"\u003eNUS\u003c/a\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003c/li\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003cli class\u003d\"nav-item\" role\u003d\"presentation\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003ca class\u003d\"nav-link\" data-bs-toggle\u003d\"tab\" href\u003d\"#another-company\" aria-selected\u003d\"true\" role\u003d\"tab\"\u003eAnother Company\u003c/a\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003c/li\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":"\u003c/ul\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"myTabContent\" class\u003d\"tab-content\" style\u003d\"margin-top:15px;\"\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"tab-pane fade active show\" id\u003d\"NUS\" role\u003d\"tabpanel\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003ch4\u003eSoftware Engineering Intern @ \u003cmd\u003e[NUS](https://nus.edu.sg/)\u003c/md\u003e\u003c/h4\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ch6\u003eMay 2024 - Aug 2024\u003c/h6\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003cp\u003eSome description of your role in the company and the technologies you\u0027ve used.\u003c/p\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"tab-pane fade\" id\u003d\"another-company\" role\u003d\"tabpanel\"\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003ch4\u003eAnother role @ \u003cmd\u003e[Another company](https://markbind.org/)\u003c/md\u003e\u003c/h4\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003ch6\u003eMay 2022 - Aug 2022\u003c/h6\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003cp\u003eSome description of your role in the company and the technologies you\u0027ve used.\u003c/p\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" {{ javascript }}"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":24}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/contents/project1.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"card mb-3\"\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \u003ch3 class\u003d\"card-header\" id\u003d\"project-1\"\u003eExample project: iP for CS2103\u003c/h3\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" \u003cmd\u003eThis would be a good place to add images and embeds showcasing your contributions to a project. In this case, an `\u003ciframe\u003e` containing the [RepoSense](https://reposense.org/index.html) report of a student\u0027s contributions to their iP is embedded. For more information on embeds, refer to our user guide [here.](https://markbind.org/userGuide/formattingContents.html#embeds)\u003c/md\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cdiv\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003ciframe src\u003d\"https://nus-cs3281.github.io/2024-dashboard/#/widget/?search\u003dReposense\u0026sort\u003dgroupTitle\u0026sortWithin\u003dtitle\u0026timeframe\u003dcommit\u0026mergegroup\u003d\u0026groupSelect\u003dgroupByAuthors\u0026breakdown\u003dfalse\u0026since\u003d2023-12-01\u0026tabOpen\u003dtrue\u0026tabType\u003dauthorship\u0026tabAuthor\u003dasdfghjkxd\u0026tabRepo\u003dreposense%2Freposense%5Bmaster%5D\u0026authorshipIsMergeGroup\u003dfalse\u0026authorshipFileTypes\u003djava~md\u0026authorshipIsBinaryFileTypeChecked\u003dfalse\u0026authorshipIsIgnoredFilesChecked\u003dfalse\u0026chartGroupIndex\u003d5\u0026chartIndex\u003d0\" width\u003d\"100%\"\u003e\u003c/iframe\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration of the project can be added here\u003c/p\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" {{ java }}"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":17}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/contents/project2.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"card mb-3\"\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \u003ch3 class\u003d\"card-header\" id\u003d\"project-2\"\u003eProject 2\u003c/h3\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" {{javascript}}"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":16}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/contents/projects.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"# Projects"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"project1.md\"/\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"project2.md\"/\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"### Other projects"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"row row-cols-1 row-cols-md-3 g-3\"\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col\"\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card\"\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003ch4 class\u003d\"card-header\"\u003eProject title\u003c/h4\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" {{javascript}}"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col\"\u003e"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card\"\u003e"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" \u003ch4 class\u003d\"card-header\"\u003eProject title\u003c/h4\u003e"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":" {{ java }}"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col\"\u003e"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card\"\u003e"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" \u003ch4 class\u003d\"card-header\"\u003eProject title\u003c/h4\u003e"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":61}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/contents/skills.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"# Skills"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cp\u003eThis is where you can give a quick overview of the technologies and frameworks you know using our \u003ca href\u003d\"https://markbind.org/userGuide/components/imagesAndDiagrams.html#thumbnails\" target\u003d\"_blank\"\u003ethumbnail feature\u003c/a\u003e or our \u003ca href\u003d\"https://markbind.org/userGuide/formattingContents.html#icons\" target\u003d\"_blank\"\u003eicons\u003c/a\u003e.\u003c/p\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003cpanel header\u003d\"Example using thumbnails\" expanded\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cbox type\u003d\"info\"\u003eThese thumbnails are available as variables to use anywhere in this page!\u003c/box\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" {{ javascript }}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" {{ typescript }}"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" {{ java }}"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"\u003c/panel\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":"\u003cbr/\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":"\u003cpanel header\u003d\"Example using icons\" expanded\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" Some icons are not available in the libraries that MarkBind supports! Please ensure that "},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" the desired icons are available before choosing this option. For more information regarding"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" icons, please refer to \u003ca href\u003d\"https://markbind.org/userGuide/formattingContents.html#icons\" target\u003d\"_blank\"\u003ethis section of our User Guide.\u003c/a\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003c/box\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-square-js fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-vuejs fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-java fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":"\u003c/panel\u003e"}],"authorContributionMap":{"jingting1412":22}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/index.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" title: Portfolio"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" layout: default.md"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"\u003cbr\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"bg-light text-black px-2 py-5 mb-4\"\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"container\"\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003ch1 class\u003d\"display-5 no-index\"\u003e\u003cmd\u003e:wave:\u003c/md\u003e Hello!\u003cbr\u003eI\u0027m {{ name }}\u003c/h1\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"lead\"\u003eWelcome to my portfolio!\u003c/p\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv style\u003d\"margin-bottom:20px;\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003cspan style\u003d\"margin-right:10px;\"\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"icon\"\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-github fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003c/a\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003c/span\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003cspan style\u003d\"margin-right:10px;\"\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://www.linkedin.com/school/national-university-of-singapore/\" target\u003d\"_blank\" class\u003d\"icon\"\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-linkedin fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003c/a\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" \u003c/span\u003e"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \u003cspan style\u003d\"margin-right:10px;\"\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"mailto:secretary_cs@comp.nus.edu.sg\" target\u003d\"_blank\" class\u003d\"icon\"\u003e"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-solid fa-envelope fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \u003c/a\u003e"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \u003c/span\u003e"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" \u003ca class\u003d\"btn btn-primary\" href\u003d\"./contents/assets/UG-template-resume.pdf\" target\u003d\"_blank\" rel\u003d\"noopener noreferrer\"\u003eResume\u003c/a\u003e"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" Want to change the theme? Explore more themes and other components offered by MarkBind in our \u003ca href\u003d\"https://markbind.org/userGuide/authoringContents.html\" target\u003d\"_blank\"\u003euser guide here\u003c/a\u003e."},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"info\" header\u003d\"##### Deploying this site\"\u003e"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" \u003cmd\u003eMarkBind makes it easy to deploy this site to GitHub Pages using the `markbind deploy` command. To allow `http://[username].github.io` to go straight to this portfolio, it is best to set your repository name as `[username].github.io` Read more about [deploying the site here](https://markbind.org/userGuide/deployingTheSite.html#deploying-to-github-pages)\u003c/md\u003e"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":"## About me"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"container text-left\"\u003e"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"row\" \u003e"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col-md-3 col-md-push-9\"\u003e"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" \u003cimg src\u003d\u0027./contents/assets/default_profile_pic.png\u0027 class\u003d\"img-fluid\" alt\u003d\u0027default-profile-pic\u0027/\u003e"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col-md-9 col-md-pull-3\"\u003e"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" This is where you can add a picture of yourself and a brief introduction. This can be a good place to use \u003ctooltip content\u003d\"Add more information here\" placement\u003d\"top\"\u003etooltips\u003c/tooltip\u003e, or \u003cmd\u003e[add relevant links](https://markbind.org/userGuide/formattingContents.html#links).\u003c/md\u003e"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"contents/skills.md\"/\u003e"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"contents/experience.md\"/\u003e"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"contents/projects.md\"/\u003e"},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":""}],"authorContributionMap":{"jingting1412":70}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/index.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"Your Name\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html#skills\"}},[_v(\"Skills\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html#experience\"}},[_v(\"Experience\")])]),_v(\" \"),_c(\u0027dropdown\u0027,{staticClass:\"nav-link\",scopedSlots:_u([{key:\"header\",fn:function(){return [_v(\"Projects\")]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"dropdown-item\",attrs:{\"href\":\"/index.html#project-1\"}},[_v(\"Project 1\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"dropdown-item\",attrs:{\"href\":\"/index.html#project-2\"}},[_v(\"Project 2\")])])])],1)],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027br\u0027),_v(\" \"),_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\n Want to change the theme? Explore more themes and other components offered by MarkBind in our \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/authoringContents.html\",\"target\":\"_blank\"}},[_v(\"user guide here\")])]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h5\u0027,{attrs:{\"id\":\"deploying-this-site\"}},[_v(\"Deploying this site\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#deploying-this-site\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027span\u0027,[_v(\"MarkBind makes it easy to deploy this site to Github Pages using the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"markbind deploy\")]),_v(\" command. To allow \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"http://[username].github.io\")]),_v(\" to go straight to this portfolio, it is best to set your repository name as \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"[username].github.io\")]),_v(\" Read more about \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/deployingTheSite.html#deploying-to-github-pages\"}},[_v(\"deploying the site here\")])])]),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_m(1),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"container text-left\"},[_c(\u0027div\u0027,{staticClass:\"row\"},[_m(2),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"col-md-9 col-md-pull-3\"},[_v(\"\\n This is where you can add a picture of yourself and a brief introduction. This can be a good place to use \"),_c(\u0027tooltip\u0027,{attrs:{\"placement\":\"top\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_v(\"Add more information here\")]},proxy:true}])},[_v(\"tooltips\")]),_v(\", or \"),_m(3)],1)])]),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_c(\u0027div\u0027,[_m(4),_v(\" \"),_m(5),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Example using thumbnails\")])]},proxy:true}])},[_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\"}},[_v(\"These thumbnails are available as variables to use anywhere in this page!\")]),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/JavaScript.svg\",\"size\":\"50\"}}),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/Typescript.svg\",\"size\":\"50\"}}),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/Vue.svg\",\"size\":\"50\"}}),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/java-icon.svg\",\"size\":\"50\"}})],1),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Example using icons\")])]},proxy:true}])},[_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"warning\"}},[_v(\"\\n Some icons are not available in the libraries MarkBind supports! Please ensure that \\n the desired icons are available before choosing this option. For more information regarding\\n icons, please refer to \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/formattingContents.html#icons\",\"target\":\"_blank\"}},[_v(\"this section of our User Guide\")])]),_v(\" \"),_c(\u0027i\u0027,{staticClass:\"fa-brands fa-square-js fa-2xl\"}),_v(\" \"),_c(\u0027i\u0027,{staticClass:\"fa-brands fa-vuejs fa-2xl\"}),_v(\" \"),_c(\u0027i\u0027,{staticClass:\"fa-brands fa-java fa-2xl\"})],1)],1),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_c(\u0027div\u0027,[_m(6),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"type\":\"seamless\",\"no-close\":\"\",\"minimized\":\"\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027div\u0027,[_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Software Engineering Intern @ \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://nus.edu.sg/\"}},[_v(\"NUS\")])]),_v(\" | May 2024 - Aug 2024\")])])]},proxy:true}])},[_v(\" \"),_c(\u0027div\u0027,{staticClass:\"container\"},[_v(\"\\n Role description\\n \")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"container\"},[_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/Vue.svg\",\"size\":\"50\"}})],1)]),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"type\":\"seamless\",\"no-close\":\"\",\"minimized\":\"\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027div\u0027,[_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Another experience @ \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"Another Company\")])]),_v(\" | May 2022 - Aug 2022\")])])]},proxy:true}])},[_v(\" \"),_c(\u0027div\u0027,{staticClass:\"container\"},[_v(\"\\n Role description\\n \")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"container\"},[_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/JavaScript.svg\",\"size\":\"50\"}})],1)])],1),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_c(\u0027div\u0027,[_m(7),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027div\u0027,{staticClass:\"card mb-3\"},[_m(8),_v(\" \"),_m(9),_v(\" \"),_m(10),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027p\u0027,{staticClass:\"card-text\"},[_v(\"Some further elaboration of the project can be added here\")]),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/java-icon.svg\",\"size\":\"50\"}})],1),_v(\" \"),_m(11)])]),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027div\u0027,{staticClass:\"card mb-3\"},[_m(12),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_v(\"\\n This is another project. \\n \")]),_v(\" \"),_c(\u0027svg\u0027,{staticClass:\"d-block user-select-none\",staticStyle:{\"font-size\":\"1.125rem\",\"text-anchor\":\"middle\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"100%\",\"height\":\"200\",\"aria-label\":\"Placeholder: Image cap\",\"focusable\":\"false\",\"role\":\"img\",\"preserveAspectRatio\":\"xMidYMid slice\",\"viewBox\":\"0 0 318 180\"}},[_c(\u0027rect\u0027,{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"fill\":\"#868e96\"}}),_c(\u0027text\u0027,{attrs:{\"x\":\"50%\",\"y\":\"50%\",\"fill\":\"#dee2e6\",\"dy\":\".3em\"}},[_v(\"Image cap\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027p\u0027,{staticClass:\"card-text\"},[_v(\"Some further elaboration on the project.\")]),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/JavaScript.svg\",\"size\":\"50\"}}),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/Vue.svg\",\"size\":\"50\"}})],1),_v(\" \"),_m(13)])]),_v(\" \"),_m(14),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"row row-cols-1 row-cols-md-3 g-3\"},[_c(\u0027div\u0027,{staticClass:\"col\"},[_c(\u0027div\u0027,{staticClass:\"card\"},[_m(15),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_v(\"\\n This is another project. \\n \")]),_v(\" \"),_c(\u0027svg\u0027,{staticClass:\"d-block user-select-none\",staticStyle:{\"font-size\":\"1.125rem\",\"text-anchor\":\"middle\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"100%\",\"height\":\"200\",\"aria-label\":\"Placeholder: Image cap\",\"focusable\":\"false\",\"role\":\"img\",\"preserveAspectRatio\":\"xMidYMid slice\",\"viewBox\":\"0 0 318 180\"}},[_c(\u0027rect\u0027,{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"fill\":\"#868e96\"}}),_c(\u0027text\u0027,{attrs:{\"x\":\"50%\",\"y\":\"50%\",\"fill\":\"#dee2e6\",\"dy\":\".3em\"}},[_v(\"Image cap\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027p\u0027,{staticClass:\"card-text\"},[_v(\"Some further elaboration on the project.\")]),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/JavaScript.svg\",\"size\":\"50\"}}),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/Vue.svg\",\"size\":\"50\"}})],1),_v(\" \"),_m(16)])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"col\"},[_c(\u0027div\u0027,{staticClass:\"card\"},[_m(17),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_v(\"\\n This is another project. \\n \")]),_v(\" \"),_c(\u0027svg\u0027,{staticClass:\"d-block user-select-none\",staticStyle:{\"font-size\":\"1.125rem\",\"text-anchor\":\"middle\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"100%\",\"height\":\"200\",\"aria-label\":\"Placeholder: Image cap\",\"focusable\":\"false\",\"role\":\"img\",\"preserveAspectRatio\":\"xMidYMid slice\",\"viewBox\":\"0 0 318 180\"}},[_c(\u0027rect\u0027,{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"fill\":\"#868e96\"}}),_c(\u0027text\u0027,{attrs:{\"x\":\"50%\",\"y\":\"50%\",\"fill\":\"#dee2e6\",\"dy\":\".3em\"}},[_v(\"Image cap\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027p\u0027,{staticClass:\"card-text\"},[_v(\"Some further elaboration on the project.\")]),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/java-icon.svg\",\"size\":\"50\"}})],1),_v(\" \"),_m(18)])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"col\"},[_c(\u0027div\u0027,{staticClass:\"card\"},[_m(19),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_v(\"\\n This is another project. \\n \")]),_v(\" \"),_c(\u0027svg\u0027,{staticClass:\"d-block user-select-none\",staticStyle:{\"font-size\":\"1.125rem\",\"text-anchor\":\"middle\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"100%\",\"height\":\"200\",\"aria-label\":\"Placeholder: Image cap\",\"focusable\":\"false\",\"role\":\"img\",\"preserveAspectRatio\":\"xMidYMid slice\",\"viewBox\":\"0 0 318 180\"}},[_c(\u0027rect\u0027,{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"fill\":\"#868e96\"}}),_c(\u0027text\u0027,{attrs:{\"x\":\"50%\",\"y\":\"50%\",\"fill\":\"#dee2e6\",\"dy\":\".3em\"}},[_v(\"Image cap\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027p\u0027,{staticClass:\"card-text\"},[_v(\"Some further elaboration on the project.\")]),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/Vue.svg\",\"size\":\"50\"}})],1),_v(\" \"),_m(20)])])])]),_v(\" \"),_c(\u0027hr\u0027)],1),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(21)])}"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"};"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"bg-light text-black px-2 py-5 mb-4\"},[_c(\u0027div\u0027,{staticClass:\"container\"},[_c(\u0027h1\u0027,{staticClass:\"display-5 no-index\",attrs:{\"id\":\"hello-i-m-name\"}},[_c(\u0027span\u0027,[_v(\"👋\")]),_v(\" Hello!\"),_c(\u0027br\u0027),_v(\"I\u0027m [NAME]\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#hello-i-m-name\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,{staticClass:\"lead\"},[_v(\"Welcome to my portfolio!\")]),_v(\" \"),_c(\u0027span\u0027,{staticStyle:{\"margin-right\":\"10px\"}},[_c(\u0027a\u0027,{staticClass:\"icon\",attrs:{\"href\":\"https://github.com/MarkBind/markbind\",\"target\":\"_blank\"}},[_c(\u0027i\u0027,{staticClass:\"fa-brands fa-github fa-2xl\"})])]),_v(\" \"),_c(\u0027span\u0027,{staticStyle:{\"margin-right\":\"10px\"}},[_c(\u0027a\u0027,{staticClass:\"icon\",attrs:{\"href\":\"https://www.linkedin.com/school/national-university-of-singapore/\",\"target\":\"_blank\"}},[_c(\u0027i\u0027,{staticClass:\"fa-brands fa-linkedin fa-2xl\"})])])])])}"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"about-me\"}},[_v(\"About me\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#about-me\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"col-md-3 col-md-push-9\"},[_c(\u0027img\u0027,{staticClass:\"img-fluid\",attrs:{\"src\":\"/contents/assets/default_profile_pic.png\",\"alt\":\"default-profile-pic\"}})])}"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027span\u0027,[_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/formattingContents.html#links\"}},[_v(\"add relevant links\")])])}"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"skills\"}},[_v(\"Skills\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#skills\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"This is where you can give a quick overview of the technologies and frameworks you know using our \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/components/imagesAndDiagrams.html#thumbnails\",\"target\":\"_blank\"}},[_v(\"thumbnail feature\")]),_v(\" or our \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/formattingContents.html#icons\",\"target\":\"_blank\"}},[_v(\"icons\")]),_v(\".\")])}"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"experience\"}},[_v(\"Experience\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#experience\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"projects\"}},[_v(\"Projects\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#projects\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h3\u0027,{staticClass:\"card-header\",attrs:{\"id\":\"example-project-ip-for-cs2103\"}},[_v(\"Example project: iP for CS2103\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#example-project-ip-for-cs2103\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027span\u0027,[_v(\"This would be a good place to add images and embeds showcasing your contributions to a project. In this case, an \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"\u003ciframe\u003e\")]),_v(\" containing the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://reposense.org/index.html\"}},[_v(\"RepoSense\")]),_v(\" report of a student\u0027s contributions to their iP is embedded. For more information on embeds, refer to our user guide \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/(https:/markbind.org/userGuide/formattingContents.html#embeds)\"}},[_v(\"here.\")])])])}"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027iframe\u0027,{attrs:{\"src\":\"https://nus-cs3281.github.io/2024-dashboard/#/widget/?search\u003dReposense\u0026sort\u003dgroupTitle\u0026sortWithin\u003dtitle\u0026timeframe\u003dcommit\u0026mergegroup\u003d\u0026groupSelect\u003dgroupByAuthors\u0026breakdown\u003dfalse\u0026since\u003d2023-12-01\u0026tabOpen\u003dtrue\u0026tabType\u003dauthorship\u0026tabAuthor\u003dasdfghjkxd\u0026tabRepo\u003dreposense%2Freposense%5Bmaster%5D\u0026authorshipIsMergeGroup\u003dfalse\u0026authorshipFileTypes\u003djava~md\u0026authorshipIsBinaryFileTypeChecked\u003dfalse\u0026authorshipIsIgnoredFilesChecked\u003dfalse\u0026chartGroupIndex\u003d5\u0026chartIndex\u003d0\",\"width\":\"100%\"}})])}"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View on Github\")]),_v(\" \"),_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View Devpost\")])])}"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h3\u0027,{staticClass:\"card-header\",attrs:{\"id\":\"project-2\"}},[_v(\"Project 2\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#project-2\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View on Github\")]),_v(\" \"),_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View Devpost\")])])}"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"other-projects\"}},[_v(\"Other projects\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#other-projects\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h4\u0027,{staticClass:\"card-header\",attrs:{\"id\":\"project-title\"}},[_v(\"Project title\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#project-title\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View on Github\")]),_v(\" \"),_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View Devpost\")])])}"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h4\u0027,{staticClass:\"card-header\",attrs:{\"id\":\"project-title-2\"}},[_v(\"Project title\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#project-title-2\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View on Github\")]),_v(\" \"),_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View Devpost\")])])}"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h4\u0027,{staticClass:\"card-header\",attrs:{\"id\":\"project-title-3\"}},[_v(\"Project title\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#project-title-3\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View on Github\")]),_v(\" \"),_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View Devpost\")])])}"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":71,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.3.0\")]),_v(\"]\")])])])}"},{"lineNumber":72,"author":{"gitId":"jingting1412"},"content":"}];"},{"lineNumber":73,"author":{"gitId":"jingting1412"},"content":" "}],"authorContributionMap":{"jingting1412":73}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/css/bootstrap.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" * Bootswatch v5.1.3"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" * Homepage: https://bootswatch.com"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" * Copyright 2012-2021 Thomas Park"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" * Licensed under MIT"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" * Based on Bootstrap"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"*//*!"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" * Bootstrap v5.1.3 (https://getbootstrap.com/)"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" * Copyright 2011-2021 The Bootstrap Authors"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" * Copyright 2011-2021 Twitter, Inc."},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" */@import url(https://fonts.googleapis.com/css2?family\u003dLato:ital,wght@0,400;0,700;1,400\u0026display\u003dswap);:root{--bs-blue:#2c3e50;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#e83e8c;--bs-red:#e74c3c;--bs-orange:#fd7e14;--bs-yellow:#f39c12;--bs-green:#18bc9c;--bs-teal:#20c997;--bs-cyan:#3498db;--bs-white:#fff;--bs-gray:#95a5a6;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#ecf0f1;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#b4bcc2;--bs-gray-600:#95a5a6;--bs-gray-700:#7b8a8b;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#2c3e50;--bs-secondary:#95a5a6;--bs-success:#18bc9c;--bs-info:#3498db;--bs-warning:#f39c12;--bs-danger:#e74c3c;--bs-light:#ecf0f1;--bs-dark:#7b8a8b;--bs-primary-rgb:44,62,80;--bs-secondary-rgb:149,165,166;--bs-success-rgb:24,188,156;--bs-info-rgb:52,152,219;--bs-warning-rgb:243,156,18;--bs-danger-rgb:231,76,60;--bs-light-rgb:236,240,241;--bs-dark-rgb:123,138,139;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:Lato,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.h1,h1{font-size:3rem}}.h2,h2{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h2,h2{font-size:2.5rem}}.h3,h3{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h3,h3{font-size:2rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#18bc9c;text-decoration:underline}a:hover{color:#13967d}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#e83e8c;word-wrap:break-word}a\u003ecode{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#95a5a6;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role\u003dbutton]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type\u003dbutton],[type\u003dreset],[type\u003dsubmit],button{-webkit-appearance:button}[type\u003dbutton]:not(:disabled),[type\u003dreset]:not(:disabled),[type\u003dsubmit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type\u003dsearch]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote\u003e:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#95a5a6}.blockquote-footer::before{content:\"\\2014\\00A0\"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#95a5a6}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row\u003e*{-ms-flex-negative:0;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-auto\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-1\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-2\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-3\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.row-cols-4\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-5\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-6\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.333333%}.col-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.col-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.666667%}.col-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.333333%}.col-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.666667%}.col-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.333333%}.col-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.666667%}.col-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-sm-auto\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-sm-1\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-sm-2\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-sm-3\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.row-cols-sm-4\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-sm-5\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-sm-6\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.333333%}.col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.666667%}.col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.333333%}.col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.666667%}.col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.333333%}.col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.666667%}.col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-md-auto\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-md-1\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-md-2\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-md-3\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.row-cols-md-4\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-md-5\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-md-6\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.333333%}.col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.666667%}.col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.333333%}.col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.666667%}.col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.333333%}.col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.666667%}.col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-lg-auto\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-lg-1\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-lg-2\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-lg-3\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.row-cols-lg-4\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-lg-5\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-lg-6\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.333333%}.col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.666667%}.col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.333333%}.col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.666667%}.col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.333333%}.col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.666667%}.col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xl-auto\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xl-1\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xl-2\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xl-3\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.row-cols-xl-4\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xl-5\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xl-6\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.333333%}.col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.666667%}.col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.333333%}.col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.666667%}.col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.333333%}.col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.666667%}.col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xxl-auto\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xxl-1\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xxl-2\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xxl-3\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.row-cols-xxl-4\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xxl-5\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xxl-6\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-xxl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xxl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.333333%}.col-xxl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-xxl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xxl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.col-xxl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.666667%}.col-xxl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xxl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.333333%}.col-xxl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.666667%}.col-xxl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xxl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.333333%}.col-xxl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.666667%}.col-xxl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.333333%}.offset-xxl-2{margin-left:16.666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.333333%}.offset-xxl-5{margin-left:41.666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.333333%}.offset-xxl-8{margin-left:66.666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.333333%}.offset-xxl-11{margin-left:91.666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table\u003e:not(caption)\u003e*\u003e*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table\u003etbody{vertical-align:inherit}.table\u003ethead{vertical-align:bottom}.table\u003e:not(:first-child){border-top:2px solid currentColor}.caption-top{caption-side:top}.table-sm\u003e:not(caption)\u003e*\u003e*{padding:.25rem .25rem}.table-bordered\u003e:not(caption)\u003e*{border-width:1px 0}.table-bordered\u003e:not(caption)\u003e*\u003e*{border-width:0 1px}.table-borderless\u003e:not(caption)\u003e*\u003e*{border-bottom-width:0}.table-borderless\u003e:not(:first-child){border-top-width:0}.table-striped\u003etbody\u003etr:nth-of-type(odd)\u003e*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover\u003etbody\u003etr:hover\u003e*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#2c3e50;--bs-table-striped-bg:#374859;--bs-table-striped-color:#fff;--bs-table-active-bg:#415162;--bs-table-active-color:#fff;--bs-table-hover-bg:#3c4c5d;--bs-table-hover-color:#fff;color:#fff;border-color:#415162}.table-secondary{--bs-table-bg:#95a5a6;--bs-table-striped-bg:#9aaaaa;--bs-table-striped-color:#fff;--bs-table-active-bg:#a0aeaf;--bs-table-active-color:#fff;--bs-table-hover-bg:#9dacad;--bs-table-hover-color:#fff;color:#fff;border-color:#a0aeaf}.table-success{--bs-table-bg:#18bc9c;--bs-table-striped-bg:#24bfa1;--bs-table-striped-color:#fff;--bs-table-active-bg:#2fc3a6;--bs-table-active-color:#fff;--bs-table-hover-bg:#29c1a3;--bs-table-hover-color:#fff;color:#fff;border-color:#2fc3a6}.table-info{--bs-table-bg:#3498db;--bs-table-striped-bg:#3e9ddd;--bs-table-striped-color:#fff;--bs-table-active-bg:#48a2df;--bs-table-active-color:#fff;--bs-table-hover-bg:#43a0de;--bs-table-hover-color:#fff;color:#fff;border-color:#48a2df}.table-warning{--bs-table-bg:#f39c12;--bs-table-striped-bg:#f4a11e;--bs-table-striped-color:#fff;--bs-table-active-bg:#f4a62a;--bs-table-active-color:#000;--bs-table-hover-bg:#f4a324;--bs-table-hover-color:#fff;color:#fff;border-color:#f4a62a}.table-danger{--bs-table-bg:#e74c3c;--bs-table-striped-bg:#e85546;--bs-table-striped-color:#fff;--bs-table-active-bg:#e95e50;--bs-table-active-color:#fff;--bs-table-hover-bg:#e9594b;--bs-table-hover-color:#fff;color:#fff;border-color:#e95e50}.table-light{--bs-table-bg:#ecf0f1;--bs-table-striped-bg:#e0e4e5;--bs-table-striped-color:#000;--bs-table-active-bg:#d4d8d9;--bs-table-active-color:#000;--bs-table-hover-bg:#dadedf;--bs-table-hover-color:#000;color:#000;border-color:#d4d8d9}.table-dark{--bs-table-bg:#7b8a8b;--bs-table-striped-bg:#829091;--bs-table-striped-color:#fff;--bs-table-active-bg:#889697;--bs-table-active-color:#fff;--bs-table-hover-bg:#859394;--bs-table-hover-color:#fff;color:#fff;border-color:#889697}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#95a5a6}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type\u003dfile]{overflow:hidden}.form-control[type\u003dfile]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#969fa8;outline:0;box-shadow:0 0 0 .25rem rgba(44,62,80,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-webkit-input-placeholder{color:#95a5a6;opacity:1}.form-control::-moz-placeholder{color:#95a5a6;opacity:1}.form-control:-ms-input-placeholder{color:#95a5a6;opacity:1}.form-control::-ms-input-placeholder{color:#95a5a6;opacity:1}.form-control::placeholder{color:#95a5a6;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#ecf0f1;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;-moz-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#ecf0f1;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#e0e4e5}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#ecf0f1;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#e0e4e5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;-moz-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;-moz-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23343a40\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M2 5l6 6 6-6\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#969fa8;outline:0;box-shadow:0 0 0 .25rem rgba(44,62,80,.25)}.form-select[multiple],.form-select[size]:not([size\u003d\"1\"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#ecf0f1}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.3rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type\u003dcheckbox]{border-radius:.25em}.form-check-input[type\u003dradio]{border-radius:50%}.form-check-input:active{-webkit-filter:brightness(90%);filter:brightness(90%)}.form-check-input:focus{border-color:#969fa8;outline:0;box-shadow:0 0 0 .25rem rgba(44,62,80,.25)}.form-check-input:checked{background-color:#2c3e50;border-color:#2c3e50}.form-check-input:checked[type\u003dcheckbox]{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 20 20\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23fff\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00273\u0027 d\u003d\u0027M6 10l3 3l6-6\u0027/%3e%3c/svg%3e\")}.form-check-input:checked[type\u003dradio]{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00272\u0027 fill\u003d\u0027%23fff\u0027/%3e%3c/svg%3e\")}.form-check-input[type\u003dcheckbox]:indeterminate{background-color:#2c3e50;border-color:#2c3e50;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 20 20\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23fff\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00273\u0027 d\u003d\u0027M6 10h8\u0027/%3e%3c/svg%3e\")}.form-check-input:disabled{pointer-events:none;-webkit-filter:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00273\u0027 fill\u003d\u0027rgba%280, 0, 0, 0.25%29\u0027/%3e%3c/svg%3e\");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00273\u0027 fill\u003d\u0027%23969fa8\u0027/%3e%3c/svg%3e\")}.form-switch .form-check-input:checked{background-position:right center;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00273\u0027 fill\u003d\u0027%23fff\u0027/%3e%3c/svg%3e\")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;-webkit-filter:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(44,62,80,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(44,62,80,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2c3e50;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#c0c5cb}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#2c3e50;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#c0c5cb}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#b4bcc2}.form-range:disabled::-moz-range-thumb{background-color:#b4bcc2}.form-floating{position:relative}.form-floating\u003e.form-control,.form-floating\u003e.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating\u003elabel{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;-webkit-transform-origin:0 0;transform-origin:0 0;transition:opacity .1s ease-in-out,-webkit-transform .1s ease-in-out;transition:opacity .1s ease-in-out,transform .1s ease-in-out;transition:opacity .1s ease-in-out,transform .1s ease-in-out,-webkit-transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating\u003elabel{transition:none}}.form-floating\u003e.form-control{padding:1rem .75rem}.form-floating\u003e.form-control::-webkit-input-placeholder{color:transparent}.form-floating\u003e.form-control::-moz-placeholder{color:transparent}.form-floating\u003e.form-control:-ms-input-placeholder{color:transparent}.form-floating\u003e.form-control::-ms-input-placeholder{color:transparent}.form-floating\u003e.form-control::placeholder{color:transparent}.form-floating\u003e.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-control:not(:-ms-input-placeholder){padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-control:focus,.form-floating\u003e.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating\u003e.form-control:not(:-ms-input-placeholder)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating\u003e.form-control:focus~label,.form-floating\u003e.form-control:not(:placeholder-shown)~label,.form-floating\u003e.form-select~label{opacity:.65;-webkit-transform:scale(.85) translateY(-.5rem) translateX(.15rem);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating\u003e.form-control:-webkit-autofill~label{opacity:.65;-webkit-transform:scale(.85) translateY(-.5rem) translateX(.15rem);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group\u003e.form-control,.input-group\u003e.form-select{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0}.input-group\u003e.form-control:focus,.input-group\u003e.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#ecf0f1;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg\u003e.btn,.input-group-lg\u003e.form-control,.input-group-lg\u003e.form-select,.input-group-lg\u003e.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm\u003e.btn,.input-group-sm\u003e.form-control,.input-group-sm\u003e.form-select,.input-group-sm\u003e.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg\u003e.form-select,.input-group-sm\u003e.form-select{padding-right:3rem}.input-group:not(.has-validation)\u003e.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)\u003e:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation\u003e.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation\u003e:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group\u003e:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#18bc9c}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(24,188,156,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#18bc9c;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 8 8\u0027%3e%3cpath fill\u003d\u0027%2318bc9c\u0027 d\u003d\u0027M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#18bc9c;box-shadow:0 0 0 .25rem rgba(24,188,156,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#18bc9c}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size\u003d\"1\"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size\u003d\"1\"]{padding-right:4.125rem;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23343a40\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M2 5l6 6 6-6\u0027/%3e%3c/svg%3e\"),url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 8 8\u0027%3e%3cpath fill\u003d\u0027%2318bc9c\u0027 d\u003d\u0027M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\u0027/%3e%3c/svg%3e\");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#18bc9c;box-shadow:0 0 0 .25rem rgba(24,188,156,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#18bc9c}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#18bc9c}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(24,188,156,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#18bc9c}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#e74c3c}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(231,76,60,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#e74c3c;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 12 12\u0027 width\u003d\u002712\u0027 height\u003d\u002712\u0027 fill\u003d\u0027none\u0027 stroke\u003d\u0027%23e74c3c\u0027%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00276\u0027 r\u003d\u00274.5\u0027/%3e%3cpath stroke-linejoin\u003d\u0027round\u0027 d\u003d\u0027M5.8 3.6h.4L6 6.5z\u0027/%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00278.2\u0027 r\u003d\u0027.6\u0027 fill\u003d\u0027%23e74c3c\u0027 stroke\u003d\u0027none\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#e74c3c;box-shadow:0 0 0 .25rem rgba(231,76,60,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#e74c3c}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size\u003d\"1\"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size\u003d\"1\"]{padding-right:4.125rem;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23343a40\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M2 5l6 6 6-6\u0027/%3e%3c/svg%3e\"),url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 12 12\u0027 width\u003d\u002712\u0027 height\u003d\u002712\u0027 fill\u003d\u0027none\u0027 stroke\u003d\u0027%23e74c3c\u0027%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00276\u0027 r\u003d\u00274.5\u0027/%3e%3cpath stroke-linejoin\u003d\u0027round\u0027 d\u003d\u0027M5.8 3.6h.4L6 6.5z\u0027/%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00278.2\u0027 r\u003d\u0027.6\u0027 fill\u003d\u0027%23e74c3c\u0027 stroke\u003d\u0027none\u0027/%3e%3c/svg%3e\");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#e74c3c;box-shadow:0 0 0 .25rem rgba(231,76,60,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#e74c3c}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#e74c3c}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(231,76,60,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#e74c3c}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(44,62,80,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#2c3e50;border-color:#2c3e50}.btn-primary:hover{color:#fff;background-color:#253544;border-color:#233240}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#253544;border-color:#233240;box-shadow:0 0 0 .25rem rgba(76,91,106,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show\u003e.btn-primary.dropdown-toggle{color:#fff;background-color:#233240;border-color:#212f3c}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show\u003e.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(76,91,106,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#2c3e50;border-color:#2c3e50}.btn-secondary{color:#fff;background-color:#95a5a6;border-color:#95a5a6}.btn-secondary:hover{color:#fff;background-color:#7f8c8d;border-color:#778485}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#7f8c8d;border-color:#778485;box-shadow:0 0 0 .25rem rgba(165,179,179,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show\u003e.btn-secondary.dropdown-toggle{color:#fff;background-color:#778485;border-color:#707c7d}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show\u003e.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(165,179,179,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#95a5a6;border-color:#95a5a6}.btn-success{color:#fff;background-color:#18bc9c;border-color:#18bc9c}.btn-success:hover{color:#fff;background-color:#14a085;border-color:#13967d}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#14a085;border-color:#13967d;box-shadow:0 0 0 .25rem rgba(59,198,171,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show\u003e.btn-success.dropdown-toggle{color:#fff;background-color:#13967d;border-color:#128d75}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show\u003e.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(59,198,171,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#18bc9c;border-color:#18bc9c}.btn-info{color:#fff;background-color:#3498db;border-color:#3498db}.btn-info:hover{color:#fff;background-color:#2c81ba;border-color:#2a7aaf}.btn-check:focus+.btn-info,.btn-info:focus{color:#fff;background-color:#2c81ba;border-color:#2a7aaf;box-shadow:0 0 0 .25rem rgba(82,167,224,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show\u003e.btn-info.dropdown-toggle{color:#fff;background-color:#2a7aaf;border-color:#2772a4}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show\u003e.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(82,167,224,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#3498db;border-color:#3498db}.btn-warning{color:#fff;background-color:#f39c12;border-color:#f39c12}.btn-warning:hover{color:#fff;background-color:#cf850f;border-color:#c27d0e}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#fff;background-color:#cf850f;border-color:#c27d0e;box-shadow:0 0 0 .25rem rgba(245,171,54,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show\u003e.btn-warning.dropdown-toggle{color:#fff;background-color:#c27d0e;border-color:#b6750e}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show\u003e.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(245,171,54,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#fff;background-color:#f39c12;border-color:#f39c12}.btn-danger{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.btn-danger:hover{color:#fff;background-color:#c44133;border-color:#b93d30}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#c44133;border-color:#b93d30;box-shadow:0 0 0 .25rem rgba(235,103,89,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show\u003e.btn-danger.dropdown-toggle{color:#fff;background-color:#b93d30;border-color:#ad392d}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show\u003e.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(235,103,89,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.btn-light{color:#000;background-color:#ecf0f1;border-color:#ecf0f1}.btn-light:hover{color:#000;background-color:#eff2f3;border-color:#eef2f2}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#eff2f3;border-color:#eef2f2;box-shadow:0 0 0 .25rem rgba(201,204,205,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show\u003e.btn-light.dropdown-toggle{color:#000;background-color:#f0f3f4;border-color:#eef2f2}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show\u003e.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(201,204,205,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#ecf0f1;border-color:#ecf0f1}.btn-dark{color:#fff;background-color:#7b8a8b;border-color:#7b8a8b}.btn-dark:hover{color:#fff;background-color:#697576;border-color:#626e6f}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#697576;border-color:#626e6f;box-shadow:0 0 0 .25rem rgba(143,156,156,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show\u003e.btn-dark.dropdown-toggle{color:#fff;background-color:#626e6f;border-color:#5c6868}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show\u003e.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(143,156,156,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#7b8a8b;border-color:#7b8a8b}.btn-outline-primary{color:#2c3e50;border-color:#2c3e50}.btn-outline-primary:hover{color:#fff;background-color:#2c3e50;border-color:#2c3e50}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(44,62,80,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#2c3e50;border-color:#2c3e50}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(44,62,80,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#2c3e50;background-color:transparent}.btn-outline-secondary{color:#95a5a6;border-color:#95a5a6}.btn-outline-secondary:hover{color:#fff;background-color:#95a5a6;border-color:#95a5a6}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(149,165,166,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#95a5a6;border-color:#95a5a6}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(149,165,166,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#95a5a6;background-color:transparent}.btn-outline-success{color:#18bc9c;border-color:#18bc9c}.btn-outline-success:hover{color:#fff;background-color:#18bc9c;border-color:#18bc9c}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(24,188,156,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#18bc9c;border-color:#18bc9c}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(24,188,156,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#18bc9c;background-color:transparent}.btn-outline-info{color:#3498db;border-color:#3498db}.btn-outline-info:hover{color:#fff;background-color:#3498db;border-color:#3498db}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(52,152,219,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#fff;background-color:#3498db;border-color:#3498db}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(52,152,219,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#3498db;background-color:transparent}.btn-outline-warning{color:#f39c12;border-color:#f39c12}.btn-outline-warning:hover{color:#fff;background-color:#f39c12;border-color:#f39c12}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(243,156,18,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#fff;background-color:#f39c12;border-color:#f39c12}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(243,156,18,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f39c12;background-color:transparent}.btn-outline-danger{color:#e74c3c;border-color:#e74c3c}.btn-outline-danger:hover{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(231,76,60,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(231,76,60,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#e74c3c;background-color:transparent}.btn-outline-light{color:#ecf0f1;border-color:#ecf0f1}.btn-outline-light:hover{color:#000;background-color:#ecf0f1;border-color:#ecf0f1}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(236,240,241,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#ecf0f1;border-color:#ecf0f1}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(236,240,241,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#ecf0f1;background-color:transparent}.btn-outline-dark{color:#7b8a8b;border-color:#7b8a8b}.btn-outline-dark:hover{color:#fff;background-color:#7b8a8b;border-color:#7b8a8b}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(123,138,139,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#7b8a8b;border-color:#7b8a8b}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(123,138,139,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#7b8a8b;background-color:transparent}.btn-link{font-weight:400;color:#18bc9c;text-decoration:underline}.btn-link:hover{color:#13967d}.btn-link.disabled,.btn-link:disabled{color:#95a5a6}.btn-group-lg\u003e.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm\u003e.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#7b8a8b;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#fff;background-color:#2c3e50}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#2c3e50}.dropdown-item.disabled,.dropdown-item:disabled{color:#b4bcc2;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#95a5a6;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#7b8a8b}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#2c3e50}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#b4bcc2}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#b4bcc2}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical\u003e.btn,.btn-group\u003e.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical\u003e.btn-check:checked+.btn,.btn-group-vertical\u003e.btn-check:focus+.btn,.btn-group-vertical\u003e.btn.active,.btn-group-vertical\u003e.btn:active,.btn-group-vertical\u003e.btn:focus,.btn-group-vertical\u003e.btn:hover,.btn-group\u003e.btn-check:checked+.btn,.btn-group\u003e.btn-check:focus+.btn,.btn-group\u003e.btn.active,.btn-group\u003e.btn:active,.btn-group\u003e.btn:focus,.btn-group\u003e.btn:hover{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group\u003e.btn-group:not(:first-child),.btn-group\u003e.btn:not(:first-child){margin-left:-1px}.btn-group\u003e.btn-group:not(:last-child)\u003e.btn,.btn-group\u003e.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group\u003e.btn-group:not(:first-child)\u003e.btn,.btn-group\u003e.btn:nth-child(n+3),.btn-group\u003e:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm\u003e.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg\u003e.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical\u003e.btn,.btn-group-vertical\u003e.btn-group{width:100%}.btn-group-vertical\u003e.btn-group:not(:first-child),.btn-group-vertical\u003e.btn:not(:first-child){margin-top:-1px}.btn-group-vertical\u003e.btn-group:not(:last-child)\u003e.btn,.btn-group-vertical\u003e.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical\u003e.btn-group:not(:first-child)\u003e.btn,.btn-group-vertical\u003e.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 2rem;color:#18bc9c;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#13967d}.nav-link.disabled{color:#95a5a6;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #ecf0f1}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#ecf0f1 #ecf0f1 #ecf0f1;isolation:isolate}.nav-tabs .nav-link.disabled{color:#95a5a6;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#7b8a8b;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show\u003e.nav-link{color:#fff;background-color:#2c3e50}.nav-fill .nav-item,.nav-fill\u003e.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified\u003e.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content\u003e.tab-pane{display:none}.tab-content\u003e.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding-top:1rem;padding-bottom:1rem}.navbar\u003e.container,.navbar\u003e.container-fluid,.navbar\u003e.container-lg,.navbar\u003e.container-md,.navbar\u003e.container-sm,.navbar\u003e.container-xl,.navbar\u003e.container-xxl{display:-ms-flexbox;display:flex;-ms-flex-wrap:inherit;flex-wrap:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;-ms-flex-positive:1;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;-webkit-transform:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;-ms-flex-positive:1;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;-webkit-transform:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;-ms-flex-positive:1;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;-webkit-transform:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;-ms-flex-positive:1;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;-webkit-transform:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;-ms-flex-positive:1;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;-webkit-transform:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;-ms-flex-positive:1;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;-webkit-transform:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show\u003e.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 30 30\u0027%3e%3cpath stroke\u003d\u0027rgba%280, 0, 0, 0.55%29\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-miterlimit\u003d\u002710\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M4 7h22M4 15h22M4 23h22\u0027/%3e%3c/svg%3e\")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#fff}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#2c3e50}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show\u003e.nav-link{color:#2c3e50}.navbar-dark .navbar-toggler{color:#fff;border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 30 30\u0027%3e%3cpath stroke\u003d\u0027%23fff\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-miterlimit\u003d\u002710\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M4 7h22M4 15h22M4 23h22\u0027/%3e%3c/svg%3e\")}.navbar-dark .navbar-text{color:#fff}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#2c3e50}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card\u003ehr{margin-right:0;margin-left:0}.card\u003e.list-group{border-top:inherit;border-bottom:inherit}.card\u003e.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card\u003e.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card\u003e.card-header+.list-group,.card\u003e.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group\u003e.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group\u003e.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group\u003e.card+.card{margin-left:0;border-left:0}.card-group\u003e.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group\u003e.card:not(:last-child) .card-header,.card-group\u003e.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group\u003e.card:not(:last-child) .card-footer,.card-group\u003e.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group\u003e.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group\u003e.card:not(:first-child) .card-header,.card-group\u003e.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group\u003e.card:not(:first-child) .card-footer,.card-group\u003e.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#283848;background-color:#eaecee;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23283848\u0027%3e%3cpath fill-rule\u003d\u0027evenodd\u0027 d\u003d\u0027M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\u0027/%3e%3c/svg%3e\");-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.accordion-button::after{-ms-flex-negative:0;flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:\"\";background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23212529\u0027%3e%3cpath fill-rule\u003d\u0027evenodd\u0027 d\u003d\u0027M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-size:1.25rem;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#969fa8;outline:0;box-shadow:0 0 0 .25rem rgba(44,62,80,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.375rem .75rem;margin-bottom:1rem;list-style:none;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#95a5a6;content:var(--bs-breadcrumb-divider, \"/\")}.breadcrumb-item.active{color:#95a5a6}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#fff;text-decoration:none;background-color:#18bc9c;border:0 solid transparent;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#fff;background-color:#0f7864;border-color:transparent}.page-link:focus{z-index:3;color:#13967d;background-color:#ecf0f1;outline:0;box-shadow:0 0 0 .25rem rgba(44,62,80,.25)}.page-item:not(:first-child) .page-link{margin-left:0}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0f7864;border-color:transparent}.page-item.disabled .page-link{color:#ecf0f1;pointer-events:none;background-color:#3be6c4;border-color:transparent}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#1a2530;background-color:#d5d8dc;border-color:#c0c5cb}.alert-primary .alert-link{color:#151e26}.alert-secondary{color:#596364;background-color:#eaeded;border-color:#dfe4e4}.alert-secondary .alert-link{color:#474f50}.alert-success{color:#0e715e;background-color:#d1f2eb;border-color:#baebe1}.alert-success .alert-link{color:#0b5a4b}.alert-info{color:#1f5b83;background-color:#d6eaf8;border-color:#c2e0f4}.alert-info .alert-link{color:#194969}.alert-warning{color:#925e0b;background-color:#fdebd0;border-color:#fbe1b8}.alert-warning .alert-link{color:#754b09}.alert-danger{color:#8b2e24;background-color:#fadbd8;border-color:#f8c9c5}.alert-danger .alert-link{color:#6f251d}.alert-light{color:#8e9091;background-color:#fbfcfc;border-color:#f9fbfb}.alert-light .alert-link{color:#727374}.alert-dark{color:#4a5353;background-color:#e5e8e8;border-color:#d7dcdc}.alert-dark .alert-link{color:#3b4242}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#ecf0f1;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#2c3e50;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered\u003eli::before{content:counters(section, \".\") \". \";counter-increment:section}.list-group-item-action{width:100%;color:#7b8a8b;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#7b8a8b;text-decoration:none;background-color:#ecf0f1}.list-group-item-action:active{color:#212529;background-color:#ecf0f1}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#95a5a6;pointer-events:none;background-color:#ecf0f1}.list-group-item.active{z-index:2;color:#fff;background-color:#2c3e50;border-color:#2c3e50}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal\u003e.list-group-item.active{margin-top:0}.list-group-horizontal\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-sm\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-md\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-lg\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-xl\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xxl\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-xxl\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush\u003e.list-group-item{border-width:0 0 1px}.list-group-flush\u003e.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#1a2530;background-color:#d5d8dc}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#1a2530;background-color:#c0c2c6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#1a2530;border-color:#1a2530}.list-group-item-secondary{color:#596364;background-color:#eaeded}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#596364;background-color:#d3d5d5}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#596364;border-color:#596364}.list-group-item-success{color:#0e715e;background-color:#d1f2eb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0e715e;background-color:#bcdad4}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0e715e;border-color:#0e715e}.list-group-item-info{color:#1f5b83;background-color:#d6eaf8}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#1f5b83;background-color:#c1d3df}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#1f5b83;border-color:#1f5b83}.list-group-item-warning{color:#925e0b;background-color:#fdebd0}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#925e0b;background-color:#e4d4bb}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#925e0b;border-color:#925e0b}.list-group-item-danger{color:#8b2e24;background-color:#fadbd8}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#8b2e24;background-color:#e1c5c2}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#8b2e24;border-color:#8b2e24}.list-group-item-light{color:#8e9091;background-color:#fbfcfc}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#8e9091;background-color:#e2e3e3}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#8e9091;border-color:#8e9091}.list-group-item-dark{color:#4a5353;background-color:#e5e8e8}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#4a5353;background-color:#ced1d1}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#4a5353;border-color:#4a5353}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#fff;background:transparent url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23fff\u0027%3e%3cpath d\u003d\u0027M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z\u0027/%3e%3c/svg%3e\") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.4}.btn-close:hover{color:#fff;text-decoration:none;opacity:1}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(44,62,80,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.25}.btn-close-white{-webkit-filter:invert(1) grayscale(100%) brightness(200%);filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container\u003e:not(:last-child){margin-bottom:.75rem}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.5rem .75rem;color:#95a5a6;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer\u003e*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:\"\";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^\u003dtop],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^\u003dtop] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^\u003dtop] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^\u003dright],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^\u003dright] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^\u003dright] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^\u003dbottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^\u003dbottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^\u003dbottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^\u003dleft],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^\u003dleft] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^\u003dleft] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:\"\";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^\u003dtop]\u003e.popover-arrow,.bs-popover-top\u003e.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^\u003dtop]\u003e.popover-arrow::before,.bs-popover-top\u003e.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dtop]\u003e.popover-arrow::after,.bs-popover-top\u003e.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^\u003dright]\u003e.popover-arrow,.bs-popover-end\u003e.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^\u003dright]\u003e.popover-arrow::before,.bs-popover-end\u003e.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dright]\u003e.popover-arrow::after,.bs-popover-end\u003e.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^\u003dbottom]\u003e.popover-arrow,.bs-popover-bottom\u003e.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^\u003dbottom]\u003e.popover-arrow::before,.bs-popover-bottom\u003e.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dbottom]\u003e.popover-arrow::after,.bs-popover-bottom\u003e.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^\u003dbottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:\"\";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^\u003dleft]\u003e.popover-arrow,.bs-popover-start\u003e.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^\u003dleft]\u003e.popover-arrow::before,.bs-popover-start\u003e.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dleft]\u003e.popover-arrow::after,.bs-popover-start\u003e.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:\"\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23fff\u0027%3e%3cpath d\u003d\u0027M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\u0027/%3e%3c/svg%3e\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23fff\u0027%3e%3cpath d\u003d\u0027M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\u0027/%3e%3c/svg%3e\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{-webkit-filter:invert(1) grayscale(100);filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{-ms-flex-positive:1;flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas.show{-webkit-transform:none;transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:\"\"}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0;mask-position:-200% 0}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0;mask-position:-200% 0}}.clearfix::after{display:block;clear:both;content:\"\"}.link-primary{color:#2c3e50}.link-primary:focus,.link-primary:hover{color:#233240}.link-secondary{color:#95a5a6}.link-secondary:focus,.link-secondary:hover{color:#778485}.link-success{color:#18bc9c}.link-success:focus,.link-success:hover{color:#13967d}.link-info{color:#3498db}.link-info:focus,.link-info:hover{color:#2a7aaf}.link-warning{color:#f39c12}.link-warning:focus,.link-warning:hover{color:#c27d0e}.link-danger{color:#e74c3c}.link-danger:focus,.link-danger:hover{color:#b93d30}.link-light{color:#ecf0f1}.link-light:focus,.link-light:hover{color:#f0f3f4}.link-dark{color:#7b8a8b}.link-dark:focus,.link-dark:hover{color:#626e6f}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:\"\"}.ratio\u003e*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.hstack{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-item-align:stretch;align-self:stretch}.vstack{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;-ms-flex-item-align:stretch;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:\"\"}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;-ms-flex-item-align:stretch;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{-webkit-transform:translate(-50%,-50%)!important;transform:translate(-50%,-50%)!important}.translate-middle-x{-webkit-transform:translateX(-50%)!important;transform:translateX(-50%)!important}.translate-middle-y{-webkit-transform:translateY(-50%)!important;transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#2c3e50!important}.border-secondary{border-color:#95a5a6!important}.border-success{border-color:#18bc9c!important}.border-info{border-color:#3498db!important}.border-warning{border-color:#f39c12!important}.border-danger{border-color:#e74c3c!important}.border-light{border-color:#ecf0f1!important}.border-dark{border-color:#7b8a8b!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-evenly{-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.order-first{-ms-flex-order:-1!important;order:-1!important}.order-0{-ms-flex-order:0!important;order:0!important}.order-1{-ms-flex-order:1!important;order:1!important}.order-2{-ms-flex-order:2!important;order:2!important}.order-3{-ms-flex-order:3!important;order:3!important}.order-4{-ms-flex-order:4!important;order:4!important}.order-5{-ms-flex-order:5!important;order:5!important}.order-last{-ms-flex-order:6!important;order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.425rem + 2.1vw)!important}.fs-2{font-size:calc(1.375rem + 1.5vw)!important}.fs-3{font-size:calc(1.325rem + .9vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#95a5a6!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-sm-evenly{-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.order-sm-first{-ms-flex-order:-1!important;order:-1!important}.order-sm-0{-ms-flex-order:0!important;order:0!important}.order-sm-1{-ms-flex-order:1!important;order:1!important}.order-sm-2{-ms-flex-order:2!important;order:2!important}.order-sm-3{-ms-flex-order:3!important;order:3!important}.order-sm-4{-ms-flex-order:4!important;order:4!important}.order-sm-5{-ms-flex-order:5!important;order:5!important}.order-sm-last{-ms-flex-order:6!important;order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-md-evenly{-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.order-md-first{-ms-flex-order:-1!important;order:-1!important}.order-md-0{-ms-flex-order:0!important;order:0!important}.order-md-1{-ms-flex-order:1!important;order:1!important}.order-md-2{-ms-flex-order:2!important;order:2!important}.order-md-3{-ms-flex-order:3!important;order:3!important}.order-md-4{-ms-flex-order:4!important;order:4!important}.order-md-5{-ms-flex-order:5!important;order:5!important}.order-md-last{-ms-flex-order:6!important;order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-lg-evenly{-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.order-lg-first{-ms-flex-order:-1!important;order:-1!important}.order-lg-0{-ms-flex-order:0!important;order:0!important}.order-lg-1{-ms-flex-order:1!important;order:1!important}.order-lg-2{-ms-flex-order:2!important;order:2!important}.order-lg-3{-ms-flex-order:3!important;order:3!important}.order-lg-4{-ms-flex-order:4!important;order:4!important}.order-lg-5{-ms-flex-order:5!important;order:5!important}.order-lg-last{-ms-flex-order:6!important;order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-xl-evenly{-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.order-xl-first{-ms-flex-order:-1!important;order:-1!important}.order-xl-0{-ms-flex-order:0!important;order:0!important}.order-xl-1{-ms-flex-order:1!important;order:1!important}.order-xl-2{-ms-flex-order:2!important;order:2!important}.order-xl-3{-ms-flex-order:3!important;order:3!important}.order-xl-4{-ms-flex-order:4!important;order:4!important}.order-xl-5{-ms-flex-order:5!important;order:5!important}.order-xl-last{-ms-flex-order:6!important;order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:-ms-flexbox!important;display:flex!important}.d-xxl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xxl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xxl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xxl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xxl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xxl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xxl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xxl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xxl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-xxl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xxl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xxl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xxl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xxl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xxl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-xxl-evenly{-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-xxl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xxl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xxl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xxl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xxl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xxl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xxl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xxl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xxl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xxl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xxl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xxl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xxl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xxl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xxl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xxl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xxl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.order-xxl-first{-ms-flex-order:-1!important;order:-1!important}.order-xxl-0{-ms-flex-order:0!important;order:0!important}.order-xxl-1{-ms-flex-order:1!important;order:1!important}.order-xxl-2{-ms-flex-order:2!important;order:2!important}.order-xxl-3{-ms-flex-order:3!important;order:3!important}.order-xxl-4{-ms-flex-order:4!important;order:4!important}.order-xxl-5{-ms-flex-order:5!important;order:5!important}.order-xxl-last{-ms-flex-order:6!important;order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:3rem!important}.fs-2{font-size:2.5rem!important}.fs-3{font-size:2rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}.d-print-none{display:none!important}}.bg-primary .navbar-nav .nav-link.active,.bg-primary .navbar-nav .nav-link:focus,.bg-primary .navbar-nav .nav-link:hover,.bg-primary .navbar-nav .show\u003e.nav-link{color:#18bc9c!important}.nav-tabs .nav-item.open .nav-link,.nav-tabs .nav-item.open .nav-link:focus,.nav-tabs .nav-item.open .nav-link:hover,.nav-tabs .nav-link.active,.nav-tabs .nav-link.active:focus,.nav-tabs .nav-link.active:hover{color:#2c3e50}.pagination a:hover{text-decoration:none}.badge.bg-light{color:#7b8a8b}.alert{border:none;color:#fff}.alert .alert-link,.alert a{color:#fff;text-decoration:underline}.alert-primary{background-color:#2c3e50}.alert-secondary{background-color:#95a5a6}.alert-success{background-color:#18bc9c}.alert-info{background-color:#3498db}.alert-warning{background-color:#f39c12}.alert-danger{background-color:#e74c3c}.alert-light{background-color:#ecf0f1}.alert-dark{background-color:#7b8a8b}.alert-light,.alert-light .alert-link,.alert-light a{color:#212529}.modal .btn-close,.toast .btn-close{background-image:url(\"data:image/svg+xml,\u003csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23000\u0027\u003e\u003cpath d\u003d\u0027M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z\u0027/\u003e\u003c/svg\u003e\")}"}],"authorContributionMap":{"jingting1412":12}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"jingting1412":2}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/css/codeblock-light.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#f8f8ff}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:700}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:teal}.hljs-doctag,.hljs-string{color:#d14}.hljs-section,.hljs-selector-id,.hljs-title{color:#900;font-weight:700}.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type{color:#458;font-weight:700}.hljs-attribute,.hljs-name,.hljs-tag{color:navy;font-weight:400}.hljs-link,.hljs-regexp{color:#009926}.hljs-bullet,.hljs-symbol{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#0086b3}.hljs-meta{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#e6e6fa}.hljs.inline{background:#f8f8f8}.hljs.inline.no-lang{color:#e83e8c}.hljs:not(.inline){border:1px solid #c8c8c8;border:1px solid rgba(200,200,200,.3)}.code-block-heading{background:#f2f2ff;color:#8787a5}button.function-btn{background-color: #f8f8ff}"}],"authorContributionMap":{"jingting1412":2}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/css/markbind.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":".resize-observer[data-v-8859cc6c]{background-color:transparent;border:none;opacity:0}.resize-observer[data-v-8859cc6c],.resize-observer[data-v-8859cc6c] object{display:block;height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:-1}.v-popper__popper{left:0;top:0;z-index:10000}.v-popper__popper.v-popper__popper--hidden{opacity:0;pointer-events:none;transition:opacity .15s,visibility .15s;visibility:hidden}.v-popper__popper.v-popper__popper--shown{opacity:1;transition:opacity .15s;visibility:visible}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition\u003e.v-popper__wrapper{transition:none!important}.v-popper__backdrop{display:none;height:100%;left:0;position:absolute;top:0;width:100%}.v-popper__inner{box-sizing:border-box;overflow-y:auto;position:relative}.v-popper__inner\u003ediv{max-height:inherit;max-width:inherit;position:relative;z-index:1}.v-popper__arrow-container{height:10px;position:absolute;width:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;height:0;left:0;position:absolute;top:0;width:0}.v-popper__arrow-inner{border-width:7px;visibility:hidden}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important}.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-outer{border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;border-top-width:0}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-left-color:transparent!important;border-left-width:0;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-right-color:transparent!important;border-right-width:0;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-inner{left:-2px}.v-popper--theme-dropdown .v-popper__inner{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 6px 30px #0000001a;color:#000}.v-popper--theme-dropdown .v-popper__arrow-inner{border-color:#fff;visibility:visible}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);border-radius:6px;color:#fff;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.box-container[data-v-4d146e2c]{border-radius:6px;padding:0}.box-header-wrapper[data-v-4d146e2c]{align-items:center;border-radius:6px 6px 0 0;display:flex;flex-direction:row;padding:.4rem 1.25rem .28rem;width:100%}.box-body-wrapper[data-v-4d146e2c]{display:flex;flex-direction:row;padding:.75rem 1.25rem;width:100%}.box-container.seamless\u003e.header-and-body\u003e.box-body-wrapper[data-v-4d146e2c]{padding:.75rem .5rem}.contents[data-v-4d146e2c]{min-width:0;padding:0 6px;width:100%}.box-container.seamless\u003e.header-and-body\u003ediv.box-body-wrapper\u003e.contents[data-v-4d146e2c]{padding-left:12px}.heading[data-v-4d146e2c]{background-color:hsla(0,0%,94%,.6);border-radius:0 6px 0 6px;border-width:0;color:inherit;display:inline;float:right;font-weight:400;margin:-13px -27px 0 15px;padding:3px 5px 4px;width:auto}.box-body-wrapper-with-heading[data-v-4d146e2c]{padding-top:.5rem}.alert-dismissible[data-v-4d146e2c]{padding-right:4rem}.box-header[data-v-4d146e2c]{font-weight:500}.icon-wrapper[data-v-4d146e2c]{display:inline;margin-right:.5em;min-width:1em;text-align:center}.close-with-heading[data-v-4d146e2c]{padding:1rem;position:absolute;right:0;top:0}.close-with-heading\u003espan[data-v-4d146e2c]{vertical-align:text-top}.alert-dismissible .btn-close[data-v-4d146e2c]{padding:1rem}.contents[data-v-4d146e2c]\u003e:last-child{margin-bottom:0}.alert-default[data-v-4d146e2c]{background-color:#f6f8fa;border-color:#e8ebef;color:#24292e}.alert-border-left[data-v-4d146e2c]{background-color:#f9f8f8;border-left:solid;border-width:0 0 0 5px}.vertical-divider[data-v-4d146e2c]{width:4px}.horizontal-divider[data-v-4d146e2c]{height:3px;margin:0 auto;width:calc(100% - 2.5rem)}.no-background[data-v-4d146e2c]{background:none}.no-border[data-v-4d146e2c]{border:none}@media screen and (max-width:768px){.box-header-wrapper[data-v-4d146e2c]{padding:.75rem .75rem .1rem}.box-body-wrapper[data-v-4d146e2c]{padding:.75rem}.contents[data-v-4d146e2c]{padding:0}}div.box-header\u003e*{margin-bottom:0}.notlink[data-v-ef898034]{color:#6d757d}.breadcrumb-divider[data-v-ef898034]{--bs-breadcrumb-divider:\"›\"}.breadcrumb-item[data-v-ef898034]:before,.breadcrumb-marker[data-v-ef898034]{font-size:15px}.dropdown-submenu[data-v-6df16086]{color:#212529!important;padding:0!important;position:relative}.dropdown-submenu ul.dropdown-menu[data-v-6df16086]{margin-left:0}.btn-group\u003eul\u003e.dropdown-submenu:last-child\u003eul[data-v-6df16086],.dropdown\u003eul\u003e.dropdown-submenu:last-child\u003eul[data-v-6df16086]{margin-bottom:-.5rem}@media (min-width:768px){.submenu-toggle[data-v-6df16086]:after{border-bottom:.3em solid transparent;border-left:.3em solid;border-right:0;border-top:.3em solid transparent;content:\"\";display:inline-block;float:right;height:0;margin-top:.5em;vertical-align:.255em;width:0}}@media (max-width:767px){.dropdown-submenu\u003eul[data-v-6df16086]{border-radius:0;float:none;margin:-.05rem;padding-bottom:0;position:static}.submenu-toggle[data-v-6df16086]:after{border-bottom:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid;content:\"\";display:inline-block;float:right;height:0;margin-left:.255em;margin-top:.5em;vertical-align:.255em;width:0}.navbar-default .dropdown[data-v-12679d7e]{position:static}.navbar-default .dropdown-menu[data-v-12679d7e]{max-height:75vh;max-width:100%;overflow-y:auto;overscroll-behavior:contain;position:absolute}.navbar-default .dropdown-menu-end[data-v-12679d7e]{right:auto}}.secret[data-v-12679d7e]{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.btn-with-before[data-v-12679d7e]{padding-left:.2rem;padding-right:.4rem}.dropdown-toggle[data-v-12679d7e]{cursor:pointer;display:block;width:max-content}.navbar .dropdown-toggle[data-v-12679d7e]{text-decoration:none}.nav-link\u003e.nav-link[data-v-12679d7e]{padding:0}.toggle-site-nav-button[data-v-d6ffaa8e]{cursor:pointer;height:53px;left:0;padding:15px;position:absolute;transform:rotate(0deg);transition:all .25s ease-in-out;width:52px}.toggle-site-nav-button span[data-v-d6ffaa8e]{background-color:#000;display:block;height:3px;left:15px;position:absolute;top:50%;transition:all .25s ease-in-out;width:21px}.toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:first-child{transform:translateY(-8px)}.toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(2){transform-origin:100% 50%}.toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(3){transform:translateY(8px)}.nav-menu-close-icon .toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:first-child{transform:rotate(135deg)}.nav-menu-close-icon .toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(2){left:-60px;opacity:0}.nav-menu-close-icon .toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(3){transform:rotate(-135deg)}.toggle-page-nav-button[data-v-4b08b1df]{cursor:pointer;padding:15px;position:absolute;right:0;top:6px}.toggle-page-nav-button span[data-v-4b08b1df]{background-color:#000;border-radius:50%;display:block;height:5px;margin-top:2px;position:absolute;right:15px;transform:rotate(0deg);transition:all .25s ease-in-out;width:5px}.toggle-page-nav-button\u003espan[data-v-4b08b1df]:first-child{transform:translateY(-8px)}.toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(2){transform-origin:100% 50%}.toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(3){transform:translateY(8px)}.nav-menu-close-icon .toggle-page-nav-button\u003espan[data-v-4b08b1df]:first-child{border-radius:0;height:3px;transform:rotate(135deg);width:21px}.nav-menu-close-icon .toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(2){transform:scale(0)}.nav-menu-close-icon .toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(3){border-radius:0;height:3px;transform:rotate(-135deg);width:21px}@media (max-width:767px){.navbar[data-v-73b4aa16]{padding-bottom:0;padding-left:0;padding-right:0}.navbar-left[data-v-73b4aa16]{max-width:50%;order:1;padding-left:1rem}.navbar-left [data-v-73b4aa16]{white-space:normal}.navbar-right[data-v-73b4aa16]{max-width:50%;order:1;padding:0 16px}.navbar-default[data-v-73b4aa16]{-ms-overflow-style:none;display:block;margin-top:.3125rem;order:2;overflow-x:scroll;scrollbar-width:none;width:100%}.navbar-default[data-v-73b4aa16]::-webkit-scrollbar{display:none}.navbar-default ul[data-v-73b4aa16]{flex-direction:row;margin-top:0!important;width:100%}.navbar-default\u003eul\u003e[data-v-73b4aa16]{background:rgba(0,0,0,.2);flex-grow:1;padding:.3125rem .625rem}.navbar-light .navbar-default\u003eul\u003e[data-v-73b4aa16]{background:rgba(0,0,0,.05)}.navbar-default\u003eul\u003e.current[data-v-73b4aa16]{background:transparent}.navbar-default a[data-v-73b4aa16],[data-v-73b4aa16] .dropdown-toggle{margin:0 auto;width:max-content}[data-v-73b4aa16] .dropdown{align-items:center;display:flex}.container-fluid[data-v-73b4aa16]{padding:0}}.navbar-brand[data-v-73b4aa16]{display:inline-block}.navbar-brand\u003eimg[data-v-73b4aa16],.navbar-brand\u003esvg[data-v-73b4aa16]{display:block}.navbar-right[data-v-73b4aa16]{padding-right:1rem}.navbar-left[data-v-73b4aa16]{align-items:center;display:flex;font-size:1.25rem;line-height:inherit;padding:.3125rem 1rem;white-space:nowrap}.navbar-fixed[data-v-73b4aa16]{position:fixed;width:100%;z-index:1000}.navbar-default[data-v-73b4aa16]{align-items:center;display:flex;flex-basis:auto;flex-grow:1}[data-v-73b4aa16] .dropdown-current{background:#007bff;color:#fff!important}.lower-navbar-container[data-v-73b4aa16]{background-color:#fff;border-bottom:1px solid #c1c1c1;height:50px;position:relative;width:100%}.navbar.navbar-dark .navbar-nav[data-v-73b4aa16] .current:not(.dropdown) a,.navbar.navbar-dark .navbar-nav[data-v-73b4aa16] .dropdown.current\u003ea{color:#fff}.navbar.navbar-light .navbar-nav[data-v-73b4aa16] .current:not(.dropdown) a,.navbar.navbar-light .navbar-nav[data-v-73b4aa16] .dropdown.current\u003ea{color:#000}.collapse-button{float:right;font-size:10px!important;margin-left:3px;margin-top:2px;padding:3px 8px!important}.collapse-icon{transition:transform .4s ease-in-out}.collapse-icon.opened{transform:rotate(-180deg)}.card-container[data-v-1e33c620]{scroll-margin-top:var(--sticky-header-height)}.card-collapse[data-v-1e33c620]{overflow:hidden;transition:max-height .5s ease-in-out}.seamless-button[data-v-1e33c620]{opacity:0;transition:opacity .3s}.card-header:hover .seamless-button[data-v-1e33c620]{opacity:1}.card-peek-collapsed[data-v-1e33c620]{position:relative}.card-peek-collapsed[data-v-1e33c620]:after{background-image:linear-gradient(180deg,transparent,#fff 90%);bottom:0;content:\"\";height:125px;position:absolute;width:100%}.peek-read-more[data-v-1e33c620]{opacity:.2;transition:opacity .5s;z-index:1}.peek-read-more[data-v-1e33c620]:before{bottom:10px;position:absolute;text-align:center;width:100%}.peek-read-more[data-v-1e33c620]:hover{cursor:pointer;opacity:.4}.peek-read-more-fade-enter[data-v-1e33c620],.peek-read-more-fade-leave-to[data-v-1e33c620]{opacity:0}.card-heading{width:100%}.card-title{display:inline-block;font-size:1em;line-height:1.2em;margin:0;text-align:left;white-space:normal}.card-title *{margin-bottom:0!important}.caret-wrapper{float:left;width:32px}.minimal-caret-wrapper{display:inline-block;font-size:13px;margin-right:5px}.header-wrapper{display:inline-block;transition:opacity .5s;width:calc(100% - 128px)}.header-transparent{opacity:0}.button-wrapper{float:right;width:96px}.header-toggle{cursor:pointer}.expandable-card{margin-bottom:0!important;margin-top:5px}.card-collapse\u003ehr{margin-top:0}.card-group\u003e.card-container\u003e.expandable-card{margin-top:0!important}.bottom-button-wrapper{margin-bottom:13px;padding-bottom:13px}.bottom-button-wrapper\u003e.collapse-button{margin-top:5px;opacity:.2}.bottom-button-wrapper\u003e.collapse-button:hover{opacity:1}.close-button{margin-left:3px}.close-button,.popup-button{float:right;font-size:10px!important;margin-top:2px;padding:3px 8px!important}.morph{display:inline-block}.morph-display-wrapper{align-items:center;display:flex;margin-top:5px}@media (max-width:575.98px){.header-wrapper{display:inline-block;width:calc(100% - 64px)}.button-wrapper{float:right;width:32px}.card-body{padding:.5rem}.card-collapse\u003ehr{margin-top:.5rem}.card-header{padding:.5rem}}.card-peek-collapsed[data-v-5d519034]{position:relative}.card-peek-collapsed[data-v-5d519034]:after{background-image:linear-gradient(180deg,transparent,#fff 90%);bottom:0;content:\"\";height:125px;position:absolute;width:100%}.morph-title[data-v-5d519034]{background-color:transparent;border-color:#000;padding:0 .3em;vertical-align:top}.morph-title[data-v-5d519034]:active,.morph-title[data-v-5d519034]:focus,.morph-title[data-v-5d519034]:hover{background-color:#343a40;border-color:#343a40;color:#fff}.card-collapse[data-v-5d519034]{overflow:hidden;transition:max-height .5s ease-in-out}.card-flex[data-v-5d519034]{border:0;display:flex;flex-direction:column;margin:0}.header-fade-enter[data-v-5d519034]{opacity:0}.header-fade-leave-active[data-v-5d519034]{position:absolute}.header-fade-leave-to[data-v-5d519034]{opacity:0!important}.card-title-inline[data-v-5d519034]{display:inline-block}.card-body[data-v-5d519034]{padding:0}.header-wrapper[data-v-5d519034]{background-color:#fff;display:inline-block;width:100%}.header-wrapper-bottom[data-v-5d519034]{order:1}.ellipses[data-v-5d519034]:before{bottom:3px;content:\"...\";font-weight:900;margin-right:4px;position:relative}.button-wrapper[data-v-5d519034]{border:solid hsla(0,0%,59%,.2);border-width:0 0 0 1px;display:inline-block;float:none;margin-left:2px;opacity:0;padding-left:2px;transition:opacity .5s;vertical-align:text-top;width:auto}.button-wrapper-expanded[data-v-5d519034]{border:0;margin-left:0;padding-left:0}.card:hover .button-wrapper[data-v-5d519034]{opacity:1}.header-toggle[data-v-5d519034]{cursor:pointer}.glyphicon[data-v-5d519034]{font-size:12px}.minimal-button[data-v-5d519034]{background-color:transparent;border:0;color:#969696;cursor:pointer;padding:0 3px}.minimal-button[data-v-5d519034]:active,.minimal-button[data-v-5d519034]:focus,.minimal-button[data-v-5d519034]:hover{color:#1e1e1e}.minimal-popup-button[data-v-5d519034]{font-size:9px;top:1px}.minimal-menu-up[data-v-5d519034]{font-size:13px;top:2px}.minimal-menu-down[data-v-5d519034]{font-size:13px;top:1px}.minimal-close-button[data-v-5d519034]{font-size:11px;top:0}@media (max-width:575.98px){.button-wrapper-expanded[data-v-5d519034]{border:0;margin-left:0;opacity:.15;padding-left:0}.button-wrapper-visible[data-v-5d519034]{opacity:1}}.annotate-image-wrapper{display:inline-block;position:relative;text-align:left}.annotate-image{height:auto;max-width:100%}.annotate-point{bottom:0;left:0;pointer-events:none;top:0}.annotate-point,.popover-annotation{height:100%;position:absolute;width:100%}.hover-point{border-radius:50%;border-style:solid;border-width:1px;z-index:1}.hover-label{pointer-events:none;position:absolute;text-align:center;z-index:2}.hover-wrapper{align-items:center;background:transparent;display:inline-flex;justify-content:center;z-index:0}.legend-wrapper{height:100%;position:relative}.text-header{font-size:1.1em;font-weight:500;margin-top:1em}.image-wrapper{display:inline-block;padding:4px;text-align:center}.image-caption{display:block}.quiz-container[data-v-7a8f322c]{isolation:isolate;overflow:hidden}.intro-outro-card[data-v-7a8f322c]{transition:transform .35s ease-out,opacity .35s linear}.intro-outro-card-enter-active[data-v-7a8f322c],.intro-outro-card-leave-to[data-v-7a8f322c]{opacity:0}.intro-outro-card\u003e.card-body[data-v-7a8f322c]{align-items:center;display:flex;flex-direction:column;justify-content:center}.score[data-v-7a8f322c]{font-size:1.4rem;font-weight:700}.score-circle[data-v-7a8f322c]{stroke-dasharray:264;fill:none;stroke:rgba(132,215,255,.8);stroke-width:8;transition:stroke-dashoffset 1.5s ease-out,stroke 1.5s linear}.score-background-circle[data-v-7a8f322c]{fill:none;stroke:hsla(0,2%,89%,.5);stroke-width:8}.btn[data-v-7a8f322c]{border-radius:2em}.progress-bar-z[data-v-7a8f322c]{z-index:1}.result-icon[data-v-ae369d74]{align-items:center;border-radius:2em;border-style:solid;border-width:2px;display:inline-flex;height:2em;justify-content:center;width:2em}.question[data-v-ae369d74]{margin-bottom:1rem;transition:transform .35s ease-out,opacity .35s linear}.question-enter-active[data-v-ae369d74]{opacity:0;transform:translateY(-2%)}.question-leave-to[data-v-ae369d74]{opacity:0;transform:translateY(2%)}.q-btn[data-v-ae369d74]{border-radius:2.5em;transition:opacity .5s,transform .7s}.q-btn-enter[data-v-ae369d74]{opacity:0;transform:translateY(30px)}.q-btn-leave-to[data-v-ae369d74]{opacity:0;transform:translateX(calc(-100% - .25rem))}.q-btn-leave-active[data-v-ae369d74]{position:absolute}.card-header[data-v-ae369d74]{font-size:1.05em;font-weight:400}.answer[data-v-ae369d74]\u003e:last-child,.card-header[data-v-ae369d74]\u003e:last-child{margin-bottom:0}@keyframes shake-data-v-ae369d74{50%{transform:translate(-2px)}to{transform:translate(2px)}}.shake[data-v-ae369d74]{animation:shake-data-v-ae369d74 .15s;animation-iteration-count:1}textarea.form-control[data-v-ae369d74]{height:auto;margin-bottom:10px;min-height:75px}.fa-check[data-v-d09dfee8],.fa-times[data-v-d09dfee8]{font-size:1.2em}.content[data-v-d09dfee8] :last-child,.reason[data-v-d09dfee8] :last-child{margin-bottom:0}.reason[data-v-d09dfee8]{padding:0 .5rem}.checkbox-label[data-v-d09dfee8]{cursor:pointer}.form-control[data-v-d09dfee8]{cursor:pointer;height:auto;margin-bottom:10px}.form-control.danger\u003e.checkbox-label[data-v-d09dfee8],.form-control.danger[data-v-d09dfee8],.form-control.success\u003e.checkbox-label[data-v-d09dfee8],.form-control.success[data-v-d09dfee8]{cursor:default}.disabled[data-v-d09dfee8]{opacity:.9}.radio-svg[data-v-d09dfee8]{height:1em;vertical-align:text-top;width:1em}.checkbox[data-v-d09dfee8]{height:1em;margin-right:5px;vertical-align:middle;width:1em}.row[data-v-d09dfee8]{align-items:center;margin:.2rem 0 0}input.form-control[data-v-d09dfee8]{cursor:text;height:auto;margin-bottom:0;min-height:20px;width:50%}.blanks-keywords[data-v-d09dfee8],input.form-control[data-v-d09dfee8]:disabled{margin-bottom:.5rem}.blanks-form-control[data-v-d09dfee8]{border:none;cursor:default}.blanks-cross[data-v-d09dfee8]{margin-left:3px;margin-right:3px}.fa-hashtag[data-v-98afe086],.fa-key[data-v-98afe086]{padding-right:.2em}.mark[data-v-98afe086]{padding:0!important}.heading[data-v-98afe086]{padding:0 0 .1rem .2rem}.heading-text[data-v-98afe086]{display:inline-block;vertical-align:top;white-space:normal;width:92%;word-break:break-word}.keyword-text[data-v-98afe086]{font-size:smaller}.page-title[data-v-98afe086]{font-size:1.05rem;font-weight:700}.page-headings-separator[data-v-98afe086]{margin:.2rem 0}.dropdown[data-v-01e11c9b]{display:block}.form-control[data-v-01e11c9b]{max-width:25.4em;min-width:12.7em}@media screen and (max-width:878px) and (orientation:portrait){.form-control[data-v-01e11c9b]{max-width:16em;min-width:8em}}@media screen and (min-width:768px) and (max-width:878px) and (orientation:landscape){.form-control[data-v-01e11c9b]{max-width:18em;min-width:9em}}.table-active[data-v-01e11c9b]{background-color:rgba(0,0,0,.075)}.dropdown-menu-end[data-v-01e11c9b]{left:auto;right:0}.placeholder-div-hidden[data-v-01e11c9b]{border-bottom:0;border-top:0;height:0;overflow:hidden;padding-bottom:0;padding-top:0;visibility:hidden}.search-dropdown-menu{max-height:30em;min-width:30em;overflow-y:scroll}.dropdown-menu\u003eli\u003ea{cursor:pointer}@media screen and (max-width:768px){.search-dropdown-menu{max-height:30em;min-width:90vw;overflow-y:scroll}.dropdown-menu.search-dropdown-menu{position:absolute}}.tab-pane\u003ehr[data-v-661c1b61]{margin:0}.printable-tab-header[data-v-661c1b61],.tab-pane-hide[data-v-661c1b61]{display:none}@media print{.printable-tab-header[data-v-661c1b61]{border-bottom:1px solid #dee2e6;display:flex;margin-bottom:15px}.printable-tab-header\u003ediv[data-v-661c1b61]{margin-bottom:-2px}.printable-tab-pane[data-v-661c1b61]{display:block;padding:10px}}.nav-tabs[data-v-a785351c]{margin-bottom:15px}.printable-tab-group-header[data-v-a785351c]{display:none}@media print{.printable-tab-group[data-v-a785351c]{border:1px solid #dee2e6;border-radius:5px;margin:10px 0;padding:10px}.printable-tab-group-header[data-v-a785351c]{display:block;margin-bottom:10px;text-decoration:underline}}.nav-tabs[data-v-70a68808]{margin-bottom:15px}.tab-content[data-v-70a68808]{margin-bottom:1.5rem}@media print{.printable-tabs[data-v-70a68808]{border:1px solid #dee2e6;border-radius:5px;padding:20px}}.thumb-wrapper{display:inline-block;overflow:hidden;position:relative;text-align:center;vertical-align:middle}.thumb-circle{border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.thumb-image{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%)}.site-nav-root a.current{color:#0072ec}.site-nav-list{list-style-type:none;padding-left:0}.site-nav-default-list-item{cursor:pointer;display:flex;transition:background-color .08s}.site-nav-custom-list-item,.site-nav-default-list-item{color:#454545;padding:.5rem 0 0 2.8rem}.site-nav-list-item-0{font-size:1.2em;font-weight:500;padding:.5rem 0 .5rem .8rem}.site-nav-list-item-1{font-size:1.03em;padding:.4rem 0 .4rem 1.3rem}.site-nav-list-item-2{font-size:.89em;padding:.3rem 0 .3rem 1.8rem}.site-nav-list-item-3{font-size:.76em;padding:.2rem 0 .2rem 2.4rem}.site-nav-default-list-item:hover{background-color:rgba(214,233,255,.35)}.site-nav-default-list-item a{color:#454545;display:inline-block;height:100%}.site-nav-default-list-item:hover a{color:#000;text-decoration:none}.site-nav-dropdown-btn-container{align-content:center;display:flex;height:1.5em;justify-content:center;margin:0 .75rem 0 auto;width:2rem}.site-nav-dropdown-btn-icon{align-self:center;border-radius:1rem;display:inline-block;height:1.5em;padding:0;text-align:center;transform:rotate(0deg);-webkit-transform:rotate(0deg);transition:.4s;-webkit-transition:.4s;vertical-align:baseline;width:1.5em}.site-nav-dropdown-btn-icon:hover{background-color:#d8e3fb}.site-nav-rotate-icon{color:#4c7ff1;transform:rotate(-180deg);-webkit-transform:rotate(-180deg)}.site-nav-dropdown-container{background:transparent;max-height:0;overflow:hidden;transition:max-height .15s ease-out;-webkit-transition:max-height .15s ease-out}.site-nav-dropdown-container-open{max-height:1000px;transition:max-height .25s ease-in;-webkit-transition:max-height .25s ease-in}.nav-menu[data-v-1a3e7aee]{display:none;overflow-y:auto;padding:0 10px 20px;position:absolute;top:100%}.nav-menu-open[data-v-1a3e7aee]{background:#fff;clear:both;display:block!important;width:100%!important}.mb-mobile-nav[data-v-e6005420]{border:none!important;display:block!important;margin:0!important;max-width:100%!important;padding:10px!important;width:100%!important}.popover-container{max-height:50vh;max-width:276px;overflow:auto}.popover-body{font-size:.875rem}.v-popper{display:inline}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.9);font-size:.875rem;max-width:200px;padding:4px 8px;text-align:center}.modal{display:block}.modal-zoom{opacity:0;-webkit-transform:scale(.1);-moz-transform:scale(.1);-ms-transform:scale(.1);transform:scale(.1)}.modal-zoom,.modal-zoom-show{-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .3s}.modal-zoom-show{opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.scroll-top-button{bottom:20px;cursor:pointer;display:none;opacity:.4;position:fixed;right:30px;transition-duration:.25s;transition-property:opacity;z-index:99}.scroll-top-button.lighten{opacity:.15}@media (hover:hover){.scroll-top-button:hover{opacity:.7}}.scroll-top-button:active{opacity:1}:root{--sticky-header-height:0}a{text-decoration:none}blockquote{border-left:.25em solid #dfe2e5;color:#6a737d;padding:0 1rem}code{background:#f8f8f8;border-radius:3px;padding:.2em .4em;word-break:normal}mark code{background:#ffffffd4}pre.hljs\u003ecode{background:none}pre\u003ecode.hljs{-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:5px;counter-reset:line;width:100%}pre\u003ecode.hljs[heading]{border-top-right-radius:0}.code-block{position:relative}.code-block-heading{border-radius:6px 6px 0 0;float:right;font-size:85%;line-height:1;margin-top:5px;max-width:85%;overflow-wrap:break-word;padding:.25em .4em;text-align:right}.inline-markdown-heading{line-height:1.5}.code-block-content{clear:both;display:block}@media print{code.hljs.inline,pre\u003ecode.hljs{background:#f8f8ff;color:#333}code.hljs.inline{border:.5px solid #d4d4d4}code span.highlighted{background:#e6e6fa}}kbd{background-color:#fafbfc;border:1px solid #c6cbd1;border-bottom-color:#959da5;box-shadow:inset 0 -1px 0 #959da5;color:#444d56}.btn:active,.btn:focus{box-shadow:none!important;outline:none!important}code.hljs.inline{display:initial;padding:.2em .4em}.markbind-table{width:auto}.radio-list-item,.task-list-item{list-style-type:none;margin:0 0 0 -1.2em}.radio-list-item label{font-weight:inherit}.table-striped\u003etbody\u003etr:nth-of-type(2n),.table-striped\u003ethead{background-color:#fff}header[sticky]{position:sticky;top:0;transition:transform .3s ease-in-out;width:100%;z-index:1001}header[sticky].hide-header{transform:translateY(calc(var(--sticky-header-height)*-1))}span.anchor{position:relative;top:calc(var(--sticky-header-height)*-1 - 1rem)}#app{display:flex;flex-direction:column;min-height:100vh}footer{background-color:#f5f5f5;color:dimgrey;padding:10px 0}.dimmed{color:#777}.large{font-size:125%}.small{font-size:80%}.underline{text-decoration:underline}.mkb-text-red{color:red!important}.mkb-text-green{color:green!important}.mkb-text-blue{color:blue!important}.mkb-text-cyan{color:cyan!important}.mkb-text-magenta{color:#f0f!important}.mkb-text-yellow{color:#ff0!important}.mkb-text-black{color:#000!important}.mkb-text-white{color:#fff!important}@media (max-width:767.98px){.dropdown-menu\u003eli\u003ea{white-space:normal}.navbar-nav .open .dropdown-menu{background-color:#fff}}li.footnote-item:target{background-color:#eee}.hljs:not(.inline)\u003espan{display:block}.hljs:not(.inline).line-numbers\u003espan{padding:0 .5em 0 3.5em;position:relative}.hljs:not(.inline).line-numbers\u003espan:before{border-right:1px solid #ddd;color:#888;content:counter(line);counter-increment:line;display:inline-block;height:100%;left:0;margin-right:.5em;padding-right:.5em;position:absolute;text-align:right;top:0;width:3em}.trigger{border-bottom:1px dotted}.trigger-click{border-bottom:1px dashed;cursor:pointer}.trigger-click:focus{outline:none}pre{display:flex;position:relative}button.function-btn{border:1px solid #d7dadc;border-radius:5px;color:#a9a9a9;cursor:pointer;display:none;margin:.17rem;padding:.35rem;position:absolute;right:0;text-align:center;white-space:nowrap}button.function-btn+button.function-btn{right:36px}pre:hover\u003e.function-btn-container\u003ebutton.function-btn{display:block}.function-btn:hover{color:gray;transition:all .5s ease}.function-btn-body{align-items:center;display:flex}.function-btn svg{fill:currentColor}code.wrap{word-wrap:break-word;white-space:pre-wrap}.octicon{height:1em;width:1em}hr{background-color:transparent;border-top:1px solid rgba(0,0,0,.1);opacity:1}hr.dotted{border-top-style:dotted;border-top-width:.1rem}hr.double{border-top-style:double;border-top-width:.2rem}hr.dashed{border-top-style:dashed;border-top-width:.1rem}hr.thick{border-top-width:.15rem}hr.thick-1{border-top-width:.25rem}hr.thick-2{border-top-width:.5rem}hr.thick-3{border-top-width:.75rem}ol,ul{padding-left:1.5rem}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;scroll-margin-top:var(--sticky-header-height)}.block-embed{overflow-x:auto;position:relative;width:100%}.block-embed iframe{height:100%;left:0;position:absolute;top:0;width:100%}#mb-page-nav{padding:.8rem 12px 0}#mb-page-nav a:link,#mb-page-nav a:visited{color:#9b9b9b;text-decoration:none}#mb-page-nav a:hover{color:#000}#mb-page-nav a.active{background-color:transparent;color:#000}.page-nav-title{color:#000;display:block;padding-left:.5rem;white-space:inherit}.nested{margin-left:5%}.no-flex-wrap{flex-wrap:nowrap}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_AMS-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_AMS-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_AMS-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../fonts/KaTeX_Caligraphic-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_Caligraphic-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_Caligraphic-Bold.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Caligraphic-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Caligraphic-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Caligraphic-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../fonts/KaTeX_Fraktur-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_Fraktur-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_Fraktur-Bold.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Fraktur-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Fraktur-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Fraktur-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../fonts/KaTeX_Main-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_Main-Bold.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../fonts/KaTeX_Main-BoldItalic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-BoldItalic.woff) format(\"woff\"),url(../fonts/KaTeX_Main-BoldItalic.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../fonts/KaTeX_Main-Italic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-Italic.woff) format(\"woff\"),url(../fonts/KaTeX_Main-Italic.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Main-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Main-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../fonts/KaTeX_Math-BoldItalic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Math-BoldItalic.woff) format(\"woff\"),url(../fonts/KaTeX_Math-BoldItalic.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../fonts/KaTeX_Math-Italic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Math-Italic.woff) format(\"woff\"),url(../fonts/KaTeX_Math-Italic.ttf) format(\"truetype\")}@font-face{font-family:\"KaTeX_SansSerif\";font-style:normal;font-weight:700;src:url(../fonts/KaTeX_SansSerif-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_SansSerif-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_SansSerif-Bold.ttf) format(\"truetype\")}@font-face{font-family:\"KaTeX_SansSerif\";font-style:italic;font-weight:400;src:url(../fonts/KaTeX_SansSerif-Italic.woff2) format(\"woff2\"),url(../fonts/KaTeX_SansSerif-Italic.woff) format(\"woff\"),url(../fonts/KaTeX_SansSerif-Italic.ttf) format(\"truetype\")}@font-face{font-family:\"KaTeX_SansSerif\";font-style:normal;font-weight:400;src:url(../fonts/KaTeX_SansSerif-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_SansSerif-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_SansSerif-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Script-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Script-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Script-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size1-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size1-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size1-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size2-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size2-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size2-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size3-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size3-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size3-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size4-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size4-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size4-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Typewriter-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Typewriter-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Typewriter-Regular.ttf) format(\"truetype\")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:\"0.15.6\"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html\u003e.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist\u003espan{display:block;height:0;position:relative}.katex .vlist\u003espan\u003espan{display:inline-block}.katex .vlist\u003espan\u003e.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac\u003espan\u003espan{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap\u003e.inner,.katex .llap\u003e.inner,.katex .rlap\u003e.inner{position:absolute}.katex .clap\u003e.fix,.katex .llap\u003e.fix,.katex .rlap\u003e.fix{display:inline-block}.katex .llap\u003e.inner{right:0}.katex .clap\u003e.inner,.katex .rlap\u003e.inner{left:0}.katex .clap\u003e.inner\u003espan{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt\u003e.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1\u003espan{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4\u003espan{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent\u003e.vlist-t,.katex .op-limits\u003e.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c\u003e.vlist-t{text-align:center}.katex .mtable .col-align-l\u003e.vlist-t{text-align:left}.katex .mtable .col-align-r\u003e.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:\"\"}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:\"(\" counter(katexEqnNo) \")\";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:\"(\" counter(mmlEqnNo) \")\";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display\u003e.katex{display:block;text-align:center;white-space:nowrap}.katex-display\u003e.katex\u003e.katex-html{display:block;position:relative}.katex-display\u003e.katex\u003e.katex-html\u003e.tag{position:absolute;right:0}.katex-display.leqno\u003e.katex\u003e.katex-html\u003e.tag{left:0;right:auto}.katex-display.fleqn\u003e.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.katex{font-size:1em!important}eq{display:inline-block}eqn{display:block}section.eqno{align-content:space-between;align-items:center;display:flex;flex-direction:row}section.eqno\u003eeqn{margin-left:3em;width:100%}section.eqno\u003espan{text-align:right;width:3em}"}],"authorContributionMap":{"jingting1412":1}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/css/octicons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":".octicon {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" vertical-align: text-top;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" fill: currentColor;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" overflow: visible;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":6}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/fontawesome/css/all.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" * Copyright 2023 Fonticons, Inc."},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" */"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":".fa{font-family:var(--fa-style-family,\"Font Awesome 6 Free\");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:\"Font Awesome 6 Free\"}.fa-brands,.fab{font-family:\"Font Awesome 6 Brands\"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul\u003eli{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".fa-0:before{content:\"\\30\"}.fa-1:before{content:\"\\31\"}.fa-2:before{content:\"\\32\"}.fa-3:before{content:\"\\33\"}.fa-4:before{content:\"\\34\"}.fa-5:before{content:\"\\35\"}.fa-6:before{content:\"\\36\"}.fa-7:before{content:\"\\37\"}.fa-8:before{content:\"\\38\"}.fa-9:before{content:\"\\39\"}.fa-fill-drip:before{content:\"\\f576\"}.fa-arrows-to-circle:before{content:\"\\e4bd\"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:\"\\f138\"}.fa-at:before{content:\"\\40\"}.fa-trash-alt:before,.fa-trash-can:before{content:\"\\f2ed\"}.fa-text-height:before{content:\"\\f034\"}.fa-user-times:before,.fa-user-xmark:before{content:\"\\f235\"}.fa-stethoscope:before{content:\"\\f0f1\"}.fa-comment-alt:before,.fa-message:before{content:\"\\f27a\"}.fa-info:before{content:\"\\f129\"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:\"\\f422\"}.fa-explosion:before{content:\"\\e4e9\"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:\"\\f15c\"}.fa-wave-square:before{content:\"\\f83e\"}.fa-ring:before{content:\"\\f70b\"}.fa-building-un:before{content:\"\\e4d9\"}.fa-dice-three:before{content:\"\\f527\"}.fa-calendar-alt:before,.fa-calendar-days:before{content:\"\\f073\"}.fa-anchor-circle-check:before{content:\"\\e4aa\"}.fa-building-circle-arrow-right:before{content:\"\\e4d1\"}.fa-volleyball-ball:before,.fa-volleyball:before{content:\"\\f45f\"}.fa-arrows-up-to-line:before{content:\"\\e4c2\"}.fa-sort-desc:before,.fa-sort-down:before{content:\"\\f0dd\"}.fa-circle-minus:before,.fa-minus-circle:before{content:\"\\f056\"}.fa-door-open:before{content:\"\\f52b\"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:\"\\f2f5\"}.fa-atom:before{content:\"\\f5d2\"}.fa-soap:before{content:\"\\e06e\"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:\"\\f86d\"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:\"\\f539\"}.fa-bridge-circle-check:before{content:\"\\e4c9\"}.fa-pump-medical:before{content:\"\\e06a\"}.fa-fingerprint:before{content:\"\\f577\"}.fa-hand-point-right:before{content:\"\\f0a4\"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:\"\\f689\"}.fa-forward-step:before,.fa-step-forward:before{content:\"\\f051\"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:\"\\f5b8\"}.fa-flag-checkered:before{content:\"\\f11e\"}.fa-football-ball:before,.fa-football:before{content:\"\\f44e\"}.fa-school-circle-exclamation:before{content:\"\\e56c\"}.fa-crop:before{content:\"\\f125\"}.fa-angle-double-down:before,.fa-angles-down:before{content:\"\\f103\"}.fa-users-rectangle:before{content:\"\\e594\"}.fa-people-roof:before{content:\"\\e537\"}.fa-people-line:before{content:\"\\e534\"}.fa-beer-mug-empty:before,.fa-beer:before{content:\"\\f0fc\"}.fa-diagram-predecessor:before{content:\"\\e477\"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:\"\\f176\"}.fa-burn:before,.fa-fire-flame-simple:before{content:\"\\f46a\"}.fa-male:before,.fa-person:before{content:\"\\f183\"}.fa-laptop:before{content:\"\\f109\"}.fa-file-csv:before{content:\"\\f6dd\"}.fa-menorah:before{content:\"\\f676\"}.fa-truck-plane:before{content:\"\\e58f\"}.fa-record-vinyl:before{content:\"\\f8d9\"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:\"\\f587\"}.fa-bong:before{content:\"\\f55c\"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:\"\\f67b\"}.fa-arrow-down-up-across-line:before{content:\"\\e4af\"}.fa-spoon:before,.fa-utensil-spoon:before{content:\"\\f2e5\"}.fa-jar-wheat:before{content:\"\\e517\"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:\"\\f674\"}.fa-file-circle-exclamation:before{content:\"\\e4eb\"}.fa-circle-h:before,.fa-hospital-symbol:before{content:\"\\f47e\"}.fa-pager:before{content:\"\\f815\"}.fa-address-book:before,.fa-contact-book:before{content:\"\\f2b9\"}.fa-strikethrough:before{content:\"\\f0cc\"}.fa-k:before{content:\"\\4b\"}.fa-landmark-flag:before{content:\"\\e51c\"}.fa-pencil-alt:before,.fa-pencil:before{content:\"\\f303\"}.fa-backward:before{content:\"\\f04a\"}.fa-caret-right:before{content:\"\\f0da\"}.fa-comments:before{content:\"\\f086\"}.fa-file-clipboard:before,.fa-paste:before{content:\"\\f0ea\"}.fa-code-pull-request:before{content:\"\\e13c\"}.fa-clipboard-list:before{content:\"\\f46d\"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:\"\\f4de\"}.fa-user-check:before{content:\"\\f4fc\"}.fa-vial-virus:before{content:\"\\e597\"}.fa-sheet-plastic:before{content:\"\\e571\"}.fa-blog:before{content:\"\\f781\"}.fa-user-ninja:before{content:\"\\f504\"}.fa-person-arrow-up-from-line:before{content:\"\\e539\"}.fa-scroll-torah:before,.fa-torah:before{content:\"\\f6a0\"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:\"\\f458\"}.fa-toggle-off:before{content:\"\\f204\"}.fa-archive:before,.fa-box-archive:before{content:\"\\f187\"}.fa-person-drowning:before{content:\"\\e545\"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:\"\\f886\"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:\"\\f58a\"}.fa-spray-can:before{content:\"\\f5bd\"}.fa-truck-monster:before{content:\"\\f63b\"}.fa-w:before{content:\"\\57\"}.fa-earth-africa:before,.fa-globe-africa:before{content:\"\\f57c\"}.fa-rainbow:before{content:\"\\f75b\"}.fa-circle-notch:before{content:\"\\f1ce\"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:\"\\f3fa\"}.fa-paw:before{content:\"\\f1b0\"}.fa-cloud:before{content:\"\\f0c2\"}.fa-trowel-bricks:before{content:\"\\e58a\"}.fa-face-flushed:before,.fa-flushed:before{content:\"\\f579\"}.fa-hospital-user:before{content:\"\\f80d\"}.fa-tent-arrow-left-right:before{content:\"\\e57f\"}.fa-gavel:before,.fa-legal:before{content:\"\\f0e3\"}.fa-binoculars:before{content:\"\\f1e5\"}.fa-microphone-slash:before{content:\"\\f131\"}.fa-box-tissue:before{content:\"\\e05b\"}.fa-motorcycle:before{content:\"\\f21c\"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:\"\\f562\"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:\"\\f5ae\"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:\"\\e068\"}.fa-mars-and-venus-burst:before{content:\"\\e523\"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:\"\\f152\"}.fa-cut:before,.fa-scissors:before{content:\"\\f0c4\"}.fa-sun-plant-wilt:before{content:\"\\e57a\"}.fa-toilets-portable:before{content:\"\\e584\"}.fa-hockey-puck:before{content:\"\\f453\"}.fa-table:before{content:\"\\f0ce\"}.fa-magnifying-glass-arrow-right:before{content:\"\\e521\"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:\"\\f566\"}.fa-users-slash:before{content:\"\\e073\"}.fa-clover:before{content:\"\\e139\"}.fa-mail-reply:before,.fa-reply:before{content:\"\\f3e5\"}.fa-star-and-crescent:before{content:\"\\f699\"}.fa-house-fire:before{content:\"\\e50c\"}.fa-minus-square:before,.fa-square-minus:before{content:\"\\f146\"}.fa-helicopter:before{content:\"\\f533\"}.fa-compass:before{content:\"\\f14e\"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:\"\\f150\"}.fa-file-circle-question:before{content:\"\\e4ef\"}.fa-laptop-code:before{content:\"\\f5fc\"}.fa-swatchbook:before{content:\"\\f5c3\"}.fa-prescription-bottle:before{content:\"\\f485\"}.fa-bars:before,.fa-navicon:before{content:\"\\f0c9\"}.fa-people-group:before{content:\"\\e533\"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:\"\\f253\"}.fa-heart-broken:before,.fa-heart-crack:before{content:\"\\f7a9\"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:\"\\f360\"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:\"\\f597\"}.fa-film:before{content:\"\\f008\"}.fa-ruler-horizontal:before{content:\"\\f547\"}.fa-people-robbery:before{content:\"\\e536\"}.fa-lightbulb:before{content:\"\\f0eb\"}.fa-caret-left:before{content:\"\\f0d9\"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:\"\\f06a\"}.fa-school-circle-xmark:before{content:\"\\e56d\"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:\"\\f08b\"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:\"\\f13a\"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:\"\\f13e\"}.fa-cloud-showers-heavy:before{content:\"\\f740\"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:\"\\f58f\"}.fa-sitemap:before{content:\"\\f0e8\"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:\"\\f4b9\"}.fa-memory:before{content:\"\\f538\"}.fa-road-spikes:before{content:\"\\e568\"}.fa-fire-burner:before{content:\"\\e4f1\"}.fa-flag:before{content:\"\\f024\"}.fa-hanukiah:before{content:\"\\f6e6\"}.fa-feather:before{content:\"\\f52d\"}.fa-volume-down:before,.fa-volume-low:before{content:\"\\f027\"}.fa-comment-slash:before{content:\"\\f4b3\"}.fa-cloud-sun-rain:before{content:\"\\f743\"}.fa-compress:before{content:\"\\f066\"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:\"\\e2cd\"}.fa-ankh:before{content:\"\\f644\"}.fa-hands-holding-child:before{content:\"\\e4fa\"}.fa-asterisk:before{content:\"\\2a\"}.fa-check-square:before,.fa-square-check:before{content:\"\\f14a\"}.fa-peseta-sign:before{content:\"\\e221\"}.fa-header:before,.fa-heading:before{content:\"\\f1dc\"}.fa-ghost:before{content:\"\\f6e2\"}.fa-list-squares:before,.fa-list:before{content:\"\\f03a\"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:\"\\f87b\"}.fa-cart-plus:before{content:\"\\f217\"}.fa-gamepad:before{content:\"\\f11b\"}.fa-circle-dot:before,.fa-dot-circle:before{content:\"\\f192\"}.fa-dizzy:before,.fa-face-dizzy:before{content:\"\\f567\"}.fa-egg:before{content:\"\\f7fb\"}.fa-house-medical-circle-xmark:before{content:\"\\e513\"}.fa-campground:before{content:\"\\f6bb\"}.fa-folder-plus:before{content:\"\\f65e\"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:\"\\f1e3\"}.fa-paint-brush:before,.fa-paintbrush:before{content:\"\\f1fc\"}.fa-lock:before{content:\"\\f023\"}.fa-gas-pump:before{content:\"\\f52f\"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:\"\\f593\"}.fa-map-location:before,.fa-map-marked:before{content:\"\\f59f\"}.fa-house-flood-water:before{content:\"\\e50e\"}.fa-tree:before{content:\"\\f1bb\"}.fa-bridge-lock:before{content:\"\\e4cc\"}.fa-sack-dollar:before{content:\"\\f81d\"}.fa-edit:before,.fa-pen-to-square:before{content:\"\\f044\"}.fa-car-side:before{content:\"\\f5e4\"}.fa-share-alt:before,.fa-share-nodes:before{content:\"\\f1e0\"}.fa-heart-circle-minus:before{content:\"\\e4ff\"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:\"\\f252\"}.fa-microscope:before{content:\"\\f610\"}.fa-sink:before{content:\"\\e06d\"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:\"\\f290\"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:\"\\f881\"}.fa-mitten:before{content:\"\\f7b5\"}.fa-person-rays:before{content:\"\\e54d\"}.fa-users:before{content:\"\\f0c0\"}.fa-eye-slash:before{content:\"\\f070\"}.fa-flask-vial:before{content:\"\\e4f3\"}.fa-hand-paper:before,.fa-hand:before{content:\"\\f256\"}.fa-om:before{content:\"\\f679\"}.fa-worm:before{content:\"\\e599\"}.fa-house-circle-xmark:before{content:\"\\e50b\"}.fa-plug:before{content:\"\\f1e6\"}.fa-chevron-up:before{content:\"\\f077\"}.fa-hand-spock:before{content:\"\\f259\"}.fa-stopwatch:before{content:\"\\f2f2\"}.fa-face-kiss:before,.fa-kiss:before{content:\"\\f596\"}.fa-bridge-circle-xmark:before{content:\"\\e4cb\"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:\"\\f589\"}.fa-chess-bishop:before{content:\"\\f43a\"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:\"\\f58c\"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:\"\\f2a4\"}.fa-road-circle-check:before{content:\"\\e564\"}.fa-dice-five:before{content:\"\\f523\"}.fa-rss-square:before,.fa-square-rss:before{content:\"\\f143\"}.fa-land-mine-on:before{content:\"\\e51b\"}.fa-i-cursor:before{content:\"\\f246\"}.fa-stamp:before{content:\"\\f5bf\"}.fa-stairs:before{content:\"\\e289\"}.fa-i:before{content:\"\\49\"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:\"\\f6f2\"}.fa-pills:before{content:\"\\f484\"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:\"\\f581\"}.fa-tooth:before{content:\"\\f5c9\"}.fa-v:before{content:\"\\56\"}.fa-bangladeshi-taka-sign:before{content:\"\\e2e6\"}.fa-bicycle:before{content:\"\\f206\"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:\"\\e579\"}.fa-head-side-cough-slash:before{content:\"\\e062\"}.fa-ambulance:before,.fa-truck-medical:before{content:\"\\f0f9\"}.fa-wheat-awn-circle-exclamation:before{content:\"\\e598\"}.fa-snowman:before{content:\"\\f7d0\"}.fa-mortar-pestle:before{content:\"\\f5a7\"}.fa-road-barrier:before{content:\"\\e562\"}.fa-school:before{content:\"\\f549\"}.fa-igloo:before{content:\"\\f7ae\"}.fa-joint:before{content:\"\\f595\"}.fa-angle-right:before{content:\"\\f105\"}.fa-horse:before{content:\"\\f6f0\"}.fa-q:before{content:\"\\51\"}.fa-g:before{content:\"\\47\"}.fa-notes-medical:before{content:\"\\f481\"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:\"\\f2c9\"}.fa-dong-sign:before{content:\"\\e169\"}.fa-capsules:before{content:\"\\f46b\"}.fa-poo-bolt:before,.fa-poo-storm:before{content:\"\\f75a\"}.fa-face-frown-open:before,.fa-frown-open:before{content:\"\\f57a\"}.fa-hand-point-up:before{content:\"\\f0a6\"}.fa-money-bill:before{content:\"\\f0d6\"}.fa-bookmark:before{content:\"\\f02e\"}.fa-align-justify:before{content:\"\\f039\"}.fa-umbrella-beach:before{content:\"\\f5ca\"}.fa-helmet-un:before{content:\"\\e503\"}.fa-bullseye:before{content:\"\\f140\"}.fa-bacon:before{content:\"\\f7e5\"}.fa-hand-point-down:before{content:\"\\f0a7\"}.fa-arrow-up-from-bracket:before{content:\"\\e09a\"}.fa-folder-blank:before,.fa-folder:before{content:\"\\f07b\"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:\"\\f478\"}.fa-radiation:before{content:\"\\f7b9\"}.fa-chart-simple:before{content:\"\\e473\"}.fa-mars-stroke:before{content:\"\\f229\"}.fa-vial:before{content:\"\\f492\"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:\"\\f624\"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:\"\\e2ca\"}.fa-e:before{content:\"\\45\"}.fa-pen-alt:before,.fa-pen-clip:before{content:\"\\f305\"}.fa-bridge-circle-exclamation:before{content:\"\\e4ca\"}.fa-user:before{content:\"\\f007\"}.fa-school-circle-check:before{content:\"\\e56b\"}.fa-dumpster:before{content:\"\\f793\"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:\"\\f5b6\"}.fa-building-user:before{content:\"\\e4da\"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:\"\\f191\"}.fa-highlighter:before{content:\"\\f591\"}.fa-key:before{content:\"\\f084\"}.fa-bullhorn:before{content:\"\\f0a1\"}.fa-globe:before{content:\"\\f0ac\"}.fa-synagogue:before{content:\"\\f69b\"}.fa-person-half-dress:before{content:\"\\e548\"}.fa-road-bridge:before{content:\"\\e563\"}.fa-location-arrow:before{content:\"\\f124\"}.fa-c:before{content:\"\\43\"}.fa-tablet-button:before{content:\"\\f10a\"}.fa-building-lock:before{content:\"\\e4d6\"}.fa-pizza-slice:before{content:\"\\f818\"}.fa-money-bill-wave:before{content:\"\\f53a\"}.fa-area-chart:before,.fa-chart-area:before{content:\"\\f1fe\"}.fa-house-flag:before{content:\"\\e50d\"}.fa-person-circle-minus:before{content:\"\\e540\"}.fa-ban:before,.fa-cancel:before{content:\"\\f05e\"}.fa-camera-rotate:before{content:\"\\e0d8\"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:\"\\f5d0\"}.fa-star:before{content:\"\\f005\"}.fa-repeat:before{content:\"\\f363\"}.fa-cross:before{content:\"\\f654\"}.fa-box:before{content:\"\\f466\"}.fa-venus-mars:before{content:\"\\f228\"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:\"\\f245\"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:\"\\f31e\"}.fa-charging-station:before{content:\"\\f5e7\"}.fa-shapes:before,.fa-triangle-circle-square:before{content:\"\\f61f\"}.fa-random:before,.fa-shuffle:before{content:\"\\f074\"}.fa-person-running:before,.fa-running:before{content:\"\\f70c\"}.fa-mobile-retro:before{content:\"\\e527\"}.fa-grip-lines-vertical:before{content:\"\\f7a5\"}.fa-spider:before{content:\"\\f717\"}.fa-hands-bound:before{content:\"\\e4f9\"}.fa-file-invoice-dollar:before{content:\"\\f571\"}.fa-plane-circle-exclamation:before{content:\"\\e556\"}.fa-x-ray:before{content:\"\\f497\"}.fa-spell-check:before{content:\"\\f891\"}.fa-slash:before{content:\"\\f715\"}.fa-computer-mouse:before,.fa-mouse:before{content:\"\\f8cc\"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:\"\\f090\"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:\"\\e070\"}.fa-server:before{content:\"\\f233\"}.fa-virus-covid-slash:before{content:\"\\e4a9\"}.fa-shop-lock:before{content:\"\\e4a5\"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:\"\\f251\"}.fa-blender-phone:before{content:\"\\f6b6\"}.fa-building-wheat:before{content:\"\\e4db\"}.fa-person-breastfeeding:before{content:\"\\e53a\"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:\"\\f2f6\"}.fa-venus:before{content:\"\\f221\"}.fa-passport:before{content:\"\\f5ab\"}.fa-heart-pulse:before,.fa-heartbeat:before{content:\"\\f21e\"}.fa-people-carry-box:before,.fa-people-carry:before{content:\"\\f4ce\"}.fa-temperature-high:before{content:\"\\f769\"}.fa-microchip:before{content:\"\\f2db\"}.fa-crown:before{content:\"\\f521\"}.fa-weight-hanging:before{content:\"\\f5cd\"}.fa-xmarks-lines:before{content:\"\\e59a\"}.fa-file-prescription:before{content:\"\\f572\"}.fa-weight-scale:before,.fa-weight:before{content:\"\\f496\"}.fa-user-friends:before,.fa-user-group:before{content:\"\\f500\"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:\"\\f15e\"}.fa-chess-knight:before{content:\"\\f441\"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:\"\\f59b\"}.fa-wheelchair:before{content:\"\\f193\"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:\"\\f0aa\"}.fa-toggle-on:before{content:\"\\f205\"}.fa-person-walking:before,.fa-walking:before{content:\"\\f554\"}.fa-l:before{content:\"\\4c\"}.fa-fire:before{content:\"\\f06d\"}.fa-bed-pulse:before,.fa-procedures:before{content:\"\\f487\"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:\"\\f197\"}.fa-face-laugh:before,.fa-laugh:before{content:\"\\f599\"}.fa-folder-open:before{content:\"\\f07c\"}.fa-heart-circle-plus:before{content:\"\\e500\"}.fa-code-fork:before{content:\"\\e13b\"}.fa-city:before{content:\"\\f64f\"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:\"\\f3c9\"}.fa-pepper-hot:before{content:\"\\f816\"}.fa-unlock:before{content:\"\\f09c\"}.fa-colon-sign:before{content:\"\\e140\"}.fa-headset:before{content:\"\\f590\"}.fa-store-slash:before{content:\"\\e071\"}.fa-road-circle-xmark:before{content:\"\\e566\"}.fa-user-minus:before{content:\"\\f503\"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:\"\\f22a\"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:\"\\f79f\"}.fa-clipboard:before{content:\"\\f328\"}.fa-house-circle-exclamation:before{content:\"\\e50a\"}.fa-file-arrow-up:before,.fa-file-upload:before{content:\"\\f574\"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:\"\\f1eb\"}.fa-bath:before,.fa-bathtub:before{content:\"\\f2cd\"}.fa-underline:before{content:\"\\f0cd\"}.fa-user-edit:before,.fa-user-pen:before{content:\"\\f4ff\"}.fa-signature:before{content:\"\\f5b7\"}.fa-stroopwafel:before{content:\"\\f551\"}.fa-bold:before{content:\"\\f032\"}.fa-anchor-lock:before{content:\"\\e4ad\"}.fa-building-ngo:before{content:\"\\e4d7\"}.fa-manat-sign:before{content:\"\\e1d5\"}.fa-not-equal:before{content:\"\\f53e\"}.fa-border-style:before,.fa-border-top-left:before{content:\"\\f853\"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:\"\\f5a0\"}.fa-jedi:before{content:\"\\f669\"}.fa-poll:before,.fa-square-poll-vertical:before{content:\"\\f681\"}.fa-mug-hot:before{content:\"\\f7b6\"}.fa-battery-car:before,.fa-car-battery:before{content:\"\\f5df\"}.fa-gift:before{content:\"\\f06b\"}.fa-dice-two:before{content:\"\\f528\"}.fa-chess-queen:before{content:\"\\f445\"}.fa-glasses:before{content:\"\\f530\"}.fa-chess-board:before{content:\"\\f43c\"}.fa-building-circle-check:before{content:\"\\e4d2\"}.fa-person-chalkboard:before{content:\"\\e53d\"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:\"\\f22b\"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:\"\\f255\"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:\"\\f151\"}.fa-cloud-showers-water:before{content:\"\\e4e4\"}.fa-bar-chart:before,.fa-chart-bar:before{content:\"\\f080\"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:\"\\e05e\"}.fa-less-than-equal:before{content:\"\\f537\"}.fa-train:before{content:\"\\f238\"}.fa-eye-low-vision:before,.fa-low-vision:before{content:\"\\f2a8\"}.fa-crow:before{content:\"\\f520\"}.fa-sailboat:before{content:\"\\e445\"}.fa-window-restore:before{content:\"\\f2d2\"}.fa-plus-square:before,.fa-square-plus:before{content:\"\\f0fe\"}.fa-torii-gate:before{content:\"\\f6a1\"}.fa-frog:before{content:\"\\f52e\"}.fa-bucket:before{content:\"\\e4cf\"}.fa-image:before{content:\"\\f03e\"}.fa-microphone:before{content:\"\\f130\"}.fa-cow:before{content:\"\\f6c8\"}.fa-caret-up:before{content:\"\\f0d8\"}.fa-screwdriver:before{content:\"\\f54a\"}.fa-folder-closed:before{content:\"\\e185\"}.fa-house-tsunami:before{content:\"\\e515\"}.fa-square-nfi:before{content:\"\\e576\"}.fa-arrow-up-from-ground-water:before{content:\"\\e4b5\"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:\"\\f57b\"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:\"\\f2ea\"}.fa-columns:before,.fa-table-columns:before{content:\"\\f0db\"}.fa-lemon:before{content:\"\\f094\"}.fa-head-side-mask:before{content:\"\\e063\"}.fa-handshake:before{content:\"\\f2b5\"}.fa-gem:before{content:\"\\f3a5\"}.fa-dolly-box:before,.fa-dolly:before{content:\"\\f472\"}.fa-smoking:before{content:\"\\f48d\"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:\"\\f78c\"}.fa-monument:before{content:\"\\f5a6\"}.fa-snowplow:before{content:\"\\f7d2\"}.fa-angle-double-right:before,.fa-angles-right:before{content:\"\\f101\"}.fa-cannabis:before{content:\"\\f55f\"}.fa-circle-play:before,.fa-play-circle:before{content:\"\\f144\"}.fa-tablets:before{content:\"\\f490\"}.fa-ethernet:before{content:\"\\f796\"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:\"\\f153\"}.fa-chair:before{content:\"\\f6c0\"}.fa-check-circle:before,.fa-circle-check:before{content:\"\\f058\"}.fa-circle-stop:before,.fa-stop-circle:before{content:\"\\f28d\"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:\"\\f568\"}.fa-plate-wheat:before{content:\"\\e55a\"}.fa-icicles:before{content:\"\\f7ad\"}.fa-person-shelter:before{content:\"\\e54f\"}.fa-neuter:before{content:\"\\f22c\"}.fa-id-badge:before{content:\"\\f2c1\"}.fa-marker:before{content:\"\\f5a1\"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:\"\\f59a\"}.fa-helicopter-symbol:before{content:\"\\e502\"}.fa-universal-access:before{content:\"\\f29a\"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:\"\\f139\"}.fa-lari-sign:before{content:\"\\e1c8\"}.fa-volcano:before{content:\"\\f770\"}.fa-person-walking-dashed-line-arrow-right:before{content:\"\\e553\"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:\"\\f154\"}.fa-viruses:before{content:\"\\e076\"}.fa-square-person-confined:before{content:\"\\e577\"}.fa-user-tie:before{content:\"\\f508\"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:\"\\f175\"}.fa-tent-arrow-down-to-line:before{content:\"\\e57e\"}.fa-certificate:before{content:\"\\f0a3\"}.fa-mail-reply-all:before,.fa-reply-all:before{content:\"\\f122\"}.fa-suitcase:before{content:\"\\f0f2\"}.fa-person-skating:before,.fa-skating:before{content:\"\\f7c5\"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:\"\\f662\"}.fa-camera-retro:before{content:\"\\f083\"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:\"\\f0ab\"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:\"\\f56f\"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:\"\\f14c\"}.fa-box-open:before{content:\"\\f49e\"}.fa-scroll:before{content:\"\\f70e\"}.fa-spa:before{content:\"\\f5bb\"}.fa-location-pin-lock:before{content:\"\\e51f\"}.fa-pause:before{content:\"\\f04c\"}.fa-hill-avalanche:before{content:\"\\e507\"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:\"\\f2cb\"}.fa-bomb:before{content:\"\\f1e2\"}.fa-registered:before{content:\"\\f25d\"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:\"\\f2bb\"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:\"\\f516\"}.fa-subscript:before{content:\"\\f12c\"}.fa-diamond-turn-right:before,.fa-directions:before{content:\"\\f5eb\"}.fa-burst:before{content:\"\\e4dc\"}.fa-house-laptop:before,.fa-laptop-house:before{content:\"\\e066\"}.fa-face-tired:before,.fa-tired:before{content:\"\\f5c8\"}.fa-money-bills:before{content:\"\\e1f3\"}.fa-smog:before{content:\"\\f75f\"}.fa-crutch:before{content:\"\\f7f7\"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:\"\\f0ee\"}.fa-palette:before{content:\"\\f53f\"}.fa-arrows-turn-right:before{content:\"\\e4c0\"}.fa-vest:before{content:\"\\e085\"}.fa-ferry:before{content:\"\\e4ea\"}.fa-arrows-down-to-people:before{content:\"\\e4b9\"}.fa-seedling:before,.fa-sprout:before{content:\"\\f4d8\"}.fa-arrows-alt-h:before,.fa-left-right:before{content:\"\\f337\"}.fa-boxes-packing:before{content:\"\\e4c7\"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:\"\\f0a8\"}.fa-group-arrows-rotate:before{content:\"\\e4f6\"}.fa-bowl-food:before{content:\"\\e4c6\"}.fa-candy-cane:before{content:\"\\f786\"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:\"\\f160\"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:\"\\f76c\"}.fa-remove-format:before,.fa-text-slash:before{content:\"\\f87d\"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:\"\\f4da\"}.fa-file-word:before{content:\"\\f1c2\"}.fa-file-powerpoint:before{content:\"\\f1c4\"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:\"\\f07e\"}.fa-house-lock:before{content:\"\\e510\"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:\"\\f0ed\"}.fa-children:before{content:\"\\e4e1\"}.fa-blackboard:before,.fa-chalkboard:before{content:\"\\f51b\"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:\"\\f4fa\"}.fa-envelope-open:before{content:\"\\f2b6\"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:\"\\e05f\"}.fa-mattress-pillow:before{content:\"\\e525\"}.fa-guarani-sign:before{content:\"\\e19a\"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:\"\\f021\"}.fa-fire-extinguisher:before{content:\"\\f134\"}.fa-cruzeiro-sign:before{content:\"\\e152\"}.fa-greater-than-equal:before{content:\"\\f532\"}.fa-shield-alt:before,.fa-shield-halved:before{content:\"\\f3ed\"}.fa-atlas:before,.fa-book-atlas:before{content:\"\\f558\"}.fa-virus:before{content:\"\\e074\"}.fa-envelope-circle-check:before{content:\"\\e4e8\"}.fa-layer-group:before{content:\"\\f5fd\"}.fa-arrows-to-dot:before{content:\"\\e4be\"}.fa-archway:before{content:\"\\f557\"}.fa-heart-circle-check:before{content:\"\\e4fd\"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:\"\\f6f1\"}.fa-file-archive:before,.fa-file-zipper:before{content:\"\\f1c6\"}.fa-square:before{content:\"\\f0c8\"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:\"\\f000\"}.fa-couch:before{content:\"\\f4b8\"}.fa-cedi-sign:before{content:\"\\e0df\"}.fa-italic:before{content:\"\\f033\"}.fa-church:before{content:\"\\f51d\"}.fa-comments-dollar:before{content:\"\\f653\"}.fa-democrat:before{content:\"\\f747\"}.fa-z:before{content:\"\\5a\"}.fa-person-skiing:before,.fa-skiing:before{content:\"\\f7c9\"}.fa-road-lock:before{content:\"\\e567\"}.fa-a:before{content:\"\\41\"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:\"\\e03f\"}.fa-feather-alt:before,.fa-feather-pointed:before{content:\"\\f56b\"}.fa-p:before{content:\"\\50\"}.fa-snowflake:before{content:\"\\f2dc\"}.fa-newspaper:before{content:\"\\f1ea\"}.fa-ad:before,.fa-rectangle-ad:before{content:\"\\f641\"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:\"\\f0a9\"}.fa-filter-circle-xmark:before{content:\"\\e17b\"}.fa-locust:before{content:\"\\e520\"}.fa-sort:before,.fa-unsorted:before{content:\"\\f0dc\"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:\"\\f0cb\"}.fa-person-dress-burst:before{content:\"\\e544\"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:\"\\f53d\"}.fa-vector-square:before{content:\"\\f5cb\"}.fa-bread-slice:before{content:\"\\f7ec\"}.fa-language:before{content:\"\\f1ab\"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:\"\\f598\"}.fa-filter:before{content:\"\\f0b0\"}.fa-question:before{content:\"\\3f\"}.fa-file-signature:before{content:\"\\f573\"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:\"\\f0b2\"}.fa-house-chimney-user:before{content:\"\\e065\"}.fa-hand-holding-heart:before{content:\"\\f4be\"}.fa-puzzle-piece:before{content:\"\\f12e\"}.fa-money-check:before{content:\"\\f53c\"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:\"\\f5c0\"}.fa-code:before{content:\"\\f121\"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:\"\\f7a0\"}.fa-building-circle-exclamation:before{content:\"\\e4d3\"}.fa-magnifying-glass-chart:before{content:\"\\e522\"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:\"\\f08e\"}.fa-cubes-stacked:before{content:\"\\e4e6\"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:\"\\f159\"}.fa-virus-covid:before{content:\"\\e4a8\"}.fa-austral-sign:before{content:\"\\e0a9\"}.fa-f:before{content:\"\\46\"}.fa-leaf:before{content:\"\\f06c\"}.fa-road:before{content:\"\\f018\"}.fa-cab:before,.fa-taxi:before{content:\"\\f1ba\"}.fa-person-circle-plus:before{content:\"\\e541\"}.fa-chart-pie:before,.fa-pie-chart:before{content:\"\\f200\"}.fa-bolt-lightning:before{content:\"\\e0b7\"}.fa-sack-xmark:before{content:\"\\e56a\"}.fa-file-excel:before{content:\"\\f1c3\"}.fa-file-contract:before{content:\"\\f56c\"}.fa-fish-fins:before{content:\"\\e4f2\"}.fa-building-flag:before{content:\"\\e4d5\"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:\"\\f582\"}.fa-object-ungroup:before{content:\"\\f248\"}.fa-poop:before{content:\"\\f619\"}.fa-location-pin:before,.fa-map-marker:before{content:\"\\f041\"}.fa-kaaba:before{content:\"\\f66b\"}.fa-toilet-paper:before{content:\"\\f71e\"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:\"\\f807\"}.fa-eject:before{content:\"\\f052\"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:\"\\f35a\"}.fa-plane-circle-check:before{content:\"\\e555\"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:\"\\f5a5\"}.fa-object-group:before{content:\"\\f247\"}.fa-chart-line:before,.fa-line-chart:before{content:\"\\f201\"}.fa-mask-ventilator:before{content:\"\\e524\"}.fa-arrow-right:before{content:\"\\f061\"}.fa-map-signs:before,.fa-signs-post:before{content:\"\\f277\"}.fa-cash-register:before{content:\"\\f788\"}.fa-person-circle-question:before{content:\"\\e542\"}.fa-h:before{content:\"\\48\"}.fa-tarp:before{content:\"\\e57b\"}.fa-screwdriver-wrench:before,.fa-tools:before{content:\"\\f7d9\"}.fa-arrows-to-eye:before{content:\"\\e4bf\"}.fa-plug-circle-bolt:before{content:\"\\e55b\"}.fa-heart:before{content:\"\\f004\"}.fa-mars-and-venus:before{content:\"\\f224\"}.fa-home-user:before,.fa-house-user:before{content:\"\\e1b0\"}.fa-dumpster-fire:before{content:\"\\f794\"}.fa-house-crack:before{content:\"\\e3b1\"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:\"\\f561\"}.fa-face-surprise:before,.fa-surprise:before{content:\"\\f5c2\"}.fa-bottle-water:before{content:\"\\e4c5\"}.fa-circle-pause:before,.fa-pause-circle:before{content:\"\\f28b\"}.fa-toilet-paper-slash:before{content:\"\\e072\"}.fa-apple-alt:before,.fa-apple-whole:before{content:\"\\f5d1\"}.fa-kitchen-set:before{content:\"\\e51a\"}.fa-r:before{content:\"\\52\"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:\"\\f2ca\"}.fa-cube:before{content:\"\\f1b2\"}.fa-bitcoin-sign:before{content:\"\\e0b4\"}.fa-shield-dog:before{content:\"\\e573\"}.fa-solar-panel:before{content:\"\\f5ba\"}.fa-lock-open:before{content:\"\\f3c1\"}.fa-elevator:before{content:\"\\e16d\"}.fa-money-bill-transfer:before{content:\"\\e528\"}.fa-money-bill-trend-up:before{content:\"\\e529\"}.fa-house-flood-water-circle-arrow-right:before{content:\"\\e50f\"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:\"\\f682\"}.fa-circle:before{content:\"\\f111\"}.fa-backward-fast:before,.fa-fast-backward:before{content:\"\\f049\"}.fa-recycle:before{content:\"\\f1b8\"}.fa-user-astronaut:before{content:\"\\f4fb\"}.fa-plane-slash:before{content:\"\\e069\"}.fa-trademark:before{content:\"\\f25c\"}.fa-basketball-ball:before,.fa-basketball:before{content:\"\\f434\"}.fa-satellite-dish:before{content:\"\\f7c0\"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:\"\\f35b\"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:\"\\f3cd\"}.fa-volume-high:before,.fa-volume-up:before{content:\"\\f028\"}.fa-users-rays:before{content:\"\\e593\"}.fa-wallet:before{content:\"\\f555\"}.fa-clipboard-check:before{content:\"\\f46c\"}.fa-file-audio:before{content:\"\\f1c7\"}.fa-burger:before,.fa-hamburger:before{content:\"\\f805\"}.fa-wrench:before{content:\"\\f0ad\"}.fa-bugs:before{content:\"\\e4d0\"}.fa-rupee-sign:before,.fa-rupee:before{content:\"\\f156\"}.fa-file-image:before{content:\"\\f1c5\"}.fa-circle-question:before,.fa-question-circle:before{content:\"\\f059\"}.fa-plane-departure:before{content:\"\\f5b0\"}.fa-handshake-slash:before{content:\"\\e060\"}.fa-book-bookmark:before{content:\"\\e0bb\"}.fa-code-branch:before{content:\"\\f126\"}.fa-hat-cowboy:before{content:\"\\f8c0\"}.fa-bridge:before{content:\"\\e4c8\"}.fa-phone-alt:before,.fa-phone-flip:before{content:\"\\f879\"}.fa-truck-front:before{content:\"\\e2b7\"}.fa-cat:before{content:\"\\f6be\"}.fa-anchor-circle-exclamation:before{content:\"\\e4ab\"}.fa-truck-field:before{content:\"\\e58d\"}.fa-route:before{content:\"\\f4d7\"}.fa-clipboard-question:before{content:\"\\e4e3\"}.fa-panorama:before{content:\"\\e209\"}.fa-comment-medical:before{content:\"\\f7f5\"}.fa-teeth-open:before{content:\"\\f62f\"}.fa-file-circle-minus:before{content:\"\\e4ed\"}.fa-tags:before{content:\"\\f02c\"}.fa-wine-glass:before{content:\"\\f4e3\"}.fa-fast-forward:before,.fa-forward-fast:before{content:\"\\f050\"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:\"\\f5a4\"}.fa-parking:before,.fa-square-parking:before{content:\"\\f540\"}.fa-house-signal:before{content:\"\\e012\"}.fa-bars-progress:before,.fa-tasks-alt:before{content:\"\\f828\"}.fa-faucet-drip:before{content:\"\\e006\"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:\"\\f474\"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:\"\\f54d\"}.fa-terminal:before{content:\"\\f120\"}.fa-mobile-button:before{content:\"\\f10b\"}.fa-house-medical-flag:before{content:\"\\e514\"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:\"\\f291\"}.fa-tape:before{content:\"\\f4db\"}.fa-bus-alt:before,.fa-bus-simple:before{content:\"\\f55e\"}.fa-eye:before{content:\"\\f06e\"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:\"\\f5b3\"}.fa-audio-description:before{content:\"\\f29e\"}.fa-person-military-to-person:before{content:\"\\e54c\"}.fa-file-shield:before{content:\"\\e4f0\"}.fa-user-slash:before{content:\"\\f506\"}.fa-pen:before{content:\"\\f304\"}.fa-tower-observation:before{content:\"\\e586\"}.fa-file-code:before{content:\"\\f1c9\"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:\"\\f012\"}.fa-bus:before{content:\"\\f207\"}.fa-heart-circle-xmark:before{content:\"\\e501\"}.fa-home-lg:before,.fa-house-chimney:before{content:\"\\e3af\"}.fa-window-maximize:before{content:\"\\f2d0\"}.fa-face-frown:before,.fa-frown:before{content:\"\\f119\"}.fa-prescription:before{content:\"\\f5b1\"}.fa-shop:before,.fa-store-alt:before{content:\"\\f54f\"}.fa-floppy-disk:before,.fa-save:before{content:\"\\f0c7\"}.fa-vihara:before{content:\"\\f6a7\"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:\"\\f515\"}.fa-sort-asc:before,.fa-sort-up:before{content:\"\\f0de\"}.fa-comment-dots:before,.fa-commenting:before{content:\"\\f4ad\"}.fa-plant-wilt:before{content:\"\\e5aa\"}.fa-diamond:before{content:\"\\f219\"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:\"\\f585\"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:\"\\f4c0\"}.fa-bacterium:before{content:\"\\e05a\"}.fa-hand-pointer:before{content:\"\\f25a\"}.fa-drum-steelpan:before{content:\"\\f56a\"}.fa-hand-scissors:before{content:\"\\f257\"}.fa-hands-praying:before,.fa-praying-hands:before{content:\"\\f684\"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:\"\\f01e\"}.fa-biohazard:before{content:\"\\f780\"}.fa-location-crosshairs:before,.fa-location:before{content:\"\\f601\"}.fa-mars-double:before{content:\"\\f227\"}.fa-child-dress:before{content:\"\\e59c\"}.fa-users-between-lines:before{content:\"\\e591\"}.fa-lungs-virus:before{content:\"\\e067\"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:\"\\f588\"}.fa-phone:before{content:\"\\f095\"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:\"\\f273\"}.fa-child-reaching:before{content:\"\\e59d\"}.fa-head-side-virus:before{content:\"\\e064\"}.fa-user-cog:before,.fa-user-gear:before{content:\"\\f4fe\"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:\"\\f163\"}.fa-door-closed:before{content:\"\\f52a\"}.fa-shield-virus:before{content:\"\\e06c\"}.fa-dice-six:before{content:\"\\f526\"}.fa-mosquito-net:before{content:\"\\e52c\"}.fa-bridge-water:before{content:\"\\e4ce\"}.fa-person-booth:before{content:\"\\f756\"}.fa-text-width:before{content:\"\\f035\"}.fa-hat-wizard:before{content:\"\\f6e8\"}.fa-pen-fancy:before{content:\"\\f5ac\"}.fa-digging:before,.fa-person-digging:before{content:\"\\f85e\"}.fa-trash:before{content:\"\\f1f8\"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:\"\\f629\"}.fa-book-medical:before{content:\"\\f7e6\"}.fa-poo:before{content:\"\\f2fe\"}.fa-quote-right-alt:before,.fa-quote-right:before{content:\"\\f10e\"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:\"\\f553\"}.fa-cubes:before{content:\"\\f1b3\"}.fa-divide:before{content:\"\\f529\"}.fa-tenge-sign:before,.fa-tenge:before{content:\"\\f7d7\"}.fa-headphones:before{content:\"\\f025\"}.fa-hands-holding:before{content:\"\\f4c2\"}.fa-hands-clapping:before{content:\"\\e1a8\"}.fa-republican:before{content:\"\\f75e\"}.fa-arrow-left:before{content:\"\\f060\"}.fa-person-circle-xmark:before{content:\"\\e543\"}.fa-ruler:before{content:\"\\f545\"}.fa-align-left:before{content:\"\\f036\"}.fa-dice-d6:before{content:\"\\f6d1\"}.fa-restroom:before{content:\"\\f7bd\"}.fa-j:before{content:\"\\4a\"}.fa-users-viewfinder:before{content:\"\\e595\"}.fa-file-video:before{content:\"\\f1c8\"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:\"\\f35d\"}.fa-table-cells:before,.fa-th:before{content:\"\\f00a\"}.fa-file-pdf:before{content:\"\\f1c1\"}.fa-bible:before,.fa-book-bible:before{content:\"\\f647\"}.fa-o:before{content:\"\\4f\"}.fa-medkit:before,.fa-suitcase-medical:before{content:\"\\f0fa\"}.fa-user-secret:before{content:\"\\f21b\"}.fa-otter:before{content:\"\\f700\"}.fa-female:before,.fa-person-dress:before{content:\"\\f182\"}.fa-comment-dollar:before{content:\"\\f651\"}.fa-briefcase-clock:before,.fa-business-time:before{content:\"\\f64a\"}.fa-table-cells-large:before,.fa-th-large:before{content:\"\\f009\"}.fa-book-tanakh:before,.fa-tanakh:before{content:\"\\f827\"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:\"\\f2a0\"}.fa-hat-cowboy-side:before{content:\"\\f8c1\"}.fa-clipboard-user:before{content:\"\\f7f3\"}.fa-child:before{content:\"\\f1ae\"}.fa-lira-sign:before{content:\"\\f195\"}.fa-satellite:before{content:\"\\f7bf\"}.fa-plane-lock:before{content:\"\\e558\"}.fa-tag:before{content:\"\\f02b\"}.fa-comment:before{content:\"\\f075\"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:\"\\f1fd\"}.fa-envelope:before{content:\"\\f0e0\"}.fa-angle-double-up:before,.fa-angles-up:before{content:\"\\f102\"}.fa-paperclip:before{content:\"\\f0c6\"}.fa-arrow-right-to-city:before{content:\"\\e4b3\"}.fa-ribbon:before{content:\"\\f4d6\"}.fa-lungs:before{content:\"\\f604\"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:\"\\f887\"}.fa-litecoin-sign:before{content:\"\\e1d3\"}.fa-border-none:before{content:\"\\f850\"}.fa-circle-nodes:before{content:\"\\e4e2\"}.fa-parachute-box:before{content:\"\\f4cd\"}.fa-indent:before{content:\"\\f03c\"}.fa-truck-field-un:before{content:\"\\e58e\"}.fa-hourglass-empty:before,.fa-hourglass:before{content:\"\\f254\"}.fa-mountain:before{content:\"\\f6fc\"}.fa-user-doctor:before,.fa-user-md:before{content:\"\\f0f0\"}.fa-circle-info:before,.fa-info-circle:before{content:\"\\f05a\"}.fa-cloud-meatball:before{content:\"\\f73b\"}.fa-camera-alt:before,.fa-camera:before{content:\"\\f030\"}.fa-square-virus:before{content:\"\\e578\"}.fa-meteor:before{content:\"\\f753\"}.fa-car-on:before{content:\"\\e4dd\"}.fa-sleigh:before{content:\"\\f7cc\"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:\"\\f162\"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:\"\\f4c1\"}.fa-water:before{content:\"\\f773\"}.fa-calendar-check:before{content:\"\\f274\"}.fa-braille:before{content:\"\\f2a1\"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:\"\\f486\"}.fa-landmark:before{content:\"\\f66f\"}.fa-truck:before{content:\"\\f0d1\"}.fa-crosshairs:before{content:\"\\f05b\"}.fa-person-cane:before{content:\"\\e53c\"}.fa-tent:before{content:\"\\e57d\"}.fa-vest-patches:before{content:\"\\e086\"}.fa-check-double:before{content:\"\\f560\"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:\"\\f15d\"}.fa-money-bill-wheat:before{content:\"\\e52a\"}.fa-cookie:before{content:\"\\f563\"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:\"\\f0e2\"}.fa-hard-drive:before,.fa-hdd:before{content:\"\\f0a0\"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:\"\\f586\"}.fa-dumbbell:before{content:\"\\f44b\"}.fa-list-alt:before,.fa-rectangle-list:before{content:\"\\f022\"}.fa-tarp-droplet:before{content:\"\\e57c\"}.fa-house-medical-circle-check:before{content:\"\\e511\"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:\"\\f7ca\"}.fa-calendar-plus:before{content:\"\\f271\"}.fa-plane-arrival:before{content:\"\\f5af\"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:\"\\f359\"}.fa-subway:before,.fa-train-subway:before{content:\"\\f239\"}.fa-chart-gantt:before{content:\"\\e0e4\"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:\"\\e1bc\"}.fa-crop-alt:before,.fa-crop-simple:before{content:\"\\f565\"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:\"\\f3d1\"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:\"\\f30a\"}.fa-dna:before{content:\"\\f471\"}.fa-virus-slash:before{content:\"\\e075\"}.fa-minus:before,.fa-subtract:before{content:\"\\f068\"}.fa-chess:before{content:\"\\f439\"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:\"\\f177\"}.fa-plug-circle-check:before{content:\"\\e55c\"}.fa-street-view:before{content:\"\\f21d\"}.fa-franc-sign:before{content:\"\\e18f\"}.fa-volume-off:before{content:\"\\f026\"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:\"\\f2a3\"}.fa-cog:before,.fa-gear:before{content:\"\\f013\"}.fa-droplet-slash:before,.fa-tint-slash:before{content:\"\\f5c7\"}.fa-mosque:before{content:\"\\f678\"}.fa-mosquito:before{content:\"\\e52b\"}.fa-star-of-david:before{content:\"\\f69a\"}.fa-person-military-rifle:before{content:\"\\e54b\"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:\"\\f07a\"}.fa-vials:before{content:\"\\f493\"}.fa-plug-circle-plus:before{content:\"\\e55f\"}.fa-place-of-worship:before{content:\"\\f67f\"}.fa-grip-vertical:before{content:\"\\f58e\"}.fa-arrow-turn-up:before,.fa-level-up:before{content:\"\\f148\"}.fa-u:before{content:\"\\55\"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:\"\\f698\"}.fa-clock-four:before,.fa-clock:before{content:\"\\f017\"}.fa-backward-step:before,.fa-step-backward:before{content:\"\\f048\"}.fa-pallet:before{content:\"\\f482\"}.fa-faucet:before{content:\"\\e005\"}.fa-baseball-bat-ball:before{content:\"\\f432\"}.fa-s:before{content:\"\\53\"}.fa-timeline:before{content:\"\\e29c\"}.fa-keyboard:before{content:\"\\f11c\"}.fa-caret-down:before{content:\"\\f0d7\"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:\"\\f7f2\"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:\"\\f2c8\"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:\"\\f3cf\"}.fa-plane-up:before{content:\"\\e22d\"}.fa-piggy-bank:before{content:\"\\f4d3\"}.fa-battery-3:before,.fa-battery-half:before{content:\"\\f242\"}.fa-mountain-city:before{content:\"\\e52e\"}.fa-coins:before{content:\"\\f51e\"}.fa-khanda:before{content:\"\\f66d\"}.fa-sliders-h:before,.fa-sliders:before{content:\"\\f1de\"}.fa-folder-tree:before{content:\"\\f802\"}.fa-network-wired:before{content:\"\\f6ff\"}.fa-map-pin:before{content:\"\\f276\"}.fa-hamsa:before{content:\"\\f665\"}.fa-cent-sign:before{content:\"\\e3f5\"}.fa-flask:before{content:\"\\f0c3\"}.fa-person-pregnant:before{content:\"\\e31e\"}.fa-wand-sparkles:before{content:\"\\f72b\"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:\"\\f142\"}.fa-ticket:before{content:\"\\f145\"}.fa-power-off:before{content:\"\\f011\"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:\"\\f30b\"}.fa-flag-usa:before{content:\"\\f74d\"}.fa-laptop-file:before{content:\"\\e51d\"}.fa-teletype:before,.fa-tty:before{content:\"\\f1e4\"}.fa-diagram-next:before{content:\"\\e476\"}.fa-person-rifle:before{content:\"\\e54e\"}.fa-house-medical-circle-exclamation:before{content:\"\\e512\"}.fa-closed-captioning:before{content:\"\\f20a\"}.fa-hiking:before,.fa-person-hiking:before{content:\"\\f6ec\"}.fa-venus-double:before{content:\"\\f226\"}.fa-images:before{content:\"\\f302\"}.fa-calculator:before{content:\"\\f1ec\"}.fa-people-pulling:before{content:\"\\e535\"}.fa-n:before{content:\"\\4e\"}.fa-cable-car:before,.fa-tram:before{content:\"\\f7da\"}.fa-cloud-rain:before{content:\"\\f73d\"}.fa-building-circle-xmark:before{content:\"\\e4d4\"}.fa-ship:before{content:\"\\f21a\"}.fa-arrows-down-to-line:before{content:\"\\e4b8\"}.fa-download:before{content:\"\\f019\"}.fa-face-grin:before,.fa-grin:before{content:\"\\f580\"}.fa-backspace:before,.fa-delete-left:before{content:\"\\f55a\"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:\"\\f1fb\"}.fa-file-circle-check:before{content:\"\\e5a0\"}.fa-forward:before{content:\"\\f04e\"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:\"\\f3ce\"}.fa-face-meh:before,.fa-meh:before{content:\"\\f11a\"}.fa-align-center:before{content:\"\\f037\"}.fa-book-dead:before,.fa-book-skull:before{content:\"\\f6b7\"}.fa-drivers-license:before,.fa-id-card:before{content:\"\\f2c2\"}.fa-dedent:before,.fa-outdent:before{content:\"\\f03b\"}.fa-heart-circle-exclamation:before{content:\"\\e4fe\"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:\"\\f015\"}.fa-calendar-week:before{content:\"\\f784\"}.fa-laptop-medical:before{content:\"\\f812\"}.fa-b:before{content:\"\\42\"}.fa-file-medical:before{content:\"\\f477\"}.fa-dice-one:before{content:\"\\f525\"}.fa-kiwi-bird:before{content:\"\\f535\"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:\"\\f0ec\"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:\"\\f2f9\"}.fa-cutlery:before,.fa-utensils:before{content:\"\\f2e7\"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:\"\\f161\"}.fa-mill-sign:before{content:\"\\e1ed\"}.fa-bowl-rice:before{content:\"\\e2eb\"}.fa-skull:before{content:\"\\f54c\"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:\"\\f519\"}.fa-truck-pickup:before{content:\"\\f63c\"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:\"\\f30c\"}.fa-stop:before{content:\"\\f04d\"}.fa-code-merge:before{content:\"\\f387\"}.fa-upload:before{content:\"\\f093\"}.fa-hurricane:before{content:\"\\f751\"}.fa-mound:before{content:\"\\e52d\"}.fa-toilet-portable:before{content:\"\\e583\"}.fa-compact-disc:before{content:\"\\f51f\"}.fa-file-arrow-down:before,.fa-file-download:before{content:\"\\f56d\"}.fa-caravan:before{content:\"\\f8ff\"}.fa-shield-cat:before{content:\"\\e572\"}.fa-bolt:before,.fa-zap:before{content:\"\\f0e7\"}.fa-glass-water:before{content:\"\\e4f4\"}.fa-oil-well:before{content:\"\\e532\"}.fa-vault:before{content:\"\\e2c5\"}.fa-mars:before{content:\"\\f222\"}.fa-toilet:before{content:\"\\f7d8\"}.fa-plane-circle-xmark:before{content:\"\\e557\"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:\"\\f157\"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:\"\\f158\"}.fa-sun:before{content:\"\\f185\"}.fa-guitar:before{content:\"\\f7a6\"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:\"\\f59c\"}.fa-horse-head:before{content:\"\\f7ab\"}.fa-bore-hole:before{content:\"\\e4c3\"}.fa-industry:before{content:\"\\f275\"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:\"\\f358\"}.fa-arrows-turn-to-dots:before{content:\"\\e4c1\"}.fa-florin-sign:before{content:\"\\e184\"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:\"\\f884\"}.fa-less-than:before{content:\"\\3c\"}.fa-angle-down:before{content:\"\\f107\"}.fa-car-tunnel:before{content:\"\\e4de\"}.fa-head-side-cough:before{content:\"\\e061\"}.fa-grip-lines:before{content:\"\\f7a4\"}.fa-thumbs-down:before{content:\"\\f165\"}.fa-user-lock:before{content:\"\\f502\"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:\"\\f178\"}.fa-anchor-circle-xmark:before{content:\"\\e4ac\"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:\"\\f141\"}.fa-chess-pawn:before{content:\"\\f443\"}.fa-first-aid:before,.fa-kit-medical:before{content:\"\\f479\"}.fa-person-through-window:before{content:\"\\e5a9\"}.fa-toolbox:before{content:\"\\f552\"}.fa-hands-holding-circle:before{content:\"\\e4fb\"}.fa-bug:before{content:\"\\f188\"}.fa-credit-card-alt:before,.fa-credit-card:before{content:\"\\f09d\"}.fa-automobile:before,.fa-car:before{content:\"\\f1b9\"}.fa-hand-holding-hand:before{content:\"\\e4f7\"}.fa-book-open-reader:before,.fa-book-reader:before{content:\"\\f5da\"}.fa-mountain-sun:before{content:\"\\e52f\"}.fa-arrows-left-right-to-line:before{content:\"\\e4ba\"}.fa-dice-d20:before{content:\"\\f6cf\"}.fa-truck-droplet:before{content:\"\\e58c\"}.fa-file-circle-xmark:before{content:\"\\e5a1\"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:\"\\e040\"}.fa-medal:before{content:\"\\f5a2\"}.fa-bed:before{content:\"\\f236\"}.fa-h-square:before,.fa-square-h:before{content:\"\\f0fd\"}.fa-podcast:before{content:\"\\f2ce\"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:\"\\f2c7\"}.fa-bell:before{content:\"\\f0f3\"}.fa-superscript:before{content:\"\\f12b\"}.fa-plug-circle-xmark:before{content:\"\\e560\"}.fa-star-of-life:before{content:\"\\f621\"}.fa-phone-slash:before{content:\"\\f3dd\"}.fa-paint-roller:before{content:\"\\f5aa\"}.fa-hands-helping:before,.fa-handshake-angle:before{content:\"\\f4c4\"}.fa-location-dot:before,.fa-map-marker-alt:before{content:\"\\f3c5\"}.fa-file:before{content:\"\\f15b\"}.fa-greater-than:before{content:\"\\3e\"}.fa-person-swimming:before,.fa-swimmer:before{content:\"\\f5c4\"}.fa-arrow-down:before{content:\"\\f063\"}.fa-droplet:before,.fa-tint:before{content:\"\\f043\"}.fa-eraser:before{content:\"\\f12d\"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:\"\\f57d\"}.fa-person-burst:before{content:\"\\e53b\"}.fa-dove:before{content:\"\\f4ba\"}.fa-battery-0:before,.fa-battery-empty:before{content:\"\\f244\"}.fa-socks:before{content:\"\\f696\"}.fa-inbox:before{content:\"\\f01c\"}.fa-section:before{content:\"\\e447\"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:\"\\f625\"}.fa-envelope-open-text:before{content:\"\\f658\"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:\"\\f0f8\"}.fa-wine-bottle:before{content:\"\\f72f\"}.fa-chess-rook:before{content:\"\\f447\"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:\"\\f550\"}.fa-dharmachakra:before{content:\"\\f655\"}.fa-hotdog:before{content:\"\\f80f\"}.fa-blind:before,.fa-person-walking-with-cane:before{content:\"\\f29d\"}.fa-drum:before{content:\"\\f569\"}.fa-ice-cream:before{content:\"\\f810\"}.fa-heart-circle-bolt:before{content:\"\\e4fc\"}.fa-fax:before{content:\"\\f1ac\"}.fa-paragraph:before{content:\"\\f1dd\"}.fa-check-to-slot:before,.fa-vote-yea:before{content:\"\\f772\"}.fa-star-half:before{content:\"\\f089\"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:\"\\f468\"}.fa-chain:before,.fa-link:before{content:\"\\f0c1\"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:\"\\f2a2\"}.fa-tree-city:before{content:\"\\e587\"}.fa-play:before{content:\"\\f04b\"}.fa-font:before{content:\"\\f031\"}.fa-rupiah-sign:before{content:\"\\e23d\"}.fa-magnifying-glass:before,.fa-search:before{content:\"\\f002\"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:\"\\f45d\"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:\"\\f470\"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:\"\\f82a\"}.fa-naira-sign:before{content:\"\\e1f6\"}.fa-cart-arrow-down:before{content:\"\\f218\"}.fa-walkie-talkie:before{content:\"\\f8ef\"}.fa-file-edit:before,.fa-file-pen:before{content:\"\\f31c\"}.fa-receipt:before{content:\"\\f543\"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:\"\\f14b\"}.fa-suitcase-rolling:before{content:\"\\f5c1\"}.fa-person-circle-exclamation:before{content:\"\\e53f\"}.fa-chevron-down:before{content:\"\\f078\"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:\"\\f240\"}.fa-skull-crossbones:before{content:\"\\f714\"}.fa-code-compare:before{content:\"\\e13a\"}.fa-list-dots:before,.fa-list-ul:before{content:\"\\f0ca\"}.fa-school-lock:before{content:\"\\e56f\"}.fa-tower-cell:before{content:\"\\e585\"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:\"\\f309\"}.fa-ranking-star:before{content:\"\\e561\"}.fa-chess-king:before{content:\"\\f43f\"}.fa-person-harassing:before{content:\"\\e549\"}.fa-brazilian-real-sign:before{content:\"\\e46c\"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:\"\\f752\"}.fa-arrow-up:before{content:\"\\f062\"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:\"\\f26c\"}.fa-shrimp:before{content:\"\\e448\"}.fa-list-check:before,.fa-tasks:before{content:\"\\f0ae\"}.fa-jug-detergent:before{content:\"\\e519\"}.fa-circle-user:before,.fa-user-circle:before{content:\"\\f2bd\"}.fa-user-shield:before{content:\"\\f505\"}.fa-wind:before{content:\"\\f72e\"}.fa-car-burst:before,.fa-car-crash:before{content:\"\\f5e1\"}.fa-y:before{content:\"\\59\"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:\"\\f7ce\"}.fa-shipping-fast:before,.fa-truck-fast:before{content:\"\\f48b\"}.fa-fish:before{content:\"\\f578\"}.fa-user-graduate:before{content:\"\\f501\"}.fa-adjust:before,.fa-circle-half-stroke:before{content:\"\\f042\"}.fa-clapperboard:before{content:\"\\e131\"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:\"\\f7ba\"}.fa-baseball-ball:before,.fa-baseball:before{content:\"\\f433\"}.fa-jet-fighter-up:before{content:\"\\e518\"}.fa-diagram-project:before,.fa-project-diagram:before{content:\"\\f542\"}.fa-copy:before{content:\"\\f0c5\"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:\"\\f6a9\"}.fa-hand-sparkles:before{content:\"\\e05d\"}.fa-grip-horizontal:before,.fa-grip:before{content:\"\\f58d\"}.fa-share-from-square:before,.fa-share-square:before{content:\"\\f14d\"}.fa-child-combatant:before,.fa-child-rifle:before{content:\"\\e4e0\"}.fa-gun:before{content:\"\\e19b\"}.fa-phone-square:before,.fa-square-phone:before{content:\"\\f098\"}.fa-add:before,.fa-plus:before{content:\"\\2b\"}.fa-expand:before{content:\"\\f065\"}.fa-computer:before{content:\"\\e4e5\"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:\"\\f00d\"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:\"\\f047\"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:\"\\f51c\"}.fa-peso-sign:before{content:\"\\e222\"}.fa-building-shield:before{content:\"\\e4d8\"}.fa-baby:before{content:\"\\f77c\"}.fa-users-line:before{content:\"\\e592\"}.fa-quote-left-alt:before,.fa-quote-left:before{content:\"\\f10d\"}.fa-tractor:before{content:\"\\f722\"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:\"\\f829\"}.fa-arrow-down-up-lock:before{content:\"\\e4b0\"}.fa-lines-leaning:before{content:\"\\e51e\"}.fa-ruler-combined:before{content:\"\\f546\"}.fa-copyright:before{content:\"\\f1f9\"}.fa-equals:before{content:\"\\3d\"}.fa-blender:before{content:\"\\f517\"}.fa-teeth:before{content:\"\\f62e\"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:\"\\f20b\"}.fa-map:before{content:\"\\f279\"}.fa-rocket:before{content:\"\\f135\"}.fa-photo-film:before,.fa-photo-video:before{content:\"\\f87c\"}.fa-folder-minus:before{content:\"\\f65d\"}.fa-store:before{content:\"\\f54e\"}.fa-arrow-trend-up:before{content:\"\\e098\"}.fa-plug-circle-minus:before{content:\"\\e55e\"}.fa-sign-hanging:before,.fa-sign:before{content:\"\\f4d9\"}.fa-bezier-curve:before{content:\"\\f55b\"}.fa-bell-slash:before{content:\"\\f1f6\"}.fa-tablet-android:before,.fa-tablet:before{content:\"\\f3fb\"}.fa-school-flag:before{content:\"\\e56e\"}.fa-fill:before{content:\"\\f575\"}.fa-angle-up:before{content:\"\\f106\"}.fa-drumstick-bite:before{content:\"\\f6d7\"}.fa-holly-berry:before{content:\"\\f7aa\"}.fa-chevron-left:before{content:\"\\f053\"}.fa-bacteria:before{content:\"\\e059\"}.fa-hand-lizard:before{content:\"\\f258\"}.fa-notdef:before{content:\"\\e1fe\"}.fa-disease:before{content:\"\\f7fa\"}.fa-briefcase-medical:before{content:\"\\f469\"}.fa-genderless:before{content:\"\\f22d\"}.fa-chevron-right:before{content:\"\\f054\"}.fa-retweet:before{content:\"\\f079\"}.fa-car-alt:before,.fa-car-rear:before{content:\"\\f5de\"}.fa-pump-soap:before{content:\"\\e06b\"}.fa-video-slash:before{content:\"\\f4e2\"}.fa-battery-2:before,.fa-battery-quarter:before{content:\"\\f243\"}.fa-radio:before{content:\"\\f8d7\"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:\"\\f77d\"}.fa-traffic-light:before{content:\"\\f637\"}.fa-thermometer:before{content:\"\\f491\"}.fa-vr-cardboard:before{content:\"\\f729\"}.fa-hand-middle-finger:before{content:\"\\f806\"}.fa-percent:before,.fa-percentage:before{content:\"\\25\"}.fa-truck-moving:before{content:\"\\f4df\"}.fa-glass-water-droplet:before{content:\"\\e4f5\"}.fa-display:before{content:\"\\e163\"}.fa-face-smile:before,.fa-smile:before{content:\"\\f118\"}.fa-thumb-tack:before,.fa-thumbtack:before{content:\"\\f08d\"}.fa-trophy:before{content:\"\\f091\"}.fa-person-praying:before,.fa-pray:before{content:\"\\f683\"}.fa-hammer:before{content:\"\\f6e3\"}.fa-hand-peace:before{content:\"\\f25b\"}.fa-rotate:before,.fa-sync-alt:before{content:\"\\f2f1\"}.fa-spinner:before{content:\"\\f110\"}.fa-robot:before{content:\"\\f544\"}.fa-peace:before{content:\"\\f67c\"}.fa-cogs:before,.fa-gears:before{content:\"\\f085\"}.fa-warehouse:before{content:\"\\f494\"}.fa-arrow-up-right-dots:before{content:\"\\e4b7\"}.fa-splotch:before{content:\"\\f5bc\"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:\"\\f584\"}.fa-dice-four:before{content:\"\\f524\"}.fa-sim-card:before{content:\"\\f7c4\"}.fa-transgender-alt:before,.fa-transgender:before{content:\"\\f225\"}.fa-mercury:before{content:\"\\f223\"}.fa-arrow-turn-down:before,.fa-level-down:before{content:\"\\f149\"}.fa-person-falling-burst:before{content:\"\\e547\"}.fa-award:before{content:\"\\f559\"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:\"\\f3ff\"}.fa-building:before{content:\"\\f1ad\"}.fa-angle-double-left:before,.fa-angles-left:before{content:\"\\f100\"}.fa-qrcode:before{content:\"\\f029\"}.fa-clock-rotate-left:before,.fa-history:before{content:\"\\f1da\"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:\"\\f583\"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:\"\\f56e\"}.fa-shield-blank:before,.fa-shield:before{content:\"\\f132\"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:\"\\f885\"}.fa-house-medical:before{content:\"\\e3b2\"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:\"\\f450\"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:\"\\f137\"}.fa-house-chimney-window:before{content:\"\\e00d\"}.fa-pen-nib:before{content:\"\\f5ad\"}.fa-tent-arrow-turn-left:before{content:\"\\e580\"}.fa-tents:before{content:\"\\e582\"}.fa-magic:before,.fa-wand-magic:before{content:\"\\f0d0\"}.fa-dog:before{content:\"\\f6d3\"}.fa-carrot:before{content:\"\\f787\"}.fa-moon:before{content:\"\\f186\"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:\"\\f5ce\"}.fa-cheese:before{content:\"\\f7ef\"}.fa-yin-yang:before{content:\"\\f6ad\"}.fa-music:before{content:\"\\f001\"}.fa-code-commit:before{content:\"\\f386\"}.fa-temperature-low:before{content:\"\\f76b\"}.fa-biking:before,.fa-person-biking:before{content:\"\\f84a\"}.fa-broom:before{content:\"\\f51a\"}.fa-shield-heart:before{content:\"\\e574\"}.fa-gopuram:before{content:\"\\f664\"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:\"\\e47b\"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:\"\\f2d3\"}.fa-hashtag:before{content:\"\\23\"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:\"\\f424\"}.fa-oil-can:before{content:\"\\f613\"}.fa-t:before{content:\"\\54\"}.fa-hippo:before{content:\"\\f6ed\"}.fa-chart-column:before{content:\"\\e0e3\"}.fa-infinity:before{content:\"\\f534\"}.fa-vial-circle-check:before{content:\"\\e596\"}.fa-person-arrow-down-to-line:before{content:\"\\e538\"}.fa-voicemail:before{content:\"\\f897\"}.fa-fan:before{content:\"\\f863\"}.fa-person-walking-luggage:before{content:\"\\e554\"}.fa-arrows-alt-v:before,.fa-up-down:before{content:\"\\f338\"}.fa-cloud-moon-rain:before{content:\"\\f73c\"}.fa-calendar:before{content:\"\\f133\"}.fa-trailer:before{content:\"\\e041\"}.fa-bahai:before,.fa-haykal:before{content:\"\\f666\"}.fa-sd-card:before{content:\"\\f7c2\"}.fa-dragon:before{content:\"\\f6d5\"}.fa-shoe-prints:before{content:\"\\f54b\"}.fa-circle-plus:before,.fa-plus-circle:before{content:\"\\f055\"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:\"\\f58b\"}.fa-hand-holding:before{content:\"\\f4bd\"}.fa-plug-circle-exclamation:before{content:\"\\e55d\"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:\"\\f127\"}.fa-clone:before{content:\"\\f24d\"}.fa-person-walking-arrow-loop-left:before{content:\"\\e551\"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:\"\\f882\"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:\"\\f7e4\"}.fa-tornado:before{content:\"\\f76f\"}.fa-file-circle-plus:before{content:\"\\e494\"}.fa-book-quran:before,.fa-quran:before{content:\"\\f687\"}.fa-anchor:before{content:\"\\f13d\"}.fa-border-all:before{content:\"\\f84c\"}.fa-angry:before,.fa-face-angry:before{content:\"\\f556\"}.fa-cookie-bite:before{content:\"\\f564\"}.fa-arrow-trend-down:before{content:\"\\e097\"}.fa-feed:before,.fa-rss:before{content:\"\\f09e\"}.fa-draw-polygon:before{content:\"\\f5ee\"}.fa-balance-scale:before,.fa-scale-balanced:before{content:\"\\f24e\"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:\"\\f62a\"}.fa-shower:before{content:\"\\f2cc\"}.fa-desktop-alt:before,.fa-desktop:before{content:\"\\f390\"}.fa-m:before{content:\"\\4d\"}.fa-table-list:before,.fa-th-list:before{content:\"\\f00b\"}.fa-comment-sms:before,.fa-sms:before{content:\"\\f7cd\"}.fa-book:before{content:\"\\f02d\"}.fa-user-plus:before{content:\"\\f234\"}.fa-check:before{content:\"\\f00c\"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:\"\\f241\"}.fa-house-circle-check:before{content:\"\\e509\"}.fa-angle-left:before{content:\"\\f104\"}.fa-diagram-successor:before{content:\"\\e47a\"}.fa-truck-arrow-right:before{content:\"\\e58b\"}.fa-arrows-split-up-and-left:before{content:\"\\e4bc\"}.fa-fist-raised:before,.fa-hand-fist:before{content:\"\\f6de\"}.fa-cloud-moon:before{content:\"\\f6c3\"}.fa-briefcase:before{content:\"\\f0b1\"}.fa-person-falling:before{content:\"\\e546\"}.fa-image-portrait:before,.fa-portrait:before{content:\"\\f3e0\"}.fa-user-tag:before{content:\"\\f507\"}.fa-rug:before{content:\"\\e569\"}.fa-earth-europe:before,.fa-globe-europe:before{content:\"\\f7a2\"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:\"\\f59d\"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:\"\\f410\"}.fa-baht-sign:before{content:\"\\e0ac\"}.fa-book-open:before{content:\"\\f518\"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:\"\\f66a\"}.fa-handcuffs:before{content:\"\\e4f8\"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:\"\\f071\"}.fa-database:before{content:\"\\f1c0\"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:\"\\f064\"}.fa-bottle-droplet:before{content:\"\\e4c4\"}.fa-mask-face:before{content:\"\\e1d7\"}.fa-hill-rockslide:before{content:\"\\e508\"}.fa-exchange-alt:before,.fa-right-left:before{content:\"\\f362\"}.fa-paper-plane:before{content:\"\\f1d8\"}.fa-road-circle-exclamation:before{content:\"\\e565\"}.fa-dungeon:before{content:\"\\f6d9\"}.fa-align-right:before{content:\"\\f038\"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:\"\\f53b\"}.fa-life-ring:before{content:\"\\f1cd\"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:\"\\f2a7\"}.fa-calendar-day:before{content:\"\\f783\"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:\"\\f5c5\"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:\"\\f07d\"}.fa-face-grimace:before,.fa-grimace:before{content:\"\\f57f\"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:\"\\e2ce\"}.fa-level-down-alt:before,.fa-turn-down:before{content:\"\\f3be\"}.fa-person-walking-arrow-right:before{content:\"\\e552\"}.fa-envelope-square:before,.fa-square-envelope:before{content:\"\\f199\"}.fa-dice:before{content:\"\\f522\"}.fa-bowling-ball:before{content:\"\\f436\"}.fa-brain:before{content:\"\\f5dc\"}.fa-band-aid:before,.fa-bandage:before{content:\"\\f462\"}.fa-calendar-minus:before{content:\"\\f272\"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:\"\\f057\"}.fa-gifts:before{content:\"\\f79c\"}.fa-hotel:before{content:\"\\f594\"}.fa-earth-asia:before,.fa-globe-asia:before{content:\"\\f57e\"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:\"\\f47f\"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:\"\\f00e\"}.fa-thumbs-up:before{content:\"\\f164\"}.fa-user-clock:before{content:\"\\f4fd\"}.fa-allergies:before,.fa-hand-dots:before{content:\"\\f461\"}.fa-file-invoice:before{content:\"\\f570\"}.fa-window-minimize:before{content:\"\\f2d1\"}.fa-coffee:before,.fa-mug-saucer:before{content:\"\\f0f4\"}.fa-brush:before{content:\"\\f55d\"}.fa-mask:before{content:\"\\f6fa\"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:\"\\f010\"}.fa-ruler-vertical:before{content:\"\\f548\"}.fa-user-alt:before,.fa-user-large:before{content:\"\\f406\"}.fa-train-tram:before{content:\"\\e5b4\"}.fa-user-nurse:before{content:\"\\f82f\"}.fa-syringe:before{content:\"\\f48e\"}.fa-cloud-sun:before{content:\"\\f6c4\"}.fa-stopwatch-20:before{content:\"\\e06f\"}.fa-square-full:before{content:\"\\f45c\"}.fa-magnet:before{content:\"\\f076\"}.fa-jar:before{content:\"\\e516\"}.fa-note-sticky:before,.fa-sticky-note:before{content:\"\\f249\"}.fa-bug-slash:before{content:\"\\e490\"}.fa-arrow-up-from-water-pump:before{content:\"\\e4b6\"}.fa-bone:before{content:\"\\f5d7\"}.fa-user-injured:before{content:\"\\f728\"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:\"\\f5b4\"}.fa-plane:before{content:\"\\f072\"}.fa-tent-arrows-down:before{content:\"\\e581\"}.fa-exclamation:before{content:\"\\21\"}.fa-arrows-spin:before{content:\"\\e4bb\"}.fa-print:before{content:\"\\f02f\"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:\"\\e2bb\"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:\"\\24\"}.fa-x:before{content:\"\\58\"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:\"\\f688\"}.fa-users-cog:before,.fa-users-gear:before{content:\"\\f509\"}.fa-person-military-pointing:before{content:\"\\e54a\"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:\"\\f19c\"}.fa-umbrella:before{content:\"\\f0e9\"}.fa-trowel:before{content:\"\\e589\"}.fa-d:before{content:\"\\44\"}.fa-stapler:before{content:\"\\e5af\"}.fa-masks-theater:before,.fa-theater-masks:before{content:\"\\f630\"}.fa-kip-sign:before{content:\"\\e1c4\"}.fa-hand-point-left:before{content:\"\\f0a5\"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:\"\\f4c6\"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:\"\\f0fb\"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:\"\\f1e1\"}.fa-barcode:before{content:\"\\f02a\"}.fa-plus-minus:before{content:\"\\e43c\"}.fa-video-camera:before,.fa-video:before{content:\"\\f03d\"}.fa-graduation-cap:before,.fa-mortar-board:before{content:\"\\f19d\"}.fa-hand-holding-medical:before{content:\"\\e05c\"}.fa-person-circle-check:before{content:\"\\e53e\"}.fa-level-up-alt:before,.fa-turn-up:before{content:\"\\f3bf\"}"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":".fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:\"Font Awesome 6 Brands\";--fa-font-brands:normal 400 1em/1 \"Font Awesome 6 Brands\"}@font-face{font-family:\"Font Awesome 6 Brands\";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format(\"woff2\"),url(../webfonts/fa-brands-400.ttf) format(\"truetype\")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:\"\\f3d0\"}.fa-hooli:before{content:\"\\f427\"}.fa-yelp:before{content:\"\\f1e9\"}.fa-cc-visa:before{content:\"\\f1f0\"}.fa-lastfm:before{content:\"\\f202\"}.fa-shopware:before{content:\"\\f5b5\"}.fa-creative-commons-nc:before{content:\"\\f4e8\"}.fa-aws:before{content:\"\\f375\"}.fa-redhat:before{content:\"\\f7bc\"}.fa-yoast:before{content:\"\\f2b1\"}.fa-cloudflare:before{content:\"\\e07d\"}.fa-ups:before{content:\"\\f7e0\"}.fa-wpexplorer:before{content:\"\\f2de\"}.fa-dyalog:before{content:\"\\f399\"}.fa-bity:before{content:\"\\f37a\"}.fa-stackpath:before{content:\"\\f842\"}.fa-buysellads:before{content:\"\\f20d\"}.fa-first-order:before{content:\"\\f2b0\"}.fa-modx:before{content:\"\\f285\"}.fa-guilded:before{content:\"\\e07e\"}.fa-vnv:before{content:\"\\f40b\"}.fa-js-square:before,.fa-square-js:before{content:\"\\f3b9\"}.fa-microsoft:before{content:\"\\f3ca\"}.fa-qq:before{content:\"\\f1d6\"}.fa-orcid:before{content:\"\\f8d2\"}.fa-java:before{content:\"\\f4e4\"}.fa-invision:before{content:\"\\f7b0\"}.fa-creative-commons-pd-alt:before{content:\"\\f4ed\"}.fa-centercode:before{content:\"\\f380\"}.fa-glide-g:before{content:\"\\f2a6\"}.fa-drupal:before{content:\"\\f1a9\"}.fa-hire-a-helper:before{content:\"\\f3b0\"}.fa-creative-commons-by:before{content:\"\\f4e7\"}.fa-unity:before{content:\"\\e049\"}.fa-whmcs:before{content:\"\\f40d\"}.fa-rocketchat:before{content:\"\\f3e8\"}.fa-vk:before{content:\"\\f189\"}.fa-untappd:before{content:\"\\f405\"}.fa-mailchimp:before{content:\"\\f59e\"}.fa-css3-alt:before{content:\"\\f38b\"}.fa-reddit-square:before,.fa-square-reddit:before{content:\"\\f1a2\"}.fa-vimeo-v:before{content:\"\\f27d\"}.fa-contao:before{content:\"\\f26d\"}.fa-square-font-awesome:before{content:\"\\e5ad\"}.fa-deskpro:before{content:\"\\f38f\"}.fa-sistrix:before{content:\"\\f3ee\"}.fa-instagram-square:before,.fa-square-instagram:before{content:\"\\e055\"}.fa-battle-net:before{content:\"\\f835\"}.fa-the-red-yeti:before{content:\"\\f69d\"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:\"\\f3af\"}.fa-edge:before{content:\"\\f282\"}.fa-napster:before{content:\"\\f3d2\"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:\"\\f2ad\"}.fa-google-plus-g:before{content:\"\\f0d5\"}.fa-artstation:before{content:\"\\f77a\"}.fa-markdown:before{content:\"\\f60f\"}.fa-sourcetree:before{content:\"\\f7d3\"}.fa-google-plus:before{content:\"\\f2b3\"}.fa-diaspora:before{content:\"\\f791\"}.fa-foursquare:before{content:\"\\f180\"}.fa-stack-overflow:before{content:\"\\f16c\"}.fa-github-alt:before{content:\"\\f113\"}.fa-phoenix-squadron:before{content:\"\\f511\"}.fa-pagelines:before{content:\"\\f18c\"}.fa-algolia:before{content:\"\\f36c\"}.fa-red-river:before{content:\"\\f3e3\"}.fa-creative-commons-sa:before{content:\"\\f4ef\"}.fa-safari:before{content:\"\\f267\"}.fa-google:before{content:\"\\f1a0\"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:\"\\f35c\"}.fa-atlassian:before{content:\"\\f77b\"}.fa-linkedin-in:before{content:\"\\f0e1\"}.fa-digital-ocean:before{content:\"\\f391\"}.fa-nimblr:before{content:\"\\f5a8\"}.fa-chromecast:before{content:\"\\f838\"}.fa-evernote:before{content:\"\\f839\"}.fa-hacker-news:before{content:\"\\f1d4\"}.fa-creative-commons-sampling:before{content:\"\\f4f0\"}.fa-adversal:before{content:\"\\f36a\"}.fa-creative-commons:before{content:\"\\f25e\"}.fa-watchman-monitoring:before{content:\"\\e087\"}.fa-fonticons:before{content:\"\\f280\"}.fa-weixin:before{content:\"\\f1d7\"}.fa-shirtsinbulk:before{content:\"\\f214\"}.fa-codepen:before{content:\"\\f1cb\"}.fa-git-alt:before{content:\"\\f841\"}.fa-lyft:before{content:\"\\f3c3\"}.fa-rev:before{content:\"\\f5b2\"}.fa-windows:before{content:\"\\f17a\"}.fa-wizards-of-the-coast:before{content:\"\\f730\"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:\"\\f2aa\"}.fa-meetup:before{content:\"\\f2e0\"}.fa-centos:before{content:\"\\f789\"}.fa-adn:before{content:\"\\f170\"}.fa-cloudsmith:before{content:\"\\f384\"}.fa-pied-piper-alt:before{content:\"\\f1a8\"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:\"\\f397\"}.fa-codiepie:before{content:\"\\f284\"}.fa-node:before{content:\"\\f419\"}.fa-mix:before{content:\"\\f3cb\"}.fa-steam:before{content:\"\\f1b6\"}.fa-cc-apple-pay:before{content:\"\\f416\"}.fa-scribd:before{content:\"\\f28a\"}.fa-openid:before{content:\"\\f19b\"}.fa-instalod:before{content:\"\\e081\"}.fa-expeditedssl:before{content:\"\\f23e\"}.fa-sellcast:before{content:\"\\f2da\"}.fa-square-twitter:before,.fa-twitter-square:before{content:\"\\f081\"}.fa-r-project:before{content:\"\\f4f7\"}.fa-delicious:before{content:\"\\f1a5\"}.fa-freebsd:before{content:\"\\f3a4\"}.fa-vuejs:before{content:\"\\f41f\"}.fa-accusoft:before{content:\"\\f369\"}.fa-ioxhost:before{content:\"\\f208\"}.fa-fonticons-fi:before{content:\"\\f3a2\"}.fa-app-store:before{content:\"\\f36f\"}.fa-cc-mastercard:before{content:\"\\f1f1\"}.fa-itunes-note:before{content:\"\\f3b5\"}.fa-golang:before{content:\"\\e40f\"}.fa-kickstarter:before{content:\"\\f3bb\"}.fa-grav:before{content:\"\\f2d6\"}.fa-weibo:before{content:\"\\f18a\"}.fa-uncharted:before{content:\"\\e084\"}.fa-firstdraft:before{content:\"\\f3a1\"}.fa-square-youtube:before,.fa-youtube-square:before{content:\"\\f431\"}.fa-wikipedia-w:before{content:\"\\f266\"}.fa-rendact:before,.fa-wpressr:before{content:\"\\f3e4\"}.fa-angellist:before{content:\"\\f209\"}.fa-galactic-republic:before{content:\"\\f50c\"}.fa-nfc-directional:before{content:\"\\e530\"}.fa-skype:before{content:\"\\f17e\"}.fa-joget:before{content:\"\\f3b7\"}.fa-fedora:before{content:\"\\f798\"}.fa-stripe-s:before{content:\"\\f42a\"}.fa-meta:before{content:\"\\e49b\"}.fa-laravel:before{content:\"\\f3bd\"}.fa-hotjar:before{content:\"\\f3b1\"}.fa-bluetooth-b:before{content:\"\\f294\"}.fa-sticker-mule:before{content:\"\\f3f7\"}.fa-creative-commons-zero:before{content:\"\\f4f3\"}.fa-hips:before{content:\"\\f452\"}.fa-behance:before{content:\"\\f1b4\"}.fa-reddit:before{content:\"\\f1a1\"}.fa-discord:before{content:\"\\f392\"}.fa-chrome:before{content:\"\\f268\"}.fa-app-store-ios:before{content:\"\\f370\"}.fa-cc-discover:before{content:\"\\f1f2\"}.fa-wpbeginner:before{content:\"\\f297\"}.fa-confluence:before{content:\"\\f78d\"}.fa-mdb:before{content:\"\\f8ca\"}.fa-dochub:before{content:\"\\f394\"}.fa-accessible-icon:before{content:\"\\f368\"}.fa-ebay:before{content:\"\\f4f4\"}.fa-amazon:before{content:\"\\f270\"}.fa-unsplash:before{content:\"\\e07c\"}.fa-yarn:before{content:\"\\f7e3\"}.fa-square-steam:before,.fa-steam-square:before{content:\"\\f1b7\"}.fa-500px:before{content:\"\\f26e\"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:\"\\f194\"}.fa-asymmetrik:before{content:\"\\f372\"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:\"\\f2b4\"}.fa-gratipay:before{content:\"\\f184\"}.fa-apple:before{content:\"\\f179\"}.fa-hive:before{content:\"\\e07f\"}.fa-gitkraken:before{content:\"\\f3a6\"}.fa-keybase:before{content:\"\\f4f5\"}.fa-apple-pay:before{content:\"\\f415\"}.fa-padlet:before{content:\"\\e4a0\"}.fa-amazon-pay:before{content:\"\\f42c\"}.fa-github-square:before,.fa-square-github:before{content:\"\\f092\"}.fa-stumbleupon:before{content:\"\\f1a4\"}.fa-fedex:before{content:\"\\f797\"}.fa-phoenix-framework:before{content:\"\\f3dc\"}.fa-shopify:before{content:\"\\e057\"}.fa-neos:before{content:\"\\f612\"}.fa-hackerrank:before{content:\"\\f5f7\"}.fa-researchgate:before{content:\"\\f4f8\"}.fa-swift:before{content:\"\\f8e1\"}.fa-angular:before{content:\"\\f420\"}.fa-speakap:before{content:\"\\f3f3\"}.fa-angrycreative:before{content:\"\\f36e\"}.fa-y-combinator:before{content:\"\\f23b\"}.fa-empire:before{content:\"\\f1d1\"}.fa-envira:before{content:\"\\f299\"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:\"\\e5ae\"}.fa-studiovinari:before{content:\"\\f3f8\"}.fa-pied-piper:before{content:\"\\f2ae\"}.fa-wordpress:before{content:\"\\f19a\"}.fa-product-hunt:before{content:\"\\f288\"}.fa-firefox:before{content:\"\\f269\"}.fa-linode:before{content:\"\\f2b8\"}.fa-goodreads:before{content:\"\\f3a8\"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:\"\\f264\"}.fa-jsfiddle:before{content:\"\\f1cc\"}.fa-sith:before{content:\"\\f512\"}.fa-themeisle:before{content:\"\\f2b2\"}.fa-page4:before{content:\"\\f3d7\"}.fa-hashnode:before{content:\"\\e499\"}.fa-react:before{content:\"\\f41b\"}.fa-cc-paypal:before{content:\"\\f1f4\"}.fa-squarespace:before{content:\"\\f5be\"}.fa-cc-stripe:before{content:\"\\f1f5\"}.fa-creative-commons-share:before{content:\"\\f4f2\"}.fa-bitcoin:before{content:\"\\f379\"}.fa-keycdn:before{content:\"\\f3ba\"}.fa-opera:before{content:\"\\f26a\"}.fa-itch-io:before{content:\"\\f83a\"}.fa-umbraco:before{content:\"\\f8e8\"}.fa-galactic-senate:before{content:\"\\f50d\"}.fa-ubuntu:before{content:\"\\f7df\"}.fa-draft2digital:before{content:\"\\f396\"}.fa-stripe:before{content:\"\\f429\"}.fa-houzz:before{content:\"\\f27c\"}.fa-gg:before{content:\"\\f260\"}.fa-dhl:before{content:\"\\f790\"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:\"\\f0d3\"}.fa-xing:before{content:\"\\f168\"}.fa-blackberry:before{content:\"\\f37b\"}.fa-creative-commons-pd:before{content:\"\\f4ec\"}.fa-playstation:before{content:\"\\f3df\"}.fa-quinscape:before{content:\"\\f459\"}.fa-less:before{content:\"\\f41d\"}.fa-blogger-b:before{content:\"\\f37d\"}.fa-opencart:before{content:\"\\f23d\"}.fa-vine:before{content:\"\\f1ca\"}.fa-paypal:before{content:\"\\f1ed\"}.fa-gitlab:before{content:\"\\f296\"}.fa-typo3:before{content:\"\\f42b\"}.fa-reddit-alien:before{content:\"\\f281\"}.fa-yahoo:before{content:\"\\f19e\"}.fa-dailymotion:before{content:\"\\e052\"}.fa-affiliatetheme:before{content:\"\\f36b\"}.fa-pied-piper-pp:before{content:\"\\f1a7\"}.fa-bootstrap:before{content:\"\\f836\"}.fa-odnoklassniki:before{content:\"\\f263\"}.fa-nfc-symbol:before{content:\"\\e531\"}.fa-ethereum:before{content:\"\\f42e\"}.fa-speaker-deck:before{content:\"\\f83c\"}.fa-creative-commons-nc-eu:before{content:\"\\f4e9\"}.fa-patreon:before{content:\"\\f3d9\"}.fa-avianex:before{content:\"\\f374\"}.fa-ello:before{content:\"\\f5f1\"}.fa-gofore:before{content:\"\\f3a7\"}.fa-bimobject:before{content:\"\\f378\"}.fa-facebook-f:before{content:\"\\f39e\"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:\"\\f0d4\"}.fa-mandalorian:before{content:\"\\f50f\"}.fa-first-order-alt:before{content:\"\\f50a\"}.fa-osi:before{content:\"\\f41a\"}.fa-google-wallet:before{content:\"\\f1ee\"}.fa-d-and-d-beyond:before{content:\"\\f6ca\"}.fa-periscope:before{content:\"\\f3da\"}.fa-fulcrum:before{content:\"\\f50b\"}.fa-cloudscale:before{content:\"\\f383\"}.fa-forumbee:before{content:\"\\f211\"}.fa-mizuni:before{content:\"\\f3cc\"}.fa-schlix:before{content:\"\\f3ea\"}.fa-square-xing:before,.fa-xing-square:before{content:\"\\f169\"}.fa-bandcamp:before{content:\"\\f2d5\"}.fa-wpforms:before{content:\"\\f298\"}.fa-cloudversify:before{content:\"\\f385\"}.fa-usps:before{content:\"\\f7e1\"}.fa-megaport:before{content:\"\\f5a3\"}.fa-magento:before{content:\"\\f3c4\"}.fa-spotify:before{content:\"\\f1bc\"}.fa-optin-monster:before{content:\"\\f23c\"}.fa-fly:before{content:\"\\f417\"}.fa-aviato:before{content:\"\\f421\"}.fa-itunes:before{content:\"\\f3b4\"}.fa-cuttlefish:before{content:\"\\f38c\"}.fa-blogger:before{content:\"\\f37c\"}.fa-flickr:before{content:\"\\f16e\"}.fa-viber:before{content:\"\\f409\"}.fa-soundcloud:before{content:\"\\f1be\"}.fa-digg:before{content:\"\\f1a6\"}.fa-tencent-weibo:before{content:\"\\f1d5\"}.fa-symfony:before{content:\"\\f83d\"}.fa-maxcdn:before{content:\"\\f136\"}.fa-etsy:before{content:\"\\f2d7\"}.fa-facebook-messenger:before{content:\"\\f39f\"}.fa-audible:before{content:\"\\f373\"}.fa-think-peaks:before{content:\"\\f731\"}.fa-bilibili:before{content:\"\\e3d9\"}.fa-erlang:before{content:\"\\f39d\"}.fa-cotton-bureau:before{content:\"\\f89e\"}.fa-dashcube:before{content:\"\\f210\"}.fa-42-group:before,.fa-innosoft:before{content:\"\\e080\"}.fa-stack-exchange:before{content:\"\\f18d\"}.fa-elementor:before{content:\"\\f430\"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:\"\\e01e\"}.fa-creative-commons-nd:before{content:\"\\f4eb\"}.fa-palfed:before{content:\"\\f3d8\"}.fa-superpowers:before{content:\"\\f2dd\"}.fa-resolving:before{content:\"\\f3e7\"}.fa-xbox:before{content:\"\\f412\"}.fa-searchengin:before{content:\"\\f3eb\"}.fa-tiktok:before{content:\"\\e07b\"}.fa-facebook-square:before,.fa-square-facebook:before{content:\"\\f082\"}.fa-renren:before{content:\"\\f18b\"}.fa-linux:before{content:\"\\f17c\"}.fa-glide:before{content:\"\\f2a5\"}.fa-linkedin:before{content:\"\\f08c\"}.fa-hubspot:before{content:\"\\f3b2\"}.fa-deploydog:before{content:\"\\f38e\"}.fa-twitch:before{content:\"\\f1e8\"}.fa-ravelry:before{content:\"\\f2d9\"}.fa-mixer:before{content:\"\\e056\"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:\"\\f203\"}.fa-vimeo:before{content:\"\\f40a\"}.fa-mendeley:before{content:\"\\f7b3\"}.fa-uniregistry:before{content:\"\\f404\"}.fa-figma:before{content:\"\\f799\"}.fa-creative-commons-remix:before{content:\"\\f4ee\"}.fa-cc-amazon-pay:before{content:\"\\f42d\"}.fa-dropbox:before{content:\"\\f16b\"}.fa-instagram:before{content:\"\\f16d\"}.fa-cmplid:before{content:\"\\e360\"}.fa-facebook:before{content:\"\\f09a\"}.fa-gripfire:before{content:\"\\f3ac\"}.fa-jedi-order:before{content:\"\\f50e\"}.fa-uikit:before{content:\"\\f403\"}.fa-fort-awesome-alt:before{content:\"\\f3a3\"}.fa-phabricator:before{content:\"\\f3db\"}.fa-ussunnah:before{content:\"\\f407\"}.fa-earlybirds:before{content:\"\\f39a\"}.fa-trade-federation:before{content:\"\\f513\"}.fa-autoprefixer:before{content:\"\\f41c\"}.fa-whatsapp:before{content:\"\\f232\"}.fa-slideshare:before{content:\"\\f1e7\"}.fa-google-play:before{content:\"\\f3ab\"}.fa-viadeo:before{content:\"\\f2a9\"}.fa-line:before{content:\"\\f3c0\"}.fa-google-drive:before{content:\"\\f3aa\"}.fa-servicestack:before{content:\"\\f3ec\"}.fa-simplybuilt:before{content:\"\\f215\"}.fa-bitbucket:before{content:\"\\f171\"}.fa-imdb:before{content:\"\\f2d8\"}.fa-deezer:before{content:\"\\e077\"}.fa-raspberry-pi:before{content:\"\\f7bb\"}.fa-jira:before{content:\"\\f7b1\"}.fa-docker:before{content:\"\\f395\"}.fa-screenpal:before{content:\"\\e570\"}.fa-bluetooth:before{content:\"\\f293\"}.fa-gitter:before{content:\"\\f426\"}.fa-d-and-d:before{content:\"\\f38d\"}.fa-microblog:before{content:\"\\e01a\"}.fa-cc-diners-club:before{content:\"\\f24c\"}.fa-gg-circle:before{content:\"\\f261\"}.fa-pied-piper-hat:before{content:\"\\f4e5\"}.fa-kickstarter-k:before{content:\"\\f3bc\"}.fa-yandex:before{content:\"\\f413\"}.fa-readme:before{content:\"\\f4d5\"}.fa-html5:before{content:\"\\f13b\"}.fa-sellsy:before{content:\"\\f213\"}.fa-sass:before{content:\"\\f41e\"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:\"\\e2d0\"}.fa-buromobelexperte:before{content:\"\\f37f\"}.fa-salesforce:before{content:\"\\f83b\"}.fa-octopus-deploy:before{content:\"\\e082\"}.fa-medapps:before{content:\"\\f3c6\"}.fa-ns8:before{content:\"\\f3d5\"}.fa-pinterest-p:before{content:\"\\f231\"}.fa-apper:before{content:\"\\f371\"}.fa-fort-awesome:before{content:\"\\f286\"}.fa-waze:before{content:\"\\f83f\"}.fa-cc-jcb:before{content:\"\\f24b\"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:\"\\f2ab\"}.fa-fantasy-flight-games:before{content:\"\\f6dc\"}.fa-rust:before{content:\"\\e07a\"}.fa-wix:before{content:\"\\f5cf\"}.fa-behance-square:before,.fa-square-behance:before{content:\"\\f1b5\"}.fa-supple:before{content:\"\\f3f9\"}.fa-rebel:before{content:\"\\f1d0\"}.fa-css3:before{content:\"\\f13c\"}.fa-staylinked:before{content:\"\\f3f5\"}.fa-kaggle:before{content:\"\\f5fa\"}.fa-space-awesome:before{content:\"\\e5ac\"}.fa-deviantart:before{content:\"\\f1bd\"}.fa-cpanel:before{content:\"\\f388\"}.fa-goodreads-g:before{content:\"\\f3a9\"}.fa-git-square:before,.fa-square-git:before{content:\"\\f1d2\"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:\"\\f174\"}.fa-trello:before{content:\"\\f181\"}.fa-creative-commons-nc-jp:before{content:\"\\f4ea\"}.fa-get-pocket:before{content:\"\\f265\"}.fa-perbyte:before{content:\"\\e083\"}.fa-grunt:before{content:\"\\f3ad\"}.fa-weebly:before{content:\"\\f5cc\"}.fa-connectdevelop:before{content:\"\\f20e\"}.fa-leanpub:before{content:\"\\f212\"}.fa-black-tie:before{content:\"\\f27e\"}.fa-themeco:before{content:\"\\f5c6\"}.fa-python:before{content:\"\\f3e2\"}.fa-android:before{content:\"\\f17b\"}.fa-bots:before{content:\"\\e340\"}.fa-free-code-camp:before{content:\"\\f2c5\"}.fa-hornbill:before{content:\"\\f592\"}.fa-js:before{content:\"\\f3b8\"}.fa-ideal:before{content:\"\\e013\"}.fa-git:before{content:\"\\f1d3\"}.fa-dev:before{content:\"\\f6cc\"}.fa-sketch:before{content:\"\\f7c6\"}.fa-yandex-international:before{content:\"\\f414\"}.fa-cc-amex:before{content:\"\\f1f3\"}.fa-uber:before{content:\"\\f402\"}.fa-github:before{content:\"\\f09b\"}.fa-php:before{content:\"\\f457\"}.fa-alipay:before{content:\"\\f642\"}.fa-youtube:before{content:\"\\f167\"}.fa-skyatlas:before{content:\"\\f216\"}.fa-firefox-browser:before{content:\"\\e007\"}.fa-replyd:before{content:\"\\f3e6\"}.fa-suse:before{content:\"\\f7d6\"}.fa-jenkins:before{content:\"\\f3b6\"}.fa-twitter:before{content:\"\\f099\"}.fa-rockrms:before{content:\"\\f3e9\"}.fa-pinterest:before{content:\"\\f0d2\"}.fa-buffer:before{content:\"\\f837\"}.fa-npm:before{content:\"\\f3d4\"}.fa-yammer:before{content:\"\\f840\"}.fa-btc:before{content:\"\\f15a\"}.fa-dribbble:before{content:\"\\f17d\"}.fa-stumbleupon-circle:before{content:\"\\f1a3\"}.fa-internet-explorer:before{content:\"\\f26b\"}.fa-stubber:before{content:\"\\e5c7\"}.fa-telegram-plane:before,.fa-telegram:before{content:\"\\f2c6\"}.fa-old-republic:before{content:\"\\f510\"}.fa-odysee:before{content:\"\\e5c6\"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:\"\\f40c\"}.fa-node-js:before{content:\"\\f3d3\"}.fa-edge-legacy:before{content:\"\\e078\"}.fa-slack-hash:before,.fa-slack:before{content:\"\\f198\"}.fa-medrt:before{content:\"\\f3c8\"}.fa-usb:before{content:\"\\f287\"}.fa-tumblr:before{content:\"\\f173\"}.fa-vaadin:before{content:\"\\f408\"}.fa-quora:before{content:\"\\f2c4\"}.fa-reacteurope:before{content:\"\\f75d\"}.fa-medium-m:before,.fa-medium:before{content:\"\\f23a\"}.fa-amilia:before{content:\"\\f36d\"}.fa-mixcloud:before{content:\"\\f289\"}.fa-flipboard:before{content:\"\\f44d\"}.fa-viacoin:before{content:\"\\f237\"}.fa-critical-role:before{content:\"\\f6c9\"}.fa-sitrox:before{content:\"\\e44a\"}.fa-discourse:before{content:\"\\f393\"}.fa-joomla:before{content:\"\\f1aa\"}.fa-mastodon:before{content:\"\\f4f6\"}.fa-airbnb:before{content:\"\\f834\"}.fa-wolf-pack-battalion:before{content:\"\\f514\"}.fa-buy-n-large:before{content:\"\\f8a6\"}.fa-gulp:before{content:\"\\f3ae\"}.fa-creative-commons-sampling-plus:before{content:\"\\f4f1\"}.fa-strava:before{content:\"\\f428\"}.fa-ember:before{content:\"\\f423\"}.fa-canadian-maple-leaf:before{content:\"\\f785\"}.fa-teamspeak:before{content:\"\\f4f9\"}.fa-pushed:before{content:\"\\f3e1\"}.fa-wordpress-simple:before{content:\"\\f411\"}.fa-nutritionix:before{content:\"\\f3d6\"}.fa-wodu:before{content:\"\\e088\"}.fa-google-pay:before{content:\"\\e079\"}.fa-intercom:before{content:\"\\f7af\"}.fa-zhihu:before{content:\"\\f63f\"}.fa-korvue:before{content:\"\\f42f\"}.fa-pix:before{content:\"\\e43a\"}.fa-steam-symbol:before{content:\"\\f3f6\"}:host,:root{--fa-font-regular:normal 400 1em/1 \"Font Awesome 6 Free\"}@font-face{font-family:\"Font Awesome 6 Free\";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format(\"woff2\"),url(../webfonts/fa-regular-400.ttf) format(\"truetype\")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:\"Font Awesome 6 Free\";--fa-font-solid:normal 900 1em/1 \"Font Awesome 6 Free\"}@font-face{font-family:\"Font Awesome 6 Free\";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format(\"woff2\"),url(../webfonts/fa-solid-900.ttf) format(\"truetype\")}.fa-solid,.fas{font-weight:900}@font-face{font-family:\"Font Awesome 5 Brands\";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format(\"woff2\"),url(../webfonts/fa-brands-400.ttf) format(\"truetype\")}@font-face{font-family:\"Font Awesome 5 Free\";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format(\"woff2\"),url(../webfonts/fa-solid-900.ttf) format(\"truetype\")}@font-face{font-family:\"Font Awesome 5 Free\";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format(\"woff2\"),url(../webfonts/fa-regular-400.ttf) format(\"truetype\")}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format(\"woff2\"),url(../webfonts/fa-solid-900.ttf) format(\"truetype\")}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format(\"woff2\"),url(../webfonts/fa-brands-400.ttf) format(\"truetype\")}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format(\"woff2\"),url(../webfonts/fa-regular-400.ttf) format(\"truetype\");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format(\"woff2\"),url(../webfonts/fa-v4compatibility.ttf) format(\"truetype\");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}"}],"authorContributionMap":{"jingting1412":9}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/glyphicons/css/bootstrap-glyphicons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" * Bootstrap v3.3.7 (http://getbootstrap.com)"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" * Copyright 2011-2016 Twitter, Inc."},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" */"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"/*!"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id\u003d76290a4e23bf2c3f61a4e17625be4627)"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" * Config saved to config.json and https://gist.github.com/76290a4e23bf2c3f61a4e17625be4627"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" */"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"/*!"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" * Bootstrap v3.3.7 (http://getbootstrap.com)"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" * Copyright 2011-2016 Twitter, Inc."},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" */"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":"/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":"@font-face{font-family:\u0027Glyphicons Halflings\u0027;src:url(../fonts/glyphicons-halflings-regular.eot);src:url(\u0027../fonts/glyphicons-halflings-regular.eot?#iefix\u0027) format(\u0027embedded-opentype\u0027),url(../fonts/glyphicons-halflings-regular.woff2) format(\u0027woff2\u0027),url(../fonts/glyphicons-halflings-regular.woff) format(\u0027woff\u0027),url(../fonts/glyphicons-halflings-regular.ttf) format(\u0027truetype\u0027),url(\u0027../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\u0027) format(\u0027svg\u0027)}.glyphicon{position:relative;top:1px;display:inline-block;font-family:\u0027Glyphicons Halflings\u0027;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:\"\\002a\"}.glyphicon-plus:before{content:\"\\002b\"}.glyphicon-euro:before,.glyphicon-eur:before{content:\"\\20ac\"}.glyphicon-minus:before{content:\"\\2212\"}.glyphicon-cloud:before{content:\"\\2601\"}.glyphicon-envelope:before{content:\"\\2709\"}.glyphicon-pencil:before{content:\"\\270f\"}.glyphicon-glass:before{content:\"\\e001\"}.glyphicon-music:before{content:\"\\e002\"}.glyphicon-search:before{content:\"\\e003\"}.glyphicon-heart:before{content:\"\\e005\"}.glyphicon-star:before{content:\"\\e006\"}.glyphicon-star-empty:before{content:\"\\e007\"}.glyphicon-user:before{content:\"\\e008\"}.glyphicon-film:before{content:\"\\e009\"}.glyphicon-th-large:before{content:\"\\e010\"}.glyphicon-th:before{content:\"\\e011\"}.glyphicon-th-list:before{content:\"\\e012\"}.glyphicon-ok:before{content:\"\\e013\"}.glyphicon-remove:before{content:\"\\e014\"}.glyphicon-zoom-in:before{content:\"\\e015\"}.glyphicon-zoom-out:before{content:\"\\e016\"}.glyphicon-off:before{content:\"\\e017\"}.glyphicon-signal:before{content:\"\\e018\"}.glyphicon-cog:before{content:\"\\e019\"}.glyphicon-trash:before{content:\"\\e020\"}.glyphicon-home:before{content:\"\\e021\"}.glyphicon-file:before{content:\"\\e022\"}.glyphicon-time:before{content:\"\\e023\"}.glyphicon-road:before{content:\"\\e024\"}.glyphicon-download-alt:before{content:\"\\e025\"}.glyphicon-download:before{content:\"\\e026\"}.glyphicon-upload:before{content:\"\\e027\"}.glyphicon-inbox:before{content:\"\\e028\"}.glyphicon-play-circle:before{content:\"\\e029\"}.glyphicon-repeat:before{content:\"\\e030\"}.glyphicon-refresh:before{content:\"\\e031\"}.glyphicon-list-alt:before{content:\"\\e032\"}.glyphicon-lock:before{content:\"\\e033\"}.glyphicon-flag:before{content:\"\\e034\"}.glyphicon-headphones:before{content:\"\\e035\"}.glyphicon-volume-off:before{content:\"\\e036\"}.glyphicon-volume-down:before{content:\"\\e037\"}.glyphicon-volume-up:before{content:\"\\e038\"}.glyphicon-qrcode:before{content:\"\\e039\"}.glyphicon-barcode:before{content:\"\\e040\"}.glyphicon-tag:before{content:\"\\e041\"}.glyphicon-tags:before{content:\"\\e042\"}.glyphicon-book:before{content:\"\\e043\"}.glyphicon-bookmark:before{content:\"\\e044\"}.glyphicon-print:before{content:\"\\e045\"}.glyphicon-camera:before{content:\"\\e046\"}.glyphicon-font:before{content:\"\\e047\"}.glyphicon-bold:before{content:\"\\e048\"}.glyphicon-italic:before{content:\"\\e049\"}.glyphicon-text-height:before{content:\"\\e050\"}.glyphicon-text-width:before{content:\"\\e051\"}.glyphicon-align-left:before{content:\"\\e052\"}.glyphicon-align-center:before{content:\"\\e053\"}.glyphicon-align-right:before{content:\"\\e054\"}.glyphicon-align-justify:before{content:\"\\e055\"}.glyphicon-list:before{content:\"\\e056\"}.glyphicon-indent-left:before{content:\"\\e057\"}.glyphicon-indent-right:before{content:\"\\e058\"}.glyphicon-facetime-video:before{content:\"\\e059\"}.glyphicon-picture:before{content:\"\\e060\"}.glyphicon-map-marker:before{content:\"\\e062\"}.glyphicon-adjust:before{content:\"\\e063\"}.glyphicon-tint:before{content:\"\\e064\"}.glyphicon-edit:before{content:\"\\e065\"}.glyphicon-share:before{content:\"\\e066\"}.glyphicon-check:before{content:\"\\e067\"}.glyphicon-move:before{content:\"\\e068\"}.glyphicon-step-backward:before{content:\"\\e069\"}.glyphicon-fast-backward:before{content:\"\\e070\"}.glyphicon-backward:before{content:\"\\e071\"}.glyphicon-play:before{content:\"\\e072\"}.glyphicon-pause:before{content:\"\\e073\"}.glyphicon-stop:before{content:\"\\e074\"}.glyphicon-forward:before{content:\"\\e075\"}.glyphicon-fast-forward:before{content:\"\\e076\"}.glyphicon-step-forward:before{content:\"\\e077\"}.glyphicon-eject:before{content:\"\\e078\"}.glyphicon-chevron-left:before{content:\"\\e079\"}.glyphicon-chevron-right:before{content:\"\\e080\"}.glyphicon-plus-sign:before{content:\"\\e081\"}.glyphicon-minus-sign:before{content:\"\\e082\"}.glyphicon-remove-sign:before{content:\"\\e083\"}.glyphicon-ok-sign:before{content:\"\\e084\"}.glyphicon-question-sign:before{content:\"\\e085\"}.glyphicon-info-sign:before{content:\"\\e086\"}.glyphicon-screenshot:before{content:\"\\e087\"}.glyphicon-remove-circle:before{content:\"\\e088\"}.glyphicon-ok-circle:before{content:\"\\e089\"}.glyphicon-ban-circle:before{content:\"\\e090\"}.glyphicon-arrow-left:before{content:\"\\e091\"}.glyphicon-arrow-right:before{content:\"\\e092\"}.glyphicon-arrow-up:before{content:\"\\e093\"}.glyphicon-arrow-down:before{content:\"\\e094\"}.glyphicon-share-alt:before{content:\"\\e095\"}.glyphicon-resize-full:before{content:\"\\e096\"}.glyphicon-resize-small:before{content:\"\\e097\"}.glyphicon-exclamation-sign:before{content:\"\\e101\"}.glyphicon-gift:before{content:\"\\e102\"}.glyphicon-leaf:before{content:\"\\e103\"}.glyphicon-fire:before{content:\"\\e104\"}.glyphicon-eye-open:before{content:\"\\e105\"}.glyphicon-eye-close:before{content:\"\\e106\"}.glyphicon-warning-sign:before{content:\"\\e107\"}.glyphicon-plane:before{content:\"\\e108\"}.glyphicon-calendar:before{content:\"\\e109\"}.glyphicon-random:before{content:\"\\e110\"}.glyphicon-comment:before{content:\"\\e111\"}.glyphicon-magnet:before{content:\"\\e112\"}.glyphicon-chevron-up:before{content:\"\\e113\"}.glyphicon-chevron-down:before{content:\"\\e114\"}.glyphicon-retweet:before{content:\"\\e115\"}.glyphicon-shopping-cart:before{content:\"\\e116\"}.glyphicon-folder-close:before{content:\"\\e117\"}.glyphicon-folder-open:before{content:\"\\e118\"}.glyphicon-resize-vertical:before{content:\"\\e119\"}.glyphicon-resize-horizontal:before{content:\"\\e120\"}.glyphicon-hdd:before{content:\"\\e121\"}.glyphicon-bullhorn:before{content:\"\\e122\"}.glyphicon-bell:before{content:\"\\e123\"}.glyphicon-certificate:before{content:\"\\e124\"}.glyphicon-thumbs-up:before{content:\"\\e125\"}.glyphicon-thumbs-down:before{content:\"\\e126\"}.glyphicon-hand-right:before{content:\"\\e127\"}.glyphicon-hand-left:before{content:\"\\e128\"}.glyphicon-hand-up:before{content:\"\\e129\"}.glyphicon-hand-down:before{content:\"\\e130\"}.glyphicon-circle-arrow-right:before{content:\"\\e131\"}.glyphicon-circle-arrow-left:before{content:\"\\e132\"}.glyphicon-circle-arrow-up:before{content:\"\\e133\"}.glyphicon-circle-arrow-down:before{content:\"\\e134\"}.glyphicon-globe:before{content:\"\\e135\"}.glyphicon-wrench:before{content:\"\\e136\"}.glyphicon-tasks:before{content:\"\\e137\"}.glyphicon-filter:before{content:\"\\e138\"}.glyphicon-briefcase:before{content:\"\\e139\"}.glyphicon-fullscreen:before{content:\"\\e140\"}.glyphicon-dashboard:before{content:\"\\e141\"}.glyphicon-paperclip:before{content:\"\\e142\"}.glyphicon-heart-empty:before{content:\"\\e143\"}.glyphicon-link:before{content:\"\\e144\"}.glyphicon-phone:before{content:\"\\e145\"}.glyphicon-pushpin:before{content:\"\\e146\"}.glyphicon-usd:before{content:\"\\e148\"}.glyphicon-gbp:before{content:\"\\e149\"}.glyphicon-sort:before{content:\"\\e150\"}.glyphicon-sort-by-alphabet:before{content:\"\\e151\"}.glyphicon-sort-by-alphabet-alt:before{content:\"\\e152\"}.glyphicon-sort-by-order:before{content:\"\\e153\"}.glyphicon-sort-by-order-alt:before{content:\"\\e154\"}.glyphicon-sort-by-attributes:before{content:\"\\e155\"}.glyphicon-sort-by-attributes-alt:before{content:\"\\e156\"}.glyphicon-unchecked:before{content:\"\\e157\"}.glyphicon-expand:before{content:\"\\e158\"}.glyphicon-collapse-down:before{content:\"\\e159\"}.glyphicon-collapse-up:before{content:\"\\e160\"}.glyphicon-log-in:before{content:\"\\e161\"}.glyphicon-flash:before{content:\"\\e162\"}.glyphicon-log-out:before{content:\"\\e163\"}.glyphicon-new-window:before{content:\"\\e164\"}.glyphicon-record:before{content:\"\\e165\"}.glyphicon-save:before{content:\"\\e166\"}.glyphicon-open:before{content:\"\\e167\"}.glyphicon-saved:before{content:\"\\e168\"}.glyphicon-import:before{content:\"\\e169\"}.glyphicon-export:before{content:\"\\e170\"}.glyphicon-send:before{content:\"\\e171\"}.glyphicon-floppy-disk:before{content:\"\\e172\"}.glyphicon-floppy-saved:before{content:\"\\e173\"}.glyphicon-floppy-remove:before{content:\"\\e174\"}.glyphicon-floppy-save:before{content:\"\\e175\"}.glyphicon-floppy-open:before{content:\"\\e176\"}.glyphicon-credit-card:before{content:\"\\e177\"}.glyphicon-transfer:before{content:\"\\e178\"}.glyphicon-cutlery:before{content:\"\\e179\"}.glyphicon-header:before{content:\"\\e180\"}.glyphicon-compressed:before{content:\"\\e181\"}.glyphicon-earphone:before{content:\"\\e182\"}.glyphicon-phone-alt:before{content:\"\\e183\"}.glyphicon-tower:before{content:\"\\e184\"}.glyphicon-stats:before{content:\"\\e185\"}.glyphicon-sd-video:before{content:\"\\e186\"}.glyphicon-hd-video:before{content:\"\\e187\"}.glyphicon-subtitles:before{content:\"\\e188\"}.glyphicon-sound-stereo:before{content:\"\\e189\"}.glyphicon-sound-dolby:before{content:\"\\e190\"}.glyphicon-sound-5-1:before{content:\"\\e191\"}.glyphicon-sound-6-1:before{content:\"\\e192\"}.glyphicon-sound-7-1:before{content:\"\\e193\"}.glyphicon-copyright-mark:before{content:\"\\e194\"}.glyphicon-registration-mark:before{content:\"\\e195\"}.glyphicon-cloud-download:before{content:\"\\e197\"}.glyphicon-cloud-upload:before{content:\"\\e198\"}.glyphicon-tree-conifer:before{content:\"\\e199\"}.glyphicon-tree-deciduous:before{content:\"\\e200\"}.glyphicon-cd:before{content:\"\\e201\"}.glyphicon-save-file:before{content:\"\\e202\"}.glyphicon-open-file:before{content:\"\\e203\"}.glyphicon-level-up:before{content:\"\\e204\"}.glyphicon-copy:before{content:\"\\e205\"}.glyphicon-paste:before{content:\"\\e206\"}.glyphicon-alert:before{content:\"\\e209\"}.glyphicon-equalizer:before{content:\"\\e210\"}.glyphicon-king:before{content:\"\\e211\"}.glyphicon-queen:before{content:\"\\e212\"}.glyphicon-pawn:before{content:\"\\e213\"}.glyphicon-bishop:before{content:\"\\e214\"}.glyphicon-knight:before{content:\"\\e215\"}.glyphicon-baby-formula:before{content:\"\\e216\"}.glyphicon-tent:before{content:\"\\26fa\"}.glyphicon-blackboard:before{content:\"\\e218\"}.glyphicon-bed:before{content:\"\\e219\"}.glyphicon-apple:before{content:\"\\f8ff\"}.glyphicon-erase:before{content:\"\\e221\"}.glyphicon-hourglass:before{content:\"\\231b\"}.glyphicon-lamp:before{content:\"\\e223\"}.glyphicon-duplicate:before{content:\"\\e224\"}.glyphicon-piggy-bank:before{content:\"\\e225\"}.glyphicon-scissors:before{content:\"\\e226\"}.glyphicon-bitcoin:before{content:\"\\e227\"}.glyphicon-btc:before{content:\"\\e227\"}.glyphicon-xbt:before{content:\"\\e227\"}.glyphicon-yen:before{content:\"\\00a5\"}.glyphicon-jpy:before{content:\"\\00a5\"}.glyphicon-ruble:before{content:\"\\20bd\"}.glyphicon-rub:before{content:\"\\20bd\"}.glyphicon-scale:before{content:\"\\e230\"}.glyphicon-ice-lolly:before{content:\"\\e231\"}.glyphicon-ice-lolly-tasted:before{content:\"\\e232\"}.glyphicon-education:before{content:\"\\e233\"}.glyphicon-option-horizontal:before{content:\"\\e234\"}.glyphicon-option-vertical:before{content:\"\\e235\"}.glyphicon-menu-hamburger:before{content:\"\\e236\"}.glyphicon-modal-window:before{content:\"\\e237\"}.glyphicon-oil:before{content:\"\\e238\"}.glyphicon-grain:before{content:\"\\e239\"}.glyphicon-sunglasses:before{content:\"\\e240\"}.glyphicon-text-size:before{content:\"\\e241\"}.glyphicon-text-color:before{content:\"\\e242\"}.glyphicon-text-background:before{content:\"\\e243\"}.glyphicon-object-align-top:before{content:\"\\e244\"}.glyphicon-object-align-bottom:before{content:\"\\e245\"}.glyphicon-object-align-horizontal:before{content:\"\\e246\"}.glyphicon-object-align-left:before{content:\"\\e247\"}.glyphicon-object-align-vertical:before{content:\"\\e248\"}.glyphicon-object-align-right:before{content:\"\\e249\"}.glyphicon-triangle-right:before{content:\"\\e250\"}.glyphicon-triangle-left:before{content:\"\\e251\"}.glyphicon-triangle-bottom:before{content:\"\\e252\"}.glyphicon-triangle-top:before{content:\"\\e253\"}.glyphicon-console:before{content:\"\\e254\"}.glyphicon-superscript:before{content:\"\\e255\"}.glyphicon-subscript:before{content:\"\\e256\"}.glyphicon-menu-left:before{content:\"\\e257\"}.glyphicon-menu-right:before{content:\"\\e258\"}.glyphicon-menu-down:before{content:\"\\e259\"}.glyphicon-menu-up:before{content:\"\\e260\"}"}],"authorContributionMap":{"jingting1412":17}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/js/bootstrap-utility.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" * Bootstrap v5.1.3 (https://getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" */"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"!function(t,e){\"object\"\u003d\u003dtypeof exports\u0026\u0026\"undefined\"!\u003dtypeof module?module.exports\u003de():\"function\"\u003d\u003dtypeof define\u0026\u0026define.amd?define(e):(t\u003d\"undefined\"!\u003dtypeof globalThis?globalThis:t||self).bootstrap\u003de()}(this,(function(){\"use strict\";const t\u003d\"transitionend\",e\u003dt\u003d\u003e{let e\u003dt.getAttribute(\"data-bs-target\");if(!e||\"#\"\u003d\u003d\u003de){let i\u003dt.getAttribute(\"href\");if(!i||!i.includes(\"#\")\u0026\u0026!i.startsWith(\".\"))return null;i.includes(\"#\")\u0026\u0026!i.startsWith(\"#\")\u0026\u0026(i\u003d`#${i.split(\"#\")[1]}`),e\u003di\u0026\u0026\"#\"!\u003d\u003di?i.trim():null}return e},i\u003dt\u003d\u003e{const i\u003de(t);return i\u0026\u0026document.querySelector(i)?i:null},n\u003dt\u003d\u003e{const i\u003de(t);return i?document.querySelector(i):null},s\u003de\u003d\u003e{e.dispatchEvent(new Event(t))},o\u003dt\u003d\u003e!(!t||\"object\"!\u003dtypeof t)\u0026\u0026(void 0!\u003d\u003dt.jquery\u0026\u0026(t\u003dt[0]),void 0!\u003d\u003dt.nodeType),r\u003dt\u003d\u003eo(t)?t.jquery?t[0]:t:\"string\"\u003d\u003dtypeof t\u0026\u0026t.length\u003e0?document.querySelector(t):null,a\u003d(t,e,i)\u003d\u003e{Object.keys(i).forEach((n\u003d\u003e{const s\u003di[n],r\u003de[n],a\u003dr\u0026\u0026o(r)?\"element\":null\u003d\u003d(l\u003dr)?`${l}`:{}.toString.call(l).match(/\\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option \"${n}\" provided type \"${a}\" but expected type \"${s}\".`)}))},l\u003dt\u003d\u003e!(!o(t)||0\u003d\u003d\u003dt.getClientRects().length)\u0026\u0026\"visible\"\u003d\u003d\u003dgetComputedStyle(t).getPropertyValue(\"visibility\"),c\u003dt\u003d\u003e!t||t.nodeType!\u003d\u003dNode.ELEMENT_NODE||!!t.classList.contains(\"disabled\")||(void 0!\u003d\u003dt.disabled?t.disabled:t.hasAttribute(\"disabled\")\u0026\u0026\"false\"!\u003d\u003dt.getAttribute(\"disabled\")),h\u003dt\u003d\u003e{if(!document.documentElement.attachShadow)return null;if(\"function\"\u003d\u003dtypeof t.getRootNode){const e\u003dt.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},d\u003d()\u003d\u003e{},u\u003dt\u003d\u003e{t.offsetHeight},f\u003d()\u003d\u003e{const{jQuery:t}\u003dwindow;return t\u0026\u0026!document.body.hasAttribute(\"data-bs-no-jquery\")?t:null},p\u003d[],m\u003d()\u003d\u003e\"rtl\"\u003d\u003d\u003ddocument.documentElement.dir,g\u003dt\u003d\u003e{var e;e\u003d()\u003d\u003e{const e\u003df();if(e){const i\u003dt.NAME,n\u003de.fn[i];e.fn[i]\u003dt.jQueryInterface,e.fn[i].Constructor\u003dt,e.fn[i].noConflict\u003d()\u003d\u003e(e.fn[i]\u003dn,t.jQueryInterface)}},\"loading\"\u003d\u003d\u003ddocument.readyState?(p.length||document.addEventListener(\"DOMContentLoaded\",(()\u003d\u003e{p.forEach((t\u003d\u003et()))})),p.push(e)):e()},_\u003dt\u003d\u003e{\"function\"\u003d\u003dtypeof t\u0026\u0026t()},b\u003d(e,i,n\u003d!0)\u003d\u003e{if(!n)return void _(e);const o\u003d(t\u003d\u003e{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}\u003dwindow.getComputedStyle(t);const n\u003dNumber.parseFloat(e),s\u003dNumber.parseFloat(i);return n||s?(e\u003de.split(\",\")[0],i\u003di.split(\",\")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(i)+5;let r\u003d!1;const a\u003d({target:n})\u003d\u003e{n\u003d\u003d\u003di\u0026\u0026(r\u003d!0,i.removeEventListener(t,a),_(e))};i.addEventListener(t,a),setTimeout((()\u003d\u003e{r||s(i)}),o)},v\u003d(t,e,i,n)\u003d\u003e{let s\u003dt.indexOf(e);if(-1\u003d\u003d\u003ds)return t[!i\u0026\u0026n?t.length-1:0];const o\u003dt.length;return s+\u003di?1:-1,n\u0026\u0026(s\u003d(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},y\u003d/[^.]*(?\u003d\\..*)\\.|.*/,w\u003d/\\..*/,E\u003d/::\\d+$/,A\u003d{};let T\u003d1;const O\u003d{mouseenter:\"mouseover\",mouseleave:\"mouseout\"},C\u003d/^(mouseenter|mouseleave)/i,k\u003dnew Set([\"click\",\"dblclick\",\"mouseup\",\"mousedown\",\"contextmenu\",\"mousewheel\",\"DOMMouseScroll\",\"mouseover\",\"mouseout\",\"mousemove\",\"selectstart\",\"selectend\",\"keydown\",\"keypress\",\"keyup\",\"orientationchange\",\"touchstart\",\"touchmove\",\"touchend\",\"touchcancel\",\"pointerdown\",\"pointermove\",\"pointerup\",\"pointerleave\",\"pointercancel\",\"gesturestart\",\"gesturechange\",\"gestureend\",\"focus\",\"blur\",\"change\",\"reset\",\"select\",\"submit\",\"focusin\",\"focusout\",\"load\",\"unload\",\"beforeunload\",\"resize\",\"move\",\"DOMContentLoaded\",\"readystatechange\",\"error\",\"abort\",\"scroll\"]);function L(t,e){return e\u0026\u0026`${e}::${T++}`||t.uidEvent||T++}function x(t){const e\u003dL(t);return t.uidEvent\u003de,A[e]\u003dA[e]||{},A[e]}function D(t,e,i\u003dnull){const n\u003dObject.keys(t);for(let s\u003d0,o\u003dn.length;s\u003co;s++){const o\u003dt[n[s]];if(o.originalHandler\u003d\u003d\u003de\u0026\u0026o.delegationSelector\u003d\u003d\u003di)return o}return null}function S(t,e,i){const n\u003d\"string\"\u003d\u003dtypeof e,s\u003dn?i:e;let o\u003dP(t);return k.has(o)||(o\u003dt),[n,s,o]}function N(t,e,i,n,s){if(\"string\"!\u003dtypeof e||!t)return;if(i||(i\u003dn,n\u003dnull),C.test(e)){const t\u003dt\u003d\u003efunction(e){if(!e.relatedTarget||e.relatedTarget!\u003d\u003de.delegateTarget\u0026\u0026!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n\u003dt(n):i\u003dt(i)}const[o,r,a]\u003dS(e,i,n),l\u003dx(t),c\u003dl[a]||(l[a]\u003d{}),h\u003dD(c,r,o?i:null);if(h)return void(h.oneOff\u003dh.oneOff\u0026\u0026s);const d\u003dL(r,e.replace(y,\"\")),u\u003do?function(t,e,i){return function n(s){const o\u003dt.querySelectorAll(e);for(let{target:r}\u003ds;r\u0026\u0026r!\u003d\u003dthis;r\u003dr.parentNode)for(let a\u003do.length;a--;)if(o[a]\u003d\u003d\u003dr)return s.delegateTarget\u003dr,n.oneOff\u0026\u0026j.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget\u003dt,i.oneOff\u0026\u0026j.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector\u003do?i:null,u.originalHandler\u003dr,u.oneOff\u003ds,u.uidEvent\u003dd,c[d]\u003du,t.addEventListener(a,u,o)}function I(t,e,i,n,s){const o\u003dD(e[i],n,s);o\u0026\u0026(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function P(t){return t\u003dt.replace(w,\"\"),O[t]||t}const j\u003d{on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if(\"string\"!\u003dtypeof e||!t)return;const[s,o,r]\u003dS(e,i,n),a\u003dr!\u003d\u003de,l\u003dx(t),c\u003de.startsWith(\".\");if(void 0!\u003d\u003do){if(!l||!l[r])return;return void I(t,l,r,o,s?i:null)}c\u0026\u0026Object.keys(l).forEach((i\u003d\u003e{!function(t,e,i,n){const s\u003de[i]||{};Object.keys(s).forEach((o\u003d\u003e{if(o.includes(n)){const n\u003ds[o];I(t,e,i,n.originalHandler,n.delegationSelector)}}))}(t,l,i,e.slice(1))}));const h\u003dl[r]||{};Object.keys(h).forEach((i\u003d\u003e{const n\u003di.replace(E,\"\");if(!a||e.includes(n)){const e\u003dh[i];I(t,l,r,e.originalHandler,e.delegationSelector)}}))},trigger(t,e,i){if(\"string\"!\u003dtypeof e||!t)return null;const n\u003df(),s\u003dP(e),o\u003de!\u003d\u003ds,r\u003dk.has(s);let a,l\u003d!0,c\u003d!0,h\u003d!1,d\u003dnull;return o\u0026\u0026n\u0026\u0026(a\u003dn.Event(e,i),n(t).trigger(a),l\u003d!a.isPropagationStopped(),c\u003d!a.isImmediatePropagationStopped(),h\u003da.isDefaultPrevented()),r?(d\u003ddocument.createEvent(\"HTMLEvents\"),d.initEvent(s,l,!0)):d\u003dnew CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!\u003d\u003di\u0026\u0026Object.keys(i).forEach((t\u003d\u003e{Object.defineProperty(d,t,{get:()\u003d\u003ei[t]})})),h\u0026\u0026d.preventDefault(),c\u0026\u0026t.dispatchEvent(d),d.defaultPrevented\u0026\u0026void 0!\u003d\u003da\u0026\u0026a.preventDefault(),d}},M\u003dnew Map,H\u003d{set(t,e,i){M.has(t)||M.set(t,new Map);const n\u003dM.get(t);n.has(e)||0\u003d\u003d\u003dn.size?n.set(e,i):console.error(`Bootstrap doesn\u0027t allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)\u003d\u003eM.has(t)\u0026\u0026M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i\u003dM.get(t);i.delete(e),0\u003d\u003d\u003di.size\u0026\u0026M.delete(t)}};class B{constructor(t){(t\u003dr(t))\u0026\u0026(this._element\u003dt,H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach((t\u003d\u003e{this[t]\u003dnull}))}_queueCallback(t,e,i\u003d!0){b(t,e,i)}static getInstance(t){return H.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e\u003d{}){return this.getInstance(t)||new this(t,\"object\"\u003d\u003dtypeof e?e:null)}static get VERSION(){return\"5.1.3\"}static get NAME(){throw new Error(\u0027You have to implement the static method \"NAME\", for each component!\u0027)}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const R\u003d(t,e\u003d\"hide\")\u003d\u003e{const i\u003d`click.dismiss${t.EVENT_KEY}`,s\u003dt.NAME;j.on(document,i,`[data-bs-dismiss\u003d\"${s}\"]`,(function(i){if([\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026i.preventDefault(),c(this))return;const o\u003dn(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class W extends B{static get NAME(){return\"alert\"}close(){if(j.trigger(this._element,\"close.bs.alert\").defaultPrevented)return;this._element.classList.remove(\"show\");const t\u003dthis._element.classList.contains(\"fade\");this._queueCallback((()\u003d\u003ethis._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,\"closed.bs.alert\"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e\u003dW.getOrCreateInstance(this);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t]||t.startsWith(\"_\")||\"constructor\"\u003d\u003d\u003dt)throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}R(W,\"close\"),g(W);const $\u003d\u0027[data-bs-toggle\u003d\"button\"]\u0027;class z extends B{static get NAME(){return\"button\"}toggle(){this._element.setAttribute(\"aria-pressed\",this._element.classList.toggle(\"active\"))}static jQueryInterface(t){return this.each((function(){const e\u003dz.getOrCreateInstance(this);\"toggle\"\u003d\u003d\u003dt\u0026\u0026e[t]()}))}}function q(t){return\"true\"\u003d\u003d\u003dt||\"false\"!\u003d\u003dt\u0026\u0026(t\u003d\u003d\u003dNumber(t).toString()?Number(t):\"\"\u003d\u003d\u003dt||\"null\"\u003d\u003d\u003dt?null:t)}function F(t){return t.replace(/[A-Z]/g,(t\u003d\u003e`-${t.toLowerCase()}`))}j.on(document,\"click.bs.button.data-api\",$,(t\u003d\u003e{t.preventDefault();const e\u003dt.target.closest($);z.getOrCreateInstance(e).toggle()})),g(z);const U\u003d{setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e\u003d{};return Object.keys(t.dataset).filter((t\u003d\u003et.startsWith(\"bs\"))).forEach((i\u003d\u003e{let n\u003di.replace(/^bs/,\"\");n\u003dn.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]\u003dq(t.dataset[i])})),e},getDataAttribute:(t,e)\u003d\u003eq(t.getAttribute(`data-bs-${F(e)}`)),offset(t){const e\u003dt.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t\u003d\u003e({top:t.offsetTop,left:t.offsetLeft})},V\u003d{find:(t,e\u003ddocument.documentElement)\u003d\u003e[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e\u003ddocument.documentElement)\u003d\u003eElement.prototype.querySelector.call(e,t),children:(t,e)\u003d\u003e[].concat(...t.children).filter((t\u003d\u003et.matches(e))),parents(t,e){const i\u003d[];let n\u003dt.parentNode;for(;n\u0026\u0026n.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE\u0026\u00263!\u003d\u003dn.nodeType;)n.matches(e)\u0026\u0026i.push(n),n\u003dn.parentNode;return i},prev(t,e){let i\u003dt.previousElementSibling;for(;i;){if(i.matches(e))return[i];i\u003di.previousElementSibling}return[]},next(t,e){let i\u003dt.nextElementSibling;for(;i;){if(i.matches(e))return[i];i\u003di.nextElementSibling}return[]},focusableChildren(t){const e\u003d[\"a\",\"button\",\"input\",\"textarea\",\"select\",\"details\",\"[tabindex]\",\u0027[contenteditable\u003d\"true\"]\u0027].map((t\u003d\u003e`${t}:not([tabindex^\u003d\"-\"])`)).join(\", \");return this.find(e,t).filter((t\u003d\u003e!c(t)\u0026\u0026l(t)))}},K\u003d\"carousel\",X\u003d{interval:5e3,keyboard:!0,slide:!1,pause:\"hover\",wrap:!0,touch:!0},Y\u003d{interval:\"(number|boolean)\",keyboard:\"boolean\",slide:\"(boolean|string)\",pause:\"(string|boolean)\",wrap:\"boolean\",touch:\"boolean\"},Q\u003d\"next\",G\u003d\"prev\",Z\u003d\"left\",J\u003d\"right\",tt\u003d{ArrowLeft:J,ArrowRight:Z},et\u003d\"slid.bs.carousel\",it\u003d\"active\",nt\u003d\".active.carousel-item\";class st extends B{constructor(t,e){super(t),this._items\u003dnull,this._interval\u003dnull,this._activeElement\u003dnull,this._isPaused\u003d!1,this._isSliding\u003d!1,this.touchTimeout\u003dnull,this.touchStartX\u003d0,this.touchDeltaX\u003d0,this._config\u003dthis._getConfig(e),this._indicatorsElement\u003dV.findOne(\".carousel-indicators\",this._element),this._touchSupported\u003d\"ontouchstart\"in document.documentElement||navigator.maxTouchPoints\u003e0,this._pointerEvent\u003dBoolean(window.PointerEvent),this._addEventListeners()}static get Default(){return X}static get NAME(){return K}next(){this._slide(Q)}nextWhenVisible(){!document.hidden\u0026\u0026l(this._element)\u0026\u0026this.next()}prev(){this._slide(G)}pause(t){t||(this._isPaused\u003d!0),V.findOne(\".carousel-item-next, .carousel-item-prev\",this._element)\u0026\u0026(s(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval\u003dnull}cycle(t){t||(this._isPaused\u003d!1),this._interval\u0026\u0026(clearInterval(this._interval),this._interval\u003dnull),this._config\u0026\u0026this._config.interval\u0026\u0026!this._isPaused\u0026\u0026(this._updateInterval(),this._interval\u003dsetInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement\u003dV.findOne(nt,this._element);const e\u003dthis._getItemIndex(this._activeElement);if(t\u003ethis._items.length-1||t\u003c0)return;if(this._isSliding)return void j.one(this._element,et,(()\u003d\u003ethis.to(t)));if(e\u003d\u003d\u003dt)return this.pause(),void this.cycle();const i\u003dt\u003ee?Q:G;this._slide(i,this._items[t])}_getConfig(t){return t\u003d{...X,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t?t:{}},a(K,t,Y),t}_handleSwipe(){const t\u003dMath.abs(this.touchDeltaX);if(t\u003c\u003d40)return;const e\u003dt/this.touchDeltaX;this.touchDeltaX\u003d0,e\u0026\u0026this._slide(e\u003e0?J:Z)}_addEventListeners(){this._config.keyboard\u0026\u0026j.on(this._element,\"keydown.bs.carousel\",(t\u003d\u003ethis._keydown(t))),\"hover\"\u003d\u003d\u003dthis._config.pause\u0026\u0026(j.on(this._element,\"mouseenter.bs.carousel\",(t\u003d\u003ethis.pause(t))),j.on(this._element,\"mouseleave.bs.carousel\",(t\u003d\u003ethis.cycle(t)))),this._config.touch\u0026\u0026this._touchSupported\u0026\u0026this._addTouchEventListeners()}_addTouchEventListeners(){const t\u003dt\u003d\u003ethis._pointerEvent\u0026\u0026(\"pen\"\u003d\u003d\u003dt.pointerType||\"touch\"\u003d\u003d\u003dt.pointerType),e\u003de\u003d\u003e{t(e)?this.touchStartX\u003de.clientX:this._pointerEvent||(this.touchStartX\u003de.touches[0].clientX)},i\u003dt\u003d\u003e{this.touchDeltaX\u003dt.touches\u0026\u0026t.touches.length\u003e1?0:t.touches[0].clientX-this.touchStartX},n\u003de\u003d\u003e{t(e)\u0026\u0026(this.touchDeltaX\u003de.clientX-this.touchStartX),this._handleSwipe(),\"hover\"\u003d\u003d\u003dthis._config.pause\u0026\u0026(this.pause(),this.touchTimeout\u0026\u0026clearTimeout(this.touchTimeout),this.touchTimeout\u003dsetTimeout((t\u003d\u003ethis.cycle(t)),500+this._config.interval))};V.find(\".carousel-item img\",this._element).forEach((t\u003d\u003e{j.on(t,\"dragstart.bs.carousel\",(t\u003d\u003et.preventDefault()))})),this._pointerEvent?(j.on(this._element,\"pointerdown.bs.carousel\",(t\u003d\u003ee(t))),j.on(this._element,\"pointerup.bs.carousel\",(t\u003d\u003en(t))),this._element.classList.add(\"pointer-event\")):(j.on(this._element,\"touchstart.bs.carousel\",(t\u003d\u003ee(t))),j.on(this._element,\"touchmove.bs.carousel\",(t\u003d\u003ei(t))),j.on(this._element,\"touchend.bs.carousel\",(t\u003d\u003en(t))))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e\u003dtt[t.key];e\u0026\u0026(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items\u003dt\u0026\u0026t.parentNode?V.find(\".carousel-item\",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i\u003dt\u003d\u003d\u003dQ;return v(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i\u003dthis._getItemIndex(t),n\u003dthis._getItemIndex(V.findOne(nt,this._element));return j.trigger(this._element,\"slide.bs.carousel\",{relatedTarget:t,direction:e,from:n,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e\u003dV.findOne(\".active\",this._indicatorsElement);e.classList.remove(it),e.removeAttribute(\"aria-current\");const i\u003dV.find(\"[data-bs-target]\",this._indicatorsElement);for(let e\u003d0;e\u003ci.length;e++)if(Number.parseInt(i[e].getAttribute(\"data-bs-slide-to\"),10)\u003d\u003d\u003dthis._getItemIndex(t)){i[e].classList.add(it),i[e].setAttribute(\"aria-current\",\"true\");break}}}_updateInterval(){const t\u003dthis._activeElement||V.findOne(nt,this._element);if(!t)return;const e\u003dNumber.parseInt(t.getAttribute(\"data-bs-interval\"),10);e?(this._config.defaultInterval\u003dthis._config.defaultInterval||this._config.interval,this._config.interval\u003de):this._config.interval\u003dthis._config.defaultInterval||this._config.interval}_slide(t,e){const i\u003dthis._directionToOrder(t),n\u003dV.findOne(nt,this._element),s\u003dthis._getItemIndex(n),o\u003de||this._getItemByOrder(i,n),r\u003dthis._getItemIndex(o),a\u003dBoolean(this._interval),l\u003di\u003d\u003d\u003dQ,c\u003dl?\"carousel-item-start\":\"carousel-item-end\",h\u003dl?\"carousel-item-next\":\"carousel-item-prev\",d\u003dthis._orderToDirection(i);if(o\u0026\u0026o.classList.contains(it))return void(this._isSliding\u003d!1);if(this._isSliding)return;if(this._triggerSlideEvent(o,d).defaultPrevented)return;if(!n||!o)return;this._isSliding\u003d!0,a\u0026\u0026this.pause(),this._setActiveIndicatorElement(o),this._activeElement\u003do;const f\u003d()\u003d\u003e{j.trigger(this._element,et,{relatedTarget:o,direction:d,from:s,to:r})};if(this._element.classList.contains(\"slide\")){o.classList.add(h),u(o),n.classList.add(c),o.classList.add(c);const t\u003d()\u003d\u003e{o.classList.remove(c,h),o.classList.add(it),n.classList.remove(it,h,c),this._isSliding\u003d!1,setTimeout(f,0)};this._queueCallback(t,n,!0)}else n.classList.remove(it),o.classList.add(it),this._isSliding\u003d!1,f();a\u0026\u0026this.cycle()}_directionToOrder(t){return[J,Z].includes(t)?m()?t\u003d\u003d\u003dZ?G:Q:t\u003d\u003d\u003dZ?Q:G:t}_orderToDirection(t){return[Q,G].includes(t)?m()?t\u003d\u003d\u003dG?Z:J:t\u003d\u003d\u003dG?J:Z:t}static carouselInterface(t,e){const i\u003dst.getOrCreateInstance(t,e);let{_config:n}\u003di;\"object\"\u003d\u003dtypeof e\u0026\u0026(n\u003d{...n,...e});const s\u003d\"string\"\u003d\u003dtypeof e?e:n.slide;if(\"number\"\u003d\u003dtypeof e)i.to(e);else if(\"string\"\u003d\u003dtypeof s){if(void 0\u003d\u003d\u003di[s])throw new TypeError(`No method named \"${s}\"`);i[s]()}else n.interval\u0026\u0026n.ride\u0026\u0026(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){st.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e\u003dn(this);if(!e||!e.classList.contains(\"carousel\"))return;const i\u003d{...U.getDataAttributes(e),...U.getDataAttributes(this)},s\u003dthis.getAttribute(\"data-bs-slide-to\");s\u0026\u0026(i.interval\u003d!1),st.carouselInterface(e,i),s\u0026\u0026st.getInstance(e).to(s),t.preventDefault()}}j.on(document,\"click.bs.carousel.data-api\",\"[data-bs-slide], [data-bs-slide-to]\",st.dataApiClickHandler),j.on(window,\"load.bs.carousel.data-api\",(()\u003d\u003e{const t\u003dV.find(\u0027[data-bs-ride\u003d\"carousel\"]\u0027);for(let e\u003d0,i\u003dt.length;e\u003ci;e++)st.carouselInterface(t[e],st.getInstance(t[e]))})),g(st);const ot\u003d\"collapse\",rt\u003d{toggle:!0,parent:null},at\u003d{toggle:\"boolean\",parent:\"(null|element)\"},lt\u003d\"show\",ct\u003d\"collapse\",ht\u003d\"collapsing\",dt\u003d\"collapsed\",ut\u003d\":scope .collapse .collapse\",ft\u003d\u0027[data-bs-toggle\u003d\"collapse\"]\u0027;class pt extends B{constructor(t,e){super(t),this._isTransitioning\u003d!1,this._config\u003dthis._getConfig(e),this._triggerArray\u003d[];const n\u003dV.find(ft);for(let t\u003d0,e\u003dn.length;t\u003ce;t++){const e\u003dn[t],s\u003di(e),o\u003dV.find(s).filter((t\u003d\u003et\u003d\u003d\u003dthis._element));null!\u003d\u003ds\u0026\u0026o.length\u0026\u0026(this._selector\u003ds,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle\u0026\u0026this.toggle()}static get Default(){return rt}static get NAME(){return ot}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e\u003d[];if(this._config.parent){const t\u003dV.find(ut,this._config.parent);e\u003dV.find(\".collapse.show, .collapse.collapsing\",this._config.parent).filter((e\u003d\u003e!t.includes(e)))}const i\u003dV.findOne(this._selector);if(e.length){const n\u003de.find((t\u003d\u003ei!\u003d\u003dt));if(t\u003dn?pt.getInstance(n):null,t\u0026\u0026t._isTransitioning)return}if(j.trigger(this._element,\"show.bs.collapse\").defaultPrevented)return;e.forEach((e\u003d\u003e{i!\u003d\u003de\u0026\u0026pt.getOrCreateInstance(e,{toggle:!1}).hide(),t||H.set(e,\"bs.collapse\",null)}));const n\u003dthis._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[n]\u003d0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning\u003d!0;const s\u003d`scroll${n[0].toUpperCase()+n.slice(1)}`;this._queueCallback((()\u003d\u003e{this._isTransitioning\u003d!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[n]\u003d\"\",j.trigger(this._element,\"shown.bs.collapse\")}),this._element,!0),this._element.style[n]\u003d`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,\"hide.bs.collapse\").defaultPrevented)return;const t\u003dthis._getDimension();this._element.style[t]\u003d`${this._element.getBoundingClientRect()[t]}px`,u(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);const e\u003dthis._triggerArray.length;for(let t\u003d0;t\u003ce;t++){const e\u003dthis._triggerArray[t],i\u003dn(e);i\u0026\u0026!this._isShown(i)\u0026\u0026this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning\u003d!0,this._element.style[t]\u003d\"\",this._queueCallback((()\u003d\u003e{this._isTransitioning\u003d!1,this._element.classList.remove(ht),this._element.classList.add(ct),j.trigger(this._element,\"hidden.bs.collapse\")}),this._element,!0)}_isShown(t\u003dthis._element){return t.classList.contains(lt)}_getConfig(t){return(t\u003d{...rt,...U.getDataAttributes(this._element),...t}).toggle\u003dBoolean(t.toggle),t.parent\u003dr(t.parent),a(ot,t,at),t}_getDimension(){return this._element.classList.contains(\"collapse-horizontal\")?\"width\":\"height\"}_initializeChildren(){if(!this._config.parent)return;const t\u003dV.find(ut,this._config.parent);V.find(ft,this._config.parent).filter((e\u003d\u003e!t.includes(e))).forEach((t\u003d\u003e{const e\u003dn(t);e\u0026\u0026this._addAriaAndCollapsedClass([t],this._isShown(e))}))}_addAriaAndCollapsedClass(t,e){t.length\u0026\u0026t.forEach((t\u003d\u003e{e?t.classList.remove(dt):t.classList.add(dt),t.setAttribute(\"aria-expanded\",e)}))}static jQueryInterface(t){return this.each((function(){const e\u003d{};\"string\"\u003d\u003dtypeof t\u0026\u0026/show|hide/.test(t)\u0026\u0026(e.toggle\u003d!1);const i\u003dpt.getOrCreateInstance(this,e);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003di[t])throw new TypeError(`No method named \"${t}\"`);i[t]()}}))}}j.on(document,\"click.bs.collapse.data-api\",ft,(function(t){(\"A\"\u003d\u003d\u003dt.target.tagName||t.delegateTarget\u0026\u0026\"A\"\u003d\u003d\u003dt.delegateTarget.tagName)\u0026\u0026t.preventDefault();const e\u003di(this);V.find(e).forEach((t\u003d\u003e{pt.getOrCreateInstance(t,{toggle:!1}).toggle()}))})),g(pt);var mt\u003d\"top\",gt\u003d\"bottom\",_t\u003d\"right\",bt\u003d\"left\",vt\u003d\"auto\",yt\u003d[mt,gt,_t,bt],wt\u003d\"start\",Et\u003d\"end\",At\u003d\"clippingParents\",Tt\u003d\"viewport\",Ot\u003d\"popper\",Ct\u003d\"reference\",kt\u003dyt.reduce((function(t,e){return t.concat([e+\"-\"+wt,e+\"-\"+Et])}),[]),Lt\u003d[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+\"-\"+wt,e+\"-\"+Et])}),[]),xt\u003d\"beforeRead\",Dt\u003d\"read\",St\u003d\"afterRead\",Nt\u003d\"beforeMain\",It\u003d\"main\",Pt\u003d\"afterMain\",jt\u003d\"beforeWrite\",Mt\u003d\"write\",Ht\u003d\"afterWrite\",Bt\u003d[xt,Dt,St,Nt,It,Pt,jt,Mt,Ht];function Rt(t){return t?(t.nodeName||\"\").toLowerCase():null}function Wt(t){if(null\u003d\u003dt)return window;if(\"[object Window]\"!\u003d\u003dt.toString()){var e\u003dt.ownerDocument;return e\u0026\u0026e.defaultView||window}return t}function $t(t){return t instanceof Wt(t).Element||t instanceof Element}function zt(t){return t instanceof Wt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return\"undefined\"!\u003dtypeof ShadowRoot\u0026\u0026(t instanceof Wt(t).ShadowRoot||t instanceof ShadowRoot)}const Ft\u003d{name:\"applyStyles\",enabled:!0,phase:\"write\",fn:function(t){var e\u003dt.state;Object.keys(e.elements).forEach((function(t){var i\u003de.styles[t]||{},n\u003de.attributes[t]||{},s\u003de.elements[t];zt(s)\u0026\u0026Rt(s)\u0026\u0026(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e\u003dn[t];!1\u003d\u003d\u003de?s.removeAttribute(t):s.setAttribute(t,!0\u003d\u003d\u003de?\"\":e)})))}))},effect:function(t){var e\u003dt.state,i\u003d{popper:{position:e.options.strategy,left:\"0\",top:\"0\",margin:\"0\"},arrow:{position:\"absolute\"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles\u003di,e.elements.arrow\u0026\u0026Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n\u003de.elements[t],s\u003de.attributes[t]||{},o\u003dObject.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]\u003d\"\",t}),{});zt(n)\u0026\u0026Rt(n)\u0026\u0026(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:[\"computeStyles\"]};function Ut(t){return t.split(\"-\")[0]}function Vt(t,e){var i\u003dt.getBoundingClientRect();return{width:i.width/1,height:i.height/1,top:i.top/1,right:i.right/1,bottom:i.bottom/1,left:i.left/1,x:i.left/1,y:i.top/1}}function Kt(t){var e\u003dVt(t),i\u003dt.offsetWidth,n\u003dt.offsetHeight;return Math.abs(e.width-i)\u003c\u003d1\u0026\u0026(i\u003de.width),Math.abs(e.height-n)\u003c\u003d1\u0026\u0026(n\u003de.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Xt(t,e){var i\u003de.getRootNode\u0026\u0026e.getRootNode();if(t.contains(e))return!0;if(i\u0026\u0026qt(i)){var n\u003de;do{if(n\u0026\u0026t.isSameNode(n))return!0;n\u003dn.parentNode||n.host}while(n)}return!1}function Yt(t){return Wt(t).getComputedStyle(t)}function Qt(t){return[\"table\",\"td\",\"th\"].indexOf(Rt(t))\u003e\u003d0}function Gt(t){return(($t(t)?t.ownerDocument:t.document)||window.document).documentElement}function Zt(t){return\"html\"\u003d\u003d\u003dRt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||Gt(t)}function Jt(t){return zt(t)\u0026\u0026\"fixed\"!\u003d\u003dYt(t).position?t.offsetParent:null}function te(t){for(var e\u003dWt(t),i\u003dJt(t);i\u0026\u0026Qt(i)\u0026\u0026\"static\"\u003d\u003d\u003dYt(i).position;)i\u003dJt(i);return i\u0026\u0026(\"html\"\u003d\u003d\u003dRt(i)||\"body\"\u003d\u003d\u003dRt(i)\u0026\u0026\"static\"\u003d\u003d\u003dYt(i).position)?e:i||function(t){var e\u003d-1!\u003d\u003dnavigator.userAgent.toLowerCase().indexOf(\"firefox\");if(-1!\u003d\u003dnavigator.userAgent.indexOf(\"Trident\")\u0026\u0026zt(t)\u0026\u0026\"fixed\"\u003d\u003d\u003dYt(t).position)return null;for(var i\u003dZt(t);zt(i)\u0026\u0026[\"html\",\"body\"].indexOf(Rt(i))\u003c0;){var n\u003dYt(i);if(\"none\"!\u003d\u003dn.transform||\"none\"!\u003d\u003dn.perspective||\"paint\"\u003d\u003d\u003dn.contain||-1!\u003d\u003d[\"transform\",\"perspective\"].indexOf(n.willChange)||e\u0026\u0026\"filter\"\u003d\u003d\u003dn.willChange||e\u0026\u0026n.filter\u0026\u0026\"none\"!\u003d\u003dn.filter)return i;i\u003di.parentNode}return null}(t)||e}function ee(t){return[\"top\",\"bottom\"].indexOf(t)\u003e\u003d0?\"x\":\"y\"}var ie\u003dMath.max,ne\u003dMath.min,se\u003dMath.round;function oe(t,e,i){return ie(t,ne(e,i))}function re(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ae(t,e){return e.reduce((function(e,i){return e[i]\u003dt,e}),{})}const le\u003d{name:\"arrow\",enabled:!0,phase:\"main\",fn:function(t){var e,i\u003dt.state,n\u003dt.name,s\u003dt.options,o\u003di.elements.arrow,r\u003di.modifiersData.popperOffsets,a\u003dUt(i.placement),l\u003dee(a),c\u003d[bt,_t].indexOf(a)\u003e\u003d0?\"height\":\"width\";if(o\u0026\u0026r){var h\u003dfunction(t,e){return re(\"number\"!\u003dtypeof(t\u003d\"function\"\u003d\u003dtypeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ae(t,yt))}(s.padding,i),d\u003dKt(o),u\u003d\"y\"\u003d\u003d\u003dl?mt:bt,f\u003d\"y\"\u003d\u003d\u003dl?gt:_t,p\u003di.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m\u003dr[l]-i.rects.reference[l],g\u003dte(o),_\u003dg?\"y\"\u003d\u003d\u003dl?g.clientHeight||0:g.clientWidth||0:0,b\u003dp/2-m/2,v\u003dh[u],y\u003d_-d[c]-h[f],w\u003d_/2-d[c]/2+b,E\u003doe(v,w,y),A\u003dl;i.modifiersData[n]\u003d((e\u003d{})[A]\u003dE,e.centerOffset\u003dE-w,e)}},effect:function(t){var e\u003dt.state,i\u003dt.options.element,n\u003dvoid 0\u003d\u003d\u003di?\"[data-popper-arrow]\":i;null!\u003dn\u0026\u0026(\"string\"!\u003dtypeof n||(n\u003de.elements.popper.querySelector(n)))\u0026\u0026Xt(e.elements.popper,n)\u0026\u0026(e.elements.arrow\u003dn)},requires:[\"popperOffsets\"],requiresIfExists:[\"preventOverflow\"]};function ce(t){return t.split(\"-\")[1]}var he\u003d{top:\"auto\",right:\"auto\",bottom:\"auto\",left:\"auto\"};function de(t){var e,i\u003dt.popper,n\u003dt.popperRect,s\u003dt.placement,o\u003dt.variation,r\u003dt.offsets,a\u003dt.position,l\u003dt.gpuAcceleration,c\u003dt.adaptive,h\u003dt.roundOffsets,d\u003d!0\u003d\u003d\u003dh?function(t){var e\u003dt.x,i\u003dt.y,n\u003dwindow.devicePixelRatio||1;return{x:se(se(e*n)/n)||0,y:se(se(i*n)/n)||0}}(r):\"function\"\u003d\u003dtypeof h?h(r):r,u\u003dd.x,f\u003dvoid 0\u003d\u003d\u003du?0:u,p\u003dd.y,m\u003dvoid 0\u003d\u003d\u003dp?0:p,g\u003dr.hasOwnProperty(\"x\"),_\u003dr.hasOwnProperty(\"y\"),b\u003dbt,v\u003dmt,y\u003dwindow;if(c){var w\u003dte(i),E\u003d\"clientHeight\",A\u003d\"clientWidth\";w\u003d\u003d\u003dWt(i)\u0026\u0026\"static\"!\u003d\u003dYt(w\u003dGt(i)).position\u0026\u0026\"absolute\"\u003d\u003d\u003da\u0026\u0026(E\u003d\"scrollHeight\",A\u003d\"scrollWidth\"),w\u003dw,s!\u003d\u003dmt\u0026\u0026(s!\u003d\u003dbt\u0026\u0026s!\u003d\u003d_t||o!\u003d\u003dEt)||(v\u003dgt,m-\u003dw[E]-n.height,m*\u003dl?1:-1),s!\u003d\u003dbt\u0026\u0026(s!\u003d\u003dmt\u0026\u0026s!\u003d\u003dgt||o!\u003d\u003dEt)||(b\u003d_t,f-\u003dw[A]-n.width,f*\u003dl?1:-1)}var T,O\u003dObject.assign({position:a},c\u0026\u0026he);return l?Object.assign({},O,((T\u003d{})[v]\u003d_?\"0\":\"\",T[b]\u003dg?\"0\":\"\",T.transform\u003d(y.devicePixelRatio||1)\u003c\u003d1?\"translate(\"+f+\"px, \"+m+\"px)\":\"translate3d(\"+f+\"px, \"+m+\"px, 0)\",T)):Object.assign({},O,((e\u003d{})[v]\u003d_?m+\"px\":\"\",e[b]\u003dg?f+\"px\":\"\",e.transform\u003d\"\",e))}const ue\u003d{name:\"computeStyles\",enabled:!0,phase:\"beforeWrite\",fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003di.gpuAcceleration,s\u003dvoid 0\u003d\u003d\u003dn||n,o\u003di.adaptive,r\u003dvoid 0\u003d\u003d\u003do||o,a\u003di.roundOffsets,l\u003dvoid 0\u003d\u003d\u003da||a,c\u003d{placement:Ut(e.placement),variation:ce(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!\u003de.modifiersData.popperOffsets\u0026\u0026(e.styles.popper\u003dObject.assign({},e.styles.popper,de(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!\u003de.modifiersData.arrow\u0026\u0026(e.styles.arrow\u003dObject.assign({},e.styles.arrow,de(Object.assign({},c,{offsets:e.modifiersData.arrow,position:\"absolute\",adaptive:!1,roundOffsets:l})))),e.attributes.popper\u003dObject.assign({},e.attributes.popper,{\"data-popper-placement\":e.placement})},data:{}};var fe\u003d{passive:!0};const pe\u003d{name:\"eventListeners\",enabled:!0,phase:\"write\",fn:function(){},effect:function(t){var e\u003dt.state,i\u003dt.instance,n\u003dt.options,s\u003dn.scroll,o\u003dvoid 0\u003d\u003d\u003ds||s,r\u003dn.resize,a\u003dvoid 0\u003d\u003d\u003dr||r,l\u003dWt(e.elements.popper),c\u003d[].concat(e.scrollParents.reference,e.scrollParents.popper);return o\u0026\u0026c.forEach((function(t){t.addEventListener(\"scroll\",i.update,fe)})),a\u0026\u0026l.addEventListener(\"resize\",i.update,fe),function(){o\u0026\u0026c.forEach((function(t){t.removeEventListener(\"scroll\",i.update,fe)})),a\u0026\u0026l.removeEventListener(\"resize\",i.update,fe)}},data:{}};var me\u003d{left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function ge(t){return t.replace(/left|right|bottom|top/g,(function(t){return me[t]}))}var _e\u003d{start:\"end\",end:\"start\"};function be(t){return t.replace(/start|end/g,(function(t){return _e[t]}))}function ve(t){var e\u003dWt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ye(t){return Vt(Gt(t)).left+ve(t).scrollLeft}function we(t){var e\u003dYt(t),i\u003de.overflow,n\u003de.overflowX,s\u003de.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return[\"html\",\"body\",\"#document\"].indexOf(Rt(t))\u003e\u003d0?t.ownerDocument.body:zt(t)\u0026\u0026we(t)?t:Ee(Zt(t))}function Ae(t,e){var i;void 0\u003d\u003d\u003de\u0026\u0026(e\u003d[]);var n\u003dEe(t),s\u003dn\u003d\u003d\u003d(null\u003d\u003d(i\u003dt.ownerDocument)?void 0:i.body),o\u003dWt(n),r\u003ds?[o].concat(o.visualViewport||[],we(n)?n:[]):n,a\u003de.concat(r);return s?a:a.concat(Ae(Zt(r)))}function Te(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e){return e\u003d\u003d\u003dTt?Te(function(t){var e\u003dWt(t),i\u003dGt(t),n\u003de.visualViewport,s\u003di.clientWidth,o\u003di.clientHeight,r\u003d0,a\u003d0;return n\u0026\u0026(s\u003dn.width,o\u003dn.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r\u003dn.offsetLeft,a\u003dn.offsetTop)),{width:s,height:o,x:r+ye(t),y:a}}(t)):zt(e)?function(t){var e\u003dVt(t);return e.top\u003de.top+t.clientTop,e.left\u003de.left+t.clientLeft,e.bottom\u003de.top+t.clientHeight,e.right\u003de.left+t.clientWidth,e.width\u003dt.clientWidth,e.height\u003dt.clientHeight,e.x\u003de.left,e.y\u003de.top,e}(e):Te(function(t){var e,i\u003dGt(t),n\u003dve(t),s\u003dnull\u003d\u003d(e\u003dt.ownerDocument)?void 0:e.body,o\u003die(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r\u003die(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a\u003d-n.scrollLeft+ye(t),l\u003d-n.scrollTop;return\"rtl\"\u003d\u003d\u003dYt(s||i).direction\u0026\u0026(a+\u003die(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Gt(t)))}function Ce(t){var e,i\u003dt.reference,n\u003dt.element,s\u003dt.placement,o\u003ds?Ut(s):null,r\u003ds?ce(s):null,a\u003di.x+i.width/2-n.width/2,l\u003di.y+i.height/2-n.height/2;switch(o){case mt:e\u003d{x:a,y:i.y-n.height};break;case gt:e\u003d{x:a,y:i.y+i.height};break;case _t:e\u003d{x:i.x+i.width,y:l};break;case bt:e\u003d{x:i.x-n.width,y:l};break;default:e\u003d{x:i.x,y:i.y}}var c\u003do?ee(o):null;if(null!\u003dc){var h\u003d\"y\"\u003d\u003d\u003dc?\"height\":\"width\";switch(r){case wt:e[c]\u003de[c]-(i[h]/2-n[h]/2);break;case Et:e[c]\u003de[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});var i\u003de,n\u003di.placement,s\u003dvoid 0\u003d\u003d\u003dn?t.placement:n,o\u003di.boundary,r\u003dvoid 0\u003d\u003d\u003do?At:o,a\u003di.rootBoundary,l\u003dvoid 0\u003d\u003d\u003da?Tt:a,c\u003di.elementContext,h\u003dvoid 0\u003d\u003d\u003dc?Ot:c,d\u003di.altBoundary,u\u003dvoid 0!\u003d\u003dd\u0026\u0026d,f\u003di.padding,p\u003dvoid 0\u003d\u003d\u003df?0:f,m\u003dre(\"number\"!\u003dtypeof p?p:ae(p,yt)),g\u003dh\u003d\u003d\u003dOt?Ct:Ot,_\u003dt.rects.popper,b\u003dt.elements[u?g:h],v\u003dfunction(t,e,i){var n\u003d\"clippingParents\"\u003d\u003d\u003de?function(t){var e\u003dAe(Zt(t)),i\u003d[\"absolute\",\"fixed\"].indexOf(Yt(t).position)\u003e\u003d0\u0026\u0026zt(t)?te(t):t;return $t(i)?e.filter((function(t){return $t(t)\u0026\u0026Xt(t,i)\u0026\u0026\"body\"!\u003d\u003dRt(t)})):[]}(t):[].concat(e),s\u003d[].concat(n,[i]),o\u003ds[0],r\u003ds.reduce((function(e,i){var n\u003dOe(t,i);return e.top\u003die(n.top,e.top),e.right\u003dne(n.right,e.right),e.bottom\u003dne(n.bottom,e.bottom),e.left\u003die(n.left,e.left),e}),Oe(t,o));return r.width\u003dr.right-r.left,r.height\u003dr.bottom-r.top,r.x\u003dr.left,r.y\u003dr.top,r}($t(b)?b:b.contextElement||Gt(t.elements.popper),r,l),y\u003dVt(t.elements.reference),w\u003dCe({reference:y,element:_,strategy:\"absolute\",placement:s}),E\u003dTe(Object.assign({},_,w)),A\u003dh\u003d\u003d\u003dOt?E:y,T\u003d{top:v.top-A.top+m.top,bottom:A.bottom-v.bottom+m.bottom,left:v.left-A.left+m.left,right:A.right-v.right+m.right},O\u003dt.modifiersData.offset;if(h\u003d\u003d\u003dOt\u0026\u0026O){var C\u003dO[s];Object.keys(T).forEach((function(t){var e\u003d[_t,gt].indexOf(t)\u003e\u003d0?1:-1,i\u003d[mt,gt].indexOf(t)\u003e\u003d0?\"y\":\"x\";T[t]+\u003dC[i]*e}))}return T}function Le(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});var i\u003de,n\u003di.placement,s\u003di.boundary,o\u003di.rootBoundary,r\u003di.padding,a\u003di.flipVariations,l\u003di.allowedAutoPlacements,c\u003dvoid 0\u003d\u003d\u003dl?Lt:l,h\u003dce(n),d\u003dh?a?kt:kt.filter((function(t){return ce(t)\u003d\u003d\u003dh})):yt,u\u003dd.filter((function(t){return c.indexOf(t)\u003e\u003d0}));0\u003d\u003d\u003du.length\u0026\u0026(u\u003dd);var f\u003du.reduce((function(e,i){return e[i]\u003dke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Ut(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const xe\u003d{name:\"flip\",enabled:!0,phase:\"main\",fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003dt.name;if(!e.modifiersData[n]._skip){for(var s\u003di.mainAxis,o\u003dvoid 0\u003d\u003d\u003ds||s,r\u003di.altAxis,a\u003dvoid 0\u003d\u003d\u003dr||r,l\u003di.fallbackPlacements,c\u003di.padding,h\u003di.boundary,d\u003di.rootBoundary,u\u003di.altBoundary,f\u003di.flipVariations,p\u003dvoid 0\u003d\u003d\u003df||f,m\u003di.allowedAutoPlacements,g\u003de.options.placement,_\u003dUt(g),b\u003dl||(_!\u003d\u003dg\u0026\u0026p?function(t){if(Ut(t)\u003d\u003d\u003dvt)return[];var e\u003dge(t);return[be(t),e,be(e)]}(g):[ge(g)]),v\u003d[g].concat(b).reduce((function(t,i){return t.concat(Ut(i)\u003d\u003d\u003dvt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y\u003de.rects.reference,w\u003de.rects.popper,E\u003dnew Map,A\u003d!0,T\u003dv[0],O\u003d0;O\u003cv.length;O++){var C\u003dv[O],k\u003dUt(C),L\u003dce(C)\u003d\u003d\u003dwt,x\u003d[mt,gt].indexOf(k)\u003e\u003d0,D\u003dx?\"width\":\"height\",S\u003dke(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),N\u003dx?L?_t:bt:L?gt:mt;y[D]\u003ew[D]\u0026\u0026(N\u003dge(N));var I\u003dge(N),P\u003d[];if(o\u0026\u0026P.push(S[k]\u003c\u003d0),a\u0026\u0026P.push(S[N]\u003c\u003d0,S[I]\u003c\u003d0),P.every((function(t){return t}))){T\u003dC,A\u003d!1;break}E.set(C,P)}if(A)for(var j\u003dfunction(t){var e\u003dv.find((function(e){var i\u003dE.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T\u003de,\"break\"},M\u003dp?3:1;M\u003e0\u0026\u0026\"break\"!\u003d\u003dj(M);M--);e.placement!\u003d\u003dT\u0026\u0026(e.modifiersData[n]._skip\u003d!0,e.placement\u003dT,e.reset\u003d!0)}},requiresIfExists:[\"offset\"],data:{_skip:!1}};function De(t,e,i){return void 0\u003d\u003d\u003di\u0026\u0026(i\u003d{x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Se(t){return[mt,_t,gt,bt].some((function(e){return t[e]\u003e\u003d0}))}const Ne\u003d{name:\"hide\",enabled:!0,phase:\"main\",requiresIfExists:[\"preventOverflow\"],fn:function(t){var e\u003dt.state,i\u003dt.name,n\u003de.rects.reference,s\u003de.rects.popper,o\u003de.modifiersData.preventOverflow,r\u003dke(e,{elementContext:\"reference\"}),a\u003dke(e,{altBoundary:!0}),l\u003dDe(r,n),c\u003dDe(a,s,o),h\u003dSe(l),d\u003dSe(c);e.modifiersData[i]\u003d{referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper\u003dObject.assign({},e.attributes.popper,{\"data-popper-reference-hidden\":h,\"data-popper-escaped\":d})}},Ie\u003d{name:\"offset\",enabled:!0,phase:\"main\",requires:[\"popperOffsets\"],fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003dt.name,s\u003di.offset,o\u003dvoid 0\u003d\u003d\u003ds?[0,0]:s,r\u003dLt.reduce((function(t,i){return t[i]\u003dfunction(t,e,i){var n\u003dUt(t),s\u003d[bt,mt].indexOf(n)\u003e\u003d0?-1:1,o\u003d\"function\"\u003d\u003dtypeof i?i(Object.assign({},e,{placement:t})):i,r\u003do[0],a\u003do[1];return r\u003dr||0,a\u003d(a||0)*s,[bt,_t].indexOf(n)\u003e\u003d0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a\u003dr[e.placement],l\u003da.x,c\u003da.y;null!\u003de.modifiersData.popperOffsets\u0026\u0026(e.modifiersData.popperOffsets.x+\u003dl,e.modifiersData.popperOffsets.y+\u003dc),e.modifiersData[n]\u003dr}},Pe\u003d{name:\"popperOffsets\",enabled:!0,phase:\"read\",fn:function(t){var e\u003dt.state,i\u003dt.name;e.modifiersData[i]\u003dCe({reference:e.rects.reference,element:e.rects.popper,strategy:\"absolute\",placement:e.placement})},data:{}},je\u003d{name:\"preventOverflow\",enabled:!0,phase:\"main\",fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003dt.name,s\u003di.mainAxis,o\u003dvoid 0\u003d\u003d\u003ds||s,r\u003di.altAxis,a\u003dvoid 0!\u003d\u003dr\u0026\u0026r,l\u003di.boundary,c\u003di.rootBoundary,h\u003di.altBoundary,d\u003di.padding,u\u003di.tether,f\u003dvoid 0\u003d\u003d\u003du||u,p\u003di.tetherOffset,m\u003dvoid 0\u003d\u003d\u003dp?0:p,g\u003dke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_\u003dUt(e.placement),b\u003dce(e.placement),v\u003d!b,y\u003dee(_),w\u003d\"x\"\u003d\u003d\u003dy?\"y\":\"x\",E\u003de.modifiersData.popperOffsets,A\u003de.rects.reference,T\u003de.rects.popper,O\u003d\"function\"\u003d\u003dtypeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C\u003d{x:0,y:0};if(E){if(o||a){var k\u003d\"y\"\u003d\u003d\u003dy?mt:bt,L\u003d\"y\"\u003d\u003d\u003dy?gt:_t,x\u003d\"y\"\u003d\u003d\u003dy?\"height\":\"width\",D\u003dE[y],S\u003dE[y]+g[k],N\u003dE[y]-g[L],I\u003df?-T[x]/2:0,P\u003db\u003d\u003d\u003dwt?A[x]:T[x],j\u003db\u003d\u003d\u003dwt?-T[x]:-A[x],M\u003de.elements.arrow,H\u003df\u0026\u0026M?Kt(M):{width:0,height:0},B\u003de.modifiersData[\"arrow#persistent\"]?e.modifiersData[\"arrow#persistent\"].padding:{top:0,right:0,bottom:0,left:0},R\u003dB[k],W\u003dB[L],$\u003doe(0,A[x],H[x]),z\u003dv?A[x]/2-I-$-R-O:P-$-R-O,q\u003dv?-A[x]/2+I+$+W+O:j+$+W+O,F\u003de.elements.arrow\u0026\u0026te(e.elements.arrow),U\u003dF?\"y\"\u003d\u003d\u003dy?F.clientTop||0:F.clientLeft||0:0,V\u003de.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K\u003dE[y]+z-V-U,X\u003dE[y]+q-V;if(o){var Y\u003doe(f?ne(S,K):S,D,f?ie(N,X):N);E[y]\u003dY,C[y]\u003dY-D}if(a){var Q\u003d\"x\"\u003d\u003d\u003dy?mt:bt,G\u003d\"x\"\u003d\u003d\u003dy?gt:_t,Z\u003dE[w],J\u003dZ+g[Q],tt\u003dZ-g[G],et\u003doe(f?ne(J,K):J,Z,f?ie(tt,X):tt);E[w]\u003det,C[w]\u003det-Z}}e.modifiersData[n]\u003dC}},requiresIfExists:[\"offset\"]};function Me(t,e,i){void 0\u003d\u003d\u003di\u0026\u0026(i\u003d!1);var n\u003dzt(e);zt(e)\u0026\u0026function(t){var e\u003dt.getBoundingClientRect();e.width,t.offsetWidth,e.height,t.offsetHeight}(e);var s,o,r\u003dGt(e),a\u003dVt(t),l\u003d{scrollLeft:0,scrollTop:0},c\u003d{x:0,y:0};return(n||!n\u0026\u0026!i)\u0026\u0026((\"body\"!\u003d\u003dRt(e)||we(r))\u0026\u0026(l\u003d(s\u003de)!\u003d\u003dWt(s)\u0026\u0026zt(s)?{scrollLeft:(o\u003ds).scrollLeft,scrollTop:o.scrollTop}:ve(s)),zt(e)?((c\u003dVt(e)).x+\u003de.clientLeft,c.y+\u003de.clientTop):r\u0026\u0026(c.x\u003dye(r))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function He(t){var e\u003dnew Map,i\u003dnew Set,n\u003d[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n\u003de.get(t);n\u0026\u0026s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Be\u003d{placement:\"bottom\",modifiers:[],strategy:\"absolute\"};function Re(){for(var t\u003darguments.length,e\u003dnew Array(t),i\u003d0;i\u003ct;i++)e[i]\u003darguments[i];return!e.some((function(t){return!(t\u0026\u0026\"function\"\u003d\u003dtypeof t.getBoundingClientRect)}))}function We(t){void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{});var e\u003dt,i\u003de.defaultModifiers,n\u003dvoid 0\u003d\u003d\u003di?[]:i,s\u003de.defaultOptions,o\u003dvoid 0\u003d\u003d\u003ds?Be:s;return function(t,e,i){void 0\u003d\u003d\u003di\u0026\u0026(i\u003do);var s,r,a\u003d{placement:\"bottom\",orderedModifiers:[],options:Object.assign({},Be,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l\u003d[],c\u003d!1,h\u003d{state:a,setOptions:function(i){var s\u003d\"function\"\u003d\u003dtypeof i?i(a.options):i;d(),a.options\u003dObject.assign({},o,a.options,s),a.scrollParents\u003d{reference:$t(t)?Ae(t):t.contextElement?Ae(t.contextElement):[],popper:Ae(e)};var r,c,u\u003dfunction(t){var e\u003dHe(t);return Bt.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase\u003d\u003d\u003di})))}),[])}((r\u003d[].concat(n,a.options.modifiers),c\u003dr.reduce((function(t,e){var i\u003dt[e.name];return t[e.name]\u003di?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(c).map((function(t){return c[t]}))));return a.orderedModifiers\u003du.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e\u003dt.name,i\u003dt.options,n\u003dvoid 0\u003d\u003d\u003di?{}:i,s\u003dt.effect;if(\"function\"\u003d\u003dtypeof s){var o\u003ds({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t\u003da.elements,e\u003dt.reference,i\u003dt.popper;if(Re(e,i)){a.rects\u003d{reference:Me(e,te(i),\"fixed\"\u003d\u003d\u003da.options.strategy),popper:Kt(i)},a.reset\u003d!1,a.placement\u003da.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]\u003dObject.assign({},t.data)}));for(var n\u003d0;n\u003ca.orderedModifiers.length;n++)if(!0!\u003d\u003da.reset){var s\u003da.orderedModifiers[n],o\u003ds.fn,r\u003ds.options,l\u003dvoid 0\u003d\u003d\u003dr?{}:r,d\u003ds.name;\"function\"\u003d\u003dtypeof o\u0026\u0026(a\u003do({state:a,options:l,name:d,instance:h})||a)}else a.reset\u003d!1,n\u003d-1}}},update:(s\u003dfunction(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r\u003dnew Promise((function(t){Promise.resolve().then((function(){r\u003dvoid 0,t(s())}))}))),r}),destroy:function(){d(),c\u003d!0}};if(!Re(t,e))return h;function d(){l.forEach((function(t){return t()})),l\u003d[]}return h.setOptions(i).then((function(t){!c\u0026\u0026i.onFirstUpdate\u0026\u0026i.onFirstUpdate(t)})),h}}var $e\u003dWe(),ze\u003dWe({defaultModifiers:[pe,Pe,ue,Ft]}),qe\u003dWe({defaultModifiers:[pe,Pe,ue,Ft,Ie,xe,je,le,Ne]});const Fe\u003dObject.freeze({__proto__:null,popperGenerator:We,detectOverflow:ke,createPopperBase:$e,createPopper:qe,createPopperLite:ze,top:mt,bottom:gt,right:_t,left:bt,auto:vt,basePlacements:yt,start:wt,end:Et,clippingParents:At,viewport:Tt,popper:Ot,reference:Ct,variationPlacements:kt,placements:Lt,beforeRead:xt,read:Dt,afterRead:St,beforeMain:Nt,main:It,afterMain:Pt,beforeWrite:jt,write:Mt,afterWrite:Ht,modifierPhases:Bt,applyStyles:Ft,arrow:le,computeStyles:ue,eventListeners:pe,flip:xe,hide:Ne,offset:Ie,popperOffsets:Pe,preventOverflow:je}),Ue\u003d\"dropdown\",Ve\u003d\"Escape\",Ke\u003d\"Space\",Xe\u003d\"ArrowUp\",Ye\u003d\"ArrowDown\",Qe\u003dnew RegExp(\"ArrowUp|ArrowDown|Escape\"),Ge\u003d\"click.bs.dropdown.data-api\",Ze\u003d\"keydown.bs.dropdown.data-api\",Je\u003d\"show\",ti\u003d\u0027[data-bs-toggle\u003d\"dropdown\"]\u0027,ei\u003d\".dropdown-menu\",ii\u003dm()?\"top-end\":\"top-start\",ni\u003dm()?\"top-start\":\"top-end\",si\u003dm()?\"bottom-end\":\"bottom-start\",oi\u003dm()?\"bottom-start\":\"bottom-end\",ri\u003dm()?\"left-start\":\"right-start\",ai\u003dm()?\"right-start\":\"left-start\",li\u003d{offset:[0,2],boundary:\"clippingParents\",reference:\"toggle\",display:\"dynamic\",popperConfig:null,autoClose:!0},ci\u003d{offset:\"(array|string|function)\",boundary:\"(string|element)\",reference:\"(string|element|object)\",display:\"string\",popperConfig:\"(null|object|function)\",autoClose:\"(boolean|string)\"};class hi extends B{constructor(t,e){super(t),this._popper\u003dnull,this._config\u003dthis._getConfig(e),this._menu\u003dthis._getMenuElement(),this._inNavbar\u003dthis._detectNavbar()}static get Default(){return li}static get DefaultType(){return ci}static get NAME(){return Ue}toggle(){return this._isShown()?this.hide():this.show()}show(){if(c(this._element)||this._isShown(this._menu))return;const t\u003d{relatedTarget:this._element};if(j.trigger(this._element,\"show.bs.dropdown\",t).defaultPrevented)return;const e\u003dhi.getParentFromElement(this._element);this._inNavbar?U.setDataAttribute(this._menu,\"popper\",\"none\"):this._createPopper(e),\"ontouchstart\"in document.documentElement\u0026\u0026!e.closest(\".navbar-nav\")\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003ej.on(t,\"mouseover\",d))),this._element.focus(),this._element.setAttribute(\"aria-expanded\",!0),this._menu.classList.add(Je),this._element.classList.add(Je),j.trigger(this._element,\"shown.bs.dropdown\",t)}hide(){if(c(this._element)||!this._isShown(this._menu))return;const t\u003d{relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper\u0026\u0026this._popper.destroy(),super.dispose()}update(){this._inNavbar\u003dthis._detectNavbar(),this._popper\u0026\u0026this._popper.update()}_completeHide(t){j.trigger(this._element,\"hide.bs.dropdown\",t).defaultPrevented||(\"ontouchstart\"in document.documentElement\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003ej.off(t,\"mouseover\",d))),this._popper\u0026\u0026this._popper.destroy(),this._menu.classList.remove(Je),this._element.classList.remove(Je),this._element.setAttribute(\"aria-expanded\",\"false\"),U.removeDataAttribute(this._menu,\"popper\"),j.trigger(this._element,\"hidden.bs.dropdown\",t))}_getConfig(t){if(t\u003d{...this.constructor.Default,...U.getDataAttributes(this._element),...t},a(Ue,t,this.constructor.DefaultType),\"object\"\u003d\u003dtypeof t.reference\u0026\u0026!o(t.reference)\u0026\u0026\"function\"!\u003dtypeof t.reference.getBoundingClientRect)throw new TypeError(`${Ue.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);return t}_createPopper(t){if(void 0\u003d\u003d\u003dFe)throw new TypeError(\"Bootstrap\u0027s dropdowns require Popper (https://popper.js.org)\");let e\u003dthis._element;\"parent\"\u003d\u003d\u003dthis._config.reference?e\u003dt:o(this._config.reference)?e\u003dr(this._config.reference):\"object\"\u003d\u003dtypeof this._config.reference\u0026\u0026(e\u003dthis._config.reference);const i\u003dthis._getPopperConfig(),n\u003di.modifiers.find((t\u003d\u003e\"applyStyles\"\u003d\u003d\u003dt.name\u0026\u0026!1\u003d\u003d\u003dt.enabled));this._popper\u003dqe(e,this._menu,i),n\u0026\u0026U.setDataAttribute(this._menu,\"popper\",\"static\")}_isShown(t\u003dthis._element){return t.classList.contains(Je)}_getMenuElement(){return V.next(this._element,ei)[0]}_getPlacement(){const t\u003dthis._element.parentNode;if(t.classList.contains(\"dropend\"))return ri;if(t.classList.contains(\"dropstart\"))return ai;const e\u003d\"end\"\u003d\u003d\u003dgetComputedStyle(this._menu).getPropertyValue(\"--bs-position\").trim();return t.classList.contains(\"dropup\")?e?ni:ii:e?oi:si}_detectNavbar(){return null!\u003d\u003dthis._element.closest(\".navbar\")}_getOffset(){const{offset:t}\u003dthis._config;return\"string\"\u003d\u003dtypeof t?t.split(\",\").map((t\u003d\u003eNumber.parseInt(t,10))):\"function\"\u003d\u003dtypeof t?e\u003d\u003et(e,this._element):t}_getPopperConfig(){const t\u003d{placement:this._getPlacement(),modifiers:[{name:\"preventOverflow\",options:{boundary:this._config.boundary}},{name:\"offset\",options:{offset:this._getOffset()}}]};return\"static\"\u003d\u003d\u003dthis._config.display\u0026\u0026(t.modifiers\u003d[{name:\"applyStyles\",enabled:!1}]),{...t,...\"function\"\u003d\u003dtypeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i\u003dV.find(\".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)\",this._menu).filter(l);i.length\u0026\u0026v(i,e,t\u003d\u003d\u003dYe,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e\u003dhi.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}static clearMenus(t){if(t\u0026\u0026(2\u003d\u003d\u003dt.button||\"keyup\"\u003d\u003d\u003dt.type\u0026\u0026\"Tab\"!\u003d\u003dt.key))return;const e\u003dV.find(ti);for(let i\u003d0,n\u003de.length;i\u003cn;i++){const n\u003dhi.getInstance(e[i]);if(!n||!1\u003d\u003d\u003dn._config.autoClose)continue;if(!n._isShown())continue;const s\u003d{relatedTarget:n._element};if(t){const e\u003dt.composedPath(),i\u003de.includes(n._menu);if(e.includes(n._element)||\"inside\"\u003d\u003d\u003dn._config.autoClose\u0026\u0026!i||\"outside\"\u003d\u003d\u003dn._config.autoClose\u0026\u0026i)continue;if(n._menu.contains(t.target)\u0026\u0026(\"keyup\"\u003d\u003d\u003dt.type\u0026\u0026\"Tab\"\u003d\u003d\u003dt.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;\"click\"\u003d\u003d\u003dt.type\u0026\u0026(s.clickEvent\u003dt)}n._completeHide(s)}}static getParentFromElement(t){return n(t)||t.parentNode}static dataApiKeydownHandler(t){if(/input|textarea/i.test(t.target.tagName)?t.key\u003d\u003d\u003dKe||t.key!\u003d\u003dVe\u0026\u0026(t.key!\u003d\u003dYe\u0026\u0026t.key!\u003d\u003dXe||t.target.closest(ei)):!Qe.test(t.key))return;const e\u003dthis.classList.contains(Je);if(!e\u0026\u0026t.key\u003d\u003d\u003dVe)return;if(t.preventDefault(),t.stopPropagation(),c(this))return;const i\u003dthis.matches(ti)?this:V.prev(this,ti)[0],n\u003dhi.getOrCreateInstance(i);if(t.key!\u003d\u003dVe)return t.key\u003d\u003d\u003dXe||t.key\u003d\u003d\u003dYe?(e||n.show(),void n._selectMenuItem(t)):void(e\u0026\u0026t.key!\u003d\u003dKe||hi.clearMenus());n.hide()}}j.on(document,Ze,ti,hi.dataApiKeydownHandler),j.on(document,Ze,ei,hi.dataApiKeydownHandler),j.on(document,Ge,hi.clearMenus),j.on(document,\"keyup.bs.dropdown.data-api\",hi.clearMenus),j.on(document,Ge,ti,(function(t){t.preventDefault(),hi.getOrCreateInstance(this).toggle()})),g(hi);const di\u003d\".fixed-top, .fixed-bottom, .is-fixed, .sticky-top\",ui\u003d\".sticky-top\";class fi{constructor(){this._element\u003ddocument.body}getWidth(){const t\u003ddocument.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t\u003dthis.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,\"paddingRight\",(e\u003d\u003ee+t)),this._setElementAttributes(di,\"paddingRight\",(e\u003d\u003ee+t)),this._setElementAttributes(ui,\"marginRight\",(e\u003d\u003ee-t))}_disableOverFlow(){this._saveInitialAttribute(this._element,\"overflow\"),this._element.style.overflow\u003d\"hidden\"}_setElementAttributes(t,e,i){const n\u003dthis.getWidth();this._applyManipulationCallback(t,(t\u003d\u003e{if(t!\u003d\u003dthis._element\u0026\u0026window.innerWidth\u003et.clientWidth+n)return;this._saveInitialAttribute(t,e);const s\u003dwindow.getComputedStyle(t)[e];t.style[e]\u003d`${i(Number.parseFloat(s))}px`}))}reset(){this._resetElementAttributes(this._element,\"overflow\"),this._resetElementAttributes(this._element,\"paddingRight\"),this._resetElementAttributes(di,\"paddingRight\"),this._resetElementAttributes(ui,\"marginRight\")}_saveInitialAttribute(t,e){const i\u003dt.style[e];i\u0026\u0026U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t\u003d\u003e{const i\u003dU.getDataAttribute(t,e);void 0\u003d\u003d\u003di?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]\u003di)}))}_applyManipulationCallback(t,e){o(t)?e(t):V.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()\u003e0}}const pi\u003d{className:\"modal-backdrop\",isVisible:!0,isAnimated:!1,rootElement:\"body\",clickCallback:null},mi\u003d{className:\"string\",isVisible:\"boolean\",isAnimated:\"boolean\",rootElement:\"(element|string)\",clickCallback:\"(function|null)\"},gi\u003d\"show\",_i\u003d\"mousedown.bs.backdrop\";class bi{constructor(t){this._config\u003dthis._getConfig(t),this._isAppended\u003d!1,this._element\u003dnull}show(t){this._config.isVisible?(this._append(),this._config.isAnimated\u0026\u0026u(this._getElement()),this._getElement().classList.add(gi),this._emulateAnimation((()\u003d\u003e{_(t)}))):_(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove(gi),this._emulateAnimation((()\u003d\u003e{this.dispose(),_(t)}))):_(t)}_getElement(){if(!this._element){const t\u003ddocument.createElement(\"div\");t.className\u003dthis._config.className,this._config.isAnimated\u0026\u0026t.classList.add(\"fade\"),this._element\u003dt}return this._element}_getConfig(t){return(t\u003d{...pi,...\"object\"\u003d\u003dtypeof t?t:{}}).rootElement\u003dr(t.rootElement),a(\"backdrop\",t,mi),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),j.on(this._getElement(),_i,(()\u003d\u003e{_(this._config.clickCallback)})),this._isAppended\u003d!0)}dispose(){this._isAppended\u0026\u0026(j.off(this._element,_i),this._element.remove(),this._isAppended\u003d!1)}_emulateAnimation(t){b(t,this._getElement(),this._config.isAnimated)}}const vi\u003d{trapElement:null,autofocus:!0},yi\u003d{trapElement:\"element\",autofocus:\"boolean\"},wi\u003d\".bs.focustrap\",Ei\u003d\"backward\";class Ai{constructor(t){this._config\u003dthis._getConfig(t),this._isActive\u003d!1,this._lastTabNavDirection\u003dnull}activate(){const{trapElement:t,autofocus:e}\u003dthis._config;this._isActive||(e\u0026\u0026t.focus(),j.off(document,wi),j.on(document,\"focusin.bs.focustrap\",(t\u003d\u003ethis._handleFocusin(t))),j.on(document,\"keydown.tab.bs.focustrap\",(t\u003d\u003ethis._handleKeydown(t))),this._isActive\u003d!0)}deactivate(){this._isActive\u0026\u0026(this._isActive\u003d!1,j.off(document,wi))}_handleFocusin(t){const{target:e}\u003dt,{trapElement:i}\u003dthis._config;if(e\u003d\u003d\u003ddocument||e\u003d\u003d\u003di||i.contains(e))return;const n\u003dV.focusableChildren(i);0\u003d\u003d\u003dn.length?i.focus():this._lastTabNavDirection\u003d\u003d\u003dEi?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){\"Tab\"\u003d\u003d\u003dt.key\u0026\u0026(this._lastTabNavDirection\u003dt.shiftKey?Ei:\"forward\")}_getConfig(t){return t\u003d{...vi,...\"object\"\u003d\u003dtypeof t?t:{}},a(\"focustrap\",t,yi),t}}const Ti\u003d\"modal\",Oi\u003d\"Escape\",Ci\u003d{backdrop:!0,keyboard:!0,focus:!0},ki\u003d{backdrop:\"(boolean|string)\",keyboard:\"boolean\",focus:\"boolean\"},Li\u003d\"hidden.bs.modal\",xi\u003d\"show.bs.modal\",Di\u003d\"resize.bs.modal\",Si\u003d\"click.dismiss.bs.modal\",Ni\u003d\"keydown.dismiss.bs.modal\",Ii\u003d\"mousedown.dismiss.bs.modal\",Pi\u003d\"modal-open\",ji\u003d\"show\",Mi\u003d\"modal-static\";class Hi extends B{constructor(t,e){super(t),this._config\u003dthis._getConfig(e),this._dialog\u003dV.findOne(\".modal-dialog\",this._element),this._backdrop\u003dthis._initializeBackDrop(),this._focustrap\u003dthis._initializeFocusTrap(),this._isShown\u003d!1,this._ignoreBackdropClick\u003d!1,this._isTransitioning\u003d!1,this._scrollBar\u003dnew fi}static get Default(){return Ci}static get NAME(){return Ti}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown\u003d!0,this._isAnimated()\u0026\u0026(this._isTransitioning\u003d!0),this._scrollBar.hide(),document.body.classList.add(Pi),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),j.on(this._dialog,Ii,(()\u003d\u003e{j.one(this._element,\"mouseup.dismiss.bs.modal\",(t\u003d\u003e{t.target\u003d\u003d\u003dthis._element\u0026\u0026(this._ignoreBackdropClick\u003d!0)}))})),this._showBackdrop((()\u003d\u003ethis._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;if(j.trigger(this._element,\"hide.bs.modal\").defaultPrevented)return;this._isShown\u003d!1;const t\u003dthis._isAnimated();t\u0026\u0026(this._isTransitioning\u003d!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(ji),j.off(this._element,Si),j.off(this._dialog,Ii),this._queueCallback((()\u003d\u003ethis._hideModal()),this._element,t)}dispose(){[window,this._dialog].forEach((t\u003d\u003ej.off(t,\".bs.modal\"))),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new bi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_getConfig(t){return t\u003d{...Ci,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t?t:{}},a(Ti,t,ki),t}_showElement(t){const e\u003dthis._isAnimated(),i\u003dV.findOne(\".modal-body\",this._dialog);this._element.parentNode\u0026\u0026this._element.parentNode.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE||document.body.append(this._element),this._element.style.display\u003d\"block\",this._element.removeAttribute(\"aria-hidden\"),this._element.setAttribute(\"aria-modal\",!0),this._element.setAttribute(\"role\",\"dialog\"),this._element.scrollTop\u003d0,i\u0026\u0026(i.scrollTop\u003d0),e\u0026\u0026u(this._element),this._element.classList.add(ji),this._queueCallback((()\u003d\u003e{this._config.focus\u0026\u0026this._focustrap.activate(),this._isTransitioning\u003d!1,j.trigger(this._element,\"shown.bs.modal\",{relatedTarget:t})}),this._dialog,e)}_setEscapeEvent(){this._isShown?j.on(this._element,Ni,(t\u003d\u003e{this._config.keyboard\u0026\u0026t.key\u003d\u003d\u003dOi?(t.preventDefault(),this.hide()):this._config.keyboard||t.key!\u003d\u003dOi||this._triggerBackdropTransition()})):j.off(this._element,Ni)}_setResizeEvent(){this._isShown?j.on(window,Di,(()\u003d\u003ethis._adjustDialog())):j.off(window,Di)}_hideModal(){this._element.style.display\u003d\"none\",this._element.setAttribute(\"aria-hidden\",!0),this._element.removeAttribute(\"aria-modal\"),this._element.removeAttribute(\"role\"),this._isTransitioning\u003d!1,this._backdrop.hide((()\u003d\u003e{document.body.classList.remove(Pi),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,Li)}))}_showBackdrop(t){j.on(this._element,Si,(t\u003d\u003e{this._ignoreBackdropClick?this._ignoreBackdropClick\u003d!1:t.target\u003d\u003d\u003dt.currentTarget\u0026\u0026(!0\u003d\u003d\u003dthis._config.backdrop?this.hide():\"static\"\u003d\u003d\u003dthis._config.backdrop\u0026\u0026this._triggerBackdropTransition())})),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains(\"fade\")}_triggerBackdropTransition(){if(j.trigger(this._element,\"hidePrevented.bs.modal\").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}\u003dthis._element,n\u003de\u003edocument.documentElement.clientHeight;!n\u0026\u0026\"hidden\"\u003d\u003d\u003di.overflowY||t.contains(Mi)||(n||(i.overflowY\u003d\"hidden\"),t.add(Mi),this._queueCallback((()\u003d\u003e{t.remove(Mi),n||this._queueCallback((()\u003d\u003e{i.overflowY\u003d\"\"}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t\u003dthis._element.scrollHeight\u003edocument.documentElement.clientHeight,e\u003dthis._scrollBar.getWidth(),i\u003de\u003e0;(!i\u0026\u0026t\u0026\u0026!m()||i\u0026\u0026!t\u0026\u0026m())\u0026\u0026(this._element.style.paddingLeft\u003d`${e}px`),(i\u0026\u0026!t\u0026\u0026!m()||!i\u0026\u0026t\u0026\u0026m())\u0026\u0026(this._element.style.paddingRight\u003d`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft\u003d\"\",this._element.style.paddingRight\u003d\"\"}static jQueryInterface(t,e){return this.each((function(){const i\u003dHi.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003di[t])throw new TypeError(`No method named \"${t}\"`);i[t](e)}}))}}j.on(document,\"click.bs.modal.data-api\",\u0027[data-bs-toggle\u003d\"modal\"]\u0027,(function(t){const e\u003dn(this);[\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026t.preventDefault(),j.one(e,xi,(t\u003d\u003e{t.defaultPrevented||j.one(e,Li,(()\u003d\u003e{l(this)\u0026\u0026this.focus()}))}));const i\u003dV.findOne(\".modal.show\");i\u0026\u0026Hi.getInstance(i).hide(),Hi.getOrCreateInstance(e).toggle(this)})),R(Hi),g(Hi);const Bi\u003d\"offcanvas\",Ri\u003d{backdrop:!0,keyboard:!0,scroll:!1},Wi\u003d{backdrop:\"boolean\",keyboard:\"boolean\",scroll:\"boolean\"},$i\u003d\"show\",zi\u003d\".offcanvas.show\",qi\u003d\"hidden.bs.offcanvas\";class Fi extends B{constructor(t,e){super(t),this._config\u003dthis._getConfig(e),this._isShown\u003d!1,this._backdrop\u003dthis._initializeBackDrop(),this._focustrap\u003dthis._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return Bi}static get Default(){return Ri}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,\"show.bs.offcanvas\",{relatedTarget:t}).defaultPrevented||(this._isShown\u003d!0,this._element.style.visibility\u003d\"visible\",this._backdrop.show(),this._config.scroll||(new fi).hide(),this._element.removeAttribute(\"aria-hidden\"),this._element.setAttribute(\"aria-modal\",!0),this._element.setAttribute(\"role\",\"dialog\"),this._element.classList.add($i),this._queueCallback((()\u003d\u003e{this._config.scroll||this._focustrap.activate(),j.trigger(this._element,\"shown.bs.offcanvas\",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown\u0026\u0026(j.trigger(this._element,\"hide.bs.offcanvas\").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown\u003d!1,this._element.classList.remove($i),this._backdrop.hide(),this._queueCallback((()\u003d\u003e{this._element.setAttribute(\"aria-hidden\",!0),this._element.removeAttribute(\"aria-modal\"),this._element.removeAttribute(\"role\"),this._element.style.visibility\u003d\"hidden\",this._config.scroll||(new fi).reset(),j.trigger(this._element,qi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t\u003d{...Ri,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t?t:{}},a(Bi,t,Wi),t}_initializeBackDrop(){return new bi({className:\"offcanvas-backdrop\",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()\u003d\u003ethis.hide()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_addEventListeners(){j.on(this._element,\"keydown.dismiss.bs.offcanvas\",(t\u003d\u003e{this._config.keyboard\u0026\u0026\"Escape\"\u003d\u003d\u003dt.key\u0026\u0026this.hide()}))}static jQueryInterface(t){return this.each((function(){const e\u003dFi.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t]||t.startsWith(\"_\")||\"constructor\"\u003d\u003d\u003dt)throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}j.on(document,\"click.bs.offcanvas.data-api\",\u0027[data-bs-toggle\u003d\"offcanvas\"]\u0027,(function(t){const e\u003dn(this);if([\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026t.preventDefault(),c(this))return;j.one(e,qi,(()\u003d\u003e{l(this)\u0026\u0026this.focus()}));const i\u003dV.findOne(zi);i\u0026\u0026i!\u003d\u003de\u0026\u0026Fi.getInstance(i).hide(),Fi.getOrCreateInstance(e).toggle(this)})),j.on(window,\"load.bs.offcanvas.data-api\",(()\u003d\u003eV.find(zi).forEach((t\u003d\u003eFi.getOrCreateInstance(t).show())))),R(Fi),g(Fi);const Ui\u003dnew Set([\"background\",\"cite\",\"href\",\"itemtype\",\"longdesc\",\"poster\",\"src\",\"xlink:href\"]),Vi\u003d/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#\u0026/:?]*(?:[#/?]|$))/i,Ki\u003d/^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+\u003d*$/i,Xi\u003d(t,e)\u003d\u003e{const i\u003dt.nodeName.toLowerCase();if(e.includes(i))return!Ui.has(i)||Boolean(Vi.test(t.nodeValue)||Ki.test(t.nodeValue));const n\u003de.filter((t\u003d\u003et instanceof RegExp));for(let t\u003d0,e\u003dn.length;t\u003ce;t++)if(n[t].test(i))return!0;return!1};function Yi(t,e,i){if(!t.length)return t;if(i\u0026\u0026\"function\"\u003d\u003dtypeof i)return i(t);const n\u003d(new window.DOMParser).parseFromString(t,\"text/html\"),s\u003d[].concat(...n.body.querySelectorAll(\"*\"));for(let t\u003d0,i\u003ds.length;t\u003ci;t++){const i\u003ds[t],n\u003di.nodeName.toLowerCase();if(!Object.keys(e).includes(n)){i.remove();continue}const o\u003d[].concat(...i.attributes),r\u003d[].concat(e[\"*\"]||[],e[n]||[]);o.forEach((t\u003d\u003e{Xi(t,r)||i.removeAttribute(t.nodeName)}))}return n.body.innerHTML}const Qi\u003d\"tooltip\",Gi\u003dnew Set([\"sanitize\",\"allowList\",\"sanitizeFn\"]),Zi\u003d{animation:\"boolean\",template:\"string\",title:\"(string|element|function)\",trigger:\"string\",delay:\"(number|object)\",html:\"boolean\",selector:\"(string|boolean)\",placement:\"(string|function)\",offset:\"(array|string|function)\",container:\"(string|element|boolean)\",fallbackPlacements:\"array\",boundary:\"(string|element)\",customClass:\"(string|function)\",sanitize:\"boolean\",sanitizeFn:\"(null|function)\",allowList:\"object\",popperConfig:\"(null|object|function)\"},Ji\u003d{AUTO:\"auto\",TOP:\"top\",RIGHT:m()?\"left\":\"right\",BOTTOM:\"bottom\",LEFT:m()?\"right\":\"left\"},tn\u003d{animation:!0,template:\u0027\u003cdiv class\u003d\"tooltip\" role\u003d\"tooltip\"\u003e\u003cdiv class\u003d\"tooltip-arrow\"\u003e\u003c/div\u003e\u003cdiv class\u003d\"tooltip-inner\"\u003e\u003c/div\u003e\u003c/div\u003e\u0027,trigger:\"hover focus\",title:\"\",delay:0,html:!1,selector:!1,placement:\"top\",offset:[0,0],container:!1,fallbackPlacements:[\"top\",\"right\",\"bottom\",\"left\"],boundary:\"clippingParents\",customClass:\"\",sanitize:!0,sanitizeFn:null,allowList:{\"*\":[\"class\",\"dir\",\"id\",\"lang\",\"role\",/^aria-[\\w-]*$/i],a:[\"target\",\"href\",\"title\",\"rel\"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:[\"src\",\"srcset\",\"alt\",\"title\",\"width\",\"height\"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},en\u003d{HIDE:\"hide.bs.tooltip\",HIDDEN:\"hidden.bs.tooltip\",SHOW:\"show.bs.tooltip\",SHOWN:\"shown.bs.tooltip\",INSERTED:\"inserted.bs.tooltip\",CLICK:\"click.bs.tooltip\",FOCUSIN:\"focusin.bs.tooltip\",FOCUSOUT:\"focusout.bs.tooltip\",MOUSEENTER:\"mouseenter.bs.tooltip\",MOUSELEAVE:\"mouseleave.bs.tooltip\"},nn\u003d\"fade\",sn\u003d\"show\",on\u003d\"show\",rn\u003d\"out\",an\u003d\".tooltip-inner\",ln\u003d\".modal\",cn\u003d\"hide.bs.modal\",hn\u003d\"hover\",dn\u003d\"focus\";class un extends B{constructor(t,e){if(void 0\u003d\u003d\u003dFe)throw new TypeError(\"Bootstrap\u0027s tooltips require Popper (https://popper.js.org)\");super(t),this._isEnabled\u003d!0,this._timeout\u003d0,this._hoverState\u003d\"\",this._activeTrigger\u003d{},this._popper\u003dnull,this._config\u003dthis._getConfig(e),this.tip\u003dnull,this._setListeners()}static get Default(){return tn}static get NAME(){return Qi}static get Event(){return en}static get DefaultType(){return Zi}enable(){this._isEnabled\u003d!0}disable(){this._isEnabled\u003d!1}toggleEnabled(){this._isEnabled\u003d!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e\u003dthis._initializeOnDelegatedTarget(t);e._activeTrigger.click\u003d!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(sn))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(ln),cn,this._hideModalHandler),this.tip\u0026\u0026this.tip.remove(),this._disposePopper(),super.dispose()}show(){if(\"none\"\u003d\u003d\u003dthis._element.style.display)throw new Error(\"Please use show on visible elements\");if(!this.isWithContent()||!this._isEnabled)return;const t\u003dj.trigger(this._element,this.constructor.Event.SHOW),e\u003dh(this._element),i\u003dnull\u003d\u003d\u003de?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;\"tooltip\"\u003d\u003d\u003dthis.constructor.NAME\u0026\u0026this.tip\u0026\u0026this.getTitle()!\u003d\u003dthis.tip.querySelector(an).innerHTML\u0026\u0026(this._disposePopper(),this.tip.remove(),this.tip\u003dnull);const n\u003dthis.getTipElement(),s\u003d(t\u003d\u003e{do{t+\u003dMath.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute(\"id\",s),this._element.setAttribute(\"aria-describedby\",s),this._config.animation\u0026\u0026n.classList.add(nn);const o\u003d\"function\"\u003d\u003dtypeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,r\u003dthis._getAttachment(o);this._addAttachmentClass(r);const{container:a}\u003dthis._config;H.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(n),j.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper\u003dqe(this._element,n,this._getPopperConfig(r)),n.classList.add(sn);const l\u003dthis._resolvePossibleFunction(this._config.customClass);l\u0026\u0026n.classList.add(...l.split(\" \")),\"ontouchstart\"in document.documentElement\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003e{j.on(t,\"mouseover\",d)}));const c\u003dthis.tip.classList.contains(nn);this._queueCallback((()\u003d\u003e{const t\u003dthis._hoverState;this._hoverState\u003dnull,j.trigger(this._element,this.constructor.Event.SHOWN),t\u003d\u003d\u003drn\u0026\u0026this._leave(null,this)}),this.tip,c)}hide(){if(!this._popper)return;const t\u003dthis.getTipElement();if(j.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove(sn),\"ontouchstart\"in document.documentElement\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003ej.off(t,\"mouseover\",d))),this._activeTrigger.click\u003d!1,this._activeTrigger.focus\u003d!1,this._activeTrigger.hover\u003d!1;const e\u003dthis.tip.classList.contains(nn);this._queueCallback((()\u003d\u003e{this._isWithActiveTrigger()||(this._hoverState!\u003d\u003don\u0026\u0026t.remove(),this._cleanTipClass(),this._element.removeAttribute(\"aria-describedby\"),j.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())}),this.tip,e),this._hoverState\u003d\"\"}update(){null!\u003d\u003dthis._popper\u0026\u0026this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t\u003ddocument.createElement(\"div\");t.innerHTML\u003dthis._config.template;const e\u003dt.children[0];return this.setContent(e),e.classList.remove(nn,sn),this.tip\u003de,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),an)}_sanitizeAndSetContent(t,e,i){const n\u003dV.findOne(i,t);e||!n?this.setElementContent(n,e):n.remove()}setElementContent(t,e){if(null!\u003d\u003dt)return o(e)?(e\u003dr(e),void(this._config.html?e.parentNode!\u003d\u003dt\u0026\u0026(t.innerHTML\u003d\"\",t.append(e)):t.textContent\u003de.textContent)):void(this._config.html?(this._config.sanitize\u0026\u0026(e\u003dYi(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML\u003de):t.textContent\u003de)}getTitle(){const t\u003dthis._element.getAttribute(\"data-bs-original-title\")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return\"right\"\u003d\u003d\u003dt?\"end\":\"left\"\u003d\u003d\u003dt?\"start\":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:t}\u003dthis._config;return\"string\"\u003d\u003dtypeof t?t.split(\",\").map((t\u003d\u003eNumber.parseInt(t,10))):\"function\"\u003d\u003dtypeof t?e\u003d\u003et(e,this._element):t}_resolvePossibleFunction(t){return\"function\"\u003d\u003dtypeof t?t.call(this._element):t}_getPopperConfig(t){const e\u003d{placement:t,modifiers:[{name:\"flip\",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:\"offset\",options:{offset:this._getOffset()}},{name:\"preventOverflow\",options:{boundary:this._config.boundary}},{name:\"arrow\",options:{element:`.${this.constructor.NAME}-arrow`}},{name:\"onChange\",enabled:!0,phase:\"afterWrite\",fn:t\u003d\u003ethis._handlePopperPlacementChange(t)}],onFirstUpdate:t\u003d\u003e{t.options.placement!\u003d\u003dt.placement\u0026\u0026this._handlePopperPlacementChange(t)}};return{...e,...\"function\"\u003d\u003dtypeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return Ji[t.toUpperCase()]}_setListeners(){this._config.trigger.split(\" \").forEach((t\u003d\u003e{if(\"click\"\u003d\u003d\u003dt)j.on(this._element,this.constructor.Event.CLICK,this._config.selector,(t\u003d\u003ethis.toggle(t)));else if(\"manual\"!\u003d\u003dt){const e\u003dt\u003d\u003d\u003dhn?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i\u003dt\u003d\u003d\u003dhn?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;j.on(this._element,e,this._config.selector,(t\u003d\u003ethis._enter(t))),j.on(this._element,i,this._config.selector,(t\u003d\u003ethis._leave(t)))}})),this._hideModalHandler\u003d()\u003d\u003e{this._element\u0026\u0026this.hide()},j.on(this._element.closest(ln),cn,this._hideModalHandler),this._config.selector?this._config\u003d{...this._config,trigger:\"manual\",selector:\"\"}:this._fixTitle()}_fixTitle(){const t\u003dthis._element.getAttribute(\"title\"),e\u003dtypeof this._element.getAttribute(\"data-bs-original-title\");(t||\"string\"!\u003d\u003de)\u0026\u0026(this._element.setAttribute(\"data-bs-original-title\",t||\"\"),!t||this._element.getAttribute(\"aria-label\")||this._element.textContent||this._element.setAttribute(\"aria-label\",t),this._element.setAttribute(\"title\",\"\"))}_enter(t,e){e\u003dthis._initializeOnDelegatedTarget(t,e),t\u0026\u0026(e._activeTrigger[\"focusin\"\u003d\u003d\u003dt.type?dn:hn]\u003d!0),e.getTipElement().classList.contains(sn)||e._hoverState\u003d\u003d\u003don?e._hoverState\u003don:(clearTimeout(e._timeout),e._hoverState\u003don,e._config.delay\u0026\u0026e._config.delay.show?e._timeout\u003dsetTimeout((()\u003d\u003e{e._hoverState\u003d\u003d\u003don\u0026\u0026e.show()}),e._config.delay.show):e.show())}_leave(t,e){e\u003dthis._initializeOnDelegatedTarget(t,e),t\u0026\u0026(e._activeTrigger[\"focusout\"\u003d\u003d\u003dt.type?dn:hn]\u003de._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState\u003drn,e._config.delay\u0026\u0026e._config.delay.hide?e._timeout\u003dsetTimeout((()\u003d\u003e{e._hoverState\u003d\u003d\u003drn\u0026\u0026e.hide()}),e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e\u003dU.getDataAttributes(this._element);return Object.keys(e).forEach((t\u003d\u003e{Gi.has(t)\u0026\u0026delete e[t]})),(t\u003d{...this.constructor.Default,...e,...\"object\"\u003d\u003dtypeof t\u0026\u0026t?t:{}}).container\u003d!1\u003d\u003d\u003dt.container?document.body:r(t.container),\"number\"\u003d\u003dtypeof t.delay\u0026\u0026(t.delay\u003d{show:t.delay,hide:t.delay}),\"number\"\u003d\u003dtypeof t.title\u0026\u0026(t.title\u003dt.title.toString()),\"number\"\u003d\u003dtypeof t.content\u0026\u0026(t.content\u003dt.content.toString()),a(Qi,t,this.constructor.DefaultType),t.sanitize\u0026\u0026(t.template\u003dYi(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t\u003d{};for(const e in this._config)this.constructor.Default[e]!\u003d\u003dthis._config[e]\u0026\u0026(t[e]\u003dthis._config[e]);return t}_cleanTipClass(){const t\u003dthis.getTipElement(),e\u003dnew RegExp(`(^|\\\\s)${this._getBasicClassPrefix()}\\\\S+`,\"g\"),i\u003dt.getAttribute(\"class\").match(e);null!\u003d\u003di\u0026\u0026i.length\u003e0\u0026\u0026i.map((t\u003d\u003et.trim())).forEach((e\u003d\u003et.classList.remove(e)))}_getBasicClassPrefix(){return\"bs-tooltip\"}_handlePopperPlacementChange(t){const{state:e}\u003dt;e\u0026\u0026(this.tip\u003de.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper\u0026\u0026(this._popper.destroy(),this._popper\u003dnull)}static jQueryInterface(t){return this.each((function(){const e\u003dun.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}g(un);const fn\u003d{...un.Default,placement:\"right\",offset:[0,8],trigger:\"click\",content:\"\",template:\u0027\u003cdiv class\u003d\"popover\" role\u003d\"tooltip\"\u003e\u003cdiv class\u003d\"popover-arrow\"\u003e\u003c/div\u003e\u003ch3 class\u003d\"popover-header\"\u003e\u003c/h3\u003e\u003cdiv class\u003d\"popover-body\"\u003e\u003c/div\u003e\u003c/div\u003e\u0027},pn\u003d{...un.DefaultType,content:\"(string|element|function)\"},mn\u003d{HIDE:\"hide.bs.popover\",HIDDEN:\"hidden.bs.popover\",SHOW:\"show.bs.popover\",SHOWN:\"shown.bs.popover\",INSERTED:\"inserted.bs.popover\",CLICK:\"click.bs.popover\",FOCUSIN:\"focusin.bs.popover\",FOCUSOUT:\"focusout.bs.popover\",MOUSEENTER:\"mouseenter.bs.popover\",MOUSELEAVE:\"mouseleave.bs.popover\"};class gn extends un{static get Default(){return fn}static get NAME(){return\"popover\"}static get Event(){return mn}static get DefaultType(){return pn}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),\".popover-header\"),this._sanitizeAndSetContent(t,this._getContent(),\".popover-body\")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return\"bs-popover\"}static jQueryInterface(t){return this.each((function(){const e\u003dgn.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}g(gn);const _n\u003d\"scrollspy\",bn\u003d{offset:10,method:\"auto\",target:\"\"},vn\u003d{offset:\"number\",method:\"string\",target:\"(string|element)\"},yn\u003d\"active\",wn\u003d\".nav-link, .list-group-item, .dropdown-item\",En\u003d\"position\";class An extends B{constructor(t,e){super(t),this._scrollElement\u003d\"BODY\"\u003d\u003d\u003dthis._element.tagName?window:this._element,this._config\u003dthis._getConfig(e),this._offsets\u003d[],this._targets\u003d[],this._activeTarget\u003dnull,this._scrollHeight\u003d0,j.on(this._scrollElement,\"scroll.bs.scrollspy\",(()\u003d\u003ethis._process())),this.refresh(),this._process()}static get Default(){return bn}static get NAME(){return _n}refresh(){const t\u003dthis._scrollElement\u003d\u003d\u003dthis._scrollElement.window?\"offset\":En,e\u003d\"auto\"\u003d\u003d\u003dthis._config.method?t:this._config.method,n\u003de\u003d\u003d\u003dEn?this._getScrollTop():0;this._offsets\u003d[],this._targets\u003d[],this._scrollHeight\u003dthis._getScrollHeight(),V.find(wn,this._config.target).map((t\u003d\u003e{const s\u003di(t),o\u003ds?V.findOne(s):null;if(o){const t\u003do.getBoundingClientRect();if(t.width||t.height)return[U[e](o).top+n,s]}return null})).filter((t\u003d\u003et)).sort(((t,e)\u003d\u003et[0]-e[0])).forEach((t\u003d\u003e{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){j.off(this._scrollElement,\".bs.scrollspy\"),super.dispose()}_getConfig(t){return(t\u003d{...bn,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t\u0026\u0026t?t:{}}).target\u003dr(t.target)||document.documentElement,a(_n,t,vn),t}_getScrollTop(){return this._scrollElement\u003d\u003d\u003dwindow?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement\u003d\u003d\u003dwindow?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t\u003dthis._getScrollTop()+this._config.offset,e\u003dthis._getScrollHeight(),i\u003dthis._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!\u003d\u003de\u0026\u0026this.refresh(),t\u003e\u003di){const t\u003dthis._targets[this._targets.length-1];this._activeTarget!\u003d\u003dt\u0026\u0026this._activate(t)}else{if(this._activeTarget\u0026\u0026t\u003cthis._offsets[0]\u0026\u0026this._offsets[0]\u003e0)return this._activeTarget\u003dnull,void this._clear();for(let e\u003dthis._offsets.length;e--;)this._activeTarget!\u003d\u003dthis._targets[e]\u0026\u0026t\u003e\u003dthis._offsets[e]\u0026\u0026(void 0\u003d\u003d\u003dthis._offsets[e+1]||t\u003cthis._offsets[e+1])\u0026\u0026this._activate(this._targets[e])}}_activate(t){this._activeTarget\u003dt,this._clear();const e\u003dwn.split(\",\").map((e\u003d\u003e`${e}[data-bs-target\u003d\"${t}\"],${e}[href\u003d\"${t}\"]`)),i\u003dV.findOne(e.join(\",\"),this._config.target);i.classList.add(yn),i.classList.contains(\"dropdown-item\")?V.findOne(\".dropdown-toggle\",i.closest(\".dropdown\")).classList.add(yn):V.parents(i,\".nav, .list-group\").forEach((t\u003d\u003e{V.prev(t,\".nav-link, .list-group-item\").forEach((t\u003d\u003et.classList.add(yn))),V.prev(t,\".nav-item\").forEach((t\u003d\u003e{V.children(t,\".nav-link\").forEach((t\u003d\u003et.classList.add(yn)))}))})),j.trigger(this._scrollElement,\"activate.bs.scrollspy\",{relatedTarget:t})}_clear(){V.find(wn,this._config.target).filter((t\u003d\u003et.classList.contains(yn))).forEach((t\u003d\u003et.classList.remove(yn)))}static jQueryInterface(t){return this.each((function(){const e\u003dAn.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}j.on(window,\"load.bs.scrollspy.data-api\",(()\u003d\u003e{V.find(\u0027[data-bs-spy\u003d\"scroll\"]\u0027).forEach((t\u003d\u003enew An(t)))})),g(An);const Tn\u003d\"active\",On\u003d\"fade\",Cn\u003d\"show\",kn\u003d\".active\",Ln\u003d\":scope \u003e li \u003e .active\";class xn extends B{static get NAME(){return\"tab\"}show(){if(this._element.parentNode\u0026\u0026this._element.parentNode.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE\u0026\u0026this._element.classList.contains(Tn))return;let t;const e\u003dn(this._element),i\u003dthis._element.closest(\".nav, .list-group\");if(i){const e\u003d\"UL\"\u003d\u003d\u003di.nodeName||\"OL\"\u003d\u003d\u003di.nodeName?Ln:kn;t\u003dV.find(e,i),t\u003dt[t.length-1]}const s\u003dt?j.trigger(t,\"hide.bs.tab\",{relatedTarget:this._element}):null;if(j.trigger(this._element,\"show.bs.tab\",{relatedTarget:t}).defaultPrevented||null!\u003d\u003ds\u0026\u0026s.defaultPrevented)return;this._activate(this._element,i);const o\u003d()\u003d\u003e{j.trigger(t,\"hidden.bs.tab\",{relatedTarget:this._element}),j.trigger(this._element,\"shown.bs.tab\",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,i){const n\u003d(!e||\"UL\"!\u003d\u003de.nodeName\u0026\u0026\"OL\"!\u003d\u003de.nodeName?V.children(e,kn):V.find(Ln,e))[0],s\u003di\u0026\u0026n\u0026\u0026n.classList.contains(On),o\u003d()\u003d\u003ethis._transitionComplete(t,n,i);n\u0026\u0026s?(n.classList.remove(Cn),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove(Tn);const t\u003dV.findOne(\":scope \u003e .dropdown-menu .active\",e.parentNode);t\u0026\u0026t.classList.remove(Tn),\"tab\"\u003d\u003d\u003de.getAttribute(\"role\")\u0026\u0026e.setAttribute(\"aria-selected\",!1)}t.classList.add(Tn),\"tab\"\u003d\u003d\u003dt.getAttribute(\"role\")\u0026\u0026t.setAttribute(\"aria-selected\",!0),u(t),t.classList.contains(On)\u0026\u0026t.classList.add(Cn);let n\u003dt.parentNode;if(n\u0026\u0026\"LI\"\u003d\u003d\u003dn.nodeName\u0026\u0026(n\u003dn.parentNode),n\u0026\u0026n.classList.contains(\"dropdown-menu\")){const e\u003dt.closest(\".dropdown\");e\u0026\u0026V.find(\".dropdown-toggle\",e).forEach((t\u003d\u003et.classList.add(Tn))),t.setAttribute(\"aria-expanded\",!0)}i\u0026\u0026i()}static jQueryInterface(t){return this.each((function(){const e\u003dxn.getOrCreateInstance(this);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}j.on(document,\"click.bs.tab.data-api\",\u0027[data-bs-toggle\u003d\"tab\"], [data-bs-toggle\u003d\"pill\"], [data-bs-toggle\u003d\"list\"]\u0027,(function(t){[\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026t.preventDefault(),c(this)||xn.getOrCreateInstance(this).show()})),g(xn);const Dn\u003d\"toast\",Sn\u003d\"hide\",Nn\u003d\"show\",In\u003d\"showing\",Pn\u003d{animation:\"boolean\",autohide:\"boolean\",delay:\"number\"},jn\u003d{animation:!0,autohide:!0,delay:5e3};class Mn extends B{constructor(t,e){super(t),this._config\u003dthis._getConfig(e),this._timeout\u003dnull,this._hasMouseInteraction\u003d!1,this._hasKeyboardInteraction\u003d!1,this._setListeners()}static get DefaultType(){return Pn}static get Default(){return jn}static get NAME(){return Dn}show(){j.trigger(this._element,\"show.bs.toast\").defaultPrevented||(this._clearTimeout(),this._config.animation\u0026\u0026this._element.classList.add(\"fade\"),this._element.classList.remove(Sn),u(this._element),this._element.classList.add(Nn),this._element.classList.add(In),this._queueCallback((()\u003d\u003e{this._element.classList.remove(In),j.trigger(this._element,\"shown.bs.toast\"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this._element.classList.contains(Nn)\u0026\u0026(j.trigger(this._element,\"hide.bs.toast\").defaultPrevented||(this._element.classList.add(In),this._queueCallback((()\u003d\u003e{this._element.classList.add(Sn),this._element.classList.remove(In),this._element.classList.remove(Nn),j.trigger(this._element,\"hidden.bs.toast\")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains(Nn)\u0026\u0026this._element.classList.remove(Nn),super.dispose()}_getConfig(t){return t\u003d{...jn,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t\u0026\u0026t?t:{}},a(Dn,t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide\u0026\u0026(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout\u003dsetTimeout((()\u003d\u003e{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case\"mouseover\":case\"mouseout\":this._hasMouseInteraction\u003de;break;case\"focusin\":case\"focusout\":this._hasKeyboardInteraction\u003de}if(e)return void this._clearTimeout();const i\u003dt.relatedTarget;this._element\u003d\u003d\u003di||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,\"mouseover.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!0))),j.on(this._element,\"mouseout.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!1))),j.on(this._element,\"focusin.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!0))),j.on(this._element,\"focusout.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout\u003dnull}static jQueryInterface(t){return this.each((function(){const e\u003dMn.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}return R(Mn),g(Mn),{Alert:W,Button:z,Carousel:st,Collapse:pt,Dropdown:hi,Modal:Hi,Offcanvas:Fi,Popover:gn,ScrollSpy:An,Tab:xn,Toast:Mn,Tooltip:un}}));"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"//# sourceMappingURL\u003dbootstrap.bundle.min.js.map"}],"authorContributionMap":{"jingting1412":7}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/js/markbind.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"!function(t,e){\"object\"\u003d\u003dtypeof exports\u0026\u0026\"object\"\u003d\u003dtypeof module?module.exports\u003de(require(\"Vue\")):\"function\"\u003d\u003dtypeof define\u0026\u0026define.amd?define([\"Vue\"],e):\"object\"\u003d\u003dtypeof exports?exports.MarkBind\u003de(require(\"Vue\")):t.MarkBind\u003de(t.Vue)}(self,t\u003d\u003e(()\u003d\u003e{var e\u003d{605:()\u003d\u003e{function t(){document.querySelectorAll(\".\".concat(\"page-nav-clone\")).forEach((function(t){t.remove()}))}window.addEventListener(\"beforeprint\",(function(){var e\u003ddocument.querySelector(\"#\".concat(\"mb-page-nav\")),n\u003ddocument.querySelectorAll(\".\".concat(\"page-nav-print\"));e\u0026\u0026n.length\u003e\u003d1\u0026\u0026(t(),n.forEach((function(t){t.appendChild(function(t){var e\u003dt.cloneNode(!0);return e.removeAttribute(\"id\"),e.querySelectorAll(\"a.active\").forEach((function(t){t.classList.remove(\"active\")})),e.classList.add(\"page-nav-clone\"),e}(e))})))})),window.addEventListener(\"afterprint\",(function(){t()}))},3:t\u003d\u003e{t.exports\u003d{bind:function(t){function e(){t.dataset.isShown\u003d\"false\",r.style.display\u003d\"\",o.style.display\u003d\"none\",i.style.display\u003d\"none\"}function n(){t.dataset.isShown\u003d\"true\",r.style.display\u003d\"none\",i.style.display\u003d\"\"}t.dataset.isShown\u003d\"true\",t.style.position\u003d\"relative\";var i\u003ddocument.createElement(\"div\");i.classList.add(\"content\"),Array.from(t.children).forEach((function(t){return i.append(t)})),t.replaceChildren(),t.append(i),t.classList.add(\"closeable-wrapper\");var o\u003dfunction(){var t\u003ddocument.createElement(\"span\");return t.classList.add(\"closeable-button\",\"label\",\"label-default\",\"hidden-print\"),t.style.cssText+\u003d\"display: none; position: absolute; top: 0; left: 0; cursor: pointer;background: #d9534f\",t.innerHTML\u003d\u0027\u003cspan class\u003d\"glyphicon glyphicon-remove\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e\u0027,t.addEventListener(\"click\",e),t}();t.append(o);var r\u003dfunction(t){var e\u003ddocument.createElement(\"a\");return e.classList.add(\"closeable-show\",\"hidden-print\"),e.style.cssText+\u003d\"display: none; cursor: pointer;text-decoration: underline\",e.innerHTML\u003dt,e.addEventListener(\"click\",n),e}(t.getAttribute(\"alt\")||\"Expand Content\");t.append(r),t.addEventListener(\"mouseover\",(function(){\"false\"!\u003d\u003dt.dataset.isShown\u0026\u0026(o.style.display\u003d\"\")})),t.addEventListener(\"mouseout\",(function(){\"false\"!\u003d\u003dt.dataset.isShown\u0026\u0026(o.style.display\u003d\"none\")}))}}},383:(t,e,n)\u003d\u003e{\"use strict\";var i,o\u003d(i\u003dn(740))\u0026\u0026\"object\"\u003d\u003dtypeof i\u0026\u0026\"default\"in i?i.default:i;function r(t){return(r\u003d\"function\"\u003d\u003dtypeof Symbol\u0026\u0026\"symbol\"\u003d\u003dtypeof Symbol.iterator?function(t){return typeof t}:function(t){return t\u0026\u0026\"function\"\u003d\u003dtypeof Symbol\u0026\u0026t.constructor\u003d\u003d\u003dSymbol\u0026\u0026t!\u003d\u003dSymbol.prototype?\"symbol\":typeof t})(t)}function s(t){return function(t){if(Array.isArray(t)){for(var e\u003d0,n\u003dnew Array(t.length);e\u003ct.length;e++)n[e]\u003dt[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||\"[object Arguments]\"\u003d\u003d\u003dObject.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}var a\u003d\"undefined\"!\u003dtypeof window;function l(t,e){return e.reduce((function(e,n){return t.hasOwnProperty(n)\u0026\u0026(e[n]\u003dt[n]),e}),{})}var c\u003d{},u\u003d{},d\u003d{},h\u003dnew(o.extend({data:function(){return{transports:c,targets:u,sources:d,trackInstances:a}},methods:{open:function(t){if(a){var e\u003dt.to,n\u003dt.from,i\u003dt.passengers,s\u003dt.order,l\u003dvoid 0\u003d\u003d\u003ds?1/0:s;if(e\u0026\u0026n\u0026\u0026i){var c,u\u003d{to:e,from:n,passengers:(c\u003di,Array.isArray(c)||\"object\"\u003d\u003d\u003dr(c)?Object.freeze(c):c),order:l};-1\u003d\u003d\u003dObject.keys(this.transports).indexOf(e)\u0026\u0026o.set(this.transports,e,[]);var d,h\u003dthis.$_getTransportIndex(u),p\u003dthis.transports[e].slice(0);-1\u003d\u003d\u003dh?p.push(u):p[h]\u003du,this.transports[e]\u003d(d\u003dfunction(t,e){return t.order-e.order},p.map((function(t,e){return[e,t]})).sort((function(t,e){return d(t[1],e[1])||t[0]-e[0]})).map((function(t){return t[1]})))}}},close:function(t){var e\u003darguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1]\u0026\u0026arguments[1],n\u003dt.to,i\u003dt.from;if(n\u0026\u0026(i||!1!\u003d\u003de)\u0026\u0026this.transports[n])if(e)this.transports[n]\u003d[];else{var o\u003dthis.$_getTransportIndex(t);if(o\u003e\u003d0){var r\u003dthis.transports[n].slice(0);r.splice(o,1),this.transports[n]\u003dr}}},registerTarget:function(t,e,n){a\u0026\u0026(this.trackInstances\u0026\u0026!n\u0026\u0026this.targets[t]\u0026\u0026console.warn(\"[portal-vue]: Target \".concat(t,\" already exists\")),this.$set(this.targets,t,Object.freeze([e])))},unregisterTarget:function(t){this.$delete(this.targets,t)},registerSource:function(t,e,n){a\u0026\u0026(this.trackInstances\u0026\u0026!n\u0026\u0026this.sources[t]\u0026\u0026console.warn(\"[portal-vue]: source \".concat(t,\" already exists\")),this.$set(this.sources,t,Object.freeze([e])))},unregisterSource:function(t){this.$delete(this.sources,t)},hasTarget:function(t){return!(!this.targets[t]||!this.targets[t][0])},hasSource:function(t){return!(!this.sources[t]||!this.sources[t][0])},hasContentFor:function(t){return!!this.transports[t]\u0026\u0026!!this.transports[t].length},$_getTransportIndex:function(t){var e\u003dt.to,n\u003dt.from;for(var i in this.transports[e])if(this.transports[e][i].from\u003d\u003d\u003dn)return+i;return-1}}}))(c),p\u003d1,f\u003do.extend({name:\"portal\",props:{disabled:{type:Boolean},name:{type:String,default:function(){return String(p++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:\"DIV\"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}}},created:function(){var t\u003dthis;this.$nextTick((function(){h.registerSource(t.name,t)}))},mounted:function(){this.disabled||this.sendUpdate()},updated:function(){this.disabled?this.clear():this.sendUpdate()},beforeDestroy:function(){h.unregisterSource(this.name),this.clear()},watch:{to:function(t,e){e\u0026\u0026e!\u003d\u003dt\u0026\u0026this.clear(e),this.sendUpdate()}},methods:{clear:function(t){var e\u003d{from:this.name,to:t||this.to};h.close(e)},normalizeSlots:function(){return this.$scopedSlots.default?[this.$scopedSlots.default]:this.$slots.default},normalizeOwnChildren:function(t){return\"function\"\u003d\u003dtypeof t?t(this.slotProps):t},sendUpdate:function(){var t\u003dthis.normalizeSlots();if(t){var e\u003d{from:this.name,to:this.to,passengers:s(t),order:this.order};h.open(e)}else this.clear()}},render:function(t){var e\u003dthis.$slots.default||this.$scopedSlots.default||[],n\u003dthis.tag;return e\u0026\u0026this.disabled?e.length\u003c\u003d1\u0026\u0026this.slim?this.normalizeOwnChildren(e)[0]:t(n,[this.normalizeOwnChildren(e)]):this.slim?t():t(n,{class:{\"v-portal\":!0},style:{display:\"none\"},key:\"v-portal-placeholder\"})}}),m\u003do.extend({name:\"portalTarget\",props:{multiple:{type:Boolean,default:!1},name:{type:String,required:!0},slim:{type:Boolean,default:!1},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:\"div\"},transition:{type:[String,Object,Function]}},data:function(){return{transports:h.transports,firstRender:!0}},created:function(){var t\u003dthis;this.$nextTick((function(){h.registerTarget(t.name,t)}))},watch:{ownTransports:function(){this.$emit(\"change\",this.children().length\u003e0)},name:function(t,e){h.unregisterTarget(e),h.registerTarget(t,this)}},mounted:function(){var t\u003dthis;this.transition\u0026\u0026this.$nextTick((function(){t.firstRender\u003d!1}))},beforeDestroy:function(){h.unregisterTarget(this.name)},computed:{ownTransports:function(){var t\u003dthis.transports[this.name]||[];return this.multiple?t:0\u003d\u003d\u003dt.length?[]:[t[t.length-1]]},passengers:function(){return function(t){var e\u003darguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1]?arguments[1]:{};return t.reduce((function(t,n){var i\u003dn.passengers[0],o\u003d\"function\"\u003d\u003dtypeof i?i(e):n.passengers;return t.concat(o)}),[])}(this.ownTransports,this.slotProps)}},methods:{children:function(){return 0!\u003d\u003dthis.passengers.length?this.passengers:this.$scopedSlots.default?this.$scopedSlots.default(this.slotProps):this.$slots.default||[]},noWrapper:function(){var t\u003dthis.slim\u0026\u0026!this.transition;return t\u0026\u0026this.children().length\u003e1\u0026\u0026console.warn(\"[portal-vue]: PortalTarget with `slim` option received more than one child element.\"),t}},render:function(t){var e\u003dthis.noWrapper(),n\u003dthis.children(),i\u003dthis.transition||this.tag;return e?n[0]:this.slim\u0026\u0026!i?t():t(i,{props:{tag:this.transition\u0026\u0026this.tag?this.tag:void 0},class:{\"vue-portal-target\":!0}},n)}}),v\u003d0,g\u003d[\"disabled\",\"name\",\"order\",\"slim\",\"slotProps\",\"tag\",\"to\"],y\u003d[\"multiple\",\"transition\"],w\u003do.extend({name:\"MountingPortal\",inheritAttrs:!1,props:{append:{type:[Boolean,String]},bail:{type:Boolean},mountTo:{type:String,required:!0},disabled:{type:Boolean},name:{type:String,default:function(){return\"mounted_\"+String(v++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:\"DIV\"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}},multiple:{type:Boolean,default:!1},targetSlim:{type:Boolean},targetSlotProps:{type:Object,default:function(){return{}}},targetTag:{type:String,default:\"div\"},transition:{type:[String,Object,Function]}},created:function(){if(\"undefined\"!\u003dtypeof document){var t\u003ddocument.querySelector(this.mountTo);if(t){var e\u003dthis.$props;if(h.targets[e.name])e.bail?console.warn(\"[portal-vue]: Target \".concat(e.name,\" is already mounted.\\n Aborting because \u0027bail: true\u0027 is set\")):this.portalTarget\u003dh.targets[e.name];else{var n\u003de.append;if(n){var i\u003d\"string\"\u003d\u003dtypeof n?n:\"DIV\",o\u003ddocument.createElement(i);t.appendChild(o),t\u003do}var r\u003dl(this.$props,y);r.slim\u003dthis.targetSlim,r.tag\u003dthis.targetTag,r.slotProps\u003dthis.targetSlotProps,r.name\u003dthis.to,this.portalTarget\u003dnew m({el:t,parent:this.$parent||this,propsData:r})}}else console.error(\"[portal-vue]: Mount Point \u0027\".concat(this.mountTo,\"\u0027 not found in document\"))}},beforeDestroy:function(){var t\u003dthis.portalTarget;if(this.append){var e\u003dt.$el;e.parentNode.removeChild(e)}t.$destroy()},render:function(t){if(!this.portalTarget)return console.warn(\"[portal-vue] Target wasn\u0027t mounted\"),t();if(!this.$scopedSlots.manual){var e\u003dl(this.$props,g);return t(f,{props:e,attrs:this.$attrs,on:this.$listeners,scopedSlots:this.$scopedSlots},this.$slots.default)}var n\u003dthis.$scopedSlots.manual({to:this.to});return Array.isArray(n)\u0026\u0026(n\u003dn[0]),n||t()}});e.h_\u003df,e.YC\u003dm},740:e\u003d\u003e{\"use strict\";e.exports\u003dt}},n\u003d{};function i(t){var o\u003dn[t];if(void 0!\u003d\u003do)return o.exports;var r\u003dn[t]\u003d{exports:{}};return e[t](r,r.exports,i),r.exports}i.n\u003dt\u003d\u003e{var e\u003dt\u0026\u0026t.__esModule?()\u003d\u003et.default:()\u003d\u003et;return i.d(e,{a:e}),e},i.d\u003d(t,e)\u003d\u003e{for(var n in e)i.o(e,n)\u0026\u0026!i.o(t,n)\u0026\u0026Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.g\u003dfunction(){if(\"object\"\u003d\u003dtypeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(t){if(\"object\"\u003d\u003dtypeof window)return window}}(),i.o\u003d(t,e)\u003d\u003eObject.prototype.hasOwnProperty.call(t,e);var o\u003d{};return(()\u003d\u003e{\"use strict\";function t(e){return(t\u003d\"function\"\u003d\u003dtypeof Symbol\u0026\u0026\"symbol\"\u003d\u003dtypeof Symbol.iterator?function(t){return typeof t}:function(t){return t\u0026\u0026\"function\"\u003d\u003dtypeof Symbol\u0026\u0026t.constructor\u003d\u003d\u003dSymbol\u0026\u0026t!\u003d\u003dSymbol.prototype?\"symbol\":typeof t})(e)}function e(e){var n\u003dfunction(e,n){if(\"object\"!\u003d\u003dt(e)||null\u003d\u003d\u003de)return e;var i\u003de[Symbol.toPrimitive];if(void 0!\u003d\u003di){var o\u003di.call(e,n||\"default\");if(\"object\"!\u003d\u003dt(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"\u003d\u003d\u003dn?String:Number)(e)}(e,\"string\");return\"symbol\"\u003d\u003d\u003dt(n)?n:String(n)}function n(t,n,i){return(n\u003de(n))in t?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]\u003di,t}function r(t){return t.split(\"-\")[0]}function s(t){return t.split(\"-\")[1]}function a(t){return[\"top\",\"bottom\"].includes(r(t))?\"x\":\"y\"}function l(t){return\"y\"\u003d\u003d\u003dt?\"height\":\"width\"}function c(t){let{reference:e,floating:n,placement:i}\u003dt;const o\u003de.x+e.width/2-n.width/2,c\u003de.y+e.height/2-n.height/2;let u;switch(r(i)){case\"top\":u\u003d{x:o,y:e.y-n.height};break;case\"bottom\":u\u003d{x:o,y:e.y+e.height};break;case\"right\":u\u003d{x:e.x+e.width,y:c};break;case\"left\":u\u003d{x:e.x-n.width,y:c};break;default:u\u003d{x:e.x,y:e.y}}const d\u003da(i),h\u003dl(d);switch(s(i)){case\"start\":u[d]\u003du[d]-(e[h]/2-n[h]/2);break;case\"end\":u[d]\u003du[d]+(e[h]/2-n[h]/2)}return u}i.d(o,{default:()\u003d\u003eMo});function u(t){return\"number\"!\u003dtypeof t?function(t){return{top:0,right:0,bottom:0,left:0,...t}}(t):{top:t,right:t,bottom:t,left:t}}function d(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}async function h(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});const{x:n,y:i,platform:o,rects:r,elements:s,strategy:a}\u003dt,{boundary:l\u003d\"clippingParents\",rootBoundary:c\u003d\"viewport\",elementContext:h\u003d\"floating\",altBoundary:p\u003d!1,padding:f\u003d0}\u003de,m\u003du(f),v\u003ds[p?\"floating\"\u003d\u003d\u003dh?\"reference\":\"floating\":h],g\u003dawait o.getClippingClientRect({element:await o.isElement(v)?v:v.contextElement||await o.getDocumentElement({element:s.floating}),boundary:l,rootBoundary:c}),y\u003dd(await o.convertOffsetParentRelativeRectToViewportRelativeRect({rect:\"floating\"\u003d\u003d\u003dh?{...r.floating,x:n,y:i}:r.reference,offsetParent:await o.getOffsetParent({element:s.floating}),strategy:a}));return{top:g.top-y.top+m.top,bottom:y.bottom-g.bottom+m.bottom,left:g.left-y.left+m.left,right:y.right-g.right+m.right}}const p\u003dMath.min,f\u003dMath.max;function m(t,e,n){return f(t,p(e,n))}const v\u003d{left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function g(t){return t.replace(/left|right|bottom|top/g,t\u003d\u003ev[t])}function y(t,e){const n\u003d\"start\"\u003d\u003d\u003ds(t),i\u003da(t),o\u003dl(i);let r\u003d\"x\"\u003d\u003d\u003di?n?\"right\":\"left\":n?\"bottom\":\"top\";return e.reference[o]\u003ee.floating[o]\u0026\u0026(r\u003dg(r)),{main:r,cross:g(r)}}const w\u003d{start:\"end\",end:\"start\"};function b(t){return t.replace(/start|end/g,t\u003d\u003ew[t])}const _\u003d[\"top\",\"right\",\"bottom\",\"left\"],S\u003d_.reduce((t,e)\u003d\u003et.concat(e,e+\"-start\",e+\"-end\"),[]);const x\u003dfunction(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"autoPlacement\",options:t,async fn(e){var n,i,o,a,l,c;const{x:u,y:d,rects:p,middlewareData:f,placement:m}\u003de,{alignment:v\u003dnull,allowedPlacements:g\u003dS,autoAlignment:w\u003d!0,..._}\u003dt;if(null!\u003d(n\u003df.autoPlacement)\u0026\u0026n.skip)return{};const x\u003dfunction(t,e,n){return(t?[...n.filter(e\u003d\u003es(e)\u003d\u003d\u003dt),...n.filter(e\u003d\u003es(e)!\u003d\u003dt)]:n.filter(t\u003d\u003er(t)\u003d\u003d\u003dt)).filter(n\u003d\u003e!t||(s(n)\u003d\u003d\u003dt||!!e\u0026\u0026b(n)!\u003d\u003dn))}(v,w,g),C\u003dawait h(e,_),$\u003dnull!\u003d(i\u003dnull\u003d\u003d(o\u003df.autoPlacement)?void 0:o.index)?i:0,k\u003dx[$],{main:T,cross:E}\u003dy(k,p);if(m!\u003d\u003dk)return{x:u,y:d,reset:{placement:x[0]}};const O\u003d[C[r(k)],C[T],C[E]],B\u003d[...null!\u003d(a\u003dnull\u003d\u003d(l\u003df.autoPlacement)?void 0:l.overflows)?a:[],{placement:k,overflows:O}],P\u003dx[$+1];if(P)return{data:{index:$+1,overflows:B},reset:{placement:P}};const L\u003dB.slice().sort((t,e)\u003d\u003et.overflows[0]-e.overflows[0]),N\u003dnull\u003d\u003d(c\u003dL.find(t\u003d\u003e{let{overflows:e}\u003dt;return e.every(t\u003d\u003et\u003c\u003d0)}))?void 0:c.placement;return{data:{skip:!0},reset:{placement:null!\u003dN?N:L[0].placement}}}}};const C\u003dfunction(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"flip\",options:t,async fn(e){var n,i;const{placement:o,middlewareData:s,rects:a,initialPlacement:l}\u003de;if(null!\u003d(n\u003ds.flip)\u0026\u0026n.skip)return{};const{mainAxis:c\u003d!0,crossAxis:u\u003d!0,fallbackPlacements:d,fallbackStrategy:p\u003d\"bestFit\",flipAlignment:f\u003d!0,...m}\u003dt,v\u003dr(o),w\u003d[l,...d||(v\u003d\u003d\u003dl||!f?[g(l)]:function(t){const e\u003dg(t);return[b(t),e,b(e)]}(l))],_\u003dawait h(e,m),S\u003d[];let x\u003d(null\u003d\u003d(i\u003ds.flip)?void 0:i.overflows)||[];if(c\u0026\u0026S.push(_[v]),u){const{main:t,cross:e}\u003dy(o,a);S.push(_[t],_[e])}if(x\u003d[...x,{placement:o,overflows:S}],!S.every(t\u003d\u003et\u003c\u003d0)){var C,$;const t\u003d(null!\u003d(C\u003dnull\u003d\u003d($\u003ds.flip)?void 0:$.index)?C:0)+1,e\u003dw[t];if(e)return{data:{index:t,overflows:x},reset:{placement:e}};let n\u003d\"bottom\";switch(p){case\"bestFit\":{var k;const t\u003dnull\u003d\u003d(k\u003dx.slice().sort((t,e)\u003d\u003et.overflows.filter(t\u003d\u003et\u003e0).reduce((t,e)\u003d\u003et+e,0)-e.overflows.filter(t\u003d\u003et\u003e0).reduce((t,e)\u003d\u003et+e,0))[0])?void 0:k.placement;t\u0026\u0026(n\u003dt);break}case\"initialPlacement\":n\u003dl}return{data:{skip:!0},reset:{placement:n}}}return{}}}};const $\u003dfunction(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d0),{name:\"offset\",options:t,fn(e){const{x:n,y:i,placement:o,rects:s}\u003de,l\u003dfunction(t){let{placement:e,rects:n,value:i}\u003dt;const o\u003dr(e),s\u003d[\"left\",\"top\"].includes(o)?-1:1,l\u003d\"function\"\u003d\u003dtypeof i?i({...n,placement:e}):i,{mainAxis:c,crossAxis:u}\u003d\"number\"\u003d\u003dtypeof l?{mainAxis:l,crossAxis:0}:{mainAxis:0,crossAxis:0,...l};return\"x\"\u003d\u003d\u003da(o)?{x:u,y:c*s}:{x:c*s,y:u}}({placement:o,rects:s,value:t});return{x:n+l.x,y:i+l.y,data:l}}}};function k(t){return\"x\"\u003d\u003d\u003dt?\"y\":\"x\"}function T(t){return\"[object Window]\"\u003d\u003d\u003d(null\u003d\u003dt?void 0:t.toString())}function E(t){if(null\u003d\u003dt)return window;if(!T(t)){const e\u003dt.ownerDocument;return e\u0026\u0026e.defaultView||window}return t}function O(t){return E(t).getComputedStyle(t)}function B(t){return T(t)?\"\":t?(t.nodeName||\"\").toLowerCase():\"\"}function P(t){return t instanceof E(t).HTMLElement}function L(t){return t instanceof E(t).Element}function N(t){return t instanceof E(t).ShadowRoot||t instanceof ShadowRoot}function A(t){const{overflow:e,overflowX:n,overflowY:i}\u003dO(t);return/auto|scroll|overlay|hidden/.test(e+i+n)}function z(t){return[\"table\",\"td\",\"th\"].includes(B(t))}function M(t){const e\u003dnavigator.userAgent.toLowerCase().includes(\"firefox\"),n\u003dO(t);return\"none\"!\u003d\u003dn.transform||\"none\"!\u003d\u003dn.perspective||\"paint\"\u003d\u003d\u003dn.contain||[\"transform\",\"perspective\"].includes(n.willChange)||e\u0026\u0026\"filter\"\u003d\u003d\u003dn.willChange||e\u0026\u0026!!n.filter\u0026\u0026\"none\"!\u003d\u003dn.filter}const H\u003dMath.min,D\u003dMath.max,R\u003dMath.round;function j(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d!1);const n\u003dt.getBoundingClientRect();let i\u003d1,o\u003d1;return e\u0026\u0026P(t)\u0026\u0026(i\u003dt.offsetWidth\u003e0\u0026\u0026R(n.width)/t.offsetWidth||1,o\u003dt.offsetHeight\u003e0\u0026\u0026R(n.height)/t.offsetHeight||1),{width:n.width/i,height:n.height/o,top:n.top/o,right:n.right/i,bottom:n.bottom/o,left:n.left/i,x:n.left/i,y:n.top/o}}function I(t){return(e\u003dt,(e instanceof E(e).Node?t.ownerDocument:t.document)||window.document).documentElement;var e}function q(t){return T(t)?{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}:{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function W(t){return j(I(t)).left+q(t).scrollLeft}function F(t,e,n){const i\u003dP(e),o\u003dI(e),r\u003dj(t,i\u0026\u0026function(t){const e\u003dj(t);return R(e.width)!\u003d\u003dt.offsetWidth||R(e.height)!\u003d\u003dt.offsetHeight}(e));let s\u003d{scrollLeft:0,scrollTop:0};const a\u003d{x:0,y:0};if(i||!i\u0026\u0026\"fixed\"!\u003d\u003dn)if((\"body\"!\u003d\u003dB(e)||A(o))\u0026\u0026(s\u003dq(e)),P(e)){const t\u003dj(e,!0);a.x\u003dt.x+e.clientLeft,a.y\u003dt.y+e.clientTop}else o\u0026\u0026(a.x\u003dW(o));return{x:r.left+s.scrollLeft-a.x,y:r.top+s.scrollTop-a.y,width:r.width,height:r.height}}function V(t){return\"html\"\u003d\u003d\u003dB(t)?t:t.assignedSlot||t.parentNode||(N(t)?t.host:null)||I(t)}function U(t){return P(t)\u0026\u0026\"fixed\"!\u003d\u003dgetComputedStyle(t).position?t.offsetParent:null}function Q(t){const e\u003dE(t);let n\u003dU(t);for(;n\u0026\u0026z(n)\u0026\u0026\"static\"\u003d\u003d\u003dgetComputedStyle(n).position;)n\u003dU(n);return n\u0026\u0026(\"html\"\u003d\u003d\u003dB(n)||\"body\"\u003d\u003d\u003dB(n)\u0026\u0026\"static\"\u003d\u003d\u003dgetComputedStyle(n).position\u0026\u0026!M(n))?e:n||function(t){let e\u003dV(t);for(;P(e)\u0026\u0026![\"html\",\"body\"].includes(B(e));){if(M(e))return e;e\u003de.parentNode}return null}(t)||e}function X(t){return{width:t.offsetWidth,height:t.offsetHeight}}function Y(t,e){var n;void 0\u003d\u003d\u003de\u0026\u0026(e\u003d[]);const i\u003dfunction t(e){return[\"html\",\"body\",\"#document\"].includes(B(e))?e.ownerDocument.body:P(e)\u0026\u0026A(e)?e:t(V(e))}(t),o\u003di\u003d\u003d\u003d(null\u003d\u003d(n\u003dt.ownerDocument)?void 0:n.body),r\u003dE(i),s\u003do?[r].concat(r.visualViewport||[],A(i)?i:[]):i,a\u003de.concat(s);return o?a:a.concat(Y(V(s)))}function K(t,e){return\"viewport\"\u003d\u003d\u003de?d(function(t){const e\u003dE(t),n\u003dI(t),i\u003de.visualViewport;let o\u003dn.clientWidth,r\u003dn.clientHeight,s\u003d0,a\u003d0;return i\u0026\u0026(o\u003di.width,r\u003di.height,Math.abs(e.innerWidth/i.scale-i.width)\u003c.01\u0026\u0026(s\u003di.offsetLeft,a\u003di.offsetTop)),{width:o,height:r,x:s,y:a}}(t)):L(e)?function(t){const e\u003dj(t),n\u003de.top+t.clientTop,i\u003de.left+t.clientLeft;return{top:n,left:i,x:i,y:n,right:i+t.clientWidth,bottom:n+t.clientHeight,width:t.clientWidth,height:t.clientHeight}}(e):d(function(t){var e;const n\u003dI(t),i\u003dq(t),o\u003dnull\u003d\u003d(e\u003dt.ownerDocument)?void 0:e.body,r\u003dD(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s\u003dD(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0);let a\u003d-i.scrollLeft+W(t);const l\u003d-i.scrollTop;return\"rtl\"\u003d\u003d\u003dO(o||n).direction\u0026\u0026(a+\u003dD(n.clientWidth,o?o.clientWidth:0)-r),{width:r,height:s,x:a,y:l}}(I(t)))}function G(t){const e\u003dY(V(t)),n\u003d[\"absolute\",\"fixed\"].includes(O(t).position)\u0026\u0026P(t)?Q(t):t;return L(n)?e.filter(t\u003d\u003eL(t)\u0026\u0026function(t,e){const n\u003dnull\u003d\u003de.getRootNode?void 0:e.getRootNode();if(t.contains(e))return!0;if(n\u0026\u0026N(n)){let n\u003de;do{if(n\u0026\u0026t\u003d\u003d\u003dn)return!0;n\u003dn.parentNode||n.host}while(n)}return!1}(t,n)\u0026\u0026\"body\"!\u003d\u003dB(t)):[]}const Z\u003d{getElementRects:t\u003d\u003e{let{reference:e,floating:n,strategy:i}\u003dt;return{reference:F(e,Q(n),i),floating:{...X(n),x:0,y:0}}},convertOffsetParentRelativeRectToViewportRelativeRect:t\u003d\u003efunction(t){let{rect:e,offsetParent:n,strategy:i}\u003dt;const o\u003dP(n),r\u003dI(n);if(n\u003d\u003d\u003dr)return e;let s\u003d{scrollLeft:0,scrollTop:0};const a\u003d{x:0,y:0};if((o||!o\u0026\u0026\"fixed\"!\u003d\u003di)\u0026\u0026((\"body\"!\u003d\u003dB(n)||A(r))\u0026\u0026(s\u003dq(n)),P(n))){const t\u003dj(n,!0);a.x\u003dt.x+n.clientLeft,a.y\u003dt.y+n.clientTop}return{...e,x:e.x-s.scrollLeft+a.x,y:e.y-s.scrollTop+a.y}}(t),getOffsetParent:t\u003d\u003e{let{element:e}\u003dt;return Q(e)},isElement:t\u003d\u003eL(t),getDocumentElement:t\u003d\u003e{let{element:e}\u003dt;return I(e)},getClippingClientRect:t\u003d\u003efunction(t){let{element:e,boundary:n,rootBoundary:i}\u003dt;const o\u003d[...\"clippingParents\"\u003d\u003d\u003dn?G(e):[].concat(n),i],r\u003do[0],s\u003do.reduce((t,n)\u003d\u003e{const i\u003dK(e,n);return t.top\u003dD(i.top,t.top),t.right\u003dH(i.right,t.right),t.bottom\u003dH(i.bottom,t.bottom),t.left\u003dD(i.left,t.left),t},K(e,r));return s.width\u003ds.right-s.left,s.height\u003ds.bottom-s.top,s.x\u003ds.left,s.y\u003ds.top,s}(t),getDimensions:t\u003d\u003e{let{element:e}\u003dt;return X(e)},getClientRects:t\u003d\u003e{let{element:e}\u003dt;return e.getClientRects()}},J\u003d(t,e,n)\u003d\u003e(async(t,e,n)\u003d\u003e{const{placement:i\u003d\"bottom\",strategy:o\u003d\"absolute\",middleware:r\u003d[],platform:s}\u003dn;let a\u003dawait s.getElementRects({reference:t,floating:e,strategy:o}),{x:l,y:u}\u003dc({...a,placement:i}),d\u003di,h\u003d{};for(let n\u003d0;n\u003cr.length;n++){0;const{name:p,fn:f}\u003dr[n],{x:m,y:v,data:g,reset:y}\u003dawait f({x:l,y:u,initialPlacement:i,placement:d,strategy:o,middlewareData:h,rects:a,platform:s,elements:{reference:t,floating:e}});l\u003dnull!\u003dm?m:l,u\u003dnull!\u003dv?v:u,h\u003d{...h,[p]:null!\u003dg?g:{}},y\u0026\u0026(\"object\"\u003d\u003dtypeof y\u0026\u0026(y.placement\u0026\u0026(d\u003dy.placement),y.rects\u0026\u0026(a\u003d!0\u003d\u003d\u003dy.rects?await s.getElementRects({reference:t,floating:e,strategy:o}):y.rects),({x:l,y:u}\u003dc({...a,placement:d}))),n\u003d-1)}return{x:l,y:u,placement:d,strategy:o,middlewareData:h}})(t,e,{platform:Z,...n});var tt\u003di(740),et\u003di.n(tt),nt\u003dObject.defineProperty,it\u003dObject.defineProperties,ot\u003dObject.getOwnPropertyDescriptors,rt\u003dObject.getOwnPropertySymbols,st\u003dObject.prototype.hasOwnProperty,at\u003dObject.prototype.propertyIsEnumerable,lt\u003d(t,e,n)\u003d\u003ee in t?nt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]\u003dn,ct\u003d(t,e)\u003d\u003e{for(var n in e||(e\u003d{}))st.call(e,n)\u0026\u0026lt(t,n,e[n]);if(rt)for(var n of rt(e))at.call(e,n)\u0026\u0026lt(t,n,e[n]);return t},ut\u003d(t,e)\u003d\u003eit(t,ot(e));const dt\u003d{disabled:!1,distance:5,skidding:0,container:\"body\",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:\"absolute\",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,themes:{tooltip:{placement:\"top\",triggers:[\"hover\",\"focus\",\"touch\"],hideTriggers:t\u003d\u003e[...t,\"click\"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:\"...\"},dropdown:{placement:\"bottom\",triggers:[\"click\"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:\"dropdown\",triggers:[\"hover\",\"focus\"],popperTriggers:[\"hover\",\"focus\"],delay:{show:0,hide:400}}}};function ht(t,e){let n,i\u003ddt.themes[t]||{};do{n\u003di[e],void 0\u003d\u003d\u003dn?i.$extend?i\u003ddt.themes[i.$extend]||{}:(i\u003dnull,n\u003ddt[e]):i\u003dnull}while(i);return n}let pt\u003d!1;if(\"undefined\"!\u003dtypeof window){pt\u003d!1;try{const t\u003dObject.defineProperty({},\"passive\",{get(){pt\u003d!0}});window.addEventListener(\"test\",null,t)}catch(t){}}let ft\u003d!1;\"undefined\"!\u003dtypeof window\u0026\u0026\"undefined\"!\u003dtypeof navigator\u0026\u0026(ft\u003d/iPad|iPhone|iPod/.test(navigator.userAgent)\u0026\u0026!window.MSStream);const mt\u003d[\"auto\",\"top\",\"bottom\",\"left\",\"right\"].reduce((t,e)\u003d\u003et.concat([e,e+\"-start\",e+\"-end\"]),[]),vt\u003d{hover:\"mouseenter\",focus:\"focus\",click:\"click\",touch:\"touchstart\"},gt\u003d{hover:\"mouseleave\",focus:\"blur\",click:\"click\",touch:\"touchend\"};function yt(){return new Promise(t\u003d\u003erequestAnimationFrame(()\u003d\u003e{requestAnimationFrame(t)}))}const wt\u003d[];let bt\u003dnull,_t\u003dfunction(){};function St(t){return function(){return ht(this.$props.theme,t)}}\"undefined\"!\u003dtypeof window\u0026\u0026(_t\u003dwindow.Element);const xt\u003d\"__floating-vue__popper\";var Ct\u003d()\u003d\u003e({name:\"VPopper\",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:St(\"disabled\")},positioningDisabled:{type:Boolean,default:St(\"positioningDisabled\")},placement:{type:String,default:St(\"placement\"),validator:t\u003d\u003emt.includes(t)},delay:{type:[String,Number,Object],default:St(\"delay\")},distance:{type:[Number,String],default:St(\"distance\")},skidding:{type:[Number,String],default:St(\"skidding\")},triggers:{type:Array,default:St(\"triggers\")},showTriggers:{type:[Array,Function],default:St(\"showTriggers\")},hideTriggers:{type:[Array,Function],default:St(\"hideTriggers\")},popperTriggers:{type:Array,default:St(\"popperTriggers\")},popperShowTriggers:{type:[Array,Function],default:St(\"popperShowTriggers\")},popperHideTriggers:{type:[Array,Function],default:St(\"popperHideTriggers\")},container:{type:[String,Object,_t,Boolean],default:St(\"container\")},boundary:{type:[String,_t],default:St(\"boundary\")},strategy:{type:String,validator:t\u003d\u003e[\"absolute\",\"fixed\"].includes(t),default:St(\"strategy\")},autoHide:{type:Boolean,default:St(\"autoHide\")},handleResize:{type:Boolean,default:St(\"handleResize\")},instantMove:{type:Boolean,default:St(\"instantMove\")},eagerMount:{type:Boolean,default:St(\"eagerMount\")},popperClass:{type:[String,Array,Object],default:St(\"popperClass\")},computeTransformOrigin:{type:Boolean,default:St(\"computeTransformOrigin\")},autoMinSize:{type:Boolean,default:St(\"autoMinSize\")},autoSize:{type:[Boolean,String],default:St(\"autoSize\")},autoMaxSize:{type:Boolean,default:St(\"autoMaxSize\")},autoBoundaryMaxSize:{type:Boolean,default:St(\"autoBoundaryMaxSize\")},preventOverflow:{type:Boolean,default:St(\"preventOverflow\")},overflowPadding:{type:[Number,String],default:St(\"overflowPadding\")},arrowPadding:{type:[Number,String],default:St(\"arrowPadding\")},arrowOverflow:{type:Boolean,default:St(\"arrowOverflow\")},flip:{type:Boolean,default:St(\"flip\")},shift:{type:Boolean,default:St(\"shift\")},shiftCrossAxis:{type:Boolean,default:St(\"shiftCrossAxis\")}},provide(){return{[xt]:{parentPopper:this}}},inject:{[xt]:{default:null}},data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:\"\",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},shownChildren:new Set}},computed:{popperId(){return null!\u003dthis.ariaId?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:ut(ct({},this.classes),{popperClass:this.popperClass}),result:this.positioningDisabled?null:this.result}},parentPopper(){var t;return null\u003d\u003d(t\u003dthis[xt])?void 0:t.parentPopper}},watch:ct(ct({shown:\"$_autoShowHide\",disabled(t){t?this.dispose():this.init()},async container(){this.isShown\u0026\u0026(this.$_ensureTeleport(),await this.$_computePosition())}},[\"triggers\",\"positioningDisabled\"].reduce((t,e)\u003d\u003e(t[e]\u003d\"$_refreshListeners\",t),{})),[\"placement\",\"distance\",\"skidding\",\"boundary\",\"strategy\",\"overflowPadding\",\"arrowPadding\",\"preventOverflow\",\"shift\",\"shiftCrossAxis\",\"flip\"].reduce((t,e)\u003d\u003e(t[e]\u003d\"$_computePosition\",t),{})),created(){this.$_isDisposed\u003d!0,this.randomId\u003d\"popper_\"+[Math.random(),Date.now()].map(t\u003d\u003et.toString(36).substring(2,10)).join(\"_\"),this.autoMinSize\u0026\u0026console.warn(\u0027[floating-vue] `autoMinSize` option is deprecated. Use `autoSize\u003d\"min\"` instead.\u0027),this.autoMaxSize\u0026\u0026console.warn(\"[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.\")},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeDestroy(){this.dispose()},methods:{show({event:t\u003dnull,skipDelay:e\u003d!1,force:n\u003d!1}\u003d{}){var i,o;(null\u003d\u003d(i\u003dthis.parentPopper)?void 0:i.lockedChild)\u0026\u0026this.parentPopper.lockedChild!\u003d\u003dthis||(this.$_pendingHide\u003d!1,!n\u0026\u0026this.disabled||((null\u003d\u003d(o\u003dthis.parentPopper)?void 0:o.lockedChild)\u003d\u003d\u003dthis\u0026\u0026(this.parentPopper.lockedChild\u003dnull),this.$_scheduleShow(t,e),this.$emit(\"show\"),this.$_showFrameLocked\u003d!0,requestAnimationFrame(()\u003d\u003e{this.$_showFrameLocked\u003d!1})),this.$emit(\"update:shown\",!0))},hide({event:t\u003dnull,skipDelay:e\u003d!1}\u003d{}){var n;this.$_hideInProgress||(this.shownChildren.size\u003e0?this.$_pendingHide\u003d!0:this.$_isAimingPopper()?this.parentPopper\u0026\u0026(this.parentPopper.lockedChild\u003dthis,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer\u003dsetTimeout(()\u003d\u003e{this.parentPopper.lockedChild\u003d\u003d\u003dthis\u0026\u0026(this.parentPopper.lockedChild.hide({skipDelay:e}),this.parentPopper.lockedChild\u003dnull)},1e3)):((null\u003d\u003d(n\u003dthis.parentPopper)?void 0:n.lockedChild)\u003d\u003d\u003dthis\u0026\u0026(this.parentPopper.lockedChild\u003dnull),this.$_pendingHide\u003d!1,this.$_scheduleHide(t,e),this.$emit(\"hide\"),this.$emit(\"update:shown\",!1)))},init(){this.$_isDisposed\u0026\u0026(this.$_isDisposed\u003d!1,this.isMounted\u003d!1,this.$_events\u003d[],this.$_preventShow\u003d!1,this.$_referenceNode\u003dthis.referenceNode(),this.$_targetNodes\u003dthis.targetNodes().filter(t\u003d\u003et.nodeType\u003d\u003d\u003dt.ELEMENT_NODE),this.$_popperNode\u003dthis.popperNode(),this.$_innerNode\u003dthis.$_popperNode.querySelector(\".v-popper__inner\"),this.$_arrowNode\u003dthis.$_popperNode.querySelector(\".v-popper__arrow-container\"),this.$_swapTargetAttrs(\"title\",\"data-original-title\"),this.$_detachPopperNode(),this.triggers.length\u0026\u0026this.$_addEventListeners(),this.shown\u0026\u0026this.show())},dispose(){this.$_isDisposed||(this.$_isDisposed\u003d!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted\u003d!1,this.isShown\u003d!1,this.$_updateParentShownChildren(!1),this.$_swapTargetAttrs(\"data-original-title\",\"title\"),this.$emit(\"dispose\"))},async onResize(){this.isShown\u0026\u0026(await this.$_computePosition(),this.$emit(\"resize\"))},async $_computePosition(){var t;if(this.$_isDisposed||this.positioningDisabled)return;const e\u003d{strategy:this.strategy,middleware:[]};(this.distance||this.skidding)\u0026\u0026e.middleware.push($({mainAxis:this.distance,crossAxis:this.skidding}));const n\u003dthis.placement.startsWith(\"auto\");if(n?e.middleware.push(x({alignment:null!\u003d(t\u003dthis.placement.split(\"-\")[1])?t:\"\"})):e.placement\u003dthis.placement,this.preventOverflow\u0026\u0026(this.shift\u0026\u0026e.middleware.push(function(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"shift\",options:t,async fn(e){const{x:n,y:i,placement:o}\u003de,{mainAxis:s\u003d!0,crossAxis:l\u003d!1,limiter:c\u003d{fn:t\u003d\u003e{let{x:e,y:n}\u003dt;return{x:e,y:n}}},...u}\u003dt,d\u003d{x:n,y:i},p\u003dawait h(e,u),f\u003da(r(o)),v\u003dk(f);let g\u003dd[f],y\u003dd[v];if(s){const t\u003d\"y\"\u003d\u003d\u003df?\"bottom\":\"right\";g\u003dm(g+p[\"y\"\u003d\u003d\u003df?\"top\":\"left\"],g,g-p[t])}if(l){const t\u003d\"y\"\u003d\u003d\u003dv?\"bottom\":\"right\";y\u003dm(y+p[\"y\"\u003d\u003d\u003dv?\"top\":\"left\"],y,y-p[t])}const w\u003dc.fn({...e,[f]:g,[v]:y});return{...w,data:{x:w.x-n,y:w.y-i}}}}}({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!n\u0026\u0026this.flip\u0026\u0026e.middleware.push(C({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push((t\u003d\u003e({name:\"arrow\",options:t,async fn(e){const{element:n,padding:i\u003d0}\u003dnull!\u003dt?t:{},{x:o,y:s,placement:c,rects:d,platform:h}\u003de;if(null\u003d\u003dn)return{};const p\u003du(i),f\u003d{x:o,y:s},v\u003da(r(c)),g\u003dl(v),y\u003dawait h.getDimensions({element:n}),w\u003d\"y\"\u003d\u003d\u003dv?\"top\":\"left\",b\u003d\"y\"\u003d\u003d\u003dv?\"bottom\":\"right\",_\u003dd.reference[g]+d.reference[v]-f[v]-d.floating[g],S\u003df[v]-d.reference[v],x\u003dawait h.getOffsetParent({element:n}),C\u003dx?\"y\"\u003d\u003d\u003dv?x.clientHeight||0:x.clientWidth||0:0,$\u003d_/2-S/2,k\u003dp[w],T\u003dC-y[g]-p[b],E\u003dC/2-y[g]/2+$,O\u003dm(k,E,T);return{data:{[v]:O,centerOffset:E-O}}}}))({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow\u0026\u0026e.middleware.push({name:\"arrowOverflow\",fn:({placement:t,rects:e,middlewareData:n})\u003d\u003e{let i;const{centerOffset:o}\u003dn.arrow;return i\u003dt.startsWith(\"top\")||t.startsWith(\"bottom\")?Math.abs(o)\u003ee.reference.width/2:Math.abs(o)\u003ee.reference.height/2,{data:{overflow:i}}}}),this.autoMinSize||this.autoSize){const t\u003dthis.autoSize?this.autoSize:this.autoMinSize?\"min\":null;e.middleware.push({name:\"autoSize\",fn:({rects:e,placement:n,middlewareData:i})\u003d\u003e{var o;if(null\u003d\u003d(o\u003di.autoSize)?void 0:o.skip)return{};let r,s;return n.startsWith(\"top\")||n.startsWith(\"bottom\")?r\u003de.reference.width:s\u003de.reference.height,this.$_innerNode.style[\"min\"\u003d\u003d\u003dt?\"minWidth\":\"max\"\u003d\u003d\u003dt?\"maxWidth\":\"width\"]\u003dnull!\u003dr?r+\"px\":null,this.$_innerNode.style[\"min\"\u003d\u003d\u003dt?\"minHeight\":\"max\"\u003d\u003d\u003dt?\"maxHeight\":\"height\"]\u003dnull!\u003ds?s+\"px\":null,{data:{skip:!0},reset:{rects:!0}}}})}(this.autoMaxSize||this.autoBoundaryMaxSize)\u0026\u0026(this.$_innerNode.style.maxWidth\u003dnull,this.$_innerNode.style.maxHeight\u003dnull,e.middleware.push(function(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"size\",options:t,async fn(e){var n;const{placement:i,rects:o,middlewareData:a}\u003de,{apply:l,...c}\u003dt;if(null!\u003d(n\u003da.size)\u0026\u0026n.skip)return{};const u\u003dawait h(e,c),d\u003dr(i),p\u003d\"end\"\u003d\u003d\u003ds(i);let m,v;\"top\"\u003d\u003d\u003dd||\"bottom\"\u003d\u003d\u003dd?(m\u003dd,v\u003dp?\"left\":\"right\"):(v\u003dd,m\u003dp?\"top\":\"bottom\");const g\u003df(u.left,0),y\u003df(u.right,0),w\u003df(u.top,0),b\u003df(u.bottom,0),_\u003d{height:o.floating.height-([\"left\",\"right\"].includes(i)?2*(0!\u003d\u003dw||0!\u003d\u003db?w+b:f(u.top,u.bottom)):u[m]),width:o.floating.width-([\"top\",\"bottom\"].includes(i)?2*(0!\u003d\u003dg||0!\u003d\u003dy?g+y:f(u.left,u.right)):u[v])};return null\u003d\u003dl||l({..._,...o}),{data:{skip:!0},reset:{rects:!0}}}}}({boundary:this.boundary,padding:this.overflowPadding,apply:({width:t,height:e})\u003d\u003e{this.$_innerNode.style.maxWidth\u003dnull!\u003dt?t+\"px\":null,this.$_innerNode.style.maxHeight\u003dnull!\u003de?e+\"px\":null}})));const i\u003dawait J(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:i.x,y:i.y,placement:i.placement,strategy:i.strategy,arrow:ct(ct({},i.middlewareData.arrow),i.middlewareData.arrowOverflow)})},$_scheduleShow(t\u003dnull,e\u003d!1){if(this.$_updateParentShownChildren(!0),this.$_hideInProgress\u003d!1,clearTimeout(this.$_scheduleTimer),bt\u0026\u0026this.instantMove\u0026\u0026bt.instantMove\u0026\u0026bt!\u003d\u003dthis.parentPopper)return bt.$_applyHide(!0),void this.$_applyShow(!0);e?this.$_applyShow():this.$_scheduleTimer\u003dsetTimeout(this.$_applyShow.bind(this),this.$_computeDelay(\"show\"))},$_scheduleHide(t\u003dnull,e\u003d!1){this.shownChildren.size\u003e0?this.$_pendingHide\u003d!0:(this.$_updateParentShownChildren(!1),this.$_hideInProgress\u003d!0,clearTimeout(this.$_scheduleTimer),this.isShown\u0026\u0026(bt\u003dthis),e?this.$_applyHide():this.$_scheduleTimer\u003dsetTimeout(this.$_applyHide.bind(this),this.$_computeDelay(\"hide\")))},$_computeDelay(t){const e\u003dthis.delay;return parseInt(e\u0026\u0026e[t]||e||0)},async $_applyShow(t\u003d!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition\u003dt,this.isShown||(this.$_ensureTeleport(),await yt(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...Y(this.$_referenceNode),...Y(this.$_popperNode)],\"scroll\",()\u003d\u003e{this.$_computePosition()}))},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const t\u003dthis.$_referenceNode.getBoundingClientRect(),e\u003dthis.$_popperNode.querySelector(\".v-popper__wrapper\"),n\u003de.parentNode.getBoundingClientRect(),i\u003dt.x+t.width/2-(n.left+e.offsetLeft),o\u003dt.y+t.height/2-(n.top+e.offsetTop);this.result.transformOrigin\u003d`${i}px ${o}px`}this.isShown\u003d!0,this.$_applyAttrsToTarget({\"aria-describedby\":this.popperId,\"data-popper-shown\":\"\"});const t\u003dthis.showGroup;if(t){let e;for(let n\u003d0;n\u003cwt.length;n++)e\u003dwt[n],e.showGroup!\u003d\u003dt\u0026\u0026(e.hide(),e.$emit(\"close-group\"))}wt.push(this),this.$emit(\"apply-show\"),this.classes.showFrom\u003d!0,this.classes.showTo\u003d!1,this.classes.hideFrom\u003d!1,this.classes.hideTo\u003d!1,await yt(),this.classes.showFrom\u003d!1,this.classes.showTo\u003d!0},async $_applyHide(t\u003d!1){if(this.shownChildren.size\u003e0)return this.$_pendingHide\u003d!0,void(this.$_hideInProgress\u003d!1);if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition\u003dt,function(t,e){const n\u003dt.indexOf(e);-1!\u003d\u003dn\u0026\u0026t.splice(n,1)}(wt,this),bt\u003d\u003d\u003dthis\u0026\u0026(bt\u003dnull),this.isShown\u003d!1,this.$_applyAttrsToTarget({\"aria-describedby\":void 0,\"data-popper-shown\":void 0}),clearTimeout(this.$_disposeTimer);const e\u003dht(this.theme,\"disposeTimeout\");null!\u003d\u003de\u0026\u0026(this.$_disposeTimer\u003dsetTimeout(()\u003d\u003e{this.$_popperNode\u0026\u0026(this.$_detachPopperNode(),this.isMounted\u003d!1)},e)),this.$_removeEventListeners(\"scroll\"),this.$emit(\"apply-hide\"),this.classes.showFrom\u003d!1,this.classes.showTo\u003d!1,this.classes.hideFrom\u003d!0,this.classes.hideTo\u003d!1,await yt(),this.classes.hideFrom\u003d!1,this.classes.hideTo\u003d!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.$_isDisposed)return;let t\u003dthis.container;if(\"string\"\u003d\u003dtypeof t?t\u003dwindow.document.querySelector(t):!1\u003d\u003d\u003dt\u0026\u0026(t\u003dthis.$_targetNodes[0].parentNode),!t)throw new Error(\"No container for popover: \"+this.container);t.appendChild(this.$_popperNode),this.isMounted\u003d!0},$_addEventListeners(){const t\u003dt\u003d\u003e{this.isShown\u0026\u0026!this.$_hideInProgress||(t.usedByTooltip\u003d!0,!this.$_preventShow\u0026\u0026this.show({event:t}))};this.$_registerTriggerListeners(this.$_targetNodes,vt,this.triggers,this.showTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],vt,this.popperTriggers,this.popperShowTriggers,t);const e\u003dt\u003d\u003e{t.usedByTooltip||this.hide({event:t})};this.$_registerTriggerListeners(this.$_targetNodes,gt,this.triggers,this.hideTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],gt,this.popperTriggers,this.popperHideTriggers,e)},$_registerEventListeners(t,e,n){this.$_events.push({targetNodes:t,eventType:e,handler:n}),t.forEach(t\u003d\u003et.addEventListener(e,n,pt?{passive:!0}:void 0))},$_registerTriggerListeners(t,e,n,i,o){let r\u003dn;null!\u003di\u0026\u0026(r\u003d\"function\"\u003d\u003dtypeof i?i(r):i),r.forEach(n\u003d\u003e{const i\u003de[n];i\u0026\u0026this.$_registerEventListeners(t,i,o)})},$_removeEventListeners(t){const e\u003d[];this.$_events.forEach(n\u003d\u003e{const{targetNodes:i,eventType:o,handler:r}\u003dn;t\u0026\u0026t!\u003d\u003do?e.push(n):i.forEach(t\u003d\u003et.removeEventListener(o,r))}),this.$_events\u003de},$_refreshListeners(){this.$_isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())},$_handleGlobalClose(t,e\u003d!1){this.$_showFrameLocked||(this.hide({event:t}),t.closePopover?this.$emit(\"close-directive\"):this.$emit(\"auto-hide\"),e\u0026\u0026(this.$_preventShow\u003d!0,setTimeout(()\u003d\u003e{this.$_preventShow\u003d!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode\u0026\u0026this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(t,e){for(const n of this.$_targetNodes){const i\u003dn.getAttribute(t);i\u0026\u0026(n.removeAttribute(t),n.setAttribute(e,i))}},$_applyAttrsToTarget(t){for(const e of this.$_targetNodes)for(const n in t){const i\u003dt[n];null\u003d\u003di?e.removeAttribute(n):e.setAttribute(n,i)}},$_updateParentShownChildren(t){let e\u003dthis.parentPopper;for(;e;)t?e.shownChildren.add(this.randomId):(e.shownChildren.delete(this.randomId),e.$_pendingHide\u0026\u0026e.hide()),e\u003de.parentPopper},$_isAimingPopper(){const t\u003dthis.$el.getBoundingClientRect();if(Pt\u003e\u003dt.left\u0026\u0026Pt\u003c\u003dt.right\u0026\u0026Lt\u003e\u003dt.top\u0026\u0026Lt\u003c\u003dt.bottom){const t\u003dthis.$_popperNode.getBoundingClientRect(),e\u003dPt-Ot,n\u003dLt-Bt,i\u003dt.left+t.width/2-Ot+(t.top+t.height/2)-Bt+t.width+t.height,o\u003dOt+e*i,r\u003dBt+n*i;return Nt(Ot,Bt,o,r,t.left,t.top,t.left,t.bottom)||Nt(Ot,Bt,o,r,t.left,t.top,t.right,t.top)||Nt(Ot,Bt,o,r,t.right,t.top,t.right,t.bottom)||Nt(Ot,Bt,o,r,t.left,t.bottom,t.right,t.bottom)}return!1}},render(){return this.$scopedSlots.default(this.slotData)[0]}});function $t(t){for(let e\u003d0;e\u003cwt.length;e++){const n\u003dwt[e];try{const e\u003dn.popperNode();n.$_mouseDownContains\u003de.contains(t.target)}catch(t){}}}function kt(t,e\u003d!1){const n\u003d{};for(let i\u003dwt.length-1;i\u003e\u003d0;i--){const o\u003dwt[i];try{const i\u003do.$_containsGlobalTarget\u003dTt(o,t);o.$_pendingHide\u003d!1,requestAnimationFrame(()\u003d\u003e{if(o.$_pendingHide\u003d!1,!n[o.randomId]\u0026\u0026Et(o,i,t)){if(o.$_handleGlobalClose(t,e),!t.closeAllPopover\u0026\u0026t.closePopover\u0026\u0026i){let t\u003do.parentPopper;for(;t;)n[t.randomId]\u003d!0,t\u003dt.parentPopper;return}let r\u003do.parentPopper;for(;r\u0026\u0026Et(r,r.$_containsGlobalTarget,t);)r.$_handleGlobalClose(t,e),r\u003dr.parentPopper}})}catch(t){}}}function Tt(t,e){const n\u003dt.popperNode();return t.$_mouseDownContains||n.contains(e.target)}function Et(t,e,n){return n.closeAllPopover||n.closePopover\u0026\u0026e||t.autoHide\u0026\u0026!e}\"undefined\"!\u003dtypeof document\u0026\u0026\"undefined\"!\u003dtypeof window\u0026\u0026(ft?(document.addEventListener(\"touchstart\",$t,!pt||{passive:!0,capture:!0}),document.addEventListener(\"touchend\",(function(t){kt(t,!0)}),!pt||{passive:!0,capture:!0})):(window.addEventListener(\"mousedown\",$t,!0),window.addEventListener(\"click\",(function(t){kt(t)}),!0)),window.addEventListener(\"resize\",(function(t){for(let e\u003d0;e\u003cwt.length;e++){wt[e].$_computePosition(t)}})));let Ot\u003d0,Bt\u003d0,Pt\u003d0,Lt\u003d0;function Nt(t,e,n,i,o,r,s,a){const l\u003d((s-o)*(e-r)-(a-r)*(t-o))/((a-r)*(n-t)-(s-o)*(i-e)),c\u003d((n-t)*(e-r)-(i-e)*(t-o))/((a-r)*(n-t)-(s-o)*(i-e));return l\u003e\u003d0\u0026\u0026l\u003c\u003d1\u0026\u0026c\u003e\u003d0\u0026\u0026c\u003c\u003d1}var At;function zt(){zt.init||(zt.init\u003d!0,At\u003d-1!\u003d\u003dfunction(){var t\u003dwindow.navigator.userAgent,e\u003dt.indexOf(\"MSIE \");if(e\u003e0)return parseInt(t.substring(e+5,t.indexOf(\".\",e)),10);if(t.indexOf(\"Trident/\")\u003e0){var n\u003dt.indexOf(\"rv:\");return parseInt(t.substring(n+3,t.indexOf(\".\",n)),10)}var i\u003dt.indexOf(\"Edge/\");return i\u003e0?parseInt(t.substring(i+5,t.indexOf(\".\",i)),10):-1}())}function Mt(t,e,n,i,o,r,s,a,l,c){\"boolean\"!\u003dtypeof s\u0026\u0026(l\u003da,a\u003ds,s\u003d!1);var u,d\u003d\"function\"\u003d\u003dtypeof n?n.options:n;if(t\u0026\u0026t.render\u0026\u0026(d.render\u003dt.render,d.staticRenderFns\u003dt.staticRenderFns,d._compiled\u003d!0,o\u0026\u0026(d.functional\u003d!0)),i\u0026\u0026(d._scopeId\u003di),r?(u\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),e\u0026\u0026e.call(this,l(t)),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(r)},d._ssrRegister\u003du):e\u0026\u0026(u\u003ds?function(t){e.call(this,c(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),u)if(d.functional){var h\u003dd.render;d.render\u003dfunction(t,e){return u.call(e),h(t,e)}}else{var p\u003dd.beforeCreate;d.beforeCreate\u003dp?[].concat(p,u):[u]}return n}\"undefined\"!\u003dtypeof window\u0026\u0026window.addEventListener(\"mousemove\",t\u003d\u003e{Ot\u003dPt,Bt\u003dLt,Pt\u003dt.clientX,Lt\u003dt.clientY},pt?{passive:!0}:void 0);var Ht\u003d{name:\"ResizeObserver\",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var t\u003dthis;zt(),this.$nextTick((function(){t._w\u003dt.$el.offsetWidth,t._h\u003dt.$el.offsetHeight,t.emitOnMount\u0026\u0026t.emitSize()}));var e\u003ddocument.createElement(\"object\");this._resizeObject\u003de,e.setAttribute(\"aria-hidden\",\"true\"),e.setAttribute(\"tabindex\",-1),e.onload\u003dthis.addResizeHandlers,e.type\u003d\"text/html\",At\u0026\u0026this.$el.appendChild(e),e.data\u003d\"about:blank\",At||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth\u0026\u0026this._w!\u003d\u003dthis.$el.offsetWidth||!this.ignoreHeight\u0026\u0026this._h!\u003d\u003dthis.$el.offsetHeight)\u0026\u0026(this._w\u003dthis.$el.offsetWidth,this._h\u003dthis.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit(\"notify\",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject\u0026\u0026this._resizeObject.onload\u0026\u0026(!At\u0026\u0026this._resizeObject.contentDocument\u0026\u0026this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload\u003dnull,this._resizeObject\u003dnull)}}},Dt\u003dfunction(){var t\u003dthis.$createElement;return(this._self._c||t)(\"div\",{staticClass:\"resize-observer\",attrs:{tabindex:\"-1\"}})};Dt._withStripped\u003d!0;var Rt\u003dMt({render:Dt,staticRenderFns:[]},void 0,Ht,\"data-v-8859cc6c\",!1,void 0,!1,void 0,void 0,void 0);var jt\u003d{version:\"1.0.1\",install:function(t){t.component(\"resize-observer\",Rt),t.component(\"ResizeObserver\",Rt)}},It\u003dnull;\"undefined\"!\u003dtypeof window?It\u003dwindow.Vue:void 0!\u003d\u003di.g\u0026\u0026(It\u003di.g.Vue),It\u0026\u0026It.use(jt);var qt\u003d{computed:{themeClass(){return function(t){const e\u003d[t];let n\u003ddt.themes[t]||{};do{n.$extend\u0026\u0026!n.$resetCss?(e.push(n.$extend),n\u003ddt.themes[n.$extend]||{}):n\u003dnull}while(n);return e.map(t\u003d\u003e\"v-popper--theme-\"+t)}(this.theme)}}},Wt\u003d{name:\"VPopperContent\",components:{ResizeObserver:Rt},mixins:[qt],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},methods:{toPx:t\u003d\u003enull\u003d\u003dt||isNaN(t)?null:t+\"px\"}};function Ft(t,e,n,i,o,r,s,a){var l,c\u003d\"function\"\u003d\u003dtypeof t?t.options:t;if(e\u0026\u0026(c.render\u003de,c.staticRenderFns\u003dn,c._compiled\u003d!0),i\u0026\u0026(c.functional\u003d!0),r\u0026\u0026(c._scopeId\u003d\"data-v-\"+r),s?(l\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),o\u0026\u0026o.call(this,t),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(s)},c._ssrRegister\u003dl):o\u0026\u0026(l\u003da?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(c.functional){c._injectStyles\u003dl;var u\u003dc.render;c.render\u003dfunction(t,e){return l.call(e),u(t,e)}}else{var d\u003dc.beforeCreate;c.beforeCreate\u003dd?[].concat(d,l):[l]}return{exports:t,options:c}}const Vt\u003d{};var Ut\u003dFt(Wt,(function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{ref:\"popover\",staticClass:\"v-popper__popper\",class:[t.themeClass,t.classes.popperClass,{\"v-popper__popper--shown\":t.shown,\"v-popper__popper--hidden\":!t.shown,\"v-popper__popper--show-from\":t.classes.showFrom,\"v-popper__popper--show-to\":t.classes.showTo,\"v-popper__popper--hide-from\":t.classes.hideFrom,\"v-popper__popper--hide-to\":t.classes.hideTo,\"v-popper__popper--skip-transition\":t.skipTransition,\"v-popper__popper--arrow-overflow\":t.result\u0026\u0026t.result.arrow.overflow,\"v-popper__popper--no-positioning\":!t.result}],style:t.result?{position:t.result.strategy,transform:\"translate3d(\"+Math.round(t.result.x)+\"px,\"+Math.round(t.result.y)+\"px,0)\"}:void 0,attrs:{id:t.popperId,\"aria-hidden\":t.shown?\"false\":\"true\",tabindex:t.autoHide?0:void 0,\"data-popper-placement\":t.result?t.result.placement:void 0},on:{keyup:function(e){if(!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"]))return null;t.autoHide\u0026\u0026t.$emit(\"hide\")}}},[n(\"div\",{staticClass:\"v-popper__backdrop\",on:{click:function(e){t.autoHide\u0026\u0026t.$emit(\"hide\")}}}),n(\"div\",{staticClass:\"v-popper__wrapper\",style:t.result?{transformOrigin:t.result.transformOrigin}:void 0},[n(\"div\",{ref:\"inner\",staticClass:\"v-popper__inner\"},[t.mounted?[n(\"div\",[t._t(\"default\")],2),t.handleResize?n(\"ResizeObserver\",{on:{notify:function(e){return t.$emit(\"resize\",e)}}}):t._e()]:t._e()],2),n(\"div\",{ref:\"arrow\",staticClass:\"v-popper__arrow-container\",style:t.result?{left:t.toPx(t.result.arrow.x),top:t.toPx(t.result.arrow.y)}:void 0},[n(\"div\",{staticClass:\"v-popper__arrow-outer\"}),n(\"div\",{staticClass:\"v-popper__arrow-inner\"})])])])}),[],!1,Qt,null,null,null);function Qt(t){for(let t in Vt)this[t]\u003dVt[t]}var Xt\u003dfunction(){return Ut.exports}(),Yt\u003d{methods:{show(...t){return this.$refs.popper.show(...t)},hide(...t){return this.$refs.popper.hide(...t)},dispose(...t){return this.$refs.popper.dispose(...t)},onResize(...t){return this.$refs.popper.onResize(...t)}}},Kt\u003d{name:\"VPopperWrapper\",components:{Popper:Ct(),PopperContent:Xt},mixins:[Yt,qt],inheritAttrs:!1,props:{theme:{type:String,default(){return this.$options.vPopperTheme}}},methods:{getTargetNodes(){return Array.from(this.$refs.reference.children).filter(t\u003d\u003et!\u003d\u003dthis.$refs.popperContent.$el)}}};const Gt\u003d{};var Zt\u003dFt(Kt,(function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"Popper\",t._g(t._b({ref:\"popper\",attrs:{theme:t.theme,\"target-nodes\":t.getTargetNodes,\"reference-node\":function(){return t.$refs.reference},\"popper-node\":function(){return t.$refs.popperContent.$el}},scopedSlots:t._u([{key:\"default\",fn:function(e){var i\u003de.popperId,o\u003de.isShown,r\u003de.shouldMountContent,s\u003de.skipTransition,a\u003de.autoHide,l\u003de.show,c\u003de.hide,u\u003de.handleResize,d\u003de.onResize,h\u003de.classes,p\u003de.result;return[n(\"div\",{ref:\"reference\",staticClass:\"v-popper\",class:[t.themeClass,{\"v-popper--shown\":o}]},[t._t(\"default\",null,{shown:o,show:l,hide:c}),n(\"PopperContent\",{ref:\"popperContent\",attrs:{\"popper-id\":i,theme:t.theme,shown:o,mounted:r,\"skip-transition\":s,\"auto-hide\":a,\"handle-resize\":u,classes:h,result:p},on:{hide:c,resize:d}},[t._t(\"popper\",null,{shown:o,hide:c})],2)],2)]}}],null,!0)},\"Popper\",t.$attrs,!1),t.$listeners))}),[],!1,Jt,null,null,null);function Jt(t){for(let t in Gt)this[t]\u003dGt[t]}var te\u003dfunction(){return Zt.exports}(),ee\u003dut(ct({},te),{name:\"VDropdown\",vPopperTheme:\"dropdown\"});const ne\u003d{};var ie\u003dFt(ee,void 0,void 0,!1,oe,null,null,null);function oe(t){for(let t in ne)this[t]\u003dne[t]}var re\u003dfunction(){return ie.exports}(),se\u003dut(ct({},te),{name:\"VMenu\",vPopperTheme:\"menu\"});const ae\u003d{};var le\u003dFt(se,void 0,void 0,!1,ce,null,null,null);function ce(t){for(let t in ae)this[t]\u003dae[t]}var ue\u003dfunction(){return le.exports}(),de\u003dut(ct({},te),{name:\"VTooltip\",vPopperTheme:\"tooltip\"});const he\u003d{};var pe\u003dFt(de,void 0,void 0,!1,fe,null,null,null);function fe(t){for(let t in he)this[t]\u003dhe[t]}var me\u003dfunction(){return pe.exports}(),ve\u003d{name:\"VTooltipDirective\",components:{Popper:Ct(),PopperContent:Xt},mixins:[Yt],inheritAttrs:!1,props:{theme:{type:String,default:\"tooltip\"},html:{type:Boolean,default(){return ht(this.theme,\"html\")}},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default(){return ht(this.theme,\"loadingContent\")}}},data:()\u003d\u003e({asyncContent:null}),computed:{isContentAsync(){return\"function\"\u003d\u003dtypeof this.content},loading(){return this.isContentAsync\u0026\u0026null\u003d\u003dthis.asyncContent},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(t){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId\u003d0},methods:{fetchContent(t){if(\"function\"\u003d\u003dtypeof this.content\u0026\u0026this.$_isShown\u0026\u0026(t||!this.$_loading\u0026\u0026null\u003d\u003dthis.asyncContent)){this.asyncContent\u003dnull,this.$_loading\u003d!0;const t\u003d++this.$_fetchId,e\u003dthis.content(this);e.then?e.then(e\u003d\u003ethis.onResult(t,e)):this.onResult(t,e)}},onResult(t,e){t\u003d\u003d\u003dthis.$_fetchId\u0026\u0026(this.$_loading\u003d!1,this.asyncContent\u003de)},onShow(){this.$_isShown\u003d!0,this.fetchContent()},onHide(){this.$_isShown\u003d!1}}};const ge\u003d{};var ye\u003dFt(ve,(function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"Popper\",t._g(t._b({ref:\"popper\",attrs:{theme:t.theme,\"popper-node\":function(){return t.$refs.popperContent.$el}},on:{\"apply-show\":t.onShow,\"apply-hide\":t.onHide},scopedSlots:t._u([{key:\"default\",fn:function(e){var i\u003de.popperId,o\u003de.isShown,r\u003de.shouldMountContent,s\u003de.skipTransition,a\u003de.autoHide,l\u003de.hide,c\u003de.handleResize,u\u003de.onResize,d\u003de.classes,h\u003de.result;return[n(\"PopperContent\",{ref:\"popperContent\",class:{\"v-popper--tooltip-loading\":t.loading},attrs:{\"popper-id\":i,theme:t.theme,shown:o,mounted:r,\"skip-transition\":s,\"auto-hide\":a,\"handle-resize\":c,classes:d,result:h},on:{hide:l,resize:u}},[t.html?n(\"div\",{domProps:{innerHTML:t._s(t.finalContent)}}):n(\"div\",{domProps:{textContent:t._s(t.finalContent)}})])]}}])},\"Popper\",t.$attrs,!1),t.$listeners))}),[],!1,we,null,null,null);function we(t){for(let t in ge)this[t]\u003dge[t]}var be\u003dfunction(){return ye.exports}();function _e(t,e,n){let i;const o\u003dtypeof e;return i\u003d\"string\"\u003d\u003d\u003do?{content:e}:e\u0026\u0026\"object\"\u003d\u003d\u003do?e:{content:!1},i.placement\u003dfunction(t,e){let n\u003dt.placement;if(!n\u0026\u0026e)for(const t of mt)e[t]\u0026\u0026(n\u003dt);return n||(n\u003dht(t.theme||\"tooltip\",\"placement\")),n}(i,n),i.targetNodes\u003d()\u003d\u003e[t],i.referenceNode\u003d()\u003d\u003et,i}function Se(t,e,n){const i\u003d_e(t,e,n),o\u003dt.$_popper\u003dnew(et())({mixins:[Yt],data:()\u003d\u003e({options:i}),render(t){const e\u003dthis.options,{theme:n,html:i,content:o,loadingContent:r}\u003de,s\u003d((t,e)\u003d\u003e{var n\u003d{};for(var i in t)st.call(t,i)\u0026\u0026e.indexOf(i)\u003c0\u0026\u0026(n[i]\u003dt[i]);if(null!\u003dt\u0026\u0026rt)for(var i of rt(t))e.indexOf(i)\u003c0\u0026\u0026at.call(t,i)\u0026\u0026(n[i]\u003dt[i]);return n})(e,[\"theme\",\"html\",\"content\",\"loadingContent\"]);return t(be,{props:{theme:n,html:i,content:o,loadingContent:r},attrs:s,ref:\"popper\"})},devtools:{hide:!0}}),r\u003ddocument.createElement(\"div\");return document.body.appendChild(r),o.$mount(r),t.classList\u0026\u0026t.classList.add(\"v-popper--has-tooltip\"),o}function xe(t){t.$_popper\u0026\u0026(t.$_popper.$destroy(),delete t.$_popper,delete t.$_popperOldShown),t.classList\u0026\u0026t.classList.remove(\"v-popper--has-tooltip\")}function Ce(t,{value:e,oldValue:n,modifiers:i}){const o\u003d_e(t,e,i);if(!o.content||ht(o.theme||\"tooltip\",\"disabled\"))xe(t);else{let n;t.$_popper?(n\u003dt.$_popper,n.options\u003do):n\u003dSe(t,e,i),void 0!\u003d\u003de.shown\u0026\u0026e.shown!\u003d\u003dt.$_popperOldShown\u0026\u0026(t.$_popperOldShown\u003de.shown,e.shown?n.show():n.hide())}}var $e\u003d{bind:Ce,update:Ce,unbind(t){xe(t)}};function ke(t){t.addEventListener(\"click\",Ee),t.addEventListener(\"touchstart\",Oe,!!pt\u0026\u0026{passive:!0})}function Te(t){t.removeEventListener(\"click\",Ee),t.removeEventListener(\"touchstart\",Oe),t.removeEventListener(\"touchend\",Be),t.removeEventListener(\"touchcancel\",Pe)}function Ee(t){const e\u003dt.currentTarget;t.closePopover\u003d!e.$_vclosepopover_touch,t.closeAllPopover\u003de.$_closePopoverModifiers\u0026\u0026!!e.$_closePopoverModifiers.all}function Oe(t){if(1\u003d\u003d\u003dt.changedTouches.length){const e\u003dt.currentTarget;e.$_vclosepopover_touch\u003d!0;const n\u003dt.changedTouches[0];e.$_vclosepopover_touchPoint\u003dn,e.addEventListener(\"touchend\",Be),e.addEventListener(\"touchcancel\",Pe)}}function Be(t){const e\u003dt.currentTarget;if(e.$_vclosepopover_touch\u003d!1,1\u003d\u003d\u003dt.changedTouches.length){const n\u003dt.changedTouches[0],i\u003de.$_vclosepopover_touchPoint;t.closePopover\u003dMath.abs(n.screenY-i.screenY)\u003c20\u0026\u0026Math.abs(n.screenX-i.screenX)\u003c20,t.closeAllPopover\u003de.$_closePopoverModifiers\u0026\u0026!!e.$_closePopoverModifiers.all}}function Pe(t){t.currentTarget.$_vclosepopover_touch\u003d!1}var Le\u003d{bind(t,{value:e,modifiers:n}){t.$_closePopoverModifiers\u003dn,(void 0\u003d\u003d\u003de||e)\u0026\u0026ke(t)},update(t,{value:e,oldValue:n,modifiers:i}){t.$_closePopoverModifiers\u003di,e!\u003d\u003dn\u0026\u0026(void 0\u003d\u003d\u003de||e?ke(t):Te(t))},unbind(t){Te(t)}};const Ne\u003dre,Ae\u003dme;const ze\u003d{version:\"1.0.0-beta.14\",install:function(t,e\u003d{}){t.$_vTooltipInstalled||(t.$_vTooltipInstalled\u003d!0,function t(e,n){for(const i in n)Object.prototype.hasOwnProperty.call(n,i)\u0026\u0026(\"object\"\u003d\u003dtypeof n[i]\u0026\u0026e[i]?t(e[i],n[i]):e[i]\u003dn[i])}(dt,e),t.directive(\"tooltip\",$e),t.directive(\"close-popper\",Le),t.component(\"v-tooltip\",me),t.component(\"VTooltip\",me),t.component(\"v-dropdown\",re),t.component(\"VDropdown\",re),t.component(\"v-menu\",ue),t.component(\"VMenu\",ue))},options:dt};let Me\u003dnull;\"undefined\"!\u003dtypeof window?Me\u003dwindow.Vue:void 0!\u003d\u003di.g\u0026\u0026(Me\u003di.g.Vue),Me\u0026\u0026Me.use(ze);var He\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"alert box-container\",t.containerStyle(),t.addClass,{\"d-flex\":t.seamlessHeaderBool()}],style:t.customStyle()},[t.seamlessHeaderBool()?n(\"div\",{staticClass:\"d-flex\"},[t.iconBool()?n(\"div\",{class:[\"icon-wrapper\",t.iconStyle()],style:t.customIconColorStyle()},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas\",t.getFontAwesomeIconStyle()]})]}))],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"vertical-divider\",class:t.getBootstrapAlertStyle(),attrs:{\"aria-hidden\":\"true\"}})]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"header-and-body\"},[t.headerBool()?n(\"div\",{class:[\"box-header-wrapper\",{\"alert-dismissible\":t.dismissible}]},[t.iconBool()\u0026\u0026!t.seamlessHeaderBool()?n(\"div\",{class:[\"icon-wrapper\",t.iconStyle()],style:t.customIconColorStyle()},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas\",t.getFontAwesomeIconStyle()]})]}))],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"box-header\"},[t._t(\"header\")],2),t._v(\" \"),t.dismissible?n(\"button\",{staticClass:\"btn-close close-with-heading\",attrs:{type:\"button\",\"data-bs-dismiss\":\"alert\",\"aria-label\":\"Close\"}}):t._e()]):t._e(),t._v(\" \"),n(\"div\",{class:[\"box-body-wrapper\",{\"alert-dismissible\":t.dismissible\u0026\u0026!t.headerBool(),\"box-body-wrapper-with-heading\":t.headerBool()}]},[t.iconBool()\u0026\u0026!t.headerBool()?n(\"div\",{class:[\"icon-wrapper\",t.iconStyle()],style:t.customIconColorStyle()},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas\",t.getFontAwesomeIconStyle()]})]}))],2):t._e(),t._v(\" \"),t.seamlessNoHeaderBool()?n(\"div\",{staticClass:\"vertical-divider\",class:t.getBootstrapAlertStyle(),attrs:{\"aria-hidden\":\"true\"}}):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"contents\",style:t.customColorStyle()},[t._t(\"default\")],2),t._v(\" \"),t.dismissible\u0026\u0026!t.headerBool()?n(\"button\",{staticClass:\"btn-close\",attrs:{type:\"button\",\"data-bs-dismiss\":\"alert\",\"aria-label\":\"Close\"}}):t._e()])])])};He._withStripped\u003d!0;var De\u003dfunction(t){return\"string\"\u003d\u003dtypeof t?\"\"\u003d\u003d\u003dt||\"true\"\u003d\u003d\u003dt||\"false\"!\u003d\u003dt\u0026\u0026\"null\"!\u003d\u003dt\u0026\u0026\"undefined\"!\u003d\u003dt\u0026\u0026t:t};function Re(t){return\"string\"\u003d\u003dtypeof t?\"\"\u003d\u003d\u003dt||\"true\"\u003d\u003d\u003dt||\"false\"!\u003d\u003dt\u0026\u0026\"null\"!\u003d\u003dt\u0026\u0026\"undefined\"!\u003d\u003dt\u0026\u0026t:t}function je(t){return\"number\"\u003d\u003dtypeof t?t:null\u003d\u003dt||isNaN(Number(t))?null:Number(t)}function Ie(t){var e\u003dt.split(\"#\"),n\u003d\"\";return e.length\u003e1\u0026\u0026(n\u003de[1]),n}function qe(t,e,n,i,o,r,s,a){var l,c\u003d\"function\"\u003d\u003dtypeof t?t.options:t;if(e\u0026\u0026(c.render\u003de,c.staticRenderFns\u003dn,c._compiled\u003d!0),i\u0026\u0026(c.functional\u003d!0),r\u0026\u0026(c._scopeId\u003d\"data-v-\"+r),s?(l\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),o\u0026\u0026o.call(this,t),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(s)},c._ssrRegister\u003dl):o\u0026\u0026(l\u003da?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(c.functional){c._injectStyles\u003dl;var u\u003dc.render;c.render\u003dfunction(t,e){return l.call(e),u(t,e)}}else{var d\u003dc.beforeCreate;c.beforeCreate\u003dd?[].concat(d,l):[l]}return{exports:t,options:c}}const We\u003dqe({props:{dismissible:{type:Boolean,default:!1},backgroundColor:{type:String,default:null},borderColor:{type:String,default:null},borderLeftColor:{type:String,default:null},color:{type:String,default:null},icon:{type:String,default:null},iconSize:{type:String,default:null},iconColor:{type:String,default:null},type:{type:String,default:\"\"},addClass:{type:String,default:\"\"},light:{type:Boolean,default:!1},seamless:{type:Boolean,default:!1},noIcon:{type:Boolean,default:!1},noBackground:{type:Boolean,default:!1},noBorder:{type:Boolean,default:!1},theme:{type:String,default:\"\"}},computed:{bootStrapStyle:function(){return function(t,e){var n,i,o\u003d[\"warning\",\"info\",\"definition\",\"success\",\"danger\",\"tip\",\"important\",\"wrong\"].includes(t)?t:\"\",r\u003d[\"primary\",\"secondary\",\"success\",\"danger\",\"warning\",\"info\",\"light\",\"dark\"].includes(e)?e:\"\";if(r)n\u003dr;else switch(o){case\"warning\":n\u003d\"warning\";break;case\"info\":n\u003d\"info\";break;case\"definition\":n\u003d\"primary\";break;case\"success\":case\"tip\":n\u003d\"success\";break;case\"important\":case\"wrong\":n\u003d\"danger\";break;default:n\u003d\"default\"}switch(o){case\"wrong\":i\u003d\"fa-times\";break;case\"warning\":i\u003d\"fa-exclamation\";break;case\"info\":i\u003d\"fa-info\";break;case\"success\":i\u003d\"fa-check\";break;case\"important\":i\u003d\"fa-flag\";break;case\"tip\":i\u003d\"fa-lightbulb\";break;case\"definition\":i\u003d\"fa-atlas\";break;default:i\u003d\"\"}return{style:n,icon:i}}(this.type,this.theme)}},methods:{isSeamless:function(){return!this.light\u0026\u0026this.seamless},seamlessNoHeaderBool:function(){return this.isSeamless()\u0026\u0026!this.headerBool()},seamlessHeaderBool:function(){return this.isSeamless()\u0026\u0026this.headerBool()},headerBool:function(){return!!this.$scopedSlots.header},iconBool:function(){var t\u003d!!this.$scopedSlots.icon;return!this.noIcon\u0026\u0026this.type||t},containerStyle:function(){var t;return t\u003dthis.light?\"\".concat(this.getBootstrapBorderStyle(),\" alert-border-left\"):this.seamless?\"seamless\":this.getBootstrapAlertStyle(),this.noBackground\u0026\u0026(t+\u003d\" no-background\"),this.noBorder\u0026\u0026(t+\u003d\" no-border\"),t},customStyle:function(){var t\u003d{};return this.backgroundColor\u0026\u0026(t.backgroundColor\u003dthis.backgroundColor,t.borderColor\u003dthis.backgroundColor),this.borderColor\u0026\u0026(t.border\u003d\"1px solid \".concat(this.borderColor)),this.borderLeftColor\u0026\u0026(t.borderLeft\u003d\"5px solid \".concat(this.borderLeftColor)),t},customColorStyle:function(){return this.color?{color:this.color}:{}},iconStyle:function(){var t\u003d\"\";return this.iconSize\u0026\u0026(t+\u003d\"fa-\".concat(this.iconSize)),(this.light||this.seamless)\u0026\u0026(t+\u003d\" \".concat(this.getBootstrapTextStyle())),t},customIconColorStyle:function(){return this.iconColor?{color:\"\".concat(this.iconColor,\"!important\")}:{}},getBootstrapAlertStyle:function(){return\"alert-\".concat(this.bootStrapStyle.style)},getBootstrapTextStyle:function(){return\"text-\".concat(this.bootStrapStyle.style)},getBootstrapBorderStyle:function(){return\"border-\".concat(this.bootStrapStyle.style)},getFontAwesomeIconStyle:function(){return this.bootStrapStyle.icon}}},He,[],!1,null,\"4d146e2c\",null).exports;var Fe\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[n(\"nav\",{staticClass:\"breadcrumb-divider\",attrs:{\"aria-label\":\"breadcrumb\"}},[n(\"ol\",{staticClass:\"breadcrumb\"},[n(\"li\",{staticClass:\"notlink breadcrumb-marker\"},[t._v(\"\\n ››  \\n \")]),t._v(\" \"),t._l(t.items,(function(e,i){return n(\"li\",{key:i,class:[\"breadcrumb-item\",{notlink:null\u003d\u003d\u003de.link}],attrs:{\"aria-current\":{page:t.isLast(i,t.items.length)}}},[null\u003d\u003d\u003de.link?n(\"a\",[t._v(\"\\n \"+t._s(e.title)+\"\\n \")]):n(\"a\",{attrs:{href:e.link}},[t._v(\"\\n \"+t._s(e.title)+\"\\n \")])])}))],2)])])};Fe._withStripped\u003d!0;const Ve\u003dqe({data:function(){return{items:[]}},methods:{isLast:function(t,e){return t\u003d\u003d\u003de-1}},mounted:function(){var t\u003dArray.from(document.querySelectorAll(\"ul\")).find((function(t){return t.classList.contains(\"site-nav-list-root\")}));if(t){var e\u003dt.querySelector(\".current\");if(e){this.items.unshift({title:e.textContent,link:null});for(var n\u003de.parentElement;n!\u003d\u003dt;){if(\"ul\"\u003d\u003d\u003dn.tagName.toLowerCase()){var i\u003dn.parentElement.querySelector(\"div\"),o\u003di.querySelector(\"a[href]\");null\u003d\u003d\u003do?this.items.unshift({title:i.textContent,link:null}):this.items.unshift({title:o.textContent,link:o.getAttribute(\"href\")})}n\u003dn.parentElement}}}}},Fe,[],!1,null,\"ef898034\",null).exports;var Ue\u003di(3),Qe\u003di.n(Ue),Xe\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.isLi?n(\"li\",{ref:\"dropdown\",class:[{disabled:t.disabledBool},\"dropdown\",t.addClass]},[t._t(\"button\",(function(){return[n(\"a\",{staticClass:\"dropdown-toggle nav-link\",class:{disabled:t.disabledBool},attrs:{role:\"button\",\"data-bs-toggle\":\"dropdown\"}},[t._t(\"header\")],2)]})),t._v(\" \"),t._t(\"dropdown-menu\",(function(){return[n(\"ul\",{staticClass:\"dropdown-menu\",class:[{show:t.show},{\"dropdown-menu-end\":t.menuAlignRight}]},[t._t(\"default\")],2)]}))],2):t.isSubmenu?n(\"submenu\",{ref:\"submenu\",scopedSlots:t._u([t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(){return[t._t(n)]},proxy:!0}}))],null,!0)}):n(\"div\",{ref:\"dropdown\",class:[{disabled:t.disabledBool},\"btn-group\",t.addClass]},[t._t(\"before\"),t._v(\" \"),t._t(\"button\",(function(){return[n(\"button\",{staticClass:\"btn dropdown-toggle\",class:[t.btnType,t.btnWithBefore,{\"dropdown-toggle-split\":t.hasBefore}],attrs:{type:\"button\",disabled:t.disabledBool,\"data-bs-reference\":\"parent\",\"data-bs-toggle\":\"dropdown\"}},[t._t(\"header\")],2)]})),t._v(\" \"),t._t(\"dropdown-menu\",(function(){return[n(\"ul\",{staticClass:\"dropdown-menu\",class:[{show:t.show},{\"dropdown-menu-end\":t.menuAlignRight}]},[t._t(\"default\")],2)]}))],2)};Xe._withStripped\u003d!0;var Ye\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"li\",{ref:\"submenu\",class:[t.addClass,\"dropdown-submenu\",{dropend:t.dropright,dropstart:t.dropleft}]},[t._t(\"button\",(function(){return[n(\"a\",{staticClass:\"dropdown-item submenu-toggle\",class:{disabled:t.disabled},attrs:{role:\"button\",\"data-bs-toggle\":\"dropdown\"}},[t._t(\"header\")],2)]})),t._v(\" \"),t._t(\"dropdown-menu\",(function(){return[n(\"ul\",{staticClass:\"dropdown-menu\"},[t._t(\"default\")],2)]}))],2)};function Ke(t,n){for(var i\u003d0;i\u003cn.length;i++){var o\u003dn[i];o.enumerable\u003do.enumerable||!1,o.configurable\u003d!0,\"value\"in o\u0026\u0026(o.writable\u003d!0),Object.defineProperty(t,e(o.key),o)}}Ye._withStripped\u003d!0;var Ge,Ze\u003dArray.prototype,Je\u003dnew Error(\"Passed arguments must be of Node\"),tn\u003d[],en\u003d[];function nn(t){return t instanceof window.Node}function on(t){return t instanceof window.NodeList||t instanceof sn||t instanceof window.HTMLCollection||t instanceof Array}function rn(t){return(t\u003dt.trim()).length?t.replace(/\\s+/,\" \").split(\" \"):[]}var sn\u003dfunction(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n\u003de;if(e[0]\u003d\u003d\u003dwindow?n\u003d[window]:\"string\"\u003d\u003dtypeof e[0]?(n\u003d(e[1]||document).querySelectorAll(e[0]),e[1]\u0026\u0026(this.owner\u003de[1])):0 in e\u0026\u0026!nn(e[0])\u0026\u0026e[0]\u0026\u0026\"length\"in e[0]\u0026\u0026(n\u003de[0],e[1]\u0026\u0026(this.owner\u003de[1])),n){for(var i in n)this[i]\u003dn[i];this.length\u003dn.length}else this.length\u003d0}var e,n,i;return e\u003dt,(n\u003d[{key:\"concat\",value:function(){var t\u003dZe.slice.call(this);function e(n){Ze.forEach.call(n,(function(n){nn(n)?~t.indexOf(n)||t.push(n):on(n)\u0026\u0026e(n)}))}for(var n\u003darguments.length,i\u003dnew Array(n),o\u003d0;o\u003cn;o++)i[o]\u003darguments[o];return Ze.forEach.call(i,(function(n){if(nn(n))~t.indexOf(n)||t.push(n);else{if(!on(n))throw Error(\"Concat arguments must be of a Node, NodeList, HTMLCollection, or Array of (Node, NodeList, HTMLCollection, Array)\");e(n)}})),hn(t,this)}},{key:\"delete\",value:function(){var t\u003dln(this).filter((function(t){return t.remove?t.remove():t.parentNode\u0026\u0026t.parentNode.removeChild(t),document.body.contains(t)}));return t.length\u0026\u0026console.warn(\"NodeList: Some nodes could not be deleted.\"),t}},{key:\"each\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return Ze.forEach.apply(this,e),this}},{key:\"filter\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return hn(Ze.filter.apply(this,e),this)}},{key:\"find\",value:function(t){var e\u003d[];return ln(this).forEach((function(n){Ze.push.apply(e,n.querySelectorAll(t))})),ln(e,this.owner)}},{key:\"findChildren\",value:function(t){var e\u003dthis;return t?this.find(t).filter((function(t){return e.includes(t.parentElement)})):ln(this.map((function(t){return t.children})))}},{key:\"forEach\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return Ze.forEach.apply(this,e),this}},{key:\"includes\",value:function(t,e){return~this.indexOf(t,e)}},{key:\"map\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];var i\u003dZe.map.apply(this,e);return i.some((function(t){return nn(t)||on(t)}))?ln(i,this):i}},{key:\"parent\",value:function(){return ln(this.map((function(t){return t.parentNode})),this)}},{key:\"pop\",value:function(t){\"number\"!\u003dtypeof t\u0026\u0026(t\u003d1);for(var e\u003d[],n\u003dZe.pop.bind(this);t--;)e.push(n());return hn(e,this)}},{key:\"push\",value:function(){for(var t\u003dthis,e\u003darguments.length,n\u003dnew Array(e),i\u003d0;i\u003ce;i++)n[i]\u003darguments[i];return Ze.forEach.call(n,(function(e){if(!nn(e))throw Je;~t.indexOf(e)||Ze.push.call(t,e)})),this}},{key:\"shift\",value:function(t){\"number\"!\u003dtypeof t\u0026\u0026(t\u003d1);for(var e\u003d[];t--;)e.push(Ze.shift.call(this));return 1\u003d\u003de.length?e[0]:hn(e,this)}},{key:\"slice\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return hn(Ze.slice.apply(this,e),this)}},{key:\"splice\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];for(var i\u003d2,o\u003de.length;i\u003co;i++)if(!nn(e[i]))throw Je;return Ze.splice.apply(this,e),this}},{key:\"unshift\",value:function(){for(var t\u003dthis,e\u003dZe.unshift.bind(this),n\u003darguments.length,i\u003dnew Array(n),o\u003d0;o\u003cn;o++)i[o]\u003darguments[o];return Ze.forEach.call(i,(function(n){if(!nn(n))throw Je;~t.indexOf(n)||e(n)})),this}},{key:\"addClass\",value:function(t){return this.toggleClass(t,!0)}},{key:\"removeClass\",value:function(t){return this.toggleClass(t,!1)}},{key:\"toggleClass\",value:function(t,e){var n\u003dnull\u003d\u003de?\"toggle\":e?\"add\":\"remove\";return\"string\"\u003d\u003dtypeof t\u0026\u0026(t\u003drn(t)),this.each((function(e){var i,o\u003drn(e.className);t.forEach((function(t){var e\u003d~o.indexOf(t);e||\"remove\"\u003d\u003d\u003dn||o.push(t),e\u0026\u0026\"add\"!\u003d\u003dn\u0026\u0026(o\u003do.filter((function(e){return e!\u003d\u003dt})))})),(o\u003d(i\u003do).length?i.join(\" \"):\"\")?e.className\u003do:e.removeAttribute(\"class\")})),this}},{key:\"get\",value:function(t){var e\u003d[];return this.each((function(n){null!\u003d\u003dn\u0026\u0026(n\u003dn[t]),e.push(n)})),ln(e,this)}},{key:\"set\",value:function(t,e){return t.constructor\u003d\u003d\u003dObject?this.each((function(e){if(e)for(var n in t)n in e\u0026\u0026(e[n]\u003dt[n])})):this.each((function(n){t in n\u0026\u0026(n[t]\u003de)})),this}},{key:\"call\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];var i\u003dZe.shift.call(e),o\u003d[],r\u003d!0;return this.each((function(t){t\u0026\u0026t[i]instanceof Function?(t\u003dt[i].apply(t,e),o.push(t),r\u0026\u0026void 0!\u003d\u003dt\u0026\u0026(r\u003d!1)):o.push(void 0)})),r?this:ln(o,this)}},{key:\"item\",value:function(t){return hn([this[t]],this)}},{key:\"asArray\",get:function(){return Ze.slice.call(this)}},{key:\"on\",value:function(t,e,n){if(\"string\"\u003d\u003dtypeof t\u0026\u0026(t\u003drn(t)),!this||!this.length)return this;if(void 0\u003d\u003d\u003dn\u0026\u0026(n\u003de,e\u003dnull),!n)return this;var i\u003dn;return n\u003de?function(t){var n\u003dhn(e,this);n.length\u0026\u0026n.some((function(e){var n\u003de.contains(t.target);return n\u0026\u0026i.call(e,t,e),n}))}:function(t){i.apply(this,[t,this])},this.each((function(e){t.forEach((function(t){(e\u003d\u003d\u003dwindow||nn(e))\u0026\u0026(e.addEventListener(t,n,!1),en.push({el:e,event:t,callback:n}))}))})),this}},{key:\"off\",value:function(t,e){return t instanceof Function\u0026\u0026(e\u003dt,t\u003dnull),t\u003dt instanceof Array?t:\"string\"\u003d\u003dtypeof t?rn(t):null,this.each((function(n){en\u003den.filter((function(i){return!!(!i||i.el!\u003d\u003dn||e\u0026\u0026e!\u003d\u003di.callback||t\u0026\u0026!~t.indexOf(i.event))||(i.el.removeEventListener(i.event,i.callback),!1)}))})),this}},{key:\"onBlur\",value:function(t){var e\u003d!(arguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1])||arguments[1];return this\u0026\u0026this.length\u0026\u0026t?(this.each((function(e){tn.push({el:e,callback:t})})),Ge||(Ge\u003dfunction(t){tn.forEach((function(e){e.el\u0026\u0026(e.el.contains(t.target)||e.el\u003d\u003d\u003dt.target||e.callback.call(e.el,t,e.el))}))},document.addEventListener(\"click\",Ge,!1),e\u0026\u0026document.addEventListener(\"touchstart\",Ge,!1)),this):this}},{key:\"offBlur\",value:function(t){return this.each((function(e){tn\u003dtn.filter((function(n){return!(n\u0026\u0026n.el\u003d\u003d\u003de\u0026\u0026(!t||n.callback\u003d\u003d\u003dt))\u0026\u0026e}))})),this}}])\u0026\u0026Ke(e.prototype,n),i\u0026\u0026Ke(e,i),Object.defineProperty(e,\"prototype\",{writable:!1}),t}(),an\u003dsn.prototype;function ln(t,e){var n\u003d[];return Ze.forEach.call(t,(function(i){if(nn(i))~n.indexOf(i)||n.push(i);else if(on(i))for(var o in i)n.push(i[o]);else if(null!\u003d\u003di)return t.get\u003dan.get,t.set\u003dan.set,t.call\u003dan.call,t.owner\u003de,t})),hn(n,e)}Object.getOwnPropertyNames(Ze).forEach((function(t){\"join\"!\u003d\u003dt\u0026\u0026\"copyWithin\"!\u003d\u003dt\u0026\u0026\"fill\"!\u003d\u003dt\u0026\u0026void 0\u003d\u003d\u003dan[t]\u0026\u0026(an[t]\u003dZe[t])})),window\u0026\u0026window.Symbol\u0026\u0026Symbol.iterator\u0026\u0026(an[Symbol.iterator]\u003dan.values\u003dZe[Symbol.iterator]);var cn\u003ddocument\u0026\u0026document.createElement(\"div\");function un(t){var e\u003dthis;an[t]||(cn[t]instanceof Function?an[t]\u003dfunction(){for(var n\u003d[],i\u003d!0,o\u003darguments.length,r\u003dnew Array(o),s\u003d0;s\u003co;s++)r[s]\u003darguments[s];for(var a in an){var l\u003dan[a];l\u0026\u0026l[t]instanceof Function?(l\u003dl[t].apply(l,r),n.push(l),i\u0026\u0026void 0!\u003d\u003dl\u0026\u0026(i\u003d!1)):n.push(void 0)}return i?e:ln(n,e)}:Object.defineProperty(an,t,{get:function(){var e\u003d[];return this.each((function(n){null!\u003d\u003dn\u0026\u0026(n\u003dn[t]),e.push(n)})),ln(e,this)},set:function(e){this.each((function(n){n\u0026\u0026t in n\u0026\u0026(n[t]\u003de)}))}}))}for(var dn in cn)un(dn);function hn(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return new sn(e)}window\u0026\u0026(window.NL\u003dhn);const pn\u003dhn;const fn\u003d{isRightAlign:function(t){var e\u003d0,n\u003dwindow.innerWidth,i\u003d(window.innerHeight,t.getBoundingClientRect());if(void 0\u003d\u003d\u003di)return!0;i.y;var o\u003di.x,r\u003di.x+t.offsetWidth;return i.y,t.offsetHeight,!(o\u003c0)\u0026\u0026(o\u003ce||!(r\u003en))},preventOverflow:function(t){t.removeAttribute(\"style\");var e\u003d0,n\u003d(window.innerWidth,window.innerHeight),i\u003dt.getBoundingClientRect();if(void 0!\u003d\u003di){var o\u003di.y,r\u003d(i.x,i.x,t.offsetWidth,i.y+t.offsetHeight);r\u003en?t.setAttribute(\"style\",\"bottom: auto; top: \".concat(-(r-n),\"px;\")):o\u003ce\u0026\u0026t.setAttribute(\"style\",\"top: auto; bottom: \".concat(-(e-o),\"px;\"))}}};function mn(t){for(var e\u003dt,n\u003dt;n;)n.classList\u0026\u0026n.classList.contains(\"dropdown-menu\")\u0026\u0026(e\u003dn),n\u003dn.parentNode;if(e.offsetWidth\u003ewindow.innerWidth)e.setAttribute(\"style\",\"left: 0px;\");else{var i\u003de.parentNode.getBoundingClientRect(),o\u003di.left+e.offsetWidth-window.innerWidth,r\u003do\u003c0?i.left:i.left-o;e.setAttribute(\"style\",\"left: \".concat(r,\"px;\"))}}const vn\u003dqe({props:{addClass:{type:String,default:\"\"},disabled:{type:[Boolean,String],default:!1}},data:function(){return{show:!1,dropright:!0,dropleft:!1}},inject:{isParentNavbar:{default:!1}},computed:{disabledBool:function(){return Re(this.disabled)}},methods:{hideSubmenu:function(){this.show\u003d!1,pn(this.$refs.submenu).find(\"ul.dropdown-menu\").each((function(t){return t.classList.toggle(\"show\",!1)})),this.alignMenuRight()},showSubmenu:function(){var t\u003dthis;this.show\u003d!0,pn(this.$refs.submenu).findChildren(\"ul\").each((function(e){e.classList.toggle(\"show\",!0),window.innerWidth\u003c768\u0026\u0026t.isParentNavbar?mn(e):(fn.isRightAlign(e)?t.alignMenuRight():t.alignMenuLeft(),fn.preventOverflow(e))}))},alignMenuRight:function(){this.dropright\u003d!0,this.dropleft\u003d!1},alignMenuLeft:function(){this.dropright\u003d!1,this.dropleft\u003d!0}},mounted:function(){var t\u003dthis,e\u003dpn(this.$refs.submenu);this.show\u0026\u0026this.showSubmenu(),e.onBlur((function(){t.hideSubmenu()}),!1),e.findChildren(\"a,button\").on(\"click\",(function(e){return e.preventDefault(),e.stopPropagation(),t.disabledBool||(t.show?t.hideSubmenu():t.showSubmenu()),!1})),e.findChildren(\"a,button\").on(\"mouseover\",(function(n){if(n.preventDefault(),window.innerWidth\u003e767){if(e.findChildren(\"ul.show\").length\u003e0||t.disabledBool)return!1;n.currentTarget.click(),t.$parent.$parent.$children.forEach((function(e){e.$el\u003d\u003d\u003dt.$el?e.$refs.submenu.showSubmenu():e.$refs.submenu.hideSubmenu()}))}return!1}))},beforeDestroy:function(){var t\u003dpn(this.$refs.submenu);t.offBlur(),t.findChildren(\"a,button\").off(),t.findChildren(\"ul\").off()}},Ye,[],!1,null,\"6df16086\",null).exports;const gn\u003dqe({components:{Submenu:vn},props:{disabled:{type:[Boolean,String],default:!1},type:{type:String,default:\"light\"},menuAlignRight:{type:Boolean,default:!1},addClass:{type:String,default:\"\"}},provide:{hasParentDropdown:!0},inject:{hasParentDropdown:{default:void 0},isParentNavbar:{default:!1}},data:function(){return{show:!1}},computed:{btnType:function(){return\"btn-\".concat(this.type)},disabledBool:function(){return Re(this.disabled)},isLi:function(){return this.$parent._navbar||this.$parent.menu||this.$parent._tabset},isSubmenu:function(){return this.hasParentDropdown},menu:function(){return!this.$parent||this.$parent.navbar},submenu:function(){return this.$parent\u0026\u0026(this.$parent.menu||this.$parent.submenu)},slots:function(){return this.$scopedSlots.default},hasBefore:function(){return!!this.$scopedSlots.before},btnWithBefore:function(){return this.hasBefore?\"btn-with-before\":\"\"}},methods:{blur:function(){var t\u003dthis;this.unblur(),this._hide\u003dsetTimeout((function(){t._hide\u003dnull,t.hideDropdownMenu()}),100)},unblur:function(){this._hide\u0026\u0026(clearTimeout(this._hide),this._hide\u003dnull)},hideDropdownMenu:function(){var t\u003dthis;this.show\u003d!1,pn(this.$refs.dropdown).findChildren(\"ul\").each((function(e){e.classList.toggle(\"show\",!1),window.innerWidth\u003c768\u0026\u0026t.isParentNavbar\u0026\u0026e.style.removeProperty(\"left\")}))},showDropdownMenu:function(){var t\u003dthis;this.show\u003d!0,pn(this.$refs.dropdown).findChildren(\"ul\").each((function(e){e.classList.toggle(\"show\",!0),window.innerWidth\u003c768\u0026\u0026t.isParentNavbar\u0026\u0026mn(e)}))}},mounted:function(){var t\u003dthis,e\u003dpn(this.$refs.dropdown);this.$slots.button\u0026\u0026e.findChildren(\".dropdown-toggle\").forEach((function(t){return t.setAttribute(\"data-bs-toggle\",\"dropdown\")})),this.show\u0026\u0026this.showDropdownMenu(),e.onBlur((function(){t.hideDropdownMenu()}),!1),e.findChildren(\"a,button.dropdown-toggle\").on(\"click\",(function(e){return e.preventDefault(),t.disabledBool||(t.show?t.hideDropdownMenu():t.showDropdownMenu()),!1})),e.findChildren(\"ul\").on(\"click\",\"li\u003ea\",(function(e){e.target.classList.contains(\"submenu-toggle\")||t.hideDropdownMenu()}))},beforeDestroy:function(){var t\u003dpn(this.$refs.dropdown);t.offBlur(),t.findChildren(\"a,button\").off(),t.findChildren(\"ul\").off()}},Xe,[],!1,null,\"12679d7e\",null).exports;var yn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[n(\"nav\",{ref:\"navbar\",class:[\"navbar\",\"navbar-expand-md\",\"d-print-none\",t.themeOptions,t.addClass,t.fixedOptions]},[n(\"div\",{staticClass:\"container-fluid\"},[n(\"div\",{staticClass:\"navbar-left\"},[t._t(\"brand\")],2),t._v(\" \"),n(\"div\",{ref:\"navbarDefault\",staticClass:\"navbar-default\"},[n(\"ul\",{staticClass:\"navbar-nav me-auto mt-2 mt-lg-0\"},[t._t(\"default\")],2)]),t._v(\" \"),t.slots.right?n(\"ul\",{staticClass:\"navbar-nav navbar-right\"},[t._t(\"right\")],2):t._e()])]),t._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isLowerNavbarShowing,expression:\"isLowerNavbarShowing\"}],ref:\"lowerNavbar\",staticClass:\"lower-navbar-container\"},[t._t(\"lower-navbar\",(function(){return[n(\"site-nav-button\"),t._v(\" \"),n(\"page-nav-button\")]}))],2)])};function wn(t,e){(null\u003d\u003de||e\u003et.length)\u0026\u0026(e\u003dt.length);for(var n\u003d0,i\u003dnew Array(e);n\u003ce;n++)i[n]\u003dt[n];return i}function bn(t,e){if(t){if(\"string\"\u003d\u003dtypeof t)return wn(t,e);var n\u003dObject.prototype.toString.call(t).slice(8,-1);return\"Object\"\u003d\u003d\u003dn\u0026\u0026t.constructor\u0026\u0026(n\u003dt.constructor.name),\"Map\"\u003d\u003d\u003dn||\"Set\"\u003d\u003d\u003dn?Array.from(t):\"Arguments\"\u003d\u003d\u003dn||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wn(t,e):void 0}}function _n(t){return function(t){if(Array.isArray(t))return wn(t)}(t)||function(t){if(\"undefined\"!\u003dtypeof Symbol\u0026\u0026null!\u003dt[Symbol.iterator]||null!\u003dt[\"@@iterator\"])return Array.from(t)}(t)||bn(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Sn(t){return t.endsWith(\".html\")?t.toLowerCase():t.endsWith(\"/\")?\"\".concat(t,\"index.html\").toLowerCase():t.endsWith(\"/\")?t.toLowerCase():\"\".concat(t,\".html\").toLowerCase()}yn._withStripped\u003d!0;var xn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.showSiteNav?n(\"overlay\",{attrs:{type:\"siteNav\",\"portal-name\":t.portalName},scopedSlots:t._u([{key:\"navMenuIcon\",fn:function(){return[n(\"div\",{class:[\"toggle-site-nav-button\"]},[n(\"span\"),t._v(\" \"),n(\"span\"),t._v(\" \"),n(\"span\")])]},proxy:!0}],null,!1,3920804522)}):t._e()};xn._withStripped\u003d!0;const Cn\u003dqe({data:function(){return{portalName:void 0,show:!1}},computed:{showSiteNav:function(){return this.show\u0026\u0026this.portalName}},methods:{toggleSiteNavButton:function(){window.innerWidth\u003c992?this.show\u003d!0:this.show\u003d!1}},mounted:function(){null!\u003d\u003ddocument.querySelector(\"#site-nav a\")?this.portalName\u003d\"site-nav\":null!\u003d\u003ddocument.querySelector(\".site-nav-root a\")\u0026\u0026(this.portalName\u003d\"mb-site-nav\"),this.toggleSiteNavButton(),pn(window).on(\"resize\",this.toggleSiteNavButton)},beforeDestroy:function(){pn(window).off(\"resize\",this.toggleSiteNavButton)}},xn,[],!1,null,\"d6ffaa8e\",null).exports;var $n\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.showPageNav?n(\"overlay\",{attrs:{type:\"pageNav\",\"portal-name\":t.portalName},scopedSlots:t._u([{key:\"navMenuIcon\",fn:function(){return[n(\"div\",{class:[\"toggle-page-nav-button\"]},[n(\"span\"),t._v(\" \"),n(\"span\"),t._v(\" \"),n(\"span\")])]},proxy:!0}],null,!1,171840498)}):t._e()};$n._withStripped\u003d!0;const kn\u003dqe({data:function(){return{portalName:void 0,show:!1}},computed:{showPageNav:function(){return this.show\u0026\u0026this.portalName}},methods:{togglePageNavButton:function(){window.innerWidth\u003c1300?this.show\u003d!0:this.show\u003d!1}},mounted:function(){null!\u003d\u003ddocument.querySelector(\"#page-nav a\")?this.portalName\u003d\"page-nav\":null!\u003d\u003ddocument.querySelector(\"#mb-page-nav a\")\u0026\u0026(this.portalName\u003d\"mb-page-nav\"),this.togglePageNavButton(),pn(window).on(\"resize\",this.togglePageNavButton)},beforeDestroy:function(){pn(window).off(\"resize\",this.togglePageNavButton)}},$n,[],!1,null,\"4b08b1df\",null).exports;const Tn\u003dqe({components:{SiteNavButton:Cn,PageNavButton:kn},props:{type:{type:String,default:\"primary\"},addClass:{type:String,default:\"\"},fixed:{type:[Boolean,String],default:!1},defaultHighlightOn:{type:String,default:\"sibling-or-child\"}},provide:function(){return{toggleLowerNavbar:this.toggleLowerNavbar,isParentNavbar:!0}},data:function(){return{id:\"bs-example-navbar-collapse-1\",styles:{},isLowerNavbarShowing:!1}},computed:{fixedBool:function(){return Re(this.fixed)},fixedOptions:function(){return this.fixedBool?\"navbar-fixed\":\"\"},slots:function(){return this.$scopedSlots},themeOptions:function(){switch(this.type){case\"none\":return\"\";case\"light\":return\"navbar-light bg-light\";case\"dark\":return\"navbar-dark bg-dark\";case\"primary\":default:return\"navbar-dark bg-primary\"}}},methods:{splitUrl:function(t){var e\u003dnew URL(Sn(t));return\"\".concat(e.pathname).substr(1).split(\"/\")},isEqualExceptLast:function(t,e){for(var n\u003d0;n\u003ct.length-1;n+\u003d1)if(t[n]!\u003d\u003de[n])return!1;return!0},isSibling:function(t,e){var n\u003dthis.splitUrl(e),i\u003dthis.splitUrl(t);return n.length\u003d\u003d\u003di.length\u0026\u0026this.isEqualExceptLast(n,i)},isChild:function(t,e){var n\u003dthis.splitUrl(e),i\u003dthis.splitUrl(t);return!(i.length\u003c\u003dn.length)\u0026\u0026this.isEqualExceptLast(n,i)},isExact:function(t,e){return Sn(t)\u003d\u003d\u003dSn(e)},addClassIfDropdown:function(t,e,n){t.includes(e)\u0026\u0026(e.classList.add(\"dropdown-current\"),this.addClassIfSubmenu(e,n))},addClassIfSubmenu:function(t,e){for(var n\u003dt.parentElement;n!\u003d\u003de;)n.classList.contains(\"dropdown-submenu\")\u0026\u0026pn(n).findChildren(\"a\").each((function(t){return t.classList.add(\"dropdown-current\")})),n\u003dn.parentElement},highlightLink:function(t){var e\u003dthis.defaultHighlightOn,n\u003d[];this.$el.querySelectorAll(\".navbar-nav\").forEach((function(t){return n.push.apply(n,_n(Array.from(t.children)))}));for(var i\u003d0;i\u003cn.length;i+\u003d1)for(var o\u003dn[i],r\u003d[o],s\u003dArray.from(o.querySelectorAll(\"a.nav-link\")),a\u003dArray.from(o.querySelectorAll(\"a.dropdown-item\")),l\u003dr.concat(s).concat(a).filter((function(t){return t.href})),c\u003d0;c\u003cl.length;c+\u003d1){var u\u003dl[c];if(\"none\"!\u003d\u003d(u.getAttribute(\"highlight-on\")||e)\u0026\u0026this.isExact(t,u.href))return o.classList.add(\"current\"),void this.addClassIfDropdown(a,u,o)}for(var d\u003d0;d\u003cn.length;d+\u003d1)for(var h\u003dn[d],p\u003d[h],f\u003dArray.from(h.querySelectorAll(\"a.nav-link\")),m\u003dArray.from(h.querySelectorAll(\"a.dropdown-item\")),v\u003dp.concat(f).concat(m).filter((function(t){return t.href})),g\u003d0;g\u003cv.length;g+\u003d1){var y\u003dv[g],w\u003dy.getAttribute(\"highlight-on\")||e;if(\"none\"!\u003d\u003dw)if(\"sibling-or-child\"\u003d\u003d\u003dw){if(this.isSibling(t,y.href)||this.isChild(t,y.href))return h.classList.add(\"current\"),void this.addClassIfDropdown(m,y,h)}else if(\"sibling\"\u003d\u003d\u003dw){if(this.isSibling(t,y.href))return h.classList.add(\"current\"),void this.addClassIfDropdown(m,y,h)}else if(\"child\"\u003d\u003d\u003dw\u0026\u0026this.isChild(t,y.href))return h.classList.add(\"current\"),void this.addClassIfDropdown(m,y,h)}},toggleLowerNavbar:function(){this.$refs.lowerNavbar.childElementCount\u003e0?this.isLowerNavbarShowing\u003d!0:this.isLowerNavbarShowing\u003d!1}},created:function(){this._navbar\u003d!0},mounted:function(){var t\u003dthis,e\u003dpn(\u0027.dropdown\u003e[data-bs-toggle\u003d\"dropdown\"]\u0027,this.$el).parent();e.on(\"click\",\".dropdown-toggle\",(function(t){t.preventDefault(),e.each((function(e){e.contains(t.target)\u0026\u0026e.classList.toggle(\"open\")}))})).on(\"click\",\".dropdown-menu\u003eli\u003ea\",(function(t){e.each((function(e){e.contains(t.target)\u0026\u0026e.classList.remove(\"open\")}))})).onBlur((function(t){e.each((function(e){e.contains(t.target)||e.classList.remove(\"open\")}))})),this.highlightLink(window.location.href);var n\u003dpn(this.$refs.navbarDefault).find(\".current\")[0];n\u0026\u0026window.innerWidth\u003c768\u0026\u0026n.offsetLeft+n.offsetWidth\u003ewindow.innerWidth\u0026\u0026(this.$refs.navbarDefault.scrollLeft\u003dn.offsetLeft+n.offsetWidth-window.innerWidth),this.toggleLowerNavbar(),pn(window).on(\"resize\",this.toggleLowerNavbar),pn(this.$refs.navbarDefault).on(\"wheel\",(function(e){window.innerWidth\u003c768\u0026\u0026!function(t){for(var e\u003d0;e\u003ct.length;e+\u003d1)if(t[e].classList\u0026\u0026t[e].classList.contains(\"dropdown-menu\"))return!0;return!1}(e.path)\u0026\u0026(e.preventDefault(),t.$refs.navbarDefault.scrollLeft+\u003de.deltaY)}))},beforeDestroy:function(){pn(\".dropdown\",this.$el).off(\"click\").offBlur(),pn(window).off(\"resize\",this.toggleLowerNavbar),pn(this.$refs.navbarDefault).off(\"wheel\")}},yn,[],!1,null,\"73b4aa16\",null).exports;var En\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.isMinimal?n(\"minimal-panel\",t._b({attrs:{\"panel-id\":t.panelId},scopedSlots:t._u([t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(){return[t._t(n)]},proxy:!0}}))],null,!0)},\"minimal-panel\",t.$attrs,!1)):n(\"nested-panel\",t._b({attrs:{\"panel-id\":t.panelId,type:t.type},scopedSlots:t._u([t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(){return[t._t(n)]},proxy:!0}}))],null,!0)},\"nested-panel\",t.$attrs,!1))};En._withStripped\u003d!0;var On\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.localMinimized?n(\"span\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[n(\"span\",{staticClass:\"morph\"},[n(\"button\",{class:[\"morph-display-wrapper\",\"btn\",t.btnType],on:{click:function(e){return t.open()}}},[t.noMinimizedSwitch?t._e():n(\"div\",{staticClass:\"minimal-caret-wrapper\"},[n(\"span\",{class:[\"glyphicon\",\"glyphicon-chevron-right\"]})]),t._v(\" \"),n(\"span\",{staticClass:\"card-title\"},[t._t(\"_alt\",(function(){return[t._t(\"header\")]}))],2)])])]):n(\"div\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[n(\"div\",{class:[\"card\",{\"expandable-card\":t.isExpandableCard},t.borderType]},[n(\"div\",{class:[\"card-header\",{\"header-toggle\":t.isExpandableCard},t.cardType,t.borderType],on:{click:function(e){e.preventDefault(),e.stopPropagation(),t.isExpandableCard\u0026\u0026t.toggle()}}},[n(\"div\",{staticClass:\"caret-wrapper\"},[t.showCaret?n(\"span\",{class:[\"glyphicon\",t.localExpanded?\"glyphicon-chevron-down\":\"glyphicon-chevron-right\"]}):t._e()]),t._v(\" \"),n(\"div\",{ref:\"headerWrapper\",class:[\"header-wrapper card-title\",t.cardType,{\"text-white\":!t.isLightBg,\"header-transparent\":!t.shouldShowHeader}]},[t._t(\"header\")],2),t._v(\" \"),n(\"div\",{staticClass:\"button-wrapper\"},[t._t(\"button\",(function(){return[n(\"panel-switch\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isExpandableCard\u0026\u0026!t.noSwitchBool\u0026\u0026!t.showCaret,expression:\"isExpandableCard \u0026\u0026 !noSwitchBool \u0026\u0026 !showCaret\"}],attrs:{\"is-open\":t.localExpanded,\"is-light-bg\":t.isLightBg}}),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.noCloseBool,expression:\"!noCloseBool\"}],staticClass:\"close-button btn\",class:[t.isLightBg?\"btn-outline-secondary\":\"btn-outline-light\",{\"seamless-button\":t.isSeamless}],attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.close()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-remove\",attrs:{\"aria-hidden\":\"true\"}})]),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.popupUrl,expression:\"popupUrl\"}],staticClass:\"popup-button btn\",class:[t.isLightBg?\"btn-outline-secondary\":\"btn-outline-light\",{\"seamless-button\":t.isSeamless}],attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.openPopup()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-new-window\",attrs:{\"aria-hidden\":\"true\"}})])]}))],2)]),t._v(\" \"),n(\"div\",{ref:\"panel\",staticClass:\"card-collapse\",class:{\"card-peek-collapsed\":t.shouldShowPeek}},[t.wasRetrieverLoaded||t.preloadBool?n(\"div\",{staticClass:\"card-body\"},[t._t(\"default\"),t._v(\" \"),t.hasSrc?n(\"retriever\",{ref:\"retriever\",attrs:{src:t.srcWithoutFragment,fragment:t.fragment},on:{\"src-loaded\":t.retrieverUpdateMaxHeight}}):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"bottom-button-wrapper\"},[n(\"panel-switch\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isExpandableCard\u0026\u0026t.bottomSwitchBool,expression:\"isExpandableCard \u0026\u0026 bottomSwitchBool\"}],attrs:{\"is-open\":t.localExpanded},nativeOn:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.toggle(!0)}}})],1)],2):t._e(),t._v(\" \"),n(\"hr\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isSeamless,expression:\"isSeamless\"}]})]),t._v(\" \"),n(\"transition\",{attrs:{name:\"peek-read-more-fade\"}},[t.shouldShowPeek?n(\"div\",{staticClass:\"peek-read-more glyphicon glyphicon-chevron-down\",on:{click:function(e){return t.toggle()}}}):t._e()])],1)])};On._withStripped\u003d!0;const Bn\u003d{props:{type:{type:String,default:null},expandable:{type:[Boolean,String],default:!0},isOpen:{type:[Boolean,String],default:null},expanded:{type:[Boolean,String],default:null},minimized:{type:[Boolean,String],default:!1},noMinimizedSwitch:{type:[Boolean,String],default:!1},noSwitch:{type:[Boolean,String],default:!1},noClose:{type:[Boolean,String],default:!1},popupUrl:{type:String,default:null},src:{type:String},bottomSwitch:{type:[Boolean,String],default:!0},preload:{type:[Boolean,String],default:!1},addClass:{type:String,default:\"\"},expandHeaderless:{type:Boolean,default:!1},peek:{type:Boolean,default:!1},panelId:{type:String,default:null}},computed:{expandableBool:function(){return Re(this.expandable)},isOpenBool:function(){return Re(this.isOpen)},expandedBool:function(){return Re(this.expanded)},minimizedBool:function(){return Re(this.minimized)},noSwitchBool:function(){return Re(this.noSwitch)},noCloseBool:function(){return Re(this.noClose)},bottomSwitchBool:function(){return Re(this.bottomSwitch)},preloadBool:function(){return Re(this.preload)},hasHeaderBool:function(){return this.$scopedSlots.header},isExpandableCard:function(){return this.expandableBool},hasId:function(){return this.panelId},hasSrc:function(){return this.src\u0026\u0026this.src.length\u003e0},srcWithoutFragment:function(){return this.src.split(\"#\")[0]},shouldShowHeader:function(){return!this.localExpanded||!this.expandHeaderless},shouldShowPeek:function(){return this.peek\u0026\u0026!this.localExpanded},collapsedPanelHeight:function(){return this.peek?125:0}},data:function(){return{localExpanded:!1,localMinimized:!1,wasRetrieverLoaded:!1,isRetrieverLoadDone:!this.src,fragment:\"\"}},methods:{toggle:function(t){var e\u003dthis;this.wasRetrieverLoaded?(this.localExpanded?(t\u0026\u0026(this.$refs.panel.style.maxHeight\u003d\"\".concat(this.$refs.panel.scrollHeight,\"px\")),requestAnimationFrame((function(){if(e.$el.getBoundingClientRect().top\u003c0){var n,i\u003ddocument.querySelector(\"header[sticky]\");if(null\u003d\u003di)n\u003d0;else{var o\u003dwindow.getComputedStyle(i,null);n\u003di.clientHeight-parseFloat(o.paddingTop)-parseFloat(o.paddingBottom)||0}window.scrollTo({top:window.scrollY+e.$el.getBoundingClientRect().top-n-3,left:0,behavior:t?\"smooth\":\"instant\"})}e.$refs.panel.style.maxHeight\u003d\"\".concat(e.collapsedPanelHeight,\"px\")}))):(this.$refs.panel.style.transition\u003d\"max-height 0.5s ease-in-out\",this.$refs.panel.style.maxHeight\u003d\"\".concat(this.$refs.panel.scrollHeight,\"px\")),this.localExpanded\u003d!this.localExpanded):this.open()},close:function(){this.localMinimized\u003d!0,this.localExpanded\u003d!1},open:function(){var t\u003dthis;this.localMinimized\u003d!1,this.$nextTick((function(){t.initPanel(),t.localExpanded\u003d!0,t.wasRetrieverLoaded\u003d!0,t.$nextTick((function(){t.$refs.panel.style.maxHeight\u003d\"\".concat(t.$refs.panel.scrollHeight,\"px\")}))}))},openPopup:function(){window.open(this.popupUrl)},retrieverUpdateMaxHeight:function(){this.isRetrieverLoadDone\u003d!0,this.localExpanded\u0026\u0026(this.expandedBool?this.$refs.panel.style.maxHeight\u003d\"none\":this.$refs.panel.style.maxHeight\u003d\"\".concat(this.$refs.panel.scrollHeight,\"px\"))},initPanel:function(){var t\u003dthis;this.$refs.panel.addEventListener(\"transitionend\",(function(e){t.localExpanded\u0026\u0026t.isRetrieverLoadDone\u0026\u0026e.target\u003d\u003d\u003dt.$refs.panel\u0026\u0026(t.$refs.panel.style.maxHeight\u003d\"none\")})),this.localExpanded?this.$refs.panel.style.maxHeight\u003d\"none\":this.$refs.panel.style.maxHeight\u003d\"\".concat(this.collapsedPanelHeight,\"px\")}},created:function(){if(this.src){var t\u003dIe(this.src);t\u0026\u0026(this.fragment\u003dt)}var e\u003d!this.expandableBool\u0026\u0026\"false\"!\u003d\u003dthis.expanded;this.localExpanded\u003de||this.expandedBool,null\u003d\u003d\u003dthis.localExpanded\u0026\u0026(this.localExpanded\u003d!1),this.wasRetrieverLoaded\u003dthis.localExpanded||this.peek,this.localMinimized\u003dthis.minimizedBool},mounted:function(){this.localMinimized||this.initPanel()}};var Pn\u003dfunction(){var t\u003dthis.$createElement,e\u003dthis._self._c||t;return e(\"button\",{class:[\"collapse-button\",\"btn\",this.isLightBg?\"btn-outline-secondary\":\"btn-outline-light\"],attrs:{type:\"button\"}},[e(\"span\",{class:[\"collapse-icon\",\"glyphicon\",\"glyphicon-menu-down\",{opened:this.isOpenBool}],attrs:{\"aria-hidden\":\"true\"}})])};Pn._withStripped\u003d!0;const Ln\u003dqe({props:{isOpen:{type:[Boolean,String],default:!1},isLightBg:{type:Boolean,default:!0}},computed:{isOpenBool:function(){return Re(this.isOpen)}}},Pn,[],!1,null,null,null).exports;var Nn\u003dfunction(){var t\u003dthis.$createElement;return(this._self._c||t)(\"div\",[this._v(\"\\n Loading...\\n\")])};function An(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}Nn._withStripped\u003d!0;const zn\u003dqe({props:{src:{type:String,default:null},fragment:{type:String,default:null},delay:{type:[Boolean,String],default:!1},hasFetched:{type:Boolean,default:!1}},data:function(){return{hasFetchedCopy:this.hasFetched}},computed:{delayBool:function(){return Re(this.delay)},hash:function(){return Ie(this.src)||this.fragment},srcWithoutHash:function(){return this.src.split(\"#\")[0]}},methods:{fetch:function(t){function e(){return t.apply(this,arguments)}return e.toString\u003dfunction(){return t.toString()},e}((function(){var t\u003dthis;this.srcWithoutHash\u0026\u0026(this.hasFetchedCopy||fetch(this.srcWithoutHash).then((function(t){return t.text()})).then((function(e){var i\u003de;if(t.hash){var o\u003ddocument.implementation.createHTMLDocument(\"\");o.body.innerHTML\u003di,o.querySelectorAll(\"svg \u003e script\").forEach((function(t){return t.remove()})),i\u003do.querySelector(\"#\".concat(t.hash)).innerHTML}if(t.hasFetchedCopy\u003d!0,void 0\u003d\u003d\u003di\u0026\u0026t.hash)t.$el.innerHTML\u003d\"\u003cstrong\u003eError\u003c/strong\u003e: Failed to retrieve page fragment:\"+\" \".concat(t.srcWithoutHash,\"#\").concat(t.hash);else{var r\u003dfunction(t){for(var e\u003d1;e\u003carguments.length;e++){var i\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?An(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):An(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}({},t.$root.$data);(new(Vue.extend({template:\"\u003cdiv\u003e\\n\".concat(i,\"\\n\u003c/div\u003e\"),data:function(){return r}}))).$mount(t.$el),t.$emit(\"src-loaded\")}})).catch((function(e){console.error(e),t.$el.innerHTML\u003d\"\u003cstrong\u003eError\u003c/strong\u003e: Failed to retrieve content from source: \"+\"\u003cem\u003e\".concat(t.srcWithoutHash,\"\u003c/em\u003e\"),t.$emit(\"src-loaded\")})))}))},mounted:function(){this.$nextTick((function(){this.srcWithoutHash||(this.$el.innerHTML\u003d\"\"),this.delayBool||this.fetch()}))}},Nn,[],!1,null,null,null).exports;const Mn\u003dqe({mixins:[Bn],components:{panelSwitch:Ln,retriever:zn},computed:{showCaret:function(){return this.isSeamless\u0026\u0026this.expandableBool},isSeamless:function(){return\"seamless\"\u003d\u003d\u003dthis.type},btnType:function(){return this.isSeamless||\"light\"\u003d\u003d\u003dthis.type?\"btn-outline-secondary\":\"btn-outline-\".concat(this.type||\"secondary\")},borderType:function(){return this.isSeamless?\"border-0\":this.type?\"light\"\u003d\u003d\u003dthis.type?\"\":\"border-\".concat(this.type):\"\"},cardType:function(){return this.isSeamless?\"bg-white\":\"bg-\".concat(this.type||\"light\")},isLightBg:function(){return\"bg-light\"\u003d\u003d\u003dthis.cardType||\"bg-white\"\u003d\u003d\u003dthis.cardType||\"bg-warning\"\u003d\u003d\u003dthis.cardType}}},On,[],!1,null,\"1e33c620\",null).exports;var Hn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.localMinimized?n(\"span\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[t.hasId?n(\"span\",{staticClass:\"anchor\",attrs:{id:t.panelId}}):t._e(),t._v(\" \"),n(\"span\",{staticClass:\"morph\"},[n(\"button\",{staticClass:\"morph-display-wrapper btn card-title morph-title\",on:{click:function(e){return t.minimalOpen()}}},[t.noMinimizedSwitch?t._e():n(\"div\",{class:[\"glyphicon\",\"glyphicon-chevron-right\"]}),t._v(\" \"),t._t(\"_alt\",(function(){return[n(\"span\",{staticClass:\"card-title\"},[t._t(\"header\")],2)]}))],2)])]):n(\"div\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[t.hasId?n(\"span\",{staticClass:\"anchor\",attrs:{id:t.panelId}}):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"card card-flex\"},[n(\"div\",{class:[\"header-wrapper\",{\"header-wrapper-bottom\":t.isHeaderAtBottom,\"header-toggle\":t.isExpandableCard}],on:{click:function(e){e.preventDefault(),e.stopPropagation(),t.isExpandableCard\u0026\u0026t.minimalToggle()}}},[n(\"transition\",{attrs:{name:\"header-fade\"}},[n(\"span\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.isHeaderAtBottom,expression:\"!isHeaderAtBottom\"}],ref:\"headerWrapper\",class:[\"card-title\",{ellipses:!t.hasHeaderBool}]},[n(\"span\",{staticClass:\"card-title-inline\"},[t._t(\"header\")],2),t._v(\" \"),n(\"span\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showDownSwitch,expression:\"showDownSwitch\"}],staticClass:\"minimal-button glyphicon glyphicon-menu-down minimal-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])]),t._v(\" \"),n(\"div\",{class:[\"button-wrapper\",{\"button-wrapper-expanded\":t.isHeaderAtBottom}]},[t._t(\"button\",(function(){return[n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.noCloseBool,expression:\"!noCloseBool\"}],staticClass:\"minimal-button\",attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.minimalClose()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-remove minimal-close-button\",attrs:{\"aria-hidden\":\"true\"}})]),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:null!\u003d\u003dt.popupUrl,expression:\"popupUrl !\u003d\u003d null\"}],staticClass:\"minimal-button\",attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.openPopup()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-new-window minimal-popup-button\",attrs:{\"aria-hidden\":\"true\"}})]),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isHeaderAtBottom\u0026\u0026t.isExpandableCard\u0026\u0026t.bottomSwitchBool,expression:\"isHeaderAtBottom \u0026\u0026 isExpandableCard \u0026\u0026 bottomSwitchBool\"}],staticClass:\"minimal-button\",attrs:{type:\"button\"}},[n(\"span\",{staticClass:\"glyphicon glyphicon-menu-up minimal-menu-up\",attrs:{\"aria-hidden\":\"true\"}})])]}))],2)],1),t._v(\" \"),n(\"div\",{ref:\"panel\",staticClass:\"card-collapse\",class:{\"card-peek-collapsed\":t.shouldShowPeek}},[t.wasRetrieverLoaded||t.preloadBool?n(\"div\",{staticClass:\"card-body\"},[t._t(\"default\"),t._v(\" \"),t.hasSrc?n(\"retriever\",{ref:\"retriever\",attrs:{src:t.srcWithoutFragment,fragment:t.fragment},on:{\"src-loaded\":t.retrieverUpdateMaxHeight}}):t._e()],2):t._e()])])])};Hn._withStripped\u003d!0;var Dn\u003dqe({mixins:[Bn],components:{retriever:zn},data:function(){return{isHeaderAtBottom:!1}},computed:{showDownSwitch:function(){return this.hasHeaderBool\u0026\u0026this.isExpandableCard\u0026\u0026!this.noSwitchBool}},methods:{minimalToggle:function(){var t\u003dthis;if(this.localExpanded){this.$refs.panel.addEventListener(\"transitionend\",(function e(n){n.target\u003d\u003d\u003dt.$refs.panel\u0026\u0026(t.isHeaderAtBottom\u003d!1,t.$refs.panel.removeEventListener(\"transitionend\",e))}))}else this.isHeaderAtBottom\u003d!0;this.toggle(!0)},minimalOpen:function(){this.open(),this.isHeaderAtBottom\u003d!0},minimalClose:function(){this.close(),this.isHeaderAtBottom\u003d!1}},created:function(){this.isHeaderAtBottom\u003dthis.localExpanded}},Hn,[],!1,null,\"5d519034\",null);const Rn\u003dqe({components:{nestedPanel:Mn,minimalPanel:Dn.exports},props:{panelId:{type:String,default:null},type:{type:String,default:null}},computed:{isMinimal:function(){return\"minimal\"\u003d\u003d\u003dthis.type}}},En,[],!1,null,null,null).exports;var jn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"annotate-image-wrapper\",t.addClass]},[n(\"img\",{ref:\"pic\",staticClass:\"annotate-image\",attrs:{src:t.src,alt:t.alt,width:t.computedWidth},on:{\"~load\":function(e){return t.getWidth.apply(null,arguments)}}}),t._v(\" \"),n(\"div\",{staticStyle:{top:\"0\",left:\"0\",height:\"0\"}},[t._t(\"default\")],2)])};jn._withStripped\u003d!0;const In\u003dqe({props:{src:{type:String,default:null},alt:{type:String,default:null},height:{type:String,default:\"\"},width:{type:String,default:\"\"},addClass:{type:String,default:\"\"}},computed:{hasWidth:function(){return\"\"!\u003d\u003dthis.width},hasHeight:function(){return\"\"!\u003d\u003dthis.height},computedWidth:function(){return this.hasWidth?this.width:this.widthFromHeight}},data:function(){return{widthFromHeight:\"\"}},methods:{getWidth:function(){if(!this.hasWidth\u0026\u0026this.hasHeight){var t\u003dthis.$refs.pic,e\u003dt.naturalHeight,n\u003dt.naturalWidth/e;this.widthFromHeight\u003dMath.round(je(this.height)*n)}}},provide:function(){return{width:this.width,height:this.height,src:this.src}}},jn,[],!1,null,null,null).exports;var qn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[t.hasBottomText\u0026\u0026t.hasLabel?n(\"div\",{staticClass:\"legend-wrapper\"},[n(\"div\",{staticClass:\"text-header\"},[t._v(\"\\n \"+t._s(t.computedBottomHeader)+\"\\n \")]),t._v(\" \"),t.hasContent?n(\"div\",[t._t(\"content\")],2):t._e()]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"annotate-point\"},[t.isMounted?n(\"div\",{staticClass:\"popover-annotation\"},[n(\"div\",{style:t.pointPosition},[t.isMounted?n(\"v-popover\",{attrs:{placement:t.placement,delay:0,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,distance:t.computeDistance,disabled:!t.hasPopover,skidding:t.computeSkidding,\"arrow-padding\":t.computeArrowPadding,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[t.hasContent||t.hasHeader?n(\"div\",{staticClass:\"popover-container\"},[t.hasHeader?n(\"h3\",{staticClass:\"popover-header\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),t.hasContent?n(\"div\",{staticClass:\"popover-body\"},[t._t(\"content\")],2):t._e()]):t._e()]},proxy:!0}],null,!0)},[n(\"div\",{staticClass:\"hover-wrapper\"},[t._t(\"default\",(function(){return[n(\"button\",{staticClass:\"hover-point\",style:t.pointStyle})]})),t._v(\" \"),n(\"div\",{staticClass:\"hover-label\",style:t.labelStyle},[t._t(\"label\")],2)],2)]):t._e()],1)]):t._e()])])};qn._withStripped\u003d!0;const Wn\u003dqe({props:{content:{type:String,default:\"\"},header:{type:String,default:\"\"},placement:{type:String,default:\"top\"},x:{type:String,default:null},y:{type:String,default:null},color:{type:String,default:\"green\"},textColor:{type:String,default:\"black\"},fontSize:{type:String,default:\"14\"},opacity:{type:String,default:\"0.3\"},size:{type:String,default:\"40\"},label:{type:String,default:\"\"},legend:{type:String,default:\"popover\"},trigger:{type:String,default:\"click\"}},data:function(){return{targetEl:{},isMounted:!1,width:this.width,height:this.height,src:this.src}},inject:[\"width\",\"height\",\"src\"],computed:{pointPosition:function(){var t\u003dthis;this.computeImage((function(){t.width\u003dt.parentEl.offsetWidth,t.height\u003dt.parentEl.offsetHeight}));var e\u003d100*(this.toDecimal(this.x)-this.size/2/this.width),n\u003d100*(this.toDecimal(this.y)-this.size/2/this.height);return{left:\"\".concat(e,\"%\"),top:\"\".concat(n,\"%\"),position:\"absolute\",pointerEvents:\"all\"}},pointStyle:function(){var t\u003dthis.hasPopover?\"pointer\":\"default\";return{backgroundColor:this.color,opacity:this.opacity,width:\"\".concat(this.size,\"px\"),height:\"\".concat(this.size,\"px\"),cursor:t}},labelStyle:function(){return{fontSize:\"\".concat(Math.min(this.fontSize,this.size),\"px\"),color:this.textColor}},triggers:function(){return this.trigger.split(\" \")},computeDistance:function(){return\"top\"\u003d\u003d\u003dthis.placement?je(this.size*(2/3)):je(this.size/10)},computeSkidding:function(){return\"left\"\u003d\u003d\u003dthis.placement||\"right\"\u003d\u003d\u003dthis.placement?-je(this.size/4):0},computeArrowPadding:function(){return\"left\"\u003d\u003d\u003dthis.placement||\"right\"\u003d\u003d\u003dthis.placement?je(this.size/2):0},hasHeader:function(){return!!this.$scopedSlots.header},hasContent:function(){return!!this.$scopedSlots.content},hasWidth:function(){return\"\"!\u003d\u003dthis.width},hasHeight:function(){return\"\"!\u003d\u003dthis.height},hasLabel:function(){return!!this.$scopedSlots.label},hasBottomText:function(){return\"bottom\"\u003d\u003d\u003dthis.legend||\"both\"\u003d\u003d\u003dthis.legend},hasPopover:function(){return\"popover\"\u003d\u003d\u003dthis.legend||\"both\"\u003d\u003d\u003dthis.legend},computedBottomHeader:function(){return\"\"!\u003d\u003dthis.label\u0026\u0026\"\"\u003d\u003d\u003dthis.header?this.label:\"\"\u003d\u003d\u003dthis.label\u0026\u0026\"\"!\u003d\u003dthis.header?this.header:\"\".concat(this.label,\": \").concat(this.header)}},methods:{computeImage:function(t){var e\u003dnew Image;e.onload\u003dfunction(){t()},e.src\u003dthis.src},toDecimal:function(t){return parseFloat(t)/100}},mounted:function(){this.targetEl\u003dthis.$el,this.isMounted\u003d!0,this.parentEl\u003dthis.$el.parentElement.parentElement.querySelector(\".annotate-image\")}},qn,[],!1,null,null,null).exports;var Fn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:[\"image-wrapper\",t.addClass]},[n(\"img\",{ref:\"pic\",staticClass:\"img-fluid rounded\",attrs:{src:t.src,alt:t.alt,width:t.computedWidth},on:{\"~load\":function(e){return t.computeWidth.apply(null,arguments)}}}),t._v(\" \"),n(\"span\",{staticClass:\"image-caption\"},[t._t(\"default\")],2)])};Fn._withStripped\u003d!0;const Vn\u003dqe({props:{src:{type:String,default:null},alt:{type:String,default:null},height:{type:String,default:\"\"},width:{type:String,default:\"\"},addClass:{type:String,default:\"\"}},computed:{hasWidth:function(){return\"\"!\u003d\u003dthis.width},hasHeight:function(){return\"\"!\u003d\u003dthis.height},computedWidth:function(){return this.hasWidth?this.width:this.widthFromHeight}},data:function(){return{widthFromHeight:\"\"}},methods:{computeWidth:function(){if(!this.hasWidth\u0026\u0026this.hasHeight){var t\u003dthis.$refs.pic,e\u003dt.naturalHeight,n\u003dt.naturalWidth/e;this.widthFromHeight\u003dMath.round(je(this.height)*n).toString()}}}},Fn,[],!1,null,null,null).exports;var Un\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"quiz-container\",t.addClass]},[n(\"transition\",{attrs:{name:\"intro-outro-card\"},on:{\"after-leave\":t.showFirstQuestion}},[3\u003d\u003d\u003dt.state?n(\"div\",{staticClass:\"card intro-outro-card\"},[n(\"div\",{staticClass:\"card-body\"},[t._t(\"intro\",(function(){return[n(\"h4\",[t._v(\"\\n Click start to begin\\n \")])]})),t._v(\" \"),n(\"h5\",[t._v(t._s(t.questions.length)+\" questions\")]),t._v(\" \"),n(\"hr\"),t._v(\" \"),n(\"button\",{staticClass:\"btn btn-primary d-inline-block\",attrs:{type:\"button\"},on:{click:t.begin}},[t._v(\"\\n Start\\n \")])],2)]):t._e()]),t._v(\" \"),n(\"transition\",{attrs:{name:\"intro-outro-card\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:4\u003d\u003d\u003dt.state,expression:\"state \u003d\u003d\u003d 4\"}],staticClass:\"progress intro-outro-card\",staticStyle:{height:\"1px\"}},[n(\"div\",{staticClass:\"progress-bar progress-bar-z\",style:{width:t.currentQuestion/t.questions.length*100+\"%\"},attrs:{role:\"progressbar\",\"aria-valuemin\":\"0\",\"aria-valuemax\":t.questions.length,\"aria-valuenow\":t.currentQuestion}})])]),t._v(\" \"),t._t(\"default\"),t._v(\" \"),n(\"transition\",{attrs:{name:\"intro-outro-card\"},on:{\"after-enter\":t.setScoreCircleStyles,\"after-leave\":t.showFirstQuestion}},[5\u003d\u003d\u003dt.state?n(\"div\",{staticClass:\"card intro-outro-card\"},[n(\"div\",{staticClass:\"card-body\"},[n(\"h4\",{staticClass:\"mb-3\"},[t._v(\"\\n \"+t._s(t.scoreText)+\"\\n \")]),t._v(\" \"),n(\"svg\",{attrs:{viewBox:\"0 0 100 100\",width:\"120px\",height:\"120px\"}},[n(\"circle\",{staticClass:\"score-background-circle\",attrs:{cx:\"50\",cy:\"50\",r:\"42\"}}),t._v(\" \"),n(\"circle\",{ref:\"score\",staticClass:\"score-circle\",attrs:{cx:\"50\",cy:\"50\",r:\"42\",transform:\"rotate(-90, 50, 50)\",\"stroke-dashoffset\":\"264\"}}),t._v(\" \"),n(\"text\",{staticClass:\"score\",attrs:{x:\"22\",y:\"57\",textLength:\"56\"}},[t._v(t._s(t.score)+\" / \"+t._s(t.questions.length))])]),t._v(\" \"),n(\"hr\"),t._v(\" \"),n(\"button\",{staticClass:\"btn btn-outline-primary\",attrs:{type:\"button\"},on:{click:t.begin}},[t._v(\"\\n Retry\\n \")])])]):t._e()])],2)};Un._withStripped\u003d!0;const Qn\u003dqe({name:\"Quiz\",props:{addClass:{type:String,default:null}},data:function(){return{currentQuestion:0,questions:[],score:0,state:3}},provide:function(){return{questions:this.questions,gotoNextQuestion:this.gotoNextQuestion,showNextQuestion:this.showNextQuestion}},computed:{scoreText:function(){return this.score/this.questions.length\u003e.5?\"Well done!\":\"Try again?\"}},methods:{gotoNextQuestion:function(){this.questions[this.currentQuestion-1].hide(),this.currentQuestion+\u003d1},showNextQuestion:function(){this.currentQuestion\u003c\u003dthis.questions.length?this.questions[this.currentQuestion-1].show():this.complete()},begin:function(){this.currentQuestion\u003d1,this.score\u003d0,this.state\u003d4},showFirstQuestion:function(){this.questions.length\u0026\u0026this.questions[0].show()},reset:function(){this.questions.forEach((function(t){return t.reset()}))},complete:function(){this.score\u003dthis.questions.filter((function(t){return 2\u003d\u003d\u003dt.qState.state})).length,this.state\u003d5,this.reset()},setScoreCircleStyles:function(){var t\u003dthis.score/this.questions.length;this.$refs.score.style.strokeDashoffset\u003d264*(1-t),this.$refs.score.style.stroke\u003d\"#51c2f8\"}}},Un,[],!1,null,\"7a8f322c\",null).exports;var Xn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"transition\",{attrs:{name:t.questions?\"question\":null},on:{\"after-leave\":t.showNextQuestion}},[t.active?n(\"div\",{class:[\"card\",\"question\",t.shakeClass,t.addClass]},[t.$scopedSlots.header?n(\"div\",{staticClass:\"card-header alert-light border-bottom border-light text-dark\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"card-body\"},[t._t(\"default\"),t._v(\" \"),t.isTextQuestion()?n(\"div\",{staticClass:\"mb-2\"},[n(\"textarea\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.textareaText,expression:\"textareaText\"}],staticClass:\"form-control\",attrs:{disabled:t.qState.answered},domProps:{value:t.textareaText},on:{input:function(e){e.target.composing||(t.textareaText\u003de.target.value)}}}),t._v(\" \"),t.qState.answered?n(\"div\",[n(\"hr\"),t._v(\" \"),t.keywordsSplitTrimmed().length?n(\"strong\",[t._v(\"\\n Keywords: \\n \"),t._l(t.keywordsSplitTrimmed(),(function(e){return n(\"span\",{key:e,staticClass:\"badge rounded-pill bg-light text-dark fw-normal\"},[t._v(\"\\n \"+t._s(e)+\"\\n \")])}))],2):t._e()]):t._e()]):t._e(),t._v(\" \"),t.qState.answered\u0026\u0026t.isTextQuestion()?n(\"div\",{staticClass:\"answer\"},[t._t(\"answer\")],2):t._e(),t._v(\" \"),t.showHint?n(\"box\",{staticClass:\"mb-0 mt-3\",attrs:{type:\"tip\"}},[t._t(\"hint\")],2):t._e()],2),t._v(\" \"),t.showCardFooter?n(\"div\",{staticClass:\"card-footer alert-light border-top border-light text-dark\"},[1\u003d\u003d\u003dt.qState.state?n(\"i\",{staticClass:\"fa fa-times text-danger border-danger result-icon\"}):2\u003d\u003d\u003dt.qState.state?n(\"i\",{staticClass:\"fa fa-check text-success border-success result-icon\"}):t._e(),t._v(\" \"),n(\"transition-group\",{staticClass:\"float-end\",attrs:{name:\"q-btn\",tag:\"div\"}},[t.$scopedSlots.hint\u0026\u0026!t.showHint?n(\"button\",{key:\"hint\",staticClass:\"btn btn-success q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){t.showHint\u003d!0}}},[t._v(\"\\n Hint\\n \")]):t._e(),t._v(\" \"),0!\u003d\u003dt.qState.state||t.isTextWithoutKeywords()\u0026\u0026!t.$scopedSlots.answer?t._e():n(\"button\",{key:\"check\",staticClass:\"btn btn-primary q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){return t.checkAnswer(!!t.questions)}}},[t._v(\"\\n Check\\n \")]),t._v(\" \"),0!\u003d\u003dt.qState.state\u0026\u0026t.questions?n(\"button\",{key:\"active\",staticClass:\"btn btn-primary q-btn ms-1\",attrs:{type:\"button\"},on:{\"~click\":function(e){return t.gotoNextQuestion.apply(null,arguments)}}},[t._v(\"\\n Next\\n \")]):t._e(),t._v(\" \"),t.retryState?n(\"button\",{key:\"show\",staticClass:\"btn btn-info q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){return t.checkAnswer(!0)}}},[t._v(\"\\n Show\\n \")]):t._e(),t._v(\" \"),t.retryState?n(\"button\",{key:\"retry\",staticClass:\"btn btn-primary q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){return t.checkAnswer(!1)}}},[t._v(\"\\n Retry\\n \")]):t._e()])],1):t._e()]):t._e()])};Xn._withStripped\u003d!0;function Yn(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function Kn(t){for(var e\u003d1;e\u003carguments.length;e++){var i\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?Yn(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):Yn(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}const Gn\u003dqe({name:\"Question\",mixins:[{data:function(){return{active:!0}},inject:{questions:{default:void 0},gotoNextQuestion:{default:void 0},showNextQuestion:{default:\"\"}},methods:{show:function(){this.active\u003d!0},hide:function(){this.active\u003d!1},reset:function(){this.active\u003d!1,this.qState.answered\u003d!1,this.qState.state\u003d0,this.showHint\u003d!1,this.textareaText\u0026\u0026(this.textareaText\u003d\"\"),this.answers\u0026\u0026this.answers.splice(0,this.answers.length)}},created:function(){this.questions\u0026\u0026(this.active\u003d!1,this.questions.push(this))}}],props:{type:{type:String,default:\"\"},addClass:{type:String,default:null},keywords:{type:String,default:\"\"},threshold:{type:[String,Number],default:1},noIntermediateResult:{type:Boolean}},computed:{retryState:function(){return 1\u003d\u003d\u003dthis.qState.state\u0026\u0026!this.qState.answered\u0026\u0026!this.questions},showCardFooter:function(){var t\u003d!this.$scopedSlots.hint||this.showHint;return!(this.isTextWithoutKeywords()\u0026\u0026t\u0026\u0026this.qState.answered\u0026\u0026!this.questions)}},data:function(){var t\u003d{qState:{state:0,answered:!1},showHint:!1,shakeClass:null};return this.isMcqOrCheckboxQuestion()||this.isBlanksQuestion()?Kn({answers:[]},t):this.isTextQuestion()?Kn({textareaText:\"\"},t):t},provide:function(){return this.isMcqOrCheckboxQuestion()?{answers:this.answers,qOptionType:this.type,qState:this.qState}:this.isBlanksQuestion()?{answers:this.answers,qOptionType:this.type,qState:this.qState,noIntermediateResult:this.noIntermediateResult}:void 0},methods:{keywordsSplitTrimmed:function(){return this.keywords.split(\",\").filter((function(t){return\"\"!\u003d\u003dt.trim()}))},isMcqOrCheckboxQuestion:function(){return\"mcq\"\u003d\u003d\u003dthis.type||\"checkbox\"\u003d\u003d\u003dthis.type},isBlanksQuestion:function(){return\"blanks\"\u003d\u003d\u003dthis.type},isTextQuestion:function(){return\"text\"\u003d\u003d\u003dthis.type},isTextWithoutKeywords:function(){return this.isTextQuestion()\u0026\u0026!this.keywords},shakeCard:function(){var t\u003dthis;this.shakeClass\u003d\"shake\",setTimeout((function(){t.shakeClass\u003dnull}),800)},markAsCorrect:function(){this.qState.state\u003d2,this.qState.answered\u003d!0},markAsWrong:function(t){this.qState.state\u003d1,t?this.qState.answered\u003d!0:this.shakeCard()},checkMcqAnswer:function(t){var e\u003dthis.answers.find((function(t){return t.selected}));e?e.$props.correct?this.markAsCorrect():this.markAsWrong(t):this.shakeCard()},checkCheckboxAnswer:function(t){this.answers.filter((function(t){return t.answeredCorrectly})).length\u003d\u003d\u003dthis.answers.length?this.markAsCorrect():this.markAsWrong(t)},checkBlanksAnswer:function(t){for(var e\u003d0,n\u003d0;n\u003cthis.answers.length;n+\u003d1)this.answers[n].checkAnswer(),this.answers[n].ansIsCorrect\u0026\u0026(e+\u003d1);e/this.answers.length\u003e\u003dthis.threshold?this.markAsCorrect():this.markAsWrong(t)},checkTextAnswer:function(t){for(var e\u003dthis.textareaText.toLowerCase(),n\u003dthis.keywordsSplitTrimmed(),i\u003d0,o\u003d0;o\u003cn.length;o+\u003d1)e.includes(n[o].toLowerCase())\u0026\u0026(i+\u003d1);i/n.length\u003e\u003dthis.threshold?this.markAsCorrect():this.markAsWrong(t)},checkAnswer:function(t){\"mcq\"\u003d\u003d\u003dthis.type?this.checkMcqAnswer(t):\"checkbox\"\u003d\u003d\u003dthis.type?this.checkCheckboxAnswer(t):\"blanks\"\u003d\u003d\u003dthis.type?this.checkBlanksAnswer(t):this.isTextQuestion()?this.checkTextAnswer(t):this.markAsCorrect()}}},Xn,[],!1,null,\"ae369d74\",null).exports;var Zn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return\"mcq\"\u003d\u003d\u003dt.qOptionType?n(\"div\",{class:[\"form-control\",t.hintClass],on:{click:t.toggleRadioOn,mouseover:function(e){t.hover\u003d!0},mouseleave:function(e){t.hover\u003d!1}}},[n(\"div\",{class:[\"row\",{disabled:t.qState.answered}]},[n(\"div\",{staticClass:\"col-auto p-0\"},[n(\"svg\",{staticClass:\"radio-svg\",attrs:{viewBox:\"0 0 100 100\"}},[n(\"circle\",{attrs:{cx:\"50\",cy:\"50\",r:\"47\",fill:\"none\",stroke:\"black\",\"stroke-width\":\"4\"}}),t._v(\" \"),n(\"circle\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.selected,expression:\"selected\"}],attrs:{cx:\"50\",cy:\"50\",r:\"25\",fill:\"dodgerblue\"}})])]),t._v(\" \"),n(\"div\",{staticClass:\"col content\"},[t._t(\"default\")],2),t._v(\" \"),n(\"div\",{staticClass:\"col-1\"},[t.qState.answered?n(\"div\",[t.correct?n(\"i\",{staticClass:\"fa fa-check text-success\",class:{\"align-bottom\":t.$scopedSlots.reason}}):n(\"i\",{staticClass:\"fa fa-times text-danger\",class:{\"align-bottom\":t.$scopedSlots.reason}})]):t._e()])]),t._v(\" \"),t.qState.answered\u0026\u0026t.$scopedSlots.reason?n(\"div\",[n(\"hr\"),t._v(\" \"),n(\"div\",{staticClass:\"reason\"},[t._t(\"reason\")],2)]):t._e()]):\"checkbox\"\u003d\u003d\u003dt.qOptionType?n(\"div\",{class:[\"form-control\",t.hintClass],on:{click:t.toggleCheckbox,mouseover:function(e){t.hover\u003d!0},mouseleave:function(e){t.hover\u003d!1}}},[n(\"label\",{class:[\"row\",\"checkbox-label\",\"m-0\",{disabled:t.qState.answered}],on:{click:function(t){t.stopPropagation()}}},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.selected,expression:\"selected\"}],staticClass:\"checkbox\",attrs:{disabled:t.qState.answered,type:\"checkbox\",onclick:\"event.stopPropagation()\"},domProps:{checked:Array.isArray(t.selected)?t._i(t.selected,null)\u003e-1:t.selected},on:{change:function(e){var n\u003dt.selected,i\u003de.target,o\u003d!!i.checked;if(Array.isArray(n)){var r\u003dt._i(n,null);i.checked?r\u003c0\u0026\u0026(t.selected\u003dn.concat([null])):r\u003e-1\u0026\u0026(t.selected\u003dn.slice(0,r).concat(n.slice(r+1)))}else t.selected\u003do}}}),t._v(\" \"),n(\"div\",{staticClass:\"col content\"},[t._t(\"default\")],2),t._v(\" \"),n(\"div\",{staticClass:\"col-auto\"},[t.qState.answered?n(\"div\",[t.correct?n(\"i\",{staticClass:\"fa fa-check text-success\",class:{\"align-bottom\":t.$scopedSlots.reason}}):n(\"i\",{staticClass:\"fa fa-times text-danger\",class:{\"align-bottom\":t.$scopedSlots.reason}})]):t._e()])]),t._v(\" \"),t.qState.answered\u0026\u0026t.$scopedSlots.reason?n(\"div\",[n(\"hr\"),t._v(\" \"),n(\"div\",{staticClass:\"reason\"},[t._t(\"reason\")],2)]):t._e()]):\"blanks\"\u003d\u003d\u003dt.qOptionType?n(\"div\",{class:[\"form-control\",\"blanks-form-control\",t.hintClass]},[n(\"label\",{class:[\"row\",\"m-0\",{disabled:t.qState.answered}],on:{click:function(t){t.stopPropagation()}}},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.inputText,expression:\"inputText\"}],staticClass:\"form-control\",attrs:{disabled:t.qState.answered},domProps:{value:t.inputText},on:{input:function(e){e.target.composing||(t.inputText\u003de.target.value)}}}),t._v(\" \"),n(\"div\",{staticClass:\"col-auto\"},[t.qState.answered?n(\"div\",[t.ansIsCorrect?n(\"i\",{staticClass:\"fa fa-check text-success\"}):n(\"i\",{staticClass:\"fa fa-times text-danger blanks-cross\"})]):t._e(),t._v(\" \"),t.isIntermediateResult()?n(\"div\",[t.ansIsCorrect?n(\"i\",{staticClass:\"fa fa-check text-success\"}):n(\"i\",{staticClass:\"fa fa-times text-danger blanks-cross\"})]):t._e()]),t._v(\" \"),t.qState.answered?n(\"div\",{staticClass:\"col-auto blanks-keywords\"},[t.keywordsSplitTrimmed().length?n(\"strong\",[t._v(\"\\n Keywords: \\n \"),t._l(t.keywordsSplitTrimmed(),(function(e){return n(\"span\",{key:e,staticClass:\"badge rounded-pill bg-light text-dark fw-normal\"},[t._v(\"\\n \"+t._s(e)+\"\\n \")])}))],2):n(\"strong\",[t._v(\"No answer checking keywords provided\")])]):t._e()]),t._v(\" \"),t.qState.answered\u0026\u0026t.$scopedSlots.reason?n(\"div\",[n(\"div\",{staticClass:\"reason blanks-reason\"},[t._t(\"reason\")],2)]):t._e()]):t._e()};Zn._withStripped\u003d!0;const Jn\u003dqe({name:\"McqOption\",props:{correct:{type:Boolean,default:!1},keywords:{type:String,default:\"\"}},data:function(){return{selected:!1,hover:!1,inputText:\"\",ansIsCorrect:!1}},inject:{answers:{default:void 0},qOptionType:{default:void 0},qState:{default:void 0},noIntermediateResult:{default:void 0}},computed:{hintClass:function(){return this.qState.answered?this.correct?\"success\":\"danger\":this.selected||this.hover?\"alert-light text-dark border border-secondary\":\"\"},answeredCorrectly:function(){return this.correct\u0026\u0026this.selected||!this.correct\u0026\u0026!this.selected}},methods:{checkAnswer:function(){var t\u003d!1,e\u003dthis.inputText.toLowerCase().trim(),n\u003dthis.keywords.toLowerCase().split(\",\").filter((function(t){return\"\"!\u003d\u003dt.trim()}));this.keywords.length||(t\u003d!0);for(var i\u003d0;i\u003cn.length;i+\u003d1)if(e\u003d\u003d\u003dn[i].trim()){t\u003d!0;break}this.ansIsCorrect\u003dt},isIntermediateResult:function(){return!this.noIntermediateResult\u0026\u00261\u003d\u003d\u003dthis.qState.state\u0026\u0026!this.qState.answered},isBlanksQuestion:function(){return\"blanks\"\u003d\u003d\u003dthis.type},keywordsSplitTrimmed:function(){return this.keywords.split(\",\").filter((function(t){return\"\"!\u003d\u003dt.trim()}))},toggleRadioOn:function(){this.qState.answered||this.selected||(this.answers.forEach((function(t){t.selected\u003d!1})),this.selected\u003d!0)},toggleCheckbox:function(){this.qState.answered||(this.selected\u003d!this.selected)}},created:function(){this.answers.push(this)}},Zn,[],!1,null,\"d09dfee8\",null).exports;var ti\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{staticClass:\"dropdown\",staticStyle:{position:\"relative\"}},[t.algolia?n(\"div\",{attrs:{id:\"algolia-search-input\"}}):[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.value,expression:\"value\"}],staticClass:\"form-control\",attrs:{\"data-bs-toggle\":\"dropdown\",type:\"text\",placeholder:t.placeholder,autocomplete:\"off\"},domProps:{value:t.value},on:{input:[function(e){e.target.composing||(t.value\u003de.target.value)},t.update],keyup:[function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"])?null:t.up.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"])?null:t.down.apply(null,arguments)}],keydown:[function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.hit.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])?null:t.reset.apply(null,arguments)}],blur:function(e){t.showDropdown\u003d!1}}}),t._v(\" \"),n(\"div\",{staticClass:\"form-control placeholder-div-hidden\"},[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])],t._v(\" \"),n(\"ul\",{ref:\"dropdown\",class:t.dropdownMenuClasses},t._l(t.items,(function(e,i){return n(\"li\",{key:i,class:{\"table-active\":t.isActive(i)}},[n(\"a\",{staticClass:\"dropdown-item\",on:{mousedown:function(e){return e.preventDefault(),t.hit.apply(null,arguments)},mousemove:function(e){return t.setActive(i)}}},[n(\"searchbar-page-item\",{attrs:{item:e,value:t.value}})],1)])})),0)],2)};function ei(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n\u003dnull\u003d\u003dt?null:\"undefined\"!\u003dtypeof Symbol\u0026\u0026t[Symbol.iterator]||t[\"@@iterator\"];if(null!\u003dn){var i,o,r,s,a\u003d[],l\u003d!0,c\u003d!1;try{if(r\u003d(n\u003dn.call(t)).next,0\u003d\u003d\u003de){if(Object(n)!\u003d\u003dn)return;l\u003d!1}else for(;!(l\u003d(i\u003dr.call(n)).done)\u0026\u0026(a.push(i.value),a.length!\u003d\u003de);l\u003d!0);}catch(t){c\u003d!0,o\u003dt}finally{try{if(!l\u0026\u0026null!\u003dn.return\u0026\u0026(s\u003dn.return(),Object(s)!\u003d\u003ds))return}finally{if(c)throw o}}return a}}(t,e)||bn(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}ti._withStripped\u003d!0;var ni\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.item.heading?n(\"div\",{staticClass:\"heading\"},[n(\"i\",{staticClass:\"fa fa-hashtag\"}),t._v(\" \"),n(\"div\",{staticClass:\"heading-text\"},[n(\"span\",{domProps:{innerHTML:t._s(t.highlight(t.item.heading.text,t.value))}}),t._v(\" \"),t._l(t.item.keywords,(function(e,i){return n(\"div\",{key:i,staticClass:\"keyword-text\",domProps:{innerHTML:t._s(t.highlight(e,t.value))}})}))],2)]):n(\"div\",[n(\"span\",{staticClass:\"page-title\",domProps:{innerHTML:t._s(t.highlight(t.item.title,t.value))}}),t._v(\" \"),t.item.keywords?n(\"br\"):t._e(),t._v(\" \"),t.item.keywords?n(\"small\",{domProps:{innerHTML:t._s(t.highlight(t.item.keywords,t.value))}}):t._e(),t._v(\" \"),n(\"hr\",{staticClass:\"page-headings-separator\"})])};ni._withStripped\u003d!0;const ii\u003dqe({props:{item:{type:Object,default:null},value:{type:String,default:\"\"}},methods:{highlight:function(t,e){for(var n,i\u003d(n\u003dfunction(){var n\u003de.split(\" \").filter((function(t){return\"\"!\u003d\u003dt})).map((function(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$\u0026\")})).map((function(t){return new RegExp(\"(\".concat(t,\")\"),\"gi\")})),i\u003d[];return n.forEach((function(e){for(var n\u003de.exec(t);null!\u003d\u003dn\u0026\u0026n.index!\u003d\u003de.lastIndex;)i.push({start:n.index,end:e.lastIndex}),n\u003de.exec(t)})),i}()).length\u003c\u003d1?n:n.sort((function(t,e){return t.start-e.start})).reduce((function(t,e){var n\u003dt[t.length-1];return!n||n.end\u003ce.start?t.push(e):n.end\u003ce.end\u0026\u0026(n.end\u003de.end),t}),[]),o\u003dt,r\u003di.length-1;r\u003e\u003d0;r-\u003d1)o\u003d\"\".concat(o.slice(0,i[r].start),\"\u003cmark\u003e\")+\"\".concat(o.slice(i[r].start,i[r].end),\"\u003c/mark\u003e\")+\"\".concat(o.slice(i[r].end));return o}}},ni,[],!1,null,\"98afe086\",null).exports;const oi\u003dqe({created:function(){this.items\u003dthis.primitiveData},props:{data:{type:Array,default:function(){return[]}},limit:{type:Number,default:8},async:{type:String,default:\"\"},keyProp:{type:String,default:null},onHit:{type:Function,default:function(t){this.reset(),this.value\u003dt}},placeholder:{type:String,default:\"Search\"},delay:{type:Number,default:200},menuAlignRight:{type:Boolean,default:!1},algolia:{type:Boolean,default:!1}},data:function(){return{value:\"\",showDropdown:!1,noResults:!0,current:0,items:[]}},computed:{primitiveData:function(){function t(t,e){var n\u003dt.join(\" \");return e.reduce((function(t,e){var i\u003dn.match(e);return t+(i?i.length:0)}),0)}if(this.value.length\u003c2||!this.data)return[];var e\u003d[],n\u003dthis.value.split(\" \").filter((function(t){return\"\"!\u003d\u003dt})).map((function(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$\u0026\")})).map((function(t){return new RegExp(t,\"ig\")}));return this.data.forEach((function(i){var o\u003di.headings,r\u003di.src,s\u003di.title,a\u003di.headingKeywords,l\u003di.frontmatterKeywords||\"\",c\u003ds||r.substring(0,r.lastIndexOf(\".\")),u\u003dt([c,l].concat(_n(Object.values(o)),_n(Object.values(a))),n);if(u\u003e0){var d\u003d[];Object.entries(o).forEach((function(e,i){var o\u003dei(e,2),s\u003do[0],u\u003do[1],h\u003dn.some((function(t){return t.test(u)})),p\u003da[s]\u0026\u0026a[s].some((function(t){return n.some((function(e){return e.test(t)}))}));if(h||p){var f\u003dt([u].concat(_n(a[s]||[])),n);(0!\u003d\u003di||u!\u003d\u003dc||l.length)\u0026\u0026d.push({heading:{id:s,text:u},keywords:a[s],src:r,totalMatches:f})}})),d.sort((function(t,e){return e.totalMatches-t.totalMatches})),e.push({headings:d,keywords:l,src:r,title:c,totalMatches:u})}})),e.sort((function(t,e){return e.totalMatches-t.totalMatches})).flatMap((function(t){return t.headings?[t].concat(_n(t.headings)):t}))},dropdownMenuClasses:function(){return[\"dropdown-menu\",\"search-dropdown-menu\",{show:this.showDropdown},{\"d-none\":!this.showDropdown},{\"dropdown-menu-end\":this.menuAlignRight}]}},methods:{update:function(){return this.value?(this.data\u0026\u0026(this.items\u003dthis.primitiveData,this.showDropdown\u003dthis.items.length\u003e0),this.async\u0026\u0026this.query(),!0):(this.reset(),!1)},query:function(t,e){var n,i\u003darguments.length\u003e2\u0026\u0026void 0!\u003d\u003darguments[2]?arguments[2]:100;function o(t){return/^[0-9]+$/.test(t)?Number(t)||1:null}return function(){for(var r\u003dthis,s\u003darguments.length,a\u003dnew Array(s),l\u003d0;l\u003cs;l++)a[l]\u003darguments[l];n\u0026\u0026clearTimeout(n),n\u003dsetTimeout((function(){t.apply(r,a)}),o(e)||o(this[e])||i)}}((function(){var t\u003dthis;(function(t){var e\u003dnew window.XMLHttpRequest,n\u003d{},i\u003d{then:function(t,e){return i.done(t).fail(e)},catch:function(t){return i.fail(t)},always:function(t){return i.done(t).fail(t)}};return[\"done\",\"fail\"].forEach((function(t){n[t]\u003d[],i[t]\u003dfunction(e){return e instanceof Function\u0026\u0026n[t].push(e),i}})),i.done(JSON.parse),e.onreadystatechange\u003dfunction(){if(4\u003d\u003d\u003de.readyState){var t\u003d{status:e.status};if(200\u003d\u003d\u003de.status)try{var i\u003de.responseText;for(var o in n.done){var r\u003dn.done[o](i);void 0!\u003d\u003dr\u0026\u0026(i\u003dr)}}catch(t){n.fail.forEach((function(e){return e(t)}))}else n.fail.forEach((function(e){return e(t)}))}},e.open(\"GET\",t),e.setRequestHeader(\"Accept\",\"application/json\"),e.send(),i})(this.async+this.value).then((function(e){t.items\u003d(t.keyProp?e[t.keyProp]:e).slice(0,t.limit),t.showDropdown\u003dt.items.length}))}),\"delay\",200),reset:function(){this.items\u003d[],this.value\u003d\"\",this.loading\u003d!1,this.showDropdown\u003d!1},setActive:function(t){this.current\u003dt},isActive:function(t){return this.current\u003d\u003d\u003dt},hit:function(t){t.preventDefault(),this.onHit(this.items[this.current],this)},down:function(){this.current\u003cthis.items.length-1\u0026\u0026(this.current+\u003d1,this.scrollListView())},up:function(){this.current\u003e0\u0026\u0026(this.current-\u003d1,this.scrollListView())},scrollListView:function(){var t\u003dthis.$refs.dropdown,e\u003dt.children[this.current],n\u003dt.scrollTop,i\u003dn+t.clientHeight,o\u003de.offsetTop+e.offsetHeight;e.offsetTop\u003cn?t.scrollTop\u003de.offsetTop:o\u003ei\u0026\u0026(t.scrollTop\u003do-t.clientHeight)}},components:{searchbarPageItem:ii}},ti,[],!1,null,\"01e11c9b\",null).exports;var ri\u003dfunction(){var t\u003dthis.$createElement,e\u003dthis._self._c||t;return e(\"div\",{staticClass:\"tab-pane active printable-tab-pane\",class:{\"tab-pane-hide\":!this.show},attrs:{role:\"tabpanel\"}},[e(\"div\",{staticClass:\"nav-tabs printable-tab-header\"},[e(\"div\",{ref:\"header\",staticClass:\"nav-link active\"},[this._t(\"header\")],2)]),this._v(\" \"),this._t(\"default\"),this._v(\" \"),e(\"hr\")],2)};ri._withStripped\u003d!0;const si\u003dqe({props:{header:{type:String,default:\"\"},disabled:{type:[Boolean,String],default:!1}},computed:{headerRendered:function(){return this.$refs.header.innerHTML},active:function(){return this._tabset.show\u003d\u003d\u003dthis},index:function(){return this._tabset.tabs.indexOf(this)},show:function(){return this._tabset\u0026\u0026this._tabset.show\u003d\u003d\u003dthis},disabledBool:function(){return Re(this.disabled)}},created:function(){this._ingroup\u003dthis.$parent\u0026\u0026this.$parent._tabgroup;for(var t\u003dthis;t\u0026\u0026!0!\u003d\u003dt._tabset\u0026\u0026t.$parent;)t\u003dt.$parent;t._tabset?(t.tabs.push(this),this._ingroup?~t.headers.indexOf(this.$parent)||t.headers.push(this.$parent):t.headers.push(this),this._tabset\u003dt):this._tabset\u003d{},this._ingroup\u0026\u0026this.$parent.tabs.push(this)},beforeDestroy:function(){if(this._tabset.activeNumber\u003d\u003d\u003dthis.index\u0026\u0026(this._tabset.activeNumber\u003d0),this._ingroup){var t\u003dthis.$parent.tabs.indexOf(this);this.$parent.tabs.splice(t,1)}this._tabset.tabs.splice(this.index,1)}},ri,[],!1,null,\"661c1b61\",null).exports;var ai\u003dfunction(){var t\u003dthis.$createElement,e\u003dthis._self._c||t;return e(\"div\",{staticClass:\"printable-tab-group\"},[e(\"div\",{ref:\"header\",staticClass:\"printable-tab-group-header\"},[this._t(\"header\")],2),this._v(\" \"),this._t(\"default\")],2)};ai._withStripped\u003d!0;const li\u003dqe({props:{disabled:{type:[Boolean,String],default:!1},header:{type:String,default:\"\"}},data:function(){return{tabs:[],show:!1}},computed:{active:function(){return~this.tabs.indexOf(this._tabset.show)},headerRendered:function(){return this.$refs.header.innerHTML},disabledBool:function(){return De(this.disabled)}},created:function(){this._tabgroup\u003d!0;for(var t\u003dthis.$parent\u0026\u0026!0\u003d\u003d\u003dthis.$parent._tabset?this.$parent:{};t\u0026\u0026!t._tabset\u0026\u0026t.$parent;)t\u003dt.$parent;t._tabset?this._tabset\u003dt:(this._tabset\u003d{},this.show\u003d!0)},methods:{blur:function(){this.show\u003d!1},toggle:function(){this.show\u003d!this.show}}},ai,[],!1,null,\"a785351c\",null).exports;var ci\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[t.addClass,\"printable-tabs\"]},[n(\"ul\",{staticClass:\"nav nav-tabs d-print-none\",class:t.getNavStyleClass,attrs:{role:\"tablist\"}},[t._l(t.headers,(function(e,i){return[e._tabgroup?n(\"dropdown\",{key:i,staticClass:\"nav-item\",class:{active:e.active},attrs:{header:e.headerRendered,disabled:e.disabled}},t._l(e.tabs,(function(e,i){return n(\"li\",{key:i},[n(\"a\",{staticClass:\"nav-link\",class:{disabled:e.disabled},attrs:{href:\"#\"},domProps:{innerHTML:t._s(e.headerRendered)},on:{click:function(n){return n.preventDefault(),t.select(e)}}})])})),0):n(\"li\",{key:i,staticClass:\"nav-item\",on:{click:function(n){return n.preventDefault(),t.select(e)}}},[n(\"a\",{staticClass:\"nav-link\",class:{active:e.active,disabled:e.disabledBool},attrs:{href:\"#\"}},[n(\"span\",{domProps:{innerHTML:t._s(e.headerRendered)}})])])]}))],2),t._v(\" \"),n(\"div\",{ref:\"tab-content\",staticClass:\"tab-content\"},[t._t(\"default\")],2)])};ci._withStripped\u003d!0;const ui\u003dqe({components:{dropdown:gn},props:{navStyle:{type:String,default:\"tabs\"},active:{type:String,default:\"0\"},addClass:{type:String,default:\"\"}},data:function(){return{show:null,headers:[],activeNumber:je(this.active),tabs:[]}},created:function(){this._tabset\u003d!0},computed:{getNavStyleClass:function(){return\"nav-\".concat(this.navStyle)}},watch:{activeNumber:function(t){this.show\u003dthis.tabs[t]}},mounted:function(){this.show\u003dthis.tabs[this.activeNumber]},methods:{select:function(t){t.disabled||(this.activeNumber\u003dt.index)}}},ci,[],!1,null,\"70a68808\",null).exports;var di\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:[\"thumb-wrapper\",{\"thumb-circle\":t.circle},t.addClass],style:[t.getBorder,t.getFontSize,t.getFontColor,t.getBgColor]},[t.hasSrc?n(\"img\",{ref:\"pic\",staticClass:\"thumb-image\",attrs:{src:t.src,width:t.computedWidth,height:t.computedHeight,alt:t.alt},on:{\"~load\":function(e){return t.computeImgSize.apply(null,arguments)}}}):t._e(),t._v(\" \"),t._t(\"default\")],2)};di._withStripped\u003d!0;const hi\u003dqe({props:{circle:{type:Boolean,default:!1},addClass:{type:String,default:\"\"},alt:{type:String,default:\"\"},background:{type:String,default:\"\"},border:{type:String,default:\"\"},fontColor:{type:String,default:\"\"},fontSize:{type:String,default:\"\"},size:{type:String,default:\"\"},src:{type:String,default:null},text:{type:String,default:\"\"}},computed:{getBorder:function(){return\"\"\u003d\u003d\u003dthis.border?{}:{border:this.border}},getFontSize:function(){var t\u003dthis.imageSize/2,e\u003dthis.fontSize;return{\"font-size\":\"\".concat(void 0\u003d\u003d\u003de||\"\"\u003d\u003d\u003de?t:e,\"px\")}},getFontColor:function(){return\"\"\u003d\u003d\u003dthis.fontColor?{}:{color:this.fontColor}},getBgColor:function(){return\"\"\u003d\u003d\u003dthis.background?{}:{background:this.background}},hasSrc:function(){return void 0!\u003d\u003dthis.src\u0026\u0026\"\"!\u003d\u003dthis.src},imageSize:function(){return this.size||100}},data:function(){return{computedWidth:\"\",computedHeight:\"\"}},mounted:function(){var t\u003dthis.$el;t.style.width\u003d\"\".concat(this.imageSize,\"px\"),t.style.height\u003d\"\".concat(this.imageSize,\"px\"),t.style.lineHeight\u003d\"\".concat(this.imageSize,\"px\")},methods:{computeImgSize:function(){var t\u003dthis.$refs.pic,e\u003dt.naturalHeight,n\u003dt.naturalWidth,i\u003dMath.min(e,n),o\u003dthis.imageSize/i;this.computedWidth\u003dn*o,this.computedHeight\u003de*o}}},di,[],!1,null,null,null).exports;var pi\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:\"click\"\u003d\u003d\u003dt.trigger?\"trigger-click\":\"trigger\",attrs:{tabindex:\"0\"},on:t._d({},[t.triggerEventType,function(e){return e.stopPropagation(),t.toggle()}])},[\"popover\"\u003d\u003d\u003dt.popoverOrTooltipType?n(\"v-popover\",{attrs:{\"auto-hide\":!t.isInput,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,placement:t.placement,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[n(\"div\",{staticClass:\"popover-container\"},[n(\"portal-target\",{attrs:{name:\"popover:\"+t.target}})],1)]},proxy:!0}],null,!1,1583262462)},[t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):\"tooltip\"\u003d\u003d\u003dt.popoverOrTooltipType?n(\"v-tooltip\",{attrs:{\"auto-hide\":!t.isInput,placement:t.placement,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[n(\"portal-target\",{attrs:{name:\"tooltip:\"+t.target}})]},proxy:!0}])},[t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):n(\"span\",[t._t(\"default\")],2)],1)};pi._withStripped\u003d!0;var fi\u003di(383);function mi(t){return(mi\u003d\"function\"\u003d\u003dtypeof Symbol\u0026\u0026\"symbol\"\u003d\u003dtypeof Symbol.iterator?function(t){return typeof t}:function(t){return t\u0026\u0026\"function\"\u003d\u003dtypeof Symbol\u0026\u0026t.constructor\u003d\u003d\u003dSymbol\u0026\u0026t!\u003d\u003dSymbol.prototype?\"symbol\":typeof t})(t)}function vi(t,e){for(var n\u003d0;n\u003ce.length;n++){var i\u003de[n];i.enumerable\u003di.enumerable||!1,i.configurable\u003d!0,\"value\"in i\u0026\u0026(i.writable\u003d!0),Object.defineProperty(t,i.key,i)}}function gi(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]\u003dn,t}function yi(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function wi(t){for(var e\u003d1;e\u003carguments.length;e++){var n\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?yi(Object(n),!0).forEach((function(e){gi(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):yi(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function bi(t){return function(t){if(Array.isArray(t))return _i(t)}(t)||function(t){if(\"undefined\"!\u003dtypeof Symbol\u0026\u0026Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(t){if(\"string\"\u003d\u003dtypeof t)return _i(t,e);var n\u003dObject.prototype.toString.call(t).slice(8,-1);return\"Object\"\u003d\u003d\u003dn\u0026\u0026t.constructor\u0026\u0026(n\u003dt.constructor.name),\"Map\"\u003d\u003d\u003dn||\"Set\"\u003d\u003d\u003dn?Array.from(t):\"Arguments\"\u003d\u003d\u003dn||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_i(t,e):void 0}}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function _i(t,e){(null\u003d\u003de||e\u003et.length)\u0026\u0026(e\u003dt.length);for(var n\u003d0,i\u003dnew Array(e);n\u003ce;n++)i[n]\u003dt[n];return i}var Si\u003dfunction(t){return t\u003d\u003ddocument.activeElement},xi\u003dfunction(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.root\u003dnull,this.elements\u003d[],this.onKeyDown\u003dthis.onKeyDown.bind(this),this.enable\u003dthis.enable.bind(this),this.disable\u003dthis.disable.bind(this),this.firstElement\u003dthis.firstElement.bind(this),this.lastElement\u003dthis.lastElement.bind(this)}var e,n;return e\u003dt,(n\u003d[{key:\"lastElement\",value:function(){return this.elements[this.elements.length-1]||null}},{key:\"firstElement\",value:function(){return this.elements[0]||null}},{key:\"onKeyDown\",value:function(t){if(function(t){return\"Tab\"\u003d\u003d\u003dt.key||9\u003d\u003d\u003dt.keyCode}(t)){if(!t.shiftKey)return!document.activeElement||Si(this.lastElement())?(this.firstElement().focus(),void t.preventDefault()):void 0;Si(this.firstElement())\u0026\u0026(this.lastElement().focus(),t.preventDefault())}}},{key:\"enabled\",value:function(){return!!this.root}},{key:\"enable\",value:function(t){t\u0026\u0026(this.root\u003dt,this.elements\u003dfunction(t){return function(t,e){return bi(t.querySelectorAll(\u0027button:not([disabled]), select:not([disabled]), a[href]:not([disabled]), area[href]:not([disabled]), [contentEditable\u003d\"\"]:not([disabled]), [contentEditable\u003d\"true\"]:not([disabled]), [contentEditable\u003d\"TRUE\"]:not([disabled]), textarea:not([disabled]), iframe:not([disabled]), input:not([disabled]), summary:not([disabled]), [tabindex]:not([tabindex\u003d\"-1\"])\u0027)||[])}(t)}(this.root),this.root.addEventListener(\"keydown\",this.onKeyDown))}},{key:\"disable\",value:function(){this.root.removeEventListener(\"keydown\",this.onKeyDown),this.root\u003dnull}}])\u0026\u0026vi(e.prototype,n),t}(),Ci\u003dfunction(t){var e\u003dt.targetTouches?t.targetTouches[0]:t;return{x:e.clientX,y:e.clientY}},$i\u003dfunction(t,e,n){return\"number\"!\u003dtypeof t\u0026\u0026(t\u003dMath.min(e,n)||e),\"number\"!\u003dtypeof n\u0026\u0026(n\u003dMath.max(e,t)),Math.min(Math.max(e,t),n)},ki\u003dfunction(t){return t\u0026\u0026Number(t.replace(/px$/,\"\"))||0},Ti\u003d{down:{pc:\"mousedown\",m:\"touchstart\"},move:{pc:\"mousemove\",m:\"touchmove\"},up:{pc:\"mouseup\",m:\"touchend\"}},Ei\u003dfunction(t,e,n){e\u0026\u0026e.addEventListener(Ti[t].pc,n),e\u0026\u0026e.addEventListener(Ti[t].m,n,{passive:!1})},Oi\u003dfunction(t,e,n){e\u0026\u0026e.removeEventListener(Ti[t].pc,n),e\u0026\u0026e.removeEventListener(Ti[t].m,n)},Bi\u003d!1;if(\"undefined\"!\u003dtypeof window){var Pi\u003d{get passive(){Bi\u003d!0}};window.addEventListener(\"testPassive\",null,Pi),window.removeEventListener(\"testPassive\",null,Pi)}var Li,Ni,Ai,zi\u003d\"undefined\"!\u003dtypeof window\u0026\u0026window.navigator\u0026\u0026window.navigator.platform\u0026\u0026(/iP(ad|hone|od)/.test(window.navigator.platform)||\"MacIntel\"\u003d\u003d\u003dwindow.navigator.platform\u0026\u0026window.navigator.maxTouchPoints\u003e1),Mi\u003d[],Hi\u003d!1,Di\u003d0,Ri\u003d-1,ji\u003dfunction(t){return Mi.some((function(){return function(t,e){var n\u003d!1;return function(t){for(var e\u003d[];t;){if(e.push(t),t.classList.contains(\"vfm\"))return e;t\u003dt.parentElement}return e}(t).forEach((function(t){(function(t){if(!t||t.nodeType!\u003d\u003dNode.ELEMENT_NODE)return!1;var e\u003dwindow.getComputedStyle(t);return[\"auto\",\"scroll\"].includes(e.overflowY)\u0026\u0026t.scrollHeight\u003et.clientHeight})(t)\u0026\u0026function(t,e){return!(0\u003d\u003d\u003dt.scrollTop\u0026\u0026e\u003c0||t.scrollTop+t.clientHeight+e\u003e\u003dt.scrollHeight\u0026\u0026e\u003e0)}(t,e)\u0026\u0026(n\u003d!0)})),n}(t,-Di)}))},Ii\u003dfunction(t){var e\u003dt||window.event;return!!ji(e.target)||e.touches.length\u003e1||(e.preventDefault\u0026\u0026e.preventDefault(),!1)},qi\u003dfunction(t){t?(Mi\u003dMi.filter((function(e){return e.targetElement!\u003d\u003dt})),zi?(t.ontouchstart\u003dnull,t.ontouchmove\u003dnull,Hi\u0026\u00260\u003d\u003d\u003dMi.length\u0026\u0026(document.removeEventListener(\"touchmove\",Ii,Bi?{passive:!1}:void 0),Hi\u003d!1)):Mi.length||(void 0!\u003d\u003dNi\u0026\u0026(document.body.style.paddingRight\u003dNi,Ni\u003dvoid 0),void 0!\u003d\u003dLi\u0026\u0026(document.body.style.overflow\u003dLi,Li\u003dvoid 0))):console.error(\"enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.\")},Wi\u003dfunction(){},Fi\u003d\"enter\",Vi\u003d\"entering\",Ui\u003d\"leave\",Qi\u003d\"leavng\",Xi\u003d{type:[String,Object,Array],default:\"\"},Yi\u003d{type:[Object,Array],default:function(){return{}}},Ki\u003d{t:\"ns-resize\",tr:\"nesw-resize\",r:\"ew-resize\",br:\"nwse-resize\",b:\"ns-resize\",bl:\"nesw-resize\",l:\"ew-resize\",tl:\"nwse-resize\"},Gi\u003d{props:{name:{type:String,default:null},value:{type:Boolean,default:!1},ssr:{type:Boolean,default:!0},classes:Xi,overlayClass:Xi,contentClass:Xi,styles:Yi,overlayStyle:Yi,contentStyle:Yi,lockScroll:{type:Boolean,default:!0},hideOverlay:{type:Boolean,default:!1},clickToClose:{type:Boolean,default:!0},escToClose:{type:Boolean,default:!1},preventClick:{type:Boolean,default:!1},attach:{type:null,default:!1,validator:function(t){var e\u003dmi(t);return\"boolean\"\u003d\u003d\u003de||\"string\"\u003d\u003d\u003de||t.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE}},transition:{type:[String,Object],default:\"vfm\"},overlayTransition:{type:[String,Object],default:\"vfm\"},zIndexAuto:{type:Boolean,default:!0},zIndexBase:{type:[String,Number],default:1e3},zIndex:{type:[Boolean,String,Number],default:!1},focusRetain:{type:Boolean,default:!0},focusTrap:{type:Boolean,default:!1},fitParent:{type:Boolean,default:!0},drag:{type:Boolean,default:!1},dragSelector:{type:String,default:\"\"},keepChangedStyle:{type:Boolean,default:!1},resize:{type:Boolean,default:!1},resizeDirections:{type:Array,default:function(){return[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"]},validator:function(t){return[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"].filter((function(e){return-1!\u003d\u003dt.indexOf(e)})).length\u003d\u003d\u003dt.length}},minWidth:{type:Number,default:0},minHeight:{type:Number,default:0},maxWidth:{type:Number,default:1/0},maxHeight:{type:Number,default:1/0}},data:function(){return{modalStackIndex:null,visible:!1,visibility:{modal:!1,overlay:!1,resize:!1},overlayTransitionState:null,modalTransitionState:null,stopEvent:!1,params:{},dragResizeStyle:{},resolveToggle:Wi,rejectToggle:Wi,state:null,lastMousedownEl:null}},computed:{isComponentReadyToBeDestroyed:function(){return(this.hideOverlay||this.overlayTransitionState\u003d\u003d\u003dUi)\u0026\u0026this.modalTransitionState\u003d\u003d\u003dUi},calculateZIndex:function(){return!1\u003d\u003d\u003dthis.zIndex?!!this.zIndexAuto\u0026\u0026+this.zIndexBase+2*(this.modalStackIndex||0):this.zIndex},bindStyle:function(){return wi({},!1!\u003d\u003dthis.calculateZIndex\u0026\u0026{zIndex:this.calculateZIndex})},bindContentStyle:function(){var t\u003d[this.dragResizeStyle];return Array.isArray(this.contentStyle)?t.push.apply(t,bi(this.contentStyle)):t.push(this.contentStyle),t},computedTransition:function(){return\"string\"\u003d\u003dtypeof this.transition?{name:this.transition}:wi({},this.transition)},computedOverlayTransition:function(){return\"string\"\u003d\u003dtypeof this.overlayTransition?{name:this.overlayTransition}:wi({},this.overlayTransition)}},watch:{value:function(t){if(this.stopEvent)this.stopEvent\u003d!1;else if(this.mounted(),!t){if(this.emitEvent(\"before-close\",!0))return void this.rejectToggle(\"hide\");this.close()}},lockScroll:\"handleLockScroll\",hideOverlay:function(t){this.value\u0026\u0026!t\u0026\u0026(this.visibility.overlay\u003d!0)},attach:\"mounted\",isComponentReadyToBeDestroyed:function(t){t\u0026\u0026(this.visible\u003d!1)},drag:function(t){this.visible\u0026\u0026(t?this.addDragDown():this.removeDragDown())},resize:function(t){this.visible\u0026\u0026(t?this.addResizeDown():this.removeResizeDown())},keepChangedStyle:function(t){t||(this.dragResizeStyle\u003d{})}},mounted:function(){this.api.modals.push(this),this.$focusTrap\u003dnew xi,this.mounted()},beforeDestroy:function(){var t,e\u003dthis;this.close(),this.lockScroll\u0026\u0026this.$refs.vfmContainer\u0026\u0026qi(this.$refs.vfmContainer),null\u003d\u003dthis||null\u003d\u003d\u003d(t\u003dthis.$el)||void 0\u003d\u003d\u003dt||t.remove();var n\u003dthis.api.modals.findIndex((function(t){return t\u003d\u003d\u003de}));this.api.modals.splice(n,1)},methods:{mounted:function(){var t\u003dthis;if(this.value){if(this.emitEvent(\"before-open\",!1))return void this.rejectToggle(\"show\");var e\u003dthis.getAttachElement();if(e||!1\u003d\u003d\u003dthis.attach){!1!\u003d\u003dthis.attach\u0026\u0026e.appendChild(this.$el);var n\u003dthis.api.openedModals.findIndex((function(e){return e\u003d\u003d\u003dt}));-1!\u003d\u003dn\u0026\u0026this.api.openedModals.splice(n,1),this.api.openedModals.push(this),this.modalStackIndex\u003dthis.api.openedModals.length-1,this.handleLockScroll(),this.api.openedModals.filter((function(e){return e!\u003d\u003dt})).forEach((function(t,n){t.getAttachElement()\u003d\u003d\u003de\u0026\u0026(t.modalStackIndex\u003dn,t.visibility.overlay\u003d!1)})),this.visible\u003d!0,this.$nextTick((function(){t.startTransitionEnter()}))}else!1!\u003d\u003de\u0026\u0026console.warn(\"Unable to locate target \".concat(this.attach))}},close:function(){var t\u003dthis,e\u003dthis.api.openedModals.findIndex((function(e){return e\u003d\u003d\u003dt}));if(-1!\u003d\u003de\u0026\u0026this.api.openedModals.splice(e,1),this.api.openedModals.length\u003e0){var n\u003dthis.api.openedModals[this.api.openedModals.length-1];(n.focusRetain||n.focusTrap)\u0026\u0026n.$refs.vfmContainer.focus(),!n.hideOverlay\u0026\u0026(n.visibility.overlay\u003d!0)}this.drag\u0026\u0026this.removeDragDown(),this.resize\u0026\u0026this.removeResizeDown(),this.state\u003dnull,this.startTransitionLeave()},startTransitionEnter:function(){this.visibility.overlay\u003d!0,this.visibility.modal\u003d!0},startTransitionLeave:function(){this.visibility.overlay\u003d!1,this.visibility.modal\u003d!1},handleLockScroll:function(){var t\u003dthis;this.value\u0026\u0026this.$nextTick((function(){t.lockScroll?function(t,e){if(t){if(!Mi.some((function(e){return e.targetElement\u003d\u003d\u003dt}))){var n\u003d{targetElement:t,options:e||{}};Mi\u003d[].concat(bi(Mi),[n]),zi?(t.ontouchstart\u003dfunction(t){1\u003d\u003d\u003dt.targetTouches.length\u0026\u0026(Ri\u003dt.targetTouches[0].clientY)},t.ontouchmove\u003dfunction(e){1\u003d\u003d\u003de.targetTouches.length\u0026\u0026function(t,e){Di\u003dt.targetTouches[0].clientY-Ri,!ji(t.target)\u0026\u0026(e\u0026\u00260\u003d\u003d\u003de.scrollTop\u0026\u0026Di\u003e0||function(t){return!!t\u0026\u0026t.scrollHeight-t.scrollTop\u003c\u003dt.clientHeight}(e)\u0026\u0026Di\u003c0?Ii(t):t.stopPropagation())}(e,t)},Hi||(document.addEventListener(\"touchmove\",Ii,Bi?{passive:!1}:void 0),Hi\u003d!0)):function(t){if(void 0\u003d\u003d\u003dNi){var e\u003d!!t\u0026\u0026!0\u003d\u003d\u003dt.reserveScrollBarGap,n\u003dwindow.innerWidth-document.documentElement.clientWidth;if(e\u0026\u0026n\u003e0){var i\u003dparseInt(getComputedStyle(document.body).getPropertyValue(\"padding-right\"),10);Ni\u003ddocument.body.style.paddingRight,document.body.style.paddingRight\u003d\"\".concat(i+n,\"px\")}}void 0\u003d\u003d\u003dLi\u0026\u0026(Li\u003ddocument.body.style.overflow,document.body.style.overflow\u003d\"hidden\")}(e)}}else console.error(\"disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.\")}(t.$refs.vfmContainer,{reserveScrollBarGap:!0}):qi(t.$refs.vfmContainer)}))},getAttachElement:function(){return!1!\u003d\u003dthis.attach\u0026\u0026(\"string\"\u003d\u003dtypeof this.attach?!!window\u0026\u0026window.document.querySelector(this.attach):this.attach)},beforeOverlayEnter:function(){this.overlayTransitionState\u003dVi},afterOverlayEnter:function(){this.overlayTransitionState\u003dFi},beforeOverlayLeave:function(){this.overlayTransitionState\u003dQi},afterOverlayLeave:function(){this.overlayTransitionState\u003dUi},beforeModalEnter:function(){this.modalTransitionState\u003dVi},afterModalEnter:function(){this.modalTransitionState\u003dFi,(this.focusRetain||this.focusTrap)\u0026\u0026this.$refs.vfmContainer.focus(),this.focusTrap\u0026\u0026this.$focusTrap.enable(this.$refs.vfmContainer),this.drag\u0026\u0026this.addDragDown(),this.resize\u0026\u0026this.addResizeDown(),this.$emit(\"opened\",this.createModalEvent({type:\"opened\"})),this.resolveToggle(\"show\")},beforeModalLeave:function(){this.modalTransitionState\u003dQi,this.$focusTrap.enabled()\u0026\u0026this.$focusTrap.disable()},afterModalLeave:function(){this.modalTransitionState\u003dUi,this.modalStackIndex\u003dnull,this.lockScroll\u0026\u0026qi(this.$refs.vfmContainer),this.keepChangedStyle||(this.dragResizeStyle\u003d{});var t\u003d!1,e\u003dthis.createModalEvent({type:\"closed\",stop:function(){t\u003d!0}});this.$emit(\"closed\",e),this.resolveToggle(\"hide\"),t||(this.params\u003d{})},onMousedown:function(t){this.lastMousedownEl\u003dnull\u003d\u003dt?void 0:t.target},onMouseupContainer:function(){this.lastMousedownEl\u003d\u003d\u003dthis.$refs.vfmContainer\u0026\u0026\"resize:move\"!\u003d\u003dthis.state\u0026\u0026(this.$emit(\"click-outside\",this.createModalEvent({type:\"click-outside\"})),this.clickToClose\u0026\u0026this.$emit(\"input\",!1))},onEsc:function(){this.visible\u0026\u0026this.escToClose\u0026\u0026this.$emit(\"input\",!1)},createModalEvent:function(){var t\u003darguments.length\u003e0\u0026\u0026void 0!\u003d\u003darguments[0]?arguments[0]:{};return wi({ref:this},t)},emitEvent:function(t,e){var n\u003d!1,i\u003dthis.createModalEvent({type:t,stop:function(){n\u003d!0}});return this.$emit(t,i),!!n\u0026\u0026(this.stopEvent\u003d!0,this.$emit(\"input\",e),!0)},emitState:function(t,e,n){this.state\u003d\"\".concat(e,\":\").concat(n),this.$emit(this.state,t)},toggle:function(t,e){var n\u003darguments,i\u003dthis;return new Promise((function(o,r){i.resolveToggle\u003dfunction(t){o(t),i.resolveToggle\u003dWi},i.rejectToggle\u003dfunction(t){r(t),i.rejectToggle\u003dWi};var s\u003d\"boolean\"\u003d\u003dtypeof t?t:!i.value;s\u0026\u00262\u003d\u003d\u003dn.length\u0026\u0026(i.params\u003de),i.$emit(\"input\",s)}))},pointerDown:function(t){var e\u003dthis;t.stopPropagation();var n,i\u003d\"resize\",o\u003d\"drag\",r\u003dthis.$refs,s\u003dr.vfmContainer,a\u003dr.vfmContent,l\u003dt.target.getAttribute(\"direction\");if(l)n\u003di;else{if(!function(t,e,n){return\"\"\u003d\u003d\u003dn||bi(e.querySelectorAll(n)).includes(t.target)}(t,a,this.dragSelector))return;n\u003do}this.emitState(t,n,\"start\");var c,u,d,h,p\u003dCi(t),f\u003ds.getBoundingClientRect(),m\u003da.getBoundingClientRect(),v\u003d\"absolute\"\u003d\u003d\u003dwindow.getComputedStyle(a).position,g\u003dki(this.dragResizeStyle.top),y\u003dki(this.dragResizeStyle.left),w\u003dfunction(){if(e.fitParent){var t\u003d{absolute:function(){return{minTop:0,minLeft:0,maxTop:f.height-m.height,maxLeft:f.width-m.width}},relative:function(){return{minTop:g+f.top-m.top,minLeft:y+f.left-m.left,maxTop:g+f.bottom-m.bottom,maxLeft:y+f.right-m.right}}};return v?t.absolute():t.relative()}return{}}(),b\u003dn\u003d\u003d\u003di\u0026\u0026(c\u003ddocument.body,u\u003d\"cursor\",d\u003dKi[l],h\u003dc.style[u],c.style[u]\u003dd,function(){c.style[u]\u003dh}),_\u003dfunction(t){t.stopPropagation(),e.emitState(t,n,\"move\");var r,s,a\u003dCi(t),c\u003d{x:a.x-p.x,y:a.y-p.y};n\u003d\u003d\u003di\u0026\u0026(c\u003de.getResizeOffset(l,c,f,m,v)),v?(r\u003dm.top-f.top+c.y,s\u003dm.left-f.left+c.x):(r\u003dg+c.y,s\u003dy+c.x),n\u003d\u003d\u003do\u0026\u0026e.fitParent\u0026\u0026(r\u003d$i(w.minTop,r,w.maxTop),s\u003d$i(w.minLeft,s,w.maxLeft));var u\u003dwi(wi(wi({position:\"relative\",top:r+\"px\",left:s+\"px\",margin:\"unset\",touchAction:\"none\"},v\u0026\u0026{position:\"absolute\",transform:\"unset\",width:m.width+\"px\",height:m.height+\"px\"}),c.width\u0026\u0026{width:c.width+\"px\"}),c.height\u0026\u0026{height:c.height+\"px\"});e.dragResizeStyle\u003dwi(wi({},e.dragResizeStyle),u)};Ei(\"move\",document,_),Ei(\"up\",document,(function t(o){o.stopPropagation(),n\u003d\u003d\u003di\u0026\u0026b\u0026\u0026b(),setTimeout((function(){e.emitState(o,n,\"end\")})),Oi(\"move\",document,_),Oi(\"up\",document,t)}))},addDragDown:function(){Ei(\"down\",this.$refs.vfmContent,this.pointerDown),this.dragResizeStyle.touchAction\u003d\"none\"},removeDragDown:function(){Oi(\"down\",this.$refs.vfmContent,this.pointerDown)},addResizeDown:function(){var t\u003dthis;this.visibility.resize\u003d!0,this.$nextTick((function(){Ei(\"down\",t.$refs.vfmResize,t.pointerDown)}))},removeResizeDown:function(){Oi(\"down\",this.$refs.vfmResize,this.pointerDown),this.visibility.resize\u003d!1},getResizeOffset:function(t,e,n,i,o){var r\u003dthis,s\u003dfunction(t,e,o,s){var a,l\u003di[e],c\u003dn[t]-i[t],u\u003d(a\u003de).charAt(0).toUpperCase()+a.slice(1);return{axis:o,edgeName:e,min:s?c:-l,max:s?l:c,minEdge:r[\"min\".concat(u)],maxEdge:r[\"max\".concat(u)],getEdge:function(t){return i[e]-t*(s?1:-1)},getOffsetAxis:function(t,n){var o\u003di[e]-t;return n?s?o:0:(s?1:-1)*o/2}}},a\u003d{t:[\"top\",\"height\",\"y\",!0],b:[\"bottom\",\"height\",\"y\",!1],l:[\"left\",\"width\",\"x\",!0],r:[\"right\",\"width\",\"x\",!1]},l\u003d{x:0,y:0};return t.split(\"\").forEach((function(t){var n\u003ds.apply(void 0,bi(a[t]));l\u003dwi(wi({},l),function(t){var n,i\u003de[t.axis];i\u003dr.fitParent?$i(t.min,i,t.max):i;var s\u003d$i(t.minEdge,t.getEdge(i),t.maxEdge);return i\u003dt.getOffsetAxis(s,o),gi(n\u003d{},t.edgeName,s),gi(n,t.axis,i),n}(n))})),l}}},Zi\u003dfunction(t,e,n,i,o,r,s,a,l,c){\"boolean\"!\u003dtypeof s\u0026\u0026(l\u003da,a\u003ds,s\u003d!1);var u,d\u003d\"function\"\u003d\u003dtypeof n?n.options:n;if(t\u0026\u0026t.render\u0026\u0026(d.render\u003dt.render,d.staticRenderFns\u003dt.staticRenderFns,d._compiled\u003d!0,o\u0026\u0026(d.functional\u003d!0)),i\u0026\u0026(d._scopeId\u003di),r?(u\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),e\u0026\u0026e.call(this,l(t)),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(r)},d._ssrRegister\u003du):e\u0026\u0026(u\u003ds?function(t){e.call(this,c(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),u)if(d.functional){var h\u003dd.render;d.render\u003dfunction(t,e){return u.call(e),h(t,e)}}else{var p\u003dd.beforeCreate;d.beforeCreate\u003dp?[].concat(p,u):[u]}return n},Ji\u003d\"undefined\"!\u003dtypeof navigator\u0026\u0026/msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase()),to\u003d{},eo\u003dZi({render:function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.ssr||t.visible?n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.ssr||t.visible,expression:\"!ssr || visible\"}],staticClass:\"vfm vfm--inset\",class:[!1\u003d\u003d\u003dt.attach?\"vfm--fixed\":\"vfm--absolute\",{\"vfm--prevent-none\":t.preventClick}],style:t.bindStyle,on:{keydown:function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])?null:t.onEsc.apply(null,arguments)}}},[n(\"transition\",t._b({ref:\"vfmOverlayTransition\",on:{\"before-enter\":t.beforeOverlayEnter,\"after-enter\":t.afterOverlayEnter,\"before-leave\":t.beforeOverlayLeave,\"after-leave\":t.afterOverlayLeave}},\"transition\",t.computedOverlayTransition,!1),[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.hideOverlay\u0026\u0026t.visibility.overlay,expression:\"!hideOverlay \u0026\u0026 visibility.overlay\"}],staticClass:\"vfm__overlay vfm--overlay vfm--absolute vfm--inset\",class:t.overlayClass,style:t.overlayStyle})]),t._v(\" \"),n(\"transition\",t._b({ref:\"vfmTransition\",on:{\"before-enter\":t.beforeModalEnter,\"after-enter\":t.afterModalEnter,\"before-leave\":t.beforeModalLeave,\"after-leave\":t.afterModalLeave}},\"transition\",t.computedTransition,!1),[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibility.modal,expression:\"visibility.modal\"}],ref:\"vfmContainer\",staticClass:\"vfm__container vfm--absolute vfm--inset vfm--outline-none\",class:t.classes,style:t.styles,attrs:{\"aria-expanded\":t.visibility.modal.toString(),role:\"dialog\",\"aria-modal\":\"true\",tabindex:\"-1\"},on:{mouseup:function(e){return e.target!\u003d\u003de.currentTarget?null:t.onMouseupContainer.apply(null,arguments)},mousedown:function(e){return e.target!\u003d\u003de.currentTarget?null:t.onMousedown.apply(null,arguments)}}},[n(\"div\",{ref:\"vfmContent\",staticClass:\"vfm__content\",class:[t.contentClass,{\"vfm--prevent-auto\":t.preventClick}],style:t.bindContentStyle,on:{mousedown:function(e){return t.onMousedown(null)}}},[t._t(\"default\",null,{params:t.params,close:function(){return t.$emit(\"input\",!1)}}),t._v(\" \"),t.visibility.resize\u0026\u0026t.visibility.modal?n(\"div\",{ref:\"vfmResize\",staticClass:\"vfm__resize vfm--absolute vfm--inset vfm--prevent-none vfm--select-none vfm--touch-none\"},t._l(t.resizeDirections,(function(t){return n(\"div\",{key:t,staticClass:\"vfm--absolute vfm--prevent-auto\",class:\"vfm--resize-\"+t,attrs:{direction:t}})})),0):t._e()],2)])])],1):t._e()},staticRenderFns:[]},(function(t){t\u0026\u0026t(\"data-v-1cd72822_0\",{source:\".vfm--fixed[data-v-1cd72822]{position:fixed}.vfm--absolute[data-v-1cd72822]{position:absolute}.vfm--inset[data-v-1cd72822]{top:0;right:0;bottom:0;left:0}.vfm--overlay[data-v-1cd72822]{background-color:rgba(0,0,0,.5)}.vfm--prevent-none[data-v-1cd72822]{pointer-events:none}.vfm--prevent-auto[data-v-1cd72822]{pointer-events:auto}.vfm--outline-none[data-v-1cd72822]:focus{outline:0}.vfm-enter-active[data-v-1cd72822],.vfm-leave-active[data-v-1cd72822]{transition:opacity .2s}.vfm-enter[data-v-1cd72822],.vfm-leave-to[data-v-1cd72822]{opacity:0}.vfm--touch-none[data-v-1cd72822]{touch-action:none}.vfm--select-none[data-v-1cd72822]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vfm--resize-bl[data-v-1cd72822],.vfm--resize-br[data-v-1cd72822],.vfm--resize-tl[data-v-1cd72822],.vfm--resize-tr[data-v-1cd72822]{width:12px;height:12px;z-index:10}.vfm--resize-t[data-v-1cd72822]{top:-6px;left:0;width:100%;height:12px;cursor:ns-resize}.vfm--resize-tr[data-v-1cd72822]{top:-6px;right:-6px;cursor:nesw-resize}.vfm--resize-r[data-v-1cd72822]{top:0;right:-6px;width:12px;height:100%;cursor:ew-resize}.vfm--resize-br[data-v-1cd72822]{bottom:-6px;right:-6px;cursor:nwse-resize}.vfm--resize-b[data-v-1cd72822]{bottom:-6px;left:0;width:100%;height:12px;cursor:ns-resize}.vfm--resize-bl[data-v-1cd72822]{bottom:-6px;left:-6px;cursor:nesw-resize}.vfm--resize-l[data-v-1cd72822]{top:0;left:-6px;width:12px;height:100%;cursor:ew-resize}.vfm--resize-tl[data-v-1cd72822]{top:-6px;left:-6px;cursor:nwse-resize}\",map:void 0,media:void 0})}),Gi,\"data-v-1cd72822\",!1,void 0,!1,(function(t){return function(t,e){return function(t,e){var n\u003dJi?e.media||\"default\":t,i\u003dto[n]||(to[n]\u003d{ids:new Set,styles:[]});if(!i.ids.has(t)){i.ids.add(t);var o\u003de.source;if(e.map\u0026\u0026(o+\u003d\"\\n/*# sourceURL\u003d\"+e.map.sources[0]+\" */\",o+\u003d\"\\n/*# sourceMappingURL\u003ddata:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e.map))))+\" */\"),i.element||(i.element\u003ddocument.createElement(\"style\"),i.element.type\u003d\"text/css\",e.media\u0026\u0026i.element.setAttribute(\"media\",e.media),void 0\u003d\u003d\u003dAi\u0026\u0026(Ai\u003ddocument.head||document.getElementsByTagName(\"head\")[0]),Ai.appendChild(i.element)),\"styleSheet\"in i.element)i.styles.push(o),i.element.styleSheet.cssText\u003di.styles.filter(Boolean).join(\"\\n\");else{var r\u003di.ids.size-1,s\u003ddocument.createTextNode(o),a\u003di.element.childNodes;a[r]\u0026\u0026i.element.removeChild(a[r]),a.length?i.element.insertBefore(s,a[r]):i.element.appendChild(s)}}}(t,e)}}),void 0,void 0),no\u003dZi({render:function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{staticClass:\"modals-container\"},t._l(t.api.dynamicModals,(function(e,i){return n(e.component,t._g(t._b({key:e.id,tag:\"component\",on:{closed:function(e){return t.slice(i)},\"before-open\":function(n){return t.beforeOpen(n,e,i)},opened:e.opened},scopedSlots:t._u([t._l(e.slots,(function(e,i){return{key:i,fn:function(){return[t.isString(e)?n(\"div\",{key:i,domProps:{innerHTML:t._s(e)}}):n(e.component,t._g(t._b({key:i,tag:\"component\"},\"component\",e.bind,!1),e.on))]},proxy:!0}}))],null,!0),model:{value:e.value,callback:function(n){t.$set(e,\"value\",n)},expression:\"modal.value\"}},\"component\",e.bind,!1),e.on))})),1)},staticRenderFns:[]},void 0,{props:{},methods:{slice:function(t){this.api.dynamicModals.splice(t,1)},beforeOpen:function(t,e,n){var i\u003dthis;t.ref.params\u003de.params,this.$nextTick((function(){e.value||(i.slice(n),e.reject(\"show\"))}))},isString:function(t){return\"string\"\u003d\u003dtypeof t}}},void 0,!1,void 0,!1,void 0,void 0,void 0);function io(t,e){var n\u003dwi(wi({},t),{},{props:wi({},t.props)});return Object.assign(n.props,{api:{type:Object,default:function(){return e}}}),n}var oo\u003d0,ro\u003dfunction(){var t,e,n\u003d(e\u003dnull,et().observable({show:function(t){for(var n\u003dthis,i\u003darguments.length,o\u003dnew Array(i\u003e1?i-1:0),r\u003d1;r\u003ci;r++)o[r-1]\u003darguments[r];switch(mi(t)){case\"string\":return this.toggle.apply(this,[t,!0].concat(o));case\"object\":return Promise.allSettled([new Promise((function(i,r){var s\u003d{value:!0,id:Symbol(\"dynamicModal\"),component:e,bind:{},slots:{},on:{},params:o[0],reject:r,opened:function(){i(\"show\")}};n.dynamicModals.push(Object.assign(s,t))}))])}},hide:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return this.toggle(e,!1)},hideAll:function(){return this.hide.apply(this,bi(this.openedModals.map((function(t){return t.name}))))},toggle:function(t){for(var e\u003darguments.length,n\u003dnew Array(e\u003e1?e-1:0),i\u003d1;i\u003ce;i++)n[i-1]\u003darguments[i];var o\u003dArray.isArray(t)?this.get.apply(this,bi(t)):this.get(t);return Promise.allSettled(o.map((function(t){return t.toggle.apply(t,n)})))},get:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return this.modals.filter((function(t){return e.includes(t.name)}))},dynamicModals:[],openedModals:[],modals:[],_setDefaultModal:function(t){e\u003dt}}));return gi(t\u003d{},\"$vfm\",n),gi(t,\"VueFinalModal\",function(t){var e\u003dio(eo,t);return t._setDefaultModal(e),e}(n)),gi(t,\"ModalsContainer\",io(no,n)),t},so\u003dro(),ao\u003dso.$vfm,lo\u003dso.VueFinalModal,co\u003d(so.ModalsContainer,function(t){var e\u003darguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1]?arguments[1]:{},n\u003d0\u003d\u003d\u003doo?so:ro(),i\u003dn.$vfm,o\u003dn.VueFinalModal,r\u003dn.ModalsContainer;oo+\u003d1;var s\u003de.key||\"$vfm\",a\u003de.componentName||\"VueFinalModal\",l\u003de.dynamicContainerName||\"ModalsContainer\";t.prototype[s]\u003di,t.component(a,o),t.component(l,r)}),uo\u003dfunction(t){return{install:function(e,n){var i\u003dObject.assign({},t,n);co(e,i)}}};uo.install\u003dco;const ho\u003dqe({name:\"Trigger\",components:{PortalTarget:fi.YC},props:{for:{type:String,default:\"\"},trigger:{type:String,default:\"hover focus\"},placement:{type:String,default:\"top\"}},data:function(){return{popoverOrTooltipType:void 0,isInput:!1}},methods:{toggle:function(){this.for\u0026\u0026ao.show(this.for)}},computed:{triggerEventType:function(){return\"click\"\u003d\u003d\u003dthis.trigger||\"focus\"\u003d\u003d\u003dthis.trigger?this.trigger:\"mouseenter\"},triggers:function(){return this.trigger.split(\" \")},target:function(){return this.for}},mounted:function(){if(this.isInput\u003dthis.$slots.default\u0026\u0026this.$slots.default.some((function(t){return\"input\"\u003d\u003d\u003dt.tag})),this.for\u0026\u0026void 0\u003d\u003d\u003dthis.popoverOrTooltipType){var t\u003ddocument.getElementById(this.for);if(!t)return;this.popoverOrTooltipType\u003dt.dataset.mbComponentType}}},pi,[],!1,null,null,null).exports;var po\u003dfunction(){var t\u003dthis.$createElement;return(this._self._c||t)(\"div\",{staticClass:\"site-nav-root\"},[this._t(\"default\")],2)};po._withStripped\u003d!0;const fo\u003dqe({name:\"SiteNav\",mounted:function(){var t\u003dthis,e\u003dSn(new URL(window.location.href).pathname);this.$el.querySelectorAll(\"a[href]\").forEach((function(n){var i\u003dSn(n.getAttribute(\"href\"));if(e\u003d\u003d\u003di){n.classList.add(\"current\");for(var o\u003dn.parentElement;o\u0026\u0026o!\u003d\u003dt.$el;)\"ul\"\u003d\u003d\u003do.tagName.toLowerCase()\u0026\u0026o.classList.contains(\"site-nav-dropdown-container\")\u0026\u0026o.classList.add(\"site-nav-dropdown-container-open\"),o\u003do.parentElement}}))}},po,[],!1,null,null,null).exports;var mo\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[n(\"span\",{class:[{\"nav-menu-close-icon\":t.show}],on:{click:function(e){return t.toggleNavMenu(void 0)}}},[t._t(\"navMenuIcon\")],2),t._v(\" \"),n(\"div\",{ref:\"navMenuContainer\",class:[\"nav-menu\",{\"nav-menu-open\":t.show}],style:t.navbarHeight,on:{click:t.toggleNavMenu}},[n(\"portal-target\",{attrs:{name:t.portalName,multiple:\"\"}})],1)])};mo._withStripped\u003d!0;var vo\u003d{};const go\u003dqe({components:{PortalTarget:fi.YC},props:{type:{type:String,default:null},portalName:{type:String,default:null}},inject:{toggleLowerNavbar:{default:void 0}},data:function(){return{show:!1,navbarHeight:\"\"}},methods:{toggleNavMenu:function(t){var e,n\u003dthis;t\u0026\u0026\"a\"\u003d\u003d\u003dt.target.tagName.toLowerCase()||!t\u0026\u0026this.show?(document.body.style.removeProperty(\"overflow\"),this.show\u003d!1):(vo[e\u003d\"closeOverlay\"]\u0026\u0026vo[e].forEach((function(t){return t()})),document.body.style.overflow\u003d\"hidden\",this.show\u003d!0,this.$nextTick((function(){var t\u003dn.$refs.navMenuContainer,e\u003dwindow.innerHeight-t.getBoundingClientRect().top;n.navbarHeight\u003d\"height: \".concat(e,\"px\")})))}},mounted:function(){var t,e,n\u003dthis;this.toggleLowerNavbar\u0026\u0026this.toggleLowerNavbar(),e\u003dfunction(){n.show\u003d!1},vo[t\u003d\"closeOverlay\"]||(vo[t]\u003d[]),vo[t].push(e)}},mo,[],!1,null,\"1a3e7aee\",null).exports;var yo\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(t.tagName,t._b({tag:\"component\"},\"component\",t.$attrs,!1),[t._t(\"default\"),t._v(\" \"),t.enablePortal?n(\"portal\",{attrs:{to:t.to}},[n(t.tagName,t._b({tag:\"component\",class:[t.$vnode.data.staticClass||\"\",\"mb-mobile-nav\"],style:t.$vnode.data.staticStyle},\"component\",t.$attrs,!1),[t._t(\"default\")],2)],1):t._e()],2)};yo._withStripped\u003d!0;const wo\u003dqe({name:\"OverlaySource\",components:{Portal:fi.h_},props:{to:{type:String,default:void 0},tagName:{type:String,default:void 0}},data:function(){return{enablePortal:!1}},mounted:function(){this.enablePortal\u003d!0}},yo,[],!1,null,\"e6005420\",null).exports;var bo\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:\"click\"\u003d\u003d\u003dt.trigger?\"trigger-click\":\"trigger\",attrs:{\"data-mb-component-type\":\"popover\",tabindex:\"0\"}},[t.targetEl.id?n(\"portal\",{attrs:{to:\"popover:\"+t.targetEl.id}},[t.hasHeader?n(\"h3\",{staticClass:\"popover-header\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"popover-body\"},[t._t(\"content\")],2)]):t._e(),t._v(\" \"),t.isMounted?n(\"v-popover\",{attrs:{\"auto-hide\":!t.isInput,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,placement:t.placement,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[n(\"div\",{staticClass:\"popover-container\"},[t.hasHeader?n(\"h3\",{staticClass:\"popover-header\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"popover-body\"},[t._t(\"content\")],2)])]},proxy:!0}],null,!0)},[t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):t._e()],1)};bo._withStripped\u003d!0;const _o\u003dqe({name:\"Popover\",components:{Portal:fi.h_},props:{trigger:{type:String,default:\"hover focus\"},placement:{type:String,default:\"top\"}},data:function(){return{targetEl:{},isMounted:!1}},computed:{triggers:function(){return this.trigger.split(\" \")},hasHeader:function(){return!!this.$slots.header}},mounted:function(){this.targetEl\u003dthis.$el,this.isInput\u003dthis.$slots.default\u0026\u0026this.$slots.default.some((function(t){return\"input\"\u003d\u003d\u003dt.tag})),this.isMounted\u003d!0}},bo,[],!1,null,null,null).exports;var So\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:\"click\"\u003d\u003d\u003dt.trigger?\"trigger-click\":\"trigger\",attrs:{\"data-mb-component-type\":\"tooltip\",tabindex:\"0\"}},[t.targetEl.id?n(\"portal\",{attrs:{to:\"tooltip:\"+t.targetEl.id}},[t._t(\"content\")],2):t._e(),t._v(\" \"),t.isMounted?n(\"v-tooltip\",{attrs:{\"auto-hide\":!t.isInput,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,placement:t.placement,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[t._t(\"content\")]},proxy:!0}],null,!0)},[t._v(\" \"),t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):t._e()],1)};So._withStripped\u003d!0;const xo\u003dqe({name:\"Tooltip\",components:{Portal:fi.h_},props:{trigger:{type:String,default:\"hover focus\"},placement:{type:String,default:\"top\"}},data:function(){return{targetEl:{},isInput:!1,isMounted:!1}},computed:{triggers:function(){return this.trigger.split(\" \")}},mounted:function(){this.targetEl\u003dthis.$el,this.isInput\u003dthis.$slots.default\u0026\u0026this.$slots.default.some((function(t){return\"input\"\u003d\u003d\u003dt.tag})),this.isMounted\u003d!0}},So,[],!1,null,null,null).exports;var Co\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.isMounted?n(\"vue-final-modal\",{attrs:{ssr:\"\",name:t.id,classes:[\"modal\"],\"content-class\":[\"modal-dialog\",\"modal-dialog-scrollable\",t.optionalModalSize,t.optionalCentering],\"overlay-transition\":\"none\",transition:t.effectClass,\"click-to-close\":\"false\"!\u003d\u003dt.backdrop,\"esc-to-close\":\"\",\"z-index-base\":\"2000\"},model:{value:t.show,callback:function(e){t.show\u003de},expression:\"show\"}},[n(\"div\",{staticClass:\"modal-content\"},[t.hasHeader?n(\"div\",{staticClass:\"modal-header\"},[n(\"h5\",{staticClass:\"modal-title\"},[t._t(\"header\")],2),t._v(\" \"),n(\"button\",{staticClass:\"btn-close\",attrs:{type:\"button\",\"aria-label\":\"Close\"},on:{click:function(e){return t.close()}}})]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"modal-body\"},[t._t(\"default\")],2),t._v(\" \"),t.hasFooter||t.hasOk?n(\"div\",{staticClass:\"modal-footer\"},[t.hasFooter?t._t(\"footer\"):n(\"button\",{staticClass:\"btn btn-primary\",on:{click:function(e){return t.close()}}},[t._v(\"\\n \"+t._s(t.okText)+\"\\n \")])],2):t._e()])]):t._e()};Co._withStripped\u003d!0;const $o\u003dqe({name:\"Modal\",components:{VueFinalModal:lo},data:function(){return{show:!1,isMounted:!1,zoomEffect:{\"enter-class\":\"modal-zoom\",\"enter-to-class\":\"modal-zoom-show\",\"leave-to-class\":\"modal-zoom\",\"leave-class\":\"modal-zoom-show\"}}},props:{okText:{type:String,default:\"\"},effect:{type:String,default:\"zoom\"},id:{type:String,default:\"\"},small:{type:Boolean,default:!1},large:{type:Boolean,default:!1},center:{type:Boolean,default:!1},backdrop:{type:String,default:\"\"}},computed:{hasHeader:function(){return!!this.$slots.header},hasFooter:function(){return!!this.$slots.footer},hasOk:function(){return\"\"!\u003d\u003dthis.okText},optionalModalSize:function(){return this.small||this.large?this.small?\"modal-sm\":\"modal-lg\":\"\"},optionalCentering:function(){return this.center?\"modal-dialog-centered\":\"\"},effectClass:function(){return\"zoom\"\u003d\u003d\u003dthis.effect?this.zoomEffect:\"vfm\"}},methods:{close:function(){this.show\u003d!1}},mounted:function(){this.isMounted\u003d!0}},Co,[],!1,null,null,null).exports;var ko\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"scroll-top-button\",t.getIconSize(),\"d-print-none\",{lighten:t.$data.isLighten}],style:t.iconStyle(),attrs:{\"aria-hidden\":\"true\"},on:{click:function(e){return t.handleScrollTop()}}},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas fa-arrow-circle-up\"]})]}))],2)};ko._withStripped\u003d!0;var To\u003d{box:We,breadcrumb:Ve,dropdown:gn,navbar:Tn,panel:Rn,annotate:In,aPoint:Wn,pic:Vn,quiz:Qn,question:Gn,qOption:Jn,retriever:zn,searchbar:oi,tab:si,tabGroup:li,tabs:ui,thumbnail:hi,trigger:ho,siteNav:fo,submenu:vn,siteNavButton:Cn,pageNavButton:kn,overlay:go,overlaySource:wo,popover:_o,tooltip:xo,modal:$o,VPopover:Ne,VTooltip:Ae,scrollTopButton:qe({name:\"ScrollTopButton\",props:{icon:{type:String,default:null},iconSize:{type:String,default:\"lg\"},iconColor:{type:String,default:null},bottom:{type:String,default:null},right:{type:String,default:null}},data:function(){return{isVisible:!1,isLighten:!1,timers:{showOrHideButtonTimer:0,lightenButtonTimer:0}}},methods:{initScrollTopButton:function(){window.addEventListener(\"scroll\",this.promptScrollTopButton)},destroyScrollTopButton:function(){window.removeEventListener(\"scroll\",this.promptScrollTopButton)},promptScrollTopButton:function(){this.resetScrollTopButton(),this.showOrHideScrollTopButton()},resetScrollTopButton:function(){clearTimeout(this.timers.showOrHideButtonTimer),clearTimeout(this.timers.lightenButtonTimer),this.isLighten\u003d!1},showOrHideScrollTopButton:function(){var t\u003dthis;this.timers.showOrHideButtonTimer\u003dsetTimeout((function(){document.body.scrollTop\u003e20||document.documentElement.scrollTop\u003e20?(t.isVisible\u003d!0,t.lightenScrollTopButton()):t.isVisible\u003d!1}),100)},lightenScrollTopButton:function(){var t\u003dthis;this.timers.lightenButtonTimer\u003dsetTimeout((function(){t.isLighten||(t.isLighten\u003d!0)}),1e3)},iconStyle:function(){var t\u003d{};return t.display\u003dthis.isVisible?\"block\":\"none\",this.iconColor\u0026\u0026(t.color\u003dthis.iconColor),t.bottom\u003dthis.bottom?this.bottom:\"2%\",t.right\u003dthis.right?this.right:\"2%\",t.position\u003d\"fixed\",t},handleScrollTop:function(){document.body.scrollIntoView({block:\"start\",behavior:\"smooth\"})},getIconSize:function(){return this.iconSize?\"fa-\".concat(this.iconSize):\"\"}},mounted:function(){this.initScrollTopButton()},beforeDestroy:function(){this.destroyScrollTopButton()}},ko,[],!1,null,null,null).exports},Eo\u003d{closeable:Qe()};const Oo\u003d{MarkBindVue:{plugin:{install:function(t){Object.keys(Eo).forEach((function(e){t.directive(e,Eo[e])})),Object.keys(To).forEach((function(e){t.component(e,To[e])}))}},components:To,directives:Eo},appFactory:function(){return{data:function(){return{searchData:[]}},methods:{searchCallback:function(t){var e\u003d\"\".concat(baseUrl,\"/\").concat(t.src.replace(/.md$/,\".html\")),n\u003dt.heading?\"#\".concat(t.heading.id):\"\";window.location\u003d\"\".concat(e).concat(n)}}}}};i(605);function Bo(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function Po(t){for(var e\u003d1;e\u003carguments.length;e++){var i\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?Bo(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):Bo(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}var Lo\u003dOo.MarkBindVue,No\u003dOo.appFactory;function Ao(){var t\u003ddocument.querySelector(\"header[sticky]\");if(null!\u003d\u003dt){var e\u003da(),n\u003d!1;t.addEventListener(\"transitionend\",(function(){n||(t.style.overflow\u003d\"\")})),new ResizeObserver((function(){e\u003da(),document.documentElement.style.setProperty(\"--sticky-header-height\",\"\".concat(e,\"px\")),window.innerWidth\u003e767\u0026\u0026n\u0026\u0026l()})).observe(t);var i,o\u003d0,r\u003dwindow.location.hash,s\u003dfunction(){if(!(window.innerWidth\u003e767)){if(r!\u003d\u003dwindow.location.hash)return r\u003dwindow.location.hash,void l();r\u003dwindow.location.hash;var i\u003dwindow.pageYOffset;if(!(window.innerHeight+i\u003e\u003ddocument.body.offsetHeight)){if(i\u003eo){t.style.position\u003d\"static\";var s\u003dt.getBoundingClientRect().top+e;if(t.style.position\u003d\"sticky\",s\u003e0)return;n\u003d!0,t.style.overflow\u003d\"hidden\",t.classList.add(\"hide-header\")}else l();o\u003di}}};window.addEventListener(\"scroll\",(function(){i\u0026\u0026clearTimeout(i),i\u003dsetTimeout(s,20)}))}function a(){var e\u003dwindow.getComputedStyle(t,null);return t.clientHeight-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom)}function l(){n\u003d!1,t.classList.remove(\"hide-header\")}}function zo(){document.querySelectorAll(\"script[style-bypass-vue-compilation]\").forEach((function(t){var e\u003ddocument.createElement(\"style\");e.innerHTML\u003dt.innerHTML,t.parentNode.replaceChild(e,t)})),Ao()}Vue.use(Lo.plugin),window.onload\u003dfunction(){if(window.location.hash){var t\u003ddocument.getElementById(window.location.hash.slice(1));t\u0026\u0026t.scrollIntoView({behavior:\"smooth\",block:\"start\",inline:\"nearest\"})}},window.handleSiteNavClick\u003dfunction(t){var e\u003d!(arguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1])||arguments[1];if(e){var n\u003dt.getElementsByTagName(\"a\");if(n.length)return void(window.location.href\u003dn[0].href)}var i\u003dt.nextElementSibling,o\u003dt.lastElementChild.lastElementChild;i.classList.toggle(\"site-nav-dropdown-container-open\"),o.classList.toggle(\"site-nav-rotate-icon\")};const Mo\u003d{setup:function(){new Vue(Po(Po({render:function(t){return pageVueRenderFn.call(this,t)},staticRenderFns:pageVueStaticRenderFns},No()),{},{mounted:function(){zo()}})).$mount(\"#app\",!0)},setupWithSearch:function(){new Vue(Po(Po({render:function(t){return pageVueRenderFn.call(this,t)},staticRenderFns:pageVueStaticRenderFns},No()),{},{mounted:function(){zo(),function(t){fetch(\"\".concat(baseUrl,\"/siteData.json\")).then((function(t){return t.json()})).then((function(e){t.searchData\u003de.pages}))}(this)}})).$mount(\"#app\",!0)}}})(),o\u003do.default})());"}],"authorContributionMap":{"jingting1412":1}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/js/polyfill.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"!function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var c\u003d\"function\"\u003d\u003dtypeof require\u0026\u0026require;if(!u\u0026\u0026c)return c(o,!0);if(i)return i(o,!0);var a\u003dnew Error(\"Cannot find module \u0027\"+o+\"\u0027\");throw a.code\u003d\"MODULE_NOT_FOUND\",a}var f\u003dn[o]\u003d{exports:{}};t[o][0].call(f.exports,function(n){var r\u003dt[o][1][n];return s(r||n)},f,f.exports,e,t,n,r)}return n[o].exports}for(var i\u003d\"function\"\u003d\u003dtypeof require\u0026\u0026require,o\u003d0;o\u003cr.length;o++)s(r[o]);return s}({1:[function(t,n,r){(function(n){\"use strict\";function define(t,n,e){t[n]||Object[r](t,n,{writable:!0,configurable:!0,value:e})}if(t(327),t(328),t(2),n._babelPolyfill)throw new Error(\"only one instance of babel-polyfill is allowed\");n._babelPolyfill\u003d!0;var r\u003d\"defineProperty\";define(String.prototype,\"padLeft\",\"\".padStart),define(String.prototype,\"padRight\",\"\".padEnd),\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function(t){[][t]\u0026\u0026define(Array,t,Function.call.bind([][t]))})}).call(this,\"undefined\"!\u003dtypeof global?global:\"undefined\"!\u003dtypeof self?self:\"undefined\"!\u003dtypeof window?window:{})},{2:2,327:327,328:328}],2:[function(t,n,r){t(130),n.exports\u003dt(23).RegExp.escape},{130:130,23:23}],3:[function(t,n,r){n.exports\u003dfunction(t){if(\"function\"!\u003dtypeof t)throw TypeError(t+\" is not a function!\");return t}},{}],4:[function(t,n,r){var e\u003dt(18);n.exports\u003dfunction(t,n){if(\"number\"!\u003dtypeof t\u0026\u0026\"Number\"!\u003de(t))throw TypeError(n);return+t}},{18:18}],5:[function(t,n,r){var e\u003dt(128)(\"unscopables\"),i\u003dArray.prototype;void 0\u003d\u003di[e]\u0026\u0026t(42)(i,e,{}),n.exports\u003dfunction(t){i[e][t]\u003d!0}},{128:128,42:42}],6:[function(t,n,r){n.exports\u003dfunction(t,n,r,e){if(!(t instanceof n)||void 0!\u003d\u003de\u0026\u0026e in t)throw TypeError(r+\": incorrect invocation!\");return t}},{}],7:[function(t,n,r){var e\u003dt(51);n.exports\u003dfunction(t){if(!e(t))throw TypeError(t+\" is not an object!\");return t}},{51:51}],8:[function(t,n,r){\"use strict\";var e\u003dt(119),i\u003dt(114),o\u003dt(118);n.exports\u003d[].copyWithin||function copyWithin(t,n){var r\u003de(this),u\u003do(r.length),c\u003di(t,u),a\u003di(n,u),f\u003darguments.length\u003e2?arguments[2]:void 0,s\u003dMath.min((void 0\u003d\u003d\u003df?u:i(f,u))-a,u-c),l\u003d1;for(a\u003cc\u0026\u0026c\u003ca+s\u0026\u0026(l\u003d-1,a+\u003ds-1,c+\u003ds-1);s-- \u003e0;)a in r?r[c]\u003dr[a]:delete r[c],c+\u003dl,a+\u003dl;return r}},{114:114,118:118,119:119}],9:[function(t,n,r){\"use strict\";var e\u003dt(119),i\u003dt(114),o\u003dt(118);n.exports\u003dfunction fill(t){for(var n\u003de(this),r\u003do(n.length),u\u003darguments.length,c\u003di(u\u003e1?arguments[1]:void 0,r),a\u003du\u003e2?arguments[2]:void 0,f\u003dvoid 0\u003d\u003d\u003da?r:i(a,r);f\u003ec;)n[c++]\u003dt;return n}},{114:114,118:118,119:119}],10:[function(t,n,r){var e\u003dt(39);n.exports\u003dfunction(t,n){var r\u003d[];return e(t,!1,r.push,r,n),r}},{39:39}],11:[function(t,n,r){var e\u003dt(117),i\u003dt(118),o\u003dt(114);n.exports\u003dfunction(t){return function(n,r,u){var c,a\u003de(n),f\u003di(a.length),s\u003do(u,f);if(t\u0026\u0026r!\u003dr){for(;f\u003es;)if((c\u003da[s++])!\u003dc)return!0}else for(;f\u003es;s++)if((t||s in a)\u0026\u0026a[s]\u003d\u003d\u003dr)return t||s||0;return!t\u0026\u0026-1}}},{114:114,117:117,118:118}],12:[function(t,n,r){var e\u003dt(25),i\u003dt(47),o\u003dt(119),u\u003dt(118),c\u003dt(15);n.exports\u003dfunction(t,n){var r\u003d1\u003d\u003dt,a\u003d2\u003d\u003dt,f\u003d3\u003d\u003dt,s\u003d4\u003d\u003dt,l\u003d6\u003d\u003dt,h\u003d5\u003d\u003dt||l,v\u003dn||c;return function(n,c,p){for(var d,y,g\u003do(n),m\u003di(g),b\u003de(c,p,3),x\u003du(m.length),S\u003d0,w\u003dr?v(n,x):a?v(n,0):void 0;x\u003eS;S++)if((h||S in m)\u0026\u0026(d\u003dm[S],y\u003db(d,S,g),t))if(r)w[S]\u003dy;else if(y)switch(t){case 3:return!0;case 5:return d;case 6:return S;case 2:w.push(d)}else if(s)return!1;return l?-1:f||s?s:w}}},{118:118,119:119,15:15,25:25,47:47}],13:[function(t,n,r){var e\u003dt(3),i\u003dt(119),o\u003dt(47),u\u003dt(118);n.exports\u003dfunction(t,n,r,c,a){e(n);var f\u003di(t),s\u003do(f),l\u003du(f.length),h\u003da?l-1:0,v\u003da?-1:1;if(r\u003c2)for(;;){if(h in s){c\u003ds[h],h+\u003dv;break}if(h+\u003dv,a?h\u003c0:l\u003c\u003dh)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?h\u003e\u003d0:l\u003eh;h+\u003dv)h in s\u0026\u0026(c\u003dn(c,s[h],h,f));return c}},{118:118,119:119,3:3,47:47}],14:[function(t,n,r){var e\u003dt(51),i\u003dt(49),o\u003dt(128)(\"species\");n.exports\u003dfunction(t){var n;return i(t)\u0026\u0026(n\u003dt.constructor,\"function\"!\u003dtypeof n||n!\u003d\u003dArray\u0026\u0026!i(n.prototype)||(n\u003dvoid 0),e(n)\u0026\u0026null\u003d\u003d\u003d(n\u003dn[o])\u0026\u0026(n\u003dvoid 0)),void 0\u003d\u003d\u003dn?Array:n}},{128:128,49:49,51:51}],15:[function(t,n,r){var e\u003dt(14);n.exports\u003dfunction(t,n){return new(e(t))(n)}},{14:14}],16:[function(t,n,r){\"use strict\";var e\u003dt(3),i\u003dt(51),o\u003dt(46),u\u003d[].slice,c\u003d{},a\u003dfunction(t,n,r){if(!(n in c)){for(var e\u003d[],i\u003d0;i\u003cn;i++)e[i]\u003d\"a[\"+i+\"]\";c[n]\u003dFunction(\"F,a\",\"return new F(\"+e.join(\",\")+\")\")}return c[n](t,r)};n.exports\u003dFunction.bind||function bind(t){var n\u003de(this),r\u003du.call(arguments,1),c\u003dfunction(){var e\u003dr.concat(u.call(arguments));return this instanceof c?a(n,e.length,e):o(n,e,t)};return i(n.prototype)\u0026\u0026(c.prototype\u003dn.prototype),c}},{3:3,46:46,51:51}],17:[function(t,n,r){var e\u003dt(18),i\u003dt(128)(\"toStringTag\"),o\u003d\"Arguments\"\u003d\u003de(function(){return arguments}()),u\u003dfunction(t,n){try{return t[n]}catch(t){}};n.exports\u003dfunction(t){var n,r,c;return void 0\u003d\u003d\u003dt?\"Undefined\":null\u003d\u003d\u003dt?\"Null\":\"string\"\u003d\u003dtypeof(r\u003du(n\u003dObject(t),i))?r:o?e(n):\"Object\"\u003d\u003d(c\u003de(n))\u0026\u0026\"function\"\u003d\u003dtypeof n.callee?\"Arguments\":c}},{128:128,18:18}],18:[function(t,n,r){var e\u003d{}.toString;n.exports\u003dfunction(t){return e.call(t).slice(8,-1)}},{}],19:[function(t,n,r){\"use strict\";var e\u003dt(72).f,i\u003dt(71),o\u003dt(93),u\u003dt(25),c\u003dt(6),a\u003dt(39),f\u003dt(55),s\u003dt(57),l\u003dt(100),h\u003dt(29),v\u003dt(66).fastKey,p\u003dt(125),d\u003dh?\"_s\":\"size\",y\u003dfunction(t,n){var r,e\u003dv(n);if(\"F\"!\u003d\u003de)return t._i[e];for(r\u003dt._f;r;r\u003dr.n)if(r.k\u003d\u003dn)return r};n.exports\u003d{getConstructor:function(t,n,r,f){var s\u003dt(function(t,e){c(t,s,n,\"_i\"),t._t\u003dn,t._i\u003di(null),t._f\u003dvoid 0,t._l\u003dvoid 0,t[d]\u003d0,void 0!\u003de\u0026\u0026a(e,r,t[f],t)});return o(s.prototype,{clear:function clear(){for(var t\u003dp(this,n),r\u003dt._i,e\u003dt._f;e;e\u003de.n)e.r\u003d!0,e.p\u0026\u0026(e.p\u003de.p.n\u003dvoid 0),delete r[e.i];t._f\u003dt._l\u003dvoid 0,t[d]\u003d0},delete:function(t){var r\u003dp(this,n),e\u003dy(r,t);if(e){var i\u003de.n,o\u003de.p;delete r._i[e.i],e.r\u003d!0,o\u0026\u0026(o.n\u003di),i\u0026\u0026(i.p\u003do),r._f\u003d\u003de\u0026\u0026(r._f\u003di),r._l\u003d\u003de\u0026\u0026(r._l\u003do),r[d]--}return!!e},forEach:function forEach(t){p(this,n);for(var r,e\u003du(t,arguments.length\u003e1?arguments[1]:void 0,3);r\u003dr?r.n:this._f;)for(e(r.v,r.k,this);r\u0026\u0026r.r;)r\u003dr.p},has:function has(t){return!!y(p(this,n),t)}}),h\u0026\u0026e(s.prototype,\"size\",{get:function(){return p(this,n)[d]}}),s},def:function(t,n,r){var e,i,o\u003dy(t,n);return o?o.v\u003dr:(t._l\u003do\u003d{i:i\u003dv(n,!0),k:n,v:r,p:e\u003dt._l,n:void 0,r:!1},t._f||(t._f\u003do),e\u0026\u0026(e.n\u003do),t[d]++,\"F\"!\u003d\u003di\u0026\u0026(t._i[i]\u003do)),t},getEntry:y,setStrong:function(t,n,r){f(t,n,function(t,r){this._t\u003dp(t,n),this._k\u003dr,this._l\u003dvoid 0},function(){for(var t\u003dthis,n\u003dt._k,r\u003dt._l;r\u0026\u0026r.r;)r\u003dr.p;return t._t\u0026\u0026(t._l\u003dr\u003dr?r.n:t._t._f)?\"keys\"\u003d\u003dn?s(0,r.k):\"values\"\u003d\u003dn?s(0,r.v):s(0,[r.k,r.v]):(t._t\u003dvoid 0,s(1))},r?\"entries\":\"values\",!r,!0),l(n)}}},{100:100,125:125,25:25,29:29,39:39,55:55,57:57,6:6,66:66,71:71,72:72,93:93}],20:[function(t,n,r){var e\u003dt(17),i\u003dt(10);n.exports\u003dfunction(t){return function toJSON(){if(e(this)!\u003dt)throw TypeError(t+\"#toJSON isn\u0027t generic\");return i(this)}}},{10:10,17:17}],21:[function(t,n,r){\"use strict\";var e\u003dt(93),i\u003dt(66).getWeak,o\u003dt(7),u\u003dt(51),c\u003dt(6),a\u003dt(39),f\u003dt(12),s\u003dt(41),l\u003dt(125),h\u003df(5),v\u003df(6),p\u003d0,d\u003dfunction(t){return t._l||(t._l\u003dnew y)},y\u003dfunction(){this.a\u003d[]},g\u003dfunction(t,n){return h(t.a,function(t){return t[0]\u003d\u003d\u003dn})};y.prototype\u003d{get:function(t){var n\u003dg(this,t);if(n)return n[1]},has:function(t){return!!g(this,t)},set:function(t,n){var r\u003dg(this,t);r?r[1]\u003dn:this.a.push([t,n])},delete:function(t){var n\u003dv(this.a,function(n){return n[0]\u003d\u003d\u003dt});return~n\u0026\u0026this.a.splice(n,1),!!~n}},n.exports\u003d{getConstructor:function(t,n,r,o){var f\u003dt(function(t,e){c(t,f,n,\"_i\"),t._t\u003dn,t._i\u003dp++,t._l\u003dvoid 0,void 0!\u003de\u0026\u0026a(e,r,t[o],t)});return e(f.prototype,{delete:function(t){if(!u(t))return!1;var r\u003di(t);return!0\u003d\u003d\u003dr?d(l(this,n)).delete(t):r\u0026\u0026s(r,this._i)\u0026\u0026delete r[this._i]},has:function has(t){if(!u(t))return!1;var r\u003di(t);return!0\u003d\u003d\u003dr?d(l(this,n)).has(t):r\u0026\u0026s(r,this._i)}}),f},def:function(t,n,r){var e\u003di(o(n),!0);return!0\u003d\u003d\u003de?d(t).set(n,r):e[t._i]\u003dr,t},ufstore:d}},{12:12,125:125,39:39,41:41,51:51,6:6,66:66,7:7,93:93}],22:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(33),o\u003dt(94),u\u003dt(93),c\u003dt(66),a\u003dt(39),f\u003dt(6),s\u003dt(51),l\u003dt(35),h\u003dt(56),v\u003dt(101),p\u003dt(45);n.exports\u003dfunction(t,n,r,d,y,g){var m\u003de[t],b\u003dm,x\u003dy?\"set\":\"add\",S\u003db\u0026\u0026b.prototype,w\u003d{},_\u003dfunction(t){var n\u003dS[t];o(S,t,\"delete\"\u003d\u003dt?function(t){return!(g\u0026\u0026!s(t))\u0026\u0026n.call(this,0\u003d\u003d\u003dt?0:t)}:\"has\"\u003d\u003dt?function has(t){return!(g\u0026\u0026!s(t))\u0026\u0026n.call(this,0\u003d\u003d\u003dt?0:t)}:\"get\"\u003d\u003dt?function get(t){return g\u0026\u0026!s(t)?void 0:n.call(this,0\u003d\u003d\u003dt?0:t)}:\"add\"\u003d\u003dt?function add(t){return n.call(this,0\u003d\u003d\u003dt?0:t),this}:function set(t,r){return n.call(this,0\u003d\u003d\u003dt?0:t,r),this})};if(\"function\"\u003d\u003dtypeof b\u0026\u0026(g||S.forEach\u0026\u0026!l(function(){(new b).entries().next()}))){var E\u003dnew b,O\u003dE[x](g?{}:-0,1)!\u003dE,P\u003dl(function(){E.has(1)}),M\u003dh(function(t){new b(t)}),F\u003d!g\u0026\u0026l(function(){for(var t\u003dnew b,n\u003d5;n--;)t[x](n,n);return!t.has(-0)});M||(b\u003dn(function(n,r){f(n,b,t);var e\u003dp(new m,n,b);return void 0!\u003dr\u0026\u0026a(r,y,e[x],e),e}),b.prototype\u003dS,S.constructor\u003db),(P||F)\u0026\u0026(_(\"delete\"),_(\"has\"),y\u0026\u0026_(\"get\")),(F||O)\u0026\u0026_(x),g\u0026\u0026S.clear\u0026\u0026delete S.clear}else b\u003dd.getConstructor(n,t,y,x),u(b.prototype,r),c.NEED\u003d!0;return v(b,t),w[t]\u003db,i(i.G+i.W+i.F*(b!\u003dm),w),g||d.setStrong(b,t,y),b}},{101:101,33:33,35:35,39:39,40:40,45:45,51:51,56:56,6:6,66:66,93:93,94:94}],23:[function(t,n,r){var e\u003dn.exports\u003d{version:\"2.5.0\"};\"number\"\u003d\u003dtypeof __e\u0026\u0026(__e\u003de)},{}],24:[function(t,n,r){\"use strict\";var e\u003dt(72),i\u003dt(92);n.exports\u003dfunction(t,n,r){n in t?e.f(t,n,i(0,r)):t[n]\u003dr}},{72:72,92:92}],25:[function(t,n,r){var e\u003dt(3);n.exports\u003dfunction(t,n,r){if(e(t),void 0\u003d\u003d\u003dn)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,i){return t.call(n,r,e,i)}}return function(){return t.apply(n,arguments)}}},{3:3}],26:[function(t,n,r){\"use strict\";var e\u003dt(35),i\u003dDate.prototype.getTime,o\u003dDate.prototype.toISOString,u\u003dfunction(t){return t\u003e9?t:\"0\"+t};n.exports\u003de(function(){return\"0385-07-25T07:06:39.999Z\"!\u003do.call(new Date(-5e13-1))})||!e(function(){o.call(new Date(NaN))})?function toISOString(){if(!isFinite(i.call(this)))throw RangeError(\"Invalid time value\");var t\u003dthis,n\u003dt.getUTCFullYear(),r\u003dt.getUTCMilliseconds(),e\u003dn\u003c0?\"-\":n\u003e9999?\"+\":\"\";return e+(\"00000\"+Math.abs(n)).slice(e?-6:-4)+\"-\"+u(t.getUTCMonth()+1)+\"-\"+u(t.getUTCDate())+\"T\"+u(t.getUTCHours())+\":\"+u(t.getUTCMinutes())+\":\"+u(t.getUTCSeconds())+\".\"+(r\u003e99?r:\"0\"+u(r))+\"Z\"}:o},{35:35}],27:[function(t,n,r){\"use strict\";var e\u003dt(7),i\u003dt(120);n.exports\u003dfunction(t){if(\"string\"!\u003d\u003dt\u0026\u0026\"number\"!\u003d\u003dt\u0026\u0026\"default\"!\u003d\u003dt)throw TypeError(\"Incorrect hint\");return i(e(this),\"number\"!\u003dt)}},{120:120,7:7}],28:[function(t,n,r){n.exports\u003dfunction(t){if(void 0\u003d\u003dt)throw TypeError(\"Can\u0027t call method on \"+t);return t}},{}],29:[function(t,n,r){n.exports\u003d!t(35)(function(){return 7!\u003dObject.defineProperty({},\"a\",{get:function(){return 7}}).a})},{35:35}],30:[function(t,n,r){var e\u003dt(51),i\u003dt(40).document,o\u003de(i)\u0026\u0026e(i.createElement);n.exports\u003dfunction(t){return o?i.createElement(t):{}}},{40:40,51:51}],31:[function(t,n,r){n.exports\u003d\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},{}],32:[function(t,n,r){var e\u003dt(81),i\u003dt(78),o\u003dt(82);n.exports\u003dfunction(t){var n\u003de(t),r\u003di.f;if(r)for(var u,c\u003dr(t),a\u003do.f,f\u003d0;c.length\u003ef;)a.call(t,u\u003dc[f++])\u0026\u0026n.push(u);return n}},{78:78,81:81,82:82}],33:[function(t,n,r){var e\u003dt(40),i\u003dt(23),o\u003dt(42),u\u003dt(94),c\u003dt(25),a\u003dfunction(t,n,r){var f,s,l,h,v\u003dt\u0026a.F,p\u003dt\u0026a.G,d\u003dt\u0026a.S,y\u003dt\u0026a.P,g\u003dt\u0026a.B,m\u003dp?e:d?e[n]||(e[n]\u003d{}):(e[n]||{}).prototype,b\u003dp?i:i[n]||(i[n]\u003d{}),x\u003db.prototype||(b.prototype\u003d{});p\u0026\u0026(r\u003dn);for(f in r)s\u003d!v\u0026\u0026m\u0026\u0026void 0!\u003d\u003dm[f],l\u003d(s?m:r)[f],h\u003dg\u0026\u0026s?c(l,e):y\u0026\u0026\"function\"\u003d\u003dtypeof l?c(Function.call,l):l,m\u0026\u0026u(m,f,l,t\u0026a.U),b[f]!\u003dl\u0026\u0026o(b,f,h),y\u0026\u0026x[f]!\u003dl\u0026\u0026(x[f]\u003dl)};e.core\u003di,a.F\u003d1,a.G\u003d2,a.S\u003d4,a.P\u003d8,a.B\u003d16,a.W\u003d32,a.U\u003d64,a.R\u003d128,n.exports\u003da},{23:23,25:25,40:40,42:42,94:94}],34:[function(t,n,r){var e\u003dt(128)(\"match\");n.exports\u003dfunction(t){var n\u003d/./;try{\"/./\"[t](n)}catch(r){try{return n[e]\u003d!1,!\"/./\"[t](n)}catch(t){}}return!0}},{128:128}],35:[function(t,n,r){n.exports\u003dfunction(t){try{return!!t()}catch(t){return!0}}},{}],36:[function(t,n,r){\"use strict\";var e\u003dt(42),i\u003dt(94),o\u003dt(35),u\u003dt(28),c\u003dt(128);n.exports\u003dfunction(t,n,r){var a\u003dc(t),f\u003dr(u,a,\"\"[t]),s\u003df[0],l\u003df[1];o(function(){var n\u003d{};return n[a]\u003dfunction(){return 7},7!\u003d\"\"[t](n)})\u0026\u0026(i(String.prototype,t,s),e(RegExp.prototype,a,2\u003d\u003dn?function(t,n){return l.call(t,this,n)}:function(t){return l.call(t,this)}))}},{128:128,28:28,35:35,42:42,94:94}],37:[function(t,n,r){\"use strict\";var e\u003dt(7);n.exports\u003dfunction(){var t\u003de(this),n\u003d\"\";return t.global\u0026\u0026(n+\u003d\"g\"),t.ignoreCase\u0026\u0026(n+\u003d\"i\"),t.multiline\u0026\u0026(n+\u003d\"m\"),t.unicode\u0026\u0026(n+\u003d\"u\"),t.sticky\u0026\u0026(n+\u003d\"y\"),n}},{7:7}],38:[function(t,n,r){\"use strict\";function flattenIntoArray(t,n,r,a,f,s,l,h){for(var v,p,d\u003df,y\u003d0,g\u003d!!l\u0026\u0026u(l,h,3);y\u003ca;){if(y in r){if(v\u003dg?g(r[y],y,n):r[y],p\u003d!1,i(v)\u0026\u0026(p\u003dv[c],p\u003dvoid 0!\u003d\u003dp?!!p:e(v)),p\u0026\u0026s\u003e0)d\u003dflattenIntoArray(t,n,v,o(v.length),d,s-1)-1;else{if(d\u003e\u003d9007199254740991)throw TypeError();t[d]\u003dv}d++}y++}return d}var e\u003dt(49),i\u003dt(51),o\u003dt(118),u\u003dt(25),c\u003dt(128)(\"isConcatSpreadable\");n.exports\u003dflattenIntoArray},{118:118,128:128,25:25,49:49,51:51}],39:[function(t,n,r){var e\u003dt(25),i\u003dt(53),o\u003dt(48),u\u003dt(7),c\u003dt(118),a\u003dt(129),f\u003d{},s\u003d{},r\u003dn.exports\u003dfunction(t,n,r,l,h){var v,p,d,y,g\u003dh?function(){return t}:a(t),m\u003de(r,l,n?2:1),b\u003d0;if(\"function\"!\u003dtypeof g)throw TypeError(t+\" is not iterable!\");if(o(g)){for(v\u003dc(t.length);v\u003eb;b++)if((y\u003dn?m(u(p\u003dt[b])[0],p[1]):m(t[b]))\u003d\u003d\u003df||y\u003d\u003d\u003ds)return y}else for(d\u003dg.call(t);!(p\u003dd.next()).done;)if((y\u003di(d,m,p.value,n))\u003d\u003d\u003df||y\u003d\u003d\u003ds)return y};r.BREAK\u003df,r.RETURN\u003ds},{118:118,129:129,25:25,48:48,53:53,7:7}],40:[function(t,n,r){var e\u003dn.exports\u003d\"undefined\"!\u003dtypeof window\u0026\u0026window.Math\u003d\u003dMath?window:\"undefined\"!\u003dtypeof self\u0026\u0026self.Math\u003d\u003dMath?self:Function(\"return this\")();\"number\"\u003d\u003dtypeof __g\u0026\u0026(__g\u003de)},{}],41:[function(t,n,r){var e\u003d{}.hasOwnProperty;n.exports\u003dfunction(t,n){return e.call(t,n)}},{}],42:[function(t,n,r){var e\u003dt(72),i\u003dt(92);n.exports\u003dt(29)?function(t,n,r){return e.f(t,n,i(1,r))}:function(t,n,r){return t[n]\u003dr,t}},{29:29,72:72,92:92}],43:[function(t,n,r){var e\u003dt(40).document;n.exports\u003de\u0026\u0026e.documentElement},{40:40}],44:[function(t,n,r){n.exports\u003d!t(29)\u0026\u0026!t(35)(function(){return 7!\u003dObject.defineProperty(t(30)(\"div\"),\"a\",{get:function(){return 7}}).a})},{29:29,30:30,35:35}],45:[function(t,n,r){var e\u003dt(51),i\u003dt(99).set;n.exports\u003dfunction(t,n,r){var o,u\u003dn.constructor;return u!\u003d\u003dr\u0026\u0026\"function\"\u003d\u003dtypeof u\u0026\u0026(o\u003du.prototype)!\u003d\u003dr.prototype\u0026\u0026e(o)\u0026\u0026i\u0026\u0026i(t,o),t}},{51:51,99:99}],46:[function(t,n,r){n.exports\u003dfunction(t,n,r){var e\u003dvoid 0\u003d\u003d\u003dr;switch(n.length){case 0:return e?t():t.call(r);case 1:return e?t(n[0]):t.call(r,n[0]);case 2:return e?t(n[0],n[1]):t.call(r,n[0],n[1]);case 3:return e?t(n[0],n[1],n[2]):t.call(r,n[0],n[1],n[2]);case 4:return e?t(n[0],n[1],n[2],n[3]):t.call(r,n[0],n[1],n[2],n[3])}return t.apply(r,n)}},{}],47:[function(t,n,r){var e\u003dt(18);n.exports\u003dObject(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"\u003d\u003de(t)?t.split(\"\"):Object(t)}},{18:18}],48:[function(t,n,r){var e\u003dt(58),i\u003dt(128)(\"iterator\"),o\u003dArray.prototype;n.exports\u003dfunction(t){return void 0!\u003d\u003dt\u0026\u0026(e.Array\u003d\u003d\u003dt||o[i]\u003d\u003d\u003dt)}},{128:128,58:58}],49:[function(t,n,r){var e\u003dt(18);n.exports\u003dArray.isArray||function isArray(t){return\"Array\"\u003d\u003de(t)}},{18:18}],50:[function(t,n,r){var e\u003dt(51),i\u003dMath.floor;n.exports\u003dfunction isInteger(t){return!e(t)\u0026\u0026isFinite(t)\u0026\u0026i(t)\u003d\u003d\u003dt}},{51:51}],51:[function(t,n,r){n.exports\u003dfunction(t){return\"object\"\u003d\u003dtypeof t?null!\u003d\u003dt:\"function\"\u003d\u003dtypeof t}},{}],52:[function(t,n,r){var e\u003dt(51),i\u003dt(18),o\u003dt(128)(\"match\");n.exports\u003dfunction(t){var n;return e(t)\u0026\u0026(void 0!\u003d\u003d(n\u003dt[o])?!!n:\"RegExp\"\u003d\u003di(t))}},{128:128,18:18,51:51}],53:[function(t,n,r){var e\u003dt(7);n.exports\u003dfunction(t,n,r,i){try{return i?n(e(r)[0],r[1]):n(r)}catch(n){var o\u003dt.return;throw void 0!\u003d\u003do\u0026\u0026e(o.call(t)),n}}},{7:7}],54:[function(t,n,r){\"use strict\";var e\u003dt(71),i\u003dt(92),o\u003dt(101),u\u003d{};t(42)(u,t(128)(\"iterator\"),function(){return this}),n.exports\u003dfunction(t,n,r){t.prototype\u003de(u,{next:i(1,r)}),o(t,n+\" Iterator\")}},{101:101,128:128,42:42,71:71,92:92}],55:[function(t,n,r){\"use strict\";var e\u003dt(60),i\u003dt(33),o\u003dt(94),u\u003dt(42),c\u003dt(41),a\u003dt(58),f\u003dt(54),s\u003dt(101),l\u003dt(79),h\u003dt(128)(\"iterator\"),v\u003d!([].keys\u0026\u0026\"next\"in[].keys()),p\u003dfunction(){return this};n.exports\u003dfunction(t,n,r,d,y,g,m){f(r,n,d);var b,x,S,w\u003dfunction(t){if(!v\u0026\u0026t in P)return P[t];switch(t){case\"keys\":return function keys(){return new r(this,t)};case\"values\":return function values(){return new r(this,t)}}return function entries(){return new r(this,t)}},_\u003dn+\" Iterator\",E\u003d\"values\"\u003d\u003dy,O\u003d!1,P\u003dt.prototype,M\u003dP[h]||P[\"@@iterator\"]||y\u0026\u0026P[y],F\u003dM||w(y),I\u003dy?E?w(\"entries\"):F:void 0,A\u003d\"Array\"\u003d\u003dn?P.entries||M:M;if(A\u0026\u0026(S\u003dl(A.call(new t)))!\u003d\u003dObject.prototype\u0026\u0026S.next\u0026\u0026(s(S,_,!0),e||c(S,h)||u(S,h,p)),E\u0026\u0026M\u0026\u0026\"values\"!\u003d\u003dM.name\u0026\u0026(O\u003d!0,F\u003dfunction values(){return M.call(this)}),e\u0026\u0026!m||!v\u0026\u0026!O\u0026\u0026P[h]||u(P,h,F),a[n]\u003dF,a[_]\u003dp,y)if(b\u003d{values:E?F:w(\"values\"),keys:g?F:w(\"keys\"),entries:I},m)for(x in b)x in P||o(P,x,b[x]);else i(i.P+i.F*(v||O),n,b);return b}},{101:101,128:128,33:33,41:41,42:42,54:54,58:58,60:60,79:79,94:94}],56:[function(t,n,r){var e\u003dt(128)(\"iterator\"),i\u003d!1;try{var o\u003d[7][e]();o.return\u003dfunction(){i\u003d!0},Array.from(o,function(){throw 2})}catch(t){}n.exports\u003dfunction(t,n){if(!n\u0026\u0026!i)return!1;var r\u003d!1;try{var o\u003d[7],u\u003do[e]();u.next\u003dfunction(){return{done:r\u003d!0}},o[e]\u003dfunction(){return u},t(o)}catch(t){}return r}},{128:128}],57:[function(t,n,r){n.exports\u003dfunction(t,n){return{value:n,done:!!t}}},{}],58:[function(t,n,r){n.exports\u003d{}},{}],59:[function(t,n,r){var e\u003dt(81),i\u003dt(117);n.exports\u003dfunction(t,n){for(var r,o\u003di(t),u\u003de(o),c\u003du.length,a\u003d0;c\u003ea;)if(o[r\u003du[a++]]\u003d\u003d\u003dn)return r}},{117:117,81:81}],60:[function(t,n,r){n.exports\u003d!1},{}],61:[function(t,n,r){var e\u003dMath.expm1;n.exports\u003d!e||e(10)\u003e22025.465794806718||e(10)\u003c22025.465794806718||-2e-17!\u003de(-2e-17)?function expm1(t){return 0\u003d\u003d(t\u003d+t)?t:t\u003e-1e-6\u0026\u0026t\u003c1e-6?t+t*t/2:Math.exp(t)-1}:e},{}],62:[function(t,n,r){var e\u003dt(65),i\u003dMath.pow,o\u003di(2,-52),u\u003di(2,-23),c\u003di(2,127)*(2-u),a\u003di(2,-126),f\u003dfunction(t){return t+1/o-1/o};n.exports\u003dMath.fround||function fround(t){var n,r,i\u003dMath.abs(t),s\u003de(t);return i\u003ca?s*f(i/a/u)*a*u:(n\u003d(1+u/o)*i,r\u003dn-(n-i),r\u003ec||r!\u003dr?s*(1/0):s*r)}},{65:65}],63:[function(t,n,r){n.exports\u003dMath.log1p||function log1p(t){return(t\u003d+t)\u003e-1e-8\u0026\u0026t\u003c1e-8?t-t*t/2:Math.log(1+t)}},{}],64:[function(t,n,r){n.exports\u003dMath.scale||function scale(t,n,r,e,i){return 0\u003d\u003d\u003darguments.length||t!\u003dt||n!\u003dn||r!\u003dr||e!\u003de||i!\u003di?NaN:t\u003d\u003d\u003d1/0||t\u003d\u003d\u003d-1/0?t:(t-n)*(i-e)/(r-n)+e}},{}],65:[function(t,n,r){n.exports\u003dMath.sign||function sign(t){return 0\u003d\u003d(t\u003d+t)||t!\u003dt?t:t\u003c0?-1:1}},{}],66:[function(t,n,r){var e\u003dt(124)(\"meta\"),i\u003dt(51),o\u003dt(41),u\u003dt(72).f,c\u003d0,a\u003dObject.isExtensible||function(){return!0},f\u003d!t(35)(function(){return a(Object.preventExtensions({}))}),s\u003dfunction(t){u(t,e,{value:{i:\"O\"+ ++c,w:{}}})},l\u003dfunction(t,n){if(!i(t))return\"symbol\"\u003d\u003dtypeof t?t:(\"string\"\u003d\u003dtypeof t?\"S\":\"P\")+t;if(!o(t,e)){if(!a(t))return\"F\";if(!n)return\"E\";s(t)}return t[e].i},h\u003dfunction(t,n){if(!o(t,e)){if(!a(t))return!0;if(!n)return!1;s(t)}return t[e].w},v\u003dfunction(t){return f\u0026\u0026p.NEED\u0026\u0026a(t)\u0026\u0026!o(t,e)\u0026\u0026s(t),t},p\u003dn.exports\u003d{KEY:e,NEED:!1,fastKey:l,getWeak:h,onFreeze:v}},{124:124,35:35,41:41,51:51,72:72}],67:[function(t,n,r){var e\u003dt(160),i\u003dt(33),o\u003dt(103)(\"metadata\"),u\u003do.store||(o.store\u003dnew(t(266))),c\u003dfunction(t,n,r){var i\u003du.get(t);if(!i){if(!r)return;u.set(t,i\u003dnew e)}var o\u003di.get(n);if(!o){if(!r)return;i.set(n,o\u003dnew e)}return o},a\u003dfunction(t,n,r){var e\u003dc(n,r,!1);return void 0!\u003d\u003de\u0026\u0026e.has(t)},f\u003dfunction(t,n,r){var e\u003dc(n,r,!1);return void 0\u003d\u003d\u003de?void 0:e.get(t)},s\u003dfunction(t,n,r,e){c(r,e,!0).set(t,n)},l\u003dfunction(t,n){var r\u003dc(t,n,!1),e\u003d[];return r\u0026\u0026r.forEach(function(t,n){e.push(n)}),e},h\u003dfunction(t){return void 0\u003d\u003d\u003dt||\"symbol\"\u003d\u003dtypeof t?t:String(t)},v\u003dfunction(t){i(i.S,\"Reflect\",t)};n.exports\u003d{store:u,map:c,has:a,get:f,set:s,keys:l,key:h,exp:v}},{103:103,160:160,266:266,33:33}],68:[function(t,n,r){var e\u003dt(40),i\u003dt(113).set,o\u003de.MutationObserver||e.WebKitMutationObserver,u\u003de.process,c\u003de.Promise,a\u003d\"process\"\u003d\u003dt(18)(u);n.exports\u003dfunction(){var t,n,r,f\u003dfunction(){var e,i;for(a\u0026\u0026(e\u003du.domain)\u0026\u0026e.exit();t;){i\u003dt.fn,t\u003dt.next;try{i()}catch(e){throw t?r():n\u003dvoid 0,e}}n\u003dvoid 0,e\u0026\u0026e.enter()};if(a)r\u003dfunction(){u.nextTick(f)};else if(o){var s\u003d!0,l\u003ddocument.createTextNode(\"\");new o(f).observe(l,{characterData:!0}),r\u003dfunction(){l.data\u003ds\u003d!s}}else if(c\u0026\u0026c.resolve){var h\u003dc.resolve();r\u003dfunction(){h.then(f)}}else r\u003dfunction(){i.call(e,f)};return function(e){var i\u003d{fn:e,next:void 0};n\u0026\u0026(n.next\u003di),t||(t\u003di,r()),n\u003di}}},{113:113,18:18,40:40}],69:[function(t,n,r){\"use strict\";function PromiseCapability(t){var n,r;this.promise\u003dnew t(function(t,e){if(void 0!\u003d\u003dn||void 0!\u003d\u003dr)throw TypeError(\"Bad Promise constructor\");n\u003dt,r\u003de}),this.resolve\u003de(n),this.reject\u003de(r)}var e\u003dt(3);n.exports.f\u003dfunction(t){return new PromiseCapability(t)}},{3:3}],70:[function(t,n,r){\"use strict\";var e\u003dt(81),i\u003dt(78),o\u003dt(82),u\u003dt(119),c\u003dt(47),a\u003dObject.assign;n.exports\u003d!a||t(35)(function(){var t\u003d{},n\u003d{},r\u003dSymbol(),e\u003d\"abcdefghijklmnopqrst\";return t[r]\u003d7,e.split(\"\").forEach(function(t){n[t]\u003dt}),7!\u003da({},t)[r]||Object.keys(a({},n)).join(\"\")!\u003de})?function assign(t,n){for(var r\u003du(t),a\u003darguments.length,f\u003d1,s\u003di.f,l\u003do.f;a\u003ef;)for(var h,v\u003dc(arguments[f++]),p\u003ds?e(v).concat(s(v)):e(v),d\u003dp.length,y\u003d0;d\u003ey;)l.call(v,h\u003dp[y++])\u0026\u0026(r[h]\u003dv[h]);return r}:a},{119:119,35:35,47:47,78:78,81:81,82:82}],71:[function(t,n,r){var e\u003dt(7),i\u003dt(73),o\u003dt(31),u\u003dt(102)(\"IE_PROTO\"),c\u003dfunction(){},a\u003dfunction(){var n,r\u003dt(30)(\"iframe\"),e\u003do.length;for(r.style.display\u003d\"none\",t(43).appendChild(r),r.src\u003d\"javascript:\",n\u003dr.contentWindow.document,n.open(),n.write(\"\u003cscript\u003edocument.F\u003dObject\u003c\\/script\u003e\"),n.close(),a\u003dn.F;e--;)delete a.prototype[o[e]];return a()};n.exports\u003dObject.create||function create(t,n){var r;return null!\u003d\u003dt?(c.prototype\u003de(t),r\u003dnew c,c.prototype\u003dnull,r[u]\u003dt):r\u003da(),void 0\u003d\u003d\u003dn?r:i(r,n)}},{102:102,30:30,31:31,43:43,7:7,73:73}],72:[function(t,n,r){var e\u003dt(7),i\u003dt(44),o\u003dt(120),u\u003dObject.defineProperty;r.f\u003dt(29)?Object.defineProperty:function defineProperty(t,n,r){if(e(t),n\u003do(n,!0),e(r),i)try{return u(t,n,r)}catch(t){}if(\"get\"in r||\"set\"in r)throw TypeError(\"Accessors not supported!\");return\"value\"in r\u0026\u0026(t[n]\u003dr.value),t}},{120:120,29:29,44:44,7:7}],73:[function(t,n,r){var e\u003dt(72),i\u003dt(7),o\u003dt(81);n.exports\u003dt(29)?Object.defineProperties:function defineProperties(t,n){i(t);for(var r,u\u003do(n),c\u003du.length,a\u003d0;c\u003ea;)e.f(t,r\u003du[a++],n[r]);return t}},{29:29,7:7,72:72,81:81}],74:[function(t,n,r){\"use strict\";n.exports\u003dt(60)||!t(35)(function(){var n\u003dMath.random();__defineSetter__.call(null,n,function(){}),delete t(40)[n]})},{35:35,40:40,60:60}],75:[function(t,n,r){var e\u003dt(82),i\u003dt(92),o\u003dt(117),u\u003dt(120),c\u003dt(41),a\u003dt(44),f\u003dObject.getOwnPropertyDescriptor;r.f\u003dt(29)?f:function getOwnPropertyDescriptor(t,n){if(t\u003do(t),n\u003du(n,!0),a)try{return f(t,n)}catch(t){}if(c(t,n))return i(!e.f.call(t,n),t[n])}},{117:117,120:120,29:29,41:41,44:44,82:82,92:92}],76:[function(t,n,r){var e\u003dt(117),i\u003dt(77).f,o\u003d{}.toString,u\u003d\"object\"\u003d\u003dtypeof window\u0026\u0026window\u0026\u0026Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c\u003dfunction(t){try{return i(t)}catch(t){return u.slice()}};n.exports.f\u003dfunction getOwnPropertyNames(t){return u\u0026\u0026\"[object Window]\"\u003d\u003do.call(t)?c(t):i(e(t))}},{117:117,77:77}],77:[function(t,n,r){var e\u003dt(80),i\u003dt(31).concat(\"length\",\"prototype\");r.f\u003dObject.getOwnPropertyNames||function getOwnPropertyNames(t){return e(t,i)}},{31:31,80:80}],78:[function(t,n,r){r.f\u003dObject.getOwnPropertySymbols},{}],79:[function(t,n,r){var e\u003dt(41),i\u003dt(119),o\u003dt(102)(\"IE_PROTO\"),u\u003dObject.prototype;n.exports\u003dObject.getPrototypeOf||function(t){return t\u003di(t),e(t,o)?t[o]:\"function\"\u003d\u003dtypeof t.constructor\u0026\u0026t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},{102:102,119:119,41:41}],80:[function(t,n,r){var e\u003dt(41),i\u003dt(117),o\u003dt(11)(!1),u\u003dt(102)(\"IE_PROTO\");n.exports\u003dfunction(t,n){var r,c\u003di(t),a\u003d0,f\u003d[];for(r in c)r!\u003du\u0026\u0026e(c,r)\u0026\u0026f.push(r);for(;n.length\u003ea;)e(c,r\u003dn[a++])\u0026\u0026(~o(f,r)||f.push(r));return f}},{102:102,11:11,117:117,41:41}],81:[function(t,n,r){var e\u003dt(80),i\u003dt(31);n.exports\u003dObject.keys||function keys(t){return e(t,i)}},{31:31,80:80}],82:[function(t,n,r){r.f\u003d{}.propertyIsEnumerable},{}],83:[function(t,n,r){var e\u003dt(33),i\u003dt(23),o\u003dt(35);n.exports\u003dfunction(t,n){var r\u003d(i.Object||{})[t]||Object[t],u\u003d{};u[t]\u003dn(r),e(e.S+e.F*o(function(){r(1)}),\"Object\",u)}},{23:23,33:33,35:35}],84:[function(t,n,r){var e\u003dt(81),i\u003dt(117),o\u003dt(82).f;n.exports\u003dfunction(t){return function(n){for(var r,u\u003di(n),c\u003de(u),a\u003dc.length,f\u003d0,s\u003d[];a\u003ef;)o.call(u,r\u003dc[f++])\u0026\u0026s.push(t?[r,u[r]]:u[r]);return s}}},{117:117,81:81,82:82}],85:[function(t,n,r){var e\u003dt(77),i\u003dt(78),o\u003dt(7),u\u003dt(40).Reflect;n.exports\u003du\u0026\u0026u.ownKeys||function ownKeys(t){var n\u003de.f(o(t)),r\u003di.f;return r?n.concat(r(t)):n}},{40:40,7:7,77:77,78:78}],86:[function(t,n,r){var e\u003dt(40).parseFloat,i\u003dt(111).trim;n.exports\u003d1/e(t(112)+\"-0\")!\u003d-1/0?function parseFloat(t){var n\u003di(String(t),3),r\u003de(n);return 0\u003d\u003d\u003dr\u0026\u0026\"-\"\u003d\u003dn.charAt(0)?-0:r}:e},{111:111,112:112,40:40}],87:[function(t,n,r){var e\u003dt(40).parseInt,i\u003dt(111).trim,o\u003dt(112),u\u003d/^[-+]?0[xX]/;n.exports\u003d8!\u003d\u003de(o+\"08\")||22!\u003d\u003de(o+\"0x16\")?function parseInt(t,n){var r\u003di(String(t),3);return e(r,n\u003e\u003e\u003e0||(u.test(r)?16:10))}:e},{111:111,112:112,40:40}],88:[function(t,n,r){\"use strict\";var e\u003dt(89),i\u003dt(46),o\u003dt(3);n.exports\u003dfunction(){for(var t\u003do(this),n\u003darguments.length,r\u003dArray(n),u\u003d0,c\u003de._,a\u003d!1;n\u003eu;)(r[u]\u003darguments[u++])\u003d\u003d\u003dc\u0026\u0026(a\u003d!0);return function(){var e,o\u003dthis,u\u003darguments.length,f\u003d0,s\u003d0;if(!a\u0026\u0026!u)return i(t,r,o);if(e\u003dr.slice(),a)for(;n\u003ef;f++)e[f]\u003d\u003d\u003dc\u0026\u0026(e[f]\u003darguments[s++]);for(;u\u003es;)e.push(arguments[s++]);return i(t,e,o)}}},{3:3,46:46,89:89}],89:[function(t,n,r){n.exports\u003dt(40)},{40:40}],90:[function(t,n,r){n.exports\u003dfunction(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},{}],91:[function(t,n,r){var e\u003dt(69);n.exports\u003dfunction(t,n){var r\u003de.f(t);return(0,r.resolve)(n),r.promise}},{69:69}],92:[function(t,n,r){n.exports\u003dfunction(t,n){return{enumerable:!(1\u0026t),configurable:!(2\u0026t),writable:!(4\u0026t),value:n}}},{}],93:[function(t,n,r){var e\u003dt(94);n.exports\u003dfunction(t,n,r){for(var i in n)e(t,i,n[i],r);return t}},{94:94}],94:[function(t,n,r){var e\u003dt(40),i\u003dt(42),o\u003dt(41),u\u003dt(124)(\"src\"),c\u003dFunction.toString,a\u003d(\"\"+c).split(\"toString\");t(23).inspectSource\u003dfunction(t){return c.call(t)},(n.exports\u003dfunction(t,n,r,c){var f\u003d\"function\"\u003d\u003dtypeof r;f\u0026\u0026(o(r,\"name\")||i(r,\"name\",n)),t[n]!\u003d\u003dr\u0026\u0026(f\u0026\u0026(o(r,u)||i(r,u,t[n]?\"\"+t[n]:a.join(String(n)))),t\u003d\u003d\u003de?t[n]\u003dr:c?t[n]?t[n]\u003dr:i(t,n,r):(delete t[n],i(t,n,r)))})(Function.prototype,\"toString\",function toString(){return\"function\"\u003d\u003dtypeof this\u0026\u0026this[u]||c.call(this)})},{124:124,23:23,40:40,41:41,42:42}],95:[function(t,n,r){n.exports\u003dfunction(t,n){var r\u003dn\u003d\u003d\u003dObject(n)?function(t){return n[t]}:n;return function(n){return String(n).replace(t,r)}}},{}],96:[function(t,n,r){n.exports\u003dObject.is||function is(t,n){return t\u003d\u003d\u003dn?0!\u003d\u003dt||1/t\u003d\u003d1/n:t!\u003dt\u0026\u0026n!\u003dn}},{}],97:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(3),o\u003dt(25),u\u003dt(39);n.exports\u003dfunction(t){e(e.S,t,{from:function from(t){var n,r,e,c,a\u003darguments[1];return i(this),n\u003dvoid 0!\u003d\u003da,n\u0026\u0026i(a),void 0\u003d\u003dt?new this:(r\u003d[],n?(e\u003d0,c\u003do(a,arguments[2],2),u(t,!1,function(t){r.push(c(t,e++))})):u(t,!1,r.push,r),new this(r))}})}},{25:25,3:3,33:33,39:39}],98:[function(t,n,r){\"use strict\";var e\u003dt(33);n.exports\u003dfunction(t){e(e.S,t,{of:function of(){for(var t\u003darguments.length,n\u003dArray(t);t--;)n[t]\u003darguments[t];return new this(n)}})}},{33:33}],99:[function(t,n,r){var e\u003dt(51),i\u003dt(7),o\u003dfunction(t,n){if(i(t),!e(n)\u0026\u0026null!\u003d\u003dn)throw TypeError(n+\": can\u0027t set as prototype!\")};n.exports\u003d{set:Object.setPrototypeOf||(\"__proto__\"in{}?function(n,r,e){try{e\u003dt(25)(Function.call,t(75).f(Object.prototype,\"__proto__\").set,2),e(n,[]),r\u003d!(n instanceof Array)}catch(t){r\u003d!0}return function setPrototypeOf(t,n){return o(t,n),r?t.__proto__\u003dn:e(t,n),t}}({},!1):void 0),check:o}},{25:25,51:51,7:7,75:75}],100:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(72),o\u003dt(29),u\u003dt(128)(\"species\");n.exports\u003dfunction(t){var n\u003de[t];o\u0026\u0026n\u0026\u0026!n[u]\u0026\u0026i.f(n,u,{configurable:!0,get:function(){return this}})}},{128:128,29:29,40:40,72:72}],101:[function(t,n,r){var e\u003dt(72).f,i\u003dt(41),o\u003dt(128)(\"toStringTag\");n.exports\u003dfunction(t,n,r){t\u0026\u0026!i(t\u003dr?t:t.prototype,o)\u0026\u0026e(t,o,{configurable:!0,value:n})}},{128:128,41:41,72:72}],102:[function(t,n,r){var e\u003dt(103)(\"keys\"),i\u003dt(124);n.exports\u003dfunction(t){return e[t]||(e[t]\u003di(t))}},{103:103,124:124}],103:[function(t,n,r){var e\u003dt(40),i\u003de[\"__core-js_shared__\"]||(e[\"__core-js_shared__\"]\u003d{});n.exports\u003dfunction(t){return i[t]||(i[t]\u003d{})}},{40:40}],104:[function(t,n,r){var e\u003dt(7),i\u003dt(3),o\u003dt(128)(\"species\");n.exports\u003dfunction(t,n){var r,u\u003de(t).constructor;return void 0\u003d\u003d\u003du||void 0\u003d\u003d(r\u003de(u)[o])?n:i(r)}},{128:128,3:3,7:7}],105:[function(t,n,r){\"use strict\";var e\u003dt(35);n.exports\u003dfunction(t,n){return!!t\u0026\u0026e(function(){n?t.call(null,function(){},1):t.call(null)})}},{35:35}],106:[function(t,n,r){var e\u003dt(116),i\u003dt(28);n.exports\u003dfunction(t){return function(n,r){var o,u,c\u003dString(i(n)),a\u003de(r),f\u003dc.length;return a\u003c0||a\u003e\u003df?t?\"\":void 0:(o\u003dc.charCodeAt(a),o\u003c55296||o\u003e56319||a+1\u003d\u003d\u003df||(u\u003dc.charCodeAt(a+1))\u003c56320||u\u003e57343?t?c.charAt(a):o:t?c.slice(a,a+2):u-56320+(o-55296\u003c\u003c10)+65536)}}},{116:116,28:28}],107:[function(t,n,r){var e\u003dt(52),i\u003dt(28);n.exports\u003dfunction(t,n,r){if(e(n))throw TypeError(\"String#\"+r+\" doesn\u0027t accept regex!\");return String(i(t))}},{28:28,52:52}],108:[function(t,n,r){var e\u003dt(33),i\u003dt(35),o\u003dt(28),u\u003d/\"/g,c\u003dfunction(t,n,r,e){var i\u003dString(o(t)),c\u003d\"\u003c\"+n;return\"\"!\u003d\u003dr\u0026\u0026(c+\u003d\" \"+r+\u0027\u003d\"\u0027+String(e).replace(u,\"\u0026quot;\")+\u0027\"\u0027),c+\"\u003e\"+i+\"\u003c/\"+n+\"\u003e\"};n.exports\u003dfunction(t,n){var r\u003d{};r[t]\u003dn(c),e(e.P+e.F*i(function(){var n\u003d\"\"[t](\u0027\"\u0027);return n!\u003d\u003dn.toLowerCase()||n.split(\u0027\"\u0027).length\u003e3}),\"String\",r)}},{28:28,33:33,35:35}],109:[function(t,n,r){var e\u003dt(118),i\u003dt(110),o\u003dt(28);n.exports\u003dfunction(t,n,r,u){var c\u003dString(o(t)),a\u003dc.length,f\u003dvoid 0\u003d\u003d\u003dr?\" \":String(r),s\u003de(n);if(s\u003c\u003da||\"\"\u003d\u003df)return c;var l\u003ds-a,h\u003di.call(f,Math.ceil(l/f.length));return h.length\u003el\u0026\u0026(h\u003dh.slice(0,l)),u?h+c:c+h}},{110:110,118:118,28:28}],110:[function(t,n,r){\"use strict\";var e\u003dt(116),i\u003dt(28);n.exports\u003dfunction repeat(t){var n\u003dString(i(this)),r\u003d\"\",o\u003de(t);if(o\u003c0||o\u003d\u003d1/0)throw RangeError(\"Count can\u0027t be negative\");for(;o\u003e0;(o\u003e\u003e\u003e\u003d1)\u0026\u0026(n+\u003dn))1\u0026o\u0026\u0026(r+\u003dn);return r}},{116:116,28:28}],111:[function(t,n,r){var e\u003dt(33),i\u003dt(28),o\u003dt(35),u\u003dt(112),c\u003d\"[\"+u+\"]\",a\u003d\"​…\",f\u003dRegExp(\"^\"+c+c+\"*\"),s\u003dRegExp(c+c+\"*$\"),l\u003dfunction(t,n,r){var i\u003d{},c\u003do(function(){return!!u[t]()||a[t]()!\u003da}),f\u003di[t]\u003dc?n(h):u[t];r\u0026\u0026(i[r]\u003df),e(e.P+e.F*c,\"String\",i)},h\u003dl.trim\u003dfunction(t,n){return t\u003dString(i(t)),1\u0026n\u0026\u0026(t\u003dt.replace(f,\"\")),2\u0026n\u0026\u0026(t\u003dt.replace(s,\"\")),t};n.exports\u003dl},{112:112,28:28,33:33,35:35}],112:[function(t,n,r){n.exports\u003d\"\\t\\n\\v\\f\\r   ᠎              \\u2028\\u2029\\ufeff\"},{}],113:[function(t,n,r){var e,i,o,u\u003dt(25),c\u003dt(46),a\u003dt(43),f\u003dt(30),s\u003dt(40),l\u003ds.process,h\u003ds.setImmediate,v\u003ds.clearImmediate,p\u003ds.MessageChannel,d\u003ds.Dispatch,y\u003d0,g\u003d{},m\u003dfunction(){var t\u003d+this;if(g.hasOwnProperty(t)){var n\u003dg[t];delete g[t],n()}},b\u003dfunction(t){m.call(t.data)};h\u0026\u0026v||(h\u003dfunction setImmediate(t){for(var n\u003d[],r\u003d1;arguments.length\u003er;)n.push(arguments[r++]);return g[++y]\u003dfunction(){c(\"function\"\u003d\u003dtypeof t?t:Function(t),n)},e(y),y},v\u003dfunction clearImmediate(t){delete g[t]},\"process\"\u003d\u003dt(18)(l)?e\u003dfunction(t){l.nextTick(u(m,t,1))}:d\u0026\u0026d.now?e\u003dfunction(t){d.now(u(m,t,1))}:p?(i\u003dnew p,o\u003di.port2,i.port1.onmessage\u003db,e\u003du(o.postMessage,o,1)):s.addEventListener\u0026\u0026\"function\"\u003d\u003dtypeof postMessage\u0026\u0026!s.importScripts?(e\u003dfunction(t){s.postMessage(t+\"\",\"*\")},s.addEventListener(\"message\",b,!1)):e\u003d\"onreadystatechange\"in f(\"script\")?function(t){a.appendChild(f(\"script\")).onreadystatechange\u003dfunction(){a.removeChild(this),m.call(t)}}:function(t){setTimeout(u(m,t,1),0)}),n.exports\u003d{set:h,clear:v}},{18:18,25:25,30:30,40:40,43:43,46:46}],114:[function(t,n,r){var e\u003dt(116),i\u003dMath.max,o\u003dMath.min;n.exports\u003dfunction(t,n){return t\u003de(t),t\u003c0?i(t+n,0):o(t,n)}},{116:116}],115:[function(t,n,r){var e\u003dt(116),i\u003dt(118);n.exports\u003dfunction(t){if(void 0\u003d\u003d\u003dt)return 0;var n\u003de(t),r\u003di(n);if(n!\u003d\u003dr)throw RangeError(\"Wrong length!\");return r}},{116:116,118:118}],116:[function(t,n,r){var e\u003dMath.ceil,i\u003dMath.floor;n.exports\u003dfunction(t){return isNaN(t\u003d+t)?0:(t\u003e0?i:e)(t)}},{}],117:[function(t,n,r){var e\u003dt(47),i\u003dt(28);n.exports\u003dfunction(t){return e(i(t))}},{28:28,47:47}],118:[function(t,n,r){var e\u003dt(116),i\u003dMath.min;n.exports\u003dfunction(t){return t\u003e0?i(e(t),9007199254740991):0}},{116:116}],"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"119:[function(t,n,r){var e\u003dt(28);n.exports\u003dfunction(t){return Object(e(t))}},{28:28}],120:[function(t,n,r){var e\u003dt(51);n.exports\u003dfunction(t,n){if(!e(t))return t;var r,i;if(n\u0026\u0026\"function\"\u003d\u003dtypeof(r\u003dt.toString)\u0026\u0026!e(i\u003dr.call(t)))return i;if(\"function\"\u003d\u003dtypeof(r\u003dt.valueOf)\u0026\u0026!e(i\u003dr.call(t)))return i;if(!n\u0026\u0026\"function\"\u003d\u003dtypeof(r\u003dt.toString)\u0026\u0026!e(i\u003dr.call(t)))return i;throw TypeError(\"Can\u0027t convert object to primitive value\")}},{51:51}],121:[function(t,n,r){\"use strict\";if(t(29)){var e\u003dt(60),i\u003dt(40),o\u003dt(35),u\u003dt(33),c\u003dt(123),a\u003dt(122),f\u003dt(25),s\u003dt(6),l\u003dt(92),h\u003dt(42),v\u003dt(93),p\u003dt(116),d\u003dt(118),y\u003dt(115),g\u003dt(114),m\u003dt(120),b\u003dt(41),x\u003dt(17),S\u003dt(51),w\u003dt(119),_\u003dt(48),E\u003dt(71),O\u003dt(79),P\u003dt(77).f,M\u003dt(129),F\u003dt(124),I\u003dt(128),A\u003dt(12),k\u003dt(11),N\u003dt(104),j\u003dt(141),T\u003dt(58),R\u003dt(56),L\u003dt(100),G\u003dt(9),D\u003dt(8),C\u003dt(72),W\u003dt(75),U\u003dC.f,B\u003dW.f,V\u003di.RangeError,z\u003di.TypeError,q\u003di.Uint8Array,K\u003dArray.prototype,Y\u003da.ArrayBuffer,J\u003da.DataView,H\u003dA(0),X\u003dA(2),$\u003dA(3),Z\u003dA(4),Q\u003dA(5),tt\u003dA(6),nt\u003dk(!0),rt\u003dk(!1),et\u003dj.values,it\u003dj.keys,ot\u003dj.entries,ut\u003dK.lastIndexOf,ct\u003dK.reduce,at\u003dK.reduceRight,ft\u003dK.join,st\u003dK.sort,lt\u003dK.slice,ht\u003dK.toString,vt\u003dK.toLocaleString,pt\u003dI(\"iterator\"),dt\u003dI(\"toStringTag\"),yt\u003dF(\"typed_constructor\"),gt\u003dF(\"def_constructor\"),mt\u003dc.CONSTR,bt\u003dc.TYPED,xt\u003dc.VIEW,St\u003dA(1,function(t,n){return Pt(N(t,t[gt]),n)}),wt\u003do(function(){return 1\u003d\u003d\u003dnew q(new Uint16Array([1]).buffer)[0]}),_t\u003d!!q\u0026\u0026!!q.prototype.set\u0026\u0026o(function(){new q(1).set({})}),Et\u003dfunction(t,n){var r\u003dp(t);if(r\u003c0||r%n)throw V(\"Wrong offset!\");return r},Ot\u003dfunction(t){if(S(t)\u0026\u0026bt in t)return t;throw z(t+\" is not a typed array!\")},Pt\u003dfunction(t,n){if(!(S(t)\u0026\u0026yt in t))throw z(\"It is not a typed array constructor!\");return new t(n)},Mt\u003dfunction(t,n){return Ft(N(t,t[gt]),n)},Ft\u003dfunction(t,n){for(var r\u003d0,e\u003dn.length,i\u003dPt(t,e);e\u003er;)i[r]\u003dn[r++];return i},It\u003dfunction(t,n,r){U(t,n,{get:function(){return this._d[r]}})},At\u003dfunction from(t){var n,r,e,i,o,u,c\u003dw(t),a\u003darguments.length,s\u003da\u003e1?arguments[1]:void 0,l\u003dvoid 0!\u003d\u003ds,h\u003dM(c);if(void 0!\u003dh\u0026\u0026!_(h)){for(u\u003dh.call(c),e\u003d[],n\u003d0;!(o\u003du.next()).done;n++)e.push(o.value);c\u003de}for(l\u0026\u0026a\u003e2\u0026\u0026(s\u003df(s,arguments[2],2)),n\u003d0,r\u003dd(c.length),i\u003dPt(this,r);r\u003en;n++)i[n]\u003dl?s(c[n],n):c[n];return i},kt\u003dfunction of(){for(var t\u003d0,n\u003darguments.length,r\u003dPt(this,n);n\u003et;)r[t]\u003darguments[t++];return r},Nt\u003d!!q\u0026\u0026o(function(){vt.call(new q(1))}),jt\u003dfunction toLocaleString(){return vt.apply(Nt?lt.call(Ot(this)):Ot(this),arguments)},Tt\u003d{copyWithin:function copyWithin(t,n){return D.call(Ot(this),t,n,arguments.length\u003e2?arguments[2]:void 0)},every:function every(t){return Z(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},fill:function fill(t){return G.apply(Ot(this),arguments)},filter:function filter(t){return Mt(this,X(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0))},find:function find(t){return Q(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},findIndex:function findIndex(t){return tt(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},forEach:function forEach(t){H(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},indexOf:function indexOf(t){return rt(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},includes:function includes(t){return nt(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},join:function join(t){return ft.apply(Ot(this),arguments)},lastIndexOf:function lastIndexOf(t){return ut.apply(Ot(this),arguments)},map:function map(t){return St(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},reduce:function reduce(t){return ct.apply(Ot(this),arguments)},reduceRight:function reduceRight(t){return at.apply(Ot(this),arguments)},reverse:function reverse(){for(var t,n\u003dthis,r\u003dOt(n).length,e\u003dMath.floor(r/2),i\u003d0;i\u003ce;)t\u003dn[i],n[i++]\u003dn[--r],n[r]\u003dt;return n},some:function some(t){return $(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},sort:function sort(t){return st.call(Ot(this),t)},subarray:function subarray(t,n){var r\u003dOt(this),e\u003dr.length,i\u003dg(t,e);return new(N(r,r[gt]))(r.buffer,r.byteOffset+i*r.BYTES_PER_ELEMENT,d((void 0\u003d\u003d\u003dn?e:g(n,e))-i))}},Rt\u003dfunction slice(t,n){return Mt(this,lt.call(Ot(this),t,n))},Lt\u003dfunction set(t){Ot(this);var n\u003dEt(arguments[1],1),r\u003dthis.length,e\u003dw(t),i\u003dd(e.length),o\u003d0;if(i+n\u003er)throw V(\"Wrong length!\");for(;o\u003ci;)this[n+o]\u003de[o++]},Gt\u003d{entries:function entries(){return ot.call(Ot(this))},keys:function keys(){return it.call(Ot(this))},values:function values(){return et.call(Ot(this))}},Dt\u003dfunction(t,n){return S(t)\u0026\u0026t[bt]\u0026\u0026\"symbol\"!\u003dtypeof n\u0026\u0026n in t\u0026\u0026String(+n)\u003d\u003dString(n)},Ct\u003dfunction getOwnPropertyDescriptor(t,n){return Dt(t,n\u003dm(n,!0))?l(2,t[n]):B(t,n)},Wt\u003dfunction defineProperty(t,n,r){return!(Dt(t,n\u003dm(n,!0))\u0026\u0026S(r)\u0026\u0026b(r,\"value\"))||b(r,\"get\")||b(r,\"set\")||r.configurable||b(r,\"writable\")\u0026\u0026!r.writable||b(r,\"enumerable\")\u0026\u0026!r.enumerable?U(t,n,r):(t[n]\u003dr.value,t)};mt||(W.f\u003dCt,C.f\u003dWt),u(u.S+u.F*!mt,\"Object\",{getOwnPropertyDescriptor:Ct,defineProperty:Wt}),o(function(){ht.call({})})\u0026\u0026(ht\u003dvt\u003dfunction toString(){return ft.call(this)});var Ut\u003dv({},Tt);v(Ut,Gt),h(Ut,pt,Gt.values),v(Ut,{slice:Rt,set:Lt,constructor:function(){},toString:ht,toLocaleString:jt}),It(Ut,\"buffer\",\"b\"),It(Ut,\"byteOffset\",\"o\"),It(Ut,\"byteLength\",\"l\"),It(Ut,\"length\",\"e\"),U(Ut,dt,{get:function(){return this[bt]}}),n.exports\u003dfunction(t,n,r,a){a\u003d!!a;var f\u003dt+(a?\"Clamped\":\"\")+\"Array\",l\u003d\"get\"+t,v\u003d\"set\"+t,p\u003di[f],g\u003dp||{},m\u003dp\u0026\u0026O(p),b\u003d!p||!c.ABV,w\u003d{},_\u003dp\u0026\u0026p.prototype,M\u003dfunction(t,r){var e\u003dt._d;return e.v[l](r*n+e.o,wt)},F\u003dfunction(t,r,e){var i\u003dt._d;a\u0026\u0026(e\u003d(e\u003dMath.round(e))\u003c0?0:e\u003e255?255:255\u0026e),i.v[v](r*n+i.o,e,wt)},I\u003dfunction(t,n){U(t,n,{get:function(){return M(this,n)},set:function(t){return F(this,n,t)},enumerable:!0})};b?(p\u003dr(function(t,r,e,i){s(t,p,f,\"_d\");var o,u,c,a,l\u003d0,v\u003d0;if(S(r)){if(!(r instanceof Y||\"ArrayBuffer\"\u003d\u003d(a\u003dx(r))||\"SharedArrayBuffer\"\u003d\u003da))return bt in r?Ft(p,r):At.call(p,r);o\u003dr,v\u003dEt(e,n);var g\u003dr.byteLength;if(void 0\u003d\u003d\u003di){if(g%n)throw V(\"Wrong length!\");if((u\u003dg-v)\u003c0)throw V(\"Wrong length!\")}else if((u\u003dd(i)*n)+v\u003eg)throw V(\"Wrong length!\");c\u003du/n}else c\u003dy(r),u\u003dc*n,o\u003dnew Y(u);for(h(t,\"_d\",{b:o,o:v,l:u,e:c,v:new J(o)});l\u003cc;)I(t,l++)}),_\u003dp.prototype\u003dE(Ut),h(_,\"constructor\",p)):o(function(){p(1)})\u0026\u0026o(function(){new p(-1)})\u0026\u0026R(function(t){new p,new p(null),new p(1.5),new p(t)},!0)||(p\u003dr(function(t,r,e,i){s(t,p,f);var o;return S(r)?r instanceof Y||\"ArrayBuffer\"\u003d\u003d(o\u003dx(r))||\"SharedArrayBuffer\"\u003d\u003do?void 0!\u003d\u003di?new g(r,Et(e,n),i):void 0!\u003d\u003de?new g(r,Et(e,n)):new g(r):bt in r?Ft(p,r):At.call(p,r):new g(y(r))}),H(m!\u003d\u003dFunction.prototype?P(g).concat(P(m)):P(g),function(t){t in p||h(p,t,g[t])}),p.prototype\u003d_,e||(_.constructor\u003dp));var A\u003d_[pt],k\u003d!!A\u0026\u0026(\"values\"\u003d\u003dA.name||void 0\u003d\u003dA.name),N\u003dGt.values;h(p,yt,!0),h(_,bt,f),h(_,xt,!0),h(_,gt,p),(a?new p(1)[dt]\u003d\u003df:dt in _)||U(_,dt,{get:function(){return f}}),w[f]\u003dp,u(u.G+u.W+u.F*(p!\u003dg),w),u(u.S,f,{BYTES_PER_ELEMENT:n}),u(u.S+u.F*o(function(){g.of.call(p,1)}),f,{from:At,of:kt}),\"BYTES_PER_ELEMENT\"in _||h(_,\"BYTES_PER_ELEMENT\",n),u(u.P,f,Tt),L(f),u(u.P+u.F*_t,f,{set:Lt}),u(u.P+u.F*!k,f,Gt),e||_.toString\u003d\u003dht||(_.toString\u003dht),u(u.P+u.F*o(function(){new p(1).slice()}),f,{slice:Rt}),u(u.P+u.F*(o(function(){return[1,2].toLocaleString()!\u003dnew p([1,2]).toLocaleString()})||!o(function(){_.toLocaleString.call([1,2])})),f,{toLocaleString:jt}),T[f]\u003dk?A:N,e||k||h(_,pt,N)}}else n.exports\u003dfunction(){}},{100:100,104:104,11:11,114:114,115:115,116:116,118:118,119:119,12:12,120:120,122:122,123:123,124:124,128:128,129:129,141:141,17:17,25:25,29:29,33:33,35:35,40:40,41:41,42:42,48:48,51:51,56:56,58:58,6:6,60:60,71:71,72:72,75:75,77:77,79:79,8:8,9:9,92:92,93:93}],122:[function(t,n,r){\"use strict\";function packIEEE754(t,n,r){var e,i,o,u\u003dArray(r),c\u003d8*r-n-1,a\u003d(1\u003c\u003cc)-1,f\u003da\u003e\u003e1,s\u003d23\u003d\u003d\u003dn?M(2,-24)-M(2,-77):0,l\u003d0,h\u003dt\u003c0||0\u003d\u003d\u003dt\u0026\u00261/t\u003c0?1:0;for(t\u003dP(t),t!\u003dt||t\u003d\u003d\u003dE?(i\u003dt!\u003dt?1:0,e\u003da):(e\u003dF(I(t)/A),t*(o\u003dM(2,-e))\u003c1\u0026\u0026(e--,o*\u003d2),t+\u003de+f\u003e\u003d1?s/o:s*M(2,1-f),t*o\u003e\u003d2\u0026\u0026(e++,o/\u003d2),e+f\u003e\u003da?(i\u003d0,e\u003da):e+f\u003e\u003d1?(i\u003d(t*o-1)*M(2,n),e+\u003df):(i\u003dt*M(2,f-1)*M(2,n),e\u003d0));n\u003e\u003d8;u[l++]\u003d255\u0026i,i/\u003d256,n-\u003d8);for(e\u003de\u003c\u003cn|i,c+\u003dn;c\u003e0;u[l++]\u003d255\u0026e,e/\u003d256,c-\u003d8);return u[--l]|\u003d128*h,u}function unpackIEEE754(t,n,r){var e,i\u003d8*r-n-1,o\u003d(1\u003c\u003ci)-1,u\u003do\u003e\u003e1,c\u003di-7,a\u003dr-1,f\u003dt[a--],s\u003d127\u0026f;for(f\u003e\u003e\u003d7;c\u003e0;s\u003d256*s+t[a],a--,c-\u003d8);for(e\u003ds\u0026(1\u003c\u003c-c)-1,s\u003e\u003e\u003d-c,c+\u003dn;c\u003e0;e\u003d256*e+t[a],a--,c-\u003d8);if(0\u003d\u003d\u003ds)s\u003d1-u;else{if(s\u003d\u003d\u003do)return e?NaN:f?-E:E;e+\u003dM(2,n),s-\u003du}return(f?-1:1)*e*M(2,s-n)}function unpackI32(t){return t[3]\u003c\u003c24|t[2]\u003c\u003c16|t[1]\u003c\u003c8|t[0]}function packI8(t){return[255\u0026t]}function packI16(t){return[255\u0026t,t\u003e\u003e8\u0026255]}function packI32(t){return[255\u0026t,t\u003e\u003e8\u0026255,t\u003e\u003e16\u0026255,t\u003e\u003e24\u0026255]}function packF64(t){return packIEEE754(t,52,8)}function packF32(t){return packIEEE754(t,23,4)}function addGetter(t,n,r){d(t[m],n,{get:function(){return this[r]}})}function get(t,n,r,e){var i\u003d+r,o\u003dv(i);if(o+n\u003et[N])throw _(b);var u\u003dt[k]._b,c\u003do+t[j],a\u003du.slice(c,c+n);return e?a:a.reverse()}function set(t,n,r,e,i,o){var u\u003d+r,c\u003dv(u);if(c+n\u003et[N])throw _(b);for(var a\u003dt[k]._b,f\u003dc+t[j],s\u003de(+i),l\u003d0;l\u003cn;l++)a[f+l]\u003ds[o?l:n-l-1]}var e\u003dt(40),i\u003dt(29),o\u003dt(60),u\u003dt(123),c\u003dt(42),a\u003dt(93),f\u003dt(35),s\u003dt(6),l\u003dt(116),h\u003dt(118),v\u003dt(115),p\u003dt(77).f,d\u003dt(72).f,y\u003dt(9),g\u003dt(101),m\u003d\"prototype\",b\u003d\"Wrong index!\",x\u003de.ArrayBuffer,S\u003de.DataView,w\u003de.Math,_\u003de.RangeError,E\u003de.Infinity,O\u003dx,P\u003dw.abs,M\u003dw.pow,F\u003dw.floor,I\u003dw.log,A\u003dw.LN2,k\u003di?\"_b\":\"buffer\",N\u003di?\"_l\":\"byteLength\",j\u003di?\"_o\":\"byteOffset\";if(u.ABV){if(!f(function(){x(1)})||!f(function(){new x(-1)})||f(function(){return new x,new x(1.5),new x(NaN),\"ArrayBuffer\"!\u003dx.name})){x\u003dfunction ArrayBuffer(t){return s(this,x),new O(v(t))};for(var T,R\u003dx[m]\u003dO[m],L\u003dp(O),G\u003d0;L.length\u003eG;)(T\u003dL[G++])in x||c(x,T,O[T]);o||(R.constructor\u003dx)}var D\u003dnew S(new x(2)),C\u003dS[m].setInt8;D.setInt8(0,2147483648),D.setInt8(1,2147483649),!D.getInt8(0)\u0026\u0026D.getInt8(1)||a(S[m],{setInt8:function setInt8(t,n){C.call(this,t,n\u003c\u003c24\u003e\u003e24)},setUint8:function setUint8(t,n){C.call(this,t,n\u003c\u003c24\u003e\u003e24)}},!0)}else x\u003dfunction ArrayBuffer(t){s(this,x,\"ArrayBuffer\");var n\u003dv(t);this._b\u003dy.call(Array(n),0),this[N]\u003dn},S\u003dfunction DataView(t,n,r){s(this,S,\"DataView\"),s(t,x,\"DataView\");var e\u003dt[N],i\u003dl(n);if(i\u003c0||i\u003ee)throw _(\"Wrong offset!\");if(r\u003dvoid 0\u003d\u003d\u003dr?e-i:h(r),i+r\u003ee)throw _(\"Wrong length!\");this[k]\u003dt,this[j]\u003di,this[N]\u003dr},i\u0026\u0026(addGetter(x,\"byteLength\",\"_l\"),addGetter(S,\"buffer\",\"_b\"),addGetter(S,\"byteLength\",\"_l\"),addGetter(S,\"byteOffset\",\"_o\")),a(S[m],{getInt8:function getInt8(t){return get(this,1,t)[0]\u003c\u003c24\u003e\u003e24},getUint8:function getUint8(t){return get(this,1,t)[0]},getInt16:function getInt16(t){var n\u003dget(this,2,t,arguments[1]);return(n[1]\u003c\u003c8|n[0])\u003c\u003c16\u003e\u003e16},getUint16:function getUint16(t){var n\u003dget(this,2,t,arguments[1]);return n[1]\u003c\u003c8|n[0]},getInt32:function getInt32(t){return unpackI32(get(this,4,t,arguments[1]))},getUint32:function getUint32(t){return unpackI32(get(this,4,t,arguments[1]))\u003e\u003e\u003e0},getFloat32:function getFloat32(t){return unpackIEEE754(get(this,4,t,arguments[1]),23,4)},getFloat64:function getFloat64(t){return unpackIEEE754(get(this,8,t,arguments[1]),52,8)},setInt8:function setInt8(t,n){set(this,1,t,packI8,n)},setUint8:function setUint8(t,n){set(this,1,t,packI8,n)},setInt16:function setInt16(t,n){set(this,2,t,packI16,n,arguments[2])},setUint16:function setUint16(t,n){set(this,2,t,packI16,n,arguments[2])},setInt32:function setInt32(t,n){set(this,4,t,packI32,n,arguments[2])},setUint32:function setUint32(t,n){set(this,4,t,packI32,n,arguments[2])},setFloat32:function setFloat32(t,n){set(this,4,t,packF32,n,arguments[2])},setFloat64:function setFloat64(t,n){set(this,8,t,packF64,n,arguments[2])}});g(x,\"ArrayBuffer\"),g(S,\"DataView\"),c(S[m],u.VIEW,!0),r.ArrayBuffer\u003dx,r.DataView\u003dS},{101:101,115:115,116:116,118:118,123:123,29:29,35:35,40:40,42:42,6:6,60:60,72:72,77:77,9:9,93:93}],123:[function(t,n,r){for(var e,i\u003dt(40),o\u003dt(42),u\u003dt(124),c\u003du(\"typed_array\"),a\u003du(\"view\"),f\u003d!(!i.ArrayBuffer||!i.DataView),s\u003df,l\u003d0,h\u003d\"Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array\".split(\",\");l\u003c9;)(e\u003di[h[l++]])?(o(e.prototype,c,!0),o(e.prototype,a,!0)):s\u003d!1;n.exports\u003d{ABV:f,CONSTR:s,TYPED:c,VIEW:a}},{124:124,40:40,42:42}],124:[function(t,n,r){var e\u003d0,i\u003dMath.random();n.exports\u003dfunction(t){return\"Symbol(\".concat(void 0\u003d\u003d\u003dt?\"\":t,\")_\",(++e+i).toString(36))}},{}],125:[function(t,n,r){var e\u003dt(51);n.exports\u003dfunction(t,n){if(!e(t)||t._t!\u003d\u003dn)throw TypeError(\"Incompatible receiver, \"+n+\" required!\");return t}},{51:51}],126:[function(t,n,r){var e\u003dt(40),i\u003dt(23),o\u003dt(60),u\u003dt(127),c\u003dt(72).f;n.exports\u003dfunction(t){var n\u003di.Symbol||(i.Symbol\u003do?{}:e.Symbol||{});\"_\"\u003d\u003dt.charAt(0)||t in n||c(n,t,{value:u.f(t)})}},{127:127,23:23,40:40,60:60,72:72}],127:[function(t,n,r){r.f\u003dt(128)},{128:128}],128:[function(t,n,r){var e\u003dt(103)(\"wks\"),i\u003dt(124),o\u003dt(40).Symbol,u\u003d\"function\"\u003d\u003dtypeof o;(n.exports\u003dfunction(t){return e[t]||(e[t]\u003du\u0026\u0026o[t]||(u?o:i)(\"Symbol.\"+t))}).store\u003de},{103:103,124:124,40:40}],129:[function(t,n,r){var e\u003dt(17),i\u003dt(128)(\"iterator\"),o\u003dt(58);n.exports\u003dt(23).getIteratorMethod\u003dfunction(t){if(void 0!\u003dt)return t[i]||t[\"@@iterator\"]||o[e(t)]}},{128:128,17:17,23:23,58:58}],130:[function(t,n,r){var e\u003dt(33),i\u003dt(95)(/[\\\\^$*+?.()|[\\]{}]/g,\"\\\\$\u0026\");e(e.S,\"RegExp\",{escape:function escape(t){return i(t)}})},{33:33,95:95}],131:[function(t,n,r){var e\u003dt(33);e(e.P,\"Array\",{copyWithin:t(8)}),t(5)(\"copyWithin\")},{33:33,5:5,8:8}],132:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(4);e(e.P+e.F*!t(105)([].every,!0),\"Array\",{every:function every(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],133:[function(t,n,r){var e\u003dt(33);e(e.P,\"Array\",{fill:t(9)}),t(5)(\"fill\")},{33:33,5:5,9:9}],134:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(2);e(e.P+e.F*!t(105)([].filter,!0),\"Array\",{filter:function filter(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],135:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(6),o\u003d\"findIndex\",u\u003d!0;o in[]\u0026\u0026Array(1)[o](function(){u\u003d!1}),e(e.P+e.F*u,\"Array\",{findIndex:function findIndex(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0)}}),t(5)(o)},{12:12,33:33,5:5}],136:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(5),o\u003d!0;\"find\"in[]\u0026\u0026Array(1).find(function(){o\u003d!1}),e(e.P+e.F*o,\"Array\",{find:function find(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0)}}),t(5)(\"find\")},{12:12,33:33,5:5}],137:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(0),o\u003dt(105)([].forEach,!0);e(e.P+e.F*!o,\"Array\",{forEach:function forEach(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],138:[function(t,n,r){\"use strict\";var e\u003dt(25),i\u003dt(33),o\u003dt(119),u\u003dt(53),c\u003dt(48),a\u003dt(118),f\u003dt(24),s\u003dt(129);i(i.S+i.F*!t(56)(function(t){Array.from(t)}),\"Array\",{from:function from(t){var n,r,i,l,h\u003do(t),v\u003d\"function\"\u003d\u003dtypeof this?this:Array,p\u003darguments.length,d\u003dp\u003e1?arguments[1]:void 0,y\u003dvoid 0!\u003d\u003dd,g\u003d0,m\u003ds(h);if(y\u0026\u0026(d\u003de(d,p\u003e2?arguments[2]:void 0,2)),void 0\u003d\u003dm||v\u003d\u003dArray\u0026\u0026c(m))for(n\u003da(h.length),r\u003dnew v(n);n\u003eg;g++)f(r,g,y?d(h[g],g):h[g]);else for(l\u003dm.call(h),r\u003dnew v;!(i\u003dl.next()).done;g++)f(r,g,y?u(l,d,[i.value,g],!0):i.value);return r.length\u003dg,r}})},{118:118,119:119,129:129,24:24,25:25,33:33,48:48,53:53,56:56}],139:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(11)(!1),o\u003d[].indexOf,u\u003d!!o\u0026\u00261/[1].indexOf(1,-0)\u003c0;e(e.P+e.F*(u||!t(105)(o)),\"Array\",{indexOf:function indexOf(t){return u?o.apply(this,arguments)||0:i(this,t,arguments[1])}})},{105:105,11:11,33:33}],140:[function(t,n,r){var e\u003dt(33);e(e.S,\"Array\",{isArray:t(49)})},{33:33,49:49}],141:[function(t,n,r){\"use strict\";var e\u003dt(5),i\u003dt(57),o\u003dt(58),u\u003dt(117);n.exports\u003dt(55)(Array,\"Array\",function(t,n){this._t\u003du(t),this._i\u003d0,this._k\u003dn},function(){var t\u003dthis._t,n\u003dthis._k,r\u003dthis._i++;return!t||r\u003e\u003dt.length?(this._t\u003dvoid 0,i(1)):\"keys\"\u003d\u003dn?i(0,r):\"values\"\u003d\u003dn?i(0,t[r]):i(0,[r,t[r]])},\"values\"),o.Arguments\u003do.Array,e(\"keys\"),e(\"values\"),e(\"entries\")},{117:117,5:5,55:55,57:57,58:58}],142:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(117),o\u003d[].join;e(e.P+e.F*(t(47)!\u003dObject||!t(105)(o)),\"Array\",{join:function join(t){return o.call(i(this),void 0\u003d\u003d\u003dt?\",\":t)}})},{105:105,117:117,33:33,47:47}],143:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(117),o\u003dt(116),u\u003dt(118),c\u003d[].lastIndexOf,a\u003d!!c\u0026\u00261/[1].lastIndexOf(1,-0)\u003c0;e(e.P+e.F*(a||!t(105)(c)),\"Array\",{lastIndexOf:function lastIndexOf(t){if(a)return c.apply(this,arguments)||0;var n\u003di(this),r\u003du(n.length),e\u003dr-1;for(arguments.length\u003e1\u0026\u0026(e\u003dMath.min(e,o(arguments[1]))),e\u003c0\u0026\u0026(e\u003dr+e);e\u003e\u003d0;e--)if(e in n\u0026\u0026n[e]\u003d\u003d\u003dt)return e||0;return-1}})},{105:105,116:116,117:117,118:118,33:33}],144:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(1);e(e.P+e.F*!t(105)([].map,!0),\"Array\",{map:function map(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],145:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(24);e(e.S+e.F*t(35)(function(){function F(){}return!(Array.of.call(F)instanceof F)}),\"Array\",{of:function of(){for(var t\u003d0,n\u003darguments.length,r\u003dnew(\"function\"\u003d\u003dtypeof this?this:Array)(n);n\u003et;)i(r,t,arguments[t++]);return r.length\u003dn,r}})},{24:24,33:33,35:35}],146:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(13);e(e.P+e.F*!t(105)([].reduceRight,!0),\"Array\",{reduceRight:function reduceRight(t){return i(this,t,arguments.length,arguments[1],!0)}})},{105:105,13:13,33:33}],147:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(13);e(e.P+e.F*!t(105)([].reduce,!0),\"Array\",{reduce:function reduce(t){return i(this,t,arguments.length,arguments[1],!1)}})},{105:105,13:13,33:33}],148:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(43),o\u003dt(18),u\u003dt(114),c\u003dt(118),a\u003d[].slice;e(e.P+e.F*t(35)(function(){i\u0026\u0026a.call(i)}),\"Array\",{slice:function slice(t,n){var r\u003dc(this.length),e\u003do(this);if(n\u003dvoid 0\u003d\u003d\u003dn?r:n,\"Array\"\u003d\u003de)return a.call(this,t,n);for(var i\u003du(t,r),f\u003du(n,r),s\u003dc(f-i),l\u003dArray(s),h\u003d0;h\u003cs;h++)l[h]\u003d\"String\"\u003d\u003de?this.charAt(i+h):this[i+h];return l}})},{114:114,118:118,18:18,33:33,35:35,43:43}],149:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(3);e(e.P+e.F*!t(105)([].some,!0),\"Array\",{some:function some(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],150:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(3),o\u003dt(119),u\u003dt(35),c\u003d[].sort,a\u003d[1,2,3];e(e.P+e.F*(u(function(){a.sort(void 0)})||!u(function(){a.sort(null)})||!t(105)(c)),\"Array\",{sort:function sort(t){return void 0\u003d\u003d\u003dt?c.call(o(this)):c.call(o(this),i(t))}})},{105:105,119:119,3:3,33:33,35:35}],151:[function(t,n,r){t(100)(\"Array\")},{100:100}],152:[function(t,n,r){var e\u003dt(33);e(e.S,\"Date\",{now:function(){return(new Date).getTime()}})},{33:33}],153:[function(t,n,r){var e\u003dt(33),i\u003dt(26);e(e.P+e.F*(Date.prototype.toISOString!\u003d\u003di),\"Date\",{toISOString:i})},{26:26,33:33}],154:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(120);e(e.P+e.F*t(35)(function(){return null!\u003d\u003dnew Date(NaN).toJSON()||1!\u003d\u003dDate.prototype.toJSON.call({toISOString:function(){return 1}})}),\"Date\",{toJSON:function toJSON(t){var n\u003di(this),r\u003do(n);return\"number\"!\u003dtypeof r||isFinite(r)?n.toISOString():null}})},{119:119,120:120,33:33,35:35}],155:[function(t,n,r){var e\u003dt(128)(\"toPrimitive\"),i\u003dDate.prototype;e in i||t(42)(i,e,t(27))},{128:128,27:27,42:42}],156:[function(t,n,r){var e\u003dDate.prototype,i\u003de.toString,o\u003de.getTime;new Date(NaN)+\"\"!\u003d\"Invalid Date\"\u0026\u0026t(94)(e,\"toString\",function toString(){var t\u003do.call(this);return t\u003d\u003d\u003dt?i.call(this):\"Invalid Date\"})},{94:94}],157:[function(t,n,r){var e\u003dt(33);e(e.P,\"Function\",{bind:t(16)})},{16:16,33:33}],158:[function(t,n,r){\"use strict\";var e\u003dt(51),i\u003dt(79),o\u003dt(128)(\"hasInstance\"),u\u003dFunction.prototype;o in u||t(72).f(u,o,{value:function(t){if(\"function\"!\u003dtypeof this||!e(t))return!1;if(!e(this.prototype))return t instanceof this;for(;t\u003di(t);)if(this.prototype\u003d\u003d\u003dt)return!0;return!1}})},{128:128,51:51,72:72,79:79}],159:[function(t,n,r){var e\u003dt(72).f,i\u003dFunction.prototype,o\u003d/^\\s*function ([^ (]*)/;\"name\"in i||t(29)\u0026\u0026e(i,\"name\",{configurable:!0,get:function(){try{return(\"\"+this).match(o)[1]}catch(t){return\"\"}}})},{29:29,72:72}],160:[function(t,n,r){\"use strict\";var e\u003dt(19),i\u003dt(125);n.exports\u003dt(22)(\"Map\",function(t){return function Map(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},{get:function get(t){var n\u003de.getEntry(i(this,\"Map\"),t);return n\u0026\u0026n.v},set:function set(t,n){return e.def(i(this,\"Map\"),0\u003d\u003d\u003dt?0:t,n)}},e,!0)},{125:125,19:19,22:22}],161:[function(t,n,r){var e\u003dt(33),i\u003dt(63),o\u003dMath.sqrt,u\u003dMath.acosh;e(e.S+e.F*!(u\u0026\u0026710\u003d\u003dMath.floor(u(Number.MAX_VALUE))\u0026\u0026u(1/0)\u003d\u003d1/0),\"Math\",{acosh:function acosh(t){return(t\u003d+t)\u003c1?NaN:t\u003e94906265.62425156?Math.log(t)+Math.LN2:i(t-1+o(t-1)*o(t+1))}})},{33:33,63:63}],162:[function(t,n,r){function asinh(t){return isFinite(t\u003d+t)\u0026\u00260!\u003dt?t\u003c0?-asinh(-t):Math.log(t+Math.sqrt(t*t+1)):t}var e\u003dt(33),i\u003dMath.asinh;e(e.S+e.F*!(i\u0026\u00261/i(0)\u003e0),\"Math\",{asinh:asinh})},{33:33}],163:[function(t,n,r){var e\u003dt(33),i\u003dMath.atanh;e(e.S+e.F*!(i\u0026\u00261/i(-0)\u003c0),\"Math\",{atanh:function atanh(t){return 0\u003d\u003d(t\u003d+t)?t:Math.log((1+t)/(1-t))/2}})},{33:33}],164:[function(t,n,r){var e\u003dt(33),i\u003dt(65);e(e.S,\"Math\",{cbrt:function cbrt(t){return i(t\u003d+t)*Math.pow(Math.abs(t),1/3)}})},{33:33,65:65}],165:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{clz32:function clz32(t){return(t\u003e\u003e\u003e\u003d0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},{33:33}],166:[function(t,n,r){var e\u003dt(33),i\u003dMath.exp;e(e.S,\"Math\",{cosh:function cosh(t){return(i(t\u003d+t)+i(-t))/2}})},{33:33}],167:[function(t,n,r){var e\u003dt(33),i\u003dt(61);e(e.S+e.F*(i!\u003dMath.expm1),\"Math\",{expm1:i})},{33:33,61:61}],168:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{fround:t(62)})},{33:33,62:62}],169:[function(t,n,r){var e\u003dt(33),i\u003dMath.abs;e(e.S,\"Math\",{hypot:function hypot(t,n){for(var r,e,o\u003d0,u\u003d0,c\u003darguments.length,a\u003d0;u\u003cc;)r\u003di(arguments[u++]),a\u003cr?(e\u003da/r,o\u003do*e*e+1,a\u003dr):r\u003e0?(e\u003dr/a,o+\u003de*e):o+\u003dr;return a\u003d\u003d\u003d1/0?1/0:a*Math.sqrt(o)}})},{33:33}],170:[function(t,n,r){var e\u003dt(33),i\u003dMath.imul;e(e.S+e.F*t(35)(function(){return-5!\u003di(4294967295,5)||2!\u003di.length}),\"Math\",{imul:function imul(t,n){var r\u003d+t,e\u003d+n,i\u003d65535\u0026r,o\u003d65535\u0026e;return 0|i*o+((65535\u0026r\u003e\u003e\u003e16)*o+i*(65535\u0026e\u003e\u003e\u003e16)\u003c\u003c16\u003e\u003e\u003e0)}})},{33:33,35:35}],171:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{log10:function log10(t){return Math.log(t)*Math.LOG10E}})},{33:33}],172:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{log1p:t(63)})},{33:33,63:63}],173:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{log2:function log2(t){return Math.log(t)/Math.LN2}})},{33:33}],174:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{sign:t(65)})},{33:33,65:65}],175:[function(t,n,r){var e\u003dt(33),i\u003dt(61),o\u003dMath.exp;e(e.S+e.F*t(35)(function(){return-2e-17!\u003d!Math.sinh(-2e-17)}),\"Math\",{sinh:function sinh(t){return Math.abs(t\u003d+t)\u003c1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},{33:33,35:35,61:61}],176:[function(t,n,r){var e\u003dt(33),i\u003dt(61),o\u003dMath.exp;e(e.S,\"Math\",{tanh:function tanh(t){var n\u003di(t\u003d+t),r\u003di(-t);return n\u003d\u003d1/0?1:r\u003d\u003d1/0?-1:(n-r)/(o(t)+o(-t))}})},{33:33,61:61}],177:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{trunc:function trunc(t){return(t\u003e0?Math.floor:Math.ceil)(t)}})},{33:33}],178:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(41),o\u003dt(18),u\u003dt(45),c\u003dt(120),a\u003dt(35),f\u003dt(77).f,s\u003dt(75).f,l\u003dt(72).f,h\u003dt(111).trim,v\u003de.Number,p\u003dv,d\u003dv.prototype,y\u003d\"Number\"\u003d\u003do(t(71)(d)),g\u003d\"trim\"in String.prototype,m\u003dfunction(t){var n\u003dc(t,!1);if(\"string\"\u003d\u003dtypeof n\u0026\u0026n.length\u003e2){n\u003dg?n.trim():h(n,3);var r,e,i,o\u003dn.charCodeAt(0);if(43\u003d\u003d\u003do||45\u003d\u003d\u003do){if(88\u003d\u003d\u003d(r\u003dn.charCodeAt(2))||120\u003d\u003d\u003dr)return NaN}else if(48\u003d\u003d\u003do){switch(n.charCodeAt(1)){case 66:case 98:e\u003d2,i\u003d49;break;case 79:case 111:e\u003d8,i\u003d55;break;default:return+n}for(var u,a\u003dn.slice(2),f\u003d0,s\u003da.length;f\u003cs;f++)if((u\u003da.charCodeAt(f))\u003c48||u\u003ei)return NaN;return parseInt(a,e)}}return+n};if(!v(\" 0o1\")||!v(\"0b1\")||v(\"+0x1\")){v\u003dfunction Number(t){var n\u003darguments.length\u003c1?0:t,r\u003dthis;return r instanceof v\u0026\u0026(y?a(function(){d.valueOf.call(r)}):\"Number\"!\u003do(r))?u(new p(m(n)),r,v):m(n)};for(var b,x\u003dt(29)?f(p):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),S\u003d0;x.length\u003eS;S++)i(p,b\u003dx[S])\u0026\u0026!i(v,b)\u0026\u0026l(v,b,s(p,b));v.prototype\u003dd,d.constructor\u003dv,t(94)(e,\"Number\",v)}},{111:111,120:120,18:18,29:29,35:35,40:40,41:41,45:45,71:71,72:72,75:75,77:77,94:94}],179:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{EPSILON:Math.pow(2,-52)})},{33:33}],180:[function(t,n,r){var e\u003dt(33),i\u003dt(40).isFinite;e(e.S,\"Number\",{isFinite:function isFinite(t){return\"number\"\u003d\u003dtypeof t\u0026\u0026i(t)}})},{33:33,40:40}],181:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{isInteger:t(50)})},{33:33,50:50}],182:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{isNaN:function isNaN(t){return t!\u003dt}})},{33:33}],183:[function(t,n,r){var e\u003dt(33),i\u003dt(50),o\u003dMath.abs;e(e.S,\"Number\",{isSafeInteger:function isSafeInteger(t){return i(t)\u0026\u0026o(t)\u003c\u003d9007199254740991}})},{33:33,50:50}],184:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{MAX_SAFE_INTEGER:9007199254740991})},{33:33}],185:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{MIN_SAFE_INTEGER:-9007199254740991})},{33:33}],186:[function(t,n,r){var e\u003dt(33),i\u003dt(86);e(e.S+e.F*(Number.parseFloat!\u003di),\"Number\",{parseFloat:i})},{33:33,86:86}],187:[function(t,n,r){var e\u003dt(33),i\u003dt(87);e(e.S+e.F*(Number.parseInt!\u003di),\"Number\",{parseInt:i})},{33:33,87:87}],188:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(116),o\u003dt(4),u\u003dt(110),c\u003d1..toFixed,a\u003dMath.floor,f\u003d[0,0,0,0,0,0],s\u003d\"Number.toFixed: incorrect invocation!\",l\u003dfunction(t,n){for(var r\u003d-1,e\u003dn;++r\u003c6;)e+\u003dt*f[r],f[r]\u003de%1e7,e\u003da(e/1e7)},h\u003dfunction(t){for(var n\u003d6,r\u003d0;--n\u003e\u003d0;)r+\u003df[n],f[n]\u003da(r/t),r\u003dr%t*1e7},v\u003dfunction(){for(var t\u003d6,n\u003d\"\";--t\u003e\u003d0;)if(\"\"!\u003d\u003dn||0\u003d\u003d\u003dt||0!\u003d\u003df[t]){var r\u003dString(f[t]);n\u003d\"\"\u003d\u003d\u003dn?r:n+u.call(\"0\",7-r.length)+r}return n},p\u003dfunction(t,n,r){return 0\u003d\u003d\u003dn?r:n%2\u003d\u003d1?p(t,n-1,r*t):p(t*t,n/2,r)},d\u003dfunction(t){for(var n\u003d0,r\u003dt;r\u003e\u003d4096;)n+\u003d12,r/\u003d4096;for(;r\u003e\u003d2;)n+\u003d1,r/\u003d2;return n};e(e.P+e.F*(!!c\u0026\u0026(\"0.000\"!\u003d\u003d8e-5.toFixed(3)||\"1\"!\u003d\u003d.9.toFixed(0)||\"1.25\"!\u003d\u003d1.255.toFixed(2)||\"1000000000000000128\"!\u003d\u003d(0xde0b6b3a7640080).toFixed(0))||!t(35)(function(){c.call({})})),\"Number\",{toFixed:function toFixed(t){var n,r,e,c,a\u003do(this,s),f\u003di(t),y\u003d\"\",g\u003d\"0\";if(f\u003c0||f\u003e20)throw RangeError(s);if(a!\u003da)return\"NaN\";if(a\u003c\u003d-1e21||a\u003e\u003d1e21)return String(a);if(a\u003c0\u0026\u0026(y\u003d\"-\",a\u003d-a),a\u003e1e-21)if(n\u003dd(a*p(2,69,1))-69,r\u003dn\u003c0?a*p(2,-n,1):a/p(2,n,1),r*\u003d4503599627370496,(n\u003d52-n)\u003e0){for(l(0,r),e\u003df;e\u003e\u003d7;)l(1e7,0),e-\u003d7;for(l(p(10,e,1),0),e\u003dn-1;e\u003e\u003d23;)h(1\u003c\u003c23),e-\u003d23;h(1\u003c\u003ce),l(1,1),h(2),g\u003dv()}else l(0,r),l(1\u003c\u003c-n,0),g\u003dv()+u.call(\"0\",f);return f\u003e0?(c\u003dg.length,g\u003dy+(c\u003c\u003df?\"0.\"+u.call(\"0\",f-c)+g:g.slice(0,c-f)+\".\"+g.slice(c-f))):g\u003dy+g,g}})},{110:110,116:116,33:33,35:35,4:4}],189:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(35),o\u003dt(4),u\u003d1..toPrecision;e(e.P+e.F*(i(function(){return\"1\"!\u003d\u003du.call(1,void 0)})||!i(function(){u.call({})})),\"Number\",{toPrecision:function toPrecision(t){var n\u003do(this,\"Number#toPrecision: incorrect invocation!\");return void 0\u003d\u003d\u003dt?u.call(n):u.call(n,t)}})},{33:33,35:35,4:4}],190:[function(t,n,r){var e\u003dt(33);e(e.S+e.F,\"Object\",{assign:t(70)})},{33:33,70:70}],191:[function(t,n,r){var e\u003dt(33);e(e.S,\"Object\",{create:t(71)})},{33:33,71:71}],192:[function(t,n,r){var e\u003dt(33);e(e.S+e.F*!t(29),\"Object\",{defineProperties:t(73)})},{29:29,33:33,73:73}],193:[function(t,n,r){var e\u003dt(33);e(e.S+e.F*!t(29),\"Object\",{defineProperty:t(72).f})},{29:29,33:33,72:72}],194:[function(t,n,r){var e\u003dt(51),i\u003dt(66).onFreeze;t(83)(\"freeze\",function(t){return function freeze(n){return t\u0026\u0026e(n)?t(i(n)):n}})},{51:51,66:66,83:83}],195:[function(t,n,r){var e\u003dt(117),i\u003dt(75).f;t(83)(\"getOwnPropertyDescriptor\",function(){return function getOwnPropertyDescriptor(t,n){return i(e(t),n)}})},{117:117,75:75,83:83}],196:[function(t,n,r){t(83)(\"getOwnPropertyNames\",function(){return t(76).f})},{76:76,83:83}],197:[function(t,n,r){var e\u003dt(119),i\u003dt(79);t(83)(\"getPrototypeOf\",function(){return function getPrototypeOf(t){return i(e(t))}})},{119:119,79:79,83:83}],198:[function(t,n,r){var e\u003dt(51);t(83)(\"isExtensible\",function(t){return function isExtensible(n){return!!e(n)\u0026\u0026(!t||t(n))}})},{51:51,83:83}],199:[function(t,n,r){var e\u003dt(51);t(83)(\"isFrozen\",function(t){return function isFrozen(n){return!e(n)||!!t\u0026\u0026t(n)}})},{51:51,83:83}],200:[function(t,n,r){var e\u003dt(51);t(83)(\"isSealed\",function(t){return function isSealed(n){return!e(n)||!!t\u0026\u0026t(n)}})},{51:51,83:83}],201:[function(t,n,r){var e\u003dt(33);e(e.S,\"Object\",{is:t(96)})},{33:33,96:96}],202:[function(t,n,r){var e\u003dt(119),i\u003dt(81);t(83)(\"keys\",function(){return function keys(t){return i(e(t))}})},{119:119,81:81,83:83}],203:[function(t,n,r){var e\u003dt(51),i\u003dt(66).onFreeze;t(83)(\"preventExtensions\",function(t){return function preventExtensions(n){return t\u0026\u0026e(n)?t(i(n)):n}})},{51:51,66:66,83:83}],204:[function(t,n,r){var e\u003dt(51),i\u003dt(66).onFreeze;t(83)(\"seal\",function(t){return function seal(n){return t\u0026\u0026e(n)?t(i(n)):n}})},{51:51,66:66,83:83}],205:[function(t,n,r){var e\u003dt(33);e(e.S,\"Object\",{setPrototypeOf:t(99).set})},{33:33,99:99}],206:[function(t,n,r){\"use strict\";var e\u003dt(17),i\u003d{};i[t(128)(\"toStringTag\")]\u003d\"z\",i+\"\"!\u003d\"[object z]\"\u0026\u0026t(94)(Object.prototype,\"toString\",function toString(){return\"[object \"+e(this)+\"]\"},!0)},{128:128,17:17,94:94}],207:[function(t,n,r){var e\u003dt(33),i\u003dt(86);e(e.G+e.F*(parseFloat!\u003di),{parseFloat:i})},{33:33,86:86}],208:[function(t,n,r){var e\u003dt(33),i\u003dt(87);e(e.G+e.F*(parseInt!\u003di),{parseInt:i})},{33:33,87:87}],209:[function(t,n,r){\"use strict\";var e,i,o,u,c\u003dt(60),a\u003dt(40),f\u003dt(25),s\u003dt(17),l\u003dt(33),h\u003dt(51),v\u003dt(3),p\u003dt(6),d\u003dt(39),y\u003dt(104),g\u003dt(113).set,m\u003dt(68)(),b\u003dt(69),x\u003dt(90),S\u003dt(91),w\u003da.TypeError,_\u003da.process,E\u003da.Promise,O\u003d\"process\"\u003d\u003ds(_),P\u003dfunction(){},M\u003di\u003db.f,F\u003d!!function(){try{var n\u003dE.resolve(1),r\u003d(n.constructor\u003d{})[t(128)(\"species\")]\u003dfunction(t){t(P,P)};return(O||\"function\"\u003d\u003dtypeof PromiseRejectionEvent)\u0026\u0026n.then(P)instanceof r}catch(t){}}(),I\u003dc?function(t,n){return t\u003d\u003d\u003dn||t\u003d\u003d\u003dE\u0026\u0026n\u003d\u003d\u003du}:function(t,n){return t\u003d\u003d\u003dn},A\u003dfunction(t){var n;return!(!h(t)||\"function\"!\u003dtypeof(n\u003dt.then))\u0026\u0026n},k\u003dfunction(t,n){if(!t._n){t._n\u003d!0;var r\u003dt._c;m(function(){for(var e\u003dt._v,i\u003d1\u003d\u003dt._s,o\u003d0;r.length\u003eo;)!function(n){var r,o,u\u003di?n.ok:n.fail,c\u003dn.resolve,a\u003dn.reject,f\u003dn.domain;try{u?(i||(2\u003d\u003dt._h\u0026\u0026T(t),t._h\u003d1),!0\u003d\u003d\u003du?r\u003de:(f\u0026\u0026f.enter(),r\u003du(e),f\u0026\u0026f.exit()),r\u003d\u003d\u003dn.promise?a(w(\"Promise-chain cycle\")):(o\u003dA(r))?o.call(r,c,a):c(r)):a(e)}catch(t){a(t)}}(r[o++]);t._c\u003d[],t._n\u003d!1,n\u0026\u0026!t._h\u0026\u0026N(t)})}},N\u003dfunction(t){g.call(a,function(){var n,r,e,i\u003dt._v,o\u003dj(t);if(o\u0026\u0026(n\u003dx(function(){O?_.emit(\"unhandledRejection\",i,t):(r\u003da.onunhandledrejection)?r({promise:t,reason:i}):(e\u003da.console)\u0026\u0026e.error\u0026\u0026e.error(\"Unhandled promise rejection\",i)}),t._h\u003dO||j(t)?2:1),t._a\u003dvoid 0,o\u0026\u0026n.e)throw n.v})},j\u003dfunction(t){if(1\u003d\u003dt._h)return!1;for(var n,r\u003dt._a||t._c,e\u003d0;r.length\u003ee;)if(n\u003dr[e++],n.fail||!j(n.promise))return!1;return!0},T\u003dfunction(t){g.call(a,function(){var n;O?_.emit(\"rejectionHandled\",t):(n\u003da.onrejectionhandled)\u0026\u0026n({promise:t,reason:t._v})})},R\u003dfunction(t){var n\u003dthis;n._d||(n._d\u003d!0,n\u003dn._w||n,n._v\u003dt,n._s\u003d2,n._a||(n._a\u003dn._c.slice()),k(n,!0))},L\u003dfunction(t){var n,r\u003dthis;if(!r._d){r._d\u003d!0,r\u003dr._w||r;try{if(r\u003d\u003d\u003dt)throw w(\"Promise can\u0027t be resolved itself\");(n\u003dA(t))?m(function(){var e\u003d{_w:r,_d:!1};try{n.call(t,f(L,e,1),f(R,e,1))}catch(t){R.call(e,t)}}):(r._v\u003dt,r._s\u003d1,k(r,!1))}catch(t){R.call({_w:r,_d:!1},t)}}};F||(E\u003dfunction Promise(t){p(this,E,\"Promise\",\"_h\"),v(t),e.call(this);try{t(f(L,this,1),f(R,this,1))}catch(t){R.call(this,t)}},e\u003dfunction Promise(t){this._c\u003d[],this._a\u003dvoid 0,this._s\u003d0,this._d\u003d!1,this._v\u003dvoid 0,this._h\u003d0,this._n\u003d!1},e.prototype\u003dt(93)(E.prototype,{then:function then(t,n){var r\u003dM(y(this,E));return r.ok\u003d\"function\"!\u003dtypeof t||t,r.fail\u003d\"function\"\u003d\u003dtypeof n\u0026\u0026n,r.domain\u003dO?_.domain:void 0,this._c.push(r),this._a\u0026\u0026this._a.push(r),this._s\u0026\u0026k(this,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o\u003dfunction(){var t\u003dnew e;this.promise\u003dt,this.resolve\u003df(L,t,1),this.reject\u003df(R,t,1)},b.f\u003dM\u003dfunction(t){return I(E,t)?new o(t):i(t)}),l(l.G+l.W+l.F*!F,{Promise:E}),t(101)(E,\"Promise\"),t(100)(\"Promise\"),u\u003dt(23).Promise,l(l.S+l.F*!F,\"Promise\",{reject:function reject(t){var n\u003dM(this);return(0,n.reject)(t),n.promise}}),l(l.S+l.F*(c||!F),\"Promise\",{resolve:function resolve(t){return t instanceof E\u0026\u0026I(t.constructor,this)?t:S(this,t)}}),l(l.S+l.F*!(F\u0026\u0026t(56)(function(t){E.all(t).catch(P)})),\"Promise\",{all:function all(t){var n\u003dthis,r\u003dM(n),e\u003dr.resolve,i\u003dr.reject,o\u003dx(function(){var r\u003d[],o\u003d0,u\u003d1;d(t,!1,function(t){var c\u003do++,a\u003d!1;r.push(void 0),u++,n.resolve(t).then(function(t){a||(a\u003d!0,r[c]\u003dt,--u||e(r))},i)}),--u||e(r)});return o.e\u0026\u0026i(o.v),r.promise},race:function race(t){var n\u003dthis,r\u003dM(n),e\u003dr.reject,i\u003dx(function(){d(t,!1,function(t){n.resolve(t).then(r.resolve,e)})});return i.e\u0026\u0026e(i.v),r.promise}})},{100:100,101:101,104:104,113:113,128:128,17:17,23:23,25:25,"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"3:3,33:33,39:39,40:40,51:51,56:56,6:6,60:60,68:68,69:69,90:90,91:91,93:93}],210:[function(t,n,r){var e\u003dt(33),i\u003dt(3),o\u003dt(7),u\u003d(t(40).Reflect||{}).apply,c\u003dFunction.apply;e(e.S+e.F*!t(35)(function(){u(function(){})}),\"Reflect\",{apply:function apply(t,n,r){var e\u003di(t),a\u003do(r);return u?u(e,n,a):c.call(e,n,a)}})},{3:3,33:33,35:35,40:40,7:7}],211:[function(t,n,r){var e\u003dt(33),i\u003dt(71),o\u003dt(3),u\u003dt(7),c\u003dt(51),a\u003dt(35),f\u003dt(16),s\u003d(t(40).Reflect||{}).construct,l\u003da(function(){function F(){}return!(s(function(){},[],F)instanceof F)}),h\u003d!a(function(){s(function(){})});e(e.S+e.F*(l||h),\"Reflect\",{construct:function construct(t,n){o(t),u(n);var r\u003darguments.length\u003c3?t:o(arguments[2]);if(h\u0026\u0026!l)return s(t,n,r);if(t\u003d\u003dr){switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3])}var e\u003d[null];return e.push.apply(e,n),new(f.apply(t,e))}var a\u003dr.prototype,v\u003di(c(a)?a:Object.prototype),p\u003dFunction.apply.call(t,v,n);return c(p)?p:v}})},{16:16,3:3,33:33,35:35,40:40,51:51,7:7,71:71}],212:[function(t,n,r){var e\u003dt(72),i\u003dt(33),o\u003dt(7),u\u003dt(120);i(i.S+i.F*t(35)(function(){Reflect.defineProperty(e.f({},1,{value:1}),1,{value:2})}),\"Reflect\",{defineProperty:function defineProperty(t,n,r){o(t),n\u003du(n,!0),o(r);try{return e.f(t,n,r),!0}catch(t){return!1}}})},{120:120,33:33,35:35,7:7,72:72}],213:[function(t,n,r){var e\u003dt(33),i\u003dt(75).f,o\u003dt(7);e(e.S,\"Reflect\",{deleteProperty:function deleteProperty(t,n){var r\u003di(o(t),n);return!(r\u0026\u0026!r.configurable)\u0026\u0026delete t[n]}})},{33:33,7:7,75:75}],214:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(7),o\u003dfunction(t){this._t\u003di(t),this._i\u003d0;var n,r\u003dthis._k\u003d[];for(n in t)r.push(n)};t(54)(o,\"Object\",function(){var t,n\u003dthis,r\u003dn._k;do{if(n._i\u003e\u003dr.length)return{value:void 0,done:!0}}while(!((t\u003dr[n._i++])in n._t));return{value:t,done:!1}}),e(e.S,\"Reflect\",{enumerate:function enumerate(t){return new o(t)}})},{33:33,54:54,7:7}],215:[function(t,n,r){var e\u003dt(75),i\u003dt(33),o\u003dt(7);i(i.S,\"Reflect\",{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(t,n){return e.f(o(t),n)}})},{33:33,7:7,75:75}],216:[function(t,n,r){var e\u003dt(33),i\u003dt(79),o\u003dt(7);e(e.S,\"Reflect\",{getPrototypeOf:function getPrototypeOf(t){return i(o(t))}})},{33:33,7:7,79:79}],217:[function(t,n,r){function get(t,n){var r,u,f\u003darguments.length\u003c3?t:arguments[2];return a(t)\u003d\u003d\u003df?t[n]:(r\u003de.f(t,n))?o(r,\"value\")?r.value:void 0!\u003d\u003dr.get?r.get.call(f):void 0:c(u\u003di(t))?get(u,n,f):void 0}var e\u003dt(75),i\u003dt(79),o\u003dt(41),u\u003dt(33),c\u003dt(51),a\u003dt(7);u(u.S,\"Reflect\",{get:get})},{33:33,41:41,51:51,7:7,75:75,79:79}],218:[function(t,n,r){var e\u003dt(33);e(e.S,\"Reflect\",{has:function has(t,n){return n in t}})},{33:33}],219:[function(t,n,r){var e\u003dt(33),i\u003dt(7),o\u003dObject.isExtensible;e(e.S,\"Reflect\",{isExtensible:function isExtensible(t){return i(t),!o||o(t)}})},{33:33,7:7}],220:[function(t,n,r){var e\u003dt(33);e(e.S,\"Reflect\",{ownKeys:t(85)})},{33:33,85:85}],221:[function(t,n,r){var e\u003dt(33),i\u003dt(7),o\u003dObject.preventExtensions;e(e.S,\"Reflect\",{preventExtensions:function preventExtensions(t){i(t);try{return o\u0026\u0026o(t),!0}catch(t){return!1}}})},{33:33,7:7}],222:[function(t,n,r){var e\u003dt(33),i\u003dt(99);i\u0026\u0026e(e.S,\"Reflect\",{setPrototypeOf:function setPrototypeOf(t,n){i.check(t,n);try{return i.set(t,n),!0}catch(t){return!1}}})},{33:33,99:99}],223:[function(t,n,r){function set(t,n,r){var c,l,h\u003darguments.length\u003c4?t:arguments[3],v\u003di.f(f(t),n);if(!v){if(s(l\u003do(t)))return set(l,n,r,h);v\u003da(0)}return u(v,\"value\")?!(!1\u003d\u003d\u003dv.writable||!s(h))\u0026\u0026(c\u003di.f(h,n)||a(0),c.value\u003dr,e.f(h,n,c),!0):void 0!\u003d\u003dv.set\u0026\u0026(v.set.call(h,r),!0)}var e\u003dt(72),i\u003dt(75),o\u003dt(79),u\u003dt(41),c\u003dt(33),a\u003dt(92),f\u003dt(7),s\u003dt(51);c(c.S,\"Reflect\",{set:set})},{33:33,41:41,51:51,7:7,72:72,75:75,79:79,92:92}],224:[function(t,n,r){var e\u003dt(40),i\u003dt(45),o\u003dt(72).f,u\u003dt(77).f,c\u003dt(52),a\u003dt(37),f\u003de.RegExp,s\u003df,l\u003df.prototype,h\u003d/a/g,v\u003d/a/g,p\u003dnew f(h)!\u003d\u003dh;if(t(29)\u0026\u0026(!p||t(35)(function(){return v[t(128)(\"match\")]\u003d!1,f(h)!\u003dh||f(v)\u003d\u003dv||\"/a/i\"!\u003df(h,\"i\")}))){f\u003dfunction RegExp(t,n){var r\u003dthis instanceof f,e\u003dc(t),o\u003dvoid 0\u003d\u003d\u003dn;return!r\u0026\u0026e\u0026\u0026t.constructor\u003d\u003d\u003df\u0026\u0026o?t:i(p?new s(e\u0026\u0026!o?t.source:t,n):s((e\u003dt instanceof f)?t.source:t,e\u0026\u0026o?a.call(t):n),r?this:l,f)};for(var d\u003du(s),y\u003d0;d.length\u003ey;)!function(t){t in f||o(f,t,{configurable:!0,get:function(){return s[t]},set:function(n){s[t]\u003dn}})}(d[y++]);l.constructor\u003df,f.prototype\u003dl,t(94)(e,\"RegExp\",f)}t(100)(\"RegExp\")},{100:100,128:128,29:29,35:35,37:37,40:40,45:45,52:52,72:72,77:77,94:94}],225:[function(t,n,r){t(29)\u0026\u0026\"g\"!\u003d/./g.flags\u0026\u0026t(72).f(RegExp.prototype,\"flags\",{configurable:!0,get:t(37)})},{29:29,37:37,72:72}],226:[function(t,n,r){t(36)(\"match\",1,function(t,n,r){return[function match(r){\"use strict\";var e\u003dt(this),i\u003dvoid 0\u003d\u003dr?void 0:r[n];return void 0!\u003d\u003di?i.call(r,e):new RegExp(r)[n](String(e))},r]})},{36:36}],227:[function(t,n,r){t(36)(\"replace\",2,function(t,n,r){return[function replace(e,i){\"use strict\";var o\u003dt(this),u\u003dvoid 0\u003d\u003de?void 0:e[n];return void 0!\u003d\u003du?u.call(e,o,i):r.call(String(o),e,i)},r]})},{36:36}],228:[function(t,n,r){t(36)(\"search\",1,function(t,n,r){return[function search(r){\"use strict\";var e\u003dt(this),i\u003dvoid 0\u003d\u003dr?void 0:r[n];return void 0!\u003d\u003di?i.call(r,e):new RegExp(r)[n](String(e))},r]})},{36:36}],229:[function(t,n,r){t(36)(\"split\",2,function(n,r,e){\"use strict\";var i\u003dt(52),o\u003de,u\u003d[].push,c\u003d\"length\";if(\"c\"\u003d\u003d\"abbc\".split(/(b)*/)[1]||4!\u003d\"test\".split(/(?:)/,-1)[c]||2!\u003d\"ab\".split(/(?:ab)*/)[c]||4!\u003d\".\".split(/(.?)(.?)/)[c]||\".\".split(/()()/)[c]\u003e1||\"\".split(/.?/)[c]){var a\u003dvoid 0\u003d\u003d\u003d/()??/.exec(\"\")[1];e\u003dfunction(t,n){var r\u003dString(this);if(void 0\u003d\u003d\u003dt\u0026\u00260\u003d\u003d\u003dn)return[];if(!i(t))return o.call(r,t,n);var e,f,s,l,h,v\u003d[],p\u003d(t.ignoreCase?\"i\":\"\")+(t.multiline?\"m\":\"\")+(t.unicode?\"u\":\"\")+(t.sticky?\"y\":\"\"),d\u003d0,y\u003dvoid 0\u003d\u003d\u003dn?4294967295:n\u003e\u003e\u003e0,g\u003dnew RegExp(t.source,p+\"g\");for(a||(e\u003dnew RegExp(\"^\"+g.source+\"$(?!\\\\s)\",p));(f\u003dg.exec(r))\u0026\u0026!((s\u003df.index+f[0][c])\u003ed\u0026\u0026(v.push(r.slice(d,f.index)),!a\u0026\u0026f[c]\u003e1\u0026\u0026f[0].replace(e,function(){for(h\u003d1;h\u003carguments[c]-2;h++)void 0\u003d\u003d\u003darguments[h]\u0026\u0026(f[h]\u003dvoid 0)}),f[c]\u003e1\u0026\u0026f.index\u003cr[c]\u0026\u0026u.apply(v,f.slice(1)),l\u003df[0][c],d\u003ds,v[c]\u003e\u003dy));)g.lastIndex\u003d\u003d\u003df.index\u0026\u0026g.lastIndex++;return d\u003d\u003d\u003dr[c]?!l\u0026\u0026g.test(\"\")||v.push(\"\"):v.push(r.slice(d)),v[c]\u003ey?v.slice(0,y):v}}else\"0\".split(void 0,0)[c]\u0026\u0026(e\u003dfunction(t,n){return void 0\u003d\u003d\u003dt\u0026\u00260\u003d\u003d\u003dn?[]:o.call(this,t,n)});return[function split(t,i){var o\u003dn(this),u\u003dvoid 0\u003d\u003dt?void 0:t[r];return void 0!\u003d\u003du?u.call(t,o,i):e.call(String(o),t,i)},e]})},{36:36,52:52}],230:[function(t,n,r){\"use strict\";t(225);var e\u003dt(7),i\u003dt(37),o\u003dt(29),u\u003d/./.toString,c\u003dfunction(n){t(94)(RegExp.prototype,\"toString\",n,!0)};t(35)(function(){return\"/a/b\"!\u003du.call({source:\"a\",flags:\"b\"})})?c(function toString(){var t\u003de(this);return\"/\".concat(t.source,\"/\",\"flags\"in t?t.flags:!o\u0026\u0026t instanceof RegExp?i.call(t):void 0)}):\"toString\"!\u003du.name\u0026\u0026c(function toString(){return u.call(this)})},{225:225,29:29,35:35,37:37,7:7,94:94}],231:[function(t,n,r){\"use strict\";var e\u003dt(19),i\u003dt(125);n.exports\u003dt(22)(\"Set\",function(t){return function Set(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},{add:function add(t){return e.def(i(this,\"Set\"),t\u003d0\u003d\u003d\u003dt?0:t,t)}},e)},{125:125,19:19,22:22}],232:[function(t,n,r){\"use strict\";t(108)(\"anchor\",function(t){return function anchor(n){return t(this,\"a\",\"name\",n)}})},{108:108}],233:[function(t,n,r){\"use strict\";t(108)(\"big\",function(t){return function big(){return t(this,\"big\",\"\",\"\")}})},{108:108}],234:[function(t,n,r){\"use strict\";t(108)(\"blink\",function(t){return function blink(){return t(this,\"blink\",\"\",\"\")}})},{108:108}],235:[function(t,n,r){\"use strict\";t(108)(\"bold\",function(t){return function bold(){return t(this,\"b\",\"\",\"\")}})},{108:108}],236:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(106)(!1);e(e.P,\"String\",{codePointAt:function codePointAt(t){return i(this,t)}})},{106:106,33:33}],237:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(118),o\u003dt(107),u\u003d\"\".endsWith;e(e.P+e.F*t(34)(\"endsWith\"),\"String\",{endsWith:function endsWith(t){var n\u003do(this,t,\"endsWith\"),r\u003darguments.length\u003e1?arguments[1]:void 0,e\u003di(n.length),c\u003dvoid 0\u003d\u003d\u003dr?e:Math.min(i(r),e),a\u003dString(t);return u?u.call(n,a,c):n.slice(c-a.length,c)\u003d\u003d\u003da}})},{107:107,118:118,33:33,34:34}],238:[function(t,n,r){\"use strict\";t(108)(\"fixed\",function(t){return function fixed(){return t(this,\"tt\",\"\",\"\")}})},{108:108}],239:[function(t,n,r){\"use strict\";t(108)(\"fontcolor\",function(t){return function fontcolor(n){return t(this,\"font\",\"color\",n)}})},{108:108}],240:[function(t,n,r){\"use strict\";t(108)(\"fontsize\",function(t){return function fontsize(n){return t(this,\"font\",\"size\",n)}})},{108:108}],241:[function(t,n,r){var e\u003dt(33),i\u003dt(114),o\u003dString.fromCharCode,u\u003dString.fromCodePoint;e(e.S+e.F*(!!u\u0026\u00261!\u003du.length),\"String\",{fromCodePoint:function fromCodePoint(t){for(var n,r\u003d[],e\u003darguments.length,u\u003d0;e\u003eu;){if(n\u003d+arguments[u++],i(n,1114111)!\u003d\u003dn)throw RangeError(n+\" is not a valid code point\");r.push(n\u003c65536?o(n):o(55296+((n-\u003d65536)\u003e\u003e10),n%1024+56320))}return r.join(\"\")}})},{114:114,33:33}],242:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(107);e(e.P+e.F*t(34)(\"includes\"),\"String\",{includes:function includes(t){return!!~i(this,t,\"includes\").indexOf(t,arguments.length\u003e1?arguments[1]:void 0)}})},{107:107,33:33,34:34}],243:[function(t,n,r){\"use strict\";t(108)(\"italics\",function(t){return function italics(){return t(this,\"i\",\"\",\"\")}})},{108:108}],244:[function(t,n,r){\"use strict\";var e\u003dt(106)(!0);t(55)(String,\"String\",function(t){this._t\u003dString(t),this._i\u003d0},function(){var t,n\u003dthis._t,r\u003dthis._i;return r\u003e\u003dn.length?{value:void 0,done:!0}:(t\u003de(n,r),this._i+\u003dt.length,{value:t,done:!1})})},{106:106,55:55}],245:[function(t,n,r){\"use strict\";t(108)(\"link\",function(t){return function link(n){return t(this,\"a\",\"href\",n)}})},{108:108}],246:[function(t,n,r){var e\u003dt(33),i\u003dt(117),o\u003dt(118);e(e.S,\"String\",{raw:function raw(t){for(var n\u003di(t.raw),r\u003do(n.length),e\u003darguments.length,u\u003d[],c\u003d0;r\u003ec;)u.push(String(n[c++])),c\u003ce\u0026\u0026u.push(String(arguments[c]));return u.join(\"\")}})},{117:117,118:118,33:33}],247:[function(t,n,r){var e\u003dt(33);e(e.P,\"String\",{repeat:t(110)})},{110:110,33:33}],248:[function(t,n,r){\"use strict\";t(108)(\"small\",function(t){return function small(){return t(this,\"small\",\"\",\"\")}})},{108:108}],249:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(118),o\u003dt(107),u\u003d\"\".startsWith;e(e.P+e.F*t(34)(\"startsWith\"),\"String\",{startsWith:function startsWith(t){var n\u003do(this,t,\"startsWith\"),r\u003di(Math.min(arguments.length\u003e1?arguments[1]:void 0,n.length)),e\u003dString(t);return u?u.call(n,e,r):n.slice(r,r+e.length)\u003d\u003d\u003de}})},{107:107,118:118,33:33,34:34}],250:[function(t,n,r){\"use strict\";t(108)(\"strike\",function(t){return function strike(){return t(this,\"strike\",\"\",\"\")}})},{108:108}],251:[function(t,n,r){\"use strict\";t(108)(\"sub\",function(t){return function sub(){return t(this,\"sub\",\"\",\"\")}})},{108:108}],252:[function(t,n,r){\"use strict\";t(108)(\"sup\",function(t){return function sup(){return t(this,\"sup\",\"\",\"\")}})},{108:108}],253:[function(t,n,r){\"use strict\";t(111)(\"trim\",function(t){return function trim(){return t(this,3)}})},{111:111}],254:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(41),o\u003dt(29),u\u003dt(33),c\u003dt(94),a\u003dt(66).KEY,f\u003dt(35),s\u003dt(103),l\u003dt(101),h\u003dt(124),v\u003dt(128),p\u003dt(127),d\u003dt(126),y\u003dt(59),g\u003dt(32),m\u003dt(49),b\u003dt(7),x\u003dt(117),S\u003dt(120),w\u003dt(92),_\u003dt(71),E\u003dt(76),O\u003dt(75),P\u003dt(72),M\u003dt(81),F\u003dO.f,I\u003dP.f,A\u003dE.f,k\u003de.Symbol,N\u003de.JSON,j\u003dN\u0026\u0026N.stringify,T\u003dv(\"_hidden\"),R\u003dv(\"toPrimitive\"),L\u003d{}.propertyIsEnumerable,G\u003ds(\"symbol-registry\"),D\u003ds(\"symbols\"),C\u003ds(\"op-symbols\"),W\u003dObject.prototype,U\u003d\"function\"\u003d\u003dtypeof k,B\u003de.QObject,V\u003d!B||!B.prototype||!B.prototype.findChild,z\u003do\u0026\u0026f(function(){return 7!\u003d_(I({},\"a\",{get:function(){return I(this,\"a\",{value:7}).a}})).a})?function(t,n,r){var e\u003dF(W,n);e\u0026\u0026delete W[n],I(t,n,r),e\u0026\u0026t!\u003d\u003dW\u0026\u0026I(W,n,e)}:I,q\u003dfunction(t){var n\u003dD[t]\u003d_(k.prototype);return n._k\u003dt,n},K\u003dU\u0026\u0026\"symbol\"\u003d\u003dtypeof k.iterator?function(t){return\"symbol\"\u003d\u003dtypeof t}:function(t){return t instanceof k},Y\u003dfunction defineProperty(t,n,r){return t\u003d\u003d\u003dW\u0026\u0026Y(C,n,r),b(t),n\u003dS(n,!0),b(r),i(D,n)?(r.enumerable?(i(t,T)\u0026\u0026t[T][n]\u0026\u0026(t[T][n]\u003d!1),r\u003d_(r,{enumerable:w(0,!1)})):(i(t,T)||I(t,T,w(1,{})),t[T][n]\u003d!0),z(t,n,r)):I(t,n,r)},J\u003dfunction defineProperties(t,n){b(t);for(var r,e\u003dg(n\u003dx(n)),i\u003d0,o\u003de.length;o\u003ei;)Y(t,r\u003de[i++],n[r]);return t},H\u003dfunction create(t,n){return void 0\u003d\u003d\u003dn?_(t):J(_(t),n)},X\u003dfunction propertyIsEnumerable(t){var n\u003dL.call(this,t\u003dS(t,!0));return!(this\u003d\u003d\u003dW\u0026\u0026i(D,t)\u0026\u0026!i(C,t))\u0026\u0026(!(n||!i(this,t)||!i(D,t)||i(this,T)\u0026\u0026this[T][t])||n)},$\u003dfunction getOwnPropertyDescriptor(t,n){if(t\u003dx(t),n\u003dS(n,!0),t!\u003d\u003dW||!i(D,n)||i(C,n)){var r\u003dF(t,n);return!r||!i(D,n)||i(t,T)\u0026\u0026t[T][n]||(r.enumerable\u003d!0),r}},Z\u003dfunction getOwnPropertyNames(t){for(var n,r\u003dA(x(t)),e\u003d[],o\u003d0;r.length\u003eo;)i(D,n\u003dr[o++])||n\u003d\u003dT||n\u003d\u003da||e.push(n);return e},Q\u003dfunction getOwnPropertySymbols(t){for(var n,r\u003dt\u003d\u003d\u003dW,e\u003dA(r?C:x(t)),o\u003d[],u\u003d0;e.length\u003eu;)!i(D,n\u003de[u++])||r\u0026\u0026!i(W,n)||o.push(D[n]);return o};U||(k\u003dfunction Symbol(){if(this instanceof k)throw TypeError(\"Symbol is not a constructor!\");var t\u003dh(arguments.length\u003e0?arguments[0]:void 0),n\u003dfunction(r){this\u003d\u003d\u003dW\u0026\u0026n.call(C,r),i(this,T)\u0026\u0026i(this[T],t)\u0026\u0026(this[T][t]\u003d!1),z(this,t,w(1,r))};return o\u0026\u0026V\u0026\u0026z(W,t,{configurable:!0,set:n}),q(t)},c(k.prototype,\"toString\",function toString(){return this._k}),O.f\u003d$,P.f\u003dY,t(77).f\u003dE.f\u003dZ,t(82).f\u003dX,t(78).f\u003dQ,o\u0026\u0026!t(60)\u0026\u0026c(W,\"propertyIsEnumerable\",X,!0),p.f\u003dfunction(t){return q(v(t))}),u(u.G+u.W+u.F*!U,{Symbol:k});for(var tt\u003d\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),nt\u003d0;tt.length\u003ent;)v(tt[nt++]);for(var rt\u003dM(v.store),et\u003d0;rt.length\u003eet;)d(rt[et++]);u(u.S+u.F*!U,\"Symbol\",{for:function(t){return i(G,t+\u003d\"\")?G[t]:G[t]\u003dk(t)},keyFor:function keyFor(t){if(K(t))return y(G,t);throw TypeError(t+\" is not a symbol!\")},useSetter:function(){V\u003d!0},useSimple:function(){V\u003d!1}}),u(u.S+u.F*!U,\"Object\",{create:H,defineProperty:Y,defineProperties:J,getOwnPropertyDescriptor:$,getOwnPropertyNames:Z,getOwnPropertySymbols:Q}),N\u0026\u0026u(u.S+u.F*(!U||f(function(){var t\u003dk();return\"[null]\"!\u003dj([t])||\"{}\"!\u003dj({a:t})||\"{}\"!\u003dj(Object(t))})),\"JSON\",{stringify:function stringify(t){if(void 0!\u003d\u003dt\u0026\u0026!K(t)){for(var n,r,e\u003d[t],i\u003d1;arguments.length\u003ei;)e.push(arguments[i++]);return n\u003de[1],\"function\"\u003d\u003dtypeof n\u0026\u0026(r\u003dn),!r\u0026\u0026m(n)||(n\u003dfunction(t,n){if(r\u0026\u0026(n\u003dr.call(this,t,n)),!K(n))return n}),e[1]\u003dn,j.apply(N,e)}}}),k.prototype[R]||t(42)(k.prototype,R,k.prototype.valueOf),l(k,\"Symbol\"),l(Math,\"Math\",!0),l(e.JSON,\"JSON\",!0)},{101:101,103:103,117:117,120:120,124:124,126:126,127:127,128:128,29:29,32:32,33:33,35:35,40:40,41:41,42:42,49:49,59:59,60:60,66:66,7:7,71:71,72:72,75:75,76:76,77:77,78:78,81:81,82:82,92:92,94:94}],255:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(123),o\u003dt(122),u\u003dt(7),c\u003dt(114),a\u003dt(118),f\u003dt(51),s\u003dt(40).ArrayBuffer,l\u003dt(104),h\u003do.ArrayBuffer,v\u003do.DataView,p\u003di.ABV\u0026\u0026s.isView,d\u003dh.prototype.slice,y\u003di.VIEW;e(e.G+e.W+e.F*(s!\u003d\u003dh),{ArrayBuffer:h}),e(e.S+e.F*!i.CONSTR,\"ArrayBuffer\",{isView:function isView(t){return p\u0026\u0026p(t)||f(t)\u0026\u0026y in t}}),e(e.P+e.U+e.F*t(35)(function(){return!new h(2).slice(1,void 0).byteLength}),\"ArrayBuffer\",{slice:function slice(t,n){if(void 0!\u003d\u003dd\u0026\u0026void 0\u003d\u003d\u003dn)return d.call(u(this),t);for(var r\u003du(this).byteLength,e\u003dc(t,r),i\u003dc(void 0\u003d\u003d\u003dn?r:n,r),o\u003dnew(l(this,h))(a(i-e)),f\u003dnew v(this),s\u003dnew v(o),p\u003d0;e\u003ci;)s.setUint8(p++,f.getUint8(e++));return o}}),t(100)(\"ArrayBuffer\")},{100:100,104:104,114:114,118:118,122:122,123:123,33:33,35:35,40:40,51:51,7:7}],256:[function(t,n,r){var e\u003dt(33);e(e.G+e.W+e.F*!t(123).ABV,{DataView:t(122).DataView})},{122:122,123:123,33:33}],257:[function(t,n,r){t(121)(\"Float32\",4,function(t){return function Float32Array(n,r,e){return t(this,n,r,e)}})},{121:121}],258:[function(t,n,r){t(121)(\"Float64\",8,function(t){return function Float64Array(n,r,e){return t(this,n,r,e)}})},{121:121}],259:[function(t,n,r){t(121)(\"Int16\",2,function(t){return function Int16Array(n,r,e){return t(this,n,r,e)}})},{121:121}],260:[function(t,n,r){t(121)(\"Int32\",4,function(t){return function Int32Array(n,r,e){return t(this,n,r,e)}})},{121:121}],261:[function(t,n,r){t(121)(\"Int8\",1,function(t){return function Int8Array(n,r,e){return t(this,n,r,e)}})},{121:121}],262:[function(t,n,r){t(121)(\"Uint16\",2,function(t){return function Uint16Array(n,r,e){return t(this,n,r,e)}})},{121:121}],263:[function(t,n,r){t(121)(\"Uint32\",4,function(t){return function Uint32Array(n,r,e){return t(this,n,r,e)}})},{121:121}],264:[function(t,n,r){t(121)(\"Uint8\",1,function(t){return function Uint8Array(n,r,e){return t(this,n,r,e)}})},{121:121}],265:[function(t,n,r){t(121)(\"Uint8\",1,function(t){return function Uint8ClampedArray(n,r,e){return t(this,n,r,e)}},!0)},{121:121}],266:[function(t,n,r){\"use strict\";var e,i\u003dt(12)(0),o\u003dt(94),u\u003dt(66),c\u003dt(70),a\u003dt(21),f\u003dt(51),s\u003dt(35),l\u003dt(125),h\u003du.getWeak,v\u003dObject.isExtensible,p\u003da.ufstore,d\u003d{},y\u003dfunction(t){return function WeakMap(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},g\u003d{get:function get(t){if(f(t)){var n\u003dh(t);return!0\u003d\u003d\u003dn?p(l(this,\"WeakMap\")).get(t):n?n[this._i]:void 0}},set:function set(t,n){return a.def(l(this,\"WeakMap\"),t,n)}},m\u003dn.exports\u003dt(22)(\"WeakMap\",y,g,a,!0,!0);s(function(){return 7!\u003d(new m).set((Object.freeze||Object)(d),7).get(d)})\u0026\u0026(e\u003da.getConstructor(y,\"WeakMap\"),c(e.prototype,g),u.NEED\u003d!0,i([\"delete\",\"has\",\"get\",\"set\"],function(t){var n\u003dm.prototype,r\u003dn[t];o(n,t,function(n,i){if(f(n)\u0026\u0026!v(n)){this._f||(this._f\u003dnew e);var o\u003dthis._f[t](n,i);return\"set\"\u003d\u003dt?this:o}return r.call(this,n,i)})}))},{12:12,125:125,21:21,22:22,35:35,51:51,66:66,70:70,94:94}],267:[function(t,n,r){\"use strict\";var e\u003dt(21),i\u003dt(125);t(22)(\"WeakSet\",function(t){return function WeakSet(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},{add:function add(t){return e.def(i(this,\"WeakSet\"),t,!0)}},e,!1,!0)},{125:125,21:21,22:22}],268:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(38),o\u003dt(119),u\u003dt(118),c\u003dt(3),a\u003dt(15);e(e.P,\"Array\",{flatMap:function flatMap(t){var n,r,e\u003do(this);return c(t),n\u003du(e.length),r\u003da(e,0),i(r,e,e,n,0,1,t,arguments[1]),r}}),t(5)(\"flatMap\")},{118:118,119:119,15:15,3:3,33:33,38:38,5:5}],269:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(38),o\u003dt(119),u\u003dt(118),c\u003dt(116),a\u003dt(15);e(e.P,\"Array\",{flatten:function flatten(){var t\u003darguments[0],n\u003do(this),r\u003du(n.length),e\u003da(n,0);return i(e,n,n,r,0,void 0\u003d\u003d\u003dt?1:c(t)),e}}),t(5)(\"flatten\")},{116:116,118:118,119:119,15:15,33:33,38:38,5:5}],270:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(11)(!0);e(e.P,\"Array\",{includes:function includes(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0)}}),t(5)(\"includes\")},{11:11,33:33,5:5}],271:[function(t,n,r){var e\u003dt(33),i\u003dt(68)(),o\u003dt(40).process,u\u003d\"process\"\u003d\u003dt(18)(o);e(e.G,{asap:function asap(t){var n\u003du\u0026\u0026o.domain;i(n?n.bind(t):t)}})},{18:18,33:33,40:40,68:68}],272:[function(t,n,r){var e\u003dt(33),i\u003dt(18);e(e.S,\"Error\",{isError:function isError(t){return\"Error\"\u003d\u003d\u003di(t)}})},{18:18,33:33}],273:[function(t,n,r){var e\u003dt(33);e(e.G,{global:t(40)})},{33:33,40:40}],274:[function(t,n,r){t(97)(\"Map\")},{97:97}],275:[function(t,n,r){t(98)(\"Map\")},{98:98}],276:[function(t,n,r){var e\u003dt(33);e(e.P+e.R,\"Map\",{toJSON:t(20)(\"Map\")})},{20:20,33:33}],277:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{clamp:function clamp(t,n,r){return Math.min(r,Math.max(n,t))}})},{33:33}],278:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{DEG_PER_RAD:Math.PI/180})},{33:33}],279:[function(t,n,r){var e\u003dt(33),i\u003d180/Math.PI;e(e.S,\"Math\",{degrees:function degrees(t){return t*i}})},{33:33}],280:[function(t,n,r){var e\u003dt(33),i\u003dt(64),o\u003dt(62);e(e.S,\"Math\",{fscale:function fscale(t,n,r,e,u){return o(i(t,n,r,e,u))}})},{33:33,62:62,64:64}],281:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{iaddh:function iaddh(t,n,r,e){var i\u003dt\u003e\u003e\u003e0,o\u003dn\u003e\u003e\u003e0,u\u003dr\u003e\u003e\u003e0;return o+(e\u003e\u003e\u003e0)+((i\u0026u|(i|u)\u0026~(i+u\u003e\u003e\u003e0))\u003e\u003e\u003e31)|0}})},{33:33}],282:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{imulh:function imulh(t,n){var r\u003d+t,e\u003d+n,i\u003d65535\u0026r,o\u003d65535\u0026e,u\u003dr\u003e\u003e16,c\u003de\u003e\u003e16,a\u003d(u*o\u003e\u003e\u003e0)+(i*o\u003e\u003e\u003e16);return u*c+(a\u003e\u003e16)+((i*c\u003e\u003e\u003e0)+(65535\u0026a)\u003e\u003e16)}})},{33:33}],283:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{isubh:function isubh(t,n,r,e){var i\u003dt\u003e\u003e\u003e0,o\u003dn\u003e\u003e\u003e0,u\u003dr\u003e\u003e\u003e0;return o-(e\u003e\u003e\u003e0)-((~i\u0026u|~(i^u)\u0026i-u\u003e\u003e\u003e0)\u003e\u003e\u003e31)|0}})},{33:33}],284:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{RAD_PER_DEG:180/Math.PI})},{33:33}],285:[function(t,n,r){var e\u003dt(33),i\u003dMath.PI/180;e(e.S,\"Math\",{radians:function radians(t){return t*i}})},{33:33}],286:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{scale:t(64)})},{33:33,64:64}],287:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{signbit:function signbit(t){return(t\u003d+t)!\u003dt?t:0\u003d\u003dt?1/t\u003d\u003d1/0:t\u003e0}})},{33:33}],288:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{umulh:function umulh(t,n){var r\u003d+t,e\u003d+n,i\u003d65535\u0026r,o\u003d65535\u0026e,u\u003dr\u003e\u003e\u003e16,c\u003de\u003e\u003e\u003e16,a\u003d(u*o\u003e\u003e\u003e0)+(i*o\u003e\u003e\u003e16);return u*c+(a\u003e\u003e\u003e16)+((i*c\u003e\u003e\u003e0)+(65535\u0026a)\u003e\u003e\u003e16)}})},{33:33}],289:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(3),u\u003dt(72);t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__defineGetter__:function __defineGetter__(t,n){u.f(i(this),t,{get:o(n),enumerable:!0,configurable:!0})}})},{119:119,29:29,3:3,33:33,72:72,74:74}],290:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(3),u\u003dt(72);t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__defineSetter__:function __defineSetter__(t,n){u.f(i(this),t,{set:o(n),enumerable:!0,configurable:!0})}})},{119:119,29:29,3:3,33:33,72:72,74:74}],291:[function(t,n,r){var e\u003dt(33),i\u003dt(84)(!0);e(e.S,\"Object\",{entries:function entries(t){return i(t)}})},{33:33,84:84}],292:[function(t,n,r){var e\u003dt(33),i\u003dt(85),o\u003dt(117),u\u003dt(75),c\u003dt(24);e(e.S,\"Object\",{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(t){for(var n,r,e\u003do(t),a\u003du.f,f\u003di(e),s\u003d{},l\u003d0;f.length\u003el;)void 0!\u003d\u003d(r\u003da(e,n\u003df[l++]))\u0026\u0026c(s,n,r);return s}})},{117:117,24:24,33:33,75:75,85:85}],293:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(120),u\u003dt(79),c\u003dt(75).f;t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__lookupGetter__:function __lookupGetter__(t){var n,r\u003di(this),e\u003do(t,!0);do{if(n\u003dc(r,e))return n.get}while(r\u003du(r))}})},{119:119,120:120,29:29,33:33,74:74,75:75,79:79}],294:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(120),u\u003dt(79),c\u003dt(75).f;t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__lookupSetter__:function __lookupSetter__(t){var n,r\u003di(this),e\u003do(t,!0);do{if(n\u003dc(r,e))return n.set}while(r\u003du(r))}})},{119:119,120:120,29:29,33:33,74:74,75:75,79:79}],295:[function(t,n,r){var e\u003dt(33),i\u003dt(84)(!1);e(e.S,\"Object\",{values:function values(t){return i(t)}})},{33:33,84:84}],296:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(40),o\u003dt(23),u\u003dt(68)(),c\u003dt(128)(\"observable\"),a\u003dt(3),f\u003dt(7),s\u003dt(6),l\u003dt(93),h\u003dt(42),v\u003dt(39),p\u003dv.RETURN,d\u003dfunction(t){return null\u003d\u003dt?void 0:a(t)},y\u003dfunction(t){var n\u003dt._c;n\u0026\u0026(t._c\u003dvoid 0,n())},g\u003dfunction(t){return void 0\u003d\u003d\u003dt._o},m\u003dfunction(t){g(t)||(t._o\u003dvoid 0,y(t))},b\u003dfunction(t,n){f(t),this._c\u003dvoid 0,this._o\u003dt,t\u003dnew x(this);try{var r\u003dn(t),e\u003dr;null!\u003dr\u0026\u0026(\"function\"\u003d\u003dtypeof r.unsubscribe?r\u003dfunction(){e.unsubscribe()}:a(r),this._c\u003dr)}catch(n){return void t.error(n)}g(this)\u0026\u0026y(this)};b.prototype\u003dl({},{unsubscribe:function unsubscribe(){m(this)}});var x\u003dfunction(t){this._s\u003dt};x.prototype\u003dl({},{next:function next(t){var n\u003dthis._s;if(!g(n)){var r\u003dn._o;try{var e\u003dd(r.next);if(e)return e.call(r,t)}catch(t){try{m(n)}finally{throw t}}}},error:function error(t){var n\u003dthis._s;if(g(n))throw t;var r\u003dn._o;n._o\u003dvoid 0;try{var e\u003dd(r.error);if(!e)throw t;t\u003de.call(r,t)}catch(t){try{y(n)}finally{throw t}}return y(n),t},complete:function complete(t){var n\u003dthis._s;if(!g(n)){var r\u003dn._o;n._o\u003dvoid 0;try{var e\u003dd(r.complete);t\u003de?e.call(r,t):void 0}catch(t){try{y(n)}finally{throw t}}return y(n),t}}});var S\u003dfunction Observable(t){s(this,S,\"Observable\",\"_f\")._f\u003da(t)};l(S.prototype,{subscribe:function subscribe(t){return new b(t,this._f)},forEach:function forEach(t){var n\u003dthis;return new(o.Promise||i.Promise)(function(r,e){a(t);var i\u003dn.subscribe({next:function(n){try{return t(n)}catch(t){e(t),i.unsubscribe()}},error:e,complete:r})})}}),l(S,{from:function from(t){var n\u003d\"function\"\u003d\u003dtypeof this?this:S,r\u003dd(f(t)[c]);if(r){var e\u003df(r.call(t));return e.constructor\u003d\u003d\u003dn?e:new n(function(t){return e.subscribe(t)})}return new n(function(n){var r\u003d!1;return u(function(){if(!r){try{if(v(t,!1,function(t){if(n.next(t),r)return p})\u003d\u003d\u003dp)return}catch(t){if(r)throw t;return void n.error(t)}n.complete()}}),function(){r\u003d!0}})},of:function of(){for(var t\u003d0,n\u003darguments.length,r\u003dArray(n);t\u003cn;)r[t]\u003darguments[t++];return new(\"function\"\u003d\u003dtypeof this?this:S)(function(t){var n\u003d!1;return u(function(){if(!n){for(var e\u003d0;e\u003cr.length;++e)if(t.next(r[e]),n)return;t.complete()}}),function(){n\u003d!0}})}}),h(S.prototype,c,function(){return this}),e(e.G,{Observable:S}),t(100)(\"Observable\")},{100:100,128:128,23:23,3:3,33:33,39:39,40:40,42:42,6:6,68:68,7:7,93:93}],297:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(23),o\u003dt(40),u\u003dt(104),c\u003dt(91);e(e.P+e.R,\"Promise\",{finally:function(t){var n\u003du(this,i.Promise||o.Promise),r\u003d\"function\"\u003d\u003dtypeof t;return this.then(r?function(r){return c(n,t()).then(function(){return r})}:t,r?function(r){return c(n,t()).then(function(){throw r})}:t)}})},{104:104,23:23,33:33,40:40,91:91}],298:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(69),o\u003dt(90);e(e.S,\"Promise\",{try:function(t){var n\u003di.f(this),r\u003do(t);return(r.e?n.reject:n.resolve)(r.v),n.promise}})},{33:33,69:69,90:90}],299:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.key,u\u003de.set;e.exp({defineMetadata:function defineMetadata(t,n,r,e){u(t,n,i(r),o(e))}})},{67:67,7:7}],300:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.key,u\u003de.map,c\u003de.store;e.exp({deleteMetadata:function deleteMetadata(t,n){var r\u003darguments.length\u003c3?void 0:o(arguments[2]),e\u003du(i(n),r,!1);if(void 0\u003d\u003d\u003de||!e.delete(t))return!1;if(e.size)return!0;var a\u003dc.get(n);return a.delete(r),!!a.size||c.delete(n)}})},{67:67,7:7}],301:[function(t,n,r){var e\u003dt(231),i\u003dt(10),o\u003dt(67),u\u003dt(7),c\u003dt(79),a\u003do.keys,f\u003do.key,s\u003dfunction(t,n){var r\u003da(t,n),o\u003dc(t);if(null\u003d\u003d\u003do)return r;var u\u003ds(o,n);return u.length?r.length?i(new e(r.concat(u))):u:r};o.exp({getMetadataKeys:function getMetadataKeys(t){return s(u(t),arguments.length\u003c2?void 0:f(arguments[1]))}})},{10:10,231:231,67:67,7:7,79:79}],302:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003dt(79),u\u003de.has,c\u003de.get,a\u003de.key,f\u003dfunction(t,n,r){if(u(t,n,r))return c(t,n,r);var e\u003do(n);return null!\u003d\u003de?f(t,e,r):void 0};e.exp({getMetadata:function getMetadata(t,n){return f(t,i(n),arguments.length\u003c3?void 0:a(arguments[2]))}})},{67:67,7:7,79:79}],303:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.keys,u\u003de.key;e.exp({getOwnMetadataKeys:function getOwnMetadataKeys(t){return o(i(t),arguments.length\u003c2?void 0:u(arguments[1]))}})},{67:67,7:7}],304:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.get,u\u003de.key;e.exp({getOwnMetadata:function getOwnMetadata(t,n){return o(t,i(n),arguments.length\u003c3?void 0:u(arguments[2]))}})},{67:67,7:7}],305:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003dt(79),u\u003de.has,c\u003de.key,a\u003dfunction(t,n,r){if(u(t,n,r))return!0;var e\u003do(n);return null!\u003d\u003de\u0026\u0026a(t,e,r)};e.exp({hasMetadata:function hasMetadata(t,n){return a(t,i(n),arguments.length\u003c3?void 0:c(arguments[2]))}})},{67:67,7:7,79:79}],306:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.has,u\u003de.key;e.exp({hasOwnMetadata:function hasOwnMetadata(t,n){return o(t,i(n),arguments.length\u003c3?void 0:u(arguments[2]))}})},{67:67,7:7}],307:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003dt(3),u\u003de.key,c\u003de.set;e.exp({metadata:function metadata(t,n){return function decorator(r,e){c(t,n,(void 0!\u003d\u003de?i:o)(r),u(e))}}})},{3:3,67:67,7:7}],308:[function(t,n,r){t(97)(\"Set\")},{97:97}],309:[function(t,n,r){t(98)(\"Set\")},{98:98}],310:[function(t,n,r){var e\u003dt(33);e(e.P+e.R,\"Set\",{toJSON:t(20)(\"Set\")})},{20:20,33:33}],311:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(106)(!0);e(e.P,\"String\",{at:function at(t){return i(this,t)}})},{106:106,33:33}],312:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(28),o\u003dt(118),u\u003dt(52),c\u003dt(37),a\u003dRegExp.prototype,f\u003dfunction(t,n){this._r\u003dt,this._s\u003dn};t(54)(f,\"RegExp String\",function next(){var t\u003dthis._r.exec(this._s);return{value:t,done:null\u003d\u003d\u003dt}}),e(e.P,\"String\",{matchAll:function matchAll(t){if(i(this),!u(t))throw TypeError(t+\" is not a regexp!\");var n\u003dString(this),r\u003d\"flags\"in a?String(t.flags):c.call(t),e\u003dnew RegExp(t.source,~r.indexOf(\"g\")?r:\"g\"+r);return e.lastIndex\u003do(t.lastIndex),new f(e,n)}})},{118:118,28:28,33:33,37:37,52:52,54:54}],313:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(109);e(e.P,\"String\",{padEnd:function padEnd(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0,!1)}})},{109:109,33:33}],314:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(109);e(e.P,\"String\",{padStart:function padStart(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0,!0)}})},{109:109,33:33}],315:[function(t,n,r){\"use strict\";t(111)(\"trimLeft\",function(t){return function trimLeft(){return t(this,1)}},\"trimStart\")},{111:111}],316:[function(t,n,r){\"use strict\";t(111)(\"trimRight\",function(t){return function trimRight(){return t(this,2)}},\"trimEnd\")},{111:111}],317:[function(t,n,r){t(126)(\"asyncIterator\")},{126:126}],318:[function(t,n,r){t(126)(\"observable\")},{126:126}],319:[function(t,n,r){var e\u003dt(33);e(e.S,\"System\",{global:t(40)})},{33:33,40:40}],320:[function(t,n,r){t(97)(\"WeakMap\")},{97:97}],321:[function(t,n,r){t(98)(\"WeakMap\")},{98:98}],322:[function(t,n,r){t(97)(\"WeakSet\")},{97:97}],323:[function(t,n,r){t(98)(\"WeakSet\")},{98:98}],324:[function(t,n,r){for(var e\u003dt(141),i\u003dt(81),o\u003dt(94),u\u003dt(40),c\u003dt(42),a\u003dt(58),f\u003dt(128),s\u003df(\"iterator\"),l\u003df(\"toStringTag\"),h\u003da.Array,v\u003d{CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p\u003di(v),d\u003d0;d\u003cp.length;d++){var y,g\u003dp[d],m\u003dv[g],b\u003du[g],x\u003db\u0026\u0026b.prototype;if(x\u0026\u0026(x[s]||c(x,s,h),x[l]||c(x,l,g),a[g]\u003dh,m))for(y in e)x[y]||o(x,y,e[y],!0)}},{128:128,141:141,40:40,42:42,58:58,81:81,94:94}],325:[function(t,n,r){var e\u003dt(33),i\u003dt(113);e(e.G+e.B,{setImmediate:i.set,clearImmediate:i.clear})},{113:113,33:33}],326:[function(t,n,r){var e\u003dt(40),i\u003dt(33),o\u003dt(46),u\u003dt(88),c\u003de.navigator,a\u003d!!c\u0026\u0026/MSIE .\\./.test(c.userAgent),f\u003dfunction(t){return a?function(n,r){return t(o(u,[].slice.call(arguments,2),\"function\"\u003d\u003dtypeof n?n:Function(n)),r)}:t};i(i.G+i.B+i.F*a,{setTimeout:f(e.setTimeout),setInterval:f(e.setInterval)})},{33:33,40:40,46:46,88:88}],327:[function(t,n,r){t(254),t(191),t(193),t(192),t(195),t(197),t(202),t(196),t(194),t(204),t(203),t(199),t(200),t(198),t(190),t(201),t(205),t(206),t(157),t(159),t(158),t(208),t(207),t(178),t(188),t(189),t(179),t(180),t(181),t(182),t(183),t(184),t(185),t(186),t(187),t(161),t(162),t(163),t(164),t(165),t(166),t(167),t(168),t(169),t(170),t(171),t(172),t(173),t(174),t(175),t(176),t(177),t(241),t(246),t(253),t(244),t(236),t(237),t(242),t(247),t(249),t(232),t(233),t(234),t(235),t(238),t(239),t(240),t(243),t(245),t(248),t(250),t(251),t(252),t(152),t(154),t(153),t(156),t(155),t(140),t(138),t(145),t(142),t(148),t(150),t(137),t(144),t(134),t(149),t(132),t(147),t(146),t(139),t(143),t(131),t(133),t(136),t(135),t(151),t(141),t(224),t(230),t(225),t(226),t(227),t(228),t(229),t(209),t(160),t(231),t(266),t(267),t(255),t(256),t(261),t(264),t(265),t(259),t(262),t(260),t(263),t(257),t(258),t(210),t(211),t(212),t(213),t(214),t(217),t(215),t(216),t(218),t(219),t(220),t(221),t(223),t(222),t(270),t(268),t(269),t(311),t(314),t(313),t(315),t(316),t(312),t(317),t(318),t(292),t(295),t(291),t(289),t(290),t(293),t(294),t(276),t(310),t(275),t(309),t(321),t(323),t(274),t(308),t(320),t(322),t(273),t(319),t(272),t(277),t(278),t(279),t(280),t(281),t(283),t(282),t(284),t(285),t(286),t(288),t(287),t(297),t(298),t(299),t(300),t(302),t(301),t(304),t(303),t(305),t(306),t(307),t(271),t(296),t(326),t(325),t(324),n.exports\u003dt(23)},{131:131,132:132,133:133,134:134,135:135,136:136,137:137,138:138,139:139,140:140,141:141,142:142,143:143,144:144,145:145,146:146,147:147,148:148,149:149,150:150,151:151,152:152,153:153,154:154,155:155,156:156,157:157,158:158,159:159,160:160,161:161,162:162,163:163,164:164,165:165,166:166,167:167,168:168,169:169,170:170,171:171,172:172,173:173,174:174,175:175,176:176,177:177,178:178,179:179,180:180,181:181,182:182,183:183,184:184,185:185,"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"186:186,187:187,188:188,189:189,190:190,191:191,192:192,193:193,194:194,195:195,196:196,197:197,198:198,199:199,200:200,201:201,202:202,203:203,204:204,205:205,206:206,207:207,208:208,209:209,210:210,211:211,212:212,213:213,214:214,215:215,216:216,217:217,218:218,219:219,220:220,221:221,222:222,223:223,224:224,225:225,226:226,227:227,228:228,229:229,23:23,230:230,231:231,232:232,233:233,234:234,235:235,236:236,237:237,238:238,239:239,240:240,241:241,242:242,243:243,244:244,245:245,246:246,247:247,248:248,249:249,250:250,251:251,252:252,253:253,254:254,255:255,256:256,257:257,258:258,259:259,260:260,261:261,262:262,263:263,264:264,265:265,266:266,267:267,268:268,269:269,270:270,271:271,272:272,273:273,274:274,275:275,276:276,277:277,278:278,279:279,280:280,281:281,282:282,283:283,284:284,285:285,286:286,287:287,288:288,289:289,290:290,291:291,292:292,293:293,294:294,295:295,296:296,297:297,298:298,299:299,300:300,301:301,302:302,303:303,304:304,305:305,306:306,307:307,308:308,309:309,310:310,311:311,312:312,313:313,314:314,315:315,316:316,317:317,318:318,319:319,320:320,321:321,322:322,323:323,324:324,325:325,326:326}],328:[function(t,n,r){(function(t){!function(t){\"use strict\";function wrap(t,n,r,e){var i\u003dn\u0026\u0026n.prototype instanceof Generator?n:Generator,o\u003dObject.create(i.prototype),u\u003dnew Context(e||[]);return o._invoke\u003dmakeInvokeMethod(t,r,u),o}function tryCatch(t,n,r){try{return{type:\"normal\",arg:t.call(n,r)}}catch(t){return{type:\"throw\",arg:t}}}function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}function defineIteratorMethods(t){[\"next\",\"throw\",\"return\"].forEach(function(n){t[n]\u003dfunction(t){return this._invoke(n,t)}})}function AsyncIterator(n){function invoke(t,r,e,o){var u\u003dtryCatch(n[t],n,r);if(\"throw\"!\u003d\u003du.type){var c\u003du.arg,a\u003dc.value;return a\u0026\u0026\"object\"\u003d\u003dtypeof a\u0026\u0026i.call(a,\"__await\")?Promise.resolve(a.__await).then(function(t){invoke(\"next\",t,e,o)},function(t){invoke(\"throw\",t,e,o)}):Promise.resolve(a).then(function(t){c.value\u003dt,e(c)},o)}o(u.arg)}function enqueue(t,n){function callInvokeWithMethodAndArg(){return new Promise(function(r,e){invoke(t,n,r,e)})}return r\u003dr?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}\"object\"\u003d\u003dtypeof t.process\u0026\u0026t.process.domain\u0026\u0026(invoke\u003dt.process.domain.bind(invoke));var r;this._invoke\u003denqueue}function makeInvokeMethod(t,n,r){var e\u003dl;return function invoke(i,o){if(e\u003d\u003d\u003dv)throw new Error(\"Generator is already running\");if(e\u003d\u003d\u003dp){if(\"throw\"\u003d\u003d\u003di)throw o;return doneResult()}for(r.method\u003di,r.arg\u003do;;){var u\u003dr.delegate;if(u){var c\u003dmaybeInvokeDelegate(u,r);if(c){if(c\u003d\u003d\u003dd)continue;return c}}if(\"next\"\u003d\u003d\u003dr.method)r.sent\u003dr._sent\u003dr.arg;else if(\"throw\"\u003d\u003d\u003dr.method){if(e\u003d\u003d\u003dl)throw e\u003dp,r.arg;r.dispatchException(r.arg)}else\"return\"\u003d\u003d\u003dr.method\u0026\u0026r.abrupt(\"return\",r.arg);e\u003dv;var a\u003dtryCatch(t,n,r);if(\"normal\"\u003d\u003d\u003da.type){if(e\u003dr.done?p:h,a.arg\u003d\u003d\u003dd)continue;return{value:a.arg,done:r.done}}\"throw\"\u003d\u003d\u003da.type\u0026\u0026(e\u003dp,r.method\u003d\"throw\",r.arg\u003da.arg)}}}function maybeInvokeDelegate(t,n){var e\u003dt.iterator[n.method];if(e\u003d\u003d\u003dr){if(n.delegate\u003dnull,\"throw\"\u003d\u003d\u003dn.method){if(t.iterator.return\u0026\u0026(n.method\u003d\"return\",n.arg\u003dr,maybeInvokeDelegate(t,n),\"throw\"\u003d\u003d\u003dn.method))return d;n.method\u003d\"throw\",n.arg\u003dnew TypeError(\"The iterator does not provide a \u0027throw\u0027 method\")}return d}var i\u003dtryCatch(e,t.iterator,n.arg);if(\"throw\"\u003d\u003d\u003di.type)return n.method\u003d\"throw\",n.arg\u003di.arg,n.delegate\u003dnull,d;var o\u003di.arg;return o?o.done?(n[t.resultName]\u003do.value,n.next\u003dt.nextLoc,\"return\"!\u003d\u003dn.method\u0026\u0026(n.method\u003d\"next\",n.arg\u003dr),n.delegate\u003dnull,d):o:(n.method\u003d\"throw\",n.arg\u003dnew TypeError(\"iterator result is not an object\"),n.delegate\u003dnull,d)}function pushTryEntry(t){var n\u003d{tryLoc:t[0]};1 in t\u0026\u0026(n.catchLoc\u003dt[1]),2 in t\u0026\u0026(n.finallyLoc\u003dt[2],n.afterLoc\u003dt[3]),this.tryEntries.push(n)}function resetTryEntry(t){var n\u003dt.completion||{};n.type\u003d\"normal\",delete n.arg,t.completion\u003dn}function Context(t){this.tryEntries\u003d[{tryLoc:\"root\"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(t){if(t){var n\u003dt[u];if(n)return n.call(t);if(\"function\"\u003d\u003dtypeof t.next)return t;if(!isNaN(t.length)){var e\u003d-1,o\u003dfunction next(){for(;++e\u003ct.length;)if(i.call(t,e))return next.value\u003dt[e],next.done\u003d!1,next;return next.value\u003dr,next.done\u003d!0,next};return o.next\u003do}}return{next:doneResult}}function doneResult(){return{value:r,done:!0}}var r,e\u003dObject.prototype,i\u003de.hasOwnProperty,o\u003d\"function\"\u003d\u003dtypeof Symbol?Symbol:{},u\u003do.iterator||\"@@iterator\",c\u003do.asyncIterator||\"@@asyncIterator\",a\u003do.toStringTag||\"@@toStringTag\",f\u003d\"object\"\u003d\u003dtypeof n,s\u003dt.regeneratorRuntime;if(s)return void(f\u0026\u0026(n.exports\u003ds));s\u003dt.regeneratorRuntime\u003df?n.exports:{},s.wrap\u003dwrap;var l\u003d\"suspendedStart\",h\u003d\"suspendedYield\",v\u003d\"executing\",p\u003d\"completed\",d\u003d{},y\u003d{};y[u]\u003dfunction(){return this};var g\u003dObject.getPrototypeOf,m\u003dg\u0026\u0026g(g(values([])));m\u0026\u0026m!\u003d\u003de\u0026\u0026i.call(m,u)\u0026\u0026(y\u003dm);var b\u003dGeneratorFunctionPrototype.prototype\u003dGenerator.prototype\u003dObject.create(y);GeneratorFunction.prototype\u003db.constructor\u003dGeneratorFunctionPrototype,GeneratorFunctionPrototype.constructor\u003dGeneratorFunction,GeneratorFunctionPrototype[a]\u003dGeneratorFunction.displayName\u003d\"GeneratorFunction\",s.isGeneratorFunction\u003dfunction(t){var n\u003d\"function\"\u003d\u003dtypeof t\u0026\u0026t.constructor;return!!n\u0026\u0026(n\u003d\u003d\u003dGeneratorFunction||\"GeneratorFunction\"\u003d\u003d\u003d(n.displayName||n.name))},s.mark\u003dfunction(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__\u003dGeneratorFunctionPrototype,a in t||(t[a]\u003d\"GeneratorFunction\")),t.prototype\u003dObject.create(b),t},s.awrap\u003dfunction(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),AsyncIterator.prototype[c]\u003dfunction(){return this},s.AsyncIterator\u003dAsyncIterator,s.async\u003dfunction(t,n,r,e){var i\u003dnew AsyncIterator(wrap(t,n,r,e));return s.isGeneratorFunction(n)?i:i.next().then(function(t){return t.done?t.value:i.next()})},defineIteratorMethods(b),b[a]\u003d\"Generator\",b[u]\u003dfunction(){return this},b.toString\u003dfunction(){return\"[object Generator]\"},s.keys\u003dfunction(t){var n\u003d[];for(var r in t)n.push(r);return n.reverse(),function next(){for(;n.length;){var r\u003dn.pop();if(r in t)return next.value\u003dr,next.done\u003d!1,next}return next.done\u003d!0,next}},s.values\u003dvalues,Context.prototype\u003d{constructor:Context,reset:function(t){if(this.prev\u003d0,this.next\u003d0,this.sent\u003dthis._sent\u003dr,this.done\u003d!1,this.delegate\u003dnull,this.method\u003d\"next\",this.arg\u003dr,this.tryEntries.forEach(resetTryEntry),!t)for(var n in this)\"t\"\u003d\u003d\u003dn.charAt(0)\u0026\u0026i.call(this,n)\u0026\u0026!isNaN(+n.slice(1))\u0026\u0026(this[n]\u003dr)},stop:function(){this.done\u003d!0;var t\u003dthis.tryEntries[0],n\u003dt.completion;if(\"throw\"\u003d\u003d\u003dn.type)throw n.arg;return this.rval},dispatchException:function(t){function handle(e,i){return u.type\u003d\"throw\",u.arg\u003dt,n.next\u003de,i\u0026\u0026(n.method\u003d\"next\",n.arg\u003dr),!!i}if(this.done)throw t;for(var n\u003dthis,e\u003dthis.tryEntries.length-1;e\u003e\u003d0;--e){var o\u003dthis.tryEntries[e],u\u003do.completion;if(\"root\"\u003d\u003d\u003do.tryLoc)return handle(\"end\");if(o.tryLoc\u003c\u003dthis.prev){var c\u003di.call(o,\"catchLoc\"),a\u003di.call(o,\"finallyLoc\");if(c\u0026\u0026a){if(this.prev\u003co.catchLoc)return handle(o.catchLoc,!0);if(this.prev\u003co.finallyLoc)return handle(o.finallyLoc)}else if(c){if(this.prev\u003co.catchLoc)return handle(o.catchLoc,!0)}else{if(!a)throw new Error(\"try statement without catch or finally\");if(this.prev\u003co.finallyLoc)return handle(o.finallyLoc)}}}},abrupt:function(t,n){for(var r\u003dthis.tryEntries.length-1;r\u003e\u003d0;--r){var e\u003dthis.tryEntries[r];if(e.tryLoc\u003c\u003dthis.prev\u0026\u0026i.call(e,\"finallyLoc\")\u0026\u0026this.prev\u003ce.finallyLoc){var o\u003de;break}}o\u0026\u0026(\"break\"\u003d\u003d\u003dt||\"continue\"\u003d\u003d\u003dt)\u0026\u0026o.tryLoc\u003c\u003dn\u0026\u0026n\u003c\u003do.finallyLoc\u0026\u0026(o\u003dnull);var u\u003do?o.completion:{};return u.type\u003dt,u.arg\u003dn,o?(this.method\u003d\"next\",this.next\u003do.finallyLoc,d):this.complete(u)},complete:function(t,n){if(\"throw\"\u003d\u003d\u003dt.type)throw t.arg;return\"break\"\u003d\u003d\u003dt.type||\"continue\"\u003d\u003d\u003dt.type?this.next\u003dt.arg:\"return\"\u003d\u003d\u003dt.type?(this.rval\u003dthis.arg\u003dt.arg,this.method\u003d\"return\",this.next\u003d\"end\"):\"normal\"\u003d\u003d\u003dt.type\u0026\u0026n\u0026\u0026(this.next\u003dn),d},finish:function(t){for(var n\u003dthis.tryEntries.length-1;n\u003e\u003d0;--n){var r\u003dthis.tryEntries[n];if(r.finallyLoc\u003d\u003d\u003dt)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),d}},catch:function(t){for(var n\u003dthis.tryEntries.length-1;n\u003e\u003d0;--n){var r\u003dthis.tryEntries[n];if(r.tryLoc\u003d\u003d\u003dt){var e\u003dr.completion;if(\"throw\"\u003d\u003d\u003de.type){var i\u003de.arg;resetTryEntry(r)}return i}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,n,e){return this.delegate\u003d{iterator:values(t),resultName:n,nextLoc:e},\"next\"\u003d\u003d\u003dthis.method\u0026\u0026(this.arg\u003dr),d}}}(\"object\"\u003d\u003dtypeof t?t:\"object\"\u003d\u003dtypeof window?window:\"object\"\u003d\u003dtypeof self?self:this)}).call(this,\"undefined\"!\u003dtypeof global?global:\"undefined\"!\u003dtypeof self?self:\"undefined\"!\u003dtypeof window?window:{})},{}]},{},[1]);"}],"authorContributionMap":{"jingting1412":4}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/js/vue.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" * Vue.js v2.6.14"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" * (c) 2014-2021 Evan You"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" * Released under the MIT License."},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" */"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"!function(e,t){\"object\"\u003d\u003dtypeof exports\u0026\u0026\"undefined\"!\u003dtypeof module?module.exports\u003dt():\"function\"\u003d\u003dtypeof define\u0026\u0026define.amd?define(t):(e\u003de||self).Vue\u003dt()}(this,function(){\"use strict\";var e\u003dObject.freeze({});function t(e){return null\u003d\u003de}function n(e){return null!\u003de}function r(e){return!0\u003d\u003d\u003de}function i(e){return\"string\"\u003d\u003dtypeof e||\"number\"\u003d\u003dtypeof e||\"symbol\"\u003d\u003dtypeof e||\"boolean\"\u003d\u003dtypeof e}function o(e){return null!\u003d\u003de\u0026\u0026\"object\"\u003d\u003dtypeof e}var a\u003dObject.prototype.toString;function s(e){return\"[object Object]\"\u003d\u003d\u003da.call(e)}function c(e){var t\u003dparseFloat(String(e));return t\u003e\u003d0\u0026\u0026Math.floor(t)\u003d\u003d\u003dt\u0026\u0026isFinite(e)}function u(e){return n(e)\u0026\u0026\"function\"\u003d\u003dtypeof e.then\u0026\u0026\"function\"\u003d\u003dtypeof e.catch}function l(e){return null\u003d\u003de?\"\":Array.isArray(e)||s(e)\u0026\u0026e.toString\u003d\u003d\u003da?JSON.stringify(e,null,2):String(e)}function f(e){var t\u003dparseFloat(e);return isNaN(t)?e:t}function p(e,t){for(var n\u003dObject.create(null),r\u003de.split(\",\"),i\u003d0;i\u003cr.length;i++)n[r[i]]\u003d!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}var d\u003dp(\"slot,component\",!0),v\u003dp(\"key,ref,slot,slot-scope,is\");function h(e,t){if(e.length){var n\u003de.indexOf(t);if(n\u003e-1)return e.splice(n,1)}}var m\u003dObject.prototype.hasOwnProperty;function y(e,t){return m.call(e,t)}function g(e){var t\u003dObject.create(null);return function(n){return t[n]||(t[n]\u003de(n))}}var _\u003d/-(\\w)/g,b\u003dg(function(e){return e.replace(_,function(e,t){return t?t.toUpperCase():\"\"})}),$\u003dg(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),w\u003d/\\B([A-Z])/g,C\u003dg(function(e){return e.replace(w,\"-$1\").toLowerCase()});var x\u003dFunction.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r\u003darguments.length;return r?r\u003e1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length\u003de.length,n};function k(e,t){t\u003dt||0;for(var n\u003de.length-t,r\u003dnew Array(n);n--;)r[n]\u003de[n+t];return r}function A(e,t){for(var n in t)e[n]\u003dt[n];return e}function O(e){for(var t\u003d{},n\u003d0;n\u003ce.length;n++)e[n]\u0026\u0026A(t,e[n]);return t}function S(e,t,n){}var T\u003dfunction(e,t,n){return!1},N\u003dfunction(e){return e};function E(e,t){if(e\u003d\u003d\u003dt)return!0;var n\u003do(e),r\u003do(t);if(!n||!r)return!n\u0026\u0026!r\u0026\u0026String(e)\u003d\u003d\u003dString(t);try{var i\u003dArray.isArray(e),a\u003dArray.isArray(t);if(i\u0026\u0026a)return e.length\u003d\u003d\u003dt.length\u0026\u0026e.every(function(e,n){return E(e,t[n])});if(e instanceof Date\u0026\u0026t instanceof Date)return e.getTime()\u003d\u003d\u003dt.getTime();if(i||a)return!1;var s\u003dObject.keys(e),c\u003dObject.keys(t);return s.length\u003d\u003d\u003dc.length\u0026\u0026s.every(function(n){return E(e[n],t[n])})}catch(e){return!1}}function j(e,t){for(var n\u003d0;n\u003ce.length;n++)if(E(e[n],t))return n;return-1}function D(e){var t\u003d!1;return function(){t||(t\u003d!0,e.apply(this,arguments))}}var L\u003d\"data-server-rendered\",I\u003d[\"component\",\"directive\",\"filter\"],M\u003d[\"beforeCreate\",\"created\",\"beforeMount\",\"mounted\",\"beforeUpdate\",\"updated\",\"beforeDestroy\",\"destroyed\",\"activated\",\"deactivated\",\"errorCaptured\",\"serverPrefetch\"],F\u003d{optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:T,isReservedAttr:T,isUnknownElement:T,getTagNamespace:S,parsePlatformTagName:N,mustUseProp:T,async:!0,_lifecycleHooks:M},P\u003d/a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;function R(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var H\u003dnew RegExp(\"[^\"+P.source+\".$_\\\\d]\");var B,U\u003d\"__proto__\"in{},V\u003d\"undefined\"!\u003dtypeof window,z\u003d\"undefined\"!\u003dtypeof WXEnvironment\u0026\u0026!!WXEnvironment.platform,K\u003dz\u0026\u0026WXEnvironment.platform.toLowerCase(),J\u003dV\u0026\u0026window.navigator.userAgent.toLowerCase(),q\u003dJ\u0026\u0026/msie|trident/.test(J),W\u003dJ\u0026\u0026J.indexOf(\"msie 9.0\")\u003e0,Z\u003dJ\u0026\u0026J.indexOf(\"edge/\")\u003e0,G\u003d(J\u0026\u0026J.indexOf(\"android\"),J\u0026\u0026/iphone|ipad|ipod|ios/.test(J)||\"ios\"\u003d\u003d\u003dK),X\u003d(J\u0026\u0026/chrome\\/\\d+/.test(J),J\u0026\u0026/phantomjs/.test(J),J\u0026\u0026J.match(/firefox\\/(\\d+)/)),Y\u003d{}.watch,Q\u003d!1;if(V)try{var ee\u003d{};Object.defineProperty(ee,\"passive\",{get:function(){Q\u003d!0}}),window.addEventListener(\"test-passive\",null,ee)}catch(e){}var te\u003dfunction(){return void 0\u003d\u003d\u003dB\u0026\u0026(B\u003d!V\u0026\u0026!z\u0026\u0026\"undefined\"!\u003dtypeof global\u0026\u0026(global.process\u0026\u0026\"server\"\u003d\u003d\u003dglobal.process.env.VUE_ENV)),B},ne\u003dV\u0026\u0026window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function re(e){return\"function\"\u003d\u003dtypeof e\u0026\u0026/native code/.test(e.toString())}var ie,oe\u003d\"undefined\"!\u003dtypeof Symbol\u0026\u0026re(Symbol)\u0026\u0026\"undefined\"!\u003dtypeof Reflect\u0026\u0026re(Reflect.ownKeys);ie\u003d\"undefined\"!\u003dtypeof Set\u0026\u0026re(Set)?Set:function(){function e(){this.set\u003dObject.create(null)}return e.prototype.has\u003dfunction(e){return!0\u003d\u003d\u003dthis.set[e]},e.prototype.add\u003dfunction(e){this.set[e]\u003d!0},e.prototype.clear\u003dfunction(){this.set\u003dObject.create(null)},e}();var ae\u003dS,se\u003d0,ce\u003dfunction(){this.id\u003dse++,this.subs\u003d[]};ce.prototype.addSub\u003dfunction(e){this.subs.push(e)},ce.prototype.removeSub\u003dfunction(e){h(this.subs,e)},ce.prototype.depend\u003dfunction(){ce.target\u0026\u0026ce.target.addDep(this)},ce.prototype.notify\u003dfunction(){for(var e\u003dthis.subs.slice(),t\u003d0,n\u003de.length;t\u003cn;t++)e[t].update()},ce.target\u003dnull;var ue\u003d[];function le(e){ue.push(e),ce.target\u003de}function fe(){ue.pop(),ce.target\u003due[ue.length-1]}var pe\u003dfunction(e,t,n,r,i,o,a,s){this.tag\u003de,this.data\u003dt,this.children\u003dn,this.text\u003dr,this.elm\u003di,this.ns\u003dvoid 0,this.context\u003do,this.fnContext\u003dvoid 0,this.fnOptions\u003dvoid 0,this.fnScopeId\u003dvoid 0,this.key\u003dt\u0026\u0026t.key,this.componentOptions\u003da,this.componentInstance\u003dvoid 0,this.parent\u003dvoid 0,this.raw\u003d!1,this.isStatic\u003d!1,this.isRootInsert\u003d!0,this.isComment\u003d!1,this.isCloned\u003d!1,this.isOnce\u003d!1,this.asyncFactory\u003ds,this.asyncMeta\u003dvoid 0,this.isAsyncPlaceholder\u003d!1},de\u003d{child:{configurable:!0}};de.child.get\u003dfunction(){return this.componentInstance},Object.defineProperties(pe.prototype,de);var ve\u003dfunction(e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d\"\");var t\u003dnew pe;return t.text\u003de,t.isComment\u003d!0,t};function he(e){return new pe(void 0,void 0,void 0,String(e))}function me(e){var t\u003dnew pe(e.tag,e.data,e.children\u0026\u0026e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns\u003de.ns,t.isStatic\u003de.isStatic,t.key\u003de.key,t.isComment\u003de.isComment,t.fnContext\u003de.fnContext,t.fnOptions\u003de.fnOptions,t.fnScopeId\u003de.fnScopeId,t.asyncMeta\u003de.asyncMeta,t.isCloned\u003d!0,t}var ye\u003dArray.prototype,ge\u003dObject.create(ye);[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\",\"sort\",\"reverse\"].forEach(function(e){var t\u003dye[e];R(ge,e,function(){for(var n\u003d[],r\u003darguments.length;r--;)n[r]\u003darguments[r];var i,o\u003dt.apply(this,n),a\u003dthis.__ob__;switch(e){case\"push\":case\"unshift\":i\u003dn;break;case\"splice\":i\u003dn.slice(2)}return i\u0026\u0026a.observeArray(i),a.dep.notify(),o})});var _e\u003dObject.getOwnPropertyNames(ge),be\u003d!0;function $e(e){be\u003de}var we\u003dfunction(e){var t;this.value\u003de,this.dep\u003dnew ce,this.vmCount\u003d0,R(e,\"__ob__\",this),Array.isArray(e)?(U?(t\u003dge,e.__proto__\u003dt):function(e,t,n){for(var r\u003d0,i\u003dn.length;r\u003ci;r++){var o\u003dn[r];R(e,o,t[o])}}(e,ge,_e),this.observeArray(e)):this.walk(e)};function Ce(e,t){var n;if(o(e)\u0026\u0026!(e instanceof pe))return y(e,\"__ob__\")\u0026\u0026e.__ob__ instanceof we?n\u003de.__ob__:be\u0026\u0026!te()\u0026\u0026(Array.isArray(e)||s(e))\u0026\u0026Object.isExtensible(e)\u0026\u0026!e._isVue\u0026\u0026(n\u003dnew we(e)),t\u0026\u0026n\u0026\u0026n.vmCount++,n}function xe(e,t,n,r,i){var o\u003dnew ce,a\u003dObject.getOwnPropertyDescriptor(e,t);if(!a||!1!\u003d\u003da.configurable){var s\u003da\u0026\u0026a.get,c\u003da\u0026\u0026a.set;s\u0026\u0026!c||2!\u003d\u003darguments.length||(n\u003de[t]);var u\u003d!i\u0026\u0026Ce(n);Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var t\u003ds?s.call(e):n;return ce.target\u0026\u0026(o.depend(),u\u0026\u0026(u.dep.depend(),Array.isArray(t)\u0026\u0026function e(t){for(var n\u003dvoid 0,r\u003d0,i\u003dt.length;r\u003ci;r++)(n\u003dt[r])\u0026\u0026n.__ob__\u0026\u0026n.__ob__.dep.depend(),Array.isArray(n)\u0026\u0026e(n)}(t))),t},set:function(t){var r\u003ds?s.call(e):n;t\u003d\u003d\u003dr||t!\u003dt\u0026\u0026r!\u003dr||s\u0026\u0026!c||(c?c.call(e,t):n\u003dt,u\u003d!i\u0026\u0026Ce(t),o.notify())}})}}function ke(e,t,n){if(Array.isArray(e)\u0026\u0026c(t))return e.length\u003dMath.max(e.length,t),e.splice(t,1,n),n;if(t in e\u0026\u0026!(t in Object.prototype))return e[t]\u003dn,n;var r\u003de.__ob__;return e._isVue||r\u0026\u0026r.vmCount?n:r?(xe(r.value,t,n),r.dep.notify(),n):(e[t]\u003dn,n)}function Ae(e,t){if(Array.isArray(e)\u0026\u0026c(t))e.splice(t,1);else{var n\u003de.__ob__;e._isVue||n\u0026\u0026n.vmCount||y(e,t)\u0026\u0026(delete e[t],n\u0026\u0026n.dep.notify())}}we.prototype.walk\u003dfunction(e){for(var t\u003dObject.keys(e),n\u003d0;n\u003ct.length;n++)xe(e,t[n])},we.prototype.observeArray\u003dfunction(e){for(var t\u003d0,n\u003de.length;t\u003cn;t++)Ce(e[t])};var Oe\u003dF.optionMergeStrategies;function Se(e,t){if(!t)return e;for(var n,r,i,o\u003doe?Reflect.ownKeys(t):Object.keys(t),a\u003d0;a\u003co.length;a++)\"__ob__\"!\u003d\u003d(n\u003do[a])\u0026\u0026(r\u003de[n],i\u003dt[n],y(e,n)?r!\u003d\u003di\u0026\u0026s(r)\u0026\u0026s(i)\u0026\u0026Se(r,i):ke(e,n,i));return e}function Te(e,t,n){return n?function(){var r\u003d\"function\"\u003d\u003dtypeof t?t.call(n,n):t,i\u003d\"function\"\u003d\u003dtypeof e?e.call(n,n):e;return r?Se(r,i):i}:t?e?function(){return Se(\"function\"\u003d\u003dtypeof t?t.call(this,this):t,\"function\"\u003d\u003dtypeof e?e.call(this,this):e)}:t:e}function Ne(e,t){var n\u003dt?e?e.concat(t):Array.isArray(t)?t:[t]:e;return n?function(e){for(var t\u003d[],n\u003d0;n\u003ce.length;n++)-1\u003d\u003d\u003dt.indexOf(e[n])\u0026\u0026t.push(e[n]);return t}(n):n}function Ee(e,t,n,r){var i\u003dObject.create(e||null);return t?A(i,t):i}Oe.data\u003dfunction(e,t,n){return n?Te(e,t,n):t\u0026\u0026\"function\"!\u003dtypeof t?e:Te(e,t)},M.forEach(function(e){Oe[e]\u003dNe}),I.forEach(function(e){Oe[e+\"s\"]\u003dEe}),Oe.watch\u003dfunction(e,t,n,r){if(e\u003d\u003d\u003dY\u0026\u0026(e\u003dvoid 0),t\u003d\u003d\u003dY\u0026\u0026(t\u003dvoid 0),!t)return Object.create(e||null);if(!e)return t;var i\u003d{};for(var o in A(i,e),t){var a\u003di[o],s\u003dt[o];a\u0026\u0026!Array.isArray(a)\u0026\u0026(a\u003d[a]),i[o]\u003da?a.concat(s):Array.isArray(s)?s:[s]}return i},Oe.props\u003dOe.methods\u003dOe.inject\u003dOe.computed\u003dfunction(e,t,n,r){if(!e)return t;var i\u003dObject.create(null);return A(i,e),t\u0026\u0026A(i,t),i},Oe.provide\u003dTe;var je\u003dfunction(e,t){return void 0\u003d\u003d\u003dt?e:t};function De(e,t,n){if(\"function\"\u003d\u003dtypeof t\u0026\u0026(t\u003dt.options),function(e,t){var n\u003de.props;if(n){var r,i,o\u003d{};if(Array.isArray(n))for(r\u003dn.length;r--;)\"string\"\u003d\u003dtypeof(i\u003dn[r])\u0026\u0026(o[b(i)]\u003d{type:null});else if(s(n))for(var a in n)i\u003dn[a],o[b(a)]\u003ds(i)?i:{type:i};e.props\u003do}}(t),function(e,t){var n\u003de.inject;if(n){var r\u003de.inject\u003d{};if(Array.isArray(n))for(var i\u003d0;i\u003cn.length;i++)r[n[i]]\u003d{from:n[i]};else if(s(n))for(var o in n){var a\u003dn[o];r[o]\u003ds(a)?A({from:o},a):{from:a}}}}(t),function(e){var t\u003de.directives;if(t)for(var n in t){var r\u003dt[n];\"function\"\u003d\u003dtypeof r\u0026\u0026(t[n]\u003d{bind:r,update:r})}}(t),!t._base\u0026\u0026(t.extends\u0026\u0026(e\u003dDe(e,t.extends,n)),t.mixins))for(var r\u003d0,i\u003dt.mixins.length;r\u003ci;r++)e\u003dDe(e,t.mixins[r],n);var o,a\u003d{};for(o in e)c(o);for(o in t)y(e,o)||c(o);function c(r){var i\u003dOe[r]||je;a[r]\u003di(e[r],t[r],n,r)}return a}function Le(e,t,n,r){if(\"string\"\u003d\u003dtypeof n){var i\u003de[t];if(y(i,n))return i[n];var o\u003db(n);if(y(i,o))return i[o];var a\u003d$(o);return y(i,a)?i[a]:i[n]||i[o]||i[a]}}function Ie(e,t,n,r){var i\u003dt[e],o\u003d!y(n,e),a\u003dn[e],s\u003dRe(Boolean,i.type);if(s\u003e-1)if(o\u0026\u0026!y(i,\"default\"))a\u003d!1;else if(\"\"\u003d\u003d\u003da||a\u003d\u003d\u003dC(e)){var c\u003dRe(String,i.type);(c\u003c0||s\u003cc)\u0026\u0026(a\u003d!0)}if(void 0\u003d\u003d\u003da){a\u003dfunction(e,t,n){if(!y(t,\"default\"))return;var r\u003dt.default;if(e\u0026\u0026e.$options.propsData\u0026\u0026void 0\u003d\u003d\u003de.$options.propsData[n]\u0026\u0026void 0!\u003d\u003de._props[n])return e._props[n];return\"function\"\u003d\u003dtypeof r\u0026\u0026\"Function\"!\u003d\u003dFe(t.type)?r.call(e):r}(r,i,e);var u\u003dbe;$e(!0),Ce(a),$e(u)}return a}var Me\u003d/^\\s*function (\\w+)/;function Fe(e){var t\u003de\u0026\u0026e.toString().match(Me);return t?t[1]:\"\"}function Pe(e,t){return Fe(e)\u003d\u003d\u003dFe(t)}function Re(e,t){if(!Array.isArray(t))return Pe(t,e)?0:-1;for(var n\u003d0,r\u003dt.length;n\u003cr;n++)if(Pe(t[n],e))return n;return-1}function He(e,t,n){le();try{if(t)for(var r\u003dt;r\u003dr.$parent;){var i\u003dr.$options.errorCaptured;if(i)for(var o\u003d0;o\u003ci.length;o++)try{if(!1\u003d\u003d\u003di[o].call(r,e,t,n))return}catch(e){Ue(e,r,\"errorCaptured hook\")}}Ue(e,t,n)}finally{fe()}}function Be(e,t,n,r,i){var o;try{(o\u003dn?e.apply(t,n):e.call(t))\u0026\u0026!o._isVue\u0026\u0026u(o)\u0026\u0026!o._handled\u0026\u0026(o.catch(function(e){return He(e,r,i+\" (Promise/async)\")}),o._handled\u003d!0)}catch(e){He(e,r,i)}return o}function Ue(e,t,n){if(F.errorHandler)try{return F.errorHandler.call(null,e,t,n)}catch(t){t!\u003d\u003de\u0026\u0026Ve(t,null,\"config.errorHandler\")}Ve(e,t,n)}function Ve(e,t,n){if(!V\u0026\u0026!z||\"undefined\"\u003d\u003dtypeof console)throw e;console.error(e)}var ze,Ke\u003d!1,Je\u003d[],qe\u003d!1;function We(){qe\u003d!1;var e\u003dJe.slice(0);Je.length\u003d0;for(var t\u003d0;t\u003ce.length;t++)e[t]()}if(\"undefined\"!\u003dtypeof Promise\u0026\u0026re(Promise)){var Ze\u003dPromise.resolve();ze\u003dfunction(){Ze.then(We),G\u0026\u0026setTimeout(S)},Ke\u003d!0}else if(q||\"undefined\"\u003d\u003dtypeof MutationObserver||!re(MutationObserver)\u0026\u0026\"[object MutationObserverConstructor]\"!\u003d\u003dMutationObserver.toString())ze\u003d\"undefined\"!\u003dtypeof setImmediate\u0026\u0026re(setImmediate)?function(){setImmediate(We)}:function(){setTimeout(We,0)};else{var Ge\u003d1,Xe\u003dnew MutationObserver(We),Ye\u003ddocument.createTextNode(String(Ge));Xe.observe(Ye,{characterData:!0}),ze\u003dfunction(){Ge\u003d(Ge+1)%2,Ye.data\u003dString(Ge)},Ke\u003d!0}function Qe(e,t){var n;if(Je.push(function(){if(e)try{e.call(t)}catch(e){He(e,t,\"nextTick\")}else n\u0026\u0026n(t)}),qe||(qe\u003d!0,ze()),!e\u0026\u0026\"undefined\"!\u003dtypeof Promise)return new Promise(function(e){n\u003de})}var et\u003dnew ie;function tt(e){!function e(t,n){var r,i;var a\u003dArray.isArray(t);if(!a\u0026\u0026!o(t)||Object.isFrozen(t)||t instanceof pe)return;if(t.__ob__){var s\u003dt.__ob__.dep.id;if(n.has(s))return;n.add(s)}if(a)for(r\u003dt.length;r--;)e(t[r],n);else for(i\u003dObject.keys(t),r\u003di.length;r--;)e(t[i[r]],n)}(e,et),et.clear()}var nt\u003dg(function(e){var t\u003d\"\u0026\"\u003d\u003d\u003de.charAt(0),n\u003d\"~\"\u003d\u003d\u003d(e\u003dt?e.slice(1):e).charAt(0),r\u003d\"!\"\u003d\u003d\u003d(e\u003dn?e.slice(1):e).charAt(0);return{name:e\u003dr?e.slice(1):e,once:n,capture:r,passive:t}});function rt(e,t){function n(){var e\u003darguments,r\u003dn.fns;if(!Array.isArray(r))return Be(r,null,arguments,t,\"v-on handler\");for(var i\u003dr.slice(),o\u003d0;o\u003ci.length;o++)Be(i[o],null,e,t,\"v-on handler\")}return n.fns\u003de,n}function it(e,n,i,o,a,s){var c,u,l,f;for(c in e)u\u003de[c],l\u003dn[c],f\u003dnt(c),t(u)||(t(l)?(t(u.fns)\u0026\u0026(u\u003de[c]\u003drt(u,s)),r(f.once)\u0026\u0026(u\u003de[c]\u003da(f.name,u,f.capture)),i(f.name,u,f.capture,f.passive,f.params)):u!\u003d\u003dl\u0026\u0026(l.fns\u003du,e[c]\u003dl));for(c in n)t(e[c])\u0026\u0026o((f\u003dnt(c)).name,n[c],f.capture)}function ot(e,i,o){var a;e instanceof pe\u0026\u0026(e\u003de.data.hook||(e.data.hook\u003d{}));var s\u003de[i];function c(){o.apply(this,arguments),h(a.fns,c)}t(s)?a\u003drt([c]):n(s.fns)\u0026\u0026r(s.merged)?(a\u003ds).fns.push(c):a\u003drt([s,c]),a.merged\u003d!0,e[i]\u003da}function at(e,t,r,i,o){if(n(t)){if(y(t,r))return e[r]\u003dt[r],o||delete t[r],!0;if(y(t,i))return e[r]\u003dt[i],o||delete t[i],!0}return!1}function st(e){return i(e)?[he(e)]:Array.isArray(e)?function e(o,a){var s\u003d[];var c,u,l,f;for(c\u003d0;c\u003co.length;c++)t(u\u003do[c])||\"boolean\"\u003d\u003dtypeof u||(l\u003ds.length-1,f\u003ds[l],Array.isArray(u)?u.length\u003e0\u0026\u0026(ct((u\u003de(u,(a||\"\")+\"_\"+c))[0])\u0026\u0026ct(f)\u0026\u0026(s[l]\u003dhe(f.text+u[0].text),u.shift()),s.push.apply(s,u)):i(u)?ct(f)?s[l]\u003dhe(f.text+u):\"\"!\u003d\u003du\u0026\u0026s.push(he(u)):ct(u)\u0026\u0026ct(f)?s[l]\u003dhe(f.text+u.text):(r(o._isVList)\u0026\u0026n(u.tag)\u0026\u0026t(u.key)\u0026\u0026n(a)\u0026\u0026(u.key\u003d\"__vlist\"+a+\"_\"+c+\"__\"),s.push(u)));return s}(e):void 0}function ct(e){return n(e)\u0026\u0026n(e.text)\u0026\u0026!1\u003d\u003d\u003de.isComment}function ut(e,t){if(e){for(var n\u003dObject.create(null),r\u003doe?Reflect.ownKeys(e):Object.keys(e),i\u003d0;i\u003cr.length;i++){var o\u003dr[i];if(\"__ob__\"!\u003d\u003do){for(var a\u003de[o].from,s\u003dt;s;){if(s._provided\u0026\u0026y(s._provided,a)){n[o]\u003ds._provided[a];break}s\u003ds.$parent}if(!s\u0026\u0026\"default\"in e[o]){var c\u003de[o].default;n[o]\u003d\"function\"\u003d\u003dtypeof c?c.call(t):c}}}return n}}function lt(e,t){if(!e||!e.length)return{};for(var n\u003d{},r\u003d0,i\u003de.length;r\u003ci;r++){var o\u003de[r],a\u003do.data;if(a\u0026\u0026a.attrs\u0026\u0026a.attrs.slot\u0026\u0026delete a.attrs.slot,o.context!\u003d\u003dt\u0026\u0026o.fnContext!\u003d\u003dt||!a||null\u003d\u003da.slot)(n.default||(n.default\u003d[])).push(o);else{var s\u003da.slot,c\u003dn[s]||(n[s]\u003d[]);\"template\"\u003d\u003d\u003do.tag?c.push.apply(c,o.children||[]):c.push(o)}}for(var u in n)n[u].every(ft)\u0026\u0026delete n[u];return n}function ft(e){return e.isComment\u0026\u0026!e.asyncFactory||\" \"\u003d\u003d\u003de.text}function pt(e){return e.isComment\u0026\u0026e.asyncFactory}function dt(t,n,r){var i,o\u003dObject.keys(n).length\u003e0,a\u003dt?!!t.$stable:!o,s\u003dt\u0026\u0026t.$key;if(t){if(t._normalized)return t._normalized;if(a\u0026\u0026r\u0026\u0026r!\u003d\u003de\u0026\u0026s\u003d\u003d\u003dr.$key\u0026\u0026!o\u0026\u0026!r.$hasNormal)return r;for(var c in i\u003d{},t)t[c]\u0026\u0026\"$\"!\u003d\u003dc[0]\u0026\u0026(i[c]\u003dvt(n,c,t[c]))}else i\u003d{};for(var u in n)u in i||(i[u]\u003dht(n,u));return t\u0026\u0026Object.isExtensible(t)\u0026\u0026(t._normalized\u003di),R(i,\"$stable\",a),R(i,\"$key\",s),R(i,\"$hasNormal\",o),i}function vt(e,t,n){var r\u003dfunction(){var e\u003darguments.length?n.apply(null,arguments):n({}),t\u003d(e\u003de\u0026\u0026\"object\"\u003d\u003dtypeof e\u0026\u0026!Array.isArray(e)?[e]:st(e))\u0026\u0026e[0];return e\u0026\u0026(!t||1\u003d\u003d\u003de.length\u0026\u0026t.isComment\u0026\u0026!pt(t))?void 0:e};return n.proxy\u0026\u0026Object.defineProperty(e,t,{get:r,enumerable:!0,configurable:!0}),r}function ht(e,t){return function(){return e[t]}}function mt(e,t){var r,i,a,s,c;if(Array.isArray(e)||\"string\"\u003d\u003dtypeof e)for(r\u003dnew Array(e.length),i\u003d0,a\u003de.length;i\u003ca;i++)r[i]\u003dt(e[i],i);else if(\"number\"\u003d\u003dtypeof e)for(r\u003dnew Array(e),i\u003d0;i\u003ce;i++)r[i]\u003dt(i+1,i);else if(o(e))if(oe\u0026\u0026e[Symbol.iterator]){r\u003d[];for(var u\u003de[Symbol.iterator](),l\u003du.next();!l.done;)r.push(t(l.value,r.length)),l\u003du.next()}else for(s\u003dObject.keys(e),r\u003dnew Array(s.length),i\u003d0,a\u003ds.length;i\u003ca;i++)c\u003ds[i],r[i]\u003dt(e[c],c,i);return n(r)||(r\u003d[]),r._isVList\u003d!0,r}function yt(e,t,n,r){var i,o\u003dthis.$scopedSlots[e];o?(n\u003dn||{},r\u0026\u0026(n\u003dA(A({},r),n)),i\u003do(n)||(\"function\"\u003d\u003dtypeof t?t():t)):i\u003dthis.$slots[e]||(\"function\"\u003d\u003dtypeof t?t():t);var a\u003dn\u0026\u0026n.slot;return a?this.$createElement(\"template\",{slot:a},i):i}function gt(e){return Le(this.$options,\"filters\",e)||N}function _t(e,t){return Array.isArray(e)?-1\u003d\u003d\u003de.indexOf(t):e!\u003d\u003dt}function bt(e,t,n,r,i){var o\u003dF.keyCodes[t]||n;return i\u0026\u0026r\u0026\u0026!F.keyCodes[t]?_t(i,r):o?_t(o,e):r?C(r)!\u003d\u003dt:void 0\u003d\u003d\u003de}function $t(e,t,n,r,i){if(n)if(o(n)){var a;Array.isArray(n)\u0026\u0026(n\u003dO(n));var s\u003dfunction(o){if(\"class\"\u003d\u003d\u003do||\"style\"\u003d\u003d\u003do||v(o))a\u003de;else{var s\u003de.attrs\u0026\u0026e.attrs.type;a\u003dr||F.mustUseProp(t,s,o)?e.domProps||(e.domProps\u003d{}):e.attrs||(e.attrs\u003d{})}var c\u003db(o),u\u003dC(o);c in a||u in a||(a[o]\u003dn[o],i\u0026\u0026((e.on||(e.on\u003d{}))[\"update:\"+o]\u003dfunction(e){n[o]\u003de}))};for(var c in n)s(c)}else;return e}function wt(e,t){var n\u003dthis._staticTrees||(this._staticTrees\u003d[]),r\u003dn[e];return r\u0026\u0026!t?r:(xt(r\u003dn[e]\u003dthis.$options.staticRenderFns[e].call(this._renderProxy,null,this),\"__static__\"+e,!1),r)}function Ct(e,t,n){return xt(e,\"__once__\"+t+(n?\"_\"+n:\"\"),!0),e}function xt(e,t,n){if(Array.isArray(e))for(var r\u003d0;r\u003ce.length;r++)e[r]\u0026\u0026\"string\"!\u003dtypeof e[r]\u0026\u0026kt(e[r],t+\"_\"+r,n);else kt(e,t,n)}function kt(e,t,n){e.isStatic\u003d!0,e.key\u003dt,e.isOnce\u003dn}function At(e,t){if(t)if(s(t)){var n\u003de.on\u003de.on?A({},e.on):{};for(var r in t){var i\u003dn[r],o\u003dt[r];n[r]\u003di?[].concat(i,o):o}}else;return e}function Ot(e,t,n,r){t\u003dt||{$stable:!n};for(var i\u003d0;i\u003ce.length;i++){var o\u003de[i];Array.isArray(o)?Ot(o,t,n):o\u0026\u0026(o.proxy\u0026\u0026(o.fn.proxy\u003d!0),t[o.key]\u003do.fn)}return r\u0026\u0026(t.$key\u003dr),t}function St(e,t){for(var n\u003d0;n\u003ct.length;n+\u003d2){var r\u003dt[n];\"string\"\u003d\u003dtypeof r\u0026\u0026r\u0026\u0026(e[t[n]]\u003dt[n+1])}return e}function Tt(e,t){return\"string\"\u003d\u003dtypeof e?t+e:e}function Nt(e){e._o\u003dCt,e._n\u003df,e._s\u003dl,e._l\u003dmt,e._t\u003dyt,e._q\u003dE,e._i\u003dj,e._m\u003dwt,e._f\u003dgt,e._k\u003dbt,e._b\u003d$t,e._v\u003dhe,e._e\u003dve,e._u\u003dOt,e._g\u003dAt,e._d\u003dSt,e._p\u003dTt}function Et(t,n,i,o,a){var s,c\u003dthis,u\u003da.options;y(o,\"_uid\")?(s\u003dObject.create(o))._original\u003do:(s\u003do,o\u003do._original);var l\u003dr(u._compiled),f\u003d!l;this.data\u003dt,this.props\u003dn,this.children\u003di,this.parent\u003do,this.listeners\u003dt.on||e,this.injections\u003dut(u.inject,o),this.slots\u003dfunction(){return c.$slots||dt(t.scopedSlots,c.$slots\u003dlt(i,o)),c.$slots},Object.defineProperty(this,\"scopedSlots\",{enumerable:!0,get:function(){return dt(t.scopedSlots,this.slots())}}),l\u0026\u0026(this.$options\u003du,this.$slots\u003dthis.slots(),this.$scopedSlots\u003ddt(t.scopedSlots,this.$slots)),u._scopeId?this._c\u003dfunction(e,t,n,r){var i\u003dHt(s,e,t,n,r,f);return i\u0026\u0026!Array.isArray(i)\u0026\u0026(i.fnScopeId\u003du._scopeId,i.fnContext\u003do),i}:this._c\u003dfunction(e,t,n,r){return Ht(s,e,t,n,r,f)}}function jt(e,t,n,r,i){var o\u003dme(e);return o.fnContext\u003dn,o.fnOptions\u003dr,t.slot\u0026\u0026((o.data||(o.data\u003d{})).slot\u003dt.slot),o}function Dt(e,t){for(var n in t)e[b(n)]\u003dt[n]}Nt(Et.prototype);var Lt\u003d{init:function(e,t){if(e.componentInstance\u0026\u0026!e.componentInstance._isDestroyed\u0026\u0026e.data.keepAlive){var r\u003de;Lt.prepatch(r,r)}else{(e.componentInstance\u003dfunction(e,t){var r\u003d{_isComponent:!0,_parentVnode:e,parent:t},i\u003de.data.inlineTemplate;n(i)\u0026\u0026(r.render\u003di.render,r.staticRenderFns\u003di.staticRenderFns);return new e.componentOptions.Ctor(r)}(e,Zt)).$mount(t?e.elm:void 0,t)}},prepatch:function(t,n){var r\u003dn.componentOptions;!function(t,n,r,i,o){var a\u003di.data.scopedSlots,s\u003dt.$scopedSlots,c\u003d!!(a\u0026\u0026!a.$stable||s!\u003d\u003de\u0026\u0026!s.$stable||a\u0026\u0026t.$scopedSlots.$key!\u003d\u003da.$key||!a\u0026\u0026t.$scopedSlots.$key),u\u003d!!(o||t.$options._renderChildren||c);t.$options._parentVnode\u003di,t.$vnode\u003di,t._vnode\u0026\u0026(t._vnode.parent\u003di);if(t.$options._renderChildren\u003do,t.$attrs\u003di.data.attrs||e,t.$listeners\u003dr||e,n\u0026\u0026t.$options.props){$e(!1);for(var l\u003dt._props,f\u003dt.$options._propKeys||[],p\u003d0;p\u003cf.length;p++){var d\u003df[p],v\u003dt.$options.props;l[d]\u003dIe(d,v,n,t)}$e(!0),t.$options.propsData\u003dn}r\u003dr||e;var h\u003dt.$options._parentListeners;t.$options._parentListeners\u003dr,Wt(t,r,h),u\u0026\u0026(t.$slots\u003dlt(o,i.context),t.$forceUpdate())}(n.componentInstance\u003dt.componentInstance,r.propsData,r.listeners,n,r.children)},insert:function(e){var t,n\u003de.context,r\u003de.componentInstance;r._isMounted||(r._isMounted\u003d!0,Qt(r,\"mounted\")),e.data.keepAlive\u0026\u0026(n._isMounted?((t\u003dr)._inactive\u003d!1,tn.push(t)):Yt(r,!0))},destroy:function(e){var t\u003de.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(n\u0026\u0026(t._directInactive\u003d!0,Xt(t)))return;if(!t._inactive){t._inactive\u003d!0;for(var r\u003d0;r\u003ct.$children.length;r++)e(t.$children[r]);Qt(t,\"deactivated\")}}(t,!0):t.$destroy())}},It\u003dObject.keys(Lt);function Mt(i,a,s,c,l){if(!t(i)){var f\u003ds.$options._base;if(o(i)\u0026\u0026(i\u003df.extend(i)),\"function\"\u003d\u003dtypeof i){var p;if(t(i.cid)\u0026\u0026void 0\u003d\u003d\u003d(i\u003dfunction(e,i){if(r(e.error)\u0026\u0026n(e.errorComp))return e.errorComp;if(n(e.resolved))return e.resolved;var a\u003dUt;a\u0026\u0026n(e.owners)\u0026\u0026-1\u003d\u003d\u003de.owners.indexOf(a)\u0026\u0026e.owners.push(a);if(r(e.loading)\u0026\u0026n(e.loadingComp))return e.loadingComp;if(a\u0026\u0026!n(e.owners)){var s\u003de.owners\u003d[a],c\u003d!0,l\u003dnull,f\u003dnull;a.$on(\"hook:destroyed\",function(){return h(s,a)});var p\u003dfunction(e){for(var t\u003d0,n\u003ds.length;t\u003cn;t++)s[t].$forceUpdate();e\u0026\u0026(s.length\u003d0,null!\u003d\u003dl\u0026\u0026(clearTimeout(l),l\u003dnull),null!\u003d\u003df\u0026\u0026(clearTimeout(f),f\u003dnull))},d\u003dD(function(t){e.resolved\u003dVt(t,i),c?s.length\u003d0:p(!0)}),v\u003dD(function(t){n(e.errorComp)\u0026\u0026(e.error\u003d!0,p(!0))}),m\u003de(d,v);return o(m)\u0026\u0026(u(m)?t(e.resolved)\u0026\u0026m.then(d,v):u(m.component)\u0026\u0026(m.component.then(d,v),n(m.error)\u0026\u0026(e.errorComp\u003dVt(m.error,i)),n(m.loading)\u0026\u0026(e.loadingComp\u003dVt(m.loading,i),0\u003d\u003d\u003dm.delay?e.loading\u003d!0:l\u003dsetTimeout(function(){l\u003dnull,t(e.resolved)\u0026\u0026t(e.error)\u0026\u0026(e.loading\u003d!0,p(!1))},m.delay||200)),n(m.timeout)\u0026\u0026(f\u003dsetTimeout(function(){f\u003dnull,t(e.resolved)\u0026\u0026v(null)},m.timeout)))),c\u003d!1,e.loading?e.loadingComp:e.resolved}}(p\u003di,f)))return function(e,t,n,r,i){var o\u003dve();return o.asyncFactory\u003de,o.asyncMeta\u003d{data:t,context:n,children:r,tag:i},o}(p,a,s,c,l);a\u003da||{},wn(i),n(a.model)\u0026\u0026function(e,t){var r\u003de.model\u0026\u0026e.model.prop||\"value\",i\u003de.model\u0026\u0026e.model.event||\"input\";(t.attrs||(t.attrs\u003d{}))[r]\u003dt.model.value;var o\u003dt.on||(t.on\u003d{}),a\u003do[i],s\u003dt.model.callback;n(a)?(Array.isArray(a)?-1\u003d\u003d\u003da.indexOf(s):a!\u003d\u003ds)\u0026\u0026(o[i]\u003d[s].concat(a)):o[i]\u003ds}(i.options,a);var d\u003dfunction(e,r,i){var o\u003dr.options.props;if(!t(o)){var a\u003d{},s\u003de.attrs,c\u003de.props;if(n(s)||n(c))for(var u in o){var l\u003dC(u);at(a,c,u,l,!0)||at(a,s,u,l,!1)}return a}}(a,i);if(r(i.options.functional))return function(t,r,i,o,a){var s\u003dt.options,c\u003d{},u\u003ds.props;if(n(u))for(var l in u)c[l]\u003dIe(l,u,r||e);else n(i.attrs)\u0026\u0026Dt(c,i.attrs),n(i.props)\u0026\u0026Dt(c,i.props);var f\u003dnew Et(i,c,a,o,t),p\u003ds.render.call(null,f._c,f);if(p instanceof pe)return jt(p,i,f.parent,s);if(Array.isArray(p)){for(var d\u003dst(p)||[],v\u003dnew Array(d.length),h\u003d0;h\u003cd.length;h++)v[h]\u003djt(d[h],i,f.parent,s);return v}}(i,d,a,s,c);var v\u003da.on;if(a.on\u003da.nativeOn,r(i.options.abstract)){var m\u003da.slot;a\u003d{},m\u0026\u0026(a.slot\u003dm)}!function(e){for(var t\u003de.hook||(e.hook\u003d{}),n\u003d0;n\u003cIt.length;n++){var r\u003dIt[n],i\u003dt[r],o\u003dLt[r];i\u003d\u003d\u003do||i\u0026\u0026i._merged||(t[r]\u003di?Ft(o,i):o)}}(a);var y\u003di.options.name||l;return new pe(\"vue-component-\"+i.cid+(y?\"-\"+y:\"\"),a,void 0,void 0,void 0,s,{Ctor:i,propsData:d,listeners:v,tag:l,children:c},p)}}}function Ft(e,t){var n\u003dfunction(n,r){e(n,r),t(n,r)};return n._merged\u003d!0,n}var Pt\u003d1,Rt\u003d2;function Ht(e,a,s,c,u,l){return(Array.isArray(s)||i(s))\u0026\u0026(u\u003dc,c\u003ds,s\u003dvoid 0),r(l)\u0026\u0026(u\u003dRt),function(e,i,a,s,c){if(n(a)\u0026\u0026n(a.__ob__))return ve();n(a)\u0026\u0026n(a.is)\u0026\u0026(i\u003da.is);if(!i)return ve();Array.isArray(s)\u0026\u0026\"function\"\u003d\u003dtypeof s[0]\u0026\u0026((a\u003da||{}).scopedSlots\u003d{default:s[0]},s.length\u003d0);c\u003d\u003d\u003dRt?s\u003dst(s):c\u003d\u003d\u003dPt\u0026\u0026(s\u003dfunction(e){for(var t\u003d0;t\u003ce.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(s));var u,l;if(\"string\"\u003d\u003dtypeof i){var f;l\u003de.$vnode\u0026\u0026e.$vnode.ns||F.getTagNamespace(i),u\u003dF.isReservedTag(i)?new pe(F.parsePlatformTagName(i),a,s,void 0,void 0,e):a\u0026\u0026a.pre||!n(f\u003dLe(e.$options,\"components\",i))?new pe(i,a,s,void 0,void 0,e):Mt(f,a,e,s,i)}else u\u003dMt(i,a,e,s);return Array.isArray(u)?u:n(u)?(n(l)\u0026\u0026function e(i,o,a){i.ns\u003do;\"foreignObject\"\u003d\u003d\u003di.tag\u0026\u0026(o\u003dvoid 0,a\u003d!0);if(n(i.children))for(var s\u003d0,c\u003di.children.length;s\u003cc;s++){var u\u003di.children[s];n(u.tag)\u0026\u0026(t(u.ns)||r(a)\u0026\u0026\"svg\"!\u003d\u003du.tag)\u0026\u0026e(u,o,a)}}(u,l),n(a)\u0026\u0026function(e){o(e.style)\u0026\u0026tt(e.style);o(e.class)\u0026\u0026tt(e.class)}(a),u):ve()}(e,a,s,c,u)}var Bt,Ut\u003dnull;function Vt(e,t){return(e.__esModule||oe\u0026\u0026\"Module\"\u003d\u003d\u003de[Symbol.toStringTag])\u0026\u0026(e\u003de.default),o(e)?t.extend(e):e}function zt(e){if(Array.isArray(e))for(var t\u003d0;t\u003ce.length;t++){var r\u003de[t];if(n(r)\u0026\u0026(n(r.componentOptions)||pt(r)))return r}}function Kt(e,t){Bt.$on(e,t)}function Jt(e,t){Bt.$off(e,t)}function qt(e,t){var n\u003dBt;return function r(){null!\u003d\u003dt.apply(null,arguments)\u0026\u0026n.$off(e,r)}}function Wt(e,t,n){Bt\u003de,it(t,n||{},Kt,Jt,qt,e),Bt\u003dvoid 0}var Zt\u003dnull;function Gt(e){var t\u003dZt;return Zt\u003de,function(){Zt\u003dt}}function Xt(e){for(;e\u0026\u0026(e\u003de.$parent);)if(e._inactive)return!0;return!1}function Yt(e,t){if(t){if(e._directInactive\u003d!1,Xt(e))return}else if(e._directInactive)return;if(e._inactive||null\u003d\u003d\u003de._inactive){e._inactive\u003d!1;for(var n\u003d0;n\u003ce.$children.length;n++)Yt(e.$children[n]);Qt(e,\"activated\")}}function Qt(e,t){le();var n\u003de.$options[t],r\u003dt+\" hook\";if(n)for(var i\u003d0,o\u003dn.length;i\u003co;i++)Be(n[i],e,null,e,r);e._hasHookEvent\u0026\u0026e.$emit(\"hook:\"+t),fe()}var en\u003d[],tn\u003d[],nn\u003d{},rn\u003d!1,on\u003d!1,an\u003d0;var sn\u003d0,cn\u003dDate.now;if(V\u0026\u0026!q){var un\u003dwindow.performance;un\u0026\u0026\"function\"\u003d\u003dtypeof un.now\u0026\u0026cn()\u003edocument.createEvent(\"Event\").timeStamp\u0026\u0026(cn\u003dfunction(){return un.now()})}function ln(){var e,t;for(sn\u003dcn(),on\u003d!0,en.sort(function(e,t){return e.id-t.id}),an\u003d0;an\u003cen.length;an++)(e\u003den[an]).before\u0026\u0026e.before(),t\u003de.id,nn[t]\u003dnull,e.run();var n\u003dtn.slice(),r\u003den.slice();an\u003den.length\u003dtn.length\u003d0,nn\u003d{},rn\u003don\u003d!1,function(e){for(var t\u003d0;t\u003ce.length;t++)e[t]._inactive\u003d!0,Yt(e[t],!0)}(n),function(e){var t\u003de.length;for(;t--;){var n\u003de[t],r\u003dn.vm;r._watcher\u003d\u003d\u003dn\u0026\u0026r._isMounted\u0026\u0026!r._isDestroyed\u0026\u0026Qt(r,\"updated\")}}(r),ne\u0026\u0026F.devtools\u0026\u0026ne.emit(\"flush\")}var fn\u003d0,pn\u003dfunction(e,t,n,r,i){this.vm\u003de,i\u0026\u0026(e._watcher\u003dthis),e._watchers.push(this),r?(this.deep\u003d!!r.deep,this.user\u003d!!r.user,this.lazy\u003d!!r.lazy,this.sync\u003d!!r.sync,this.before\u003dr.before):this.deep\u003dthis.user\u003dthis.lazy\u003dthis.sync\u003d!1,this.cb\u003dn,this.id\u003d++fn,this.active\u003d!0,this.dirty\u003dthis.lazy,this.deps\u003d[],this.newDeps\u003d[],this.depIds\u003dnew ie,this.newDepIds\u003dnew ie,this.expression\u003d\"\",\"function\"\u003d\u003dtypeof t?this.getter\u003dt:(this.getter\u003dfunction(e){if(!H.test(e)){var t\u003de.split(\".\");return function(e){for(var n\u003d0;n\u003ct.length;n++){if(!e)return;e\u003de[t[n]]}return e}}}(t),this.getter||(this.getter\u003dS)),this.value\u003dthis.lazy?void 0:this.get()};pn.prototype.get\u003dfunction(){var e;le(this);var t\u003dthis.vm;try{e\u003dthis.getter.call(t,t)}catch(e){if(!this.user)throw e;He(e,t,\u0027getter for watcher \"\u0027+this.expression+\u0027\"\u0027)}finally{this.deep\u0026\u0026tt(e),fe(),this.cleanupDeps()}return e},pn.prototype.addDep\u003dfunction(e){var t\u003de.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},pn.prototype.cleanupDeps\u003dfunction(){for(var e\u003dthis.deps.length;e--;){var t\u003dthis.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n\u003dthis.depIds;this.depIds\u003dthis.newDepIds,this.newDepIds\u003dn,this.newDepIds.clear(),n\u003dthis.deps,this.deps\u003dthis.newDeps,this.newDeps\u003dn,this.newDeps.length\u003d0},pn.prototype.update\u003dfunction(){this.lazy?this.dirty\u003d!0:this.sync?this.run():function(e){var t\u003de.id;if(null\u003d\u003dnn[t]){if(nn[t]\u003d!0,on){for(var n\u003den.length-1;n\u003ean\u0026\u0026en[n].id\u003ee.id;)n--;en.splice(n+1,0,e)}else en.push(e);rn||(rn\u003d!0,Qe(ln))}}(this)},pn.prototype.run\u003dfunction(){if(this.active){var e\u003dthis.get();if(e!\u003d\u003dthis.value||o(e)||this.deep){var t\u003dthis.value;if(this.value\u003de,this.user){var n\u003d\u0027callback for watcher \"\u0027+this.expression+\u0027\"\u0027;Be(this.cb,this.vm,[e,t],this.vm,n)}else this.cb.call(this.vm,e,t)}}},pn.prototype.evaluate\u003dfunction(){this.value\u003dthis.get(),this.dirty\u003d!1},pn.prototype.depend\u003dfunction(){for(var e\u003dthis.deps.length;e--;)this.deps[e].depend()},pn.prototype.teardown\u003dfunction(){if(this.active){this.vm._isBeingDestroyed||h(this.vm._watchers,this);for(var e\u003dthis.deps.length;e--;)this.deps[e].removeSub(this);this.active\u003d!1}};var dn\u003d{enumerable:!0,configurable:!0,get:S,set:S};function vn(e,t,n){dn.get\u003dfunction(){return this[t][n]},dn.set\u003dfunction(e){this[t][n]\u003de},Object.defineProperty(e,n,dn)}function hn(e){e._watchers\u003d[];var t\u003de.$options;t.props\u0026\u0026function(e,t){var n\u003de.$options.propsData||{},r\u003de._props\u003d{},i\u003de.$options._propKeys\u003d[];e.$parent\u0026\u0026$e(!1);var o\u003dfunction(o){i.push(o);var a\u003dIe(o,t,n,e);xe(r,o,a),o in e||vn(e,\"_props\",o)};for(var a in t)o(a);$e(!0)}(e,t.props),t.methods\u0026\u0026function(e,t){e.$options.props;for(var n in t)e[n]\u003d\"function\"!\u003dtypeof t[n]?S:x(t[n],e)}(e,t.methods),t.data?function(e){var t\u003de.$options.data;s(t\u003de._data\u003d\"function\"\u003d\u003dtypeof t?function(e,t){le();try{return e.call(t,t)}catch(e){return He(e,t,\"data()\"),{}}finally{fe()}}(t,e):t||{})||(t\u003d{});var n\u003dObject.keys(t),r\u003de.$options.props,i\u003d(e.$options.methods,n.length);for(;i--;){var o\u003dn[i];r\u0026\u0026y(r,o)||(a\u003dvoid 0,36!\u003d\u003d(a\u003d(o+\"\").charCodeAt(0))\u0026\u002695!\u003d\u003da\u0026\u0026vn(e,\"_data\",o))}var a;Ce(t,!0)}(e):Ce(e._data\u003d{},!0),t.computed\u0026\u0026function(e,t){var n\u003de._computedWatchers\u003dObject.create(null),r\u003dte();for(var i in t){var o\u003dt[i],a\u003d\"function\"\u003d\u003dtypeof o?o:o.get;r||(n[i]\u003dnew pn(e,a||S,S,mn)),i in e||yn(e,i,o)}}(e,t.computed),t.watch\u0026\u0026t.watch!\u003d\u003dY\u0026\u0026function(e,t){for(var n in t){var r\u003dt[n];if(Array.isArray(r))for(var i\u003d0;i\u003cr.length;i++)bn(e,n,r[i]);else bn(e,n,r)}}(e,t.watch)}var mn\u003d{lazy:!0};function yn(e,t,n){var r\u003d!te();\"function\"\u003d\u003dtypeof n?(dn.get\u003dr?gn(t):_n(n),dn.set\u003dS):(dn.get\u003dn.get?r\u0026\u0026!1!\u003d\u003dn.cache?gn(t):_n(n.get):S,dn.set\u003dn.set||S),Object.defineProperty(e,t,dn)}function gn(e){return function(){var t\u003dthis._computedWatchers\u0026\u0026this._computedWatchers[e];if(t)return t.dirty\u0026\u0026t.evaluate(),ce.target\u0026\u0026t.depend(),t.value}}function _n(e){return function(){return e.call(this,this)}}function bn(e,t,n,r){return s(n)\u0026\u0026(r\u003dn,n\u003dn.handler),\"string\"\u003d\u003dtypeof n\u0026\u0026(n\u003de[n]),e.$watch(t,n,r)}var $n\u003d0;function wn(e){var t\u003de.options;if(e.super){var n\u003dwn(e.super);if(n!\u003d\u003de.superOptions){e.superOptions\u003dn;var r\u003dfunction(e){var t,n\u003de.options,r\u003de.sealedOptions;for(var i in n)n[i]!\u003d\u003dr[i]\u0026\u0026(t||(t\u003d{}),t[i]\u003dn[i]);return t}(e);r\u0026\u0026A(e.extendOptions,r),(t\u003de.options\u003dDe(n,e.extendOptions)).name\u0026\u0026(t.components[t.name]\u003de)}}return t}function Cn(e){this._init(e)}function xn(e){e.cid\u003d0;var t\u003d1;e.extend\u003dfunction(e){e\u003de||{};var n\u003dthis,r\u003dn.cid,i\u003de._Ctor||(e._Ctor\u003d{});if(i[r])return i[r];var o\u003de.name||n.options.name,a\u003dfunction(e){this._init(e)};return(a.prototype\u003dObject.create(n.prototype)).constructor\u003da,a.cid\u003dt++,a.options\u003dDe(n.options,e),a.super\u003dn,a.options.props\u0026\u0026function(e){var t\u003de.options.props;for(var n in t)vn(e.prototype,\"_props\",n)}(a),a.options.computed\u0026\u0026function(e){var t\u003de.options.computed;for(var n in t)yn(e.prototype,n,t[n])}(a),a.extend\u003dn.extend,a.mixin\u003dn.mixin,a.use\u003dn.use,I.forEach(function(e){a[e]\u003dn[e]}),o\u0026\u0026(a.options.components[o]\u003da),a.superOptions\u003dn.options,a.extendOptions\u003de,a.sealedOptions\u003dA({},a.options),i[r]\u003da,a}}function kn(e){return e\u0026\u0026(e.Ctor.options.name||e.tag)}function An(e,t){return Array.isArray(e)?e.indexOf(t)\u003e-1:\"string\"\u003d\u003dtypeof e?e.split(\",\").indexOf(t)\u003e-1:(n\u003de,\"[object RegExp]\"\u003d\u003d\u003da.call(n)\u0026\u0026e.test(t));var n}function On(e,t){var n\u003de.cache,r\u003de.keys,i\u003de._vnode;for(var o in n){var a\u003dn[o];if(a){var s\u003da.name;s\u0026\u0026!t(s)\u0026\u0026Sn(n,o,r,i)}}}function Sn(e,t,n,r){var i\u003de[t];!i||r\u0026\u0026i.tag\u003d\u003d\u003dr.tag||i.componentInstance.$destroy(),e[t]\u003dnull,h(n,t)}!function(t){t.prototype._init\u003dfunction(t){var n\u003dthis;n._uid\u003d$n++,n._isVue\u003d!0,t\u0026\u0026t._isComponent?function(e,t){var n\u003de.$options\u003dObject.create(e.constructor.options),r\u003dt._parentVnode;n.parent\u003dt.parent,n._parentVnode\u003dr;var i\u003dr.componentOptions;n.propsData\u003di.propsData,n._parentListeners\u003di.listeners,n._renderChildren\u003di.children,n._componentTag\u003di.tag,t.render\u0026\u0026(n.render\u003dt.render,n.staticRenderFns\u003dt.staticRenderFns)}(n,t):n.$options\u003dDe(wn(n.constructor),t||{},n),n._renderProxy\u003dn,n._self\u003dn,function(e){var t\u003de.$options,n\u003dt.parent;if(n\u0026\u0026!t.abstract){for(;n.$options.abstract\u0026\u0026n.$parent;)n\u003dn.$parent;n.$children.push(e)}e.$parent\u003dn,e.$root\u003dn?n.$root:e,e.$children\u003d[],e.$refs\u003d{},e._watcher\u003dnull,e._inactive\u003dnull,e._directInactive\u003d!1,e._isMounted\u003d!1,e._isDestroyed\u003d!1,e._isBeingDestroyed\u003d!1}(n),function(e){e._events\u003dObject.create(null),e._hasHookEvent\u003d!1;var t\u003de.$options._parentListeners;t\u0026\u0026Wt(e,t)}(n),function(t){t._vnode\u003dnull,t._staticTrees\u003dnull;var n\u003dt.$options,r\u003dt.$vnode\u003dn._parentVnode,i\u003dr\u0026\u0026r.context;t.$slots\u003dlt(n._renderChildren,i),t.$scopedSlots\u003de,t._c\u003dfunction(e,n,r,i){return Ht(t,e,n,r,i,!1)},t.$createElement\u003dfunction(e,n,r,i){return Ht(t,e,n,r,i,!0)};var o\u003dr\u0026\u0026r.data;xe(t,\"$attrs\",o\u0026\u0026o.attrs||e,null,!0),xe(t,\"$listeners\",n._parentListeners||e,null,!0)}(n),Qt(n,\"beforeCreate\"),function(e){var t\u003dut(e.$options.inject,e);t\u0026\u0026($e(!1),Object.keys(t).forEach(function(n){xe(e,n,t[n])}),$e(!0))}(n),hn(n),function(e){var t\u003de.$options.provide;t\u0026\u0026(e._provided\u003d\"function\"\u003d\u003dtypeof t?t.call(e):t)}(n),Qt(n,\"created\"),n.$options.el\u0026\u0026n.$mount(n.$options.el)}}(Cn),function(e){var t\u003d{get:function(){return this._data}},n\u003d{get:function(){return this._props}};Object.defineProperty(e.prototype,\"$data\",t),Object.defineProperty(e.prototype,\"$props\",n),e.prototype.$set\u003dke,e.prototype.$delete\u003dAe,e.prototype.$watch\u003dfunction(e,t,n){if(s(t))return bn(this,e,t,n);(n\u003dn||{}).user\u003d!0;var r\u003dnew pn(this,e,t,n);if(n.immediate){var i\u003d\u0027callback for immediate watcher \"\u0027+r.expression+\u0027\"\u0027;le(),Be(t,this,[r.value],this,i),fe()}return function(){r.teardown()}}}(Cn),function(e){var t\u003d/^hook:/;e.prototype.$on\u003dfunction(e,n){var r\u003dthis;if(Array.isArray(e))for(var i\u003d0,o\u003de.length;i\u003co;i++)r.$on(e[i],n);else(r._events[e]||(r._events[e]\u003d[])).push(n),t.test(e)\u0026\u0026(r._hasHookEvent\u003d!0);return r},e.prototype.$once\u003dfunction(e,t){var n\u003dthis;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn\u003dt,n.$on(e,r),n},e.prototype.$off\u003dfunction(e,t){var n\u003dthis;if(!arguments.length)return n._events\u003dObject.create(null),n;if(Array.isArray(e)){for(var r\u003d0,i\u003de.length;r\u003ci;r++)n.$off(e[r],t);return n}var o,a\u003dn._events[e];if(!a)return n;if(!t)return n._events[e]\u003dnull,n;for(var s\u003da.length;s--;)if((o\u003da[s])\u003d\u003d\u003dt||o.fn\u003d\u003d\u003dt){a.splice(s,1);break}return n},e.prototype.$emit\u003dfunction(e){var t\u003dthis._events[e];if(t){t\u003dt.length\u003e1?k(t):t;for(var n\u003dk(arguments,1),r\u003d\u0027event handler for \"\u0027+e+\u0027\"\u0027,i\u003d0,o\u003dt.length;i\u003co;i++)Be(t[i],this,n,this,r)}return this}}(Cn),function(e){e.prototype._update\u003dfunction(e,t){var n\u003dthis,r\u003dn.$el,i\u003dn._vnode,o\u003dGt(n);n._vnode\u003de,n.$el\u003di?n.__patch__(i,e):n.__patch__(n.$el,e,t,!1),o(),r\u0026\u0026(r.__vue__\u003dnull),n.$el\u0026\u0026(n.$el.__vue__\u003dn),n.$vnode\u0026\u0026n.$parent\u0026\u0026n.$vnode\u003d\u003d\u003dn.$parent._vnode\u0026\u0026(n.$parent.$el\u003dn.$el)},e.prototype.$forceUpdate\u003dfunction(){this._watcher\u0026\u0026this._watcher.update()},e.prototype.$destroy\u003dfunction(){var e\u003dthis;if(!e._isBeingDestroyed){Qt(e,\"beforeDestroy\"),e._isBeingDestroyed\u003d!0;var t\u003de.$parent;!t||t._isBeingDestroyed||e.$options.abstract||h(t.$children,e),e._watcher\u0026\u0026e._watcher.teardown();for(var n\u003de._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__\u0026\u0026e._data.__ob__.vmCount--,e._isDestroyed\u003d!0,e.__patch__(e._vnode,null),Qt(e,\"destroyed\"),e.$off(),e.$el\u0026\u0026(e.$el.__vue__\u003dnull),e.$vnode\u0026\u0026(e.$vnode.parent\u003dnull)}}}(Cn),function(e){Nt(e.prototype),e.prototype.$nextTick\u003dfunction(e){return Qe(e,this)},e.prototype._render\u003dfunction(){var e,t\u003dthis,n\u003dt.$options,r\u003dn.render,i\u003dn._parentVnode;i\u0026\u0026(t.$scopedSlots\u003ddt(i.data.scopedSlots,t.$slots,t.$scopedSlots)),t.$vnode\u003di;try{Ut\u003dt,e\u003dr.call(t._renderProxy,t.$createElement)}catch(n){He(n,t,\"render\"),e\u003dt._vnode}finally{Ut\u003dnull}return Array.isArray(e)\u0026\u00261\u003d\u003d\u003de.length\u0026\u0026(e\u003de[0]),e instanceof pe||(e\u003dve()),e.parent\u003di,e}}(Cn);var Tn\u003d[String,RegExp,Array],Nn\u003d{KeepAlive:{name:\"keep-alive\",abstract:!0,props:{include:Tn,exclude:Tn,max:[String,Number]},methods:{cacheVNode:function(){var e\u003dthis.cache,t\u003dthis.keys,n\u003dthis.vnodeToCache,r\u003dthis.keyToCache;if(n){var i\u003dn.tag,o\u003dn.componentInstance,a\u003dn.componentOptions;e[r]\u003d{name:kn(a),tag:i,componentInstance:o},t.push(r),this.max\u0026\u0026t.length\u003eparseInt(this.max)\u0026\u0026Sn(e,t[0],t,this._vnode),this.vnodeToCache\u003dnull}}},created:function(){this.cache\u003dObject.create(null),this.keys\u003d[]},destroyed:function(){for(var e in this.cache)Sn(this.cache,e,this.keys)},mounted:function(){var e\u003dthis;this.cacheVNode(),this.$watch(\"include\",function(t){On(e,function(e){return An(t,e)})}),this.$watch(\"exclude\",function(t){On(e,function(e){return!An(t,e)})})},updated:function(){this.cacheVNode()},render:function(){var e\u003dthis.$slots.default,t\u003dzt(e),n\u003dt\u0026\u0026t.componentOptions;if(n){var r\u003dkn(n),i\u003dthis.include,o\u003dthis.exclude;if(i\u0026\u0026(!r||!An(i,r))||o\u0026\u0026r\u0026\u0026An(o,r))return t;var a\u003dthis.cache,s\u003dthis.keys,c\u003dnull\u003d\u003dt.key?n.Ctor.cid+(n.tag?\"::\"+n.tag:\"\"):t.key;a[c]?(t.componentInstance\u003da[c].componentInstance,h(s,c),s.push(c)):(this.vnodeToCache\u003dt,this.keyToCache\u003dc),t.data.keepAlive\u003d!0}return t||e\u0026\u0026e[0]}}};!function(e){var t\u003d{get:function(){return F}};Object.defineProperty(e,\"config\",t),e.util\u003d{warn:ae,extend:A,mergeOptions:De,defineReactive:xe},e.set\u003dke,e.delete\u003dAe,e.nextTick\u003dQe,e.observable\u003dfunction(e){return Ce(e),e},e.options\u003dObject.create(null),I.forEach(function(t){e.options[t+\"s\"]\u003dObject.create(null)}),e.options._base\u003de,A(e.options.components,Nn),function(e){e.use\u003dfunction(e){var t\u003dthis._installedPlugins||(this._installedPlugins\u003d[]);if(t.indexOf(e)\u003e-1)return this;var n\u003dk(arguments,1);return n.unshift(this),\"function\"\u003d\u003dtypeof e.install?e.install.apply(e,n):\"function\"\u003d\u003dtypeof e\u0026\u0026e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin\u003dfunction(e){return this.options\u003dDe(this.options,e),this}}(e),xn(e),function(e){I.forEach(function(t){e[t]\u003dfunction(e,n){return n?(\"component\"\u003d\u003d\u003dt\u0026\u0026s(n)\u0026\u0026(n.name\u003dn.name||e,n\u003dthis.options._base.extend(n)),\"directive\"\u003d\u003d\u003dt\u0026\u0026\"function\"\u003d\u003dtypeof n\u0026\u0026(n\u003d{bind:n,update:n}),this.options[t+\"s\"][e]\u003dn,n):this.options[t+\"s\"][e]}})}(e)}(Cn),Object.defineProperty(Cn.prototype,\"$isServer\",{get:te}),Object.defineProperty(Cn.prototype,\"$ssrContext\",{get:function(){return this.$vnode\u0026\u0026this.$vnode.ssrContext}}),Object.defineProperty(Cn,\"FunctionalRenderContext\",{value:Et}),Cn.version\u003d\"2.6.14\";var En\u003dp(\"style,class\"),jn\u003dp(\"input,textarea,option,select,progress\"),Dn\u003dfunction(e,t,n){return\"value\"\u003d\u003d\u003dn\u0026\u0026jn(e)\u0026\u0026\"button\"!\u003d\u003dt||\"selected\"\u003d\u003d\u003dn\u0026\u0026\"option\"\u003d\u003d\u003de||\"checked\"\u003d\u003d\u003dn\u0026\u0026\"input\"\u003d\u003d\u003de||\"muted\"\u003d\u003d\u003dn\u0026\u0026\"video\"\u003d\u003d\u003de},Ln\u003dp(\"contenteditable,draggable,spellcheck\"),In\u003dp(\"events,caret,typing,plaintext-only\"),Mn\u003dfunction(e,t){return Bn(t)||\"false\"\u003d\u003d\u003dt?\"false\":\"contenteditable\"\u003d\u003d\u003de\u0026\u0026In(t)?t:\"true\"},Fn\u003dp(\"allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible\"),Pn\u003d\"http://www.w3.org/1999/xlink\",Rn\u003dfunction(e){return\":\"\u003d\u003d\u003de.charAt(5)\u0026\u0026\"xlink\"\u003d\u003d\u003de.slice(0,5)},Hn\u003dfunction(e){return Rn(e)?e.slice(6,e.length):\"\"},Bn\u003dfunction(e){return null\u003d\u003de||!1\u003d\u003d\u003de};function Un(e){for(var t\u003de.data,r\u003de,i\u003de;n(i.componentInstance);)(i\u003di.componentInstance._vnode)\u0026\u0026i.data\u0026\u0026(t\u003dVn(i.data,t));for(;n(r\u003dr.parent);)r\u0026\u0026r.data\u0026\u0026(t\u003dVn(t,r.data));return function(e,t){if(n(e)||n(t))return zn(e,Kn(t));return\"\"}(t.staticClass,t.class)}function Vn(e,t){return{staticClass:zn(e.staticClass,t.staticClass),class:n(e.class)?[e.class,t.class]:t.class}}function zn(e,t){return e?t?e+\" \"+t:e:t||\"\"}function Kn(e){return Array.isArray(e)?function(e){for(var t,r\u003d\"\",i\u003d0,o\u003de.length;i\u003co;i++)n(t\u003dKn(e[i]))\u0026\u0026\"\"!\u003d\u003dt\u0026\u0026(r\u0026\u0026(r+\u003d\" \"),r+\u003dt);return r}(e):o(e)?function(e){var t\u003d\"\";for(var n in e)e[n]\u0026\u0026(t\u0026\u0026(t+\u003d\" \"),t+\u003dn);return t}(e):\"string\"\u003d\u003dtypeof e?e:\"\"}var Jn\u003d{svg:\"http://www.w3.org/2000/svg\",math:\"http://www.w3.org/1998/Math/MathML\"},qn\u003dp(\"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot\"),Wn\u003dp(\"svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view\",!0),Zn\u003dfunction(e){return qn(e)||Wn(e)};function Gn(e){return Wn(e)?\"svg\":\"math\"\u003d\u003d\u003de?\"math\":void 0}var Xn\u003dObject.create(null);var Yn\u003dp(\"text,number,password,search,email,tel,url\");function Qn(e){if(\"string\"\u003d\u003dtypeof e){var t\u003ddocument.querySelector(e);return t||document.createElement(\"div\")}return e}var er\u003dObject.freeze({createElement:function(e,t){var n\u003ddocument.createElement(e);return\"select\"!\u003d\u003de?n:(t.data\u0026\u0026t.data.attrs\u0026\u0026void 0!\u003d\u003dt.data.attrs.multiple\u0026\u0026n.setAttribute(\"multiple\",\"multiple\"),n)},createElementNS:function(e,t){return document.createElementNS(Jn[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent\u003dt},setStyleScope:function(e,t){e.setAttribute(t,\"\")}}),tr\u003d{create:function(e,t){nr(t)},update:function(e,t){e.data.ref!\u003d\u003dt.data.ref\u0026\u0026(nr(e,!0),nr(t))},destroy:function(e){nr(e,!0)}};function nr(e,t){var r\u003de.data.ref;if(n(r)){var i\u003de.context,o\u003de.componentInstance||e.elm,a\u003di.$refs;t?Array.isArray(a[r])?h(a[r],o):a[r]\u003d\u003d\u003do\u0026\u0026(a[r]\u003dvoid 0):e.data.refInFor?Array.isArray(a[r])?a[r].indexOf(o)\u003c0\u0026\u0026a[r].push(o):a[r]\u003d[o]:a[r]\u003do}}var rr\u003dnew pe(\"\",{},[]),ir\u003d[\"create\",\"activate\",\"update\",\"remove\",\"destroy\"];function or(e,i){return e.key\u003d\u003d\u003di.key\u0026\u0026e.asyncFactory\u003d\u003d\u003di.asyncFactory\u0026\u0026(e.tag\u003d\u003d\u003di.tag\u0026\u0026e.isComment\u003d\u003d\u003di.isComment\u0026\u0026n(e.data)\u003d\u003d\u003dn(i.data)\u0026\u0026function(e,t){if(\"input\"!\u003d\u003de.tag)return!0;var r,i\u003dn(r\u003de.data)\u0026\u0026n(r\u003dr.attrs)\u0026\u0026r.type,o\u003dn(r\u003dt.data)\u0026\u0026n(r\u003dr.attrs)\u0026\u0026r.type;return i\u003d\u003d\u003do||Yn(i)\u0026\u0026Yn(o)}(e,i)||r(e.isAsyncPlaceholder)\u0026\u0026t(i.asyncFactory.error))}function ar(e,t,r){var i,o,a\u003d{};for(i\u003dt;i\u003c\u003dr;++i)n(o\u003de[i].key)\u0026\u0026(a[o]\u003di);return a}var sr\u003d{create:cr,update:cr,destroy:function(e){cr(e,rr)}};function cr(e,t){(e.data.directives||t.data.directives)\u0026\u0026function(e,t){var n,r,i,o\u003de\u003d\u003d\u003drr,a\u003dt\u003d\u003d\u003drr,s\u003dlr(e.data.directives,e.context),c\u003dlr(t.data.directives,t.context),u\u003d[],l\u003d[];for(n in c)r\u003ds[n],i\u003dc[n],r?(i.oldValue\u003dr.value,i.oldArg\u003dr.arg,pr(i,\"update\",t,e),i.def\u0026\u0026i.def.componentUpdated\u0026\u0026l.push(i)):(pr(i,\"bind\",t,e),i.def\u0026\u0026i.def.inserted\u0026\u0026u.push(i));if(u.length){var f\u003dfunction(){for(var n\u003d0;n\u003cu.length;n++)pr(u[n],\"inserted\",t,e)};o?ot(t,\"insert\",f):f()}l.length\u0026\u0026ot(t,\"postpatch\",function(){for(var n\u003d0;n\u003cl.length;n++)pr(l[n],\"componentUpdated\",t,e)});if(!o)for(n in s)c[n]||pr(s[n],\"unbind\",e,e,a)}(e,t)}var ur\u003dObject.create(null);function lr(e,t){var n,r,i\u003dObject.create(null);if(!e)return i;for(n\u003d0;n\u003ce.length;n++)(r\u003de[n]).modifiers||(r.modifiers\u003dur),i[fr(r)]\u003dr,r.def\u003dLe(t.$options,\"directives\",r.name);return i}function fr(e){return e.rawName||e.name+\".\"+Object.keys(e.modifiers||{}).join(\".\")}function pr(e,t,n,r,i){var o\u003de.def\u0026\u0026e.def[t];if(o)try{o(n.elm,e,n,r,i)}catch(r){He(r,n.context,\"directive \"+e.name+\" \"+t+\" hook\")}}var dr\u003d[tr,sr];function vr(e,r){var i\u003dr.componentOptions;if(!(n(i)\u0026\u0026!1\u003d\u003d\u003di.Ctor.options.inheritAttrs||t(e.data.attrs)\u0026\u0026t(r.data.attrs))){var o,a,s\u003dr.elm,c\u003de.data.attrs||{},u\u003dr.data.attrs||{};for(o in n(u.__ob__)\u0026\u0026(u\u003dr.data.attrs\u003dA({},u)),u)a\u003du[o],c[o]!\u003d\u003da\u0026\u0026hr(s,o,a,r.data.pre);for(o in(q||Z)\u0026\u0026u.value!\u003d\u003dc.value\u0026\u0026hr(s,\"value\",u.value),c)t(u[o])\u0026\u0026(Rn(o)?s.removeAttributeNS(Pn,Hn(o)):Ln(o)||s.removeAttribute(o))}}function hr(e,t,n,r){r||e.tagName.indexOf(\"-\")\u003e-1?mr(e,t,n):Fn(t)?Bn(n)?e.removeAttribute(t):(n\u003d\"allowfullscreen\"\u003d\u003d\u003dt\u0026\u0026\"EMBED\"\u003d\u003d\u003de.tagName?\"true\":t,e.setAttribute(t,n)):Ln(t)?e.setAttribute(t,Mn(t,n)):Rn(t)?Bn(n)?e.removeAttributeNS(Pn,Hn(t)):e.setAttributeNS(Pn,t,n):mr(e,t,n)}function mr(e,t,n){if(Bn(n))e.removeAttribute(t);else{if(q\u0026\u0026!W\u0026\u0026\"TEXTAREA\"\u003d\u003d\u003de.tagName\u0026\u0026\"placeholder\"\u003d\u003d\u003dt\u0026\u0026\"\"!\u003d\u003dn\u0026\u0026!e.__ieph){var r\u003dfunction(t){t.stopImmediatePropagation(),e.removeEventListener(\"input\",r)};e.addEventListener(\"input\",r),e.__ieph\u003d!0}e.setAttribute(t,n)}}var yr\u003d{create:vr,update:vr};function gr(e,r){var i\u003dr.elm,o\u003dr.data,a\u003de.data;if(!(t(o.staticClass)\u0026\u0026t(o.class)\u0026\u0026(t(a)||t(a.staticClass)\u0026\u0026t(a.class)))){var s\u003dUn(r),c\u003di._transitionClasses;n(c)\u0026\u0026(s\u003dzn(s,Kn(c))),s!\u003d\u003di._prevClass\u0026\u0026(i.setAttribute(\"class\",s),i._prevClass\u003ds)}}var _r,br,$r,wr,Cr,xr,kr\u003d{create:gr,update:gr},Ar\u003d/[\\w).+\\-_$\\]]/;function Or(e){var t,n,r,i,o,a\u003d!1,s\u003d!1,c\u003d!1,u\u003d!1,l\u003d0,f\u003d0,p\u003d0,d\u003d0;for(r\u003d0;r\u003ce.length;r++)if(n\u003dt,t\u003de.charCodeAt(r),a)39\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(a\u003d!1);else if(s)34\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(s\u003d!1);else if(c)96\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(c\u003d!1);else if(u)47\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(u\u003d!1);else if(124!\u003d\u003dt||124\u003d\u003d\u003de.charCodeAt(r+1)||124\u003d\u003d\u003de.charCodeAt(r-1)||l||f||p){switch(t){case 34:s\u003d!0;break;case 39:a\u003d!0;break;case 96:c\u003d!0;break;case 40:p++;break;case 41:p--;break;case 91:f++;break;case 93:f--;break;case 123:l++;break;case 125:l--}if(47\u003d\u003d\u003dt){for(var v\u003dr-1,h\u003dvoid 0;v\u003e\u003d0\u0026\u0026\" \"\u003d\u003d\u003d(h\u003de.charAt(v));v--);h\u0026\u0026Ar.test(h)||(u\u003d!0)}}else void 0\u003d\u003d\u003di?(d\u003dr+1,i\u003de.slice(0,r).trim()):m();function m(){(o||(o\u003d[])).push(e.slice(d,r).trim()),d\u003dr+1}if(void 0\u003d\u003d\u003di?i\u003de.slice(0,r).trim():0!\u003d\u003dd\u0026\u0026m(),o)for(r\u003d0;r\u003co.length;r++)i\u003dSr(i,o[r]);return i}function Sr(e,t){var n\u003dt.indexOf(\"(\");if(n\u003c0)return\u0027_f(\"\u0027+t+\u0027\")(\u0027+e+\")\";var r\u003dt.slice(0,n),i\u003dt.slice(n+1);return\u0027_f(\"\u0027+r+\u0027\")(\u0027+e+(\")\"!\u003d\u003di?\",\"+i:i)}function Tr(e,t){console.error(\"[Vue compiler]: \"+e)}function Nr(e,t){return e?e.map(function(e){return e[t]}).filter(function(e){return e}):[]}function Er(e,t,n,r,i){(e.props||(e.props\u003d[])).push(Hr({name:t,value:n,dynamic:i},r)),e.plain\u003d!1}function jr(e,t,n,r,i){(i?e.dynamicAttrs||(e.dynamicAttrs\u003d[]):e.attrs||(e.attrs\u003d[])).push(Hr({name:t,value:n,dynamic:i},r)),e.plain\u003d!1}function Dr(e,t,n,r){e.attrsMap[t]\u003dn,e.attrsList.push(Hr({name:t,value:n},r))}function Lr(e,t,n,r,i,o,a,s){(e.directives||(e.directives\u003d[])).push(Hr({name:t,rawName:n,value:r,arg:i,isDynamicArg:o,modifiers:a},s)),e.plain\u003d!1}function Ir(e,t,n){return n?\"_p(\"+t+\u0027,\"\u0027+e+\u0027\")\u0027:e+t}function Mr(t,n,r,i,o,a,s,c){var u;(i\u003di||e).right?c?n\u003d\"(\"+n+\")\u003d\u003d\u003d\u0027click\u0027?\u0027contextmenu\u0027:(\"+n+\")\":\"click\"\u003d\u003d\u003dn\u0026\u0026(n\u003d\"contextmenu\",delete i.right):i.middle\u0026\u0026(c?n\u003d\"(\"+n+\")\u003d\u003d\u003d\u0027click\u0027?\u0027mouseup\u0027:(\"+n+\")\":\"click\"\u003d\u003d\u003dn\u0026\u0026(n\u003d\"mouseup\")),i.capture\u0026\u0026(delete i.capture,n\u003dIr(\"!\",n,c)),i.once\u0026\u0026(delete i.once,n\u003dIr(\"~\",n,c)),i.passive\u0026\u0026(delete i.passive,n\u003dIr(\"\u0026\",n,c)),i.native?(delete i.native,u\u003dt.nativeEvents||(t.nativeEvents\u003d{})):u\u003dt.events||(t.events\u003d{});var l\u003dHr({value:r.trim(),dynamic:c},s);i!\u003d\u003de\u0026\u0026(l.modifiers\u003di);var f\u003du[n];Array.isArray(f)?o?f.unshift(l):f.push(l):u[n]\u003df?o?[l,f]:[f,l]:l,t.plain\u003d!1}function Fr(e,t,n){var r\u003dPr(e,\":\"+t)||Pr(e,\"v-bind:\"+t);if(null!\u003dr)return Or(r);if(!1!\u003d\u003dn){var i\u003dPr(e,t);if(null!\u003di)return JSON.stringify(i)}}function Pr(e,t,n){var r;if(null!\u003d(r\u003de.attrsMap[t]))for(var i\u003de.attrsList,o\u003d0,a\u003di.length;o\u003ca;o++)if(i[o].name\u003d\u003d\u003dt){i.splice(o,1);break}return n\u0026\u0026delete e.attrsMap[t],r}function Rr(e,t){for(var n\u003de.attrsList,r\u003d0,i\u003dn.length;r\u003ci;r++){var o\u003dn[r];if(t.test(o.name))return n.splice(r,1),o}}function Hr(e,t){return t\u0026\u0026(null!\u003dt.start\u0026\u0026(e.start\u003dt.start),null!\u003dt.end\u0026\u0026(e.end\u003dt.end)),e}function Br(e,t,n){var r\u003dn||{},i\u003dr.number,o\u003d\"$$v\";r.trim\u0026\u0026(o\u003d\"(typeof $$v \u003d\u003d\u003d \u0027string\u0027? $$v.trim(): $$v)\"),i\u0026\u0026(o\u003d\"_n(\"+o+\")\");var a\u003dUr(t,o);e.model\u003d{value:\"(\"+t+\")\",expression:JSON.stringify(t),callback:\"function ($$v) {\"+a+\"}\"}}function Ur(e,t){var n\u003dfunction(e){if(e\u003de.trim(),_r\u003de.length,e.indexOf(\"[\")\u003c0||e.lastIndexOf(\"]\")\u003c_r-1)return(wr\u003de.lastIndexOf(\".\"))\u003e-1?{exp:e.slice(0,wr),key:\u0027\"\u0027+e.slice(wr+1)+\u0027\"\u0027}:{exp:e,key:null};br\u003de,wr\u003dCr\u003dxr\u003d0;for(;!zr();)Kr($r\u003dVr())?qr($r):91\u003d\u003d\u003d$r\u0026\u0026Jr($r);return{exp:e.slice(0,Cr),key:e.slice(Cr+1,xr)}}(e);return null\u003d\u003d\u003dn.key?e+\"\u003d\"+t:\"$set(\"+n.exp+\", \"+n.key+\", \"+t+\")\"}function Vr(){return br.charCodeAt(++wr)}function zr(){return wr\u003e\u003d_r}function Kr(e){return 34\u003d\u003d\u003de||39\u003d\u003d\u003de}function Jr(e){var t\u003d1;for(Cr\u003dwr;!zr();)if(Kr(e\u003dVr()))qr(e);else if(91\u003d\u003d\u003de\u0026\u0026t++,93\u003d\u003d\u003de\u0026\u0026t--,0\u003d\u003d\u003dt){xr\u003dwr;break}}function qr(e){for(var t\u003de;!zr()\u0026\u0026(e\u003dVr())!\u003d\u003dt;);}var Wr,Zr\u003d\"__r\",Gr\u003d\"__c\";function Xr(e,t,n){var r\u003dWr;return function i(){null!\u003d\u003dt.apply(null,arguments)\u0026\u0026ei(e,i,n,r)}}var Yr\u003dKe\u0026\u0026!(X\u0026\u0026Number(X[1])\u003c\u003d53);function Qr(e,t,n,r){if(Yr){var i\u003dsn,o\u003dt;t\u003do._wrapper\u003dfunction(e){if(e.target\u003d\u003d\u003de.currentTarget||e.timeStamp\u003e\u003di||e.timeStamp\u003c\u003d0||e.target.ownerDocument!\u003d\u003ddocument)return o.apply(this,arguments)}}Wr.addEventListener(e,t,Q?{capture:n,passive:r}:n)}function ei(e,t,n,r){(r||Wr).removeEventListener(e,t._wrapper||t,n)}function ti(e,r){if(!t(e.data.on)||!t(r.data.on)){var i\u003dr.data.on||{},o\u003de.data.on||{};Wr\u003dr.elm,function(e){if(n(e[Zr])){var t\u003dq?\"change\":\"input\";e[t]\u003d[].concat(e[Zr],e[t]||[]),delete e[Zr]}n(e[Gr])\u0026\u0026(e.change\u003d[].concat(e[Gr],e.change||[]),delete e[Gr])}(i),it(i,o,Qr,ei,Xr,r.context),Wr\u003dvoid 0}}var ni,ri\u003d{create:ti,update:ti};function ii(e,r){if(!t(e.data.domProps)||!t(r.data.domProps)){var i,o,a\u003dr.elm,s\u003de.data.domProps||{},c\u003dr.data.domProps||{};for(i in n(c.__ob__)\u0026\u0026(c\u003dr.data.domProps\u003dA({},c)),s)i in c||(a[i]\u003d\"\");for(i in c){if(o\u003dc[i],\"textContent\"\u003d\u003d\u003di||\"innerHTML\"\u003d\u003d\u003di){if(r.children\u0026\u0026(r.children.length\u003d0),o\u003d\u003d\u003ds[i])continue;1\u003d\u003d\u003da.childNodes.length\u0026\u0026a.removeChild(a.childNodes[0])}if(\"value\"\u003d\u003d\u003di\u0026\u0026\"PROGRESS\"!\u003d\u003da.tagName){a._value\u003do;var u\u003dt(o)?\"\":String(o);oi(a,u)\u0026\u0026(a.value\u003du)}else if(\"innerHTML\"\u003d\u003d\u003di\u0026\u0026Wn(a.tagName)\u0026\u0026t(a.innerHTML)){(ni\u003dni||document.createElement(\"div\")).innerHTML\u003d\"\u003csvg\u003e\"+o+\"\u003c/svg\u003e\";for(var l\u003dni.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}else if(o!\u003d\u003ds[i])try{a[i]\u003do}catch(e){}}}}function oi(e,t){return!e.composing\u0026\u0026(\"OPTION\"\u003d\u003d\u003de.tagName||function(e,t){var n\u003d!0;try{n\u003ddocument.activeElement!\u003d\u003de}catch(e){}return n\u0026\u0026e.value!\u003d\u003dt}(e,t)||function(e,t){var r\u003de.value,i\u003de._vModifiers;if(n(i)){if(i.number)return f(r)!\u003d\u003df(t);if(i.trim)return r.trim()!\u003d\u003dt.trim()}return r!\u003d\u003dt}(e,t))}var ai\u003d{create:ii,update:ii},si\u003dg(function(e){var t\u003d{},n\u003d/:(.+)/;return e.split(/;(?![^(]*\\))/g).forEach(function(e){if(e){var r\u003de.split(n);r.length\u003e1\u0026\u0026(t[r[0].trim()]\u003dr[1].trim())}}),t});function ci(e){var t\u003dui(e.style);return e.staticStyle?A(e.staticStyle,t):t}function ui(e){return Array.isArray(e)?O(e):\"string\"\u003d\u003dtypeof e?si(e):e}var li,fi\u003d/^--/,pi\u003d/\\s*!important$/,di\u003dfunction(e,t,n){if(fi.test(t))e.style.setProperty(t,n);else if(pi.test(n))e.style.setProperty(C(t),n.replace(pi,\"\"),\"important\");else{var r\u003dhi(t);if(Array.isArray(n))for(var i\u003d0,o\u003dn.length;i\u003co;i++)e.style[r]\u003dn[i];else e.style[r]\u003dn}},vi\u003d[\"Webkit\",\"Moz\",\"ms\"],hi\u003dg(function(e){if(li\u003dli||document.createElement(\"div\").style,\"filter\"!\u003d\u003d(e\u003db(e))\u0026\u0026e in li)return e;for(var t\u003de.charAt(0).toUpperCase()+e.slice(1),n\u003d0;n\u003cvi.length;n++){var r\u003dvi[n]+t;if(r in li)return r}});function mi(e,r){var i\u003dr.data,o\u003de.data;if(!(t(i.staticStyle)\u0026\u0026t(i.style)\u0026\u0026t(o.staticStyle)\u0026\u0026t(o.style))){var a,s,c\u003dr.elm,u\u003do.staticStyle,l\u003do.normalizedStyle||o.style||{},f\u003du||l,p\u003dui(r.data.style)||{};r.data.normalizedStyle\u003dn(p.__ob__)?A({},p):p;var d\u003dfunction(e,t){var n,r\u003d{};if(t)for(var i\u003de;i.componentInstance;)(i\u003di.componentInstance._vnode)\u0026\u0026i.data\u0026\u0026(n\u003dci(i.data))\u0026\u0026A(r,n);(n\u003dci(e.data))\u0026\u0026A(r,n);for(var o\u003de;o\u003do.parent;)o.data\u0026\u0026(n\u003dci(o.data))\u0026\u0026A(r,n);return r}(r,!0);for(s in f)t(d[s])\u0026\u0026di(c,s,\"\");for(s in d)(a\u003dd[s])!\u003d\u003df[s]\u0026\u0026di(c,s,null\u003d\u003da?\"\":a)}}var yi\u003d{create:mi,update:mi},gi\u003d/\\s+/;function _i(e,t){if(t\u0026\u0026(t\u003dt.trim()))if(e.classList)t.indexOf(\" \")\u003e-1?t.split(gi).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n\u003d\" \"+(e.getAttribute(\"class\")||\"\")+\" \";n.indexOf(\" \"+t+\" \")\u003c0\u0026\u0026e.setAttribute(\"class\",(n+t).trim())}}function bi(e,t){if(t\u0026\u0026(t\u003dt.trim()))if(e.classList)t.indexOf(\" \")\u003e-1?t.split(gi).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute(\"class\");else{for(var n\u003d\" \"+(e.getAttribute(\"class\")||\"\")+\" \",r\u003d\" \"+t+\" \";n.indexOf(r)\u003e\u003d0;)n\u003dn.replace(r,\" \");(n\u003dn.trim())?e.setAttribute(\"class\",n):e.removeAttribute(\"class\")}}function $i(e){if(e){if(\"object\"\u003d\u003dtypeof e){var t\u003d{};return!1!\u003d\u003de.css\u0026\u0026A(t,wi(e.name||\"v\")),A(t,e),t}return\"string\"\u003d\u003dtypeof e?wi(e):void 0}}var wi\u003dg(function(e){return{enterClass:e+\"-enter\",enterToClass:e+\"-enter-to\",enterActiveClass:e+\"-enter-active\",leaveClass:e+\"-leave\",leaveToClass:e+\"-leave-to\",leaveActiveClass:e+\"-leave-active\"}}),Ci\u003dV\u0026\u0026!W,xi\u003d\"transition\",ki\u003d\"animation\",Ai\u003d\"transition\",Oi\u003d\"transitionend\",Si\u003d\"animation\",Ti\u003d\"animationend\";Ci\u0026\u0026(void 0\u003d\u003d\u003dwindow.ontransitionend\u0026\u0026void 0!\u003d\u003dwindow.onwebkittransitionend\u0026\u0026(Ai\u003d\"WebkitTransition\",Oi\u003d\"webkitTransitionEnd\"),void 0\u003d\u003d\u003dwindow.onanimationend\u0026\u0026void 0!\u003d\u003dwindow.onwebkitanimationend\u0026\u0026(Si\u003d\"WebkitAnimation\",Ti\u003d\"webkitAnimationEnd\"));var Ni\u003dV?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Ei(e){Ni(function(){Ni(e)})}function ji(e,t){var n\u003de._transitionClasses||(e._transitionClasses\u003d[]);n.indexOf(t)\u003c0\u0026\u0026(n.push(t),_i(e,t))}function Di(e,t){e._transitionClasses\u0026\u0026h(e._transitionClasses,t),bi(e,t)}function Li(e,t,n){var r\u003dMi(e,t),i\u003dr.type,o\u003dr.timeout,a\u003dr.propCount;if(!i)return n();var s\u003di\u003d\u003d\u003dxi?Oi:Ti,c\u003d0,u\u003dfunction(){e.removeEventListener(s,l),n()},l\u003dfunction(t){t.target\u003d\u003d\u003de\u0026\u0026++c\u003e\u003da\u0026\u0026u()};setTimeout(function(){c\u003ca\u0026\u0026u()},o+1),e.addEventListener(s,l)}var Ii\u003d/\\b(transform|all)(,|$)/;function Mi(e,t){var n,r\u003dwindow.getComputedStyle(e),i\u003d(r[Ai+\"Delay\"]||\"\").split(\", \"),o\u003d(r[Ai+\"Duration\"]||\"\").split(\", \"),a\u003dFi(i,o),s\u003d(r[Si+\"Delay\"]||\"\").split(\", \"),c\u003d(r[Si+\"Duration\"]||\"\").split(\", \"),u\u003dFi(s,c),l\u003d0,f\u003d0;return t\u003d\u003d\u003dxi?a\u003e0\u0026\u0026(n\u003dxi,l\u003da,f\u003do.length):t\u003d\u003d\u003dki?u\u003e0\u0026\u0026(n\u003dki,l\u003du,f\u003dc.length):f\u003d(n\u003d(l\u003dMath.max(a,u))\u003e0?a\u003eu?xi:ki:null)?n\u003d\u003d\u003dxi?o.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:n\u003d\u003d\u003dxi\u0026\u0026Ii.test(r[Ai+\"Property\"])}}function Fi(e,t){for(;e.length\u003ct.length;)e\u003de.concat(e);return Math.max.apply(null,t.map(function(t,n){return Pi(t)+Pi(e[n])}))}function Pi(e){return 1e3*Number(e.slice(0,-1).replace(\",\",\".\"))}function Ri(e,r){var i\u003de.elm;n(i._leaveCb)\u0026\u0026(i._leaveCb.cancelled\u003d!0,i._leaveCb());var a\u003d$i(e.data.transition);if(!t(a)\u0026\u0026!n(i._enterCb)\u0026\u00261\u003d\u003d\u003di.nodeType){for(var s\u003da.css,c\u003da.type,u\u003da.enterClass,l\u003da.enterToClass,p\u003da.enterActiveClass,d\u003da.appearClass,v\u003da.appearToClass,h\u003da.appearActiveClass,m\u003da.beforeEnter,y\u003da.enter,g\u003da.afterEnter,_\u003da.enterCancelled,b\u003da.beforeAppear,$\u003da.appear,w\u003da.afterAppear,C\u003da.appearCancelled,x\u003da.duration,k\u003dZt,A\u003dZt.$vnode;A\u0026\u0026A.parent;)k\u003dA.context,A\u003dA.parent;var O\u003d!k._isMounted||!e.isRootInsert;if(!O||$||\"\"\u003d\u003d\u003d$){var S\u003dO\u0026\u0026d?d:u,T\u003dO\u0026\u0026h?h:p,N\u003dO\u0026\u0026v?v:l,E\u003dO\u0026\u0026b||m,j\u003dO\u0026\u0026\"function\"\u003d\u003dtypeof $?$:y,L\u003dO\u0026\u0026w||g,I\u003dO\u0026\u0026C||_,M\u003df(o(x)?x.enter:x),F\u003d!1!\u003d\u003ds\u0026\u0026!W,P\u003dUi(j),R\u003di._enterCb\u003dD(function(){F\u0026\u0026(Di(i,N),Di(i,T)),R.cancelled?(F\u0026\u0026Di(i,S),I\u0026\u0026I(i)):L\u0026\u0026L(i),i._enterCb\u003dnull});e.data.show||ot(e,\"insert\",function(){var t\u003di.parentNode,n\u003dt\u0026\u0026t._pending\u0026\u0026t._pending[e.key];n\u0026\u0026n.tag\u003d\u003d\u003de.tag\u0026\u0026n.elm._leaveCb\u0026\u0026n.elm._leaveCb(),j\u0026\u0026j(i,R)}),E\u0026\u0026E(i),F\u0026\u0026(ji(i,S),ji(i,T),Ei(function(){Di(i,S),R.cancelled||(ji(i,N),P||(Bi(M)?setTimeout(R,M):Li(i,c,R)))})),e.data.show\u0026\u0026(r\u0026\u0026r(),j\u0026\u0026j(i,R)),F||P||R()}}}function Hi(e,r){var i\u003de.elm;n(i._enterCb)\u0026\u0026(i._enterCb.cancelled\u003d!0,i._enterCb());var a\u003d$i(e.data.transition);if(t(a)||1!\u003d\u003di.nodeType)return r();if(!n(i._leaveCb)){var s\u003da.css,c\u003da.type,u\u003da.leaveClass,l\u003da.leaveToClass,p\u003da.leaveActiveClass,d\u003da.beforeLeave,v\u003da.leave,h\u003da.afterLeave,m\u003da.leaveCancelled,y\u003da.delayLeave,g\u003da.duration,_\u003d!1!\u003d\u003ds\u0026\u0026!W,b\u003dUi(v),$\u003df(o(g)?g.leave:g),w\u003di._leaveCb\u003dD(function(){i.parentNode\u0026\u0026i.parentNode._pending\u0026\u0026(i.parentNode._pending[e.key]\u003dnull),_\u0026\u0026(Di(i,l),Di(i,p)),w.cancelled?(_\u0026\u0026Di(i,u),m\u0026\u0026m(i)):(r(),h\u0026\u0026h(i)),i._leaveCb\u003dnull});y?y(C):C()}function C(){w.cancelled||(!e.data.show\u0026\u0026i.parentNode\u0026\u0026((i.parentNode._pending||(i.parentNode._pending\u003d{}))[e.key]\u003de),d\u0026\u0026d(i),_\u0026\u0026(ji(i,u),ji(i,p),Ei(function(){Di(i,u),w.cancelled||(ji(i,l),b||(Bi($)?setTimeout(w,$):Li(i,c,w)))})),v\u0026\u0026v(i,w),_||b||w())}}function Bi(e){return\"number\"\u003d\u003dtypeof e\u0026\u0026!isNaN(e)}function Ui(e){if(t(e))return!1;var r\u003de.fns;return n(r)?Ui(Array.isArray(r)?r[0]:r):(e._length||e.length)\u003e1}function Vi(e,t){!0!\u003d\u003dt.data.show\u0026\u0026Ri(t)}var zi\u003dfunction(e){var o,a,s\u003d{},c\u003de.modules,u\u003de.nodeOps;for(o\u003d0;o\u003cir.length;++o)for(s[ir[o]]\u003d[],a\u003d0;a\u003cc.length;++a)n(c[a][ir[o]])\u0026\u0026s[ir[o]].push(c[a][ir[o]]);function l(e){var t\u003du.parentNode(e);n(t)\u0026\u0026u.removeChild(t,e)}function f(e,t,i,o,a,c,l){if(n(e.elm)\u0026\u0026n(c)\u0026\u0026(e\u003dc[l]\u003dme(e)),e.isRootInsert\u003d!a,!function(e,t,i,o){var a\u003de.data;if(n(a)){var c\u003dn(e.componentInstance)\u0026\u0026a.keepAlive;if(n(a\u003da.hook)\u0026\u0026n(a\u003da.init)\u0026\u0026a(e,!1),n(e.componentInstance))return d(e,t),v(i,e.elm,o),r(c)\u0026\u0026function(e,t,r,i){for(var o,a\u003de;a.componentInstance;)if(a\u003da.componentInstance._vnode,n(o\u003da.data)\u0026\u0026n(o\u003do.transition)){for(o\u003d0;o\u003cs.activate.length;++o)s.activate[o](rr,a);t.push(a);break}v(r,e.elm,i)}(e,t,i,o),!0}}(e,t,i,o)){var f\u003de.data,p\u003de.children,m\u003de.tag;n(m)?(e.elm\u003de.ns?u.createElementNS(e.ns,m):u.createElement(m,e),g(e),h(e,p,t),n(f)\u0026\u0026y(e,t),v(i,e.elm,o)):r(e.isComment)?(e.elm\u003du.createComment(e.text),v(i,e.elm,o)):(e.elm\u003du.createTextNode(e.text),v(i,e.elm,o))}}function d(e,t){n(e.data.pendingInsert)\u0026\u0026(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert\u003dnull),e.elm\u003de.componentInstance.$el,m(e)?(y(e,t),g(e)):(nr(e),t.push(e))}function v(e,t,r){n(e)\u0026\u0026(n(r)?u.parentNode(r)\u003d\u003d\u003de\u0026\u0026u.insertBefore(e,t,r):u.appendChild(e,t))}function h(e,t,n){if(Array.isArray(t))for(var r\u003d0;r\u003ct.length;++r)f(t[r],n,e.elm,null,!0,t,r);else i(e.text)\u0026\u0026u.appendChild(e.elm,u.createTextNode(String(e.text)))}function m(e){for(;e.componentInstance;)e\u003de.componentInstance._vnode;return n(e.tag)}function y(e,t){for(var r\u003d0;r\u003cs.create.length;++r)s.create[r](rr,e);n(o\u003de.data.hook)\u0026\u0026(n(o.create)\u0026\u0026o.create(rr,e),n(o.insert)\u0026\u0026t.push(e))}function g(e){var t;if(n(t\u003de.fnScopeId))u.setStyleScope(e.elm,t);else for(var r\u003de;r;)n(t\u003dr.context)\u0026\u0026n(t\u003dt.$options._scopeId)\u0026\u0026u.setStyleScope(e.elm,t),r\u003dr.parent;n(t\u003dZt)\u0026\u0026t!\u003d\u003de.context\u0026\u0026t!\u003d\u003de.fnContext\u0026\u0026n(t\u003dt.$options._scopeId)\u0026\u0026u.setStyleScope(e.elm,t)}function _(e,t,n,r,i,o){for(;r\u003c\u003di;++r)f(n[r],o,e,t,!1,n,r)}function b(e){var t,r,i\u003de.data;if(n(i))for(n(t\u003di.hook)\u0026\u0026n(t\u003dt.destroy)\u0026\u0026t(e),t\u003d0;t\u003cs.destroy.length;++t)s.destroy[t](e);if(n(t\u003de.children))for(r\u003d0;r\u003ce.children.length;++r)b(e.children[r])}function $(e,t,r){for(;t\u003c\u003dr;++t){var i\u003de[t];n(i)\u0026\u0026(n(i.tag)?(w(i),b(i)):l(i.elm))}}function w(e,t){if(n(t)||n(e.data)){var r,i\u003ds.remove.length+1;for(n(t)?t.listeners+\u003di:t\u003dfunction(e,t){function n(){0\u003d\u003d--n.listeners\u0026\u0026l(e)}return n.listeners\u003dt,n}(e.elm,i),n(r\u003de.componentInstance)\u0026\u0026n(r\u003dr._vnode)\u0026\u0026n(r.data)\u0026\u0026w(r,t),r\u003d0;r\u003cs.remove.length;++r)s.remove[r](e,t);n(r\u003de.data.hook)\u0026\u0026n(r\u003dr.remove)?r(e,t):t()}else l(e.elm)}function C(e,t,r,i){for(var o\u003dr;o\u003ci;o++){var a\u003dt[o];if(n(a)\u0026\u0026or(e,a))return o}}function x(e,i,o,a,c,l){if(e!\u003d\u003di){n(i.elm)\u0026\u0026n(a)\u0026\u0026(i\u003da[c]\u003dme(i));var p\u003di.elm\u003de.elm;if(r(e.isAsyncPlaceholder))n(i.asyncFactory.resolved)?O(e.elm,i,o):i.isAsyncPlaceholder\u003d!0;else if(r(i.isStatic)\u0026\u0026r(e.isStatic)\u0026\u0026i.key\u003d\u003d\u003de.key\u0026\u0026(r(i.isCloned)||r(i.isOnce)))i.componentInstance\u003de.componentInstance;else{var d,v\u003di.data;n(v)\u0026\u0026n(d\u003dv.hook)\u0026\u0026n(d\u003dd.prepatch)\u0026\u0026d(e,i);var h\u003de.children,y\u003di.children;if(n(v)\u0026\u0026m(i)){for(d\u003d0;d\u003cs.update.length;++d)s.update[d](e,i);n(d\u003dv.hook)\u0026\u0026n(d\u003dd.update)\u0026\u0026d(e,i)}t(i.text)?n(h)\u0026\u0026n(y)?h!\u003d\u003dy\u0026\u0026function(e,r,i,o,a){for(var s,c,l,p\u003d0,d\u003d0,v\u003dr.length-1,h\u003dr[0],m\u003dr[v],y\u003di.length-1,g\u003di[0],b\u003di[y],w\u003d!a;p\u003c\u003dv\u0026\u0026d\u003c\u003dy;)t(h)?h\u003dr[++p]:t(m)?m\u003dr[--v]:or(h,g)?(x(h,g,o,i,d),h\u003dr[++p],g\u003di[++d]):or(m,b)?(x(m,b,o,i,y),m\u003dr[--v],b\u003di[--y]):or(h,b)?(x(h,b,o,i,y),w\u0026\u0026u.insertBefore(e,h.elm,u.nextSibling(m.elm)),h\u003dr[++p],b\u003di[--y]):or(m,g)?(x(m,g,o,i,d),w\u0026\u0026u.insertBefore(e,m.elm,h.elm),m\u003dr[--v],g\u003di[++d]):(t(s)\u0026\u0026(s\u003dar(r,p,v)),t(c\u003dn(g.key)?s[g.key]:C(g,r,p,v))?f(g,o,e,h.elm,!1,i,d):or(l\u003dr[c],g)?(x(l,g,o,i,d),r[c]\u003dvoid 0,w\u0026\u0026u.insertBefore(e,l.elm,h.elm)):f(g,o,e,h.elm,!1,i,d),g\u003di[++d]);p\u003ev?_(e,t(i[y+1])?null:i[y+1].elm,i,d,y,o):d\u003ey\u0026\u0026$(r,p,v)}(p,h,y,o,l):n(y)?(n(e.text)\u0026\u0026u.setTextContent(p,\"\"),_(p,null,y,0,y.length-1,o)):n(h)?$(h,0,h.length-1):n(e.text)\u0026\u0026u.setTextContent(p,\"\"):e.text!\u003d\u003di.text\u0026\u0026u.setTextContent(p,i.text),n(v)\u0026\u0026n(d\u003dv.hook)\u0026\u0026n(d\u003dd.postpatch)\u0026\u0026d(e,i)}}}function k(e,t,i){if(r(i)\u0026\u0026n(e.parent))e.parent.data.pendingInsert\u003dt;else for(var o\u003d0;o\u003ct.length;++o)t[o].data.hook.insert(t[o])}var A\u003dp(\"attrs,class,staticClass,staticStyle,key\");function O(e,t,i,o){var a,s\u003dt.tag,c\u003dt.data,u\u003dt.children;if(o\u003do||c\u0026\u0026c.pre,t.elm\u003de,r(t.isComment)\u0026\u0026n(t.asyncFactory))return t.isAsyncPlaceholder\u003d!0,!0;if(n(c)\u0026\u0026(n(a\u003dc.hook)\u0026\u0026n(a\u003da.init)\u0026\u0026a(t,!0),n(a\u003dt.componentInstance)))return d(t,i),!0;if(n(s)){if(n(u))if(e.hasChildNodes())if(n(a\u003dc)\u0026\u0026n(a\u003da.domProps)\u0026\u0026n(a\u003da.innerHTML)){if(a!\u003d\u003de.innerHTML)return!1}else{for(var l\u003d!0,f\u003de.firstChild,p\u003d0;p\u003cu.length;p++){if(!f||!O(f,u[p],i,o)){l\u003d!1;break}f\u003df.nextSibling}if(!l||f)return!1}else h(t,u,i);if(n(c)){var v\u003d!1;for(var m in c)if(!A(m)){v\u003d!0,y(t,i);break}!v\u0026\u0026c.class\u0026\u0026tt(c.class)}}else e.data!\u003d\u003dt.text\u0026\u0026(e.data\u003dt.text);return!0}return function(e,i,o,a){if(!t(i)){var c,l\u003d!1,p\u003d[];if(t(e))l\u003d!0,f(i,p);else{var d\u003dn(e.nodeType);if(!d\u0026\u0026or(e,i))x(e,i,p,null,null,a);else{if(d){if(1\u003d\u003d\u003de.nodeType\u0026\u0026e.hasAttribute(L)\u0026\u0026(e.removeAttribute(L),o\u003d!0),r(o)\u0026\u0026O(e,i,p))return k(i,p,!0),e;c\u003de,e\u003dnew pe(u.tagName(c).toLowerCase(),{},[],void 0,c)}var v\u003de.elm,h\u003du.parentNode(v);if(f(i,p,v._leaveCb?null:h,u.nextSibling(v)),n(i.parent))for(var y\u003di.parent,g\u003dm(i);y;){for(var _\u003d0;_\u003cs.destroy.length;++_)s.destroy[_](y);if(y.elm\u003di.elm,g){for(var w\u003d0;w\u003cs.create.length;++w)s.create[w](rr,y);var C\u003dy.data.hook.insert;if(C.merged)for(var A\u003d1;A\u003cC.fns.length;A++)C.fns[A]()}else nr(y);y\u003dy.parent}n(h)?$([e],0,0):n(e.tag)\u0026\u0026b(e)}}return k(i,p,l),i.elm}n(e)\u0026\u0026b(e)}}({nodeOps:er,modules:[yr,kr,ri,ai,yi,V?{create:Vi,activate:Vi,remove:function(e,t){!0!\u003d\u003de.data.show?Hi(e,t):t()}}:{}].concat(dr)});W\u0026\u0026document.addEventListener(\"selectionchange\",function(){var e\u003ddocument.activeElement;e\u0026\u0026e.vmodel\u0026\u0026Yi(e,\"input\")});var Ki\u003d{inserted:function(e,t,n,r){\"select\"\u003d\u003d\u003dn.tag?(r.elm\u0026\u0026!r.elm._vOptions?ot(n,\"postpatch\",function(){Ki.componentUpdated(e,t,n)}):Ji(e,t,n.context),e._vOptions\u003d[].map.call(e.options,Zi)):(\"textarea\"\u003d\u003d\u003dn.tag||Yn(e.type))\u0026\u0026(e._vModifiers\u003dt.modifiers,t.modifiers.lazy||(e.addEventListener(\"compositionstart\",Gi),e.addEventListener(\"compositionend\",Xi),e.addEventListener(\"change\",Xi),W\u0026\u0026(e.vmodel\u003d!0)))},componentUpdated:function(e,t,n){if(\"select\"\u003d\u003d\u003dn.tag){Ji(e,t,n.context);var r\u003de._vOptions,i\u003de._vOptions\u003d[].map.call(e.options,Zi);if(i.some(function(e,t){return!E(e,r[t])}))(e.multiple?t.value.some(function(e){return Wi(e,i)}):t.value!\u003d\u003dt.oldValue\u0026\u0026Wi(t.value,i))\u0026\u0026Yi(e,\"change\")}}};function Ji(e,t,n){qi(e,t,n),(q||Z)\u0026\u0026setTimeout(function(){qi(e,t,n)},0)}function qi(e,t,n){var r\u003dt.value,i\u003de.multiple;if(!i||Array.isArray(r)){for(var o,a,s\u003d0,c\u003de.options.length;s\u003cc;s++)if(a\u003de.options[s],i)o\u003dj(r,Zi(a))\u003e-1,a.selected!\u003d\u003do\u0026\u0026(a.selected\u003do);else if(E(Zi(a),r))return void(e.selectedIndex!\u003d\u003ds\u0026\u0026(e.selectedIndex\u003ds));i||(e.selectedIndex\u003d-1)}}function Wi(e,t){return t.every(function(t){return!E(t,e)})}function Zi(e){return\"_value\"in e?e._value:e.value}function Gi(e){e.target.composing\u003d!0}function Xi(e){e.target.composing\u0026\u0026(e.target.composing\u003d!1,Yi(e.target,\"input\"))}function Yi(e,t){var n\u003ddocument.createEvent(\"HTMLEvents\");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Qi(e){return!e.componentInstance||e.data\u0026\u0026e.data.transition?e:Qi(e.componentInstance._vnode)}var eo\u003d{model:Ki,show:{bind:function(e,t,n){var r\u003dt.value,i\u003d(n\u003dQi(n)).data\u0026\u0026n.data.transition,o\u003de.__vOriginalDisplay\u003d\"none\"\u003d\u003d\u003de.style.display?\"\":e.style.display;r\u0026\u0026i?(n.data.show\u003d!0,Ri(n,function(){e.style.display\u003do})):e.style.display\u003dr?o:\"none\"},update:function(e,t,n){var r\u003dt.value;!r!\u003d!t.oldValue\u0026\u0026((n\u003dQi(n)).data\u0026\u0026n.data.transition?(n.data.show\u003d!0,r?Ri(n,function(){e.style.display\u003de.__vOriginalDisplay}):Hi(n,function(){e.style.display\u003d\"none\"})):e.style.display\u003dr?e.__vOriginalDisplay:\"none\")},unbind:function(e,t,n,r,i){i||(e.style.display\u003de.__vOriginalDisplay)}}},to\u003d{name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function no(e){var t\u003de\u0026\u0026e.componentOptions;return t\u0026\u0026t.Ctor.options.abstract?no(zt(t.children)):e}function ro(e){var t\u003d{},n\u003de.$options;for(var r in n.propsData)t[r]\u003de[r];var i\u003dn._parentListeners;for(var o in i)t[b(o)]\u003di[o];return t}function io(e,t){if(/\\d-keep-alive$/.test(t.tag))return e(\"keep-alive\",{props:t.componentOptions.propsData})}var oo\u003dfunction(e){return e.tag||pt(e)},ao\u003dfunction(e){return\"show\"\u003d\u003d\u003de.name},so\u003d{name:\"transition\",props:to,abstract:!0,render:function(e){var t\u003dthis,n\u003dthis.$slots.default;if(n\u0026\u0026(n\u003dn.filter(oo)).length){var r\u003dthis.mode,o\u003dn[0];if(function(e){for(;e\u003de.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var a\u003dno(o);if(!a)return o;if(this._leaving)return io(e,o);var s\u003d\"__transition-\"+this._uid+\"-\";a.key\u003dnull\u003d\u003da.key?a.isComment?s+\"comment\":s+a.tag:i(a.key)?0\u003d\u003d\u003dString(a.key).indexOf(s)?a.key:s+a.key:a.key;var c\u003d(a.data||(a.data\u003d{})).transition\u003dro(this),u\u003dthis._vnode,l\u003dno(u);if(a.data.directives\u0026\u0026a.data.directives.some(ao)\u0026\u0026(a.data.show\u003d!0),l\u0026\u0026l.data\u0026\u0026!function(e,t){return t.key\u003d\u003d\u003de.key\u0026\u0026t.tag\u003d\u003d\u003de.tag}(a,l)\u0026\u0026!pt(l)\u0026\u0026(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f\u003dl.data.transition\u003dA({},c);if(\"out-in\"\u003d\u003d\u003dr)return this._leaving\u003d!0,ot(f,\"afterLeave\",function(){t._leaving\u003d!1,t.$forceUpdate()}),io(e,o);if(\"in-out\"\u003d\u003d\u003dr){if(pt(a))return u;var p,d\u003dfunction(){p()};ot(c,\"afterEnter\",d),ot(c,\"enterCancelled\",d),ot(f,\"delayLeave\",function(e){p\u003de})}}return o}}},co\u003dA({tag:String,moveClass:String},to);function uo(e){e.elm._moveCb\u0026\u0026e.elm._moveCb(),e.elm._enterCb\u0026\u0026e.elm._enterCb()}function lo(e){e.data.newPos\u003de.elm.getBoundingClientRect()}function fo(e){var t\u003de.data.pos,n\u003de.data.newPos,r\u003dt.left-n.left,i\u003dt.top-n.top;if(r||i){e.data.moved\u003d!0;var o\u003de.elm.style;o.transform\u003do.WebkitTransform\u003d\"translate(\"+r+\"px,\"+i+\"px)\",o.transitionDuration\u003d\"0s\"}}delete co.mode;var po\u003d{Transition:so,TransitionGroup:{props:co,beforeMount:function(){var e\u003dthis,t\u003dthis._update;this._update\u003dfunction(n,r){var i\u003dGt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode\u003de.kept,i(),t.call(e,n,r)}},render:function(e){for(var t\u003dthis.tag||this.$vnode.data.tag||\"span\",n\u003dObject.create(null),r\u003dthis.prevChildren\u003dthis.children,i\u003dthis.$slots.default||[],o\u003dthis.children\u003d[],a\u003dro(this),s\u003d0;s\u003ci.length;s++){var c\u003di[s];c.tag\u0026\u0026null!\u003dc.key\u0026\u00260!\u003d\u003dString(c.key).indexOf(\"__vlist\")\u0026\u0026(o.push(c),n[c.key]\u003dc,(c.data||(c.data\u003d{})).transition\u003da)}if(r){for(var u\u003d[],l\u003d[],f\u003d0;f\u003cr.length;f++){var p\u003dr[f];p.data.transition\u003da,p.data.pos\u003dp.elm.getBoundingClientRect(),n[p.key]?u.push(p):l.push(p)}this.kept\u003de(t,null,u),this.removed\u003dl}return e(t,null,o)},updated:function(){var e\u003dthis.prevChildren,t\u003dthis.moveClass||(this.name||\"v\")+\"-move\";e.length\u0026\u0026this.hasMove(e[0].elm,t)\u0026\u0026(e.forEach(uo),e.forEach(lo),e.forEach(fo),this._reflow\u003ddocument.body.offsetHeight,e.forEach(function(e){if(e.data.moved){var n\u003de.elm,r\u003dn.style;ji(n,t),r.transform\u003dr.WebkitTransform\u003dr.transitionDuration\u003d\"\",n.addEventListener(Oi,n._moveCb\u003dfunction e(r){r\u0026\u0026r.target!\u003d\u003dn||r\u0026\u0026!/transform$/.test(r.propertyName)||(n.removeEventListener(Oi,e),n._moveCb\u003dnull,Di(n,t))})}}))},methods:{hasMove:function(e,t){if(!Ci)return!1;if(this._hasMove)return this._hasMove;var n\u003de.cloneNode();e._transitionClasses\u0026\u0026e._transitionClasses.forEach(function(e){bi(n,e)}),_i(n,t),n.style.display\u003d\"none\",this.$el.appendChild(n);var r\u003dMi(n);return this.$el.removeChild(n),this._hasMove\u003dr.hasTransform}}}};Cn.config.mustUseProp\u003dDn,Cn.config.isReservedTag\u003dZn,Cn.config.isReservedAttr\u003dEn,Cn.config.getTagNamespace\u003dGn,Cn.config.isUnknownElement\u003dfunction(e){if(!V)return!0;if(Zn(e))return!1;if(e\u003de.toLowerCase(),null!\u003dXn[e])return Xn[e];var t\u003ddocument.createElement(e);return e.indexOf(\"-\")\u003e-1?Xn[e]\u003dt.constructor\u003d\u003d\u003dwindow.HTMLUnknownElement||t.constructor\u003d\u003d\u003dwindow.HTMLElement:Xn[e]\u003d/HTMLUnknownElement/.test(t.toString())},A(Cn.options.directives,eo),A(Cn.options.components,po),Cn.prototype.__patch__\u003dV?zi:S,Cn.prototype.$mount\u003dfunction(e,t){return function(e,t,n){var r;return e.$el\u003dt,e.$options.render||(e.$options.render\u003dve),Qt(e,\"beforeMount\"),r\u003dfunction(){e._update(e._render(),n)},new pn(e,r,S,{before:function(){e._isMounted\u0026\u0026!e._isDestroyed\u0026\u0026Qt(e,\"beforeUpdate\")}},!0),n\u003d!1,null\u003d\u003de.$vnode\u0026\u0026(e._isMounted\u003d!0,Qt(e,\"mounted\")),e}(this,e\u003de\u0026\u0026V?Qn(e):void 0,t)},V\u0026\u0026setTimeout(function(){F.devtools\u0026\u0026ne\u0026\u0026ne.emit(\"init\",Cn)},0);var vo\u003d/\\{\\{((?:.|\\r?\\n)+?)\\}\\}/g,ho\u003d/[-.*+?^${}()|[\\]\\/\\\\]/g,mo\u003dg(function(e){var t\u003de[0].replace(ho,\"\\\\$\u0026\"),n\u003de[1].replace(ho,\"\\\\$\u0026\");return new RegExp(t+\"((?:.|\\\\n)+?)\"+n,\"g\")});var yo\u003d{staticKeys:[\"staticClass\"],transformNode:function(e,t){t.warn;var n\u003dPr(e,\"class\");n\u0026\u0026(e.staticClass\u003dJSON.stringify(n));var r\u003dFr(e,\"class\",!1);r\u0026\u0026(e.classBinding\u003dr)},genData:function(e){var t\u003d\"\";return e.staticClass\u0026\u0026(t+\u003d\"staticClass:\"+e.staticClass+\",\"),e.classBinding\u0026\u0026(t+\u003d\"class:\"+e.classBinding+\",\"),t}};var go,_o\u003d{staticKeys:[\"staticStyle\"],transformNode:function(e,t){t.warn;var n\u003dPr(e,\"style\");n\u0026\u0026(e.staticStyle\u003dJSON.stringify(si(n)));var r\u003dFr(e,\"style\",!1);r\u0026\u0026(e.styleBinding\u003dr)},genData:function(e){var t\u003d\"\";return e.staticStyle\u0026\u0026(t+\u003d\"staticStyle:\"+e.staticStyle+\",\"),e.styleBinding\u0026\u0026(t+\u003d\"style:(\"+e.styleBinding+\"),\"),t}},bo\u003dfunction(e){return(go\u003dgo||document.createElement(\"div\")).innerHTML\u003de,go.textContent},$o\u003dp(\"area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr\"),wo\u003dp(\"colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source\"),Co\u003dp(\"address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track\"),xo\u003d/^\\s*([^\\s\"\u0027\u003c\u003e\\/\u003d]+)(?:\\s*(\u003d)\\s*(?:\"([^\"]*)\"+|\u0027([^\u0027]*)\u0027+|([^\\s\"\u0027\u003d\u003c\u003e`]+)))?/,ko\u003d/^\\s*((?:v-[\\w-]+:|@|:|#)\\[[^\u003d]+?\\][^\\s\"\u0027\u003c\u003e\\/\u003d]*)(?:\\s*(\u003d)\\s*(?:\"([^\"]*)\"+|\u0027([^\u0027]*)\u0027+|([^\\s\"\u0027\u003d\u003c\u003e`]+)))?/,Ao\u003d\"[a-zA-Z_][\\\\-\\\\.0-9_a-zA-Z\"+P.source+\"]*\",Oo\u003d\"((?:\"+Ao+\"\\\\:)?\"+Ao+\")\",So\u003dnew RegExp(\"^\u003c\"+Oo),To\u003d/^\\s*(\\/?)\u003e/,No\u003dnew RegExp(\"^\u003c\\\\/\"+Oo+\"[^\u003e]*\u003e\"),Eo\u003d/^\u003c!DOCTYPE [^\u003e]+\u003e/i,jo\u003d/^\u003c!\\--/,Do\u003d/^\u003c!\\[/,Lo\u003dp(\"script,style,textarea\",!0),Io\u003d{},Mo\u003d{\"\u0026lt;\":\"\u003c\",\"\u0026gt;\":\"\u003e\",\"\u0026quot;\":\u0027\"\u0027,\"\u0026amp;\":\"\u0026\",\"\u0026#10;\":\"\\n\",\"\u0026#9;\":\"\\t\",\"\u0026#39;\":\"\u0027\"},Fo\u003d/\u0026(?:lt|gt|quot|amp|#39);/g,Po\u003d/\u0026(?:lt|gt|quot|amp|#39|#10|#9);/g,Ro\u003dp(\"pre,textarea\",!0),Ho\u003dfunction(e,t){return e\u0026\u0026Ro(e)\u0026\u0026\"\\n\"\u003d\u003d\u003dt[0]};function Bo(e,t){var n\u003dt?Po:Fo;return e.replace(n,function(e){return Mo[e]})}var Uo,Vo,zo,Ko,Jo,qo,Wo,Zo,Go\u003d/^@|^v-on:/,Xo\u003d/^v-|^@|^:|^#/,Yo\u003d/([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/,Qo\u003d/,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/,ea\u003d/^\\(|\\)$/g,ta\u003d/^\\[.*\\]$/,na\u003d/:(.*)$/,ra\u003d/^:|^\\.|^v-bind:/,ia\u003d/\\.[^.\\]]+(?\u003d[^\\]]*$)/g,oa\u003d/^v-slot(:|$)|^#/,aa\u003d/[\\r\\n]/,sa\u003d/[ \\f\\t\\r\\n]+/g,ca\u003dg(bo),ua\u003d\"_empty_\";function la(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:ya(t),rawAttrsMap:{},parent:n,children:[]}}function fa(e,t){Uo\u003dt.warn||Tr,qo\u003dt.isPreTag||T,Wo\u003dt.mustUseProp||T,Zo\u003dt.getTagNamespace||T;t.isReservedTag;zo\u003dNr(t.modules,\"transformNode\"),Ko\u003dNr(t.modules,\"preTransformNode\"),Jo\u003dNr(t.modules,\"postTransformNode\"),Vo\u003dt.delimiters;var n,r,i\u003d[],o\u003d!1!\u003d\u003dt.preserveWhitespace,a\u003dt.whitespace,s\u003d!1,c\u003d!1;function u(e){if(l(e),s||e.processed||(e\u003dpa(e,t)),i.length||e\u003d\u003d\u003dn||n.if\u0026\u0026(e.elseif||e.else)\u0026\u0026va(n,{exp:e.elseif,block:e}),r\u0026\u0026!e.forbidden)if(e.elseif||e.else)a\u003de,(u\u003dfunction(e){var t\u003de.length;for(;t--;){if(1\u003d\u003d\u003de[t].type)return e[t];e.pop()}}(r.children))\u0026\u0026u.if\u0026\u0026va(u,{exp:a.elseif,block:a});else{if(e.slotScope){var o\u003de.slotTarget||\u0027\"default\"\u0027;(r.scopedSlots||(r.scopedSlots\u003d{}))[o]\u003de}r.children.push(e),e.parent\u003dr}var a,u;e.children\u003de.children.filter(function(e){return!e.slotScope}),l(e),e.pre\u0026\u0026(s\u003d!1),qo(e.tag)\u0026\u0026(c\u003d!1);for(var f\u003d0;f\u003cJo.length;f++)Jo[f](e,t)}function l(e){if(!c)for(var t;(t\u003de.children[e.children.length-1])\u0026\u00263\u003d\u003d\u003dt.type\u0026\u0026\" \"\u003d\u003d\u003dt.text;)e.children.pop()}return function(e,t){for(var n,r,i\u003d[],o\u003dt.expectHTML,a\u003dt.isUnaryTag||T,s\u003dt.canBeLeftOpenTag||T,c\u003d0;e;){if(n\u003de,r\u0026\u0026Lo(r)){var u\u003d0,l\u003dr.toLowerCase(),f\u003dIo[l]||(Io[l]\u003dnew RegExp(\"([\\\\s\\\\S]*?)(\u003c/\"+l+\"[^\u003e]*\u003e)\",\"i\")),p\u003de.replace(f,function(e,n,r){return u\u003dr.length,Lo(l)||\"noscript\"\u003d\u003d\u003dl||(n\u003dn.replace(/\u003c!\\--([\\s\\S]*?)--\u003e/g,\"$1\").replace(/\u003c!\\[CDATA\\[([\\s\\S]*?)]]\u003e/g,\"$1\")),Ho(l,n)\u0026\u0026(n\u003dn.slice(1)),t.chars\u0026\u0026t.chars(n),\"\"});c+\u003de.length-p.length,e\u003dp,A(l,c-u,c)}else{var d\u003de.indexOf(\"\u003c\");if(0\u003d\u003d\u003dd){if(jo.test(e)){var v\u003de.indexOf(\"--\\x3e\");if(v\u003e\u003d0){t.shouldKeepComment\u0026\u0026t.comment(e.substring(4,v),c,c+v+3),C(v+3);continue}}if(Do.test(e)){var h\u003de.indexOf(\"]\u003e\");if(h\u003e\u003d0){C(h+2);continue}}var m\u003de.match(Eo);if(m){C(m[0].length);continue}var y\u003de.match(No);if(y){var g\u003dc;C(y[0].length),A(y[1],g,c);continue}var _\u003dx();if(_){k(_),Ho(_.tagName,e)\u0026\u0026C(1);continue}}var b\u003dvoid 0,$\u003dvoid 0,w\u003dvoid 0;if(d\u003e\u003d0){for($\u003de.slice(d);!(No.test($)||So.test($)||jo.test($)||Do.test($)||(w\u003d$.indexOf(\"\u003c\",1))\u003c0);)d+\u003dw,$\u003de.slice(d);b\u003de.substring(0,d)}d\u003c0\u0026\u0026(b\u003de),b\u0026\u0026C(b.length),t.chars\u0026\u0026b\u0026\u0026t.chars(b,c-b.length,c)}if(e\u003d\u003d\u003dn){t.chars\u0026\u0026t.chars(e);break}}function C(t){c+\u003dt,e\u003de.substring(t)}function x(){var t\u003de.match(So);if(t){var n,r,i\u003d{tagName:t[1],attrs:[],start:c};for(C(t[0].length);!(n\u003de.match(To))\u0026\u0026(r\u003de.match(ko)||e.match(xo));)r.start\u003dc,C(r[0].length),r.end\u003dc,i.attrs.push(r);if(n)return i.unarySlash\u003dn[1],C(n[0].length),i.end\u003dc,i}}function k(e){var n\u003de.tagName,c\u003de.unarySlash;o\u0026\u0026(\"p\"\u003d\u003d\u003dr\u0026\u0026Co(n)\u0026\u0026A(r),s(n)\u0026\u0026r\u003d\u003d\u003dn\u0026\u0026A(n));for(var u\u003da(n)||!!c,l\u003de.attrs.length,f\u003dnew Array(l),p\u003d0;p\u003cl;p++){var d\u003de.attrs[p],v\u003dd[3]||d[4]||d[5]||\"\",h\u003d\"a\"\u003d\u003d\u003dn\u0026\u0026\"href\"\u003d\u003d\u003dd[1]?t.shouldDecodeNewlinesForHref:t.shouldDecodeNewlines;f[p]\u003d{name:d[1],value:Bo(v,h)}}u||(i.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:f,start:e.start,end:e.end}),r\u003dn),t.start\u0026\u0026t.start(n,f,u,e.start,e.end)}function A(e,n,o){var a,s;if(null\u003d\u003dn\u0026\u0026(n\u003dc),null\u003d\u003do\u0026\u0026(o\u003dc),e)for(s\u003de.toLowerCase(),a\u003di.length-1;a\u003e\u003d0\u0026\u0026i[a].lowerCasedTag!\u003d\u003ds;a--);else a\u003d0;if(a\u003e\u003d0){for(var u\u003di.length-1;u\u003e\u003da;u--)t.end\u0026\u0026t.end(i[u].tag,n,o);i.length\u003da,r\u003da\u0026\u0026i[a-1].tag}else\"br\"\u003d\u003d\u003ds?t.start\u0026\u0026t.start(e,[],!0,n,o):\"p\"\u003d\u003d\u003ds\u0026\u0026(t.start\u0026\u0026t.start(e,[],!1,n,o),t.end\u0026\u0026t.end(e,n,o))}A()}(e,{warn:Uo,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,outputSourceRange:t.outputSourceRange,start:function(e,o,a,l,f){var p\u003dr\u0026\u0026r.ns||Zo(e);q\u0026\u0026\"svg\"\u003d\u003d\u003dp\u0026\u0026(o\u003dfunction(e){for(var t\u003d[],n\u003d0;n\u003ce.length;n++){var r\u003de[n];ga.test(r.name)||(r.name\u003dr.name.replace(_a,\"\"),t.push(r))}return t}(o));var d,v\u003dla(e,o,r);p\u0026\u0026(v.ns\u003dp),\"style\"!\u003d\u003d(d\u003dv).tag\u0026\u0026(\"script\"!\u003d\u003dd.tag||d.attrsMap.type\u0026\u0026\"text/javascript\"!\u003d\u003dd.attrsMap.type)||te()||(v.forbidden\u003d!0);for(var h\u003d0;h\u003cKo.length;h++)v\u003dKo[h](v,t)||v;s||(!function(e){null!\u003dPr(e,\"v-pre\")\u0026\u0026(e.pre\u003d!0)}(v),v.pre\u0026\u0026(s\u003d!0)),qo(v.tag)\u0026\u0026(c\u003d!0),s?function(e){var t\u003de.attrsList,n\u003dt.length;if(n)for(var r\u003de.attrs\u003dnew Array(n),i\u003d0;i\u003cn;i++)r[i]\u003d{name:t[i].name,value:JSON.stringify(t[i].value)},null!\u003dt[i].start\u0026\u0026(r[i].start\u003dt[i].start,r[i].end\u003dt[i].end);else e.pre||(e.plain\u003d!0)}(v):v.processed||(da(v),function(e){var t\u003dPr(e,\"v-if\");if(t)e.if\u003dt,va(e,{exp:t,block:e});else{null!\u003dPr(e,\"v-else\")\u0026\u0026(e.else\u003d!0);var n\u003dPr(e,\"v-else-if\");n\u0026\u0026(e.elseif\u003dn)}}(v),function(e){null!\u003dPr(e,\"v-once\")\u0026\u0026(e.once\u003d!0)}(v)),n||(n\u003dv),a?u(v):(r\u003dv,i.push(v))},end:function(e,t,n){var o\u003di[i.length-1];i.length-\u003d1,r\u003di[i.length-1],u(o)},chars:function(e,t,n){if(r\u0026\u0026(!q||\"textarea\"!\u003d\u003dr.tag||r.attrsMap.placeholder!\u003d\u003de)){var i,u,l,f\u003dr.children;if(e\u003dc||e.trim()?\"script\"\u003d\u003d\u003d(i\u003dr).tag||\"style\"\u003d\u003d\u003di.tag?e:ca(e):f.length?a?\"condense\"\u003d\u003d\u003da\u0026\u0026aa.test(e)?\"\":\" \":o?\" \":\"\":\"\")c||\"condense\"!\u003d\u003da||(e\u003de.replace(sa,\" \")),!s\u0026\u0026\" \"!\u003d\u003de\u0026\u0026(u\u003dfunction(e,t){var n\u003dt?mo(t):vo;if(n.test(e)){for(var r,i,o,a\u003d[],s\u003d[],c\u003dn.lastIndex\u003d0;r\u003dn.exec(e);){(i\u003dr.index)\u003ec\u0026\u0026(s.push(o\u003de.slice(c,i)),a.push(JSON.stringify(o)));var u\u003dOr(r[1].trim());a.push(\"_s(\"+u+\")\"),s.push({\"@binding\":u}),c\u003di+r[0].length}return c\u003ce.length\u0026\u0026(s.push(o\u003de.slice(c)),a.push(JSON.stringify(o))),{expression:a.join(\"+\"),tokens:s}}}(e,Vo))?l\u003d{type:2,expression:u.expression,tokens:u.tokens,text:e}:\" \"\u003d\u003d\u003de\u0026\u0026f.length\u0026\u0026\" \"\u003d\u003d\u003df[f.length-1].text||(l\u003d{type:3,text:e}),l\u0026\u0026f.push(l)}},comment:function(e,t,n){if(r){var i\u003d{type:3,text:e,isComment:!0};r.children.push(i)}}}),n}function pa(e,t){var n,r;(r\u003dFr(n\u003de,\"key\"))\u0026\u0026(n.key\u003dr),e.plain\u003d!e.key\u0026\u0026!e.scopedSlots\u0026\u0026!e.attrsList.length,function(e){var t\u003dFr(e,\"ref\");t\u0026\u0026(e.ref\u003dt,e.refInFor\u003dfunction(e){var t\u003de;for(;t;){if(void 0!\u003d\u003dt.for)return!0;t\u003dt.parent}return!1}(e))}(e),function(e){var t;\"template\"\u003d\u003d\u003de.tag?(t\u003dPr(e,\"scope\"),e.slotScope\u003dt||Pr(e,\"slot-scope\")):(t\u003dPr(e,\"slot-scope\"))\u0026\u0026(e.slotScope\u003dt);var n\u003dFr(e,\"slot\");n\u0026\u0026(e.slotTarget\u003d\u0027\"\"\u0027\u003d\u003d\u003dn?\u0027\"default\"\u0027:n,e.slotTargetDynamic\u003d!(!e.attrsMap[\":slot\"]\u0026\u0026!e.attrsMap[\"v-bind:slot\"]),\"template\"\u003d\u003d\u003de.tag||e.slotScope||jr(e,\"slot\",n,function(e,t){return e.rawAttrsMap[\":\"+t]||e.rawAttrsMap[\"v-bind:\"+t]||e.rawAttrsMap[t]}(e,\"slot\")));if(\"template\"\u003d\u003d\u003de.tag){var r\u003dRr(e,oa);if(r){var i\u003dha(r),o\u003di.name,a\u003di.dynamic;e.slotTarget\u003do,e.slotTargetDynamic\u003da,e.slotScope\u003dr.value||ua}}else{var s\u003dRr(e,oa);if(s){var c\u003de.scopedSlots||(e.scopedSlots\u003d{}),u\u003dha(s),l\u003du.name,f\u003du.dynamic,p\u003dc[l]\u003dla(\"template\",[],e);p.slotTarget\u003dl,p.slotTargetDynamic\u003df,p.children\u003de.children.filter(function(e){if(!e.slotScope)return e.parent\u003dp,!0}),p.slotScope\u003ds.value||ua,e.children\u003d[],e.plain\u003d!1}}}(e),function(e){\"slot\"\u003d\u003d\u003de.tag\u0026\u0026(e.slotName\u003dFr(e,\"name\"))}(e),function(e){var t;(t\u003dFr(e,\"is\"))\u0026\u0026(e.component\u003dt);null!\u003dPr(e,\"inline-template\")\u0026\u0026(e.inlineTemplate\u003d!0)}(e);for(var i\u003d0;i\u003czo.length;i++)e\u003dzo[i](e,t)||e;return function(e){var t,n,r,i,o,a,s,c,u\u003de.attrsList;for(t\u003d0,n\u003du.length;t\u003cn;t++)if(r\u003di\u003du[t].name,o\u003du[t].value,Xo.test(r))if(e.hasBindings\u003d!0,(a\u003dma(r.replace(Xo,\"\")))\u0026\u0026(r\u003dr.replace(ia,\"\")),ra.test(r))r\u003dr.replace(ra,\"\"),o\u003dOr(o),(c\u003dta.test(r))\u0026\u0026(r\u003dr.slice(1,-1)),a\u0026\u0026(a.prop\u0026\u0026!c\u0026\u0026\"innerHtml\"\u003d\u003d\u003d(r\u003db(r))\u0026\u0026(r\u003d\"innerHTML\"),a.camel\u0026\u0026!c\u0026\u0026(r\u003db(r)),a.sync\u0026\u0026(s\u003dUr(o,\"$event\"),c?Mr(e,\u0027\"update:\"+(\u0027+r+\")\",s,null,!1,0,u[t],!0):(Mr(e,\"update:\"+b(r),s,null,!1,0,u[t]),C(r)!\u003d\u003db(r)\u0026\u0026Mr(e,\"update:\"+C(r),s,null,!1,0,u[t])))),a\u0026\u0026a.prop||!e.component\u0026\u0026Wo(e.tag,e.attrsMap.type,r)?Er(e,r,o,u[t],c):jr(e,r,o,u[t],c);else if(Go.test(r))r\u003dr.replace(Go,\"\"),(c\u003dta.test(r))\u0026\u0026(r\u003dr.slice(1,-1)),Mr(e,r,o,a,!1,0,u[t],c);else{var l\u003d(r\u003dr.replace(Xo,\"\")).match(na),f\u003dl\u0026\u0026l[1];c\u003d!1,f\u0026\u0026(r\u003dr.slice(0,-(f.length+1)),ta.test(f)\u0026\u0026(f\u003df.slice(1,-1),c\u003d!0)),Lr(e,r,i,o,f,c,a,u[t])}else jr(e,r,JSON.stringify(o),u[t]),!e.component\u0026\u0026\"muted\"\u003d\u003d\u003dr\u0026\u0026Wo(e.tag,e.attrsMap.type,r)\u0026\u0026Er(e,r,\"true\",u[t])}(e),e}function da(e){var t;if(t\u003dPr(e,\"v-for\")){var n\u003dfunction(e){var t\u003de.match(Yo);if(!t)return;var n\u003d{};n.for\u003dt[2].trim();var r\u003dt[1].trim().replace(ea,\"\"),i\u003dr.match(Qo);i?(n.alias\u003dr.replace(Qo,\"\").trim(),n.iterator1\u003di[1].trim(),i[2]\u0026\u0026(n.iterator2\u003di[2].trim())):n.alias\u003dr;return n}(t);n\u0026\u0026A(e,n)}}function va(e,t){e.ifConditions||(e.ifConditions\u003d[]),e.ifConditions.push(t)}function ha(e){var t\u003de.name.replace(oa,\"\");return t||\"#\"!\u003d\u003de.name[0]\u0026\u0026(t\u003d\"default\"),ta.test(t)?{name:t.slice(1,-1),dynamic:!0}:{name:\u0027\"\u0027+t+\u0027\"\u0027,dynamic:!1}}function ma(e){var t\u003de.match(ia);if(t){var n\u003d{};return t.forEach(function(e){n[e.slice(1)]\u003d!0}),n}}function ya(e){for(var t\u003d{},n\u003d0,r\u003de.length;n\u003cr;n++)t[e[n].name]\u003de[n].value;return t}var ga\u003d/^xmlns:NS\\d+/,_a\u003d/^NS\\d+:/;function ba(e){return la(e.tag,e.attrsList.slice(),e.parent)}var $a\u003d[yo,_o,{preTransformNode:function(e,t){if(\"input\"\u003d\u003d\u003de.tag){var n,r\u003de.attrsMap;if(!r[\"v-model\"])return;if((r[\":type\"]||r[\"v-bind:type\"])\u0026\u0026(n\u003dFr(e,\"type\")),r.type||n||!r[\"v-bind\"]||(n\u003d\"(\"+r[\"v-bind\"]+\").type\"),n){var i\u003dPr(e,\"v-if\",!0),o\u003di?\"\u0026\u0026(\"+i+\")\":\"\",a\u003dnull!\u003dPr(e,\"v-else\",!0),s\u003dPr(e,\"v-else-if\",!0),c\u003dba(e);da(c),Dr(c,\"type\",\"checkbox\"),pa(c,t),c.processed\u003d!0,c.if\u003d\"(\"+n+\")\u003d\u003d\u003d\u0027checkbox\u0027\"+o,va(c,{exp:c.if,block:c});var u\u003dba(e);Pr(u,\"v-for\",!0),Dr(u,\"type\",\"radio\"),pa(u,t),va(c,{exp:\"(\"+n+\")\u003d\u003d\u003d\u0027radio\u0027\"+o,block:u});var l\u003dba(e);return Pr(l,\"v-for\",!0),Dr(l,\":type\",n),pa(l,t),va(c,{exp:i,block:l}),a?c.else\u003d!0:s\u0026\u0026(c.elseif\u003ds),c}}}}];var wa,Ca,xa\u003d{expectHTML:!0,modules:$a,directives:{model:function(e,t,n){var r\u003dt.value,i\u003dt.modifiers,o\u003de.tag,a\u003de.attrsMap.type;if(e.component)return Br(e,r,i),!1;if(\"select\"\u003d\u003d\u003do)!function(e,t,n){var r\u003d\u0027var $$selectedVal \u003d Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val \u003d \"_value\" in o ? o._value : o.value;return \u0027+(n\u0026\u0026n.number?\"_n(val)\":\"val\")+\"});\";r\u003dr+\" \"+Ur(t,\"$event.target.multiple ? $$selectedVal : $$selectedVal[0]\"),Mr(e,\"change\",r,null,!0)}(e,r,i);else if(\"input\"\u003d\u003d\u003do\u0026\u0026\"checkbox\"\u003d\u003d\u003da)!function(e,t,n){var r\u003dn\u0026\u0026n.number,i\u003dFr(e,\"value\")||\"null\",o\u003dFr(e,\"true-value\")||\"true\",a\u003dFr(e,\"false-value\")||\"false\";Er(e,\"checked\",\"Array.isArray(\"+t+\")?_i(\"+t+\",\"+i+\")\u003e-1\"+(\"true\"\u003d\u003d\u003do?\":(\"+t+\")\":\":_q(\"+t+\",\"+o+\")\")),Mr(e,\"change\",\"var $$a\u003d\"+t+\",$$el\u003d$event.target,$$c\u003d$$el.checked?(\"+o+\"):(\"+a+\");if(Array.isArray($$a)){var $$v\u003d\"+(r?\"_n(\"+i+\")\":i)+\",$$i\u003d_i($$a,$$v);if($$el.checked){$$i\u003c0\u0026\u0026(\"+Ur(t,\"$$a.concat([$$v])\")+\")}else{$$i\u003e-1\u0026\u0026(\"+Ur(t,\"$$a.slice(0,$$i).concat($$a.slice($$i+1))\")+\")}}else{\"+Ur(t,\"$$c\")+\"}\",null,!0)}(e,r,i);else if(\"input\"\u003d\u003d\u003do\u0026\u0026\"radio\"\u003d\u003d\u003da)!function(e,t,n){var r\u003dn\u0026\u0026n.number,i\u003dFr(e,\"value\")||\"null\";Er(e,\"checked\",\"_q(\"+t+\",\"+(i\u003dr?\"_n(\"+i+\")\":i)+\")\"),Mr(e,\"change\",Ur(t,i),null,!0)}(e,r,i);else if(\"input\"\u003d\u003d\u003do||\"textarea\"\u003d\u003d\u003do)!function(e,t,n){var r\u003de.attrsMap.type,i\u003dn||{},o\u003di.lazy,a\u003di.number,s\u003di.trim,c\u003d!o\u0026\u0026\"range\"!\u003d\u003dr,u\u003do?\"change\":\"range\"\u003d\u003d\u003dr?Zr:\"input\",l\u003d\"$event.target.value\";s\u0026\u0026(l\u003d\"$event.target.value.trim()\"),a\u0026\u0026(l\u003d\"_n(\"+l+\")\");var f\u003dUr(t,l);c\u0026\u0026(f\u003d\"if($event.target.composing)return;\"+f),Er(e,\"value\",\"(\"+t+\")\"),Mr(e,u,f,null,!0),(s||a)\u0026\u0026Mr(e,\"blur\",\"$forceUpdate()\")}(e,r,i);else if(!F.isReservedTag(o))return Br(e,r,i),!1;return!0},text:function(e,t){t.value\u0026\u0026Er(e,\"textContent\",\"_s(\"+t.value+\")\",t)},html:function(e,t){t.value\u0026\u0026Er(e,\"innerHTML\",\"_s(\"+t.value+\")\",t)}},isPreTag:function(e){return\"pre\"\u003d\u003d\u003de},isUnaryTag:$o,mustUseProp:Dn,canBeLeftOpenTag:wo,isReservedTag:Zn,getTagNamespace:Gn,staticKeys:function(e){return e.reduce(function(e,t){return e.concat(t.staticKeys||[])},[]).join(\",\")}($a)},ka\u003dg(function(e){return p(\"type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap\"+(e?\",\"+e:\"\"))});function Aa(e,t){e\u0026\u0026(wa\u003dka(t.staticKeys||\"\"),Ca\u003dt.isReservedTag||T,function e(t){t.static\u003dfunction(e){if(2\u003d\u003d\u003de.type)return!1;if(3\u003d\u003d\u003de.type)return!0;return!(!e.pre\u0026\u0026(e.hasBindings||e.if||e.for||d(e.tag)||!Ca(e.tag)||function(e){for(;e.parent;){if(\"template\"!\u003d\u003d(e\u003de.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(wa)))}(t);if(1\u003d\u003d\u003dt.type){if(!Ca(t.tag)\u0026\u0026\"slot\"!\u003d\u003dt.tag\u0026\u0026null\u003d\u003dt.attrsMap[\"inline-template\"])return;for(var n\u003d0,r\u003dt.children.length;n\u003cr;n++){var i\u003dt.children[n];e(i),i.static||(t.static\u003d!1)}if(t.ifConditions)for(var o\u003d1,a\u003dt.ifConditions.length;o\u003ca;o++){var s\u003dt.ifConditions[o].block;e(s),s.static||(t.static\u003d!1)}}}(e),function e(t,n){if(1\u003d\u003d\u003dt.type){if((t.static||t.once)\u0026\u0026(t.staticInFor\u003dn),t.static\u0026\u0026t.children.length\u0026\u0026(1!\u003d\u003dt.children.length||3!\u003d\u003dt.children[0].type))return void(t.staticRoot\u003d!0);if(t.staticRoot\u003d!1,t.children)for(var r\u003d0,i\u003dt.children.length;r\u003ci;r++)e(t.children[r],n||!!t.for);if(t.ifConditions)for(var o\u003d1,a\u003dt.ifConditions.length;o\u003ca;o++)e(t.ifConditions[o].block,n)}}(e,!1))}var Oa\u003d/^([\\w$_]+|\\([^)]*?\\))\\s*\u003d\u003e|^function(?:\\s+[\\w$]+)?\\s*\\(/,Sa\u003d/\\([^)]*?\\);*$/,Ta\u003d/^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\[\u0027[^\u0027]*?\u0027]|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/,Na\u003d{esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ea\u003d{esc:[\"Esc\",\"Escape\"],tab:\"Tab\",enter:\"Enter\",space:[\" \",\"Spacebar\"],up:[\"Up\",\"ArrowUp\"],left:[\"Left\",\"ArrowLeft\"],right:[\"Right\",\"ArrowRight\"],down:[\"Down\",\"ArrowDown\"],delete:[\"Backspace\",\"Delete\",\"Del\"]},ja\u003dfunction(e){return\"if(\"+e+\")return null;\"},Da\u003d{stop:\"$event.stopPropagation();\",prevent:\"$event.preventDefault();\",self:ja(\"$event.target !\u003d\u003d $event.currentTarget\"),ctrl:ja(\"!$event.ctrlKey\"),shift:ja(\"!$event.shiftKey\"),alt:ja(\"!$event.altKey\"),meta:ja(\"!$event.metaKey\"),left:ja(\"\u0027button\u0027 in $event \u0026\u0026 $event.button !\u003d\u003d 0\"),middle:ja(\"\u0027button\u0027 in $event \u0026\u0026 $event.button !\u003d\u003d 1\"),right:ja(\"\u0027button\u0027 in $event \u0026\u0026 $event.button !\u003d\u003d 2\")};function La(e,t){var n\u003dt?\"nativeOn:\":\"on:\",r\u003d\"\",i\u003d\"\";for(var o in e){var a\u003dIa(e[o]);e[o]\u0026\u0026e[o].dynamic?i+\u003do+\",\"+a+\",\":r+\u003d\u0027\"\u0027+o+\u0027\":\u0027+a+\",\"}return r\u003d\"{\"+r.slice(0,-1)+\"}\",i?n+\"_d(\"+r+\",[\"+i.slice(0,-1)+\"])\":n+r}function Ia(e){if(!e)return\"function(){}\";if(Array.isArray(e))return\"[\"+e.map(function(e){return Ia(e)}).join(\",\")+\"]\";var t\u003dTa.test(e.value),n\u003dOa.test(e.value),r\u003dTa.test(e.value.replace(Sa,\"\"));if(e.modifiers){var i\u003d\"\",o\u003d\"\",a\u003d[];for(var s in e.modifiers)if(Da[s])o+\u003dDa[s],Na[s]\u0026\u0026a.push(s);else if(\"exact\"\u003d\u003d\u003ds){var c\u003de.modifiers;o+\u003dja([\"ctrl\",\"shift\",\"alt\",\"meta\"].filter(function(e){return!c[e]}).map(function(e){return\"$event.\"+e+\"Key\"}).join(\"||\"))}else a.push(s);return a.length\u0026\u0026(i+\u003dfunction(e){return\"if(!$event.type.indexOf(\u0027key\u0027)\u0026\u0026\"+e.map(Ma).join(\"\u0026\u0026\")+\")return null;\"}(a)),o\u0026\u0026(i+\u003do),\"function($event){\"+i+(t?\"return \"+e.value+\".apply(null, arguments)\":n?\"return (\"+e.value+\").apply(null, arguments)\":r?\"return \"+e.value:e.value)+\"}\"}return t||n?e.value:\"function($event){\"+(r?\"return \"+e.value:e.value)+\"}\"}function Ma(e){var t\u003dparseInt(e,10);if(t)return\"$event.keyCode!\u003d\u003d\"+t;var n\u003dNa[e],r\u003dEa[e];return\"_k($event.keyCode,\"+JSON.stringify(e)+\",\"+JSON.stringify(n)+\",$event.key,\"+JSON.stringify(r)+\")\"}var Fa\u003d{on:function(e,t){e.wrapListeners\u003dfunction(e){return\"_g(\"+e+\",\"+t.value+\")\"}},bind:function(e,t){e.wrapData\u003dfunction(n){return\"_b(\"+n+\",\u0027\"+e.tag+\"\u0027,\"+t.value+\",\"+(t.modifiers\u0026\u0026t.modifiers.prop?\"true\":\"false\")+(t.modifiers\u0026\u0026t.modifiers.sync?\",true\":\"\")+\")\"}},cloak:S},Pa\u003dfunction(e){this.options\u003de,this.warn\u003de.warn||Tr,this.transforms\u003dNr(e.modules,\"transformCode\"),this.dataGenFns\u003dNr(e.modules,\"genData\"),this.directives\u003dA(A({},Fa),e.directives);var t\u003de.isReservedTag||T;this.maybeComponent\u003dfunction(e){return!!e.component||!t(e.tag)},this.onceId\u003d0,this.staticRenderFns\u003d[],this.pre\u003d!1};function Ra(e,t){var n\u003dnew Pa(t);return{render:\"with(this){return \"+(e?\"script\"\u003d\u003d\u003de.tag?\"null\":Ha(e,n):\u0027_c(\"div\")\u0027)+\"}\",staticRenderFns:n.staticRenderFns}}function Ha(e,t){if(e.parent\u0026\u0026(e.pre\u003de.pre||e.parent.pre),e.staticRoot\u0026\u0026!e.staticProcessed)return Ba(e,t);if(e.once\u0026\u0026!e.onceProcessed)return Ua(e,t);if(e.for\u0026\u0026!e.forProcessed)return za(e,t);if(e.if\u0026\u0026!e.ifProcessed)return Va(e,t);if(\"template\"!\u003d\u003de.tag||e.slotTarget||t.pre){if(\"slot\"\u003d\u003d\u003de.tag)return function(e,t){var n\u003de.slotName||\u0027\"default\"\u0027,r\u003dWa(e,t),i\u003d\"_t(\"+n+(r?\",function(){return \"+r+\"}\":\"\"),o\u003de.attrs||e.dynamicAttrs?Xa((e.attrs||[]).concat(e.dynamicAttrs||[]).map(function(e){return{name:b(e.name),value:e.value,dynamic:e.dynamic}})):null,a\u003de.attrsMap[\"v-bind\"];!o\u0026\u0026!a||r||(i+\u003d\",null\");o\u0026\u0026(i+\u003d\",\"+o);a\u0026\u0026(i+\u003d(o?\"\":\",null\")+\",\"+a);return i+\")\"}(e,t);var n;if(e.component)n\u003dfunction(e,t,n){var r\u003dt.inlineTemplate?null:Wa(t,n,!0);return\"_c(\"+e+\",\"+Ka(t,n)+(r?\",\"+r:\"\")+\")\"}(e.component,e,t);else{var r;(!e.plain||e.pre\u0026\u0026t.maybeComponent(e))\u0026\u0026(r\u003dKa(e,t));var i\u003de.inlineTemplate?null:Wa(e,t,!0);n\u003d\"_c(\u0027\"+e.tag+\"\u0027\"+(r?\",\"+r:\"\")+(i?\",\"+i:\"\")+\")\"}for(var o\u003d0;o\u003ct.transforms.length;o++)n\u003dt.transforms[o](e,n);return n}return Wa(e,t)||\"void 0\"}function Ba(e,t){e.staticProcessed\u003d!0;var n\u003dt.pre;return e.pre\u0026\u0026(t.pre\u003de.pre),t.staticRenderFns.push(\"with(this){return \"+Ha(e,t)+\"}\"),t.pre\u003dn,\"_m(\"+(t.staticRenderFns.length-1)+(e.staticInFor?\",true\":\"\")+\")\"}function Ua(e,t){if(e.onceProcessed\u003d!0,e.if\u0026\u0026!e.ifProcessed)return Va(e,t);if(e.staticInFor){for(var n\u003d\"\",r\u003de.parent;r;){if(r.for){n\u003dr.key;break}r\u003dr.parent}return n?\"_o(\"+Ha(e,t)+\",\"+t.onceId+++\",\"+n+\")\":Ha(e,t)}return Ba(e,t)}function Va(e,t,n,r){return e.ifProcessed\u003d!0,function e(t,n,r,i){if(!t.length)return i||\"_e()\";var o\u003dt.shift();return o.exp?\"(\"+o.exp+\")?\"+a(o.block)+\":\"+e(t,n,r,i):\"\"+a(o.block);function a(e){return r?r(e,n):e.once?Ua(e,n):Ha(e,n)}}(e.ifConditions.slice(),t,n,r)}function za(e,t,n,r){var i\u003de.for,o\u003de.alias,a\u003de.iterator1?\",\"+e.iterator1:\"\",s\u003de.iterator2?\",\"+e.iterator2:\"\";return e.forProcessed\u003d!0,(r||\"_l\")+\"((\"+i+\"),function(\"+o+a+s+\"){return \"+(n||Ha)(e,t)+\"})\"}function Ka(e,t){var n\u003d\"{\",r\u003dfunction(e,t){var n\u003de.directives;if(!n)return;var r,i,o,a,s\u003d\"directives:[\",c\u003d!1;for(r\u003d0,i\u003dn.length;r\u003ci;r++){o\u003dn[r],a\u003d!0;var u\u003dt.directives[o.name];u\u0026\u0026(a\u003d!!u(e,o,t.warn)),a\u0026\u0026(c\u003d!0,s+\u003d\u0027{name:\"\u0027+o.name+\u0027\",rawName:\"\u0027+o.rawName+\u0027\"\u0027+(o.value?\",value:(\"+o.value+\"),expression:\"+JSON.stringify(o.value):\"\")+(o.arg?\",arg:\"+(o.isDynamicArg?o.arg:\u0027\"\u0027+o.arg+\u0027\"\u0027):\"\")+(o.modifiers?\",modifiers:\"+JSON.stringify(o.modifiers):\"\")+\"},\")}if(c)return s.slice(0,-1)+\"]\"}(e,t);r\u0026\u0026(n+\u003dr+\",\"),e.key\u0026\u0026(n+\u003d\"key:\"+e.key+\",\"),e.ref\u0026\u0026(n+\u003d\"ref:\"+e.ref+\",\"),e.refInFor\u0026\u0026(n+\u003d\"refInFor:true,\"),e.pre\u0026\u0026(n+\u003d\"pre:true,\"),e.component\u0026\u0026(n+\u003d\u0027tag:\"\u0027+e.tag+\u0027\",\u0027);for(var i\u003d0;i\u003ct.dataGenFns.length;i++)n+\u003dt.dataGenFns[i](e);if(e.attrs\u0026\u0026(n+\u003d\"attrs:\"+Xa(e.attrs)+\",\"),e.props\u0026\u0026(n+\u003d\"domProps:\"+Xa(e.props)+\",\"),e.events\u0026\u0026(n+\u003dLa(e.events,!1)+\",\"),e.nativeEvents\u0026\u0026(n+\u003dLa(e.nativeEvents,!0)+\",\"),e.slotTarget\u0026\u0026!e.slotScope\u0026\u0026(n+\u003d\"slot:\"+e.slotTarget+\",\"),e.scopedSlots\u0026\u0026(n+\u003dfunction(e,t,n){var r\u003de.for||Object.keys(t).some(function(e){var n\u003dt[e];return n.slotTargetDynamic||n.if||n.for||Ja(n)}),i\u003d!!e.if;if(!r)for(var o\u003de.parent;o;){if(o.slotScope\u0026\u0026o.slotScope!\u003d\u003dua||o.for){r\u003d!0;break}o.if\u0026\u0026(i\u003d!0),o\u003do.parent}var a\u003dObject.keys(t).map(function(e){return qa(t[e],n)}).join(\",\");return\"scopedSlots:_u([\"+a+\"]\"+(r?\",null,true\":\"\")+(!r\u0026\u0026i?\",null,false,\"+function(e){var t\u003d5381,n\u003de.length;for(;n;)t\u003d33*t^e.charCodeAt(--n);return t\u003e\u003e\u003e0}(a):\"\")+\")\"}(e,e.scopedSlots,t)+\",\"),e.model\u0026\u0026(n+\u003d\"model:{value:\"+e.model.value+\",callback:\"+e.model.callback+\",expression:\"+e.model.expression+\"},\"),e.inlineTemplate){var o\u003dfunction(e,t){var n\u003de.children[0];if(n\u0026\u00261\u003d\u003d\u003dn.type){var r\u003dRa(n,t.options);return\"inlineTemplate:{render:function(){\"+r.render+\"},staticRenderFns:[\"+r.staticRenderFns.map(function(e){return\"function(){\"+e+\"}\"}).join(\",\")+\"]}\"}}(e,t);o\u0026\u0026(n+\u003do+\",\")}return n\u003dn.replace(/,$/,\"\")+\"}\",e.dynamicAttrs\u0026\u0026(n\u003d\"_b(\"+n+\u0027,\"\u0027+e.tag+\u0027\",\u0027+Xa(e.dynamicAttrs)+\")\"),e.wrapData\u0026\u0026(n\u003de.wrapData(n)),e.wrapListeners\u0026\u0026(n\u003de.wrapListeners(n)),n}function Ja(e){return 1\u003d\u003d\u003de.type\u0026\u0026(\"slot\"\u003d\u003d\u003de.tag||e.children.some(Ja))}function qa(e,t){var n\u003de.attrsMap[\"slot-scope\"];if(e.if\u0026\u0026!e.ifProcessed\u0026\u0026!n)return Va(e,t,qa,\"null\");if(e.for\u0026\u0026!e.forProcessed)return za(e,t,qa);var r\u003de.slotScope\u003d\u003d\u003dua?\"\":String(e.slotScope),i\u003d\"function(\"+r+\"){return \"+(\"template\"\u003d\u003d\u003de.tag?e.if\u0026\u0026n?\"(\"+e.if+\")?\"+(Wa(e,t)||\"undefined\")+\":undefined\":Wa(e,t)||\"undefined\":Ha(e,t))+\"}\",o\u003dr?\"\":\",proxy:true\";return\"{key:\"+(e.slotTarget||\u0027\"default\"\u0027)+\",fn:\"+i+o+\"}\"}function Wa(e,t,n,r,i){var o\u003de.children;if(o.length){var a\u003do[0];if(1\u003d\u003d\u003do.length\u0026\u0026a.for\u0026\u0026\"template\"!\u003d\u003da.tag\u0026\u0026\"slot\"!\u003d\u003da.tag){var s\u003dn?t.maybeComponent(a)?\",1\":\",0\":\"\";return\"\"+(r||Ha)(a,t)+s}var c\u003dn?function(e,t){for(var n\u003d0,r\u003d0;r\u003ce.length;r++){var i\u003de[r];if(1\u003d\u003d\u003di.type){if(Za(i)||i.ifConditions\u0026\u0026i.ifConditions.some(function(e){return Za(e.block)})){n\u003d2;break}(t(i)||i.ifConditions\u0026\u0026i.ifConditions.some(function(e){return t(e.block)}))\u0026\u0026(n\u003d1)}}return n}(o,t.maybeComponent):0,u\u003di||Ga;return\"[\"+o.map(function(e){return u(e,t)}).join(\",\")+\"]\"+(c?\",\"+c:\"\")}}function Za(e){return void 0!\u003d\u003de.for||\"template\"\u003d\u003d\u003de.tag||\"slot\"\u003d\u003d\u003de.tag}function Ga(e,t){return 1\u003d\u003d\u003de.type?Ha(e,t):3\u003d\u003d\u003de.type\u0026\u0026e.isComment?(r\u003de,\"_e(\"+JSON.stringify(r.text)+\")\"):\"_v(\"+(2\u003d\u003d\u003d(n\u003de).type?n.expression:Ya(JSON.stringify(n.text)))+\")\";var n,r}function Xa(e){for(var t\u003d\"\",n\u003d\"\",r\u003d0;r\u003ce.length;r++){var i\u003de[r],o\u003dYa(i.value);i.dynamic?n+\u003di.name+\",\"+o+\",\":t+\u003d\u0027\"\u0027+i.name+\u0027\":\u0027+o+\",\"}return t\u003d\"{\"+t.slice(0,-1)+\"}\",n?\"_d(\"+t+\",[\"+n.slice(0,-1)+\"])\":t}function Ya(e){return e.replace(/\\u2028/g,\"\\\\u2028\").replace(/\\u2029/g,\"\\\\u2029\")}new RegExp(\"\\\\b\"+\"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments\".split(\",\").join(\"\\\\b|\\\\b\")+\"\\\\b\");function Qa(e,t){try{return new Function(e)}catch(n){return t.push({err:n,code:e}),S}}function es(e){var t\u003dObject.create(null);return function(n,r,i){(r\u003dA({},r)).warn;delete r.warn;var o\u003dr.delimiters?String(r.delimiters)+n:n;if(t[o])return t[o];var a\u003de(n,r),s\u003d{},c\u003d[];return s.render\u003dQa(a.render,c),s.staticRenderFns\u003da.staticRenderFns.map(function(e){return Qa(e,c)}),t[o]\u003ds}}var ts,ns,rs\u003d(ts\u003dfunction(e,t){var n\u003dfa(e.trim(),t);!1!\u003d\u003dt.optimize\u0026\u0026Aa(n,t);var r\u003dRa(n,t);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}},function(e){function t(t,n){var r\u003dObject.create(e),i\u003d[],o\u003d[];if(n)for(var a in n.modules\u0026\u0026(r.modules\u003d(e.modules||[]).concat(n.modules)),n.directives\u0026\u0026(r.directives\u003dA(Object.create(e.directives||null),n.directives)),n)\"modules\"!\u003d\u003da\u0026\u0026\"directives\"!\u003d\u003da\u0026\u0026(r[a]\u003dn[a]);r.warn\u003dfunction(e,t,n){(n?o:i).push(e)};var s\u003dts(t.trim(),r);return s.errors\u003di,s.tips\u003do,s}return{compile:t,compileToFunctions:es(t)}})(xa),is\u003d(rs.compile,rs.compileToFunctions);function os(e){return(ns\u003dns||document.createElement(\"div\")).innerHTML\u003de?\u0027\u003ca href\u003d\"\\n\"/\u003e\u0027:\u0027\u003cdiv a\u003d\"\\n\"/\u003e\u0027,ns.innerHTML.indexOf(\"\u0026#10;\")\u003e0}var as\u003d!!V\u0026\u0026os(!1),ss\u003d!!V\u0026\u0026os(!0),cs\u003dg(function(e){var t\u003dQn(e);return t\u0026\u0026t.innerHTML}),us\u003dCn.prototype.$mount;return Cn.prototype.$mount\u003dfunction(e,t){if((e\u003de\u0026\u0026Qn(e))\u003d\u003d\u003ddocument.body||e\u003d\u003d\u003ddocument.documentElement)return this;var n\u003dthis.$options;if(!n.render){var r\u003dn.template;if(r)if(\"string\"\u003d\u003dtypeof r)\"#\"\u003d\u003d\u003dr.charAt(0)\u0026\u0026(r\u003dcs(r));else{if(!r.nodeType)return this;r\u003dr.innerHTML}else e\u0026\u0026(r\u003dfunction(e){if(e.outerHTML)return e.outerHTML;var t\u003ddocument.createElement(\"div\");return t.appendChild(e.cloneNode(!0)),t.innerHTML}(e));if(r){var i\u003dis(r,{outputSourceRange:!1,shouldDecodeNewlines:as,shouldDecodeNewlinesForHref:ss,delimiters:n.delimiters,comments:n.comments},this),o\u003di.render,a\u003di.staticRenderFns;n.render\u003do,n.staticRenderFns\u003da}}return us.call(this,e,t)},Cn.compile\u003dis,Cn});"}],"authorContributionMap":{"jingting1412":6}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/_mixins.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"// @see https://github.com/twbs/bootstrap/blob/main/scss/_functions.scss"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"@function material-icons-str-replace($string, $search, $replace: \u0027\u0027) {"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" $index: str-index($string, $search);"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" @if $index {"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" @return str-slice($string, 1, $index - 1) + $replace +"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" material-icons-str-replace("},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" str-slice($string, $index + str-length($search)),"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" $search,"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" $replace"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" );"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" @return $string;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":"@mixin material-icons-font-class($font-family) {"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" font-family: $font-family;"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" font-size: $material-icons-font-size;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased; // Support for all WebKit browsers"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale; // Support for Firefox"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility; // Support for Safari and Chrome"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \u0027liga\u0027; // Support for IE"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":"@mixin material-icons-font($font-family) {"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" $class-name: to-lower-case($font-family);"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":" $class-name: material-icons-str-replace($class-name, \u0027 \u0027, \u0027-\u0027);"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":" $font-file: $material-icons-font-path + $class-name;"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" @font-face {"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":" font-family: $font-family;"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" font-display: $material-icons-font-display;"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" src: url(\u0027#{$font-file}.woff2\u0027) format(\u0027woff2\u0027),"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":" url(\u0027#{$font-file}.woff\u0027) format(\u0027woff\u0027);"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" .#{$class-name} {"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" @include material-icons-font-class($font-family);"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":"@mixin material-icons() {"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":" @warn \"material-icons() Sass mixin has been deprecated as of 1.0. Use \u0027@extend .material-icons;\u0027 instead of \u0027@include material-icons();\u0027.\";"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":" @include material-icons-font-class(\u0027Material Icons\u0027);"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":55}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/_variables.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"$material-icons-font-path: \u0027./\u0027 !default;"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"$material-icons-font-size: 24px !default;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"$material-icons-font-display: block !default;"}],"authorContributionMap":{"jingting1412":3}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/filled.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons\";"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons.woff2\") format(\"woff2\"), url(\"./material-icons.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".material-icons {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons\";"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":24}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/filled.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"@include material-icons-font(\u0027Material Icons\u0027);"}],"authorContributionMap":{"jingting1412":4}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/material-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons\";"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons.woff2\") format(\"woff2\"), url(\"./material-icons.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".material-icons {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons\";"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-outlined.woff2\") format(\"woff2\"), url(\"./material-icons-outlined.woff\") format(\"woff\");"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":".material-icons-outlined {"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-round.woff2\") format(\"woff2\"), url(\"./material-icons-round.woff\") format(\"woff\");"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":".material-icons-round {"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":71,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":72,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":73,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":74,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":75,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":76,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":77,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":78,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":79,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":80,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":81,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-sharp.woff2\") format(\"woff2\"), url(\"./material-icons-sharp.woff\") format(\"woff\");"},{"lineNumber":82,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":83,"author":{"gitId":"jingting1412"},"content":".material-icons-sharp {"},{"lineNumber":84,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":85,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":86,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":87,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":88,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":89,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":90,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":91,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":92,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":93,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":94,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":95,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":96,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":97,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":98,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":99,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":100,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":101,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":102,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":103,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":104,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":105,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":106,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-two-tone.woff2\") format(\"woff2\"), url(\"./material-icons-two-tone.woff\") format(\"woff\");"},{"lineNumber":107,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":108,"author":{"gitId":"jingting1412"},"content":".material-icons-two-tone {"},{"lineNumber":109,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":110,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":111,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":112,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":113,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":114,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":115,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":116,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":117,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":118,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":119,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":120,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":121,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":122,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":123,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":124,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":124}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/material-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@import \u0027filled\u0027;"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"@import \u0027outlined\u0027;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"@import \u0027round\u0027;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"@import \u0027sharp\u0027;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"@import \u0027two-tone\u0027;"}],"authorContributionMap":{"jingting1412":5}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/outlined.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-outlined.woff2\") format(\"woff2\"), url(\"./material-icons-outlined.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".material-icons-outlined {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":24}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/outlined.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"@include material-icons-font(\u0027Material Icons Outlined\u0027);"}],"authorContributionMap":{"jingting1412":4}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/round.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-round.woff2\") format(\"woff2\"), url(\"./material-icons-round.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".material-icons-round {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":24}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/round.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"@include material-icons-font(\u0027Material Icons Round\u0027);"}],"authorContributionMap":{"jingting1412":4}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/sharp.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-sharp.woff2\") format(\"woff2\"), url(\"./material-icons-sharp.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".material-icons-sharp {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":24}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/sharp.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"@include material-icons-font(\u0027Material Icons Sharp\u0027);"}],"authorContributionMap":{"jingting1412":4}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/two-tone.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-two-tone.woff2\") format(\"woff2\"), url(\"./material-icons-two-tone.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".material-icons-two-tone {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":24}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/two-tone.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"@include material-icons-font(\u0027Material Icons Two Tone\u0027);"}],"authorContributionMap":{"jingting1412":4}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/plugins/markbind-plugin-anchors/markbind-plugin-anchors.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":".fa.fa-anchor {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" color: #ccc;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" display: inline;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-size: 14px;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" margin-left: 10px;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" padding: 3px;"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" text-decoration: none;"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" visibility: hidden;"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":".fa.fa-anchor:hover {"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" color: #555;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":"h1:hover \u003e .fa.fa-anchor,"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":"h2:hover \u003e .fa.fa-anchor,"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":"h3:hover \u003e .fa.fa-anchor,"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":"h4:hover \u003e .fa.fa-anchor,"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":"h5:hover \u003e .fa.fa-anchor,"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":"h6:hover \u003e .fa.fa-anchor,"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":".header-wrapper:hover \u003e .fa.fa-anchor {"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" visibility: visible;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":23}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/plugins/markbind-plugin-tree/markbind-plugin-tree.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":".tree {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" white-space: pre;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" font-family: \"Fira Code\", \"Fira Mono\", monospace;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-size: 0.9375rem;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" line-height: 1.5;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" overflow-x: auto;"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":7}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/site.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"{"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \"baseUrl\": \"\","},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" \"titlePrefix\": \"\","},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" \"titleSuffix\": \"\","},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \"ignore\": ["},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \"_markbind/layouts/*\","},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \"_markbind/logs/*\","},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \"_site/*\","},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \"site.json\","},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \"*.md\","},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \"*.njk\","},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \".git/*\","},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \".gitignore\","},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \"node_modules/*\""},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" ],"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \"pagesExclude\": [\"node_modules/*\"],"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \"pages\": ["},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" {"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \"src\": \"index.md\","},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \"title\": \"Portfolio\""},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" },"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" {"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \"glob\": [\"**/index.md\"]"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" ],"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \"deploy\": {"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \"message\": \"Site Update.\""},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" },"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" \"style\": {"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" \"bootstrapTheme\": \"bootswatch-flatly\""},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":32}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/siteData.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"{"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \"enableSearch\": true,"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" \"pages\": ["},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" {"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \"src\": \"index.md\","},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \"title\": \"Portfolio\","},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \"headings\": {"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \"about-me\": \"About me\","},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \"skills\": \"Skills\","},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \"experience\": \"Experience\","},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \"projects\": \"Projects\","},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \"example-project-ip-for-cs2103\": \"Example project: iP for CS2103\","},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \"project-2\": \"Project 2\","},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \"other-projects\": \"Other projects\""},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" },"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \"headingKeywords\": {}"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" ]"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":19}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"jingting1412"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"jingting1412"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"jingting1412"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":75,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":76,"author":{"gitId":"jingting1412"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"jingting1412"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"jingting1412"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"jingting1412"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":81,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":82,"author":{"gitId":"jingting1412"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"jingting1412"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"jingting1412"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":86,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":87,"author":{"gitId":"jingting1412"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"jingting1412"},"content":" overflow-y: auto;"},{"lineNumber":89,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":90,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":91,"author":{"gitId":"jingting1412"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"jingting1412"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":94,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":95,"author":{"gitId":"jingting1412"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"jingting1412"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":99,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":100,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":101,"author":{"gitId":"jingting1412"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"jingting1412"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"jingting1412"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":106,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":107,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":108,"author":{"gitId":"jingting1412"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":109,"author":{"gitId":"jingting1412"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":110,"author":{"gitId":"jingting1412"},"content":" .indented {"},{"lineNumber":111,"author":{"gitId":"jingting1412"},"content":" padding-left: 10px;"},{"lineNumber":112,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":113,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":114,"author":{"gitId":"jingting1412"},"content":" #content-wrapper {"},{"lineNumber":115,"author":{"gitId":"jingting1412"},"content":" padding: 0 10px;"},{"lineNumber":116,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":117,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":118,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":119,"author":{"gitId":"jingting1412"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":120,"author":{"gitId":"jingting1412"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":121,"author":{"gitId":"jingting1412"},"content":" #site-nav {"},{"lineNumber":122,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":123,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":124,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":125,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":126,"author":{"gitId":"jingting1412"},"content":"/* Hide site navigation when printing */"},{"lineNumber":127,"author":{"gitId":"jingting1412"},"content":"@media print {"},{"lineNumber":128,"author":{"gitId":"jingting1412"},"content":" #site-nav {"},{"lineNumber":129,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":130,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":131,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":132,"author":{"gitId":"jingting1412"},"content":" #page-nav {"},{"lineNumber":133,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":134,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":135,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":135}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Configuration.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis page can be used to understand how to configure the application such as descriptions of the config file and how to change the configuration.\\n\")]),_v(\" \"),_m(1)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(2)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"configuration-guide\"}},[_v(\"Configuration guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#configuration-guide\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Certain properties of the application can be controlled (e.g user preferences file location, logging level) through the configuration file (default: \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"config.json\")]),_v(\").\")])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":16}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Design.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis section describes the architecture of your app, explaining how the main components work and interact with each other. Using architecture diagrams is recommended.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_m(2),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/diagrams/example.png\",\"width\":\"300\"}}),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\"}},[_c(\u0027p\u0027,[_v(\"Replace the above example diagram with an Architecture Diagram of your project created using \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/components/imagesAndDiagrams.html#diagrams\"}},[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"puml\")]),_v(\" feature\")]),_v(\".\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Given below is a quick overview of main components and how they interact with each other.\")]),_v(\" \"),_m(3),_v(\" \"),_c(\u0027p\u0027,[_v(\"The bulk of the app\u0027s work is done by the following components:\")]),_v(\" \"),_m(4),_v(\" \"),_m(5),_v(\" \"),_m(6),_v(\" \"),_c(\u0027annotate\u0027,{attrs:{\"src\":\"../images/johndoe.png\",\"width\":\"300\",\"alt\":\"Sample Image\"}},[_c(\u0027a-point\u0027,{attrs:{\"x\":\"25%\",\"y\":\"25%\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 25% from the left and 25% from the top\")])]},proxy:true}])}),_v(\" \"),_c(\u0027a-point\u0027,{attrs:{\"x\":\"50%\",\"y\":\"25%\",\"size\":\"60\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 50% from the left and 25% from the top\")])]},proxy:true}])}),_v(\" \"),_c(\u0027a-point\u0027,{attrs:{\"x\":\"75%\",\"y\":\"25%\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This has a header\")])]},proxy:true},{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 75% from the left and 25% from the top\")])]},proxy:true}])}),_v(\" \"),_c(\u0027a-point\u0027,{attrs:{\"x\":\"33%\",\"y\":\"50%\",\"color\":\"red\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 33% from the left and 50% from the top\")])]},proxy:true}])}),_v(\" \"),_c(\u0027a-point\u0027,{attrs:{\"x\":\"66%\",\"y\":\"50%\",\"opacity\":\"0.7\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 66% from the left and 50% from the top\")])]},proxy:true}])}),_v(\" \"),_c(\u0027a-point\u0027,{attrs:{\"x\":\"25%\",\"y\":\"75%\"},scopedSlots:_u([{key:\"label\",fn:function(){return [_c(\u0027p\u0027,[_v(\"1\")])]},proxy:true},{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 25% from the left and 75% from the top\")])]},proxy:true}])}),_v(\" \"),_c(\u0027a-point\u0027,{attrs:{\"x\":\"50%\",\"y\":\"75%\",\"textColor\":\"white\",\"color\":\"black\",\"opacity\":\"1\"},scopedSlots:_u([{key:\"label\",fn:function(){return [_c(\u0027p\u0027,[_v(\"2\")])]},proxy:true},{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 50% from the left and 75% from the top\")])]},proxy:true}])}),_v(\" \"),_c(\u0027a-point\u0027,{attrs:{\"x\":\"75%\",\"y\":\"75%\",\"fontSize\":\"30\"},scopedSlots:_u([{key:\"label\",fn:function(){return [_c(\u0027p\u0027,[_v(\"3\")])]},proxy:true},{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 75% from the left and 75% from the top\")])]},proxy:true}])})],1),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\"}},[_c(\u0027p\u0027,[_v(\"For diagrams like your Sequence Diagram, it can also be created using \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/components/imagesAndDiagrams.html#annotations\"}},[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"annotate\")]),_v(\" feature\")]),_v(\", that will allow you to annotate specific parts of your diagram.\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The sections below give more details of each component.\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Tip:\")]),_v(\" Describe in each section how each component works in detail, including its classes, methods, and how it interacts with other components.\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"You can use a combination of Markbind\u0027s \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/components/imagesAndDiagrams.html#diagrams\"}},[_c(\u0027strong\u0027,[_v(\"Diagrams\")]),_v(\" feature\")]),_v(\" to provide a visual representation of each component, such as architecture and sequence diagrams.\")])]),_v(\" \"),_m(7),_v(\" \"),_m(8),_v(\" \"),_c(\u0027pic\u0027,{staticStyle:{\"margin-bottom\":\"20px\"},attrs:{\"src\":\"/images/johndoe.png\",\"width\":\"200px\"}},[_v(\"\\nDiagram: Component 1\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Component 1,\")]),_v(\" \"),_m(9),_v(\" \"),_m(10),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\",\"seamless\":\"\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Note:\")]),_v(\" You can use boxes to include details that you want to draw the reader\u0027s attention to. See \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/components/presentation.html#boxes\"}},[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"Boxes\")]),_v(\" feature\")]),_v(\".\")])]),_v(\" \"),_c(\u0027pic\u0027,{staticStyle:{\"margin-bottom\":\"20px\"},attrs:{\"src\":\"/images/johndoe.png\",\"width\":\"200px\"}},[_v(\"\\nDiagram: Component 2\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Component 2,\")]),_v(\" \"),_m(11)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#design\"}},[_v(\"Design‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#architecture\"}},[_v(\"Architecture‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#component-1\"}},[_v(\"Component 1‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#component-2\"}},[_v(\"Component 2‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(12)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"design\"}},[_v(\"Design\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#design\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"architecture\"}},[_v(\"Architecture\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#architecture\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"The \"),_c(\u0027em\u0027,[_c(\u0027strong\u0027,[_v(\"Architecture Diagram\")])]),_v(\" given below explains the high-level design of the ProjectEx App.\")])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Main components of the architecture\")])])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027a\u0027,{attrs:{\"href\":\"#component-1\"}},[_c(\u0027strong\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"Component 1\")])])]),_v(\": Does something.\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{attrs:{\"href\":\"#component-2\"}},[_c(\u0027strong\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"Component 2\")])])]),_v(\": Does something.\")])])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Interactions between architecture components\")])])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"The \"),_c(\u0027em\u0027,[_v(\"Sequence Diagram\")]),_v(\" below shows how the components interact with each other for a certain scenario.\")])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"component-1\"}},[_v(\"Component 1\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#component-1\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Component 1 is made up of parts e.g.\"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"A\")]),_v(\", \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"B\")]),_v(\", \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"C\")]),_v(\" etc.\")])}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"works with Component 2 in this way.\")])])}"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"component-2\"}},[_v(\"Component 2\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#component-2\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"works with Component 1 in this way.\")])])}"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":46}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/DevOps.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis page can be used to understand the DevOps practices adopted by the project.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_m(2),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Example Commands for Typical Projects\")])])]},proxy:true}])},[_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\"}},[_v(\"\\nThe following commands are examples. You can customize them according to your project\u0027s needs.\\n\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"clean\")])]),_v(\": Deletes the files created during the previous build tasks.\"),_c(\u0027br\u0027),_v(\"\\ne.g. \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"npm run clean\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"run\")])]),_v(\": Builds and runs the application.\"),_c(\u0027br\u0027)])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"test\")])]),_v(\": Runs all tests.\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"npm run test\")]),_v(\" — Runs all tests\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"npm run cleantest\")]),_v(\" — Cleans the project and runs tests\")])])])])],1),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_m(5),_v(\" \"),_c(\u0027p\u0027,[_v(\"As part of CI, this project tracks code coverage as well.\")]),_v(\" \"),_m(6),_v(\" \"),_c(\u0027p\u0027,[_v(\"Your CI can include some repository-wide checks. These repository-wide checks cover all files in the repository. They check for repository rules which are hard to enforce on development machines such as line ending requirements.\")]),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_m(7),_v(\" \"),_c(\u0027p\u0027,[_v(\"Here are the steps to create a new release.\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"warning\"}},[_v(\"\\nMake sure you have the necessary permissions to create a release.\\n\")]),_v(\" \"),_c(\u0027popover\u0027,{attrs:{\"id\":\"pop:trigger_id\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_v(\"e.g. \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"v0.1\")])]},proxy:true}])}),_v(\" \"),_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Update the version number.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Tag the repo with the \"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:trigger_id\"}},[_v(\"version number\")]),_v(\".\")],1),_v(\" \"),_m(8)])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#devops-guide\"}},[_v(\"DevOps guide‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#build-automation\"}},[_v(\"Build automation‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#continuous-integration-ci\"}},[_v(\"Continuous integration (CI)‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#code-coverage\"}},[_v(\"Code coverage‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#repository-wide-checks\"}},[_v(\"Repository-wide checks‎\")])]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#making-a-release\"}},[_v(\"Making a release‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(9)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"devops-guide\"}},[_v(\"DevOps guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#devops-guide\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"build-automation\"}},[_v(\"Build automation\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#build-automation\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"This example project includes features for \"),_c(\u0027strong\u0027,[_v(\"build automation and dependency management\")]),_v(\". You can walkthrough command scripts you have in your project, such as how to clean, test, and run the project.\")])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"continuous-integration-ci\"}},[_v(\"Continuous integration (CI)\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#continuous-integration-ci\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"This project uses \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://github.com/features/actions\"}},[_v(\"GitHub Actions\")]),_v(\" for CI. The project comes with the necessary GitHub Actions configurations files (in the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\".github/workflows\")]),_v(\" folder). No further setting up required.\")])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"code-coverage\"}},[_v(\"Code coverage\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#code-coverage\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"repository-wide-checks\"}},[_v(\"Repository-wide checks\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#repository-wide-checks\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"making-a-release\"}},[_v(\"Making a release\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#making-a-release\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027li\u0027,[_c(\u0027a\u0027,{attrs:{\"href\":\"https://help.github.com/articles/creating-releases/\"}},[_v(\"Create a new release using GitHub\")]),_v(\".\")])}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":37}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/DeveloperGuide.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_m(0),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#projectex-developer-guide\"}},[_v(\"ProjectEx Developer Guide‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#introduction\"}},[_v(\"Introduction‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#purpose-of-this-guide\"}},[_v(\"Purpose of this Guide‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#acknowledgements\"}},[_v(\"Acknowledgements‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027h1\u0027,{attrs:{\"id\":\"projectex-developer-guide\"}},[_v(\"ProjectEx Developer Guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#projectex-developer-guide\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_c(\u0027h2\u0027,{attrs:{\"id\":\"introduction\"}},[_v(\"Introduction\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#introduction\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Welcome to the Developer Guide. This guide helps developers understand the architecture, setup, and development workflows of our software, serving as your starting point and companion.\")]),_v(\" \"),_c(\u0027h2\u0027,{attrs:{\"id\":\"purpose-of-this-guide\"}},[_v(\"Purpose of this Guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#purpose-of-this-guide\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The main objectives of this guide are to:\")]),_v(\" \"),_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Orient new developers to the software\u0027s architecture and codebase structure.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Provide a comprehensive reference for the development practices, coding standards, and tools used.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Detail the setup process for a development environment.\")])]),_v(\" \"),_c(\u0027h2\u0027,{attrs:{\"id\":\"acknowledgements\"}},[_c(\u0027strong\u0027,[_v(\"Acknowledgements\")]),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#acknowledgements\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"{ List and link sources of all reused/adapted ideas, code, documentation, and third-party libraries }\")])])])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":13}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Documentation.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis page can be used to understand the documentation practices and link to relevant sources to help developers contribute to documentation.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"success\",\"seamless\":\"\"}},[_v(\"\\nUpdating documentation as changes are made to the project is ideal for any project.\\n\")]),_v(\" \"),_m(2),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_m(5)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#documentation-guide\"}},[_v(\"Documentation Guide‎\")])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(6)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"documentation-guide\"}},[_v(\"Documentation Guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#documentation-guide\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"We use \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_c(\u0027strong\u0027,[_v(\"MarkBind\")])]),_v(\" to manage documentation.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"The \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"docs/\")]),_v(\" folder contains the source files for the documentation website.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"To learn how set it up and maintain the project website, follow the guide \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://se-education.org/guides/tutorials/markbind-forked-sites.html\"}},[_v(\"[se-edu/guides] Working with Forked MarkBind sites\")]),_v(\" for project documentation.\")])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Style guidance:\")])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Follow the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://developers.google.com/style\"}},[_c(\u0027strong\u0027,[_c(\u0027em\u0027,[_v(\"Google developer documentation style guide\")])])]),_v(\".\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Also relevant is the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://se-education.org/guides/conventions/markdown.html\"}},[_c(\u0027em\u0027,[_v(\"se-edu/guides \"),_c(\u0027strong\u0027,[_v(\"Markdown coding standard\")])])]),_v(\".\")])])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Converting to PDF\")])])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"See the guide \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://se-education.org/guides/tutorials/savingPdf.html\"}},[_c(\u0027em\u0027,[_v(\"se-edu/guides \"),_c(\u0027strong\u0027,[_v(\"Saving web documents as PDF files\")])])]),_v(\".\")])])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":28}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Implementation.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis section can be used to describe some noteworthy details on how certain features are implemented.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_c(\u0027p\u0027,[_v(\"Given below is an example usage scenario and how FeatureX behaves at each step.\")]),_v(\" \"),_m(2),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Alternative 1 (current choice):\")]),_v(\" Implementation 1\")])]},proxy:true}])},[_v(\"\\nPros: Easy to implement.\"),_c(\u0027br\u0027),_v(\"\\nCons: May have performance issues in terms of memory usage.\\n\")]),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Alternative 2:\")]),_v(\" Implementation 2\")])]},proxy:true}])},[_v(\"\\nPros: Will use less memory.\"),_c(\u0027br\u0027),_v(\"\\nCons: We must add addtional test cases.\\n\")]),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_m(5),_v(\" \"),_m(6),_v(\" \"),_m(7)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#implementation\"}},[_v(\"Implementation‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#proposed-featurex-implementation\"}},[_v(\"[Proposed] FeatureX Implementation‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#proposed-data-archiving\"}},[_v(\"[Proposed] Data archiving‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(8)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"implementation\"}},[_v(\"Implementation\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#implementation\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"proposed-featurex-implementation\"}},[_v(\"[Proposed] FeatureX Implementation\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#proposed-featurex-implementation\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Step 1\")]),_v(\": User does something\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Expected\")]),_v(\": FeatureX does something in response\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Step 2\")]),_v(\": User does something else\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Expected\")]),_v(\": FeatureX does something else in response\")])])])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h4\u0027,{attrs:{\"id\":\"design-considerations\"}},[_v(\"Design considerations:\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#design-considerations\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Aspect: How FeatureX executes:\")])])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"{ More aspects and alternatives to be added }\")])])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"proposed-data-archiving\"}},[_v(\"[Proposed] Data archiving\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#proposed-data-archiving\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"{ Explain here how the data archiving feature will be implemented }\")])])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":34}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Requirements.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis section can be used to describe the requirements of the app, through the use of user stories, use cases.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_m(2),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_m(5),_v(\" \"),_m(6),_v(\" \"),_m(7),_v(\" \"),_m(8),_v(\" \"),_m(9),_m(10),_v(\" \"),_m(11),_v(\" \"),_m(12),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Use case 1: Do something\")])])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"MSS\")])]),_v(\" \"),_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"User requests ProjectEx\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"ProjectEx provides response\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Use case ends.\")])])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Extensions\")])]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"2a. Requests fails.\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Use case ends.\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"2b. User request is invalid.\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"2b1. ProjectEx shows an error message.\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Use case resumes at step 2.\")])])])])])]),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_m(13),_v(\" \"),_m(14),_v(\" \"),_m(15),_v(\" \"),_m(16)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#requirements\"}},[_v(\"Requirements‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#product-scope\"}},[_v(\"Product scope‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#user-stories\"}},[_v(\"User stories‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#use-cases\"}},[_v(\"Use cases‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#non-functional-requirements\"}},[_v(\"Non-Functional Requirements‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(17)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"requirements\"}},[_v(\"Requirements\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#requirements\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"product-scope\"}},[_v(\"Product scope\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#product-scope\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Target user profile\")]),_v(\":\")])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"user needs\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"user preferences\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"user information\")])])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Value proposition\")]),_v(\": Benefit compared to other similar products\")])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Non-Functional Requirements\")]),_v(\":\")])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"OS requirements\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Peformance\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Security\")])])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"user-stories\"}},[_v(\"User stories\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#user-stories\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Priorities: High (must have) - \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"* * *\")]),_v(\", Medium (nice to have) - \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"* *\")]),_v(\", Low (unlikely to have) - \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"*\")])])}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"table-responsive\"},[_c(\u0027table\u0027,{staticClass:\"markbind-table table table-bordered table-striped\"},[_c(\u0027thead\u0027,[_c(\u0027tr\u0027,[_c(\u0027th\u0027,[_v(\"Priority\")]),_v(\" \"),_c(\u0027th\u0027,[_v(\"As a …​\")]),_v(\" \"),_c(\u0027th\u0027,[_v(\"I want to …​\")]),_v(\" \"),_c(\u0027th\u0027,[_v(\"So that I can…​\")])])]),_v(\" \"),_c(\u0027tbody\u0027,[_c(\u0027tr\u0027,[_c(\u0027td\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"* * *\")])]),_v(\" \"),_c(\u0027td\u0027,[_v(\"new user\")]),_v(\" \"),_c(\u0027td\u0027,[_v(\"see something\")]),_v(\" \"),_c(\u0027td\u0027,[_v(\"visualise something\")])]),_v(\" \"),_c(\u0027tr\u0027,[_c(\u0027td\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"* *\")])]),_v(\" \"),_c(\u0027td\u0027,[_v(\"user\")]),_v(\" \"),_c(\u0027td\u0027,[_v(\"do something\")]),_v(\" \"),_c(\u0027td\u0027,[_v(\"complete something\")])]),_v(\" \"),_c(\u0027tr\u0027,[_c(\u0027td\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"*\")])]),_v(\" \"),_c(\u0027td\u0027,[_v(\"user with specific information\")]),_v(\" \"),_c(\u0027td\u0027,[_v(\"sort something\")]),_v(\" \"),_c(\u0027td\u0027,[_v(\"find something\")])])])])])}"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"{More to be added}\")])])}"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"use-cases\"}},[_v(\"Use cases\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#use-cases\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"(For all use cases below, the \"),_c(\u0027strong\u0027,[_v(\"System\")]),_v(\" is the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"ProjectEx\")]),_v(\" and the \"),_c(\u0027strong\u0027,[_v(\"Actor\")]),_v(\" is the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"User\")]),_v(\", unless specified otherwise)\")])}"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"{More to be added}\")])])}"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"non-functional-requirements\"}},[_v(\"Non-Functional Requirements\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#non-functional-requirements\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Should work on any \"),_c(\u0027em\u0027,[_v(\"mainstream OS\")]),_v(\" as long as it has Java \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"11\")]),_v(\" or above installed.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage.\")])])}"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"{More to be added}\")])])}"},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":61}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/SettingUp.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis page can be used to help developers with setting up the project in their local environment.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"warning\",\"seamless\":\"\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Caution:\")]),_v(\"\\nFollow the steps in the following guide precisely. Things will not work out if you deviate in some steps.\")])]),_v(\" \"),_m(2),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027popover\u0027,{attrs:{\"id\":\"pop:trigger_id\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_v(\"eg. \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"init\")]),_v(\" or \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"build\")]),_v(\" commands\")]},proxy:true}])}),_v(\"\\n(Example) Steps to setup the project environment:\")],1),_v(\" \"),_c(\u0027ol\u0027,[_m(3),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Run setup commands\")]),_v(\": Run \"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:trigger_id\"}},[_v(\"commands\")]),_v(\" needed to setup the project.\"),_c(\u0027box\u0027,{attrs:{\"type\":\"warning\",\"seamless\":\"\"}},[_v(\"\\nNote: Remember to run commands from the appropriate directory.\\n\")])],1),_v(\" \"),_m(4),_v(\" \"),_m(5)]),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_m(6),_v(\" \"),_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_m(7),_v(\" \"),_c(\u0027p\u0027,[_v(\"Configure your VSCode or IDEA checkstyle to allign with the project\u0027s coding style.\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\",\"seamless\":\"\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Tip:\")]),_v(\"\\nYou can easily customize your IDE\u0027s coding style through settings.\")])])],1),_v(\" \"),_m(8),_v(\" \"),_m(9),_v(\" \"),_m(10)])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#setting-up-and-getting-started\"}},[_v(\"Setting up and getting started‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#setting-up-the-project-in-your-computer\"}},[_v(\"Setting up the project in your computer‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#before-writing-code\"}},[_v(\"Before writing code‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(11)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"setting-up-and-getting-started\"}},[_v(\"Setting up and getting started\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#setting-up-and-getting-started\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"setting-up-the-project-in-your-computer\"}},[_v(\"Setting up the project in your computer\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#setting-up-the-project-in-your-computer\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"First, \"),_c(\u0027strong\u0027,[_v(\"fork\")]),_v(\" the project repo, and \"),_c(\u0027strong\u0027,[_v(\"clone\")]),_v(\" the fork into your computer.\")])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Download packages\")]),_v(\": Run \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"npm install\")]),_v(\" to download the required packages.\")])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Configure files\")]),_v(\": Edit config files according to your needs. For example, changing the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"appTitle\")]),_v(\" in \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"config.js\")]),_v(\" to match your project name.\")])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Verify the setup (optional)\")]),_v(\":\\n\"),_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Run the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"build\")]),_v(\" and \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"serve\")]),_v(\" commands, ensuring that the site properly deploys on your local host.\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Run the tests\")]),_v(\" to ensure they all pass.\")])])])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"before-writing-code\"}},[_v(\"Before writing code\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#before-writing-code\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Configure the coding style\")])])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Set up CI\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"This project comes with a GitHub Actions config files (in \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\".github/workflows\")]),_v(\" folder). When GitHub detects those files, it will run the CI for your project automatically at each push to the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"master\")]),_v(\" branch or to any PR. No set up required.\")])])}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Learn the design\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"When you are ready to start coding, we recommend that you get some sense of the overall design by reading about \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html#Architecture\"}},[_v(\"ProjectEx’s architecture\")]),_v(\".\")])])}"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Do the tutorial\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tracing Code tutorial\")]),_v(\" can help you get acquainted with the codebase.\")])])}"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":43}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Testing.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis page can be used to understand the testing processes.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_m(2),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_m(3),_v(\" \"),_c(\u0027p\u0027,[_v(\"This project has two types of tests:\")]),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"1. Unit tests\")])])]},proxy:true}])},[_v(\"\\nThese tests target the lowest level methods/classes.\"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027p\u0027,[_v(\"Example command (replace with your own): \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"npm run test\")])])]),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"2. Integration tests\")])])]},proxy:true}])},[_v(\"\\nThese tests are checking the integration of multiple code units (those code units are assumed to be working).\\n\")])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#testing-guide\"}},[_v(\"Testing guide‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#running-tests\"}},[_v(\"Running tests‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#types-of-tests\"}},[_v(\"Types of tests‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(4)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"testing-guide\"}},[_v(\"Testing guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#testing-guide\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"running-tests\"}},[_v(\"Running tests\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#running-tests\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Method 1: Using script\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Create script for running tests in package.json\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Open a console and run the command for the script, like \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"npm run test\")])])])])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"types-of-tests\"}},[_v(\"Types of tests\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#types-of-tests\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":22}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/TracingCode.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_m(1),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis page can be taken as a reference on a tutorial on how to trace the execution path of a user command through the codebase of the App.\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"To understand an unfamiliar codebase, one strategy is to trace some representative execution path through the codebase using a debugger.\")]),_v(\" \"),_m(2),_v(\" \"),_c(\u0027p\u0027,[_v(\"Before we jump into the code, it is useful to get an idea of the overall structure and the high-level behavior of the application.\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_c(\u0027p\u0027,[_v(\"Architecture diagrams can be easily utilised with the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/components/imagesAndDiagrams.html#diagrams\"}},[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"puml\")])]),_v(\" tag. The \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"src\")]),_v(\" attribute specifies the path to the PlantUML file.\")])]),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/diagrams/example.png\",\"width\":\"300\"}}),_v(\" \"),_c(\u0027p\u0027,[_v(\"Before we proceed, ensure that you have done the following:\")]),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_c(\u0027p\u0027,[_v(\"As you know, the first step of debugging is to put in a breakpoint where you want the debugger to pause the execution.\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Tip:\")]),_v(\" You can use a combination of Markbind\u0027s \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/components/imagesAndDiagrams.html\"}},[_c(\u0027strong\u0027,[_v(\"Images and Diagrams\")]),_v(\" features\")]),_v(\" such as \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"puml\")]),_v(\" and \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"pic\")]),_v(\" tags to provide a visual representation of the steps to be taken. \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/formattingContents.html#code\"}},[_c(\u0027strong\u0027,[_v(\"Code blocks\")])]),_v(\" can also be used as shown below.\")])]),_v(\" \"),_m(5),_m(6),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Tip:\")]),_v(\" You can use a list of steps to guide the reader through the process of tracing the execution path. This can be done using Markbind\u0027s \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/formattingContents.html#lists\"}},[_c(\u0027strong\u0027,[_v(\"Lists\")]),_v(\" feature\")]),_v(\".\")])]),_v(\" \"),_m(7)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#tutorial-tracing-code\"}},[_v(\"Tutorial: Tracing code‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#before-we-start\"}},[_v(\"Before we start‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#setting-a-breakpoint\"}},[_v(\"Setting a breakpoint‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#tracing-the-execution-path\"}},[_v(\"Tracing the execution path‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(8)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"tutorial-tracing-code\"}},[_v(\"Tutorial: Tracing code\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#tutorial-tracing-code\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027blockquote\u0027,[_c(\u0027p\u0027,[_v(\"Indeed, the ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code. …​[Therefore,] making it easy to read makes it easier to write.\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"— Robert C. Martin Clean Code: A Handbook of Agile Software Craftsmanship\")])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"before-we-start\"}},[_v(\"Before we start\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#before-we-start\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Read the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html#architecture\"}},[_c(\u0027em\u0027,[_v(\"Architecture\")]),_v(\" section of the DG\")])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Set up the project in your preferred IDE\")])])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"setting-a-breakpoint\"}},[_v(\"Setting a breakpoint\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#setting-a-breakpoint\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027pre\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs java\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-keyword\"}},[_v(\"public\")]),_v(\" \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-class\"}},[_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-keyword\"}},[_v(\"interface\")]),_v(\" \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-title\"}},[_v(\"Example\")]),_v(\" \")]),_v(\"{\\n\")]),_c(\u0027span\u0027,[_v(\" \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-comment\"}},[_v(\"/**\")]),_v(\"\\n\")]),_c(\u0027span\u0027,[_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-comment\"}},[_v(\" * Executes returns the output.\")]),_v(\"\\n\")]),_c(\u0027span\u0027,[_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-comment\"}},[_v(\" * \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-doctag\"}},[_v(\"@param\")]),_v(\" exampleInput The input as entered by the user.\")]),_v(\"\\n\")]),_c(\u0027span\u0027,[_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-comment\"}},[_v(\" * \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-doctag\"}},[_v(\"@return\")]),_v(\" The example output.\")]),_v(\"\\n\")]),_c(\u0027span\u0027,[_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-comment\"}},[_v(\" * \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-doctag\"}},[_v(\"@throws\")]),_v(\" ExampleException If an error occurs.\")]),_v(\"\\n\")]),_c(\u0027span\u0027,[_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-comment\"}},[_v(\" */\")]),_v(\"\\n\")]),_c(\u0027span\u0027,[_v(\" \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-function\"}},[_v(\"ExampleOutput \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-title\"}},[_v(\"execute\")]),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-params\"}},[_v(\"(String exampleInput)\")]),_v(\" \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-keyword\"}},[_v(\"throws\")]),_v(\" ExampleException\")]),_v(\";\\n\")]),_c(\u0027span\u0027,[_v(\"...\\n\")]),_c(\u0027span\u0027,[_v(\"}\\n\")])])])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"tracing-the-execution-path\"}},[_v(\"Tracing the execution path\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#tracing-the-execution-path\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"Firstly, do this.\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"Next, do that.\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"Finally, do this.\")])])])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":34}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/index.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_m(1),_v(\" \"),_c(\u0027pic\u0027,{staticStyle:{\"margin-bottom\":\"20px\"},attrs:{\"src\":\"/images/SeEduLogo.png\",\"width\":\"200px\"}},[_v(\"\\nProject Onboarding Screen\\n\")]),_v(\" \"),_m(2),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\"}},[_c(\u0027p\u0027,[_v(\"Take this template as a \"),_c(\u0027em\u0027,[_v(\"starting point\")]),_v(\" for your project documentation, taking reference of what would be in a typical project documentation site, replacing the content with your own.\")])]),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nRemember to replace the following with your own acknowledgements.\\n\")]),_v(\" \"),_m(5)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(6)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"projectex\"}},[_v(\"ProjectEx\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#projectex\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027a\u0027,{attrs:{\"href\":\"https://github.com/MarkBind/markbind/actions\"}},[_c(\u0027img\u0027,{staticClass:\"img-fluid\",attrs:{\"src\":\"https://github.com/MarkBind/markbind/workflows/CI/badge.svg\",\"alt\":\"CI Status\"}})]),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://codecov.io/gh/MarkBind/markbind\"}},[_c(\u0027img\u0027,{staticClass:\"img-fluid\",attrs:{\"src\":\"https://codecov.io/gh/MarkBind/markbind/branch/master/graph/badge.svg\",\"alt\":\"codecov\"}})])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"ProjectEx is an example project application used for showcasing a default MarkBind template specifically for project documentation.\")])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"If you are interested in using ProjectEx, head over to the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_c(\u0027em\u0027,[_v(\"Quick Start\")]),_v(\" section of the \"),_c(\u0027strong\u0027,[_v(\"User Guide\")])]),_v(\".\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"If you are interested about contributing to developing ProjectEx, the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_c(\u0027strong\u0027,[_v(\"Developer Guide\")])]),_v(\" is a good place to start.\")])])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Acknowledgements\")])])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Libraries used: \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://openjfx.io/\"}},[_v(\"JavaFX\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://github.com/FasterXML/jackson\"}},[_v(\"Jackson\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://github.com/junit-team/junit5\"}},[_v(\"JUnit5\")])])])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":28}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/css/bootstrap.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@charset \"UTF-8\";/*!"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" * Bootstrap v5.1.3 (https://getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" * Copyright 2011-2021 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" * Copyright 2011-2021 Twitter, Inc."},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",\"Liberation Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a\u003ecode{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role\u003dbutton]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type\u003dbutton],[type\u003dreset],[type\u003dsubmit],button{-webkit-appearance:button}[type\u003dbutton]:not(:disabled),[type\u003dreset]:not(:disabled),[type\u003dsubmit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type\u003dsearch]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote\u003e:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:\"— \"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row\u003e*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto\u003e*{flex:0 0 auto;width:auto}.row-cols-1\u003e*{flex:0 0 auto;width:100%}.row-cols-2\u003e*{flex:0 0 auto;width:50%}.row-cols-3\u003e*{flex:0 0 auto;width:33.3333333333%}.row-cols-4\u003e*{flex:0 0 auto;width:25%}.row-cols-5\u003e*{flex:0 0 auto;width:20%}.row-cols-6\u003e*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto\u003e*{flex:0 0 auto;width:auto}.row-cols-sm-1\u003e*{flex:0 0 auto;width:100%}.row-cols-sm-2\u003e*{flex:0 0 auto;width:50%}.row-cols-sm-3\u003e*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4\u003e*{flex:0 0 auto;width:25%}.row-cols-sm-5\u003e*{flex:0 0 auto;width:20%}.row-cols-sm-6\u003e*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto\u003e*{flex:0 0 auto;width:auto}.row-cols-md-1\u003e*{flex:0 0 auto;width:100%}.row-cols-md-2\u003e*{flex:0 0 auto;width:50%}.row-cols-md-3\u003e*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4\u003e*{flex:0 0 auto;width:25%}.row-cols-md-5\u003e*{flex:0 0 auto;width:20%}.row-cols-md-6\u003e*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto\u003e*{flex:0 0 auto;width:auto}.row-cols-lg-1\u003e*{flex:0 0 auto;width:100%}.row-cols-lg-2\u003e*{flex:0 0 auto;width:50%}.row-cols-lg-3\u003e*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4\u003e*{flex:0 0 auto;width:25%}.row-cols-lg-5\u003e*{flex:0 0 auto;width:20%}.row-cols-lg-6\u003e*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto\u003e*{flex:0 0 auto;width:auto}.row-cols-xl-1\u003e*{flex:0 0 auto;width:100%}.row-cols-xl-2\u003e*{flex:0 0 auto;width:50%}.row-cols-xl-3\u003e*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4\u003e*{flex:0 0 auto;width:25%}.row-cols-xl-5\u003e*{flex:0 0 auto;width:20%}.row-cols-xl-6\u003e*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto\u003e*{flex:0 0 auto;width:auto}.row-cols-xxl-1\u003e*{flex:0 0 auto;width:100%}.row-cols-xxl-2\u003e*{flex:0 0 auto;width:50%}.row-cols-xxl-3\u003e*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4\u003e*{flex:0 0 auto;width:25%}.row-cols-xxl-5\u003e*{flex:0 0 auto;width:20%}.row-cols-xxl-6\u003e*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table\u003e:not(caption)\u003e*\u003e*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table\u003etbody{vertical-align:inherit}.table\u003ethead{vertical-align:bottom}.table\u003e:not(:first-child){border-top:2px solid currentColor}.caption-top{caption-side:top}.table-sm\u003e:not(caption)\u003e*\u003e*{padding:.25rem .25rem}.table-bordered\u003e:not(caption)\u003e*{border-width:1px 0}.table-bordered\u003e:not(caption)\u003e*\u003e*{border-width:0 1px}.table-borderless\u003e:not(caption)\u003e*\u003e*{border-bottom-width:0}.table-borderless\u003e:not(:first-child){border-top-width:0}.table-striped\u003etbody\u003etr:nth-of-type(odd)\u003e*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover\u003etbody\u003etr:hover\u003e*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type\u003dfile]{overflow:hidden}.form-control[type\u003dfile]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23343a40\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M2 5l6 6 6-6\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size\u003d\"1\"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.3rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type\u003dcheckbox]{border-radius:.25em}.form-check-input[type\u003dradio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type\u003dcheckbox]{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 20 20\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23fff\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00273\u0027 d\u003d\u0027M6 10l3 3l6-6\u0027/%3e%3c/svg%3e\")}.form-check-input:checked[type\u003dradio]{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00272\u0027 fill\u003d\u0027%23fff\u0027/%3e%3c/svg%3e\")}.form-check-input[type\u003dcheckbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 20 20\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23fff\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00273\u0027 d\u003d\u0027M6 10h8\u0027/%3e%3c/svg%3e\")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00273\u0027 fill\u003d\u0027rgba%280, 0, 0, 0.25%29\u0027/%3e%3c/svg%3e\");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00273\u0027 fill\u003d\u0027%2386b7fe\u0027/%3e%3c/svg%3e\")}.form-switch .form-check-input:checked{background-position:right center;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00273\u0027 fill\u003d\u0027%23fff\u0027/%3e%3c/svg%3e\")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating\u003e.form-control,.form-floating\u003e.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating\u003elabel{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating\u003elabel{transition:none}}.form-floating\u003e.form-control{padding:1rem .75rem}.form-floating\u003e.form-control::-moz-placeholder{color:transparent}.form-floating\u003e.form-control::placeholder{color:transparent}.form-floating\u003e.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-control:focus,.form-floating\u003e.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating\u003e.form-control:focus~label,.form-floating\u003e.form-control:not(:placeholder-shown)~label,.form-floating\u003e.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating\u003e.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group\u003e.form-control,.input-group\u003e.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group\u003e.form-control:focus,.input-group\u003e.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg\u003e.btn,.input-group-lg\u003e.form-control,.input-group-lg\u003e.form-select,.input-group-lg\u003e.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm\u003e.btn,.input-group-sm\u003e.form-control,.input-group-sm\u003e.form-select,.input-group-sm\u003e.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg\u003e.form-select,.input-group-sm\u003e.form-select{padding-right:3rem}.input-group:not(.has-validation)\u003e.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)\u003e:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation\u003e.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation\u003e:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group\u003e:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 8 8\u0027%3e%3cpath fill\u003d\u0027%23198754\u0027 d\u003d\u0027M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size\u003d\"1\"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size\u003d\"1\"]{padding-right:4.125rem;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23343a40\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M2 5l6 6 6-6\u0027/%3e%3c/svg%3e\"),url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 8 8\u0027%3e%3cpath fill\u003d\u0027%23198754\u0027 d\u003d\u0027M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\u0027/%3e%3c/svg%3e\");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 12 12\u0027 width\u003d\u002712\u0027 height\u003d\u002712\u0027 fill\u003d\u0027none\u0027 stroke\u003d\u0027%23dc3545\u0027%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00276\u0027 r\u003d\u00274.5\u0027/%3e%3cpath stroke-linejoin\u003d\u0027round\u0027 d\u003d\u0027M5.8 3.6h.4L6 6.5z\u0027/%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00278.2\u0027 r\u003d\u0027.6\u0027 fill\u003d\u0027%23dc3545\u0027 stroke\u003d\u0027none\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size\u003d\"1\"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size\u003d\"1\"]{padding-right:4.125rem;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23343a40\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M2 5l6 6 6-6\u0027/%3e%3c/svg%3e\"),url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 12 12\u0027 width\u003d\u002712\u0027 height\u003d\u002712\u0027 fill\u003d\u0027none\u0027 stroke\u003d\u0027%23dc3545\u0027%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00276\u0027 r\u003d\u00274.5\u0027/%3e%3cpath stroke-linejoin\u003d\u0027round\u0027 d\u003d\u0027M5.8 3.6h.4L6 6.5z\u0027/%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00278.2\u0027 r\u003d\u0027.6\u0027 fill\u003d\u0027%23dc3545\u0027 stroke\u003d\u0027none\u0027/%3e%3c/svg%3e\");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show\u003e.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show\u003e.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show\u003e.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show\u003e.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show\u003e.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show\u003e.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show\u003e.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show\u003e.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show\u003e.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show\u003e.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show\u003e.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show\u003e.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show\u003e.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show\u003e.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show\u003e.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show\u003e.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg\u003e.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm\u003e.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical\u003e.btn,.btn-group\u003e.btn{position:relative;flex:1 1 auto}.btn-group-vertical\u003e.btn-check:checked+.btn,.btn-group-vertical\u003e.btn-check:focus+.btn,.btn-group-vertical\u003e.btn.active,.btn-group-vertical\u003e.btn:active,.btn-group-vertical\u003e.btn:focus,.btn-group-vertical\u003e.btn:hover,.btn-group\u003e.btn-check:checked+.btn,.btn-group\u003e.btn-check:focus+.btn,.btn-group\u003e.btn.active,.btn-group\u003e.btn:active,.btn-group\u003e.btn:focus,.btn-group\u003e.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group\u003e.btn-group:not(:first-child),.btn-group\u003e.btn:not(:first-child){margin-left:-1px}.btn-group\u003e.btn-group:not(:last-child)\u003e.btn,.btn-group\u003e.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group\u003e.btn-group:not(:first-child)\u003e.btn,.btn-group\u003e.btn:nth-child(n+3),.btn-group\u003e:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm\u003e.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg\u003e.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical\u003e.btn,.btn-group-vertical\u003e.btn-group{width:100%}.btn-group-vertical\u003e.btn-group:not(:first-child),.btn-group-vertical\u003e.btn:not(:first-child){margin-top:-1px}.btn-group-vertical\u003e.btn-group:not(:last-child)\u003e.btn,.btn-group-vertical\u003e.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical\u003e.btn-group:not(:first-child)\u003e.btn,.btn-group-vertical\u003e.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show\u003e.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill\u003e.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified\u003e.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content\u003e.tab-pane{display:none}.tab-content\u003e.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar\u003e.container,.navbar\u003e.container-fluid,.navbar\u003e.container-lg,.navbar\u003e.container-md,.navbar\u003e.container-sm,.navbar\u003e.container-xl,.navbar\u003e.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap: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 .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show\u003e.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 30 30\u0027%3e%3cpath stroke\u003d\u0027rgba%280, 0, 0, 0.55%29\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-miterlimit\u003d\u002710\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M4 7h22M4 15h22M4 23h22\u0027/%3e%3c/svg%3e\")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show\u003e.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 30 30\u0027%3e%3cpath stroke\u003d\u0027rgba%28255, 255, 255, 0.55%29\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-miterlimit\u003d\u002710\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M4 7h22M4 15h22M4 23h22\u0027/%3e%3c/svg%3e\")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card\u003ehr{margin-right:0;margin-left:0}.card\u003e.list-group{border-top:inherit;border-bottom:inherit}.card\u003e.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card\u003e.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card\u003e.card-header+.list-group,.card\u003e.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group\u003e.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group\u003e.card{flex:1 0 0%;margin-bottom:0}.card-group\u003e.card+.card{margin-left:0;border-left:0}.card-group\u003e.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group\u003e.card:not(:last-child) .card-header,.card-group\u003e.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group\u003e.card:not(:last-child) .card-footer,.card-group\u003e.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group\u003e.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group\u003e.card:not(:first-child) .card-header,.card-group\u003e.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group\u003e.card:not(:first-child) .card-footer,.card-group\u003e.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%230c63e4\u0027%3e%3cpath fill-rule\u003d\u0027evenodd\u0027 d\u003d\u0027M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\u0027/%3e%3c/svg%3e\");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:\"\";background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23212529\u0027%3e%3cpath fill-rule\u003d\u0027evenodd\u0027 d\u003d\u0027M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, \"/\")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered\u003eli::before{content:counters(section, \".\") \". \";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal\u003e.list-group-item.active{margin-top:0}.list-group-horizontal\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-sm\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-md\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-lg\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-xl\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-xxl\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush\u003e.list-group-item{border-width:0 0 1px}.list-group-flush\u003e.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23000\u0027%3e%3cpath d\u003d\u0027M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z\u0027/%3e%3c/svg%3e\") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container\u003e:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer\u003e*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:\"\";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^\u003dtop],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^\u003dtop] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^\u003dtop] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^\u003dright],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^\u003dright] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^\u003dright] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^\u003dbottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^\u003dbottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^\u003dbottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^\u003dleft],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^\u003dleft] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^\u003dleft] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:\"\";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^\u003dtop]\u003e.popover-arrow,.bs-popover-top\u003e.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^\u003dtop]\u003e.popover-arrow::before,.bs-popover-top\u003e.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dtop]\u003e.popover-arrow::after,.bs-popover-top\u003e.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^\u003dright]\u003e.popover-arrow,.bs-popover-end\u003e.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^\u003dright]\u003e.popover-arrow::before,.bs-popover-end\u003e.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dright]\u003e.popover-arrow::after,.bs-popover-end\u003e.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^\u003dbottom]\u003e.popover-arrow,.bs-popover-bottom\u003e.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^\u003dbottom]\u003e.popover-arrow::before,.bs-popover-bottom\u003e.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dbottom]\u003e.popover-arrow::after,.bs-popover-bottom\u003e.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^\u003dbottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:\"\";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^\u003dleft]\u003e.popover-arrow,.bs-popover-start\u003e.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^\u003dleft]\u003e.popover-arrow::before,.bs-popover-start\u003e.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dleft]\u003e.popover-arrow::after,.bs-popover-start\u003e.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:\"\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23fff\u0027%3e%3cpath d\u003d\u0027M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\u0027/%3e%3c/svg%3e\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23fff\u0027%3e%3cpath d\u003d\u0027M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\u0027/%3e%3c/svg%3e\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:\"\"}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:\"\"}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:\"\"}.ratio\u003e*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:\"\"}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"/*# sourceMappingURL\u003dbootstrap.min.css.map */"}],"authorContributionMap":{"KevinEyo1":7}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"KevinEyo1":2}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/css/codeblock-light.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#f8f8ff}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:700}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:teal}.hljs-doctag,.hljs-string{color:#d14}.hljs-section,.hljs-selector-id,.hljs-title{color:#900;font-weight:700}.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type{color:#458;font-weight:700}.hljs-attribute,.hljs-name,.hljs-tag{color:navy;font-weight:400}.hljs-link,.hljs-regexp{color:#009926}.hljs-bullet,.hljs-symbol{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#0086b3}.hljs-meta{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#e6e6fa}.hljs.inline{background:#f8f8f8}.hljs.inline.no-lang{color:#e83e8c}.hljs:not(.inline){border:1px solid #c8c8c8;border:1px solid rgba(200,200,200,.3)}.code-block-heading{background:#f2f2ff;color:#8787a5}button.function-btn{background-color: #f8f8ff}"}],"authorContributionMap":{"KevinEyo1":2}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/css/markbind.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":".resize-observer[data-v-8859cc6c]{background-color:transparent;border:none;opacity:0}.resize-observer[data-v-8859cc6c],.resize-observer[data-v-8859cc6c] object{display:block;height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:-1}.v-popper__popper{left:0;top:0;z-index:10000}.v-popper__popper.v-popper__popper--hidden{opacity:0;pointer-events:none;transition:opacity .15s,visibility .15s;visibility:hidden}.v-popper__popper.v-popper__popper--shown{opacity:1;transition:opacity .15s;visibility:visible}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition\u003e.v-popper__wrapper{transition:none!important}.v-popper__backdrop{display:none;height:100%;left:0;position:absolute;top:0;width:100%}.v-popper__inner{box-sizing:border-box;overflow-y:auto;position:relative}.v-popper__inner\u003ediv{max-height:inherit;max-width:inherit;position:relative;z-index:1}.v-popper__arrow-container{height:10px;position:absolute;width:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;height:0;left:0;position:absolute;top:0;width:0}.v-popper__arrow-inner{border-width:7px;visibility:hidden}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important}.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-outer{border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;border-top-width:0}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-left-color:transparent!important;border-left-width:0;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-right-color:transparent!important;border-right-width:0;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-inner{left:-2px}.v-popper--theme-dropdown .v-popper__inner{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 6px 30px #0000001a;color:#000}.v-popper--theme-dropdown .v-popper__arrow-inner{border-color:#fff;visibility:visible}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);border-radius:6px;color:#fff;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.box-container[data-v-0eabf1c4]{border-radius:6px;padding:0}.box-header-wrapper[data-v-0eabf1c4]{align-items:center;border-radius:6px 6px 0 0;display:flex;flex-direction:row;padding:.4rem 1.25rem .28rem;width:100%}.box-body-wrapper[data-v-0eabf1c4]{display:flex;flex-direction:row;padding:.75rem 1.25rem;width:100%}.box-container.seamless\u003e.header-and-body\u003e.box-body-wrapper[data-v-0eabf1c4]{padding:.75rem .5rem}.contents[data-v-0eabf1c4]{min-width:0;padding:0 6px;width:100%}.box-container.seamless\u003e.header-and-body\u003ediv.box-body-wrapper\u003e.contents[data-v-0eabf1c4]{padding-left:12px}.heading[data-v-0eabf1c4]{background-color:hsla(0,0%,94%,.6);border-radius:0 6px;border-width:0;color:inherit;display:inline;float:right;font-weight:400;margin:-13px -27px 0 15px;padding:3px 5px 4px;width:auto}.box-body-wrapper-with-heading[data-v-0eabf1c4]{padding-top:.5rem}.alert-dismissible[data-v-0eabf1c4]{padding-right:4rem}.box-header[data-v-0eabf1c4]{font-weight:500}.icon-wrapper[data-v-0eabf1c4]{display:inline;margin-right:.5em;min-width:1em;text-align:center}.close-with-heading[data-v-0eabf1c4]{padding:1rem;position:absolute;right:0;top:0}.close-with-heading\u003espan[data-v-0eabf1c4]{vertical-align:text-top}.alert-dismissible .btn-close[data-v-0eabf1c4]{padding:1rem}.contents[data-v-0eabf1c4]\u003e:last-child{margin-bottom:0}.alert-default[data-v-0eabf1c4]{background-color:#f6f8fa;border-color:#e8ebef;color:#24292e}.alert-border-left[data-v-0eabf1c4]{background-color:#f9f8f8;border-left:solid;border-width:0 0 0 5px}.vertical-divider[data-v-0eabf1c4]{width:4px}.horizontal-divider[data-v-0eabf1c4]{height:3px;margin:0 auto;width:calc(100% - 2.5rem)}.no-background[data-v-0eabf1c4]{background:none}.no-border[data-v-0eabf1c4]{border:none}@media screen and (width \u003c\u003d 768px){.box-header-wrapper[data-v-0eabf1c4]{padding:.75rem .75rem .1rem}.box-body-wrapper[data-v-0eabf1c4]{padding:.75rem}.contents[data-v-0eabf1c4]{padding:0}}div.box-header\u003e*{margin-bottom:0}.notlink[data-v-ef898034]{color:#6d757d}.breadcrumb-divider[data-v-ef898034]{--bs-breadcrumb-divider:\"›\"}.breadcrumb-item[data-v-ef898034]:before,.breadcrumb-marker[data-v-ef898034]{font-size:15px}.dropdown-submenu[data-v-3c82541c]{color:#212529!important;padding:0!important;position:relative}.dropdown-submenu ul.dropdown-menu[data-v-3c82541c]{margin-left:0}.btn-group\u003eul\u003e.dropdown-submenu:last-child\u003eul[data-v-3c82541c],.dropdown\u003eul\u003e.dropdown-submenu:last-child\u003eul[data-v-3c82541c]{margin-bottom:-.5rem}@media (width \u003e\u003d 768px){.submenu-toggle[data-v-3c82541c]:after{border-bottom:.3em solid transparent;border-left:.3em solid;border-right:0;border-top:.3em solid transparent;content:\"\";display:inline-block;float:right;height:0;margin-top:.5em;vertical-align:.255em;width:0}}@media (width \u003c\u003d 767px){.dropdown-submenu\u003eul[data-v-3c82541c]{border-radius:0;float:none;margin:-.05rem;padding-bottom:0;position:static}.submenu-toggle[data-v-3c82541c]:after{border-bottom:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid;content:\"\";display:inline-block;float:right;height:0;margin-left:.255em;margin-top:.5em;vertical-align:.255em;width:0}.navbar-default .dropdown[data-v-ccda25c0]{position:static}.navbar-default .dropdown-menu[data-v-ccda25c0]{max-height:75vh;max-width:100%;overflow-y:auto;overscroll-behavior:contain;position:absolute}.navbar-default .dropdown-menu-end[data-v-ccda25c0]{right:auto}}.secret[data-v-ccda25c0]{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.btn-with-before[data-v-ccda25c0]{padding-left:.2rem;padding-right:.4rem}.dropdown-toggle[data-v-ccda25c0]{cursor:pointer;display:block;width:max-content}.navbar .dropdown-toggle[data-v-ccda25c0]{text-decoration:none}.nav-link\u003e.nav-link[data-v-ccda25c0]{padding:0}.toggle-site-nav-button[data-v-d6ffaa8e]{cursor:pointer;height:53px;left:0;padding:15px;position:absolute;transform:rotate(0deg);transition:all .25s ease-in-out;width:52px}.toggle-site-nav-button span[data-v-d6ffaa8e]{background-color:#000;display:block;height:3px;left:15px;position:absolute;top:50%;transition:all .25s ease-in-out;width:21px}.toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:first-child{transform:translateY(-8px)}.toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(2){transform-origin:100% 50%}.toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(3){transform:translateY(8px)}.nav-menu-close-icon .toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:first-child{transform:rotate(135deg)}.nav-menu-close-icon .toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(2){left:-60px;opacity:0}.nav-menu-close-icon .toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(3){transform:rotate(-135deg)}.toggle-page-nav-button[data-v-4b08b1df]{cursor:pointer;padding:15px;position:absolute;right:0;top:6px}.toggle-page-nav-button span[data-v-4b08b1df]{background-color:#000;border-radius:50%;display:block;height:5px;margin-top:2px;position:absolute;right:15px;transform:rotate(0deg);transition:all .25s ease-in-out;width:5px}.toggle-page-nav-button\u003espan[data-v-4b08b1df]:first-child{transform:translateY(-8px)}.toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(2){transform-origin:100% 50%}.toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(3){transform:translateY(8px)}.nav-menu-close-icon .toggle-page-nav-button\u003espan[data-v-4b08b1df]:first-child{border-radius:0;height:3px;transform:rotate(135deg);width:21px}.nav-menu-close-icon .toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(2){transform:scale(0)}.nav-menu-close-icon .toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(3){border-radius:0;height:3px;transform:rotate(-135deg);width:21px}@media (width \u003c\u003d 767px){.navbar[data-v-7c0fd418]{padding-bottom:0;padding-left:0;padding-right:0}.navbar-left[data-v-7c0fd418]{max-width:50%;order:1;padding-left:1rem}.navbar-left [data-v-7c0fd418]{white-space:normal}.navbar-right[data-v-7c0fd418]{max-width:50%;order:1;padding:0 16px}.navbar-default[data-v-7c0fd418]{-ms-overflow-style:none;display:block;margin-top:.3125rem;order:2;overflow-x:scroll;scrollbar-width:none;width:100%}.navbar-default[data-v-7c0fd418]::-webkit-scrollbar{display:none}.navbar-default ul[data-v-7c0fd418]{flex-direction:row;margin-top:0!important;width:100%}.navbar-default\u003eul\u003e[data-v-7c0fd418]{background:rgba(0,0,0,.2);flex-grow:1;padding:.3125rem .625rem}.navbar-light .navbar-default\u003eul\u003e[data-v-7c0fd418]{background:rgb(0 0 0/5%)}.navbar-default\u003eul\u003e.current[data-v-7c0fd418]{background:transparent}.navbar-default a[data-v-7c0fd418],[data-v-7c0fd418] .dropdown-toggle{margin:0 auto;width:max-content}[data-v-7c0fd418] .dropdown{align-items:center;display:flex}.container-fluid[data-v-7c0fd418]{padding:0}}.navbar-brand[data-v-7c0fd418]{display:inline-block}.navbar-brand\u003eimg[data-v-7c0fd418],.navbar-brand\u003esvg[data-v-7c0fd418]{display:block}.navbar-right[data-v-7c0fd418]{padding-right:1rem}.navbar-left[data-v-7c0fd418]{align-items:center;display:flex;font-size:1.25rem;line-height:inherit;padding:.3125rem 1rem;white-space:nowrap}.navbar-fixed[data-v-7c0fd418]{position:fixed;width:100%;z-index:1000}.navbar-default[data-v-7c0fd418]{align-items:center;display:flex;flex-basis:auto;flex-grow:1}[data-v-7c0fd418] .dropdown-current{background:#007bff;color:#fff!important}.lower-navbar-container[data-v-7c0fd418]{background-color:#fff;border-bottom:1px solid #c1c1c1;height:50px;position:relative;width:100%}.navbar.navbar-dark .navbar-nav[data-v-7c0fd418] .current:not(.dropdown) a,.navbar.navbar-dark .navbar-nav[data-v-7c0fd418] .dropdown.current\u003ea{color:#fff}.navbar.navbar-light .navbar-nav[data-v-7c0fd418] .current:not(.dropdown) a,.navbar.navbar-light .navbar-nav[data-v-7c0fd418] .dropdown.current\u003ea{color:#000}.collapse-button{float:right;font-size:10px!important;margin-left:3px;margin-top:2px;padding:3px 8px!important}.collapse-icon{transition:transform .4s ease-in-out}.collapse-icon.opened{transform:rotate(-180deg)}.card-container[data-v-3602e6fc]{scroll-margin-top:var(--sticky-header-height)}.card-collapse[data-v-3602e6fc]{overflow:hidden;transition:max-height .5s ease-in-out}.seamless-button[data-v-3602e6fc]{opacity:0;transition:opacity .3s}.card-header:hover .seamless-button[data-v-3602e6fc]{opacity:1}.card-peek-collapsed[data-v-3602e6fc]{position:relative}.card-peek-collapsed[data-v-3602e6fc]:after{background-image:linear-gradient(180deg,transparent,#fff 90%);bottom:0;content:\"\";height:125px;position:absolute;width:100%}.peek-read-more[data-v-3602e6fc]{opacity:.2;transition:opacity .5s;z-index:1}.peek-read-more[data-v-3602e6fc]:before{bottom:10px;position:absolute;text-align:center;width:100%}.peek-read-more[data-v-3602e6fc]:hover{cursor:pointer;opacity:.4}.peek-read-more-fade-enter[data-v-3602e6fc],.peek-read-more-fade-leave-to[data-v-3602e6fc]{opacity:0}.card-heading{width:100%}.card-title{display:inline-block;font-size:1em;line-height:1.2em;margin:0;text-align:left;white-space:normal}.card-title *{margin-bottom:0!important}.caret-wrapper{float:left;width:32px}.minimal-caret-wrapper{display:inline-block;font-size:13px;margin-right:5px}.header-wrapper{display:inline-block;transition:opacity .5s;width:calc(100% - 128px)}.header-transparent{opacity:0}.button-wrapper{float:right;width:96px}.header-toggle{cursor:pointer}.expandable-card{margin-bottom:0!important;margin-top:5px}.card-collapse\u003ehr{margin-top:0}.card-group\u003e.card-container\u003e.expandable-card{margin-top:0!important}.bottom-button-wrapper{margin-bottom:13px;padding-bottom:13px}.bottom-button-wrapper\u003e.collapse-button{margin-top:5px;opacity:.2}.bottom-button-wrapper\u003e.collapse-button:hover{opacity:1}.close-button{margin-left:3px}.close-button,.popup-button{float:right;font-size:10px!important;margin-top:2px;padding:3px 8px!important}.morph{display:inline-block}.morph-display-wrapper{align-items:center;display:flex;margin-top:5px}@media (width \u003c\u003d 575.98px){.header-wrapper{display:inline-block;width:calc(100% - 64px)}.button-wrapper{float:right;width:32px}.card-body{padding:.5rem}.card-collapse\u003ehr{margin-top:.5rem}.card-header{padding:.5rem}}.card-peek-collapsed[data-v-6cec1f15]{position:relative}.card-peek-collapsed[data-v-6cec1f15]:after{background-image:linear-gradient(180deg,transparent,#fff 90%);bottom:0;content:\"\";height:125px;position:absolute;width:100%}.morph-title[data-v-6cec1f15]{background-color:transparent;border-color:#000;padding:0 .3em;vertical-align:top}.morph-title[data-v-6cec1f15]:active,.morph-title[data-v-6cec1f15]:focus,.morph-title[data-v-6cec1f15]:hover{background-color:#343a40;border-color:#343a40;color:#fff}.card-collapse[data-v-6cec1f15]{overflow:hidden;transition:max-height .5s ease-in-out}.card-flex[data-v-6cec1f15]{border:0;display:flex;flex-direction:column;margin:0}.header-fade-enter[data-v-6cec1f15]{opacity:0}.header-fade-leave-active[data-v-6cec1f15]{position:absolute}.header-fade-leave-to[data-v-6cec1f15]{opacity:0!important}.card-title-inline[data-v-6cec1f15]{display:inline-block}.card-body[data-v-6cec1f15]{padding:0}.header-wrapper[data-v-6cec1f15]{background-color:#fff;display:inline-block;width:100%}.header-wrapper-bottom[data-v-6cec1f15]{order:1}.ellipses[data-v-6cec1f15]:before{bottom:3px;content:\"...\";font-weight:900;margin-right:4px;position:relative}.button-wrapper[data-v-6cec1f15]{border:solid hsla(0,0%,59%,.2);border-width:0 0 0 1px;display:inline-block;float:none;margin-left:2px;opacity:0;padding-left:2px;transition:opacity .5s;vertical-align:text-top;width:auto}.button-wrapper-expanded[data-v-6cec1f15]{border:0;margin-left:0;padding-left:0}.card:hover .button-wrapper[data-v-6cec1f15]{opacity:1}.header-toggle[data-v-6cec1f15]{cursor:pointer}.glyphicon[data-v-6cec1f15]{font-size:12px}.minimal-button[data-v-6cec1f15]{background-color:transparent;border:0;color:#969696;cursor:pointer;padding:0 3px}.minimal-button[data-v-6cec1f15]:active,.minimal-button[data-v-6cec1f15]:focus,.minimal-button[data-v-6cec1f15]:hover{color:#1e1e1e}.minimal-popup-button[data-v-6cec1f15]{font-size:9px;top:1px}.minimal-menu-up[data-v-6cec1f15]{font-size:13px;top:2px}.minimal-menu-down[data-v-6cec1f15]{font-size:13px;top:1px}.minimal-close-button[data-v-6cec1f15]{font-size:11px;top:0}@media (width \u003c\u003d 575.98px){.button-wrapper-expanded[data-v-6cec1f15]{border:0;margin-left:0;opacity:.15;padding-left:0}.button-wrapper-visible[data-v-6cec1f15]{opacity:1}}.annotate-image-wrapper{display:inline-block;position:relative;text-align:left}.annotate-image{height:auto;max-width:100%}.annotate-point{bottom:0;left:0;pointer-events:none;top:0}.annotate-point,.popover-annotation{height:100%;position:absolute;width:100%}.hover-point{border-radius:50%;border-style:solid;border-width:1px;z-index:1}.hover-label{pointer-events:none;position:absolute;text-align:center;z-index:2}.hover-wrapper{align-items:center;background:transparent;display:inline-flex;justify-content:center;z-index:0}.legend-wrapper{height:100%;position:relative}.text-header{font-size:1.1em;font-weight:500;margin-top:1em}.image-wrapper{display:inline-block;padding:4px;text-align:center}.image-caption{display:block}.quiz-container[data-v-2b2275c0]{isolation:isolate;overflow:hidden}.intro-outro-card[data-v-2b2275c0]{transition:transform .35s ease-out,opacity .35s linear}.intro-outro-card-enter-active[data-v-2b2275c0],.intro-outro-card-leave-to[data-v-2b2275c0]{opacity:0}.intro-outro-card\u003e.card-body[data-v-2b2275c0]{align-items:center;display:flex;flex-direction:column;justify-content:center}.score[data-v-2b2275c0]{font-size:1.4rem;font-weight:700}.score-circle[data-v-2b2275c0]{stroke-dasharray:264;fill:none;stroke:rgba(132,215,255,.8);stroke-width:8;transition:stroke-dashoffset 1.5s ease-out,stroke 1.5s linear}.score-background-circle[data-v-2b2275c0]{fill:none;stroke:hsla(0,2%,89%,.5);stroke-width:8}.btn[data-v-2b2275c0]{border-radius:2em}.progress-bar-z[data-v-2b2275c0]{z-index:1}.result-icon[data-v-ae369d74]{align-items:center;border-radius:2em;border-style:solid;border-width:2px;display:inline-flex;height:2em;justify-content:center;width:2em}.question[data-v-ae369d74]{margin-bottom:1rem;transition:transform .35s ease-out,opacity .35s linear}.question-enter-active[data-v-ae369d74]{opacity:0;transform:translateY(-2%)}.question-leave-to[data-v-ae369d74]{opacity:0;transform:translateY(2%)}.q-btn[data-v-ae369d74]{border-radius:2.5em;transition:opacity .5s,transform .7s}.q-btn-enter[data-v-ae369d74]{opacity:0;transform:translateY(30px)}.q-btn-leave-to[data-v-ae369d74]{opacity:0;transform:translateX(calc(-100% - .25rem))}.q-btn-leave-active[data-v-ae369d74]{position:absolute}.card-header[data-v-ae369d74]{font-size:1.05em;font-weight:400}.answer[data-v-ae369d74]\u003e:last-child,.card-header[data-v-ae369d74]\u003e:last-child{margin-bottom:0}@keyframes shake-data-v-ae369d74{50%{transform:translate(-2px)}to{transform:translate(2px)}}.shake[data-v-ae369d74]{animation:shake-data-v-ae369d74 .15s;animation-iteration-count:1}textarea.form-control[data-v-ae369d74]{height:auto;margin-bottom:10px;min-height:75px}.fa-check[data-v-1074287c],.fa-times[data-v-1074287c]{font-size:1.2em}.content[data-v-1074287c] :last-child,.reason[data-v-1074287c] :last-child{margin-bottom:0}.reason[data-v-1074287c]{padding:0 .5rem}.checkbox-label[data-v-1074287c]{cursor:pointer}.form-control[data-v-1074287c]{cursor:pointer;height:auto;margin-bottom:10px}.form-control.danger\u003e.checkbox-label[data-v-1074287c],.form-control.danger[data-v-1074287c],.form-control.success\u003e.checkbox-label[data-v-1074287c],.form-control.success[data-v-1074287c]{cursor:default}.disabled[data-v-1074287c]{opacity:.9}.radio-svg[data-v-1074287c]{height:1em;vertical-align:text-top;width:1em}.checkbox[data-v-1074287c]{height:1em;margin-right:5px;vertical-align:middle;width:1em}.row[data-v-1074287c]{align-items:center;margin:.2rem 0 0}input.form-control[data-v-1074287c]{cursor:text;height:auto;margin-bottom:0;min-height:20px;width:50%}.blanks-keywords[data-v-1074287c],input.form-control[data-v-1074287c]:disabled{margin-bottom:.5rem}.blanks-form-control[data-v-1074287c]{border:none;cursor:default}.blanks-cross[data-v-1074287c]{margin-left:3px;margin-right:3px}.fa-hashtag[data-v-98afe086],.fa-key[data-v-98afe086]{padding-right:.2em}.mark[data-v-98afe086]{padding:0!important}.heading[data-v-98afe086]{padding:0 0 .1rem .2rem}.heading-text[data-v-98afe086]{display:inline-block;vertical-align:top;white-space:normal;width:92%;word-break:break-word}.keyword-text[data-v-98afe086]{font-size:smaller}.page-title[data-v-98afe086]{font-size:1.05rem;font-weight:700}.page-headings-separator[data-v-98afe086]{margin:.2rem 0}.dropdown[data-v-cea1a814]{display:block}.form-control[data-v-cea1a814]{max-width:25.4em;min-width:12.7em}@media screen and (width \u003c\u003d 878px) and (orientation:portrait){.form-control[data-v-cea1a814]{max-width:16em;min-width:8em}}@media screen and (width \u003e\u003d 768px) and (width \u003c\u003d 878px) and (orientation:landscape){.form-control[data-v-cea1a814]{max-width:18em;min-width:9em}}.table-active[data-v-cea1a814]{background-color:rgba(0,0,0,.075)}.dropdown-menu-end[data-v-cea1a814]{left:auto;right:0}.placeholder-div-hidden[data-v-cea1a814]{border-bottom:0;border-top:0;height:0;overflow:hidden;padding-bottom:0;padding-top:0;visibility:hidden}.search-dropdown-menu{max-height:30em;min-width:30em;overflow-y:scroll}.dropdown-menu\u003eli\u003ea{cursor:pointer}@media screen and (width \u003c\u003d 768px){.search-dropdown-menu{max-height:30em;min-width:90vw;overflow-y:scroll}.dropdown-menu.search-dropdown-menu{position:absolute}}.tab-pane\u003ehr[data-v-661c1b61]{margin:0}.printable-tab-header[data-v-661c1b61],.tab-pane-hide[data-v-661c1b61]{display:none}@media print{.printable-tab-header[data-v-661c1b61]{border-bottom:1px solid #dee2e6;display:flex;margin-bottom:15px}.printable-tab-header\u003ediv[data-v-661c1b61]{margin-bottom:-2px}.printable-tab-pane[data-v-661c1b61]{display:block;padding:10px}}.nav-tabs[data-v-a785351c]{margin-bottom:15px}.printable-tab-group-header[data-v-a785351c]{display:none}@media print{.printable-tab-group[data-v-a785351c]{border:1px solid #dee2e6;border-radius:5px;margin:10px 0;padding:10px}.printable-tab-group-header[data-v-a785351c]{display:block;margin-bottom:10px;text-decoration:underline}}.nav-tabs[data-v-70a68808]{margin-bottom:15px}.tab-content[data-v-70a68808]{margin-bottom:1.5rem}@media print{.printable-tabs[data-v-70a68808]{border:1px solid #dee2e6;border-radius:5px;padding:20px}}.thumb-wrapper{display:inline-block;overflow:hidden;position:relative;text-align:center;vertical-align:middle}.thumb-circle{border-radius:50%}.thumb-image{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.site-nav-root a.current{color:#0072ec}.site-nav-list{list-style-type:none;padding-left:0}.site-nav-default-list-item{cursor:pointer;display:flex;transition:background-color .08s}.site-nav-custom-list-item,.site-nav-default-list-item{color:#454545;padding:.5rem 0 0 2.8rem}.site-nav-list-item-0{font-size:1.2em;font-weight:500;padding:.5rem 0 .5rem .8rem}.site-nav-list-item-1{font-size:1.03em;padding:.4rem 0 .4rem 1.3rem}.site-nav-list-item-2{font-size:.89em;padding:.3rem 0 .3rem 1.8rem}.site-nav-list-item-3{font-size:.76em;padding:.2rem 0 .2rem 2.4rem}.site-nav-default-list-item:hover{background-color:rgba(214,233,255,.35)}.site-nav-default-list-item a{color:#454545;display:inline-block;height:100%}.site-nav-default-list-item:hover a{color:#000;text-decoration:none}.site-nav-dropdown-btn-container{display:flex;height:1.5em;margin:0 .75rem 0 auto;place-content:center center;width:2rem}.site-nav-dropdown-btn-icon{align-self:center;border-radius:1rem;display:inline-block;height:1.5em;padding:0;text-align:center;transform:rotate(0deg);transition:.4s;vertical-align:baseline;width:1.5em}.site-nav-dropdown-btn-icon:hover{background-color:#d8e3fb}.site-nav-rotate-icon{color:#4c7ff1;transform:rotate(-180deg)}.site-nav-dropdown-container{background:transparent;max-height:0;overflow:hidden;transition:max-height .15s ease-out}.site-nav-dropdown-container-open{max-height:1000px;transition:max-height .25s ease-in}.nav-menu[data-v-1a3e7aee]{display:none;overflow-y:auto;padding:0 10px 20px;position:absolute;top:100%}.nav-menu-open[data-v-1a3e7aee]{background:#fff;clear:both;display:block!important;width:100%!important}.mb-mobile-nav[data-v-e6005420]{border:none!important;display:block!important;margin:0!important;max-width:100%!important;padding:10px!important;width:100%!important}.popover-container{max-height:50vh;max-width:276px;overflow:auto}.popover-body{font-size:.875rem}.v-popper{display:inline}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.9);font-size:.875rem;max-width:200px;padding:4px 8px;text-align:center}.modal{display:block}.modal-zoom{opacity:0;transform:scale(.1);transition:all .3s}.modal-zoom-show{opacity:1;transform:scale(1);transition:all .3s}.scroll-top-button{bottom:20px;cursor:pointer;display:none;opacity:.4;position:fixed;right:30px;transition-duration:.25s;transition-property:opacity;z-index:99}.scroll-top-button.lighten{opacity:.15}@media (hover:hover){.scroll-top-button:hover{opacity:.7}}.scroll-top-button:active{opacity:1}@media print{.hljs{background:#f8f8ff;color:#333;display:block;overflow-x:auto;padding:.5em}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:700}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:teal}.hljs-doctag,.hljs-string{color:#d14}.hljs-section,.hljs-selector-id,.hljs-title{color:#900;font-weight:700}.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type{color:#458;font-weight:700}.hljs-attribute,.hljs-name,.hljs-tag{color:navy;font-weight:400}.hljs-link,.hljs-regexp{color:#009926}.hljs-bullet,.hljs-symbol{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#0086b3}.hljs-meta{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs span.highlighted{background:#e6e6fa}.hljs.inline{background:#f8f8f8}.hljs.inline.no-lang{color:#e83e8c}.hljs:not(.inline){border:1px solid #c8c8c8;border:1px solid hsla(0,0%,78%,.3)}.code-block-heading{background:#f2f2ff;color:#8787a5}button.function-btn{background-color:#f8f8ff}}:root{--sticky-header-height:0}a{text-decoration:none}blockquote{border-left:.25em solid #dfe2e5;color:#6a737d;padding:0 1rem}code{background:#f8f8f8;border-radius:3px;padding:.2em .4em;word-break:normal}mark code{background:#ffffffd4}pre.hljs\u003ecode{background:none}pre\u003ecode.hljs{background-clip:padding-box;border-radius:5px;counter-reset:line;width:100%}pre\u003ecode.hljs[heading]{border-top-right-radius:0}.code-block{position:relative}.code-block-heading{border-radius:6px 6px 0 0;float:right;font-size:85%;line-height:1;margin-top:5px;max-width:85%;overflow-wrap:break-word;padding:.25em .4em;text-align:right}.inline-markdown-heading{line-height:1.5}.code-block-content{clear:both;display:block}@media print{pre\u003ecode.hljs{word-wrap:break-word;white-space:pre-wrap;word-break:break-all}.hljs:not(.inline).line-numbers-print\u003espan{padding:0 .5em 0 3.5em;position:relative}.hljs:not(.inline).line-numbers-print\u003espan:before{border-right:1px solid #ddd;color:#888;content:counter(line);counter-increment:line;display:inline-block;height:100%;left:0;margin-right:.5em;padding-right:.5em;position:absolute;text-align:right;top:0;width:3em}.hljs span.highlighted{background:#e6e6fa!important;-webkit-print-color-adjust:exact}}kbd{background-color:#fafbfc;border:1px solid #c6cbd1;border-bottom-color:#959da5;box-shadow:inset 0 -1px 0 #959da5;color:#444d56}.btn:active,.btn:focus{box-shadow:none!important;outline:none!important}code.hljs.inline{display:initial;padding:.2em .4em}.markbind-table{width:auto}.radio-list-item,.task-list-item{list-style-type:none;margin:0 0 0 -1.2em}.radio-list-item label{font-weight:inherit}.table-striped\u003etbody\u003etr:nth-of-type(2n),.table-striped\u003ethead{background-color:#fff}header[sticky]{position:sticky;top:0;transition:transform .3s ease-in-out;width:100%;z-index:1001}header[sticky].hide-header{transform:translateY(calc(var(--sticky-header-height)*-1))}span.anchor{position:relative;top:calc(var(--sticky-header-height)*-1 - 1rem)}#app{display:flex;flex-direction:column;min-height:100vh}footer{background-color:#f5f5f5;color:dimgrey;padding:10px 0}.dimmed{color:#777}.large{font-size:125%}.small{font-size:80%}.underline{text-decoration:underline}.mkb-text-red{color:red!important}.mkb-text-green{color:green!important}.mkb-text-blue{color:blue!important}.mkb-text-cyan{color:cyan!important}.mkb-text-magenta{color:#f0f!important}.mkb-text-yellow{color:#ff0!important}.mkb-text-black{color:#000!important}.mkb-text-white{color:#fff!important}@media (width \u003c\u003d 767.98px){.dropdown-menu\u003eli\u003ea{white-space:normal}.navbar-nav .open .dropdown-menu{background-color:#fff}}li.footnote-item:target{background-color:#eee}.hljs:not(.inline)\u003espan{display:block}.hljs:not(.inline).line-numbers\u003espan{padding:0 .5em 0 3.5em;position:relative}.hljs:not(.inline).line-numbers\u003espan:before{border-right:1px solid #ddd;color:#888;content:counter(line);counter-increment:line;display:inline-block;height:100%;left:0;margin-right:.5em;padding-right:.5em;position:absolute;text-align:right;top:0;width:3em}.trigger{border-bottom:1px dotted}.trigger-click{border-bottom:1px dashed;cursor:pointer}.trigger-click:focus{outline:none}pre{display:flex;position:relative}button.function-btn{border:1px solid #d7dadc;border-radius:5px;color:#a9a9a9;cursor:pointer;display:none;margin:.17rem;padding:.35rem;position:absolute;right:0;text-align:center;white-space:nowrap}button.function-btn+button.function-btn{right:36px}pre:hover\u003e.function-btn-container\u003ebutton.function-btn{display:block}.function-btn:hover{color:gray;transition:all .5s ease}.function-btn-body{align-items:center;display:flex}.function-btn svg{fill:currentcolor}code.wrap{word-wrap:break-word;white-space:pre-wrap;word-break:break-all}.octicon{height:1em;width:1em}hr{background-color:transparent;border-top:1px solid rgba(0,0,0,.1);opacity:1}hr.dotted{border-top-style:dotted;border-top-width:.1rem}hr.double{border-top-style:double;border-top-width:.2rem}hr.dashed{border-top-style:dashed;border-top-width:.1rem}hr.thick{border-top-width:.15rem}hr.thick-1{border-top-width:.25rem}hr.thick-2{border-top-width:.5rem}hr.thick-3{border-top-width:.75rem}ol,ul{padding-left:1.5rem}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;scroll-margin-top:var(--sticky-header-height)}.block-embed{overflow-x:auto;position:relative;width:100%}.block-embed iframe{height:100%;left:0;position:absolute;top:0;width:100%}#mb-page-nav{padding:.8rem 12px 0}#mb-page-nav a:link,#mb-page-nav a:visited{color:#9b9b9b;text-decoration:none}#mb-page-nav a:hover{color:#000}#mb-page-nav a.active{background-color:transparent;color:#000}.page-nav-title{color:#000;display:block;padding-left:.5rem;white-space:inherit}.nested{margin-left:5%}.no-flex-wrap{flex-wrap:nowrap}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_AMS-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_AMS-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_AMS-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../fonts/KaTeX_Caligraphic-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_Caligraphic-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_Caligraphic-Bold.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Caligraphic-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Caligraphic-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Caligraphic-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../fonts/KaTeX_Fraktur-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_Fraktur-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_Fraktur-Bold.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Fraktur-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Fraktur-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Fraktur-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../fonts/KaTeX_Main-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_Main-Bold.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../fonts/KaTeX_Main-BoldItalic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-BoldItalic.woff) format(\"woff\"),url(../fonts/KaTeX_Main-BoldItalic.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../fonts/KaTeX_Main-Italic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-Italic.woff) format(\"woff\"),url(../fonts/KaTeX_Main-Italic.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Main-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Main-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../fonts/KaTeX_Math-BoldItalic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Math-BoldItalic.woff) format(\"woff\"),url(../fonts/KaTeX_Math-BoldItalic.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../fonts/KaTeX_Math-Italic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Math-Italic.woff) format(\"woff\"),url(../fonts/KaTeX_Math-Italic.ttf) format(\"truetype\")}@font-face{font-family:\"KaTeX_SansSerif\";font-style:normal;font-weight:700;src:url(../fonts/KaTeX_SansSerif-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_SansSerif-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_SansSerif-Bold.ttf) format(\"truetype\")}@font-face{font-family:\"KaTeX_SansSerif\";font-style:italic;font-weight:400;src:url(../fonts/KaTeX_SansSerif-Italic.woff2) format(\"woff2\"),url(../fonts/KaTeX_SansSerif-Italic.woff) format(\"woff\"),url(../fonts/KaTeX_SansSerif-Italic.ttf) format(\"truetype\")}@font-face{font-family:\"KaTeX_SansSerif\";font-style:normal;font-weight:400;src:url(../fonts/KaTeX_SansSerif-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_SansSerif-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_SansSerif-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Script-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Script-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Script-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size1-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size1-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size1-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size2-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size2-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size2-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size3-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size3-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size3-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size4-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size4-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size4-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Typewriter-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Typewriter-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Typewriter-Regular.ttf) format(\"truetype\")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:\"0.15.6\"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html\u003e.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist\u003espan{display:block;height:0;position:relative}.katex .vlist\u003espan\u003espan{display:inline-block}.katex .vlist\u003espan\u003e.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac\u003espan\u003espan{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap\u003e.inner,.katex .llap\u003e.inner,.katex .rlap\u003e.inner{position:absolute}.katex .clap\u003e.fix,.katex .llap\u003e.fix,.katex .rlap\u003e.fix{display:inline-block}.katex .llap\u003e.inner{right:0}.katex .clap\u003e.inner,.katex .rlap\u003e.inner{left:0}.katex .clap\u003e.inner\u003espan{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt\u003e.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1\u003espan{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4\u003espan{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent\u003e.vlist-t,.katex .op-limits\u003e.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c\u003e.vlist-t{text-align:center}.katex .mtable .col-align-l\u003e.vlist-t{text-align:left}.katex .mtable .col-align-r\u003e.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:\"\"}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:\"(\" counter(katexEqnNo) \")\";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:\"(\" counter(mmlEqnNo) \")\";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display\u003e.katex{display:block;text-align:center;white-space:nowrap}.katex-display\u003e.katex\u003e.katex-html{display:block;position:relative}.katex-display\u003e.katex\u003e.katex-html\u003e.tag{position:absolute;right:0}.katex-display.leqno\u003e.katex\u003e.katex-html\u003e.tag{left:0;right:auto}.katex-display.fleqn\u003e.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.katex{font-size:1em!important}eq{display:inline-block}eqn{display:block}section.eqno{align-content:space-between;align-items:center;display:flex;flex-direction:row}section.eqno\u003eeqn{margin-left:3em;width:100%}section.eqno\u003espan{text-align:right;width:3em}"}],"authorContributionMap":{"KevinEyo1":1}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/css/octicons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":".octicon {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" vertical-align: text-top;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" fill: currentColor;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" overflow: visible;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":6}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/fontawesome/css/all.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" * Copyright 2023 Fonticons, Inc."},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" */"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":".fa{font-family:var(--fa-style-family,\"Font Awesome 6 Free\");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:\"Font Awesome 6 Free\"}.fa-brands,.fab{font-family:\"Font Awesome 6 Brands\"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul\u003eli{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".fa-0:before{content:\"\\30\"}.fa-1:before{content:\"\\31\"}.fa-2:before{content:\"\\32\"}.fa-3:before{content:\"\\33\"}.fa-4:before{content:\"\\34\"}.fa-5:before{content:\"\\35\"}.fa-6:before{content:\"\\36\"}.fa-7:before{content:\"\\37\"}.fa-8:before{content:\"\\38\"}.fa-9:before{content:\"\\39\"}.fa-fill-drip:before{content:\"\\f576\"}.fa-arrows-to-circle:before{content:\"\\e4bd\"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:\"\\f138\"}.fa-at:before{content:\"\\40\"}.fa-trash-alt:before,.fa-trash-can:before{content:\"\\f2ed\"}.fa-text-height:before{content:\"\\f034\"}.fa-user-times:before,.fa-user-xmark:before{content:\"\\f235\"}.fa-stethoscope:before{content:\"\\f0f1\"}.fa-comment-alt:before,.fa-message:before{content:\"\\f27a\"}.fa-info:before{content:\"\\f129\"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:\"\\f422\"}.fa-explosion:before{content:\"\\e4e9\"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:\"\\f15c\"}.fa-wave-square:before{content:\"\\f83e\"}.fa-ring:before{content:\"\\f70b\"}.fa-building-un:before{content:\"\\e4d9\"}.fa-dice-three:before{content:\"\\f527\"}.fa-calendar-alt:before,.fa-calendar-days:before{content:\"\\f073\"}.fa-anchor-circle-check:before{content:\"\\e4aa\"}.fa-building-circle-arrow-right:before{content:\"\\e4d1\"}.fa-volleyball-ball:before,.fa-volleyball:before{content:\"\\f45f\"}.fa-arrows-up-to-line:before{content:\"\\e4c2\"}.fa-sort-desc:before,.fa-sort-down:before{content:\"\\f0dd\"}.fa-circle-minus:before,.fa-minus-circle:before{content:\"\\f056\"}.fa-door-open:before{content:\"\\f52b\"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:\"\\f2f5\"}.fa-atom:before{content:\"\\f5d2\"}.fa-soap:before{content:\"\\e06e\"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:\"\\f86d\"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:\"\\f539\"}.fa-bridge-circle-check:before{content:\"\\e4c9\"}.fa-pump-medical:before{content:\"\\e06a\"}.fa-fingerprint:before{content:\"\\f577\"}.fa-hand-point-right:before{content:\"\\f0a4\"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:\"\\f689\"}.fa-forward-step:before,.fa-step-forward:before{content:\"\\f051\"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:\"\\f5b8\"}.fa-flag-checkered:before{content:\"\\f11e\"}.fa-football-ball:before,.fa-football:before{content:\"\\f44e\"}.fa-school-circle-exclamation:before{content:\"\\e56c\"}.fa-crop:before{content:\"\\f125\"}.fa-angle-double-down:before,.fa-angles-down:before{content:\"\\f103\"}.fa-users-rectangle:before{content:\"\\e594\"}.fa-people-roof:before{content:\"\\e537\"}.fa-people-line:before{content:\"\\e534\"}.fa-beer-mug-empty:before,.fa-beer:before{content:\"\\f0fc\"}.fa-diagram-predecessor:before{content:\"\\e477\"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:\"\\f176\"}.fa-burn:before,.fa-fire-flame-simple:before{content:\"\\f46a\"}.fa-male:before,.fa-person:before{content:\"\\f183\"}.fa-laptop:before{content:\"\\f109\"}.fa-file-csv:before{content:\"\\f6dd\"}.fa-menorah:before{content:\"\\f676\"}.fa-truck-plane:before{content:\"\\e58f\"}.fa-record-vinyl:before{content:\"\\f8d9\"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:\"\\f587\"}.fa-bong:before{content:\"\\f55c\"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:\"\\f67b\"}.fa-arrow-down-up-across-line:before{content:\"\\e4af\"}.fa-spoon:before,.fa-utensil-spoon:before{content:\"\\f2e5\"}.fa-jar-wheat:before{content:\"\\e517\"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:\"\\f674\"}.fa-file-circle-exclamation:before{content:\"\\e4eb\"}.fa-circle-h:before,.fa-hospital-symbol:before{content:\"\\f47e\"}.fa-pager:before{content:\"\\f815\"}.fa-address-book:before,.fa-contact-book:before{content:\"\\f2b9\"}.fa-strikethrough:before{content:\"\\f0cc\"}.fa-k:before{content:\"\\4b\"}.fa-landmark-flag:before{content:\"\\e51c\"}.fa-pencil-alt:before,.fa-pencil:before{content:\"\\f303\"}.fa-backward:before{content:\"\\f04a\"}.fa-caret-right:before{content:\"\\f0da\"}.fa-comments:before{content:\"\\f086\"}.fa-file-clipboard:before,.fa-paste:before{content:\"\\f0ea\"}.fa-code-pull-request:before{content:\"\\e13c\"}.fa-clipboard-list:before{content:\"\\f46d\"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:\"\\f4de\"}.fa-user-check:before{content:\"\\f4fc\"}.fa-vial-virus:before{content:\"\\e597\"}.fa-sheet-plastic:before{content:\"\\e571\"}.fa-blog:before{content:\"\\f781\"}.fa-user-ninja:before{content:\"\\f504\"}.fa-person-arrow-up-from-line:before{content:\"\\e539\"}.fa-scroll-torah:before,.fa-torah:before{content:\"\\f6a0\"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:\"\\f458\"}.fa-toggle-off:before{content:\"\\f204\"}.fa-archive:before,.fa-box-archive:before{content:\"\\f187\"}.fa-person-drowning:before{content:\"\\e545\"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:\"\\f886\"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:\"\\f58a\"}.fa-spray-can:before{content:\"\\f5bd\"}.fa-truck-monster:before{content:\"\\f63b\"}.fa-w:before{content:\"\\57\"}.fa-earth-africa:before,.fa-globe-africa:before{content:\"\\f57c\"}.fa-rainbow:before{content:\"\\f75b\"}.fa-circle-notch:before{content:\"\\f1ce\"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:\"\\f3fa\"}.fa-paw:before{content:\"\\f1b0\"}.fa-cloud:before{content:\"\\f0c2\"}.fa-trowel-bricks:before{content:\"\\e58a\"}.fa-face-flushed:before,.fa-flushed:before{content:\"\\f579\"}.fa-hospital-user:before{content:\"\\f80d\"}.fa-tent-arrow-left-right:before{content:\"\\e57f\"}.fa-gavel:before,.fa-legal:before{content:\"\\f0e3\"}.fa-binoculars:before{content:\"\\f1e5\"}.fa-microphone-slash:before{content:\"\\f131\"}.fa-box-tissue:before{content:\"\\e05b\"}.fa-motorcycle:before{content:\"\\f21c\"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:\"\\f562\"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:\"\\f5ae\"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:\"\\e068\"}.fa-mars-and-venus-burst:before{content:\"\\e523\"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:\"\\f152\"}.fa-cut:before,.fa-scissors:before{content:\"\\f0c4\"}.fa-sun-plant-wilt:before{content:\"\\e57a\"}.fa-toilets-portable:before{content:\"\\e584\"}.fa-hockey-puck:before{content:\"\\f453\"}.fa-table:before{content:\"\\f0ce\"}.fa-magnifying-glass-arrow-right:before{content:\"\\e521\"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:\"\\f566\"}.fa-users-slash:before{content:\"\\e073\"}.fa-clover:before{content:\"\\e139\"}.fa-mail-reply:before,.fa-reply:before{content:\"\\f3e5\"}.fa-star-and-crescent:before{content:\"\\f699\"}.fa-house-fire:before{content:\"\\e50c\"}.fa-minus-square:before,.fa-square-minus:before{content:\"\\f146\"}.fa-helicopter:before{content:\"\\f533\"}.fa-compass:before{content:\"\\f14e\"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:\"\\f150\"}.fa-file-circle-question:before{content:\"\\e4ef\"}.fa-laptop-code:before{content:\"\\f5fc\"}.fa-swatchbook:before{content:\"\\f5c3\"}.fa-prescription-bottle:before{content:\"\\f485\"}.fa-bars:before,.fa-navicon:before{content:\"\\f0c9\"}.fa-people-group:before{content:\"\\e533\"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:\"\\f253\"}.fa-heart-broken:before,.fa-heart-crack:before{content:\"\\f7a9\"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:\"\\f360\"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:\"\\f597\"}.fa-film:before{content:\"\\f008\"}.fa-ruler-horizontal:before{content:\"\\f547\"}.fa-people-robbery:before{content:\"\\e536\"}.fa-lightbulb:before{content:\"\\f0eb\"}.fa-caret-left:before{content:\"\\f0d9\"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:\"\\f06a\"}.fa-school-circle-xmark:before{content:\"\\e56d\"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:\"\\f08b\"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:\"\\f13a\"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:\"\\f13e\"}.fa-cloud-showers-heavy:before{content:\"\\f740\"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:\"\\f58f\"}.fa-sitemap:before{content:\"\\f0e8\"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:\"\\f4b9\"}.fa-memory:before{content:\"\\f538\"}.fa-road-spikes:before{content:\"\\e568\"}.fa-fire-burner:before{content:\"\\e4f1\"}.fa-flag:before{content:\"\\f024\"}.fa-hanukiah:before{content:\"\\f6e6\"}.fa-feather:before{content:\"\\f52d\"}.fa-volume-down:before,.fa-volume-low:before{content:\"\\f027\"}.fa-comment-slash:before{content:\"\\f4b3\"}.fa-cloud-sun-rain:before{content:\"\\f743\"}.fa-compress:before{content:\"\\f066\"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:\"\\e2cd\"}.fa-ankh:before{content:\"\\f644\"}.fa-hands-holding-child:before{content:\"\\e4fa\"}.fa-asterisk:before{content:\"\\2a\"}.fa-check-square:before,.fa-square-check:before{content:\"\\f14a\"}.fa-peseta-sign:before{content:\"\\e221\"}.fa-header:before,.fa-heading:before{content:\"\\f1dc\"}.fa-ghost:before{content:\"\\f6e2\"}.fa-list-squares:before,.fa-list:before{content:\"\\f03a\"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:\"\\f87b\"}.fa-cart-plus:before{content:\"\\f217\"}.fa-gamepad:before{content:\"\\f11b\"}.fa-circle-dot:before,.fa-dot-circle:before{content:\"\\f192\"}.fa-dizzy:before,.fa-face-dizzy:before{content:\"\\f567\"}.fa-egg:before{content:\"\\f7fb\"}.fa-house-medical-circle-xmark:before{content:\"\\e513\"}.fa-campground:before{content:\"\\f6bb\"}.fa-folder-plus:before{content:\"\\f65e\"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:\"\\f1e3\"}.fa-paint-brush:before,.fa-paintbrush:before{content:\"\\f1fc\"}.fa-lock:before{content:\"\\f023\"}.fa-gas-pump:before{content:\"\\f52f\"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:\"\\f593\"}.fa-map-location:before,.fa-map-marked:before{content:\"\\f59f\"}.fa-house-flood-water:before{content:\"\\e50e\"}.fa-tree:before{content:\"\\f1bb\"}.fa-bridge-lock:before{content:\"\\e4cc\"}.fa-sack-dollar:before{content:\"\\f81d\"}.fa-edit:before,.fa-pen-to-square:before{content:\"\\f044\"}.fa-car-side:before{content:\"\\f5e4\"}.fa-share-alt:before,.fa-share-nodes:before{content:\"\\f1e0\"}.fa-heart-circle-minus:before{content:\"\\e4ff\"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:\"\\f252\"}.fa-microscope:before{content:\"\\f610\"}.fa-sink:before{content:\"\\e06d\"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:\"\\f290\"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:\"\\f881\"}.fa-mitten:before{content:\"\\f7b5\"}.fa-person-rays:before{content:\"\\e54d\"}.fa-users:before{content:\"\\f0c0\"}.fa-eye-slash:before{content:\"\\f070\"}.fa-flask-vial:before{content:\"\\e4f3\"}.fa-hand-paper:before,.fa-hand:before{content:\"\\f256\"}.fa-om:before{content:\"\\f679\"}.fa-worm:before{content:\"\\e599\"}.fa-house-circle-xmark:before{content:\"\\e50b\"}.fa-plug:before{content:\"\\f1e6\"}.fa-chevron-up:before{content:\"\\f077\"}.fa-hand-spock:before{content:\"\\f259\"}.fa-stopwatch:before{content:\"\\f2f2\"}.fa-face-kiss:before,.fa-kiss:before{content:\"\\f596\"}.fa-bridge-circle-xmark:before{content:\"\\e4cb\"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:\"\\f589\"}.fa-chess-bishop:before{content:\"\\f43a\"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:\"\\f58c\"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:\"\\f2a4\"}.fa-road-circle-check:before{content:\"\\e564\"}.fa-dice-five:before{content:\"\\f523\"}.fa-rss-square:before,.fa-square-rss:before{content:\"\\f143\"}.fa-land-mine-on:before{content:\"\\e51b\"}.fa-i-cursor:before{content:\"\\f246\"}.fa-stamp:before{content:\"\\f5bf\"}.fa-stairs:before{content:\"\\e289\"}.fa-i:before{content:\"\\49\"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:\"\\f6f2\"}.fa-pills:before{content:\"\\f484\"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:\"\\f581\"}.fa-tooth:before{content:\"\\f5c9\"}.fa-v:before{content:\"\\56\"}.fa-bangladeshi-taka-sign:before{content:\"\\e2e6\"}.fa-bicycle:before{content:\"\\f206\"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:\"\\e579\"}.fa-head-side-cough-slash:before{content:\"\\e062\"}.fa-ambulance:before,.fa-truck-medical:before{content:\"\\f0f9\"}.fa-wheat-awn-circle-exclamation:before{content:\"\\e598\"}.fa-snowman:before{content:\"\\f7d0\"}.fa-mortar-pestle:before{content:\"\\f5a7\"}.fa-road-barrier:before{content:\"\\e562\"}.fa-school:before{content:\"\\f549\"}.fa-igloo:before{content:\"\\f7ae\"}.fa-joint:before{content:\"\\f595\"}.fa-angle-right:before{content:\"\\f105\"}.fa-horse:before{content:\"\\f6f0\"}.fa-q:before{content:\"\\51\"}.fa-g:before{content:\"\\47\"}.fa-notes-medical:before{content:\"\\f481\"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:\"\\f2c9\"}.fa-dong-sign:before{content:\"\\e169\"}.fa-capsules:before{content:\"\\f46b\"}.fa-poo-bolt:before,.fa-poo-storm:before{content:\"\\f75a\"}.fa-face-frown-open:before,.fa-frown-open:before{content:\"\\f57a\"}.fa-hand-point-up:before{content:\"\\f0a6\"}.fa-money-bill:before{content:\"\\f0d6\"}.fa-bookmark:before{content:\"\\f02e\"}.fa-align-justify:before{content:\"\\f039\"}.fa-umbrella-beach:before{content:\"\\f5ca\"}.fa-helmet-un:before{content:\"\\e503\"}.fa-bullseye:before{content:\"\\f140\"}.fa-bacon:before{content:\"\\f7e5\"}.fa-hand-point-down:before{content:\"\\f0a7\"}.fa-arrow-up-from-bracket:before{content:\"\\e09a\"}.fa-folder-blank:before,.fa-folder:before{content:\"\\f07b\"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:\"\\f478\"}.fa-radiation:before{content:\"\\f7b9\"}.fa-chart-simple:before{content:\"\\e473\"}.fa-mars-stroke:before{content:\"\\f229\"}.fa-vial:before{content:\"\\f492\"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:\"\\f624\"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:\"\\e2ca\"}.fa-e:before{content:\"\\45\"}.fa-pen-alt:before,.fa-pen-clip:before{content:\"\\f305\"}.fa-bridge-circle-exclamation:before{content:\"\\e4ca\"}.fa-user:before{content:\"\\f007\"}.fa-school-circle-check:before{content:\"\\e56b\"}.fa-dumpster:before{content:\"\\f793\"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:\"\\f5b6\"}.fa-building-user:before{content:\"\\e4da\"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:\"\\f191\"}.fa-highlighter:before{content:\"\\f591\"}.fa-key:before{content:\"\\f084\"}.fa-bullhorn:before{content:\"\\f0a1\"}.fa-globe:before{content:\"\\f0ac\"}.fa-synagogue:before{content:\"\\f69b\"}.fa-person-half-dress:before{content:\"\\e548\"}.fa-road-bridge:before{content:\"\\e563\"}.fa-location-arrow:before{content:\"\\f124\"}.fa-c:before{content:\"\\43\"}.fa-tablet-button:before{content:\"\\f10a\"}.fa-building-lock:before{content:\"\\e4d6\"}.fa-pizza-slice:before{content:\"\\f818\"}.fa-money-bill-wave:before{content:\"\\f53a\"}.fa-area-chart:before,.fa-chart-area:before{content:\"\\f1fe\"}.fa-house-flag:before{content:\"\\e50d\"}.fa-person-circle-minus:before{content:\"\\e540\"}.fa-ban:before,.fa-cancel:before{content:\"\\f05e\"}.fa-camera-rotate:before{content:\"\\e0d8\"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:\"\\f5d0\"}.fa-star:before{content:\"\\f005\"}.fa-repeat:before{content:\"\\f363\"}.fa-cross:before{content:\"\\f654\"}.fa-box:before{content:\"\\f466\"}.fa-venus-mars:before{content:\"\\f228\"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:\"\\f245\"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:\"\\f31e\"}.fa-charging-station:before{content:\"\\f5e7\"}.fa-shapes:before,.fa-triangle-circle-square:before{content:\"\\f61f\"}.fa-random:before,.fa-shuffle:before{content:\"\\f074\"}.fa-person-running:before,.fa-running:before{content:\"\\f70c\"}.fa-mobile-retro:before{content:\"\\e527\"}.fa-grip-lines-vertical:before{content:\"\\f7a5\"}.fa-spider:before{content:\"\\f717\"}.fa-hands-bound:before{content:\"\\e4f9\"}.fa-file-invoice-dollar:before{content:\"\\f571\"}.fa-plane-circle-exclamation:before{content:\"\\e556\"}.fa-x-ray:before{content:\"\\f497\"}.fa-spell-check:before{content:\"\\f891\"}.fa-slash:before{content:\"\\f715\"}.fa-computer-mouse:before,.fa-mouse:before{content:\"\\f8cc\"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:\"\\f090\"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:\"\\e070\"}.fa-server:before{content:\"\\f233\"}.fa-virus-covid-slash:before{content:\"\\e4a9\"}.fa-shop-lock:before{content:\"\\e4a5\"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:\"\\f251\"}.fa-blender-phone:before{content:\"\\f6b6\"}.fa-building-wheat:before{content:\"\\e4db\"}.fa-person-breastfeeding:before{content:\"\\e53a\"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:\"\\f2f6\"}.fa-venus:before{content:\"\\f221\"}.fa-passport:before{content:\"\\f5ab\"}.fa-heart-pulse:before,.fa-heartbeat:before{content:\"\\f21e\"}.fa-people-carry-box:before,.fa-people-carry:before{content:\"\\f4ce\"}.fa-temperature-high:before{content:\"\\f769\"}.fa-microchip:before{content:\"\\f2db\"}.fa-crown:before{content:\"\\f521\"}.fa-weight-hanging:before{content:\"\\f5cd\"}.fa-xmarks-lines:before{content:\"\\e59a\"}.fa-file-prescription:before{content:\"\\f572\"}.fa-weight-scale:before,.fa-weight:before{content:\"\\f496\"}.fa-user-friends:before,.fa-user-group:before{content:\"\\f500\"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:\"\\f15e\"}.fa-chess-knight:before{content:\"\\f441\"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:\"\\f59b\"}.fa-wheelchair:before{content:\"\\f193\"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:\"\\f0aa\"}.fa-toggle-on:before{content:\"\\f205\"}.fa-person-walking:before,.fa-walking:before{content:\"\\f554\"}.fa-l:before{content:\"\\4c\"}.fa-fire:before{content:\"\\f06d\"}.fa-bed-pulse:before,.fa-procedures:before{content:\"\\f487\"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:\"\\f197\"}.fa-face-laugh:before,.fa-laugh:before{content:\"\\f599\"}.fa-folder-open:before{content:\"\\f07c\"}.fa-heart-circle-plus:before{content:\"\\e500\"}.fa-code-fork:before{content:\"\\e13b\"}.fa-city:before{content:\"\\f64f\"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:\"\\f3c9\"}.fa-pepper-hot:before{content:\"\\f816\"}.fa-unlock:before{content:\"\\f09c\"}.fa-colon-sign:before{content:\"\\e140\"}.fa-headset:before{content:\"\\f590\"}.fa-store-slash:before{content:\"\\e071\"}.fa-road-circle-xmark:before{content:\"\\e566\"}.fa-user-minus:before{content:\"\\f503\"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:\"\\f22a\"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:\"\\f79f\"}.fa-clipboard:before{content:\"\\f328\"}.fa-house-circle-exclamation:before{content:\"\\e50a\"}.fa-file-arrow-up:before,.fa-file-upload:before{content:\"\\f574\"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:\"\\f1eb\"}.fa-bath:before,.fa-bathtub:before{content:\"\\f2cd\"}.fa-underline:before{content:\"\\f0cd\"}.fa-user-edit:before,.fa-user-pen:before{content:\"\\f4ff\"}.fa-signature:before{content:\"\\f5b7\"}.fa-stroopwafel:before{content:\"\\f551\"}.fa-bold:before{content:\"\\f032\"}.fa-anchor-lock:before{content:\"\\e4ad\"}.fa-building-ngo:before{content:\"\\e4d7\"}.fa-manat-sign:before{content:\"\\e1d5\"}.fa-not-equal:before{content:\"\\f53e\"}.fa-border-style:before,.fa-border-top-left:before{content:\"\\f853\"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:\"\\f5a0\"}.fa-jedi:before{content:\"\\f669\"}.fa-poll:before,.fa-square-poll-vertical:before{content:\"\\f681\"}.fa-mug-hot:before{content:\"\\f7b6\"}.fa-battery-car:before,.fa-car-battery:before{content:\"\\f5df\"}.fa-gift:before{content:\"\\f06b\"}.fa-dice-two:before{content:\"\\f528\"}.fa-chess-queen:before{content:\"\\f445\"}.fa-glasses:before{content:\"\\f530\"}.fa-chess-board:before{content:\"\\f43c\"}.fa-building-circle-check:before{content:\"\\e4d2\"}.fa-person-chalkboard:before{content:\"\\e53d\"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:\"\\f22b\"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:\"\\f255\"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:\"\\f151\"}.fa-cloud-showers-water:before{content:\"\\e4e4\"}.fa-bar-chart:before,.fa-chart-bar:before{content:\"\\f080\"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:\"\\e05e\"}.fa-less-than-equal:before{content:\"\\f537\"}.fa-train:before{content:\"\\f238\"}.fa-eye-low-vision:before,.fa-low-vision:before{content:\"\\f2a8\"}.fa-crow:before{content:\"\\f520\"}.fa-sailboat:before{content:\"\\e445\"}.fa-window-restore:before{content:\"\\f2d2\"}.fa-plus-square:before,.fa-square-plus:before{content:\"\\f0fe\"}.fa-torii-gate:before{content:\"\\f6a1\"}.fa-frog:before{content:\"\\f52e\"}.fa-bucket:before{content:\"\\e4cf\"}.fa-image:before{content:\"\\f03e\"}.fa-microphone:before{content:\"\\f130\"}.fa-cow:before{content:\"\\f6c8\"}.fa-caret-up:before{content:\"\\f0d8\"}.fa-screwdriver:before{content:\"\\f54a\"}.fa-folder-closed:before{content:\"\\e185\"}.fa-house-tsunami:before{content:\"\\e515\"}.fa-square-nfi:before{content:\"\\e576\"}.fa-arrow-up-from-ground-water:before{content:\"\\e4b5\"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:\"\\f57b\"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:\"\\f2ea\"}.fa-columns:before,.fa-table-columns:before{content:\"\\f0db\"}.fa-lemon:before{content:\"\\f094\"}.fa-head-side-mask:before{content:\"\\e063\"}.fa-handshake:before{content:\"\\f2b5\"}.fa-gem:before{content:\"\\f3a5\"}.fa-dolly-box:before,.fa-dolly:before{content:\"\\f472\"}.fa-smoking:before{content:\"\\f48d\"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:\"\\f78c\"}.fa-monument:before{content:\"\\f5a6\"}.fa-snowplow:before{content:\"\\f7d2\"}.fa-angle-double-right:before,.fa-angles-right:before{content:\"\\f101\"}.fa-cannabis:before{content:\"\\f55f\"}.fa-circle-play:before,.fa-play-circle:before{content:\"\\f144\"}.fa-tablets:before{content:\"\\f490\"}.fa-ethernet:before{content:\"\\f796\"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:\"\\f153\"}.fa-chair:before{content:\"\\f6c0\"}.fa-check-circle:before,.fa-circle-check:before{content:\"\\f058\"}.fa-circle-stop:before,.fa-stop-circle:before{content:\"\\f28d\"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:\"\\f568\"}.fa-plate-wheat:before{content:\"\\e55a\"}.fa-icicles:before{content:\"\\f7ad\"}.fa-person-shelter:before{content:\"\\e54f\"}.fa-neuter:before{content:\"\\f22c\"}.fa-id-badge:before{content:\"\\f2c1\"}.fa-marker:before{content:\"\\f5a1\"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:\"\\f59a\"}.fa-helicopter-symbol:before{content:\"\\e502\"}.fa-universal-access:before{content:\"\\f29a\"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:\"\\f139\"}.fa-lari-sign:before{content:\"\\e1c8\"}.fa-volcano:before{content:\"\\f770\"}.fa-person-walking-dashed-line-arrow-right:before{content:\"\\e553\"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:\"\\f154\"}.fa-viruses:before{content:\"\\e076\"}.fa-square-person-confined:before{content:\"\\e577\"}.fa-user-tie:before{content:\"\\f508\"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:\"\\f175\"}.fa-tent-arrow-down-to-line:before{content:\"\\e57e\"}.fa-certificate:before{content:\"\\f0a3\"}.fa-mail-reply-all:before,.fa-reply-all:before{content:\"\\f122\"}.fa-suitcase:before{content:\"\\f0f2\"}.fa-person-skating:before,.fa-skating:before{content:\"\\f7c5\"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:\"\\f662\"}.fa-camera-retro:before{content:\"\\f083\"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:\"\\f0ab\"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:\"\\f56f\"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:\"\\f14c\"}.fa-box-open:before{content:\"\\f49e\"}.fa-scroll:before{content:\"\\f70e\"}.fa-spa:before{content:\"\\f5bb\"}.fa-location-pin-lock:before{content:\"\\e51f\"}.fa-pause:before{content:\"\\f04c\"}.fa-hill-avalanche:before{content:\"\\e507\"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:\"\\f2cb\"}.fa-bomb:before{content:\"\\f1e2\"}.fa-registered:before{content:\"\\f25d\"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:\"\\f2bb\"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:\"\\f516\"}.fa-subscript:before{content:\"\\f12c\"}.fa-diamond-turn-right:before,.fa-directions:before{content:\"\\f5eb\"}.fa-burst:before{content:\"\\e4dc\"}.fa-house-laptop:before,.fa-laptop-house:before{content:\"\\e066\"}.fa-face-tired:before,.fa-tired:before{content:\"\\f5c8\"}.fa-money-bills:before{content:\"\\e1f3\"}.fa-smog:before{content:\"\\f75f\"}.fa-crutch:before{content:\"\\f7f7\"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:\"\\f0ee\"}.fa-palette:before{content:\"\\f53f\"}.fa-arrows-turn-right:before{content:\"\\e4c0\"}.fa-vest:before{content:\"\\e085\"}.fa-ferry:before{content:\"\\e4ea\"}.fa-arrows-down-to-people:before{content:\"\\e4b9\"}.fa-seedling:before,.fa-sprout:before{content:\"\\f4d8\"}.fa-arrows-alt-h:before,.fa-left-right:before{content:\"\\f337\"}.fa-boxes-packing:before{content:\"\\e4c7\"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:\"\\f0a8\"}.fa-group-arrows-rotate:before{content:\"\\e4f6\"}.fa-bowl-food:before{content:\"\\e4c6\"}.fa-candy-cane:before{content:\"\\f786\"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:\"\\f160\"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:\"\\f76c\"}.fa-remove-format:before,.fa-text-slash:before{content:\"\\f87d\"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:\"\\f4da\"}.fa-file-word:before{content:\"\\f1c2\"}.fa-file-powerpoint:before{content:\"\\f1c4\"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:\"\\f07e\"}.fa-house-lock:before{content:\"\\e510\"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:\"\\f0ed\"}.fa-children:before{content:\"\\e4e1\"}.fa-blackboard:before,.fa-chalkboard:before{content:\"\\f51b\"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:\"\\f4fa\"}.fa-envelope-open:before{content:\"\\f2b6\"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:\"\\e05f\"}.fa-mattress-pillow:before{content:\"\\e525\"}.fa-guarani-sign:before{content:\"\\e19a\"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:\"\\f021\"}.fa-fire-extinguisher:before{content:\"\\f134\"}.fa-cruzeiro-sign:before{content:\"\\e152\"}.fa-greater-than-equal:before{content:\"\\f532\"}.fa-shield-alt:before,.fa-shield-halved:before{content:\"\\f3ed\"}.fa-atlas:before,.fa-book-atlas:before{content:\"\\f558\"}.fa-virus:before{content:\"\\e074\"}.fa-envelope-circle-check:before{content:\"\\e4e8\"}.fa-layer-group:before{content:\"\\f5fd\"}.fa-arrows-to-dot:before{content:\"\\e4be\"}.fa-archway:before{content:\"\\f557\"}.fa-heart-circle-check:before{content:\"\\e4fd\"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:\"\\f6f1\"}.fa-file-archive:before,.fa-file-zipper:before{content:\"\\f1c6\"}.fa-square:before{content:\"\\f0c8\"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:\"\\f000\"}.fa-couch:before{content:\"\\f4b8\"}.fa-cedi-sign:before{content:\"\\e0df\"}.fa-italic:before{content:\"\\f033\"}.fa-church:before{content:\"\\f51d\"}.fa-comments-dollar:before{content:\"\\f653\"}.fa-democrat:before{content:\"\\f747\"}.fa-z:before{content:\"\\5a\"}.fa-person-skiing:before,.fa-skiing:before{content:\"\\f7c9\"}.fa-road-lock:before{content:\"\\e567\"}.fa-a:before{content:\"\\41\"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:\"\\e03f\"}.fa-feather-alt:before,.fa-feather-pointed:before{content:\"\\f56b\"}.fa-p:before{content:\"\\50\"}.fa-snowflake:before{content:\"\\f2dc\"}.fa-newspaper:before{content:\"\\f1ea\"}.fa-ad:before,.fa-rectangle-ad:before{content:\"\\f641\"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:\"\\f0a9\"}.fa-filter-circle-xmark:before{content:\"\\e17b\"}.fa-locust:before{content:\"\\e520\"}.fa-sort:before,.fa-unsorted:before{content:\"\\f0dc\"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:\"\\f0cb\"}.fa-person-dress-burst:before{content:\"\\e544\"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:\"\\f53d\"}.fa-vector-square:before{content:\"\\f5cb\"}.fa-bread-slice:before{content:\"\\f7ec\"}.fa-language:before{content:\"\\f1ab\"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:\"\\f598\"}.fa-filter:before{content:\"\\f0b0\"}.fa-question:before{content:\"\\3f\"}.fa-file-signature:before{content:\"\\f573\"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:\"\\f0b2\"}.fa-house-chimney-user:before{content:\"\\e065\"}.fa-hand-holding-heart:before{content:\"\\f4be\"}.fa-puzzle-piece:before{content:\"\\f12e\"}.fa-money-check:before{content:\"\\f53c\"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:\"\\f5c0\"}.fa-code:before{content:\"\\f121\"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:\"\\f7a0\"}.fa-building-circle-exclamation:before{content:\"\\e4d3\"}.fa-magnifying-glass-chart:before{content:\"\\e522\"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:\"\\f08e\"}.fa-cubes-stacked:before{content:\"\\e4e6\"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:\"\\f159\"}.fa-virus-covid:before{content:\"\\e4a8\"}.fa-austral-sign:before{content:\"\\e0a9\"}.fa-f:before{content:\"\\46\"}.fa-leaf:before{content:\"\\f06c\"}.fa-road:before{content:\"\\f018\"}.fa-cab:before,.fa-taxi:before{content:\"\\f1ba\"}.fa-person-circle-plus:before{content:\"\\e541\"}.fa-chart-pie:before,.fa-pie-chart:before{content:\"\\f200\"}.fa-bolt-lightning:before{content:\"\\e0b7\"}.fa-sack-xmark:before{content:\"\\e56a\"}.fa-file-excel:before{content:\"\\f1c3\"}.fa-file-contract:before{content:\"\\f56c\"}.fa-fish-fins:before{content:\"\\e4f2\"}.fa-building-flag:before{content:\"\\e4d5\"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:\"\\f582\"}.fa-object-ungroup:before{content:\"\\f248\"}.fa-poop:before{content:\"\\f619\"}.fa-location-pin:before,.fa-map-marker:before{content:\"\\f041\"}.fa-kaaba:before{content:\"\\f66b\"}.fa-toilet-paper:before{content:\"\\f71e\"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:\"\\f807\"}.fa-eject:before{content:\"\\f052\"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:\"\\f35a\"}.fa-plane-circle-check:before{content:\"\\e555\"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:\"\\f5a5\"}.fa-object-group:before{content:\"\\f247\"}.fa-chart-line:before,.fa-line-chart:before{content:\"\\f201\"}.fa-mask-ventilator:before{content:\"\\e524\"}.fa-arrow-right:before{content:\"\\f061\"}.fa-map-signs:before,.fa-signs-post:before{content:\"\\f277\"}.fa-cash-register:before{content:\"\\f788\"}.fa-person-circle-question:before{content:\"\\e542\"}.fa-h:before{content:\"\\48\"}.fa-tarp:before{content:\"\\e57b\"}.fa-screwdriver-wrench:before,.fa-tools:before{content:\"\\f7d9\"}.fa-arrows-to-eye:before{content:\"\\e4bf\"}.fa-plug-circle-bolt:before{content:\"\\e55b\"}.fa-heart:before{content:\"\\f004\"}.fa-mars-and-venus:before{content:\"\\f224\"}.fa-home-user:before,.fa-house-user:before{content:\"\\e1b0\"}.fa-dumpster-fire:before{content:\"\\f794\"}.fa-house-crack:before{content:\"\\e3b1\"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:\"\\f561\"}.fa-face-surprise:before,.fa-surprise:before{content:\"\\f5c2\"}.fa-bottle-water:before{content:\"\\e4c5\"}.fa-circle-pause:before,.fa-pause-circle:before{content:\"\\f28b\"}.fa-toilet-paper-slash:before{content:\"\\e072\"}.fa-apple-alt:before,.fa-apple-whole:before{content:\"\\f5d1\"}.fa-kitchen-set:before{content:\"\\e51a\"}.fa-r:before{content:\"\\52\"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:\"\\f2ca\"}.fa-cube:before{content:\"\\f1b2\"}.fa-bitcoin-sign:before{content:\"\\e0b4\"}.fa-shield-dog:before{content:\"\\e573\"}.fa-solar-panel:before{content:\"\\f5ba\"}.fa-lock-open:before{content:\"\\f3c1\"}.fa-elevator:before{content:\"\\e16d\"}.fa-money-bill-transfer:before{content:\"\\e528\"}.fa-money-bill-trend-up:before{content:\"\\e529\"}.fa-house-flood-water-circle-arrow-right:before{content:\"\\e50f\"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:\"\\f682\"}.fa-circle:before{content:\"\\f111\"}.fa-backward-fast:before,.fa-fast-backward:before{content:\"\\f049\"}.fa-recycle:before{content:\"\\f1b8\"}.fa-user-astronaut:before{content:\"\\f4fb\"}.fa-plane-slash:before{content:\"\\e069\"}.fa-trademark:before{content:\"\\f25c\"}.fa-basketball-ball:before,.fa-basketball:before{content:\"\\f434\"}.fa-satellite-dish:before{content:\"\\f7c0\"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:\"\\f35b\"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:\"\\f3cd\"}.fa-volume-high:before,.fa-volume-up:before{content:\"\\f028\"}.fa-users-rays:before{content:\"\\e593\"}.fa-wallet:before{content:\"\\f555\"}.fa-clipboard-check:before{content:\"\\f46c\"}.fa-file-audio:before{content:\"\\f1c7\"}.fa-burger:before,.fa-hamburger:before{content:\"\\f805\"}.fa-wrench:before{content:\"\\f0ad\"}.fa-bugs:before{content:\"\\e4d0\"}.fa-rupee-sign:before,.fa-rupee:before{content:\"\\f156\"}.fa-file-image:before{content:\"\\f1c5\"}.fa-circle-question:before,.fa-question-circle:before{content:\"\\f059\"}.fa-plane-departure:before{content:\"\\f5b0\"}.fa-handshake-slash:before{content:\"\\e060\"}.fa-book-bookmark:before{content:\"\\e0bb\"}.fa-code-branch:before{content:\"\\f126\"}.fa-hat-cowboy:before{content:\"\\f8c0\"}.fa-bridge:before{content:\"\\e4c8\"}.fa-phone-alt:before,.fa-phone-flip:before{content:\"\\f879\"}.fa-truck-front:before{content:\"\\e2b7\"}.fa-cat:before{content:\"\\f6be\"}.fa-anchor-circle-exclamation:before{content:\"\\e4ab\"}.fa-truck-field:before{content:\"\\e58d\"}.fa-route:before{content:\"\\f4d7\"}.fa-clipboard-question:before{content:\"\\e4e3\"}.fa-panorama:before{content:\"\\e209\"}.fa-comment-medical:before{content:\"\\f7f5\"}.fa-teeth-open:before{content:\"\\f62f\"}.fa-file-circle-minus:before{content:\"\\e4ed\"}.fa-tags:before{content:\"\\f02c\"}.fa-wine-glass:before{content:\"\\f4e3\"}.fa-fast-forward:before,.fa-forward-fast:before{content:\"\\f050\"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:\"\\f5a4\"}.fa-parking:before,.fa-square-parking:before{content:\"\\f540\"}.fa-house-signal:before{content:\"\\e012\"}.fa-bars-progress:before,.fa-tasks-alt:before{content:\"\\f828\"}.fa-faucet-drip:before{content:\"\\e006\"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:\"\\f474\"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:\"\\f54d\"}.fa-terminal:before{content:\"\\f120\"}.fa-mobile-button:before{content:\"\\f10b\"}.fa-house-medical-flag:before{content:\"\\e514\"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:\"\\f291\"}.fa-tape:before{content:\"\\f4db\"}.fa-bus-alt:before,.fa-bus-simple:before{content:\"\\f55e\"}.fa-eye:before{content:\"\\f06e\"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:\"\\f5b3\"}.fa-audio-description:before{content:\"\\f29e\"}.fa-person-military-to-person:before{content:\"\\e54c\"}.fa-file-shield:before{content:\"\\e4f0\"}.fa-user-slash:before{content:\"\\f506\"}.fa-pen:before{content:\"\\f304\"}.fa-tower-observation:before{content:\"\\e586\"}.fa-file-code:before{content:\"\\f1c9\"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:\"\\f012\"}.fa-bus:before{content:\"\\f207\"}.fa-heart-circle-xmark:before{content:\"\\e501\"}.fa-home-lg:before,.fa-house-chimney:before{content:\"\\e3af\"}.fa-window-maximize:before{content:\"\\f2d0\"}.fa-face-frown:before,.fa-frown:before{content:\"\\f119\"}.fa-prescription:before{content:\"\\f5b1\"}.fa-shop:before,.fa-store-alt:before{content:\"\\f54f\"}.fa-floppy-disk:before,.fa-save:before{content:\"\\f0c7\"}.fa-vihara:before{content:\"\\f6a7\"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:\"\\f515\"}.fa-sort-asc:before,.fa-sort-up:before{content:\"\\f0de\"}.fa-comment-dots:before,.fa-commenting:before{content:\"\\f4ad\"}.fa-plant-wilt:before{content:\"\\e5aa\"}.fa-diamond:before{content:\"\\f219\"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:\"\\f585\"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:\"\\f4c0\"}.fa-bacterium:before{content:\"\\e05a\"}.fa-hand-pointer:before{content:\"\\f25a\"}.fa-drum-steelpan:before{content:\"\\f56a\"}.fa-hand-scissors:before{content:\"\\f257\"}.fa-hands-praying:before,.fa-praying-hands:before{content:\"\\f684\"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:\"\\f01e\"}.fa-biohazard:before{content:\"\\f780\"}.fa-location-crosshairs:before,.fa-location:before{content:\"\\f601\"}.fa-mars-double:before{content:\"\\f227\"}.fa-child-dress:before{content:\"\\e59c\"}.fa-users-between-lines:before{content:\"\\e591\"}.fa-lungs-virus:before{content:\"\\e067\"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:\"\\f588\"}.fa-phone:before{content:\"\\f095\"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:\"\\f273\"}.fa-child-reaching:before{content:\"\\e59d\"}.fa-head-side-virus:before{content:\"\\e064\"}.fa-user-cog:before,.fa-user-gear:before{content:\"\\f4fe\"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:\"\\f163\"}.fa-door-closed:before{content:\"\\f52a\"}.fa-shield-virus:before{content:\"\\e06c\"}.fa-dice-six:before{content:\"\\f526\"}.fa-mosquito-net:before{content:\"\\e52c\"}.fa-bridge-water:before{content:\"\\e4ce\"}.fa-person-booth:before{content:\"\\f756\"}.fa-text-width:before{content:\"\\f035\"}.fa-hat-wizard:before{content:\"\\f6e8\"}.fa-pen-fancy:before{content:\"\\f5ac\"}.fa-digging:before,.fa-person-digging:before{content:\"\\f85e\"}.fa-trash:before{content:\"\\f1f8\"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:\"\\f629\"}.fa-book-medical:before{content:\"\\f7e6\"}.fa-poo:before{content:\"\\f2fe\"}.fa-quote-right-alt:before,.fa-quote-right:before{content:\"\\f10e\"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:\"\\f553\"}.fa-cubes:before{content:\"\\f1b3\"}.fa-divide:before{content:\"\\f529\"}.fa-tenge-sign:before,.fa-tenge:before{content:\"\\f7d7\"}.fa-headphones:before{content:\"\\f025\"}.fa-hands-holding:before{content:\"\\f4c2\"}.fa-hands-clapping:before{content:\"\\e1a8\"}.fa-republican:before{content:\"\\f75e\"}.fa-arrow-left:before{content:\"\\f060\"}.fa-person-circle-xmark:before{content:\"\\e543\"}.fa-ruler:before{content:\"\\f545\"}.fa-align-left:before{content:\"\\f036\"}.fa-dice-d6:before{content:\"\\f6d1\"}.fa-restroom:before{content:\"\\f7bd\"}.fa-j:before{content:\"\\4a\"}.fa-users-viewfinder:before{content:\"\\e595\"}.fa-file-video:before{content:\"\\f1c8\"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:\"\\f35d\"}.fa-table-cells:before,.fa-th:before{content:\"\\f00a\"}.fa-file-pdf:before{content:\"\\f1c1\"}.fa-bible:before,.fa-book-bible:before{content:\"\\f647\"}.fa-o:before{content:\"\\4f\"}.fa-medkit:before,.fa-suitcase-medical:before{content:\"\\f0fa\"}.fa-user-secret:before{content:\"\\f21b\"}.fa-otter:before{content:\"\\f700\"}.fa-female:before,.fa-person-dress:before{content:\"\\f182\"}.fa-comment-dollar:before{content:\"\\f651\"}.fa-briefcase-clock:before,.fa-business-time:before{content:\"\\f64a\"}.fa-table-cells-large:before,.fa-th-large:before{content:\"\\f009\"}.fa-book-tanakh:before,.fa-tanakh:before{content:\"\\f827\"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:\"\\f2a0\"}.fa-hat-cowboy-side:before{content:\"\\f8c1\"}.fa-clipboard-user:before{content:\"\\f7f3\"}.fa-child:before{content:\"\\f1ae\"}.fa-lira-sign:before{content:\"\\f195\"}.fa-satellite:before{content:\"\\f7bf\"}.fa-plane-lock:before{content:\"\\e558\"}.fa-tag:before{content:\"\\f02b\"}.fa-comment:before{content:\"\\f075\"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:\"\\f1fd\"}.fa-envelope:before{content:\"\\f0e0\"}.fa-angle-double-up:before,.fa-angles-up:before{content:\"\\f102\"}.fa-paperclip:before{content:\"\\f0c6\"}.fa-arrow-right-to-city:before{content:\"\\e4b3\"}.fa-ribbon:before{content:\"\\f4d6\"}.fa-lungs:before{content:\"\\f604\"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:\"\\f887\"}.fa-litecoin-sign:before{content:\"\\e1d3\"}.fa-border-none:before{content:\"\\f850\"}.fa-circle-nodes:before{content:\"\\e4e2\"}.fa-parachute-box:before{content:\"\\f4cd\"}.fa-indent:before{content:\"\\f03c\"}.fa-truck-field-un:before{content:\"\\e58e\"}.fa-hourglass-empty:before,.fa-hourglass:before{content:\"\\f254\"}.fa-mountain:before{content:\"\\f6fc\"}.fa-user-doctor:before,.fa-user-md:before{content:\"\\f0f0\"}.fa-circle-info:before,.fa-info-circle:before{content:\"\\f05a\"}.fa-cloud-meatball:before{content:\"\\f73b\"}.fa-camera-alt:before,.fa-camera:before{content:\"\\f030\"}.fa-square-virus:before{content:\"\\e578\"}.fa-meteor:before{content:\"\\f753\"}.fa-car-on:before{content:\"\\e4dd\"}.fa-sleigh:before{content:\"\\f7cc\"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:\"\\f162\"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:\"\\f4c1\"}.fa-water:before{content:\"\\f773\"}.fa-calendar-check:before{content:\"\\f274\"}.fa-braille:before{content:\"\\f2a1\"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:\"\\f486\"}.fa-landmark:before{content:\"\\f66f\"}.fa-truck:before{content:\"\\f0d1\"}.fa-crosshairs:before{content:\"\\f05b\"}.fa-person-cane:before{content:\"\\e53c\"}.fa-tent:before{content:\"\\e57d\"}.fa-vest-patches:before{content:\"\\e086\"}.fa-check-double:before{content:\"\\f560\"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:\"\\f15d\"}.fa-money-bill-wheat:before{content:\"\\e52a\"}.fa-cookie:before{content:\"\\f563\"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:\"\\f0e2\"}.fa-hard-drive:before,.fa-hdd:before{content:\"\\f0a0\"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:\"\\f586\"}.fa-dumbbell:before{content:\"\\f44b\"}.fa-list-alt:before,.fa-rectangle-list:before{content:\"\\f022\"}.fa-tarp-droplet:before{content:\"\\e57c\"}.fa-house-medical-circle-check:before{content:\"\\e511\"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:\"\\f7ca\"}.fa-calendar-plus:before{content:\"\\f271\"}.fa-plane-arrival:before{content:\"\\f5af\"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:\"\\f359\"}.fa-subway:before,.fa-train-subway:before{content:\"\\f239\"}.fa-chart-gantt:before{content:\"\\e0e4\"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:\"\\e1bc\"}.fa-crop-alt:before,.fa-crop-simple:before{content:\"\\f565\"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:\"\\f3d1\"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:\"\\f30a\"}.fa-dna:before{content:\"\\f471\"}.fa-virus-slash:before{content:\"\\e075\"}.fa-minus:before,.fa-subtract:before{content:\"\\f068\"}.fa-chess:before{content:\"\\f439\"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:\"\\f177\"}.fa-plug-circle-check:before{content:\"\\e55c\"}.fa-street-view:before{content:\"\\f21d\"}.fa-franc-sign:before{content:\"\\e18f\"}.fa-volume-off:before{content:\"\\f026\"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:\"\\f2a3\"}.fa-cog:before,.fa-gear:before{content:\"\\f013\"}.fa-droplet-slash:before,.fa-tint-slash:before{content:\"\\f5c7\"}.fa-mosque:before{content:\"\\f678\"}.fa-mosquito:before{content:\"\\e52b\"}.fa-star-of-david:before{content:\"\\f69a\"}.fa-person-military-rifle:before{content:\"\\e54b\"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:\"\\f07a\"}.fa-vials:before{content:\"\\f493\"}.fa-plug-circle-plus:before{content:\"\\e55f\"}.fa-place-of-worship:before{content:\"\\f67f\"}.fa-grip-vertical:before{content:\"\\f58e\"}.fa-arrow-turn-up:before,.fa-level-up:before{content:\"\\f148\"}.fa-u:before{content:\"\\55\"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:\"\\f698\"}.fa-clock-four:before,.fa-clock:before{content:\"\\f017\"}.fa-backward-step:before,.fa-step-backward:before{content:\"\\f048\"}.fa-pallet:before{content:\"\\f482\"}.fa-faucet:before{content:\"\\e005\"}.fa-baseball-bat-ball:before{content:\"\\f432\"}.fa-s:before{content:\"\\53\"}.fa-timeline:before{content:\"\\e29c\"}.fa-keyboard:before{content:\"\\f11c\"}.fa-caret-down:before{content:\"\\f0d7\"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:\"\\f7f2\"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:\"\\f2c8\"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:\"\\f3cf\"}.fa-plane-up:before{content:\"\\e22d\"}.fa-piggy-bank:before{content:\"\\f4d3\"}.fa-battery-3:before,.fa-battery-half:before{content:\"\\f242\"}.fa-mountain-city:before{content:\"\\e52e\"}.fa-coins:before{content:\"\\f51e\"}.fa-khanda:before{content:\"\\f66d\"}.fa-sliders-h:before,.fa-sliders:before{content:\"\\f1de\"}.fa-folder-tree:before{content:\"\\f802\"}.fa-network-wired:before{content:\"\\f6ff\"}.fa-map-pin:before{content:\"\\f276\"}.fa-hamsa:before{content:\"\\f665\"}.fa-cent-sign:before{content:\"\\e3f5\"}.fa-flask:before{content:\"\\f0c3\"}.fa-person-pregnant:before{content:\"\\e31e\"}.fa-wand-sparkles:before{content:\"\\f72b\"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:\"\\f142\"}.fa-ticket:before{content:\"\\f145\"}.fa-power-off:before{content:\"\\f011\"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:\"\\f30b\"}.fa-flag-usa:before{content:\"\\f74d\"}.fa-laptop-file:before{content:\"\\e51d\"}.fa-teletype:before,.fa-tty:before{content:\"\\f1e4\"}.fa-diagram-next:before{content:\"\\e476\"}.fa-person-rifle:before{content:\"\\e54e\"}.fa-house-medical-circle-exclamation:before{content:\"\\e512\"}.fa-closed-captioning:before{content:\"\\f20a\"}.fa-hiking:before,.fa-person-hiking:before{content:\"\\f6ec\"}.fa-venus-double:before{content:\"\\f226\"}.fa-images:before{content:\"\\f302\"}.fa-calculator:before{content:\"\\f1ec\"}.fa-people-pulling:before{content:\"\\e535\"}.fa-n:before{content:\"\\4e\"}.fa-cable-car:before,.fa-tram:before{content:\"\\f7da\"}.fa-cloud-rain:before{content:\"\\f73d\"}.fa-building-circle-xmark:before{content:\"\\e4d4\"}.fa-ship:before{content:\"\\f21a\"}.fa-arrows-down-to-line:before{content:\"\\e4b8\"}.fa-download:before{content:\"\\f019\"}.fa-face-grin:before,.fa-grin:before{content:\"\\f580\"}.fa-backspace:before,.fa-delete-left:before{content:\"\\f55a\"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:\"\\f1fb\"}.fa-file-circle-check:before{content:\"\\e5a0\"}.fa-forward:before{content:\"\\f04e\"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:\"\\f3ce\"}.fa-face-meh:before,.fa-meh:before{content:\"\\f11a\"}.fa-align-center:before{content:\"\\f037\"}.fa-book-dead:before,.fa-book-skull:before{content:\"\\f6b7\"}.fa-drivers-license:before,.fa-id-card:before{content:\"\\f2c2\"}.fa-dedent:before,.fa-outdent:before{content:\"\\f03b\"}.fa-heart-circle-exclamation:before{content:\"\\e4fe\"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:\"\\f015\"}.fa-calendar-week:before{content:\"\\f784\"}.fa-laptop-medical:before{content:\"\\f812\"}.fa-b:before{content:\"\\42\"}.fa-file-medical:before{content:\"\\f477\"}.fa-dice-one:before{content:\"\\f525\"}.fa-kiwi-bird:before{content:\"\\f535\"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:\"\\f0ec\"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:\"\\f2f9\"}.fa-cutlery:before,.fa-utensils:before{content:\"\\f2e7\"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:\"\\f161\"}.fa-mill-sign:before{content:\"\\e1ed\"}.fa-bowl-rice:before{content:\"\\e2eb\"}.fa-skull:before{content:\"\\f54c\"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:\"\\f519\"}.fa-truck-pickup:before{content:\"\\f63c\"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:\"\\f30c\"}.fa-stop:before{content:\"\\f04d\"}.fa-code-merge:before{content:\"\\f387\"}.fa-upload:before{content:\"\\f093\"}.fa-hurricane:before{content:\"\\f751\"}.fa-mound:before{content:\"\\e52d\"}.fa-toilet-portable:before{content:\"\\e583\"}.fa-compact-disc:before{content:\"\\f51f\"}.fa-file-arrow-down:before,.fa-file-download:before{content:\"\\f56d\"}.fa-caravan:before{content:\"\\f8ff\"}.fa-shield-cat:before{content:\"\\e572\"}.fa-bolt:before,.fa-zap:before{content:\"\\f0e7\"}.fa-glass-water:before{content:\"\\e4f4\"}.fa-oil-well:before{content:\"\\e532\"}.fa-vault:before{content:\"\\e2c5\"}.fa-mars:before{content:\"\\f222\"}.fa-toilet:before{content:\"\\f7d8\"}.fa-plane-circle-xmark:before{content:\"\\e557\"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:\"\\f157\"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:\"\\f158\"}.fa-sun:before{content:\"\\f185\"}.fa-guitar:before{content:\"\\f7a6\"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:\"\\f59c\"}.fa-horse-head:before{content:\"\\f7ab\"}.fa-bore-hole:before{content:\"\\e4c3\"}.fa-industry:before{content:\"\\f275\"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:\"\\f358\"}.fa-arrows-turn-to-dots:before{content:\"\\e4c1\"}.fa-florin-sign:before{content:\"\\e184\"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:\"\\f884\"}.fa-less-than:before{content:\"\\3c\"}.fa-angle-down:before{content:\"\\f107\"}.fa-car-tunnel:before{content:\"\\e4de\"}.fa-head-side-cough:before{content:\"\\e061\"}.fa-grip-lines:before{content:\"\\f7a4\"}.fa-thumbs-down:before{content:\"\\f165\"}.fa-user-lock:before{content:\"\\f502\"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:\"\\f178\"}.fa-anchor-circle-xmark:before{content:\"\\e4ac\"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:\"\\f141\"}.fa-chess-pawn:before{content:\"\\f443\"}.fa-first-aid:before,.fa-kit-medical:before{content:\"\\f479\"}.fa-person-through-window:before{content:\"\\e5a9\"}.fa-toolbox:before{content:\"\\f552\"}.fa-hands-holding-circle:before{content:\"\\e4fb\"}.fa-bug:before{content:\"\\f188\"}.fa-credit-card-alt:before,.fa-credit-card:before{content:\"\\f09d\"}.fa-automobile:before,.fa-car:before{content:\"\\f1b9\"}.fa-hand-holding-hand:before{content:\"\\e4f7\"}.fa-book-open-reader:before,.fa-book-reader:before{content:\"\\f5da\"}.fa-mountain-sun:before{content:\"\\e52f\"}.fa-arrows-left-right-to-line:before{content:\"\\e4ba\"}.fa-dice-d20:before{content:\"\\f6cf\"}.fa-truck-droplet:before{content:\"\\e58c\"}.fa-file-circle-xmark:before{content:\"\\e5a1\"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:\"\\e040\"}.fa-medal:before{content:\"\\f5a2\"}.fa-bed:before{content:\"\\f236\"}.fa-h-square:before,.fa-square-h:before{content:\"\\f0fd\"}.fa-podcast:before{content:\"\\f2ce\"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:\"\\f2c7\"}.fa-bell:before{content:\"\\f0f3\"}.fa-superscript:before{content:\"\\f12b\"}.fa-plug-circle-xmark:before{content:\"\\e560\"}.fa-star-of-life:before{content:\"\\f621\"}.fa-phone-slash:before{content:\"\\f3dd\"}.fa-paint-roller:before{content:\"\\f5aa\"}.fa-hands-helping:before,.fa-handshake-angle:before{content:\"\\f4c4\"}.fa-location-dot:before,.fa-map-marker-alt:before{content:\"\\f3c5\"}.fa-file:before{content:\"\\f15b\"}.fa-greater-than:before{content:\"\\3e\"}.fa-person-swimming:before,.fa-swimmer:before{content:\"\\f5c4\"}.fa-arrow-down:before{content:\"\\f063\"}.fa-droplet:before,.fa-tint:before{content:\"\\f043\"}.fa-eraser:before{content:\"\\f12d\"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:\"\\f57d\"}.fa-person-burst:before{content:\"\\e53b\"}.fa-dove:before{content:\"\\f4ba\"}.fa-battery-0:before,.fa-battery-empty:before{content:\"\\f244\"}.fa-socks:before{content:\"\\f696\"}.fa-inbox:before{content:\"\\f01c\"}.fa-section:before{content:\"\\e447\"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:\"\\f625\"}.fa-envelope-open-text:before{content:\"\\f658\"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:\"\\f0f8\"}.fa-wine-bottle:before{content:\"\\f72f\"}.fa-chess-rook:before{content:\"\\f447\"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:\"\\f550\"}.fa-dharmachakra:before{content:\"\\f655\"}.fa-hotdog:before{content:\"\\f80f\"}.fa-blind:before,.fa-person-walking-with-cane:before{content:\"\\f29d\"}.fa-drum:before{content:\"\\f569\"}.fa-ice-cream:before{content:\"\\f810\"}.fa-heart-circle-bolt:before{content:\"\\e4fc\"}.fa-fax:before{content:\"\\f1ac\"}.fa-paragraph:before{content:\"\\f1dd\"}.fa-check-to-slot:before,.fa-vote-yea:before{content:\"\\f772\"}.fa-star-half:before{content:\"\\f089\"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:\"\\f468\"}.fa-chain:before,.fa-link:before{content:\"\\f0c1\"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:\"\\f2a2\"}.fa-tree-city:before{content:\"\\e587\"}.fa-play:before{content:\"\\f04b\"}.fa-font:before{content:\"\\f031\"}.fa-rupiah-sign:before{content:\"\\e23d\"}.fa-magnifying-glass:before,.fa-search:before{content:\"\\f002\"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:\"\\f45d\"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:\"\\f470\"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:\"\\f82a\"}.fa-naira-sign:before{content:\"\\e1f6\"}.fa-cart-arrow-down:before{content:\"\\f218\"}.fa-walkie-talkie:before{content:\"\\f8ef\"}.fa-file-edit:before,.fa-file-pen:before{content:\"\\f31c\"}.fa-receipt:before{content:\"\\f543\"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:\"\\f14b\"}.fa-suitcase-rolling:before{content:\"\\f5c1\"}.fa-person-circle-exclamation:before{content:\"\\e53f\"}.fa-chevron-down:before{content:\"\\f078\"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:\"\\f240\"}.fa-skull-crossbones:before{content:\"\\f714\"}.fa-code-compare:before{content:\"\\e13a\"}.fa-list-dots:before,.fa-list-ul:before{content:\"\\f0ca\"}.fa-school-lock:before{content:\"\\e56f\"}.fa-tower-cell:before{content:\"\\e585\"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:\"\\f309\"}.fa-ranking-star:before{content:\"\\e561\"}.fa-chess-king:before{content:\"\\f43f\"}.fa-person-harassing:before{content:\"\\e549\"}.fa-brazilian-real-sign:before{content:\"\\e46c\"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:\"\\f752\"}.fa-arrow-up:before{content:\"\\f062\"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:\"\\f26c\"}.fa-shrimp:before{content:\"\\e448\"}.fa-list-check:before,.fa-tasks:before{content:\"\\f0ae\"}.fa-jug-detergent:before{content:\"\\e519\"}.fa-circle-user:before,.fa-user-circle:before{content:\"\\f2bd\"}.fa-user-shield:before{content:\"\\f505\"}.fa-wind:before{content:\"\\f72e\"}.fa-car-burst:before,.fa-car-crash:before{content:\"\\f5e1\"}.fa-y:before{content:\"\\59\"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:\"\\f7ce\"}.fa-shipping-fast:before,.fa-truck-fast:before{content:\"\\f48b\"}.fa-fish:before{content:\"\\f578\"}.fa-user-graduate:before{content:\"\\f501\"}.fa-adjust:before,.fa-circle-half-stroke:before{content:\"\\f042\"}.fa-clapperboard:before{content:\"\\e131\"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:\"\\f7ba\"}.fa-baseball-ball:before,.fa-baseball:before{content:\"\\f433\"}.fa-jet-fighter-up:before{content:\"\\e518\"}.fa-diagram-project:before,.fa-project-diagram:before{content:\"\\f542\"}.fa-copy:before{content:\"\\f0c5\"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:\"\\f6a9\"}.fa-hand-sparkles:before{content:\"\\e05d\"}.fa-grip-horizontal:before,.fa-grip:before{content:\"\\f58d\"}.fa-share-from-square:before,.fa-share-square:before{content:\"\\f14d\"}.fa-child-combatant:before,.fa-child-rifle:before{content:\"\\e4e0\"}.fa-gun:before{content:\"\\e19b\"}.fa-phone-square:before,.fa-square-phone:before{content:\"\\f098\"}.fa-add:before,.fa-plus:before{content:\"\\2b\"}.fa-expand:before{content:\"\\f065\"}.fa-computer:before{content:\"\\e4e5\"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:\"\\f00d\"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:\"\\f047\"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:\"\\f51c\"}.fa-peso-sign:before{content:\"\\e222\"}.fa-building-shield:before{content:\"\\e4d8\"}.fa-baby:before{content:\"\\f77c\"}.fa-users-line:before{content:\"\\e592\"}.fa-quote-left-alt:before,.fa-quote-left:before{content:\"\\f10d\"}.fa-tractor:before{content:\"\\f722\"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:\"\\f829\"}.fa-arrow-down-up-lock:before{content:\"\\e4b0\"}.fa-lines-leaning:before{content:\"\\e51e\"}.fa-ruler-combined:before{content:\"\\f546\"}.fa-copyright:before{content:\"\\f1f9\"}.fa-equals:before{content:\"\\3d\"}.fa-blender:before{content:\"\\f517\"}.fa-teeth:before{content:\"\\f62e\"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:\"\\f20b\"}.fa-map:before{content:\"\\f279\"}.fa-rocket:before{content:\"\\f135\"}.fa-photo-film:before,.fa-photo-video:before{content:\"\\f87c\"}.fa-folder-minus:before{content:\"\\f65d\"}.fa-store:before{content:\"\\f54e\"}.fa-arrow-trend-up:before{content:\"\\e098\"}.fa-plug-circle-minus:before{content:\"\\e55e\"}.fa-sign-hanging:before,.fa-sign:before{content:\"\\f4d9\"}.fa-bezier-curve:before{content:\"\\f55b\"}.fa-bell-slash:before{content:\"\\f1f6\"}.fa-tablet-android:before,.fa-tablet:before{content:\"\\f3fb\"}.fa-school-flag:before{content:\"\\e56e\"}.fa-fill:before{content:\"\\f575\"}.fa-angle-up:before{content:\"\\f106\"}.fa-drumstick-bite:before{content:\"\\f6d7\"}.fa-holly-berry:before{content:\"\\f7aa\"}.fa-chevron-left:before{content:\"\\f053\"}.fa-bacteria:before{content:\"\\e059\"}.fa-hand-lizard:before{content:\"\\f258\"}.fa-notdef:before{content:\"\\e1fe\"}.fa-disease:before{content:\"\\f7fa\"}.fa-briefcase-medical:before{content:\"\\f469\"}.fa-genderless:before{content:\"\\f22d\"}.fa-chevron-right:before{content:\"\\f054\"}.fa-retweet:before{content:\"\\f079\"}.fa-car-alt:before,.fa-car-rear:before{content:\"\\f5de\"}.fa-pump-soap:before{content:\"\\e06b\"}.fa-video-slash:before{content:\"\\f4e2\"}.fa-battery-2:before,.fa-battery-quarter:before{content:\"\\f243\"}.fa-radio:before{content:\"\\f8d7\"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:\"\\f77d\"}.fa-traffic-light:before{content:\"\\f637\"}.fa-thermometer:before{content:\"\\f491\"}.fa-vr-cardboard:before{content:\"\\f729\"}.fa-hand-middle-finger:before{content:\"\\f806\"}.fa-percent:before,.fa-percentage:before{content:\"\\25\"}.fa-truck-moving:before{content:\"\\f4df\"}.fa-glass-water-droplet:before{content:\"\\e4f5\"}.fa-display:before{content:\"\\e163\"}.fa-face-smile:before,.fa-smile:before{content:\"\\f118\"}.fa-thumb-tack:before,.fa-thumbtack:before{content:\"\\f08d\"}.fa-trophy:before{content:\"\\f091\"}.fa-person-praying:before,.fa-pray:before{content:\"\\f683\"}.fa-hammer:before{content:\"\\f6e3\"}.fa-hand-peace:before{content:\"\\f25b\"}.fa-rotate:before,.fa-sync-alt:before{content:\"\\f2f1\"}.fa-spinner:before{content:\"\\f110\"}.fa-robot:before{content:\"\\f544\"}.fa-peace:before{content:\"\\f67c\"}.fa-cogs:before,.fa-gears:before{content:\"\\f085\"}.fa-warehouse:before{content:\"\\f494\"}.fa-arrow-up-right-dots:before{content:\"\\e4b7\"}.fa-splotch:before{content:\"\\f5bc\"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:\"\\f584\"}.fa-dice-four:before{content:\"\\f524\"}.fa-sim-card:before{content:\"\\f7c4\"}.fa-transgender-alt:before,.fa-transgender:before{content:\"\\f225\"}.fa-mercury:before{content:\"\\f223\"}.fa-arrow-turn-down:before,.fa-level-down:before{content:\"\\f149\"}.fa-person-falling-burst:before{content:\"\\e547\"}.fa-award:before{content:\"\\f559\"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:\"\\f3ff\"}.fa-building:before{content:\"\\f1ad\"}.fa-angle-double-left:before,.fa-angles-left:before{content:\"\\f100\"}.fa-qrcode:before{content:\"\\f029\"}.fa-clock-rotate-left:before,.fa-history:before{content:\"\\f1da\"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:\"\\f583\"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:\"\\f56e\"}.fa-shield-blank:before,.fa-shield:before{content:\"\\f132\"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:\"\\f885\"}.fa-house-medical:before{content:\"\\e3b2\"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:\"\\f450\"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:\"\\f137\"}.fa-house-chimney-window:before{content:\"\\e00d\"}.fa-pen-nib:before{content:\"\\f5ad\"}.fa-tent-arrow-turn-left:before{content:\"\\e580\"}.fa-tents:before{content:\"\\e582\"}.fa-magic:before,.fa-wand-magic:before{content:\"\\f0d0\"}.fa-dog:before{content:\"\\f6d3\"}.fa-carrot:before{content:\"\\f787\"}.fa-moon:before{content:\"\\f186\"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:\"\\f5ce\"}.fa-cheese:before{content:\"\\f7ef\"}.fa-yin-yang:before{content:\"\\f6ad\"}.fa-music:before{content:\"\\f001\"}.fa-code-commit:before{content:\"\\f386\"}.fa-temperature-low:before{content:\"\\f76b\"}.fa-biking:before,.fa-person-biking:before{content:\"\\f84a\"}.fa-broom:before{content:\"\\f51a\"}.fa-shield-heart:before{content:\"\\e574\"}.fa-gopuram:before{content:\"\\f664\"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:\"\\e47b\"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:\"\\f2d3\"}.fa-hashtag:before{content:\"\\23\"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:\"\\f424\"}.fa-oil-can:before{content:\"\\f613\"}.fa-t:before{content:\"\\54\"}.fa-hippo:before{content:\"\\f6ed\"}.fa-chart-column:before{content:\"\\e0e3\"}.fa-infinity:before{content:\"\\f534\"}.fa-vial-circle-check:before{content:\"\\e596\"}.fa-person-arrow-down-to-line:before{content:\"\\e538\"}.fa-voicemail:before{content:\"\\f897\"}.fa-fan:before{content:\"\\f863\"}.fa-person-walking-luggage:before{content:\"\\e554\"}.fa-arrows-alt-v:before,.fa-up-down:before{content:\"\\f338\"}.fa-cloud-moon-rain:before{content:\"\\f73c\"}.fa-calendar:before{content:\"\\f133\"}.fa-trailer:before{content:\"\\e041\"}.fa-bahai:before,.fa-haykal:before{content:\"\\f666\"}.fa-sd-card:before{content:\"\\f7c2\"}.fa-dragon:before{content:\"\\f6d5\"}.fa-shoe-prints:before{content:\"\\f54b\"}.fa-circle-plus:before,.fa-plus-circle:before{content:\"\\f055\"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:\"\\f58b\"}.fa-hand-holding:before{content:\"\\f4bd\"}.fa-plug-circle-exclamation:before{content:\"\\e55d\"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:\"\\f127\"}.fa-clone:before{content:\"\\f24d\"}.fa-person-walking-arrow-loop-left:before{content:\"\\e551\"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:\"\\f882\"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:\"\\f7e4\"}.fa-tornado:before{content:\"\\f76f\"}.fa-file-circle-plus:before{content:\"\\e494\"}.fa-book-quran:before,.fa-quran:before{content:\"\\f687\"}.fa-anchor:before{content:\"\\f13d\"}.fa-border-all:before{content:\"\\f84c\"}.fa-angry:before,.fa-face-angry:before{content:\"\\f556\"}.fa-cookie-bite:before{content:\"\\f564\"}.fa-arrow-trend-down:before{content:\"\\e097\"}.fa-feed:before,.fa-rss:before{content:\"\\f09e\"}.fa-draw-polygon:before{content:\"\\f5ee\"}.fa-balance-scale:before,.fa-scale-balanced:before{content:\"\\f24e\"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:\"\\f62a\"}.fa-shower:before{content:\"\\f2cc\"}.fa-desktop-alt:before,.fa-desktop:before{content:\"\\f390\"}.fa-m:before{content:\"\\4d\"}.fa-table-list:before,.fa-th-list:before{content:\"\\f00b\"}.fa-comment-sms:before,.fa-sms:before{content:\"\\f7cd\"}.fa-book:before{content:\"\\f02d\"}.fa-user-plus:before{content:\"\\f234\"}.fa-check:before{content:\"\\f00c\"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:\"\\f241\"}.fa-house-circle-check:before{content:\"\\e509\"}.fa-angle-left:before{content:\"\\f104\"}.fa-diagram-successor:before{content:\"\\e47a\"}.fa-truck-arrow-right:before{content:\"\\e58b\"}.fa-arrows-split-up-and-left:before{content:\"\\e4bc\"}.fa-fist-raised:before,.fa-hand-fist:before{content:\"\\f6de\"}.fa-cloud-moon:before{content:\"\\f6c3\"}.fa-briefcase:before{content:\"\\f0b1\"}.fa-person-falling:before{content:\"\\e546\"}.fa-image-portrait:before,.fa-portrait:before{content:\"\\f3e0\"}.fa-user-tag:before{content:\"\\f507\"}.fa-rug:before{content:\"\\e569\"}.fa-earth-europe:before,.fa-globe-europe:before{content:\"\\f7a2\"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:\"\\f59d\"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:\"\\f410\"}.fa-baht-sign:before{content:\"\\e0ac\"}.fa-book-open:before{content:\"\\f518\"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:\"\\f66a\"}.fa-handcuffs:before{content:\"\\e4f8\"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:\"\\f071\"}.fa-database:before{content:\"\\f1c0\"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:\"\\f064\"}.fa-bottle-droplet:before{content:\"\\e4c4\"}.fa-mask-face:before{content:\"\\e1d7\"}.fa-hill-rockslide:before{content:\"\\e508\"}.fa-exchange-alt:before,.fa-right-left:before{content:\"\\f362\"}.fa-paper-plane:before{content:\"\\f1d8\"}.fa-road-circle-exclamation:before{content:\"\\e565\"}.fa-dungeon:before{content:\"\\f6d9\"}.fa-align-right:before{content:\"\\f038\"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:\"\\f53b\"}.fa-life-ring:before{content:\"\\f1cd\"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:\"\\f2a7\"}.fa-calendar-day:before{content:\"\\f783\"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:\"\\f5c5\"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:\"\\f07d\"}.fa-face-grimace:before,.fa-grimace:before{content:\"\\f57f\"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:\"\\e2ce\"}.fa-level-down-alt:before,.fa-turn-down:before{content:\"\\f3be\"}.fa-person-walking-arrow-right:before{content:\"\\e552\"}.fa-envelope-square:before,.fa-square-envelope:before{content:\"\\f199\"}.fa-dice:before{content:\"\\f522\"}.fa-bowling-ball:before{content:\"\\f436\"}.fa-brain:before{content:\"\\f5dc\"}.fa-band-aid:before,.fa-bandage:before{content:\"\\f462\"}.fa-calendar-minus:before{content:\"\\f272\"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:\"\\f057\"}.fa-gifts:before{content:\"\\f79c\"}.fa-hotel:before{content:\"\\f594\"}.fa-earth-asia:before,.fa-globe-asia:before{content:\"\\f57e\"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:\"\\f47f\"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:\"\\f00e\"}.fa-thumbs-up:before{content:\"\\f164\"}.fa-user-clock:before{content:\"\\f4fd\"}.fa-allergies:before,.fa-hand-dots:before{content:\"\\f461\"}.fa-file-invoice:before{content:\"\\f570\"}.fa-window-minimize:before{content:\"\\f2d1\"}.fa-coffee:before,.fa-mug-saucer:before{content:\"\\f0f4\"}.fa-brush:before{content:\"\\f55d\"}.fa-mask:before{content:\"\\f6fa\"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:\"\\f010\"}.fa-ruler-vertical:before{content:\"\\f548\"}.fa-user-alt:before,.fa-user-large:before{content:\"\\f406\"}.fa-train-tram:before{content:\"\\e5b4\"}.fa-user-nurse:before{content:\"\\f82f\"}.fa-syringe:before{content:\"\\f48e\"}.fa-cloud-sun:before{content:\"\\f6c4\"}.fa-stopwatch-20:before{content:\"\\e06f\"}.fa-square-full:before{content:\"\\f45c\"}.fa-magnet:before{content:\"\\f076\"}.fa-jar:before{content:\"\\e516\"}.fa-note-sticky:before,.fa-sticky-note:before{content:\"\\f249\"}.fa-bug-slash:before{content:\"\\e490\"}.fa-arrow-up-from-water-pump:before{content:\"\\e4b6\"}.fa-bone:before{content:\"\\f5d7\"}.fa-user-injured:before{content:\"\\f728\"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:\"\\f5b4\"}.fa-plane:before{content:\"\\f072\"}.fa-tent-arrows-down:before{content:\"\\e581\"}.fa-exclamation:before{content:\"\\21\"}.fa-arrows-spin:before{content:\"\\e4bb\"}.fa-print:before{content:\"\\f02f\"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:\"\\e2bb\"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:\"\\24\"}.fa-x:before{content:\"\\58\"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:\"\\f688\"}.fa-users-cog:before,.fa-users-gear:before{content:\"\\f509\"}.fa-person-military-pointing:before{content:\"\\e54a\"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:\"\\f19c\"}.fa-umbrella:before{content:\"\\f0e9\"}.fa-trowel:before{content:\"\\e589\"}.fa-d:before{content:\"\\44\"}.fa-stapler:before{content:\"\\e5af\"}.fa-masks-theater:before,.fa-theater-masks:before{content:\"\\f630\"}.fa-kip-sign:before{content:\"\\e1c4\"}.fa-hand-point-left:before{content:\"\\f0a5\"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:\"\\f4c6\"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:\"\\f0fb\"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:\"\\f1e1\"}.fa-barcode:before{content:\"\\f02a\"}.fa-plus-minus:before{content:\"\\e43c\"}.fa-video-camera:before,.fa-video:before{content:\"\\f03d\"}.fa-graduation-cap:before,.fa-mortar-board:before{content:\"\\f19d\"}.fa-hand-holding-medical:before{content:\"\\e05c\"}.fa-person-circle-check:before{content:\"\\e53e\"}.fa-level-up-alt:before,.fa-turn-up:before{content:\"\\f3bf\"}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":".fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:\"Font Awesome 6 Brands\";--fa-font-brands:normal 400 1em/1 \"Font Awesome 6 Brands\"}@font-face{font-family:\"Font Awesome 6 Brands\";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format(\"woff2\"),url(../webfonts/fa-brands-400.ttf) format(\"truetype\")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:\"\\f3d0\"}.fa-hooli:before{content:\"\\f427\"}.fa-yelp:before{content:\"\\f1e9\"}.fa-cc-visa:before{content:\"\\f1f0\"}.fa-lastfm:before{content:\"\\f202\"}.fa-shopware:before{content:\"\\f5b5\"}.fa-creative-commons-nc:before{content:\"\\f4e8\"}.fa-aws:before{content:\"\\f375\"}.fa-redhat:before{content:\"\\f7bc\"}.fa-yoast:before{content:\"\\f2b1\"}.fa-cloudflare:before{content:\"\\e07d\"}.fa-ups:before{content:\"\\f7e0\"}.fa-wpexplorer:before{content:\"\\f2de\"}.fa-dyalog:before{content:\"\\f399\"}.fa-bity:before{content:\"\\f37a\"}.fa-stackpath:before{content:\"\\f842\"}.fa-buysellads:before{content:\"\\f20d\"}.fa-first-order:before{content:\"\\f2b0\"}.fa-modx:before{content:\"\\f285\"}.fa-guilded:before{content:\"\\e07e\"}.fa-vnv:before{content:\"\\f40b\"}.fa-js-square:before,.fa-square-js:before{content:\"\\f3b9\"}.fa-microsoft:before{content:\"\\f3ca\"}.fa-qq:before{content:\"\\f1d6\"}.fa-orcid:before{content:\"\\f8d2\"}.fa-java:before{content:\"\\f4e4\"}.fa-invision:before{content:\"\\f7b0\"}.fa-creative-commons-pd-alt:before{content:\"\\f4ed\"}.fa-centercode:before{content:\"\\f380\"}.fa-glide-g:before{content:\"\\f2a6\"}.fa-drupal:before{content:\"\\f1a9\"}.fa-hire-a-helper:before{content:\"\\f3b0\"}.fa-creative-commons-by:before{content:\"\\f4e7\"}.fa-unity:before{content:\"\\e049\"}.fa-whmcs:before{content:\"\\f40d\"}.fa-rocketchat:before{content:\"\\f3e8\"}.fa-vk:before{content:\"\\f189\"}.fa-untappd:before{content:\"\\f405\"}.fa-mailchimp:before{content:\"\\f59e\"}.fa-css3-alt:before{content:\"\\f38b\"}.fa-reddit-square:before,.fa-square-reddit:before{content:\"\\f1a2\"}.fa-vimeo-v:before{content:\"\\f27d\"}.fa-contao:before{content:\"\\f26d\"}.fa-square-font-awesome:before{content:\"\\e5ad\"}.fa-deskpro:before{content:\"\\f38f\"}.fa-sistrix:before{content:\"\\f3ee\"}.fa-instagram-square:before,.fa-square-instagram:before{content:\"\\e055\"}.fa-battle-net:before{content:\"\\f835\"}.fa-the-red-yeti:before{content:\"\\f69d\"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:\"\\f3af\"}.fa-edge:before{content:\"\\f282\"}.fa-napster:before{content:\"\\f3d2\"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:\"\\f2ad\"}.fa-google-plus-g:before{content:\"\\f0d5\"}.fa-artstation:before{content:\"\\f77a\"}.fa-markdown:before{content:\"\\f60f\"}.fa-sourcetree:before{content:\"\\f7d3\"}.fa-google-plus:before{content:\"\\f2b3\"}.fa-diaspora:before{content:\"\\f791\"}.fa-foursquare:before{content:\"\\f180\"}.fa-stack-overflow:before{content:\"\\f16c\"}.fa-github-alt:before{content:\"\\f113\"}.fa-phoenix-squadron:before{content:\"\\f511\"}.fa-pagelines:before{content:\"\\f18c\"}.fa-algolia:before{content:\"\\f36c\"}.fa-red-river:before{content:\"\\f3e3\"}.fa-creative-commons-sa:before{content:\"\\f4ef\"}.fa-safari:before{content:\"\\f267\"}.fa-google:before{content:\"\\f1a0\"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:\"\\f35c\"}.fa-atlassian:before{content:\"\\f77b\"}.fa-linkedin-in:before{content:\"\\f0e1\"}.fa-digital-ocean:before{content:\"\\f391\"}.fa-nimblr:before{content:\"\\f5a8\"}.fa-chromecast:before{content:\"\\f838\"}.fa-evernote:before{content:\"\\f839\"}.fa-hacker-news:before{content:\"\\f1d4\"}.fa-creative-commons-sampling:before{content:\"\\f4f0\"}.fa-adversal:before{content:\"\\f36a\"}.fa-creative-commons:before{content:\"\\f25e\"}.fa-watchman-monitoring:before{content:\"\\e087\"}.fa-fonticons:before{content:\"\\f280\"}.fa-weixin:before{content:\"\\f1d7\"}.fa-shirtsinbulk:before{content:\"\\f214\"}.fa-codepen:before{content:\"\\f1cb\"}.fa-git-alt:before{content:\"\\f841\"}.fa-lyft:before{content:\"\\f3c3\"}.fa-rev:before{content:\"\\f5b2\"}.fa-windows:before{content:\"\\f17a\"}.fa-wizards-of-the-coast:before{content:\"\\f730\"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:\"\\f2aa\"}.fa-meetup:before{content:\"\\f2e0\"}.fa-centos:before{content:\"\\f789\"}.fa-adn:before{content:\"\\f170\"}.fa-cloudsmith:before{content:\"\\f384\"}.fa-pied-piper-alt:before{content:\"\\f1a8\"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:\"\\f397\"}.fa-codiepie:before{content:\"\\f284\"}.fa-node:before{content:\"\\f419\"}.fa-mix:before{content:\"\\f3cb\"}.fa-steam:before{content:\"\\f1b6\"}.fa-cc-apple-pay:before{content:\"\\f416\"}.fa-scribd:before{content:\"\\f28a\"}.fa-openid:before{content:\"\\f19b\"}.fa-instalod:before{content:\"\\e081\"}.fa-expeditedssl:before{content:\"\\f23e\"}.fa-sellcast:before{content:\"\\f2da\"}.fa-square-twitter:before,.fa-twitter-square:before{content:\"\\f081\"}.fa-r-project:before{content:\"\\f4f7\"}.fa-delicious:before{content:\"\\f1a5\"}.fa-freebsd:before{content:\"\\f3a4\"}.fa-vuejs:before{content:\"\\f41f\"}.fa-accusoft:before{content:\"\\f369\"}.fa-ioxhost:before{content:\"\\f208\"}.fa-fonticons-fi:before{content:\"\\f3a2\"}.fa-app-store:before{content:\"\\f36f\"}.fa-cc-mastercard:before{content:\"\\f1f1\"}.fa-itunes-note:before{content:\"\\f3b5\"}.fa-golang:before{content:\"\\e40f\"}.fa-kickstarter:before{content:\"\\f3bb\"}.fa-grav:before{content:\"\\f2d6\"}.fa-weibo:before{content:\"\\f18a\"}.fa-uncharted:before{content:\"\\e084\"}.fa-firstdraft:before{content:\"\\f3a1\"}.fa-square-youtube:before,.fa-youtube-square:before{content:\"\\f431\"}.fa-wikipedia-w:before{content:\"\\f266\"}.fa-rendact:before,.fa-wpressr:before{content:\"\\f3e4\"}.fa-angellist:before{content:\"\\f209\"}.fa-galactic-republic:before{content:\"\\f50c\"}.fa-nfc-directional:before{content:\"\\e530\"}.fa-skype:before{content:\"\\f17e\"}.fa-joget:before{content:\"\\f3b7\"}.fa-fedora:before{content:\"\\f798\"}.fa-stripe-s:before{content:\"\\f42a\"}.fa-meta:before{content:\"\\e49b\"}.fa-laravel:before{content:\"\\f3bd\"}.fa-hotjar:before{content:\"\\f3b1\"}.fa-bluetooth-b:before{content:\"\\f294\"}.fa-sticker-mule:before{content:\"\\f3f7\"}.fa-creative-commons-zero:before{content:\"\\f4f3\"}.fa-hips:before{content:\"\\f452\"}.fa-behance:before{content:\"\\f1b4\"}.fa-reddit:before{content:\"\\f1a1\"}.fa-discord:before{content:\"\\f392\"}.fa-chrome:before{content:\"\\f268\"}.fa-app-store-ios:before{content:\"\\f370\"}.fa-cc-discover:before{content:\"\\f1f2\"}.fa-wpbeginner:before{content:\"\\f297\"}.fa-confluence:before{content:\"\\f78d\"}.fa-mdb:before{content:\"\\f8ca\"}.fa-dochub:before{content:\"\\f394\"}.fa-accessible-icon:before{content:\"\\f368\"}.fa-ebay:before{content:\"\\f4f4\"}.fa-amazon:before{content:\"\\f270\"}.fa-unsplash:before{content:\"\\e07c\"}.fa-yarn:before{content:\"\\f7e3\"}.fa-square-steam:before,.fa-steam-square:before{content:\"\\f1b7\"}.fa-500px:before{content:\"\\f26e\"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:\"\\f194\"}.fa-asymmetrik:before{content:\"\\f372\"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:\"\\f2b4\"}.fa-gratipay:before{content:\"\\f184\"}.fa-apple:before{content:\"\\f179\"}.fa-hive:before{content:\"\\e07f\"}.fa-gitkraken:before{content:\"\\f3a6\"}.fa-keybase:before{content:\"\\f4f5\"}.fa-apple-pay:before{content:\"\\f415\"}.fa-padlet:before{content:\"\\e4a0\"}.fa-amazon-pay:before{content:\"\\f42c\"}.fa-github-square:before,.fa-square-github:before{content:\"\\f092\"}.fa-stumbleupon:before{content:\"\\f1a4\"}.fa-fedex:before{content:\"\\f797\"}.fa-phoenix-framework:before{content:\"\\f3dc\"}.fa-shopify:before{content:\"\\e057\"}.fa-neos:before{content:\"\\f612\"}.fa-hackerrank:before{content:\"\\f5f7\"}.fa-researchgate:before{content:\"\\f4f8\"}.fa-swift:before{content:\"\\f8e1\"}.fa-angular:before{content:\"\\f420\"}.fa-speakap:before{content:\"\\f3f3\"}.fa-angrycreative:before{content:\"\\f36e\"}.fa-y-combinator:before{content:\"\\f23b\"}.fa-empire:before{content:\"\\f1d1\"}.fa-envira:before{content:\"\\f299\"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:\"\\e5ae\"}.fa-studiovinari:before{content:\"\\f3f8\"}.fa-pied-piper:before{content:\"\\f2ae\"}.fa-wordpress:before{content:\"\\f19a\"}.fa-product-hunt:before{content:\"\\f288\"}.fa-firefox:before{content:\"\\f269\"}.fa-linode:before{content:\"\\f2b8\"}.fa-goodreads:before{content:\"\\f3a8\"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:\"\\f264\"}.fa-jsfiddle:before{content:\"\\f1cc\"}.fa-sith:before{content:\"\\f512\"}.fa-themeisle:before{content:\"\\f2b2\"}.fa-page4:before{content:\"\\f3d7\"}.fa-hashnode:before{content:\"\\e499\"}.fa-react:before{content:\"\\f41b\"}.fa-cc-paypal:before{content:\"\\f1f4\"}.fa-squarespace:before{content:\"\\f5be\"}.fa-cc-stripe:before{content:\"\\f1f5\"}.fa-creative-commons-share:before{content:\"\\f4f2\"}.fa-bitcoin:before{content:\"\\f379\"}.fa-keycdn:before{content:\"\\f3ba\"}.fa-opera:before{content:\"\\f26a\"}.fa-itch-io:before{content:\"\\f83a\"}.fa-umbraco:before{content:\"\\f8e8\"}.fa-galactic-senate:before{content:\"\\f50d\"}.fa-ubuntu:before{content:\"\\f7df\"}.fa-draft2digital:before{content:\"\\f396\"}.fa-stripe:before{content:\"\\f429\"}.fa-houzz:before{content:\"\\f27c\"}.fa-gg:before{content:\"\\f260\"}.fa-dhl:before{content:\"\\f790\"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:\"\\f0d3\"}.fa-xing:before{content:\"\\f168\"}.fa-blackberry:before{content:\"\\f37b\"}.fa-creative-commons-pd:before{content:\"\\f4ec\"}.fa-playstation:before{content:\"\\f3df\"}.fa-quinscape:before{content:\"\\f459\"}.fa-less:before{content:\"\\f41d\"}.fa-blogger-b:before{content:\"\\f37d\"}.fa-opencart:before{content:\"\\f23d\"}.fa-vine:before{content:\"\\f1ca\"}.fa-paypal:before{content:\"\\f1ed\"}.fa-gitlab:before{content:\"\\f296\"}.fa-typo3:before{content:\"\\f42b\"}.fa-reddit-alien:before{content:\"\\f281\"}.fa-yahoo:before{content:\"\\f19e\"}.fa-dailymotion:before{content:\"\\e052\"}.fa-affiliatetheme:before{content:\"\\f36b\"}.fa-pied-piper-pp:before{content:\"\\f1a7\"}.fa-bootstrap:before{content:\"\\f836\"}.fa-odnoklassniki:before{content:\"\\f263\"}.fa-nfc-symbol:before{content:\"\\e531\"}.fa-ethereum:before{content:\"\\f42e\"}.fa-speaker-deck:before{content:\"\\f83c\"}.fa-creative-commons-nc-eu:before{content:\"\\f4e9\"}.fa-patreon:before{content:\"\\f3d9\"}.fa-avianex:before{content:\"\\f374\"}.fa-ello:before{content:\"\\f5f1\"}.fa-gofore:before{content:\"\\f3a7\"}.fa-bimobject:before{content:\"\\f378\"}.fa-facebook-f:before{content:\"\\f39e\"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:\"\\f0d4\"}.fa-mandalorian:before{content:\"\\f50f\"}.fa-first-order-alt:before{content:\"\\f50a\"}.fa-osi:before{content:\"\\f41a\"}.fa-google-wallet:before{content:\"\\f1ee\"}.fa-d-and-d-beyond:before{content:\"\\f6ca\"}.fa-periscope:before{content:\"\\f3da\"}.fa-fulcrum:before{content:\"\\f50b\"}.fa-cloudscale:before{content:\"\\f383\"}.fa-forumbee:before{content:\"\\f211\"}.fa-mizuni:before{content:\"\\f3cc\"}.fa-schlix:before{content:\"\\f3ea\"}.fa-square-xing:before,.fa-xing-square:before{content:\"\\f169\"}.fa-bandcamp:before{content:\"\\f2d5\"}.fa-wpforms:before{content:\"\\f298\"}.fa-cloudversify:before{content:\"\\f385\"}.fa-usps:before{content:\"\\f7e1\"}.fa-megaport:before{content:\"\\f5a3\"}.fa-magento:before{content:\"\\f3c4\"}.fa-spotify:before{content:\"\\f1bc\"}.fa-optin-monster:before{content:\"\\f23c\"}.fa-fly:before{content:\"\\f417\"}.fa-aviato:before{content:\"\\f421\"}.fa-itunes:before{content:\"\\f3b4\"}.fa-cuttlefish:before{content:\"\\f38c\"}.fa-blogger:before{content:\"\\f37c\"}.fa-flickr:before{content:\"\\f16e\"}.fa-viber:before{content:\"\\f409\"}.fa-soundcloud:before{content:\"\\f1be\"}.fa-digg:before{content:\"\\f1a6\"}.fa-tencent-weibo:before{content:\"\\f1d5\"}.fa-symfony:before{content:\"\\f83d\"}.fa-maxcdn:before{content:\"\\f136\"}.fa-etsy:before{content:\"\\f2d7\"}.fa-facebook-messenger:before{content:\"\\f39f\"}.fa-audible:before{content:\"\\f373\"}.fa-think-peaks:before{content:\"\\f731\"}.fa-bilibili:before{content:\"\\e3d9\"}.fa-erlang:before{content:\"\\f39d\"}.fa-cotton-bureau:before{content:\"\\f89e\"}.fa-dashcube:before{content:\"\\f210\"}.fa-42-group:before,.fa-innosoft:before{content:\"\\e080\"}.fa-stack-exchange:before{content:\"\\f18d\"}.fa-elementor:before{content:\"\\f430\"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:\"\\e01e\"}.fa-creative-commons-nd:before{content:\"\\f4eb\"}.fa-palfed:before{content:\"\\f3d8\"}.fa-superpowers:before{content:\"\\f2dd\"}.fa-resolving:before{content:\"\\f3e7\"}.fa-xbox:before{content:\"\\f412\"}.fa-searchengin:before{content:\"\\f3eb\"}.fa-tiktok:before{content:\"\\e07b\"}.fa-facebook-square:before,.fa-square-facebook:before{content:\"\\f082\"}.fa-renren:before{content:\"\\f18b\"}.fa-linux:before{content:\"\\f17c\"}.fa-glide:before{content:\"\\f2a5\"}.fa-linkedin:before{content:\"\\f08c\"}.fa-hubspot:before{content:\"\\f3b2\"}.fa-deploydog:before{content:\"\\f38e\"}.fa-twitch:before{content:\"\\f1e8\"}.fa-ravelry:before{content:\"\\f2d9\"}.fa-mixer:before{content:\"\\e056\"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:\"\\f203\"}.fa-vimeo:before{content:\"\\f40a\"}.fa-mendeley:before{content:\"\\f7b3\"}.fa-uniregistry:before{content:\"\\f404\"}.fa-figma:before{content:\"\\f799\"}.fa-creative-commons-remix:before{content:\"\\f4ee\"}.fa-cc-amazon-pay:before{content:\"\\f42d\"}.fa-dropbox:before{content:\"\\f16b\"}.fa-instagram:before{content:\"\\f16d\"}.fa-cmplid:before{content:\"\\e360\"}.fa-facebook:before{content:\"\\f09a\"}.fa-gripfire:before{content:\"\\f3ac\"}.fa-jedi-order:before{content:\"\\f50e\"}.fa-uikit:before{content:\"\\f403\"}.fa-fort-awesome-alt:before{content:\"\\f3a3\"}.fa-phabricator:before{content:\"\\f3db\"}.fa-ussunnah:before{content:\"\\f407\"}.fa-earlybirds:before{content:\"\\f39a\"}.fa-trade-federation:before{content:\"\\f513\"}.fa-autoprefixer:before{content:\"\\f41c\"}.fa-whatsapp:before{content:\"\\f232\"}.fa-slideshare:before{content:\"\\f1e7\"}.fa-google-play:before{content:\"\\f3ab\"}.fa-viadeo:before{content:\"\\f2a9\"}.fa-line:before{content:\"\\f3c0\"}.fa-google-drive:before{content:\"\\f3aa\"}.fa-servicestack:before{content:\"\\f3ec\"}.fa-simplybuilt:before{content:\"\\f215\"}.fa-bitbucket:before{content:\"\\f171\"}.fa-imdb:before{content:\"\\f2d8\"}.fa-deezer:before{content:\"\\e077\"}.fa-raspberry-pi:before{content:\"\\f7bb\"}.fa-jira:before{content:\"\\f7b1\"}.fa-docker:before{content:\"\\f395\"}.fa-screenpal:before{content:\"\\e570\"}.fa-bluetooth:before{content:\"\\f293\"}.fa-gitter:before{content:\"\\f426\"}.fa-d-and-d:before{content:\"\\f38d\"}.fa-microblog:before{content:\"\\e01a\"}.fa-cc-diners-club:before{content:\"\\f24c\"}.fa-gg-circle:before{content:\"\\f261\"}.fa-pied-piper-hat:before{content:\"\\f4e5\"}.fa-kickstarter-k:before{content:\"\\f3bc\"}.fa-yandex:before{content:\"\\f413\"}.fa-readme:before{content:\"\\f4d5\"}.fa-html5:before{content:\"\\f13b\"}.fa-sellsy:before{content:\"\\f213\"}.fa-sass:before{content:\"\\f41e\"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:\"\\e2d0\"}.fa-buromobelexperte:before{content:\"\\f37f\"}.fa-salesforce:before{content:\"\\f83b\"}.fa-octopus-deploy:before{content:\"\\e082\"}.fa-medapps:before{content:\"\\f3c6\"}.fa-ns8:before{content:\"\\f3d5\"}.fa-pinterest-p:before{content:\"\\f231\"}.fa-apper:before{content:\"\\f371\"}.fa-fort-awesome:before{content:\"\\f286\"}.fa-waze:before{content:\"\\f83f\"}.fa-cc-jcb:before{content:\"\\f24b\"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:\"\\f2ab\"}.fa-fantasy-flight-games:before{content:\"\\f6dc\"}.fa-rust:before{content:\"\\e07a\"}.fa-wix:before{content:\"\\f5cf\"}.fa-behance-square:before,.fa-square-behance:before{content:\"\\f1b5\"}.fa-supple:before{content:\"\\f3f9\"}.fa-rebel:before{content:\"\\f1d0\"}.fa-css3:before{content:\"\\f13c\"}.fa-staylinked:before{content:\"\\f3f5\"}.fa-kaggle:before{content:\"\\f5fa\"}.fa-space-awesome:before{content:\"\\e5ac\"}.fa-deviantart:before{content:\"\\f1bd\"}.fa-cpanel:before{content:\"\\f388\"}.fa-goodreads-g:before{content:\"\\f3a9\"}.fa-git-square:before,.fa-square-git:before{content:\"\\f1d2\"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:\"\\f174\"}.fa-trello:before{content:\"\\f181\"}.fa-creative-commons-nc-jp:before{content:\"\\f4ea\"}.fa-get-pocket:before{content:\"\\f265\"}.fa-perbyte:before{content:\"\\e083\"}.fa-grunt:before{content:\"\\f3ad\"}.fa-weebly:before{content:\"\\f5cc\"}.fa-connectdevelop:before{content:\"\\f20e\"}.fa-leanpub:before{content:\"\\f212\"}.fa-black-tie:before{content:\"\\f27e\"}.fa-themeco:before{content:\"\\f5c6\"}.fa-python:before{content:\"\\f3e2\"}.fa-android:before{content:\"\\f17b\"}.fa-bots:before{content:\"\\e340\"}.fa-free-code-camp:before{content:\"\\f2c5\"}.fa-hornbill:before{content:\"\\f592\"}.fa-js:before{content:\"\\f3b8\"}.fa-ideal:before{content:\"\\e013\"}.fa-git:before{content:\"\\f1d3\"}.fa-dev:before{content:\"\\f6cc\"}.fa-sketch:before{content:\"\\f7c6\"}.fa-yandex-international:before{content:\"\\f414\"}.fa-cc-amex:before{content:\"\\f1f3\"}.fa-uber:before{content:\"\\f402\"}.fa-github:before{content:\"\\f09b\"}.fa-php:before{content:\"\\f457\"}.fa-alipay:before{content:\"\\f642\"}.fa-youtube:before{content:\"\\f167\"}.fa-skyatlas:before{content:\"\\f216\"}.fa-firefox-browser:before{content:\"\\e007\"}.fa-replyd:before{content:\"\\f3e6\"}.fa-suse:before{content:\"\\f7d6\"}.fa-jenkins:before{content:\"\\f3b6\"}.fa-twitter:before{content:\"\\f099\"}.fa-rockrms:before{content:\"\\f3e9\"}.fa-pinterest:before{content:\"\\f0d2\"}.fa-buffer:before{content:\"\\f837\"}.fa-npm:before{content:\"\\f3d4\"}.fa-yammer:before{content:\"\\f840\"}.fa-btc:before{content:\"\\f15a\"}.fa-dribbble:before{content:\"\\f17d\"}.fa-stumbleupon-circle:before{content:\"\\f1a3\"}.fa-internet-explorer:before{content:\"\\f26b\"}.fa-stubber:before{content:\"\\e5c7\"}.fa-telegram-plane:before,.fa-telegram:before{content:\"\\f2c6\"}.fa-old-republic:before{content:\"\\f510\"}.fa-odysee:before{content:\"\\e5c6\"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:\"\\f40c\"}.fa-node-js:before{content:\"\\f3d3\"}.fa-edge-legacy:before{content:\"\\e078\"}.fa-slack-hash:before,.fa-slack:before{content:\"\\f198\"}.fa-medrt:before{content:\"\\f3c8\"}.fa-usb:before{content:\"\\f287\"}.fa-tumblr:before{content:\"\\f173\"}.fa-vaadin:before{content:\"\\f408\"}.fa-quora:before{content:\"\\f2c4\"}.fa-reacteurope:before{content:\"\\f75d\"}.fa-medium-m:before,.fa-medium:before{content:\"\\f23a\"}.fa-amilia:before{content:\"\\f36d\"}.fa-mixcloud:before{content:\"\\f289\"}.fa-flipboard:before{content:\"\\f44d\"}.fa-viacoin:before{content:\"\\f237\"}.fa-critical-role:before{content:\"\\f6c9\"}.fa-sitrox:before{content:\"\\e44a\"}.fa-discourse:before{content:\"\\f393\"}.fa-joomla:before{content:\"\\f1aa\"}.fa-mastodon:before{content:\"\\f4f6\"}.fa-airbnb:before{content:\"\\f834\"}.fa-wolf-pack-battalion:before{content:\"\\f514\"}.fa-buy-n-large:before{content:\"\\f8a6\"}.fa-gulp:before{content:\"\\f3ae\"}.fa-creative-commons-sampling-plus:before{content:\"\\f4f1\"}.fa-strava:before{content:\"\\f428\"}.fa-ember:before{content:\"\\f423\"}.fa-canadian-maple-leaf:before{content:\"\\f785\"}.fa-teamspeak:before{content:\"\\f4f9\"}.fa-pushed:before{content:\"\\f3e1\"}.fa-wordpress-simple:before{content:\"\\f411\"}.fa-nutritionix:before{content:\"\\f3d6\"}.fa-wodu:before{content:\"\\e088\"}.fa-google-pay:before{content:\"\\e079\"}.fa-intercom:before{content:\"\\f7af\"}.fa-zhihu:before{content:\"\\f63f\"}.fa-korvue:before{content:\"\\f42f\"}.fa-pix:before{content:\"\\e43a\"}.fa-steam-symbol:before{content:\"\\f3f6\"}:host,:root{--fa-font-regular:normal 400 1em/1 \"Font Awesome 6 Free\"}@font-face{font-family:\"Font Awesome 6 Free\";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format(\"woff2\"),url(../webfonts/fa-regular-400.ttf) format(\"truetype\")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:\"Font Awesome 6 Free\";--fa-font-solid:normal 900 1em/1 \"Font Awesome 6 Free\"}@font-face{font-family:\"Font Awesome 6 Free\";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format(\"woff2\"),url(../webfonts/fa-solid-900.ttf) format(\"truetype\")}.fa-solid,.fas{font-weight:900}@font-face{font-family:\"Font Awesome 5 Brands\";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format(\"woff2\"),url(../webfonts/fa-brands-400.ttf) format(\"truetype\")}@font-face{font-family:\"Font Awesome 5 Free\";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format(\"woff2\"),url(../webfonts/fa-solid-900.ttf) format(\"truetype\")}@font-face{font-family:\"Font Awesome 5 Free\";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format(\"woff2\"),url(../webfonts/fa-regular-400.ttf) format(\"truetype\")}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format(\"woff2\"),url(../webfonts/fa-solid-900.ttf) format(\"truetype\")}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format(\"woff2\"),url(../webfonts/fa-brands-400.ttf) format(\"truetype\")}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format(\"woff2\"),url(../webfonts/fa-regular-400.ttf) format(\"truetype\");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format(\"woff2\"),url(../webfonts/fa-v4compatibility.ttf) format(\"truetype\");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}"}],"authorContributionMap":{"KevinEyo1":9}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/glyphicons/css/bootstrap-glyphicons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" * Bootstrap v3.3.7 (http://getbootstrap.com)"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" * Copyright 2011-2016 Twitter, Inc."},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" */"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"/*!"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id\u003d76290a4e23bf2c3f61a4e17625be4627)"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" * Config saved to config.json and https://gist.github.com/76290a4e23bf2c3f61a4e17625be4627"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" */"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"/*!"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" * Bootstrap v3.3.7 (http://getbootstrap.com)"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" * Copyright 2011-2016 Twitter, Inc."},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" */"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"@font-face{font-family:\u0027Glyphicons Halflings\u0027;src:url(../fonts/glyphicons-halflings-regular.eot);src:url(\u0027../fonts/glyphicons-halflings-regular.eot?#iefix\u0027) format(\u0027embedded-opentype\u0027),url(../fonts/glyphicons-halflings-regular.woff2) format(\u0027woff2\u0027),url(../fonts/glyphicons-halflings-regular.woff) format(\u0027woff\u0027),url(../fonts/glyphicons-halflings-regular.ttf) format(\u0027truetype\u0027),url(\u0027../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\u0027) format(\u0027svg\u0027)}.glyphicon{position:relative;top:1px;display:inline-block;font-family:\u0027Glyphicons Halflings\u0027;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:\"\\002a\"}.glyphicon-plus:before{content:\"\\002b\"}.glyphicon-euro:before,.glyphicon-eur:before{content:\"\\20ac\"}.glyphicon-minus:before{content:\"\\2212\"}.glyphicon-cloud:before{content:\"\\2601\"}.glyphicon-envelope:before{content:\"\\2709\"}.glyphicon-pencil:before{content:\"\\270f\"}.glyphicon-glass:before{content:\"\\e001\"}.glyphicon-music:before{content:\"\\e002\"}.glyphicon-search:before{content:\"\\e003\"}.glyphicon-heart:before{content:\"\\e005\"}.glyphicon-star:before{content:\"\\e006\"}.glyphicon-star-empty:before{content:\"\\e007\"}.glyphicon-user:before{content:\"\\e008\"}.glyphicon-film:before{content:\"\\e009\"}.glyphicon-th-large:before{content:\"\\e010\"}.glyphicon-th:before{content:\"\\e011\"}.glyphicon-th-list:before{content:\"\\e012\"}.glyphicon-ok:before{content:\"\\e013\"}.glyphicon-remove:before{content:\"\\e014\"}.glyphicon-zoom-in:before{content:\"\\e015\"}.glyphicon-zoom-out:before{content:\"\\e016\"}.glyphicon-off:before{content:\"\\e017\"}.glyphicon-signal:before{content:\"\\e018\"}.glyphicon-cog:before{content:\"\\e019\"}.glyphicon-trash:before{content:\"\\e020\"}.glyphicon-home:before{content:\"\\e021\"}.glyphicon-file:before{content:\"\\e022\"}.glyphicon-time:before{content:\"\\e023\"}.glyphicon-road:before{content:\"\\e024\"}.glyphicon-download-alt:before{content:\"\\e025\"}.glyphicon-download:before{content:\"\\e026\"}.glyphicon-upload:before{content:\"\\e027\"}.glyphicon-inbox:before{content:\"\\e028\"}.glyphicon-play-circle:before{content:\"\\e029\"}.glyphicon-repeat:before{content:\"\\e030\"}.glyphicon-refresh:before{content:\"\\e031\"}.glyphicon-list-alt:before{content:\"\\e032\"}.glyphicon-lock:before{content:\"\\e033\"}.glyphicon-flag:before{content:\"\\e034\"}.glyphicon-headphones:before{content:\"\\e035\"}.glyphicon-volume-off:before{content:\"\\e036\"}.glyphicon-volume-down:before{content:\"\\e037\"}.glyphicon-volume-up:before{content:\"\\e038\"}.glyphicon-qrcode:before{content:\"\\e039\"}.glyphicon-barcode:before{content:\"\\e040\"}.glyphicon-tag:before{content:\"\\e041\"}.glyphicon-tags:before{content:\"\\e042\"}.glyphicon-book:before{content:\"\\e043\"}.glyphicon-bookmark:before{content:\"\\e044\"}.glyphicon-print:before{content:\"\\e045\"}.glyphicon-camera:before{content:\"\\e046\"}.glyphicon-font:before{content:\"\\e047\"}.glyphicon-bold:before{content:\"\\e048\"}.glyphicon-italic:before{content:\"\\e049\"}.glyphicon-text-height:before{content:\"\\e050\"}.glyphicon-text-width:before{content:\"\\e051\"}.glyphicon-align-left:before{content:\"\\e052\"}.glyphicon-align-center:before{content:\"\\e053\"}.glyphicon-align-right:before{content:\"\\e054\"}.glyphicon-align-justify:before{content:\"\\e055\"}.glyphicon-list:before{content:\"\\e056\"}.glyphicon-indent-left:before{content:\"\\e057\"}.glyphicon-indent-right:before{content:\"\\e058\"}.glyphicon-facetime-video:before{content:\"\\e059\"}.glyphicon-picture:before{content:\"\\e060\"}.glyphicon-map-marker:before{content:\"\\e062\"}.glyphicon-adjust:before{content:\"\\e063\"}.glyphicon-tint:before{content:\"\\e064\"}.glyphicon-edit:before{content:\"\\e065\"}.glyphicon-share:before{content:\"\\e066\"}.glyphicon-check:before{content:\"\\e067\"}.glyphicon-move:before{content:\"\\e068\"}.glyphicon-step-backward:before{content:\"\\e069\"}.glyphicon-fast-backward:before{content:\"\\e070\"}.glyphicon-backward:before{content:\"\\e071\"}.glyphicon-play:before{content:\"\\e072\"}.glyphicon-pause:before{content:\"\\e073\"}.glyphicon-stop:before{content:\"\\e074\"}.glyphicon-forward:before{content:\"\\e075\"}.glyphicon-fast-forward:before{content:\"\\e076\"}.glyphicon-step-forward:before{content:\"\\e077\"}.glyphicon-eject:before{content:\"\\e078\"}.glyphicon-chevron-left:before{content:\"\\e079\"}.glyphicon-chevron-right:before{content:\"\\e080\"}.glyphicon-plus-sign:before{content:\"\\e081\"}.glyphicon-minus-sign:before{content:\"\\e082\"}.glyphicon-remove-sign:before{content:\"\\e083\"}.glyphicon-ok-sign:before{content:\"\\e084\"}.glyphicon-question-sign:before{content:\"\\e085\"}.glyphicon-info-sign:before{content:\"\\e086\"}.glyphicon-screenshot:before{content:\"\\e087\"}.glyphicon-remove-circle:before{content:\"\\e088\"}.glyphicon-ok-circle:before{content:\"\\e089\"}.glyphicon-ban-circle:before{content:\"\\e090\"}.glyphicon-arrow-left:before{content:\"\\e091\"}.glyphicon-arrow-right:before{content:\"\\e092\"}.glyphicon-arrow-up:before{content:\"\\e093\"}.glyphicon-arrow-down:before{content:\"\\e094\"}.glyphicon-share-alt:before{content:\"\\e095\"}.glyphicon-resize-full:before{content:\"\\e096\"}.glyphicon-resize-small:before{content:\"\\e097\"}.glyphicon-exclamation-sign:before{content:\"\\e101\"}.glyphicon-gift:before{content:\"\\e102\"}.glyphicon-leaf:before{content:\"\\e103\"}.glyphicon-fire:before{content:\"\\e104\"}.glyphicon-eye-open:before{content:\"\\e105\"}.glyphicon-eye-close:before{content:\"\\e106\"}.glyphicon-warning-sign:before{content:\"\\e107\"}.glyphicon-plane:before{content:\"\\e108\"}.glyphicon-calendar:before{content:\"\\e109\"}.glyphicon-random:before{content:\"\\e110\"}.glyphicon-comment:before{content:\"\\e111\"}.glyphicon-magnet:before{content:\"\\e112\"}.glyphicon-chevron-up:before{content:\"\\e113\"}.glyphicon-chevron-down:before{content:\"\\e114\"}.glyphicon-retweet:before{content:\"\\e115\"}.glyphicon-shopping-cart:before{content:\"\\e116\"}.glyphicon-folder-close:before{content:\"\\e117\"}.glyphicon-folder-open:before{content:\"\\e118\"}.glyphicon-resize-vertical:before{content:\"\\e119\"}.glyphicon-resize-horizontal:before{content:\"\\e120\"}.glyphicon-hdd:before{content:\"\\e121\"}.glyphicon-bullhorn:before{content:\"\\e122\"}.glyphicon-bell:before{content:\"\\e123\"}.glyphicon-certificate:before{content:\"\\e124\"}.glyphicon-thumbs-up:before{content:\"\\e125\"}.glyphicon-thumbs-down:before{content:\"\\e126\"}.glyphicon-hand-right:before{content:\"\\e127\"}.glyphicon-hand-left:before{content:\"\\e128\"}.glyphicon-hand-up:before{content:\"\\e129\"}.glyphicon-hand-down:before{content:\"\\e130\"}.glyphicon-circle-arrow-right:before{content:\"\\e131\"}.glyphicon-circle-arrow-left:before{content:\"\\e132\"}.glyphicon-circle-arrow-up:before{content:\"\\e133\"}.glyphicon-circle-arrow-down:before{content:\"\\e134\"}.glyphicon-globe:before{content:\"\\e135\"}.glyphicon-wrench:before{content:\"\\e136\"}.glyphicon-tasks:before{content:\"\\e137\"}.glyphicon-filter:before{content:\"\\e138\"}.glyphicon-briefcase:before{content:\"\\e139\"}.glyphicon-fullscreen:before{content:\"\\e140\"}.glyphicon-dashboard:before{content:\"\\e141\"}.glyphicon-paperclip:before{content:\"\\e142\"}.glyphicon-heart-empty:before{content:\"\\e143\"}.glyphicon-link:before{content:\"\\e144\"}.glyphicon-phone:before{content:\"\\e145\"}.glyphicon-pushpin:before{content:\"\\e146\"}.glyphicon-usd:before{content:\"\\e148\"}.glyphicon-gbp:before{content:\"\\e149\"}.glyphicon-sort:before{content:\"\\e150\"}.glyphicon-sort-by-alphabet:before{content:\"\\e151\"}.glyphicon-sort-by-alphabet-alt:before{content:\"\\e152\"}.glyphicon-sort-by-order:before{content:\"\\e153\"}.glyphicon-sort-by-order-alt:before{content:\"\\e154\"}.glyphicon-sort-by-attributes:before{content:\"\\e155\"}.glyphicon-sort-by-attributes-alt:before{content:\"\\e156\"}.glyphicon-unchecked:before{content:\"\\e157\"}.glyphicon-expand:before{content:\"\\e158\"}.glyphicon-collapse-down:before{content:\"\\e159\"}.glyphicon-collapse-up:before{content:\"\\e160\"}.glyphicon-log-in:before{content:\"\\e161\"}.glyphicon-flash:before{content:\"\\e162\"}.glyphicon-log-out:before{content:\"\\e163\"}.glyphicon-new-window:before{content:\"\\e164\"}.glyphicon-record:before{content:\"\\e165\"}.glyphicon-save:before{content:\"\\e166\"}.glyphicon-open:before{content:\"\\e167\"}.glyphicon-saved:before{content:\"\\e168\"}.glyphicon-import:before{content:\"\\e169\"}.glyphicon-export:before{content:\"\\e170\"}.glyphicon-send:before{content:\"\\e171\"}.glyphicon-floppy-disk:before{content:\"\\e172\"}.glyphicon-floppy-saved:before{content:\"\\e173\"}.glyphicon-floppy-remove:before{content:\"\\e174\"}.glyphicon-floppy-save:before{content:\"\\e175\"}.glyphicon-floppy-open:before{content:\"\\e176\"}.glyphicon-credit-card:before{content:\"\\e177\"}.glyphicon-transfer:before{content:\"\\e178\"}.glyphicon-cutlery:before{content:\"\\e179\"}.glyphicon-header:before{content:\"\\e180\"}.glyphicon-compressed:before{content:\"\\e181\"}.glyphicon-earphone:before{content:\"\\e182\"}.glyphicon-phone-alt:before{content:\"\\e183\"}.glyphicon-tower:before{content:\"\\e184\"}.glyphicon-stats:before{content:\"\\e185\"}.glyphicon-sd-video:before{content:\"\\e186\"}.glyphicon-hd-video:before{content:\"\\e187\"}.glyphicon-subtitles:before{content:\"\\e188\"}.glyphicon-sound-stereo:before{content:\"\\e189\"}.glyphicon-sound-dolby:before{content:\"\\e190\"}.glyphicon-sound-5-1:before{content:\"\\e191\"}.glyphicon-sound-6-1:before{content:\"\\e192\"}.glyphicon-sound-7-1:before{content:\"\\e193\"}.glyphicon-copyright-mark:before{content:\"\\e194\"}.glyphicon-registration-mark:before{content:\"\\e195\"}.glyphicon-cloud-download:before{content:\"\\e197\"}.glyphicon-cloud-upload:before{content:\"\\e198\"}.glyphicon-tree-conifer:before{content:\"\\e199\"}.glyphicon-tree-deciduous:before{content:\"\\e200\"}.glyphicon-cd:before{content:\"\\e201\"}.glyphicon-save-file:before{content:\"\\e202\"}.glyphicon-open-file:before{content:\"\\e203\"}.glyphicon-level-up:before{content:\"\\e204\"}.glyphicon-copy:before{content:\"\\e205\"}.glyphicon-paste:before{content:\"\\e206\"}.glyphicon-alert:before{content:\"\\e209\"}.glyphicon-equalizer:before{content:\"\\e210\"}.glyphicon-king:before{content:\"\\e211\"}.glyphicon-queen:before{content:\"\\e212\"}.glyphicon-pawn:before{content:\"\\e213\"}.glyphicon-bishop:before{content:\"\\e214\"}.glyphicon-knight:before{content:\"\\e215\"}.glyphicon-baby-formula:before{content:\"\\e216\"}.glyphicon-tent:before{content:\"\\26fa\"}.glyphicon-blackboard:before{content:\"\\e218\"}.glyphicon-bed:before{content:\"\\e219\"}.glyphicon-apple:before{content:\"\\f8ff\"}.glyphicon-erase:before{content:\"\\e221\"}.glyphicon-hourglass:before{content:\"\\231b\"}.glyphicon-lamp:before{content:\"\\e223\"}.glyphicon-duplicate:before{content:\"\\e224\"}.glyphicon-piggy-bank:before{content:\"\\e225\"}.glyphicon-scissors:before{content:\"\\e226\"}.glyphicon-bitcoin:before{content:\"\\e227\"}.glyphicon-btc:before{content:\"\\e227\"}.glyphicon-xbt:before{content:\"\\e227\"}.glyphicon-yen:before{content:\"\\00a5\"}.glyphicon-jpy:before{content:\"\\00a5\"}.glyphicon-ruble:before{content:\"\\20bd\"}.glyphicon-rub:before{content:\"\\20bd\"}.glyphicon-scale:before{content:\"\\e230\"}.glyphicon-ice-lolly:before{content:\"\\e231\"}.glyphicon-ice-lolly-tasted:before{content:\"\\e232\"}.glyphicon-education:before{content:\"\\e233\"}.glyphicon-option-horizontal:before{content:\"\\e234\"}.glyphicon-option-vertical:before{content:\"\\e235\"}.glyphicon-menu-hamburger:before{content:\"\\e236\"}.glyphicon-modal-window:before{content:\"\\e237\"}.glyphicon-oil:before{content:\"\\e238\"}.glyphicon-grain:before{content:\"\\e239\"}.glyphicon-sunglasses:before{content:\"\\e240\"}.glyphicon-text-size:before{content:\"\\e241\"}.glyphicon-text-color:before{content:\"\\e242\"}.glyphicon-text-background:before{content:\"\\e243\"}.glyphicon-object-align-top:before{content:\"\\e244\"}.glyphicon-object-align-bottom:before{content:\"\\e245\"}.glyphicon-object-align-horizontal:before{content:\"\\e246\"}.glyphicon-object-align-left:before{content:\"\\e247\"}.glyphicon-object-align-vertical:before{content:\"\\e248\"}.glyphicon-object-align-right:before{content:\"\\e249\"}.glyphicon-triangle-right:before{content:\"\\e250\"}.glyphicon-triangle-left:before{content:\"\\e251\"}.glyphicon-triangle-bottom:before{content:\"\\e252\"}.glyphicon-triangle-top:before{content:\"\\e253\"}.glyphicon-console:before{content:\"\\e254\"}.glyphicon-superscript:before{content:\"\\e255\"}.glyphicon-subscript:before{content:\"\\e256\"}.glyphicon-menu-left:before{content:\"\\e257\"}.glyphicon-menu-right:before{content:\"\\e258\"}.glyphicon-menu-down:before{content:\"\\e259\"}.glyphicon-menu-up:before{content:\"\\e260\"}"}],"authorContributionMap":{"KevinEyo1":17}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/js/bootstrap-utility.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" * Bootstrap v5.1.3 (https://getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" */"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"!function(t,e){\"object\"\u003d\u003dtypeof exports\u0026\u0026\"undefined\"!\u003dtypeof module?module.exports\u003de():\"function\"\u003d\u003dtypeof define\u0026\u0026define.amd?define(e):(t\u003d\"undefined\"!\u003dtypeof globalThis?globalThis:t||self).bootstrap\u003de()}(this,(function(){\"use strict\";const t\u003d\"transitionend\",e\u003dt\u003d\u003e{let e\u003dt.getAttribute(\"data-bs-target\");if(!e||\"#\"\u003d\u003d\u003de){let i\u003dt.getAttribute(\"href\");if(!i||!i.includes(\"#\")\u0026\u0026!i.startsWith(\".\"))return null;i.includes(\"#\")\u0026\u0026!i.startsWith(\"#\")\u0026\u0026(i\u003d`#${i.split(\"#\")[1]}`),e\u003di\u0026\u0026\"#\"!\u003d\u003di?i.trim():null}return e},i\u003dt\u003d\u003e{const i\u003de(t);return i\u0026\u0026document.querySelector(i)?i:null},n\u003dt\u003d\u003e{const i\u003de(t);return i?document.querySelector(i):null},s\u003de\u003d\u003e{e.dispatchEvent(new Event(t))},o\u003dt\u003d\u003e!(!t||\"object\"!\u003dtypeof t)\u0026\u0026(void 0!\u003d\u003dt.jquery\u0026\u0026(t\u003dt[0]),void 0!\u003d\u003dt.nodeType),r\u003dt\u003d\u003eo(t)?t.jquery?t[0]:t:\"string\"\u003d\u003dtypeof t\u0026\u0026t.length\u003e0?document.querySelector(t):null,a\u003d(t,e,i)\u003d\u003e{Object.keys(i).forEach((n\u003d\u003e{const s\u003di[n],r\u003de[n],a\u003dr\u0026\u0026o(r)?\"element\":null\u003d\u003d(l\u003dr)?`${l}`:{}.toString.call(l).match(/\\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option \"${n}\" provided type \"${a}\" but expected type \"${s}\".`)}))},l\u003dt\u003d\u003e!(!o(t)||0\u003d\u003d\u003dt.getClientRects().length)\u0026\u0026\"visible\"\u003d\u003d\u003dgetComputedStyle(t).getPropertyValue(\"visibility\"),c\u003dt\u003d\u003e!t||t.nodeType!\u003d\u003dNode.ELEMENT_NODE||!!t.classList.contains(\"disabled\")||(void 0!\u003d\u003dt.disabled?t.disabled:t.hasAttribute(\"disabled\")\u0026\u0026\"false\"!\u003d\u003dt.getAttribute(\"disabled\")),h\u003dt\u003d\u003e{if(!document.documentElement.attachShadow)return null;if(\"function\"\u003d\u003dtypeof t.getRootNode){const e\u003dt.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},d\u003d()\u003d\u003e{},u\u003dt\u003d\u003e{t.offsetHeight},f\u003d()\u003d\u003e{const{jQuery:t}\u003dwindow;return t\u0026\u0026!document.body.hasAttribute(\"data-bs-no-jquery\")?t:null},p\u003d[],m\u003d()\u003d\u003e\"rtl\"\u003d\u003d\u003ddocument.documentElement.dir,g\u003dt\u003d\u003e{var e;e\u003d()\u003d\u003e{const e\u003df();if(e){const i\u003dt.NAME,n\u003de.fn[i];e.fn[i]\u003dt.jQueryInterface,e.fn[i].Constructor\u003dt,e.fn[i].noConflict\u003d()\u003d\u003e(e.fn[i]\u003dn,t.jQueryInterface)}},\"loading\"\u003d\u003d\u003ddocument.readyState?(p.length||document.addEventListener(\"DOMContentLoaded\",(()\u003d\u003e{p.forEach((t\u003d\u003et()))})),p.push(e)):e()},_\u003dt\u003d\u003e{\"function\"\u003d\u003dtypeof t\u0026\u0026t()},b\u003d(e,i,n\u003d!0)\u003d\u003e{if(!n)return void _(e);const o\u003d(t\u003d\u003e{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}\u003dwindow.getComputedStyle(t);const n\u003dNumber.parseFloat(e),s\u003dNumber.parseFloat(i);return n||s?(e\u003de.split(\",\")[0],i\u003di.split(\",\")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(i)+5;let r\u003d!1;const a\u003d({target:n})\u003d\u003e{n\u003d\u003d\u003di\u0026\u0026(r\u003d!0,i.removeEventListener(t,a),_(e))};i.addEventListener(t,a),setTimeout((()\u003d\u003e{r||s(i)}),o)},v\u003d(t,e,i,n)\u003d\u003e{let s\u003dt.indexOf(e);if(-1\u003d\u003d\u003ds)return t[!i\u0026\u0026n?t.length-1:0];const o\u003dt.length;return s+\u003di?1:-1,n\u0026\u0026(s\u003d(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},y\u003d/[^.]*(?\u003d\\..*)\\.|.*/,w\u003d/\\..*/,E\u003d/::\\d+$/,A\u003d{};let T\u003d1;const O\u003d{mouseenter:\"mouseover\",mouseleave:\"mouseout\"},C\u003d/^(mouseenter|mouseleave)/i,k\u003dnew Set([\"click\",\"dblclick\",\"mouseup\",\"mousedown\",\"contextmenu\",\"mousewheel\",\"DOMMouseScroll\",\"mouseover\",\"mouseout\",\"mousemove\",\"selectstart\",\"selectend\",\"keydown\",\"keypress\",\"keyup\",\"orientationchange\",\"touchstart\",\"touchmove\",\"touchend\",\"touchcancel\",\"pointerdown\",\"pointermove\",\"pointerup\",\"pointerleave\",\"pointercancel\",\"gesturestart\",\"gesturechange\",\"gestureend\",\"focus\",\"blur\",\"change\",\"reset\",\"select\",\"submit\",\"focusin\",\"focusout\",\"load\",\"unload\",\"beforeunload\",\"resize\",\"move\",\"DOMContentLoaded\",\"readystatechange\",\"error\",\"abort\",\"scroll\"]);function L(t,e){return e\u0026\u0026`${e}::${T++}`||t.uidEvent||T++}function x(t){const e\u003dL(t);return t.uidEvent\u003de,A[e]\u003dA[e]||{},A[e]}function D(t,e,i\u003dnull){const n\u003dObject.keys(t);for(let s\u003d0,o\u003dn.length;s\u003co;s++){const o\u003dt[n[s]];if(o.originalHandler\u003d\u003d\u003de\u0026\u0026o.delegationSelector\u003d\u003d\u003di)return o}return null}function S(t,e,i){const n\u003d\"string\"\u003d\u003dtypeof e,s\u003dn?i:e;let o\u003dP(t);return k.has(o)||(o\u003dt),[n,s,o]}function N(t,e,i,n,s){if(\"string\"!\u003dtypeof e||!t)return;if(i||(i\u003dn,n\u003dnull),C.test(e)){const t\u003dt\u003d\u003efunction(e){if(!e.relatedTarget||e.relatedTarget!\u003d\u003de.delegateTarget\u0026\u0026!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n\u003dt(n):i\u003dt(i)}const[o,r,a]\u003dS(e,i,n),l\u003dx(t),c\u003dl[a]||(l[a]\u003d{}),h\u003dD(c,r,o?i:null);if(h)return void(h.oneOff\u003dh.oneOff\u0026\u0026s);const d\u003dL(r,e.replace(y,\"\")),u\u003do?function(t,e,i){return function n(s){const o\u003dt.querySelectorAll(e);for(let{target:r}\u003ds;r\u0026\u0026r!\u003d\u003dthis;r\u003dr.parentNode)for(let a\u003do.length;a--;)if(o[a]\u003d\u003d\u003dr)return s.delegateTarget\u003dr,n.oneOff\u0026\u0026j.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget\u003dt,i.oneOff\u0026\u0026j.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector\u003do?i:null,u.originalHandler\u003dr,u.oneOff\u003ds,u.uidEvent\u003dd,c[d]\u003du,t.addEventListener(a,u,o)}function I(t,e,i,n,s){const o\u003dD(e[i],n,s);o\u0026\u0026(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function P(t){return t\u003dt.replace(w,\"\"),O[t]||t}const j\u003d{on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if(\"string\"!\u003dtypeof e||!t)return;const[s,o,r]\u003dS(e,i,n),a\u003dr!\u003d\u003de,l\u003dx(t),c\u003de.startsWith(\".\");if(void 0!\u003d\u003do){if(!l||!l[r])return;return void I(t,l,r,o,s?i:null)}c\u0026\u0026Object.keys(l).forEach((i\u003d\u003e{!function(t,e,i,n){const s\u003de[i]||{};Object.keys(s).forEach((o\u003d\u003e{if(o.includes(n)){const n\u003ds[o];I(t,e,i,n.originalHandler,n.delegationSelector)}}))}(t,l,i,e.slice(1))}));const h\u003dl[r]||{};Object.keys(h).forEach((i\u003d\u003e{const n\u003di.replace(E,\"\");if(!a||e.includes(n)){const e\u003dh[i];I(t,l,r,e.originalHandler,e.delegationSelector)}}))},trigger(t,e,i){if(\"string\"!\u003dtypeof e||!t)return null;const n\u003df(),s\u003dP(e),o\u003de!\u003d\u003ds,r\u003dk.has(s);let a,l\u003d!0,c\u003d!0,h\u003d!1,d\u003dnull;return o\u0026\u0026n\u0026\u0026(a\u003dn.Event(e,i),n(t).trigger(a),l\u003d!a.isPropagationStopped(),c\u003d!a.isImmediatePropagationStopped(),h\u003da.isDefaultPrevented()),r?(d\u003ddocument.createEvent(\"HTMLEvents\"),d.initEvent(s,l,!0)):d\u003dnew CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!\u003d\u003di\u0026\u0026Object.keys(i).forEach((t\u003d\u003e{Object.defineProperty(d,t,{get:()\u003d\u003ei[t]})})),h\u0026\u0026d.preventDefault(),c\u0026\u0026t.dispatchEvent(d),d.defaultPrevented\u0026\u0026void 0!\u003d\u003da\u0026\u0026a.preventDefault(),d}},M\u003dnew Map,H\u003d{set(t,e,i){M.has(t)||M.set(t,new Map);const n\u003dM.get(t);n.has(e)||0\u003d\u003d\u003dn.size?n.set(e,i):console.error(`Bootstrap doesn\u0027t allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)\u003d\u003eM.has(t)\u0026\u0026M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i\u003dM.get(t);i.delete(e),0\u003d\u003d\u003di.size\u0026\u0026M.delete(t)}};class B{constructor(t){(t\u003dr(t))\u0026\u0026(this._element\u003dt,H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach((t\u003d\u003e{this[t]\u003dnull}))}_queueCallback(t,e,i\u003d!0){b(t,e,i)}static getInstance(t){return H.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e\u003d{}){return this.getInstance(t)||new this(t,\"object\"\u003d\u003dtypeof e?e:null)}static get VERSION(){return\"5.1.3\"}static get NAME(){throw new Error(\u0027You have to implement the static method \"NAME\", for each component!\u0027)}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const R\u003d(t,e\u003d\"hide\")\u003d\u003e{const i\u003d`click.dismiss${t.EVENT_KEY}`,s\u003dt.NAME;j.on(document,i,`[data-bs-dismiss\u003d\"${s}\"]`,(function(i){if([\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026i.preventDefault(),c(this))return;const o\u003dn(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class W extends B{static get NAME(){return\"alert\"}close(){if(j.trigger(this._element,\"close.bs.alert\").defaultPrevented)return;this._element.classList.remove(\"show\");const t\u003dthis._element.classList.contains(\"fade\");this._queueCallback((()\u003d\u003ethis._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,\"closed.bs.alert\"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e\u003dW.getOrCreateInstance(this);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t]||t.startsWith(\"_\")||\"constructor\"\u003d\u003d\u003dt)throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}R(W,\"close\"),g(W);const $\u003d\u0027[data-bs-toggle\u003d\"button\"]\u0027;class z extends B{static get NAME(){return\"button\"}toggle(){this._element.setAttribute(\"aria-pressed\",this._element.classList.toggle(\"active\"))}static jQueryInterface(t){return this.each((function(){const e\u003dz.getOrCreateInstance(this);\"toggle\"\u003d\u003d\u003dt\u0026\u0026e[t]()}))}}function q(t){return\"true\"\u003d\u003d\u003dt||\"false\"!\u003d\u003dt\u0026\u0026(t\u003d\u003d\u003dNumber(t).toString()?Number(t):\"\"\u003d\u003d\u003dt||\"null\"\u003d\u003d\u003dt?null:t)}function F(t){return t.replace(/[A-Z]/g,(t\u003d\u003e`-${t.toLowerCase()}`))}j.on(document,\"click.bs.button.data-api\",$,(t\u003d\u003e{t.preventDefault();const e\u003dt.target.closest($);z.getOrCreateInstance(e).toggle()})),g(z);const U\u003d{setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e\u003d{};return Object.keys(t.dataset).filter((t\u003d\u003et.startsWith(\"bs\"))).forEach((i\u003d\u003e{let n\u003di.replace(/^bs/,\"\");n\u003dn.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]\u003dq(t.dataset[i])})),e},getDataAttribute:(t,e)\u003d\u003eq(t.getAttribute(`data-bs-${F(e)}`)),offset(t){const e\u003dt.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t\u003d\u003e({top:t.offsetTop,left:t.offsetLeft})},V\u003d{find:(t,e\u003ddocument.documentElement)\u003d\u003e[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e\u003ddocument.documentElement)\u003d\u003eElement.prototype.querySelector.call(e,t),children:(t,e)\u003d\u003e[].concat(...t.children).filter((t\u003d\u003et.matches(e))),parents(t,e){const i\u003d[];let n\u003dt.parentNode;for(;n\u0026\u0026n.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE\u0026\u00263!\u003d\u003dn.nodeType;)n.matches(e)\u0026\u0026i.push(n),n\u003dn.parentNode;return i},prev(t,e){let i\u003dt.previousElementSibling;for(;i;){if(i.matches(e))return[i];i\u003di.previousElementSibling}return[]},next(t,e){let i\u003dt.nextElementSibling;for(;i;){if(i.matches(e))return[i];i\u003di.nextElementSibling}return[]},focusableChildren(t){const e\u003d[\"a\",\"button\",\"input\",\"textarea\",\"select\",\"details\",\"[tabindex]\",\u0027[contenteditable\u003d\"true\"]\u0027].map((t\u003d\u003e`${t}:not([tabindex^\u003d\"-\"])`)).join(\", \");return this.find(e,t).filter((t\u003d\u003e!c(t)\u0026\u0026l(t)))}},K\u003d\"carousel\",X\u003d{interval:5e3,keyboard:!0,slide:!1,pause:\"hover\",wrap:!0,touch:!0},Y\u003d{interval:\"(number|boolean)\",keyboard:\"boolean\",slide:\"(boolean|string)\",pause:\"(string|boolean)\",wrap:\"boolean\",touch:\"boolean\"},Q\u003d\"next\",G\u003d\"prev\",Z\u003d\"left\",J\u003d\"right\",tt\u003d{ArrowLeft:J,ArrowRight:Z},et\u003d\"slid.bs.carousel\",it\u003d\"active\",nt\u003d\".active.carousel-item\";class st extends B{constructor(t,e){super(t),this._items\u003dnull,this._interval\u003dnull,this._activeElement\u003dnull,this._isPaused\u003d!1,this._isSliding\u003d!1,this.touchTimeout\u003dnull,this.touchStartX\u003d0,this.touchDeltaX\u003d0,this._config\u003dthis._getConfig(e),this._indicatorsElement\u003dV.findOne(\".carousel-indicators\",this._element),this._touchSupported\u003d\"ontouchstart\"in document.documentElement||navigator.maxTouchPoints\u003e0,this._pointerEvent\u003dBoolean(window.PointerEvent),this._addEventListeners()}static get Default(){return X}static get NAME(){return K}next(){this._slide(Q)}nextWhenVisible(){!document.hidden\u0026\u0026l(this._element)\u0026\u0026this.next()}prev(){this._slide(G)}pause(t){t||(this._isPaused\u003d!0),V.findOne(\".carousel-item-next, .carousel-item-prev\",this._element)\u0026\u0026(s(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval\u003dnull}cycle(t){t||(this._isPaused\u003d!1),this._interval\u0026\u0026(clearInterval(this._interval),this._interval\u003dnull),this._config\u0026\u0026this._config.interval\u0026\u0026!this._isPaused\u0026\u0026(this._updateInterval(),this._interval\u003dsetInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement\u003dV.findOne(nt,this._element);const e\u003dthis._getItemIndex(this._activeElement);if(t\u003ethis._items.length-1||t\u003c0)return;if(this._isSliding)return void j.one(this._element,et,(()\u003d\u003ethis.to(t)));if(e\u003d\u003d\u003dt)return this.pause(),void this.cycle();const i\u003dt\u003ee?Q:G;this._slide(i,this._items[t])}_getConfig(t){return t\u003d{...X,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t?t:{}},a(K,t,Y),t}_handleSwipe(){const t\u003dMath.abs(this.touchDeltaX);if(t\u003c\u003d40)return;const e\u003dt/this.touchDeltaX;this.touchDeltaX\u003d0,e\u0026\u0026this._slide(e\u003e0?J:Z)}_addEventListeners(){this._config.keyboard\u0026\u0026j.on(this._element,\"keydown.bs.carousel\",(t\u003d\u003ethis._keydown(t))),\"hover\"\u003d\u003d\u003dthis._config.pause\u0026\u0026(j.on(this._element,\"mouseenter.bs.carousel\",(t\u003d\u003ethis.pause(t))),j.on(this._element,\"mouseleave.bs.carousel\",(t\u003d\u003ethis.cycle(t)))),this._config.touch\u0026\u0026this._touchSupported\u0026\u0026this._addTouchEventListeners()}_addTouchEventListeners(){const t\u003dt\u003d\u003ethis._pointerEvent\u0026\u0026(\"pen\"\u003d\u003d\u003dt.pointerType||\"touch\"\u003d\u003d\u003dt.pointerType),e\u003de\u003d\u003e{t(e)?this.touchStartX\u003de.clientX:this._pointerEvent||(this.touchStartX\u003de.touches[0].clientX)},i\u003dt\u003d\u003e{this.touchDeltaX\u003dt.touches\u0026\u0026t.touches.length\u003e1?0:t.touches[0].clientX-this.touchStartX},n\u003de\u003d\u003e{t(e)\u0026\u0026(this.touchDeltaX\u003de.clientX-this.touchStartX),this._handleSwipe(),\"hover\"\u003d\u003d\u003dthis._config.pause\u0026\u0026(this.pause(),this.touchTimeout\u0026\u0026clearTimeout(this.touchTimeout),this.touchTimeout\u003dsetTimeout((t\u003d\u003ethis.cycle(t)),500+this._config.interval))};V.find(\".carousel-item img\",this._element).forEach((t\u003d\u003e{j.on(t,\"dragstart.bs.carousel\",(t\u003d\u003et.preventDefault()))})),this._pointerEvent?(j.on(this._element,\"pointerdown.bs.carousel\",(t\u003d\u003ee(t))),j.on(this._element,\"pointerup.bs.carousel\",(t\u003d\u003en(t))),this._element.classList.add(\"pointer-event\")):(j.on(this._element,\"touchstart.bs.carousel\",(t\u003d\u003ee(t))),j.on(this._element,\"touchmove.bs.carousel\",(t\u003d\u003ei(t))),j.on(this._element,\"touchend.bs.carousel\",(t\u003d\u003en(t))))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e\u003dtt[t.key];e\u0026\u0026(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items\u003dt\u0026\u0026t.parentNode?V.find(\".carousel-item\",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i\u003dt\u003d\u003d\u003dQ;return v(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i\u003dthis._getItemIndex(t),n\u003dthis._getItemIndex(V.findOne(nt,this._element));return j.trigger(this._element,\"slide.bs.carousel\",{relatedTarget:t,direction:e,from:n,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e\u003dV.findOne(\".active\",this._indicatorsElement);e.classList.remove(it),e.removeAttribute(\"aria-current\");const i\u003dV.find(\"[data-bs-target]\",this._indicatorsElement);for(let e\u003d0;e\u003ci.length;e++)if(Number.parseInt(i[e].getAttribute(\"data-bs-slide-to\"),10)\u003d\u003d\u003dthis._getItemIndex(t)){i[e].classList.add(it),i[e].setAttribute(\"aria-current\",\"true\");break}}}_updateInterval(){const t\u003dthis._activeElement||V.findOne(nt,this._element);if(!t)return;const e\u003dNumber.parseInt(t.getAttribute(\"data-bs-interval\"),10);e?(this._config.defaultInterval\u003dthis._config.defaultInterval||this._config.interval,this._config.interval\u003de):this._config.interval\u003dthis._config.defaultInterval||this._config.interval}_slide(t,e){const i\u003dthis._directionToOrder(t),n\u003dV.findOne(nt,this._element),s\u003dthis._getItemIndex(n),o\u003de||this._getItemByOrder(i,n),r\u003dthis._getItemIndex(o),a\u003dBoolean(this._interval),l\u003di\u003d\u003d\u003dQ,c\u003dl?\"carousel-item-start\":\"carousel-item-end\",h\u003dl?\"carousel-item-next\":\"carousel-item-prev\",d\u003dthis._orderToDirection(i);if(o\u0026\u0026o.classList.contains(it))return void(this._isSliding\u003d!1);if(this._isSliding)return;if(this._triggerSlideEvent(o,d).defaultPrevented)return;if(!n||!o)return;this._isSliding\u003d!0,a\u0026\u0026this.pause(),this._setActiveIndicatorElement(o),this._activeElement\u003do;const f\u003d()\u003d\u003e{j.trigger(this._element,et,{relatedTarget:o,direction:d,from:s,to:r})};if(this._element.classList.contains(\"slide\")){o.classList.add(h),u(o),n.classList.add(c),o.classList.add(c);const t\u003d()\u003d\u003e{o.classList.remove(c,h),o.classList.add(it),n.classList.remove(it,h,c),this._isSliding\u003d!1,setTimeout(f,0)};this._queueCallback(t,n,!0)}else n.classList.remove(it),o.classList.add(it),this._isSliding\u003d!1,f();a\u0026\u0026this.cycle()}_directionToOrder(t){return[J,Z].includes(t)?m()?t\u003d\u003d\u003dZ?G:Q:t\u003d\u003d\u003dZ?Q:G:t}_orderToDirection(t){return[Q,G].includes(t)?m()?t\u003d\u003d\u003dG?Z:J:t\u003d\u003d\u003dG?J:Z:t}static carouselInterface(t,e){const i\u003dst.getOrCreateInstance(t,e);let{_config:n}\u003di;\"object\"\u003d\u003dtypeof e\u0026\u0026(n\u003d{...n,...e});const s\u003d\"string\"\u003d\u003dtypeof e?e:n.slide;if(\"number\"\u003d\u003dtypeof e)i.to(e);else if(\"string\"\u003d\u003dtypeof s){if(void 0\u003d\u003d\u003di[s])throw new TypeError(`No method named \"${s}\"`);i[s]()}else n.interval\u0026\u0026n.ride\u0026\u0026(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){st.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e\u003dn(this);if(!e||!e.classList.contains(\"carousel\"))return;const i\u003d{...U.getDataAttributes(e),...U.getDataAttributes(this)},s\u003dthis.getAttribute(\"data-bs-slide-to\");s\u0026\u0026(i.interval\u003d!1),st.carouselInterface(e,i),s\u0026\u0026st.getInstance(e).to(s),t.preventDefault()}}j.on(document,\"click.bs.carousel.data-api\",\"[data-bs-slide], [data-bs-slide-to]\",st.dataApiClickHandler),j.on(window,\"load.bs.carousel.data-api\",(()\u003d\u003e{const t\u003dV.find(\u0027[data-bs-ride\u003d\"carousel\"]\u0027);for(let e\u003d0,i\u003dt.length;e\u003ci;e++)st.carouselInterface(t[e],st.getInstance(t[e]))})),g(st);const ot\u003d\"collapse\",rt\u003d{toggle:!0,parent:null},at\u003d{toggle:\"boolean\",parent:\"(null|element)\"},lt\u003d\"show\",ct\u003d\"collapse\",ht\u003d\"collapsing\",dt\u003d\"collapsed\",ut\u003d\":scope .collapse .collapse\",ft\u003d\u0027[data-bs-toggle\u003d\"collapse\"]\u0027;class pt extends B{constructor(t,e){super(t),this._isTransitioning\u003d!1,this._config\u003dthis._getConfig(e),this._triggerArray\u003d[];const n\u003dV.find(ft);for(let t\u003d0,e\u003dn.length;t\u003ce;t++){const e\u003dn[t],s\u003di(e),o\u003dV.find(s).filter((t\u003d\u003et\u003d\u003d\u003dthis._element));null!\u003d\u003ds\u0026\u0026o.length\u0026\u0026(this._selector\u003ds,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle\u0026\u0026this.toggle()}static get Default(){return rt}static get NAME(){return ot}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e\u003d[];if(this._config.parent){const t\u003dV.find(ut,this._config.parent);e\u003dV.find(\".collapse.show, .collapse.collapsing\",this._config.parent).filter((e\u003d\u003e!t.includes(e)))}const i\u003dV.findOne(this._selector);if(e.length){const n\u003de.find((t\u003d\u003ei!\u003d\u003dt));if(t\u003dn?pt.getInstance(n):null,t\u0026\u0026t._isTransitioning)return}if(j.trigger(this._element,\"show.bs.collapse\").defaultPrevented)return;e.forEach((e\u003d\u003e{i!\u003d\u003de\u0026\u0026pt.getOrCreateInstance(e,{toggle:!1}).hide(),t||H.set(e,\"bs.collapse\",null)}));const n\u003dthis._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[n]\u003d0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning\u003d!0;const s\u003d`scroll${n[0].toUpperCase()+n.slice(1)}`;this._queueCallback((()\u003d\u003e{this._isTransitioning\u003d!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[n]\u003d\"\",j.trigger(this._element,\"shown.bs.collapse\")}),this._element,!0),this._element.style[n]\u003d`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,\"hide.bs.collapse\").defaultPrevented)return;const t\u003dthis._getDimension();this._element.style[t]\u003d`${this._element.getBoundingClientRect()[t]}px`,u(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);const e\u003dthis._triggerArray.length;for(let t\u003d0;t\u003ce;t++){const e\u003dthis._triggerArray[t],i\u003dn(e);i\u0026\u0026!this._isShown(i)\u0026\u0026this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning\u003d!0,this._element.style[t]\u003d\"\",this._queueCallback((()\u003d\u003e{this._isTransitioning\u003d!1,this._element.classList.remove(ht),this._element.classList.add(ct),j.trigger(this._element,\"hidden.bs.collapse\")}),this._element,!0)}_isShown(t\u003dthis._element){return t.classList.contains(lt)}_getConfig(t){return(t\u003d{...rt,...U.getDataAttributes(this._element),...t}).toggle\u003dBoolean(t.toggle),t.parent\u003dr(t.parent),a(ot,t,at),t}_getDimension(){return this._element.classList.contains(\"collapse-horizontal\")?\"width\":\"height\"}_initializeChildren(){if(!this._config.parent)return;const t\u003dV.find(ut,this._config.parent);V.find(ft,this._config.parent).filter((e\u003d\u003e!t.includes(e))).forEach((t\u003d\u003e{const e\u003dn(t);e\u0026\u0026this._addAriaAndCollapsedClass([t],this._isShown(e))}))}_addAriaAndCollapsedClass(t,e){t.length\u0026\u0026t.forEach((t\u003d\u003e{e?t.classList.remove(dt):t.classList.add(dt),t.setAttribute(\"aria-expanded\",e)}))}static jQueryInterface(t){return this.each((function(){const e\u003d{};\"string\"\u003d\u003dtypeof t\u0026\u0026/show|hide/.test(t)\u0026\u0026(e.toggle\u003d!1);const i\u003dpt.getOrCreateInstance(this,e);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003di[t])throw new TypeError(`No method named \"${t}\"`);i[t]()}}))}}j.on(document,\"click.bs.collapse.data-api\",ft,(function(t){(\"A\"\u003d\u003d\u003dt.target.tagName||t.delegateTarget\u0026\u0026\"A\"\u003d\u003d\u003dt.delegateTarget.tagName)\u0026\u0026t.preventDefault();const e\u003di(this);V.find(e).forEach((t\u003d\u003e{pt.getOrCreateInstance(t,{toggle:!1}).toggle()}))})),g(pt);var mt\u003d\"top\",gt\u003d\"bottom\",_t\u003d\"right\",bt\u003d\"left\",vt\u003d\"auto\",yt\u003d[mt,gt,_t,bt],wt\u003d\"start\",Et\u003d\"end\",At\u003d\"clippingParents\",Tt\u003d\"viewport\",Ot\u003d\"popper\",Ct\u003d\"reference\",kt\u003dyt.reduce((function(t,e){return t.concat([e+\"-\"+wt,e+\"-\"+Et])}),[]),Lt\u003d[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+\"-\"+wt,e+\"-\"+Et])}),[]),xt\u003d\"beforeRead\",Dt\u003d\"read\",St\u003d\"afterRead\",Nt\u003d\"beforeMain\",It\u003d\"main\",Pt\u003d\"afterMain\",jt\u003d\"beforeWrite\",Mt\u003d\"write\",Ht\u003d\"afterWrite\",Bt\u003d[xt,Dt,St,Nt,It,Pt,jt,Mt,Ht];function Rt(t){return t?(t.nodeName||\"\").toLowerCase():null}function Wt(t){if(null\u003d\u003dt)return window;if(\"[object Window]\"!\u003d\u003dt.toString()){var e\u003dt.ownerDocument;return e\u0026\u0026e.defaultView||window}return t}function $t(t){return t instanceof Wt(t).Element||t instanceof Element}function zt(t){return t instanceof Wt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return\"undefined\"!\u003dtypeof ShadowRoot\u0026\u0026(t instanceof Wt(t).ShadowRoot||t instanceof ShadowRoot)}const Ft\u003d{name:\"applyStyles\",enabled:!0,phase:\"write\",fn:function(t){var e\u003dt.state;Object.keys(e.elements).forEach((function(t){var i\u003de.styles[t]||{},n\u003de.attributes[t]||{},s\u003de.elements[t];zt(s)\u0026\u0026Rt(s)\u0026\u0026(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e\u003dn[t];!1\u003d\u003d\u003de?s.removeAttribute(t):s.setAttribute(t,!0\u003d\u003d\u003de?\"\":e)})))}))},effect:function(t){var e\u003dt.state,i\u003d{popper:{position:e.options.strategy,left:\"0\",top:\"0\",margin:\"0\"},arrow:{position:\"absolute\"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles\u003di,e.elements.arrow\u0026\u0026Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n\u003de.elements[t],s\u003de.attributes[t]||{},o\u003dObject.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]\u003d\"\",t}),{});zt(n)\u0026\u0026Rt(n)\u0026\u0026(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:[\"computeStyles\"]};function Ut(t){return t.split(\"-\")[0]}function Vt(t,e){var i\u003dt.getBoundingClientRect();return{width:i.width/1,height:i.height/1,top:i.top/1,right:i.right/1,bottom:i.bottom/1,left:i.left/1,x:i.left/1,y:i.top/1}}function Kt(t){var e\u003dVt(t),i\u003dt.offsetWidth,n\u003dt.offsetHeight;return Math.abs(e.width-i)\u003c\u003d1\u0026\u0026(i\u003de.width),Math.abs(e.height-n)\u003c\u003d1\u0026\u0026(n\u003de.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Xt(t,e){var i\u003de.getRootNode\u0026\u0026e.getRootNode();if(t.contains(e))return!0;if(i\u0026\u0026qt(i)){var n\u003de;do{if(n\u0026\u0026t.isSameNode(n))return!0;n\u003dn.parentNode||n.host}while(n)}return!1}function Yt(t){return Wt(t).getComputedStyle(t)}function Qt(t){return[\"table\",\"td\",\"th\"].indexOf(Rt(t))\u003e\u003d0}function Gt(t){return(($t(t)?t.ownerDocument:t.document)||window.document).documentElement}function Zt(t){return\"html\"\u003d\u003d\u003dRt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||Gt(t)}function Jt(t){return zt(t)\u0026\u0026\"fixed\"!\u003d\u003dYt(t).position?t.offsetParent:null}function te(t){for(var e\u003dWt(t),i\u003dJt(t);i\u0026\u0026Qt(i)\u0026\u0026\"static\"\u003d\u003d\u003dYt(i).position;)i\u003dJt(i);return i\u0026\u0026(\"html\"\u003d\u003d\u003dRt(i)||\"body\"\u003d\u003d\u003dRt(i)\u0026\u0026\"static\"\u003d\u003d\u003dYt(i).position)?e:i||function(t){var e\u003d-1!\u003d\u003dnavigator.userAgent.toLowerCase().indexOf(\"firefox\");if(-1!\u003d\u003dnavigator.userAgent.indexOf(\"Trident\")\u0026\u0026zt(t)\u0026\u0026\"fixed\"\u003d\u003d\u003dYt(t).position)return null;for(var i\u003dZt(t);zt(i)\u0026\u0026[\"html\",\"body\"].indexOf(Rt(i))\u003c0;){var n\u003dYt(i);if(\"none\"!\u003d\u003dn.transform||\"none\"!\u003d\u003dn.perspective||\"paint\"\u003d\u003d\u003dn.contain||-1!\u003d\u003d[\"transform\",\"perspective\"].indexOf(n.willChange)||e\u0026\u0026\"filter\"\u003d\u003d\u003dn.willChange||e\u0026\u0026n.filter\u0026\u0026\"none\"!\u003d\u003dn.filter)return i;i\u003di.parentNode}return null}(t)||e}function ee(t){return[\"top\",\"bottom\"].indexOf(t)\u003e\u003d0?\"x\":\"y\"}var ie\u003dMath.max,ne\u003dMath.min,se\u003dMath.round;function oe(t,e,i){return ie(t,ne(e,i))}function re(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ae(t,e){return e.reduce((function(e,i){return e[i]\u003dt,e}),{})}const le\u003d{name:\"arrow\",enabled:!0,phase:\"main\",fn:function(t){var e,i\u003dt.state,n\u003dt.name,s\u003dt.options,o\u003di.elements.arrow,r\u003di.modifiersData.popperOffsets,a\u003dUt(i.placement),l\u003dee(a),c\u003d[bt,_t].indexOf(a)\u003e\u003d0?\"height\":\"width\";if(o\u0026\u0026r){var h\u003dfunction(t,e){return re(\"number\"!\u003dtypeof(t\u003d\"function\"\u003d\u003dtypeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ae(t,yt))}(s.padding,i),d\u003dKt(o),u\u003d\"y\"\u003d\u003d\u003dl?mt:bt,f\u003d\"y\"\u003d\u003d\u003dl?gt:_t,p\u003di.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m\u003dr[l]-i.rects.reference[l],g\u003dte(o),_\u003dg?\"y\"\u003d\u003d\u003dl?g.clientHeight||0:g.clientWidth||0:0,b\u003dp/2-m/2,v\u003dh[u],y\u003d_-d[c]-h[f],w\u003d_/2-d[c]/2+b,E\u003doe(v,w,y),A\u003dl;i.modifiersData[n]\u003d((e\u003d{})[A]\u003dE,e.centerOffset\u003dE-w,e)}},effect:function(t){var e\u003dt.state,i\u003dt.options.element,n\u003dvoid 0\u003d\u003d\u003di?\"[data-popper-arrow]\":i;null!\u003dn\u0026\u0026(\"string\"!\u003dtypeof n||(n\u003de.elements.popper.querySelector(n)))\u0026\u0026Xt(e.elements.popper,n)\u0026\u0026(e.elements.arrow\u003dn)},requires:[\"popperOffsets\"],requiresIfExists:[\"preventOverflow\"]};function ce(t){return t.split(\"-\")[1]}var he\u003d{top:\"auto\",right:\"auto\",bottom:\"auto\",left:\"auto\"};function de(t){var e,i\u003dt.popper,n\u003dt.popperRect,s\u003dt.placement,o\u003dt.variation,r\u003dt.offsets,a\u003dt.position,l\u003dt.gpuAcceleration,c\u003dt.adaptive,h\u003dt.roundOffsets,d\u003d!0\u003d\u003d\u003dh?function(t){var e\u003dt.x,i\u003dt.y,n\u003dwindow.devicePixelRatio||1;return{x:se(se(e*n)/n)||0,y:se(se(i*n)/n)||0}}(r):\"function\"\u003d\u003dtypeof h?h(r):r,u\u003dd.x,f\u003dvoid 0\u003d\u003d\u003du?0:u,p\u003dd.y,m\u003dvoid 0\u003d\u003d\u003dp?0:p,g\u003dr.hasOwnProperty(\"x\"),_\u003dr.hasOwnProperty(\"y\"),b\u003dbt,v\u003dmt,y\u003dwindow;if(c){var w\u003dte(i),E\u003d\"clientHeight\",A\u003d\"clientWidth\";w\u003d\u003d\u003dWt(i)\u0026\u0026\"static\"!\u003d\u003dYt(w\u003dGt(i)).position\u0026\u0026\"absolute\"\u003d\u003d\u003da\u0026\u0026(E\u003d\"scrollHeight\",A\u003d\"scrollWidth\"),w\u003dw,s!\u003d\u003dmt\u0026\u0026(s!\u003d\u003dbt\u0026\u0026s!\u003d\u003d_t||o!\u003d\u003dEt)||(v\u003dgt,m-\u003dw[E]-n.height,m*\u003dl?1:-1),s!\u003d\u003dbt\u0026\u0026(s!\u003d\u003dmt\u0026\u0026s!\u003d\u003dgt||o!\u003d\u003dEt)||(b\u003d_t,f-\u003dw[A]-n.width,f*\u003dl?1:-1)}var T,O\u003dObject.assign({position:a},c\u0026\u0026he);return l?Object.assign({},O,((T\u003d{})[v]\u003d_?\"0\":\"\",T[b]\u003dg?\"0\":\"\",T.transform\u003d(y.devicePixelRatio||1)\u003c\u003d1?\"translate(\"+f+\"px, \"+m+\"px)\":\"translate3d(\"+f+\"px, \"+m+\"px, 0)\",T)):Object.assign({},O,((e\u003d{})[v]\u003d_?m+\"px\":\"\",e[b]\u003dg?f+\"px\":\"\",e.transform\u003d\"\",e))}const ue\u003d{name:\"computeStyles\",enabled:!0,phase:\"beforeWrite\",fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003di.gpuAcceleration,s\u003dvoid 0\u003d\u003d\u003dn||n,o\u003di.adaptive,r\u003dvoid 0\u003d\u003d\u003do||o,a\u003di.roundOffsets,l\u003dvoid 0\u003d\u003d\u003da||a,c\u003d{placement:Ut(e.placement),variation:ce(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!\u003de.modifiersData.popperOffsets\u0026\u0026(e.styles.popper\u003dObject.assign({},e.styles.popper,de(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!\u003de.modifiersData.arrow\u0026\u0026(e.styles.arrow\u003dObject.assign({},e.styles.arrow,de(Object.assign({},c,{offsets:e.modifiersData.arrow,position:\"absolute\",adaptive:!1,roundOffsets:l})))),e.attributes.popper\u003dObject.assign({},e.attributes.popper,{\"data-popper-placement\":e.placement})},data:{}};var fe\u003d{passive:!0};const pe\u003d{name:\"eventListeners\",enabled:!0,phase:\"write\",fn:function(){},effect:function(t){var e\u003dt.state,i\u003dt.instance,n\u003dt.options,s\u003dn.scroll,o\u003dvoid 0\u003d\u003d\u003ds||s,r\u003dn.resize,a\u003dvoid 0\u003d\u003d\u003dr||r,l\u003dWt(e.elements.popper),c\u003d[].concat(e.scrollParents.reference,e.scrollParents.popper);return o\u0026\u0026c.forEach((function(t){t.addEventListener(\"scroll\",i.update,fe)})),a\u0026\u0026l.addEventListener(\"resize\",i.update,fe),function(){o\u0026\u0026c.forEach((function(t){t.removeEventListener(\"scroll\",i.update,fe)})),a\u0026\u0026l.removeEventListener(\"resize\",i.update,fe)}},data:{}};var me\u003d{left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function ge(t){return t.replace(/left|right|bottom|top/g,(function(t){return me[t]}))}var _e\u003d{start:\"end\",end:\"start\"};function be(t){return t.replace(/start|end/g,(function(t){return _e[t]}))}function ve(t){var e\u003dWt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ye(t){return Vt(Gt(t)).left+ve(t).scrollLeft}function we(t){var e\u003dYt(t),i\u003de.overflow,n\u003de.overflowX,s\u003de.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return[\"html\",\"body\",\"#document\"].indexOf(Rt(t))\u003e\u003d0?t.ownerDocument.body:zt(t)\u0026\u0026we(t)?t:Ee(Zt(t))}function Ae(t,e){var i;void 0\u003d\u003d\u003de\u0026\u0026(e\u003d[]);var n\u003dEe(t),s\u003dn\u003d\u003d\u003d(null\u003d\u003d(i\u003dt.ownerDocument)?void 0:i.body),o\u003dWt(n),r\u003ds?[o].concat(o.visualViewport||[],we(n)?n:[]):n,a\u003de.concat(r);return s?a:a.concat(Ae(Zt(r)))}function Te(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e){return e\u003d\u003d\u003dTt?Te(function(t){var e\u003dWt(t),i\u003dGt(t),n\u003de.visualViewport,s\u003di.clientWidth,o\u003di.clientHeight,r\u003d0,a\u003d0;return n\u0026\u0026(s\u003dn.width,o\u003dn.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r\u003dn.offsetLeft,a\u003dn.offsetTop)),{width:s,height:o,x:r+ye(t),y:a}}(t)):zt(e)?function(t){var e\u003dVt(t);return e.top\u003de.top+t.clientTop,e.left\u003de.left+t.clientLeft,e.bottom\u003de.top+t.clientHeight,e.right\u003de.left+t.clientWidth,e.width\u003dt.clientWidth,e.height\u003dt.clientHeight,e.x\u003de.left,e.y\u003de.top,e}(e):Te(function(t){var e,i\u003dGt(t),n\u003dve(t),s\u003dnull\u003d\u003d(e\u003dt.ownerDocument)?void 0:e.body,o\u003die(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r\u003die(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a\u003d-n.scrollLeft+ye(t),l\u003d-n.scrollTop;return\"rtl\"\u003d\u003d\u003dYt(s||i).direction\u0026\u0026(a+\u003die(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Gt(t)))}function Ce(t){var e,i\u003dt.reference,n\u003dt.element,s\u003dt.placement,o\u003ds?Ut(s):null,r\u003ds?ce(s):null,a\u003di.x+i.width/2-n.width/2,l\u003di.y+i.height/2-n.height/2;switch(o){case mt:e\u003d{x:a,y:i.y-n.height};break;case gt:e\u003d{x:a,y:i.y+i.height};break;case _t:e\u003d{x:i.x+i.width,y:l};break;case bt:e\u003d{x:i.x-n.width,y:l};break;default:e\u003d{x:i.x,y:i.y}}var c\u003do?ee(o):null;if(null!\u003dc){var h\u003d\"y\"\u003d\u003d\u003dc?\"height\":\"width\";switch(r){case wt:e[c]\u003de[c]-(i[h]/2-n[h]/2);break;case Et:e[c]\u003de[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});var i\u003de,n\u003di.placement,s\u003dvoid 0\u003d\u003d\u003dn?t.placement:n,o\u003di.boundary,r\u003dvoid 0\u003d\u003d\u003do?At:o,a\u003di.rootBoundary,l\u003dvoid 0\u003d\u003d\u003da?Tt:a,c\u003di.elementContext,h\u003dvoid 0\u003d\u003d\u003dc?Ot:c,d\u003di.altBoundary,u\u003dvoid 0!\u003d\u003dd\u0026\u0026d,f\u003di.padding,p\u003dvoid 0\u003d\u003d\u003df?0:f,m\u003dre(\"number\"!\u003dtypeof p?p:ae(p,yt)),g\u003dh\u003d\u003d\u003dOt?Ct:Ot,_\u003dt.rects.popper,b\u003dt.elements[u?g:h],v\u003dfunction(t,e,i){var n\u003d\"clippingParents\"\u003d\u003d\u003de?function(t){var e\u003dAe(Zt(t)),i\u003d[\"absolute\",\"fixed\"].indexOf(Yt(t).position)\u003e\u003d0\u0026\u0026zt(t)?te(t):t;return $t(i)?e.filter((function(t){return $t(t)\u0026\u0026Xt(t,i)\u0026\u0026\"body\"!\u003d\u003dRt(t)})):[]}(t):[].concat(e),s\u003d[].concat(n,[i]),o\u003ds[0],r\u003ds.reduce((function(e,i){var n\u003dOe(t,i);return e.top\u003die(n.top,e.top),e.right\u003dne(n.right,e.right),e.bottom\u003dne(n.bottom,e.bottom),e.left\u003die(n.left,e.left),e}),Oe(t,o));return r.width\u003dr.right-r.left,r.height\u003dr.bottom-r.top,r.x\u003dr.left,r.y\u003dr.top,r}($t(b)?b:b.contextElement||Gt(t.elements.popper),r,l),y\u003dVt(t.elements.reference),w\u003dCe({reference:y,element:_,strategy:\"absolute\",placement:s}),E\u003dTe(Object.assign({},_,w)),A\u003dh\u003d\u003d\u003dOt?E:y,T\u003d{top:v.top-A.top+m.top,bottom:A.bottom-v.bottom+m.bottom,left:v.left-A.left+m.left,right:A.right-v.right+m.right},O\u003dt.modifiersData.offset;if(h\u003d\u003d\u003dOt\u0026\u0026O){var C\u003dO[s];Object.keys(T).forEach((function(t){var e\u003d[_t,gt].indexOf(t)\u003e\u003d0?1:-1,i\u003d[mt,gt].indexOf(t)\u003e\u003d0?\"y\":\"x\";T[t]+\u003dC[i]*e}))}return T}function Le(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});var i\u003de,n\u003di.placement,s\u003di.boundary,o\u003di.rootBoundary,r\u003di.padding,a\u003di.flipVariations,l\u003di.allowedAutoPlacements,c\u003dvoid 0\u003d\u003d\u003dl?Lt:l,h\u003dce(n),d\u003dh?a?kt:kt.filter((function(t){return ce(t)\u003d\u003d\u003dh})):yt,u\u003dd.filter((function(t){return c.indexOf(t)\u003e\u003d0}));0\u003d\u003d\u003du.length\u0026\u0026(u\u003dd);var f\u003du.reduce((function(e,i){return e[i]\u003dke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Ut(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const xe\u003d{name:\"flip\",enabled:!0,phase:\"main\",fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003dt.name;if(!e.modifiersData[n]._skip){for(var s\u003di.mainAxis,o\u003dvoid 0\u003d\u003d\u003ds||s,r\u003di.altAxis,a\u003dvoid 0\u003d\u003d\u003dr||r,l\u003di.fallbackPlacements,c\u003di.padding,h\u003di.boundary,d\u003di.rootBoundary,u\u003di.altBoundary,f\u003di.flipVariations,p\u003dvoid 0\u003d\u003d\u003df||f,m\u003di.allowedAutoPlacements,g\u003de.options.placement,_\u003dUt(g),b\u003dl||(_!\u003d\u003dg\u0026\u0026p?function(t){if(Ut(t)\u003d\u003d\u003dvt)return[];var e\u003dge(t);return[be(t),e,be(e)]}(g):[ge(g)]),v\u003d[g].concat(b).reduce((function(t,i){return t.concat(Ut(i)\u003d\u003d\u003dvt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y\u003de.rects.reference,w\u003de.rects.popper,E\u003dnew Map,A\u003d!0,T\u003dv[0],O\u003d0;O\u003cv.length;O++){var C\u003dv[O],k\u003dUt(C),L\u003dce(C)\u003d\u003d\u003dwt,x\u003d[mt,gt].indexOf(k)\u003e\u003d0,D\u003dx?\"width\":\"height\",S\u003dke(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),N\u003dx?L?_t:bt:L?gt:mt;y[D]\u003ew[D]\u0026\u0026(N\u003dge(N));var I\u003dge(N),P\u003d[];if(o\u0026\u0026P.push(S[k]\u003c\u003d0),a\u0026\u0026P.push(S[N]\u003c\u003d0,S[I]\u003c\u003d0),P.every((function(t){return t}))){T\u003dC,A\u003d!1;break}E.set(C,P)}if(A)for(var j\u003dfunction(t){var e\u003dv.find((function(e){var i\u003dE.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T\u003de,\"break\"},M\u003dp?3:1;M\u003e0\u0026\u0026\"break\"!\u003d\u003dj(M);M--);e.placement!\u003d\u003dT\u0026\u0026(e.modifiersData[n]._skip\u003d!0,e.placement\u003dT,e.reset\u003d!0)}},requiresIfExists:[\"offset\"],data:{_skip:!1}};function De(t,e,i){return void 0\u003d\u003d\u003di\u0026\u0026(i\u003d{x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Se(t){return[mt,_t,gt,bt].some((function(e){return t[e]\u003e\u003d0}))}const Ne\u003d{name:\"hide\",enabled:!0,phase:\"main\",requiresIfExists:[\"preventOverflow\"],fn:function(t){var e\u003dt.state,i\u003dt.name,n\u003de.rects.reference,s\u003de.rects.popper,o\u003de.modifiersData.preventOverflow,r\u003dke(e,{elementContext:\"reference\"}),a\u003dke(e,{altBoundary:!0}),l\u003dDe(r,n),c\u003dDe(a,s,o),h\u003dSe(l),d\u003dSe(c);e.modifiersData[i]\u003d{referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper\u003dObject.assign({},e.attributes.popper,{\"data-popper-reference-hidden\":h,\"data-popper-escaped\":d})}},Ie\u003d{name:\"offset\",enabled:!0,phase:\"main\",requires:[\"popperOffsets\"],fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003dt.name,s\u003di.offset,o\u003dvoid 0\u003d\u003d\u003ds?[0,0]:s,r\u003dLt.reduce((function(t,i){return t[i]\u003dfunction(t,e,i){var n\u003dUt(t),s\u003d[bt,mt].indexOf(n)\u003e\u003d0?-1:1,o\u003d\"function\"\u003d\u003dtypeof i?i(Object.assign({},e,{placement:t})):i,r\u003do[0],a\u003do[1];return r\u003dr||0,a\u003d(a||0)*s,[bt,_t].indexOf(n)\u003e\u003d0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a\u003dr[e.placement],l\u003da.x,c\u003da.y;null!\u003de.modifiersData.popperOffsets\u0026\u0026(e.modifiersData.popperOffsets.x+\u003dl,e.modifiersData.popperOffsets.y+\u003dc),e.modifiersData[n]\u003dr}},Pe\u003d{name:\"popperOffsets\",enabled:!0,phase:\"read\",fn:function(t){var e\u003dt.state,i\u003dt.name;e.modifiersData[i]\u003dCe({reference:e.rects.reference,element:e.rects.popper,strategy:\"absolute\",placement:e.placement})},data:{}},je\u003d{name:\"preventOverflow\",enabled:!0,phase:\"main\",fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003dt.name,s\u003di.mainAxis,o\u003dvoid 0\u003d\u003d\u003ds||s,r\u003di.altAxis,a\u003dvoid 0!\u003d\u003dr\u0026\u0026r,l\u003di.boundary,c\u003di.rootBoundary,h\u003di.altBoundary,d\u003di.padding,u\u003di.tether,f\u003dvoid 0\u003d\u003d\u003du||u,p\u003di.tetherOffset,m\u003dvoid 0\u003d\u003d\u003dp?0:p,g\u003dke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_\u003dUt(e.placement),b\u003dce(e.placement),v\u003d!b,y\u003dee(_),w\u003d\"x\"\u003d\u003d\u003dy?\"y\":\"x\",E\u003de.modifiersData.popperOffsets,A\u003de.rects.reference,T\u003de.rects.popper,O\u003d\"function\"\u003d\u003dtypeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C\u003d{x:0,y:0};if(E){if(o||a){var k\u003d\"y\"\u003d\u003d\u003dy?mt:bt,L\u003d\"y\"\u003d\u003d\u003dy?gt:_t,x\u003d\"y\"\u003d\u003d\u003dy?\"height\":\"width\",D\u003dE[y],S\u003dE[y]+g[k],N\u003dE[y]-g[L],I\u003df?-T[x]/2:0,P\u003db\u003d\u003d\u003dwt?A[x]:T[x],j\u003db\u003d\u003d\u003dwt?-T[x]:-A[x],M\u003de.elements.arrow,H\u003df\u0026\u0026M?Kt(M):{width:0,height:0},B\u003de.modifiersData[\"arrow#persistent\"]?e.modifiersData[\"arrow#persistent\"].padding:{top:0,right:0,bottom:0,left:0},R\u003dB[k],W\u003dB[L],$\u003doe(0,A[x],H[x]),z\u003dv?A[x]/2-I-$-R-O:P-$-R-O,q\u003dv?-A[x]/2+I+$+W+O:j+$+W+O,F\u003de.elements.arrow\u0026\u0026te(e.elements.arrow),U\u003dF?\"y\"\u003d\u003d\u003dy?F.clientTop||0:F.clientLeft||0:0,V\u003de.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K\u003dE[y]+z-V-U,X\u003dE[y]+q-V;if(o){var Y\u003doe(f?ne(S,K):S,D,f?ie(N,X):N);E[y]\u003dY,C[y]\u003dY-D}if(a){var Q\u003d\"x\"\u003d\u003d\u003dy?mt:bt,G\u003d\"x\"\u003d\u003d\u003dy?gt:_t,Z\u003dE[w],J\u003dZ+g[Q],tt\u003dZ-g[G],et\u003doe(f?ne(J,K):J,Z,f?ie(tt,X):tt);E[w]\u003det,C[w]\u003det-Z}}e.modifiersData[n]\u003dC}},requiresIfExists:[\"offset\"]};function Me(t,e,i){void 0\u003d\u003d\u003di\u0026\u0026(i\u003d!1);var n\u003dzt(e);zt(e)\u0026\u0026function(t){var e\u003dt.getBoundingClientRect();e.width,t.offsetWidth,e.height,t.offsetHeight}(e);var s,o,r\u003dGt(e),a\u003dVt(t),l\u003d{scrollLeft:0,scrollTop:0},c\u003d{x:0,y:0};return(n||!n\u0026\u0026!i)\u0026\u0026((\"body\"!\u003d\u003dRt(e)||we(r))\u0026\u0026(l\u003d(s\u003de)!\u003d\u003dWt(s)\u0026\u0026zt(s)?{scrollLeft:(o\u003ds).scrollLeft,scrollTop:o.scrollTop}:ve(s)),zt(e)?((c\u003dVt(e)).x+\u003de.clientLeft,c.y+\u003de.clientTop):r\u0026\u0026(c.x\u003dye(r))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function He(t){var e\u003dnew Map,i\u003dnew Set,n\u003d[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n\u003de.get(t);n\u0026\u0026s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Be\u003d{placement:\"bottom\",modifiers:[],strategy:\"absolute\"};function Re(){for(var t\u003darguments.length,e\u003dnew Array(t),i\u003d0;i\u003ct;i++)e[i]\u003darguments[i];return!e.some((function(t){return!(t\u0026\u0026\"function\"\u003d\u003dtypeof t.getBoundingClientRect)}))}function We(t){void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{});var e\u003dt,i\u003de.defaultModifiers,n\u003dvoid 0\u003d\u003d\u003di?[]:i,s\u003de.defaultOptions,o\u003dvoid 0\u003d\u003d\u003ds?Be:s;return function(t,e,i){void 0\u003d\u003d\u003di\u0026\u0026(i\u003do);var s,r,a\u003d{placement:\"bottom\",orderedModifiers:[],options:Object.assign({},Be,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l\u003d[],c\u003d!1,h\u003d{state:a,setOptions:function(i){var s\u003d\"function\"\u003d\u003dtypeof i?i(a.options):i;d(),a.options\u003dObject.assign({},o,a.options,s),a.scrollParents\u003d{reference:$t(t)?Ae(t):t.contextElement?Ae(t.contextElement):[],popper:Ae(e)};var r,c,u\u003dfunction(t){var e\u003dHe(t);return Bt.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase\u003d\u003d\u003di})))}),[])}((r\u003d[].concat(n,a.options.modifiers),c\u003dr.reduce((function(t,e){var i\u003dt[e.name];return t[e.name]\u003di?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(c).map((function(t){return c[t]}))));return a.orderedModifiers\u003du.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e\u003dt.name,i\u003dt.options,n\u003dvoid 0\u003d\u003d\u003di?{}:i,s\u003dt.effect;if(\"function\"\u003d\u003dtypeof s){var o\u003ds({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t\u003da.elements,e\u003dt.reference,i\u003dt.popper;if(Re(e,i)){a.rects\u003d{reference:Me(e,te(i),\"fixed\"\u003d\u003d\u003da.options.strategy),popper:Kt(i)},a.reset\u003d!1,a.placement\u003da.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]\u003dObject.assign({},t.data)}));for(var n\u003d0;n\u003ca.orderedModifiers.length;n++)if(!0!\u003d\u003da.reset){var s\u003da.orderedModifiers[n],o\u003ds.fn,r\u003ds.options,l\u003dvoid 0\u003d\u003d\u003dr?{}:r,d\u003ds.name;\"function\"\u003d\u003dtypeof o\u0026\u0026(a\u003do({state:a,options:l,name:d,instance:h})||a)}else a.reset\u003d!1,n\u003d-1}}},update:(s\u003dfunction(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r\u003dnew Promise((function(t){Promise.resolve().then((function(){r\u003dvoid 0,t(s())}))}))),r}),destroy:function(){d(),c\u003d!0}};if(!Re(t,e))return h;function d(){l.forEach((function(t){return t()})),l\u003d[]}return h.setOptions(i).then((function(t){!c\u0026\u0026i.onFirstUpdate\u0026\u0026i.onFirstUpdate(t)})),h}}var $e\u003dWe(),ze\u003dWe({defaultModifiers:[pe,Pe,ue,Ft]}),qe\u003dWe({defaultModifiers:[pe,Pe,ue,Ft,Ie,xe,je,le,Ne]});const Fe\u003dObject.freeze({__proto__:null,popperGenerator:We,detectOverflow:ke,createPopperBase:$e,createPopper:qe,createPopperLite:ze,top:mt,bottom:gt,right:_t,left:bt,auto:vt,basePlacements:yt,start:wt,end:Et,clippingParents:At,viewport:Tt,popper:Ot,reference:Ct,variationPlacements:kt,placements:Lt,beforeRead:xt,read:Dt,afterRead:St,beforeMain:Nt,main:It,afterMain:Pt,beforeWrite:jt,write:Mt,afterWrite:Ht,modifierPhases:Bt,applyStyles:Ft,arrow:le,computeStyles:ue,eventListeners:pe,flip:xe,hide:Ne,offset:Ie,popperOffsets:Pe,preventOverflow:je}),Ue\u003d\"dropdown\",Ve\u003d\"Escape\",Ke\u003d\"Space\",Xe\u003d\"ArrowUp\",Ye\u003d\"ArrowDown\",Qe\u003dnew RegExp(\"ArrowUp|ArrowDown|Escape\"),Ge\u003d\"click.bs.dropdown.data-api\",Ze\u003d\"keydown.bs.dropdown.data-api\",Je\u003d\"show\",ti\u003d\u0027[data-bs-toggle\u003d\"dropdown\"]\u0027,ei\u003d\".dropdown-menu\",ii\u003dm()?\"top-end\":\"top-start\",ni\u003dm()?\"top-start\":\"top-end\",si\u003dm()?\"bottom-end\":\"bottom-start\",oi\u003dm()?\"bottom-start\":\"bottom-end\",ri\u003dm()?\"left-start\":\"right-start\",ai\u003dm()?\"right-start\":\"left-start\",li\u003d{offset:[0,2],boundary:\"clippingParents\",reference:\"toggle\",display:\"dynamic\",popperConfig:null,autoClose:!0},ci\u003d{offset:\"(array|string|function)\",boundary:\"(string|element)\",reference:\"(string|element|object)\",display:\"string\",popperConfig:\"(null|object|function)\",autoClose:\"(boolean|string)\"};class hi extends B{constructor(t,e){super(t),this._popper\u003dnull,this._config\u003dthis._getConfig(e),this._menu\u003dthis._getMenuElement(),this._inNavbar\u003dthis._detectNavbar()}static get Default(){return li}static get DefaultType(){return ci}static get NAME(){return Ue}toggle(){return this._isShown()?this.hide():this.show()}show(){if(c(this._element)||this._isShown(this._menu))return;const t\u003d{relatedTarget:this._element};if(j.trigger(this._element,\"show.bs.dropdown\",t).defaultPrevented)return;const e\u003dhi.getParentFromElement(this._element);this._inNavbar?U.setDataAttribute(this._menu,\"popper\",\"none\"):this._createPopper(e),\"ontouchstart\"in document.documentElement\u0026\u0026!e.closest(\".navbar-nav\")\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003ej.on(t,\"mouseover\",d))),this._element.focus(),this._element.setAttribute(\"aria-expanded\",!0),this._menu.classList.add(Je),this._element.classList.add(Je),j.trigger(this._element,\"shown.bs.dropdown\",t)}hide(){if(c(this._element)||!this._isShown(this._menu))return;const t\u003d{relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper\u0026\u0026this._popper.destroy(),super.dispose()}update(){this._inNavbar\u003dthis._detectNavbar(),this._popper\u0026\u0026this._popper.update()}_completeHide(t){j.trigger(this._element,\"hide.bs.dropdown\",t).defaultPrevented||(\"ontouchstart\"in document.documentElement\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003ej.off(t,\"mouseover\",d))),this._popper\u0026\u0026this._popper.destroy(),this._menu.classList.remove(Je),this._element.classList.remove(Je),this._element.setAttribute(\"aria-expanded\",\"false\"),U.removeDataAttribute(this._menu,\"popper\"),j.trigger(this._element,\"hidden.bs.dropdown\",t))}_getConfig(t){if(t\u003d{...this.constructor.Default,...U.getDataAttributes(this._element),...t},a(Ue,t,this.constructor.DefaultType),\"object\"\u003d\u003dtypeof t.reference\u0026\u0026!o(t.reference)\u0026\u0026\"function\"!\u003dtypeof t.reference.getBoundingClientRect)throw new TypeError(`${Ue.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);return t}_createPopper(t){if(void 0\u003d\u003d\u003dFe)throw new TypeError(\"Bootstrap\u0027s dropdowns require Popper (https://popper.js.org)\");let e\u003dthis._element;\"parent\"\u003d\u003d\u003dthis._config.reference?e\u003dt:o(this._config.reference)?e\u003dr(this._config.reference):\"object\"\u003d\u003dtypeof this._config.reference\u0026\u0026(e\u003dthis._config.reference);const i\u003dthis._getPopperConfig(),n\u003di.modifiers.find((t\u003d\u003e\"applyStyles\"\u003d\u003d\u003dt.name\u0026\u0026!1\u003d\u003d\u003dt.enabled));this._popper\u003dqe(e,this._menu,i),n\u0026\u0026U.setDataAttribute(this._menu,\"popper\",\"static\")}_isShown(t\u003dthis._element){return t.classList.contains(Je)}_getMenuElement(){return V.next(this._element,ei)[0]}_getPlacement(){const t\u003dthis._element.parentNode;if(t.classList.contains(\"dropend\"))return ri;if(t.classList.contains(\"dropstart\"))return ai;const e\u003d\"end\"\u003d\u003d\u003dgetComputedStyle(this._menu).getPropertyValue(\"--bs-position\").trim();return t.classList.contains(\"dropup\")?e?ni:ii:e?oi:si}_detectNavbar(){return null!\u003d\u003dthis._element.closest(\".navbar\")}_getOffset(){const{offset:t}\u003dthis._config;return\"string\"\u003d\u003dtypeof t?t.split(\",\").map((t\u003d\u003eNumber.parseInt(t,10))):\"function\"\u003d\u003dtypeof t?e\u003d\u003et(e,this._element):t}_getPopperConfig(){const t\u003d{placement:this._getPlacement(),modifiers:[{name:\"preventOverflow\",options:{boundary:this._config.boundary}},{name:\"offset\",options:{offset:this._getOffset()}}]};return\"static\"\u003d\u003d\u003dthis._config.display\u0026\u0026(t.modifiers\u003d[{name:\"applyStyles\",enabled:!1}]),{...t,...\"function\"\u003d\u003dtypeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i\u003dV.find(\".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)\",this._menu).filter(l);i.length\u0026\u0026v(i,e,t\u003d\u003d\u003dYe,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e\u003dhi.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}static clearMenus(t){if(t\u0026\u0026(2\u003d\u003d\u003dt.button||\"keyup\"\u003d\u003d\u003dt.type\u0026\u0026\"Tab\"!\u003d\u003dt.key))return;const e\u003dV.find(ti);for(let i\u003d0,n\u003de.length;i\u003cn;i++){const n\u003dhi.getInstance(e[i]);if(!n||!1\u003d\u003d\u003dn._config.autoClose)continue;if(!n._isShown())continue;const s\u003d{relatedTarget:n._element};if(t){const e\u003dt.composedPath(),i\u003de.includes(n._menu);if(e.includes(n._element)||\"inside\"\u003d\u003d\u003dn._config.autoClose\u0026\u0026!i||\"outside\"\u003d\u003d\u003dn._config.autoClose\u0026\u0026i)continue;if(n._menu.contains(t.target)\u0026\u0026(\"keyup\"\u003d\u003d\u003dt.type\u0026\u0026\"Tab\"\u003d\u003d\u003dt.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;\"click\"\u003d\u003d\u003dt.type\u0026\u0026(s.clickEvent\u003dt)}n._completeHide(s)}}static getParentFromElement(t){return n(t)||t.parentNode}static dataApiKeydownHandler(t){if(/input|textarea/i.test(t.target.tagName)?t.key\u003d\u003d\u003dKe||t.key!\u003d\u003dVe\u0026\u0026(t.key!\u003d\u003dYe\u0026\u0026t.key!\u003d\u003dXe||t.target.closest(ei)):!Qe.test(t.key))return;const e\u003dthis.classList.contains(Je);if(!e\u0026\u0026t.key\u003d\u003d\u003dVe)return;if(t.preventDefault(),t.stopPropagation(),c(this))return;const i\u003dthis.matches(ti)?this:V.prev(this,ti)[0],n\u003dhi.getOrCreateInstance(i);if(t.key!\u003d\u003dVe)return t.key\u003d\u003d\u003dXe||t.key\u003d\u003d\u003dYe?(e||n.show(),void n._selectMenuItem(t)):void(e\u0026\u0026t.key!\u003d\u003dKe||hi.clearMenus());n.hide()}}j.on(document,Ze,ti,hi.dataApiKeydownHandler),j.on(document,Ze,ei,hi.dataApiKeydownHandler),j.on(document,Ge,hi.clearMenus),j.on(document,\"keyup.bs.dropdown.data-api\",hi.clearMenus),j.on(document,Ge,ti,(function(t){t.preventDefault(),hi.getOrCreateInstance(this).toggle()})),g(hi);const di\u003d\".fixed-top, .fixed-bottom, .is-fixed, .sticky-top\",ui\u003d\".sticky-top\";class fi{constructor(){this._element\u003ddocument.body}getWidth(){const t\u003ddocument.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t\u003dthis.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,\"paddingRight\",(e\u003d\u003ee+t)),this._setElementAttributes(di,\"paddingRight\",(e\u003d\u003ee+t)),this._setElementAttributes(ui,\"marginRight\",(e\u003d\u003ee-t))}_disableOverFlow(){this._saveInitialAttribute(this._element,\"overflow\"),this._element.style.overflow\u003d\"hidden\"}_setElementAttributes(t,e,i){const n\u003dthis.getWidth();this._applyManipulationCallback(t,(t\u003d\u003e{if(t!\u003d\u003dthis._element\u0026\u0026window.innerWidth\u003et.clientWidth+n)return;this._saveInitialAttribute(t,e);const s\u003dwindow.getComputedStyle(t)[e];t.style[e]\u003d`${i(Number.parseFloat(s))}px`}))}reset(){this._resetElementAttributes(this._element,\"overflow\"),this._resetElementAttributes(this._element,\"paddingRight\"),this._resetElementAttributes(di,\"paddingRight\"),this._resetElementAttributes(ui,\"marginRight\")}_saveInitialAttribute(t,e){const i\u003dt.style[e];i\u0026\u0026U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t\u003d\u003e{const i\u003dU.getDataAttribute(t,e);void 0\u003d\u003d\u003di?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]\u003di)}))}_applyManipulationCallback(t,e){o(t)?e(t):V.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()\u003e0}}const pi\u003d{className:\"modal-backdrop\",isVisible:!0,isAnimated:!1,rootElement:\"body\",clickCallback:null},mi\u003d{className:\"string\",isVisible:\"boolean\",isAnimated:\"boolean\",rootElement:\"(element|string)\",clickCallback:\"(function|null)\"},gi\u003d\"show\",_i\u003d\"mousedown.bs.backdrop\";class bi{constructor(t){this._config\u003dthis._getConfig(t),this._isAppended\u003d!1,this._element\u003dnull}show(t){this._config.isVisible?(this._append(),this._config.isAnimated\u0026\u0026u(this._getElement()),this._getElement().classList.add(gi),this._emulateAnimation((()\u003d\u003e{_(t)}))):_(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove(gi),this._emulateAnimation((()\u003d\u003e{this.dispose(),_(t)}))):_(t)}_getElement(){if(!this._element){const t\u003ddocument.createElement(\"div\");t.className\u003dthis._config.className,this._config.isAnimated\u0026\u0026t.classList.add(\"fade\"),this._element\u003dt}return this._element}_getConfig(t){return(t\u003d{...pi,...\"object\"\u003d\u003dtypeof t?t:{}}).rootElement\u003dr(t.rootElement),a(\"backdrop\",t,mi),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),j.on(this._getElement(),_i,(()\u003d\u003e{_(this._config.clickCallback)})),this._isAppended\u003d!0)}dispose(){this._isAppended\u0026\u0026(j.off(this._element,_i),this._element.remove(),this._isAppended\u003d!1)}_emulateAnimation(t){b(t,this._getElement(),this._config.isAnimated)}}const vi\u003d{trapElement:null,autofocus:!0},yi\u003d{trapElement:\"element\",autofocus:\"boolean\"},wi\u003d\".bs.focustrap\",Ei\u003d\"backward\";class Ai{constructor(t){this._config\u003dthis._getConfig(t),this._isActive\u003d!1,this._lastTabNavDirection\u003dnull}activate(){const{trapElement:t,autofocus:e}\u003dthis._config;this._isActive||(e\u0026\u0026t.focus(),j.off(document,wi),j.on(document,\"focusin.bs.focustrap\",(t\u003d\u003ethis._handleFocusin(t))),j.on(document,\"keydown.tab.bs.focustrap\",(t\u003d\u003ethis._handleKeydown(t))),this._isActive\u003d!0)}deactivate(){this._isActive\u0026\u0026(this._isActive\u003d!1,j.off(document,wi))}_handleFocusin(t){const{target:e}\u003dt,{trapElement:i}\u003dthis._config;if(e\u003d\u003d\u003ddocument||e\u003d\u003d\u003di||i.contains(e))return;const n\u003dV.focusableChildren(i);0\u003d\u003d\u003dn.length?i.focus():this._lastTabNavDirection\u003d\u003d\u003dEi?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){\"Tab\"\u003d\u003d\u003dt.key\u0026\u0026(this._lastTabNavDirection\u003dt.shiftKey?Ei:\"forward\")}_getConfig(t){return t\u003d{...vi,...\"object\"\u003d\u003dtypeof t?t:{}},a(\"focustrap\",t,yi),t}}const Ti\u003d\"modal\",Oi\u003d\"Escape\",Ci\u003d{backdrop:!0,keyboard:!0,focus:!0},ki\u003d{backdrop:\"(boolean|string)\",keyboard:\"boolean\",focus:\"boolean\"},Li\u003d\"hidden.bs.modal\",xi\u003d\"show.bs.modal\",Di\u003d\"resize.bs.modal\",Si\u003d\"click.dismiss.bs.modal\",Ni\u003d\"keydown.dismiss.bs.modal\",Ii\u003d\"mousedown.dismiss.bs.modal\",Pi\u003d\"modal-open\",ji\u003d\"show\",Mi\u003d\"modal-static\";class Hi extends B{constructor(t,e){super(t),this._config\u003dthis._getConfig(e),this._dialog\u003dV.findOne(\".modal-dialog\",this._element),this._backdrop\u003dthis._initializeBackDrop(),this._focustrap\u003dthis._initializeFocusTrap(),this._isShown\u003d!1,this._ignoreBackdropClick\u003d!1,this._isTransitioning\u003d!1,this._scrollBar\u003dnew fi}static get Default(){return Ci}static get NAME(){return Ti}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown\u003d!0,this._isAnimated()\u0026\u0026(this._isTransitioning\u003d!0),this._scrollBar.hide(),document.body.classList.add(Pi),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),j.on(this._dialog,Ii,(()\u003d\u003e{j.one(this._element,\"mouseup.dismiss.bs.modal\",(t\u003d\u003e{t.target\u003d\u003d\u003dthis._element\u0026\u0026(this._ignoreBackdropClick\u003d!0)}))})),this._showBackdrop((()\u003d\u003ethis._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;if(j.trigger(this._element,\"hide.bs.modal\").defaultPrevented)return;this._isShown\u003d!1;const t\u003dthis._isAnimated();t\u0026\u0026(this._isTransitioning\u003d!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(ji),j.off(this._element,Si),j.off(this._dialog,Ii),this._queueCallback((()\u003d\u003ethis._hideModal()),this._element,t)}dispose(){[window,this._dialog].forEach((t\u003d\u003ej.off(t,\".bs.modal\"))),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new bi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_getConfig(t){return t\u003d{...Ci,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t?t:{}},a(Ti,t,ki),t}_showElement(t){const e\u003dthis._isAnimated(),i\u003dV.findOne(\".modal-body\",this._dialog);this._element.parentNode\u0026\u0026this._element.parentNode.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE||document.body.append(this._element),this._element.style.display\u003d\"block\",this._element.removeAttribute(\"aria-hidden\"),this._element.setAttribute(\"aria-modal\",!0),this._element.setAttribute(\"role\",\"dialog\"),this._element.scrollTop\u003d0,i\u0026\u0026(i.scrollTop\u003d0),e\u0026\u0026u(this._element),this._element.classList.add(ji),this._queueCallback((()\u003d\u003e{this._config.focus\u0026\u0026this._focustrap.activate(),this._isTransitioning\u003d!1,j.trigger(this._element,\"shown.bs.modal\",{relatedTarget:t})}),this._dialog,e)}_setEscapeEvent(){this._isShown?j.on(this._element,Ni,(t\u003d\u003e{this._config.keyboard\u0026\u0026t.key\u003d\u003d\u003dOi?(t.preventDefault(),this.hide()):this._config.keyboard||t.key!\u003d\u003dOi||this._triggerBackdropTransition()})):j.off(this._element,Ni)}_setResizeEvent(){this._isShown?j.on(window,Di,(()\u003d\u003ethis._adjustDialog())):j.off(window,Di)}_hideModal(){this._element.style.display\u003d\"none\",this._element.setAttribute(\"aria-hidden\",!0),this._element.removeAttribute(\"aria-modal\"),this._element.removeAttribute(\"role\"),this._isTransitioning\u003d!1,this._backdrop.hide((()\u003d\u003e{document.body.classList.remove(Pi),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,Li)}))}_showBackdrop(t){j.on(this._element,Si,(t\u003d\u003e{this._ignoreBackdropClick?this._ignoreBackdropClick\u003d!1:t.target\u003d\u003d\u003dt.currentTarget\u0026\u0026(!0\u003d\u003d\u003dthis._config.backdrop?this.hide():\"static\"\u003d\u003d\u003dthis._config.backdrop\u0026\u0026this._triggerBackdropTransition())})),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains(\"fade\")}_triggerBackdropTransition(){if(j.trigger(this._element,\"hidePrevented.bs.modal\").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}\u003dthis._element,n\u003de\u003edocument.documentElement.clientHeight;!n\u0026\u0026\"hidden\"\u003d\u003d\u003di.overflowY||t.contains(Mi)||(n||(i.overflowY\u003d\"hidden\"),t.add(Mi),this._queueCallback((()\u003d\u003e{t.remove(Mi),n||this._queueCallback((()\u003d\u003e{i.overflowY\u003d\"\"}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t\u003dthis._element.scrollHeight\u003edocument.documentElement.clientHeight,e\u003dthis._scrollBar.getWidth(),i\u003de\u003e0;(!i\u0026\u0026t\u0026\u0026!m()||i\u0026\u0026!t\u0026\u0026m())\u0026\u0026(this._element.style.paddingLeft\u003d`${e}px`),(i\u0026\u0026!t\u0026\u0026!m()||!i\u0026\u0026t\u0026\u0026m())\u0026\u0026(this._element.style.paddingRight\u003d`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft\u003d\"\",this._element.style.paddingRight\u003d\"\"}static jQueryInterface(t,e){return this.each((function(){const i\u003dHi.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003di[t])throw new TypeError(`No method named \"${t}\"`);i[t](e)}}))}}j.on(document,\"click.bs.modal.data-api\",\u0027[data-bs-toggle\u003d\"modal\"]\u0027,(function(t){const e\u003dn(this);[\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026t.preventDefault(),j.one(e,xi,(t\u003d\u003e{t.defaultPrevented||j.one(e,Li,(()\u003d\u003e{l(this)\u0026\u0026this.focus()}))}));const i\u003dV.findOne(\".modal.show\");i\u0026\u0026Hi.getInstance(i).hide(),Hi.getOrCreateInstance(e).toggle(this)})),R(Hi),g(Hi);const Bi\u003d\"offcanvas\",Ri\u003d{backdrop:!0,keyboard:!0,scroll:!1},Wi\u003d{backdrop:\"boolean\",keyboard:\"boolean\",scroll:\"boolean\"},$i\u003d\"show\",zi\u003d\".offcanvas.show\",qi\u003d\"hidden.bs.offcanvas\";class Fi extends B{constructor(t,e){super(t),this._config\u003dthis._getConfig(e),this._isShown\u003d!1,this._backdrop\u003dthis._initializeBackDrop(),this._focustrap\u003dthis._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return Bi}static get Default(){return Ri}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,\"show.bs.offcanvas\",{relatedTarget:t}).defaultPrevented||(this._isShown\u003d!0,this._element.style.visibility\u003d\"visible\",this._backdrop.show(),this._config.scroll||(new fi).hide(),this._element.removeAttribute(\"aria-hidden\"),this._element.setAttribute(\"aria-modal\",!0),this._element.setAttribute(\"role\",\"dialog\"),this._element.classList.add($i),this._queueCallback((()\u003d\u003e{this._config.scroll||this._focustrap.activate(),j.trigger(this._element,\"shown.bs.offcanvas\",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown\u0026\u0026(j.trigger(this._element,\"hide.bs.offcanvas\").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown\u003d!1,this._element.classList.remove($i),this._backdrop.hide(),this._queueCallback((()\u003d\u003e{this._element.setAttribute(\"aria-hidden\",!0),this._element.removeAttribute(\"aria-modal\"),this._element.removeAttribute(\"role\"),this._element.style.visibility\u003d\"hidden\",this._config.scroll||(new fi).reset(),j.trigger(this._element,qi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t\u003d{...Ri,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t?t:{}},a(Bi,t,Wi),t}_initializeBackDrop(){return new bi({className:\"offcanvas-backdrop\",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()\u003d\u003ethis.hide()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_addEventListeners(){j.on(this._element,\"keydown.dismiss.bs.offcanvas\",(t\u003d\u003e{this._config.keyboard\u0026\u0026\"Escape\"\u003d\u003d\u003dt.key\u0026\u0026this.hide()}))}static jQueryInterface(t){return this.each((function(){const e\u003dFi.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t]||t.startsWith(\"_\")||\"constructor\"\u003d\u003d\u003dt)throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}j.on(document,\"click.bs.offcanvas.data-api\",\u0027[data-bs-toggle\u003d\"offcanvas\"]\u0027,(function(t){const e\u003dn(this);if([\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026t.preventDefault(),c(this))return;j.one(e,qi,(()\u003d\u003e{l(this)\u0026\u0026this.focus()}));const i\u003dV.findOne(zi);i\u0026\u0026i!\u003d\u003de\u0026\u0026Fi.getInstance(i).hide(),Fi.getOrCreateInstance(e).toggle(this)})),j.on(window,\"load.bs.offcanvas.data-api\",(()\u003d\u003eV.find(zi).forEach((t\u003d\u003eFi.getOrCreateInstance(t).show())))),R(Fi),g(Fi);const Ui\u003dnew Set([\"background\",\"cite\",\"href\",\"itemtype\",\"longdesc\",\"poster\",\"src\",\"xlink:href\"]),Vi\u003d/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#\u0026/:?]*(?:[#/?]|$))/i,Ki\u003d/^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+\u003d*$/i,Xi\u003d(t,e)\u003d\u003e{const i\u003dt.nodeName.toLowerCase();if(e.includes(i))return!Ui.has(i)||Boolean(Vi.test(t.nodeValue)||Ki.test(t.nodeValue));const n\u003de.filter((t\u003d\u003et instanceof RegExp));for(let t\u003d0,e\u003dn.length;t\u003ce;t++)if(n[t].test(i))return!0;return!1};function Yi(t,e,i){if(!t.length)return t;if(i\u0026\u0026\"function\"\u003d\u003dtypeof i)return i(t);const n\u003d(new window.DOMParser).parseFromString(t,\"text/html\"),s\u003d[].concat(...n.body.querySelectorAll(\"*\"));for(let t\u003d0,i\u003ds.length;t\u003ci;t++){const i\u003ds[t],n\u003di.nodeName.toLowerCase();if(!Object.keys(e).includes(n)){i.remove();continue}const o\u003d[].concat(...i.attributes),r\u003d[].concat(e[\"*\"]||[],e[n]||[]);o.forEach((t\u003d\u003e{Xi(t,r)||i.removeAttribute(t.nodeName)}))}return n.body.innerHTML}const Qi\u003d\"tooltip\",Gi\u003dnew Set([\"sanitize\",\"allowList\",\"sanitizeFn\"]),Zi\u003d{animation:\"boolean\",template:\"string\",title:\"(string|element|function)\",trigger:\"string\",delay:\"(number|object)\",html:\"boolean\",selector:\"(string|boolean)\",placement:\"(string|function)\",offset:\"(array|string|function)\",container:\"(string|element|boolean)\",fallbackPlacements:\"array\",boundary:\"(string|element)\",customClass:\"(string|function)\",sanitize:\"boolean\",sanitizeFn:\"(null|function)\",allowList:\"object\",popperConfig:\"(null|object|function)\"},Ji\u003d{AUTO:\"auto\",TOP:\"top\",RIGHT:m()?\"left\":\"right\",BOTTOM:\"bottom\",LEFT:m()?\"right\":\"left\"},tn\u003d{animation:!0,template:\u0027\u003cdiv class\u003d\"tooltip\" role\u003d\"tooltip\"\u003e\u003cdiv class\u003d\"tooltip-arrow\"\u003e\u003c/div\u003e\u003cdiv class\u003d\"tooltip-inner\"\u003e\u003c/div\u003e\u003c/div\u003e\u0027,trigger:\"hover focus\",title:\"\",delay:0,html:!1,selector:!1,placement:\"top\",offset:[0,0],container:!1,fallbackPlacements:[\"top\",\"right\",\"bottom\",\"left\"],boundary:\"clippingParents\",customClass:\"\",sanitize:!0,sanitizeFn:null,allowList:{\"*\":[\"class\",\"dir\",\"id\",\"lang\",\"role\",/^aria-[\\w-]*$/i],a:[\"target\",\"href\",\"title\",\"rel\"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:[\"src\",\"srcset\",\"alt\",\"title\",\"width\",\"height\"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},en\u003d{HIDE:\"hide.bs.tooltip\",HIDDEN:\"hidden.bs.tooltip\",SHOW:\"show.bs.tooltip\",SHOWN:\"shown.bs.tooltip\",INSERTED:\"inserted.bs.tooltip\",CLICK:\"click.bs.tooltip\",FOCUSIN:\"focusin.bs.tooltip\",FOCUSOUT:\"focusout.bs.tooltip\",MOUSEENTER:\"mouseenter.bs.tooltip\",MOUSELEAVE:\"mouseleave.bs.tooltip\"},nn\u003d\"fade\",sn\u003d\"show\",on\u003d\"show\",rn\u003d\"out\",an\u003d\".tooltip-inner\",ln\u003d\".modal\",cn\u003d\"hide.bs.modal\",hn\u003d\"hover\",dn\u003d\"focus\";class un extends B{constructor(t,e){if(void 0\u003d\u003d\u003dFe)throw new TypeError(\"Bootstrap\u0027s tooltips require Popper (https://popper.js.org)\");super(t),this._isEnabled\u003d!0,this._timeout\u003d0,this._hoverState\u003d\"\",this._activeTrigger\u003d{},this._popper\u003dnull,this._config\u003dthis._getConfig(e),this.tip\u003dnull,this._setListeners()}static get Default(){return tn}static get NAME(){return Qi}static get Event(){return en}static get DefaultType(){return Zi}enable(){this._isEnabled\u003d!0}disable(){this._isEnabled\u003d!1}toggleEnabled(){this._isEnabled\u003d!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e\u003dthis._initializeOnDelegatedTarget(t);e._activeTrigger.click\u003d!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(sn))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(ln),cn,this._hideModalHandler),this.tip\u0026\u0026this.tip.remove(),this._disposePopper(),super.dispose()}show(){if(\"none\"\u003d\u003d\u003dthis._element.style.display)throw new Error(\"Please use show on visible elements\");if(!this.isWithContent()||!this._isEnabled)return;const t\u003dj.trigger(this._element,this.constructor.Event.SHOW),e\u003dh(this._element),i\u003dnull\u003d\u003d\u003de?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;\"tooltip\"\u003d\u003d\u003dthis.constructor.NAME\u0026\u0026this.tip\u0026\u0026this.getTitle()!\u003d\u003dthis.tip.querySelector(an).innerHTML\u0026\u0026(this._disposePopper(),this.tip.remove(),this.tip\u003dnull);const n\u003dthis.getTipElement(),s\u003d(t\u003d\u003e{do{t+\u003dMath.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute(\"id\",s),this._element.setAttribute(\"aria-describedby\",s),this._config.animation\u0026\u0026n.classList.add(nn);const o\u003d\"function\"\u003d\u003dtypeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,r\u003dthis._getAttachment(o);this._addAttachmentClass(r);const{container:a}\u003dthis._config;H.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(n),j.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper\u003dqe(this._element,n,this._getPopperConfig(r)),n.classList.add(sn);const l\u003dthis._resolvePossibleFunction(this._config.customClass);l\u0026\u0026n.classList.add(...l.split(\" \")),\"ontouchstart\"in document.documentElement\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003e{j.on(t,\"mouseover\",d)}));const c\u003dthis.tip.classList.contains(nn);this._queueCallback((()\u003d\u003e{const t\u003dthis._hoverState;this._hoverState\u003dnull,j.trigger(this._element,this.constructor.Event.SHOWN),t\u003d\u003d\u003drn\u0026\u0026this._leave(null,this)}),this.tip,c)}hide(){if(!this._popper)return;const t\u003dthis.getTipElement();if(j.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove(sn),\"ontouchstart\"in document.documentElement\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003ej.off(t,\"mouseover\",d))),this._activeTrigger.click\u003d!1,this._activeTrigger.focus\u003d!1,this._activeTrigger.hover\u003d!1;const e\u003dthis.tip.classList.contains(nn);this._queueCallback((()\u003d\u003e{this._isWithActiveTrigger()||(this._hoverState!\u003d\u003don\u0026\u0026t.remove(),this._cleanTipClass(),this._element.removeAttribute(\"aria-describedby\"),j.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())}),this.tip,e),this._hoverState\u003d\"\"}update(){null!\u003d\u003dthis._popper\u0026\u0026this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t\u003ddocument.createElement(\"div\");t.innerHTML\u003dthis._config.template;const e\u003dt.children[0];return this.setContent(e),e.classList.remove(nn,sn),this.tip\u003de,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),an)}_sanitizeAndSetContent(t,e,i){const n\u003dV.findOne(i,t);e||!n?this.setElementContent(n,e):n.remove()}setElementContent(t,e){if(null!\u003d\u003dt)return o(e)?(e\u003dr(e),void(this._config.html?e.parentNode!\u003d\u003dt\u0026\u0026(t.innerHTML\u003d\"\",t.append(e)):t.textContent\u003de.textContent)):void(this._config.html?(this._config.sanitize\u0026\u0026(e\u003dYi(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML\u003de):t.textContent\u003de)}getTitle(){const t\u003dthis._element.getAttribute(\"data-bs-original-title\")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return\"right\"\u003d\u003d\u003dt?\"end\":\"left\"\u003d\u003d\u003dt?\"start\":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:t}\u003dthis._config;return\"string\"\u003d\u003dtypeof t?t.split(\",\").map((t\u003d\u003eNumber.parseInt(t,10))):\"function\"\u003d\u003dtypeof t?e\u003d\u003et(e,this._element):t}_resolvePossibleFunction(t){return\"function\"\u003d\u003dtypeof t?t.call(this._element):t}_getPopperConfig(t){const e\u003d{placement:t,modifiers:[{name:\"flip\",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:\"offset\",options:{offset:this._getOffset()}},{name:\"preventOverflow\",options:{boundary:this._config.boundary}},{name:\"arrow\",options:{element:`.${this.constructor.NAME}-arrow`}},{name:\"onChange\",enabled:!0,phase:\"afterWrite\",fn:t\u003d\u003ethis._handlePopperPlacementChange(t)}],onFirstUpdate:t\u003d\u003e{t.options.placement!\u003d\u003dt.placement\u0026\u0026this._handlePopperPlacementChange(t)}};return{...e,...\"function\"\u003d\u003dtypeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return Ji[t.toUpperCase()]}_setListeners(){this._config.trigger.split(\" \").forEach((t\u003d\u003e{if(\"click\"\u003d\u003d\u003dt)j.on(this._element,this.constructor.Event.CLICK,this._config.selector,(t\u003d\u003ethis.toggle(t)));else if(\"manual\"!\u003d\u003dt){const e\u003dt\u003d\u003d\u003dhn?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i\u003dt\u003d\u003d\u003dhn?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;j.on(this._element,e,this._config.selector,(t\u003d\u003ethis._enter(t))),j.on(this._element,i,this._config.selector,(t\u003d\u003ethis._leave(t)))}})),this._hideModalHandler\u003d()\u003d\u003e{this._element\u0026\u0026this.hide()},j.on(this._element.closest(ln),cn,this._hideModalHandler),this._config.selector?this._config\u003d{...this._config,trigger:\"manual\",selector:\"\"}:this._fixTitle()}_fixTitle(){const t\u003dthis._element.getAttribute(\"title\"),e\u003dtypeof this._element.getAttribute(\"data-bs-original-title\");(t||\"string\"!\u003d\u003de)\u0026\u0026(this._element.setAttribute(\"data-bs-original-title\",t||\"\"),!t||this._element.getAttribute(\"aria-label\")||this._element.textContent||this._element.setAttribute(\"aria-label\",t),this._element.setAttribute(\"title\",\"\"))}_enter(t,e){e\u003dthis._initializeOnDelegatedTarget(t,e),t\u0026\u0026(e._activeTrigger[\"focusin\"\u003d\u003d\u003dt.type?dn:hn]\u003d!0),e.getTipElement().classList.contains(sn)||e._hoverState\u003d\u003d\u003don?e._hoverState\u003don:(clearTimeout(e._timeout),e._hoverState\u003don,e._config.delay\u0026\u0026e._config.delay.show?e._timeout\u003dsetTimeout((()\u003d\u003e{e._hoverState\u003d\u003d\u003don\u0026\u0026e.show()}),e._config.delay.show):e.show())}_leave(t,e){e\u003dthis._initializeOnDelegatedTarget(t,e),t\u0026\u0026(e._activeTrigger[\"focusout\"\u003d\u003d\u003dt.type?dn:hn]\u003de._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState\u003drn,e._config.delay\u0026\u0026e._config.delay.hide?e._timeout\u003dsetTimeout((()\u003d\u003e{e._hoverState\u003d\u003d\u003drn\u0026\u0026e.hide()}),e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e\u003dU.getDataAttributes(this._element);return Object.keys(e).forEach((t\u003d\u003e{Gi.has(t)\u0026\u0026delete e[t]})),(t\u003d{...this.constructor.Default,...e,...\"object\"\u003d\u003dtypeof t\u0026\u0026t?t:{}}).container\u003d!1\u003d\u003d\u003dt.container?document.body:r(t.container),\"number\"\u003d\u003dtypeof t.delay\u0026\u0026(t.delay\u003d{show:t.delay,hide:t.delay}),\"number\"\u003d\u003dtypeof t.title\u0026\u0026(t.title\u003dt.title.toString()),\"number\"\u003d\u003dtypeof t.content\u0026\u0026(t.content\u003dt.content.toString()),a(Qi,t,this.constructor.DefaultType),t.sanitize\u0026\u0026(t.template\u003dYi(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t\u003d{};for(const e in this._config)this.constructor.Default[e]!\u003d\u003dthis._config[e]\u0026\u0026(t[e]\u003dthis._config[e]);return t}_cleanTipClass(){const t\u003dthis.getTipElement(),e\u003dnew RegExp(`(^|\\\\s)${this._getBasicClassPrefix()}\\\\S+`,\"g\"),i\u003dt.getAttribute(\"class\").match(e);null!\u003d\u003di\u0026\u0026i.length\u003e0\u0026\u0026i.map((t\u003d\u003et.trim())).forEach((e\u003d\u003et.classList.remove(e)))}_getBasicClassPrefix(){return\"bs-tooltip\"}_handlePopperPlacementChange(t){const{state:e}\u003dt;e\u0026\u0026(this.tip\u003de.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper\u0026\u0026(this._popper.destroy(),this._popper\u003dnull)}static jQueryInterface(t){return this.each((function(){const e\u003dun.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}g(un);const fn\u003d{...un.Default,placement:\"right\",offset:[0,8],trigger:\"click\",content:\"\",template:\u0027\u003cdiv class\u003d\"popover\" role\u003d\"tooltip\"\u003e\u003cdiv class\u003d\"popover-arrow\"\u003e\u003c/div\u003e\u003ch3 class\u003d\"popover-header\"\u003e\u003c/h3\u003e\u003cdiv class\u003d\"popover-body\"\u003e\u003c/div\u003e\u003c/div\u003e\u0027},pn\u003d{...un.DefaultType,content:\"(string|element|function)\"},mn\u003d{HIDE:\"hide.bs.popover\",HIDDEN:\"hidden.bs.popover\",SHOW:\"show.bs.popover\",SHOWN:\"shown.bs.popover\",INSERTED:\"inserted.bs.popover\",CLICK:\"click.bs.popover\",FOCUSIN:\"focusin.bs.popover\",FOCUSOUT:\"focusout.bs.popover\",MOUSEENTER:\"mouseenter.bs.popover\",MOUSELEAVE:\"mouseleave.bs.popover\"};class gn extends un{static get Default(){return fn}static get NAME(){return\"popover\"}static get Event(){return mn}static get DefaultType(){return pn}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),\".popover-header\"),this._sanitizeAndSetContent(t,this._getContent(),\".popover-body\")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return\"bs-popover\"}static jQueryInterface(t){return this.each((function(){const e\u003dgn.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}g(gn);const _n\u003d\"scrollspy\",bn\u003d{offset:10,method:\"auto\",target:\"\"},vn\u003d{offset:\"number\",method:\"string\",target:\"(string|element)\"},yn\u003d\"active\",wn\u003d\".nav-link, .list-group-item, .dropdown-item\",En\u003d\"position\";class An extends B{constructor(t,e){super(t),this._scrollElement\u003d\"BODY\"\u003d\u003d\u003dthis._element.tagName?window:this._element,this._config\u003dthis._getConfig(e),this._offsets\u003d[],this._targets\u003d[],this._activeTarget\u003dnull,this._scrollHeight\u003d0,j.on(this._scrollElement,\"scroll.bs.scrollspy\",(()\u003d\u003ethis._process())),this.refresh(),this._process()}static get Default(){return bn}static get NAME(){return _n}refresh(){const t\u003dthis._scrollElement\u003d\u003d\u003dthis._scrollElement.window?\"offset\":En,e\u003d\"auto\"\u003d\u003d\u003dthis._config.method?t:this._config.method,n\u003de\u003d\u003d\u003dEn?this._getScrollTop():0;this._offsets\u003d[],this._targets\u003d[],this._scrollHeight\u003dthis._getScrollHeight(),V.find(wn,this._config.target).map((t\u003d\u003e{const s\u003di(t),o\u003ds?V.findOne(s):null;if(o){const t\u003do.getBoundingClientRect();if(t.width||t.height)return[U[e](o).top+n,s]}return null})).filter((t\u003d\u003et)).sort(((t,e)\u003d\u003et[0]-e[0])).forEach((t\u003d\u003e{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){j.off(this._scrollElement,\".bs.scrollspy\"),super.dispose()}_getConfig(t){return(t\u003d{...bn,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t\u0026\u0026t?t:{}}).target\u003dr(t.target)||document.documentElement,a(_n,t,vn),t}_getScrollTop(){return this._scrollElement\u003d\u003d\u003dwindow?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement\u003d\u003d\u003dwindow?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t\u003dthis._getScrollTop()+this._config.offset,e\u003dthis._getScrollHeight(),i\u003dthis._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!\u003d\u003de\u0026\u0026this.refresh(),t\u003e\u003di){const t\u003dthis._targets[this._targets.length-1];this._activeTarget!\u003d\u003dt\u0026\u0026this._activate(t)}else{if(this._activeTarget\u0026\u0026t\u003cthis._offsets[0]\u0026\u0026this._offsets[0]\u003e0)return this._activeTarget\u003dnull,void this._clear();for(let e\u003dthis._offsets.length;e--;)this._activeTarget!\u003d\u003dthis._targets[e]\u0026\u0026t\u003e\u003dthis._offsets[e]\u0026\u0026(void 0\u003d\u003d\u003dthis._offsets[e+1]||t\u003cthis._offsets[e+1])\u0026\u0026this._activate(this._targets[e])}}_activate(t){this._activeTarget\u003dt,this._clear();const e\u003dwn.split(\",\").map((e\u003d\u003e`${e}[data-bs-target\u003d\"${t}\"],${e}[href\u003d\"${t}\"]`)),i\u003dV.findOne(e.join(\",\"),this._config.target);i.classList.add(yn),i.classList.contains(\"dropdown-item\")?V.findOne(\".dropdown-toggle\",i.closest(\".dropdown\")).classList.add(yn):V.parents(i,\".nav, .list-group\").forEach((t\u003d\u003e{V.prev(t,\".nav-link, .list-group-item\").forEach((t\u003d\u003et.classList.add(yn))),V.prev(t,\".nav-item\").forEach((t\u003d\u003e{V.children(t,\".nav-link\").forEach((t\u003d\u003et.classList.add(yn)))}))})),j.trigger(this._scrollElement,\"activate.bs.scrollspy\",{relatedTarget:t})}_clear(){V.find(wn,this._config.target).filter((t\u003d\u003et.classList.contains(yn))).forEach((t\u003d\u003et.classList.remove(yn)))}static jQueryInterface(t){return this.each((function(){const e\u003dAn.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}j.on(window,\"load.bs.scrollspy.data-api\",(()\u003d\u003e{V.find(\u0027[data-bs-spy\u003d\"scroll\"]\u0027).forEach((t\u003d\u003enew An(t)))})),g(An);const Tn\u003d\"active\",On\u003d\"fade\",Cn\u003d\"show\",kn\u003d\".active\",Ln\u003d\":scope \u003e li \u003e .active\";class xn extends B{static get NAME(){return\"tab\"}show(){if(this._element.parentNode\u0026\u0026this._element.parentNode.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE\u0026\u0026this._element.classList.contains(Tn))return;let t;const e\u003dn(this._element),i\u003dthis._element.closest(\".nav, .list-group\");if(i){const e\u003d\"UL\"\u003d\u003d\u003di.nodeName||\"OL\"\u003d\u003d\u003di.nodeName?Ln:kn;t\u003dV.find(e,i),t\u003dt[t.length-1]}const s\u003dt?j.trigger(t,\"hide.bs.tab\",{relatedTarget:this._element}):null;if(j.trigger(this._element,\"show.bs.tab\",{relatedTarget:t}).defaultPrevented||null!\u003d\u003ds\u0026\u0026s.defaultPrevented)return;this._activate(this._element,i);const o\u003d()\u003d\u003e{j.trigger(t,\"hidden.bs.tab\",{relatedTarget:this._element}),j.trigger(this._element,\"shown.bs.tab\",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,i){const n\u003d(!e||\"UL\"!\u003d\u003de.nodeName\u0026\u0026\"OL\"!\u003d\u003de.nodeName?V.children(e,kn):V.find(Ln,e))[0],s\u003di\u0026\u0026n\u0026\u0026n.classList.contains(On),o\u003d()\u003d\u003ethis._transitionComplete(t,n,i);n\u0026\u0026s?(n.classList.remove(Cn),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove(Tn);const t\u003dV.findOne(\":scope \u003e .dropdown-menu .active\",e.parentNode);t\u0026\u0026t.classList.remove(Tn),\"tab\"\u003d\u003d\u003de.getAttribute(\"role\")\u0026\u0026e.setAttribute(\"aria-selected\",!1)}t.classList.add(Tn),\"tab\"\u003d\u003d\u003dt.getAttribute(\"role\")\u0026\u0026t.setAttribute(\"aria-selected\",!0),u(t),t.classList.contains(On)\u0026\u0026t.classList.add(Cn);let n\u003dt.parentNode;if(n\u0026\u0026\"LI\"\u003d\u003d\u003dn.nodeName\u0026\u0026(n\u003dn.parentNode),n\u0026\u0026n.classList.contains(\"dropdown-menu\")){const e\u003dt.closest(\".dropdown\");e\u0026\u0026V.find(\".dropdown-toggle\",e).forEach((t\u003d\u003et.classList.add(Tn))),t.setAttribute(\"aria-expanded\",!0)}i\u0026\u0026i()}static jQueryInterface(t){return this.each((function(){const e\u003dxn.getOrCreateInstance(this);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}j.on(document,\"click.bs.tab.data-api\",\u0027[data-bs-toggle\u003d\"tab\"], [data-bs-toggle\u003d\"pill\"], [data-bs-toggle\u003d\"list\"]\u0027,(function(t){[\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026t.preventDefault(),c(this)||xn.getOrCreateInstance(this).show()})),g(xn);const Dn\u003d\"toast\",Sn\u003d\"hide\",Nn\u003d\"show\",In\u003d\"showing\",Pn\u003d{animation:\"boolean\",autohide:\"boolean\",delay:\"number\"},jn\u003d{animation:!0,autohide:!0,delay:5e3};class Mn extends B{constructor(t,e){super(t),this._config\u003dthis._getConfig(e),this._timeout\u003dnull,this._hasMouseInteraction\u003d!1,this._hasKeyboardInteraction\u003d!1,this._setListeners()}static get DefaultType(){return Pn}static get Default(){return jn}static get NAME(){return Dn}show(){j.trigger(this._element,\"show.bs.toast\").defaultPrevented||(this._clearTimeout(),this._config.animation\u0026\u0026this._element.classList.add(\"fade\"),this._element.classList.remove(Sn),u(this._element),this._element.classList.add(Nn),this._element.classList.add(In),this._queueCallback((()\u003d\u003e{this._element.classList.remove(In),j.trigger(this._element,\"shown.bs.toast\"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this._element.classList.contains(Nn)\u0026\u0026(j.trigger(this._element,\"hide.bs.toast\").defaultPrevented||(this._element.classList.add(In),this._queueCallback((()\u003d\u003e{this._element.classList.add(Sn),this._element.classList.remove(In),this._element.classList.remove(Nn),j.trigger(this._element,\"hidden.bs.toast\")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains(Nn)\u0026\u0026this._element.classList.remove(Nn),super.dispose()}_getConfig(t){return t\u003d{...jn,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t\u0026\u0026t?t:{}},a(Dn,t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide\u0026\u0026(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout\u003dsetTimeout((()\u003d\u003e{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case\"mouseover\":case\"mouseout\":this._hasMouseInteraction\u003de;break;case\"focusin\":case\"focusout\":this._hasKeyboardInteraction\u003de}if(e)return void this._clearTimeout();const i\u003dt.relatedTarget;this._element\u003d\u003d\u003di||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,\"mouseover.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!0))),j.on(this._element,\"mouseout.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!1))),j.on(this._element,\"focusin.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!0))),j.on(this._element,\"focusout.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout\u003dnull}static jQueryInterface(t){return this.each((function(){const e\u003dMn.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}return R(Mn),g(Mn),{Alert:W,Button:z,Carousel:st,Collapse:pt,Dropdown:hi,Modal:Hi,Offcanvas:Fi,Popover:gn,ScrollSpy:An,Tab:xn,Toast:Mn,Tooltip:un}}));"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"//# sourceMappingURL\u003dbootstrap.bundle.min.js.map"}],"authorContributionMap":{"KevinEyo1":7}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/js/markbind.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"!function(t,e){\"object\"\u003d\u003dtypeof exports\u0026\u0026\"object\"\u003d\u003dtypeof module?module.exports\u003de(require(\"Vue\")):\"function\"\u003d\u003dtypeof define\u0026\u0026define.amd?define([\"Vue\"],e):\"object\"\u003d\u003dtypeof exports?exports.MarkBind\u003de(require(\"Vue\")):t.MarkBind\u003de(t.Vue)}(self,t\u003d\u003e(()\u003d\u003e{var e\u003d{605:()\u003d\u003e{function t(){document.querySelectorAll(\".\".concat(\"page-nav-clone\")).forEach((function(t){t.remove()}))}window.addEventListener(\"beforeprint\",(function(){var e\u003ddocument.querySelector(\"#\".concat(\"mb-page-nav\")),n\u003ddocument.querySelectorAll(\".\".concat(\"page-nav-print\"));e\u0026\u0026n.length\u003e\u003d1\u0026\u0026(t(),n.forEach((function(t){t.appendChild(function(t){var e\u003dt.cloneNode(!0);return e.removeAttribute(\"id\"),e.querySelectorAll(\"a.active\").forEach((function(t){t.classList.remove(\"active\")})),e.classList.add(\"page-nav-clone\"),e}(e))})))})),window.addEventListener(\"afterprint\",(function(){t()})),window.addEventListener(\"beforeprint\",(function(){document.querySelectorAll(\"pre \u003e code.hljs\").forEach((function(t){Array.from(t.querySelectorAll(\"span\")).some((function(t){return t.scrollWidth\u003et.clientWidth}))\u0026\u0026t.classList.add(\"line-numbers-print\")}))}))},3:t\u003d\u003e{t.exports\u003d{bind:function(t){function e(){t.dataset.isShown\u003d\"false\",r.style.display\u003d\"\",o.style.display\u003d\"none\",i.style.display\u003d\"none\"}function n(){t.dataset.isShown\u003d\"true\",r.style.display\u003d\"none\",i.style.display\u003d\"\"}t.dataset.isShown\u003d\"true\",t.style.position\u003d\"relative\";var i\u003ddocument.createElement(\"div\");i.classList.add(\"content\"),Array.from(t.children).forEach((function(t){return i.append(t)})),t.replaceChildren(),t.append(i),t.classList.add(\"closeable-wrapper\");var o\u003dfunction(){var t\u003ddocument.createElement(\"span\");return t.classList.add(\"closeable-button\",\"label\",\"label-default\",\"hidden-print\"),t.style.cssText+\u003d\"display: none; position: absolute; top: 0; left: 0; cursor: pointer;background: #d9534f\",t.innerHTML\u003d\u0027\u003cspan class\u003d\"glyphicon glyphicon-remove\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e\u0027,t.addEventListener(\"click\",e),t}();t.append(o);var r\u003dfunction(t){var e\u003ddocument.createElement(\"a\");return e.classList.add(\"closeable-show\",\"hidden-print\"),e.style.cssText+\u003d\"display: none; cursor: pointer;text-decoration: underline\",e.innerHTML\u003dt,e.addEventListener(\"click\",n),e}(t.getAttribute(\"alt\")||\"Expand Content\");t.append(r),t.addEventListener(\"mouseover\",(function(){\"false\"!\u003d\u003dt.dataset.isShown\u0026\u0026(o.style.display\u003d\"\")})),t.addEventListener(\"mouseout\",(function(){\"false\"!\u003d\u003dt.dataset.isShown\u0026\u0026(o.style.display\u003d\"none\")}))}}},383:(t,e,n)\u003d\u003e{\"use strict\";var i,o\u003d(i\u003dn(740))\u0026\u0026\"object\"\u003d\u003dtypeof i\u0026\u0026\"default\"in i?i.default:i;function r(t){return(r\u003d\"function\"\u003d\u003dtypeof Symbol\u0026\u0026\"symbol\"\u003d\u003dtypeof Symbol.iterator?function(t){return typeof t}:function(t){return t\u0026\u0026\"function\"\u003d\u003dtypeof Symbol\u0026\u0026t.constructor\u003d\u003d\u003dSymbol\u0026\u0026t!\u003d\u003dSymbol.prototype?\"symbol\":typeof t})(t)}function s(t){return function(t){if(Array.isArray(t)){for(var e\u003d0,n\u003dnew Array(t.length);e\u003ct.length;e++)n[e]\u003dt[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||\"[object Arguments]\"\u003d\u003d\u003dObject.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}var a\u003d\"undefined\"!\u003dtypeof window;function l(t,e){return e.reduce((function(e,n){return t.hasOwnProperty(n)\u0026\u0026(e[n]\u003dt[n]),e}),{})}var c\u003d{},u\u003d{},d\u003d{},h\u003dnew(o.extend({data:function(){return{transports:c,targets:u,sources:d,trackInstances:a}},methods:{open:function(t){if(a){var e\u003dt.to,n\u003dt.from,i\u003dt.passengers,s\u003dt.order,l\u003dvoid 0\u003d\u003d\u003ds?1/0:s;if(e\u0026\u0026n\u0026\u0026i){var c,u\u003d{to:e,from:n,passengers:(c\u003di,Array.isArray(c)||\"object\"\u003d\u003d\u003dr(c)?Object.freeze(c):c),order:l};-1\u003d\u003d\u003dObject.keys(this.transports).indexOf(e)\u0026\u0026o.set(this.transports,e,[]);var d,h\u003dthis.$_getTransportIndex(u),p\u003dthis.transports[e].slice(0);-1\u003d\u003d\u003dh?p.push(u):p[h]\u003du,this.transports[e]\u003d(d\u003dfunction(t,e){return t.order-e.order},p.map((function(t,e){return[e,t]})).sort((function(t,e){return d(t[1],e[1])||t[0]-e[0]})).map((function(t){return t[1]})))}}},close:function(t){var e\u003darguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1]\u0026\u0026arguments[1],n\u003dt.to,i\u003dt.from;if(n\u0026\u0026(i||!1!\u003d\u003de)\u0026\u0026this.transports[n])if(e)this.transports[n]\u003d[];else{var o\u003dthis.$_getTransportIndex(t);if(o\u003e\u003d0){var r\u003dthis.transports[n].slice(0);r.splice(o,1),this.transports[n]\u003dr}}},registerTarget:function(t,e,n){a\u0026\u0026(this.trackInstances\u0026\u0026!n\u0026\u0026this.targets[t]\u0026\u0026console.warn(\"[portal-vue]: Target \".concat(t,\" already exists\")),this.$set(this.targets,t,Object.freeze([e])))},unregisterTarget:function(t){this.$delete(this.targets,t)},registerSource:function(t,e,n){a\u0026\u0026(this.trackInstances\u0026\u0026!n\u0026\u0026this.sources[t]\u0026\u0026console.warn(\"[portal-vue]: source \".concat(t,\" already exists\")),this.$set(this.sources,t,Object.freeze([e])))},unregisterSource:function(t){this.$delete(this.sources,t)},hasTarget:function(t){return!(!this.targets[t]||!this.targets[t][0])},hasSource:function(t){return!(!this.sources[t]||!this.sources[t][0])},hasContentFor:function(t){return!!this.transports[t]\u0026\u0026!!this.transports[t].length},$_getTransportIndex:function(t){var e\u003dt.to,n\u003dt.from;for(var i in this.transports[e])if(this.transports[e][i].from\u003d\u003d\u003dn)return+i;return-1}}}))(c),p\u003d1,f\u003do.extend({name:\"portal\",props:{disabled:{type:Boolean},name:{type:String,default:function(){return String(p++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:\"DIV\"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}}},created:function(){var t\u003dthis;this.$nextTick((function(){h.registerSource(t.name,t)}))},mounted:function(){this.disabled||this.sendUpdate()},updated:function(){this.disabled?this.clear():this.sendUpdate()},beforeDestroy:function(){h.unregisterSource(this.name),this.clear()},watch:{to:function(t,e){e\u0026\u0026e!\u003d\u003dt\u0026\u0026this.clear(e),this.sendUpdate()}},methods:{clear:function(t){var e\u003d{from:this.name,to:t||this.to};h.close(e)},normalizeSlots:function(){return this.$scopedSlots.default?[this.$scopedSlots.default]:this.$slots.default},normalizeOwnChildren:function(t){return\"function\"\u003d\u003dtypeof t?t(this.slotProps):t},sendUpdate:function(){var t\u003dthis.normalizeSlots();if(t){var e\u003d{from:this.name,to:this.to,passengers:s(t),order:this.order};h.open(e)}else this.clear()}},render:function(t){var e\u003dthis.$slots.default||this.$scopedSlots.default||[],n\u003dthis.tag;return e\u0026\u0026this.disabled?e.length\u003c\u003d1\u0026\u0026this.slim?this.normalizeOwnChildren(e)[0]:t(n,[this.normalizeOwnChildren(e)]):this.slim?t():t(n,{class:{\"v-portal\":!0},style:{display:\"none\"},key:\"v-portal-placeholder\"})}}),m\u003do.extend({name:\"portalTarget\",props:{multiple:{type:Boolean,default:!1},name:{type:String,required:!0},slim:{type:Boolean,default:!1},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:\"div\"},transition:{type:[String,Object,Function]}},data:function(){return{transports:h.transports,firstRender:!0}},created:function(){var t\u003dthis;this.$nextTick((function(){h.registerTarget(t.name,t)}))},watch:{ownTransports:function(){this.$emit(\"change\",this.children().length\u003e0)},name:function(t,e){h.unregisterTarget(e),h.registerTarget(t,this)}},mounted:function(){var t\u003dthis;this.transition\u0026\u0026this.$nextTick((function(){t.firstRender\u003d!1}))},beforeDestroy:function(){h.unregisterTarget(this.name)},computed:{ownTransports:function(){var t\u003dthis.transports[this.name]||[];return this.multiple?t:0\u003d\u003d\u003dt.length?[]:[t[t.length-1]]},passengers:function(){return function(t){var e\u003darguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1]?arguments[1]:{};return t.reduce((function(t,n){var i\u003dn.passengers[0],o\u003d\"function\"\u003d\u003dtypeof i?i(e):n.passengers;return t.concat(o)}),[])}(this.ownTransports,this.slotProps)}},methods:{children:function(){return 0!\u003d\u003dthis.passengers.length?this.passengers:this.$scopedSlots.default?this.$scopedSlots.default(this.slotProps):this.$slots.default||[]},noWrapper:function(){var t\u003dthis.slim\u0026\u0026!this.transition;return t\u0026\u0026this.children().length\u003e1\u0026\u0026console.warn(\"[portal-vue]: PortalTarget with `slim` option received more than one child element.\"),t}},render:function(t){var e\u003dthis.noWrapper(),n\u003dthis.children(),i\u003dthis.transition||this.tag;return e?n[0]:this.slim\u0026\u0026!i?t():t(i,{props:{tag:this.transition\u0026\u0026this.tag?this.tag:void 0},class:{\"vue-portal-target\":!0}},n)}}),v\u003d0,g\u003d[\"disabled\",\"name\",\"order\",\"slim\",\"slotProps\",\"tag\",\"to\"],y\u003d[\"multiple\",\"transition\"],w\u003do.extend({name:\"MountingPortal\",inheritAttrs:!1,props:{append:{type:[Boolean,String]},bail:{type:Boolean},mountTo:{type:String,required:!0},disabled:{type:Boolean},name:{type:String,default:function(){return\"mounted_\"+String(v++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:\"DIV\"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}},multiple:{type:Boolean,default:!1},targetSlim:{type:Boolean},targetSlotProps:{type:Object,default:function(){return{}}},targetTag:{type:String,default:\"div\"},transition:{type:[String,Object,Function]}},created:function(){if(\"undefined\"!\u003dtypeof document){var t\u003ddocument.querySelector(this.mountTo);if(t){var e\u003dthis.$props;if(h.targets[e.name])e.bail?console.warn(\"[portal-vue]: Target \".concat(e.name,\" is already mounted.\\n Aborting because \u0027bail: true\u0027 is set\")):this.portalTarget\u003dh.targets[e.name];else{var n\u003de.append;if(n){var i\u003d\"string\"\u003d\u003dtypeof n?n:\"DIV\",o\u003ddocument.createElement(i);t.appendChild(o),t\u003do}var r\u003dl(this.$props,y);r.slim\u003dthis.targetSlim,r.tag\u003dthis.targetTag,r.slotProps\u003dthis.targetSlotProps,r.name\u003dthis.to,this.portalTarget\u003dnew m({el:t,parent:this.$parent||this,propsData:r})}}else console.error(\"[portal-vue]: Mount Point \u0027\".concat(this.mountTo,\"\u0027 not found in document\"))}},beforeDestroy:function(){var t\u003dthis.portalTarget;if(this.append){var e\u003dt.$el;e.parentNode.removeChild(e)}t.$destroy()},render:function(t){if(!this.portalTarget)return console.warn(\"[portal-vue] Target wasn\u0027t mounted\"),t();if(!this.$scopedSlots.manual){var e\u003dl(this.$props,g);return t(f,{props:e,attrs:this.$attrs,on:this.$listeners,scopedSlots:this.$scopedSlots},this.$slots.default)}var n\u003dthis.$scopedSlots.manual({to:this.to});return Array.isArray(n)\u0026\u0026(n\u003dn[0]),n||t()}});e.h_\u003df,e.YC\u003dm},740:e\u003d\u003e{\"use strict\";e.exports\u003dt}},n\u003d{};function i(t){var o\u003dn[t];if(void 0!\u003d\u003do)return o.exports;var r\u003dn[t]\u003d{exports:{}};return e[t](r,r.exports,i),r.exports}i.n\u003dt\u003d\u003e{var e\u003dt\u0026\u0026t.__esModule?()\u003d\u003et.default:()\u003d\u003et;return i.d(e,{a:e}),e},i.d\u003d(t,e)\u003d\u003e{for(var n in e)i.o(e,n)\u0026\u0026!i.o(t,n)\u0026\u0026Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.g\u003dfunction(){if(\"object\"\u003d\u003dtypeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(t){if(\"object\"\u003d\u003dtypeof window)return window}}(),i.o\u003d(t,e)\u003d\u003eObject.prototype.hasOwnProperty.call(t,e);var o\u003d{};return(()\u003d\u003e{\"use strict\";function t(e){return(t\u003d\"function\"\u003d\u003dtypeof Symbol\u0026\u0026\"symbol\"\u003d\u003dtypeof Symbol.iterator?function(t){return typeof t}:function(t){return t\u0026\u0026\"function\"\u003d\u003dtypeof Symbol\u0026\u0026t.constructor\u003d\u003d\u003dSymbol\u0026\u0026t!\u003d\u003dSymbol.prototype?\"symbol\":typeof t})(e)}function e(e){var n\u003dfunction(e,n){if(\"object\"!\u003d\u003dt(e)||null\u003d\u003d\u003de)return e;var i\u003de[Symbol.toPrimitive];if(void 0!\u003d\u003di){var o\u003di.call(e,n||\"default\");if(\"object\"!\u003d\u003dt(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"\u003d\u003d\u003dn?String:Number)(e)}(e,\"string\");return\"symbol\"\u003d\u003d\u003dt(n)?n:String(n)}function n(t,n,i){return(n\u003de(n))in t?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]\u003di,t}function r(t){return t.split(\"-\")[0]}function s(t){return t.split(\"-\")[1]}function a(t){return[\"top\",\"bottom\"].includes(r(t))?\"x\":\"y\"}function l(t){return\"y\"\u003d\u003d\u003dt?\"height\":\"width\"}function c(t){let{reference:e,floating:n,placement:i}\u003dt;const o\u003de.x+e.width/2-n.width/2,c\u003de.y+e.height/2-n.height/2;let u;switch(r(i)){case\"top\":u\u003d{x:o,y:e.y-n.height};break;case\"bottom\":u\u003d{x:o,y:e.y+e.height};break;case\"right\":u\u003d{x:e.x+e.width,y:c};break;case\"left\":u\u003d{x:e.x-n.width,y:c};break;default:u\u003d{x:e.x,y:e.y}}const d\u003da(i),h\u003dl(d);switch(s(i)){case\"start\":u[d]\u003du[d]-(e[h]/2-n[h]/2);break;case\"end\":u[d]\u003du[d]+(e[h]/2-n[h]/2)}return u}i.d(o,{default:()\u003d\u003eMo});function u(t){return\"number\"!\u003dtypeof t?function(t){return{top:0,right:0,bottom:0,left:0,...t}}(t):{top:t,right:t,bottom:t,left:t}}function d(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}async function h(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});const{x:n,y:i,platform:o,rects:r,elements:s,strategy:a}\u003dt,{boundary:l\u003d\"clippingParents\",rootBoundary:c\u003d\"viewport\",elementContext:h\u003d\"floating\",altBoundary:p\u003d!1,padding:f\u003d0}\u003de,m\u003du(f),v\u003ds[p?\"floating\"\u003d\u003d\u003dh?\"reference\":\"floating\":h],g\u003dawait o.getClippingClientRect({element:await o.isElement(v)?v:v.contextElement||await o.getDocumentElement({element:s.floating}),boundary:l,rootBoundary:c}),y\u003dd(await o.convertOffsetParentRelativeRectToViewportRelativeRect({rect:\"floating\"\u003d\u003d\u003dh?{...r.floating,x:n,y:i}:r.reference,offsetParent:await o.getOffsetParent({element:s.floating}),strategy:a}));return{top:g.top-y.top+m.top,bottom:y.bottom-g.bottom+m.bottom,left:g.left-y.left+m.left,right:y.right-g.right+m.right}}const p\u003dMath.min,f\u003dMath.max;function m(t,e,n){return f(t,p(e,n))}const v\u003d{left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function g(t){return t.replace(/left|right|bottom|top/g,t\u003d\u003ev[t])}function y(t,e){const n\u003d\"start\"\u003d\u003d\u003ds(t),i\u003da(t),o\u003dl(i);let r\u003d\"x\"\u003d\u003d\u003di?n?\"right\":\"left\":n?\"bottom\":\"top\";return e.reference[o]\u003ee.floating[o]\u0026\u0026(r\u003dg(r)),{main:r,cross:g(r)}}const w\u003d{start:\"end\",end:\"start\"};function b(t){return t.replace(/start|end/g,t\u003d\u003ew[t])}const _\u003d[\"top\",\"right\",\"bottom\",\"left\"],S\u003d_.reduce((t,e)\u003d\u003et.concat(e,e+\"-start\",e+\"-end\"),[]);const x\u003dfunction(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"autoPlacement\",options:t,async fn(e){var n,i,o,a,l,c;const{x:u,y:d,rects:p,middlewareData:f,placement:m}\u003de,{alignment:v\u003dnull,allowedPlacements:g\u003dS,autoAlignment:w\u003d!0,..._}\u003dt;if(null!\u003d(n\u003df.autoPlacement)\u0026\u0026n.skip)return{};const x\u003dfunction(t,e,n){return(t?[...n.filter(e\u003d\u003es(e)\u003d\u003d\u003dt),...n.filter(e\u003d\u003es(e)!\u003d\u003dt)]:n.filter(t\u003d\u003er(t)\u003d\u003d\u003dt)).filter(n\u003d\u003e!t||(s(n)\u003d\u003d\u003dt||!!e\u0026\u0026b(n)!\u003d\u003dn))}(v,w,g),C\u003dawait h(e,_),$\u003dnull!\u003d(i\u003dnull\u003d\u003d(o\u003df.autoPlacement)?void 0:o.index)?i:0,k\u003dx[$],{main:T,cross:E}\u003dy(k,p);if(m!\u003d\u003dk)return{x:u,y:d,reset:{placement:x[0]}};const O\u003d[C[r(k)],C[T],C[E]],B\u003d[...null!\u003d(a\u003dnull\u003d\u003d(l\u003df.autoPlacement)?void 0:l.overflows)?a:[],{placement:k,overflows:O}],P\u003dx[$+1];if(P)return{data:{index:$+1,overflows:B},reset:{placement:P}};const L\u003dB.slice().sort((t,e)\u003d\u003et.overflows[0]-e.overflows[0]),N\u003dnull\u003d\u003d(c\u003dL.find(t\u003d\u003e{let{overflows:e}\u003dt;return e.every(t\u003d\u003et\u003c\u003d0)}))?void 0:c.placement;return{data:{skip:!0},reset:{placement:null!\u003dN?N:L[0].placement}}}}};const C\u003dfunction(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"flip\",options:t,async fn(e){var n,i;const{placement:o,middlewareData:s,rects:a,initialPlacement:l}\u003de;if(null!\u003d(n\u003ds.flip)\u0026\u0026n.skip)return{};const{mainAxis:c\u003d!0,crossAxis:u\u003d!0,fallbackPlacements:d,fallbackStrategy:p\u003d\"bestFit\",flipAlignment:f\u003d!0,...m}\u003dt,v\u003dr(o),w\u003d[l,...d||(v\u003d\u003d\u003dl||!f?[g(l)]:function(t){const e\u003dg(t);return[b(t),e,b(e)]}(l))],_\u003dawait h(e,m),S\u003d[];let x\u003d(null\u003d\u003d(i\u003ds.flip)?void 0:i.overflows)||[];if(c\u0026\u0026S.push(_[v]),u){const{main:t,cross:e}\u003dy(o,a);S.push(_[t],_[e])}if(x\u003d[...x,{placement:o,overflows:S}],!S.every(t\u003d\u003et\u003c\u003d0)){var C,$;const t\u003d(null!\u003d(C\u003dnull\u003d\u003d($\u003ds.flip)?void 0:$.index)?C:0)+1,e\u003dw[t];if(e)return{data:{index:t,overflows:x},reset:{placement:e}};let n\u003d\"bottom\";switch(p){case\"bestFit\":{var k;const t\u003dnull\u003d\u003d(k\u003dx.slice().sort((t,e)\u003d\u003et.overflows.filter(t\u003d\u003et\u003e0).reduce((t,e)\u003d\u003et+e,0)-e.overflows.filter(t\u003d\u003et\u003e0).reduce((t,e)\u003d\u003et+e,0))[0])?void 0:k.placement;t\u0026\u0026(n\u003dt);break}case\"initialPlacement\":n\u003dl}return{data:{skip:!0},reset:{placement:n}}}return{}}}};const $\u003dfunction(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d0),{name:\"offset\",options:t,fn(e){const{x:n,y:i,placement:o,rects:s}\u003de,l\u003dfunction(t){let{placement:e,rects:n,value:i}\u003dt;const o\u003dr(e),s\u003d[\"left\",\"top\"].includes(o)?-1:1,l\u003d\"function\"\u003d\u003dtypeof i?i({...n,placement:e}):i,{mainAxis:c,crossAxis:u}\u003d\"number\"\u003d\u003dtypeof l?{mainAxis:l,crossAxis:0}:{mainAxis:0,crossAxis:0,...l};return\"x\"\u003d\u003d\u003da(o)?{x:u,y:c*s}:{x:c*s,y:u}}({placement:o,rects:s,value:t});return{x:n+l.x,y:i+l.y,data:l}}}};function k(t){return\"x\"\u003d\u003d\u003dt?\"y\":\"x\"}function T(t){return\"[object Window]\"\u003d\u003d\u003d(null\u003d\u003dt?void 0:t.toString())}function E(t){if(null\u003d\u003dt)return window;if(!T(t)){const e\u003dt.ownerDocument;return e\u0026\u0026e.defaultView||window}return t}function O(t){return E(t).getComputedStyle(t)}function B(t){return T(t)?\"\":t?(t.nodeName||\"\").toLowerCase():\"\"}function P(t){return t instanceof E(t).HTMLElement}function L(t){return t instanceof E(t).Element}function N(t){return t instanceof E(t).ShadowRoot||t instanceof ShadowRoot}function A(t){const{overflow:e,overflowX:n,overflowY:i}\u003dO(t);return/auto|scroll|overlay|hidden/.test(e+i+n)}function z(t){return[\"table\",\"td\",\"th\"].includes(B(t))}function M(t){const e\u003dnavigator.userAgent.toLowerCase().includes(\"firefox\"),n\u003dO(t);return\"none\"!\u003d\u003dn.transform||\"none\"!\u003d\u003dn.perspective||\"paint\"\u003d\u003d\u003dn.contain||[\"transform\",\"perspective\"].includes(n.willChange)||e\u0026\u0026\"filter\"\u003d\u003d\u003dn.willChange||e\u0026\u0026!!n.filter\u0026\u0026\"none\"!\u003d\u003dn.filter}const H\u003dMath.min,D\u003dMath.max,R\u003dMath.round;function j(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d!1);const n\u003dt.getBoundingClientRect();let i\u003d1,o\u003d1;return e\u0026\u0026P(t)\u0026\u0026(i\u003dt.offsetWidth\u003e0\u0026\u0026R(n.width)/t.offsetWidth||1,o\u003dt.offsetHeight\u003e0\u0026\u0026R(n.height)/t.offsetHeight||1),{width:n.width/i,height:n.height/o,top:n.top/o,right:n.right/i,bottom:n.bottom/o,left:n.left/i,x:n.left/i,y:n.top/o}}function I(t){return(e\u003dt,(e instanceof E(e).Node?t.ownerDocument:t.document)||window.document).documentElement;var e}function q(t){return T(t)?{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}:{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function W(t){return j(I(t)).left+q(t).scrollLeft}function F(t,e,n){const i\u003dP(e),o\u003dI(e),r\u003dj(t,i\u0026\u0026function(t){const e\u003dj(t);return R(e.width)!\u003d\u003dt.offsetWidth||R(e.height)!\u003d\u003dt.offsetHeight}(e));let s\u003d{scrollLeft:0,scrollTop:0};const a\u003d{x:0,y:0};if(i||!i\u0026\u0026\"fixed\"!\u003d\u003dn)if((\"body\"!\u003d\u003dB(e)||A(o))\u0026\u0026(s\u003dq(e)),P(e)){const t\u003dj(e,!0);a.x\u003dt.x+e.clientLeft,a.y\u003dt.y+e.clientTop}else o\u0026\u0026(a.x\u003dW(o));return{x:r.left+s.scrollLeft-a.x,y:r.top+s.scrollTop-a.y,width:r.width,height:r.height}}function V(t){return\"html\"\u003d\u003d\u003dB(t)?t:t.assignedSlot||t.parentNode||(N(t)?t.host:null)||I(t)}function U(t){return P(t)\u0026\u0026\"fixed\"!\u003d\u003dgetComputedStyle(t).position?t.offsetParent:null}function Q(t){const e\u003dE(t);let n\u003dU(t);for(;n\u0026\u0026z(n)\u0026\u0026\"static\"\u003d\u003d\u003dgetComputedStyle(n).position;)n\u003dU(n);return n\u0026\u0026(\"html\"\u003d\u003d\u003dB(n)||\"body\"\u003d\u003d\u003dB(n)\u0026\u0026\"static\"\u003d\u003d\u003dgetComputedStyle(n).position\u0026\u0026!M(n))?e:n||function(t){let e\u003dV(t);for(;P(e)\u0026\u0026![\"html\",\"body\"].includes(B(e));){if(M(e))return e;e\u003de.parentNode}return null}(t)||e}function X(t){return{width:t.offsetWidth,height:t.offsetHeight}}function Y(t,e){var n;void 0\u003d\u003d\u003de\u0026\u0026(e\u003d[]);const i\u003dfunction t(e){return[\"html\",\"body\",\"#document\"].includes(B(e))?e.ownerDocument.body:P(e)\u0026\u0026A(e)?e:t(V(e))}(t),o\u003di\u003d\u003d\u003d(null\u003d\u003d(n\u003dt.ownerDocument)?void 0:n.body),r\u003dE(i),s\u003do?[r].concat(r.visualViewport||[],A(i)?i:[]):i,a\u003de.concat(s);return o?a:a.concat(Y(V(s)))}function K(t,e){return\"viewport\"\u003d\u003d\u003de?d(function(t){const e\u003dE(t),n\u003dI(t),i\u003de.visualViewport;let o\u003dn.clientWidth,r\u003dn.clientHeight,s\u003d0,a\u003d0;return i\u0026\u0026(o\u003di.width,r\u003di.height,Math.abs(e.innerWidth/i.scale-i.width)\u003c.01\u0026\u0026(s\u003di.offsetLeft,a\u003di.offsetTop)),{width:o,height:r,x:s,y:a}}(t)):L(e)?function(t){const e\u003dj(t),n\u003de.top+t.clientTop,i\u003de.left+t.clientLeft;return{top:n,left:i,x:i,y:n,right:i+t.clientWidth,bottom:n+t.clientHeight,width:t.clientWidth,height:t.clientHeight}}(e):d(function(t){var e;const n\u003dI(t),i\u003dq(t),o\u003dnull\u003d\u003d(e\u003dt.ownerDocument)?void 0:e.body,r\u003dD(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s\u003dD(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0);let a\u003d-i.scrollLeft+W(t);const l\u003d-i.scrollTop;return\"rtl\"\u003d\u003d\u003dO(o||n).direction\u0026\u0026(a+\u003dD(n.clientWidth,o?o.clientWidth:0)-r),{width:r,height:s,x:a,y:l}}(I(t)))}function G(t){const e\u003dY(V(t)),n\u003d[\"absolute\",\"fixed\"].includes(O(t).position)\u0026\u0026P(t)?Q(t):t;return L(n)?e.filter(t\u003d\u003eL(t)\u0026\u0026function(t,e){const n\u003dnull\u003d\u003de.getRootNode?void 0:e.getRootNode();if(t.contains(e))return!0;if(n\u0026\u0026N(n)){let n\u003de;do{if(n\u0026\u0026t\u003d\u003d\u003dn)return!0;n\u003dn.parentNode||n.host}while(n)}return!1}(t,n)\u0026\u0026\"body\"!\u003d\u003dB(t)):[]}const Z\u003d{getElementRects:t\u003d\u003e{let{reference:e,floating:n,strategy:i}\u003dt;return{reference:F(e,Q(n),i),floating:{...X(n),x:0,y:0}}},convertOffsetParentRelativeRectToViewportRelativeRect:t\u003d\u003efunction(t){let{rect:e,offsetParent:n,strategy:i}\u003dt;const o\u003dP(n),r\u003dI(n);if(n\u003d\u003d\u003dr)return e;let s\u003d{scrollLeft:0,scrollTop:0};const a\u003d{x:0,y:0};if((o||!o\u0026\u0026\"fixed\"!\u003d\u003di)\u0026\u0026((\"body\"!\u003d\u003dB(n)||A(r))\u0026\u0026(s\u003dq(n)),P(n))){const t\u003dj(n,!0);a.x\u003dt.x+n.clientLeft,a.y\u003dt.y+n.clientTop}return{...e,x:e.x-s.scrollLeft+a.x,y:e.y-s.scrollTop+a.y}}(t),getOffsetParent:t\u003d\u003e{let{element:e}\u003dt;return Q(e)},isElement:t\u003d\u003eL(t),getDocumentElement:t\u003d\u003e{let{element:e}\u003dt;return I(e)},getClippingClientRect:t\u003d\u003efunction(t){let{element:e,boundary:n,rootBoundary:i}\u003dt;const o\u003d[...\"clippingParents\"\u003d\u003d\u003dn?G(e):[].concat(n),i],r\u003do[0],s\u003do.reduce((t,n)\u003d\u003e{const i\u003dK(e,n);return t.top\u003dD(i.top,t.top),t.right\u003dH(i.right,t.right),t.bottom\u003dH(i.bottom,t.bottom),t.left\u003dD(i.left,t.left),t},K(e,r));return s.width\u003ds.right-s.left,s.height\u003ds.bottom-s.top,s.x\u003ds.left,s.y\u003ds.top,s}(t),getDimensions:t\u003d\u003e{let{element:e}\u003dt;return X(e)},getClientRects:t\u003d\u003e{let{element:e}\u003dt;return e.getClientRects()}},J\u003d(t,e,n)\u003d\u003e(async(t,e,n)\u003d\u003e{const{placement:i\u003d\"bottom\",strategy:o\u003d\"absolute\",middleware:r\u003d[],platform:s}\u003dn;let a\u003dawait s.getElementRects({reference:t,floating:e,strategy:o}),{x:l,y:u}\u003dc({...a,placement:i}),d\u003di,h\u003d{};for(let n\u003d0;n\u003cr.length;n++){0;const{name:p,fn:f}\u003dr[n],{x:m,y:v,data:g,reset:y}\u003dawait f({x:l,y:u,initialPlacement:i,placement:d,strategy:o,middlewareData:h,rects:a,platform:s,elements:{reference:t,floating:e}});l\u003dnull!\u003dm?m:l,u\u003dnull!\u003dv?v:u,h\u003d{...h,[p]:null!\u003dg?g:{}},y\u0026\u0026(\"object\"\u003d\u003dtypeof y\u0026\u0026(y.placement\u0026\u0026(d\u003dy.placement),y.rects\u0026\u0026(a\u003d!0\u003d\u003d\u003dy.rects?await s.getElementRects({reference:t,floating:e,strategy:o}):y.rects),({x:l,y:u}\u003dc({...a,placement:d}))),n\u003d-1)}return{x:l,y:u,placement:d,strategy:o,middlewareData:h}})(t,e,{platform:Z,...n});var tt\u003di(740),et\u003di.n(tt),nt\u003dObject.defineProperty,it\u003dObject.defineProperties,ot\u003dObject.getOwnPropertyDescriptors,rt\u003dObject.getOwnPropertySymbols,st\u003dObject.prototype.hasOwnProperty,at\u003dObject.prototype.propertyIsEnumerable,lt\u003d(t,e,n)\u003d\u003ee in t?nt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]\u003dn,ct\u003d(t,e)\u003d\u003e{for(var n in e||(e\u003d{}))st.call(e,n)\u0026\u0026lt(t,n,e[n]);if(rt)for(var n of rt(e))at.call(e,n)\u0026\u0026lt(t,n,e[n]);return t},ut\u003d(t,e)\u003d\u003eit(t,ot(e));const dt\u003d{disabled:!1,distance:5,skidding:0,container:\"body\",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:\"absolute\",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,themes:{tooltip:{placement:\"top\",triggers:[\"hover\",\"focus\",\"touch\"],hideTriggers:t\u003d\u003e[...t,\"click\"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:\"...\"},dropdown:{placement:\"bottom\",triggers:[\"click\"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:\"dropdown\",triggers:[\"hover\",\"focus\"],popperTriggers:[\"hover\",\"focus\"],delay:{show:0,hide:400}}}};function ht(t,e){let n,i\u003ddt.themes[t]||{};do{n\u003di[e],void 0\u003d\u003d\u003dn?i.$extend?i\u003ddt.themes[i.$extend]||{}:(i\u003dnull,n\u003ddt[e]):i\u003dnull}while(i);return n}let pt\u003d!1;if(\"undefined\"!\u003dtypeof window){pt\u003d!1;try{const t\u003dObject.defineProperty({},\"passive\",{get(){pt\u003d!0}});window.addEventListener(\"test\",null,t)}catch(t){}}let ft\u003d!1;\"undefined\"!\u003dtypeof window\u0026\u0026\"undefined\"!\u003dtypeof navigator\u0026\u0026(ft\u003d/iPad|iPhone|iPod/.test(navigator.userAgent)\u0026\u0026!window.MSStream);const mt\u003d[\"auto\",\"top\",\"bottom\",\"left\",\"right\"].reduce((t,e)\u003d\u003et.concat([e,e+\"-start\",e+\"-end\"]),[]),vt\u003d{hover:\"mouseenter\",focus:\"focus\",click:\"click\",touch:\"touchstart\"},gt\u003d{hover:\"mouseleave\",focus:\"blur\",click:\"click\",touch:\"touchend\"};function yt(){return new Promise(t\u003d\u003erequestAnimationFrame(()\u003d\u003e{requestAnimationFrame(t)}))}const wt\u003d[];let bt\u003dnull,_t\u003dfunction(){};function St(t){return function(){return ht(this.$props.theme,t)}}\"undefined\"!\u003dtypeof window\u0026\u0026(_t\u003dwindow.Element);const xt\u003d\"__floating-vue__popper\";var Ct\u003d()\u003d\u003e({name:\"VPopper\",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:St(\"disabled\")},positioningDisabled:{type:Boolean,default:St(\"positioningDisabled\")},placement:{type:String,default:St(\"placement\"),validator:t\u003d\u003emt.includes(t)},delay:{type:[String,Number,Object],default:St(\"delay\")},distance:{type:[Number,String],default:St(\"distance\")},skidding:{type:[Number,String],default:St(\"skidding\")},triggers:{type:Array,default:St(\"triggers\")},showTriggers:{type:[Array,Function],default:St(\"showTriggers\")},hideTriggers:{type:[Array,Function],default:St(\"hideTriggers\")},popperTriggers:{type:Array,default:St(\"popperTriggers\")},popperShowTriggers:{type:[Array,Function],default:St(\"popperShowTriggers\")},popperHideTriggers:{type:[Array,Function],default:St(\"popperHideTriggers\")},container:{type:[String,Object,_t,Boolean],default:St(\"container\")},boundary:{type:[String,_t],default:St(\"boundary\")},strategy:{type:String,validator:t\u003d\u003e[\"absolute\",\"fixed\"].includes(t),default:St(\"strategy\")},autoHide:{type:Boolean,default:St(\"autoHide\")},handleResize:{type:Boolean,default:St(\"handleResize\")},instantMove:{type:Boolean,default:St(\"instantMove\")},eagerMount:{type:Boolean,default:St(\"eagerMount\")},popperClass:{type:[String,Array,Object],default:St(\"popperClass\")},computeTransformOrigin:{type:Boolean,default:St(\"computeTransformOrigin\")},autoMinSize:{type:Boolean,default:St(\"autoMinSize\")},autoSize:{type:[Boolean,String],default:St(\"autoSize\")},autoMaxSize:{type:Boolean,default:St(\"autoMaxSize\")},autoBoundaryMaxSize:{type:Boolean,default:St(\"autoBoundaryMaxSize\")},preventOverflow:{type:Boolean,default:St(\"preventOverflow\")},overflowPadding:{type:[Number,String],default:St(\"overflowPadding\")},arrowPadding:{type:[Number,String],default:St(\"arrowPadding\")},arrowOverflow:{type:Boolean,default:St(\"arrowOverflow\")},flip:{type:Boolean,default:St(\"flip\")},shift:{type:Boolean,default:St(\"shift\")},shiftCrossAxis:{type:Boolean,default:St(\"shiftCrossAxis\")}},provide(){return{[xt]:{parentPopper:this}}},inject:{[xt]:{default:null}},data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:\"\",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},shownChildren:new Set}},computed:{popperId(){return null!\u003dthis.ariaId?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:ut(ct({},this.classes),{popperClass:this.popperClass}),result:this.positioningDisabled?null:this.result}},parentPopper(){var t;return null\u003d\u003d(t\u003dthis[xt])?void 0:t.parentPopper}},watch:ct(ct({shown:\"$_autoShowHide\",disabled(t){t?this.dispose():this.init()},async container(){this.isShown\u0026\u0026(this.$_ensureTeleport(),await this.$_computePosition())}},[\"triggers\",\"positioningDisabled\"].reduce((t,e)\u003d\u003e(t[e]\u003d\"$_refreshListeners\",t),{})),[\"placement\",\"distance\",\"skidding\",\"boundary\",\"strategy\",\"overflowPadding\",\"arrowPadding\",\"preventOverflow\",\"shift\",\"shiftCrossAxis\",\"flip\"].reduce((t,e)\u003d\u003e(t[e]\u003d\"$_computePosition\",t),{})),created(){this.$_isDisposed\u003d!0,this.randomId\u003d\"popper_\"+[Math.random(),Date.now()].map(t\u003d\u003et.toString(36).substring(2,10)).join(\"_\"),this.autoMinSize\u0026\u0026console.warn(\u0027[floating-vue] `autoMinSize` option is deprecated. Use `autoSize\u003d\"min\"` instead.\u0027),this.autoMaxSize\u0026\u0026console.warn(\"[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.\")},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeDestroy(){this.dispose()},methods:{show({event:t\u003dnull,skipDelay:e\u003d!1,force:n\u003d!1}\u003d{}){var i,o;(null\u003d\u003d(i\u003dthis.parentPopper)?void 0:i.lockedChild)\u0026\u0026this.parentPopper.lockedChild!\u003d\u003dthis||(this.$_pendingHide\u003d!1,!n\u0026\u0026this.disabled||((null\u003d\u003d(o\u003dthis.parentPopper)?void 0:o.lockedChild)\u003d\u003d\u003dthis\u0026\u0026(this.parentPopper.lockedChild\u003dnull),this.$_scheduleShow(t,e),this.$emit(\"show\"),this.$_showFrameLocked\u003d!0,requestAnimationFrame(()\u003d\u003e{this.$_showFrameLocked\u003d!1})),this.$emit(\"update:shown\",!0))},hide({event:t\u003dnull,skipDelay:e\u003d!1}\u003d{}){var n;this.$_hideInProgress||(this.shownChildren.size\u003e0?this.$_pendingHide\u003d!0:this.$_isAimingPopper()?this.parentPopper\u0026\u0026(this.parentPopper.lockedChild\u003dthis,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer\u003dsetTimeout(()\u003d\u003e{this.parentPopper.lockedChild\u003d\u003d\u003dthis\u0026\u0026(this.parentPopper.lockedChild.hide({skipDelay:e}),this.parentPopper.lockedChild\u003dnull)},1e3)):((null\u003d\u003d(n\u003dthis.parentPopper)?void 0:n.lockedChild)\u003d\u003d\u003dthis\u0026\u0026(this.parentPopper.lockedChild\u003dnull),this.$_pendingHide\u003d!1,this.$_scheduleHide(t,e),this.$emit(\"hide\"),this.$emit(\"update:shown\",!1)))},init(){this.$_isDisposed\u0026\u0026(this.$_isDisposed\u003d!1,this.isMounted\u003d!1,this.$_events\u003d[],this.$_preventShow\u003d!1,this.$_referenceNode\u003dthis.referenceNode(),this.$_targetNodes\u003dthis.targetNodes().filter(t\u003d\u003et.nodeType\u003d\u003d\u003dt.ELEMENT_NODE),this.$_popperNode\u003dthis.popperNode(),this.$_innerNode\u003dthis.$_popperNode.querySelector(\".v-popper__inner\"),this.$_arrowNode\u003dthis.$_popperNode.querySelector(\".v-popper__arrow-container\"),this.$_swapTargetAttrs(\"title\",\"data-original-title\"),this.$_detachPopperNode(),this.triggers.length\u0026\u0026this.$_addEventListeners(),this.shown\u0026\u0026this.show())},dispose(){this.$_isDisposed||(this.$_isDisposed\u003d!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted\u003d!1,this.isShown\u003d!1,this.$_updateParentShownChildren(!1),this.$_swapTargetAttrs(\"data-original-title\",\"title\"),this.$emit(\"dispose\"))},async onResize(){this.isShown\u0026\u0026(await this.$_computePosition(),this.$emit(\"resize\"))},async $_computePosition(){var t;if(this.$_isDisposed||this.positioningDisabled)return;const e\u003d{strategy:this.strategy,middleware:[]};(this.distance||this.skidding)\u0026\u0026e.middleware.push($({mainAxis:this.distance,crossAxis:this.skidding}));const n\u003dthis.placement.startsWith(\"auto\");if(n?e.middleware.push(x({alignment:null!\u003d(t\u003dthis.placement.split(\"-\")[1])?t:\"\"})):e.placement\u003dthis.placement,this.preventOverflow\u0026\u0026(this.shift\u0026\u0026e.middleware.push(function(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"shift\",options:t,async fn(e){const{x:n,y:i,placement:o}\u003de,{mainAxis:s\u003d!0,crossAxis:l\u003d!1,limiter:c\u003d{fn:t\u003d\u003e{let{x:e,y:n}\u003dt;return{x:e,y:n}}},...u}\u003dt,d\u003d{x:n,y:i},p\u003dawait h(e,u),f\u003da(r(o)),v\u003dk(f);let g\u003dd[f],y\u003dd[v];if(s){const t\u003d\"y\"\u003d\u003d\u003df?\"bottom\":\"right\";g\u003dm(g+p[\"y\"\u003d\u003d\u003df?\"top\":\"left\"],g,g-p[t])}if(l){const t\u003d\"y\"\u003d\u003d\u003dv?\"bottom\":\"right\";y\u003dm(y+p[\"y\"\u003d\u003d\u003dv?\"top\":\"left\"],y,y-p[t])}const w\u003dc.fn({...e,[f]:g,[v]:y});return{...w,data:{x:w.x-n,y:w.y-i}}}}}({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!n\u0026\u0026this.flip\u0026\u0026e.middleware.push(C({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push((t\u003d\u003e({name:\"arrow\",options:t,async fn(e){const{element:n,padding:i\u003d0}\u003dnull!\u003dt?t:{},{x:o,y:s,placement:c,rects:d,platform:h}\u003de;if(null\u003d\u003dn)return{};const p\u003du(i),f\u003d{x:o,y:s},v\u003da(r(c)),g\u003dl(v),y\u003dawait h.getDimensions({element:n}),w\u003d\"y\"\u003d\u003d\u003dv?\"top\":\"left\",b\u003d\"y\"\u003d\u003d\u003dv?\"bottom\":\"right\",_\u003dd.reference[g]+d.reference[v]-f[v]-d.floating[g],S\u003df[v]-d.reference[v],x\u003dawait h.getOffsetParent({element:n}),C\u003dx?\"y\"\u003d\u003d\u003dv?x.clientHeight||0:x.clientWidth||0:0,$\u003d_/2-S/2,k\u003dp[w],T\u003dC-y[g]-p[b],E\u003dC/2-y[g]/2+$,O\u003dm(k,E,T);return{data:{[v]:O,centerOffset:E-O}}}}))({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow\u0026\u0026e.middleware.push({name:\"arrowOverflow\",fn:({placement:t,rects:e,middlewareData:n})\u003d\u003e{let i;const{centerOffset:o}\u003dn.arrow;return i\u003dt.startsWith(\"top\")||t.startsWith(\"bottom\")?Math.abs(o)\u003ee.reference.width/2:Math.abs(o)\u003ee.reference.height/2,{data:{overflow:i}}}}),this.autoMinSize||this.autoSize){const t\u003dthis.autoSize?this.autoSize:this.autoMinSize?\"min\":null;e.middleware.push({name:\"autoSize\",fn:({rects:e,placement:n,middlewareData:i})\u003d\u003e{var o;if(null\u003d\u003d(o\u003di.autoSize)?void 0:o.skip)return{};let r,s;return n.startsWith(\"top\")||n.startsWith(\"bottom\")?r\u003de.reference.width:s\u003de.reference.height,this.$_innerNode.style[\"min\"\u003d\u003d\u003dt?\"minWidth\":\"max\"\u003d\u003d\u003dt?\"maxWidth\":\"width\"]\u003dnull!\u003dr?r+\"px\":null,this.$_innerNode.style[\"min\"\u003d\u003d\u003dt?\"minHeight\":\"max\"\u003d\u003d\u003dt?\"maxHeight\":\"height\"]\u003dnull!\u003ds?s+\"px\":null,{data:{skip:!0},reset:{rects:!0}}}})}(this.autoMaxSize||this.autoBoundaryMaxSize)\u0026\u0026(this.$_innerNode.style.maxWidth\u003dnull,this.$_innerNode.style.maxHeight\u003dnull,e.middleware.push(function(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"size\",options:t,async fn(e){var n;const{placement:i,rects:o,middlewareData:a}\u003de,{apply:l,...c}\u003dt;if(null!\u003d(n\u003da.size)\u0026\u0026n.skip)return{};const u\u003dawait h(e,c),d\u003dr(i),p\u003d\"end\"\u003d\u003d\u003ds(i);let m,v;\"top\"\u003d\u003d\u003dd||\"bottom\"\u003d\u003d\u003dd?(m\u003dd,v\u003dp?\"left\":\"right\"):(v\u003dd,m\u003dp?\"top\":\"bottom\");const g\u003df(u.left,0),y\u003df(u.right,0),w\u003df(u.top,0),b\u003df(u.bottom,0),_\u003d{height:o.floating.height-([\"left\",\"right\"].includes(i)?2*(0!\u003d\u003dw||0!\u003d\u003db?w+b:f(u.top,u.bottom)):u[m]),width:o.floating.width-([\"top\",\"bottom\"].includes(i)?2*(0!\u003d\u003dg||0!\u003d\u003dy?g+y:f(u.left,u.right)):u[v])};return null\u003d\u003dl||l({..._,...o}),{data:{skip:!0},reset:{rects:!0}}}}}({boundary:this.boundary,padding:this.overflowPadding,apply:({width:t,height:e})\u003d\u003e{this.$_innerNode.style.maxWidth\u003dnull!\u003dt?t+\"px\":null,this.$_innerNode.style.maxHeight\u003dnull!\u003de?e+\"px\":null}})));const i\u003dawait J(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:i.x,y:i.y,placement:i.placement,strategy:i.strategy,arrow:ct(ct({},i.middlewareData.arrow),i.middlewareData.arrowOverflow)})},$_scheduleShow(t\u003dnull,e\u003d!1){if(this.$_updateParentShownChildren(!0),this.$_hideInProgress\u003d!1,clearTimeout(this.$_scheduleTimer),bt\u0026\u0026this.instantMove\u0026\u0026bt.instantMove\u0026\u0026bt!\u003d\u003dthis.parentPopper)return bt.$_applyHide(!0),void this.$_applyShow(!0);e?this.$_applyShow():this.$_scheduleTimer\u003dsetTimeout(this.$_applyShow.bind(this),this.$_computeDelay(\"show\"))},$_scheduleHide(t\u003dnull,e\u003d!1){this.shownChildren.size\u003e0?this.$_pendingHide\u003d!0:(this.$_updateParentShownChildren(!1),this.$_hideInProgress\u003d!0,clearTimeout(this.$_scheduleTimer),this.isShown\u0026\u0026(bt\u003dthis),e?this.$_applyHide():this.$_scheduleTimer\u003dsetTimeout(this.$_applyHide.bind(this),this.$_computeDelay(\"hide\")))},$_computeDelay(t){const e\u003dthis.delay;return parseInt(e\u0026\u0026e[t]||e||0)},async $_applyShow(t\u003d!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition\u003dt,this.isShown||(this.$_ensureTeleport(),await yt(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...Y(this.$_referenceNode),...Y(this.$_popperNode)],\"scroll\",()\u003d\u003e{this.$_computePosition()}))},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const t\u003dthis.$_referenceNode.getBoundingClientRect(),e\u003dthis.$_popperNode.querySelector(\".v-popper__wrapper\"),n\u003de.parentNode.getBoundingClientRect(),i\u003dt.x+t.width/2-(n.left+e.offsetLeft),o\u003dt.y+t.height/2-(n.top+e.offsetTop);this.result.transformOrigin\u003d`${i}px ${o}px`}this.isShown\u003d!0,this.$_applyAttrsToTarget({\"aria-describedby\":this.popperId,\"data-popper-shown\":\"\"});const t\u003dthis.showGroup;if(t){let e;for(let n\u003d0;n\u003cwt.length;n++)e\u003dwt[n],e.showGroup!\u003d\u003dt\u0026\u0026(e.hide(),e.$emit(\"close-group\"))}wt.push(this),this.$emit(\"apply-show\"),this.classes.showFrom\u003d!0,this.classes.showTo\u003d!1,this.classes.hideFrom\u003d!1,this.classes.hideTo\u003d!1,await yt(),this.classes.showFrom\u003d!1,this.classes.showTo\u003d!0},async $_applyHide(t\u003d!1){if(this.shownChildren.size\u003e0)return this.$_pendingHide\u003d!0,void(this.$_hideInProgress\u003d!1);if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition\u003dt,function(t,e){const n\u003dt.indexOf(e);-1!\u003d\u003dn\u0026\u0026t.splice(n,1)}(wt,this),bt\u003d\u003d\u003dthis\u0026\u0026(bt\u003dnull),this.isShown\u003d!1,this.$_applyAttrsToTarget({\"aria-describedby\":void 0,\"data-popper-shown\":void 0}),clearTimeout(this.$_disposeTimer);const e\u003dht(this.theme,\"disposeTimeout\");null!\u003d\u003de\u0026\u0026(this.$_disposeTimer\u003dsetTimeout(()\u003d\u003e{this.$_popperNode\u0026\u0026(this.$_detachPopperNode(),this.isMounted\u003d!1)},e)),this.$_removeEventListeners(\"scroll\"),this.$emit(\"apply-hide\"),this.classes.showFrom\u003d!1,this.classes.showTo\u003d!1,this.classes.hideFrom\u003d!0,this.classes.hideTo\u003d!1,await yt(),this.classes.hideFrom\u003d!1,this.classes.hideTo\u003d!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.$_isDisposed)return;let t\u003dthis.container;if(\"string\"\u003d\u003dtypeof t?t\u003dwindow.document.querySelector(t):!1\u003d\u003d\u003dt\u0026\u0026(t\u003dthis.$_targetNodes[0].parentNode),!t)throw new Error(\"No container for popover: \"+this.container);t.appendChild(this.$_popperNode),this.isMounted\u003d!0},$_addEventListeners(){const t\u003dt\u003d\u003e{this.isShown\u0026\u0026!this.$_hideInProgress||(t.usedByTooltip\u003d!0,!this.$_preventShow\u0026\u0026this.show({event:t}))};this.$_registerTriggerListeners(this.$_targetNodes,vt,this.triggers,this.showTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],vt,this.popperTriggers,this.popperShowTriggers,t);const e\u003dt\u003d\u003e{t.usedByTooltip||this.hide({event:t})};this.$_registerTriggerListeners(this.$_targetNodes,gt,this.triggers,this.hideTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],gt,this.popperTriggers,this.popperHideTriggers,e)},$_registerEventListeners(t,e,n){this.$_events.push({targetNodes:t,eventType:e,handler:n}),t.forEach(t\u003d\u003et.addEventListener(e,n,pt?{passive:!0}:void 0))},$_registerTriggerListeners(t,e,n,i,o){let r\u003dn;null!\u003di\u0026\u0026(r\u003d\"function\"\u003d\u003dtypeof i?i(r):i),r.forEach(n\u003d\u003e{const i\u003de[n];i\u0026\u0026this.$_registerEventListeners(t,i,o)})},$_removeEventListeners(t){const e\u003d[];this.$_events.forEach(n\u003d\u003e{const{targetNodes:i,eventType:o,handler:r}\u003dn;t\u0026\u0026t!\u003d\u003do?e.push(n):i.forEach(t\u003d\u003et.removeEventListener(o,r))}),this.$_events\u003de},$_refreshListeners(){this.$_isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())},$_handleGlobalClose(t,e\u003d!1){this.$_showFrameLocked||(this.hide({event:t}),t.closePopover?this.$emit(\"close-directive\"):this.$emit(\"auto-hide\"),e\u0026\u0026(this.$_preventShow\u003d!0,setTimeout(()\u003d\u003e{this.$_preventShow\u003d!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode\u0026\u0026this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(t,e){for(const n of this.$_targetNodes){const i\u003dn.getAttribute(t);i\u0026\u0026(n.removeAttribute(t),n.setAttribute(e,i))}},$_applyAttrsToTarget(t){for(const e of this.$_targetNodes)for(const n in t){const i\u003dt[n];null\u003d\u003di?e.removeAttribute(n):e.setAttribute(n,i)}},$_updateParentShownChildren(t){let e\u003dthis.parentPopper;for(;e;)t?e.shownChildren.add(this.randomId):(e.shownChildren.delete(this.randomId),e.$_pendingHide\u0026\u0026e.hide()),e\u003de.parentPopper},$_isAimingPopper(){const t\u003dthis.$el.getBoundingClientRect();if(Pt\u003e\u003dt.left\u0026\u0026Pt\u003c\u003dt.right\u0026\u0026Lt\u003e\u003dt.top\u0026\u0026Lt\u003c\u003dt.bottom){const t\u003dthis.$_popperNode.getBoundingClientRect(),e\u003dPt-Ot,n\u003dLt-Bt,i\u003dt.left+t.width/2-Ot+(t.top+t.height/2)-Bt+t.width+t.height,o\u003dOt+e*i,r\u003dBt+n*i;return Nt(Ot,Bt,o,r,t.left,t.top,t.left,t.bottom)||Nt(Ot,Bt,o,r,t.left,t.top,t.right,t.top)||Nt(Ot,Bt,o,r,t.right,t.top,t.right,t.bottom)||Nt(Ot,Bt,o,r,t.left,t.bottom,t.right,t.bottom)}return!1}},render(){return this.$scopedSlots.default(this.slotData)[0]}});function $t(t){for(let e\u003d0;e\u003cwt.length;e++){const n\u003dwt[e];try{const e\u003dn.popperNode();n.$_mouseDownContains\u003de.contains(t.target)}catch(t){}}}function kt(t,e\u003d!1){const n\u003d{};for(let i\u003dwt.length-1;i\u003e\u003d0;i--){const o\u003dwt[i];try{const i\u003do.$_containsGlobalTarget\u003dTt(o,t);o.$_pendingHide\u003d!1,requestAnimationFrame(()\u003d\u003e{if(o.$_pendingHide\u003d!1,!n[o.randomId]\u0026\u0026Et(o,i,t)){if(o.$_handleGlobalClose(t,e),!t.closeAllPopover\u0026\u0026t.closePopover\u0026\u0026i){let t\u003do.parentPopper;for(;t;)n[t.randomId]\u003d!0,t\u003dt.parentPopper;return}let r\u003do.parentPopper;for(;r\u0026\u0026Et(r,r.$_containsGlobalTarget,t);)r.$_handleGlobalClose(t,e),r\u003dr.parentPopper}})}catch(t){}}}function Tt(t,e){const n\u003dt.popperNode();return t.$_mouseDownContains||n.contains(e.target)}function Et(t,e,n){return n.closeAllPopover||n.closePopover\u0026\u0026e||t.autoHide\u0026\u0026!e}\"undefined\"!\u003dtypeof document\u0026\u0026\"undefined\"!\u003dtypeof window\u0026\u0026(ft?(document.addEventListener(\"touchstart\",$t,!pt||{passive:!0,capture:!0}),document.addEventListener(\"touchend\",(function(t){kt(t,!0)}),!pt||{passive:!0,capture:!0})):(window.addEventListener(\"mousedown\",$t,!0),window.addEventListener(\"click\",(function(t){kt(t)}),!0)),window.addEventListener(\"resize\",(function(t){for(let e\u003d0;e\u003cwt.length;e++){wt[e].$_computePosition(t)}})));let Ot\u003d0,Bt\u003d0,Pt\u003d0,Lt\u003d0;function Nt(t,e,n,i,o,r,s,a){const l\u003d((s-o)*(e-r)-(a-r)*(t-o))/((a-r)*(n-t)-(s-o)*(i-e)),c\u003d((n-t)*(e-r)-(i-e)*(t-o))/((a-r)*(n-t)-(s-o)*(i-e));return l\u003e\u003d0\u0026\u0026l\u003c\u003d1\u0026\u0026c\u003e\u003d0\u0026\u0026c\u003c\u003d1}var At;function zt(){zt.init||(zt.init\u003d!0,At\u003d-1!\u003d\u003dfunction(){var t\u003dwindow.navigator.userAgent,e\u003dt.indexOf(\"MSIE \");if(e\u003e0)return parseInt(t.substring(e+5,t.indexOf(\".\",e)),10);if(t.indexOf(\"Trident/\")\u003e0){var n\u003dt.indexOf(\"rv:\");return parseInt(t.substring(n+3,t.indexOf(\".\",n)),10)}var i\u003dt.indexOf(\"Edge/\");return i\u003e0?parseInt(t.substring(i+5,t.indexOf(\".\",i)),10):-1}())}function Mt(t,e,n,i,o,r,s,a,l,c){\"boolean\"!\u003dtypeof s\u0026\u0026(l\u003da,a\u003ds,s\u003d!1);var u,d\u003d\"function\"\u003d\u003dtypeof n?n.options:n;if(t\u0026\u0026t.render\u0026\u0026(d.render\u003dt.render,d.staticRenderFns\u003dt.staticRenderFns,d._compiled\u003d!0,o\u0026\u0026(d.functional\u003d!0)),i\u0026\u0026(d._scopeId\u003di),r?(u\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),e\u0026\u0026e.call(this,l(t)),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(r)},d._ssrRegister\u003du):e\u0026\u0026(u\u003ds?function(t){e.call(this,c(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),u)if(d.functional){var h\u003dd.render;d.render\u003dfunction(t,e){return u.call(e),h(t,e)}}else{var p\u003dd.beforeCreate;d.beforeCreate\u003dp?[].concat(p,u):[u]}return n}\"undefined\"!\u003dtypeof window\u0026\u0026window.addEventListener(\"mousemove\",t\u003d\u003e{Ot\u003dPt,Bt\u003dLt,Pt\u003dt.clientX,Lt\u003dt.clientY},pt?{passive:!0}:void 0);var Ht\u003d{name:\"ResizeObserver\",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var t\u003dthis;zt(),this.$nextTick((function(){t._w\u003dt.$el.offsetWidth,t._h\u003dt.$el.offsetHeight,t.emitOnMount\u0026\u0026t.emitSize()}));var e\u003ddocument.createElement(\"object\");this._resizeObject\u003de,e.setAttribute(\"aria-hidden\",\"true\"),e.setAttribute(\"tabindex\",-1),e.onload\u003dthis.addResizeHandlers,e.type\u003d\"text/html\",At\u0026\u0026this.$el.appendChild(e),e.data\u003d\"about:blank\",At||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth\u0026\u0026this._w!\u003d\u003dthis.$el.offsetWidth||!this.ignoreHeight\u0026\u0026this._h!\u003d\u003dthis.$el.offsetHeight)\u0026\u0026(this._w\u003dthis.$el.offsetWidth,this._h\u003dthis.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit(\"notify\",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject\u0026\u0026this._resizeObject.onload\u0026\u0026(!At\u0026\u0026this._resizeObject.contentDocument\u0026\u0026this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload\u003dnull,this._resizeObject\u003dnull)}}},Dt\u003dfunction(){var t\u003dthis.$createElement;return(this._self._c||t)(\"div\",{staticClass:\"resize-observer\",attrs:{tabindex:\"-1\"}})};Dt._withStripped\u003d!0;var Rt\u003dMt({render:Dt,staticRenderFns:[]},void 0,Ht,\"data-v-8859cc6c\",!1,void 0,!1,void 0,void 0,void 0);var jt\u003d{version:\"1.0.1\",install:function(t){t.component(\"resize-observer\",Rt),t.component(\"ResizeObserver\",Rt)}},It\u003dnull;\"undefined\"!\u003dtypeof window?It\u003dwindow.Vue:void 0!\u003d\u003di.g\u0026\u0026(It\u003di.g.Vue),It\u0026\u0026It.use(jt);var qt\u003d{computed:{themeClass(){return function(t){const e\u003d[t];let n\u003ddt.themes[t]||{};do{n.$extend\u0026\u0026!n.$resetCss?(e.push(n.$extend),n\u003ddt.themes[n.$extend]||{}):n\u003dnull}while(n);return e.map(t\u003d\u003e\"v-popper--theme-\"+t)}(this.theme)}}},Wt\u003d{name:\"VPopperContent\",components:{ResizeObserver:Rt},mixins:[qt],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},methods:{toPx:t\u003d\u003enull\u003d\u003dt||isNaN(t)?null:t+\"px\"}};function Ft(t,e,n,i,o,r,s,a){var l,c\u003d\"function\"\u003d\u003dtypeof t?t.options:t;if(e\u0026\u0026(c.render\u003de,c.staticRenderFns\u003dn,c._compiled\u003d!0),i\u0026\u0026(c.functional\u003d!0),r\u0026\u0026(c._scopeId\u003d\"data-v-\"+r),s?(l\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),o\u0026\u0026o.call(this,t),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(s)},c._ssrRegister\u003dl):o\u0026\u0026(l\u003da?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(c.functional){c._injectStyles\u003dl;var u\u003dc.render;c.render\u003dfunction(t,e){return l.call(e),u(t,e)}}else{var d\u003dc.beforeCreate;c.beforeCreate\u003dd?[].concat(d,l):[l]}return{exports:t,options:c}}const Vt\u003d{};var Ut\u003dFt(Wt,(function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{ref:\"popover\",staticClass:\"v-popper__popper\",class:[t.themeClass,t.classes.popperClass,{\"v-popper__popper--shown\":t.shown,\"v-popper__popper--hidden\":!t.shown,\"v-popper__popper--show-from\":t.classes.showFrom,\"v-popper__popper--show-to\":t.classes.showTo,\"v-popper__popper--hide-from\":t.classes.hideFrom,\"v-popper__popper--hide-to\":t.classes.hideTo,\"v-popper__popper--skip-transition\":t.skipTransition,\"v-popper__popper--arrow-overflow\":t.result\u0026\u0026t.result.arrow.overflow,\"v-popper__popper--no-positioning\":!t.result}],style:t.result?{position:t.result.strategy,transform:\"translate3d(\"+Math.round(t.result.x)+\"px,\"+Math.round(t.result.y)+\"px,0)\"}:void 0,attrs:{id:t.popperId,\"aria-hidden\":t.shown?\"false\":\"true\",tabindex:t.autoHide?0:void 0,\"data-popper-placement\":t.result?t.result.placement:void 0},on:{keyup:function(e){if(!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"]))return null;t.autoHide\u0026\u0026t.$emit(\"hide\")}}},[n(\"div\",{staticClass:\"v-popper__backdrop\",on:{click:function(e){t.autoHide\u0026\u0026t.$emit(\"hide\")}}}),n(\"div\",{staticClass:\"v-popper__wrapper\",style:t.result?{transformOrigin:t.result.transformOrigin}:void 0},[n(\"div\",{ref:\"inner\",staticClass:\"v-popper__inner\"},[t.mounted?[n(\"div\",[t._t(\"default\")],2),t.handleResize?n(\"ResizeObserver\",{on:{notify:function(e){return t.$emit(\"resize\",e)}}}):t._e()]:t._e()],2),n(\"div\",{ref:\"arrow\",staticClass:\"v-popper__arrow-container\",style:t.result?{left:t.toPx(t.result.arrow.x),top:t.toPx(t.result.arrow.y)}:void 0},[n(\"div\",{staticClass:\"v-popper__arrow-outer\"}),n(\"div\",{staticClass:\"v-popper__arrow-inner\"})])])])}),[],!1,Qt,null,null,null);function Qt(t){for(let t in Vt)this[t]\u003dVt[t]}var Xt\u003dfunction(){return Ut.exports}(),Yt\u003d{methods:{show(...t){return this.$refs.popper.show(...t)},hide(...t){return this.$refs.popper.hide(...t)},dispose(...t){return this.$refs.popper.dispose(...t)},onResize(...t){return this.$refs.popper.onResize(...t)}}},Kt\u003d{name:\"VPopperWrapper\",components:{Popper:Ct(),PopperContent:Xt},mixins:[Yt,qt],inheritAttrs:!1,props:{theme:{type:String,default(){return this.$options.vPopperTheme}}},methods:{getTargetNodes(){return Array.from(this.$refs.reference.children).filter(t\u003d\u003et!\u003d\u003dthis.$refs.popperContent.$el)}}};const Gt\u003d{};var Zt\u003dFt(Kt,(function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"Popper\",t._g(t._b({ref:\"popper\",attrs:{theme:t.theme,\"target-nodes\":t.getTargetNodes,\"reference-node\":function(){return t.$refs.reference},\"popper-node\":function(){return t.$refs.popperContent.$el}},scopedSlots:t._u([{key:\"default\",fn:function(e){var i\u003de.popperId,o\u003de.isShown,r\u003de.shouldMountContent,s\u003de.skipTransition,a\u003de.autoHide,l\u003de.show,c\u003de.hide,u\u003de.handleResize,d\u003de.onResize,h\u003de.classes,p\u003de.result;return[n(\"div\",{ref:\"reference\",staticClass:\"v-popper\",class:[t.themeClass,{\"v-popper--shown\":o}]},[t._t(\"default\",null,{shown:o,show:l,hide:c}),n(\"PopperContent\",{ref:\"popperContent\",attrs:{\"popper-id\":i,theme:t.theme,shown:o,mounted:r,\"skip-transition\":s,\"auto-hide\":a,\"handle-resize\":u,classes:h,result:p},on:{hide:c,resize:d}},[t._t(\"popper\",null,{shown:o,hide:c})],2)],2)]}}],null,!0)},\"Popper\",t.$attrs,!1),t.$listeners))}),[],!1,Jt,null,null,null);function Jt(t){for(let t in Gt)this[t]\u003dGt[t]}var te\u003dfunction(){return Zt.exports}(),ee\u003dut(ct({},te),{name:\"VDropdown\",vPopperTheme:\"dropdown\"});const ne\u003d{};var ie\u003dFt(ee,void 0,void 0,!1,oe,null,null,null);function oe(t){for(let t in ne)this[t]\u003dne[t]}var re\u003dfunction(){return ie.exports}(),se\u003dut(ct({},te),{name:\"VMenu\",vPopperTheme:\"menu\"});const ae\u003d{};var le\u003dFt(se,void 0,void 0,!1,ce,null,null,null);function ce(t){for(let t in ae)this[t]\u003dae[t]}var ue\u003dfunction(){return le.exports}(),de\u003dut(ct({},te),{name:\"VTooltip\",vPopperTheme:\"tooltip\"});const he\u003d{};var pe\u003dFt(de,void 0,void 0,!1,fe,null,null,null);function fe(t){for(let t in he)this[t]\u003dhe[t]}var me\u003dfunction(){return pe.exports}(),ve\u003d{name:\"VTooltipDirective\",components:{Popper:Ct(),PopperContent:Xt},mixins:[Yt],inheritAttrs:!1,props:{theme:{type:String,default:\"tooltip\"},html:{type:Boolean,default(){return ht(this.theme,\"html\")}},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default(){return ht(this.theme,\"loadingContent\")}}},data:()\u003d\u003e({asyncContent:null}),computed:{isContentAsync(){return\"function\"\u003d\u003dtypeof this.content},loading(){return this.isContentAsync\u0026\u0026null\u003d\u003dthis.asyncContent},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(t){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId\u003d0},methods:{fetchContent(t){if(\"function\"\u003d\u003dtypeof this.content\u0026\u0026this.$_isShown\u0026\u0026(t||!this.$_loading\u0026\u0026null\u003d\u003dthis.asyncContent)){this.asyncContent\u003dnull,this.$_loading\u003d!0;const t\u003d++this.$_fetchId,e\u003dthis.content(this);e.then?e.then(e\u003d\u003ethis.onResult(t,e)):this.onResult(t,e)}},onResult(t,e){t\u003d\u003d\u003dthis.$_fetchId\u0026\u0026(this.$_loading\u003d!1,this.asyncContent\u003de)},onShow(){this.$_isShown\u003d!0,this.fetchContent()},onHide(){this.$_isShown\u003d!1}}};const ge\u003d{};var ye\u003dFt(ve,(function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"Popper\",t._g(t._b({ref:\"popper\",attrs:{theme:t.theme,\"popper-node\":function(){return t.$refs.popperContent.$el}},on:{\"apply-show\":t.onShow,\"apply-hide\":t.onHide},scopedSlots:t._u([{key:\"default\",fn:function(e){var i\u003de.popperId,o\u003de.isShown,r\u003de.shouldMountContent,s\u003de.skipTransition,a\u003de.autoHide,l\u003de.hide,c\u003de.handleResize,u\u003de.onResize,d\u003de.classes,h\u003de.result;return[n(\"PopperContent\",{ref:\"popperContent\",class:{\"v-popper--tooltip-loading\":t.loading},attrs:{\"popper-id\":i,theme:t.theme,shown:o,mounted:r,\"skip-transition\":s,\"auto-hide\":a,\"handle-resize\":c,classes:d,result:h},on:{hide:l,resize:u}},[t.html?n(\"div\",{domProps:{innerHTML:t._s(t.finalContent)}}):n(\"div\",{domProps:{textContent:t._s(t.finalContent)}})])]}}])},\"Popper\",t.$attrs,!1),t.$listeners))}),[],!1,we,null,null,null);function we(t){for(let t in ge)this[t]\u003dge[t]}var be\u003dfunction(){return ye.exports}();function _e(t,e,n){let i;const o\u003dtypeof e;return i\u003d\"string\"\u003d\u003d\u003do?{content:e}:e\u0026\u0026\"object\"\u003d\u003d\u003do?e:{content:!1},i.placement\u003dfunction(t,e){let n\u003dt.placement;if(!n\u0026\u0026e)for(const t of mt)e[t]\u0026\u0026(n\u003dt);return n||(n\u003dht(t.theme||\"tooltip\",\"placement\")),n}(i,n),i.targetNodes\u003d()\u003d\u003e[t],i.referenceNode\u003d()\u003d\u003et,i}function Se(t,e,n){const i\u003d_e(t,e,n),o\u003dt.$_popper\u003dnew(et())({mixins:[Yt],data:()\u003d\u003e({options:i}),render(t){const e\u003dthis.options,{theme:n,html:i,content:o,loadingContent:r}\u003de,s\u003d((t,e)\u003d\u003e{var n\u003d{};for(var i in t)st.call(t,i)\u0026\u0026e.indexOf(i)\u003c0\u0026\u0026(n[i]\u003dt[i]);if(null!\u003dt\u0026\u0026rt)for(var i of rt(t))e.indexOf(i)\u003c0\u0026\u0026at.call(t,i)\u0026\u0026(n[i]\u003dt[i]);return n})(e,[\"theme\",\"html\",\"content\",\"loadingContent\"]);return t(be,{props:{theme:n,html:i,content:o,loadingContent:r},attrs:s,ref:\"popper\"})},devtools:{hide:!0}}),r\u003ddocument.createElement(\"div\");return document.body.appendChild(r),o.$mount(r),t.classList\u0026\u0026t.classList.add(\"v-popper--has-tooltip\"),o}function xe(t){t.$_popper\u0026\u0026(t.$_popper.$destroy(),delete t.$_popper,delete t.$_popperOldShown),t.classList\u0026\u0026t.classList.remove(\"v-popper--has-tooltip\")}function Ce(t,{value:e,oldValue:n,modifiers:i}){const o\u003d_e(t,e,i);if(!o.content||ht(o.theme||\"tooltip\",\"disabled\"))xe(t);else{let n;t.$_popper?(n\u003dt.$_popper,n.options\u003do):n\u003dSe(t,e,i),void 0!\u003d\u003de.shown\u0026\u0026e.shown!\u003d\u003dt.$_popperOldShown\u0026\u0026(t.$_popperOldShown\u003de.shown,e.shown?n.show():n.hide())}}var $e\u003d{bind:Ce,update:Ce,unbind(t){xe(t)}};function ke(t){t.addEventListener(\"click\",Ee),t.addEventListener(\"touchstart\",Oe,!!pt\u0026\u0026{passive:!0})}function Te(t){t.removeEventListener(\"click\",Ee),t.removeEventListener(\"touchstart\",Oe),t.removeEventListener(\"touchend\",Be),t.removeEventListener(\"touchcancel\",Pe)}function Ee(t){const e\u003dt.currentTarget;t.closePopover\u003d!e.$_vclosepopover_touch,t.closeAllPopover\u003de.$_closePopoverModifiers\u0026\u0026!!e.$_closePopoverModifiers.all}function Oe(t){if(1\u003d\u003d\u003dt.changedTouches.length){const e\u003dt.currentTarget;e.$_vclosepopover_touch\u003d!0;const n\u003dt.changedTouches[0];e.$_vclosepopover_touchPoint\u003dn,e.addEventListener(\"touchend\",Be),e.addEventListener(\"touchcancel\",Pe)}}function Be(t){const e\u003dt.currentTarget;if(e.$_vclosepopover_touch\u003d!1,1\u003d\u003d\u003dt.changedTouches.length){const n\u003dt.changedTouches[0],i\u003de.$_vclosepopover_touchPoint;t.closePopover\u003dMath.abs(n.screenY-i.screenY)\u003c20\u0026\u0026Math.abs(n.screenX-i.screenX)\u003c20,t.closeAllPopover\u003de.$_closePopoverModifiers\u0026\u0026!!e.$_closePopoverModifiers.all}}function Pe(t){t.currentTarget.$_vclosepopover_touch\u003d!1}var Le\u003d{bind(t,{value:e,modifiers:n}){t.$_closePopoverModifiers\u003dn,(void 0\u003d\u003d\u003de||e)\u0026\u0026ke(t)},update(t,{value:e,oldValue:n,modifiers:i}){t.$_closePopoverModifiers\u003di,e!\u003d\u003dn\u0026\u0026(void 0\u003d\u003d\u003de||e?ke(t):Te(t))},unbind(t){Te(t)}};const Ne\u003dre,Ae\u003dme;const ze\u003d{version:\"1.0.0-beta.14\",install:function(t,e\u003d{}){t.$_vTooltipInstalled||(t.$_vTooltipInstalled\u003d!0,function t(e,n){for(const i in n)Object.prototype.hasOwnProperty.call(n,i)\u0026\u0026(\"object\"\u003d\u003dtypeof n[i]\u0026\u0026e[i]?t(e[i],n[i]):e[i]\u003dn[i])}(dt,e),t.directive(\"tooltip\",$e),t.directive(\"close-popper\",Le),t.component(\"v-tooltip\",me),t.component(\"VTooltip\",me),t.component(\"v-dropdown\",re),t.component(\"VDropdown\",re),t.component(\"v-menu\",ue),t.component(\"VMenu\",ue))},options:dt};let Me\u003dnull;\"undefined\"!\u003dtypeof window?Me\u003dwindow.Vue:void 0!\u003d\u003di.g\u0026\u0026(Me\u003di.g.Vue),Me\u0026\u0026Me.use(ze);var He\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"alert box-container\",t.containerStyle(),t.addClass,{\"d-flex\":t.seamlessHeaderBool()}],style:t.customStyle()},[t.seamlessHeaderBool()?n(\"div\",{staticClass:\"d-flex\"},[t.iconBool()?n(\"div\",{class:[\"icon-wrapper\",t.iconStyle()],style:t.customIconColorStyle()},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas\",t.getFontAwesomeIconStyle()]})]}))],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"vertical-divider\",class:t.getBootstrapAlertStyle(),attrs:{\"aria-hidden\":\"true\"}})]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"header-and-body\"},[t.headerBool()?n(\"div\",{class:[\"box-header-wrapper\",{\"alert-dismissible\":t.dismissible}]},[t.iconBool()\u0026\u0026!t.seamlessHeaderBool()?n(\"div\",{class:[\"icon-wrapper\",t.iconStyle()],style:t.customIconColorStyle()},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas\",t.getFontAwesomeIconStyle()]})]}))],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"box-header\"},[t._t(\"header\")],2),t._v(\" \"),t.dismissible?n(\"button\",{staticClass:\"btn-close close-with-heading\",attrs:{type:\"button\",\"data-bs-dismiss\":\"alert\",\"aria-label\":\"Close\"}}):t._e()]):t._e(),t._v(\" \"),n(\"div\",{class:[\"box-body-wrapper\",{\"alert-dismissible\":t.dismissible\u0026\u0026!t.headerBool(),\"box-body-wrapper-with-heading\":t.headerBool()}]},[t.iconBool()\u0026\u0026!t.headerBool()?n(\"div\",{class:[\"icon-wrapper\",t.iconStyle()],style:t.customIconColorStyle()},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas\",t.getFontAwesomeIconStyle()]})]}))],2):t._e(),t._v(\" \"),t.seamlessNoHeaderBool()?n(\"div\",{staticClass:\"vertical-divider\",class:t.getBootstrapAlertStyle(),attrs:{\"aria-hidden\":\"true\"}}):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"contents\",style:t.customColorStyle()},[t._t(\"default\")],2),t._v(\" \"),t.dismissible\u0026\u0026!t.headerBool()?n(\"button\",{staticClass:\"btn-close\",attrs:{type:\"button\",\"data-bs-dismiss\":\"alert\",\"aria-label\":\"Close\"}}):t._e()])])])};He._withStripped\u003d!0;var De\u003dfunction(t){return\"string\"\u003d\u003dtypeof t?\"\"\u003d\u003d\u003dt||\"true\"\u003d\u003d\u003dt||\"false\"!\u003d\u003dt\u0026\u0026\"null\"!\u003d\u003dt\u0026\u0026\"undefined\"!\u003d\u003dt\u0026\u0026t:t};function Re(t){return\"string\"\u003d\u003dtypeof t?\"\"\u003d\u003d\u003dt||\"true\"\u003d\u003d\u003dt||\"false\"!\u003d\u003dt\u0026\u0026\"null\"!\u003d\u003dt\u0026\u0026\"undefined\"!\u003d\u003dt\u0026\u0026t:t}function je(t){return\"number\"\u003d\u003dtypeof t?t:null\u003d\u003dt||isNaN(Number(t))?null:Number(t)}function Ie(t){var e\u003dt.split(\"#\"),n\u003d\"\";return e.length\u003e1\u0026\u0026(n\u003de[1]),n}function qe(t,e,n,i,o,r,s,a){var l,c\u003d\"function\"\u003d\u003dtypeof t?t.options:t;if(e\u0026\u0026(c.render\u003de,c.staticRenderFns\u003dn,c._compiled\u003d!0),i\u0026\u0026(c.functional\u003d!0),r\u0026\u0026(c._scopeId\u003d\"data-v-\"+r),s?(l\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),o\u0026\u0026o.call(this,t),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(s)},c._ssrRegister\u003dl):o\u0026\u0026(l\u003da?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(c.functional){c._injectStyles\u003dl;var u\u003dc.render;c.render\u003dfunction(t,e){return l.call(e),u(t,e)}}else{var d\u003dc.beforeCreate;c.beforeCreate\u003dd?[].concat(d,l):[l]}return{exports:t,options:c}}const We\u003dqe({props:{dismissible:{type:Boolean,default:!1},backgroundColor:{type:String,default:null},borderColor:{type:String,default:null},borderLeftColor:{type:String,default:null},color:{type:String,default:null},icon:{type:String,default:null},iconSize:{type:String,default:null},iconColor:{type:String,default:null},type:{type:String,default:\"\"},addClass:{type:String,default:\"\"},light:{type:Boolean,default:!1},seamless:{type:Boolean,default:!1},noIcon:{type:Boolean,default:!1},noBackground:{type:Boolean,default:!1},noBorder:{type:Boolean,default:!1},theme:{type:String,default:\"\"}},computed:{bootStrapStyle:function(){return function(t,e){var n,i,o\u003d[\"warning\",\"info\",\"definition\",\"success\",\"danger\",\"tip\",\"important\",\"wrong\"].includes(t)?t:\"\",r\u003d[\"primary\",\"secondary\",\"success\",\"danger\",\"warning\",\"info\",\"light\",\"dark\"].includes(e)?e:\"\";if(r)n\u003dr;else switch(o){case\"warning\":n\u003d\"warning\";break;case\"info\":n\u003d\"info\";break;case\"definition\":n\u003d\"primary\";break;case\"success\":case\"tip\":n\u003d\"success\";break;case\"important\":case\"wrong\":n\u003d\"danger\";break;default:n\u003d\"default\"}switch(o){case\"wrong\":i\u003d\"fa-times\";break;case\"warning\":i\u003d\"fa-exclamation\";break;case\"info\":i\u003d\"fa-info\";break;case\"success\":i\u003d\"fa-check\";break;case\"important\":i\u003d\"fa-flag\";break;case\"tip\":i\u003d\"fa-lightbulb\";break;case\"definition\":i\u003d\"fa-atlas\";break;default:i\u003d\"\"}return{style:n,icon:i}}(this.type,this.theme)}},methods:{isSeamless:function(){return!this.light\u0026\u0026this.seamless},seamlessNoHeaderBool:function(){return this.isSeamless()\u0026\u0026!this.headerBool()},seamlessHeaderBool:function(){return this.isSeamless()\u0026\u0026this.headerBool()},headerBool:function(){return!!this.$scopedSlots.header},iconBool:function(){var t\u003d!!this.$scopedSlots.icon;return!this.noIcon\u0026\u0026this.type||t},containerStyle:function(){var t;return t\u003dthis.light?\"\".concat(this.getBootstrapBorderStyle(),\" alert-border-left\"):this.seamless?\"seamless\":this.getBootstrapAlertStyle(),this.noBackground\u0026\u0026(t+\u003d\" no-background\"),this.noBorder\u0026\u0026(t+\u003d\" no-border\"),t},customStyle:function(){var t\u003d{};return this.backgroundColor\u0026\u0026(t.backgroundColor\u003dthis.backgroundColor,t.borderColor\u003dthis.backgroundColor),this.borderColor\u0026\u0026(t.border\u003d\"1px solid \".concat(this.borderColor)),this.borderLeftColor\u0026\u0026(t.borderLeft\u003d\"5px solid \".concat(this.borderLeftColor)),t},customColorStyle:function(){return this.color?{color:this.color}:{}},iconStyle:function(){var t\u003d\"\";return this.iconSize\u0026\u0026(t+\u003d\"fa-\".concat(this.iconSize)),(this.light||this.seamless)\u0026\u0026(t+\u003d\" \".concat(this.getBootstrapTextStyle())),t},customIconColorStyle:function(){return this.iconColor?{color:\"\".concat(this.iconColor,\"!important\")}:{}},getBootstrapAlertStyle:function(){return\"alert-\".concat(this.bootStrapStyle.style)},getBootstrapTextStyle:function(){return\"text-\".concat(this.bootStrapStyle.style)},getBootstrapBorderStyle:function(){return\"border-\".concat(this.bootStrapStyle.style)},getFontAwesomeIconStyle:function(){return this.bootStrapStyle.icon}}},He,[],!1,null,\"0eabf1c4\",null).exports;var Fe\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[n(\"nav\",{staticClass:\"breadcrumb-divider\",attrs:{\"aria-label\":\"breadcrumb\"}},[n(\"ol\",{staticClass:\"breadcrumb\"},[n(\"li\",{staticClass:\"notlink breadcrumb-marker\"},[t._v(\"\\n ››  \\n \")]),t._v(\" \"),t._l(t.items,(function(e,i){return n(\"li\",{key:i,class:[\"breadcrumb-item\",{notlink:null\u003d\u003d\u003de.link}],attrs:{\"aria-current\":{page:t.isLast(i,t.items.length)}}},[null\u003d\u003d\u003de.link?n(\"a\",[t._v(\"\\n \"+t._s(e.title)+\"\\n \")]):n(\"a\",{attrs:{href:e.link}},[t._v(\"\\n \"+t._s(e.title)+\"\\n \")])])}))],2)])])};Fe._withStripped\u003d!0;const Ve\u003dqe({data:function(){return{items:[]}},methods:{isLast:function(t,e){return t\u003d\u003d\u003de-1}},mounted:function(){var t\u003dArray.from(document.querySelectorAll(\"ul\")).find((function(t){return t.classList.contains(\"site-nav-list-root\")}));if(t){var e\u003dt.querySelector(\".current\");if(e){this.items.unshift({title:e.textContent,link:null});for(var n\u003de.parentElement;n!\u003d\u003dt;){if(\"ul\"\u003d\u003d\u003dn.tagName.toLowerCase()){var i\u003dn.parentElement.querySelector(\"div\"),o\u003di.querySelector(\"a[href]\");null\u003d\u003d\u003do?this.items.unshift({title:i.textContent,link:null}):this.items.unshift({title:o.textContent,link:o.getAttribute(\"href\")})}n\u003dn.parentElement}}}}},Fe,[],!1,null,\"ef898034\",null).exports;var Ue\u003di(3),Qe\u003di.n(Ue),Xe\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.isLi?n(\"li\",{ref:\"dropdown\",class:[{disabled:t.disabledBool},\"dropdown\",t.addClass]},[t._t(\"button\",(function(){return[n(\"a\",{staticClass:\"dropdown-toggle nav-link\",class:{disabled:t.disabledBool},attrs:{role:\"button\",\"data-bs-toggle\":\"dropdown\"}},[t._t(\"header\")],2)]})),t._v(\" \"),t._t(\"dropdown-menu\",(function(){return[n(\"ul\",{staticClass:\"dropdown-menu\",class:[{show:t.show},{\"dropdown-menu-end\":t.menuAlignRight}]},[t._t(\"default\")],2)]}))],2):t.isSubmenu?n(\"submenu\",{ref:\"submenu\",scopedSlots:t._u([t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(){return[t._t(n)]},proxy:!0}}))],null,!0)}):n(\"div\",{ref:\"dropdown\",class:[{disabled:t.disabledBool},\"btn-group\",t.addClass]},[t._t(\"before\"),t._v(\" \"),t._t(\"button\",(function(){return[n(\"button\",{staticClass:\"btn dropdown-toggle\",class:[t.btnType,t.btnWithBefore,{\"dropdown-toggle-split\":t.hasBefore}],attrs:{type:\"button\",disabled:t.disabledBool,\"data-bs-reference\":\"parent\",\"data-bs-toggle\":\"dropdown\"}},[t._t(\"header\")],2)]})),t._v(\" \"),t._t(\"dropdown-menu\",(function(){return[n(\"ul\",{staticClass:\"dropdown-menu\",class:[{show:t.show},{\"dropdown-menu-end\":t.menuAlignRight}]},[t._t(\"default\")],2)]}))],2)};Xe._withStripped\u003d!0;var Ye\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"li\",{ref:\"submenu\",class:[t.addClass,\"dropdown-submenu\",{dropend:t.dropright,dropstart:t.dropleft}]},[t._t(\"button\",(function(){return[n(\"a\",{staticClass:\"dropdown-item submenu-toggle\",class:{disabled:t.disabled},attrs:{role:\"button\",\"data-bs-toggle\":\"dropdown\"}},[t._t(\"header\")],2)]})),t._v(\" \"),t._t(\"dropdown-menu\",(function(){return[n(\"ul\",{staticClass:\"dropdown-menu\"},[t._t(\"default\")],2)]}))],2)};function Ke(t,n){for(var i\u003d0;i\u003cn.length;i++){var o\u003dn[i];o.enumerable\u003do.enumerable||!1,o.configurable\u003d!0,\"value\"in o\u0026\u0026(o.writable\u003d!0),Object.defineProperty(t,e(o.key),o)}}Ye._withStripped\u003d!0;var Ge,Ze\u003dArray.prototype,Je\u003dnew Error(\"Passed arguments must be of Node\"),tn\u003d[],en\u003d[];function nn(t){return t instanceof window.Node}function on(t){return t instanceof window.NodeList||t instanceof sn||t instanceof window.HTMLCollection||t instanceof Array}function rn(t){return(t\u003dt.trim()).length?t.replace(/\\s+/,\" \").split(\" \"):[]}var sn\u003dfunction(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n\u003de;if(e[0]\u003d\u003d\u003dwindow?n\u003d[window]:\"string\"\u003d\u003dtypeof e[0]?(n\u003d(e[1]||document).querySelectorAll(e[0]),e[1]\u0026\u0026(this.owner\u003de[1])):0 in e\u0026\u0026!nn(e[0])\u0026\u0026e[0]\u0026\u0026\"length\"in e[0]\u0026\u0026(n\u003de[0],e[1]\u0026\u0026(this.owner\u003de[1])),n){for(var i in n)this[i]\u003dn[i];this.length\u003dn.length}else this.length\u003d0}var e,n,i;return e\u003dt,(n\u003d[{key:\"concat\",value:function(){var t\u003dZe.slice.call(this);function e(n){Ze.forEach.call(n,(function(n){nn(n)?~t.indexOf(n)||t.push(n):on(n)\u0026\u0026e(n)}))}for(var n\u003darguments.length,i\u003dnew Array(n),o\u003d0;o\u003cn;o++)i[o]\u003darguments[o];return Ze.forEach.call(i,(function(n){if(nn(n))~t.indexOf(n)||t.push(n);else{if(!on(n))throw Error(\"Concat arguments must be of a Node, NodeList, HTMLCollection, or Array of (Node, NodeList, HTMLCollection, Array)\");e(n)}})),hn(t,this)}},{key:\"delete\",value:function(){var t\u003dln(this).filter((function(t){return t.remove?t.remove():t.parentNode\u0026\u0026t.parentNode.removeChild(t),document.body.contains(t)}));return t.length\u0026\u0026console.warn(\"NodeList: Some nodes could not be deleted.\"),t}},{key:\"each\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return Ze.forEach.apply(this,e),this}},{key:\"filter\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return hn(Ze.filter.apply(this,e),this)}},{key:\"find\",value:function(t){var e\u003d[];return ln(this).forEach((function(n){Ze.push.apply(e,n.querySelectorAll(t))})),ln(e,this.owner)}},{key:\"findChildren\",value:function(t){var e\u003dthis;return t?this.find(t).filter((function(t){return e.includes(t.parentElement)})):ln(this.map((function(t){return t.children})))}},{key:\"forEach\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return Ze.forEach.apply(this,e),this}},{key:\"includes\",value:function(t,e){return~this.indexOf(t,e)}},{key:\"map\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];var i\u003dZe.map.apply(this,e);return i.some((function(t){return nn(t)||on(t)}))?ln(i,this):i}},{key:\"parent\",value:function(){return ln(this.map((function(t){return t.parentNode})),this)}},{key:\"pop\",value:function(t){\"number\"!\u003dtypeof t\u0026\u0026(t\u003d1);for(var e\u003d[],n\u003dZe.pop.bind(this);t--;)e.push(n());return hn(e,this)}},{key:\"push\",value:function(){for(var t\u003dthis,e\u003darguments.length,n\u003dnew Array(e),i\u003d0;i\u003ce;i++)n[i]\u003darguments[i];return Ze.forEach.call(n,(function(e){if(!nn(e))throw Je;~t.indexOf(e)||Ze.push.call(t,e)})),this}},{key:\"shift\",value:function(t){\"number\"!\u003dtypeof t\u0026\u0026(t\u003d1);for(var e\u003d[];t--;)e.push(Ze.shift.call(this));return 1\u003d\u003de.length?e[0]:hn(e,this)}},{key:\"slice\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return hn(Ze.slice.apply(this,e),this)}},{key:\"splice\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];for(var i\u003d2,o\u003de.length;i\u003co;i++)if(!nn(e[i]))throw Je;return Ze.splice.apply(this,e),this}},{key:\"unshift\",value:function(){for(var t\u003dthis,e\u003dZe.unshift.bind(this),n\u003darguments.length,i\u003dnew Array(n),o\u003d0;o\u003cn;o++)i[o]\u003darguments[o];return Ze.forEach.call(i,(function(n){if(!nn(n))throw Je;~t.indexOf(n)||e(n)})),this}},{key:\"addClass\",value:function(t){return this.toggleClass(t,!0)}},{key:\"removeClass\",value:function(t){return this.toggleClass(t,!1)}},{key:\"toggleClass\",value:function(t,e){var n\u003dnull\u003d\u003de?\"toggle\":e?\"add\":\"remove\";return\"string\"\u003d\u003dtypeof t\u0026\u0026(t\u003drn(t)),this.each((function(e){var i,o\u003drn(e.className);t.forEach((function(t){var e\u003d~o.indexOf(t);e||\"remove\"\u003d\u003d\u003dn||o.push(t),e\u0026\u0026\"add\"!\u003d\u003dn\u0026\u0026(o\u003do.filter((function(e){return e!\u003d\u003dt})))})),(o\u003d(i\u003do).length?i.join(\" \"):\"\")?e.className\u003do:e.removeAttribute(\"class\")})),this}},{key:\"get\",value:function(t){var e\u003d[];return this.each((function(n){null!\u003d\u003dn\u0026\u0026(n\u003dn[t]),e.push(n)})),ln(e,this)}},{key:\"set\",value:function(t,e){return t.constructor\u003d\u003d\u003dObject?this.each((function(e){if(e)for(var n in t)n in e\u0026\u0026(e[n]\u003dt[n])})):this.each((function(n){t in n\u0026\u0026(n[t]\u003de)})),this}},{key:\"call\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];var i\u003dZe.shift.call(e),o\u003d[],r\u003d!0;return this.each((function(t){t\u0026\u0026t[i]instanceof Function?(t\u003dt[i].apply(t,e),o.push(t),r\u0026\u0026void 0!\u003d\u003dt\u0026\u0026(r\u003d!1)):o.push(void 0)})),r?this:ln(o,this)}},{key:\"item\",value:function(t){return hn([this[t]],this)}},{key:\"asArray\",get:function(){return Ze.slice.call(this)}},{key:\"on\",value:function(t,e,n){if(\"string\"\u003d\u003dtypeof t\u0026\u0026(t\u003drn(t)),!this||!this.length)return this;if(void 0\u003d\u003d\u003dn\u0026\u0026(n\u003de,e\u003dnull),!n)return this;var i\u003dn;return n\u003de?function(t){var n\u003dhn(e,this);n.length\u0026\u0026n.some((function(e){var n\u003de.contains(t.target);return n\u0026\u0026i.call(e,t,e),n}))}:function(t){i.apply(this,[t,this])},this.each((function(e){t.forEach((function(t){(e\u003d\u003d\u003dwindow||nn(e))\u0026\u0026(e.addEventListener(t,n,!1),en.push({el:e,event:t,callback:n}))}))})),this}},{key:\"off\",value:function(t,e){return t instanceof Function\u0026\u0026(e\u003dt,t\u003dnull),t\u003dt instanceof Array?t:\"string\"\u003d\u003dtypeof t?rn(t):null,this.each((function(n){en\u003den.filter((function(i){return!!(!i||i.el!\u003d\u003dn||e\u0026\u0026e!\u003d\u003di.callback||t\u0026\u0026!~t.indexOf(i.event))||(i.el.removeEventListener(i.event,i.callback),!1)}))})),this}},{key:\"onBlur\",value:function(t){var e\u003d!(arguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1])||arguments[1];return this\u0026\u0026this.length\u0026\u0026t?(this.each((function(e){tn.push({el:e,callback:t})})),Ge||(Ge\u003dfunction(t){tn.forEach((function(e){e.el\u0026\u0026(e.el.contains(t.target)||e.el\u003d\u003d\u003dt.target||e.callback.call(e.el,t,e.el))}))},document.addEventListener(\"click\",Ge,!1),e\u0026\u0026document.addEventListener(\"touchstart\",Ge,!1)),this):this}},{key:\"offBlur\",value:function(t){return this.each((function(e){tn\u003dtn.filter((function(n){return!(n\u0026\u0026n.el\u003d\u003d\u003de\u0026\u0026(!t||n.callback\u003d\u003d\u003dt))\u0026\u0026e}))})),this}}])\u0026\u0026Ke(e.prototype,n),i\u0026\u0026Ke(e,i),Object.defineProperty(e,\"prototype\",{writable:!1}),t}(),an\u003dsn.prototype;function ln(t,e){var n\u003d[];return Ze.forEach.call(t,(function(i){if(nn(i))~n.indexOf(i)||n.push(i);else if(on(i))for(var o in i)n.push(i[o]);else if(null!\u003d\u003di)return t.get\u003dan.get,t.set\u003dan.set,t.call\u003dan.call,t.owner\u003de,t})),hn(n,e)}Object.getOwnPropertyNames(Ze).forEach((function(t){\"join\"!\u003d\u003dt\u0026\u0026\"copyWithin\"!\u003d\u003dt\u0026\u0026\"fill\"!\u003d\u003dt\u0026\u0026void 0\u003d\u003d\u003dan[t]\u0026\u0026(an[t]\u003dZe[t])})),window\u0026\u0026window.Symbol\u0026\u0026Symbol.iterator\u0026\u0026(an[Symbol.iterator]\u003dan.values\u003dZe[Symbol.iterator]);var cn\u003ddocument\u0026\u0026document.createElement(\"div\");function un(t){var e\u003dthis;an[t]||(cn[t]instanceof Function?an[t]\u003dfunction(){for(var n\u003d[],i\u003d!0,o\u003darguments.length,r\u003dnew Array(o),s\u003d0;s\u003co;s++)r[s]\u003darguments[s];for(var a in an){var l\u003dan[a];l\u0026\u0026l[t]instanceof Function?(l\u003dl[t].apply(l,r),n.push(l),i\u0026\u0026void 0!\u003d\u003dl\u0026\u0026(i\u003d!1)):n.push(void 0)}return i?e:ln(n,e)}:Object.defineProperty(an,t,{get:function(){var e\u003d[];return this.each((function(n){null!\u003d\u003dn\u0026\u0026(n\u003dn[t]),e.push(n)})),ln(e,this)},set:function(e){this.each((function(n){n\u0026\u0026t in n\u0026\u0026(n[t]\u003de)}))}}))}for(var dn in cn)un(dn);function hn(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return new sn(e)}window\u0026\u0026(window.NL\u003dhn);const pn\u003dhn;const fn\u003d{isRightAlign:function(t){var e\u003d0,n\u003dwindow.innerWidth,i\u003d(window.innerHeight,t.getBoundingClientRect());if(void 0\u003d\u003d\u003di)return!0;i.y;var o\u003di.x,r\u003di.x+t.offsetWidth;return i.y,t.offsetHeight,!(o\u003c0)\u0026\u0026(o\u003ce||!(r\u003en))},preventOverflow:function(t){t.removeAttribute(\"style\");var e\u003d0,n\u003d(window.innerWidth,window.innerHeight),i\u003dt.getBoundingClientRect();if(void 0!\u003d\u003di){var o\u003di.y,r\u003d(i.x,i.x,t.offsetWidth,i.y+t.offsetHeight);r\u003en?t.setAttribute(\"style\",\"bottom: auto; top: \".concat(-(r-n),\"px;\")):o\u003ce\u0026\u0026t.setAttribute(\"style\",\"top: auto; bottom: \".concat(-(e-o),\"px;\"))}}};function mn(t){for(var e\u003dt,n\u003dt;n;)n.classList\u0026\u0026n.classList.contains(\"dropdown-menu\")\u0026\u0026(e\u003dn),n\u003dn.parentNode;if(e.offsetWidth\u003ewindow.innerWidth)e.setAttribute(\"style\",\"left: 0px;\");else{var i\u003de.parentNode.getBoundingClientRect(),o\u003di.left+e.offsetWidth-window.innerWidth,r\u003do\u003c0?i.left:i.left-o;e.setAttribute(\"style\",\"left: \".concat(r,\"px;\"))}}const vn\u003dqe({props:{addClass:{type:String,default:\"\"},disabled:{type:[Boolean,String],default:!1}},data:function(){return{show:!1,dropright:!0,dropleft:!1}},inject:{isParentNavbar:{default:!1}},computed:{disabledBool:function(){return Re(this.disabled)}},methods:{hideSubmenu:function(){this.show\u003d!1,pn(this.$refs.submenu).find(\"ul.dropdown-menu\").each((function(t){return t.classList.toggle(\"show\",!1)})),this.alignMenuRight()},showSubmenu:function(){var t\u003dthis;this.show\u003d!0,pn(this.$refs.submenu).findChildren(\"ul\").each((function(e){e.classList.toggle(\"show\",!0),window.innerWidth\u003c768\u0026\u0026t.isParentNavbar?mn(e):(fn.isRightAlign(e)?t.alignMenuRight():t.alignMenuLeft(),fn.preventOverflow(e))}))},alignMenuRight:function(){this.dropright\u003d!0,this.dropleft\u003d!1},alignMenuLeft:function(){this.dropright\u003d!1,this.dropleft\u003d!0}},mounted:function(){var t\u003dthis,e\u003dpn(this.$refs.submenu);this.show\u0026\u0026this.showSubmenu(),e.onBlur((function(){t.hideSubmenu()}),!1),e.findChildren(\"a,button\").on(\"click\",(function(e){return e.preventDefault(),e.stopPropagation(),t.disabledBool||(t.show?t.hideSubmenu():t.showSubmenu()),!1})),e.findChildren(\"a,button\").on(\"mouseover\",(function(n){if(n.preventDefault(),window.innerWidth\u003e767){if(e.findChildren(\"ul.show\").length\u003e0||t.disabledBool)return!1;n.currentTarget.click(),t.$parent.$parent.$children.forEach((function(e){e.$el\u003d\u003d\u003dt.$el?e.$refs.submenu.showSubmenu():e.$refs.submenu.hideSubmenu()}))}return!1}))},beforeDestroy:function(){var t\u003dpn(this.$refs.submenu);t.offBlur(),t.findChildren(\"a,button\").off(),t.findChildren(\"ul\").off()}},Ye,[],!1,null,\"3c82541c\",null).exports;const gn\u003dqe({components:{Submenu:vn},props:{disabled:{type:[Boolean,String],default:!1},type:{type:String,default:\"light\"},menuAlignRight:{type:Boolean,default:!1},addClass:{type:String,default:\"\"}},provide:{hasParentDropdown:!0},inject:{hasParentDropdown:{default:void 0},isParentNavbar:{default:!1}},data:function(){return{show:!1}},computed:{btnType:function(){return\"btn-\".concat(this.type)},disabledBool:function(){return Re(this.disabled)},isLi:function(){return this.$parent._navbar||this.$parent.menu||this.$parent._tabset},isSubmenu:function(){return this.hasParentDropdown},menu:function(){return!this.$parent||this.$parent.navbar},submenu:function(){return this.$parent\u0026\u0026(this.$parent.menu||this.$parent.submenu)},slots:function(){return this.$scopedSlots.default},hasBefore:function(){return!!this.$scopedSlots.before},btnWithBefore:function(){return this.hasBefore?\"btn-with-before\":\"\"}},methods:{blur:function(){var t\u003dthis;this.unblur(),this._hide\u003dsetTimeout((function(){t._hide\u003dnull,t.hideDropdownMenu()}),100)},unblur:function(){this._hide\u0026\u0026(clearTimeout(this._hide),this._hide\u003dnull)},hideDropdownMenu:function(){var t\u003dthis;this.show\u003d!1,pn(this.$refs.dropdown).findChildren(\"ul\").each((function(e){e.classList.toggle(\"show\",!1),window.innerWidth\u003c768\u0026\u0026t.isParentNavbar\u0026\u0026e.style.removeProperty(\"left\")}))},showDropdownMenu:function(){var t\u003dthis;this.show\u003d!0,pn(this.$refs.dropdown).findChildren(\"ul\").each((function(e){e.classList.toggle(\"show\",!0),window.innerWidth\u003c768\u0026\u0026t.isParentNavbar\u0026\u0026mn(e)}))}},mounted:function(){var t\u003dthis,e\u003dpn(this.$refs.dropdown);this.$slots.button\u0026\u0026e.findChildren(\".dropdown-toggle\").forEach((function(t){return t.setAttribute(\"data-bs-toggle\",\"dropdown\")})),this.show\u0026\u0026this.showDropdownMenu(),e.onBlur((function(){t.hideDropdownMenu()}),!1),e.findChildren(\"a,button.dropdown-toggle\").on(\"click\",(function(e){return e.preventDefault(),t.disabledBool||(t.show?t.hideDropdownMenu():t.showDropdownMenu()),!1})),e.findChildren(\"ul\").on(\"click\",\"li\u003ea\",(function(e){e.target.classList.contains(\"submenu-toggle\")||t.hideDropdownMenu()}))},beforeDestroy:function(){var t\u003dpn(this.$refs.dropdown);t.offBlur(),t.findChildren(\"a,button\").off(),t.findChildren(\"ul\").off()}},Xe,[],!1,null,\"ccda25c0\",null).exports;var yn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[n(\"nav\",{ref:\"navbar\",class:[\"navbar\",\"navbar-expand-md\",\"d-print-none\",t.themeOptions,t.addClass,t.fixedOptions]},[n(\"div\",{staticClass:\"container-fluid\"},[n(\"div\",{staticClass:\"navbar-left\"},[t._t(\"brand\")],2),t._v(\" \"),n(\"div\",{ref:\"navbarDefault\",staticClass:\"navbar-default\"},[n(\"ul\",{staticClass:\"navbar-nav me-auto mt-2 mt-lg-0\"},[t._t(\"default\")],2)]),t._v(\" \"),t.slots.right?n(\"ul\",{staticClass:\"navbar-nav navbar-right\"},[t._t(\"right\")],2):t._e()])]),t._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isLowerNavbarShowing,expression:\"isLowerNavbarShowing\"}],ref:\"lowerNavbar\",staticClass:\"lower-navbar-container\"},[t._t(\"lower-navbar\",(function(){return[n(\"site-nav-button\"),t._v(\" \"),n(\"page-nav-button\")]}))],2)])};function wn(t,e){(null\u003d\u003de||e\u003et.length)\u0026\u0026(e\u003dt.length);for(var n\u003d0,i\u003dnew Array(e);n\u003ce;n++)i[n]\u003dt[n];return i}function bn(t,e){if(t){if(\"string\"\u003d\u003dtypeof t)return wn(t,e);var n\u003dObject.prototype.toString.call(t).slice(8,-1);return\"Object\"\u003d\u003d\u003dn\u0026\u0026t.constructor\u0026\u0026(n\u003dt.constructor.name),\"Map\"\u003d\u003d\u003dn||\"Set\"\u003d\u003d\u003dn?Array.from(t):\"Arguments\"\u003d\u003d\u003dn||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wn(t,e):void 0}}function _n(t){return function(t){if(Array.isArray(t))return wn(t)}(t)||function(t){if(\"undefined\"!\u003dtypeof Symbol\u0026\u0026null!\u003dt[Symbol.iterator]||null!\u003dt[\"@@iterator\"])return Array.from(t)}(t)||bn(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Sn(t){return t.endsWith(\".html\")?t.toLowerCase():t.endsWith(\"/\")?\"\".concat(t,\"index.html\").toLowerCase():t.endsWith(\"/\")?t.toLowerCase():\"\".concat(t,\".html\").toLowerCase()}yn._withStripped\u003d!0;var xn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.showSiteNav?n(\"overlay\",{attrs:{type:\"siteNav\",\"portal-name\":t.portalName},scopedSlots:t._u([{key:\"navMenuIcon\",fn:function(){return[n(\"div\",{class:[\"toggle-site-nav-button\"]},[n(\"span\"),t._v(\" \"),n(\"span\"),t._v(\" \"),n(\"span\")])]},proxy:!0}],null,!1,3920804522)}):t._e()};xn._withStripped\u003d!0;const Cn\u003dqe({data:function(){return{portalName:void 0,show:!1}},computed:{showSiteNav:function(){return this.show\u0026\u0026this.portalName}},methods:{toggleSiteNavButton:function(){window.innerWidth\u003c992?this.show\u003d!0:this.show\u003d!1}},mounted:function(){null!\u003d\u003ddocument.querySelector(\"#site-nav a\")?this.portalName\u003d\"site-nav\":null!\u003d\u003ddocument.querySelector(\".site-nav-root a\")\u0026\u0026(this.portalName\u003d\"mb-site-nav\"),this.toggleSiteNavButton(),pn(window).on(\"resize\",this.toggleSiteNavButton)},beforeDestroy:function(){pn(window).off(\"resize\",this.toggleSiteNavButton)}},xn,[],!1,null,\"d6ffaa8e\",null).exports;var $n\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.showPageNav?n(\"overlay\",{attrs:{type:\"pageNav\",\"portal-name\":t.portalName},scopedSlots:t._u([{key:\"navMenuIcon\",fn:function(){return[n(\"div\",{class:[\"toggle-page-nav-button\"]},[n(\"span\"),t._v(\" \"),n(\"span\"),t._v(\" \"),n(\"span\")])]},proxy:!0}],null,!1,171840498)}):t._e()};$n._withStripped\u003d!0;const kn\u003dqe({data:function(){return{portalName:void 0,show:!1}},computed:{showPageNav:function(){return this.show\u0026\u0026this.portalName}},methods:{togglePageNavButton:function(){window.innerWidth\u003c1300?this.show\u003d!0:this.show\u003d!1}},mounted:function(){null!\u003d\u003ddocument.querySelector(\"#page-nav a\")?this.portalName\u003d\"page-nav\":null!\u003d\u003ddocument.querySelector(\"#mb-page-nav a\")\u0026\u0026(this.portalName\u003d\"mb-page-nav\"),this.togglePageNavButton(),pn(window).on(\"resize\",this.togglePageNavButton)},beforeDestroy:function(){pn(window).off(\"resize\",this.togglePageNavButton)}},$n,[],!1,null,\"4b08b1df\",null).exports;const Tn\u003dqe({components:{SiteNavButton:Cn,PageNavButton:kn},props:{type:{type:String,default:\"primary\"},addClass:{type:String,default:\"\"},fixed:{type:[Boolean,String],default:!1},defaultHighlightOn:{type:String,default:\"sibling-or-child\"}},provide:function(){return{toggleLowerNavbar:this.toggleLowerNavbar,isParentNavbar:!0}},data:function(){return{id:\"bs-example-navbar-collapse-1\",styles:{},isLowerNavbarShowing:!1}},computed:{fixedBool:function(){return Re(this.fixed)},fixedOptions:function(){return this.fixedBool?\"navbar-fixed\":\"\"},slots:function(){return this.$scopedSlots},themeOptions:function(){switch(this.type){case\"none\":return\"\";case\"light\":return\"navbar-light bg-light\";case\"dark\":return\"navbar-dark bg-dark\";case\"primary\":default:return\"navbar-dark bg-primary\"}}},methods:{splitUrl:function(t){var e\u003dnew URL(Sn(t));return\"\".concat(e.pathname).substr(1).split(\"/\")},isEqualExceptLast:function(t,e){for(var n\u003d0;n\u003ct.length-1;n+\u003d1)if(t[n]!\u003d\u003de[n])return!1;return!0},isSibling:function(t,e){var n\u003dthis.splitUrl(e),i\u003dthis.splitUrl(t);return n.length\u003d\u003d\u003di.length\u0026\u0026this.isEqualExceptLast(n,i)},isChild:function(t,e){var n\u003dthis.splitUrl(e),i\u003dthis.splitUrl(t);return!(i.length\u003c\u003dn.length)\u0026\u0026this.isEqualExceptLast(n,i)},isExact:function(t,e){return Sn(t)\u003d\u003d\u003dSn(e)},addClassIfDropdown:function(t,e,n){t.includes(e)\u0026\u0026(e.classList.add(\"dropdown-current\"),this.addClassIfSubmenu(e,n))},addClassIfSubmenu:function(t,e){for(var n\u003dt.parentElement;n!\u003d\u003de;)n.classList.contains(\"dropdown-submenu\")\u0026\u0026pn(n).findChildren(\"a\").each((function(t){return t.classList.add(\"dropdown-current\")})),n\u003dn.parentElement},highlightLink:function(t){var e\u003dthis.defaultHighlightOn,n\u003d[];this.$el.querySelectorAll(\".navbar-nav\").forEach((function(t){return n.push.apply(n,_n(Array.from(t.children)))}));for(var i\u003d0;i\u003cn.length;i+\u003d1)for(var o\u003dn[i],r\u003d[o],s\u003dArray.from(o.querySelectorAll(\"a.nav-link\")),a\u003dArray.from(o.querySelectorAll(\"a.dropdown-item\")),l\u003dr.concat(s).concat(a).filter((function(t){return t.href})),c\u003d0;c\u003cl.length;c+\u003d1){var u\u003dl[c];if(\"none\"!\u003d\u003d(u.getAttribute(\"highlight-on\")||e)\u0026\u0026this.isExact(t,u.href))return o.classList.add(\"current\"),void this.addClassIfDropdown(a,u,o)}for(var d\u003d0;d\u003cn.length;d+\u003d1)for(var h\u003dn[d],p\u003d[h],f\u003dArray.from(h.querySelectorAll(\"a.nav-link\")),m\u003dArray.from(h.querySelectorAll(\"a.dropdown-item\")),v\u003dp.concat(f).concat(m).filter((function(t){return t.href})),g\u003d0;g\u003cv.length;g+\u003d1){var y\u003dv[g],w\u003dy.getAttribute(\"highlight-on\")||e;if(\"none\"!\u003d\u003dw)if(\"sibling-or-child\"\u003d\u003d\u003dw){if(this.isSibling(t,y.href)||this.isChild(t,y.href))return h.classList.add(\"current\"),void this.addClassIfDropdown(m,y,h)}else if(\"sibling\"\u003d\u003d\u003dw){if(this.isSibling(t,y.href))return h.classList.add(\"current\"),void this.addClassIfDropdown(m,y,h)}else if(\"child\"\u003d\u003d\u003dw\u0026\u0026this.isChild(t,y.href))return h.classList.add(\"current\"),void this.addClassIfDropdown(m,y,h)}},toggleLowerNavbar:function(){this.$refs.lowerNavbar.childElementCount\u003e0?this.isLowerNavbarShowing\u003d!0:this.isLowerNavbarShowing\u003d!1}},created:function(){this._navbar\u003d!0},mounted:function(){var t\u003dthis,e\u003dpn(\u0027.dropdown\u003e[data-bs-toggle\u003d\"dropdown\"]\u0027,this.$el).parent();e.on(\"click\",\".dropdown-toggle\",(function(t){t.preventDefault(),e.each((function(e){e.contains(t.target)\u0026\u0026e.classList.toggle(\"open\")}))})).on(\"click\",\".dropdown-menu\u003eli\u003ea\",(function(t){e.each((function(e){e.contains(t.target)\u0026\u0026e.classList.remove(\"open\")}))})).onBlur((function(t){e.each((function(e){e.contains(t.target)||e.classList.remove(\"open\")}))})),this.highlightLink(window.location.href);var n\u003dpn(this.$refs.navbarDefault).find(\".current\")[0];n\u0026\u0026window.innerWidth\u003c768\u0026\u0026n.offsetLeft+n.offsetWidth\u003ewindow.innerWidth\u0026\u0026(this.$refs.navbarDefault.scrollLeft\u003dn.offsetLeft+n.offsetWidth-window.innerWidth),this.toggleLowerNavbar(),pn(window).on(\"resize\",this.toggleLowerNavbar),pn(this.$refs.navbarDefault).on(\"wheel\",(function(e){window.innerWidth\u003c768\u0026\u0026!function(t){for(var e\u003d0;e\u003ct.length;e+\u003d1)if(t[e].classList\u0026\u0026t[e].classList.contains(\"dropdown-menu\"))return!0;return!1}(e.path)\u0026\u0026(e.preventDefault(),t.$refs.navbarDefault.scrollLeft+\u003de.deltaY)}))},beforeDestroy:function(){pn(\".dropdown\",this.$el).off(\"click\").offBlur(),pn(window).off(\"resize\",this.toggleLowerNavbar),pn(this.$refs.navbarDefault).off(\"wheel\")}},yn,[],!1,null,\"7c0fd418\",null).exports;var En\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.isMinimal?n(\"minimal-panel\",t._b({attrs:{\"panel-id\":t.panelId},scopedSlots:t._u([t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(){return[t._t(n)]},proxy:!0}}))],null,!0)},\"minimal-panel\",t.$attrs,!1)):n(\"nested-panel\",t._b({attrs:{\"panel-id\":t.panelId,type:t.type},scopedSlots:t._u([t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(){return[t._t(n)]},proxy:!0}}))],null,!0)},\"nested-panel\",t.$attrs,!1))};En._withStripped\u003d!0;var On\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.localMinimized?n(\"span\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[n(\"span\",{staticClass:\"morph\"},[n(\"button\",{class:[\"morph-display-wrapper\",\"btn\",t.btnType],on:{click:function(e){return t.open()}}},[t.noMinimizedSwitch?t._e():n(\"div\",{staticClass:\"minimal-caret-wrapper\"},[n(\"span\",{class:[\"glyphicon\",\"glyphicon-chevron-right\"]})]),t._v(\" \"),n(\"span\",{staticClass:\"card-title\"},[t._t(\"_alt\",(function(){return[t._t(\"header\")]}))],2)])])]):n(\"div\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[n(\"div\",{class:[\"card\",{\"expandable-card\":t.isExpandableCard},t.borderType]},[n(\"div\",{class:[\"card-header\",{\"header-toggle\":t.isExpandableCard},t.cardType,t.borderType],on:{click:function(e){e.preventDefault(),e.stopPropagation(),t.isExpandableCard\u0026\u0026t.toggle()}}},[n(\"div\",{staticClass:\"caret-wrapper\"},[t.showCaret?n(\"span\",{class:[\"glyphicon\",t.localExpanded?\"glyphicon-chevron-down\":\"glyphicon-chevron-right\"]}):t._e()]),t._v(\" \"),n(\"div\",{ref:\"headerWrapper\",class:[\"header-wrapper card-title\",t.cardType,{\"text-white\":!t.isLightBg,\"header-transparent\":!t.shouldShowHeader}]},[t._t(\"header\")],2),t._v(\" \"),n(\"div\",{staticClass:\"button-wrapper\"},[t._t(\"button\",(function(){return[n(\"panel-switch\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isExpandableCard\u0026\u0026!t.noSwitchBool\u0026\u0026!t.showCaret,expression:\"isExpandableCard \u0026\u0026 !noSwitchBool \u0026\u0026 !showCaret\"}],attrs:{\"is-open\":t.localExpanded,\"is-light-bg\":t.isLightBg}}),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.noCloseBool,expression:\"!noCloseBool\"}],staticClass:\"close-button btn\",class:[t.isLightBg?\"btn-outline-secondary\":\"btn-outline-light\",{\"seamless-button\":t.isSeamless}],attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.close()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-remove\",attrs:{\"aria-hidden\":\"true\"}})]),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.popupUrl,expression:\"popupUrl\"}],staticClass:\"popup-button btn\",class:[t.isLightBg?\"btn-outline-secondary\":\"btn-outline-light\",{\"seamless-button\":t.isSeamless}],attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.openPopup()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-new-window\",attrs:{\"aria-hidden\":\"true\"}})])]}))],2)]),t._v(\" \"),n(\"div\",{ref:\"panel\",staticClass:\"card-collapse\",class:{\"card-peek-collapsed\":t.shouldShowPeek}},[t.wasRetrieverLoaded||t.preloadBool?n(\"div\",{staticClass:\"card-body\"},[t._t(\"default\"),t._v(\" \"),t.hasSrc?n(\"retriever\",{ref:\"retriever\",attrs:{src:t.srcWithoutFragment,fragment:t.fragment},on:{\"src-loaded\":t.retrieverUpdateMaxHeight}}):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"bottom-button-wrapper\"},[n(\"panel-switch\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isExpandableCard\u0026\u0026t.bottomSwitchBool,expression:\"isExpandableCard \u0026\u0026 bottomSwitchBool\"}],attrs:{\"is-open\":t.localExpanded},nativeOn:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.toggle(!0)}}})],1)],2):t._e(),t._v(\" \"),n(\"hr\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isSeamless,expression:\"isSeamless\"}]})]),t._v(\" \"),n(\"transition\",{attrs:{name:\"peek-read-more-fade\"}},[t.shouldShowPeek?n(\"div\",{staticClass:\"peek-read-more glyphicon glyphicon-chevron-down\",on:{click:function(e){return t.toggle()}}}):t._e()])],1)])};On._withStripped\u003d!0;const Bn\u003d{props:{type:{type:String,default:null},expandable:{type:[Boolean,String],default:!0},isOpen:{type:[Boolean,String],default:null},expanded:{type:[Boolean,String],default:null},minimized:{type:[Boolean,String],default:!1},noMinimizedSwitch:{type:[Boolean,String],default:!1},noSwitch:{type:[Boolean,String],default:!1},noClose:{type:[Boolean,String],default:!1},popupUrl:{type:String,default:null},src:{type:String},bottomSwitch:{type:[Boolean,String],default:!0},preload:{type:[Boolean,String],default:!1},addClass:{type:String,default:\"\"},expandHeaderless:{type:Boolean,default:!1},peek:{type:Boolean,default:!1},panelId:{type:String,default:null}},computed:{expandableBool:function(){return Re(this.expandable)},isOpenBool:function(){return Re(this.isOpen)},expandedBool:function(){return Re(this.expanded)},minimizedBool:function(){return Re(this.minimized)},noSwitchBool:function(){return Re(this.noSwitch)},noCloseBool:function(){return Re(this.noClose)},bottomSwitchBool:function(){return Re(this.bottomSwitch)},preloadBool:function(){return Re(this.preload)},hasHeaderBool:function(){return this.$scopedSlots.header},isExpandableCard:function(){return this.expandableBool},hasId:function(){return this.panelId},hasSrc:function(){return this.src\u0026\u0026this.src.length\u003e0},srcWithoutFragment:function(){return this.src.split(\"#\")[0]},shouldShowHeader:function(){return!this.localExpanded||!this.expandHeaderless},shouldShowPeek:function(){return this.peek\u0026\u0026!this.localExpanded},collapsedPanelHeight:function(){return this.peek?125:0}},data:function(){return{localExpanded:!1,localMinimized:!1,wasRetrieverLoaded:!1,isRetrieverLoadDone:!this.src,fragment:\"\"}},methods:{toggle:function(t){var e\u003dthis;this.wasRetrieverLoaded?(this.localExpanded?(t\u0026\u0026(this.$refs.panel.style.maxHeight\u003d\"\".concat(this.$refs.panel.scrollHeight,\"px\")),requestAnimationFrame((function(){if(e.$el.getBoundingClientRect().top\u003c0){var n,i\u003ddocument.querySelector(\"header[sticky]\");if(null\u003d\u003di)n\u003d0;else{var o\u003dwindow.getComputedStyle(i,null);n\u003di.clientHeight-parseFloat(o.paddingTop)-parseFloat(o.paddingBottom)||0}window.scrollTo({top:window.scrollY+e.$el.getBoundingClientRect().top-n-3,left:0,behavior:t?\"smooth\":\"instant\"})}e.$refs.panel.style.maxHeight\u003d\"\".concat(e.collapsedPanelHeight,\"px\")}))):(this.$refs.panel.style.transition\u003d\"max-height 0.5s ease-in-out\",this.$refs.panel.style.maxHeight\u003d\"\".concat(this.$refs.panel.scrollHeight,\"px\")),this.localExpanded\u003d!this.localExpanded):this.open()},close:function(){this.localMinimized\u003d!0,this.localExpanded\u003d!1},open:function(){var t\u003dthis;this.localMinimized\u003d!1,this.$nextTick((function(){t.initPanel(),t.localExpanded\u003d!0,t.wasRetrieverLoaded\u003d!0,t.$nextTick((function(){t.$refs.panel.style.maxHeight\u003d\"\".concat(t.$refs.panel.scrollHeight,\"px\")}))}))},openPopup:function(){window.open(this.popupUrl)},retrieverUpdateMaxHeight:function(){this.isRetrieverLoadDone\u003d!0,this.localExpanded\u0026\u0026(this.expandedBool?this.$refs.panel.style.maxHeight\u003d\"none\":this.$refs.panel.style.maxHeight\u003d\"\".concat(this.$refs.panel.scrollHeight,\"px\"))},initPanel:function(){var t\u003dthis;this.$refs.panel.addEventListener(\"transitionend\",(function(e){t.localExpanded\u0026\u0026t.isRetrieverLoadDone\u0026\u0026e.target\u003d\u003d\u003dt.$refs.panel\u0026\u0026(t.$refs.panel.style.maxHeight\u003d\"none\")})),this.localExpanded?this.$refs.panel.style.maxHeight\u003d\"none\":this.$refs.panel.style.maxHeight\u003d\"\".concat(this.collapsedPanelHeight,\"px\")}},created:function(){if(this.src){var t\u003dIe(this.src);t\u0026\u0026(this.fragment\u003dt)}var e\u003d!this.expandableBool\u0026\u0026\"false\"!\u003d\u003dthis.expanded;this.localExpanded\u003de||this.expandedBool,null\u003d\u003d\u003dthis.localExpanded\u0026\u0026(this.localExpanded\u003d!1),this.wasRetrieverLoaded\u003dthis.localExpanded||this.peek,this.localMinimized\u003dthis.minimizedBool},mounted:function(){this.localMinimized||this.initPanel()}};var Pn\u003dfunction(){var t\u003dthis.$createElement,e\u003dthis._self._c||t;return e(\"button\",{class:[\"collapse-button\",\"btn\",this.isLightBg?\"btn-outline-secondary\":\"btn-outline-light\"],attrs:{type:\"button\"}},[e(\"span\",{class:[\"collapse-icon\",\"glyphicon\",\"glyphicon-menu-down\",{opened:this.isOpenBool}],attrs:{\"aria-hidden\":\"true\"}})])};Pn._withStripped\u003d!0;const Ln\u003dqe({props:{isOpen:{type:[Boolean,String],default:!1},isLightBg:{type:Boolean,default:!0}},computed:{isOpenBool:function(){return Re(this.isOpen)}}},Pn,[],!1,null,null,null).exports;var Nn\u003dfunction(){var t\u003dthis.$createElement;return(this._self._c||t)(\"div\",[this._v(\"\\n Loading...\\n\")])};function An(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}Nn._withStripped\u003d!0;const zn\u003dqe({props:{src:{type:String,default:null},fragment:{type:String,default:null},delay:{type:[Boolean,String],default:!1},hasFetched:{type:Boolean,default:!1}},data:function(){return{hasFetchedCopy:this.hasFetched}},computed:{delayBool:function(){return Re(this.delay)},hash:function(){return Ie(this.src)||this.fragment},srcWithoutHash:function(){return this.src.split(\"#\")[0]}},methods:{fetch:function(t){function e(){return t.apply(this,arguments)}return e.toString\u003dfunction(){return t.toString()},e}((function(){var t\u003dthis;this.srcWithoutHash\u0026\u0026(this.hasFetchedCopy||fetch(this.srcWithoutHash).then((function(t){return t.text()})).then((function(e){var i\u003de;if(t.hash){var o\u003ddocument.implementation.createHTMLDocument(\"\");o.body.innerHTML\u003di,o.querySelectorAll(\"svg \u003e script\").forEach((function(t){return t.remove()})),i\u003do.querySelector(\"#\".concat(t.hash)).innerHTML}if(t.hasFetchedCopy\u003d!0,void 0\u003d\u003d\u003di\u0026\u0026t.hash)t.$el.innerHTML\u003d\"\u003cstrong\u003eError\u003c/strong\u003e: Failed to retrieve page fragment:\"+\" \".concat(t.srcWithoutHash,\"#\").concat(t.hash);else{var r\u003dfunction(t){for(var e\u003d1;e\u003carguments.length;e++){var i\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?An(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):An(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}({},t.$root.$data);(new(Vue.extend({template:\"\u003cdiv\u003e\\n\".concat(i,\"\\n\u003c/div\u003e\"),data:function(){return r}}))).$mount(t.$el),t.$emit(\"src-loaded\")}})).catch((function(e){console.error(e),t.$el.innerHTML\u003d\"\u003cstrong\u003eError\u003c/strong\u003e: Failed to retrieve content from source: \"+\"\u003cem\u003e\".concat(t.srcWithoutHash,\"\u003c/em\u003e\"),t.$emit(\"src-loaded\")})))}))},mounted:function(){this.$nextTick((function(){this.srcWithoutHash||(this.$el.innerHTML\u003d\"\"),this.delayBool||this.fetch()}))}},Nn,[],!1,null,null,null).exports;const Mn\u003dqe({mixins:[Bn],components:{panelSwitch:Ln,retriever:zn},computed:{showCaret:function(){return this.isSeamless\u0026\u0026this.expandableBool},isSeamless:function(){return\"seamless\"\u003d\u003d\u003dthis.type},btnType:function(){return this.isSeamless||\"light\"\u003d\u003d\u003dthis.type?\"btn-outline-secondary\":\"btn-outline-\".concat(this.type||\"secondary\")},borderType:function(){return this.isSeamless?\"border-0\":this.type?\"light\"\u003d\u003d\u003dthis.type?\"\":\"border-\".concat(this.type):\"\"},cardType:function(){return this.isSeamless?\"bg-white\":\"bg-\".concat(this.type||\"light\")},isLightBg:function(){return\"bg-light\"\u003d\u003d\u003dthis.cardType||\"bg-white\"\u003d\u003d\u003dthis.cardType||\"bg-warning\"\u003d\u003d\u003dthis.cardType}}},On,[],!1,null,\"3602e6fc\",null).exports;var Hn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.localMinimized?n(\"span\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[t.hasId?n(\"span\",{staticClass:\"anchor\",attrs:{id:t.panelId}}):t._e(),t._v(\" \"),n(\"span\",{staticClass:\"morph\"},[n(\"button\",{staticClass:\"morph-display-wrapper btn card-title morph-title\",on:{click:function(e){return t.minimalOpen()}}},[t.noMinimizedSwitch?t._e():n(\"div\",{class:[\"glyphicon\",\"glyphicon-chevron-right\"]}),t._v(\" \"),t._t(\"_alt\",(function(){return[n(\"span\",{staticClass:\"card-title\"},[t._t(\"header\")],2)]}))],2)])]):n(\"div\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[t.hasId?n(\"span\",{staticClass:\"anchor\",attrs:{id:t.panelId}}):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"card card-flex\"},[n(\"div\",{class:[\"header-wrapper\",{\"header-wrapper-bottom\":t.isHeaderAtBottom,\"header-toggle\":t.isExpandableCard}],on:{click:function(e){e.preventDefault(),e.stopPropagation(),t.isExpandableCard\u0026\u0026t.minimalToggle()}}},[n(\"transition\",{attrs:{name:\"header-fade\"}},[n(\"span\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.isHeaderAtBottom,expression:\"!isHeaderAtBottom\"}],ref:\"headerWrapper\",class:[\"card-title\",{ellipses:!t.hasHeaderBool}]},[n(\"span\",{staticClass:\"card-title-inline\"},[t._t(\"header\")],2),t._v(\" \"),n(\"span\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showDownSwitch,expression:\"showDownSwitch\"}],staticClass:\"minimal-button glyphicon glyphicon-menu-down minimal-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])]),t._v(\" \"),n(\"div\",{class:[\"button-wrapper\",{\"button-wrapper-expanded\":t.isHeaderAtBottom}]},[t._t(\"button\",(function(){return[n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.noCloseBool,expression:\"!noCloseBool\"}],staticClass:\"minimal-button\",attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.minimalClose()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-remove minimal-close-button\",attrs:{\"aria-hidden\":\"true\"}})]),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:null!\u003d\u003dt.popupUrl,expression:\"popupUrl !\u003d\u003d null\"}],staticClass:\"minimal-button\",attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.openPopup()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-new-window minimal-popup-button\",attrs:{\"aria-hidden\":\"true\"}})]),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isHeaderAtBottom\u0026\u0026t.isExpandableCard\u0026\u0026t.bottomSwitchBool,expression:\"isHeaderAtBottom \u0026\u0026 isExpandableCard \u0026\u0026 bottomSwitchBool\"}],staticClass:\"minimal-button\",attrs:{type:\"button\"}},[n(\"span\",{staticClass:\"glyphicon glyphicon-menu-up minimal-menu-up\",attrs:{\"aria-hidden\":\"true\"}})])]}))],2)],1),t._v(\" \"),n(\"div\",{ref:\"panel\",staticClass:\"card-collapse\",class:{\"card-peek-collapsed\":t.shouldShowPeek}},[t.wasRetrieverLoaded||t.preloadBool?n(\"div\",{staticClass:\"card-body\"},[t._t(\"default\"),t._v(\" \"),t.hasSrc?n(\"retriever\",{ref:\"retriever\",attrs:{src:t.srcWithoutFragment,fragment:t.fragment},on:{\"src-loaded\":t.retrieverUpdateMaxHeight}}):t._e()],2):t._e()])])])};Hn._withStripped\u003d!0;var Dn\u003dqe({mixins:[Bn],components:{retriever:zn},data:function(){return{isHeaderAtBottom:!1}},computed:{showDownSwitch:function(){return this.hasHeaderBool\u0026\u0026this.isExpandableCard\u0026\u0026!this.noSwitchBool}},methods:{minimalToggle:function(){var t\u003dthis;if(this.localExpanded){this.$refs.panel.addEventListener(\"transitionend\",(function e(n){n.target\u003d\u003d\u003dt.$refs.panel\u0026\u0026(t.isHeaderAtBottom\u003d!1,t.$refs.panel.removeEventListener(\"transitionend\",e))}))}else this.isHeaderAtBottom\u003d!0;this.toggle(!0)},minimalOpen:function(){this.open(),this.isHeaderAtBottom\u003d!0},minimalClose:function(){this.close(),this.isHeaderAtBottom\u003d!1}},created:function(){this.isHeaderAtBottom\u003dthis.localExpanded}},Hn,[],!1,null,\"6cec1f15\",null);const Rn\u003dqe({components:{nestedPanel:Mn,minimalPanel:Dn.exports},props:{panelId:{type:String,default:null},type:{type:String,default:null}},computed:{isMinimal:function(){return\"minimal\"\u003d\u003d\u003dthis.type}}},En,[],!1,null,null,null).exports;var jn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"annotate-image-wrapper\",t.addClass]},[n(\"img\",{ref:\"pic\",staticClass:\"annotate-image\",attrs:{src:t.src,alt:t.alt,width:t.computedWidth,height:t.computedHeight,loading:t.computedLoadType},on:{\"~load\":function(e){return t.computeWidthAndHeight.apply(null,arguments)}}}),t._v(\" \"),n(\"div\",{staticStyle:{top:\"0\",left:\"0\",height:\"0\"}},[t._t(\"default\")],2)])};jn._withStripped\u003d!0;const In\u003dqe({props:{src:{type:String,default:null},alt:{type:String,default:null},height:{type:String,default:\"\"},width:{type:String,default:\"\"},lazy:{type:Boolean,default:!1},addClass:{type:String,default:\"\"}},computed:{hasWidth:function(){return\"\"!\u003d\u003dthis.width},hasHeight:function(){return\"\"!\u003d\u003dthis.height},computedWidth:function(){return this.hasWidth?this.width:this.widthFromHeight},computedHeight:function(){return this.heightFromWidth},computedLoadType:function(){return this.lazy?\"lazy\":\"eager\"}},data:function(){return{widthFromHeight:\"\",heightFromWidth:\"\"}},methods:{computeWidthAndHeight:function(){var t\u003dthis.$refs.pic,e\u003dt.naturalHeight,n\u003dt.naturalWidth/e;this.hasWidth?this.heightFromWidth\u003dMath.round(je(this.width)/n).toString():this.hasHeight\u0026\u0026(this.widthFromHeight\u003dMath.round(je(this.height)*n).toString(),this.heightFromWidth\u003dthis.height)}},provide:function(){return{width:this.width,height:this.height,src:this.src}}},jn,[],!1,null,null,null).exports;var qn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[t.hasBottomText\u0026\u0026t.hasLabel?n(\"div\",{staticClass:\"legend-wrapper\"},[n(\"div\",{staticClass:\"text-header\"},[t._v(\"\\n \"+t._s(t.computedBottomHeader)+\"\\n \")]),t._v(\" \"),t.hasContent?n(\"div\",[t._t(\"content\")],2):t._e()]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"annotate-point\"},[t.isMounted?n(\"div\",{staticClass:\"popover-annotation\"},[n(\"div\",{style:t.pointPosition},[t.isMounted?n(\"v-popover\",{attrs:{placement:t.placement,delay:0,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,distance:t.computeDistance,disabled:!t.hasPopover,skidding:t.computeSkidding,\"arrow-padding\":t.computeArrowPadding,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[t.hasContent||t.hasHeader?n(\"div\",{staticClass:\"popover-container\"},[t.hasHeader?n(\"h3\",{staticClass:\"popover-header\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),t.hasContent?n(\"div\",{staticClass:\"popover-body\"},[t._t(\"content\")],2):t._e()]):t._e()]},proxy:!0}],null,!0)},[n(\"div\",{staticClass:\"hover-wrapper\"},[t._t(\"default\",(function(){return[n(\"button\",{staticClass:\"hover-point\",style:t.pointStyle})]})),t._v(\" \"),n(\"div\",{staticClass:\"hover-label\",style:t.labelStyle},[t._t(\"label\")],2)],2)]):t._e()],1)]):t._e()])])};qn._withStripped\u003d!0;const Wn\u003dqe({props:{content:{type:String,default:\"\"},header:{type:String,default:\"\"},placement:{type:String,default:\"top\"},x:{type:String,default:null},y:{type:String,default:null},color:{type:String,default:\"green\"},textColor:{type:String,default:\"black\"},fontSize:{type:String,default:\"14\"},opacity:{type:String,default:\"0.3\"},size:{type:String,default:\"40\"},label:{type:String,default:\"\"},legend:{type:String,default:\"popover\"},trigger:{type:String,default:\"click\"}},data:function(){return{targetEl:{},isMounted:!1,width:this.width,height:this.height,src:this.src}},inject:[\"width\",\"height\",\"src\"],computed:{pointPosition:function(){var t\u003dthis;this.computeImage((function(){t.width\u003dt.parentEl.offsetWidth,t.height\u003dt.parentEl.offsetHeight}));var e\u003d100*(this.toDecimal(this.x)-this.size/2/this.width),n\u003d100*(this.toDecimal(this.y)-this.size/2/this.height);return{left:\"\".concat(e,\"%\"),top:\"\".concat(n,\"%\"),position:\"absolute\",pointerEvents:\"all\"}},pointStyle:function(){var t\u003dthis.hasPopover?\"pointer\":\"default\";return{backgroundColor:this.color,opacity:this.opacity,width:\"\".concat(this.size,\"px\"),height:\"\".concat(this.size,\"px\"),cursor:t}},labelStyle:function(){return{fontSize:\"\".concat(Math.min(this.fontSize,this.size),\"px\"),color:this.textColor}},triggers:function(){return this.trigger.split(\" \")},computeDistance:function(){return\"top\"\u003d\u003d\u003dthis.placement?je(this.size*(2/3)):je(this.size/10)},computeSkidding:function(){return\"left\"\u003d\u003d\u003dthis.placement||\"right\"\u003d\u003d\u003dthis.placement?-je(this.size/4):0},computeArrowPadding:function(){return\"left\"\u003d\u003d\u003dthis.placement||\"right\"\u003d\u003d\u003dthis.placement?je(this.size/2):0},hasHeader:function(){return!!this.$scopedSlots.header},hasContent:function(){return!!this.$scopedSlots.content},hasWidth:function(){return\"\"!\u003d\u003dthis.width},hasHeight:function(){return\"\"!\u003d\u003dthis.height},hasLabel:function(){return!!this.$scopedSlots.label},hasBottomText:function(){return\"bottom\"\u003d\u003d\u003dthis.legend||\"both\"\u003d\u003d\u003dthis.legend},hasPopover:function(){return(this.hasContent||this.hasHeader)\u0026\u0026(\"popover\"\u003d\u003d\u003dthis.legend||\"both\"\u003d\u003d\u003dthis.legend)},computedBottomHeader:function(){return\"\"!\u003d\u003dthis.label\u0026\u0026\"\"\u003d\u003d\u003dthis.header?this.label:\"\"\u003d\u003d\u003dthis.label\u0026\u0026\"\"!\u003d\u003dthis.header?this.header:\"\".concat(this.label,\": \").concat(this.header)}},methods:{computeImage:function(t){var e\u003dnew Image;e.onload\u003dfunction(){t()},e.src\u003dthis.src},toDecimal:function(t){return parseFloat(t)/100}},mounted:function(){this.targetEl\u003dthis.$el,this.isMounted\u003d!0,this.parentEl\u003dthis.$el.parentElement.parentElement.querySelector(\".annotate-image\")}},qn,[],!1,null,null,null).exports;var Fn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:[\"image-wrapper\",t.addClass]},[n(\"img\",{ref:\"pic\",staticClass:\"img-fluid rounded\",attrs:{src:t.src,alt:t.alt,width:t.computedWidth,height:t.computedHeight,loading:t.computedLoadType},on:{\"~load\":function(e){return t.computeWidthAndHeight.apply(null,arguments)}}}),t._v(\" \"),n(\"span\",{staticClass:\"image-caption\"},[t._t(\"default\")],2)])};Fn._withStripped\u003d!0;const Vn\u003dqe({props:{src:{type:String,default:null},alt:{type:String,default:null},height:{type:String,default:\"\"},width:{type:String,default:\"\"},lazy:{type:Boolean,default:!1},addClass:{type:String,default:\"\"}},computed:{hasWidth:function(){return\"\"!\u003d\u003dthis.width},hasHeight:function(){return\"\"!\u003d\u003dthis.height},computedWidth:function(){return this.hasWidth?this.width:this.widthFromHeight},computedHeight:function(){return this.heightFromWidth},computedLoadType:function(){return this.lazy?\"lazy\":\"eager\"}},data:function(){return{widthFromHeight:\"\",heightFromWidth:\"\"}},methods:{computeWidthAndHeight:function(){var t\u003dthis.$refs.pic,e\u003dt.naturalHeight,n\u003dt.naturalWidth/e;this.hasWidth?this.heightFromWidth\u003dMath.round(je(this.width)/n).toString():this.hasHeight\u0026\u0026(this.widthFromHeight\u003dMath.round(je(this.height)*n).toString(),this.heightFromWidth\u003dthis.height)}}},Fn,[],!1,null,null,null).exports;var Un\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"quiz-container\",t.addClass]},[n(\"transition\",{attrs:{name:\"intro-outro-card\"},on:{\"after-leave\":t.showFirstQuestion}},[3\u003d\u003d\u003dt.state?n(\"div\",{staticClass:\"card intro-outro-card\"},[n(\"div\",{staticClass:\"card-body\"},[t._t(\"intro\",(function(){return[n(\"h4\",[t._v(\"\\n Click start to begin\\n \")])]})),t._v(\" \"),n(\"h5\",[t._v(t._s(t.questions.length)+\" questions\")]),t._v(\" \"),n(\"hr\"),t._v(\" \"),n(\"button\",{staticClass:\"btn btn-primary d-inline-block\",attrs:{type:\"button\"},on:{click:t.begin}},[t._v(\"\\n Start\\n \")])],2)]):t._e()]),t._v(\" \"),n(\"transition\",{attrs:{name:\"intro-outro-card\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:4\u003d\u003d\u003dt.state,expression:\"state \u003d\u003d\u003d 4\"}],staticClass:\"progress intro-outro-card\",staticStyle:{height:\"1px\"}},[n(\"div\",{staticClass:\"progress-bar progress-bar-z\",style:{width:t.currentQuestion/t.questions.length*100+\"%\"},attrs:{role:\"progressbar\",\"aria-valuemin\":\"0\",\"aria-valuemax\":t.questions.length,\"aria-valuenow\":t.currentQuestion}})])]),t._v(\" \"),t._t(\"default\"),t._v(\" \"),n(\"transition\",{attrs:{name:\"intro-outro-card\"},on:{\"after-enter\":t.setScoreCircleStyles,\"after-leave\":t.showFirstQuestion}},[5\u003d\u003d\u003dt.state?n(\"div\",{staticClass:\"card intro-outro-card\"},[n(\"div\",{staticClass:\"card-body\"},[n(\"h4\",{staticClass:\"mb-3\"},[t._v(\"\\n \"+t._s(t.scoreText)+\"\\n \")]),t._v(\" \"),n(\"svg\",{attrs:{viewBox:\"0 0 100 100\",width:\"120px\",height:\"120px\"}},[n(\"circle\",{staticClass:\"score-background-circle\",attrs:{cx:\"50\",cy:\"50\",r:\"42\"}}),t._v(\" \"),n(\"circle\",{ref:\"score\",staticClass:\"score-circle\",attrs:{cx:\"50\",cy:\"50\",r:\"42\",transform:\"rotate(-90, 50, 50)\",\"stroke-dashoffset\":\"264\"}}),t._v(\" \"),n(\"text\",{staticClass:\"score\",attrs:{x:\"22\",y:\"57\",textLength:\"56\"}},[t._v(t._s(t.score)+\" / \"+t._s(t.questions.length))])]),t._v(\" \"),n(\"hr\"),t._v(\" \"),n(\"button\",{staticClass:\"btn btn-outline-primary\",attrs:{type:\"button\"},on:{click:t.begin}},[t._v(\"\\n Retry\\n \")])])]):t._e()])],2)};Un._withStripped\u003d!0;const Qn\u003dqe({name:\"Quiz\",props:{addClass:{type:String,default:null}},data:function(){return{currentQuestion:0,questions:[],score:0,state:3}},provide:function(){return{questions:this.questions,gotoNextQuestion:this.gotoNextQuestion,showNextQuestion:this.showNextQuestion}},computed:{scoreText:function(){return this.score/this.questions.length\u003e.5?\"Well done!\":\"Try again?\"}},methods:{gotoNextQuestion:function(){this.questions[this.currentQuestion-1].hide(),this.currentQuestion+\u003d1},showNextQuestion:function(){this.currentQuestion\u003c\u003dthis.questions.length?this.questions[this.currentQuestion-1].show():this.complete()},begin:function(){this.currentQuestion\u003d1,this.score\u003d0,this.state\u003d4},showFirstQuestion:function(){this.questions.length\u0026\u0026this.questions[0].show()},reset:function(){this.questions.forEach((function(t){return t.reset()}))},complete:function(){this.score\u003dthis.questions.filter((function(t){return 2\u003d\u003d\u003dt.qState.state})).length,this.state\u003d5,this.reset()},setScoreCircleStyles:function(){var t\u003dthis.score/this.questions.length;this.$refs.score.style.strokeDashoffset\u003d264*(1-t),this.$refs.score.style.stroke\u003d\"#51c2f8\"}}},Un,[],!1,null,\"2b2275c0\",null).exports;var Xn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"transition\",{attrs:{name:t.questions?\"question\":null},on:{\"after-leave\":t.showNextQuestion}},[t.active?n(\"div\",{class:[\"card\",\"question\",t.shakeClass,t.addClass]},[t.$scopedSlots.header?n(\"div\",{staticClass:\"card-header alert-light border-bottom border-light text-dark\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"card-body\"},[t._t(\"default\"),t._v(\" \"),t.isTextQuestion()?n(\"div\",{staticClass:\"mb-2\"},[n(\"textarea\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.textareaText,expression:\"textareaText\"}],staticClass:\"form-control\",attrs:{disabled:t.qState.answered},domProps:{value:t.textareaText},on:{input:function(e){e.target.composing||(t.textareaText\u003de.target.value)}}}),t._v(\" \"),t.qState.answered?n(\"div\",[n(\"hr\"),t._v(\" \"),t.keywordsSplitTrimmed().length?n(\"strong\",[t._v(\"\\n Keywords: \\n \"),t._l(t.keywordsSplitTrimmed(),(function(e){return n(\"span\",{key:e,staticClass:\"badge rounded-pill bg-light text-dark fw-normal\"},[t._v(\"\\n \"+t._s(e)+\"\\n \")])}))],2):t._e()]):t._e()]):t._e(),t._v(\" \"),t.qState.answered\u0026\u0026t.isTextQuestion()?n(\"div\",{staticClass:\"answer\"},[t._t(\"answer\")],2):t._e(),t._v(\" \"),t.showHint?n(\"box\",{staticClass:\"mb-0 mt-3\",attrs:{type:\"tip\"}},[t._t(\"hint\")],2):t._e()],2),t._v(\" \"),t.showCardFooter?n(\"div\",{staticClass:\"card-footer alert-light border-top border-light text-dark\"},[1\u003d\u003d\u003dt.qState.state?n(\"i\",{staticClass:\"fa fa-times text-danger border-danger result-icon\"}):2\u003d\u003d\u003dt.qState.state?n(\"i\",{staticClass:\"fa fa-check text-success border-success result-icon\"}):t._e(),t._v(\" \"),n(\"transition-group\",{staticClass:\"float-end\",attrs:{name:\"q-btn\",tag:\"div\"}},[t.$scopedSlots.hint\u0026\u0026!t.showHint?n(\"button\",{key:\"hint\",staticClass:\"btn btn-success q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){t.showHint\u003d!0}}},[t._v(\"\\n Hint\\n \")]):t._e(),t._v(\" \"),0!\u003d\u003dt.qState.state||t.isTextWithoutKeywords()\u0026\u0026!t.$scopedSlots.answer?t._e():n(\"button\",{key:\"check\",staticClass:\"btn btn-primary q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){return t.checkAnswer(!!t.questions)}}},[t._v(\"\\n Check\\n \")]),t._v(\" \"),0!\u003d\u003dt.qState.state\u0026\u0026t.questions?n(\"button\",{key:\"active\",staticClass:\"btn btn-primary q-btn ms-1\",attrs:{type:\"button\"},on:{\"~click\":function(e){return t.gotoNextQuestion.apply(null,arguments)}}},[t._v(\"\\n Next\\n \")]):t._e(),t._v(\" \"),t.retryState?n(\"button\",{key:\"show\",staticClass:\"btn btn-info q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){return t.checkAnswer(!0)}}},[t._v(\"\\n Show\\n \")]):t._e(),t._v(\" \"),t.retryState?n(\"button\",{key:\"retry\",staticClass:\"btn btn-primary q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){return t.checkAnswer(!1)}}},[t._v(\"\\n Retry\\n \")]):t._e()])],1):t._e()]):t._e()])};Xn._withStripped\u003d!0;function Yn(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function Kn(t){for(var e\u003d1;e\u003carguments.length;e++){var i\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?Yn(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):Yn(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}const Gn\u003dqe({name:\"Question\",mixins:[{data:function(){return{active:!0}},inject:{questions:{default:void 0},gotoNextQuestion:{default:void 0},showNextQuestion:{default:\"\"}},methods:{show:function(){this.active\u003d!0},hide:function(){this.active\u003d!1},reset:function(){this.active\u003d!1,this.qState.answered\u003d!1,this.qState.state\u003d0,this.showHint\u003d!1,this.textareaText\u0026\u0026(this.textareaText\u003d\"\"),this.answers\u0026\u0026this.answers.splice(0,this.answers.length)}},created:function(){this.questions\u0026\u0026(this.active\u003d!1,this.questions.push(this))}}],props:{type:{type:String,default:\"\"},addClass:{type:String,default:null},keywords:{type:String,default:\"\"},threshold:{type:[String,Number],default:1},noIntermediateResult:{type:Boolean}},computed:{retryState:function(){return 1\u003d\u003d\u003dthis.qState.state\u0026\u0026!this.qState.answered\u0026\u0026!this.questions},showCardFooter:function(){var t\u003d!this.$scopedSlots.hint||this.showHint;return!(this.isTextWithoutKeywords()\u0026\u0026t\u0026\u0026this.qState.answered\u0026\u0026!this.questions)}},data:function(){var t\u003d{qState:{state:0,answered:!1},showHint:!1,shakeClass:null};return this.isMcqOrCheckboxQuestion()||this.isBlanksQuestion()?Kn({answers:[]},t):this.isTextQuestion()?Kn({textareaText:\"\"},t):t},provide:function(){return this.isMcqOrCheckboxQuestion()?{answers:this.answers,qOptionType:this.type,qState:this.qState}:this.isBlanksQuestion()?{answers:this.answers,qOptionType:this.type,qState:this.qState,noIntermediateResult:this.noIntermediateResult}:void 0},methods:{keywordsSplitTrimmed:function(){return this.keywords.split(\",\").filter((function(t){return\"\"!\u003d\u003dt.trim()}))},isMcqOrCheckboxQuestion:function(){return\"mcq\"\u003d\u003d\u003dthis.type||\"checkbox\"\u003d\u003d\u003dthis.type},isBlanksQuestion:function(){return\"blanks\"\u003d\u003d\u003dthis.type},isTextQuestion:function(){return\"text\"\u003d\u003d\u003dthis.type},isTextWithoutKeywords:function(){return this.isTextQuestion()\u0026\u0026!this.keywords},shakeCard:function(){var t\u003dthis;this.shakeClass\u003d\"shake\",setTimeout((function(){t.shakeClass\u003dnull}),800)},markAsCorrect:function(){this.qState.state\u003d2,this.qState.answered\u003d!0},markAsWrong:function(t){this.qState.state\u003d1,t?this.qState.answered\u003d!0:this.shakeCard()},checkMcqAnswer:function(t){var e\u003dthis.answers.find((function(t){return t.selected}));e?e.$props.correct?this.markAsCorrect():this.markAsWrong(t):this.shakeCard()},checkCheckboxAnswer:function(t){this.answers.filter((function(t){return t.answeredCorrectly})).length\u003d\u003d\u003dthis.answers.length?this.markAsCorrect():this.markAsWrong(t)},checkBlanksAnswer:function(t){for(var e\u003d0,n\u003d0;n\u003cthis.answers.length;n+\u003d1)this.answers[n].checkAnswer(),this.answers[n].ansIsCorrect\u0026\u0026(e+\u003d1);e/this.answers.length\u003e\u003dthis.threshold?this.markAsCorrect():this.markAsWrong(t)},checkTextAnswer:function(t){for(var e\u003dthis.textareaText.toLowerCase(),n\u003dthis.keywordsSplitTrimmed(),i\u003d0,o\u003d0;o\u003cn.length;o+\u003d1)e.includes(n[o].toLowerCase())\u0026\u0026(i+\u003d1);i/n.length\u003e\u003dthis.threshold?this.markAsCorrect():this.markAsWrong(t)},checkAnswer:function(t){\"mcq\"\u003d\u003d\u003dthis.type?this.checkMcqAnswer(t):\"checkbox\"\u003d\u003d\u003dthis.type?this.checkCheckboxAnswer(t):\"blanks\"\u003d\u003d\u003dthis.type?this.checkBlanksAnswer(t):this.isTextQuestion()?this.checkTextAnswer(t):this.markAsCorrect()}}},Xn,[],!1,null,\"ae369d74\",null).exports;var Zn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return\"mcq\"\u003d\u003d\u003dt.qOptionType?n(\"div\",{class:[\"form-control\",t.hintClass],on:{click:t.toggleRadioOn,mouseover:function(e){t.hover\u003d!0},mouseleave:function(e){t.hover\u003d!1}}},[n(\"div\",{class:[\"row\",{disabled:t.qState.answered}]},[n(\"div\",{staticClass:\"col-auto p-0\"},[n(\"svg\",{staticClass:\"radio-svg\",attrs:{viewBox:\"0 0 100 100\"}},[n(\"circle\",{attrs:{cx:\"50\",cy:\"50\",r:\"47\",fill:\"none\",stroke:\"black\",\"stroke-width\":\"4\"}}),t._v(\" \"),n(\"circle\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.selected,expression:\"selected\"}],attrs:{cx:\"50\",cy:\"50\",r:\"25\",fill:\"dodgerblue\"}})])]),t._v(\" \"),n(\"div\",{staticClass:\"col content\"},[t._t(\"default\")],2),t._v(\" \"),n(\"div\",{staticClass:\"col-1\"},[t.qState.answered?n(\"div\",[t.correct?n(\"i\",{staticClass:\"fa fa-check text-success\",class:{\"align-bottom\":t.$scopedSlots.reason}}):n(\"i\",{staticClass:\"fa fa-times text-danger\",class:{\"align-bottom\":t.$scopedSlots.reason}})]):t._e()])]),t._v(\" \"),t.qState.answered\u0026\u0026t.$scopedSlots.reason?n(\"div\",[n(\"hr\"),t._v(\" \"),n(\"div\",{staticClass:\"reason\"},[t._t(\"reason\")],2)]):t._e()]):\"checkbox\"\u003d\u003d\u003dt.qOptionType?n(\"div\",{class:[\"form-control\",t.hintClass],on:{click:t.toggleCheckbox,mouseover:function(e){t.hover\u003d!0},mouseleave:function(e){t.hover\u003d!1}}},[n(\"label\",{class:[\"row\",\"checkbox-label\",\"m-0\",{disabled:t.qState.answered}],on:{click:function(t){t.stopPropagation()}}},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.selected,expression:\"selected\"}],staticClass:\"checkbox\",attrs:{disabled:t.qState.answered,type:\"checkbox\",onclick:\"event.stopPropagation()\"},domProps:{checked:Array.isArray(t.selected)?t._i(t.selected,null)\u003e-1:t.selected},on:{change:function(e){var n\u003dt.selected,i\u003de.target,o\u003d!!i.checked;if(Array.isArray(n)){var r\u003dt._i(n,null);i.checked?r\u003c0\u0026\u0026(t.selected\u003dn.concat([null])):r\u003e-1\u0026\u0026(t.selected\u003dn.slice(0,r).concat(n.slice(r+1)))}else t.selected\u003do}}}),t._v(\" \"),n(\"div\",{staticClass:\"col content\"},[t._t(\"default\")],2),t._v(\" \"),n(\"div\",{staticClass:\"col-auto\"},[t.qState.answered?n(\"div\",[t.correct?n(\"i\",{staticClass:\"fa fa-check text-success\",class:{\"align-bottom\":t.$scopedSlots.reason}}):n(\"i\",{staticClass:\"fa fa-times text-danger\",class:{\"align-bottom\":t.$scopedSlots.reason}})]):t._e()])]),t._v(\" \"),t.qState.answered\u0026\u0026t.$scopedSlots.reason?n(\"div\",[n(\"hr\"),t._v(\" \"),n(\"div\",{staticClass:\"reason\"},[t._t(\"reason\")],2)]):t._e()]):\"blanks\"\u003d\u003d\u003dt.qOptionType?n(\"div\",{class:[\"form-control\",\"blanks-form-control\",t.hintClass]},[n(\"label\",{class:[\"row\",\"m-0\",{disabled:t.qState.answered}],on:{click:function(t){t.stopPropagation()}}},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.inputText,expression:\"inputText\"}],staticClass:\"form-control\",attrs:{disabled:t.qState.answered},domProps:{value:t.inputText},on:{input:function(e){e.target.composing||(t.inputText\u003de.target.value)}}}),t._v(\" \"),n(\"div\",{staticClass:\"col-auto\"},[t.qState.answered?n(\"div\",[t.ansIsCorrect?n(\"i\",{staticClass:\"fa fa-check text-success\"}):n(\"i\",{staticClass:\"fa fa-times text-danger blanks-cross\"})]):t._e(),t._v(\" \"),t.isIntermediateResult()?n(\"div\",[t.ansIsCorrect?n(\"i\",{staticClass:\"fa fa-check text-success\"}):n(\"i\",{staticClass:\"fa fa-times text-danger blanks-cross\"})]):t._e()]),t._v(\" \"),t.qState.answered?n(\"div\",{staticClass:\"col-auto blanks-keywords\"},[t.keywordsSplitTrimmed().length?n(\"strong\",[t._v(\"\\n Keywords: \\n \"),t._l(t.keywordsSplitTrimmed(),(function(e){return n(\"span\",{key:e,staticClass:\"badge rounded-pill bg-light text-dark fw-normal\"},[t._v(\"\\n \"+t._s(e)+\"\\n \")])}))],2):n(\"strong\",[t._v(\"No answer checking keywords provided\")])]):t._e()]),t._v(\" \"),t.qState.answered\u0026\u0026t.$scopedSlots.reason?n(\"div\",[n(\"div\",{staticClass:\"reason blanks-reason\"},[t._t(\"reason\")],2)]):t._e()]):t._e()};Zn._withStripped\u003d!0;const Jn\u003dqe({name:\"McqOption\",props:{correct:{type:Boolean,default:!1},keywords:{type:String,default:\"\"}},data:function(){return{selected:!1,hover:!1,inputText:\"\",ansIsCorrect:!1}},inject:{answers:{default:void 0},qOptionType:{default:void 0},qState:{default:void 0},noIntermediateResult:{default:void 0}},computed:{hintClass:function(){return this.qState.answered?this.correct?\"success\":\"danger\":this.selected||this.hover?\"alert-light text-dark border border-secondary\":\"\"},answeredCorrectly:function(){return this.correct\u0026\u0026this.selected||!this.correct\u0026\u0026!this.selected}},methods:{checkAnswer:function(){var t\u003d!1,e\u003dthis.inputText.toLowerCase().trim(),n\u003dthis.keywords.toLowerCase().split(\",\").filter((function(t){return\"\"!\u003d\u003dt.trim()}));this.keywords.length||(t\u003d!0);for(var i\u003d0;i\u003cn.length;i+\u003d1)if(e\u003d\u003d\u003dn[i].trim()){t\u003d!0;break}this.ansIsCorrect\u003dt},isIntermediateResult:function(){return!this.noIntermediateResult\u0026\u00261\u003d\u003d\u003dthis.qState.state\u0026\u0026!this.qState.answered},isBlanksQuestion:function(){return\"blanks\"\u003d\u003d\u003dthis.type},keywordsSplitTrimmed:function(){return this.keywords.split(\",\").filter((function(t){return\"\"!\u003d\u003dt.trim()}))},toggleRadioOn:function(){this.qState.answered||this.selected||(this.answers.forEach((function(t){t.selected\u003d!1})),this.selected\u003d!0)},toggleCheckbox:function(){this.qState.answered||(this.selected\u003d!this.selected)}},created:function(){this.answers.push(this)}},Zn,[],!1,null,\"1074287c\",null).exports;var ti\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{staticClass:\"dropdown\",staticStyle:{position:\"relative\"}},[t.algolia?n(\"div\",{attrs:{id:\"algolia-search-input\"}}):[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.value,expression:\"value\"}],staticClass:\"form-control\",attrs:{\"data-bs-toggle\":\"dropdown\",type:\"text\",placeholder:t.placeholder,autocomplete:\"off\"},domProps:{value:t.value},on:{input:[function(e){e.target.composing||(t.value\u003de.target.value)},t.update],keyup:[function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"])?null:t.up.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"])?null:t.down.apply(null,arguments)}],keydown:[function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.hit.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])?null:t.reset.apply(null,arguments)}],blur:function(e){t.showDropdown\u003d!1}}}),t._v(\" \"),n(\"div\",{staticClass:\"form-control placeholder-div-hidden\"},[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])],t._v(\" \"),n(\"ul\",{ref:\"dropdown\",class:t.dropdownMenuClasses},t._l(t.items,(function(e,i){return n(\"li\",{key:i,class:{\"table-active\":t.isActive(i)}},[n(\"a\",{staticClass:\"dropdown-item\",on:{mousedown:function(e){return e.preventDefault(),t.hit.apply(null,arguments)},mousemove:function(e){return t.setActive(i)}}},[n(\"searchbar-page-item\",{attrs:{item:e,value:t.value}})],1)])})),0)],2)};function ei(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n\u003dnull\u003d\u003dt?null:\"undefined\"!\u003dtypeof Symbol\u0026\u0026t[Symbol.iterator]||t[\"@@iterator\"];if(null!\u003dn){var i,o,r,s,a\u003d[],l\u003d!0,c\u003d!1;try{if(r\u003d(n\u003dn.call(t)).next,0\u003d\u003d\u003de){if(Object(n)!\u003d\u003dn)return;l\u003d!1}else for(;!(l\u003d(i\u003dr.call(n)).done)\u0026\u0026(a.push(i.value),a.length!\u003d\u003de);l\u003d!0);}catch(t){c\u003d!0,o\u003dt}finally{try{if(!l\u0026\u0026null!\u003dn.return\u0026\u0026(s\u003dn.return(),Object(s)!\u003d\u003ds))return}finally{if(c)throw o}}return a}}(t,e)||bn(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}ti._withStripped\u003d!0;var ni\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.item.heading?n(\"div\",{staticClass:\"heading\"},[n(\"i\",{staticClass:\"fa fa-hashtag\"}),t._v(\" \"),n(\"div\",{staticClass:\"heading-text\"},[n(\"span\",{domProps:{innerHTML:t._s(t.highlight(t.item.heading.text,t.value))}}),t._v(\" \"),t._l(t.item.keywords,(function(e,i){return n(\"div\",{key:i,staticClass:\"keyword-text\",domProps:{innerHTML:t._s(t.highlight(e,t.value))}})}))],2)]):n(\"div\",[n(\"span\",{staticClass:\"page-title\",domProps:{innerHTML:t._s(t.highlight(t.item.title,t.value))}}),t._v(\" \"),t.item.keywords?n(\"br\"):t._e(),t._v(\" \"),t.item.keywords?n(\"small\",{domProps:{innerHTML:t._s(t.highlight(t.item.keywords,t.value))}}):t._e(),t._v(\" \"),n(\"hr\",{staticClass:\"page-headings-separator\"})])};ni._withStripped\u003d!0;const ii\u003dqe({props:{item:{type:Object,default:null},value:{type:String,default:\"\"}},methods:{highlight:function(t,e){for(var n,i\u003d(n\u003dfunction(){var n\u003de.split(\" \").filter((function(t){return\"\"!\u003d\u003dt})).map((function(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$\u0026\")})).map((function(t){return new RegExp(\"(\".concat(t,\")\"),\"gi\")})),i\u003d[];return n.forEach((function(e){for(var n\u003de.exec(t);null!\u003d\u003dn\u0026\u0026n.index!\u003d\u003de.lastIndex;)i.push({start:n.index,end:e.lastIndex}),n\u003de.exec(t)})),i}()).length\u003c\u003d1?n:n.sort((function(t,e){return t.start-e.start})).reduce((function(t,e){var n\u003dt[t.length-1];return!n||n.end\u003ce.start?t.push(e):n.end\u003ce.end\u0026\u0026(n.end\u003de.end),t}),[]),o\u003dt,r\u003di.length-1;r\u003e\u003d0;r-\u003d1)o\u003d\"\".concat(o.slice(0,i[r].start),\"\u003cmark\u003e\")+\"\".concat(o.slice(i[r].start,i[r].end),\"\u003c/mark\u003e\")+\"\".concat(o.slice(i[r].end));return o}}},ni,[],!1,null,\"98afe086\",null).exports;const oi\u003dqe({created:function(){this.items\u003dthis.primitiveData},props:{data:{type:Array,default:function(){return[]}},limit:{type:Number,default:8},async:{type:String,default:\"\"},keyProp:{type:String,default:null},onHit:{type:Function,default:function(t){this.reset(),this.value\u003dt}},placeholder:{type:String,default:\"Search\"},delay:{type:Number,default:200},menuAlignRight:{type:Boolean,default:!1},algolia:{type:Boolean,default:!1}},data:function(){return{value:\"\",showDropdown:!1,noResults:!0,current:0,items:[]}},computed:{primitiveData:function(){function t(t,e){var n\u003dt.join(\" \");return e.reduce((function(t,e){var i\u003dn.match(e);return t+(i?i.length:0)}),0)}if(this.value.length\u003c2||!this.data)return[];var e\u003d[],n\u003dthis.value.split(\" \").filter((function(t){return\"\"!\u003d\u003dt})).map((function(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$\u0026\")})).map((function(t){return new RegExp(t,\"ig\")}));return this.data.forEach((function(i){var o\u003di.headings,r\u003di.src,s\u003di.title,a\u003di.headingKeywords,l\u003di.frontmatterKeywords||\"\",c\u003ds||r.substring(0,r.lastIndexOf(\".\")),u\u003dt([c,l].concat(_n(Object.values(o)),_n(Object.values(a))),n);if(u\u003e0){var d\u003d[];Object.entries(o).forEach((function(e,i){var o\u003dei(e,2),s\u003do[0],u\u003do[1],h\u003dn.some((function(t){return t.test(u)})),p\u003da[s]\u0026\u0026a[s].some((function(t){return n.some((function(e){return e.test(t)}))}));if(h||p){var f\u003dt([u].concat(_n(a[s]||[])),n);(0!\u003d\u003di||u!\u003d\u003dc||l.length)\u0026\u0026d.push({heading:{id:s,text:u},keywords:a[s],src:r,totalMatches:f})}})),d.sort((function(t,e){return e.totalMatches-t.totalMatches})),e.push({headings:d,keywords:l,src:r,title:c,totalMatches:u})}})),e.sort((function(t,e){return e.totalMatches-t.totalMatches})).flatMap((function(t){return t.headings?[t].concat(_n(t.headings)):t}))},dropdownMenuClasses:function(){return[\"dropdown-menu\",\"search-dropdown-menu\",{show:this.showDropdown},{\"d-none\":!this.showDropdown},{\"dropdown-menu-end\":this.menuAlignRight}]}},methods:{update:function(){return this.value?(this.data\u0026\u0026(this.items\u003dthis.primitiveData,this.showDropdown\u003dthis.items.length\u003e0),this.async\u0026\u0026this.query(),!0):(this.reset(),!1)},query:function(t,e){var n,i\u003darguments.length\u003e2\u0026\u0026void 0!\u003d\u003darguments[2]?arguments[2]:100;function o(t){return/^[0-9]+$/.test(t)?Number(t)||1:null}return function(){for(var r\u003dthis,s\u003darguments.length,a\u003dnew Array(s),l\u003d0;l\u003cs;l++)a[l]\u003darguments[l];n\u0026\u0026clearTimeout(n),n\u003dsetTimeout((function(){t.apply(r,a)}),o(e)||o(this[e])||i)}}((function(){var t\u003dthis;(function(t){var e\u003dnew window.XMLHttpRequest,n\u003d{},i\u003d{then:function(t,e){return i.done(t).fail(e)},catch:function(t){return i.fail(t)},always:function(t){return i.done(t).fail(t)}};return[\"done\",\"fail\"].forEach((function(t){n[t]\u003d[],i[t]\u003dfunction(e){return e instanceof Function\u0026\u0026n[t].push(e),i}})),i.done(JSON.parse),e.onreadystatechange\u003dfunction(){if(4\u003d\u003d\u003de.readyState){var t\u003d{status:e.status};if(200\u003d\u003d\u003de.status)try{var i\u003de.responseText;for(var o in n.done){var r\u003dn.done[o](i);void 0!\u003d\u003dr\u0026\u0026(i\u003dr)}}catch(t){n.fail.forEach((function(e){return e(t)}))}else n.fail.forEach((function(e){return e(t)}))}},e.open(\"GET\",t),e.setRequestHeader(\"Accept\",\"application/json\"),e.send(),i})(this.async+this.value).then((function(e){t.items\u003d(t.keyProp?e[t.keyProp]:e).slice(0,t.limit),t.showDropdown\u003dt.items.length}))}),\"delay\",200),reset:function(){this.items\u003d[],this.value\u003d\"\",this.loading\u003d!1,this.showDropdown\u003d!1},setActive:function(t){this.current\u003dt},isActive:function(t){return this.current\u003d\u003d\u003dt},hit:function(t){t.preventDefault(),this.onHit(this.items[this.current],this)},down:function(){this.current\u003cthis.items.length-1\u0026\u0026(this.current+\u003d1,this.scrollListView())},up:function(){this.current\u003e0\u0026\u0026(this.current-\u003d1,this.scrollListView())},scrollListView:function(){var t\u003dthis.$refs.dropdown,e\u003dt.children[this.current],n\u003dt.scrollTop,i\u003dn+t.clientHeight,o\u003de.offsetTop+e.offsetHeight;e.offsetTop\u003cn?t.scrollTop\u003de.offsetTop:o\u003ei\u0026\u0026(t.scrollTop\u003do-t.clientHeight)}},components:{searchbarPageItem:ii}},ti,[],!1,null,\"cea1a814\",null).exports;var ri\u003dfunction(){var t\u003dthis.$createElement,e\u003dthis._self._c||t;return e(\"div\",{staticClass:\"tab-pane active printable-tab-pane\",class:{\"tab-pane-hide\":!this.show},attrs:{role:\"tabpanel\"}},[e(\"div\",{staticClass:\"nav-tabs printable-tab-header\"},[e(\"div\",{ref:\"header\",staticClass:\"nav-link active\"},[this._t(\"header\")],2)]),this._v(\" \"),this._t(\"default\"),this._v(\" \"),e(\"hr\")],2)};ri._withStripped\u003d!0;const si\u003dqe({props:{header:{type:String,default:\"\"},disabled:{type:[Boolean,String],default:!1}},computed:{headerRendered:function(){return this.$refs.header.innerHTML},active:function(){return this._tabset.show\u003d\u003d\u003dthis},index:function(){return this._tabset.tabs.indexOf(this)},show:function(){return this._tabset\u0026\u0026this._tabset.show\u003d\u003d\u003dthis},disabledBool:function(){return Re(this.disabled)}},created:function(){this._ingroup\u003dthis.$parent\u0026\u0026this.$parent._tabgroup;for(var t\u003dthis;t\u0026\u0026!0!\u003d\u003dt._tabset\u0026\u0026t.$parent;)t\u003dt.$parent;t._tabset?(t.tabs.push(this),this._ingroup?~t.headers.indexOf(this.$parent)||t.headers.push(this.$parent):t.headers.push(this),this._tabset\u003dt):this._tabset\u003d{},this._ingroup\u0026\u0026this.$parent.tabs.push(this)},beforeDestroy:function(){if(this._tabset.activeNumber\u003d\u003d\u003dthis.index\u0026\u0026(this._tabset.activeNumber\u003d0),this._ingroup){var t\u003dthis.$parent.tabs.indexOf(this);this.$parent.tabs.splice(t,1)}this._tabset.tabs.splice(this.index,1)}},ri,[],!1,null,\"661c1b61\",null).exports;var ai\u003dfunction(){var t\u003dthis.$createElement,e\u003dthis._self._c||t;return e(\"div\",{staticClass:\"printable-tab-group\"},[e(\"div\",{ref:\"header\",staticClass:\"printable-tab-group-header\"},[this._t(\"header\")],2),this._v(\" \"),this._t(\"default\")],2)};ai._withStripped\u003d!0;const li\u003dqe({props:{disabled:{type:[Boolean,String],default:!1},header:{type:String,default:\"\"}},data:function(){return{tabs:[],show:!1}},computed:{active:function(){return~this.tabs.indexOf(this._tabset.show)},headerRendered:function(){return this.$refs.header.innerHTML},disabledBool:function(){return De(this.disabled)}},created:function(){this._tabgroup\u003d!0;for(var t\u003dthis.$parent\u0026\u0026!0\u003d\u003d\u003dthis.$parent._tabset?this.$parent:{};t\u0026\u0026!t._tabset\u0026\u0026t.$parent;)t\u003dt.$parent;t._tabset?this._tabset\u003dt:(this._tabset\u003d{},this.show\u003d!0)},methods:{blur:function(){this.show\u003d!1},toggle:function(){this.show\u003d!this.show}}},ai,[],!1,null,\"a785351c\",null).exports;var ci\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[t.addClass,\"printable-tabs\"]},[n(\"ul\",{staticClass:\"nav nav-tabs d-print-none\",class:t.getNavStyleClass,attrs:{role:\"tablist\"}},[t._l(t.headers,(function(e,i){return[e._tabgroup?n(\"dropdown\",{key:i,staticClass:\"nav-item\",class:{active:e.active},attrs:{header:e.headerRendered,disabled:e.disabled}},t._l(e.tabs,(function(e,i){return n(\"li\",{key:i},[n(\"a\",{staticClass:\"nav-link\",class:{disabled:e.disabled},attrs:{href:\"#\"},domProps:{innerHTML:t._s(e.headerRendered)},on:{click:function(n){return n.preventDefault(),t.select(e)}}})])})),0):n(\"li\",{key:i,staticClass:\"nav-item\",on:{click:function(n){return n.preventDefault(),t.select(e)}}},[n(\"a\",{staticClass:\"nav-link\",class:{active:e.active,disabled:e.disabledBool},attrs:{href:\"#\"}},[n(\"span\",{domProps:{innerHTML:t._s(e.headerRendered)}})])])]}))],2),t._v(\" \"),n(\"div\",{ref:\"tab-content\",staticClass:\"tab-content\"},[t._t(\"default\")],2)])};ci._withStripped\u003d!0;const ui\u003dqe({components:{dropdown:gn},props:{navStyle:{type:String,default:\"tabs\"},active:{type:String,default:\"0\"},addClass:{type:String,default:\"\"}},data:function(){return{show:null,headers:[],activeNumber:je(this.active),tabs:[]}},created:function(){this._tabset\u003d!0},computed:{getNavStyleClass:function(){return\"nav-\".concat(this.navStyle)}},watch:{activeNumber:function(t){this.show\u003dthis.tabs[t]}},mounted:function(){this.show\u003dthis.tabs[this.activeNumber]},methods:{select:function(t){t.disabled||(this.activeNumber\u003dt.index)}}},ci,[],!1,null,\"70a68808\",null).exports;var di\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:[\"thumb-wrapper\",{\"thumb-circle\":t.circle},t.addClass],style:[t.getBorder,t.getFontSize,t.getFontColor,t.getBgColor]},[t.hasSrc?n(\"img\",{ref:\"pic\",staticClass:\"thumb-image\",attrs:{src:t.src,width:t.computedWidth,height:t.computedHeight,alt:t.alt},on:{\"~load\":function(e){return t.computeImgSize.apply(null,arguments)}}}):t._e(),t._v(\" \"),t._t(\"default\")],2)};di._withStripped\u003d!0;const hi\u003dqe({props:{circle:{type:Boolean,default:!1},addClass:{type:String,default:\"\"},alt:{type:String,default:\"\"},background:{type:String,default:\"\"},border:{type:String,default:\"\"},fontColor:{type:String,default:\"\"},fontSize:{type:String,default:\"\"},size:{type:String,default:\"\"},src:{type:String,default:null},text:{type:String,default:\"\"}},computed:{getBorder:function(){return\"\"\u003d\u003d\u003dthis.border?{}:{border:this.border}},getFontSize:function(){var t\u003dthis.imageSize/2,e\u003dthis.fontSize;return{\"font-size\":\"\".concat(void 0\u003d\u003d\u003de||\"\"\u003d\u003d\u003de?t:e,\"px\")}},getFontColor:function(){return\"\"\u003d\u003d\u003dthis.fontColor?{}:{color:this.fontColor}},getBgColor:function(){return\"\"\u003d\u003d\u003dthis.background?{}:{background:this.background}},hasSrc:function(){return void 0!\u003d\u003dthis.src\u0026\u0026\"\"!\u003d\u003dthis.src},imageSize:function(){return this.size||100}},data:function(){return{computedWidth:\"\",computedHeight:\"\"}},mounted:function(){var t\u003dthis.$el;t.style.width\u003d\"\".concat(this.imageSize,\"px\"),t.style.height\u003d\"\".concat(this.imageSize,\"px\"),t.style.lineHeight\u003d\"\".concat(this.imageSize,\"px\")},methods:{computeImgSize:function(){var t\u003dthis.$refs.pic,e\u003dt.naturalHeight,n\u003dt.naturalWidth,i\u003dMath.min(e,n),o\u003dthis.imageSize/i;this.computedWidth\u003dn*o,this.computedHeight\u003de*o}}},di,[],!1,null,null,null).exports;var pi\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:\"click\"\u003d\u003d\u003dt.trigger?\"trigger-click\":\"trigger\",attrs:{tabindex:\"0\"},on:t._d({},[t.triggerEventType,function(e){return e.stopPropagation(),t.toggle()}])},[\"popover\"\u003d\u003d\u003dt.popoverOrTooltipType?n(\"v-popover\",{attrs:{\"auto-hide\":!t.isInput,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,placement:t.placement,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[n(\"div\",{staticClass:\"popover-container\"},[n(\"portal-target\",{attrs:{name:\"popover:\"+t.target}})],1)]},proxy:!0}],null,!1,1583262462)},[t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):\"tooltip\"\u003d\u003d\u003dt.popoverOrTooltipType?n(\"v-tooltip\",{attrs:{\"auto-hide\":!t.isInput,placement:t.placement,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[n(\"portal-target\",{attrs:{name:\"tooltip:\"+t.target}})]},proxy:!0}])},[t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):n(\"span\",[t._t(\"default\")],2)],1)};pi._withStripped\u003d!0;var fi\u003di(383);function mi(t){return(mi\u003d\"function\"\u003d\u003dtypeof Symbol\u0026\u0026\"symbol\"\u003d\u003dtypeof Symbol.iterator?function(t){return typeof t}:function(t){return t\u0026\u0026\"function\"\u003d\u003dtypeof Symbol\u0026\u0026t.constructor\u003d\u003d\u003dSymbol\u0026\u0026t!\u003d\u003dSymbol.prototype?\"symbol\":typeof t})(t)}function vi(t,e){for(var n\u003d0;n\u003ce.length;n++){var i\u003de[n];i.enumerable\u003di.enumerable||!1,i.configurable\u003d!0,\"value\"in i\u0026\u0026(i.writable\u003d!0),Object.defineProperty(t,i.key,i)}}function gi(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]\u003dn,t}function yi(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function wi(t){for(var e\u003d1;e\u003carguments.length;e++){var n\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?yi(Object(n),!0).forEach((function(e){gi(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):yi(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function bi(t){return function(t){if(Array.isArray(t))return _i(t)}(t)||function(t){if(\"undefined\"!\u003dtypeof Symbol\u0026\u0026Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(t){if(\"string\"\u003d\u003dtypeof t)return _i(t,e);var n\u003dObject.prototype.toString.call(t).slice(8,-1);return\"Object\"\u003d\u003d\u003dn\u0026\u0026t.constructor\u0026\u0026(n\u003dt.constructor.name),\"Map\"\u003d\u003d\u003dn||\"Set\"\u003d\u003d\u003dn?Array.from(t):\"Arguments\"\u003d\u003d\u003dn||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_i(t,e):void 0}}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function _i(t,e){(null\u003d\u003de||e\u003et.length)\u0026\u0026(e\u003dt.length);for(var n\u003d0,i\u003dnew Array(e);n\u003ce;n++)i[n]\u003dt[n];return i}var Si\u003dfunction(t){return t\u003d\u003ddocument.activeElement},xi\u003dfunction(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.root\u003dnull,this.elements\u003d[],this.onKeyDown\u003dthis.onKeyDown.bind(this),this.enable\u003dthis.enable.bind(this),this.disable\u003dthis.disable.bind(this),this.firstElement\u003dthis.firstElement.bind(this),this.lastElement\u003dthis.lastElement.bind(this)}var e,n;return e\u003dt,(n\u003d[{key:\"lastElement\",value:function(){return this.elements[this.elements.length-1]||null}},{key:\"firstElement\",value:function(){return this.elements[0]||null}},{key:\"onKeyDown\",value:function(t){if(function(t){return\"Tab\"\u003d\u003d\u003dt.key||9\u003d\u003d\u003dt.keyCode}(t)){if(!t.shiftKey)return!document.activeElement||Si(this.lastElement())?(this.firstElement().focus(),void t.preventDefault()):void 0;Si(this.firstElement())\u0026\u0026(this.lastElement().focus(),t.preventDefault())}}},{key:\"enabled\",value:function(){return!!this.root}},{key:\"enable\",value:function(t){t\u0026\u0026(this.root\u003dt,this.elements\u003dfunction(t){return function(t,e){return bi(t.querySelectorAll(\u0027button:not([disabled]), select:not([disabled]), a[href]:not([disabled]), area[href]:not([disabled]), [contentEditable\u003d\"\"]:not([disabled]), [contentEditable\u003d\"true\"]:not([disabled]), [contentEditable\u003d\"TRUE\"]:not([disabled]), textarea:not([disabled]), iframe:not([disabled]), input:not([disabled]), summary:not([disabled]), [tabindex]:not([tabindex\u003d\"-1\"])\u0027)||[])}(t)}(this.root),this.root.addEventListener(\"keydown\",this.onKeyDown))}},{key:\"disable\",value:function(){this.root.removeEventListener(\"keydown\",this.onKeyDown),this.root\u003dnull}}])\u0026\u0026vi(e.prototype,n),t}(),Ci\u003dfunction(t){var e\u003dt.targetTouches?t.targetTouches[0]:t;return{x:e.clientX,y:e.clientY}},$i\u003dfunction(t,e,n){return\"number\"!\u003dtypeof t\u0026\u0026(t\u003dMath.min(e,n)||e),\"number\"!\u003dtypeof n\u0026\u0026(n\u003dMath.max(e,t)),Math.min(Math.max(e,t),n)},ki\u003dfunction(t){return t\u0026\u0026Number(t.replace(/px$/,\"\"))||0},Ti\u003d{down:{pc:\"mousedown\",m:\"touchstart\"},move:{pc:\"mousemove\",m:\"touchmove\"},up:{pc:\"mouseup\",m:\"touchend\"}},Ei\u003dfunction(t,e,n){e\u0026\u0026e.addEventListener(Ti[t].pc,n),e\u0026\u0026e.addEventListener(Ti[t].m,n,{passive:!1})},Oi\u003dfunction(t,e,n){e\u0026\u0026e.removeEventListener(Ti[t].pc,n),e\u0026\u0026e.removeEventListener(Ti[t].m,n)},Bi\u003d!1;if(\"undefined\"!\u003dtypeof window){var Pi\u003d{get passive(){Bi\u003d!0}};window.addEventListener(\"testPassive\",null,Pi),window.removeEventListener(\"testPassive\",null,Pi)}var Li,Ni,Ai,zi\u003d\"undefined\"!\u003dtypeof window\u0026\u0026window.navigator\u0026\u0026window.navigator.platform\u0026\u0026(/iP(ad|hone|od)/.test(window.navigator.platform)||\"MacIntel\"\u003d\u003d\u003dwindow.navigator.platform\u0026\u0026window.navigator.maxTouchPoints\u003e1),Mi\u003d[],Hi\u003d!1,Di\u003d0,Ri\u003d-1,ji\u003dfunction(t){return Mi.some((function(){return function(t,e){var n\u003d!1;return function(t){for(var e\u003d[];t;){if(e.push(t),t.classList.contains(\"vfm\"))return e;t\u003dt.parentElement}return e}(t).forEach((function(t){(function(t){if(!t||t.nodeType!\u003d\u003dNode.ELEMENT_NODE)return!1;var e\u003dwindow.getComputedStyle(t);return[\"auto\",\"scroll\"].includes(e.overflowY)\u0026\u0026t.scrollHeight\u003et.clientHeight})(t)\u0026\u0026function(t,e){return!(0\u003d\u003d\u003dt.scrollTop\u0026\u0026e\u003c0||t.scrollTop+t.clientHeight+e\u003e\u003dt.scrollHeight\u0026\u0026e\u003e0)}(t,e)\u0026\u0026(n\u003d!0)})),n}(t,-Di)}))},Ii\u003dfunction(t){var e\u003dt||window.event;return!!ji(e.target)||e.touches.length\u003e1||(e.preventDefault\u0026\u0026e.preventDefault(),!1)},qi\u003dfunction(t){t?(Mi\u003dMi.filter((function(e){return e.targetElement!\u003d\u003dt})),zi?(t.ontouchstart\u003dnull,t.ontouchmove\u003dnull,Hi\u0026\u00260\u003d\u003d\u003dMi.length\u0026\u0026(document.removeEventListener(\"touchmove\",Ii,Bi?{passive:!1}:void 0),Hi\u003d!1)):Mi.length||(void 0!\u003d\u003dNi\u0026\u0026(document.body.style.paddingRight\u003dNi,Ni\u003dvoid 0),void 0!\u003d\u003dLi\u0026\u0026(document.body.style.overflow\u003dLi,Li\u003dvoid 0))):console.error(\"enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.\")},Wi\u003dfunction(){},Fi\u003d\"enter\",Vi\u003d\"entering\",Ui\u003d\"leave\",Qi\u003d\"leavng\",Xi\u003d{type:[String,Object,Array],default:\"\"},Yi\u003d{type:[Object,Array],default:function(){return{}}},Ki\u003d{t:\"ns-resize\",tr:\"nesw-resize\",r:\"ew-resize\",br:\"nwse-resize\",b:\"ns-resize\",bl:\"nesw-resize\",l:\"ew-resize\",tl:\"nwse-resize\"},Gi\u003d{props:{name:{type:String,default:null},value:{type:Boolean,default:!1},ssr:{type:Boolean,default:!0},classes:Xi,overlayClass:Xi,contentClass:Xi,styles:Yi,overlayStyle:Yi,contentStyle:Yi,lockScroll:{type:Boolean,default:!0},hideOverlay:{type:Boolean,default:!1},clickToClose:{type:Boolean,default:!0},escToClose:{type:Boolean,default:!1},preventClick:{type:Boolean,default:!1},attach:{type:null,default:!1,validator:function(t){var e\u003dmi(t);return\"boolean\"\u003d\u003d\u003de||\"string\"\u003d\u003d\u003de||t.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE}},transition:{type:[String,Object],default:\"vfm\"},overlayTransition:{type:[String,Object],default:\"vfm\"},zIndexAuto:{type:Boolean,default:!0},zIndexBase:{type:[String,Number],default:1e3},zIndex:{type:[Boolean,String,Number],default:!1},focusRetain:{type:Boolean,default:!0},focusTrap:{type:Boolean,default:!1},fitParent:{type:Boolean,default:!0},drag:{type:Boolean,default:!1},dragSelector:{type:String,default:\"\"},keepChangedStyle:{type:Boolean,default:!1},resize:{type:Boolean,default:!1},resizeDirections:{type:Array,default:function(){return[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"]},validator:function(t){return[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"].filter((function(e){return-1!\u003d\u003dt.indexOf(e)})).length\u003d\u003d\u003dt.length}},minWidth:{type:Number,default:0},minHeight:{type:Number,default:0},maxWidth:{type:Number,default:1/0},maxHeight:{type:Number,default:1/0}},data:function(){return{modalStackIndex:null,visible:!1,visibility:{modal:!1,overlay:!1,resize:!1},overlayTransitionState:null,modalTransitionState:null,stopEvent:!1,params:{},dragResizeStyle:{},resolveToggle:Wi,rejectToggle:Wi,state:null,lastMousedownEl:null}},computed:{isComponentReadyToBeDestroyed:function(){return(this.hideOverlay||this.overlayTransitionState\u003d\u003d\u003dUi)\u0026\u0026this.modalTransitionState\u003d\u003d\u003dUi},calculateZIndex:function(){return!1\u003d\u003d\u003dthis.zIndex?!!this.zIndexAuto\u0026\u0026+this.zIndexBase+2*(this.modalStackIndex||0):this.zIndex},bindStyle:function(){return wi({},!1!\u003d\u003dthis.calculateZIndex\u0026\u0026{zIndex:this.calculateZIndex})},bindContentStyle:function(){var t\u003d[this.dragResizeStyle];return Array.isArray(this.contentStyle)?t.push.apply(t,bi(this.contentStyle)):t.push(this.contentStyle),t},computedTransition:function(){return\"string\"\u003d\u003dtypeof this.transition?{name:this.transition}:wi({},this.transition)},computedOverlayTransition:function(){return\"string\"\u003d\u003dtypeof this.overlayTransition?{name:this.overlayTransition}:wi({},this.overlayTransition)}},watch:{value:function(t){if(this.stopEvent)this.stopEvent\u003d!1;else if(this.mounted(),!t){if(this.emitEvent(\"before-close\",!0))return void this.rejectToggle(\"hide\");this.close()}},lockScroll:\"handleLockScroll\",hideOverlay:function(t){this.value\u0026\u0026!t\u0026\u0026(this.visibility.overlay\u003d!0)},attach:\"mounted\",isComponentReadyToBeDestroyed:function(t){t\u0026\u0026(this.visible\u003d!1)},drag:function(t){this.visible\u0026\u0026(t?this.addDragDown():this.removeDragDown())},resize:function(t){this.visible\u0026\u0026(t?this.addResizeDown():this.removeResizeDown())},keepChangedStyle:function(t){t||(this.dragResizeStyle\u003d{})}},mounted:function(){this.api.modals.push(this),this.$focusTrap\u003dnew xi,this.mounted()},beforeDestroy:function(){var t,e\u003dthis;this.close(),this.lockScroll\u0026\u0026this.$refs.vfmContainer\u0026\u0026qi(this.$refs.vfmContainer),null\u003d\u003dthis||null\u003d\u003d\u003d(t\u003dthis.$el)||void 0\u003d\u003d\u003dt||t.remove();var n\u003dthis.api.modals.findIndex((function(t){return t\u003d\u003d\u003de}));this.api.modals.splice(n,1)},methods:{mounted:function(){var t\u003dthis;if(this.value){if(this.emitEvent(\"before-open\",!1))return void this.rejectToggle(\"show\");var e\u003dthis.getAttachElement();if(e||!1\u003d\u003d\u003dthis.attach){!1!\u003d\u003dthis.attach\u0026\u0026e.appendChild(this.$el);var n\u003dthis.api.openedModals.findIndex((function(e){return e\u003d\u003d\u003dt}));-1!\u003d\u003dn\u0026\u0026this.api.openedModals.splice(n,1),this.api.openedModals.push(this),this.modalStackIndex\u003dthis.api.openedModals.length-1,this.handleLockScroll(),this.api.openedModals.filter((function(e){return e!\u003d\u003dt})).forEach((function(t,n){t.getAttachElement()\u003d\u003d\u003de\u0026\u0026(t.modalStackIndex\u003dn,t.visibility.overlay\u003d!1)})),this.visible\u003d!0,this.$nextTick((function(){t.startTransitionEnter()}))}else!1!\u003d\u003de\u0026\u0026console.warn(\"Unable to locate target \".concat(this.attach))}},close:function(){var t\u003dthis,e\u003dthis.api.openedModals.findIndex((function(e){return e\u003d\u003d\u003dt}));if(-1!\u003d\u003de\u0026\u0026this.api.openedModals.splice(e,1),this.api.openedModals.length\u003e0){var n\u003dthis.api.openedModals[this.api.openedModals.length-1];(n.focusRetain||n.focusTrap)\u0026\u0026n.$refs.vfmContainer.focus(),!n.hideOverlay\u0026\u0026(n.visibility.overlay\u003d!0)}this.drag\u0026\u0026this.removeDragDown(),this.resize\u0026\u0026this.removeResizeDown(),this.state\u003dnull,this.startTransitionLeave()},startTransitionEnter:function(){this.visibility.overlay\u003d!0,this.visibility.modal\u003d!0},startTransitionLeave:function(){this.visibility.overlay\u003d!1,this.visibility.modal\u003d!1},handleLockScroll:function(){var t\u003dthis;this.value\u0026\u0026this.$nextTick((function(){t.lockScroll?function(t,e){if(t){if(!Mi.some((function(e){return e.targetElement\u003d\u003d\u003dt}))){var n\u003d{targetElement:t,options:e||{}};Mi\u003d[].concat(bi(Mi),[n]),zi?(t.ontouchstart\u003dfunction(t){1\u003d\u003d\u003dt.targetTouches.length\u0026\u0026(Ri\u003dt.targetTouches[0].clientY)},t.ontouchmove\u003dfunction(e){1\u003d\u003d\u003de.targetTouches.length\u0026\u0026function(t,e){Di\u003dt.targetTouches[0].clientY-Ri,!ji(t.target)\u0026\u0026(e\u0026\u00260\u003d\u003d\u003de.scrollTop\u0026\u0026Di\u003e0||function(t){return!!t\u0026\u0026t.scrollHeight-t.scrollTop\u003c\u003dt.clientHeight}(e)\u0026\u0026Di\u003c0?Ii(t):t.stopPropagation())}(e,t)},Hi||(document.addEventListener(\"touchmove\",Ii,Bi?{passive:!1}:void 0),Hi\u003d!0)):function(t){if(void 0\u003d\u003d\u003dNi){var e\u003d!!t\u0026\u0026!0\u003d\u003d\u003dt.reserveScrollBarGap,n\u003dwindow.innerWidth-document.documentElement.clientWidth;if(e\u0026\u0026n\u003e0){var i\u003dparseInt(getComputedStyle(document.body).getPropertyValue(\"padding-right\"),10);Ni\u003ddocument.body.style.paddingRight,document.body.style.paddingRight\u003d\"\".concat(i+n,\"px\")}}void 0\u003d\u003d\u003dLi\u0026\u0026(Li\u003ddocument.body.style.overflow,document.body.style.overflow\u003d\"hidden\")}(e)}}else console.error(\"disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.\")}(t.$refs.vfmContainer,{reserveScrollBarGap:!0}):qi(t.$refs.vfmContainer)}))},getAttachElement:function(){return!1!\u003d\u003dthis.attach\u0026\u0026(\"string\"\u003d\u003dtypeof this.attach?!!window\u0026\u0026window.document.querySelector(this.attach):this.attach)},beforeOverlayEnter:function(){this.overlayTransitionState\u003dVi},afterOverlayEnter:function(){this.overlayTransitionState\u003dFi},beforeOverlayLeave:function(){this.overlayTransitionState\u003dQi},afterOverlayLeave:function(){this.overlayTransitionState\u003dUi},beforeModalEnter:function(){this.modalTransitionState\u003dVi},afterModalEnter:function(){this.modalTransitionState\u003dFi,(this.focusRetain||this.focusTrap)\u0026\u0026this.$refs.vfmContainer.focus(),this.focusTrap\u0026\u0026this.$focusTrap.enable(this.$refs.vfmContainer),this.drag\u0026\u0026this.addDragDown(),this.resize\u0026\u0026this.addResizeDown(),this.$emit(\"opened\",this.createModalEvent({type:\"opened\"})),this.resolveToggle(\"show\")},beforeModalLeave:function(){this.modalTransitionState\u003dQi,this.$focusTrap.enabled()\u0026\u0026this.$focusTrap.disable()},afterModalLeave:function(){this.modalTransitionState\u003dUi,this.modalStackIndex\u003dnull,this.lockScroll\u0026\u0026qi(this.$refs.vfmContainer),this.keepChangedStyle||(this.dragResizeStyle\u003d{});var t\u003d!1,e\u003dthis.createModalEvent({type:\"closed\",stop:function(){t\u003d!0}});this.$emit(\"closed\",e),this.resolveToggle(\"hide\"),t||(this.params\u003d{})},onMousedown:function(t){this.lastMousedownEl\u003dnull\u003d\u003dt?void 0:t.target},onMouseupContainer:function(){this.lastMousedownEl\u003d\u003d\u003dthis.$refs.vfmContainer\u0026\u0026\"resize:move\"!\u003d\u003dthis.state\u0026\u0026(this.$emit(\"click-outside\",this.createModalEvent({type:\"click-outside\"})),this.clickToClose\u0026\u0026this.$emit(\"input\",!1))},onEsc:function(){this.visible\u0026\u0026this.escToClose\u0026\u0026this.$emit(\"input\",!1)},createModalEvent:function(){var t\u003darguments.length\u003e0\u0026\u0026void 0!\u003d\u003darguments[0]?arguments[0]:{};return wi({ref:this},t)},emitEvent:function(t,e){var n\u003d!1,i\u003dthis.createModalEvent({type:t,stop:function(){n\u003d!0}});return this.$emit(t,i),!!n\u0026\u0026(this.stopEvent\u003d!0,this.$emit(\"input\",e),!0)},emitState:function(t,e,n){this.state\u003d\"\".concat(e,\":\").concat(n),this.$emit(this.state,t)},toggle:function(t,e){var n\u003darguments,i\u003dthis;return new Promise((function(o,r){i.resolveToggle\u003dfunction(t){o(t),i.resolveToggle\u003dWi},i.rejectToggle\u003dfunction(t){r(t),i.rejectToggle\u003dWi};var s\u003d\"boolean\"\u003d\u003dtypeof t?t:!i.value;s\u0026\u00262\u003d\u003d\u003dn.length\u0026\u0026(i.params\u003de),i.$emit(\"input\",s)}))},pointerDown:function(t){var e\u003dthis;t.stopPropagation();var n,i\u003d\"resize\",o\u003d\"drag\",r\u003dthis.$refs,s\u003dr.vfmContainer,a\u003dr.vfmContent,l\u003dt.target.getAttribute(\"direction\");if(l)n\u003di;else{if(!function(t,e,n){return\"\"\u003d\u003d\u003dn||bi(e.querySelectorAll(n)).includes(t.target)}(t,a,this.dragSelector))return;n\u003do}this.emitState(t,n,\"start\");var c,u,d,h,p\u003dCi(t),f\u003ds.getBoundingClientRect(),m\u003da.getBoundingClientRect(),v\u003d\"absolute\"\u003d\u003d\u003dwindow.getComputedStyle(a).position,g\u003dki(this.dragResizeStyle.top),y\u003dki(this.dragResizeStyle.left),w\u003dfunction(){if(e.fitParent){var t\u003d{absolute:function(){return{minTop:0,minLeft:0,maxTop:f.height-m.height,maxLeft:f.width-m.width}},relative:function(){return{minTop:g+f.top-m.top,minLeft:y+f.left-m.left,maxTop:g+f.bottom-m.bottom,maxLeft:y+f.right-m.right}}};return v?t.absolute():t.relative()}return{}}(),b\u003dn\u003d\u003d\u003di\u0026\u0026(c\u003ddocument.body,u\u003d\"cursor\",d\u003dKi[l],h\u003dc.style[u],c.style[u]\u003dd,function(){c.style[u]\u003dh}),_\u003dfunction(t){t.stopPropagation(),e.emitState(t,n,\"move\");var r,s,a\u003dCi(t),c\u003d{x:a.x-p.x,y:a.y-p.y};n\u003d\u003d\u003di\u0026\u0026(c\u003de.getResizeOffset(l,c,f,m,v)),v?(r\u003dm.top-f.top+c.y,s\u003dm.left-f.left+c.x):(r\u003dg+c.y,s\u003dy+c.x),n\u003d\u003d\u003do\u0026\u0026e.fitParent\u0026\u0026(r\u003d$i(w.minTop,r,w.maxTop),s\u003d$i(w.minLeft,s,w.maxLeft));var u\u003dwi(wi(wi({position:\"relative\",top:r+\"px\",left:s+\"px\",margin:\"unset\",touchAction:\"none\"},v\u0026\u0026{position:\"absolute\",transform:\"unset\",width:m.width+\"px\",height:m.height+\"px\"}),c.width\u0026\u0026{width:c.width+\"px\"}),c.height\u0026\u0026{height:c.height+\"px\"});e.dragResizeStyle\u003dwi(wi({},e.dragResizeStyle),u)};Ei(\"move\",document,_),Ei(\"up\",document,(function t(o){o.stopPropagation(),n\u003d\u003d\u003di\u0026\u0026b\u0026\u0026b(),setTimeout((function(){e.emitState(o,n,\"end\")})),Oi(\"move\",document,_),Oi(\"up\",document,t)}))},addDragDown:function(){Ei(\"down\",this.$refs.vfmContent,this.pointerDown),this.dragResizeStyle.touchAction\u003d\"none\"},removeDragDown:function(){Oi(\"down\",this.$refs.vfmContent,this.pointerDown)},addResizeDown:function(){var t\u003dthis;this.visibility.resize\u003d!0,this.$nextTick((function(){Ei(\"down\",t.$refs.vfmResize,t.pointerDown)}))},removeResizeDown:function(){Oi(\"down\",this.$refs.vfmResize,this.pointerDown),this.visibility.resize\u003d!1},getResizeOffset:function(t,e,n,i,o){var r\u003dthis,s\u003dfunction(t,e,o,s){var a,l\u003di[e],c\u003dn[t]-i[t],u\u003d(a\u003de).charAt(0).toUpperCase()+a.slice(1);return{axis:o,edgeName:e,min:s?c:-l,max:s?l:c,minEdge:r[\"min\".concat(u)],maxEdge:r[\"max\".concat(u)],getEdge:function(t){return i[e]-t*(s?1:-1)},getOffsetAxis:function(t,n){var o\u003di[e]-t;return n?s?o:0:(s?1:-1)*o/2}}},a\u003d{t:[\"top\",\"height\",\"y\",!0],b:[\"bottom\",\"height\",\"y\",!1],l:[\"left\",\"width\",\"x\",!0],r:[\"right\",\"width\",\"x\",!1]},l\u003d{x:0,y:0};return t.split(\"\").forEach((function(t){var n\u003ds.apply(void 0,bi(a[t]));l\u003dwi(wi({},l),function(t){var n,i\u003de[t.axis];i\u003dr.fitParent?$i(t.min,i,t.max):i;var s\u003d$i(t.minEdge,t.getEdge(i),t.maxEdge);return i\u003dt.getOffsetAxis(s,o),gi(n\u003d{},t.edgeName,s),gi(n,t.axis,i),n}(n))})),l}}},Zi\u003dfunction(t,e,n,i,o,r,s,a,l,c){\"boolean\"!\u003dtypeof s\u0026\u0026(l\u003da,a\u003ds,s\u003d!1);var u,d\u003d\"function\"\u003d\u003dtypeof n?n.options:n;if(t\u0026\u0026t.render\u0026\u0026(d.render\u003dt.render,d.staticRenderFns\u003dt.staticRenderFns,d._compiled\u003d!0,o\u0026\u0026(d.functional\u003d!0)),i\u0026\u0026(d._scopeId\u003di),r?(u\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),e\u0026\u0026e.call(this,l(t)),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(r)},d._ssrRegister\u003du):e\u0026\u0026(u\u003ds?function(t){e.call(this,c(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),u)if(d.functional){var h\u003dd.render;d.render\u003dfunction(t,e){return u.call(e),h(t,e)}}else{var p\u003dd.beforeCreate;d.beforeCreate\u003dp?[].concat(p,u):[u]}return n},Ji\u003d\"undefined\"!\u003dtypeof navigator\u0026\u0026/msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase()),to\u003d{},eo\u003dZi({render:function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.ssr||t.visible?n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.ssr||t.visible,expression:\"!ssr || visible\"}],staticClass:\"vfm vfm--inset\",class:[!1\u003d\u003d\u003dt.attach?\"vfm--fixed\":\"vfm--absolute\",{\"vfm--prevent-none\":t.preventClick}],style:t.bindStyle,on:{keydown:function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])?null:t.onEsc.apply(null,arguments)}}},[n(\"transition\",t._b({ref:\"vfmOverlayTransition\",on:{\"before-enter\":t.beforeOverlayEnter,\"after-enter\":t.afterOverlayEnter,\"before-leave\":t.beforeOverlayLeave,\"after-leave\":t.afterOverlayLeave}},\"transition\",t.computedOverlayTransition,!1),[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.hideOverlay\u0026\u0026t.visibility.overlay,expression:\"!hideOverlay \u0026\u0026 visibility.overlay\"}],staticClass:\"vfm__overlay vfm--overlay vfm--absolute vfm--inset\",class:t.overlayClass,style:t.overlayStyle})]),t._v(\" \"),n(\"transition\",t._b({ref:\"vfmTransition\",on:{\"before-enter\":t.beforeModalEnter,\"after-enter\":t.afterModalEnter,\"before-leave\":t.beforeModalLeave,\"after-leave\":t.afterModalLeave}},\"transition\",t.computedTransition,!1),[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibility.modal,expression:\"visibility.modal\"}],ref:\"vfmContainer\",staticClass:\"vfm__container vfm--absolute vfm--inset vfm--outline-none\",class:t.classes,style:t.styles,attrs:{\"aria-expanded\":t.visibility.modal.toString(),role:\"dialog\",\"aria-modal\":\"true\",tabindex:\"-1\"},on:{mouseup:function(e){return e.target!\u003d\u003de.currentTarget?null:t.onMouseupContainer.apply(null,arguments)},mousedown:function(e){return e.target!\u003d\u003de.currentTarget?null:t.onMousedown.apply(null,arguments)}}},[n(\"div\",{ref:\"vfmContent\",staticClass:\"vfm__content\",class:[t.contentClass,{\"vfm--prevent-auto\":t.preventClick}],style:t.bindContentStyle,on:{mousedown:function(e){return t.onMousedown(null)}}},[t._t(\"default\",null,{params:t.params,close:function(){return t.$emit(\"input\",!1)}}),t._v(\" \"),t.visibility.resize\u0026\u0026t.visibility.modal?n(\"div\",{ref:\"vfmResize\",staticClass:\"vfm__resize vfm--absolute vfm--inset vfm--prevent-none vfm--select-none vfm--touch-none\"},t._l(t.resizeDirections,(function(t){return n(\"div\",{key:t,staticClass:\"vfm--absolute vfm--prevent-auto\",class:\"vfm--resize-\"+t,attrs:{direction:t}})})),0):t._e()],2)])])],1):t._e()},staticRenderFns:[]},(function(t){t\u0026\u0026t(\"data-v-1cd72822_0\",{source:\".vfm--fixed[data-v-1cd72822]{position:fixed}.vfm--absolute[data-v-1cd72822]{position:absolute}.vfm--inset[data-v-1cd72822]{top:0;right:0;bottom:0;left:0}.vfm--overlay[data-v-1cd72822]{background-color:rgba(0,0,0,.5)}.vfm--prevent-none[data-v-1cd72822]{pointer-events:none}.vfm--prevent-auto[data-v-1cd72822]{pointer-events:auto}.vfm--outline-none[data-v-1cd72822]:focus{outline:0}.vfm-enter-active[data-v-1cd72822],.vfm-leave-active[data-v-1cd72822]{transition:opacity .2s}.vfm-enter[data-v-1cd72822],.vfm-leave-to[data-v-1cd72822]{opacity:0}.vfm--touch-none[data-v-1cd72822]{touch-action:none}.vfm--select-none[data-v-1cd72822]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vfm--resize-bl[data-v-1cd72822],.vfm--resize-br[data-v-1cd72822],.vfm--resize-tl[data-v-1cd72822],.vfm--resize-tr[data-v-1cd72822]{width:12px;height:12px;z-index:10}.vfm--resize-t[data-v-1cd72822]{top:-6px;left:0;width:100%;height:12px;cursor:ns-resize}.vfm--resize-tr[data-v-1cd72822]{top:-6px;right:-6px;cursor:nesw-resize}.vfm--resize-r[data-v-1cd72822]{top:0;right:-6px;width:12px;height:100%;cursor:ew-resize}.vfm--resize-br[data-v-1cd72822]{bottom:-6px;right:-6px;cursor:nwse-resize}.vfm--resize-b[data-v-1cd72822]{bottom:-6px;left:0;width:100%;height:12px;cursor:ns-resize}.vfm--resize-bl[data-v-1cd72822]{bottom:-6px;left:-6px;cursor:nesw-resize}.vfm--resize-l[data-v-1cd72822]{top:0;left:-6px;width:12px;height:100%;cursor:ew-resize}.vfm--resize-tl[data-v-1cd72822]{top:-6px;left:-6px;cursor:nwse-resize}\",map:void 0,media:void 0})}),Gi,\"data-v-1cd72822\",!1,void 0,!1,(function(t){return function(t,e){return function(t,e){var n\u003dJi?e.media||\"default\":t,i\u003dto[n]||(to[n]\u003d{ids:new Set,styles:[]});if(!i.ids.has(t)){i.ids.add(t);var o\u003de.source;if(e.map\u0026\u0026(o+\u003d\"\\n/*# sourceURL\u003d\"+e.map.sources[0]+\" */\",o+\u003d\"\\n/*# sourceMappingURL\u003ddata:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e.map))))+\" */\"),i.element||(i.element\u003ddocument.createElement(\"style\"),i.element.type\u003d\"text/css\",e.media\u0026\u0026i.element.setAttribute(\"media\",e.media),void 0\u003d\u003d\u003dAi\u0026\u0026(Ai\u003ddocument.head||document.getElementsByTagName(\"head\")[0]),Ai.appendChild(i.element)),\"styleSheet\"in i.element)i.styles.push(o),i.element.styleSheet.cssText\u003di.styles.filter(Boolean).join(\"\\n\");else{var r\u003di.ids.size-1,s\u003ddocument.createTextNode(o),a\u003di.element.childNodes;a[r]\u0026\u0026i.element.removeChild(a[r]),a.length?i.element.insertBefore(s,a[r]):i.element.appendChild(s)}}}(t,e)}}),void 0,void 0),no\u003dZi({render:function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{staticClass:\"modals-container\"},t._l(t.api.dynamicModals,(function(e,i){return n(e.component,t._g(t._b({key:e.id,tag:\"component\",on:{closed:function(e){return t.slice(i)},\"before-open\":function(n){return t.beforeOpen(n,e,i)},opened:e.opened},scopedSlots:t._u([t._l(e.slots,(function(e,i){return{key:i,fn:function(){return[t.isString(e)?n(\"div\",{key:i,domProps:{innerHTML:t._s(e)}}):n(e.component,t._g(t._b({key:i,tag:\"component\"},\"component\",e.bind,!1),e.on))]},proxy:!0}}))],null,!0),model:{value:e.value,callback:function(n){t.$set(e,\"value\",n)},expression:\"modal.value\"}},\"component\",e.bind,!1),e.on))})),1)},staticRenderFns:[]},void 0,{props:{},methods:{slice:function(t){this.api.dynamicModals.splice(t,1)},beforeOpen:function(t,e,n){var i\u003dthis;t.ref.params\u003de.params,this.$nextTick((function(){e.value||(i.slice(n),e.reject(\"show\"))}))},isString:function(t){return\"string\"\u003d\u003dtypeof t}}},void 0,!1,void 0,!1,void 0,void 0,void 0);function io(t,e){var n\u003dwi(wi({},t),{},{props:wi({},t.props)});return Object.assign(n.props,{api:{type:Object,default:function(){return e}}}),n}var oo\u003d0,ro\u003dfunction(){var t,e,n\u003d(e\u003dnull,et().observable({show:function(t){for(var n\u003dthis,i\u003darguments.length,o\u003dnew Array(i\u003e1?i-1:0),r\u003d1;r\u003ci;r++)o[r-1]\u003darguments[r];switch(mi(t)){case\"string\":return this.toggle.apply(this,[t,!0].concat(o));case\"object\":return Promise.allSettled([new Promise((function(i,r){var s\u003d{value:!0,id:Symbol(\"dynamicModal\"),component:e,bind:{},slots:{},on:{},params:o[0],reject:r,opened:function(){i(\"show\")}};n.dynamicModals.push(Object.assign(s,t))}))])}},hide:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return this.toggle(e,!1)},hideAll:function(){return this.hide.apply(this,bi(this.openedModals.map((function(t){return t.name}))))},toggle:function(t){for(var e\u003darguments.length,n\u003dnew Array(e\u003e1?e-1:0),i\u003d1;i\u003ce;i++)n[i-1]\u003darguments[i];var o\u003dArray.isArray(t)?this.get.apply(this,bi(t)):this.get(t);return Promise.allSettled(o.map((function(t){return t.toggle.apply(t,n)})))},get:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return this.modals.filter((function(t){return e.includes(t.name)}))},dynamicModals:[],openedModals:[],modals:[],_setDefaultModal:function(t){e\u003dt}}));return gi(t\u003d{},\"$vfm\",n),gi(t,\"VueFinalModal\",function(t){var e\u003dio(eo,t);return t._setDefaultModal(e),e}(n)),gi(t,\"ModalsContainer\",io(no,n)),t},so\u003dro(),ao\u003dso.$vfm,lo\u003dso.VueFinalModal,co\u003d(so.ModalsContainer,function(t){var e\u003darguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1]?arguments[1]:{},n\u003d0\u003d\u003d\u003doo?so:ro(),i\u003dn.$vfm,o\u003dn.VueFinalModal,r\u003dn.ModalsContainer;oo+\u003d1;var s\u003de.key||\"$vfm\",a\u003de.componentName||\"VueFinalModal\",l\u003de.dynamicContainerName||\"ModalsContainer\";t.prototype[s]\u003di,t.component(a,o),t.component(l,r)}),uo\u003dfunction(t){return{install:function(e,n){var i\u003dObject.assign({},t,n);co(e,i)}}};uo.install\u003dco;const ho\u003dqe({name:\"Trigger\",components:{PortalTarget:fi.YC},props:{for:{type:String,default:\"\"},trigger:{type:String,default:\"hover focus\"},placement:{type:String,default:\"top\"}},data:function(){return{popoverOrTooltipType:void 0,isInput:!1}},methods:{toggle:function(){this.for\u0026\u0026ao.show(this.for)}},computed:{triggerEventType:function(){return\"click\"\u003d\u003d\u003dthis.trigger||\"focus\"\u003d\u003d\u003dthis.trigger?this.trigger:\"mouseenter\"},triggers:function(){return this.trigger.split(\" \")},target:function(){return this.for}},mounted:function(){if(this.isInput\u003dthis.$slots.default\u0026\u0026this.$slots.default.some((function(t){return\"input\"\u003d\u003d\u003dt.tag})),this.for\u0026\u0026void 0\u003d\u003d\u003dthis.popoverOrTooltipType){var t\u003ddocument.getElementById(this.for);if(!t)return;this.popoverOrTooltipType\u003dt.dataset.mbComponentType}}},pi,[],!1,null,null,null).exports;var po\u003dfunction(){var t\u003dthis.$createElement;return(this._self._c||t)(\"div\",{staticClass:\"site-nav-root\"},[this._t(\"default\")],2)};po._withStripped\u003d!0;const fo\u003dqe({name:\"SiteNav\",mounted:function(){var t\u003dthis,e\u003dSn(new URL(window.location.href).pathname);this.$el.querySelectorAll(\"a[href]\").forEach((function(n){var i\u003dSn(n.getAttribute(\"href\"));if(e\u003d\u003d\u003di){n.classList.add(\"current\");for(var o\u003dn.parentElement;o\u0026\u0026o!\u003d\u003dt.$el;)\"ul\"\u003d\u003d\u003do.tagName.toLowerCase()\u0026\u0026o.classList.contains(\"site-nav-dropdown-container\")\u0026\u0026o.classList.add(\"site-nav-dropdown-container-open\"),o\u003do.parentElement}}))}},po,[],!1,null,null,null).exports;var mo\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[n(\"span\",{class:[{\"nav-menu-close-icon\":t.show}],on:{click:function(e){return t.toggleNavMenu(void 0)}}},[t._t(\"navMenuIcon\")],2),t._v(\" \"),n(\"div\",{ref:\"navMenuContainer\",class:[\"nav-menu\",{\"nav-menu-open\":t.show}],style:t.navbarHeight,on:{click:t.toggleNavMenu}},[n(\"portal-target\",{attrs:{name:t.portalName,multiple:\"\"}})],1)])};mo._withStripped\u003d!0;var vo\u003d{};const go\u003dqe({components:{PortalTarget:fi.YC},props:{type:{type:String,default:null},portalName:{type:String,default:null}},inject:{toggleLowerNavbar:{default:void 0}},data:function(){return{show:!1,navbarHeight:\"\"}},methods:{toggleNavMenu:function(t){var e,n\u003dthis;t\u0026\u0026\"a\"\u003d\u003d\u003dt.target.tagName.toLowerCase()||!t\u0026\u0026this.show?(document.body.style.removeProperty(\"overflow\"),this.show\u003d!1):(vo[e\u003d\"closeOverlay\"]\u0026\u0026vo[e].forEach((function(t){return t()})),document.body.style.overflow\u003d\"hidden\",this.show\u003d!0,this.$nextTick((function(){var t\u003dn.$refs.navMenuContainer,e\u003dwindow.innerHeight-t.getBoundingClientRect().top;n.navbarHeight\u003d\"height: \".concat(e,\"px\")})))}},mounted:function(){var t,e,n\u003dthis;this.toggleLowerNavbar\u0026\u0026this.toggleLowerNavbar(),e\u003dfunction(){n.show\u003d!1},vo[t\u003d\"closeOverlay\"]||(vo[t]\u003d[]),vo[t].push(e)}},mo,[],!1,null,\"1a3e7aee\",null).exports;var yo\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(t.tagName,t._b({tag:\"component\"},\"component\",t.$attrs,!1),[t._t(\"default\"),t._v(\" \"),t.enablePortal?n(\"portal\",{attrs:{to:t.to}},[n(t.tagName,t._b({tag:\"component\",class:[t.$vnode.data.staticClass||\"\",\"mb-mobile-nav\"],style:t.$vnode.data.staticStyle},\"component\",t.$attrs,!1),[t._t(\"default\")],2)],1):t._e()],2)};yo._withStripped\u003d!0;const wo\u003dqe({name:\"OverlaySource\",components:{Portal:fi.h_},props:{to:{type:String,default:void 0},tagName:{type:String,default:void 0}},data:function(){return{enablePortal:!1}},mounted:function(){this.enablePortal\u003d!0}},yo,[],!1,null,\"e6005420\",null).exports;var bo\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:\"click\"\u003d\u003d\u003dt.trigger?\"trigger-click\":\"trigger\",attrs:{\"data-mb-component-type\":\"popover\",tabindex:\"0\"}},[t.targetEl.id?n(\"portal\",{attrs:{to:\"popover:\"+t.targetEl.id}},[t.hasHeader?n(\"h3\",{staticClass:\"popover-header\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"popover-body\"},[t._t(\"content\")],2)]):t._e(),t._v(\" \"),t.isMounted?n(\"v-popover\",{attrs:{\"auto-hide\":!t.isInput,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,placement:t.placement,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[n(\"div\",{staticClass:\"popover-container\"},[t.hasHeader?n(\"h3\",{staticClass:\"popover-header\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"popover-body\"},[t._t(\"content\")],2)])]},proxy:!0}],null,!0)},[t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):t._e()],1)};bo._withStripped\u003d!0;const _o\u003dqe({name:\"Popover\",components:{Portal:fi.h_},props:{trigger:{type:String,default:\"hover focus\"},placement:{type:String,default:\"top\"}},data:function(){return{targetEl:{},isMounted:!1}},computed:{triggers:function(){return this.trigger.split(\" \")},hasHeader:function(){return!!this.$slots.header}},mounted:function(){this.targetEl\u003dthis.$el,this.isInput\u003dthis.$slots.default\u0026\u0026this.$slots.default.some((function(t){return\"input\"\u003d\u003d\u003dt.tag})),this.isMounted\u003d!0}},bo,[],!1,null,null,null).exports;var So\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:\"click\"\u003d\u003d\u003dt.trigger?\"trigger-click\":\"trigger\",attrs:{\"data-mb-component-type\":\"tooltip\",tabindex:\"0\"}},[t.targetEl.id?n(\"portal\",{attrs:{to:\"tooltip:\"+t.targetEl.id}},[t._t(\"content\")],2):t._e(),t._v(\" \"),t.isMounted?n(\"v-tooltip\",{attrs:{\"auto-hide\":!t.isInput,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,placement:t.placement,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[t._t(\"content\")]},proxy:!0}],null,!0)},[t._v(\" \"),t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):t._e()],1)};So._withStripped\u003d!0;const xo\u003dqe({name:\"Tooltip\",components:{Portal:fi.h_},props:{trigger:{type:String,default:\"hover focus\"},placement:{type:String,default:\"top\"}},data:function(){return{targetEl:{},isInput:!1,isMounted:!1}},computed:{triggers:function(){return this.trigger.split(\" \")}},mounted:function(){this.targetEl\u003dthis.$el,this.isInput\u003dthis.$slots.default\u0026\u0026this.$slots.default.some((function(t){return\"input\"\u003d\u003d\u003dt.tag})),this.isMounted\u003d!0}},So,[],!1,null,null,null).exports;var Co\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.isMounted?n(\"vue-final-modal\",{attrs:{ssr:\"\",name:t.id,classes:[\"modal\"],\"content-class\":[\"modal-dialog\",\"modal-dialog-scrollable\",t.optionalModalSize,t.optionalCentering],\"overlay-transition\":\"none\",transition:t.effectClass,\"click-to-close\":\"false\"!\u003d\u003dt.backdrop,\"esc-to-close\":\"\",\"z-index-base\":\"2000\"},model:{value:t.show,callback:function(e){t.show\u003de},expression:\"show\"}},[n(\"div\",{staticClass:\"modal-content\"},[t.hasHeader?n(\"div\",{staticClass:\"modal-header\"},[n(\"h5\",{staticClass:\"modal-title\"},[t._t(\"header\")],2),t._v(\" \"),n(\"button\",{staticClass:\"btn-close\",attrs:{type:\"button\",\"aria-label\":\"Close\"},on:{click:function(e){return t.close()}}})]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"modal-body\"},[t._t(\"default\")],2),t._v(\" \"),t.hasFooter||t.hasOk?n(\"div\",{staticClass:\"modal-footer\"},[t.hasFooter?t._t(\"footer\"):n(\"button\",{staticClass:\"btn btn-primary\",on:{click:function(e){return t.close()}}},[t._v(\"\\n \"+t._s(t.okText)+\"\\n \")])],2):t._e()])]):t._e()};Co._withStripped\u003d!0;const $o\u003dqe({name:\"Modal\",components:{VueFinalModal:lo},data:function(){return{show:!1,isMounted:!1,zoomEffect:{\"enter-class\":\"modal-zoom\",\"enter-to-class\":\"modal-zoom-show\",\"leave-to-class\":\"modal-zoom\",\"leave-class\":\"modal-zoom-show\"}}},props:{okText:{type:String,default:\"\"},effect:{type:String,default:\"zoom\"},id:{type:String,default:\"\"},small:{type:Boolean,default:!1},large:{type:Boolean,default:!1},center:{type:Boolean,default:!1},backdrop:{type:String,default:\"\"}},computed:{hasHeader:function(){return!!this.$slots.header},hasFooter:function(){return!!this.$slots.footer},hasOk:function(){return\"\"!\u003d\u003dthis.okText},optionalModalSize:function(){return this.small||this.large?this.small?\"modal-sm\":\"modal-lg\":\"\"},optionalCentering:function(){return this.center?\"modal-dialog-centered\":\"\"},effectClass:function(){return\"zoom\"\u003d\u003d\u003dthis.effect?this.zoomEffect:\"vfm\"}},methods:{close:function(){this.show\u003d!1}},mounted:function(){this.isMounted\u003d!0}},Co,[],!1,null,null,null).exports;var ko\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"scroll-top-button\",t.getIconSize(),\"d-print-none\",{lighten:t.$data.isLighten}],style:t.iconStyle(),attrs:{\"aria-hidden\":\"true\"},on:{click:function(e){return t.handleScrollTop()}}},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas fa-arrow-circle-up\"]})]}))],2)};ko._withStripped\u003d!0;var To\u003d{box:We,breadcrumb:Ve,dropdown:gn,navbar:Tn,panel:Rn,annotate:In,aPoint:Wn,pic:Vn,quiz:Qn,question:Gn,qOption:Jn,retriever:zn,searchbar:oi,tab:si,tabGroup:li,tabs:ui,thumbnail:hi,trigger:ho,siteNav:fo,submenu:vn,siteNavButton:Cn,pageNavButton:kn,overlay:go,overlaySource:wo,popover:_o,tooltip:xo,modal:$o,VPopover:Ne,VTooltip:Ae,scrollTopButton:qe({name:\"ScrollTopButton\",props:{icon:{type:String,default:null},iconSize:{type:String,default:\"lg\"},iconColor:{type:String,default:null},bottom:{type:String,default:null},right:{type:String,default:null}},data:function(){return{isVisible:!1,isLighten:!1,timers:{showOrHideButtonTimer:0,lightenButtonTimer:0}}},methods:{initScrollTopButton:function(){window.addEventListener(\"scroll\",this.promptScrollTopButton)},destroyScrollTopButton:function(){window.removeEventListener(\"scroll\",this.promptScrollTopButton)},promptScrollTopButton:function(){this.resetScrollTopButton(),this.showOrHideScrollTopButton()},resetScrollTopButton:function(){clearTimeout(this.timers.showOrHideButtonTimer),clearTimeout(this.timers.lightenButtonTimer),this.isLighten\u003d!1},showOrHideScrollTopButton:function(){var t\u003dthis;this.timers.showOrHideButtonTimer\u003dsetTimeout((function(){document.body.scrollTop\u003e20||document.documentElement.scrollTop\u003e20?(t.isVisible\u003d!0,t.lightenScrollTopButton()):t.isVisible\u003d!1}),100)},lightenScrollTopButton:function(){var t\u003dthis;this.timers.lightenButtonTimer\u003dsetTimeout((function(){t.isLighten||(t.isLighten\u003d!0)}),1e3)},iconStyle:function(){var t\u003d{};return t.display\u003dthis.isVisible?\"block\":\"none\",this.iconColor\u0026\u0026(t.color\u003dthis.iconColor),t.bottom\u003dthis.bottom?this.bottom:\"2%\",t.right\u003dthis.right?this.right:\"2%\",t.position\u003d\"fixed\",t},handleScrollTop:function(){document.body.scrollIntoView({block:\"start\",behavior:\"smooth\"})},getIconSize:function(){return this.iconSize?\"fa-\".concat(this.iconSize):\"\"}},mounted:function(){this.initScrollTopButton()},beforeDestroy:function(){this.destroyScrollTopButton()}},ko,[],!1,null,null,null).exports},Eo\u003d{closeable:Qe()};const Oo\u003d{MarkBindVue:{plugin:{install:function(t){Object.keys(Eo).forEach((function(e){t.directive(e,Eo[e])})),Object.keys(To).forEach((function(e){t.component(e,To[e])}))}},components:To,directives:Eo},appFactory:function(){return{data:function(){return{searchData:[]}},methods:{searchCallback:function(t){var e\u003d\"\".concat(baseUrl,\"/\").concat(t.src.replace(/.md$/,\".html\")),n\u003dt.heading?\"#\".concat(t.heading.id):\"\";window.location\u003d\"\".concat(e).concat(n)}}}}};i(605);function Bo(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function Po(t){for(var e\u003d1;e\u003carguments.length;e++){var i\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?Bo(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):Bo(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}var Lo\u003dOo.MarkBindVue,No\u003dOo.appFactory;function Ao(){var t\u003ddocument.querySelector(\"header[sticky]\");if(null!\u003d\u003dt){var e\u003da(),n\u003d!1;t.addEventListener(\"transitionend\",(function(){n||(t.style.overflow\u003d\"\")})),new ResizeObserver((function(){e\u003da(),document.documentElement.style.setProperty(\"--sticky-header-height\",\"\".concat(e,\"px\")),window.innerWidth\u003e767\u0026\u0026n\u0026\u0026l()})).observe(t);var i,o\u003d0,r\u003dwindow.location.hash,s\u003dfunction(){if(!(window.innerWidth\u003e767)){if(r!\u003d\u003dwindow.location.hash)return r\u003dwindow.location.hash,void l();r\u003dwindow.location.hash;var i\u003dwindow.pageYOffset;if(!(window.innerHeight+i\u003e\u003ddocument.body.offsetHeight)){if(i\u003eo){t.style.position\u003d\"static\";var s\u003dt.getBoundingClientRect().top+e;if(t.style.position\u003d\"sticky\",s\u003e0)return;n\u003d!0,t.style.overflow\u003d\"hidden\",t.classList.add(\"hide-header\")}else l();o\u003di}}};window.addEventListener(\"scroll\",(function(){i\u0026\u0026clearTimeout(i),i\u003dsetTimeout(s,20)}))}function a(){var e\u003dwindow.getComputedStyle(t,null);return t.clientHeight-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom)}function l(){n\u003d!1,t.classList.remove(\"hide-header\")}}function zo(){document.querySelectorAll(\"script[style-bypass-vue-compilation]\").forEach((function(t){var e\u003ddocument.createElement(\"style\");e.innerHTML\u003dt.innerHTML,t.parentNode.replaceChild(e,t)})),Ao()}Vue.use(Lo.plugin),window.onload\u003dfunction(){if(window.location.hash){var t\u003ddocument.getElementById(window.location.hash.slice(1));t\u0026\u0026t.scrollIntoView({behavior:\"smooth\",block:\"start\",inline:\"nearest\"})}},window.handleSiteNavClick\u003dfunction(t){var e\u003d!(arguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1])||arguments[1];if(e){var n\u003dt.getElementsByTagName(\"a\");if(n.length)return void(window.location.href\u003dn[0].href)}var i\u003dt.nextElementSibling,o\u003dt.lastElementChild.lastElementChild;i.classList.toggle(\"site-nav-dropdown-container-open\"),o.classList.toggle(\"site-nav-rotate-icon\")};const Mo\u003d{setup:function(){new Vue(Po(Po({render:function(t){return pageVueRenderFn.call(this,t)},staticRenderFns:pageVueStaticRenderFns},No()),{},{mounted:function(){zo()}})).$mount(\"#app\",!0)},setupWithSearch:function(){new Vue(Po(Po({render:function(t){return pageVueRenderFn.call(this,t)},staticRenderFns:pageVueStaticRenderFns},No()),{},{mounted:function(){zo(),function(t){fetch(\"\".concat(baseUrl,\"/siteData.json\")).then((function(t){return t.json()})).then((function(e){t.searchData\u003de.pages}))}(this)}})).$mount(\"#app\",!0)}}})(),o\u003do.default})());"}],"authorContributionMap":{"KevinEyo1":1}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/js/polyfill.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"!function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var c\u003d\"function\"\u003d\u003dtypeof require\u0026\u0026require;if(!u\u0026\u0026c)return c(o,!0);if(i)return i(o,!0);var a\u003dnew Error(\"Cannot find module \u0027\"+o+\"\u0027\");throw a.code\u003d\"MODULE_NOT_FOUND\",a}var f\u003dn[o]\u003d{exports:{}};t[o][0].call(f.exports,function(n){var r\u003dt[o][1][n];return s(r||n)},f,f.exports,e,t,n,r)}return n[o].exports}for(var i\u003d\"function\"\u003d\u003dtypeof require\u0026\u0026require,o\u003d0;o\u003cr.length;o++)s(r[o]);return s}({1:[function(t,n,r){(function(n){\"use strict\";function define(t,n,e){t[n]||Object[r](t,n,{writable:!0,configurable:!0,value:e})}if(t(327),t(328),t(2),n._babelPolyfill)throw new Error(\"only one instance of babel-polyfill is allowed\");n._babelPolyfill\u003d!0;var r\u003d\"defineProperty\";define(String.prototype,\"padLeft\",\"\".padStart),define(String.prototype,\"padRight\",\"\".padEnd),\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function(t){[][t]\u0026\u0026define(Array,t,Function.call.bind([][t]))})}).call(this,\"undefined\"!\u003dtypeof global?global:\"undefined\"!\u003dtypeof self?self:\"undefined\"!\u003dtypeof window?window:{})},{2:2,327:327,328:328}],2:[function(t,n,r){t(130),n.exports\u003dt(23).RegExp.escape},{130:130,23:23}],3:[function(t,n,r){n.exports\u003dfunction(t){if(\"function\"!\u003dtypeof t)throw TypeError(t+\" is not a function!\");return t}},{}],4:[function(t,n,r){var e\u003dt(18);n.exports\u003dfunction(t,n){if(\"number\"!\u003dtypeof t\u0026\u0026\"Number\"!\u003de(t))throw TypeError(n);return+t}},{18:18}],5:[function(t,n,r){var e\u003dt(128)(\"unscopables\"),i\u003dArray.prototype;void 0\u003d\u003di[e]\u0026\u0026t(42)(i,e,{}),n.exports\u003dfunction(t){i[e][t]\u003d!0}},{128:128,42:42}],6:[function(t,n,r){n.exports\u003dfunction(t,n,r,e){if(!(t instanceof n)||void 0!\u003d\u003de\u0026\u0026e in t)throw TypeError(r+\": incorrect invocation!\");return t}},{}],7:[function(t,n,r){var e\u003dt(51);n.exports\u003dfunction(t){if(!e(t))throw TypeError(t+\" is not an object!\");return t}},{51:51}],8:[function(t,n,r){\"use strict\";var e\u003dt(119),i\u003dt(114),o\u003dt(118);n.exports\u003d[].copyWithin||function copyWithin(t,n){var r\u003de(this),u\u003do(r.length),c\u003di(t,u),a\u003di(n,u),f\u003darguments.length\u003e2?arguments[2]:void 0,s\u003dMath.min((void 0\u003d\u003d\u003df?u:i(f,u))-a,u-c),l\u003d1;for(a\u003cc\u0026\u0026c\u003ca+s\u0026\u0026(l\u003d-1,a+\u003ds-1,c+\u003ds-1);s-- \u003e0;)a in r?r[c]\u003dr[a]:delete r[c],c+\u003dl,a+\u003dl;return r}},{114:114,118:118,119:119}],9:[function(t,n,r){\"use strict\";var e\u003dt(119),i\u003dt(114),o\u003dt(118);n.exports\u003dfunction fill(t){for(var n\u003de(this),r\u003do(n.length),u\u003darguments.length,c\u003di(u\u003e1?arguments[1]:void 0,r),a\u003du\u003e2?arguments[2]:void 0,f\u003dvoid 0\u003d\u003d\u003da?r:i(a,r);f\u003ec;)n[c++]\u003dt;return n}},{114:114,118:118,119:119}],10:[function(t,n,r){var e\u003dt(39);n.exports\u003dfunction(t,n){var r\u003d[];return e(t,!1,r.push,r,n),r}},{39:39}],11:[function(t,n,r){var e\u003dt(117),i\u003dt(118),o\u003dt(114);n.exports\u003dfunction(t){return function(n,r,u){var c,a\u003de(n),f\u003di(a.length),s\u003do(u,f);if(t\u0026\u0026r!\u003dr){for(;f\u003es;)if((c\u003da[s++])!\u003dc)return!0}else for(;f\u003es;s++)if((t||s in a)\u0026\u0026a[s]\u003d\u003d\u003dr)return t||s||0;return!t\u0026\u0026-1}}},{114:114,117:117,118:118}],12:[function(t,n,r){var e\u003dt(25),i\u003dt(47),o\u003dt(119),u\u003dt(118),c\u003dt(15);n.exports\u003dfunction(t,n){var r\u003d1\u003d\u003dt,a\u003d2\u003d\u003dt,f\u003d3\u003d\u003dt,s\u003d4\u003d\u003dt,l\u003d6\u003d\u003dt,h\u003d5\u003d\u003dt||l,v\u003dn||c;return function(n,c,p){for(var d,y,g\u003do(n),m\u003di(g),b\u003de(c,p,3),x\u003du(m.length),S\u003d0,w\u003dr?v(n,x):a?v(n,0):void 0;x\u003eS;S++)if((h||S in m)\u0026\u0026(d\u003dm[S],y\u003db(d,S,g),t))if(r)w[S]\u003dy;else if(y)switch(t){case 3:return!0;case 5:return d;case 6:return S;case 2:w.push(d)}else if(s)return!1;return l?-1:f||s?s:w}}},{118:118,119:119,15:15,25:25,47:47}],13:[function(t,n,r){var e\u003dt(3),i\u003dt(119),o\u003dt(47),u\u003dt(118);n.exports\u003dfunction(t,n,r,c,a){e(n);var f\u003di(t),s\u003do(f),l\u003du(f.length),h\u003da?l-1:0,v\u003da?-1:1;if(r\u003c2)for(;;){if(h in s){c\u003ds[h],h+\u003dv;break}if(h+\u003dv,a?h\u003c0:l\u003c\u003dh)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?h\u003e\u003d0:l\u003eh;h+\u003dv)h in s\u0026\u0026(c\u003dn(c,s[h],h,f));return c}},{118:118,119:119,3:3,47:47}],14:[function(t,n,r){var e\u003dt(51),i\u003dt(49),o\u003dt(128)(\"species\");n.exports\u003dfunction(t){var n;return i(t)\u0026\u0026(n\u003dt.constructor,\"function\"!\u003dtypeof n||n!\u003d\u003dArray\u0026\u0026!i(n.prototype)||(n\u003dvoid 0),e(n)\u0026\u0026null\u003d\u003d\u003d(n\u003dn[o])\u0026\u0026(n\u003dvoid 0)),void 0\u003d\u003d\u003dn?Array:n}},{128:128,49:49,51:51}],15:[function(t,n,r){var e\u003dt(14);n.exports\u003dfunction(t,n){return new(e(t))(n)}},{14:14}],16:[function(t,n,r){\"use strict\";var e\u003dt(3),i\u003dt(51),o\u003dt(46),u\u003d[].slice,c\u003d{},a\u003dfunction(t,n,r){if(!(n in c)){for(var e\u003d[],i\u003d0;i\u003cn;i++)e[i]\u003d\"a[\"+i+\"]\";c[n]\u003dFunction(\"F,a\",\"return new F(\"+e.join(\",\")+\")\")}return c[n](t,r)};n.exports\u003dFunction.bind||function bind(t){var n\u003de(this),r\u003du.call(arguments,1),c\u003dfunction(){var e\u003dr.concat(u.call(arguments));return this instanceof c?a(n,e.length,e):o(n,e,t)};return i(n.prototype)\u0026\u0026(c.prototype\u003dn.prototype),c}},{3:3,46:46,51:51}],17:[function(t,n,r){var e\u003dt(18),i\u003dt(128)(\"toStringTag\"),o\u003d\"Arguments\"\u003d\u003de(function(){return arguments}()),u\u003dfunction(t,n){try{return t[n]}catch(t){}};n.exports\u003dfunction(t){var n,r,c;return void 0\u003d\u003d\u003dt?\"Undefined\":null\u003d\u003d\u003dt?\"Null\":\"string\"\u003d\u003dtypeof(r\u003du(n\u003dObject(t),i))?r:o?e(n):\"Object\"\u003d\u003d(c\u003de(n))\u0026\u0026\"function\"\u003d\u003dtypeof n.callee?\"Arguments\":c}},{128:128,18:18}],18:[function(t,n,r){var e\u003d{}.toString;n.exports\u003dfunction(t){return e.call(t).slice(8,-1)}},{}],19:[function(t,n,r){\"use strict\";var e\u003dt(72).f,i\u003dt(71),o\u003dt(93),u\u003dt(25),c\u003dt(6),a\u003dt(39),f\u003dt(55),s\u003dt(57),l\u003dt(100),h\u003dt(29),v\u003dt(66).fastKey,p\u003dt(125),d\u003dh?\"_s\":\"size\",y\u003dfunction(t,n){var r,e\u003dv(n);if(\"F\"!\u003d\u003de)return t._i[e];for(r\u003dt._f;r;r\u003dr.n)if(r.k\u003d\u003dn)return r};n.exports\u003d{getConstructor:function(t,n,r,f){var s\u003dt(function(t,e){c(t,s,n,\"_i\"),t._t\u003dn,t._i\u003di(null),t._f\u003dvoid 0,t._l\u003dvoid 0,t[d]\u003d0,void 0!\u003de\u0026\u0026a(e,r,t[f],t)});return o(s.prototype,{clear:function clear(){for(var t\u003dp(this,n),r\u003dt._i,e\u003dt._f;e;e\u003de.n)e.r\u003d!0,e.p\u0026\u0026(e.p\u003de.p.n\u003dvoid 0),delete r[e.i];t._f\u003dt._l\u003dvoid 0,t[d]\u003d0},delete:function(t){var r\u003dp(this,n),e\u003dy(r,t);if(e){var i\u003de.n,o\u003de.p;delete r._i[e.i],e.r\u003d!0,o\u0026\u0026(o.n\u003di),i\u0026\u0026(i.p\u003do),r._f\u003d\u003de\u0026\u0026(r._f\u003di),r._l\u003d\u003de\u0026\u0026(r._l\u003do),r[d]--}return!!e},forEach:function forEach(t){p(this,n);for(var r,e\u003du(t,arguments.length\u003e1?arguments[1]:void 0,3);r\u003dr?r.n:this._f;)for(e(r.v,r.k,this);r\u0026\u0026r.r;)r\u003dr.p},has:function has(t){return!!y(p(this,n),t)}}),h\u0026\u0026e(s.prototype,\"size\",{get:function(){return p(this,n)[d]}}),s},def:function(t,n,r){var e,i,o\u003dy(t,n);return o?o.v\u003dr:(t._l\u003do\u003d{i:i\u003dv(n,!0),k:n,v:r,p:e\u003dt._l,n:void 0,r:!1},t._f||(t._f\u003do),e\u0026\u0026(e.n\u003do),t[d]++,\"F\"!\u003d\u003di\u0026\u0026(t._i[i]\u003do)),t},getEntry:y,setStrong:function(t,n,r){f(t,n,function(t,r){this._t\u003dp(t,n),this._k\u003dr,this._l\u003dvoid 0},function(){for(var t\u003dthis,n\u003dt._k,r\u003dt._l;r\u0026\u0026r.r;)r\u003dr.p;return t._t\u0026\u0026(t._l\u003dr\u003dr?r.n:t._t._f)?\"keys\"\u003d\u003dn?s(0,r.k):\"values\"\u003d\u003dn?s(0,r.v):s(0,[r.k,r.v]):(t._t\u003dvoid 0,s(1))},r?\"entries\":\"values\",!r,!0),l(n)}}},{100:100,125:125,25:25,29:29,39:39,55:55,57:57,6:6,66:66,71:71,72:72,93:93}],20:[function(t,n,r){var e\u003dt(17),i\u003dt(10);n.exports\u003dfunction(t){return function toJSON(){if(e(this)!\u003dt)throw TypeError(t+\"#toJSON isn\u0027t generic\");return i(this)}}},{10:10,17:17}],21:[function(t,n,r){\"use strict\";var e\u003dt(93),i\u003dt(66).getWeak,o\u003dt(7),u\u003dt(51),c\u003dt(6),a\u003dt(39),f\u003dt(12),s\u003dt(41),l\u003dt(125),h\u003df(5),v\u003df(6),p\u003d0,d\u003dfunction(t){return t._l||(t._l\u003dnew y)},y\u003dfunction(){this.a\u003d[]},g\u003dfunction(t,n){return h(t.a,function(t){return t[0]\u003d\u003d\u003dn})};y.prototype\u003d{get:function(t){var n\u003dg(this,t);if(n)return n[1]},has:function(t){return!!g(this,t)},set:function(t,n){var r\u003dg(this,t);r?r[1]\u003dn:this.a.push([t,n])},delete:function(t){var n\u003dv(this.a,function(n){return n[0]\u003d\u003d\u003dt});return~n\u0026\u0026this.a.splice(n,1),!!~n}},n.exports\u003d{getConstructor:function(t,n,r,o){var f\u003dt(function(t,e){c(t,f,n,\"_i\"),t._t\u003dn,t._i\u003dp++,t._l\u003dvoid 0,void 0!\u003de\u0026\u0026a(e,r,t[o],t)});return e(f.prototype,{delete:function(t){if(!u(t))return!1;var r\u003di(t);return!0\u003d\u003d\u003dr?d(l(this,n)).delete(t):r\u0026\u0026s(r,this._i)\u0026\u0026delete r[this._i]},has:function has(t){if(!u(t))return!1;var r\u003di(t);return!0\u003d\u003d\u003dr?d(l(this,n)).has(t):r\u0026\u0026s(r,this._i)}}),f},def:function(t,n,r){var e\u003di(o(n),!0);return!0\u003d\u003d\u003de?d(t).set(n,r):e[t._i]\u003dr,t},ufstore:d}},{12:12,125:125,39:39,41:41,51:51,6:6,66:66,7:7,93:93}],22:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(33),o\u003dt(94),u\u003dt(93),c\u003dt(66),a\u003dt(39),f\u003dt(6),s\u003dt(51),l\u003dt(35),h\u003dt(56),v\u003dt(101),p\u003dt(45);n.exports\u003dfunction(t,n,r,d,y,g){var m\u003de[t],b\u003dm,x\u003dy?\"set\":\"add\",S\u003db\u0026\u0026b.prototype,w\u003d{},_\u003dfunction(t){var n\u003dS[t];o(S,t,\"delete\"\u003d\u003dt?function(t){return!(g\u0026\u0026!s(t))\u0026\u0026n.call(this,0\u003d\u003d\u003dt?0:t)}:\"has\"\u003d\u003dt?function has(t){return!(g\u0026\u0026!s(t))\u0026\u0026n.call(this,0\u003d\u003d\u003dt?0:t)}:\"get\"\u003d\u003dt?function get(t){return g\u0026\u0026!s(t)?void 0:n.call(this,0\u003d\u003d\u003dt?0:t)}:\"add\"\u003d\u003dt?function add(t){return n.call(this,0\u003d\u003d\u003dt?0:t),this}:function set(t,r){return n.call(this,0\u003d\u003d\u003dt?0:t,r),this})};if(\"function\"\u003d\u003dtypeof b\u0026\u0026(g||S.forEach\u0026\u0026!l(function(){(new b).entries().next()}))){var E\u003dnew b,O\u003dE[x](g?{}:-0,1)!\u003dE,P\u003dl(function(){E.has(1)}),M\u003dh(function(t){new b(t)}),F\u003d!g\u0026\u0026l(function(){for(var t\u003dnew b,n\u003d5;n--;)t[x](n,n);return!t.has(-0)});M||(b\u003dn(function(n,r){f(n,b,t);var e\u003dp(new m,n,b);return void 0!\u003dr\u0026\u0026a(r,y,e[x],e),e}),b.prototype\u003dS,S.constructor\u003db),(P||F)\u0026\u0026(_(\"delete\"),_(\"has\"),y\u0026\u0026_(\"get\")),(F||O)\u0026\u0026_(x),g\u0026\u0026S.clear\u0026\u0026delete S.clear}else b\u003dd.getConstructor(n,t,y,x),u(b.prototype,r),c.NEED\u003d!0;return v(b,t),w[t]\u003db,i(i.G+i.W+i.F*(b!\u003dm),w),g||d.setStrong(b,t,y),b}},{101:101,33:33,35:35,39:39,40:40,45:45,51:51,56:56,6:6,66:66,93:93,94:94}],23:[function(t,n,r){var e\u003dn.exports\u003d{version:\"2.5.0\"};\"number\"\u003d\u003dtypeof __e\u0026\u0026(__e\u003de)},{}],24:[function(t,n,r){\"use strict\";var e\u003dt(72),i\u003dt(92);n.exports\u003dfunction(t,n,r){n in t?e.f(t,n,i(0,r)):t[n]\u003dr}},{72:72,92:92}],25:[function(t,n,r){var e\u003dt(3);n.exports\u003dfunction(t,n,r){if(e(t),void 0\u003d\u003d\u003dn)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,i){return t.call(n,r,e,i)}}return function(){return t.apply(n,arguments)}}},{3:3}],26:[function(t,n,r){\"use strict\";var e\u003dt(35),i\u003dDate.prototype.getTime,o\u003dDate.prototype.toISOString,u\u003dfunction(t){return t\u003e9?t:\"0\"+t};n.exports\u003de(function(){return\"0385-07-25T07:06:39.999Z\"!\u003do.call(new Date(-5e13-1))})||!e(function(){o.call(new Date(NaN))})?function toISOString(){if(!isFinite(i.call(this)))throw RangeError(\"Invalid time value\");var t\u003dthis,n\u003dt.getUTCFullYear(),r\u003dt.getUTCMilliseconds(),e\u003dn\u003c0?\"-\":n\u003e9999?\"+\":\"\";return e+(\"00000\"+Math.abs(n)).slice(e?-6:-4)+\"-\"+u(t.getUTCMonth()+1)+\"-\"+u(t.getUTCDate())+\"T\"+u(t.getUTCHours())+\":\"+u(t.getUTCMinutes())+\":\"+u(t.getUTCSeconds())+\".\"+(r\u003e99?r:\"0\"+u(r))+\"Z\"}:o},{35:35}],27:[function(t,n,r){\"use strict\";var e\u003dt(7),i\u003dt(120);n.exports\u003dfunction(t){if(\"string\"!\u003d\u003dt\u0026\u0026\"number\"!\u003d\u003dt\u0026\u0026\"default\"!\u003d\u003dt)throw TypeError(\"Incorrect hint\");return i(e(this),\"number\"!\u003dt)}},{120:120,7:7}],28:[function(t,n,r){n.exports\u003dfunction(t){if(void 0\u003d\u003dt)throw TypeError(\"Can\u0027t call method on \"+t);return t}},{}],29:[function(t,n,r){n.exports\u003d!t(35)(function(){return 7!\u003dObject.defineProperty({},\"a\",{get:function(){return 7}}).a})},{35:35}],30:[function(t,n,r){var e\u003dt(51),i\u003dt(40).document,o\u003de(i)\u0026\u0026e(i.createElement);n.exports\u003dfunction(t){return o?i.createElement(t):{}}},{40:40,51:51}],31:[function(t,n,r){n.exports\u003d\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},{}],32:[function(t,n,r){var e\u003dt(81),i\u003dt(78),o\u003dt(82);n.exports\u003dfunction(t){var n\u003de(t),r\u003di.f;if(r)for(var u,c\u003dr(t),a\u003do.f,f\u003d0;c.length\u003ef;)a.call(t,u\u003dc[f++])\u0026\u0026n.push(u);return n}},{78:78,81:81,82:82}],33:[function(t,n,r){var e\u003dt(40),i\u003dt(23),o\u003dt(42),u\u003dt(94),c\u003dt(25),a\u003dfunction(t,n,r){var f,s,l,h,v\u003dt\u0026a.F,p\u003dt\u0026a.G,d\u003dt\u0026a.S,y\u003dt\u0026a.P,g\u003dt\u0026a.B,m\u003dp?e:d?e[n]||(e[n]\u003d{}):(e[n]||{}).prototype,b\u003dp?i:i[n]||(i[n]\u003d{}),x\u003db.prototype||(b.prototype\u003d{});p\u0026\u0026(r\u003dn);for(f in r)s\u003d!v\u0026\u0026m\u0026\u0026void 0!\u003d\u003dm[f],l\u003d(s?m:r)[f],h\u003dg\u0026\u0026s?c(l,e):y\u0026\u0026\"function\"\u003d\u003dtypeof l?c(Function.call,l):l,m\u0026\u0026u(m,f,l,t\u0026a.U),b[f]!\u003dl\u0026\u0026o(b,f,h),y\u0026\u0026x[f]!\u003dl\u0026\u0026(x[f]\u003dl)};e.core\u003di,a.F\u003d1,a.G\u003d2,a.S\u003d4,a.P\u003d8,a.B\u003d16,a.W\u003d32,a.U\u003d64,a.R\u003d128,n.exports\u003da},{23:23,25:25,40:40,42:42,94:94}],34:[function(t,n,r){var e\u003dt(128)(\"match\");n.exports\u003dfunction(t){var n\u003d/./;try{\"/./\"[t](n)}catch(r){try{return n[e]\u003d!1,!\"/./\"[t](n)}catch(t){}}return!0}},{128:128}],35:[function(t,n,r){n.exports\u003dfunction(t){try{return!!t()}catch(t){return!0}}},{}],36:[function(t,n,r){\"use strict\";var e\u003dt(42),i\u003dt(94),o\u003dt(35),u\u003dt(28),c\u003dt(128);n.exports\u003dfunction(t,n,r){var a\u003dc(t),f\u003dr(u,a,\"\"[t]),s\u003df[0],l\u003df[1];o(function(){var n\u003d{};return n[a]\u003dfunction(){return 7},7!\u003d\"\"[t](n)})\u0026\u0026(i(String.prototype,t,s),e(RegExp.prototype,a,2\u003d\u003dn?function(t,n){return l.call(t,this,n)}:function(t){return l.call(t,this)}))}},{128:128,28:28,35:35,42:42,94:94}],37:[function(t,n,r){\"use strict\";var e\u003dt(7);n.exports\u003dfunction(){var t\u003de(this),n\u003d\"\";return t.global\u0026\u0026(n+\u003d\"g\"),t.ignoreCase\u0026\u0026(n+\u003d\"i\"),t.multiline\u0026\u0026(n+\u003d\"m\"),t.unicode\u0026\u0026(n+\u003d\"u\"),t.sticky\u0026\u0026(n+\u003d\"y\"),n}},{7:7}],38:[function(t,n,r){\"use strict\";function flattenIntoArray(t,n,r,a,f,s,l,h){for(var v,p,d\u003df,y\u003d0,g\u003d!!l\u0026\u0026u(l,h,3);y\u003ca;){if(y in r){if(v\u003dg?g(r[y],y,n):r[y],p\u003d!1,i(v)\u0026\u0026(p\u003dv[c],p\u003dvoid 0!\u003d\u003dp?!!p:e(v)),p\u0026\u0026s\u003e0)d\u003dflattenIntoArray(t,n,v,o(v.length),d,s-1)-1;else{if(d\u003e\u003d9007199254740991)throw TypeError();t[d]\u003dv}d++}y++}return d}var e\u003dt(49),i\u003dt(51),o\u003dt(118),u\u003dt(25),c\u003dt(128)(\"isConcatSpreadable\");n.exports\u003dflattenIntoArray},{118:118,128:128,25:25,49:49,51:51}],39:[function(t,n,r){var e\u003dt(25),i\u003dt(53),o\u003dt(48),u\u003dt(7),c\u003dt(118),a\u003dt(129),f\u003d{},s\u003d{},r\u003dn.exports\u003dfunction(t,n,r,l,h){var v,p,d,y,g\u003dh?function(){return t}:a(t),m\u003de(r,l,n?2:1),b\u003d0;if(\"function\"!\u003dtypeof g)throw TypeError(t+\" is not iterable!\");if(o(g)){for(v\u003dc(t.length);v\u003eb;b++)if((y\u003dn?m(u(p\u003dt[b])[0],p[1]):m(t[b]))\u003d\u003d\u003df||y\u003d\u003d\u003ds)return y}else for(d\u003dg.call(t);!(p\u003dd.next()).done;)if((y\u003di(d,m,p.value,n))\u003d\u003d\u003df||y\u003d\u003d\u003ds)return y};r.BREAK\u003df,r.RETURN\u003ds},{118:118,129:129,25:25,48:48,53:53,7:7}],40:[function(t,n,r){var e\u003dn.exports\u003d\"undefined\"!\u003dtypeof window\u0026\u0026window.Math\u003d\u003dMath?window:\"undefined\"!\u003dtypeof self\u0026\u0026self.Math\u003d\u003dMath?self:Function(\"return this\")();\"number\"\u003d\u003dtypeof __g\u0026\u0026(__g\u003de)},{}],41:[function(t,n,r){var e\u003d{}.hasOwnProperty;n.exports\u003dfunction(t,n){return e.call(t,n)}},{}],42:[function(t,n,r){var e\u003dt(72),i\u003dt(92);n.exports\u003dt(29)?function(t,n,r){return e.f(t,n,i(1,r))}:function(t,n,r){return t[n]\u003dr,t}},{29:29,72:72,92:92}],43:[function(t,n,r){var e\u003dt(40).document;n.exports\u003de\u0026\u0026e.documentElement},{40:40}],44:[function(t,n,r){n.exports\u003d!t(29)\u0026\u0026!t(35)(function(){return 7!\u003dObject.defineProperty(t(30)(\"div\"),\"a\",{get:function(){return 7}}).a})},{29:29,30:30,35:35}],45:[function(t,n,r){var e\u003dt(51),i\u003dt(99).set;n.exports\u003dfunction(t,n,r){var o,u\u003dn.constructor;return u!\u003d\u003dr\u0026\u0026\"function\"\u003d\u003dtypeof u\u0026\u0026(o\u003du.prototype)!\u003d\u003dr.prototype\u0026\u0026e(o)\u0026\u0026i\u0026\u0026i(t,o),t}},{51:51,99:99}],46:[function(t,n,r){n.exports\u003dfunction(t,n,r){var e\u003dvoid 0\u003d\u003d\u003dr;switch(n.length){case 0:return e?t():t.call(r);case 1:return e?t(n[0]):t.call(r,n[0]);case 2:return e?t(n[0],n[1]):t.call(r,n[0],n[1]);case 3:return e?t(n[0],n[1],n[2]):t.call(r,n[0],n[1],n[2]);case 4:return e?t(n[0],n[1],n[2],n[3]):t.call(r,n[0],n[1],n[2],n[3])}return t.apply(r,n)}},{}],47:[function(t,n,r){var e\u003dt(18);n.exports\u003dObject(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"\u003d\u003de(t)?t.split(\"\"):Object(t)}},{18:18}],48:[function(t,n,r){var e\u003dt(58),i\u003dt(128)(\"iterator\"),o\u003dArray.prototype;n.exports\u003dfunction(t){return void 0!\u003d\u003dt\u0026\u0026(e.Array\u003d\u003d\u003dt||o[i]\u003d\u003d\u003dt)}},{128:128,58:58}],49:[function(t,n,r){var e\u003dt(18);n.exports\u003dArray.isArray||function isArray(t){return\"Array\"\u003d\u003de(t)}},{18:18}],50:[function(t,n,r){var e\u003dt(51),i\u003dMath.floor;n.exports\u003dfunction isInteger(t){return!e(t)\u0026\u0026isFinite(t)\u0026\u0026i(t)\u003d\u003d\u003dt}},{51:51}],51:[function(t,n,r){n.exports\u003dfunction(t){return\"object\"\u003d\u003dtypeof t?null!\u003d\u003dt:\"function\"\u003d\u003dtypeof t}},{}],52:[function(t,n,r){var e\u003dt(51),i\u003dt(18),o\u003dt(128)(\"match\");n.exports\u003dfunction(t){var n;return e(t)\u0026\u0026(void 0!\u003d\u003d(n\u003dt[o])?!!n:\"RegExp\"\u003d\u003di(t))}},{128:128,18:18,51:51}],53:[function(t,n,r){var e\u003dt(7);n.exports\u003dfunction(t,n,r,i){try{return i?n(e(r)[0],r[1]):n(r)}catch(n){var o\u003dt.return;throw void 0!\u003d\u003do\u0026\u0026e(o.call(t)),n}}},{7:7}],54:[function(t,n,r){\"use strict\";var e\u003dt(71),i\u003dt(92),o\u003dt(101),u\u003d{};t(42)(u,t(128)(\"iterator\"),function(){return this}),n.exports\u003dfunction(t,n,r){t.prototype\u003de(u,{next:i(1,r)}),o(t,n+\" Iterator\")}},{101:101,128:128,42:42,71:71,92:92}],55:[function(t,n,r){\"use strict\";var e\u003dt(60),i\u003dt(33),o\u003dt(94),u\u003dt(42),c\u003dt(41),a\u003dt(58),f\u003dt(54),s\u003dt(101),l\u003dt(79),h\u003dt(128)(\"iterator\"),v\u003d!([].keys\u0026\u0026\"next\"in[].keys()),p\u003dfunction(){return this};n.exports\u003dfunction(t,n,r,d,y,g,m){f(r,n,d);var b,x,S,w\u003dfunction(t){if(!v\u0026\u0026t in P)return P[t];switch(t){case\"keys\":return function keys(){return new r(this,t)};case\"values\":return function values(){return new r(this,t)}}return function entries(){return new r(this,t)}},_\u003dn+\" Iterator\",E\u003d\"values\"\u003d\u003dy,O\u003d!1,P\u003dt.prototype,M\u003dP[h]||P[\"@@iterator\"]||y\u0026\u0026P[y],F\u003dM||w(y),I\u003dy?E?w(\"entries\"):F:void 0,A\u003d\"Array\"\u003d\u003dn?P.entries||M:M;if(A\u0026\u0026(S\u003dl(A.call(new t)))!\u003d\u003dObject.prototype\u0026\u0026S.next\u0026\u0026(s(S,_,!0),e||c(S,h)||u(S,h,p)),E\u0026\u0026M\u0026\u0026\"values\"!\u003d\u003dM.name\u0026\u0026(O\u003d!0,F\u003dfunction values(){return M.call(this)}),e\u0026\u0026!m||!v\u0026\u0026!O\u0026\u0026P[h]||u(P,h,F),a[n]\u003dF,a[_]\u003dp,y)if(b\u003d{values:E?F:w(\"values\"),keys:g?F:w(\"keys\"),entries:I},m)for(x in b)x in P||o(P,x,b[x]);else i(i.P+i.F*(v||O),n,b);return b}},{101:101,128:128,33:33,41:41,42:42,54:54,58:58,60:60,79:79,94:94}],56:[function(t,n,r){var e\u003dt(128)(\"iterator\"),i\u003d!1;try{var o\u003d[7][e]();o.return\u003dfunction(){i\u003d!0},Array.from(o,function(){throw 2})}catch(t){}n.exports\u003dfunction(t,n){if(!n\u0026\u0026!i)return!1;var r\u003d!1;try{var o\u003d[7],u\u003do[e]();u.next\u003dfunction(){return{done:r\u003d!0}},o[e]\u003dfunction(){return u},t(o)}catch(t){}return r}},{128:128}],57:[function(t,n,r){n.exports\u003dfunction(t,n){return{value:n,done:!!t}}},{}],58:[function(t,n,r){n.exports\u003d{}},{}],59:[function(t,n,r){var e\u003dt(81),i\u003dt(117);n.exports\u003dfunction(t,n){for(var r,o\u003di(t),u\u003de(o),c\u003du.length,a\u003d0;c\u003ea;)if(o[r\u003du[a++]]\u003d\u003d\u003dn)return r}},{117:117,81:81}],60:[function(t,n,r){n.exports\u003d!1},{}],61:[function(t,n,r){var e\u003dMath.expm1;n.exports\u003d!e||e(10)\u003e22025.465794806718||e(10)\u003c22025.465794806718||-2e-17!\u003de(-2e-17)?function expm1(t){return 0\u003d\u003d(t\u003d+t)?t:t\u003e-1e-6\u0026\u0026t\u003c1e-6?t+t*t/2:Math.exp(t)-1}:e},{}],62:[function(t,n,r){var e\u003dt(65),i\u003dMath.pow,o\u003di(2,-52),u\u003di(2,-23),c\u003di(2,127)*(2-u),a\u003di(2,-126),f\u003dfunction(t){return t+1/o-1/o};n.exports\u003dMath.fround||function fround(t){var n,r,i\u003dMath.abs(t),s\u003de(t);return i\u003ca?s*f(i/a/u)*a*u:(n\u003d(1+u/o)*i,r\u003dn-(n-i),r\u003ec||r!\u003dr?s*(1/0):s*r)}},{65:65}],63:[function(t,n,r){n.exports\u003dMath.log1p||function log1p(t){return(t\u003d+t)\u003e-1e-8\u0026\u0026t\u003c1e-8?t-t*t/2:Math.log(1+t)}},{}],64:[function(t,n,r){n.exports\u003dMath.scale||function scale(t,n,r,e,i){return 0\u003d\u003d\u003darguments.length||t!\u003dt||n!\u003dn||r!\u003dr||e!\u003de||i!\u003di?NaN:t\u003d\u003d\u003d1/0||t\u003d\u003d\u003d-1/0?t:(t-n)*(i-e)/(r-n)+e}},{}],65:[function(t,n,r){n.exports\u003dMath.sign||function sign(t){return 0\u003d\u003d(t\u003d+t)||t!\u003dt?t:t\u003c0?-1:1}},{}],66:[function(t,n,r){var e\u003dt(124)(\"meta\"),i\u003dt(51),o\u003dt(41),u\u003dt(72).f,c\u003d0,a\u003dObject.isExtensible||function(){return!0},f\u003d!t(35)(function(){return a(Object.preventExtensions({}))}),s\u003dfunction(t){u(t,e,{value:{i:\"O\"+ ++c,w:{}}})},l\u003dfunction(t,n){if(!i(t))return\"symbol\"\u003d\u003dtypeof t?t:(\"string\"\u003d\u003dtypeof t?\"S\":\"P\")+t;if(!o(t,e)){if(!a(t))return\"F\";if(!n)return\"E\";s(t)}return t[e].i},h\u003dfunction(t,n){if(!o(t,e)){if(!a(t))return!0;if(!n)return!1;s(t)}return t[e].w},v\u003dfunction(t){return f\u0026\u0026p.NEED\u0026\u0026a(t)\u0026\u0026!o(t,e)\u0026\u0026s(t),t},p\u003dn.exports\u003d{KEY:e,NEED:!1,fastKey:l,getWeak:h,onFreeze:v}},{124:124,35:35,41:41,51:51,72:72}],67:[function(t,n,r){var e\u003dt(160),i\u003dt(33),o\u003dt(103)(\"metadata\"),u\u003do.store||(o.store\u003dnew(t(266))),c\u003dfunction(t,n,r){var i\u003du.get(t);if(!i){if(!r)return;u.set(t,i\u003dnew e)}var o\u003di.get(n);if(!o){if(!r)return;i.set(n,o\u003dnew e)}return o},a\u003dfunction(t,n,r){var e\u003dc(n,r,!1);return void 0!\u003d\u003de\u0026\u0026e.has(t)},f\u003dfunction(t,n,r){var e\u003dc(n,r,!1);return void 0\u003d\u003d\u003de?void 0:e.get(t)},s\u003dfunction(t,n,r,e){c(r,e,!0).set(t,n)},l\u003dfunction(t,n){var r\u003dc(t,n,!1),e\u003d[];return r\u0026\u0026r.forEach(function(t,n){e.push(n)}),e},h\u003dfunction(t){return void 0\u003d\u003d\u003dt||\"symbol\"\u003d\u003dtypeof t?t:String(t)},v\u003dfunction(t){i(i.S,\"Reflect\",t)};n.exports\u003d{store:u,map:c,has:a,get:f,set:s,keys:l,key:h,exp:v}},{103:103,160:160,266:266,33:33}],68:[function(t,n,r){var e\u003dt(40),i\u003dt(113).set,o\u003de.MutationObserver||e.WebKitMutationObserver,u\u003de.process,c\u003de.Promise,a\u003d\"process\"\u003d\u003dt(18)(u);n.exports\u003dfunction(){var t,n,r,f\u003dfunction(){var e,i;for(a\u0026\u0026(e\u003du.domain)\u0026\u0026e.exit();t;){i\u003dt.fn,t\u003dt.next;try{i()}catch(e){throw t?r():n\u003dvoid 0,e}}n\u003dvoid 0,e\u0026\u0026e.enter()};if(a)r\u003dfunction(){u.nextTick(f)};else if(o){var s\u003d!0,l\u003ddocument.createTextNode(\"\");new o(f).observe(l,{characterData:!0}),r\u003dfunction(){l.data\u003ds\u003d!s}}else if(c\u0026\u0026c.resolve){var h\u003dc.resolve();r\u003dfunction(){h.then(f)}}else r\u003dfunction(){i.call(e,f)};return function(e){var i\u003d{fn:e,next:void 0};n\u0026\u0026(n.next\u003di),t||(t\u003di,r()),n\u003di}}},{113:113,18:18,40:40}],69:[function(t,n,r){\"use strict\";function PromiseCapability(t){var n,r;this.promise\u003dnew t(function(t,e){if(void 0!\u003d\u003dn||void 0!\u003d\u003dr)throw TypeError(\"Bad Promise constructor\");n\u003dt,r\u003de}),this.resolve\u003de(n),this.reject\u003de(r)}var e\u003dt(3);n.exports.f\u003dfunction(t){return new PromiseCapability(t)}},{3:3}],70:[function(t,n,r){\"use strict\";var e\u003dt(81),i\u003dt(78),o\u003dt(82),u\u003dt(119),c\u003dt(47),a\u003dObject.assign;n.exports\u003d!a||t(35)(function(){var t\u003d{},n\u003d{},r\u003dSymbol(),e\u003d\"abcdefghijklmnopqrst\";return t[r]\u003d7,e.split(\"\").forEach(function(t){n[t]\u003dt}),7!\u003da({},t)[r]||Object.keys(a({},n)).join(\"\")!\u003de})?function assign(t,n){for(var r\u003du(t),a\u003darguments.length,f\u003d1,s\u003di.f,l\u003do.f;a\u003ef;)for(var h,v\u003dc(arguments[f++]),p\u003ds?e(v).concat(s(v)):e(v),d\u003dp.length,y\u003d0;d\u003ey;)l.call(v,h\u003dp[y++])\u0026\u0026(r[h]\u003dv[h]);return r}:a},{119:119,35:35,47:47,78:78,81:81,82:82}],71:[function(t,n,r){var e\u003dt(7),i\u003dt(73),o\u003dt(31),u\u003dt(102)(\"IE_PROTO\"),c\u003dfunction(){},a\u003dfunction(){var n,r\u003dt(30)(\"iframe\"),e\u003do.length;for(r.style.display\u003d\"none\",t(43).appendChild(r),r.src\u003d\"javascript:\",n\u003dr.contentWindow.document,n.open(),n.write(\"\u003cscript\u003edocument.F\u003dObject\u003c\\/script\u003e\"),n.close(),a\u003dn.F;e--;)delete a.prototype[o[e]];return a()};n.exports\u003dObject.create||function create(t,n){var r;return null!\u003d\u003dt?(c.prototype\u003de(t),r\u003dnew c,c.prototype\u003dnull,r[u]\u003dt):r\u003da(),void 0\u003d\u003d\u003dn?r:i(r,n)}},{102:102,30:30,31:31,43:43,7:7,73:73}],72:[function(t,n,r){var e\u003dt(7),i\u003dt(44),o\u003dt(120),u\u003dObject.defineProperty;r.f\u003dt(29)?Object.defineProperty:function defineProperty(t,n,r){if(e(t),n\u003do(n,!0),e(r),i)try{return u(t,n,r)}catch(t){}if(\"get\"in r||\"set\"in r)throw TypeError(\"Accessors not supported!\");return\"value\"in r\u0026\u0026(t[n]\u003dr.value),t}},{120:120,29:29,44:44,7:7}],73:[function(t,n,r){var e\u003dt(72),i\u003dt(7),o\u003dt(81);n.exports\u003dt(29)?Object.defineProperties:function defineProperties(t,n){i(t);for(var r,u\u003do(n),c\u003du.length,a\u003d0;c\u003ea;)e.f(t,r\u003du[a++],n[r]);return t}},{29:29,7:7,72:72,81:81}],74:[function(t,n,r){\"use strict\";n.exports\u003dt(60)||!t(35)(function(){var n\u003dMath.random();__defineSetter__.call(null,n,function(){}),delete t(40)[n]})},{35:35,40:40,60:60}],75:[function(t,n,r){var e\u003dt(82),i\u003dt(92),o\u003dt(117),u\u003dt(120),c\u003dt(41),a\u003dt(44),f\u003dObject.getOwnPropertyDescriptor;r.f\u003dt(29)?f:function getOwnPropertyDescriptor(t,n){if(t\u003do(t),n\u003du(n,!0),a)try{return f(t,n)}catch(t){}if(c(t,n))return i(!e.f.call(t,n),t[n])}},{117:117,120:120,29:29,41:41,44:44,82:82,92:92}],76:[function(t,n,r){var e\u003dt(117),i\u003dt(77).f,o\u003d{}.toString,u\u003d\"object\"\u003d\u003dtypeof window\u0026\u0026window\u0026\u0026Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c\u003dfunction(t){try{return i(t)}catch(t){return u.slice()}};n.exports.f\u003dfunction getOwnPropertyNames(t){return u\u0026\u0026\"[object Window]\"\u003d\u003do.call(t)?c(t):i(e(t))}},{117:117,77:77}],77:[function(t,n,r){var e\u003dt(80),i\u003dt(31).concat(\"length\",\"prototype\");r.f\u003dObject.getOwnPropertyNames||function getOwnPropertyNames(t){return e(t,i)}},{31:31,80:80}],78:[function(t,n,r){r.f\u003dObject.getOwnPropertySymbols},{}],79:[function(t,n,r){var e\u003dt(41),i\u003dt(119),o\u003dt(102)(\"IE_PROTO\"),u\u003dObject.prototype;n.exports\u003dObject.getPrototypeOf||function(t){return t\u003di(t),e(t,o)?t[o]:\"function\"\u003d\u003dtypeof t.constructor\u0026\u0026t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},{102:102,119:119,41:41}],80:[function(t,n,r){var e\u003dt(41),i\u003dt(117),o\u003dt(11)(!1),u\u003dt(102)(\"IE_PROTO\");n.exports\u003dfunction(t,n){var r,c\u003di(t),a\u003d0,f\u003d[];for(r in c)r!\u003du\u0026\u0026e(c,r)\u0026\u0026f.push(r);for(;n.length\u003ea;)e(c,r\u003dn[a++])\u0026\u0026(~o(f,r)||f.push(r));return f}},{102:102,11:11,117:117,41:41}],81:[function(t,n,r){var e\u003dt(80),i\u003dt(31);n.exports\u003dObject.keys||function keys(t){return e(t,i)}},{31:31,80:80}],82:[function(t,n,r){r.f\u003d{}.propertyIsEnumerable},{}],83:[function(t,n,r){var e\u003dt(33),i\u003dt(23),o\u003dt(35);n.exports\u003dfunction(t,n){var r\u003d(i.Object||{})[t]||Object[t],u\u003d{};u[t]\u003dn(r),e(e.S+e.F*o(function(){r(1)}),\"Object\",u)}},{23:23,33:33,35:35}],84:[function(t,n,r){var e\u003dt(81),i\u003dt(117),o\u003dt(82).f;n.exports\u003dfunction(t){return function(n){for(var r,u\u003di(n),c\u003de(u),a\u003dc.length,f\u003d0,s\u003d[];a\u003ef;)o.call(u,r\u003dc[f++])\u0026\u0026s.push(t?[r,u[r]]:u[r]);return s}}},{117:117,81:81,82:82}],85:[function(t,n,r){var e\u003dt(77),i\u003dt(78),o\u003dt(7),u\u003dt(40).Reflect;n.exports\u003du\u0026\u0026u.ownKeys||function ownKeys(t){var n\u003de.f(o(t)),r\u003di.f;return r?n.concat(r(t)):n}},{40:40,7:7,77:77,78:78}],86:[function(t,n,r){var e\u003dt(40).parseFloat,i\u003dt(111).trim;n.exports\u003d1/e(t(112)+\"-0\")!\u003d-1/0?function parseFloat(t){var n\u003di(String(t),3),r\u003de(n);return 0\u003d\u003d\u003dr\u0026\u0026\"-\"\u003d\u003dn.charAt(0)?-0:r}:e},{111:111,112:112,40:40}],87:[function(t,n,r){var e\u003dt(40).parseInt,i\u003dt(111).trim,o\u003dt(112),u\u003d/^[-+]?0[xX]/;n.exports\u003d8!\u003d\u003de(o+\"08\")||22!\u003d\u003de(o+\"0x16\")?function parseInt(t,n){var r\u003di(String(t),3);return e(r,n\u003e\u003e\u003e0||(u.test(r)?16:10))}:e},{111:111,112:112,40:40}],88:[function(t,n,r){\"use strict\";var e\u003dt(89),i\u003dt(46),o\u003dt(3);n.exports\u003dfunction(){for(var t\u003do(this),n\u003darguments.length,r\u003dArray(n),u\u003d0,c\u003de._,a\u003d!1;n\u003eu;)(r[u]\u003darguments[u++])\u003d\u003d\u003dc\u0026\u0026(a\u003d!0);return function(){var e,o\u003dthis,u\u003darguments.length,f\u003d0,s\u003d0;if(!a\u0026\u0026!u)return i(t,r,o);if(e\u003dr.slice(),a)for(;n\u003ef;f++)e[f]\u003d\u003d\u003dc\u0026\u0026(e[f]\u003darguments[s++]);for(;u\u003es;)e.push(arguments[s++]);return i(t,e,o)}}},{3:3,46:46,89:89}],89:[function(t,n,r){n.exports\u003dt(40)},{40:40}],90:[function(t,n,r){n.exports\u003dfunction(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},{}],91:[function(t,n,r){var e\u003dt(69);n.exports\u003dfunction(t,n){var r\u003de.f(t);return(0,r.resolve)(n),r.promise}},{69:69}],92:[function(t,n,r){n.exports\u003dfunction(t,n){return{enumerable:!(1\u0026t),configurable:!(2\u0026t),writable:!(4\u0026t),value:n}}},{}],93:[function(t,n,r){var e\u003dt(94);n.exports\u003dfunction(t,n,r){for(var i in n)e(t,i,n[i],r);return t}},{94:94}],94:[function(t,n,r){var e\u003dt(40),i\u003dt(42),o\u003dt(41),u\u003dt(124)(\"src\"),c\u003dFunction.toString,a\u003d(\"\"+c).split(\"toString\");t(23).inspectSource\u003dfunction(t){return c.call(t)},(n.exports\u003dfunction(t,n,r,c){var f\u003d\"function\"\u003d\u003dtypeof r;f\u0026\u0026(o(r,\"name\")||i(r,\"name\",n)),t[n]!\u003d\u003dr\u0026\u0026(f\u0026\u0026(o(r,u)||i(r,u,t[n]?\"\"+t[n]:a.join(String(n)))),t\u003d\u003d\u003de?t[n]\u003dr:c?t[n]?t[n]\u003dr:i(t,n,r):(delete t[n],i(t,n,r)))})(Function.prototype,\"toString\",function toString(){return\"function\"\u003d\u003dtypeof this\u0026\u0026this[u]||c.call(this)})},{124:124,23:23,40:40,41:41,42:42}],95:[function(t,n,r){n.exports\u003dfunction(t,n){var r\u003dn\u003d\u003d\u003dObject(n)?function(t){return n[t]}:n;return function(n){return String(n).replace(t,r)}}},{}],96:[function(t,n,r){n.exports\u003dObject.is||function is(t,n){return t\u003d\u003d\u003dn?0!\u003d\u003dt||1/t\u003d\u003d1/n:t!\u003dt\u0026\u0026n!\u003dn}},{}],97:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(3),o\u003dt(25),u\u003dt(39);n.exports\u003dfunction(t){e(e.S,t,{from:function from(t){var n,r,e,c,a\u003darguments[1];return i(this),n\u003dvoid 0!\u003d\u003da,n\u0026\u0026i(a),void 0\u003d\u003dt?new this:(r\u003d[],n?(e\u003d0,c\u003do(a,arguments[2],2),u(t,!1,function(t){r.push(c(t,e++))})):u(t,!1,r.push,r),new this(r))}})}},{25:25,3:3,33:33,39:39}],98:[function(t,n,r){\"use strict\";var e\u003dt(33);n.exports\u003dfunction(t){e(e.S,t,{of:function of(){for(var t\u003darguments.length,n\u003dArray(t);t--;)n[t]\u003darguments[t];return new this(n)}})}},{33:33}],99:[function(t,n,r){var e\u003dt(51),i\u003dt(7),o\u003dfunction(t,n){if(i(t),!e(n)\u0026\u0026null!\u003d\u003dn)throw TypeError(n+\": can\u0027t set as prototype!\")};n.exports\u003d{set:Object.setPrototypeOf||(\"__proto__\"in{}?function(n,r,e){try{e\u003dt(25)(Function.call,t(75).f(Object.prototype,\"__proto__\").set,2),e(n,[]),r\u003d!(n instanceof Array)}catch(t){r\u003d!0}return function setPrototypeOf(t,n){return o(t,n),r?t.__proto__\u003dn:e(t,n),t}}({},!1):void 0),check:o}},{25:25,51:51,7:7,75:75}],100:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(72),o\u003dt(29),u\u003dt(128)(\"species\");n.exports\u003dfunction(t){var n\u003de[t];o\u0026\u0026n\u0026\u0026!n[u]\u0026\u0026i.f(n,u,{configurable:!0,get:function(){return this}})}},{128:128,29:29,40:40,72:72}],101:[function(t,n,r){var e\u003dt(72).f,i\u003dt(41),o\u003dt(128)(\"toStringTag\");n.exports\u003dfunction(t,n,r){t\u0026\u0026!i(t\u003dr?t:t.prototype,o)\u0026\u0026e(t,o,{configurable:!0,value:n})}},{128:128,41:41,72:72}],102:[function(t,n,r){var e\u003dt(103)(\"keys\"),i\u003dt(124);n.exports\u003dfunction(t){return e[t]||(e[t]\u003di(t))}},{103:103,124:124}],103:[function(t,n,r){var e\u003dt(40),i\u003de[\"__core-js_shared__\"]||(e[\"__core-js_shared__\"]\u003d{});n.exports\u003dfunction(t){return i[t]||(i[t]\u003d{})}},{40:40}],104:[function(t,n,r){var e\u003dt(7),i\u003dt(3),o\u003dt(128)(\"species\");n.exports\u003dfunction(t,n){var r,u\u003de(t).constructor;return void 0\u003d\u003d\u003du||void 0\u003d\u003d(r\u003de(u)[o])?n:i(r)}},{128:128,3:3,7:7}],105:[function(t,n,r){\"use strict\";var e\u003dt(35);n.exports\u003dfunction(t,n){return!!t\u0026\u0026e(function(){n?t.call(null,function(){},1):t.call(null)})}},{35:35}],106:[function(t,n,r){var e\u003dt(116),i\u003dt(28);n.exports\u003dfunction(t){return function(n,r){var o,u,c\u003dString(i(n)),a\u003de(r),f\u003dc.length;return a\u003c0||a\u003e\u003df?t?\"\":void 0:(o\u003dc.charCodeAt(a),o\u003c55296||o\u003e56319||a+1\u003d\u003d\u003df||(u\u003dc.charCodeAt(a+1))\u003c56320||u\u003e57343?t?c.charAt(a):o:t?c.slice(a,a+2):u-56320+(o-55296\u003c\u003c10)+65536)}}},{116:116,28:28}],107:[function(t,n,r){var e\u003dt(52),i\u003dt(28);n.exports\u003dfunction(t,n,r){if(e(n))throw TypeError(\"String#\"+r+\" doesn\u0027t accept regex!\");return String(i(t))}},{28:28,52:52}],108:[function(t,n,r){var e\u003dt(33),i\u003dt(35),o\u003dt(28),u\u003d/\"/g,c\u003dfunction(t,n,r,e){var i\u003dString(o(t)),c\u003d\"\u003c\"+n;return\"\"!\u003d\u003dr\u0026\u0026(c+\u003d\" \"+r+\u0027\u003d\"\u0027+String(e).replace(u,\"\u0026quot;\")+\u0027\"\u0027),c+\"\u003e\"+i+\"\u003c/\"+n+\"\u003e\"};n.exports\u003dfunction(t,n){var r\u003d{};r[t]\u003dn(c),e(e.P+e.F*i(function(){var n\u003d\"\"[t](\u0027\"\u0027);return n!\u003d\u003dn.toLowerCase()||n.split(\u0027\"\u0027).length\u003e3}),\"String\",r)}},{28:28,33:33,35:35}],109:[function(t,n,r){var e\u003dt(118),i\u003dt(110),o\u003dt(28);n.exports\u003dfunction(t,n,r,u){var c\u003dString(o(t)),a\u003dc.length,f\u003dvoid 0\u003d\u003d\u003dr?\" \":String(r),s\u003de(n);if(s\u003c\u003da||\"\"\u003d\u003df)return c;var l\u003ds-a,h\u003di.call(f,Math.ceil(l/f.length));return h.length\u003el\u0026\u0026(h\u003dh.slice(0,l)),u?h+c:c+h}},{110:110,118:118,28:28}],110:[function(t,n,r){\"use strict\";var e\u003dt(116),i\u003dt(28);n.exports\u003dfunction repeat(t){var n\u003dString(i(this)),r\u003d\"\",o\u003de(t);if(o\u003c0||o\u003d\u003d1/0)throw RangeError(\"Count can\u0027t be negative\");for(;o\u003e0;(o\u003e\u003e\u003e\u003d1)\u0026\u0026(n+\u003dn))1\u0026o\u0026\u0026(r+\u003dn);return r}},{116:116,28:28}],111:[function(t,n,r){var e\u003dt(33),i\u003dt(28),o\u003dt(35),u\u003dt(112),c\u003d\"[\"+u+\"]\",a\u003d\"​…\",f\u003dRegExp(\"^\"+c+c+\"*\"),s\u003dRegExp(c+c+\"*$\"),l\u003dfunction(t,n,r){var i\u003d{},c\u003do(function(){return!!u[t]()||a[t]()!\u003da}),f\u003di[t]\u003dc?n(h):u[t];r\u0026\u0026(i[r]\u003df),e(e.P+e.F*c,\"String\",i)},h\u003dl.trim\u003dfunction(t,n){return t\u003dString(i(t)),1\u0026n\u0026\u0026(t\u003dt.replace(f,\"\")),2\u0026n\u0026\u0026(t\u003dt.replace(s,\"\")),t};n.exports\u003dl},{112:112,28:28,33:33,35:35}],112:[function(t,n,r){n.exports\u003d\"\\t\\n\\v\\f\\r   ᠎              \\u2028\\u2029\\ufeff\"},{}],113:[function(t,n,r){var e,i,o,u\u003dt(25),c\u003dt(46),a\u003dt(43),f\u003dt(30),s\u003dt(40),l\u003ds.process,h\u003ds.setImmediate,v\u003ds.clearImmediate,p\u003ds.MessageChannel,d\u003ds.Dispatch,y\u003d0,g\u003d{},m\u003dfunction(){var t\u003d+this;if(g.hasOwnProperty(t)){var n\u003dg[t];delete g[t],n()}},b\u003dfunction(t){m.call(t.data)};h\u0026\u0026v||(h\u003dfunction setImmediate(t){for(var n\u003d[],r\u003d1;arguments.length\u003er;)n.push(arguments[r++]);return g[++y]\u003dfunction(){c(\"function\"\u003d\u003dtypeof t?t:Function(t),n)},e(y),y},v\u003dfunction clearImmediate(t){delete g[t]},\"process\"\u003d\u003dt(18)(l)?e\u003dfunction(t){l.nextTick(u(m,t,1))}:d\u0026\u0026d.now?e\u003dfunction(t){d.now(u(m,t,1))}:p?(i\u003dnew p,o\u003di.port2,i.port1.onmessage\u003db,e\u003du(o.postMessage,o,1)):s.addEventListener\u0026\u0026\"function\"\u003d\u003dtypeof postMessage\u0026\u0026!s.importScripts?(e\u003dfunction(t){s.postMessage(t+\"\",\"*\")},s.addEventListener(\"message\",b,!1)):e\u003d\"onreadystatechange\"in f(\"script\")?function(t){a.appendChild(f(\"script\")).onreadystatechange\u003dfunction(){a.removeChild(this),m.call(t)}}:function(t){setTimeout(u(m,t,1),0)}),n.exports\u003d{set:h,clear:v}},{18:18,25:25,30:30,40:40,43:43,46:46}],114:[function(t,n,r){var e\u003dt(116),i\u003dMath.max,o\u003dMath.min;n.exports\u003dfunction(t,n){return t\u003de(t),t\u003c0?i(t+n,0):o(t,n)}},{116:116}],115:[function(t,n,r){var e\u003dt(116),i\u003dt(118);n.exports\u003dfunction(t){if(void 0\u003d\u003d\u003dt)return 0;var n\u003de(t),r\u003di(n);if(n!\u003d\u003dr)throw RangeError(\"Wrong length!\");return r}},{116:116,118:118}],116:[function(t,n,r){var e\u003dMath.ceil,i\u003dMath.floor;n.exports\u003dfunction(t){return isNaN(t\u003d+t)?0:(t\u003e0?i:e)(t)}},{}],117:[function(t,n,r){var e\u003dt(47),i\u003dt(28);n.exports\u003dfunction(t){return e(i(t))}},{28:28,47:47}],118:[function(t,n,r){var e\u003dt(116),i\u003dMath.min;n.exports\u003dfunction(t){return t\u003e0?i(e(t),9007199254740991):0}},{116:116}],"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"119:[function(t,n,r){var e\u003dt(28);n.exports\u003dfunction(t){return Object(e(t))}},{28:28}],120:[function(t,n,r){var e\u003dt(51);n.exports\u003dfunction(t,n){if(!e(t))return t;var r,i;if(n\u0026\u0026\"function\"\u003d\u003dtypeof(r\u003dt.toString)\u0026\u0026!e(i\u003dr.call(t)))return i;if(\"function\"\u003d\u003dtypeof(r\u003dt.valueOf)\u0026\u0026!e(i\u003dr.call(t)))return i;if(!n\u0026\u0026\"function\"\u003d\u003dtypeof(r\u003dt.toString)\u0026\u0026!e(i\u003dr.call(t)))return i;throw TypeError(\"Can\u0027t convert object to primitive value\")}},{51:51}],121:[function(t,n,r){\"use strict\";if(t(29)){var e\u003dt(60),i\u003dt(40),o\u003dt(35),u\u003dt(33),c\u003dt(123),a\u003dt(122),f\u003dt(25),s\u003dt(6),l\u003dt(92),h\u003dt(42),v\u003dt(93),p\u003dt(116),d\u003dt(118),y\u003dt(115),g\u003dt(114),m\u003dt(120),b\u003dt(41),x\u003dt(17),S\u003dt(51),w\u003dt(119),_\u003dt(48),E\u003dt(71),O\u003dt(79),P\u003dt(77).f,M\u003dt(129),F\u003dt(124),I\u003dt(128),A\u003dt(12),k\u003dt(11),N\u003dt(104),j\u003dt(141),T\u003dt(58),R\u003dt(56),L\u003dt(100),G\u003dt(9),D\u003dt(8),C\u003dt(72),W\u003dt(75),U\u003dC.f,B\u003dW.f,V\u003di.RangeError,z\u003di.TypeError,q\u003di.Uint8Array,K\u003dArray.prototype,Y\u003da.ArrayBuffer,J\u003da.DataView,H\u003dA(0),X\u003dA(2),$\u003dA(3),Z\u003dA(4),Q\u003dA(5),tt\u003dA(6),nt\u003dk(!0),rt\u003dk(!1),et\u003dj.values,it\u003dj.keys,ot\u003dj.entries,ut\u003dK.lastIndexOf,ct\u003dK.reduce,at\u003dK.reduceRight,ft\u003dK.join,st\u003dK.sort,lt\u003dK.slice,ht\u003dK.toString,vt\u003dK.toLocaleString,pt\u003dI(\"iterator\"),dt\u003dI(\"toStringTag\"),yt\u003dF(\"typed_constructor\"),gt\u003dF(\"def_constructor\"),mt\u003dc.CONSTR,bt\u003dc.TYPED,xt\u003dc.VIEW,St\u003dA(1,function(t,n){return Pt(N(t,t[gt]),n)}),wt\u003do(function(){return 1\u003d\u003d\u003dnew q(new Uint16Array([1]).buffer)[0]}),_t\u003d!!q\u0026\u0026!!q.prototype.set\u0026\u0026o(function(){new q(1).set({})}),Et\u003dfunction(t,n){var r\u003dp(t);if(r\u003c0||r%n)throw V(\"Wrong offset!\");return r},Ot\u003dfunction(t){if(S(t)\u0026\u0026bt in t)return t;throw z(t+\" is not a typed array!\")},Pt\u003dfunction(t,n){if(!(S(t)\u0026\u0026yt in t))throw z(\"It is not a typed array constructor!\");return new t(n)},Mt\u003dfunction(t,n){return Ft(N(t,t[gt]),n)},Ft\u003dfunction(t,n){for(var r\u003d0,e\u003dn.length,i\u003dPt(t,e);e\u003er;)i[r]\u003dn[r++];return i},It\u003dfunction(t,n,r){U(t,n,{get:function(){return this._d[r]}})},At\u003dfunction from(t){var n,r,e,i,o,u,c\u003dw(t),a\u003darguments.length,s\u003da\u003e1?arguments[1]:void 0,l\u003dvoid 0!\u003d\u003ds,h\u003dM(c);if(void 0!\u003dh\u0026\u0026!_(h)){for(u\u003dh.call(c),e\u003d[],n\u003d0;!(o\u003du.next()).done;n++)e.push(o.value);c\u003de}for(l\u0026\u0026a\u003e2\u0026\u0026(s\u003df(s,arguments[2],2)),n\u003d0,r\u003dd(c.length),i\u003dPt(this,r);r\u003en;n++)i[n]\u003dl?s(c[n],n):c[n];return i},kt\u003dfunction of(){for(var t\u003d0,n\u003darguments.length,r\u003dPt(this,n);n\u003et;)r[t]\u003darguments[t++];return r},Nt\u003d!!q\u0026\u0026o(function(){vt.call(new q(1))}),jt\u003dfunction toLocaleString(){return vt.apply(Nt?lt.call(Ot(this)):Ot(this),arguments)},Tt\u003d{copyWithin:function copyWithin(t,n){return D.call(Ot(this),t,n,arguments.length\u003e2?arguments[2]:void 0)},every:function every(t){return Z(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},fill:function fill(t){return G.apply(Ot(this),arguments)},filter:function filter(t){return Mt(this,X(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0))},find:function find(t){return Q(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},findIndex:function findIndex(t){return tt(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},forEach:function forEach(t){H(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},indexOf:function indexOf(t){return rt(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},includes:function includes(t){return nt(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},join:function join(t){return ft.apply(Ot(this),arguments)},lastIndexOf:function lastIndexOf(t){return ut.apply(Ot(this),arguments)},map:function map(t){return St(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},reduce:function reduce(t){return ct.apply(Ot(this),arguments)},reduceRight:function reduceRight(t){return at.apply(Ot(this),arguments)},reverse:function reverse(){for(var t,n\u003dthis,r\u003dOt(n).length,e\u003dMath.floor(r/2),i\u003d0;i\u003ce;)t\u003dn[i],n[i++]\u003dn[--r],n[r]\u003dt;return n},some:function some(t){return $(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},sort:function sort(t){return st.call(Ot(this),t)},subarray:function subarray(t,n){var r\u003dOt(this),e\u003dr.length,i\u003dg(t,e);return new(N(r,r[gt]))(r.buffer,r.byteOffset+i*r.BYTES_PER_ELEMENT,d((void 0\u003d\u003d\u003dn?e:g(n,e))-i))}},Rt\u003dfunction slice(t,n){return Mt(this,lt.call(Ot(this),t,n))},Lt\u003dfunction set(t){Ot(this);var n\u003dEt(arguments[1],1),r\u003dthis.length,e\u003dw(t),i\u003dd(e.length),o\u003d0;if(i+n\u003er)throw V(\"Wrong length!\");for(;o\u003ci;)this[n+o]\u003de[o++]},Gt\u003d{entries:function entries(){return ot.call(Ot(this))},keys:function keys(){return it.call(Ot(this))},values:function values(){return et.call(Ot(this))}},Dt\u003dfunction(t,n){return S(t)\u0026\u0026t[bt]\u0026\u0026\"symbol\"!\u003dtypeof n\u0026\u0026n in t\u0026\u0026String(+n)\u003d\u003dString(n)},Ct\u003dfunction getOwnPropertyDescriptor(t,n){return Dt(t,n\u003dm(n,!0))?l(2,t[n]):B(t,n)},Wt\u003dfunction defineProperty(t,n,r){return!(Dt(t,n\u003dm(n,!0))\u0026\u0026S(r)\u0026\u0026b(r,\"value\"))||b(r,\"get\")||b(r,\"set\")||r.configurable||b(r,\"writable\")\u0026\u0026!r.writable||b(r,\"enumerable\")\u0026\u0026!r.enumerable?U(t,n,r):(t[n]\u003dr.value,t)};mt||(W.f\u003dCt,C.f\u003dWt),u(u.S+u.F*!mt,\"Object\",{getOwnPropertyDescriptor:Ct,defineProperty:Wt}),o(function(){ht.call({})})\u0026\u0026(ht\u003dvt\u003dfunction toString(){return ft.call(this)});var Ut\u003dv({},Tt);v(Ut,Gt),h(Ut,pt,Gt.values),v(Ut,{slice:Rt,set:Lt,constructor:function(){},toString:ht,toLocaleString:jt}),It(Ut,\"buffer\",\"b\"),It(Ut,\"byteOffset\",\"o\"),It(Ut,\"byteLength\",\"l\"),It(Ut,\"length\",\"e\"),U(Ut,dt,{get:function(){return this[bt]}}),n.exports\u003dfunction(t,n,r,a){a\u003d!!a;var f\u003dt+(a?\"Clamped\":\"\")+\"Array\",l\u003d\"get\"+t,v\u003d\"set\"+t,p\u003di[f],g\u003dp||{},m\u003dp\u0026\u0026O(p),b\u003d!p||!c.ABV,w\u003d{},_\u003dp\u0026\u0026p.prototype,M\u003dfunction(t,r){var e\u003dt._d;return e.v[l](r*n+e.o,wt)},F\u003dfunction(t,r,e){var i\u003dt._d;a\u0026\u0026(e\u003d(e\u003dMath.round(e))\u003c0?0:e\u003e255?255:255\u0026e),i.v[v](r*n+i.o,e,wt)},I\u003dfunction(t,n){U(t,n,{get:function(){return M(this,n)},set:function(t){return F(this,n,t)},enumerable:!0})};b?(p\u003dr(function(t,r,e,i){s(t,p,f,\"_d\");var o,u,c,a,l\u003d0,v\u003d0;if(S(r)){if(!(r instanceof Y||\"ArrayBuffer\"\u003d\u003d(a\u003dx(r))||\"SharedArrayBuffer\"\u003d\u003da))return bt in r?Ft(p,r):At.call(p,r);o\u003dr,v\u003dEt(e,n);var g\u003dr.byteLength;if(void 0\u003d\u003d\u003di){if(g%n)throw V(\"Wrong length!\");if((u\u003dg-v)\u003c0)throw V(\"Wrong length!\")}else if((u\u003dd(i)*n)+v\u003eg)throw V(\"Wrong length!\");c\u003du/n}else c\u003dy(r),u\u003dc*n,o\u003dnew Y(u);for(h(t,\"_d\",{b:o,o:v,l:u,e:c,v:new J(o)});l\u003cc;)I(t,l++)}),_\u003dp.prototype\u003dE(Ut),h(_,\"constructor\",p)):o(function(){p(1)})\u0026\u0026o(function(){new p(-1)})\u0026\u0026R(function(t){new p,new p(null),new p(1.5),new p(t)},!0)||(p\u003dr(function(t,r,e,i){s(t,p,f);var o;return S(r)?r instanceof Y||\"ArrayBuffer\"\u003d\u003d(o\u003dx(r))||\"SharedArrayBuffer\"\u003d\u003do?void 0!\u003d\u003di?new g(r,Et(e,n),i):void 0!\u003d\u003de?new g(r,Et(e,n)):new g(r):bt in r?Ft(p,r):At.call(p,r):new g(y(r))}),H(m!\u003d\u003dFunction.prototype?P(g).concat(P(m)):P(g),function(t){t in p||h(p,t,g[t])}),p.prototype\u003d_,e||(_.constructor\u003dp));var A\u003d_[pt],k\u003d!!A\u0026\u0026(\"values\"\u003d\u003dA.name||void 0\u003d\u003dA.name),N\u003dGt.values;h(p,yt,!0),h(_,bt,f),h(_,xt,!0),h(_,gt,p),(a?new p(1)[dt]\u003d\u003df:dt in _)||U(_,dt,{get:function(){return f}}),w[f]\u003dp,u(u.G+u.W+u.F*(p!\u003dg),w),u(u.S,f,{BYTES_PER_ELEMENT:n}),u(u.S+u.F*o(function(){g.of.call(p,1)}),f,{from:At,of:kt}),\"BYTES_PER_ELEMENT\"in _||h(_,\"BYTES_PER_ELEMENT\",n),u(u.P,f,Tt),L(f),u(u.P+u.F*_t,f,{set:Lt}),u(u.P+u.F*!k,f,Gt),e||_.toString\u003d\u003dht||(_.toString\u003dht),u(u.P+u.F*o(function(){new p(1).slice()}),f,{slice:Rt}),u(u.P+u.F*(o(function(){return[1,2].toLocaleString()!\u003dnew p([1,2]).toLocaleString()})||!o(function(){_.toLocaleString.call([1,2])})),f,{toLocaleString:jt}),T[f]\u003dk?A:N,e||k||h(_,pt,N)}}else n.exports\u003dfunction(){}},{100:100,104:104,11:11,114:114,115:115,116:116,118:118,119:119,12:12,120:120,122:122,123:123,124:124,128:128,129:129,141:141,17:17,25:25,29:29,33:33,35:35,40:40,41:41,42:42,48:48,51:51,56:56,58:58,6:6,60:60,71:71,72:72,75:75,77:77,79:79,8:8,9:9,92:92,93:93}],122:[function(t,n,r){\"use strict\";function packIEEE754(t,n,r){var e,i,o,u\u003dArray(r),c\u003d8*r-n-1,a\u003d(1\u003c\u003cc)-1,f\u003da\u003e\u003e1,s\u003d23\u003d\u003d\u003dn?M(2,-24)-M(2,-77):0,l\u003d0,h\u003dt\u003c0||0\u003d\u003d\u003dt\u0026\u00261/t\u003c0?1:0;for(t\u003dP(t),t!\u003dt||t\u003d\u003d\u003dE?(i\u003dt!\u003dt?1:0,e\u003da):(e\u003dF(I(t)/A),t*(o\u003dM(2,-e))\u003c1\u0026\u0026(e--,o*\u003d2),t+\u003de+f\u003e\u003d1?s/o:s*M(2,1-f),t*o\u003e\u003d2\u0026\u0026(e++,o/\u003d2),e+f\u003e\u003da?(i\u003d0,e\u003da):e+f\u003e\u003d1?(i\u003d(t*o-1)*M(2,n),e+\u003df):(i\u003dt*M(2,f-1)*M(2,n),e\u003d0));n\u003e\u003d8;u[l++]\u003d255\u0026i,i/\u003d256,n-\u003d8);for(e\u003de\u003c\u003cn|i,c+\u003dn;c\u003e0;u[l++]\u003d255\u0026e,e/\u003d256,c-\u003d8);return u[--l]|\u003d128*h,u}function unpackIEEE754(t,n,r){var e,i\u003d8*r-n-1,o\u003d(1\u003c\u003ci)-1,u\u003do\u003e\u003e1,c\u003di-7,a\u003dr-1,f\u003dt[a--],s\u003d127\u0026f;for(f\u003e\u003e\u003d7;c\u003e0;s\u003d256*s+t[a],a--,c-\u003d8);for(e\u003ds\u0026(1\u003c\u003c-c)-1,s\u003e\u003e\u003d-c,c+\u003dn;c\u003e0;e\u003d256*e+t[a],a--,c-\u003d8);if(0\u003d\u003d\u003ds)s\u003d1-u;else{if(s\u003d\u003d\u003do)return e?NaN:f?-E:E;e+\u003dM(2,n),s-\u003du}return(f?-1:1)*e*M(2,s-n)}function unpackI32(t){return t[3]\u003c\u003c24|t[2]\u003c\u003c16|t[1]\u003c\u003c8|t[0]}function packI8(t){return[255\u0026t]}function packI16(t){return[255\u0026t,t\u003e\u003e8\u0026255]}function packI32(t){return[255\u0026t,t\u003e\u003e8\u0026255,t\u003e\u003e16\u0026255,t\u003e\u003e24\u0026255]}function packF64(t){return packIEEE754(t,52,8)}function packF32(t){return packIEEE754(t,23,4)}function addGetter(t,n,r){d(t[m],n,{get:function(){return this[r]}})}function get(t,n,r,e){var i\u003d+r,o\u003dv(i);if(o+n\u003et[N])throw _(b);var u\u003dt[k]._b,c\u003do+t[j],a\u003du.slice(c,c+n);return e?a:a.reverse()}function set(t,n,r,e,i,o){var u\u003d+r,c\u003dv(u);if(c+n\u003et[N])throw _(b);for(var a\u003dt[k]._b,f\u003dc+t[j],s\u003de(+i),l\u003d0;l\u003cn;l++)a[f+l]\u003ds[o?l:n-l-1]}var e\u003dt(40),i\u003dt(29),o\u003dt(60),u\u003dt(123),c\u003dt(42),a\u003dt(93),f\u003dt(35),s\u003dt(6),l\u003dt(116),h\u003dt(118),v\u003dt(115),p\u003dt(77).f,d\u003dt(72).f,y\u003dt(9),g\u003dt(101),m\u003d\"prototype\",b\u003d\"Wrong index!\",x\u003de.ArrayBuffer,S\u003de.DataView,w\u003de.Math,_\u003de.RangeError,E\u003de.Infinity,O\u003dx,P\u003dw.abs,M\u003dw.pow,F\u003dw.floor,I\u003dw.log,A\u003dw.LN2,k\u003di?\"_b\":\"buffer\",N\u003di?\"_l\":\"byteLength\",j\u003di?\"_o\":\"byteOffset\";if(u.ABV){if(!f(function(){x(1)})||!f(function(){new x(-1)})||f(function(){return new x,new x(1.5),new x(NaN),\"ArrayBuffer\"!\u003dx.name})){x\u003dfunction ArrayBuffer(t){return s(this,x),new O(v(t))};for(var T,R\u003dx[m]\u003dO[m],L\u003dp(O),G\u003d0;L.length\u003eG;)(T\u003dL[G++])in x||c(x,T,O[T]);o||(R.constructor\u003dx)}var D\u003dnew S(new x(2)),C\u003dS[m].setInt8;D.setInt8(0,2147483648),D.setInt8(1,2147483649),!D.getInt8(0)\u0026\u0026D.getInt8(1)||a(S[m],{setInt8:function setInt8(t,n){C.call(this,t,n\u003c\u003c24\u003e\u003e24)},setUint8:function setUint8(t,n){C.call(this,t,n\u003c\u003c24\u003e\u003e24)}},!0)}else x\u003dfunction ArrayBuffer(t){s(this,x,\"ArrayBuffer\");var n\u003dv(t);this._b\u003dy.call(Array(n),0),this[N]\u003dn},S\u003dfunction DataView(t,n,r){s(this,S,\"DataView\"),s(t,x,\"DataView\");var e\u003dt[N],i\u003dl(n);if(i\u003c0||i\u003ee)throw _(\"Wrong offset!\");if(r\u003dvoid 0\u003d\u003d\u003dr?e-i:h(r),i+r\u003ee)throw _(\"Wrong length!\");this[k]\u003dt,this[j]\u003di,this[N]\u003dr},i\u0026\u0026(addGetter(x,\"byteLength\",\"_l\"),addGetter(S,\"buffer\",\"_b\"),addGetter(S,\"byteLength\",\"_l\"),addGetter(S,\"byteOffset\",\"_o\")),a(S[m],{getInt8:function getInt8(t){return get(this,1,t)[0]\u003c\u003c24\u003e\u003e24},getUint8:function getUint8(t){return get(this,1,t)[0]},getInt16:function getInt16(t){var n\u003dget(this,2,t,arguments[1]);return(n[1]\u003c\u003c8|n[0])\u003c\u003c16\u003e\u003e16},getUint16:function getUint16(t){var n\u003dget(this,2,t,arguments[1]);return n[1]\u003c\u003c8|n[0]},getInt32:function getInt32(t){return unpackI32(get(this,4,t,arguments[1]))},getUint32:function getUint32(t){return unpackI32(get(this,4,t,arguments[1]))\u003e\u003e\u003e0},getFloat32:function getFloat32(t){return unpackIEEE754(get(this,4,t,arguments[1]),23,4)},getFloat64:function getFloat64(t){return unpackIEEE754(get(this,8,t,arguments[1]),52,8)},setInt8:function setInt8(t,n){set(this,1,t,packI8,n)},setUint8:function setUint8(t,n){set(this,1,t,packI8,n)},setInt16:function setInt16(t,n){set(this,2,t,packI16,n,arguments[2])},setUint16:function setUint16(t,n){set(this,2,t,packI16,n,arguments[2])},setInt32:function setInt32(t,n){set(this,4,t,packI32,n,arguments[2])},setUint32:function setUint32(t,n){set(this,4,t,packI32,n,arguments[2])},setFloat32:function setFloat32(t,n){set(this,4,t,packF32,n,arguments[2])},setFloat64:function setFloat64(t,n){set(this,8,t,packF64,n,arguments[2])}});g(x,\"ArrayBuffer\"),g(S,\"DataView\"),c(S[m],u.VIEW,!0),r.ArrayBuffer\u003dx,r.DataView\u003dS},{101:101,115:115,116:116,118:118,123:123,29:29,35:35,40:40,42:42,6:6,60:60,72:72,77:77,9:9,93:93}],123:[function(t,n,r){for(var e,i\u003dt(40),o\u003dt(42),u\u003dt(124),c\u003du(\"typed_array\"),a\u003du(\"view\"),f\u003d!(!i.ArrayBuffer||!i.DataView),s\u003df,l\u003d0,h\u003d\"Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array\".split(\",\");l\u003c9;)(e\u003di[h[l++]])?(o(e.prototype,c,!0),o(e.prototype,a,!0)):s\u003d!1;n.exports\u003d{ABV:f,CONSTR:s,TYPED:c,VIEW:a}},{124:124,40:40,42:42}],124:[function(t,n,r){var e\u003d0,i\u003dMath.random();n.exports\u003dfunction(t){return\"Symbol(\".concat(void 0\u003d\u003d\u003dt?\"\":t,\")_\",(++e+i).toString(36))}},{}],125:[function(t,n,r){var e\u003dt(51);n.exports\u003dfunction(t,n){if(!e(t)||t._t!\u003d\u003dn)throw TypeError(\"Incompatible receiver, \"+n+\" required!\");return t}},{51:51}],126:[function(t,n,r){var e\u003dt(40),i\u003dt(23),o\u003dt(60),u\u003dt(127),c\u003dt(72).f;n.exports\u003dfunction(t){var n\u003di.Symbol||(i.Symbol\u003do?{}:e.Symbol||{});\"_\"\u003d\u003dt.charAt(0)||t in n||c(n,t,{value:u.f(t)})}},{127:127,23:23,40:40,60:60,72:72}],127:[function(t,n,r){r.f\u003dt(128)},{128:128}],128:[function(t,n,r){var e\u003dt(103)(\"wks\"),i\u003dt(124),o\u003dt(40).Symbol,u\u003d\"function\"\u003d\u003dtypeof o;(n.exports\u003dfunction(t){return e[t]||(e[t]\u003du\u0026\u0026o[t]||(u?o:i)(\"Symbol.\"+t))}).store\u003de},{103:103,124:124,40:40}],129:[function(t,n,r){var e\u003dt(17),i\u003dt(128)(\"iterator\"),o\u003dt(58);n.exports\u003dt(23).getIteratorMethod\u003dfunction(t){if(void 0!\u003dt)return t[i]||t[\"@@iterator\"]||o[e(t)]}},{128:128,17:17,23:23,58:58}],130:[function(t,n,r){var e\u003dt(33),i\u003dt(95)(/[\\\\^$*+?.()|[\\]{}]/g,\"\\\\$\u0026\");e(e.S,\"RegExp\",{escape:function escape(t){return i(t)}})},{33:33,95:95}],131:[function(t,n,r){var e\u003dt(33);e(e.P,\"Array\",{copyWithin:t(8)}),t(5)(\"copyWithin\")},{33:33,5:5,8:8}],132:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(4);e(e.P+e.F*!t(105)([].every,!0),\"Array\",{every:function every(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],133:[function(t,n,r){var e\u003dt(33);e(e.P,\"Array\",{fill:t(9)}),t(5)(\"fill\")},{33:33,5:5,9:9}],134:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(2);e(e.P+e.F*!t(105)([].filter,!0),\"Array\",{filter:function filter(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],135:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(6),o\u003d\"findIndex\",u\u003d!0;o in[]\u0026\u0026Array(1)[o](function(){u\u003d!1}),e(e.P+e.F*u,\"Array\",{findIndex:function findIndex(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0)}}),t(5)(o)},{12:12,33:33,5:5}],136:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(5),o\u003d!0;\"find\"in[]\u0026\u0026Array(1).find(function(){o\u003d!1}),e(e.P+e.F*o,\"Array\",{find:function find(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0)}}),t(5)(\"find\")},{12:12,33:33,5:5}],137:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(0),o\u003dt(105)([].forEach,!0);e(e.P+e.F*!o,\"Array\",{forEach:function forEach(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],138:[function(t,n,r){\"use strict\";var e\u003dt(25),i\u003dt(33),o\u003dt(119),u\u003dt(53),c\u003dt(48),a\u003dt(118),f\u003dt(24),s\u003dt(129);i(i.S+i.F*!t(56)(function(t){Array.from(t)}),\"Array\",{from:function from(t){var n,r,i,l,h\u003do(t),v\u003d\"function\"\u003d\u003dtypeof this?this:Array,p\u003darguments.length,d\u003dp\u003e1?arguments[1]:void 0,y\u003dvoid 0!\u003d\u003dd,g\u003d0,m\u003ds(h);if(y\u0026\u0026(d\u003de(d,p\u003e2?arguments[2]:void 0,2)),void 0\u003d\u003dm||v\u003d\u003dArray\u0026\u0026c(m))for(n\u003da(h.length),r\u003dnew v(n);n\u003eg;g++)f(r,g,y?d(h[g],g):h[g]);else for(l\u003dm.call(h),r\u003dnew v;!(i\u003dl.next()).done;g++)f(r,g,y?u(l,d,[i.value,g],!0):i.value);return r.length\u003dg,r}})},{118:118,119:119,129:129,24:24,25:25,33:33,48:48,53:53,56:56}],139:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(11)(!1),o\u003d[].indexOf,u\u003d!!o\u0026\u00261/[1].indexOf(1,-0)\u003c0;e(e.P+e.F*(u||!t(105)(o)),\"Array\",{indexOf:function indexOf(t){return u?o.apply(this,arguments)||0:i(this,t,arguments[1])}})},{105:105,11:11,33:33}],140:[function(t,n,r){var e\u003dt(33);e(e.S,\"Array\",{isArray:t(49)})},{33:33,49:49}],141:[function(t,n,r){\"use strict\";var e\u003dt(5),i\u003dt(57),o\u003dt(58),u\u003dt(117);n.exports\u003dt(55)(Array,\"Array\",function(t,n){this._t\u003du(t),this._i\u003d0,this._k\u003dn},function(){var t\u003dthis._t,n\u003dthis._k,r\u003dthis._i++;return!t||r\u003e\u003dt.length?(this._t\u003dvoid 0,i(1)):\"keys\"\u003d\u003dn?i(0,r):\"values\"\u003d\u003dn?i(0,t[r]):i(0,[r,t[r]])},\"values\"),o.Arguments\u003do.Array,e(\"keys\"),e(\"values\"),e(\"entries\")},{117:117,5:5,55:55,57:57,58:58}],142:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(117),o\u003d[].join;e(e.P+e.F*(t(47)!\u003dObject||!t(105)(o)),\"Array\",{join:function join(t){return o.call(i(this),void 0\u003d\u003d\u003dt?\",\":t)}})},{105:105,117:117,33:33,47:47}],143:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(117),o\u003dt(116),u\u003dt(118),c\u003d[].lastIndexOf,a\u003d!!c\u0026\u00261/[1].lastIndexOf(1,-0)\u003c0;e(e.P+e.F*(a||!t(105)(c)),\"Array\",{lastIndexOf:function lastIndexOf(t){if(a)return c.apply(this,arguments)||0;var n\u003di(this),r\u003du(n.length),e\u003dr-1;for(arguments.length\u003e1\u0026\u0026(e\u003dMath.min(e,o(arguments[1]))),e\u003c0\u0026\u0026(e\u003dr+e);e\u003e\u003d0;e--)if(e in n\u0026\u0026n[e]\u003d\u003d\u003dt)return e||0;return-1}})},{105:105,116:116,117:117,118:118,33:33}],144:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(1);e(e.P+e.F*!t(105)([].map,!0),\"Array\",{map:function map(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],145:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(24);e(e.S+e.F*t(35)(function(){function F(){}return!(Array.of.call(F)instanceof F)}),\"Array\",{of:function of(){for(var t\u003d0,n\u003darguments.length,r\u003dnew(\"function\"\u003d\u003dtypeof this?this:Array)(n);n\u003et;)i(r,t,arguments[t++]);return r.length\u003dn,r}})},{24:24,33:33,35:35}],146:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(13);e(e.P+e.F*!t(105)([].reduceRight,!0),\"Array\",{reduceRight:function reduceRight(t){return i(this,t,arguments.length,arguments[1],!0)}})},{105:105,13:13,33:33}],147:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(13);e(e.P+e.F*!t(105)([].reduce,!0),\"Array\",{reduce:function reduce(t){return i(this,t,arguments.length,arguments[1],!1)}})},{105:105,13:13,33:33}],148:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(43),o\u003dt(18),u\u003dt(114),c\u003dt(118),a\u003d[].slice;e(e.P+e.F*t(35)(function(){i\u0026\u0026a.call(i)}),\"Array\",{slice:function slice(t,n){var r\u003dc(this.length),e\u003do(this);if(n\u003dvoid 0\u003d\u003d\u003dn?r:n,\"Array\"\u003d\u003de)return a.call(this,t,n);for(var i\u003du(t,r),f\u003du(n,r),s\u003dc(f-i),l\u003dArray(s),h\u003d0;h\u003cs;h++)l[h]\u003d\"String\"\u003d\u003de?this.charAt(i+h):this[i+h];return l}})},{114:114,118:118,18:18,33:33,35:35,43:43}],149:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(3);e(e.P+e.F*!t(105)([].some,!0),\"Array\",{some:function some(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],150:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(3),o\u003dt(119),u\u003dt(35),c\u003d[].sort,a\u003d[1,2,3];e(e.P+e.F*(u(function(){a.sort(void 0)})||!u(function(){a.sort(null)})||!t(105)(c)),\"Array\",{sort:function sort(t){return void 0\u003d\u003d\u003dt?c.call(o(this)):c.call(o(this),i(t))}})},{105:105,119:119,3:3,33:33,35:35}],151:[function(t,n,r){t(100)(\"Array\")},{100:100}],152:[function(t,n,r){var e\u003dt(33);e(e.S,\"Date\",{now:function(){return(new Date).getTime()}})},{33:33}],153:[function(t,n,r){var e\u003dt(33),i\u003dt(26);e(e.P+e.F*(Date.prototype.toISOString!\u003d\u003di),\"Date\",{toISOString:i})},{26:26,33:33}],154:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(120);e(e.P+e.F*t(35)(function(){return null!\u003d\u003dnew Date(NaN).toJSON()||1!\u003d\u003dDate.prototype.toJSON.call({toISOString:function(){return 1}})}),\"Date\",{toJSON:function toJSON(t){var n\u003di(this),r\u003do(n);return\"number\"!\u003dtypeof r||isFinite(r)?n.toISOString():null}})},{119:119,120:120,33:33,35:35}],155:[function(t,n,r){var e\u003dt(128)(\"toPrimitive\"),i\u003dDate.prototype;e in i||t(42)(i,e,t(27))},{128:128,27:27,42:42}],156:[function(t,n,r){var e\u003dDate.prototype,i\u003de.toString,o\u003de.getTime;new Date(NaN)+\"\"!\u003d\"Invalid Date\"\u0026\u0026t(94)(e,\"toString\",function toString(){var t\u003do.call(this);return t\u003d\u003d\u003dt?i.call(this):\"Invalid Date\"})},{94:94}],157:[function(t,n,r){var e\u003dt(33);e(e.P,\"Function\",{bind:t(16)})},{16:16,33:33}],158:[function(t,n,r){\"use strict\";var e\u003dt(51),i\u003dt(79),o\u003dt(128)(\"hasInstance\"),u\u003dFunction.prototype;o in u||t(72).f(u,o,{value:function(t){if(\"function\"!\u003dtypeof this||!e(t))return!1;if(!e(this.prototype))return t instanceof this;for(;t\u003di(t);)if(this.prototype\u003d\u003d\u003dt)return!0;return!1}})},{128:128,51:51,72:72,79:79}],159:[function(t,n,r){var e\u003dt(72).f,i\u003dFunction.prototype,o\u003d/^\\s*function ([^ (]*)/;\"name\"in i||t(29)\u0026\u0026e(i,\"name\",{configurable:!0,get:function(){try{return(\"\"+this).match(o)[1]}catch(t){return\"\"}}})},{29:29,72:72}],160:[function(t,n,r){\"use strict\";var e\u003dt(19),i\u003dt(125);n.exports\u003dt(22)(\"Map\",function(t){return function Map(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},{get:function get(t){var n\u003de.getEntry(i(this,\"Map\"),t);return n\u0026\u0026n.v},set:function set(t,n){return e.def(i(this,\"Map\"),0\u003d\u003d\u003dt?0:t,n)}},e,!0)},{125:125,19:19,22:22}],161:[function(t,n,r){var e\u003dt(33),i\u003dt(63),o\u003dMath.sqrt,u\u003dMath.acosh;e(e.S+e.F*!(u\u0026\u0026710\u003d\u003dMath.floor(u(Number.MAX_VALUE))\u0026\u0026u(1/0)\u003d\u003d1/0),\"Math\",{acosh:function acosh(t){return(t\u003d+t)\u003c1?NaN:t\u003e94906265.62425156?Math.log(t)+Math.LN2:i(t-1+o(t-1)*o(t+1))}})},{33:33,63:63}],162:[function(t,n,r){function asinh(t){return isFinite(t\u003d+t)\u0026\u00260!\u003dt?t\u003c0?-asinh(-t):Math.log(t+Math.sqrt(t*t+1)):t}var e\u003dt(33),i\u003dMath.asinh;e(e.S+e.F*!(i\u0026\u00261/i(0)\u003e0),\"Math\",{asinh:asinh})},{33:33}],163:[function(t,n,r){var e\u003dt(33),i\u003dMath.atanh;e(e.S+e.F*!(i\u0026\u00261/i(-0)\u003c0),\"Math\",{atanh:function atanh(t){return 0\u003d\u003d(t\u003d+t)?t:Math.log((1+t)/(1-t))/2}})},{33:33}],164:[function(t,n,r){var e\u003dt(33),i\u003dt(65);e(e.S,\"Math\",{cbrt:function cbrt(t){return i(t\u003d+t)*Math.pow(Math.abs(t),1/3)}})},{33:33,65:65}],165:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{clz32:function clz32(t){return(t\u003e\u003e\u003e\u003d0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},{33:33}],166:[function(t,n,r){var e\u003dt(33),i\u003dMath.exp;e(e.S,\"Math\",{cosh:function cosh(t){return(i(t\u003d+t)+i(-t))/2}})},{33:33}],167:[function(t,n,r){var e\u003dt(33),i\u003dt(61);e(e.S+e.F*(i!\u003dMath.expm1),\"Math\",{expm1:i})},{33:33,61:61}],168:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{fround:t(62)})},{33:33,62:62}],169:[function(t,n,r){var e\u003dt(33),i\u003dMath.abs;e(e.S,\"Math\",{hypot:function hypot(t,n){for(var r,e,o\u003d0,u\u003d0,c\u003darguments.length,a\u003d0;u\u003cc;)r\u003di(arguments[u++]),a\u003cr?(e\u003da/r,o\u003do*e*e+1,a\u003dr):r\u003e0?(e\u003dr/a,o+\u003de*e):o+\u003dr;return a\u003d\u003d\u003d1/0?1/0:a*Math.sqrt(o)}})},{33:33}],170:[function(t,n,r){var e\u003dt(33),i\u003dMath.imul;e(e.S+e.F*t(35)(function(){return-5!\u003di(4294967295,5)||2!\u003di.length}),\"Math\",{imul:function imul(t,n){var r\u003d+t,e\u003d+n,i\u003d65535\u0026r,o\u003d65535\u0026e;return 0|i*o+((65535\u0026r\u003e\u003e\u003e16)*o+i*(65535\u0026e\u003e\u003e\u003e16)\u003c\u003c16\u003e\u003e\u003e0)}})},{33:33,35:35}],171:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{log10:function log10(t){return Math.log(t)*Math.LOG10E}})},{33:33}],172:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{log1p:t(63)})},{33:33,63:63}],173:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{log2:function log2(t){return Math.log(t)/Math.LN2}})},{33:33}],174:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{sign:t(65)})},{33:33,65:65}],175:[function(t,n,r){var e\u003dt(33),i\u003dt(61),o\u003dMath.exp;e(e.S+e.F*t(35)(function(){return-2e-17!\u003d!Math.sinh(-2e-17)}),\"Math\",{sinh:function sinh(t){return Math.abs(t\u003d+t)\u003c1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},{33:33,35:35,61:61}],176:[function(t,n,r){var e\u003dt(33),i\u003dt(61),o\u003dMath.exp;e(e.S,\"Math\",{tanh:function tanh(t){var n\u003di(t\u003d+t),r\u003di(-t);return n\u003d\u003d1/0?1:r\u003d\u003d1/0?-1:(n-r)/(o(t)+o(-t))}})},{33:33,61:61}],177:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{trunc:function trunc(t){return(t\u003e0?Math.floor:Math.ceil)(t)}})},{33:33}],178:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(41),o\u003dt(18),u\u003dt(45),c\u003dt(120),a\u003dt(35),f\u003dt(77).f,s\u003dt(75).f,l\u003dt(72).f,h\u003dt(111).trim,v\u003de.Number,p\u003dv,d\u003dv.prototype,y\u003d\"Number\"\u003d\u003do(t(71)(d)),g\u003d\"trim\"in String.prototype,m\u003dfunction(t){var n\u003dc(t,!1);if(\"string\"\u003d\u003dtypeof n\u0026\u0026n.length\u003e2){n\u003dg?n.trim():h(n,3);var r,e,i,o\u003dn.charCodeAt(0);if(43\u003d\u003d\u003do||45\u003d\u003d\u003do){if(88\u003d\u003d\u003d(r\u003dn.charCodeAt(2))||120\u003d\u003d\u003dr)return NaN}else if(48\u003d\u003d\u003do){switch(n.charCodeAt(1)){case 66:case 98:e\u003d2,i\u003d49;break;case 79:case 111:e\u003d8,i\u003d55;break;default:return+n}for(var u,a\u003dn.slice(2),f\u003d0,s\u003da.length;f\u003cs;f++)if((u\u003da.charCodeAt(f))\u003c48||u\u003ei)return NaN;return parseInt(a,e)}}return+n};if(!v(\" 0o1\")||!v(\"0b1\")||v(\"+0x1\")){v\u003dfunction Number(t){var n\u003darguments.length\u003c1?0:t,r\u003dthis;return r instanceof v\u0026\u0026(y?a(function(){d.valueOf.call(r)}):\"Number\"!\u003do(r))?u(new p(m(n)),r,v):m(n)};for(var b,x\u003dt(29)?f(p):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),S\u003d0;x.length\u003eS;S++)i(p,b\u003dx[S])\u0026\u0026!i(v,b)\u0026\u0026l(v,b,s(p,b));v.prototype\u003dd,d.constructor\u003dv,t(94)(e,\"Number\",v)}},{111:111,120:120,18:18,29:29,35:35,40:40,41:41,45:45,71:71,72:72,75:75,77:77,94:94}],179:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{EPSILON:Math.pow(2,-52)})},{33:33}],180:[function(t,n,r){var e\u003dt(33),i\u003dt(40).isFinite;e(e.S,\"Number\",{isFinite:function isFinite(t){return\"number\"\u003d\u003dtypeof t\u0026\u0026i(t)}})},{33:33,40:40}],181:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{isInteger:t(50)})},{33:33,50:50}],182:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{isNaN:function isNaN(t){return t!\u003dt}})},{33:33}],183:[function(t,n,r){var e\u003dt(33),i\u003dt(50),o\u003dMath.abs;e(e.S,\"Number\",{isSafeInteger:function isSafeInteger(t){return i(t)\u0026\u0026o(t)\u003c\u003d9007199254740991}})},{33:33,50:50}],184:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{MAX_SAFE_INTEGER:9007199254740991})},{33:33}],185:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{MIN_SAFE_INTEGER:-9007199254740991})},{33:33}],186:[function(t,n,r){var e\u003dt(33),i\u003dt(86);e(e.S+e.F*(Number.parseFloat!\u003di),\"Number\",{parseFloat:i})},{33:33,86:86}],187:[function(t,n,r){var e\u003dt(33),i\u003dt(87);e(e.S+e.F*(Number.parseInt!\u003di),\"Number\",{parseInt:i})},{33:33,87:87}],188:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(116),o\u003dt(4),u\u003dt(110),c\u003d1..toFixed,a\u003dMath.floor,f\u003d[0,0,0,0,0,0],s\u003d\"Number.toFixed: incorrect invocation!\",l\u003dfunction(t,n){for(var r\u003d-1,e\u003dn;++r\u003c6;)e+\u003dt*f[r],f[r]\u003de%1e7,e\u003da(e/1e7)},h\u003dfunction(t){for(var n\u003d6,r\u003d0;--n\u003e\u003d0;)r+\u003df[n],f[n]\u003da(r/t),r\u003dr%t*1e7},v\u003dfunction(){for(var t\u003d6,n\u003d\"\";--t\u003e\u003d0;)if(\"\"!\u003d\u003dn||0\u003d\u003d\u003dt||0!\u003d\u003df[t]){var r\u003dString(f[t]);n\u003d\"\"\u003d\u003d\u003dn?r:n+u.call(\"0\",7-r.length)+r}return n},p\u003dfunction(t,n,r){return 0\u003d\u003d\u003dn?r:n%2\u003d\u003d1?p(t,n-1,r*t):p(t*t,n/2,r)},d\u003dfunction(t){for(var n\u003d0,r\u003dt;r\u003e\u003d4096;)n+\u003d12,r/\u003d4096;for(;r\u003e\u003d2;)n+\u003d1,r/\u003d2;return n};e(e.P+e.F*(!!c\u0026\u0026(\"0.000\"!\u003d\u003d8e-5.toFixed(3)||\"1\"!\u003d\u003d.9.toFixed(0)||\"1.25\"!\u003d\u003d1.255.toFixed(2)||\"1000000000000000128\"!\u003d\u003d(0xde0b6b3a7640080).toFixed(0))||!t(35)(function(){c.call({})})),\"Number\",{toFixed:function toFixed(t){var n,r,e,c,a\u003do(this,s),f\u003di(t),y\u003d\"\",g\u003d\"0\";if(f\u003c0||f\u003e20)throw RangeError(s);if(a!\u003da)return\"NaN\";if(a\u003c\u003d-1e21||a\u003e\u003d1e21)return String(a);if(a\u003c0\u0026\u0026(y\u003d\"-\",a\u003d-a),a\u003e1e-21)if(n\u003dd(a*p(2,69,1))-69,r\u003dn\u003c0?a*p(2,-n,1):a/p(2,n,1),r*\u003d4503599627370496,(n\u003d52-n)\u003e0){for(l(0,r),e\u003df;e\u003e\u003d7;)l(1e7,0),e-\u003d7;for(l(p(10,e,1),0),e\u003dn-1;e\u003e\u003d23;)h(1\u003c\u003c23),e-\u003d23;h(1\u003c\u003ce),l(1,1),h(2),g\u003dv()}else l(0,r),l(1\u003c\u003c-n,0),g\u003dv()+u.call(\"0\",f);return f\u003e0?(c\u003dg.length,g\u003dy+(c\u003c\u003df?\"0.\"+u.call(\"0\",f-c)+g:g.slice(0,c-f)+\".\"+g.slice(c-f))):g\u003dy+g,g}})},{110:110,116:116,33:33,35:35,4:4}],189:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(35),o\u003dt(4),u\u003d1..toPrecision;e(e.P+e.F*(i(function(){return\"1\"!\u003d\u003du.call(1,void 0)})||!i(function(){u.call({})})),\"Number\",{toPrecision:function toPrecision(t){var n\u003do(this,\"Number#toPrecision: incorrect invocation!\");return void 0\u003d\u003d\u003dt?u.call(n):u.call(n,t)}})},{33:33,35:35,4:4}],190:[function(t,n,r){var e\u003dt(33);e(e.S+e.F,\"Object\",{assign:t(70)})},{33:33,70:70}],191:[function(t,n,r){var e\u003dt(33);e(e.S,\"Object\",{create:t(71)})},{33:33,71:71}],192:[function(t,n,r){var e\u003dt(33);e(e.S+e.F*!t(29),\"Object\",{defineProperties:t(73)})},{29:29,33:33,73:73}],193:[function(t,n,r){var e\u003dt(33);e(e.S+e.F*!t(29),\"Object\",{defineProperty:t(72).f})},{29:29,33:33,72:72}],194:[function(t,n,r){var e\u003dt(51),i\u003dt(66).onFreeze;t(83)(\"freeze\",function(t){return function freeze(n){return t\u0026\u0026e(n)?t(i(n)):n}})},{51:51,66:66,83:83}],195:[function(t,n,r){var e\u003dt(117),i\u003dt(75).f;t(83)(\"getOwnPropertyDescriptor\",function(){return function getOwnPropertyDescriptor(t,n){return i(e(t),n)}})},{117:117,75:75,83:83}],196:[function(t,n,r){t(83)(\"getOwnPropertyNames\",function(){return t(76).f})},{76:76,83:83}],197:[function(t,n,r){var e\u003dt(119),i\u003dt(79);t(83)(\"getPrototypeOf\",function(){return function getPrototypeOf(t){return i(e(t))}})},{119:119,79:79,83:83}],198:[function(t,n,r){var e\u003dt(51);t(83)(\"isExtensible\",function(t){return function isExtensible(n){return!!e(n)\u0026\u0026(!t||t(n))}})},{51:51,83:83}],199:[function(t,n,r){var e\u003dt(51);t(83)(\"isFrozen\",function(t){return function isFrozen(n){return!e(n)||!!t\u0026\u0026t(n)}})},{51:51,83:83}],200:[function(t,n,r){var e\u003dt(51);t(83)(\"isSealed\",function(t){return function isSealed(n){return!e(n)||!!t\u0026\u0026t(n)}})},{51:51,83:83}],201:[function(t,n,r){var e\u003dt(33);e(e.S,\"Object\",{is:t(96)})},{33:33,96:96}],202:[function(t,n,r){var e\u003dt(119),i\u003dt(81);t(83)(\"keys\",function(){return function keys(t){return i(e(t))}})},{119:119,81:81,83:83}],203:[function(t,n,r){var e\u003dt(51),i\u003dt(66).onFreeze;t(83)(\"preventExtensions\",function(t){return function preventExtensions(n){return t\u0026\u0026e(n)?t(i(n)):n}})},{51:51,66:66,83:83}],204:[function(t,n,r){var e\u003dt(51),i\u003dt(66).onFreeze;t(83)(\"seal\",function(t){return function seal(n){return t\u0026\u0026e(n)?t(i(n)):n}})},{51:51,66:66,83:83}],205:[function(t,n,r){var e\u003dt(33);e(e.S,\"Object\",{setPrototypeOf:t(99).set})},{33:33,99:99}],206:[function(t,n,r){\"use strict\";var e\u003dt(17),i\u003d{};i[t(128)(\"toStringTag\")]\u003d\"z\",i+\"\"!\u003d\"[object z]\"\u0026\u0026t(94)(Object.prototype,\"toString\",function toString(){return\"[object \"+e(this)+\"]\"},!0)},{128:128,17:17,94:94}],207:[function(t,n,r){var e\u003dt(33),i\u003dt(86);e(e.G+e.F*(parseFloat!\u003di),{parseFloat:i})},{33:33,86:86}],208:[function(t,n,r){var e\u003dt(33),i\u003dt(87);e(e.G+e.F*(parseInt!\u003di),{parseInt:i})},{33:33,87:87}],209:[function(t,n,r){\"use strict\";var e,i,o,u,c\u003dt(60),a\u003dt(40),f\u003dt(25),s\u003dt(17),l\u003dt(33),h\u003dt(51),v\u003dt(3),p\u003dt(6),d\u003dt(39),y\u003dt(104),g\u003dt(113).set,m\u003dt(68)(),b\u003dt(69),x\u003dt(90),S\u003dt(91),w\u003da.TypeError,_\u003da.process,E\u003da.Promise,O\u003d\"process\"\u003d\u003ds(_),P\u003dfunction(){},M\u003di\u003db.f,F\u003d!!function(){try{var n\u003dE.resolve(1),r\u003d(n.constructor\u003d{})[t(128)(\"species\")]\u003dfunction(t){t(P,P)};return(O||\"function\"\u003d\u003dtypeof PromiseRejectionEvent)\u0026\u0026n.then(P)instanceof r}catch(t){}}(),I\u003dc?function(t,n){return t\u003d\u003d\u003dn||t\u003d\u003d\u003dE\u0026\u0026n\u003d\u003d\u003du}:function(t,n){return t\u003d\u003d\u003dn},A\u003dfunction(t){var n;return!(!h(t)||\"function\"!\u003dtypeof(n\u003dt.then))\u0026\u0026n},k\u003dfunction(t,n){if(!t._n){t._n\u003d!0;var r\u003dt._c;m(function(){for(var e\u003dt._v,i\u003d1\u003d\u003dt._s,o\u003d0;r.length\u003eo;)!function(n){var r,o,u\u003di?n.ok:n.fail,c\u003dn.resolve,a\u003dn.reject,f\u003dn.domain;try{u?(i||(2\u003d\u003dt._h\u0026\u0026T(t),t._h\u003d1),!0\u003d\u003d\u003du?r\u003de:(f\u0026\u0026f.enter(),r\u003du(e),f\u0026\u0026f.exit()),r\u003d\u003d\u003dn.promise?a(w(\"Promise-chain cycle\")):(o\u003dA(r))?o.call(r,c,a):c(r)):a(e)}catch(t){a(t)}}(r[o++]);t._c\u003d[],t._n\u003d!1,n\u0026\u0026!t._h\u0026\u0026N(t)})}},N\u003dfunction(t){g.call(a,function(){var n,r,e,i\u003dt._v,o\u003dj(t);if(o\u0026\u0026(n\u003dx(function(){O?_.emit(\"unhandledRejection\",i,t):(r\u003da.onunhandledrejection)?r({promise:t,reason:i}):(e\u003da.console)\u0026\u0026e.error\u0026\u0026e.error(\"Unhandled promise rejection\",i)}),t._h\u003dO||j(t)?2:1),t._a\u003dvoid 0,o\u0026\u0026n.e)throw n.v})},j\u003dfunction(t){if(1\u003d\u003dt._h)return!1;for(var n,r\u003dt._a||t._c,e\u003d0;r.length\u003ee;)if(n\u003dr[e++],n.fail||!j(n.promise))return!1;return!0},T\u003dfunction(t){g.call(a,function(){var n;O?_.emit(\"rejectionHandled\",t):(n\u003da.onrejectionhandled)\u0026\u0026n({promise:t,reason:t._v})})},R\u003dfunction(t){var n\u003dthis;n._d||(n._d\u003d!0,n\u003dn._w||n,n._v\u003dt,n._s\u003d2,n._a||(n._a\u003dn._c.slice()),k(n,!0))},L\u003dfunction(t){var n,r\u003dthis;if(!r._d){r._d\u003d!0,r\u003dr._w||r;try{if(r\u003d\u003d\u003dt)throw w(\"Promise can\u0027t be resolved itself\");(n\u003dA(t))?m(function(){var e\u003d{_w:r,_d:!1};try{n.call(t,f(L,e,1),f(R,e,1))}catch(t){R.call(e,t)}}):(r._v\u003dt,r._s\u003d1,k(r,!1))}catch(t){R.call({_w:r,_d:!1},t)}}};F||(E\u003dfunction Promise(t){p(this,E,\"Promise\",\"_h\"),v(t),e.call(this);try{t(f(L,this,1),f(R,this,1))}catch(t){R.call(this,t)}},e\u003dfunction Promise(t){this._c\u003d[],this._a\u003dvoid 0,this._s\u003d0,this._d\u003d!1,this._v\u003dvoid 0,this._h\u003d0,this._n\u003d!1},e.prototype\u003dt(93)(E.prototype,{then:function then(t,n){var r\u003dM(y(this,E));return r.ok\u003d\"function\"!\u003dtypeof t||t,r.fail\u003d\"function\"\u003d\u003dtypeof n\u0026\u0026n,r.domain\u003dO?_.domain:void 0,this._c.push(r),this._a\u0026\u0026this._a.push(r),this._s\u0026\u0026k(this,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o\u003dfunction(){var t\u003dnew e;this.promise\u003dt,this.resolve\u003df(L,t,1),this.reject\u003df(R,t,1)},b.f\u003dM\u003dfunction(t){return I(E,t)?new o(t):i(t)}),l(l.G+l.W+l.F*!F,{Promise:E}),t(101)(E,\"Promise\"),t(100)(\"Promise\"),u\u003dt(23).Promise,l(l.S+l.F*!F,\"Promise\",{reject:function reject(t){var n\u003dM(this);return(0,n.reject)(t),n.promise}}),l(l.S+l.F*(c||!F),\"Promise\",{resolve:function resolve(t){return t instanceof E\u0026\u0026I(t.constructor,this)?t:S(this,t)}}),l(l.S+l.F*!(F\u0026\u0026t(56)(function(t){E.all(t).catch(P)})),\"Promise\",{all:function all(t){var n\u003dthis,r\u003dM(n),e\u003dr.resolve,i\u003dr.reject,o\u003dx(function(){var r\u003d[],o\u003d0,u\u003d1;d(t,!1,function(t){var c\u003do++,a\u003d!1;r.push(void 0),u++,n.resolve(t).then(function(t){a||(a\u003d!0,r[c]\u003dt,--u||e(r))},i)}),--u||e(r)});return o.e\u0026\u0026i(o.v),r.promise},race:function race(t){var n\u003dthis,r\u003dM(n),e\u003dr.reject,i\u003dx(function(){d(t,!1,function(t){n.resolve(t).then(r.resolve,e)})});return i.e\u0026\u0026e(i.v),r.promise}})},{100:100,101:101,104:104,113:113,128:128,17:17,23:23,25:25,"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":"3:3,33:33,39:39,40:40,51:51,56:56,6:6,60:60,68:68,69:69,90:90,91:91,93:93}],210:[function(t,n,r){var e\u003dt(33),i\u003dt(3),o\u003dt(7),u\u003d(t(40).Reflect||{}).apply,c\u003dFunction.apply;e(e.S+e.F*!t(35)(function(){u(function(){})}),\"Reflect\",{apply:function apply(t,n,r){var e\u003di(t),a\u003do(r);return u?u(e,n,a):c.call(e,n,a)}})},{3:3,33:33,35:35,40:40,7:7}],211:[function(t,n,r){var e\u003dt(33),i\u003dt(71),o\u003dt(3),u\u003dt(7),c\u003dt(51),a\u003dt(35),f\u003dt(16),s\u003d(t(40).Reflect||{}).construct,l\u003da(function(){function F(){}return!(s(function(){},[],F)instanceof F)}),h\u003d!a(function(){s(function(){})});e(e.S+e.F*(l||h),\"Reflect\",{construct:function construct(t,n){o(t),u(n);var r\u003darguments.length\u003c3?t:o(arguments[2]);if(h\u0026\u0026!l)return s(t,n,r);if(t\u003d\u003dr){switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3])}var e\u003d[null];return e.push.apply(e,n),new(f.apply(t,e))}var a\u003dr.prototype,v\u003di(c(a)?a:Object.prototype),p\u003dFunction.apply.call(t,v,n);return c(p)?p:v}})},{16:16,3:3,33:33,35:35,40:40,51:51,7:7,71:71}],212:[function(t,n,r){var e\u003dt(72),i\u003dt(33),o\u003dt(7),u\u003dt(120);i(i.S+i.F*t(35)(function(){Reflect.defineProperty(e.f({},1,{value:1}),1,{value:2})}),\"Reflect\",{defineProperty:function defineProperty(t,n,r){o(t),n\u003du(n,!0),o(r);try{return e.f(t,n,r),!0}catch(t){return!1}}})},{120:120,33:33,35:35,7:7,72:72}],213:[function(t,n,r){var e\u003dt(33),i\u003dt(75).f,o\u003dt(7);e(e.S,\"Reflect\",{deleteProperty:function deleteProperty(t,n){var r\u003di(o(t),n);return!(r\u0026\u0026!r.configurable)\u0026\u0026delete t[n]}})},{33:33,7:7,75:75}],214:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(7),o\u003dfunction(t){this._t\u003di(t),this._i\u003d0;var n,r\u003dthis._k\u003d[];for(n in t)r.push(n)};t(54)(o,\"Object\",function(){var t,n\u003dthis,r\u003dn._k;do{if(n._i\u003e\u003dr.length)return{value:void 0,done:!0}}while(!((t\u003dr[n._i++])in n._t));return{value:t,done:!1}}),e(e.S,\"Reflect\",{enumerate:function enumerate(t){return new o(t)}})},{33:33,54:54,7:7}],215:[function(t,n,r){var e\u003dt(75),i\u003dt(33),o\u003dt(7);i(i.S,\"Reflect\",{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(t,n){return e.f(o(t),n)}})},{33:33,7:7,75:75}],216:[function(t,n,r){var e\u003dt(33),i\u003dt(79),o\u003dt(7);e(e.S,\"Reflect\",{getPrototypeOf:function getPrototypeOf(t){return i(o(t))}})},{33:33,7:7,79:79}],217:[function(t,n,r){function get(t,n){var r,u,f\u003darguments.length\u003c3?t:arguments[2];return a(t)\u003d\u003d\u003df?t[n]:(r\u003de.f(t,n))?o(r,\"value\")?r.value:void 0!\u003d\u003dr.get?r.get.call(f):void 0:c(u\u003di(t))?get(u,n,f):void 0}var e\u003dt(75),i\u003dt(79),o\u003dt(41),u\u003dt(33),c\u003dt(51),a\u003dt(7);u(u.S,\"Reflect\",{get:get})},{33:33,41:41,51:51,7:7,75:75,79:79}],218:[function(t,n,r){var e\u003dt(33);e(e.S,\"Reflect\",{has:function has(t,n){return n in t}})},{33:33}],219:[function(t,n,r){var e\u003dt(33),i\u003dt(7),o\u003dObject.isExtensible;e(e.S,\"Reflect\",{isExtensible:function isExtensible(t){return i(t),!o||o(t)}})},{33:33,7:7}],220:[function(t,n,r){var e\u003dt(33);e(e.S,\"Reflect\",{ownKeys:t(85)})},{33:33,85:85}],221:[function(t,n,r){var e\u003dt(33),i\u003dt(7),o\u003dObject.preventExtensions;e(e.S,\"Reflect\",{preventExtensions:function preventExtensions(t){i(t);try{return o\u0026\u0026o(t),!0}catch(t){return!1}}})},{33:33,7:7}],222:[function(t,n,r){var e\u003dt(33),i\u003dt(99);i\u0026\u0026e(e.S,\"Reflect\",{setPrototypeOf:function setPrototypeOf(t,n){i.check(t,n);try{return i.set(t,n),!0}catch(t){return!1}}})},{33:33,99:99}],223:[function(t,n,r){function set(t,n,r){var c,l,h\u003darguments.length\u003c4?t:arguments[3],v\u003di.f(f(t),n);if(!v){if(s(l\u003do(t)))return set(l,n,r,h);v\u003da(0)}return u(v,\"value\")?!(!1\u003d\u003d\u003dv.writable||!s(h))\u0026\u0026(c\u003di.f(h,n)||a(0),c.value\u003dr,e.f(h,n,c),!0):void 0!\u003d\u003dv.set\u0026\u0026(v.set.call(h,r),!0)}var e\u003dt(72),i\u003dt(75),o\u003dt(79),u\u003dt(41),c\u003dt(33),a\u003dt(92),f\u003dt(7),s\u003dt(51);c(c.S,\"Reflect\",{set:set})},{33:33,41:41,51:51,7:7,72:72,75:75,79:79,92:92}],224:[function(t,n,r){var e\u003dt(40),i\u003dt(45),o\u003dt(72).f,u\u003dt(77).f,c\u003dt(52),a\u003dt(37),f\u003de.RegExp,s\u003df,l\u003df.prototype,h\u003d/a/g,v\u003d/a/g,p\u003dnew f(h)!\u003d\u003dh;if(t(29)\u0026\u0026(!p||t(35)(function(){return v[t(128)(\"match\")]\u003d!1,f(h)!\u003dh||f(v)\u003d\u003dv||\"/a/i\"!\u003df(h,\"i\")}))){f\u003dfunction RegExp(t,n){var r\u003dthis instanceof f,e\u003dc(t),o\u003dvoid 0\u003d\u003d\u003dn;return!r\u0026\u0026e\u0026\u0026t.constructor\u003d\u003d\u003df\u0026\u0026o?t:i(p?new s(e\u0026\u0026!o?t.source:t,n):s((e\u003dt instanceof f)?t.source:t,e\u0026\u0026o?a.call(t):n),r?this:l,f)};for(var d\u003du(s),y\u003d0;d.length\u003ey;)!function(t){t in f||o(f,t,{configurable:!0,get:function(){return s[t]},set:function(n){s[t]\u003dn}})}(d[y++]);l.constructor\u003df,f.prototype\u003dl,t(94)(e,\"RegExp\",f)}t(100)(\"RegExp\")},{100:100,128:128,29:29,35:35,37:37,40:40,45:45,52:52,72:72,77:77,94:94}],225:[function(t,n,r){t(29)\u0026\u0026\"g\"!\u003d/./g.flags\u0026\u0026t(72).f(RegExp.prototype,\"flags\",{configurable:!0,get:t(37)})},{29:29,37:37,72:72}],226:[function(t,n,r){t(36)(\"match\",1,function(t,n,r){return[function match(r){\"use strict\";var e\u003dt(this),i\u003dvoid 0\u003d\u003dr?void 0:r[n];return void 0!\u003d\u003di?i.call(r,e):new RegExp(r)[n](String(e))},r]})},{36:36}],227:[function(t,n,r){t(36)(\"replace\",2,function(t,n,r){return[function replace(e,i){\"use strict\";var o\u003dt(this),u\u003dvoid 0\u003d\u003de?void 0:e[n];return void 0!\u003d\u003du?u.call(e,o,i):r.call(String(o),e,i)},r]})},{36:36}],228:[function(t,n,r){t(36)(\"search\",1,function(t,n,r){return[function search(r){\"use strict\";var e\u003dt(this),i\u003dvoid 0\u003d\u003dr?void 0:r[n];return void 0!\u003d\u003di?i.call(r,e):new RegExp(r)[n](String(e))},r]})},{36:36}],229:[function(t,n,r){t(36)(\"split\",2,function(n,r,e){\"use strict\";var i\u003dt(52),o\u003de,u\u003d[].push,c\u003d\"length\";if(\"c\"\u003d\u003d\"abbc\".split(/(b)*/)[1]||4!\u003d\"test\".split(/(?:)/,-1)[c]||2!\u003d\"ab\".split(/(?:ab)*/)[c]||4!\u003d\".\".split(/(.?)(.?)/)[c]||\".\".split(/()()/)[c]\u003e1||\"\".split(/.?/)[c]){var a\u003dvoid 0\u003d\u003d\u003d/()??/.exec(\"\")[1];e\u003dfunction(t,n){var r\u003dString(this);if(void 0\u003d\u003d\u003dt\u0026\u00260\u003d\u003d\u003dn)return[];if(!i(t))return o.call(r,t,n);var e,f,s,l,h,v\u003d[],p\u003d(t.ignoreCase?\"i\":\"\")+(t.multiline?\"m\":\"\")+(t.unicode?\"u\":\"\")+(t.sticky?\"y\":\"\"),d\u003d0,y\u003dvoid 0\u003d\u003d\u003dn?4294967295:n\u003e\u003e\u003e0,g\u003dnew RegExp(t.source,p+\"g\");for(a||(e\u003dnew RegExp(\"^\"+g.source+\"$(?!\\\\s)\",p));(f\u003dg.exec(r))\u0026\u0026!((s\u003df.index+f[0][c])\u003ed\u0026\u0026(v.push(r.slice(d,f.index)),!a\u0026\u0026f[c]\u003e1\u0026\u0026f[0].replace(e,function(){for(h\u003d1;h\u003carguments[c]-2;h++)void 0\u003d\u003d\u003darguments[h]\u0026\u0026(f[h]\u003dvoid 0)}),f[c]\u003e1\u0026\u0026f.index\u003cr[c]\u0026\u0026u.apply(v,f.slice(1)),l\u003df[0][c],d\u003ds,v[c]\u003e\u003dy));)g.lastIndex\u003d\u003d\u003df.index\u0026\u0026g.lastIndex++;return d\u003d\u003d\u003dr[c]?!l\u0026\u0026g.test(\"\")||v.push(\"\"):v.push(r.slice(d)),v[c]\u003ey?v.slice(0,y):v}}else\"0\".split(void 0,0)[c]\u0026\u0026(e\u003dfunction(t,n){return void 0\u003d\u003d\u003dt\u0026\u00260\u003d\u003d\u003dn?[]:o.call(this,t,n)});return[function split(t,i){var o\u003dn(this),u\u003dvoid 0\u003d\u003dt?void 0:t[r];return void 0!\u003d\u003du?u.call(t,o,i):e.call(String(o),t,i)},e]})},{36:36,52:52}],230:[function(t,n,r){\"use strict\";t(225);var e\u003dt(7),i\u003dt(37),o\u003dt(29),u\u003d/./.toString,c\u003dfunction(n){t(94)(RegExp.prototype,\"toString\",n,!0)};t(35)(function(){return\"/a/b\"!\u003du.call({source:\"a\",flags:\"b\"})})?c(function toString(){var t\u003de(this);return\"/\".concat(t.source,\"/\",\"flags\"in t?t.flags:!o\u0026\u0026t instanceof RegExp?i.call(t):void 0)}):\"toString\"!\u003du.name\u0026\u0026c(function toString(){return u.call(this)})},{225:225,29:29,35:35,37:37,7:7,94:94}],231:[function(t,n,r){\"use strict\";var e\u003dt(19),i\u003dt(125);n.exports\u003dt(22)(\"Set\",function(t){return function Set(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},{add:function add(t){return e.def(i(this,\"Set\"),t\u003d0\u003d\u003d\u003dt?0:t,t)}},e)},{125:125,19:19,22:22}],232:[function(t,n,r){\"use strict\";t(108)(\"anchor\",function(t){return function anchor(n){return t(this,\"a\",\"name\",n)}})},{108:108}],233:[function(t,n,r){\"use strict\";t(108)(\"big\",function(t){return function big(){return t(this,\"big\",\"\",\"\")}})},{108:108}],234:[function(t,n,r){\"use strict\";t(108)(\"blink\",function(t){return function blink(){return t(this,\"blink\",\"\",\"\")}})},{108:108}],235:[function(t,n,r){\"use strict\";t(108)(\"bold\",function(t){return function bold(){return t(this,\"b\",\"\",\"\")}})},{108:108}],236:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(106)(!1);e(e.P,\"String\",{codePointAt:function codePointAt(t){return i(this,t)}})},{106:106,33:33}],237:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(118),o\u003dt(107),u\u003d\"\".endsWith;e(e.P+e.F*t(34)(\"endsWith\"),\"String\",{endsWith:function endsWith(t){var n\u003do(this,t,\"endsWith\"),r\u003darguments.length\u003e1?arguments[1]:void 0,e\u003di(n.length),c\u003dvoid 0\u003d\u003d\u003dr?e:Math.min(i(r),e),a\u003dString(t);return u?u.call(n,a,c):n.slice(c-a.length,c)\u003d\u003d\u003da}})},{107:107,118:118,33:33,34:34}],238:[function(t,n,r){\"use strict\";t(108)(\"fixed\",function(t){return function fixed(){return t(this,\"tt\",\"\",\"\")}})},{108:108}],239:[function(t,n,r){\"use strict\";t(108)(\"fontcolor\",function(t){return function fontcolor(n){return t(this,\"font\",\"color\",n)}})},{108:108}],240:[function(t,n,r){\"use strict\";t(108)(\"fontsize\",function(t){return function fontsize(n){return t(this,\"font\",\"size\",n)}})},{108:108}],241:[function(t,n,r){var e\u003dt(33),i\u003dt(114),o\u003dString.fromCharCode,u\u003dString.fromCodePoint;e(e.S+e.F*(!!u\u0026\u00261!\u003du.length),\"String\",{fromCodePoint:function fromCodePoint(t){for(var n,r\u003d[],e\u003darguments.length,u\u003d0;e\u003eu;){if(n\u003d+arguments[u++],i(n,1114111)!\u003d\u003dn)throw RangeError(n+\" is not a valid code point\");r.push(n\u003c65536?o(n):o(55296+((n-\u003d65536)\u003e\u003e10),n%1024+56320))}return r.join(\"\")}})},{114:114,33:33}],242:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(107);e(e.P+e.F*t(34)(\"includes\"),\"String\",{includes:function includes(t){return!!~i(this,t,\"includes\").indexOf(t,arguments.length\u003e1?arguments[1]:void 0)}})},{107:107,33:33,34:34}],243:[function(t,n,r){\"use strict\";t(108)(\"italics\",function(t){return function italics(){return t(this,\"i\",\"\",\"\")}})},{108:108}],244:[function(t,n,r){\"use strict\";var e\u003dt(106)(!0);t(55)(String,\"String\",function(t){this._t\u003dString(t),this._i\u003d0},function(){var t,n\u003dthis._t,r\u003dthis._i;return r\u003e\u003dn.length?{value:void 0,done:!0}:(t\u003de(n,r),this._i+\u003dt.length,{value:t,done:!1})})},{106:106,55:55}],245:[function(t,n,r){\"use strict\";t(108)(\"link\",function(t){return function link(n){return t(this,\"a\",\"href\",n)}})},{108:108}],246:[function(t,n,r){var e\u003dt(33),i\u003dt(117),o\u003dt(118);e(e.S,\"String\",{raw:function raw(t){for(var n\u003di(t.raw),r\u003do(n.length),e\u003darguments.length,u\u003d[],c\u003d0;r\u003ec;)u.push(String(n[c++])),c\u003ce\u0026\u0026u.push(String(arguments[c]));return u.join(\"\")}})},{117:117,118:118,33:33}],247:[function(t,n,r){var e\u003dt(33);e(e.P,\"String\",{repeat:t(110)})},{110:110,33:33}],248:[function(t,n,r){\"use strict\";t(108)(\"small\",function(t){return function small(){return t(this,\"small\",\"\",\"\")}})},{108:108}],249:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(118),o\u003dt(107),u\u003d\"\".startsWith;e(e.P+e.F*t(34)(\"startsWith\"),\"String\",{startsWith:function startsWith(t){var n\u003do(this,t,\"startsWith\"),r\u003di(Math.min(arguments.length\u003e1?arguments[1]:void 0,n.length)),e\u003dString(t);return u?u.call(n,e,r):n.slice(r,r+e.length)\u003d\u003d\u003de}})},{107:107,118:118,33:33,34:34}],250:[function(t,n,r){\"use strict\";t(108)(\"strike\",function(t){return function strike(){return t(this,\"strike\",\"\",\"\")}})},{108:108}],251:[function(t,n,r){\"use strict\";t(108)(\"sub\",function(t){return function sub(){return t(this,\"sub\",\"\",\"\")}})},{108:108}],252:[function(t,n,r){\"use strict\";t(108)(\"sup\",function(t){return function sup(){return t(this,\"sup\",\"\",\"\")}})},{108:108}],253:[function(t,n,r){\"use strict\";t(111)(\"trim\",function(t){return function trim(){return t(this,3)}})},{111:111}],254:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(41),o\u003dt(29),u\u003dt(33),c\u003dt(94),a\u003dt(66).KEY,f\u003dt(35),s\u003dt(103),l\u003dt(101),h\u003dt(124),v\u003dt(128),p\u003dt(127),d\u003dt(126),y\u003dt(59),g\u003dt(32),m\u003dt(49),b\u003dt(7),x\u003dt(117),S\u003dt(120),w\u003dt(92),_\u003dt(71),E\u003dt(76),O\u003dt(75),P\u003dt(72),M\u003dt(81),F\u003dO.f,I\u003dP.f,A\u003dE.f,k\u003de.Symbol,N\u003de.JSON,j\u003dN\u0026\u0026N.stringify,T\u003dv(\"_hidden\"),R\u003dv(\"toPrimitive\"),L\u003d{}.propertyIsEnumerable,G\u003ds(\"symbol-registry\"),D\u003ds(\"symbols\"),C\u003ds(\"op-symbols\"),W\u003dObject.prototype,U\u003d\"function\"\u003d\u003dtypeof k,B\u003de.QObject,V\u003d!B||!B.prototype||!B.prototype.findChild,z\u003do\u0026\u0026f(function(){return 7!\u003d_(I({},\"a\",{get:function(){return I(this,\"a\",{value:7}).a}})).a})?function(t,n,r){var e\u003dF(W,n);e\u0026\u0026delete W[n],I(t,n,r),e\u0026\u0026t!\u003d\u003dW\u0026\u0026I(W,n,e)}:I,q\u003dfunction(t){var n\u003dD[t]\u003d_(k.prototype);return n._k\u003dt,n},K\u003dU\u0026\u0026\"symbol\"\u003d\u003dtypeof k.iterator?function(t){return\"symbol\"\u003d\u003dtypeof t}:function(t){return t instanceof k},Y\u003dfunction defineProperty(t,n,r){return t\u003d\u003d\u003dW\u0026\u0026Y(C,n,r),b(t),n\u003dS(n,!0),b(r),i(D,n)?(r.enumerable?(i(t,T)\u0026\u0026t[T][n]\u0026\u0026(t[T][n]\u003d!1),r\u003d_(r,{enumerable:w(0,!1)})):(i(t,T)||I(t,T,w(1,{})),t[T][n]\u003d!0),z(t,n,r)):I(t,n,r)},J\u003dfunction defineProperties(t,n){b(t);for(var r,e\u003dg(n\u003dx(n)),i\u003d0,o\u003de.length;o\u003ei;)Y(t,r\u003de[i++],n[r]);return t},H\u003dfunction create(t,n){return void 0\u003d\u003d\u003dn?_(t):J(_(t),n)},X\u003dfunction propertyIsEnumerable(t){var n\u003dL.call(this,t\u003dS(t,!0));return!(this\u003d\u003d\u003dW\u0026\u0026i(D,t)\u0026\u0026!i(C,t))\u0026\u0026(!(n||!i(this,t)||!i(D,t)||i(this,T)\u0026\u0026this[T][t])||n)},$\u003dfunction getOwnPropertyDescriptor(t,n){if(t\u003dx(t),n\u003dS(n,!0),t!\u003d\u003dW||!i(D,n)||i(C,n)){var r\u003dF(t,n);return!r||!i(D,n)||i(t,T)\u0026\u0026t[T][n]||(r.enumerable\u003d!0),r}},Z\u003dfunction getOwnPropertyNames(t){for(var n,r\u003dA(x(t)),e\u003d[],o\u003d0;r.length\u003eo;)i(D,n\u003dr[o++])||n\u003d\u003dT||n\u003d\u003da||e.push(n);return e},Q\u003dfunction getOwnPropertySymbols(t){for(var n,r\u003dt\u003d\u003d\u003dW,e\u003dA(r?C:x(t)),o\u003d[],u\u003d0;e.length\u003eu;)!i(D,n\u003de[u++])||r\u0026\u0026!i(W,n)||o.push(D[n]);return o};U||(k\u003dfunction Symbol(){if(this instanceof k)throw TypeError(\"Symbol is not a constructor!\");var t\u003dh(arguments.length\u003e0?arguments[0]:void 0),n\u003dfunction(r){this\u003d\u003d\u003dW\u0026\u0026n.call(C,r),i(this,T)\u0026\u0026i(this[T],t)\u0026\u0026(this[T][t]\u003d!1),z(this,t,w(1,r))};return o\u0026\u0026V\u0026\u0026z(W,t,{configurable:!0,set:n}),q(t)},c(k.prototype,\"toString\",function toString(){return this._k}),O.f\u003d$,P.f\u003dY,t(77).f\u003dE.f\u003dZ,t(82).f\u003dX,t(78).f\u003dQ,o\u0026\u0026!t(60)\u0026\u0026c(W,\"propertyIsEnumerable\",X,!0),p.f\u003dfunction(t){return q(v(t))}),u(u.G+u.W+u.F*!U,{Symbol:k});for(var tt\u003d\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),nt\u003d0;tt.length\u003ent;)v(tt[nt++]);for(var rt\u003dM(v.store),et\u003d0;rt.length\u003eet;)d(rt[et++]);u(u.S+u.F*!U,\"Symbol\",{for:function(t){return i(G,t+\u003d\"\")?G[t]:G[t]\u003dk(t)},keyFor:function keyFor(t){if(K(t))return y(G,t);throw TypeError(t+\" is not a symbol!\")},useSetter:function(){V\u003d!0},useSimple:function(){V\u003d!1}}),u(u.S+u.F*!U,\"Object\",{create:H,defineProperty:Y,defineProperties:J,getOwnPropertyDescriptor:$,getOwnPropertyNames:Z,getOwnPropertySymbols:Q}),N\u0026\u0026u(u.S+u.F*(!U||f(function(){var t\u003dk();return\"[null]\"!\u003dj([t])||\"{}\"!\u003dj({a:t})||\"{}\"!\u003dj(Object(t))})),\"JSON\",{stringify:function stringify(t){if(void 0!\u003d\u003dt\u0026\u0026!K(t)){for(var n,r,e\u003d[t],i\u003d1;arguments.length\u003ei;)e.push(arguments[i++]);return n\u003de[1],\"function\"\u003d\u003dtypeof n\u0026\u0026(r\u003dn),!r\u0026\u0026m(n)||(n\u003dfunction(t,n){if(r\u0026\u0026(n\u003dr.call(this,t,n)),!K(n))return n}),e[1]\u003dn,j.apply(N,e)}}}),k.prototype[R]||t(42)(k.prototype,R,k.prototype.valueOf),l(k,\"Symbol\"),l(Math,\"Math\",!0),l(e.JSON,\"JSON\",!0)},{101:101,103:103,117:117,120:120,124:124,126:126,127:127,128:128,29:29,32:32,33:33,35:35,40:40,41:41,42:42,49:49,59:59,60:60,66:66,7:7,71:71,72:72,75:75,76:76,77:77,78:78,81:81,82:82,92:92,94:94}],255:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(123),o\u003dt(122),u\u003dt(7),c\u003dt(114),a\u003dt(118),f\u003dt(51),s\u003dt(40).ArrayBuffer,l\u003dt(104),h\u003do.ArrayBuffer,v\u003do.DataView,p\u003di.ABV\u0026\u0026s.isView,d\u003dh.prototype.slice,y\u003di.VIEW;e(e.G+e.W+e.F*(s!\u003d\u003dh),{ArrayBuffer:h}),e(e.S+e.F*!i.CONSTR,\"ArrayBuffer\",{isView:function isView(t){return p\u0026\u0026p(t)||f(t)\u0026\u0026y in t}}),e(e.P+e.U+e.F*t(35)(function(){return!new h(2).slice(1,void 0).byteLength}),\"ArrayBuffer\",{slice:function slice(t,n){if(void 0!\u003d\u003dd\u0026\u0026void 0\u003d\u003d\u003dn)return d.call(u(this),t);for(var r\u003du(this).byteLength,e\u003dc(t,r),i\u003dc(void 0\u003d\u003d\u003dn?r:n,r),o\u003dnew(l(this,h))(a(i-e)),f\u003dnew v(this),s\u003dnew v(o),p\u003d0;e\u003ci;)s.setUint8(p++,f.getUint8(e++));return o}}),t(100)(\"ArrayBuffer\")},{100:100,104:104,114:114,118:118,122:122,123:123,33:33,35:35,40:40,51:51,7:7}],256:[function(t,n,r){var e\u003dt(33);e(e.G+e.W+e.F*!t(123).ABV,{DataView:t(122).DataView})},{122:122,123:123,33:33}],257:[function(t,n,r){t(121)(\"Float32\",4,function(t){return function Float32Array(n,r,e){return t(this,n,r,e)}})},{121:121}],258:[function(t,n,r){t(121)(\"Float64\",8,function(t){return function Float64Array(n,r,e){return t(this,n,r,e)}})},{121:121}],259:[function(t,n,r){t(121)(\"Int16\",2,function(t){return function Int16Array(n,r,e){return t(this,n,r,e)}})},{121:121}],260:[function(t,n,r){t(121)(\"Int32\",4,function(t){return function Int32Array(n,r,e){return t(this,n,r,e)}})},{121:121}],261:[function(t,n,r){t(121)(\"Int8\",1,function(t){return function Int8Array(n,r,e){return t(this,n,r,e)}})},{121:121}],262:[function(t,n,r){t(121)(\"Uint16\",2,function(t){return function Uint16Array(n,r,e){return t(this,n,r,e)}})},{121:121}],263:[function(t,n,r){t(121)(\"Uint32\",4,function(t){return function Uint32Array(n,r,e){return t(this,n,r,e)}})},{121:121}],264:[function(t,n,r){t(121)(\"Uint8\",1,function(t){return function Uint8Array(n,r,e){return t(this,n,r,e)}})},{121:121}],265:[function(t,n,r){t(121)(\"Uint8\",1,function(t){return function Uint8ClampedArray(n,r,e){return t(this,n,r,e)}},!0)},{121:121}],266:[function(t,n,r){\"use strict\";var e,i\u003dt(12)(0),o\u003dt(94),u\u003dt(66),c\u003dt(70),a\u003dt(21),f\u003dt(51),s\u003dt(35),l\u003dt(125),h\u003du.getWeak,v\u003dObject.isExtensible,p\u003da.ufstore,d\u003d{},y\u003dfunction(t){return function WeakMap(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},g\u003d{get:function get(t){if(f(t)){var n\u003dh(t);return!0\u003d\u003d\u003dn?p(l(this,\"WeakMap\")).get(t):n?n[this._i]:void 0}},set:function set(t,n){return a.def(l(this,\"WeakMap\"),t,n)}},m\u003dn.exports\u003dt(22)(\"WeakMap\",y,g,a,!0,!0);s(function(){return 7!\u003d(new m).set((Object.freeze||Object)(d),7).get(d)})\u0026\u0026(e\u003da.getConstructor(y,\"WeakMap\"),c(e.prototype,g),u.NEED\u003d!0,i([\"delete\",\"has\",\"get\",\"set\"],function(t){var n\u003dm.prototype,r\u003dn[t];o(n,t,function(n,i){if(f(n)\u0026\u0026!v(n)){this._f||(this._f\u003dnew e);var o\u003dthis._f[t](n,i);return\"set\"\u003d\u003dt?this:o}return r.call(this,n,i)})}))},{12:12,125:125,21:21,22:22,35:35,51:51,66:66,70:70,94:94}],267:[function(t,n,r){\"use strict\";var e\u003dt(21),i\u003dt(125);t(22)(\"WeakSet\",function(t){return function WeakSet(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},{add:function add(t){return e.def(i(this,\"WeakSet\"),t,!0)}},e,!1,!0)},{125:125,21:21,22:22}],268:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(38),o\u003dt(119),u\u003dt(118),c\u003dt(3),a\u003dt(15);e(e.P,\"Array\",{flatMap:function flatMap(t){var n,r,e\u003do(this);return c(t),n\u003du(e.length),r\u003da(e,0),i(r,e,e,n,0,1,t,arguments[1]),r}}),t(5)(\"flatMap\")},{118:118,119:119,15:15,3:3,33:33,38:38,5:5}],269:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(38),o\u003dt(119),u\u003dt(118),c\u003dt(116),a\u003dt(15);e(e.P,\"Array\",{flatten:function flatten(){var t\u003darguments[0],n\u003do(this),r\u003du(n.length),e\u003da(n,0);return i(e,n,n,r,0,void 0\u003d\u003d\u003dt?1:c(t)),e}}),t(5)(\"flatten\")},{116:116,118:118,119:119,15:15,33:33,38:38,5:5}],270:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(11)(!0);e(e.P,\"Array\",{includes:function includes(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0)}}),t(5)(\"includes\")},{11:11,33:33,5:5}],271:[function(t,n,r){var e\u003dt(33),i\u003dt(68)(),o\u003dt(40).process,u\u003d\"process\"\u003d\u003dt(18)(o);e(e.G,{asap:function asap(t){var n\u003du\u0026\u0026o.domain;i(n?n.bind(t):t)}})},{18:18,33:33,40:40,68:68}],272:[function(t,n,r){var e\u003dt(33),i\u003dt(18);e(e.S,\"Error\",{isError:function isError(t){return\"Error\"\u003d\u003d\u003di(t)}})},{18:18,33:33}],273:[function(t,n,r){var e\u003dt(33);e(e.G,{global:t(40)})},{33:33,40:40}],274:[function(t,n,r){t(97)(\"Map\")},{97:97}],275:[function(t,n,r){t(98)(\"Map\")},{98:98}],276:[function(t,n,r){var e\u003dt(33);e(e.P+e.R,\"Map\",{toJSON:t(20)(\"Map\")})},{20:20,33:33}],277:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{clamp:function clamp(t,n,r){return Math.min(r,Math.max(n,t))}})},{33:33}],278:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{DEG_PER_RAD:Math.PI/180})},{33:33}],279:[function(t,n,r){var e\u003dt(33),i\u003d180/Math.PI;e(e.S,\"Math\",{degrees:function degrees(t){return t*i}})},{33:33}],280:[function(t,n,r){var e\u003dt(33),i\u003dt(64),o\u003dt(62);e(e.S,\"Math\",{fscale:function fscale(t,n,r,e,u){return o(i(t,n,r,e,u))}})},{33:33,62:62,64:64}],281:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{iaddh:function iaddh(t,n,r,e){var i\u003dt\u003e\u003e\u003e0,o\u003dn\u003e\u003e\u003e0,u\u003dr\u003e\u003e\u003e0;return o+(e\u003e\u003e\u003e0)+((i\u0026u|(i|u)\u0026~(i+u\u003e\u003e\u003e0))\u003e\u003e\u003e31)|0}})},{33:33}],282:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{imulh:function imulh(t,n){var r\u003d+t,e\u003d+n,i\u003d65535\u0026r,o\u003d65535\u0026e,u\u003dr\u003e\u003e16,c\u003de\u003e\u003e16,a\u003d(u*o\u003e\u003e\u003e0)+(i*o\u003e\u003e\u003e16);return u*c+(a\u003e\u003e16)+((i*c\u003e\u003e\u003e0)+(65535\u0026a)\u003e\u003e16)}})},{33:33}],283:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{isubh:function isubh(t,n,r,e){var i\u003dt\u003e\u003e\u003e0,o\u003dn\u003e\u003e\u003e0,u\u003dr\u003e\u003e\u003e0;return o-(e\u003e\u003e\u003e0)-((~i\u0026u|~(i^u)\u0026i-u\u003e\u003e\u003e0)\u003e\u003e\u003e31)|0}})},{33:33}],284:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{RAD_PER_DEG:180/Math.PI})},{33:33}],285:[function(t,n,r){var e\u003dt(33),i\u003dMath.PI/180;e(e.S,\"Math\",{radians:function radians(t){return t*i}})},{33:33}],286:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{scale:t(64)})},{33:33,64:64}],287:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{signbit:function signbit(t){return(t\u003d+t)!\u003dt?t:0\u003d\u003dt?1/t\u003d\u003d1/0:t\u003e0}})},{33:33}],288:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{umulh:function umulh(t,n){var r\u003d+t,e\u003d+n,i\u003d65535\u0026r,o\u003d65535\u0026e,u\u003dr\u003e\u003e\u003e16,c\u003de\u003e\u003e\u003e16,a\u003d(u*o\u003e\u003e\u003e0)+(i*o\u003e\u003e\u003e16);return u*c+(a\u003e\u003e\u003e16)+((i*c\u003e\u003e\u003e0)+(65535\u0026a)\u003e\u003e\u003e16)}})},{33:33}],289:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(3),u\u003dt(72);t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__defineGetter__:function __defineGetter__(t,n){u.f(i(this),t,{get:o(n),enumerable:!0,configurable:!0})}})},{119:119,29:29,3:3,33:33,72:72,74:74}],290:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(3),u\u003dt(72);t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__defineSetter__:function __defineSetter__(t,n){u.f(i(this),t,{set:o(n),enumerable:!0,configurable:!0})}})},{119:119,29:29,3:3,33:33,72:72,74:74}],291:[function(t,n,r){var e\u003dt(33),i\u003dt(84)(!0);e(e.S,\"Object\",{entries:function entries(t){return i(t)}})},{33:33,84:84}],292:[function(t,n,r){var e\u003dt(33),i\u003dt(85),o\u003dt(117),u\u003dt(75),c\u003dt(24);e(e.S,\"Object\",{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(t){for(var n,r,e\u003do(t),a\u003du.f,f\u003di(e),s\u003d{},l\u003d0;f.length\u003el;)void 0!\u003d\u003d(r\u003da(e,n\u003df[l++]))\u0026\u0026c(s,n,r);return s}})},{117:117,24:24,33:33,75:75,85:85}],293:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(120),u\u003dt(79),c\u003dt(75).f;t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__lookupGetter__:function __lookupGetter__(t){var n,r\u003di(this),e\u003do(t,!0);do{if(n\u003dc(r,e))return n.get}while(r\u003du(r))}})},{119:119,120:120,29:29,33:33,74:74,75:75,79:79}],294:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(120),u\u003dt(79),c\u003dt(75).f;t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__lookupSetter__:function __lookupSetter__(t){var n,r\u003di(this),e\u003do(t,!0);do{if(n\u003dc(r,e))return n.set}while(r\u003du(r))}})},{119:119,120:120,29:29,33:33,74:74,75:75,79:79}],295:[function(t,n,r){var e\u003dt(33),i\u003dt(84)(!1);e(e.S,\"Object\",{values:function values(t){return i(t)}})},{33:33,84:84}],296:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(40),o\u003dt(23),u\u003dt(68)(),c\u003dt(128)(\"observable\"),a\u003dt(3),f\u003dt(7),s\u003dt(6),l\u003dt(93),h\u003dt(42),v\u003dt(39),p\u003dv.RETURN,d\u003dfunction(t){return null\u003d\u003dt?void 0:a(t)},y\u003dfunction(t){var n\u003dt._c;n\u0026\u0026(t._c\u003dvoid 0,n())},g\u003dfunction(t){return void 0\u003d\u003d\u003dt._o},m\u003dfunction(t){g(t)||(t._o\u003dvoid 0,y(t))},b\u003dfunction(t,n){f(t),this._c\u003dvoid 0,this._o\u003dt,t\u003dnew x(this);try{var r\u003dn(t),e\u003dr;null!\u003dr\u0026\u0026(\"function\"\u003d\u003dtypeof r.unsubscribe?r\u003dfunction(){e.unsubscribe()}:a(r),this._c\u003dr)}catch(n){return void t.error(n)}g(this)\u0026\u0026y(this)};b.prototype\u003dl({},{unsubscribe:function unsubscribe(){m(this)}});var x\u003dfunction(t){this._s\u003dt};x.prototype\u003dl({},{next:function next(t){var n\u003dthis._s;if(!g(n)){var r\u003dn._o;try{var e\u003dd(r.next);if(e)return e.call(r,t)}catch(t){try{m(n)}finally{throw t}}}},error:function error(t){var n\u003dthis._s;if(g(n))throw t;var r\u003dn._o;n._o\u003dvoid 0;try{var e\u003dd(r.error);if(!e)throw t;t\u003de.call(r,t)}catch(t){try{y(n)}finally{throw t}}return y(n),t},complete:function complete(t){var n\u003dthis._s;if(!g(n)){var r\u003dn._o;n._o\u003dvoid 0;try{var e\u003dd(r.complete);t\u003de?e.call(r,t):void 0}catch(t){try{y(n)}finally{throw t}}return y(n),t}}});var S\u003dfunction Observable(t){s(this,S,\"Observable\",\"_f\")._f\u003da(t)};l(S.prototype,{subscribe:function subscribe(t){return new b(t,this._f)},forEach:function forEach(t){var n\u003dthis;return new(o.Promise||i.Promise)(function(r,e){a(t);var i\u003dn.subscribe({next:function(n){try{return t(n)}catch(t){e(t),i.unsubscribe()}},error:e,complete:r})})}}),l(S,{from:function from(t){var n\u003d\"function\"\u003d\u003dtypeof this?this:S,r\u003dd(f(t)[c]);if(r){var e\u003df(r.call(t));return e.constructor\u003d\u003d\u003dn?e:new n(function(t){return e.subscribe(t)})}return new n(function(n){var r\u003d!1;return u(function(){if(!r){try{if(v(t,!1,function(t){if(n.next(t),r)return p})\u003d\u003d\u003dp)return}catch(t){if(r)throw t;return void n.error(t)}n.complete()}}),function(){r\u003d!0}})},of:function of(){for(var t\u003d0,n\u003darguments.length,r\u003dArray(n);t\u003cn;)r[t]\u003darguments[t++];return new(\"function\"\u003d\u003dtypeof this?this:S)(function(t){var n\u003d!1;return u(function(){if(!n){for(var e\u003d0;e\u003cr.length;++e)if(t.next(r[e]),n)return;t.complete()}}),function(){n\u003d!0}})}}),h(S.prototype,c,function(){return this}),e(e.G,{Observable:S}),t(100)(\"Observable\")},{100:100,128:128,23:23,3:3,33:33,39:39,40:40,42:42,6:6,68:68,7:7,93:93}],297:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(23),o\u003dt(40),u\u003dt(104),c\u003dt(91);e(e.P+e.R,\"Promise\",{finally:function(t){var n\u003du(this,i.Promise||o.Promise),r\u003d\"function\"\u003d\u003dtypeof t;return this.then(r?function(r){return c(n,t()).then(function(){return r})}:t,r?function(r){return c(n,t()).then(function(){throw r})}:t)}})},{104:104,23:23,33:33,40:40,91:91}],298:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(69),o\u003dt(90);e(e.S,\"Promise\",{try:function(t){var n\u003di.f(this),r\u003do(t);return(r.e?n.reject:n.resolve)(r.v),n.promise}})},{33:33,69:69,90:90}],299:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.key,u\u003de.set;e.exp({defineMetadata:function defineMetadata(t,n,r,e){u(t,n,i(r),o(e))}})},{67:67,7:7}],300:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.key,u\u003de.map,c\u003de.store;e.exp({deleteMetadata:function deleteMetadata(t,n){var r\u003darguments.length\u003c3?void 0:o(arguments[2]),e\u003du(i(n),r,!1);if(void 0\u003d\u003d\u003de||!e.delete(t))return!1;if(e.size)return!0;var a\u003dc.get(n);return a.delete(r),!!a.size||c.delete(n)}})},{67:67,7:7}],301:[function(t,n,r){var e\u003dt(231),i\u003dt(10),o\u003dt(67),u\u003dt(7),c\u003dt(79),a\u003do.keys,f\u003do.key,s\u003dfunction(t,n){var r\u003da(t,n),o\u003dc(t);if(null\u003d\u003d\u003do)return r;var u\u003ds(o,n);return u.length?r.length?i(new e(r.concat(u))):u:r};o.exp({getMetadataKeys:function getMetadataKeys(t){return s(u(t),arguments.length\u003c2?void 0:f(arguments[1]))}})},{10:10,231:231,67:67,7:7,79:79}],302:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003dt(79),u\u003de.has,c\u003de.get,a\u003de.key,f\u003dfunction(t,n,r){if(u(t,n,r))return c(t,n,r);var e\u003do(n);return null!\u003d\u003de?f(t,e,r):void 0};e.exp({getMetadata:function getMetadata(t,n){return f(t,i(n),arguments.length\u003c3?void 0:a(arguments[2]))}})},{67:67,7:7,79:79}],303:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.keys,u\u003de.key;e.exp({getOwnMetadataKeys:function getOwnMetadataKeys(t){return o(i(t),arguments.length\u003c2?void 0:u(arguments[1]))}})},{67:67,7:7}],304:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.get,u\u003de.key;e.exp({getOwnMetadata:function getOwnMetadata(t,n){return o(t,i(n),arguments.length\u003c3?void 0:u(arguments[2]))}})},{67:67,7:7}],305:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003dt(79),u\u003de.has,c\u003de.key,a\u003dfunction(t,n,r){if(u(t,n,r))return!0;var e\u003do(n);return null!\u003d\u003de\u0026\u0026a(t,e,r)};e.exp({hasMetadata:function hasMetadata(t,n){return a(t,i(n),arguments.length\u003c3?void 0:c(arguments[2]))}})},{67:67,7:7,79:79}],306:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.has,u\u003de.key;e.exp({hasOwnMetadata:function hasOwnMetadata(t,n){return o(t,i(n),arguments.length\u003c3?void 0:u(arguments[2]))}})},{67:67,7:7}],307:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003dt(3),u\u003de.key,c\u003de.set;e.exp({metadata:function metadata(t,n){return function decorator(r,e){c(t,n,(void 0!\u003d\u003de?i:o)(r),u(e))}}})},{3:3,67:67,7:7}],308:[function(t,n,r){t(97)(\"Set\")},{97:97}],309:[function(t,n,r){t(98)(\"Set\")},{98:98}],310:[function(t,n,r){var e\u003dt(33);e(e.P+e.R,\"Set\",{toJSON:t(20)(\"Set\")})},{20:20,33:33}],311:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(106)(!0);e(e.P,\"String\",{at:function at(t){return i(this,t)}})},{106:106,33:33}],312:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(28),o\u003dt(118),u\u003dt(52),c\u003dt(37),a\u003dRegExp.prototype,f\u003dfunction(t,n){this._r\u003dt,this._s\u003dn};t(54)(f,\"RegExp String\",function next(){var t\u003dthis._r.exec(this._s);return{value:t,done:null\u003d\u003d\u003dt}}),e(e.P,\"String\",{matchAll:function matchAll(t){if(i(this),!u(t))throw TypeError(t+\" is not a regexp!\");var n\u003dString(this),r\u003d\"flags\"in a?String(t.flags):c.call(t),e\u003dnew RegExp(t.source,~r.indexOf(\"g\")?r:\"g\"+r);return e.lastIndex\u003do(t.lastIndex),new f(e,n)}})},{118:118,28:28,33:33,37:37,52:52,54:54}],313:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(109);e(e.P,\"String\",{padEnd:function padEnd(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0,!1)}})},{109:109,33:33}],314:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(109);e(e.P,\"String\",{padStart:function padStart(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0,!0)}})},{109:109,33:33}],315:[function(t,n,r){\"use strict\";t(111)(\"trimLeft\",function(t){return function trimLeft(){return t(this,1)}},\"trimStart\")},{111:111}],316:[function(t,n,r){\"use strict\";t(111)(\"trimRight\",function(t){return function trimRight(){return t(this,2)}},\"trimEnd\")},{111:111}],317:[function(t,n,r){t(126)(\"asyncIterator\")},{126:126}],318:[function(t,n,r){t(126)(\"observable\")},{126:126}],319:[function(t,n,r){var e\u003dt(33);e(e.S,\"System\",{global:t(40)})},{33:33,40:40}],320:[function(t,n,r){t(97)(\"WeakMap\")},{97:97}],321:[function(t,n,r){t(98)(\"WeakMap\")},{98:98}],322:[function(t,n,r){t(97)(\"WeakSet\")},{97:97}],323:[function(t,n,r){t(98)(\"WeakSet\")},{98:98}],324:[function(t,n,r){for(var e\u003dt(141),i\u003dt(81),o\u003dt(94),u\u003dt(40),c\u003dt(42),a\u003dt(58),f\u003dt(128),s\u003df(\"iterator\"),l\u003df(\"toStringTag\"),h\u003da.Array,v\u003d{CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p\u003di(v),d\u003d0;d\u003cp.length;d++){var y,g\u003dp[d],m\u003dv[g],b\u003du[g],x\u003db\u0026\u0026b.prototype;if(x\u0026\u0026(x[s]||c(x,s,h),x[l]||c(x,l,g),a[g]\u003dh,m))for(y in e)x[y]||o(x,y,e[y],!0)}},{128:128,141:141,40:40,42:42,58:58,81:81,94:94}],325:[function(t,n,r){var e\u003dt(33),i\u003dt(113);e(e.G+e.B,{setImmediate:i.set,clearImmediate:i.clear})},{113:113,33:33}],326:[function(t,n,r){var e\u003dt(40),i\u003dt(33),o\u003dt(46),u\u003dt(88),c\u003de.navigator,a\u003d!!c\u0026\u0026/MSIE .\\./.test(c.userAgent),f\u003dfunction(t){return a?function(n,r){return t(o(u,[].slice.call(arguments,2),\"function\"\u003d\u003dtypeof n?n:Function(n)),r)}:t};i(i.G+i.B+i.F*a,{setTimeout:f(e.setTimeout),setInterval:f(e.setInterval)})},{33:33,40:40,46:46,88:88}],327:[function(t,n,r){t(254),t(191),t(193),t(192),t(195),t(197),t(202),t(196),t(194),t(204),t(203),t(199),t(200),t(198),t(190),t(201),t(205),t(206),t(157),t(159),t(158),t(208),t(207),t(178),t(188),t(189),t(179),t(180),t(181),t(182),t(183),t(184),t(185),t(186),t(187),t(161),t(162),t(163),t(164),t(165),t(166),t(167),t(168),t(169),t(170),t(171),t(172),t(173),t(174),t(175),t(176),t(177),t(241),t(246),t(253),t(244),t(236),t(237),t(242),t(247),t(249),t(232),t(233),t(234),t(235),t(238),t(239),t(240),t(243),t(245),t(248),t(250),t(251),t(252),t(152),t(154),t(153),t(156),t(155),t(140),t(138),t(145),t(142),t(148),t(150),t(137),t(144),t(134),t(149),t(132),t(147),t(146),t(139),t(143),t(131),t(133),t(136),t(135),t(151),t(141),t(224),t(230),t(225),t(226),t(227),t(228),t(229),t(209),t(160),t(231),t(266),t(267),t(255),t(256),t(261),t(264),t(265),t(259),t(262),t(260),t(263),t(257),t(258),t(210),t(211),t(212),t(213),t(214),t(217),t(215),t(216),t(218),t(219),t(220),t(221),t(223),t(222),t(270),t(268),t(269),t(311),t(314),t(313),t(315),t(316),t(312),t(317),t(318),t(292),t(295),t(291),t(289),t(290),t(293),t(294),t(276),t(310),t(275),t(309),t(321),t(323),t(274),t(308),t(320),t(322),t(273),t(319),t(272),t(277),t(278),t(279),t(280),t(281),t(283),t(282),t(284),t(285),t(286),t(288),t(287),t(297),t(298),t(299),t(300),t(302),t(301),t(304),t(303),t(305),t(306),t(307),t(271),t(296),t(326),t(325),t(324),n.exports\u003dt(23)},{131:131,132:132,133:133,134:134,135:135,136:136,137:137,138:138,139:139,140:140,141:141,142:142,143:143,144:144,145:145,146:146,147:147,148:148,149:149,150:150,151:151,152:152,153:153,154:154,155:155,156:156,157:157,158:158,159:159,160:160,161:161,162:162,163:163,164:164,165:165,166:166,167:167,168:168,169:169,170:170,171:171,172:172,173:173,174:174,175:175,176:176,177:177,178:178,179:179,180:180,181:181,182:182,183:183,184:184,185:185,"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"186:186,187:187,188:188,189:189,190:190,191:191,192:192,193:193,194:194,195:195,196:196,197:197,198:198,199:199,200:200,201:201,202:202,203:203,204:204,205:205,206:206,207:207,208:208,209:209,210:210,211:211,212:212,213:213,214:214,215:215,216:216,217:217,218:218,219:219,220:220,221:221,222:222,223:223,224:224,225:225,226:226,227:227,228:228,229:229,23:23,230:230,231:231,232:232,233:233,234:234,235:235,236:236,237:237,238:238,239:239,240:240,241:241,242:242,243:243,244:244,245:245,246:246,247:247,248:248,249:249,250:250,251:251,252:252,253:253,254:254,255:255,256:256,257:257,258:258,259:259,260:260,261:261,262:262,263:263,264:264,265:265,266:266,267:267,268:268,269:269,270:270,271:271,272:272,273:273,274:274,275:275,276:276,277:277,278:278,279:279,280:280,281:281,282:282,283:283,284:284,285:285,286:286,287:287,288:288,289:289,290:290,291:291,292:292,293:293,294:294,295:295,296:296,297:297,298:298,299:299,300:300,301:301,302:302,303:303,304:304,305:305,306:306,307:307,308:308,309:309,310:310,311:311,312:312,313:313,314:314,315:315,316:316,317:317,318:318,319:319,320:320,321:321,322:322,323:323,324:324,325:325,326:326}],328:[function(t,n,r){(function(t){!function(t){\"use strict\";function wrap(t,n,r,e){var i\u003dn\u0026\u0026n.prototype instanceof Generator?n:Generator,o\u003dObject.create(i.prototype),u\u003dnew Context(e||[]);return o._invoke\u003dmakeInvokeMethod(t,r,u),o}function tryCatch(t,n,r){try{return{type:\"normal\",arg:t.call(n,r)}}catch(t){return{type:\"throw\",arg:t}}}function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}function defineIteratorMethods(t){[\"next\",\"throw\",\"return\"].forEach(function(n){t[n]\u003dfunction(t){return this._invoke(n,t)}})}function AsyncIterator(n){function invoke(t,r,e,o){var u\u003dtryCatch(n[t],n,r);if(\"throw\"!\u003d\u003du.type){var c\u003du.arg,a\u003dc.value;return a\u0026\u0026\"object\"\u003d\u003dtypeof a\u0026\u0026i.call(a,\"__await\")?Promise.resolve(a.__await).then(function(t){invoke(\"next\",t,e,o)},function(t){invoke(\"throw\",t,e,o)}):Promise.resolve(a).then(function(t){c.value\u003dt,e(c)},o)}o(u.arg)}function enqueue(t,n){function callInvokeWithMethodAndArg(){return new Promise(function(r,e){invoke(t,n,r,e)})}return r\u003dr?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}\"object\"\u003d\u003dtypeof t.process\u0026\u0026t.process.domain\u0026\u0026(invoke\u003dt.process.domain.bind(invoke));var r;this._invoke\u003denqueue}function makeInvokeMethod(t,n,r){var e\u003dl;return function invoke(i,o){if(e\u003d\u003d\u003dv)throw new Error(\"Generator is already running\");if(e\u003d\u003d\u003dp){if(\"throw\"\u003d\u003d\u003di)throw o;return doneResult()}for(r.method\u003di,r.arg\u003do;;){var u\u003dr.delegate;if(u){var c\u003dmaybeInvokeDelegate(u,r);if(c){if(c\u003d\u003d\u003dd)continue;return c}}if(\"next\"\u003d\u003d\u003dr.method)r.sent\u003dr._sent\u003dr.arg;else if(\"throw\"\u003d\u003d\u003dr.method){if(e\u003d\u003d\u003dl)throw e\u003dp,r.arg;r.dispatchException(r.arg)}else\"return\"\u003d\u003d\u003dr.method\u0026\u0026r.abrupt(\"return\",r.arg);e\u003dv;var a\u003dtryCatch(t,n,r);if(\"normal\"\u003d\u003d\u003da.type){if(e\u003dr.done?p:h,a.arg\u003d\u003d\u003dd)continue;return{value:a.arg,done:r.done}}\"throw\"\u003d\u003d\u003da.type\u0026\u0026(e\u003dp,r.method\u003d\"throw\",r.arg\u003da.arg)}}}function maybeInvokeDelegate(t,n){var e\u003dt.iterator[n.method];if(e\u003d\u003d\u003dr){if(n.delegate\u003dnull,\"throw\"\u003d\u003d\u003dn.method){if(t.iterator.return\u0026\u0026(n.method\u003d\"return\",n.arg\u003dr,maybeInvokeDelegate(t,n),\"throw\"\u003d\u003d\u003dn.method))return d;n.method\u003d\"throw\",n.arg\u003dnew TypeError(\"The iterator does not provide a \u0027throw\u0027 method\")}return d}var i\u003dtryCatch(e,t.iterator,n.arg);if(\"throw\"\u003d\u003d\u003di.type)return n.method\u003d\"throw\",n.arg\u003di.arg,n.delegate\u003dnull,d;var o\u003di.arg;return o?o.done?(n[t.resultName]\u003do.value,n.next\u003dt.nextLoc,\"return\"!\u003d\u003dn.method\u0026\u0026(n.method\u003d\"next\",n.arg\u003dr),n.delegate\u003dnull,d):o:(n.method\u003d\"throw\",n.arg\u003dnew TypeError(\"iterator result is not an object\"),n.delegate\u003dnull,d)}function pushTryEntry(t){var n\u003d{tryLoc:t[0]};1 in t\u0026\u0026(n.catchLoc\u003dt[1]),2 in t\u0026\u0026(n.finallyLoc\u003dt[2],n.afterLoc\u003dt[3]),this.tryEntries.push(n)}function resetTryEntry(t){var n\u003dt.completion||{};n.type\u003d\"normal\",delete n.arg,t.completion\u003dn}function Context(t){this.tryEntries\u003d[{tryLoc:\"root\"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(t){if(t){var n\u003dt[u];if(n)return n.call(t);if(\"function\"\u003d\u003dtypeof t.next)return t;if(!isNaN(t.length)){var e\u003d-1,o\u003dfunction next(){for(;++e\u003ct.length;)if(i.call(t,e))return next.value\u003dt[e],next.done\u003d!1,next;return next.value\u003dr,next.done\u003d!0,next};return o.next\u003do}}return{next:doneResult}}function doneResult(){return{value:r,done:!0}}var r,e\u003dObject.prototype,i\u003de.hasOwnProperty,o\u003d\"function\"\u003d\u003dtypeof Symbol?Symbol:{},u\u003do.iterator||\"@@iterator\",c\u003do.asyncIterator||\"@@asyncIterator\",a\u003do.toStringTag||\"@@toStringTag\",f\u003d\"object\"\u003d\u003dtypeof n,s\u003dt.regeneratorRuntime;if(s)return void(f\u0026\u0026(n.exports\u003ds));s\u003dt.regeneratorRuntime\u003df?n.exports:{},s.wrap\u003dwrap;var l\u003d\"suspendedStart\",h\u003d\"suspendedYield\",v\u003d\"executing\",p\u003d\"completed\",d\u003d{},y\u003d{};y[u]\u003dfunction(){return this};var g\u003dObject.getPrototypeOf,m\u003dg\u0026\u0026g(g(values([])));m\u0026\u0026m!\u003d\u003de\u0026\u0026i.call(m,u)\u0026\u0026(y\u003dm);var b\u003dGeneratorFunctionPrototype.prototype\u003dGenerator.prototype\u003dObject.create(y);GeneratorFunction.prototype\u003db.constructor\u003dGeneratorFunctionPrototype,GeneratorFunctionPrototype.constructor\u003dGeneratorFunction,GeneratorFunctionPrototype[a]\u003dGeneratorFunction.displayName\u003d\"GeneratorFunction\",s.isGeneratorFunction\u003dfunction(t){var n\u003d\"function\"\u003d\u003dtypeof t\u0026\u0026t.constructor;return!!n\u0026\u0026(n\u003d\u003d\u003dGeneratorFunction||\"GeneratorFunction\"\u003d\u003d\u003d(n.displayName||n.name))},s.mark\u003dfunction(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__\u003dGeneratorFunctionPrototype,a in t||(t[a]\u003d\"GeneratorFunction\")),t.prototype\u003dObject.create(b),t},s.awrap\u003dfunction(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),AsyncIterator.prototype[c]\u003dfunction(){return this},s.AsyncIterator\u003dAsyncIterator,s.async\u003dfunction(t,n,r,e){var i\u003dnew AsyncIterator(wrap(t,n,r,e));return s.isGeneratorFunction(n)?i:i.next().then(function(t){return t.done?t.value:i.next()})},defineIteratorMethods(b),b[a]\u003d\"Generator\",b[u]\u003dfunction(){return this},b.toString\u003dfunction(){return\"[object Generator]\"},s.keys\u003dfunction(t){var n\u003d[];for(var r in t)n.push(r);return n.reverse(),function next(){for(;n.length;){var r\u003dn.pop();if(r in t)return next.value\u003dr,next.done\u003d!1,next}return next.done\u003d!0,next}},s.values\u003dvalues,Context.prototype\u003d{constructor:Context,reset:function(t){if(this.prev\u003d0,this.next\u003d0,this.sent\u003dthis._sent\u003dr,this.done\u003d!1,this.delegate\u003dnull,this.method\u003d\"next\",this.arg\u003dr,this.tryEntries.forEach(resetTryEntry),!t)for(var n in this)\"t\"\u003d\u003d\u003dn.charAt(0)\u0026\u0026i.call(this,n)\u0026\u0026!isNaN(+n.slice(1))\u0026\u0026(this[n]\u003dr)},stop:function(){this.done\u003d!0;var t\u003dthis.tryEntries[0],n\u003dt.completion;if(\"throw\"\u003d\u003d\u003dn.type)throw n.arg;return this.rval},dispatchException:function(t){function handle(e,i){return u.type\u003d\"throw\",u.arg\u003dt,n.next\u003de,i\u0026\u0026(n.method\u003d\"next\",n.arg\u003dr),!!i}if(this.done)throw t;for(var n\u003dthis,e\u003dthis.tryEntries.length-1;e\u003e\u003d0;--e){var o\u003dthis.tryEntries[e],u\u003do.completion;if(\"root\"\u003d\u003d\u003do.tryLoc)return handle(\"end\");if(o.tryLoc\u003c\u003dthis.prev){var c\u003di.call(o,\"catchLoc\"),a\u003di.call(o,\"finallyLoc\");if(c\u0026\u0026a){if(this.prev\u003co.catchLoc)return handle(o.catchLoc,!0);if(this.prev\u003co.finallyLoc)return handle(o.finallyLoc)}else if(c){if(this.prev\u003co.catchLoc)return handle(o.catchLoc,!0)}else{if(!a)throw new Error(\"try statement without catch or finally\");if(this.prev\u003co.finallyLoc)return handle(o.finallyLoc)}}}},abrupt:function(t,n){for(var r\u003dthis.tryEntries.length-1;r\u003e\u003d0;--r){var e\u003dthis.tryEntries[r];if(e.tryLoc\u003c\u003dthis.prev\u0026\u0026i.call(e,\"finallyLoc\")\u0026\u0026this.prev\u003ce.finallyLoc){var o\u003de;break}}o\u0026\u0026(\"break\"\u003d\u003d\u003dt||\"continue\"\u003d\u003d\u003dt)\u0026\u0026o.tryLoc\u003c\u003dn\u0026\u0026n\u003c\u003do.finallyLoc\u0026\u0026(o\u003dnull);var u\u003do?o.completion:{};return u.type\u003dt,u.arg\u003dn,o?(this.method\u003d\"next\",this.next\u003do.finallyLoc,d):this.complete(u)},complete:function(t,n){if(\"throw\"\u003d\u003d\u003dt.type)throw t.arg;return\"break\"\u003d\u003d\u003dt.type||\"continue\"\u003d\u003d\u003dt.type?this.next\u003dt.arg:\"return\"\u003d\u003d\u003dt.type?(this.rval\u003dthis.arg\u003dt.arg,this.method\u003d\"return\",this.next\u003d\"end\"):\"normal\"\u003d\u003d\u003dt.type\u0026\u0026n\u0026\u0026(this.next\u003dn),d},finish:function(t){for(var n\u003dthis.tryEntries.length-1;n\u003e\u003d0;--n){var r\u003dthis.tryEntries[n];if(r.finallyLoc\u003d\u003d\u003dt)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),d}},catch:function(t){for(var n\u003dthis.tryEntries.length-1;n\u003e\u003d0;--n){var r\u003dthis.tryEntries[n];if(r.tryLoc\u003d\u003d\u003dt){var e\u003dr.completion;if(\"throw\"\u003d\u003d\u003de.type){var i\u003de.arg;resetTryEntry(r)}return i}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,n,e){return this.delegate\u003d{iterator:values(t),resultName:n,nextLoc:e},\"next\"\u003d\u003d\u003dthis.method\u0026\u0026(this.arg\u003dr),d}}}(\"object\"\u003d\u003dtypeof t?t:\"object\"\u003d\u003dtypeof window?window:\"object\"\u003d\u003dtypeof self?self:this)}).call(this,\"undefined\"!\u003dtypeof global?global:\"undefined\"!\u003dtypeof self?self:\"undefined\"!\u003dtypeof window?window:{})},{}]},{},[1]);"}],"authorContributionMap":{"KevinEyo1":4}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/js/vue.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" * Vue.js v2.6.14"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" * (c) 2014-2021 Evan You"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" * Released under the MIT License."},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" */"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"!function(e,t){\"object\"\u003d\u003dtypeof exports\u0026\u0026\"undefined\"!\u003dtypeof module?module.exports\u003dt():\"function\"\u003d\u003dtypeof define\u0026\u0026define.amd?define(t):(e\u003de||self).Vue\u003dt()}(this,function(){\"use strict\";var e\u003dObject.freeze({});function t(e){return null\u003d\u003de}function n(e){return null!\u003de}function r(e){return!0\u003d\u003d\u003de}function i(e){return\"string\"\u003d\u003dtypeof e||\"number\"\u003d\u003dtypeof e||\"symbol\"\u003d\u003dtypeof e||\"boolean\"\u003d\u003dtypeof e}function o(e){return null!\u003d\u003de\u0026\u0026\"object\"\u003d\u003dtypeof e}var a\u003dObject.prototype.toString;function s(e){return\"[object Object]\"\u003d\u003d\u003da.call(e)}function c(e){var t\u003dparseFloat(String(e));return t\u003e\u003d0\u0026\u0026Math.floor(t)\u003d\u003d\u003dt\u0026\u0026isFinite(e)}function u(e){return n(e)\u0026\u0026\"function\"\u003d\u003dtypeof e.then\u0026\u0026\"function\"\u003d\u003dtypeof e.catch}function l(e){return null\u003d\u003de?\"\":Array.isArray(e)||s(e)\u0026\u0026e.toString\u003d\u003d\u003da?JSON.stringify(e,null,2):String(e)}function f(e){var t\u003dparseFloat(e);return isNaN(t)?e:t}function p(e,t){for(var n\u003dObject.create(null),r\u003de.split(\",\"),i\u003d0;i\u003cr.length;i++)n[r[i]]\u003d!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}var d\u003dp(\"slot,component\",!0),v\u003dp(\"key,ref,slot,slot-scope,is\");function h(e,t){if(e.length){var n\u003de.indexOf(t);if(n\u003e-1)return e.splice(n,1)}}var m\u003dObject.prototype.hasOwnProperty;function y(e,t){return m.call(e,t)}function g(e){var t\u003dObject.create(null);return function(n){return t[n]||(t[n]\u003de(n))}}var _\u003d/-(\\w)/g,b\u003dg(function(e){return e.replace(_,function(e,t){return t?t.toUpperCase():\"\"})}),$\u003dg(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),w\u003d/\\B([A-Z])/g,C\u003dg(function(e){return e.replace(w,\"-$1\").toLowerCase()});var x\u003dFunction.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r\u003darguments.length;return r?r\u003e1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length\u003de.length,n};function k(e,t){t\u003dt||0;for(var n\u003de.length-t,r\u003dnew Array(n);n--;)r[n]\u003de[n+t];return r}function A(e,t){for(var n in t)e[n]\u003dt[n];return e}function O(e){for(var t\u003d{},n\u003d0;n\u003ce.length;n++)e[n]\u0026\u0026A(t,e[n]);return t}function S(e,t,n){}var T\u003dfunction(e,t,n){return!1},N\u003dfunction(e){return e};function E(e,t){if(e\u003d\u003d\u003dt)return!0;var n\u003do(e),r\u003do(t);if(!n||!r)return!n\u0026\u0026!r\u0026\u0026String(e)\u003d\u003d\u003dString(t);try{var i\u003dArray.isArray(e),a\u003dArray.isArray(t);if(i\u0026\u0026a)return e.length\u003d\u003d\u003dt.length\u0026\u0026e.every(function(e,n){return E(e,t[n])});if(e instanceof Date\u0026\u0026t instanceof Date)return e.getTime()\u003d\u003d\u003dt.getTime();if(i||a)return!1;var s\u003dObject.keys(e),c\u003dObject.keys(t);return s.length\u003d\u003d\u003dc.length\u0026\u0026s.every(function(n){return E(e[n],t[n])})}catch(e){return!1}}function j(e,t){for(var n\u003d0;n\u003ce.length;n++)if(E(e[n],t))return n;return-1}function D(e){var t\u003d!1;return function(){t||(t\u003d!0,e.apply(this,arguments))}}var L\u003d\"data-server-rendered\",I\u003d[\"component\",\"directive\",\"filter\"],M\u003d[\"beforeCreate\",\"created\",\"beforeMount\",\"mounted\",\"beforeUpdate\",\"updated\",\"beforeDestroy\",\"destroyed\",\"activated\",\"deactivated\",\"errorCaptured\",\"serverPrefetch\"],F\u003d{optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:T,isReservedAttr:T,isUnknownElement:T,getTagNamespace:S,parsePlatformTagName:N,mustUseProp:T,async:!0,_lifecycleHooks:M},P\u003d/a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;function R(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var H\u003dnew RegExp(\"[^\"+P.source+\".$_\\\\d]\");var B,U\u003d\"__proto__\"in{},V\u003d\"undefined\"!\u003dtypeof window,z\u003d\"undefined\"!\u003dtypeof WXEnvironment\u0026\u0026!!WXEnvironment.platform,K\u003dz\u0026\u0026WXEnvironment.platform.toLowerCase(),J\u003dV\u0026\u0026window.navigator.userAgent.toLowerCase(),q\u003dJ\u0026\u0026/msie|trident/.test(J),W\u003dJ\u0026\u0026J.indexOf(\"msie 9.0\")\u003e0,Z\u003dJ\u0026\u0026J.indexOf(\"edge/\")\u003e0,G\u003d(J\u0026\u0026J.indexOf(\"android\"),J\u0026\u0026/iphone|ipad|ipod|ios/.test(J)||\"ios\"\u003d\u003d\u003dK),X\u003d(J\u0026\u0026/chrome\\/\\d+/.test(J),J\u0026\u0026/phantomjs/.test(J),J\u0026\u0026J.match(/firefox\\/(\\d+)/)),Y\u003d{}.watch,Q\u003d!1;if(V)try{var ee\u003d{};Object.defineProperty(ee,\"passive\",{get:function(){Q\u003d!0}}),window.addEventListener(\"test-passive\",null,ee)}catch(e){}var te\u003dfunction(){return void 0\u003d\u003d\u003dB\u0026\u0026(B\u003d!V\u0026\u0026!z\u0026\u0026\"undefined\"!\u003dtypeof global\u0026\u0026(global.process\u0026\u0026\"server\"\u003d\u003d\u003dglobal.process.env.VUE_ENV)),B},ne\u003dV\u0026\u0026window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function re(e){return\"function\"\u003d\u003dtypeof e\u0026\u0026/native code/.test(e.toString())}var ie,oe\u003d\"undefined\"!\u003dtypeof Symbol\u0026\u0026re(Symbol)\u0026\u0026\"undefined\"!\u003dtypeof Reflect\u0026\u0026re(Reflect.ownKeys);ie\u003d\"undefined\"!\u003dtypeof Set\u0026\u0026re(Set)?Set:function(){function e(){this.set\u003dObject.create(null)}return e.prototype.has\u003dfunction(e){return!0\u003d\u003d\u003dthis.set[e]},e.prototype.add\u003dfunction(e){this.set[e]\u003d!0},e.prototype.clear\u003dfunction(){this.set\u003dObject.create(null)},e}();var ae\u003dS,se\u003d0,ce\u003dfunction(){this.id\u003dse++,this.subs\u003d[]};ce.prototype.addSub\u003dfunction(e){this.subs.push(e)},ce.prototype.removeSub\u003dfunction(e){h(this.subs,e)},ce.prototype.depend\u003dfunction(){ce.target\u0026\u0026ce.target.addDep(this)},ce.prototype.notify\u003dfunction(){for(var e\u003dthis.subs.slice(),t\u003d0,n\u003de.length;t\u003cn;t++)e[t].update()},ce.target\u003dnull;var ue\u003d[];function le(e){ue.push(e),ce.target\u003de}function fe(){ue.pop(),ce.target\u003due[ue.length-1]}var pe\u003dfunction(e,t,n,r,i,o,a,s){this.tag\u003de,this.data\u003dt,this.children\u003dn,this.text\u003dr,this.elm\u003di,this.ns\u003dvoid 0,this.context\u003do,this.fnContext\u003dvoid 0,this.fnOptions\u003dvoid 0,this.fnScopeId\u003dvoid 0,this.key\u003dt\u0026\u0026t.key,this.componentOptions\u003da,this.componentInstance\u003dvoid 0,this.parent\u003dvoid 0,this.raw\u003d!1,this.isStatic\u003d!1,this.isRootInsert\u003d!0,this.isComment\u003d!1,this.isCloned\u003d!1,this.isOnce\u003d!1,this.asyncFactory\u003ds,this.asyncMeta\u003dvoid 0,this.isAsyncPlaceholder\u003d!1},de\u003d{child:{configurable:!0}};de.child.get\u003dfunction(){return this.componentInstance},Object.defineProperties(pe.prototype,de);var ve\u003dfunction(e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d\"\");var t\u003dnew pe;return t.text\u003de,t.isComment\u003d!0,t};function he(e){return new pe(void 0,void 0,void 0,String(e))}function me(e){var t\u003dnew pe(e.tag,e.data,e.children\u0026\u0026e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns\u003de.ns,t.isStatic\u003de.isStatic,t.key\u003de.key,t.isComment\u003de.isComment,t.fnContext\u003de.fnContext,t.fnOptions\u003de.fnOptions,t.fnScopeId\u003de.fnScopeId,t.asyncMeta\u003de.asyncMeta,t.isCloned\u003d!0,t}var ye\u003dArray.prototype,ge\u003dObject.create(ye);[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\",\"sort\",\"reverse\"].forEach(function(e){var t\u003dye[e];R(ge,e,function(){for(var n\u003d[],r\u003darguments.length;r--;)n[r]\u003darguments[r];var i,o\u003dt.apply(this,n),a\u003dthis.__ob__;switch(e){case\"push\":case\"unshift\":i\u003dn;break;case\"splice\":i\u003dn.slice(2)}return i\u0026\u0026a.observeArray(i),a.dep.notify(),o})});var _e\u003dObject.getOwnPropertyNames(ge),be\u003d!0;function $e(e){be\u003de}var we\u003dfunction(e){var t;this.value\u003de,this.dep\u003dnew ce,this.vmCount\u003d0,R(e,\"__ob__\",this),Array.isArray(e)?(U?(t\u003dge,e.__proto__\u003dt):function(e,t,n){for(var r\u003d0,i\u003dn.length;r\u003ci;r++){var o\u003dn[r];R(e,o,t[o])}}(e,ge,_e),this.observeArray(e)):this.walk(e)};function Ce(e,t){var n;if(o(e)\u0026\u0026!(e instanceof pe))return y(e,\"__ob__\")\u0026\u0026e.__ob__ instanceof we?n\u003de.__ob__:be\u0026\u0026!te()\u0026\u0026(Array.isArray(e)||s(e))\u0026\u0026Object.isExtensible(e)\u0026\u0026!e._isVue\u0026\u0026(n\u003dnew we(e)),t\u0026\u0026n\u0026\u0026n.vmCount++,n}function xe(e,t,n,r,i){var o\u003dnew ce,a\u003dObject.getOwnPropertyDescriptor(e,t);if(!a||!1!\u003d\u003da.configurable){var s\u003da\u0026\u0026a.get,c\u003da\u0026\u0026a.set;s\u0026\u0026!c||2!\u003d\u003darguments.length||(n\u003de[t]);var u\u003d!i\u0026\u0026Ce(n);Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var t\u003ds?s.call(e):n;return ce.target\u0026\u0026(o.depend(),u\u0026\u0026(u.dep.depend(),Array.isArray(t)\u0026\u0026function e(t){for(var n\u003dvoid 0,r\u003d0,i\u003dt.length;r\u003ci;r++)(n\u003dt[r])\u0026\u0026n.__ob__\u0026\u0026n.__ob__.dep.depend(),Array.isArray(n)\u0026\u0026e(n)}(t))),t},set:function(t){var r\u003ds?s.call(e):n;t\u003d\u003d\u003dr||t!\u003dt\u0026\u0026r!\u003dr||s\u0026\u0026!c||(c?c.call(e,t):n\u003dt,u\u003d!i\u0026\u0026Ce(t),o.notify())}})}}function ke(e,t,n){if(Array.isArray(e)\u0026\u0026c(t))return e.length\u003dMath.max(e.length,t),e.splice(t,1,n),n;if(t in e\u0026\u0026!(t in Object.prototype))return e[t]\u003dn,n;var r\u003de.__ob__;return e._isVue||r\u0026\u0026r.vmCount?n:r?(xe(r.value,t,n),r.dep.notify(),n):(e[t]\u003dn,n)}function Ae(e,t){if(Array.isArray(e)\u0026\u0026c(t))e.splice(t,1);else{var n\u003de.__ob__;e._isVue||n\u0026\u0026n.vmCount||y(e,t)\u0026\u0026(delete e[t],n\u0026\u0026n.dep.notify())}}we.prototype.walk\u003dfunction(e){for(var t\u003dObject.keys(e),n\u003d0;n\u003ct.length;n++)xe(e,t[n])},we.prototype.observeArray\u003dfunction(e){for(var t\u003d0,n\u003de.length;t\u003cn;t++)Ce(e[t])};var Oe\u003dF.optionMergeStrategies;function Se(e,t){if(!t)return e;for(var n,r,i,o\u003doe?Reflect.ownKeys(t):Object.keys(t),a\u003d0;a\u003co.length;a++)\"__ob__\"!\u003d\u003d(n\u003do[a])\u0026\u0026(r\u003de[n],i\u003dt[n],y(e,n)?r!\u003d\u003di\u0026\u0026s(r)\u0026\u0026s(i)\u0026\u0026Se(r,i):ke(e,n,i));return e}function Te(e,t,n){return n?function(){var r\u003d\"function\"\u003d\u003dtypeof t?t.call(n,n):t,i\u003d\"function\"\u003d\u003dtypeof e?e.call(n,n):e;return r?Se(r,i):i}:t?e?function(){return Se(\"function\"\u003d\u003dtypeof t?t.call(this,this):t,\"function\"\u003d\u003dtypeof e?e.call(this,this):e)}:t:e}function Ne(e,t){var n\u003dt?e?e.concat(t):Array.isArray(t)?t:[t]:e;return n?function(e){for(var t\u003d[],n\u003d0;n\u003ce.length;n++)-1\u003d\u003d\u003dt.indexOf(e[n])\u0026\u0026t.push(e[n]);return t}(n):n}function Ee(e,t,n,r){var i\u003dObject.create(e||null);return t?A(i,t):i}Oe.data\u003dfunction(e,t,n){return n?Te(e,t,n):t\u0026\u0026\"function\"!\u003dtypeof t?e:Te(e,t)},M.forEach(function(e){Oe[e]\u003dNe}),I.forEach(function(e){Oe[e+\"s\"]\u003dEe}),Oe.watch\u003dfunction(e,t,n,r){if(e\u003d\u003d\u003dY\u0026\u0026(e\u003dvoid 0),t\u003d\u003d\u003dY\u0026\u0026(t\u003dvoid 0),!t)return Object.create(e||null);if(!e)return t;var i\u003d{};for(var o in A(i,e),t){var a\u003di[o],s\u003dt[o];a\u0026\u0026!Array.isArray(a)\u0026\u0026(a\u003d[a]),i[o]\u003da?a.concat(s):Array.isArray(s)?s:[s]}return i},Oe.props\u003dOe.methods\u003dOe.inject\u003dOe.computed\u003dfunction(e,t,n,r){if(!e)return t;var i\u003dObject.create(null);return A(i,e),t\u0026\u0026A(i,t),i},Oe.provide\u003dTe;var je\u003dfunction(e,t){return void 0\u003d\u003d\u003dt?e:t};function De(e,t,n){if(\"function\"\u003d\u003dtypeof t\u0026\u0026(t\u003dt.options),function(e,t){var n\u003de.props;if(n){var r,i,o\u003d{};if(Array.isArray(n))for(r\u003dn.length;r--;)\"string\"\u003d\u003dtypeof(i\u003dn[r])\u0026\u0026(o[b(i)]\u003d{type:null});else if(s(n))for(var a in n)i\u003dn[a],o[b(a)]\u003ds(i)?i:{type:i};e.props\u003do}}(t),function(e,t){var n\u003de.inject;if(n){var r\u003de.inject\u003d{};if(Array.isArray(n))for(var i\u003d0;i\u003cn.length;i++)r[n[i]]\u003d{from:n[i]};else if(s(n))for(var o in n){var a\u003dn[o];r[o]\u003ds(a)?A({from:o},a):{from:a}}}}(t),function(e){var t\u003de.directives;if(t)for(var n in t){var r\u003dt[n];\"function\"\u003d\u003dtypeof r\u0026\u0026(t[n]\u003d{bind:r,update:r})}}(t),!t._base\u0026\u0026(t.extends\u0026\u0026(e\u003dDe(e,t.extends,n)),t.mixins))for(var r\u003d0,i\u003dt.mixins.length;r\u003ci;r++)e\u003dDe(e,t.mixins[r],n);var o,a\u003d{};for(o in e)c(o);for(o in t)y(e,o)||c(o);function c(r){var i\u003dOe[r]||je;a[r]\u003di(e[r],t[r],n,r)}return a}function Le(e,t,n,r){if(\"string\"\u003d\u003dtypeof n){var i\u003de[t];if(y(i,n))return i[n];var o\u003db(n);if(y(i,o))return i[o];var a\u003d$(o);return y(i,a)?i[a]:i[n]||i[o]||i[a]}}function Ie(e,t,n,r){var i\u003dt[e],o\u003d!y(n,e),a\u003dn[e],s\u003dRe(Boolean,i.type);if(s\u003e-1)if(o\u0026\u0026!y(i,\"default\"))a\u003d!1;else if(\"\"\u003d\u003d\u003da||a\u003d\u003d\u003dC(e)){var c\u003dRe(String,i.type);(c\u003c0||s\u003cc)\u0026\u0026(a\u003d!0)}if(void 0\u003d\u003d\u003da){a\u003dfunction(e,t,n){if(!y(t,\"default\"))return;var r\u003dt.default;if(e\u0026\u0026e.$options.propsData\u0026\u0026void 0\u003d\u003d\u003de.$options.propsData[n]\u0026\u0026void 0!\u003d\u003de._props[n])return e._props[n];return\"function\"\u003d\u003dtypeof r\u0026\u0026\"Function\"!\u003d\u003dFe(t.type)?r.call(e):r}(r,i,e);var u\u003dbe;$e(!0),Ce(a),$e(u)}return a}var Me\u003d/^\\s*function (\\w+)/;function Fe(e){var t\u003de\u0026\u0026e.toString().match(Me);return t?t[1]:\"\"}function Pe(e,t){return Fe(e)\u003d\u003d\u003dFe(t)}function Re(e,t){if(!Array.isArray(t))return Pe(t,e)?0:-1;for(var n\u003d0,r\u003dt.length;n\u003cr;n++)if(Pe(t[n],e))return n;return-1}function He(e,t,n){le();try{if(t)for(var r\u003dt;r\u003dr.$parent;){var i\u003dr.$options.errorCaptured;if(i)for(var o\u003d0;o\u003ci.length;o++)try{if(!1\u003d\u003d\u003di[o].call(r,e,t,n))return}catch(e){Ue(e,r,\"errorCaptured hook\")}}Ue(e,t,n)}finally{fe()}}function Be(e,t,n,r,i){var o;try{(o\u003dn?e.apply(t,n):e.call(t))\u0026\u0026!o._isVue\u0026\u0026u(o)\u0026\u0026!o._handled\u0026\u0026(o.catch(function(e){return He(e,r,i+\" (Promise/async)\")}),o._handled\u003d!0)}catch(e){He(e,r,i)}return o}function Ue(e,t,n){if(F.errorHandler)try{return F.errorHandler.call(null,e,t,n)}catch(t){t!\u003d\u003de\u0026\u0026Ve(t,null,\"config.errorHandler\")}Ve(e,t,n)}function Ve(e,t,n){if(!V\u0026\u0026!z||\"undefined\"\u003d\u003dtypeof console)throw e;console.error(e)}var ze,Ke\u003d!1,Je\u003d[],qe\u003d!1;function We(){qe\u003d!1;var e\u003dJe.slice(0);Je.length\u003d0;for(var t\u003d0;t\u003ce.length;t++)e[t]()}if(\"undefined\"!\u003dtypeof Promise\u0026\u0026re(Promise)){var Ze\u003dPromise.resolve();ze\u003dfunction(){Ze.then(We),G\u0026\u0026setTimeout(S)},Ke\u003d!0}else if(q||\"undefined\"\u003d\u003dtypeof MutationObserver||!re(MutationObserver)\u0026\u0026\"[object MutationObserverConstructor]\"!\u003d\u003dMutationObserver.toString())ze\u003d\"undefined\"!\u003dtypeof setImmediate\u0026\u0026re(setImmediate)?function(){setImmediate(We)}:function(){setTimeout(We,0)};else{var Ge\u003d1,Xe\u003dnew MutationObserver(We),Ye\u003ddocument.createTextNode(String(Ge));Xe.observe(Ye,{characterData:!0}),ze\u003dfunction(){Ge\u003d(Ge+1)%2,Ye.data\u003dString(Ge)},Ke\u003d!0}function Qe(e,t){var n;if(Je.push(function(){if(e)try{e.call(t)}catch(e){He(e,t,\"nextTick\")}else n\u0026\u0026n(t)}),qe||(qe\u003d!0,ze()),!e\u0026\u0026\"undefined\"!\u003dtypeof Promise)return new Promise(function(e){n\u003de})}var et\u003dnew ie;function tt(e){!function e(t,n){var r,i;var a\u003dArray.isArray(t);if(!a\u0026\u0026!o(t)||Object.isFrozen(t)||t instanceof pe)return;if(t.__ob__){var s\u003dt.__ob__.dep.id;if(n.has(s))return;n.add(s)}if(a)for(r\u003dt.length;r--;)e(t[r],n);else for(i\u003dObject.keys(t),r\u003di.length;r--;)e(t[i[r]],n)}(e,et),et.clear()}var nt\u003dg(function(e){var t\u003d\"\u0026\"\u003d\u003d\u003de.charAt(0),n\u003d\"~\"\u003d\u003d\u003d(e\u003dt?e.slice(1):e).charAt(0),r\u003d\"!\"\u003d\u003d\u003d(e\u003dn?e.slice(1):e).charAt(0);return{name:e\u003dr?e.slice(1):e,once:n,capture:r,passive:t}});function rt(e,t){function n(){var e\u003darguments,r\u003dn.fns;if(!Array.isArray(r))return Be(r,null,arguments,t,\"v-on handler\");for(var i\u003dr.slice(),o\u003d0;o\u003ci.length;o++)Be(i[o],null,e,t,\"v-on handler\")}return n.fns\u003de,n}function it(e,n,i,o,a,s){var c,u,l,f;for(c in e)u\u003de[c],l\u003dn[c],f\u003dnt(c),t(u)||(t(l)?(t(u.fns)\u0026\u0026(u\u003de[c]\u003drt(u,s)),r(f.once)\u0026\u0026(u\u003de[c]\u003da(f.name,u,f.capture)),i(f.name,u,f.capture,f.passive,f.params)):u!\u003d\u003dl\u0026\u0026(l.fns\u003du,e[c]\u003dl));for(c in n)t(e[c])\u0026\u0026o((f\u003dnt(c)).name,n[c],f.capture)}function ot(e,i,o){var a;e instanceof pe\u0026\u0026(e\u003de.data.hook||(e.data.hook\u003d{}));var s\u003de[i];function c(){o.apply(this,arguments),h(a.fns,c)}t(s)?a\u003drt([c]):n(s.fns)\u0026\u0026r(s.merged)?(a\u003ds).fns.push(c):a\u003drt([s,c]),a.merged\u003d!0,e[i]\u003da}function at(e,t,r,i,o){if(n(t)){if(y(t,r))return e[r]\u003dt[r],o||delete t[r],!0;if(y(t,i))return e[r]\u003dt[i],o||delete t[i],!0}return!1}function st(e){return i(e)?[he(e)]:Array.isArray(e)?function e(o,a){var s\u003d[];var c,u,l,f;for(c\u003d0;c\u003co.length;c++)t(u\u003do[c])||\"boolean\"\u003d\u003dtypeof u||(l\u003ds.length-1,f\u003ds[l],Array.isArray(u)?u.length\u003e0\u0026\u0026(ct((u\u003de(u,(a||\"\")+\"_\"+c))[0])\u0026\u0026ct(f)\u0026\u0026(s[l]\u003dhe(f.text+u[0].text),u.shift()),s.push.apply(s,u)):i(u)?ct(f)?s[l]\u003dhe(f.text+u):\"\"!\u003d\u003du\u0026\u0026s.push(he(u)):ct(u)\u0026\u0026ct(f)?s[l]\u003dhe(f.text+u.text):(r(o._isVList)\u0026\u0026n(u.tag)\u0026\u0026t(u.key)\u0026\u0026n(a)\u0026\u0026(u.key\u003d\"__vlist\"+a+\"_\"+c+\"__\"),s.push(u)));return s}(e):void 0}function ct(e){return n(e)\u0026\u0026n(e.text)\u0026\u0026!1\u003d\u003d\u003de.isComment}function ut(e,t){if(e){for(var n\u003dObject.create(null),r\u003doe?Reflect.ownKeys(e):Object.keys(e),i\u003d0;i\u003cr.length;i++){var o\u003dr[i];if(\"__ob__\"!\u003d\u003do){for(var a\u003de[o].from,s\u003dt;s;){if(s._provided\u0026\u0026y(s._provided,a)){n[o]\u003ds._provided[a];break}s\u003ds.$parent}if(!s\u0026\u0026\"default\"in e[o]){var c\u003de[o].default;n[o]\u003d\"function\"\u003d\u003dtypeof c?c.call(t):c}}}return n}}function lt(e,t){if(!e||!e.length)return{};for(var n\u003d{},r\u003d0,i\u003de.length;r\u003ci;r++){var o\u003de[r],a\u003do.data;if(a\u0026\u0026a.attrs\u0026\u0026a.attrs.slot\u0026\u0026delete a.attrs.slot,o.context!\u003d\u003dt\u0026\u0026o.fnContext!\u003d\u003dt||!a||null\u003d\u003da.slot)(n.default||(n.default\u003d[])).push(o);else{var s\u003da.slot,c\u003dn[s]||(n[s]\u003d[]);\"template\"\u003d\u003d\u003do.tag?c.push.apply(c,o.children||[]):c.push(o)}}for(var u in n)n[u].every(ft)\u0026\u0026delete n[u];return n}function ft(e){return e.isComment\u0026\u0026!e.asyncFactory||\" \"\u003d\u003d\u003de.text}function pt(e){return e.isComment\u0026\u0026e.asyncFactory}function dt(t,n,r){var i,o\u003dObject.keys(n).length\u003e0,a\u003dt?!!t.$stable:!o,s\u003dt\u0026\u0026t.$key;if(t){if(t._normalized)return t._normalized;if(a\u0026\u0026r\u0026\u0026r!\u003d\u003de\u0026\u0026s\u003d\u003d\u003dr.$key\u0026\u0026!o\u0026\u0026!r.$hasNormal)return r;for(var c in i\u003d{},t)t[c]\u0026\u0026\"$\"!\u003d\u003dc[0]\u0026\u0026(i[c]\u003dvt(n,c,t[c]))}else i\u003d{};for(var u in n)u in i||(i[u]\u003dht(n,u));return t\u0026\u0026Object.isExtensible(t)\u0026\u0026(t._normalized\u003di),R(i,\"$stable\",a),R(i,\"$key\",s),R(i,\"$hasNormal\",o),i}function vt(e,t,n){var r\u003dfunction(){var e\u003darguments.length?n.apply(null,arguments):n({}),t\u003d(e\u003de\u0026\u0026\"object\"\u003d\u003dtypeof e\u0026\u0026!Array.isArray(e)?[e]:st(e))\u0026\u0026e[0];return e\u0026\u0026(!t||1\u003d\u003d\u003de.length\u0026\u0026t.isComment\u0026\u0026!pt(t))?void 0:e};return n.proxy\u0026\u0026Object.defineProperty(e,t,{get:r,enumerable:!0,configurable:!0}),r}function ht(e,t){return function(){return e[t]}}function mt(e,t){var r,i,a,s,c;if(Array.isArray(e)||\"string\"\u003d\u003dtypeof e)for(r\u003dnew Array(e.length),i\u003d0,a\u003de.length;i\u003ca;i++)r[i]\u003dt(e[i],i);else if(\"number\"\u003d\u003dtypeof e)for(r\u003dnew Array(e),i\u003d0;i\u003ce;i++)r[i]\u003dt(i+1,i);else if(o(e))if(oe\u0026\u0026e[Symbol.iterator]){r\u003d[];for(var u\u003de[Symbol.iterator](),l\u003du.next();!l.done;)r.push(t(l.value,r.length)),l\u003du.next()}else for(s\u003dObject.keys(e),r\u003dnew Array(s.length),i\u003d0,a\u003ds.length;i\u003ca;i++)c\u003ds[i],r[i]\u003dt(e[c],c,i);return n(r)||(r\u003d[]),r._isVList\u003d!0,r}function yt(e,t,n,r){var i,o\u003dthis.$scopedSlots[e];o?(n\u003dn||{},r\u0026\u0026(n\u003dA(A({},r),n)),i\u003do(n)||(\"function\"\u003d\u003dtypeof t?t():t)):i\u003dthis.$slots[e]||(\"function\"\u003d\u003dtypeof t?t():t);var a\u003dn\u0026\u0026n.slot;return a?this.$createElement(\"template\",{slot:a},i):i}function gt(e){return Le(this.$options,\"filters\",e)||N}function _t(e,t){return Array.isArray(e)?-1\u003d\u003d\u003de.indexOf(t):e!\u003d\u003dt}function bt(e,t,n,r,i){var o\u003dF.keyCodes[t]||n;return i\u0026\u0026r\u0026\u0026!F.keyCodes[t]?_t(i,r):o?_t(o,e):r?C(r)!\u003d\u003dt:void 0\u003d\u003d\u003de}function $t(e,t,n,r,i){if(n)if(o(n)){var a;Array.isArray(n)\u0026\u0026(n\u003dO(n));var s\u003dfunction(o){if(\"class\"\u003d\u003d\u003do||\"style\"\u003d\u003d\u003do||v(o))a\u003de;else{var s\u003de.attrs\u0026\u0026e.attrs.type;a\u003dr||F.mustUseProp(t,s,o)?e.domProps||(e.domProps\u003d{}):e.attrs||(e.attrs\u003d{})}var c\u003db(o),u\u003dC(o);c in a||u in a||(a[o]\u003dn[o],i\u0026\u0026((e.on||(e.on\u003d{}))[\"update:\"+o]\u003dfunction(e){n[o]\u003de}))};for(var c in n)s(c)}else;return e}function wt(e,t){var n\u003dthis._staticTrees||(this._staticTrees\u003d[]),r\u003dn[e];return r\u0026\u0026!t?r:(xt(r\u003dn[e]\u003dthis.$options.staticRenderFns[e].call(this._renderProxy,null,this),\"__static__\"+e,!1),r)}function Ct(e,t,n){return xt(e,\"__once__\"+t+(n?\"_\"+n:\"\"),!0),e}function xt(e,t,n){if(Array.isArray(e))for(var r\u003d0;r\u003ce.length;r++)e[r]\u0026\u0026\"string\"!\u003dtypeof e[r]\u0026\u0026kt(e[r],t+\"_\"+r,n);else kt(e,t,n)}function kt(e,t,n){e.isStatic\u003d!0,e.key\u003dt,e.isOnce\u003dn}function At(e,t){if(t)if(s(t)){var n\u003de.on\u003de.on?A({},e.on):{};for(var r in t){var i\u003dn[r],o\u003dt[r];n[r]\u003di?[].concat(i,o):o}}else;return e}function Ot(e,t,n,r){t\u003dt||{$stable:!n};for(var i\u003d0;i\u003ce.length;i++){var o\u003de[i];Array.isArray(o)?Ot(o,t,n):o\u0026\u0026(o.proxy\u0026\u0026(o.fn.proxy\u003d!0),t[o.key]\u003do.fn)}return r\u0026\u0026(t.$key\u003dr),t}function St(e,t){for(var n\u003d0;n\u003ct.length;n+\u003d2){var r\u003dt[n];\"string\"\u003d\u003dtypeof r\u0026\u0026r\u0026\u0026(e[t[n]]\u003dt[n+1])}return e}function Tt(e,t){return\"string\"\u003d\u003dtypeof e?t+e:e}function Nt(e){e._o\u003dCt,e._n\u003df,e._s\u003dl,e._l\u003dmt,e._t\u003dyt,e._q\u003dE,e._i\u003dj,e._m\u003dwt,e._f\u003dgt,e._k\u003dbt,e._b\u003d$t,e._v\u003dhe,e._e\u003dve,e._u\u003dOt,e._g\u003dAt,e._d\u003dSt,e._p\u003dTt}function Et(t,n,i,o,a){var s,c\u003dthis,u\u003da.options;y(o,\"_uid\")?(s\u003dObject.create(o))._original\u003do:(s\u003do,o\u003do._original);var l\u003dr(u._compiled),f\u003d!l;this.data\u003dt,this.props\u003dn,this.children\u003di,this.parent\u003do,this.listeners\u003dt.on||e,this.injections\u003dut(u.inject,o),this.slots\u003dfunction(){return c.$slots||dt(t.scopedSlots,c.$slots\u003dlt(i,o)),c.$slots},Object.defineProperty(this,\"scopedSlots\",{enumerable:!0,get:function(){return dt(t.scopedSlots,this.slots())}}),l\u0026\u0026(this.$options\u003du,this.$slots\u003dthis.slots(),this.$scopedSlots\u003ddt(t.scopedSlots,this.$slots)),u._scopeId?this._c\u003dfunction(e,t,n,r){var i\u003dHt(s,e,t,n,r,f);return i\u0026\u0026!Array.isArray(i)\u0026\u0026(i.fnScopeId\u003du._scopeId,i.fnContext\u003do),i}:this._c\u003dfunction(e,t,n,r){return Ht(s,e,t,n,r,f)}}function jt(e,t,n,r,i){var o\u003dme(e);return o.fnContext\u003dn,o.fnOptions\u003dr,t.slot\u0026\u0026((o.data||(o.data\u003d{})).slot\u003dt.slot),o}function Dt(e,t){for(var n in t)e[b(n)]\u003dt[n]}Nt(Et.prototype);var Lt\u003d{init:function(e,t){if(e.componentInstance\u0026\u0026!e.componentInstance._isDestroyed\u0026\u0026e.data.keepAlive){var r\u003de;Lt.prepatch(r,r)}else{(e.componentInstance\u003dfunction(e,t){var r\u003d{_isComponent:!0,_parentVnode:e,parent:t},i\u003de.data.inlineTemplate;n(i)\u0026\u0026(r.render\u003di.render,r.staticRenderFns\u003di.staticRenderFns);return new e.componentOptions.Ctor(r)}(e,Zt)).$mount(t?e.elm:void 0,t)}},prepatch:function(t,n){var r\u003dn.componentOptions;!function(t,n,r,i,o){var a\u003di.data.scopedSlots,s\u003dt.$scopedSlots,c\u003d!!(a\u0026\u0026!a.$stable||s!\u003d\u003de\u0026\u0026!s.$stable||a\u0026\u0026t.$scopedSlots.$key!\u003d\u003da.$key||!a\u0026\u0026t.$scopedSlots.$key),u\u003d!!(o||t.$options._renderChildren||c);t.$options._parentVnode\u003di,t.$vnode\u003di,t._vnode\u0026\u0026(t._vnode.parent\u003di);if(t.$options._renderChildren\u003do,t.$attrs\u003di.data.attrs||e,t.$listeners\u003dr||e,n\u0026\u0026t.$options.props){$e(!1);for(var l\u003dt._props,f\u003dt.$options._propKeys||[],p\u003d0;p\u003cf.length;p++){var d\u003df[p],v\u003dt.$options.props;l[d]\u003dIe(d,v,n,t)}$e(!0),t.$options.propsData\u003dn}r\u003dr||e;var h\u003dt.$options._parentListeners;t.$options._parentListeners\u003dr,Wt(t,r,h),u\u0026\u0026(t.$slots\u003dlt(o,i.context),t.$forceUpdate())}(n.componentInstance\u003dt.componentInstance,r.propsData,r.listeners,n,r.children)},insert:function(e){var t,n\u003de.context,r\u003de.componentInstance;r._isMounted||(r._isMounted\u003d!0,Qt(r,\"mounted\")),e.data.keepAlive\u0026\u0026(n._isMounted?((t\u003dr)._inactive\u003d!1,tn.push(t)):Yt(r,!0))},destroy:function(e){var t\u003de.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(n\u0026\u0026(t._directInactive\u003d!0,Xt(t)))return;if(!t._inactive){t._inactive\u003d!0;for(var r\u003d0;r\u003ct.$children.length;r++)e(t.$children[r]);Qt(t,\"deactivated\")}}(t,!0):t.$destroy())}},It\u003dObject.keys(Lt);function Mt(i,a,s,c,l){if(!t(i)){var f\u003ds.$options._base;if(o(i)\u0026\u0026(i\u003df.extend(i)),\"function\"\u003d\u003dtypeof i){var p;if(t(i.cid)\u0026\u0026void 0\u003d\u003d\u003d(i\u003dfunction(e,i){if(r(e.error)\u0026\u0026n(e.errorComp))return e.errorComp;if(n(e.resolved))return e.resolved;var a\u003dUt;a\u0026\u0026n(e.owners)\u0026\u0026-1\u003d\u003d\u003de.owners.indexOf(a)\u0026\u0026e.owners.push(a);if(r(e.loading)\u0026\u0026n(e.loadingComp))return e.loadingComp;if(a\u0026\u0026!n(e.owners)){var s\u003de.owners\u003d[a],c\u003d!0,l\u003dnull,f\u003dnull;a.$on(\"hook:destroyed\",function(){return h(s,a)});var p\u003dfunction(e){for(var t\u003d0,n\u003ds.length;t\u003cn;t++)s[t].$forceUpdate();e\u0026\u0026(s.length\u003d0,null!\u003d\u003dl\u0026\u0026(clearTimeout(l),l\u003dnull),null!\u003d\u003df\u0026\u0026(clearTimeout(f),f\u003dnull))},d\u003dD(function(t){e.resolved\u003dVt(t,i),c?s.length\u003d0:p(!0)}),v\u003dD(function(t){n(e.errorComp)\u0026\u0026(e.error\u003d!0,p(!0))}),m\u003de(d,v);return o(m)\u0026\u0026(u(m)?t(e.resolved)\u0026\u0026m.then(d,v):u(m.component)\u0026\u0026(m.component.then(d,v),n(m.error)\u0026\u0026(e.errorComp\u003dVt(m.error,i)),n(m.loading)\u0026\u0026(e.loadingComp\u003dVt(m.loading,i),0\u003d\u003d\u003dm.delay?e.loading\u003d!0:l\u003dsetTimeout(function(){l\u003dnull,t(e.resolved)\u0026\u0026t(e.error)\u0026\u0026(e.loading\u003d!0,p(!1))},m.delay||200)),n(m.timeout)\u0026\u0026(f\u003dsetTimeout(function(){f\u003dnull,t(e.resolved)\u0026\u0026v(null)},m.timeout)))),c\u003d!1,e.loading?e.loadingComp:e.resolved}}(p\u003di,f)))return function(e,t,n,r,i){var o\u003dve();return o.asyncFactory\u003de,o.asyncMeta\u003d{data:t,context:n,children:r,tag:i},o}(p,a,s,c,l);a\u003da||{},wn(i),n(a.model)\u0026\u0026function(e,t){var r\u003de.model\u0026\u0026e.model.prop||\"value\",i\u003de.model\u0026\u0026e.model.event||\"input\";(t.attrs||(t.attrs\u003d{}))[r]\u003dt.model.value;var o\u003dt.on||(t.on\u003d{}),a\u003do[i],s\u003dt.model.callback;n(a)?(Array.isArray(a)?-1\u003d\u003d\u003da.indexOf(s):a!\u003d\u003ds)\u0026\u0026(o[i]\u003d[s].concat(a)):o[i]\u003ds}(i.options,a);var d\u003dfunction(e,r,i){var o\u003dr.options.props;if(!t(o)){var a\u003d{},s\u003de.attrs,c\u003de.props;if(n(s)||n(c))for(var u in o){var l\u003dC(u);at(a,c,u,l,!0)||at(a,s,u,l,!1)}return a}}(a,i);if(r(i.options.functional))return function(t,r,i,o,a){var s\u003dt.options,c\u003d{},u\u003ds.props;if(n(u))for(var l in u)c[l]\u003dIe(l,u,r||e);else n(i.attrs)\u0026\u0026Dt(c,i.attrs),n(i.props)\u0026\u0026Dt(c,i.props);var f\u003dnew Et(i,c,a,o,t),p\u003ds.render.call(null,f._c,f);if(p instanceof pe)return jt(p,i,f.parent,s);if(Array.isArray(p)){for(var d\u003dst(p)||[],v\u003dnew Array(d.length),h\u003d0;h\u003cd.length;h++)v[h]\u003djt(d[h],i,f.parent,s);return v}}(i,d,a,s,c);var v\u003da.on;if(a.on\u003da.nativeOn,r(i.options.abstract)){var m\u003da.slot;a\u003d{},m\u0026\u0026(a.slot\u003dm)}!function(e){for(var t\u003de.hook||(e.hook\u003d{}),n\u003d0;n\u003cIt.length;n++){var r\u003dIt[n],i\u003dt[r],o\u003dLt[r];i\u003d\u003d\u003do||i\u0026\u0026i._merged||(t[r]\u003di?Ft(o,i):o)}}(a);var y\u003di.options.name||l;return new pe(\"vue-component-\"+i.cid+(y?\"-\"+y:\"\"),a,void 0,void 0,void 0,s,{Ctor:i,propsData:d,listeners:v,tag:l,children:c},p)}}}function Ft(e,t){var n\u003dfunction(n,r){e(n,r),t(n,r)};return n._merged\u003d!0,n}var Pt\u003d1,Rt\u003d2;function Ht(e,a,s,c,u,l){return(Array.isArray(s)||i(s))\u0026\u0026(u\u003dc,c\u003ds,s\u003dvoid 0),r(l)\u0026\u0026(u\u003dRt),function(e,i,a,s,c){if(n(a)\u0026\u0026n(a.__ob__))return ve();n(a)\u0026\u0026n(a.is)\u0026\u0026(i\u003da.is);if(!i)return ve();Array.isArray(s)\u0026\u0026\"function\"\u003d\u003dtypeof s[0]\u0026\u0026((a\u003da||{}).scopedSlots\u003d{default:s[0]},s.length\u003d0);c\u003d\u003d\u003dRt?s\u003dst(s):c\u003d\u003d\u003dPt\u0026\u0026(s\u003dfunction(e){for(var t\u003d0;t\u003ce.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(s));var u,l;if(\"string\"\u003d\u003dtypeof i){var f;l\u003de.$vnode\u0026\u0026e.$vnode.ns||F.getTagNamespace(i),u\u003dF.isReservedTag(i)?new pe(F.parsePlatformTagName(i),a,s,void 0,void 0,e):a\u0026\u0026a.pre||!n(f\u003dLe(e.$options,\"components\",i))?new pe(i,a,s,void 0,void 0,e):Mt(f,a,e,s,i)}else u\u003dMt(i,a,e,s);return Array.isArray(u)?u:n(u)?(n(l)\u0026\u0026function e(i,o,a){i.ns\u003do;\"foreignObject\"\u003d\u003d\u003di.tag\u0026\u0026(o\u003dvoid 0,a\u003d!0);if(n(i.children))for(var s\u003d0,c\u003di.children.length;s\u003cc;s++){var u\u003di.children[s];n(u.tag)\u0026\u0026(t(u.ns)||r(a)\u0026\u0026\"svg\"!\u003d\u003du.tag)\u0026\u0026e(u,o,a)}}(u,l),n(a)\u0026\u0026function(e){o(e.style)\u0026\u0026tt(e.style);o(e.class)\u0026\u0026tt(e.class)}(a),u):ve()}(e,a,s,c,u)}var Bt,Ut\u003dnull;function Vt(e,t){return(e.__esModule||oe\u0026\u0026\"Module\"\u003d\u003d\u003de[Symbol.toStringTag])\u0026\u0026(e\u003de.default),o(e)?t.extend(e):e}function zt(e){if(Array.isArray(e))for(var t\u003d0;t\u003ce.length;t++){var r\u003de[t];if(n(r)\u0026\u0026(n(r.componentOptions)||pt(r)))return r}}function Kt(e,t){Bt.$on(e,t)}function Jt(e,t){Bt.$off(e,t)}function qt(e,t){var n\u003dBt;return function r(){null!\u003d\u003dt.apply(null,arguments)\u0026\u0026n.$off(e,r)}}function Wt(e,t,n){Bt\u003de,it(t,n||{},Kt,Jt,qt,e),Bt\u003dvoid 0}var Zt\u003dnull;function Gt(e){var t\u003dZt;return Zt\u003de,function(){Zt\u003dt}}function Xt(e){for(;e\u0026\u0026(e\u003de.$parent);)if(e._inactive)return!0;return!1}function Yt(e,t){if(t){if(e._directInactive\u003d!1,Xt(e))return}else if(e._directInactive)return;if(e._inactive||null\u003d\u003d\u003de._inactive){e._inactive\u003d!1;for(var n\u003d0;n\u003ce.$children.length;n++)Yt(e.$children[n]);Qt(e,\"activated\")}}function Qt(e,t){le();var n\u003de.$options[t],r\u003dt+\" hook\";if(n)for(var i\u003d0,o\u003dn.length;i\u003co;i++)Be(n[i],e,null,e,r);e._hasHookEvent\u0026\u0026e.$emit(\"hook:\"+t),fe()}var en\u003d[],tn\u003d[],nn\u003d{},rn\u003d!1,on\u003d!1,an\u003d0;var sn\u003d0,cn\u003dDate.now;if(V\u0026\u0026!q){var un\u003dwindow.performance;un\u0026\u0026\"function\"\u003d\u003dtypeof un.now\u0026\u0026cn()\u003edocument.createEvent(\"Event\").timeStamp\u0026\u0026(cn\u003dfunction(){return un.now()})}function ln(){var e,t;for(sn\u003dcn(),on\u003d!0,en.sort(function(e,t){return e.id-t.id}),an\u003d0;an\u003cen.length;an++)(e\u003den[an]).before\u0026\u0026e.before(),t\u003de.id,nn[t]\u003dnull,e.run();var n\u003dtn.slice(),r\u003den.slice();an\u003den.length\u003dtn.length\u003d0,nn\u003d{},rn\u003don\u003d!1,function(e){for(var t\u003d0;t\u003ce.length;t++)e[t]._inactive\u003d!0,Yt(e[t],!0)}(n),function(e){var t\u003de.length;for(;t--;){var n\u003de[t],r\u003dn.vm;r._watcher\u003d\u003d\u003dn\u0026\u0026r._isMounted\u0026\u0026!r._isDestroyed\u0026\u0026Qt(r,\"updated\")}}(r),ne\u0026\u0026F.devtools\u0026\u0026ne.emit(\"flush\")}var fn\u003d0,pn\u003dfunction(e,t,n,r,i){this.vm\u003de,i\u0026\u0026(e._watcher\u003dthis),e._watchers.push(this),r?(this.deep\u003d!!r.deep,this.user\u003d!!r.user,this.lazy\u003d!!r.lazy,this.sync\u003d!!r.sync,this.before\u003dr.before):this.deep\u003dthis.user\u003dthis.lazy\u003dthis.sync\u003d!1,this.cb\u003dn,this.id\u003d++fn,this.active\u003d!0,this.dirty\u003dthis.lazy,this.deps\u003d[],this.newDeps\u003d[],this.depIds\u003dnew ie,this.newDepIds\u003dnew ie,this.expression\u003d\"\",\"function\"\u003d\u003dtypeof t?this.getter\u003dt:(this.getter\u003dfunction(e){if(!H.test(e)){var t\u003de.split(\".\");return function(e){for(var n\u003d0;n\u003ct.length;n++){if(!e)return;e\u003de[t[n]]}return e}}}(t),this.getter||(this.getter\u003dS)),this.value\u003dthis.lazy?void 0:this.get()};pn.prototype.get\u003dfunction(){var e;le(this);var t\u003dthis.vm;try{e\u003dthis.getter.call(t,t)}catch(e){if(!this.user)throw e;He(e,t,\u0027getter for watcher \"\u0027+this.expression+\u0027\"\u0027)}finally{this.deep\u0026\u0026tt(e),fe(),this.cleanupDeps()}return e},pn.prototype.addDep\u003dfunction(e){var t\u003de.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},pn.prototype.cleanupDeps\u003dfunction(){for(var e\u003dthis.deps.length;e--;){var t\u003dthis.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n\u003dthis.depIds;this.depIds\u003dthis.newDepIds,this.newDepIds\u003dn,this.newDepIds.clear(),n\u003dthis.deps,this.deps\u003dthis.newDeps,this.newDeps\u003dn,this.newDeps.length\u003d0},pn.prototype.update\u003dfunction(){this.lazy?this.dirty\u003d!0:this.sync?this.run():function(e){var t\u003de.id;if(null\u003d\u003dnn[t]){if(nn[t]\u003d!0,on){for(var n\u003den.length-1;n\u003ean\u0026\u0026en[n].id\u003ee.id;)n--;en.splice(n+1,0,e)}else en.push(e);rn||(rn\u003d!0,Qe(ln))}}(this)},pn.prototype.run\u003dfunction(){if(this.active){var e\u003dthis.get();if(e!\u003d\u003dthis.value||o(e)||this.deep){var t\u003dthis.value;if(this.value\u003de,this.user){var n\u003d\u0027callback for watcher \"\u0027+this.expression+\u0027\"\u0027;Be(this.cb,this.vm,[e,t],this.vm,n)}else this.cb.call(this.vm,e,t)}}},pn.prototype.evaluate\u003dfunction(){this.value\u003dthis.get(),this.dirty\u003d!1},pn.prototype.depend\u003dfunction(){for(var e\u003dthis.deps.length;e--;)this.deps[e].depend()},pn.prototype.teardown\u003dfunction(){if(this.active){this.vm._isBeingDestroyed||h(this.vm._watchers,this);for(var e\u003dthis.deps.length;e--;)this.deps[e].removeSub(this);this.active\u003d!1}};var dn\u003d{enumerable:!0,configurable:!0,get:S,set:S};function vn(e,t,n){dn.get\u003dfunction(){return this[t][n]},dn.set\u003dfunction(e){this[t][n]\u003de},Object.defineProperty(e,n,dn)}function hn(e){e._watchers\u003d[];var t\u003de.$options;t.props\u0026\u0026function(e,t){var n\u003de.$options.propsData||{},r\u003de._props\u003d{},i\u003de.$options._propKeys\u003d[];e.$parent\u0026\u0026$e(!1);var o\u003dfunction(o){i.push(o);var a\u003dIe(o,t,n,e);xe(r,o,a),o in e||vn(e,\"_props\",o)};for(var a in t)o(a);$e(!0)}(e,t.props),t.methods\u0026\u0026function(e,t){e.$options.props;for(var n in t)e[n]\u003d\"function\"!\u003dtypeof t[n]?S:x(t[n],e)}(e,t.methods),t.data?function(e){var t\u003de.$options.data;s(t\u003de._data\u003d\"function\"\u003d\u003dtypeof t?function(e,t){le();try{return e.call(t,t)}catch(e){return He(e,t,\"data()\"),{}}finally{fe()}}(t,e):t||{})||(t\u003d{});var n\u003dObject.keys(t),r\u003de.$options.props,i\u003d(e.$options.methods,n.length);for(;i--;){var o\u003dn[i];r\u0026\u0026y(r,o)||(a\u003dvoid 0,36!\u003d\u003d(a\u003d(o+\"\").charCodeAt(0))\u0026\u002695!\u003d\u003da\u0026\u0026vn(e,\"_data\",o))}var a;Ce(t,!0)}(e):Ce(e._data\u003d{},!0),t.computed\u0026\u0026function(e,t){var n\u003de._computedWatchers\u003dObject.create(null),r\u003dte();for(var i in t){var o\u003dt[i],a\u003d\"function\"\u003d\u003dtypeof o?o:o.get;r||(n[i]\u003dnew pn(e,a||S,S,mn)),i in e||yn(e,i,o)}}(e,t.computed),t.watch\u0026\u0026t.watch!\u003d\u003dY\u0026\u0026function(e,t){for(var n in t){var r\u003dt[n];if(Array.isArray(r))for(var i\u003d0;i\u003cr.length;i++)bn(e,n,r[i]);else bn(e,n,r)}}(e,t.watch)}var mn\u003d{lazy:!0};function yn(e,t,n){var r\u003d!te();\"function\"\u003d\u003dtypeof n?(dn.get\u003dr?gn(t):_n(n),dn.set\u003dS):(dn.get\u003dn.get?r\u0026\u0026!1!\u003d\u003dn.cache?gn(t):_n(n.get):S,dn.set\u003dn.set||S),Object.defineProperty(e,t,dn)}function gn(e){return function(){var t\u003dthis._computedWatchers\u0026\u0026this._computedWatchers[e];if(t)return t.dirty\u0026\u0026t.evaluate(),ce.target\u0026\u0026t.depend(),t.value}}function _n(e){return function(){return e.call(this,this)}}function bn(e,t,n,r){return s(n)\u0026\u0026(r\u003dn,n\u003dn.handler),\"string\"\u003d\u003dtypeof n\u0026\u0026(n\u003de[n]),e.$watch(t,n,r)}var $n\u003d0;function wn(e){var t\u003de.options;if(e.super){var n\u003dwn(e.super);if(n!\u003d\u003de.superOptions){e.superOptions\u003dn;var r\u003dfunction(e){var t,n\u003de.options,r\u003de.sealedOptions;for(var i in n)n[i]!\u003d\u003dr[i]\u0026\u0026(t||(t\u003d{}),t[i]\u003dn[i]);return t}(e);r\u0026\u0026A(e.extendOptions,r),(t\u003de.options\u003dDe(n,e.extendOptions)).name\u0026\u0026(t.components[t.name]\u003de)}}return t}function Cn(e){this._init(e)}function xn(e){e.cid\u003d0;var t\u003d1;e.extend\u003dfunction(e){e\u003de||{};var n\u003dthis,r\u003dn.cid,i\u003de._Ctor||(e._Ctor\u003d{});if(i[r])return i[r];var o\u003de.name||n.options.name,a\u003dfunction(e){this._init(e)};return(a.prototype\u003dObject.create(n.prototype)).constructor\u003da,a.cid\u003dt++,a.options\u003dDe(n.options,e),a.super\u003dn,a.options.props\u0026\u0026function(e){var t\u003de.options.props;for(var n in t)vn(e.prototype,\"_props\",n)}(a),a.options.computed\u0026\u0026function(e){var t\u003de.options.computed;for(var n in t)yn(e.prototype,n,t[n])}(a),a.extend\u003dn.extend,a.mixin\u003dn.mixin,a.use\u003dn.use,I.forEach(function(e){a[e]\u003dn[e]}),o\u0026\u0026(a.options.components[o]\u003da),a.superOptions\u003dn.options,a.extendOptions\u003de,a.sealedOptions\u003dA({},a.options),i[r]\u003da,a}}function kn(e){return e\u0026\u0026(e.Ctor.options.name||e.tag)}function An(e,t){return Array.isArray(e)?e.indexOf(t)\u003e-1:\"string\"\u003d\u003dtypeof e?e.split(\",\").indexOf(t)\u003e-1:(n\u003de,\"[object RegExp]\"\u003d\u003d\u003da.call(n)\u0026\u0026e.test(t));var n}function On(e,t){var n\u003de.cache,r\u003de.keys,i\u003de._vnode;for(var o in n){var a\u003dn[o];if(a){var s\u003da.name;s\u0026\u0026!t(s)\u0026\u0026Sn(n,o,r,i)}}}function Sn(e,t,n,r){var i\u003de[t];!i||r\u0026\u0026i.tag\u003d\u003d\u003dr.tag||i.componentInstance.$destroy(),e[t]\u003dnull,h(n,t)}!function(t){t.prototype._init\u003dfunction(t){var n\u003dthis;n._uid\u003d$n++,n._isVue\u003d!0,t\u0026\u0026t._isComponent?function(e,t){var n\u003de.$options\u003dObject.create(e.constructor.options),r\u003dt._parentVnode;n.parent\u003dt.parent,n._parentVnode\u003dr;var i\u003dr.componentOptions;n.propsData\u003di.propsData,n._parentListeners\u003di.listeners,n._renderChildren\u003di.children,n._componentTag\u003di.tag,t.render\u0026\u0026(n.render\u003dt.render,n.staticRenderFns\u003dt.staticRenderFns)}(n,t):n.$options\u003dDe(wn(n.constructor),t||{},n),n._renderProxy\u003dn,n._self\u003dn,function(e){var t\u003de.$options,n\u003dt.parent;if(n\u0026\u0026!t.abstract){for(;n.$options.abstract\u0026\u0026n.$parent;)n\u003dn.$parent;n.$children.push(e)}e.$parent\u003dn,e.$root\u003dn?n.$root:e,e.$children\u003d[],e.$refs\u003d{},e._watcher\u003dnull,e._inactive\u003dnull,e._directInactive\u003d!1,e._isMounted\u003d!1,e._isDestroyed\u003d!1,e._isBeingDestroyed\u003d!1}(n),function(e){e._events\u003dObject.create(null),e._hasHookEvent\u003d!1;var t\u003de.$options._parentListeners;t\u0026\u0026Wt(e,t)}(n),function(t){t._vnode\u003dnull,t._staticTrees\u003dnull;var n\u003dt.$options,r\u003dt.$vnode\u003dn._parentVnode,i\u003dr\u0026\u0026r.context;t.$slots\u003dlt(n._renderChildren,i),t.$scopedSlots\u003de,t._c\u003dfunction(e,n,r,i){return Ht(t,e,n,r,i,!1)},t.$createElement\u003dfunction(e,n,r,i){return Ht(t,e,n,r,i,!0)};var o\u003dr\u0026\u0026r.data;xe(t,\"$attrs\",o\u0026\u0026o.attrs||e,null,!0),xe(t,\"$listeners\",n._parentListeners||e,null,!0)}(n),Qt(n,\"beforeCreate\"),function(e){var t\u003dut(e.$options.inject,e);t\u0026\u0026($e(!1),Object.keys(t).forEach(function(n){xe(e,n,t[n])}),$e(!0))}(n),hn(n),function(e){var t\u003de.$options.provide;t\u0026\u0026(e._provided\u003d\"function\"\u003d\u003dtypeof t?t.call(e):t)}(n),Qt(n,\"created\"),n.$options.el\u0026\u0026n.$mount(n.$options.el)}}(Cn),function(e){var t\u003d{get:function(){return this._data}},n\u003d{get:function(){return this._props}};Object.defineProperty(e.prototype,\"$data\",t),Object.defineProperty(e.prototype,\"$props\",n),e.prototype.$set\u003dke,e.prototype.$delete\u003dAe,e.prototype.$watch\u003dfunction(e,t,n){if(s(t))return bn(this,e,t,n);(n\u003dn||{}).user\u003d!0;var r\u003dnew pn(this,e,t,n);if(n.immediate){var i\u003d\u0027callback for immediate watcher \"\u0027+r.expression+\u0027\"\u0027;le(),Be(t,this,[r.value],this,i),fe()}return function(){r.teardown()}}}(Cn),function(e){var t\u003d/^hook:/;e.prototype.$on\u003dfunction(e,n){var r\u003dthis;if(Array.isArray(e))for(var i\u003d0,o\u003de.length;i\u003co;i++)r.$on(e[i],n);else(r._events[e]||(r._events[e]\u003d[])).push(n),t.test(e)\u0026\u0026(r._hasHookEvent\u003d!0);return r},e.prototype.$once\u003dfunction(e,t){var n\u003dthis;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn\u003dt,n.$on(e,r),n},e.prototype.$off\u003dfunction(e,t){var n\u003dthis;if(!arguments.length)return n._events\u003dObject.create(null),n;if(Array.isArray(e)){for(var r\u003d0,i\u003de.length;r\u003ci;r++)n.$off(e[r],t);return n}var o,a\u003dn._events[e];if(!a)return n;if(!t)return n._events[e]\u003dnull,n;for(var s\u003da.length;s--;)if((o\u003da[s])\u003d\u003d\u003dt||o.fn\u003d\u003d\u003dt){a.splice(s,1);break}return n},e.prototype.$emit\u003dfunction(e){var t\u003dthis._events[e];if(t){t\u003dt.length\u003e1?k(t):t;for(var n\u003dk(arguments,1),r\u003d\u0027event handler for \"\u0027+e+\u0027\"\u0027,i\u003d0,o\u003dt.length;i\u003co;i++)Be(t[i],this,n,this,r)}return this}}(Cn),function(e){e.prototype._update\u003dfunction(e,t){var n\u003dthis,r\u003dn.$el,i\u003dn._vnode,o\u003dGt(n);n._vnode\u003de,n.$el\u003di?n.__patch__(i,e):n.__patch__(n.$el,e,t,!1),o(),r\u0026\u0026(r.__vue__\u003dnull),n.$el\u0026\u0026(n.$el.__vue__\u003dn),n.$vnode\u0026\u0026n.$parent\u0026\u0026n.$vnode\u003d\u003d\u003dn.$parent._vnode\u0026\u0026(n.$parent.$el\u003dn.$el)},e.prototype.$forceUpdate\u003dfunction(){this._watcher\u0026\u0026this._watcher.update()},e.prototype.$destroy\u003dfunction(){var e\u003dthis;if(!e._isBeingDestroyed){Qt(e,\"beforeDestroy\"),e._isBeingDestroyed\u003d!0;var t\u003de.$parent;!t||t._isBeingDestroyed||e.$options.abstract||h(t.$children,e),e._watcher\u0026\u0026e._watcher.teardown();for(var n\u003de._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__\u0026\u0026e._data.__ob__.vmCount--,e._isDestroyed\u003d!0,e.__patch__(e._vnode,null),Qt(e,\"destroyed\"),e.$off(),e.$el\u0026\u0026(e.$el.__vue__\u003dnull),e.$vnode\u0026\u0026(e.$vnode.parent\u003dnull)}}}(Cn),function(e){Nt(e.prototype),e.prototype.$nextTick\u003dfunction(e){return Qe(e,this)},e.prototype._render\u003dfunction(){var e,t\u003dthis,n\u003dt.$options,r\u003dn.render,i\u003dn._parentVnode;i\u0026\u0026(t.$scopedSlots\u003ddt(i.data.scopedSlots,t.$slots,t.$scopedSlots)),t.$vnode\u003di;try{Ut\u003dt,e\u003dr.call(t._renderProxy,t.$createElement)}catch(n){He(n,t,\"render\"),e\u003dt._vnode}finally{Ut\u003dnull}return Array.isArray(e)\u0026\u00261\u003d\u003d\u003de.length\u0026\u0026(e\u003de[0]),e instanceof pe||(e\u003dve()),e.parent\u003di,e}}(Cn);var Tn\u003d[String,RegExp,Array],Nn\u003d{KeepAlive:{name:\"keep-alive\",abstract:!0,props:{include:Tn,exclude:Tn,max:[String,Number]},methods:{cacheVNode:function(){var e\u003dthis.cache,t\u003dthis.keys,n\u003dthis.vnodeToCache,r\u003dthis.keyToCache;if(n){var i\u003dn.tag,o\u003dn.componentInstance,a\u003dn.componentOptions;e[r]\u003d{name:kn(a),tag:i,componentInstance:o},t.push(r),this.max\u0026\u0026t.length\u003eparseInt(this.max)\u0026\u0026Sn(e,t[0],t,this._vnode),this.vnodeToCache\u003dnull}}},created:function(){this.cache\u003dObject.create(null),this.keys\u003d[]},destroyed:function(){for(var e in this.cache)Sn(this.cache,e,this.keys)},mounted:function(){var e\u003dthis;this.cacheVNode(),this.$watch(\"include\",function(t){On(e,function(e){return An(t,e)})}),this.$watch(\"exclude\",function(t){On(e,function(e){return!An(t,e)})})},updated:function(){this.cacheVNode()},render:function(){var e\u003dthis.$slots.default,t\u003dzt(e),n\u003dt\u0026\u0026t.componentOptions;if(n){var r\u003dkn(n),i\u003dthis.include,o\u003dthis.exclude;if(i\u0026\u0026(!r||!An(i,r))||o\u0026\u0026r\u0026\u0026An(o,r))return t;var a\u003dthis.cache,s\u003dthis.keys,c\u003dnull\u003d\u003dt.key?n.Ctor.cid+(n.tag?\"::\"+n.tag:\"\"):t.key;a[c]?(t.componentInstance\u003da[c].componentInstance,h(s,c),s.push(c)):(this.vnodeToCache\u003dt,this.keyToCache\u003dc),t.data.keepAlive\u003d!0}return t||e\u0026\u0026e[0]}}};!function(e){var t\u003d{get:function(){return F}};Object.defineProperty(e,\"config\",t),e.util\u003d{warn:ae,extend:A,mergeOptions:De,defineReactive:xe},e.set\u003dke,e.delete\u003dAe,e.nextTick\u003dQe,e.observable\u003dfunction(e){return Ce(e),e},e.options\u003dObject.create(null),I.forEach(function(t){e.options[t+\"s\"]\u003dObject.create(null)}),e.options._base\u003de,A(e.options.components,Nn),function(e){e.use\u003dfunction(e){var t\u003dthis._installedPlugins||(this._installedPlugins\u003d[]);if(t.indexOf(e)\u003e-1)return this;var n\u003dk(arguments,1);return n.unshift(this),\"function\"\u003d\u003dtypeof e.install?e.install.apply(e,n):\"function\"\u003d\u003dtypeof e\u0026\u0026e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin\u003dfunction(e){return this.options\u003dDe(this.options,e),this}}(e),xn(e),function(e){I.forEach(function(t){e[t]\u003dfunction(e,n){return n?(\"component\"\u003d\u003d\u003dt\u0026\u0026s(n)\u0026\u0026(n.name\u003dn.name||e,n\u003dthis.options._base.extend(n)),\"directive\"\u003d\u003d\u003dt\u0026\u0026\"function\"\u003d\u003dtypeof n\u0026\u0026(n\u003d{bind:n,update:n}),this.options[t+\"s\"][e]\u003dn,n):this.options[t+\"s\"][e]}})}(e)}(Cn),Object.defineProperty(Cn.prototype,\"$isServer\",{get:te}),Object.defineProperty(Cn.prototype,\"$ssrContext\",{get:function(){return this.$vnode\u0026\u0026this.$vnode.ssrContext}}),Object.defineProperty(Cn,\"FunctionalRenderContext\",{value:Et}),Cn.version\u003d\"2.6.14\";var En\u003dp(\"style,class\"),jn\u003dp(\"input,textarea,option,select,progress\"),Dn\u003dfunction(e,t,n){return\"value\"\u003d\u003d\u003dn\u0026\u0026jn(e)\u0026\u0026\"button\"!\u003d\u003dt||\"selected\"\u003d\u003d\u003dn\u0026\u0026\"option\"\u003d\u003d\u003de||\"checked\"\u003d\u003d\u003dn\u0026\u0026\"input\"\u003d\u003d\u003de||\"muted\"\u003d\u003d\u003dn\u0026\u0026\"video\"\u003d\u003d\u003de},Ln\u003dp(\"contenteditable,draggable,spellcheck\"),In\u003dp(\"events,caret,typing,plaintext-only\"),Mn\u003dfunction(e,t){return Bn(t)||\"false\"\u003d\u003d\u003dt?\"false\":\"contenteditable\"\u003d\u003d\u003de\u0026\u0026In(t)?t:\"true\"},Fn\u003dp(\"allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible\"),Pn\u003d\"http://www.w3.org/1999/xlink\",Rn\u003dfunction(e){return\":\"\u003d\u003d\u003de.charAt(5)\u0026\u0026\"xlink\"\u003d\u003d\u003de.slice(0,5)},Hn\u003dfunction(e){return Rn(e)?e.slice(6,e.length):\"\"},Bn\u003dfunction(e){return null\u003d\u003de||!1\u003d\u003d\u003de};function Un(e){for(var t\u003de.data,r\u003de,i\u003de;n(i.componentInstance);)(i\u003di.componentInstance._vnode)\u0026\u0026i.data\u0026\u0026(t\u003dVn(i.data,t));for(;n(r\u003dr.parent);)r\u0026\u0026r.data\u0026\u0026(t\u003dVn(t,r.data));return function(e,t){if(n(e)||n(t))return zn(e,Kn(t));return\"\"}(t.staticClass,t.class)}function Vn(e,t){return{staticClass:zn(e.staticClass,t.staticClass),class:n(e.class)?[e.class,t.class]:t.class}}function zn(e,t){return e?t?e+\" \"+t:e:t||\"\"}function Kn(e){return Array.isArray(e)?function(e){for(var t,r\u003d\"\",i\u003d0,o\u003de.length;i\u003co;i++)n(t\u003dKn(e[i]))\u0026\u0026\"\"!\u003d\u003dt\u0026\u0026(r\u0026\u0026(r+\u003d\" \"),r+\u003dt);return r}(e):o(e)?function(e){var t\u003d\"\";for(var n in e)e[n]\u0026\u0026(t\u0026\u0026(t+\u003d\" \"),t+\u003dn);return t}(e):\"string\"\u003d\u003dtypeof e?e:\"\"}var Jn\u003d{svg:\"http://www.w3.org/2000/svg\",math:\"http://www.w3.org/1998/Math/MathML\"},qn\u003dp(\"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot\"),Wn\u003dp(\"svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view\",!0),Zn\u003dfunction(e){return qn(e)||Wn(e)};function Gn(e){return Wn(e)?\"svg\":\"math\"\u003d\u003d\u003de?\"math\":void 0}var Xn\u003dObject.create(null);var Yn\u003dp(\"text,number,password,search,email,tel,url\");function Qn(e){if(\"string\"\u003d\u003dtypeof e){var t\u003ddocument.querySelector(e);return t||document.createElement(\"div\")}return e}var er\u003dObject.freeze({createElement:function(e,t){var n\u003ddocument.createElement(e);return\"select\"!\u003d\u003de?n:(t.data\u0026\u0026t.data.attrs\u0026\u0026void 0!\u003d\u003dt.data.attrs.multiple\u0026\u0026n.setAttribute(\"multiple\",\"multiple\"),n)},createElementNS:function(e,t){return document.createElementNS(Jn[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent\u003dt},setStyleScope:function(e,t){e.setAttribute(t,\"\")}}),tr\u003d{create:function(e,t){nr(t)},update:function(e,t){e.data.ref!\u003d\u003dt.data.ref\u0026\u0026(nr(e,!0),nr(t))},destroy:function(e){nr(e,!0)}};function nr(e,t){var r\u003de.data.ref;if(n(r)){var i\u003de.context,o\u003de.componentInstance||e.elm,a\u003di.$refs;t?Array.isArray(a[r])?h(a[r],o):a[r]\u003d\u003d\u003do\u0026\u0026(a[r]\u003dvoid 0):e.data.refInFor?Array.isArray(a[r])?a[r].indexOf(o)\u003c0\u0026\u0026a[r].push(o):a[r]\u003d[o]:a[r]\u003do}}var rr\u003dnew pe(\"\",{},[]),ir\u003d[\"create\",\"activate\",\"update\",\"remove\",\"destroy\"];function or(e,i){return e.key\u003d\u003d\u003di.key\u0026\u0026e.asyncFactory\u003d\u003d\u003di.asyncFactory\u0026\u0026(e.tag\u003d\u003d\u003di.tag\u0026\u0026e.isComment\u003d\u003d\u003di.isComment\u0026\u0026n(e.data)\u003d\u003d\u003dn(i.data)\u0026\u0026function(e,t){if(\"input\"!\u003d\u003de.tag)return!0;var r,i\u003dn(r\u003de.data)\u0026\u0026n(r\u003dr.attrs)\u0026\u0026r.type,o\u003dn(r\u003dt.data)\u0026\u0026n(r\u003dr.attrs)\u0026\u0026r.type;return i\u003d\u003d\u003do||Yn(i)\u0026\u0026Yn(o)}(e,i)||r(e.isAsyncPlaceholder)\u0026\u0026t(i.asyncFactory.error))}function ar(e,t,r){var i,o,a\u003d{};for(i\u003dt;i\u003c\u003dr;++i)n(o\u003de[i].key)\u0026\u0026(a[o]\u003di);return a}var sr\u003d{create:cr,update:cr,destroy:function(e){cr(e,rr)}};function cr(e,t){(e.data.directives||t.data.directives)\u0026\u0026function(e,t){var n,r,i,o\u003de\u003d\u003d\u003drr,a\u003dt\u003d\u003d\u003drr,s\u003dlr(e.data.directives,e.context),c\u003dlr(t.data.directives,t.context),u\u003d[],l\u003d[];for(n in c)r\u003ds[n],i\u003dc[n],r?(i.oldValue\u003dr.value,i.oldArg\u003dr.arg,pr(i,\"update\",t,e),i.def\u0026\u0026i.def.componentUpdated\u0026\u0026l.push(i)):(pr(i,\"bind\",t,e),i.def\u0026\u0026i.def.inserted\u0026\u0026u.push(i));if(u.length){var f\u003dfunction(){for(var n\u003d0;n\u003cu.length;n++)pr(u[n],\"inserted\",t,e)};o?ot(t,\"insert\",f):f()}l.length\u0026\u0026ot(t,\"postpatch\",function(){for(var n\u003d0;n\u003cl.length;n++)pr(l[n],\"componentUpdated\",t,e)});if(!o)for(n in s)c[n]||pr(s[n],\"unbind\",e,e,a)}(e,t)}var ur\u003dObject.create(null);function lr(e,t){var n,r,i\u003dObject.create(null);if(!e)return i;for(n\u003d0;n\u003ce.length;n++)(r\u003de[n]).modifiers||(r.modifiers\u003dur),i[fr(r)]\u003dr,r.def\u003dLe(t.$options,\"directives\",r.name);return i}function fr(e){return e.rawName||e.name+\".\"+Object.keys(e.modifiers||{}).join(\".\")}function pr(e,t,n,r,i){var o\u003de.def\u0026\u0026e.def[t];if(o)try{o(n.elm,e,n,r,i)}catch(r){He(r,n.context,\"directive \"+e.name+\" \"+t+\" hook\")}}var dr\u003d[tr,sr];function vr(e,r){var i\u003dr.componentOptions;if(!(n(i)\u0026\u0026!1\u003d\u003d\u003di.Ctor.options.inheritAttrs||t(e.data.attrs)\u0026\u0026t(r.data.attrs))){var o,a,s\u003dr.elm,c\u003de.data.attrs||{},u\u003dr.data.attrs||{};for(o in n(u.__ob__)\u0026\u0026(u\u003dr.data.attrs\u003dA({},u)),u)a\u003du[o],c[o]!\u003d\u003da\u0026\u0026hr(s,o,a,r.data.pre);for(o in(q||Z)\u0026\u0026u.value!\u003d\u003dc.value\u0026\u0026hr(s,\"value\",u.value),c)t(u[o])\u0026\u0026(Rn(o)?s.removeAttributeNS(Pn,Hn(o)):Ln(o)||s.removeAttribute(o))}}function hr(e,t,n,r){r||e.tagName.indexOf(\"-\")\u003e-1?mr(e,t,n):Fn(t)?Bn(n)?e.removeAttribute(t):(n\u003d\"allowfullscreen\"\u003d\u003d\u003dt\u0026\u0026\"EMBED\"\u003d\u003d\u003de.tagName?\"true\":t,e.setAttribute(t,n)):Ln(t)?e.setAttribute(t,Mn(t,n)):Rn(t)?Bn(n)?e.removeAttributeNS(Pn,Hn(t)):e.setAttributeNS(Pn,t,n):mr(e,t,n)}function mr(e,t,n){if(Bn(n))e.removeAttribute(t);else{if(q\u0026\u0026!W\u0026\u0026\"TEXTAREA\"\u003d\u003d\u003de.tagName\u0026\u0026\"placeholder\"\u003d\u003d\u003dt\u0026\u0026\"\"!\u003d\u003dn\u0026\u0026!e.__ieph){var r\u003dfunction(t){t.stopImmediatePropagation(),e.removeEventListener(\"input\",r)};e.addEventListener(\"input\",r),e.__ieph\u003d!0}e.setAttribute(t,n)}}var yr\u003d{create:vr,update:vr};function gr(e,r){var i\u003dr.elm,o\u003dr.data,a\u003de.data;if(!(t(o.staticClass)\u0026\u0026t(o.class)\u0026\u0026(t(a)||t(a.staticClass)\u0026\u0026t(a.class)))){var s\u003dUn(r),c\u003di._transitionClasses;n(c)\u0026\u0026(s\u003dzn(s,Kn(c))),s!\u003d\u003di._prevClass\u0026\u0026(i.setAttribute(\"class\",s),i._prevClass\u003ds)}}var _r,br,$r,wr,Cr,xr,kr\u003d{create:gr,update:gr},Ar\u003d/[\\w).+\\-_$\\]]/;function Or(e){var t,n,r,i,o,a\u003d!1,s\u003d!1,c\u003d!1,u\u003d!1,l\u003d0,f\u003d0,p\u003d0,d\u003d0;for(r\u003d0;r\u003ce.length;r++)if(n\u003dt,t\u003de.charCodeAt(r),a)39\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(a\u003d!1);else if(s)34\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(s\u003d!1);else if(c)96\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(c\u003d!1);else if(u)47\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(u\u003d!1);else if(124!\u003d\u003dt||124\u003d\u003d\u003de.charCodeAt(r+1)||124\u003d\u003d\u003de.charCodeAt(r-1)||l||f||p){switch(t){case 34:s\u003d!0;break;case 39:a\u003d!0;break;case 96:c\u003d!0;break;case 40:p++;break;case 41:p--;break;case 91:f++;break;case 93:f--;break;case 123:l++;break;case 125:l--}if(47\u003d\u003d\u003dt){for(var v\u003dr-1,h\u003dvoid 0;v\u003e\u003d0\u0026\u0026\" \"\u003d\u003d\u003d(h\u003de.charAt(v));v--);h\u0026\u0026Ar.test(h)||(u\u003d!0)}}else void 0\u003d\u003d\u003di?(d\u003dr+1,i\u003de.slice(0,r).trim()):m();function m(){(o||(o\u003d[])).push(e.slice(d,r).trim()),d\u003dr+1}if(void 0\u003d\u003d\u003di?i\u003de.slice(0,r).trim():0!\u003d\u003dd\u0026\u0026m(),o)for(r\u003d0;r\u003co.length;r++)i\u003dSr(i,o[r]);return i}function Sr(e,t){var n\u003dt.indexOf(\"(\");if(n\u003c0)return\u0027_f(\"\u0027+t+\u0027\")(\u0027+e+\")\";var r\u003dt.slice(0,n),i\u003dt.slice(n+1);return\u0027_f(\"\u0027+r+\u0027\")(\u0027+e+(\")\"!\u003d\u003di?\",\"+i:i)}function Tr(e,t){console.error(\"[Vue compiler]: \"+e)}function Nr(e,t){return e?e.map(function(e){return e[t]}).filter(function(e){return e}):[]}function Er(e,t,n,r,i){(e.props||(e.props\u003d[])).push(Hr({name:t,value:n,dynamic:i},r)),e.plain\u003d!1}function jr(e,t,n,r,i){(i?e.dynamicAttrs||(e.dynamicAttrs\u003d[]):e.attrs||(e.attrs\u003d[])).push(Hr({name:t,value:n,dynamic:i},r)),e.plain\u003d!1}function Dr(e,t,n,r){e.attrsMap[t]\u003dn,e.attrsList.push(Hr({name:t,value:n},r))}function Lr(e,t,n,r,i,o,a,s){(e.directives||(e.directives\u003d[])).push(Hr({name:t,rawName:n,value:r,arg:i,isDynamicArg:o,modifiers:a},s)),e.plain\u003d!1}function Ir(e,t,n){return n?\"_p(\"+t+\u0027,\"\u0027+e+\u0027\")\u0027:e+t}function Mr(t,n,r,i,o,a,s,c){var u;(i\u003di||e).right?c?n\u003d\"(\"+n+\")\u003d\u003d\u003d\u0027click\u0027?\u0027contextmenu\u0027:(\"+n+\")\":\"click\"\u003d\u003d\u003dn\u0026\u0026(n\u003d\"contextmenu\",delete i.right):i.middle\u0026\u0026(c?n\u003d\"(\"+n+\")\u003d\u003d\u003d\u0027click\u0027?\u0027mouseup\u0027:(\"+n+\")\":\"click\"\u003d\u003d\u003dn\u0026\u0026(n\u003d\"mouseup\")),i.capture\u0026\u0026(delete i.capture,n\u003dIr(\"!\",n,c)),i.once\u0026\u0026(delete i.once,n\u003dIr(\"~\",n,c)),i.passive\u0026\u0026(delete i.passive,n\u003dIr(\"\u0026\",n,c)),i.native?(delete i.native,u\u003dt.nativeEvents||(t.nativeEvents\u003d{})):u\u003dt.events||(t.events\u003d{});var l\u003dHr({value:r.trim(),dynamic:c},s);i!\u003d\u003de\u0026\u0026(l.modifiers\u003di);var f\u003du[n];Array.isArray(f)?o?f.unshift(l):f.push(l):u[n]\u003df?o?[l,f]:[f,l]:l,t.plain\u003d!1}function Fr(e,t,n){var r\u003dPr(e,\":\"+t)||Pr(e,\"v-bind:\"+t);if(null!\u003dr)return Or(r);if(!1!\u003d\u003dn){var i\u003dPr(e,t);if(null!\u003di)return JSON.stringify(i)}}function Pr(e,t,n){var r;if(null!\u003d(r\u003de.attrsMap[t]))for(var i\u003de.attrsList,o\u003d0,a\u003di.length;o\u003ca;o++)if(i[o].name\u003d\u003d\u003dt){i.splice(o,1);break}return n\u0026\u0026delete e.attrsMap[t],r}function Rr(e,t){for(var n\u003de.attrsList,r\u003d0,i\u003dn.length;r\u003ci;r++){var o\u003dn[r];if(t.test(o.name))return n.splice(r,1),o}}function Hr(e,t){return t\u0026\u0026(null!\u003dt.start\u0026\u0026(e.start\u003dt.start),null!\u003dt.end\u0026\u0026(e.end\u003dt.end)),e}function Br(e,t,n){var r\u003dn||{},i\u003dr.number,o\u003d\"$$v\";r.trim\u0026\u0026(o\u003d\"(typeof $$v \u003d\u003d\u003d \u0027string\u0027? $$v.trim(): $$v)\"),i\u0026\u0026(o\u003d\"_n(\"+o+\")\");var a\u003dUr(t,o);e.model\u003d{value:\"(\"+t+\")\",expression:JSON.stringify(t),callback:\"function ($$v) {\"+a+\"}\"}}function Ur(e,t){var n\u003dfunction(e){if(e\u003de.trim(),_r\u003de.length,e.indexOf(\"[\")\u003c0||e.lastIndexOf(\"]\")\u003c_r-1)return(wr\u003de.lastIndexOf(\".\"))\u003e-1?{exp:e.slice(0,wr),key:\u0027\"\u0027+e.slice(wr+1)+\u0027\"\u0027}:{exp:e,key:null};br\u003de,wr\u003dCr\u003dxr\u003d0;for(;!zr();)Kr($r\u003dVr())?qr($r):91\u003d\u003d\u003d$r\u0026\u0026Jr($r);return{exp:e.slice(0,Cr),key:e.slice(Cr+1,xr)}}(e);return null\u003d\u003d\u003dn.key?e+\"\u003d\"+t:\"$set(\"+n.exp+\", \"+n.key+\", \"+t+\")\"}function Vr(){return br.charCodeAt(++wr)}function zr(){return wr\u003e\u003d_r}function Kr(e){return 34\u003d\u003d\u003de||39\u003d\u003d\u003de}function Jr(e){var t\u003d1;for(Cr\u003dwr;!zr();)if(Kr(e\u003dVr()))qr(e);else if(91\u003d\u003d\u003de\u0026\u0026t++,93\u003d\u003d\u003de\u0026\u0026t--,0\u003d\u003d\u003dt){xr\u003dwr;break}}function qr(e){for(var t\u003de;!zr()\u0026\u0026(e\u003dVr())!\u003d\u003dt;);}var Wr,Zr\u003d\"__r\",Gr\u003d\"__c\";function Xr(e,t,n){var r\u003dWr;return function i(){null!\u003d\u003dt.apply(null,arguments)\u0026\u0026ei(e,i,n,r)}}var Yr\u003dKe\u0026\u0026!(X\u0026\u0026Number(X[1])\u003c\u003d53);function Qr(e,t,n,r){if(Yr){var i\u003dsn,o\u003dt;t\u003do._wrapper\u003dfunction(e){if(e.target\u003d\u003d\u003de.currentTarget||e.timeStamp\u003e\u003di||e.timeStamp\u003c\u003d0||e.target.ownerDocument!\u003d\u003ddocument)return o.apply(this,arguments)}}Wr.addEventListener(e,t,Q?{capture:n,passive:r}:n)}function ei(e,t,n,r){(r||Wr).removeEventListener(e,t._wrapper||t,n)}function ti(e,r){if(!t(e.data.on)||!t(r.data.on)){var i\u003dr.data.on||{},o\u003de.data.on||{};Wr\u003dr.elm,function(e){if(n(e[Zr])){var t\u003dq?\"change\":\"input\";e[t]\u003d[].concat(e[Zr],e[t]||[]),delete e[Zr]}n(e[Gr])\u0026\u0026(e.change\u003d[].concat(e[Gr],e.change||[]),delete e[Gr])}(i),it(i,o,Qr,ei,Xr,r.context),Wr\u003dvoid 0}}var ni,ri\u003d{create:ti,update:ti};function ii(e,r){if(!t(e.data.domProps)||!t(r.data.domProps)){var i,o,a\u003dr.elm,s\u003de.data.domProps||{},c\u003dr.data.domProps||{};for(i in n(c.__ob__)\u0026\u0026(c\u003dr.data.domProps\u003dA({},c)),s)i in c||(a[i]\u003d\"\");for(i in c){if(o\u003dc[i],\"textContent\"\u003d\u003d\u003di||\"innerHTML\"\u003d\u003d\u003di){if(r.children\u0026\u0026(r.children.length\u003d0),o\u003d\u003d\u003ds[i])continue;1\u003d\u003d\u003da.childNodes.length\u0026\u0026a.removeChild(a.childNodes[0])}if(\"value\"\u003d\u003d\u003di\u0026\u0026\"PROGRESS\"!\u003d\u003da.tagName){a._value\u003do;var u\u003dt(o)?\"\":String(o);oi(a,u)\u0026\u0026(a.value\u003du)}else if(\"innerHTML\"\u003d\u003d\u003di\u0026\u0026Wn(a.tagName)\u0026\u0026t(a.innerHTML)){(ni\u003dni||document.createElement(\"div\")).innerHTML\u003d\"\u003csvg\u003e\"+o+\"\u003c/svg\u003e\";for(var l\u003dni.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}else if(o!\u003d\u003ds[i])try{a[i]\u003do}catch(e){}}}}function oi(e,t){return!e.composing\u0026\u0026(\"OPTION\"\u003d\u003d\u003de.tagName||function(e,t){var n\u003d!0;try{n\u003ddocument.activeElement!\u003d\u003de}catch(e){}return n\u0026\u0026e.value!\u003d\u003dt}(e,t)||function(e,t){var r\u003de.value,i\u003de._vModifiers;if(n(i)){if(i.number)return f(r)!\u003d\u003df(t);if(i.trim)return r.trim()!\u003d\u003dt.trim()}return r!\u003d\u003dt}(e,t))}var ai\u003d{create:ii,update:ii},si\u003dg(function(e){var t\u003d{},n\u003d/:(.+)/;return e.split(/;(?![^(]*\\))/g).forEach(function(e){if(e){var r\u003de.split(n);r.length\u003e1\u0026\u0026(t[r[0].trim()]\u003dr[1].trim())}}),t});function ci(e){var t\u003dui(e.style);return e.staticStyle?A(e.staticStyle,t):t}function ui(e){return Array.isArray(e)?O(e):\"string\"\u003d\u003dtypeof e?si(e):e}var li,fi\u003d/^--/,pi\u003d/\\s*!important$/,di\u003dfunction(e,t,n){if(fi.test(t))e.style.setProperty(t,n);else if(pi.test(n))e.style.setProperty(C(t),n.replace(pi,\"\"),\"important\");else{var r\u003dhi(t);if(Array.isArray(n))for(var i\u003d0,o\u003dn.length;i\u003co;i++)e.style[r]\u003dn[i];else e.style[r]\u003dn}},vi\u003d[\"Webkit\",\"Moz\",\"ms\"],hi\u003dg(function(e){if(li\u003dli||document.createElement(\"div\").style,\"filter\"!\u003d\u003d(e\u003db(e))\u0026\u0026e in li)return e;for(var t\u003de.charAt(0).toUpperCase()+e.slice(1),n\u003d0;n\u003cvi.length;n++){var r\u003dvi[n]+t;if(r in li)return r}});function mi(e,r){var i\u003dr.data,o\u003de.data;if(!(t(i.staticStyle)\u0026\u0026t(i.style)\u0026\u0026t(o.staticStyle)\u0026\u0026t(o.style))){var a,s,c\u003dr.elm,u\u003do.staticStyle,l\u003do.normalizedStyle||o.style||{},f\u003du||l,p\u003dui(r.data.style)||{};r.data.normalizedStyle\u003dn(p.__ob__)?A({},p):p;var d\u003dfunction(e,t){var n,r\u003d{};if(t)for(var i\u003de;i.componentInstance;)(i\u003di.componentInstance._vnode)\u0026\u0026i.data\u0026\u0026(n\u003dci(i.data))\u0026\u0026A(r,n);(n\u003dci(e.data))\u0026\u0026A(r,n);for(var o\u003de;o\u003do.parent;)o.data\u0026\u0026(n\u003dci(o.data))\u0026\u0026A(r,n);return r}(r,!0);for(s in f)t(d[s])\u0026\u0026di(c,s,\"\");for(s in d)(a\u003dd[s])!\u003d\u003df[s]\u0026\u0026di(c,s,null\u003d\u003da?\"\":a)}}var yi\u003d{create:mi,update:mi},gi\u003d/\\s+/;function _i(e,t){if(t\u0026\u0026(t\u003dt.trim()))if(e.classList)t.indexOf(\" \")\u003e-1?t.split(gi).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n\u003d\" \"+(e.getAttribute(\"class\")||\"\")+\" \";n.indexOf(\" \"+t+\" \")\u003c0\u0026\u0026e.setAttribute(\"class\",(n+t).trim())}}function bi(e,t){if(t\u0026\u0026(t\u003dt.trim()))if(e.classList)t.indexOf(\" \")\u003e-1?t.split(gi).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute(\"class\");else{for(var n\u003d\" \"+(e.getAttribute(\"class\")||\"\")+\" \",r\u003d\" \"+t+\" \";n.indexOf(r)\u003e\u003d0;)n\u003dn.replace(r,\" \");(n\u003dn.trim())?e.setAttribute(\"class\",n):e.removeAttribute(\"class\")}}function $i(e){if(e){if(\"object\"\u003d\u003dtypeof e){var t\u003d{};return!1!\u003d\u003de.css\u0026\u0026A(t,wi(e.name||\"v\")),A(t,e),t}return\"string\"\u003d\u003dtypeof e?wi(e):void 0}}var wi\u003dg(function(e){return{enterClass:e+\"-enter\",enterToClass:e+\"-enter-to\",enterActiveClass:e+\"-enter-active\",leaveClass:e+\"-leave\",leaveToClass:e+\"-leave-to\",leaveActiveClass:e+\"-leave-active\"}}),Ci\u003dV\u0026\u0026!W,xi\u003d\"transition\",ki\u003d\"animation\",Ai\u003d\"transition\",Oi\u003d\"transitionend\",Si\u003d\"animation\",Ti\u003d\"animationend\";Ci\u0026\u0026(void 0\u003d\u003d\u003dwindow.ontransitionend\u0026\u0026void 0!\u003d\u003dwindow.onwebkittransitionend\u0026\u0026(Ai\u003d\"WebkitTransition\",Oi\u003d\"webkitTransitionEnd\"),void 0\u003d\u003d\u003dwindow.onanimationend\u0026\u0026void 0!\u003d\u003dwindow.onwebkitanimationend\u0026\u0026(Si\u003d\"WebkitAnimation\",Ti\u003d\"webkitAnimationEnd\"));var Ni\u003dV?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Ei(e){Ni(function(){Ni(e)})}function ji(e,t){var n\u003de._transitionClasses||(e._transitionClasses\u003d[]);n.indexOf(t)\u003c0\u0026\u0026(n.push(t),_i(e,t))}function Di(e,t){e._transitionClasses\u0026\u0026h(e._transitionClasses,t),bi(e,t)}function Li(e,t,n){var r\u003dMi(e,t),i\u003dr.type,o\u003dr.timeout,a\u003dr.propCount;if(!i)return n();var s\u003di\u003d\u003d\u003dxi?Oi:Ti,c\u003d0,u\u003dfunction(){e.removeEventListener(s,l),n()},l\u003dfunction(t){t.target\u003d\u003d\u003de\u0026\u0026++c\u003e\u003da\u0026\u0026u()};setTimeout(function(){c\u003ca\u0026\u0026u()},o+1),e.addEventListener(s,l)}var Ii\u003d/\\b(transform|all)(,|$)/;function Mi(e,t){var n,r\u003dwindow.getComputedStyle(e),i\u003d(r[Ai+\"Delay\"]||\"\").split(\", \"),o\u003d(r[Ai+\"Duration\"]||\"\").split(\", \"),a\u003dFi(i,o),s\u003d(r[Si+\"Delay\"]||\"\").split(\", \"),c\u003d(r[Si+\"Duration\"]||\"\").split(\", \"),u\u003dFi(s,c),l\u003d0,f\u003d0;return t\u003d\u003d\u003dxi?a\u003e0\u0026\u0026(n\u003dxi,l\u003da,f\u003do.length):t\u003d\u003d\u003dki?u\u003e0\u0026\u0026(n\u003dki,l\u003du,f\u003dc.length):f\u003d(n\u003d(l\u003dMath.max(a,u))\u003e0?a\u003eu?xi:ki:null)?n\u003d\u003d\u003dxi?o.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:n\u003d\u003d\u003dxi\u0026\u0026Ii.test(r[Ai+\"Property\"])}}function Fi(e,t){for(;e.length\u003ct.length;)e\u003de.concat(e);return Math.max.apply(null,t.map(function(t,n){return Pi(t)+Pi(e[n])}))}function Pi(e){return 1e3*Number(e.slice(0,-1).replace(\",\",\".\"))}function Ri(e,r){var i\u003de.elm;n(i._leaveCb)\u0026\u0026(i._leaveCb.cancelled\u003d!0,i._leaveCb());var a\u003d$i(e.data.transition);if(!t(a)\u0026\u0026!n(i._enterCb)\u0026\u00261\u003d\u003d\u003di.nodeType){for(var s\u003da.css,c\u003da.type,u\u003da.enterClass,l\u003da.enterToClass,p\u003da.enterActiveClass,d\u003da.appearClass,v\u003da.appearToClass,h\u003da.appearActiveClass,m\u003da.beforeEnter,y\u003da.enter,g\u003da.afterEnter,_\u003da.enterCancelled,b\u003da.beforeAppear,$\u003da.appear,w\u003da.afterAppear,C\u003da.appearCancelled,x\u003da.duration,k\u003dZt,A\u003dZt.$vnode;A\u0026\u0026A.parent;)k\u003dA.context,A\u003dA.parent;var O\u003d!k._isMounted||!e.isRootInsert;if(!O||$||\"\"\u003d\u003d\u003d$){var S\u003dO\u0026\u0026d?d:u,T\u003dO\u0026\u0026h?h:p,N\u003dO\u0026\u0026v?v:l,E\u003dO\u0026\u0026b||m,j\u003dO\u0026\u0026\"function\"\u003d\u003dtypeof $?$:y,L\u003dO\u0026\u0026w||g,I\u003dO\u0026\u0026C||_,M\u003df(o(x)?x.enter:x),F\u003d!1!\u003d\u003ds\u0026\u0026!W,P\u003dUi(j),R\u003di._enterCb\u003dD(function(){F\u0026\u0026(Di(i,N),Di(i,T)),R.cancelled?(F\u0026\u0026Di(i,S),I\u0026\u0026I(i)):L\u0026\u0026L(i),i._enterCb\u003dnull});e.data.show||ot(e,\"insert\",function(){var t\u003di.parentNode,n\u003dt\u0026\u0026t._pending\u0026\u0026t._pending[e.key];n\u0026\u0026n.tag\u003d\u003d\u003de.tag\u0026\u0026n.elm._leaveCb\u0026\u0026n.elm._leaveCb(),j\u0026\u0026j(i,R)}),E\u0026\u0026E(i),F\u0026\u0026(ji(i,S),ji(i,T),Ei(function(){Di(i,S),R.cancelled||(ji(i,N),P||(Bi(M)?setTimeout(R,M):Li(i,c,R)))})),e.data.show\u0026\u0026(r\u0026\u0026r(),j\u0026\u0026j(i,R)),F||P||R()}}}function Hi(e,r){var i\u003de.elm;n(i._enterCb)\u0026\u0026(i._enterCb.cancelled\u003d!0,i._enterCb());var a\u003d$i(e.data.transition);if(t(a)||1!\u003d\u003di.nodeType)return r();if(!n(i._leaveCb)){var s\u003da.css,c\u003da.type,u\u003da.leaveClass,l\u003da.leaveToClass,p\u003da.leaveActiveClass,d\u003da.beforeLeave,v\u003da.leave,h\u003da.afterLeave,m\u003da.leaveCancelled,y\u003da.delayLeave,g\u003da.duration,_\u003d!1!\u003d\u003ds\u0026\u0026!W,b\u003dUi(v),$\u003df(o(g)?g.leave:g),w\u003di._leaveCb\u003dD(function(){i.parentNode\u0026\u0026i.parentNode._pending\u0026\u0026(i.parentNode._pending[e.key]\u003dnull),_\u0026\u0026(Di(i,l),Di(i,p)),w.cancelled?(_\u0026\u0026Di(i,u),m\u0026\u0026m(i)):(r(),h\u0026\u0026h(i)),i._leaveCb\u003dnull});y?y(C):C()}function C(){w.cancelled||(!e.data.show\u0026\u0026i.parentNode\u0026\u0026((i.parentNode._pending||(i.parentNode._pending\u003d{}))[e.key]\u003de),d\u0026\u0026d(i),_\u0026\u0026(ji(i,u),ji(i,p),Ei(function(){Di(i,u),w.cancelled||(ji(i,l),b||(Bi($)?setTimeout(w,$):Li(i,c,w)))})),v\u0026\u0026v(i,w),_||b||w())}}function Bi(e){return\"number\"\u003d\u003dtypeof e\u0026\u0026!isNaN(e)}function Ui(e){if(t(e))return!1;var r\u003de.fns;return n(r)?Ui(Array.isArray(r)?r[0]:r):(e._length||e.length)\u003e1}function Vi(e,t){!0!\u003d\u003dt.data.show\u0026\u0026Ri(t)}var zi\u003dfunction(e){var o,a,s\u003d{},c\u003de.modules,u\u003de.nodeOps;for(o\u003d0;o\u003cir.length;++o)for(s[ir[o]]\u003d[],a\u003d0;a\u003cc.length;++a)n(c[a][ir[o]])\u0026\u0026s[ir[o]].push(c[a][ir[o]]);function l(e){var t\u003du.parentNode(e);n(t)\u0026\u0026u.removeChild(t,e)}function f(e,t,i,o,a,c,l){if(n(e.elm)\u0026\u0026n(c)\u0026\u0026(e\u003dc[l]\u003dme(e)),e.isRootInsert\u003d!a,!function(e,t,i,o){var a\u003de.data;if(n(a)){var c\u003dn(e.componentInstance)\u0026\u0026a.keepAlive;if(n(a\u003da.hook)\u0026\u0026n(a\u003da.init)\u0026\u0026a(e,!1),n(e.componentInstance))return d(e,t),v(i,e.elm,o),r(c)\u0026\u0026function(e,t,r,i){for(var o,a\u003de;a.componentInstance;)if(a\u003da.componentInstance._vnode,n(o\u003da.data)\u0026\u0026n(o\u003do.transition)){for(o\u003d0;o\u003cs.activate.length;++o)s.activate[o](rr,a);t.push(a);break}v(r,e.elm,i)}(e,t,i,o),!0}}(e,t,i,o)){var f\u003de.data,p\u003de.children,m\u003de.tag;n(m)?(e.elm\u003de.ns?u.createElementNS(e.ns,m):u.createElement(m,e),g(e),h(e,p,t),n(f)\u0026\u0026y(e,t),v(i,e.elm,o)):r(e.isComment)?(e.elm\u003du.createComment(e.text),v(i,e.elm,o)):(e.elm\u003du.createTextNode(e.text),v(i,e.elm,o))}}function d(e,t){n(e.data.pendingInsert)\u0026\u0026(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert\u003dnull),e.elm\u003de.componentInstance.$el,m(e)?(y(e,t),g(e)):(nr(e),t.push(e))}function v(e,t,r){n(e)\u0026\u0026(n(r)?u.parentNode(r)\u003d\u003d\u003de\u0026\u0026u.insertBefore(e,t,r):u.appendChild(e,t))}function h(e,t,n){if(Array.isArray(t))for(var r\u003d0;r\u003ct.length;++r)f(t[r],n,e.elm,null,!0,t,r);else i(e.text)\u0026\u0026u.appendChild(e.elm,u.createTextNode(String(e.text)))}function m(e){for(;e.componentInstance;)e\u003de.componentInstance._vnode;return n(e.tag)}function y(e,t){for(var r\u003d0;r\u003cs.create.length;++r)s.create[r](rr,e);n(o\u003de.data.hook)\u0026\u0026(n(o.create)\u0026\u0026o.create(rr,e),n(o.insert)\u0026\u0026t.push(e))}function g(e){var t;if(n(t\u003de.fnScopeId))u.setStyleScope(e.elm,t);else for(var r\u003de;r;)n(t\u003dr.context)\u0026\u0026n(t\u003dt.$options._scopeId)\u0026\u0026u.setStyleScope(e.elm,t),r\u003dr.parent;n(t\u003dZt)\u0026\u0026t!\u003d\u003de.context\u0026\u0026t!\u003d\u003de.fnContext\u0026\u0026n(t\u003dt.$options._scopeId)\u0026\u0026u.setStyleScope(e.elm,t)}function _(e,t,n,r,i,o){for(;r\u003c\u003di;++r)f(n[r],o,e,t,!1,n,r)}function b(e){var t,r,i\u003de.data;if(n(i))for(n(t\u003di.hook)\u0026\u0026n(t\u003dt.destroy)\u0026\u0026t(e),t\u003d0;t\u003cs.destroy.length;++t)s.destroy[t](e);if(n(t\u003de.children))for(r\u003d0;r\u003ce.children.length;++r)b(e.children[r])}function $(e,t,r){for(;t\u003c\u003dr;++t){var i\u003de[t];n(i)\u0026\u0026(n(i.tag)?(w(i),b(i)):l(i.elm))}}function w(e,t){if(n(t)||n(e.data)){var r,i\u003ds.remove.length+1;for(n(t)?t.listeners+\u003di:t\u003dfunction(e,t){function n(){0\u003d\u003d--n.listeners\u0026\u0026l(e)}return n.listeners\u003dt,n}(e.elm,i),n(r\u003de.componentInstance)\u0026\u0026n(r\u003dr._vnode)\u0026\u0026n(r.data)\u0026\u0026w(r,t),r\u003d0;r\u003cs.remove.length;++r)s.remove[r](e,t);n(r\u003de.data.hook)\u0026\u0026n(r\u003dr.remove)?r(e,t):t()}else l(e.elm)}function C(e,t,r,i){for(var o\u003dr;o\u003ci;o++){var a\u003dt[o];if(n(a)\u0026\u0026or(e,a))return o}}function x(e,i,o,a,c,l){if(e!\u003d\u003di){n(i.elm)\u0026\u0026n(a)\u0026\u0026(i\u003da[c]\u003dme(i));var p\u003di.elm\u003de.elm;if(r(e.isAsyncPlaceholder))n(i.asyncFactory.resolved)?O(e.elm,i,o):i.isAsyncPlaceholder\u003d!0;else if(r(i.isStatic)\u0026\u0026r(e.isStatic)\u0026\u0026i.key\u003d\u003d\u003de.key\u0026\u0026(r(i.isCloned)||r(i.isOnce)))i.componentInstance\u003de.componentInstance;else{var d,v\u003di.data;n(v)\u0026\u0026n(d\u003dv.hook)\u0026\u0026n(d\u003dd.prepatch)\u0026\u0026d(e,i);var h\u003de.children,y\u003di.children;if(n(v)\u0026\u0026m(i)){for(d\u003d0;d\u003cs.update.length;++d)s.update[d](e,i);n(d\u003dv.hook)\u0026\u0026n(d\u003dd.update)\u0026\u0026d(e,i)}t(i.text)?n(h)\u0026\u0026n(y)?h!\u003d\u003dy\u0026\u0026function(e,r,i,o,a){for(var s,c,l,p\u003d0,d\u003d0,v\u003dr.length-1,h\u003dr[0],m\u003dr[v],y\u003di.length-1,g\u003di[0],b\u003di[y],w\u003d!a;p\u003c\u003dv\u0026\u0026d\u003c\u003dy;)t(h)?h\u003dr[++p]:t(m)?m\u003dr[--v]:or(h,g)?(x(h,g,o,i,d),h\u003dr[++p],g\u003di[++d]):or(m,b)?(x(m,b,o,i,y),m\u003dr[--v],b\u003di[--y]):or(h,b)?(x(h,b,o,i,y),w\u0026\u0026u.insertBefore(e,h.elm,u.nextSibling(m.elm)),h\u003dr[++p],b\u003di[--y]):or(m,g)?(x(m,g,o,i,d),w\u0026\u0026u.insertBefore(e,m.elm,h.elm),m\u003dr[--v],g\u003di[++d]):(t(s)\u0026\u0026(s\u003dar(r,p,v)),t(c\u003dn(g.key)?s[g.key]:C(g,r,p,v))?f(g,o,e,h.elm,!1,i,d):or(l\u003dr[c],g)?(x(l,g,o,i,d),r[c]\u003dvoid 0,w\u0026\u0026u.insertBefore(e,l.elm,h.elm)):f(g,o,e,h.elm,!1,i,d),g\u003di[++d]);p\u003ev?_(e,t(i[y+1])?null:i[y+1].elm,i,d,y,o):d\u003ey\u0026\u0026$(r,p,v)}(p,h,y,o,l):n(y)?(n(e.text)\u0026\u0026u.setTextContent(p,\"\"),_(p,null,y,0,y.length-1,o)):n(h)?$(h,0,h.length-1):n(e.text)\u0026\u0026u.setTextContent(p,\"\"):e.text!\u003d\u003di.text\u0026\u0026u.setTextContent(p,i.text),n(v)\u0026\u0026n(d\u003dv.hook)\u0026\u0026n(d\u003dd.postpatch)\u0026\u0026d(e,i)}}}function k(e,t,i){if(r(i)\u0026\u0026n(e.parent))e.parent.data.pendingInsert\u003dt;else for(var o\u003d0;o\u003ct.length;++o)t[o].data.hook.insert(t[o])}var A\u003dp(\"attrs,class,staticClass,staticStyle,key\");function O(e,t,i,o){var a,s\u003dt.tag,c\u003dt.data,u\u003dt.children;if(o\u003do||c\u0026\u0026c.pre,t.elm\u003de,r(t.isComment)\u0026\u0026n(t.asyncFactory))return t.isAsyncPlaceholder\u003d!0,!0;if(n(c)\u0026\u0026(n(a\u003dc.hook)\u0026\u0026n(a\u003da.init)\u0026\u0026a(t,!0),n(a\u003dt.componentInstance)))return d(t,i),!0;if(n(s)){if(n(u))if(e.hasChildNodes())if(n(a\u003dc)\u0026\u0026n(a\u003da.domProps)\u0026\u0026n(a\u003da.innerHTML)){if(a!\u003d\u003de.innerHTML)return!1}else{for(var l\u003d!0,f\u003de.firstChild,p\u003d0;p\u003cu.length;p++){if(!f||!O(f,u[p],i,o)){l\u003d!1;break}f\u003df.nextSibling}if(!l||f)return!1}else h(t,u,i);if(n(c)){var v\u003d!1;for(var m in c)if(!A(m)){v\u003d!0,y(t,i);break}!v\u0026\u0026c.class\u0026\u0026tt(c.class)}}else e.data!\u003d\u003dt.text\u0026\u0026(e.data\u003dt.text);return!0}return function(e,i,o,a){if(!t(i)){var c,l\u003d!1,p\u003d[];if(t(e))l\u003d!0,f(i,p);else{var d\u003dn(e.nodeType);if(!d\u0026\u0026or(e,i))x(e,i,p,null,null,a);else{if(d){if(1\u003d\u003d\u003de.nodeType\u0026\u0026e.hasAttribute(L)\u0026\u0026(e.removeAttribute(L),o\u003d!0),r(o)\u0026\u0026O(e,i,p))return k(i,p,!0),e;c\u003de,e\u003dnew pe(u.tagName(c).toLowerCase(),{},[],void 0,c)}var v\u003de.elm,h\u003du.parentNode(v);if(f(i,p,v._leaveCb?null:h,u.nextSibling(v)),n(i.parent))for(var y\u003di.parent,g\u003dm(i);y;){for(var _\u003d0;_\u003cs.destroy.length;++_)s.destroy[_](y);if(y.elm\u003di.elm,g){for(var w\u003d0;w\u003cs.create.length;++w)s.create[w](rr,y);var C\u003dy.data.hook.insert;if(C.merged)for(var A\u003d1;A\u003cC.fns.length;A++)C.fns[A]()}else nr(y);y\u003dy.parent}n(h)?$([e],0,0):n(e.tag)\u0026\u0026b(e)}}return k(i,p,l),i.elm}n(e)\u0026\u0026b(e)}}({nodeOps:er,modules:[yr,kr,ri,ai,yi,V?{create:Vi,activate:Vi,remove:function(e,t){!0!\u003d\u003de.data.show?Hi(e,t):t()}}:{}].concat(dr)});W\u0026\u0026document.addEventListener(\"selectionchange\",function(){var e\u003ddocument.activeElement;e\u0026\u0026e.vmodel\u0026\u0026Yi(e,\"input\")});var Ki\u003d{inserted:function(e,t,n,r){\"select\"\u003d\u003d\u003dn.tag?(r.elm\u0026\u0026!r.elm._vOptions?ot(n,\"postpatch\",function(){Ki.componentUpdated(e,t,n)}):Ji(e,t,n.context),e._vOptions\u003d[].map.call(e.options,Zi)):(\"textarea\"\u003d\u003d\u003dn.tag||Yn(e.type))\u0026\u0026(e._vModifiers\u003dt.modifiers,t.modifiers.lazy||(e.addEventListener(\"compositionstart\",Gi),e.addEventListener(\"compositionend\",Xi),e.addEventListener(\"change\",Xi),W\u0026\u0026(e.vmodel\u003d!0)))},componentUpdated:function(e,t,n){if(\"select\"\u003d\u003d\u003dn.tag){Ji(e,t,n.context);var r\u003de._vOptions,i\u003de._vOptions\u003d[].map.call(e.options,Zi);if(i.some(function(e,t){return!E(e,r[t])}))(e.multiple?t.value.some(function(e){return Wi(e,i)}):t.value!\u003d\u003dt.oldValue\u0026\u0026Wi(t.value,i))\u0026\u0026Yi(e,\"change\")}}};function Ji(e,t,n){qi(e,t,n),(q||Z)\u0026\u0026setTimeout(function(){qi(e,t,n)},0)}function qi(e,t,n){var r\u003dt.value,i\u003de.multiple;if(!i||Array.isArray(r)){for(var o,a,s\u003d0,c\u003de.options.length;s\u003cc;s++)if(a\u003de.options[s],i)o\u003dj(r,Zi(a))\u003e-1,a.selected!\u003d\u003do\u0026\u0026(a.selected\u003do);else if(E(Zi(a),r))return void(e.selectedIndex!\u003d\u003ds\u0026\u0026(e.selectedIndex\u003ds));i||(e.selectedIndex\u003d-1)}}function Wi(e,t){return t.every(function(t){return!E(t,e)})}function Zi(e){return\"_value\"in e?e._value:e.value}function Gi(e){e.target.composing\u003d!0}function Xi(e){e.target.composing\u0026\u0026(e.target.composing\u003d!1,Yi(e.target,\"input\"))}function Yi(e,t){var n\u003ddocument.createEvent(\"HTMLEvents\");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Qi(e){return!e.componentInstance||e.data\u0026\u0026e.data.transition?e:Qi(e.componentInstance._vnode)}var eo\u003d{model:Ki,show:{bind:function(e,t,n){var r\u003dt.value,i\u003d(n\u003dQi(n)).data\u0026\u0026n.data.transition,o\u003de.__vOriginalDisplay\u003d\"none\"\u003d\u003d\u003de.style.display?\"\":e.style.display;r\u0026\u0026i?(n.data.show\u003d!0,Ri(n,function(){e.style.display\u003do})):e.style.display\u003dr?o:\"none\"},update:function(e,t,n){var r\u003dt.value;!r!\u003d!t.oldValue\u0026\u0026((n\u003dQi(n)).data\u0026\u0026n.data.transition?(n.data.show\u003d!0,r?Ri(n,function(){e.style.display\u003de.__vOriginalDisplay}):Hi(n,function(){e.style.display\u003d\"none\"})):e.style.display\u003dr?e.__vOriginalDisplay:\"none\")},unbind:function(e,t,n,r,i){i||(e.style.display\u003de.__vOriginalDisplay)}}},to\u003d{name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function no(e){var t\u003de\u0026\u0026e.componentOptions;return t\u0026\u0026t.Ctor.options.abstract?no(zt(t.children)):e}function ro(e){var t\u003d{},n\u003de.$options;for(var r in n.propsData)t[r]\u003de[r];var i\u003dn._parentListeners;for(var o in i)t[b(o)]\u003di[o];return t}function io(e,t){if(/\\d-keep-alive$/.test(t.tag))return e(\"keep-alive\",{props:t.componentOptions.propsData})}var oo\u003dfunction(e){return e.tag||pt(e)},ao\u003dfunction(e){return\"show\"\u003d\u003d\u003de.name},so\u003d{name:\"transition\",props:to,abstract:!0,render:function(e){var t\u003dthis,n\u003dthis.$slots.default;if(n\u0026\u0026(n\u003dn.filter(oo)).length){var r\u003dthis.mode,o\u003dn[0];if(function(e){for(;e\u003de.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var a\u003dno(o);if(!a)return o;if(this._leaving)return io(e,o);var s\u003d\"__transition-\"+this._uid+\"-\";a.key\u003dnull\u003d\u003da.key?a.isComment?s+\"comment\":s+a.tag:i(a.key)?0\u003d\u003d\u003dString(a.key).indexOf(s)?a.key:s+a.key:a.key;var c\u003d(a.data||(a.data\u003d{})).transition\u003dro(this),u\u003dthis._vnode,l\u003dno(u);if(a.data.directives\u0026\u0026a.data.directives.some(ao)\u0026\u0026(a.data.show\u003d!0),l\u0026\u0026l.data\u0026\u0026!function(e,t){return t.key\u003d\u003d\u003de.key\u0026\u0026t.tag\u003d\u003d\u003de.tag}(a,l)\u0026\u0026!pt(l)\u0026\u0026(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f\u003dl.data.transition\u003dA({},c);if(\"out-in\"\u003d\u003d\u003dr)return this._leaving\u003d!0,ot(f,\"afterLeave\",function(){t._leaving\u003d!1,t.$forceUpdate()}),io(e,o);if(\"in-out\"\u003d\u003d\u003dr){if(pt(a))return u;var p,d\u003dfunction(){p()};ot(c,\"afterEnter\",d),ot(c,\"enterCancelled\",d),ot(f,\"delayLeave\",function(e){p\u003de})}}return o}}},co\u003dA({tag:String,moveClass:String},to);function uo(e){e.elm._moveCb\u0026\u0026e.elm._moveCb(),e.elm._enterCb\u0026\u0026e.elm._enterCb()}function lo(e){e.data.newPos\u003de.elm.getBoundingClientRect()}function fo(e){var t\u003de.data.pos,n\u003de.data.newPos,r\u003dt.left-n.left,i\u003dt.top-n.top;if(r||i){e.data.moved\u003d!0;var o\u003de.elm.style;o.transform\u003do.WebkitTransform\u003d\"translate(\"+r+\"px,\"+i+\"px)\",o.transitionDuration\u003d\"0s\"}}delete co.mode;var po\u003d{Transition:so,TransitionGroup:{props:co,beforeMount:function(){var e\u003dthis,t\u003dthis._update;this._update\u003dfunction(n,r){var i\u003dGt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode\u003de.kept,i(),t.call(e,n,r)}},render:function(e){for(var t\u003dthis.tag||this.$vnode.data.tag||\"span\",n\u003dObject.create(null),r\u003dthis.prevChildren\u003dthis.children,i\u003dthis.$slots.default||[],o\u003dthis.children\u003d[],a\u003dro(this),s\u003d0;s\u003ci.length;s++){var c\u003di[s];c.tag\u0026\u0026null!\u003dc.key\u0026\u00260!\u003d\u003dString(c.key).indexOf(\"__vlist\")\u0026\u0026(o.push(c),n[c.key]\u003dc,(c.data||(c.data\u003d{})).transition\u003da)}if(r){for(var u\u003d[],l\u003d[],f\u003d0;f\u003cr.length;f++){var p\u003dr[f];p.data.transition\u003da,p.data.pos\u003dp.elm.getBoundingClientRect(),n[p.key]?u.push(p):l.push(p)}this.kept\u003de(t,null,u),this.removed\u003dl}return e(t,null,o)},updated:function(){var e\u003dthis.prevChildren,t\u003dthis.moveClass||(this.name||\"v\")+\"-move\";e.length\u0026\u0026this.hasMove(e[0].elm,t)\u0026\u0026(e.forEach(uo),e.forEach(lo),e.forEach(fo),this._reflow\u003ddocument.body.offsetHeight,e.forEach(function(e){if(e.data.moved){var n\u003de.elm,r\u003dn.style;ji(n,t),r.transform\u003dr.WebkitTransform\u003dr.transitionDuration\u003d\"\",n.addEventListener(Oi,n._moveCb\u003dfunction e(r){r\u0026\u0026r.target!\u003d\u003dn||r\u0026\u0026!/transform$/.test(r.propertyName)||(n.removeEventListener(Oi,e),n._moveCb\u003dnull,Di(n,t))})}}))},methods:{hasMove:function(e,t){if(!Ci)return!1;if(this._hasMove)return this._hasMove;var n\u003de.cloneNode();e._transitionClasses\u0026\u0026e._transitionClasses.forEach(function(e){bi(n,e)}),_i(n,t),n.style.display\u003d\"none\",this.$el.appendChild(n);var r\u003dMi(n);return this.$el.removeChild(n),this._hasMove\u003dr.hasTransform}}}};Cn.config.mustUseProp\u003dDn,Cn.config.isReservedTag\u003dZn,Cn.config.isReservedAttr\u003dEn,Cn.config.getTagNamespace\u003dGn,Cn.config.isUnknownElement\u003dfunction(e){if(!V)return!0;if(Zn(e))return!1;if(e\u003de.toLowerCase(),null!\u003dXn[e])return Xn[e];var t\u003ddocument.createElement(e);return e.indexOf(\"-\")\u003e-1?Xn[e]\u003dt.constructor\u003d\u003d\u003dwindow.HTMLUnknownElement||t.constructor\u003d\u003d\u003dwindow.HTMLElement:Xn[e]\u003d/HTMLUnknownElement/.test(t.toString())},A(Cn.options.directives,eo),A(Cn.options.components,po),Cn.prototype.__patch__\u003dV?zi:S,Cn.prototype.$mount\u003dfunction(e,t){return function(e,t,n){var r;return e.$el\u003dt,e.$options.render||(e.$options.render\u003dve),Qt(e,\"beforeMount\"),r\u003dfunction(){e._update(e._render(),n)},new pn(e,r,S,{before:function(){e._isMounted\u0026\u0026!e._isDestroyed\u0026\u0026Qt(e,\"beforeUpdate\")}},!0),n\u003d!1,null\u003d\u003de.$vnode\u0026\u0026(e._isMounted\u003d!0,Qt(e,\"mounted\")),e}(this,e\u003de\u0026\u0026V?Qn(e):void 0,t)},V\u0026\u0026setTimeout(function(){F.devtools\u0026\u0026ne\u0026\u0026ne.emit(\"init\",Cn)},0);var vo\u003d/\\{\\{((?:.|\\r?\\n)+?)\\}\\}/g,ho\u003d/[-.*+?^${}()|[\\]\\/\\\\]/g,mo\u003dg(function(e){var t\u003de[0].replace(ho,\"\\\\$\u0026\"),n\u003de[1].replace(ho,\"\\\\$\u0026\");return new RegExp(t+\"((?:.|\\\\n)+?)\"+n,\"g\")});var yo\u003d{staticKeys:[\"staticClass\"],transformNode:function(e,t){t.warn;var n\u003dPr(e,\"class\");n\u0026\u0026(e.staticClass\u003dJSON.stringify(n));var r\u003dFr(e,\"class\",!1);r\u0026\u0026(e.classBinding\u003dr)},genData:function(e){var t\u003d\"\";return e.staticClass\u0026\u0026(t+\u003d\"staticClass:\"+e.staticClass+\",\"),e.classBinding\u0026\u0026(t+\u003d\"class:\"+e.classBinding+\",\"),t}};var go,_o\u003d{staticKeys:[\"staticStyle\"],transformNode:function(e,t){t.warn;var n\u003dPr(e,\"style\");n\u0026\u0026(e.staticStyle\u003dJSON.stringify(si(n)));var r\u003dFr(e,\"style\",!1);r\u0026\u0026(e.styleBinding\u003dr)},genData:function(e){var t\u003d\"\";return e.staticStyle\u0026\u0026(t+\u003d\"staticStyle:\"+e.staticStyle+\",\"),e.styleBinding\u0026\u0026(t+\u003d\"style:(\"+e.styleBinding+\"),\"),t}},bo\u003dfunction(e){return(go\u003dgo||document.createElement(\"div\")).innerHTML\u003de,go.textContent},$o\u003dp(\"area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr\"),wo\u003dp(\"colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source\"),Co\u003dp(\"address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track\"),xo\u003d/^\\s*([^\\s\"\u0027\u003c\u003e\\/\u003d]+)(?:\\s*(\u003d)\\s*(?:\"([^\"]*)\"+|\u0027([^\u0027]*)\u0027+|([^\\s\"\u0027\u003d\u003c\u003e`]+)))?/,ko\u003d/^\\s*((?:v-[\\w-]+:|@|:|#)\\[[^\u003d]+?\\][^\\s\"\u0027\u003c\u003e\\/\u003d]*)(?:\\s*(\u003d)\\s*(?:\"([^\"]*)\"+|\u0027([^\u0027]*)\u0027+|([^\\s\"\u0027\u003d\u003c\u003e`]+)))?/,Ao\u003d\"[a-zA-Z_][\\\\-\\\\.0-9_a-zA-Z\"+P.source+\"]*\",Oo\u003d\"((?:\"+Ao+\"\\\\:)?\"+Ao+\")\",So\u003dnew RegExp(\"^\u003c\"+Oo),To\u003d/^\\s*(\\/?)\u003e/,No\u003dnew RegExp(\"^\u003c\\\\/\"+Oo+\"[^\u003e]*\u003e\"),Eo\u003d/^\u003c!DOCTYPE [^\u003e]+\u003e/i,jo\u003d/^\u003c!\\--/,Do\u003d/^\u003c!\\[/,Lo\u003dp(\"script,style,textarea\",!0),Io\u003d{},Mo\u003d{\"\u0026lt;\":\"\u003c\",\"\u0026gt;\":\"\u003e\",\"\u0026quot;\":\u0027\"\u0027,\"\u0026amp;\":\"\u0026\",\"\u0026#10;\":\"\\n\",\"\u0026#9;\":\"\\t\",\"\u0026#39;\":\"\u0027\"},Fo\u003d/\u0026(?:lt|gt|quot|amp|#39);/g,Po\u003d/\u0026(?:lt|gt|quot|amp|#39|#10|#9);/g,Ro\u003dp(\"pre,textarea\",!0),Ho\u003dfunction(e,t){return e\u0026\u0026Ro(e)\u0026\u0026\"\\n\"\u003d\u003d\u003dt[0]};function Bo(e,t){var n\u003dt?Po:Fo;return e.replace(n,function(e){return Mo[e]})}var Uo,Vo,zo,Ko,Jo,qo,Wo,Zo,Go\u003d/^@|^v-on:/,Xo\u003d/^v-|^@|^:|^#/,Yo\u003d/([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/,Qo\u003d/,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/,ea\u003d/^\\(|\\)$/g,ta\u003d/^\\[.*\\]$/,na\u003d/:(.*)$/,ra\u003d/^:|^\\.|^v-bind:/,ia\u003d/\\.[^.\\]]+(?\u003d[^\\]]*$)/g,oa\u003d/^v-slot(:|$)|^#/,aa\u003d/[\\r\\n]/,sa\u003d/[ \\f\\t\\r\\n]+/g,ca\u003dg(bo),ua\u003d\"_empty_\";function la(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:ya(t),rawAttrsMap:{},parent:n,children:[]}}function fa(e,t){Uo\u003dt.warn||Tr,qo\u003dt.isPreTag||T,Wo\u003dt.mustUseProp||T,Zo\u003dt.getTagNamespace||T;t.isReservedTag;zo\u003dNr(t.modules,\"transformNode\"),Ko\u003dNr(t.modules,\"preTransformNode\"),Jo\u003dNr(t.modules,\"postTransformNode\"),Vo\u003dt.delimiters;var n,r,i\u003d[],o\u003d!1!\u003d\u003dt.preserveWhitespace,a\u003dt.whitespace,s\u003d!1,c\u003d!1;function u(e){if(l(e),s||e.processed||(e\u003dpa(e,t)),i.length||e\u003d\u003d\u003dn||n.if\u0026\u0026(e.elseif||e.else)\u0026\u0026va(n,{exp:e.elseif,block:e}),r\u0026\u0026!e.forbidden)if(e.elseif||e.else)a\u003de,(u\u003dfunction(e){var t\u003de.length;for(;t--;){if(1\u003d\u003d\u003de[t].type)return e[t];e.pop()}}(r.children))\u0026\u0026u.if\u0026\u0026va(u,{exp:a.elseif,block:a});else{if(e.slotScope){var o\u003de.slotTarget||\u0027\"default\"\u0027;(r.scopedSlots||(r.scopedSlots\u003d{}))[o]\u003de}r.children.push(e),e.parent\u003dr}var a,u;e.children\u003de.children.filter(function(e){return!e.slotScope}),l(e),e.pre\u0026\u0026(s\u003d!1),qo(e.tag)\u0026\u0026(c\u003d!1);for(var f\u003d0;f\u003cJo.length;f++)Jo[f](e,t)}function l(e){if(!c)for(var t;(t\u003de.children[e.children.length-1])\u0026\u00263\u003d\u003d\u003dt.type\u0026\u0026\" \"\u003d\u003d\u003dt.text;)e.children.pop()}return function(e,t){for(var n,r,i\u003d[],o\u003dt.expectHTML,a\u003dt.isUnaryTag||T,s\u003dt.canBeLeftOpenTag||T,c\u003d0;e;){if(n\u003de,r\u0026\u0026Lo(r)){var u\u003d0,l\u003dr.toLowerCase(),f\u003dIo[l]||(Io[l]\u003dnew RegExp(\"([\\\\s\\\\S]*?)(\u003c/\"+l+\"[^\u003e]*\u003e)\",\"i\")),p\u003de.replace(f,function(e,n,r){return u\u003dr.length,Lo(l)||\"noscript\"\u003d\u003d\u003dl||(n\u003dn.replace(/\u003c!\\--([\\s\\S]*?)--\u003e/g,\"$1\").replace(/\u003c!\\[CDATA\\[([\\s\\S]*?)]]\u003e/g,\"$1\")),Ho(l,n)\u0026\u0026(n\u003dn.slice(1)),t.chars\u0026\u0026t.chars(n),\"\"});c+\u003de.length-p.length,e\u003dp,A(l,c-u,c)}else{var d\u003de.indexOf(\"\u003c\");if(0\u003d\u003d\u003dd){if(jo.test(e)){var v\u003de.indexOf(\"--\\x3e\");if(v\u003e\u003d0){t.shouldKeepComment\u0026\u0026t.comment(e.substring(4,v),c,c+v+3),C(v+3);continue}}if(Do.test(e)){var h\u003de.indexOf(\"]\u003e\");if(h\u003e\u003d0){C(h+2);continue}}var m\u003de.match(Eo);if(m){C(m[0].length);continue}var y\u003de.match(No);if(y){var g\u003dc;C(y[0].length),A(y[1],g,c);continue}var _\u003dx();if(_){k(_),Ho(_.tagName,e)\u0026\u0026C(1);continue}}var b\u003dvoid 0,$\u003dvoid 0,w\u003dvoid 0;if(d\u003e\u003d0){for($\u003de.slice(d);!(No.test($)||So.test($)||jo.test($)||Do.test($)||(w\u003d$.indexOf(\"\u003c\",1))\u003c0);)d+\u003dw,$\u003de.slice(d);b\u003de.substring(0,d)}d\u003c0\u0026\u0026(b\u003de),b\u0026\u0026C(b.length),t.chars\u0026\u0026b\u0026\u0026t.chars(b,c-b.length,c)}if(e\u003d\u003d\u003dn){t.chars\u0026\u0026t.chars(e);break}}function C(t){c+\u003dt,e\u003de.substring(t)}function x(){var t\u003de.match(So);if(t){var n,r,i\u003d{tagName:t[1],attrs:[],start:c};for(C(t[0].length);!(n\u003de.match(To))\u0026\u0026(r\u003de.match(ko)||e.match(xo));)r.start\u003dc,C(r[0].length),r.end\u003dc,i.attrs.push(r);if(n)return i.unarySlash\u003dn[1],C(n[0].length),i.end\u003dc,i}}function k(e){var n\u003de.tagName,c\u003de.unarySlash;o\u0026\u0026(\"p\"\u003d\u003d\u003dr\u0026\u0026Co(n)\u0026\u0026A(r),s(n)\u0026\u0026r\u003d\u003d\u003dn\u0026\u0026A(n));for(var u\u003da(n)||!!c,l\u003de.attrs.length,f\u003dnew Array(l),p\u003d0;p\u003cl;p++){var d\u003de.attrs[p],v\u003dd[3]||d[4]||d[5]||\"\",h\u003d\"a\"\u003d\u003d\u003dn\u0026\u0026\"href\"\u003d\u003d\u003dd[1]?t.shouldDecodeNewlinesForHref:t.shouldDecodeNewlines;f[p]\u003d{name:d[1],value:Bo(v,h)}}u||(i.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:f,start:e.start,end:e.end}),r\u003dn),t.start\u0026\u0026t.start(n,f,u,e.start,e.end)}function A(e,n,o){var a,s;if(null\u003d\u003dn\u0026\u0026(n\u003dc),null\u003d\u003do\u0026\u0026(o\u003dc),e)for(s\u003de.toLowerCase(),a\u003di.length-1;a\u003e\u003d0\u0026\u0026i[a].lowerCasedTag!\u003d\u003ds;a--);else a\u003d0;if(a\u003e\u003d0){for(var u\u003di.length-1;u\u003e\u003da;u--)t.end\u0026\u0026t.end(i[u].tag,n,o);i.length\u003da,r\u003da\u0026\u0026i[a-1].tag}else\"br\"\u003d\u003d\u003ds?t.start\u0026\u0026t.start(e,[],!0,n,o):\"p\"\u003d\u003d\u003ds\u0026\u0026(t.start\u0026\u0026t.start(e,[],!1,n,o),t.end\u0026\u0026t.end(e,n,o))}A()}(e,{warn:Uo,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,outputSourceRange:t.outputSourceRange,start:function(e,o,a,l,f){var p\u003dr\u0026\u0026r.ns||Zo(e);q\u0026\u0026\"svg\"\u003d\u003d\u003dp\u0026\u0026(o\u003dfunction(e){for(var t\u003d[],n\u003d0;n\u003ce.length;n++){var r\u003de[n];ga.test(r.name)||(r.name\u003dr.name.replace(_a,\"\"),t.push(r))}return t}(o));var d,v\u003dla(e,o,r);p\u0026\u0026(v.ns\u003dp),\"style\"!\u003d\u003d(d\u003dv).tag\u0026\u0026(\"script\"!\u003d\u003dd.tag||d.attrsMap.type\u0026\u0026\"text/javascript\"!\u003d\u003dd.attrsMap.type)||te()||(v.forbidden\u003d!0);for(var h\u003d0;h\u003cKo.length;h++)v\u003dKo[h](v,t)||v;s||(!function(e){null!\u003dPr(e,\"v-pre\")\u0026\u0026(e.pre\u003d!0)}(v),v.pre\u0026\u0026(s\u003d!0)),qo(v.tag)\u0026\u0026(c\u003d!0),s?function(e){var t\u003de.attrsList,n\u003dt.length;if(n)for(var r\u003de.attrs\u003dnew Array(n),i\u003d0;i\u003cn;i++)r[i]\u003d{name:t[i].name,value:JSON.stringify(t[i].value)},null!\u003dt[i].start\u0026\u0026(r[i].start\u003dt[i].start,r[i].end\u003dt[i].end);else e.pre||(e.plain\u003d!0)}(v):v.processed||(da(v),function(e){var t\u003dPr(e,\"v-if\");if(t)e.if\u003dt,va(e,{exp:t,block:e});else{null!\u003dPr(e,\"v-else\")\u0026\u0026(e.else\u003d!0);var n\u003dPr(e,\"v-else-if\");n\u0026\u0026(e.elseif\u003dn)}}(v),function(e){null!\u003dPr(e,\"v-once\")\u0026\u0026(e.once\u003d!0)}(v)),n||(n\u003dv),a?u(v):(r\u003dv,i.push(v))},end:function(e,t,n){var o\u003di[i.length-1];i.length-\u003d1,r\u003di[i.length-1],u(o)},chars:function(e,t,n){if(r\u0026\u0026(!q||\"textarea\"!\u003d\u003dr.tag||r.attrsMap.placeholder!\u003d\u003de)){var i,u,l,f\u003dr.children;if(e\u003dc||e.trim()?\"script\"\u003d\u003d\u003d(i\u003dr).tag||\"style\"\u003d\u003d\u003di.tag?e:ca(e):f.length?a?\"condense\"\u003d\u003d\u003da\u0026\u0026aa.test(e)?\"\":\" \":o?\" \":\"\":\"\")c||\"condense\"!\u003d\u003da||(e\u003de.replace(sa,\" \")),!s\u0026\u0026\" \"!\u003d\u003de\u0026\u0026(u\u003dfunction(e,t){var n\u003dt?mo(t):vo;if(n.test(e)){for(var r,i,o,a\u003d[],s\u003d[],c\u003dn.lastIndex\u003d0;r\u003dn.exec(e);){(i\u003dr.index)\u003ec\u0026\u0026(s.push(o\u003de.slice(c,i)),a.push(JSON.stringify(o)));var u\u003dOr(r[1].trim());a.push(\"_s(\"+u+\")\"),s.push({\"@binding\":u}),c\u003di+r[0].length}return c\u003ce.length\u0026\u0026(s.push(o\u003de.slice(c)),a.push(JSON.stringify(o))),{expression:a.join(\"+\"),tokens:s}}}(e,Vo))?l\u003d{type:2,expression:u.expression,tokens:u.tokens,text:e}:\" \"\u003d\u003d\u003de\u0026\u0026f.length\u0026\u0026\" \"\u003d\u003d\u003df[f.length-1].text||(l\u003d{type:3,text:e}),l\u0026\u0026f.push(l)}},comment:function(e,t,n){if(r){var i\u003d{type:3,text:e,isComment:!0};r.children.push(i)}}}),n}function pa(e,t){var n,r;(r\u003dFr(n\u003de,\"key\"))\u0026\u0026(n.key\u003dr),e.plain\u003d!e.key\u0026\u0026!e.scopedSlots\u0026\u0026!e.attrsList.length,function(e){var t\u003dFr(e,\"ref\");t\u0026\u0026(e.ref\u003dt,e.refInFor\u003dfunction(e){var t\u003de;for(;t;){if(void 0!\u003d\u003dt.for)return!0;t\u003dt.parent}return!1}(e))}(e),function(e){var t;\"template\"\u003d\u003d\u003de.tag?(t\u003dPr(e,\"scope\"),e.slotScope\u003dt||Pr(e,\"slot-scope\")):(t\u003dPr(e,\"slot-scope\"))\u0026\u0026(e.slotScope\u003dt);var n\u003dFr(e,\"slot\");n\u0026\u0026(e.slotTarget\u003d\u0027\"\"\u0027\u003d\u003d\u003dn?\u0027\"default\"\u0027:n,e.slotTargetDynamic\u003d!(!e.attrsMap[\":slot\"]\u0026\u0026!e.attrsMap[\"v-bind:slot\"]),\"template\"\u003d\u003d\u003de.tag||e.slotScope||jr(e,\"slot\",n,function(e,t){return e.rawAttrsMap[\":\"+t]||e.rawAttrsMap[\"v-bind:\"+t]||e.rawAttrsMap[t]}(e,\"slot\")));if(\"template\"\u003d\u003d\u003de.tag){var r\u003dRr(e,oa);if(r){var i\u003dha(r),o\u003di.name,a\u003di.dynamic;e.slotTarget\u003do,e.slotTargetDynamic\u003da,e.slotScope\u003dr.value||ua}}else{var s\u003dRr(e,oa);if(s){var c\u003de.scopedSlots||(e.scopedSlots\u003d{}),u\u003dha(s),l\u003du.name,f\u003du.dynamic,p\u003dc[l]\u003dla(\"template\",[],e);p.slotTarget\u003dl,p.slotTargetDynamic\u003df,p.children\u003de.children.filter(function(e){if(!e.slotScope)return e.parent\u003dp,!0}),p.slotScope\u003ds.value||ua,e.children\u003d[],e.plain\u003d!1}}}(e),function(e){\"slot\"\u003d\u003d\u003de.tag\u0026\u0026(e.slotName\u003dFr(e,\"name\"))}(e),function(e){var t;(t\u003dFr(e,\"is\"))\u0026\u0026(e.component\u003dt);null!\u003dPr(e,\"inline-template\")\u0026\u0026(e.inlineTemplate\u003d!0)}(e);for(var i\u003d0;i\u003czo.length;i++)e\u003dzo[i](e,t)||e;return function(e){var t,n,r,i,o,a,s,c,u\u003de.attrsList;for(t\u003d0,n\u003du.length;t\u003cn;t++)if(r\u003di\u003du[t].name,o\u003du[t].value,Xo.test(r))if(e.hasBindings\u003d!0,(a\u003dma(r.replace(Xo,\"\")))\u0026\u0026(r\u003dr.replace(ia,\"\")),ra.test(r))r\u003dr.replace(ra,\"\"),o\u003dOr(o),(c\u003dta.test(r))\u0026\u0026(r\u003dr.slice(1,-1)),a\u0026\u0026(a.prop\u0026\u0026!c\u0026\u0026\"innerHtml\"\u003d\u003d\u003d(r\u003db(r))\u0026\u0026(r\u003d\"innerHTML\"),a.camel\u0026\u0026!c\u0026\u0026(r\u003db(r)),a.sync\u0026\u0026(s\u003dUr(o,\"$event\"),c?Mr(e,\u0027\"update:\"+(\u0027+r+\")\",s,null,!1,0,u[t],!0):(Mr(e,\"update:\"+b(r),s,null,!1,0,u[t]),C(r)!\u003d\u003db(r)\u0026\u0026Mr(e,\"update:\"+C(r),s,null,!1,0,u[t])))),a\u0026\u0026a.prop||!e.component\u0026\u0026Wo(e.tag,e.attrsMap.type,r)?Er(e,r,o,u[t],c):jr(e,r,o,u[t],c);else if(Go.test(r))r\u003dr.replace(Go,\"\"),(c\u003dta.test(r))\u0026\u0026(r\u003dr.slice(1,-1)),Mr(e,r,o,a,!1,0,u[t],c);else{var l\u003d(r\u003dr.replace(Xo,\"\")).match(na),f\u003dl\u0026\u0026l[1];c\u003d!1,f\u0026\u0026(r\u003dr.slice(0,-(f.length+1)),ta.test(f)\u0026\u0026(f\u003df.slice(1,-1),c\u003d!0)),Lr(e,r,i,o,f,c,a,u[t])}else jr(e,r,JSON.stringify(o),u[t]),!e.component\u0026\u0026\"muted\"\u003d\u003d\u003dr\u0026\u0026Wo(e.tag,e.attrsMap.type,r)\u0026\u0026Er(e,r,\"true\",u[t])}(e),e}function da(e){var t;if(t\u003dPr(e,\"v-for\")){var n\u003dfunction(e){var t\u003de.match(Yo);if(!t)return;var n\u003d{};n.for\u003dt[2].trim();var r\u003dt[1].trim().replace(ea,\"\"),i\u003dr.match(Qo);i?(n.alias\u003dr.replace(Qo,\"\").trim(),n.iterator1\u003di[1].trim(),i[2]\u0026\u0026(n.iterator2\u003di[2].trim())):n.alias\u003dr;return n}(t);n\u0026\u0026A(e,n)}}function va(e,t){e.ifConditions||(e.ifConditions\u003d[]),e.ifConditions.push(t)}function ha(e){var t\u003de.name.replace(oa,\"\");return t||\"#\"!\u003d\u003de.name[0]\u0026\u0026(t\u003d\"default\"),ta.test(t)?{name:t.slice(1,-1),dynamic:!0}:{name:\u0027\"\u0027+t+\u0027\"\u0027,dynamic:!1}}function ma(e){var t\u003de.match(ia);if(t){var n\u003d{};return t.forEach(function(e){n[e.slice(1)]\u003d!0}),n}}function ya(e){for(var t\u003d{},n\u003d0,r\u003de.length;n\u003cr;n++)t[e[n].name]\u003de[n].value;return t}var ga\u003d/^xmlns:NS\\d+/,_a\u003d/^NS\\d+:/;function ba(e){return la(e.tag,e.attrsList.slice(),e.parent)}var $a\u003d[yo,_o,{preTransformNode:function(e,t){if(\"input\"\u003d\u003d\u003de.tag){var n,r\u003de.attrsMap;if(!r[\"v-model\"])return;if((r[\":type\"]||r[\"v-bind:type\"])\u0026\u0026(n\u003dFr(e,\"type\")),r.type||n||!r[\"v-bind\"]||(n\u003d\"(\"+r[\"v-bind\"]+\").type\"),n){var i\u003dPr(e,\"v-if\",!0),o\u003di?\"\u0026\u0026(\"+i+\")\":\"\",a\u003dnull!\u003dPr(e,\"v-else\",!0),s\u003dPr(e,\"v-else-if\",!0),c\u003dba(e);da(c),Dr(c,\"type\",\"checkbox\"),pa(c,t),c.processed\u003d!0,c.if\u003d\"(\"+n+\")\u003d\u003d\u003d\u0027checkbox\u0027\"+o,va(c,{exp:c.if,block:c});var u\u003dba(e);Pr(u,\"v-for\",!0),Dr(u,\"type\",\"radio\"),pa(u,t),va(c,{exp:\"(\"+n+\")\u003d\u003d\u003d\u0027radio\u0027\"+o,block:u});var l\u003dba(e);return Pr(l,\"v-for\",!0),Dr(l,\":type\",n),pa(l,t),va(c,{exp:i,block:l}),a?c.else\u003d!0:s\u0026\u0026(c.elseif\u003ds),c}}}}];var wa,Ca,xa\u003d{expectHTML:!0,modules:$a,directives:{model:function(e,t,n){var r\u003dt.value,i\u003dt.modifiers,o\u003de.tag,a\u003de.attrsMap.type;if(e.component)return Br(e,r,i),!1;if(\"select\"\u003d\u003d\u003do)!function(e,t,n){var r\u003d\u0027var $$selectedVal \u003d Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val \u003d \"_value\" in o ? o._value : o.value;return \u0027+(n\u0026\u0026n.number?\"_n(val)\":\"val\")+\"});\";r\u003dr+\" \"+Ur(t,\"$event.target.multiple ? $$selectedVal : $$selectedVal[0]\"),Mr(e,\"change\",r,null,!0)}(e,r,i);else if(\"input\"\u003d\u003d\u003do\u0026\u0026\"checkbox\"\u003d\u003d\u003da)!function(e,t,n){var r\u003dn\u0026\u0026n.number,i\u003dFr(e,\"value\")||\"null\",o\u003dFr(e,\"true-value\")||\"true\",a\u003dFr(e,\"false-value\")||\"false\";Er(e,\"checked\",\"Array.isArray(\"+t+\")?_i(\"+t+\",\"+i+\")\u003e-1\"+(\"true\"\u003d\u003d\u003do?\":(\"+t+\")\":\":_q(\"+t+\",\"+o+\")\")),Mr(e,\"change\",\"var $$a\u003d\"+t+\",$$el\u003d$event.target,$$c\u003d$$el.checked?(\"+o+\"):(\"+a+\");if(Array.isArray($$a)){var $$v\u003d\"+(r?\"_n(\"+i+\")\":i)+\",$$i\u003d_i($$a,$$v);if($$el.checked){$$i\u003c0\u0026\u0026(\"+Ur(t,\"$$a.concat([$$v])\")+\")}else{$$i\u003e-1\u0026\u0026(\"+Ur(t,\"$$a.slice(0,$$i).concat($$a.slice($$i+1))\")+\")}}else{\"+Ur(t,\"$$c\")+\"}\",null,!0)}(e,r,i);else if(\"input\"\u003d\u003d\u003do\u0026\u0026\"radio\"\u003d\u003d\u003da)!function(e,t,n){var r\u003dn\u0026\u0026n.number,i\u003dFr(e,\"value\")||\"null\";Er(e,\"checked\",\"_q(\"+t+\",\"+(i\u003dr?\"_n(\"+i+\")\":i)+\")\"),Mr(e,\"change\",Ur(t,i),null,!0)}(e,r,i);else if(\"input\"\u003d\u003d\u003do||\"textarea\"\u003d\u003d\u003do)!function(e,t,n){var r\u003de.attrsMap.type,i\u003dn||{},o\u003di.lazy,a\u003di.number,s\u003di.trim,c\u003d!o\u0026\u0026\"range\"!\u003d\u003dr,u\u003do?\"change\":\"range\"\u003d\u003d\u003dr?Zr:\"input\",l\u003d\"$event.target.value\";s\u0026\u0026(l\u003d\"$event.target.value.trim()\"),a\u0026\u0026(l\u003d\"_n(\"+l+\")\");var f\u003dUr(t,l);c\u0026\u0026(f\u003d\"if($event.target.composing)return;\"+f),Er(e,\"value\",\"(\"+t+\")\"),Mr(e,u,f,null,!0),(s||a)\u0026\u0026Mr(e,\"blur\",\"$forceUpdate()\")}(e,r,i);else if(!F.isReservedTag(o))return Br(e,r,i),!1;return!0},text:function(e,t){t.value\u0026\u0026Er(e,\"textContent\",\"_s(\"+t.value+\")\",t)},html:function(e,t){t.value\u0026\u0026Er(e,\"innerHTML\",\"_s(\"+t.value+\")\",t)}},isPreTag:function(e){return\"pre\"\u003d\u003d\u003de},isUnaryTag:$o,mustUseProp:Dn,canBeLeftOpenTag:wo,isReservedTag:Zn,getTagNamespace:Gn,staticKeys:function(e){return e.reduce(function(e,t){return e.concat(t.staticKeys||[])},[]).join(\",\")}($a)},ka\u003dg(function(e){return p(\"type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap\"+(e?\",\"+e:\"\"))});function Aa(e,t){e\u0026\u0026(wa\u003dka(t.staticKeys||\"\"),Ca\u003dt.isReservedTag||T,function e(t){t.static\u003dfunction(e){if(2\u003d\u003d\u003de.type)return!1;if(3\u003d\u003d\u003de.type)return!0;return!(!e.pre\u0026\u0026(e.hasBindings||e.if||e.for||d(e.tag)||!Ca(e.tag)||function(e){for(;e.parent;){if(\"template\"!\u003d\u003d(e\u003de.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(wa)))}(t);if(1\u003d\u003d\u003dt.type){if(!Ca(t.tag)\u0026\u0026\"slot\"!\u003d\u003dt.tag\u0026\u0026null\u003d\u003dt.attrsMap[\"inline-template\"])return;for(var n\u003d0,r\u003dt.children.length;n\u003cr;n++){var i\u003dt.children[n];e(i),i.static||(t.static\u003d!1)}if(t.ifConditions)for(var o\u003d1,a\u003dt.ifConditions.length;o\u003ca;o++){var s\u003dt.ifConditions[o].block;e(s),s.static||(t.static\u003d!1)}}}(e),function e(t,n){if(1\u003d\u003d\u003dt.type){if((t.static||t.once)\u0026\u0026(t.staticInFor\u003dn),t.static\u0026\u0026t.children.length\u0026\u0026(1!\u003d\u003dt.children.length||3!\u003d\u003dt.children[0].type))return void(t.staticRoot\u003d!0);if(t.staticRoot\u003d!1,t.children)for(var r\u003d0,i\u003dt.children.length;r\u003ci;r++)e(t.children[r],n||!!t.for);if(t.ifConditions)for(var o\u003d1,a\u003dt.ifConditions.length;o\u003ca;o++)e(t.ifConditions[o].block,n)}}(e,!1))}var Oa\u003d/^([\\w$_]+|\\([^)]*?\\))\\s*\u003d\u003e|^function(?:\\s+[\\w$]+)?\\s*\\(/,Sa\u003d/\\([^)]*?\\);*$/,Ta\u003d/^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\[\u0027[^\u0027]*?\u0027]|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/,Na\u003d{esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ea\u003d{esc:[\"Esc\",\"Escape\"],tab:\"Tab\",enter:\"Enter\",space:[\" \",\"Spacebar\"],up:[\"Up\",\"ArrowUp\"],left:[\"Left\",\"ArrowLeft\"],right:[\"Right\",\"ArrowRight\"],down:[\"Down\",\"ArrowDown\"],delete:[\"Backspace\",\"Delete\",\"Del\"]},ja\u003dfunction(e){return\"if(\"+e+\")return null;\"},Da\u003d{stop:\"$event.stopPropagation();\",prevent:\"$event.preventDefault();\",self:ja(\"$event.target !\u003d\u003d $event.currentTarget\"),ctrl:ja(\"!$event.ctrlKey\"),shift:ja(\"!$event.shiftKey\"),alt:ja(\"!$event.altKey\"),meta:ja(\"!$event.metaKey\"),left:ja(\"\u0027button\u0027 in $event \u0026\u0026 $event.button !\u003d\u003d 0\"),middle:ja(\"\u0027button\u0027 in $event \u0026\u0026 $event.button !\u003d\u003d 1\"),right:ja(\"\u0027button\u0027 in $event \u0026\u0026 $event.button !\u003d\u003d 2\")};function La(e,t){var n\u003dt?\"nativeOn:\":\"on:\",r\u003d\"\",i\u003d\"\";for(var o in e){var a\u003dIa(e[o]);e[o]\u0026\u0026e[o].dynamic?i+\u003do+\",\"+a+\",\":r+\u003d\u0027\"\u0027+o+\u0027\":\u0027+a+\",\"}return r\u003d\"{\"+r.slice(0,-1)+\"}\",i?n+\"_d(\"+r+\",[\"+i.slice(0,-1)+\"])\":n+r}function Ia(e){if(!e)return\"function(){}\";if(Array.isArray(e))return\"[\"+e.map(function(e){return Ia(e)}).join(\",\")+\"]\";var t\u003dTa.test(e.value),n\u003dOa.test(e.value),r\u003dTa.test(e.value.replace(Sa,\"\"));if(e.modifiers){var i\u003d\"\",o\u003d\"\",a\u003d[];for(var s in e.modifiers)if(Da[s])o+\u003dDa[s],Na[s]\u0026\u0026a.push(s);else if(\"exact\"\u003d\u003d\u003ds){var c\u003de.modifiers;o+\u003dja([\"ctrl\",\"shift\",\"alt\",\"meta\"].filter(function(e){return!c[e]}).map(function(e){return\"$event.\"+e+\"Key\"}).join(\"||\"))}else a.push(s);return a.length\u0026\u0026(i+\u003dfunction(e){return\"if(!$event.type.indexOf(\u0027key\u0027)\u0026\u0026\"+e.map(Ma).join(\"\u0026\u0026\")+\")return null;\"}(a)),o\u0026\u0026(i+\u003do),\"function($event){\"+i+(t?\"return \"+e.value+\".apply(null, arguments)\":n?\"return (\"+e.value+\").apply(null, arguments)\":r?\"return \"+e.value:e.value)+\"}\"}return t||n?e.value:\"function($event){\"+(r?\"return \"+e.value:e.value)+\"}\"}function Ma(e){var t\u003dparseInt(e,10);if(t)return\"$event.keyCode!\u003d\u003d\"+t;var n\u003dNa[e],r\u003dEa[e];return\"_k($event.keyCode,\"+JSON.stringify(e)+\",\"+JSON.stringify(n)+\",$event.key,\"+JSON.stringify(r)+\")\"}var Fa\u003d{on:function(e,t){e.wrapListeners\u003dfunction(e){return\"_g(\"+e+\",\"+t.value+\")\"}},bind:function(e,t){e.wrapData\u003dfunction(n){return\"_b(\"+n+\",\u0027\"+e.tag+\"\u0027,\"+t.value+\",\"+(t.modifiers\u0026\u0026t.modifiers.prop?\"true\":\"false\")+(t.modifiers\u0026\u0026t.modifiers.sync?\",true\":\"\")+\")\"}},cloak:S},Pa\u003dfunction(e){this.options\u003de,this.warn\u003de.warn||Tr,this.transforms\u003dNr(e.modules,\"transformCode\"),this.dataGenFns\u003dNr(e.modules,\"genData\"),this.directives\u003dA(A({},Fa),e.directives);var t\u003de.isReservedTag||T;this.maybeComponent\u003dfunction(e){return!!e.component||!t(e.tag)},this.onceId\u003d0,this.staticRenderFns\u003d[],this.pre\u003d!1};function Ra(e,t){var n\u003dnew Pa(t);return{render:\"with(this){return \"+(e?\"script\"\u003d\u003d\u003de.tag?\"null\":Ha(e,n):\u0027_c(\"div\")\u0027)+\"}\",staticRenderFns:n.staticRenderFns}}function Ha(e,t){if(e.parent\u0026\u0026(e.pre\u003de.pre||e.parent.pre),e.staticRoot\u0026\u0026!e.staticProcessed)return Ba(e,t);if(e.once\u0026\u0026!e.onceProcessed)return Ua(e,t);if(e.for\u0026\u0026!e.forProcessed)return za(e,t);if(e.if\u0026\u0026!e.ifProcessed)return Va(e,t);if(\"template\"!\u003d\u003de.tag||e.slotTarget||t.pre){if(\"slot\"\u003d\u003d\u003de.tag)return function(e,t){var n\u003de.slotName||\u0027\"default\"\u0027,r\u003dWa(e,t),i\u003d\"_t(\"+n+(r?\",function(){return \"+r+\"}\":\"\"),o\u003de.attrs||e.dynamicAttrs?Xa((e.attrs||[]).concat(e.dynamicAttrs||[]).map(function(e){return{name:b(e.name),value:e.value,dynamic:e.dynamic}})):null,a\u003de.attrsMap[\"v-bind\"];!o\u0026\u0026!a||r||(i+\u003d\",null\");o\u0026\u0026(i+\u003d\",\"+o);a\u0026\u0026(i+\u003d(o?\"\":\",null\")+\",\"+a);return i+\")\"}(e,t);var n;if(e.component)n\u003dfunction(e,t,n){var r\u003dt.inlineTemplate?null:Wa(t,n,!0);return\"_c(\"+e+\",\"+Ka(t,n)+(r?\",\"+r:\"\")+\")\"}(e.component,e,t);else{var r;(!e.plain||e.pre\u0026\u0026t.maybeComponent(e))\u0026\u0026(r\u003dKa(e,t));var i\u003de.inlineTemplate?null:Wa(e,t,!0);n\u003d\"_c(\u0027\"+e.tag+\"\u0027\"+(r?\",\"+r:\"\")+(i?\",\"+i:\"\")+\")\"}for(var o\u003d0;o\u003ct.transforms.length;o++)n\u003dt.transforms[o](e,n);return n}return Wa(e,t)||\"void 0\"}function Ba(e,t){e.staticProcessed\u003d!0;var n\u003dt.pre;return e.pre\u0026\u0026(t.pre\u003de.pre),t.staticRenderFns.push(\"with(this){return \"+Ha(e,t)+\"}\"),t.pre\u003dn,\"_m(\"+(t.staticRenderFns.length-1)+(e.staticInFor?\",true\":\"\")+\")\"}function Ua(e,t){if(e.onceProcessed\u003d!0,e.if\u0026\u0026!e.ifProcessed)return Va(e,t);if(e.staticInFor){for(var n\u003d\"\",r\u003de.parent;r;){if(r.for){n\u003dr.key;break}r\u003dr.parent}return n?\"_o(\"+Ha(e,t)+\",\"+t.onceId+++\",\"+n+\")\":Ha(e,t)}return Ba(e,t)}function Va(e,t,n,r){return e.ifProcessed\u003d!0,function e(t,n,r,i){if(!t.length)return i||\"_e()\";var o\u003dt.shift();return o.exp?\"(\"+o.exp+\")?\"+a(o.block)+\":\"+e(t,n,r,i):\"\"+a(o.block);function a(e){return r?r(e,n):e.once?Ua(e,n):Ha(e,n)}}(e.ifConditions.slice(),t,n,r)}function za(e,t,n,r){var i\u003de.for,o\u003de.alias,a\u003de.iterator1?\",\"+e.iterator1:\"\",s\u003de.iterator2?\",\"+e.iterator2:\"\";return e.forProcessed\u003d!0,(r||\"_l\")+\"((\"+i+\"),function(\"+o+a+s+\"){return \"+(n||Ha)(e,t)+\"})\"}function Ka(e,t){var n\u003d\"{\",r\u003dfunction(e,t){var n\u003de.directives;if(!n)return;var r,i,o,a,s\u003d\"directives:[\",c\u003d!1;for(r\u003d0,i\u003dn.length;r\u003ci;r++){o\u003dn[r],a\u003d!0;var u\u003dt.directives[o.name];u\u0026\u0026(a\u003d!!u(e,o,t.warn)),a\u0026\u0026(c\u003d!0,s+\u003d\u0027{name:\"\u0027+o.name+\u0027\",rawName:\"\u0027+o.rawName+\u0027\"\u0027+(o.value?\",value:(\"+o.value+\"),expression:\"+JSON.stringify(o.value):\"\")+(o.arg?\",arg:\"+(o.isDynamicArg?o.arg:\u0027\"\u0027+o.arg+\u0027\"\u0027):\"\")+(o.modifiers?\",modifiers:\"+JSON.stringify(o.modifiers):\"\")+\"},\")}if(c)return s.slice(0,-1)+\"]\"}(e,t);r\u0026\u0026(n+\u003dr+\",\"),e.key\u0026\u0026(n+\u003d\"key:\"+e.key+\",\"),e.ref\u0026\u0026(n+\u003d\"ref:\"+e.ref+\",\"),e.refInFor\u0026\u0026(n+\u003d\"refInFor:true,\"),e.pre\u0026\u0026(n+\u003d\"pre:true,\"),e.component\u0026\u0026(n+\u003d\u0027tag:\"\u0027+e.tag+\u0027\",\u0027);for(var i\u003d0;i\u003ct.dataGenFns.length;i++)n+\u003dt.dataGenFns[i](e);if(e.attrs\u0026\u0026(n+\u003d\"attrs:\"+Xa(e.attrs)+\",\"),e.props\u0026\u0026(n+\u003d\"domProps:\"+Xa(e.props)+\",\"),e.events\u0026\u0026(n+\u003dLa(e.events,!1)+\",\"),e.nativeEvents\u0026\u0026(n+\u003dLa(e.nativeEvents,!0)+\",\"),e.slotTarget\u0026\u0026!e.slotScope\u0026\u0026(n+\u003d\"slot:\"+e.slotTarget+\",\"),e.scopedSlots\u0026\u0026(n+\u003dfunction(e,t,n){var r\u003de.for||Object.keys(t).some(function(e){var n\u003dt[e];return n.slotTargetDynamic||n.if||n.for||Ja(n)}),i\u003d!!e.if;if(!r)for(var o\u003de.parent;o;){if(o.slotScope\u0026\u0026o.slotScope!\u003d\u003dua||o.for){r\u003d!0;break}o.if\u0026\u0026(i\u003d!0),o\u003do.parent}var a\u003dObject.keys(t).map(function(e){return qa(t[e],n)}).join(\",\");return\"scopedSlots:_u([\"+a+\"]\"+(r?\",null,true\":\"\")+(!r\u0026\u0026i?\",null,false,\"+function(e){var t\u003d5381,n\u003de.length;for(;n;)t\u003d33*t^e.charCodeAt(--n);return t\u003e\u003e\u003e0}(a):\"\")+\")\"}(e,e.scopedSlots,t)+\",\"),e.model\u0026\u0026(n+\u003d\"model:{value:\"+e.model.value+\",callback:\"+e.model.callback+\",expression:\"+e.model.expression+\"},\"),e.inlineTemplate){var o\u003dfunction(e,t){var n\u003de.children[0];if(n\u0026\u00261\u003d\u003d\u003dn.type){var r\u003dRa(n,t.options);return\"inlineTemplate:{render:function(){\"+r.render+\"},staticRenderFns:[\"+r.staticRenderFns.map(function(e){return\"function(){\"+e+\"}\"}).join(\",\")+\"]}\"}}(e,t);o\u0026\u0026(n+\u003do+\",\")}return n\u003dn.replace(/,$/,\"\")+\"}\",e.dynamicAttrs\u0026\u0026(n\u003d\"_b(\"+n+\u0027,\"\u0027+e.tag+\u0027\",\u0027+Xa(e.dynamicAttrs)+\")\"),e.wrapData\u0026\u0026(n\u003de.wrapData(n)),e.wrapListeners\u0026\u0026(n\u003de.wrapListeners(n)),n}function Ja(e){return 1\u003d\u003d\u003de.type\u0026\u0026(\"slot\"\u003d\u003d\u003de.tag||e.children.some(Ja))}function qa(e,t){var n\u003de.attrsMap[\"slot-scope\"];if(e.if\u0026\u0026!e.ifProcessed\u0026\u0026!n)return Va(e,t,qa,\"null\");if(e.for\u0026\u0026!e.forProcessed)return za(e,t,qa);var r\u003de.slotScope\u003d\u003d\u003dua?\"\":String(e.slotScope),i\u003d\"function(\"+r+\"){return \"+(\"template\"\u003d\u003d\u003de.tag?e.if\u0026\u0026n?\"(\"+e.if+\")?\"+(Wa(e,t)||\"undefined\")+\":undefined\":Wa(e,t)||\"undefined\":Ha(e,t))+\"}\",o\u003dr?\"\":\",proxy:true\";return\"{key:\"+(e.slotTarget||\u0027\"default\"\u0027)+\",fn:\"+i+o+\"}\"}function Wa(e,t,n,r,i){var o\u003de.children;if(o.length){var a\u003do[0];if(1\u003d\u003d\u003do.length\u0026\u0026a.for\u0026\u0026\"template\"!\u003d\u003da.tag\u0026\u0026\"slot\"!\u003d\u003da.tag){var s\u003dn?t.maybeComponent(a)?\",1\":\",0\":\"\";return\"\"+(r||Ha)(a,t)+s}var c\u003dn?function(e,t){for(var n\u003d0,r\u003d0;r\u003ce.length;r++){var i\u003de[r];if(1\u003d\u003d\u003di.type){if(Za(i)||i.ifConditions\u0026\u0026i.ifConditions.some(function(e){return Za(e.block)})){n\u003d2;break}(t(i)||i.ifConditions\u0026\u0026i.ifConditions.some(function(e){return t(e.block)}))\u0026\u0026(n\u003d1)}}return n}(o,t.maybeComponent):0,u\u003di||Ga;return\"[\"+o.map(function(e){return u(e,t)}).join(\",\")+\"]\"+(c?\",\"+c:\"\")}}function Za(e){return void 0!\u003d\u003de.for||\"template\"\u003d\u003d\u003de.tag||\"slot\"\u003d\u003d\u003de.tag}function Ga(e,t){return 1\u003d\u003d\u003de.type?Ha(e,t):3\u003d\u003d\u003de.type\u0026\u0026e.isComment?(r\u003de,\"_e(\"+JSON.stringify(r.text)+\")\"):\"_v(\"+(2\u003d\u003d\u003d(n\u003de).type?n.expression:Ya(JSON.stringify(n.text)))+\")\";var n,r}function Xa(e){for(var t\u003d\"\",n\u003d\"\",r\u003d0;r\u003ce.length;r++){var i\u003de[r],o\u003dYa(i.value);i.dynamic?n+\u003di.name+\",\"+o+\",\":t+\u003d\u0027\"\u0027+i.name+\u0027\":\u0027+o+\",\"}return t\u003d\"{\"+t.slice(0,-1)+\"}\",n?\"_d(\"+t+\",[\"+n.slice(0,-1)+\"])\":t}function Ya(e){return e.replace(/\\u2028/g,\"\\\\u2028\").replace(/\\u2029/g,\"\\\\u2029\")}new RegExp(\"\\\\b\"+\"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments\".split(\",\").join(\"\\\\b|\\\\b\")+\"\\\\b\");function Qa(e,t){try{return new Function(e)}catch(n){return t.push({err:n,code:e}),S}}function es(e){var t\u003dObject.create(null);return function(n,r,i){(r\u003dA({},r)).warn;delete r.warn;var o\u003dr.delimiters?String(r.delimiters)+n:n;if(t[o])return t[o];var a\u003de(n,r),s\u003d{},c\u003d[];return s.render\u003dQa(a.render,c),s.staticRenderFns\u003da.staticRenderFns.map(function(e){return Qa(e,c)}),t[o]\u003ds}}var ts,ns,rs\u003d(ts\u003dfunction(e,t){var n\u003dfa(e.trim(),t);!1!\u003d\u003dt.optimize\u0026\u0026Aa(n,t);var r\u003dRa(n,t);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}},function(e){function t(t,n){var r\u003dObject.create(e),i\u003d[],o\u003d[];if(n)for(var a in n.modules\u0026\u0026(r.modules\u003d(e.modules||[]).concat(n.modules)),n.directives\u0026\u0026(r.directives\u003dA(Object.create(e.directives||null),n.directives)),n)\"modules\"!\u003d\u003da\u0026\u0026\"directives\"!\u003d\u003da\u0026\u0026(r[a]\u003dn[a]);r.warn\u003dfunction(e,t,n){(n?o:i).push(e)};var s\u003dts(t.trim(),r);return s.errors\u003di,s.tips\u003do,s}return{compile:t,compileToFunctions:es(t)}})(xa),is\u003d(rs.compile,rs.compileToFunctions);function os(e){return(ns\u003dns||document.createElement(\"div\")).innerHTML\u003de?\u0027\u003ca href\u003d\"\\n\"/\u003e\u0027:\u0027\u003cdiv a\u003d\"\\n\"/\u003e\u0027,ns.innerHTML.indexOf(\"\u0026#10;\")\u003e0}var as\u003d!!V\u0026\u0026os(!1),ss\u003d!!V\u0026\u0026os(!0),cs\u003dg(function(e){var t\u003dQn(e);return t\u0026\u0026t.innerHTML}),us\u003dCn.prototype.$mount;return Cn.prototype.$mount\u003dfunction(e,t){if((e\u003de\u0026\u0026Qn(e))\u003d\u003d\u003ddocument.body||e\u003d\u003d\u003ddocument.documentElement)return this;var n\u003dthis.$options;if(!n.render){var r\u003dn.template;if(r)if(\"string\"\u003d\u003dtypeof r)\"#\"\u003d\u003d\u003dr.charAt(0)\u0026\u0026(r\u003dcs(r));else{if(!r.nodeType)return this;r\u003dr.innerHTML}else e\u0026\u0026(r\u003dfunction(e){if(e.outerHTML)return e.outerHTML;var t\u003ddocument.createElement(\"div\");return t.appendChild(e.cloneNode(!0)),t.innerHTML}(e));if(r){var i\u003dis(r,{outputSourceRange:!1,shouldDecodeNewlines:as,shouldDecodeNewlinesForHref:ss,delimiters:n.delimiters,comments:n.comments},this),o\u003di.render,a\u003di.staticRenderFns;n.render\u003do,n.staticRenderFns\u003da}}return us.call(this,e,t)},Cn.compile\u003dis,Cn});"}],"authorContributionMap":{"KevinEyo1":6}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/_mixins.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"// @see https://github.com/twbs/bootstrap/blob/main/scss/_functions.scss"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"@function material-icons-str-replace($string, $search, $replace: \u0027\u0027) {"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" $index: str-index($string, $search);"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" @if $index {"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" @return str-slice($string, 1, $index - 1) + $replace +"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" material-icons-str-replace("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":" str-slice($string, $index + str-length($search)),"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" $search,"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" $replace"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" );"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" @return $string;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"@mixin material-icons-font-class($font-family) {"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" font-family: $font-family;"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" font-size: $material-icons-font-size;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased; // Support for all WebKit browsers"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale; // Support for Firefox"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility; // Support for Safari and Chrome"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \u0027liga\u0027; // Support for IE"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"@mixin material-icons-font($font-family) {"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" $class-name: to-lower-case($font-family);"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" $class-name: material-icons-str-replace($class-name, \u0027 \u0027, \u0027-\u0027);"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" $font-file: $material-icons-font-path + $class-name;"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" @font-face {"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" font-family: $font-family;"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" font-display: $material-icons-font-display;"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" src: url(\u0027#{$font-file}.woff2\u0027) format(\u0027woff2\u0027),"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" url(\u0027#{$font-file}.woff\u0027) format(\u0027woff\u0027);"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":" .#{$class-name} {"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":" @include material-icons-font-class($font-family);"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":"@mixin material-icons() {"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":" @warn \"material-icons() Sass mixin has been deprecated as of 1.0. Use \u0027@extend .material-icons;\u0027 instead of \u0027@include material-icons();\u0027.\";"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":" @include material-icons-font-class(\u0027Material Icons\u0027);"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":55}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/_variables.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"$material-icons-font-path: \u0027./\u0027 !default;"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"$material-icons-font-size: 24px !default;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":"$material-icons-font-display: block !default;"}],"authorContributionMap":{"KevinEyo1":3}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/filled.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons\";"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons.woff2\") format(\"woff2\"), url(\"./material-icons.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".material-icons {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons\";"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":24}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/filled.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"@include material-icons-font(\u0027Material Icons\u0027);"}],"authorContributionMap":{"KevinEyo1":4}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/material-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons\";"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons.woff2\") format(\"woff2\"), url(\"./material-icons.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".material-icons {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons\";"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-outlined.woff2\") format(\"woff2\"), url(\"./material-icons-outlined.woff\") format(\"woff\");"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":".material-icons-outlined {"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-round.woff2\") format(\"woff2\"), url(\"./material-icons-round.woff\") format(\"woff\");"},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":".material-icons-round {"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":72,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":73,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":74,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":76,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":77,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":80,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":81,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-sharp.woff2\") format(\"woff2\"), url(\"./material-icons-sharp.woff\") format(\"woff\");"},{"lineNumber":82,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":83,"author":{"gitId":"KevinEyo1"},"content":".material-icons-sharp {"},{"lineNumber":84,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":85,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":86,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":87,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":88,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":89,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":90,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":91,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":92,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":93,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":94,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":95,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":96,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":97,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":98,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":99,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":100,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":101,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":102,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":103,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":104,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":105,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":106,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-two-tone.woff2\") format(\"woff2\"), url(\"./material-icons-two-tone.woff\") format(\"woff\");"},{"lineNumber":107,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":108,"author":{"gitId":"KevinEyo1"},"content":".material-icons-two-tone {"},{"lineNumber":109,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":110,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":111,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":112,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":113,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":114,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":115,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":116,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":117,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":118,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":119,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":120,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":121,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":122,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":123,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":124,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":124}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/material-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027filled\u0027;"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027outlined\u0027;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027round\u0027;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027sharp\u0027;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027two-tone\u0027;"}],"authorContributionMap":{"KevinEyo1":5}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/outlined.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-outlined.woff2\") format(\"woff2\"), url(\"./material-icons-outlined.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".material-icons-outlined {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":24}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/outlined.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"@include material-icons-font(\u0027Material Icons Outlined\u0027);"}],"authorContributionMap":{"KevinEyo1":4}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/round.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-round.woff2\") format(\"woff2\"), url(\"./material-icons-round.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".material-icons-round {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":24}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/round.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"@include material-icons-font(\u0027Material Icons Round\u0027);"}],"authorContributionMap":{"KevinEyo1":4}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/sharp.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-sharp.woff2\") format(\"woff2\"), url(\"./material-icons-sharp.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".material-icons-sharp {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":24}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/sharp.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"@include material-icons-font(\u0027Material Icons Sharp\u0027);"}],"authorContributionMap":{"KevinEyo1":4}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/two-tone.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-two-tone.woff2\") format(\"woff2\"), url(\"./material-icons-two-tone.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".material-icons-two-tone {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":24}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/two-tone.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"@include material-icons-font(\u0027Material Icons Two Tone\u0027);"}],"authorContributionMap":{"KevinEyo1":4}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/plugins/markbind-plugin-anchors/markbind-plugin-anchors.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":".fa.fa-anchor {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" color: #ccc;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" display: inline;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-size: 14px;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" margin-left: 10px;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" padding: 3px;"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":" text-decoration: none;"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" visibility: hidden;"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":".fa.fa-anchor:hover {"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" color: #555;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"h1:hover \u003e .fa.fa-anchor,"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"h2:hover \u003e .fa.fa-anchor,"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"h3:hover \u003e .fa.fa-anchor,"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"h4:hover \u003e .fa.fa-anchor,"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"h5:hover \u003e .fa.fa-anchor,"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"h6:hover \u003e .fa.fa-anchor,"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":".header-wrapper:hover \u003e .fa.fa-anchor {"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" visibility: visible;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":23}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/plugins/markbind-plugin-tree/markbind-plugin-tree.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":".tree {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" white-space: pre;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Fira Code\", \"Fira Mono\", monospace;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-size: 0.9375rem;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1.5;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" overflow-x: auto;"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":7}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/siteData.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"{"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" \"enableSearch\": true,"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" \"pages\": ["},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/Configuration.md\","},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Configuration guide\","},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" \"configuration-guide\": \"Configuration guide\""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/Design.md\","},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Design\","},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" \"design\": \"Design\","},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" \"architecture\": \"Architecture\","},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" \"component-1\": \"Component 1\","},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" \"component-2\": \"Component 2\""},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/DevOps.md\","},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"DevOps guide\","},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" \"devops-guide\": \"DevOps guide\","},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" \"build-automation\": \"Build automation\","},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" \"continuous-integration-ci\": \"Continuous integration (CI)\","},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" \"code-coverage\": \"Code coverage\","},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":" \"repository-wide-checks\": \"Repository-wide checks\","},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":" \"making-a-release\": \"Making a release\""},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/DeveloperGuide.md\","},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Developer Guide\","},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" \"projectex-developer-guide\": \"ProjectEx Developer Guide\","},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" \"introduction\": \"Introduction\","},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" \"purpose-of-this-guide\": \"Purpose of this Guide\","},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" \"acknowledgements\": \"Acknowledgements\""},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/Documentation.md\","},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Documentation guide\","},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":" \"documentation-guide\": \"Documentation Guide\""},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/Implementation.md\","},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Implementation\","},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":" \"implementation\": \"Implementation\","},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":" \"proposed-featurex-implementation\": \"[Proposed] FeatureX Implementation\","},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" \"proposed-data-archiving\": \"[Proposed] Data archiving\""},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/Requirements.md\","},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Requirements\","},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":" \"requirements\": \"Requirements\","},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":" \"product-scope\": \"Product scope\","},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":" \"user-stories\": \"User stories\","},{"lineNumber":72,"author":{"gitId":"KevinEyo1"},"content":" \"use-cases\": \"Use cases\","},{"lineNumber":73,"author":{"gitId":"KevinEyo1"},"content":" \"non-functional-requirements\": \"Non-Functional Requirements\""},{"lineNumber":74,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":76,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":77,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/SettingUp.md\","},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Setting up and getting started\","},{"lineNumber":80,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":81,"author":{"gitId":"KevinEyo1"},"content":" \"setting-up-and-getting-started\": \"Setting up and getting started\","},{"lineNumber":82,"author":{"gitId":"KevinEyo1"},"content":" \"setting-up-the-project-in-your-computer\": \"Setting up the project in your computer\","},{"lineNumber":83,"author":{"gitId":"KevinEyo1"},"content":" \"before-writing-code\": \"Before writing code\""},{"lineNumber":84,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":85,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":86,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":87,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":88,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/Testing.md\","},{"lineNumber":89,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Testing guide\","},{"lineNumber":90,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":91,"author":{"gitId":"KevinEyo1"},"content":" \"testing-guide\": \"Testing guide\","},{"lineNumber":92,"author":{"gitId":"KevinEyo1"},"content":" \"running-tests\": \"Running tests\","},{"lineNumber":93,"author":{"gitId":"KevinEyo1"},"content":" \"types-of-tests\": \"Types of tests\""},{"lineNumber":94,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":95,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":96,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":97,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":98,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/TracingCode.md\","},{"lineNumber":99,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Tutorial: Tracing code\","},{"lineNumber":100,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":101,"author":{"gitId":"KevinEyo1"},"content":" \"tutorial-tracing-code\": \"Tutorial: Tracing code\","},{"lineNumber":102,"author":{"gitId":"KevinEyo1"},"content":" \"before-we-start\": \"Before we start\","},{"lineNumber":103,"author":{"gitId":"KevinEyo1"},"content":" \"setting-a-breakpoint\": \"Setting a breakpoint\","},{"lineNumber":104,"author":{"gitId":"KevinEyo1"},"content":" \"tracing-the-execution-path\": \"Tracing the execution path\""},{"lineNumber":105,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":106,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":107,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":108,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":109,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"index.md\","},{"lineNumber":110,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"\","},{"lineNumber":111,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":112,"author":{"gitId":"KevinEyo1"},"content":" \"projectex\": \"ProjectEx\""},{"lineNumber":113,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":114,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":115,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":116,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":117,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"team/AboutUs.md\","},{"lineNumber":118,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"About Us\","},{"lineNumber":119,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":120,"author":{"gitId":"KevinEyo1"},"content":" \"about-us\": \"About Us\","},{"lineNumber":121,"author":{"gitId":"KevinEyo1"},"content":" \"project-team\": \"Project team\","},{"lineNumber":122,"author":{"gitId":"KevinEyo1"},"content":" \"john-doe\": \"John Doe\","},{"lineNumber":123,"author":{"gitId":"KevinEyo1"},"content":" \"jane-doe\": \"Jane Doe\","},{"lineNumber":124,"author":{"gitId":"KevinEyo1"},"content":" \"johnny-doe\": \"Johnny Doe\","},{"lineNumber":125,"author":{"gitId":"KevinEyo1"},"content":" \"jean-doe\": \"Jean Doe\","},{"lineNumber":126,"author":{"gitId":"KevinEyo1"},"content":" \"james-doe\": \"James Doe\""},{"lineNumber":127,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":128,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":129,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":130,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":131,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"team/johndoe.md\","},{"lineNumber":132,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Portfolio Page\","},{"lineNumber":133,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":134,"author":{"gitId":"KevinEyo1"},"content":" \"project-projectex\": \"Project: ProjectEx\""},{"lineNumber":135,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":136,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":137,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":138,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":139,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"userGuide/FAQ.md\","},{"lineNumber":140,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"FAQ\","},{"lineNumber":141,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":142,"author":{"gitId":"KevinEyo1"},"content":" \"faq\": \"FAQ\""},{"lineNumber":143,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":144,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":145,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":146,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":147,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"userGuide/Features.md\","},{"lineNumber":148,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Features\","},{"lineNumber":149,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":150,"author":{"gitId":"KevinEyo1"},"content":" \"features\": \"Features\","},{"lineNumber":151,"author":{"gitId":"KevinEyo1"},"content":" \"featurex\": \"FeatureX\","},{"lineNumber":152,"author":{"gitId":"KevinEyo1"},"content":" \"y-feature\": \"Y Feature\","},{"lineNumber":153,"author":{"gitId":"KevinEyo1"},"content":" \"future-feature-z-coming-in-v2-0\": \"Future Feature Z [coming in v2.0]\""},{"lineNumber":154,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":155,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":156,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":157,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":158,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"userGuide/QuickStart.md\","},{"lineNumber":159,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Quick Start\","},{"lineNumber":160,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":161,"author":{"gitId":"KevinEyo1"},"content":" \"quick-start\": \"Quick start\""},{"lineNumber":162,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":163,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":164,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":165,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":166,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"userGuide/UserGuide.md\","},{"lineNumber":167,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"User Guide\","},{"lineNumber":168,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":169,"author":{"gitId":"KevinEyo1"},"content":" \"projectex-user-guide\": \"ProjectEx User Guide\","},{"lineNumber":170,"author":{"gitId":"KevinEyo1"},"content":" \"introduction\": \"Introduction\","},{"lineNumber":171,"author":{"gitId":"KevinEyo1"},"content":" \"purpose-of-this-guide\": \"Purpose of this Guide\""},{"lineNumber":172,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":173,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":174,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":175,"author":{"gitId":"KevinEyo1"},"content":" ]"},{"lineNumber":176,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":176}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"KevinEyo1"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"KevinEyo1"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":76,"author":{"gitId":"KevinEyo1"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"KevinEyo1"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":81,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":82,"author":{"gitId":"KevinEyo1"},"content":".nav-component {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":84,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":85,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":86,"author":{"gitId":"KevinEyo1"},"content":"#page-nav {"},{"lineNumber":87,"author":{"gitId":"KevinEyo1"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":88,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":89,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":90,"author":{"gitId":"KevinEyo1"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":91,"author":{"gitId":"KevinEyo1"},"content":" #page-nav {"},{"lineNumber":92,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":93,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":94,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":95,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":96,"author":{"gitId":"KevinEyo1"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":97,"author":{"gitId":"KevinEyo1"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":98,"author":{"gitId":"KevinEyo1"},"content":" #site-nav {"},{"lineNumber":99,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":100,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":101,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":102,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":103,"author":{"gitId":"KevinEyo1"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":104,"author":{"gitId":"KevinEyo1"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":105,"author":{"gitId":"KevinEyo1"},"content":" .indented {"},{"lineNumber":106,"author":{"gitId":"KevinEyo1"},"content":" padding-left: 10px;"},{"lineNumber":107,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":108,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":109,"author":{"gitId":"KevinEyo1"},"content":" #content-wrapper {"},{"lineNumber":110,"author":{"gitId":"KevinEyo1"},"content":" padding: 0 10px;"},{"lineNumber":111,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":112,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":113,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":114,"author":{"gitId":"KevinEyo1"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":115,"author":{"gitId":"KevinEyo1"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":116,"author":{"gitId":"KevinEyo1"},"content":" #site-nav {"},{"lineNumber":117,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":118,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":119,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":120,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":121,"author":{"gitId":"KevinEyo1"},"content":"/* Hide site navigation when printing */"},{"lineNumber":122,"author":{"gitId":"KevinEyo1"},"content":"@media print {"},{"lineNumber":123,"author":{"gitId":"KevinEyo1"},"content":" #site-nav {"},{"lineNumber":124,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":125,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":126,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":127,"author":{"gitId":"KevinEyo1"},"content":" #page-nav {"},{"lineNumber":128,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":129,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":130,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":131,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":132,"author":{"gitId":"KevinEyo1"},"content":"h2,"},{"lineNumber":133,"author":{"gitId":"KevinEyo1"},"content":"h3,"},{"lineNumber":134,"author":{"gitId":"KevinEyo1"},"content":"h4,"},{"lineNumber":135,"author":{"gitId":"KevinEyo1"},"content":"h5,"},{"lineNumber":136,"author":{"gitId":"KevinEyo1"},"content":"h6 {"},{"lineNumber":137,"author":{"gitId":"KevinEyo1"},"content":" color: #e46c0a;"},{"lineNumber":138,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":137,"-":1}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/team/AboutUs.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\"}},[_v(\"\\nThis section describes the contributors of your app.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_m(2),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_c(\u0027p\u0027,[_v(\"This img uses the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"placeholderImage\")]),_v(\" defined in the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"_markbind/variables.md\")]),_v(\" file.\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/images/johndoe.png\",\"width\":\"200px\"}}),_v(\" \"),_m(5),_v(\" \"),_m(6),_v(\" \"),_m(7),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/images/johndoe.png\",\"width\":\"200px\"}}),_v(\" \"),_m(8),_v(\" \"),_m(9),_v(\" \"),_m(10),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/images/johndoe.png\",\"width\":\"200px\"}}),_v(\" \"),_m(11),_v(\" \"),_m(12),_v(\" \"),_m(13),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/images/johndoe.png\",\"width\":\"200px\"}}),_v(\" \"),_m(14),_v(\" \"),_m(15),_v(\" \"),_m(16),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/images/johndoe.png\",\"width\":\"200px\"}}),_v(\" \"),_m(17),_v(\" \"),_m(18)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(19)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"about-us\"}},[_v(\"About Us\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#about-us\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"We are a team based in \"),_c(\u0027a\u0027,{attrs:{\"href\":\"#project-team\"}},[_v(\"Organisation A\")]),_v(\".\")])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"You can reach us at the email \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"organisationa@gmail.sg\")])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"project-team\"}},[_v(\"Project team\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#project-team\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"john-doe\"}},[_v(\"John Doe\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#john-doe\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"http://www.comp.nus.edu.sg/~damithch\"}},[_v(\"homepage\")]),_v(\"]\\n[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://github.com/johndoe\"}},[_v(\"github\")]),_v(\"]\\n[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"contributions\")]),_v(\"]\")])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Role: Project Advisor\")])])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"jane-doe\"}},[_v(\"Jane Doe\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#jane-doe\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"http://github.com/johndoe\"}},[_v(\"github\")]),_v(\"]\\n[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"contributions\")]),_v(\"]\")])}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Role: Team Lead\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Responsibilities: UI\")])])}"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"johnny-doe\"}},[_v(\"Johnny Doe\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#johnny-doe\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"http://github.com/johndoe\"}},[_v(\"github\")]),_v(\"]\\n[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"contributions\")]),_v(\"]\")])}"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Role: Developer\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Responsibilities: Data\")])])}"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"jean-doe\"}},[_v(\"Jean Doe\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#jean-doe\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"http://github.com/johndoe\"}},[_v(\"github\")]),_v(\"]\\n[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"contributions\")]),_v(\"]\")])}"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Role: Developer\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Responsibilities: Dev Ops + Threading\")])])}"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"james-doe\"}},[_v(\"James Doe\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#james-doe\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"http://github.com/johndoe\"}},[_v(\"github\")]),_v(\"]\\n[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"contributions\")]),_v(\"]\")])}"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Role: Developer\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Responsibilities: UI\")])])}"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":67}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/team/johndoe.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027p\u0027,[_v(\"ProjectEx is an example project application used for showcasing a default MarkBind template specifically for project documentation. It can be taken as a reference for users to base their own MarkBind sites off of.\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\n Content can be easily be replaced by the user\u0027s project information and context.\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Given below are my contributions to the project.\")]),_v(\" \"),_m(1)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(2)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"project-projectex\"}},[_v(\"Project: ProjectEx\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#project-projectex\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"New Feature\")]),_v(\": Feature X\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"What it does: This feature does a thing\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Justification: This feature is important because...\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Highlights:\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Point 1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Point 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Credits: \"),_c(\u0027em\u0027,[_v(\"{mention here for reused code/ideas or use of a third-party library}\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Code contributed\")]),_v(\": \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"Github Repo\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Project management\")]),_v(\":\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Managed releases \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"v1.3\")]),_v(\" - \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"v1.5rc\")]),_v(\" (3 releases) on GitHub\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Enhancements to existing features\")]),_v(\":\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Wrote additional tests, increasing coverage to 92% (Pull requests \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#36\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#38\")]),_v(\")\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Documentation\")]),_v(\":\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"User Guide:\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Added documentation for feature \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#72\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Developer Guide:\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Added implementation details of feature.\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Community\")]),_v(\":\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"PRs reviewed (with non-trivial review comments): \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#12\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#32\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#19\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#42\")])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Contributed to forum discussions (examples: \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"1\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"2\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"3\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"4\")]),_v(\")\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Tools\")]),_v(\":\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Integrated a third party library (Natty) to the project (\"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#42\")]),_v(\")\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"{ You can add/remove categories in the list above }\")])])])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":16}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/FAQ.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis section answers common questions about the app or specific features.\\n\")]),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Question:\")]),_v(\" How do I learn to use this project?\")])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Answer:\")]),_v(\" Refer to the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\".\")])]),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Question:\")]),_v(\" How do I contribute to this project?\")])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Answer:\")]),_v(\" Refer to the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\".\")])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#faq\"}},[_v(\"FAQ‎\")])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"faq\"}},[_v(\"FAQ\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#faq\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":13}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/Features.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\",\"seamless\":\"\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Notes about the app usage\")]),_c(\u0027br\u0027)]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"General information about the app\u0027s features.\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"General tips about how to use the app efficiently.\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"Warnings that may lead to issues and how to avoid them.\")])])])]),_v(\" \"),_m(1),_v(\" \"),_c(\u0027p\u0027,[_v(\"Description of feature.\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nA visual representation of the feature can be shown here.\\n\")]),_v(\" \"),_m(2),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"warning\",\"seamless\":\"\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Caution:\")]),_v(\"\\nThings to avoid when using the feature.\")])]),_v(\" \"),_m(3),_v(\" \"),_c(\u0027p\u0027,[_v(\"Description of feature.\")]),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Feature Examples\")])]},proxy:true}])},[_v(\"\\nExamples of how to use the feature.\\n\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\",\"seamless\":\"\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Tip:\")]),_v(\" Secondary information about feature usage.\")])]),_v(\" \"),_m(4),_v(\" \"),_m(5)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#features\"}},[_v(\"Features‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#featurex\"}},[_v(\"FeatureX‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#y-feature\"}},[_v(\"Y Feature‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#future-feature-z-coming-in-v2-0\"}},[_v(\"Future Feature Z [coming in v2.0]‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(6)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"features\"}},[_v(\"Features\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#features\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"featurex\"}},[_v(\"FeatureX\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#featurex\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"List of primary information about the feature\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"How to use the feature\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"How the feature works\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Limitations of feature\")])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"y-feature\"}},[_v(\"Y Feature\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#y-feature\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"future-feature-z-coming-in-v2-0\"}},[_v(\"Future Feature Z \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"[coming in v2.0]\")]),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#future-feature-z-coming-in-v2-0\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"Details coming soon ...\")])])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":28}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/QuickStart.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis section can be used to help users get started with the application quickly.\\n\")]),_v(\" \"),_m(1)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#quick-start\"}},[_v(\"Quick start‎\")])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(2)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"quick-start\"}},[_v(\"Quick start\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#quick-start\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"Ensure you have Java \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"11\")]),_v(\" and Node.js \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"v16\")]),_v(\" and above installed in your Computer.\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"Open a command terminal and run necessary setup commands like \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"npm run setup\")]),_v(\".\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"Refer to the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")]),_v(\" section for details of the app\u0027s features.\")])])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":16}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/UserGuide.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_m(0),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#projectex-user-guide\"}},[_v(\"ProjectEx User Guide‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#introduction\"}},[_v(\"Introduction‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#purpose-of-this-guide\"}},[_v(\"Purpose of this Guide‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027h1\u0027,{attrs:{\"id\":\"projectex-user-guide\"}},[_v(\"ProjectEx User Guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#projectex-user-guide\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_c(\u0027p\u0027,[_v(\"ProjectEx is an example project application used for showcasing a default MarkBind template specifically for project documentation. It can be taken as a reference for users to base their own MarkBind sites off of.\")]),_v(\" \"),_c(\u0027h2\u0027,{attrs:{\"id\":\"introduction\"}},[_v(\"Introduction\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#introduction\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Welcome to the User Guide. This comprehensive resource is designed to assist you in navigating and utilizing our software to its fullest potential.\")]),_v(\" \"),_c(\u0027h2\u0027,{attrs:{\"id\":\"purpose-of-this-guide\"}},[_v(\"Purpose of this Guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#purpose-of-this-guide\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_v(\"This guide aims to:\")]),_v(\" \"),_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Equip users with the necessary knowledge.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Offer step-by-step instructions for common tasks and operations.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Provide tips and tricks to streamline the user experience.\")])])])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":13}},{"path":"packages/core-web/asset/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/core-web/src/print.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"// This file manipulates the content of the printed page by defining print event listeners."},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"const PAGE_NAV_ID \u003d \u0027mb-page-nav\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"const PAGE_NAV_CLONE_CLASS \u003d \u0027page-nav-clone\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"const PAGE_NAV_PRINT_CONTAINER \u003d \u0027page-nav-print\u0027;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":8,"author":{"gitId":"-"},"content":" * Remove the active style to prevent item highlighting."},{"lineNumber":9,"author":{"gitId":"-"},"content":" * @param {HTMLElement} node"},{"lineNumber":10,"author":{"gitId":"-"},"content":" */"},{"lineNumber":11,"author":{"gitId":"-"},"content":"function removeActiveStyle(container) {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" const activeElements \u003d container.querySelectorAll(\u0027a.active\u0027);"},{"lineNumber":13,"author":{"gitId":"-"},"content":" activeElements.forEach((activeElement) \u003d\u003e {"},{"lineNumber":14,"author":{"gitId":"-"},"content":" activeElement.classList.remove(\u0027active\u0027);"},{"lineNumber":15,"author":{"gitId":"-"},"content":" });"},{"lineNumber":16,"author":{"gitId":"-"},"content":"}"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * Create deep copies of the page navigation."},{"lineNumber":20,"author":{"gitId":"-"},"content":" * @param {HTMLElement} node"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * @returns {HTMLElement} node"},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":"function clonePageNav(node) {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" const pageNav \u003d node.cloneNode(true);"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" pageNav.removeAttribute(\u0027id\u0027); // avoid duplicate"},{"lineNumber":27,"author":{"gitId":"-"},"content":" removeActiveStyle(pageNav);"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" pageNav.classList.add(PAGE_NAV_CLONE_CLASS);"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" return pageNav;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"}"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"function removePageNavPrint() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" const tocElements \u003d document.querySelectorAll(`.${PAGE_NAV_CLONE_CLASS}`);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" tocElements.forEach((tocElement) \u003d\u003e {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" tocElement.remove();"},{"lineNumber":38,"author":{"gitId":"-"},"content":" });"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"// Insert page navigation into the \u003cpage-nav-print\u003e containers."},{"lineNumber":42,"author":{"gitId":"-"},"content":"window.addEventListener(\u0027beforeprint\u0027, () \u003d\u003e {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" const pageNav \u003d document.querySelector(`#${PAGE_NAV_ID}`);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" const pageNavPrintContainers \u003d document.querySelectorAll(`.${PAGE_NAV_PRINT_CONTAINER}`);"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" if (pageNav \u0026\u0026 pageNavPrintContainers.length \u003e\u003d 1) {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" removePageNavPrint(); // remove any existing clones"},{"lineNumber":48,"author":{"gitId":"-"},"content":" pageNavPrintContainers.forEach((container) \u003d\u003e {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" container.appendChild(clonePageNav(pageNav));"},{"lineNumber":50,"author":{"gitId":"-"},"content":" });"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":"});"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"// Remove page navigation clones."},{"lineNumber":55,"author":{"gitId":"-"},"content":"window.addEventListener(\u0027afterprint\u0027, () \u003d\u003e {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" removePageNavPrint();"},{"lineNumber":57,"author":{"gitId":"-"},"content":"});"},{"lineNumber":58,"author":{"gitId":"Tim-Siu"},"content":""},{"lineNumber":59,"author":{"gitId":"Tim-Siu"},"content":"// Check for wrapping in code blocks and adds line numbers if necessary"},{"lineNumber":60,"author":{"gitId":"Tim-Siu"},"content":"function checkForWrappingAndAddLineNumbers() {"},{"lineNumber":61,"author":{"gitId":"Tim-Siu"},"content":" document.querySelectorAll(\u0027pre \u003e code.hljs\u0027).forEach((block) \u003d\u003e {"},{"lineNumber":62,"author":{"gitId":"Tim-Siu"},"content":" // Check if any line within the block is wrapped"},{"lineNumber":63,"author":{"gitId":"Tim-Siu"},"content":" const isWrapped \u003d Array.from(block.querySelectorAll(\u0027span\u0027))"},{"lineNumber":64,"author":{"gitId":"Tim-Siu"},"content":" .some(line \u003d\u003e line.scrollWidth \u003e line.clientWidth);"},{"lineNumber":65,"author":{"gitId":"Tim-Siu"},"content":""},{"lineNumber":66,"author":{"gitId":"Tim-Siu"},"content":" if (isWrapped) {"},{"lineNumber":67,"author":{"gitId":"Tim-Siu"},"content":" // Add .line-numbers class to enable line numbering for wrapped lines"},{"lineNumber":68,"author":{"gitId":"Tim-Siu"},"content":" block.classList.add(\u0027line-numbers-print\u0027);"},{"lineNumber":69,"author":{"gitId":"Tim-Siu"},"content":" }"},{"lineNumber":70,"author":{"gitId":"Tim-Siu"},"content":" });"},{"lineNumber":71,"author":{"gitId":"Tim-Siu"},"content":"}"},{"lineNumber":72,"author":{"gitId":"Tim-Siu"},"content":""},{"lineNumber":73,"author":{"gitId":"Tim-Siu"},"content":"window.addEventListener(\u0027beforeprint\u0027, () \u003d\u003e {"},{"lineNumber":74,"author":{"gitId":"Tim-Siu"},"content":" checkForWrappingAndAddLineNumbers();"},{"lineNumber":75,"author":{"gitId":"Tim-Siu"},"content":"});"}],"authorContributionMap":{"-":57,"Tim-Siu":18}},{"path":"packages/core-web/src/styles/index.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"LamJiuFong"},"content":"@import url(\"markbind.css\");"},{"lineNumber":2,"author":{"gitId":"LamJiuFong"},"content":"@import url(\"page-nav.css\");"},{"lineNumber":3,"author":{"gitId":"LamJiuFong"},"content":"@import url(\"~katex/dist/katex.css\");"},{"lineNumber":4,"author":{"gitId":"LamJiuFong"},"content":"@import url(\"~markdown-it-texmath/css/texmath.css\");"}],"authorContributionMap":{"LamJiuFong":4}},{"path":"packages/core-web/src/styles/markbind.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"@import url(\"../../asset/css/codeblock-light.min.css\") print;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":":root {"},{"lineNumber":4,"author":{"gitId":"-"},"content":" --sticky-header-height: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"}"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"a {"},{"lineNumber":8,"author":{"gitId":"-"},"content":" text-decoration: none;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"blockquote {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" border-left: 0.25em solid #dfe2e5;"},{"lineNumber":13,"author":{"gitId":"-"},"content":" color: #6a737d;"},{"lineNumber":14,"author":{"gitId":"-"},"content":" padding: 0 1rem;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"code {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" background: #f8f8f8;"},{"lineNumber":19,"author":{"gitId":"-"},"content":" border-radius: 3px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" padding: 0.2em 0.4em;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" word-break: normal;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"}"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"mark code {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" background: #ffffffd4;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"}"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"pre.hljs \u003e code {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" background: none;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"pre \u003e code.hljs {"},{"lineNumber":33,"author":{"gitId":"LamJiuFong"},"content":" background-clip: padding-box;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" counter-reset: line;"},{"lineNumber":36,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"}"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"pre \u003e code.hljs[heading] {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" border-top-right-radius: 0;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"}"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":".code-block {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"}"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":".code-block-heading {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" border-radius: 6px 6px 0 0;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" font-size: 85%;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" line-height: 1;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" margin-top: 5px;"},{"lineNumber":53,"author":{"gitId":"-"},"content":" max-width: 85%;"},{"lineNumber":54,"author":{"gitId":"-"},"content":" overflow-wrap: break-word;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" padding: 0.25em 0.4em;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" text-align: right;"},{"lineNumber":57,"author":{"gitId":"-"},"content":"}"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":".inline-markdown-heading {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" line-height: 1.5;"},{"lineNumber":61,"author":{"gitId":"-"},"content":"}"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":".code-block-content {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" clear: both;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":66,"author":{"gitId":"-"},"content":"}"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":69,"author":{"gitId":"Tim-Siu"},"content":" pre \u003e code.hljs {"},{"lineNumber":70,"author":{"gitId":"Tim-Siu"},"content":" white-space: pre-wrap;"},{"lineNumber":71,"author":{"gitId":"Tim-Siu"},"content":" word-wrap: break-word;"},{"lineNumber":72,"author":{"gitId":"Tim-Siu"},"content":" word-break: break-all;"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"Tim-Siu"},"content":" .hljs:not(.inline).line-numbers-print \u003e span {"},{"lineNumber":76,"author":{"gitId":"Tim-Siu"},"content":" padding: 0 0.5em 0 3.5em;"},{"lineNumber":77,"author":{"gitId":"Tim-Siu"},"content":" position: relative;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"Tim-Siu"},"content":" /* display line numbers beside each span */"},{"lineNumber":81,"author":{"gitId":"Tim-Siu"},"content":" .hljs:not(.inline).line-numbers-print \u003e span::before {"},{"lineNumber":82,"author":{"gitId":"Tim-Siu"},"content":" border-right: 1px solid #ddd;"},{"lineNumber":83,"author":{"gitId":"Tim-Siu"},"content":" display: inline-block;"},{"lineNumber":84,"author":{"gitId":"Tim-Siu"},"content":" color: #888;"},{"lineNumber":85,"author":{"gitId":"Tim-Siu"},"content":" content: counter(line);"},{"lineNumber":86,"author":{"gitId":"Tim-Siu"},"content":" counter-increment: line;"},{"lineNumber":87,"author":{"gitId":"Tim-Siu"},"content":" left: 0;"},{"lineNumber":88,"author":{"gitId":"Tim-Siu"},"content":" margin-right: 0.5em;"},{"lineNumber":89,"author":{"gitId":"Tim-Siu"},"content":" padding-right: 0.5em;"},{"lineNumber":90,"author":{"gitId":"Tim-Siu"},"content":" position: absolute;"},{"lineNumber":91,"author":{"gitId":"Tim-Siu"},"content":" text-align: right;"},{"lineNumber":92,"author":{"gitId":"Tim-Siu"},"content":" top: 0;"},{"lineNumber":93,"author":{"gitId":"Tim-Siu"},"content":" width: 3em;"},{"lineNumber":94,"author":{"gitId":"Tim-Siu"},"content":" height: 100%;"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" /* force printing the highlighting colour */"},{"lineNumber":98,"author":{"gitId":"-"},"content":" .hljs span.highlighted{"},{"lineNumber":99,"author":{"gitId":"-"},"content":" -webkit-print-color-adjust:exact;"},{"lineNumber":100,"author":{"gitId":"-"},"content":" background:#e6e6fa !important;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":"}"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"kbd {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" background-color: #fafbfc;"},{"lineNumber":106,"author":{"gitId":"-"},"content":" border: 1px solid #c6cbd1;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" border-bottom-color: #959da5;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" box-shadow: inset 0 -1px 0 #959da5;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" color: #444d56;"},{"lineNumber":110,"author":{"gitId":"-"},"content":"}"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":".btn:active,"},{"lineNumber":113,"author":{"gitId":"-"},"content":".btn:focus {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" box-shadow: none !important;"},{"lineNumber":115,"author":{"gitId":"-"},"content":" outline: none !important;"},{"lineNumber":116,"author":{"gitId":"-"},"content":"}"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":"code.hljs.inline {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" display: initial;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" padding: 0.2em 0.4em;"},{"lineNumber":121,"author":{"gitId":"-"},"content":"}"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":".markbind-table {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" width: auto;"},{"lineNumber":125,"author":{"gitId":"-"},"content":"}"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":".radio-list-item,"},{"lineNumber":128,"author":{"gitId":"-"},"content":".task-list-item {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" list-style-type: none;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" margin: 0 0 0 -1.2em;"},{"lineNumber":131,"author":{"gitId":"-"},"content":"}"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":".radio-list-item label {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" font-weight: inherit;"},{"lineNumber":135,"author":{"gitId":"-"},"content":"}"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":".table-striped \u003e thead,"},{"lineNumber":138,"author":{"gitId":"-"},"content":".table-striped \u003e tbody \u003e tr:nth-of-type(even) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" background-color: #fff;"},{"lineNumber":140,"author":{"gitId":"-"},"content":"}"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Holy Grail Layout"},{"lineNumber":144,"author":{"gitId":"-"},"content":" *"},{"lineNumber":145,"author":{"gitId":"-"},"content":" * This section covers the common styles used within Header, Footer and Side Navigation bars"},{"lineNumber":146,"author":{"gitId":"-"},"content":" */"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":"/* Header */"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":"header[sticky] {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" top: 0;"},{"lineNumber":153,"author":{"gitId":"-"},"content":" transition: transform 0.3s ease-in-out;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":155,"author":{"gitId":"-"},"content":" z-index: 1001;"},{"lineNumber":156,"author":{"gitId":"-"},"content":"}"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":"header[sticky].hide-header {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" transform: translateY(calc(-1 * var(--sticky-header-height)));"},{"lineNumber":160,"author":{"gitId":"-"},"content":"}"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":"span.anchor {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" top: calc(-1 * var(--sticky-header-height) - 1rem);"},{"lineNumber":165,"author":{"gitId":"-"},"content":"}"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":"/* #app is treated as the main container */"},{"lineNumber":168,"author":{"gitId":"-"},"content":"#app {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":170,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" min-height: 100vh;"},{"lineNumber":172,"author":{"gitId":"-"},"content":"}"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":"/* Footer */"},{"lineNumber":175,"author":{"gitId":"-"},"content":"footer {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" background-color: #f5f5f5;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" color: dimgrey;"},{"lineNumber":178,"author":{"gitId":"-"},"content":" padding: 10px 0;"},{"lineNumber":179,"author":{"gitId":"-"},"content":"}"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":"/* TODO move this back to markdown-it-attr if bundling is implemented */"},{"lineNumber":182,"author":{"gitId":"-"},"content":".dimmed {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" color: #777;"},{"lineNumber":184,"author":{"gitId":"-"},"content":"}"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":".large {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" font-size: 125%;"},{"lineNumber":188,"author":{"gitId":"-"},"content":"}"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":".small {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" font-size: 80%;"},{"lineNumber":192,"author":{"gitId":"-"},"content":"}"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":".underline {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" text-decoration: underline;"},{"lineNumber":196,"author":{"gitId":"-"},"content":"}"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":".mkb-text-red {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" color: red !important;"},{"lineNumber":200,"author":{"gitId":"-"},"content":"}"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":".mkb-text-green {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" color: green !important;"},{"lineNumber":204,"author":{"gitId":"-"},"content":"}"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":".mkb-text-blue {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" color: blue !important;"},{"lineNumber":208,"author":{"gitId":"-"},"content":"}"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":".mkb-text-cyan {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" color: cyan !important;"},{"lineNumber":212,"author":{"gitId":"-"},"content":"}"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":".mkb-text-magenta {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" color: magenta !important;"},{"lineNumber":216,"author":{"gitId":"-"},"content":"}"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":".mkb-text-yellow {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" color: yellow !important;"},{"lineNumber":220,"author":{"gitId":"-"},"content":"}"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":".mkb-text-black {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" color: black !important;"},{"lineNumber":224,"author":{"gitId":"-"},"content":"}"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":".mkb-text-white {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" color: white !important;"},{"lineNumber":228,"author":{"gitId":"-"},"content":"}"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":231,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" .dropdown-menu \u003e li \u003e a {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" white-space: normal;"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" .navbar-nav .open .dropdown-menu {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" background-color: #fff;"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":"}"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":"/* Footnote anchor */"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":"li.footnote-item:target {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" background-color: #eee;"},{"lineNumber":245,"author":{"gitId":"-"},"content":"}"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":".hljs:not(.inline) \u003e span {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":249,"author":{"gitId":"-"},"content":"}"},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":".hljs:not(.inline).line-numbers \u003e span {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" padding: 0 0.5em 0 3.5em;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":254,"author":{"gitId":"-"},"content":"}"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":"/* display line numbers beside each span */"},{"lineNumber":257,"author":{"gitId":"-"},"content":".hljs:not(.inline).line-numbers \u003e span::before {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" border-right: 1px solid #ddd;"},{"lineNumber":259,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" color: #888;"},{"lineNumber":261,"author":{"gitId":"-"},"content":" content: counter(line);"},{"lineNumber":262,"author":{"gitId":"-"},"content":" counter-increment: line;"},{"lineNumber":263,"author":{"gitId":"-"},"content":" left: 0;"},{"lineNumber":264,"author":{"gitId":"-"},"content":" margin-right: 0.5em;"},{"lineNumber":265,"author":{"gitId":"-"},"content":" padding-right: 0.5em;"},{"lineNumber":266,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" text-align: right;"},{"lineNumber":268,"author":{"gitId":"-"},"content":" top: 0;"},{"lineNumber":269,"author":{"gitId":"-"},"content":" width: 3em;"},{"lineNumber":270,"author":{"gitId":"-"},"content":" height: 100%;"},{"lineNumber":271,"author":{"gitId":"-"},"content":"}"},{"lineNumber":272,"author":{"gitId":"-"},"content":""},{"lineNumber":273,"author":{"gitId":"-"},"content":"/* styles for triggers and tooltips */"},{"lineNumber":274,"author":{"gitId":"-"},"content":".trigger {"},{"lineNumber":275,"author":{"gitId":"LamJiuFong"},"content":" border-bottom: 1px dotted currentcolor;"},{"lineNumber":276,"author":{"gitId":"-"},"content":"}"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":".trigger-click {"},{"lineNumber":279,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":280,"author":{"gitId":"LamJiuFong"},"content":" border-bottom: 1px dashed currentcolor;"},{"lineNumber":281,"author":{"gitId":"-"},"content":"}"},{"lineNumber":282,"author":{"gitId":"-"},"content":""},{"lineNumber":283,"author":{"gitId":"-"},"content":".trigger-click:focus {"},{"lineNumber":284,"author":{"gitId":"-"},"content":" outline: none;"},{"lineNumber":285,"author":{"gitId":"-"},"content":"}"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":"/* \"Copy\" and \"wrap text\" code block buttons */"},{"lineNumber":288,"author":{"gitId":"-"},"content":"pre {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":290,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":291,"author":{"gitId":"-"},"content":"}"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":"button.function-btn {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" border: 1px solid #d7dadc;"},{"lineNumber":295,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":296,"author":{"gitId":"-"},"content":" color: darkgray;"},{"lineNumber":297,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":298,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":299,"author":{"gitId":"-"},"content":" margin: 0.17rem;"},{"lineNumber":300,"author":{"gitId":"-"},"content":" padding: 0.35rem;"},{"lineNumber":301,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":302,"author":{"gitId":"-"},"content":" right: 0;"},{"lineNumber":303,"author":{"gitId":"-"},"content":" text-align: center;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" white-space: nowrap;"},{"lineNumber":305,"author":{"gitId":"-"},"content":"}"},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":"button.function-btn + button.function-btn {"},{"lineNumber":308,"author":{"gitId":"-"},"content":" right: 36px;"},{"lineNumber":309,"author":{"gitId":"-"},"content":"}"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":"pre:hover \u003e .function-btn-container \u003e button.function-btn {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":313,"author":{"gitId":"-"},"content":"}"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":".function-btn:hover {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" transition: all 0.5s ease;"},{"lineNumber":317,"author":{"gitId":"-"},"content":" color: gray;"},{"lineNumber":318,"author":{"gitId":"-"},"content":"}"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":".function-btn-body {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":322,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":323,"author":{"gitId":"-"},"content":"}"},{"lineNumber":324,"author":{"gitId":"-"},"content":""},{"lineNumber":325,"author":{"gitId":"-"},"content":".function-btn svg {"},{"lineNumber":326,"author":{"gitId":"LamJiuFong"},"content":" fill: currentcolor;"},{"lineNumber":327,"author":{"gitId":"-"},"content":"}"},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"-"},"content":"/* Wrap class used for \"wrap text\" button. */"},{"lineNumber":330,"author":{"gitId":"-"},"content":"code.wrap {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" white-space: pre-wrap;"},{"lineNumber":332,"author":{"gitId":"-"},"content":" word-wrap: break-word;"},{"lineNumber":333,"author":{"gitId":"Tim-Siu"},"content":" word-break: break-all;"},{"lineNumber":334,"author":{"gitId":"-"},"content":"}"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"-"},"content":"/* Octicon sizing */"},{"lineNumber":337,"author":{"gitId":"-"},"content":".octicon {"},{"lineNumber":338,"author":{"gitId":"-"},"content":" height: 1em;"},{"lineNumber":339,"author":{"gitId":"-"},"content":" width: 1em;"},{"lineNumber":340,"author":{"gitId":"-"},"content":"}"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":"/* styles for \u003chr\u003e */"},{"lineNumber":343,"author":{"gitId":"-"},"content":"hr {"},{"lineNumber":344,"author":{"gitId":"LamJiuFong"},"content":" border-top: solid 1px rgb(0 0 0 / 10%);"},{"lineNumber":345,"author":{"gitId":"-"},"content":" background-color: transparent;"},{"lineNumber":346,"author":{"gitId":"-"},"content":" opacity: 1;"},{"lineNumber":347,"author":{"gitId":"-"},"content":"}"},{"lineNumber":348,"author":{"gitId":"-"},"content":""},{"lineNumber":349,"author":{"gitId":"-"},"content":"hr.dotted {"},{"lineNumber":350,"author":{"gitId":"-"},"content":" border-top-width: 0.1rem;"},{"lineNumber":351,"author":{"gitId":"-"},"content":" border-top-style: dotted;"},{"lineNumber":352,"author":{"gitId":"-"},"content":"}"},{"lineNumber":353,"author":{"gitId":"-"},"content":""},{"lineNumber":354,"author":{"gitId":"-"},"content":"hr.double {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" border-top-width: 0.2rem;"},{"lineNumber":356,"author":{"gitId":"-"},"content":" border-top-style: double;"},{"lineNumber":357,"author":{"gitId":"-"},"content":"}"},{"lineNumber":358,"author":{"gitId":"-"},"content":""},{"lineNumber":359,"author":{"gitId":"-"},"content":"hr.dashed {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" border-top-width: 0.1rem;"},{"lineNumber":361,"author":{"gitId":"-"},"content":" border-top-style: dashed;"},{"lineNumber":362,"author":{"gitId":"-"},"content":"}"},{"lineNumber":363,"author":{"gitId":"-"},"content":""},{"lineNumber":364,"author":{"gitId":"-"},"content":"hr.thick {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" border-top-width: 0.15rem;"},{"lineNumber":366,"author":{"gitId":"-"},"content":"}"},{"lineNumber":367,"author":{"gitId":"-"},"content":""},{"lineNumber":368,"author":{"gitId":"-"},"content":"hr.thick-1 {"},{"lineNumber":369,"author":{"gitId":"-"},"content":" border-top-width: 0.25rem;"},{"lineNumber":370,"author":{"gitId":"-"},"content":"}"},{"lineNumber":371,"author":{"gitId":"-"},"content":""},{"lineNumber":372,"author":{"gitId":"-"},"content":"hr.thick-2 {"},{"lineNumber":373,"author":{"gitId":"-"},"content":" border-top-width: 0.5rem;"},{"lineNumber":374,"author":{"gitId":"-"},"content":"}"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":"hr.thick-3 {"},{"lineNumber":377,"author":{"gitId":"-"},"content":" border-top-width: 0.75rem;"},{"lineNumber":378,"author":{"gitId":"-"},"content":"}"},{"lineNumber":379,"author":{"gitId":"-"},"content":""},{"lineNumber":380,"author":{"gitId":"-"},"content":"ol,"},{"lineNumber":381,"author":{"gitId":"-"},"content":"ul {"},{"lineNumber":382,"author":{"gitId":"-"},"content":" padding-left: 1.5rem;"},{"lineNumber":383,"author":{"gitId":"-"},"content":"}"},{"lineNumber":384,"author":{"gitId":"-"},"content":""},{"lineNumber":385,"author":{"gitId":"-"},"content":"h1,"},{"lineNumber":386,"author":{"gitId":"-"},"content":"h2,"},{"lineNumber":387,"author":{"gitId":"-"},"content":"h3,"},{"lineNumber":388,"author":{"gitId":"-"},"content":"h4,"},{"lineNumber":389,"author":{"gitId":"-"},"content":"h5,"},{"lineNumber":390,"author":{"gitId":"-"},"content":"h6 {"},{"lineNumber":391,"author":{"gitId":"-"},"content":" margin-bottom: 1rem;"},{"lineNumber":392,"author":{"gitId":"-"},"content":" scroll-margin-top: var(--sticky-header-height);"},{"lineNumber":393,"author":{"gitId":"-"},"content":"}"},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"-"},"content":".block-embed {"},{"lineNumber":396,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":397,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":398,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":399,"author":{"gitId":"-"},"content":"}"},{"lineNumber":400,"author":{"gitId":"-"},"content":""},{"lineNumber":401,"author":{"gitId":"-"},"content":".block-embed iframe {"},{"lineNumber":402,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":403,"author":{"gitId":"-"},"content":" top: 0;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" left: 0;"},{"lineNumber":405,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":406,"author":{"gitId":"-"},"content":" height: 100%;"},{"lineNumber":407,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":378,"Tim-Siu":23}},{"path":"packages/core-web/src/styles/page-nav.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"/* Page navigation */"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"#mb-page-nav {"},{"lineNumber":4,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 12px 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"}"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"#mb-page-nav a:link,"},{"lineNumber":8,"author":{"gitId":"-"},"content":"#mb-page-nav a:visited {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" color: #9b9b9b;"},{"lineNumber":10,"author":{"gitId":"-"},"content":" text-decoration: none;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"}"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"#mb-page-nav a:hover {"},{"lineNumber":14,"author":{"gitId":"-"},"content":" color: black;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"#mb-page-nav a.active {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" background-color: transparent;"},{"lineNumber":19,"author":{"gitId":"-"},"content":" color: black;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".page-nav-title {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" color: black;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" white-space: inherit;"},{"lineNumber":26,"author":{"gitId":"-"},"content":" padding-left: 0.5rem;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"}"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":".nested {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" margin-left: 5%;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"}"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":".no-flex-wrap {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" flex-wrap: nowrap;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":1,"-":34}},{"path":"packages/core/package.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"name\": \"@markbind/core\","},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"version\": \"5.4.0\","},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"description\": \"MarkBind core module\","},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"keywords\": ["},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"mark\","},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"markdown\","},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"markbind\","},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"fragment\","},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"reusable\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"homepage\": \"https://markbind.org\","},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"license\": \"MIT\","},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"main\": \"index.js\","},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"types\": \"index.d.ts\","},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"repository\": {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"type\": \"git\","},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/MarkBind/markbind.git\","},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"directory\": \"packages/core\""},{"lineNumber":20,"author":{"gitId":"-"},"content":" },"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"publishConfig\": {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"access\": \"public\""},{"lineNumber":23,"author":{"gitId":"-"},"content":" },"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"scripts\": {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"compile\": \"tsc\","},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"build\": \"tsc --noEmitOnError\","},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"prepare\": \"npm run build\","},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"test\": \"jest --colors\""},{"lineNumber":29,"author":{"gitId":"-"},"content":" },"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"@fortawesome/fontawesome-free\": \"^6.4.0\","},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"@markbind/core-web\": \"5.4.0\","},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"@primer/octicons\": \"^15.0.1\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"@sindresorhus/slugify\": \"^0.9.1\","},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"@tlylt/markdown-it-imsize\": \"^3.0.0\","},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"bluebird\": \"^3.7.2\","},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"bootswatch\": \"5.1.3\","},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"cheerio\": \"^0.22.0\","},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"crypto-js\": \"^4.0.0\","},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"csv-parse\": \"^4.14.2\","},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"ensure-posix-path\": \"^1.1.1\","},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"fastmatter\": \"^2.1.1\","},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"fs-extra\": \"^9.0.1\","},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"gh-pages\": \"^2.1.1\","},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"highlight.js\": \"^10.4.1\","},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"htmlparser2\": \"^3.10.1\","},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"ignore\": \"^5.1.4\","},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"js-beautify\": \"1.14.3\","},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"katex\": \"^0.15.6\","},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.15\","},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"markdown-it\": \"^12.3.2\","},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"markdown-it-attrs\": \"^4.1.3\","},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"markdown-it-emoji\": \"^1.4.0\","},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"markdown-it-linkify-images\": \"^3.0.0\","},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"markdown-it-mark\": \"^3.0.0\","},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"markdown-it-regexp\": \"^0.4.0\","},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"markdown-it-sub\": \"^1.0.0\","},{"lineNumber":58,"author":{"gitId":"-"},"content":" \"markdown-it-sup\": \"^1.0.0\","},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"markdown-it-table-of-contents\": \"^0.4.4\","},{"lineNumber":60,"author":{"gitId":"-"},"content":" \"markdown-it-task-lists\": \"^2.1.1\","},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"markdown-it-texmath\": \"^1.0.0\","},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"markdown-it-video\": \"^0.6.3\","},{"lineNumber":63,"author":{"gitId":"-"},"content":" \"material-icons\": \"^1.9.1\","},{"lineNumber":64,"author":{"gitId":"-"},"content":" \"moment\": \"^2.29.4\","},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"nunjucks\": \"3.2.4\","},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"path-is-inside\": \"^1.0.2\","},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":" \"simple-git\": \"^3.22.0\","},{"lineNumber":68,"author":{"gitId":"-"},"content":" \"url-parse\": \"^1.5.10\","},{"lineNumber":69,"author":{"gitId":"-"},"content":" \"uuid\": \"^8.3.1\","},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"vue\": \"2.6.14\","},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"vue-server-renderer\": \"2.6.14\","},{"lineNumber":72,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": \"2.6.14\","},{"lineNumber":73,"author":{"gitId":"-"},"content":" \"walk-sync\": \"^2.0.2\","},{"lineNumber":74,"author":{"gitId":"-"},"content":" \"winston\": \"^2.4.4\""},{"lineNumber":75,"author":{"gitId":"-"},"content":" },"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \"devDependencies\": {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"@jest/globals\": \"^29.5.0\","},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"@types/bluebird\": \"^3.5.36\","},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"@types/cheerio\": \"^0.22.31\","},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"@types/crypto-js\": \"^4.1.1\","},{"lineNumber":81,"author":{"gitId":"-"},"content":" \"@types/domhandler\": \"^2.4.2\","},{"lineNumber":82,"author":{"gitId":"-"},"content":" \"@types/fs-extra\": \"^9.0.13\","},{"lineNumber":83,"author":{"gitId":"-"},"content":" \"@types/gh-pages\": \"^3.2.1\","},{"lineNumber":84,"author":{"gitId":"-"},"content":" \"@types/htmlparser2\": \"^3.10.3\","},{"lineNumber":85,"author":{"gitId":"-"},"content":" \"@types/jest\": \"^27.4.1\","},{"lineNumber":86,"author":{"gitId":"-"},"content":" \"@types/js-beautify\": \"^1.13.3\","},{"lineNumber":87,"author":{"gitId":"-"},"content":" \"@types/katex\": \"^0.16.0\","},{"lineNumber":88,"author":{"gitId":"-"},"content":" \"@types/lodash\": \"^4.14.181\","},{"lineNumber":89,"author":{"gitId":"-"},"content":" \"@types/markdown-it\": \"^12.2.3\","},{"lineNumber":90,"author":{"gitId":"-"},"content":" \"@types/node\": \"^18.15.0\","},{"lineNumber":91,"author":{"gitId":"-"},"content":" \"@types/nunjucks\": \"^3.2.1\","},{"lineNumber":92,"author":{"gitId":"-"},"content":" \"@types/path-is-inside\": \"^1.0.0\","},{"lineNumber":93,"author":{"gitId":"-"},"content":" \"@types/primer__octicons\": \"^17.11.0\","},{"lineNumber":94,"author":{"gitId":"-"},"content":" \"@types/url-parse\": \"^1.4.8\","},{"lineNumber":95,"author":{"gitId":"-"},"content":" \"@types/uuid\": \"^9.0.0\","},{"lineNumber":96,"author":{"gitId":"-"},"content":" \"jest\": \"^27.5.1\","},{"lineNumber":97,"author":{"gitId":"-"},"content":" \"memfs\": \"^3.0.1\","},{"lineNumber":98,"author":{"gitId":"-"},"content":" \"ts-jest\": \"^27.1.4\""},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"KevinEyo1":1,"-":99}},{"path":"packages/core/src/Page/page.njk","fileType":"njk","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003c!DOCTYPE html\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003chtml\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003chead\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" {%- if asset.headTop %}"},{"lineNumber":5,"author":{"gitId":"-"},"content":" {%- for headContent in asset.headTop %}"},{"lineNumber":6,"author":{"gitId":"-"},"content":" {{ headContent }}"},{"lineNumber":7,"author":{"gitId":"-"},"content":" {%- endfor %}"},{"lineNumber":8,"author":{"gitId":"-"},"content":" {%- endif %}"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003cmeta charset\u003d\"utf-8\"\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003cmeta http-equiv\u003d\"X-UA-Compatible\" content\u003d\"IE\u003dedge\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003cmeta name\u003d\"generator\" content\u003d\"{{ markBindVersion }}\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width, initial-scale\u003d1\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" {%- if title -%} \u003ctitle\u003e{{ title }}\u003c/title\u003e {%- endif -%}"},{"lineNumber":14,"author":{"gitId":"-"},"content":" {% if asset.bootstrap %} \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.bootstrap }}\"\u003e {%- endif -%}"},{"lineNumber":15,"author":{"gitId":"-"},"content":" {% if asset.fontAwesome %} \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.fontAwesome }}\"\u003e {%- endif -%}"},{"lineNumber":16,"author":{"gitId":"-"},"content":" {% if asset.glyphicons %} \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.glyphicons }}\"\u003e {%- endif -%}"},{"lineNumber":17,"author":{"gitId":"-"},"content":" {% if asset.octicons %} \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.octicons }}\"\u003e {%- endif -%}"},{"lineNumber":18,"author":{"gitId":"-"},"content":" {% if asset.materialIcons %} \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.materialIcons }}\"\u003e {%- endif -%}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" {% if asset.bootstrapIcons %} \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.bootstrapIcons }}\"\u003e {%- endif -%}"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.highlight }}\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" {%- if not dev -%}\u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.markBindCss }}\"\u003e{%- endif -%}"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003cscript src\u003d\"{{ asset.polyfillJs }}\"\u003e\u003c/script\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cscript src\u003d\"{{ asset.vue }}\"\u003e\u003c/script\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003cscript src\u003d\"{{ asset.markBindJs }}\"\u003e\u003c/script\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003cscript src\u003d\"{{ asset.pageVueRenderJs }}\"\u003e\u003c/script\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" {%- if asset.pluginLinks -%}"},{"lineNumber":27,"author":{"gitId":"-"},"content":" {%- for link in asset.pluginLinks -%}"},{"lineNumber":28,"author":{"gitId":"-"},"content":" {{ link }}"},{"lineNumber":29,"author":{"gitId":"-"},"content":" {%- endfor -%}"},{"lineNumber":30,"author":{"gitId":"-"},"content":" {%- endif -%}"},{"lineNumber":31,"author":{"gitId":"-"},"content":" {%- if asset.headBottom %}"},{"lineNumber":32,"author":{"gitId":"-"},"content":" {%- for headContent in asset.headBottom %}"},{"lineNumber":33,"author":{"gitId":"-"},"content":" {{ headContent }}"},{"lineNumber":34,"author":{"gitId":"-"},"content":" {%- endfor %}"},{"lineNumber":35,"author":{"gitId":"-"},"content":" {%- endif %}"},{"lineNumber":36,"author":{"gitId":"-"},"content":" {%- if faviconUrl -%} \u003clink rel\u003d\"icon\" href\u003d\"{{ faviconUrl }}\"\u003e {%- endif -%}"},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003c/head\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" const baseUrl \u003d \u0027{{ baseUrl }}\u0027"},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003cbody {% if hasPageNavHeadings %} data-bs-spy\u003d\"scroll\" data-bs-target\u003d\"#mb-page-nav\" data-bs-offset\u003d\"100\" {% endif %}\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":"{{ content }}"},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003c/body\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":"{{- pageUserScriptsAndStyles -}}"},{"lineNumber":45,"author":{"gitId":"-"},"content":"{{- layoutUserScriptsAndStyles -}}"},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003cscript src\u003d\"{{ asset.bootstrapUtilityJs }}\"\u003e\u003c/script\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" {% if enableSearch %}MarkBind.setupWithSearch(){% else %}MarkBind.setup(){% endif %}"},{"lineNumber":49,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":"{%- if asset.externalScripts %}"},{"lineNumber":51,"author":{"gitId":"-"},"content":"{%- for script in asset.externalScripts %}"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cscript src\u003d\"{{ script }}\"\u003e\u003c/script\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":"{%- endfor %}"},{"lineNumber":54,"author":{"gitId":"-"},"content":"{%- endif %}"},{"lineNumber":55,"author":{"gitId":"-"},"content":"{%- if asset.pluginScripts %}"},{"lineNumber":56,"author":{"gitId":"-"},"content":"{%- for script in asset.pluginScripts %}"},{"lineNumber":57,"author":{"gitId":"-"},"content":" {{ script }}"},{"lineNumber":58,"author":{"gitId":"-"},"content":"{%- endfor %}"},{"lineNumber":59,"author":{"gitId":"-"},"content":"{%- endif %}"},{"lineNumber":60,"author":{"gitId":"-"},"content":"{%- if asset.scriptBottom %}"},{"lineNumber":61,"author":{"gitId":"-"},"content":"{%- for scripts in asset.scriptBottom %}"},{"lineNumber":62,"author":{"gitId":"-"},"content":" {{ scripts }}"},{"lineNumber":63,"author":{"gitId":"-"},"content":"{%- endfor %}"},{"lineNumber":64,"author":{"gitId":"-"},"content":"{%- endif %}"},{"lineNumber":65,"author":{"gitId":"-"},"content":"\u003c/html\u003e"}],"authorContributionMap":{"-":64,"yiwen101":1}},{"path":"packages/core/src/Site/siteConvertLayout.njk","fileType":"njk","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003chead-bottom\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003clink rel\u003d\"stylesheet\" href\u003d\"{% raw %}{{baseUrl}}{% endraw %}/stylesheets/main.css\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003c/head-bottom\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cheader sticky\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003cnavbar placement\u003d\"top\" type\u003d\"dark\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"{% raw %}{{baseUrl}}{% endraw %}/index.html\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-solid fa-house\"\u003e\u003c/i\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{% raw %}{{baseUrl}}{% endraw %}/index.html\" class\u003d\"nav-link\"\u003eHOME\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{% raw %}{{baseUrl}}{% endraw %}/about.html\" class\u003d\"nav-link\"\u003eABOUT\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cform class\u003d\"navbar-form\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/form\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003c/navbar\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003c/header\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"flex-body\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003cnav id\u003d\"site-nav\"\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"site-nav-top\"\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"fw-bold mb-2\" style\u003d\"font-size: 1.25rem;\"\u003eContents\u003c/div\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003csite-nav\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":"{{ siteNav }}"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c/site-nav\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003c/nav\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"content-wrapper\"\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003cbreadcrumb /\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" {% raw %}{{ content }}{% endraw %}"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003cnav id\u003d\"page-nav\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cpage-nav /\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003c/nav\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003cscroll-top-button\u003e\u003c/scroll-top-button\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003cfooter\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":"{%- set defaultFooter -%}"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003c!-- Support MarkBind by including a link to us on your landing page! --\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"text-center\"\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003csmall\u003e[Generated by {% raw %}{{MarkBind}}{% endraw %}]\u003c/small\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":"{%- endset -%}"},{"lineNumber":50,"author":{"gitId":"-"},"content":"{{ footer or defaultFooter }}"},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003c/footer\u003e"}],"authorContributionMap":{"jingting1412":1,"-":50}},{"path":"packages/core/src/plugins/web3FormAssets/web-3-form.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"LamJiuFong"},"content":".web-3-form input,"},{"lineNumber":2,"author":{"gitId":"LamJiuFong"},"content":".web-3-form select,"},{"lineNumber":3,"author":{"gitId":"LamJiuFong"},"content":".web-3-form textarea {"},{"lineNumber":4,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding: 12px;"},{"lineNumber":6,"author":{"gitId":"-"},"content":" border: 1px solid #ccc;"},{"lineNumber":7,"author":{"gitId":"-"},"content":" border-radius: 4px;"},{"lineNumber":8,"author":{"gitId":"-"},"content":" box-sizing: border-box;"},{"lineNumber":9,"author":{"gitId":"-"},"content":" margin-top: 6px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":" margin-bottom: 16px;"},{"lineNumber":11,"author":{"gitId":"-"},"content":" resize: vertical;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":3,"-":9}},{"path":"packages/core/template/default/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":109,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":"}"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":120,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":"}"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":127,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":129}},{"path":"packages/core/template/portfolio/404.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" title: Page not found"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" layout: 404.md"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"-\u003e\u003cp style\u003d\"font-size: 10rem\"\u003e404\u003c/p\u003e\u003c-"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"-\u003e\u003cp style\u003d\"font-size: 1.5rem\"\u003eFile not found\u003cbr\u003eClick \u003ca href\u003d\"/\"\u003ehere\u003c/a\u003e to go back to the home page.\u003c/p\u003e\u003c-"}],"authorContributionMap":{"jingting1412":7}},{"path":"packages/core/template/portfolio/_markbind/layouts/404.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cdiv\u003e{{ content }}\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":1}},{"path":"packages/core/template/portfolio/_markbind/layouts/default.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003chead-bottom\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \u003clink rel\u003d\"stylesheet\" href\u003d\"{{baseUrl}}/stylesheets/main.css\"\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003c/head-bottom\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003cheader sticky\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cnavbar type\u003d\"dark\"\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"{{baseUrl}}/index.html\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eYour Name\u003c/a\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#skills\" class\u003d\"nav-link\"\u003eSkills\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#experience\" class\u003d\"nav-link\"\u003eExperience\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003cdropdown header\u003d\"Projects\" class\u003d\"nav-link\"\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#project-1\" class\u003d\"dropdown-item\"\u003eProject 1\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#project-2\" class\u003d\"dropdown-item\"\u003eProject 2\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#other-projects\" class\u003d\"dropdown-item\"\u003eOther projects\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003c/dropdown\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003cform class\u003d\"navbar-form\"\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003c/form\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003c/li\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003c/navbar\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":"\u003c/header\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"flex-body\"\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" \u003cdiv id\u003d\"content-wrapper\"\u003e"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" {{ content }}"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \u003cscroll-top-button\u003e\u003c/scroll-top-button\u003e"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":"\u003cfooter\u003e"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" \u003c!-- Support MarkBind by including a link to us on your landing page! --\u003e"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"text-center\"\u003e"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" \u003csmall\u003e[Generated by {{MarkBind}}]\u003c/small\u003e"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":"\u003c/footer\u003e"}],"authorContributionMap":{"jingting1412":35}},{"path":"packages/core/template/portfolio/_markbind/variables.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"name\"\u003e[NAME]\u003c/variable\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"javascript\"\u003e\u003cthumbnail src\u003d\u0027../contents/assets/JavaScript.svg\u0027 size\u003d\"50\"/\u003e\u003c/variable\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"typescript\"\u003e\u003cthumbnail src\u003d\u0027../contents/assets/Typescript.svg\u0027 size\u003d\"50\"/\u003e\u003c/variable\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"vue\"\u003e\u003cthumbnail src\u003d\u0027../contents/assets/Vue.svg\u0027 size\u003d\"50\"/\u003e\u003c/variable\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"java\"\u003e\u003cthumbnail src\u003d\"../contents/assets/java-icon.svg\" size\u003d\"50\"/\u003e\u003c/variable\u003e"}],"authorContributionMap":{"jingting1412":5}},{"path":"packages/core/template/portfolio/contents/experience.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"# Experience"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cul class\u003d\"nav nav-tabs\" role\u003d\"tablist\"\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" \u003cli class\u003d\"nav-item\" role\u003d\"presentation\"\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \u003ca class\u003d\"nav-link active\" data-bs-toggle\u003d\"tab\" href\u003d\"#NUS\" aria-selected\u003d\"false\" role\u003d\"tab\" tabindex\u003d\"-1\"\u003eNUS\u003c/a\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003c/li\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003cli class\u003d\"nav-item\" role\u003d\"presentation\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003ca class\u003d\"nav-link\" data-bs-toggle\u003d\"tab\" href\u003d\"#another-company\" aria-selected\u003d\"true\" role\u003d\"tab\"\u003eAnother Company\u003c/a\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003c/li\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":"\u003c/ul\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"myTabContent\" class\u003d\"tab-content\" style\u003d\"margin-top:15px;\"\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"tab-pane fade active show\" id\u003d\"NUS\" role\u003d\"tabpanel\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003ch4\u003eSoftware Engineering Intern @ \u003cmd\u003e[NUS](https://nus.edu.sg/)\u003c/md\u003e\u003c/h4\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ch6\u003eMay 2024 - Aug 2024\u003c/h6\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003cp\u003eSome description of your role in the company and the technologies you\u0027ve used.\u003c/p\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"tab-pane fade\" id\u003d\"another-company\" role\u003d\"tabpanel\"\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003ch4\u003eAnother role @ \u003cmd\u003e[Another company](https://markbind.org/)\u003c/md\u003e\u003c/h4\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003ch6\u003eMay 2022 - Aug 2022\u003c/h6\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003cp\u003eSome description of your role in the company and the technologies you\u0027ve used.\u003c/p\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" {{ javascript }}"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":24}},{"path":"packages/core/template/portfolio/contents/project1.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"card mb-3\"\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \u003ch3 class\u003d\"card-header\" id\u003d\"project-1\"\u003eExample project: iP for CS2103\u003c/h3\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" \u003cmd\u003eThis would be a good place to add images and embeds showcasing your contributions to a project. In this case, an `\u003ciframe\u003e` containing the [RepoSense](https://reposense.org/index.html) report of a student\u0027s contributions to their iP is embedded. For more information on embeds, refer to our user guide [here.](https://markbind.org/userGuide/formattingContents.html#embeds)\u003c/md\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cdiv\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003ciframe src\u003d\"https://nus-cs3281.github.io/2024-dashboard/#/widget/?search\u003dReposense\u0026sort\u003dgroupTitle\u0026sortWithin\u003dtitle\u0026timeframe\u003dcommit\u0026mergegroup\u003d\u0026groupSelect\u003dgroupByAuthors\u0026breakdown\u003dfalse\u0026since\u003d2023-12-01\u0026tabOpen\u003dtrue\u0026tabType\u003dauthorship\u0026tabAuthor\u003dasdfghjkxd\u0026tabRepo\u003dreposense%2Freposense%5Bmaster%5D\u0026authorshipIsMergeGroup\u003dfalse\u0026authorshipFileTypes\u003djava~md\u0026authorshipIsBinaryFileTypeChecked\u003dfalse\u0026authorshipIsIgnoredFilesChecked\u003dfalse\u0026chartGroupIndex\u003d5\u0026chartIndex\u003d0\" width\u003d\"100%\"\u003e\u003c/iframe\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration of the project can be added here\u003c/p\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" {{ java }}"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":17}},{"path":"packages/core/template/portfolio/contents/project2.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"card mb-3\"\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \u003ch3 class\u003d\"card-header\" id\u003d\"project-2\"\u003eProject 2\u003c/h3\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" {{javascript}}"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":16}},{"path":"packages/core/template/portfolio/contents/projects.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"# Projects"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"project1.md\"/\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"project2.md\"/\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"### Other projects"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"row row-cols-1 row-cols-md-3 g-3\"\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col\"\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card\"\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003ch4 class\u003d\"card-header\"\u003eProject title\u003c/h4\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" {{javascript}}"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col\"\u003e"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card\"\u003e"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" \u003ch4 class\u003d\"card-header\"\u003eProject title\u003c/h4\u003e"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":" {{ java }}"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col\"\u003e"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card\"\u003e"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" \u003ch4 class\u003d\"card-header\"\u003eProject title\u003c/h4\u003e"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":61}},{"path":"packages/core/template/portfolio/contents/skills.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"# Skills"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cp\u003eThis is where you can give a quick overview of the technologies and frameworks you know using our \u003ca href\u003d\"https://markbind.org/userGuide/components/imagesAndDiagrams.html#thumbnails\" target\u003d\"_blank\"\u003ethumbnail feature\u003c/a\u003e or our \u003ca href\u003d\"https://markbind.org/userGuide/formattingContents.html#icons\" target\u003d\"_blank\"\u003eicons\u003c/a\u003e.\u003c/p\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003cpanel header\u003d\"Example using thumbnails\" expanded\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cbox type\u003d\"info\"\u003eThese thumbnails are available as variables to use anywhere in this page!\u003c/box\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" {{ javascript }}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" {{ typescript }}"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" {{ java }}"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"\u003c/panel\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":"\u003cbr/\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":"\u003cpanel header\u003d\"Example using icons\" expanded\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" Some icons are not available in the libraries that MarkBind supports! Please ensure that "},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" the desired icons are available before choosing this option. For more information regarding"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" icons, please refer to \u003ca href\u003d\"https://markbind.org/userGuide/formattingContents.html#icons\" target\u003d\"_blank\"\u003ethis section of our User Guide.\u003c/a\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003c/box\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-square-js fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-vuejs fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-java fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":"\u003c/panel\u003e"}],"authorContributionMap":{"jingting1412":22}},{"path":"packages/core/template/portfolio/index.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" title: Portfolio"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" layout: default.md"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"\u003cbr\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"bg-light text-black px-2 py-5 mb-4\"\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"container\"\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003ch1 class\u003d\"display-5 no-index\"\u003e\u003cmd\u003e:wave:\u003c/md\u003e Hello!\u003cbr\u003eI\u0027m {{ name }}\u003c/h1\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"lead\"\u003eWelcome to my portfolio!\u003c/p\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv style\u003d\"margin-bottom:20px;\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003cspan style\u003d\"margin-right:10px;\"\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"icon\"\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-github fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003c/a\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003c/span\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003cspan style\u003d\"margin-right:10px;\"\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://www.linkedin.com/school/national-university-of-singapore/\" target\u003d\"_blank\" class\u003d\"icon\"\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-linkedin fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003c/a\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" \u003c/span\u003e"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \u003cspan style\u003d\"margin-right:10px;\"\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"mailto:secretary_cs@comp.nus.edu.sg\" target\u003d\"_blank\" class\u003d\"icon\"\u003e"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-solid fa-envelope fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \u003c/a\u003e"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \u003c/span\u003e"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" \u003ca class\u003d\"btn btn-primary\" href\u003d\"./contents/assets/UG-template-resume.pdf\" target\u003d\"_blank\" rel\u003d\"noopener noreferrer\"\u003eResume\u003c/a\u003e"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" Want to change the theme? Explore more themes and other components offered by MarkBind in our \u003ca href\u003d\"https://markbind.org/userGuide/authoringContents.html\" target\u003d\"_blank\"\u003euser guide here\u003c/a\u003e."},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"info\" header\u003d\"##### Deploying this site\"\u003e"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" \u003cmd\u003eMarkBind makes it easy to deploy this site to GitHub Pages using the `markbind deploy` command. To allow `http://[username].github.io` to go straight to this portfolio, it is best to set your repository name as `[username].github.io` Read more about [deploying the site here](https://markbind.org/userGuide/deployingTheSite.html#deploying-to-github-pages)\u003c/md\u003e"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":"## About me"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"container text-left\"\u003e"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"row\" \u003e"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col-md-3 col-md-push-9\"\u003e"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" \u003cimg src\u003d\u0027./contents/assets/default_profile_pic.png\u0027 class\u003d\"img-fluid\" alt\u003d\u0027default-profile-pic\u0027/\u003e"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col-md-9 col-md-pull-3\"\u003e"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" This is where you can add a picture of yourself and a brief introduction. This can be a good place to use \u003ctooltip content\u003d\"Add more information here\" placement\u003d\"top\"\u003etooltips\u003c/tooltip\u003e, or \u003cmd\u003e[add relevant links](https://markbind.org/userGuide/formattingContents.html#links).\u003c/md\u003e"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"contents/skills.md\"/\u003e"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"contents/experience.md\"/\u003e"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"contents/projects.md\"/\u003e"},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":""}],"authorContributionMap":{"jingting1412":70}},{"path":"packages/core/template/portfolio/site.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"{"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \"baseUrl\": \"\","},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" \"titlePrefix\": \"\","},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" \"titleSuffix\": \"\","},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \"ignore\": ["},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \"_markbind/layouts/*\","},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \"_markbind/logs/*\","},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \"_site/*\","},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \"site.json\","},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \"*.md\","},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \"*.njk\","},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \".git/*\","},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \".gitignore\","},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \"node_modules/*\""},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" ],"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \"pagesExclude\": [\"node_modules/*\"],"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \"pages\": ["},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" {"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \"src\": \"index.md\","},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \"title\": \"Portfolio\""},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" },"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" {"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \"glob\": [\"**/index.md\"]"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" ],"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \"deploy\": {"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \"message\": \"Site Update.\""},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" },"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" \"style\": {"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" \"bootstrapTheme\": \"bootswatch-flatly\""},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":32}},{"path":"packages/core/template/portfolio/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"jingting1412"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"jingting1412"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"jingting1412"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":75,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":76,"author":{"gitId":"jingting1412"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"jingting1412"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"jingting1412"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"jingting1412"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":81,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":82,"author":{"gitId":"jingting1412"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"jingting1412"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"jingting1412"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":86,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":87,"author":{"gitId":"jingting1412"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"jingting1412"},"content":" overflow-y: auto;"},{"lineNumber":89,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":90,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":91,"author":{"gitId":"jingting1412"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"jingting1412"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":94,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":95,"author":{"gitId":"jingting1412"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"jingting1412"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":99,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":100,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":101,"author":{"gitId":"jingting1412"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"jingting1412"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"jingting1412"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":106,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":107,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":108,"author":{"gitId":"jingting1412"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":109,"author":{"gitId":"jingting1412"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":110,"author":{"gitId":"jingting1412"},"content":" .indented {"},{"lineNumber":111,"author":{"gitId":"jingting1412"},"content":" padding-left: 10px;"},{"lineNumber":112,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":113,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":114,"author":{"gitId":"jingting1412"},"content":" #content-wrapper {"},{"lineNumber":115,"author":{"gitId":"jingting1412"},"content":" padding: 0 10px;"},{"lineNumber":116,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":117,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":118,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":119,"author":{"gitId":"jingting1412"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":120,"author":{"gitId":"jingting1412"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":121,"author":{"gitId":"jingting1412"},"content":" #site-nav {"},{"lineNumber":122,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":123,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":124,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":125,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":126,"author":{"gitId":"jingting1412"},"content":"/* Hide site navigation when printing */"},{"lineNumber":127,"author":{"gitId":"jingting1412"},"content":"@media print {"},{"lineNumber":128,"author":{"gitId":"jingting1412"},"content":" #site-nav {"},{"lineNumber":129,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":130,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":131,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":132,"author":{"gitId":"jingting1412"},"content":" #page-nav {"},{"lineNumber":133,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":134,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":135,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":135}},{"path":"packages/core/template/project/_markbind/layouts/default.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"\u003chead-bottom\u003e"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" \u003clink rel\u003d\"stylesheet\" href\u003d\"{{baseUrl}}/stylesheets/main.css\"\u003e"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":"\u003c/head-bottom\u003e"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"\u003cheader sticky\u003e"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" \u003cnavbar type\u003d\"dark\"\u003e"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"{{baseUrl}}/index.html\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eProjectEx\u003c/a\u003e"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" \u003cli\u003e\u003ca highlight-on\u003d\"sibling-or-child\" href\u003d\"{{baseUrl}}/userGuide/UserGuide.html\" class\u003d\"nav-link\"\u003eUser Guide\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" \u003cli\u003e\u003ca highlight-on\u003d\"sibling-or-child\" href\u003d\"{{baseUrl}}/developerGuide/DeveloperGuide.html\" class\u003d\"nav-link\"\u003eDeveloper Guide\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" \u003cli\u003e\u003ca highlight-on\u003d\"sibling-or-child\" href\u003d\"{{baseUrl}}/team/AboutUs.html\" class\u003d\"nav-link\"\u003eAbout Us\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" \u003cli\u003e\u003ca href\u003d\"https://github.com/se-edu\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003e\u003cmd\u003e:fab-github:\u003c/md\u003e\u003c/a\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" \u003c/li\u003e"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" \u003cform class\u003d\"navbar-form\"\u003e"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" \u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" \u003c/form\u003e"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" \u003c/li\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" \u003c/navbar\u003e"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"\u003c/header\u003e"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"\u003cdiv id\u003d\"flex-body\"\u003e"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" \u003cnav id\u003d\"site-nav\"\u003e"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" \u003csite-nav\u003e"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"* [Home]({{ baseUrl }}/index.html)"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"* [User Guide]({{ baseUrl }}/userGuide/UserGuide.html) :expanded:"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" * [Quick Start]({{ baseUrl }}/userGuide/QuickStart.html)"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" * [Features]({{ baseUrl }}/userGuide/Features.html)"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" * [FAQ]({{ baseUrl }}/userGuide/FAQ.html)"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"* [Developer Guide]({{ baseUrl }}/developerGuide/DeveloperGuide.html) :expanded:"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":" * [Setting Up]({{ baseUrl }}/developerGuide/SettingUp.html)"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":" * [Tutorial: Tracing code]({{ baseUrl }}/developerGuide/TracingCode.html)"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" * [Design]({{ baseUrl }}/developerGuide/Design.html)"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" * [Implementation]({{ baseUrl }}/developerGuide/Implementation.html)"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" * Project Guides"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" * [Documentation]({{ baseUrl }}/developerGuide/Documentation.html)"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" * [Testing]({{ baseUrl }}/developerGuide/Testing.html)"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" * [Configuration]({{ baseUrl }}/developerGuide/Configuration.html)"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" * [DevOps]({{ baseUrl }}/developerGuide/DevOps.html)"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" * Appendix"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" * [Requirements]({{ baseUrl }}/developerGuide/Requirements.html)"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"* [About Us]({{ baseUrl }}/team/AboutUs.html) :expanded:"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" * [Contributor Portfolio Template]({{ baseUrl }}/team/johndoe.html)"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" \u003c/site-nav\u003e"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" \u003c/div\u003e"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":" \u003c/nav\u003e"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":" \u003cdiv id\u003d\"content-wrapper\"\u003e"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":" {{ content }}"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":" \u003cnav id\u003d\"page-nav\"\u003e"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":" \u003cpage-nav /\u003e"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":" \u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":" \u003c/nav\u003e"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":" \u003cscroll-top-button\u003e\u003c/scroll-top-button\u003e"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":"\u003c/div\u003e"},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":"\u003cfooter\u003e"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Support MarkBind by including a link to us on your landing page! --\u003e"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":" \u003cdiv class\u003d\"text-center\"\u003e"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" \u003csmall\u003e[\u003cmd\u003e**Powered by**\u003c/md\u003e \u003cimg src\u003d\"https://markbind.org/favicon.ico\" width\u003d\"30\"\u003e {{MarkBind}}]\u003c/small\u003e"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":" \u003c/div\u003e"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":"\u003c/footer\u003e"}],"authorContributionMap":{"KevinEyo1":63}},{"path":"packages/core/template/project/_markbind/variables.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"\u003cvariable name\u003d\"example\"\u003e"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"To inject this HTML segment in your markbind files, use {{ example }} where you want to place it."},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":"More generally, surround the segment\u0027s id with double curly braces."},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"\u003c/variable\u003e"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"\u003cvariable name\u003d\"placeholderImage\"\u003e"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"\u003cimg src\u003d\"../images/johndoe.png\" width\u003d\"200px\"\u003e"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"\u003c/variable\u003e"}],"authorContributionMap":{"KevinEyo1":8}},{"path":"packages/core/template/project/developerGuide/Configuration.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Configuration guide\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"# Configuration guide"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"This page can be used to understand how to configure the application such as descriptions of the config file and how to change the configuration."},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"Certain properties of the application can be controlled (e.g user preferences file location, logging level) through the configuration file (default: `config.json`)."}],"authorContributionMap":{"KevinEyo1":12}},{"path":"packages/core/template/project/developerGuide/Design.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Design\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Design"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This section describes the architecture of your app, explaining how the main components work and interact with each other. Using architecture diagrams is recommended."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"### Architecture"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"The ***Architecture Diagram*** given below explains the high-level design of the ProjectEx App."},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"\u003cpuml src\u003d\"../diagrams/example.puml\" width\u003d300 /\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"Replace the above example diagram with an Architecture Diagram of your project created using [`puml` feature](https://markbind.org/userGuide/components/imagesAndDiagrams.html#diagrams)."},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"Given below is a quick overview of main components and how they interact with each other."},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"**Main components of the architecture**"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"The bulk of the app\u0027s work is done by the following components:"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"* [**`Component 1`**](#component-1): Does something."},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"* [**`Component 2`**](#component-2): Does something."},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"**Interactions between architecture components**"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"The *Sequence Diagram* below shows how the components interact with each other for a certain scenario."},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"\u003cannotate src\u003d\"../images/johndoe.png\" width\u003d\"300\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Minimal Point --\u003e"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"25%\" content\u003d\"This point is 25% from the left and 25% from the top\" /\u003e"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Customize Point Size (default size is 40px) --\u003e"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"25%\" content\u003d\"This point is 50% from the left and 25% from the top\" size\u003d\"60\"/\u003e"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Customize Point Header (default is empty) --\u003e"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"25%\" content\u003d\"This point is 75% from the left and 25% from the top\" header\u003d\"This has a header\"/\u003e"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Customize Point Color (default color is green) --\u003e"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"33%\" y\u003d\"50%\" content\u003d\"This point is 33% from the left and 50% from the top\" color\u003d\"red\"/\u003e"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Customize Point Opacity (default opacity is 0.3) --\u003e"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"66%\" y\u003d\"50%\" content\u003d\"This point is 66% from the left and 50% from the top\" opacity\u003d\"0.7\"/\u003e"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Customize Point Label (default is empty) --\u003e"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"75%\" content\u003d\"This point is 25% from the left and 75% from the top\" label\u003d\"1\"/\u003e"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Customize Text Color (default color is black) --\u003e"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"75%\" content\u003d\"This point is 50% from the left and 75% from the top\" textColor\u003d\"white\" color\u003d\"black\" label\u003d\"2\" opacity\u003d\"1\"/\u003e"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Customize Font Size (default font size is 14) --\u003e"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"75%\" content\u003d\"This point is 75% from the left and 75% from the top\" fontSize\u003d\"30\" label\u003d\"3\"/\u003e"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":"\u003c/annotate\u003e"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":"For diagrams like your Sequence Diagram, it can also be created using [`annotate` feature](https://markbind.org/userGuide/components/imagesAndDiagrams.html#annotations), that will allow you to annotate specific parts of your diagram."},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":"The sections below give more details of each component."},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":"**Tip:** Describe in each section how each component works in detail, including its classes, methods, and how it interacts with other components."},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"You can use a combination of Markbind\u0027s [**Diagrams** feature](https://markbind.org/userGuide/components/imagesAndDiagrams.html#diagrams) to provide a visual representation of each component, such as architecture and sequence diagrams."},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":"### Component 1"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":"Component 1 is made up of parts e.g.`A`, `B`, `C` etc."},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":72,"author":{"gitId":"KevinEyo1"},"content":"\u003cpic src\u003d\"../images/johndoe.png\" width\u003d\"200px\" style\u003d\"margin-bottom: 20px;\"\u003e"},{"lineNumber":73,"author":{"gitId":"KevinEyo1"},"content":"Diagram: Component 1"},{"lineNumber":74,"author":{"gitId":"KevinEyo1"},"content":"\u003c/pic\u003e"},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":76,"author":{"gitId":"KevinEyo1"},"content":"Component 1,"},{"lineNumber":77,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":"* works with Component 2 in this way."},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":80,"author":{"gitId":"KevinEyo1"},"content":"### Component 2"},{"lineNumber":81,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":82,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":83,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":84,"author":{"gitId":"KevinEyo1"},"content":"**Note:** You can use boxes to include details that you want to draw the reader\u0027s attention to. See [`Boxes` feature](https://markbind.org/userGuide/components/presentation.html#boxes)."},{"lineNumber":85,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":86,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":87,"author":{"gitId":"KevinEyo1"},"content":"\u003cpic src\u003d\"../images/johndoe.png\" width\u003d\"200px\" style\u003d\"margin-bottom: 20px;\"\u003e"},{"lineNumber":88,"author":{"gitId":"KevinEyo1"},"content":"Diagram: Component 2"},{"lineNumber":89,"author":{"gitId":"KevinEyo1"},"content":"\u003c/pic\u003e"},{"lineNumber":90,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":91,"author":{"gitId":"KevinEyo1"},"content":"Component 2,"},{"lineNumber":92,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":93,"author":{"gitId":"KevinEyo1"},"content":"* works with Component 1 in this way."}],"authorContributionMap":{"KevinEyo1":93}},{"path":"packages/core/template/project/developerGuide/DevOps.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"DevOps guide\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# DevOps guide"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This page can be used to understand the DevOps practices adopted by the project."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"## Build automation"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"This example project includes features for **build automation and dependency management**. You can walkthrough command scripts you have in your project, such as how to clean, test, and run the project."},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**Example Commands for Typical Projects**\"\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"The following commands are examples. You can customize them according to your project\u0027s needs."},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":"* **`clean`**: Deletes the files created during the previous build tasks.\u003cbr\u003e"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" e.g. `npm run clean`"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"* **`run`**: Builds and runs the application.\u003cbr\u003e"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"* **`test`**: Runs all tests."},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" * `npm run test` — Runs all tests"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" * `npm run cleantest` — Cleans the project and runs tests"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"\u003cbr\u003e"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"## Continuous integration (CI)"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"This project uses [GitHub Actions](https://github.com/features/actions) for CI. The project comes with the necessary GitHub Actions configurations files (in the `.github/workflows` folder). No further setting up required."},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"### Code coverage"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":"As part of CI, this project tracks code coverage as well."},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"### Repository-wide checks"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"Your CI can include some repository-wide checks. These repository-wide checks cover all files in the repository. They check for repository rules which are hard to enforce on development machines such as line ending requirements."},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":"--------------------------------------------------------------------------------------------------------------------"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":"## Making a release"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"Here are the steps to create a new release."},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":"Make sure you have the necessary permissions to create a release."},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":"\u003cpopover id\u003d\"pop:trigger_id\" content\u003d\"e.g. `v0.1`\"\u003e\u003c/popover\u003e"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":"1. Update the version number."},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":"1. Tag the repo with the \u003ctrigger for\u003d\"pop:trigger_id\"\u003eversion number\u003c/trigger\u003e. "},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":"1. [Create a new release using GitHub](https://help.github.com/articles/creating-releases/)."}],"authorContributionMap":{"KevinEyo1":59}},{"path":"packages/core/template/project/developerGuide/DeveloperGuide.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Developer Guide\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# ProjectEx Developer Guide"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"--------------------------------------------------------------------------------------------------------------------"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"## Introduction"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"Welcome to the Developer Guide. This guide helps developers understand the architecture, setup, and development workflows of our software, serving as your starting point and companion."},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"## Purpose of this Guide"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"The main objectives of this guide are to:"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"1. Orient new developers to the software\u0027s architecture and codebase structure."},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"1. Provide a comprehensive reference for the development practices, coding standards, and tools used."},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"1. Detail the setup process for a development environment."},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"## **Acknowledgements**"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"_{ List and link sources of all reused/adapted ideas, code, documentation, and third-party libraries }_"}],"authorContributionMap":{"KevinEyo1":26}},{"path":"packages/core/template/project/developerGuide/Documentation.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Documentation guide\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Documentation Guide"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This page can be used to understand the documentation practices and link to relevant sources to help developers contribute to documentation."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"* We use [**MarkBind**](https://markbind.org/) to manage documentation."},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"* The `docs/` folder contains the source files for the documentation website."},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"* To learn how set it up and maintain the project website, follow the guide [[se-edu/guides] Working with Forked MarkBind sites](https://se-education.org/guides/tutorials/markbind-forked-sites.html) for project documentation."},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"success\" seamless\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"Updating documentation as changes are made to the project is ideal for any project."},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"**Style guidance:**"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"* Follow the [**_Google developer documentation style guide_**](https://developers.google.com/style)."},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"* Also relevant is the [_se-edu/guides **Markdown coding standard**_](https://se-education.org/guides/conventions/markdown.html)."},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"**Converting to PDF**"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"* See the guide [_se-edu/guides **Saving web documents as PDF files**_](https://se-education.org/guides/tutorials/savingPdf.html)."}],"authorContributionMap":{"KevinEyo1":29}},{"path":"packages/core/template/project/developerGuide/Implementation.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Implementation\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Implementation"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This section can be used to describe some noteworthy details on how certain features are implemented."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"### \\[Proposed\\] FeatureX Implementation"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"Given below is an example usage scenario and how FeatureX behaves at each step."},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"1. **Step 1**: User does something"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" * **Expected**: FeatureX does something in response"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"1. **Step 2**: User does something else"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" "},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" * **Expected**: FeatureX does something else in response"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"#### Design considerations:"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"**Aspect: How FeatureX executes:**"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**Alternative 1 (current choice):** Implementation 1\"\u003e"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"Pros: Easy to implement.\u003cbr\u003e"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"Cons: May have performance issues in terms of memory usage."},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"\u003cbr\u003e"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**Alternative 2:** Implementation 2\"\u003e"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"Pros: Will use less memory.\u003cbr\u003e"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"Cons: We must add addtional test cases."},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"\u003cbr\u003e"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":"_{ More aspects and alternatives to be added }_"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"### \\[Proposed\\] Data archiving"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"_{ Explain here how the data archiving feature will be implemented }_"}],"authorContributionMap":{"KevinEyo1":44}},{"path":"packages/core/template/project/developerGuide/Requirements.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Requirements\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Requirements"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This section can be used to describe the requirements of the app, through the use of user stories, use cases."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"### Product scope"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"**Target user profile**:"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"* user needs"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"* user preferences"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"* user information"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"**Value proposition**: Benefit compared to other similar products"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"**Non-Functional Requirements**:"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"* OS requirements"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"* Peformance"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"* Security"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"### User stories"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*`"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"| Priority | As a …​ | I want to …​ | So that I can…​ |"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"|----------|--------------------------------|----------------|---------------------|"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"| `* * *` | new user | see something | visualise something |"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"| `* *` | user | do something | complete something |"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":"| `*` | user with specific information | sort something | find something |"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"*{More to be added}*"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"### Use cases"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":"(For all use cases below, the **System** is the `ProjectEx` and the **Actor** is the `User`, unless specified otherwise)"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**Use case 1: Do something**\"\u003e"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":" "},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":"**MSS**"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":"1. User requests ProjectEx"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"1. ProjectEx provides response"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":" Use case ends."},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"**Extensions**"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":"* 2a. Requests fails."},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":" Use case ends."},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":"* 2b. User request is invalid."},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":" * 2b1. ProjectEx shows an error message."},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":" Use case resumes at step 2."},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":"\u003cbr\u003e"},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":"*{More to be added}*"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":"### Non-Functional Requirements"},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":72,"author":{"gitId":"KevinEyo1"},"content":"1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed."},{"lineNumber":73,"author":{"gitId":"KevinEyo1"},"content":"2. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage."},{"lineNumber":74,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":"*{More to be added}*"}],"authorContributionMap":{"KevinEyo1":75}},{"path":"packages/core/template/project/developerGuide/SettingUp.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Setting up and getting started\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Setting up and getting started"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"--------------------------------------------------------------------------------------------------------------------"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"This page can be used to help developers with setting up the project in their local environment."},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"## Setting up the project in your computer"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"**Caution:**"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"Follow the steps in the following guide precisely. Things will not work out if you deviate in some steps."},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"First, **fork** the project repo, and **clone** the fork into your computer."},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"\u003cpopover id\u003d\"pop:trigger_id\" content\u003d\"eg. `init` or `build` commands\"\u003e\u003c/popover\u003e"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"(Example) Steps to setup the project environment:"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"1. **Download packages**: Run `npm install` to download the required packages."},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":"1. **Run setup commands**: Run \u003ctrigger for\u003d\"pop:trigger_id\"\u003ecommands\u003c/trigger\u003e needed to setup the project."},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" \u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" Note: Remember to run commands from the appropriate directory."},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":" \u003c/box\u003e"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"1. **Configure files**: Edit config files according to your needs. For example, changing the `appTitle` in `config.js` to match your project name."},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"1. **Verify the setup (optional)**:"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" 1. Run the `build` and `serve` commands, ensuring that the site properly deploys on your local host."},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" 1. [Run the tests](Testing.md) to ensure they all pass."},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":"--------------------------------------------------------------------------------------------------------------------"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"## Before writing code"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"1. **Configure the coding style**"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" Configure your VSCode or IDEA checkstyle to allign with the project\u0027s coding style."},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" \u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":" **Tip:**"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":" You can easily customize your IDE\u0027s coding style through settings."},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" \u003c/box\u003e"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":"1. **Set up CI**"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":" This project comes with a GitHub Actions config files (in `.github/workflows` folder). When GitHub detects those files, it will run the CI for your project automatically at each push to the `master` branch or to any PR. No set up required."},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":"1. **Learn the design**"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":" When you are ready to start coding, we recommend that you get some sense of the overall design by reading about [ProjectEx’s architecture](Design.md#Architecture)."},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":"1. **Do the tutorial**"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" The [Tracing Code tutorial](TracingCode.md) can help you get acquainted with the codebase."},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":63}},{"path":"packages/core/template/project/developerGuide/Testing.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Testing guide\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Testing guide"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This page can be used to understand the testing processes."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"## Running tests"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"* **Method 1: Using script**"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" * Create script for running tests in package.json"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" * Open a console and run the command for the script, like `npm run test`"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"--------------------------------------------------------------------------------------------------------------------"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"## Types of tests"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"This project has two types of tests:"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**1. Unit tests**\"\u003e"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"These tests target the lowest level methods/classes.\u003cbr\u003e"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":"Example command (replace with your own): `npm run test`"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"\u003cbr\u003e"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**2. Integration tests**\"\u003e"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"These tests are checking the integration of multiple code units (those code units are assumed to be working)."},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"}],"authorContributionMap":{"KevinEyo1":33}},{"path":"packages/core/template/project/developerGuide/TracingCode.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Tutorial: Tracing code\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Tutorial: Tracing code"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"\u003e Indeed, the ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code. …​\\[Therefore,\\] making it easy to read makes it easier to write."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"\u003e — Robert C. Martin Clean Code: A Handbook of Agile Software Craftsmanship"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"This page can be taken as a reference on a tutorial on how to trace the execution path of a user command through the codebase of the App."},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"To understand an unfamiliar codebase, one strategy is to trace some representative execution path through the codebase using a debugger."},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":"## Before we start"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"Before we jump into the code, it is useful to get an idea of the overall structure and the high-level behavior of the application."},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":"Architecture diagrams can be easily utilised with the [`puml`](https://markbind.org/userGuide/components/imagesAndDiagrams.html#diagrams) tag. The `src` attribute specifies the path to the PlantUML file."},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"\u003cpuml src\u003d\"../diagrams/example.puml\" width\u003d300 /\u003e"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"Before we proceed, ensure that you have done the following:"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"1. Read the [*Architecture* section of the DG](Design.html#architecture)"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"1. Set up the project in your preferred IDE"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":"## Setting a breakpoint"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"As you know, the first step of debugging is to put in a breakpoint where you want the debugger to pause the execution."},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":"**Tip:** You can use a combination of Markbind\u0027s [**Images and Diagrams** features](https://markbind.org/userGuide/components/imagesAndDiagrams.html) such as `puml` and `pic` tags to provide a visual representation of the steps to be taken. [**Code blocks**](https://markbind.org/userGuide/formattingContents.html#code) can also be used as shown below."},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":"```java"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":"public interface Example {"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" /**"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":" * Executes returns the output."},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":" * @param exampleInput The input as entered by the user."},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":" * @return The example output."},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":" * @throws ExampleException If an error occurs."},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":" */"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":" ExampleOutput execute(String exampleInput) throws ExampleException;"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":"..."},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":"```"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":"## Tracing the execution path"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":"**Tip:** You can use a list of steps to guide the reader through the process of tracing the execution path. This can be done using Markbind\u0027s [**Lists** feature](https://markbind.org/userGuide/formattingContents.html#lists)."},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":"1. Firstly, do this."},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":"1. Next, do that."},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":"1. Finally, do this."}],"authorContributionMap":{"KevinEyo1":71}},{"path":"packages/core/template/project/index.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"# ProjectEx"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"[![CI Status](https://github.com/MarkBind/markbind/workflows/CI/badge.svg)](https://github.com/MarkBind/markbind/actions)"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"[![codecov](https://codecov.io/gh/MarkBind/markbind/branch/master/graph/badge.svg)](https://codecov.io/gh/MarkBind/markbind)"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003cpic src\u003d\"images/SeEduLogo.png\" width\u003d\"200px\" style\u003d\"margin-bottom: 20px;\"\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"Project Onboarding Screen"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"\u003c/pic\u003e"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"**ProjectEx is an example project application used for showcasing a default MarkBind template specifically for project documentation.** "},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"Take this template as a _starting point_ for your project documentation, taking reference of what would be in a typical project documentation site, replacing the content with your own."},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":"* If you are interested in using ProjectEx, head over to the [_Quick Start_ section of the **User Guide**](userGuide/QuickStart.html)."},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"* If you are interested about contributing to developing ProjectEx, the [**Developer Guide**](developerGuide/DeveloperGuide.html) is a good place to start."},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"**Acknowledgements**"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":"Remember to replace the following with your own acknowledgements."},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"* Libraries used: [JavaFX](https://openjfx.io/), [Jackson](https://github.com/FasterXML/jackson), [JUnit5](https://github.com/junit-team/junit5)"}],"authorContributionMap":{"KevinEyo1":31}},{"path":"packages/core/template/project/site.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"{"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" \"baseUrl\": \"\","},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" \"titlePrefix\": \"\","},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" \"titleSuffix\": \"ProjectEx\","},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" \"faviconPath\": \"images/SeEduLogo.png\","},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" \"style\": {"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":" \"codeTheme\": \"light\""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" \"ignore\": ["},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" \"_markbind/layouts/*\","},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" \"_markbind/logs/*\","},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" \"_site/*\","},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" \"site.json\","},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" \"*.md\","},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" \"*.njk\","},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" \".git/*\","},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" \"node_modules/*\""},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" ],"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" \"pagesExclude\": [\"node_modules/*\"],"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" \"pages\": ["},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" \"glob\": [\"**/index.md\", \"**/*.md\"]"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" ],"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":" \"deploy\": {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":" \"message\": \"Site Update.\""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" \"timeZone\": \"Asia/Singapore\""},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":29}},{"path":"packages/core/template/project/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"KevinEyo1"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"KevinEyo1"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":76,"author":{"gitId":"KevinEyo1"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"KevinEyo1"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":81,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":82,"author":{"gitId":"KevinEyo1"},"content":".nav-component {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":84,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":85,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":86,"author":{"gitId":"KevinEyo1"},"content":"#page-nav {"},{"lineNumber":87,"author":{"gitId":"KevinEyo1"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":88,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":89,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":90,"author":{"gitId":"KevinEyo1"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":91,"author":{"gitId":"KevinEyo1"},"content":" #page-nav {"},{"lineNumber":92,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":93,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":94,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":95,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":96,"author":{"gitId":"KevinEyo1"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":97,"author":{"gitId":"KevinEyo1"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":98,"author":{"gitId":"KevinEyo1"},"content":" #site-nav {"},{"lineNumber":99,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":100,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":101,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":102,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":103,"author":{"gitId":"KevinEyo1"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":104,"author":{"gitId":"KevinEyo1"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":105,"author":{"gitId":"KevinEyo1"},"content":" .indented {"},{"lineNumber":106,"author":{"gitId":"KevinEyo1"},"content":" padding-left: 10px;"},{"lineNumber":107,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":108,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":109,"author":{"gitId":"KevinEyo1"},"content":" #content-wrapper {"},{"lineNumber":110,"author":{"gitId":"KevinEyo1"},"content":" padding: 0 10px;"},{"lineNumber":111,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":112,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":113,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":114,"author":{"gitId":"KevinEyo1"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":115,"author":{"gitId":"KevinEyo1"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":116,"author":{"gitId":"KevinEyo1"},"content":" #site-nav {"},{"lineNumber":117,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":118,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":119,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":120,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":121,"author":{"gitId":"KevinEyo1"},"content":"/* Hide site navigation when printing */"},{"lineNumber":122,"author":{"gitId":"KevinEyo1"},"content":"@media print {"},{"lineNumber":123,"author":{"gitId":"KevinEyo1"},"content":" #site-nav {"},{"lineNumber":124,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":125,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":126,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":127,"author":{"gitId":"KevinEyo1"},"content":" #page-nav {"},{"lineNumber":128,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":129,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":130,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":131,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":132,"author":{"gitId":"KevinEyo1"},"content":"h2,"},{"lineNumber":133,"author":{"gitId":"KevinEyo1"},"content":"h3,"},{"lineNumber":134,"author":{"gitId":"KevinEyo1"},"content":"h4,"},{"lineNumber":135,"author":{"gitId":"KevinEyo1"},"content":"h5,"},{"lineNumber":136,"author":{"gitId":"KevinEyo1"},"content":"h6 {"},{"lineNumber":137,"author":{"gitId":"KevinEyo1"},"content":" color: #e46c0a;"},{"lineNumber":138,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":137,"-":1}},{"path":"packages/core/template/project/team/AboutUs.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"About Us\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"# About Us"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"This section describes the contributors of your app."},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"We are a team based in [Organisation A](#project-team)."},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"You can reach us at the email `organisationa@gmail.sg`"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"## Project team"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"### John Doe"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":"This img uses the `placeholderImage` defined in the `_markbind/variables.md` file."},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"{{ placeholderImage }}"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"[[homepage](http://www.comp.nus.edu.sg/~damithch)]"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":"[[github](https://github.com/johndoe)]"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"[[contributions](johndoe.md)]"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"* Role: Project Advisor"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"### Jane Doe"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"{{ placeholderImage }}"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":"[[github](http://github.com/johndoe)]"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"[[contributions](johndoe.md)]"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":"* Role: Team Lead"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"* Responsibilities: UI"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":"### Johnny Doe"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":"{{ placeholderImage }}"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":"[[github](http://github.com/johndoe)]"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":"[[contributions](johndoe.md)]"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"* Role: Developer"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":"* Responsibilities: Data"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":"### Jean Doe"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":"{{ placeholderImage }}"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":"[[github](http://github.com/johndoe)]"},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":"[[contributions](johndoe.md)]"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":"* Role: Developer"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":"* Responsibilities: Dev Ops + Threading"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":"### James Doe"},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"{{ placeholderImage }}"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":"[[github](http://github.com/johndoe)]"},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":"[[contributions](johndoe.md)]"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":"* Role: Developer"},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":"* Responsibilities: UI"}],"authorContributionMap":{"KevinEyo1":71}},{"path":"packages/core/template/project/team/johndoe.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Portfolio Page\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"### Project: ProjectEx"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"ProjectEx is an example project application used for showcasing a default MarkBind template specifically for project documentation. It can be taken as a reference for users to base their own MarkBind sites off of."},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" Content can be easily be replaced by the user\u0027s project information and context."},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"Given below are my contributions to the project."},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"* **New Feature**: Feature X"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" * What it does: This feature does a thing"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" * Justification: This feature is important because..."},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" * Highlights:"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" * Point 1"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" * Point 2"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" * Credits: *{mention here for reused code/ideas or use of a third-party library}*"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"* **Code contributed**: [Github Repo]()"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"* **Project management**:"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" * Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"* **Enhancements to existing features**:"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" * Wrote additional tests, increasing coverage to 92% (Pull requests [\\#36](), [\\#38]())"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"* **Documentation**:"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" * User Guide:"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" * Added documentation for feature [\\#72]()"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" * Developer Guide:"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" * Added implementation details of feature."},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"* **Community**:"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" * PRs reviewed (with non-trivial review comments): [\\#12](), [\\#32](), [\\#19](), [\\#42]()"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" * Contributed to forum discussions (examples: [1](), [2](), [3](), [4]())"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"* **Tools**:"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" * Integrated a third party library (Natty) to the project ([\\#42]())"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":"* _{ You can add/remove categories in the list above }_"}],"authorContributionMap":{"KevinEyo1":45}},{"path":"packages/core/template/project/userGuide/FAQ.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"FAQ\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# FAQ"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This section answers common questions about the app or specific features."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**Question:** How do I learn to use this project?\"\u003e"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"**Answer:** Refer to the [User Guide](../userGuide/UserGuide.md)."},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"\u003cbr\u003e"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**Question:** How do I contribute to this project?\"\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"**Answer:** Refer to the [Developer Guide](../developerGuide/DeveloperGuide.md)."},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"}],"authorContributionMap":{"KevinEyo1":20}},{"path":"packages/core/template/project/userGuide/Features.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Features\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Features"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"**Notes about the app usage**\u003cbr\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"* General information about the app\u0027s features."},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"* General tips about how to use the app efficiently."},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"* Warnings that may lead to issues and how to avoid them."},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"### FeatureX"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":"Description of feature."},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"A visual representation of the feature can be shown here."},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":"* List of primary information about the feature"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"* How to use the feature"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"* How the feature works"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"* Limitations of feature"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"**Caution:**"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"Things to avoid when using the feature."},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"### Y Feature"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"Description of feature."},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"Feature Examples\"\u003e"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"Examples of how to use the feature."},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":"**Tip:** Secondary information about feature usage."},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":"### Future Feature Z `[coming in v2.0]`"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"_Details coming soon ..._"}],"authorContributionMap":{"KevinEyo1":54}},{"path":"packages/core/template/project/userGuide/QuickStart.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Quick Start\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Quick start"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This section can be used to help users get started with the application quickly."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"1. Ensure you have Java `11` and Node.js `v16` and above installed in your Computer."},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"1. Open a command terminal and run necessary setup commands like `npm run setup`."},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"1. Refer to the [Features](Features.html) section for details of the app\u0027s features."}],"authorContributionMap":{"KevinEyo1":17}},{"path":"packages/core/template/project/userGuide/UserGuide.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"User Guide\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# ProjectEx User Guide"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"--------------------------------------------------------------------------------------------------------------------"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"ProjectEx is an example project application used for showcasing a default MarkBind template specifically for project documentation. It can be taken as a reference for users to base their own MarkBind sites off of."},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"## Introduction"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"Welcome to the User Guide. This comprehensive resource is designed to assist you in navigating and utilizing our software to its fullest potential."},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"## Purpose of this Guide"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"This guide aims to:"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"1. Equip users with the necessary knowledge."},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"1. Offer step-by-step instructions for common tasks and operations."},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":"1. Provide tips and tricks to streamline the user experience."}],"authorContributionMap":{"KevinEyo1":22}},{"path":"packages/vue-components/src/Box.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":3,"author":{"gitId":"-"},"content":" :class\u003d\"["},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u0027alert box-container\u0027,"},{"lineNumber":5,"author":{"gitId":"-"},"content":" containerStyle(),"},{"lineNumber":6,"author":{"gitId":"-"},"content":" addClass,"},{"lineNumber":7,"author":{"gitId":"-"},"content":" { \u0027d-flex\u0027: seamlessHeaderBool() },"},{"lineNumber":8,"author":{"gitId":"-"},"content":" ]\""},{"lineNumber":9,"author":{"gitId":"-"},"content":" :style\u003d\"customStyle()\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003c!--Icon and vertical divider for seamless header box--\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"seamlessHeaderBool()\" class\u003d\"d-flex\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":14,"author":{"gitId":"-"},"content":" v-if\u003d\"iconBool()\""},{"lineNumber":15,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027icon-wrapper\u0027, iconStyle()]\""},{"lineNumber":16,"author":{"gitId":"-"},"content":" :style\u003d\"customIconColorStyle()\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"icon\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003ci :class\u003d\"[\u0027fas\u0027, getFontAwesomeIconStyle()]\"\u003e\u003c/i\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":23,"author":{"gitId":"-"},"content":" class\u003d\"vertical-divider\""},{"lineNumber":24,"author":{"gitId":"-"},"content":" :class\u003d\"getBootstrapAlertStyle()\""},{"lineNumber":25,"author":{"gitId":"-"},"content":" aria-hidden\u003d\"true\""},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003e\u003c/div\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"header-and-body\"\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003c!-- Header wrapper, not rendered if there is no header attribute --\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":32,"author":{"gitId":"-"},"content":" v-if\u003d\"headerBool()\""},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" :class\u003d\"[\u0027box-header-wrapper\u0027, { \u0027alert-dismissible-box\u0027: dismissible }]\""},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003c!-- icon on the left of the header --\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":37,"author":{"gitId":"-"},"content":" v-if\u003d\"iconBool() \u0026\u0026 !seamlessHeaderBool()\""},{"lineNumber":38,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027icon-wrapper\u0027, iconStyle()]\""},{"lineNumber":39,"author":{"gitId":"-"},"content":" :style\u003d\"customIconColorStyle()\""},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"icon\"\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003ci :class\u003d\"[\u0027fas\u0027, getFontAwesomeIconStyle()]\"\u003e\u003c/i\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003c!-- header --\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"box-header\"\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003c!-- dismiss button to the right of the header --\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":53,"author":{"gitId":"-"},"content":" v-if\u003d\"dismissible\""},{"lineNumber":54,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":55,"author":{"gitId":"-"},"content":" class\u003d\"btn-close close-with-heading\""},{"lineNumber":56,"author":{"gitId":"-"},"content":" data-bs-dismiss\u003d\"alert\""},{"lineNumber":57,"author":{"gitId":"-"},"content":" aria-label\u003d\"Close\""},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" \u003c!-- Body wrapper --\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":64,"author":{"gitId":"-"},"content":" :class\u003d\"["},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u0027box-body-wrapper\u0027,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" {"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \u0027alert-dismissible-box\u0027: dismissible \u0026\u0026 !headerBool(),"},{"lineNumber":68,"author":{"gitId":"-"},"content":" \u0027box-body-wrapper-with-heading\u0027: headerBool(),"},{"lineNumber":69,"author":{"gitId":"-"},"content":" },"},{"lineNumber":70,"author":{"gitId":"-"},"content":" ]\""},{"lineNumber":71,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":" \u003c!-- icon on the left, not shown if there is a header --\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":74,"author":{"gitId":"-"},"content":" v-if\u003d\"iconBool() \u0026\u0026 !headerBool()\""},{"lineNumber":75,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027icon-wrapper\u0027, iconStyle()]\""},{"lineNumber":76,"author":{"gitId":"-"},"content":" :style\u003d\"customIconColorStyle()\""},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"icon\"\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003ci :class\u003d\"[\u0027fas\u0027, getFontAwesomeIconStyle()]\"\u003e\u003c/i\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003c!-- Icon -- content divider for seamless boxes without the header attribute --\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":85,"author":{"gitId":"-"},"content":" v-if\u003d\"seamlessNoHeaderBool()\""},{"lineNumber":86,"author":{"gitId":"-"},"content":" class\u003d\"vertical-divider\""},{"lineNumber":87,"author":{"gitId":"-"},"content":" :class\u003d\"getBootstrapAlertStyle()\""},{"lineNumber":88,"author":{"gitId":"-"},"content":" aria-hidden\u003d\"true\""},{"lineNumber":89,"author":{"gitId":"-"},"content":" \u003e\u003c/div\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" \u003c!-- Content wrapper --\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"contents\" :style\u003d\"customColorStyle()\"\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u003c!-- dismiss button on the right, not shown if there is a header --\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":98,"author":{"gitId":"-"},"content":" v-if\u003d\"dismissible \u0026\u0026 !headerBool()\""},{"lineNumber":99,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":100,"author":{"gitId":"-"},"content":" class\u003d\"btn-close\""},{"lineNumber":101,"author":{"gitId":"-"},"content":" data-bs-dismiss\u003d\"alert\""},{"lineNumber":102,"author":{"gitId":"-"},"content":" aria-label\u003d\"Close\""},{"lineNumber":103,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":"import { classifyBootstrapStyle } from \u0027./utils/utils\u0027;"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" dismissible: {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":117,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":118,"author":{"gitId":"-"},"content":" },"},{"lineNumber":119,"author":{"gitId":"-"},"content":" backgroundColor: {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":121,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":122,"author":{"gitId":"-"},"content":" },"},{"lineNumber":123,"author":{"gitId":"-"},"content":" borderColor: {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":125,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":126,"author":{"gitId":"-"},"content":" },"},{"lineNumber":127,"author":{"gitId":"-"},"content":" borderLeftColor: {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":129,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":130,"author":{"gitId":"-"},"content":" },"},{"lineNumber":131,"author":{"gitId":"-"},"content":" color: {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":133,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":134,"author":{"gitId":"-"},"content":" },"},{"lineNumber":135,"author":{"gitId":"-"},"content":" icon: {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":137,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":138,"author":{"gitId":"-"},"content":" },"},{"lineNumber":139,"author":{"gitId":"-"},"content":" iconSize: {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":141,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":142,"author":{"gitId":"-"},"content":" },"},{"lineNumber":143,"author":{"gitId":"-"},"content":" iconColor: {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":145,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":146,"author":{"gitId":"-"},"content":" },"},{"lineNumber":147,"author":{"gitId":"-"},"content":" type: {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":149,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":150,"author":{"gitId":"-"},"content":" },"},{"lineNumber":151,"author":{"gitId":"-"},"content":" addClass: {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":153,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":154,"author":{"gitId":"-"},"content":" },"},{"lineNumber":155,"author":{"gitId":"-"},"content":" light: {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":157,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":158,"author":{"gitId":"-"},"content":" },"},{"lineNumber":159,"author":{"gitId":"-"},"content":" seamless: {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":161,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":162,"author":{"gitId":"-"},"content":" },"},{"lineNumber":163,"author":{"gitId":"-"},"content":" noIcon: {"},{"lineNumber":164,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":165,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":166,"author":{"gitId":"-"},"content":" },"},{"lineNumber":167,"author":{"gitId":"-"},"content":" noBackground: {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":169,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":170,"author":{"gitId":"-"},"content":" },"},{"lineNumber":171,"author":{"gitId":"-"},"content":" noBorder: {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":173,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":174,"author":{"gitId":"-"},"content":" },"},{"lineNumber":175,"author":{"gitId":"-"},"content":" theme: {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":177,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":178,"author":{"gitId":"-"},"content":" },"},{"lineNumber":179,"author":{"gitId":"-"},"content":" },"},{"lineNumber":180,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" bootStrapStyle() {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" return classifyBootstrapStyle(this.type, this.theme);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" },"},{"lineNumber":184,"author":{"gitId":"-"},"content":" },"},{"lineNumber":185,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" isSeamless() {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" return !this.light \u0026\u0026 this.seamless;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" },"},{"lineNumber":189,"author":{"gitId":"-"},"content":" seamlessNoHeaderBool() {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" return this.isSeamless() \u0026\u0026 !this.headerBool();"},{"lineNumber":191,"author":{"gitId":"-"},"content":" },"},{"lineNumber":192,"author":{"gitId":"-"},"content":" seamlessHeaderBool() {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" return this.isSeamless() \u0026\u0026 this.headerBool();"},{"lineNumber":194,"author":{"gitId":"-"},"content":" },"},{"lineNumber":195,"author":{"gitId":"-"},"content":" headerBool() {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" return !!this.$scopedSlots.header;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" },"},{"lineNumber":198,"author":{"gitId":"-"},"content":" iconBool() {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" // this.$scopedSlots.icon is either undefined or an object"},{"lineNumber":200,"author":{"gitId":"-"},"content":" const isIconSlotFilled \u003d !!this.$scopedSlots.icon;"},{"lineNumber":201,"author":{"gitId":"-"},"content":" return (!this.noIcon \u0026\u0026 this.type) || isIconSlotFilled;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" },"},{"lineNumber":203,"author":{"gitId":"-"},"content":" containerStyle() {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" let containerStyle;"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" if (this.light) {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" containerStyle \u003d `${this.getBootstrapBorderStyle()} alert-border-left`;"},{"lineNumber":208,"author":{"gitId":"-"},"content":" } else if (this.seamless) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" containerStyle \u003d \u0027seamless\u0027;"},{"lineNumber":210,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" containerStyle \u003d this.getBootstrapAlertStyle();"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" if (this.noBackground) {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" containerStyle +\u003d \u0027 no-background\u0027;"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" if (this.noBorder) {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" containerStyle +\u003d \u0027 no-border\u0027;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" return containerStyle;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" },"},{"lineNumber":224,"author":{"gitId":"-"},"content":" customStyle() {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" const style \u003d {};"},{"lineNumber":226,"author":{"gitId":"-"},"content":" if (this.backgroundColor) {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" style.backgroundColor \u003d this.backgroundColor;"},{"lineNumber":228,"author":{"gitId":"-"},"content":" style.borderColor \u003d this.backgroundColor;"},{"lineNumber":229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":230,"author":{"gitId":"-"},"content":" if (this.borderColor) {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" style.border \u003d `1px solid ${this.borderColor}`;"},{"lineNumber":232,"author":{"gitId":"-"},"content":" }"},{"lineNumber":233,"author":{"gitId":"-"},"content":" if (this.borderLeftColor) {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" style.borderLeft \u003d `5px solid ${this.borderLeftColor}`;"},{"lineNumber":235,"author":{"gitId":"-"},"content":" }"},{"lineNumber":236,"author":{"gitId":"-"},"content":" return style;"},{"lineNumber":237,"author":{"gitId":"-"},"content":" },"},{"lineNumber":238,"author":{"gitId":"-"},"content":" customColorStyle() {"},{"lineNumber":239,"author":{"gitId":"-"},"content":" if (this.color) {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" return { color: this.color };"},{"lineNumber":241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":242,"author":{"gitId":"-"},"content":" return {};"},{"lineNumber":243,"author":{"gitId":"-"},"content":" },"},{"lineNumber":244,"author":{"gitId":"-"},"content":" iconStyle() {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" let iconStyle \u003d \u0027\u0027;"},{"lineNumber":246,"author":{"gitId":"-"},"content":" if (this.iconSize) {"},{"lineNumber":247,"author":{"gitId":"-"},"content":" iconStyle +\u003d `fa-${this.iconSize}`;"},{"lineNumber":248,"author":{"gitId":"-"},"content":" }"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" if (this.light || this.seamless) {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" iconStyle +\u003d ` ${this.getBootstrapTextStyle()}`;"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" return iconStyle;"},{"lineNumber":255,"author":{"gitId":"-"},"content":" },"},{"lineNumber":256,"author":{"gitId":"-"},"content":" customIconColorStyle() {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" if (this.iconColor) {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" return { color: `${this.iconColor}!important` };"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":" return {};"},{"lineNumber":261,"author":{"gitId":"-"},"content":" },"},{"lineNumber":262,"author":{"gitId":"-"},"content":" getBootstrapAlertStyle() {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" return `alert-${this.bootStrapStyle.style}`;"},{"lineNumber":264,"author":{"gitId":"-"},"content":" },"},{"lineNumber":265,"author":{"gitId":"-"},"content":" getBootstrapTextStyle() {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" return `text-${this.bootStrapStyle.style}`;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" },"},{"lineNumber":268,"author":{"gitId":"-"},"content":" getBootstrapBorderStyle() {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" return `border-${this.bootStrapStyle.style}`;"},{"lineNumber":270,"author":{"gitId":"-"},"content":" },"},{"lineNumber":271,"author":{"gitId":"-"},"content":" getFontAwesomeIconStyle() {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" return this.bootStrapStyle.icon;"},{"lineNumber":273,"author":{"gitId":"-"},"content":" },"},{"lineNumber":274,"author":{"gitId":"-"},"content":" },"},{"lineNumber":275,"author":{"gitId":"-"},"content":"};"},{"lineNumber":276,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":279,"author":{"gitId":"-"},"content":" .box-container {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" padding: 0;"},{"lineNumber":281,"author":{"gitId":"-"},"content":" border-radius: 6px;"},{"lineNumber":282,"author":{"gitId":"-"},"content":" }"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" .box-header-wrapper {"},{"lineNumber":285,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":286,"author":{"gitId":"-"},"content":" flex-direction: row;"},{"lineNumber":287,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":288,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":289,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.4rem 1.25rem 0.28rem;"},{"lineNumber":290,"author":{"gitId":"-"},"content":" border-radius: 6px 6px 0 0;"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" .box-body-wrapper {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":295,"author":{"gitId":"-"},"content":" flex-direction: row;"},{"lineNumber":296,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":297,"author":{"gitId":"-"},"content":" padding: 0.75rem 1.25rem;"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" .box-container.seamless \u003e .header-and-body \u003e .box-body-wrapper {"},{"lineNumber":301,"author":{"gitId":"-"},"content":" padding: 0.75rem 0.5rem;"},{"lineNumber":302,"author":{"gitId":"-"},"content":" }"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" .contents {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" padding: 0 6px;"},{"lineNumber":306,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":307,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" .box-container.seamless \u003e .header-and-body \u003e div.box-body-wrapper \u003e .contents {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" padding-left: 12px;"},{"lineNumber":312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"-"},"content":" .heading {"},{"lineNumber":315,"author":{"gitId":"-"},"content":" display: inline;"},{"lineNumber":316,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":317,"author":{"gitId":"-"},"content":" font-weight: normal;"},{"lineNumber":318,"author":{"gitId":"-"},"content":" color: inherit;"},{"lineNumber":319,"author":{"gitId":"LamJiuFong"},"content":" background-color: rgb(240 240 240 / 60%);"},{"lineNumber":320,"author":{"gitId":"-"},"content":" width: auto;"},{"lineNumber":321,"author":{"gitId":"LamJiuFong"},"content":" padding: 3px 5px 4px;"},{"lineNumber":322,"author":{"gitId":"-"},"content":" border-width: 0;"},{"lineNumber":323,"author":{"gitId":"LamJiuFong"},"content":" border-radius: 0 6px;"},{"lineNumber":324,"author":{"gitId":"-"},"content":" margin: -13px -27px 0 15px;"},{"lineNumber":325,"author":{"gitId":"-"},"content":" }"},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":" .box-body-wrapper-with-heading {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" padding-top: 0.5rem;"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" .alert-dismissible-box {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" padding-right: 4rem;"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" .box-header {"},{"lineNumber":336,"author":{"gitId":"-"},"content":" font-weight: 500;"},{"lineNumber":337,"author":{"gitId":"-"},"content":" }"},{"lineNumber":338,"author":{"gitId":"-"},"content":""},{"lineNumber":339,"author":{"gitId":"-"},"content":" .icon-wrapper {"},{"lineNumber":340,"author":{"gitId":"-"},"content":" display: inline;"},{"lineNumber":341,"author":{"gitId":"-"},"content":" text-align: center;"},{"lineNumber":342,"author":{"gitId":"-"},"content":" margin-right: 0.5em;"},{"lineNumber":343,"author":{"gitId":"-"},"content":" min-width: 1em;"},{"lineNumber":344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" .close-with-heading {"},{"lineNumber":347,"author":{"gitId":"-"},"content":" top: 0;"},{"lineNumber":348,"author":{"gitId":"-"},"content":" right: 0;"},{"lineNumber":349,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":350,"author":{"gitId":"-"},"content":" padding: 1rem;"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" .close-with-heading \u003e span {"},{"lineNumber":354,"author":{"gitId":"-"},"content":" vertical-align: text-top;"},{"lineNumber":355,"author":{"gitId":"-"},"content":" }"},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" .alert-dismissible-box .btn-close {"},{"lineNumber":358,"author":{"gitId":"-"},"content":" padding: 1rem;"},{"lineNumber":359,"author":{"gitId":"-"},"content":" }"},{"lineNumber":360,"author":{"gitId":"-"},"content":""},{"lineNumber":361,"author":{"gitId":"-"},"content":" .contents \u003e :last-child {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" margin-bottom: 0;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" }"},{"lineNumber":364,"author":{"gitId":"-"},"content":""},{"lineNumber":365,"author":{"gitId":"-"},"content":" .alert-default {"},{"lineNumber":366,"author":{"gitId":"-"},"content":" color: #24292e;"},{"lineNumber":367,"author":{"gitId":"-"},"content":" background-color: #f6f8fa;"},{"lineNumber":368,"author":{"gitId":"-"},"content":" border-color: #e8ebef;"},{"lineNumber":369,"author":{"gitId":"-"},"content":" }"},{"lineNumber":370,"author":{"gitId":"-"},"content":""},{"lineNumber":371,"author":{"gitId":"-"},"content":" .alert-border-left {"},{"lineNumber":372,"author":{"gitId":"-"},"content":" background-color: #f9f8f8;"},{"lineNumber":373,"author":{"gitId":"-"},"content":" border-left: solid;"},{"lineNumber":374,"author":{"gitId":"-"},"content":" border-width: 0 0 0 5px;"},{"lineNumber":375,"author":{"gitId":"-"},"content":" }"},{"lineNumber":376,"author":{"gitId":"-"},"content":""},{"lineNumber":377,"author":{"gitId":"-"},"content":" .vertical-divider {"},{"lineNumber":378,"author":{"gitId":"-"},"content":" width: 4px;"},{"lineNumber":379,"author":{"gitId":"-"},"content":" }"},{"lineNumber":380,"author":{"gitId":"-"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":" .horizontal-divider {"},{"lineNumber":382,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":383,"author":{"gitId":"-"},"content":" width: calc(100% - 2.5rem);"},{"lineNumber":384,"author":{"gitId":"-"},"content":" height: 3px;"},{"lineNumber":385,"author":{"gitId":"-"},"content":" }"},{"lineNumber":386,"author":{"gitId":"-"},"content":""},{"lineNumber":387,"author":{"gitId":"-"},"content":" .no-background {"},{"lineNumber":388,"author":{"gitId":"-"},"content":" background: none;"},{"lineNumber":389,"author":{"gitId":"-"},"content":" }"},{"lineNumber":390,"author":{"gitId":"-"},"content":""},{"lineNumber":391,"author":{"gitId":"-"},"content":" .no-border {"},{"lineNumber":392,"author":{"gitId":"-"},"content":" border: none;"},{"lineNumber":393,"author":{"gitId":"-"},"content":" }"},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"LamJiuFong"},"content":" @media screen and (width \u003c\u003d 768px) {"},{"lineNumber":396,"author":{"gitId":"-"},"content":" .box-header-wrapper {"},{"lineNumber":397,"author":{"gitId":"-"},"content":" padding: 0.75rem 0.75rem 0.1rem;"},{"lineNumber":398,"author":{"gitId":"-"},"content":" }"},{"lineNumber":399,"author":{"gitId":"-"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" .box-body-wrapper {"},{"lineNumber":401,"author":{"gitId":"-"},"content":" padding: 0.75rem;"},{"lineNumber":402,"author":{"gitId":"-"},"content":" }"},{"lineNumber":403,"author":{"gitId":"-"},"content":""},{"lineNumber":404,"author":{"gitId":"-"},"content":" .contents {"},{"lineNumber":405,"author":{"gitId":"-"},"content":" padding: 0;"},{"lineNumber":406,"author":{"gitId":"-"},"content":" }"},{"lineNumber":407,"author":{"gitId":"-"},"content":" }"},{"lineNumber":408,"author":{"gitId":"-"},"content":"\u003c/style\u003e"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":"\u003c!-- TODO move this once we upgrade vue-loader version for scoped deep selectors --\u003e"},{"lineNumber":411,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":412,"author":{"gitId":"-"},"content":" div.box-header \u003e * {"},{"lineNumber":413,"author":{"gitId":"-"},"content":" margin-bottom: 0;"},{"lineNumber":414,"author":{"gitId":"-"},"content":" }"},{"lineNumber":415,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":5,"-":406,"yiwen101":4}},{"path":"packages/vue-components/src/Dropdown.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cli"},{"lineNumber":3,"author":{"gitId":"-"},"content":" v-if\u003d\"isLi\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" ref\u003d\"dropdown\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" :class\u003d\"[{ \u0027disabled\u0027: disabledBool }, \u0027dropdown\u0027, addClass]\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"button\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003ca"},{"lineNumber":9,"author":{"gitId":"-"},"content":" class\u003d\"dropdown-toggle nav-link\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" role\u003d\"button\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" :class\u003d\"{\u0027disabled\u0027: disabledBool}\""},{"lineNumber":12,"author":{"gitId":"-"},"content":" data-bs-toggle\u003d\"dropdown\""},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"dropdown-menu\" :class\u003d\"[{ \u0027show\u0027: show }, { \u0027dropdown-menu-end\u0027: menuAlignRight }]\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cul class\u003d\"dropdown-menu\" :class\u003d\"[{ \u0027show\u0027: show }, { \u0027dropdown-menu-end\u0027: menuAlignRight }]\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003c/ul\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003csubmenu v-else-if\u003d\"isSubmenu\" ref\u003d\"submenu\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003ctemplate v-for\u003d\"(node, name) in $scopedSlots\" #[name]\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003cslot :name\u003d\"name\"\u003e\u003c/slot\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003c/template\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003c/submenu\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":29,"author":{"gitId":"-"},"content":" v-else"},{"lineNumber":30,"author":{"gitId":"-"},"content":" ref\u003d\"dropdown\""},{"lineNumber":31,"author":{"gitId":"-"},"content":" :class\u003d\"[{ \u0027disabled\u0027: disabledBool }, \u0027btn-group\u0027, addClass]\""},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"before\"\u003e\u003c/slot\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"button\"\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":36,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":37,"author":{"gitId":"-"},"content":" class\u003d\"btn dropdown-toggle\""},{"lineNumber":38,"author":{"gitId":"-"},"content":" :class\u003d\"[btnType, btnWithBefore, { \u0027dropdown-toggle-split\u0027: hasBefore }]\""},{"lineNumber":39,"author":{"gitId":"-"},"content":" :disabled\u003d\"disabledBool\""},{"lineNumber":40,"author":{"gitId":"-"},"content":" data-bs-reference\u003d\"parent\""},{"lineNumber":41,"author":{"gitId":"-"},"content":" data-bs-toggle\u003d\"dropdown\""},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"dropdown-menu\" :class\u003d\"[{ \u0027show\u0027: show }, { \u0027dropdown-menu-end\u0027: menuAlignRight }]\"\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003cul class\u003d\"dropdown-menu\" :class\u003d\"[{ \u0027show\u0027: show }, { \u0027dropdown-menu-end\u0027: menuAlignRight }]\"\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003c/ul\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":"import Submenu from \u0027./Submenu.vue\u0027;"},{"lineNumber":56,"author":{"gitId":"-"},"content":"import { toBoolean } from \u0027./utils/utils\u0027;"},{"lineNumber":57,"author":{"gitId":"-"},"content":"import $ from \u0027./utils/NodeList\u0027;"},{"lineNumber":58,"author":{"gitId":"-"},"content":"import preventOverflowOnMobile from \u0027./utils/dropdown\u0027;"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" components: {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" Submenu,"},{"lineNumber":63,"author":{"gitId":"-"},"content":" },"},{"lineNumber":64,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" disabled: {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" type: [Boolean, String],"},{"lineNumber":67,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":68,"author":{"gitId":"-"},"content":" },"},{"lineNumber":69,"author":{"gitId":"-"},"content":" type: {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":71,"author":{"gitId":"-"},"content":" default: \u0027light\u0027,"},{"lineNumber":72,"author":{"gitId":"-"},"content":" },"},{"lineNumber":73,"author":{"gitId":"-"},"content":" menuAlignRight: {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":75,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" },"},{"lineNumber":77,"author":{"gitId":"-"},"content":" addClass: {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":79,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":80,"author":{"gitId":"-"},"content":" },"},{"lineNumber":81,"author":{"gitId":"-"},"content":" },"},{"lineNumber":82,"author":{"gitId":"-"},"content":" provide: { hasParentDropdown: true },"},{"lineNumber":83,"author":{"gitId":"-"},"content":" inject: {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" hasParentDropdown: {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" default: undefined,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" },"},{"lineNumber":87,"author":{"gitId":"-"},"content":" isParentNavbar: {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":89,"author":{"gitId":"-"},"content":" },"},{"lineNumber":90,"author":{"gitId":"-"},"content":" },"},{"lineNumber":91,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" show: false,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" };"},{"lineNumber":95,"author":{"gitId":"-"},"content":" },"},{"lineNumber":96,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" btnType() {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" return `btn-${this.type}`;"},{"lineNumber":99,"author":{"gitId":"-"},"content":" },"},{"lineNumber":100,"author":{"gitId":"-"},"content":" disabledBool() {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" return toBoolean(this.disabled);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" },"},{"lineNumber":103,"author":{"gitId":"-"},"content":" isLi() { return this.$parent._navbar || this.$parent.menu || this.$parent._tabset; },"},{"lineNumber":104,"author":{"gitId":"-"},"content":" isSubmenu() { return this.hasParentDropdown; },"},{"lineNumber":105,"author":{"gitId":"-"},"content":" menu() {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" return !this.$parent || this.$parent.navbar;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" },"},{"lineNumber":108,"author":{"gitId":"-"},"content":" submenu() {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" return this.$parent \u0026\u0026 (this.$parent.menu || this.$parent.submenu);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" },"},{"lineNumber":111,"author":{"gitId":"-"},"content":" slots() {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" return this.$scopedSlots.default;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" },"},{"lineNumber":114,"author":{"gitId":"-"},"content":" hasBefore() {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" return !!this.$scopedSlots.before;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" },"},{"lineNumber":117,"author":{"gitId":"-"},"content":" btnWithBefore() {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" return this.hasBefore ? \u0027btn-with-before\u0027 : \u0027\u0027;"},{"lineNumber":119,"author":{"gitId":"-"},"content":" },"},{"lineNumber":120,"author":{"gitId":"-"},"content":" },"},{"lineNumber":121,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" blur() {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" this.unblur();"},{"lineNumber":124,"author":{"gitId":"-"},"content":" this._hide \u003d setTimeout(() \u003d\u003e {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" this._hide \u003d null;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" this.hideDropdownMenu();"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }, 100);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" },"},{"lineNumber":129,"author":{"gitId":"-"},"content":" unblur() {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" if (this._hide) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" clearTimeout(this._hide);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" this._hide \u003d null;"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":" },"},{"lineNumber":135,"author":{"gitId":"-"},"content":" hideDropdownMenu() {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" this.show \u003d false;"},{"lineNumber":137,"author":{"gitId":"-"},"content":" $(this.$refs.dropdown).findChildren(\u0027ul\u0027).each((ul) \u003d\u003e {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" ul.classList.toggle(\u0027show\u0027, false);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" if (window.innerWidth \u003c 768 \u0026\u0026 this.isParentNavbar) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" ul.style.removeProperty(\u0027left\u0027);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":" });"},{"lineNumber":144,"author":{"gitId":"-"},"content":" },"},{"lineNumber":145,"author":{"gitId":"-"},"content":" showDropdownMenu() {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" this.show \u003d true;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" $(this.$refs.dropdown).findChildren(\u0027ul\u0027).each((ul) \u003d\u003e {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" ul.classList.toggle(\u0027show\u0027, true);"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" // check if the dropdown is part of the sliding menu on mobile"},{"lineNumber":151,"author":{"gitId":"-"},"content":" if (window.innerWidth \u003c 768 \u0026\u0026 this.isParentNavbar) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" preventOverflowOnMobile(ul);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":" });"},{"lineNumber":155,"author":{"gitId":"-"},"content":" },"},{"lineNumber":156,"author":{"gitId":"-"},"content":" },"},{"lineNumber":157,"author":{"gitId":"-"},"content":" mounted() {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" const $el \u003d $(this.$refs.dropdown);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" if (this.$slots.button) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" // If the button is passed via props, manually add a data-bs-toggle"},{"lineNumber":161,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027.dropdown-toggle\u0027).forEach(child \u003d\u003e child.setAttribute(\u0027data-bs-toggle\u0027, \u0027dropdown\u0027));"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":" if (this.show) {"},{"lineNumber":164,"author":{"gitId":"-"},"content":" this.showDropdownMenu();"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":" $el.onBlur(() \u003d\u003e { this.hideDropdownMenu(); }, false);"},{"lineNumber":167,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027a,button.dropdown-toggle\u0027).on(\u0027click\u0027, (e) \u003d\u003e {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" e.preventDefault();"},{"lineNumber":169,"author":{"gitId":"-"},"content":" if (this.disabledBool) { return false; }"},{"lineNumber":170,"author":{"gitId":"-"},"content":" if (this.show) {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" this.hideDropdownMenu();"},{"lineNumber":172,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":173,"author":{"gitId":"-"},"content":" this.showDropdownMenu();"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" });"},{"lineNumber":177,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027ul\u0027).on(\u0027click\u0027, \u0027li\u003ea\u0027, (e) \u003d\u003e {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" if (e.target.classList.contains(\u0027submenu-toggle\u0027)) { return; }"},{"lineNumber":179,"author":{"gitId":"-"},"content":" this.hideDropdownMenu();"},{"lineNumber":180,"author":{"gitId":"-"},"content":" });"},{"lineNumber":181,"author":{"gitId":"-"},"content":" },"},{"lineNumber":182,"author":{"gitId":"-"},"content":" beforeDestroy() {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" const $el \u003d $(this.$refs.dropdown);"},{"lineNumber":184,"author":{"gitId":"-"},"content":" $el.offBlur();"},{"lineNumber":185,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027a,button\u0027).off();"},{"lineNumber":186,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027ul\u0027).off();"},{"lineNumber":187,"author":{"gitId":"-"},"content":" },"},{"lineNumber":188,"author":{"gitId":"-"},"content":"};"},{"lineNumber":189,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":192,"author":{"gitId":"LamJiuFong"},"content":" @media (width \u003c\u003d 767px) {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" .navbar-default .dropdown {"},{"lineNumber":194,"author":{"gitId":"-"},"content":" position: static;"},{"lineNumber":195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" .navbar-default .dropdown-menu {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":199,"author":{"gitId":"-"},"content":" max-width: 100%;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" max-height: 75vh;"},{"lineNumber":201,"author":{"gitId":"-"},"content":" overflow-y: auto;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" overscroll-behavior: contain;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" .navbar-default .dropdown-menu-end {"},{"lineNumber":206,"author":{"gitId":"-"},"content":" right: auto;"},{"lineNumber":207,"author":{"gitId":"-"},"content":" }"},{"lineNumber":208,"author":{"gitId":"-"},"content":" }"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":" .secret {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" clip: rect(0 0 0 0);"},{"lineNumber":213,"author":{"gitId":"-"},"content":" overflow: hidden;"},{"lineNumber":214,"author":{"gitId":"-"},"content":" margin: -1px;"},{"lineNumber":215,"author":{"gitId":"-"},"content":" height: 1px;"},{"lineNumber":216,"author":{"gitId":"-"},"content":" width: 1px;"},{"lineNumber":217,"author":{"gitId":"-"},"content":" padding: 0;"},{"lineNumber":218,"author":{"gitId":"-"},"content":" border: 0;"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" .btn-with-before {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" padding-left: 0.2rem;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" padding-right: 0.4rem;"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" .dropdown-toggle {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":228,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":229,"author":{"gitId":"-"},"content":" width: max-content;"},{"lineNumber":230,"author":{"gitId":"-"},"content":" }"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" .navbar .dropdown-toggle {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" text-decoration: none;"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" .nav-link \u003e .nav-link {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" padding: 0;"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":1,"-":238}},{"path":"packages/vue-components/src/Navbar.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cnav"},{"lineNumber":4,"author":{"gitId":"-"},"content":" ref\u003d\"navbar\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027navbar\u0027, \u0027navbar-expand-md\u0027, \u0027d-print-none\u0027, themeOptions, addClass, fixedOptions]\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"container-fluid\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"navbar-left\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"brand\"\u003e\u003c/slot\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003cdiv ref\u003d\"navbarDefault\" class\u003d\"navbar-default\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cul class\u003d\"navbar-nav me-auto mt-2 mt-lg-0\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003c/ul\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003cul v-if\u003d\"slots.right\" class\u003d\"navbar-nav navbar-right\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"right\"\u003e\u003c/slot\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003c/ul\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/nav\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":23,"author":{"gitId":"-"},"content":" v-show\u003d\"isLowerNavbarShowing\""},{"lineNumber":24,"author":{"gitId":"-"},"content":" ref\u003d\"lowerNavbar\""},{"lineNumber":25,"author":{"gitId":"-"},"content":" class\u003d\"lower-navbar-container\""},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"lower-navbar\"\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003csite-nav-button /\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003cpage-nav-button /\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import $ from \u0027./utils/NodeList\u0027;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import { toBoolean } from \u0027./utils/utils\u0027;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import normalizeUrl from \u0027./utils/urls\u0027;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import SiteNavButton from \u0027./SiteNavButton.vue\u0027;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import PageNavButton from \u0027./PageNavButton.vue\u0027;"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" components: {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" SiteNavButton,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" PageNavButton,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" },"},{"lineNumber":47,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" type: {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":50,"author":{"gitId":"-"},"content":" default: \u0027primary\u0027,"},{"lineNumber":51,"author":{"gitId":"-"},"content":" },"},{"lineNumber":52,"author":{"gitId":"-"},"content":" addClass: {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" },"},{"lineNumber":56,"author":{"gitId":"-"},"content":" fixed: {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" type: [Boolean, String],"},{"lineNumber":58,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":59,"author":{"gitId":"-"},"content":" },"},{"lineNumber":60,"author":{"gitId":"-"},"content":" defaultHighlightOn: {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":62,"author":{"gitId":"-"},"content":" default: \u0027sibling-or-child\u0027,"},{"lineNumber":63,"author":{"gitId":"-"},"content":" },"},{"lineNumber":64,"author":{"gitId":"-"},"content":" },"},{"lineNumber":65,"author":{"gitId":"-"},"content":" provide() {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" toggleLowerNavbar: this.toggleLowerNavbar,"},{"lineNumber":68,"author":{"gitId":"-"},"content":" isParentNavbar: true,"},{"lineNumber":69,"author":{"gitId":"-"},"content":" };"},{"lineNumber":70,"author":{"gitId":"-"},"content":" },"},{"lineNumber":71,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" id: \u0027bs-example-navbar-collapse-1\u0027,"},{"lineNumber":74,"author":{"gitId":"-"},"content":" styles: {},"},{"lineNumber":75,"author":{"gitId":"-"},"content":" isLowerNavbarShowing: false,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" };"},{"lineNumber":77,"author":{"gitId":"-"},"content":" },"},{"lineNumber":78,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" fixedBool() {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" return toBoolean(this.fixed);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" },"},{"lineNumber":82,"author":{"gitId":"-"},"content":" fixedOptions() {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" if (this.fixedBool) {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" return \u0027navbar-fixed\u0027;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":" return \u0027\u0027;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" },"},{"lineNumber":88,"author":{"gitId":"-"},"content":" slots() {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" return this.$scopedSlots;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" },"},{"lineNumber":91,"author":{"gitId":"-"},"content":" themeOptions() {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" switch (this.type) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" case \u0027none\u0027:"},{"lineNumber":94,"author":{"gitId":"-"},"content":" return \u0027\u0027;"},{"lineNumber":95,"author":{"gitId":"-"},"content":" case \u0027light\u0027:"},{"lineNumber":96,"author":{"gitId":"-"},"content":" return \u0027navbar-light bg-light\u0027;"},{"lineNumber":97,"author":{"gitId":"-"},"content":" case \u0027dark\u0027:"},{"lineNumber":98,"author":{"gitId":"-"},"content":" return \u0027navbar-dark bg-dark\u0027;"},{"lineNumber":99,"author":{"gitId":"-"},"content":" case \u0027primary\u0027:"},{"lineNumber":100,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":101,"author":{"gitId":"-"},"content":" return \u0027navbar-dark bg-primary\u0027;"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":" },"},{"lineNumber":104,"author":{"gitId":"-"},"content":" },"},{"lineNumber":105,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" // Splits a normalised URL into its parts,"},{"lineNumber":107,"author":{"gitId":"-"},"content":" // e.g http://site.org/foo/bar/index.html -\u003e [\u0027foo\u0027,\u0027bar\u0027,\u0027index.html\u0027]"},{"lineNumber":108,"author":{"gitId":"-"},"content":" splitUrl(url) {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" const u \u003d new URL(normalizeUrl(url));"},{"lineNumber":110,"author":{"gitId":"-"},"content":" return `${u.pathname}`.substr(1).split(\u0027/\u0027);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" },"},{"lineNumber":112,"author":{"gitId":"-"},"content":" isEqualExceptLast(hParts, uParts) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c hParts.length - 1; i +\u003d 1) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" if (hParts[i] !\u003d\u003d uParts[i]) {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":119,"author":{"gitId":"-"},"content":" },"},{"lineNumber":120,"author":{"gitId":"-"},"content":" isSibling(url, href) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" const hParts \u003d this.splitUrl(href);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" const uParts \u003d this.splitUrl(url);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" if (hParts.length !\u003d\u003d uParts.length) {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":" return this.isEqualExceptLast(hParts, uParts);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" },"},{"lineNumber":128,"author":{"gitId":"-"},"content":" isChild(url, href) {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" const hParts \u003d this.splitUrl(href);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" const uParts \u003d this.splitUrl(url);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" if (uParts.length \u003c\u003d hParts.length) {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":" return this.isEqualExceptLast(hParts, uParts);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" },"},{"lineNumber":136,"author":{"gitId":"-"},"content":" isExact(url, href) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" return normalizeUrl(url) \u003d\u003d\u003d normalizeUrl(href);"},{"lineNumber":138,"author":{"gitId":"-"},"content":" },"},{"lineNumber":139,"author":{"gitId":"-"},"content":" addClassIfDropdown(dropdownLinks, a, li) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" if (dropdownLinks.includes(a)) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" a.classList.add(\u0027dropdown-current\u0027);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" this.addClassIfSubmenu(a, li);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" }"},{"lineNumber":144,"author":{"gitId":"-"},"content":" },"},{"lineNumber":145,"author":{"gitId":"-"},"content":" addClassIfSubmenu(a, li) {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" let el \u003d a.parentElement;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" while (el !\u003d\u003d li) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" if (el.classList.contains(\u0027dropdown-submenu\u0027)) {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" $(el).findChildren(\u0027a\u0027).each(aChild \u003d\u003e aChild.classList.add(\u0027dropdown-current\u0027));"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":" el \u003d el.parentElement;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":" },"},{"lineNumber":154,"author":{"gitId":"-"},"content":" highlightLink(url) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" const defHlMode \u003d this.defaultHighlightOn;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" const navLis \u003d [];"},{"lineNumber":157,"author":{"gitId":"-"},"content":" this.$el.querySelectorAll(\u0027.navbar-nav\u0027).forEach(nav \u003d\u003e navLis.push(...Array.from(nav.children)));"},{"lineNumber":158,"author":{"gitId":"-"},"content":" // attempt an exact match first"},{"lineNumber":159,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c navLis.length; i +\u003d 1) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" const li \u003d navLis[i];"},{"lineNumber":161,"author":{"gitId":"-"},"content":" const standardLinks \u003d [li];"},{"lineNumber":162,"author":{"gitId":"-"},"content":" const navLinks \u003d Array.from(li.querySelectorAll(\u0027a.nav-link\u0027));"},{"lineNumber":163,"author":{"gitId":"-"},"content":" const dropdownLinks \u003d Array.from(li.querySelectorAll(\u0027a.dropdown-item\u0027));"},{"lineNumber":164,"author":{"gitId":"-"},"content":" const allNavLinks \u003d standardLinks.concat(navLinks).concat(dropdownLinks).filter(a \u003d\u003e a.href);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" for (let j \u003d 0; j \u003c allNavLinks.length; j +\u003d 1) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" const a \u003d allNavLinks[j];"},{"lineNumber":167,"author":{"gitId":"-"},"content":" const hlMode \u003d a.getAttribute(\u0027highlight-on\u0027) || defHlMode;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" if (hlMode \u003d\u003d\u003d \u0027none\u0027) {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" // eslint-disable-next-line no-continue"},{"lineNumber":170,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":" // terminate early on an exact match"},{"lineNumber":173,"author":{"gitId":"-"},"content":" if (this.isExact(url, a.href)) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" li.classList.add(\u0027current\u0027);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" this.addClassIfDropdown(dropdownLinks, a, li);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":" // fallback to user preference, otherwise"},{"lineNumber":181,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c navLis.length; i +\u003d 1) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" const li \u003d navLis[i];"},{"lineNumber":183,"author":{"gitId":"-"},"content":" const standardLinks \u003d [li];"},{"lineNumber":184,"author":{"gitId":"-"},"content":" const navLinks \u003d Array.from(li.querySelectorAll(\u0027a.nav-link\u0027));"},{"lineNumber":185,"author":{"gitId":"-"},"content":" const dropdownLinks \u003d Array.from(li.querySelectorAll(\u0027a.dropdown-item\u0027));"},{"lineNumber":186,"author":{"gitId":"-"},"content":" const allNavLinks \u003d standardLinks.concat(navLinks).concat(dropdownLinks).filter(a \u003d\u003e a.href);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" for (let j \u003d 0; j \u003c allNavLinks.length; j +\u003d 1) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" const a \u003d allNavLinks[j];"},{"lineNumber":189,"author":{"gitId":"-"},"content":" const hlMode \u003d a.getAttribute(\u0027highlight-on\u0027) || defHlMode;"},{"lineNumber":190,"author":{"gitId":"-"},"content":" if (hlMode \u003d\u003d\u003d \u0027none\u0027) {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" // eslint-disable-next-line no-continue"},{"lineNumber":192,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":" // Ignores invalid navbar highlight rule"},{"lineNumber":195,"author":{"gitId":"-"},"content":" if (hlMode \u003d\u003d\u003d \u0027sibling-or-child\u0027) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" if (this.isSibling(url, a.href) || this.isChild(url, a.href)) {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" li.classList.add(\u0027current\u0027);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" this.addClassIfDropdown(dropdownLinks, a, li);"},{"lineNumber":199,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":" } else if (hlMode \u003d\u003d\u003d \u0027sibling\u0027) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" if (this.isSibling(url, a.href)) {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" li.classList.add(\u0027current\u0027);"},{"lineNumber":204,"author":{"gitId":"-"},"content":" this.addClassIfDropdown(dropdownLinks, a, li);"},{"lineNumber":205,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":" } else if (hlMode \u003d\u003d\u003d \u0027child\u0027) {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" if (this.isChild(url, a.href)) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" li.classList.add(\u0027current\u0027);"},{"lineNumber":210,"author":{"gitId":"-"},"content":" this.addClassIfDropdown(dropdownLinks, a, li);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":" },"},{"lineNumber":217,"author":{"gitId":"-"},"content":" toggleLowerNavbar() {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" if (this.$refs.lowerNavbar.childElementCount \u003e 0) {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" this.isLowerNavbarShowing \u003d true;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" this.isLowerNavbarShowing \u003d false;"},{"lineNumber":222,"author":{"gitId":"-"},"content":" }"},{"lineNumber":223,"author":{"gitId":"-"},"content":" },"},{"lineNumber":224,"author":{"gitId":"-"},"content":" },"},{"lineNumber":225,"author":{"gitId":"-"},"content":" created() {"},{"lineNumber":226,"author":{"gitId":"-"},"content":" this._navbar \u003d true;"},{"lineNumber":227,"author":{"gitId":"-"},"content":" },"},{"lineNumber":228,"author":{"gitId":"-"},"content":" mounted() {"},{"lineNumber":229,"author":{"gitId":"-"},"content":" const $dropdown \u003d $(\u0027.dropdown\u003e[data-bs-toggle\u003d\"dropdown\"]\u0027, this.$el).parent();"},{"lineNumber":230,"author":{"gitId":"-"},"content":" $dropdown.on(\u0027click\u0027, \u0027.dropdown-toggle\u0027, (e) \u003d\u003e {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" e.preventDefault();"},{"lineNumber":232,"author":{"gitId":"-"},"content":" $dropdown.each((content) \u003d\u003e {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" if (content.contains(e.target)) content.classList.toggle(\u0027open\u0027);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" });"},{"lineNumber":235,"author":{"gitId":"-"},"content":" }).on(\u0027click\u0027, \u0027.dropdown-menu\u003eli\u003ea\u0027, (e) \u003d\u003e {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" $dropdown.each((content) \u003d\u003e {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" if (content.contains(e.target)) content.classList.remove(\u0027open\u0027);"},{"lineNumber":238,"author":{"gitId":"-"},"content":" });"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }).onBlur((e) \u003d\u003e {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" $dropdown.each((content) \u003d\u003e {"},{"lineNumber":241,"author":{"gitId":"-"},"content":" if (!content.contains(e.target)) content.classList.remove(\u0027open\u0027);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" });"},{"lineNumber":243,"author":{"gitId":"-"},"content":" });"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" // highlight current nav link"},{"lineNumber":246,"author":{"gitId":"-"},"content":" this.highlightLink(window.location.href);"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" // scroll default navbar horizontally to current link if it is beyond the current scroll"},{"lineNumber":249,"author":{"gitId":"-"},"content":" const currentNavlink \u003d $(this.$refs.navbarDefault).find(\u0027.current\u0027)[0];"},{"lineNumber":250,"author":{"gitId":"-"},"content":" if (currentNavlink \u0026\u0026 window.innerWidth \u003c 768"},{"lineNumber":251,"author":{"gitId":"-"},"content":" \u0026\u0026 currentNavlink.offsetLeft + currentNavlink.offsetWidth \u003e window.innerWidth) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" this.$refs.navbarDefault.scrollLeft \u003d currentNavlink.offsetLeft + currentNavlink.offsetWidth"},{"lineNumber":253,"author":{"gitId":"-"},"content":" - window.innerWidth;"},{"lineNumber":254,"author":{"gitId":"-"},"content":" }"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":" this.toggleLowerNavbar();"},{"lineNumber":257,"author":{"gitId":"-"},"content":" $(window).on(\u0027resize\u0027, this.toggleLowerNavbar);"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" // scroll default navbar horizontally when mousewheel is scrolled"},{"lineNumber":260,"author":{"gitId":"-"},"content":" $(this.$refs.navbarDefault).on(\u0027wheel\u0027, (e) \u003d\u003e {"},{"lineNumber":261,"author":{"gitId":"-"},"content":" const isDropdown \u003d (nodes) \u003d\u003e {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c nodes.length; i +\u003d 1) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" if (nodes[i].classList \u0026\u0026 nodes[i].classList.contains(\u0027dropdown-menu\u0027)) {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":268,"author":{"gitId":"-"},"content":" };"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" // prevent horizontal scrolling if the scroll is on dropdown menu"},{"lineNumber":271,"author":{"gitId":"-"},"content":" if (window.innerWidth \u003c 768 \u0026\u0026 !isDropdown(e.path)) {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" e.preventDefault();"},{"lineNumber":273,"author":{"gitId":"-"},"content":" this.$refs.navbarDefault.scrollLeft +\u003d e.deltaY;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":" });"},{"lineNumber":276,"author":{"gitId":"-"},"content":" },"},{"lineNumber":277,"author":{"gitId":"-"},"content":" beforeDestroy() {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" $(\u0027.dropdown\u0027, this.$el).off(\u0027click\u0027).offBlur();"},{"lineNumber":279,"author":{"gitId":"-"},"content":" $(window).off(\u0027resize\u0027, this.toggleLowerNavbar);"},{"lineNumber":280,"author":{"gitId":"-"},"content":" $(this.$refs.navbarDefault).off(\u0027wheel\u0027);"},{"lineNumber":281,"author":{"gitId":"-"},"content":" },"},{"lineNumber":282,"author":{"gitId":"-"},"content":"};"},{"lineNumber":283,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":284,"author":{"gitId":"-"},"content":""},{"lineNumber":285,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":286,"author":{"gitId":"LamJiuFong"},"content":" @media (width \u003c\u003d 767px) {"},{"lineNumber":287,"author":{"gitId":"-"},"content":" .navbar {"},{"lineNumber":288,"author":{"gitId":"-"},"content":" padding-left: 0;"},{"lineNumber":289,"author":{"gitId":"-"},"content":" padding-right: 0;"},{"lineNumber":290,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" .navbar-left {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" max-width: 50%;"},{"lineNumber":295,"author":{"gitId":"-"},"content":" order: 1;"},{"lineNumber":296,"author":{"gitId":"-"},"content":" padding-left: 1rem;"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" .navbar-left * {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" white-space: normal;"},{"lineNumber":301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" .navbar-right {"},{"lineNumber":304,"author":{"gitId":"-"},"content":" order: 1;"},{"lineNumber":305,"author":{"gitId":"-"},"content":" max-width: 50%;"},{"lineNumber":306,"author":{"gitId":"-"},"content":" padding: 0 16px;"},{"lineNumber":307,"author":{"gitId":"-"},"content":" }"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":" .navbar-default {"},{"lineNumber":310,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":311,"author":{"gitId":"-"},"content":" margin-top: 0.3125rem;"},{"lineNumber":312,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":313,"author":{"gitId":"-"},"content":" order: 2;"},{"lineNumber":314,"author":{"gitId":"-"},"content":" overflow-x: scroll;"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" /* Hide overflow scroll bar */"},{"lineNumber":317,"author":{"gitId":"-"},"content":" -ms-overflow-style: none; /* IE and Edge */"},{"lineNumber":318,"author":{"gitId":"-"},"content":" scrollbar-width: none; /* Firefox */"},{"lineNumber":319,"author":{"gitId":"-"},"content":" }"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" /* Hide overflow scroll bar for Chrome and Safari */"},{"lineNumber":322,"author":{"gitId":"-"},"content":" .navbar-default::-webkit-scrollbar {"},{"lineNumber":323,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" .navbar-default ul {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" flex-direction: row;"},{"lineNumber":328,"author":{"gitId":"-"},"content":" margin-top: 0 !important;"},{"lineNumber":329,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" .navbar-default \u003e ul \u003e * {"},{"lineNumber":333,"author":{"gitId":"LamJiuFong"},"content":" background: rgb(0 0 0 / 20%);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" padding: 0.3125rem 0.625rem;"},{"lineNumber":335,"author":{"gitId":"-"},"content":" flex-grow: 1;"},{"lineNumber":336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" .navbar-light .navbar-default \u003e ul \u003e * {"},{"lineNumber":339,"author":{"gitId":"LamJiuFong"},"content":" background: rgb(0 0 0 / 5%);"},{"lineNumber":340,"author":{"gitId":"-"},"content":" }"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":" .navbar-default \u003e ul \u003e .current {"},{"lineNumber":343,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" .navbar-default a,"},{"lineNumber":347,"author":{"gitId":"-"},"content":" \u003e\u003e\u003e .dropdown-toggle {"},{"lineNumber":348,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":349,"author":{"gitId":"-"},"content":" width: max-content;"},{"lineNumber":350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" \u003e\u003e\u003e .dropdown {"},{"lineNumber":353,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":354,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":355,"author":{"gitId":"-"},"content":" }"},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"-"},"content":" .container-fluid {"},{"lineNumber":358,"author":{"gitId":"-"},"content":" padding: 0;"},{"lineNumber":359,"author":{"gitId":"-"},"content":" }"},{"lineNumber":360,"author":{"gitId":"-"},"content":" }"},{"lineNumber":361,"author":{"gitId":"-"},"content":""},{"lineNumber":362,"author":{"gitId":"-"},"content":" .navbar-brand {"},{"lineNumber":363,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" .navbar-brand \u003e img,"},{"lineNumber":367,"author":{"gitId":"-"},"content":" .navbar-brand \u003e svg {"},{"lineNumber":368,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":369,"author":{"gitId":"-"},"content":" }"},{"lineNumber":370,"author":{"gitId":"-"},"content":""},{"lineNumber":371,"author":{"gitId":"-"},"content":" .navbar-right {"},{"lineNumber":372,"author":{"gitId":"-"},"content":" padding-right: 1rem;"},{"lineNumber":373,"author":{"gitId":"-"},"content":" }"},{"lineNumber":374,"author":{"gitId":"-"},"content":""},{"lineNumber":375,"author":{"gitId":"-"},"content":" .navbar-left {"},{"lineNumber":376,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":377,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":378,"author":{"gitId":"-"},"content":" font-size: 1.25rem;"},{"lineNumber":379,"author":{"gitId":"-"},"content":" line-height: inherit;"},{"lineNumber":380,"author":{"gitId":"-"},"content":" padding: 0.3125rem 1rem;"},{"lineNumber":381,"author":{"gitId":"-"},"content":" white-space: nowrap;"},{"lineNumber":382,"author":{"gitId":"-"},"content":" }"},{"lineNumber":383,"author":{"gitId":"-"},"content":""},{"lineNumber":384,"author":{"gitId":"-"},"content":" .navbar-fixed {"},{"lineNumber":385,"author":{"gitId":"-"},"content":" position: fixed;"},{"lineNumber":386,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":387,"author":{"gitId":"-"},"content":" z-index: 1000;"},{"lineNumber":388,"author":{"gitId":"-"},"content":" }"},{"lineNumber":389,"author":{"gitId":"-"},"content":""},{"lineNumber":390,"author":{"gitId":"-"},"content":" .navbar-default {"},{"lineNumber":391,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":392,"author":{"gitId":"-"},"content":" flex-basis: auto;"},{"lineNumber":393,"author":{"gitId":"-"},"content":" flex-grow: 1;"},{"lineNumber":394,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":395,"author":{"gitId":"-"},"content":" }"},{"lineNumber":396,"author":{"gitId":"-"},"content":""},{"lineNumber":397,"author":{"gitId":"-"},"content":" \u003e\u003e\u003e .dropdown-current {"},{"lineNumber":398,"author":{"gitId":"-"},"content":" color: #fff !important;"},{"lineNumber":399,"author":{"gitId":"-"},"content":" background: #007bff;"},{"lineNumber":400,"author":{"gitId":"-"},"content":" }"},{"lineNumber":401,"author":{"gitId":"-"},"content":""},{"lineNumber":402,"author":{"gitId":"-"},"content":" .lower-navbar-container {"},{"lineNumber":403,"author":{"gitId":"-"},"content":" background-color: #fff;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" border-bottom: 1px solid #c1c1c1;"},{"lineNumber":405,"author":{"gitId":"-"},"content":" height: 50px;"},{"lineNumber":406,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":407,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":408,"author":{"gitId":"-"},"content":" }"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" /* Navbar link highlight for current page */"},{"lineNumber":411,"author":{"gitId":"-"},"content":" .navbar.navbar-dark .navbar-nav \u003e\u003e\u003e .current:not(.dropdown) a,"},{"lineNumber":412,"author":{"gitId":"-"},"content":" .navbar.navbar-dark .navbar-nav \u003e\u003e\u003e .dropdown.current \u003e a {"},{"lineNumber":413,"author":{"gitId":"-"},"content":" color: #fff;"},{"lineNumber":414,"author":{"gitId":"-"},"content":" }"},{"lineNumber":415,"author":{"gitId":"-"},"content":""},{"lineNumber":416,"author":{"gitId":"-"},"content":" .navbar.navbar-light .navbar-nav \u003e\u003e\u003e .current:not(.dropdown) a,"},{"lineNumber":417,"author":{"gitId":"-"},"content":" .navbar.navbar-light .navbar-nav \u003e\u003e\u003e .dropdown.current \u003e a {"},{"lineNumber":418,"author":{"gitId":"-"},"content":" color: #000;"},{"lineNumber":419,"author":{"gitId":"-"},"content":" }"},{"lineNumber":420,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":3,"-":417}},{"path":"packages/vue-components/src/Pic.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cspan :class\u003d\"[\u0027image-wrapper\u0027, addClass]\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cimg"},{"lineNumber":4,"author":{"gitId":"-"},"content":" ref\u003d\"pic\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" :src\u003d\"src\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" :alt\u003d\"alt\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" :width\u003d\"computedWidth\""},{"lineNumber":8,"author":{"gitId":"LamJiuFong"},"content":" :height\u003d\"computedHeight\""},{"lineNumber":9,"author":{"gitId":"LamJiuFong"},"content":" :loading\u003d\"computedLoadType\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" class\u003d\"img-fluid rounded\""},{"lineNumber":11,"author":{"gitId":"LamJiuFong"},"content":" @load.once\u003d\"computeWidthAndHeight\""},{"lineNumber":12,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"image-caption\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import { toNumber } from \u0027./utils/utils\u0027;"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" src: {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" },"},{"lineNumber":28,"author":{"gitId":"-"},"content":" alt: {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":31,"author":{"gitId":"-"},"content":" },"},{"lineNumber":32,"author":{"gitId":"-"},"content":" height: {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" },"},{"lineNumber":36,"author":{"gitId":"-"},"content":" width: {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" },"},{"lineNumber":40,"author":{"gitId":"LamJiuFong"},"content":" lazy: {"},{"lineNumber":41,"author":{"gitId":"LamJiuFong"},"content":" type: Boolean,"},{"lineNumber":42,"author":{"gitId":"LamJiuFong"},"content":" default: false,"},{"lineNumber":43,"author":{"gitId":"LamJiuFong"},"content":" },"},{"lineNumber":44,"author":{"gitId":"-"},"content":" addClass: {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" },"},{"lineNumber":48,"author":{"gitId":"-"},"content":" },"},{"lineNumber":49,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" hasWidth() {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return this.width !\u003d\u003d \u0027\u0027;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" },"},{"lineNumber":53,"author":{"gitId":"-"},"content":" hasHeight() {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" return this.height !\u003d\u003d \u0027\u0027;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" },"},{"lineNumber":56,"author":{"gitId":"-"},"content":" computedWidth() {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" if (this.hasWidth) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" return this.width;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return this.widthFromHeight;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" },"},{"lineNumber":62,"author":{"gitId":"LamJiuFong"},"content":" computedHeight() {"},{"lineNumber":63,"author":{"gitId":"LamJiuFong"},"content":" return this.heightFromWidth;"},{"lineNumber":64,"author":{"gitId":"LamJiuFong"},"content":" },"},{"lineNumber":65,"author":{"gitId":"LamJiuFong"},"content":" computedLoadType() {"},{"lineNumber":66,"author":{"gitId":"LamJiuFong"},"content":" return this.lazy ? \u0027lazy\u0027 : \u0027eager\u0027;"},{"lineNumber":67,"author":{"gitId":"LamJiuFong"},"content":" },"},{"lineNumber":68,"author":{"gitId":"-"},"content":" },"},{"lineNumber":69,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" widthFromHeight: \u0027\u0027,"},{"lineNumber":72,"author":{"gitId":"LamJiuFong"},"content":" heightFromWidth: \u0027\u0027,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" };"},{"lineNumber":74,"author":{"gitId":"-"},"content":" },"},{"lineNumber":75,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":76,"author":{"gitId":"LamJiuFong"},"content":" computeWidthAndHeight() {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" const renderedImg \u003d this.$refs.pic;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" const imgHeight \u003d renderedImg.naturalHeight;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" const imgWidth \u003d renderedImg.naturalWidth;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" const aspectRatio \u003d imgWidth / imgHeight;"},{"lineNumber":81,"author":{"gitId":"LamJiuFong"},"content":" if (this.hasWidth) { // if width is present, overwrite the height (if any) to maintain aspect ratio"},{"lineNumber":82,"author":{"gitId":"LamJiuFong"},"content":" this.heightFromWidth \u003d Math.round(toNumber(this.width) / aspectRatio).toString();"},{"lineNumber":83,"author":{"gitId":"LamJiuFong"},"content":" } else if (this.hasHeight) {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" this.widthFromHeight \u003d Math.round(toNumber(this.height) * aspectRatio).toString();"},{"lineNumber":85,"author":{"gitId":"LamJiuFong"},"content":" this.heightFromWidth \u003d this.height;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":" },"},{"lineNumber":88,"author":{"gitId":"-"},"content":" },"},{"lineNumber":89,"author":{"gitId":"-"},"content":"};"},{"lineNumber":90,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" .image-wrapper {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":95,"author":{"gitId":"-"},"content":" text-align: center;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" padding: 4px;"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" .image-caption {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":19,"-":83}},{"path":"packages/vue-components/src/Popover.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":3,"author":{"gitId":"-"},"content":" :class\u003d\"trigger \u003d\u003d\u003d \u0027click\u0027 ? \u0027trigger-click\u0027 : \u0027trigger\u0027\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" data-mb-component-type\u003d\"popover\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" tabindex\u003d\"0\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cportal v-if\u003d\"targetEl.id\" :to\u003d\"\u0027popover:\u0027 + targetEl.id\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003ch3 v-if\u003d\"hasHeader\" class\u003d\"popover-header\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003c/h3\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"popover-body\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"content\"\u003e\u003c/slot\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \u003c/portal\u003e\u003c!-- do not delete this comment, it is for the stray space issue (#2419)"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" --\u003e\u003cv-popover"},{"lineNumber":16,"author":{"gitId":"-"},"content":" v-if\u003d\"isMounted\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" :auto-hide\u003d\"!isInput\""},{"lineNumber":18,"author":{"gitId":"-"},"content":" :triggers\u003d\"triggers\""},{"lineNumber":19,"author":{"gitId":"-"},"content":" :popper-triggers\u003d\"triggers\""},{"lineNumber":20,"author":{"gitId":"-"},"content":" :hide-triggers\u003d\"triggers\""},{"lineNumber":21,"author":{"gitId":"-"},"content":" :placement\u003d\"placement\""},{"lineNumber":22,"author":{"gitId":"-"},"content":" :delay\u003d\"0\""},{"lineNumber":23,"author":{"gitId":"-"},"content":" shift-cross-axis"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003c!-- floating-vue triggers must be elements that receive mouse events, hence an empty @click --\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003cspan v-if\u003d\"!isInput\" @click.stop\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003c!-- However, input elements are handled separately as they will lose focus when wrapped in a span --\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003cslot v-else\u003e\u003c/slot\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003ctemplate #popper\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"popover-container\"\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003ch3 v-if\u003d\"hasHeader\" class\u003d\"popover-header\"\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003c/h3\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"popover-body\"\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"content\"\u003e\u003c/slot\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003c/template\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003c/v-popover\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":"// eslint-disable-next-line import/no-extraneous-dependencies"},{"lineNumber":47,"author":{"gitId":"-"},"content":"import { Portal } from \u0027portal-vue\u0027;"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" name: \u0027Popover\u0027,"},{"lineNumber":51,"author":{"gitId":"-"},"content":" components: {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" Portal,"},{"lineNumber":53,"author":{"gitId":"-"},"content":" },"},{"lineNumber":54,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" trigger: {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":57,"author":{"gitId":"-"},"content":" default: \u0027hover focus\u0027,"},{"lineNumber":58,"author":{"gitId":"-"},"content":" },"},{"lineNumber":59,"author":{"gitId":"-"},"content":" placement: {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" default: \u0027top\u0027,"},{"lineNumber":62,"author":{"gitId":"-"},"content":" },"},{"lineNumber":63,"author":{"gitId":"-"},"content":" },"},{"lineNumber":64,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" targetEl: {},"},{"lineNumber":67,"author":{"gitId":"-"},"content":" isMounted: false,"},{"lineNumber":68,"author":{"gitId":"-"},"content":" };"},{"lineNumber":69,"author":{"gitId":"-"},"content":" },"},{"lineNumber":70,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" triggers() {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" return this.trigger.split(\u0027 \u0027);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" },"},{"lineNumber":74,"author":{"gitId":"-"},"content":" hasHeader() {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" return !!this.$slots.header;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" },"},{"lineNumber":77,"author":{"gitId":"-"},"content":" },"},{"lineNumber":78,"author":{"gitId":"-"},"content":" mounted() {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" this.targetEl \u003d this.$el;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" // \u003cinput\u003e tags need to be handled separately as they need to retain focus on inputs"},{"lineNumber":81,"author":{"gitId":"-"},"content":" this.isInput \u003d this.$slots.default \u0026\u0026 this.$slots.default.some(node \u003d\u003e node.tag \u003d\u003d\u003d \u0027input\u0027);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" this.isMounted \u003d true;"},{"lineNumber":83,"author":{"gitId":"-"},"content":" },"},{"lineNumber":84,"author":{"gitId":"-"},"content":"};"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .popover-container {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" overflow: auto;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" max-height: 50vh;"},{"lineNumber":91,"author":{"gitId":"-"},"content":" max-width: 276px; /* following bootstrap */"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" .popover-body {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" font-size: 0.875rem; /* following bootstrap */"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" .v-popper {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" display: inline;"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"-":99,"yiwen101":2}},{"path":"packages/vue-components/src/Searchbar.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv style\u003d\"position: relative;\" class\u003d\"dropdown\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"algolia\" id\u003d\"algolia-search-input\"\u003e\u003c/div\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003ctemplate v-else\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cinput"},{"lineNumber":6,"author":{"gitId":"-"},"content":" v-model\u003d\"value\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" data-bs-toggle\u003d\"dropdown\""},{"lineNumber":8,"author":{"gitId":"-"},"content":" type\u003d\"text\""},{"lineNumber":9,"author":{"gitId":"-"},"content":" class\u003d\"form-control\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" :placeholder\u003d\"placeholder\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" autocomplete\u003d\"off\""},{"lineNumber":12,"author":{"gitId":"-"},"content":" @input\u003d\"update\""},{"lineNumber":13,"author":{"gitId":"-"},"content":" @keyup.up\u003d\"up\""},{"lineNumber":14,"author":{"gitId":"-"},"content":" @keyup.down\u003d\"down\""},{"lineNumber":15,"author":{"gitId":"-"},"content":" @keydown.enter\u003d\"hit\""},{"lineNumber":16,"author":{"gitId":"-"},"content":" @keydown.esc\u003d\"reset\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" @blur\u003d\"showDropdown \u003d false\""},{"lineNumber":18,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-control placeholder-div-hidden\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" {{ placeholder }}"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/template\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cul ref\u003d\"dropdown\" :class\u003d\"dropdownMenuClasses\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003cli"},{"lineNumber":25,"author":{"gitId":"-"},"content":" v-for\u003d\"(item, index) in items\""},{"lineNumber":26,"author":{"gitId":"-"},"content":" :key\u003d\"index\""},{"lineNumber":27,"author":{"gitId":"-"},"content":" :class\u003d\"{ \u0027table-active\u0027: isActive(index) }\""},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003ca"},{"lineNumber":30,"author":{"gitId":"-"},"content":" class\u003d\"dropdown-item\""},{"lineNumber":31,"author":{"gitId":"-"},"content":" @mousedown.prevent\u003d\"hit\""},{"lineNumber":32,"author":{"gitId":"-"},"content":" @mousemove\u003d\"setActive(index)\""},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003csearchbar-page-item :item\u003d\"item\" :value\u003d\"value\" /\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003c/ul\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import searchbarPageItem from \u0027./SearchbarPageItem.vue\u0027;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import { delayer, getJSON } from \u0027./utils/utils\u0027;"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"const _DELAY_ \u003d 200;"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" created() {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" this.items \u003d this.primitiveData;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" },"},{"lineNumber":51,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" data: {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" type: Array,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" default: () \u003d\u003e [],"},{"lineNumber":55,"author":{"gitId":"-"},"content":" },"},{"lineNumber":56,"author":{"gitId":"-"},"content":" limit: {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" type: Number,"},{"lineNumber":58,"author":{"gitId":"-"},"content":" default: 8,"},{"lineNumber":59,"author":{"gitId":"-"},"content":" },"},{"lineNumber":60,"author":{"gitId":"-"},"content":" async: {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":62,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":63,"author":{"gitId":"-"},"content":" },"},{"lineNumber":64,"author":{"gitId":"-"},"content":" keyProp: {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":67,"author":{"gitId":"-"},"content":" },"},{"lineNumber":68,"author":{"gitId":"-"},"content":" onHit: {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" type: Function,"},{"lineNumber":70,"author":{"gitId":"-"},"content":" default(items) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" this.reset();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" this.value \u003d items;"},{"lineNumber":73,"author":{"gitId":"-"},"content":" },"},{"lineNumber":74,"author":{"gitId":"-"},"content":" },"},{"lineNumber":75,"author":{"gitId":"-"},"content":" placeholder: {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":77,"author":{"gitId":"-"},"content":" default: \u0027Search\u0027,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" },"},{"lineNumber":79,"author":{"gitId":"-"},"content":" delay: {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" type: Number,"},{"lineNumber":81,"author":{"gitId":"-"},"content":" default: _DELAY_,"},{"lineNumber":82,"author":{"gitId":"-"},"content":" },"},{"lineNumber":83,"author":{"gitId":"-"},"content":" menuAlignRight: {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":85,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" },"},{"lineNumber":87,"author":{"gitId":"-"},"content":" algolia: {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":89,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":90,"author":{"gitId":"-"},"content":" },"},{"lineNumber":91,"author":{"gitId":"-"},"content":" },"},{"lineNumber":92,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" value: \u0027\u0027,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" showDropdown: false,"},{"lineNumber":96,"author":{"gitId":"-"},"content":" noResults: true,"},{"lineNumber":97,"author":{"gitId":"-"},"content":" current: 0,"},{"lineNumber":98,"author":{"gitId":"-"},"content":" items: [],"},{"lineNumber":99,"author":{"gitId":"-"},"content":" };"},{"lineNumber":100,"author":{"gitId":"-"},"content":" },"},{"lineNumber":101,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" primitiveData() {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" // Returns the total number of matches between an array of regex patterns and string search targets."},{"lineNumber":104,"author":{"gitId":"-"},"content":" function getTotalMatches(searchTargets, regexes) {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" const searchTarget \u003d searchTargets.join(\u0027 \u0027);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" return regexes.reduce((total, regex) \u003d\u003e {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" const matches \u003d searchTarget.match(regex);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" return total + (matches ? matches.length : 0);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }, 0);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" if (this.value.length \u003c 2 || !this.data) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" return [];"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":116,"author":{"gitId":"-"},"content":" const pages \u003d [];"},{"lineNumber":117,"author":{"gitId":"-"},"content":" const regexes \u003d this.value.split(\u0027 \u0027)"},{"lineNumber":118,"author":{"gitId":"-"},"content":" .filter(searchKeyword \u003d\u003e searchKeyword !\u003d\u003d \u0027\u0027)"},{"lineNumber":119,"author":{"gitId":"-"},"content":" .map(searchKeyword \u003d\u003e searchKeyword.replace(/[.*+?^${}()|[\\]\\\\]/g, \u0027\\\\$\u0026\u0027))"},{"lineNumber":120,"author":{"gitId":"-"},"content":" .map(searchKeyword \u003d\u003e new RegExp(searchKeyword, \u0027ig\u0027));"},{"lineNumber":121,"author":{"gitId":"-"},"content":" this.data.forEach((entry) \u003d\u003e {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" const {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" headings,"},{"lineNumber":124,"author":{"gitId":"-"},"content":" src,"},{"lineNumber":125,"author":{"gitId":"-"},"content":" title,"},{"lineNumber":126,"author":{"gitId":"-"},"content":" headingKeywords,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" frontmatterKeywords,"},{"lineNumber":128,"author":{"gitId":"-"},"content":" } \u003d entry;"},{"lineNumber":129,"author":{"gitId":"-"},"content":" const keywords \u003d frontmatterKeywords || \u0027\u0027;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" const displayTitle \u003d title || src.substring(0, src.lastIndexOf(\u0027.\u0027));"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" const pageSearchTargets \u003d ["},{"lineNumber":133,"author":{"gitId":"-"},"content":" displayTitle,"},{"lineNumber":134,"author":{"gitId":"-"},"content":" keywords,"},{"lineNumber":135,"author":{"gitId":"-"},"content":" ...Object.values(headings),"},{"lineNumber":136,"author":{"gitId":"-"},"content":" ...Object.values(headingKeywords),"},{"lineNumber":137,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":138,"author":{"gitId":"-"},"content":" const totalPageMatches \u003d getTotalMatches(pageSearchTargets, regexes);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" if (totalPageMatches \u003e 0) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" const pageHeadings \u003d [];"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" Object.entries(headings).forEach(([id, text], idx) \u003d\u003e {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" const matchesHeading \u003d regexes.some(regex \u003d\u003e regex.test(text));"},{"lineNumber":145,"author":{"gitId":"-"},"content":" const matchesKeywords \u003d headingKeywords[id] \u0026\u0026 headingKeywords[id]"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .some(keyword \u003d\u003e regexes.some(regex \u003d\u003e regex.test(keyword)));"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" if (matchesHeading || matchesKeywords) {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" const headingSearchTargets \u003d ["},{"lineNumber":150,"author":{"gitId":"-"},"content":" text,"},{"lineNumber":151,"author":{"gitId":"-"},"content":" ...(headingKeywords[id] || []),"},{"lineNumber":152,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":153,"author":{"gitId":"-"},"content":" const totalHeadingMatches \u003d getTotalMatches(headingSearchTargets, regexes);"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" if (!(idx \u003d\u003d\u003d 0 \u0026\u0026 text \u003d\u003d\u003d displayTitle \u0026\u0026 !keywords.length)) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" pageHeadings.push({"},{"lineNumber":157,"author":{"gitId":"-"},"content":" heading: { id, text },"},{"lineNumber":158,"author":{"gitId":"-"},"content":" keywords: headingKeywords[id],"},{"lineNumber":159,"author":{"gitId":"-"},"content":" src,"},{"lineNumber":160,"author":{"gitId":"-"},"content":" totalMatches: totalHeadingMatches,"},{"lineNumber":161,"author":{"gitId":"-"},"content":" });"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":" });"},{"lineNumber":165,"author":{"gitId":"-"},"content":" pageHeadings.sort((a, b) \u003d\u003e b.totalMatches - a.totalMatches);"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" pages.push({"},{"lineNumber":168,"author":{"gitId":"-"},"content":" headings: pageHeadings,"},{"lineNumber":169,"author":{"gitId":"-"},"content":" keywords,"},{"lineNumber":170,"author":{"gitId":"-"},"content":" src,"},{"lineNumber":171,"author":{"gitId":"-"},"content":" title: displayTitle,"},{"lineNumber":172,"author":{"gitId":"-"},"content":" totalMatches: totalPageMatches,"},{"lineNumber":173,"author":{"gitId":"-"},"content":" });"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":" });"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" return pages"},{"lineNumber":178,"author":{"gitId":"-"},"content":" .sort((a, b) \u003d\u003e b.totalMatches - a.totalMatches)"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .flatMap((page) \u003d\u003e {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" if (page.headings) {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" return [page, ...page.headings];"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":" return page;"},{"lineNumber":184,"author":{"gitId":"-"},"content":" });"},{"lineNumber":185,"author":{"gitId":"-"},"content":" },"},{"lineNumber":186,"author":{"gitId":"-"},"content":" dropdownMenuClasses() {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" return ["},{"lineNumber":188,"author":{"gitId":"-"},"content":" \u0027dropdown-menu\u0027,"},{"lineNumber":189,"author":{"gitId":"-"},"content":" \u0027search-dropdown-menu\u0027,"},{"lineNumber":190,"author":{"gitId":"-"},"content":" { show: this.showDropdown },"},{"lineNumber":191,"author":{"gitId":"-"},"content":" { \u0027d-none\u0027: !this.showDropdown },"},{"lineNumber":192,"author":{"gitId":"-"},"content":" { \u0027dropdown-menu-end\u0027: this.menuAlignRight },"},{"lineNumber":193,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":194,"author":{"gitId":"-"},"content":" },"},{"lineNumber":195,"author":{"gitId":"-"},"content":" },"},{"lineNumber":196,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" update() {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" if (!this.value) {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" this.reset();"},{"lineNumber":200,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":201,"author":{"gitId":"-"},"content":" }"},{"lineNumber":202,"author":{"gitId":"-"},"content":" if (this.data) {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" this.items \u003d this.primitiveData;"},{"lineNumber":204,"author":{"gitId":"-"},"content":" this.showDropdown \u003d this.items.length \u003e 0;"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":" if (this.async) this.query();"},{"lineNumber":207,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":208,"author":{"gitId":"-"},"content":" },"},{"lineNumber":209,"author":{"gitId":"-"},"content":" query: delayer(function () {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" getJSON(this.async + this.value).then((data) \u003d\u003e {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" this.items \u003d (this.keyProp ? data[this.keyProp] : data).slice(0, this.limit);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" this.showDropdown \u003d this.items.length;"},{"lineNumber":213,"author":{"gitId":"-"},"content":" });"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }, \u0027delay\u0027, _DELAY_),"},{"lineNumber":215,"author":{"gitId":"-"},"content":" reset() {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" this.items \u003d [];"},{"lineNumber":217,"author":{"gitId":"-"},"content":" this.value \u003d \u0027\u0027;"},{"lineNumber":218,"author":{"gitId":"-"},"content":" this.loading \u003d false;"},{"lineNumber":219,"author":{"gitId":"-"},"content":" this.showDropdown \u003d false;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" },"},{"lineNumber":221,"author":{"gitId":"-"},"content":" setActive(index) {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" this.current \u003d index;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" },"},{"lineNumber":224,"author":{"gitId":"-"},"content":" isActive(index) {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" return this.current \u003d\u003d\u003d index;"},{"lineNumber":226,"author":{"gitId":"-"},"content":" },"},{"lineNumber":227,"author":{"gitId":"-"},"content":" hit(e) {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" e.preventDefault();"},{"lineNumber":229,"author":{"gitId":"-"},"content":" this.onHit(this.items[this.current], this);"},{"lineNumber":230,"author":{"gitId":"-"},"content":" },"},{"lineNumber":231,"author":{"gitId":"-"},"content":" down() {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" if (this.current \u003c this.items.length - 1) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" this.current +\u003d 1;"},{"lineNumber":234,"author":{"gitId":"-"},"content":" this.scrollListView();"},{"lineNumber":235,"author":{"gitId":"-"},"content":" }"},{"lineNumber":236,"author":{"gitId":"-"},"content":" },"},{"lineNumber":237,"author":{"gitId":"-"},"content":" up() {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" if (this.current \u003e 0) {"},{"lineNumber":239,"author":{"gitId":"-"},"content":" this.current -\u003d 1;"},{"lineNumber":240,"author":{"gitId":"-"},"content":" this.scrollListView();"},{"lineNumber":241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":242,"author":{"gitId":"-"},"content":" },"},{"lineNumber":243,"author":{"gitId":"-"},"content":" scrollListView() {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" const { dropdown } \u003d this.$refs;"},{"lineNumber":245,"author":{"gitId":"-"},"content":" const currentEntry \u003d dropdown.children[this.current];"},{"lineNumber":246,"author":{"gitId":"-"},"content":" const upperBound \u003d dropdown.scrollTop;"},{"lineNumber":247,"author":{"gitId":"-"},"content":" const lowerBound \u003d upperBound + dropdown.clientHeight;"},{"lineNumber":248,"author":{"gitId":"-"},"content":" const currentEntryOffsetBottom \u003d currentEntry.offsetTop + currentEntry.offsetHeight;"},{"lineNumber":249,"author":{"gitId":"-"},"content":" if (currentEntry.offsetTop \u003c upperBound) {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" dropdown.scrollTop \u003d currentEntry.offsetTop;"},{"lineNumber":251,"author":{"gitId":"-"},"content":" } else if (currentEntryOffsetBottom \u003e lowerBound) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" dropdown.scrollTop \u003d currentEntryOffsetBottom - dropdown.clientHeight;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":" },"},{"lineNumber":255,"author":{"gitId":"-"},"content":" },"},{"lineNumber":256,"author":{"gitId":"-"},"content":" components: {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" searchbarPageItem,"},{"lineNumber":258,"author":{"gitId":"-"},"content":" },"},{"lineNumber":259,"author":{"gitId":"-"},"content":"};"},{"lineNumber":260,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":263,"author":{"gitId":"-"},"content":" .dropdown {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":" .form-control {"},{"lineNumber":268,"author":{"gitId":"-"},"content":" min-width: 12.7em;"},{"lineNumber":269,"author":{"gitId":"-"},"content":" max-width: 25.4em; /* twice of min-width, to accommodate a range of lengths */"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" /* For mobile devices and general tablets in portrait e.g. iPad */"},{"lineNumber":273,"author":{"gitId":"LamJiuFong"},"content":" @media screen and (width \u003c\u003d 878px) and (orientation: portrait) {"},{"lineNumber":274,"author":{"gitId":"-"},"content":" .form-control {"},{"lineNumber":275,"author":{"gitId":"-"},"content":" min-width: 8em;"},{"lineNumber":276,"author":{"gitId":"-"},"content":" max-width: 16em; /* twice of min-width, to accommodate a range of lengths */"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" /* For general tablets in landscape e.g. iPad */"},{"lineNumber":281,"author":{"gitId":"LamJiuFong"},"content":" @media screen and (width \u003e\u003d 768px) and (width \u003c\u003d 878px) and (orientation: landscape) {"},{"lineNumber":282,"author":{"gitId":"-"},"content":" .form-control {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" min-width: 9em;"},{"lineNumber":284,"author":{"gitId":"-"},"content":" max-width: 18em; /* twice of min-width, to accommodate a range of lengths */"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" .table-active {"},{"lineNumber":289,"author":{"gitId":"LamJiuFong"},"content":" background-color: rgb(0 0 0 / 7.5%); /* follows Bootstrap\u0027s table-active */"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" .dropdown-menu-end {"},{"lineNumber":293,"author":{"gitId":"-"},"content":" right: 0;"},{"lineNumber":294,"author":{"gitId":"-"},"content":" left: auto;"},{"lineNumber":295,"author":{"gitId":"-"},"content":" }"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" .placeholder-div-hidden {"},{"lineNumber":298,"author":{"gitId":"-"},"content":" /* prevents placeholderDiv from taking up space on the navbar to resolve FOUC */"},{"lineNumber":299,"author":{"gitId":"-"},"content":" height: 0;"},{"lineNumber":300,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":301,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":302,"author":{"gitId":"-"},"content":" border-top: 0;"},{"lineNumber":303,"author":{"gitId":"-"},"content":" border-bottom: 0;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" visibility: hidden;"},{"lineNumber":305,"author":{"gitId":"-"},"content":" overflow: hidden;"},{"lineNumber":306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":307,"author":{"gitId":"-"},"content":"\u003c/style\u003e"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":310,"author":{"gitId":"-"},"content":" .search-dropdown-menu {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" min-width: 30em;"},{"lineNumber":312,"author":{"gitId":"-"},"content":" max-height: 30em;"},{"lineNumber":313,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":314,"author":{"gitId":"-"},"content":" }"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" .dropdown-menu \u003e li \u003e a {"},{"lineNumber":317,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"LamJiuFong"},"content":" @media screen and (width \u003c\u003d 768px) {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" .search-dropdown-menu {"},{"lineNumber":322,"author":{"gitId":"-"},"content":" min-width: 90vw;"},{"lineNumber":323,"author":{"gitId":"-"},"content":" max-height: 30em;"},{"lineNumber":324,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":325,"author":{"gitId":"-"},"content":" }"},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":" .dropdown-menu.search-dropdown-menu {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":331,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":4,"-":327}},{"path":"packages/vue-components/src/SiteNav.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"site-nav-root\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import normalizeUrl from \u0027./utils/urls\u0027;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":11,"author":{"gitId":"-"},"content":" name: \u0027SiteNav\u0027,"},{"lineNumber":12,"author":{"gitId":"-"},"content":" mounted() {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" const currentUrl \u003d normalizeUrl(new URL(window.location.href).pathname);"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" this.$el.querySelectorAll(\u0027a[href]\u0027).forEach((el) \u003d\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" const linkUrl \u003d normalizeUrl(el.getAttribute(\u0027href\u0027));"},{"lineNumber":17,"author":{"gitId":"-"},"content":" if (currentUrl !\u003d\u003d linkUrl) {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":19,"author":{"gitId":"-"},"content":" }"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" el.classList.add(\u0027current\u0027);"},{"lineNumber":22,"author":{"gitId":"-"},"content":" let currentEl \u003d el.parentElement;"},{"lineNumber":23,"author":{"gitId":"-"},"content":" while (currentEl \u0026\u0026 currentEl !\u003d\u003d this.$el) {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" if (currentEl.tagName.toLowerCase() \u003d\u003d\u003d \u0027ul\u0027"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u0026\u0026 currentEl.classList.contains(\u0027site-nav-dropdown-container\u0027)) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" currentEl.classList.add(\u0027site-nav-dropdown-container-open\u0027);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":" currentEl \u003d currentEl.parentElement;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":" });"},{"lineNumber":31,"author":{"gitId":"-"},"content":" },"},{"lineNumber":32,"author":{"gitId":"-"},"content":"};"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" /* Site navigation */"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" .site-nav-root a.current {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" color: #0072ec;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" /* Navigation list */"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" .site-nav-list {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" list-style-type: none;"},{"lineNumber":46,"author":{"gitId":"-"},"content":" padding-left: 0;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" }"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" .site-nav-default-list-item {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" padding: 0.5rem 0 0 2.8rem;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" transition: background-color 0.08s;"},{"lineNumber":53,"author":{"gitId":"-"},"content":" color: #454545;"},{"lineNumber":54,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" .site-nav-custom-list-item {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" padding: 0.5rem 0 0 2.8rem;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" color: #454545;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" .site-nav-list-item-0 {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" padding: 0.5rem 0 0.5rem 0.8rem;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" font-weight: 500;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" font-size: 1.2em;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" .site-nav-list-item-1 {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" padding: 0.4rem 0 0.4rem 1.3rem;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" font-size: 1.03em;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" .site-nav-list-item-2 {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" padding: 0.3rem 0 0.3rem 1.8rem;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" font-size: 0.89em;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" .site-nav-list-item-3 {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" padding: 0.2rem 0 0.2rem 2.4rem;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" font-size: 0.76em;"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" .site-nav-default-list-item:hover {"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" background-color: rgb(214 233 255 / 35%);"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" .site-nav-default-list-item a {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":89,"author":{"gitId":"-"},"content":" height: 100%;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" color: #454545;"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" .site-nav-default-list-item:hover a {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" color: black;"},{"lineNumber":95,"author":{"gitId":"-"},"content":" text-decoration: none;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" /* Navigation dropdown menu */"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" .site-nav-dropdown-btn-container {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":" place-content: center center;"},{"lineNumber":103,"author":{"gitId":"-"},"content":" width: 2rem;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" height: 1.5em;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" margin: 0 0.75rem 0 auto;"},{"lineNumber":106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" .site-nav-dropdown-btn-icon {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":110,"author":{"gitId":"-"},"content":" vertical-align: baseline;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" align-self: center;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" width: 1.5em;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" height: 1.5em;"},{"lineNumber":114,"author":{"gitId":"-"},"content":" text-align: center;"},{"lineNumber":115,"author":{"gitId":"-"},"content":" border-radius: 1rem;"},{"lineNumber":116,"author":{"gitId":"LamJiuFong"},"content":" padding: 0;"},{"lineNumber":117,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" transform: rotate(0deg);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" .site-nav-dropdown-btn-icon:hover {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" background-color: #d8e3fb;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" .site-nav-rotate-icon {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" color: #4c7ff1;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" transform: rotate(-180deg);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" .site-nav-dropdown-container {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":132,"author":{"gitId":"-"},"content":" max-height: 0;"},{"lineNumber":133,"author":{"gitId":"-"},"content":" overflow: hidden;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" transition: max-height 0.15s ease-out;"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" .site-nav-dropdown-container-open {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" max-height: 1000px;"},{"lineNumber":139,"author":{"gitId":"-"},"content":" transition: max-height 0.25s ease-in;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":3,"-":138}},{"path":"packages/vue-components/src/Submenu.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cli"},{"lineNumber":3,"author":{"gitId":"-"},"content":" ref\u003d\"submenu\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" :class\u003d\"[addClass, \u0027dropdown-submenu\u0027,"},{"lineNumber":5,"author":{"gitId":"-"},"content":" { \u0027dropend\u0027: dropright, \u0027dropstart\u0027: dropleft }]\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"button\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003ca"},{"lineNumber":9,"author":{"gitId":"-"},"content":" class\u003d\"dropdown-item submenu-toggle\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" role\u003d\"button\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" :class\u003d\"{disabled: disabled}\""},{"lineNumber":12,"author":{"gitId":"-"},"content":" data-bs-toggle\u003d\"dropdown\""},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"dropdown-menu\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cul class\u003d\"dropdown-menu\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003c/ul\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import { toBoolean } from \u0027./utils/utils\u0027;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import $ from \u0027./utils/NodeList\u0027;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import positionSubmenu from \u0027./utils/submenu\u0027;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import preventOverflowOnMobile from \u0027./utils/dropdown\u0027;"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" addClass: {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" },"},{"lineNumber":37,"author":{"gitId":"-"},"content":" disabled: {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" type: [Boolean, String],"},{"lineNumber":39,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":40,"author":{"gitId":"-"},"content":" },"},{"lineNumber":41,"author":{"gitId":"-"},"content":" },"},{"lineNumber":42,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" show: false,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" dropright: true,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" dropleft: false,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" };"},{"lineNumber":48,"author":{"gitId":"-"},"content":" },"},{"lineNumber":49,"author":{"gitId":"-"},"content":" inject: {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" isParentNavbar: {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" },"},{"lineNumber":53,"author":{"gitId":"-"},"content":" },"},{"lineNumber":54,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" disabledBool() {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" return toBoolean(this.disabled);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" },"},{"lineNumber":58,"author":{"gitId":"-"},"content":" },"},{"lineNumber":59,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" hideSubmenu() {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" this.show \u003d false;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" $(this.$refs.submenu).find(\u0027ul.dropdown-menu\u0027).each(ul \u003d\u003e ul.classList.toggle(\u0027show\u0027, false));"},{"lineNumber":63,"author":{"gitId":"-"},"content":" this.alignMenuRight();"},{"lineNumber":64,"author":{"gitId":"-"},"content":" },"},{"lineNumber":65,"author":{"gitId":"-"},"content":" showSubmenu() {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" this.show \u003d true;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" $(this.$refs.submenu).findChildren(\u0027ul\u0027).each((ul) \u003d\u003e {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" ul.classList.toggle(\u0027show\u0027, true);"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" // check if submenu is part of the navbar sliding menu on mobile"},{"lineNumber":71,"author":{"gitId":"-"},"content":" if (window.innerWidth \u003c 768 \u0026\u0026 this.isParentNavbar) {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" preventOverflowOnMobile(ul);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":74,"author":{"gitId":"-"},"content":" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" if (positionSubmenu.isRightAlign(ul)) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" this.alignMenuRight();"},{"lineNumber":78,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" this.alignMenuLeft();"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":" positionSubmenu.preventOverflow(ul);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" });"},{"lineNumber":83,"author":{"gitId":"-"},"content":" },"},{"lineNumber":84,"author":{"gitId":"-"},"content":" alignMenuRight() {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" this.dropright \u003d true;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" this.dropleft \u003d false;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" },"},{"lineNumber":88,"author":{"gitId":"-"},"content":" alignMenuLeft() {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" this.dropright \u003d false;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" this.dropleft \u003d true;"},{"lineNumber":91,"author":{"gitId":"-"},"content":" },"},{"lineNumber":92,"author":{"gitId":"-"},"content":" },"},{"lineNumber":93,"author":{"gitId":"-"},"content":" mounted() {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" const $el \u003d $(this.$refs.submenu);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" if (this.show) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" this.showSubmenu();"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":" $el.onBlur(() \u003d\u003e { this.hideSubmenu(); }, false);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027a,button\u0027).on(\u0027click\u0027, (e) \u003d\u003e {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" e.preventDefault();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" e.stopPropagation();"},{"lineNumber":102,"author":{"gitId":"-"},"content":" if (this.disabledBool) { return false; }"},{"lineNumber":103,"author":{"gitId":"-"},"content":" if (this.show) {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" this.hideSubmenu();"},{"lineNumber":105,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" this.showSubmenu();"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" });"},{"lineNumber":110,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027a,button\u0027).on(\u0027mouseover\u0027, (e) \u003d\u003e {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" e.preventDefault();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" if (window.innerWidth \u003e 767) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" const isShowing \u003d $el.findChildren(\u0027ul.show\u0027).length \u003e 0;"},{"lineNumber":114,"author":{"gitId":"-"},"content":" if (isShowing || this.disabledBool) { return false; }"},{"lineNumber":115,"author":{"gitId":"-"},"content":" e.currentTarget.click();"},{"lineNumber":116,"author":{"gitId":"-"},"content":" const fullMenu \u003d this.$parent.$parent;"},{"lineNumber":117,"author":{"gitId":"-"},"content":" fullMenu.$children.forEach((menuItem) \u003d\u003e {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" if (menuItem.$el \u003d\u003d\u003d this.$el) {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" menuItem.$refs.submenu.showSubmenu();"},{"lineNumber":120,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" menuItem.$refs.submenu.hideSubmenu();"},{"lineNumber":122,"author":{"gitId":"-"},"content":" }"},{"lineNumber":123,"author":{"gitId":"-"},"content":" });"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" });"},{"lineNumber":127,"author":{"gitId":"-"},"content":" },"},{"lineNumber":128,"author":{"gitId":"-"},"content":" beforeDestroy() {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" const $el \u003d $(this.$refs.submenu);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" $el.offBlur();"},{"lineNumber":131,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027a,button\u0027).off();"},{"lineNumber":132,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027ul\u0027).off();"},{"lineNumber":133,"author":{"gitId":"-"},"content":" },"},{"lineNumber":134,"author":{"gitId":"-"},"content":"};"},{"lineNumber":135,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .dropdown-submenu {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" color: #212529 !important;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" padding: 0 !important;"},{"lineNumber":141,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" .dropdown-submenu ul.dropdown-menu {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" margin-left: 0;"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" .dropdown \u003e ul \u003e .dropdown-submenu:last-child \u003e ul,"},{"lineNumber":149,"author":{"gitId":"-"},"content":" .btn-group \u003e ul \u003e .dropdown-submenu:last-child \u003e ul {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" margin-bottom: -0.5rem;"},{"lineNumber":151,"author":{"gitId":"-"},"content":" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"LamJiuFong"},"content":" @media (width \u003e\u003d 768px) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" .submenu-toggle::after {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" width: 0;"},{"lineNumber":157,"author":{"gitId":"-"},"content":" height: 0;"},{"lineNumber":158,"author":{"gitId":"-"},"content":" vertical-align: 0.255em;"},{"lineNumber":159,"author":{"gitId":"-"},"content":" content: \"\";"},{"lineNumber":160,"author":{"gitId":"-"},"content":" border-top: 0.3em solid transparent;"},{"lineNumber":161,"author":{"gitId":"-"},"content":" border-right: 0;"},{"lineNumber":162,"author":{"gitId":"-"},"content":" border-bottom: 0.3em solid transparent;"},{"lineNumber":163,"author":{"gitId":"-"},"content":" border-left: 0.3em solid;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":165,"author":{"gitId":"-"},"content":" margin-top: 0.5em;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":167,"author":{"gitId":"-"},"content":" }"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"LamJiuFong"},"content":" @media (width \u003c\u003d 767px) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .dropdown-submenu \u003e ul {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" border-radius: 0;"},{"lineNumber":173,"author":{"gitId":"-"},"content":" margin: -0.05rem;"},{"lineNumber":174,"author":{"gitId":"-"},"content":" position: static;"},{"lineNumber":175,"author":{"gitId":"-"},"content":" float: none;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" .submenu-toggle::after {"},{"lineNumber":179,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":180,"author":{"gitId":"-"},"content":" width: 0;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" height: 0;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" margin-left: 0.255em;"},{"lineNumber":183,"author":{"gitId":"-"},"content":" vertical-align: 0.255em;"},{"lineNumber":184,"author":{"gitId":"-"},"content":" content: \"\";"},{"lineNumber":185,"author":{"gitId":"-"},"content":" border-top: 0.3em solid;"},{"lineNumber":186,"author":{"gitId":"-"},"content":" border-right: 0.3em solid transparent;"},{"lineNumber":187,"author":{"gitId":"-"},"content":" border-bottom: 0;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" border-left: 0.3em solid transparent;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":190,"author":{"gitId":"-"},"content":" margin-top: 0.5em;"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":2,"-":191}},{"path":"packages/vue-components/src/Tooltip.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":3,"author":{"gitId":"-"},"content":" :class\u003d\"trigger \u003d\u003d\u003d \u0027click\u0027 ? \u0027trigger-click\u0027 : \u0027trigger\u0027\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" data-mb-component-type\u003d\"tooltip\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" tabindex\u003d\"0\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cportal v-if\u003d\"targetEl.id\" :to\u003d\"\u0027tooltip:\u0027 + targetEl.id\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"content\"\u003e\u003c/slot\u003e"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \u003c/portal\u003e\u003c!-- do not delete this comment, it is for the stray space issue (#2419)"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" --\u003e\u003cv-tooltip"},{"lineNumber":11,"author":{"gitId":"-"},"content":" v-if\u003d\"isMounted\""},{"lineNumber":12,"author":{"gitId":"-"},"content":" :auto-hide\u003d\"!isInput\""},{"lineNumber":13,"author":{"gitId":"-"},"content":" :triggers\u003d\"triggers\""},{"lineNumber":14,"author":{"gitId":"-"},"content":" :popper-triggers\u003d\"triggers\""},{"lineNumber":15,"author":{"gitId":"-"},"content":" :hide-triggers\u003d\"triggers\""},{"lineNumber":16,"author":{"gitId":"-"},"content":" :placement\u003d\"placement\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" :delay\u003d\"0\""},{"lineNumber":18,"author":{"gitId":"-"},"content":" shift-cross-axis"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003ctemplate #popper\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"content\"\u003e\u003c/slot\u003e"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \u003c/template\u003e\u003c!-- do not delete this comment, it is for the stray space issue (#2419)"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" --\u003e\u003cspan v-if\u003d\"!isInput\" @click.stop\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003cslot v-else\u003e\u003c/slot\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003c/v-tooltip\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"// eslint-disable-next-line import/no-extraneous-dependencies"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import { Portal } from \u0027portal-vue\u0027;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" name: \u0027Tooltip\u0027,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" components: {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" Portal,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" },"},{"lineNumber":40,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" trigger: {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":43,"author":{"gitId":"-"},"content":" default: \u0027hover focus\u0027,"},{"lineNumber":44,"author":{"gitId":"-"},"content":" },"},{"lineNumber":45,"author":{"gitId":"-"},"content":" placement: {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" default: \u0027top\u0027,"},{"lineNumber":48,"author":{"gitId":"-"},"content":" },"},{"lineNumber":49,"author":{"gitId":"-"},"content":" },"},{"lineNumber":50,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" targetEl: {},"},{"lineNumber":53,"author":{"gitId":"-"},"content":" isInput: false,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" isMounted: false,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" };"},{"lineNumber":56,"author":{"gitId":"-"},"content":" },"},{"lineNumber":57,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" triggers() {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" return this.trigger.split(\u0027 \u0027);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" },"},{"lineNumber":61,"author":{"gitId":"-"},"content":" },"},{"lineNumber":62,"author":{"gitId":"-"},"content":" mounted() {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" this.targetEl \u003d this.$el;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" // \u003cinput\u003e tags need to be handled separately as they need to retain focus on inputs"},{"lineNumber":65,"author":{"gitId":"-"},"content":" this.isInput \u003d this.$slots.default \u0026\u0026 this.$slots.default.some(node \u003d\u003e node.tag \u003d\u003d\u003d \u0027input\u0027);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" this.isMounted \u003d true;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" },"},{"lineNumber":68,"author":{"gitId":"-"},"content":"};"},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":72,"author":{"gitId":"LamJiuFong"},"content":" /* stylelint-disable selector-class-pattern */"},{"lineNumber":73,"author":{"gitId":"-"},"content":" .v-popper--theme-tooltip .v-popper__inner {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" /* following bootstrap */"},{"lineNumber":75,"author":{"gitId":"LamJiuFong"},"content":" background: rgb(0 0 0 / 90%);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" padding: 4px 8px;"},{"lineNumber":77,"author":{"gitId":"-"},"content":" font-size: 0.875rem;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" max-width: 200px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" text-align: center;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"LamJiuFong"},"content":" /* stylelint-enable selector-class-pattern */"},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":3,"-":75,"yiwen101":4}},{"path":"packages/vue-components/src/__tests__/Panels.spec.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { mount } from \u0027@vue/test-utils\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import NestedPanel from \u0027../panels/NestedPanel.vue\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"const DEFAULT_STUBS \u003d { \u0027nested-panel\u0027: NestedPanel };"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"const BOX_CONTAINER \u003d `"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003cdiv style\u003d\"color:white;\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003cnested-panel type\u003d\"seamless\"\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003ctemplate #header\u003eTest Header\u003c/template\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003cp\u003eTest Content\u003c/p\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003c/nested-panel\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":"`;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"describe(\u0027NestedPanels\u0027, () \u003d\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" test(\u0027should show header when collapsed with expandHeaderless as false\u0027, async () \u003d\u003e {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" const wrapper \u003d mount(NestedPanel, {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" propsData: {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" expandHeaderless: false,"},{"lineNumber":20,"author":{"gitId":"-"},"content":" },"},{"lineNumber":21,"author":{"gitId":"-"},"content":" slots: {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" header: \u0027test header\u0027,"},{"lineNumber":23,"author":{"gitId":"-"},"content":" },"},{"lineNumber":24,"author":{"gitId":"-"},"content":" });"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" expect(wrapper.element).toMatchSnapshot();"},{"lineNumber":27,"author":{"gitId":"-"},"content":" });"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" test(\u0027should show header after expand with expandHeaderless as false\u0027, async () \u003d\u003e {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" const wrapper \u003d mount(NestedPanel, {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" propsData: {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" expandHeaderless: false,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" },"},{"lineNumber":34,"author":{"gitId":"-"},"content":" slots: {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" header: \u0027test header\u0027,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" },"},{"lineNumber":37,"author":{"gitId":"-"},"content":" });"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" // click on header"},{"lineNumber":40,"author":{"gitId":"-"},"content":" await wrapper.find(\u0027div.card-header\u0027).trigger(\u0027click\u0027);"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" expect(wrapper.element).toMatchSnapshot();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" });"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" test(\u0027should show header when collapsed with expandHeaderless as true\u0027, async () \u003d\u003e {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" const wrapper \u003d mount(NestedPanel, {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" propsData: {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" expandHeaderless: true,"},{"lineNumber":49,"author":{"gitId":"-"},"content":" },"},{"lineNumber":50,"author":{"gitId":"-"},"content":" slots: {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" header: \u0027test header\u0027,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" },"},{"lineNumber":53,"author":{"gitId":"-"},"content":" });"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" expect(wrapper.element).toMatchSnapshot();"},{"lineNumber":56,"author":{"gitId":"-"},"content":" });"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" test(\u0027should not show header after expand with expandHeaderless as true\u0027, async () \u003d\u003e {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" const wrapper \u003d mount(NestedPanel, {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" propsData: {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" expandHeaderless: true,"},{"lineNumber":62,"author":{"gitId":"-"},"content":" },"},{"lineNumber":63,"author":{"gitId":"-"},"content":" slots: {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" header: \u0027test header\u0027,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" },"},{"lineNumber":66,"author":{"gitId":"-"},"content":" });"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" // click on header"},{"lineNumber":69,"author":{"gitId":"-"},"content":" await wrapper.find(\u0027div.card-header\u0027).trigger(\u0027click\u0027);"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" expect(wrapper.element).toMatchSnapshot();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" });"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" test(\u0027should have span.anchor when id is present\u0027, async () \u003d\u003e {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" const wrapper \u003d mount(NestedPanel, {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" propsData: {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" panelId: \u0027test-id\u0027,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" },"},{"lineNumber":79,"author":{"gitId":"-"},"content":" slots: {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" header: \u0027test header\u0027,"},{"lineNumber":81,"author":{"gitId":"-"},"content":" },"},{"lineNumber":82,"author":{"gitId":"-"},"content":" });"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" expect(wrapper.element).toMatchSnapshot();"},{"lineNumber":85,"author":{"gitId":"-"},"content":" });"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"jingting1412"},"content":" test(\u0027renders a seamless panel with a transparent background\u0027, async () \u003d\u003e {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" const wrapper \u003d mount(NestedPanel, {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" propsData: {"},{"lineNumber":90,"author":{"gitId":"jingting1412"},"content":" type: \u0027seamless\u0027,"},{"lineNumber":91,"author":{"gitId":"-"},"content":" },"},{"lineNumber":92,"author":{"gitId":"-"},"content":" slots: {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" header: \u0027test header\u0027,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" },"},{"lineNumber":95,"author":{"gitId":"-"},"content":" });"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"jingting1412"},"content":" expect(wrapper.find(\u0027.card\u0027).classes()).toContain(\u0027card-seamless\u0027);"},{"lineNumber":98,"author":{"gitId":"jingting1412"},"content":" expect(wrapper.find(\u0027.card-header\u0027).classes()).toContain(\u0027bg-transparent\u0027);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" expect(wrapper.element).toMatchSnapshot();"},{"lineNumber":100,"author":{"gitId":"-"},"content":" });"},{"lineNumber":101,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":102,"author":{"gitId":"jingting1412"},"content":" test(\u0027seamless panel should inherit parent background color\u0027, () \u003d\u003e {"},{"lineNumber":103,"author":{"gitId":"jingting1412"},"content":" const ParentComponent \u003d {"},{"lineNumber":104,"author":{"gitId":"jingting1412"},"content":" template: BOX_CONTAINER,"},{"lineNumber":105,"author":{"gitId":"jingting1412"},"content":" };"},{"lineNumber":106,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":107,"author":{"gitId":"jingting1412"},"content":" const wrapper \u003d mount(ParentComponent, {"},{"lineNumber":108,"author":{"gitId":"jingting1412"},"content":" stubs: DEFAULT_STUBS,"},{"lineNumber":109,"author":{"gitId":"jingting1412"},"content":" });"},{"lineNumber":110,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":111,"author":{"gitId":"jingting1412"},"content":" const parentElement \u003d wrapper.find(\u0027div\u0027);"},{"lineNumber":112,"author":{"gitId":"jingting1412"},"content":" const seamlessPanel \u003d wrapper.findComponent(NestedPanel);"},{"lineNumber":113,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":114,"author":{"gitId":"jingting1412"},"content":" expect(seamlessPanel.props(\u0027type\u0027)).toBe(\u0027seamless\u0027);"},{"lineNumber":115,"author":{"gitId":"jingting1412"},"content":" expect(window.getComputedStyle(seamlessPanel.element).backgroundColor).toBe("},{"lineNumber":116,"author":{"gitId":"jingting1412"},"content":" window.getComputedStyle(parentElement.element).backgroundColor,"},{"lineNumber":117,"author":{"gitId":"jingting1412"},"content":" );"},{"lineNumber":118,"author":{"gitId":"jingting1412"},"content":" });"},{"lineNumber":119,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"jingting1412":33,"-":86}},{"path":"packages/vue-components/src/annotations/Annotate.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv :class\u003d\"[\u0027annotate-image-wrapper\u0027, addClass]\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cimg"},{"lineNumber":4,"author":{"gitId":"-"},"content":" ref\u003d\"pic\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" :src\u003d\"src\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" :alt\u003d\"alt\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" :width\u003d\"computedWidth\""},{"lineNumber":8,"author":{"gitId":"LamJiuFong"},"content":" :height\u003d\"computedHeight\""},{"lineNumber":9,"author":{"gitId":"LamJiuFong"},"content":" :loading\u003d\"computedLoadType\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" class\u003d\"annotate-image\""},{"lineNumber":11,"author":{"gitId":"LamJiuFong"},"content":" @load.once\u003d\"computeWidthAndHeight\""},{"lineNumber":12,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cdiv style\u003d\"top: 0; left: 0; height: 0;\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import { toNumber } from \u0027../utils/utils\u0027;"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" src: {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" },"},{"lineNumber":28,"author":{"gitId":"-"},"content":" alt: {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":31,"author":{"gitId":"-"},"content":" },"},{"lineNumber":32,"author":{"gitId":"-"},"content":" height: {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" },"},{"lineNumber":36,"author":{"gitId":"-"},"content":" width: {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" },"},{"lineNumber":40,"author":{"gitId":"LamJiuFong"},"content":" lazy: {"},{"lineNumber":41,"author":{"gitId":"LamJiuFong"},"content":" type: Boolean,"},{"lineNumber":42,"author":{"gitId":"LamJiuFong"},"content":" default: false,"},{"lineNumber":43,"author":{"gitId":"LamJiuFong"},"content":" },"},{"lineNumber":44,"author":{"gitId":"-"},"content":" addClass: {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" },"},{"lineNumber":48,"author":{"gitId":"-"},"content":" },"},{"lineNumber":49,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" hasWidth() {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return this.width !\u003d\u003d \u0027\u0027;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" },"},{"lineNumber":53,"author":{"gitId":"-"},"content":" hasHeight() {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" return this.height !\u003d\u003d \u0027\u0027;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" },"},{"lineNumber":56,"author":{"gitId":"-"},"content":" computedWidth() {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" if (this.hasWidth) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" return this.width;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return this.widthFromHeight;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" },"},{"lineNumber":62,"author":{"gitId":"LamJiuFong"},"content":" computedHeight() {"},{"lineNumber":63,"author":{"gitId":"LamJiuFong"},"content":" return this.heightFromWidth;"},{"lineNumber":64,"author":{"gitId":"LamJiuFong"},"content":" },"},{"lineNumber":65,"author":{"gitId":"LamJiuFong"},"content":" computedLoadType() {"},{"lineNumber":66,"author":{"gitId":"LamJiuFong"},"content":" return this.lazy ? \u0027lazy\u0027 : \u0027eager\u0027;"},{"lineNumber":67,"author":{"gitId":"LamJiuFong"},"content":" },"},{"lineNumber":68,"author":{"gitId":"-"},"content":" },"},{"lineNumber":69,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" widthFromHeight: \u0027\u0027,"},{"lineNumber":72,"author":{"gitId":"LamJiuFong"},"content":" heightFromWidth: \u0027\u0027,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" };"},{"lineNumber":74,"author":{"gitId":"-"},"content":" },"},{"lineNumber":75,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":76,"author":{"gitId":"LamJiuFong"},"content":" computeWidthAndHeight() {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" const renderedImg \u003d this.$refs.pic;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" const imgHeight \u003d renderedImg.naturalHeight;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" const imgWidth \u003d renderedImg.naturalWidth;"},{"lineNumber":80,"author":{"gitId":"LamJiuFong"},"content":" const aspectRatio \u003d imgWidth / imgHeight;"},{"lineNumber":81,"author":{"gitId":"LamJiuFong"},"content":" if (this.hasWidth) { // if width is present, overwrite the height (if any) to maintain aspect ratio"},{"lineNumber":82,"author":{"gitId":"LamJiuFong"},"content":" this.heightFromWidth \u003d Math.round(toNumber(this.width) / aspectRatio).toString();"},{"lineNumber":83,"author":{"gitId":"LamJiuFong"},"content":" } else if (this.hasHeight) {"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" this.widthFromHeight \u003d Math.round(toNumber(this.height) * aspectRatio).toString();"},{"lineNumber":85,"author":{"gitId":"LamJiuFong"},"content":" this.heightFromWidth \u003d this.height;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":" },"},{"lineNumber":88,"author":{"gitId":"-"},"content":" },"},{"lineNumber":89,"author":{"gitId":"-"},"content":" provide() {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" width: this.width,"},{"lineNumber":92,"author":{"gitId":"-"},"content":" height: this.height,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" src: this.src,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" };"},{"lineNumber":95,"author":{"gitId":"-"},"content":" },"},{"lineNumber":96,"author":{"gitId":"-"},"content":"};"},{"lineNumber":97,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" .annotate-image-wrapper {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":102,"author":{"gitId":"-"},"content":" text-align: left;"},{"lineNumber":103,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" .annotate-image {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" max-width: 100%;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" height: auto;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":21,"-":89}},{"path":"packages/vue-components/src/panels/MinimalPanel.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":3,"author":{"gitId":"-"},"content":" v-if\u003d\"localMinimized\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" ref\u003d\"cardContainer\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027card-container\u0027, addClass]\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":8,"author":{"gitId":"-"},"content":" v-if\u003d\"hasId\""},{"lineNumber":9,"author":{"gitId":"-"},"content":" :id\u003d\"panelId\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" class\u003d\"anchor\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003e\u003c/span\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"morph\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"morph-display-wrapper btn card-title morph-title\" @click\u003d\"minimalOpen()\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":15,"author":{"gitId":"-"},"content":" v-if\u003d\"!noMinimizedSwitch\""},{"lineNumber":16,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027glyphicon\u0027, \u0027glyphicon-chevron-right\u0027]\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003e\u003c/div\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"_alt\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"card-title\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":27,"author":{"gitId":"-"},"content":" v-else"},{"lineNumber":28,"author":{"gitId":"-"},"content":" ref\u003d\"cardContainer\""},{"lineNumber":29,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027card-container\u0027, addClass]\""},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":32,"author":{"gitId":"-"},"content":" v-if\u003d\"hasId\""},{"lineNumber":33,"author":{"gitId":"-"},"content":" :id\u003d\"panelId\""},{"lineNumber":34,"author":{"gitId":"-"},"content":" class\u003d\"anchor\""},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003e\u003c/span\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card card-flex\"\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":38,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027header-wrapper\u0027,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" { \u0027header-wrapper-bottom\u0027: isHeaderAtBottom, \u0027header-toggle\u0027: isExpandableCard }]\""},{"lineNumber":40,"author":{"gitId":"-"},"content":" @click.prevent.stop\u003d\"isExpandableCard \u0026\u0026 minimalToggle()\""},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003ctransition name\u003d\"header-fade\"\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":44,"author":{"gitId":"-"},"content":" v-show\u003d\"!isHeaderAtBottom\""},{"lineNumber":45,"author":{"gitId":"-"},"content":" ref\u003d\"headerWrapper\""},{"lineNumber":46,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027card-title\u0027, { \u0027ellipses\u0027: !hasHeaderBool }]\""},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"card-title-inline\"\u003e\u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e\u003c/span\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":50,"author":{"gitId":"-"},"content":" v-show\u003d\"showDownSwitch\""},{"lineNumber":51,"author":{"gitId":"-"},"content":" aria-hidden\u003d\"true\""},{"lineNumber":52,"author":{"gitId":"-"},"content":" class\u003d\"minimal-button glyphicon glyphicon-menu-down minimal-menu-down\""},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003e\u003c/span\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003c/transition\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003cdiv :class\u003d\"[\u0027button-wrapper\u0027, { \u0027button-wrapper-expanded\u0027: isHeaderAtBottom }]\"\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"button\"\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":59,"author":{"gitId":"-"},"content":" v-show\u003d\"!noCloseBool\""},{"lineNumber":60,"author":{"gitId":"-"},"content":" class\u003d\"minimal-button\""},{"lineNumber":61,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":62,"author":{"gitId":"-"},"content":" @click.stop\u003d\"minimalClose()\""},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"glyphicon glyphicon-remove minimal-close-button\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":67,"author":{"gitId":"-"},"content":" v-show\u003d\"popupUrl !\u003d\u003d null\""},{"lineNumber":68,"author":{"gitId":"-"},"content":" class\u003d\"minimal-button\""},{"lineNumber":69,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":70,"author":{"gitId":"-"},"content":" @click.stop\u003d\"openPopup()\""},{"lineNumber":71,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"glyphicon glyphicon-new-window minimal-popup-button\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":75,"author":{"gitId":"-"},"content":" v-show\u003d\"isHeaderAtBottom \u0026\u0026 isExpandableCard \u0026\u0026 bottomSwitchBool\""},{"lineNumber":76,"author":{"gitId":"-"},"content":" class\u003d\"minimal-button\""},{"lineNumber":77,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"glyphicon glyphicon-menu-up minimal-menu-up\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":85,"author":{"gitId":"-"},"content":" ref\u003d\"panel\""},{"lineNumber":86,"author":{"gitId":"-"},"content":" class\u003d\"card-collapse\""},{"lineNumber":87,"author":{"gitId":"-"},"content":" :class\u003d\"{\u0027card-peek-collapsed\u0027: shouldShowPeek}\""},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":90,"author":{"gitId":"-"},"content":" v-if\u003d\"wasRetrieverLoaded || preloadBool\""},{"lineNumber":91,"author":{"gitId":"-"},"content":" class\u003d\"card-body\""},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003cretriever"},{"lineNumber":95,"author":{"gitId":"-"},"content":" v-if\u003d\"hasSrc\""},{"lineNumber":96,"author":{"gitId":"-"},"content":" ref\u003d\"retriever\""},{"lineNumber":97,"author":{"gitId":"-"},"content":" :src\u003d\"srcWithoutFragment\""},{"lineNumber":98,"author":{"gitId":"-"},"content":" :fragment\u003d\"fragment\""},{"lineNumber":99,"author":{"gitId":"-"},"content":" @src-loaded\u003d\"retrieverUpdateMaxHeight\""},{"lineNumber":100,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":"import retriever from \u0027../Retriever.vue\u0027;"},{"lineNumber":109,"author":{"gitId":"-"},"content":"import panelBase from \u0027./PanelBase\u0027;"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" mixins: [panelBase],"},{"lineNumber":113,"author":{"gitId":"-"},"content":" components: {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" retriever,"},{"lineNumber":115,"author":{"gitId":"-"},"content":" },"},{"lineNumber":116,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":119,"author":{"gitId":"-"},"content":" \u0027Copy\u0027 of localExpanded that is updated on certain animation events."},{"lineNumber":120,"author":{"gitId":"-"},"content":" It is minimal-panel specific due to its design (the header can shift to the bottom)."},{"lineNumber":121,"author":{"gitId":"-"},"content":" Its purpose is to show the header text only once the collapse animation has finished."},{"lineNumber":122,"author":{"gitId":"-"},"content":" */"},{"lineNumber":123,"author":{"gitId":"-"},"content":" isHeaderAtBottom: false,"},{"lineNumber":124,"author":{"gitId":"-"},"content":" };"},{"lineNumber":125,"author":{"gitId":"-"},"content":" },"},{"lineNumber":126,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" showDownSwitch() {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" return this.hasHeaderBool \u0026\u0026 this.isExpandableCard \u0026\u0026 !this.noSwitchBool;"},{"lineNumber":129,"author":{"gitId":"-"},"content":" },"},{"lineNumber":130,"author":{"gitId":"-"},"content":" },"},{"lineNumber":131,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" minimalToggle() {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" if (this.localExpanded) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":135,"author":{"gitId":"-"},"content":" This is a collapse."},{"lineNumber":136,"author":{"gitId":"-"},"content":" Set isHeaderAtBottom to true only at the end of transition."},{"lineNumber":137,"author":{"gitId":"-"},"content":" So that we can achieve the correct collapse transition effect of minimal panel."},{"lineNumber":138,"author":{"gitId":"-"},"content":" */"},{"lineNumber":139,"author":{"gitId":"-"},"content":" const onCollapseDone \u003d (event) \u003d\u003e {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" if (event.target \u003d\u003d\u003d this.$refs.panel) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" this.isHeaderAtBottom \u003d false;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" this.$refs.panel.removeEventListener(\u0027transitionend\u0027, onCollapseDone);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" }"},{"lineNumber":144,"author":{"gitId":"-"},"content":" };"},{"lineNumber":145,"author":{"gitId":"-"},"content":" this.$refs.panel.addEventListener(\u0027transitionend\u0027, onCollapseDone);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" // This is an expansion. Set isHeaderAtBottom to true *immediately*."},{"lineNumber":148,"author":{"gitId":"-"},"content":" this.isHeaderAtBottom \u003d true;"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":" this.toggle(true);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" },"},{"lineNumber":152,"author":{"gitId":"-"},"content":" minimalOpen() {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" this.open();"},{"lineNumber":154,"author":{"gitId":"-"},"content":" this.isHeaderAtBottom \u003d true;"},{"lineNumber":155,"author":{"gitId":"-"},"content":" },"},{"lineNumber":156,"author":{"gitId":"-"},"content":" minimalClose() {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" this.close();"},{"lineNumber":158,"author":{"gitId":"-"},"content":" this.isHeaderAtBottom \u003d false;"},{"lineNumber":159,"author":{"gitId":"-"},"content":" },"},{"lineNumber":160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":161,"author":{"gitId":"-"},"content":" created() {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" this.isHeaderAtBottom \u003d this.localExpanded;"},{"lineNumber":163,"author":{"gitId":"-"},"content":" },"},{"lineNumber":164,"author":{"gitId":"-"},"content":"};"},{"lineNumber":165,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" .card-peek-collapsed {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":174,"author":{"gitId":"-"},"content":" * Gives the faded content effect for peek."},{"lineNumber":175,"author":{"gitId":"-"},"content":" * Ensure that height has the same value as collapsedPanelHeight in PanelBase.js."},{"lineNumber":176,"author":{"gitId":"-"},"content":" */"},{"lineNumber":177,"author":{"gitId":"-"},"content":" .card-peek-collapsed::after {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" content: \"\";"},{"lineNumber":179,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":180,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" bottom: 0;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" height: 125px;"},{"lineNumber":183,"author":{"gitId":"-"},"content":" background-image: linear-gradient(180deg, transparent, white 90%);"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" .morph-title {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" padding: 0 0.3em;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" border-color: black;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" background-color: transparent;"},{"lineNumber":190,"author":{"gitId":"-"},"content":" vertical-align: top;"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" .morph-title:hover,"},{"lineNumber":194,"author":{"gitId":"-"},"content":" .morph-title:active,"},{"lineNumber":195,"author":{"gitId":"-"},"content":" .morph-title:focus {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" color: white;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" border-color: #343a40;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" background-color: #343a40;"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" .card-collapse {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" overflow: hidden;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" transition: max-height 0.5s ease-in-out;"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" .card-flex {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":208,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":209,"author":{"gitId":"-"},"content":" border: 0;"},{"lineNumber":210,"author":{"gitId":"-"},"content":" margin: 0;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" .header-fade-enter {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" opacity: 0;"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" .header-fade-leave-active {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" .header-fade-leave-to {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" opacity: 0 !important;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" .card-title-inline {"},{"lineNumber":226,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":227,"author":{"gitId":"-"},"content":" }"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" .card-body {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" padding: 0;"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" .header-wrapper {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":235,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":236,"author":{"gitId":"-"},"content":" background-color: white;"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" .header-wrapper-bottom {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" order: 1;"},{"lineNumber":241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" .ellipses::before {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":245,"author":{"gitId":"-"},"content":" bottom: 3px;"},{"lineNumber":246,"author":{"gitId":"-"},"content":" content: \u0027...\u0027;"},{"lineNumber":247,"author":{"gitId":"-"},"content":" font-weight: 900;"},{"lineNumber":248,"author":{"gitId":"-"},"content":" margin-right: 4px;"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":" .button-wrapper {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" padding-left: 2px;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" border-width: 0 0 0 1px;"},{"lineNumber":254,"author":{"gitId":"LamJiuFong"},"content":" border-color: rgb(150 150 150 / 20%);"},{"lineNumber":255,"author":{"gitId":"-"},"content":" border-style: solid;"},{"lineNumber":256,"author":{"gitId":"-"},"content":" margin-left: 2px;"},{"lineNumber":257,"author":{"gitId":"-"},"content":" width: auto;"},{"lineNumber":258,"author":{"gitId":"-"},"content":" float: none;"},{"lineNumber":259,"author":{"gitId":"-"},"content":" opacity: 0;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" transition: opacity 0.5s;"},{"lineNumber":261,"author":{"gitId":"-"},"content":" vertical-align: text-top;"},{"lineNumber":262,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":263,"author":{"gitId":"-"},"content":" }"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":" .button-wrapper-expanded {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" padding-left: 0;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" border: 0;"},{"lineNumber":268,"author":{"gitId":"-"},"content":" margin-left: 0;"},{"lineNumber":269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" .card:hover .button-wrapper {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" opacity: 1;"},{"lineNumber":273,"author":{"gitId":"-"},"content":" }"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":" .header-toggle {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" .glyphicon {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" font-size: 12px;"},{"lineNumber":281,"author":{"gitId":"-"},"content":" }"},{"lineNumber":282,"author":{"gitId":"-"},"content":""},{"lineNumber":283,"author":{"gitId":"-"},"content":" .minimal-button {"},{"lineNumber":284,"author":{"gitId":"-"},"content":" padding: 0 3px;"},{"lineNumber":285,"author":{"gitId":"-"},"content":" border: 0;"},{"lineNumber":286,"author":{"gitId":"LamJiuFong"},"content":" color: rgb(150 150 150);"},{"lineNumber":287,"author":{"gitId":"-"},"content":" background-color: transparent;"},{"lineNumber":288,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":289,"author":{"gitId":"-"},"content":" }"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":" .minimal-button:hover,"},{"lineNumber":292,"author":{"gitId":"-"},"content":" .minimal-button:active,"},{"lineNumber":293,"author":{"gitId":"-"},"content":" .minimal-button:focus {"},{"lineNumber":294,"author":{"gitId":"LamJiuFong"},"content":" color: rgb(30 30 30);"},{"lineNumber":295,"author":{"gitId":"-"},"content":" }"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" .minimal-popup-button {"},{"lineNumber":298,"author":{"gitId":"-"},"content":" top: 1px;"},{"lineNumber":299,"author":{"gitId":"-"},"content":" font-size: 9px;"},{"lineNumber":300,"author":{"gitId":"-"},"content":" }"},{"lineNumber":301,"author":{"gitId":"-"},"content":""},{"lineNumber":302,"author":{"gitId":"-"},"content":" .minimal-menu-up {"},{"lineNumber":303,"author":{"gitId":"-"},"content":" top: 2px;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" font-size: 13px;"},{"lineNumber":305,"author":{"gitId":"-"},"content":" }"},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":" .minimal-menu-down {"},{"lineNumber":308,"author":{"gitId":"-"},"content":" top: 1px;"},{"lineNumber":309,"author":{"gitId":"-"},"content":" font-size: 13px;"},{"lineNumber":310,"author":{"gitId":"-"},"content":" }"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":" .minimal-close-button {"},{"lineNumber":313,"author":{"gitId":"-"},"content":" top: 0;"},{"lineNumber":314,"author":{"gitId":"-"},"content":" font-size: 11px;"},{"lineNumber":315,"author":{"gitId":"-"},"content":" }"},{"lineNumber":316,"author":{"gitId":"-"},"content":""},{"lineNumber":317,"author":{"gitId":"-"},"content":" /* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":318,"author":{"gitId":"LamJiuFong"},"content":" @media (width \u003c\u003d 575.98px) {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" .button-wrapper-expanded {"},{"lineNumber":320,"author":{"gitId":"-"},"content":" padding-left: 0;"},{"lineNumber":321,"author":{"gitId":"-"},"content":" border: 0;"},{"lineNumber":322,"author":{"gitId":"-"},"content":" margin-left: 0;"},{"lineNumber":323,"author":{"gitId":"-"},"content":" opacity: 0.15;"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" .button-wrapper-visible {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" opacity: 1;"},{"lineNumber":328,"author":{"gitId":"-"},"content":" }"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":4,"-":326}},{"path":"packages/vue-components/src/panels/NestedPanel.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":3,"author":{"gitId":"-"},"content":" v-if\u003d\"localMinimized\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" ref\u003d\"cardContainer\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027card-container\u0027, addClass]\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"morph\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003cbutton"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" :class\u003d\"[\u0027morph-display-wrapper\u0027,"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" {\u0027morph-display-wrapper-seamless\u0027: isSeamless},"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u0027btn\u0027,"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" btnType]\""},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" @click\u003d\"open()\""},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":16,"author":{"gitId":"-"},"content":" v-if\u003d\"!noMinimizedSwitch\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" class\u003d\"minimal-caret-wrapper\""},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":20,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027glyphicon\u0027, \u0027glyphicon-chevron-right\u0027]\""},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003e\u003c/span\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"card-title\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"_alt\"\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":32,"author":{"gitId":"-"},"content":" v-else"},{"lineNumber":33,"author":{"gitId":"-"},"content":" ref\u003d\"cardContainer\""},{"lineNumber":34,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027card-container\u0027, addClass]\""},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":" \u003cdiv :class\u003d\"[\u0027card\u0027, { \u0027expandable-card\u0027: isExpandableCard, \u0027card-seamless\u0027: isSeamless }, borderType]\"\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":38,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027card-header\u0027,{\u0027header-toggle\u0027:isExpandableCard}, cardType, borderType]\""},{"lineNumber":39,"author":{"gitId":"-"},"content":" @click.prevent.stop\u003d\"isExpandableCard \u0026\u0026 toggle()\""},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"caret-wrapper\"\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":43,"author":{"gitId":"-"},"content":" v-if\u003d\"showCaret\""},{"lineNumber":44,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027glyphicon\u0027, localExpanded ? \u0027glyphicon-chevron-down\u0027 : \u0027glyphicon-chevron-right\u0027]\""},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003e\u003c/span\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":48,"author":{"gitId":"-"},"content":" ref\u003d\"headerWrapper\""},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" :class\u003d\"[{\u0027header-wrapper-seamless\u0027: isSeamless}, \u0027header-wrapper card-title\u0027, cardType,"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" {\u0027text-white\u0027:!isLightBg \u0026\u0026 !isSeamless, \u0027header-transparent\u0027:!shouldShowHeader}]\""},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"button-wrapper\"\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"button\"\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003cpanel-switch"},{"lineNumber":57,"author":{"gitId":"-"},"content":" v-show\u003d\"isExpandableCard \u0026\u0026 !noSwitchBool \u0026\u0026 !showCaret\""},{"lineNumber":58,"author":{"gitId":"-"},"content":" :is-open\u003d\"localExpanded\""},{"lineNumber":59,"author":{"gitId":"-"},"content":" :is-light-bg\u003d\"isLightBg\""},{"lineNumber":60,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":62,"author":{"gitId":"-"},"content":" v-show\u003d\"!noCloseBool\""},{"lineNumber":63,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":64,"author":{"gitId":"-"},"content":" class\u003d\"close-button btn\""},{"lineNumber":65,"author":{"gitId":"-"},"content":" :class\u003d\"[isLightBg ? \u0027btn-outline-secondary\u0027 : \u0027btn-outline-light\u0027,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" { \u0027seamless-button\u0027: isSeamless }]\""},{"lineNumber":67,"author":{"gitId":"-"},"content":" @click.stop\u003d\"close()\""},{"lineNumber":68,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"glyphicon glyphicon-remove\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":72,"author":{"gitId":"-"},"content":" v-show\u003d\"popupUrl\""},{"lineNumber":73,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":74,"author":{"gitId":"-"},"content":" class\u003d\"popup-button btn\""},{"lineNumber":75,"author":{"gitId":"-"},"content":" :class\u003d\"[isLightBg ? \u0027btn-outline-secondary\u0027 : \u0027btn-outline-light\u0027,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" { \u0027seamless-button\u0027: isSeamless }]\""},{"lineNumber":77,"author":{"gitId":"-"},"content":" @click.stop\u003d\"openPopup()\""},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"glyphicon glyphicon-new-window\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":85,"author":{"gitId":"-"},"content":" ref\u003d\"panel\""},{"lineNumber":86,"author":{"gitId":"-"},"content":" class\u003d\"card-collapse\""},{"lineNumber":87,"author":{"gitId":"-"},"content":" :class\u003d\"{\u0027card-peek-collapsed\u0027: shouldShowPeek}\""},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":90,"author":{"gitId":"-"},"content":" v-if\u003d\"wasRetrieverLoaded || preloadBool\""},{"lineNumber":91,"author":{"gitId":"-"},"content":" class\u003d\"card-body\""},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003cretriever"},{"lineNumber":95,"author":{"gitId":"-"},"content":" v-if\u003d\"hasSrc\""},{"lineNumber":96,"author":{"gitId":"-"},"content":" ref\u003d\"retriever\""},{"lineNumber":97,"author":{"gitId":"-"},"content":" :src\u003d\"srcWithoutFragment\""},{"lineNumber":98,"author":{"gitId":"-"},"content":" :fragment\u003d\"fragment\""},{"lineNumber":99,"author":{"gitId":"-"},"content":" @src-loaded\u003d\"retrieverUpdateMaxHeight\""},{"lineNumber":100,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"bottom-button-wrapper\"\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003cpanel-switch"},{"lineNumber":103,"author":{"gitId":"-"},"content":" v-show\u003d\"isExpandableCard \u0026\u0026 bottomSwitchBool\""},{"lineNumber":104,"author":{"gitId":"-"},"content":" :is-open\u003d\"localExpanded\""},{"lineNumber":105,"author":{"gitId":"jingting1412"},"content":" :is-seamless\u003d\"isSeamless\""},{"lineNumber":106,"author":{"gitId":"-"},"content":" @click.native.stop.prevent\u003d\"toggle(true)\""},{"lineNumber":107,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" \u003chr v-show\u003d\"isSeamless\" /\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":" \u003ctransition name\u003d\"peek-read-more-fade\"\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":114,"author":{"gitId":"-"},"content":" v-if\u003d\"shouldShowPeek\""},{"lineNumber":115,"author":{"gitId":"-"},"content":" class\u003d\"peek-read-more glyphicon glyphicon-chevron-down\""},{"lineNumber":116,"author":{"gitId":"-"},"content":" @click\u003d\"toggle()\""},{"lineNumber":117,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":" \u003c/transition\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":"import panelBase from \u0027./PanelBase\u0027;"},{"lineNumber":126,"author":{"gitId":"-"},"content":"import panelSwitch from \u0027./PanelSwitch.vue\u0027;"},{"lineNumber":127,"author":{"gitId":"-"},"content":"import retriever from \u0027../Retriever.vue\u0027;"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" mixins: [panelBase],"},{"lineNumber":131,"author":{"gitId":"-"},"content":" components: {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" panelSwitch,"},{"lineNumber":133,"author":{"gitId":"-"},"content":" retriever,"},{"lineNumber":134,"author":{"gitId":"-"},"content":" },"},{"lineNumber":135,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" showCaret() {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" return this.isSeamless \u0026\u0026 this.expandableBool;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" },"},{"lineNumber":139,"author":{"gitId":"-"},"content":" isSeamless() {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" return this.type \u003d\u003d\u003d \u0027seamless\u0027;"},{"lineNumber":141,"author":{"gitId":"-"},"content":" },"},{"lineNumber":142,"author":{"gitId":"-"},"content":" btnType() {"},{"lineNumber":143,"author":{"gitId":"jingting1412"},"content":" if (this.type \u003d\u003d\u003d \u0027light\u0027) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" return \u0027btn-outline-secondary\u0027;"},{"lineNumber":145,"author":{"gitId":"jingting1412"},"content":" } else if (this.isSeamless) {"},{"lineNumber":146,"author":{"gitId":"jingting1412"},"content":" return \u0027\u0027;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":" return `btn-outline-${this.type || \u0027secondary\u0027}`;"},{"lineNumber":149,"author":{"gitId":"-"},"content":" },"},{"lineNumber":150,"author":{"gitId":"-"},"content":" borderType() {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" if (this.isSeamless) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" return \u0027border-0\u0027;"},{"lineNumber":153,"author":{"gitId":"-"},"content":" } else if (this.type) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" if (this.type \u003d\u003d\u003d \u0027light\u0027) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" return \u0027\u0027; // Bootstrap 4.x light border is almost invisible on a white page"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":" return `border-${this.type}`;"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":" return \u0027\u0027;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":161,"author":{"gitId":"-"},"content":" cardType() {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" if (this.isSeamless) {"},{"lineNumber":163,"author":{"gitId":"jingting1412"},"content":" return \u0027bg-transparent\u0027;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":" return `bg-${this.type || \u0027light\u0027}`;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" },"},{"lineNumber":167,"author":{"gitId":"-"},"content":" isLightBg() {"},{"lineNumber":168,"author":{"gitId":"jingting1412"},"content":" return this.cardType \u003d\u003d\u003d \u0027bg-light\u0027 || this.cardType \u003d\u003d\u003d \u0027bg-warning\u0027;"},{"lineNumber":169,"author":{"gitId":"-"},"content":" },"},{"lineNumber":170,"author":{"gitId":"-"},"content":" },"},{"lineNumber":171,"author":{"gitId":"-"},"content":"};"},{"lineNumber":172,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":" .card-container {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" scroll-margin-top: var(--sticky-header-height);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" .card-collapse {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" overflow: hidden;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" transition: max-height 0.5s ease-in-out;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" .seamless-button {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" opacity: 0;"},{"lineNumber":186,"author":{"gitId":"-"},"content":" transition: 0.3s opacity;"},{"lineNumber":187,"author":{"gitId":"jingting1412"},"content":" color: inherit;"},{"lineNumber":188,"author":{"gitId":"jingting1412"},"content":" border-color: inherit;"},{"lineNumber":189,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":190,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":191,"author":{"gitId":"jingting1412"},"content":" .seamless-button:hover {"},{"lineNumber":192,"author":{"gitId":"jingting1412"},"content":" border-color: transparent;"},{"lineNumber":193,"author":{"gitId":"jingting1412"},"content":" background-color: color-mix(in srgb, currentcolor 25%, transparent);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" .card-header:hover .seamless-button {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" opacity: 1;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" .card-peek-collapsed {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" }"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":205,"author":{"gitId":"-"},"content":" * Gives the faded content effect for peek."},{"lineNumber":206,"author":{"gitId":"-"},"content":" * Ensure that height has the same value as collapsedPanelHeight in PanelBase.js."},{"lineNumber":207,"author":{"gitId":"-"},"content":" */"},{"lineNumber":208,"author":{"gitId":"-"},"content":" .card-peek-collapsed::after {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" content: \"\";"},{"lineNumber":210,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" bottom: 0;"},{"lineNumber":213,"author":{"gitId":"-"},"content":" height: 125px;"},{"lineNumber":214,"author":{"gitId":"-"},"content":" background-image: linear-gradient(180deg, transparent, white 90%);"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" .peek-read-more {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" z-index: 1;"},{"lineNumber":219,"author":{"gitId":"-"},"content":" opacity: 0.2;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" transition: opacity 0.5s;"},{"lineNumber":221,"author":{"gitId":"-"},"content":" }"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":" /* Targets the before pseudoelement of glyphicon-chevron-down. */"},{"lineNumber":224,"author":{"gitId":"-"},"content":" .peek-read-more::before {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":226,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":227,"author":{"gitId":"-"},"content":" text-align: center;"},{"lineNumber":228,"author":{"gitId":"-"},"content":" bottom: 10px;"},{"lineNumber":229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" .peek-read-more:hover {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":233,"author":{"gitId":"-"},"content":" opacity: 0.4;"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" .peek-read-more-fade-enter,"},{"lineNumber":237,"author":{"gitId":"-"},"content":" .peek-read-more-fade-leave-to {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" opacity: 0;"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":"\u003c/style\u003e"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":244,"author":{"gitId":"-"},"content":" .card-heading {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"jingting1412"},"content":" .card-seamless {"},{"lineNumber":249,"author":{"gitId":"jingting1412"},"content":" background-color: inherit;"},{"lineNumber":250,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":251,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":" .card-title {"},{"lineNumber":253,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":254,"author":{"gitId":"-"},"content":" font-size: 1em;"},{"lineNumber":255,"author":{"gitId":"-"},"content":" line-height: 1.2em;"},{"lineNumber":256,"author":{"gitId":"-"},"content":" margin: 0;"},{"lineNumber":257,"author":{"gitId":"-"},"content":" white-space: normal;"},{"lineNumber":258,"author":{"gitId":"-"},"content":" text-align: left;"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":" .card-title * {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" margin-bottom: 0 !important;"},{"lineNumber":263,"author":{"gitId":"-"},"content":" }"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":" .caret-wrapper {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" float: left;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" width: 32px;"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" .minimal-caret-wrapper {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":272,"author":{"gitId":"-"},"content":" font-size: 13px;"},{"lineNumber":273,"author":{"gitId":"-"},"content":" margin-right: 5px;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" .header-wrapper {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":278,"author":{"gitId":"-"},"content":" width: calc(100% - 32px - 96px);"},{"lineNumber":279,"author":{"gitId":"-"},"content":" transition: 0.5s opacity;"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" .header-transparent {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" opacity: 0;"},{"lineNumber":284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" .button-wrapper {"},{"lineNumber":287,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":288,"author":{"gitId":"-"},"content":" width: 96px;"},{"lineNumber":289,"author":{"gitId":"-"},"content":" }"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":" .header-toggle {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" .expandable-card {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" margin-bottom: 0 !important;"},{"lineNumber":297,"author":{"gitId":"-"},"content":" margin-top: 5px;"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" .card-collapse \u003e hr {"},{"lineNumber":301,"author":{"gitId":"-"},"content":" margin-top: 0;"},{"lineNumber":302,"author":{"gitId":"jingting1412"},"content":" background-color: currentcolor;"},{"lineNumber":303,"author":{"gitId":"jingting1412"},"content":" opacity: 0.5;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" .card-group \u003e .card-container \u003e .expandable-card {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" margin-top: 0 !important;"},{"lineNumber":308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" .bottom-button-wrapper {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" padding-bottom: 13px;"},{"lineNumber":312,"author":{"gitId":"-"},"content":" margin-bottom: 13px;"},{"lineNumber":313,"author":{"gitId":"-"},"content":" }"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":" .bottom-button-wrapper \u003e .collapse-button {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" margin-top: 5px;"},{"lineNumber":317,"author":{"gitId":"jingting1412"},"content":" opacity: 0.5;"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" .bottom-button-wrapper \u003e .collapse-button:hover {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" opacity: 1;"},{"lineNumber":322,"author":{"gitId":"-"},"content":" }"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":" .close-button {"},{"lineNumber":325,"author":{"gitId":"-"},"content":" font-size: 10px !important;"},{"lineNumber":326,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":327,"author":{"gitId":"-"},"content":" padding: 3px 8px !important;"},{"lineNumber":328,"author":{"gitId":"-"},"content":" margin-left: 3px;"},{"lineNumber":329,"author":{"gitId":"-"},"content":" margin-top: 2px;"},{"lineNumber":330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" .popup-button {"},{"lineNumber":333,"author":{"gitId":"-"},"content":" font-size: 10px !important;"},{"lineNumber":334,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":335,"author":{"gitId":"-"},"content":" margin-top: 2px;"},{"lineNumber":336,"author":{"gitId":"-"},"content":" padding: 3px 8px !important;"},{"lineNumber":337,"author":{"gitId":"-"},"content":" }"},{"lineNumber":338,"author":{"gitId":"-"},"content":""},{"lineNumber":339,"author":{"gitId":"-"},"content":" .morph {"},{"lineNumber":340,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":341,"author":{"gitId":"-"},"content":" }"},{"lineNumber":342,"author":{"gitId":"-"},"content":""},{"lineNumber":343,"author":{"gitId":"-"},"content":" .morph-display-wrapper {"},{"lineNumber":344,"author":{"gitId":"-"},"content":" margin-top: 5px;"},{"lineNumber":345,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":346,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":347,"author":{"gitId":"-"},"content":" }"},{"lineNumber":348,"author":{"gitId":"-"},"content":""},{"lineNumber":349,"author":{"gitId":"jingting1412"},"content":" .morph-display-wrapper-seamless {"},{"lineNumber":350,"author":{"gitId":"jingting1412"},"content":" color: inherit;"},{"lineNumber":351,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":352,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":353,"author":{"gitId":"jingting1412"},"content":" .morph-display-wrapper-seamless:hover {"},{"lineNumber":354,"author":{"gitId":"jingting1412"},"content":" color: inherit;"},{"lineNumber":355,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":356,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":357,"author":{"gitId":"-"},"content":" /* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":358,"author":{"gitId":"LamJiuFong"},"content":" @media (width \u003c\u003d 575.98px) {"},{"lineNumber":359,"author":{"gitId":"-"},"content":" .header-wrapper {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":361,"author":{"gitId":"-"},"content":" width: calc(100% - 32px - 32px);"},{"lineNumber":362,"author":{"gitId":"-"},"content":" }"},{"lineNumber":363,"author":{"gitId":"-"},"content":""},{"lineNumber":364,"author":{"gitId":"-"},"content":" .button-wrapper {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":366,"author":{"gitId":"-"},"content":" width: 32px;"},{"lineNumber":367,"author":{"gitId":"-"},"content":" }"},{"lineNumber":368,"author":{"gitId":"-"},"content":""},{"lineNumber":369,"author":{"gitId":"-"},"content":" .card-body {"},{"lineNumber":370,"author":{"gitId":"-"},"content":" padding: 0.5rem;"},{"lineNumber":371,"author":{"gitId":"-"},"content":" }"},{"lineNumber":372,"author":{"gitId":"-"},"content":""},{"lineNumber":373,"author":{"gitId":"-"},"content":" .card-collapse \u003e hr {"},{"lineNumber":374,"author":{"gitId":"-"},"content":" margin-top: 0.5rem;"},{"lineNumber":375,"author":{"gitId":"-"},"content":" }"},{"lineNumber":376,"author":{"gitId":"-"},"content":""},{"lineNumber":377,"author":{"gitId":"-"},"content":" .card-header {"},{"lineNumber":378,"author":{"gitId":"-"},"content":" padding: 0.5rem;"},{"lineNumber":379,"author":{"gitId":"-"},"content":" }"},{"lineNumber":380,"author":{"gitId":"-"},"content":" }"},{"lineNumber":381,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"jingting1412":38,"LamJiuFong":1,"-":342}},{"path":"packages/vue-components/src/panels/PanelSwitch.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":3,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" :class\u003d\"[\u0027collapse-button\u0027,"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \u0027btn\u0027,"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" isSeamless ? \u0027btn-seamless\u0027 : isLightBg ? \u0027btn-outline-secondary\u0027 : \u0027btn-outline-light\u0027]\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":9,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027collapse-icon\u0027, \u0027glyphicon\u0027, \u0027glyphicon-menu-down\u0027, {\u0027opened\u0027: isOpenBool}]\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" aria-hidden\u003d\"true\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003e\u003c/span\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import { toBoolean } from \u0027../utils/utils\u0027;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" isOpen: {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" type: [Boolean, String],"},{"lineNumber":22,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":23,"author":{"gitId":"-"},"content":" },"},{"lineNumber":24,"author":{"gitId":"-"},"content":" isLightBg: {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" default: true,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" },"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" isSeamless: {"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" type: Boolean,"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" default: false,"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" },"},{"lineNumber":32,"author":{"gitId":"-"},"content":" },"},{"lineNumber":33,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" isOpenBool() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" return toBoolean(this.isOpen);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" },"},{"lineNumber":37,"author":{"gitId":"-"},"content":" },"},{"lineNumber":38,"author":{"gitId":"-"},"content":"};"},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" .btn-seamless {"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" color: inherit;"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":" border-color: inherit;"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" .btn-seamless:hover {"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" color: inherit;"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" background-color: inherit;"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" .collapse-button {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" font-size: 10px !important;"},{"lineNumber":54,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" padding: 3px 8px !important;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin-left: 3px;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" margin-top: 2px;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" .collapse-icon {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: transform 0.4s ease-in-out;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" }"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" .collapse-icon.opened {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" transform: rotate(-180deg);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"jingting1412":17,"-":50}},{"path":"packages/vue-components/src/questions/QOption.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003c!-- Mcq (radio) option --\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":4,"author":{"gitId":"-"},"content":" v-if\u003d\"qOptionType \u003d\u003d\u003d \u0027mcq\u0027\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027form-control\u0027, hintClass]\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" @click\u003d\"toggleRadioOn\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" @mouseover\u003d\"hover \u003d true\""},{"lineNumber":8,"author":{"gitId":"-"},"content":" @mouseleave\u003d\"hover \u003d false\""},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003cdiv :class\u003d\"[\u0027row\u0027, { \u0027disabled\u0027: qState.answered }]\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-auto p-0\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003csvg viewBox\u003d\"0 0 100 100\" class\u003d\"radio-svg\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003ccircle"},{"lineNumber":14,"author":{"gitId":"-"},"content":" cx\u003d\"50\""},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy\u003d\"50\""},{"lineNumber":16,"author":{"gitId":"-"},"content":" r\u003d\"47\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" fill\u003d\"none\""},{"lineNumber":18,"author":{"gitId":"-"},"content":" stroke\u003d\"black\""},{"lineNumber":19,"author":{"gitId":"-"},"content":" stroke-width\u003d\"4\""},{"lineNumber":20,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003ccircle"},{"lineNumber":22,"author":{"gitId":"-"},"content":" v-show\u003d\"selected\""},{"lineNumber":23,"author":{"gitId":"-"},"content":" cx\u003d\"50\""},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy\u003d\"50\""},{"lineNumber":25,"author":{"gitId":"-"},"content":" r\u003d\"25\""},{"lineNumber":26,"author":{"gitId":"-"},"content":" fill\u003d\"dodgerblue\""},{"lineNumber":27,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c/svg\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col content\"\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-1\"\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"qState.answered\"\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":36,"author":{"gitId":"-"},"content":" v-if\u003d\"correct\""},{"lineNumber":37,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-check text-success\""},{"lineNumber":38,"author":{"gitId":"-"},"content":" :class\u003d\"{ \u0027align-bottom\u0027: $scopedSlots.reason }\""},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":41,"author":{"gitId":"-"},"content":" v-else"},{"lineNumber":42,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-times text-danger\""},{"lineNumber":43,"author":{"gitId":"-"},"content":" :class\u003d\"{ \u0027align-bottom\u0027: $scopedSlots.reason }\""},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"qState.answered \u0026\u0026 $scopedSlots.reason\"\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003chr /\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"reason\"\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"reason\"\u003e\u003c/slot\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003c!-- Checkbox option --\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":59,"author":{"gitId":"-"},"content":" v-else-if\u003d\"qOptionType \u003d\u003d\u003d \u0027checkbox\u0027\""},{"lineNumber":60,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027form-control\u0027, hintClass]\""},{"lineNumber":61,"author":{"gitId":"-"},"content":" @click\u003d\"toggleCheckbox\""},{"lineNumber":62,"author":{"gitId":"-"},"content":" @mouseover\u003d\"hover \u003d true\""},{"lineNumber":63,"author":{"gitId":"-"},"content":" @mouseleave\u003d\"hover \u003d false\""},{"lineNumber":64,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003clabel :class\u003d\"[\u0027row\u0027, \u0027checkbox-label\u0027, \u0027m-0\u0027, { \u0027disabled\u0027: qState.answered }]\" @click.stop\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003cinput"},{"lineNumber":67,"author":{"gitId":"-"},"content":" v-model\u003d\"selected\""},{"lineNumber":68,"author":{"gitId":"-"},"content":" class\u003d\"checkbox\""},{"lineNumber":69,"author":{"gitId":"-"},"content":" :disabled\u003d\"qState.answered\""},{"lineNumber":70,"author":{"gitId":"-"},"content":" type\u003d\"checkbox\""},{"lineNumber":71,"author":{"gitId":"-"},"content":" onclick\u003d\"event.stopPropagation()\""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col content\"\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-auto\"\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"qState.answered\"\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":79,"author":{"gitId":"-"},"content":" v-if\u003d\"correct\""},{"lineNumber":80,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-check text-success\""},{"lineNumber":81,"author":{"gitId":"-"},"content":" :class\u003d\"{ \u0027align-bottom\u0027: $scopedSlots.reason }\""},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":84,"author":{"gitId":"-"},"content":" v-else"},{"lineNumber":85,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-times text-danger\""},{"lineNumber":86,"author":{"gitId":"-"},"content":" :class\u003d\"{ \u0027align-bottom\u0027: $scopedSlots.reason }\""},{"lineNumber":87,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"qState.answered \u0026\u0026 $scopedSlots.reason\"\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003chr /\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"reason\"\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"reason\"\u003e\u003c/slot\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" \u003c!-- blanks option --\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":102,"author":{"gitId":"-"},"content":" v-else-if\u003d\"qOptionType \u003d\u003d\u003d \u0027blanks\u0027\""},{"lineNumber":103,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027form-control\u0027, \u0027blanks-form-control\u0027, hintClass]\""},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \u003clabel :class\u003d\"[\u0027row\u0027, \u0027m-0\u0027, { \u0027disabled\u0027: qState.answered }]\" @click.stop\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003cinput"},{"lineNumber":107,"author":{"gitId":"-"},"content":" v-model\u003d\"inputText\""},{"lineNumber":108,"author":{"gitId":"-"},"content":" class\u003d\"form-control\""},{"lineNumber":109,"author":{"gitId":"-"},"content":" :disabled\u003d\"qState.answered\""},{"lineNumber":110,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-auto\"\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":" \u003c!-- for when question is answered --\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"qState.answered\"\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":115,"author":{"gitId":"-"},"content":" v-if\u003d\"ansIsCorrect\""},{"lineNumber":116,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-check text-success\""},{"lineNumber":117,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":119,"author":{"gitId":"-"},"content":" v-else"},{"lineNumber":120,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-times text-danger blanks-cross\""},{"lineNumber":121,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" \u003c!-- for when question is not answered and intermediate result is enabled --\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"isIntermediateResult()\"\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":127,"author":{"gitId":"-"},"content":" v-if\u003d\"ansIsCorrect\""},{"lineNumber":128,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-check text-success\""},{"lineNumber":129,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":131,"author":{"gitId":"-"},"content":" v-else"},{"lineNumber":132,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-times text-danger blanks-cross\""},{"lineNumber":133,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"qState.answered\" class\u003d\"col-auto blanks-keywords\"\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":" \u003cstrong v-if\u003d\"keywordsSplitTrimmed().length\"\u003e"},{"lineNumber":138,"author":{"gitId":"-"},"content":" Keywords:\u0026nbsp;"},{"lineNumber":139,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":140,"author":{"gitId":"-"},"content":" v-for\u003d\"keyword in keywordsSplitTrimmed()\""},{"lineNumber":141,"author":{"gitId":"-"},"content":" :key\u003d\"keyword\""},{"lineNumber":142,"author":{"gitId":"-"},"content":" class\u003d\"badge rounded-pill bg-light text-dark fw-normal\""},{"lineNumber":143,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":" {{ keyword }}"},{"lineNumber":145,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":" \u003c/strong\u003e"},{"lineNumber":147,"author":{"gitId":"-"},"content":" \u003cstrong v-else\u003eNo answer checking keywords provided\u003c/strong\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"qState.answered \u0026\u0026 $scopedSlots.reason\"\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"reason blanks-reason\"\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"reason\"\u003e\u003c/slot\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":"import { STATE_WRONG } from \u0027./QuestionConstants\u0027;"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" name: \u0027McqOption\u0027,"},{"lineNumber":164,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" correct: {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":167,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":168,"author":{"gitId":"-"},"content":" },"},{"lineNumber":169,"author":{"gitId":"-"},"content":" keywords: {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":171,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":172,"author":{"gitId":"-"},"content":" },"},{"lineNumber":173,"author":{"gitId":"-"},"content":" },"},{"lineNumber":174,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" selected: false,"},{"lineNumber":177,"author":{"gitId":"-"},"content":" hover: false,"},{"lineNumber":178,"author":{"gitId":"-"},"content":" inputText: \u0027\u0027,"},{"lineNumber":179,"author":{"gitId":"-"},"content":" ansIsCorrect: false,"},{"lineNumber":180,"author":{"gitId":"-"},"content":" };"},{"lineNumber":181,"author":{"gitId":"-"},"content":" },"},{"lineNumber":182,"author":{"gitId":"-"},"content":" inject: {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" answers: {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" default: undefined,"},{"lineNumber":185,"author":{"gitId":"-"},"content":" },"},{"lineNumber":186,"author":{"gitId":"-"},"content":" qOptionType: {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" default: undefined,"},{"lineNumber":188,"author":{"gitId":"-"},"content":" },"},{"lineNumber":189,"author":{"gitId":"-"},"content":" qState: {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" default: undefined,"},{"lineNumber":191,"author":{"gitId":"-"},"content":" },"},{"lineNumber":192,"author":{"gitId":"-"},"content":" noIntermediateResult: {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" default: undefined,"},{"lineNumber":194,"author":{"gitId":"-"},"content":" },"},{"lineNumber":195,"author":{"gitId":"-"},"content":" },"},{"lineNumber":196,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" hintClass() {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" if (this.qState.answered) {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" return this.correct ? \u0027success\u0027 : \u0027danger\u0027;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" return (this.selected || this.hover) ? \u0027alert-light text-dark border border-secondary\u0027 : \u0027\u0027;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" },"},{"lineNumber":204,"author":{"gitId":"-"},"content":" answeredCorrectly() {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" return (this.correct \u0026\u0026 this.selected) || (!this.correct \u0026\u0026 !this.selected);"},{"lineNumber":206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":207,"author":{"gitId":"-"},"content":" },"},{"lineNumber":208,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" checkAnswer() {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" let ansIsCorrect \u003d false;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" const lowerCasedText \u003d this.inputText.toLowerCase().trim();"},{"lineNumber":212,"author":{"gitId":"-"},"content":" const keywords \u003d this.keywords.toLowerCase().split(\u0027,\u0027).filter(keyword \u003d\u003e keyword.trim() !\u003d\u003d \u0027\u0027);"},{"lineNumber":213,"author":{"gitId":"-"},"content":" if (!this.keywords.length) {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" ansIsCorrect \u003d true;"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c keywords.length; i +\u003d 1) {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" if (lowerCasedText \u003d\u003d\u003d keywords[i].trim()) {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" ansIsCorrect \u003d true;"},{"lineNumber":219,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":" }"},{"lineNumber":222,"author":{"gitId":"-"},"content":" this.ansIsCorrect \u003d ansIsCorrect;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" },"},{"lineNumber":224,"author":{"gitId":"-"},"content":" isIntermediateResult() {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" return !this.noIntermediateResult \u0026\u0026 this.qState.state \u003d\u003d\u003d STATE_WRONG \u0026\u0026 !this.qState.answered;"},{"lineNumber":226,"author":{"gitId":"-"},"content":" },"},{"lineNumber":227,"author":{"gitId":"-"},"content":" isBlanksQuestion() {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" return this.type \u003d\u003d\u003d \u0027blanks\u0027;"},{"lineNumber":229,"author":{"gitId":"-"},"content":" },"},{"lineNumber":230,"author":{"gitId":"-"},"content":" keywordsSplitTrimmed() {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" return this.keywords.split(\u0027,\u0027).filter(keyword \u003d\u003e keyword.trim() !\u003d\u003d \u0027\u0027);"},{"lineNumber":232,"author":{"gitId":"-"},"content":" },"},{"lineNumber":233,"author":{"gitId":"-"},"content":" toggleRadioOn() {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" if (this.qState.answered || this.selected) {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" this.answers.forEach((answer) \u003d\u003e {"},{"lineNumber":239,"author":{"gitId":"-"},"content":" answer.selected \u003d false;"},{"lineNumber":240,"author":{"gitId":"-"},"content":" });"},{"lineNumber":241,"author":{"gitId":"-"},"content":" this.selected \u003d true;"},{"lineNumber":242,"author":{"gitId":"-"},"content":" },"},{"lineNumber":243,"author":{"gitId":"-"},"content":" toggleCheckbox() {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" if (this.qState.answered) {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":" this.selected \u003d !this.selected;"},{"lineNumber":248,"author":{"gitId":"-"},"content":" },"},{"lineNumber":249,"author":{"gitId":"-"},"content":" },"},{"lineNumber":250,"author":{"gitId":"-"},"content":" created() {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" this.answers.push(this);"},{"lineNumber":252,"author":{"gitId":"-"},"content":" },"},{"lineNumber":253,"author":{"gitId":"-"},"content":"};"},{"lineNumber":254,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":257,"author":{"gitId":"-"},"content":" .fa-check,"},{"lineNumber":258,"author":{"gitId":"-"},"content":" .fa-times {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" font-size: 1.2em;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" /* For accomodating block markdown nicely */"},{"lineNumber":263,"author":{"gitId":"-"},"content":" .reason :last-child,"},{"lineNumber":264,"author":{"gitId":"-"},"content":" .content :last-child {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" margin-bottom: 0;"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" .reason {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" padding: 0 0.5rem;"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" .checkbox-label {"},{"lineNumber":273,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" .form-control {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" height: auto;"},{"lineNumber":278,"author":{"gitId":"-"},"content":" margin-bottom: 10px;"},{"lineNumber":279,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" .form-control.success,"},{"lineNumber":283,"author":{"gitId":"-"},"content":" .form-control.success \u003e .checkbox-label,"},{"lineNumber":284,"author":{"gitId":"-"},"content":" .form-control.danger,"},{"lineNumber":285,"author":{"gitId":"-"},"content":" .form-control.danger \u003e .checkbox-label {"},{"lineNumber":286,"author":{"gitId":"-"},"content":" cursor: default;"},{"lineNumber":287,"author":{"gitId":"-"},"content":" }"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":" .disabled {"},{"lineNumber":290,"author":{"gitId":"-"},"content":" opacity: 0.9;"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" .radio-svg {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" width: 1em;"},{"lineNumber":295,"author":{"gitId":"-"},"content":" height: 1em;"},{"lineNumber":296,"author":{"gitId":"-"},"content":" vertical-align: text-top;"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" .checkbox {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" width: 1em;"},{"lineNumber":301,"author":{"gitId":"-"},"content":" height: 1em;"},{"lineNumber":302,"author":{"gitId":"-"},"content":" margin-right: 5px;"},{"lineNumber":303,"author":{"gitId":"-"},"content":" vertical-align: middle;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" .row {"},{"lineNumber":307,"author":{"gitId":"LamJiuFong"},"content":" margin: 0.2rem 0 0;"},{"lineNumber":308,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":309,"author":{"gitId":"-"},"content":" }"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":" /* for blanks question type */"},{"lineNumber":312,"author":{"gitId":"-"},"content":" input.form-control {"},{"lineNumber":313,"author":{"gitId":"-"},"content":" height: auto;"},{"lineNumber":314,"author":{"gitId":"-"},"content":" min-height: 20px;"},{"lineNumber":315,"author":{"gitId":"-"},"content":" margin-bottom: 0;"},{"lineNumber":316,"author":{"gitId":"-"},"content":" width: 50%;"},{"lineNumber":317,"author":{"gitId":"-"},"content":" cursor: text;"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" input.form-control:disabled,"},{"lineNumber":321,"author":{"gitId":"-"},"content":" .blanks-keywords {"},{"lineNumber":322,"author":{"gitId":"-"},"content":" margin-bottom: 0.5rem;"},{"lineNumber":323,"author":{"gitId":"-"},"content":" }"},{"lineNumber":324,"author":{"gitId":"-"},"content":""},{"lineNumber":325,"author":{"gitId":"-"},"content":" .blanks-form-control {"},{"lineNumber":326,"author":{"gitId":"-"},"content":" border: none;"},{"lineNumber":327,"author":{"gitId":"-"},"content":" cursor: default;"},{"lineNumber":328,"author":{"gitId":"-"},"content":" }"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" .blanks-cross {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" margin-right: 3px;"},{"lineNumber":332,"author":{"gitId":"-"},"content":" margin-left: 3px;"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":1,"-":333}},{"path":"packages/vue-components/src/questions/Quiz.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv :class\u003d\"[\u0027quiz-container\u0027, addClass]\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003ctransition name\u003d\"intro-outro-card\" @after-leave\u003d\"showFirstQuestion\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"state \u003d\u003d\u003d 3\" class\u003d\"card intro-outro-card\"\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"intro\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003ch4\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" Click start to begin"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003c/h4\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003ch5\u003e{{ questions.length }} questions\u003c/h5\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003chr /\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":17,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":18,"author":{"gitId":"-"},"content":" class\u003d\"btn btn-primary d-inline-block\""},{"lineNumber":19,"author":{"gitId":"-"},"content":" @click\u003d\"begin\""},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" Start"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003c/transition\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003ctransition name\u003d\"intro-outro-card\"\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":29,"author":{"gitId":"-"},"content":" v-show\u003d\"state \u003d\u003d\u003d 4\""},{"lineNumber":30,"author":{"gitId":"-"},"content":" class\u003d\"progress intro-outro-card\""},{"lineNumber":31,"author":{"gitId":"-"},"content":" style\u003d\"height: 1px;\""},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":34,"author":{"gitId":"-"},"content":" class\u003d\"progress-bar progress-bar-z\""},{"lineNumber":35,"author":{"gitId":"-"},"content":" role\u003d\"progressbar\""},{"lineNumber":36,"author":{"gitId":"-"},"content":" :style\u003d\"{ width: `${currentQuestion / questions.length * 100}%` }\""},{"lineNumber":37,"author":{"gitId":"-"},"content":" aria-valuemin\u003d\"0\""},{"lineNumber":38,"author":{"gitId":"-"},"content":" :aria-valuemax\u003d\"questions.length\""},{"lineNumber":39,"author":{"gitId":"-"},"content":" :aria-valuenow\u003d\"currentQuestion\""},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003e\u003c/div\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003c/transition\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003ctransition"},{"lineNumber":47,"author":{"gitId":"-"},"content":" name\u003d\"intro-outro-card\""},{"lineNumber":48,"author":{"gitId":"-"},"content":" @after-enter\u003d\"setScoreCircleStyles\""},{"lineNumber":49,"author":{"gitId":"-"},"content":" @after-leave\u003d\"showFirstQuestion\""},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"state \u003d\u003d\u003d 5\" class\u003d\"card intro-outro-card\"\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003ch4 class\u003d\"mb-3\"\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" {{ scoreText }}"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003c/h4\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003csvg"},{"lineNumber":57,"author":{"gitId":"-"},"content":" viewBox\u003d\"0 0 100 100\""},{"lineNumber":58,"author":{"gitId":"-"},"content":" width\u003d\"120px\""},{"lineNumber":59,"author":{"gitId":"-"},"content":" height\u003d\"120px\""},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \u003ccircle"},{"lineNumber":62,"author":{"gitId":"-"},"content":" cx\u003d\"50\""},{"lineNumber":63,"author":{"gitId":"-"},"content":" cy\u003d\"50\""},{"lineNumber":64,"author":{"gitId":"-"},"content":" r\u003d\"42\""},{"lineNumber":65,"author":{"gitId":"-"},"content":" class\u003d\"score-background-circle\""},{"lineNumber":66,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \u003ccircle"},{"lineNumber":68,"author":{"gitId":"-"},"content":" ref\u003d\"score\""},{"lineNumber":69,"author":{"gitId":"-"},"content":" cx\u003d\"50\""},{"lineNumber":70,"author":{"gitId":"-"},"content":" cy\u003d\"50\""},{"lineNumber":71,"author":{"gitId":"-"},"content":" r\u003d\"42\""},{"lineNumber":72,"author":{"gitId":"-"},"content":" transform\u003d\"rotate(-90, 50, 50)\""},{"lineNumber":73,"author":{"gitId":"-"},"content":" class\u003d\"score-circle\""},{"lineNumber":74,"author":{"gitId":"-"},"content":" stroke-dashoffset\u003d\"264\""},{"lineNumber":75,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \u003ctext"},{"lineNumber":77,"author":{"gitId":"-"},"content":" class\u003d\"score\""},{"lineNumber":78,"author":{"gitId":"-"},"content":" x\u003d\"22\""},{"lineNumber":79,"author":{"gitId":"-"},"content":" y\u003d\"57\""},{"lineNumber":80,"author":{"gitId":"-"},"content":" textLength\u003d\"56\""},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003e{{ score }} / {{ questions.length }}\u003c/text\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003c/svg\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003chr /\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":87,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":88,"author":{"gitId":"-"},"content":" class\u003d\"btn btn-outline-primary\""},{"lineNumber":89,"author":{"gitId":"-"},"content":" @click\u003d\"begin\""},{"lineNumber":90,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":" Retry"},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \u003c/transition\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" STATE_CORRECT,"},{"lineNumber":102,"author":{"gitId":"-"},"content":"} from \u0027./QuestionConstants\u0027;"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"const STATE_QUIZ_FRESH \u003d 3;"},{"lineNumber":105,"author":{"gitId":"-"},"content":"const STATE_QUIZ_IN_PROGRESS \u003d 4;"},{"lineNumber":106,"author":{"gitId":"-"},"content":"const STATE_QUIZ_DONE \u003d 5;"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" name: \u0027Quiz\u0027,"},{"lineNumber":110,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" addClass: {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":113,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":114,"author":{"gitId":"-"},"content":" },"},{"lineNumber":115,"author":{"gitId":"-"},"content":" },"},{"lineNumber":116,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" currentQuestion: 0,"},{"lineNumber":119,"author":{"gitId":"-"},"content":" questions: [],"},{"lineNumber":120,"author":{"gitId":"-"},"content":" score: 0,"},{"lineNumber":121,"author":{"gitId":"-"},"content":" state: STATE_QUIZ_FRESH,"},{"lineNumber":122,"author":{"gitId":"-"},"content":" };"},{"lineNumber":123,"author":{"gitId":"-"},"content":" },"},{"lineNumber":124,"author":{"gitId":"-"},"content":" provide() {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" questions: this.questions,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" gotoNextQuestion: this.gotoNextQuestion,"},{"lineNumber":128,"author":{"gitId":"-"},"content":" showNextQuestion: this.showNextQuestion,"},{"lineNumber":129,"author":{"gitId":"-"},"content":" };"},{"lineNumber":130,"author":{"gitId":"-"},"content":" },"},{"lineNumber":131,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" scoreText() {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" return (this.score / this.questions.length) \u003e 0.5"},{"lineNumber":134,"author":{"gitId":"-"},"content":" ? \u0027Well done!\u0027"},{"lineNumber":135,"author":{"gitId":"-"},"content":" : \u0027Try again?\u0027;"},{"lineNumber":136,"author":{"gitId":"-"},"content":" },"},{"lineNumber":137,"author":{"gitId":"-"},"content":" },"},{"lineNumber":138,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" gotoNextQuestion() {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" this.questions[this.currentQuestion - 1].hide();"},{"lineNumber":141,"author":{"gitId":"-"},"content":" this.currentQuestion +\u003d 1;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" },"},{"lineNumber":143,"author":{"gitId":"-"},"content":" showNextQuestion() {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" if (this.currentQuestion \u003c\u003d this.questions.length) {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" this.questions[this.currentQuestion - 1].show();"},{"lineNumber":146,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" this.complete();"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":" },"},{"lineNumber":150,"author":{"gitId":"-"},"content":" begin() {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" this.currentQuestion \u003d 1;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" this.score \u003d 0;"},{"lineNumber":153,"author":{"gitId":"-"},"content":" this.state \u003d STATE_QUIZ_IN_PROGRESS;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" },"},{"lineNumber":155,"author":{"gitId":"-"},"content":" showFirstQuestion() {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" if (this.questions.length) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" this.questions[0].show();"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":" },"},{"lineNumber":160,"author":{"gitId":"-"},"content":" reset() {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" this.questions.forEach(question \u003d\u003e question.reset());"},{"lineNumber":162,"author":{"gitId":"-"},"content":" },"},{"lineNumber":163,"author":{"gitId":"-"},"content":" complete() {"},{"lineNumber":164,"author":{"gitId":"-"},"content":" this.score \u003d this.questions.filter(q \u003d\u003e q.qState.state \u003d\u003d\u003d STATE_CORRECT).length;"},{"lineNumber":165,"author":{"gitId":"-"},"content":" this.state \u003d STATE_QUIZ_DONE;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" this.reset();"},{"lineNumber":167,"author":{"gitId":"-"},"content":" },"},{"lineNumber":168,"author":{"gitId":"-"},"content":" setScoreCircleStyles() {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" const scoreFactor \u003d this.score / this.questions.length;"},{"lineNumber":170,"author":{"gitId":"-"},"content":" this.$refs.score.style.strokeDashoffset \u003d (1 - scoreFactor) * 264;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" this.$refs.score.style.stroke \u003d \u0027#51c2f8\u0027;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" },"},{"lineNumber":173,"author":{"gitId":"-"},"content":" },"},{"lineNumber":174,"author":{"gitId":"-"},"content":"};"},{"lineNumber":175,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":178,"author":{"gitId":"-"},"content":" .quiz-container {"},{"lineNumber":179,"author":{"gitId":"-"},"content":" overflow: hidden;"},{"lineNumber":180,"author":{"gitId":"-"},"content":" isolation: isolate;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" .intro-outro-card {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" transition: transform 0.35s ease-out, opacity 0.35s linear;"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" .intro-outro-card-enter-active,"},{"lineNumber":188,"author":{"gitId":"-"},"content":" .intro-outro-card-leave-to {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" opacity: 0;"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" .intro-outro-card \u003e .card-body {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":194,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":195,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":196,"author":{"gitId":"-"},"content":" justify-content: center;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" .score {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" font-size: 1.4rem;"},{"lineNumber":201,"author":{"gitId":"-"},"content":" font-weight: bold;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" }"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":" .score-circle {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" stroke-dasharray: 264;"},{"lineNumber":206,"author":{"gitId":"-"},"content":" fill: none;"},{"lineNumber":207,"author":{"gitId":"LamJiuFong"},"content":" stroke: rgb(132 215 255 / 80%);"},{"lineNumber":208,"author":{"gitId":"-"},"content":" stroke-width: 8;"},{"lineNumber":209,"author":{"gitId":"-"},"content":" transition: stroke-dashoffset 1.5s ease-out, stroke 1.5s linear;"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" .score-background-circle {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" fill: none;"},{"lineNumber":214,"author":{"gitId":"LamJiuFong"},"content":" stroke: rgb(227 226 226 / 50%);"},{"lineNumber":215,"author":{"gitId":"-"},"content":" stroke-width: 8;"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" .btn {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" border-radius: 2em;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" .progress-bar-z {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" z-index: 1;"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":2,"-":224}},{"path":"scripts/process_message.py","fileType":"py","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"import json"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"import re"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":"import sys"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"markdown_content \u003d sys.argv[1]"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Preprocessing the markdown content"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"markdown_content \u003d markdown_content.replace(\u0027`\u0027, \u0027\\\\`\u0027)"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"markdown_content \u003d markdown_content.replace(\u0027(\u0027, \u0027\\\\(\u0027).replace(\u0027)\u0027, \u0027\\\\)\u0027)"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"markdown_content \u003d re.sub(r\u0027\u003c!--.*?--\u003e\u0027, \u0027\u0027, markdown_content, flags\u003dre.DOTALL) # Remove HTML comments"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"print(markdown_content)"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":""}],"authorContributionMap":{"KevinEyo1":15}}] +[{"path":".github/workflows/ci.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"name: CI"},{"lineNumber":2,"author":{"gitId":"-"},"content":"on:"},{"lineNumber":3,"author":{"gitId":"-"},"content":" push:"},{"lineNumber":4,"author":{"gitId":"-"},"content":" branches:"},{"lineNumber":5,"author":{"gitId":"-"},"content":" - master"},{"lineNumber":6,"author":{"gitId":"-"},"content":" tags:"},{"lineNumber":7,"author":{"gitId":"-"},"content":" - \u0027v[0-9]+.[0-9]+.[0-9]+\u0027"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pull_request:"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"concurrency:"},{"lineNumber":11,"author":{"gitId":"-"},"content":" group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}"},{"lineNumber":12,"author":{"gitId":"-"},"content":" cancel-in-progress: true"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"jobs:"},{"lineNumber":15,"author":{"gitId":"-"},"content":" test:"},{"lineNumber":16,"author":{"gitId":"-"},"content":" strategy:"},{"lineNumber":17,"author":{"gitId":"-"},"content":" matrix:"},{"lineNumber":18,"author":{"gitId":"-"},"content":" platform: [ubuntu-latest, macos-latest, windows-latest]"},{"lineNumber":19,"author":{"gitId":"-"},"content":" runs-on: ${{ matrix.platform }}"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" permissions:"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" contents: read"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" steps:"},{"lineNumber":24,"author":{"gitId":"-"},"content":" - uses: actions/checkout@v3"},{"lineNumber":25,"author":{"gitId":"-"},"content":" - uses: actions/setup-node@v3"},{"lineNumber":26,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":27,"author":{"gitId":"-"},"content":" node-version: \u002716\u0027"},{"lineNumber":28,"author":{"gitId":"-"},"content":" - name: Install Graphviz"},{"lineNumber":29,"author":{"gitId":"-"},"content":" uses: tlylt/install-graphviz@v1"},{"lineNumber":30,"author":{"gitId":"-"},"content":" - name: Install Java"},{"lineNumber":31,"author":{"gitId":"-"},"content":" uses: actions/setup-java@v3"},{"lineNumber":32,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":33,"author":{"gitId":"-"},"content":" java-version: \u002711\u0027"},{"lineNumber":34,"author":{"gitId":"-"},"content":" distribution: \u0027temurin\u0027"},{"lineNumber":35,"author":{"gitId":"-"},"content":" - run: npm run setup"},{"lineNumber":36,"author":{"gitId":"-"},"content":" - run: npm run test"},{"lineNumber":37,"author":{"gitId":"-"},"content":" - name: Upload coverage report to Codecov"},{"lineNumber":38,"author":{"gitId":"-"},"content":" uses: codecov/codecov-action@v3"},{"lineNumber":39,"author":{"gitId":"-"},"content":" env:"},{"lineNumber":40,"author":{"gitId":"-"},"content":" CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}"},{"lineNumber":41,"author":{"gitId":"-"},"content":" check-docs:"},{"lineNumber":42,"author":{"gitId":"-"},"content":" runs-on: ubuntu-latest"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" permissions:"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" contents: read"},{"lineNumber":45,"author":{"gitId":"-"},"content":" steps:"},{"lineNumber":46,"author":{"gitId":"-"},"content":" - uses: actions/checkout@v3"},{"lineNumber":47,"author":{"gitId":"-"},"content":" - uses: actions/setup-node@v3"},{"lineNumber":48,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":49,"author":{"gitId":"-"},"content":" node-version: \u002716\u0027"},{"lineNumber":50,"author":{"gitId":"-"},"content":" - name: Install Graphviz"},{"lineNumber":51,"author":{"gitId":"-"},"content":" uses: tlylt/install-graphviz@v1"},{"lineNumber":52,"author":{"gitId":"-"},"content":" - name: Install Java"},{"lineNumber":53,"author":{"gitId":"-"},"content":" uses: actions/setup-java@v3"},{"lineNumber":54,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":55,"author":{"gitId":"-"},"content":" java-version: \u002711\u0027"},{"lineNumber":56,"author":{"gitId":"-"},"content":" distribution: \u0027temurin\u0027"},{"lineNumber":57,"author":{"gitId":"-"},"content":" - run: npm run setup"},{"lineNumber":58,"author":{"gitId":"-"},"content":" - run: npm run build:web"},{"lineNumber":59,"author":{"gitId":"-"},"content":" - name: Build MarkBind docs (UG + DG)"},{"lineNumber":60,"author":{"gitId":"-"},"content":" run: npm run build:docs"},{"lineNumber":61,"author":{"gitId":"-"},"content":" - name: Check build log"},{"lineNumber":62,"author":{"gitId":"-"},"content":" run: |"},{"lineNumber":63,"author":{"gitId":"-"},"content":" log_file\u003d\"docs/_markbind/logs/markbind-$(date +\u0027%Y-%m-%d\u0027).log\""},{"lineNumber":64,"author":{"gitId":"-"},"content":" pattern\u003d\"^[0-9T:.Z-]+ - (warn|error):\""},{"lineNumber":65,"author":{"gitId":"-"},"content":" "},{"lineNumber":66,"author":{"gitId":"-"},"content":" if grep -q -E \"$pattern\" \"$log_file\"; then"},{"lineNumber":67,"author":{"gitId":"-"},"content":" printf \"The following issues were found when building the documentation:\\n\""},{"lineNumber":68,"author":{"gitId":"-"},"content":" grep -E \"$pattern\" \"$log_file\""},{"lineNumber":69,"author":{"gitId":"-"},"content":" exit 1"},{"lineNumber":70,"author":{"gitId":"-"},"content":" fi"},{"lineNumber":71,"author":{"gitId":"-"},"content":" deploy-docs:"},{"lineNumber":72,"author":{"gitId":"-"},"content":" needs: test"},{"lineNumber":73,"author":{"gitId":"-"},"content":" # disabled on forks"},{"lineNumber":74,"author":{"gitId":"-"},"content":" if: github.event_name \u003d\u003d \u0027push\u0027 \u0026\u0026 github.repository \u003d\u003d \u0027MarkBind/markbind\u0027"},{"lineNumber":75,"author":{"gitId":"-"},"content":" runs-on: ubuntu-latest"},{"lineNumber":76,"author":{"gitId":"-"},"content":" env:"},{"lineNumber":77,"author":{"gitId":"-"},"content":" GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}"},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":" permissions:"},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":" contents: read"},{"lineNumber":80,"author":{"gitId":"-"},"content":" steps:"},{"lineNumber":81,"author":{"gitId":"-"},"content":" - uses: actions/checkout@v3"},{"lineNumber":82,"author":{"gitId":"-"},"content":" - uses: actions/setup-node@v3"},{"lineNumber":83,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":84,"author":{"gitId":"-"},"content":" node-version: \u002716\u0027"},{"lineNumber":85,"author":{"gitId":"-"},"content":" - name: Install Graphviz"},{"lineNumber":86,"author":{"gitId":"-"},"content":" uses: tlylt/install-graphviz@v1"},{"lineNumber":87,"author":{"gitId":"-"},"content":" - name: Install Java"},{"lineNumber":88,"author":{"gitId":"-"},"content":" uses: actions/setup-java@v3"},{"lineNumber":89,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":90,"author":{"gitId":"-"},"content":" java-version: \u002711\u0027"},{"lineNumber":91,"author":{"gitId":"-"},"content":" distribution: \u0027temurin\u0027"},{"lineNumber":92,"author":{"gitId":"-"},"content":" - run: npm run setup"},{"lineNumber":93,"author":{"gitId":"-"},"content":" - name: Deploy DG on any commit to master, to markbind.org/devdocs"},{"lineNumber":94,"author":{"gitId":"-"},"content":" run: \u003e-"},{"lineNumber":95,"author":{"gitId":"-"},"content":" npm run build:web \u0026\u0026"},{"lineNumber":96,"author":{"gitId":"-"},"content":" npm run deploy:dg"},{"lineNumber":97,"author":{"gitId":"-"},"content":" - name: Deploy UG on release, to markbind.org"},{"lineNumber":98,"author":{"gitId":"-"},"content":" if: github.ref_type \u003d\u003d \u0027tag\u0027"},{"lineNumber":99,"author":{"gitId":"-"},"content":" run: npm run deploy:ug"},{"lineNumber":100,"author":{"gitId":"-"},"content":" - name: Check deploy log"},{"lineNumber":101,"author":{"gitId":"-"},"content":" run: |"},{"lineNumber":102,"author":{"gitId":"-"},"content":" log_file\u003d\"docs/_markbind/logs/markbind-$(date +\u0027%Y-%m-%d\u0027).log\""},{"lineNumber":103,"author":{"gitId":"-"},"content":" pattern\u003d\"^[0-9T:.Z-]+ - error:\""},{"lineNumber":104,"author":{"gitId":"-"},"content":" "},{"lineNumber":105,"author":{"gitId":"-"},"content":" if grep -q -E \"$pattern\" \"$log_file\"; then"},{"lineNumber":106,"author":{"gitId":"-"},"content":" printf \"The following issues were found when deploying the documentation:\\n\""},{"lineNumber":107,"author":{"gitId":"-"},"content":" grep -E \"$pattern\" \"$log_file\""},{"lineNumber":108,"author":{"gitId":"-"},"content":" exit 1"},{"lineNumber":109,"author":{"gitId":"-"},"content":" fi"}],"authorContributionMap":{"KevinEyo1":6,"-":103}},{"path":".github/workflows/new-contributor.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"name: New Contributor Action"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"on: "},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" pull_request_target:"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" types: [closed]"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"concurrency:"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":" group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" cancel-in-progress: true"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"jobs:"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" check-new-contributor:"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" if: ${{ github.event.pull_request.merged }}"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" runs-on: ubuntu-latest"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" permissions:"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" pull-requests: write"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" steps:"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" - name: Check new contributor"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" uses: actions/github-script@v7"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" with:"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" script: |"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" const prAuthor \u003d context.payload.pull_request.user.login;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" const prMerger \u003d context.payload.pull_request.merged_by.login;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" const repoOwner \u003d context.repo.owner;"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" const repoName \u003d context.repo.repo;"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":" const currentPR \u003d context.payload.pull_request.number;"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":" const previouslyMergedPRsByAuthor \u003d await github.paginate("},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" github.rest.pulls.list,"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" owner: repoOwner,"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" repo: repoName,"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":" state: \u0027closed\u0027,"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":" per_page: 100"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" (response) \u003d\u003e response.data.filter(pr \u003d\u003e pr.merged_at !\u003d null \u0026\u0026 pr.user.login \u003d\u003d\u003d prAuthor \u0026\u0026 pr.number !\u003d\u003d currentPR)"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" );"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" if (previouslyMergedPRsByAuthor.length \u003d\u003d 0) {"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" const welcomeMessage \u003d `**Welcome**, @${prAuthor}! 🎉 Thank you for your contribution to the MarkBind project!\\n\\n@${prMerger}, please remember to add @${prAuthor} as an official contributor to our repository.\\n\\nSee the full list of contributors [here](https://markbind.org/about.html). ✨`;"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" github.rest.issues.createComment({"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" issue_number: currentPR,"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" owner: repoOwner,"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" repo: repoName,"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" body: welcomeMessage"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" });"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":45}},{"path":".github/workflows/pr-merge.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"name: Pull Request Review Action"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"on:"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" pull_request_target:"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" types:"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" - closed"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"concurrency:"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" cancel-in-progress: true"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"jobs:"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" check-pr-label:"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" if: ${{ github.event.pull_request.merged }}"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" runs-on: ubuntu-latest"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" permissions:"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" contents: read"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" outputs:"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" num_labels_chosen: ${{ steps.check_pr_description_label.outputs.num_labels_chosen }}"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" message: ${{ steps.check_pr_description_label.outputs.message }}"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" chosen_label: ${{ steps.check_pr_description_label.outputs.chosen_label }}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" steps:"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" - uses: actions/checkout@v3"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" - name: Check for PR description label"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" id: check_pr_description_label"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":" run: |"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":" python scripts/process_message.py \"${TEXT_BODY}\" \u003e processed_body.txt"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" processed_body\u003d$(cat processed_body.txt)"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" proposed_version_impact\u003d$(echo \"$processed_body\" | awk \u0027/Major \\\\\\(when you make incompatible API changes\\\\\\)/,/Patch \\\\\\(when you make backward compatible bug fixes\\\\\\)/\u0027)"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" is_major\u003d$(echo \"$proposed_version_impact\" | grep -qi \u0027\\[X\\] Major\u0027; echo $((1-$?)))"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" is_minor\u003d$(echo \"$proposed_version_impact\" | grep -qi \u0027\\[X\\] Minor\u0027; echo $((1-$?)))"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":" is_patch\u003d$(echo \"$proposed_version_impact\" | grep -qi \u0027\\[X\\] Patch\u0027; echo $((1-$?)))"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":" num_labels_chosen\u003d$(($is_major + $is_minor + $is_patch))"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" echo \"num_labels_chosen\u003d$num_labels_chosen\" \u003e\u003e \"$GITHUB_OUTPUT\""},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" if [[ \"$num_labels_chosen\" -eq 0 ]]; then"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" echo \"message\u003d$(echo \"@${MERGE_AUTHOR} Each PR must have a SEMVER impact label, please remember to label the PR properly.\")\" \u003e\u003e \"$GITHUB_OUTPUT\""},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" elif [[ \"$num_labels_chosen\" -ge 2 ]]; then"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" echo \"message\u003d$(echo \"@${MERGE_AUTHOR} Each PR can only have one SEMVER impact label, please remember to label the PR properly.\")\" \u003e\u003e \"$GITHUB_OUTPUT\""},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" else"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" echo \"message\u003d$(echo \"SEMVER impact selected.\")\" \u003e\u003e \"$GITHUB_OUTPUT\""},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" echo \"chosen_label\u003d$("},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" if [ \"$is_major\" -eq 1 ]; then"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" echo \"r.Major\""},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" elif [ \"$is_minor\" -eq 1 ]; then"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" echo \"r.Minor\""},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" elif [ \"$is_patch\" -eq 1 ]; then"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":" echo \"r.Patch\""},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":" fi"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":" )\" \u003e\u003e \"$GITHUB_OUTPUT\""},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" fi"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":" env:"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":" TEXT_BODY: ${{ github.event.pull_request.body }}"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":" MERGE_AUTHOR: ${{ github.event.sender.login }}"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":" assign-label-or-reminder:"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":" if: ${{ github.event.pull_request.merged }}"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":" runs-on: ubuntu-latest"},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":" needs: check-pr-label"},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":" permissions:"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":" pull-requests: write"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":" steps:"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" - uses: actions/github-script@v7"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":" with:"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":" script: |"},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":" if (process.env.NUM_LABELS_CHOSEN !\u003d 1) {"},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":" github.rest.issues.createComment({"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":" issue_number: context.payload.pull_request.number,"},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":" owner: context.repo.owner,"},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":" repo: context.repo.repo,"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":" body: process.env.MESSAGE,"},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":" });"},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":" } else {"},{"lineNumber":72,"author":{"gitId":"KevinEyo1"},"content":" github.rest.issues.addLabels({"},{"lineNumber":73,"author":{"gitId":"KevinEyo1"},"content":" issue_number: context.payload.pull_request.number,"},{"lineNumber":74,"author":{"gitId":"KevinEyo1"},"content":" owner: context.repo.owner,"},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":" repo: context.repo.repo,"},{"lineNumber":76,"author":{"gitId":"KevinEyo1"},"content":" labels: [process.env.CHOSEN_LABEL]"},{"lineNumber":77,"author":{"gitId":"KevinEyo1"},"content":" });"},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":" env:"},{"lineNumber":80,"author":{"gitId":"KevinEyo1"},"content":" NUM_LABELS_CHOSEN: ${{ needs.check-pr-label.outputs.num_labels_chosen }}"},{"lineNumber":81,"author":{"gitId":"KevinEyo1"},"content":" MESSAGE: ${{ needs.check-pr-label.outputs.message }}"},{"lineNumber":82,"author":{"gitId":"KevinEyo1"},"content":" CHOSEN_LABEL: ${{ needs.check-pr-label.outputs.chosen_label }}"},{"lineNumber":83,"author":{"gitId":"KevinEyo1"},"content":""}],"authorContributionMap":{"KevinEyo1":83}},{"path":".github/workflows/pr-message-reminder.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"name: PR Message Reminder"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"on:"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" push:"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" branches:"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" - master"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" tags:"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":" - \u0027v[0-9]+.[0-9]+.[0-9]+\u0027"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" pull_request:"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" types:"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" - opened"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" - synchronize"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" - reopened"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" - edited"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"concurrency:"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" cancel-in-progress: true"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"jobs:"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" remind-pr-author:"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" if: github.event_name \u003d\u003d \u0027pull_request\u0027"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" runs-on: ubuntu-latest"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" permissions:"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" contents: read"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":" "},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":" steps:"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" - uses: actions/checkout@v3"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" - name: Extract Proposed Commit Message"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" run: |"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" python scripts/process_message.py \"${TEXT_BODY}\" \u003e processed_body.txt"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":" processed_body\u003d$(cat processed_body.txt)"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":" proposed_commit_message\u003d$(echo \"$processed_body\" | awk \u0027/\\\\*\\\\*Proposed commit message: \\\\\\(wrap lines at 72 characters\\\\\\)\\\\*\\\\*/,/\\\\*\\\\*Checklist:\\\\*\\\\*/\u0027 | tail -n +2 | head -n -3)"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" echo \"Proposed commit message:\""},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" echo \"$proposed_commit_message\""},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" if ! grep -q \u0027[^[:space:]]\u0027 \u003c\u003c\u003c \"$proposed_commit_message\"; then"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" echo \"Please fill in the proposed commit message section in the pull request description.\""},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" exit 1"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" fi"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" env:"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" TEXT_BODY: ${{ github.event.pull_request.body }}"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":41}},{"path":".stylelintrc.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"module.exports \u003d {"},{"lineNumber":2,"author":{"gitId":"LamJiuFong"},"content":" \"extends\": [\"stylelint-config-standard\", \"stylelint-config-recommended-vue\"],"},{"lineNumber":3,"author":{"gitId":"LamJiuFong"},"content":" \"plugins\": [\"@stylistic/stylelint-plugin\"],"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"rules\": {"},{"lineNumber":5,"author":{"gitId":"LamJiuFong"},"content":" \"@stylistic/indentation\": [4, { baseIndentLevel: 1 } ],"},{"lineNumber":6,"author":{"gitId":"-"},"content":" // MarkBind generates some blank CSS files when initialising a site,"},{"lineNumber":7,"author":{"gitId":"-"},"content":" // which violates the no-empty-source rule"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"no-empty-source\": null"},{"lineNumber":9,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10,"author":{"gitId":"-"},"content":"};"}],"authorContributionMap":{"LamJiuFong":3,"-":7}},{"path":"docs/_markbind/layouts/userGuide.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% include \"_markbind/layouts/headers/header.md\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"flex-body\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003cnav id\u003d\"site-nav\"\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"site-nav-top\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"fw-bold mb-2\" style\u003d\"font-size: 1.25rem;\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" User Guide"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003csite-nav\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"* [Getting Started]({{baseUrl}}/userGuide/gettingStarted.html)"},{"lineNumber":13,"author":{"gitId":"-"},"content":"* Authoring Contents :expanded:"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * [Overview]({{baseUrl}}/userGuide/authoringContents.html)"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * [Adding Pages]({{baseUrl}}/userGuide/addingPages.html)"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * [MarkBind Syntax Overview]({{baseUrl}}/userGuide/markBindSyntaxOverview.html)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * [Formatting Contents]({{baseUrl}}/userGuide/formattingContents.html)"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * [Using Components]({{baseUrl}}/userGuide/usingComponents.html) :expanded:"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * [Presentation]({{baseUrl}}/userGuide/components/presentation.html)"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * [Images \u0026 Diagrams]({{baseUrl}}/userGuide/components/imagesAndDiagrams.html)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * [Pop-Ups]({{baseUrl}}/userGuide/components/popups.html)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * [Navigation]({{baseUrl}}/userGuide/components/navigation.html)"},{"lineNumber":23,"author":{"gitId":"-"},"content":" * [Others]({{baseUrl}}/userGuide/components/others.html)"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * [Advanced]({{baseUrl}}/userGuide/components/advanced.html)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * [Using HTML, JavaScript, CSS]({{baseUrl}}/userGuide/usingHtmlJavaScriptCss.html)"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * [Tweaking the Page Structure]({{baseUrl}}/userGuide/tweakingThePageStructure.html)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * [Reusing Contents]({{baseUrl}}/userGuide/reusingContents.html)"},{"lineNumber":28,"author":{"gitId":"-"},"content":"* Working with Sites :expanded:"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * [Overview]({{baseUrl}}/userGuide/workingWithSites.html)"},{"lineNumber":30,"author":{"gitId":"-"},"content":" * [Setting Site Properties]({{baseUrl}}/userGuide/settingSiteProperties.html)"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * [Using Plugins]({{baseUrl}}/userGuide/usingPlugins.html)"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * [Making the Site Searchable]({{baseUrl}}/userGuide/makingTheSiteSearchable.html)"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * [Applying Themes]({{baseUrl}}/userGuide/themes.html)"},{"lineNumber":34,"author":{"gitId":"-"},"content":" * [Deploying the Site]({{baseUrl}}/userGuide/deployingTheSite.html)"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * [MarkBind in the Project Workflow]({{baseUrl}}/userGuide/markBindInTheProjectWorkflow.html)"},{"lineNumber":36,"author":{"gitId":"-"},"content":" * [Redirecting to a Custom 404 Page]({{baseUrl}}/userGuide/redirectingToACustom404Page.html)"},{"lineNumber":37,"author":{"gitId":"-"},"content":" * [Adding Navigation Buttons]({{baseUrl}}/userGuide/addingNavigationButtons.html)"},{"lineNumber":38,"author":{"gitId":"-"},"content":" * [Templates]({{baseUrl}}/userGuide/templates.html)"},{"lineNumber":39,"author":{"gitId":"-"},"content":"* References :expanded:"},{"lineNumber":40,"author":{"gitId":"-"},"content":" * [CLI Commands]({{baseUrl}}/userGuide/cliCommands.html)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" * [Reader-Facing Features]({{baseUrl}}/userGuide/readerFacingFeatures.html)"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" * [Syntax Reference]({{baseUrl}}/userGuide/syntaxReference.html)"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * [`site.json` File]({{baseUrl}}/userGuide/siteJsonFile.html)"},{"lineNumber":44,"author":{"gitId":"-"},"content":" * [`.gitignore` File]({{baseUrl}}/userGuide/gitignoreFile.html)"},{"lineNumber":45,"author":{"gitId":"-"},"content":" * [Tips \u0026 Tricks]({{baseUrl}}/userGuide/tipsAndTricks.html)"},{"lineNumber":46,"author":{"gitId":"-"},"content":" * [Troubleshooting]({{baseUrl}}/userGuide/troubleshooting.html)"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * [Glossary]({{baseUrl}}/userGuide/glossary.html)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003c/site-nav\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003c/nav\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"content-wrapper\"\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cbreadcrumb /\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" {{ content }}"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003cnav id\u003d\"page-nav\"\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003cpage-nav /\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":" \u003c/nav\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003cscroll-top-button\u003e\u003c/scroll-top-button\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"footers/footer.md\" /\u003e"}],"authorContributionMap":{"jingting1412":1,"-":62}},{"path":"docs/css/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":109,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":"}"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":120,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":"}"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":127,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":129}},{"path":"docs/devGuide/bootcamp/exploreMarkBind.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Explore MarkBind as a User\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" title: \"{{ title }}\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" layout: devGuide.md"},{"lineNumber":7,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"# {{ title }}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"Getting to know MarkBind as a user will help you understand what MarkBind offers and how it can be used to create static websites. This will also help you understand the different components and syntax available in MarkBind, which will be useful when you want to debug issues or create similar features in the future."},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"## TLDR"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"- [ ] Setup the master branch MarkBind"},{"lineNumber":21,"author":{"gitId":"-"},"content":"- [ ] Create a MarkBind site"},{"lineNumber":22,"author":{"gitId":"-"},"content":"- [ ] Create content with MarkBind"},{"lineNumber":23,"author":{"gitId":"-"},"content":"- [ ] Modify site structure and configuration"},{"lineNumber":24,"author":{"gitId":"-"},"content":"- [ ] Deploy your MarkBind site"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"## Setup the master branch of MarkBind"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"As mentioned in our \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/gettingStarted.html\"\u003euser guide\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/gettingStarted.html\"\u003euser guide\u003c/a\u003e, we can either install MarkBind via npm or create a new MarkBind site with npx."},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"In this bootcamp, we want to set up the master branch MarkBind so that we can test out any changes we make to the codebase on our local machine."},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" light\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"You can also switch between the master branch MarkBind and check out other branches if you are working on multiple issues. This is also useful when you want to test out a PR submitted by another developer."},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"{{baseUrl}}/devGuide/development/settingUp.md\" header\u003d\"**Setting up MarkBind**\" type\u003d\"info\" minimized\u003e\u003c/panel\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"**Checkpoint**"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"After setting up MarkBind, try running from the root directory of your MarkBind repository:"},{"lineNumber":45,"author":{"gitId":"-"},"content":"- [ ] `markbind -v` to check that you have the correct version of MarkBind installed"},{"lineNumber":46,"author":{"gitId":"-"},"content":"- [ ] `cd docs \u0026\u0026 markbind serve -d` to check that you can serve the MarkBind documentation site in development mode"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"If you can browse the MarkBind documentation site that should have automatically been up in your browser at http://localhost:8080, you have successfully set up MarkBind!"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"port-info\"\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":"If port 8080 is in use, another port will be chosen. Refer to the console output for the exact URL address."},{"lineNumber":53,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Sample Console Output\" type\u003d\"info\" minimized\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"```"},{"lineNumber":59,"author":{"gitId":"-"},"content":"$ markbind -v"},{"lineNumber":60,"author":{"gitId":"-"},"content":" __ __ _ ____ _ _ "},{"lineNumber":61,"author":{"gitId":"-"},"content":" | \\/ | __ _ _ __ | | __ | __ ) (_) _ __ __| |"},{"lineNumber":62,"author":{"gitId":"-"},"content":" | |\\/| | / _` | | \u0027__| | |/ / | _ \\ | | | \u0027_ \\ / _` |"},{"lineNumber":63,"author":{"gitId":"-"},"content":" | | | | | (_| | | | | \u003c | |_) | | | | | | | | (_| |"},{"lineNumber":64,"author":{"gitId":"-"},"content":" |_| |_| \\__,_| |_| |_|\\_\\ |____/ |_| |_| |_| \\__,_|"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" v4.0.2"},{"lineNumber":67,"author":{"gitId":"-"},"content":"Usage: markbind \u003ccommand\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":"Options:"},{"lineNumber":70,"author":{"gitId":"-"},"content":" -V, --version output the version number "},{"lineNumber":71,"author":{"gitId":"-"},"content":" -h, --help display help for command "},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":"Commands:"},{"lineNumber":74,"author":{"gitId":"-"},"content":" init|i [options] [root] init a markbind website project"},{"lineNumber":75,"author":{"gitId":"-"},"content":" serve|s [options] [root] build then serve a website from a directory"},{"lineNumber":76,"author":{"gitId":"-"},"content":" build|b [options] [root] [output] build a website"},{"lineNumber":77,"author":{"gitId":"-"},"content":" deploy|d [options] [root] deploy the latest build of the site to the repo\u0027s Github pages"},{"lineNumber":78,"author":{"gitId":"-"},"content":" help [command] display help for command"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":"$ cd docs \u0026\u0026 markbind serve -d"},{"lineNumber":81,"author":{"gitId":"-"},"content":" __ __ _ ____ _ _"},{"lineNumber":82,"author":{"gitId":"-"},"content":" | \\/ | __ _ _ __ | | __ | __ ) (_) _ __ __| |"},{"lineNumber":83,"author":{"gitId":"-"},"content":" | |\\/| | / _` | | \u0027__| | |/ / | _ \\ | | | \u0027_ \\ / _` |"},{"lineNumber":84,"author":{"gitId":"-"},"content":" | | | | | (_| | | | | \u003c | |_) | | | | | | | | (_| |"},{"lineNumber":85,"author":{"gitId":"-"},"content":" |_| |_| \\__,_| |_| |_|\\_\\ |____/ |_| |_| |_| \\__,_|"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" v4.0.2"},{"lineNumber":88,"author":{"gitId":"-"},"content":"info: Changes detected in MarkBind Vue Source Files:"},{"lineNumber":89,"author":{"gitId":"-"},"content":"Bundle is regenerated by webpack and built pages are re-rendered with the latest bundle."},{"lineNumber":90,"author":{"gitId":"-"},"content":"info: Website generation started at 4:16:47 pm"},{"lineNumber":91,"author":{"gitId":"-"},"content":"info: Building assets..."},{"lineNumber":92,"author":{"gitId":"-"},"content":"info: Assets built"},{"lineNumber":93,"author":{"gitId":"-"},"content":"info: Generating pages..."},{"lineNumber":94,"author":{"gitId":"-"},"content":"[\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d------------------------------------] 23 / 59 pages [\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d-------[\u003d\u003d\u003d\u003d\u003d\u003d[\u003d\u003d\u003d[\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d] 59 / 59 pages built"},{"lineNumber":95,"author":{"gitId":"-"},"content":"info: Pages built"},{"lineNumber":96,"author":{"gitId":"-"},"content":"webpack built 6d52f45b1910f9f545a2 in 11017ms"},{"lineNumber":97,"author":{"gitId":"-"},"content":"i 「wdm」: Hash: 6d52f45b1910f9f545a2"},{"lineNumber":98,"author":{"gitId":"-"},"content":"Version: webpack 4.46.0"},{"lineNumber":99,"author":{"gitId":"-"},"content":"Time: 11017ms"},{"lineNumber":100,"author":{"gitId":"-"},"content":"Built at: 01/01/2023 4:16:58 pm"},{"lineNumber":101,"author":{"gitId":"-"},"content":" Asset Size Chunks Chunk Names"},{"lineNumber":102,"author":{"gitId":"-"},"content":" fonts/KaTeX_AMS-Regular.ttf 62.1 KiB [emitted]"},{"lineNumber":103,"author":{"gitId":"-"},"content":" fonts/KaTeX_AMS-Regular.woff 32.7 KiB [emitted]"},{"lineNumber":104,"author":{"gitId":"-"},"content":" fonts/KaTeX_AMS-Regular.woff2 27.4 KiB [emitted]"},{"lineNumber":105,"author":{"gitId":"-"},"content":" fonts/KaTeX_Caligraphic-Bold.ttf 12.1 KiB [emitted]"},{"lineNumber":106,"author":{"gitId":"-"},"content":" fonts/KaTeX_Caligraphic-Bold.woff 7.54 KiB [emitted]"},{"lineNumber":107,"author":{"gitId":"-"},"content":" fonts/KaTeX_Caligraphic-Bold.woff2 6.75 KiB [emitted]"},{"lineNumber":108,"author":{"gitId":"-"},"content":" fonts/KaTeX_Caligraphic-Regular.ttf 12.1 KiB [emitted]"},{"lineNumber":109,"author":{"gitId":"-"},"content":" fonts/KaTeX_Caligraphic-Regular.woff 7.48 KiB [emitted]"},{"lineNumber":110,"author":{"gitId":"-"},"content":"fonts/KaTeX_Caligraphic-Regular.woff2 6.75 KiB [emitted]"},{"lineNumber":111,"author":{"gitId":"-"},"content":" fonts/KaTeX_Fraktur-Bold.ttf 19.1 KiB [emitted]"},{"lineNumber":112,"author":{"gitId":"-"},"content":" fonts/KaTeX_Fraktur-Bold.woff 13 KiB [emitted]"},{"lineNumber":113,"author":{"gitId":"-"},"content":" fonts/KaTeX_Fraktur-Bold.woff2 11.1 KiB [emitted]"},{"lineNumber":114,"author":{"gitId":"-"},"content":" fonts/KaTeX_Fraktur-Regular.ttf 19.1 KiB [emitted]"},{"lineNumber":115,"author":{"gitId":"-"},"content":" fonts/KaTeX_Fraktur-Regular.woff 12.9 KiB [emitted]"},{"lineNumber":116,"author":{"gitId":"-"},"content":" fonts/KaTeX_Fraktur-Regular.woff2 11.1 KiB [emitted]"},{"lineNumber":117,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Bold.ttf 50.1 KiB [emitted]"},{"lineNumber":118,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Bold.woff 29.2 KiB [emitted]"},{"lineNumber":119,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Bold.woff2 24.7 KiB [emitted]"},{"lineNumber":120,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-BoldItalic.ttf 32.2 KiB [emitted]"},{"lineNumber":121,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-BoldItalic.woff 19 KiB [emitted]"},{"lineNumber":122,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-BoldItalic.woff2 16.4 KiB [emitted]"},{"lineNumber":123,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Italic.ttf 32.8 KiB [emitted]"},{"lineNumber":124,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Italic.woff 19.2 KiB [emitted]"},{"lineNumber":125,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Italic.woff2 16.6 KiB [emitted]"},{"lineNumber":126,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Regular.ttf 52.3 KiB [emitted]"},{"lineNumber":127,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Regular.woff 30.1 KiB [emitted]"},{"lineNumber":128,"author":{"gitId":"-"},"content":" fonts/KaTeX_Main-Regular.woff2 25.7 KiB [emitted]"},{"lineNumber":129,"author":{"gitId":"-"},"content":" fonts/KaTeX_Math-BoldItalic.ttf 30.5 KiB [emitted]"},{"lineNumber":130,"author":{"gitId":"-"},"content":" fonts/KaTeX_Math-BoldItalic.woff 18.2 KiB [emitted]"},{"lineNumber":131,"author":{"gitId":"-"},"content":" fonts/KaTeX_Math-BoldItalic.woff2 16 KiB [emitted]"},{"lineNumber":132,"author":{"gitId":"-"},"content":" fonts/KaTeX_Math-Italic.ttf 30.6 KiB [emitted]"},{"lineNumber":133,"author":{"gitId":"-"},"content":" fonts/KaTeX_Math-Italic.woff 18.3 KiB [emitted]"},{"lineNumber":134,"author":{"gitId":"-"},"content":" fonts/KaTeX_Math-Italic.woff2 16.1 KiB [emitted]"},{"lineNumber":135,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Bold.ttf 23.9 KiB [emitted]"},{"lineNumber":136,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Bold.woff 14.1 KiB [emitted]"},{"lineNumber":137,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Bold.woff2 11.9 KiB [emitted]"},{"lineNumber":138,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Italic.ttf 21.8 KiB [emitted]"},{"lineNumber":139,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Italic.woff 13.8 KiB [emitted]"},{"lineNumber":140,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Italic.woff2 11.7 KiB [emitted]"},{"lineNumber":141,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Regular.ttf 19 KiB [emitted]"},{"lineNumber":142,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Regular.woff 12 KiB [emitted]"},{"lineNumber":143,"author":{"gitId":"-"},"content":" fonts/KaTeX_SansSerif-Regular.woff2 10.1 KiB [emitted]"},{"lineNumber":144,"author":{"gitId":"-"},"content":" fonts/KaTeX_Script-Regular.ttf 16.3 KiB [emitted]"},{"lineNumber":145,"author":{"gitId":"-"},"content":" fonts/KaTeX_Script-Regular.woff 10.3 KiB [emitted]"},{"lineNumber":146,"author":{"gitId":"-"},"content":" fonts/KaTeX_Script-Regular.woff2 9.42 KiB [emitted]"},{"lineNumber":147,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size1-Regular.ttf 11.9 KiB [emitted]"},{"lineNumber":148,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size1-Regular.woff 6.34 KiB [emitted]"},{"lineNumber":149,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size1-Regular.woff2 5.34 KiB [emitted]"},{"lineNumber":150,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size2-Regular.ttf 11.2 KiB [emitted]"},{"lineNumber":151,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size2-Regular.woff 6.04 KiB [emitted]"},{"lineNumber":152,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size2-Regular.woff2 5.09 KiB [emitted]"},{"lineNumber":153,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size3-Regular.ttf 7.41 KiB [emitted]"},{"lineNumber":154,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size3-Regular.woff 4.32 KiB [emitted]"},{"lineNumber":155,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size3-Regular.woff2 3.54 KiB [emitted]"},{"lineNumber":156,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size4-Regular.ttf 10.1 KiB [emitted]"},{"lineNumber":157,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size4-Regular.woff 5.84 KiB [emitted]"},{"lineNumber":158,"author":{"gitId":"-"},"content":" fonts/KaTeX_Size4-Regular.woff2 4.81 KiB [emitted]"},{"lineNumber":159,"author":{"gitId":"-"},"content":" fonts/KaTeX_Typewriter-Regular.ttf 26.9 KiB [emitted]"},{"lineNumber":160,"author":{"gitId":"-"},"content":" fonts/KaTeX_Typewriter-Regular.woff 15.7 KiB [emitted]"},{"lineNumber":161,"author":{"gitId":"-"},"content":" fonts/KaTeX_Typewriter-Regular.woff2 13.3 KiB [emitted]"},{"lineNumber":162,"author":{"gitId":"-"},"content":" js/markbind.min.js 1.3 MiB markbind [emitted] markbind"},{"lineNumber":163,"author":{"gitId":"-"},"content":"Entrypoint markbind \u003d js/markbind.min.js"},{"lineNumber":164,"author":{"gitId":"-"},"content":"[0] multi webpack-hot-middleware/client ../packages/core-web/src/index.js 40 bytes {markbind} [built]"},{"lineNumber":165,"author":{"gitId":"-"},"content":"[../../node_modules/@babel/runtime/helpers/arrayWithHoles.js] ../node_modules/@babel/runtime/helpers/arrayWithHoles.js "},{"lineNumber":166,"author":{"gitId":"-"},"content":"184 bytes {markbind} [built]"},{"lineNumber":167,"author":{"gitId":"-"},"content":"[../../node_modules/@babel/runtime/helpers/defineProperty.js] ../node_modules/@babel/runtime/helpers/defineProperty.js "},{"lineNumber":168,"author":{"gitId":"-"},"content":"367 bytes {markbind} [built]"},{"lineNumber":169,"author":{"gitId":"-"},"content":"[../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js] ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js 711 bytes {markbind} [built]"},{"lineNumber":170,"author":{"gitId":"-"},"content":"[../../node_modules/@babel/runtime/helpers/nonIterableRest.js] ../node_modules/@babel/runtime/helpers/nonIterableRest.js 309 bytes {markbind} [built]"},{"lineNumber":171,"author":{"gitId":"-"},"content":"[../../node_modules/@babel/runtime/helpers/slicedToArray.js] ../node_modules/@babel/runtime/helpers/slicedToArray.js 522 bytes {markbind} [built]"},{"lineNumber":172,"author":{"gitId":"-"},"content":"[../../node_modules/strip-ansi/index.js] ../node_modules/strip-ansi/index.js 154 bytes {markbind} [built]"},{"lineNumber":173,"author":{"gitId":"-"},"content":"[../../node_modules/webpack-hot-middleware/client-overlay.js] ../node_modules/webpack-hot-middleware/client-overlay.js 2.14 KiB {markbind} [built] "},{"lineNumber":174,"author":{"gitId":"-"},"content":"[../../node_modules/webpack-hot-middleware/client.js] ../node_modules/webpack-hot-middleware/client.js 7.69 KiB {markbind} [built]"},{"lineNumber":175,"author":{"gitId":"-"},"content":"[../../node_modules/webpack-hot-middleware/process-update.js] ../node_modules/webpack-hot-middleware/process-update.js 4.36 KiB {markbind} [built] "},{"lineNumber":176,"author":{"gitId":"-"},"content":"[../../node_modules/webpack/buildin/module.js] ../node_modules/webpack/buildin/module.js 497 bytes {markbind} [built]"},{"lineNumber":177,"author":{"gitId":"-"},"content":"[./src/VueCommonAppFactory.js] ../packages/core-web/src/VueCommonAppFactory.js 1.09 KiB {markbind} [built]"},{"lineNumber":178,"author":{"gitId":"-"},"content":"[./src/index.js] ../packages/core-web/src/index.js 8.17 KiB {markbind} [built]"},{"lineNumber":179,"author":{"gitId":"-"},"content":"[./src/scrollTopButton.js] ../packages/core-web/src/scrollTopButton.js 1.49 KiB {markbind} [built]"},{"lineNumber":180,"author":{"gitId":"-"},"content":"[./src/styles/index.css] ../packages/core-web/src/styles/index.css 1.09 KiB {markbind} [built]"},{"lineNumber":181,"author":{"gitId":"-"},"content":" + 346 hidden modules"},{"lineNumber":182,"author":{"gitId":"-"},"content":"i 「wdm」: Compiled successfully."},{"lineNumber":183,"author":{"gitId":"-"},"content":"info: Site data built"},{"lineNumber":184,"author":{"gitId":"-"},"content":"info: Website generation complete! Total build time: 11.242s"},{"lineNumber":185,"author":{"gitId":"-"},"content":"info: Serving \"C:\\Users\\User\\Documents\\GitHub\\markbind\\docs\\_site\" at http://127.0.0.1:8080"},{"lineNumber":186,"author":{"gitId":"-"},"content":"info: Press CTRL+C to stop ..."},{"lineNumber":187,"author":{"gitId":"-"},"content":"```"},{"lineNumber":188,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"## Create a MarkBind site"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":"With MarkBind installed, we can now create a new MarkBind site."},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":"We recommend that you set up a new repository for this MarkBind site so that you can push your site to GitHub pages later. This MarkBind site can be used to test out any changes you make to the codebase."},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":"As an example, let\u0027s create a test site together!"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":"You can refer to the example repository [here](https://github.com/tlylt/mb-dev-tlylt) for the code and [here](https://tlylt.github.io/mb-dev-tlylt/) for the deployed site if you get stuck."},{"lineNumber":202,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":"1. Create a new folder called \u003ctooltip content\u003d\"replace \u0027xxx\u0027 with your GitHub username\"\u003e\"mb-dev-xxx\"\u003c/tooltip\u003e at a location outside of the MarkBind source code directory."},{"lineNumber":205,"author":{"gitId":"-"},"content":"1. Go to the folder and run `markbind init` to create a new MarkBind site with the default template."},{"lineNumber":206,"author":{"gitId":"-"},"content":"1. Initialize a new git repository in the folder by running `git init`. You can also create a new public repository on GitHub first and clone it to your local machine."},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":"You should see the following output:"},{"lineNumber":209,"author":{"gitId":"-"},"content":"```"},{"lineNumber":210,"author":{"gitId":"-"},"content":"$ markbind init"},{"lineNumber":211,"author":{"gitId":"-"},"content":" __ __ _ ____ _ _"},{"lineNumber":212,"author":{"gitId":"-"},"content":" | \\/ | __ _ _ __ | | __ | __ ) (_) _ __ __| |"},{"lineNumber":213,"author":{"gitId":"-"},"content":" | |\\/| | / _` | | \u0027__| | |/ / | _ \\ | | | \u0027_ \\ / _` |"},{"lineNumber":214,"author":{"gitId":"-"},"content":" | | | | | (_| | | | | \u003c | |_) | | | | | | | | (_| |"},{"lineNumber":215,"author":{"gitId":"-"},"content":" |_| |_| \\__,_| |_| |_|\\_\\ |____/ |_| |_| |_| \\__,_|"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" v4.0.2"},{"lineNumber":218,"author":{"gitId":"-"},"content":"info: Initialization success."},{"lineNumber":219,"author":{"gitId":"-"},"content":"```"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":"**Checkpoint**"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":"After setting up the MarkBind test site, try running the following common operations from the root directory of your test site:"},{"lineNumber":226,"author":{"gitId":"-"},"content":"- [ ] Build the site by running `markbind build`"},{"lineNumber":227,"author":{"gitId":"-"},"content":"- [ ] Serve the site by running `markbind serve`"},{"lineNumber":228,"author":{"gitId":"-"},"content":"- [ ] Serve the site in development mode by running `markbind serve -d`"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":"You now have the test site up and running!"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":"## Create Content with MarkBind"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":"MarkBind contains a range of additional syntax on top of Markdown. It also comes with a set of components that can be used to create content."},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":"Two essential sections of the user guide to get started with are:"},{"lineNumber":239,"author":{"gitId":"-"},"content":"- \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/formattingContents.html\"\u003eFormatting Contents\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/formattingContents.html\"\u003eFormatting Contents\u003c/a\u003e - Covering Markdown \u0026 Markdown-like syntax."},{"lineNumber":240,"author":{"gitId":"-"},"content":"- \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/usingComponents.html\"\u003eUsing Components\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/usingComponents.html\"\u003eUsing Components\u003c/a\u003e - Covering MarkBind components (Built with Vue.js or Native HTML)."},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"{{baseUrl}}/userGuide/authoringContents.md\" header\u003d\"**Creating Content**\" type\u003d\"info\" minimized\u003e\u003c/panel\u003e"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":"The generated MarkBind site from the above step also includes a few sample usage in the `index.md` file."},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":"Now, let\u0027s try editing the `index.md` file to add some content of our own!"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":"1. Open the `index.md` file in your `mb-dev-xxx` folder."},{"lineNumber":249,"author":{"gitId":"-"},"content":"1. Replace the wording `Landing Page Title` with `MarkBind Developer Test Site`."},{"lineNumber":250,"author":{"gitId":"-"},"content":"1. Modify or add some content utilizing one or more of the following syntaxes:"},{"lineNumber":251,"author":{"gitId":"-"},"content":" - \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/formattingContents.html#text-styles\"\u003eText Styles\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/formattingContents.html#text-styles\"\u003eText Styles\u003c/a\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":" - \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/formattingContents.html#code\"\u003eCode Block\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/formattingContents.html#code\"\u003eCode Block\u003c/a\u003e"},{"lineNumber":253,"author":{"gitId":"-"},"content":" - \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/formattingContents.html#emoji\"\u003eEmoji\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/formattingContents.html#emoji\"\u003eEmoji\u003c/a\u003e"},{"lineNumber":254,"author":{"gitId":"-"},"content":" - etc."},{"lineNumber":255,"author":{"gitId":"-"},"content":"1. Modify or add some content utilizing one or more of the following components:"},{"lineNumber":256,"author":{"gitId":"-"},"content":" - \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/components/presentation.html#boxes\"\u003eBox\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/components/presentation.html#boxes\"\u003eBox\u003c/a\u003e"},{"lineNumber":257,"author":{"gitId":"-"},"content":" - \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/components/presentation.html#panels\"\u003ePanel\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/components/presentation.html#panels\"\u003ePanel\u003c/a\u003e"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" - \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/components/popups.html#tooltips\"\u003eTooltip\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/components/popups.html#tooltips\"\u003eTooltip\u003c/a\u003e"},{"lineNumber":259,"author":{"gitId":"-"},"content":" - etc."},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":"**Checkpoint**"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":"With live preview, you should be able to see the changes you have made to the site after saving. Check that the following are true:"},{"lineNumber":266,"author":{"gitId":"-"},"content":"- [ ] Serve the site by running `markbind serve -d`"},{"lineNumber":267,"author":{"gitId":"-"},"content":"- [ ] Make changes to the `index.md` file and save"},{"lineNumber":268,"author":{"gitId":"-"},"content":"- [ ] See the changes reflected in the live preview, with the correct rendering of the syntax and components"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":"You now have created content with MarkBind!"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":"## Modify Site Structure and Configuration"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":"There are a few ways to modify the site\u0027s (as well as the page\u0027s) structure and configuration. We will cover the following:"},{"lineNumber":277,"author":{"gitId":"-"},"content":"- \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/tweakingThePageStructure.html#frontmatter\"\u003eFrontmatter\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/tweakingThePageStructure.html#frontmatter\"\u003eFrontmatter\u003c/a\u003e"},{"lineNumber":278,"author":{"gitId":"-"},"content":"- \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/tweakingThePageStructure.html#layouts\"\u003eLayouts\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/tweakingThePageStructure.html#layouts\"\u003eLayouts\u003c/a\u003e"},{"lineNumber":279,"author":{"gitId":"-"},"content":"- \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/siteJsonFile.html\"\u003esite.json\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/siteJsonFile.html\"\u003esite.json\u003c/a\u003e"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":"Let\u0027s continue with the test site we created earlier and modify the `index.md` file via frontmatter."},{"lineNumber":282,"author":{"gitId":"-"},"content":""},{"lineNumber":283,"author":{"gitId":"-"},"content":"1. Open the `index.md` file in your `mb-dev-xxx` folder."},{"lineNumber":284,"author":{"gitId":"-"},"content":"1. Change the `pageNavTitle` in the frontmatter from `Topics` to `Index Page`."},{"lineNumber":285,"author":{"gitId":"-"},"content":"1. Change the `pageNav` in the frontmatter from `4` to `5`."},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":"**Checkpoint**"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":"Ensure that you are still serving the site with `markbind serve -d`. Check that the following are true:"},{"lineNumber":292,"author":{"gitId":"-"},"content":"- [ ] The rendered page navigation title is changed to `Index Page`"},{"lineNumber":293,"author":{"gitId":"-"},"content":"- [ ] The rendered page navigation content now shows `H5` headings as well"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":"Screenshot before the changes:"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":"\u003cpic src\u003d\"{{baseUrl}}/images/bootcamp/page_nav_before.png\" alt\u003d\"Page navigation title and content before changes\"\u003e\u003c/pic\u003e"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":"Screenshot after the changes:"},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":"\u003cpic src\u003d\"{{baseUrl}}/images/bootcamp/page_nav_after.png\" alt\u003d\"Page navigation title and content after changes\"\u003e\u003c/pic\u003e"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":"Another commonly adjusted structure is the layout of the site (especially, the site\u0027s top header and the left-hand-side navigation)."},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":"1. Open the `_markbind/layouts/default.md` file in your `mb-dev-xxx` folder."},{"lineNumber":308,"author":{"gitId":"-"},"content":"1. Change `Your Logo` to `MarkBind Developer Test Site`."},{"lineNumber":309,"author":{"gitId":"-"},"content":"1. Change `Home :house:` to `My Test Playground :computer:`."},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":"**Checkpoint**"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":"Ensure that you are still serving the site with `markbind serve -d`. Check that the following are true:"},{"lineNumber":316,"author":{"gitId":"-"},"content":"- [ ] The rendered page logo in the header is changed to `MarkBind Developer Test Site`"},{"lineNumber":317,"author":{"gitId":"-"},"content":"- [ ] The rendered site navigation title is changed to `My Test Playground` :computer:"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":"Screenshot after the changes:"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":"\u003cpic src\u003d\"{{baseUrl}}/images/bootcamp/logo_and_nav.png\" alt\u003d\"Logo and Nav changes\"\u003e\u003c/pic\u003e"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":324,"author":{"gitId":"-"},"content":""},{"lineNumber":325,"author":{"gitId":"-"},"content":"Lastly, let\u0027s modify the site configuration to change the site title and more."},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":"The `site.json` file is autogenerated and located in the root directory of the site. Refer to the User Guide - \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/siteJsonFile.html\"\u003e`site.json`\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/siteJsonFile.html\"\u003e`site.json`\u003c/a\u003e section for more details."},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"-"},"content":"1. Open the `site.json` file in your `mb-dev-xxx` folder."},{"lineNumber":330,"author":{"gitId":"-"},"content":"1. Change `\"titlePrefix\": \"\",` to `\"titlePrefix\": \"mb-dev-xxx\",`."},{"lineNumber":331,"author":{"gitId":"-"},"content":"1. Under `pages`, add `\"title\": \"Home\"`."},{"lineNumber":332,"author":{"gitId":"-"},"content":""},{"lineNumber":333,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":"**Checkpoint**"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":"Ensure that you are still serving the site with `markbind serve -d`. Check that the following are true:"},{"lineNumber":338,"author":{"gitId":"-"},"content":"- [ ] The page title in the browser tab is changed to `mb-dev-xxx - Home`"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":"Screenshot after the changes:"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":"\u003cpic src\u003d\"{{baseUrl}}/images/bootcamp/page_title.png\" alt\u003d\"Page title changes\"\u003e\u003c/pic\u003e"},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":"You now have modified some of the commonly adjusted site structure and configuration!"},{"lineNumber":345,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":"## Deploy your MarkBind site"},{"lineNumber":348,"author":{"gitId":"-"},"content":""},{"lineNumber":349,"author":{"gitId":"-"},"content":"MarkBind sites can be easily deployed with CLI commands or via CI. Let\u0027s try deploying our site via GitHub Actions."},{"lineNumber":350,"author":{"gitId":"-"},"content":""},{"lineNumber":351,"author":{"gitId":"-"},"content":"1. Open the `site.json` file in your `mb-dev-xxx` folder."},{"lineNumber":352,"author":{"gitId":"-"},"content":"1. Change `\"baseUrl\": \"\",` to `\"baseUrl\": \"/mb-dev-xxx\",` (Note the leading `/` and that the value is the same as your GitHub repository name)."},{"lineNumber":353,"author":{"gitId":"-"},"content":"1. Create a `.github/workflows/deploy.yml` file with the following content mentioned in the \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/deployingTheSite.html#deploying-via-github-actions\"\u003eGitHub Actions guide\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/deployingTheSite.html#deploying-via-github-actions\"\u003eGitHub Actions guide\u003c/a\u003e."},{"lineNumber":354,"author":{"gitId":"-"},"content":" 1. Note that you should change `branches: master` to `branches: main` if you are using the `main` branch."},{"lineNumber":355,"author":{"gitId":"-"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"{{baseUrl}}/userGuide/deployingTheSite.md#markbind-action-tip\" header\u003d\"**MarkBind Action**\" type\u003d\"info\" expanded/\u003e"},{"lineNumber":357,"author":{"gitId":"-"},"content":""},{"lineNumber":358,"author":{"gitId":"-"},"content":"4. Ensure that you have added your remote GitHub repository to your local repository with the following command (replace `xxx` with your GitHub username):"},{"lineNumber":359,"author":{"gitId":"-"},"content":" ```bash"},{"lineNumber":360,"author":{"gitId":"-"},"content":" git remote add origin https://github.com/xxx/mb-dev-xxx.git"},{"lineNumber":361,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":362,"author":{"gitId":"-"},"content":"5. Commit and push the changes to the `main` branch with the following commands:"},{"lineNumber":363,"author":{"gitId":"-"},"content":" ```bash"},{"lineNumber":364,"author":{"gitId":"-"},"content":" git add ."},{"lineNumber":365,"author":{"gitId":"-"},"content":" git commit -m \"Update content\""},{"lineNumber":366,"author":{"gitId":"-"},"content":" git push origin main"},{"lineNumber":367,"author":{"gitId":"-"},"content":"6. Update your GitHub repository setting for deploying to GitHub Pages."},{"lineNumber":368,"author":{"gitId":"-"},"content":" 1. Navigate to the Settings \u003e Pages section on GitHub for that repository and set the source to `Deploy from a branch` and the branch to `gh-pages` and `/(root)`."},{"lineNumber":369,"author":{"gitId":"-"},"content":""},{"lineNumber":370,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":371,"author":{"gitId":"-"},"content":""},{"lineNumber":372,"author":{"gitId":"-"},"content":"**Checkpoint**"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":"Check that the following are true:"},{"lineNumber":375,"author":{"gitId":"-"},"content":"- [ ] The triggered GitHub action runs are successful"},{"lineNumber":376,"author":{"gitId":"-"},"content":"- [ ] The site is deployed and available at `https://\u003cusername\u003e.github.io/mb-dev-xxx/` (after a few seconds to a few minutes)"},{"lineNumber":377,"author":{"gitId":"-"},"content":""},{"lineNumber":378,"author":{"gitId":"-"},"content":"Congratulations! :tada::tada::tada: You have deployed your MarkBind site!"},{"lineNumber":379,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":380,"author":{"gitId":"-"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":"## Summary"},{"lineNumber":382,"author":{"gitId":"-"},"content":""},{"lineNumber":383,"author":{"gitId":"-"},"content":"In the first part of this bootcamp, we experimented with MarkBind as a user. We have set up the master branch of MarkBind and created a new MarkBind site. We have also created content with MarkBind components/syntax and deployed our site."},{"lineNumber":384,"author":{"gitId":"-"},"content":""},{"lineNumber":385,"author":{"gitId":"-"},"content":"Here are some additional tasks for you to try out:"},{"lineNumber":386,"author":{"gitId":"-"},"content":"- [ ] Create a new MarkBind site with a different \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/themes.html\"\u003etheme\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/themes.html\"\u003etheme\u003c/a\u003e"},{"lineNumber":387,"author":{"gitId":"-"},"content":"- [ ] Try out MarkBind\u0027s \u003ca tags\u003d\"environment--combined\" href\u003d\"/userGuide/reusingContents.html#includes\"\u003einclude mechanism\u003c/a\u003e\u003ca tags\u003d\"environment--dg\" href\u003d\"https://markbind.org/userGuide/reusingContents.html#includes\"\u003einclude mechanism\u003c/a\u003e"},{"lineNumber":388,"author":{"gitId":"-"},"content":"- [ ] Create a dedicated MarkBind site for your personal usage and [share it with us](https://github.com/MarkBind/markbind/discussions/new?category\u003dshow-and-tell)"},{"lineNumber":389,"author":{"gitId":"-"},"content":" - You can see some examples in the [MarkBind showcase]({{ baseUrl }}/showcase.html)"},{"lineNumber":390,"author":{"gitId":"-"},"content":""},{"lineNumber":391,"author":{"gitId":"-"},"content":"Take a break now :coffee: and we will continue with the second part of the bootcamp!"},{"lineNumber":392,"author":{"gitId":"-"},"content":""},{"lineNumber":393,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":394,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027intro\u0027, \u0027contributeToDocs\u0027) }}"}],"authorContributionMap":{"-":393,"yiwen101":1}},{"path":"docs/devGuide/design/serverSideRendering.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Server Side Rendering\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" title: \"{{ title }}\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" layout: devGuide.md"},{"lineNumber":7,"author":{"gitId":"-"},"content":" pageNav: default"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"# {{ title }}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"MarkBind uses Server-side Rendering (SSR) for its pages."},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"To ensure SSR works properly, there are certain rules that developers should adhere to."},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"This page will describe SSR in general and elaborate on the caveats that developers should take note of when contributing to MarkBind."},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"## Pre-requisite Knowledge"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"To deal with SSR, it is important to first have a good understanding of two things:"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"1. Vue"},{"lineNumber":26,"author":{"gitId":"-"},"content":"1. MarkBind\u0027s Packages"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"### Understanding Vue"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"Here is a short list of questions to check your understanding of Vue:"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"* What is a Vue instance?"},{"lineNumber":33,"author":{"gitId":"-"},"content":"* What does it mean to compile Vue?"},{"lineNumber":34,"author":{"gitId":"-"},"content":"* What are render functions?"},{"lineNumber":35,"author":{"gitId":"-"},"content":"* Are there any differences between compiling Vue on client-side versus server-side?"},{"lineNumber":36,"author":{"gitId":"-"},"content":"* What is the difference between compiling and rendering?"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" header\u003d\"##### Useful Resources to understand Vue better\" seamless\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"If there are any doubts regarding the questions above, here are some good resources to refer to:"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"* [Vue Official Documentation](https://vuejs.org/v2/guide)"},{"lineNumber":43,"author":{"gitId":"-"},"content":"* [Evan You - Inside Vue Components - Laracon EU 2017](https://www.youtube.com/watch?v\u003dwZN_FtZRYC8\u0026ab_channel\u003dLaraconEU)"},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"### Understanding MarkBind\u0027s Packages"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"There are four packages in MarkBind\u0027s codebase:"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"1. cli"},{"lineNumber":51,"author":{"gitId":"-"},"content":"1. core"},{"lineNumber":52,"author":{"gitId":"-"},"content":"1. core-web"},{"lineNumber":53,"author":{"gitId":"-"},"content":"1. vue-components"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":"You may refer to MarkBind\u0027s [project structure](projectStructure.md) to get a better understanding of how the packages work together."},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":"## What is Server-side Rendering and Why?"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"In MarkBind\u0027s context, SSR refers to the generation of proper HTML strings from Vue components on the server (core library) instead of shifting that responsibility to the client-side (browser)."},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"The main motivation that we had for introducing SSR into MarkBind is to enhance user experience by resolving the unsightly issue of Flash-of-Unstyled-Content (FOUC), which occurs due to our reliance on Client-side Rendering (CSR)."},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":"## Client-side Hydration"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":"SSR and Client-side Hydration are 2 concepts that go hand-in-hand. Essentially, once we produce the static HTML via SSR and send it over to the client-side, Vue on the client-side will execute what is known as Client-side Hydration on the static HTML."},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":"During the hydration process, Vue essentially compares your SSR HTML markup against the virtual DOM generated by the render function on the client-side. If any difference is found, meaning that the application that we have on the client-side (the virtual DOM tree) differs from the SSR HTML mark-up that we send to the client, Vue will reject the SSR HTML output, bail Client-side Hydration, and execute full CSR."},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":"This is known as \"Hydration Issue\" and it is one of the main challenges you will face with SSR in MarkBind."},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" header\u003d\"#### Using production build\" seamless\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":"In production build, Vue does not perform hydration check. Any errors resulting from hydration will trigger full CSR without warning. MarkBind **uses the development build by default** when you serve it in development mode (`-d` option)."},{"lineNumber":74,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"## Penalties of Hydration Issue"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"When hydration fails, on top of the wasted time and effort in executing SSR, we will also incur the additional time penalty of executing Client-side Hydration (where CSR will follow afterwards)."},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":"Fortunately, even if we face hydration issues and execute full CSR, the FOUC problem will still be resolved nonetheless. The reason for this is because the SSR HTML markup should resemble the CSR HTML markup to a large extent."},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":"Supposedly, hydration issues typically occurs due to minor differences between client-side rendered virtual DOM tree and the server-rendered content. Of course, this is assuming that we are adhering to the concept of \"universal application\" as much as possible, which will be explained in the following section."},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":"## Avoiding Hydration Issue"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":"Conceptually, to prevent hydration issue, what we should always strive to achieve is a \"universal application\"."},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"It is not difficult to achieve a \"universal application\" per-se because we merely have to ensure two things:"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":"1) the initial state is the same between client-side and server-side."},{"lineNumber":91,"author":{"gitId":"-"},"content":"2) after compiling and rendering the Vue page application, the SSR HTML mark-up is not modified."},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":"Beyond achieving a \"universal application\", note that the HTML specifications should also be adhered to."},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":"Some common mistakes are as such:"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":"* Having block-level elements within `\u003cp\u003e` tag"},{"lineNumber":98,"author":{"gitId":"-"},"content":"* Having unknown HTML elements within our Vue application during compilation/rendering (though this can be easily resolved by adding `v-pre` to the unknown element, so that Vue will ignore that element during compilation)."},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"success\" seamless\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":"If you are unsure what elements are allowed within other elements, or what constitutes invalid HTML in general, a good resource to reference would be the [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/span)."},{"lineNumber":103,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":"Modern browsers have robust inbuilt mechanisms to auto-correct common causes of hydration. Therefore, to avoid high false positive rate, Markbind has a minimalist rule-based validation against violations. The code for this is located in `core/src/utils/htmlValidationUtils.ts`. "},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":"Please help extend it when violations that cause hydration on browsers are spotted."},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":"Note that the list only included the common causes of hydration issue that MarkBind developers have ran into. There may be other causes of hydration issue that are not listed here (although unlikely)."},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":114,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027architecture\u0027, \u0027../githubActions/overview\u0027) }}"}],"authorContributionMap":{"-":108,"yiwen101":6}},{"path":"docs/site.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"baseUrl\": \"\","},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"timeZone\": \"Asia/Singapore\","},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"titlePrefix\": \"MarkBind\","},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"style\": {"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"codeTheme\": \"light\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":9,"author":{"gitId":"-"},"content":" {"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"glob\": [\"*.md\", \"userGuide/*.md\", \"userGuide/components/*.md\", \"devGuide/*.md\", \"devGuide/*/*.md\"]"},{"lineNumber":11,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12,"author":{"gitId":"-"},"content":" {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"src\": ["},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"index.md\","},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"userGuide/index.md\","},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \"userGuide/syntaxReference.md\","},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"userGuide/readerFacingFeatures.md\","},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"devGuide/index.md\""},{"lineNumber":19,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"searchable\": \"no\""},{"lineNumber":21,"author":{"gitId":"-"},"content":" }"},{"lineNumber":22,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"plugins\" : ["},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"filterTags\","},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"mathDelimiters\","},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"codeBlockWrapButtons\","},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"web3Form\","},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"codeBlockCopyButtons\""},{"lineNumber":29,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"pluginsContext\" : {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"filterTags\" : {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"tags\": [\"environment--combined\"]"},{"lineNumber":33,"author":{"gitId":"-"},"content":" },"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"mathDelimiters\": {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"delimiters\": [\"beg_end\"]"},{"lineNumber":36,"author":{"gitId":"-"},"content":" },"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"web3Form\": {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"accessKey\": [\"\"]"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":" },"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"headingIndexingLevel\": 6,"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"ignore\": ["},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"_markbind\","},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"_site/*\","},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"lib/*\","},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"*.json\","},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"*.md\","},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"*.njk\","},{"lineNumber":49,"author":{"gitId":"-"},"content":" \".git/*\","},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"*.pptx\","},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"CNAME\""},{"lineNumber":52,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"deploy\": {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"message\": \"Site Update.\""},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"jingting1412":1,"-":55}},{"path":"docs/ug-site.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"baseUrl\": \"\","},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"titlePrefix\": \"MarkBind\","},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"style\": {"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"codeTheme\": \"light\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":8,"author":{"gitId":"-"},"content":" {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"glob\": [\"*.md\", \"userGuide/*.md\", \"userGuide/components/*.md\"]"},{"lineNumber":10,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11,"author":{"gitId":"-"},"content":" {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"src\": ["},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"index.md\","},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"userGuide/index.md\","},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \"userGuide/syntaxReference.md\","},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"userGuide/readerFacingFeatures.md\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"searchable\": \"no\""},{"lineNumber":19,"author":{"gitId":"-"},"content":" }"},{"lineNumber":20,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"plugins\" : ["},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"filterTags\","},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"mathDelimiters\","},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"codeBlockCopyButtons\""},{"lineNumber":25,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"pluginsContext\" : {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"filterTags\" : {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"tags\": [\"environment--ug\"]"},{"lineNumber":29,"author":{"gitId":"-"},"content":" },"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"mathDelimiters\": {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"delimiters\": [\"beg_end\"]"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":" },"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"headingIndexingLevel\": 6,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"ignore\": ["},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"_markbind\","},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"_site/*\","},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"lib/*\","},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"*.json\","},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"*.md\","},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"*.njk\","},{"lineNumber":42,"author":{"gitId":"-"},"content":" \".git/*\","},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"*.pptx\""},{"lineNumber":44,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"deploy\": {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"message\": \"Site Update.\","},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"repo\": \"https://github.com/MarkBind/markbind.github.io.git\","},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"branch\": \"master\""},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"jingting1412":1,"-":49}},{"path":"docs/userGuide/cliCommands.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" title: \"User Guide: Command Line Interface (CLI)\""},{"lineNumber":3,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: default"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"# CLI Commands"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cpage-nav-print /\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"### Overview"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"If you do not have MarkBind installed globally, you can still use MarkBind commands by prefixing the commands with `npx`. For example, `markbind init` becomes `npx markbind-cli init`."},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"If you have MarkBind installed locally, you may also refer to the scripts section of your `package.json` file for the commands you can use. For example, `npm run init` for `markbind init`."},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"An overview of MarkBind\u0027s Command Line Interface (CLI) can be referenced with `markbind --help`:"},{"lineNumber":21,"author":{"gitId":"-"},"content":"```"},{"lineNumber":22,"author":{"gitId":"-"},"content":"$ markbind --help"},{"lineNumber":23,"author":{"gitId":"-"},"content":"Usage: markbind \u003ccommand\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" "},{"lineNumber":25,"author":{"gitId":"-"},"content":" Options:"},{"lineNumber":26,"author":{"gitId":"-"},"content":" -V, --version output the version number"},{"lineNumber":27,"author":{"gitId":"-"},"content":" -h, --help output usage information"},{"lineNumber":28,"author":{"gitId":"-"},"content":" "},{"lineNumber":29,"author":{"gitId":"-"},"content":" Commands:"},{"lineNumber":30,"author":{"gitId":"-"},"content":" init|i [options] [root] init a markbind website project"},{"lineNumber":31,"author":{"gitId":"-"},"content":" serve|s [options] [root] build then serve a website from a directory"},{"lineNumber":32,"author":{"gitId":"-"},"content":" build|b [options] [root] [output] build a website"},{"lineNumber":33,"author":{"gitId":"-"},"content":" deploy|d [options] [root] deploy the latest build of the site to the repo\u0027s Github pages"},{"lineNumber":34,"author":{"gitId":"-"},"content":"```"},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"markbind-init\"\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"### `init` Command"},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"**Format:** `markbind init [options] [root]`"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"**Alias:** `markbind i`"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"**Description:** Initializes a directory into a MarkBind site by creating a skeleton structure for the website which includes a `index.md` and a `site.json`."},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"**Arguments:**"},{"lineNumber":48,"author":{"gitId":"-"},"content":"* `[root]`\u003cbr\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" Root directory. Default is the current directory.\u003cbr\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" {{ icon_example }} `./myWebsite`"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Options** :fas-cogs:\" type\u003d\"minimal\" expanded\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"**Options** :fas-cogs:"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"* `-c`, `--convert`\u003cbr\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":" Convert an existing GitHub wiki or `docs` folder into a MarkBind website. See [Converting an existing GitHub project]({{ baseUrl }}/userGuide/markBindInTheProjectWorkflow.html#converting-existing-project-documentation-wiki) for more information."},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"* `-t`, `--template` \u003cbr\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" When initialising MarkBind, change the template that you start with. See [templates](templates.html)."},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":"{{ icon_examples }}"},{"lineNumber":63,"author":{"gitId":"-"},"content":"* `markbind init` : Initializes the site in the current working directory."},{"lineNumber":64,"author":{"gitId":"-"},"content":"* `markbind init ./myWebsite` : Initializes the site in `./myWebsite` directory."},{"lineNumber":65,"author":{"gitId":"-"},"content":"* `markbind init --convert --template minimal`: Converts the GitHub wiki or `docs` folder in the current working directory into a minimal MarkBind website."},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"### `serve` Command"},{"lineNumber":72,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":"**Format:** `markbind serve [options] [root]`"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"**Alias:** `markbind s`"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"**Description:** Does the following steps:"},{"lineNumber":79,"author":{"gitId":"-"},"content":"1. Builds the site and puts the generated files in a directory named `_site`."},{"lineNumber":80,"author":{"gitId":"LamJiuFong"},"content":"1. Starts a web server instance locally and makes the site available at `http://127.0.0.1:8080` by default."},{"lineNumber":81,"author":{"gitId":"-"},"content":"1. Opens a \u003ctrigger trigger\u003d\"click\" for\u003d\"modal:cliCommands-livePreview\"\u003elive preview\u003c/trigger\u003e of the website."},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003cmodal large header\u003d\"Live Preview\" id\u003d\"modal:cliCommands-livePreview\"\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"glossary.md#live-preview\"/\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003c/modal\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"**Arguments:**"},{"lineNumber":88,"author":{"gitId":"-"},"content":"* `[root]`\u003cbr\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" Root directory. The default is the directory where this command was executed.\u003cbr\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":" {{ icon_example }} `./myWebsite`"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Options** :fas-cogs:\" type\u003d\"minimal\" expanded\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":"**Options** :fas-cogs:"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"* `-o \u003cfile\u003e`, `--one-page \u003cfile\u003e`\u003cbr\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":" Serves only a single page from your website **initially**. If `\u003cfile\u003e` is not specified, it defaults to `index.md`.\u003cbr\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * Thereafter, when changes to source files have been made, the opened pages will be rebuilt if it was affected.\u003cbr\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":" * Navigating to a new page will build the new page, if it has not been built before, or there were some changes to source files that affected it before navigating to it.\u003cbr\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * {{ icon_example }} `--one-page guide/index.md`"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" light header\u003d\"Caveats\" style\u003d\"width: calc(100% - 50px); position: relative; left: 40px;\"\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"Essentially, this optional feature is very useful when writing content, more so if your build times are starting to slow down!"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"The caveat is that not building all pages during the initial process, or not rebuilding all affected pages when a file changes, will cause your search results for these pages to be empty or outdated, until you navigate to them to trigger a rebuild."},{"lineNumber":107,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":"* `-b`, `--background-build` **[BETA]**\u003cbr\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" If `--one-page` is specified, this mode enhances the single-page serve by building the pages that are not yet built"},{"lineNumber":111,"author":{"gitId":"-"},"content":" or marked to be rebuilt in the background."},{"lineNumber":112,"author":{"gitId":"-"},"content":" "},{"lineNumber":113,"author":{"gitId":"-"},"content":" You can still edit the pages during the background build. When MarkBind detects changes to the source"},{"lineNumber":114,"author":{"gitId":"-"},"content":" files, the background build will stop, rebuild the files affected, then resumes the background build with the"},{"lineNumber":115,"author":{"gitId":"-"},"content":" remaining pages."},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":"* `-s \u003cfile\u003e`, `--site-config \u003cfile\u003e`\u003cbr\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":" Specify the site config file (default: `site.json`)\u003cbr\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":" {{ icon_example }} `-s otherSite.json`"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":"* `-n`, `--no-open`\u003cbr\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":" Don\u0027t open a live preview in the browser automatically."},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":"* `-f`, `--force-reload`\u003cbr\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" Force live reload to process all files in the site, instead of just the relevant files. This option is useful when you are modifying a file that is not a file type monitored by the \u003ctrigger trigger\u003d\"click\" for\u003d\"modal:cliCommands-livePreview\"\u003elive preview\u003c/trigger\u003e feature."},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"LamJiuFong"},"content":"* `-a \u003caddress\u003e`, `--address \u003caddress\u003e`\u003cbr\u003e"},{"lineNumber":128,"author":{"gitId":"LamJiuFong"},"content":" Specify the server address/host (Default is 127.0.0.1)."},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"LamJiuFong"},"content":"* `-p \u003cport\u003e`, `--port \u003cport\u003e`\u003cbr\u003e"},{"lineNumber":131,"author":{"gitId":"LamJiuFong"},"content":" Serve the website in the specified port (Default is 8080)."},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":"{{ icon_examples }}"},{"lineNumber":134,"author":{"gitId":"-"},"content":"* `markbind serve` : Serves the site from the current working directory."},{"lineNumber":135,"author":{"gitId":"-"},"content":"* `markbind serve ./myWebsite` : Serves the site from the `./myWebsite` directory."},{"lineNumber":136,"author":{"gitId":"-"},"content":"* `markbind serve -p 8888 -s otherSite.json` : Serves the site in Port 8888 from the current working directory, using `otherSite.json` as the site configuration file."},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"### `build` Command"},{"lineNumber":143,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":"**Format:** `markbind build [options] [root] [output]`"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"**Alias:** `markbind b`"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":"**Description:** Generates the site to the directory named `_site` in the current directory."},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":"**Arguments:**"},{"lineNumber":152,"author":{"gitId":"-"},"content":"* `[root]`\u003cbr\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":" Root directory. Default is the current directory.\u003cbr\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":" {{ icon_example }} `./myWebsite`"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":"* `[root] [output]`\u003cbr\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":" Read source files from the `[root]` directory and put the generated files in the specified `[output]` directory. Default output directory is `_site`.\u003cbr\u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":" {{ icon_example }} `./myWebsite ./myWebsite/myOutDir`"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Options** :fas-cogs:\" type\u003d\"minimal\" expanded\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":"**Options** :fas-cogs:"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":"* `--baseUrl \u003cbase\u003e`\u003cbr\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":" Override the `baseUrl` property (read from the `site.json`) with the given `\u003cbase\u003e` value.\u003cbr\u003e"},{"lineNumber":166,"author":{"gitId":"-"},"content":" {{ icon_example }} `--baseUrl staging`"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":"* `-s \u003cfile\u003e`, `--site-config \u003cfile\u003e`\u003cbr\u003e"},{"lineNumber":169,"author":{"gitId":"-"},"content":" Specify the site config file (default: `site.json`)\u003cbr\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":" {{ icon_example }} `-s otherSite.json`"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":"**{{ icon_examples }}**"},{"lineNumber":173,"author":{"gitId":"-"},"content":"* `markbind build` : Generates the site from the current working directory."},{"lineNumber":174,"author":{"gitId":"-"},"content":"* `markbind build ./myWebsite` : Generates the site from the `./myWebsite` directory."},{"lineNumber":175,"author":{"gitId":"-"},"content":"* `markbind build ./myWebsite ./myOutDir` : Generates the site from the `./myWebsite` directory to the `./myOutDir` directory."},{"lineNumber":176,"author":{"gitId":"-"},"content":"* `markbind build ./stagingDir --baseUrl staging` : Generates the site from the `./stagingDir` directory, with the `baseUrl` property in `site.json` set to `staging`."},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":"### `deploy` Command"},{"lineNumber":183,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":"**Format:** `markbind deploy [options] [root]`"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":"**Alias:** `markbind d`"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":"**Description:** Deploys the site to the repo\u0027s GitHub pages by generating the site (default dir: `_site`) and pushing the generated site to the `gh-pages` branch of the current git working directory\u0027s remote repo."},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"**Arguments:**"},{"lineNumber":192,"author":{"gitId":"-"},"content":"* `[root]`\u003cbr\u003e"},{"lineNumber":193,"author":{"gitId":"-"},"content":" Root directory. Default is the current directory.\u003cbr\u003e"},{"lineNumber":194,"author":{"gitId":"-"},"content":" {{ icon_example }} `./myWebsite`"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Options** :fas-cogs:\" type\u003d\"minimal\" expanded\u003e"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":"**Options** :fas-cogs:"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":"* `-c \u003cgithubTokenName\u003e`, `--ci \u003cgithubTokenName\u003e`\u003cbr\u003e"},{"lineNumber":201,"author":{"gitId":"-"},"content":" Deploy the site in CI Environments using the GitHub personal access token stored in `\u003cgithubTokenName\u003e` (default: `GITHUB_TOKEN`).\u003cbr\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":" {{ icon_example }} `-c PA_TOKEN`"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":"* `-n`, `--no-build`\u003cbr\u003e"},{"lineNumber":205,"author":{"gitId":"-"},"content":" Skips the generation of the site before deploying it. By default, the `deploy` command generates the site before deploying the built site. This command should be used if the site needs to be generated with non-default arguments for the `build` command (e.g. baseUrl is specified using the `--baseUrl` flag for the `markbind build` command)."},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":"* `-s \u003cfile\u003e`, `--site-config \u003cfile\u003e`\u003cbr\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":" Specify the site config file (default: `site.json`).\u003cbr\u003e"},{"lineNumber":209,"author":{"gitId":"-"},"content":" {{ icon_example }} `-s otherSite.json`"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":"%%{{ icon_info }} Related: [User Guide: Deploying the Website](deployingTheSite.html).%%"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":"**{{ icon_examples }}**"},{"lineNumber":214,"author":{"gitId":"-"},"content":"* `markbind deploy` : Deploys after generating the site from the current working directory."},{"lineNumber":215,"author":{"gitId":"-"},"content":"* `markbind deploy ./myWebsite` : Deploys after generating the site from the `./myWebsite` directory."},{"lineNumber":216,"author":{"gitId":"-"},"content":"* `markbind deploy --no-build` : Deploys the site from the current working directory without generating it."},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":"### `--help` Option"},{"lineNumber":223,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":"**Format:** `markbind [command] --help`"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":"**Alias:** `markbind [command] -h`"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"**Description:** Prints a summary of MarkBind commands or a detailed usage guide for the given `command`."},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":"{{ icon_examples }}"},{"lineNumber":232,"author":{"gitId":"-"},"content":"* `markbind --help` : Prints a summary of MarkBind commands."},{"lineNumber":233,"author":{"gitId":"-"},"content":"* `markbind serve --help` : Prints a detailed usage guide for the `serve` command."}],"authorContributionMap":{"LamJiuFong":5,"-":228}},{"path":"docs/userGuide/components/imagesAndDiagrams.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Image \u0026 Diagram Components\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"imagesAndDiagrams\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"advanced.md#slots-info\" /\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"# Images \u0026 Diagrams"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\" class\u003d\"lead\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"The image components here provide **convenient syntax \u0026 styling abstractions** on top of raw HTML and Markdown images."},{"lineNumber":22,"author":{"gitId":"-"},"content":"Diagrams, in the form of **inline PlantUML components** are also supported."},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"{% macro show_topic(filename) %}"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"../syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":"{% if \u0027images-diagrams\u0027 in v[2] %}"},{"lineNumber":34,"author":{"gitId":"-"},"content":"{{ show_topic(k) }}"},{"lineNumber":35,"author":{"gitId":"-"},"content":"{% endif %}"},{"lineNumber":36,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":41,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027presentation\u0027, \u0027popups\u0027) }}"}],"authorContributionMap":{"jingting1412":2,"-":39}},{"path":"docs/userGuide/components/navigation.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Navigation Components\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"navigation\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"advanced.md#slots-info\" /\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"# Navigation"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\" class\u003d\"lead\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"The components in this page are used for scaffolding **site and page navigation**."},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"{% macro show_topic(filename) %}"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"../syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":"{% if \u0027navigation\u0027 in v[2] %}"},{"lineNumber":33,"author":{"gitId":"-"},"content":"{{ show_topic(k) }}"},{"lineNumber":34,"author":{"gitId":"-"},"content":"{% endif %}"},{"lineNumber":35,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":40,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027popups\u0027, \u0027others\u0027) }}"}],"authorContributionMap":{"jingting1412":2,"-":38}},{"path":"docs/userGuide/components/others.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Other Components\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"others\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"advanced.md#slots-info\" /\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"# Others"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\" class\u003d\"lead\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"This page lists some other components that may be useful in creating education websites. For now, there are only question and quiz components."},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"{% macro show_topic(filename) %}"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"../syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":"{% if \u0027others\u0027 in v[2] %}"},{"lineNumber":33,"author":{"gitId":"-"},"content":"{{ show_topic(k) }}"},{"lineNumber":34,"author":{"gitId":"-"},"content":"{% endif %}"},{"lineNumber":35,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":40,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027navigation\u0027, \u0027advanced\u0027) }}"}],"authorContributionMap":{"jingting1412":2,"-":38}},{"path":"docs/userGuide/components/popups.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Pop-Up Components\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"popups\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"advanced.md#slots-info\" /\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"# Pop-Ups"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\" class\u003d\"lead\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"The components in this page can be used to easily create **various forms of pop-ups** that are activated on some user action (e.g., hovering over some text). This may be useful for showing additional information related to some specific area or span of content."},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"{% macro show_topic(filename) %}"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"../syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":"{% if \u0027popups\u0027 in v[2] %}"},{"lineNumber":33,"author":{"gitId":"-"},"content":"{{ show_topic(k) }}"},{"lineNumber":34,"author":{"gitId":"-"},"content":"{% endif %}"},{"lineNumber":35,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":40,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027imagesAndDiagrams\u0027, \u0027navigation\u0027) }}"}],"authorContributionMap":{"jingting1412":2,"-":38}},{"path":"docs/userGuide/components/presentation.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Presentational Components\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"presentation\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"advanced.md#slots-info\" /\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"# Presentation"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\" class\u003d\"lead\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"The components in this page are the core **presentational** components you may want to use. Panels and tabs can be used to **organise content sections**, while badges and boxes can **highlight small, specific pieces of information**."},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":"\u003cbox type \u003d \"warning\" header \u003d \"#### Use of markdown in content\" \u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":"As presentational components are HTML-based, you need to follow the HTML syntax when using markdown in the content of the components."},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":"More specifically, you should use either:"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"- add a line break with no indentation before the markdown content"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":"- use the `\u003cmarkdown\u003e` (block level elements) or `\u003cmd\u003e` (inline level elements) tags to wrap the markdown content."},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":"For more information, please refer to this [section]({{baseUrl}}/userGuide/usingHtmlJavaScriptCss.html#markdown-in-html)."},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"{% macro show_topic(filename) %}"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"../syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":"{% if \u0027presentation\u0027 in v[2] %}"},{"lineNumber":42,"author":{"gitId":"-"},"content":"{{ show_topic(k) }}"},{"lineNumber":43,"author":{"gitId":"-"},"content":"{% endif %}"},{"lineNumber":44,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"# Relevant Tips \u0026 Tricks"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Indent components\"\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"../tipsAndTricks.md#indentComponents\" /\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":57,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027../usingComponents\u0027, \u0027imagesAndDiagrams\u0027) }}"}],"authorContributionMap":{"jingting1412":2,"-":47,"yiwen101":8}},{"path":"docs/userGuide/formattingContents.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Formatting Contents\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"formattingContents\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 2"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"# {{ title }}"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\" id\u003d\"overview\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"**MarkBind supports a wide collection of Markdown-like basic content formatting syntax** such as text styling, tables, lists, images, links, etc."},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"{% macro show_topic(filename) %}"},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"./syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" {% if \u0027basic\u0027 in v[2] %}"},{"lineNumber":32,"author":{"gitId":"-"},"content":"{{ show_topic(k) }}"},{"lineNumber":33,"author":{"gitId":"-"},"content":" {% endif %}"},{"lineNumber":34,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"# Relevant Tips \u0026 Tricks"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Escaping Characters\"\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"tipsAndTricks.md#escapingCharacters\" /\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":45,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027markBindSyntaxOverview\u0027, \u0027usingComponents\u0027) }}"}],"authorContributionMap":{"jingting1412":2,"-":43}},{"path":"docs/userGuide/markBindInTheProjectWorkflow.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"MarkBind in the Project Workflow\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"markBindInTheProjectWorkflow\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"# {{ title }}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\" id\u003d\"overview\"\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"As **MarkBind is especially optimized as a project documentation tool**, it integrates well with the workflow of software projects."},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"#### Authoring Workflow"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"While most IDEs provide previews for Markdown files, unless your MarkBind files are using basic Markdown syntax only, you are recommended to launch a {{ link_live_preview }} and check the rendering of the page as you modify the source file."},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"#### GitHub Project Workflow"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"If you use GitHub for your project, you can [deploy your site to GitHub pages](deployingTheSite.html#deploying-to-github-pages) easily. You can even set up Travis to automatically deploy your site to GitHub pages whenever a branch in your repo is updated."},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"If you are using GitHub Pull Requests as part of your workflow, you can [set up Netlify to show a preview of the site generated from the MarkBind code in the PR](deployingTheSite.html#deploying-to-netlify)."},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"#### Using MarkBind for Project Documentation"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"Here is an example workflow for using MarkBind for both developer documentation and user documentation in a GitHub project:"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"Suppose the main development of the project is done in the `master` branch while product releases are done using the `release` branch."},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"You can keep the user docs in a separate directory (say `user-docs`) and set up a MarkBind project in that folder. When there is a new release, you can deploy the user-docs site to GitHub Pages for users to read."},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"Similarly, you can keep the dev docs in a separate directory (say `dev-docs`) and set up Netlify to deploy the site when there is an update to the `master` branch; that way, developers can see the latest version of dev-docs via the Netlify site."},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"#### Converting existing project documentation/wiki"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"MarkBind supports the automatic conversion of an existing GitHub wiki or `docs` folder containing Markdown files."},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"A MarkBind conversion involves the following:"},{"lineNumber":49,"author":{"gitId":"-"},"content":"- Adding a Home page: If your project already has a `README.md` or `Home.md`, the content will be copied over to `index.md`. Otherwise, a default home page will be added."},{"lineNumber":50,"author":{"gitId":"-"},"content":"- Adding an About Us page: If your project already has `about.md`, this will be used as the About page. Otherwise, a default About page will be added."},{"lineNumber":51,"author":{"gitId":"-"},"content":"- Adding a top navigation bar."},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":"- Adding a site navigation menu: If your project has a valid `_Sidebar.md` file, it will be used as the [site navigation menu]({{baseUrl}}/userGuide/tweakingThePageStructure.html#constructing-a-page-navigation-menu). Otherwise, the menu will be built from your project\u0027s directory structure and contain links to all addressable pages. "},{"lineNumber":53,"author":{"gitId":"-"},"content":"- Adding a custom footer: If your project has a valid `_Footer.md` file, it will be used as the website footer. Otherwise, a default footer will be added."},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" Conversion might not work if your project files have existing Nunjucks syntax. "},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"To convert your existing project, follow these steps:"},{"lineNumber":60,"author":{"gitId":"-"},"content":"1. Navigate into the project directory."},{"lineNumber":61,"author":{"gitId":"-"},"content":"1. Run `markbind init --convert` to convert the project."},{"lineNumber":62,"author":{"gitId":"-"},"content":"1. You can now preview the website using `markbind serve` to view your newly converted MarkBind website."},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":" You only need to run the conversion once. Once you have converted your project, you can proceed to edit it as a normal MarkBind project."},{"lineNumber":66,"author":{"gitId":"-"},"content":"\u003c/box\u003e "},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":69,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027deployingTheSite\u0027, \u0027redirectingToACustom404Page\u0027) }}"}],"authorContributionMap":{"-":68,"yiwen101":1}},{"path":"docs/userGuide/readerFacingFeatures.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" title: \"User Guide: Reader-Facing Features\""},{"lineNumber":3,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" pageNav: 5"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"components/advanced.md#slots-info\" /\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"# Reader-Facing Features"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"info\"\u003eExpand the \u003cmd\u003e**details...**\u003c/md\u003e panel for more info!\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"{% macro show_topic(filename, heading) %}"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"##### {{ heading }}"},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003cbox\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"syntax/{{ filename }}.md#examples\" /\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"seamless\" header\u003d\"%%details...%%\" \u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" {% if \u0027reader-facing\u0027 in v[2] %}"},{"lineNumber":31,"author":{"gitId":"-"},"content":"{{ show_topic( k, v[0]) }}"},{"lineNumber":32,"author":{"gitId":"-"},"content":" {% endif %}"},{"lineNumber":33,"author":{"gitId":"-"},"content":"{% endfor %}"}],"authorContributionMap":{"jingting1412":4,"-":29}},{"path":"docs/userGuide/reusingContents.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Reusing Contents\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"reusingContents\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 4"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"# {{ title }}"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\" id\u003d\"overview\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"**MarkBind is highly-optimized for content reuse**. It offers several mechanisms to provide readers with many variations of the content while minimizing duplication at source file level. As a result, instead of creating a one-size-fits-all site, MarkBind can create a site in which readers can chart their own path of reading."},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"syntax/variables.md\" /\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"syntax/includes.md\" /\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"## Reusing Contents Across Sites"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"**MarkBind supports reusing across sites.** It allows you to include the pages you want from a _sub-site_ in another _main-site_ without having to change anything in the source files of the _sub-site_ as long as the _sub-site_ source files are inside the directory of the _main-site_."},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"{{ icon_example }} Suppose you have a site `textbook` and you want to include some pages from it in another site `course`. Given below is how you can locate the sub-site `textbook` inside the root directory of the main-site `course` so that files from `textbook` can be reused in the `course` site."},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003ctree\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":"C:/course/"},{"lineNumber":40,"author":{"gitId":"-"},"content":" textbook/"},{"lineNumber":41,"author":{"gitId":"-"},"content":" index.md"},{"lineNumber":42,"author":{"gitId":"-"},"content":" overview.md"},{"lineNumber":43,"author":{"gitId":"-"},"content":" site.json"},{"lineNumber":44,"author":{"gitId":"-"},"content":" index.md"},{"lineNumber":45,"author":{"gitId":"-"},"content":" reading.md"},{"lineNumber":46,"author":{"gitId":"-"},"content":" site.json"},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003c/tree\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":"In `reading.md` (note how it reuses content from the sub-site `textbook`):"},{"lineNumber":50,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":51,"author":{"gitId":"-"},"content":"# Week 1 Reading:"},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"textbook/overview.md\" /\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":"```"},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"tip.md\" boilerplate \u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"tip_body\"\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":"If you are using Git for version control, you can set up the sub-site repository as a [Git sub-module](https://git-scm.com/book/en/v2/Git-Tools-Submodules) of the main site repository."},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"## Creating Content Variations"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":"**MarkBind can create sites that give more control to the reader.** Given below are some mechanisms authors can use to create variations of content that gives more control to the reader in charting their own path through the content."},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":"#### Allowing users to remove some contents"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"When the readers can remove an item from a page, they can create their own version of the page by removing items they don\u0027t want to see. This is especially useful when printing a page."},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":"To make an element closeable, use `v-closeable`."},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":78,"author":{"gitId":"-"},"content":"\u003cdiv v-closeable\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":"Optional video:"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":"@[youtube](v40b3ExbM0c)"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"```"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"This is how the content will appear. Note how you can hover over the content to access the :x: button that can collapse the content."},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003cdiv v-closeable\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":"Optional video:"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":"@[youtube](v40b3ExbM0c)"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"#### Giving alternative contents"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":"You can use a [_Tabs_ component](components/presentation.html#tabs) to give alternative versions of content, for example, giving a code snippet in different programming languages."},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":"#### Giving access to additional contents"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"You can use following components to give readers an option to access additional content at their discretion."},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":"* [Tooltips](components/popups.html#tooltips), [Popovers](components/popups.html#popovers), [Modals](components/popups.html#modals)"},{"lineNumber":106,"author":{"gitId":"-"},"content":"* [Expandable Panels](components/presentation.html#panels)"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"#### Organizing contents in alternative ways"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":"You can take advantage of [MarkBind\u0027s feature for content reuse](reusingContents.html) to organize content in alternative ways to cater for different readers, without having to duplicate content. For example, you can have different pages that organizes the same information alphabetically, chronologically, by difficulty, group information by topic, etc."},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"#### Optimizing the Print View"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":"To \u003cspan class\u003d\"keyword\"\u003ehide minimized panels in the _print view_\u003c/span\u003e, add the following code to a CSS file used in your site."},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":"```css"},{"lineNumber":117,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" .card-container \u003e .morph {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":"}"},{"lineNumber":122,"author":{"gitId":"-"},"content":"```"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"Tim-Siu"},"content":"MarkBind also comes with some built-in optimizations for printing by default:"},{"lineNumber":125,"author":{"gitId":"Tim-Siu"},"content":"- \u003cinclude src\u003d\"syntax/code.md#code-print-optimization\" /\u003e"},{"lineNumber":126,"author":{"gitId":"Tim-Siu"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":"#### Hiding some info in the generated content"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":"To permanently hide a fragment from the reader:"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"d-none\"\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":" content to hide ..."},{"lineNumber":134,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"...\" add-class\u003d\"d-none\"\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":" content to hide ..."},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003cpanel\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":"```"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":"To hide a fragment in one specific page, \u0027mark\u0027 the elements using a `class`:"},{"lineNumber":142,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":143,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"extra\"\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":" content to hide ..."},{"lineNumber":145,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":"```"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":"Then, in a page-specific CSS file,"},{"lineNumber":149,"author":{"gitId":"-"},"content":"```css"},{"lineNumber":150,"author":{"gitId":"-"},"content":".extra {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" display: none; /* \u0027block\u0027 or \u0027inline-block\u0027 if you want it to show */"},{"lineNumber":152,"author":{"gitId":"-"},"content":"}"},{"lineNumber":153,"author":{"gitId":"-"},"content":"```"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":"#### Deploying a page multiple times with different titles"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":"By [overriding the `title` declared in the frontmatter of the page using `site.json`](tweakingThePageStructure.html#frontmatter), it is possible to allow MarkBind to serve the same page with different titles. "},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":"This may especially be useful for users who are serving a page from a submodule."},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"#### Creating slight variations of content"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":"Tags are a good way to create multiple variations of a page within the same source file, such as to filter content for creating multiple different versions of the same page. See [_User Guide: Tweaking the Page Structure → Tags_](tweakingThePageStructure.html#plugin-tags) section for more information."},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":166,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027tweakingThePageStructure\u0027, \u0027workingWithSites\u0027) }}"}],"authorContributionMap":{"-":160,"yiwen101":3,"Tim-Siu":3}},{"path":"docs/userGuide/siteJsonFile.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" title: \"site.json File\""},{"lineNumber":3,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":4,"author":{"gitId":"-"},"content":" keywords: site.json"},{"lineNumber":5,"author":{"gitId":"-"},"content":" pageNav: 4"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"# `site.json` File"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"The `site.json` file {{ tooltip_root_directory }} is used to configure various aspects of a MarkBind website."},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"Here is a typical `site.json` file:"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"```json"},{"lineNumber":18,"author":{"gitId":"-"},"content":"{"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"baseUrl\": \"/myproduct\","},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"faviconPath\": \"myfavicon.png\","},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"titlePrefix\": \"FooBar Dev Docs\","},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"titleSuffix\": \"FooBar\","},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"style\": {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"bootstrapTheme\": \"bootswatch-cerulean\","},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"codeTheme\": \"light\","},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"codeLineNumbers\": true"},{"lineNumber":27,"author":{"gitId":"-"},"content":" },"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":29,"author":{"gitId":"-"},"content":" {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"src\": \"index.md\","},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"layout\": \"normal\","},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"searchable\": \"no\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"externalScripts\": ["},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"https://cdn.plot.ly/plotly-latest.min.js\""},{"lineNumber":36,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"frontmatter\": {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"header\": \"header.md\""},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":" },"},{"lineNumber":41,"author":{"gitId":"-"},"content":" {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"glob\": \"topics/**/*.md\","},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"globExclude\": [\"topics/*/appendix/*.md\"],"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"layout\": \"subtopic\""},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"pagesExclude\": [\"subsite/**/*.md\", \"node_modules/*\"],"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"externalScripts\": ["},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config\u003dTeX-MML-AM_CHTML\""},{"lineNumber":50,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"deploy\": {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"message\": \"Site Update.\","},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"repo\": \"https://github.com/myorg/myrepo.git\","},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"branch\": \"gh-pages\""},{"lineNumber":55,"author":{"gitId":"-"},"content":" },"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"globalOverride\": {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"footer\": \"my-footer.md\""},{"lineNumber":58,"author":{"gitId":"-"},"content":" },"},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"ignore\": ["},{"lineNumber":60,"author":{"gitId":"-"},"content":" \"_site/*\","},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"*.json\","},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"*.md\","},{"lineNumber":63,"author":{"gitId":"-"},"content":" \".git/*\","},{"lineNumber":64,"author":{"gitId":"-"},"content":" \".gitignore\","},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"node_modules/*\""},{"lineNumber":66,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \"plugins\" : ["},{"lineNumber":68,"author":{"gitId":"-"},"content":" \"filterTags\""},{"lineNumber":69,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"pluginsContext\" : {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"filterTags\" : {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" \"tags\": [\"tag1\", \"tag2\"]"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":" },"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"headingIndexingLevel\": 4,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \"intrasiteLinkValidation\": {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"enabled\": false"},{"lineNumber":78,"author":{"gitId":"-"},"content":" },"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"plantumlCheck\": true"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":"```"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"#### **`baseUrl`**"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":"**The base URL relative to your domain.** Default: `\"\"`(empty)."},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"deployingTheSite.md#warning-about-baseUrl\" /\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"Note: `baseUrl` does not support [live preview](glossary.md#live-preview) as there is no use case for changing it in during `markbind serve`."},{"lineNumber":92,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":"#### **`faviconPath`**"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"**The location of the favicon.** Default: `favicon.ico`."},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":"%%{{ icon_info }} If the favicon was recently changed, you may need to force-refresh the Browser to see the new image.%%"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"#### **`titlePrefix`**"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"**The prefix for all page titles.** The separator `-` will be inserted by MarkBind."},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"#### **`titleSuffix`**"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":"**The suffix for all page titles.** The separator `-` will be inserted by MarkBind."},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"#### **`style`**"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":"_(Optional)_ **The styling options to be applied to the site.** This includes:"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":"* **`bootstrapTheme`**"},{"lineNumber":117,"author":{"gitId":"-"},"content":" _(Optional)_ The theme for the generated site.\u003cbr\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":" Uses the default Bootstrap theme if not specified. See [User Guide: Themes](themes.html) for more details."},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":"* **`codeTheme`** [Optional. Default: `\"dark\"`]\u003cbr\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":" The theme used for fenced code blocks. Accepts either `\"light\"` or `\"dark\"`."},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"* **`codeLineNumbers`** [Optional. Default: `false`]\u003cbr\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":" The global setting to display or hide line numbers for code blocks. Accepts either `true` or `false`."},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"#### **`pages`**"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"**An array of pages to be rendered.**"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":"* **`src/glob`**"},{"lineNumber":131,"author":{"gitId":"-"},"content":" * `src` can be used to specify a single file, or an array of files.\u003cbr\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":" {{ icon_examples }} `docs/index.md` or `[ \u0027docs/index.md\u0027, \u0027docs/userGuide.md\u0027 ]` { .my-1 }"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * `glob` can be used alternatively to define a file pattern in the [_glob syntax_](https://en.wikipedia.org/wiki/Glob_(programming)), or an array of such file patterns.\u003cbr\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":" {{ icon_examples }} `**/*.md` or `[ \u0027**/*.md\u0027, \u0027**/index.md\u0027 ]` { .my-2 }"},{"lineNumber":135,"author":{"gitId":"-"},"content":"* **`globExclude`**: An array of file patterns to be excluded from rendering when using `glob`, also defined in the glob syntax."},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":"* **`title`**: The page `\u003ctitle\u003e` for the generated web page. Titles specified here take priority over titles specified in the [frontmatter](tweakingThePageStructure.html#frontmatter) of individual pages."},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":"* **`layout`**: The [layout](tweakingThePageStructure.html#layouts) to be used by the page. Default: `default`."},{"lineNumber":138,"author":{"gitId":"-"},"content":"* **`searchable`**: Specifies that the page(s) should be excluded from searching. Default: `yes`."},{"lineNumber":139,"author":{"gitId":"-"},"content":"* **`externalScripts`**: An array of external scripts to be referenced on the page. Scripts referenced will be run before the layout script."},{"lineNumber":140,"author":{"gitId":"-"},"content":"* **`frontmatter`**: Specifies properties to add to the frontmatter of a page or glob of pages. Overrides any existing properties if they have the same name, and overrides any frontmatter properties specified in `globalOverride`."},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"page-property-overriding\"\u003e"},{"lineNumber":143,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":"[Page properties that are defined in `site.json`](#pages) for a particular page will override those defined in the frontmatter of the page. For example, if we declare a `title` within the frontmatter of the page (say `index.md`) like such:"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":148,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":" title: Hello World"},{"lineNumber":150,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":"```"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":"But the `title` property in the corresponding `site.json` is set as such:"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":"```js"},{"lineNumber":156,"author":{"gitId":"-"},"content":"{"},{"lineNumber":157,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":158,"author":{"gitId":"-"},"content":" {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" \"src\": \"index.md\","},{"lineNumber":160,"author":{"gitId":"-"},"content":" \"title\": \"Landing Page\","},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":163,"author":{"gitId":"-"},"content":"}"},{"lineNumber":164,"author":{"gitId":"-"},"content":"```"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":"Then, the title of `index.md` will be set as \"Landing Page\" instead of \"Hello World\"."},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":"In this manner, setting the property `title` in `site.json` will always override the `title` declared within the frontmatter of the page."},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"page-glob-overriding\"\u003e"},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":"Note: If multiple **`src`** (pages) or **`glob`** (globs) attributes match a file, MarkBind will merge properties from all entries. If there are conflicting properties, pages are given priority over globs. If there are multiple matching glob entries, the last entry is given priority."},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":"{{ icon_example }} Multiple entries matching `index.md`:"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":"```js"},{"lineNumber":183,"author":{"gitId":"-"},"content":"{"},{"lineNumber":184,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":185,"author":{"gitId":"-"},"content":" {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \"src\": \"index.md\","},{"lineNumber":187,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":188,"author":{"gitId":"-"},"content":" \"searchable\": \"no\""},{"lineNumber":189,"author":{"gitId":"-"},"content":" },"},{"lineNumber":190,"author":{"gitId":"-"},"content":" {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" \"glob\": \"*.md\","},{"lineNumber":192,"author":{"gitId":"-"},"content":" \"layout\": \"normal\","},{"lineNumber":193,"author":{"gitId":"-"},"content":" \"searchable\": \"yes\""},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":196,"author":{"gitId":"-"},"content":"}"},{"lineNumber":197,"author":{"gitId":"-"},"content":"```"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":"The following properties will apply to `index.md`:"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":"```js"},{"lineNumber":202,"author":{"gitId":"-"},"content":"{"},{"lineNumber":203,"author":{"gitId":"-"},"content":" \"src\": \"index.md\","},{"lineNumber":204,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\", // Inherited from page"},{"lineNumber":205,"author":{"gitId":"-"},"content":" \"layout\": \"normal\", // Inherited from glob"},{"lineNumber":206,"author":{"gitId":"-"},"content":" \"searchable\": \"no\", // Page takes priority over glob"},{"lineNumber":207,"author":{"gitId":"-"},"content":"}"},{"lineNumber":208,"author":{"gitId":"-"},"content":"```"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":"#### **`pagesExclude`**"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":"**An array of file patterns to be excluded from rendering.** The exclusion pattern follows the glob syntax."},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":"This property is the global variant to the `globExclude` property and is functionally identical to it. If the two are used at once, the file patterns from both properties will be combined when excluding pages."},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"#### **`externalScripts`**"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":"**An array of external scripts to be referenced on all pages.** To reference an external script only on specific pages, `externalScripts` should be specified in `pages` instead. Scripts referenced will be run before the layout script."},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":"#### **`globalOverride`**"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":"**Globally overrides properties in the frontmatter of all pages.** Any property included in the global override will automatically be merged with the frontmatter of every single page, and override them if the property exists."},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":"#### **`ignore`**"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":"**An array of file patterns to be ignored when copying files to the generated site.** By default, MarkBind will copy all the files as assets of the generated site."},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":"The ignore pattern follows the [glob pattern used in .gitignore](https://git-scm.com/docs/gitignore#_pattern_format). For example, `*.md` ignores all markdown source files."},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"site-json-deploy\"\u003e"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":"#### **`deploy`**"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":"**The settings for [auto-deployment to GitHub pages](deployingTheSite.html).**"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":"* **`message`** [Optional. Default: `\"Site Update.\"`]\u003cbr\u003e"},{"lineNumber":241,"author":{"gitId":"-"},"content":" The commit message used for the deployment commit."},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":"* **`repo`** [Optional. Default: the current working project\u0027s repo]\u003cbr\u003e"},{"lineNumber":244,"author":{"gitId":"-"},"content":" The repo you want to deploy to.\u003cbr\u003e"},{"lineNumber":245,"author":{"gitId":"-"},"content":" Format: `\"https://github.com/\u003corg|username\u003e/\u003crepo\u003e.git\"` (`\"git@github.com:\u003corg|username\u003e/\u003crepo\u003e.git\"` if you use SSH)\u003cbr\u003e"},{"lineNumber":246,"author":{"gitId":"-"},"content":" {{ icon_example }} `\"https://github.com/myorg/myrepo.git\"`"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":"* **`branch`** [Optional. Default: `\"gh-pages\"`]\u003cbr\u003e"},{"lineNumber":249,"author":{"gitId":"-"},"content":" The branch that will be deployed to in the remote repo."},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":"#### **`plugins`**, **`pluginsContext`**"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":"**A list of plugins to load.** Plugins are user-defined extensions that can add custom features to MarkBind. `pluginsContext` contains settings to be applied to the loaded plugins. See [User Guide: Using Plugins](usingPlugins.html) for more details."},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":"The example above uses tags as an example of configuring plugin settings, refer to the [`filterTags` plugin](tweakingThePageStructure.html#toggling-alternative-contents) for more details."},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":"#### **`headingIndexingLevel`**"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":"**The level of headings to be indexed for searching.** Default: `3` %%i.e., only headings of levels 1,2,3 will be indexed for searching%%."},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":"#### **`enableSearch`**"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":"**Specifies that the website should use MarkBind\u0027s search functionality.** Default: `true`. See [User Guide: Making the Site Searchable](makingTheSiteSearchable.html) for more details."},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":"#### **`timeZone`**"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":"**Time zone of the [time stamp](reusingContents.html#built-in-global-variables).** Default: `\"UTC\"`."},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"seamless\" header\u003d\"Time Zone Options\"\u003e"},{"lineNumber":272,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"pages/timeZones.md\" /\u003e"},{"lineNumber":273,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":276,"author":{"gitId":"-"},"content":""},{"lineNumber":277,"author":{"gitId":"-"},"content":"#### **`locale`**"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":"**Language by locale used for the [time stamp](reusingContents.html#built-in-global-variables).** Default: `\"en-GB\"` (`English (United Kingdom)`). \u003cbr\u003e"},{"lineNumber":280,"author":{"gitId":"-"},"content":"The date format is thus: `\u003cDay\u003e, \u003cDate\u003e \u003cMonth\u003e \u003cYear\u003e, \u003c24-hour Time\u003e \u003cTime Zone Code\u003e`."},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"seamless\" header\u003d\"Locale Options\"\u003e"},{"lineNumber":283,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"pages/locales.md\" /\u003e"},{"lineNumber":284,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":285,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":"#### **`intrasiteLinkValidation`**"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":"**Toggle whether to validate intra-site links.** By default, MarkBind will validate all intra-site links and alert you of any potentially invalid ones."},{"lineNumber":290,"author":{"gitId":"-"},"content":"To disable this validation **entirely**, you may add the following to `site.json`:"},{"lineNumber":291,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"disable-global-intrasite-link-validation\"\u003e"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" ```js"},{"lineNumber":294,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":295,"author":{"gitId":"-"},"content":" \"intrasiteLinkValidation\": {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" \"enabled\": false"},{"lineNumber":297,"author":{"gitId":"-"},"content":" },"},{"lineNumber":298,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":299,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":"#### **`plantumlCheck`**"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":"**Toggle whether to display a warning about PlantUML\u0027s prerequisite. Only applicable for non-Windows users.** By default, MarkBind will check if you have Graphviz installed when you are using PlantUML diagrams."},{"lineNumber":306,"author":{"gitId":"-"},"content":"To disable this validation and the display of the warning, you may add the following to `site.json`:"},{"lineNumber":307,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"plantuml-check\"\u003e"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":" ```js"},{"lineNumber":310,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":311,"author":{"gitId":"-"},"content":" \"plantumlCheck\": false,"},{"lineNumber":312,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":313,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":312,"yiwen101":3}},{"path":"docs/userGuide/syntax/annotations.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Annotations"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"**An `annotate` component allows you to easily annotate over any images.**"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"Annotate wrappers (`\u003cannotate\u003e`) are used in conjunction with Annotate"},{"lineNumber":6,"author":{"gitId":"-"},"content":"Points (`\u003ca-point\u003e`)."},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"- `\u003cannotate\u003e`: Annotate wrappers are used to hold the image and set its width and height."},{"lineNumber":9,"author":{"gitId":"-"},"content":"- `\u003ca-point\u003e`: Annotate points define the position, text and style of each point within the image. Insert them between the Annotate wrappers."},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"The x and y coordinates of each Annotate Point are relative to the image and are written in percentage of total width or height."},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"LamJiuFong"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleImage.png\" width\u003d\"500\" alt\u003d\"Sample Image\" lazy\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003c!-- Minimal Point --\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"25%\" content\u003d\"This point is 25% from the left and 25% from the top\" /\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003c!-- Customize Point Size (default size is 40px) --\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"25%\" content\u003d\"This point is 50% from the left and 25% from the top\" size\u003d\"60\"/\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c!-- Customize Point Header (default is empty) --\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"25%\" content\u003d\"This point is 75% from the left and 25% from the top\" header\u003d\"This has a header\"/\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003c!-- Customize Point Color (default color is green) --\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"50%\" content\u003d\"This point is 25% from the left and 50% from the top\" color\u003d\"red\"/\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003c!-- Customize Point Opacity (default opacity is 0.3) --\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"50%\" content\u003d\"This point is 50% from the left and 50% from the top\" opacity\u003d\"0.7\"/\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c!-- Customize Point Label (default is empty) --\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"75%\" content\u003d\"This point is 25% from the left and 75% from the top\" label\u003d\"1\"/\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003c!-- Customize Text Color (default color is black) --\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"75%\" content\u003d\"This point is 50% from the left and 75% from the top\" textColor\u003d\"white\" color\u003d\"black\" label\u003d\"2\" opacity\u003d\"1\"/\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003c!-- Customize Font Size (default font size is 14) --\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"75%\" content\u003d\"This point is 75% from the left and 75% from the top\" fontSize\u003d\"30\" label\u003d\"3\"/\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003c!-- Customize Label (default is a rounded button) --\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"50%\" content\u003d\"This point is 75% from the left and 50% from the top\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"badge bg-primary\"\u003eBadge label\u003c/span\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003c/a-point\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"**Use markdown in the header, label and content**"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"Annotate Points supports markdown in the header, label and content. "},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleImage.png\" width\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"25%\" content\u003d\"# Content\" /\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"25%\" header\u003d\":blush:\" /\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"25%\" label\u003d\":heart:\"/\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"**Customising shapes for Annotate Point** \u003cbr\u003e "},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"Annotate Points supports different shapes and customisation. "},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":"The default shape used is a rounded button."},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":"When using a customised shape, the options shape, color and opacity will not work. "},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":"Style the shape to achieve the same effect."},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleImage.png\" width\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"50%\" content\u003d\"This point is 75% from the left and 50% from the top\"\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"badge bg-primary\"\u003eBadge label\u003c/span\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003c/a-point\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"50%\" content\u003d\"This point is 25% from the left and 50% from the top\"\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003cpic src\u003d\"../../images/deer.jpg\" width\u003d\"50\" height\u003d\"50\"\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003c/a-point\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003c!-- Customised Annotate Point with styling--\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"50%\" content\u003d\"This point is 25% from the left and 50% from the top\"\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003cdiv style\u003d\"opacity: 90%; color: red\"\u003eCustom\u003c/div\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003c/a-point\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":"**Using triggers and positions for Annotate Point** \u003cbr\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"Similar to **[popovers](../components/popups.md#popovers)**, Annotate Points also support different types of triggers and positions"},{"lineNumber":92,"author":{"gitId":"-"},"content":"for users with different needs."},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleImage.png\" width\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":" \u003c!-- Default Trigger (click)--\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"33%\" y\u003d\"33%\" content\u003d\"Lorem ipsum dolor sit amet\" /\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003c!-- Set Trigger to hover focus --\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"66%\" y\u003d\"33%\" content\u003d\"Lorem ipsum dolor sit amet\" trigger\u003d\"hover focus\"/\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" \u003c!-- Set Popover Placement (click)--\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"66%\" content\u003d\"Popover on the left\" placement\u003d\"left\"/\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"66%\" content\u003d\"Popover on the bottom\" placement\u003d\"bottom\"/\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"66%\" content\u003d\"Popover on the right\" placement\u003d\"right\"/\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" \u003c!-- Both trigger and popover placement hover focus --\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"66%\" content\u003d\"Popover on the bottom\" placement\u003d\"bottom\" trigger\u003d\"hover focus\"/\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":"**Displaying content as legends in Annotate Point**"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":"`\u003ca-point\u003e` allows users to display its content !!inside a popover!! or !!as a legend below the diagram!! or !!both!!. However, the label attribute must be specified in `\u003ca-point\u003e` in order to display the content below the image."},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleImage.png\" width\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":" \u003c!-- Default Legend (popover only)--\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"50%\" content\u003d\"There is only text when you click me\" label\u003d\"1\"/\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003c!-- Set Legend to bottom only (no popover) --\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"50%\" content\u003d\"Clicking on this does nothing\" label\u003d\"2\" legend\u003d\"bottom\" header\u003d\"Headers are displayed as well\"/\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":" \u003c!-- Set Legend to both --\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"50%\" content\u003d\"There is text at both locations\" label\u003d\"3\" legend\u003d\"both\" header\u003d\"Headers are displayed at both positions\"/\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":"**Sample use cases for Annotate** \u003cbr\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":"Here we showcase some use cases of the Annotate feature."},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":"**Example 1: Describing elements in an image** \u003cbr\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":143,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleObject.png\" height\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":147,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"6%\" y\u003d\"50%\" content\u003d\"You can use a triangle and a solid line (not to be confused with an arrow) to indicate class inheritance.\" label\u003d\"1\" header\u003d\"Class inheritance\" legend\u003d\"both\"/\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25.5%\" y\u003d\"50%\" content\u003d\"UML uses a solid diamond symbol to denote composition.\" label\u003d\"2\" header\u003d\"Composition\" color\u003d\"red\" legend\u003d\"both\"/\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"45%\" y\u003d\"50%\" content\u003d\"UML uses a hollow diamond to indicate an aggregation.\" label\u003d\"3\" header\u003d\"Aggregation\" color\u003d\"blue\" legend\u003d\"both\"/\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"64.5%\" y\u003d\"50%\" content\u003d\"Association labels describe the meaning of the association.\" label\u003d\"4\" header\u003d\"Association labels\" color\u003d\"yellow\" legend\u003d\"both\"/\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":"**Example 2: Drawing over elements** \u003cbr\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleSequence.png\" height\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":162,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"35%\" y\u003d\"18.5%\" content\u003d\"Operation is invoked\" header\u003d\"Operation\" opacity\u003d\"0.2\" size\u003d\"30\"/\u003e"},{"lineNumber":163,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"65%\" y\u003d\"50%\" content\u003d\"This is the period during which the method is being executed\" header\u003d\"Activation Bar\" opacity\u003d\"0.3\" size\u003d\"50\" color\u003d\"yellow\"/\u003e"},{"lineNumber":164,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"14%\" y\u003d\"85%\" content\u003d\"Return control and possibly some return value\" header\u003d\"Return Value\" opacity\u003d\"0.2\" size\u003d\"30\" color\u003d\"blue\"/\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":166,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":167,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":"****`\u003ca-point\u003e` Options****"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"| Name | Type | Default | Description |"},{"lineNumber":174,"author":{"gitId":"-"},"content":"| --------- | -------- | ----------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|"},{"lineNumber":175,"author":{"gitId":"-"},"content":"| x | `String` | | **This must be specified.**\u003cbr\u003eThe x-coordinate of the point.\u003cbr\u003eSupports range of values from `0%` to `100%`. |"},{"lineNumber":176,"author":{"gitId":"-"},"content":"| y | `String` | | **This must be specified.**\u003cbr\u003eThe y-coordinate of the point.\u003cbr\u003eSupports range of values from `0%` to `100%`. |"},{"lineNumber":177,"author":{"gitId":"-"},"content":"| content | `String` | `\u0027\u0027` | Annotate Point content.\u003cbr\u003eThe annotation content will be omitted if this is not provided. |"},{"lineNumber":178,"author":{"gitId":"-"},"content":"| header | `String` | `\u0027\u0027` | Annotate Point header.\u003cbr\u003eThe header will be omitted if this is not provided. |"},{"lineNumber":179,"author":{"gitId":"-"},"content":"| trigger | `String` | `click` | Popover trigger type.\u003cbr\u003eSupports: `click`, `focus`, `hover`, or any space-separated combination of these. |"},{"lineNumber":180,"author":{"gitId":"-"},"content":"| placement | `String` | `top` | Position of the Popover.\u003cbr\u003eSupports: `top`, `left`, `right`, `bottom`. |"},{"lineNumber":181,"author":{"gitId":"-"},"content":"| label | `String` | `\u0027\u0027` | The label shown on the point itself.\u003cbr\u003eThe label will be omitted if this is not provided.\u003cbr\u003eNote that labels should not be too long as they might overflow out of the point. |"},{"lineNumber":182,"author":{"gitId":"-"},"content":"| size | `String` | `\u002740\u0027` | The size of the point in pixels. \u003cbr\u003e Does not work with customised shapes |"},{"lineNumber":183,"author":{"gitId":"-"},"content":"| color | `String` | `\u0027green\u0027` | The color of the point.\u003cbr\u003eSupports any color in the CSS color format. E.g. `red`, `#ffffff`, `rgb(66, 135, 245)`, etc. \u003cbr\u003e Does not work with customised shapes |"},{"lineNumber":184,"author":{"gitId":"-"},"content":"| opacity | `String` | `\u00270.3\u0027` | The opacity of the point.\u003cbr\u003eSupports range of values from `0` to `1`. \u003cbr\u003e Does not work with customised shapes |"},{"lineNumber":185,"author":{"gitId":"-"},"content":"| fontSize | `String` | `\u002714\u0027` | The font size of the label.\u003cbr\u003eSupports any pixel size smaller than size of the point. |"},{"lineNumber":186,"author":{"gitId":"-"},"content":"| textColor | `String` | `\u0027black\u0027` | The color of the label.\u003cbr\u003eSupports any color in the CSS color format. E.g. `red`, `#ffffff`, `rgb(66, 135, 245)`, etc. |"},{"lineNumber":187,"author":{"gitId":"-"},"content":"| legend | `String` | `\u0027popover\u0027` | The position of the Annotate Point content and header.\u003cbr\u003eSupports: `popover`, `bottom`, `both`. |"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":"****`\u003cannotate\u003e` Options****"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"This is effectively the same as the options used for the [picture](#pictures) component."},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":"| Name | Type | Default | Description |"},{"lineNumber":194,"author":{"gitId":"LamJiuFong"},"content":"|--------| --------- | ------- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|"},{"lineNumber":195,"author":{"gitId":"-"},"content":"| alt | `string` | | **This must be specified.**\u003cbr\u003eThe alternative text of the image. |"},{"lineNumber":196,"author":{"gitId":"-"},"content":"| src | `string` | | **This must be specified.**\u003cbr\u003eThe URL of the image.\u003cbr\u003eThe URL can be specified as absolute or relative references. More info in: _[Intra-Site Links]({{baseUrl}}/userGuide/formattingContents.html#intraSiteLinks)_ |"},{"lineNumber":197,"author":{"gitId":"-"},"content":"| height | `string` |`\u0027\u0027`| The height of the image in pixels. |"},{"lineNumber":198,"author":{"gitId":"-"},"content":"| width | `string` |`\u0027\u0027`| The width of the image in pixels.\u003cbr\u003eIf both width and height are specified, width takes priority over height. It is to maintain the image\u0027s aspect ratio. |"},{"lineNumber":199,"author":{"gitId":"LamJiuFong"},"content":"| lazy | `boolean` | false | The `\u003cannotate\u003e` component lazy loads if this attribute is specified.\u003cbr\u003e**Either the height or width should be specified to avoid layout shifts while lazy loading images.** |"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":"```"},{"lineNumber":206,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"../../images/annotateSampleImage.png\" width\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"25%\" content\u003d\"Lorem ipsum dolor sit amet\" /\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"25%\" content\u003d\"Lorem ipsum dolor sit amet\" label\u003d\"1a\"/\u003e"},{"lineNumber":209,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"25%\" content\u003d\"Lorem ipsum dolor sit amet\" label\u003d\"1b\" legend\u003d\"both\"/\u003e"},{"lineNumber":210,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":"```"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":"\u003cannotate src\u003d\"https://markbind.org/userGuide/diagrams/object.png\" height\u003d\"500\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":218,"author":{"gitId":"-"},"content":" \u003c!-- Default Legend (popover only)--\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"6%\" y\u003d\"50%\" content\u003d\"You can use a triangle and a solid line (not to be confused with an arrow) to indicate class inheritance.\" label\u003d\"1\" header\u003d\""},{"lineNumber":220,"author":{"gitId":"-"},"content":"Class inheritance\"/\u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":" \u003c!-- Set Legend to bottom only (popover is not clickable) --\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"25.5%\" y\u003d\"50%\" content\u003d\"UML uses a solid diamond symbol to denote composition.\" label\u003d\"2\" header\u003d\"Composition\" color\u003d\"red\"/\u003e"},{"lineNumber":223,"author":{"gitId":"-"},"content":" \u003c!-- Set Legend to both --\u003e"},{"lineNumber":224,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"45%\" y\u003d\"50%\" content\u003d\"UML uses a hollow diamond to indicate an aggregation.\" label\u003d\"3\" header\u003d\""},{"lineNumber":225,"author":{"gitId":"-"},"content":"Aggregation\" color\u003d\"blue\"/\u003e"},{"lineNumber":226,"author":{"gitId":"-"},"content":" \u003ca-point x\u003d\"64.5%\" y\u003d\"50%\" content\u003d\"Association labels describe the meaning of the association.\" label\u003d\"4\" header\u003d\"Association labels\" color\u003d\"yellow\"/\u003e"},{"lineNumber":227,"author":{"gitId":"-"},"content":"\u003c/annotate\u003e"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":230,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":231,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"LamJiuFong":3,"-":228}},{"path":"docs/userGuide/syntax/badges.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Badges"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":"**Example:**"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"\u003cspan class\u003d\"badge bg-primary\"\u003e"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"Some Plain Text"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"\u003c/span\u003e"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"\u003cspan class\u003d\"badge bg-primary\"\u003e"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"\u003cmd\u003e_Some Markdown_\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"\u003c/variable\u003e"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"\u003c/include\u003e"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":"**You can choose from a variety of colors for your badges. You can also use the `rounded-pill` class to make the badges pill-shaped.**"},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":"Normal:"},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-primary\"\u003ePrimary\u003c/span\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-secondary\"\u003eSecondary\u003c/span\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-success\"\u003eSuccess\u003c/span\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-danger\"\u003eDanger\u003c/span\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-warning text-dark\"\u003eWarning\u003c/span\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-info text-dark\"\u003eInfo\u003c/span\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-light text-dark\"\u003eLight\u003c/span\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-dark\"\u003eDark\u003c/span\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003cbr\u003ePills:"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-primary\"\u003ePrimary\u003c/span\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-secondary\"\u003eSecondary\u003c/span\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-success\"\u003eSuccess\u003c/span\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-danger\"\u003eDanger\u003c/span\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-warning text-dark\"\u003eWarning\u003c/span\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-info text-dark\"\u003eInfo\u003c/span\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-light text-dark\"\u003eLight\u003c/span\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-dark\"\u003eDark\u003c/span\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":"**You can use Badges in combination with headings, buttons, links, etc.**"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":"Links:"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003ca href\u003d\"#\" class\u003d\"badge bg-primary\"\u003ePrimary\u003c/a\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":"\u003ca href\u003d\"#\" class\u003d\"badge rounded-pill bg-warning text-dark\"\u003eWarning\u003c/a\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":"Buttons:"},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003cbutton type\u003d\"button\" class\u003d\"btn btn-primary\"\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" Difficulty Level \u003cspan class\u003d\"badge bg-light text-dark\"\u003e4\u003c/span\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003c/button\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"Headings:"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"### Feature X \u003cspan class\u003d\"badge bg-danger\"\u003ebeta\u003c/span\u003e {.no-index}"},{"lineNumber":59,"author":{"gitId":"-"},"content":"##### Feature Y \u003cspan class\u003d\"badge rounded-pill bg-success\"\u003estable\u003c/span\u003e {.no-index}"},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":"%%{{ icon_info }} You can refer to [Bootstrap documentation](https://getbootstrap.com/docs/5.1/components/badge/) to find more information about Badges.%%"},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-primary\"\u003ePrimary\u003c/span\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-success\"\u003eSuccess\u003c/span\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":"\u003cbutton type\u003d\"button\" class\u003d\"btn btn-primary\"\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" Difficulty Level \u003cspan class\u003d\"badge bg-light text-dark\"\u003e4\u003c/span\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":"\u003c/button\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":"```"},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge bg-primary\"\u003ePrimary\u003c/span\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"badge rounded-pill bg-success\"\u003eSuccess\u003c/span\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003cbutton type\u003d\"button\" class\u003d\"btn btn-primary\"\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":" Difficulty Level \u003cspan class\u003d\"badge bg-light text-dark\"\u003e4\u003c/span\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":"##### Feature Y \u003cspan class\u003d\"badge rounded-pill bg-warning text-dark\"\u003estable\u003c/span\u003e {.no-index}"},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c/button\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":73,"yiwen101":16}},{"path":"docs/userGuide/syntax/boxes.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% from \"userGuide/components/advanced.md\" import slot_info_trigger %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"## Boxes"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":"**Simple Example**"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cbox\u003e"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"plain text"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":"\u003cbox\u003e"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"\u003cmd\u003e_markdown_\u003c/md\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"\u003c/variable\u003e"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":"\u003c/include\u003e"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":"**Boxes come with different built-in types.**"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" info"},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" warning"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"success\"\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" success"},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\"\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" important"},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"wrong\"\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" wrong"},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" tip"},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\"\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" definition"},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" dismissible\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" dismissible info"},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"success\" header\u003d\"#### Header :rocket:\" icon-size\u003d\"2x\"\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"warning\" header\u003d\"You can use **markdown** here! :pizza:\" dismissible\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003c/box\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"**The built in types can be colored.**"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"primary\"\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":" primary"},{"lineNumber":66,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"secondary\"\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":" secondary"},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"success\"\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":" success"},{"lineNumber":72,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"danger\"\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":" danger"},{"lineNumber":75,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"warning\"\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":" warning"},{"lineNumber":78,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"info\"\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" info"},{"lineNumber":81,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"light\"\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" light"},{"lineNumber":84,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" theme\u003d\"dark\"\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":" dark"},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"**MarkBind also supports a light color scheme for boxes**"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003cbox light\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":" default light"},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" light\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" info light"},{"lineNumber":101,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" light\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" warning light"},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"success\" light\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" success light"},{"lineNumber":107,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" light\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":" important light"},{"lineNumber":110,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"wrong\" light\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":" wrong light"},{"lineNumber":113,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" light\u003e"},{"lineNumber":115,"author":{"gitId":"-"},"content":" tip light"},{"lineNumber":116,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" light\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":" definition light"},{"lineNumber":119,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" header\u003d\"##### Header markdown :rocket:\" light\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":" definition light with header markdown"},{"lineNumber":122,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"**MarkBind also supports a seamless style of boxes**"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":"As `light` and `seamless` are mutually exclusive styles, `light` takes priority over `seamless`."},{"lineNumber":131,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":"\u003cbox seamless\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":" default seamless"},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":" info seamless"},{"lineNumber":141,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":143,"author":{"gitId":"-"},"content":" warning seamless"},{"lineNumber":144,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"success\" seamless\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":" success seamless"},{"lineNumber":147,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" seamless\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":" important seamless"},{"lineNumber":150,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"wrong\" seamless\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":" wrong seamless"},{"lineNumber":153,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":" tip seamless"},{"lineNumber":156,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" seamless dismissible\u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":" dismissible definition seamless"},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" header\u003d\"##### Header markdown :rocket:\" seamless\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":" success seamless with header markdown"},{"lineNumber":162,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":163,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":164,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":"**You can further customize the Box\u0027s appearance.**"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":"\u003cbox background-color\u003d\"#ffca6a\" border-color\u003d\"grey\" border-left-color\u003d\"#8b5a01\"\u003e"},{"lineNumber":172,"author":{"gitId":"-"},"content":"default type, styled as an orange box with a brown left border"},{"lineNumber":173,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" color\u003d\"red\" icon\u003d\":rocket:\"\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":"info, with a custom markdown rocket icon and `red` colored text."},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":"You can use any inline markdown in the `icon` property."},{"lineNumber":179,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":180,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":181,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":"**You can remove the background, icon and borders of preset styles.**"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":"\u003cbox no-icon no-background type\u003d\"success\"\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":" success box without a tick icon and backgound"},{"lineNumber":190,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":"\u003cbox no-border type\u003d\"definition\" light\u003e"},{"lineNumber":193,"author":{"gitId":"-"},"content":" definition type box, light style without border"},{"lineNumber":194,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":195,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":196,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":"\u003cbox header\u003d\"Note\" type\u003d\"info\" seamless\u003e"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":"Custom styles **(** `background-color`, `border-color`, `border-left-color`, `icon` **)** as introduced in the previous section, takes precedence over the `no-background`, `no-border`, `no-icon` attributes."},{"lineNumber":201,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":"**You can also use icons, resize them and change their color accordingly.**"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":206,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"success\" icon\u003d\":fas-camera:\"\u003e"},{"lineNumber":209,"author":{"gitId":"-"},"content":" Lorem ipsum dolor sit amet, consectetur adipiscing elit"},{"lineNumber":210,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" icon\u003d\":fas-camera:\" icon-size\u003d\"2x\"\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":" Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},{"lineNumber":213,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":214,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" icon\u003d\":fas-camera:\" icon-size\u003d\"3x\"\u003e"},{"lineNumber":215,"author":{"gitId":"-"},"content":" Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."},{"lineNumber":216,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":217,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" icon\u003d\":fas-camera:\" icon-color\u003d\"red\" icon-size\u003d\"3x\"\u003e"},{"lineNumber":218,"author":{"gitId":"-"},"content":" Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."},{"lineNumber":219,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":220,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":"****Options****"},{"lineNumber":224,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":225,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":226,"author":{"gitId":"-"},"content":"background-color | `String` | `null` |"},{"lineNumber":227,"author":{"gitId":"-"},"content":"border-color | `String` | `null` |"},{"lineNumber":228,"author":{"gitId":"-"},"content":"border-left-color | `String` | `null` | Overrides border-color for the left border."},{"lineNumber":229,"author":{"gitId":"-"},"content":"color | `String` | `null` | Color of the text."},{"lineNumber":230,"author":{"gitId":"-"},"content":"dismissible | `Boolean` | `false` | Adds a button to close the box to the top right corner."},{"lineNumber":231,"author":{"gitId":"-"},"content":"icon{{slot_info_trigger}} | `String` | `null` | Inline MarkDown text of the icon displayed on the left."},{"lineNumber":232,"author":{"gitId":"-"},"content":"icon-size | `String` | `null` | Resizes the icon. Supports integer-scaling of the icon dimensions e.g. `2x`, `3x`, `4x`, etc."},{"lineNumber":233,"author":{"gitId":"-"},"content":"icon-color | `String` | `null` | Color of the icon."},{"lineNumber":234,"author":{"gitId":"-"},"content":"header{{slot_info_trigger}} | `String` | `null` | Markdown text of the box header."},{"lineNumber":235,"author":{"gitId":"-"},"content":"type | `String` | `\u0027\u0027` | Supports: `info`, `warning`, `success`, `important`, `wrong`, `tip`, `definition`, or empty for default."},{"lineNumber":236,"author":{"gitId":"-"},"content":"theme | `String` | `\u0027\u0027` | Supports: `primary`, `secondary`, `success`, `danger`, `warning`, `tip`, `light`, `dark` or empty for default."},{"lineNumber":237,"author":{"gitId":"-"},"content":"light | `Boolean` | `false` | Uses a light color scheme for the box."},{"lineNumber":238,"author":{"gitId":"-"},"content":"seamless | `Boolean` | `false` | Uses a seamless style for the box. If `light` is specified, this style will not be activated."},{"lineNumber":239,"author":{"gitId":"-"},"content":"no-border | `Boolean` | `false` | Removes border, except if styled by `border-color` or `border-left-color`. "},{"lineNumber":240,"author":{"gitId":"-"},"content":"no-background | `Boolean` | `false` | Removes background, except if styled by `background-color` option."},{"lineNumber":241,"author":{"gitId":"-"},"content":"no-icon | `Boolean` | `false` | Removes icon, except if icon is displayed via `icon` option."},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":247,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":248,"author":{"gitId":"-"},"content":" warning"},{"lineNumber":249,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":250,"author":{"gitId":"-"},"content":"```"},{"lineNumber":251,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":"\u003cbox\u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":" default"},{"lineNumber":256,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":257,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":258,"author":{"gitId":"-"},"content":" info"},{"lineNumber":259,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":261,"author":{"gitId":"-"},"content":" warning"},{"lineNumber":262,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":263,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"success\"\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":" success"},{"lineNumber":265,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":266,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\"\u003e"},{"lineNumber":267,"author":{"gitId":"-"},"content":" important"},{"lineNumber":268,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":269,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"wrong\"\u003e"},{"lineNumber":270,"author":{"gitId":"-"},"content":" wrong"},{"lineNumber":271,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":272,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":273,"author":{"gitId":"-"},"content":" tip"},{"lineNumber":274,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":275,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\"\u003e"},{"lineNumber":276,"author":{"gitId":"-"},"content":" definition"},{"lineNumber":277,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":278,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":264,"yiwen101":14}},{"path":"docs/userGuide/syntax/code.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Code"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"#### Themes"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"MarkBind can present formatted code blocks, be it fenced or inline, with either **light** or **dark** themes. The default is dark \u003ctrigger for\u003d\"modal:code-dark-example\" trigger\u003d\"click\"\u003e_(click for an example)_\u003c/trigger\u003e."},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cmodal header\u003d\"Dark Code Theme\" id\u003d\"modal:code-dark-example\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cpic src\u003d\"/images/codeDarkTheme.png\" alt\u003d\"Theme example\"\u003e\u003c/pic\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c/modal\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"Refer [here](../siteJsonFile.html#style) for configuring MarkBind to use a specific theme for the code blocks."},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"#### Fenced Code"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"MarkBind provides several features, some of which are added on top of the existing functionality of Markdown\u0027s _fenced code blocks_."},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003csmall\u003eMore info: \u003chttps://www.markdownguide.org/extended-syntax#fenced-code-blocks\u003e\u003c/small\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"Features:"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"* Syntax coloring"},{"lineNumber":23,"author":{"gitId":"-"},"content":"* Line numbering"},{"lineNumber":24,"author":{"gitId":"-"},"content":"* Line highlighting"},{"lineNumber":25,"author":{"gitId":"-"},"content":"* Code block headers"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"##### Syntax coloring"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"To enable syntax coloring, specify a language next to the backticks before the fenced code block."},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example\"\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"```xml"},{"lineNumber":34,"author":{"gitId":"-"},"content":"\u003cfoo\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003c/foo\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":"```"},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"##### Line numbering"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"Line numbers are \u003ctooltip content\u003d\"Line numbers were provided by default in version v3.1.1 and below. To preserve the exact line numbers behavior of sites generated in previous versions, simply set the codeLineNumbers option in site.json to true\"\u003ehidden by default\u003c/tooltip\u003e. To enable line numbers for the entire site by default,"},{"lineNumber":45,"author":{"gitId":"-"},"content":"add `\"codeLineNumbers\": true` to the [`site.json`]({{baseUrl}}/userGuide/siteJsonFile.html#style) file:"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"```json {highlight-lines\u003d\"8[:]\"}"},{"lineNumber":48,"author":{"gitId":"-"},"content":"{"},{"lineNumber":49,"author":{"gitId":"-"},"content":" // ..."},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"style\": {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"bootstrapTheme\": \"bootswatch-cerulean\","},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"codeTheme\": \"light\","},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"codeLineNumbers\": true // optional, false if omitted"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":" // code below omitted for brevity"},{"lineNumber":56,"author":{"gitId":"-"},"content":"}"},{"lineNumber":57,"author":{"gitId":"-"},"content":"```"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"For each code block, you may also use the `line-numbers` or `no-line-numbers` classes to override the site-wide setting as such:"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":"```xml {.line-numbers}"},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003cfoo\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":"\u003c/foo\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":"```"},{"lineNumber":68,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":"```xml {.no-line-numbers}"},{"lineNumber":74,"author":{"gitId":"-"},"content":"\u003cfoo\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003c/foo\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":"```"},{"lineNumber":78,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":"You can have your line numbers start with a value other than `1` with the `start-from` attribute."},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"```js {start-from\u003d6}"},{"lineNumber":86,"author":{"gitId":"-"},"content":"function add(a, b) {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" return a + b;"},{"lineNumber":88,"author":{"gitId":"-"},"content":"}"},{"lineNumber":89,"author":{"gitId":"-"},"content":"```"},{"lineNumber":90,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":"##### Line highlighting"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":"You can add the `highlight-lines` attribute to add highlighting to your code block. Refer to the examples"},{"lineNumber":96,"author":{"gitId":"-"},"content":"below for a visual demonstration of all the possible ways of highlighting a code block."},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"**Full text highlight**"},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":"```js {start-from\u003d6 .line-numbers highlight-lines\u003d\"7, 9\"}"},{"lineNumber":102,"author":{"gitId":"-"},"content":"function add(a, b) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" const sum \u003d a + b;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" console.log(`${a} + ${b} \u003d ${sum}`);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" return sum;"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"},{"lineNumber":107,"author":{"gitId":"-"},"content":"```"},{"lineNumber":108,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":"**Substring highlight**"},{"lineNumber":112,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":"```js {.line-numbers highlight-lines\u003d\"1[\u0027function\u0027], 2[\u0027a\u0027], 2[\u0027b\u0027], 4[\u0027diff\u0027]\"}"},{"lineNumber":115,"author":{"gitId":"-"},"content":"function subtract(a, b) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" const diff \u003d a - b;"},{"lineNumber":117,"author":{"gitId":"-"},"content":" console.log(`${a} + ${b} \u003d ${diff}`);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" return diff;"},{"lineNumber":119,"author":{"gitId":"-"},"content":"}"},{"lineNumber":120,"author":{"gitId":"-"},"content":"```"},{"lineNumber":121,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":"**Character-bounded highlight**"},{"lineNumber":125,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":"```js {.line-numbers highlight-lines\u003d\"1[0:3], 1[6:10], 2[5:], 3[:6]\"}"},{"lineNumber":128,"author":{"gitId":"-"},"content":"function multiply(a, b) {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" const product \u003d a * b;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" console.log(\u0027Product \u003d ${product}\u0027);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" return product;"},{"lineNumber":132,"author":{"gitId":"-"},"content":"}"},{"lineNumber":133,"author":{"gitId":"-"},"content":"```"},{"lineNumber":134,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":"**Word-bounded highlight**"},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":"```js {.line-numbers highlight-lines\u003d\"1[1::3], 1[5::7], 2[2::], 3[::3]\"}"},{"lineNumber":141,"author":{"gitId":"-"},"content":"// Function returns the distance travelled assuming constant speed"},{"lineNumber":142,"author":{"gitId":"-"},"content":"function calculateDistance(speed, time) {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" const distance \u003d speed * time;"},{"lineNumber":144,"author":{"gitId":"-"},"content":" console.log(`Distance travelled \u003d ${distance}`);"},{"lineNumber":145,"author":{"gitId":"-"},"content":" return distance;"},{"lineNumber":146,"author":{"gitId":"-"},"content":"}"},{"lineNumber":147,"author":{"gitId":"-"},"content":"```"},{"lineNumber":148,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":"**Full-line highlight**"},{"lineNumber":152,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":"```js {start-from\u003d10 .line-numbers highlight-lines\u003d\"11[:]\"}"},{"lineNumber":155,"author":{"gitId":"-"},"content":"function add(a, b) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" return a + b;"},{"lineNumber":157,"author":{"gitId":"-"},"content":"}"},{"lineNumber":158,"author":{"gitId":"-"},"content":"```"},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":"**Sample Combined Usage**"},{"lineNumber":163,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":164,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":"```java {.line-numbers highlight-lines\u003d\"1[:],3[\u0027Inventory\u0027],3[4::6],4[\u0027It\\\u0027s designed\u0027],5,6[8:15],6[18:],8[0::2],12[:]-14,16-18,20[12:]-22,24[1::]-26\"}"},{"lineNumber":166,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":"// Inventory is a class that stores inventory items in a list."},{"lineNumber":169,"author":{"gitId":"-"},"content":"// It\u0027s designed as a thin wrapper on the List interface."},{"lineNumber":170,"author":{"gitId":"-"},"content":"public class Inventory {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" private List\u003cItem\u003e items;"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" public int getItemCount(){"},{"lineNumber":174,"author":{"gitId":"-"},"content":" return items.size();"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" public bool isEmpty() {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" return items.isEmpty();"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" public Item getItem(idx: int) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" return items.get(idx);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" public void addItem(item: Item) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" return items.add(item);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" public void removeItem(item: Item) {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" return items.remove(item);"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":"}"},{"lineNumber":193,"author":{"gitId":"-"},"content":"```"},{"lineNumber":194,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":195,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":"The value of `highlight-lines` is composed of *highlight rules*, separated by commas."},{"lineNumber":198,"author":{"gitId":"-"},"content":"These rules dictate where and how MarkBind should highlight your code block."},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":"You can specify the highlight rules in many different ways, each is detailed as follows:"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":"Type | Format | Example"},{"lineNumber":203,"author":{"gitId":"-"},"content":"-----|--------|--------"},{"lineNumber":204,"author":{"gitId":"-"},"content":"**Full text highlight**\u003cbr\u003eHighlights the entirety of the text portion of the line | The line numbers as-is (subject to the starting line number set in `start-from`). | `3`, `5`"},{"lineNumber":205,"author":{"gitId":"-"},"content":"**Substring highlight**\u003cbr\u003eHighlights _all_ occurrences of a substring in the line | `lineNumber[part]`\u003cbr\u003e\u003cbr\u003e_Limitations_: `part` must be wrapped in quotes. If `part` contains a quote, escape it with a backslash (`\\`). | `3[\u0027Inventory\u0027]`,`4[\u0027It\\\u0027s designed\u0027]`"},{"lineNumber":206,"author":{"gitId":"-"},"content":"**Character-bounded highlight**\u003cbr\u003eHighlights a specific range of characters in the line | `lineNumber[start:end]`, highlights from character position `start` up to (but not including) `end`.\u003cbr\u003e\u003cbr\u003eCharacter positions start from `0` as the first non-whitespace character, upwards.\u003cbr\u003e\u003cbr\u003eOmit either `start`/`end` to highlight from the start / up to the end, respectively. | `19[1:5]`,`30[10:]`,`35[:20]`"},{"lineNumber":207,"author":{"gitId":"-"},"content":"**Word-bounded highlight**\u003cbr\u003eHighlights a specific range of words in the line | `lineNumber[start::end]`, highlights from word position `start` up to (but not including) `end`.\u003cbr\u003e\u003cbr\u003eWord positions start from `0` as the first word (sequence of non-whitespace characters), upwards.\u003cbr\u003e\u003cbr\u003eOmit either `start`/`end` to highlight from the start / up to the end, respectively. | `5[2::4]`,`9[1::]`,`11[::5]`"},{"lineNumber":208,"author":{"gitId":"-"},"content":"**Full line highlight**\u003cbr\u003eHighlights the entirety of the line | `lineNumber[:]` | `7[:]`"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":"Not only a single line, MarkBind is also capable of highlighting ranges of lines in various ways. In general, the syntax"},{"lineNumber":211,"author":{"gitId":"-"},"content":"for range highlighting consists of two single line highlight rules as listed above joined by a dash (`-`)."},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":"Type | Format | Example"},{"lineNumber":214,"author":{"gitId":"-"},"content":"-----|--------|--------"},{"lineNumber":215,"author":{"gitId":"-"},"content":"**Ranged full text highlight**\u003cbr\u003eHighlights from the first non-whitespace character to the last non-whitespace character | `lineStart-lineEnd` | `2-4`"},{"lineNumber":216,"author":{"gitId":"-"},"content":"**Ranged full line highlight**\u003cbr\u003eLike ranged full text highlight, but highlights the entirety of the lines | `lineStart[:]-lineEnd` or `lineStart-lineEnd[:]` | `1[:]-5`,`10-12[:]`"},{"lineNumber":217,"author":{"gitId":"-"},"content":"**Ranged character-bounded highlight**\u003cbr\u003eHighlights the text portion of the lines within the range, but starts/ends at an arbitrary character | `lineStart[start:]-lineEnd` or `lineStart-lineEnd[:end]` | `3[2:]-7`, `4-9[:17]`"},{"lineNumber":218,"author":{"gitId":"-"},"content":"**Ranged word-bounded highlight**\u003cbr\u003eLike ranged character-bounded highlight, but starts/ends at an arbitrary word | `lineStart[start::]-lineEnd` or `lineStart-lineEnd[::end]` | `16[1::]-20`,`22-24[::3]`"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"##### Heading"},{"lineNumber":221,"author":{"gitId":"-"},"content":"To add a heading, add the attribute `heading` with the heading text as the value, as shown below."},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":224,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":225,"author":{"gitId":"-"},"content":"```xml {heading\u003d\"Heading title\"}"},{"lineNumber":226,"author":{"gitId":"-"},"content":"\u003cfoo\u003e"},{"lineNumber":227,"author":{"gitId":"-"},"content":" \u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e"},{"lineNumber":228,"author":{"gitId":"-"},"content":"\u003c/foo\u003e"},{"lineNumber":229,"author":{"gitId":"-"},"content":"```"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":232,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":"Headings support inline Markdown, except for `Inline Code` and %%Dim%% text styles."},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":237,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":238,"author":{"gitId":"-"},"content":"```{heading\u003d\"**Bold**, _Italic_, ___Bold and Italic___, ~~Strike through~~, ****Super Bold****, !!Underline!!, \u003d\u003dHighlight\u003d\u003d, :+1: :exclamation: :x: :construction:\u003cbr\u003eWe support page breaks\"}"},{"lineNumber":239,"author":{"gitId":"-"},"content":"\u003cfoo\u003e\u003c/foo\u003e"},{"lineNumber":240,"author":{"gitId":"-"},"content":"```"},{"lineNumber":241,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":242,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":"##### Using multiple features"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":"You can also use multiple features together, as shown below."},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputCode.md\" boilerplate \u003e"},{"lineNumber":249,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":250,"author":{"gitId":"-"},"content":"```xml {highlight-lines\u003d\"2\" heading\u003d\"Heading title\"}"},{"lineNumber":251,"author":{"gitId":"-"},"content":"\u003cfoo\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":" \u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e"},{"lineNumber":253,"author":{"gitId":"-"},"content":"\u003c/foo\u003e"},{"lineNumber":254,"author":{"gitId":"-"},"content":"```"},{"lineNumber":255,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":256,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":257,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":"##### Copy button"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":"A _copy_ button can be added to code blocks using the `codeBlockCopyButtons` plugin:"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"seamless\" header\u003d\"**User Guide: Using Plugins → Plugin: `codeBlockCopyButtons`**\" popup-url\u003d\"usingPlugins.html#plugin-codeblockcopybuttons\"\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"../plugins/codeBlockCopyButtons.md\" /\u003e"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":268,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":"##### Wrap text button"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":"A _wrap text_ button can be added to code blocks using the `codeBlockWrapButtons` plugin:"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"seamless\" header\u003d\"**User Guide: Using Plugins → Plugin: `codeBlockWrapButtons`**\" popup-url\u003d\"usingPlugins.html#plugin-codeblockwrapbuttons\"\u003e"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"../plugins/codeBlockWrapButtons.md\" /\u003e"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":279,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"Tim-Siu"},"content":"##### Printing optimization"},{"lineNumber":282,"author":{"gitId":"Tim-Siu"},"content":""},{"lineNumber":283,"author":{"gitId":"Tim-Siu"},"content":"\u003cdiv id\u003d\"code-print-optimization\"\u003e"},{"lineNumber":284,"author":{"gitId":"-"},"content":"Markbind enhances the readability of your code blocks for printing by "},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":"- Applying soft wrapping, ensuring code doesn\u0027t get cut off"},{"lineNumber":287,"author":{"gitId":"-"},"content":"- Adding line numbers to maintain context when wrapping occurs"},{"lineNumber":288,"author":{"gitId":"-"},"content":"- Automatically changing dark code theme to light"},{"lineNumber":289,"author":{"gitId":"-"},"content":"- Removing [codeBlockCopyButtons]({{baseUrl}}/userGuide/formattingContents.html#copy-button) and [codeBlockWrapButtons]({{baseUrl}}/userGuide/formattingContents.html#wrap-text-button)"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e "},{"lineNumber":292,"author":{"gitId":"-"},"content":" There are some issues with printing in Firefox. Please use other browsers such as Chrome if these issues persist."},{"lineNumber":293,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"Tim-Siu"},"content":"\u003c/div\u003e"},{"lineNumber":296,"author":{"gitId":"Tim-Siu"},"content":"\u003cbr\u003e"},{"lineNumber":297,"author":{"gitId":"Tim-Siu"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":"#### Inline Code"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":"##### Syntax coloring"},{"lineNumber":301,"author":{"gitId":"-"},"content":""},{"lineNumber":302,"author":{"gitId":"-"},"content":"MarkBind can apply syntax-coloring on inline code too."},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":305,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":306,"author":{"gitId":"-"},"content":"Consider the XML code `\u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e`{.xml},\u003cbr\u003e"},{"lineNumber":307,"author":{"gitId":"-"},"content":"or the java code `public static void main(String[] args)`{.java}."},{"lineNumber":308,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":309,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":"{% raw %}"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":"##### Displaying content within curly braces: `{{ content }}`"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":"If your code contains special Nunjucks tags like `{{` or `}}`, use a [raw-endraw block](../tipsAndTricks.html#using-raw-endraw-to-display-content):"},{"lineNumber":316,"author":{"gitId":"-"},"content":""},{"lineNumber":317,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":318,"author":{"gitId":"-"},"content":"{% raw %} {{ content }} {% endraw %}"},{"lineNumber":319,"author":{"gitId":"-"},"content":"```"},{"lineNumber":320,"author":{"gitId":"-"},"content":"{% endraw %}"},{"lineNumber":321,"author":{"gitId":"-"},"content":""},{"lineNumber":322,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":"````"},{"lineNumber":325,"author":{"gitId":"-"},"content":"```xml"},{"lineNumber":326,"author":{"gitId":"-"},"content":"\u003cfoo\u003e"},{"lineNumber":327,"author":{"gitId":"-"},"content":" \u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e"},{"lineNumber":328,"author":{"gitId":"-"},"content":"\u003c/foo\u003e"},{"lineNumber":329,"author":{"gitId":"-"},"content":"```"},{"lineNumber":330,"author":{"gitId":"-"},"content":"````"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":"```"},{"lineNumber":333,"author":{"gitId":"-"},"content":"`\u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e`{.xml}"},{"lineNumber":334,"author":{"gitId":"-"},"content":"```"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":"```xml"},{"lineNumber":341,"author":{"gitId":"-"},"content":"\u003cfoo\u003e"},{"lineNumber":342,"author":{"gitId":"-"},"content":" \u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e"},{"lineNumber":343,"author":{"gitId":"-"},"content":"\u003c/foo\u003e"},{"lineNumber":344,"author":{"gitId":"-"},"content":"```"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":"Syntax coloring for inline code: `\u003cbar type\u003d\"name\"\u003egoo\u003c/bar\u003e`{.xml} too!"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":342,"Tim-Siu":6}},{"path":"docs/userGuide/syntax/dates.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Dates"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"{% macro njcode(raw) %}\u003ccode\u003e{\u003ca/\u003e{ {{ raw }} }}\u003c/code\u003e{% endmacro %}"},{"lineNumber":4,"author":{"gitId":"-"},"content":"{% macro njblock(raw) %}\u003ccode\u003e{\u003ca/\u003e% {{ raw }} %}\u003c/code\u003e{% endmacro %}"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"**MarkBind supports date formatting and simple calculations** as a Nunjucks [filter](https://mozilla.github.io/nunjucks/templating.html#filters)."},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"**Syntax:** {{ njcode(\u0027baseDate | date(format, daysToAdd)\u0027) }}"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"20 days after 1st Jan 2020:"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"{{ njcode(\u0027\"2020-01-01\" | date(\"ddd, Do MMM, YYYY\", 20) \u0027) }} :glyphicon-arrow-right: {{ \"2020-01-01\" | date(\"ddd, Do MMM, YYYY\", 20) }}"},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"The baseDate follows the format: `YYYY-MM-DD`"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"The default output format is `\"ddd D MMM\"` e.g. Fri 6 Mar"},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"### Using variables"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"{{ njblock(\u0027set base1 \u003d \"2020-01-01\"\u0027) }} {% set base1 \u003d \"2020-01-01\" %} \u003cbr/\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":"{{ njblock(\u0027set format1 \u003d \"DD MM YYYY\"\u0027) }} {% set format1 \u003d \"DD MM YYYY\" %} \u003cbr/\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"{{ njblock(\u0027set format2 \u003d \"ddd Do MMM (DD/MM/YYYY)\"\u0027) }} {% set format2 \u003d \"ddd Do MMM (DD/MM/YYYY)\" %}"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date\u0027) }} :glyphicon-arrow-right: {{ base1 | date }}\u003cbr/\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"#### Custom formatting"},{"lineNumber":33,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date(format1)\u0027) }} :glyphicon-arrow-right: {{ base1 | date(format1) }}\u003cbr/\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"#### Adding days"},{"lineNumber":36,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date(format2, 0)\u0027) }} :glyphicon-arrow-right: {{ base1 | date(format2, 0) }}\u003cbr/\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date(format2, 10)\u0027) }} :glyphicon-arrow-right: {{ base1 | date(format2, 10) }}\u003cbr/\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"#### Nunjucks variables"},{"lineNumber":40,"author":{"gitId":"-"},"content":"Dates can be supplied using [Nunjucks variables](../reusingContents.html#variables) for convenience."},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"Inside the `.md` file of a page:"},{"lineNumber":43,"author":{"gitId":"-"},"content":"```"},{"lineNumber":44,"author":{"gitId":"-"},"content":"{% raw %}{% set date_pagevar \u003d \"2020-03-06\" %}{% endraw %}"},{"lineNumber":45,"author":{"gitId":"-"},"content":"```"},{"lineNumber":46,"author":{"gitId":"-"},"content":"{% set date_pagevar \u003d \"2020-03-06\" %}"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"{{ njcode(\u0027date_pagevar | date(format2)\u0027) }} :glyphicon-arrow-right: {{ date_pagevar | date(format2) }} \u003cbr/\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"### Advanced Formatting"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"The output date can be formatted to suit your needs by specifying a format string as an argument to the date filter."},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"Default format: `\"ddd D MMM\"` e.g. Fri 6 Mar"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Brief reference**\"\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":"Token | Output"},{"lineNumber":61,"author":{"gitId":"-"},"content":"--- | ---"},{"lineNumber":62,"author":{"gitId":"-"},"content":"D | 1"},{"lineNumber":63,"author":{"gitId":"-"},"content":"Do | 1st"},{"lineNumber":64,"author":{"gitId":"-"},"content":"DD | 01"},{"lineNumber":65,"author":{"gitId":"-"},"content":"M | 1"},{"lineNumber":66,"author":{"gitId":"-"},"content":"MM | 01"},{"lineNumber":67,"author":{"gitId":"-"},"content":"MMM | Jan"},{"lineNumber":68,"author":{"gitId":"-"},"content":"MMMM | January"},{"lineNumber":69,"author":{"gitId":"-"},"content":"YY | 19"},{"lineNumber":70,"author":{"gitId":"-"},"content":"YYYY | 2019"},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":"Full formatting reference available [here](https://day.js.org/docs/en/parse/string-format#list-of-all-available-parsing-tokens) and [here](https://day.js.org/docs/en/plugin/advanced-format)."},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003cinclude boilerplate src\u003d\"outputBox.md\"\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003cbox\u003e\u003cspan\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":"{{ njblock(\u0027set base1 \u003d \"2019-08-12\"\u0027) }}\u003cbr/\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":"{{ njblock(\u0027set format1 \u003d \"DD MM YYYY\"\u0027) }}\u003cbr/\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":"{{ njblock(\u0027set format2 \u003d \"ddd Do MM\"\u0027) }}\u003cbr/\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date\u0027) }} \u003c!-- Mon 12 Aug --\u003e\u003cbr/\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date(format1)\u0027) }} \u003c!-- 12 08 2019 --\u003e\u003cbr/\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date(format1, 10)\u0027) }} \u003c!-- 22 08 2019 --\u003e\u003cbr/\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":"{{ njcode(\u0027base1 | date(format2, 10)\u0027) }} \u003c!-- Thu 22/08 --\u003e\u003cbr/\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003c/span\u003e\u003c/box\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"output\"\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":"Mon 12 Aug\u003cbr/\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":"12 08 2019\u003cbr/\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":"22 08 2019\u003cbr/\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":"Thu 22/08"},{"lineNumber":95,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"\u003cbox\u003e\u003cspan\u003e"},{"lineNumber":102,"author":{"gitId":"jingting1412"},"content":"{{ njcode(\u0027baseDate | date(format, daysToAdd)\u0027) }} \u003c!-- 22.08.2019 --\u003e\u003cbr/\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":"\u003c/span\u003e\u003c/box\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":1,"-":103}},{"path":"docs/userGuide/syntax/emoji.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Emoji"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":":+1: :exclamation: :x: :construction: :) :/ :D"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"Tim-Siu"},"content":"%%{{ icon_info }} The list of supported [emoji](https://github.com/ikatyang/emoji-cheat-sheet/blob/master/README.md) and [emoticon shortcuts](https://github.com/markdown-it/markdown-it-emoji/blob/master/lib/data/shortcuts.mjs).%%"},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":20,"author":{"gitId":"-"},"content":":+1: :exclamation: :x: :construction: :) :/ :D"},{"lineNumber":21,"author":{"gitId":"-"},"content":"```"},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":":+1: :exclamation: :x: :construction: :) :/ :D"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":26,"Tim-Siu":1}},{"path":"docs/userGuide/syntax/footnotes.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Footnotes"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example-markbind\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"**Normal footnotes:**"},{"lineNumber":9,"author":{"gitId":"-"},"content":"Here is a footnote reference,[^1] and another.[^longnote]"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"[^1]: Here is the footnote. Footnotes will appear at the bottom of the page."},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"[^longnote]: Here\u0027s one with multiple blocks."},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" Subsequent paragraphs are indented to show that they"},{"lineNumber":16,"author":{"gitId":"-"},"content":"belong to the previous footnote."},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"**Inline footnotes:**"},{"lineNumber":20,"author":{"gitId":"-"},"content":"Here is an inline note.^[Inline notes are easier to write, since"},{"lineNumber":21,"author":{"gitId":"-"},"content":"you don\u0027t have to pick an identifier and move down to type the"},{"lineNumber":22,"author":{"gitId":"-"},"content":"note.]"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"Normal footnotes won\u0027t work when used inside the attributes of MarkBind components!"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"For example, it won\u0027t work in the `header` attribute of [panels](../components/presentation.html#panels)."},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":38,"author":{"gitId":"-"},"content":"**Normal footnotes:**"},{"lineNumber":39,"author":{"gitId":"-"},"content":"Here is a footnote reference,[^1] and another.[^longnote]"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"[^1]: Here is the footnote. Footnotes will appear at the bottom of the page."},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"[^longnote]: Here\u0027s one with multiple blocks."},{"lineNumber":44,"author":{"gitId":"-"},"content":" Subsequent paragraphs are indented to show that they"},{"lineNumber":45,"author":{"gitId":"-"},"content":"belong to the previous footnote."},{"lineNumber":46,"author":{"gitId":"-"},"content":"```"},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"1 + 1 \u003d 2 ^[Math]"},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":50,"yiwen101":1}},{"path":"docs/userGuide/syntax/fullSyntaxSet.njk","fileType":"njk","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"{% set syntax_topics \u003d {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" headings : [\u0027Headings\u0027, \u0027headings\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" paragraphs : [\u0027Paragraphs\u0027, \u0027paragraphs\u0027, [\u0027basic\u0027]],"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" lineBreaks : [\u0027Line Breaks\u0027, \u0027line-breaks\u0027, [\u0027basic\u0027]],"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" textStyles : [\u0027Text Styles\u0027, \u0027text-styles\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" blockquotes: [\u0027Blockquotes\u0027, \u0027blockquotes\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" lists : [\u0027Lists\u0027, \u0027lists\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" code : [\u0027Code\u0027, \u0027code\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" horizontalrules : [\u0027Horizontal Rules\u0027, \u0027horizontal-rules\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" links : [\u0027Links\u0027, \u0027links\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" footnotes: [\u0027Footnotes\u0027, \u0027footnotes\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" images : [\u0027Images\u0027, \u0027images\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" attributes: [\u0027Classes, Attributes \u0026 Identifiers\u0027, \u0027classes-attributes-and-amp-identifiers\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" tables : [\u0027Tables\u0027, \u0027tables\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" emoji : [\u0027Emoji\u0027, \u0027emoji\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" icons : [\u0027Icons\u0027, \u0027icons\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" embeds : [\u0027Embeds\u0027, \u0027embeds\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" dates : [\u0027Dates\u0027, \u0027dates\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" mathformulae : [\u0027Math Formulae\u0027, \u0027math-formulae\u0027, [\u0027basic\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" frontmatter : [\u0027Frontmatter\u0027, \u0027frontmatter\u0027, [\u0027tweakingThePageStructure\u0027]],"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" tags : [\u0027Tags\u0027, \u0027plugin-tags\u0027, [\u0027tweakingThePageStructure\u0027]],"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" includes : [\u0027Includes\u0027, \u0027includes\u0027, [\u0027reusingContents\u0027]],"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" variables : [\u0027Variables\u0027, \u0027variables\u0027, [\u0027reusingContents\u0027]],"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" keywords : [\u0027Keywords\u0027, \u0027keywords\u0027, [\u0027makingTheSiteSearchable\u0027]],"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" badges : [\u0027Badges\u0027, \u0027badges\u0027, [\u0027presentation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" boxes : [\u0027Boxes\u0027, \u0027boxes\u0027, [\u0027presentation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" panels : [\u0027Panels\u0027, \u0027panels\u0027, [\u0027presentation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" tabs : [\u0027Tabs\u0027, \u0027tabs\u0027, [\u0027presentation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" pictures : [\u0027Pictures\u0027, \u0027pictures\u0027, [\u0027images-diagrams\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":" annotations : [\u0027Annotations\u0027, \u0027annotations\u0027, [\u0027images-diagrams\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" thumbnails : [\u0027Thumbnails\u0027, \u0027thumbnails\u0027, [\u0027images-diagrams\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" diagrams : [\u0027Diagrams\u0027, \u0027diagrams\u0027, [\u0027images-diagrams\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":" tree : [\u0027Tree\u0027, \u0027tree\u0027, [\u0027images-diagrams\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":" tooltips : [\u0027Tooltips\u0027, \u0027tooltips\u0027, [\u0027popups\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":" popovers : [\u0027Popovers\u0027, \u0027popovers\u0027, [\u0027popups\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" modals : [\u0027Modals\u0027, \u0027modals\u0027, [\u0027popups\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":" dropdowns : [\u0027Dropdowns\u0027, \u0027dropdowns\u0027, [\u0027navigation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":" searchBars : [\u0027Search Bars\u0027, \u0027search-bars\u0027, [\u0027navigation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":" navBars : [\u0027Nav Bars\u0027, \u0027navbars\u0027, [\u0027navigation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" breadcrumbs : [\u0027Breadcrumbs\u0027, \u0027breadcrumbs\u0027, [\u0027navigation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" siteNavigationMenus : [\u0027Site Navigation Menus\u0027, \u0027site-navigation-menus\u0027, [\u0027navigation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":" pageNavigationMenus : [\u0027Page Navigation Menus\u0027, \u0027page-navigation-menus\u0027, [\u0027navigation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" scrollTopButton : [\u0027Scroll To Top Button\u0027, \u0027scroll-to-top-button\u0027, [\u0027navigation\u0027, \u0027reader-facing\u0027]],"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" questions : [\u0027Questions and Quizzes\u0027, \u0027questions-and-quizzes\u0027, [\u0027others\u0027, \u0027reader-facing\u0027]]"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":"} %}"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":"{% macro generate_url(k, v) %}"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" {% set url\u003d\"/userGuide/\" %}"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" {% if v[2] is iterable %}"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":" {% if \u0027basic\u0027 in v[2] %}"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"formattingContents.html#\" + v[1] %}"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027presentation\u0027 in v[2] %}"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/presentation.html#\" + v[1] %}"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027images-diagrams\u0027 in v[2] %}"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/imagesAndDiagrams.html#\" + v[1] %}"},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027popups\u0027 in v[2] %}"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/popups.html#\" + v[1] %}"},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027navigation\u0027 in v[2] %}"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/navigation.html#\" + v[1] %}"},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027others\u0027 in v[2] %}"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/others.html#\" + v[1] %}"},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":" {% else %}"},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + v[2][0] + v[1] %}"},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":" {% endif %}"},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":" {% else %}"},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url %}"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":" {% endif%}"},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":" {{ url }}"},{"lineNumber":71,"author":{"gitId":"jingting1412"},"content":"{% endmacro %} "}],"authorContributionMap":{"jingting1412":71}},{"path":"docs/userGuide/syntax/headings.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Headings"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"You can prepend the heading text with 1-6 `#` characters to indicate headings of levels 1-6."},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":"### Heading level 3"},{"lineNumber":10,"author":{"gitId":"-"},"content":"..."},{"lineNumber":11,"author":{"gitId":"-"},"content":"###### Heading level 6"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"{{ icon_info }} **MarkBind auto-generates anchors for all headings.**\u003cbr\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"If the heading text is `Foo Bar (Goo)`, the ID of the generated anchor will be `foo-bar-goo` (all lower case, special characters omitted, joined by `-`)."},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003csmall\u003eAlternative syntax, more info: https://www.markdownguide.org/basic-syntax#headings"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":24,"author":{"gitId":"-"},"content":"### Heading level 3"},{"lineNumber":25,"author":{"gitId":"-"},"content":"..."},{"lineNumber":26,"author":{"gitId":"-"},"content":"###### Heading level 6"},{"lineNumber":27,"author":{"gitId":"-"},"content":"```"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":"```markdown"},{"lineNumber":32,"author":{"gitId":"-"},"content":"### Heading level 3"},{"lineNumber":33,"author":{"gitId":"-"},"content":"..."},{"lineNumber":34,"author":{"gitId":"-"},"content":"###### Heading level 6"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":"```"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":2,"-":34}},{"path":"docs/userGuide/syntax/icons.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Icons"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":"\u003csmall\u003e%%Acknowledgement: Font Awesome icons are provided by [Font Awesome](https://fontawesome.com/) under their [free license](https://fontawesome.com/license), Glyphicons are provided by [Glyphicons](https://glyphicons.com/) via [Bootstrap 3](https://getbootstrap.com/docs/3.3/). Bootstrap icons are designed by [@mdo](https://github.com/mdo), maintained by the [Bootstrap Team](https://github.com/orgs/twbs/people) and provided under MIT liscense. [Octicons](https://octicons.github.com) are copyright of GitHub, and Material icons are provided by [Google Fonts](https://fonts.google.com/icons) via [`material-icons` by Ravindra Marella](https://www.npmjs.com/package/material-icons) under the [Apache license 2.0](https://www.apache.org/licenses/LICENSE-2.0.html).%%\u003c/small\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":"MarkBind supports using Font Icons provided by Font Awesome, Glyphicons, GitHub\u0027s Octicons and Bootstrap icons."},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"tip.md\" boilerplate \u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"tip_body\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":"The advantage of font icons over emojis is font icons can be _styled_ to fit your needs. e.g.,"},{"lineNumber":10,"author":{"gitId":"-"},"content":"* emoji: \u003cspan style\u003d\"color: purple\"\u003eDon\u0027t judge the :book: by its cover! :-1:\u003c/span\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":"* font icons: \u003cspan style\u003d\"color: purple\"\u003eDon\u0027t judge the :fa-solid-book: by its cover! {{ icon_dislike }}\u003c/span\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"###### Using Font Awesome Icons"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"MarkBind currently supports Version 6 of Font Awesome (Free plan). For detailed changes between versions, refer to [Font Awesome\u0027s documentation](https://fontawesome.com/docs/web/setup/upgrade/whats-changed)."},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"1. Decide which icon you want to use from the [list of available icons](https://fontawesome.com/icons?d\u003dgallery\u0026m\u003dfree)."},{"lineNumber":24,"author":{"gitId":"-"},"content":"1. Construct the MarkBind name for the selected icon by adding the _type prefix_."},{"lineNumber":25,"author":{"gitId":"-"},"content":" Note: Font Awesome has two different styles for their icons, each with their own type prefix. Here is an example from each type:"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * _Solid_ (prefix: `fa-solid-`) e.g., :fa-solid-file-code: (actual name `file-code`, MarkBind name `fa-solid-file-code`)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * _Brands_ (prefix: `fa-brands-`): e.g., :fa-brands-github-alt: (actual name `github-alt`, MarkBind name `fa-brands-github-alt`)"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"1. Insert MarkBind name for the icon enclosed within colons to get the icon in your page.\u003cbr\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" `Create a **branch**`\u003ccode\u003e:\u003cspan\u003e\u003c/span\u003efas-code-branch: now!\u003c/code\u003e → Create a **branch** :fas-code-branch: now!"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"###### Using Glyphicons"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"1. Decide which icon you want to use from [list of provided glyphicons](https://getbootstrap.com/docs/3.3/components/#glyphicons)."},{"lineNumber":36,"author":{"gitId":"-"},"content":"1. Insert the name for the icon enclosed within colons to get the icon in your page.\u003cbr\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" `Move to the right!`\u003ccode\u003e:\u003cspan\u003e\u003c/span\u003eglyphicon-hand-right:\u003c/code\u003e → Move to the right! :glyphicon-hand-right:"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003ccode\u003e:\u003cspan\u003e\u003c/span\u003eglyphicon-hand-right:\u003c/code\u003e \u003ccode\u003e:\u003cspan\u003e\u003c/span\u003efa-brands-github:\u003c/code\u003e \u003ccode\u003e:\u003cspan\u003e\u003c/span\u003efa-solid-home:\u003c/code\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":":glyphicon-hand-right: :fa-brands-github: :fa-solid-home: %%:glyphicon-hand-right: :fa-brands-github: :fa-solid-home:%% \u003cspan style\u003d\"color: red\"\u003e:glyphicon-hand-right: :fa-brands-github: :fa-solid-home:\u003c/span\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"###### Using Octicons"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"1. Decide which icon you want to use from [list of available Octicons](https://octicons.github.com)."},{"lineNumber":53,"author":{"gitId":"-"},"content":"1. Insert the name for the icon enclosed within colons to get the icon in your page.\u003cbr\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" `Merge a **pull request** :octicon-git-pull-request:` → Merge a **pull request** :octicon-git-pull-request:"},{"lineNumber":55,"author":{"gitId":"-"},"content":"1. You may also append `~class-name` to the end of the octicon name to add `class\u003d\"class-name\"` property to your Octicon (e.g. `:octicon-git-pull-request~icon-large-red:` will generate an Octicon of class *icon-large-red*). You may then add corresponding CSS to `{root}/_markbind/layouts/{layout-name}/styles.css` to customize the style of your Octicon."},{"lineNumber":56,"author":{"gitId":"-"},"content":"1. If your background is dark, you may use `:octiconlight-*:` to render the icon as white. "},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":"###### Using Bootstrap icons"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":"1. Decide which icon you want to use from [list of available Bootstrap icons](https://icons.getbootstrap.com)."},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":"1. Insert the name for the icon enclosed within colons to get the icon in your page.\u003cbr\u003e"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" `Add a romantic touch with :bi-arrow-through-heart:` → Add a romantic touch with :bi-arrow-through-heart:"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"###### Using Material Icons"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":"1. Decide which icon you want to use from [list of available icons](https://fonts.google.com/icons)."},{"lineNumber":67,"author":{"gitId":"-"},"content":"1. Construct the MarkBind name for the selected icon by writing the icon name in _lowercase letters only_, replacing any spaces between the words in the name with _dashes_ (`-`), then adding the _type prefix_."},{"lineNumber":68,"author":{"gitId":"-"},"content":" Note: Google has five different styles for their Material icons, each with their own type prefix. Here is an example from each type:"},{"lineNumber":69,"author":{"gitId":"-"},"content":" * _Filled_ (prefix: `mif-`) e.g. :mif-perm-media: (actual name `Perm Media`, MarkBind name `mif-perm-media`)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" * _Outlined_ (prefix: `mio-`) e.g., :mio-perm-media: (actual name `Perm Media`, MarkBind name `mio-perm-media`)"},{"lineNumber":71,"author":{"gitId":"-"},"content":" * _Rounded_ (prefix: `mir-`): e.g., :mir-perm-media: (actual name `Perm Media`, MarkBind name `mir-perm-media`)"},{"lineNumber":72,"author":{"gitId":"-"},"content":" * _Sharp_ (prefix: `mis-`): e.g., :mis-perm-media: (actual name `Perm Media`, MarkBind name `mis-perm-media`)"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * _Two tone_ (prefix: `mit-`): e.g., :mit-perm-media: (actual name `Perm Media`, MarkBind name `mit-perm-media`)"},{"lineNumber":74,"author":{"gitId":"-"},"content":" "},{"lineNumber":75,"author":{"gitId":"-"},"content":"1. Insert the name for the icon enclosed within colons to get the icon in your page.\u003cbr\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" `Download from Cloud :mio-cloud-download:` → Download from Cloud :mio-cloud-download:"}],"authorContributionMap":{"-":68,"yiwen101":8}},{"path":"docs/userGuide/syntax/images.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Images"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":"![](https://markbind.org/images/logo-lightbackground.png)"},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" URLs can be specified as relative references. More info in: \u003ci\u003e\u003ca href\u003d\"#intraSiteLinks\"\u003eIntra-Site Links\u003c/a\u003e\u003c/i\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":18,"author":{"gitId":"-"},"content":"![alt text here](https://markbind.org/images/logo-lightbackground.png \"title here\")"},{"lineNumber":19,"author":{"gitId":"-"},"content":"```"},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"![alt text here](https://markbind.org/images/logo-lightbackground.png \"title here\")"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"**Adjusting image dimension**"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"MarkBind also supports the `\u003dWx` shorthand for specifying image width:"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":"This image has a width of 100px: ![](https://markbind.org/images/logo-lightbackground.png \u003d100x)"},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" The width of images cannot exceed that of their parent container. If the specified width is too large, it will be ignored."},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"MarkBind does not support setting the height of images through the `\u003dWxH` or `\u003dxH` syntax. This is because images are automatically resized to ensure responsiveness based on their width."},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"**Auto-linkify**"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"MarkBind automatically wraps images with link to the image URL such that one can click on the image to view the full image."},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":"Click on the image to open the image: ![logo](https://markbind.org/images/logo-lightbackground.png \u003d150x)"},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":"If the image is wrapped with a link, the link will be used instead."},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":"Clicking on this image will bring you to the MarkBind homepage (instead of opening the image):"},{"lineNumber":61,"author":{"gitId":"-"},"content":"[![logo](https://markbind.org/images/logo-lightbackground.png \u003d150x)](https://markbind.org)"},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":"If you want to display images with captions, or have the image auto-resize to fit its container, take a look at [MarkBind\u0027s `pic` component]({{baseUrl}}/userGuide/components/imagesAndDiagrams.html#pictures)."},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"}],"authorContributionMap":{"KevinEyo1":6,"-":63}},{"path":"docs/userGuide/syntax/includes.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → Reusing Contents → Includes_]({{ baseUrl }}/userGuide/reusingContents.html#includes)\u003c/md\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"## Includes"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"**MarkBind has a powerful `\u003cinclude\u003e` mechanism** which allows you to create documents by combining other content fragments."},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"**You can use `\u003cinclude\u003e` tag to include another markdown or HTML document into the current document.**"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"{{ icon_example }} Including text from a `tip2.md` in another file."},{"lineNumber":17,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":18,"author":{"gitId":"-"},"content":"Tip 1. ..."},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"tips/tip2.md\" /\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":"Tip 3. ..."},{"lineNumber":21,"author":{"gitId":"-"},"content":"```"},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"**You can `\u003cinclude\u003e` a fragment of a file** by specifying the `#fragment-id` at the end of the `src` attribute value, provided the fragment is wrapped in a `\u003cdiv\u003e`/`\u003cspan\u003e` tag with the matching `id`."},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"important\" seamless\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"Choose `\u003cdiv\u003e` over `\u003cspan\u003e` when wrapping block-level elements, to prevent invalid HTML markup which causes [hydration issues](https://vuejs.org/guide/scaling-up/ssr.html#hydration-mismatch)."},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"{{ icon_example }} Including a fragment from a file:"},{"lineNumber":35,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":36,"author":{"gitId":"-"},"content":"Some text"},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"docs/tips.md#tip-1\" /\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":"Some other text"},{"lineNumber":39,"author":{"gitId":"-"},"content":"```"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"`docs/tips.md`:"},{"lineNumber":42,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":43,"author":{"gitId":"-"},"content":"..."},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"tip-1\" /\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" Tip 1. ..."},{"lineNumber":46,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"Tip 2. ..."},{"lineNumber":49,"author":{"gitId":"-"},"content":"```"},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"When setting the `id` of a fragment, be careful not to clash with heading anchor IDs auto-generated by MarkBind. For example, if you have a heading `## Some Useful Tips`, MarkBind will auto-generate an ID `some-useful-tips` for that heading."},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"panels.md#script_and_styles_warning\"\u003e\u003c/include\u003e"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"baseUrl-warning\"\u003e"},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"warning\" header\u003d\"Add `{{ \u0027{{ baseUrl }}\u0027 }}` to make your URLs absolute links if they may be reused in different contexts\"\u003e"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":"Make an internal relative link an absolute link by adding `{{ \u0027{{ baseUrl }}\u0027 }}` in front of the path. This allows the link to always point to the same target. Keep this in mind when putting content with links that is reused (eg: via `\u003cinclude\u003e`). This is because when your content is re-used, a relative link may no longer point to where you want it to."},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"baseUrl-example\"\u003e"},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":"\u003cpanel header\u003d\"Example of using absolute links in `\u003cinclude\u003e`\"\u003e"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":"The file `folder1/file1.md` contains a link to `folder1/target.html`. The file `folder2/file2.md` contains `folder1/file1.md` using `\u003cinclude\u003e`."},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":"**In `folder2/file2.md`:** "},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":"```"},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"folder1/file1.md\" /\u003e"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":"```"},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"success\" header\u003d\"Positive example\"\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"jingting1412"},"content":"To ensure that the link will still point to `folder1/target.html`, use an **absolute link** in `folder1/file1.md` as such: `{{ \u0027{{baseUrl}}\u0027 }}/folder1/target.html`."},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":74,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"wrong\" header\u003d\"Negative example\"\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"jingting1412"},"content":"If a relative link `target.html` is used, the link in `folder2/file2.md` will point to `folder2/target.html` instead of `folder1/target.html`"},{"lineNumber":77,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":78,"author":{"gitId":"jingting1412"},"content":"\u003c/panel\u003e"},{"lineNumber":79,"author":{"gitId":"jingting1412"},"content":"\u003cbr/\u003e"},{"lineNumber":80,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":81,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":82,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"tip.md\" boilerplate \u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"tip_body\"\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":"The `\u003cinclude\u003e` mechanism can be used inside any MarkBind source file (even inside the _frontmatter_ section) but it will not work inside some _special_ files such as the `_markbind/variables.md`."},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":"**Attributes:**"},{"lineNumber":91,"author":{"gitId":"-"},"content":"* **`src`**: specify the source file path."},{"lineNumber":92,"author":{"gitId":"-"},"content":"* **`inline`** (optional): make the included result an inline element. (wrapped in `\u003cspan\u003e` tag). e.g.,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" ```html"},{"lineNumber":94,"author":{"gitId":"-"},"content":" The title is \u003cinclude src\u003d\"../docs/summary.md#title\" inline /\u003e while ..."},{"lineNumber":95,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":96,"author":{"gitId":"-"},"content":"* **`optional`** (optional): include the file/fragment only if it exists i.e., there will be no error message if the file/fragment does not exist. e.g.,"},{"lineNumber":97,"author":{"gitId":"-"},"content":" ```html"},{"lineNumber":98,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"UserStories.md\" optional /\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":100,"author":{"gitId":"-"},"content":"* **`trim`** (optional): remove leading and trailing whitespace and newlines from the document before including."},{"lineNumber":101,"author":{"gitId":"-"},"content":" ```html"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"UserStories.md#epic\" trim /\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":104,"author":{"gitId":"-"},"content":"* **`omitFrontmatter`** (optional): omit the frontmatter of the file/fragment from being included (if any)."},{"lineNumber":105,"author":{"gitId":"-"},"content":" ```html"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"UserStories.md#epic\" omitFrontmatter /\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":"##### `\u003cinclude\u003e` Inside an Included File"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":"**Although the `src` attribute of an `\u003cinclude\u003e` is given _relative_ to the current directory, it is converted to an _absolute_ value _before_ the \u003ctooltip content\u003d\"i.e., the file containing the `\u003cinclude\u003e`\"\u003ehost file\u003c/tooltip\u003e is included from another file.**"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":"{{ icon_example }} Suppose you have a MarkBind project with the following file structure."},{"lineNumber":116,"author":{"gitId":"-"},"content":"\u003ctree\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":"C:/mySite/"},{"lineNumber":118,"author":{"gitId":"-"},"content":" bookFiles/"},{"lineNumber":119,"author":{"gitId":"-"},"content":" book.md"},{"lineNumber":120,"author":{"gitId":"-"},"content":" chapter1.md"},{"lineNumber":121,"author":{"gitId":"-"},"content":" chapter2.md"},{"lineNumber":122,"author":{"gitId":"-"},"content":" reviewFiles/"},{"lineNumber":123,"author":{"gitId":"-"},"content":" review.md"},{"lineNumber":124,"author":{"gitId":"-"},"content":"\u003c/tree\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":"The `book.md`:"},{"lineNumber":126,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":127,"author":{"gitId":"-"},"content":"# My Book"},{"lineNumber":128,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter1.md\" /\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter2.md\" /\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":"```"},{"lineNumber":131,"author":{"gitId":"-"},"content":"The `review.md`:"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":134,"author":{"gitId":"-"},"content":"# My Review"},{"lineNumber":135,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"../bookFiles/book.md\" /\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":"..."},{"lineNumber":137,"author":{"gitId":"-"},"content":"```"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":"The content of the `chapter1.md` and `chapter2.md` will be included in the `review.md` (via `\u003cinclude src\u003d\"../bookFiles/book.md\" /\u003e`) although `chapter1.md` and `chapter2.md` are not in `reviewFiles` directory. i.e., `\u003cinclude src\u003d\"chapter1.md\" /\u003e` will be interpreted as `\u003cinclude src\u003d\"c:/mySite/bookFiles/chapter1.md\" /\u003e`"},{"lineNumber":140,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"In other words, **`\u003cinclude\u003e` interprets the reused code relative to the original location of the file, not the location in which it is reused.**"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":"##### Specifying Variables in an `\u003cinclude\u003e`"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":"**It is possible to include variables in an `\u003cinclude\u003e`.**"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":"{{ icon_example }} Specifying `title` and `author` variables in an `\u003cinclude\u003e` tag:"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":155,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"article.md\"\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"title\"\u003eMy Title\u003c/variable\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"author\"\u003eJohn Doe\u003c/variable\u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":159,"author":{"gitId":"-"},"content":"```"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"In `article.md`:"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":"{% raw %}"},{"lineNumber":164,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":165,"author":{"gitId":"-"},"content":"# {{ title }}\u003cbr\u003e"},{"lineNumber":166,"author":{"gitId":"-"},"content":"Author: {{ author }}"},{"lineNumber":167,"author":{"gitId":"-"},"content":"```"},{"lineNumber":168,"author":{"gitId":"-"},"content":"{% endraw %}"},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":"These variables work the same way as variables in `_markbind/variables.md`, except that they only apply to the included file. They allow the included file to be reused as a template, for different source files using different variable values."},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"You can also specify include variables within the `\u003cinclude\u003e` tag itself by adding a `var-` prefix."},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":"{{ icon_example }} Specifying `title` and `author` variables inline:"},{"lineNumber":178,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":179,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"article.md\" var-title\u003d\"My Title\" var-author\u003d\"John Doe\" /\u003e"},{"lineNumber":180,"author":{"gitId":"-"},"content":"```"},{"lineNumber":181,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":"If the same variable is defined in a chain of `\u003cinclude\u003e`s (e.g. `a.md` includes `b.md` includes `c.md`...), variables defined in the top-most `\u003cinclude\u003e` will take precedence. Global variables (`_markbind/variables.md`) will take precedence over any `\u003cinclude\u003e` variables."},{"lineNumber":184,"author":{"gitId":"-"},"content":"This is to allow the outer context to adapt the reused content without changing its actual content."},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Preventing cyclical errors when using multiple includes with same variables\"\u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":"Since outer variables override inner variables, this may result in errors if attempting to use an `include` within another `include` with the same variables."},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":"This is because the inner variable of the same name will be replaced with the outer variable, which contains the inner variable. "},{"lineNumber":191,"author":{"gitId":"-"},"content":"This inner variable is once again overridden to result in another inner variable and so on, causing a cyclical error."},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":"To fix this issue, do not use an inner `include` if they use the same variables."},{"lineNumber":194,"author":{"gitId":"-"},"content":"Instead, copy the content of the `src` file and replace the variables with the defined values."},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":"Example:"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":"```html {.line-numbers}"},{"lineNumber":199,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"boilerplate.md\" boilerplate\u003e"},{"lineNumber":200,"author":{"gitId":"-"},"content":" \u003cspan id\u003d\"variable\"\u003e"},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"boilerplate.md\"\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":" \u003cspan id\u003d\"variable\"\u003e"},{"lineNumber":203,"author":{"gitId":"-"},"content":" VALUE_OF_VARIABLE"},{"lineNumber":204,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":205,"author":{"gitId":"-"},"content":" \u003c/include\u003e"},{"lineNumber":206,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":"```"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":"The inner `variable` would be replaced by the outer `variable` resulting in a cyclical error:"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":"```html {.line-numbers highlight-lines\u003d\"5-9\"}"},{"lineNumber":213,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"boilerplate.md\" boilerplate\u003e"},{"lineNumber":214,"author":{"gitId":"-"},"content":" \u003cspan id\u003d\"variable\"\u003e"},{"lineNumber":215,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"boilerplate.md\"\u003e"},{"lineNumber":216,"author":{"gitId":"-"},"content":" \u003cspan id\u003d\"variable\"\u003e"},{"lineNumber":217,"author":{"gitId":"-"},"content":" \u003cinclude src\u003d\"boilerplate.md\"\u003e"},{"lineNumber":218,"author":{"gitId":"-"},"content":" \u003cspan id\u003d\"variable\"\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":220,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":" \u003c/include\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":223,"author":{"gitId":"-"},"content":" \u003c/include\u003e"},{"lineNumber":224,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":225,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":226,"author":{"gitId":"-"},"content":"```"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":"To fix this problem, copy the content of the `src` file and replace the variables with the defined values as such:"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":"```html {.line-numbers highlight-lines\u003d\"3\"}"},{"lineNumber":231,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"boilerplate.md\" boilerplate\u003e"},{"lineNumber":232,"author":{"gitId":"-"},"content":" \u003cspan id\u003d\"variable\"\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":" Boilerplate content: VALUE_OF_VARIABLE \u003c!-- Replace {{ \u0027{{\u0027 }} variable {{ \u0027}}\u0027 }} in boilerplate with VALUE_OF_VARIABLE --\u003e"},{"lineNumber":234,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":235,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":236,"author":{"gitId":"-"},"content":"```"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":"##### Excluding Files from Rendering as Pages"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":"**MarkBind supports the exclusion of files from page generation**. For example, you can exclude files containing \u003ctooltip content\u003d\"A fragment is a piece of content that can be reused across multiple pages.\"\u003ecustom fragments\u003c/tooltip\u003e that are only meant to be used in `\u003cinclude\u003e`."},{"lineNumber":245,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":"Note: This example below is assuming that you have included the following glob pattern in the `site.json` file:"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":"```js"},{"lineNumber":250,"author":{"gitId":"-"},"content":"{"},{"lineNumber":251,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":252,"author":{"gitId":"-"},"content":" {"},{"lineNumber":253,"author":{"gitId":"-"},"content":" \"glob\": \"*.md\","},{"lineNumber":254,"author":{"gitId":"-"},"content":" \"layout\": \"normal\","},{"lineNumber":255,"author":{"gitId":"-"},"content":" \"searchable\": \"yes\""},{"lineNumber":256,"author":{"gitId":"-"},"content":" }"},{"lineNumber":257,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":258,"author":{"gitId":"-"},"content":"}"},{"lineNumber":259,"author":{"gitId":"-"},"content":"```"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":"Else, if each page is included individually, there is no need to exclude the fragments as they will not be included in the page generation."},{"lineNumber":262,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":263,"author":{"gitId":"-"},"content":""},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":"{{ icon_example }} Suppose you have a fragment file `content-fragment.md` and you want to include it in some pages of the site `course` without rendering `content-fragment.md` as a page."},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":"\u003ctree\u003e"},{"lineNumber":268,"author":{"gitId":"-"},"content":"C:/course/"},{"lineNumber":269,"author":{"gitId":"-"},"content":" content-fragment.md"},{"lineNumber":270,"author":{"gitId":"-"},"content":" index.md"},{"lineNumber":271,"author":{"gitId":"-"},"content":" reading.md"},{"lineNumber":272,"author":{"gitId":"-"},"content":" site.json"},{"lineNumber":273,"author":{"gitId":"-"},"content":"\u003c/tree\u003e"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":"In `reading.md` (note how it reuses content from the `content-fragment.md`):"},{"lineNumber":276,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":277,"author":{"gitId":"-"},"content":"# Week 1 Reading:"},{"lineNumber":278,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"content-fragment.md\" /\u003e"},{"lineNumber":279,"author":{"gitId":"-"},"content":"```"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":"In `site.json` we then exclude the fragment from the page generation with [pagesExclude](../siteJsonFile.html#pagesexclude):"},{"lineNumber":282,"author":{"gitId":"-"},"content":""},{"lineNumber":283,"author":{"gitId":"-"},"content":"```json"},{"lineNumber":284,"author":{"gitId":"-"},"content":"..."},{"lineNumber":285,"author":{"gitId":"-"},"content":"\"pagesExclude\": ["},{"lineNumber":286,"author":{"gitId":"-"},"content":" \"**/*-fragment.md\""},{"lineNumber":287,"author":{"gitId":"-"},"content":"],"},{"lineNumber":288,"author":{"gitId":"-"},"content":"..."},{"lineNumber":289,"author":{"gitId":"-"},"content":"```"},{"lineNumber":290,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"tip.md\" boilerplate \u003e"},{"lineNumber":295,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"tip_body\"\u003e"},{"lineNumber":296,"author":{"gitId":"-"},"content":"You may use any custom name you wish for your fragments but be sure to update the `pagesExclude` list with the appropriate glob pattern."},{"lineNumber":297,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":298,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":"\u003chr\u003e\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":301,"author":{"gitId":"-"},"content":""},{"lineNumber":302,"author":{"gitId":"-"},"content":"### Using Boilerplate Files"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":"**If you find yourself duplicating a \u003ctooltip content\u003d\"code that needs to stay relative to the directory in which it used\"\u003e_boilerplate code_\u003c/tooltip\u003e fragment in multiple places of your code base, you can use a `boilerplate` file to avoid such duplication.** Note that you cannot use a normal `\u003cinclude\u003e` in this case because the code included using a normal `\u003cinclude\u003e` stays relative to the original location while boilerplate code needs to be interpreted relative to the location it is being used."},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":"{{ icon_example }} Suppose you have a MarkBind project with the following file structure."},{"lineNumber":309,"author":{"gitId":"-"},"content":"\u003ctree\u003e"},{"lineNumber":310,"author":{"gitId":"-"},"content":"C:/mySite/"},{"lineNumber":311,"author":{"gitId":"-"},"content":" chapter1/"},{"lineNumber":312,"author":{"gitId":"-"},"content":" chapter.md"},{"lineNumber":313,"author":{"gitId":"-"},"content":" text.md"},{"lineNumber":314,"author":{"gitId":"-"},"content":" exercises.md"},{"lineNumber":315,"author":{"gitId":"-"},"content":" chapter2/"},{"lineNumber":316,"author":{"gitId":"-"},"content":" chapter.md"},{"lineNumber":317,"author":{"gitId":"-"},"content":" text.md"},{"lineNumber":318,"author":{"gitId":"-"},"content":" exercises.md"},{"lineNumber":319,"author":{"gitId":"-"},"content":" book.md"},{"lineNumber":320,"author":{"gitId":"-"},"content":"\u003c/tree\u003e"},{"lineNumber":321,"author":{"gitId":"-"},"content":"The `book.md`:"},{"lineNumber":322,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":323,"author":{"gitId":"-"},"content":"# My Book"},{"lineNumber":324,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter1/chapter.md\" /\u003e"},{"lineNumber":325,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter2/chapter.md\" /\u003e"},{"lineNumber":326,"author":{"gitId":"-"},"content":"```"},{"lineNumber":327,"author":{"gitId":"-"},"content":"The `chapter1/chapter.md`:"},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":330,"author":{"gitId":"-"},"content":"## Text"},{"lineNumber":331,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"text.md\" /\u003e"},{"lineNumber":332,"author":{"gitId":"-"},"content":"## Exercises"},{"lineNumber":333,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"exercises.md\" /\u003e"},{"lineNumber":334,"author":{"gitId":"-"},"content":"```"},{"lineNumber":335,"author":{"gitId":"-"},"content":"The `chapter2/chapter.md`:"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":338,"author":{"gitId":"-"},"content":"## Text"},{"lineNumber":339,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"text.md\" /\u003e"},{"lineNumber":340,"author":{"gitId":"-"},"content":"## Exercises"},{"lineNumber":341,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"exercises.md\" /\u003e"},{"lineNumber":342,"author":{"gitId":"-"},"content":"```"},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":"As you can see, both `chapter.md` files are exactly the same. If we were to use only one of the `chapter.md` files and `\u003cinclude\u003e` it twice in the `book.md`, we\u0027ll end up with the same chapter content duplicated twice, which is not what we want. In other words, `chapter.md` contains boilerplate code that needs to be interpreted relative to where it is applied, once relative to `chapter1` directory and once relative to `chapter2` directory."},{"lineNumber":345,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":"To use a code fragment as a boilerplate file,"},{"lineNumber":348,"author":{"gitId":"-"},"content":"1. Put the code in a file inside the `_markbind/boilerplates` directory."},{"lineNumber":349,"author":{"gitId":"-"},"content":"2. `\u003cinclude\u003e` the file _as if_ a copy of it exists in any directory you want it to applied, but add the `boilerplate` attribute to the `\u003cinclude\u003e` tag."},{"lineNumber":350,"author":{"gitId":"-"},"content":""},{"lineNumber":351,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":"{{ icon_example }} Here\u0027s how you can use a boilerplate file to avoid duplicating the `chapter.md`:"},{"lineNumber":354,"author":{"gitId":"-"},"content":"\u003ctree\u003e"},{"lineNumber":355,"author":{"gitId":"-"},"content":"C:/mySite/"},{"lineNumber":356,"author":{"gitId":"-"},"content":" _markbind/boilerplates/"},{"lineNumber":357,"author":{"gitId":"-"},"content":" chapter.md"},{"lineNumber":358,"author":{"gitId":"-"},"content":" chapter1/"},{"lineNumber":359,"author":{"gitId":"-"},"content":" text.md"},{"lineNumber":360,"author":{"gitId":"-"},"content":" exercises.md"},{"lineNumber":361,"author":{"gitId":"-"},"content":" chapter2/"},{"lineNumber":362,"author":{"gitId":"-"},"content":" text.md"},{"lineNumber":363,"author":{"gitId":"-"},"content":" exercises.md"},{"lineNumber":364,"author":{"gitId":"-"},"content":" book.md"},{"lineNumber":365,"author":{"gitId":"-"},"content":"\u003c/tree\u003e"},{"lineNumber":366,"author":{"gitId":"-"},"content":"The `book.md`:"},{"lineNumber":367,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":368,"author":{"gitId":"-"},"content":"# My Book"},{"lineNumber":369,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter1/chapter.md\" boilerplate /\u003e"},{"lineNumber":370,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter2/chapter.md\" boilerplate /\u003e"},{"lineNumber":371,"author":{"gitId":"-"},"content":"```"},{"lineNumber":372,"author":{"gitId":"-"},"content":"The `_markbind/boilerplates/chapter.md`:"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":375,"author":{"gitId":"-"},"content":"## Text"},{"lineNumber":376,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"text.md\" /\u003e"},{"lineNumber":377,"author":{"gitId":"-"},"content":"## Exercises"},{"lineNumber":378,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"exercises.md\" /\u003e"},{"lineNumber":379,"author":{"gitId":"-"},"content":"```"},{"lineNumber":380,"author":{"gitId":"-"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":"Consider the line `\u003cinclude src\u003d\"chapter1/chapter.md\" boilerplate /\u003e`. Note how you can use `src\u003d\"chapter1/chapter.md\"` even though there is no such file. MarkBind will use the `chapter.md` file from `/_markbind/boilerplates/` but interpret it as if the file exists in the `chapter1` directory (i.e., interpret the `chapter.md` code relative to the `chapter1` directory)."},{"lineNumber":382,"author":{"gitId":"-"},"content":""},{"lineNumber":383,"author":{"gitId":"-"},"content":"Similarly, `\u003cinclude src\u003d\"chapter2/chapter.md\" boilerplate /\u003e` interprets the `chapter.md` relative to the `chapter2` directory."},{"lineNumber":384,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":"If you have many boilerplate files, you can organize them into directories inside the `_markbind` directory. When using such boilerplate files, you need to replace `boilerplate` attribute with `boilerplate\u003d\"\u003cpath to file relative to _markbind/boilerplates\u003e\"`."},{"lineNumber":387,"author":{"gitId":"-"},"content":""},{"lineNumber":388,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":389,"author":{"gitId":"-"},"content":""},{"lineNumber":390,"author":{"gitId":"-"},"content":"{{ icon_example }} Suppose the `chapter.md` is places in a `book` directory:"},{"lineNumber":391,"author":{"gitId":"-"},"content":"\u003ctree\u003e"},{"lineNumber":392,"author":{"gitId":"-"},"content":"C:/mySite/"},{"lineNumber":393,"author":{"gitId":"-"},"content":" _markbind/boilerplates/"},{"lineNumber":394,"author":{"gitId":"-"},"content":" book/"},{"lineNumber":395,"author":{"gitId":"-"},"content":" chapter.md"},{"lineNumber":396,"author":{"gitId":"-"},"content":"\u003c/tree\u003e"},{"lineNumber":397,"author":{"gitId":"-"},"content":""},{"lineNumber":398,"author":{"gitId":"-"},"content":"It needs to be used as follows:"},{"lineNumber":399,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":400,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter1/chapter.md\" boilerplate\u003d\"book/chapter.md\" /\u003e"},{"lineNumber":401,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"chapter2/chapter.md\" boilerplate\u003d\"book/chapter.md\" /\u003e"},{"lineNumber":402,"author":{"gitId":"-"},"content":"```"},{"lineNumber":403,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":407,"author":{"gitId":"-"},"content":""},{"lineNumber":408,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":409,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"foo.md#bar\" boilerplate inline trim\u003e"},{"lineNumber":410,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"x\"\u003e5\u003c/variable\u003e"},{"lineNumber":411,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":412,"author":{"gitId":"-"},"content":"```"},{"lineNumber":413,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":25,"-":388}},{"path":"docs/userGuide/syntax/lists.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Lists"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"-"},"content":"****Unordered lists:****"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":"* Item 1"},{"lineNumber":10,"author":{"gitId":"-"},"content":" * Sub item 1.1"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Sub item 1.2\u003cbr\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" Second line"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Sub item 1.2.1"},{"lineNumber":14,"author":{"gitId":"-"},"content":"* Item 2"},{"lineNumber":15,"author":{"gitId":"-"},"content":"* Item 3"},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"****Customizing the Unordered list appearance:****"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"**To customize unordered lists\u0027 icons, add the configuration `{icon\u003d\"icon-name\"}` and/or `{text\u003d\"text\"}` after a specific list item.**"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":"* Item 1 { text\u003d\"Step 1 :+1:\" icon\u003d\"glyphicon-education\" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":"* Item 2 { text\u003d\"Step 2\" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * Item 2.1 { icon\u003d\"fas-file-code\" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Item 2.2"},{"lineNumber":30,"author":{"gitId":"-"},"content":"* Item 3 { text\u003d\"Step 3\" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * Item 3.1 "},{"lineNumber":32,"author":{"gitId":"-"},"content":"* Item 4 { text\u003d\"\\`PR`\" icon\u003d\"octicon-git-pull-request\" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Item 4.1 { icon\u003d\"mif-perm-media\" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":"* Item 5 { text\u003d\"Step 5\" icon\u003d\"glyphicon-education\" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * Item 5.1 { icon\u003d\"notebook_with_decorative_cover\" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003c/variable\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":"**You can also use `{texts\u003d\"[\u0027text1\u0027, \u0027text2\u0027, \u0027text3\u0027]\"}` syntax to add text customisation to a level quickly**"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":"* Item 1 { texts\u003d\"[\u0027(a)\u0027,\u0027(b)\u0027,\u0027(c)\u0027,\u0027(d)\u0027]\" }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" * sub level not applied as per norm"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":"* Item 2"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":"* You can override once like this { text\u003d\"OverrideOnce\" once\u003dtrue }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":"* Item 3"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":"* Item 4"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":"* Last text config will be applied when the list length exceeds texts"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":"* Another last text"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":"* You can override like this { text\u003d\"OVERRIDE\" }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":"* Another overrided text"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \u003c/variable\u003e"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":"\u003c/include\u003e"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":"\u003cbox type\u003dwarning seamless\u003e"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":"Please be alerted that when using the `{texts\u003d\"[\u0027text1\u0027, \u0027text2\u0027, \u0027text3\u0027]\"}` syntax, you need to have`\"\"` outside the array, and use `\u0027\u0027` for the string inside the array."},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":"\u003cpanel header\u003d\"Notes on having single quote `\u0027` inside text\" minimized\u003e"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":"If you want to use `\u0027` in you text icon, you need to escape it with double escape sequence. "},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":"1. Text-icons of lists can use double escape to include quote test"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":"* item 1 { texts\u003d\"[\u0027\\\\\u0027a\\\\\u0027\u0027,\u0027\\\\\u0027b\\\\\u0027\u0027,\u0027\\\\\u0027c\\\\\u0027\u0027]\" }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":"* item 1"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":"* item 1"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \u003c/variable\u003e"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":"\u003c/include\u003e"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":"\u003c/panel\u003e"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"\u003cbox type\u003dinfo seamless\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":"Customization will be carried over to the other items within the **same level of the list**."},{"lineNumber":81,"author":{"gitId":"-"},"content":"Example: "},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":"* Item 1 { icon\u003d\"glyphicon-education\" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":" * Item 1.1"},{"lineNumber":87,"author":{"gitId":"-"},"content":"* Item 2 "},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003c/variable\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"The customised icon appears for Item 2 but not for Item 1.1."},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":"Hence, if you customize any item on a certain level, you must also **customize the first item on that level**. If not, the list will revert to its uncustomized form."},{"lineNumber":94,"author":{"gitId":"-"},"content":"If you wish to remove the customization from the following levels, you can set `text` and/or `icon` to be an empty string `\"\"`. "},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"Example:"},{"lineNumber":97,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":"* Item 1 { icon\u003d\"glyphicon-education\" text\u003d\"Only for this bullet\" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":"* Item 2 { icon\u003d\"\" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003c/variable\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" \u003c/include\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"You can use any of the [icons](../formattingContents.html#icons) supported by MarkBind. If an item has a specified icon, that icon will be used for it and for subsequent items at that level."},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"Markdown can also be used in texts."},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":"\u003cbox type\u003dwarning seamless\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":"You may need to add escape characters when using special characters for Markdown in text. "},{"lineNumber":112,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"KevinEyo1"},"content":"**You can add an icon or text that only applies to a specific item by using the `once` attribute.**"},{"lineNumber":115,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":116,"author":{"gitId":"KevinEyo1"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":117,"author":{"gitId":"KevinEyo1"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":118,"author":{"gitId":"KevinEyo1"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":119,"author":{"gitId":"KevinEyo1"},"content":"* Item 1 { icon\u003d\"glyphicon-education\" }"},{"lineNumber":120,"author":{"gitId":"KevinEyo1"},"content":"* Item 2 { icon\u003d\"fas-code-branch\" once\u003dtrue }"},{"lineNumber":121,"author":{"gitId":"KevinEyo1"},"content":" * Item 2.1"},{"lineNumber":122,"author":{"gitId":"KevinEyo1"},"content":" * Item 2.2"},{"lineNumber":123,"author":{"gitId":"KevinEyo1"},"content":"* Item 3"},{"lineNumber":124,"author":{"gitId":"KevinEyo1"},"content":" \u003c/variable\u003e"},{"lineNumber":125,"author":{"gitId":"KevinEyo1"},"content":"\u003c/include\u003e"},{"lineNumber":126,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":127,"author":{"gitId":"KevinEyo1"},"content":"Subsequent items at the same level will not inherit icons or texts with the `once` attribute and will instead inherit the icons or texts before it."},{"lineNumber":128,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":129,"author":{"gitId":"KevinEyo1"},"content":"The `once` attribute also applies to all other attributes such as `i-size` and `t-size` as seen below."},{"lineNumber":130,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":131,"author":{"gitId":"KevinEyo1"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":132,"author":{"gitId":"KevinEyo1"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":133,"author":{"gitId":"KevinEyo1"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":134,"author":{"gitId":"KevinEyo1"},"content":"* Item 1 { icon\u003d\"glyphicon-education\" i-size\u003d\"40px\" i-class\u003d\"text-primary\" }"},{"lineNumber":135,"author":{"gitId":"KevinEyo1"},"content":"* Item 2 { i-size\u003d\"25px\" once\u003dtrue }"},{"lineNumber":136,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item 2.1"},{"lineNumber":137,"author":{"gitId":"KevinEyo1"},"content":"* Item 3"},{"lineNumber":138,"author":{"gitId":"KevinEyo1"},"content":" \u003c/variable\u003e"},{"lineNumber":139,"author":{"gitId":"KevinEyo1"},"content":"\u003c/include\u003e"},{"lineNumber":140,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":"**You can adjust the icon and text\u0027s size by using the `i-size` and `t-size` attribute respectively.**"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"* Item 1 { icon\u003d\"fas-file-code\" i-size\u003d\"35px\" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":"* Item 2 { icon\u003d\"fas-file-code\" i-size\u003d\"4rem\" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":"* Item 3 { icon\u003d\"fas-file-code\" i-size\u003d\"5em\" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":"* Item 1 { text\u003d\"Step 1\" t-size\u003d\"35px\" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":"* Item 2 { text\u003d\"Step 2\" t-size\u003d\"4rem\" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":"* Item 3 { text\u003d\"Step 3\" t-size\u003d\"5em\" }"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":163,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":"You can utilize any [CSS size unit](https://www.w3schools.com/cssref/css_units.php)."},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":"**You can also use images as icons.**"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"* Item 1 { icon\u003d\"/images/deer.jpg\" i-width\u003d\"30px\" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":"* Item 2 { i-width\u003d\"60px\" i-height\u003d\"44px\" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":"* Item 3 { i-width\u003d\"90px\" i-height\u003d\"61px\" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":178,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":"If either the `i-width` or the `i-height` of an image is not specified, the unspecified dimension will adjust to maintain the image\u0027s original aspect ratio. For example, for an image of size 800x600 (4:3), if `i-width` is set to 400px, its height will be 300px."},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":"**The icon and text\u0027s appearance can be further customized by adding a `i-class` and `t-class` attribute respectively.**"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example-markbind\"\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":"* Item 1 { icon\u003d\"/images/deer.jpg\" text\u003d\"Deer\" i-width\u003d\"60px\" height\u003d\"17px\" i-class\u003d\"rounded\" t-class\u003d\"text-warning my-2\" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":"* Item 2 { t-class\u003d\"text-info my-2\" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":" * Item 2.1 { icon\u003d\"fas-question-circle\" i-class\u003d\"badge rounded-pill my-1 bg-success text-white\" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":" * Item 2.2"},{"lineNumber":193,"author":{"gitId":"-"},"content":" * Item 2.3 { i-class\u003d\"badge rounded-pill my-1 bg-primary text-white\"}"},{"lineNumber":194,"author":{"gitId":"-"},"content":"* Item 3 { t-class\u003d\"text-primary my-2\" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":" * Item 3.1 "},{"lineNumber":196,"author":{"gitId":"-"},"content":" * Item 3.2 { icon\u003d\"fas-question-circle\" i-class\u003d\"badge rounded my-1 bg-danger text-white\" }"},{"lineNumber":197,"author":{"gitId":"-"},"content":" * Item 3.3 "},{"lineNumber":198,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":199,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":200,"author":{"gitId":"-"},"content":" "},{"lineNumber":201,"author":{"gitId":"-"},"content":"**The spacing between the icon and the content can be customized by using a `i-spacing` attribute.**"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":204,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":205,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":206,"author":{"gitId":"-"},"content":"* Item 1 { icon\u003d\"+1\" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":"* Item 2 { i-spacing\u003d\"1rem\" }"},{"lineNumber":208,"author":{"gitId":"-"},"content":"* Item 3 { i-spacing\u003d\"2rem\" }"},{"lineNumber":209,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":210,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":"\u003cbox type\u003dtip seamless\u003e"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":"Similar to the `icon` and `text` attribute, other icon attributes such as `i-class`, `i-width`, `i-height`, `i-spacing`, `t-size` and `t-class` apply for subsequent list items at the same level, until they are overridden by the same attribute. For example, Item 2.3\u0027s `i-class` overrides Item 2.1\u0027s and applies up to Item 3.1."},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":"**The spacing between the icon and the content can be customized by using a `i-spacing` attribute.**"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":223,"author":{"gitId":"-"},"content":"* Item 1 { icon\u003d\"+1\" text\u003d\"Yay\" }"},{"lineNumber":224,"author":{"gitId":"-"},"content":"* Item 2 { i-spacing\u003d\"1rem\" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":"* Item 3 { i-spacing\u003d\"2rem\" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":227,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":"**You can apply Markdown\u0027s heading and paragraph syntax within the list.**"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":235,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":236,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":"* #### Heading 1: Overview {icon\u003d\"/images/overview-d.png\" i-width\u003d\"65px\" i-class\u003d\"rounded\" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":" Content 1: This section provides a summary of the document or topic. "},{"lineNumber":240,"author":{"gitId":"-"},"content":" It sets the context and purpose of the content to follow."},{"lineNumber":241,"author":{"gitId":"-"},"content":"* #### Heading 2: Detailed Description { icon\u003d\"/images/detailed-d.png\" i-width\u003d\"65px\" i-class\u003d\"rounded\" }"},{"lineNumber":242,"author":{"gitId":"-"},"content":" Content 2: This section delves deeper into the topic, offering comprehensive information and detailed explanations."},{"lineNumber":243,"author":{"gitId":"-"},"content":" It might also include evidence, examples, or justifications."},{"lineNumber":244,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":245,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":"Icon specifications should be attached only to the first element of a list item (for the example above, the icon specification should be attached to the heading, not the content below the heading)."},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":"****Ordered lists:****"},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":253,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":254,"author":{"gitId":"-"},"content":"1. Item 1"},{"lineNumber":255,"author":{"gitId":"-"},"content":" 1. Sub item 1.1"},{"lineNumber":256,"author":{"gitId":"-"},"content":" 2. Sub item 1.2"},{"lineNumber":257,"author":{"gitId":"-"},"content":"2. Item 2"},{"lineNumber":258,"author":{"gitId":"-"},"content":"3. Item 3"},{"lineNumber":259,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":263,"author":{"gitId":"-"},"content":"You can also start an ordered list at a particular number by changing the"},{"lineNumber":264,"author":{"gitId":"-"},"content":"\u003cpopover\u003e"},{"lineNumber":265,"author":{"gitId":"-"},"content":"first number"},{"lineNumber":266,"author":{"gitId":"-"},"content":"\u003ctemplate slot\u003d\"content\"\u003e"},{"lineNumber":267,"author":{"gitId":"-"},"content":"\u003cdiv style\u003d\"text-align: center; margin-bottom: 5px;\"\u003e{{ icon_example }}\u003c/div\u003e"},{"lineNumber":268,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputSeparate.md\" boilerplate\u003e"},{"lineNumber":269,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":270,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":271,"author":{"gitId":"-"},"content":"10. Item 1"},{"lineNumber":272,"author":{"gitId":"-"},"content":" 1. Sub item 1.1"},{"lineNumber":273,"author":{"gitId":"-"},"content":" 1. Sub item 1.2"},{"lineNumber":274,"author":{"gitId":"-"},"content":"1. Item 2"},{"lineNumber":275,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":276,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"output\"\u003e"},{"lineNumber":277,"author":{"gitId":"-"},"content":"10. Item 1"},{"lineNumber":278,"author":{"gitId":"-"},"content":" 1. Sub item 1.1"},{"lineNumber":279,"author":{"gitId":"-"},"content":" 1. Sub item 1.2"},{"lineNumber":280,"author":{"gitId":"-"},"content":"1. Item 2"},{"lineNumber":281,"author":{"gitId":"-"},"content":"{.ps-0 .ms-0}"},{"lineNumber":282,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":283,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":284,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":285,"author":{"gitId":"-"},"content":"\u003c/popover\u003e!"},{"lineNumber":286,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":"\u003csmall\u003eMore info on above list types: https://www.markdownguide.org/basic-syntax#lists\u003c/small\u003e"},{"lineNumber":289,"author":{"gitId":"-"},"content":""},{"lineNumber":290,"author":{"gitId":"-"},"content":"****Task lists**** (from GFMD):"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example-gfmd\"\u003e"},{"lineNumber":293,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":294,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":295,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":296,"author":{"gitId":"-"},"content":"- [ ] Item 1"},{"lineNumber":297,"author":{"gitId":"-"},"content":" - [ ] Sub item 1.1"},{"lineNumber":298,"author":{"gitId":"-"},"content":" - [x] Sub item 1.2"},{"lineNumber":299,"author":{"gitId":"-"},"content":"- [x] Item 2"},{"lineNumber":300,"author":{"gitId":"-"},"content":"- [ ] Item 3"},{"lineNumber":301,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":302,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":303,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":"****Radio-button lists:****"},{"lineNumber":307,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"main-example-markbind\"\u003e"},{"lineNumber":308,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":309,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003emarkdown\u003c/variable\u003e"},{"lineNumber":310,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":311,"author":{"gitId":"-"},"content":"- ( ) Item 1"},{"lineNumber":312,"author":{"gitId":"-"},"content":"- ( ) Item 2"},{"lineNumber":313,"author":{"gitId":"-"},"content":"- (x) Item 3"},{"lineNumber":314,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":315,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":316,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":"```markdown"},{"lineNumber":321,"author":{"gitId":"-"},"content":"1. Item 1"},{"lineNumber":322,"author":{"gitId":"-"},"content":" 1. Sub item 1.1"},{"lineNumber":323,"author":{"gitId":"-"},"content":" 1. Sub item 1.2"},{"lineNumber":324,"author":{"gitId":"-"},"content":"* Item 2"},{"lineNumber":325,"author":{"gitId":"-"},"content":" * item 2.1"},{"lineNumber":326,"author":{"gitId":"-"},"content":"- [ ] Item 3"},{"lineNumber":327,"author":{"gitId":"-"},"content":"- [x] Item 4"},{"lineNumber":328,"author":{"gitId":"-"},"content":"- ( ) Item 5"},{"lineNumber":329,"author":{"gitId":"-"},"content":"```"},{"lineNumber":330,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":331,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":332,"author":{"gitId":"-"},"content":""},{"lineNumber":333,"author":{"gitId":"-"},"content":"1. Item 1"},{"lineNumber":334,"author":{"gitId":"-"},"content":" 1. Sub item 1.1"},{"lineNumber":335,"author":{"gitId":"-"},"content":" 1. Sub item 1.2"},{"lineNumber":336,"author":{"gitId":"-"},"content":"* Item 2"},{"lineNumber":337,"author":{"gitId":"-"},"content":" * item 2.1"},{"lineNumber":338,"author":{"gitId":"-"},"content":"- [ ] Item 3"},{"lineNumber":339,"author":{"gitId":"-"},"content":"- [x] Item 4"},{"lineNumber":340,"author":{"gitId":"-"},"content":"- ( ) Item 5"},{"lineNumber":341,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"KevinEyo1":27,"-":275,"yiwen101":39}},{"path":"docs/userGuide/syntax/navBars.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Navbars"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"**Navbar allows visitors of your website to navigate through pages easily.**"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"**Navbars support link highlighting; link highlighting can be customised by specifying rules.**"},{"lineNumber":6,"author":{"gitId":"-"},"content":"- Define `default-highlight-on` in `\u003cnavbar\u003e` to specify fallback highlight rules."},{"lineNumber":7,"author":{"gitId":"-"},"content":"- Define `data-highlight` in `\u003ca\u003e` tags with the class `nav-link` or `dropdown-item` to specify individual highlight rules."},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003cmarkdown\u003e"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"Note: **Navbars** should be placed within a [header file]({{ baseUrl }}/userGuide/tweakingThePageStructure.html#sticking-the-header-to-the-top) to ensure that they are correctly positioned at the top of the page, above the [site navigation]({{ baseUrl }}/userGuide/tweakingThePageStructure.html#constructing-a-page-navigation-menu) and [page navigation]({{ baseUrl }}/userGuide/tweakingThePageStructure.html#constructing-a-page-navigation-menu) menus."},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003c/markdown\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003cnavbar type\u003d\"primary\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003c!-- Brand as slot --\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c!-- You can use dropdown component --\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cdropdown header\u003d\"Dropdown\" class\u003d\"nav-link\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"#navbars\" class\u003d\"dropdown-item\"\u003eOption\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003c/dropdown\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003c!-- For right positioning use slot --\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eFork...\u003c/a\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cnavbar type\u003d\"dark\"\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003c!-- Brand as slot --\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003c!-- You can use dropdown component --\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cdropdown header\u003d\"Dropdown\" class\u003d\"nav-link\"\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"#navbars\" class\u003d\"dropdown-item\"\u003eOption\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003c/dropdown\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003c!-- For right positioning use slot --\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eFork...\u003c/a\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003cnavbar type\u003d\"light\"\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003c!-- Brand as slot --\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003c!-- You can use dropdown component --\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003cdropdown header\u003d\"Dropdown\" class\u003d\"nav-link\"\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"#navbars\" class\u003d\"dropdown-item\"\u003eOption\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003c/dropdown\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003c!-- For right positioning use slot --\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eFork...\u003c/a\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":"****Options****"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":65,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":66,"author":{"gitId":"-"},"content":"type | `String` | `primary` | Supports: `primary`, `dark`, `light`, `none`."},{"lineNumber":67,"author":{"gitId":"-"},"content":"default-highlight-on | `String` | `sibling-or-child` | Supports: `sibling-or-child`, `sibling`, `child`, `exact`, `none`. Specifies link highlight rules for navbars."},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"If you wish to further customize your navbar beyond the primary, dark, and light theme colors, specify the `type\u003d\"none\"` attribute and insert your own custom styles via the `add-class` attribute. You can \u003ctrigger trigger\u003d\"click\" for\u003d\"modal:built-in-bg\"\u003euse built-in background styles\u003c/trigger\u003e or [insert your own defined CSS classes](/userGuide/components/advanced.md#inserting-custom-classes-into-components)."},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":"\u003cmodal header\u003d\"Built-in background styles\" id\u003d\"modal:built-in-bg\"\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003cmd\u003eFor instance, Bootstrap supports `.bg-danger`, `bg-info`, `bg-primary`, `bg-success`, `bg-warning` as background colors.\u003c/md\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":"\u003cmd\u003eIn `{your-site}/_markbind/headers/header.md`, you can change `\u003cnavbar type\u003d\"dark/primary/light\"\u003e` to `\u003cnavbar type\u003d\"none\" add-class\u003d\"bg-warning/danger/info/primary/success\"\u003e` to apply Bootstrap background styles.\u003c/md\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":"\u003c/modal\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":"****Navbar Link Highlighting****"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":83,"author":{"gitId":"-"},"content":"{% include \"_markbind/layouts/headers/header.md\" %}"},{"lineNumber":84,"author":{"gitId":"-"},"content":"```"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":"****Highlight Options****"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"Name | Description"},{"lineNumber":89,"author":{"gitId":"-"},"content":"--- | ---"},{"lineNumber":90,"author":{"gitId":"-"},"content":"`child` | Highlights link if URL in address bar is a child of the link. E.g `foo/bar` is a child of `foo`."},{"lineNumber":91,"author":{"gitId":"-"},"content":"`sibling` | Highlights link if URL in address bar is a sibling of the link. E.g `foo/bar` and `foo/bear` are siblings."},{"lineNumber":92,"author":{"gitId":"-"},"content":"`sibling-or-child` | Highlights link if URL in address bar is a sibling or child of the link."},{"lineNumber":93,"author":{"gitId":"-"},"content":"`exact` | Highlights link if URL in address bar exactly matches link."},{"lineNumber":94,"author":{"gitId":"-"},"content":"`none` | No highlighting."},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cnavbar type\u003d\"primary\"\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" \u003c!-- Brand as slot --\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" \u003c!-- You can use dropdown component --\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003cdropdown header\u003d\"Dropdown\" class\u003d\"nav-link\"\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"#navbars\" class\u003d\"dropdown-item\"\u003eOption\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003c/dropdown\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" \u003c!-- For right positioning use slot --\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eFork...\u003c/a\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":"```"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":"\u003cnavbar type\u003d\"primary\"\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":" \u003c!-- Brand as slot --\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":" \u003c!-- You can use dropdown component --\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":" \u003cdropdown header\u003d\"Dropdown\" class\u003d\"nav-link\"\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"#navbars\" class\u003d\"dropdown-item\"\u003eOption\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" \u003c/dropdown\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003c!-- For right positioning use slot --\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eFork...\u003c/a\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003cnavbar type\u003d\"dark\"\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":" \u003c!-- Brand as slot --\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":" \u003c!-- You can use dropdown component --\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":" \u003cdropdown header\u003d\"Dropdown\" class\u003d\"nav-link\"\u003e"},{"lineNumber":138,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"#navbars\" class\u003d\"dropdown-item\"\u003eOption\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":" \u003c/dropdown\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":" \u003c!-- For right positioning use slot --\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eFork...\u003c/a\u003e"},{"lineNumber":143,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":"\u003cnavbar type\u003d\"light\"\u003e"},{"lineNumber":147,"author":{"gitId":"-"},"content":" \u003c!-- Brand as slot --\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":" \u003c!-- You can use dropdown component --\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":" \u003cdropdown header\u003d\"Dropdown\" class\u003d\"nav-link\"\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"#navbars\" class\u003d\"dropdown-item\"\u003eOption\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":" \u003c/dropdown\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":" \u003c!-- For right positioning use slot --\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003eFork...\u003c/a\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":"****Mobile page and site navigation menus****"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":"The navbar component also provides access to MarkBind\u0027s [site navigation]({{ baseUrl }}/userGuide/components/navigation.html#site-navigation-menus) and [page navigation]({{ baseUrl }}/userGuide/components/navigation.html#page-navigation-menus) menu **components** if used in the page\u0027s [layout](../tweakingThePageStructure.md#layouts). No additional setup is required!"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":"If you are viewing the documentation on a larger device, resize the window to see what it looks like."},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":"Alternatively, if you want to display \u003ctooltip content\u003d\"e.g. adding an image to the site nav\"\u003eadditional content\u003c/tooltip\u003e in these navigation menus, the navbar is also able to \"pull in\" any **container element** with a HTML `id` of `\"site-nav\"` or `\"page-nav\"`. You may refer to the [layouts](../tweakingThePageStructure.md#layouts) section for an example."},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":"The navbar component auto-detects if the MarkBind\u0027s navigation components or your element containers has any \u003ctooltip content\u003d\"`\u003ca\u003e` tags in particular\"\u003elinks\u003c/tooltip\u003e.\u003cbr\u003e"},{"lineNumber":173,"author":{"gitId":"-"},"content":"If absent, the navigation buttons to open the menus are _automatically hidden_."},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":"****Mobile navigation menu button placement****"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":"If you wish to alter the button placement on the navbar, you may use the `\u003csite-nav-button /\u003e` and `\u003cpage-nav-button /\u003e` components in the `lower-navbar` slot."},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":"By default, if the `lower-navbar` slot is not specified, the site and page navigation buttons are simply placed as such."},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":183,"author":{"gitId":"-"},"content":"\u003cnavbar\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":" \u003c!-- Any normal navbar items --\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"/\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eMarkBind\u003c/a\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"/userGuide/components/navigation.html#navbars\" class\u003d\"nav-link\"\u003eHighlighted Link\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":" \u003c!-- Use slot to wrap the buttons in the lower navbar --\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"lower-navbar\" class\u003d\"nav-menu-container\"\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":" \u003csite-nav-button /\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":" \u003cpage-nav-button /\u003e"},{"lineNumber":191,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":192,"author":{"gitId":"-"},"content":"\u003c/navbar\u003e"},{"lineNumber":193,"author":{"gitId":"-"},"content":"```"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":"Component | Description"},{"lineNumber":196,"author":{"gitId":"-"},"content":"--- | ---"},{"lineNumber":197,"author":{"gitId":"-"},"content":"`page-nav-button` | Pulls any element with an identifier, `id\u003dpage-nav` into the menu. If no such element exists, it pulls any [page navigation menu]({{ baseUrl }}/userGuide/components/navigation.html#page-navigation-menus) used in the layout."},{"lineNumber":198,"author":{"gitId":"-"},"content":"`site-nav-button` | Pulls any element with an identifier, `id\u003dsite-nav` into the menu. If no such element exists, it pulls all [site navigation menu components]({{ baseUrl }}/userGuide/components/navigation.html#site-navigation-menus) used in the layout."},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":"****Styling the mobile page and site navigation menus****"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":"You may also wish to style your navigation content differently on mobile view."},{"lineNumber":203,"author":{"gitId":"-"},"content":"By default, MarkBind already provides some reasonable overrides for smaller screens, applied over any styles you might have for the mobile navigation content identified above."},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":"```css {heading\u003d\"CSS class attached to the root navigation element\"}"},{"lineNumber":206,"author":{"gitId":"-"},"content":".mb-mobile-nav {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" display: block !important;"},{"lineNumber":208,"author":{"gitId":"-"},"content":" margin: 0 !important;"},{"lineNumber":209,"author":{"gitId":"-"},"content":" border: none !important;"},{"lineNumber":210,"author":{"gitId":"-"},"content":" padding: 10px !important;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" width: 100% !important;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" max-width: 100% !important;"},{"lineNumber":213,"author":{"gitId":"-"},"content":"}"},{"lineNumber":214,"author":{"gitId":"-"},"content":"```"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":"If you require greater customisation, you may simply compose the respective selectors with the `.mb-mobile-nav` element."},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":"{{ icon_example }}"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"```css {heading\u003d\"\"}"},{"lineNumber":221,"author":{"gitId":"-"},"content":"#site-nav.mb-mobile-nav {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" /* Be sure to add the !important css rule when overriding .mb-mobile-nav\u0027s properties! */"},{"lineNumber":223,"author":{"gitId":"-"},"content":" border: 1px solid black !important;"},{"lineNumber":224,"author":{"gitId":"-"},"content":" /* For other properties, there is no need. */"},{"lineNumber":225,"author":{"gitId":"-"},"content":" color: red;"},{"lineNumber":226,"author":{"gitId":"-"},"content":"}"},{"lineNumber":227,"author":{"gitId":"-"},"content":"```"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":"Refer to the [layouts](../tweakingThePageStructure.md) section to find out how to add custom CSS files to a page!"},{"lineNumber":232,"author":{"gitId":"-"},"content":"\u003c/box\u003e"}],"authorContributionMap":{"-":231,"yiwen101":1}},{"path":"docs/userGuide/syntax/pageNavigationMenus.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Page Navigation Menus"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"keyword d-none\"\u003eprint page nav as table of content\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"content\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"**A _Page Navigation Menu_ (\u003d\u003d_pageNav_ for short\u003d\u003d) displays a list of the current page\u0027s headings.** Page navigation menus are typically configured in [layouts]({{baseUrl}}/userGuide/tweakingThePageStructure.html#layouts), but can also be utilized in individual pages."},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"****Adding a pageNav****"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"1. **Specify the smallest heading level you want to be included** within the `\u003cfrontmatter\u003e` of a page with \u003ctooltip content\u003d\"The value `default` will use `headingIndexingLevel` within `site.json`.\"\u003e`\"default\"`\u003c/tooltip\u003e or a \u003ctooltip content\u003d\"HTML defines six levels of headings, numbered from \u003cbr\u003e`1 to 6`.\"\u003e`heading level`\u003c/tooltip\u003e."},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" The `default` level uses the [`headingIndexingLevel` property]({{baseUrl}}/userGuide/siteJsonFile.html#headingindexinglevel) of your site configuration file."},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003c/box\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"2. **(Optional) You may also specify a page navigation title** within `\u003cfrontmatter\u003e` that will be placed at the top of the page navigation menu."},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"3. **Position the page navigation menu** within your layout using the `\u003cpage-nav /\u003e` component."},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"4. **(Optional) To make pageNav accessible on smaller screens, you can use the `\u003cpage-nav-button /\u003e` component in the [navbar]({{baseUrl}}/userGuide/components/navigation.html#navbars).**"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"5. **(Optional) To make pageNav available on print, you can position the page navigation menu on individual pages with the `\u003cpage-nav-print /\u003e` component.**"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Additional details on printing pageNav**\" type\u003d\"seamless\" class\u003d\"ms-4\" expanded\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"You can specify the location of the page navigation menu on print by using either of the following syntaxes:"},{"lineNumber":29,"author":{"gitId":"-"},"content":"- `\u003cpage-nav-print /\u003e`"},{"lineNumber":30,"author":{"gitId":"-"},"content":"- `\u003cpage-nav-print\u003e\u003c/page-nav-print\u003e`"},{"lineNumber":31,"author":{"gitId":"-"},"content":" - This is useful if you want to include a custom title (or any other content) before the page navigation menu. For example, `\u003cpage-nav-print\u003eTable of Contents\u003c/page-nav-print\u003e`"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"You can specify multiple `\u003cpage-nav-print /\u003e` components in a page and they do not have to be at the top of the page. They also do not appear when viewed on a browser."},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"{{ icon_example }}"},{"lineNumber":36,"author":{"gitId":"-"},"content":"In the page that you want to have page navigation printed (i.e. to serve as a table of content when viewed on PDFs), use the `\u003cpage-nav-print /\u003e` component to position the pageNav like so:"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"indented\"\u003e"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" pageNav: 2"},{"lineNumber":43,"author":{"gitId":"-"},"content":" pageNavTitle: \"Chapters of This Page\""},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003cpage-nav-print /\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"# Overview"},{"lineNumber":49,"author":{"gitId":"-"},"content":"Content of the page..."},{"lineNumber":50,"author":{"gitId":"-"},"content":"```"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"To view the pageNav on print, open the print preview of the page using the browser\u0027s print function."},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"If you are using Chrome, you can right-click on the page and select \"Print\" to open the print preview."},{"lineNumber":59,"author":{"gitId":"-"},"content":"You can try it out by going to our [CLI Commands page]({{baseUrl}}/userGuide/cliCommands.html) and printing it."},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":"You can see an example of a Page Navigation Bar \u003d\u003don the right side\u003d\u003d of \u003ca target\u003d\"_blank\" href\u003d\"{{ baseUrl }}/userGuide/formattingContents.html\"\u003ethis page\u003c/a\u003e."},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":4,"KevinEyo1":1,"-":64}},{"path":"docs/userGuide/syntax/panels.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% from \"userGuide/components/advanced.md\" import slot_info_trigger %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"## Panels"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"**Panel is a flexible container that supports collapsing and expanding its content. It is expandable by default.**"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"This is your header for a Panel, click me to expand!\"\u003e"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"\u003cmarkdown\u003e_markdown_\u003c/markdown\u003e"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"plain text ..."},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"**With `minimized` attribute, panel is minimized into an inline block element. The `alt` attribute is for you to specify the minimized block header.**"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"How to cultivate a tomato plant at home\" alt\u003d\"Tomatoes\" minimized\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" Lorem ipsum ..."},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"**With `expanded` attribute, you can set the panels to be expanded when loaded in.**"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Have your readers click less to see the Panel\u0027s contents\" expanded\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" Lorem ipsum ..."},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"**With the `expand-headerless` attribute, you can hide the panel header when it is expanded.**"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"This header will only show when the Panel is collapsed\" expand-headerless\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" Lorem ipsum ..."},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"**With the `peek` attribute, you may showcase part of your content without expanding the panel.**"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Give your readers a peek of the content without expanding Panel\" peek\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore"},{"lineNumber":57,"author":{"gitId":"-"},"content":" magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo"},{"lineNumber":58,"author":{"gitId":"-"},"content":" consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."},{"lineNumber":59,"author":{"gitId":"-"},"content":" Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."},{"lineNumber":60,"author":{"gitId":"-"},"content":" Curabitur ornare ipsum eu ex congue egestas. Maecenas pretium nibh sed enim ornare finibus. Mauris quis metus "},{"lineNumber":61,"author":{"gitId":"-"},"content":" facilisis, mattis tellus nec, pulvinar mi. Quisque at vehicula lectus. Ut ac lacus mi. Donec mattis nec velit "},{"lineNumber":62,"author":{"gitId":"-"},"content":" eget tincidunt. Maecenas vel mauris mattis nisl tempor sollicitudin. Orci varius natoque penatibus et magnis "},{"lineNumber":63,"author":{"gitId":"-"},"content":" dis parturient montes, nascetur ridiculus mus. Duis tincidunt diam eu dolor pellentesque, eget dignissim tortor "},{"lineNumber":64,"author":{"gitId":"-"},"content":" pellentesque. "},{"lineNumber":65,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":"**Panel provides many types that change its appearance.**"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**light type panel (DEFAULT)**\" type\u003d\"light\" minimized\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**dark type panel**\" type\u003d\"dark\" minimized\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**primary type panel**\" type\u003d\"primary\" minimized\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**secondary type panel**\" type\u003d\"secondary\" minimized\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**info type panel**\" type\u003d\"info\" minimized\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**danger type panel**\" type\u003d\"danger\" minimized\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":91,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**warning type panel**\" type\u003d\"warning\" minimized\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":94,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**success type panel**\" type\u003d\"success\" minimized\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":97,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**seamless type panel**\" type\u003d\"seamless\" minimized\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":100,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**minimal type panel**\" type\u003d\"minimal\" minimized\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":103,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"jingting1412"},"content":"\u003cbox background-color\u003d\"#C51E3A\" color\u003d\"white\"\u003e"},{"lineNumber":108,"author":{"gitId":"jingting1412"},"content":" "},{"lineNumber":109,"author":{"gitId":"jingting1412"},"content":" :bulb: Seamless panels inherit the background colour and text colour of any parents!"},{"lineNumber":110,"author":{"gitId":"jingting1412"},"content":" \u003cbr/\u003e"},{"lineNumber":111,"author":{"gitId":"jingting1412"},"content":" \u003cpanel type\u003d\"seamless\" header\u003d\"This is an example seamless panel\"\u003e"},{"lineNumber":112,"author":{"gitId":"jingting1412"},"content":" This is its content."},{"lineNumber":113,"author":{"gitId":"jingting1412"},"content":" \u003c/panel\u003e"},{"lineNumber":114,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":"**Show/Hide buttons using `no-switch`, `no-close`, or `no-minimized-switch`.**"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**This minimized panel does not have a switch button**\" minimized no-minimized-switch\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":123,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"This panel does not have a switch button\" no-switch\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":126,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"This panel does not have a close button\" no-close\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":129,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"This panel does not have either buttons\" no-close no-switch\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":"**Use markdown in the header (only inline level markdown are supported).**"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Bold text** :rocket: ![](https://markbind.org/images/logo-lightbackground.png \u003dx20)\" type\u003d\"seamless\"\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":143,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"**If `src` attribute is provided, the panel will take content from the `src` specified and add it to the Panel body.**"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Content loaded in from \u0027src\u0027\" src\u003d\"extra/loadContent.html#fragment\" minimized\u003e\u003c/panel\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":"\u003cdiv id \u003d \"script_and_styles_warning\"\u003e"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":"\u003cbox type \u003d \"warning\" header \u003d \"#### Global Effects of the Script and Styles from the Imported Externals\"\u003e"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":"Importing external resources that contains `script` or `styles` can inadvertently take global effects on your MarkBind website. Due to hoisting during processing, imported scripts and stylesheets affect the entire page. This could potentially alter its appearance and behavior beyond the intended scope."},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":"For example, if a CSS file imported via such means styles headings to be red, this change will be reflected page-wide."},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":"To safeguard against unintended consequences, consider directly incorporating the code or customizing styles to target specific elements or classes not used universally. This approach grants more precise control over your website\u0027s presentation and reduces the risk of unexpected changes."},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":"\u003c/div\u003e"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":"**If `popup-url` attribute is provided, a popup button will be shown. If clicked, it opens the specified url in a new window.**"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":172,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Try clicking on my pop-up button\" popup-url\u003d\"{{ baseUrl }}/userGuide/syntax/extra/loadContent.html\"\u003e"},{"lineNumber":173,"author":{"gitId":"-"},"content":" This panel has a popup."},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":176,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"includes.md#baseUrl-warning\"/\u003e"},{"lineNumber":179,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":"**If `preload` attribute is provided, the panel body will load the HTML when the page renders instead of after being expanded.**"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":183,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Right click and inspect my HTML before expanding me!\" src\u003d\"extra/loadContent.html#fragment\" preload\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \u003cp\u003eYou should be able to find this text before expanding the Panel.\u003c/p\u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"**You can nest Panels or other components within a Panel.**"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":194,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":195,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":196,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Parent Panel\"\u003e"},{"lineNumber":197,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Level 1 Nested Panel\"\u003e"},{"lineNumber":198,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Level 2 Nested Panel\"\u003e"},{"lineNumber":199,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"success\"\u003e"},{"lineNumber":200,"author":{"gitId":"-"},"content":" I\u0027m a nested box"},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u003c/box\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Level 3 Nested Panel\" type\u003d\"minimal\"\u003e"},{"lineNumber":203,"author":{"gitId":"-"},"content":" minimal-type panel"},{"lineNumber":204,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":205,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":206,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Level 1 Nested Panel\" type\u003d\"info\"\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":" Some Text"},{"lineNumber":209,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":210,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":"****Options****"},{"lineNumber":215,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":216,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":217,"author":{"gitId":"-"},"content":"header{{slot_info_trigger}} | `String` | `\u0027\u0027` | The clickable text on the Panel\u0027s header. Supports MarkDown text."},{"lineNumber":218,"author":{"gitId":"-"},"content":"alt | `String` | Panel header | The clickable text on the minimised Panel. Supports MarkDown text."},{"lineNumber":219,"author":{"gitId":"-"},"content":"expandable | `Boolean`| `true` | Whether Panel is expandable."},{"lineNumber":220,"author":{"gitId":"-"},"content":"expanded | `Boolean` | `false` | Whether Panel is expanded or collapsed when loaded in."},{"lineNumber":221,"author":{"gitId":"-"},"content":"minimized | `Boolean` | `false` | Whether Panel is minimized."},{"lineNumber":222,"author":{"gitId":"-"},"content":"expand-headerless | `Boolean` | `false` | Whether to hide the header text when the Panel is expanded."},{"lineNumber":223,"author":{"gitId":"-"},"content":"peek | `Boolean` | `false` | Whether to show part of the content when the Panel is collapsed."},{"lineNumber":224,"author":{"gitId":"-"},"content":"no-close | `Boolean` | `false` | Whether to show the close button."},{"lineNumber":225,"author":{"gitId":"-"},"content":"no-switch | `Boolean` | `false` | Whether to show the expand switch."},{"lineNumber":226,"author":{"gitId":"-"},"content":"bottom-switch | `Boolean` | `true` | Whether to show an expand switch at the bottom of the panel. Independent of no-switch."},{"lineNumber":227,"author":{"gitId":"-"},"content":"popup-url | `String` | | The URL that the popup window will navigate to. The URL can be absolute or relative."},{"lineNumber":228,"author":{"gitId":"-"},"content":"preload | `Boolean` | `false` | Whether the content is loaded immediately from `src`."},{"lineNumber":229,"author":{"gitId":"-"},"content":"src | `String` | | The URL to the remote page to be loaded as the content of the panel."},{"lineNumber":230,"author":{"gitId":"-"},"content":"type | `String` | `light` | The type or color scheme of the panel (single).\u003cbr\u003eSupports: `light`, `dark`, `primary`, `secondary`, `info`, `success`, `warning`, `danger`, `seamless`, `minimal`."},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":235,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"primary type panel\" type\u003d\"primary\" \u003e"},{"lineNumber":236,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":237,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":238,"author":{"gitId":"-"},"content":"```"},{"lineNumber":239,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":242,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"minimal type panel\" type\u003d\"minimal\" \u003e"},{"lineNumber":243,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":244,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":245,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"seamless type panel\" type\u003d\"seamless\" \u003e"},{"lineNumber":246,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":247,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":248,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"info type panel\" type\u003d\"info\" expanded\u003e"},{"lineNumber":249,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":250,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":251,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"danger type panel\" type\u003d\"danger\" \u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":253,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":254,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"warning type panel\" type\u003d\"warning\" \u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":256,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":257,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"success type panel\" type\u003d\"success\" \u003e"},{"lineNumber":258,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":259,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":"\u003cp/\u003e"},{"lineNumber":261,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"light type panel (DEFAULT)\" type\u003d\"light\" minimized\u003e"},{"lineNumber":262,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":263,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"dark type panel\" type\u003d\"dark\" minimized\u003e"},{"lineNumber":265,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":266,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":267,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"primary type panel\" type\u003d\"primary\" minimized\u003e"},{"lineNumber":268,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":269,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":270,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"secondary type panel\" type\u003d\"secondary\" minimized\u003e"},{"lineNumber":271,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":272,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":10,"-":252,"yiwen101":13}},{"path":"docs/userGuide/syntax/pictures.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Pictures"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"**A `pic` component allows you to add captions below the image.**"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":8,"author":{"gitId":"LamJiuFong"},"content":"\u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" width\u003d\"300\" alt\u003d\"Logo\" lazy\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" MarkBind Logo"},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c/pic\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"****Options****"},{"lineNumber":15,"author":{"gitId":"-"},"content":"Name | Type | Default | Description "},{"lineNumber":16,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":17,"author":{"gitId":"-"},"content":"alt | `string` | | **This must be specified.**\u003cbr\u003eThe alternative text of the image."},{"lineNumber":18,"author":{"gitId":"-"},"content":"height | `string` | | The height of the image in pixels."},{"lineNumber":19,"author":{"gitId":"-"},"content":"src | `string` | | **This must be specified.**\u003cbr\u003eThe URL of the image.\u003cbr\u003eThe URL can be specified as absolute or relative references. More info in: _[Intra-Site Links]({{baseUrl}}/userGuide/formattingContents.html#intraSiteLinks)_"},{"lineNumber":20,"author":{"gitId":"-"},"content":"width | `string` | | The width of the image in pixels.\u003cbr\u003eIf both width and height are specified, width takes priority over height. It is to maintain the image\u0027s aspect ratio."},{"lineNumber":21,"author":{"gitId":"LamJiuFong"},"content":"lazy | `boolean` | false | The `\u003cpic\u003e` component lazy loads if this attribute is specified.\u003cbr\u003e**Either the height or width should be specified to avoid layout shifts while lazy loading images.**"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"If you want to display images that are automatically linked to its image URL, such that one can click on the image to view the full image, take a look at [MarkBind images]({{baseUrl}}/userGuide/formattingContents.html#images)."},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":32,"author":{"gitId":"LamJiuFong"},"content":"\u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" width\u003d\"300\" alt\u003d\"Logo\" lazy\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" MarkBind Logo"},{"lineNumber":34,"author":{"gitId":"-"},"content":"\u003c/pic\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":"```"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" width\u003d\"300\" alt\u003d\"Logo\"\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" MarkBind Logo"},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003c/pic\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"LamJiuFong":3,"KevinEyo1":5,"-":35}},{"path":"docs/userGuide/syntax/popovers.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% from \"userGuide/components/advanced.md\" import slot_info_trigger %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"## Popovers"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cpopover content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"top\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on top\u003c/button\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cpopover content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"left\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on left\u003c/button\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003cpopover content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"right\"\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on right\u003c/button\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cpopover content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"bottom\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on bottom\u003c/button\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003ch4 class\u003d\"no-index\"\u003eHeader\u003c/h4\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003cpopover header\u003d\"Header\" content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"top\"\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on top\u003c/button\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cpopover header\u003d\"Header\" content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"left\"\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on left\u003c/button\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003cpopover header\u003d\"Header\" content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"right\"\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on right\u003c/button\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cpopover header\u003d\"Header\" content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"bottom\"\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003ePopover on bottom\u003c/button\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":"\u003chr /\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003ch4 class\u003d\"no-index\"\u003eTrigger\u003c/h4\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cpopover header\u003d\"Header\" content\u003d\"Lorem ipsum dolor sit amet\" placement\u003d\"top\" trigger\u003d\"hover\"\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003eMouseenter\u003c/button\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003c/popover\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003ch4 class\u003d\"no-index\"\u003eMarkdown\u003c/h4\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003cpopover header\u003d\"**Emoji header** :rocket:\" content\u003d\"!!emoji!! content :cat:\"\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003eHover\u003c/button\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003c/popover\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003ch4 class\u003d\"no-index\"\u003eContent using slot\u003c/h4\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003cpopover header\u003d\"**Emoji header** :rocket:\"\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"content\"\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" This is a long content..."},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"btn btn-secondary\"\u003eHover\u003c/button\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003c/popover\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003ch4 class\u003d\"no-index\"\u003eContent using src\u003c/h4\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003cpopover header\u003d\"From a HTML file\" src\u003d\"{{ baseUrl }}/userGuide/syntax/extra/loadContent.html#fragment\"\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":" This is loaded from a .html file"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003c/popover\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003cpopover header\u003d\"From a MarkDown file\" src\u003d\"{{ baseUrl }}/userGuide/formattingContents.md#overview\"\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" This is loaded from a .md file"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003c/popover\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003ch4 class\u003d\"no-index\"\u003eWrap Text\u003c/h4\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u003cpopover header\u003d\"false\" content\u003d\"Nice!\"\u003eWhat do you say\u003c/popover\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"includes.md#baseUrl-warning\"/\u003e"},{"lineNumber":75,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"**Using trigger for Popover:**\u003cbr\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":"More about \u003ctrigger for\u003d\"pop:trigger_id\"\u003etrigger\u003c/trigger\u003e."},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003cpopover id\u003d\"pop:trigger_id\" content\u003d\"This popover is triggered by a trigger\"\u003e\u003c/popover\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":"This is the same \u003ctrigger for\u003d\"pop:trigger_id\"\u003etrigger\u003c/trigger\u003e as last one."},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"More about triggers\"\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"extra/triggers.md\" /\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":"****Options****"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"| Name | Type | Default | Description |"},{"lineNumber":97,"author":{"gitId":"-"},"content":"| ---------------------------- | -------- | ------------- | -------------------------------------------------------------------------------------------------------------------|"},{"lineNumber":98,"author":{"gitId":"-"},"content":"| trigger | `String` | `hover focus` | How the Popover is triggered.\u003cbr\u003eSupports: `click`, `focus`, `hover`, or any space-separated combination of these. |"},{"lineNumber":99,"author":{"gitId":"-"},"content":"| header{{slot_info_trigger}} | `String` | `\u0027\u0027` | Popover header, supports MarkDown text. |"},{"lineNumber":100,"author":{"gitId":"-"},"content":"| content{{slot_info_trigger}} | `String` | `\u0027\u0027` | Popover content, supports MarkDown text. |"},{"lineNumber":101,"author":{"gitId":"-"},"content":"| src | `String` | | The URL to the remote page to be loaded as the content of the popover.\u003cbr\u003eBoth `.md` and `.html` are accepted. |"},{"lineNumber":102,"author":{"gitId":"-"},"content":"| placement | `String` | `top` | How to position the Popover.\u003cbr\u003eSupports: `top`, `left`, `right`, `bottom`. |"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" light\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"MarkBind supports the `src` attribute, `content` attribute and `content` slot for popovers. "},{"lineNumber":107,"author":{"gitId":"-"},"content":"Usually, only one of these would be used at a time."},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":"If multiple of these are used, MarkBind will prioritise in the following order:"},{"lineNumber":110,"author":{"gitId":"-"},"content":" 1. `content` slot"},{"lineNumber":111,"author":{"gitId":"-"},"content":" 1. `content` attribute"},{"lineNumber":112,"author":{"gitId":"-"},"content":" 1. `src` attribute"},{"lineNumber":113,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":118,"author":{"gitId":"-"},"content":"Hover over the \u003ctrigger for\u003d\"pop:context-target\"\u003ekeyword\u003c/trigger\u003e to see the popover."},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":"\u003cpopover id\u003d\"pop:context-target\" header\u003d\"Popover header\" placement\u003d\"top\"\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":"\u003cdiv slot\u003d\"content\"\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"description :+1:"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":"```"},{"lineNumber":128,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":"Hover over the \u003ctrigger for\u003d\"pop:context-target\"\u003ekeyword\u003c/trigger\u003e to see the popover."},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"\u003cpopover id\u003d\"pop:context-target\" header\u003d\"Popover header\" placement\u003d\"top\"\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":"\u003cdiv slot\u003d\"content\"\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":"description :+1:"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":140,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":141,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":2,"-":139}},{"path":"docs/userGuide/syntax/questions.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% from \"userGuide/components/advanced.md\" import slot_info_trigger, slot_type_info_trigger %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"## Questions and Quizzes"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"Question and quiz components provide an easy way to test readers on the relevant content topic in the page. {.mt-3}"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"#### Introduction"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"Question components (`\u003cquestion\u003e`) can be one of the following types: **MCQ**, **Checkbox**, **Fill-in-the-Blanks**, or **Text**."},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"In all cases, content directly inserted in between `\u003cquestion\u003e...\u003c/question\u003e` will be inserted into the **question body**."},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"You can also insert markdown into the **header** or **hint box**, by using the `header` and `hint` attributes respectively. Click the hint button below to see how the hint box turns out!"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputSeparate.md\" boilerplate \u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"heading\"\u003eHeader and Hint syntax\u003c/variable\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003c!-- Insert markdown into the header and hint using the respective attributes --\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"checkbox\" header\u003d\"Which of the following is correct?\" hint\u003d\"Think out of the box! :fas-box:\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c!-- Anything you place directly under a question not in a slot is inserted into the question body! --\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003csmall\u003eAdapted from [Daily Mail](https://www.dailymail.co.uk/femail/article-4702868/Can-pass-intelligence-test.html)"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003c/small\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003c/pic\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003c!-- Several hidden checkbox q-option components explained later --\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"output\"\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"checkbox\" header\u003d\"Which of the following is correct?\" hint\u003d\"Think out of the box! :fas-box:\"\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003cpic src\u003d\"{{baseUrl}}/images/math-question.jpg\" alt\u003d\"math question image\" height\u003d\"200\" class\u003d\"d-block mx-auto\"\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003csmall\u003eAdapted from [Daily Mail](https://www.dailymail.co.uk/femail/article-4702868/Can-pass-intelligence-test.html)"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003c/small\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003c/pic\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003cq-option correct reason\u003d\"Multiply the numbers on the left together and add the leftmost number!\"\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" 96"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003cq-option reason\u003d\"Under normal circumstances, this would be correct.\"\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" 19"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003cq-option correct reason\u003d\"Simply add the running sum of the results as well!\"\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" 40"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003cq-option\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" 811"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":"If you require more expressive formatting for your header or hint markup, you can use the `\u003cdiv slot\u003d\"header\"\u003e` and `\u003cdiv slot\u003d\"hint\"\u003e` slots. Expand the panel below to see an example!"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"minimal\" header\u003d\"Header and Hint example **with slots**\"\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputSeparate.md\" boilerplate \u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"heading\"\u003eHeaders and Hints using slots\u003c/variable\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"checkbox\"\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003c!-- Header slot --\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"header\"\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" Which of the following is correct?"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" Challenge: Try to get all the answers on your first try! :star: :star:"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" \u003cpic src\u003d\"{{baseUrl}}/images/math-question.jpg\" alt\u003d\"math question image\" height\u003d\"200\" class\u003d\"d-block mx-auto\"\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003csmall\u003eAdapted from [Daily Mail](https://www.dailymail.co.uk/femail/article-4702868/Can-pass-intelligence-test.html)"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \u003c/small\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \u003c/pic\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003c!-- Several hidden checkbox q-option components explained later --\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003c!-- Hint slot --\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"hint\"\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" Think out of the box! :fas-box:"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" Need another hint? \u003ctooltip content\u003d\"Two of the answers are correct!\"\u003eHover over me!\u003c/tooltip\u003e :fas-mouse-pointer:"},{"lineNumber":85,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"output\"\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"checkbox\"\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \u003c!-- Header slot --\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"header\"\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" Which of the following is correct?"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" Challenge: Try to get all the answers on your first try! :star: :star:"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" \u003cpic src\u003d\"{{baseUrl}}/images/math-question.jpg\" alt\u003d\"math question image\" height\u003d\"200\" class\u003d\"d-block mx-auto\"\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" \u003csmall\u003eAdapted from [Daily Mail](https://www.dailymail.co.uk/femail/article-4702868/Can-pass-intelligence-test.html)"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003c/small\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003c/pic\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003cq-option correct reason\u003d\"Multiply the numbers on the left together and add the leftmost number!\"\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":" 96"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" \u003cq-option reason\u003d\"Under normal circumstances, this would be correct.\"\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":" 19"},{"lineNumber":109,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" \u003cq-option correct reason\u003d\"Simply add the running sum of the results as well!\"\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":" 40"},{"lineNumber":112,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":" \u003cq-option\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":" 811"},{"lineNumber":115,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" \u003c!-- Hint slot --\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"hint\"\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" Think out of the box! :fas-box:"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" Need another hint? \u003ctooltip content\u003d\"Two of the answers are correct!\"\u003eHover over me!\u003c/tooltip\u003e :fas-mouse-pointer:"},{"lineNumber":123,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless class\u003d\"mt-3\"\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":"Placing the question into the header is entirely optional. You may also wish to include the question directly in the question body, omitting the header entirely."},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":"****Options and Slots common to all question types****"},{"lineNumber":136,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":137,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":138,"author":{"gitId":"-"},"content":"type | `String` | `\u0027\u0027` | The type of question. Supports `mcq`, `checkbox`, `blanks`, or `text`."},{"lineNumber":139,"author":{"gitId":"-"},"content":"header{{slot_info_trigger}} | `String` | `\u0027\u0027` | The markup to insert into the question header. The header is omitted if this is not provided."},{"lineNumber":140,"author":{"gitId":"-"},"content":"hint{{slot_info_trigger}} | `String` | `\u0027\u0027` | The content to display in the hint box."},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":"#### MCQ and Checkbox Questions {.mt-4 .mb-3}"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":"MCQ and checkbox questions are indicated with the `type\u003d\"mcq\"` or `type\u003d\"checkbox\"` attribute."},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"In both instances, you can include the possible answers using the `\u003cq-option\u003e` component, placed anywhere inside the \u003ctooltip content\u003d\"if you wish, you could place it in the `header` mentioned above as well!\"\u003equestion\u003c/tooltip\u003e. To indicate the correct option(s), add the `\u003cq-option correct\u003e` attribute."},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":"Optionally, you can provide the reason for the particular option using the `\u003cq-option reason\u003d\"...\"\u003e` attribute, or the `\u003cdiv slot\u003d\"reason\"\u003e` slot for more expressive formatting, similar to the `hint` and `header` options and slots."},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":"**MCQ Questions**"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":"{% set mcqQuestion %}"},{"lineNumber":154,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"mcq\" header\u003d\"Which of these **contradicts** the heuristics recommended when creating test cases with multiple inputs?\"\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":" \u003c!-- Insert the reason for the option using the reason attribute --\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \u003cq-option reason\u003d\"This is **correct**. We need to figure out if a positive test case works!\"\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":" Each valid test input should appear at least once in a test case that doesn’t have any invalid inputs."},{"lineNumber":158,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":159,"author":{"gitId":"-"},"content":" \u003cq-option\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":" It is ok to combine valid values for different inputs."},{"lineNumber":161,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":162,"author":{"gitId":"-"},"content":" \u003cq-option\u003e"},{"lineNumber":163,"author":{"gitId":"-"},"content":" No more than one invalid test input should be in a given test case."},{"lineNumber":164,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":" \u003c!-- Use the \u0027correct\u0027 attribute to indicate an option as correct. --\u003e"},{"lineNumber":166,"author":{"gitId":"-"},"content":" \u003cq-option correct\u003e"},{"lineNumber":167,"author":{"gitId":"-"},"content":" All invalid test inputs must be tested together."},{"lineNumber":168,"author":{"gitId":"-"},"content":" \u003c!-- Optionally, you may use a reason slot instead of a reason attribute. --\u003e"},{"lineNumber":169,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"reason\"\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":" If you test all invalid test inputs together, you will not know if each one of the invalid inputs are handled"},{"lineNumber":171,"author":{"gitId":"-"},"content":" correctly by the SUT."},{"lineNumber":172,"author":{"gitId":"-"},"content":" This is because most SUTs return an error message upon encountering the first invalid input."},{"lineNumber":173,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":174,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"hint\"\u003e"},{"lineNumber":176,"author":{"gitId":"-"},"content":" How do you figure out which inputs are wrong? (or correct)"},{"lineNumber":177,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":178,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":179,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":182,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":183,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e{{ mcqQuestion }}\u003c/variable\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003eMCQ questions can have multiple correct options!\u003c/box\u003e"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":"**Checkbox Questions**"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":"{% set checkboxQuestion %}"},{"lineNumber":191,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"checkbox\" hint\u003d\"Use your calculator! :fas-calculator:\"\u003e"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"jingting1412"},"content":" ###### Which of the following is true?"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" \u003cbr\u003e"},{"lineNumber":196,"author":{"gitId":"-"},"content":" \u003cq-option reason\u003d\"lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum\"\u003e"},{"lineNumber":197,"author":{"gitId":"-"},"content":" 1 + 1 \u003d 11"},{"lineNumber":198,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":199,"author":{"gitId":"-"},"content":" \u003cq-option reason\u003d\"Division by zero is **undefined**!\"\u003e"},{"lineNumber":200,"author":{"gitId":"-"},"content":" 1 / 0 \u003d infinity"},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":" \u003cq-option correct\u003e"},{"lineNumber":203,"author":{"gitId":"-"},"content":" 11 / 11 \u003d 1"},{"lineNumber":204,"author":{"gitId":"-"},"content":" \u003c/q-option\u003e"},{"lineNumber":205,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":206,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate\u003e"},{"lineNumber":209,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":210,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e{{ checkboxQuestion }}\u003c/variable\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":"****`q-option` Options and Slots****"},{"lineNumber":214,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":215,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":216,"author":{"gitId":"-"},"content":"correct | `Boolean` | `false` | Whether this option (placed under either a MCQ or checkbox question) is correct. You may have multiple correct answers in either case."},{"lineNumber":217,"author":{"gitId":"-"},"content":"reason{{slot_info_trigger}} | `String` | `\u0027\u0027` | The explanation markup to display for the option once the answer is checked."},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"#### Fill-in-the-Blanks Questions {.mt-4 .mb-3}"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":"Fill-in-the-blanks questions are specified with the `type\u003d\"blanks\"` attribute."},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":"Unlike MCQ and checkbox questions, answer checking is performed for each blank by providing keywords to check for in the user\u0027s answer through the `keywords` attribute in each `q-option`."},{"lineNumber":225,"author":{"gitId":"-"},"content":"If no keywords are provided, the answer for that blank will always be marked as correct."},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"Keywords are validated by checking if the keyword matches the user\u0027s answer exactly (ignoring letter casing)."},{"lineNumber":230,"author":{"gitId":"-"},"content":"This works well for some"},{"lineNumber":231,"author":{"gitId":"-"},"content":"\u003cpopover header\u003d\"When does validation work?\"\u003ecases"},{"lineNumber":232,"author":{"gitId":"-"},"content":" \u003cspan slot\u003d\"content\"\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":" When the keywords given are short and specific to the blank (eg. `abstraction`), it increases the chances that the blank will be validated correctly."},{"lineNumber":234,"author":{"gitId":"-"},"content":" \u003cbr\u003e\u003cbr\u003e"},{"lineNumber":235,"author":{"gitId":"-"},"content":" In contrast, something long and vague like `after discussing for a period of time` which can easily be expressed in a different way (eg. `after deliberating for a while`) would likely cause the blank to be validated incorrectly."},{"lineNumber":236,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":237,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":238,"author":{"gitId":"-"},"content":"and not others."},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":"{% set blanksQuestion %}"},{"lineNumber":243,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"blanks\" hint\u003d\"Google it!\"\u003e"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"jingting1412"},"content":" ###### German sociologist __________ called the process of simultaneously analyzing the behavior of individuals and the society that shapes that behavior __________."},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" \u003cq-option keywords\u003d\"Norbert Elias, Elias\" reason\u003d\"That\u0027s his name!\"\u003e\u003c/q-option\u003e"},{"lineNumber":248,"author":{"gitId":"-"},"content":" \u003cq-option keywords\u003d\"figuration\"\u003e\u003c/q-option\u003e"},{"lineNumber":249,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":250,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate\u003e"},{"lineNumber":253,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":254,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e{{ blanksQuestion }}\u003c/variable\u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":"By default, if the question has yet to be answered correctly, intermediate results will be shown beside each blank. You can specify a `no-intermediate-result` attribute to avoid this behvaiour (i.e. hide the result of each blank upon incorrect attempts)."},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":"Since the validation is imperfect, the minimum proportion of correct blanks needed for the entire question to be marked as correct can also be changed using the `threshold` attribute."},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":"If you don\u0027t want to validate the answer at all, you may set the `threshold` attribute to `0`. Doing so always marks the entire question correct, and users will be able to see all intended answers."},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":"{% set blanksQuestion2 %}"},{"lineNumber":268,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"blanks\" hint\u003d\"What properties would you want these database transactions to have?\" threshold\u003d0.75 no-intermediate-result\u003e"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"jingting1412"},"content":" ###### In computer science, ACID is a set of properties of database transactions intended to guarantee data validity despite errors, power failures, and other mishaps. These properties are: A for __________, C for __________, I for __________, and D for __________."},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" \u003cq-option keywords\u003d\"Atomicity, Atomic\" reason\u003d\"Meaning: either all occurs or nothing occurs\"\u003e\u003c/q-option\u003e"},{"lineNumber":273,"author":{"gitId":"-"},"content":" \u003cq-option keywords\u003d\"Consistency, Consistent\"\u003e\u003c/q-option\u003e"},{"lineNumber":274,"author":{"gitId":"-"},"content":" \u003cq-option keywords\u003d\"Isolation, Isolated\"\u003e\u003c/q-option\u003e"},{"lineNumber":275,"author":{"gitId":"-"},"content":" \u003cq-option keywords\u003d\"Durability, Durable\"\u003e\u003c/q-option\u003e"},{"lineNumber":276,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":277,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate\u003e"},{"lineNumber":280,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":281,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e{{ blanksQuestion2 }}\u003c/variable\u003e"},{"lineNumber":282,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":"****Fill-in-the-Blanks Question specific Options and Slots****"},{"lineNumber":285,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":286,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":287,"author":{"gitId":"-"},"content":"threshold | `Number` | `0.5` | Minimum proportion of keywords that have to be matched in the user\u0027s answer for the answer to be marked as correct."},{"lineNumber":288,"author":{"gitId":"-"},"content":"no-intermediate-result | `Boolean` | `False` | Hides the result of each blank after an incorrect attempt."},{"lineNumber":289,"author":{"gitId":"-"},"content":""},{"lineNumber":290,"author":{"gitId":"-"},"content":"****`q-option` Options and Slots****"},{"lineNumber":291,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":292,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":293,"author":{"gitId":"-"},"content":"keywords | `String` | `\u0027\u0027` | Comma delimited string of keywords or phrases to match the user\u0027s answer against."},{"lineNumber":294,"author":{"gitId":"-"},"content":"reason{{slot_info_trigger}} | `String` | `\u0027\u0027` | The explanation markup to display for the option once the answer is checked."},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":"#### Text Questions {.mt-4 .mb-3}"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":"Text questions are specified with the `type\u003d\"text\"` attribute."},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":"Unlike MCQ and checkbox questions, answer checking is performed by providing keywords to check for in the user\u0027s answer through the `keywords` attribute."},{"lineNumber":302,"author":{"gitId":"-"},"content":"If no keywords are provided, the answer will always be marked as correct when placed in quizzes."},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":"Keywords are validated by simply looking for the keyword as a pattern in the user\u0027s answer!"},{"lineNumber":307,"author":{"gitId":"-"},"content":"This works well for some"},{"lineNumber":308,"author":{"gitId":"-"},"content":"\u003cpopover header\u003d\"When does validation work?\"\u003ecases"},{"lineNumber":309,"author":{"gitId":"-"},"content":" \u003cspan slot\u003d\"content\"\u003e"},{"lineNumber":310,"author":{"gitId":"-"},"content":" When the keywords specified are rather long (eg. `requirements`), it reduces the chance that this keyword can be mistakenly validated."},{"lineNumber":311,"author":{"gitId":"-"},"content":" \u003cbr\u003e\u003cbr\u003e"},{"lineNumber":312,"author":{"gitId":"-"},"content":" In contrast, something short and common like `take` which can easily be part of another word (eg. `mis-take-nly`) would be mistakenly validated."},{"lineNumber":313,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":314,"author":{"gitId":"-"},"content":"\u003c/popover\u003e"},{"lineNumber":315,"author":{"gitId":"-"},"content":"and not others."},{"lineNumber":316,"author":{"gitId":"-"},"content":""},{"lineNumber":317,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":"You can provide your answer in the `answer` attribute, or similarly, the `\u003cdiv slot\u003d\"answer\"\u003e` slot for more expressive formatting."},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":"{% set textQuestion %}"},{"lineNumber":322,"author":{"gitId":"-"},"content":"\u003cquestion type\u003d\"text\" header\u003d\"Which country did the Hawaiian pizza originate from?\""},{"lineNumber":323,"author":{"gitId":"-"},"content":" keywords\u003d\"hawaii\" threshold\u003d\"0.5\" answer\u003d\"It originated from Hawaii!\"\u003e"},{"lineNumber":324,"author":{"gitId":"-"},"content":" \u003cdiv slot\u003d\"hint\"\u003e"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" Watch some pizza commercials! :tv:"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" :pizza: :pizza: :pizza: :pizza: :pizza: :pizza: :pizza: :pizza: :pizza: :pizza: :pizza: :pizza:"},{"lineNumber":329,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":330,"author":{"gitId":"-"},"content":"\u003c/question\u003e"},{"lineNumber":331,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":332,"author":{"gitId":"-"},"content":""},{"lineNumber":333,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate\u003e"},{"lineNumber":334,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":335,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e{{ textQuestion }}\u003c/variable\u003e"},{"lineNumber":336,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":"Since the validation is imperfect, the minimum proportion of keywords that need to be matched can also be changed using the `threshold` attribute."},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":"If you don\u0027t want to validate the answer at all, you may also omit the `keywords` attribute entirely. Doing so also always marks the question as correct inside [quizzes](#quizzes)."},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":"****Text Question specific Options and Slots****"},{"lineNumber":347,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":348,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":349,"author":{"gitId":"-"},"content":"keywords | `String` | `\u0027\u0027` | Comma delimited string of keywords or phrases to match the user\u0027s answer against."},{"lineNumber":350,"author":{"gitId":"-"},"content":"threshold | `Number` | `0.5` | Minimum proportion of keywords that have to be matched in the user\u0027s answer for the answer to be marked as correct."},{"lineNumber":351,"author":{"gitId":"-"},"content":"answer{{slot_info_trigger}} | `String` | `\u0027\u0027` | The answer or explanation to display when the user clicks the check button."},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":"#### Quizzes"},{"lineNumber":354,"author":{"gitId":"-"},"content":""},{"lineNumber":355,"author":{"gitId":"-"},"content":"You can also build a series of questions out of multiple `\u003cquestion\u003e` components."},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"-"},"content":"Simply place the `\u003cquestion\u003e` components you want to include into the `\u003cquiz\u003e` component! No extra configuration is needed."},{"lineNumber":358,"author":{"gitId":"-"},"content":""},{"lineNumber":359,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutputSeparate.md\" boilerplate \u003e"},{"lineNumber":360,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":361,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":362,"author":{"gitId":"-"},"content":"\u003cquiz\u003e"},{"lineNumber":363,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"mcq\"\u003e...\u003c/question\u003e"},{"lineNumber":364,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"checkbox\"\u003e...\u003c/question\u003e"},{"lineNumber":365,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"blanks\"\u003e...\u003c/question\u003e"},{"lineNumber":366,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"text\"\u003e...\u003c/question\u003e"},{"lineNumber":367,"author":{"gitId":"-"},"content":"\u003c/quiz\u003e"},{"lineNumber":368,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":369,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"output\"\u003e"},{"lineNumber":370,"author":{"gitId":"-"},"content":"\u003cquiz\u003e"},{"lineNumber":371,"author":{"gitId":"-"},"content":"{{ mcqQuestion }}"},{"lineNumber":372,"author":{"gitId":"-"},"content":"{{ checkboxQuestion }}"},{"lineNumber":373,"author":{"gitId":"-"},"content":"{{ blanksQuestion }}"},{"lineNumber":374,"author":{"gitId":"-"},"content":"{{ textQuestion }}"},{"lineNumber":375,"author":{"gitId":"-"},"content":"\u003c/quiz\u003e"},{"lineNumber":376,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":377,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":378,"author":{"gitId":"-"},"content":""},{"lineNumber":379,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":380,"author":{"gitId":"-"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":"****Quiz Options and Slots****"},{"lineNumber":382,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":383,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":384,"author":{"gitId":"-"},"content":"intro | `String` | `\u0027\u0027` | Quiz intro markup above the question count."},{"lineNumber":385,"author":{"gitId":"-"},"content":"intro | Slot | `Click start to begin` | Quiz intro markup. Overrides the `intro` attribute if both are present."},{"lineNumber":386,"author":{"gitId":"-"},"content":""},{"lineNumber":387,"author":{"gitId":"-"},"content":"\u003c!-- Included in syntax cheat sheet --\u003e"},{"lineNumber":388,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":389,"author":{"gitId":"-"},"content":""},{"lineNumber":390,"author":{"gitId":"-"},"content":"```html { heading\u003d\"MCQ and Checkbox questions\" }"},{"lineNumber":391,"author":{"gitId":"-"},"content":"\u003c!-- use type\u003d\"checkbox\" for checkbox questions --\u003e"},{"lineNumber":392,"author":{"gitId":"-"},"content":"{{ mcqQuestion }}"},{"lineNumber":393,"author":{"gitId":"-"},"content":"```"},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"-"},"content":"```html { heading\u003d\"Fill-in-the-Blanks questions\" }"},{"lineNumber":396,"author":{"gitId":"-"},"content":"{{ blanksQuestion }}"},{"lineNumber":397,"author":{"gitId":"-"},"content":"```"},{"lineNumber":398,"author":{"gitId":"-"},"content":""},{"lineNumber":399,"author":{"gitId":"-"},"content":"```html { heading\u003d\"Text questions\" }"},{"lineNumber":400,"author":{"gitId":"-"},"content":"{{ textQuestion }}"},{"lineNumber":401,"author":{"gitId":"-"},"content":"```"},{"lineNumber":402,"author":{"gitId":"-"},"content":""},{"lineNumber":403,"author":{"gitId":"-"},"content":"```html { heading\u003d\"Quiz\" }"},{"lineNumber":404,"author":{"gitId":"-"},"content":"\u003cquiz\u003e"},{"lineNumber":405,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"mcq\"\u003e...\u003c/question\u003e"},{"lineNumber":406,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"checkbox\"\u003e...\u003c/question\u003e"},{"lineNumber":407,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"blanks\"\u003e...\u003c/question\u003e"},{"lineNumber":408,"author":{"gitId":"-"},"content":" \u003cquestion type\u003d\"text\"\u003e...\u003c/question\u003e"},{"lineNumber":409,"author":{"gitId":"-"},"content":"\u003c/quiz\u003e"},{"lineNumber":410,"author":{"gitId":"-"},"content":"```"},{"lineNumber":411,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":412,"author":{"gitId":"-"},"content":""},{"lineNumber":413,"author":{"gitId":"-"},"content":"\u003c!-- Included in readerFacingFeatures.md --\u003e"},{"lineNumber":414,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":415,"author":{"gitId":"-"},"content":"\u003cquiz\u003e"},{"lineNumber":416,"author":{"gitId":"-"},"content":"{{ mcqQuestion }}"},{"lineNumber":417,"author":{"gitId":"-"},"content":"{{ checkboxQuestion }}"},{"lineNumber":418,"author":{"gitId":"-"},"content":"{{ blanksQuestion }}"},{"lineNumber":419,"author":{"gitId":"-"},"content":"{{ textQuestion }}"},{"lineNumber":420,"author":{"gitId":"-"},"content":"\u003c/quiz\u003e"},{"lineNumber":421,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":3,"-":418}},{"path":"docs/userGuide/syntax/searchBars.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Search Bars"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"The `searchbar` component allows users to search all headings within any page on the site."},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"body\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"outputBox.md\" boilerplate \u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\"\u003e\u003c/searchbar\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search (Right-aligned dropdown)\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"```"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"To use the searchbar within a navbar, add the following markup to your file. The searchbar can be positioned using the slot attribute for the list. The following markup adds a searchbar to the right side of the navbar with appropriate styling."},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003cli slot\u003d\"right\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cform class\u003d\"navbar-form\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\"\u003e\u003c/searchbar\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/form\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":"\u003c/li\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":"```"},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cvariable id\u003d\"output\"\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"Enter a search term (eg. \u0027search bar\u0027) to see the search result dropdown."},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\"\u003e\u003c/searchbar\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search (Right-aligned dropdown)\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"****Options****"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":37,"author":{"gitId":"-"},"content":"---- | ---- | ------- | ------"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":"algolia | `Boolean` | `false` | Whether the searchbar should be connected to [Algolia DocSearch]({{ baseUrl }}/userGuide/usingPlugins.html#plugin-algolia)."},{"lineNumber":39,"author":{"gitId":"-"},"content":"data | `Array` || The local data source for suggestions. Expected to be a primitive array. To use MarkBind\u0027s search functionality, set this value to `\"searchData\"`."},{"lineNumber":40,"author":{"gitId":"-"},"content":"menu-align-right | `Boolean` | `false` | Whether the search bar\u0027s dropdown list will be right-aligned."},{"lineNumber":41,"author":{"gitId":"-"},"content":"on-hit | `Function` || A callback function when you click or hit return on an item. To use MarkBind\u0027s search functionality, set this value to `\"searchCallback\"`."},{"lineNumber":42,"author":{"gitId":"-"},"content":"placeholder | `String` | `\u0027\u0027` | The placeholder text shown when no keywords are entered in the search bar."},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"Note: If you are using MarkBind\u0027s search functionality, then `enableSearch` **must be set to `true` in `site.json`**."},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":"See: [User Guide: Site Configuration → enableSearch]({{ baseUrl }}/userGuide/siteJsonFile.html#enablesearch)."},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"%%{{ icon_info }} Related topic: [User Guide: Making the Site Searchable]({{ baseUrl }}/userGuide/makingTheSiteSearchable.html).%%"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":"%%{{ icon_info }} Related topic: [User Guide: Using Plugins → Algolia: Enabling Algolia DocSearch]({{ baseUrl }}/userGuide/usingPlugins.html#plugin-algolia).%%"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003c/div\u003e \u003c!-- end of body --\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":"```"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":65,"author":{"gitId":"-"},"content":"\u003cli slot\u003d\"right\"\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003cform class\u003d\"navbar-form\"\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\"\u003e\u003c/searchbar\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":" \u003c/form\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003c/li\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":"```"},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":"\u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\"\u003e\u003c/searchbar\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":73,"yiwen101":3}},{"path":"docs/userGuide/syntax/siteNavigationMenus.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Site Navigation Menus"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"content\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"**A _Site Navigation Menu_ (\u003d\u003d_siteNav_ for short\u003d\u003d) can be used to show a road map of the main pages of your site.**"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"Steps to add a siteNav:"},{"lineNumber":8,"author":{"gitId":"-"},"content":"1. Format your siteNav as an unordered Markdown list"},{"lineNumber":9,"author":{"gitId":"-"},"content":"2. Include it under a `\u003csite-nav\u003e` element."},{"lineNumber":10,"author":{"gitId":"-"},"content":"3. (Optional) To make siteNav accessible on smaller screens, you can use the `\u003csite-nav-button /\u003e` component in the [navbar]({{baseUrl}}/userGuide/components/navigation.html#navbars)."},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003csite-nav\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":"* [**Getting Started**]({{baseUrl}}/userGuide/gettingStarted.html)"},{"lineNumber":17,"author":{"gitId":"-"},"content":"* **Authoring Contents** :expanded:"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * [Overview]({{baseUrl}}/userGuide/authoringContents.html)"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * [Adding Pages]({{baseUrl}}/userGuide/addingPages.html)"},{"lineNumber":20,"author":{"gitId":"-"},"content":" * [MarkBind Syntax Overview]({{baseUrl}}/userGuide/markBindSyntaxOverview.html)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * [Formatting Contents]({{baseUrl}}/userGuide/formattingContents.html)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * [Using Components]({{baseUrl}}/userGuide/usingComponents.html)"},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003c/site-nav\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"MarkBind has styles nested lists with additional padding and smaller text sizes up to **4** nesting levels."},{"lineNumber":29,"author":{"gitId":"-"},"content":"Beyond that, you\u0027d have to include your own styles."},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"****Expanding menu items by default****"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"You can **append the `:expanded:` to a \u003ctooltip content\u003d\"a menu item with sub menu-items\"\u003eparent menu item\u003c/tooltip\u003e to make it expand by default.** In the example above, `* Authoring Contents :expanded:` makes the menu item `Authoring Contents` expand by default."},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"Tim-Siu"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":38,"author":{"gitId":"Tim-Siu"},"content":""},{"lineNumber":39,"author":{"gitId":"Tim-Siu"},"content":"You can see an example of a Site Navigation Menu \u003d\u003don the left side\u003d\u003d of \u003ca target\u003d\"_blank\" href\u003d\"{{ baseUrl }}/userGuide/formattingContents.html\"\u003ethis page\u003c/a\u003e."},{"lineNumber":40,"author":{"gitId":"Tim-Siu"},"content":"\u003c/div\u003e"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":"```html"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":"\u003csite-nav\u003e"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":"* [**Getting Started**]({{baseUrl}}/userGuide/gettingStarted.html)"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":"* **Authoring Contents** :expanded:"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" * [Overview]({{baseUrl}}/userGuide/authoringContents.html)"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" * [Adding Pages]({{baseUrl}}/userGuide/addingPages.html)"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" * [MarkBind Syntax Overview]({{baseUrl}}/userGuide/markBindSyntaxOverview.html)"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" * [Formatting Contents]({{baseUrl}}/userGuide/formattingContents.html)"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":" * [Using Components]({{baseUrl}}/userGuide/usingComponents.html)"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":"\u003c/site-nav\u003e"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":"```"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":16,"-":36,"Tim-Siu":4}},{"path":"docs/userGuide/syntax/tabs.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"## Tabs"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003ctabs\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"First tab\"\u003e"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" Text in the first tab"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \u003cmarkdown\u003e_some markdown_\u003c/markdown\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Disabled second tab :x:\" disabled\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Tab not printed\" class\u003d\"d-print-none\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" This tab will not be printed."},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003ctab-group header\u003d\"Third tab group :milky_way:\"\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Stars :star:\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" Some stuff about stars ..."},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Disabled Moon :new_moon:\" disabled\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/tab-group\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003ctab-group header\u003d\"Disabled fourth tab group\" disabled\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Hidden tab\"\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla ullamcorper ultrices lobortis."},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003c/tab-group\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003c/tabs\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"****Options****"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"`tabs`:"},{"lineNumber":35,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":36,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":37,"author":{"gitId":"-"},"content":"active | `Number` | `0` | Active Tab index (0-based)"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"`tab`:"},{"lineNumber":40,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":41,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":42,"author":{"gitId":"-"},"content":"header | `String` | `null` | Tab title."},{"lineNumber":43,"author":{"gitId":"-"},"content":"disabled | `Boolean` | `false` | Whether Tab is clickable and can be activated."},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"`tab-group`:"},{"lineNumber":46,"author":{"gitId":"-"},"content":"Name | Type | Default | Description"},{"lineNumber":47,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":48,"author":{"gitId":"-"},"content":"header | `String` | `null` | Tab Group title."},{"lineNumber":49,"author":{"gitId":"-"},"content":"disabled | `Boolean` | `false` | Whether Tab Group is clickable and can be activated."},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":"Tabs, tab group and individual tab can be omitted during printing by adding Bootstrap\u0027s display property `class\u003d\"d-print-none\"` to the respective components."},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003ctabs\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"First tab\"\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":" Content of the first tab"},{"lineNumber":62,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Second tab\"\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" Contents of the second tab"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003ctab-group header\u003d\"Third tab group :tv:\"\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Stars :star:\"\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":" Some stuff about stars ..."},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Moon\"\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":" Some stuff about the moon ..."},{"lineNumber":72,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003c/tab-group\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":"\u003c/tabs\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":"```"},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"examples\" class\u003d\"d-none\"\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":"\u003ctabs\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"First tab\"\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":" Content of the first tab"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Second tab\"\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Contents of the second tab"},{"lineNumber":86,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":" \u003ctab-group header\u003d\"Third tab group :tv:\"\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Stars :star:\"\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" Some stuff about stars ..."},{"lineNumber":90,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":" \u003ctab header\u003d\"Moon\"\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":" Some stuff about the moon ..."},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003c/tab\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003c/tab-group\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":"\u003c/tabs\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"-":94,"yiwen101":2}},{"path":"docs/userGuide/syntax/variables.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → Reusing Contents → Variables_]({{ baseUrl }}/userGuide/reusingContents.html#variables)\u003c/md\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"## Variables"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"**Nunjucks [variables](https://mozilla.github.io/nunjucks/templating.html#set) are ideal for reusing small bits of code** in multiple places; you can define a variable to represent the code bit in question and reuse it anywhere in the site by referring to the variable instead of duplicating the code bit."},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"MarkBind does not aim to alter the already robust variable features of Nunjucks, but provides several extensions to it."},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"### Global Variables"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"**Global variables are to be defined in the `_markbind/variables.md` file.** Each variable must have an `name` and the value can be any MarkBind-compliant code fragment. The `name` should not contain `-` and `.`. For example, `search-option` and `search.options` are not allowed."},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"The variables declared here are available from anywhere in the code base."},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"{{ icon_example }} Here\u0027s how you can define two variables `year` and `options`:"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"year\"\u003e2018\u003c/variable\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"options\"\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"* yes"},{"lineNumber":29,"author":{"gitId":"-"},"content":"* no"},{"lineNumber":30,"author":{"gitId":"-"},"content":"* maybe"},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003c/variable\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"```"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"To include a variable value in your code, give the variable id enclosed in Nunjucks\u0027 double curly braces syntax."},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"{{ icon_example }} `The year was {% raw %}{{ year }}{% endraw %}.` {{ icon_arrow_right }} The year was 2018."},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"Global variables (`_markbind/variables.md`) will take precedence over any variables set via Nunjucks\u0027 tags (e.g. `{% raw %}{% set %}{% endraw %}`)."},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#### Built-in Global Variables"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"MarkBind also provides a number of built-in variables."},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"Variable | Notes | {{ icon_example }} | Output"},{"lineNumber":53,"author":{"gitId":"-"},"content":"--- | --- | --- | ---"},{"lineNumber":54,"author":{"gitId":"-"},"content":"`baseUrl` | Represents the root directory of the site on the server, as configured in your [site configuration]({{baseUrl}}/userGuide/siteJsonFile.html#baseurl) file. \u003cbr\u003e Used for specifying [intra-site links](../formattingContents.html#intra-site-links). | If `baseUrl` is specified as `userGuide/`:\u003cbr\u003e\u003cbr\u003e `\u003cimg src\u003d\"{% raw %}{{baseUrl}}{% endraw %}/images/logo.png\" /\u003e` | `\u003cimg src\u003d\"userGuide/images/logo.png\" /\u003e`"},{"lineNumber":55,"author":{"gitId":"-"},"content":"`timestamp` | The time stamp that indicates when the page was generated. \u003cbr\u003e\u003cbr\u003e The [default]({{baseUrl}}/userGuide/siteJsonFile.html#timezone) values of `\"timeZone\"` and `\"locale\"` are `\"UTC\"` and `\"en-GB\"` respectively. | The following example showcases the use of the `\"Asia/Singapore\"` time zone.\u003cbr\u003e\u003cbr\u003e `Page generated at: {% raw %}{{timestamp}}{% endraw %}` | `Page generated at: {{ timestamp }}`"},{"lineNumber":56,"author":{"gitId":"-"},"content":"`MarkBind` | The MarkBind version in use, linked to the MarkBind website. | `Page generated by: {% raw %}{{MarkBind}}{% endraw %}` | `Page generated by:` {{ MarkBind | safe }}"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"### Importing variables from other external file formats"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"You can also source variables from external files using MarkBind\u0027s {%raw%}`{% ext varName \u003d \"filepathToFile\" %}`{%endraw%} Nunjucks extension."},{"lineNumber":62,"author":{"gitId":"-"},"content":"This is useful if you have external datasets you want to display in your site!"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"To do so, assign a root variable name (`varName`) to the file path from the \u003ctooltip content\u003d\"similar to how you assign filepaths for other Nunjucks tags\"\u003eroot directory of the site\u003c/tooltip\u003e. You may then access the file\u0027s variables using dot `varName.xx` or array `varName[i]` syntax, depending on the file\u0027s contents."},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":"\u003ctabs\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":"\u003ctab header\u003d\"Importing from JSON files\"\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":"{{icon_example}}"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":"%%CODE:%%"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"{% raw %}"},{"lineNumber":79,"author":{"gitId":"-"},"content":"```html {heading\u003d\"Displaying a student scoreboard stored as JSON\"}"},{"lineNumber":80,"author":{"gitId":"-"},"content":"{% ext studentScoreboard \u003d \"userGuide/syntax/extra/scoreboard.json\" %}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":"Student Number | Score | Rank"},{"lineNumber":83,"author":{"gitId":"-"},"content":":----- | :-------: | ----"},{"lineNumber":84,"author":{"gitId":"-"},"content":"{% for student in studentScoreboard.students -%}"},{"lineNumber":85,"author":{"gitId":"-"},"content":"{{ student.number }} | {{ student.score }} | {{ student.rank }}"},{"lineNumber":86,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003csmall\u003eLast updated at {{ studentScoreboard.lastUpdated }}\u003c/small\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":"```"},{"lineNumber":90,"author":{"gitId":"-"},"content":"{% endraw %}"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"minimal\" header\u003d\"JSON file used in example\"\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":"```json {heading\u003d\"JSON File\"}"},{"lineNumber":95,"author":{"gitId":"-"},"content":"{% include \"userGuide/syntax/extra/scoreboard.json\" %}"},{"lineNumber":96,"author":{"gitId":"-"},"content":"```"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":"%%OUTPUT:%%"},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"\u003cbox border-left-color\u003d\"grey\" background-color\u003d\"white\"\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"{% ext studentScoreboard \u003d \"userGuide/syntax/extra/scoreboard.json\" %}"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":"Student Number | Score | Rank"},{"lineNumber":111,"author":{"gitId":"-"},"content":":----- | :-------: | ----"},{"lineNumber":112,"author":{"gitId":"-"},"content":"{% for student in studentScoreboard.students -%}"},{"lineNumber":113,"author":{"gitId":"-"},"content":"{{ student.number }} | {{ student.score }} / 100 | {{ student.rank }}"},{"lineNumber":114,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":"\u003csmall\u003eLast updated at {{ studentScoreboard.lastUpdated }}\u003c/small\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":"\u003c/tab\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":"\u003ctab header\u003d\"Importing from CSV files\"\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"{{icon_example}}"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":"%%CODE:%%"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":"{% raw %}"},{"lineNumber":130,"author":{"gitId":"-"},"content":"```html {heading\u003d\"Displaying a student scoreboard stored as CSV\"}"},{"lineNumber":131,"author":{"gitId":"-"},"content":"{% ext studentScoreboard \u003d \"userGuide/syntax/extra/scoreboard.csv\" %}"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":"Student Number | Score | Rank"},{"lineNumber":134,"author":{"gitId":"-"},"content":":----- | :-------: | ----"},{"lineNumber":135,"author":{"gitId":"-"},"content":"{% for student in studentScoreboard -%}"},{"lineNumber":136,"author":{"gitId":"-"},"content":"{{ student.number }} | {{ student.score }} | {{ student.rank }}"},{"lineNumber":137,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":138,"author":{"gitId":"-"},"content":"```"},{"lineNumber":139,"author":{"gitId":"-"},"content":"{% endraw %}"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":"\u003cpanel type\u003d\"minimal\" header\u003d\"CSV file used in example\"\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":"```csv {heading\u003d\"CSV File\"}"},{"lineNumber":144,"author":{"gitId":"-"},"content":"{% include \"userGuide/syntax/extra/scoreboard.csv\" %}"},{"lineNumber":145,"author":{"gitId":"-"},"content":"```"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":"\u003cbox border-left-color\u003d\"{{ markbind_blue}}\"\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":"{{ icon_bulb_blue }} If you do not want to have a header row, you can specify it by appending a `noHeader` option at the end of the variable declaration. In this example, it should be {% raw %} `{% ext studentScoreboard \u003d \"userGuide/syntax/extra/scoreboard.csv\", noHeader %}` {% endraw %}. Elements have to be accessed using the `[]` operator (i.e. using `student[0]` to access student number instead of `student.number`)."},{"lineNumber":153,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":"%%OUTPUT:%%"},{"lineNumber":158,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":"\u003cbox border-left-color\u003d\"grey\" background-color\u003d\"white\"\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":"{% ext studentScoreboard \u003d \"userGuide/syntax/extra/scoreboard.csv\" %}"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":"Student Number | Score | Rank"},{"lineNumber":165,"author":{"gitId":"-"},"content":":----- | :-------: | ----"},{"lineNumber":166,"author":{"gitId":"-"},"content":"{% for student in studentScoreboard -%}"},{"lineNumber":167,"author":{"gitId":"-"},"content":"{{ student.number }} | {{ student.score }} / 100 | {{ student.rank }}"},{"lineNumber":168,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"\u003c/tab\u003e"},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003c/tabs\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":"Only `.json` and `.csv` files are supported for now."},{"lineNumber":179,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"short\" class\u003d\"d-none\"\u003e"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"jingting1412"},"content":"```markdown"},{"lineNumber":186,"author":{"gitId":"jingting1412"},"content":"Place global variables in `_markbind/variables.md`"},{"lineNumber":187,"author":{"gitId":"-"},"content":"\u003cvariable name\u003d\"year\"\u003e2018\u003c/variable\u003e"},{"lineNumber":188,"author":{"gitId":"jingting1412"},"content":"The year was {% raw %}{{ year }}{% endraw %}"},{"lineNumber":189,"author":{"gitId":"-"},"content":"```"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":3,"-":188}},{"path":"docs/userGuide/syntaxReference.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" title: \"User Guide: Syntax Reference\""},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" layout: userGuide.md"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" pageNav: 5"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"# Syntax Reference"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":"Expand the panels for detailed explanations of the feature or click on the link in the header to go to the corresponding page!"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":"{% macro show_topic(filename, heading, url) %}"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":"\u003cpanel type\u003d\"seamless\" no-close popup-url\u003d\"{{ url }}\"\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003cdiv slot\u003d\"header\"\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003cmarkdown\u003e##### **{{ heading }}**\u003c/markdown\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003cinclude src\u003d\"syntax/{{ filename }}.md#short\" /\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"indented\"\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" \u003cinclude src\u003d\"syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"\u003c/panel\u003e"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":"{% endmacro %}"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":"{% for k,v in topics | dictsort %}"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" {% set url\u003d\"/userGuide/\" %}"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" {% if v[2] is iterable %}"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" {% if \u0027basic\u0027 in v[2] %}"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"formattingContents.html#\" + v[1] %}"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027presentation\u0027 in v[2] %}"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/presentation.html#\" + v[1] %}"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027images-diagrams\u0027 in v[2] %}"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/imagesAndDiagrams.html#\" + v[1] %}"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027popups\u0027 in v[2] %}"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/popups.html#\" + v[1] %}"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027navigation\u0027 in v[2] %}"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/navigation.html#\" + v[1] %}"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":" {% elif \u0027others\u0027 in v[2] %}"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + \"components/others.html#\" + v[1] %}"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" {% else %}"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url + v[2][0] + \".html#\" + v[1] %}"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" {% endif %}"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" {% else %}"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" {% set url \u003d url %}"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" {% endif %}"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" {{ show_topic( k, v[0], url) }}"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":"{% endfor %}"}],"authorContributionMap":{"jingting1412":50}},{"path":"docs/userGuide/templates.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Templates\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"templates\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":8,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"# {{ title }}"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\" id\u003d\"overview\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"MarkBind allows you to start off your new project with different templates."},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"During initialization you can add a flag `--template \u003ctemplate-key\u003e` to select a different template to initialize with. For example:"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"```"},{"lineNumber":25,"author":{"gitId":"-"},"content":"markbind init --template minimal"},{"lineNumber":26,"author":{"gitId":"-"},"content":"```"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"## Supported Templates"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"Name | Template key | Description | Quick Deploy"},{"lineNumber":31,"author":{"gitId":"-"},"content":"---- | ------- | ----------- | ------------"},{"lineNumber":32,"author":{"gitId":"-"},"content":"Default | `default` | Default template if `--template` is unspecified. Includes core features such as site and page navigation for a more convenient quick start. | \u003ca href\u003d\"https://app.netlify.com/start/deploy?repository\u003dhttps://github.com/MarkBind/init-typical-netlify\"\u003e\u003cimg src\u003d\"https://www.netlify.com/img/deploy/button.svg\" /\u003e\u003c/a\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"Minimal | `minimal` | Minimalistic template that gets you started quickly. | \u003ca href\u003d\"https://app.netlify.com/start/deploy?repository\u003dhttps://github.com/MarkBind/init-minimal-netlify\"\u003e\u003cimg src\u003d\"https://www.netlify.com/img/deploy/button.svg\" /\u003e\u003c/a\u003e"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"Project | `project` | Project documentation template serves as a good starting point for project developers. This template includes both a user guide and a developer guide, with some formatted dummy content. | \u003ca href\u003d\"https://markbind-template-project.netlify.app/\"\u003e\u003cimg src\u003d\"https://www.netlify.com/img/deploy/button.svg\" /\u003e\u003c/a\u003e"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":"Portfolio | `portfolio` | Portfolio template to quickly build your portfolio. | \u003ca href\u003d\"\"\u003eQuick deploy link to come!\u003c/a\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":38,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027addingNavigationButtons\u0027, \u0027\u0027) }}"}],"authorContributionMap":{"jingting1412":1,"KevinEyo1":1,"-":36}},{"path":"docs/userGuide/troubleshooting.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Troubleshooting\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title | safe }}\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":7,"author":{"gitId":"-"},"content":" pageNav: 5"},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"# {{ title | safe }}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"##### HTML Rendering Issues"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"Unexpected behavior can occur in rendered pages due to a number of different reasons. One of these reasons is when the rendered pages are not valid HTML."},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"Incorrect HTML markup can be due to:"},{"lineNumber":17,"author":{"gitId":"-"},"content":"- nesting block-level elements inside `\u003cp\u003e` or `\u003cspan\u003e` elements"},{"lineNumber":18,"author":{"gitId":"-"},"content":"- missing `\u003ctbody\u003e` tags"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"###### Example: block-level elements inside `\u003cspan\u003e` elements"},{"lineNumber":21,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"example\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"Animal | Trainable? | Price | Remarks"},{"lineNumber":26,"author":{"gitId":"-"},"content":":------|:----------:|------:|--------"},{"lineNumber":27,"author":{"gitId":"-"},"content":"Ants | no | 5 |"},{"lineNumber":28,"author":{"gitId":"-"},"content":"Bees | no | 20 |"},{"lineNumber":29,"author":{"gitId":"-"},"content":"Cats | yes | 100 |"},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":"```"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"The table specified by the Markdown syntax above will be rendered as a block-level element, which will be included in a inline span element. This makes the HTML output invalid."},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Underlying Error (Example)\" type\u003d\"seamless\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"```"},{"lineNumber":38,"author":{"gitId":"-"},"content":"vue.js:634 [Vue warn]: The client-side rendered virtual DOM tree is not matching server-rendered content."},{"lineNumber":39,"author":{"gitId":"-"},"content":"This is likely caused by incorrect HTML markup, for example nesting block-level elements inside `\u003cp\u003e`,"},{"lineNumber":40,"author":{"gitId":"-"},"content":"or missing `\u003ctbody\u003e`."},{"lineNumber":41,"author":{"gitId":"-"},"content":"Bailing hydration and performing full client-side render."},{"lineNumber":42,"author":{"gitId":"-"},"content":"```"},{"lineNumber":43,"author":{"gitId":"-"},"content":"See [SSR guide for Vue](https://vuejs.org/guide/scaling-up/ssr.html#hydration-mismatch) for more details on hydration mismatch."},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"A possible fix for the above situation is to wrap the table in a `\u003cdiv\u003e` element instead:"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"example\"\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"Animal | Trainable? | Price | Remarks"},{"lineNumber":53,"author":{"gitId":"-"},"content":":------|:----------:|------:|--------"},{"lineNumber":54,"author":{"gitId":"-"},"content":"Ants | no | 5 |"},{"lineNumber":55,"author":{"gitId":"-"},"content":"Bees | no | 20 |"},{"lineNumber":56,"author":{"gitId":"-"},"content":"Cats | yes | 100 |"},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":"```"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":"##### Markdown Rendering Issues"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":"If you encounter issues in rendering Markdown in a component, it is likely that the Markdown is not being properly recognized due to syntax errors. Signposting is required to inform Markdown to parse the content of a presentation component as Markdown rather than plain text."},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":"You could signpost Markdown either by:"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":"- using the `\u003cmarkdown\u003e`(block level elements) or `\u003cmd\u003e`(inline level elements) tags to wrap the Markdown content."},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":"- using an empty line without any indentation before the Markdown content"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":"###### Example: correct Markdown rendering using tags or newline:"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":"\u003cbox\u003e"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":"**Example1**"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":"\u003cbox\u003e "},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":"\u003cmd\u003e **Example2** \u003c/md\u003e "},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":"\u003cbox\u003e "},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":"\u003cmarkdown\u003e **Example3** \u003c/markdown\u003e "},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":"\u003c/variable\u003e"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":"\u003c/include\u003e"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":"\u003cpanel header\u003d\"###### Example: Markdown not rendered without singposting\" type\u003d\"seamless\"\u003e"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":"\u003cinclude src\u003d\"codeAndOutput.md\" boilerplate \u003e"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"highlightStyle\"\u003ehtml\u003c/variable\u003e"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":"\u003cvariable name\u003d\"code\"\u003e"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":"\u003cbox\u003e **This will be rendered as plain text**\u003c/box\u003e"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":"\u003c/variable\u003e"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":"\u003c/include\u003e"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":"\u003c/panel\u003e"},{"lineNumber":97,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":98,"author":{"gitId":"jingting1412"},"content":"##### Content with local links not working when included with `\u003cinclude\u003e`"},{"lineNumber":99,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":100,"author":{"gitId":"jingting1412"},"content":"If you notice that relative links in a page pointing to another page no longer works after adding it into a page via `\u003cinclude\u003e`, it may be because the relative link no longer points to the correct address in the new page with `\u003cinclude\u003e`. "},{"lineNumber":101,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":102,"author":{"gitId":"jingting1412"},"content":"To solve this, change the relative URL into an **absolute** URL by adding `{{ \u0027{{ baseUrl }}\u0027 }}`. This will ensure that the link will always point to the same address regardless of the page it is included in."},{"lineNumber":103,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":104,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"syntax/includes.md#baseUrl-example\"/\u003e"},{"lineNumber":105,"author":{"gitId":"jingting1412"},"content":""}],"authorContributionMap":{"jingting1412":9,"-":58,"yiwen101":38}},{"path":"docs/userGuide/usingComponents.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Using Components\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"{% set filename \u003d \"usingComponents\" %}"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"title\" class\u003d\"d-none\"\u003e{{ title }}\u003c/span\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" title: \"User Guide: {{ title }}\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" layout: userGuide.md"},{"lineNumber":8,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cspan id\u003d\"link\" class\u003d\"d-none\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003cmd\u003e[_User Guide → {{ title }}_]({{ filename }}.html)\u003c/md\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/span\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"# Using Components"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"overview\" class\u003d\"lead\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"**MarkBind provides a number of components** (e.g., expandable panels, tabbed displays, navigation bars, etc.) that you can use to enhance the appearance/behavior of your pages."},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"To use a component, just use the corresponding markup in your file. For example, to create a Panel, you just need to use the markup:"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"```html"},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Click to expand\" type\u003d\"seamless\"\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" Panel Content."},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":"```"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":"{% from \"userGuide/syntax/fullSyntaxSet.njk\" import syntax_topics as topics %}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"{% macro show_topic(filename) %}"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"./syntax/{{ filename }}.md\" /\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":"\u003chr\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":"{% endmacro %}"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"{% for k,v in topics %}"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" {% if \u0027component\u0027 in v[2] %}"},{"lineNumber":39,"author":{"gitId":"-"},"content":"{{ show_topic(k) }}"},{"lineNumber":40,"author":{"gitId":"-"},"content":" {% endif %}"},{"lineNumber":41,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003cbr\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"{% from \"njk/common.njk\" import previous_next %}"},{"lineNumber":46,"author":{"gitId":"-"},"content":"{{ previous_next(\u0027formattingContents\u0027, \u0027components/presentation\u0027) }}"}],"authorContributionMap":{"jingting1412":2,"-":44}},{"path":"package.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"name\": \"root\","},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"private\": true,"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"workspaces\": [\"packages/*\"],"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"scripts\": {"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"prebuild:backend\": \"npm run clean\","},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"build:backend\": \"tsc --noEmitOnError\","},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"build:web\": \"cd packages/core-web \u0026\u0026 npm run build\","},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"build:dg\": \"cd docs \u0026\u0026 ../packages/cli/index.js build -s dg-site.json\","},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"build:ug\": \"cd docs \u0026\u0026 ../packages/cli/index.js build -s ug-site.json\","},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"build:docs\": \"cd docs \u0026\u0026 node ../packages/cli/index.js build --baseUrl\","},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"deploy:dg\": \"cd docs \u0026\u0026 ../packages/cli/index.js deploy -s dg-site.json --ci\","},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"deploy:ug\": \"cd docs \u0026\u0026 ../packages/cli/index.js deploy -s ug-site.json --ci\","},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"deploy:netlify\": \"npm run setup \u0026\u0026 npm run build:web \u0026\u0026 cd docs \u0026\u0026 node ../packages/cli/index.js build --baseUrl\","},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"clean\": \"node ./scripts/clean.js\","},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"csslint\": \"stylelint **/*.css **/*.vue\","},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"csslintfix\": \"stylelint **/*.css **/*.vue --fix\","},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"dev\": \"tsc --watch\","},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"lint\": \"eslint . --ext .js,.ts,.vue \u0026\u0026 npm run csslint\","},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"lintfix\": \"eslint . --ext .js,.ts,.vue --fix \u0026\u0026 npm run csslintfix\","},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"setup\": \"npm ci \u0026\u0026 npm run clean \u0026\u0026 lerna run prepare\","},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"test\": \"npm run lint \u0026\u0026 lerna run test --stream --parallel\","},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"updatetest\": \"lerna run updatetest --stream --parallel\""},{"lineNumber":24,"author":{"gitId":"-"},"content":" },"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"devDependencies\": {"},{"lineNumber":26,"author":{"gitId":"LamJiuFong"},"content":" \"@stylistic/stylelint-plugin\": \"^2.1.0\","},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"@types/node\": \"^18.15.0\","},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"@typescript-eslint/eslint-plugin\": \"^5.16.0\","},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"@typescript-eslint/parser\": \"^5.16.0\","},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"eslint\": \"^7.32.0\","},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-base\": \"^15.0.0\","},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-typescript\": \"^16.1.4\","},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"eslint-plugin-import\": \"^2.25.2\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"eslint-plugin-lodash\": \"^7.2.0\","},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"lerna\": \"^6.5.1\","},{"lineNumber":36,"author":{"gitId":"LamJiuFong"},"content":" \"stylelint\": \"^16.2.1\","},{"lineNumber":37,"author":{"gitId":"LamJiuFong"},"content":" \"stylelint-config-recommended-vue\": \"^1.5.0\","},{"lineNumber":38,"author":{"gitId":"LamJiuFong"},"content":" \"stylelint-config-standard\": \"^36.0.0\","},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"typescript\": \"^4.6.2\","},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"walk-sync\": \"^2.0.2\""},{"lineNumber":41,"author":{"gitId":"LamJiuFong"},"content":" },"},{"lineNumber":42,"author":{"gitId":"LamJiuFong"},"content":" \"dependencies\": {"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-icons\": \"^1.11.3\","},{"lineNumber":44,"author":{"gitId":"LamJiuFong"},"content":" \"postcss\": \"^8.4.35\""},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":7,"-":38,"yiwen101":1}},{"path":"packages/cli/index.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"#!/usr/bin/env node"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"// Entry file for MarkBind project"},{"lineNumber":4,"author":{"gitId":"-"},"content":"const program \u003d require(\u0027commander\u0027);"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"const logger \u003d require(\u0027./src/util/logger\u0027);"},{"lineNumber":7,"author":{"gitId":"-"},"content":"const { build } \u003d require(\u0027./src/cmd/build\u0027);"},{"lineNumber":8,"author":{"gitId":"-"},"content":"const { deploy } \u003d require(\u0027./src/cmd/deploy\u0027);"},{"lineNumber":9,"author":{"gitId":"-"},"content":"const { init } \u003d require(\u0027./src/cmd/init\u0027);"},{"lineNumber":10,"author":{"gitId":"-"},"content":"const { serve } \u003d require(\u0027./src/cmd/serve\u0027);"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"const CLI_VERSION \u003d require(\u0027./package.json\u0027).version;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"process.title \u003d \u0027MarkBind\u0027;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"process.stdout.write("},{"lineNumber":16,"author":{"gitId":"-"},"content":" `${String.fromCharCode(27)}]0; MarkBind${String.fromCharCode(7)}`,"},{"lineNumber":17,"author":{"gitId":"-"},"content":");"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"function printHeader() {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" logger.logo();"},{"lineNumber":21,"author":{"gitId":"-"},"content":" logger.log(` v${CLI_VERSION}`);"},{"lineNumber":22,"author":{"gitId":"-"},"content":"}"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"program"},{"lineNumber":25,"author":{"gitId":"-"},"content":" .addHelpText(\u0027beforeAll\u0027, printHeader())"},{"lineNumber":26,"author":{"gitId":"-"},"content":" .showHelpAfterError(\u0027(run \"markbind --help\" to list commands)\u0027);"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"program"},{"lineNumber":29,"author":{"gitId":"-"},"content":" .allowUnknownOption()"},{"lineNumber":30,"author":{"gitId":"-"},"content":" .usage(\u0027\u003ccommand\u003e\u0027);"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"program"},{"lineNumber":33,"author":{"gitId":"-"},"content":" .name(\u0027markbind\u0027)"},{"lineNumber":34,"author":{"gitId":"-"},"content":" .version(CLI_VERSION);"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"program"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .command(\u0027init [root]\u0027)"},{"lineNumber":38,"author":{"gitId":"-"},"content":" .option(\u0027-c, --convert\u0027, \u0027convert a GitHub wiki or docs folder to a MarkBind website\u0027)"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .option(\u0027-t, --template \u003ctype\u003e\u0027, \u0027initialise markbind with a specified template\u0027, \u0027default\u0027)"},{"lineNumber":40,"author":{"gitId":"-"},"content":" .alias(\u0027i\u0027)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .description(\u0027init a markbind website project\u0027)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .action((root, options) \u003d\u003e {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" init(root, options);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" });"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"program"},{"lineNumber":47,"author":{"gitId":"-"},"content":" .command(\u0027serve [root]\u0027)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" .alias(\u0027s\u0027)"},{"lineNumber":49,"author":{"gitId":"-"},"content":" .option(\u0027-f, --force-reload\u0027, \u0027force a full reload of all site files when a file is changed\u0027)"},{"lineNumber":50,"author":{"gitId":"-"},"content":" .option(\u0027-n, --no-open\u0027, \u0027do not automatically open the site in browser\u0027)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" .option(\u0027-o, --one-page [file]\u0027, \u0027build and serve only a single page in the site initially,\u0027"},{"lineNumber":52,"author":{"gitId":"-"},"content":" + \u0027building more pages when they are navigated to. Also lazily rebuilds only the page being viewed when\u0027"},{"lineNumber":53,"author":{"gitId":"-"},"content":" + \u0027there are changes to the source files (if needed), building others when navigated to\u0027)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .option(\u0027-b, --background-build\u0027, \u0027when --one-page is specified, enhances one-page serve by building\u0027"},{"lineNumber":55,"author":{"gitId":"-"},"content":" + \u0027remaining pages in the background\u0027)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" .option(\u0027-p, --port \u003cport\u003e\u0027, \u0027port for server to listen on (Default is 8080)\u0027)"},{"lineNumber":57,"author":{"gitId":"-"},"content":" .option(\u0027-s, --site-config \u003cfile\u003e\u0027, \u0027specify the site config file (default: site.json)\u0027)"},{"lineNumber":58,"author":{"gitId":"-"},"content":" .option(\u0027-d, --dev\u0027, \u0027development mode, enabling live \u0026 hot reload for frontend source files.\u0027)"},{"lineNumber":59,"author":{"gitId":"LamJiuFong"},"content":" .option(\u0027-a, --address \u003caddress\u003e\u0027, \u0027specify the server address/host (Default is 127.0.0.1)\u0027)"},{"lineNumber":60,"author":{"gitId":"-"},"content":" .description(\u0027build then serve a website from a directory\u0027)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .action((userSpecifiedRoot, options) \u003d\u003e {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" serve(userSpecifiedRoot, options);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" });"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":"program"},{"lineNumber":66,"author":{"gitId":"-"},"content":" .command(\u0027build [root] [output]\u0027)"},{"lineNumber":67,"author":{"gitId":"-"},"content":" .alias(\u0027b\u0027)"},{"lineNumber":68,"author":{"gitId":"-"},"content":" .option(\u0027--baseUrl [baseUrl]\u0027,"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u0027optional flag which overrides baseUrl in site.json, leave argument empty for empty baseUrl\u0027)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .option(\u0027-s, --site-config \u003cfile\u003e\u0027, \u0027specify the site config file (default: site.json)\u0027)"},{"lineNumber":71,"author":{"gitId":"-"},"content":" .description(\u0027build a website\u0027)"},{"lineNumber":72,"author":{"gitId":"-"},"content":" .action((userSpecifiedRoot, output, options) \u003d\u003e {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" build(userSpecifiedRoot, output, options);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" });"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"program"},{"lineNumber":77,"author":{"gitId":"-"},"content":" .command(\u0027deploy [root]\u0027)"},{"lineNumber":78,"author":{"gitId":"-"},"content":" .alias(\u0027d\u0027)"},{"lineNumber":79,"author":{"gitId":"-"},"content":" .option(\u0027-c, --ci [githubTokenName]\u0027, \u0027deploy the site in CI Environment [GITHUB_TOKEN]\u0027)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .option(\u0027-n, --no-build\u0027, \u0027do not automatically build the site before deployment\u0027)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .option(\u0027-s, --site-config \u003cfile\u003e\u0027, \u0027specify the site config file (default: site.json)\u0027)"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .description(\u0027deploy the latest build of the site to the repo\\\u0027s Github pages\u0027)"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .action((userSpecifiedRoot, options) \u003d\u003e {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" deploy(userSpecifiedRoot, options);"},{"lineNumber":85,"author":{"gitId":"-"},"content":" });"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"program.parse(process.argv);"}],"authorContributionMap":{"LamJiuFong":1,"-":86}},{"path":"packages/cli/src/cmd/serve.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"const chokidar \u003d require(\u0027chokidar\u0027);"},{"lineNumber":2,"author":{"gitId":"-"},"content":"const path \u003d require(\u0027path\u0027);"},{"lineNumber":3,"author":{"gitId":"LamJiuFong"},"content":"const readline \u003d require(\u0027readline\u0027);"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"const { Site } \u003d require(\u0027@markbind/core\u0027);"},{"lineNumber":6,"author":{"gitId":"-"},"content":"const { pageVueServerRenderer } \u003d require(\u0027@markbind/core/src/Page/PageVueServerRenderer\u0027);"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"const fsUtil \u003d require(\u0027@markbind/core/src/utils/fsUtil\u0027);"},{"lineNumber":9,"author":{"gitId":"-"},"content":"const { INDEX_MARKDOWN_FILE } \u003d require(\u0027@markbind/core/src/Site/constants\u0027);"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"const cliUtil \u003d require(\u0027../util/cliUtil\u0027);"},{"lineNumber":12,"author":{"gitId":"-"},"content":"const liveServer \u003d require(\u0027../lib/live-server\u0027);"},{"lineNumber":13,"author":{"gitId":"-"},"content":"const logger \u003d require(\u0027../util/logger\u0027);"},{"lineNumber":14,"author":{"gitId":"-"},"content":"const {"},{"lineNumber":15,"author":{"gitId":"-"},"content":" addHandler,"},{"lineNumber":16,"author":{"gitId":"-"},"content":" changeHandler,"},{"lineNumber":17,"author":{"gitId":"-"},"content":" lazyReloadMiddleware,"},{"lineNumber":18,"author":{"gitId":"-"},"content":" removeHandler,"},{"lineNumber":19,"author":{"gitId":"-"},"content":"} \u003d require(\u0027../util/serveUtil\u0027);"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"LamJiuFong"},"content":"function isIPAddressZero(address) {"},{"lineNumber":22,"author":{"gitId":"LamJiuFong"},"content":" const patternForZero \u003d /^0(\\.0)*$/;"},{"lineNumber":23,"author":{"gitId":"LamJiuFong"},"content":""},{"lineNumber":24,"author":{"gitId":"LamJiuFong"},"content":" return patternForZero.test(address);"},{"lineNumber":25,"author":{"gitId":"LamJiuFong"},"content":"}"},{"lineNumber":26,"author":{"gitId":"LamJiuFong"},"content":""},{"lineNumber":27,"author":{"gitId":"LamJiuFong"},"content":"function questionAsync(question) {"},{"lineNumber":28,"author":{"gitId":"LamJiuFong"},"content":" const readlineInterface \u003d readline.createInterface({ input: process.stdin, output: process.stdout });"},{"lineNumber":29,"author":{"gitId":"LamJiuFong"},"content":""},{"lineNumber":30,"author":{"gitId":"LamJiuFong"},"content":" return new Promise((resolve) \u003d\u003e {"},{"lineNumber":31,"author":{"gitId":"LamJiuFong"},"content":" readlineInterface.question(question, (response) \u003d\u003e {"},{"lineNumber":32,"author":{"gitId":"LamJiuFong"},"content":" readlineInterface.close();"},{"lineNumber":33,"author":{"gitId":"LamJiuFong"},"content":" resolve(response);"},{"lineNumber":34,"author":{"gitId":"LamJiuFong"},"content":" });"},{"lineNumber":35,"author":{"gitId":"LamJiuFong"},"content":" });"},{"lineNumber":36,"author":{"gitId":"LamJiuFong"},"content":"}"},{"lineNumber":37,"author":{"gitId":"LamJiuFong"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"function serve(userSpecifiedRoot, options) {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" if (options.dev) {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" logger.useDebugConsole();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" let rootFolder;"},{"lineNumber":44,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" rootFolder \u003d cliUtil.findRootFolder(userSpecifiedRoot, options.siteConfig);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" if (options.forceReload \u0026\u0026 options.onePage) {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" logger.error(\u0027Oops! You shouldn\\\u0027t need to use the --force-reload option with --one-page.\u0027);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" process.exitCode \u003d 1;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" process.exit();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":" } catch (error) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" logger.error(error.message);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" process.exitCode \u003d 1;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" const logsFolder \u003d path.join(rootFolder, \u0027_markbind/logs\u0027);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" const outputFolder \u003d path.join(rootFolder, \u0027_site\u0027);"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" const presentDefaultFile \u003d fsUtil.fileExists(INDEX_MARKDOWN_FILE) ? INDEX_MARKDOWN_FILE : false;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" if (options.onePage \u003d\u003d\u003d true \u0026\u0026 !presentDefaultFile) {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" logger.error(\u0027Oops! It seems that you didn\\\u0027t have the default file index.md.\u0027);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" process.exitCode \u003d 1;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" process.exit();"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":" let onePagePath \u003d options.onePage \u003d\u003d\u003d true ? presentDefaultFile : options.onePage;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" onePagePath \u003d onePagePath ? fsUtil.ensurePosix(onePagePath) : onePagePath;"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" const reloadAfterBackgroundBuild \u003d () \u003d\u003e {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" logger.info(\u0027All opened pages will be reloaded.\u0027);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" liveServer.reloadActiveTabs();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" };"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" const site \u003d new Site(rootFolder, outputFolder, onePagePath,"},{"lineNumber":75,"author":{"gitId":"-"},"content":" options.forceReload, options.siteConfig, options.dev,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" options.backgroundBuild, reloadAfterBackgroundBuild);"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" // server config"},{"lineNumber":79,"author":{"gitId":"-"},"content":" const serverConfig \u003d {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" open: options.open,"},{"lineNumber":81,"author":{"gitId":"-"},"content":" logLevel: 0,"},{"lineNumber":82,"author":{"gitId":"-"},"content":" root: outputFolder,"},{"lineNumber":83,"author":{"gitId":"-"},"content":" port: options.port || 8080,"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" host: options.address || \u0027127.0.0.1\u0027,"},{"lineNumber":85,"author":{"gitId":"-"},"content":" middleware: [],"},{"lineNumber":86,"author":{"gitId":"-"},"content":" mount: [],"},{"lineNumber":87,"author":{"gitId":"-"},"content":" };"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" site"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .readSiteConfig()"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .then(async (config) \u003d\u003e {"},{"lineNumber":92,"author":{"gitId":"LamJiuFong"},"content":" if (isIPAddressZero(serverConfig.host)) {"},{"lineNumber":93,"author":{"gitId":"LamJiuFong"},"content":" const response \u003d await questionAsync("},{"lineNumber":94,"author":{"gitId":"LamJiuFong"},"content":" \u0027WARNING: Using the address \\\u00270.0.0.0\\\u0027 could potentially expose your server to the internet, \u0027"},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":" + \u0027which may pose security risks. \\n\u0027"},{"lineNumber":96,"author":{"gitId":"LamJiuFong"},"content":" + \u0027Proceed with caution? [y/N] \u0027);"},{"lineNumber":97,"author":{"gitId":"LamJiuFong"},"content":" if (response.toLowerCase() \u003d\u003d\u003d \u0027y\u0027) {"},{"lineNumber":98,"author":{"gitId":"LamJiuFong"},"content":" logger.info(\u0027Proceeding to generate website\u0027);"},{"lineNumber":99,"author":{"gitId":"LamJiuFong"},"content":" } else {"},{"lineNumber":100,"author":{"gitId":"LamJiuFong"},"content":" logger.info(\u0027Website generation is cancelled.\u0027);"},{"lineNumber":101,"author":{"gitId":"LamJiuFong"},"content":" process.exit();"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":" }"},{"lineNumber":103,"author":{"gitId":"LamJiuFong"},"content":" }"},{"lineNumber":104,"author":{"gitId":"LamJiuFong"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" serverConfig.mount.push([config.baseUrl || \u0027/\u0027, outputFolder]);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" if (options.dev) {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" // eslint-disable-next-line global-require"},{"lineNumber":109,"author":{"gitId":"-"},"content":" const webpackDevConfig \u003d require(\u0027@markbind/core-web/webpack.dev\u0027);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" await webpackDevConfig.serverEntry(pageVueServerRenderer.updateMarkBindVueBundle, rootFolder);"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" const getMiddlewares \u003d webpackDevConfig.clientEntry;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" getMiddlewares(`${config.baseUrl}/markbind`)"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .forEach(middleware \u003d\u003e serverConfig.middleware.push(middleware));"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" if (onePagePath) {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" const onePageHtmlUrl \u003d `${config.baseUrl}/${onePagePath.replace(/\\.md$/, \u0027.html\u0027)}`;"},{"lineNumber":119,"author":{"gitId":"-"},"content":" serverConfig.open \u003d serverConfig.open \u0026\u0026 onePageHtmlUrl;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" serverConfig.middleware.push(lazyReloadMiddleware(site, rootFolder, config));"},{"lineNumber":121,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" serverConfig.open \u003d serverConfig.open \u0026\u0026 `${config.baseUrl}/`;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" return site.generate();"},{"lineNumber":126,"author":{"gitId":"-"},"content":" })"},{"lineNumber":127,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" const watcher \u003d chokidar.watch(rootFolder, {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" ignored: ["},{"lineNumber":130,"author":{"gitId":"-"},"content":" logsFolder,"},{"lineNumber":131,"author":{"gitId":"-"},"content":" outputFolder,"},{"lineNumber":132,"author":{"gitId":"-"},"content":" /(^|[/\\\\])\\../,"},{"lineNumber":133,"author":{"gitId":"-"},"content":" x \u003d\u003e x.endsWith(\u0027___jb_tmp___\u0027), x \u003d\u003e x.endsWith(\u0027___jb_old___\u0027), // IDE temp files"},{"lineNumber":134,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":135,"author":{"gitId":"-"},"content":" ignoreInitial: true,"},{"lineNumber":136,"author":{"gitId":"-"},"content":" });"},{"lineNumber":137,"author":{"gitId":"-"},"content":" watcher"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .on(\u0027add\u0027, addHandler(site, onePagePath))"},{"lineNumber":139,"author":{"gitId":"-"},"content":" .on(\u0027change\u0027, changeHandler(site, onePagePath))"},{"lineNumber":140,"author":{"gitId":"-"},"content":" .on(\u0027unlink\u0027, removeHandler(site, onePagePath));"},{"lineNumber":141,"author":{"gitId":"-"},"content":" })"},{"lineNumber":142,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" const server \u003d liveServer.start(serverConfig);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" server.addListener(\u0027listening\u0027, () \u003d\u003e {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" const address \u003d server.address();"},{"lineNumber":146,"author":{"gitId":"LamJiuFong"},"content":" const serveHost \u003d address.address;"},{"lineNumber":147,"author":{"gitId":"LamJiuFong"},"content":" const servePort \u003d address.port;"},{"lineNumber":148,"author":{"gitId":"LamJiuFong"},"content":" const serveURL \u003d `http://${serveHost}:${servePort}`;"},{"lineNumber":149,"author":{"gitId":"-"},"content":" logger.info(`Serving \"${outputFolder}\" at ${serveURL}`);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" logger.info(\u0027Press CTRL+C to stop ...\u0027);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" });"},{"lineNumber":152,"author":{"gitId":"-"},"content":" })"},{"lineNumber":153,"author":{"gitId":"-"},"content":" .catch((error) \u003d\u003e {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" logger.error(error.message);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" process.exitCode \u003d 1;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" });"},{"lineNumber":157,"author":{"gitId":"-"},"content":"}"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":"module.exports \u003d {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" serve,"},{"lineNumber":161,"author":{"gitId":"-"},"content":"};"}],"authorContributionMap":{"LamJiuFong":35,"-":126}},{"path":"packages/cli/src/lib/live-server/index.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"#!/usr/bin/env node"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"/*"},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Patch for live-server to expose websocket clients for external use in order to keep track"},{"lineNumber":5,"author":{"gitId":"-"},"content":" * of opened tabs."},{"lineNumber":6,"author":{"gitId":"-"},"content":" *"},{"lineNumber":7,"author":{"gitId":"-"},"content":" * live-server locally keeps track of opened client websockets in order for it to be able"},{"lineNumber":8,"author":{"gitId":"-"},"content":" * to perform live reload whenever there are changes in the watched directory. However, the"},{"lineNumber":9,"author":{"gitId":"-"},"content":" * clients list is stored internally."},{"lineNumber":10,"author":{"gitId":"-"},"content":" *"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * This patch allows us to gain access to the information that can be gathered with the client"},{"lineNumber":12,"author":{"gitId":"-"},"content":" * websockets, which in turn enables the support for multiple-tab development."},{"lineNumber":13,"author":{"gitId":"-"},"content":" *"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Patch is written against live-server v1.2.1"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * The **only** changes are prefaced with a CHANGED comment"},{"lineNumber":16,"author":{"gitId":"-"},"content":" */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"var fs \u003d require(\u0027fs\u0027),"},{"lineNumber":19,"author":{"gitId":"-"},"content":" connect \u003d require(\u0027connect\u0027),"},{"lineNumber":20,"author":{"gitId":"-"},"content":" serveIndex \u003d require(\u0027serve-index\u0027),"},{"lineNumber":21,"author":{"gitId":"-"},"content":" logger \u003d require(\u0027morgan\u0027),"},{"lineNumber":22,"author":{"gitId":"-"},"content":" WebSocket \u003d require(\u0027faye-websocket\u0027),"},{"lineNumber":23,"author":{"gitId":"-"},"content":" path \u003d require(\u0027path\u0027),"},{"lineNumber":24,"author":{"gitId":"-"},"content":" parse \u003d require(\u0027url-parse\u0027),"},{"lineNumber":25,"author":{"gitId":"-"},"content":" http \u003d require(\u0027http\u0027),"},{"lineNumber":26,"author":{"gitId":"-"},"content":" send \u003d require(\u0027send\u0027),"},{"lineNumber":27,"author":{"gitId":"-"},"content":" open \u003d require(\u0027opn\u0027),"},{"lineNumber":28,"author":{"gitId":"-"},"content":" es \u003d require(\"event-stream\"),"},{"lineNumber":29,"author":{"gitId":"-"},"content":" os \u003d require(\u0027os\u0027),"},{"lineNumber":30,"author":{"gitId":"-"},"content":" chokidar \u003d require(\u0027chokidar\u0027),"},{"lineNumber":31,"author":{"gitId":"-"},"content":" // CHANGED: added MarkBind\u0027s core fsUtil package"},{"lineNumber":32,"author":{"gitId":"-"},"content":" fsUtil \u003d require(\u0027@markbind/core/src/utils/fsUtil\u0027);"},{"lineNumber":33,"author":{"gitId":"-"},"content":"require(\u0027colors\u0027);"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"// CHANGED: added absolute path that directs to the live-server directory"},{"lineNumber":36,"author":{"gitId":"-"},"content":"const pathToLiveServerDir \u003d path.dirname(require.resolve(\u0027live-server\u0027));"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"// CHANGED: correctly resolve to the live-server directory"},{"lineNumber":39,"author":{"gitId":"-"},"content":"var INJECTED_CODE \u003d fs.readFileSync(path.join(pathToLiveServerDir, \"injected.html\"), \"utf8\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"var LiveServer \u003d {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" server: null,"},{"lineNumber":43,"author":{"gitId":"-"},"content":" watcher: null,"},{"lineNumber":44,"author":{"gitId":"-"},"content":" logLevel: 2,"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" // CHANGED: added properties relevant to MarkBind live-preview"},{"lineNumber":47,"author":{"gitId":"-"},"content":" activeTabs: [],"},{"lineNumber":48,"author":{"gitId":"-"},"content":" baseUrl: \u0027\u0027,"},{"lineNumber":49,"author":{"gitId":"-"},"content":"};"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":"function escape(html){"},{"lineNumber":52,"author":{"gitId":"-"},"content":" return String(html)"},{"lineNumber":53,"author":{"gitId":"-"},"content":" .replace(/\u0026(?!\\w+;)/g, \u0027\u0026amp;\u0027)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .replace(/\u003c/g, \u0027\u0026lt;\u0027)"},{"lineNumber":55,"author":{"gitId":"-"},"content":" .replace(/\u003e/g, \u0027\u0026gt;\u0027)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" .replace(/\"/g, \u0027\u0026quot;\u0027);"},{"lineNumber":57,"author":{"gitId":"-"},"content":"}"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"// Based on connect.static(), but streamlined and with added code injecter"},{"lineNumber":60,"author":{"gitId":"-"},"content":"function staticServer(root) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" var isFile \u003d false;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" try { // For supporting mounting files instead of just directories"},{"lineNumber":63,"author":{"gitId":"-"},"content":" isFile \u003d fs.statSync(root).isFile();"},{"lineNumber":64,"author":{"gitId":"-"},"content":" } catch (e) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (e.code !\u003d\u003d \"ENOENT\") throw e;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":" return function(req, res, next) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" if (req.method !\u003d\u003d \u0027GET\u0027 \u0026\u0026 req.method !\u003d\u003d \u0027HEAD\u0027) return next();"},{"lineNumber":69,"author":{"gitId":"-"},"content":" const reqpath \u003d isFile ? \"\" : parse(req.url).pathname;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" var hasNoOrigin \u003d !req.headers.origin;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" var injectCandidates \u003d [ new RegExp(\"\u003c/body\u003e\", \"i\"), new RegExp(\"\u003c/svg\u003e\"), new RegExp(\"\u003c/head\u003e\", \"i\")];"},{"lineNumber":72,"author":{"gitId":"-"},"content":" var injectTag \u003d null;"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" function directory() {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" var pathname \u003d parse(req.url).pathname;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" res.statusCode \u003d 301;"},{"lineNumber":77,"author":{"gitId":"-"},"content":" res.setHeader(\u0027Location\u0027, pathname + \u0027/\u0027);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" res.end(\u0027Redirecting to \u0027 + escape(pathname) + \u0027/\u0027);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" function file(filepath /*, stat*/) {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" var x \u003d path.extname(filepath).toLocaleLowerCase(), match,"},{"lineNumber":83,"author":{"gitId":"-"},"content":" possibleExtensions \u003d [ \"\", \".html\", \".htm\", \".xhtml\", \".php\", \".svg\" ];"},{"lineNumber":84,"author":{"gitId":"-"},"content":" if (hasNoOrigin \u0026\u0026 (possibleExtensions.indexOf(x) \u003e -1)) {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" // TODO: Sync file read here is not nice, but we need to determine if the html should be injected or not"},{"lineNumber":86,"author":{"gitId":"-"},"content":" var contents \u003d fs.readFileSync(filepath, \"utf8\");"},{"lineNumber":87,"author":{"gitId":"-"},"content":" for (var i \u003d 0; i \u003c injectCandidates.length; ++i) {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" match \u003d injectCandidates[i].exec(contents);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" if (match) {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" injectTag \u003d match[0];"},{"lineNumber":91,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" if (injectTag \u003d\u003d\u003d null \u0026\u0026 LiveServer.logLevel \u003e\u003d 3) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" console.warn(\"Failed to inject refresh script!\".yellow,"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \"Couldn\u0027t find any of the tags \", injectCandidates, \"from\", filepath);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" function error(err) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" if (err.status \u003d\u003d\u003d 404) return next();"},{"lineNumber":104,"author":{"gitId":"-"},"content":" next(err);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" function inject(stream) {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" if (injectTag) {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" // We need to modify the length given to browser"},{"lineNumber":110,"author":{"gitId":"-"},"content":" var len \u003d INJECTED_CODE.length + res.getHeader(\u0027Content-Length\u0027);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" res.setHeader(\u0027Content-Length\u0027, len);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" var originalPipe \u003d stream.pipe;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" stream.pipe \u003d function(resp) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" originalPipe.call(stream, es.replace(new RegExp(injectTag, \"i\"), INJECTED_CODE + injectTag)).pipe(resp);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" };"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" send(req, reqpath, { root: root })"},{"lineNumber":120,"author":{"gitId":"-"},"content":" .on(\u0027error\u0027, error)"},{"lineNumber":121,"author":{"gitId":"-"},"content":" .on(\u0027directory\u0027, directory)"},{"lineNumber":122,"author":{"gitId":"-"},"content":" .on(\u0027file\u0027, file)"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .on(\u0027stream\u0027, inject)"},{"lineNumber":124,"author":{"gitId":"-"},"content":" .pipe(res);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" };"},{"lineNumber":126,"author":{"gitId":"-"},"content":"}"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":129,"author":{"gitId":"-"},"content":" * Rewrite request URL and pass it back to the static handler."},{"lineNumber":130,"author":{"gitId":"-"},"content":" * @param staticHandler {function} Next handler"},{"lineNumber":131,"author":{"gitId":"-"},"content":" * @param file {string} Path to the entry point file"},{"lineNumber":132,"author":{"gitId":"-"},"content":" */"},{"lineNumber":133,"author":{"gitId":"-"},"content":"function entryPoint(staticHandler, file) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" if (!file) return function(req, res, next) { next(); };"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" return function(req, res, next) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" req.url \u003d \"/\" + file;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" staticHandler(req, res, next);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" };"},{"lineNumber":140,"author":{"gitId":"-"},"content":"}"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Start a live server with parameters given as an object"},{"lineNumber":144,"author":{"gitId":"LamJiuFong"},"content":" * @param host {string} Address to bind to (default: 127.0.0.1)"},{"lineNumber":145,"author":{"gitId":"-"},"content":" * @param port {number} Port number (default: 8080)"},{"lineNumber":146,"author":{"gitId":"-"},"content":" * @param root {string} Path to root directory (default: cwd)"},{"lineNumber":147,"author":{"gitId":"-"},"content":" * @param watch {array} Paths to exclusively watch for changes"},{"lineNumber":148,"author":{"gitId":"-"},"content":" * @param ignore {array} Paths to ignore when watching files for changes"},{"lineNumber":149,"author":{"gitId":"-"},"content":" * @param ignorePattern {regexp} Ignore files by RegExp"},{"lineNumber":150,"author":{"gitId":"-"},"content":" * @param noCssInject Don\u0027t inject CSS changes, just reload as with any other file change"},{"lineNumber":151,"author":{"gitId":"-"},"content":" * @param open {(string|string[])} Subpath(s) to open in browser, use false to suppress launch (default: server root)"},{"lineNumber":152,"author":{"gitId":"-"},"content":" * @param mount {array} Mount directories onto a route, e.g. [[\u0027/components\u0027, \u0027./node_modules\u0027]]."},{"lineNumber":153,"author":{"gitId":"-"},"content":" * @param logLevel {number} 0 \u003d errors only, 1 \u003d some, 2 \u003d lots"},{"lineNumber":154,"author":{"gitId":"-"},"content":" * @param file {string} Path to the entry point file"},{"lineNumber":155,"author":{"gitId":"-"},"content":" * @param wait {number} Server will wait for all changes, before reloading"},{"lineNumber":156,"author":{"gitId":"-"},"content":" * @param htpasswd {string} Path to htpasswd file to enable HTTP Basic authentication"},{"lineNumber":157,"author":{"gitId":"-"},"content":" * @param middleware {array} Append middleware to stack, e.g. [function(req, res, next) { next(); }]."},{"lineNumber":158,"author":{"gitId":"-"},"content":" */"},{"lineNumber":159,"author":{"gitId":"-"},"content":"LiveServer.start \u003d function(options) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" options \u003d options || {};"},{"lineNumber":161,"author":{"gitId":"LamJiuFong"},"content":" var host \u003d options.host ?? \u0027127.0.0.1\u0027;"},{"lineNumber":162,"author":{"gitId":"LamJiuFong"},"content":" var port \u003d options.port ?? 8080; // 0 means random"},{"lineNumber":163,"author":{"gitId":"-"},"content":" var root \u003d options.root || process.cwd();"},{"lineNumber":164,"author":{"gitId":"-"},"content":" var mount \u003d options.mount || [];"},{"lineNumber":165,"author":{"gitId":"-"},"content":" var watchPaths \u003d options.watch || [root];"},{"lineNumber":166,"author":{"gitId":"-"},"content":" LiveServer.logLevel \u003d options.logLevel \u003d\u003d\u003d undefined ? 2 : options.logLevel;"},{"lineNumber":167,"author":{"gitId":"-"},"content":" var openPath \u003d (options.open \u003d\u003d\u003d undefined || options.open \u003d\u003d\u003d true) ?"},{"lineNumber":168,"author":{"gitId":"-"},"content":" \"\" : ((options.open \u003d\u003d\u003d null || options.open \u003d\u003d\u003d false) ? null : options.open);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" if (options.noBrowser) openPath \u003d null; // Backwards compatibility with 0.7.0"},{"lineNumber":170,"author":{"gitId":"-"},"content":" var file \u003d options.file;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" var staticServerHandler \u003d staticServer(root);"},{"lineNumber":172,"author":{"gitId":"-"},"content":" var wait \u003d options.wait \u003d\u003d\u003d undefined ? 100 : options.wait;"},{"lineNumber":173,"author":{"gitId":"-"},"content":" var browser \u003d options.browser || null;"},{"lineNumber":174,"author":{"gitId":"-"},"content":" var htpasswd \u003d options.htpasswd || null;"},{"lineNumber":175,"author":{"gitId":"-"},"content":" var cors \u003d options.cors || false;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" var https \u003d options.https || null;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" var proxy \u003d options.proxy || [];"},{"lineNumber":178,"author":{"gitId":"-"},"content":" var middleware \u003d options.middleware || [];"},{"lineNumber":179,"author":{"gitId":"-"},"content":" var noCssInject \u003d options.noCssInject;"},{"lineNumber":180,"author":{"gitId":"-"},"content":" var httpsModule \u003d options.httpsModule;"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" if (httpsModule) {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" require.resolve(httpsModule);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" } catch (e) {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" console.error((\"HTTPS module \\\"\" + httpsModule + \"\\\" you\u0027ve provided was not found.\").red);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" console.error(\"Did you do\", \"\\\"npm install \" + httpsModule + \"\\\"?\");"},{"lineNumber":188,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" httpsModule \u003d \"https\";"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" // Setup a web server"},{"lineNumber":195,"author":{"gitId":"-"},"content":" var app \u003d connect();"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" // Add logger. Level 2 logs only errors"},{"lineNumber":198,"author":{"gitId":"-"},"content":" if (LiveServer.logLevel \u003d\u003d\u003d 2) {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" app.use(logger(\u0027dev\u0027, {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" skip: function (req, res) { return res.statusCode \u003c 400; }"},{"lineNumber":201,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":202,"author":{"gitId":"-"},"content":" // Level 2 or above logs all requests"},{"lineNumber":203,"author":{"gitId":"-"},"content":" } else if (LiveServer.logLevel \u003e 2) {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" app.use(logger(\u0027dev\u0027));"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":" if (options.spa) {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" middleware.push(\"spa\");"},{"lineNumber":208,"author":{"gitId":"-"},"content":" }"},{"lineNumber":209,"author":{"gitId":"-"},"content":" // Add middleware"},{"lineNumber":210,"author":{"gitId":"-"},"content":" middleware.map(function(mw) {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" if (typeof mw \u003d\u003d\u003d \"string\") {"},{"lineNumber":212,"author":{"gitId":"-"},"content":" var ext \u003d path.extname(mw).toLocaleLowerCase();"},{"lineNumber":213,"author":{"gitId":"-"},"content":" if (ext !\u003d\u003d \".js\") {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" // CHANGED: correctly resolve to the live-server directory"},{"lineNumber":215,"author":{"gitId":"-"},"content":" mw \u003d require(path.join(pathToLiveServerDir, \"middleware\", mw + \".js\"));"},{"lineNumber":216,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" mw \u003d require(mw);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":" app.use(mw);"},{"lineNumber":221,"author":{"gitId":"-"},"content":" });"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":" // Use http-auth if configured"},{"lineNumber":224,"author":{"gitId":"-"},"content":" if (htpasswd !\u003d\u003d null) {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" var auth \u003d require(\u0027http-auth\u0027);"},{"lineNumber":226,"author":{"gitId":"-"},"content":" var basic \u003d auth.basic({"},{"lineNumber":227,"author":{"gitId":"-"},"content":" realm: \"Please authorize\","},{"lineNumber":228,"author":{"gitId":"-"},"content":" file: htpasswd"},{"lineNumber":229,"author":{"gitId":"-"},"content":" });"},{"lineNumber":230,"author":{"gitId":"-"},"content":" app.use(auth.connect(basic));"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":" if (cors) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" app.use(require(\"cors\")({"},{"lineNumber":234,"author":{"gitId":"-"},"content":" origin: true, // reflecting request origin"},{"lineNumber":235,"author":{"gitId":"-"},"content":" credentials: true // allowing requests with credentials"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }));"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":" mount.forEach(function(mountRule) {"},{"lineNumber":239,"author":{"gitId":"-"},"content":" var mountPath \u003d path.resolve(process.cwd(), mountRule[1]);"},{"lineNumber":240,"author":{"gitId":"-"},"content":" if (!options.watch) // Auto add mount paths to wathing but only if exclusive path option is not given"},{"lineNumber":241,"author":{"gitId":"-"},"content":" watchPaths.push(mountPath);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" app.use(mountRule[0], staticServer(mountPath));"},{"lineNumber":243,"author":{"gitId":"-"},"content":" if (LiveServer.logLevel \u003e\u003d 1)"},{"lineNumber":244,"author":{"gitId":"-"},"content":" console.log(\u0027Mapping %s to \"%s\"\u0027, mountRule[0], mountPath);"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" // CHANGED: added baseUrl initialization based on the first mount rule"},{"lineNumber":247,"author":{"gitId":"-"},"content":" if (LiveServer.baseUrl \u003d\u003d\u003d \u0027\u0027) {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" LiveServer.baseUrl \u003d mountRule[0] || \u0027/\u0027;"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":250,"author":{"gitId":"-"},"content":" });"},{"lineNumber":251,"author":{"gitId":"-"},"content":" proxy.forEach(function(proxyRule) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" var proxyOpts \u003d parse(proxyRule[1]);"},{"lineNumber":253,"author":{"gitId":"-"},"content":" proxyOpts.via \u003d true;"},{"lineNumber":254,"author":{"gitId":"-"},"content":" proxyOpts.preserveHost \u003d true;"},{"lineNumber":255,"author":{"gitId":"-"},"content":" app.use(proxyRule[0], require(\u0027proxy-middleware\u0027)(proxyOpts));"},{"lineNumber":256,"author":{"gitId":"-"},"content":" if (LiveServer.logLevel \u003e\u003d 1)"},{"lineNumber":257,"author":{"gitId":"-"},"content":" console.log(\u0027Mapping %s to \"%s\"\u0027, proxyRule[0], proxyRule[1]);"},{"lineNumber":258,"author":{"gitId":"-"},"content":" });"},{"lineNumber":259,"author":{"gitId":"-"},"content":" app.use(staticServerHandler) // Custom static server"},{"lineNumber":260,"author":{"gitId":"-"},"content":" .use(entryPoint(staticServerHandler, file))"},{"lineNumber":261,"author":{"gitId":"-"},"content":" .use(serveIndex(root, { icons: true }));"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" var server, protocol;"},{"lineNumber":264,"author":{"gitId":"-"},"content":" if (https !\u003d\u003d null) {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" var httpsConfig \u003d https;"},{"lineNumber":266,"author":{"gitId":"-"},"content":" if (typeof https \u003d\u003d\u003d \"string\") {"},{"lineNumber":267,"author":{"gitId":"-"},"content":" httpsConfig \u003d require(path.resolve(process.cwd(), https));"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":" server \u003d require(httpsModule).createServer(httpsConfig, app);"},{"lineNumber":270,"author":{"gitId":"-"},"content":" protocol \u003d \"https\";"},{"lineNumber":271,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" server \u003d http.createServer(app);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" protocol \u003d \"http\";"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" // Handle server startup errors"},{"lineNumber":277,"author":{"gitId":"-"},"content":" server.addListener(\u0027error\u0027, function(e) {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" if (e.code \u003d\u003d\u003d \u0027EADDRINUSE\u0027) {"},{"lineNumber":279,"author":{"gitId":"-"},"content":" var serveURL \u003d protocol + \u0027://\u0027 + host + \u0027:\u0027 + port;"},{"lineNumber":280,"author":{"gitId":"-"},"content":" console.log(\u0027%s is already in use. Trying another port.\u0027.yellow, serveURL);"},{"lineNumber":281,"author":{"gitId":"-"},"content":" setTimeout(function() {"},{"lineNumber":282,"author":{"gitId":"-"},"content":" server.listen(0, host);"},{"lineNumber":283,"author":{"gitId":"-"},"content":" }, 1000);"},{"lineNumber":284,"author":{"gitId":"LamJiuFong"},"content":" } else if (e.code \u003d\u003d\u003d \u0027EADDRNOTAVAIL\u0027) {"},{"lineNumber":285,"author":{"gitId":"LamJiuFong"},"content":" console.log(\u0027%s is not available. Trying another address\u0027.yellow, host);"},{"lineNumber":286,"author":{"gitId":"LamJiuFong"},"content":" setTimeout(function() {"},{"lineNumber":287,"author":{"gitId":"LamJiuFong"},"content":" server.listen(port, \u0027127.0.0.1\u0027);"},{"lineNumber":288,"author":{"gitId":"LamJiuFong"},"content":" }, 1000);"},{"lineNumber":289,"author":{"gitId":"LamJiuFong"},"content":" }"},{"lineNumber":290,"author":{"gitId":"LamJiuFong"},"content":" else {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" console.error(e.toString().red);"},{"lineNumber":292,"author":{"gitId":"-"},"content":" LiveServer.shutdown();"},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":" });"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":" // Handle successful server"},{"lineNumber":297,"author":{"gitId":"-"},"content":" server.addListener(\u0027listening\u0027, function(/*e*/) {"},{"lineNumber":298,"author":{"gitId":"-"},"content":" LiveServer.server \u003d server;"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" var address \u003d server.address();"},{"lineNumber":301,"author":{"gitId":"LamJiuFong"},"content":" var serveHost \u003d address.address;"},{"lineNumber":302,"author":{"gitId":"LamJiuFong"},"content":" var openHost \u003d host;"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" var serveURL \u003d protocol + \u0027://\u0027 + serveHost + \u0027:\u0027 + address.port;"},{"lineNumber":305,"author":{"gitId":"-"},"content":" var openURL \u003d protocol + \u0027://\u0027 + openHost + \u0027:\u0027 + address.port;"},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":" var serveURLs \u003d [ serveURL ];"},{"lineNumber":308,"author":{"gitId":"-"},"content":" if (LiveServer.logLevel \u003e 2 \u0026\u0026 address.address \u003d\u003d\u003d \"0.0.0.0\") {"},{"lineNumber":309,"author":{"gitId":"-"},"content":" var ifaces \u003d os.networkInterfaces();"},{"lineNumber":310,"author":{"gitId":"-"},"content":" serveURLs \u003d Object.keys(ifaces)"},{"lineNumber":311,"author":{"gitId":"-"},"content":" .map(function(iface) {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" return ifaces[iface];"},{"lineNumber":313,"author":{"gitId":"-"},"content":" })"},{"lineNumber":314,"author":{"gitId":"-"},"content":" // flatten address data, use only IPv4"},{"lineNumber":315,"author":{"gitId":"-"},"content":" .reduce(function(data, addresses) {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" addresses.filter(function(addr) {"},{"lineNumber":317,"author":{"gitId":"-"},"content":" return addr.family \u003d\u003d\u003d \"IPv4\";"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }).forEach(function(addr) {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" data.push(addr);"},{"lineNumber":320,"author":{"gitId":"-"},"content":" });"},{"lineNumber":321,"author":{"gitId":"-"},"content":" return data;"},{"lineNumber":322,"author":{"gitId":"-"},"content":" }, [])"},{"lineNumber":323,"author":{"gitId":"-"},"content":" .map(function(addr) {"},{"lineNumber":324,"author":{"gitId":"-"},"content":" return protocol + \"://\" + addr.address + \":\" + address.port;"},{"lineNumber":325,"author":{"gitId":"-"},"content":" });"},{"lineNumber":326,"author":{"gitId":"-"},"content":" }"},{"lineNumber":327,"author":{"gitId":"-"},"content":""},{"lineNumber":328,"author":{"gitId":"-"},"content":" // Output"},{"lineNumber":329,"author":{"gitId":"-"},"content":" if (LiveServer.logLevel \u003e\u003d 1) {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" if (serveURL \u003d\u003d\u003d openURL)"},{"lineNumber":331,"author":{"gitId":"-"},"content":" if (serveURLs.length \u003d\u003d\u003d 1) {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" console.log((\"Serving \\\"%s\\\" at %s\").green, root, serveURLs[0]);"},{"lineNumber":333,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":334,"author":{"gitId":"-"},"content":" console.log((\"Serving \\\"%s\\\" at\\n\\t%s\").green, root, serveURLs.join(\"\\n\\t\"));"},{"lineNumber":335,"author":{"gitId":"-"},"content":" }"},{"lineNumber":336,"author":{"gitId":"-"},"content":" else"},{"lineNumber":337,"author":{"gitId":"-"},"content":" console.log((\"Serving \\\"%s\\\" at %s (%s)\").green, root, openURL, serveURL);"},{"lineNumber":338,"author":{"gitId":"-"},"content":" }"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" // Launch browser"},{"lineNumber":341,"author":{"gitId":"-"},"content":" if (openPath !\u003d\u003d null)"},{"lineNumber":342,"author":{"gitId":"-"},"content":" if (typeof openPath \u003d\u003d\u003d \"object\") {"},{"lineNumber":343,"author":{"gitId":"-"},"content":" openPath.forEach(function(p) {"},{"lineNumber":344,"author":{"gitId":"-"},"content":" open(openURL + p, {app: browser});"},{"lineNumber":345,"author":{"gitId":"-"},"content":" });"},{"lineNumber":346,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":347,"author":{"gitId":"-"},"content":" open(openURL + openPath, {app: browser});"},{"lineNumber":348,"author":{"gitId":"-"},"content":" }"},{"lineNumber":349,"author":{"gitId":"-"},"content":" });"},{"lineNumber":350,"author":{"gitId":"-"},"content":""},{"lineNumber":351,"author":{"gitId":"-"},"content":" // Setup server to listen at port"},{"lineNumber":352,"author":{"gitId":"-"},"content":" server.listen(port, host);"},{"lineNumber":353,"author":{"gitId":"-"},"content":" "},{"lineNumber":354,"author":{"gitId":"-"},"content":" // WebSocket"},{"lineNumber":355,"author":{"gitId":"-"},"content":" // CHANGED: Removed local clients variable in favour of the clients in active tabs entries"},{"lineNumber":356,"author":{"gitId":"-"},"content":" server.addListener(\u0027upgrade\u0027, function(request, socket, head) {"},{"lineNumber":357,"author":{"gitId":"-"},"content":" var ws \u003d new WebSocket(request, socket, head);"},{"lineNumber":358,"author":{"gitId":"-"},"content":" ws.onopen \u003d function() { ws.send(\u0027connected\u0027); };"},{"lineNumber":359,"author":{"gitId":"-"},"content":""},{"lineNumber":360,"author":{"gitId":"-"},"content":" if (wait \u003e 0) {"},{"lineNumber":361,"author":{"gitId":"-"},"content":" (function() {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" var wssend \u003d ws.send;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" var waitTimeout;"},{"lineNumber":364,"author":{"gitId":"-"},"content":" ws.send \u003d function() {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" var args \u003d arguments;"},{"lineNumber":366,"author":{"gitId":"-"},"content":" if (waitTimeout) clearTimeout(waitTimeout);"},{"lineNumber":367,"author":{"gitId":"-"},"content":" waitTimeout \u003d setTimeout(function(){"},{"lineNumber":368,"author":{"gitId":"-"},"content":" wssend.apply(ws, args);"},{"lineNumber":369,"author":{"gitId":"-"},"content":" }, wait);"},{"lineNumber":370,"author":{"gitId":"-"},"content":" };"},{"lineNumber":371,"author":{"gitId":"-"},"content":" })();"},{"lineNumber":372,"author":{"gitId":"-"},"content":" }"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":" ws.onclose \u003d function() {"},{"lineNumber":375,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":376,"author":{"gitId":"-"},"content":" * CHANGED: Modified to remove the active tab that has the closed socket as"},{"lineNumber":377,"author":{"gitId":"-"},"content":" * its current client on socket close. In other words, only socket close event that"},{"lineNumber":378,"author":{"gitId":"-"},"content":" * does not come from live reload will remove the active tab."},{"lineNumber":379,"author":{"gitId":"-"},"content":" */"},{"lineNumber":380,"author":{"gitId":"-"},"content":" LiveServer.activeTabs \u003d LiveServer.activeTabs.filter(tab \u003d\u003e tab.client !\u003d\u003d ws);"},{"lineNumber":381,"author":{"gitId":"-"},"content":" };"},{"lineNumber":382,"author":{"gitId":"-"},"content":""},{"lineNumber":383,"author":{"gitId":"-"},"content":" // CHANGED: Enhanced client websocket addition process to record the client as an active tab entry"},{"lineNumber":384,"author":{"gitId":"-"},"content":" const reqUrl \u003d path.dirname(request.url);"},{"lineNumber":385,"author":{"gitId":"-"},"content":" const normalizedUrl \u003d fsUtil.ensurePosix(path.relative(LiveServer.baseUrl, reqUrl));"},{"lineNumber":386,"author":{"gitId":"-"},"content":""},{"lineNumber":387,"author":{"gitId":"-"},"content":" // If an entry with empty client is present, reuse existing entry to maintain order from pre-reload "},{"lineNumber":388,"author":{"gitId":"-"},"content":" const existingTab \u003d LiveServer.activeTabs.find(tab \u003d\u003e tab.url \u003d\u003d\u003d normalizedUrl \u0026\u0026 !tab.client);"},{"lineNumber":389,"author":{"gitId":"-"},"content":" if (existingTab) {"},{"lineNumber":390,"author":{"gitId":"-"},"content":" existingTab.client \u003d ws;"},{"lineNumber":391,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":392,"author":{"gitId":"-"},"content":" }"},{"lineNumber":393,"author":{"gitId":"-"},"content":""},{"lineNumber":394,"author":{"gitId":"-"},"content":" // Insert new entry to the active tabs list"},{"lineNumber":395,"author":{"gitId":"-"},"content":" LiveServer.activeTabs.unshift({ url: normalizedUrl, client: ws });"},{"lineNumber":396,"author":{"gitId":"-"},"content":" });"},{"lineNumber":397,"author":{"gitId":"-"},"content":""},{"lineNumber":398,"author":{"gitId":"-"},"content":" var ignored \u003d ["},{"lineNumber":399,"author":{"gitId":"-"},"content":" function(testPath) { // Always ignore dotfiles (important e.g. because editor hidden temp files)"},{"lineNumber":400,"author":{"gitId":"-"},"content":" return testPath !\u003d\u003d \".\" \u0026\u0026 /(^[.#]|(?:__|~)$)/.test(path.basename(testPath));"},{"lineNumber":401,"author":{"gitId":"-"},"content":" }"},{"lineNumber":402,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":403,"author":{"gitId":"-"},"content":" if (options.ignore) {"},{"lineNumber":404,"author":{"gitId":"-"},"content":" ignored \u003d ignored.concat(options.ignore);"},{"lineNumber":405,"author":{"gitId":"-"},"content":" }"},{"lineNumber":406,"author":{"gitId":"-"},"content":" if (options.ignorePattern) {"},{"lineNumber":407,"author":{"gitId":"-"},"content":" ignored.push(options.ignorePattern);"},{"lineNumber":408,"author":{"gitId":"-"},"content":" }"},{"lineNumber":409,"author":{"gitId":"-"},"content":" // Setup file watcher"},{"lineNumber":410,"author":{"gitId":"-"},"content":" LiveServer.watcher \u003d chokidar.watch(watchPaths, {"},{"lineNumber":411,"author":{"gitId":"-"},"content":" ignored: ignored,"},{"lineNumber":412,"author":{"gitId":"-"},"content":" ignoreInitial: true"},{"lineNumber":413,"author":{"gitId":"-"},"content":" });"},{"lineNumber":414,"author":{"gitId":"-"},"content":" function handleChange(changePath) {"},{"lineNumber":415,"author":{"gitId":"-"},"content":" var cssChange \u003d path.extname(changePath) \u003d\u003d\u003d \".css\" \u0026\u0026 !noCssInject;"},{"lineNumber":416,"author":{"gitId":"-"},"content":" if (LiveServer.logLevel \u003e\u003d 1) {"},{"lineNumber":417,"author":{"gitId":"-"},"content":" if (cssChange)"},{"lineNumber":418,"author":{"gitId":"-"},"content":" console.log(\"CSS change detected\".magenta, changePath);"},{"lineNumber":419,"author":{"gitId":"-"},"content":" else console.log(\"Change detected\".cyan, changePath);"},{"lineNumber":420,"author":{"gitId":"-"},"content":" }"},{"lineNumber":421,"author":{"gitId":"-"},"content":""},{"lineNumber":422,"author":{"gitId":"-"},"content":" // CHANGED: Modified the send message to clients routine"},{"lineNumber":423,"author":{"gitId":"-"},"content":""},{"lineNumber":424,"author":{"gitId":"-"},"content":" if (cssChange) {"},{"lineNumber":425,"author":{"gitId":"-"},"content":" LiveServer.sendMessageToActiveTabs(\u0027refreshcss\u0027);"},{"lineNumber":426,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":427,"author":{"gitId":"-"},"content":" }"},{"lineNumber":428,"author":{"gitId":"-"},"content":""},{"lineNumber":429,"author":{"gitId":"-"},"content":" // Only reload active tabs if the changed file is opened in one of them"},{"lineNumber":430,"author":{"gitId":"-"},"content":" const normalizeUrl \u003d (url) \u003d\u003e {"},{"lineNumber":431,"author":{"gitId":"-"},"content":" if (!url || url.length \u003d\u003d\u003d 0) {"},{"lineNumber":432,"author":{"gitId":"-"},"content":" return \"index.html\";"},{"lineNumber":433,"author":{"gitId":"-"},"content":" }"},{"lineNumber":434,"author":{"gitId":"-"},"content":""},{"lineNumber":435,"author":{"gitId":"-"},"content":" if (path.extname(url) \u003d\u003d\u003d \u0027.html\u0027) {"},{"lineNumber":436,"author":{"gitId":"-"},"content":" return url;"},{"lineNumber":437,"author":{"gitId":"-"},"content":" }"},{"lineNumber":438,"author":{"gitId":"-"},"content":""},{"lineNumber":439,"author":{"gitId":"-"},"content":" return path.posix.join(url, \u0027index.html\u0027);"},{"lineNumber":440,"author":{"gitId":"-"},"content":" };"},{"lineNumber":441,"author":{"gitId":"-"},"content":""},{"lineNumber":442,"author":{"gitId":"-"},"content":" let normalizedPath \u003d fsUtil.ensurePosix(path.relative(root, changePath));"},{"lineNumber":443,"author":{"gitId":"-"},"content":" if (LiveServer.activeTabs.some(tab \u003d\u003e tab.client \u0026\u0026 normalizeUrl(tab.url) \u003d\u003d\u003d normalizedPath)) {"},{"lineNumber":444,"author":{"gitId":"-"},"content":" LiveServer.sendMessageToActiveTabs(\u0027reload\u0027);"},{"lineNumber":445,"author":{"gitId":"-"},"content":" }"},{"lineNumber":446,"author":{"gitId":"-"},"content":" }"},{"lineNumber":447,"author":{"gitId":"-"},"content":" LiveServer.watcher"},{"lineNumber":448,"author":{"gitId":"-"},"content":" .on(\"change\", handleChange)"},{"lineNumber":449,"author":{"gitId":"-"},"content":" .on(\"add\", handleChange)"},{"lineNumber":450,"author":{"gitId":"-"},"content":" .on(\"unlink\", handleChange)"},{"lineNumber":451,"author":{"gitId":"-"},"content":" .on(\"addDir\", handleChange)"},{"lineNumber":452,"author":{"gitId":"-"},"content":" .on(\"unlinkDir\", handleChange)"},{"lineNumber":453,"author":{"gitId":"-"},"content":" .on(\"ready\", function () {"},{"lineNumber":454,"author":{"gitId":"-"},"content":" if (LiveServer.logLevel \u003e\u003d 1)"},{"lineNumber":455,"author":{"gitId":"-"},"content":" console.log(\"Ready for changes\".cyan);"},{"lineNumber":456,"author":{"gitId":"-"},"content":" })"},{"lineNumber":457,"author":{"gitId":"-"},"content":" .on(\"error\", function (err) {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" console.log(\"ERROR:\".red, err);"},{"lineNumber":459,"author":{"gitId":"-"},"content":" });"},{"lineNumber":460,"author":{"gitId":"-"},"content":""},{"lineNumber":461,"author":{"gitId":"-"},"content":" return server;"},{"lineNumber":462,"author":{"gitId":"-"},"content":"};"},{"lineNumber":463,"author":{"gitId":"-"},"content":""},{"lineNumber":464,"author":{"gitId":"-"},"content":"LiveServer.shutdown \u003d function() {"},{"lineNumber":465,"author":{"gitId":"-"},"content":" var watcher \u003d LiveServer.watcher;"},{"lineNumber":466,"author":{"gitId":"-"},"content":" if (watcher) {"},{"lineNumber":467,"author":{"gitId":"-"},"content":" watcher.close();"},{"lineNumber":468,"author":{"gitId":"-"},"content":" }"},{"lineNumber":469,"author":{"gitId":"-"},"content":" var server \u003d LiveServer.server;"},{"lineNumber":470,"author":{"gitId":"-"},"content":" if (server)"},{"lineNumber":471,"author":{"gitId":"-"},"content":" server.close();"},{"lineNumber":472,"author":{"gitId":"-"},"content":"};"},{"lineNumber":473,"author":{"gitId":"-"},"content":""},{"lineNumber":474,"author":{"gitId":"-"},"content":"// CHANGED: Added method to retrieve current active urls"},{"lineNumber":475,"author":{"gitId":"-"},"content":"LiveServer.getActiveUrls \u003d () \u003d\u003e LiveServer.activeTabs.filter(tab \u003d\u003e tab.client).map(tab \u003d\u003e tab.url);"},{"lineNumber":476,"author":{"gitId":"-"},"content":""},{"lineNumber":477,"author":{"gitId":"-"},"content":"// CHANGED: Added method to send message to active tabs"},{"lineNumber":478,"author":{"gitId":"-"},"content":"LiveServer.sendMessageToActiveTabs \u003d (msg) \u003d\u003e {"},{"lineNumber":479,"author":{"gitId":"-"},"content":" LiveServer.activeTabs.forEach((tab) \u003d\u003e {"},{"lineNumber":480,"author":{"gitId":"-"},"content":" if (tab.client) {"},{"lineNumber":481,"author":{"gitId":"-"},"content":" const client \u003d tab.client;"},{"lineNumber":482,"author":{"gitId":"-"},"content":" if (msg \u003d\u003d\u003d \u0027reload\u0027) {"},{"lineNumber":483,"author":{"gitId":"-"},"content":" // Clear the client from the entry to be refilled in the socket establishment phase after reload"},{"lineNumber":484,"author":{"gitId":"-"},"content":" tab.client \u003d undefined;"},{"lineNumber":485,"author":{"gitId":"-"},"content":" }"},{"lineNumber":486,"author":{"gitId":"-"},"content":" client.send(msg);"},{"lineNumber":487,"author":{"gitId":"-"},"content":" }"},{"lineNumber":488,"author":{"gitId":"-"},"content":" });"},{"lineNumber":489,"author":{"gitId":"-"},"content":"}"},{"lineNumber":490,"author":{"gitId":"-"},"content":""},{"lineNumber":491,"author":{"gitId":"-"},"content":"// CHANGED: Added convenience method to reload all active tabs"},{"lineNumber":492,"author":{"gitId":"-"},"content":"LiveServer.reloadActiveTabs \u003d () \u003d\u003e LiveServer.sendMessageToActiveTabs(\u0027reload\u0027);"},{"lineNumber":493,"author":{"gitId":"-"},"content":""},{"lineNumber":494,"author":{"gitId":"-"},"content":"module.exports \u003d LiveServer;"}],"authorContributionMap":{"LamJiuFong":12,"-":482}},{"path":"packages/cli/test/functional/testSites.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"const testSites \u003d ["},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u0027test_site\u0027,"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u0027test_site_algolia_plugin\u0027,"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u0027test_site_special_tags\u0027,"},{"lineNumber":5,"author":{"gitId":"-"},"content":"];"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"const testConvertSites \u003d ["},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u0027test_site_convert/test_basic_convert\u0027,"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u0027test_site_convert/test_navigation_convert\u0027,"},{"lineNumber":10,"author":{"gitId":"-"},"content":"];"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"const testTemplateSites \u003d ["},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u0027minimal,test_site_templates/test_minimal\u0027,"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u0027default,test_site_templates/test_default\u0027,"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" \u0027project,test_site_templates/test_project\u0027,"},{"lineNumber":16,"author":{"gitId":"-"},"content":"];"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"// These files will be generated within test_site/expected/"},{"lineNumber":19,"author":{"gitId":"-"},"content":"// after running `npm run updatetest`. Due to the fact that"},{"lineNumber":20,"author":{"gitId":"-"},"content":"// these files create git diffs every time they are generated,"},{"lineNumber":21,"author":{"gitId":"-"},"content":"// we decided to not commit them to the repository."},{"lineNumber":22,"author":{"gitId":"-"},"content":"// However, we still want to verify that they are present."},{"lineNumber":23,"author":{"gitId":"-"},"content":"const plantumlGeneratedFilesForTestSites \u003d {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" test_site: ["},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u00279c9e77fc0a983cb6b592e65733787bec.png\u0027,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u0027inline-output.png\u0027,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u0027diagrams/activity.png\u0027,"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u0027diagrams/class.png\u0027,"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u0027diagrams/component.png\u0027,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u0027diagrams/object.png\u0027,"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u0027diagrams/sequence.png\u0027,"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u0027diagrams/state.png\u0027,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u0027diagrams/usecase.png\u0027,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u0027sub_site/inline-output/inline-puml-image.png\u0027,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":36,"author":{"gitId":"-"},"content":"};"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"const plantumlGeneratedFilesForConvertSites \u003d {};"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"const plantumlGeneratedFilesForTemplateSites \u003d {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" test_project: [\u0027diagrams/example.png\u0027],"},{"lineNumber":42,"author":{"gitId":"-"},"content":"};"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"module.exports \u003d {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" testSites,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" testConvertSites,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" testTemplateSites,"},{"lineNumber":48,"author":{"gitId":"-"},"content":" plantumlGeneratedFilesForTestSites,"},{"lineNumber":49,"author":{"gitId":"-"},"content":" plantumlGeneratedFilesForConvertSites,"},{"lineNumber":50,"author":{"gitId":"-"},"content":" plantumlGeneratedFilesForTemplateSites,"},{"lineNumber":51,"author":{"gitId":"-"},"content":"};"}],"authorContributionMap":{"KevinEyo1":1,"-":50}},{"path":"packages/cli/test/functional/test_site/expected/index.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027div\u0027,[_c(\u0027header\u0027,[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\",\"default-highlight-on\":\"sibling-or-child\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/\",\"title\":\"Home\"}},[_v(\"MarkBind Test Site\")])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs\")])])]),_v(\" \"),_m(0)],1),_v(\" \"),_m(1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_c(\u0027div\u0027,[_c(\u0027h2\u0027,{attrs:{\"id\":\"default-layout\"}},[_v(\"Default Layout\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#default-layout\",\"onclick\":\"event.stopPropagation()\"}})])])])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027div\u0027,[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs 🐛\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_c(\u0027h3\u0027,{attrs:{\"id\":\"testing-site-nav\"}},[_v(\"Testing Site-Nav\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#testing-site-nav\",\"onclick\":\"event.stopPropagation()\"}})])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027strong\u0027,[_v(\"Dropdown \")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-search\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" title ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Html within site-nav \"),_c(\u0027span\u0027,{staticStyle:{\"color\":\"red\"}},[_v(\"should\")]),_v(\" be displayed properly\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown title 📐\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027mark\u0027,[_v(\"Third Link\")]),_v(\" 📋\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Filler text \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-facetime-video\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" Youtube 📺\")]),_v(\" filler text\"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/watch?v\u003ddQw4w9WgXcQ\"}},[_v(\"The answer to everything in the universe\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027mark\u0027,[_v(\"Dropdown title\")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-comment\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown Title\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Hello Doge Hello Doge 🐶\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_c(\u0027strong\u0027,[_v(\"NESTED LINK\")]),_v(\" Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Test line break in navigation layout\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Nested line break text ✂️\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Nested line break href\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Nested Nested line break text ✂️\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested line break dropdown menu\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Line break item 2 📘\")])])])])])])],1)],1)])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"website-content\"},[_m(2),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_m(5),_v(\" \"),_m(6),_v(\" \"),_m(7),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Normal footnotes:\")]),_v(\"\\nHere is a footnote reference,\"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:footnotefn-1-1\"}},[_c(\u0027sup\u0027,{staticClass:\"footnote-ref\"},[_c(\u0027a\u0027,{attrs:{\"aria-describedby\":\"footnote-label\",\"href\":\"#fn-1-1\"}},[_v(\"[1]\")])])]),_v(\" and another.\"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:footnotefn-1-2\"}},[_c(\u0027sup\u0027,{staticClass:\"footnote-ref\"},[_c(\u0027a\u0027,{attrs:{\"aria-describedby\":\"footnote-label\",\"href\":\"#fn-1-2\"}},[_v(\"[2]\")])])])],1),_v(\" \"),_c(\u0027p\u0027,[_v(\"Here is a repeated footnote to \"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:footnotefn-1-1\"}},[_c(\u0027sup\u0027,{staticClass:\"footnote-ref\"},[_c(\u0027a\u0027,{attrs:{\"aria-describedby\":\"footnote-label\",\"href\":\"#fn-1-1\"}},[_v(\"[1:1]\")])])])],1),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Inline footnotes:\")]),_v(\"\\nHere is an inline note.\"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:footnotefn-1-3\"}},[_c(\u0027sup\u0027,{staticClass:\"footnote-ref\"},[_c(\u0027a\u0027,{attrs:{\"aria-describedby\":\"footnote-label\",\"href\":\"#fn-1-3\"}},[_v(\"[3]\")])])])],1)]),_v(\" \"),_m(8),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"text\"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:footnotefn-2-1\"}},[_c(\u0027sup\u0027,{staticClass:\"footnote-ref\"},[_c(\u0027a\u0027,{attrs:{\"aria-describedby\":\"footnote-label\",\"href\":\"#fn-2-1\"}},[_v(\"[1]\")])])]),_v(\", text2\"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:footnotefn-2-2\"}},[_c(\u0027sup\u0027,{staticClass:\"footnote-ref\"},[_c(\u0027a\u0027,{attrs:{\"aria-describedby\":\"footnote-label\",\"href\":\"#fn-2-2\"}},[_v(\"[2]\")])])])],1)]),_v(\" \"),_m(9),_v(\" \"),_c(\u0027div\u0027,[_v(\" front back \")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"arrayVarItem1\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"arrayVarItem2\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"nestedVarValue\")]),_v(\" \"),_m(10),_v(\" \"),_c(\u0027p\u0027,[_v(\"This variable can be referenced.\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"References can be several levels deep.\")]),_v(\" \"),_m(11),_v(\" \"),_c(\u0027p\u0027,[_v(\"Page Variable with Global Variable\")]),_v(\" \"),_m(12),_v(\" \"),_c(\u0027p\u0027,[_v(\"Global Variable Overriding Page Variable\")]),_v(\" \"),_m(13),_v(\" \"),_m(14),_v(\" \"),_m(15),_v(\" \"),_m(16),_v(\" \"),_m(17),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Panel with keyword\")])]},proxy:true}])},[_v(\" \"),_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"panel keyword\")])]),_v(\" \"),_m(18),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\",\"panelId\":\"panel-with-heading\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h1\u0027,{attrs:{\"id\":\"panel-with-heading\"}},[_v(\"Panel with heading\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-with-heading\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"panel keyword\")])]),_v(\" \"),_m(19),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\",\"panelId\":\"panel-without-heading-with-keyword\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h1\u0027,{attrs:{\"id\":\"panel-without-heading-with-keyword\"}},[_v(\"Panel without heading with keyword\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-without-heading-with-keyword\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027h1\u0027,{attrs:{\"id\":\"keyword-should-be-tagged-to-this-heading-not-the-panel-heading\"}},[_v(\"Keyword should be tagged to this heading, not the panel heading\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#keyword-should-be-tagged-to-this-heading-not-the-panel-heading\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"panel keyword\")])])]),_v(\" \"),_m(20),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"panelId\":\"panel-with-heading-with-keyword\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h1\u0027,{attrs:{\"id\":\"panel-with-heading-with-keyword\"}},[_v(\"Panel with heading with keyword\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-with-heading-with-keyword\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027h1\u0027,{attrs:{\"id\":\"keyword-should-be-tagged-to-the-panel-heading-not-this-heading\"}},[_v(\"Keyword should be tagged to the panel heading, not this heading\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#keyword-should-be-tagged-to-the-panel-heading-not-this-heading\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"panel keyword\")])])]),_v(\" \"),_m(21),_v(\" \"),_m(22),_v(\" \"),_m(23),_v(\" \"),_m(24),_v(\" \"),_m(25),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"Keyword with included heading\")]),_v(\" \"),_m(26),_v(\" \"),_m(27),_v(\" \"),_m(28),_v(\" \"),_m(29),_v(\" \"),_m(30),_v(\" \"),_m(31),_v(\" \"),_c(\u0027div\u0027,[_m(32),_v(\" \"),_m(33),_v(\" \"),_c(\u0027p\u0027,[_v(\"There are many techniques used during a requirements gathering. The following are some of the techniques.\")]),_v(\" \"),_m(34),_v(\" \"),_c(\u0027p\u0027,[_v(\"Brainstorming is a group activity designed to generate a large number of diverse and creative ideas for the solution\\nof a problem. In a brainstorming session there are no \\\"bad\\\" ideas.\\nThe aim is to generate ideas; not to validate them. Brainstorming encourages you to \\\"think outside the box\\\" and\\nput \\\"crazy\\\" ideas on the table without fear of rejection.\")]),_v(\" \"),_m(35),_v(\" \"),_c(\u0027p\u0027,[_v(\"Carefully designed questionnaires can be used to solicit responses and opinions from a large number of users regarding\\nany current system or a new innovation.\")]),_v(\" \"),_m(36),_v(\" \"),_c(\u0027p\u0027,[_v(\"Focus groups are a kind of informal interview within an interactive group setting.\\nA \"),_c(\u0027tooltip\u0027,{scopedSlots:_u([{key:\"content\",fn:function(){return [_v(\"e.g. potential users, beta testers\")]},proxy:true}])},[_v(\"group of people\")]),_v(\"\\nare asked about their understanding of a specific issue or a process.\\nFocus groups can bring out undiscovered conflicts and misunderstandings among stakeholder interests which can then be\\nresolved or clarified as necessary.\")],1)]),_v(\" \"),_m(37),_v(\" \"),_m(38),_v(\" \"),_m(39),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"name\":\"Boilerplate Referencing\"}},[_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/requirements/UserStories._include_.html\",\"no-close\":\"\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Boilerplate Includes\")])]},proxy:true}])})],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"name\":\"Referencing specified path in boilerplate\"}},[_m(40),_v(\" \"),_c(\u0027p\u0027,[_v(\"Like static include, pages within the site should be able to use files located in folders within boilerplate.\")]),_v(\" \"),_m(41),_v(\" \"),_m(42),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/requirements/NonFunctionalRequirements._include_.html\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Tested with the folllowing include\")])]},proxy:true}])})],1),_v(\" \"),_m(43),_v(\" \"),_m(44),_v(\" \"),_m(45),_v(\" \"),_m(46),_v(\" \"),_m(47),_v(\" \"),_m(48),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"This is a page from another MarkBind site.\\nThe purpose of this page is to ensure that reuse works as expected.\\nAll the following images should display correctly.\")]),_v(\" \"),_m(49),_v(\" \"),_c(\u0027p\u0027,[_v(\"PIC tags:\\n\"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"https://dummyimage.com/600x400/000/fff\"}})],1),_v(\" \"),_m(50),_v(\" \"),_m(51),_v(\" \"),_c(\u0027p\u0027,[_v(\"Within DIV tag:\")]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"imageTest\"}},[_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}})],1)]),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}})],1),_v(\" \"),_m(52),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"baseUrl in a nested sub-site should correctly evaluate to the nested sub-site\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The base url in the nested_sub_site is /test_site/sub_site/nested_sub_site.\")]),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"baseUrl in a nested sub-site page\u0027s include should correctly evaluate to the nested sub-site\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The base url in the nested_sub_site page\u0027s include is /test_site/sub_site/nested_sub_site.\")])])])]),_v(\" \"),_m(53),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"baseUrl in a sub site should correctly evaluate\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The base url in sub_site is /test_site/sub_site.\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Subsite including nested subsite:\")])]),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"baseUrl in a nested sub-site should correctly evaluate to the nested sub-site\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The base url in the nested_sub_site is /test_site/sub_site/nested_sub_site.\")]),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"baseUrl in a nested sub-site page\u0027s include should correctly evaluate to the nested sub-site\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The base url in the nested_sub_site page\u0027s include is /test_site/sub_site/nested_sub_site.\")])])])])],1)]),_v(\" \"),_m(54),_v(\" \"),_c(\u0027div\u0027,[_v(\"As we establish requirements, they should be recorded in some way for future reference,\\nusually called a requirement specification. Furthermore, it is advisable to show these requirements to stakeholders,\\nand refine requirements based on their feedback. The next phase is to convert requirements into a product\\nspecification that specifies how the product will address the requirements. \")]),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/requirements/SpecifyingRequirements._include_.html#preview\",\"type\":\"minimal\",\"fragment\":\"preview\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"same test with panels\")])])]},proxy:true}])}),_v(\" \"),_m(55),_v(\" \"),_m(56),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/requirements/testBaseUrlInIncludeSrc._include_.html\",\"type\":\"minimal\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"same test with panels\")])])]},proxy:true}])}),_v(\" \"),_m(57),_v(\" \"),_m(58),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/requirements/testBaseUrlInIncludeSrc._include_.html\",\"type\":\"minimal\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"same test with panels\")])])]},proxy:true}])}),_v(\" \"),_m(59),_v(\" \"),_m(60),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/sub_site/testBaseUrlInIncludeSrcSubSite._include_.html\",\"type\":\"minimal\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"same test with panels\")])])]},proxy:true}])}),_v(\" \"),_m(61),_v(\" \"),_m(62),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/sub_site/testBaseUrlInIncludeSrcSubSite._include_.html\",\"type\":\"minimal\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"same test with panels\")])])]},proxy:true}])}),_v(\" \"),_m(63),_v(\" \"),_m(64),_v(\" \"),_m(65),_v(\" \"),_m(66),_v(\" \"),_m(67),_v(\" \"),_m(68),_v(\" \"),_m(69),_v(\" \"),_m(70),_v(\" \"),_m(71),_v(\" \"),_m(72),_v(\" \"),_m(73),_v(\" \"),_c(\u0027panel\u0027,[_c(\u0027span\u0027,{staticClass:\"card-title\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_v(\"\\n Heading\\n \")])]),_v(\" \"),_m(74),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\",\"panelId\":\"panel-without-src-header\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-without-src-header\"}},[_v(\"Panel without src header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-without-src-header\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel without src content heading\")])])])]),_v(\" \"),_m(75),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/testPanels/PanelNormalSource._include_.html\",\"expanded\":\"\",\"panelId\":\"panel-with-normal-src-header\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-with-normal-src-header\"}},[_v(\"Panel with normal src header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-with-normal-src-header\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])}),_v(\" \"),_m(76),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/testPanels/PanelSourceContainsSegment._include_.html#segment\",\"expanded\":\"\",\"fragment\":\"segment\",\"panelId\":\"panel-with-src-from-a-page-segment-header\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-with-src-from-a-page-segment-header\"}},[_v(\"Panel with src from a page segment header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-with-src-from-a-page-segment-header\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])}),_v(\" \"),_m(77),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/testPanels/boilerTestPanel._include_.html\",\"expanded\":\"\",\"panelId\":\"boilerplate-referencing\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"boilerplate-referencing\"}},[_v(\"Boilerplate referencing\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#boilerplate-referencing\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])}),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/testPanelsDuplicate/boilerTestPanel._include_.html\",\"expanded\":\"\",\"panelId\":\"boilerplate-referencing-2\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"boilerplate-referencing-2\"}},[_v(\"Boilerplate referencing 2\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#boilerplate-referencing-2\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])}),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/testPanels/notInside._include_.html\",\"expanded\":\"\",\"panelId\":\"referencing-specified-path-in-boilerplate\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"referencing-specified-path-in-boilerplate\"}},[_v(\"Referencing specified path in boilerplate\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#referencing-specified-path-in-boilerplate\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])}),_v(\" \"),_m(78),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/testPanels/NestedPanel._include_.html\",\"expanded\":\"\",\"panelId\":\"outer-nested-panel\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"outer-nested-panel\"}},[_v(\"Outer nested panel\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#outer-nested-panel\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])}),_v(\" \"),_m(79),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\",\"panelId\":\"outer-nested-panel-without-src\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"outer-nested-panel-without-src\"}},[_v(\"Outer nested panel without src\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#outer-nested-panel-without-src\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel content of outer nested panel\")])]),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\",\"panelId\":\"inner-panel-header-without-src\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"inner-panel-header-without-src\"}},[_v(\"Inner panel header without src\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#inner-panel-header-without-src\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel content of inner nested panel\")])])])],1),_v(\" \"),_m(80),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/sub_site/index._include_.html\",\"expanded\":\"\",\"panelId\":\"panel-with-src-from-another-markbind-site-header\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-with-src-from-another-markbind-site-header\"}},[_v(\"Panel with src from another MarkBind site header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-with-src-from-another-markbind-site-header\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])}),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/sub_site/testReuseSubsite._include_.html\",\"expanded\":\"\",\"panelId\":\"panel-with-src-from-another-markbind-site-header-2\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-with-src-from-another-markbind-site-header-2\"}},[_v(\"Panel with src from another MarkBind site header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-with-src-from-another-markbind-site-header-2\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])})],1),_v(\" \"),_m(81),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027trigger\u0027,{attrs:{\"for\":\"modal-with-panel\"}},[_v(\"trigger\")])],1),_v(\" \"),_c(\u0027modal\u0027,{attrs:{\"id\":\"modal-with-panel\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_v(\"modal title with panel inside\")]},proxy:true}])},[_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\",\"panelId\":\"panel-inside-modal\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-inside-modal\"}},[_v(\"Panel inside modal\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-inside-modal\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel content inside modal\")])])])],1),_v(\" \"),_m(82),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"dismissible\":\"\"}},[_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027trigger\u0027,{attrs:{\"for\":\"modal-a\"}},[_v(\"modal trigger\")]),_v(\".\")],1),_v(\" \"),_c(\u0027modal\u0027,{attrs:{\"id\":\"modal-a\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_v(\"modal header\")]},proxy:true}])},[_v(\"\\n Lorem ipsum\\n\")])],1)]),_v(\" \"),_m(83),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"panelId\":\"unexpanded-panel-header\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"unexpanded-panel-header\"}},[_v(\"Unexpanded panel header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#unexpanded-panel-header\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel content of unexpanded panel should not appear in search data\")])]),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\",\"panelId\":\"panel-header-inside-unexpanded-panel-should-not-appear-in-search-data\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-header-inside-unexpanded-panel-should-not-appear-in-search-data\"}},[_v(\"Panel header inside unexpanded panel should not appear in search data\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-header-inside-unexpanded-panel-should-not-appear-in-search-data\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel content inside unexpanded panel should not appear in search data\")])])])],1),_v(\" \"),_m(84),_v(\" \"),_c(\u0027div\u0027,[_m(85),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"type\":\"info\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Expandable panel without closing transition\")])]},proxy:true}])},[_v(\"\\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n\")]),_v(\" \"),_m(86),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"type\":\"info\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Expanded panel without transition\")])]},proxy:true}])},[_v(\"\\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\\n\")]),_v(\" \"),_m(87),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"type\":\"minimal\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027em\u0027,[_c(\u0027strong\u0027,[_v(\"Minimal panel without closing transition \"),_c(\u0027strong\u0027,[_v(\"-\u003e\")])])])])]},proxy:true},{key:\"_alt\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Minimal panel 1\")])]},proxy:true}])},[_v(\"\\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\\n\")]),_v(\" \"),_m(88),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"type\":\"minimal\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027em\u0027,[_c(\u0027strong\u0027,[_v(\"Minimal panel without closing transition \"),_c(\u0027strong\u0027,[_v(\"-\u003e\")])])])])]},proxy:true},{key:\"_alt\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Minimal panel 2\")])]},proxy:true}])},[_v(\"\\n Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text. Some text some text some text some text some text some text some text some text some text some text some text some text some text some text. Some text some text some text some text some text some text. Some text some text some text some text some text some text some text.\\n\")])],1),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test popover has no stray space\")]),_v(\"\\n(\"),_c(\u0027popover\u0027,{scopedSlots:_u([{key:\"content\",fn:function(){return [_v(\"content\")]},proxy:true}])},[_v(\"There should be no stray space before this\")]),_v(\")\")],1),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test tooltip has no stray space\")]),_v(\"\\n(\"),_c(\u0027tooltip\u0027,{scopedSlots:_u([{key:\"content\",fn:function(){return [_v(\"content\")]},proxy:true}])},[_v(\"There should be no stray space before this\")]),_v(\")\")],1),_v(\" \"),_m(89),_v(\" \"),_m(90),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/activity.png\",\"alt\":\"activity diagram\"}}),_v(\" \"),_m(91),_v(\" \"),_c(\u0027div\u0027,[_m(92),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/inline-output.png\"}}),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/9c9e77fc0a983cb6b592e65733787bec.png\"}}),_v(\" \"),_m(93),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/sequence.png\"}}),_v(\" \"),_m(94),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/usecase.png\"}}),_v(\" \"),_m(95),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/class.png\"}})],1),_v(\" \"),_m(96),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/sub_site/inline-output/inline-puml-image.png\"}}),_v(\" \"),_m(97),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/activity.png\"}}),_v(\" \"),_m(98),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/component.png\"}}),_v(\" \"),_m(99),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/state.png\"}}),_v(\" \"),_m(100),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/test_site/diagrams/object.png\"}})],1),_v(\" \"),_m(101),_v(\" \"),_m(102),_v(\" \"),_m(103),_v(\" \"),_c(\u0027div\u0027,{pre:true},[_v(\"{{ variable interpolation syntax can be used with v-pre }}\")]),_v(\" \"),_c(\u0027div\u0027,{pre:true},[_v(\"{{ nonExistentVariable }}\")]),_v(\" \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers\"}},[_v(\"{{ code elements should automatically be assigned v-pre }}\")]),_c(\u0027hr\u0027,{staticClass:\"footnotes-sep\"}),_v(\" \"),_c(\u0027section\u0027,{staticClass:\"footnotes\"},[_c(\u0027ol\u0027,{staticClass:\"footnotes-list\"},[_c(\u0027popover\u0027,{attrs:{\"id\":\"pop:footnotefn-1-1\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"Here is the footnote. Footnotes will appear at the bottom of the page.\")])])]},proxy:true}])}),_c(\u0027popover\u0027,{attrs:{\"id\":\"pop:footnotefn-1-2\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"Here\u0027s one with multiple blocks.\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Subsequent paragraphs are indented to show that they\\nbelong to the previous footnote.\")])])]},proxy:true}])}),_c(\u0027popover\u0027,{attrs:{\"id\":\"pop:footnotefn-1-3\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"Inlines notes are easier to write, since\\nyou don\u0027t have to pick an identifier and move down to type the\\nnote.\")])])]},proxy:true}])}),_v(\" \"),_m(104),_v(\" \"),_m(105),_v(\" \"),_m(106),_v(\" \"),_c(\u0027popover\u0027,{attrs:{\"id\":\"pop:footnotefn-2-1\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"footnote1\")])])]},proxy:true}])}),_c(\u0027popover\u0027,{attrs:{\"id\":\"pop:footnotefn-2-2\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"footnote2\")])])]},proxy:true}])}),_v(\" \"),_m(107),_m(108)],1)])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"navbar-brand page-nav-title\",\"href\":\"#\"}},[_v(\"Testing Page Navigation\")]),_v(\" \"),_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#heading-with-multiple-keywords\"}},[_v(\"Heading with multiple keywords‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#heading-with-keyword-in-panel\"}},[_v(\"Heading with keyword in panel‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-with-heading\"}},[_v(\"Panel with heading‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-without-heading-with-keyword\"}},[_v(\"Panel without heading with keyword‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#keyword-should-be-tagged-to-this-heading-not-the-panel-heading\"}},[_v(\"Keyword should be tagged to this heading, not the panel heading‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-with-heading-with-keyword\"}},[_v(\"Panel with heading with keyword‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#heading-fragment-with-leading-spaces-and-newline\"}},[_v(\"Heading \\nFragment with leading spaces and newline\\n‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#heading-with-included-keyword\"}},[_v(\"Heading with included keyword‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#included-heading\"}},[_v(\"Included Heading‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#heading-with-nested-keyword\"}},[_v(\"Heading with nested keyword‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#heading-with-hidden-keyword\"}},[_v(\"Heading with hidden keyword‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#establishing-requirements\"}},[_v(\"Establishing Requirements‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#brainstorming\"}},[_v(\"Brainstorming‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#user-surveys\"}},[_v(\"User surveys‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#focus-groups\"}},[_v(\"Focus groups‎\")])])]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#path-within-the-boilerplate-folder-is-separately-specified\"}},[_v(\"Path within the boilerplate folder is separately specified‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#feature-list\"}},[_v(\"Feature list‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-without-src-header\"}},[_v(\"Panel without src header‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-with-normal-src-header\"}},[_v(\"Panel with normal src header‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-with-src-from-a-page-segment-header\"}},[_v(\"Panel with src from a page segment header‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#boilerplate-referencing\"}},[_v(\"Boilerplate referencing‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#boilerplate-referencing-2\"}},[_v(\"Boilerplate referencing 2‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#referencing-specified-path-in-boilerplate\"}},[_v(\"Referencing specified path in boilerplate‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#outer-nested-panel\"}},[_v(\"Outer nested panel‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#outer-nested-panel-without-src\"}},[_v(\"Outer nested panel without src‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#inner-panel-header-without-src\"}},[_v(\"Inner panel header without src‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-with-src-from-another-markbind-site-header\"}},[_v(\"Panel with src from another MarkBind site header‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#panel-with-src-from-another-markbind-site-header-2\"}},[_v(\"Panel with src from another MarkBind site header‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#unexpanded-panel-header\"}},[_v(\"Unexpanded panel header‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#level-6-header-outside-headingsearchindex-with-always-index-attribute-should-be-indexed\"}},[_v(\"Level 6 header (outside headingSearchIndex) with always-index attribute should be indexed‎\")])])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(109)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"bg-info display-4 text-center text-white\"},[_c(\u0027br\u0027),_v(\"\\n Test Jumbotron\"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027br\u0027)])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Relative Link Test\")]),_v(\" This is a relative Intra-Site link in a layout (see \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html#heading-with-hidden-keyword\"}},[_v(\"link\")]),_v(\")\")])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"-"},"content":") {"},{"lineNumber":14,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"\u003cmarkdown\u003e\")]),_v(\" and \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"\u003cmd\u003e\")]),_v(\" elements\")])])}"},{"lineNumber":15,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"-"},"content":") {"},{"lineNumber":17,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"This should be wrapped in a \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"\u003cp\u003e\")]),_v(\" tag as it uses the block-level markdown renderer\")])])}"},{"lineNumber":18,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"-"},"content":") {"},{"lineNumber":20,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027span\u0027,[_v(\"\\nThis should not be wrapped in a \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"\u003cp\u003e\")]),_v(\" tag as it uses the inline markdown renderer\\n\")])}"},{"lineNumber":21,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"-"},"content":") {"},{"lineNumber":23,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"mt-2\"},[_c(\u0027pre\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs\"}},[_c(\u0027span\u0027,[_v(\"\u003cmarkdown\u003e elements allow block-level markdown without needing a leading newline.\\n\")]),_c(\u0027span\u0027,[_v(\"Hence, the contained markdown should be parsed and output as is, without any parsing errors.\\n\")]),_c(\u0027span\u0027,[_v(\"\u003c/invalidhtml\u003e\\n\")])])])])}"},{"lineNumber":24,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"-"},"content":") {"},{"lineNumber":26,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027span\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"\u003cmd\u003e\")]),_v(\" elements allow inline-level markdown even in a non-markdown token.\\nHence, the contained markdown should be parsed and output as is, without any parsing errors.\\n\"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"\u003c/invalid\u003e\")]),_v(\".\\n\")])}"},{"lineNumber":27,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"-"},"content":") {"},{"lineNumber":29,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test footnotes\")])])}"},{"lineNumber":30,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"-"},"content":") {"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test include footnotes from hash\")])])}"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":35,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Nunjucks SetExt\")])])}"},{"lineNumber":36,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":37,"author":{"gitId":"-"},"content":") {"},{"lineNumber":38,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Variables that reference another variable\")])])}"},{"lineNumber":39,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":40,"author":{"gitId":"-"},"content":") {"},{"lineNumber":41,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Global Variables can be referenced in {% set %}\")])])}"},{"lineNumber":42,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":43,"author":{"gitId":"-"},"content":") {"},{"lineNumber":44,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Global Variables should override {% set %}\")])])}"},{"lineNumber":45,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":46,"author":{"gitId":"-"},"content":") {"},{"lineNumber":47,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test Page Variable and Included Variable Integrations\")])])}"},{"lineNumber":48,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":49,"author":{"gitId":"-"},"content":") {"},{"lineNumber":50,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Outer Page Variable Should Not Leak Into Inner Pages\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Outer Page Variable Should Not Leak Into Inner Pages\")])])}"},{"lineNumber":51,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":52,"author":{"gitId":"-"},"content":") {"},{"lineNumber":53,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"heading-with-multiple-keywords\"}},[_v(\"Heading with multiple keywords\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-with-multiple-keywords\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":54,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":55,"author":{"gitId":"-"},"content":") {"},{"lineNumber":56,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"keyword 1\")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"keyword 2\")])])}"},{"lineNumber":57,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":58,"author":{"gitId":"-"},"content":") {"},{"lineNumber":59,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"heading-with-keyword-in-panel\"}},[_v(\"Heading with keyword in panel\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-with-keyword-in-panel\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":60,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":61,"author":{"gitId":"-"},"content":") {"},{"lineNumber":62,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel with heading with keyword\")])])}"},{"lineNumber":63,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":64,"author":{"gitId":"-"},"content":") {"},{"lineNumber":65,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Expanded panel without heading with keyword\")])])}"},{"lineNumber":66,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":67,"author":{"gitId":"-"},"content":") {"},{"lineNumber":68,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Unexpanded panel with heading with keyword\")])])}"},{"lineNumber":69,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":70,"author":{"gitId":"-"},"content":") {"},{"lineNumber":71,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"heading-fragment-with-leading-spaces-and-newline\"}},[_v(\"Heading \"),_c(\u0027div\u0027,[_c(\u0027pre\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers\"}},[_v(\"Fragment with leading spaces and newline\\n\")])])]),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-fragment-with-leading-spaces-and-newline\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":72,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":73,"author":{"gitId":"-"},"content":") {"},{"lineNumber":74,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"The \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"id\")]),_v(\" for the above heading should be \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"heading-fragment-with-leading-spaces-and-newline\")]),_v(\" in total.\\nThis test ensures heading ids are assigned last (e.g. after \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"\u003cinclude /\u003e\")]),_v(\"s are processed).\")])}"},{"lineNumber":75,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":76,"author":{"gitId":"-"},"content":") {"},{"lineNumber":77,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"heading-with-included-keyword\"}},[_v(\"Heading with included keyword\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-with-included-keyword\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":78,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":79,"author":{"gitId":"-"},"content":") {"},{"lineNumber":80,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"included keyword\")])])])}"},{"lineNumber":81,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":82,"author":{"gitId":"-"},"content":") {"},{"lineNumber":83,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027h1\u0027,{attrs:{\"id\":\"included-heading\"}},[_v(\"Included Heading\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#included-heading\",\"onclick\":\"event.stopPropagation()\"}})])])}"},{"lineNumber":84,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":85,"author":{"gitId":"-"},"content":") {"},{"lineNumber":86,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"heading-with-nested-keyword\"}},[_v(\"Heading with nested keyword\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-with-nested-keyword\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":87,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":88,"author":{"gitId":"-"},"content":") {"},{"lineNumber":89,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027div\u0027,[_c(\u0027div\u0027,[_c(\u0027span\u0027,{staticClass:\"keyword\"},[_v(\"nested keyword\")])])])])}"},{"lineNumber":90,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":91,"author":{"gitId":"-"},"content":") {"},{"lineNumber":92,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"heading-with-hidden-keyword\"}},[_v(\"Heading with hidden keyword\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-with-hidden-keyword\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":93,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":94,"author":{"gitId":"-"},"content":") {"},{"lineNumber":95,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027span\u0027,{staticClass:\"keyword d-none\"},[_v(\"invisible keyword\")])])}"},{"lineNumber":96,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":97,"author":{"gitId":"-"},"content":") {"},{"lineNumber":98,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with frontmatter shown tag\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"tags\":\"tag-frontmatter-shown\"}},[_v(\"\\nDiv with shown tag\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with site shown tag\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"tags\":\"tag-site-shown\"}},[_v(\"\\nDiv with site shown tag\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with multiple tags\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"tags\":\"tag-site-shown tag-other\"}},[_v(\"\\nDiv with multiple tags\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with hidden tag (Hidden)\")])]),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with tag in included file\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"tags\":\"tag-included-file\"}},[_v(\"\\nDiv with tag in included file\\n\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with tag matching general tag\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"tags\":\"tag-exp-shown\"}},[_v(\"\\nDiv with tag matching general tag\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with tag matching general tag and specific tag (Hidden)\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with tag matching frontmatter tag overridden by matching site tag\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"tags\":\"tag-site-override-shown\"}},[_v(\"\\nDiv with tag matching frontmatter tag overridden by matching site tag\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with tag matching general frontmatter tag not overridden by matching specific site tag (Hidden)\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Div with tag matching general frontmatter tag overridden by matching specific site tag\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"tags\":\"tag-site-override-shown\"}},[_v(\"\\nDiv with tag matching general frontmatter tag overridden by matching specific site tag\\n\")])])}"},{"lineNumber":99,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":100,"author":{"gitId":"-"},"content":") {"},{"lineNumber":101,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Normal include\")])])}"},{"lineNumber":102,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":103,"author":{"gitId":"-"},"content":") {"},{"lineNumber":104,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"establishing-requirements\"}},[_v(\"Establishing Requirements\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#establishing-requirements\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":105,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":106,"author":{"gitId":"-"},"content":") {"},{"lineNumber":107,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027span\u0027,{attrs:{\"id\":\"preview\"}},[_v(\"Requirements gathering, requirements elicitation, requirements analysis,\\nrequirements capture are some of the terms commonly \"),_c(\u0027strong\u0027,[_v(\"and\")]),_v(\" interchangeably used to represent the activity\\nof understanding what a software product should do.\")])])}"},{"lineNumber":108,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":109,"author":{"gitId":"-"},"content":") {"},{"lineNumber":110,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h4\u0027,{attrs:{\"id\":\"brainstorming\"}},[_v(\"Brainstorming\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#brainstorming\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":111,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":112,"author":{"gitId":"-"},"content":") {"},{"lineNumber":113,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h4\u0027,{attrs:{\"id\":\"user-surveys\"}},[_v(\"User surveys\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#user-surveys\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":114,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":115,"author":{"gitId":"-"},"content":") {"},{"lineNumber":116,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h4\u0027,{attrs:{\"id\":\"focus-groups\"}},[_v(\"Focus groups\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#focus-groups\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":117,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":118,"author":{"gitId":"-"},"content":") {"},{"lineNumber":119,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include segment\")])])}"},{"lineNumber":120,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":121,"author":{"gitId":"-"},"content":") {"},{"lineNumber":122,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_v(\"Requirements gathering, requirements elicitation, requirements analysis,\\nrequirements capture are some of the terms commonly \"),_c(\u0027strong\u0027,[_v(\"and\")]),_v(\" interchangeably used to represent the activity\\nof understanding what a software product should do.\")])}"},{"lineNumber":123,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":124,"author":{"gitId":"-"},"content":") {"},{"lineNumber":125,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Boilerplate include\")])])}"},{"lineNumber":126,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":127,"author":{"gitId":"-"},"content":") {"},{"lineNumber":128,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"path-within-the-boilerplate-folder-is-separately-specified\"}},[_v(\"Path within the boilerplate folder is separately specified\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#path-within-the-boilerplate-folder-is-separately-specified\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":129,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":130,"author":{"gitId":"-"},"content":") {"},{"lineNumber":131,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Also, the boilerplate file name (e.g. \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"inside.md\")]),_v(\") and the file that it is supposed to act as (\"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"notInside.md\")]),_v(\") can be different.\")])}"},{"lineNumber":132,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":133,"author":{"gitId":"-"},"content":") {"},{"lineNumber":134,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"This file should behaves as if it is in the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"line-numbers hljs inline no-lang\"}},[_v(\"requirements\")]),_v(\" folder:\")])}"},{"lineNumber":135,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":136,"author":{"gitId":"-"},"content":") {"},{"lineNumber":137,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Nested include\")])])}"},{"lineNumber":138,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":139,"author":{"gitId":"-"},"content":") {"},{"lineNumber":140,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Establishing requirements\")]),_v(\": \"),_c(\u0027span\u0027,[_v(\"Requirements gathering, requirements elicitation, requirements analysis,\\nrequirements capture are some of the terms commonly \"),_c(\u0027strong\u0027,[_v(\"and\")]),_v(\" interchangeably used to represent the activity\\nof understanding what a software product should do.\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Specifying requirements\")]),_v(\": \"),_c(\u0027span\u0027,[_v(\"As we establish requirements, they should be recorded in some way for future reference,\\nusually called a requirement specification. Furthermore, it is advisable to show these requirements to stakeholders,\\nand refine requirements based on their feedback. The next phase is to convert requirements into a product\\nspecification that specifies how the product will address the requirements. \")])])])])}"},{"lineNumber":141,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":142,"author":{"gitId":"-"},"content":") {"},{"lineNumber":143,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"HTML include\")])])}"},{"lineNumber":144,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":145,"author":{"gitId":"-"},"content":") {"},{"lineNumber":146,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"This is a HTML document\")]),_v(\" \"),_c(\u0027span\u0027,[_v(\"It is \"),_c(\u0027strong\u0027,[_v(\"possible\")]),_v(\" to use Markdown in HTML\")])])}"},{"lineNumber":147,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":148,"author":{"gitId":"-"},"content":") {"},{"lineNumber":149,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include from another MarkBind site\")])])}"},{"lineNumber":150,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":151,"author":{"gitId":"-"},"content":") {"},{"lineNumber":152,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"This is a page from another MarkBind site.\")]),_v(\" \"),_c(\u0027h2\u0027,{attrs:{\"id\":\"feature-list\"}},[_v(\"Feature list\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#feature-list\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_v(\"It is a list of features (or functionalities) grouped according to some criteria such as priority\\n(e.g. must-have, nice-to-have, etc. ), order of delivery, object or process related\\n(e.g. order-related, invoice-related, etc.).\\nHere is a sample feature list from Minesweeper (only a brief description has been provided to save space).\")]),_v(\" \"),_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Basic play – Single player play.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Difficulty levels – Additional Medium and Advanced levels.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Versus play – Two players can play against each other.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Timer – Additional fixed time restriction on the player.\")])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"image\"}},[_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}})])])}"},{"lineNumber":153,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":154,"author":{"gitId":"-"},"content":") {"},{"lineNumber":155,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"IMG tags:\\n\"),_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}}),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://dummyimage.com/600x400/000/fff\"}})])}"},{"lineNumber":156,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":157,"author":{"gitId":"-"},"content":") {"},{"lineNumber":158,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Anchor:\\n\"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://dummyimage.com/600x400/000/fff\"}},[_v(\"External Image\")])])}"},{"lineNumber":159,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":160,"author":{"gitId":"-"},"content":") {"},{"lineNumber":161,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/sub_site/images/I\u0027m%20not%20allowed%20to%20use%20my%20favorite%20tool.png\"}},[_v(\"Link to picture\")]),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"id\":\"namedAnchor\"}},[_v(\"Named Anchor\")]),_v(\" \"),_c(\u0027a\u0027,[_v(\"Anchor with no attributes\")])])}"},{"lineNumber":162,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":163,"author":{"gitId":"-"},"content":") {"},{"lineNumber":164,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include nested sub-site directly\")])])}"},{"lineNumber":165,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":166,"author":{"gitId":"-"},"content":") {"},{"lineNumber":167,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include nested sub-site from sub-site\")])])}"},{"lineNumber":168,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":169,"author":{"gitId":"-"},"content":") {"},{"lineNumber":170,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include a file using baseUrl\")])])}"},{"lineNumber":171,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":172,"author":{"gitId":"-"},"content":") {"},{"lineNumber":173,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include a file in a sub-folder that uses baseUrl\")])])}"},{"lineNumber":174,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":175,"author":{"gitId":"-"},"content":") {"},{"lineNumber":176,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027div\u0027,[_v(\"Requirements gathering, requirements elicitation, requirements analysis,\\nrequirements capture are some of the terms commonly \"),_c(\u0027strong\u0027,[_v(\"and\")]),_v(\" interchangeably used to represent the activity\\nof understanding what a software product should do.\")])])}"},{"lineNumber":177,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":178,"author":{"gitId":"-"},"content":") {"},{"lineNumber":179,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include a file in a sub-folder that uses baseUrl using baseUrl\")])])}"},{"lineNumber":180,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":181,"author":{"gitId":"-"},"content":") {"},{"lineNumber":182,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027div\u0027,[_v(\"Requirements gathering, requirements elicitation, requirements analysis,\\nrequirements capture are some of the terms commonly \"),_c(\u0027strong\u0027,[_v(\"and\")]),_v(\" interchangeably used to represent the activity\\nof understanding what a software product should do.\")])])}"},{"lineNumber":183,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":184,"author":{"gitId":"-"},"content":") {"},{"lineNumber":185,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include a file in a sub-site that uses baseUrl\")])])}"},{"lineNumber":186,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":187,"author":{"gitId":"-"},"content":") {"},{"lineNumber":188,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027div\u0027,[_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}})])])}"},{"lineNumber":189,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":190,"author":{"gitId":"-"},"content":") {"},{"lineNumber":191,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include a file in a sub-site that uses baseUrl using baseUrl\")])])}"},{"lineNumber":192,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":193,"author":{"gitId":"-"},"content":") {"},{"lineNumber":194,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027div\u0027,[_c(\u0027img\u0027,{attrs:{\"src\":\"/test_site/sub_site/images/I\u0027m not allowed to use my favorite tool.png\"}})])])}"},{"lineNumber":195,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":196,"author":{"gitId":"-"},"content":") {"},{"lineNumber":197,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Trimmed include\")])])}"},{"lineNumber":198,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":199,"author":{"gitId":"-"},"content":") {"},{"lineNumber":200,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_c(\u0027span\u0027,[_c(\u0027br\u0027),_v(\"\\nFragment with leading spaces and newline\")])])])}"},{"lineNumber":201,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":202,"author":{"gitId":"-"},"content":") {"},{"lineNumber":203,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Trimmed include fragment\")])])}"},{"lineNumber":204,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":205,"author":{"gitId":"-"},"content":") {"},{"lineNumber":206,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Before | \"),_c(\u0027span\u0027,[_v(\"Fragment with leading spaces and newline\")]),_v(\" | After\")])])}"},{"lineNumber":207,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":208,"author":{"gitId":"-"},"content":") {"},{"lineNumber":209,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Include with custom variables\")])])}"},{"lineNumber":210,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":211,"author":{"gitId":"-"},"content":") {"},{"lineNumber":212,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variable as include attribute\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable as include attribute\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variable\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variable with markdown\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_c(\u0027strong\u0027,[_v(\"Included variable with markdown\")])])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variable as attribute\")])]),_v(\" \"),_c(\u0027p\u0027,{staticStyle:{\"color\":\"blue\"}},[_v(\"Test\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variable as HTML element\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027span\u0027,[_v(\"Included variable within HTML element\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variable overridden by variables.md\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Global Variable Overriding Included Variable\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variables in included file\")])]),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"Included variable in outer included file\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable overriding inner variable\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Inner included variables should not leak into other files\")])]),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"Should be blank:\")])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test included variable with global variable\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable with Global Variable\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test nunjucks set overridden by include variable and global variable\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable\\nGlobal Variable\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test nunjucks import overridden by include variable and global variable\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable\\nGlobal Variable\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test nunjucks set overridden by include variable and global variable in nested include\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable\\nGlobal Variable\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test nunjucks import overridden by include variable and global variable in nested include\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Included variable\\nGlobal Variable\")]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test missing variable with default\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Missing Variable\")])])}"},{"lineNumber":213,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":214,"author":{"gitId":"-"},"content":") {"},{"lineNumber":215,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Variables for includes should not be recognised as page variables, hence, there should be no text between \"),_c(\u0027strong\u0027,[_v(\"this\")])])}"},{"lineNumber":216,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":217,"author":{"gitId":"-"},"content":") {"},{"lineNumber":218,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"and \"),_c(\u0027strong\u0027,[_v(\"this\")]),_v(\".\")])}"},{"lineNumber":219,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":220,"author":{"gitId":"-"},"content":") {"},{"lineNumber":221,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Included variables should not leak into other files\")])])}"},{"lineNumber":222,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":223,"author":{"gitId":"-"},"content":") {"},{"lineNumber":224,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027p\u0027,[_v(\"Should be blank:\")])])}"},{"lineNumber":225,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":226,"author":{"gitId":"-"},"content":") {"},{"lineNumber":227,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel with shorthand heading syntax\")])])}"},{"lineNumber":228,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":229,"author":{"gitId":"-"},"content":") {"},{"lineNumber":230,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel without src\")])])}"},{"lineNumber":231,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":232,"author":{"gitId":"-"},"content":") {"},{"lineNumber":233,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel with normal src\")])])}"},{"lineNumber":234,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":235,"author":{"gitId":"-"},"content":") {"},{"lineNumber":236,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel with src from a page segment\")])])}"},{"lineNumber":237,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":238,"author":{"gitId":"-"},"content":") {"},{"lineNumber":239,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel with boilerplate\")])])}"},{"lineNumber":240,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":241,"author":{"gitId":"-"},"content":") {"},{"lineNumber":242,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Nested panel\")])])}"},{"lineNumber":243,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":244,"author":{"gitId":"-"},"content":") {"},{"lineNumber":245,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Nested panel without src\")])])}"},{"lineNumber":246,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":247,"author":{"gitId":"-"},"content":") {"},{"lineNumber":248,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Panel with src from another MarkBind site\")])])}"},{"lineNumber":249,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":250,"author":{"gitId":"-"},"content":") {"},{"lineNumber":251,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Modal with panel inside\")])])}"},{"lineNumber":252,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":253,"author":{"gitId":"-"},"content":") {"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"The button of modal inside dismissible box should be properly positioned\")])])}"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":257,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Unexpanded panel\")])])}"},{"lineNumber":258,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":259,"author":{"gitId":"-"},"content":") {"},{"lineNumber":260,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test panel closing transitions\")])])}"},{"lineNumber":261,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":262,"author":{"gitId":"-"},"content":") {"},{"lineNumber":263,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Nested Panel with height greater than viewport\")])])}"},{"lineNumber":264,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":265,"author":{"gitId":"-"},"content":") {"},{"lineNumber":266,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Nested Panel with height smaller than viewport\")])])}"},{"lineNumber":267,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":268,"author":{"gitId":"-"},"content":") {"},{"lineNumber":269,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Minimal Panel with height greater than viewport\")])])}"},{"lineNumber":270,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":271,"author":{"gitId":"-"},"content":") {"},{"lineNumber":272,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Minimal Panel with height smaller than viewport\")])])}"},{"lineNumber":273,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":274,"author":{"gitId":"-"},"content":") {"},{"lineNumber":275,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test search indexing\")])])}"},{"lineNumber":276,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":277,"author":{"gitId":"-"},"content":") {"},{"lineNumber":278,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test PlantUML live reload without include\")])])}"},{"lineNumber":279,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":280,"author":{"gitId":"-"},"content":") {"},{"lineNumber":281,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test PlantUML live reload with include\")])])}"},{"lineNumber":282,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":283,"author":{"gitId":"-"},"content":") {"},{"lineNumber":284,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"PlantUML Test\")])])}"},{"lineNumber":285,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":286,"author":{"gitId":"-"},"content":") {"},{"lineNumber":287,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Sequence Diagram\")])])}"},{"lineNumber":288,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":289,"author":{"gitId":"-"},"content":") {"},{"lineNumber":290,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Use Case Diagram\")])])}"},{"lineNumber":291,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":292,"author":{"gitId":"-"},"content":") {"},{"lineNumber":293,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Class Diagram\")])])}"},{"lineNumber":294,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":295,"author":{"gitId":"-"},"content":") {"},{"lineNumber":296,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test PlantUML in sub folder\")])])}"},{"lineNumber":297,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":298,"author":{"gitId":"-"},"content":") {"},{"lineNumber":299,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Activity Diagram\")])])}"},{"lineNumber":300,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":301,"author":{"gitId":"-"},"content":") {"},{"lineNumber":302,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Component Diagram\")])])}"},{"lineNumber":303,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":304,"author":{"gitId":"-"},"content":") {"},{"lineNumber":305,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"State Diagram\")])])}"},{"lineNumber":306,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":307,"author":{"gitId":"-"},"content":") {"},{"lineNumber":308,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Object Diagram\")])])}"},{"lineNumber":309,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":310,"author":{"gitId":"-"},"content":") {"},{"lineNumber":311,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h2\u0027,{staticClass:\"no-index\",attrs:{\"id\":\"level-2-header-inside-headingsearchindex-with-no-index-attribute-should-not-be-indexed\"}},[_v(\"Level 2 header (inside headingSearchIndex) with no-index attribute should not be indexed\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#level-2-header-inside-headingsearchindex-with-no-index-attribute-should-not-be-indexed\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":312,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":313,"author":{"gitId":"-"},"content":") {"},{"lineNumber":314,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h6\u0027,{staticClass:\"always-index\",attrs:{\"id\":\"level-6-header-outside-headingsearchindex-with-always-index-attribute-should-be-indexed\"}},[_v(\"Level 6 header (outside headingSearchIndex) with always-index attribute should be indexed\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#level-6-header-outside-headingsearchindex-with-always-index-attribute-should-be-indexed\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":315,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":316,"author":{"gitId":"-"},"content":") {"},{"lineNumber":317,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Test nunjucks raw tags\")])])}"},{"lineNumber":318,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":319,"author":{"gitId":"-"},"content":") {"},{"lineNumber":320,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027li\u0027,{staticClass:\"footnote-item\",attrs:{\"id\":\"fn-1-1\"}},[_c(\u0027p\u0027,[_v(\"Here is the footnote. Footnotes will appear at the bottom of the page.\")])])}"},{"lineNumber":321,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":322,"author":{"gitId":"-"},"content":") {"},{"lineNumber":323,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027li\u0027,{staticClass:\"footnote-item\",attrs:{\"id\":\"fn-1-2\"}},[_c(\u0027p\u0027,[_v(\"Here\u0027s one with multiple blocks.\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Subsequent paragraphs are indented to show that they\\nbelong to the previous footnote.\")])])}"},{"lineNumber":324,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":325,"author":{"gitId":"-"},"content":") {"},{"lineNumber":326,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027li\u0027,{staticClass:\"footnote-item\",attrs:{\"id\":\"fn-1-3\"}},[_c(\u0027p\u0027,[_v(\"Inlines notes are easier to write, since\\nyou don\u0027t have to pick an identifier and move down to type the\\nnote.\")])])}"},{"lineNumber":327,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":328,"author":{"gitId":"-"},"content":") {"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027li\u0027,{staticClass:\"footnote-item\",attrs:{\"id\":\"fn-2-1\"}},[_c(\u0027p\u0027,[_v(\"footnote1\")])])}"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027li\u0027,{staticClass:\"footnote-item\",attrs:{\"id\":\"fn-2-2\"}},[_c(\u0027p\u0027,[_v(\"footnote2\")])])}"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":335,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027footer\u0027,[_c(\u0027h1\u0027,{attrs:{\"id\":\"heading-in-footer-should-not-be-indexed\"}},[_v(\"Heading in footer should not be indexed\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-in-footer-should-not-be-indexed\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"text-center\"},[_v(\"\\n This is a dynamic height footer that supports markdown \"),_c(\u0027span\u0027,[_v(\"😄\")]),_v(\"!\\n \")])])])}"},{"lineNumber":336,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":337,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"-":324,"yiwen101":13}},{"path":"packages/cli/test/functional/test_site/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/cli/test/functional/test_site/expected/plugins/web3Form/web-3-form.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"LamJiuFong"},"content":".web-3-form input,"},{"lineNumber":2,"author":{"gitId":"LamJiuFong"},"content":".web-3-form select,"},{"lineNumber":3,"author":{"gitId":"LamJiuFong"},"content":".web-3-form textarea {"},{"lineNumber":4,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding: 12px;"},{"lineNumber":6,"author":{"gitId":"-"},"content":" border: 1px solid #ccc;"},{"lineNumber":7,"author":{"gitId":"-"},"content":" border-radius: 4px;"},{"lineNumber":8,"author":{"gitId":"-"},"content":" box-sizing: border-box;"},{"lineNumber":9,"author":{"gitId":"-"},"content":" margin-top: 6px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":" margin-bottom: 16px;"},{"lineNumber":11,"author":{"gitId":"-"},"content":" resize: vertical;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":3,"-":9}},{"path":"packages/cli/test/functional/test_site/expected/siteData.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"enableSearch\": true,"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":4,"author":{"gitId":"-"},"content":" {"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"src\": \"bugs/index.md\","},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"title\": \"Open Bugs\","},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":9,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"src\": \"index.md\","},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"panel-with-heading\": \"Panel with heading\","},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"panel-without-heading-with-keyword\": \"Panel without heading with keyword\","},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"panel-with-heading-with-keyword\": \"Panel with heading with keyword\","},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"panel-without-src-header\": \"Panel without src header\","},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"panel-with-normal-src-header\": \"Panel with normal src header\","},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"panel-with-src-from-a-page-segment-header\": \"Panel with src from a page segment header\","},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"boilerplate-referencing\": \"Boilerplate referencing\","},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"boilerplate-referencing-2\": \"Boilerplate referencing 2\","},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"referencing-specified-path-in-boilerplate\": \"Referencing specified path in boilerplate\","},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"outer-nested-panel\": \"Outer nested panel\","},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"outer-nested-panel-without-src\": \"Outer nested panel without src\","},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"panel-with-src-from-another-markbind-site-header\": \"Panel with src from another MarkBind site header\","},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"panel-with-src-from-another-markbind-site-header-2\": \"Panel with src from another MarkBind site header\","},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"unexpanded-panel-header\": \"Unexpanded panel header\","},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"keyword-should-be-tagged-to-this-heading-not-the-panel-heading\": \"Keyword should be tagged to this heading, not the panel heading\","},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"panel-normal-source-content-headings\": \"Panel normal source content headings\","},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"panel-source-segment-content-headings\": \"Panel source segment content headings\","},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"boilerplate-test-for-panel-heading\": \"boilerplate test for panel heading\","},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"heading-in-panel-boilerplate\": \"heading in panel boilerplate\","},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"nested-panel\": \"Nested Panel\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"normal-panel-content-heading\": \"Normal panel content heading\","},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"inner-panel-header-without-src\": \"Inner panel header without src\","},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"feature-list\": \"Feature list\","},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"heading-with-multiple-keywords\": \"Heading with multiple keywords\","},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"heading-with-keyword-in-panel\": \"Heading with keyword in panel\","},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"heading-fragment-with-leading-spaces-and-newline\": \"Heading \\nFragment with leading spaces and newline\\n\","},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"heading-with-included-keyword\": \"Heading with included keyword\","},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"included-heading\": \"Included Heading\","},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"heading-with-nested-keyword\": \"Heading with nested keyword\","},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"heading-with-hidden-keyword\": \"Heading with hidden keyword\","},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"establishing-requirements\": \"Establishing Requirements\","},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"brainstorming\": \"Brainstorming\","},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"user-surveys\": \"User surveys\","},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"focus-groups\": \"Focus groups\","},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"path-within-the-boilerplate-folder-is-separately-specified\": \"Path within the boilerplate folder is separately specified\","},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"level-6-header-outside-headingsearchindex-with-always-index-attribute-should-be-indexed\": \"Level 6 header (outside headingSearchIndex) with always-index attribute should be indexed\""},{"lineNumber":50,"author":{"gitId":"-"},"content":" },"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"headingKeywords\": {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"heading-with-keyword-in-panel\": ["},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"panel keyword\""},{"lineNumber":54,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"panel-with-heading\": ["},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"panel keyword\""},{"lineNumber":57,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \"keyword-should-be-tagged-to-this-heading-not-the-panel-heading\": ["},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"panel keyword\""},{"lineNumber":60,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"panel-with-heading-with-keyword\": ["},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"panel keyword\""},{"lineNumber":63,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":64,"author":{"gitId":"-"},"content":" \"heading-with-multiple-keywords\": ["},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"keyword 1\","},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"keyword 2\""},{"lineNumber":67,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":68,"author":{"gitId":"-"},"content":" \"heading-with-included-keyword\": ["},{"lineNumber":69,"author":{"gitId":"-"},"content":" \"included keyword\""},{"lineNumber":70,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"included-heading\": ["},{"lineNumber":72,"author":{"gitId":"-"},"content":" \"Keyword with included heading\""},{"lineNumber":73,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \"heading-with-nested-keyword\": ["},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"nested keyword\""},{"lineNumber":76,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"heading-with-hidden-keyword\": ["},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"invisible keyword\""},{"lineNumber":79,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":" },"},{"lineNumber":82,"author":{"gitId":"-"},"content":" {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \"src\": \"sub_site/index.md\","},{"lineNumber":84,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" \"feature-list\": \"Feature list\""},{"lineNumber":86,"author":{"gitId":"-"},"content":" },"},{"lineNumber":87,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":88,"author":{"gitId":"-"},"content":" },"},{"lineNumber":89,"author":{"gitId":"-"},"content":" {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \"src\": \"sub_site/nested_sub_site/index.md\","},{"lineNumber":91,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":92,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":93,"author":{"gitId":"-"},"content":" },"},{"lineNumber":94,"author":{"gitId":"-"},"content":" {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \"src\": \"test_md_fragment.md\","},{"lineNumber":96,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \"some-heading\": \"Some heading\""},{"lineNumber":98,"author":{"gitId":"-"},"content":" },"},{"lineNumber":99,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":100,"author":{"gitId":"-"},"content":" },"},{"lineNumber":101,"author":{"gitId":"-"},"content":" {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \"src\": \"testEmptyFrontmatter.md\","},{"lineNumber":103,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":104,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":106,"author":{"gitId":"-"},"content":" },"},{"lineNumber":107,"author":{"gitId":"-"},"content":" {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \"src\": \"testLayoutsOverride.md\","},{"lineNumber":109,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":110,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":111,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":112,"author":{"gitId":"-"},"content":" },"},{"lineNumber":113,"author":{"gitId":"-"},"content":" {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" \"src\": \"testEmptyAltFrontMatter.md\","},{"lineNumber":115,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":116,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":117,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":118,"author":{"gitId":"-"},"content":" },"},{"lineNumber":119,"author":{"gitId":"-"},"content":" {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \"src\": \"testLayoutsOverrideWithAltFrontmatter.md\","},{"lineNumber":121,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":122,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":123,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":124,"author":{"gitId":"-"},"content":" },"},{"lineNumber":125,"author":{"gitId":"-"},"content":" {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \"src\": \"testAltFrontMatterInvalidKeyValue.md\","},{"lineNumber":127,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":128,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":129,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":130,"author":{"gitId":"-"},"content":" },"},{"lineNumber":131,"author":{"gitId":"-"},"content":" {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" \"src\": \"testSingleAltFrontMatter.md\","},{"lineNumber":133,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":134,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":136,"author":{"gitId":"-"},"content":" },"},{"lineNumber":137,"author":{"gitId":"-"},"content":" {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" \"src\": \"testAltFrontMatterParsing.md\","},{"lineNumber":139,"author":{"gitId":"-"},"content":" \"title\": \"new title\","},{"lineNumber":140,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":141,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":142,"author":{"gitId":"-"},"content":" },"},{"lineNumber":143,"author":{"gitId":"-"},"content":" {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" \"src\": \"testExternalScripts.md\","},{"lineNumber":145,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":146,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":147,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":148,"author":{"gitId":"-"},"content":" },"},{"lineNumber":149,"author":{"gitId":"-"},"content":" {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" \"src\": \"testLayouts.md\","},{"lineNumber":151,"author":{"gitId":"-"},"content":" \"title\": \"Test nunjucks path resolving\","},{"lineNumber":152,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":153,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":154,"author":{"gitId":"-"},"content":" },"},{"lineNumber":155,"author":{"gitId":"-"},"content":" {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \"src\": \"testLayoutsWithAltFrontMatter.md\","},{"lineNumber":157,"author":{"gitId":"-"},"content":" \"title\": \"Test nunjucks path resolving\","},{"lineNumber":158,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":159,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":161,"author":{"gitId":"-"},"content":" {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" \"src\": \"testNunjucksPathResolving.md\","},{"lineNumber":163,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":164,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":165,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":166,"author":{"gitId":"-"},"content":" },"},{"lineNumber":167,"author":{"gitId":"-"},"content":" {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" \"src\": \"sub_site/testNunjucksPathResolving.md\","},{"lineNumber":169,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":170,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":171,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":172,"author":{"gitId":"-"},"content":" },"},{"lineNumber":173,"author":{"gitId":"-"},"content":" {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" \"src\": \"sub_site/nested_sub_site/testNunjucksPathResolving.md\","},{"lineNumber":175,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":176,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":177,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":178,"author":{"gitId":"-"},"content":" },"},{"lineNumber":179,"author":{"gitId":"-"},"content":" {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" \"src\": \"testAntiFOUCStyles.md\","},{"lineNumber":181,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":182,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":183,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":184,"author":{"gitId":"-"},"content":" },"},{"lineNumber":185,"author":{"gitId":"-"},"content":" {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \"src\": \"testAnchorGeneration.md\","},{"lineNumber":187,"author":{"gitId":"-"},"content":" \"title\": \"Anchor Generation Test\","},{"lineNumber":188,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" \"should-have-anchor-7\": \"should have anchor\","},{"lineNumber":190,"author":{"gitId":"-"},"content":" \"should-have-anchor-20\": \"should have anchor\","},{"lineNumber":191,"author":{"gitId":"-"},"content":" \"should-have-anchor-8\": \"should have anchor\","},{"lineNumber":192,"author":{"gitId":"-"},"content":" \"should-have-anchor-9\": \"should have anchor\","},{"lineNumber":193,"author":{"gitId":"-"},"content":" \"should-have-anchor-10\": \"should have anchor\","},{"lineNumber":194,"author":{"gitId":"-"},"content":" \"should-have-anchor-11\": \"should have anchor\","},{"lineNumber":195,"author":{"gitId":"-"},"content":" \"should-have-anchor-21\": \"should have anchor\","},{"lineNumber":196,"author":{"gitId":"-"},"content":" \"should-have-anchor-22\": \"should have anchor\","},{"lineNumber":197,"author":{"gitId":"-"},"content":" \"should-have-anchor-23\": \"should have anchor\","},{"lineNumber":198,"author":{"gitId":"-"},"content":" \"should-have-anchor-24\": \"should have anchor\","},{"lineNumber":199,"author":{"gitId":"-"},"content":" \"root-file\": \"Root file\","},{"lineNumber":200,"author":{"gitId":"-"},"content":" \"should-have-anchor\": \"should have anchor\","},{"lineNumber":201,"author":{"gitId":"-"},"content":" \"should-have-anchor-2\": \"should have anchor\","},{"lineNumber":202,"author":{"gitId":"-"},"content":" \"should-have-anchor-3\": \"should have anchor\","},{"lineNumber":203,"author":{"gitId":"-"},"content":" \"should-have-anchor-4\": \"should have anchor\","},{"lineNumber":204,"author":{"gitId":"-"},"content":" \"included-file\": \"Included File\","},{"lineNumber":205,"author":{"gitId":"-"},"content":" \"should-have-anchor-14\": \"should have anchor\","},{"lineNumber":206,"author":{"gitId":"-"},"content":" \"should-have-anchor-15\": \"should have anchor\","},{"lineNumber":207,"author":{"gitId":"-"},"content":" \"should-have-anchor-16\": \"should have anchor\","},{"lineNumber":208,"author":{"gitId":"-"},"content":" \"should-have-anchor-17\": \"should have anchor\""},{"lineNumber":209,"author":{"gitId":"-"},"content":" },"},{"lineNumber":210,"author":{"gitId":"-"},"content":" \"headingKeywords\": {},"},{"lineNumber":211,"author":{"gitId":"-"},"content":" \"frontmatterKeywords\": \"testFrontmatterKeywords\""},{"lineNumber":212,"author":{"gitId":"-"},"content":" },"},{"lineNumber":213,"author":{"gitId":"-"},"content":" {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" \"src\": \"testAnnotate.md\","},{"lineNumber":215,"author":{"gitId":"-"},"content":" \"title\": \"Annotate Feature Test\","},{"lineNumber":216,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" \"content\": \"Content\""},{"lineNumber":218,"author":{"gitId":"-"},"content":" },"},{"lineNumber":219,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":220,"author":{"gitId":"-"},"content":" },"},{"lineNumber":221,"author":{"gitId":"-"},"content":" {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" \"src\": \"testTooltipSpacing.md\","},{"lineNumber":223,"author":{"gitId":"-"},"content":" \"title\": \"Tooltip Spacing Test\","},{"lineNumber":224,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" \"569-stray-space-after-tooltip\": \"569: Stray space after tooltip\""},{"lineNumber":226,"author":{"gitId":"-"},"content":" },"},{"lineNumber":227,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":228,"author":{"gitId":"-"},"content":" },"},{"lineNumber":229,"author":{"gitId":"-"},"content":" {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" \"src\": \"testThumbnails.md\","},{"lineNumber":231,"author":{"gitId":"-"},"content":" \"title\": \"Thumbnails Test\","},{"lineNumber":232,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":233,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":234,"author":{"gitId":"-"},"content":" },"},{"lineNumber":235,"author":{"gitId":"-"},"content":" {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" \"src\": \"testPlantUML.md\","},{"lineNumber":237,"author":{"gitId":"-"},"content":" \"title\": \"PlantUML Test\","},{"lineNumber":238,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":239,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":240,"author":{"gitId":"-"},"content":" },"},{"lineNumber":241,"author":{"gitId":"-"},"content":" {"},{"lineNumber":242,"author":{"gitId":"-"},"content":" \"src\": \"testCodeBlocks.md\","},{"lineNumber":243,"author":{"gitId":"-"},"content":" \"title\": \"Test: Code Blocks\","},{"lineNumber":244,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":245,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":246,"author":{"gitId":"-"},"content":" },"},{"lineNumber":247,"author":{"gitId":"-"},"content":" {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" \"src\": \"testIncludePluginsRendered.md\","},{"lineNumber":249,"author":{"gitId":"-"},"content":" \"title\": \"Included files should have plugins rendered on them\","},{"lineNumber":250,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":251,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":252,"author":{"gitId":"-"},"content":" },"},{"lineNumber":253,"author":{"gitId":"-"},"content":" {"},{"lineNumber":254,"author":{"gitId":"-"},"content":" \"src\": \"testIncludeMultipleModals.md\","},{"lineNumber":255,"author":{"gitId":"-"},"content":" \"title\": \"Multiple inclusions of a modal should be supported\","},{"lineNumber":256,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":257,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":258,"author":{"gitId":"-"},"content":" },"},{"lineNumber":259,"author":{"gitId":"-"},"content":" {"},{"lineNumber":260,"author":{"gitId":"-"},"content":" \"src\": \"testPopovers.md\","},{"lineNumber":261,"author":{"gitId":"-"},"content":" \"title\": \"Test: Popovers\","},{"lineNumber":262,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" \"nested-panel\": \"Nested Panel\","},{"lineNumber":264,"author":{"gitId":"-"},"content":" \"normal-panel-content-heading\": \"Normal panel content heading\","},{"lineNumber":265,"author":{"gitId":"-"},"content":" \"some-heading\": \"Some heading\","},{"lineNumber":266,"author":{"gitId":"-"},"content":" \"some-heading-2\": \"Some heading\""},{"lineNumber":267,"author":{"gitId":"-"},"content":" },"},{"lineNumber":268,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":269,"author":{"gitId":"-"},"content":" },"},{"lineNumber":270,"author":{"gitId":"-"},"content":" {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" \"src\": \"testPopoverTrigger.md\","},{"lineNumber":272,"author":{"gitId":"-"},"content":" \"title\": \"Popover initiated by trigger should honor trigger attribute\","},{"lineNumber":273,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":274,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":275,"author":{"gitId":"-"},"content":" },"},{"lineNumber":276,"author":{"gitId":"-"},"content":" {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" \"src\": \"testModals.md\","},{"lineNumber":278,"author":{"gitId":"-"},"content":" \"title\": \"Test: Modals\","},{"lineNumber":279,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":280,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":281,"author":{"gitId":"-"},"content":" },"},{"lineNumber":282,"author":{"gitId":"-"},"content":" {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" \"src\": \"testDates.md\","},{"lineNumber":284,"author":{"gitId":"-"},"content":" \"title\": \"Nunjucks date filter tests\","},{"lineNumber":285,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":286,"author":{"gitId":"-"},"content":" \"dates\": \"Dates\""},{"lineNumber":287,"author":{"gitId":"-"},"content":" },"},{"lineNumber":288,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":289,"author":{"gitId":"-"},"content":" },"},{"lineNumber":290,"author":{"gitId":"-"},"content":" {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" \"src\": \"testVariableContainsInclude.md\","},{"lineNumber":292,"author":{"gitId":"-"},"content":" \"title\": \"Variable should be able to store included content fragments\","},{"lineNumber":293,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" \"content-fragment\": \"content fragment\""},{"lineNumber":295,"author":{"gitId":"-"},"content":" },"},{"lineNumber":296,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":297,"author":{"gitId":"-"},"content":" },"},{"lineNumber":298,"author":{"gitId":"-"},"content":" {"},{"lineNumber":299,"author":{"gitId":"-"},"content":" \"src\": \"testIncludeBoilerplate.md\","},{"lineNumber":300,"author":{"gitId":"-"},"content":" \"title\": \"Content inside \u003cinclude\u003e should not be processed by markdown\","},{"lineNumber":301,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":302,"author":{"gitId":"-"},"content":" \"hello\": \"hello\""},{"lineNumber":303,"author":{"gitId":"-"},"content":" },"},{"lineNumber":304,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":305,"author":{"gitId":"-"},"content":" },"},{"lineNumber":306,"author":{"gitId":"-"},"content":" {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" \"src\": \"testPanels.md\","},{"lineNumber":308,"author":{"gitId":"-"},"content":" \"title\": \"Test: Panels\","},{"lineNumber":309,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":310,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":311,"author":{"gitId":"-"},"content":" },"},{"lineNumber":312,"author":{"gitId":"-"},"content":" {"},{"lineNumber":313,"author":{"gitId":"-"},"content":" \"src\": \"testPanelMarkdownParsing.md\","},{"lineNumber":314,"author":{"gitId":"-"},"content":" \"title\": \"markdown-it should parse minimized panel as inline element and normal panel as block element\","},{"lineNumber":315,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":316,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":317,"author":{"gitId":"-"},"content":" },"},{"lineNumber":318,"author":{"gitId":"-"},"content":" {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" \"src\": \"testCenterText.md\","},{"lineNumber":320,"author":{"gitId":"-"},"content":" \"title\": \"Center-aligned text test\","},{"lineNumber":321,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":322,"author":{"gitId":"-"},"content":" \"center-text\": \"Center Text\""},{"lineNumber":323,"author":{"gitId":"-"},"content":" },"},{"lineNumber":324,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":325,"author":{"gitId":"-"},"content":" },"},{"lineNumber":326,"author":{"gitId":"-"},"content":" {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" \"src\": \"testHr.md\","},{"lineNumber":328,"author":{"gitId":"-"},"content":" \"title\": \"create different types of horizontal rules\","},{"lineNumber":329,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" \"different-types-of-horizontal-rules\": \"Different types of horizontal rules\""},{"lineNumber":331,"author":{"gitId":"-"},"content":" },"},{"lineNumber":332,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":333,"author":{"gitId":"-"},"content":" },"},{"lineNumber":334,"author":{"gitId":"-"},"content":" {"},{"lineNumber":335,"author":{"gitId":"-"},"content":" \"src\": \"testPageNav.md\","},{"lineNumber":336,"author":{"gitId":"-"},"content":" \"title\": \"text interpolation should be skipped appropriately\","},{"lineNumber":337,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":338,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":339,"author":{"gitId":"-"},"content":" },"},{"lineNumber":340,"author":{"gitId":"-"},"content":" {"},{"lineNumber":341,"author":{"gitId":"-"},"content":" \"src\": \"testPanelsClosingTransition.md\","},{"lineNumber":342,"author":{"gitId":"-"},"content":" \"title\": \"Test: Panels closing transition\","},{"lineNumber":343,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":344,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":345,"author":{"gitId":"-"},"content":" },"},{"lineNumber":346,"author":{"gitId":"-"},"content":" {"},{"lineNumber":347,"author":{"gitId":"-"},"content":" \"src\": \"testLinks.md\","},{"lineNumber":348,"author":{"gitId":"-"},"content":" \"title\": \"Autolink tests\","},{"lineNumber":349,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":350,"author":{"gitId":"-"},"content":" \"autolinks\": \"Autolinks\""},{"lineNumber":351,"author":{"gitId":"-"},"content":" },"},{"lineNumber":352,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":353,"author":{"gitId":"-"},"content":" },"},{"lineNumber":354,"author":{"gitId":"-"},"content":" {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" \"src\": \"testTree.md\","},{"lineNumber":356,"author":{"gitId":"-"},"content":" \"title\": \"Tree tests\","},{"lineNumber":357,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":358,"author":{"gitId":"-"},"content":" \"tree\": \"Tree\","},{"lineNumber":359,"author":{"gitId":"-"},"content":" \"single-tree\": \"Single Tree\","},{"lineNumber":360,"author":{"gitId":"-"},"content":" \"multiple-tree\": \"Multiple Tree\","},{"lineNumber":361,"author":{"gitId":"-"},"content":" \"inline-markdown\": \"Inline Markdown\""},{"lineNumber":362,"author":{"gitId":"-"},"content":" },"},{"lineNumber":363,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":364,"author":{"gitId":"-"},"content":" },"},{"lineNumber":365,"author":{"gitId":"-"},"content":" {"},{"lineNumber":366,"author":{"gitId":"-"},"content":" \"src\": \"testMath.md\","},{"lineNumber":367,"author":{"gitId":"-"},"content":" \"title\": \"Math formulae should be displayed correctly, with additional plugin\","},{"lineNumber":368,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":369,"author":{"gitId":"-"},"content":" \"math-formulae\": \"Math Formulae\","},{"lineNumber":370,"author":{"gitId":"-"},"content":" \"markbind-supports-typesetting-tex-math-equations\": \"Markbind supports typesetting TeX math equations\","},{"lineNumber":371,"author":{"gitId":"-"},"content":" \"additional-delimiters-can-be-used-if-mathdelimiters-plugin-is-enabled\": \"Additional delimiters can be used if mathDelimiters plugin is enabled\""},{"lineNumber":372,"author":{"gitId":"-"},"content":" },"},{"lineNumber":373,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":374,"author":{"gitId":"-"},"content":" },"},{"lineNumber":375,"author":{"gitId":"-"},"content":" {"},{"lineNumber":376,"author":{"gitId":"-"},"content":" \"src\": \"testImages.md\","},{"lineNumber":377,"author":{"gitId":"-"},"content":" \"title\": \"Rendering of images according to specified dimension and auto-linkify ability\","},{"lineNumber":378,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":379,"author":{"gitId":"-"},"content":" \"images\": \"Images\","},{"lineNumber":380,"author":{"gitId":"-"},"content":" \"alt\": \"Alt\","},{"lineNumber":381,"author":{"gitId":"-"},"content":" \"dimension\": \"Dimension\","},{"lineNumber":382,"author":{"gitId":"-"},"content":" \"linkify\": \"Linkify\""},{"lineNumber":383,"author":{"gitId":"-"},"content":" },"},{"lineNumber":384,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":385,"author":{"gitId":"-"},"content":" },"},{"lineNumber":386,"author":{"gitId":"-"},"content":" {"},{"lineNumber":387,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavTarget.md\","},{"lineNumber":388,"author":{"gitId":"-"},"content":" \"title\": \"Bootstrap scrollspy related classes should be applied only if there are navigable headings\","},{"lineNumber":389,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":390,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":391,"author":{"gitId":"-"},"content":" },"},{"lineNumber":392,"author":{"gitId":"-"},"content":" {"},{"lineNumber":393,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavWithoutTitleAndNavHeadings.md\","},{"lineNumber":394,"author":{"gitId":"-"},"content":" \"title\": \"page nav separator should be omitted when there is no title and navigation headings added\","},{"lineNumber":395,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":396,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":397,"author":{"gitId":"-"},"content":" },"},{"lineNumber":398,"author":{"gitId":"-"},"content":" {"},{"lineNumber":399,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavWithOnlyTitle.md\","},{"lineNumber":400,"author":{"gitId":"-"},"content":" \"title\": \"page nav with title added\","},{"lineNumber":401,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":402,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":403,"author":{"gitId":"-"},"content":" },"},{"lineNumber":404,"author":{"gitId":"-"},"content":" {"},{"lineNumber":405,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavPrint.md\","},{"lineNumber":406,"author":{"gitId":"-"},"content":" \"title\": \"printing page nav\","},{"lineNumber":407,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":408,"author":{"gitId":"-"},"content":" \"h1\": \"H1\","},{"lineNumber":409,"author":{"gitId":"-"},"content":" \"h2\": \"H2\""},{"lineNumber":410,"author":{"gitId":"-"},"content":" },"},{"lineNumber":411,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":412,"author":{"gitId":"-"},"content":" },"},{"lineNumber":413,"author":{"gitId":"-"},"content":" {"},{"lineNumber":414,"author":{"gitId":"-"},"content":" \"src\": \"testWeb3FormPlugin.md\","},{"lineNumber":415,"author":{"gitId":"-"},"content":" \"title\": \"web 3 forms\","},{"lineNumber":416,"author":{"gitId":"-"},"content":" \"headings\": {"},{"lineNumber":417,"author":{"gitId":"-"},"content":" \"i-am-a-header\": \"🚀 I am a header\""},{"lineNumber":418,"author":{"gitId":"-"},"content":" },"},{"lineNumber":419,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":420,"author":{"gitId":"-"},"content":" },"},{"lineNumber":421,"author":{"gitId":"-"},"content":" {"},{"lineNumber":422,"author":{"gitId":"-"},"content":" \"src\": \"testList.md\","},{"lineNumber":423,"author":{"gitId":"-"},"content":" \"title\": \"web 3 forms\","},{"lineNumber":424,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":425,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":426,"author":{"gitId":"-"},"content":" },"},{"lineNumber":427,"author":{"gitId":"-"},"content":" {"},{"lineNumber":428,"author":{"gitId":"-"},"content":" \"src\": \"testFontAwesomeInPage.md\","},{"lineNumber":429,"author":{"gitId":"-"},"content":" \"title\": \"font-awesome icon in page, only font-awesome stylesheet should be loaded\","},{"lineNumber":430,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":431,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":432,"author":{"gitId":"-"},"content":" },"},{"lineNumber":433,"author":{"gitId":"-"},"content":" {"},{"lineNumber":434,"author":{"gitId":"-"},"content":" \"src\": \"testGlyphiconInPage.md\","},{"lineNumber":435,"author":{"gitId":"-"},"content":" \"title\": \"glyphicon icon in page, only glyphicon stylesheet should be loaded\","},{"lineNumber":436,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":437,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":438,"author":{"gitId":"-"},"content":" },"},{"lineNumber":439,"author":{"gitId":"-"},"content":" {"},{"lineNumber":440,"author":{"gitId":"-"},"content":" \"src\": \"testMaterialIconsInPage.md\","},{"lineNumber":441,"author":{"gitId":"-"},"content":" \"title\": \"material-icons icon in page, only material-icons stylesheet should be loaded\","},{"lineNumber":442,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":443,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":444,"author":{"gitId":"-"},"content":" },"},{"lineNumber":445,"author":{"gitId":"-"},"content":" {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" \"src\": \"testOcticonInPage.md\","},{"lineNumber":447,"author":{"gitId":"-"},"content":" \"title\": \"octicon icon in page, only octicon stylesheet should be loaded\","},{"lineNumber":448,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":449,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":450,"author":{"gitId":"-"},"content":" },"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" {"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"src\": \"testBootstrapIconInPage.md\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"title\": \"bootstrap icon in page, only octicon stylesheet should be loaded\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"headings\": {},"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"headingKeywords\": {}"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" },"},{"lineNumber":457,"author":{"gitId":"-"},"content":" {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" \"src\": \"testIconsInSiteLayout.md\","},{"lineNumber":459,"author":{"gitId":"-"},"content":" \"title\": \"glyphicon \u0026 octicon icon in page, only glyphicon \u0026 octicon stylesheets should be loaded\","},{"lineNumber":460,"author":{"gitId":"-"},"content":" \"headings\": {},"},{"lineNumber":461,"author":{"gitId":"-"},"content":" \"headingKeywords\": {}"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" },"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" {"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"src\": \"testSourceContainScript.md\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"title\": \"Test: If source contains script or css, when included, the script or css should be included\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"headings\": {"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"panel-with-src-that-contains-css-and-script-header\": \"Panel with src that contains css and script header\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"h1-text\": \"\\n\\n\\n h1 text\\n \\n\""},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" },"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"headingKeywords\": {}"},{"lineNumber":471,"author":{"gitId":"-"},"content":" }"},{"lineNumber":472,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":473,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"-":458,"yiwen101":15}},{"path":"packages/cli/test/functional/test_site/expected/stylesheets/styles.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: auto;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" margin-left: 60px;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":"}"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":113,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":"}"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":124,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" margin-left: 0;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":"}"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":135,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":137}},{"path":"packages/cli/test/functional/test_site/expected/testBootstrapIconInPage.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027div\u0027,[_c(\u0027header\u0027,[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\",\"default-highlight-on\":\"sibling-or-child\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/\",\"title\":\"Home\"}},[_v(\"MarkBind Test Site\")])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs\")])])]),_v(\" \"),_m(0)],1),_v(\" \"),_m(1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(2),_v(\" \"),_m(3),_v(\" \"),_m(4)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})])],1)])}"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":"};"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"bg-info display-4 text-center text-white\"},[_c(\u0027br\u0027),_v(\"\\n Test Jumbotron\"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027br\u0027)])}"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Relative Link Test\")]),_v(\" This is a relative Intra-Site link in a layout (see \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html#heading-with-hidden-keyword\"}},[_v(\"link\")]),_v(\")\")])}"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"A bootstrap icon is supposed to appear here ---\u003e \"),_c(\u0027i\u0027,{staticClass:\"bi-terminal-dash\"})])}"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"There is one bootstrap-icons icon in this page content.\")])])}"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Open up console. Only bootstrap-icons stylesheet should be loaded!\")])])}"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"}];"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" "}],"authorContributionMap":{"yiwen101":22}},{"path":"packages/cli/test/functional/test_site/expected/testList.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027div\u0027,[_c(\u0027header\u0027,[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\",\"default-highlight-on\":\"sibling-or-child\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/\",\"title\":\"Home\"}},[_v(\"MarkBind Test Site\")])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs\")])])]),_v(\" \"),_m(0)],1),_v(\" \"),_m(1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_c(\u0027div\u0027,[_c(\u0027h2\u0027,{attrs:{\"id\":\"default-layout\"}},[_v(\"Default Layout\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#default-layout\",\"onclick\":\"event.stopPropagation()\"}})])])])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027div\u0027,[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs 🐛\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_c(\u0027h3\u0027,{attrs:{\"id\":\"testing-site-nav\"}},[_v(\"Testing Site-Nav\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#testing-site-nav\",\"onclick\":\"event.stopPropagation()\"}})])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027strong\u0027,[_v(\"Dropdown \")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-search\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" title ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Html within site-nav \"),_c(\u0027span\u0027,{staticStyle:{\"color\":\"red\"}},[_v(\"should\")]),_v(\" be displayed properly\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown title 📐\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027mark\u0027,[_v(\"Third Link\")]),_v(\" 📋\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Filler text \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-facetime-video\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" Youtube 📺\")]),_v(\" filler text\"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/watch?v\u003ddQw4w9WgXcQ\"}},[_v(\"The answer to everything in the universe\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027mark\u0027,[_v(\"Dropdown title\")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-comment\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown Title\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Hello Doge Hello Doge 🐶\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_c(\u0027strong\u0027,[_v(\"NESTED LINK\")]),_v(\" Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Test line break in navigation layout\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Nested line break text ✂️\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Nested line break href\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Nested Nested line break text ✂️\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested line break dropdown menu\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Line break item 2 📘\")])])])])])])],1)],1)])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(2),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_m(5),_v(\" \"),_m(6),_v(\" \"),_m(7),_v(\" \"),_m(8),_v(\" \"),_m(9),_v(\" \"),_m(10),_v(\" \"),_m(11),_v(\" \"),_m(12),_v(\" \"),_m(13),_v(\" \"),_m(14),_v(\" \"),_m(15),_v(\" \"),_m(16),_v(\" \"),_m(17),_v(\" \"),_m(18),_v(\" \"),_m(19),_v(\" \"),_m(20),_v(\" \"),_m(21),_v(\" \"),_m(22),_v(\" \"),_m(23),_v(\" \"),_m(24),_v(\" \"),_m(25),_v(\" \"),_m(26),_v(\" \"),_m(27),_v(\" \"),_m(28),_v(\" \"),_m(29),_v(\" \"),_m(30),_v(\" \"),_m(31),_v(\" \"),_m(32),_v(\" \"),_m(33),_v(\" \"),_m(34),_v(\" \"),_m(35),_v(\" \"),_m(36),_v(\" \"),_m(37),_v(\" \"),_m(38),_v(\" \"),_m(39),_v(\" \"),_m(40),_v(\" \"),_m(41),_v(\" \"),_m(42),_v(\" \"),_m(43),_v(\" \"),_m(44),_v(\" \"),_m(45),_v(\" \"),_m(46),_v(\" \"),_m(47),_v(\" \"),_m(48),_v(\" \"),_m(49),_v(\" \"),_m(50),_v(\" \"),_m(51),_v(\" \"),_m(52),_v(\" \"),_m(53),_v(\" \"),_m(54),_v(\" \"),_m(55),_v(\" \"),_m(56),_v(\" \"),_m(57),_v(\" \"),_m(58),_v(\" \"),_m(59),_v(\" \"),_m(60),_v(\" \"),_m(61),_v(\" \"),_m(62),_v(\" \"),_m(63),_v(\" \"),_m(64),_v(\" \"),_m(65),_v(\" \"),_m(66),_v(\" \"),_m(67),_v(\" \"),_m(68),_v(\" \"),_m(69),_v(\" \"),_m(70),_v(\" \"),_m(71),_v(\" \"),_m(72),_v(\" \"),_m(73),_v(\" \"),_m(74),_v(\" \"),_m(75),_v(\" \"),_m(76),_v(\" \"),_m(77),_v(\" \"),_m(78),_v(\" \"),_m(79)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(80)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"bg-info display-4 text-center text-white\"},[_c(\u0027br\u0027),_v(\"\\n Test Jumbotron\"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027br\u0027)])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Relative Link Test\")]),_v(\" This is a relative Intra-Site link in a layout (see \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html#heading-with-hidden-keyword\"}},[_v(\"link\")]),_v(\")\")])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"-"},"content":") {"},{"lineNumber":14,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item\")])])}"},{"lineNumber":15,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"-"},"content":") {"},{"lineNumber":17,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Only 1 item\")])])}"},{"lineNumber":18,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"-"},"content":") {"},{"lineNumber":20,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item with customization icon\")])])}"},{"lineNumber":21,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"-"},"content":") {"},{"lineNumber":23,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\")])])])}"},{"lineNumber":24,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"-"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item with once customization\")])])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\")])])])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item with customization text\")])])}"},{"lineNumber":33,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"-"},"content":") {"},{"lineNumber":35,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Step 1\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\")])])])}"},{"lineNumber":36,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":37,"author":{"gitId":"-"},"content":") {"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item with text-icons of lists\")])])}"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"},attrs:{\"texts\":\"[\u0027(a)\u0027,\u0027(b)\u0027,\u0027(c)\u0027]\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"(a)\")]),_c(\u0027div\u0027,[_v(\"item 1\")])])])}"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":44,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item + nested list\")])])}"},{"lineNumber":45,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":46,"author":{"gitId":"-"},"content":") {"},{"lineNumber":47,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Only 1 item\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Only 1 item\")])])])])}"},{"lineNumber":48,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":49,"author":{"gitId":"-"},"content":") {"},{"lineNumber":50,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item + nested list with icon customization\")])])}"},{"lineNumber":51,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":52,"author":{"gitId":"-"},"content":") {"},{"lineNumber":53,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\")])])])])])])}"},{"lineNumber":54,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":55,"author":{"gitId":"-"},"content":") {"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item + nested list with once customization\")])])}"},{"lineNumber":57,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":58,"author":{"gitId":"-"},"content":") {"},{"lineNumber":59,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\")])])])])])])}"},{"lineNumber":60,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":61,"author":{"gitId":"-"},"content":") {"},{"lineNumber":62,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"One item + nested list with text customization\")])])}"},{"lineNumber":63,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":64,"author":{"gitId":"-"},"content":") {"},{"lineNumber":65,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Step 1\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Step 1.1\")]),_c(\u0027div\u0027,[_v(\"Only 1 item\")])])])])])])}"},{"lineNumber":66,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":67,"author":{"gitId":"-"},"content":") {"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Text-icons of lists test\")])])}"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"},attrs:{\"texts\":\"[\u0027(a)\u0027,\u0027(b)\u0027,\u0027(c)\u0027]\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"(a)\")]),_c(\u0027div\u0027,[_v(\"item 1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"(b)\")]),_c(\u0027div\u0027,[_v(\"item 1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"(c)\")]),_c(\u0027div\u0027,[_v(\"item 1\")])])])}"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Text-icons of lists outflow test\")])])}"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"},attrs:{\"texts\":\"[\u0027(a)\u0027,\u0027(b)\u0027,\u0027(c)\u0027]\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"(a)\")]),_c(\u0027div\u0027,[_v(\"item 1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"(b)\")]),_c(\u0027div\u0027,[_v(\"item 1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"(c)\")]),_c(\u0027div\u0027,[_v(\"item 1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"(c)\")]),_c(\u0027div\u0027,[_v(\"item 1\")])])])}"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Text-icons of lists stop on override test\")])])}"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"},attrs:{\"texts\":\"[\u0027(a)\u0027,\u0027(b)\u0027,\u0027(c)\u0027,\u0027(d)\u0027]\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"(a)\")]),_c(\u0027div\u0027,[_v(\"item 1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"(b)\")]),_c(\u0027div\u0027,[_v(\"item 1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"OVERRIDE\")]),_c(\u0027div\u0027,[_v(\"item 1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"OVERRIDE\")]),_c(\u0027div\u0027,[_v(\"item 1\")])])])}"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Text-icons of lists does not stop on once override test\")])])}"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"},attrs:{\"texts\":\"[\u0027(a)\u0027,\u0027(b)\u0027,\u0027(c)\u0027,\u0027(d)\u0027]\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"(a)\")]),_c(\u0027div\u0027,[_v(\"item 1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"(b)\")]),_c(\u0027div\u0027,[_v(\"item 1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"OVERRIDE\")]),_c(\u0027div\u0027,[_v(\"item 1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"(c)\")]),_c(\u0027div\u0027,[_v(\"item 1\")])])])}"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Text-icons of lists can use double escape to include quote test\")])])}"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"},attrs:{\"texts\":\"[\u0027\\\\\u0027a\\\\\u0027\u0027,\u0027\\\\\u0027b\\\\\u0027\u0027,\u0027\\\\\u0027c\\\\\u0027\u0027,\u0027\\\\\u0027d\\\\\u0027\u0027]\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"\u0027a\u0027\")]),_c(\u0027div\u0027,[_v(\"item 1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"\u0027b\u0027\")]),_c(\u0027div\u0027,[_v(\"item 1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"\u0027c\u0027\")]),_c(\u0027div\u0027,[_v(\"item 1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"\u0027d\u0027\")]),_c(\u0027div\u0027,[_v(\"item 1\")])])])}"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":98,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Basic structure\")])])}"},{"lineNumber":99,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":100,"author":{"gitId":"-"},"content":") {"},{"lineNumber":101,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Item A\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-item B3.1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])])}"},{"lineNumber":102,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":103,"author":{"gitId":"-"},"content":") {"},{"lineNumber":104,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Icon inheritance test\")])])}"},{"lineNumber":105,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":106,"author":{"gitId":"-"},"content":") {"},{"lineNumber":107,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":108,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":109,"author":{"gitId":"-"},"content":") {"},{"lineNumber":110,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Text inheritance test\")])])}"},{"lineNumber":111,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":112,"author":{"gitId":"-"},"content":") {"},{"lineNumber":113,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"First layer\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"First layer\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Second layer\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Second layer\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Second layer\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Third layer\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Third layer\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Second layer\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":114,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":115,"author":{"gitId":"-"},"content":") {"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Text inheritance test with text-icons of lists\")])])}"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"},attrs:{\"texts\":\"[\u002711\u0027,\u002712\u0027,\u002713\u0027,\u002714\u0027]\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"11\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"12\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"},attrs:{\"texts\":\"[\u002721\u0027,\u002722\u0027,\u002723\u0027,\u002724\u0027]\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"21\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"22\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"23\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"},attrs:{\"texts\":\"[\u002731\u0027,\u002732\u0027,\u002733\u0027,\u002734\u0027]\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"31\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"32\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"24\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":122,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"First item no customization test\")])])}"},{"lineNumber":123,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":124,"author":{"gitId":"-"},"content":") {"},{"lineNumber":125,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Item A\")]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"./images/deer.jpg\",\"text\":\"First\"}},[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"fas-file-code\",\"text\":\"Should not be appearing\"}},[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-item B3.1\")]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"./images/deer.jpg\",\"i-width\":\"50px\",\"text\":\"Should not be appearing\"}},[_v(\"Sub-sub-item B3.2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])])}"},{"lineNumber":126,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":127,"author":{"gitId":"-"},"content":") {"},{"lineNumber":128,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Correct first item customization test\")])])}"},{"lineNumber":129,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":130,"author":{"gitId":"-"},"content":") {"},{"lineNumber":131,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":132,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":133,"author":{"gitId":"-"},"content":") {"},{"lineNumber":134,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Testing with various icon attributes\")])])}"},{"lineNumber":135,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":136,"author":{"gitId":"-"},"content":") {"},{"lineNumber":137,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticClass:\"text-warning\",staticStyle:{\"width\":\"200px\",\"height\":\"100px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Hi\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"2rem\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Hi\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"2rem\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Hi\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"height\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"height\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,{attrs:{\"i-class\":\"text-danger\"}},[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"1rem\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Hi\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":138,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":139,"author":{"gitId":"-"},"content":") {"},{"lineNumber":140,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Testing with various text attributes\")])])}"},{"lineNumber":141,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":142,"author":{"gitId":"-"},"content":") {"},{"lineNumber":143,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"text-primary\",staticStyle:{\"font-size\":\"20px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Step 1\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"text-warning\",staticStyle:{\"font-size\":\"20px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Step 2\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"text-success\",staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"text-success\",staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"👍\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"👍\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,{attrs:{\"t-class\":\"text-danger\"}},[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"text-success\",staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":144,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":145,"author":{"gitId":"-"},"content":") {"},{"lineNumber":146,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Mixing text and icon\")])])}"},{"lineNumber":147,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":148,"author":{"gitId":"-"},"content":") {"},{"lineNumber":149,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027span\u0027,{staticClass:\"text-primary\",staticStyle:{\"font-size\":\"20px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Step 1\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027span\u0027,{staticClass:\"text-warning\",staticStyle:{\"font-size\":\"20px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"Step 2\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"20px\",\"height\":\"20px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027span\u0027,{staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"30px\",\"height\":\"30px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027span\u0027,{staticClass:\"text-success\",staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"30px\",\"height\":\"30px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027span\u0027,{staticClass:\"text-success\",staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"👍​\")]),_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"👍\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"👍​\")]),_c(\u0027span\u0027,{staticStyle:{\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"👍\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,{attrs:{\"t-class\":\"text-danger\"}},[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"30px\",\"height\":\"30px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027span\u0027,{staticClass:\"text-success\",staticStyle:{\"font-size\":\"10px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_c(\u0027em\u0027,[_v(\"MD\")])]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":150,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":151,"author":{"gitId":"-"},"content":") {"},{"lineNumber":152,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Mixing basic and customized lists\")])])}"},{"lineNumber":153,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":154,"author":{"gitId":"-"},"content":") {"},{"lineNumber":155,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Item A\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-danger\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-danger\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticClass:\"text-warning\",staticStyle:{\"width\":\"200px\",\"height\":\"100px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])])])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])}"},{"lineNumber":156,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":157,"author":{"gitId":"-"},"content":") {"},{"lineNumber":158,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Reverse mixing basic and customized lists\")])])}"},{"lineNumber":159,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":160,"author":{"gitId":"-"},"content":") {"},{"lineNumber":161,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-item B3.1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-sub-item B3.2\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-sub-sub-item B3.2.1\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])])])}"},{"lineNumber":162,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":163,"author":{"gitId":"-"},"content":") {"},{"lineNumber":164,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Every second list item customized\")])])}"},{"lineNumber":165,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":166,"author":{"gitId":"-"},"content":") {"},{"lineNumber":167,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"20px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code text-success\",staticStyle:{\"font-size\":\"30px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticClass:\"text-warning\",staticStyle:{\"width\":\"200px\",\"height\":\"100px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticClass:\"text-warning\",staticStyle:{\"width\":\"200px\",\"height\":\"100px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])])])}"},{"lineNumber":168,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":169,"author":{"gitId":"-"},"content":") {"},{"lineNumber":170,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Once + none + customization\")])])}"},{"lineNumber":171,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":172,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":173,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":174,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":175,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":176,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Customization + none + once\")])])}"},{"lineNumber":177,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":178,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":179,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B2\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":180,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":181,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":182,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Customization + once + none\")])])}"},{"lineNumber":183,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":184,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":185,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":186,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":187,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":188,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Once + customization + none\")])])}"},{"lineNumber":189,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":190,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":191,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":192,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":193,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":194,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"None + customization + once\")])])}"},{"lineNumber":195,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":196,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":197,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Item A\")]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"fas-file-code\"}},[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"glyphicon-education\",\"once\":\"true\"}},[_v(\"Item C\")])])}"},{"lineNumber":198,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":199,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":200,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"None + once + customization\")])])}"},{"lineNumber":201,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":202,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":203,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Item A\")]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"glyphicon-education\",\"once\":\"true\"}},[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"fas-file-code\"}},[_v(\"Item C\")])])}"},{"lineNumber":204,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":205,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":206,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Customization + once + customization\")])])}"},{"lineNumber":207,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":208,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":209,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":210,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":211,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":212,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"String once\")])])}"},{"lineNumber":213,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":214,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":215,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Item C\")])])}"},{"lineNumber":216,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":217,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":218,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"False once for item A, rest of items will inherit\")])])}"},{"lineNumber":219,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":220,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":221,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":222,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":223,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":224,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"False once for item B, will overwrite item A\")])])}"},{"lineNumber":225,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":226,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":227,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B4\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":228,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":229,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":230,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Once for specific attributes besides icon, does not overwrite\")])])}"},{"lineNumber":231,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":232,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":233,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"70px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"40px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"70px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":234,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":235,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":236,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"False once for specific attributes besides icon, does overwrite\")])])}"},{"lineNumber":237,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":238,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":239,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"70px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item A\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"40px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Sub-item B1\")])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education text-primary\",staticStyle:{\"font-size\":\"40px\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Item C\")])])])}"},{"lineNumber":240,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":241,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":242,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Sub-level\")])])}"},{"lineNumber":243,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":244,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":245,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Item A\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Item B\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-education\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B1\")])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Sub-item B2\")]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B3\\n\"),_c(\u0027ul\u0027,{staticStyle:{\"list-style-type\":\"none\",\"padding-inline-start\":\"0px\"}},[_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.1\")])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticStyle:{\"padding-bottom\":\"0.3em\",\"padding-top\":\"0.3em\",\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"}},[_c(\u0027img\u0027,{staticStyle:{\"width\":\"50px\",\"display\":\"inline-block\"},attrs:{\"src\":\"/test_site/images/deer.jpg\",\"alt\":\"Icon\"}}),_v(\"​​\")]),_c(\u0027div\u0027,[_v(\"Sub-sub-item B3.2\")])])])])]),_v(\" \"),_c(\u0027li\u0027,{staticStyle:{\"display\":\"flex\"}},[_c(\u0027span\u0027,{staticClass:\"fas fa-file-code\",staticStyle:{\"font-size\":\"unset\",\"min-width\":\"16px\",\"line-height\":\"unset\",\"margin-inline-end\":\"0.35em\",\"align-self\":\"flex-start\",\"flex-shrink\":\"0\"},attrs:{\"aria-hidden\":\"true\"}},[_v(\"​\")]),_c(\u0027div\u0027,[_v(\"Sub-item B4\")])])])]),_v(\" \"),_c(\u0027li\u0027,{attrs:{\"icon\":\"./images/deer.jpg\",\"i-width\":\"50px\"}},[_v(\"Item C\")])])}"},{"lineNumber":246,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":247,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":248,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027footer\u0027,[_c(\u0027h1\u0027,{attrs:{\"id\":\"heading-in-footer-should-not-be-indexed\"}},[_v(\"Heading in footer should not be indexed\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-in-footer-should-not-be-indexed\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"text-center\"},[_v(\"\\n This is a dynamic height footer that supports markdown \"),_c(\u0027span\u0027,[_v(\"😄\")]),_v(\"!\\n \")])])])}"},{"lineNumber":249,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":250,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"KevinEyo1":85,"-":122,"yiwen101":43}},{"path":"packages/cli/test/functional/test_site/expected/testSourceContainScript.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027div\u0027,[_c(\u0027header\u0027,[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\",\"default-highlight-on\":\"sibling-or-child\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/\",\"title\":\"Home\"}},[_v(\"MarkBind Test Site\")])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs\")])])]),_v(\" \"),_m(0)],1),_v(\" \"),_m(1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_c(\u0027div\u0027,[_c(\u0027h2\u0027,{attrs:{\"id\":\"default-layout\"}},[_v(\"Default Layout\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#default-layout\",\"onclick\":\"event.stopPropagation()\"}})])])])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027div\u0027,[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs 🐛\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_c(\u0027h3\u0027,{attrs:{\"id\":\"testing-site-nav\"}},[_v(\"Testing Site-Nav\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#testing-site-nav\",\"onclick\":\"event.stopPropagation()\"}})])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027strong\u0027,[_v(\"Dropdown \")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-search\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" title ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Html within site-nav \"),_c(\u0027span\u0027,{staticStyle:{\"color\":\"red\"}},[_v(\"should\")]),_v(\" be displayed properly\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown title 📐\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027mark\u0027,[_v(\"Third Link\")]),_v(\" 📋\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Filler text \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-facetime-video\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" Youtube 📺\")]),_v(\" filler text\"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/watch?v\u003ddQw4w9WgXcQ\"}},[_v(\"The answer to everything in the universe\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027mark\u0027,[_v(\"Dropdown title\")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-comment\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown Title\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Hello Doge Hello Doge 🐶\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_c(\u0027strong\u0027,[_v(\"NESTED LINK\")]),_v(\" Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Test line break in navigation layout\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Nested line break text ✂️\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Nested line break href\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Nested Nested line break text ✂️\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested line break dropdown menu\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Line break item 2 📘\")])])])])])])],1)],1)])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"src\":\"/test_site/testPanels/PanelSourceContainsScript._include_.html\",\"expanded\":\"\",\"panelId\":\"panel-with-src-that-contains-css-and-script-header\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h2\u0027,{attrs:{\"id\":\"panel-with-src-that-contains-css-and-script-header\"}},[_v(\"Panel with src that contains css and script header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#panel-with-src-that-contains-css-and-script-header\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])})],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(2)])}"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":"};"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"bg-info display-4 text-center text-white\"},[_c(\u0027br\u0027),_v(\"\\n Test Jumbotron\"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027br\u0027)])}"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Relative Link Test\")]),_v(\" This is a relative Intra-Site link in a layout (see \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html#heading-with-hidden-keyword\"}},[_v(\"link\")]),_v(\")\")])}"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":") {"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027footer\u0027,[_c(\u0027h1\u0027,{attrs:{\"id\":\"heading-in-footer-should-not-be-indexed\"}},[_v(\"Heading in footer should not be indexed\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-in-footer-should-not-be-indexed\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"text-center\"},[_v(\"\\n This is a dynamic height footer that supports markdown \"),_c(\u0027span\u0027,[_v(\"😄\")]),_v(\"!\\n \")])])])}"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"}];"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" "}],"authorContributionMap":{"yiwen101":16}},{"path":"packages/cli/test/functional/test_site/expected/testWeb3FormPlugin.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"LamJiuFong"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027div\u0027,[_c(\u0027header\u0027,[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\",\"default-highlight-on\":\"sibling-or-child\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/\",\"title\":\"Home\"}},[_v(\"MarkBind Test Site\")])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs\")])])]),_v(\" \"),_m(0)],1),_v(\" \"),_m(1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_c(\u0027div\u0027,[_c(\u0027h2\u0027,{attrs:{\"id\":\"default-layout\"}},[_v(\"Default Layout\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#default-layout\",\"onclick\":\"event.stopPropagation()\"}})])])])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027div\u0027,[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/bugs/index.html\"}},[_v(\"Open Bugs 🐛\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_c(\u0027h3\u0027,{attrs:{\"id\":\"testing-site-nav\"}},[_v(\"Testing Site-Nav\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#testing-site-nav\",\"onclick\":\"event.stopPropagation()\"}})])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027strong\u0027,[_v(\"Dropdown \")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-search\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" title ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Html within site-nav \"),_c(\u0027span\u0027,{staticStyle:{\"color\":\"red\"}},[_v(\"should\")]),_v(\" be displayed properly\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown title 📐\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_v(\"Dropdown link two\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027mark\u0027,[_v(\"Third Link\")]),_v(\" 📋\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Filler text \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-facetime-video\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" Youtube 📺\")]),_v(\" filler text\"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.youtube.com/watch?v\u003ddQw4w9WgXcQ\"}},[_v(\"The answer to everything in the universe\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027mark\u0027,[_v(\"Dropdown title\")]),_v(\" \"),_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-comment\",attrs:{\"aria-hidden\":\"true\"}}),_v(\" ✏️ \"),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"https://www.google.com/\"}},[_c(\u0027strong\u0027,[_v(\"Nested\")]),_v(\" Dropdown link one\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown Title Really Long Dropdown\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text Really Really Long Text\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested Dropdown Title\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Hello Doge Hello Doge 🐶\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_c(\u0027strong\u0027,[_v(\"NESTED LINK\")]),_v(\" Home 🏠\")])])]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit Text cut off from height limit\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Test line break in navigation layout\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-1\"},[_v(\"Nested line break text ✂️\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html\"}},[_v(\"Nested line break href\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Nested Nested line break text ✂️\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Nested line break dropdown menu\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-2\"},[_v(\"Line break item 2 📘\")])])])])])])],1)],1)])]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(2),_v(\" \"),_c(\u0027box\u0027,{staticClass:\"web-3-form\",attrs:{\"type\":\"info\",\"no-icon\":\"\"}},[_c(\u0027p\u0027,{staticClass:\"h2\"},[_v(\"Contact Us\")]),_c(\u0027form\u0027,{attrs:{\"onsubmit\":\"submitForm(this)\"}},[_c(\u0027input\u0027,{attrs:{\"type\":\"hidden\",\"name\":\"access_key\",\"value\":\"\"}}),_c(\u0027label\u0027,{attrs:{\"for\":\"name\"}},[_v(\"Name\")]),_v(\" \"),_c(\u0027input\u0027,{attrs:{\"type\":\"text\",\"name\":\"name\",\"required\":\"\",\"placeholder\":\"John Doe\"}}),_v(\" \"),_c(\u0027label\u0027,{attrs:{\"for\":\"email\"}},[_v(\"Email\")]),_v(\" \"),_c(\u0027input\u0027,{attrs:{\"type\":\"email\",\"name\":\"email\",\"required\":\"\",\"placeholder\":\"johndoe@gmail.com\"}}),_v(\" \"),_c(\u0027label\u0027,{attrs:{\"for\":\"message\"}},[_v(\"Message\")]),_v(\" \"),_c(\u0027textarea\u0027,{attrs:{\"name\":\"message\",\"required\":\"\"}}),_v(\" \"),_c(\u0027button\u0027,{staticClass:\"badge bg-info\",attrs:{\"type\":\"submit\"}},[_v(\"Submit\")])])]),_v(\" \"),_m(3),_v(\" \"),_c(\u0027box\u0027,{staticClass:\"web-3-form\",attrs:{\"type\":\"info\",\"no-icon\":\"\"}},[_c(\u0027form\u0027,{attrs:{\"onsubmit\":\"submitForm(this)\"}},[_c(\u0027input\u0027,{attrs:{\"type\":\"hidden\",\"name\":\"access_key\",\"value\":\"\"}}),_c(\u0027label\u0027,{attrs:{\"for\":\"name\"}},[_v(\"Name\")]),_v(\" \"),_c(\u0027input\u0027,{attrs:{\"type\":\"text\",\"name\":\"name\",\"required\":\"\",\"placeholder\":\"John Doe\"}}),_c(\u0027label\u0027,{attrs:{\"for\":\"message\"}},[_v(\"Message\")]),_v(\" \"),_c(\u0027textarea\u0027,{attrs:{\"name\":\"message\",\"required\":\"\"}}),_c(\u0027button\u0027,{staticClass:\"badge bg-info\",attrs:{\"type\":\"submit\"}},[_v(\"Submit\")])])]),_v(\" \"),_m(4),_v(\" \"),_c(\u0027box\u0027,{staticClass:\"web-3-form\",attrs:{\"type\":\"info\",\"no-icon\":\"\"}},[_c(\u0027form\u0027,{attrs:{\"onsubmit\":\"submitForm(this)\"}},[_c(\u0027input\u0027,{attrs:{\"type\":\"hidden\",\"name\":\"access_key\",\"value\":\"\"}}),_c(\u0027input\u0027,{attrs:{\"type\":\"radio\",\"id\":\"html\",\"name\":\"fav_language\",\"value\":\"HTML\"}}),_c(\u0027label\u0027,{attrs:{\"for\":\"html\"}},[_v(\"HTML\")]),_c(\u0027br\u0027),_c(\u0027input\u0027,{attrs:{\"type\":\"radio\",\"id\":\"css\",\"name\":\"fav_language\",\"value\":\"CSS\"}}),_c(\u0027label\u0027,{attrs:{\"for\":\"css\"}},[_v(\"CSS\")]),_c(\u0027br\u0027),_c(\u0027input\u0027,{attrs:{\"type\":\"radio\",\"id\":\"javascript\",\"name\":\"fav_language\",\"value\":\"JavaScript\"}}),_c(\u0027label\u0027,{attrs:{\"for\":\"javascript\"}},[_v(\"JavaScript\")]),_c(\u0027br\u0027),_c(\u0027input\u0027,{attrs:{\"list\":\"browsers\"}}),_c(\u0027datalist\u0027,{attrs:{\"id\":\"browsers\"}},[_c(\u0027option\u0027,{attrs:{\"value\":\"Internet Explorer\"}}),_c(\u0027option\u0027,{attrs:{\"value\":\"Firefox\"}}),_c(\u0027option\u0027,{attrs:{\"value\":\"Chrome\"}}),_c(\u0027option\u0027,{attrs:{\"value\":\"Opera\"}}),_c(\u0027option\u0027,{attrs:{\"value\":\"Safari\"}})]),_c(\u0027br\u0027),_c(\u0027button\u0027,{staticClass:\"badge bg-info\",attrs:{\"type\":\"submit\"}},[_v(\"Submit\")])])]),_v(\" \"),_m(5),_v(\" \"),_c(\u0027box\u0027,{staticClass:\"web-3-form\",attrs:{\"type\":\"warning\",\"no-icon\":\"\"}},[_c(\u0027h3\u0027,{attrs:{\"id\":\"i-am-a-header\"}},[_v(\"🚀 I am a header\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#i-am-a-header\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027form\u0027,{attrs:{\"onsubmit\":\"submitForm(this)\"}},[_c(\u0027input\u0027,{attrs:{\"type\":\"hidden\",\"name\":\"access_key\",\"value\":\"\"}}),_c(\u0027label\u0027,{attrs:{\"for\":\"name\"}},[_v(\"Name\")]),_v(\" \"),_c(\u0027input\u0027,{attrs:{\"type\":\"text\",\"name\":\"name\",\"required\":\"\",\"placeholder\":\"John Doe\"}}),_v(\" \"),_c(\u0027label\u0027,{attrs:{\"for\":\"email\"}},[_v(\"Email\")]),_v(\" \"),_c(\u0027input\u0027,{attrs:{\"type\":\"email\",\"name\":\"email\",\"required\":\"\",\"placeholder\":\"johndoe@gmail.com\"}}),_v(\" \"),_c(\u0027label\u0027,{attrs:{\"for\":\"message\"}},[_v(\"Message\")]),_v(\" \"),_c(\u0027textarea\u0027,{attrs:{\"name\":\"message\",\"required\":\"\"}}),_v(\" \"),_c(\u0027button\u0027,{staticClass:\"badge bg-info\",attrs:{\"type\":\"submit\"}},[_v(\"Submit\")])])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(6)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"bg-info display-4 text-center text-white\"},[_c(\u0027br\u0027),_v(\"\\n Test Jumbotron\"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027br\u0027)])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Relative Link Test\")]),_v(\" This is a relative Intra-Site link in a layout (see \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/test_site/index.html#heading-with-hidden-keyword\"}},[_v(\"link\")]),_v(\")\")])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"-"},"content":") {"},{"lineNumber":14,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Default contact us form\")])])}"},{"lineNumber":15,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"-"},"content":") {"},{"lineNumber":17,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Form with default inputs\")])])}"},{"lineNumber":18,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"-"},"content":") {"},{"lineNumber":20,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Form with customised inputs\")])])}"},{"lineNumber":21,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"-"},"content":") {"},{"lineNumber":23,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Form with customised options\")])])}"},{"lineNumber":24,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"-"},"content":") {"},{"lineNumber":26,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027footer\u0027,[_c(\u0027h1\u0027,{attrs:{\"id\":\"heading-in-footer-should-not-be-indexed\"}},[_v(\"Heading in footer should not be indexed\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#heading-in-footer-should-not-be-indexed\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"text-center\"},[_v(\"\\n This is a dynamic height footer that supports markdown \"),_c(\u0027span\u0027,[_v(\"😄\")]),_v(\"!\\n \")])])])}"},{"lineNumber":27,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":28,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"LamJiuFong":1,"-":27}},{"path":"packages/cli/test/functional/test_site/index.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":"title: Hello World"},{"lineNumber":3,"author":{"gitId":"-"},"content":"pageNav: \"default\""},{"lineNumber":4,"author":{"gitId":"-"},"content":"pageNavTitle: \"Testing Page Navigation\""},{"lineNumber":5,"author":{"gitId":"-"},"content":"globalOverrideProperty: \"To be overridden by global override\""},{"lineNumber":6,"author":{"gitId":"-"},"content":"frontmatterOverrideProperty: \"To be overridden by frontmatter override\""},{"lineNumber":7,"author":{"gitId":"-"},"content":"globalAndFrontmatterOverrideProperty: \"To be overridden by frontmatter and global override\""},{"lineNumber":8,"author":{"gitId":"-"},"content":"tags: [\"tag-frontmatter-shown\", \"tag-included-file\", \"+tag-exp*\", \"-tag-exp-hidden\", \"-tag-site-override-shown\", \"-tag-site-override-specific*\"]"},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"website-content\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"**Test `\u003cmarkdown\u003e` and `\u003cmd\u003e` elements**"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cmarkdown\u003eThis should be wrapped in a `\u003cp\u003e` tag as it uses the block-level markdown renderer\u003c/markdown\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003cmd\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":"This should not be wrapped in a `\u003cp\u003e` tag as it uses the inline markdown renderer"},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003c/md\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003cmarkdown class\u003d\"mt-2\"\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":"```"},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cmarkdown\u003e elements allow block-level markdown without needing a leading newline."},{"lineNumber":24,"author":{"gitId":"-"},"content":"Hence, the contained markdown should be parsed and output as is, without any parsing errors."},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003c/invalidhtml\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":"```"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c/markdown\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003cmd\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":"`\u003cmd\u003e` elements allow inline-level markdown even in a non-markdown token."},{"lineNumber":31,"author":{"gitId":"-"},"content":"Hence, the contained markdown should be parsed and output as is, without any parsing errors."},{"lineNumber":32,"author":{"gitId":"-"},"content":"`\u003c/invalid\u003e`."},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/md\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"**Test footnotes**"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testFootnotes.md\" /\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":"**Test include footnotes from hash**"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":"\u003cinclude src\u003d\"testHashFootnotes.md#import\" /\u003e"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"**Nunjucks SetExt**"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"{% ext externalVar \u003d \"_markbind/variable.json\" %}"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"{{ externalVar.front }} {{ externalVar.back }}"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"{% for val in externalVar.arrayVar %}"},{"lineNumber":51,"author":{"gitId":"-"},"content":"{{ val }}"},{"lineNumber":52,"author":{"gitId":"-"},"content":"{% endfor %}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"{{ externalVar.nestedVar.nestedVarKey }}"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"**Variables that reference another variable**"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"{{finalized_value}}"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":"{{reference_level_4}}"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":"**Global Variables can be referenced in {% raw %}{% set %}{% endraw %}**"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"{% set page_variable_with_global_variable %}"},{"lineNumber":65,"author":{"gitId":"-"},"content":"Page Variable with {{ global_variable }}"},{"lineNumber":66,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":67,"author":{"gitId":"-"},"content":"{{ page_variable_with_global_variable }}"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":"**Global Variables should override {% raw %}{% set %}{% endraw %}**"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"{% set page_global_variable_overriding_page_variable %}"},{"lineNumber":72,"author":{"gitId":"-"},"content":"**Should not appear**: Page Variable overridden by Global Variable"},{"lineNumber":73,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":74,"author":{"gitId":"-"},"content":"{{ page_global_variable_overriding_page_variable }}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"**Test Page Variable and Included Variable Integrations**"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"{% set outerNunjucksVariable %}"},{"lineNumber":79,"author":{"gitId":"-"},"content":"Outer Nunjucks Variable"},{"lineNumber":80,"author":{"gitId":"-"},"content":"{% endset %}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testPageVariablesInInclude.md\" /\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":"# Heading with multiple keywords"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"keyword\"\u003ekeyword 1\u003c/span\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"keyword\"\u003ekeyword 2\u003c/span\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"# Heading with keyword in panel"},{"lineNumber":89,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"Panel with keyword\" expanded\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"keyword\"\u003epanel keyword\u003c/span\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":"**Panel with heading with keyword**"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"# Panel with heading\" expanded\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"keyword\"\u003epanel keyword\u003c/span\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":"**Expanded panel without heading with keyword**"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"# Panel without heading with keyword\" expanded\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" # Keyword should be tagged to this heading, not the panel heading"},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"keyword\"\u003epanel keyword\u003c/span\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":"**Unexpanded panel with heading with keyword**"},{"lineNumber":108,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"# Panel with heading with keyword\"\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" # Keyword should be tagged to the panel heading, not this heading"},{"lineNumber":111,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"keyword\"\u003epanel keyword\u003c/span\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":"# Heading \u003cinclude src\u003d\"testTrimIncludeFragment.md#fragment\" /\u003e"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":"The `id` for the above heading should be `heading-fragment-with-leading-spaces-and-newline` in total."},{"lineNumber":117,"author":{"gitId":"-"},"content":"This test ensures heading ids are assigned last (e.g. after `\u003cinclude /\u003e`s are processed)."},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"# Heading with included keyword"},{"lineNumber":120,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testKeyword.md\" /\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testKeywordHeading.md\" /\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"keyword\"\u003eKeyword with included heading\u003c/span\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":"# Heading with nested keyword"},{"lineNumber":126,"author":{"gitId":"-"},"content":"\u003cdiv\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":" \u003cdiv\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":" \u003cdiv\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"keyword\"\u003enested keyword\u003c/span\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":131,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"# Heading with hidden keyword"},{"lineNumber":135,"author":{"gitId":"-"},"content":"\u003cspan class\u003d\"keyword d-none\"\u003einvisible keyword\u003c/span\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testTags.md\" /\u003e"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":"**Normal include**"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"requirements/EstablishingRequirements.md\" /\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":"**Include segment**"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"requirements/EstablishingRequirements.md#preview\" /\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"**Boilerplate include**"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"requirements/boilerTest.md\" name\u003d\"Boilerplate Referencing\" boilerplate /\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"requirements/notInside.md\" name\u003d\"Referencing specified path in boilerplate\" boilerplate\u003d\"folder/inside.md\"/\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":"**Nested include**"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"requirements/nestedInclude.md\" /\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":"**HTML include**"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testInclude.html\" /\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"**Include from another MarkBind site**"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"sub_site/index.md\" /\u003e"},{"lineNumber":164,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"sub_site/testReuseSubsite.md\" /\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"sub_site/testReuseSubsite.md#imageTest\" /\u003e"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":"**Include nested sub-site directly**"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003cbox\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"sub_site/nested_sub_site/index.md\" /\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"**Include nested sub-site from sub-site**"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":"\u003cbox\u003e"},{"lineNumber":176,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"sub_site/testSubsiteAndNestedSubsiteBaseUrl.md\" /\u003e"},{"lineNumber":177,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":"**Include a file using baseUrl**"},{"lineNumber":180,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"{{baseUrl}}/requirements/SpecifyingRequirements.md#preview\" /\u003e"},{"lineNumber":181,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"{{baseUrl}}/requirements/SpecifyingRequirements.md#preview\" header\u003d\"**same test with panels**\" type\u003d\"minimal\" /\u003e"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":"**Include a file in a sub-folder that uses baseUrl**"},{"lineNumber":184,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"requirements/testBaseUrlInIncludeSrc.md\" /\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"requirements/testBaseUrlInIncludeSrc.md\" header\u003d\"**same test with panels**\" type\u003d\"minimal\" /\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":"**Include a file in a sub-folder that uses baseUrl using baseUrl**"},{"lineNumber":188,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"{{baseUrl}}/requirements/testBaseUrlInIncludeSrc.md\" /\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"{{baseUrl}}/requirements/testBaseUrlInIncludeSrc.md\" header\u003d\"**same test with panels**\" type\u003d\"minimal\" /\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"**Include a file in a sub-site that uses baseUrl**"},{"lineNumber":192,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"sub_site/testBaseUrlInIncludeSrcSubSite.md\" /\u003e"},{"lineNumber":193,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"sub_site/testBaseUrlInIncludeSrcSubSite.md\" header\u003d\"**same test with panels**\" type\u003d\"minimal\" /\u003e"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":"**Include a file in a sub-site that uses baseUrl using baseUrl**"},{"lineNumber":196,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"{{baseUrl}}/sub_site/testBaseUrlInIncludeSrcSubSite.md\" /\u003e"},{"lineNumber":197,"author":{"gitId":"-"},"content":"\u003cpanel src\u003d\"{{baseUrl}}/sub_site/testBaseUrlInIncludeSrcSubSite.md\" header\u003d\"**same test with panels**\" type\u003d\"minimal\" /\u003e"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":"**Trimmed include** "},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":"**\u003cinclude src\u003d\"testTrimInclude.md\" trim inline /\u003e**"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":"**Trimmed include fragment**"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":"**Before | \u003cinclude src\u003d\"testTrimIncludeFragment.md#fragment\" trim inline /\u003e | After**"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":"**Include with custom variables**"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testIncludeVariables.md\" var-included_variable_as_include_attribute\u003d\"Included variable as include attribute\"\u003e"},{"lineNumber":210,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable\"\u003eIncluded variable\u003c/variable\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable_with_markdown\"\u003e__**Included variable with markdown**__\u003c/variable\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable_as_attribute\"\u003ecolor: blue\u003c/variable\u003e"},{"lineNumber":213,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable_as_html_element\"\u003e\u003cspan\u003eIncluded variable within HTML element\u003c/span\u003e\u003c/variable\u003e"},{"lineNumber":214,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"global_variable_overriding_included_variable\"\u003e**Should not appear**: Included variable overridden by global variable\u003c/variable\u003e"},{"lineNumber":215,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable_inner_overridden\"\u003eIncluded variable overriding inner variable\u003c/variable\u003e"},{"lineNumber":216,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable_in_outer_included_file\"\u003eIncluded variable in outer included file\u003c/variable\u003e"},{"lineNumber":217,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable_should_not_leak\"\u003e**Should not appear**: Included variable should not leak into other files\u003c/variable\u003e"},{"lineNumber":218,"author":{"gitId":"-"},"content":" \u003cvariable name\u003d\"included_variable_with_global_variable\"\u003eIncluded variable with {{ global_variable }}\u003c/variable\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":"\u003c/include\u003e"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":"Variables for includes should not be recognised as page variables, hence, there should be no text between **this**"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":"{{ included_variable }}"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":"and **this**."},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":"**Included variables should not leak into other files**"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testIncludeVariableLeak.md\" /\u003e"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":"**Panel with shorthand heading syntax**"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":"\u003cpanel\u003e"},{"lineNumber":234,"author":{"gitId":"-"},"content":" \u003cspan heading\u003e"},{"lineNumber":235,"author":{"gitId":"-"},"content":" Heading"},{"lineNumber":236,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":237,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":"**Panel without src**"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Panel without src header\" expanded\u003e"},{"lineNumber":242,"author":{"gitId":"-"},"content":"\u003cmarkdown\u003e"},{"lineNumber":243,"author":{"gitId":"-"},"content":"**Panel without src content heading**"},{"lineNumber":244,"author":{"gitId":"-"},"content":"\u003c/markdown\u003e "},{"lineNumber":245,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":"**Panel with normal src**"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Panel with normal src header\" src\u003d\"testPanels/PanelNormalSource.md\" expanded\u003e"},{"lineNumber":250,"author":{"gitId":"-"},"content":"\u003c/panel\u003e "},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":"**Panel with src from a page segment**"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Panel with src from a page segment header\" src\u003d\"testPanels/PanelSourceContainsSegment.md#segment\" expanded\u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":"**Panel with boilerplate**"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Boilerplate referencing\" src\u003d\"testPanels/boilerTestPanel.md\" boilerplate expanded\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Boilerplate referencing 2\" src\u003d\"testPanelsDuplicate/boilerTestPanel.md\" boilerplate expanded\u003e"},{"lineNumber":263,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Referencing specified path in boilerplate\" src\u003d\"testPanels/notInside.md\" boilerplate\u003d\"folder/panelBoilerplate.md\" expanded\u003e"},{"lineNumber":266,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":"**Nested panel**"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Outer nested panel\" src\u003d\"testPanels/NestedPanel.md\" expanded\u003e"},{"lineNumber":271,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":272,"author":{"gitId":"-"},"content":""},{"lineNumber":273,"author":{"gitId":"-"},"content":"**Nested panel without src**"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Outer nested panel without src\" expanded\u003e"},{"lineNumber":276,"author":{"gitId":"-"},"content":""},{"lineNumber":277,"author":{"gitId":"-"},"content":" **Panel content of outer nested panel**"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"## Inner panel header without src\" expanded\u003e"},{"lineNumber":280,"author":{"gitId":"-"},"content":" "},{"lineNumber":281,"author":{"gitId":"-"},"content":" **Panel content of inner nested panel**"},{"lineNumber":282,"author":{"gitId":"-"},"content":""},{"lineNumber":283,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":284,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":"**Panel with src from another MarkBind site**"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Panel with src from another MarkBind site header\" src\u003d\"sub_site/index.md\" expanded\u003e"},{"lineNumber":289,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":290,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Panel with src from another MarkBind site header\" src\u003d\"sub_site/testReuseSubsite.md\" expanded\u003e"},{"lineNumber":291,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":292,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":"**Modal with panel inside**"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":"\u003ctrigger for\u003d\"modal-with-panel\"\u003etrigger\u003c/trigger\u003e"},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":"\u003cmodal header\u003d\"modal title with panel inside\" id\u003d\"modal-with-panel\"\u003e"},{"lineNumber":299,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"## Panel inside modal\" expanded\u003e"},{"lineNumber":300,"author":{"gitId":"-"},"content":" "},{"lineNumber":301,"author":{"gitId":"-"},"content":" **Panel content inside modal**"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":304,"author":{"gitId":"-"},"content":"\u003c/modal\u003e"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":"**The button of modal inside dismissible box should be properly positioned**"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":"\u003cbox dismissible\u003e"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":"\u003cinclude src\u003d\"testModal/DismissibleBox.md#example\"/\u003e"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":"\u003c/box\u003e"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":"**Unexpanded panel**"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"## Unexpanded panel header\"\u003e"},{"lineNumber":316,"author":{"gitId":"-"},"content":""},{"lineNumber":317,"author":{"gitId":"-"},"content":" **Panel content of unexpanded panel should not appear in search data**"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"## Panel header inside unexpanded panel should not appear in search data\" expanded\u003e"},{"lineNumber":320,"author":{"gitId":"-"},"content":" "},{"lineNumber":321,"author":{"gitId":"-"},"content":" **Panel content inside unexpanded panel should not appear in search data**"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":324,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":"**Test panel closing transitions**"},{"lineNumber":327,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testPanelsClosingTransition.md\" /\u003e"},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":"**Test popover has no stray space**"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":"(\u003cpopover content\u003d\"content\"\u003eThere should be no stray space before this\u003c/popover\u003e)"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":"**Test tooltip has no stray space**"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":"(\u003ctooltip content\u003d\"content\"\u003eThere should be no stray space before this\u003c/tooltip\u003e)"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":"**Test search indexing**"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":"**Test PlantUML live reload without include**"},{"lineNumber":338,"author":{"gitId":"-"},"content":"\u003cpuml src\u003d\"diagrams/activity.puml\" alt\u003d\"activity diagram\" /\u003e"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":"**Test PlantUML live reload with include**"},{"lineNumber":341,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"testPlantUML.md\" /\u003e"},{"lineNumber":342,"author":{"gitId":"-"},"content":""},{"lineNumber":343,"author":{"gitId":"-"},"content":"**Test PlantUML in sub folder**"},{"lineNumber":344,"author":{"gitId":"-"},"content":"\u003cinclude src\u003d\"sub_site/testPlantUMLSubFolderInclude.md\" /\u003e"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":"## Level 2 header (inside headingSearchIndex) with no-index attribute should not be indexed {.no-index}"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":"###### Level 6 header (outside headingSearchIndex) with always-index attribute should be indexed {.always-index}"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":"**Test nunjucks raw tags**"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":"{% raw %}"},{"lineNumber":353,"author":{"gitId":"-"},"content":""},{"lineNumber":354,"author":{"gitId":"-"},"content":"\u003cdiv v-pre\u003e{{ variable interpolation syntax can be used with v-pre }}\u003c/div\u003e"},{"lineNumber":355,"author":{"gitId":"-"},"content":"\u003cdiv v-pre\u003e{{ nonExistentVariable }}\u003c/div\u003e"},{"lineNumber":356,"author":{"gitId":"-"},"content":"\u003ccode\u003e{{ code elements should automatically be assigned v-pre }}\u003c/code\u003e"},{"lineNumber":357,"author":{"gitId":"-"},"content":""},{"lineNumber":358,"author":{"gitId":"-"},"content":"{% endraw %}"}],"authorContributionMap":{"-":342,"yiwen101":16}},{"path":"packages/cli/test/functional/test_site/site.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"baseUrl\": \"/test_site\","},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"faviconPath\": \"favicon.png\","},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"titlePrefix\": \"\","},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"titleSuffix\": \"\","},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"style\": {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"codeLineNumbers\": true"},{"lineNumber":8,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"pages\": ["},{"lineNumber":10,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"src\": \"index.md\","},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"frontmatter\": {"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"frontmatterOverrideProperty\": \"Overridden by frontmatter override\","},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"globalAndFrontmatterOverrideProperty\": \"Overridden by frontmatter override\""},{"lineNumber":16,"author":{"gitId":"-"},"content":" }"},{"lineNumber":17,"author":{"gitId":"-"},"content":" },"},{"lineNumber":18,"author":{"gitId":"-"},"content":" {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"src\": [\"testEmptyFrontmatter.md\", \"testLayoutsOverride.md\", \"testEmptyAltFrontMatter.md\", \"testLayoutsOverrideWithAltFrontmatter.md\"],"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"layout\": \"testLayout.md\""},{"lineNumber":22,"author":{"gitId":"-"},"content":" },"},{"lineNumber":23,"author":{"gitId":"-"},"content":" {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"src\": [\"testAltFrontMatterInvalidKeyValue.md\", \"testSingleAltFrontMatter.md\"],"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\""},{"lineNumber":26,"author":{"gitId":"-"},"content":" },"},{"lineNumber":27,"author":{"gitId":"-"},"content":" {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"src\": [\"testAltFrontMatterParsing.md\"]"},{"lineNumber":29,"author":{"gitId":"-"},"content":" },"},{"lineNumber":30,"author":{"gitId":"-"},"content":" {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"src\": \"testExternalScripts.md\","},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\","},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"layout\": \"testLayout.md\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"externalScripts\": ["},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config\u003dTeX-MML-AM_CHTML\""},{"lineNumber":36,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":37,"author":{"gitId":"-"},"content":" },"},{"lineNumber":38,"author":{"gitId":"-"},"content":" {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"src\": [\"testLayouts.md\", \"testLayoutsWithAltFrontMatter.md\"],"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"title\": \"Test nunjucks path resolving\""},{"lineNumber":41,"author":{"gitId":"-"},"content":" },"},{"lineNumber":42,"author":{"gitId":"-"},"content":" {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"src\": ["},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"testNunjucksPathResolving.md\","},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"sub_site/testNunjucksPathResolving.md\","},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"sub_site/nested_sub_site/testNunjucksPathResolving.md\""},{"lineNumber":47,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\""},{"lineNumber":49,"author":{"gitId":"-"},"content":" },"},{"lineNumber":50,"author":{"gitId":"-"},"content":" {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"glob\": [\"**/index.md\", \"**/test_md_fragment.md\"]"},{"lineNumber":52,"author":{"gitId":"-"},"content":" },"},{"lineNumber":53,"author":{"gitId":"-"},"content":" {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"src\": \"testAntiFOUCStyles.md\","},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"title\": \"Hello World\""},{"lineNumber":56,"author":{"gitId":"-"},"content":" },"},{"lineNumber":57,"author":{"gitId":"-"},"content":" {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \"src\": \"testAnchorGeneration.md\","},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"title\": \"Anchor Generation Test\""},{"lineNumber":60,"author":{"gitId":"-"},"content":" },"},{"lineNumber":61,"author":{"gitId":"-"},"content":" {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"src\": \"testAnnotate.md\","},{"lineNumber":63,"author":{"gitId":"-"},"content":" \"title\": \"Annotate Feature Test\""},{"lineNumber":64,"author":{"gitId":"-"},"content":" },"},{"lineNumber":65,"author":{"gitId":"-"},"content":" {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"src\": \"testTooltipSpacing.md\","},{"lineNumber":67,"author":{"gitId":"-"},"content":" \"title\": \"Tooltip Spacing Test\""},{"lineNumber":68,"author":{"gitId":"-"},"content":" },"},{"lineNumber":69,"author":{"gitId":"-"},"content":" {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"src\": \"testThumbnails.md\","},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"title\": \"Thumbnails Test\""},{"lineNumber":72,"author":{"gitId":"-"},"content":" },"},{"lineNumber":73,"author":{"gitId":"-"},"content":" {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \"src\": \"testPlantUML.md\","},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"title\": \"PlantUML Test\""},{"lineNumber":76,"author":{"gitId":"-"},"content":" },"},{"lineNumber":77,"author":{"gitId":"-"},"content":" {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"src\": \"testCodeBlocks.md\","},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"title\": \"Test: Code Blocks\""},{"lineNumber":80,"author":{"gitId":"-"},"content":" },"},{"lineNumber":81,"author":{"gitId":"-"},"content":" {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \"src\": \"testIncludePluginsRendered.md\","},{"lineNumber":83,"author":{"gitId":"-"},"content":" \"title\": \"Included files should have plugins rendered on them\""},{"lineNumber":84,"author":{"gitId":"-"},"content":" },"},{"lineNumber":85,"author":{"gitId":"-"},"content":" {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" \"src\": \"testIncludeMultipleModals.md\","},{"lineNumber":87,"author":{"gitId":"-"},"content":" \"title\": \"Multiple inclusions of a modal should be supported\""},{"lineNumber":88,"author":{"gitId":"-"},"content":" },"},{"lineNumber":89,"author":{"gitId":"-"},"content":" {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \"src\": \"testPopovers.md\","},{"lineNumber":91,"author":{"gitId":"-"},"content":" \"title\": \"Test: Popovers\""},{"lineNumber":92,"author":{"gitId":"-"},"content":" },"},{"lineNumber":93,"author":{"gitId":"-"},"content":" {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \"src\": \"testPopoverTrigger.md\","},{"lineNumber":95,"author":{"gitId":"-"},"content":" \"title\": \"Popover initiated by trigger should honor trigger attribute\""},{"lineNumber":96,"author":{"gitId":"-"},"content":" },"},{"lineNumber":97,"author":{"gitId":"-"},"content":" {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" \"src\": \"testModals.md\","},{"lineNumber":99,"author":{"gitId":"-"},"content":" \"title\": \"Test: Modals\""},{"lineNumber":100,"author":{"gitId":"-"},"content":" },"},{"lineNumber":101,"author":{"gitId":"-"},"content":" {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \"src\": \"testDates.md\","},{"lineNumber":103,"author":{"gitId":"-"},"content":" \"title\": \"Nunjucks date filter tests\""},{"lineNumber":104,"author":{"gitId":"-"},"content":" },"},{"lineNumber":105,"author":{"gitId":"-"},"content":" {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \"src\": \"testVariableContainsInclude.md\","},{"lineNumber":107,"author":{"gitId":"-"},"content":" \"title\": \"Variable should be able to store included content fragments\""},{"lineNumber":108,"author":{"gitId":"-"},"content":" },"},{"lineNumber":109,"author":{"gitId":"-"},"content":" {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" \"src\": \"testIncludeBoilerplate.md\","},{"lineNumber":111,"author":{"gitId":"-"},"content":" \"title\": \"Content inside \u003cinclude\u003e should not be processed by markdown\""},{"lineNumber":112,"author":{"gitId":"-"},"content":" },"},{"lineNumber":113,"author":{"gitId":"-"},"content":" {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" \"src\": \"testPanels.md\","},{"lineNumber":115,"author":{"gitId":"-"},"content":" \"title\": \"Test: Panels\""},{"lineNumber":116,"author":{"gitId":"-"},"content":" },"},{"lineNumber":117,"author":{"gitId":"-"},"content":" {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \"src\": \"testPanelMarkdownParsing.md\","},{"lineNumber":119,"author":{"gitId":"-"},"content":" \"title\": \"markdown-it should parse minimized panel as inline element and normal panel as block element\""},{"lineNumber":120,"author":{"gitId":"-"},"content":" },"},{"lineNumber":121,"author":{"gitId":"-"},"content":" {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" \"src\": \"testCenterText.md\","},{"lineNumber":123,"author":{"gitId":"-"},"content":" \"title\": \"Center-aligned text test\""},{"lineNumber":124,"author":{"gitId":"-"},"content":" },"},{"lineNumber":125,"author":{"gitId":"-"},"content":" {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \"src\": \"testHr.md\","},{"lineNumber":127,"author":{"gitId":"-"},"content":" \"title\": \"create different types of horizontal rules\""},{"lineNumber":128,"author":{"gitId":"-"},"content":" },"},{"lineNumber":129,"author":{"gitId":"-"},"content":" {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" \"src\": \"testPageNav.md\","},{"lineNumber":131,"author":{"gitId":"-"},"content":" \"title\": \"text interpolation should be skipped appropriately\""},{"lineNumber":132,"author":{"gitId":"-"},"content":" },"},{"lineNumber":133,"author":{"gitId":"-"},"content":" {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" \"src\": \"testPanelsClosingTransition.md\","},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"title\": \"Test: Panels closing transition\""},{"lineNumber":136,"author":{"gitId":"-"},"content":" },"},{"lineNumber":137,"author":{"gitId":"-"},"content":" {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" \"src\": \"testLinks.md\","},{"lineNumber":139,"author":{"gitId":"-"},"content":" \"title\": \"Autolink tests\""},{"lineNumber":140,"author":{"gitId":"-"},"content":" },"},{"lineNumber":141,"author":{"gitId":"-"},"content":" {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" \"src\": \"testTree.md\","},{"lineNumber":143,"author":{"gitId":"-"},"content":" \"title\": \"Tree tests\""},{"lineNumber":144,"author":{"gitId":"-"},"content":" },"},{"lineNumber":145,"author":{"gitId":"-"},"content":" {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" \"src\": \"testMath.md\","},{"lineNumber":147,"author":{"gitId":"-"},"content":" \"title\": \"Math formulae should be displayed correctly, with additional plugin\""},{"lineNumber":148,"author":{"gitId":"-"},"content":" },"},{"lineNumber":149,"author":{"gitId":"-"},"content":" {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" \"src\": \"testImages.md\","},{"lineNumber":151,"author":{"gitId":"-"},"content":" \"title\": \"Rendering of images according to specified dimension and auto-linkify ability\""},{"lineNumber":152,"author":{"gitId":"-"},"content":" },"},{"lineNumber":153,"author":{"gitId":"-"},"content":" {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavTarget.md\","},{"lineNumber":155,"author":{"gitId":"-"},"content":" \"title\": \"Bootstrap scrollspy related classes should be applied only if there are navigable headings\""},{"lineNumber":156,"author":{"gitId":"-"},"content":" },"},{"lineNumber":157,"author":{"gitId":"-"},"content":" {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavWithoutTitleAndNavHeadings.md\","},{"lineNumber":159,"author":{"gitId":"-"},"content":" \"title\": \"page nav separator should be omitted when there is no title and navigation headings added\""},{"lineNumber":160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":161,"author":{"gitId":"-"},"content":" {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavWithOnlyTitle.md\","},{"lineNumber":163,"author":{"gitId":"-"},"content":" \"title\": \"page nav with title added\""},{"lineNumber":164,"author":{"gitId":"-"},"content":" },"},{"lineNumber":165,"author":{"gitId":"-"},"content":" {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" \"src\": \"testPageNavPrint.md\","},{"lineNumber":167,"author":{"gitId":"-"},"content":" \"title\": \"printing page nav\""},{"lineNumber":168,"author":{"gitId":"-"},"content":" },"},{"lineNumber":169,"author":{"gitId":"-"},"content":" {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" \"src\": \"testWeb3FormPlugin.md\","},{"lineNumber":171,"author":{"gitId":"-"},"content":" \"title\": \"web 3 forms\""},{"lineNumber":172,"author":{"gitId":"-"},"content":" },"},{"lineNumber":173,"author":{"gitId":"-"},"content":" {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" \"src\": \"testList.md\","},{"lineNumber":175,"author":{"gitId":"-"},"content":" \"title\": \"web 3 forms\""},{"lineNumber":176,"author":{"gitId":"-"},"content":" },"},{"lineNumber":177,"author":{"gitId":"-"},"content":" {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" \"src\": \"testFontAwesomeInPage.md\","},{"lineNumber":179,"author":{"gitId":"-"},"content":" \"title\": \"font-awesome icon in page, only font-awesome stylesheet should be loaded\""},{"lineNumber":180,"author":{"gitId":"-"},"content":" },"},{"lineNumber":181,"author":{"gitId":"-"},"content":" {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" \"src\": \"testGlyphiconInPage.md\","},{"lineNumber":183,"author":{"gitId":"-"},"content":" \"title\": \"glyphicon icon in page, only glyphicon stylesheet should be loaded\""},{"lineNumber":184,"author":{"gitId":"-"},"content":" },"},{"lineNumber":185,"author":{"gitId":"-"},"content":" {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \"src\": \"testMaterialIconsInPage.md\","},{"lineNumber":187,"author":{"gitId":"-"},"content":" \"title\": \"material-icons icon in page, only material-icons stylesheet should be loaded\""},{"lineNumber":188,"author":{"gitId":"-"},"content":" },"},{"lineNumber":189,"author":{"gitId":"-"},"content":" {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" \"src\": \"testOcticonInPage.md\","},{"lineNumber":191,"author":{"gitId":"-"},"content":" \"title\": \"octicon icon in page, only octicon stylesheet should be loaded\""},{"lineNumber":192,"author":{"gitId":"-"},"content":" },"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" {"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"src\": \"testBootstrapIconInPage.md\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"title\": \"bootstrap icon in page, only octicon stylesheet should be loaded\""},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" },"},{"lineNumber":197,"author":{"gitId":"-"},"content":" {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" \"src\": \"testIconsInSiteLayout.md\","},{"lineNumber":199,"author":{"gitId":"-"},"content":" \"title\": \"glyphicon \u0026 octicon icon in page, only glyphicon \u0026 octicon stylesheets should be loaded\""},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" },"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" {"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"src\": \"testSourceContainScript.md\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"title\": \"Test: If source contains script or css, when included, the script or css should be included\""},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":206,"author":{"gitId":"-"},"content":" \"pagesExclude\": [\"**/*-fragment.md\"],"},{"lineNumber":207,"author":{"gitId":"-"},"content":" \"ignore\": ["},{"lineNumber":208,"author":{"gitId":"-"},"content":" \"_markbind/layouts/*\","},{"lineNumber":209,"author":{"gitId":"-"},"content":" \"_markbind/logs/*\","},{"lineNumber":210,"author":{"gitId":"-"},"content":" \"_site/*\","},{"lineNumber":211,"author":{"gitId":"-"},"content":" \"site.json\","},{"lineNumber":212,"author":{"gitId":"-"},"content":" \"*.md\","},{"lineNumber":213,"author":{"gitId":"-"},"content":" \"testFileIgnore.sh\","},{"lineNumber":214,"author":{"gitId":"-"},"content":" \"testFileIgnore/*\","},{"lineNumber":215,"author":{"gitId":"-"},"content":" \"expected/*\""},{"lineNumber":216,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":217,"author":{"gitId":"-"},"content":" \"deploy\": {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" \"message\": \"Site Update.\""},{"lineNumber":219,"author":{"gitId":"-"},"content":" },"},{"lineNumber":220,"author":{"gitId":"-"},"content":" \"globalOverride\": {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" \"globalOverrideProperty\": \"Overridden by global override\","},{"lineNumber":222,"author":{"gitId":"-"},"content":" \"globalAndFrontmatterOverrideProperty\": \"Overridden by global override\""},{"lineNumber":223,"author":{"gitId":"-"},"content":" },"},{"lineNumber":224,"author":{"gitId":"-"},"content":" \"headingIndexingLevel\": 4,"},{"lineNumber":225,"author":{"gitId":"-"},"content":" \"plugins\": ["},{"lineNumber":226,"author":{"gitId":"-"},"content":" \"testMarkbindPlugin\","},{"lineNumber":227,"author":{"gitId":"-"},"content":" \"filterTags\","},{"lineNumber":228,"author":{"gitId":"-"},"content":" \"googleAnalytics\","},{"lineNumber":229,"author":{"gitId":"-"},"content":" \"mathDelimiters\","},{"lineNumber":230,"author":{"gitId":"-"},"content":" \"web3Form\""},{"lineNumber":231,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":232,"author":{"gitId":"-"},"content":" \"pluginsContext\": {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" \"testMarkbindPlugin\": {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" \"pre\": \"\\n\\n# Markbind Plugin Pre-render\","},{"lineNumber":235,"author":{"gitId":"-"},"content":" \"post\": \"\u003cp\u003eNode Modules Plugin Post-render\u003c/p\u003e\""},{"lineNumber":236,"author":{"gitId":"-"},"content":" },"},{"lineNumber":237,"author":{"gitId":"-"},"content":" \"filterTags\": {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" \"tags\": ["},{"lineNumber":239,"author":{"gitId":"-"},"content":" \"tag-site-shown\","},{"lineNumber":240,"author":{"gitId":"-"},"content":" \"+tag-site-override-shown\","},{"lineNumber":241,"author":{"gitId":"-"},"content":" \"+tag-site-override-specific-shown\""},{"lineNumber":242,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":243,"author":{"gitId":"-"},"content":" },"},{"lineNumber":244,"author":{"gitId":"-"},"content":" \"googleAnalytics\": {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" \"trackingID\": \"TRACKING-ID\""},{"lineNumber":246,"author":{"gitId":"-"},"content":" },"},{"lineNumber":247,"author":{"gitId":"-"},"content":" \"mathDelimiters\": {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" \"delimiters\": [\"beg_end\"]"},{"lineNumber":249,"author":{"gitId":"-"},"content":" },"},{"lineNumber":250,"author":{"gitId":"-"},"content":" \"web3Form\": {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" \"accessKey\": \"\""},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"-":246,"yiwen101":8}},{"path":"packages/cli/test/functional/test_site/stylesheets/styles.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: auto;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" margin-left: 60px;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":"}"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":113,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":"}"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":124,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" margin-left: 0;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":"}"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":135,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":137}},{"path":"packages/cli/test/functional/test_site/testBootstrapIconInPage.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":"title: Test optimize loading of icon stylesheets"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":"layout: simpleLayoutWithoutIcons.md"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":"A bootstrap icon is supposed to appear here ---\u003e :bi-terminal-dash:"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"**There is one bootstrap-icons icon in this page content.**"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"**Open up console. Only bootstrap-icons stylesheet should be loaded!**"}],"authorContributionMap":{"yiwen101":10}},{"path":"packages/cli/test/functional/test_site/testHashFootnotes.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"\u003cdiv id\u003d\"import\"\u003e"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":"text^[footnote1], text2^[footnote2]"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"yiwen101":4}},{"path":"packages/cli/test/functional/test_site/testList.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"1. One item"},{"lineNumber":2,"author":{"gitId":"-"},"content":"- Only 1 item "},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"-"},"content":"1. One item with customization icon"},{"lineNumber":5,"author":{"gitId":"-"},"content":"- Only 1 item { icon\u003d\"glyphicon-education\" }"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"1. One item with once customization"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"- Only 1 item { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"1. One item with customization text"},{"lineNumber":11,"author":{"gitId":"-"},"content":"- Only 1 item { text\u003d\"Step 1\" }"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":"1. One item with text-icons of lists"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"- item 1 { texts\u003d\"[\u0027(a)\u0027,\u0027(b)\u0027,\u0027(c)\u0027]\" }"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"1. One item + nested list"},{"lineNumber":17,"author":{"gitId":"-"},"content":"- Only 1 item"},{"lineNumber":18,"author":{"gitId":"-"},"content":" - Only 1 item"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"1. One item + nested list with icon customization"},{"lineNumber":21,"author":{"gitId":"-"},"content":"- Only 1 item { icon\u003d\"glyphicon-education\" }"},{"lineNumber":22,"author":{"gitId":"-"},"content":" - Only 1 item { icon\u003d\"glyphicon-education\" }"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"1. One item + nested list with once customization"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"- Only 1 item { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":" - Only 1 item { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"1. One item + nested list with text customization"},{"lineNumber":29,"author":{"gitId":"-"},"content":"- Only 1 item { text\u003d\"Step 1\" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":" - Only 1 item { text\u003d\"Step 1.1\" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":"1. Text-icons of lists test"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"* item 1 { texts\u003d\"[\u0027(a)\u0027,\u0027(b)\u0027,\u0027(c)\u0027]\" }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":"* item 1"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"* item 1"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":"1. Text-icons of lists outflow test"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":"* item 1 { texts\u003d\"[\u0027(a)\u0027,\u0027(b)\u0027,\u0027(c)\u0027]\" }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":"* item 1"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":"* item 1"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":"* item 1"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":"1. Text-icons of lists stop on override test"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":"* item 1 { texts\u003d\"[\u0027(a)\u0027,\u0027(b)\u0027,\u0027(c)\u0027,\u0027(d)\u0027]\" }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":"* item 1"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":"* item 1 { text\u003d\"OVERRIDE\" }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":"* item 1"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":"1. Text-icons of lists does not stop on once override test"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":"* item 1 { texts\u003d\"[\u0027(a)\u0027,\u0027(b)\u0027,\u0027(c)\u0027,\u0027(d)\u0027]\" }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":"* item 1"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":"* item 1 { text\u003d\"OVERRIDE\" once\u003dtrue}"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":"* item 1"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":"1. Text-icons of lists can use double escape to include quote test"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":"* item 1 { texts\u003d\"[\u0027\\\\\u0027a\\\\\u0027\u0027,\u0027\\\\\u0027b\\\\\u0027\u0027,\u0027\\\\\u0027c\\\\\u0027\u0027,\u0027\\\\\u0027d\\\\\u0027\u0027]\" }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":"* item 1"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":"* item 1"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":"* item 1"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"1. Basic structure"},{"lineNumber":62,"author":{"gitId":"-"},"content":"* Item A"},{"lineNumber":63,"author":{"gitId":"-"},"content":"* Item B "},{"lineNumber":64,"author":{"gitId":"-"},"content":" * Sub-item B1 "},{"lineNumber":65,"author":{"gitId":"-"},"content":" * Sub-item B2 "},{"lineNumber":66,"author":{"gitId":"-"},"content":" * Sub-item B3 "},{"lineNumber":67,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1"},{"lineNumber":68,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2 "},{"lineNumber":69,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1"},{"lineNumber":70,"author":{"gitId":"-"},"content":" * Sub-item B4 "},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":"1. Icon inheritance test"},{"lineNumber":73,"author":{"gitId":"-"},"content":"* Item A { icon\u003d\"glyphicon-education\" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":"* Item B "},{"lineNumber":75,"author":{"gitId":"-"},"content":" * Sub-item B1 { icon\u003d\"fas-file-code\" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Sub-item B2"},{"lineNumber":77,"author":{"gitId":"-"},"content":" * Sub-item B3 "},{"lineNumber":78,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2"},{"lineNumber":80,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1"},{"lineNumber":81,"author":{"gitId":"-"},"content":" * Sub-item B4 "},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"1. Text inheritance test"},{"lineNumber":84,"author":{"gitId":"-"},"content":"* Item A { text\u003d\"First layer\" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":"* Item B"},{"lineNumber":86,"author":{"gitId":"-"},"content":" * Sub-item B1 { text\u003d\"Second layer\" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":" * Sub-item B2"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Sub-item B3"},{"lineNumber":89,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 { text\u003d\"Third layer\" }"},{"lineNumber":90,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2"},{"lineNumber":91,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1"},{"lineNumber":92,"author":{"gitId":"-"},"content":" * Sub-item B4"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":"1. Text inheritance test with text-icons of lists"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":"* Item A { texts\u003d\"[\u002711\u0027,\u002712\u0027,\u002713\u0027,\u002714\u0027]\" }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":"* Item B"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" * Sub-item B1 { texts\u003d\"[\u002721\u0027,\u002722\u0027,\u002723\u0027,\u002724\u0027]\" }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" * Sub-item B2"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" * Sub-item B3"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" * Sub-sub-item B3.1 { texts\u003d\"[\u002731\u0027,\u002732\u0027,\u002733\u0027,\u002734\u0027]\" }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" * Sub-sub-item B3.2"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" * Sub-sub-sub-item B3.2.1"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" * Sub-item B4"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":"1. First item no customization test"},{"lineNumber":106,"author":{"gitId":"-"},"content":"* Item A "},{"lineNumber":107,"author":{"gitId":"-"},"content":"* Item B { icon\u003d\"./images/deer.jpg\" text\u003d\"First\"}"},{"lineNumber":108,"author":{"gitId":"-"},"content":" * Sub-item B1"},{"lineNumber":109,"author":{"gitId":"-"},"content":" * Sub-item B2 { icon\u003d\"fas-file-code\" text\u003d\"Should not be appearing\"}"},{"lineNumber":110,"author":{"gitId":"-"},"content":" * Sub-item B3"},{"lineNumber":111,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1"},{"lineNumber":112,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" text\u003d\"Should not be appearing\"}"},{"lineNumber":113,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1"},{"lineNumber":114,"author":{"gitId":"-"},"content":" * Sub-item B4"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":"1. Correct first item customization test"},{"lineNumber":117,"author":{"gitId":"-"},"content":"* Item A { icon\u003d\"glyphicon-education\" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":"* Item B { icon\u003d\"./images/deer.jpg\" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":" * Sub-item B1 { icon\u003d\"fas-file-code\" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":" * Sub-item B2 "},{"lineNumber":121,"author":{"gitId":"-"},"content":" * Sub-item B3"},{"lineNumber":122,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":123,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2 "},{"lineNumber":124,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1"},{"lineNumber":125,"author":{"gitId":"-"},"content":" * Sub-item B4"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":"1. Testing with various icon attributes"},{"lineNumber":128,"author":{"gitId":"-"},"content":"* Item A { icon\u003d\"glyphicon-education\" i-size\u003d\"20px\" i-class\u003d\"text-primary\" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":"* Item B { icon\u003d\"./images/deer.jpg\" i-width\u003d\"200px\" i-height\u003d\"100px\" i-class\u003d\"text-warning\" }"},{"lineNumber":130,"author":{"gitId":"-"},"content":" * Sub-item B1 { icon\u003d\"fas-file-code\" text\u003d\"Hi\" i-size\u003d\"30px\" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":" * Sub-item B2 { i-class\u003d\"text-success\" i-spacing\u003d\"2rem\" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":" * Sub-item B3"},{"lineNumber":133,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" i-height\u003d\"50px\" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2 "},{"lineNumber":135,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1 { i-class\u003d\"text-danger\" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":" * Sub-item B4 { i-spacing\u003d\"1rem\" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":"1. Testing with various text attributes"},{"lineNumber":139,"author":{"gitId":"-"},"content":"* Item A { text\u003d\"Step 1\" t-size\u003d\"20px\" t-class\u003d\"text-primary\" }"},{"lineNumber":140,"author":{"gitId":"-"},"content":"* Item B { text\u003d\"Step 2\" t-class\u003d\"text-warning\" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":" * Sub-item B1 { text\u003d\"\\_MD_\" t-size\u003d\"10px\" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":" * Sub-item B2 { t-class\u003d\"text-success\" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Sub-item B3"},{"lineNumber":144,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 { text\u003d\":+1:\"}"},{"lineNumber":145,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2"},{"lineNumber":146,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1 { t-class\u003d\"text-danger\" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":" * Sub-item B4"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":"1. Mixing text and icon "},{"lineNumber":150,"author":{"gitId":"-"},"content":"* Item A { text\u003d\"Step 1\" icon\u003d\"glyphicon-education\" t-size\u003d\"20px\" t-class\u003d\"text-primary\" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":"* Item B { text\u003d\"Step 2\" t-class\u003d\"text-warning\" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":" * Sub-item B1 { text\u003d\"\\_MD_\" icon\u003d\"./images/deer.jpg\" t-size\u003d\"10px\" i-width\u003d\"20px\" i-height\u003d\"20px\"}"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * Sub-item B2 { t-class\u003d\"text-success\" i-height\u003d\"30px\" i-width\u003d\"30px\"}"},{"lineNumber":154,"author":{"gitId":"-"},"content":" * Sub-item B3"},{"lineNumber":155,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 { text\u003d\":+1:\" icon\u003d\"+1\"}"},{"lineNumber":156,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2"},{"lineNumber":157,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1 { t-class\u003d\"text-danger\" }"},{"lineNumber":158,"author":{"gitId":"-"},"content":" * Sub-item B4"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":"1. Mixing basic and customized lists"},{"lineNumber":161,"author":{"gitId":"-"},"content":"* Item A"},{"lineNumber":162,"author":{"gitId":"-"},"content":"* Item B "},{"lineNumber":163,"author":{"gitId":"-"},"content":" * Sub-item B1 {icon\u003d\"fas-file-code\" i-size\u003d\"20px\" i-class\u003d\"text-success\"}"},{"lineNumber":164,"author":{"gitId":"-"},"content":" * Sub-item B2 "},{"lineNumber":165,"author":{"gitId":"-"},"content":" * Sub-item B3 "},{"lineNumber":166,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 {icon\u003d\"glyphicon-education\" i-size\u003d\"30px\" i-class\u003d\"text-danger\"}"},{"lineNumber":167,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2 "},{"lineNumber":168,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1 {icon\u003d\"./images/deer.jpg\" i-width\u003d\"200px\" i-height\u003d\"100px\" i-class\u003d\"text-warning\"}"},{"lineNumber":169,"author":{"gitId":"-"},"content":" * Sub-item B4 "},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":"1. Reverse mixing basic and customized lists"},{"lineNumber":172,"author":{"gitId":"-"},"content":"* Item A {icon\u003d\"glyphicon-education\" i-size\u003d\"20px\" i-class\u003d\"text-primary\"}"},{"lineNumber":173,"author":{"gitId":"-"},"content":"* Item B "},{"lineNumber":174,"author":{"gitId":"-"},"content":" * Sub-item B1 "},{"lineNumber":175,"author":{"gitId":"-"},"content":" * Sub-item B2"},{"lineNumber":176,"author":{"gitId":"-"},"content":" * Sub-item B3"},{"lineNumber":177,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.1 "},{"lineNumber":178,"author":{"gitId":"-"},"content":" * Sub-sub-item B3.2"},{"lineNumber":179,"author":{"gitId":"-"},"content":" * Sub-sub-sub-item B3.2.1 "},{"lineNumber":180,"author":{"gitId":"-"},"content":" * Sub-item B4"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":"1. Every second list item customized"},{"lineNumber":183,"author":{"gitId":"-"},"content":"* Item A {icon\u003d\"glyphicon-education\" i-size\u003d\"20px\" i-class\u003d\"text-primary\"}"},{"lineNumber":184,"author":{"gitId":"-"},"content":"* Item B "},{"lineNumber":185,"author":{"gitId":"-"},"content":" * Sub-item B1 {icon\u003d\"fas-file-code\" i-size\u003d\"30px\" i-class\u003d\"text-success\"}"},{"lineNumber":186,"author":{"gitId":"-"},"content":" * Sub-item B2 "},{"lineNumber":187,"author":{"gitId":"-"},"content":" * Sub-item B3 {icon\u003d\"./images/deer.jpg\" i-width\u003d\"200px\" i-height\u003d\"100px\" i-class\u003d\"text-warning\"}"},{"lineNumber":188,"author":{"gitId":"-"},"content":" * Sub-item B4"},{"lineNumber":189,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":190,"author":{"gitId":"KevinEyo1"},"content":"1. Once + none + customization"},{"lineNumber":191,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":192,"author":{"gitId":"KevinEyo1"},"content":"* Item B "},{"lineNumber":193,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1 { icon\u003d\"fas-file-code\" }"},{"lineNumber":194,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":195,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":196,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":197,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":198,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":199,"author":{"gitId":"KevinEyo1"},"content":"* Item C { icon\u003d\"fas-file-code\" }"},{"lineNumber":200,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":201,"author":{"gitId":"KevinEyo1"},"content":"1. Customization + none + once"},{"lineNumber":202,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"fas-file-code\" }"},{"lineNumber":203,"author":{"gitId":"KevinEyo1"},"content":"* Item B"},{"lineNumber":204,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1 { icon\u003d\"fas-file-code\" }"},{"lineNumber":205,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":206,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":207,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":208,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":209,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":210,"author":{"gitId":"KevinEyo1"},"content":"* Item C { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":211,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":212,"author":{"gitId":"KevinEyo1"},"content":"1. Customization + once + none"},{"lineNumber":213,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"fas-file-code\" }"},{"lineNumber":214,"author":{"gitId":"KevinEyo1"},"content":"* Item B { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":215,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":216,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":217,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":218,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":219,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":220,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":221,"author":{"gitId":"KevinEyo1"},"content":"* Item C"},{"lineNumber":222,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":223,"author":{"gitId":"KevinEyo1"},"content":"1. Once + customization + none"},{"lineNumber":224,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":225,"author":{"gitId":"KevinEyo1"},"content":"* Item B { icon\u003d\"fas-file-code\" }"},{"lineNumber":226,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":227,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":228,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":229,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":230,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":231,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":232,"author":{"gitId":"KevinEyo1"},"content":"* Item C"},{"lineNumber":233,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":234,"author":{"gitId":"KevinEyo1"},"content":"1. None + customization + once"},{"lineNumber":235,"author":{"gitId":"KevinEyo1"},"content":"* Item A "},{"lineNumber":236,"author":{"gitId":"KevinEyo1"},"content":"* Item B { icon\u003d\"fas-file-code\" }"},{"lineNumber":237,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":238,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":239,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":240,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":241,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":242,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":243,"author":{"gitId":"KevinEyo1"},"content":"* Item C { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":244,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":245,"author":{"gitId":"KevinEyo1"},"content":"1. None + once + customization"},{"lineNumber":246,"author":{"gitId":"KevinEyo1"},"content":"* Item A "},{"lineNumber":247,"author":{"gitId":"KevinEyo1"},"content":"* Item B { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":248,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":249,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":250,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":251,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":252,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":253,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":254,"author":{"gitId":"KevinEyo1"},"content":"* Item C { icon\u003d\"fas-file-code\" }"},{"lineNumber":255,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":256,"author":{"gitId":"KevinEyo1"},"content":"1. Customization + once + customization"},{"lineNumber":257,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"fas-file-code\" }"},{"lineNumber":258,"author":{"gitId":"KevinEyo1"},"content":"* Item B { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":259,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":260,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":261,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":262,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":263,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":264,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":265,"author":{"gitId":"KevinEyo1"},"content":"* Item C { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":266,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":267,"author":{"gitId":"KevinEyo1"},"content":"1. String once"},{"lineNumber":268,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"glyphicon-education\" once\u003d\"true\" }"},{"lineNumber":269,"author":{"gitId":"KevinEyo1"},"content":"* Item B "},{"lineNumber":270,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":271,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":272,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":273,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":274,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":275,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":276,"author":{"gitId":"KevinEyo1"},"content":"* Item C"},{"lineNumber":277,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":278,"author":{"gitId":"KevinEyo1"},"content":"1. False once for item A, rest of items will inherit"},{"lineNumber":279,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"glyphicon-education\" once\u003dfalse }"},{"lineNumber":280,"author":{"gitId":"KevinEyo1"},"content":"* Item B "},{"lineNumber":281,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":282,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":283,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":284,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":285,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":286,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":287,"author":{"gitId":"KevinEyo1"},"content":"* Item C"},{"lineNumber":288,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":289,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":290,"author":{"gitId":"KevinEyo1"},"content":"1. False once for item B, will overwrite item A"},{"lineNumber":291,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"fas-file-code\" }"},{"lineNumber":292,"author":{"gitId":"KevinEyo1"},"content":"* Item B { icon\u003d\"glyphicon-education\" once\u003dfalse }"},{"lineNumber":293,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":294,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":295,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 "},{"lineNumber":296,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":297,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":298,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":299,"author":{"gitId":"KevinEyo1"},"content":"* Item C"},{"lineNumber":300,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":301,"author":{"gitId":"KevinEyo1"},"content":"1. Once for specific attributes besides icon, does not overwrite"},{"lineNumber":302,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"glyphicon-education\" i-size\u003d\"70px\" i-class\u003d\"text-primary\" }"},{"lineNumber":303,"author":{"gitId":"KevinEyo1"},"content":"* Item B { i-size\u003d\"40px\" once\u003dtrue }"},{"lineNumber":304,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":305,"author":{"gitId":"KevinEyo1"},"content":"* Item C"},{"lineNumber":306,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":307,"author":{"gitId":"KevinEyo1"},"content":"1. False once for specific attributes besides icon, does overwrite"},{"lineNumber":308,"author":{"gitId":"KevinEyo1"},"content":"* Item A { icon\u003d\"glyphicon-education\" i-size\u003d\"70px\" i-class\u003d\"text-primary\" }"},{"lineNumber":309,"author":{"gitId":"KevinEyo1"},"content":"* Item B { i-size\u003d\"40px\" once\u003dfalse }"},{"lineNumber":310,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1"},{"lineNumber":311,"author":{"gitId":"KevinEyo1"},"content":"* Item C"},{"lineNumber":312,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":313,"author":{"gitId":"KevinEyo1"},"content":"1. Sub-level"},{"lineNumber":314,"author":{"gitId":"KevinEyo1"},"content":"* Item A "},{"lineNumber":315,"author":{"gitId":"KevinEyo1"},"content":"* Item B "},{"lineNumber":316,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B1 { icon\u003d\"glyphicon-education\" once\u003dtrue }"},{"lineNumber":317,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B2"},{"lineNumber":318,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B3 { icon\u003d\"fas-file-code\" }"},{"lineNumber":319,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.1 { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"},{"lineNumber":320,"author":{"gitId":"KevinEyo1"},"content":" * Sub-sub-item B3.2"},{"lineNumber":321,"author":{"gitId":"KevinEyo1"},"content":" * Sub-item B4 "},{"lineNumber":322,"author":{"gitId":"KevinEyo1"},"content":"* Item C { icon\u003d\"./images/deer.jpg\" i-width\u003d\"50px\" }"}],"authorContributionMap":{"KevinEyo1":141,"-":138,"yiwen101":43}},{"path":"packages/cli/test/functional/test_site/testModal/DismissibleBox.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"\u003cdiv id\u003d\"example\"\u003e"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":"\u003ctrigger for\u003d\"modal-a\"\u003emodal trigger\u003c/trigger\u003e."},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":"\u003cmodal header\u003d\"modal header\" id\u003d\"modal-a\" \u003e"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" Lorem ipsum"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"\u003c/modal\u003e"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"yiwen101":9}},{"path":"packages/cli/test/functional/test_site/testPanels/PanelSourceContainsScript.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"\u003ch1\u003e"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":"\u003cscript\u003e"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" // JavaScript code specific to this component"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" console.log(\"Inline script executed! 35\");"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":"\u003c/script\u003e"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":"\u003cstyle\u003e"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" /* CSS styles specific to this component */"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" h1 {"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" color: red;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" }"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"\u003c/style\u003e"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"h1 text"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":"\u003c/h1\u003e"}],"authorContributionMap":{"yiwen101":13}},{"path":"packages/cli/test/functional/test_site/testSourceContainScript.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"\u003cpanel header\u003d\"## Panel with src that contains css and script header\" src\u003d\"testPanels/PanelSourceContainsScript.md\" expanded\u003e\u003c/panel\u003e"}],"authorContributionMap":{"yiwen101":1}},{"path":"packages/cli/test/functional/test_site_algolia_plugin/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site_algolia_plugin/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site_algolia_plugin/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site_algolia_plugin/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site_algolia_plugin/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/404.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027p\u0027),_m(0),_v(\" \"),_m(1),_c(\u0027p\u0027)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027p\u0027,{staticStyle:{\"font-size\":\"10rem\"}},[_v(\"404\")])])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027p\u0027,{staticStyle:{\"font-size\":\"1.5rem\"}},[_v(\"File not found\"),_c(\u0027br\u0027),_v(\"Click \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/\"}},[_v(\"here\")]),_v(\" to go back to the home page.\")])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/Home.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027p\u0027,[_v(\"Welcome to the test-deploy wiki!\")])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [];"},{"lineNumber":7,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":6}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/Page-1.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"page-1\"}},[_v(\"Page 1\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#page-1\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":10,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":9}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/_Footer.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027p\u0027,[_v(\"Custom footer.\")])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [];"},{"lineNumber":7,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":6}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/_Sidebar.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"[[Page-1]]\")])])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":10,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":9}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/about.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0),_v(\" \"),_m(1)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"about\"}},[_v(\"About\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#about\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Welcome to your \"),_c(\u0027strong\u0027,[_v(\"About Us\")]),_v(\" page.\")])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic1.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_m(0),_v(\" \"),_m(1)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"topic-1\"}},[_v(\"Topic 1\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#topic-1\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027blockquote\u0027,[_c(\u0027p\u0027,[_v(\"More content to be added\")])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic2.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027span\u0027,{staticClass:\"fas fa-tools\"}),_c(\u0027span\u0027,[_v(\" This is a placeholder page\")])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [];"},{"lineNumber":7,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":6}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic3a.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027span\u0027,{staticClass:\"fas fa-tools\"}),_c(\u0027span\u0027,[_v(\" This is a placeholder page\")])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [];"},{"lineNumber":7,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":6}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/contents/topic3b.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027span\u0027,{staticClass:\"fas fa-tools\"}),_c(\u0027span\u0027,[_v(\" This is a placeholder page\")])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [];"},{"lineNumber":7,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":6}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/index.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Home]]\")]),_v(\" \"),_c(\u0027li\u0027,{staticClass:\"site-nav-custom-list-item site-nav-list-item-0\"},[_v(\"[[Page-1]]\")])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027p\u0027,[_v(\"Welcome to the test-deploy wiki!\")])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_c(\u0027footer\u0027,[_v(\"\\nCustom footer.\\n\")])])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [];"},{"lineNumber":7,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":6}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/expected/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" margin-left: 60px;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":"}"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":113,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":"}"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":124,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" margin-left: 0;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":"}"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":135,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":137}},{"path":"packages/cli/test/functional/test_site_convert/test_basic_convert/non_markbind_site/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" margin-left: 60px;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":"}"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":113,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":"}"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":124,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" footer {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" margin-left: 0;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":"}"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":135,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":137}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/404.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027p\u0027),_m(0),_v(\" \"),_m(1),_c(\u0027p\u0027)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(2)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027p\u0027,{staticStyle:{\"font-size\":\"10rem\"}},[_v(\"404\")])])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027p\u0027,{staticStyle:{\"font-size\":\"1.5rem\"}},[_v(\"File not found\"),_c(\u0027br\u0027),_v(\"Click \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/\"}},[_v(\"here\")]),_v(\" to go back to the home page.\")])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"-"},"content":") {"},{"lineNumber":14,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":16,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":15}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/Home.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027p\u0027,[_v(\"Welcome to the test-deploy wiki!\")])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(0)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":10,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":9}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/Page-1.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"page-1\"}},[_v(\"Page 1\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#page-1\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/README.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0),_v(\" \"),_c(\u0027p\u0027,[_v(\"Test readme file\")])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"readme\"}},[_v(\"Readme\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#readme\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/about.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0),_v(\" \"),_m(1)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(2)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"about\"}},[_v(\"About\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#about\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Welcome to your \"),_c(\u0027strong\u0027,[_v(\"About Us\")]),_v(\" page.\")])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"-"},"content":") {"},{"lineNumber":14,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":16,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":15}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic1.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_m(0),_v(\" \"),_m(1)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(2)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"topic-1\"}},[_v(\"Topic 1\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#topic-1\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027blockquote\u0027,[_c(\u0027p\u0027,[_v(\"More content to be added\")])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"-"},"content":") {"},{"lineNumber":14,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":16,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":15}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic2.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027span\u0027,{staticClass:\"fas fa-tools\"}),_c(\u0027span\u0027,[_v(\" This is a placeholder page\")])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(0)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":10,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":9}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic3a.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027span\u0027,{staticClass:\"fas fa-tools\"}),_c(\u0027span\u0027,[_v(\" This is a placeholder page\")])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(0)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":10,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":9}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/contents/topic3b.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027box\u0027,[_c(\u0027span\u0027,{staticClass:\"fas fa-tools\"}),_c(\u0027span\u0027,[_v(\" This is a placeholder page\")])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(0)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":10,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":9}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/index.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0),_v(\" \"),_c(\u0027p\u0027,[_v(\"Test readme file\")])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"readme\"}},[_v(\"Readme\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#readme\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":109,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":"}"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":120,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":"}"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":127,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":129}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_1.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"sample-content-in-another-folder-which-is-not-named-content\"}},[_v(\"Sample content in another folder which is not named content\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#sample-content-in-another-folder-which-is-not-named-content\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_2.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"sample-content-in-another-folder-which-is-not-named-content\"}},[_v(\"Sample content in another folder which is not named content\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#sample-content-in-another-folder-which-is-not-named-content\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/expected/test_folder/extra_3.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":""},{"lineNumber":2,"author":{"gitId":"-"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"-"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"placement\":\"top\",\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_c(\u0027i\u0027,{staticClass:\"fa-solid fa-house\"})])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html\"}},[_v(\"HOME\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/about.html\"}},[_v(\"ABOUT\")])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"site-nav-top\"},[_c(\u0027div\u0027,{staticClass:\"fw-bold mb-2\",staticStyle:{\"font-size\":\"1.25rem\"}},[_v(\"Contents\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/404.html\"}},[_v(\"404\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Home.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/Page-1.html\"}},[_v(\"Page 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/README.html\"}},[_v(\"README\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic1.html\"}},[_v(\"Topic 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic2.html\"}},[_v(\"Topic 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3a.html\"}},[_v(\"Topic 3 A\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/topic3b.html\"}},[_v(\"Topic 3 B\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Index\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_1.html\"}},[_v(\"Extra 1\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_2.html\"}},[_v(\"Extra 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/test_folder/extra_3.html\"}},[_v(\"Extra 3\")])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027breadcrumb\u0027),_v(\" \"),_m(0)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"-"},"content":") {"},{"lineNumber":8,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"sample-content-in-another-folder-which-is-not-named-content\"}},[_v(\"Sample content in another folder which is not named content\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#sample-content-in-another-folder-which-is-not-named-content\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"-"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"-"},"content":") {"},{"lineNumber":11,"author":{"gitId":"-"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"-"},"content":" "}],"authorContributionMap":{"jingting1412":1,"-":12}},{"path":"packages/cli/test/functional/test_site_convert/test_navigation_convert/non_markbind_site/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":109,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":"}"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":120,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":"}"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":127,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":129}},{"path":"packages/cli/test/functional/test_site_special_tags/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site_special_tags/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site_special_tags/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site_special_tags/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site_special_tags/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/cli/test/functional/test_site_templates/test_default/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site_templates/test_default/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site_templates/test_default/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site_templates/test_default/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site_templates/test_default/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/cli/test/functional/test_site_templates/test_default/expected/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":109,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":"}"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":120,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":"}"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":127,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":129}},{"path":"packages/cli/test/functional/test_site_templates/test_minimal/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site_templates/test_minimal/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site_templates/test_minimal/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site_templates/test_minimal/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site_templates/test_minimal/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/404.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" title: Page not found"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" layout: 404.md"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"-\u003e\u003cp style\u003d\"font-size: 10rem\"\u003e404\u003c/p\u003e\u003c-"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"-\u003e\u003cp style\u003d\"font-size: 1.5rem\"\u003eFile not found\u003cbr\u003eClick \u003ca href\u003d\"/\"\u003ehere\u003c/a\u003e to go back to the home page.\u003c/p\u003e\u003c-"}],"authorContributionMap":{"jingting1412":7}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/_markbind/layouts/404.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cdiv\u003e{{ content }}\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":1}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/_markbind/layouts/default.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003chead-bottom\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \u003clink rel\u003d\"stylesheet\" href\u003d\"{{baseUrl}}/stylesheets/main.css\"\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003c/head-bottom\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003cheader sticky\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cnavbar type\u003d\"dark\"\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"{{baseUrl}}/index.html\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eYour Name\u003c/a\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#skills\" class\u003d\"nav-link\"\u003eSkills\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#experience\" class\u003d\"nav-link\"\u003eExperience\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003cdropdown header\u003d\"Projects\" class\u003d\"nav-link\"\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#project-1\" class\u003d\"dropdown-item\"\u003eProject 1\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#project-2\" class\u003d\"dropdown-item\"\u003eProject 2\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#other-projects\" class\u003d\"dropdown-item\"\u003eOther projects\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003c/dropdown\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003cform class\u003d\"navbar-form\"\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003c/form\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003c/li\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003c/navbar\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":"\u003c/header\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"flex-body\"\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" \u003cdiv id\u003d\"content-wrapper\"\u003e"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" {{ content }}"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \u003cscroll-top-button\u003e\u003c/scroll-top-button\u003e"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":"\u003cfooter\u003e"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" \u003c!-- Support MarkBind by including a link to us on your landing page! --\u003e"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"text-center\"\u003e"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" \u003csmall\u003e[Generated by {{MarkBind}}]\u003c/small\u003e"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":"\u003c/footer\u003e"}],"authorContributionMap":{"jingting1412":35}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/_markbind/variables.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"name\"\u003e[NAME]\u003c/variable\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"javascript\"\u003e\u003cthumbnail src\u003d\u0027../contents/assets/JavaScript.svg\u0027 size\u003d\"50\"/\u003e\u003c/variable\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"typescript\"\u003e\u003cthumbnail src\u003d\u0027../contents/assets/Typescript.svg\u0027 size\u003d\"50\"/\u003e\u003c/variable\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"vue\"\u003e\u003cthumbnail src\u003d\u0027../contents/assets/Vue.svg\u0027 size\u003d\"50\"/\u003e\u003c/variable\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"java\"\u003e\u003cthumbnail src\u003d\"../contents/assets/java-icon.svg\" size\u003d\"50\"/\u003e\u003c/variable\u003e"}],"authorContributionMap":{"jingting1412":5}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/contents/experience.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"# Experience"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cul class\u003d\"nav nav-tabs\" role\u003d\"tablist\"\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" \u003cli class\u003d\"nav-item\" role\u003d\"presentation\"\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \u003ca class\u003d\"nav-link active\" data-bs-toggle\u003d\"tab\" href\u003d\"#NUS\" aria-selected\u003d\"false\" role\u003d\"tab\" tabindex\u003d\"-1\"\u003eNUS\u003c/a\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003c/li\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003cli class\u003d\"nav-item\" role\u003d\"presentation\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003ca class\u003d\"nav-link\" data-bs-toggle\u003d\"tab\" href\u003d\"#another-company\" aria-selected\u003d\"true\" role\u003d\"tab\"\u003eAnother Company\u003c/a\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003c/li\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":"\u003c/ul\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"myTabContent\" class\u003d\"tab-content\" style\u003d\"margin-top:15px;\"\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"tab-pane fade active show\" id\u003d\"NUS\" role\u003d\"tabpanel\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003ch4\u003eSoftware Engineering Intern @ \u003cmd\u003e[NUS](https://nus.edu.sg/)\u003c/md\u003e\u003c/h4\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ch6\u003eMay 2024 - Aug 2024\u003c/h6\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003cp\u003eSome description of your role in the company and the technologies you\u0027ve used.\u003c/p\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"tab-pane fade\" id\u003d\"another-company\" role\u003d\"tabpanel\"\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003ch4\u003eAnother role @ \u003cmd\u003e[Another company](https://markbind.org/)\u003c/md\u003e\u003c/h4\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003ch6\u003eMay 2022 - Aug 2022\u003c/h6\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003cp\u003eSome description of your role in the company and the technologies you\u0027ve used.\u003c/p\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" {{ javascript }}"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":24}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/contents/project1.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"card mb-3\"\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \u003ch3 class\u003d\"card-header\" id\u003d\"project-1\"\u003eExample project: iP for CS2103\u003c/h3\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" \u003cmd\u003eThis would be a good place to add images and embeds showcasing your contributions to a project. In this case, an `\u003ciframe\u003e` containing the [RepoSense](https://reposense.org/index.html) report of a student\u0027s contributions to their iP is embedded. For more information on embeds, refer to our user guide [here.](https://markbind.org/userGuide/formattingContents.html#embeds)\u003c/md\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cdiv\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003ciframe src\u003d\"https://nus-cs3281.github.io/2024-dashboard/#/widget/?search\u003dReposense\u0026sort\u003dgroupTitle\u0026sortWithin\u003dtitle\u0026timeframe\u003dcommit\u0026mergegroup\u003d\u0026groupSelect\u003dgroupByAuthors\u0026breakdown\u003dfalse\u0026since\u003d2023-12-01\u0026tabOpen\u003dtrue\u0026tabType\u003dauthorship\u0026tabAuthor\u003dasdfghjkxd\u0026tabRepo\u003dreposense%2Freposense%5Bmaster%5D\u0026authorshipIsMergeGroup\u003dfalse\u0026authorshipFileTypes\u003djava~md\u0026authorshipIsBinaryFileTypeChecked\u003dfalse\u0026authorshipIsIgnoredFilesChecked\u003dfalse\u0026chartGroupIndex\u003d5\u0026chartIndex\u003d0\" width\u003d\"100%\"\u003e\u003c/iframe\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration of the project can be added here\u003c/p\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" {{ java }}"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":17}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/contents/project2.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"card mb-3\"\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \u003ch3 class\u003d\"card-header\" id\u003d\"project-2\"\u003eProject 2\u003c/h3\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" {{javascript}}"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":16}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/contents/projects.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"# Projects"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"project1.md\"/\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"project2.md\"/\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"### Other projects"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"row row-cols-1 row-cols-md-3 g-3\"\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col\"\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card\"\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003ch4 class\u003d\"card-header\"\u003eProject title\u003c/h4\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" {{javascript}}"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col\"\u003e"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card\"\u003e"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" \u003ch4 class\u003d\"card-header\"\u003eProject title\u003c/h4\u003e"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":" {{ java }}"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col\"\u003e"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card\"\u003e"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" \u003ch4 class\u003d\"card-header\"\u003eProject title\u003c/h4\u003e"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":61}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/contents/skills.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"# Skills"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cp\u003eThis is where you can give a quick overview of the technologies and frameworks you know using our \u003ca href\u003d\"https://markbind.org/userGuide/components/imagesAndDiagrams.html#thumbnails\" target\u003d\"_blank\"\u003ethumbnail feature\u003c/a\u003e or our \u003ca href\u003d\"https://markbind.org/userGuide/formattingContents.html#icons\" target\u003d\"_blank\"\u003eicons\u003c/a\u003e.\u003c/p\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003cpanel header\u003d\"Example using thumbnails\" expanded\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cbox type\u003d\"info\"\u003eThese thumbnails are available as variables to use anywhere in this page!\u003c/box\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" {{ javascript }}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" {{ typescript }}"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" {{ java }}"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"\u003c/panel\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":"\u003cbr/\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":"\u003cpanel header\u003d\"Example using icons\" expanded\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" Some icons are not available in the libraries that MarkBind supports! Please ensure that "},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" the desired icons are available before choosing this option. For more information regarding"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" icons, please refer to \u003ca href\u003d\"https://markbind.org/userGuide/formattingContents.html#icons\" target\u003d\"_blank\"\u003ethis section of our User Guide.\u003c/a\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003c/box\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-square-js fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-vuejs fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-java fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":"\u003c/panel\u003e"}],"authorContributionMap":{"jingting1412":22}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/index.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" title: Portfolio"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" layout: default.md"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"\u003cbr\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"bg-light text-black px-2 py-5 mb-4\"\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"container\"\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003ch1 class\u003d\"display-5 no-index\"\u003e\u003cmd\u003e:wave:\u003c/md\u003e Hello!\u003cbr\u003eI\u0027m {{ name }}\u003c/h1\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"lead\"\u003eWelcome to my portfolio!\u003c/p\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv style\u003d\"margin-bottom:20px;\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003cspan style\u003d\"margin-right:10px;\"\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"icon\"\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-github fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003c/a\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003c/span\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003cspan style\u003d\"margin-right:10px;\"\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://www.linkedin.com/school/national-university-of-singapore/\" target\u003d\"_blank\" class\u003d\"icon\"\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-linkedin fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003c/a\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" \u003c/span\u003e"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \u003cspan style\u003d\"margin-right:10px;\"\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"mailto:secretary_cs@comp.nus.edu.sg\" target\u003d\"_blank\" class\u003d\"icon\"\u003e"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-solid fa-envelope fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \u003c/a\u003e"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \u003c/span\u003e"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" \u003ca class\u003d\"btn btn-primary\" href\u003d\"./contents/assets/UG-template-resume.pdf\" target\u003d\"_blank\" rel\u003d\"noopener noreferrer\"\u003eResume\u003c/a\u003e"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" Want to change the theme? Explore more themes and other components offered by MarkBind in our \u003ca href\u003d\"https://markbind.org/userGuide/authoringContents.html\" target\u003d\"_blank\"\u003euser guide here\u003c/a\u003e."},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"info\" header\u003d\"##### Deploying this site\"\u003e"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" \u003cmd\u003eMarkBind makes it easy to deploy this site to GitHub Pages using the `markbind deploy` command. To allow `http://[username].github.io` to go straight to this portfolio, it is best to set your repository name as `[username].github.io` Read more about [deploying the site here](https://markbind.org/userGuide/deployingTheSite.html#deploying-to-github-pages)\u003c/md\u003e"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":"## About me"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"container text-left\"\u003e"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"row\" \u003e"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col-md-3 col-md-push-9\"\u003e"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" \u003cimg src\u003d\u0027./contents/assets/default_profile_pic.png\u0027 class\u003d\"img-fluid\" alt\u003d\u0027default-profile-pic\u0027/\u003e"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col-md-9 col-md-pull-3\"\u003e"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" This is where you can add a picture of yourself and a brief introduction. This can be a good place to use \u003ctooltip content\u003d\"Add more information here\" placement\u003d\"top\"\u003etooltips\u003c/tooltip\u003e, or \u003cmd\u003e[add relevant links](https://markbind.org/userGuide/formattingContents.html#links).\u003c/md\u003e"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"contents/skills.md\"/\u003e"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"contents/experience.md\"/\u003e"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"contents/projects.md\"/\u003e"},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":""}],"authorContributionMap":{"jingting1412":70}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/index.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"Your Name\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html#skills\"}},[_v(\"Skills\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"/index.html#experience\"}},[_v(\"Experience\")])]),_v(\" \"),_c(\u0027dropdown\u0027,{staticClass:\"nav-link\",scopedSlots:_u([{key:\"header\",fn:function(){return [_v(\"Projects\")]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"dropdown-item\",attrs:{\"href\":\"/index.html#project-1\"}},[_v(\"Project 1\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"dropdown-item\",attrs:{\"href\":\"/index.html#project-2\"}},[_v(\"Project 2\")])])])],1)],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027br\u0027),_v(\" \"),_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\n Want to change the theme? Explore more themes and other components offered by MarkBind in our \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/authoringContents.html\",\"target\":\"_blank\"}},[_v(\"user guide here\")])]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027h5\u0027,{attrs:{\"id\":\"deploying-this-site\"}},[_v(\"Deploying this site\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#deploying-this-site\",\"onclick\":\"event.stopPropagation()\"}})])]},proxy:true}])},[_v(\" \"),_c(\u0027span\u0027,[_v(\"MarkBind makes it easy to deploy this site to Github Pages using the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"markbind deploy\")]),_v(\" command. To allow \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"http://[username].github.io\")]),_v(\" to go straight to this portfolio, it is best to set your repository name as \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"[username].github.io\")]),_v(\" Read more about \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/deployingTheSite.html#deploying-to-github-pages\"}},[_v(\"deploying the site here\")])])]),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_m(1),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"container text-left\"},[_c(\u0027div\u0027,{staticClass:\"row\"},[_m(2),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"col-md-9 col-md-pull-3\"},[_v(\"\\n This is where you can add a picture of yourself and a brief introduction. This can be a good place to use \"),_c(\u0027tooltip\u0027,{attrs:{\"placement\":\"top\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_v(\"Add more information here\")]},proxy:true}])},[_v(\"tooltips\")]),_v(\", or \"),_m(3)],1)])]),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_c(\u0027div\u0027,[_m(4),_v(\" \"),_m(5),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Example using thumbnails\")])]},proxy:true}])},[_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\"}},[_v(\"These thumbnails are available as variables to use anywhere in this page!\")]),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/JavaScript.svg\",\"size\":\"50\"}}),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/Typescript.svg\",\"size\":\"50\"}}),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/Vue.svg\",\"size\":\"50\"}}),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/java-icon.svg\",\"size\":\"50\"}})],1),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"expanded\":\"\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Example using icons\")])]},proxy:true}])},[_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"warning\"}},[_v(\"\\n Some icons are not available in the libraries MarkBind supports! Please ensure that \\n the desired icons are available before choosing this option. For more information regarding\\n icons, please refer to \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/formattingContents.html#icons\",\"target\":\"_blank\"}},[_v(\"this section of our User Guide\")])]),_v(\" \"),_c(\u0027i\u0027,{staticClass:\"fa-brands fa-square-js fa-2xl\"}),_v(\" \"),_c(\u0027i\u0027,{staticClass:\"fa-brands fa-vuejs fa-2xl\"}),_v(\" \"),_c(\u0027i\u0027,{staticClass:\"fa-brands fa-java fa-2xl\"})],1)],1),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_c(\u0027div\u0027,[_m(6),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"type\":\"seamless\",\"no-close\":\"\",\"minimized\":\"\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027div\u0027,[_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Software Engineering Intern @ \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://nus.edu.sg/\"}},[_v(\"NUS\")])]),_v(\" | May 2024 - Aug 2024\")])])]},proxy:true}])},[_v(\" \"),_c(\u0027div\u0027,{staticClass:\"container\"},[_v(\"\\n Role description\\n \")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"container\"},[_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/Vue.svg\",\"size\":\"50\"}})],1)]),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027panel\u0027,{attrs:{\"type\":\"seamless\",\"no-close\":\"\",\"minimized\":\"\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027div\u0027,[_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Another experience @ \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"Another Company\")])]),_v(\" | May 2022 - Aug 2022\")])])]},proxy:true}])},[_v(\" \"),_c(\u0027div\u0027,{staticClass:\"container\"},[_v(\"\\n Role description\\n \")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"container\"},[_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/JavaScript.svg\",\"size\":\"50\"}})],1)])],1),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_c(\u0027div\u0027,[_m(7),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027div\u0027,{staticClass:\"card mb-3\"},[_m(8),_v(\" \"),_m(9),_v(\" \"),_m(10),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027p\u0027,{staticClass:\"card-text\"},[_v(\"Some further elaboration of the project can be added here\")]),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/java-icon.svg\",\"size\":\"50\"}})],1),_v(\" \"),_m(11)])]),_v(\" \"),_c(\u0027div\u0027,[_c(\u0027div\u0027,{staticClass:\"card mb-3\"},[_m(12),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_v(\"\\n This is another project. \\n \")]),_v(\" \"),_c(\u0027svg\u0027,{staticClass:\"d-block user-select-none\",staticStyle:{\"font-size\":\"1.125rem\",\"text-anchor\":\"middle\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"100%\",\"height\":\"200\",\"aria-label\":\"Placeholder: Image cap\",\"focusable\":\"false\",\"role\":\"img\",\"preserveAspectRatio\":\"xMidYMid slice\",\"viewBox\":\"0 0 318 180\"}},[_c(\u0027rect\u0027,{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"fill\":\"#868e96\"}}),_c(\u0027text\u0027,{attrs:{\"x\":\"50%\",\"y\":\"50%\",\"fill\":\"#dee2e6\",\"dy\":\".3em\"}},[_v(\"Image cap\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027p\u0027,{staticClass:\"card-text\"},[_v(\"Some further elaboration on the project.\")]),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/JavaScript.svg\",\"size\":\"50\"}}),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/Vue.svg\",\"size\":\"50\"}})],1),_v(\" \"),_m(13)])]),_v(\" \"),_m(14),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"row row-cols-1 row-cols-md-3 g-3\"},[_c(\u0027div\u0027,{staticClass:\"col\"},[_c(\u0027div\u0027,{staticClass:\"card\"},[_m(15),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_v(\"\\n This is another project. \\n \")]),_v(\" \"),_c(\u0027svg\u0027,{staticClass:\"d-block user-select-none\",staticStyle:{\"font-size\":\"1.125rem\",\"text-anchor\":\"middle\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"100%\",\"height\":\"200\",\"aria-label\":\"Placeholder: Image cap\",\"focusable\":\"false\",\"role\":\"img\",\"preserveAspectRatio\":\"xMidYMid slice\",\"viewBox\":\"0 0 318 180\"}},[_c(\u0027rect\u0027,{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"fill\":\"#868e96\"}}),_c(\u0027text\u0027,{attrs:{\"x\":\"50%\",\"y\":\"50%\",\"fill\":\"#dee2e6\",\"dy\":\".3em\"}},[_v(\"Image cap\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027p\u0027,{staticClass:\"card-text\"},[_v(\"Some further elaboration on the project.\")]),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/JavaScript.svg\",\"size\":\"50\"}}),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/Vue.svg\",\"size\":\"50\"}})],1),_v(\" \"),_m(16)])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"col\"},[_c(\u0027div\u0027,{staticClass:\"card\"},[_m(17),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_v(\"\\n This is another project. \\n \")]),_v(\" \"),_c(\u0027svg\u0027,{staticClass:\"d-block user-select-none\",staticStyle:{\"font-size\":\"1.125rem\",\"text-anchor\":\"middle\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"100%\",\"height\":\"200\",\"aria-label\":\"Placeholder: Image cap\",\"focusable\":\"false\",\"role\":\"img\",\"preserveAspectRatio\":\"xMidYMid slice\",\"viewBox\":\"0 0 318 180\"}},[_c(\u0027rect\u0027,{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"fill\":\"#868e96\"}}),_c(\u0027text\u0027,{attrs:{\"x\":\"50%\",\"y\":\"50%\",\"fill\":\"#dee2e6\",\"dy\":\".3em\"}},[_v(\"Image cap\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027p\u0027,{staticClass:\"card-text\"},[_v(\"Some further elaboration on the project.\")]),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/java-icon.svg\",\"size\":\"50\"}})],1),_v(\" \"),_m(18)])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"col\"},[_c(\u0027div\u0027,{staticClass:\"card\"},[_m(19),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_v(\"\\n This is another project. \\n \")]),_v(\" \"),_c(\u0027svg\u0027,{staticClass:\"d-block user-select-none\",staticStyle:{\"font-size\":\"1.125rem\",\"text-anchor\":\"middle\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"100%\",\"height\":\"200\",\"aria-label\":\"Placeholder: Image cap\",\"focusable\":\"false\",\"role\":\"img\",\"preserveAspectRatio\":\"xMidYMid slice\",\"viewBox\":\"0 0 318 180\"}},[_c(\u0027rect\u0027,{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"fill\":\"#868e96\"}}),_c(\u0027text\u0027,{attrs:{\"x\":\"50%\",\"y\":\"50%\",\"fill\":\"#dee2e6\",\"dy\":\".3em\"}},[_v(\"Image cap\")])]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027p\u0027,{staticClass:\"card-text\"},[_v(\"Some further elaboration on the project.\")]),_v(\" \"),_c(\u0027thumbnail\u0027,{attrs:{\"src\":\"/contents/assets/Vue.svg\",\"size\":\"50\"}})],1),_v(\" \"),_m(20)])])])]),_v(\" \"),_c(\u0027hr\u0027)],1),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(21)])}"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"};"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"bg-light text-black px-2 py-5 mb-4\"},[_c(\u0027div\u0027,{staticClass:\"container\"},[_c(\u0027h1\u0027,{staticClass:\"display-5 no-index\",attrs:{\"id\":\"hello-i-m-name\"}},[_c(\u0027span\u0027,[_v(\"👋\")]),_v(\" Hello!\"),_c(\u0027br\u0027),_v(\"I\u0027m [NAME]\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#hello-i-m-name\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,{staticClass:\"lead\"},[_v(\"Welcome to my portfolio!\")]),_v(\" \"),_c(\u0027span\u0027,{staticStyle:{\"margin-right\":\"10px\"}},[_c(\u0027a\u0027,{staticClass:\"icon\",attrs:{\"href\":\"https://github.com/MarkBind/markbind\",\"target\":\"_blank\"}},[_c(\u0027i\u0027,{staticClass:\"fa-brands fa-github fa-2xl\"})])]),_v(\" \"),_c(\u0027span\u0027,{staticStyle:{\"margin-right\":\"10px\"}},[_c(\u0027a\u0027,{staticClass:\"icon\",attrs:{\"href\":\"https://www.linkedin.com/school/national-university-of-singapore/\",\"target\":\"_blank\"}},[_c(\u0027i\u0027,{staticClass:\"fa-brands fa-linkedin fa-2xl\"})])])])])}"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"about-me\"}},[_v(\"About me\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#about-me\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"col-md-3 col-md-push-9\"},[_c(\u0027img\u0027,{staticClass:\"img-fluid\",attrs:{\"src\":\"/contents/assets/default_profile_pic.png\",\"alt\":\"default-profile-pic\"}})])}"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027span\u0027,[_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/formattingContents.html#links\"}},[_v(\"add relevant links\")])])}"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"skills\"}},[_v(\"Skills\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#skills\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"This is where you can give a quick overview of the technologies and frameworks you know using our \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/components/imagesAndDiagrams.html#thumbnails\",\"target\":\"_blank\"}},[_v(\"thumbnail feature\")]),_v(\" or our \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/formattingContents.html#icons\",\"target\":\"_blank\"}},[_v(\"icons\")]),_v(\".\")])}"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"experience\"}},[_v(\"Experience\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#experience\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"projects\"}},[_v(\"Projects\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#projects\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h3\u0027,{staticClass:\"card-header\",attrs:{\"id\":\"example-project-ip-for-cs2103\"}},[_v(\"Example project: iP for CS2103\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#example-project-ip-for-cs2103\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027span\u0027,[_v(\"This would be a good place to add images and embeds showcasing your contributions to a project. In this case, an \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"\u003ciframe\u003e\")]),_v(\" containing the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://reposense.org/index.html\"}},[_v(\"RepoSense\")]),_v(\" report of a student\u0027s contributions to their iP is embedded. For more information on embeds, refer to our user guide \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/contents/(https:/markbind.org/userGuide/formattingContents.html#embeds)\"}},[_v(\"here.\")])])])}"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,[_c(\u0027iframe\u0027,{attrs:{\"src\":\"https://nus-cs3281.github.io/2024-dashboard/#/widget/?search\u003dReposense\u0026sort\u003dgroupTitle\u0026sortWithin\u003dtitle\u0026timeframe\u003dcommit\u0026mergegroup\u003d\u0026groupSelect\u003dgroupByAuthors\u0026breakdown\u003dfalse\u0026since\u003d2023-12-01\u0026tabOpen\u003dtrue\u0026tabType\u003dauthorship\u0026tabAuthor\u003dasdfghjkxd\u0026tabRepo\u003dreposense%2Freposense%5Bmaster%5D\u0026authorshipIsMergeGroup\u003dfalse\u0026authorshipFileTypes\u003djava~md\u0026authorshipIsBinaryFileTypeChecked\u003dfalse\u0026authorshipIsIgnoredFilesChecked\u003dfalse\u0026chartGroupIndex\u003d5\u0026chartIndex\u003d0\",\"width\":\"100%\"}})])}"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View on Github\")]),_v(\" \"),_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View Devpost\")])])}"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h3\u0027,{staticClass:\"card-header\",attrs:{\"id\":\"project-2\"}},[_v(\"Project 2\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#project-2\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View on Github\")]),_v(\" \"),_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View Devpost\")])])}"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"other-projects\"}},[_v(\"Other projects\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#other-projects\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h4\u0027,{staticClass:\"card-header\",attrs:{\"id\":\"project-title\"}},[_v(\"Project title\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#project-title\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View on Github\")]),_v(\" \"),_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View Devpost\")])])}"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h4\u0027,{staticClass:\"card-header\",attrs:{\"id\":\"project-title-2\"}},[_v(\"Project title\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#project-title-2\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View on Github\")]),_v(\" \"),_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View Devpost\")])])}"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027h4\u0027,{staticClass:\"card-header\",attrs:{\"id\":\"project-title-3\"}},[_v(\"Project title\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#project-title-3\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"card-body\"},[_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View on Github\")]),_v(\" \"),_c(\u0027a\u0027,{staticClass:\"btn btn-primary\",attrs:{\"href\":\"#\"}},[_v(\"View Devpost\")])])}"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":"},function anonymous("},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":") {"},{"lineNumber":71,"author":{"gitId":"jingting1412"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[Generated by \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.3.0\")]),_v(\"]\")])])])}"},{"lineNumber":72,"author":{"gitId":"jingting1412"},"content":"}];"},{"lineNumber":73,"author":{"gitId":"jingting1412"},"content":" "}],"authorContributionMap":{"jingting1412":73}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/css/bootstrap.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" * Bootswatch v5.1.3"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" * Homepage: https://bootswatch.com"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" * Copyright 2012-2021 Thomas Park"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" * Licensed under MIT"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" * Based on Bootstrap"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"*//*!"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" * Bootstrap v5.1.3 (https://getbootstrap.com/)"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" * Copyright 2011-2021 The Bootstrap Authors"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" * Copyright 2011-2021 Twitter, Inc."},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" */@import url(https://fonts.googleapis.com/css2?family\u003dLato:ital,wght@0,400;0,700;1,400\u0026display\u003dswap);:root{--bs-blue:#2c3e50;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#e83e8c;--bs-red:#e74c3c;--bs-orange:#fd7e14;--bs-yellow:#f39c12;--bs-green:#18bc9c;--bs-teal:#20c997;--bs-cyan:#3498db;--bs-white:#fff;--bs-gray:#95a5a6;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#ecf0f1;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#b4bcc2;--bs-gray-600:#95a5a6;--bs-gray-700:#7b8a8b;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#2c3e50;--bs-secondary:#95a5a6;--bs-success:#18bc9c;--bs-info:#3498db;--bs-warning:#f39c12;--bs-danger:#e74c3c;--bs-light:#ecf0f1;--bs-dark:#7b8a8b;--bs-primary-rgb:44,62,80;--bs-secondary-rgb:149,165,166;--bs-success-rgb:24,188,156;--bs-info-rgb:52,152,219;--bs-warning-rgb:243,156,18;--bs-danger-rgb:231,76,60;--bs-light-rgb:236,240,241;--bs-dark-rgb:123,138,139;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:Lato,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.h1,h1{font-size:3rem}}.h2,h2{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h2,h2{font-size:2.5rem}}.h3,h3{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h3,h3{font-size:2rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#18bc9c;text-decoration:underline}a:hover{color:#13967d}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#e83e8c;word-wrap:break-word}a\u003ecode{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#95a5a6;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role\u003dbutton]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type\u003dbutton],[type\u003dreset],[type\u003dsubmit],button{-webkit-appearance:button}[type\u003dbutton]:not(:disabled),[type\u003dreset]:not(:disabled),[type\u003dsubmit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type\u003dsearch]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote\u003e:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#95a5a6}.blockquote-footer::before{content:\"\\2014\\00A0\"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#95a5a6}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row\u003e*{-ms-flex-negative:0;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-auto\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-1\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-2\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-3\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.row-cols-4\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-5\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-6\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.333333%}.col-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.col-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.666667%}.col-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.333333%}.col-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.666667%}.col-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.333333%}.col-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.666667%}.col-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-sm-auto\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-sm-1\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-sm-2\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-sm-3\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.row-cols-sm-4\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-sm-5\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-sm-6\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.333333%}.col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.666667%}.col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.333333%}.col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.666667%}.col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.333333%}.col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.666667%}.col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-md-auto\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-md-1\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-md-2\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-md-3\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.row-cols-md-4\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-md-5\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-md-6\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.333333%}.col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.666667%}.col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.333333%}.col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.666667%}.col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.333333%}.col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.666667%}.col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-lg-auto\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-lg-1\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-lg-2\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-lg-3\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.row-cols-lg-4\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-lg-5\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-lg-6\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.333333%}.col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.666667%}.col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.333333%}.col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.666667%}.col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.333333%}.col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.666667%}.col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xl-auto\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xl-1\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xl-2\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xl-3\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.row-cols-xl-4\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xl-5\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xl-6\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.333333%}.col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.666667%}.col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.333333%}.col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.666667%}.col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.333333%}.col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.666667%}.col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xxl-auto\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xxl-1\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xxl-2\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xxl-3\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.row-cols-xxl-4\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xxl-5\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xxl-6\u003e*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-xxl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xxl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.333333%}.col-xxl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.666667%}.col-xxl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xxl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.333333%}.col-xxl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.666667%}.col-xxl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xxl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.333333%}.col-xxl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.666667%}.col-xxl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xxl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.333333%}.col-xxl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.666667%}.col-xxl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.333333%}.offset-xxl-2{margin-left:16.666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.333333%}.offset-xxl-5{margin-left:41.666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.333333%}.offset-xxl-8{margin-left:66.666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.333333%}.offset-xxl-11{margin-left:91.666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table\u003e:not(caption)\u003e*\u003e*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table\u003etbody{vertical-align:inherit}.table\u003ethead{vertical-align:bottom}.table\u003e:not(:first-child){border-top:2px solid currentColor}.caption-top{caption-side:top}.table-sm\u003e:not(caption)\u003e*\u003e*{padding:.25rem .25rem}.table-bordered\u003e:not(caption)\u003e*{border-width:1px 0}.table-bordered\u003e:not(caption)\u003e*\u003e*{border-width:0 1px}.table-borderless\u003e:not(caption)\u003e*\u003e*{border-bottom-width:0}.table-borderless\u003e:not(:first-child){border-top-width:0}.table-striped\u003etbody\u003etr:nth-of-type(odd)\u003e*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover\u003etbody\u003etr:hover\u003e*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#2c3e50;--bs-table-striped-bg:#374859;--bs-table-striped-color:#fff;--bs-table-active-bg:#415162;--bs-table-active-color:#fff;--bs-table-hover-bg:#3c4c5d;--bs-table-hover-color:#fff;color:#fff;border-color:#415162}.table-secondary{--bs-table-bg:#95a5a6;--bs-table-striped-bg:#9aaaaa;--bs-table-striped-color:#fff;--bs-table-active-bg:#a0aeaf;--bs-table-active-color:#fff;--bs-table-hover-bg:#9dacad;--bs-table-hover-color:#fff;color:#fff;border-color:#a0aeaf}.table-success{--bs-table-bg:#18bc9c;--bs-table-striped-bg:#24bfa1;--bs-table-striped-color:#fff;--bs-table-active-bg:#2fc3a6;--bs-table-active-color:#fff;--bs-table-hover-bg:#29c1a3;--bs-table-hover-color:#fff;color:#fff;border-color:#2fc3a6}.table-info{--bs-table-bg:#3498db;--bs-table-striped-bg:#3e9ddd;--bs-table-striped-color:#fff;--bs-table-active-bg:#48a2df;--bs-table-active-color:#fff;--bs-table-hover-bg:#43a0de;--bs-table-hover-color:#fff;color:#fff;border-color:#48a2df}.table-warning{--bs-table-bg:#f39c12;--bs-table-striped-bg:#f4a11e;--bs-table-striped-color:#fff;--bs-table-active-bg:#f4a62a;--bs-table-active-color:#000;--bs-table-hover-bg:#f4a324;--bs-table-hover-color:#fff;color:#fff;border-color:#f4a62a}.table-danger{--bs-table-bg:#e74c3c;--bs-table-striped-bg:#e85546;--bs-table-striped-color:#fff;--bs-table-active-bg:#e95e50;--bs-table-active-color:#fff;--bs-table-hover-bg:#e9594b;--bs-table-hover-color:#fff;color:#fff;border-color:#e95e50}.table-light{--bs-table-bg:#ecf0f1;--bs-table-striped-bg:#e0e4e5;--bs-table-striped-color:#000;--bs-table-active-bg:#d4d8d9;--bs-table-active-color:#000;--bs-table-hover-bg:#dadedf;--bs-table-hover-color:#000;color:#000;border-color:#d4d8d9}.table-dark{--bs-table-bg:#7b8a8b;--bs-table-striped-bg:#829091;--bs-table-striped-color:#fff;--bs-table-active-bg:#889697;--bs-table-active-color:#fff;--bs-table-hover-bg:#859394;--bs-table-hover-color:#fff;color:#fff;border-color:#889697}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#95a5a6}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type\u003dfile]{overflow:hidden}.form-control[type\u003dfile]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#969fa8;outline:0;box-shadow:0 0 0 .25rem rgba(44,62,80,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-webkit-input-placeholder{color:#95a5a6;opacity:1}.form-control::-moz-placeholder{color:#95a5a6;opacity:1}.form-control:-ms-input-placeholder{color:#95a5a6;opacity:1}.form-control::-ms-input-placeholder{color:#95a5a6;opacity:1}.form-control::placeholder{color:#95a5a6;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#ecf0f1;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;-moz-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#ecf0f1;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#e0e4e5}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#ecf0f1;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#e0e4e5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;-moz-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;-moz-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23343a40\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M2 5l6 6 6-6\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#969fa8;outline:0;box-shadow:0 0 0 .25rem rgba(44,62,80,.25)}.form-select[multiple],.form-select[size]:not([size\u003d\"1\"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#ecf0f1}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.3rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type\u003dcheckbox]{border-radius:.25em}.form-check-input[type\u003dradio]{border-radius:50%}.form-check-input:active{-webkit-filter:brightness(90%);filter:brightness(90%)}.form-check-input:focus{border-color:#969fa8;outline:0;box-shadow:0 0 0 .25rem rgba(44,62,80,.25)}.form-check-input:checked{background-color:#2c3e50;border-color:#2c3e50}.form-check-input:checked[type\u003dcheckbox]{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 20 20\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23fff\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00273\u0027 d\u003d\u0027M6 10l3 3l6-6\u0027/%3e%3c/svg%3e\")}.form-check-input:checked[type\u003dradio]{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00272\u0027 fill\u003d\u0027%23fff\u0027/%3e%3c/svg%3e\")}.form-check-input[type\u003dcheckbox]:indeterminate{background-color:#2c3e50;border-color:#2c3e50;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 20 20\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23fff\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00273\u0027 d\u003d\u0027M6 10h8\u0027/%3e%3c/svg%3e\")}.form-check-input:disabled{pointer-events:none;-webkit-filter:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00273\u0027 fill\u003d\u0027rgba%280, 0, 0, 0.25%29\u0027/%3e%3c/svg%3e\");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00273\u0027 fill\u003d\u0027%23969fa8\u0027/%3e%3c/svg%3e\")}.form-switch .form-check-input:checked{background-position:right center;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00273\u0027 fill\u003d\u0027%23fff\u0027/%3e%3c/svg%3e\")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;-webkit-filter:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(44,62,80,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(44,62,80,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2c3e50;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#c0c5cb}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#2c3e50;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#c0c5cb}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#b4bcc2}.form-range:disabled::-moz-range-thumb{background-color:#b4bcc2}.form-floating{position:relative}.form-floating\u003e.form-control,.form-floating\u003e.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating\u003elabel{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;-webkit-transform-origin:0 0;transform-origin:0 0;transition:opacity .1s ease-in-out,-webkit-transform .1s ease-in-out;transition:opacity .1s ease-in-out,transform .1s ease-in-out;transition:opacity .1s ease-in-out,transform .1s ease-in-out,-webkit-transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating\u003elabel{transition:none}}.form-floating\u003e.form-control{padding:1rem .75rem}.form-floating\u003e.form-control::-webkit-input-placeholder{color:transparent}.form-floating\u003e.form-control::-moz-placeholder{color:transparent}.form-floating\u003e.form-control:-ms-input-placeholder{color:transparent}.form-floating\u003e.form-control::-ms-input-placeholder{color:transparent}.form-floating\u003e.form-control::placeholder{color:transparent}.form-floating\u003e.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-control:not(:-ms-input-placeholder){padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-control:focus,.form-floating\u003e.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating\u003e.form-control:not(:-ms-input-placeholder)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating\u003e.form-control:focus~label,.form-floating\u003e.form-control:not(:placeholder-shown)~label,.form-floating\u003e.form-select~label{opacity:.65;-webkit-transform:scale(.85) translateY(-.5rem) translateX(.15rem);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating\u003e.form-control:-webkit-autofill~label{opacity:.65;-webkit-transform:scale(.85) translateY(-.5rem) translateX(.15rem);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group\u003e.form-control,.input-group\u003e.form-select{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0}.input-group\u003e.form-control:focus,.input-group\u003e.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#ecf0f1;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg\u003e.btn,.input-group-lg\u003e.form-control,.input-group-lg\u003e.form-select,.input-group-lg\u003e.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm\u003e.btn,.input-group-sm\u003e.form-control,.input-group-sm\u003e.form-select,.input-group-sm\u003e.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg\u003e.form-select,.input-group-sm\u003e.form-select{padding-right:3rem}.input-group:not(.has-validation)\u003e.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)\u003e:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation\u003e.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation\u003e:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group\u003e:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#18bc9c}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(24,188,156,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#18bc9c;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 8 8\u0027%3e%3cpath fill\u003d\u0027%2318bc9c\u0027 d\u003d\u0027M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#18bc9c;box-shadow:0 0 0 .25rem rgba(24,188,156,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#18bc9c}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size\u003d\"1\"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size\u003d\"1\"]{padding-right:4.125rem;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23343a40\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M2 5l6 6 6-6\u0027/%3e%3c/svg%3e\"),url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 8 8\u0027%3e%3cpath fill\u003d\u0027%2318bc9c\u0027 d\u003d\u0027M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\u0027/%3e%3c/svg%3e\");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#18bc9c;box-shadow:0 0 0 .25rem rgba(24,188,156,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#18bc9c}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#18bc9c}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(24,188,156,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#18bc9c}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#e74c3c}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(231,76,60,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#e74c3c;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 12 12\u0027 width\u003d\u002712\u0027 height\u003d\u002712\u0027 fill\u003d\u0027none\u0027 stroke\u003d\u0027%23e74c3c\u0027%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00276\u0027 r\u003d\u00274.5\u0027/%3e%3cpath stroke-linejoin\u003d\u0027round\u0027 d\u003d\u0027M5.8 3.6h.4L6 6.5z\u0027/%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00278.2\u0027 r\u003d\u0027.6\u0027 fill\u003d\u0027%23e74c3c\u0027 stroke\u003d\u0027none\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#e74c3c;box-shadow:0 0 0 .25rem rgba(231,76,60,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#e74c3c}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size\u003d\"1\"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size\u003d\"1\"]{padding-right:4.125rem;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23343a40\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M2 5l6 6 6-6\u0027/%3e%3c/svg%3e\"),url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 12 12\u0027 width\u003d\u002712\u0027 height\u003d\u002712\u0027 fill\u003d\u0027none\u0027 stroke\u003d\u0027%23e74c3c\u0027%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00276\u0027 r\u003d\u00274.5\u0027/%3e%3cpath stroke-linejoin\u003d\u0027round\u0027 d\u003d\u0027M5.8 3.6h.4L6 6.5z\u0027/%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00278.2\u0027 r\u003d\u0027.6\u0027 fill\u003d\u0027%23e74c3c\u0027 stroke\u003d\u0027none\u0027/%3e%3c/svg%3e\");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#e74c3c;box-shadow:0 0 0 .25rem rgba(231,76,60,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#e74c3c}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#e74c3c}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(231,76,60,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#e74c3c}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(44,62,80,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#2c3e50;border-color:#2c3e50}.btn-primary:hover{color:#fff;background-color:#253544;border-color:#233240}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#253544;border-color:#233240;box-shadow:0 0 0 .25rem rgba(76,91,106,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show\u003e.btn-primary.dropdown-toggle{color:#fff;background-color:#233240;border-color:#212f3c}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show\u003e.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(76,91,106,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#2c3e50;border-color:#2c3e50}.btn-secondary{color:#fff;background-color:#95a5a6;border-color:#95a5a6}.btn-secondary:hover{color:#fff;background-color:#7f8c8d;border-color:#778485}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#7f8c8d;border-color:#778485;box-shadow:0 0 0 .25rem rgba(165,179,179,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show\u003e.btn-secondary.dropdown-toggle{color:#fff;background-color:#778485;border-color:#707c7d}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show\u003e.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(165,179,179,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#95a5a6;border-color:#95a5a6}.btn-success{color:#fff;background-color:#18bc9c;border-color:#18bc9c}.btn-success:hover{color:#fff;background-color:#14a085;border-color:#13967d}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#14a085;border-color:#13967d;box-shadow:0 0 0 .25rem rgba(59,198,171,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show\u003e.btn-success.dropdown-toggle{color:#fff;background-color:#13967d;border-color:#128d75}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show\u003e.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(59,198,171,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#18bc9c;border-color:#18bc9c}.btn-info{color:#fff;background-color:#3498db;border-color:#3498db}.btn-info:hover{color:#fff;background-color:#2c81ba;border-color:#2a7aaf}.btn-check:focus+.btn-info,.btn-info:focus{color:#fff;background-color:#2c81ba;border-color:#2a7aaf;box-shadow:0 0 0 .25rem rgba(82,167,224,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show\u003e.btn-info.dropdown-toggle{color:#fff;background-color:#2a7aaf;border-color:#2772a4}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show\u003e.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(82,167,224,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#3498db;border-color:#3498db}.btn-warning{color:#fff;background-color:#f39c12;border-color:#f39c12}.btn-warning:hover{color:#fff;background-color:#cf850f;border-color:#c27d0e}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#fff;background-color:#cf850f;border-color:#c27d0e;box-shadow:0 0 0 .25rem rgba(245,171,54,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show\u003e.btn-warning.dropdown-toggle{color:#fff;background-color:#c27d0e;border-color:#b6750e}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show\u003e.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(245,171,54,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#fff;background-color:#f39c12;border-color:#f39c12}.btn-danger{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.btn-danger:hover{color:#fff;background-color:#c44133;border-color:#b93d30}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#c44133;border-color:#b93d30;box-shadow:0 0 0 .25rem rgba(235,103,89,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show\u003e.btn-danger.dropdown-toggle{color:#fff;background-color:#b93d30;border-color:#ad392d}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show\u003e.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(235,103,89,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.btn-light{color:#000;background-color:#ecf0f1;border-color:#ecf0f1}.btn-light:hover{color:#000;background-color:#eff2f3;border-color:#eef2f2}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#eff2f3;border-color:#eef2f2;box-shadow:0 0 0 .25rem rgba(201,204,205,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show\u003e.btn-light.dropdown-toggle{color:#000;background-color:#f0f3f4;border-color:#eef2f2}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show\u003e.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(201,204,205,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#ecf0f1;border-color:#ecf0f1}.btn-dark{color:#fff;background-color:#7b8a8b;border-color:#7b8a8b}.btn-dark:hover{color:#fff;background-color:#697576;border-color:#626e6f}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#697576;border-color:#626e6f;box-shadow:0 0 0 .25rem rgba(143,156,156,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show\u003e.btn-dark.dropdown-toggle{color:#fff;background-color:#626e6f;border-color:#5c6868}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show\u003e.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(143,156,156,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#7b8a8b;border-color:#7b8a8b}.btn-outline-primary{color:#2c3e50;border-color:#2c3e50}.btn-outline-primary:hover{color:#fff;background-color:#2c3e50;border-color:#2c3e50}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(44,62,80,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#2c3e50;border-color:#2c3e50}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(44,62,80,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#2c3e50;background-color:transparent}.btn-outline-secondary{color:#95a5a6;border-color:#95a5a6}.btn-outline-secondary:hover{color:#fff;background-color:#95a5a6;border-color:#95a5a6}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(149,165,166,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#95a5a6;border-color:#95a5a6}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(149,165,166,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#95a5a6;background-color:transparent}.btn-outline-success{color:#18bc9c;border-color:#18bc9c}.btn-outline-success:hover{color:#fff;background-color:#18bc9c;border-color:#18bc9c}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(24,188,156,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#18bc9c;border-color:#18bc9c}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(24,188,156,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#18bc9c;background-color:transparent}.btn-outline-info{color:#3498db;border-color:#3498db}.btn-outline-info:hover{color:#fff;background-color:#3498db;border-color:#3498db}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(52,152,219,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#fff;background-color:#3498db;border-color:#3498db}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(52,152,219,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#3498db;background-color:transparent}.btn-outline-warning{color:#f39c12;border-color:#f39c12}.btn-outline-warning:hover{color:#fff;background-color:#f39c12;border-color:#f39c12}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(243,156,18,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#fff;background-color:#f39c12;border-color:#f39c12}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(243,156,18,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f39c12;background-color:transparent}.btn-outline-danger{color:#e74c3c;border-color:#e74c3c}.btn-outline-danger:hover{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(231,76,60,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(231,76,60,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#e74c3c;background-color:transparent}.btn-outline-light{color:#ecf0f1;border-color:#ecf0f1}.btn-outline-light:hover{color:#000;background-color:#ecf0f1;border-color:#ecf0f1}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(236,240,241,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#ecf0f1;border-color:#ecf0f1}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(236,240,241,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#ecf0f1;background-color:transparent}.btn-outline-dark{color:#7b8a8b;border-color:#7b8a8b}.btn-outline-dark:hover{color:#fff;background-color:#7b8a8b;border-color:#7b8a8b}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(123,138,139,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#7b8a8b;border-color:#7b8a8b}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(123,138,139,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#7b8a8b;background-color:transparent}.btn-link{font-weight:400;color:#18bc9c;text-decoration:underline}.btn-link:hover{color:#13967d}.btn-link.disabled,.btn-link:disabled{color:#95a5a6}.btn-group-lg\u003e.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm\u003e.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#7b8a8b;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#fff;background-color:#2c3e50}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#2c3e50}.dropdown-item.disabled,.dropdown-item:disabled{color:#b4bcc2;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#95a5a6;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#7b8a8b}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#2c3e50}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#b4bcc2}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#b4bcc2}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical\u003e.btn,.btn-group\u003e.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical\u003e.btn-check:checked+.btn,.btn-group-vertical\u003e.btn-check:focus+.btn,.btn-group-vertical\u003e.btn.active,.btn-group-vertical\u003e.btn:active,.btn-group-vertical\u003e.btn:focus,.btn-group-vertical\u003e.btn:hover,.btn-group\u003e.btn-check:checked+.btn,.btn-group\u003e.btn-check:focus+.btn,.btn-group\u003e.btn.active,.btn-group\u003e.btn:active,.btn-group\u003e.btn:focus,.btn-group\u003e.btn:hover{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group\u003e.btn-group:not(:first-child),.btn-group\u003e.btn:not(:first-child){margin-left:-1px}.btn-group\u003e.btn-group:not(:last-child)\u003e.btn,.btn-group\u003e.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group\u003e.btn-group:not(:first-child)\u003e.btn,.btn-group\u003e.btn:nth-child(n+3),.btn-group\u003e:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm\u003e.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg\u003e.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical\u003e.btn,.btn-group-vertical\u003e.btn-group{width:100%}.btn-group-vertical\u003e.btn-group:not(:first-child),.btn-group-vertical\u003e.btn:not(:first-child){margin-top:-1px}.btn-group-vertical\u003e.btn-group:not(:last-child)\u003e.btn,.btn-group-vertical\u003e.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical\u003e.btn-group:not(:first-child)\u003e.btn,.btn-group-vertical\u003e.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 2rem;color:#18bc9c;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#13967d}.nav-link.disabled{color:#95a5a6;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #ecf0f1}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#ecf0f1 #ecf0f1 #ecf0f1;isolation:isolate}.nav-tabs .nav-link.disabled{color:#95a5a6;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#7b8a8b;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show\u003e.nav-link{color:#fff;background-color:#2c3e50}.nav-fill .nav-item,.nav-fill\u003e.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified\u003e.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content\u003e.tab-pane{display:none}.tab-content\u003e.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding-top:1rem;padding-bottom:1rem}.navbar\u003e.container,.navbar\u003e.container-fluid,.navbar\u003e.container-lg,.navbar\u003e.container-md,.navbar\u003e.container-sm,.navbar\u003e.container-xl,.navbar\u003e.container-xxl{display:-ms-flexbox;display:flex;-ms-flex-wrap:inherit;flex-wrap:inherit;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;-ms-flex-positive:1;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;-webkit-transform:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;-ms-flex-positive:1;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;-webkit-transform:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;-ms-flex-positive:1;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;-webkit-transform:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;-ms-flex-positive:1;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;-webkit-transform:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;-ms-flex-positive:1;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;-webkit-transform:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;-ms-flex-positive:1;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;-webkit-transform:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show\u003e.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 30 30\u0027%3e%3cpath stroke\u003d\u0027rgba%280, 0, 0, 0.55%29\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-miterlimit\u003d\u002710\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M4 7h22M4 15h22M4 23h22\u0027/%3e%3c/svg%3e\")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#fff}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#2c3e50}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show\u003e.nav-link{color:#2c3e50}.navbar-dark .navbar-toggler{color:#fff;border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 30 30\u0027%3e%3cpath stroke\u003d\u0027%23fff\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-miterlimit\u003d\u002710\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M4 7h22M4 15h22M4 23h22\u0027/%3e%3c/svg%3e\")}.navbar-dark .navbar-text{color:#fff}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#2c3e50}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card\u003ehr{margin-right:0;margin-left:0}.card\u003e.list-group{border-top:inherit;border-bottom:inherit}.card\u003e.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card\u003e.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card\u003e.card-header+.list-group,.card\u003e.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group\u003e.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group\u003e.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group\u003e.card+.card{margin-left:0;border-left:0}.card-group\u003e.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group\u003e.card:not(:last-child) .card-header,.card-group\u003e.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group\u003e.card:not(:last-child) .card-footer,.card-group\u003e.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group\u003e.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group\u003e.card:not(:first-child) .card-header,.card-group\u003e.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group\u003e.card:not(:first-child) .card-footer,.card-group\u003e.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#283848;background-color:#eaecee;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23283848\u0027%3e%3cpath fill-rule\u003d\u0027evenodd\u0027 d\u003d\u0027M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\u0027/%3e%3c/svg%3e\");-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.accordion-button::after{-ms-flex-negative:0;flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:\"\";background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23212529\u0027%3e%3cpath fill-rule\u003d\u0027evenodd\u0027 d\u003d\u0027M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-size:1.25rem;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#969fa8;outline:0;box-shadow:0 0 0 .25rem rgba(44,62,80,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.375rem .75rem;margin-bottom:1rem;list-style:none;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#95a5a6;content:var(--bs-breadcrumb-divider, \"/\")}.breadcrumb-item.active{color:#95a5a6}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#fff;text-decoration:none;background-color:#18bc9c;border:0 solid transparent;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#fff;background-color:#0f7864;border-color:transparent}.page-link:focus{z-index:3;color:#13967d;background-color:#ecf0f1;outline:0;box-shadow:0 0 0 .25rem rgba(44,62,80,.25)}.page-item:not(:first-child) .page-link{margin-left:0}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0f7864;border-color:transparent}.page-item.disabled .page-link{color:#ecf0f1;pointer-events:none;background-color:#3be6c4;border-color:transparent}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#1a2530;background-color:#d5d8dc;border-color:#c0c5cb}.alert-primary .alert-link{color:#151e26}.alert-secondary{color:#596364;background-color:#eaeded;border-color:#dfe4e4}.alert-secondary .alert-link{color:#474f50}.alert-success{color:#0e715e;background-color:#d1f2eb;border-color:#baebe1}.alert-success .alert-link{color:#0b5a4b}.alert-info{color:#1f5b83;background-color:#d6eaf8;border-color:#c2e0f4}.alert-info .alert-link{color:#194969}.alert-warning{color:#925e0b;background-color:#fdebd0;border-color:#fbe1b8}.alert-warning .alert-link{color:#754b09}.alert-danger{color:#8b2e24;background-color:#fadbd8;border-color:#f8c9c5}.alert-danger .alert-link{color:#6f251d}.alert-light{color:#8e9091;background-color:#fbfcfc;border-color:#f9fbfb}.alert-light .alert-link{color:#727374}.alert-dark{color:#4a5353;background-color:#e5e8e8;border-color:#d7dcdc}.alert-dark .alert-link{color:#3b4242}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#ecf0f1;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#2c3e50;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered\u003eli::before{content:counters(section, \".\") \". \";counter-increment:section}.list-group-item-action{width:100%;color:#7b8a8b;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#7b8a8b;text-decoration:none;background-color:#ecf0f1}.list-group-item-action:active{color:#212529;background-color:#ecf0f1}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#95a5a6;pointer-events:none;background-color:#ecf0f1}.list-group-item.active{z-index:2;color:#fff;background-color:#2c3e50;border-color:#2c3e50}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal\u003e.list-group-item.active{margin-top:0}.list-group-horizontal\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-sm\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-md\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-lg\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-xl\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xxl\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-xxl\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush\u003e.list-group-item{border-width:0 0 1px}.list-group-flush\u003e.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#1a2530;background-color:#d5d8dc}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#1a2530;background-color:#c0c2c6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#1a2530;border-color:#1a2530}.list-group-item-secondary{color:#596364;background-color:#eaeded}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#596364;background-color:#d3d5d5}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#596364;border-color:#596364}.list-group-item-success{color:#0e715e;background-color:#d1f2eb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0e715e;background-color:#bcdad4}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0e715e;border-color:#0e715e}.list-group-item-info{color:#1f5b83;background-color:#d6eaf8}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#1f5b83;background-color:#c1d3df}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#1f5b83;border-color:#1f5b83}.list-group-item-warning{color:#925e0b;background-color:#fdebd0}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#925e0b;background-color:#e4d4bb}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#925e0b;border-color:#925e0b}.list-group-item-danger{color:#8b2e24;background-color:#fadbd8}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#8b2e24;background-color:#e1c5c2}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#8b2e24;border-color:#8b2e24}.list-group-item-light{color:#8e9091;background-color:#fbfcfc}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#8e9091;background-color:#e2e3e3}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#8e9091;border-color:#8e9091}.list-group-item-dark{color:#4a5353;background-color:#e5e8e8}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#4a5353;background-color:#ced1d1}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#4a5353;border-color:#4a5353}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#fff;background:transparent url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23fff\u0027%3e%3cpath d\u003d\u0027M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z\u0027/%3e%3c/svg%3e\") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.4}.btn-close:hover{color:#fff;text-decoration:none;opacity:1}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(44,62,80,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.25}.btn-close-white{-webkit-filter:invert(1) grayscale(100%) brightness(200%);filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container\u003e:not(:last-child){margin-bottom:.75rem}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.5rem .75rem;color:#95a5a6;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer\u003e*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:\"\";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^\u003dtop],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^\u003dtop] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^\u003dtop] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^\u003dright],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^\u003dright] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^\u003dright] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^\u003dbottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^\u003dbottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^\u003dbottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^\u003dleft],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^\u003dleft] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^\u003dleft] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:\"\";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^\u003dtop]\u003e.popover-arrow,.bs-popover-top\u003e.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^\u003dtop]\u003e.popover-arrow::before,.bs-popover-top\u003e.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dtop]\u003e.popover-arrow::after,.bs-popover-top\u003e.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^\u003dright]\u003e.popover-arrow,.bs-popover-end\u003e.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^\u003dright]\u003e.popover-arrow::before,.bs-popover-end\u003e.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dright]\u003e.popover-arrow::after,.bs-popover-end\u003e.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^\u003dbottom]\u003e.popover-arrow,.bs-popover-bottom\u003e.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^\u003dbottom]\u003e.popover-arrow::before,.bs-popover-bottom\u003e.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dbottom]\u003e.popover-arrow::after,.bs-popover-bottom\u003e.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^\u003dbottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:\"\";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^\u003dleft]\u003e.popover-arrow,.bs-popover-start\u003e.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^\u003dleft]\u003e.popover-arrow::before,.bs-popover-start\u003e.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dleft]\u003e.popover-arrow::after,.bs-popover-start\u003e.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:\"\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23fff\u0027%3e%3cpath d\u003d\u0027M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\u0027/%3e%3c/svg%3e\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23fff\u0027%3e%3cpath d\u003d\u0027M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\u0027/%3e%3c/svg%3e\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{-webkit-filter:invert(1) grayscale(100);filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{-ms-flex-positive:1;flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas.show{-webkit-transform:none;transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:\"\"}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0;mask-position:-200% 0}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0;mask-position:-200% 0}}.clearfix::after{display:block;clear:both;content:\"\"}.link-primary{color:#2c3e50}.link-primary:focus,.link-primary:hover{color:#233240}.link-secondary{color:#95a5a6}.link-secondary:focus,.link-secondary:hover{color:#778485}.link-success{color:#18bc9c}.link-success:focus,.link-success:hover{color:#13967d}.link-info{color:#3498db}.link-info:focus,.link-info:hover{color:#2a7aaf}.link-warning{color:#f39c12}.link-warning:focus,.link-warning:hover{color:#c27d0e}.link-danger{color:#e74c3c}.link-danger:focus,.link-danger:hover{color:#b93d30}.link-light{color:#ecf0f1}.link-light:focus,.link-light:hover{color:#f0f3f4}.link-dark{color:#7b8a8b}.link-dark:focus,.link-dark:hover{color:#626e6f}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:\"\"}.ratio\u003e*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.hstack{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-item-align:stretch;align-self:stretch}.vstack{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;-ms-flex-item-align:stretch;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:\"\"}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;-ms-flex-item-align:stretch;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{-webkit-transform:translate(-50%,-50%)!important;transform:translate(-50%,-50%)!important}.translate-middle-x{-webkit-transform:translateX(-50%)!important;transform:translateX(-50%)!important}.translate-middle-y{-webkit-transform:translateY(-50%)!important;transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#2c3e50!important}.border-secondary{border-color:#95a5a6!important}.border-success{border-color:#18bc9c!important}.border-info{border-color:#3498db!important}.border-warning{border-color:#f39c12!important}.border-danger{border-color:#e74c3c!important}.border-light{border-color:#ecf0f1!important}.border-dark{border-color:#7b8a8b!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-evenly{-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.order-first{-ms-flex-order:-1!important;order:-1!important}.order-0{-ms-flex-order:0!important;order:0!important}.order-1{-ms-flex-order:1!important;order:1!important}.order-2{-ms-flex-order:2!important;order:2!important}.order-3{-ms-flex-order:3!important;order:3!important}.order-4{-ms-flex-order:4!important;order:4!important}.order-5{-ms-flex-order:5!important;order:5!important}.order-last{-ms-flex-order:6!important;order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.425rem + 2.1vw)!important}.fs-2{font-size:calc(1.375rem + 1.5vw)!important}.fs-3{font-size:calc(1.325rem + .9vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#95a5a6!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-sm-evenly{-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.order-sm-first{-ms-flex-order:-1!important;order:-1!important}.order-sm-0{-ms-flex-order:0!important;order:0!important}.order-sm-1{-ms-flex-order:1!important;order:1!important}.order-sm-2{-ms-flex-order:2!important;order:2!important}.order-sm-3{-ms-flex-order:3!important;order:3!important}.order-sm-4{-ms-flex-order:4!important;order:4!important}.order-sm-5{-ms-flex-order:5!important;order:5!important}.order-sm-last{-ms-flex-order:6!important;order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-md-evenly{-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.order-md-first{-ms-flex-order:-1!important;order:-1!important}.order-md-0{-ms-flex-order:0!important;order:0!important}.order-md-1{-ms-flex-order:1!important;order:1!important}.order-md-2{-ms-flex-order:2!important;order:2!important}.order-md-3{-ms-flex-order:3!important;order:3!important}.order-md-4{-ms-flex-order:4!important;order:4!important}.order-md-5{-ms-flex-order:5!important;order:5!important}.order-md-last{-ms-flex-order:6!important;order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-lg-evenly{-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.order-lg-first{-ms-flex-order:-1!important;order:-1!important}.order-lg-0{-ms-flex-order:0!important;order:0!important}.order-lg-1{-ms-flex-order:1!important;order:1!important}.order-lg-2{-ms-flex-order:2!important;order:2!important}.order-lg-3{-ms-flex-order:3!important;order:3!important}.order-lg-4{-ms-flex-order:4!important;order:4!important}.order-lg-5{-ms-flex-order:5!important;order:5!important}.order-lg-last{-ms-flex-order:6!important;order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-xl-evenly{-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.order-xl-first{-ms-flex-order:-1!important;order:-1!important}.order-xl-0{-ms-flex-order:0!important;order:0!important}.order-xl-1{-ms-flex-order:1!important;order:1!important}.order-xl-2{-ms-flex-order:2!important;order:2!important}.order-xl-3{-ms-flex-order:3!important;order:3!important}.order-xl-4{-ms-flex-order:4!important;order:4!important}.order-xl-5{-ms-flex-order:5!important;order:5!important}.order-xl-last{-ms-flex-order:6!important;order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:-ms-flexbox!important;display:flex!important}.d-xxl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xxl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xxl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xxl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xxl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xxl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xxl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xxl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xxl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-xxl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xxl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xxl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xxl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xxl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xxl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-xxl-evenly{-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-xxl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xxl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xxl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xxl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xxl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xxl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xxl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xxl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xxl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xxl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xxl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xxl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xxl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xxl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xxl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xxl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xxl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.order-xxl-first{-ms-flex-order:-1!important;order:-1!important}.order-xxl-0{-ms-flex-order:0!important;order:0!important}.order-xxl-1{-ms-flex-order:1!important;order:1!important}.order-xxl-2{-ms-flex-order:2!important;order:2!important}.order-xxl-3{-ms-flex-order:3!important;order:3!important}.order-xxl-4{-ms-flex-order:4!important;order:4!important}.order-xxl-5{-ms-flex-order:5!important;order:5!important}.order-xxl-last{-ms-flex-order:6!important;order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:3rem!important}.fs-2{font-size:2.5rem!important}.fs-3{font-size:2rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}.d-print-none{display:none!important}}.bg-primary .navbar-nav .nav-link.active,.bg-primary .navbar-nav .nav-link:focus,.bg-primary .navbar-nav .nav-link:hover,.bg-primary .navbar-nav .show\u003e.nav-link{color:#18bc9c!important}.nav-tabs .nav-item.open .nav-link,.nav-tabs .nav-item.open .nav-link:focus,.nav-tabs .nav-item.open .nav-link:hover,.nav-tabs .nav-link.active,.nav-tabs .nav-link.active:focus,.nav-tabs .nav-link.active:hover{color:#2c3e50}.pagination a:hover{text-decoration:none}.badge.bg-light{color:#7b8a8b}.alert{border:none;color:#fff}.alert .alert-link,.alert a{color:#fff;text-decoration:underline}.alert-primary{background-color:#2c3e50}.alert-secondary{background-color:#95a5a6}.alert-success{background-color:#18bc9c}.alert-info{background-color:#3498db}.alert-warning{background-color:#f39c12}.alert-danger{background-color:#e74c3c}.alert-light{background-color:#ecf0f1}.alert-dark{background-color:#7b8a8b}.alert-light,.alert-light .alert-link,.alert-light a{color:#212529}.modal .btn-close,.toast .btn-close{background-image:url(\"data:image/svg+xml,\u003csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23000\u0027\u003e\u003cpath d\u003d\u0027M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z\u0027/\u003e\u003c/svg\u003e\")}"}],"authorContributionMap":{"jingting1412":12}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"jingting1412":2}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/css/codeblock-light.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#f8f8ff}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:700}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:teal}.hljs-doctag,.hljs-string{color:#d14}.hljs-section,.hljs-selector-id,.hljs-title{color:#900;font-weight:700}.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type{color:#458;font-weight:700}.hljs-attribute,.hljs-name,.hljs-tag{color:navy;font-weight:400}.hljs-link,.hljs-regexp{color:#009926}.hljs-bullet,.hljs-symbol{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#0086b3}.hljs-meta{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#e6e6fa}.hljs.inline{background:#f8f8f8}.hljs.inline.no-lang{color:#e83e8c}.hljs:not(.inline){border:1px solid #c8c8c8;border:1px solid rgba(200,200,200,.3)}.code-block-heading{background:#f2f2ff;color:#8787a5}button.function-btn{background-color: #f8f8ff}"}],"authorContributionMap":{"jingting1412":2}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/css/markbind.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":".resize-observer[data-v-8859cc6c]{background-color:transparent;border:none;opacity:0}.resize-observer[data-v-8859cc6c],.resize-observer[data-v-8859cc6c] object{display:block;height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:-1}.v-popper__popper{left:0;top:0;z-index:10000}.v-popper__popper.v-popper__popper--hidden{opacity:0;pointer-events:none;transition:opacity .15s,visibility .15s;visibility:hidden}.v-popper__popper.v-popper__popper--shown{opacity:1;transition:opacity .15s;visibility:visible}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition\u003e.v-popper__wrapper{transition:none!important}.v-popper__backdrop{display:none;height:100%;left:0;position:absolute;top:0;width:100%}.v-popper__inner{box-sizing:border-box;overflow-y:auto;position:relative}.v-popper__inner\u003ediv{max-height:inherit;max-width:inherit;position:relative;z-index:1}.v-popper__arrow-container{height:10px;position:absolute;width:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;height:0;left:0;position:absolute;top:0;width:0}.v-popper__arrow-inner{border-width:7px;visibility:hidden}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important}.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-outer{border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;border-top-width:0}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-left-color:transparent!important;border-left-width:0;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-right-color:transparent!important;border-right-width:0;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-inner{left:-2px}.v-popper--theme-dropdown .v-popper__inner{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 6px 30px #0000001a;color:#000}.v-popper--theme-dropdown .v-popper__arrow-inner{border-color:#fff;visibility:visible}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);border-radius:6px;color:#fff;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.box-container[data-v-4d146e2c]{border-radius:6px;padding:0}.box-header-wrapper[data-v-4d146e2c]{align-items:center;border-radius:6px 6px 0 0;display:flex;flex-direction:row;padding:.4rem 1.25rem .28rem;width:100%}.box-body-wrapper[data-v-4d146e2c]{display:flex;flex-direction:row;padding:.75rem 1.25rem;width:100%}.box-container.seamless\u003e.header-and-body\u003e.box-body-wrapper[data-v-4d146e2c]{padding:.75rem .5rem}.contents[data-v-4d146e2c]{min-width:0;padding:0 6px;width:100%}.box-container.seamless\u003e.header-and-body\u003ediv.box-body-wrapper\u003e.contents[data-v-4d146e2c]{padding-left:12px}.heading[data-v-4d146e2c]{background-color:hsla(0,0%,94%,.6);border-radius:0 6px 0 6px;border-width:0;color:inherit;display:inline;float:right;font-weight:400;margin:-13px -27px 0 15px;padding:3px 5px 4px;width:auto}.box-body-wrapper-with-heading[data-v-4d146e2c]{padding-top:.5rem}.alert-dismissible[data-v-4d146e2c]{padding-right:4rem}.box-header[data-v-4d146e2c]{font-weight:500}.icon-wrapper[data-v-4d146e2c]{display:inline;margin-right:.5em;min-width:1em;text-align:center}.close-with-heading[data-v-4d146e2c]{padding:1rem;position:absolute;right:0;top:0}.close-with-heading\u003espan[data-v-4d146e2c]{vertical-align:text-top}.alert-dismissible .btn-close[data-v-4d146e2c]{padding:1rem}.contents[data-v-4d146e2c]\u003e:last-child{margin-bottom:0}.alert-default[data-v-4d146e2c]{background-color:#f6f8fa;border-color:#e8ebef;color:#24292e}.alert-border-left[data-v-4d146e2c]{background-color:#f9f8f8;border-left:solid;border-width:0 0 0 5px}.vertical-divider[data-v-4d146e2c]{width:4px}.horizontal-divider[data-v-4d146e2c]{height:3px;margin:0 auto;width:calc(100% - 2.5rem)}.no-background[data-v-4d146e2c]{background:none}.no-border[data-v-4d146e2c]{border:none}@media screen and (max-width:768px){.box-header-wrapper[data-v-4d146e2c]{padding:.75rem .75rem .1rem}.box-body-wrapper[data-v-4d146e2c]{padding:.75rem}.contents[data-v-4d146e2c]{padding:0}}div.box-header\u003e*{margin-bottom:0}.notlink[data-v-ef898034]{color:#6d757d}.breadcrumb-divider[data-v-ef898034]{--bs-breadcrumb-divider:\"›\"}.breadcrumb-item[data-v-ef898034]:before,.breadcrumb-marker[data-v-ef898034]{font-size:15px}.dropdown-submenu[data-v-6df16086]{color:#212529!important;padding:0!important;position:relative}.dropdown-submenu ul.dropdown-menu[data-v-6df16086]{margin-left:0}.btn-group\u003eul\u003e.dropdown-submenu:last-child\u003eul[data-v-6df16086],.dropdown\u003eul\u003e.dropdown-submenu:last-child\u003eul[data-v-6df16086]{margin-bottom:-.5rem}@media (min-width:768px){.submenu-toggle[data-v-6df16086]:after{border-bottom:.3em solid transparent;border-left:.3em solid;border-right:0;border-top:.3em solid transparent;content:\"\";display:inline-block;float:right;height:0;margin-top:.5em;vertical-align:.255em;width:0}}@media (max-width:767px){.dropdown-submenu\u003eul[data-v-6df16086]{border-radius:0;float:none;margin:-.05rem;padding-bottom:0;position:static}.submenu-toggle[data-v-6df16086]:after{border-bottom:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid;content:\"\";display:inline-block;float:right;height:0;margin-left:.255em;margin-top:.5em;vertical-align:.255em;width:0}.navbar-default .dropdown[data-v-12679d7e]{position:static}.navbar-default .dropdown-menu[data-v-12679d7e]{max-height:75vh;max-width:100%;overflow-y:auto;overscroll-behavior:contain;position:absolute}.navbar-default .dropdown-menu-end[data-v-12679d7e]{right:auto}}.secret[data-v-12679d7e]{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.btn-with-before[data-v-12679d7e]{padding-left:.2rem;padding-right:.4rem}.dropdown-toggle[data-v-12679d7e]{cursor:pointer;display:block;width:max-content}.navbar .dropdown-toggle[data-v-12679d7e]{text-decoration:none}.nav-link\u003e.nav-link[data-v-12679d7e]{padding:0}.toggle-site-nav-button[data-v-d6ffaa8e]{cursor:pointer;height:53px;left:0;padding:15px;position:absolute;transform:rotate(0deg);transition:all .25s ease-in-out;width:52px}.toggle-site-nav-button span[data-v-d6ffaa8e]{background-color:#000;display:block;height:3px;left:15px;position:absolute;top:50%;transition:all .25s ease-in-out;width:21px}.toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:first-child{transform:translateY(-8px)}.toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(2){transform-origin:100% 50%}.toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(3){transform:translateY(8px)}.nav-menu-close-icon .toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:first-child{transform:rotate(135deg)}.nav-menu-close-icon .toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(2){left:-60px;opacity:0}.nav-menu-close-icon .toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(3){transform:rotate(-135deg)}.toggle-page-nav-button[data-v-4b08b1df]{cursor:pointer;padding:15px;position:absolute;right:0;top:6px}.toggle-page-nav-button span[data-v-4b08b1df]{background-color:#000;border-radius:50%;display:block;height:5px;margin-top:2px;position:absolute;right:15px;transform:rotate(0deg);transition:all .25s ease-in-out;width:5px}.toggle-page-nav-button\u003espan[data-v-4b08b1df]:first-child{transform:translateY(-8px)}.toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(2){transform-origin:100% 50%}.toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(3){transform:translateY(8px)}.nav-menu-close-icon .toggle-page-nav-button\u003espan[data-v-4b08b1df]:first-child{border-radius:0;height:3px;transform:rotate(135deg);width:21px}.nav-menu-close-icon .toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(2){transform:scale(0)}.nav-menu-close-icon .toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(3){border-radius:0;height:3px;transform:rotate(-135deg);width:21px}@media (max-width:767px){.navbar[data-v-73b4aa16]{padding-bottom:0;padding-left:0;padding-right:0}.navbar-left[data-v-73b4aa16]{max-width:50%;order:1;padding-left:1rem}.navbar-left [data-v-73b4aa16]{white-space:normal}.navbar-right[data-v-73b4aa16]{max-width:50%;order:1;padding:0 16px}.navbar-default[data-v-73b4aa16]{-ms-overflow-style:none;display:block;margin-top:.3125rem;order:2;overflow-x:scroll;scrollbar-width:none;width:100%}.navbar-default[data-v-73b4aa16]::-webkit-scrollbar{display:none}.navbar-default ul[data-v-73b4aa16]{flex-direction:row;margin-top:0!important;width:100%}.navbar-default\u003eul\u003e[data-v-73b4aa16]{background:rgba(0,0,0,.2);flex-grow:1;padding:.3125rem .625rem}.navbar-light .navbar-default\u003eul\u003e[data-v-73b4aa16]{background:rgba(0,0,0,.05)}.navbar-default\u003eul\u003e.current[data-v-73b4aa16]{background:transparent}.navbar-default a[data-v-73b4aa16],[data-v-73b4aa16] .dropdown-toggle{margin:0 auto;width:max-content}[data-v-73b4aa16] .dropdown{align-items:center;display:flex}.container-fluid[data-v-73b4aa16]{padding:0}}.navbar-brand[data-v-73b4aa16]{display:inline-block}.navbar-brand\u003eimg[data-v-73b4aa16],.navbar-brand\u003esvg[data-v-73b4aa16]{display:block}.navbar-right[data-v-73b4aa16]{padding-right:1rem}.navbar-left[data-v-73b4aa16]{align-items:center;display:flex;font-size:1.25rem;line-height:inherit;padding:.3125rem 1rem;white-space:nowrap}.navbar-fixed[data-v-73b4aa16]{position:fixed;width:100%;z-index:1000}.navbar-default[data-v-73b4aa16]{align-items:center;display:flex;flex-basis:auto;flex-grow:1}[data-v-73b4aa16] .dropdown-current{background:#007bff;color:#fff!important}.lower-navbar-container[data-v-73b4aa16]{background-color:#fff;border-bottom:1px solid #c1c1c1;height:50px;position:relative;width:100%}.navbar.navbar-dark .navbar-nav[data-v-73b4aa16] .current:not(.dropdown) a,.navbar.navbar-dark .navbar-nav[data-v-73b4aa16] .dropdown.current\u003ea{color:#fff}.navbar.navbar-light .navbar-nav[data-v-73b4aa16] .current:not(.dropdown) a,.navbar.navbar-light .navbar-nav[data-v-73b4aa16] .dropdown.current\u003ea{color:#000}.collapse-button{float:right;font-size:10px!important;margin-left:3px;margin-top:2px;padding:3px 8px!important}.collapse-icon{transition:transform .4s ease-in-out}.collapse-icon.opened{transform:rotate(-180deg)}.card-container[data-v-1e33c620]{scroll-margin-top:var(--sticky-header-height)}.card-collapse[data-v-1e33c620]{overflow:hidden;transition:max-height .5s ease-in-out}.seamless-button[data-v-1e33c620]{opacity:0;transition:opacity .3s}.card-header:hover .seamless-button[data-v-1e33c620]{opacity:1}.card-peek-collapsed[data-v-1e33c620]{position:relative}.card-peek-collapsed[data-v-1e33c620]:after{background-image:linear-gradient(180deg,transparent,#fff 90%);bottom:0;content:\"\";height:125px;position:absolute;width:100%}.peek-read-more[data-v-1e33c620]{opacity:.2;transition:opacity .5s;z-index:1}.peek-read-more[data-v-1e33c620]:before{bottom:10px;position:absolute;text-align:center;width:100%}.peek-read-more[data-v-1e33c620]:hover{cursor:pointer;opacity:.4}.peek-read-more-fade-enter[data-v-1e33c620],.peek-read-more-fade-leave-to[data-v-1e33c620]{opacity:0}.card-heading{width:100%}.card-title{display:inline-block;font-size:1em;line-height:1.2em;margin:0;text-align:left;white-space:normal}.card-title *{margin-bottom:0!important}.caret-wrapper{float:left;width:32px}.minimal-caret-wrapper{display:inline-block;font-size:13px;margin-right:5px}.header-wrapper{display:inline-block;transition:opacity .5s;width:calc(100% - 128px)}.header-transparent{opacity:0}.button-wrapper{float:right;width:96px}.header-toggle{cursor:pointer}.expandable-card{margin-bottom:0!important;margin-top:5px}.card-collapse\u003ehr{margin-top:0}.card-group\u003e.card-container\u003e.expandable-card{margin-top:0!important}.bottom-button-wrapper{margin-bottom:13px;padding-bottom:13px}.bottom-button-wrapper\u003e.collapse-button{margin-top:5px;opacity:.2}.bottom-button-wrapper\u003e.collapse-button:hover{opacity:1}.close-button{margin-left:3px}.close-button,.popup-button{float:right;font-size:10px!important;margin-top:2px;padding:3px 8px!important}.morph{display:inline-block}.morph-display-wrapper{align-items:center;display:flex;margin-top:5px}@media (max-width:575.98px){.header-wrapper{display:inline-block;width:calc(100% - 64px)}.button-wrapper{float:right;width:32px}.card-body{padding:.5rem}.card-collapse\u003ehr{margin-top:.5rem}.card-header{padding:.5rem}}.card-peek-collapsed[data-v-5d519034]{position:relative}.card-peek-collapsed[data-v-5d519034]:after{background-image:linear-gradient(180deg,transparent,#fff 90%);bottom:0;content:\"\";height:125px;position:absolute;width:100%}.morph-title[data-v-5d519034]{background-color:transparent;border-color:#000;padding:0 .3em;vertical-align:top}.morph-title[data-v-5d519034]:active,.morph-title[data-v-5d519034]:focus,.morph-title[data-v-5d519034]:hover{background-color:#343a40;border-color:#343a40;color:#fff}.card-collapse[data-v-5d519034]{overflow:hidden;transition:max-height .5s ease-in-out}.card-flex[data-v-5d519034]{border:0;display:flex;flex-direction:column;margin:0}.header-fade-enter[data-v-5d519034]{opacity:0}.header-fade-leave-active[data-v-5d519034]{position:absolute}.header-fade-leave-to[data-v-5d519034]{opacity:0!important}.card-title-inline[data-v-5d519034]{display:inline-block}.card-body[data-v-5d519034]{padding:0}.header-wrapper[data-v-5d519034]{background-color:#fff;display:inline-block;width:100%}.header-wrapper-bottom[data-v-5d519034]{order:1}.ellipses[data-v-5d519034]:before{bottom:3px;content:\"...\";font-weight:900;margin-right:4px;position:relative}.button-wrapper[data-v-5d519034]{border:solid hsla(0,0%,59%,.2);border-width:0 0 0 1px;display:inline-block;float:none;margin-left:2px;opacity:0;padding-left:2px;transition:opacity .5s;vertical-align:text-top;width:auto}.button-wrapper-expanded[data-v-5d519034]{border:0;margin-left:0;padding-left:0}.card:hover .button-wrapper[data-v-5d519034]{opacity:1}.header-toggle[data-v-5d519034]{cursor:pointer}.glyphicon[data-v-5d519034]{font-size:12px}.minimal-button[data-v-5d519034]{background-color:transparent;border:0;color:#969696;cursor:pointer;padding:0 3px}.minimal-button[data-v-5d519034]:active,.minimal-button[data-v-5d519034]:focus,.minimal-button[data-v-5d519034]:hover{color:#1e1e1e}.minimal-popup-button[data-v-5d519034]{font-size:9px;top:1px}.minimal-menu-up[data-v-5d519034]{font-size:13px;top:2px}.minimal-menu-down[data-v-5d519034]{font-size:13px;top:1px}.minimal-close-button[data-v-5d519034]{font-size:11px;top:0}@media (max-width:575.98px){.button-wrapper-expanded[data-v-5d519034]{border:0;margin-left:0;opacity:.15;padding-left:0}.button-wrapper-visible[data-v-5d519034]{opacity:1}}.annotate-image-wrapper{display:inline-block;position:relative;text-align:left}.annotate-image{height:auto;max-width:100%}.annotate-point{bottom:0;left:0;pointer-events:none;top:0}.annotate-point,.popover-annotation{height:100%;position:absolute;width:100%}.hover-point{border-radius:50%;border-style:solid;border-width:1px;z-index:1}.hover-label{pointer-events:none;position:absolute;text-align:center;z-index:2}.hover-wrapper{align-items:center;background:transparent;display:inline-flex;justify-content:center;z-index:0}.legend-wrapper{height:100%;position:relative}.text-header{font-size:1.1em;font-weight:500;margin-top:1em}.image-wrapper{display:inline-block;padding:4px;text-align:center}.image-caption{display:block}.quiz-container[data-v-7a8f322c]{isolation:isolate;overflow:hidden}.intro-outro-card[data-v-7a8f322c]{transition:transform .35s ease-out,opacity .35s linear}.intro-outro-card-enter-active[data-v-7a8f322c],.intro-outro-card-leave-to[data-v-7a8f322c]{opacity:0}.intro-outro-card\u003e.card-body[data-v-7a8f322c]{align-items:center;display:flex;flex-direction:column;justify-content:center}.score[data-v-7a8f322c]{font-size:1.4rem;font-weight:700}.score-circle[data-v-7a8f322c]{stroke-dasharray:264;fill:none;stroke:rgba(132,215,255,.8);stroke-width:8;transition:stroke-dashoffset 1.5s ease-out,stroke 1.5s linear}.score-background-circle[data-v-7a8f322c]{fill:none;stroke:hsla(0,2%,89%,.5);stroke-width:8}.btn[data-v-7a8f322c]{border-radius:2em}.progress-bar-z[data-v-7a8f322c]{z-index:1}.result-icon[data-v-ae369d74]{align-items:center;border-radius:2em;border-style:solid;border-width:2px;display:inline-flex;height:2em;justify-content:center;width:2em}.question[data-v-ae369d74]{margin-bottom:1rem;transition:transform .35s ease-out,opacity .35s linear}.question-enter-active[data-v-ae369d74]{opacity:0;transform:translateY(-2%)}.question-leave-to[data-v-ae369d74]{opacity:0;transform:translateY(2%)}.q-btn[data-v-ae369d74]{border-radius:2.5em;transition:opacity .5s,transform .7s}.q-btn-enter[data-v-ae369d74]{opacity:0;transform:translateY(30px)}.q-btn-leave-to[data-v-ae369d74]{opacity:0;transform:translateX(calc(-100% - .25rem))}.q-btn-leave-active[data-v-ae369d74]{position:absolute}.card-header[data-v-ae369d74]{font-size:1.05em;font-weight:400}.answer[data-v-ae369d74]\u003e:last-child,.card-header[data-v-ae369d74]\u003e:last-child{margin-bottom:0}@keyframes shake-data-v-ae369d74{50%{transform:translate(-2px)}to{transform:translate(2px)}}.shake[data-v-ae369d74]{animation:shake-data-v-ae369d74 .15s;animation-iteration-count:1}textarea.form-control[data-v-ae369d74]{height:auto;margin-bottom:10px;min-height:75px}.fa-check[data-v-d09dfee8],.fa-times[data-v-d09dfee8]{font-size:1.2em}.content[data-v-d09dfee8] :last-child,.reason[data-v-d09dfee8] :last-child{margin-bottom:0}.reason[data-v-d09dfee8]{padding:0 .5rem}.checkbox-label[data-v-d09dfee8]{cursor:pointer}.form-control[data-v-d09dfee8]{cursor:pointer;height:auto;margin-bottom:10px}.form-control.danger\u003e.checkbox-label[data-v-d09dfee8],.form-control.danger[data-v-d09dfee8],.form-control.success\u003e.checkbox-label[data-v-d09dfee8],.form-control.success[data-v-d09dfee8]{cursor:default}.disabled[data-v-d09dfee8]{opacity:.9}.radio-svg[data-v-d09dfee8]{height:1em;vertical-align:text-top;width:1em}.checkbox[data-v-d09dfee8]{height:1em;margin-right:5px;vertical-align:middle;width:1em}.row[data-v-d09dfee8]{align-items:center;margin:.2rem 0 0}input.form-control[data-v-d09dfee8]{cursor:text;height:auto;margin-bottom:0;min-height:20px;width:50%}.blanks-keywords[data-v-d09dfee8],input.form-control[data-v-d09dfee8]:disabled{margin-bottom:.5rem}.blanks-form-control[data-v-d09dfee8]{border:none;cursor:default}.blanks-cross[data-v-d09dfee8]{margin-left:3px;margin-right:3px}.fa-hashtag[data-v-98afe086],.fa-key[data-v-98afe086]{padding-right:.2em}.mark[data-v-98afe086]{padding:0!important}.heading[data-v-98afe086]{padding:0 0 .1rem .2rem}.heading-text[data-v-98afe086]{display:inline-block;vertical-align:top;white-space:normal;width:92%;word-break:break-word}.keyword-text[data-v-98afe086]{font-size:smaller}.page-title[data-v-98afe086]{font-size:1.05rem;font-weight:700}.page-headings-separator[data-v-98afe086]{margin:.2rem 0}.dropdown[data-v-01e11c9b]{display:block}.form-control[data-v-01e11c9b]{max-width:25.4em;min-width:12.7em}@media screen and (max-width:878px) and (orientation:portrait){.form-control[data-v-01e11c9b]{max-width:16em;min-width:8em}}@media screen and (min-width:768px) and (max-width:878px) and (orientation:landscape){.form-control[data-v-01e11c9b]{max-width:18em;min-width:9em}}.table-active[data-v-01e11c9b]{background-color:rgba(0,0,0,.075)}.dropdown-menu-end[data-v-01e11c9b]{left:auto;right:0}.placeholder-div-hidden[data-v-01e11c9b]{border-bottom:0;border-top:0;height:0;overflow:hidden;padding-bottom:0;padding-top:0;visibility:hidden}.search-dropdown-menu{max-height:30em;min-width:30em;overflow-y:scroll}.dropdown-menu\u003eli\u003ea{cursor:pointer}@media screen and (max-width:768px){.search-dropdown-menu{max-height:30em;min-width:90vw;overflow-y:scroll}.dropdown-menu.search-dropdown-menu{position:absolute}}.tab-pane\u003ehr[data-v-661c1b61]{margin:0}.printable-tab-header[data-v-661c1b61],.tab-pane-hide[data-v-661c1b61]{display:none}@media print{.printable-tab-header[data-v-661c1b61]{border-bottom:1px solid #dee2e6;display:flex;margin-bottom:15px}.printable-tab-header\u003ediv[data-v-661c1b61]{margin-bottom:-2px}.printable-tab-pane[data-v-661c1b61]{display:block;padding:10px}}.nav-tabs[data-v-a785351c]{margin-bottom:15px}.printable-tab-group-header[data-v-a785351c]{display:none}@media print{.printable-tab-group[data-v-a785351c]{border:1px solid #dee2e6;border-radius:5px;margin:10px 0;padding:10px}.printable-tab-group-header[data-v-a785351c]{display:block;margin-bottom:10px;text-decoration:underline}}.nav-tabs[data-v-70a68808]{margin-bottom:15px}.tab-content[data-v-70a68808]{margin-bottom:1.5rem}@media print{.printable-tabs[data-v-70a68808]{border:1px solid #dee2e6;border-radius:5px;padding:20px}}.thumb-wrapper{display:inline-block;overflow:hidden;position:relative;text-align:center;vertical-align:middle}.thumb-circle{border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%}.thumb-image{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%)}.site-nav-root a.current{color:#0072ec}.site-nav-list{list-style-type:none;padding-left:0}.site-nav-default-list-item{cursor:pointer;display:flex;transition:background-color .08s}.site-nav-custom-list-item,.site-nav-default-list-item{color:#454545;padding:.5rem 0 0 2.8rem}.site-nav-list-item-0{font-size:1.2em;font-weight:500;padding:.5rem 0 .5rem .8rem}.site-nav-list-item-1{font-size:1.03em;padding:.4rem 0 .4rem 1.3rem}.site-nav-list-item-2{font-size:.89em;padding:.3rem 0 .3rem 1.8rem}.site-nav-list-item-3{font-size:.76em;padding:.2rem 0 .2rem 2.4rem}.site-nav-default-list-item:hover{background-color:rgba(214,233,255,.35)}.site-nav-default-list-item a{color:#454545;display:inline-block;height:100%}.site-nav-default-list-item:hover a{color:#000;text-decoration:none}.site-nav-dropdown-btn-container{align-content:center;display:flex;height:1.5em;justify-content:center;margin:0 .75rem 0 auto;width:2rem}.site-nav-dropdown-btn-icon{align-self:center;border-radius:1rem;display:inline-block;height:1.5em;padding:0;text-align:center;transform:rotate(0deg);-webkit-transform:rotate(0deg);transition:.4s;-webkit-transition:.4s;vertical-align:baseline;width:1.5em}.site-nav-dropdown-btn-icon:hover{background-color:#d8e3fb}.site-nav-rotate-icon{color:#4c7ff1;transform:rotate(-180deg);-webkit-transform:rotate(-180deg)}.site-nav-dropdown-container{background:transparent;max-height:0;overflow:hidden;transition:max-height .15s ease-out;-webkit-transition:max-height .15s ease-out}.site-nav-dropdown-container-open{max-height:1000px;transition:max-height .25s ease-in;-webkit-transition:max-height .25s ease-in}.nav-menu[data-v-1a3e7aee]{display:none;overflow-y:auto;padding:0 10px 20px;position:absolute;top:100%}.nav-menu-open[data-v-1a3e7aee]{background:#fff;clear:both;display:block!important;width:100%!important}.mb-mobile-nav[data-v-e6005420]{border:none!important;display:block!important;margin:0!important;max-width:100%!important;padding:10px!important;width:100%!important}.popover-container{max-height:50vh;max-width:276px;overflow:auto}.popover-body{font-size:.875rem}.v-popper{display:inline}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.9);font-size:.875rem;max-width:200px;padding:4px 8px;text-align:center}.modal{display:block}.modal-zoom{opacity:0;-webkit-transform:scale(.1);-moz-transform:scale(.1);-ms-transform:scale(.1);transform:scale(.1)}.modal-zoom,.modal-zoom-show{-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .3s}.modal-zoom-show{opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.scroll-top-button{bottom:20px;cursor:pointer;display:none;opacity:.4;position:fixed;right:30px;transition-duration:.25s;transition-property:opacity;z-index:99}.scroll-top-button.lighten{opacity:.15}@media (hover:hover){.scroll-top-button:hover{opacity:.7}}.scroll-top-button:active{opacity:1}:root{--sticky-header-height:0}a{text-decoration:none}blockquote{border-left:.25em solid #dfe2e5;color:#6a737d;padding:0 1rem}code{background:#f8f8f8;border-radius:3px;padding:.2em .4em;word-break:normal}mark code{background:#ffffffd4}pre.hljs\u003ecode{background:none}pre\u003ecode.hljs{-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:5px;counter-reset:line;width:100%}pre\u003ecode.hljs[heading]{border-top-right-radius:0}.code-block{position:relative}.code-block-heading{border-radius:6px 6px 0 0;float:right;font-size:85%;line-height:1;margin-top:5px;max-width:85%;overflow-wrap:break-word;padding:.25em .4em;text-align:right}.inline-markdown-heading{line-height:1.5}.code-block-content{clear:both;display:block}@media print{code.hljs.inline,pre\u003ecode.hljs{background:#f8f8ff;color:#333}code.hljs.inline{border:.5px solid #d4d4d4}code span.highlighted{background:#e6e6fa}}kbd{background-color:#fafbfc;border:1px solid #c6cbd1;border-bottom-color:#959da5;box-shadow:inset 0 -1px 0 #959da5;color:#444d56}.btn:active,.btn:focus{box-shadow:none!important;outline:none!important}code.hljs.inline{display:initial;padding:.2em .4em}.markbind-table{width:auto}.radio-list-item,.task-list-item{list-style-type:none;margin:0 0 0 -1.2em}.radio-list-item label{font-weight:inherit}.table-striped\u003etbody\u003etr:nth-of-type(2n),.table-striped\u003ethead{background-color:#fff}header[sticky]{position:sticky;top:0;transition:transform .3s ease-in-out;width:100%;z-index:1001}header[sticky].hide-header{transform:translateY(calc(var(--sticky-header-height)*-1))}span.anchor{position:relative;top:calc(var(--sticky-header-height)*-1 - 1rem)}#app{display:flex;flex-direction:column;min-height:100vh}footer{background-color:#f5f5f5;color:dimgrey;padding:10px 0}.dimmed{color:#777}.large{font-size:125%}.small{font-size:80%}.underline{text-decoration:underline}.mkb-text-red{color:red!important}.mkb-text-green{color:green!important}.mkb-text-blue{color:blue!important}.mkb-text-cyan{color:cyan!important}.mkb-text-magenta{color:#f0f!important}.mkb-text-yellow{color:#ff0!important}.mkb-text-black{color:#000!important}.mkb-text-white{color:#fff!important}@media (max-width:767.98px){.dropdown-menu\u003eli\u003ea{white-space:normal}.navbar-nav .open .dropdown-menu{background-color:#fff}}li.footnote-item:target{background-color:#eee}.hljs:not(.inline)\u003espan{display:block}.hljs:not(.inline).line-numbers\u003espan{padding:0 .5em 0 3.5em;position:relative}.hljs:not(.inline).line-numbers\u003espan:before{border-right:1px solid #ddd;color:#888;content:counter(line);counter-increment:line;display:inline-block;height:100%;left:0;margin-right:.5em;padding-right:.5em;position:absolute;text-align:right;top:0;width:3em}.trigger{border-bottom:1px dotted}.trigger-click{border-bottom:1px dashed;cursor:pointer}.trigger-click:focus{outline:none}pre{display:flex;position:relative}button.function-btn{border:1px solid #d7dadc;border-radius:5px;color:#a9a9a9;cursor:pointer;display:none;margin:.17rem;padding:.35rem;position:absolute;right:0;text-align:center;white-space:nowrap}button.function-btn+button.function-btn{right:36px}pre:hover\u003e.function-btn-container\u003ebutton.function-btn{display:block}.function-btn:hover{color:gray;transition:all .5s ease}.function-btn-body{align-items:center;display:flex}.function-btn svg{fill:currentColor}code.wrap{word-wrap:break-word;white-space:pre-wrap}.octicon{height:1em;width:1em}hr{background-color:transparent;border-top:1px solid rgba(0,0,0,.1);opacity:1}hr.dotted{border-top-style:dotted;border-top-width:.1rem}hr.double{border-top-style:double;border-top-width:.2rem}hr.dashed{border-top-style:dashed;border-top-width:.1rem}hr.thick{border-top-width:.15rem}hr.thick-1{border-top-width:.25rem}hr.thick-2{border-top-width:.5rem}hr.thick-3{border-top-width:.75rem}ol,ul{padding-left:1.5rem}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;scroll-margin-top:var(--sticky-header-height)}.block-embed{overflow-x:auto;position:relative;width:100%}.block-embed iframe{height:100%;left:0;position:absolute;top:0;width:100%}#mb-page-nav{padding:.8rem 12px 0}#mb-page-nav a:link,#mb-page-nav a:visited{color:#9b9b9b;text-decoration:none}#mb-page-nav a:hover{color:#000}#mb-page-nav a.active{background-color:transparent;color:#000}.page-nav-title{color:#000;display:block;padding-left:.5rem;white-space:inherit}.nested{margin-left:5%}.no-flex-wrap{flex-wrap:nowrap}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_AMS-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_AMS-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_AMS-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../fonts/KaTeX_Caligraphic-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_Caligraphic-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_Caligraphic-Bold.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Caligraphic-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Caligraphic-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Caligraphic-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../fonts/KaTeX_Fraktur-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_Fraktur-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_Fraktur-Bold.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Fraktur-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Fraktur-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Fraktur-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../fonts/KaTeX_Main-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_Main-Bold.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../fonts/KaTeX_Main-BoldItalic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-BoldItalic.woff) format(\"woff\"),url(../fonts/KaTeX_Main-BoldItalic.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../fonts/KaTeX_Main-Italic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-Italic.woff) format(\"woff\"),url(../fonts/KaTeX_Main-Italic.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Main-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Main-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../fonts/KaTeX_Math-BoldItalic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Math-BoldItalic.woff) format(\"woff\"),url(../fonts/KaTeX_Math-BoldItalic.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../fonts/KaTeX_Math-Italic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Math-Italic.woff) format(\"woff\"),url(../fonts/KaTeX_Math-Italic.ttf) format(\"truetype\")}@font-face{font-family:\"KaTeX_SansSerif\";font-style:normal;font-weight:700;src:url(../fonts/KaTeX_SansSerif-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_SansSerif-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_SansSerif-Bold.ttf) format(\"truetype\")}@font-face{font-family:\"KaTeX_SansSerif\";font-style:italic;font-weight:400;src:url(../fonts/KaTeX_SansSerif-Italic.woff2) format(\"woff2\"),url(../fonts/KaTeX_SansSerif-Italic.woff) format(\"woff\"),url(../fonts/KaTeX_SansSerif-Italic.ttf) format(\"truetype\")}@font-face{font-family:\"KaTeX_SansSerif\";font-style:normal;font-weight:400;src:url(../fonts/KaTeX_SansSerif-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_SansSerif-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_SansSerif-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Script-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Script-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Script-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size1-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size1-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size1-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size2-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size2-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size2-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size3-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size3-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size3-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size4-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size4-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size4-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Typewriter-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Typewriter-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Typewriter-Regular.ttf) format(\"truetype\")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:\"0.15.6\"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html\u003e.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist\u003espan{display:block;height:0;position:relative}.katex .vlist\u003espan\u003espan{display:inline-block}.katex .vlist\u003espan\u003e.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac\u003espan\u003espan{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap\u003e.inner,.katex .llap\u003e.inner,.katex .rlap\u003e.inner{position:absolute}.katex .clap\u003e.fix,.katex .llap\u003e.fix,.katex .rlap\u003e.fix{display:inline-block}.katex .llap\u003e.inner{right:0}.katex .clap\u003e.inner,.katex .rlap\u003e.inner{left:0}.katex .clap\u003e.inner\u003espan{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt\u003e.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1\u003espan{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4\u003espan{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent\u003e.vlist-t,.katex .op-limits\u003e.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c\u003e.vlist-t{text-align:center}.katex .mtable .col-align-l\u003e.vlist-t{text-align:left}.katex .mtable .col-align-r\u003e.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:\"\"}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:\"(\" counter(katexEqnNo) \")\";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:\"(\" counter(mmlEqnNo) \")\";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display\u003e.katex{display:block;text-align:center;white-space:nowrap}.katex-display\u003e.katex\u003e.katex-html{display:block;position:relative}.katex-display\u003e.katex\u003e.katex-html\u003e.tag{position:absolute;right:0}.katex-display.leqno\u003e.katex\u003e.katex-html\u003e.tag{left:0;right:auto}.katex-display.fleqn\u003e.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.katex{font-size:1em!important}eq{display:inline-block}eqn{display:block}section.eqno{align-content:space-between;align-items:center;display:flex;flex-direction:row}section.eqno\u003eeqn{margin-left:3em;width:100%}section.eqno\u003espan{text-align:right;width:3em}"}],"authorContributionMap":{"jingting1412":1}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/css/octicons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":".octicon {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" vertical-align: text-top;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" fill: currentColor;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" overflow: visible;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":6}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/fontawesome/css/all.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" * Copyright 2023 Fonticons, Inc."},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" */"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":".fa{font-family:var(--fa-style-family,\"Font Awesome 6 Free\");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:\"Font Awesome 6 Free\"}.fa-brands,.fab{font-family:\"Font Awesome 6 Brands\"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul\u003eli{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".fa-0:before{content:\"\\30\"}.fa-1:before{content:\"\\31\"}.fa-2:before{content:\"\\32\"}.fa-3:before{content:\"\\33\"}.fa-4:before{content:\"\\34\"}.fa-5:before{content:\"\\35\"}.fa-6:before{content:\"\\36\"}.fa-7:before{content:\"\\37\"}.fa-8:before{content:\"\\38\"}.fa-9:before{content:\"\\39\"}.fa-fill-drip:before{content:\"\\f576\"}.fa-arrows-to-circle:before{content:\"\\e4bd\"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:\"\\f138\"}.fa-at:before{content:\"\\40\"}.fa-trash-alt:before,.fa-trash-can:before{content:\"\\f2ed\"}.fa-text-height:before{content:\"\\f034\"}.fa-user-times:before,.fa-user-xmark:before{content:\"\\f235\"}.fa-stethoscope:before{content:\"\\f0f1\"}.fa-comment-alt:before,.fa-message:before{content:\"\\f27a\"}.fa-info:before{content:\"\\f129\"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:\"\\f422\"}.fa-explosion:before{content:\"\\e4e9\"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:\"\\f15c\"}.fa-wave-square:before{content:\"\\f83e\"}.fa-ring:before{content:\"\\f70b\"}.fa-building-un:before{content:\"\\e4d9\"}.fa-dice-three:before{content:\"\\f527\"}.fa-calendar-alt:before,.fa-calendar-days:before{content:\"\\f073\"}.fa-anchor-circle-check:before{content:\"\\e4aa\"}.fa-building-circle-arrow-right:before{content:\"\\e4d1\"}.fa-volleyball-ball:before,.fa-volleyball:before{content:\"\\f45f\"}.fa-arrows-up-to-line:before{content:\"\\e4c2\"}.fa-sort-desc:before,.fa-sort-down:before{content:\"\\f0dd\"}.fa-circle-minus:before,.fa-minus-circle:before{content:\"\\f056\"}.fa-door-open:before{content:\"\\f52b\"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:\"\\f2f5\"}.fa-atom:before{content:\"\\f5d2\"}.fa-soap:before{content:\"\\e06e\"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:\"\\f86d\"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:\"\\f539\"}.fa-bridge-circle-check:before{content:\"\\e4c9\"}.fa-pump-medical:before{content:\"\\e06a\"}.fa-fingerprint:before{content:\"\\f577\"}.fa-hand-point-right:before{content:\"\\f0a4\"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:\"\\f689\"}.fa-forward-step:before,.fa-step-forward:before{content:\"\\f051\"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:\"\\f5b8\"}.fa-flag-checkered:before{content:\"\\f11e\"}.fa-football-ball:before,.fa-football:before{content:\"\\f44e\"}.fa-school-circle-exclamation:before{content:\"\\e56c\"}.fa-crop:before{content:\"\\f125\"}.fa-angle-double-down:before,.fa-angles-down:before{content:\"\\f103\"}.fa-users-rectangle:before{content:\"\\e594\"}.fa-people-roof:before{content:\"\\e537\"}.fa-people-line:before{content:\"\\e534\"}.fa-beer-mug-empty:before,.fa-beer:before{content:\"\\f0fc\"}.fa-diagram-predecessor:before{content:\"\\e477\"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:\"\\f176\"}.fa-burn:before,.fa-fire-flame-simple:before{content:\"\\f46a\"}.fa-male:before,.fa-person:before{content:\"\\f183\"}.fa-laptop:before{content:\"\\f109\"}.fa-file-csv:before{content:\"\\f6dd\"}.fa-menorah:before{content:\"\\f676\"}.fa-truck-plane:before{content:\"\\e58f\"}.fa-record-vinyl:before{content:\"\\f8d9\"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:\"\\f587\"}.fa-bong:before{content:\"\\f55c\"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:\"\\f67b\"}.fa-arrow-down-up-across-line:before{content:\"\\e4af\"}.fa-spoon:before,.fa-utensil-spoon:before{content:\"\\f2e5\"}.fa-jar-wheat:before{content:\"\\e517\"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:\"\\f674\"}.fa-file-circle-exclamation:before{content:\"\\e4eb\"}.fa-circle-h:before,.fa-hospital-symbol:before{content:\"\\f47e\"}.fa-pager:before{content:\"\\f815\"}.fa-address-book:before,.fa-contact-book:before{content:\"\\f2b9\"}.fa-strikethrough:before{content:\"\\f0cc\"}.fa-k:before{content:\"\\4b\"}.fa-landmark-flag:before{content:\"\\e51c\"}.fa-pencil-alt:before,.fa-pencil:before{content:\"\\f303\"}.fa-backward:before{content:\"\\f04a\"}.fa-caret-right:before{content:\"\\f0da\"}.fa-comments:before{content:\"\\f086\"}.fa-file-clipboard:before,.fa-paste:before{content:\"\\f0ea\"}.fa-code-pull-request:before{content:\"\\e13c\"}.fa-clipboard-list:before{content:\"\\f46d\"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:\"\\f4de\"}.fa-user-check:before{content:\"\\f4fc\"}.fa-vial-virus:before{content:\"\\e597\"}.fa-sheet-plastic:before{content:\"\\e571\"}.fa-blog:before{content:\"\\f781\"}.fa-user-ninja:before{content:\"\\f504\"}.fa-person-arrow-up-from-line:before{content:\"\\e539\"}.fa-scroll-torah:before,.fa-torah:before{content:\"\\f6a0\"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:\"\\f458\"}.fa-toggle-off:before{content:\"\\f204\"}.fa-archive:before,.fa-box-archive:before{content:\"\\f187\"}.fa-person-drowning:before{content:\"\\e545\"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:\"\\f886\"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:\"\\f58a\"}.fa-spray-can:before{content:\"\\f5bd\"}.fa-truck-monster:before{content:\"\\f63b\"}.fa-w:before{content:\"\\57\"}.fa-earth-africa:before,.fa-globe-africa:before{content:\"\\f57c\"}.fa-rainbow:before{content:\"\\f75b\"}.fa-circle-notch:before{content:\"\\f1ce\"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:\"\\f3fa\"}.fa-paw:before{content:\"\\f1b0\"}.fa-cloud:before{content:\"\\f0c2\"}.fa-trowel-bricks:before{content:\"\\e58a\"}.fa-face-flushed:before,.fa-flushed:before{content:\"\\f579\"}.fa-hospital-user:before{content:\"\\f80d\"}.fa-tent-arrow-left-right:before{content:\"\\e57f\"}.fa-gavel:before,.fa-legal:before{content:\"\\f0e3\"}.fa-binoculars:before{content:\"\\f1e5\"}.fa-microphone-slash:before{content:\"\\f131\"}.fa-box-tissue:before{content:\"\\e05b\"}.fa-motorcycle:before{content:\"\\f21c\"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:\"\\f562\"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:\"\\f5ae\"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:\"\\e068\"}.fa-mars-and-venus-burst:before{content:\"\\e523\"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:\"\\f152\"}.fa-cut:before,.fa-scissors:before{content:\"\\f0c4\"}.fa-sun-plant-wilt:before{content:\"\\e57a\"}.fa-toilets-portable:before{content:\"\\e584\"}.fa-hockey-puck:before{content:\"\\f453\"}.fa-table:before{content:\"\\f0ce\"}.fa-magnifying-glass-arrow-right:before{content:\"\\e521\"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:\"\\f566\"}.fa-users-slash:before{content:\"\\e073\"}.fa-clover:before{content:\"\\e139\"}.fa-mail-reply:before,.fa-reply:before{content:\"\\f3e5\"}.fa-star-and-crescent:before{content:\"\\f699\"}.fa-house-fire:before{content:\"\\e50c\"}.fa-minus-square:before,.fa-square-minus:before{content:\"\\f146\"}.fa-helicopter:before{content:\"\\f533\"}.fa-compass:before{content:\"\\f14e\"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:\"\\f150\"}.fa-file-circle-question:before{content:\"\\e4ef\"}.fa-laptop-code:before{content:\"\\f5fc\"}.fa-swatchbook:before{content:\"\\f5c3\"}.fa-prescription-bottle:before{content:\"\\f485\"}.fa-bars:before,.fa-navicon:before{content:\"\\f0c9\"}.fa-people-group:before{content:\"\\e533\"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:\"\\f253\"}.fa-heart-broken:before,.fa-heart-crack:before{content:\"\\f7a9\"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:\"\\f360\"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:\"\\f597\"}.fa-film:before{content:\"\\f008\"}.fa-ruler-horizontal:before{content:\"\\f547\"}.fa-people-robbery:before{content:\"\\e536\"}.fa-lightbulb:before{content:\"\\f0eb\"}.fa-caret-left:before{content:\"\\f0d9\"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:\"\\f06a\"}.fa-school-circle-xmark:before{content:\"\\e56d\"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:\"\\f08b\"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:\"\\f13a\"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:\"\\f13e\"}.fa-cloud-showers-heavy:before{content:\"\\f740\"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:\"\\f58f\"}.fa-sitemap:before{content:\"\\f0e8\"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:\"\\f4b9\"}.fa-memory:before{content:\"\\f538\"}.fa-road-spikes:before{content:\"\\e568\"}.fa-fire-burner:before{content:\"\\e4f1\"}.fa-flag:before{content:\"\\f024\"}.fa-hanukiah:before{content:\"\\f6e6\"}.fa-feather:before{content:\"\\f52d\"}.fa-volume-down:before,.fa-volume-low:before{content:\"\\f027\"}.fa-comment-slash:before{content:\"\\f4b3\"}.fa-cloud-sun-rain:before{content:\"\\f743\"}.fa-compress:before{content:\"\\f066\"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:\"\\e2cd\"}.fa-ankh:before{content:\"\\f644\"}.fa-hands-holding-child:before{content:\"\\e4fa\"}.fa-asterisk:before{content:\"\\2a\"}.fa-check-square:before,.fa-square-check:before{content:\"\\f14a\"}.fa-peseta-sign:before{content:\"\\e221\"}.fa-header:before,.fa-heading:before{content:\"\\f1dc\"}.fa-ghost:before{content:\"\\f6e2\"}.fa-list-squares:before,.fa-list:before{content:\"\\f03a\"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:\"\\f87b\"}.fa-cart-plus:before{content:\"\\f217\"}.fa-gamepad:before{content:\"\\f11b\"}.fa-circle-dot:before,.fa-dot-circle:before{content:\"\\f192\"}.fa-dizzy:before,.fa-face-dizzy:before{content:\"\\f567\"}.fa-egg:before{content:\"\\f7fb\"}.fa-house-medical-circle-xmark:before{content:\"\\e513\"}.fa-campground:before{content:\"\\f6bb\"}.fa-folder-plus:before{content:\"\\f65e\"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:\"\\f1e3\"}.fa-paint-brush:before,.fa-paintbrush:before{content:\"\\f1fc\"}.fa-lock:before{content:\"\\f023\"}.fa-gas-pump:before{content:\"\\f52f\"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:\"\\f593\"}.fa-map-location:before,.fa-map-marked:before{content:\"\\f59f\"}.fa-house-flood-water:before{content:\"\\e50e\"}.fa-tree:before{content:\"\\f1bb\"}.fa-bridge-lock:before{content:\"\\e4cc\"}.fa-sack-dollar:before{content:\"\\f81d\"}.fa-edit:before,.fa-pen-to-square:before{content:\"\\f044\"}.fa-car-side:before{content:\"\\f5e4\"}.fa-share-alt:before,.fa-share-nodes:before{content:\"\\f1e0\"}.fa-heart-circle-minus:before{content:\"\\e4ff\"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:\"\\f252\"}.fa-microscope:before{content:\"\\f610\"}.fa-sink:before{content:\"\\e06d\"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:\"\\f290\"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:\"\\f881\"}.fa-mitten:before{content:\"\\f7b5\"}.fa-person-rays:before{content:\"\\e54d\"}.fa-users:before{content:\"\\f0c0\"}.fa-eye-slash:before{content:\"\\f070\"}.fa-flask-vial:before{content:\"\\e4f3\"}.fa-hand-paper:before,.fa-hand:before{content:\"\\f256\"}.fa-om:before{content:\"\\f679\"}.fa-worm:before{content:\"\\e599\"}.fa-house-circle-xmark:before{content:\"\\e50b\"}.fa-plug:before{content:\"\\f1e6\"}.fa-chevron-up:before{content:\"\\f077\"}.fa-hand-spock:before{content:\"\\f259\"}.fa-stopwatch:before{content:\"\\f2f2\"}.fa-face-kiss:before,.fa-kiss:before{content:\"\\f596\"}.fa-bridge-circle-xmark:before{content:\"\\e4cb\"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:\"\\f589\"}.fa-chess-bishop:before{content:\"\\f43a\"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:\"\\f58c\"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:\"\\f2a4\"}.fa-road-circle-check:before{content:\"\\e564\"}.fa-dice-five:before{content:\"\\f523\"}.fa-rss-square:before,.fa-square-rss:before{content:\"\\f143\"}.fa-land-mine-on:before{content:\"\\e51b\"}.fa-i-cursor:before{content:\"\\f246\"}.fa-stamp:before{content:\"\\f5bf\"}.fa-stairs:before{content:\"\\e289\"}.fa-i:before{content:\"\\49\"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:\"\\f6f2\"}.fa-pills:before{content:\"\\f484\"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:\"\\f581\"}.fa-tooth:before{content:\"\\f5c9\"}.fa-v:before{content:\"\\56\"}.fa-bangladeshi-taka-sign:before{content:\"\\e2e6\"}.fa-bicycle:before{content:\"\\f206\"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:\"\\e579\"}.fa-head-side-cough-slash:before{content:\"\\e062\"}.fa-ambulance:before,.fa-truck-medical:before{content:\"\\f0f9\"}.fa-wheat-awn-circle-exclamation:before{content:\"\\e598\"}.fa-snowman:before{content:\"\\f7d0\"}.fa-mortar-pestle:before{content:\"\\f5a7\"}.fa-road-barrier:before{content:\"\\e562\"}.fa-school:before{content:\"\\f549\"}.fa-igloo:before{content:\"\\f7ae\"}.fa-joint:before{content:\"\\f595\"}.fa-angle-right:before{content:\"\\f105\"}.fa-horse:before{content:\"\\f6f0\"}.fa-q:before{content:\"\\51\"}.fa-g:before{content:\"\\47\"}.fa-notes-medical:before{content:\"\\f481\"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:\"\\f2c9\"}.fa-dong-sign:before{content:\"\\e169\"}.fa-capsules:before{content:\"\\f46b\"}.fa-poo-bolt:before,.fa-poo-storm:before{content:\"\\f75a\"}.fa-face-frown-open:before,.fa-frown-open:before{content:\"\\f57a\"}.fa-hand-point-up:before{content:\"\\f0a6\"}.fa-money-bill:before{content:\"\\f0d6\"}.fa-bookmark:before{content:\"\\f02e\"}.fa-align-justify:before{content:\"\\f039\"}.fa-umbrella-beach:before{content:\"\\f5ca\"}.fa-helmet-un:before{content:\"\\e503\"}.fa-bullseye:before{content:\"\\f140\"}.fa-bacon:before{content:\"\\f7e5\"}.fa-hand-point-down:before{content:\"\\f0a7\"}.fa-arrow-up-from-bracket:before{content:\"\\e09a\"}.fa-folder-blank:before,.fa-folder:before{content:\"\\f07b\"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:\"\\f478\"}.fa-radiation:before{content:\"\\f7b9\"}.fa-chart-simple:before{content:\"\\e473\"}.fa-mars-stroke:before{content:\"\\f229\"}.fa-vial:before{content:\"\\f492\"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:\"\\f624\"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:\"\\e2ca\"}.fa-e:before{content:\"\\45\"}.fa-pen-alt:before,.fa-pen-clip:before{content:\"\\f305\"}.fa-bridge-circle-exclamation:before{content:\"\\e4ca\"}.fa-user:before{content:\"\\f007\"}.fa-school-circle-check:before{content:\"\\e56b\"}.fa-dumpster:before{content:\"\\f793\"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:\"\\f5b6\"}.fa-building-user:before{content:\"\\e4da\"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:\"\\f191\"}.fa-highlighter:before{content:\"\\f591\"}.fa-key:before{content:\"\\f084\"}.fa-bullhorn:before{content:\"\\f0a1\"}.fa-globe:before{content:\"\\f0ac\"}.fa-synagogue:before{content:\"\\f69b\"}.fa-person-half-dress:before{content:\"\\e548\"}.fa-road-bridge:before{content:\"\\e563\"}.fa-location-arrow:before{content:\"\\f124\"}.fa-c:before{content:\"\\43\"}.fa-tablet-button:before{content:\"\\f10a\"}.fa-building-lock:before{content:\"\\e4d6\"}.fa-pizza-slice:before{content:\"\\f818\"}.fa-money-bill-wave:before{content:\"\\f53a\"}.fa-area-chart:before,.fa-chart-area:before{content:\"\\f1fe\"}.fa-house-flag:before{content:\"\\e50d\"}.fa-person-circle-minus:before{content:\"\\e540\"}.fa-ban:before,.fa-cancel:before{content:\"\\f05e\"}.fa-camera-rotate:before{content:\"\\e0d8\"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:\"\\f5d0\"}.fa-star:before{content:\"\\f005\"}.fa-repeat:before{content:\"\\f363\"}.fa-cross:before{content:\"\\f654\"}.fa-box:before{content:\"\\f466\"}.fa-venus-mars:before{content:\"\\f228\"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:\"\\f245\"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:\"\\f31e\"}.fa-charging-station:before{content:\"\\f5e7\"}.fa-shapes:before,.fa-triangle-circle-square:before{content:\"\\f61f\"}.fa-random:before,.fa-shuffle:before{content:\"\\f074\"}.fa-person-running:before,.fa-running:before{content:\"\\f70c\"}.fa-mobile-retro:before{content:\"\\e527\"}.fa-grip-lines-vertical:before{content:\"\\f7a5\"}.fa-spider:before{content:\"\\f717\"}.fa-hands-bound:before{content:\"\\e4f9\"}.fa-file-invoice-dollar:before{content:\"\\f571\"}.fa-plane-circle-exclamation:before{content:\"\\e556\"}.fa-x-ray:before{content:\"\\f497\"}.fa-spell-check:before{content:\"\\f891\"}.fa-slash:before{content:\"\\f715\"}.fa-computer-mouse:before,.fa-mouse:before{content:\"\\f8cc\"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:\"\\f090\"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:\"\\e070\"}.fa-server:before{content:\"\\f233\"}.fa-virus-covid-slash:before{content:\"\\e4a9\"}.fa-shop-lock:before{content:\"\\e4a5\"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:\"\\f251\"}.fa-blender-phone:before{content:\"\\f6b6\"}.fa-building-wheat:before{content:\"\\e4db\"}.fa-person-breastfeeding:before{content:\"\\e53a\"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:\"\\f2f6\"}.fa-venus:before{content:\"\\f221\"}.fa-passport:before{content:\"\\f5ab\"}.fa-heart-pulse:before,.fa-heartbeat:before{content:\"\\f21e\"}.fa-people-carry-box:before,.fa-people-carry:before{content:\"\\f4ce\"}.fa-temperature-high:before{content:\"\\f769\"}.fa-microchip:before{content:\"\\f2db\"}.fa-crown:before{content:\"\\f521\"}.fa-weight-hanging:before{content:\"\\f5cd\"}.fa-xmarks-lines:before{content:\"\\e59a\"}.fa-file-prescription:before{content:\"\\f572\"}.fa-weight-scale:before,.fa-weight:before{content:\"\\f496\"}.fa-user-friends:before,.fa-user-group:before{content:\"\\f500\"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:\"\\f15e\"}.fa-chess-knight:before{content:\"\\f441\"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:\"\\f59b\"}.fa-wheelchair:before{content:\"\\f193\"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:\"\\f0aa\"}.fa-toggle-on:before{content:\"\\f205\"}.fa-person-walking:before,.fa-walking:before{content:\"\\f554\"}.fa-l:before{content:\"\\4c\"}.fa-fire:before{content:\"\\f06d\"}.fa-bed-pulse:before,.fa-procedures:before{content:\"\\f487\"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:\"\\f197\"}.fa-face-laugh:before,.fa-laugh:before{content:\"\\f599\"}.fa-folder-open:before{content:\"\\f07c\"}.fa-heart-circle-plus:before{content:\"\\e500\"}.fa-code-fork:before{content:\"\\e13b\"}.fa-city:before{content:\"\\f64f\"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:\"\\f3c9\"}.fa-pepper-hot:before{content:\"\\f816\"}.fa-unlock:before{content:\"\\f09c\"}.fa-colon-sign:before{content:\"\\e140\"}.fa-headset:before{content:\"\\f590\"}.fa-store-slash:before{content:\"\\e071\"}.fa-road-circle-xmark:before{content:\"\\e566\"}.fa-user-minus:before{content:\"\\f503\"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:\"\\f22a\"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:\"\\f79f\"}.fa-clipboard:before{content:\"\\f328\"}.fa-house-circle-exclamation:before{content:\"\\e50a\"}.fa-file-arrow-up:before,.fa-file-upload:before{content:\"\\f574\"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:\"\\f1eb\"}.fa-bath:before,.fa-bathtub:before{content:\"\\f2cd\"}.fa-underline:before{content:\"\\f0cd\"}.fa-user-edit:before,.fa-user-pen:before{content:\"\\f4ff\"}.fa-signature:before{content:\"\\f5b7\"}.fa-stroopwafel:before{content:\"\\f551\"}.fa-bold:before{content:\"\\f032\"}.fa-anchor-lock:before{content:\"\\e4ad\"}.fa-building-ngo:before{content:\"\\e4d7\"}.fa-manat-sign:before{content:\"\\e1d5\"}.fa-not-equal:before{content:\"\\f53e\"}.fa-border-style:before,.fa-border-top-left:before{content:\"\\f853\"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:\"\\f5a0\"}.fa-jedi:before{content:\"\\f669\"}.fa-poll:before,.fa-square-poll-vertical:before{content:\"\\f681\"}.fa-mug-hot:before{content:\"\\f7b6\"}.fa-battery-car:before,.fa-car-battery:before{content:\"\\f5df\"}.fa-gift:before{content:\"\\f06b\"}.fa-dice-two:before{content:\"\\f528\"}.fa-chess-queen:before{content:\"\\f445\"}.fa-glasses:before{content:\"\\f530\"}.fa-chess-board:before{content:\"\\f43c\"}.fa-building-circle-check:before{content:\"\\e4d2\"}.fa-person-chalkboard:before{content:\"\\e53d\"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:\"\\f22b\"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:\"\\f255\"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:\"\\f151\"}.fa-cloud-showers-water:before{content:\"\\e4e4\"}.fa-bar-chart:before,.fa-chart-bar:before{content:\"\\f080\"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:\"\\e05e\"}.fa-less-than-equal:before{content:\"\\f537\"}.fa-train:before{content:\"\\f238\"}.fa-eye-low-vision:before,.fa-low-vision:before{content:\"\\f2a8\"}.fa-crow:before{content:\"\\f520\"}.fa-sailboat:before{content:\"\\e445\"}.fa-window-restore:before{content:\"\\f2d2\"}.fa-plus-square:before,.fa-square-plus:before{content:\"\\f0fe\"}.fa-torii-gate:before{content:\"\\f6a1\"}.fa-frog:before{content:\"\\f52e\"}.fa-bucket:before{content:\"\\e4cf\"}.fa-image:before{content:\"\\f03e\"}.fa-microphone:before{content:\"\\f130\"}.fa-cow:before{content:\"\\f6c8\"}.fa-caret-up:before{content:\"\\f0d8\"}.fa-screwdriver:before{content:\"\\f54a\"}.fa-folder-closed:before{content:\"\\e185\"}.fa-house-tsunami:before{content:\"\\e515\"}.fa-square-nfi:before{content:\"\\e576\"}.fa-arrow-up-from-ground-water:before{content:\"\\e4b5\"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:\"\\f57b\"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:\"\\f2ea\"}.fa-columns:before,.fa-table-columns:before{content:\"\\f0db\"}.fa-lemon:before{content:\"\\f094\"}.fa-head-side-mask:before{content:\"\\e063\"}.fa-handshake:before{content:\"\\f2b5\"}.fa-gem:before{content:\"\\f3a5\"}.fa-dolly-box:before,.fa-dolly:before{content:\"\\f472\"}.fa-smoking:before{content:\"\\f48d\"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:\"\\f78c\"}.fa-monument:before{content:\"\\f5a6\"}.fa-snowplow:before{content:\"\\f7d2\"}.fa-angle-double-right:before,.fa-angles-right:before{content:\"\\f101\"}.fa-cannabis:before{content:\"\\f55f\"}.fa-circle-play:before,.fa-play-circle:before{content:\"\\f144\"}.fa-tablets:before{content:\"\\f490\"}.fa-ethernet:before{content:\"\\f796\"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:\"\\f153\"}.fa-chair:before{content:\"\\f6c0\"}.fa-check-circle:before,.fa-circle-check:before{content:\"\\f058\"}.fa-circle-stop:before,.fa-stop-circle:before{content:\"\\f28d\"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:\"\\f568\"}.fa-plate-wheat:before{content:\"\\e55a\"}.fa-icicles:before{content:\"\\f7ad\"}.fa-person-shelter:before{content:\"\\e54f\"}.fa-neuter:before{content:\"\\f22c\"}.fa-id-badge:before{content:\"\\f2c1\"}.fa-marker:before{content:\"\\f5a1\"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:\"\\f59a\"}.fa-helicopter-symbol:before{content:\"\\e502\"}.fa-universal-access:before{content:\"\\f29a\"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:\"\\f139\"}.fa-lari-sign:before{content:\"\\e1c8\"}.fa-volcano:before{content:\"\\f770\"}.fa-person-walking-dashed-line-arrow-right:before{content:\"\\e553\"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:\"\\f154\"}.fa-viruses:before{content:\"\\e076\"}.fa-square-person-confined:before{content:\"\\e577\"}.fa-user-tie:before{content:\"\\f508\"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:\"\\f175\"}.fa-tent-arrow-down-to-line:before{content:\"\\e57e\"}.fa-certificate:before{content:\"\\f0a3\"}.fa-mail-reply-all:before,.fa-reply-all:before{content:\"\\f122\"}.fa-suitcase:before{content:\"\\f0f2\"}.fa-person-skating:before,.fa-skating:before{content:\"\\f7c5\"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:\"\\f662\"}.fa-camera-retro:before{content:\"\\f083\"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:\"\\f0ab\"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:\"\\f56f\"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:\"\\f14c\"}.fa-box-open:before{content:\"\\f49e\"}.fa-scroll:before{content:\"\\f70e\"}.fa-spa:before{content:\"\\f5bb\"}.fa-location-pin-lock:before{content:\"\\e51f\"}.fa-pause:before{content:\"\\f04c\"}.fa-hill-avalanche:before{content:\"\\e507\"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:\"\\f2cb\"}.fa-bomb:before{content:\"\\f1e2\"}.fa-registered:before{content:\"\\f25d\"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:\"\\f2bb\"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:\"\\f516\"}.fa-subscript:before{content:\"\\f12c\"}.fa-diamond-turn-right:before,.fa-directions:before{content:\"\\f5eb\"}.fa-burst:before{content:\"\\e4dc\"}.fa-house-laptop:before,.fa-laptop-house:before{content:\"\\e066\"}.fa-face-tired:before,.fa-tired:before{content:\"\\f5c8\"}.fa-money-bills:before{content:\"\\e1f3\"}.fa-smog:before{content:\"\\f75f\"}.fa-crutch:before{content:\"\\f7f7\"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:\"\\f0ee\"}.fa-palette:before{content:\"\\f53f\"}.fa-arrows-turn-right:before{content:\"\\e4c0\"}.fa-vest:before{content:\"\\e085\"}.fa-ferry:before{content:\"\\e4ea\"}.fa-arrows-down-to-people:before{content:\"\\e4b9\"}.fa-seedling:before,.fa-sprout:before{content:\"\\f4d8\"}.fa-arrows-alt-h:before,.fa-left-right:before{content:\"\\f337\"}.fa-boxes-packing:before{content:\"\\e4c7\"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:\"\\f0a8\"}.fa-group-arrows-rotate:before{content:\"\\e4f6\"}.fa-bowl-food:before{content:\"\\e4c6\"}.fa-candy-cane:before{content:\"\\f786\"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:\"\\f160\"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:\"\\f76c\"}.fa-remove-format:before,.fa-text-slash:before{content:\"\\f87d\"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:\"\\f4da\"}.fa-file-word:before{content:\"\\f1c2\"}.fa-file-powerpoint:before{content:\"\\f1c4\"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:\"\\f07e\"}.fa-house-lock:before{content:\"\\e510\"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:\"\\f0ed\"}.fa-children:before{content:\"\\e4e1\"}.fa-blackboard:before,.fa-chalkboard:before{content:\"\\f51b\"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:\"\\f4fa\"}.fa-envelope-open:before{content:\"\\f2b6\"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:\"\\e05f\"}.fa-mattress-pillow:before{content:\"\\e525\"}.fa-guarani-sign:before{content:\"\\e19a\"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:\"\\f021\"}.fa-fire-extinguisher:before{content:\"\\f134\"}.fa-cruzeiro-sign:before{content:\"\\e152\"}.fa-greater-than-equal:before{content:\"\\f532\"}.fa-shield-alt:before,.fa-shield-halved:before{content:\"\\f3ed\"}.fa-atlas:before,.fa-book-atlas:before{content:\"\\f558\"}.fa-virus:before{content:\"\\e074\"}.fa-envelope-circle-check:before{content:\"\\e4e8\"}.fa-layer-group:before{content:\"\\f5fd\"}.fa-arrows-to-dot:before{content:\"\\e4be\"}.fa-archway:before{content:\"\\f557\"}.fa-heart-circle-check:before{content:\"\\e4fd\"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:\"\\f6f1\"}.fa-file-archive:before,.fa-file-zipper:before{content:\"\\f1c6\"}.fa-square:before{content:\"\\f0c8\"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:\"\\f000\"}.fa-couch:before{content:\"\\f4b8\"}.fa-cedi-sign:before{content:\"\\e0df\"}.fa-italic:before{content:\"\\f033\"}.fa-church:before{content:\"\\f51d\"}.fa-comments-dollar:before{content:\"\\f653\"}.fa-democrat:before{content:\"\\f747\"}.fa-z:before{content:\"\\5a\"}.fa-person-skiing:before,.fa-skiing:before{content:\"\\f7c9\"}.fa-road-lock:before{content:\"\\e567\"}.fa-a:before{content:\"\\41\"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:\"\\e03f\"}.fa-feather-alt:before,.fa-feather-pointed:before{content:\"\\f56b\"}.fa-p:before{content:\"\\50\"}.fa-snowflake:before{content:\"\\f2dc\"}.fa-newspaper:before{content:\"\\f1ea\"}.fa-ad:before,.fa-rectangle-ad:before{content:\"\\f641\"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:\"\\f0a9\"}.fa-filter-circle-xmark:before{content:\"\\e17b\"}.fa-locust:before{content:\"\\e520\"}.fa-sort:before,.fa-unsorted:before{content:\"\\f0dc\"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:\"\\f0cb\"}.fa-person-dress-burst:before{content:\"\\e544\"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:\"\\f53d\"}.fa-vector-square:before{content:\"\\f5cb\"}.fa-bread-slice:before{content:\"\\f7ec\"}.fa-language:before{content:\"\\f1ab\"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:\"\\f598\"}.fa-filter:before{content:\"\\f0b0\"}.fa-question:before{content:\"\\3f\"}.fa-file-signature:before{content:\"\\f573\"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:\"\\f0b2\"}.fa-house-chimney-user:before{content:\"\\e065\"}.fa-hand-holding-heart:before{content:\"\\f4be\"}.fa-puzzle-piece:before{content:\"\\f12e\"}.fa-money-check:before{content:\"\\f53c\"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:\"\\f5c0\"}.fa-code:before{content:\"\\f121\"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:\"\\f7a0\"}.fa-building-circle-exclamation:before{content:\"\\e4d3\"}.fa-magnifying-glass-chart:before{content:\"\\e522\"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:\"\\f08e\"}.fa-cubes-stacked:before{content:\"\\e4e6\"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:\"\\f159\"}.fa-virus-covid:before{content:\"\\e4a8\"}.fa-austral-sign:before{content:\"\\e0a9\"}.fa-f:before{content:\"\\46\"}.fa-leaf:before{content:\"\\f06c\"}.fa-road:before{content:\"\\f018\"}.fa-cab:before,.fa-taxi:before{content:\"\\f1ba\"}.fa-person-circle-plus:before{content:\"\\e541\"}.fa-chart-pie:before,.fa-pie-chart:before{content:\"\\f200\"}.fa-bolt-lightning:before{content:\"\\e0b7\"}.fa-sack-xmark:before{content:\"\\e56a\"}.fa-file-excel:before{content:\"\\f1c3\"}.fa-file-contract:before{content:\"\\f56c\"}.fa-fish-fins:before{content:\"\\e4f2\"}.fa-building-flag:before{content:\"\\e4d5\"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:\"\\f582\"}.fa-object-ungroup:before{content:\"\\f248\"}.fa-poop:before{content:\"\\f619\"}.fa-location-pin:before,.fa-map-marker:before{content:\"\\f041\"}.fa-kaaba:before{content:\"\\f66b\"}.fa-toilet-paper:before{content:\"\\f71e\"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:\"\\f807\"}.fa-eject:before{content:\"\\f052\"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:\"\\f35a\"}.fa-plane-circle-check:before{content:\"\\e555\"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:\"\\f5a5\"}.fa-object-group:before{content:\"\\f247\"}.fa-chart-line:before,.fa-line-chart:before{content:\"\\f201\"}.fa-mask-ventilator:before{content:\"\\e524\"}.fa-arrow-right:before{content:\"\\f061\"}.fa-map-signs:before,.fa-signs-post:before{content:\"\\f277\"}.fa-cash-register:before{content:\"\\f788\"}.fa-person-circle-question:before{content:\"\\e542\"}.fa-h:before{content:\"\\48\"}.fa-tarp:before{content:\"\\e57b\"}.fa-screwdriver-wrench:before,.fa-tools:before{content:\"\\f7d9\"}.fa-arrows-to-eye:before{content:\"\\e4bf\"}.fa-plug-circle-bolt:before{content:\"\\e55b\"}.fa-heart:before{content:\"\\f004\"}.fa-mars-and-venus:before{content:\"\\f224\"}.fa-home-user:before,.fa-house-user:before{content:\"\\e1b0\"}.fa-dumpster-fire:before{content:\"\\f794\"}.fa-house-crack:before{content:\"\\e3b1\"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:\"\\f561\"}.fa-face-surprise:before,.fa-surprise:before{content:\"\\f5c2\"}.fa-bottle-water:before{content:\"\\e4c5\"}.fa-circle-pause:before,.fa-pause-circle:before{content:\"\\f28b\"}.fa-toilet-paper-slash:before{content:\"\\e072\"}.fa-apple-alt:before,.fa-apple-whole:before{content:\"\\f5d1\"}.fa-kitchen-set:before{content:\"\\e51a\"}.fa-r:before{content:\"\\52\"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:\"\\f2ca\"}.fa-cube:before{content:\"\\f1b2\"}.fa-bitcoin-sign:before{content:\"\\e0b4\"}.fa-shield-dog:before{content:\"\\e573\"}.fa-solar-panel:before{content:\"\\f5ba\"}.fa-lock-open:before{content:\"\\f3c1\"}.fa-elevator:before{content:\"\\e16d\"}.fa-money-bill-transfer:before{content:\"\\e528\"}.fa-money-bill-trend-up:before{content:\"\\e529\"}.fa-house-flood-water-circle-arrow-right:before{content:\"\\e50f\"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:\"\\f682\"}.fa-circle:before{content:\"\\f111\"}.fa-backward-fast:before,.fa-fast-backward:before{content:\"\\f049\"}.fa-recycle:before{content:\"\\f1b8\"}.fa-user-astronaut:before{content:\"\\f4fb\"}.fa-plane-slash:before{content:\"\\e069\"}.fa-trademark:before{content:\"\\f25c\"}.fa-basketball-ball:before,.fa-basketball:before{content:\"\\f434\"}.fa-satellite-dish:before{content:\"\\f7c0\"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:\"\\f35b\"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:\"\\f3cd\"}.fa-volume-high:before,.fa-volume-up:before{content:\"\\f028\"}.fa-users-rays:before{content:\"\\e593\"}.fa-wallet:before{content:\"\\f555\"}.fa-clipboard-check:before{content:\"\\f46c\"}.fa-file-audio:before{content:\"\\f1c7\"}.fa-burger:before,.fa-hamburger:before{content:\"\\f805\"}.fa-wrench:before{content:\"\\f0ad\"}.fa-bugs:before{content:\"\\e4d0\"}.fa-rupee-sign:before,.fa-rupee:before{content:\"\\f156\"}.fa-file-image:before{content:\"\\f1c5\"}.fa-circle-question:before,.fa-question-circle:before{content:\"\\f059\"}.fa-plane-departure:before{content:\"\\f5b0\"}.fa-handshake-slash:before{content:\"\\e060\"}.fa-book-bookmark:before{content:\"\\e0bb\"}.fa-code-branch:before{content:\"\\f126\"}.fa-hat-cowboy:before{content:\"\\f8c0\"}.fa-bridge:before{content:\"\\e4c8\"}.fa-phone-alt:before,.fa-phone-flip:before{content:\"\\f879\"}.fa-truck-front:before{content:\"\\e2b7\"}.fa-cat:before{content:\"\\f6be\"}.fa-anchor-circle-exclamation:before{content:\"\\e4ab\"}.fa-truck-field:before{content:\"\\e58d\"}.fa-route:before{content:\"\\f4d7\"}.fa-clipboard-question:before{content:\"\\e4e3\"}.fa-panorama:before{content:\"\\e209\"}.fa-comment-medical:before{content:\"\\f7f5\"}.fa-teeth-open:before{content:\"\\f62f\"}.fa-file-circle-minus:before{content:\"\\e4ed\"}.fa-tags:before{content:\"\\f02c\"}.fa-wine-glass:before{content:\"\\f4e3\"}.fa-fast-forward:before,.fa-forward-fast:before{content:\"\\f050\"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:\"\\f5a4\"}.fa-parking:before,.fa-square-parking:before{content:\"\\f540\"}.fa-house-signal:before{content:\"\\e012\"}.fa-bars-progress:before,.fa-tasks-alt:before{content:\"\\f828\"}.fa-faucet-drip:before{content:\"\\e006\"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:\"\\f474\"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:\"\\f54d\"}.fa-terminal:before{content:\"\\f120\"}.fa-mobile-button:before{content:\"\\f10b\"}.fa-house-medical-flag:before{content:\"\\e514\"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:\"\\f291\"}.fa-tape:before{content:\"\\f4db\"}.fa-bus-alt:before,.fa-bus-simple:before{content:\"\\f55e\"}.fa-eye:before{content:\"\\f06e\"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:\"\\f5b3\"}.fa-audio-description:before{content:\"\\f29e\"}.fa-person-military-to-person:before{content:\"\\e54c\"}.fa-file-shield:before{content:\"\\e4f0\"}.fa-user-slash:before{content:\"\\f506\"}.fa-pen:before{content:\"\\f304\"}.fa-tower-observation:before{content:\"\\e586\"}.fa-file-code:before{content:\"\\f1c9\"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:\"\\f012\"}.fa-bus:before{content:\"\\f207\"}.fa-heart-circle-xmark:before{content:\"\\e501\"}.fa-home-lg:before,.fa-house-chimney:before{content:\"\\e3af\"}.fa-window-maximize:before{content:\"\\f2d0\"}.fa-face-frown:before,.fa-frown:before{content:\"\\f119\"}.fa-prescription:before{content:\"\\f5b1\"}.fa-shop:before,.fa-store-alt:before{content:\"\\f54f\"}.fa-floppy-disk:before,.fa-save:before{content:\"\\f0c7\"}.fa-vihara:before{content:\"\\f6a7\"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:\"\\f515\"}.fa-sort-asc:before,.fa-sort-up:before{content:\"\\f0de\"}.fa-comment-dots:before,.fa-commenting:before{content:\"\\f4ad\"}.fa-plant-wilt:before{content:\"\\e5aa\"}.fa-diamond:before{content:\"\\f219\"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:\"\\f585\"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:\"\\f4c0\"}.fa-bacterium:before{content:\"\\e05a\"}.fa-hand-pointer:before{content:\"\\f25a\"}.fa-drum-steelpan:before{content:\"\\f56a\"}.fa-hand-scissors:before{content:\"\\f257\"}.fa-hands-praying:before,.fa-praying-hands:before{content:\"\\f684\"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:\"\\f01e\"}.fa-biohazard:before{content:\"\\f780\"}.fa-location-crosshairs:before,.fa-location:before{content:\"\\f601\"}.fa-mars-double:before{content:\"\\f227\"}.fa-child-dress:before{content:\"\\e59c\"}.fa-users-between-lines:before{content:\"\\e591\"}.fa-lungs-virus:before{content:\"\\e067\"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:\"\\f588\"}.fa-phone:before{content:\"\\f095\"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:\"\\f273\"}.fa-child-reaching:before{content:\"\\e59d\"}.fa-head-side-virus:before{content:\"\\e064\"}.fa-user-cog:before,.fa-user-gear:before{content:\"\\f4fe\"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:\"\\f163\"}.fa-door-closed:before{content:\"\\f52a\"}.fa-shield-virus:before{content:\"\\e06c\"}.fa-dice-six:before{content:\"\\f526\"}.fa-mosquito-net:before{content:\"\\e52c\"}.fa-bridge-water:before{content:\"\\e4ce\"}.fa-person-booth:before{content:\"\\f756\"}.fa-text-width:before{content:\"\\f035\"}.fa-hat-wizard:before{content:\"\\f6e8\"}.fa-pen-fancy:before{content:\"\\f5ac\"}.fa-digging:before,.fa-person-digging:before{content:\"\\f85e\"}.fa-trash:before{content:\"\\f1f8\"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:\"\\f629\"}.fa-book-medical:before{content:\"\\f7e6\"}.fa-poo:before{content:\"\\f2fe\"}.fa-quote-right-alt:before,.fa-quote-right:before{content:\"\\f10e\"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:\"\\f553\"}.fa-cubes:before{content:\"\\f1b3\"}.fa-divide:before{content:\"\\f529\"}.fa-tenge-sign:before,.fa-tenge:before{content:\"\\f7d7\"}.fa-headphones:before{content:\"\\f025\"}.fa-hands-holding:before{content:\"\\f4c2\"}.fa-hands-clapping:before{content:\"\\e1a8\"}.fa-republican:before{content:\"\\f75e\"}.fa-arrow-left:before{content:\"\\f060\"}.fa-person-circle-xmark:before{content:\"\\e543\"}.fa-ruler:before{content:\"\\f545\"}.fa-align-left:before{content:\"\\f036\"}.fa-dice-d6:before{content:\"\\f6d1\"}.fa-restroom:before{content:\"\\f7bd\"}.fa-j:before{content:\"\\4a\"}.fa-users-viewfinder:before{content:\"\\e595\"}.fa-file-video:before{content:\"\\f1c8\"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:\"\\f35d\"}.fa-table-cells:before,.fa-th:before{content:\"\\f00a\"}.fa-file-pdf:before{content:\"\\f1c1\"}.fa-bible:before,.fa-book-bible:before{content:\"\\f647\"}.fa-o:before{content:\"\\4f\"}.fa-medkit:before,.fa-suitcase-medical:before{content:\"\\f0fa\"}.fa-user-secret:before{content:\"\\f21b\"}.fa-otter:before{content:\"\\f700\"}.fa-female:before,.fa-person-dress:before{content:\"\\f182\"}.fa-comment-dollar:before{content:\"\\f651\"}.fa-briefcase-clock:before,.fa-business-time:before{content:\"\\f64a\"}.fa-table-cells-large:before,.fa-th-large:before{content:\"\\f009\"}.fa-book-tanakh:before,.fa-tanakh:before{content:\"\\f827\"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:\"\\f2a0\"}.fa-hat-cowboy-side:before{content:\"\\f8c1\"}.fa-clipboard-user:before{content:\"\\f7f3\"}.fa-child:before{content:\"\\f1ae\"}.fa-lira-sign:before{content:\"\\f195\"}.fa-satellite:before{content:\"\\f7bf\"}.fa-plane-lock:before{content:\"\\e558\"}.fa-tag:before{content:\"\\f02b\"}.fa-comment:before{content:\"\\f075\"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:\"\\f1fd\"}.fa-envelope:before{content:\"\\f0e0\"}.fa-angle-double-up:before,.fa-angles-up:before{content:\"\\f102\"}.fa-paperclip:before{content:\"\\f0c6\"}.fa-arrow-right-to-city:before{content:\"\\e4b3\"}.fa-ribbon:before{content:\"\\f4d6\"}.fa-lungs:before{content:\"\\f604\"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:\"\\f887\"}.fa-litecoin-sign:before{content:\"\\e1d3\"}.fa-border-none:before{content:\"\\f850\"}.fa-circle-nodes:before{content:\"\\e4e2\"}.fa-parachute-box:before{content:\"\\f4cd\"}.fa-indent:before{content:\"\\f03c\"}.fa-truck-field-un:before{content:\"\\e58e\"}.fa-hourglass-empty:before,.fa-hourglass:before{content:\"\\f254\"}.fa-mountain:before{content:\"\\f6fc\"}.fa-user-doctor:before,.fa-user-md:before{content:\"\\f0f0\"}.fa-circle-info:before,.fa-info-circle:before{content:\"\\f05a\"}.fa-cloud-meatball:before{content:\"\\f73b\"}.fa-camera-alt:before,.fa-camera:before{content:\"\\f030\"}.fa-square-virus:before{content:\"\\e578\"}.fa-meteor:before{content:\"\\f753\"}.fa-car-on:before{content:\"\\e4dd\"}.fa-sleigh:before{content:\"\\f7cc\"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:\"\\f162\"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:\"\\f4c1\"}.fa-water:before{content:\"\\f773\"}.fa-calendar-check:before{content:\"\\f274\"}.fa-braille:before{content:\"\\f2a1\"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:\"\\f486\"}.fa-landmark:before{content:\"\\f66f\"}.fa-truck:before{content:\"\\f0d1\"}.fa-crosshairs:before{content:\"\\f05b\"}.fa-person-cane:before{content:\"\\e53c\"}.fa-tent:before{content:\"\\e57d\"}.fa-vest-patches:before{content:\"\\e086\"}.fa-check-double:before{content:\"\\f560\"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:\"\\f15d\"}.fa-money-bill-wheat:before{content:\"\\e52a\"}.fa-cookie:before{content:\"\\f563\"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:\"\\f0e2\"}.fa-hard-drive:before,.fa-hdd:before{content:\"\\f0a0\"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:\"\\f586\"}.fa-dumbbell:before{content:\"\\f44b\"}.fa-list-alt:before,.fa-rectangle-list:before{content:\"\\f022\"}.fa-tarp-droplet:before{content:\"\\e57c\"}.fa-house-medical-circle-check:before{content:\"\\e511\"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:\"\\f7ca\"}.fa-calendar-plus:before{content:\"\\f271\"}.fa-plane-arrival:before{content:\"\\f5af\"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:\"\\f359\"}.fa-subway:before,.fa-train-subway:before{content:\"\\f239\"}.fa-chart-gantt:before{content:\"\\e0e4\"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:\"\\e1bc\"}.fa-crop-alt:before,.fa-crop-simple:before{content:\"\\f565\"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:\"\\f3d1\"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:\"\\f30a\"}.fa-dna:before{content:\"\\f471\"}.fa-virus-slash:before{content:\"\\e075\"}.fa-minus:before,.fa-subtract:before{content:\"\\f068\"}.fa-chess:before{content:\"\\f439\"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:\"\\f177\"}.fa-plug-circle-check:before{content:\"\\e55c\"}.fa-street-view:before{content:\"\\f21d\"}.fa-franc-sign:before{content:\"\\e18f\"}.fa-volume-off:before{content:\"\\f026\"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:\"\\f2a3\"}.fa-cog:before,.fa-gear:before{content:\"\\f013\"}.fa-droplet-slash:before,.fa-tint-slash:before{content:\"\\f5c7\"}.fa-mosque:before{content:\"\\f678\"}.fa-mosquito:before{content:\"\\e52b\"}.fa-star-of-david:before{content:\"\\f69a\"}.fa-person-military-rifle:before{content:\"\\e54b\"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:\"\\f07a\"}.fa-vials:before{content:\"\\f493\"}.fa-plug-circle-plus:before{content:\"\\e55f\"}.fa-place-of-worship:before{content:\"\\f67f\"}.fa-grip-vertical:before{content:\"\\f58e\"}.fa-arrow-turn-up:before,.fa-level-up:before{content:\"\\f148\"}.fa-u:before{content:\"\\55\"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:\"\\f698\"}.fa-clock-four:before,.fa-clock:before{content:\"\\f017\"}.fa-backward-step:before,.fa-step-backward:before{content:\"\\f048\"}.fa-pallet:before{content:\"\\f482\"}.fa-faucet:before{content:\"\\e005\"}.fa-baseball-bat-ball:before{content:\"\\f432\"}.fa-s:before{content:\"\\53\"}.fa-timeline:before{content:\"\\e29c\"}.fa-keyboard:before{content:\"\\f11c\"}.fa-caret-down:before{content:\"\\f0d7\"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:\"\\f7f2\"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:\"\\f2c8\"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:\"\\f3cf\"}.fa-plane-up:before{content:\"\\e22d\"}.fa-piggy-bank:before{content:\"\\f4d3\"}.fa-battery-3:before,.fa-battery-half:before{content:\"\\f242\"}.fa-mountain-city:before{content:\"\\e52e\"}.fa-coins:before{content:\"\\f51e\"}.fa-khanda:before{content:\"\\f66d\"}.fa-sliders-h:before,.fa-sliders:before{content:\"\\f1de\"}.fa-folder-tree:before{content:\"\\f802\"}.fa-network-wired:before{content:\"\\f6ff\"}.fa-map-pin:before{content:\"\\f276\"}.fa-hamsa:before{content:\"\\f665\"}.fa-cent-sign:before{content:\"\\e3f5\"}.fa-flask:before{content:\"\\f0c3\"}.fa-person-pregnant:before{content:\"\\e31e\"}.fa-wand-sparkles:before{content:\"\\f72b\"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:\"\\f142\"}.fa-ticket:before{content:\"\\f145\"}.fa-power-off:before{content:\"\\f011\"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:\"\\f30b\"}.fa-flag-usa:before{content:\"\\f74d\"}.fa-laptop-file:before{content:\"\\e51d\"}.fa-teletype:before,.fa-tty:before{content:\"\\f1e4\"}.fa-diagram-next:before{content:\"\\e476\"}.fa-person-rifle:before{content:\"\\e54e\"}.fa-house-medical-circle-exclamation:before{content:\"\\e512\"}.fa-closed-captioning:before{content:\"\\f20a\"}.fa-hiking:before,.fa-person-hiking:before{content:\"\\f6ec\"}.fa-venus-double:before{content:\"\\f226\"}.fa-images:before{content:\"\\f302\"}.fa-calculator:before{content:\"\\f1ec\"}.fa-people-pulling:before{content:\"\\e535\"}.fa-n:before{content:\"\\4e\"}.fa-cable-car:before,.fa-tram:before{content:\"\\f7da\"}.fa-cloud-rain:before{content:\"\\f73d\"}.fa-building-circle-xmark:before{content:\"\\e4d4\"}.fa-ship:before{content:\"\\f21a\"}.fa-arrows-down-to-line:before{content:\"\\e4b8\"}.fa-download:before{content:\"\\f019\"}.fa-face-grin:before,.fa-grin:before{content:\"\\f580\"}.fa-backspace:before,.fa-delete-left:before{content:\"\\f55a\"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:\"\\f1fb\"}.fa-file-circle-check:before{content:\"\\e5a0\"}.fa-forward:before{content:\"\\f04e\"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:\"\\f3ce\"}.fa-face-meh:before,.fa-meh:before{content:\"\\f11a\"}.fa-align-center:before{content:\"\\f037\"}.fa-book-dead:before,.fa-book-skull:before{content:\"\\f6b7\"}.fa-drivers-license:before,.fa-id-card:before{content:\"\\f2c2\"}.fa-dedent:before,.fa-outdent:before{content:\"\\f03b\"}.fa-heart-circle-exclamation:before{content:\"\\e4fe\"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:\"\\f015\"}.fa-calendar-week:before{content:\"\\f784\"}.fa-laptop-medical:before{content:\"\\f812\"}.fa-b:before{content:\"\\42\"}.fa-file-medical:before{content:\"\\f477\"}.fa-dice-one:before{content:\"\\f525\"}.fa-kiwi-bird:before{content:\"\\f535\"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:\"\\f0ec\"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:\"\\f2f9\"}.fa-cutlery:before,.fa-utensils:before{content:\"\\f2e7\"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:\"\\f161\"}.fa-mill-sign:before{content:\"\\e1ed\"}.fa-bowl-rice:before{content:\"\\e2eb\"}.fa-skull:before{content:\"\\f54c\"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:\"\\f519\"}.fa-truck-pickup:before{content:\"\\f63c\"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:\"\\f30c\"}.fa-stop:before{content:\"\\f04d\"}.fa-code-merge:before{content:\"\\f387\"}.fa-upload:before{content:\"\\f093\"}.fa-hurricane:before{content:\"\\f751\"}.fa-mound:before{content:\"\\e52d\"}.fa-toilet-portable:before{content:\"\\e583\"}.fa-compact-disc:before{content:\"\\f51f\"}.fa-file-arrow-down:before,.fa-file-download:before{content:\"\\f56d\"}.fa-caravan:before{content:\"\\f8ff\"}.fa-shield-cat:before{content:\"\\e572\"}.fa-bolt:before,.fa-zap:before{content:\"\\f0e7\"}.fa-glass-water:before{content:\"\\e4f4\"}.fa-oil-well:before{content:\"\\e532\"}.fa-vault:before{content:\"\\e2c5\"}.fa-mars:before{content:\"\\f222\"}.fa-toilet:before{content:\"\\f7d8\"}.fa-plane-circle-xmark:before{content:\"\\e557\"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:\"\\f157\"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:\"\\f158\"}.fa-sun:before{content:\"\\f185\"}.fa-guitar:before{content:\"\\f7a6\"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:\"\\f59c\"}.fa-horse-head:before{content:\"\\f7ab\"}.fa-bore-hole:before{content:\"\\e4c3\"}.fa-industry:before{content:\"\\f275\"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:\"\\f358\"}.fa-arrows-turn-to-dots:before{content:\"\\e4c1\"}.fa-florin-sign:before{content:\"\\e184\"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:\"\\f884\"}.fa-less-than:before{content:\"\\3c\"}.fa-angle-down:before{content:\"\\f107\"}.fa-car-tunnel:before{content:\"\\e4de\"}.fa-head-side-cough:before{content:\"\\e061\"}.fa-grip-lines:before{content:\"\\f7a4\"}.fa-thumbs-down:before{content:\"\\f165\"}.fa-user-lock:before{content:\"\\f502\"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:\"\\f178\"}.fa-anchor-circle-xmark:before{content:\"\\e4ac\"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:\"\\f141\"}.fa-chess-pawn:before{content:\"\\f443\"}.fa-first-aid:before,.fa-kit-medical:before{content:\"\\f479\"}.fa-person-through-window:before{content:\"\\e5a9\"}.fa-toolbox:before{content:\"\\f552\"}.fa-hands-holding-circle:before{content:\"\\e4fb\"}.fa-bug:before{content:\"\\f188\"}.fa-credit-card-alt:before,.fa-credit-card:before{content:\"\\f09d\"}.fa-automobile:before,.fa-car:before{content:\"\\f1b9\"}.fa-hand-holding-hand:before{content:\"\\e4f7\"}.fa-book-open-reader:before,.fa-book-reader:before{content:\"\\f5da\"}.fa-mountain-sun:before{content:\"\\e52f\"}.fa-arrows-left-right-to-line:before{content:\"\\e4ba\"}.fa-dice-d20:before{content:\"\\f6cf\"}.fa-truck-droplet:before{content:\"\\e58c\"}.fa-file-circle-xmark:before{content:\"\\e5a1\"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:\"\\e040\"}.fa-medal:before{content:\"\\f5a2\"}.fa-bed:before{content:\"\\f236\"}.fa-h-square:before,.fa-square-h:before{content:\"\\f0fd\"}.fa-podcast:before{content:\"\\f2ce\"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:\"\\f2c7\"}.fa-bell:before{content:\"\\f0f3\"}.fa-superscript:before{content:\"\\f12b\"}.fa-plug-circle-xmark:before{content:\"\\e560\"}.fa-star-of-life:before{content:\"\\f621\"}.fa-phone-slash:before{content:\"\\f3dd\"}.fa-paint-roller:before{content:\"\\f5aa\"}.fa-hands-helping:before,.fa-handshake-angle:before{content:\"\\f4c4\"}.fa-location-dot:before,.fa-map-marker-alt:before{content:\"\\f3c5\"}.fa-file:before{content:\"\\f15b\"}.fa-greater-than:before{content:\"\\3e\"}.fa-person-swimming:before,.fa-swimmer:before{content:\"\\f5c4\"}.fa-arrow-down:before{content:\"\\f063\"}.fa-droplet:before,.fa-tint:before{content:\"\\f043\"}.fa-eraser:before{content:\"\\f12d\"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:\"\\f57d\"}.fa-person-burst:before{content:\"\\e53b\"}.fa-dove:before{content:\"\\f4ba\"}.fa-battery-0:before,.fa-battery-empty:before{content:\"\\f244\"}.fa-socks:before{content:\"\\f696\"}.fa-inbox:before{content:\"\\f01c\"}.fa-section:before{content:\"\\e447\"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:\"\\f625\"}.fa-envelope-open-text:before{content:\"\\f658\"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:\"\\f0f8\"}.fa-wine-bottle:before{content:\"\\f72f\"}.fa-chess-rook:before{content:\"\\f447\"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:\"\\f550\"}.fa-dharmachakra:before{content:\"\\f655\"}.fa-hotdog:before{content:\"\\f80f\"}.fa-blind:before,.fa-person-walking-with-cane:before{content:\"\\f29d\"}.fa-drum:before{content:\"\\f569\"}.fa-ice-cream:before{content:\"\\f810\"}.fa-heart-circle-bolt:before{content:\"\\e4fc\"}.fa-fax:before{content:\"\\f1ac\"}.fa-paragraph:before{content:\"\\f1dd\"}.fa-check-to-slot:before,.fa-vote-yea:before{content:\"\\f772\"}.fa-star-half:before{content:\"\\f089\"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:\"\\f468\"}.fa-chain:before,.fa-link:before{content:\"\\f0c1\"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:\"\\f2a2\"}.fa-tree-city:before{content:\"\\e587\"}.fa-play:before{content:\"\\f04b\"}.fa-font:before{content:\"\\f031\"}.fa-rupiah-sign:before{content:\"\\e23d\"}.fa-magnifying-glass:before,.fa-search:before{content:\"\\f002\"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:\"\\f45d\"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:\"\\f470\"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:\"\\f82a\"}.fa-naira-sign:before{content:\"\\e1f6\"}.fa-cart-arrow-down:before{content:\"\\f218\"}.fa-walkie-talkie:before{content:\"\\f8ef\"}.fa-file-edit:before,.fa-file-pen:before{content:\"\\f31c\"}.fa-receipt:before{content:\"\\f543\"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:\"\\f14b\"}.fa-suitcase-rolling:before{content:\"\\f5c1\"}.fa-person-circle-exclamation:before{content:\"\\e53f\"}.fa-chevron-down:before{content:\"\\f078\"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:\"\\f240\"}.fa-skull-crossbones:before{content:\"\\f714\"}.fa-code-compare:before{content:\"\\e13a\"}.fa-list-dots:before,.fa-list-ul:before{content:\"\\f0ca\"}.fa-school-lock:before{content:\"\\e56f\"}.fa-tower-cell:before{content:\"\\e585\"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:\"\\f309\"}.fa-ranking-star:before{content:\"\\e561\"}.fa-chess-king:before{content:\"\\f43f\"}.fa-person-harassing:before{content:\"\\e549\"}.fa-brazilian-real-sign:before{content:\"\\e46c\"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:\"\\f752\"}.fa-arrow-up:before{content:\"\\f062\"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:\"\\f26c\"}.fa-shrimp:before{content:\"\\e448\"}.fa-list-check:before,.fa-tasks:before{content:\"\\f0ae\"}.fa-jug-detergent:before{content:\"\\e519\"}.fa-circle-user:before,.fa-user-circle:before{content:\"\\f2bd\"}.fa-user-shield:before{content:\"\\f505\"}.fa-wind:before{content:\"\\f72e\"}.fa-car-burst:before,.fa-car-crash:before{content:\"\\f5e1\"}.fa-y:before{content:\"\\59\"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:\"\\f7ce\"}.fa-shipping-fast:before,.fa-truck-fast:before{content:\"\\f48b\"}.fa-fish:before{content:\"\\f578\"}.fa-user-graduate:before{content:\"\\f501\"}.fa-adjust:before,.fa-circle-half-stroke:before{content:\"\\f042\"}.fa-clapperboard:before{content:\"\\e131\"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:\"\\f7ba\"}.fa-baseball-ball:before,.fa-baseball:before{content:\"\\f433\"}.fa-jet-fighter-up:before{content:\"\\e518\"}.fa-diagram-project:before,.fa-project-diagram:before{content:\"\\f542\"}.fa-copy:before{content:\"\\f0c5\"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:\"\\f6a9\"}.fa-hand-sparkles:before{content:\"\\e05d\"}.fa-grip-horizontal:before,.fa-grip:before{content:\"\\f58d\"}.fa-share-from-square:before,.fa-share-square:before{content:\"\\f14d\"}.fa-child-combatant:before,.fa-child-rifle:before{content:\"\\e4e0\"}.fa-gun:before{content:\"\\e19b\"}.fa-phone-square:before,.fa-square-phone:before{content:\"\\f098\"}.fa-add:before,.fa-plus:before{content:\"\\2b\"}.fa-expand:before{content:\"\\f065\"}.fa-computer:before{content:\"\\e4e5\"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:\"\\f00d\"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:\"\\f047\"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:\"\\f51c\"}.fa-peso-sign:before{content:\"\\e222\"}.fa-building-shield:before{content:\"\\e4d8\"}.fa-baby:before{content:\"\\f77c\"}.fa-users-line:before{content:\"\\e592\"}.fa-quote-left-alt:before,.fa-quote-left:before{content:\"\\f10d\"}.fa-tractor:before{content:\"\\f722\"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:\"\\f829\"}.fa-arrow-down-up-lock:before{content:\"\\e4b0\"}.fa-lines-leaning:before{content:\"\\e51e\"}.fa-ruler-combined:before{content:\"\\f546\"}.fa-copyright:before{content:\"\\f1f9\"}.fa-equals:before{content:\"\\3d\"}.fa-blender:before{content:\"\\f517\"}.fa-teeth:before{content:\"\\f62e\"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:\"\\f20b\"}.fa-map:before{content:\"\\f279\"}.fa-rocket:before{content:\"\\f135\"}.fa-photo-film:before,.fa-photo-video:before{content:\"\\f87c\"}.fa-folder-minus:before{content:\"\\f65d\"}.fa-store:before{content:\"\\f54e\"}.fa-arrow-trend-up:before{content:\"\\e098\"}.fa-plug-circle-minus:before{content:\"\\e55e\"}.fa-sign-hanging:before,.fa-sign:before{content:\"\\f4d9\"}.fa-bezier-curve:before{content:\"\\f55b\"}.fa-bell-slash:before{content:\"\\f1f6\"}.fa-tablet-android:before,.fa-tablet:before{content:\"\\f3fb\"}.fa-school-flag:before{content:\"\\e56e\"}.fa-fill:before{content:\"\\f575\"}.fa-angle-up:before{content:\"\\f106\"}.fa-drumstick-bite:before{content:\"\\f6d7\"}.fa-holly-berry:before{content:\"\\f7aa\"}.fa-chevron-left:before{content:\"\\f053\"}.fa-bacteria:before{content:\"\\e059\"}.fa-hand-lizard:before{content:\"\\f258\"}.fa-notdef:before{content:\"\\e1fe\"}.fa-disease:before{content:\"\\f7fa\"}.fa-briefcase-medical:before{content:\"\\f469\"}.fa-genderless:before{content:\"\\f22d\"}.fa-chevron-right:before{content:\"\\f054\"}.fa-retweet:before{content:\"\\f079\"}.fa-car-alt:before,.fa-car-rear:before{content:\"\\f5de\"}.fa-pump-soap:before{content:\"\\e06b\"}.fa-video-slash:before{content:\"\\f4e2\"}.fa-battery-2:before,.fa-battery-quarter:before{content:\"\\f243\"}.fa-radio:before{content:\"\\f8d7\"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:\"\\f77d\"}.fa-traffic-light:before{content:\"\\f637\"}.fa-thermometer:before{content:\"\\f491\"}.fa-vr-cardboard:before{content:\"\\f729\"}.fa-hand-middle-finger:before{content:\"\\f806\"}.fa-percent:before,.fa-percentage:before{content:\"\\25\"}.fa-truck-moving:before{content:\"\\f4df\"}.fa-glass-water-droplet:before{content:\"\\e4f5\"}.fa-display:before{content:\"\\e163\"}.fa-face-smile:before,.fa-smile:before{content:\"\\f118\"}.fa-thumb-tack:before,.fa-thumbtack:before{content:\"\\f08d\"}.fa-trophy:before{content:\"\\f091\"}.fa-person-praying:before,.fa-pray:before{content:\"\\f683\"}.fa-hammer:before{content:\"\\f6e3\"}.fa-hand-peace:before{content:\"\\f25b\"}.fa-rotate:before,.fa-sync-alt:before{content:\"\\f2f1\"}.fa-spinner:before{content:\"\\f110\"}.fa-robot:before{content:\"\\f544\"}.fa-peace:before{content:\"\\f67c\"}.fa-cogs:before,.fa-gears:before{content:\"\\f085\"}.fa-warehouse:before{content:\"\\f494\"}.fa-arrow-up-right-dots:before{content:\"\\e4b7\"}.fa-splotch:before{content:\"\\f5bc\"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:\"\\f584\"}.fa-dice-four:before{content:\"\\f524\"}.fa-sim-card:before{content:\"\\f7c4\"}.fa-transgender-alt:before,.fa-transgender:before{content:\"\\f225\"}.fa-mercury:before{content:\"\\f223\"}.fa-arrow-turn-down:before,.fa-level-down:before{content:\"\\f149\"}.fa-person-falling-burst:before{content:\"\\e547\"}.fa-award:before{content:\"\\f559\"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:\"\\f3ff\"}.fa-building:before{content:\"\\f1ad\"}.fa-angle-double-left:before,.fa-angles-left:before{content:\"\\f100\"}.fa-qrcode:before{content:\"\\f029\"}.fa-clock-rotate-left:before,.fa-history:before{content:\"\\f1da\"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:\"\\f583\"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:\"\\f56e\"}.fa-shield-blank:before,.fa-shield:before{content:\"\\f132\"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:\"\\f885\"}.fa-house-medical:before{content:\"\\e3b2\"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:\"\\f450\"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:\"\\f137\"}.fa-house-chimney-window:before{content:\"\\e00d\"}.fa-pen-nib:before{content:\"\\f5ad\"}.fa-tent-arrow-turn-left:before{content:\"\\e580\"}.fa-tents:before{content:\"\\e582\"}.fa-magic:before,.fa-wand-magic:before{content:\"\\f0d0\"}.fa-dog:before{content:\"\\f6d3\"}.fa-carrot:before{content:\"\\f787\"}.fa-moon:before{content:\"\\f186\"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:\"\\f5ce\"}.fa-cheese:before{content:\"\\f7ef\"}.fa-yin-yang:before{content:\"\\f6ad\"}.fa-music:before{content:\"\\f001\"}.fa-code-commit:before{content:\"\\f386\"}.fa-temperature-low:before{content:\"\\f76b\"}.fa-biking:before,.fa-person-biking:before{content:\"\\f84a\"}.fa-broom:before{content:\"\\f51a\"}.fa-shield-heart:before{content:\"\\e574\"}.fa-gopuram:before{content:\"\\f664\"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:\"\\e47b\"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:\"\\f2d3\"}.fa-hashtag:before{content:\"\\23\"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:\"\\f424\"}.fa-oil-can:before{content:\"\\f613\"}.fa-t:before{content:\"\\54\"}.fa-hippo:before{content:\"\\f6ed\"}.fa-chart-column:before{content:\"\\e0e3\"}.fa-infinity:before{content:\"\\f534\"}.fa-vial-circle-check:before{content:\"\\e596\"}.fa-person-arrow-down-to-line:before{content:\"\\e538\"}.fa-voicemail:before{content:\"\\f897\"}.fa-fan:before{content:\"\\f863\"}.fa-person-walking-luggage:before{content:\"\\e554\"}.fa-arrows-alt-v:before,.fa-up-down:before{content:\"\\f338\"}.fa-cloud-moon-rain:before{content:\"\\f73c\"}.fa-calendar:before{content:\"\\f133\"}.fa-trailer:before{content:\"\\e041\"}.fa-bahai:before,.fa-haykal:before{content:\"\\f666\"}.fa-sd-card:before{content:\"\\f7c2\"}.fa-dragon:before{content:\"\\f6d5\"}.fa-shoe-prints:before{content:\"\\f54b\"}.fa-circle-plus:before,.fa-plus-circle:before{content:\"\\f055\"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:\"\\f58b\"}.fa-hand-holding:before{content:\"\\f4bd\"}.fa-plug-circle-exclamation:before{content:\"\\e55d\"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:\"\\f127\"}.fa-clone:before{content:\"\\f24d\"}.fa-person-walking-arrow-loop-left:before{content:\"\\e551\"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:\"\\f882\"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:\"\\f7e4\"}.fa-tornado:before{content:\"\\f76f\"}.fa-file-circle-plus:before{content:\"\\e494\"}.fa-book-quran:before,.fa-quran:before{content:\"\\f687\"}.fa-anchor:before{content:\"\\f13d\"}.fa-border-all:before{content:\"\\f84c\"}.fa-angry:before,.fa-face-angry:before{content:\"\\f556\"}.fa-cookie-bite:before{content:\"\\f564\"}.fa-arrow-trend-down:before{content:\"\\e097\"}.fa-feed:before,.fa-rss:before{content:\"\\f09e\"}.fa-draw-polygon:before{content:\"\\f5ee\"}.fa-balance-scale:before,.fa-scale-balanced:before{content:\"\\f24e\"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:\"\\f62a\"}.fa-shower:before{content:\"\\f2cc\"}.fa-desktop-alt:before,.fa-desktop:before{content:\"\\f390\"}.fa-m:before{content:\"\\4d\"}.fa-table-list:before,.fa-th-list:before{content:\"\\f00b\"}.fa-comment-sms:before,.fa-sms:before{content:\"\\f7cd\"}.fa-book:before{content:\"\\f02d\"}.fa-user-plus:before{content:\"\\f234\"}.fa-check:before{content:\"\\f00c\"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:\"\\f241\"}.fa-house-circle-check:before{content:\"\\e509\"}.fa-angle-left:before{content:\"\\f104\"}.fa-diagram-successor:before{content:\"\\e47a\"}.fa-truck-arrow-right:before{content:\"\\e58b\"}.fa-arrows-split-up-and-left:before{content:\"\\e4bc\"}.fa-fist-raised:before,.fa-hand-fist:before{content:\"\\f6de\"}.fa-cloud-moon:before{content:\"\\f6c3\"}.fa-briefcase:before{content:\"\\f0b1\"}.fa-person-falling:before{content:\"\\e546\"}.fa-image-portrait:before,.fa-portrait:before{content:\"\\f3e0\"}.fa-user-tag:before{content:\"\\f507\"}.fa-rug:before{content:\"\\e569\"}.fa-earth-europe:before,.fa-globe-europe:before{content:\"\\f7a2\"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:\"\\f59d\"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:\"\\f410\"}.fa-baht-sign:before{content:\"\\e0ac\"}.fa-book-open:before{content:\"\\f518\"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:\"\\f66a\"}.fa-handcuffs:before{content:\"\\e4f8\"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:\"\\f071\"}.fa-database:before{content:\"\\f1c0\"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:\"\\f064\"}.fa-bottle-droplet:before{content:\"\\e4c4\"}.fa-mask-face:before{content:\"\\e1d7\"}.fa-hill-rockslide:before{content:\"\\e508\"}.fa-exchange-alt:before,.fa-right-left:before{content:\"\\f362\"}.fa-paper-plane:before{content:\"\\f1d8\"}.fa-road-circle-exclamation:before{content:\"\\e565\"}.fa-dungeon:before{content:\"\\f6d9\"}.fa-align-right:before{content:\"\\f038\"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:\"\\f53b\"}.fa-life-ring:before{content:\"\\f1cd\"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:\"\\f2a7\"}.fa-calendar-day:before{content:\"\\f783\"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:\"\\f5c5\"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:\"\\f07d\"}.fa-face-grimace:before,.fa-grimace:before{content:\"\\f57f\"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:\"\\e2ce\"}.fa-level-down-alt:before,.fa-turn-down:before{content:\"\\f3be\"}.fa-person-walking-arrow-right:before{content:\"\\e552\"}.fa-envelope-square:before,.fa-square-envelope:before{content:\"\\f199\"}.fa-dice:before{content:\"\\f522\"}.fa-bowling-ball:before{content:\"\\f436\"}.fa-brain:before{content:\"\\f5dc\"}.fa-band-aid:before,.fa-bandage:before{content:\"\\f462\"}.fa-calendar-minus:before{content:\"\\f272\"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:\"\\f057\"}.fa-gifts:before{content:\"\\f79c\"}.fa-hotel:before{content:\"\\f594\"}.fa-earth-asia:before,.fa-globe-asia:before{content:\"\\f57e\"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:\"\\f47f\"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:\"\\f00e\"}.fa-thumbs-up:before{content:\"\\f164\"}.fa-user-clock:before{content:\"\\f4fd\"}.fa-allergies:before,.fa-hand-dots:before{content:\"\\f461\"}.fa-file-invoice:before{content:\"\\f570\"}.fa-window-minimize:before{content:\"\\f2d1\"}.fa-coffee:before,.fa-mug-saucer:before{content:\"\\f0f4\"}.fa-brush:before{content:\"\\f55d\"}.fa-mask:before{content:\"\\f6fa\"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:\"\\f010\"}.fa-ruler-vertical:before{content:\"\\f548\"}.fa-user-alt:before,.fa-user-large:before{content:\"\\f406\"}.fa-train-tram:before{content:\"\\e5b4\"}.fa-user-nurse:before{content:\"\\f82f\"}.fa-syringe:before{content:\"\\f48e\"}.fa-cloud-sun:before{content:\"\\f6c4\"}.fa-stopwatch-20:before{content:\"\\e06f\"}.fa-square-full:before{content:\"\\f45c\"}.fa-magnet:before{content:\"\\f076\"}.fa-jar:before{content:\"\\e516\"}.fa-note-sticky:before,.fa-sticky-note:before{content:\"\\f249\"}.fa-bug-slash:before{content:\"\\e490\"}.fa-arrow-up-from-water-pump:before{content:\"\\e4b6\"}.fa-bone:before{content:\"\\f5d7\"}.fa-user-injured:before{content:\"\\f728\"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:\"\\f5b4\"}.fa-plane:before{content:\"\\f072\"}.fa-tent-arrows-down:before{content:\"\\e581\"}.fa-exclamation:before{content:\"\\21\"}.fa-arrows-spin:before{content:\"\\e4bb\"}.fa-print:before{content:\"\\f02f\"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:\"\\e2bb\"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:\"\\24\"}.fa-x:before{content:\"\\58\"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:\"\\f688\"}.fa-users-cog:before,.fa-users-gear:before{content:\"\\f509\"}.fa-person-military-pointing:before{content:\"\\e54a\"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:\"\\f19c\"}.fa-umbrella:before{content:\"\\f0e9\"}.fa-trowel:before{content:\"\\e589\"}.fa-d:before{content:\"\\44\"}.fa-stapler:before{content:\"\\e5af\"}.fa-masks-theater:before,.fa-theater-masks:before{content:\"\\f630\"}.fa-kip-sign:before{content:\"\\e1c4\"}.fa-hand-point-left:before{content:\"\\f0a5\"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:\"\\f4c6\"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:\"\\f0fb\"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:\"\\f1e1\"}.fa-barcode:before{content:\"\\f02a\"}.fa-plus-minus:before{content:\"\\e43c\"}.fa-video-camera:before,.fa-video:before{content:\"\\f03d\"}.fa-graduation-cap:before,.fa-mortar-board:before{content:\"\\f19d\"}.fa-hand-holding-medical:before{content:\"\\e05c\"}.fa-person-circle-check:before{content:\"\\e53e\"}.fa-level-up-alt:before,.fa-turn-up:before{content:\"\\f3bf\"}"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":".fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:\"Font Awesome 6 Brands\";--fa-font-brands:normal 400 1em/1 \"Font Awesome 6 Brands\"}@font-face{font-family:\"Font Awesome 6 Brands\";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format(\"woff2\"),url(../webfonts/fa-brands-400.ttf) format(\"truetype\")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:\"\\f3d0\"}.fa-hooli:before{content:\"\\f427\"}.fa-yelp:before{content:\"\\f1e9\"}.fa-cc-visa:before{content:\"\\f1f0\"}.fa-lastfm:before{content:\"\\f202\"}.fa-shopware:before{content:\"\\f5b5\"}.fa-creative-commons-nc:before{content:\"\\f4e8\"}.fa-aws:before{content:\"\\f375\"}.fa-redhat:before{content:\"\\f7bc\"}.fa-yoast:before{content:\"\\f2b1\"}.fa-cloudflare:before{content:\"\\e07d\"}.fa-ups:before{content:\"\\f7e0\"}.fa-wpexplorer:before{content:\"\\f2de\"}.fa-dyalog:before{content:\"\\f399\"}.fa-bity:before{content:\"\\f37a\"}.fa-stackpath:before{content:\"\\f842\"}.fa-buysellads:before{content:\"\\f20d\"}.fa-first-order:before{content:\"\\f2b0\"}.fa-modx:before{content:\"\\f285\"}.fa-guilded:before{content:\"\\e07e\"}.fa-vnv:before{content:\"\\f40b\"}.fa-js-square:before,.fa-square-js:before{content:\"\\f3b9\"}.fa-microsoft:before{content:\"\\f3ca\"}.fa-qq:before{content:\"\\f1d6\"}.fa-orcid:before{content:\"\\f8d2\"}.fa-java:before{content:\"\\f4e4\"}.fa-invision:before{content:\"\\f7b0\"}.fa-creative-commons-pd-alt:before{content:\"\\f4ed\"}.fa-centercode:before{content:\"\\f380\"}.fa-glide-g:before{content:\"\\f2a6\"}.fa-drupal:before{content:\"\\f1a9\"}.fa-hire-a-helper:before{content:\"\\f3b0\"}.fa-creative-commons-by:before{content:\"\\f4e7\"}.fa-unity:before{content:\"\\e049\"}.fa-whmcs:before{content:\"\\f40d\"}.fa-rocketchat:before{content:\"\\f3e8\"}.fa-vk:before{content:\"\\f189\"}.fa-untappd:before{content:\"\\f405\"}.fa-mailchimp:before{content:\"\\f59e\"}.fa-css3-alt:before{content:\"\\f38b\"}.fa-reddit-square:before,.fa-square-reddit:before{content:\"\\f1a2\"}.fa-vimeo-v:before{content:\"\\f27d\"}.fa-contao:before{content:\"\\f26d\"}.fa-square-font-awesome:before{content:\"\\e5ad\"}.fa-deskpro:before{content:\"\\f38f\"}.fa-sistrix:before{content:\"\\f3ee\"}.fa-instagram-square:before,.fa-square-instagram:before{content:\"\\e055\"}.fa-battle-net:before{content:\"\\f835\"}.fa-the-red-yeti:before{content:\"\\f69d\"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:\"\\f3af\"}.fa-edge:before{content:\"\\f282\"}.fa-napster:before{content:\"\\f3d2\"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:\"\\f2ad\"}.fa-google-plus-g:before{content:\"\\f0d5\"}.fa-artstation:before{content:\"\\f77a\"}.fa-markdown:before{content:\"\\f60f\"}.fa-sourcetree:before{content:\"\\f7d3\"}.fa-google-plus:before{content:\"\\f2b3\"}.fa-diaspora:before{content:\"\\f791\"}.fa-foursquare:before{content:\"\\f180\"}.fa-stack-overflow:before{content:\"\\f16c\"}.fa-github-alt:before{content:\"\\f113\"}.fa-phoenix-squadron:before{content:\"\\f511\"}.fa-pagelines:before{content:\"\\f18c\"}.fa-algolia:before{content:\"\\f36c\"}.fa-red-river:before{content:\"\\f3e3\"}.fa-creative-commons-sa:before{content:\"\\f4ef\"}.fa-safari:before{content:\"\\f267\"}.fa-google:before{content:\"\\f1a0\"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:\"\\f35c\"}.fa-atlassian:before{content:\"\\f77b\"}.fa-linkedin-in:before{content:\"\\f0e1\"}.fa-digital-ocean:before{content:\"\\f391\"}.fa-nimblr:before{content:\"\\f5a8\"}.fa-chromecast:before{content:\"\\f838\"}.fa-evernote:before{content:\"\\f839\"}.fa-hacker-news:before{content:\"\\f1d4\"}.fa-creative-commons-sampling:before{content:\"\\f4f0\"}.fa-adversal:before{content:\"\\f36a\"}.fa-creative-commons:before{content:\"\\f25e\"}.fa-watchman-monitoring:before{content:\"\\e087\"}.fa-fonticons:before{content:\"\\f280\"}.fa-weixin:before{content:\"\\f1d7\"}.fa-shirtsinbulk:before{content:\"\\f214\"}.fa-codepen:before{content:\"\\f1cb\"}.fa-git-alt:before{content:\"\\f841\"}.fa-lyft:before{content:\"\\f3c3\"}.fa-rev:before{content:\"\\f5b2\"}.fa-windows:before{content:\"\\f17a\"}.fa-wizards-of-the-coast:before{content:\"\\f730\"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:\"\\f2aa\"}.fa-meetup:before{content:\"\\f2e0\"}.fa-centos:before{content:\"\\f789\"}.fa-adn:before{content:\"\\f170\"}.fa-cloudsmith:before{content:\"\\f384\"}.fa-pied-piper-alt:before{content:\"\\f1a8\"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:\"\\f397\"}.fa-codiepie:before{content:\"\\f284\"}.fa-node:before{content:\"\\f419\"}.fa-mix:before{content:\"\\f3cb\"}.fa-steam:before{content:\"\\f1b6\"}.fa-cc-apple-pay:before{content:\"\\f416\"}.fa-scribd:before{content:\"\\f28a\"}.fa-openid:before{content:\"\\f19b\"}.fa-instalod:before{content:\"\\e081\"}.fa-expeditedssl:before{content:\"\\f23e\"}.fa-sellcast:before{content:\"\\f2da\"}.fa-square-twitter:before,.fa-twitter-square:before{content:\"\\f081\"}.fa-r-project:before{content:\"\\f4f7\"}.fa-delicious:before{content:\"\\f1a5\"}.fa-freebsd:before{content:\"\\f3a4\"}.fa-vuejs:before{content:\"\\f41f\"}.fa-accusoft:before{content:\"\\f369\"}.fa-ioxhost:before{content:\"\\f208\"}.fa-fonticons-fi:before{content:\"\\f3a2\"}.fa-app-store:before{content:\"\\f36f\"}.fa-cc-mastercard:before{content:\"\\f1f1\"}.fa-itunes-note:before{content:\"\\f3b5\"}.fa-golang:before{content:\"\\e40f\"}.fa-kickstarter:before{content:\"\\f3bb\"}.fa-grav:before{content:\"\\f2d6\"}.fa-weibo:before{content:\"\\f18a\"}.fa-uncharted:before{content:\"\\e084\"}.fa-firstdraft:before{content:\"\\f3a1\"}.fa-square-youtube:before,.fa-youtube-square:before{content:\"\\f431\"}.fa-wikipedia-w:before{content:\"\\f266\"}.fa-rendact:before,.fa-wpressr:before{content:\"\\f3e4\"}.fa-angellist:before{content:\"\\f209\"}.fa-galactic-republic:before{content:\"\\f50c\"}.fa-nfc-directional:before{content:\"\\e530\"}.fa-skype:before{content:\"\\f17e\"}.fa-joget:before{content:\"\\f3b7\"}.fa-fedora:before{content:\"\\f798\"}.fa-stripe-s:before{content:\"\\f42a\"}.fa-meta:before{content:\"\\e49b\"}.fa-laravel:before{content:\"\\f3bd\"}.fa-hotjar:before{content:\"\\f3b1\"}.fa-bluetooth-b:before{content:\"\\f294\"}.fa-sticker-mule:before{content:\"\\f3f7\"}.fa-creative-commons-zero:before{content:\"\\f4f3\"}.fa-hips:before{content:\"\\f452\"}.fa-behance:before{content:\"\\f1b4\"}.fa-reddit:before{content:\"\\f1a1\"}.fa-discord:before{content:\"\\f392\"}.fa-chrome:before{content:\"\\f268\"}.fa-app-store-ios:before{content:\"\\f370\"}.fa-cc-discover:before{content:\"\\f1f2\"}.fa-wpbeginner:before{content:\"\\f297\"}.fa-confluence:before{content:\"\\f78d\"}.fa-mdb:before{content:\"\\f8ca\"}.fa-dochub:before{content:\"\\f394\"}.fa-accessible-icon:before{content:\"\\f368\"}.fa-ebay:before{content:\"\\f4f4\"}.fa-amazon:before{content:\"\\f270\"}.fa-unsplash:before{content:\"\\e07c\"}.fa-yarn:before{content:\"\\f7e3\"}.fa-square-steam:before,.fa-steam-square:before{content:\"\\f1b7\"}.fa-500px:before{content:\"\\f26e\"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:\"\\f194\"}.fa-asymmetrik:before{content:\"\\f372\"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:\"\\f2b4\"}.fa-gratipay:before{content:\"\\f184\"}.fa-apple:before{content:\"\\f179\"}.fa-hive:before{content:\"\\e07f\"}.fa-gitkraken:before{content:\"\\f3a6\"}.fa-keybase:before{content:\"\\f4f5\"}.fa-apple-pay:before{content:\"\\f415\"}.fa-padlet:before{content:\"\\e4a0\"}.fa-amazon-pay:before{content:\"\\f42c\"}.fa-github-square:before,.fa-square-github:before{content:\"\\f092\"}.fa-stumbleupon:before{content:\"\\f1a4\"}.fa-fedex:before{content:\"\\f797\"}.fa-phoenix-framework:before{content:\"\\f3dc\"}.fa-shopify:before{content:\"\\e057\"}.fa-neos:before{content:\"\\f612\"}.fa-hackerrank:before{content:\"\\f5f7\"}.fa-researchgate:before{content:\"\\f4f8\"}.fa-swift:before{content:\"\\f8e1\"}.fa-angular:before{content:\"\\f420\"}.fa-speakap:before{content:\"\\f3f3\"}.fa-angrycreative:before{content:\"\\f36e\"}.fa-y-combinator:before{content:\"\\f23b\"}.fa-empire:before{content:\"\\f1d1\"}.fa-envira:before{content:\"\\f299\"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:\"\\e5ae\"}.fa-studiovinari:before{content:\"\\f3f8\"}.fa-pied-piper:before{content:\"\\f2ae\"}.fa-wordpress:before{content:\"\\f19a\"}.fa-product-hunt:before{content:\"\\f288\"}.fa-firefox:before{content:\"\\f269\"}.fa-linode:before{content:\"\\f2b8\"}.fa-goodreads:before{content:\"\\f3a8\"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:\"\\f264\"}.fa-jsfiddle:before{content:\"\\f1cc\"}.fa-sith:before{content:\"\\f512\"}.fa-themeisle:before{content:\"\\f2b2\"}.fa-page4:before{content:\"\\f3d7\"}.fa-hashnode:before{content:\"\\e499\"}.fa-react:before{content:\"\\f41b\"}.fa-cc-paypal:before{content:\"\\f1f4\"}.fa-squarespace:before{content:\"\\f5be\"}.fa-cc-stripe:before{content:\"\\f1f5\"}.fa-creative-commons-share:before{content:\"\\f4f2\"}.fa-bitcoin:before{content:\"\\f379\"}.fa-keycdn:before{content:\"\\f3ba\"}.fa-opera:before{content:\"\\f26a\"}.fa-itch-io:before{content:\"\\f83a\"}.fa-umbraco:before{content:\"\\f8e8\"}.fa-galactic-senate:before{content:\"\\f50d\"}.fa-ubuntu:before{content:\"\\f7df\"}.fa-draft2digital:before{content:\"\\f396\"}.fa-stripe:before{content:\"\\f429\"}.fa-houzz:before{content:\"\\f27c\"}.fa-gg:before{content:\"\\f260\"}.fa-dhl:before{content:\"\\f790\"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:\"\\f0d3\"}.fa-xing:before{content:\"\\f168\"}.fa-blackberry:before{content:\"\\f37b\"}.fa-creative-commons-pd:before{content:\"\\f4ec\"}.fa-playstation:before{content:\"\\f3df\"}.fa-quinscape:before{content:\"\\f459\"}.fa-less:before{content:\"\\f41d\"}.fa-blogger-b:before{content:\"\\f37d\"}.fa-opencart:before{content:\"\\f23d\"}.fa-vine:before{content:\"\\f1ca\"}.fa-paypal:before{content:\"\\f1ed\"}.fa-gitlab:before{content:\"\\f296\"}.fa-typo3:before{content:\"\\f42b\"}.fa-reddit-alien:before{content:\"\\f281\"}.fa-yahoo:before{content:\"\\f19e\"}.fa-dailymotion:before{content:\"\\e052\"}.fa-affiliatetheme:before{content:\"\\f36b\"}.fa-pied-piper-pp:before{content:\"\\f1a7\"}.fa-bootstrap:before{content:\"\\f836\"}.fa-odnoklassniki:before{content:\"\\f263\"}.fa-nfc-symbol:before{content:\"\\e531\"}.fa-ethereum:before{content:\"\\f42e\"}.fa-speaker-deck:before{content:\"\\f83c\"}.fa-creative-commons-nc-eu:before{content:\"\\f4e9\"}.fa-patreon:before{content:\"\\f3d9\"}.fa-avianex:before{content:\"\\f374\"}.fa-ello:before{content:\"\\f5f1\"}.fa-gofore:before{content:\"\\f3a7\"}.fa-bimobject:before{content:\"\\f378\"}.fa-facebook-f:before{content:\"\\f39e\"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:\"\\f0d4\"}.fa-mandalorian:before{content:\"\\f50f\"}.fa-first-order-alt:before{content:\"\\f50a\"}.fa-osi:before{content:\"\\f41a\"}.fa-google-wallet:before{content:\"\\f1ee\"}.fa-d-and-d-beyond:before{content:\"\\f6ca\"}.fa-periscope:before{content:\"\\f3da\"}.fa-fulcrum:before{content:\"\\f50b\"}.fa-cloudscale:before{content:\"\\f383\"}.fa-forumbee:before{content:\"\\f211\"}.fa-mizuni:before{content:\"\\f3cc\"}.fa-schlix:before{content:\"\\f3ea\"}.fa-square-xing:before,.fa-xing-square:before{content:\"\\f169\"}.fa-bandcamp:before{content:\"\\f2d5\"}.fa-wpforms:before{content:\"\\f298\"}.fa-cloudversify:before{content:\"\\f385\"}.fa-usps:before{content:\"\\f7e1\"}.fa-megaport:before{content:\"\\f5a3\"}.fa-magento:before{content:\"\\f3c4\"}.fa-spotify:before{content:\"\\f1bc\"}.fa-optin-monster:before{content:\"\\f23c\"}.fa-fly:before{content:\"\\f417\"}.fa-aviato:before{content:\"\\f421\"}.fa-itunes:before{content:\"\\f3b4\"}.fa-cuttlefish:before{content:\"\\f38c\"}.fa-blogger:before{content:\"\\f37c\"}.fa-flickr:before{content:\"\\f16e\"}.fa-viber:before{content:\"\\f409\"}.fa-soundcloud:before{content:\"\\f1be\"}.fa-digg:before{content:\"\\f1a6\"}.fa-tencent-weibo:before{content:\"\\f1d5\"}.fa-symfony:before{content:\"\\f83d\"}.fa-maxcdn:before{content:\"\\f136\"}.fa-etsy:before{content:\"\\f2d7\"}.fa-facebook-messenger:before{content:\"\\f39f\"}.fa-audible:before{content:\"\\f373\"}.fa-think-peaks:before{content:\"\\f731\"}.fa-bilibili:before{content:\"\\e3d9\"}.fa-erlang:before{content:\"\\f39d\"}.fa-cotton-bureau:before{content:\"\\f89e\"}.fa-dashcube:before{content:\"\\f210\"}.fa-42-group:before,.fa-innosoft:before{content:\"\\e080\"}.fa-stack-exchange:before{content:\"\\f18d\"}.fa-elementor:before{content:\"\\f430\"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:\"\\e01e\"}.fa-creative-commons-nd:before{content:\"\\f4eb\"}.fa-palfed:before{content:\"\\f3d8\"}.fa-superpowers:before{content:\"\\f2dd\"}.fa-resolving:before{content:\"\\f3e7\"}.fa-xbox:before{content:\"\\f412\"}.fa-searchengin:before{content:\"\\f3eb\"}.fa-tiktok:before{content:\"\\e07b\"}.fa-facebook-square:before,.fa-square-facebook:before{content:\"\\f082\"}.fa-renren:before{content:\"\\f18b\"}.fa-linux:before{content:\"\\f17c\"}.fa-glide:before{content:\"\\f2a5\"}.fa-linkedin:before{content:\"\\f08c\"}.fa-hubspot:before{content:\"\\f3b2\"}.fa-deploydog:before{content:\"\\f38e\"}.fa-twitch:before{content:\"\\f1e8\"}.fa-ravelry:before{content:\"\\f2d9\"}.fa-mixer:before{content:\"\\e056\"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:\"\\f203\"}.fa-vimeo:before{content:\"\\f40a\"}.fa-mendeley:before{content:\"\\f7b3\"}.fa-uniregistry:before{content:\"\\f404\"}.fa-figma:before{content:\"\\f799\"}.fa-creative-commons-remix:before{content:\"\\f4ee\"}.fa-cc-amazon-pay:before{content:\"\\f42d\"}.fa-dropbox:before{content:\"\\f16b\"}.fa-instagram:before{content:\"\\f16d\"}.fa-cmplid:before{content:\"\\e360\"}.fa-facebook:before{content:\"\\f09a\"}.fa-gripfire:before{content:\"\\f3ac\"}.fa-jedi-order:before{content:\"\\f50e\"}.fa-uikit:before{content:\"\\f403\"}.fa-fort-awesome-alt:before{content:\"\\f3a3\"}.fa-phabricator:before{content:\"\\f3db\"}.fa-ussunnah:before{content:\"\\f407\"}.fa-earlybirds:before{content:\"\\f39a\"}.fa-trade-federation:before{content:\"\\f513\"}.fa-autoprefixer:before{content:\"\\f41c\"}.fa-whatsapp:before{content:\"\\f232\"}.fa-slideshare:before{content:\"\\f1e7\"}.fa-google-play:before{content:\"\\f3ab\"}.fa-viadeo:before{content:\"\\f2a9\"}.fa-line:before{content:\"\\f3c0\"}.fa-google-drive:before{content:\"\\f3aa\"}.fa-servicestack:before{content:\"\\f3ec\"}.fa-simplybuilt:before{content:\"\\f215\"}.fa-bitbucket:before{content:\"\\f171\"}.fa-imdb:before{content:\"\\f2d8\"}.fa-deezer:before{content:\"\\e077\"}.fa-raspberry-pi:before{content:\"\\f7bb\"}.fa-jira:before{content:\"\\f7b1\"}.fa-docker:before{content:\"\\f395\"}.fa-screenpal:before{content:\"\\e570\"}.fa-bluetooth:before{content:\"\\f293\"}.fa-gitter:before{content:\"\\f426\"}.fa-d-and-d:before{content:\"\\f38d\"}.fa-microblog:before{content:\"\\e01a\"}.fa-cc-diners-club:before{content:\"\\f24c\"}.fa-gg-circle:before{content:\"\\f261\"}.fa-pied-piper-hat:before{content:\"\\f4e5\"}.fa-kickstarter-k:before{content:\"\\f3bc\"}.fa-yandex:before{content:\"\\f413\"}.fa-readme:before{content:\"\\f4d5\"}.fa-html5:before{content:\"\\f13b\"}.fa-sellsy:before{content:\"\\f213\"}.fa-sass:before{content:\"\\f41e\"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:\"\\e2d0\"}.fa-buromobelexperte:before{content:\"\\f37f\"}.fa-salesforce:before{content:\"\\f83b\"}.fa-octopus-deploy:before{content:\"\\e082\"}.fa-medapps:before{content:\"\\f3c6\"}.fa-ns8:before{content:\"\\f3d5\"}.fa-pinterest-p:before{content:\"\\f231\"}.fa-apper:before{content:\"\\f371\"}.fa-fort-awesome:before{content:\"\\f286\"}.fa-waze:before{content:\"\\f83f\"}.fa-cc-jcb:before{content:\"\\f24b\"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:\"\\f2ab\"}.fa-fantasy-flight-games:before{content:\"\\f6dc\"}.fa-rust:before{content:\"\\e07a\"}.fa-wix:before{content:\"\\f5cf\"}.fa-behance-square:before,.fa-square-behance:before{content:\"\\f1b5\"}.fa-supple:before{content:\"\\f3f9\"}.fa-rebel:before{content:\"\\f1d0\"}.fa-css3:before{content:\"\\f13c\"}.fa-staylinked:before{content:\"\\f3f5\"}.fa-kaggle:before{content:\"\\f5fa\"}.fa-space-awesome:before{content:\"\\e5ac\"}.fa-deviantart:before{content:\"\\f1bd\"}.fa-cpanel:before{content:\"\\f388\"}.fa-goodreads-g:before{content:\"\\f3a9\"}.fa-git-square:before,.fa-square-git:before{content:\"\\f1d2\"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:\"\\f174\"}.fa-trello:before{content:\"\\f181\"}.fa-creative-commons-nc-jp:before{content:\"\\f4ea\"}.fa-get-pocket:before{content:\"\\f265\"}.fa-perbyte:before{content:\"\\e083\"}.fa-grunt:before{content:\"\\f3ad\"}.fa-weebly:before{content:\"\\f5cc\"}.fa-connectdevelop:before{content:\"\\f20e\"}.fa-leanpub:before{content:\"\\f212\"}.fa-black-tie:before{content:\"\\f27e\"}.fa-themeco:before{content:\"\\f5c6\"}.fa-python:before{content:\"\\f3e2\"}.fa-android:before{content:\"\\f17b\"}.fa-bots:before{content:\"\\e340\"}.fa-free-code-camp:before{content:\"\\f2c5\"}.fa-hornbill:before{content:\"\\f592\"}.fa-js:before{content:\"\\f3b8\"}.fa-ideal:before{content:\"\\e013\"}.fa-git:before{content:\"\\f1d3\"}.fa-dev:before{content:\"\\f6cc\"}.fa-sketch:before{content:\"\\f7c6\"}.fa-yandex-international:before{content:\"\\f414\"}.fa-cc-amex:before{content:\"\\f1f3\"}.fa-uber:before{content:\"\\f402\"}.fa-github:before{content:\"\\f09b\"}.fa-php:before{content:\"\\f457\"}.fa-alipay:before{content:\"\\f642\"}.fa-youtube:before{content:\"\\f167\"}.fa-skyatlas:before{content:\"\\f216\"}.fa-firefox-browser:before{content:\"\\e007\"}.fa-replyd:before{content:\"\\f3e6\"}.fa-suse:before{content:\"\\f7d6\"}.fa-jenkins:before{content:\"\\f3b6\"}.fa-twitter:before{content:\"\\f099\"}.fa-rockrms:before{content:\"\\f3e9\"}.fa-pinterest:before{content:\"\\f0d2\"}.fa-buffer:before{content:\"\\f837\"}.fa-npm:before{content:\"\\f3d4\"}.fa-yammer:before{content:\"\\f840\"}.fa-btc:before{content:\"\\f15a\"}.fa-dribbble:before{content:\"\\f17d\"}.fa-stumbleupon-circle:before{content:\"\\f1a3\"}.fa-internet-explorer:before{content:\"\\f26b\"}.fa-stubber:before{content:\"\\e5c7\"}.fa-telegram-plane:before,.fa-telegram:before{content:\"\\f2c6\"}.fa-old-republic:before{content:\"\\f510\"}.fa-odysee:before{content:\"\\e5c6\"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:\"\\f40c\"}.fa-node-js:before{content:\"\\f3d3\"}.fa-edge-legacy:before{content:\"\\e078\"}.fa-slack-hash:before,.fa-slack:before{content:\"\\f198\"}.fa-medrt:before{content:\"\\f3c8\"}.fa-usb:before{content:\"\\f287\"}.fa-tumblr:before{content:\"\\f173\"}.fa-vaadin:before{content:\"\\f408\"}.fa-quora:before{content:\"\\f2c4\"}.fa-reacteurope:before{content:\"\\f75d\"}.fa-medium-m:before,.fa-medium:before{content:\"\\f23a\"}.fa-amilia:before{content:\"\\f36d\"}.fa-mixcloud:before{content:\"\\f289\"}.fa-flipboard:before{content:\"\\f44d\"}.fa-viacoin:before{content:\"\\f237\"}.fa-critical-role:before{content:\"\\f6c9\"}.fa-sitrox:before{content:\"\\e44a\"}.fa-discourse:before{content:\"\\f393\"}.fa-joomla:before{content:\"\\f1aa\"}.fa-mastodon:before{content:\"\\f4f6\"}.fa-airbnb:before{content:\"\\f834\"}.fa-wolf-pack-battalion:before{content:\"\\f514\"}.fa-buy-n-large:before{content:\"\\f8a6\"}.fa-gulp:before{content:\"\\f3ae\"}.fa-creative-commons-sampling-plus:before{content:\"\\f4f1\"}.fa-strava:before{content:\"\\f428\"}.fa-ember:before{content:\"\\f423\"}.fa-canadian-maple-leaf:before{content:\"\\f785\"}.fa-teamspeak:before{content:\"\\f4f9\"}.fa-pushed:before{content:\"\\f3e1\"}.fa-wordpress-simple:before{content:\"\\f411\"}.fa-nutritionix:before{content:\"\\f3d6\"}.fa-wodu:before{content:\"\\e088\"}.fa-google-pay:before{content:\"\\e079\"}.fa-intercom:before{content:\"\\f7af\"}.fa-zhihu:before{content:\"\\f63f\"}.fa-korvue:before{content:\"\\f42f\"}.fa-pix:before{content:\"\\e43a\"}.fa-steam-symbol:before{content:\"\\f3f6\"}:host,:root{--fa-font-regular:normal 400 1em/1 \"Font Awesome 6 Free\"}@font-face{font-family:\"Font Awesome 6 Free\";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format(\"woff2\"),url(../webfonts/fa-regular-400.ttf) format(\"truetype\")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:\"Font Awesome 6 Free\";--fa-font-solid:normal 900 1em/1 \"Font Awesome 6 Free\"}@font-face{font-family:\"Font Awesome 6 Free\";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format(\"woff2\"),url(../webfonts/fa-solid-900.ttf) format(\"truetype\")}.fa-solid,.fas{font-weight:900}@font-face{font-family:\"Font Awesome 5 Brands\";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format(\"woff2\"),url(../webfonts/fa-brands-400.ttf) format(\"truetype\")}@font-face{font-family:\"Font Awesome 5 Free\";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format(\"woff2\"),url(../webfonts/fa-solid-900.ttf) format(\"truetype\")}@font-face{font-family:\"Font Awesome 5 Free\";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format(\"woff2\"),url(../webfonts/fa-regular-400.ttf) format(\"truetype\")}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format(\"woff2\"),url(../webfonts/fa-solid-900.ttf) format(\"truetype\")}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format(\"woff2\"),url(../webfonts/fa-brands-400.ttf) format(\"truetype\")}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format(\"woff2\"),url(../webfonts/fa-regular-400.ttf) format(\"truetype\");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format(\"woff2\"),url(../webfonts/fa-v4compatibility.ttf) format(\"truetype\");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}"}],"authorContributionMap":{"jingting1412":9}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/glyphicons/css/bootstrap-glyphicons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" * Bootstrap v3.3.7 (http://getbootstrap.com)"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" * Copyright 2011-2016 Twitter, Inc."},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" */"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"/*!"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id\u003d76290a4e23bf2c3f61a4e17625be4627)"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" * Config saved to config.json and https://gist.github.com/76290a4e23bf2c3f61a4e17625be4627"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" */"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"/*!"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" * Bootstrap v3.3.7 (http://getbootstrap.com)"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" * Copyright 2011-2016 Twitter, Inc."},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" */"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":"/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":"@font-face{font-family:\u0027Glyphicons Halflings\u0027;src:url(../fonts/glyphicons-halflings-regular.eot);src:url(\u0027../fonts/glyphicons-halflings-regular.eot?#iefix\u0027) format(\u0027embedded-opentype\u0027),url(../fonts/glyphicons-halflings-regular.woff2) format(\u0027woff2\u0027),url(../fonts/glyphicons-halflings-regular.woff) format(\u0027woff\u0027),url(../fonts/glyphicons-halflings-regular.ttf) format(\u0027truetype\u0027),url(\u0027../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\u0027) format(\u0027svg\u0027)}.glyphicon{position:relative;top:1px;display:inline-block;font-family:\u0027Glyphicons Halflings\u0027;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:\"\\002a\"}.glyphicon-plus:before{content:\"\\002b\"}.glyphicon-euro:before,.glyphicon-eur:before{content:\"\\20ac\"}.glyphicon-minus:before{content:\"\\2212\"}.glyphicon-cloud:before{content:\"\\2601\"}.glyphicon-envelope:before{content:\"\\2709\"}.glyphicon-pencil:before{content:\"\\270f\"}.glyphicon-glass:before{content:\"\\e001\"}.glyphicon-music:before{content:\"\\e002\"}.glyphicon-search:before{content:\"\\e003\"}.glyphicon-heart:before{content:\"\\e005\"}.glyphicon-star:before{content:\"\\e006\"}.glyphicon-star-empty:before{content:\"\\e007\"}.glyphicon-user:before{content:\"\\e008\"}.glyphicon-film:before{content:\"\\e009\"}.glyphicon-th-large:before{content:\"\\e010\"}.glyphicon-th:before{content:\"\\e011\"}.glyphicon-th-list:before{content:\"\\e012\"}.glyphicon-ok:before{content:\"\\e013\"}.glyphicon-remove:before{content:\"\\e014\"}.glyphicon-zoom-in:before{content:\"\\e015\"}.glyphicon-zoom-out:before{content:\"\\e016\"}.glyphicon-off:before{content:\"\\e017\"}.glyphicon-signal:before{content:\"\\e018\"}.glyphicon-cog:before{content:\"\\e019\"}.glyphicon-trash:before{content:\"\\e020\"}.glyphicon-home:before{content:\"\\e021\"}.glyphicon-file:before{content:\"\\e022\"}.glyphicon-time:before{content:\"\\e023\"}.glyphicon-road:before{content:\"\\e024\"}.glyphicon-download-alt:before{content:\"\\e025\"}.glyphicon-download:before{content:\"\\e026\"}.glyphicon-upload:before{content:\"\\e027\"}.glyphicon-inbox:before{content:\"\\e028\"}.glyphicon-play-circle:before{content:\"\\e029\"}.glyphicon-repeat:before{content:\"\\e030\"}.glyphicon-refresh:before{content:\"\\e031\"}.glyphicon-list-alt:before{content:\"\\e032\"}.glyphicon-lock:before{content:\"\\e033\"}.glyphicon-flag:before{content:\"\\e034\"}.glyphicon-headphones:before{content:\"\\e035\"}.glyphicon-volume-off:before{content:\"\\e036\"}.glyphicon-volume-down:before{content:\"\\e037\"}.glyphicon-volume-up:before{content:\"\\e038\"}.glyphicon-qrcode:before{content:\"\\e039\"}.glyphicon-barcode:before{content:\"\\e040\"}.glyphicon-tag:before{content:\"\\e041\"}.glyphicon-tags:before{content:\"\\e042\"}.glyphicon-book:before{content:\"\\e043\"}.glyphicon-bookmark:before{content:\"\\e044\"}.glyphicon-print:before{content:\"\\e045\"}.glyphicon-camera:before{content:\"\\e046\"}.glyphicon-font:before{content:\"\\e047\"}.glyphicon-bold:before{content:\"\\e048\"}.glyphicon-italic:before{content:\"\\e049\"}.glyphicon-text-height:before{content:\"\\e050\"}.glyphicon-text-width:before{content:\"\\e051\"}.glyphicon-align-left:before{content:\"\\e052\"}.glyphicon-align-center:before{content:\"\\e053\"}.glyphicon-align-right:before{content:\"\\e054\"}.glyphicon-align-justify:before{content:\"\\e055\"}.glyphicon-list:before{content:\"\\e056\"}.glyphicon-indent-left:before{content:\"\\e057\"}.glyphicon-indent-right:before{content:\"\\e058\"}.glyphicon-facetime-video:before{content:\"\\e059\"}.glyphicon-picture:before{content:\"\\e060\"}.glyphicon-map-marker:before{content:\"\\e062\"}.glyphicon-adjust:before{content:\"\\e063\"}.glyphicon-tint:before{content:\"\\e064\"}.glyphicon-edit:before{content:\"\\e065\"}.glyphicon-share:before{content:\"\\e066\"}.glyphicon-check:before{content:\"\\e067\"}.glyphicon-move:before{content:\"\\e068\"}.glyphicon-step-backward:before{content:\"\\e069\"}.glyphicon-fast-backward:before{content:\"\\e070\"}.glyphicon-backward:before{content:\"\\e071\"}.glyphicon-play:before{content:\"\\e072\"}.glyphicon-pause:before{content:\"\\e073\"}.glyphicon-stop:before{content:\"\\e074\"}.glyphicon-forward:before{content:\"\\e075\"}.glyphicon-fast-forward:before{content:\"\\e076\"}.glyphicon-step-forward:before{content:\"\\e077\"}.glyphicon-eject:before{content:\"\\e078\"}.glyphicon-chevron-left:before{content:\"\\e079\"}.glyphicon-chevron-right:before{content:\"\\e080\"}.glyphicon-plus-sign:before{content:\"\\e081\"}.glyphicon-minus-sign:before{content:\"\\e082\"}.glyphicon-remove-sign:before{content:\"\\e083\"}.glyphicon-ok-sign:before{content:\"\\e084\"}.glyphicon-question-sign:before{content:\"\\e085\"}.glyphicon-info-sign:before{content:\"\\e086\"}.glyphicon-screenshot:before{content:\"\\e087\"}.glyphicon-remove-circle:before{content:\"\\e088\"}.glyphicon-ok-circle:before{content:\"\\e089\"}.glyphicon-ban-circle:before{content:\"\\e090\"}.glyphicon-arrow-left:before{content:\"\\e091\"}.glyphicon-arrow-right:before{content:\"\\e092\"}.glyphicon-arrow-up:before{content:\"\\e093\"}.glyphicon-arrow-down:before{content:\"\\e094\"}.glyphicon-share-alt:before{content:\"\\e095\"}.glyphicon-resize-full:before{content:\"\\e096\"}.glyphicon-resize-small:before{content:\"\\e097\"}.glyphicon-exclamation-sign:before{content:\"\\e101\"}.glyphicon-gift:before{content:\"\\e102\"}.glyphicon-leaf:before{content:\"\\e103\"}.glyphicon-fire:before{content:\"\\e104\"}.glyphicon-eye-open:before{content:\"\\e105\"}.glyphicon-eye-close:before{content:\"\\e106\"}.glyphicon-warning-sign:before{content:\"\\e107\"}.glyphicon-plane:before{content:\"\\e108\"}.glyphicon-calendar:before{content:\"\\e109\"}.glyphicon-random:before{content:\"\\e110\"}.glyphicon-comment:before{content:\"\\e111\"}.glyphicon-magnet:before{content:\"\\e112\"}.glyphicon-chevron-up:before{content:\"\\e113\"}.glyphicon-chevron-down:before{content:\"\\e114\"}.glyphicon-retweet:before{content:\"\\e115\"}.glyphicon-shopping-cart:before{content:\"\\e116\"}.glyphicon-folder-close:before{content:\"\\e117\"}.glyphicon-folder-open:before{content:\"\\e118\"}.glyphicon-resize-vertical:before{content:\"\\e119\"}.glyphicon-resize-horizontal:before{content:\"\\e120\"}.glyphicon-hdd:before{content:\"\\e121\"}.glyphicon-bullhorn:before{content:\"\\e122\"}.glyphicon-bell:before{content:\"\\e123\"}.glyphicon-certificate:before{content:\"\\e124\"}.glyphicon-thumbs-up:before{content:\"\\e125\"}.glyphicon-thumbs-down:before{content:\"\\e126\"}.glyphicon-hand-right:before{content:\"\\e127\"}.glyphicon-hand-left:before{content:\"\\e128\"}.glyphicon-hand-up:before{content:\"\\e129\"}.glyphicon-hand-down:before{content:\"\\e130\"}.glyphicon-circle-arrow-right:before{content:\"\\e131\"}.glyphicon-circle-arrow-left:before{content:\"\\e132\"}.glyphicon-circle-arrow-up:before{content:\"\\e133\"}.glyphicon-circle-arrow-down:before{content:\"\\e134\"}.glyphicon-globe:before{content:\"\\e135\"}.glyphicon-wrench:before{content:\"\\e136\"}.glyphicon-tasks:before{content:\"\\e137\"}.glyphicon-filter:before{content:\"\\e138\"}.glyphicon-briefcase:before{content:\"\\e139\"}.glyphicon-fullscreen:before{content:\"\\e140\"}.glyphicon-dashboard:before{content:\"\\e141\"}.glyphicon-paperclip:before{content:\"\\e142\"}.glyphicon-heart-empty:before{content:\"\\e143\"}.glyphicon-link:before{content:\"\\e144\"}.glyphicon-phone:before{content:\"\\e145\"}.glyphicon-pushpin:before{content:\"\\e146\"}.glyphicon-usd:before{content:\"\\e148\"}.glyphicon-gbp:before{content:\"\\e149\"}.glyphicon-sort:before{content:\"\\e150\"}.glyphicon-sort-by-alphabet:before{content:\"\\e151\"}.glyphicon-sort-by-alphabet-alt:before{content:\"\\e152\"}.glyphicon-sort-by-order:before{content:\"\\e153\"}.glyphicon-sort-by-order-alt:before{content:\"\\e154\"}.glyphicon-sort-by-attributes:before{content:\"\\e155\"}.glyphicon-sort-by-attributes-alt:before{content:\"\\e156\"}.glyphicon-unchecked:before{content:\"\\e157\"}.glyphicon-expand:before{content:\"\\e158\"}.glyphicon-collapse-down:before{content:\"\\e159\"}.glyphicon-collapse-up:before{content:\"\\e160\"}.glyphicon-log-in:before{content:\"\\e161\"}.glyphicon-flash:before{content:\"\\e162\"}.glyphicon-log-out:before{content:\"\\e163\"}.glyphicon-new-window:before{content:\"\\e164\"}.glyphicon-record:before{content:\"\\e165\"}.glyphicon-save:before{content:\"\\e166\"}.glyphicon-open:before{content:\"\\e167\"}.glyphicon-saved:before{content:\"\\e168\"}.glyphicon-import:before{content:\"\\e169\"}.glyphicon-export:before{content:\"\\e170\"}.glyphicon-send:before{content:\"\\e171\"}.glyphicon-floppy-disk:before{content:\"\\e172\"}.glyphicon-floppy-saved:before{content:\"\\e173\"}.glyphicon-floppy-remove:before{content:\"\\e174\"}.glyphicon-floppy-save:before{content:\"\\e175\"}.glyphicon-floppy-open:before{content:\"\\e176\"}.glyphicon-credit-card:before{content:\"\\e177\"}.glyphicon-transfer:before{content:\"\\e178\"}.glyphicon-cutlery:before{content:\"\\e179\"}.glyphicon-header:before{content:\"\\e180\"}.glyphicon-compressed:before{content:\"\\e181\"}.glyphicon-earphone:before{content:\"\\e182\"}.glyphicon-phone-alt:before{content:\"\\e183\"}.glyphicon-tower:before{content:\"\\e184\"}.glyphicon-stats:before{content:\"\\e185\"}.glyphicon-sd-video:before{content:\"\\e186\"}.glyphicon-hd-video:before{content:\"\\e187\"}.glyphicon-subtitles:before{content:\"\\e188\"}.glyphicon-sound-stereo:before{content:\"\\e189\"}.glyphicon-sound-dolby:before{content:\"\\e190\"}.glyphicon-sound-5-1:before{content:\"\\e191\"}.glyphicon-sound-6-1:before{content:\"\\e192\"}.glyphicon-sound-7-1:before{content:\"\\e193\"}.glyphicon-copyright-mark:before{content:\"\\e194\"}.glyphicon-registration-mark:before{content:\"\\e195\"}.glyphicon-cloud-download:before{content:\"\\e197\"}.glyphicon-cloud-upload:before{content:\"\\e198\"}.glyphicon-tree-conifer:before{content:\"\\e199\"}.glyphicon-tree-deciduous:before{content:\"\\e200\"}.glyphicon-cd:before{content:\"\\e201\"}.glyphicon-save-file:before{content:\"\\e202\"}.glyphicon-open-file:before{content:\"\\e203\"}.glyphicon-level-up:before{content:\"\\e204\"}.glyphicon-copy:before{content:\"\\e205\"}.glyphicon-paste:before{content:\"\\e206\"}.glyphicon-alert:before{content:\"\\e209\"}.glyphicon-equalizer:before{content:\"\\e210\"}.glyphicon-king:before{content:\"\\e211\"}.glyphicon-queen:before{content:\"\\e212\"}.glyphicon-pawn:before{content:\"\\e213\"}.glyphicon-bishop:before{content:\"\\e214\"}.glyphicon-knight:before{content:\"\\e215\"}.glyphicon-baby-formula:before{content:\"\\e216\"}.glyphicon-tent:before{content:\"\\26fa\"}.glyphicon-blackboard:before{content:\"\\e218\"}.glyphicon-bed:before{content:\"\\e219\"}.glyphicon-apple:before{content:\"\\f8ff\"}.glyphicon-erase:before{content:\"\\e221\"}.glyphicon-hourglass:before{content:\"\\231b\"}.glyphicon-lamp:before{content:\"\\e223\"}.glyphicon-duplicate:before{content:\"\\e224\"}.glyphicon-piggy-bank:before{content:\"\\e225\"}.glyphicon-scissors:before{content:\"\\e226\"}.glyphicon-bitcoin:before{content:\"\\e227\"}.glyphicon-btc:before{content:\"\\e227\"}.glyphicon-xbt:before{content:\"\\e227\"}.glyphicon-yen:before{content:\"\\00a5\"}.glyphicon-jpy:before{content:\"\\00a5\"}.glyphicon-ruble:before{content:\"\\20bd\"}.glyphicon-rub:before{content:\"\\20bd\"}.glyphicon-scale:before{content:\"\\e230\"}.glyphicon-ice-lolly:before{content:\"\\e231\"}.glyphicon-ice-lolly-tasted:before{content:\"\\e232\"}.glyphicon-education:before{content:\"\\e233\"}.glyphicon-option-horizontal:before{content:\"\\e234\"}.glyphicon-option-vertical:before{content:\"\\e235\"}.glyphicon-menu-hamburger:before{content:\"\\e236\"}.glyphicon-modal-window:before{content:\"\\e237\"}.glyphicon-oil:before{content:\"\\e238\"}.glyphicon-grain:before{content:\"\\e239\"}.glyphicon-sunglasses:before{content:\"\\e240\"}.glyphicon-text-size:before{content:\"\\e241\"}.glyphicon-text-color:before{content:\"\\e242\"}.glyphicon-text-background:before{content:\"\\e243\"}.glyphicon-object-align-top:before{content:\"\\e244\"}.glyphicon-object-align-bottom:before{content:\"\\e245\"}.glyphicon-object-align-horizontal:before{content:\"\\e246\"}.glyphicon-object-align-left:before{content:\"\\e247\"}.glyphicon-object-align-vertical:before{content:\"\\e248\"}.glyphicon-object-align-right:before{content:\"\\e249\"}.glyphicon-triangle-right:before{content:\"\\e250\"}.glyphicon-triangle-left:before{content:\"\\e251\"}.glyphicon-triangle-bottom:before{content:\"\\e252\"}.glyphicon-triangle-top:before{content:\"\\e253\"}.glyphicon-console:before{content:\"\\e254\"}.glyphicon-superscript:before{content:\"\\e255\"}.glyphicon-subscript:before{content:\"\\e256\"}.glyphicon-menu-left:before{content:\"\\e257\"}.glyphicon-menu-right:before{content:\"\\e258\"}.glyphicon-menu-down:before{content:\"\\e259\"}.glyphicon-menu-up:before{content:\"\\e260\"}"}],"authorContributionMap":{"jingting1412":17}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/js/bootstrap-utility.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" * Bootstrap v5.1.3 (https://getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" */"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"!function(t,e){\"object\"\u003d\u003dtypeof exports\u0026\u0026\"undefined\"!\u003dtypeof module?module.exports\u003de():\"function\"\u003d\u003dtypeof define\u0026\u0026define.amd?define(e):(t\u003d\"undefined\"!\u003dtypeof globalThis?globalThis:t||self).bootstrap\u003de()}(this,(function(){\"use strict\";const t\u003d\"transitionend\",e\u003dt\u003d\u003e{let e\u003dt.getAttribute(\"data-bs-target\");if(!e||\"#\"\u003d\u003d\u003de){let i\u003dt.getAttribute(\"href\");if(!i||!i.includes(\"#\")\u0026\u0026!i.startsWith(\".\"))return null;i.includes(\"#\")\u0026\u0026!i.startsWith(\"#\")\u0026\u0026(i\u003d`#${i.split(\"#\")[1]}`),e\u003di\u0026\u0026\"#\"!\u003d\u003di?i.trim():null}return e},i\u003dt\u003d\u003e{const i\u003de(t);return i\u0026\u0026document.querySelector(i)?i:null},n\u003dt\u003d\u003e{const i\u003de(t);return i?document.querySelector(i):null},s\u003de\u003d\u003e{e.dispatchEvent(new Event(t))},o\u003dt\u003d\u003e!(!t||\"object\"!\u003dtypeof t)\u0026\u0026(void 0!\u003d\u003dt.jquery\u0026\u0026(t\u003dt[0]),void 0!\u003d\u003dt.nodeType),r\u003dt\u003d\u003eo(t)?t.jquery?t[0]:t:\"string\"\u003d\u003dtypeof t\u0026\u0026t.length\u003e0?document.querySelector(t):null,a\u003d(t,e,i)\u003d\u003e{Object.keys(i).forEach((n\u003d\u003e{const s\u003di[n],r\u003de[n],a\u003dr\u0026\u0026o(r)?\"element\":null\u003d\u003d(l\u003dr)?`${l}`:{}.toString.call(l).match(/\\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option \"${n}\" provided type \"${a}\" but expected type \"${s}\".`)}))},l\u003dt\u003d\u003e!(!o(t)||0\u003d\u003d\u003dt.getClientRects().length)\u0026\u0026\"visible\"\u003d\u003d\u003dgetComputedStyle(t).getPropertyValue(\"visibility\"),c\u003dt\u003d\u003e!t||t.nodeType!\u003d\u003dNode.ELEMENT_NODE||!!t.classList.contains(\"disabled\")||(void 0!\u003d\u003dt.disabled?t.disabled:t.hasAttribute(\"disabled\")\u0026\u0026\"false\"!\u003d\u003dt.getAttribute(\"disabled\")),h\u003dt\u003d\u003e{if(!document.documentElement.attachShadow)return null;if(\"function\"\u003d\u003dtypeof t.getRootNode){const e\u003dt.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},d\u003d()\u003d\u003e{},u\u003dt\u003d\u003e{t.offsetHeight},f\u003d()\u003d\u003e{const{jQuery:t}\u003dwindow;return t\u0026\u0026!document.body.hasAttribute(\"data-bs-no-jquery\")?t:null},p\u003d[],m\u003d()\u003d\u003e\"rtl\"\u003d\u003d\u003ddocument.documentElement.dir,g\u003dt\u003d\u003e{var e;e\u003d()\u003d\u003e{const e\u003df();if(e){const i\u003dt.NAME,n\u003de.fn[i];e.fn[i]\u003dt.jQueryInterface,e.fn[i].Constructor\u003dt,e.fn[i].noConflict\u003d()\u003d\u003e(e.fn[i]\u003dn,t.jQueryInterface)}},\"loading\"\u003d\u003d\u003ddocument.readyState?(p.length||document.addEventListener(\"DOMContentLoaded\",(()\u003d\u003e{p.forEach((t\u003d\u003et()))})),p.push(e)):e()},_\u003dt\u003d\u003e{\"function\"\u003d\u003dtypeof t\u0026\u0026t()},b\u003d(e,i,n\u003d!0)\u003d\u003e{if(!n)return void _(e);const o\u003d(t\u003d\u003e{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}\u003dwindow.getComputedStyle(t);const n\u003dNumber.parseFloat(e),s\u003dNumber.parseFloat(i);return n||s?(e\u003de.split(\",\")[0],i\u003di.split(\",\")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(i)+5;let r\u003d!1;const a\u003d({target:n})\u003d\u003e{n\u003d\u003d\u003di\u0026\u0026(r\u003d!0,i.removeEventListener(t,a),_(e))};i.addEventListener(t,a),setTimeout((()\u003d\u003e{r||s(i)}),o)},v\u003d(t,e,i,n)\u003d\u003e{let s\u003dt.indexOf(e);if(-1\u003d\u003d\u003ds)return t[!i\u0026\u0026n?t.length-1:0];const o\u003dt.length;return s+\u003di?1:-1,n\u0026\u0026(s\u003d(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},y\u003d/[^.]*(?\u003d\\..*)\\.|.*/,w\u003d/\\..*/,E\u003d/::\\d+$/,A\u003d{};let T\u003d1;const O\u003d{mouseenter:\"mouseover\",mouseleave:\"mouseout\"},C\u003d/^(mouseenter|mouseleave)/i,k\u003dnew Set([\"click\",\"dblclick\",\"mouseup\",\"mousedown\",\"contextmenu\",\"mousewheel\",\"DOMMouseScroll\",\"mouseover\",\"mouseout\",\"mousemove\",\"selectstart\",\"selectend\",\"keydown\",\"keypress\",\"keyup\",\"orientationchange\",\"touchstart\",\"touchmove\",\"touchend\",\"touchcancel\",\"pointerdown\",\"pointermove\",\"pointerup\",\"pointerleave\",\"pointercancel\",\"gesturestart\",\"gesturechange\",\"gestureend\",\"focus\",\"blur\",\"change\",\"reset\",\"select\",\"submit\",\"focusin\",\"focusout\",\"load\",\"unload\",\"beforeunload\",\"resize\",\"move\",\"DOMContentLoaded\",\"readystatechange\",\"error\",\"abort\",\"scroll\"]);function L(t,e){return e\u0026\u0026`${e}::${T++}`||t.uidEvent||T++}function x(t){const e\u003dL(t);return t.uidEvent\u003de,A[e]\u003dA[e]||{},A[e]}function D(t,e,i\u003dnull){const n\u003dObject.keys(t);for(let s\u003d0,o\u003dn.length;s\u003co;s++){const o\u003dt[n[s]];if(o.originalHandler\u003d\u003d\u003de\u0026\u0026o.delegationSelector\u003d\u003d\u003di)return o}return null}function S(t,e,i){const n\u003d\"string\"\u003d\u003dtypeof e,s\u003dn?i:e;let o\u003dP(t);return k.has(o)||(o\u003dt),[n,s,o]}function N(t,e,i,n,s){if(\"string\"!\u003dtypeof e||!t)return;if(i||(i\u003dn,n\u003dnull),C.test(e)){const t\u003dt\u003d\u003efunction(e){if(!e.relatedTarget||e.relatedTarget!\u003d\u003de.delegateTarget\u0026\u0026!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n\u003dt(n):i\u003dt(i)}const[o,r,a]\u003dS(e,i,n),l\u003dx(t),c\u003dl[a]||(l[a]\u003d{}),h\u003dD(c,r,o?i:null);if(h)return void(h.oneOff\u003dh.oneOff\u0026\u0026s);const d\u003dL(r,e.replace(y,\"\")),u\u003do?function(t,e,i){return function n(s){const o\u003dt.querySelectorAll(e);for(let{target:r}\u003ds;r\u0026\u0026r!\u003d\u003dthis;r\u003dr.parentNode)for(let a\u003do.length;a--;)if(o[a]\u003d\u003d\u003dr)return s.delegateTarget\u003dr,n.oneOff\u0026\u0026j.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget\u003dt,i.oneOff\u0026\u0026j.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector\u003do?i:null,u.originalHandler\u003dr,u.oneOff\u003ds,u.uidEvent\u003dd,c[d]\u003du,t.addEventListener(a,u,o)}function I(t,e,i,n,s){const o\u003dD(e[i],n,s);o\u0026\u0026(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function P(t){return t\u003dt.replace(w,\"\"),O[t]||t}const j\u003d{on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if(\"string\"!\u003dtypeof e||!t)return;const[s,o,r]\u003dS(e,i,n),a\u003dr!\u003d\u003de,l\u003dx(t),c\u003de.startsWith(\".\");if(void 0!\u003d\u003do){if(!l||!l[r])return;return void I(t,l,r,o,s?i:null)}c\u0026\u0026Object.keys(l).forEach((i\u003d\u003e{!function(t,e,i,n){const s\u003de[i]||{};Object.keys(s).forEach((o\u003d\u003e{if(o.includes(n)){const n\u003ds[o];I(t,e,i,n.originalHandler,n.delegationSelector)}}))}(t,l,i,e.slice(1))}));const h\u003dl[r]||{};Object.keys(h).forEach((i\u003d\u003e{const n\u003di.replace(E,\"\");if(!a||e.includes(n)){const e\u003dh[i];I(t,l,r,e.originalHandler,e.delegationSelector)}}))},trigger(t,e,i){if(\"string\"!\u003dtypeof e||!t)return null;const n\u003df(),s\u003dP(e),o\u003de!\u003d\u003ds,r\u003dk.has(s);let a,l\u003d!0,c\u003d!0,h\u003d!1,d\u003dnull;return o\u0026\u0026n\u0026\u0026(a\u003dn.Event(e,i),n(t).trigger(a),l\u003d!a.isPropagationStopped(),c\u003d!a.isImmediatePropagationStopped(),h\u003da.isDefaultPrevented()),r?(d\u003ddocument.createEvent(\"HTMLEvents\"),d.initEvent(s,l,!0)):d\u003dnew CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!\u003d\u003di\u0026\u0026Object.keys(i).forEach((t\u003d\u003e{Object.defineProperty(d,t,{get:()\u003d\u003ei[t]})})),h\u0026\u0026d.preventDefault(),c\u0026\u0026t.dispatchEvent(d),d.defaultPrevented\u0026\u0026void 0!\u003d\u003da\u0026\u0026a.preventDefault(),d}},M\u003dnew Map,H\u003d{set(t,e,i){M.has(t)||M.set(t,new Map);const n\u003dM.get(t);n.has(e)||0\u003d\u003d\u003dn.size?n.set(e,i):console.error(`Bootstrap doesn\u0027t allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)\u003d\u003eM.has(t)\u0026\u0026M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i\u003dM.get(t);i.delete(e),0\u003d\u003d\u003di.size\u0026\u0026M.delete(t)}};class B{constructor(t){(t\u003dr(t))\u0026\u0026(this._element\u003dt,H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach((t\u003d\u003e{this[t]\u003dnull}))}_queueCallback(t,e,i\u003d!0){b(t,e,i)}static getInstance(t){return H.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e\u003d{}){return this.getInstance(t)||new this(t,\"object\"\u003d\u003dtypeof e?e:null)}static get VERSION(){return\"5.1.3\"}static get NAME(){throw new Error(\u0027You have to implement the static method \"NAME\", for each component!\u0027)}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const R\u003d(t,e\u003d\"hide\")\u003d\u003e{const i\u003d`click.dismiss${t.EVENT_KEY}`,s\u003dt.NAME;j.on(document,i,`[data-bs-dismiss\u003d\"${s}\"]`,(function(i){if([\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026i.preventDefault(),c(this))return;const o\u003dn(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class W extends B{static get NAME(){return\"alert\"}close(){if(j.trigger(this._element,\"close.bs.alert\").defaultPrevented)return;this._element.classList.remove(\"show\");const t\u003dthis._element.classList.contains(\"fade\");this._queueCallback((()\u003d\u003ethis._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,\"closed.bs.alert\"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e\u003dW.getOrCreateInstance(this);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t]||t.startsWith(\"_\")||\"constructor\"\u003d\u003d\u003dt)throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}R(W,\"close\"),g(W);const $\u003d\u0027[data-bs-toggle\u003d\"button\"]\u0027;class z extends B{static get NAME(){return\"button\"}toggle(){this._element.setAttribute(\"aria-pressed\",this._element.classList.toggle(\"active\"))}static jQueryInterface(t){return this.each((function(){const e\u003dz.getOrCreateInstance(this);\"toggle\"\u003d\u003d\u003dt\u0026\u0026e[t]()}))}}function q(t){return\"true\"\u003d\u003d\u003dt||\"false\"!\u003d\u003dt\u0026\u0026(t\u003d\u003d\u003dNumber(t).toString()?Number(t):\"\"\u003d\u003d\u003dt||\"null\"\u003d\u003d\u003dt?null:t)}function F(t){return t.replace(/[A-Z]/g,(t\u003d\u003e`-${t.toLowerCase()}`))}j.on(document,\"click.bs.button.data-api\",$,(t\u003d\u003e{t.preventDefault();const e\u003dt.target.closest($);z.getOrCreateInstance(e).toggle()})),g(z);const U\u003d{setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e\u003d{};return Object.keys(t.dataset).filter((t\u003d\u003et.startsWith(\"bs\"))).forEach((i\u003d\u003e{let n\u003di.replace(/^bs/,\"\");n\u003dn.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]\u003dq(t.dataset[i])})),e},getDataAttribute:(t,e)\u003d\u003eq(t.getAttribute(`data-bs-${F(e)}`)),offset(t){const e\u003dt.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t\u003d\u003e({top:t.offsetTop,left:t.offsetLeft})},V\u003d{find:(t,e\u003ddocument.documentElement)\u003d\u003e[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e\u003ddocument.documentElement)\u003d\u003eElement.prototype.querySelector.call(e,t),children:(t,e)\u003d\u003e[].concat(...t.children).filter((t\u003d\u003et.matches(e))),parents(t,e){const i\u003d[];let n\u003dt.parentNode;for(;n\u0026\u0026n.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE\u0026\u00263!\u003d\u003dn.nodeType;)n.matches(e)\u0026\u0026i.push(n),n\u003dn.parentNode;return i},prev(t,e){let i\u003dt.previousElementSibling;for(;i;){if(i.matches(e))return[i];i\u003di.previousElementSibling}return[]},next(t,e){let i\u003dt.nextElementSibling;for(;i;){if(i.matches(e))return[i];i\u003di.nextElementSibling}return[]},focusableChildren(t){const e\u003d[\"a\",\"button\",\"input\",\"textarea\",\"select\",\"details\",\"[tabindex]\",\u0027[contenteditable\u003d\"true\"]\u0027].map((t\u003d\u003e`${t}:not([tabindex^\u003d\"-\"])`)).join(\", \");return this.find(e,t).filter((t\u003d\u003e!c(t)\u0026\u0026l(t)))}},K\u003d\"carousel\",X\u003d{interval:5e3,keyboard:!0,slide:!1,pause:\"hover\",wrap:!0,touch:!0},Y\u003d{interval:\"(number|boolean)\",keyboard:\"boolean\",slide:\"(boolean|string)\",pause:\"(string|boolean)\",wrap:\"boolean\",touch:\"boolean\"},Q\u003d\"next\",G\u003d\"prev\",Z\u003d\"left\",J\u003d\"right\",tt\u003d{ArrowLeft:J,ArrowRight:Z},et\u003d\"slid.bs.carousel\",it\u003d\"active\",nt\u003d\".active.carousel-item\";class st extends B{constructor(t,e){super(t),this._items\u003dnull,this._interval\u003dnull,this._activeElement\u003dnull,this._isPaused\u003d!1,this._isSliding\u003d!1,this.touchTimeout\u003dnull,this.touchStartX\u003d0,this.touchDeltaX\u003d0,this._config\u003dthis._getConfig(e),this._indicatorsElement\u003dV.findOne(\".carousel-indicators\",this._element),this._touchSupported\u003d\"ontouchstart\"in document.documentElement||navigator.maxTouchPoints\u003e0,this._pointerEvent\u003dBoolean(window.PointerEvent),this._addEventListeners()}static get Default(){return X}static get NAME(){return K}next(){this._slide(Q)}nextWhenVisible(){!document.hidden\u0026\u0026l(this._element)\u0026\u0026this.next()}prev(){this._slide(G)}pause(t){t||(this._isPaused\u003d!0),V.findOne(\".carousel-item-next, .carousel-item-prev\",this._element)\u0026\u0026(s(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval\u003dnull}cycle(t){t||(this._isPaused\u003d!1),this._interval\u0026\u0026(clearInterval(this._interval),this._interval\u003dnull),this._config\u0026\u0026this._config.interval\u0026\u0026!this._isPaused\u0026\u0026(this._updateInterval(),this._interval\u003dsetInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement\u003dV.findOne(nt,this._element);const e\u003dthis._getItemIndex(this._activeElement);if(t\u003ethis._items.length-1||t\u003c0)return;if(this._isSliding)return void j.one(this._element,et,(()\u003d\u003ethis.to(t)));if(e\u003d\u003d\u003dt)return this.pause(),void this.cycle();const i\u003dt\u003ee?Q:G;this._slide(i,this._items[t])}_getConfig(t){return t\u003d{...X,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t?t:{}},a(K,t,Y),t}_handleSwipe(){const t\u003dMath.abs(this.touchDeltaX);if(t\u003c\u003d40)return;const e\u003dt/this.touchDeltaX;this.touchDeltaX\u003d0,e\u0026\u0026this._slide(e\u003e0?J:Z)}_addEventListeners(){this._config.keyboard\u0026\u0026j.on(this._element,\"keydown.bs.carousel\",(t\u003d\u003ethis._keydown(t))),\"hover\"\u003d\u003d\u003dthis._config.pause\u0026\u0026(j.on(this._element,\"mouseenter.bs.carousel\",(t\u003d\u003ethis.pause(t))),j.on(this._element,\"mouseleave.bs.carousel\",(t\u003d\u003ethis.cycle(t)))),this._config.touch\u0026\u0026this._touchSupported\u0026\u0026this._addTouchEventListeners()}_addTouchEventListeners(){const t\u003dt\u003d\u003ethis._pointerEvent\u0026\u0026(\"pen\"\u003d\u003d\u003dt.pointerType||\"touch\"\u003d\u003d\u003dt.pointerType),e\u003de\u003d\u003e{t(e)?this.touchStartX\u003de.clientX:this._pointerEvent||(this.touchStartX\u003de.touches[0].clientX)},i\u003dt\u003d\u003e{this.touchDeltaX\u003dt.touches\u0026\u0026t.touches.length\u003e1?0:t.touches[0].clientX-this.touchStartX},n\u003de\u003d\u003e{t(e)\u0026\u0026(this.touchDeltaX\u003de.clientX-this.touchStartX),this._handleSwipe(),\"hover\"\u003d\u003d\u003dthis._config.pause\u0026\u0026(this.pause(),this.touchTimeout\u0026\u0026clearTimeout(this.touchTimeout),this.touchTimeout\u003dsetTimeout((t\u003d\u003ethis.cycle(t)),500+this._config.interval))};V.find(\".carousel-item img\",this._element).forEach((t\u003d\u003e{j.on(t,\"dragstart.bs.carousel\",(t\u003d\u003et.preventDefault()))})),this._pointerEvent?(j.on(this._element,\"pointerdown.bs.carousel\",(t\u003d\u003ee(t))),j.on(this._element,\"pointerup.bs.carousel\",(t\u003d\u003en(t))),this._element.classList.add(\"pointer-event\")):(j.on(this._element,\"touchstart.bs.carousel\",(t\u003d\u003ee(t))),j.on(this._element,\"touchmove.bs.carousel\",(t\u003d\u003ei(t))),j.on(this._element,\"touchend.bs.carousel\",(t\u003d\u003en(t))))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e\u003dtt[t.key];e\u0026\u0026(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items\u003dt\u0026\u0026t.parentNode?V.find(\".carousel-item\",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i\u003dt\u003d\u003d\u003dQ;return v(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i\u003dthis._getItemIndex(t),n\u003dthis._getItemIndex(V.findOne(nt,this._element));return j.trigger(this._element,\"slide.bs.carousel\",{relatedTarget:t,direction:e,from:n,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e\u003dV.findOne(\".active\",this._indicatorsElement);e.classList.remove(it),e.removeAttribute(\"aria-current\");const i\u003dV.find(\"[data-bs-target]\",this._indicatorsElement);for(let e\u003d0;e\u003ci.length;e++)if(Number.parseInt(i[e].getAttribute(\"data-bs-slide-to\"),10)\u003d\u003d\u003dthis._getItemIndex(t)){i[e].classList.add(it),i[e].setAttribute(\"aria-current\",\"true\");break}}}_updateInterval(){const t\u003dthis._activeElement||V.findOne(nt,this._element);if(!t)return;const e\u003dNumber.parseInt(t.getAttribute(\"data-bs-interval\"),10);e?(this._config.defaultInterval\u003dthis._config.defaultInterval||this._config.interval,this._config.interval\u003de):this._config.interval\u003dthis._config.defaultInterval||this._config.interval}_slide(t,e){const i\u003dthis._directionToOrder(t),n\u003dV.findOne(nt,this._element),s\u003dthis._getItemIndex(n),o\u003de||this._getItemByOrder(i,n),r\u003dthis._getItemIndex(o),a\u003dBoolean(this._interval),l\u003di\u003d\u003d\u003dQ,c\u003dl?\"carousel-item-start\":\"carousel-item-end\",h\u003dl?\"carousel-item-next\":\"carousel-item-prev\",d\u003dthis._orderToDirection(i);if(o\u0026\u0026o.classList.contains(it))return void(this._isSliding\u003d!1);if(this._isSliding)return;if(this._triggerSlideEvent(o,d).defaultPrevented)return;if(!n||!o)return;this._isSliding\u003d!0,a\u0026\u0026this.pause(),this._setActiveIndicatorElement(o),this._activeElement\u003do;const f\u003d()\u003d\u003e{j.trigger(this._element,et,{relatedTarget:o,direction:d,from:s,to:r})};if(this._element.classList.contains(\"slide\")){o.classList.add(h),u(o),n.classList.add(c),o.classList.add(c);const t\u003d()\u003d\u003e{o.classList.remove(c,h),o.classList.add(it),n.classList.remove(it,h,c),this._isSliding\u003d!1,setTimeout(f,0)};this._queueCallback(t,n,!0)}else n.classList.remove(it),o.classList.add(it),this._isSliding\u003d!1,f();a\u0026\u0026this.cycle()}_directionToOrder(t){return[J,Z].includes(t)?m()?t\u003d\u003d\u003dZ?G:Q:t\u003d\u003d\u003dZ?Q:G:t}_orderToDirection(t){return[Q,G].includes(t)?m()?t\u003d\u003d\u003dG?Z:J:t\u003d\u003d\u003dG?J:Z:t}static carouselInterface(t,e){const i\u003dst.getOrCreateInstance(t,e);let{_config:n}\u003di;\"object\"\u003d\u003dtypeof e\u0026\u0026(n\u003d{...n,...e});const s\u003d\"string\"\u003d\u003dtypeof e?e:n.slide;if(\"number\"\u003d\u003dtypeof e)i.to(e);else if(\"string\"\u003d\u003dtypeof s){if(void 0\u003d\u003d\u003di[s])throw new TypeError(`No method named \"${s}\"`);i[s]()}else n.interval\u0026\u0026n.ride\u0026\u0026(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){st.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e\u003dn(this);if(!e||!e.classList.contains(\"carousel\"))return;const i\u003d{...U.getDataAttributes(e),...U.getDataAttributes(this)},s\u003dthis.getAttribute(\"data-bs-slide-to\");s\u0026\u0026(i.interval\u003d!1),st.carouselInterface(e,i),s\u0026\u0026st.getInstance(e).to(s),t.preventDefault()}}j.on(document,\"click.bs.carousel.data-api\",\"[data-bs-slide], [data-bs-slide-to]\",st.dataApiClickHandler),j.on(window,\"load.bs.carousel.data-api\",(()\u003d\u003e{const t\u003dV.find(\u0027[data-bs-ride\u003d\"carousel\"]\u0027);for(let e\u003d0,i\u003dt.length;e\u003ci;e++)st.carouselInterface(t[e],st.getInstance(t[e]))})),g(st);const ot\u003d\"collapse\",rt\u003d{toggle:!0,parent:null},at\u003d{toggle:\"boolean\",parent:\"(null|element)\"},lt\u003d\"show\",ct\u003d\"collapse\",ht\u003d\"collapsing\",dt\u003d\"collapsed\",ut\u003d\":scope .collapse .collapse\",ft\u003d\u0027[data-bs-toggle\u003d\"collapse\"]\u0027;class pt extends B{constructor(t,e){super(t),this._isTransitioning\u003d!1,this._config\u003dthis._getConfig(e),this._triggerArray\u003d[];const n\u003dV.find(ft);for(let t\u003d0,e\u003dn.length;t\u003ce;t++){const e\u003dn[t],s\u003di(e),o\u003dV.find(s).filter((t\u003d\u003et\u003d\u003d\u003dthis._element));null!\u003d\u003ds\u0026\u0026o.length\u0026\u0026(this._selector\u003ds,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle\u0026\u0026this.toggle()}static get Default(){return rt}static get NAME(){return ot}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e\u003d[];if(this._config.parent){const t\u003dV.find(ut,this._config.parent);e\u003dV.find(\".collapse.show, .collapse.collapsing\",this._config.parent).filter((e\u003d\u003e!t.includes(e)))}const i\u003dV.findOne(this._selector);if(e.length){const n\u003de.find((t\u003d\u003ei!\u003d\u003dt));if(t\u003dn?pt.getInstance(n):null,t\u0026\u0026t._isTransitioning)return}if(j.trigger(this._element,\"show.bs.collapse\").defaultPrevented)return;e.forEach((e\u003d\u003e{i!\u003d\u003de\u0026\u0026pt.getOrCreateInstance(e,{toggle:!1}).hide(),t||H.set(e,\"bs.collapse\",null)}));const n\u003dthis._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[n]\u003d0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning\u003d!0;const s\u003d`scroll${n[0].toUpperCase()+n.slice(1)}`;this._queueCallback((()\u003d\u003e{this._isTransitioning\u003d!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[n]\u003d\"\",j.trigger(this._element,\"shown.bs.collapse\")}),this._element,!0),this._element.style[n]\u003d`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,\"hide.bs.collapse\").defaultPrevented)return;const t\u003dthis._getDimension();this._element.style[t]\u003d`${this._element.getBoundingClientRect()[t]}px`,u(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);const e\u003dthis._triggerArray.length;for(let t\u003d0;t\u003ce;t++){const e\u003dthis._triggerArray[t],i\u003dn(e);i\u0026\u0026!this._isShown(i)\u0026\u0026this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning\u003d!0,this._element.style[t]\u003d\"\",this._queueCallback((()\u003d\u003e{this._isTransitioning\u003d!1,this._element.classList.remove(ht),this._element.classList.add(ct),j.trigger(this._element,\"hidden.bs.collapse\")}),this._element,!0)}_isShown(t\u003dthis._element){return t.classList.contains(lt)}_getConfig(t){return(t\u003d{...rt,...U.getDataAttributes(this._element),...t}).toggle\u003dBoolean(t.toggle),t.parent\u003dr(t.parent),a(ot,t,at),t}_getDimension(){return this._element.classList.contains(\"collapse-horizontal\")?\"width\":\"height\"}_initializeChildren(){if(!this._config.parent)return;const t\u003dV.find(ut,this._config.parent);V.find(ft,this._config.parent).filter((e\u003d\u003e!t.includes(e))).forEach((t\u003d\u003e{const e\u003dn(t);e\u0026\u0026this._addAriaAndCollapsedClass([t],this._isShown(e))}))}_addAriaAndCollapsedClass(t,e){t.length\u0026\u0026t.forEach((t\u003d\u003e{e?t.classList.remove(dt):t.classList.add(dt),t.setAttribute(\"aria-expanded\",e)}))}static jQueryInterface(t){return this.each((function(){const e\u003d{};\"string\"\u003d\u003dtypeof t\u0026\u0026/show|hide/.test(t)\u0026\u0026(e.toggle\u003d!1);const i\u003dpt.getOrCreateInstance(this,e);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003di[t])throw new TypeError(`No method named \"${t}\"`);i[t]()}}))}}j.on(document,\"click.bs.collapse.data-api\",ft,(function(t){(\"A\"\u003d\u003d\u003dt.target.tagName||t.delegateTarget\u0026\u0026\"A\"\u003d\u003d\u003dt.delegateTarget.tagName)\u0026\u0026t.preventDefault();const e\u003di(this);V.find(e).forEach((t\u003d\u003e{pt.getOrCreateInstance(t,{toggle:!1}).toggle()}))})),g(pt);var mt\u003d\"top\",gt\u003d\"bottom\",_t\u003d\"right\",bt\u003d\"left\",vt\u003d\"auto\",yt\u003d[mt,gt,_t,bt],wt\u003d\"start\",Et\u003d\"end\",At\u003d\"clippingParents\",Tt\u003d\"viewport\",Ot\u003d\"popper\",Ct\u003d\"reference\",kt\u003dyt.reduce((function(t,e){return t.concat([e+\"-\"+wt,e+\"-\"+Et])}),[]),Lt\u003d[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+\"-\"+wt,e+\"-\"+Et])}),[]),xt\u003d\"beforeRead\",Dt\u003d\"read\",St\u003d\"afterRead\",Nt\u003d\"beforeMain\",It\u003d\"main\",Pt\u003d\"afterMain\",jt\u003d\"beforeWrite\",Mt\u003d\"write\",Ht\u003d\"afterWrite\",Bt\u003d[xt,Dt,St,Nt,It,Pt,jt,Mt,Ht];function Rt(t){return t?(t.nodeName||\"\").toLowerCase():null}function Wt(t){if(null\u003d\u003dt)return window;if(\"[object Window]\"!\u003d\u003dt.toString()){var e\u003dt.ownerDocument;return e\u0026\u0026e.defaultView||window}return t}function $t(t){return t instanceof Wt(t).Element||t instanceof Element}function zt(t){return t instanceof Wt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return\"undefined\"!\u003dtypeof ShadowRoot\u0026\u0026(t instanceof Wt(t).ShadowRoot||t instanceof ShadowRoot)}const Ft\u003d{name:\"applyStyles\",enabled:!0,phase:\"write\",fn:function(t){var e\u003dt.state;Object.keys(e.elements).forEach((function(t){var i\u003de.styles[t]||{},n\u003de.attributes[t]||{},s\u003de.elements[t];zt(s)\u0026\u0026Rt(s)\u0026\u0026(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e\u003dn[t];!1\u003d\u003d\u003de?s.removeAttribute(t):s.setAttribute(t,!0\u003d\u003d\u003de?\"\":e)})))}))},effect:function(t){var e\u003dt.state,i\u003d{popper:{position:e.options.strategy,left:\"0\",top:\"0\",margin:\"0\"},arrow:{position:\"absolute\"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles\u003di,e.elements.arrow\u0026\u0026Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n\u003de.elements[t],s\u003de.attributes[t]||{},o\u003dObject.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]\u003d\"\",t}),{});zt(n)\u0026\u0026Rt(n)\u0026\u0026(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:[\"computeStyles\"]};function Ut(t){return t.split(\"-\")[0]}function Vt(t,e){var i\u003dt.getBoundingClientRect();return{width:i.width/1,height:i.height/1,top:i.top/1,right:i.right/1,bottom:i.bottom/1,left:i.left/1,x:i.left/1,y:i.top/1}}function Kt(t){var e\u003dVt(t),i\u003dt.offsetWidth,n\u003dt.offsetHeight;return Math.abs(e.width-i)\u003c\u003d1\u0026\u0026(i\u003de.width),Math.abs(e.height-n)\u003c\u003d1\u0026\u0026(n\u003de.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Xt(t,e){var i\u003de.getRootNode\u0026\u0026e.getRootNode();if(t.contains(e))return!0;if(i\u0026\u0026qt(i)){var n\u003de;do{if(n\u0026\u0026t.isSameNode(n))return!0;n\u003dn.parentNode||n.host}while(n)}return!1}function Yt(t){return Wt(t).getComputedStyle(t)}function Qt(t){return[\"table\",\"td\",\"th\"].indexOf(Rt(t))\u003e\u003d0}function Gt(t){return(($t(t)?t.ownerDocument:t.document)||window.document).documentElement}function Zt(t){return\"html\"\u003d\u003d\u003dRt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||Gt(t)}function Jt(t){return zt(t)\u0026\u0026\"fixed\"!\u003d\u003dYt(t).position?t.offsetParent:null}function te(t){for(var e\u003dWt(t),i\u003dJt(t);i\u0026\u0026Qt(i)\u0026\u0026\"static\"\u003d\u003d\u003dYt(i).position;)i\u003dJt(i);return i\u0026\u0026(\"html\"\u003d\u003d\u003dRt(i)||\"body\"\u003d\u003d\u003dRt(i)\u0026\u0026\"static\"\u003d\u003d\u003dYt(i).position)?e:i||function(t){var e\u003d-1!\u003d\u003dnavigator.userAgent.toLowerCase().indexOf(\"firefox\");if(-1!\u003d\u003dnavigator.userAgent.indexOf(\"Trident\")\u0026\u0026zt(t)\u0026\u0026\"fixed\"\u003d\u003d\u003dYt(t).position)return null;for(var i\u003dZt(t);zt(i)\u0026\u0026[\"html\",\"body\"].indexOf(Rt(i))\u003c0;){var n\u003dYt(i);if(\"none\"!\u003d\u003dn.transform||\"none\"!\u003d\u003dn.perspective||\"paint\"\u003d\u003d\u003dn.contain||-1!\u003d\u003d[\"transform\",\"perspective\"].indexOf(n.willChange)||e\u0026\u0026\"filter\"\u003d\u003d\u003dn.willChange||e\u0026\u0026n.filter\u0026\u0026\"none\"!\u003d\u003dn.filter)return i;i\u003di.parentNode}return null}(t)||e}function ee(t){return[\"top\",\"bottom\"].indexOf(t)\u003e\u003d0?\"x\":\"y\"}var ie\u003dMath.max,ne\u003dMath.min,se\u003dMath.round;function oe(t,e,i){return ie(t,ne(e,i))}function re(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ae(t,e){return e.reduce((function(e,i){return e[i]\u003dt,e}),{})}const le\u003d{name:\"arrow\",enabled:!0,phase:\"main\",fn:function(t){var e,i\u003dt.state,n\u003dt.name,s\u003dt.options,o\u003di.elements.arrow,r\u003di.modifiersData.popperOffsets,a\u003dUt(i.placement),l\u003dee(a),c\u003d[bt,_t].indexOf(a)\u003e\u003d0?\"height\":\"width\";if(o\u0026\u0026r){var h\u003dfunction(t,e){return re(\"number\"!\u003dtypeof(t\u003d\"function\"\u003d\u003dtypeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ae(t,yt))}(s.padding,i),d\u003dKt(o),u\u003d\"y\"\u003d\u003d\u003dl?mt:bt,f\u003d\"y\"\u003d\u003d\u003dl?gt:_t,p\u003di.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m\u003dr[l]-i.rects.reference[l],g\u003dte(o),_\u003dg?\"y\"\u003d\u003d\u003dl?g.clientHeight||0:g.clientWidth||0:0,b\u003dp/2-m/2,v\u003dh[u],y\u003d_-d[c]-h[f],w\u003d_/2-d[c]/2+b,E\u003doe(v,w,y),A\u003dl;i.modifiersData[n]\u003d((e\u003d{})[A]\u003dE,e.centerOffset\u003dE-w,e)}},effect:function(t){var e\u003dt.state,i\u003dt.options.element,n\u003dvoid 0\u003d\u003d\u003di?\"[data-popper-arrow]\":i;null!\u003dn\u0026\u0026(\"string\"!\u003dtypeof n||(n\u003de.elements.popper.querySelector(n)))\u0026\u0026Xt(e.elements.popper,n)\u0026\u0026(e.elements.arrow\u003dn)},requires:[\"popperOffsets\"],requiresIfExists:[\"preventOverflow\"]};function ce(t){return t.split(\"-\")[1]}var he\u003d{top:\"auto\",right:\"auto\",bottom:\"auto\",left:\"auto\"};function de(t){var e,i\u003dt.popper,n\u003dt.popperRect,s\u003dt.placement,o\u003dt.variation,r\u003dt.offsets,a\u003dt.position,l\u003dt.gpuAcceleration,c\u003dt.adaptive,h\u003dt.roundOffsets,d\u003d!0\u003d\u003d\u003dh?function(t){var e\u003dt.x,i\u003dt.y,n\u003dwindow.devicePixelRatio||1;return{x:se(se(e*n)/n)||0,y:se(se(i*n)/n)||0}}(r):\"function\"\u003d\u003dtypeof h?h(r):r,u\u003dd.x,f\u003dvoid 0\u003d\u003d\u003du?0:u,p\u003dd.y,m\u003dvoid 0\u003d\u003d\u003dp?0:p,g\u003dr.hasOwnProperty(\"x\"),_\u003dr.hasOwnProperty(\"y\"),b\u003dbt,v\u003dmt,y\u003dwindow;if(c){var w\u003dte(i),E\u003d\"clientHeight\",A\u003d\"clientWidth\";w\u003d\u003d\u003dWt(i)\u0026\u0026\"static\"!\u003d\u003dYt(w\u003dGt(i)).position\u0026\u0026\"absolute\"\u003d\u003d\u003da\u0026\u0026(E\u003d\"scrollHeight\",A\u003d\"scrollWidth\"),w\u003dw,s!\u003d\u003dmt\u0026\u0026(s!\u003d\u003dbt\u0026\u0026s!\u003d\u003d_t||o!\u003d\u003dEt)||(v\u003dgt,m-\u003dw[E]-n.height,m*\u003dl?1:-1),s!\u003d\u003dbt\u0026\u0026(s!\u003d\u003dmt\u0026\u0026s!\u003d\u003dgt||o!\u003d\u003dEt)||(b\u003d_t,f-\u003dw[A]-n.width,f*\u003dl?1:-1)}var T,O\u003dObject.assign({position:a},c\u0026\u0026he);return l?Object.assign({},O,((T\u003d{})[v]\u003d_?\"0\":\"\",T[b]\u003dg?\"0\":\"\",T.transform\u003d(y.devicePixelRatio||1)\u003c\u003d1?\"translate(\"+f+\"px, \"+m+\"px)\":\"translate3d(\"+f+\"px, \"+m+\"px, 0)\",T)):Object.assign({},O,((e\u003d{})[v]\u003d_?m+\"px\":\"\",e[b]\u003dg?f+\"px\":\"\",e.transform\u003d\"\",e))}const ue\u003d{name:\"computeStyles\",enabled:!0,phase:\"beforeWrite\",fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003di.gpuAcceleration,s\u003dvoid 0\u003d\u003d\u003dn||n,o\u003di.adaptive,r\u003dvoid 0\u003d\u003d\u003do||o,a\u003di.roundOffsets,l\u003dvoid 0\u003d\u003d\u003da||a,c\u003d{placement:Ut(e.placement),variation:ce(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!\u003de.modifiersData.popperOffsets\u0026\u0026(e.styles.popper\u003dObject.assign({},e.styles.popper,de(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!\u003de.modifiersData.arrow\u0026\u0026(e.styles.arrow\u003dObject.assign({},e.styles.arrow,de(Object.assign({},c,{offsets:e.modifiersData.arrow,position:\"absolute\",adaptive:!1,roundOffsets:l})))),e.attributes.popper\u003dObject.assign({},e.attributes.popper,{\"data-popper-placement\":e.placement})},data:{}};var fe\u003d{passive:!0};const pe\u003d{name:\"eventListeners\",enabled:!0,phase:\"write\",fn:function(){},effect:function(t){var e\u003dt.state,i\u003dt.instance,n\u003dt.options,s\u003dn.scroll,o\u003dvoid 0\u003d\u003d\u003ds||s,r\u003dn.resize,a\u003dvoid 0\u003d\u003d\u003dr||r,l\u003dWt(e.elements.popper),c\u003d[].concat(e.scrollParents.reference,e.scrollParents.popper);return o\u0026\u0026c.forEach((function(t){t.addEventListener(\"scroll\",i.update,fe)})),a\u0026\u0026l.addEventListener(\"resize\",i.update,fe),function(){o\u0026\u0026c.forEach((function(t){t.removeEventListener(\"scroll\",i.update,fe)})),a\u0026\u0026l.removeEventListener(\"resize\",i.update,fe)}},data:{}};var me\u003d{left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function ge(t){return t.replace(/left|right|bottom|top/g,(function(t){return me[t]}))}var _e\u003d{start:\"end\",end:\"start\"};function be(t){return t.replace(/start|end/g,(function(t){return _e[t]}))}function ve(t){var e\u003dWt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ye(t){return Vt(Gt(t)).left+ve(t).scrollLeft}function we(t){var e\u003dYt(t),i\u003de.overflow,n\u003de.overflowX,s\u003de.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return[\"html\",\"body\",\"#document\"].indexOf(Rt(t))\u003e\u003d0?t.ownerDocument.body:zt(t)\u0026\u0026we(t)?t:Ee(Zt(t))}function Ae(t,e){var i;void 0\u003d\u003d\u003de\u0026\u0026(e\u003d[]);var n\u003dEe(t),s\u003dn\u003d\u003d\u003d(null\u003d\u003d(i\u003dt.ownerDocument)?void 0:i.body),o\u003dWt(n),r\u003ds?[o].concat(o.visualViewport||[],we(n)?n:[]):n,a\u003de.concat(r);return s?a:a.concat(Ae(Zt(r)))}function Te(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e){return e\u003d\u003d\u003dTt?Te(function(t){var e\u003dWt(t),i\u003dGt(t),n\u003de.visualViewport,s\u003di.clientWidth,o\u003di.clientHeight,r\u003d0,a\u003d0;return n\u0026\u0026(s\u003dn.width,o\u003dn.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r\u003dn.offsetLeft,a\u003dn.offsetTop)),{width:s,height:o,x:r+ye(t),y:a}}(t)):zt(e)?function(t){var e\u003dVt(t);return e.top\u003de.top+t.clientTop,e.left\u003de.left+t.clientLeft,e.bottom\u003de.top+t.clientHeight,e.right\u003de.left+t.clientWidth,e.width\u003dt.clientWidth,e.height\u003dt.clientHeight,e.x\u003de.left,e.y\u003de.top,e}(e):Te(function(t){var e,i\u003dGt(t),n\u003dve(t),s\u003dnull\u003d\u003d(e\u003dt.ownerDocument)?void 0:e.body,o\u003die(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r\u003die(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a\u003d-n.scrollLeft+ye(t),l\u003d-n.scrollTop;return\"rtl\"\u003d\u003d\u003dYt(s||i).direction\u0026\u0026(a+\u003die(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Gt(t)))}function Ce(t){var e,i\u003dt.reference,n\u003dt.element,s\u003dt.placement,o\u003ds?Ut(s):null,r\u003ds?ce(s):null,a\u003di.x+i.width/2-n.width/2,l\u003di.y+i.height/2-n.height/2;switch(o){case mt:e\u003d{x:a,y:i.y-n.height};break;case gt:e\u003d{x:a,y:i.y+i.height};break;case _t:e\u003d{x:i.x+i.width,y:l};break;case bt:e\u003d{x:i.x-n.width,y:l};break;default:e\u003d{x:i.x,y:i.y}}var c\u003do?ee(o):null;if(null!\u003dc){var h\u003d\"y\"\u003d\u003d\u003dc?\"height\":\"width\";switch(r){case wt:e[c]\u003de[c]-(i[h]/2-n[h]/2);break;case Et:e[c]\u003de[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});var i\u003de,n\u003di.placement,s\u003dvoid 0\u003d\u003d\u003dn?t.placement:n,o\u003di.boundary,r\u003dvoid 0\u003d\u003d\u003do?At:o,a\u003di.rootBoundary,l\u003dvoid 0\u003d\u003d\u003da?Tt:a,c\u003di.elementContext,h\u003dvoid 0\u003d\u003d\u003dc?Ot:c,d\u003di.altBoundary,u\u003dvoid 0!\u003d\u003dd\u0026\u0026d,f\u003di.padding,p\u003dvoid 0\u003d\u003d\u003df?0:f,m\u003dre(\"number\"!\u003dtypeof p?p:ae(p,yt)),g\u003dh\u003d\u003d\u003dOt?Ct:Ot,_\u003dt.rects.popper,b\u003dt.elements[u?g:h],v\u003dfunction(t,e,i){var n\u003d\"clippingParents\"\u003d\u003d\u003de?function(t){var e\u003dAe(Zt(t)),i\u003d[\"absolute\",\"fixed\"].indexOf(Yt(t).position)\u003e\u003d0\u0026\u0026zt(t)?te(t):t;return $t(i)?e.filter((function(t){return $t(t)\u0026\u0026Xt(t,i)\u0026\u0026\"body\"!\u003d\u003dRt(t)})):[]}(t):[].concat(e),s\u003d[].concat(n,[i]),o\u003ds[0],r\u003ds.reduce((function(e,i){var n\u003dOe(t,i);return e.top\u003die(n.top,e.top),e.right\u003dne(n.right,e.right),e.bottom\u003dne(n.bottom,e.bottom),e.left\u003die(n.left,e.left),e}),Oe(t,o));return r.width\u003dr.right-r.left,r.height\u003dr.bottom-r.top,r.x\u003dr.left,r.y\u003dr.top,r}($t(b)?b:b.contextElement||Gt(t.elements.popper),r,l),y\u003dVt(t.elements.reference),w\u003dCe({reference:y,element:_,strategy:\"absolute\",placement:s}),E\u003dTe(Object.assign({},_,w)),A\u003dh\u003d\u003d\u003dOt?E:y,T\u003d{top:v.top-A.top+m.top,bottom:A.bottom-v.bottom+m.bottom,left:v.left-A.left+m.left,right:A.right-v.right+m.right},O\u003dt.modifiersData.offset;if(h\u003d\u003d\u003dOt\u0026\u0026O){var C\u003dO[s];Object.keys(T).forEach((function(t){var e\u003d[_t,gt].indexOf(t)\u003e\u003d0?1:-1,i\u003d[mt,gt].indexOf(t)\u003e\u003d0?\"y\":\"x\";T[t]+\u003dC[i]*e}))}return T}function Le(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});var i\u003de,n\u003di.placement,s\u003di.boundary,o\u003di.rootBoundary,r\u003di.padding,a\u003di.flipVariations,l\u003di.allowedAutoPlacements,c\u003dvoid 0\u003d\u003d\u003dl?Lt:l,h\u003dce(n),d\u003dh?a?kt:kt.filter((function(t){return ce(t)\u003d\u003d\u003dh})):yt,u\u003dd.filter((function(t){return c.indexOf(t)\u003e\u003d0}));0\u003d\u003d\u003du.length\u0026\u0026(u\u003dd);var f\u003du.reduce((function(e,i){return e[i]\u003dke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Ut(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const xe\u003d{name:\"flip\",enabled:!0,phase:\"main\",fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003dt.name;if(!e.modifiersData[n]._skip){for(var s\u003di.mainAxis,o\u003dvoid 0\u003d\u003d\u003ds||s,r\u003di.altAxis,a\u003dvoid 0\u003d\u003d\u003dr||r,l\u003di.fallbackPlacements,c\u003di.padding,h\u003di.boundary,d\u003di.rootBoundary,u\u003di.altBoundary,f\u003di.flipVariations,p\u003dvoid 0\u003d\u003d\u003df||f,m\u003di.allowedAutoPlacements,g\u003de.options.placement,_\u003dUt(g),b\u003dl||(_!\u003d\u003dg\u0026\u0026p?function(t){if(Ut(t)\u003d\u003d\u003dvt)return[];var e\u003dge(t);return[be(t),e,be(e)]}(g):[ge(g)]),v\u003d[g].concat(b).reduce((function(t,i){return t.concat(Ut(i)\u003d\u003d\u003dvt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y\u003de.rects.reference,w\u003de.rects.popper,E\u003dnew Map,A\u003d!0,T\u003dv[0],O\u003d0;O\u003cv.length;O++){var C\u003dv[O],k\u003dUt(C),L\u003dce(C)\u003d\u003d\u003dwt,x\u003d[mt,gt].indexOf(k)\u003e\u003d0,D\u003dx?\"width\":\"height\",S\u003dke(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),N\u003dx?L?_t:bt:L?gt:mt;y[D]\u003ew[D]\u0026\u0026(N\u003dge(N));var I\u003dge(N),P\u003d[];if(o\u0026\u0026P.push(S[k]\u003c\u003d0),a\u0026\u0026P.push(S[N]\u003c\u003d0,S[I]\u003c\u003d0),P.every((function(t){return t}))){T\u003dC,A\u003d!1;break}E.set(C,P)}if(A)for(var j\u003dfunction(t){var e\u003dv.find((function(e){var i\u003dE.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T\u003de,\"break\"},M\u003dp?3:1;M\u003e0\u0026\u0026\"break\"!\u003d\u003dj(M);M--);e.placement!\u003d\u003dT\u0026\u0026(e.modifiersData[n]._skip\u003d!0,e.placement\u003dT,e.reset\u003d!0)}},requiresIfExists:[\"offset\"],data:{_skip:!1}};function De(t,e,i){return void 0\u003d\u003d\u003di\u0026\u0026(i\u003d{x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Se(t){return[mt,_t,gt,bt].some((function(e){return t[e]\u003e\u003d0}))}const Ne\u003d{name:\"hide\",enabled:!0,phase:\"main\",requiresIfExists:[\"preventOverflow\"],fn:function(t){var e\u003dt.state,i\u003dt.name,n\u003de.rects.reference,s\u003de.rects.popper,o\u003de.modifiersData.preventOverflow,r\u003dke(e,{elementContext:\"reference\"}),a\u003dke(e,{altBoundary:!0}),l\u003dDe(r,n),c\u003dDe(a,s,o),h\u003dSe(l),d\u003dSe(c);e.modifiersData[i]\u003d{referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper\u003dObject.assign({},e.attributes.popper,{\"data-popper-reference-hidden\":h,\"data-popper-escaped\":d})}},Ie\u003d{name:\"offset\",enabled:!0,phase:\"main\",requires:[\"popperOffsets\"],fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003dt.name,s\u003di.offset,o\u003dvoid 0\u003d\u003d\u003ds?[0,0]:s,r\u003dLt.reduce((function(t,i){return t[i]\u003dfunction(t,e,i){var n\u003dUt(t),s\u003d[bt,mt].indexOf(n)\u003e\u003d0?-1:1,o\u003d\"function\"\u003d\u003dtypeof i?i(Object.assign({},e,{placement:t})):i,r\u003do[0],a\u003do[1];return r\u003dr||0,a\u003d(a||0)*s,[bt,_t].indexOf(n)\u003e\u003d0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a\u003dr[e.placement],l\u003da.x,c\u003da.y;null!\u003de.modifiersData.popperOffsets\u0026\u0026(e.modifiersData.popperOffsets.x+\u003dl,e.modifiersData.popperOffsets.y+\u003dc),e.modifiersData[n]\u003dr}},Pe\u003d{name:\"popperOffsets\",enabled:!0,phase:\"read\",fn:function(t){var e\u003dt.state,i\u003dt.name;e.modifiersData[i]\u003dCe({reference:e.rects.reference,element:e.rects.popper,strategy:\"absolute\",placement:e.placement})},data:{}},je\u003d{name:\"preventOverflow\",enabled:!0,phase:\"main\",fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003dt.name,s\u003di.mainAxis,o\u003dvoid 0\u003d\u003d\u003ds||s,r\u003di.altAxis,a\u003dvoid 0!\u003d\u003dr\u0026\u0026r,l\u003di.boundary,c\u003di.rootBoundary,h\u003di.altBoundary,d\u003di.padding,u\u003di.tether,f\u003dvoid 0\u003d\u003d\u003du||u,p\u003di.tetherOffset,m\u003dvoid 0\u003d\u003d\u003dp?0:p,g\u003dke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_\u003dUt(e.placement),b\u003dce(e.placement),v\u003d!b,y\u003dee(_),w\u003d\"x\"\u003d\u003d\u003dy?\"y\":\"x\",E\u003de.modifiersData.popperOffsets,A\u003de.rects.reference,T\u003de.rects.popper,O\u003d\"function\"\u003d\u003dtypeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C\u003d{x:0,y:0};if(E){if(o||a){var k\u003d\"y\"\u003d\u003d\u003dy?mt:bt,L\u003d\"y\"\u003d\u003d\u003dy?gt:_t,x\u003d\"y\"\u003d\u003d\u003dy?\"height\":\"width\",D\u003dE[y],S\u003dE[y]+g[k],N\u003dE[y]-g[L],I\u003df?-T[x]/2:0,P\u003db\u003d\u003d\u003dwt?A[x]:T[x],j\u003db\u003d\u003d\u003dwt?-T[x]:-A[x],M\u003de.elements.arrow,H\u003df\u0026\u0026M?Kt(M):{width:0,height:0},B\u003de.modifiersData[\"arrow#persistent\"]?e.modifiersData[\"arrow#persistent\"].padding:{top:0,right:0,bottom:0,left:0},R\u003dB[k],W\u003dB[L],$\u003doe(0,A[x],H[x]),z\u003dv?A[x]/2-I-$-R-O:P-$-R-O,q\u003dv?-A[x]/2+I+$+W+O:j+$+W+O,F\u003de.elements.arrow\u0026\u0026te(e.elements.arrow),U\u003dF?\"y\"\u003d\u003d\u003dy?F.clientTop||0:F.clientLeft||0:0,V\u003de.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K\u003dE[y]+z-V-U,X\u003dE[y]+q-V;if(o){var Y\u003doe(f?ne(S,K):S,D,f?ie(N,X):N);E[y]\u003dY,C[y]\u003dY-D}if(a){var Q\u003d\"x\"\u003d\u003d\u003dy?mt:bt,G\u003d\"x\"\u003d\u003d\u003dy?gt:_t,Z\u003dE[w],J\u003dZ+g[Q],tt\u003dZ-g[G],et\u003doe(f?ne(J,K):J,Z,f?ie(tt,X):tt);E[w]\u003det,C[w]\u003det-Z}}e.modifiersData[n]\u003dC}},requiresIfExists:[\"offset\"]};function Me(t,e,i){void 0\u003d\u003d\u003di\u0026\u0026(i\u003d!1);var n\u003dzt(e);zt(e)\u0026\u0026function(t){var e\u003dt.getBoundingClientRect();e.width,t.offsetWidth,e.height,t.offsetHeight}(e);var s,o,r\u003dGt(e),a\u003dVt(t),l\u003d{scrollLeft:0,scrollTop:0},c\u003d{x:0,y:0};return(n||!n\u0026\u0026!i)\u0026\u0026((\"body\"!\u003d\u003dRt(e)||we(r))\u0026\u0026(l\u003d(s\u003de)!\u003d\u003dWt(s)\u0026\u0026zt(s)?{scrollLeft:(o\u003ds).scrollLeft,scrollTop:o.scrollTop}:ve(s)),zt(e)?((c\u003dVt(e)).x+\u003de.clientLeft,c.y+\u003de.clientTop):r\u0026\u0026(c.x\u003dye(r))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function He(t){var e\u003dnew Map,i\u003dnew Set,n\u003d[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n\u003de.get(t);n\u0026\u0026s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Be\u003d{placement:\"bottom\",modifiers:[],strategy:\"absolute\"};function Re(){for(var t\u003darguments.length,e\u003dnew Array(t),i\u003d0;i\u003ct;i++)e[i]\u003darguments[i];return!e.some((function(t){return!(t\u0026\u0026\"function\"\u003d\u003dtypeof t.getBoundingClientRect)}))}function We(t){void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{});var e\u003dt,i\u003de.defaultModifiers,n\u003dvoid 0\u003d\u003d\u003di?[]:i,s\u003de.defaultOptions,o\u003dvoid 0\u003d\u003d\u003ds?Be:s;return function(t,e,i){void 0\u003d\u003d\u003di\u0026\u0026(i\u003do);var s,r,a\u003d{placement:\"bottom\",orderedModifiers:[],options:Object.assign({},Be,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l\u003d[],c\u003d!1,h\u003d{state:a,setOptions:function(i){var s\u003d\"function\"\u003d\u003dtypeof i?i(a.options):i;d(),a.options\u003dObject.assign({},o,a.options,s),a.scrollParents\u003d{reference:$t(t)?Ae(t):t.contextElement?Ae(t.contextElement):[],popper:Ae(e)};var r,c,u\u003dfunction(t){var e\u003dHe(t);return Bt.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase\u003d\u003d\u003di})))}),[])}((r\u003d[].concat(n,a.options.modifiers),c\u003dr.reduce((function(t,e){var i\u003dt[e.name];return t[e.name]\u003di?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(c).map((function(t){return c[t]}))));return a.orderedModifiers\u003du.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e\u003dt.name,i\u003dt.options,n\u003dvoid 0\u003d\u003d\u003di?{}:i,s\u003dt.effect;if(\"function\"\u003d\u003dtypeof s){var o\u003ds({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t\u003da.elements,e\u003dt.reference,i\u003dt.popper;if(Re(e,i)){a.rects\u003d{reference:Me(e,te(i),\"fixed\"\u003d\u003d\u003da.options.strategy),popper:Kt(i)},a.reset\u003d!1,a.placement\u003da.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]\u003dObject.assign({},t.data)}));for(var n\u003d0;n\u003ca.orderedModifiers.length;n++)if(!0!\u003d\u003da.reset){var s\u003da.orderedModifiers[n],o\u003ds.fn,r\u003ds.options,l\u003dvoid 0\u003d\u003d\u003dr?{}:r,d\u003ds.name;\"function\"\u003d\u003dtypeof o\u0026\u0026(a\u003do({state:a,options:l,name:d,instance:h})||a)}else a.reset\u003d!1,n\u003d-1}}},update:(s\u003dfunction(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r\u003dnew Promise((function(t){Promise.resolve().then((function(){r\u003dvoid 0,t(s())}))}))),r}),destroy:function(){d(),c\u003d!0}};if(!Re(t,e))return h;function d(){l.forEach((function(t){return t()})),l\u003d[]}return h.setOptions(i).then((function(t){!c\u0026\u0026i.onFirstUpdate\u0026\u0026i.onFirstUpdate(t)})),h}}var $e\u003dWe(),ze\u003dWe({defaultModifiers:[pe,Pe,ue,Ft]}),qe\u003dWe({defaultModifiers:[pe,Pe,ue,Ft,Ie,xe,je,le,Ne]});const Fe\u003dObject.freeze({__proto__:null,popperGenerator:We,detectOverflow:ke,createPopperBase:$e,createPopper:qe,createPopperLite:ze,top:mt,bottom:gt,right:_t,left:bt,auto:vt,basePlacements:yt,start:wt,end:Et,clippingParents:At,viewport:Tt,popper:Ot,reference:Ct,variationPlacements:kt,placements:Lt,beforeRead:xt,read:Dt,afterRead:St,beforeMain:Nt,main:It,afterMain:Pt,beforeWrite:jt,write:Mt,afterWrite:Ht,modifierPhases:Bt,applyStyles:Ft,arrow:le,computeStyles:ue,eventListeners:pe,flip:xe,hide:Ne,offset:Ie,popperOffsets:Pe,preventOverflow:je}),Ue\u003d\"dropdown\",Ve\u003d\"Escape\",Ke\u003d\"Space\",Xe\u003d\"ArrowUp\",Ye\u003d\"ArrowDown\",Qe\u003dnew RegExp(\"ArrowUp|ArrowDown|Escape\"),Ge\u003d\"click.bs.dropdown.data-api\",Ze\u003d\"keydown.bs.dropdown.data-api\",Je\u003d\"show\",ti\u003d\u0027[data-bs-toggle\u003d\"dropdown\"]\u0027,ei\u003d\".dropdown-menu\",ii\u003dm()?\"top-end\":\"top-start\",ni\u003dm()?\"top-start\":\"top-end\",si\u003dm()?\"bottom-end\":\"bottom-start\",oi\u003dm()?\"bottom-start\":\"bottom-end\",ri\u003dm()?\"left-start\":\"right-start\",ai\u003dm()?\"right-start\":\"left-start\",li\u003d{offset:[0,2],boundary:\"clippingParents\",reference:\"toggle\",display:\"dynamic\",popperConfig:null,autoClose:!0},ci\u003d{offset:\"(array|string|function)\",boundary:\"(string|element)\",reference:\"(string|element|object)\",display:\"string\",popperConfig:\"(null|object|function)\",autoClose:\"(boolean|string)\"};class hi extends B{constructor(t,e){super(t),this._popper\u003dnull,this._config\u003dthis._getConfig(e),this._menu\u003dthis._getMenuElement(),this._inNavbar\u003dthis._detectNavbar()}static get Default(){return li}static get DefaultType(){return ci}static get NAME(){return Ue}toggle(){return this._isShown()?this.hide():this.show()}show(){if(c(this._element)||this._isShown(this._menu))return;const t\u003d{relatedTarget:this._element};if(j.trigger(this._element,\"show.bs.dropdown\",t).defaultPrevented)return;const e\u003dhi.getParentFromElement(this._element);this._inNavbar?U.setDataAttribute(this._menu,\"popper\",\"none\"):this._createPopper(e),\"ontouchstart\"in document.documentElement\u0026\u0026!e.closest(\".navbar-nav\")\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003ej.on(t,\"mouseover\",d))),this._element.focus(),this._element.setAttribute(\"aria-expanded\",!0),this._menu.classList.add(Je),this._element.classList.add(Je),j.trigger(this._element,\"shown.bs.dropdown\",t)}hide(){if(c(this._element)||!this._isShown(this._menu))return;const t\u003d{relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper\u0026\u0026this._popper.destroy(),super.dispose()}update(){this._inNavbar\u003dthis._detectNavbar(),this._popper\u0026\u0026this._popper.update()}_completeHide(t){j.trigger(this._element,\"hide.bs.dropdown\",t).defaultPrevented||(\"ontouchstart\"in document.documentElement\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003ej.off(t,\"mouseover\",d))),this._popper\u0026\u0026this._popper.destroy(),this._menu.classList.remove(Je),this._element.classList.remove(Je),this._element.setAttribute(\"aria-expanded\",\"false\"),U.removeDataAttribute(this._menu,\"popper\"),j.trigger(this._element,\"hidden.bs.dropdown\",t))}_getConfig(t){if(t\u003d{...this.constructor.Default,...U.getDataAttributes(this._element),...t},a(Ue,t,this.constructor.DefaultType),\"object\"\u003d\u003dtypeof t.reference\u0026\u0026!o(t.reference)\u0026\u0026\"function\"!\u003dtypeof t.reference.getBoundingClientRect)throw new TypeError(`${Ue.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);return t}_createPopper(t){if(void 0\u003d\u003d\u003dFe)throw new TypeError(\"Bootstrap\u0027s dropdowns require Popper (https://popper.js.org)\");let e\u003dthis._element;\"parent\"\u003d\u003d\u003dthis._config.reference?e\u003dt:o(this._config.reference)?e\u003dr(this._config.reference):\"object\"\u003d\u003dtypeof this._config.reference\u0026\u0026(e\u003dthis._config.reference);const i\u003dthis._getPopperConfig(),n\u003di.modifiers.find((t\u003d\u003e\"applyStyles\"\u003d\u003d\u003dt.name\u0026\u0026!1\u003d\u003d\u003dt.enabled));this._popper\u003dqe(e,this._menu,i),n\u0026\u0026U.setDataAttribute(this._menu,\"popper\",\"static\")}_isShown(t\u003dthis._element){return t.classList.contains(Je)}_getMenuElement(){return V.next(this._element,ei)[0]}_getPlacement(){const t\u003dthis._element.parentNode;if(t.classList.contains(\"dropend\"))return ri;if(t.classList.contains(\"dropstart\"))return ai;const e\u003d\"end\"\u003d\u003d\u003dgetComputedStyle(this._menu).getPropertyValue(\"--bs-position\").trim();return t.classList.contains(\"dropup\")?e?ni:ii:e?oi:si}_detectNavbar(){return null!\u003d\u003dthis._element.closest(\".navbar\")}_getOffset(){const{offset:t}\u003dthis._config;return\"string\"\u003d\u003dtypeof t?t.split(\",\").map((t\u003d\u003eNumber.parseInt(t,10))):\"function\"\u003d\u003dtypeof t?e\u003d\u003et(e,this._element):t}_getPopperConfig(){const t\u003d{placement:this._getPlacement(),modifiers:[{name:\"preventOverflow\",options:{boundary:this._config.boundary}},{name:\"offset\",options:{offset:this._getOffset()}}]};return\"static\"\u003d\u003d\u003dthis._config.display\u0026\u0026(t.modifiers\u003d[{name:\"applyStyles\",enabled:!1}]),{...t,...\"function\"\u003d\u003dtypeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i\u003dV.find(\".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)\",this._menu).filter(l);i.length\u0026\u0026v(i,e,t\u003d\u003d\u003dYe,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e\u003dhi.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}static clearMenus(t){if(t\u0026\u0026(2\u003d\u003d\u003dt.button||\"keyup\"\u003d\u003d\u003dt.type\u0026\u0026\"Tab\"!\u003d\u003dt.key))return;const e\u003dV.find(ti);for(let i\u003d0,n\u003de.length;i\u003cn;i++){const n\u003dhi.getInstance(e[i]);if(!n||!1\u003d\u003d\u003dn._config.autoClose)continue;if(!n._isShown())continue;const s\u003d{relatedTarget:n._element};if(t){const e\u003dt.composedPath(),i\u003de.includes(n._menu);if(e.includes(n._element)||\"inside\"\u003d\u003d\u003dn._config.autoClose\u0026\u0026!i||\"outside\"\u003d\u003d\u003dn._config.autoClose\u0026\u0026i)continue;if(n._menu.contains(t.target)\u0026\u0026(\"keyup\"\u003d\u003d\u003dt.type\u0026\u0026\"Tab\"\u003d\u003d\u003dt.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;\"click\"\u003d\u003d\u003dt.type\u0026\u0026(s.clickEvent\u003dt)}n._completeHide(s)}}static getParentFromElement(t){return n(t)||t.parentNode}static dataApiKeydownHandler(t){if(/input|textarea/i.test(t.target.tagName)?t.key\u003d\u003d\u003dKe||t.key!\u003d\u003dVe\u0026\u0026(t.key!\u003d\u003dYe\u0026\u0026t.key!\u003d\u003dXe||t.target.closest(ei)):!Qe.test(t.key))return;const e\u003dthis.classList.contains(Je);if(!e\u0026\u0026t.key\u003d\u003d\u003dVe)return;if(t.preventDefault(),t.stopPropagation(),c(this))return;const i\u003dthis.matches(ti)?this:V.prev(this,ti)[0],n\u003dhi.getOrCreateInstance(i);if(t.key!\u003d\u003dVe)return t.key\u003d\u003d\u003dXe||t.key\u003d\u003d\u003dYe?(e||n.show(),void n._selectMenuItem(t)):void(e\u0026\u0026t.key!\u003d\u003dKe||hi.clearMenus());n.hide()}}j.on(document,Ze,ti,hi.dataApiKeydownHandler),j.on(document,Ze,ei,hi.dataApiKeydownHandler),j.on(document,Ge,hi.clearMenus),j.on(document,\"keyup.bs.dropdown.data-api\",hi.clearMenus),j.on(document,Ge,ti,(function(t){t.preventDefault(),hi.getOrCreateInstance(this).toggle()})),g(hi);const di\u003d\".fixed-top, .fixed-bottom, .is-fixed, .sticky-top\",ui\u003d\".sticky-top\";class fi{constructor(){this._element\u003ddocument.body}getWidth(){const t\u003ddocument.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t\u003dthis.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,\"paddingRight\",(e\u003d\u003ee+t)),this._setElementAttributes(di,\"paddingRight\",(e\u003d\u003ee+t)),this._setElementAttributes(ui,\"marginRight\",(e\u003d\u003ee-t))}_disableOverFlow(){this._saveInitialAttribute(this._element,\"overflow\"),this._element.style.overflow\u003d\"hidden\"}_setElementAttributes(t,e,i){const n\u003dthis.getWidth();this._applyManipulationCallback(t,(t\u003d\u003e{if(t!\u003d\u003dthis._element\u0026\u0026window.innerWidth\u003et.clientWidth+n)return;this._saveInitialAttribute(t,e);const s\u003dwindow.getComputedStyle(t)[e];t.style[e]\u003d`${i(Number.parseFloat(s))}px`}))}reset(){this._resetElementAttributes(this._element,\"overflow\"),this._resetElementAttributes(this._element,\"paddingRight\"),this._resetElementAttributes(di,\"paddingRight\"),this._resetElementAttributes(ui,\"marginRight\")}_saveInitialAttribute(t,e){const i\u003dt.style[e];i\u0026\u0026U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t\u003d\u003e{const i\u003dU.getDataAttribute(t,e);void 0\u003d\u003d\u003di?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]\u003di)}))}_applyManipulationCallback(t,e){o(t)?e(t):V.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()\u003e0}}const pi\u003d{className:\"modal-backdrop\",isVisible:!0,isAnimated:!1,rootElement:\"body\",clickCallback:null},mi\u003d{className:\"string\",isVisible:\"boolean\",isAnimated:\"boolean\",rootElement:\"(element|string)\",clickCallback:\"(function|null)\"},gi\u003d\"show\",_i\u003d\"mousedown.bs.backdrop\";class bi{constructor(t){this._config\u003dthis._getConfig(t),this._isAppended\u003d!1,this._element\u003dnull}show(t){this._config.isVisible?(this._append(),this._config.isAnimated\u0026\u0026u(this._getElement()),this._getElement().classList.add(gi),this._emulateAnimation((()\u003d\u003e{_(t)}))):_(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove(gi),this._emulateAnimation((()\u003d\u003e{this.dispose(),_(t)}))):_(t)}_getElement(){if(!this._element){const t\u003ddocument.createElement(\"div\");t.className\u003dthis._config.className,this._config.isAnimated\u0026\u0026t.classList.add(\"fade\"),this._element\u003dt}return this._element}_getConfig(t){return(t\u003d{...pi,...\"object\"\u003d\u003dtypeof t?t:{}}).rootElement\u003dr(t.rootElement),a(\"backdrop\",t,mi),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),j.on(this._getElement(),_i,(()\u003d\u003e{_(this._config.clickCallback)})),this._isAppended\u003d!0)}dispose(){this._isAppended\u0026\u0026(j.off(this._element,_i),this._element.remove(),this._isAppended\u003d!1)}_emulateAnimation(t){b(t,this._getElement(),this._config.isAnimated)}}const vi\u003d{trapElement:null,autofocus:!0},yi\u003d{trapElement:\"element\",autofocus:\"boolean\"},wi\u003d\".bs.focustrap\",Ei\u003d\"backward\";class Ai{constructor(t){this._config\u003dthis._getConfig(t),this._isActive\u003d!1,this._lastTabNavDirection\u003dnull}activate(){const{trapElement:t,autofocus:e}\u003dthis._config;this._isActive||(e\u0026\u0026t.focus(),j.off(document,wi),j.on(document,\"focusin.bs.focustrap\",(t\u003d\u003ethis._handleFocusin(t))),j.on(document,\"keydown.tab.bs.focustrap\",(t\u003d\u003ethis._handleKeydown(t))),this._isActive\u003d!0)}deactivate(){this._isActive\u0026\u0026(this._isActive\u003d!1,j.off(document,wi))}_handleFocusin(t){const{target:e}\u003dt,{trapElement:i}\u003dthis._config;if(e\u003d\u003d\u003ddocument||e\u003d\u003d\u003di||i.contains(e))return;const n\u003dV.focusableChildren(i);0\u003d\u003d\u003dn.length?i.focus():this._lastTabNavDirection\u003d\u003d\u003dEi?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){\"Tab\"\u003d\u003d\u003dt.key\u0026\u0026(this._lastTabNavDirection\u003dt.shiftKey?Ei:\"forward\")}_getConfig(t){return t\u003d{...vi,...\"object\"\u003d\u003dtypeof t?t:{}},a(\"focustrap\",t,yi),t}}const Ti\u003d\"modal\",Oi\u003d\"Escape\",Ci\u003d{backdrop:!0,keyboard:!0,focus:!0},ki\u003d{backdrop:\"(boolean|string)\",keyboard:\"boolean\",focus:\"boolean\"},Li\u003d\"hidden.bs.modal\",xi\u003d\"show.bs.modal\",Di\u003d\"resize.bs.modal\",Si\u003d\"click.dismiss.bs.modal\",Ni\u003d\"keydown.dismiss.bs.modal\",Ii\u003d\"mousedown.dismiss.bs.modal\",Pi\u003d\"modal-open\",ji\u003d\"show\",Mi\u003d\"modal-static\";class Hi extends B{constructor(t,e){super(t),this._config\u003dthis._getConfig(e),this._dialog\u003dV.findOne(\".modal-dialog\",this._element),this._backdrop\u003dthis._initializeBackDrop(),this._focustrap\u003dthis._initializeFocusTrap(),this._isShown\u003d!1,this._ignoreBackdropClick\u003d!1,this._isTransitioning\u003d!1,this._scrollBar\u003dnew fi}static get Default(){return Ci}static get NAME(){return Ti}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown\u003d!0,this._isAnimated()\u0026\u0026(this._isTransitioning\u003d!0),this._scrollBar.hide(),document.body.classList.add(Pi),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),j.on(this._dialog,Ii,(()\u003d\u003e{j.one(this._element,\"mouseup.dismiss.bs.modal\",(t\u003d\u003e{t.target\u003d\u003d\u003dthis._element\u0026\u0026(this._ignoreBackdropClick\u003d!0)}))})),this._showBackdrop((()\u003d\u003ethis._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;if(j.trigger(this._element,\"hide.bs.modal\").defaultPrevented)return;this._isShown\u003d!1;const t\u003dthis._isAnimated();t\u0026\u0026(this._isTransitioning\u003d!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(ji),j.off(this._element,Si),j.off(this._dialog,Ii),this._queueCallback((()\u003d\u003ethis._hideModal()),this._element,t)}dispose(){[window,this._dialog].forEach((t\u003d\u003ej.off(t,\".bs.modal\"))),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new bi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_getConfig(t){return t\u003d{...Ci,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t?t:{}},a(Ti,t,ki),t}_showElement(t){const e\u003dthis._isAnimated(),i\u003dV.findOne(\".modal-body\",this._dialog);this._element.parentNode\u0026\u0026this._element.parentNode.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE||document.body.append(this._element),this._element.style.display\u003d\"block\",this._element.removeAttribute(\"aria-hidden\"),this._element.setAttribute(\"aria-modal\",!0),this._element.setAttribute(\"role\",\"dialog\"),this._element.scrollTop\u003d0,i\u0026\u0026(i.scrollTop\u003d0),e\u0026\u0026u(this._element),this._element.classList.add(ji),this._queueCallback((()\u003d\u003e{this._config.focus\u0026\u0026this._focustrap.activate(),this._isTransitioning\u003d!1,j.trigger(this._element,\"shown.bs.modal\",{relatedTarget:t})}),this._dialog,e)}_setEscapeEvent(){this._isShown?j.on(this._element,Ni,(t\u003d\u003e{this._config.keyboard\u0026\u0026t.key\u003d\u003d\u003dOi?(t.preventDefault(),this.hide()):this._config.keyboard||t.key!\u003d\u003dOi||this._triggerBackdropTransition()})):j.off(this._element,Ni)}_setResizeEvent(){this._isShown?j.on(window,Di,(()\u003d\u003ethis._adjustDialog())):j.off(window,Di)}_hideModal(){this._element.style.display\u003d\"none\",this._element.setAttribute(\"aria-hidden\",!0),this._element.removeAttribute(\"aria-modal\"),this._element.removeAttribute(\"role\"),this._isTransitioning\u003d!1,this._backdrop.hide((()\u003d\u003e{document.body.classList.remove(Pi),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,Li)}))}_showBackdrop(t){j.on(this._element,Si,(t\u003d\u003e{this._ignoreBackdropClick?this._ignoreBackdropClick\u003d!1:t.target\u003d\u003d\u003dt.currentTarget\u0026\u0026(!0\u003d\u003d\u003dthis._config.backdrop?this.hide():\"static\"\u003d\u003d\u003dthis._config.backdrop\u0026\u0026this._triggerBackdropTransition())})),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains(\"fade\")}_triggerBackdropTransition(){if(j.trigger(this._element,\"hidePrevented.bs.modal\").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}\u003dthis._element,n\u003de\u003edocument.documentElement.clientHeight;!n\u0026\u0026\"hidden\"\u003d\u003d\u003di.overflowY||t.contains(Mi)||(n||(i.overflowY\u003d\"hidden\"),t.add(Mi),this._queueCallback((()\u003d\u003e{t.remove(Mi),n||this._queueCallback((()\u003d\u003e{i.overflowY\u003d\"\"}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t\u003dthis._element.scrollHeight\u003edocument.documentElement.clientHeight,e\u003dthis._scrollBar.getWidth(),i\u003de\u003e0;(!i\u0026\u0026t\u0026\u0026!m()||i\u0026\u0026!t\u0026\u0026m())\u0026\u0026(this._element.style.paddingLeft\u003d`${e}px`),(i\u0026\u0026!t\u0026\u0026!m()||!i\u0026\u0026t\u0026\u0026m())\u0026\u0026(this._element.style.paddingRight\u003d`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft\u003d\"\",this._element.style.paddingRight\u003d\"\"}static jQueryInterface(t,e){return this.each((function(){const i\u003dHi.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003di[t])throw new TypeError(`No method named \"${t}\"`);i[t](e)}}))}}j.on(document,\"click.bs.modal.data-api\",\u0027[data-bs-toggle\u003d\"modal\"]\u0027,(function(t){const e\u003dn(this);[\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026t.preventDefault(),j.one(e,xi,(t\u003d\u003e{t.defaultPrevented||j.one(e,Li,(()\u003d\u003e{l(this)\u0026\u0026this.focus()}))}));const i\u003dV.findOne(\".modal.show\");i\u0026\u0026Hi.getInstance(i).hide(),Hi.getOrCreateInstance(e).toggle(this)})),R(Hi),g(Hi);const Bi\u003d\"offcanvas\",Ri\u003d{backdrop:!0,keyboard:!0,scroll:!1},Wi\u003d{backdrop:\"boolean\",keyboard:\"boolean\",scroll:\"boolean\"},$i\u003d\"show\",zi\u003d\".offcanvas.show\",qi\u003d\"hidden.bs.offcanvas\";class Fi extends B{constructor(t,e){super(t),this._config\u003dthis._getConfig(e),this._isShown\u003d!1,this._backdrop\u003dthis._initializeBackDrop(),this._focustrap\u003dthis._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return Bi}static get Default(){return Ri}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,\"show.bs.offcanvas\",{relatedTarget:t}).defaultPrevented||(this._isShown\u003d!0,this._element.style.visibility\u003d\"visible\",this._backdrop.show(),this._config.scroll||(new fi).hide(),this._element.removeAttribute(\"aria-hidden\"),this._element.setAttribute(\"aria-modal\",!0),this._element.setAttribute(\"role\",\"dialog\"),this._element.classList.add($i),this._queueCallback((()\u003d\u003e{this._config.scroll||this._focustrap.activate(),j.trigger(this._element,\"shown.bs.offcanvas\",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown\u0026\u0026(j.trigger(this._element,\"hide.bs.offcanvas\").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown\u003d!1,this._element.classList.remove($i),this._backdrop.hide(),this._queueCallback((()\u003d\u003e{this._element.setAttribute(\"aria-hidden\",!0),this._element.removeAttribute(\"aria-modal\"),this._element.removeAttribute(\"role\"),this._element.style.visibility\u003d\"hidden\",this._config.scroll||(new fi).reset(),j.trigger(this._element,qi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t\u003d{...Ri,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t?t:{}},a(Bi,t,Wi),t}_initializeBackDrop(){return new bi({className:\"offcanvas-backdrop\",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()\u003d\u003ethis.hide()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_addEventListeners(){j.on(this._element,\"keydown.dismiss.bs.offcanvas\",(t\u003d\u003e{this._config.keyboard\u0026\u0026\"Escape\"\u003d\u003d\u003dt.key\u0026\u0026this.hide()}))}static jQueryInterface(t){return this.each((function(){const e\u003dFi.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t]||t.startsWith(\"_\")||\"constructor\"\u003d\u003d\u003dt)throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}j.on(document,\"click.bs.offcanvas.data-api\",\u0027[data-bs-toggle\u003d\"offcanvas\"]\u0027,(function(t){const e\u003dn(this);if([\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026t.preventDefault(),c(this))return;j.one(e,qi,(()\u003d\u003e{l(this)\u0026\u0026this.focus()}));const i\u003dV.findOne(zi);i\u0026\u0026i!\u003d\u003de\u0026\u0026Fi.getInstance(i).hide(),Fi.getOrCreateInstance(e).toggle(this)})),j.on(window,\"load.bs.offcanvas.data-api\",(()\u003d\u003eV.find(zi).forEach((t\u003d\u003eFi.getOrCreateInstance(t).show())))),R(Fi),g(Fi);const Ui\u003dnew Set([\"background\",\"cite\",\"href\",\"itemtype\",\"longdesc\",\"poster\",\"src\",\"xlink:href\"]),Vi\u003d/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#\u0026/:?]*(?:[#/?]|$))/i,Ki\u003d/^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+\u003d*$/i,Xi\u003d(t,e)\u003d\u003e{const i\u003dt.nodeName.toLowerCase();if(e.includes(i))return!Ui.has(i)||Boolean(Vi.test(t.nodeValue)||Ki.test(t.nodeValue));const n\u003de.filter((t\u003d\u003et instanceof RegExp));for(let t\u003d0,e\u003dn.length;t\u003ce;t++)if(n[t].test(i))return!0;return!1};function Yi(t,e,i){if(!t.length)return t;if(i\u0026\u0026\"function\"\u003d\u003dtypeof i)return i(t);const n\u003d(new window.DOMParser).parseFromString(t,\"text/html\"),s\u003d[].concat(...n.body.querySelectorAll(\"*\"));for(let t\u003d0,i\u003ds.length;t\u003ci;t++){const i\u003ds[t],n\u003di.nodeName.toLowerCase();if(!Object.keys(e).includes(n)){i.remove();continue}const o\u003d[].concat(...i.attributes),r\u003d[].concat(e[\"*\"]||[],e[n]||[]);o.forEach((t\u003d\u003e{Xi(t,r)||i.removeAttribute(t.nodeName)}))}return n.body.innerHTML}const Qi\u003d\"tooltip\",Gi\u003dnew Set([\"sanitize\",\"allowList\",\"sanitizeFn\"]),Zi\u003d{animation:\"boolean\",template:\"string\",title:\"(string|element|function)\",trigger:\"string\",delay:\"(number|object)\",html:\"boolean\",selector:\"(string|boolean)\",placement:\"(string|function)\",offset:\"(array|string|function)\",container:\"(string|element|boolean)\",fallbackPlacements:\"array\",boundary:\"(string|element)\",customClass:\"(string|function)\",sanitize:\"boolean\",sanitizeFn:\"(null|function)\",allowList:\"object\",popperConfig:\"(null|object|function)\"},Ji\u003d{AUTO:\"auto\",TOP:\"top\",RIGHT:m()?\"left\":\"right\",BOTTOM:\"bottom\",LEFT:m()?\"right\":\"left\"},tn\u003d{animation:!0,template:\u0027\u003cdiv class\u003d\"tooltip\" role\u003d\"tooltip\"\u003e\u003cdiv class\u003d\"tooltip-arrow\"\u003e\u003c/div\u003e\u003cdiv class\u003d\"tooltip-inner\"\u003e\u003c/div\u003e\u003c/div\u003e\u0027,trigger:\"hover focus\",title:\"\",delay:0,html:!1,selector:!1,placement:\"top\",offset:[0,0],container:!1,fallbackPlacements:[\"top\",\"right\",\"bottom\",\"left\"],boundary:\"clippingParents\",customClass:\"\",sanitize:!0,sanitizeFn:null,allowList:{\"*\":[\"class\",\"dir\",\"id\",\"lang\",\"role\",/^aria-[\\w-]*$/i],a:[\"target\",\"href\",\"title\",\"rel\"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:[\"src\",\"srcset\",\"alt\",\"title\",\"width\",\"height\"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},en\u003d{HIDE:\"hide.bs.tooltip\",HIDDEN:\"hidden.bs.tooltip\",SHOW:\"show.bs.tooltip\",SHOWN:\"shown.bs.tooltip\",INSERTED:\"inserted.bs.tooltip\",CLICK:\"click.bs.tooltip\",FOCUSIN:\"focusin.bs.tooltip\",FOCUSOUT:\"focusout.bs.tooltip\",MOUSEENTER:\"mouseenter.bs.tooltip\",MOUSELEAVE:\"mouseleave.bs.tooltip\"},nn\u003d\"fade\",sn\u003d\"show\",on\u003d\"show\",rn\u003d\"out\",an\u003d\".tooltip-inner\",ln\u003d\".modal\",cn\u003d\"hide.bs.modal\",hn\u003d\"hover\",dn\u003d\"focus\";class un extends B{constructor(t,e){if(void 0\u003d\u003d\u003dFe)throw new TypeError(\"Bootstrap\u0027s tooltips require Popper (https://popper.js.org)\");super(t),this._isEnabled\u003d!0,this._timeout\u003d0,this._hoverState\u003d\"\",this._activeTrigger\u003d{},this._popper\u003dnull,this._config\u003dthis._getConfig(e),this.tip\u003dnull,this._setListeners()}static get Default(){return tn}static get NAME(){return Qi}static get Event(){return en}static get DefaultType(){return Zi}enable(){this._isEnabled\u003d!0}disable(){this._isEnabled\u003d!1}toggleEnabled(){this._isEnabled\u003d!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e\u003dthis._initializeOnDelegatedTarget(t);e._activeTrigger.click\u003d!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(sn))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(ln),cn,this._hideModalHandler),this.tip\u0026\u0026this.tip.remove(),this._disposePopper(),super.dispose()}show(){if(\"none\"\u003d\u003d\u003dthis._element.style.display)throw new Error(\"Please use show on visible elements\");if(!this.isWithContent()||!this._isEnabled)return;const t\u003dj.trigger(this._element,this.constructor.Event.SHOW),e\u003dh(this._element),i\u003dnull\u003d\u003d\u003de?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;\"tooltip\"\u003d\u003d\u003dthis.constructor.NAME\u0026\u0026this.tip\u0026\u0026this.getTitle()!\u003d\u003dthis.tip.querySelector(an).innerHTML\u0026\u0026(this._disposePopper(),this.tip.remove(),this.tip\u003dnull);const n\u003dthis.getTipElement(),s\u003d(t\u003d\u003e{do{t+\u003dMath.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute(\"id\",s),this._element.setAttribute(\"aria-describedby\",s),this._config.animation\u0026\u0026n.classList.add(nn);const o\u003d\"function\"\u003d\u003dtypeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,r\u003dthis._getAttachment(o);this._addAttachmentClass(r);const{container:a}\u003dthis._config;H.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(n),j.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper\u003dqe(this._element,n,this._getPopperConfig(r)),n.classList.add(sn);const l\u003dthis._resolvePossibleFunction(this._config.customClass);l\u0026\u0026n.classList.add(...l.split(\" \")),\"ontouchstart\"in document.documentElement\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003e{j.on(t,\"mouseover\",d)}));const c\u003dthis.tip.classList.contains(nn);this._queueCallback((()\u003d\u003e{const t\u003dthis._hoverState;this._hoverState\u003dnull,j.trigger(this._element,this.constructor.Event.SHOWN),t\u003d\u003d\u003drn\u0026\u0026this._leave(null,this)}),this.tip,c)}hide(){if(!this._popper)return;const t\u003dthis.getTipElement();if(j.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove(sn),\"ontouchstart\"in document.documentElement\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003ej.off(t,\"mouseover\",d))),this._activeTrigger.click\u003d!1,this._activeTrigger.focus\u003d!1,this._activeTrigger.hover\u003d!1;const e\u003dthis.tip.classList.contains(nn);this._queueCallback((()\u003d\u003e{this._isWithActiveTrigger()||(this._hoverState!\u003d\u003don\u0026\u0026t.remove(),this._cleanTipClass(),this._element.removeAttribute(\"aria-describedby\"),j.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())}),this.tip,e),this._hoverState\u003d\"\"}update(){null!\u003d\u003dthis._popper\u0026\u0026this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t\u003ddocument.createElement(\"div\");t.innerHTML\u003dthis._config.template;const e\u003dt.children[0];return this.setContent(e),e.classList.remove(nn,sn),this.tip\u003de,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),an)}_sanitizeAndSetContent(t,e,i){const n\u003dV.findOne(i,t);e||!n?this.setElementContent(n,e):n.remove()}setElementContent(t,e){if(null!\u003d\u003dt)return o(e)?(e\u003dr(e),void(this._config.html?e.parentNode!\u003d\u003dt\u0026\u0026(t.innerHTML\u003d\"\",t.append(e)):t.textContent\u003de.textContent)):void(this._config.html?(this._config.sanitize\u0026\u0026(e\u003dYi(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML\u003de):t.textContent\u003de)}getTitle(){const t\u003dthis._element.getAttribute(\"data-bs-original-title\")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return\"right\"\u003d\u003d\u003dt?\"end\":\"left\"\u003d\u003d\u003dt?\"start\":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:t}\u003dthis._config;return\"string\"\u003d\u003dtypeof t?t.split(\",\").map((t\u003d\u003eNumber.parseInt(t,10))):\"function\"\u003d\u003dtypeof t?e\u003d\u003et(e,this._element):t}_resolvePossibleFunction(t){return\"function\"\u003d\u003dtypeof t?t.call(this._element):t}_getPopperConfig(t){const e\u003d{placement:t,modifiers:[{name:\"flip\",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:\"offset\",options:{offset:this._getOffset()}},{name:\"preventOverflow\",options:{boundary:this._config.boundary}},{name:\"arrow\",options:{element:`.${this.constructor.NAME}-arrow`}},{name:\"onChange\",enabled:!0,phase:\"afterWrite\",fn:t\u003d\u003ethis._handlePopperPlacementChange(t)}],onFirstUpdate:t\u003d\u003e{t.options.placement!\u003d\u003dt.placement\u0026\u0026this._handlePopperPlacementChange(t)}};return{...e,...\"function\"\u003d\u003dtypeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return Ji[t.toUpperCase()]}_setListeners(){this._config.trigger.split(\" \").forEach((t\u003d\u003e{if(\"click\"\u003d\u003d\u003dt)j.on(this._element,this.constructor.Event.CLICK,this._config.selector,(t\u003d\u003ethis.toggle(t)));else if(\"manual\"!\u003d\u003dt){const e\u003dt\u003d\u003d\u003dhn?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i\u003dt\u003d\u003d\u003dhn?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;j.on(this._element,e,this._config.selector,(t\u003d\u003ethis._enter(t))),j.on(this._element,i,this._config.selector,(t\u003d\u003ethis._leave(t)))}})),this._hideModalHandler\u003d()\u003d\u003e{this._element\u0026\u0026this.hide()},j.on(this._element.closest(ln),cn,this._hideModalHandler),this._config.selector?this._config\u003d{...this._config,trigger:\"manual\",selector:\"\"}:this._fixTitle()}_fixTitle(){const t\u003dthis._element.getAttribute(\"title\"),e\u003dtypeof this._element.getAttribute(\"data-bs-original-title\");(t||\"string\"!\u003d\u003de)\u0026\u0026(this._element.setAttribute(\"data-bs-original-title\",t||\"\"),!t||this._element.getAttribute(\"aria-label\")||this._element.textContent||this._element.setAttribute(\"aria-label\",t),this._element.setAttribute(\"title\",\"\"))}_enter(t,e){e\u003dthis._initializeOnDelegatedTarget(t,e),t\u0026\u0026(e._activeTrigger[\"focusin\"\u003d\u003d\u003dt.type?dn:hn]\u003d!0),e.getTipElement().classList.contains(sn)||e._hoverState\u003d\u003d\u003don?e._hoverState\u003don:(clearTimeout(e._timeout),e._hoverState\u003don,e._config.delay\u0026\u0026e._config.delay.show?e._timeout\u003dsetTimeout((()\u003d\u003e{e._hoverState\u003d\u003d\u003don\u0026\u0026e.show()}),e._config.delay.show):e.show())}_leave(t,e){e\u003dthis._initializeOnDelegatedTarget(t,e),t\u0026\u0026(e._activeTrigger[\"focusout\"\u003d\u003d\u003dt.type?dn:hn]\u003de._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState\u003drn,e._config.delay\u0026\u0026e._config.delay.hide?e._timeout\u003dsetTimeout((()\u003d\u003e{e._hoverState\u003d\u003d\u003drn\u0026\u0026e.hide()}),e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e\u003dU.getDataAttributes(this._element);return Object.keys(e).forEach((t\u003d\u003e{Gi.has(t)\u0026\u0026delete e[t]})),(t\u003d{...this.constructor.Default,...e,...\"object\"\u003d\u003dtypeof t\u0026\u0026t?t:{}}).container\u003d!1\u003d\u003d\u003dt.container?document.body:r(t.container),\"number\"\u003d\u003dtypeof t.delay\u0026\u0026(t.delay\u003d{show:t.delay,hide:t.delay}),\"number\"\u003d\u003dtypeof t.title\u0026\u0026(t.title\u003dt.title.toString()),\"number\"\u003d\u003dtypeof t.content\u0026\u0026(t.content\u003dt.content.toString()),a(Qi,t,this.constructor.DefaultType),t.sanitize\u0026\u0026(t.template\u003dYi(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t\u003d{};for(const e in this._config)this.constructor.Default[e]!\u003d\u003dthis._config[e]\u0026\u0026(t[e]\u003dthis._config[e]);return t}_cleanTipClass(){const t\u003dthis.getTipElement(),e\u003dnew RegExp(`(^|\\\\s)${this._getBasicClassPrefix()}\\\\S+`,\"g\"),i\u003dt.getAttribute(\"class\").match(e);null!\u003d\u003di\u0026\u0026i.length\u003e0\u0026\u0026i.map((t\u003d\u003et.trim())).forEach((e\u003d\u003et.classList.remove(e)))}_getBasicClassPrefix(){return\"bs-tooltip\"}_handlePopperPlacementChange(t){const{state:e}\u003dt;e\u0026\u0026(this.tip\u003de.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper\u0026\u0026(this._popper.destroy(),this._popper\u003dnull)}static jQueryInterface(t){return this.each((function(){const e\u003dun.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}g(un);const fn\u003d{...un.Default,placement:\"right\",offset:[0,8],trigger:\"click\",content:\"\",template:\u0027\u003cdiv class\u003d\"popover\" role\u003d\"tooltip\"\u003e\u003cdiv class\u003d\"popover-arrow\"\u003e\u003c/div\u003e\u003ch3 class\u003d\"popover-header\"\u003e\u003c/h3\u003e\u003cdiv class\u003d\"popover-body\"\u003e\u003c/div\u003e\u003c/div\u003e\u0027},pn\u003d{...un.DefaultType,content:\"(string|element|function)\"},mn\u003d{HIDE:\"hide.bs.popover\",HIDDEN:\"hidden.bs.popover\",SHOW:\"show.bs.popover\",SHOWN:\"shown.bs.popover\",INSERTED:\"inserted.bs.popover\",CLICK:\"click.bs.popover\",FOCUSIN:\"focusin.bs.popover\",FOCUSOUT:\"focusout.bs.popover\",MOUSEENTER:\"mouseenter.bs.popover\",MOUSELEAVE:\"mouseleave.bs.popover\"};class gn extends un{static get Default(){return fn}static get NAME(){return\"popover\"}static get Event(){return mn}static get DefaultType(){return pn}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),\".popover-header\"),this._sanitizeAndSetContent(t,this._getContent(),\".popover-body\")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return\"bs-popover\"}static jQueryInterface(t){return this.each((function(){const e\u003dgn.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}g(gn);const _n\u003d\"scrollspy\",bn\u003d{offset:10,method:\"auto\",target:\"\"},vn\u003d{offset:\"number\",method:\"string\",target:\"(string|element)\"},yn\u003d\"active\",wn\u003d\".nav-link, .list-group-item, .dropdown-item\",En\u003d\"position\";class An extends B{constructor(t,e){super(t),this._scrollElement\u003d\"BODY\"\u003d\u003d\u003dthis._element.tagName?window:this._element,this._config\u003dthis._getConfig(e),this._offsets\u003d[],this._targets\u003d[],this._activeTarget\u003dnull,this._scrollHeight\u003d0,j.on(this._scrollElement,\"scroll.bs.scrollspy\",(()\u003d\u003ethis._process())),this.refresh(),this._process()}static get Default(){return bn}static get NAME(){return _n}refresh(){const t\u003dthis._scrollElement\u003d\u003d\u003dthis._scrollElement.window?\"offset\":En,e\u003d\"auto\"\u003d\u003d\u003dthis._config.method?t:this._config.method,n\u003de\u003d\u003d\u003dEn?this._getScrollTop():0;this._offsets\u003d[],this._targets\u003d[],this._scrollHeight\u003dthis._getScrollHeight(),V.find(wn,this._config.target).map((t\u003d\u003e{const s\u003di(t),o\u003ds?V.findOne(s):null;if(o){const t\u003do.getBoundingClientRect();if(t.width||t.height)return[U[e](o).top+n,s]}return null})).filter((t\u003d\u003et)).sort(((t,e)\u003d\u003et[0]-e[0])).forEach((t\u003d\u003e{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){j.off(this._scrollElement,\".bs.scrollspy\"),super.dispose()}_getConfig(t){return(t\u003d{...bn,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t\u0026\u0026t?t:{}}).target\u003dr(t.target)||document.documentElement,a(_n,t,vn),t}_getScrollTop(){return this._scrollElement\u003d\u003d\u003dwindow?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement\u003d\u003d\u003dwindow?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t\u003dthis._getScrollTop()+this._config.offset,e\u003dthis._getScrollHeight(),i\u003dthis._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!\u003d\u003de\u0026\u0026this.refresh(),t\u003e\u003di){const t\u003dthis._targets[this._targets.length-1];this._activeTarget!\u003d\u003dt\u0026\u0026this._activate(t)}else{if(this._activeTarget\u0026\u0026t\u003cthis._offsets[0]\u0026\u0026this._offsets[0]\u003e0)return this._activeTarget\u003dnull,void this._clear();for(let e\u003dthis._offsets.length;e--;)this._activeTarget!\u003d\u003dthis._targets[e]\u0026\u0026t\u003e\u003dthis._offsets[e]\u0026\u0026(void 0\u003d\u003d\u003dthis._offsets[e+1]||t\u003cthis._offsets[e+1])\u0026\u0026this._activate(this._targets[e])}}_activate(t){this._activeTarget\u003dt,this._clear();const e\u003dwn.split(\",\").map((e\u003d\u003e`${e}[data-bs-target\u003d\"${t}\"],${e}[href\u003d\"${t}\"]`)),i\u003dV.findOne(e.join(\",\"),this._config.target);i.classList.add(yn),i.classList.contains(\"dropdown-item\")?V.findOne(\".dropdown-toggle\",i.closest(\".dropdown\")).classList.add(yn):V.parents(i,\".nav, .list-group\").forEach((t\u003d\u003e{V.prev(t,\".nav-link, .list-group-item\").forEach((t\u003d\u003et.classList.add(yn))),V.prev(t,\".nav-item\").forEach((t\u003d\u003e{V.children(t,\".nav-link\").forEach((t\u003d\u003et.classList.add(yn)))}))})),j.trigger(this._scrollElement,\"activate.bs.scrollspy\",{relatedTarget:t})}_clear(){V.find(wn,this._config.target).filter((t\u003d\u003et.classList.contains(yn))).forEach((t\u003d\u003et.classList.remove(yn)))}static jQueryInterface(t){return this.each((function(){const e\u003dAn.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}j.on(window,\"load.bs.scrollspy.data-api\",(()\u003d\u003e{V.find(\u0027[data-bs-spy\u003d\"scroll\"]\u0027).forEach((t\u003d\u003enew An(t)))})),g(An);const Tn\u003d\"active\",On\u003d\"fade\",Cn\u003d\"show\",kn\u003d\".active\",Ln\u003d\":scope \u003e li \u003e .active\";class xn extends B{static get NAME(){return\"tab\"}show(){if(this._element.parentNode\u0026\u0026this._element.parentNode.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE\u0026\u0026this._element.classList.contains(Tn))return;let t;const e\u003dn(this._element),i\u003dthis._element.closest(\".nav, .list-group\");if(i){const e\u003d\"UL\"\u003d\u003d\u003di.nodeName||\"OL\"\u003d\u003d\u003di.nodeName?Ln:kn;t\u003dV.find(e,i),t\u003dt[t.length-1]}const s\u003dt?j.trigger(t,\"hide.bs.tab\",{relatedTarget:this._element}):null;if(j.trigger(this._element,\"show.bs.tab\",{relatedTarget:t}).defaultPrevented||null!\u003d\u003ds\u0026\u0026s.defaultPrevented)return;this._activate(this._element,i);const o\u003d()\u003d\u003e{j.trigger(t,\"hidden.bs.tab\",{relatedTarget:this._element}),j.trigger(this._element,\"shown.bs.tab\",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,i){const n\u003d(!e||\"UL\"!\u003d\u003de.nodeName\u0026\u0026\"OL\"!\u003d\u003de.nodeName?V.children(e,kn):V.find(Ln,e))[0],s\u003di\u0026\u0026n\u0026\u0026n.classList.contains(On),o\u003d()\u003d\u003ethis._transitionComplete(t,n,i);n\u0026\u0026s?(n.classList.remove(Cn),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove(Tn);const t\u003dV.findOne(\":scope \u003e .dropdown-menu .active\",e.parentNode);t\u0026\u0026t.classList.remove(Tn),\"tab\"\u003d\u003d\u003de.getAttribute(\"role\")\u0026\u0026e.setAttribute(\"aria-selected\",!1)}t.classList.add(Tn),\"tab\"\u003d\u003d\u003dt.getAttribute(\"role\")\u0026\u0026t.setAttribute(\"aria-selected\",!0),u(t),t.classList.contains(On)\u0026\u0026t.classList.add(Cn);let n\u003dt.parentNode;if(n\u0026\u0026\"LI\"\u003d\u003d\u003dn.nodeName\u0026\u0026(n\u003dn.parentNode),n\u0026\u0026n.classList.contains(\"dropdown-menu\")){const e\u003dt.closest(\".dropdown\");e\u0026\u0026V.find(\".dropdown-toggle\",e).forEach((t\u003d\u003et.classList.add(Tn))),t.setAttribute(\"aria-expanded\",!0)}i\u0026\u0026i()}static jQueryInterface(t){return this.each((function(){const e\u003dxn.getOrCreateInstance(this);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}j.on(document,\"click.bs.tab.data-api\",\u0027[data-bs-toggle\u003d\"tab\"], [data-bs-toggle\u003d\"pill\"], [data-bs-toggle\u003d\"list\"]\u0027,(function(t){[\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026t.preventDefault(),c(this)||xn.getOrCreateInstance(this).show()})),g(xn);const Dn\u003d\"toast\",Sn\u003d\"hide\",Nn\u003d\"show\",In\u003d\"showing\",Pn\u003d{animation:\"boolean\",autohide:\"boolean\",delay:\"number\"},jn\u003d{animation:!0,autohide:!0,delay:5e3};class Mn extends B{constructor(t,e){super(t),this._config\u003dthis._getConfig(e),this._timeout\u003dnull,this._hasMouseInteraction\u003d!1,this._hasKeyboardInteraction\u003d!1,this._setListeners()}static get DefaultType(){return Pn}static get Default(){return jn}static get NAME(){return Dn}show(){j.trigger(this._element,\"show.bs.toast\").defaultPrevented||(this._clearTimeout(),this._config.animation\u0026\u0026this._element.classList.add(\"fade\"),this._element.classList.remove(Sn),u(this._element),this._element.classList.add(Nn),this._element.classList.add(In),this._queueCallback((()\u003d\u003e{this._element.classList.remove(In),j.trigger(this._element,\"shown.bs.toast\"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this._element.classList.contains(Nn)\u0026\u0026(j.trigger(this._element,\"hide.bs.toast\").defaultPrevented||(this._element.classList.add(In),this._queueCallback((()\u003d\u003e{this._element.classList.add(Sn),this._element.classList.remove(In),this._element.classList.remove(Nn),j.trigger(this._element,\"hidden.bs.toast\")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains(Nn)\u0026\u0026this._element.classList.remove(Nn),super.dispose()}_getConfig(t){return t\u003d{...jn,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t\u0026\u0026t?t:{}},a(Dn,t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide\u0026\u0026(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout\u003dsetTimeout((()\u003d\u003e{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case\"mouseover\":case\"mouseout\":this._hasMouseInteraction\u003de;break;case\"focusin\":case\"focusout\":this._hasKeyboardInteraction\u003de}if(e)return void this._clearTimeout();const i\u003dt.relatedTarget;this._element\u003d\u003d\u003di||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,\"mouseover.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!0))),j.on(this._element,\"mouseout.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!1))),j.on(this._element,\"focusin.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!0))),j.on(this._element,\"focusout.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout\u003dnull}static jQueryInterface(t){return this.each((function(){const e\u003dMn.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}return R(Mn),g(Mn),{Alert:W,Button:z,Carousel:st,Collapse:pt,Dropdown:hi,Modal:Hi,Offcanvas:Fi,Popover:gn,ScrollSpy:An,Tab:xn,Toast:Mn,Tooltip:un}}));"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"//# sourceMappingURL\u003dbootstrap.bundle.min.js.map"}],"authorContributionMap":{"jingting1412":7}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/js/markbind.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"!function(t,e){\"object\"\u003d\u003dtypeof exports\u0026\u0026\"object\"\u003d\u003dtypeof module?module.exports\u003de(require(\"Vue\")):\"function\"\u003d\u003dtypeof define\u0026\u0026define.amd?define([\"Vue\"],e):\"object\"\u003d\u003dtypeof exports?exports.MarkBind\u003de(require(\"Vue\")):t.MarkBind\u003de(t.Vue)}(self,t\u003d\u003e(()\u003d\u003e{var e\u003d{605:()\u003d\u003e{function t(){document.querySelectorAll(\".\".concat(\"page-nav-clone\")).forEach((function(t){t.remove()}))}window.addEventListener(\"beforeprint\",(function(){var e\u003ddocument.querySelector(\"#\".concat(\"mb-page-nav\")),n\u003ddocument.querySelectorAll(\".\".concat(\"page-nav-print\"));e\u0026\u0026n.length\u003e\u003d1\u0026\u0026(t(),n.forEach((function(t){t.appendChild(function(t){var e\u003dt.cloneNode(!0);return e.removeAttribute(\"id\"),e.querySelectorAll(\"a.active\").forEach((function(t){t.classList.remove(\"active\")})),e.classList.add(\"page-nav-clone\"),e}(e))})))})),window.addEventListener(\"afterprint\",(function(){t()}))},3:t\u003d\u003e{t.exports\u003d{bind:function(t){function e(){t.dataset.isShown\u003d\"false\",r.style.display\u003d\"\",o.style.display\u003d\"none\",i.style.display\u003d\"none\"}function n(){t.dataset.isShown\u003d\"true\",r.style.display\u003d\"none\",i.style.display\u003d\"\"}t.dataset.isShown\u003d\"true\",t.style.position\u003d\"relative\";var i\u003ddocument.createElement(\"div\");i.classList.add(\"content\"),Array.from(t.children).forEach((function(t){return i.append(t)})),t.replaceChildren(),t.append(i),t.classList.add(\"closeable-wrapper\");var o\u003dfunction(){var t\u003ddocument.createElement(\"span\");return t.classList.add(\"closeable-button\",\"label\",\"label-default\",\"hidden-print\"),t.style.cssText+\u003d\"display: none; position: absolute; top: 0; left: 0; cursor: pointer;background: #d9534f\",t.innerHTML\u003d\u0027\u003cspan class\u003d\"glyphicon glyphicon-remove\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e\u0027,t.addEventListener(\"click\",e),t}();t.append(o);var r\u003dfunction(t){var e\u003ddocument.createElement(\"a\");return e.classList.add(\"closeable-show\",\"hidden-print\"),e.style.cssText+\u003d\"display: none; cursor: pointer;text-decoration: underline\",e.innerHTML\u003dt,e.addEventListener(\"click\",n),e}(t.getAttribute(\"alt\")||\"Expand Content\");t.append(r),t.addEventListener(\"mouseover\",(function(){\"false\"!\u003d\u003dt.dataset.isShown\u0026\u0026(o.style.display\u003d\"\")})),t.addEventListener(\"mouseout\",(function(){\"false\"!\u003d\u003dt.dataset.isShown\u0026\u0026(o.style.display\u003d\"none\")}))}}},383:(t,e,n)\u003d\u003e{\"use strict\";var i,o\u003d(i\u003dn(740))\u0026\u0026\"object\"\u003d\u003dtypeof i\u0026\u0026\"default\"in i?i.default:i;function r(t){return(r\u003d\"function\"\u003d\u003dtypeof Symbol\u0026\u0026\"symbol\"\u003d\u003dtypeof Symbol.iterator?function(t){return typeof t}:function(t){return t\u0026\u0026\"function\"\u003d\u003dtypeof Symbol\u0026\u0026t.constructor\u003d\u003d\u003dSymbol\u0026\u0026t!\u003d\u003dSymbol.prototype?\"symbol\":typeof t})(t)}function s(t){return function(t){if(Array.isArray(t)){for(var e\u003d0,n\u003dnew Array(t.length);e\u003ct.length;e++)n[e]\u003dt[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||\"[object Arguments]\"\u003d\u003d\u003dObject.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}var a\u003d\"undefined\"!\u003dtypeof window;function l(t,e){return e.reduce((function(e,n){return t.hasOwnProperty(n)\u0026\u0026(e[n]\u003dt[n]),e}),{})}var c\u003d{},u\u003d{},d\u003d{},h\u003dnew(o.extend({data:function(){return{transports:c,targets:u,sources:d,trackInstances:a}},methods:{open:function(t){if(a){var e\u003dt.to,n\u003dt.from,i\u003dt.passengers,s\u003dt.order,l\u003dvoid 0\u003d\u003d\u003ds?1/0:s;if(e\u0026\u0026n\u0026\u0026i){var c,u\u003d{to:e,from:n,passengers:(c\u003di,Array.isArray(c)||\"object\"\u003d\u003d\u003dr(c)?Object.freeze(c):c),order:l};-1\u003d\u003d\u003dObject.keys(this.transports).indexOf(e)\u0026\u0026o.set(this.transports,e,[]);var d,h\u003dthis.$_getTransportIndex(u),p\u003dthis.transports[e].slice(0);-1\u003d\u003d\u003dh?p.push(u):p[h]\u003du,this.transports[e]\u003d(d\u003dfunction(t,e){return t.order-e.order},p.map((function(t,e){return[e,t]})).sort((function(t,e){return d(t[1],e[1])||t[0]-e[0]})).map((function(t){return t[1]})))}}},close:function(t){var e\u003darguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1]\u0026\u0026arguments[1],n\u003dt.to,i\u003dt.from;if(n\u0026\u0026(i||!1!\u003d\u003de)\u0026\u0026this.transports[n])if(e)this.transports[n]\u003d[];else{var o\u003dthis.$_getTransportIndex(t);if(o\u003e\u003d0){var r\u003dthis.transports[n].slice(0);r.splice(o,1),this.transports[n]\u003dr}}},registerTarget:function(t,e,n){a\u0026\u0026(this.trackInstances\u0026\u0026!n\u0026\u0026this.targets[t]\u0026\u0026console.warn(\"[portal-vue]: Target \".concat(t,\" already exists\")),this.$set(this.targets,t,Object.freeze([e])))},unregisterTarget:function(t){this.$delete(this.targets,t)},registerSource:function(t,e,n){a\u0026\u0026(this.trackInstances\u0026\u0026!n\u0026\u0026this.sources[t]\u0026\u0026console.warn(\"[portal-vue]: source \".concat(t,\" already exists\")),this.$set(this.sources,t,Object.freeze([e])))},unregisterSource:function(t){this.$delete(this.sources,t)},hasTarget:function(t){return!(!this.targets[t]||!this.targets[t][0])},hasSource:function(t){return!(!this.sources[t]||!this.sources[t][0])},hasContentFor:function(t){return!!this.transports[t]\u0026\u0026!!this.transports[t].length},$_getTransportIndex:function(t){var e\u003dt.to,n\u003dt.from;for(var i in this.transports[e])if(this.transports[e][i].from\u003d\u003d\u003dn)return+i;return-1}}}))(c),p\u003d1,f\u003do.extend({name:\"portal\",props:{disabled:{type:Boolean},name:{type:String,default:function(){return String(p++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:\"DIV\"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}}},created:function(){var t\u003dthis;this.$nextTick((function(){h.registerSource(t.name,t)}))},mounted:function(){this.disabled||this.sendUpdate()},updated:function(){this.disabled?this.clear():this.sendUpdate()},beforeDestroy:function(){h.unregisterSource(this.name),this.clear()},watch:{to:function(t,e){e\u0026\u0026e!\u003d\u003dt\u0026\u0026this.clear(e),this.sendUpdate()}},methods:{clear:function(t){var e\u003d{from:this.name,to:t||this.to};h.close(e)},normalizeSlots:function(){return this.$scopedSlots.default?[this.$scopedSlots.default]:this.$slots.default},normalizeOwnChildren:function(t){return\"function\"\u003d\u003dtypeof t?t(this.slotProps):t},sendUpdate:function(){var t\u003dthis.normalizeSlots();if(t){var e\u003d{from:this.name,to:this.to,passengers:s(t),order:this.order};h.open(e)}else this.clear()}},render:function(t){var e\u003dthis.$slots.default||this.$scopedSlots.default||[],n\u003dthis.tag;return e\u0026\u0026this.disabled?e.length\u003c\u003d1\u0026\u0026this.slim?this.normalizeOwnChildren(e)[0]:t(n,[this.normalizeOwnChildren(e)]):this.slim?t():t(n,{class:{\"v-portal\":!0},style:{display:\"none\"},key:\"v-portal-placeholder\"})}}),m\u003do.extend({name:\"portalTarget\",props:{multiple:{type:Boolean,default:!1},name:{type:String,required:!0},slim:{type:Boolean,default:!1},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:\"div\"},transition:{type:[String,Object,Function]}},data:function(){return{transports:h.transports,firstRender:!0}},created:function(){var t\u003dthis;this.$nextTick((function(){h.registerTarget(t.name,t)}))},watch:{ownTransports:function(){this.$emit(\"change\",this.children().length\u003e0)},name:function(t,e){h.unregisterTarget(e),h.registerTarget(t,this)}},mounted:function(){var t\u003dthis;this.transition\u0026\u0026this.$nextTick((function(){t.firstRender\u003d!1}))},beforeDestroy:function(){h.unregisterTarget(this.name)},computed:{ownTransports:function(){var t\u003dthis.transports[this.name]||[];return this.multiple?t:0\u003d\u003d\u003dt.length?[]:[t[t.length-1]]},passengers:function(){return function(t){var e\u003darguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1]?arguments[1]:{};return t.reduce((function(t,n){var i\u003dn.passengers[0],o\u003d\"function\"\u003d\u003dtypeof i?i(e):n.passengers;return t.concat(o)}),[])}(this.ownTransports,this.slotProps)}},methods:{children:function(){return 0!\u003d\u003dthis.passengers.length?this.passengers:this.$scopedSlots.default?this.$scopedSlots.default(this.slotProps):this.$slots.default||[]},noWrapper:function(){var t\u003dthis.slim\u0026\u0026!this.transition;return t\u0026\u0026this.children().length\u003e1\u0026\u0026console.warn(\"[portal-vue]: PortalTarget with `slim` option received more than one child element.\"),t}},render:function(t){var e\u003dthis.noWrapper(),n\u003dthis.children(),i\u003dthis.transition||this.tag;return e?n[0]:this.slim\u0026\u0026!i?t():t(i,{props:{tag:this.transition\u0026\u0026this.tag?this.tag:void 0},class:{\"vue-portal-target\":!0}},n)}}),v\u003d0,g\u003d[\"disabled\",\"name\",\"order\",\"slim\",\"slotProps\",\"tag\",\"to\"],y\u003d[\"multiple\",\"transition\"],w\u003do.extend({name:\"MountingPortal\",inheritAttrs:!1,props:{append:{type:[Boolean,String]},bail:{type:Boolean},mountTo:{type:String,required:!0},disabled:{type:Boolean},name:{type:String,default:function(){return\"mounted_\"+String(v++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:\"DIV\"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}},multiple:{type:Boolean,default:!1},targetSlim:{type:Boolean},targetSlotProps:{type:Object,default:function(){return{}}},targetTag:{type:String,default:\"div\"},transition:{type:[String,Object,Function]}},created:function(){if(\"undefined\"!\u003dtypeof document){var t\u003ddocument.querySelector(this.mountTo);if(t){var e\u003dthis.$props;if(h.targets[e.name])e.bail?console.warn(\"[portal-vue]: Target \".concat(e.name,\" is already mounted.\\n Aborting because \u0027bail: true\u0027 is set\")):this.portalTarget\u003dh.targets[e.name];else{var n\u003de.append;if(n){var i\u003d\"string\"\u003d\u003dtypeof n?n:\"DIV\",o\u003ddocument.createElement(i);t.appendChild(o),t\u003do}var r\u003dl(this.$props,y);r.slim\u003dthis.targetSlim,r.tag\u003dthis.targetTag,r.slotProps\u003dthis.targetSlotProps,r.name\u003dthis.to,this.portalTarget\u003dnew m({el:t,parent:this.$parent||this,propsData:r})}}else console.error(\"[portal-vue]: Mount Point \u0027\".concat(this.mountTo,\"\u0027 not found in document\"))}},beforeDestroy:function(){var t\u003dthis.portalTarget;if(this.append){var e\u003dt.$el;e.parentNode.removeChild(e)}t.$destroy()},render:function(t){if(!this.portalTarget)return console.warn(\"[portal-vue] Target wasn\u0027t mounted\"),t();if(!this.$scopedSlots.manual){var e\u003dl(this.$props,g);return t(f,{props:e,attrs:this.$attrs,on:this.$listeners,scopedSlots:this.$scopedSlots},this.$slots.default)}var n\u003dthis.$scopedSlots.manual({to:this.to});return Array.isArray(n)\u0026\u0026(n\u003dn[0]),n||t()}});e.h_\u003df,e.YC\u003dm},740:e\u003d\u003e{\"use strict\";e.exports\u003dt}},n\u003d{};function i(t){var o\u003dn[t];if(void 0!\u003d\u003do)return o.exports;var r\u003dn[t]\u003d{exports:{}};return e[t](r,r.exports,i),r.exports}i.n\u003dt\u003d\u003e{var e\u003dt\u0026\u0026t.__esModule?()\u003d\u003et.default:()\u003d\u003et;return i.d(e,{a:e}),e},i.d\u003d(t,e)\u003d\u003e{for(var n in e)i.o(e,n)\u0026\u0026!i.o(t,n)\u0026\u0026Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.g\u003dfunction(){if(\"object\"\u003d\u003dtypeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(t){if(\"object\"\u003d\u003dtypeof window)return window}}(),i.o\u003d(t,e)\u003d\u003eObject.prototype.hasOwnProperty.call(t,e);var o\u003d{};return(()\u003d\u003e{\"use strict\";function t(e){return(t\u003d\"function\"\u003d\u003dtypeof Symbol\u0026\u0026\"symbol\"\u003d\u003dtypeof Symbol.iterator?function(t){return typeof t}:function(t){return t\u0026\u0026\"function\"\u003d\u003dtypeof Symbol\u0026\u0026t.constructor\u003d\u003d\u003dSymbol\u0026\u0026t!\u003d\u003dSymbol.prototype?\"symbol\":typeof t})(e)}function e(e){var n\u003dfunction(e,n){if(\"object\"!\u003d\u003dt(e)||null\u003d\u003d\u003de)return e;var i\u003de[Symbol.toPrimitive];if(void 0!\u003d\u003di){var o\u003di.call(e,n||\"default\");if(\"object\"!\u003d\u003dt(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"\u003d\u003d\u003dn?String:Number)(e)}(e,\"string\");return\"symbol\"\u003d\u003d\u003dt(n)?n:String(n)}function n(t,n,i){return(n\u003de(n))in t?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]\u003di,t}function r(t){return t.split(\"-\")[0]}function s(t){return t.split(\"-\")[1]}function a(t){return[\"top\",\"bottom\"].includes(r(t))?\"x\":\"y\"}function l(t){return\"y\"\u003d\u003d\u003dt?\"height\":\"width\"}function c(t){let{reference:e,floating:n,placement:i}\u003dt;const o\u003de.x+e.width/2-n.width/2,c\u003de.y+e.height/2-n.height/2;let u;switch(r(i)){case\"top\":u\u003d{x:o,y:e.y-n.height};break;case\"bottom\":u\u003d{x:o,y:e.y+e.height};break;case\"right\":u\u003d{x:e.x+e.width,y:c};break;case\"left\":u\u003d{x:e.x-n.width,y:c};break;default:u\u003d{x:e.x,y:e.y}}const d\u003da(i),h\u003dl(d);switch(s(i)){case\"start\":u[d]\u003du[d]-(e[h]/2-n[h]/2);break;case\"end\":u[d]\u003du[d]+(e[h]/2-n[h]/2)}return u}i.d(o,{default:()\u003d\u003eMo});function u(t){return\"number\"!\u003dtypeof t?function(t){return{top:0,right:0,bottom:0,left:0,...t}}(t):{top:t,right:t,bottom:t,left:t}}function d(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}async function h(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});const{x:n,y:i,platform:o,rects:r,elements:s,strategy:a}\u003dt,{boundary:l\u003d\"clippingParents\",rootBoundary:c\u003d\"viewport\",elementContext:h\u003d\"floating\",altBoundary:p\u003d!1,padding:f\u003d0}\u003de,m\u003du(f),v\u003ds[p?\"floating\"\u003d\u003d\u003dh?\"reference\":\"floating\":h],g\u003dawait o.getClippingClientRect({element:await o.isElement(v)?v:v.contextElement||await o.getDocumentElement({element:s.floating}),boundary:l,rootBoundary:c}),y\u003dd(await o.convertOffsetParentRelativeRectToViewportRelativeRect({rect:\"floating\"\u003d\u003d\u003dh?{...r.floating,x:n,y:i}:r.reference,offsetParent:await o.getOffsetParent({element:s.floating}),strategy:a}));return{top:g.top-y.top+m.top,bottom:y.bottom-g.bottom+m.bottom,left:g.left-y.left+m.left,right:y.right-g.right+m.right}}const p\u003dMath.min,f\u003dMath.max;function m(t,e,n){return f(t,p(e,n))}const v\u003d{left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function g(t){return t.replace(/left|right|bottom|top/g,t\u003d\u003ev[t])}function y(t,e){const n\u003d\"start\"\u003d\u003d\u003ds(t),i\u003da(t),o\u003dl(i);let r\u003d\"x\"\u003d\u003d\u003di?n?\"right\":\"left\":n?\"bottom\":\"top\";return e.reference[o]\u003ee.floating[o]\u0026\u0026(r\u003dg(r)),{main:r,cross:g(r)}}const w\u003d{start:\"end\",end:\"start\"};function b(t){return t.replace(/start|end/g,t\u003d\u003ew[t])}const _\u003d[\"top\",\"right\",\"bottom\",\"left\"],S\u003d_.reduce((t,e)\u003d\u003et.concat(e,e+\"-start\",e+\"-end\"),[]);const x\u003dfunction(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"autoPlacement\",options:t,async fn(e){var n,i,o,a,l,c;const{x:u,y:d,rects:p,middlewareData:f,placement:m}\u003de,{alignment:v\u003dnull,allowedPlacements:g\u003dS,autoAlignment:w\u003d!0,..._}\u003dt;if(null!\u003d(n\u003df.autoPlacement)\u0026\u0026n.skip)return{};const x\u003dfunction(t,e,n){return(t?[...n.filter(e\u003d\u003es(e)\u003d\u003d\u003dt),...n.filter(e\u003d\u003es(e)!\u003d\u003dt)]:n.filter(t\u003d\u003er(t)\u003d\u003d\u003dt)).filter(n\u003d\u003e!t||(s(n)\u003d\u003d\u003dt||!!e\u0026\u0026b(n)!\u003d\u003dn))}(v,w,g),C\u003dawait h(e,_),$\u003dnull!\u003d(i\u003dnull\u003d\u003d(o\u003df.autoPlacement)?void 0:o.index)?i:0,k\u003dx[$],{main:T,cross:E}\u003dy(k,p);if(m!\u003d\u003dk)return{x:u,y:d,reset:{placement:x[0]}};const O\u003d[C[r(k)],C[T],C[E]],B\u003d[...null!\u003d(a\u003dnull\u003d\u003d(l\u003df.autoPlacement)?void 0:l.overflows)?a:[],{placement:k,overflows:O}],P\u003dx[$+1];if(P)return{data:{index:$+1,overflows:B},reset:{placement:P}};const L\u003dB.slice().sort((t,e)\u003d\u003et.overflows[0]-e.overflows[0]),N\u003dnull\u003d\u003d(c\u003dL.find(t\u003d\u003e{let{overflows:e}\u003dt;return e.every(t\u003d\u003et\u003c\u003d0)}))?void 0:c.placement;return{data:{skip:!0},reset:{placement:null!\u003dN?N:L[0].placement}}}}};const C\u003dfunction(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"flip\",options:t,async fn(e){var n,i;const{placement:o,middlewareData:s,rects:a,initialPlacement:l}\u003de;if(null!\u003d(n\u003ds.flip)\u0026\u0026n.skip)return{};const{mainAxis:c\u003d!0,crossAxis:u\u003d!0,fallbackPlacements:d,fallbackStrategy:p\u003d\"bestFit\",flipAlignment:f\u003d!0,...m}\u003dt,v\u003dr(o),w\u003d[l,...d||(v\u003d\u003d\u003dl||!f?[g(l)]:function(t){const e\u003dg(t);return[b(t),e,b(e)]}(l))],_\u003dawait h(e,m),S\u003d[];let x\u003d(null\u003d\u003d(i\u003ds.flip)?void 0:i.overflows)||[];if(c\u0026\u0026S.push(_[v]),u){const{main:t,cross:e}\u003dy(o,a);S.push(_[t],_[e])}if(x\u003d[...x,{placement:o,overflows:S}],!S.every(t\u003d\u003et\u003c\u003d0)){var C,$;const t\u003d(null!\u003d(C\u003dnull\u003d\u003d($\u003ds.flip)?void 0:$.index)?C:0)+1,e\u003dw[t];if(e)return{data:{index:t,overflows:x},reset:{placement:e}};let n\u003d\"bottom\";switch(p){case\"bestFit\":{var k;const t\u003dnull\u003d\u003d(k\u003dx.slice().sort((t,e)\u003d\u003et.overflows.filter(t\u003d\u003et\u003e0).reduce((t,e)\u003d\u003et+e,0)-e.overflows.filter(t\u003d\u003et\u003e0).reduce((t,e)\u003d\u003et+e,0))[0])?void 0:k.placement;t\u0026\u0026(n\u003dt);break}case\"initialPlacement\":n\u003dl}return{data:{skip:!0},reset:{placement:n}}}return{}}}};const $\u003dfunction(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d0),{name:\"offset\",options:t,fn(e){const{x:n,y:i,placement:o,rects:s}\u003de,l\u003dfunction(t){let{placement:e,rects:n,value:i}\u003dt;const o\u003dr(e),s\u003d[\"left\",\"top\"].includes(o)?-1:1,l\u003d\"function\"\u003d\u003dtypeof i?i({...n,placement:e}):i,{mainAxis:c,crossAxis:u}\u003d\"number\"\u003d\u003dtypeof l?{mainAxis:l,crossAxis:0}:{mainAxis:0,crossAxis:0,...l};return\"x\"\u003d\u003d\u003da(o)?{x:u,y:c*s}:{x:c*s,y:u}}({placement:o,rects:s,value:t});return{x:n+l.x,y:i+l.y,data:l}}}};function k(t){return\"x\"\u003d\u003d\u003dt?\"y\":\"x\"}function T(t){return\"[object Window]\"\u003d\u003d\u003d(null\u003d\u003dt?void 0:t.toString())}function E(t){if(null\u003d\u003dt)return window;if(!T(t)){const e\u003dt.ownerDocument;return e\u0026\u0026e.defaultView||window}return t}function O(t){return E(t).getComputedStyle(t)}function B(t){return T(t)?\"\":t?(t.nodeName||\"\").toLowerCase():\"\"}function P(t){return t instanceof E(t).HTMLElement}function L(t){return t instanceof E(t).Element}function N(t){return t instanceof E(t).ShadowRoot||t instanceof ShadowRoot}function A(t){const{overflow:e,overflowX:n,overflowY:i}\u003dO(t);return/auto|scroll|overlay|hidden/.test(e+i+n)}function z(t){return[\"table\",\"td\",\"th\"].includes(B(t))}function M(t){const e\u003dnavigator.userAgent.toLowerCase().includes(\"firefox\"),n\u003dO(t);return\"none\"!\u003d\u003dn.transform||\"none\"!\u003d\u003dn.perspective||\"paint\"\u003d\u003d\u003dn.contain||[\"transform\",\"perspective\"].includes(n.willChange)||e\u0026\u0026\"filter\"\u003d\u003d\u003dn.willChange||e\u0026\u0026!!n.filter\u0026\u0026\"none\"!\u003d\u003dn.filter}const H\u003dMath.min,D\u003dMath.max,R\u003dMath.round;function j(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d!1);const n\u003dt.getBoundingClientRect();let i\u003d1,o\u003d1;return e\u0026\u0026P(t)\u0026\u0026(i\u003dt.offsetWidth\u003e0\u0026\u0026R(n.width)/t.offsetWidth||1,o\u003dt.offsetHeight\u003e0\u0026\u0026R(n.height)/t.offsetHeight||1),{width:n.width/i,height:n.height/o,top:n.top/o,right:n.right/i,bottom:n.bottom/o,left:n.left/i,x:n.left/i,y:n.top/o}}function I(t){return(e\u003dt,(e instanceof E(e).Node?t.ownerDocument:t.document)||window.document).documentElement;var e}function q(t){return T(t)?{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}:{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function W(t){return j(I(t)).left+q(t).scrollLeft}function F(t,e,n){const i\u003dP(e),o\u003dI(e),r\u003dj(t,i\u0026\u0026function(t){const e\u003dj(t);return R(e.width)!\u003d\u003dt.offsetWidth||R(e.height)!\u003d\u003dt.offsetHeight}(e));let s\u003d{scrollLeft:0,scrollTop:0};const a\u003d{x:0,y:0};if(i||!i\u0026\u0026\"fixed\"!\u003d\u003dn)if((\"body\"!\u003d\u003dB(e)||A(o))\u0026\u0026(s\u003dq(e)),P(e)){const t\u003dj(e,!0);a.x\u003dt.x+e.clientLeft,a.y\u003dt.y+e.clientTop}else o\u0026\u0026(a.x\u003dW(o));return{x:r.left+s.scrollLeft-a.x,y:r.top+s.scrollTop-a.y,width:r.width,height:r.height}}function V(t){return\"html\"\u003d\u003d\u003dB(t)?t:t.assignedSlot||t.parentNode||(N(t)?t.host:null)||I(t)}function U(t){return P(t)\u0026\u0026\"fixed\"!\u003d\u003dgetComputedStyle(t).position?t.offsetParent:null}function Q(t){const e\u003dE(t);let n\u003dU(t);for(;n\u0026\u0026z(n)\u0026\u0026\"static\"\u003d\u003d\u003dgetComputedStyle(n).position;)n\u003dU(n);return n\u0026\u0026(\"html\"\u003d\u003d\u003dB(n)||\"body\"\u003d\u003d\u003dB(n)\u0026\u0026\"static\"\u003d\u003d\u003dgetComputedStyle(n).position\u0026\u0026!M(n))?e:n||function(t){let e\u003dV(t);for(;P(e)\u0026\u0026![\"html\",\"body\"].includes(B(e));){if(M(e))return e;e\u003de.parentNode}return null}(t)||e}function X(t){return{width:t.offsetWidth,height:t.offsetHeight}}function Y(t,e){var n;void 0\u003d\u003d\u003de\u0026\u0026(e\u003d[]);const i\u003dfunction t(e){return[\"html\",\"body\",\"#document\"].includes(B(e))?e.ownerDocument.body:P(e)\u0026\u0026A(e)?e:t(V(e))}(t),o\u003di\u003d\u003d\u003d(null\u003d\u003d(n\u003dt.ownerDocument)?void 0:n.body),r\u003dE(i),s\u003do?[r].concat(r.visualViewport||[],A(i)?i:[]):i,a\u003de.concat(s);return o?a:a.concat(Y(V(s)))}function K(t,e){return\"viewport\"\u003d\u003d\u003de?d(function(t){const e\u003dE(t),n\u003dI(t),i\u003de.visualViewport;let o\u003dn.clientWidth,r\u003dn.clientHeight,s\u003d0,a\u003d0;return i\u0026\u0026(o\u003di.width,r\u003di.height,Math.abs(e.innerWidth/i.scale-i.width)\u003c.01\u0026\u0026(s\u003di.offsetLeft,a\u003di.offsetTop)),{width:o,height:r,x:s,y:a}}(t)):L(e)?function(t){const e\u003dj(t),n\u003de.top+t.clientTop,i\u003de.left+t.clientLeft;return{top:n,left:i,x:i,y:n,right:i+t.clientWidth,bottom:n+t.clientHeight,width:t.clientWidth,height:t.clientHeight}}(e):d(function(t){var e;const n\u003dI(t),i\u003dq(t),o\u003dnull\u003d\u003d(e\u003dt.ownerDocument)?void 0:e.body,r\u003dD(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s\u003dD(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0);let a\u003d-i.scrollLeft+W(t);const l\u003d-i.scrollTop;return\"rtl\"\u003d\u003d\u003dO(o||n).direction\u0026\u0026(a+\u003dD(n.clientWidth,o?o.clientWidth:0)-r),{width:r,height:s,x:a,y:l}}(I(t)))}function G(t){const e\u003dY(V(t)),n\u003d[\"absolute\",\"fixed\"].includes(O(t).position)\u0026\u0026P(t)?Q(t):t;return L(n)?e.filter(t\u003d\u003eL(t)\u0026\u0026function(t,e){const n\u003dnull\u003d\u003de.getRootNode?void 0:e.getRootNode();if(t.contains(e))return!0;if(n\u0026\u0026N(n)){let n\u003de;do{if(n\u0026\u0026t\u003d\u003d\u003dn)return!0;n\u003dn.parentNode||n.host}while(n)}return!1}(t,n)\u0026\u0026\"body\"!\u003d\u003dB(t)):[]}const Z\u003d{getElementRects:t\u003d\u003e{let{reference:e,floating:n,strategy:i}\u003dt;return{reference:F(e,Q(n),i),floating:{...X(n),x:0,y:0}}},convertOffsetParentRelativeRectToViewportRelativeRect:t\u003d\u003efunction(t){let{rect:e,offsetParent:n,strategy:i}\u003dt;const o\u003dP(n),r\u003dI(n);if(n\u003d\u003d\u003dr)return e;let s\u003d{scrollLeft:0,scrollTop:0};const a\u003d{x:0,y:0};if((o||!o\u0026\u0026\"fixed\"!\u003d\u003di)\u0026\u0026((\"body\"!\u003d\u003dB(n)||A(r))\u0026\u0026(s\u003dq(n)),P(n))){const t\u003dj(n,!0);a.x\u003dt.x+n.clientLeft,a.y\u003dt.y+n.clientTop}return{...e,x:e.x-s.scrollLeft+a.x,y:e.y-s.scrollTop+a.y}}(t),getOffsetParent:t\u003d\u003e{let{element:e}\u003dt;return Q(e)},isElement:t\u003d\u003eL(t),getDocumentElement:t\u003d\u003e{let{element:e}\u003dt;return I(e)},getClippingClientRect:t\u003d\u003efunction(t){let{element:e,boundary:n,rootBoundary:i}\u003dt;const o\u003d[...\"clippingParents\"\u003d\u003d\u003dn?G(e):[].concat(n),i],r\u003do[0],s\u003do.reduce((t,n)\u003d\u003e{const i\u003dK(e,n);return t.top\u003dD(i.top,t.top),t.right\u003dH(i.right,t.right),t.bottom\u003dH(i.bottom,t.bottom),t.left\u003dD(i.left,t.left),t},K(e,r));return s.width\u003ds.right-s.left,s.height\u003ds.bottom-s.top,s.x\u003ds.left,s.y\u003ds.top,s}(t),getDimensions:t\u003d\u003e{let{element:e}\u003dt;return X(e)},getClientRects:t\u003d\u003e{let{element:e}\u003dt;return e.getClientRects()}},J\u003d(t,e,n)\u003d\u003e(async(t,e,n)\u003d\u003e{const{placement:i\u003d\"bottom\",strategy:o\u003d\"absolute\",middleware:r\u003d[],platform:s}\u003dn;let a\u003dawait s.getElementRects({reference:t,floating:e,strategy:o}),{x:l,y:u}\u003dc({...a,placement:i}),d\u003di,h\u003d{};for(let n\u003d0;n\u003cr.length;n++){0;const{name:p,fn:f}\u003dr[n],{x:m,y:v,data:g,reset:y}\u003dawait f({x:l,y:u,initialPlacement:i,placement:d,strategy:o,middlewareData:h,rects:a,platform:s,elements:{reference:t,floating:e}});l\u003dnull!\u003dm?m:l,u\u003dnull!\u003dv?v:u,h\u003d{...h,[p]:null!\u003dg?g:{}},y\u0026\u0026(\"object\"\u003d\u003dtypeof y\u0026\u0026(y.placement\u0026\u0026(d\u003dy.placement),y.rects\u0026\u0026(a\u003d!0\u003d\u003d\u003dy.rects?await s.getElementRects({reference:t,floating:e,strategy:o}):y.rects),({x:l,y:u}\u003dc({...a,placement:d}))),n\u003d-1)}return{x:l,y:u,placement:d,strategy:o,middlewareData:h}})(t,e,{platform:Z,...n});var tt\u003di(740),et\u003di.n(tt),nt\u003dObject.defineProperty,it\u003dObject.defineProperties,ot\u003dObject.getOwnPropertyDescriptors,rt\u003dObject.getOwnPropertySymbols,st\u003dObject.prototype.hasOwnProperty,at\u003dObject.prototype.propertyIsEnumerable,lt\u003d(t,e,n)\u003d\u003ee in t?nt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]\u003dn,ct\u003d(t,e)\u003d\u003e{for(var n in e||(e\u003d{}))st.call(e,n)\u0026\u0026lt(t,n,e[n]);if(rt)for(var n of rt(e))at.call(e,n)\u0026\u0026lt(t,n,e[n]);return t},ut\u003d(t,e)\u003d\u003eit(t,ot(e));const dt\u003d{disabled:!1,distance:5,skidding:0,container:\"body\",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:\"absolute\",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,themes:{tooltip:{placement:\"top\",triggers:[\"hover\",\"focus\",\"touch\"],hideTriggers:t\u003d\u003e[...t,\"click\"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:\"...\"},dropdown:{placement:\"bottom\",triggers:[\"click\"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:\"dropdown\",triggers:[\"hover\",\"focus\"],popperTriggers:[\"hover\",\"focus\"],delay:{show:0,hide:400}}}};function ht(t,e){let n,i\u003ddt.themes[t]||{};do{n\u003di[e],void 0\u003d\u003d\u003dn?i.$extend?i\u003ddt.themes[i.$extend]||{}:(i\u003dnull,n\u003ddt[e]):i\u003dnull}while(i);return n}let pt\u003d!1;if(\"undefined\"!\u003dtypeof window){pt\u003d!1;try{const t\u003dObject.defineProperty({},\"passive\",{get(){pt\u003d!0}});window.addEventListener(\"test\",null,t)}catch(t){}}let ft\u003d!1;\"undefined\"!\u003dtypeof window\u0026\u0026\"undefined\"!\u003dtypeof navigator\u0026\u0026(ft\u003d/iPad|iPhone|iPod/.test(navigator.userAgent)\u0026\u0026!window.MSStream);const mt\u003d[\"auto\",\"top\",\"bottom\",\"left\",\"right\"].reduce((t,e)\u003d\u003et.concat([e,e+\"-start\",e+\"-end\"]),[]),vt\u003d{hover:\"mouseenter\",focus:\"focus\",click:\"click\",touch:\"touchstart\"},gt\u003d{hover:\"mouseleave\",focus:\"blur\",click:\"click\",touch:\"touchend\"};function yt(){return new Promise(t\u003d\u003erequestAnimationFrame(()\u003d\u003e{requestAnimationFrame(t)}))}const wt\u003d[];let bt\u003dnull,_t\u003dfunction(){};function St(t){return function(){return ht(this.$props.theme,t)}}\"undefined\"!\u003dtypeof window\u0026\u0026(_t\u003dwindow.Element);const xt\u003d\"__floating-vue__popper\";var Ct\u003d()\u003d\u003e({name:\"VPopper\",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:St(\"disabled\")},positioningDisabled:{type:Boolean,default:St(\"positioningDisabled\")},placement:{type:String,default:St(\"placement\"),validator:t\u003d\u003emt.includes(t)},delay:{type:[String,Number,Object],default:St(\"delay\")},distance:{type:[Number,String],default:St(\"distance\")},skidding:{type:[Number,String],default:St(\"skidding\")},triggers:{type:Array,default:St(\"triggers\")},showTriggers:{type:[Array,Function],default:St(\"showTriggers\")},hideTriggers:{type:[Array,Function],default:St(\"hideTriggers\")},popperTriggers:{type:Array,default:St(\"popperTriggers\")},popperShowTriggers:{type:[Array,Function],default:St(\"popperShowTriggers\")},popperHideTriggers:{type:[Array,Function],default:St(\"popperHideTriggers\")},container:{type:[String,Object,_t,Boolean],default:St(\"container\")},boundary:{type:[String,_t],default:St(\"boundary\")},strategy:{type:String,validator:t\u003d\u003e[\"absolute\",\"fixed\"].includes(t),default:St(\"strategy\")},autoHide:{type:Boolean,default:St(\"autoHide\")},handleResize:{type:Boolean,default:St(\"handleResize\")},instantMove:{type:Boolean,default:St(\"instantMove\")},eagerMount:{type:Boolean,default:St(\"eagerMount\")},popperClass:{type:[String,Array,Object],default:St(\"popperClass\")},computeTransformOrigin:{type:Boolean,default:St(\"computeTransformOrigin\")},autoMinSize:{type:Boolean,default:St(\"autoMinSize\")},autoSize:{type:[Boolean,String],default:St(\"autoSize\")},autoMaxSize:{type:Boolean,default:St(\"autoMaxSize\")},autoBoundaryMaxSize:{type:Boolean,default:St(\"autoBoundaryMaxSize\")},preventOverflow:{type:Boolean,default:St(\"preventOverflow\")},overflowPadding:{type:[Number,String],default:St(\"overflowPadding\")},arrowPadding:{type:[Number,String],default:St(\"arrowPadding\")},arrowOverflow:{type:Boolean,default:St(\"arrowOverflow\")},flip:{type:Boolean,default:St(\"flip\")},shift:{type:Boolean,default:St(\"shift\")},shiftCrossAxis:{type:Boolean,default:St(\"shiftCrossAxis\")}},provide(){return{[xt]:{parentPopper:this}}},inject:{[xt]:{default:null}},data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:\"\",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},shownChildren:new Set}},computed:{popperId(){return null!\u003dthis.ariaId?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:ut(ct({},this.classes),{popperClass:this.popperClass}),result:this.positioningDisabled?null:this.result}},parentPopper(){var t;return null\u003d\u003d(t\u003dthis[xt])?void 0:t.parentPopper}},watch:ct(ct({shown:\"$_autoShowHide\",disabled(t){t?this.dispose():this.init()},async container(){this.isShown\u0026\u0026(this.$_ensureTeleport(),await this.$_computePosition())}},[\"triggers\",\"positioningDisabled\"].reduce((t,e)\u003d\u003e(t[e]\u003d\"$_refreshListeners\",t),{})),[\"placement\",\"distance\",\"skidding\",\"boundary\",\"strategy\",\"overflowPadding\",\"arrowPadding\",\"preventOverflow\",\"shift\",\"shiftCrossAxis\",\"flip\"].reduce((t,e)\u003d\u003e(t[e]\u003d\"$_computePosition\",t),{})),created(){this.$_isDisposed\u003d!0,this.randomId\u003d\"popper_\"+[Math.random(),Date.now()].map(t\u003d\u003et.toString(36).substring(2,10)).join(\"_\"),this.autoMinSize\u0026\u0026console.warn(\u0027[floating-vue] `autoMinSize` option is deprecated. Use `autoSize\u003d\"min\"` instead.\u0027),this.autoMaxSize\u0026\u0026console.warn(\"[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.\")},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeDestroy(){this.dispose()},methods:{show({event:t\u003dnull,skipDelay:e\u003d!1,force:n\u003d!1}\u003d{}){var i,o;(null\u003d\u003d(i\u003dthis.parentPopper)?void 0:i.lockedChild)\u0026\u0026this.parentPopper.lockedChild!\u003d\u003dthis||(this.$_pendingHide\u003d!1,!n\u0026\u0026this.disabled||((null\u003d\u003d(o\u003dthis.parentPopper)?void 0:o.lockedChild)\u003d\u003d\u003dthis\u0026\u0026(this.parentPopper.lockedChild\u003dnull),this.$_scheduleShow(t,e),this.$emit(\"show\"),this.$_showFrameLocked\u003d!0,requestAnimationFrame(()\u003d\u003e{this.$_showFrameLocked\u003d!1})),this.$emit(\"update:shown\",!0))},hide({event:t\u003dnull,skipDelay:e\u003d!1}\u003d{}){var n;this.$_hideInProgress||(this.shownChildren.size\u003e0?this.$_pendingHide\u003d!0:this.$_isAimingPopper()?this.parentPopper\u0026\u0026(this.parentPopper.lockedChild\u003dthis,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer\u003dsetTimeout(()\u003d\u003e{this.parentPopper.lockedChild\u003d\u003d\u003dthis\u0026\u0026(this.parentPopper.lockedChild.hide({skipDelay:e}),this.parentPopper.lockedChild\u003dnull)},1e3)):((null\u003d\u003d(n\u003dthis.parentPopper)?void 0:n.lockedChild)\u003d\u003d\u003dthis\u0026\u0026(this.parentPopper.lockedChild\u003dnull),this.$_pendingHide\u003d!1,this.$_scheduleHide(t,e),this.$emit(\"hide\"),this.$emit(\"update:shown\",!1)))},init(){this.$_isDisposed\u0026\u0026(this.$_isDisposed\u003d!1,this.isMounted\u003d!1,this.$_events\u003d[],this.$_preventShow\u003d!1,this.$_referenceNode\u003dthis.referenceNode(),this.$_targetNodes\u003dthis.targetNodes().filter(t\u003d\u003et.nodeType\u003d\u003d\u003dt.ELEMENT_NODE),this.$_popperNode\u003dthis.popperNode(),this.$_innerNode\u003dthis.$_popperNode.querySelector(\".v-popper__inner\"),this.$_arrowNode\u003dthis.$_popperNode.querySelector(\".v-popper__arrow-container\"),this.$_swapTargetAttrs(\"title\",\"data-original-title\"),this.$_detachPopperNode(),this.triggers.length\u0026\u0026this.$_addEventListeners(),this.shown\u0026\u0026this.show())},dispose(){this.$_isDisposed||(this.$_isDisposed\u003d!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted\u003d!1,this.isShown\u003d!1,this.$_updateParentShownChildren(!1),this.$_swapTargetAttrs(\"data-original-title\",\"title\"),this.$emit(\"dispose\"))},async onResize(){this.isShown\u0026\u0026(await this.$_computePosition(),this.$emit(\"resize\"))},async $_computePosition(){var t;if(this.$_isDisposed||this.positioningDisabled)return;const e\u003d{strategy:this.strategy,middleware:[]};(this.distance||this.skidding)\u0026\u0026e.middleware.push($({mainAxis:this.distance,crossAxis:this.skidding}));const n\u003dthis.placement.startsWith(\"auto\");if(n?e.middleware.push(x({alignment:null!\u003d(t\u003dthis.placement.split(\"-\")[1])?t:\"\"})):e.placement\u003dthis.placement,this.preventOverflow\u0026\u0026(this.shift\u0026\u0026e.middleware.push(function(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"shift\",options:t,async fn(e){const{x:n,y:i,placement:o}\u003de,{mainAxis:s\u003d!0,crossAxis:l\u003d!1,limiter:c\u003d{fn:t\u003d\u003e{let{x:e,y:n}\u003dt;return{x:e,y:n}}},...u}\u003dt,d\u003d{x:n,y:i},p\u003dawait h(e,u),f\u003da(r(o)),v\u003dk(f);let g\u003dd[f],y\u003dd[v];if(s){const t\u003d\"y\"\u003d\u003d\u003df?\"bottom\":\"right\";g\u003dm(g+p[\"y\"\u003d\u003d\u003df?\"top\":\"left\"],g,g-p[t])}if(l){const t\u003d\"y\"\u003d\u003d\u003dv?\"bottom\":\"right\";y\u003dm(y+p[\"y\"\u003d\u003d\u003dv?\"top\":\"left\"],y,y-p[t])}const w\u003dc.fn({...e,[f]:g,[v]:y});return{...w,data:{x:w.x-n,y:w.y-i}}}}}({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!n\u0026\u0026this.flip\u0026\u0026e.middleware.push(C({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push((t\u003d\u003e({name:\"arrow\",options:t,async fn(e){const{element:n,padding:i\u003d0}\u003dnull!\u003dt?t:{},{x:o,y:s,placement:c,rects:d,platform:h}\u003de;if(null\u003d\u003dn)return{};const p\u003du(i),f\u003d{x:o,y:s},v\u003da(r(c)),g\u003dl(v),y\u003dawait h.getDimensions({element:n}),w\u003d\"y\"\u003d\u003d\u003dv?\"top\":\"left\",b\u003d\"y\"\u003d\u003d\u003dv?\"bottom\":\"right\",_\u003dd.reference[g]+d.reference[v]-f[v]-d.floating[g],S\u003df[v]-d.reference[v],x\u003dawait h.getOffsetParent({element:n}),C\u003dx?\"y\"\u003d\u003d\u003dv?x.clientHeight||0:x.clientWidth||0:0,$\u003d_/2-S/2,k\u003dp[w],T\u003dC-y[g]-p[b],E\u003dC/2-y[g]/2+$,O\u003dm(k,E,T);return{data:{[v]:O,centerOffset:E-O}}}}))({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow\u0026\u0026e.middleware.push({name:\"arrowOverflow\",fn:({placement:t,rects:e,middlewareData:n})\u003d\u003e{let i;const{centerOffset:o}\u003dn.arrow;return i\u003dt.startsWith(\"top\")||t.startsWith(\"bottom\")?Math.abs(o)\u003ee.reference.width/2:Math.abs(o)\u003ee.reference.height/2,{data:{overflow:i}}}}),this.autoMinSize||this.autoSize){const t\u003dthis.autoSize?this.autoSize:this.autoMinSize?\"min\":null;e.middleware.push({name:\"autoSize\",fn:({rects:e,placement:n,middlewareData:i})\u003d\u003e{var o;if(null\u003d\u003d(o\u003di.autoSize)?void 0:o.skip)return{};let r,s;return n.startsWith(\"top\")||n.startsWith(\"bottom\")?r\u003de.reference.width:s\u003de.reference.height,this.$_innerNode.style[\"min\"\u003d\u003d\u003dt?\"minWidth\":\"max\"\u003d\u003d\u003dt?\"maxWidth\":\"width\"]\u003dnull!\u003dr?r+\"px\":null,this.$_innerNode.style[\"min\"\u003d\u003d\u003dt?\"minHeight\":\"max\"\u003d\u003d\u003dt?\"maxHeight\":\"height\"]\u003dnull!\u003ds?s+\"px\":null,{data:{skip:!0},reset:{rects:!0}}}})}(this.autoMaxSize||this.autoBoundaryMaxSize)\u0026\u0026(this.$_innerNode.style.maxWidth\u003dnull,this.$_innerNode.style.maxHeight\u003dnull,e.middleware.push(function(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"size\",options:t,async fn(e){var n;const{placement:i,rects:o,middlewareData:a}\u003de,{apply:l,...c}\u003dt;if(null!\u003d(n\u003da.size)\u0026\u0026n.skip)return{};const u\u003dawait h(e,c),d\u003dr(i),p\u003d\"end\"\u003d\u003d\u003ds(i);let m,v;\"top\"\u003d\u003d\u003dd||\"bottom\"\u003d\u003d\u003dd?(m\u003dd,v\u003dp?\"left\":\"right\"):(v\u003dd,m\u003dp?\"top\":\"bottom\");const g\u003df(u.left,0),y\u003df(u.right,0),w\u003df(u.top,0),b\u003df(u.bottom,0),_\u003d{height:o.floating.height-([\"left\",\"right\"].includes(i)?2*(0!\u003d\u003dw||0!\u003d\u003db?w+b:f(u.top,u.bottom)):u[m]),width:o.floating.width-([\"top\",\"bottom\"].includes(i)?2*(0!\u003d\u003dg||0!\u003d\u003dy?g+y:f(u.left,u.right)):u[v])};return null\u003d\u003dl||l({..._,...o}),{data:{skip:!0},reset:{rects:!0}}}}}({boundary:this.boundary,padding:this.overflowPadding,apply:({width:t,height:e})\u003d\u003e{this.$_innerNode.style.maxWidth\u003dnull!\u003dt?t+\"px\":null,this.$_innerNode.style.maxHeight\u003dnull!\u003de?e+\"px\":null}})));const i\u003dawait J(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:i.x,y:i.y,placement:i.placement,strategy:i.strategy,arrow:ct(ct({},i.middlewareData.arrow),i.middlewareData.arrowOverflow)})},$_scheduleShow(t\u003dnull,e\u003d!1){if(this.$_updateParentShownChildren(!0),this.$_hideInProgress\u003d!1,clearTimeout(this.$_scheduleTimer),bt\u0026\u0026this.instantMove\u0026\u0026bt.instantMove\u0026\u0026bt!\u003d\u003dthis.parentPopper)return bt.$_applyHide(!0),void this.$_applyShow(!0);e?this.$_applyShow():this.$_scheduleTimer\u003dsetTimeout(this.$_applyShow.bind(this),this.$_computeDelay(\"show\"))},$_scheduleHide(t\u003dnull,e\u003d!1){this.shownChildren.size\u003e0?this.$_pendingHide\u003d!0:(this.$_updateParentShownChildren(!1),this.$_hideInProgress\u003d!0,clearTimeout(this.$_scheduleTimer),this.isShown\u0026\u0026(bt\u003dthis),e?this.$_applyHide():this.$_scheduleTimer\u003dsetTimeout(this.$_applyHide.bind(this),this.$_computeDelay(\"hide\")))},$_computeDelay(t){const e\u003dthis.delay;return parseInt(e\u0026\u0026e[t]||e||0)},async $_applyShow(t\u003d!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition\u003dt,this.isShown||(this.$_ensureTeleport(),await yt(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...Y(this.$_referenceNode),...Y(this.$_popperNode)],\"scroll\",()\u003d\u003e{this.$_computePosition()}))},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const t\u003dthis.$_referenceNode.getBoundingClientRect(),e\u003dthis.$_popperNode.querySelector(\".v-popper__wrapper\"),n\u003de.parentNode.getBoundingClientRect(),i\u003dt.x+t.width/2-(n.left+e.offsetLeft),o\u003dt.y+t.height/2-(n.top+e.offsetTop);this.result.transformOrigin\u003d`${i}px ${o}px`}this.isShown\u003d!0,this.$_applyAttrsToTarget({\"aria-describedby\":this.popperId,\"data-popper-shown\":\"\"});const t\u003dthis.showGroup;if(t){let e;for(let n\u003d0;n\u003cwt.length;n++)e\u003dwt[n],e.showGroup!\u003d\u003dt\u0026\u0026(e.hide(),e.$emit(\"close-group\"))}wt.push(this),this.$emit(\"apply-show\"),this.classes.showFrom\u003d!0,this.classes.showTo\u003d!1,this.classes.hideFrom\u003d!1,this.classes.hideTo\u003d!1,await yt(),this.classes.showFrom\u003d!1,this.classes.showTo\u003d!0},async $_applyHide(t\u003d!1){if(this.shownChildren.size\u003e0)return this.$_pendingHide\u003d!0,void(this.$_hideInProgress\u003d!1);if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition\u003dt,function(t,e){const n\u003dt.indexOf(e);-1!\u003d\u003dn\u0026\u0026t.splice(n,1)}(wt,this),bt\u003d\u003d\u003dthis\u0026\u0026(bt\u003dnull),this.isShown\u003d!1,this.$_applyAttrsToTarget({\"aria-describedby\":void 0,\"data-popper-shown\":void 0}),clearTimeout(this.$_disposeTimer);const e\u003dht(this.theme,\"disposeTimeout\");null!\u003d\u003de\u0026\u0026(this.$_disposeTimer\u003dsetTimeout(()\u003d\u003e{this.$_popperNode\u0026\u0026(this.$_detachPopperNode(),this.isMounted\u003d!1)},e)),this.$_removeEventListeners(\"scroll\"),this.$emit(\"apply-hide\"),this.classes.showFrom\u003d!1,this.classes.showTo\u003d!1,this.classes.hideFrom\u003d!0,this.classes.hideTo\u003d!1,await yt(),this.classes.hideFrom\u003d!1,this.classes.hideTo\u003d!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.$_isDisposed)return;let t\u003dthis.container;if(\"string\"\u003d\u003dtypeof t?t\u003dwindow.document.querySelector(t):!1\u003d\u003d\u003dt\u0026\u0026(t\u003dthis.$_targetNodes[0].parentNode),!t)throw new Error(\"No container for popover: \"+this.container);t.appendChild(this.$_popperNode),this.isMounted\u003d!0},$_addEventListeners(){const t\u003dt\u003d\u003e{this.isShown\u0026\u0026!this.$_hideInProgress||(t.usedByTooltip\u003d!0,!this.$_preventShow\u0026\u0026this.show({event:t}))};this.$_registerTriggerListeners(this.$_targetNodes,vt,this.triggers,this.showTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],vt,this.popperTriggers,this.popperShowTriggers,t);const e\u003dt\u003d\u003e{t.usedByTooltip||this.hide({event:t})};this.$_registerTriggerListeners(this.$_targetNodes,gt,this.triggers,this.hideTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],gt,this.popperTriggers,this.popperHideTriggers,e)},$_registerEventListeners(t,e,n){this.$_events.push({targetNodes:t,eventType:e,handler:n}),t.forEach(t\u003d\u003et.addEventListener(e,n,pt?{passive:!0}:void 0))},$_registerTriggerListeners(t,e,n,i,o){let r\u003dn;null!\u003di\u0026\u0026(r\u003d\"function\"\u003d\u003dtypeof i?i(r):i),r.forEach(n\u003d\u003e{const i\u003de[n];i\u0026\u0026this.$_registerEventListeners(t,i,o)})},$_removeEventListeners(t){const e\u003d[];this.$_events.forEach(n\u003d\u003e{const{targetNodes:i,eventType:o,handler:r}\u003dn;t\u0026\u0026t!\u003d\u003do?e.push(n):i.forEach(t\u003d\u003et.removeEventListener(o,r))}),this.$_events\u003de},$_refreshListeners(){this.$_isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())},$_handleGlobalClose(t,e\u003d!1){this.$_showFrameLocked||(this.hide({event:t}),t.closePopover?this.$emit(\"close-directive\"):this.$emit(\"auto-hide\"),e\u0026\u0026(this.$_preventShow\u003d!0,setTimeout(()\u003d\u003e{this.$_preventShow\u003d!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode\u0026\u0026this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(t,e){for(const n of this.$_targetNodes){const i\u003dn.getAttribute(t);i\u0026\u0026(n.removeAttribute(t),n.setAttribute(e,i))}},$_applyAttrsToTarget(t){for(const e of this.$_targetNodes)for(const n in t){const i\u003dt[n];null\u003d\u003di?e.removeAttribute(n):e.setAttribute(n,i)}},$_updateParentShownChildren(t){let e\u003dthis.parentPopper;for(;e;)t?e.shownChildren.add(this.randomId):(e.shownChildren.delete(this.randomId),e.$_pendingHide\u0026\u0026e.hide()),e\u003de.parentPopper},$_isAimingPopper(){const t\u003dthis.$el.getBoundingClientRect();if(Pt\u003e\u003dt.left\u0026\u0026Pt\u003c\u003dt.right\u0026\u0026Lt\u003e\u003dt.top\u0026\u0026Lt\u003c\u003dt.bottom){const t\u003dthis.$_popperNode.getBoundingClientRect(),e\u003dPt-Ot,n\u003dLt-Bt,i\u003dt.left+t.width/2-Ot+(t.top+t.height/2)-Bt+t.width+t.height,o\u003dOt+e*i,r\u003dBt+n*i;return Nt(Ot,Bt,o,r,t.left,t.top,t.left,t.bottom)||Nt(Ot,Bt,o,r,t.left,t.top,t.right,t.top)||Nt(Ot,Bt,o,r,t.right,t.top,t.right,t.bottom)||Nt(Ot,Bt,o,r,t.left,t.bottom,t.right,t.bottom)}return!1}},render(){return this.$scopedSlots.default(this.slotData)[0]}});function $t(t){for(let e\u003d0;e\u003cwt.length;e++){const n\u003dwt[e];try{const e\u003dn.popperNode();n.$_mouseDownContains\u003de.contains(t.target)}catch(t){}}}function kt(t,e\u003d!1){const n\u003d{};for(let i\u003dwt.length-1;i\u003e\u003d0;i--){const o\u003dwt[i];try{const i\u003do.$_containsGlobalTarget\u003dTt(o,t);o.$_pendingHide\u003d!1,requestAnimationFrame(()\u003d\u003e{if(o.$_pendingHide\u003d!1,!n[o.randomId]\u0026\u0026Et(o,i,t)){if(o.$_handleGlobalClose(t,e),!t.closeAllPopover\u0026\u0026t.closePopover\u0026\u0026i){let t\u003do.parentPopper;for(;t;)n[t.randomId]\u003d!0,t\u003dt.parentPopper;return}let r\u003do.parentPopper;for(;r\u0026\u0026Et(r,r.$_containsGlobalTarget,t);)r.$_handleGlobalClose(t,e),r\u003dr.parentPopper}})}catch(t){}}}function Tt(t,e){const n\u003dt.popperNode();return t.$_mouseDownContains||n.contains(e.target)}function Et(t,e,n){return n.closeAllPopover||n.closePopover\u0026\u0026e||t.autoHide\u0026\u0026!e}\"undefined\"!\u003dtypeof document\u0026\u0026\"undefined\"!\u003dtypeof window\u0026\u0026(ft?(document.addEventListener(\"touchstart\",$t,!pt||{passive:!0,capture:!0}),document.addEventListener(\"touchend\",(function(t){kt(t,!0)}),!pt||{passive:!0,capture:!0})):(window.addEventListener(\"mousedown\",$t,!0),window.addEventListener(\"click\",(function(t){kt(t)}),!0)),window.addEventListener(\"resize\",(function(t){for(let e\u003d0;e\u003cwt.length;e++){wt[e].$_computePosition(t)}})));let Ot\u003d0,Bt\u003d0,Pt\u003d0,Lt\u003d0;function Nt(t,e,n,i,o,r,s,a){const l\u003d((s-o)*(e-r)-(a-r)*(t-o))/((a-r)*(n-t)-(s-o)*(i-e)),c\u003d((n-t)*(e-r)-(i-e)*(t-o))/((a-r)*(n-t)-(s-o)*(i-e));return l\u003e\u003d0\u0026\u0026l\u003c\u003d1\u0026\u0026c\u003e\u003d0\u0026\u0026c\u003c\u003d1}var At;function zt(){zt.init||(zt.init\u003d!0,At\u003d-1!\u003d\u003dfunction(){var t\u003dwindow.navigator.userAgent,e\u003dt.indexOf(\"MSIE \");if(e\u003e0)return parseInt(t.substring(e+5,t.indexOf(\".\",e)),10);if(t.indexOf(\"Trident/\")\u003e0){var n\u003dt.indexOf(\"rv:\");return parseInt(t.substring(n+3,t.indexOf(\".\",n)),10)}var i\u003dt.indexOf(\"Edge/\");return i\u003e0?parseInt(t.substring(i+5,t.indexOf(\".\",i)),10):-1}())}function Mt(t,e,n,i,o,r,s,a,l,c){\"boolean\"!\u003dtypeof s\u0026\u0026(l\u003da,a\u003ds,s\u003d!1);var u,d\u003d\"function\"\u003d\u003dtypeof n?n.options:n;if(t\u0026\u0026t.render\u0026\u0026(d.render\u003dt.render,d.staticRenderFns\u003dt.staticRenderFns,d._compiled\u003d!0,o\u0026\u0026(d.functional\u003d!0)),i\u0026\u0026(d._scopeId\u003di),r?(u\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),e\u0026\u0026e.call(this,l(t)),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(r)},d._ssrRegister\u003du):e\u0026\u0026(u\u003ds?function(t){e.call(this,c(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),u)if(d.functional){var h\u003dd.render;d.render\u003dfunction(t,e){return u.call(e),h(t,e)}}else{var p\u003dd.beforeCreate;d.beforeCreate\u003dp?[].concat(p,u):[u]}return n}\"undefined\"!\u003dtypeof window\u0026\u0026window.addEventListener(\"mousemove\",t\u003d\u003e{Ot\u003dPt,Bt\u003dLt,Pt\u003dt.clientX,Lt\u003dt.clientY},pt?{passive:!0}:void 0);var Ht\u003d{name:\"ResizeObserver\",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var t\u003dthis;zt(),this.$nextTick((function(){t._w\u003dt.$el.offsetWidth,t._h\u003dt.$el.offsetHeight,t.emitOnMount\u0026\u0026t.emitSize()}));var e\u003ddocument.createElement(\"object\");this._resizeObject\u003de,e.setAttribute(\"aria-hidden\",\"true\"),e.setAttribute(\"tabindex\",-1),e.onload\u003dthis.addResizeHandlers,e.type\u003d\"text/html\",At\u0026\u0026this.$el.appendChild(e),e.data\u003d\"about:blank\",At||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth\u0026\u0026this._w!\u003d\u003dthis.$el.offsetWidth||!this.ignoreHeight\u0026\u0026this._h!\u003d\u003dthis.$el.offsetHeight)\u0026\u0026(this._w\u003dthis.$el.offsetWidth,this._h\u003dthis.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit(\"notify\",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject\u0026\u0026this._resizeObject.onload\u0026\u0026(!At\u0026\u0026this._resizeObject.contentDocument\u0026\u0026this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload\u003dnull,this._resizeObject\u003dnull)}}},Dt\u003dfunction(){var t\u003dthis.$createElement;return(this._self._c||t)(\"div\",{staticClass:\"resize-observer\",attrs:{tabindex:\"-1\"}})};Dt._withStripped\u003d!0;var Rt\u003dMt({render:Dt,staticRenderFns:[]},void 0,Ht,\"data-v-8859cc6c\",!1,void 0,!1,void 0,void 0,void 0);var jt\u003d{version:\"1.0.1\",install:function(t){t.component(\"resize-observer\",Rt),t.component(\"ResizeObserver\",Rt)}},It\u003dnull;\"undefined\"!\u003dtypeof window?It\u003dwindow.Vue:void 0!\u003d\u003di.g\u0026\u0026(It\u003di.g.Vue),It\u0026\u0026It.use(jt);var qt\u003d{computed:{themeClass(){return function(t){const e\u003d[t];let n\u003ddt.themes[t]||{};do{n.$extend\u0026\u0026!n.$resetCss?(e.push(n.$extend),n\u003ddt.themes[n.$extend]||{}):n\u003dnull}while(n);return e.map(t\u003d\u003e\"v-popper--theme-\"+t)}(this.theme)}}},Wt\u003d{name:\"VPopperContent\",components:{ResizeObserver:Rt},mixins:[qt],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},methods:{toPx:t\u003d\u003enull\u003d\u003dt||isNaN(t)?null:t+\"px\"}};function Ft(t,e,n,i,o,r,s,a){var l,c\u003d\"function\"\u003d\u003dtypeof t?t.options:t;if(e\u0026\u0026(c.render\u003de,c.staticRenderFns\u003dn,c._compiled\u003d!0),i\u0026\u0026(c.functional\u003d!0),r\u0026\u0026(c._scopeId\u003d\"data-v-\"+r),s?(l\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),o\u0026\u0026o.call(this,t),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(s)},c._ssrRegister\u003dl):o\u0026\u0026(l\u003da?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(c.functional){c._injectStyles\u003dl;var u\u003dc.render;c.render\u003dfunction(t,e){return l.call(e),u(t,e)}}else{var d\u003dc.beforeCreate;c.beforeCreate\u003dd?[].concat(d,l):[l]}return{exports:t,options:c}}const Vt\u003d{};var Ut\u003dFt(Wt,(function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{ref:\"popover\",staticClass:\"v-popper__popper\",class:[t.themeClass,t.classes.popperClass,{\"v-popper__popper--shown\":t.shown,\"v-popper__popper--hidden\":!t.shown,\"v-popper__popper--show-from\":t.classes.showFrom,\"v-popper__popper--show-to\":t.classes.showTo,\"v-popper__popper--hide-from\":t.classes.hideFrom,\"v-popper__popper--hide-to\":t.classes.hideTo,\"v-popper__popper--skip-transition\":t.skipTransition,\"v-popper__popper--arrow-overflow\":t.result\u0026\u0026t.result.arrow.overflow,\"v-popper__popper--no-positioning\":!t.result}],style:t.result?{position:t.result.strategy,transform:\"translate3d(\"+Math.round(t.result.x)+\"px,\"+Math.round(t.result.y)+\"px,0)\"}:void 0,attrs:{id:t.popperId,\"aria-hidden\":t.shown?\"false\":\"true\",tabindex:t.autoHide?0:void 0,\"data-popper-placement\":t.result?t.result.placement:void 0},on:{keyup:function(e){if(!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"]))return null;t.autoHide\u0026\u0026t.$emit(\"hide\")}}},[n(\"div\",{staticClass:\"v-popper__backdrop\",on:{click:function(e){t.autoHide\u0026\u0026t.$emit(\"hide\")}}}),n(\"div\",{staticClass:\"v-popper__wrapper\",style:t.result?{transformOrigin:t.result.transformOrigin}:void 0},[n(\"div\",{ref:\"inner\",staticClass:\"v-popper__inner\"},[t.mounted?[n(\"div\",[t._t(\"default\")],2),t.handleResize?n(\"ResizeObserver\",{on:{notify:function(e){return t.$emit(\"resize\",e)}}}):t._e()]:t._e()],2),n(\"div\",{ref:\"arrow\",staticClass:\"v-popper__arrow-container\",style:t.result?{left:t.toPx(t.result.arrow.x),top:t.toPx(t.result.arrow.y)}:void 0},[n(\"div\",{staticClass:\"v-popper__arrow-outer\"}),n(\"div\",{staticClass:\"v-popper__arrow-inner\"})])])])}),[],!1,Qt,null,null,null);function Qt(t){for(let t in Vt)this[t]\u003dVt[t]}var Xt\u003dfunction(){return Ut.exports}(),Yt\u003d{methods:{show(...t){return this.$refs.popper.show(...t)},hide(...t){return this.$refs.popper.hide(...t)},dispose(...t){return this.$refs.popper.dispose(...t)},onResize(...t){return this.$refs.popper.onResize(...t)}}},Kt\u003d{name:\"VPopperWrapper\",components:{Popper:Ct(),PopperContent:Xt},mixins:[Yt,qt],inheritAttrs:!1,props:{theme:{type:String,default(){return this.$options.vPopperTheme}}},methods:{getTargetNodes(){return Array.from(this.$refs.reference.children).filter(t\u003d\u003et!\u003d\u003dthis.$refs.popperContent.$el)}}};const Gt\u003d{};var Zt\u003dFt(Kt,(function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"Popper\",t._g(t._b({ref:\"popper\",attrs:{theme:t.theme,\"target-nodes\":t.getTargetNodes,\"reference-node\":function(){return t.$refs.reference},\"popper-node\":function(){return t.$refs.popperContent.$el}},scopedSlots:t._u([{key:\"default\",fn:function(e){var i\u003de.popperId,o\u003de.isShown,r\u003de.shouldMountContent,s\u003de.skipTransition,a\u003de.autoHide,l\u003de.show,c\u003de.hide,u\u003de.handleResize,d\u003de.onResize,h\u003de.classes,p\u003de.result;return[n(\"div\",{ref:\"reference\",staticClass:\"v-popper\",class:[t.themeClass,{\"v-popper--shown\":o}]},[t._t(\"default\",null,{shown:o,show:l,hide:c}),n(\"PopperContent\",{ref:\"popperContent\",attrs:{\"popper-id\":i,theme:t.theme,shown:o,mounted:r,\"skip-transition\":s,\"auto-hide\":a,\"handle-resize\":u,classes:h,result:p},on:{hide:c,resize:d}},[t._t(\"popper\",null,{shown:o,hide:c})],2)],2)]}}],null,!0)},\"Popper\",t.$attrs,!1),t.$listeners))}),[],!1,Jt,null,null,null);function Jt(t){for(let t in Gt)this[t]\u003dGt[t]}var te\u003dfunction(){return Zt.exports}(),ee\u003dut(ct({},te),{name:\"VDropdown\",vPopperTheme:\"dropdown\"});const ne\u003d{};var ie\u003dFt(ee,void 0,void 0,!1,oe,null,null,null);function oe(t){for(let t in ne)this[t]\u003dne[t]}var re\u003dfunction(){return ie.exports}(),se\u003dut(ct({},te),{name:\"VMenu\",vPopperTheme:\"menu\"});const ae\u003d{};var le\u003dFt(se,void 0,void 0,!1,ce,null,null,null);function ce(t){for(let t in ae)this[t]\u003dae[t]}var ue\u003dfunction(){return le.exports}(),de\u003dut(ct({},te),{name:\"VTooltip\",vPopperTheme:\"tooltip\"});const he\u003d{};var pe\u003dFt(de,void 0,void 0,!1,fe,null,null,null);function fe(t){for(let t in he)this[t]\u003dhe[t]}var me\u003dfunction(){return pe.exports}(),ve\u003d{name:\"VTooltipDirective\",components:{Popper:Ct(),PopperContent:Xt},mixins:[Yt],inheritAttrs:!1,props:{theme:{type:String,default:\"tooltip\"},html:{type:Boolean,default(){return ht(this.theme,\"html\")}},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default(){return ht(this.theme,\"loadingContent\")}}},data:()\u003d\u003e({asyncContent:null}),computed:{isContentAsync(){return\"function\"\u003d\u003dtypeof this.content},loading(){return this.isContentAsync\u0026\u0026null\u003d\u003dthis.asyncContent},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(t){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId\u003d0},methods:{fetchContent(t){if(\"function\"\u003d\u003dtypeof this.content\u0026\u0026this.$_isShown\u0026\u0026(t||!this.$_loading\u0026\u0026null\u003d\u003dthis.asyncContent)){this.asyncContent\u003dnull,this.$_loading\u003d!0;const t\u003d++this.$_fetchId,e\u003dthis.content(this);e.then?e.then(e\u003d\u003ethis.onResult(t,e)):this.onResult(t,e)}},onResult(t,e){t\u003d\u003d\u003dthis.$_fetchId\u0026\u0026(this.$_loading\u003d!1,this.asyncContent\u003de)},onShow(){this.$_isShown\u003d!0,this.fetchContent()},onHide(){this.$_isShown\u003d!1}}};const ge\u003d{};var ye\u003dFt(ve,(function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"Popper\",t._g(t._b({ref:\"popper\",attrs:{theme:t.theme,\"popper-node\":function(){return t.$refs.popperContent.$el}},on:{\"apply-show\":t.onShow,\"apply-hide\":t.onHide},scopedSlots:t._u([{key:\"default\",fn:function(e){var i\u003de.popperId,o\u003de.isShown,r\u003de.shouldMountContent,s\u003de.skipTransition,a\u003de.autoHide,l\u003de.hide,c\u003de.handleResize,u\u003de.onResize,d\u003de.classes,h\u003de.result;return[n(\"PopperContent\",{ref:\"popperContent\",class:{\"v-popper--tooltip-loading\":t.loading},attrs:{\"popper-id\":i,theme:t.theme,shown:o,mounted:r,\"skip-transition\":s,\"auto-hide\":a,\"handle-resize\":c,classes:d,result:h},on:{hide:l,resize:u}},[t.html?n(\"div\",{domProps:{innerHTML:t._s(t.finalContent)}}):n(\"div\",{domProps:{textContent:t._s(t.finalContent)}})])]}}])},\"Popper\",t.$attrs,!1),t.$listeners))}),[],!1,we,null,null,null);function we(t){for(let t in ge)this[t]\u003dge[t]}var be\u003dfunction(){return ye.exports}();function _e(t,e,n){let i;const o\u003dtypeof e;return i\u003d\"string\"\u003d\u003d\u003do?{content:e}:e\u0026\u0026\"object\"\u003d\u003d\u003do?e:{content:!1},i.placement\u003dfunction(t,e){let n\u003dt.placement;if(!n\u0026\u0026e)for(const t of mt)e[t]\u0026\u0026(n\u003dt);return n||(n\u003dht(t.theme||\"tooltip\",\"placement\")),n}(i,n),i.targetNodes\u003d()\u003d\u003e[t],i.referenceNode\u003d()\u003d\u003et,i}function Se(t,e,n){const i\u003d_e(t,e,n),o\u003dt.$_popper\u003dnew(et())({mixins:[Yt],data:()\u003d\u003e({options:i}),render(t){const e\u003dthis.options,{theme:n,html:i,content:o,loadingContent:r}\u003de,s\u003d((t,e)\u003d\u003e{var n\u003d{};for(var i in t)st.call(t,i)\u0026\u0026e.indexOf(i)\u003c0\u0026\u0026(n[i]\u003dt[i]);if(null!\u003dt\u0026\u0026rt)for(var i of rt(t))e.indexOf(i)\u003c0\u0026\u0026at.call(t,i)\u0026\u0026(n[i]\u003dt[i]);return n})(e,[\"theme\",\"html\",\"content\",\"loadingContent\"]);return t(be,{props:{theme:n,html:i,content:o,loadingContent:r},attrs:s,ref:\"popper\"})},devtools:{hide:!0}}),r\u003ddocument.createElement(\"div\");return document.body.appendChild(r),o.$mount(r),t.classList\u0026\u0026t.classList.add(\"v-popper--has-tooltip\"),o}function xe(t){t.$_popper\u0026\u0026(t.$_popper.$destroy(),delete t.$_popper,delete t.$_popperOldShown),t.classList\u0026\u0026t.classList.remove(\"v-popper--has-tooltip\")}function Ce(t,{value:e,oldValue:n,modifiers:i}){const o\u003d_e(t,e,i);if(!o.content||ht(o.theme||\"tooltip\",\"disabled\"))xe(t);else{let n;t.$_popper?(n\u003dt.$_popper,n.options\u003do):n\u003dSe(t,e,i),void 0!\u003d\u003de.shown\u0026\u0026e.shown!\u003d\u003dt.$_popperOldShown\u0026\u0026(t.$_popperOldShown\u003de.shown,e.shown?n.show():n.hide())}}var $e\u003d{bind:Ce,update:Ce,unbind(t){xe(t)}};function ke(t){t.addEventListener(\"click\",Ee),t.addEventListener(\"touchstart\",Oe,!!pt\u0026\u0026{passive:!0})}function Te(t){t.removeEventListener(\"click\",Ee),t.removeEventListener(\"touchstart\",Oe),t.removeEventListener(\"touchend\",Be),t.removeEventListener(\"touchcancel\",Pe)}function Ee(t){const e\u003dt.currentTarget;t.closePopover\u003d!e.$_vclosepopover_touch,t.closeAllPopover\u003de.$_closePopoverModifiers\u0026\u0026!!e.$_closePopoverModifiers.all}function Oe(t){if(1\u003d\u003d\u003dt.changedTouches.length){const e\u003dt.currentTarget;e.$_vclosepopover_touch\u003d!0;const n\u003dt.changedTouches[0];e.$_vclosepopover_touchPoint\u003dn,e.addEventListener(\"touchend\",Be),e.addEventListener(\"touchcancel\",Pe)}}function Be(t){const e\u003dt.currentTarget;if(e.$_vclosepopover_touch\u003d!1,1\u003d\u003d\u003dt.changedTouches.length){const n\u003dt.changedTouches[0],i\u003de.$_vclosepopover_touchPoint;t.closePopover\u003dMath.abs(n.screenY-i.screenY)\u003c20\u0026\u0026Math.abs(n.screenX-i.screenX)\u003c20,t.closeAllPopover\u003de.$_closePopoverModifiers\u0026\u0026!!e.$_closePopoverModifiers.all}}function Pe(t){t.currentTarget.$_vclosepopover_touch\u003d!1}var Le\u003d{bind(t,{value:e,modifiers:n}){t.$_closePopoverModifiers\u003dn,(void 0\u003d\u003d\u003de||e)\u0026\u0026ke(t)},update(t,{value:e,oldValue:n,modifiers:i}){t.$_closePopoverModifiers\u003di,e!\u003d\u003dn\u0026\u0026(void 0\u003d\u003d\u003de||e?ke(t):Te(t))},unbind(t){Te(t)}};const Ne\u003dre,Ae\u003dme;const ze\u003d{version:\"1.0.0-beta.14\",install:function(t,e\u003d{}){t.$_vTooltipInstalled||(t.$_vTooltipInstalled\u003d!0,function t(e,n){for(const i in n)Object.prototype.hasOwnProperty.call(n,i)\u0026\u0026(\"object\"\u003d\u003dtypeof n[i]\u0026\u0026e[i]?t(e[i],n[i]):e[i]\u003dn[i])}(dt,e),t.directive(\"tooltip\",$e),t.directive(\"close-popper\",Le),t.component(\"v-tooltip\",me),t.component(\"VTooltip\",me),t.component(\"v-dropdown\",re),t.component(\"VDropdown\",re),t.component(\"v-menu\",ue),t.component(\"VMenu\",ue))},options:dt};let Me\u003dnull;\"undefined\"!\u003dtypeof window?Me\u003dwindow.Vue:void 0!\u003d\u003di.g\u0026\u0026(Me\u003di.g.Vue),Me\u0026\u0026Me.use(ze);var He\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"alert box-container\",t.containerStyle(),t.addClass,{\"d-flex\":t.seamlessHeaderBool()}],style:t.customStyle()},[t.seamlessHeaderBool()?n(\"div\",{staticClass:\"d-flex\"},[t.iconBool()?n(\"div\",{class:[\"icon-wrapper\",t.iconStyle()],style:t.customIconColorStyle()},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas\",t.getFontAwesomeIconStyle()]})]}))],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"vertical-divider\",class:t.getBootstrapAlertStyle(),attrs:{\"aria-hidden\":\"true\"}})]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"header-and-body\"},[t.headerBool()?n(\"div\",{class:[\"box-header-wrapper\",{\"alert-dismissible\":t.dismissible}]},[t.iconBool()\u0026\u0026!t.seamlessHeaderBool()?n(\"div\",{class:[\"icon-wrapper\",t.iconStyle()],style:t.customIconColorStyle()},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas\",t.getFontAwesomeIconStyle()]})]}))],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"box-header\"},[t._t(\"header\")],2),t._v(\" \"),t.dismissible?n(\"button\",{staticClass:\"btn-close close-with-heading\",attrs:{type:\"button\",\"data-bs-dismiss\":\"alert\",\"aria-label\":\"Close\"}}):t._e()]):t._e(),t._v(\" \"),n(\"div\",{class:[\"box-body-wrapper\",{\"alert-dismissible\":t.dismissible\u0026\u0026!t.headerBool(),\"box-body-wrapper-with-heading\":t.headerBool()}]},[t.iconBool()\u0026\u0026!t.headerBool()?n(\"div\",{class:[\"icon-wrapper\",t.iconStyle()],style:t.customIconColorStyle()},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas\",t.getFontAwesomeIconStyle()]})]}))],2):t._e(),t._v(\" \"),t.seamlessNoHeaderBool()?n(\"div\",{staticClass:\"vertical-divider\",class:t.getBootstrapAlertStyle(),attrs:{\"aria-hidden\":\"true\"}}):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"contents\",style:t.customColorStyle()},[t._t(\"default\")],2),t._v(\" \"),t.dismissible\u0026\u0026!t.headerBool()?n(\"button\",{staticClass:\"btn-close\",attrs:{type:\"button\",\"data-bs-dismiss\":\"alert\",\"aria-label\":\"Close\"}}):t._e()])])])};He._withStripped\u003d!0;var De\u003dfunction(t){return\"string\"\u003d\u003dtypeof t?\"\"\u003d\u003d\u003dt||\"true\"\u003d\u003d\u003dt||\"false\"!\u003d\u003dt\u0026\u0026\"null\"!\u003d\u003dt\u0026\u0026\"undefined\"!\u003d\u003dt\u0026\u0026t:t};function Re(t){return\"string\"\u003d\u003dtypeof t?\"\"\u003d\u003d\u003dt||\"true\"\u003d\u003d\u003dt||\"false\"!\u003d\u003dt\u0026\u0026\"null\"!\u003d\u003dt\u0026\u0026\"undefined\"!\u003d\u003dt\u0026\u0026t:t}function je(t){return\"number\"\u003d\u003dtypeof t?t:null\u003d\u003dt||isNaN(Number(t))?null:Number(t)}function Ie(t){var e\u003dt.split(\"#\"),n\u003d\"\";return e.length\u003e1\u0026\u0026(n\u003de[1]),n}function qe(t,e,n,i,o,r,s,a){var l,c\u003d\"function\"\u003d\u003dtypeof t?t.options:t;if(e\u0026\u0026(c.render\u003de,c.staticRenderFns\u003dn,c._compiled\u003d!0),i\u0026\u0026(c.functional\u003d!0),r\u0026\u0026(c._scopeId\u003d\"data-v-\"+r),s?(l\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),o\u0026\u0026o.call(this,t),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(s)},c._ssrRegister\u003dl):o\u0026\u0026(l\u003da?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(c.functional){c._injectStyles\u003dl;var u\u003dc.render;c.render\u003dfunction(t,e){return l.call(e),u(t,e)}}else{var d\u003dc.beforeCreate;c.beforeCreate\u003dd?[].concat(d,l):[l]}return{exports:t,options:c}}const We\u003dqe({props:{dismissible:{type:Boolean,default:!1},backgroundColor:{type:String,default:null},borderColor:{type:String,default:null},borderLeftColor:{type:String,default:null},color:{type:String,default:null},icon:{type:String,default:null},iconSize:{type:String,default:null},iconColor:{type:String,default:null},type:{type:String,default:\"\"},addClass:{type:String,default:\"\"},light:{type:Boolean,default:!1},seamless:{type:Boolean,default:!1},noIcon:{type:Boolean,default:!1},noBackground:{type:Boolean,default:!1},noBorder:{type:Boolean,default:!1},theme:{type:String,default:\"\"}},computed:{bootStrapStyle:function(){return function(t,e){var n,i,o\u003d[\"warning\",\"info\",\"definition\",\"success\",\"danger\",\"tip\",\"important\",\"wrong\"].includes(t)?t:\"\",r\u003d[\"primary\",\"secondary\",\"success\",\"danger\",\"warning\",\"info\",\"light\",\"dark\"].includes(e)?e:\"\";if(r)n\u003dr;else switch(o){case\"warning\":n\u003d\"warning\";break;case\"info\":n\u003d\"info\";break;case\"definition\":n\u003d\"primary\";break;case\"success\":case\"tip\":n\u003d\"success\";break;case\"important\":case\"wrong\":n\u003d\"danger\";break;default:n\u003d\"default\"}switch(o){case\"wrong\":i\u003d\"fa-times\";break;case\"warning\":i\u003d\"fa-exclamation\";break;case\"info\":i\u003d\"fa-info\";break;case\"success\":i\u003d\"fa-check\";break;case\"important\":i\u003d\"fa-flag\";break;case\"tip\":i\u003d\"fa-lightbulb\";break;case\"definition\":i\u003d\"fa-atlas\";break;default:i\u003d\"\"}return{style:n,icon:i}}(this.type,this.theme)}},methods:{isSeamless:function(){return!this.light\u0026\u0026this.seamless},seamlessNoHeaderBool:function(){return this.isSeamless()\u0026\u0026!this.headerBool()},seamlessHeaderBool:function(){return this.isSeamless()\u0026\u0026this.headerBool()},headerBool:function(){return!!this.$scopedSlots.header},iconBool:function(){var t\u003d!!this.$scopedSlots.icon;return!this.noIcon\u0026\u0026this.type||t},containerStyle:function(){var t;return t\u003dthis.light?\"\".concat(this.getBootstrapBorderStyle(),\" alert-border-left\"):this.seamless?\"seamless\":this.getBootstrapAlertStyle(),this.noBackground\u0026\u0026(t+\u003d\" no-background\"),this.noBorder\u0026\u0026(t+\u003d\" no-border\"),t},customStyle:function(){var t\u003d{};return this.backgroundColor\u0026\u0026(t.backgroundColor\u003dthis.backgroundColor,t.borderColor\u003dthis.backgroundColor),this.borderColor\u0026\u0026(t.border\u003d\"1px solid \".concat(this.borderColor)),this.borderLeftColor\u0026\u0026(t.borderLeft\u003d\"5px solid \".concat(this.borderLeftColor)),t},customColorStyle:function(){return this.color?{color:this.color}:{}},iconStyle:function(){var t\u003d\"\";return this.iconSize\u0026\u0026(t+\u003d\"fa-\".concat(this.iconSize)),(this.light||this.seamless)\u0026\u0026(t+\u003d\" \".concat(this.getBootstrapTextStyle())),t},customIconColorStyle:function(){return this.iconColor?{color:\"\".concat(this.iconColor,\"!important\")}:{}},getBootstrapAlertStyle:function(){return\"alert-\".concat(this.bootStrapStyle.style)},getBootstrapTextStyle:function(){return\"text-\".concat(this.bootStrapStyle.style)},getBootstrapBorderStyle:function(){return\"border-\".concat(this.bootStrapStyle.style)},getFontAwesomeIconStyle:function(){return this.bootStrapStyle.icon}}},He,[],!1,null,\"4d146e2c\",null).exports;var Fe\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[n(\"nav\",{staticClass:\"breadcrumb-divider\",attrs:{\"aria-label\":\"breadcrumb\"}},[n(\"ol\",{staticClass:\"breadcrumb\"},[n(\"li\",{staticClass:\"notlink breadcrumb-marker\"},[t._v(\"\\n ››  \\n \")]),t._v(\" \"),t._l(t.items,(function(e,i){return n(\"li\",{key:i,class:[\"breadcrumb-item\",{notlink:null\u003d\u003d\u003de.link}],attrs:{\"aria-current\":{page:t.isLast(i,t.items.length)}}},[null\u003d\u003d\u003de.link?n(\"a\",[t._v(\"\\n \"+t._s(e.title)+\"\\n \")]):n(\"a\",{attrs:{href:e.link}},[t._v(\"\\n \"+t._s(e.title)+\"\\n \")])])}))],2)])])};Fe._withStripped\u003d!0;const Ve\u003dqe({data:function(){return{items:[]}},methods:{isLast:function(t,e){return t\u003d\u003d\u003de-1}},mounted:function(){var t\u003dArray.from(document.querySelectorAll(\"ul\")).find((function(t){return t.classList.contains(\"site-nav-list-root\")}));if(t){var e\u003dt.querySelector(\".current\");if(e){this.items.unshift({title:e.textContent,link:null});for(var n\u003de.parentElement;n!\u003d\u003dt;){if(\"ul\"\u003d\u003d\u003dn.tagName.toLowerCase()){var i\u003dn.parentElement.querySelector(\"div\"),o\u003di.querySelector(\"a[href]\");null\u003d\u003d\u003do?this.items.unshift({title:i.textContent,link:null}):this.items.unshift({title:o.textContent,link:o.getAttribute(\"href\")})}n\u003dn.parentElement}}}}},Fe,[],!1,null,\"ef898034\",null).exports;var Ue\u003di(3),Qe\u003di.n(Ue),Xe\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.isLi?n(\"li\",{ref:\"dropdown\",class:[{disabled:t.disabledBool},\"dropdown\",t.addClass]},[t._t(\"button\",(function(){return[n(\"a\",{staticClass:\"dropdown-toggle nav-link\",class:{disabled:t.disabledBool},attrs:{role:\"button\",\"data-bs-toggle\":\"dropdown\"}},[t._t(\"header\")],2)]})),t._v(\" \"),t._t(\"dropdown-menu\",(function(){return[n(\"ul\",{staticClass:\"dropdown-menu\",class:[{show:t.show},{\"dropdown-menu-end\":t.menuAlignRight}]},[t._t(\"default\")],2)]}))],2):t.isSubmenu?n(\"submenu\",{ref:\"submenu\",scopedSlots:t._u([t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(){return[t._t(n)]},proxy:!0}}))],null,!0)}):n(\"div\",{ref:\"dropdown\",class:[{disabled:t.disabledBool},\"btn-group\",t.addClass]},[t._t(\"before\"),t._v(\" \"),t._t(\"button\",(function(){return[n(\"button\",{staticClass:\"btn dropdown-toggle\",class:[t.btnType,t.btnWithBefore,{\"dropdown-toggle-split\":t.hasBefore}],attrs:{type:\"button\",disabled:t.disabledBool,\"data-bs-reference\":\"parent\",\"data-bs-toggle\":\"dropdown\"}},[t._t(\"header\")],2)]})),t._v(\" \"),t._t(\"dropdown-menu\",(function(){return[n(\"ul\",{staticClass:\"dropdown-menu\",class:[{show:t.show},{\"dropdown-menu-end\":t.menuAlignRight}]},[t._t(\"default\")],2)]}))],2)};Xe._withStripped\u003d!0;var Ye\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"li\",{ref:\"submenu\",class:[t.addClass,\"dropdown-submenu\",{dropend:t.dropright,dropstart:t.dropleft}]},[t._t(\"button\",(function(){return[n(\"a\",{staticClass:\"dropdown-item submenu-toggle\",class:{disabled:t.disabled},attrs:{role:\"button\",\"data-bs-toggle\":\"dropdown\"}},[t._t(\"header\")],2)]})),t._v(\" \"),t._t(\"dropdown-menu\",(function(){return[n(\"ul\",{staticClass:\"dropdown-menu\"},[t._t(\"default\")],2)]}))],2)};function Ke(t,n){for(var i\u003d0;i\u003cn.length;i++){var o\u003dn[i];o.enumerable\u003do.enumerable||!1,o.configurable\u003d!0,\"value\"in o\u0026\u0026(o.writable\u003d!0),Object.defineProperty(t,e(o.key),o)}}Ye._withStripped\u003d!0;var Ge,Ze\u003dArray.prototype,Je\u003dnew Error(\"Passed arguments must be of Node\"),tn\u003d[],en\u003d[];function nn(t){return t instanceof window.Node}function on(t){return t instanceof window.NodeList||t instanceof sn||t instanceof window.HTMLCollection||t instanceof Array}function rn(t){return(t\u003dt.trim()).length?t.replace(/\\s+/,\" \").split(\" \"):[]}var sn\u003dfunction(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n\u003de;if(e[0]\u003d\u003d\u003dwindow?n\u003d[window]:\"string\"\u003d\u003dtypeof e[0]?(n\u003d(e[1]||document).querySelectorAll(e[0]),e[1]\u0026\u0026(this.owner\u003de[1])):0 in e\u0026\u0026!nn(e[0])\u0026\u0026e[0]\u0026\u0026\"length\"in e[0]\u0026\u0026(n\u003de[0],e[1]\u0026\u0026(this.owner\u003de[1])),n){for(var i in n)this[i]\u003dn[i];this.length\u003dn.length}else this.length\u003d0}var e,n,i;return e\u003dt,(n\u003d[{key:\"concat\",value:function(){var t\u003dZe.slice.call(this);function e(n){Ze.forEach.call(n,(function(n){nn(n)?~t.indexOf(n)||t.push(n):on(n)\u0026\u0026e(n)}))}for(var n\u003darguments.length,i\u003dnew Array(n),o\u003d0;o\u003cn;o++)i[o]\u003darguments[o];return Ze.forEach.call(i,(function(n){if(nn(n))~t.indexOf(n)||t.push(n);else{if(!on(n))throw Error(\"Concat arguments must be of a Node, NodeList, HTMLCollection, or Array of (Node, NodeList, HTMLCollection, Array)\");e(n)}})),hn(t,this)}},{key:\"delete\",value:function(){var t\u003dln(this).filter((function(t){return t.remove?t.remove():t.parentNode\u0026\u0026t.parentNode.removeChild(t),document.body.contains(t)}));return t.length\u0026\u0026console.warn(\"NodeList: Some nodes could not be deleted.\"),t}},{key:\"each\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return Ze.forEach.apply(this,e),this}},{key:\"filter\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return hn(Ze.filter.apply(this,e),this)}},{key:\"find\",value:function(t){var e\u003d[];return ln(this).forEach((function(n){Ze.push.apply(e,n.querySelectorAll(t))})),ln(e,this.owner)}},{key:\"findChildren\",value:function(t){var e\u003dthis;return t?this.find(t).filter((function(t){return e.includes(t.parentElement)})):ln(this.map((function(t){return t.children})))}},{key:\"forEach\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return Ze.forEach.apply(this,e),this}},{key:\"includes\",value:function(t,e){return~this.indexOf(t,e)}},{key:\"map\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];var i\u003dZe.map.apply(this,e);return i.some((function(t){return nn(t)||on(t)}))?ln(i,this):i}},{key:\"parent\",value:function(){return ln(this.map((function(t){return t.parentNode})),this)}},{key:\"pop\",value:function(t){\"number\"!\u003dtypeof t\u0026\u0026(t\u003d1);for(var e\u003d[],n\u003dZe.pop.bind(this);t--;)e.push(n());return hn(e,this)}},{key:\"push\",value:function(){for(var t\u003dthis,e\u003darguments.length,n\u003dnew Array(e),i\u003d0;i\u003ce;i++)n[i]\u003darguments[i];return Ze.forEach.call(n,(function(e){if(!nn(e))throw Je;~t.indexOf(e)||Ze.push.call(t,e)})),this}},{key:\"shift\",value:function(t){\"number\"!\u003dtypeof t\u0026\u0026(t\u003d1);for(var e\u003d[];t--;)e.push(Ze.shift.call(this));return 1\u003d\u003de.length?e[0]:hn(e,this)}},{key:\"slice\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return hn(Ze.slice.apply(this,e),this)}},{key:\"splice\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];for(var i\u003d2,o\u003de.length;i\u003co;i++)if(!nn(e[i]))throw Je;return Ze.splice.apply(this,e),this}},{key:\"unshift\",value:function(){for(var t\u003dthis,e\u003dZe.unshift.bind(this),n\u003darguments.length,i\u003dnew Array(n),o\u003d0;o\u003cn;o++)i[o]\u003darguments[o];return Ze.forEach.call(i,(function(n){if(!nn(n))throw Je;~t.indexOf(n)||e(n)})),this}},{key:\"addClass\",value:function(t){return this.toggleClass(t,!0)}},{key:\"removeClass\",value:function(t){return this.toggleClass(t,!1)}},{key:\"toggleClass\",value:function(t,e){var n\u003dnull\u003d\u003de?\"toggle\":e?\"add\":\"remove\";return\"string\"\u003d\u003dtypeof t\u0026\u0026(t\u003drn(t)),this.each((function(e){var i,o\u003drn(e.className);t.forEach((function(t){var e\u003d~o.indexOf(t);e||\"remove\"\u003d\u003d\u003dn||o.push(t),e\u0026\u0026\"add\"!\u003d\u003dn\u0026\u0026(o\u003do.filter((function(e){return e!\u003d\u003dt})))})),(o\u003d(i\u003do).length?i.join(\" \"):\"\")?e.className\u003do:e.removeAttribute(\"class\")})),this}},{key:\"get\",value:function(t){var e\u003d[];return this.each((function(n){null!\u003d\u003dn\u0026\u0026(n\u003dn[t]),e.push(n)})),ln(e,this)}},{key:\"set\",value:function(t,e){return t.constructor\u003d\u003d\u003dObject?this.each((function(e){if(e)for(var n in t)n in e\u0026\u0026(e[n]\u003dt[n])})):this.each((function(n){t in n\u0026\u0026(n[t]\u003de)})),this}},{key:\"call\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];var i\u003dZe.shift.call(e),o\u003d[],r\u003d!0;return this.each((function(t){t\u0026\u0026t[i]instanceof Function?(t\u003dt[i].apply(t,e),o.push(t),r\u0026\u0026void 0!\u003d\u003dt\u0026\u0026(r\u003d!1)):o.push(void 0)})),r?this:ln(o,this)}},{key:\"item\",value:function(t){return hn([this[t]],this)}},{key:\"asArray\",get:function(){return Ze.slice.call(this)}},{key:\"on\",value:function(t,e,n){if(\"string\"\u003d\u003dtypeof t\u0026\u0026(t\u003drn(t)),!this||!this.length)return this;if(void 0\u003d\u003d\u003dn\u0026\u0026(n\u003de,e\u003dnull),!n)return this;var i\u003dn;return n\u003de?function(t){var n\u003dhn(e,this);n.length\u0026\u0026n.some((function(e){var n\u003de.contains(t.target);return n\u0026\u0026i.call(e,t,e),n}))}:function(t){i.apply(this,[t,this])},this.each((function(e){t.forEach((function(t){(e\u003d\u003d\u003dwindow||nn(e))\u0026\u0026(e.addEventListener(t,n,!1),en.push({el:e,event:t,callback:n}))}))})),this}},{key:\"off\",value:function(t,e){return t instanceof Function\u0026\u0026(e\u003dt,t\u003dnull),t\u003dt instanceof Array?t:\"string\"\u003d\u003dtypeof t?rn(t):null,this.each((function(n){en\u003den.filter((function(i){return!!(!i||i.el!\u003d\u003dn||e\u0026\u0026e!\u003d\u003di.callback||t\u0026\u0026!~t.indexOf(i.event))||(i.el.removeEventListener(i.event,i.callback),!1)}))})),this}},{key:\"onBlur\",value:function(t){var e\u003d!(arguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1])||arguments[1];return this\u0026\u0026this.length\u0026\u0026t?(this.each((function(e){tn.push({el:e,callback:t})})),Ge||(Ge\u003dfunction(t){tn.forEach((function(e){e.el\u0026\u0026(e.el.contains(t.target)||e.el\u003d\u003d\u003dt.target||e.callback.call(e.el,t,e.el))}))},document.addEventListener(\"click\",Ge,!1),e\u0026\u0026document.addEventListener(\"touchstart\",Ge,!1)),this):this}},{key:\"offBlur\",value:function(t){return this.each((function(e){tn\u003dtn.filter((function(n){return!(n\u0026\u0026n.el\u003d\u003d\u003de\u0026\u0026(!t||n.callback\u003d\u003d\u003dt))\u0026\u0026e}))})),this}}])\u0026\u0026Ke(e.prototype,n),i\u0026\u0026Ke(e,i),Object.defineProperty(e,\"prototype\",{writable:!1}),t}(),an\u003dsn.prototype;function ln(t,e){var n\u003d[];return Ze.forEach.call(t,(function(i){if(nn(i))~n.indexOf(i)||n.push(i);else if(on(i))for(var o in i)n.push(i[o]);else if(null!\u003d\u003di)return t.get\u003dan.get,t.set\u003dan.set,t.call\u003dan.call,t.owner\u003de,t})),hn(n,e)}Object.getOwnPropertyNames(Ze).forEach((function(t){\"join\"!\u003d\u003dt\u0026\u0026\"copyWithin\"!\u003d\u003dt\u0026\u0026\"fill\"!\u003d\u003dt\u0026\u0026void 0\u003d\u003d\u003dan[t]\u0026\u0026(an[t]\u003dZe[t])})),window\u0026\u0026window.Symbol\u0026\u0026Symbol.iterator\u0026\u0026(an[Symbol.iterator]\u003dan.values\u003dZe[Symbol.iterator]);var cn\u003ddocument\u0026\u0026document.createElement(\"div\");function un(t){var e\u003dthis;an[t]||(cn[t]instanceof Function?an[t]\u003dfunction(){for(var n\u003d[],i\u003d!0,o\u003darguments.length,r\u003dnew Array(o),s\u003d0;s\u003co;s++)r[s]\u003darguments[s];for(var a in an){var l\u003dan[a];l\u0026\u0026l[t]instanceof Function?(l\u003dl[t].apply(l,r),n.push(l),i\u0026\u0026void 0!\u003d\u003dl\u0026\u0026(i\u003d!1)):n.push(void 0)}return i?e:ln(n,e)}:Object.defineProperty(an,t,{get:function(){var e\u003d[];return this.each((function(n){null!\u003d\u003dn\u0026\u0026(n\u003dn[t]),e.push(n)})),ln(e,this)},set:function(e){this.each((function(n){n\u0026\u0026t in n\u0026\u0026(n[t]\u003de)}))}}))}for(var dn in cn)un(dn);function hn(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return new sn(e)}window\u0026\u0026(window.NL\u003dhn);const pn\u003dhn;const fn\u003d{isRightAlign:function(t){var e\u003d0,n\u003dwindow.innerWidth,i\u003d(window.innerHeight,t.getBoundingClientRect());if(void 0\u003d\u003d\u003di)return!0;i.y;var o\u003di.x,r\u003di.x+t.offsetWidth;return i.y,t.offsetHeight,!(o\u003c0)\u0026\u0026(o\u003ce||!(r\u003en))},preventOverflow:function(t){t.removeAttribute(\"style\");var e\u003d0,n\u003d(window.innerWidth,window.innerHeight),i\u003dt.getBoundingClientRect();if(void 0!\u003d\u003di){var o\u003di.y,r\u003d(i.x,i.x,t.offsetWidth,i.y+t.offsetHeight);r\u003en?t.setAttribute(\"style\",\"bottom: auto; top: \".concat(-(r-n),\"px;\")):o\u003ce\u0026\u0026t.setAttribute(\"style\",\"top: auto; bottom: \".concat(-(e-o),\"px;\"))}}};function mn(t){for(var e\u003dt,n\u003dt;n;)n.classList\u0026\u0026n.classList.contains(\"dropdown-menu\")\u0026\u0026(e\u003dn),n\u003dn.parentNode;if(e.offsetWidth\u003ewindow.innerWidth)e.setAttribute(\"style\",\"left: 0px;\");else{var i\u003de.parentNode.getBoundingClientRect(),o\u003di.left+e.offsetWidth-window.innerWidth,r\u003do\u003c0?i.left:i.left-o;e.setAttribute(\"style\",\"left: \".concat(r,\"px;\"))}}const vn\u003dqe({props:{addClass:{type:String,default:\"\"},disabled:{type:[Boolean,String],default:!1}},data:function(){return{show:!1,dropright:!0,dropleft:!1}},inject:{isParentNavbar:{default:!1}},computed:{disabledBool:function(){return Re(this.disabled)}},methods:{hideSubmenu:function(){this.show\u003d!1,pn(this.$refs.submenu).find(\"ul.dropdown-menu\").each((function(t){return t.classList.toggle(\"show\",!1)})),this.alignMenuRight()},showSubmenu:function(){var t\u003dthis;this.show\u003d!0,pn(this.$refs.submenu).findChildren(\"ul\").each((function(e){e.classList.toggle(\"show\",!0),window.innerWidth\u003c768\u0026\u0026t.isParentNavbar?mn(e):(fn.isRightAlign(e)?t.alignMenuRight():t.alignMenuLeft(),fn.preventOverflow(e))}))},alignMenuRight:function(){this.dropright\u003d!0,this.dropleft\u003d!1},alignMenuLeft:function(){this.dropright\u003d!1,this.dropleft\u003d!0}},mounted:function(){var t\u003dthis,e\u003dpn(this.$refs.submenu);this.show\u0026\u0026this.showSubmenu(),e.onBlur((function(){t.hideSubmenu()}),!1),e.findChildren(\"a,button\").on(\"click\",(function(e){return e.preventDefault(),e.stopPropagation(),t.disabledBool||(t.show?t.hideSubmenu():t.showSubmenu()),!1})),e.findChildren(\"a,button\").on(\"mouseover\",(function(n){if(n.preventDefault(),window.innerWidth\u003e767){if(e.findChildren(\"ul.show\").length\u003e0||t.disabledBool)return!1;n.currentTarget.click(),t.$parent.$parent.$children.forEach((function(e){e.$el\u003d\u003d\u003dt.$el?e.$refs.submenu.showSubmenu():e.$refs.submenu.hideSubmenu()}))}return!1}))},beforeDestroy:function(){var t\u003dpn(this.$refs.submenu);t.offBlur(),t.findChildren(\"a,button\").off(),t.findChildren(\"ul\").off()}},Ye,[],!1,null,\"6df16086\",null).exports;const gn\u003dqe({components:{Submenu:vn},props:{disabled:{type:[Boolean,String],default:!1},type:{type:String,default:\"light\"},menuAlignRight:{type:Boolean,default:!1},addClass:{type:String,default:\"\"}},provide:{hasParentDropdown:!0},inject:{hasParentDropdown:{default:void 0},isParentNavbar:{default:!1}},data:function(){return{show:!1}},computed:{btnType:function(){return\"btn-\".concat(this.type)},disabledBool:function(){return Re(this.disabled)},isLi:function(){return this.$parent._navbar||this.$parent.menu||this.$parent._tabset},isSubmenu:function(){return this.hasParentDropdown},menu:function(){return!this.$parent||this.$parent.navbar},submenu:function(){return this.$parent\u0026\u0026(this.$parent.menu||this.$parent.submenu)},slots:function(){return this.$scopedSlots.default},hasBefore:function(){return!!this.$scopedSlots.before},btnWithBefore:function(){return this.hasBefore?\"btn-with-before\":\"\"}},methods:{blur:function(){var t\u003dthis;this.unblur(),this._hide\u003dsetTimeout((function(){t._hide\u003dnull,t.hideDropdownMenu()}),100)},unblur:function(){this._hide\u0026\u0026(clearTimeout(this._hide),this._hide\u003dnull)},hideDropdownMenu:function(){var t\u003dthis;this.show\u003d!1,pn(this.$refs.dropdown).findChildren(\"ul\").each((function(e){e.classList.toggle(\"show\",!1),window.innerWidth\u003c768\u0026\u0026t.isParentNavbar\u0026\u0026e.style.removeProperty(\"left\")}))},showDropdownMenu:function(){var t\u003dthis;this.show\u003d!0,pn(this.$refs.dropdown).findChildren(\"ul\").each((function(e){e.classList.toggle(\"show\",!0),window.innerWidth\u003c768\u0026\u0026t.isParentNavbar\u0026\u0026mn(e)}))}},mounted:function(){var t\u003dthis,e\u003dpn(this.$refs.dropdown);this.$slots.button\u0026\u0026e.findChildren(\".dropdown-toggle\").forEach((function(t){return t.setAttribute(\"data-bs-toggle\",\"dropdown\")})),this.show\u0026\u0026this.showDropdownMenu(),e.onBlur((function(){t.hideDropdownMenu()}),!1),e.findChildren(\"a,button.dropdown-toggle\").on(\"click\",(function(e){return e.preventDefault(),t.disabledBool||(t.show?t.hideDropdownMenu():t.showDropdownMenu()),!1})),e.findChildren(\"ul\").on(\"click\",\"li\u003ea\",(function(e){e.target.classList.contains(\"submenu-toggle\")||t.hideDropdownMenu()}))},beforeDestroy:function(){var t\u003dpn(this.$refs.dropdown);t.offBlur(),t.findChildren(\"a,button\").off(),t.findChildren(\"ul\").off()}},Xe,[],!1,null,\"12679d7e\",null).exports;var yn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[n(\"nav\",{ref:\"navbar\",class:[\"navbar\",\"navbar-expand-md\",\"d-print-none\",t.themeOptions,t.addClass,t.fixedOptions]},[n(\"div\",{staticClass:\"container-fluid\"},[n(\"div\",{staticClass:\"navbar-left\"},[t._t(\"brand\")],2),t._v(\" \"),n(\"div\",{ref:\"navbarDefault\",staticClass:\"navbar-default\"},[n(\"ul\",{staticClass:\"navbar-nav me-auto mt-2 mt-lg-0\"},[t._t(\"default\")],2)]),t._v(\" \"),t.slots.right?n(\"ul\",{staticClass:\"navbar-nav navbar-right\"},[t._t(\"right\")],2):t._e()])]),t._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isLowerNavbarShowing,expression:\"isLowerNavbarShowing\"}],ref:\"lowerNavbar\",staticClass:\"lower-navbar-container\"},[t._t(\"lower-navbar\",(function(){return[n(\"site-nav-button\"),t._v(\" \"),n(\"page-nav-button\")]}))],2)])};function wn(t,e){(null\u003d\u003de||e\u003et.length)\u0026\u0026(e\u003dt.length);for(var n\u003d0,i\u003dnew Array(e);n\u003ce;n++)i[n]\u003dt[n];return i}function bn(t,e){if(t){if(\"string\"\u003d\u003dtypeof t)return wn(t,e);var n\u003dObject.prototype.toString.call(t).slice(8,-1);return\"Object\"\u003d\u003d\u003dn\u0026\u0026t.constructor\u0026\u0026(n\u003dt.constructor.name),\"Map\"\u003d\u003d\u003dn||\"Set\"\u003d\u003d\u003dn?Array.from(t):\"Arguments\"\u003d\u003d\u003dn||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wn(t,e):void 0}}function _n(t){return function(t){if(Array.isArray(t))return wn(t)}(t)||function(t){if(\"undefined\"!\u003dtypeof Symbol\u0026\u0026null!\u003dt[Symbol.iterator]||null!\u003dt[\"@@iterator\"])return Array.from(t)}(t)||bn(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Sn(t){return t.endsWith(\".html\")?t.toLowerCase():t.endsWith(\"/\")?\"\".concat(t,\"index.html\").toLowerCase():t.endsWith(\"/\")?t.toLowerCase():\"\".concat(t,\".html\").toLowerCase()}yn._withStripped\u003d!0;var xn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.showSiteNav?n(\"overlay\",{attrs:{type:\"siteNav\",\"portal-name\":t.portalName},scopedSlots:t._u([{key:\"navMenuIcon\",fn:function(){return[n(\"div\",{class:[\"toggle-site-nav-button\"]},[n(\"span\"),t._v(\" \"),n(\"span\"),t._v(\" \"),n(\"span\")])]},proxy:!0}],null,!1,3920804522)}):t._e()};xn._withStripped\u003d!0;const Cn\u003dqe({data:function(){return{portalName:void 0,show:!1}},computed:{showSiteNav:function(){return this.show\u0026\u0026this.portalName}},methods:{toggleSiteNavButton:function(){window.innerWidth\u003c992?this.show\u003d!0:this.show\u003d!1}},mounted:function(){null!\u003d\u003ddocument.querySelector(\"#site-nav a\")?this.portalName\u003d\"site-nav\":null!\u003d\u003ddocument.querySelector(\".site-nav-root a\")\u0026\u0026(this.portalName\u003d\"mb-site-nav\"),this.toggleSiteNavButton(),pn(window).on(\"resize\",this.toggleSiteNavButton)},beforeDestroy:function(){pn(window).off(\"resize\",this.toggleSiteNavButton)}},xn,[],!1,null,\"d6ffaa8e\",null).exports;var $n\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.showPageNav?n(\"overlay\",{attrs:{type:\"pageNav\",\"portal-name\":t.portalName},scopedSlots:t._u([{key:\"navMenuIcon\",fn:function(){return[n(\"div\",{class:[\"toggle-page-nav-button\"]},[n(\"span\"),t._v(\" \"),n(\"span\"),t._v(\" \"),n(\"span\")])]},proxy:!0}],null,!1,171840498)}):t._e()};$n._withStripped\u003d!0;const kn\u003dqe({data:function(){return{portalName:void 0,show:!1}},computed:{showPageNav:function(){return this.show\u0026\u0026this.portalName}},methods:{togglePageNavButton:function(){window.innerWidth\u003c1300?this.show\u003d!0:this.show\u003d!1}},mounted:function(){null!\u003d\u003ddocument.querySelector(\"#page-nav a\")?this.portalName\u003d\"page-nav\":null!\u003d\u003ddocument.querySelector(\"#mb-page-nav a\")\u0026\u0026(this.portalName\u003d\"mb-page-nav\"),this.togglePageNavButton(),pn(window).on(\"resize\",this.togglePageNavButton)},beforeDestroy:function(){pn(window).off(\"resize\",this.togglePageNavButton)}},$n,[],!1,null,\"4b08b1df\",null).exports;const Tn\u003dqe({components:{SiteNavButton:Cn,PageNavButton:kn},props:{type:{type:String,default:\"primary\"},addClass:{type:String,default:\"\"},fixed:{type:[Boolean,String],default:!1},defaultHighlightOn:{type:String,default:\"sibling-or-child\"}},provide:function(){return{toggleLowerNavbar:this.toggleLowerNavbar,isParentNavbar:!0}},data:function(){return{id:\"bs-example-navbar-collapse-1\",styles:{},isLowerNavbarShowing:!1}},computed:{fixedBool:function(){return Re(this.fixed)},fixedOptions:function(){return this.fixedBool?\"navbar-fixed\":\"\"},slots:function(){return this.$scopedSlots},themeOptions:function(){switch(this.type){case\"none\":return\"\";case\"light\":return\"navbar-light bg-light\";case\"dark\":return\"navbar-dark bg-dark\";case\"primary\":default:return\"navbar-dark bg-primary\"}}},methods:{splitUrl:function(t){var e\u003dnew URL(Sn(t));return\"\".concat(e.pathname).substr(1).split(\"/\")},isEqualExceptLast:function(t,e){for(var n\u003d0;n\u003ct.length-1;n+\u003d1)if(t[n]!\u003d\u003de[n])return!1;return!0},isSibling:function(t,e){var n\u003dthis.splitUrl(e),i\u003dthis.splitUrl(t);return n.length\u003d\u003d\u003di.length\u0026\u0026this.isEqualExceptLast(n,i)},isChild:function(t,e){var n\u003dthis.splitUrl(e),i\u003dthis.splitUrl(t);return!(i.length\u003c\u003dn.length)\u0026\u0026this.isEqualExceptLast(n,i)},isExact:function(t,e){return Sn(t)\u003d\u003d\u003dSn(e)},addClassIfDropdown:function(t,e,n){t.includes(e)\u0026\u0026(e.classList.add(\"dropdown-current\"),this.addClassIfSubmenu(e,n))},addClassIfSubmenu:function(t,e){for(var n\u003dt.parentElement;n!\u003d\u003de;)n.classList.contains(\"dropdown-submenu\")\u0026\u0026pn(n).findChildren(\"a\").each((function(t){return t.classList.add(\"dropdown-current\")})),n\u003dn.parentElement},highlightLink:function(t){var e\u003dthis.defaultHighlightOn,n\u003d[];this.$el.querySelectorAll(\".navbar-nav\").forEach((function(t){return n.push.apply(n,_n(Array.from(t.children)))}));for(var i\u003d0;i\u003cn.length;i+\u003d1)for(var o\u003dn[i],r\u003d[o],s\u003dArray.from(o.querySelectorAll(\"a.nav-link\")),a\u003dArray.from(o.querySelectorAll(\"a.dropdown-item\")),l\u003dr.concat(s).concat(a).filter((function(t){return t.href})),c\u003d0;c\u003cl.length;c+\u003d1){var u\u003dl[c];if(\"none\"!\u003d\u003d(u.getAttribute(\"highlight-on\")||e)\u0026\u0026this.isExact(t,u.href))return o.classList.add(\"current\"),void this.addClassIfDropdown(a,u,o)}for(var d\u003d0;d\u003cn.length;d+\u003d1)for(var h\u003dn[d],p\u003d[h],f\u003dArray.from(h.querySelectorAll(\"a.nav-link\")),m\u003dArray.from(h.querySelectorAll(\"a.dropdown-item\")),v\u003dp.concat(f).concat(m).filter((function(t){return t.href})),g\u003d0;g\u003cv.length;g+\u003d1){var y\u003dv[g],w\u003dy.getAttribute(\"highlight-on\")||e;if(\"none\"!\u003d\u003dw)if(\"sibling-or-child\"\u003d\u003d\u003dw){if(this.isSibling(t,y.href)||this.isChild(t,y.href))return h.classList.add(\"current\"),void this.addClassIfDropdown(m,y,h)}else if(\"sibling\"\u003d\u003d\u003dw){if(this.isSibling(t,y.href))return h.classList.add(\"current\"),void this.addClassIfDropdown(m,y,h)}else if(\"child\"\u003d\u003d\u003dw\u0026\u0026this.isChild(t,y.href))return h.classList.add(\"current\"),void this.addClassIfDropdown(m,y,h)}},toggleLowerNavbar:function(){this.$refs.lowerNavbar.childElementCount\u003e0?this.isLowerNavbarShowing\u003d!0:this.isLowerNavbarShowing\u003d!1}},created:function(){this._navbar\u003d!0},mounted:function(){var t\u003dthis,e\u003dpn(\u0027.dropdown\u003e[data-bs-toggle\u003d\"dropdown\"]\u0027,this.$el).parent();e.on(\"click\",\".dropdown-toggle\",(function(t){t.preventDefault(),e.each((function(e){e.contains(t.target)\u0026\u0026e.classList.toggle(\"open\")}))})).on(\"click\",\".dropdown-menu\u003eli\u003ea\",(function(t){e.each((function(e){e.contains(t.target)\u0026\u0026e.classList.remove(\"open\")}))})).onBlur((function(t){e.each((function(e){e.contains(t.target)||e.classList.remove(\"open\")}))})),this.highlightLink(window.location.href);var n\u003dpn(this.$refs.navbarDefault).find(\".current\")[0];n\u0026\u0026window.innerWidth\u003c768\u0026\u0026n.offsetLeft+n.offsetWidth\u003ewindow.innerWidth\u0026\u0026(this.$refs.navbarDefault.scrollLeft\u003dn.offsetLeft+n.offsetWidth-window.innerWidth),this.toggleLowerNavbar(),pn(window).on(\"resize\",this.toggleLowerNavbar),pn(this.$refs.navbarDefault).on(\"wheel\",(function(e){window.innerWidth\u003c768\u0026\u0026!function(t){for(var e\u003d0;e\u003ct.length;e+\u003d1)if(t[e].classList\u0026\u0026t[e].classList.contains(\"dropdown-menu\"))return!0;return!1}(e.path)\u0026\u0026(e.preventDefault(),t.$refs.navbarDefault.scrollLeft+\u003de.deltaY)}))},beforeDestroy:function(){pn(\".dropdown\",this.$el).off(\"click\").offBlur(),pn(window).off(\"resize\",this.toggleLowerNavbar),pn(this.$refs.navbarDefault).off(\"wheel\")}},yn,[],!1,null,\"73b4aa16\",null).exports;var En\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.isMinimal?n(\"minimal-panel\",t._b({attrs:{\"panel-id\":t.panelId},scopedSlots:t._u([t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(){return[t._t(n)]},proxy:!0}}))],null,!0)},\"minimal-panel\",t.$attrs,!1)):n(\"nested-panel\",t._b({attrs:{\"panel-id\":t.panelId,type:t.type},scopedSlots:t._u([t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(){return[t._t(n)]},proxy:!0}}))],null,!0)},\"nested-panel\",t.$attrs,!1))};En._withStripped\u003d!0;var On\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.localMinimized?n(\"span\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[n(\"span\",{staticClass:\"morph\"},[n(\"button\",{class:[\"morph-display-wrapper\",\"btn\",t.btnType],on:{click:function(e){return t.open()}}},[t.noMinimizedSwitch?t._e():n(\"div\",{staticClass:\"minimal-caret-wrapper\"},[n(\"span\",{class:[\"glyphicon\",\"glyphicon-chevron-right\"]})]),t._v(\" \"),n(\"span\",{staticClass:\"card-title\"},[t._t(\"_alt\",(function(){return[t._t(\"header\")]}))],2)])])]):n(\"div\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[n(\"div\",{class:[\"card\",{\"expandable-card\":t.isExpandableCard},t.borderType]},[n(\"div\",{class:[\"card-header\",{\"header-toggle\":t.isExpandableCard},t.cardType,t.borderType],on:{click:function(e){e.preventDefault(),e.stopPropagation(),t.isExpandableCard\u0026\u0026t.toggle()}}},[n(\"div\",{staticClass:\"caret-wrapper\"},[t.showCaret?n(\"span\",{class:[\"glyphicon\",t.localExpanded?\"glyphicon-chevron-down\":\"glyphicon-chevron-right\"]}):t._e()]),t._v(\" \"),n(\"div\",{ref:\"headerWrapper\",class:[\"header-wrapper card-title\",t.cardType,{\"text-white\":!t.isLightBg,\"header-transparent\":!t.shouldShowHeader}]},[t._t(\"header\")],2),t._v(\" \"),n(\"div\",{staticClass:\"button-wrapper\"},[t._t(\"button\",(function(){return[n(\"panel-switch\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isExpandableCard\u0026\u0026!t.noSwitchBool\u0026\u0026!t.showCaret,expression:\"isExpandableCard \u0026\u0026 !noSwitchBool \u0026\u0026 !showCaret\"}],attrs:{\"is-open\":t.localExpanded,\"is-light-bg\":t.isLightBg}}),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.noCloseBool,expression:\"!noCloseBool\"}],staticClass:\"close-button btn\",class:[t.isLightBg?\"btn-outline-secondary\":\"btn-outline-light\",{\"seamless-button\":t.isSeamless}],attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.close()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-remove\",attrs:{\"aria-hidden\":\"true\"}})]),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.popupUrl,expression:\"popupUrl\"}],staticClass:\"popup-button btn\",class:[t.isLightBg?\"btn-outline-secondary\":\"btn-outline-light\",{\"seamless-button\":t.isSeamless}],attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.openPopup()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-new-window\",attrs:{\"aria-hidden\":\"true\"}})])]}))],2)]),t._v(\" \"),n(\"div\",{ref:\"panel\",staticClass:\"card-collapse\",class:{\"card-peek-collapsed\":t.shouldShowPeek}},[t.wasRetrieverLoaded||t.preloadBool?n(\"div\",{staticClass:\"card-body\"},[t._t(\"default\"),t._v(\" \"),t.hasSrc?n(\"retriever\",{ref:\"retriever\",attrs:{src:t.srcWithoutFragment,fragment:t.fragment},on:{\"src-loaded\":t.retrieverUpdateMaxHeight}}):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"bottom-button-wrapper\"},[n(\"panel-switch\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isExpandableCard\u0026\u0026t.bottomSwitchBool,expression:\"isExpandableCard \u0026\u0026 bottomSwitchBool\"}],attrs:{\"is-open\":t.localExpanded},nativeOn:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.toggle(!0)}}})],1)],2):t._e(),t._v(\" \"),n(\"hr\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isSeamless,expression:\"isSeamless\"}]})]),t._v(\" \"),n(\"transition\",{attrs:{name:\"peek-read-more-fade\"}},[t.shouldShowPeek?n(\"div\",{staticClass:\"peek-read-more glyphicon glyphicon-chevron-down\",on:{click:function(e){return t.toggle()}}}):t._e()])],1)])};On._withStripped\u003d!0;const Bn\u003d{props:{type:{type:String,default:null},expandable:{type:[Boolean,String],default:!0},isOpen:{type:[Boolean,String],default:null},expanded:{type:[Boolean,String],default:null},minimized:{type:[Boolean,String],default:!1},noMinimizedSwitch:{type:[Boolean,String],default:!1},noSwitch:{type:[Boolean,String],default:!1},noClose:{type:[Boolean,String],default:!1},popupUrl:{type:String,default:null},src:{type:String},bottomSwitch:{type:[Boolean,String],default:!0},preload:{type:[Boolean,String],default:!1},addClass:{type:String,default:\"\"},expandHeaderless:{type:Boolean,default:!1},peek:{type:Boolean,default:!1},panelId:{type:String,default:null}},computed:{expandableBool:function(){return Re(this.expandable)},isOpenBool:function(){return Re(this.isOpen)},expandedBool:function(){return Re(this.expanded)},minimizedBool:function(){return Re(this.minimized)},noSwitchBool:function(){return Re(this.noSwitch)},noCloseBool:function(){return Re(this.noClose)},bottomSwitchBool:function(){return Re(this.bottomSwitch)},preloadBool:function(){return Re(this.preload)},hasHeaderBool:function(){return this.$scopedSlots.header},isExpandableCard:function(){return this.expandableBool},hasId:function(){return this.panelId},hasSrc:function(){return this.src\u0026\u0026this.src.length\u003e0},srcWithoutFragment:function(){return this.src.split(\"#\")[0]},shouldShowHeader:function(){return!this.localExpanded||!this.expandHeaderless},shouldShowPeek:function(){return this.peek\u0026\u0026!this.localExpanded},collapsedPanelHeight:function(){return this.peek?125:0}},data:function(){return{localExpanded:!1,localMinimized:!1,wasRetrieverLoaded:!1,isRetrieverLoadDone:!this.src,fragment:\"\"}},methods:{toggle:function(t){var e\u003dthis;this.wasRetrieverLoaded?(this.localExpanded?(t\u0026\u0026(this.$refs.panel.style.maxHeight\u003d\"\".concat(this.$refs.panel.scrollHeight,\"px\")),requestAnimationFrame((function(){if(e.$el.getBoundingClientRect().top\u003c0){var n,i\u003ddocument.querySelector(\"header[sticky]\");if(null\u003d\u003di)n\u003d0;else{var o\u003dwindow.getComputedStyle(i,null);n\u003di.clientHeight-parseFloat(o.paddingTop)-parseFloat(o.paddingBottom)||0}window.scrollTo({top:window.scrollY+e.$el.getBoundingClientRect().top-n-3,left:0,behavior:t?\"smooth\":\"instant\"})}e.$refs.panel.style.maxHeight\u003d\"\".concat(e.collapsedPanelHeight,\"px\")}))):(this.$refs.panel.style.transition\u003d\"max-height 0.5s ease-in-out\",this.$refs.panel.style.maxHeight\u003d\"\".concat(this.$refs.panel.scrollHeight,\"px\")),this.localExpanded\u003d!this.localExpanded):this.open()},close:function(){this.localMinimized\u003d!0,this.localExpanded\u003d!1},open:function(){var t\u003dthis;this.localMinimized\u003d!1,this.$nextTick((function(){t.initPanel(),t.localExpanded\u003d!0,t.wasRetrieverLoaded\u003d!0,t.$nextTick((function(){t.$refs.panel.style.maxHeight\u003d\"\".concat(t.$refs.panel.scrollHeight,\"px\")}))}))},openPopup:function(){window.open(this.popupUrl)},retrieverUpdateMaxHeight:function(){this.isRetrieverLoadDone\u003d!0,this.localExpanded\u0026\u0026(this.expandedBool?this.$refs.panel.style.maxHeight\u003d\"none\":this.$refs.panel.style.maxHeight\u003d\"\".concat(this.$refs.panel.scrollHeight,\"px\"))},initPanel:function(){var t\u003dthis;this.$refs.panel.addEventListener(\"transitionend\",(function(e){t.localExpanded\u0026\u0026t.isRetrieverLoadDone\u0026\u0026e.target\u003d\u003d\u003dt.$refs.panel\u0026\u0026(t.$refs.panel.style.maxHeight\u003d\"none\")})),this.localExpanded?this.$refs.panel.style.maxHeight\u003d\"none\":this.$refs.panel.style.maxHeight\u003d\"\".concat(this.collapsedPanelHeight,\"px\")}},created:function(){if(this.src){var t\u003dIe(this.src);t\u0026\u0026(this.fragment\u003dt)}var e\u003d!this.expandableBool\u0026\u0026\"false\"!\u003d\u003dthis.expanded;this.localExpanded\u003de||this.expandedBool,null\u003d\u003d\u003dthis.localExpanded\u0026\u0026(this.localExpanded\u003d!1),this.wasRetrieverLoaded\u003dthis.localExpanded||this.peek,this.localMinimized\u003dthis.minimizedBool},mounted:function(){this.localMinimized||this.initPanel()}};var Pn\u003dfunction(){var t\u003dthis.$createElement,e\u003dthis._self._c||t;return e(\"button\",{class:[\"collapse-button\",\"btn\",this.isLightBg?\"btn-outline-secondary\":\"btn-outline-light\"],attrs:{type:\"button\"}},[e(\"span\",{class:[\"collapse-icon\",\"glyphicon\",\"glyphicon-menu-down\",{opened:this.isOpenBool}],attrs:{\"aria-hidden\":\"true\"}})])};Pn._withStripped\u003d!0;const Ln\u003dqe({props:{isOpen:{type:[Boolean,String],default:!1},isLightBg:{type:Boolean,default:!0}},computed:{isOpenBool:function(){return Re(this.isOpen)}}},Pn,[],!1,null,null,null).exports;var Nn\u003dfunction(){var t\u003dthis.$createElement;return(this._self._c||t)(\"div\",[this._v(\"\\n Loading...\\n\")])};function An(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}Nn._withStripped\u003d!0;const zn\u003dqe({props:{src:{type:String,default:null},fragment:{type:String,default:null},delay:{type:[Boolean,String],default:!1},hasFetched:{type:Boolean,default:!1}},data:function(){return{hasFetchedCopy:this.hasFetched}},computed:{delayBool:function(){return Re(this.delay)},hash:function(){return Ie(this.src)||this.fragment},srcWithoutHash:function(){return this.src.split(\"#\")[0]}},methods:{fetch:function(t){function e(){return t.apply(this,arguments)}return e.toString\u003dfunction(){return t.toString()},e}((function(){var t\u003dthis;this.srcWithoutHash\u0026\u0026(this.hasFetchedCopy||fetch(this.srcWithoutHash).then((function(t){return t.text()})).then((function(e){var i\u003de;if(t.hash){var o\u003ddocument.implementation.createHTMLDocument(\"\");o.body.innerHTML\u003di,o.querySelectorAll(\"svg \u003e script\").forEach((function(t){return t.remove()})),i\u003do.querySelector(\"#\".concat(t.hash)).innerHTML}if(t.hasFetchedCopy\u003d!0,void 0\u003d\u003d\u003di\u0026\u0026t.hash)t.$el.innerHTML\u003d\"\u003cstrong\u003eError\u003c/strong\u003e: Failed to retrieve page fragment:\"+\" \".concat(t.srcWithoutHash,\"#\").concat(t.hash);else{var r\u003dfunction(t){for(var e\u003d1;e\u003carguments.length;e++){var i\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?An(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):An(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}({},t.$root.$data);(new(Vue.extend({template:\"\u003cdiv\u003e\\n\".concat(i,\"\\n\u003c/div\u003e\"),data:function(){return r}}))).$mount(t.$el),t.$emit(\"src-loaded\")}})).catch((function(e){console.error(e),t.$el.innerHTML\u003d\"\u003cstrong\u003eError\u003c/strong\u003e: Failed to retrieve content from source: \"+\"\u003cem\u003e\".concat(t.srcWithoutHash,\"\u003c/em\u003e\"),t.$emit(\"src-loaded\")})))}))},mounted:function(){this.$nextTick((function(){this.srcWithoutHash||(this.$el.innerHTML\u003d\"\"),this.delayBool||this.fetch()}))}},Nn,[],!1,null,null,null).exports;const Mn\u003dqe({mixins:[Bn],components:{panelSwitch:Ln,retriever:zn},computed:{showCaret:function(){return this.isSeamless\u0026\u0026this.expandableBool},isSeamless:function(){return\"seamless\"\u003d\u003d\u003dthis.type},btnType:function(){return this.isSeamless||\"light\"\u003d\u003d\u003dthis.type?\"btn-outline-secondary\":\"btn-outline-\".concat(this.type||\"secondary\")},borderType:function(){return this.isSeamless?\"border-0\":this.type?\"light\"\u003d\u003d\u003dthis.type?\"\":\"border-\".concat(this.type):\"\"},cardType:function(){return this.isSeamless?\"bg-white\":\"bg-\".concat(this.type||\"light\")},isLightBg:function(){return\"bg-light\"\u003d\u003d\u003dthis.cardType||\"bg-white\"\u003d\u003d\u003dthis.cardType||\"bg-warning\"\u003d\u003d\u003dthis.cardType}}},On,[],!1,null,\"1e33c620\",null).exports;var Hn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.localMinimized?n(\"span\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[t.hasId?n(\"span\",{staticClass:\"anchor\",attrs:{id:t.panelId}}):t._e(),t._v(\" \"),n(\"span\",{staticClass:\"morph\"},[n(\"button\",{staticClass:\"morph-display-wrapper btn card-title morph-title\",on:{click:function(e){return t.minimalOpen()}}},[t.noMinimizedSwitch?t._e():n(\"div\",{class:[\"glyphicon\",\"glyphicon-chevron-right\"]}),t._v(\" \"),t._t(\"_alt\",(function(){return[n(\"span\",{staticClass:\"card-title\"},[t._t(\"header\")],2)]}))],2)])]):n(\"div\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[t.hasId?n(\"span\",{staticClass:\"anchor\",attrs:{id:t.panelId}}):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"card card-flex\"},[n(\"div\",{class:[\"header-wrapper\",{\"header-wrapper-bottom\":t.isHeaderAtBottom,\"header-toggle\":t.isExpandableCard}],on:{click:function(e){e.preventDefault(),e.stopPropagation(),t.isExpandableCard\u0026\u0026t.minimalToggle()}}},[n(\"transition\",{attrs:{name:\"header-fade\"}},[n(\"span\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.isHeaderAtBottom,expression:\"!isHeaderAtBottom\"}],ref:\"headerWrapper\",class:[\"card-title\",{ellipses:!t.hasHeaderBool}]},[n(\"span\",{staticClass:\"card-title-inline\"},[t._t(\"header\")],2),t._v(\" \"),n(\"span\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showDownSwitch,expression:\"showDownSwitch\"}],staticClass:\"minimal-button glyphicon glyphicon-menu-down minimal-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])]),t._v(\" \"),n(\"div\",{class:[\"button-wrapper\",{\"button-wrapper-expanded\":t.isHeaderAtBottom}]},[t._t(\"button\",(function(){return[n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.noCloseBool,expression:\"!noCloseBool\"}],staticClass:\"minimal-button\",attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.minimalClose()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-remove minimal-close-button\",attrs:{\"aria-hidden\":\"true\"}})]),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:null!\u003d\u003dt.popupUrl,expression:\"popupUrl !\u003d\u003d null\"}],staticClass:\"minimal-button\",attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.openPopup()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-new-window minimal-popup-button\",attrs:{\"aria-hidden\":\"true\"}})]),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isHeaderAtBottom\u0026\u0026t.isExpandableCard\u0026\u0026t.bottomSwitchBool,expression:\"isHeaderAtBottom \u0026\u0026 isExpandableCard \u0026\u0026 bottomSwitchBool\"}],staticClass:\"minimal-button\",attrs:{type:\"button\"}},[n(\"span\",{staticClass:\"glyphicon glyphicon-menu-up minimal-menu-up\",attrs:{\"aria-hidden\":\"true\"}})])]}))],2)],1),t._v(\" \"),n(\"div\",{ref:\"panel\",staticClass:\"card-collapse\",class:{\"card-peek-collapsed\":t.shouldShowPeek}},[t.wasRetrieverLoaded||t.preloadBool?n(\"div\",{staticClass:\"card-body\"},[t._t(\"default\"),t._v(\" \"),t.hasSrc?n(\"retriever\",{ref:\"retriever\",attrs:{src:t.srcWithoutFragment,fragment:t.fragment},on:{\"src-loaded\":t.retrieverUpdateMaxHeight}}):t._e()],2):t._e()])])])};Hn._withStripped\u003d!0;var Dn\u003dqe({mixins:[Bn],components:{retriever:zn},data:function(){return{isHeaderAtBottom:!1}},computed:{showDownSwitch:function(){return this.hasHeaderBool\u0026\u0026this.isExpandableCard\u0026\u0026!this.noSwitchBool}},methods:{minimalToggle:function(){var t\u003dthis;if(this.localExpanded){this.$refs.panel.addEventListener(\"transitionend\",(function e(n){n.target\u003d\u003d\u003dt.$refs.panel\u0026\u0026(t.isHeaderAtBottom\u003d!1,t.$refs.panel.removeEventListener(\"transitionend\",e))}))}else this.isHeaderAtBottom\u003d!0;this.toggle(!0)},minimalOpen:function(){this.open(),this.isHeaderAtBottom\u003d!0},minimalClose:function(){this.close(),this.isHeaderAtBottom\u003d!1}},created:function(){this.isHeaderAtBottom\u003dthis.localExpanded}},Hn,[],!1,null,\"5d519034\",null);const Rn\u003dqe({components:{nestedPanel:Mn,minimalPanel:Dn.exports},props:{panelId:{type:String,default:null},type:{type:String,default:null}},computed:{isMinimal:function(){return\"minimal\"\u003d\u003d\u003dthis.type}}},En,[],!1,null,null,null).exports;var jn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"annotate-image-wrapper\",t.addClass]},[n(\"img\",{ref:\"pic\",staticClass:\"annotate-image\",attrs:{src:t.src,alt:t.alt,width:t.computedWidth},on:{\"~load\":function(e){return t.getWidth.apply(null,arguments)}}}),t._v(\" \"),n(\"div\",{staticStyle:{top:\"0\",left:\"0\",height:\"0\"}},[t._t(\"default\")],2)])};jn._withStripped\u003d!0;const In\u003dqe({props:{src:{type:String,default:null},alt:{type:String,default:null},height:{type:String,default:\"\"},width:{type:String,default:\"\"},addClass:{type:String,default:\"\"}},computed:{hasWidth:function(){return\"\"!\u003d\u003dthis.width},hasHeight:function(){return\"\"!\u003d\u003dthis.height},computedWidth:function(){return this.hasWidth?this.width:this.widthFromHeight}},data:function(){return{widthFromHeight:\"\"}},methods:{getWidth:function(){if(!this.hasWidth\u0026\u0026this.hasHeight){var t\u003dthis.$refs.pic,e\u003dt.naturalHeight,n\u003dt.naturalWidth/e;this.widthFromHeight\u003dMath.round(je(this.height)*n)}}},provide:function(){return{width:this.width,height:this.height,src:this.src}}},jn,[],!1,null,null,null).exports;var qn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[t.hasBottomText\u0026\u0026t.hasLabel?n(\"div\",{staticClass:\"legend-wrapper\"},[n(\"div\",{staticClass:\"text-header\"},[t._v(\"\\n \"+t._s(t.computedBottomHeader)+\"\\n \")]),t._v(\" \"),t.hasContent?n(\"div\",[t._t(\"content\")],2):t._e()]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"annotate-point\"},[t.isMounted?n(\"div\",{staticClass:\"popover-annotation\"},[n(\"div\",{style:t.pointPosition},[t.isMounted?n(\"v-popover\",{attrs:{placement:t.placement,delay:0,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,distance:t.computeDistance,disabled:!t.hasPopover,skidding:t.computeSkidding,\"arrow-padding\":t.computeArrowPadding,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[t.hasContent||t.hasHeader?n(\"div\",{staticClass:\"popover-container\"},[t.hasHeader?n(\"h3\",{staticClass:\"popover-header\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),t.hasContent?n(\"div\",{staticClass:\"popover-body\"},[t._t(\"content\")],2):t._e()]):t._e()]},proxy:!0}],null,!0)},[n(\"div\",{staticClass:\"hover-wrapper\"},[t._t(\"default\",(function(){return[n(\"button\",{staticClass:\"hover-point\",style:t.pointStyle})]})),t._v(\" \"),n(\"div\",{staticClass:\"hover-label\",style:t.labelStyle},[t._t(\"label\")],2)],2)]):t._e()],1)]):t._e()])])};qn._withStripped\u003d!0;const Wn\u003dqe({props:{content:{type:String,default:\"\"},header:{type:String,default:\"\"},placement:{type:String,default:\"top\"},x:{type:String,default:null},y:{type:String,default:null},color:{type:String,default:\"green\"},textColor:{type:String,default:\"black\"},fontSize:{type:String,default:\"14\"},opacity:{type:String,default:\"0.3\"},size:{type:String,default:\"40\"},label:{type:String,default:\"\"},legend:{type:String,default:\"popover\"},trigger:{type:String,default:\"click\"}},data:function(){return{targetEl:{},isMounted:!1,width:this.width,height:this.height,src:this.src}},inject:[\"width\",\"height\",\"src\"],computed:{pointPosition:function(){var t\u003dthis;this.computeImage((function(){t.width\u003dt.parentEl.offsetWidth,t.height\u003dt.parentEl.offsetHeight}));var e\u003d100*(this.toDecimal(this.x)-this.size/2/this.width),n\u003d100*(this.toDecimal(this.y)-this.size/2/this.height);return{left:\"\".concat(e,\"%\"),top:\"\".concat(n,\"%\"),position:\"absolute\",pointerEvents:\"all\"}},pointStyle:function(){var t\u003dthis.hasPopover?\"pointer\":\"default\";return{backgroundColor:this.color,opacity:this.opacity,width:\"\".concat(this.size,\"px\"),height:\"\".concat(this.size,\"px\"),cursor:t}},labelStyle:function(){return{fontSize:\"\".concat(Math.min(this.fontSize,this.size),\"px\"),color:this.textColor}},triggers:function(){return this.trigger.split(\" \")},computeDistance:function(){return\"top\"\u003d\u003d\u003dthis.placement?je(this.size*(2/3)):je(this.size/10)},computeSkidding:function(){return\"left\"\u003d\u003d\u003dthis.placement||\"right\"\u003d\u003d\u003dthis.placement?-je(this.size/4):0},computeArrowPadding:function(){return\"left\"\u003d\u003d\u003dthis.placement||\"right\"\u003d\u003d\u003dthis.placement?je(this.size/2):0},hasHeader:function(){return!!this.$scopedSlots.header},hasContent:function(){return!!this.$scopedSlots.content},hasWidth:function(){return\"\"!\u003d\u003dthis.width},hasHeight:function(){return\"\"!\u003d\u003dthis.height},hasLabel:function(){return!!this.$scopedSlots.label},hasBottomText:function(){return\"bottom\"\u003d\u003d\u003dthis.legend||\"both\"\u003d\u003d\u003dthis.legend},hasPopover:function(){return\"popover\"\u003d\u003d\u003dthis.legend||\"both\"\u003d\u003d\u003dthis.legend},computedBottomHeader:function(){return\"\"!\u003d\u003dthis.label\u0026\u0026\"\"\u003d\u003d\u003dthis.header?this.label:\"\"\u003d\u003d\u003dthis.label\u0026\u0026\"\"!\u003d\u003dthis.header?this.header:\"\".concat(this.label,\": \").concat(this.header)}},methods:{computeImage:function(t){var e\u003dnew Image;e.onload\u003dfunction(){t()},e.src\u003dthis.src},toDecimal:function(t){return parseFloat(t)/100}},mounted:function(){this.targetEl\u003dthis.$el,this.isMounted\u003d!0,this.parentEl\u003dthis.$el.parentElement.parentElement.querySelector(\".annotate-image\")}},qn,[],!1,null,null,null).exports;var Fn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:[\"image-wrapper\",t.addClass]},[n(\"img\",{ref:\"pic\",staticClass:\"img-fluid rounded\",attrs:{src:t.src,alt:t.alt,width:t.computedWidth},on:{\"~load\":function(e){return t.computeWidth.apply(null,arguments)}}}),t._v(\" \"),n(\"span\",{staticClass:\"image-caption\"},[t._t(\"default\")],2)])};Fn._withStripped\u003d!0;const Vn\u003dqe({props:{src:{type:String,default:null},alt:{type:String,default:null},height:{type:String,default:\"\"},width:{type:String,default:\"\"},addClass:{type:String,default:\"\"}},computed:{hasWidth:function(){return\"\"!\u003d\u003dthis.width},hasHeight:function(){return\"\"!\u003d\u003dthis.height},computedWidth:function(){return this.hasWidth?this.width:this.widthFromHeight}},data:function(){return{widthFromHeight:\"\"}},methods:{computeWidth:function(){if(!this.hasWidth\u0026\u0026this.hasHeight){var t\u003dthis.$refs.pic,e\u003dt.naturalHeight,n\u003dt.naturalWidth/e;this.widthFromHeight\u003dMath.round(je(this.height)*n).toString()}}}},Fn,[],!1,null,null,null).exports;var Un\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"quiz-container\",t.addClass]},[n(\"transition\",{attrs:{name:\"intro-outro-card\"},on:{\"after-leave\":t.showFirstQuestion}},[3\u003d\u003d\u003dt.state?n(\"div\",{staticClass:\"card intro-outro-card\"},[n(\"div\",{staticClass:\"card-body\"},[t._t(\"intro\",(function(){return[n(\"h4\",[t._v(\"\\n Click start to begin\\n \")])]})),t._v(\" \"),n(\"h5\",[t._v(t._s(t.questions.length)+\" questions\")]),t._v(\" \"),n(\"hr\"),t._v(\" \"),n(\"button\",{staticClass:\"btn btn-primary d-inline-block\",attrs:{type:\"button\"},on:{click:t.begin}},[t._v(\"\\n Start\\n \")])],2)]):t._e()]),t._v(\" \"),n(\"transition\",{attrs:{name:\"intro-outro-card\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:4\u003d\u003d\u003dt.state,expression:\"state \u003d\u003d\u003d 4\"}],staticClass:\"progress intro-outro-card\",staticStyle:{height:\"1px\"}},[n(\"div\",{staticClass:\"progress-bar progress-bar-z\",style:{width:t.currentQuestion/t.questions.length*100+\"%\"},attrs:{role:\"progressbar\",\"aria-valuemin\":\"0\",\"aria-valuemax\":t.questions.length,\"aria-valuenow\":t.currentQuestion}})])]),t._v(\" \"),t._t(\"default\"),t._v(\" \"),n(\"transition\",{attrs:{name:\"intro-outro-card\"},on:{\"after-enter\":t.setScoreCircleStyles,\"after-leave\":t.showFirstQuestion}},[5\u003d\u003d\u003dt.state?n(\"div\",{staticClass:\"card intro-outro-card\"},[n(\"div\",{staticClass:\"card-body\"},[n(\"h4\",{staticClass:\"mb-3\"},[t._v(\"\\n \"+t._s(t.scoreText)+\"\\n \")]),t._v(\" \"),n(\"svg\",{attrs:{viewBox:\"0 0 100 100\",width:\"120px\",height:\"120px\"}},[n(\"circle\",{staticClass:\"score-background-circle\",attrs:{cx:\"50\",cy:\"50\",r:\"42\"}}),t._v(\" \"),n(\"circle\",{ref:\"score\",staticClass:\"score-circle\",attrs:{cx:\"50\",cy:\"50\",r:\"42\",transform:\"rotate(-90, 50, 50)\",\"stroke-dashoffset\":\"264\"}}),t._v(\" \"),n(\"text\",{staticClass:\"score\",attrs:{x:\"22\",y:\"57\",textLength:\"56\"}},[t._v(t._s(t.score)+\" / \"+t._s(t.questions.length))])]),t._v(\" \"),n(\"hr\"),t._v(\" \"),n(\"button\",{staticClass:\"btn btn-outline-primary\",attrs:{type:\"button\"},on:{click:t.begin}},[t._v(\"\\n Retry\\n \")])])]):t._e()])],2)};Un._withStripped\u003d!0;const Qn\u003dqe({name:\"Quiz\",props:{addClass:{type:String,default:null}},data:function(){return{currentQuestion:0,questions:[],score:0,state:3}},provide:function(){return{questions:this.questions,gotoNextQuestion:this.gotoNextQuestion,showNextQuestion:this.showNextQuestion}},computed:{scoreText:function(){return this.score/this.questions.length\u003e.5?\"Well done!\":\"Try again?\"}},methods:{gotoNextQuestion:function(){this.questions[this.currentQuestion-1].hide(),this.currentQuestion+\u003d1},showNextQuestion:function(){this.currentQuestion\u003c\u003dthis.questions.length?this.questions[this.currentQuestion-1].show():this.complete()},begin:function(){this.currentQuestion\u003d1,this.score\u003d0,this.state\u003d4},showFirstQuestion:function(){this.questions.length\u0026\u0026this.questions[0].show()},reset:function(){this.questions.forEach((function(t){return t.reset()}))},complete:function(){this.score\u003dthis.questions.filter((function(t){return 2\u003d\u003d\u003dt.qState.state})).length,this.state\u003d5,this.reset()},setScoreCircleStyles:function(){var t\u003dthis.score/this.questions.length;this.$refs.score.style.strokeDashoffset\u003d264*(1-t),this.$refs.score.style.stroke\u003d\"#51c2f8\"}}},Un,[],!1,null,\"7a8f322c\",null).exports;var Xn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"transition\",{attrs:{name:t.questions?\"question\":null},on:{\"after-leave\":t.showNextQuestion}},[t.active?n(\"div\",{class:[\"card\",\"question\",t.shakeClass,t.addClass]},[t.$scopedSlots.header?n(\"div\",{staticClass:\"card-header alert-light border-bottom border-light text-dark\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"card-body\"},[t._t(\"default\"),t._v(\" \"),t.isTextQuestion()?n(\"div\",{staticClass:\"mb-2\"},[n(\"textarea\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.textareaText,expression:\"textareaText\"}],staticClass:\"form-control\",attrs:{disabled:t.qState.answered},domProps:{value:t.textareaText},on:{input:function(e){e.target.composing||(t.textareaText\u003de.target.value)}}}),t._v(\" \"),t.qState.answered?n(\"div\",[n(\"hr\"),t._v(\" \"),t.keywordsSplitTrimmed().length?n(\"strong\",[t._v(\"\\n Keywords: \\n \"),t._l(t.keywordsSplitTrimmed(),(function(e){return n(\"span\",{key:e,staticClass:\"badge rounded-pill bg-light text-dark fw-normal\"},[t._v(\"\\n \"+t._s(e)+\"\\n \")])}))],2):t._e()]):t._e()]):t._e(),t._v(\" \"),t.qState.answered\u0026\u0026t.isTextQuestion()?n(\"div\",{staticClass:\"answer\"},[t._t(\"answer\")],2):t._e(),t._v(\" \"),t.showHint?n(\"box\",{staticClass:\"mb-0 mt-3\",attrs:{type:\"tip\"}},[t._t(\"hint\")],2):t._e()],2),t._v(\" \"),t.showCardFooter?n(\"div\",{staticClass:\"card-footer alert-light border-top border-light text-dark\"},[1\u003d\u003d\u003dt.qState.state?n(\"i\",{staticClass:\"fa fa-times text-danger border-danger result-icon\"}):2\u003d\u003d\u003dt.qState.state?n(\"i\",{staticClass:\"fa fa-check text-success border-success result-icon\"}):t._e(),t._v(\" \"),n(\"transition-group\",{staticClass:\"float-end\",attrs:{name:\"q-btn\",tag:\"div\"}},[t.$scopedSlots.hint\u0026\u0026!t.showHint?n(\"button\",{key:\"hint\",staticClass:\"btn btn-success q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){t.showHint\u003d!0}}},[t._v(\"\\n Hint\\n \")]):t._e(),t._v(\" \"),0!\u003d\u003dt.qState.state||t.isTextWithoutKeywords()\u0026\u0026!t.$scopedSlots.answer?t._e():n(\"button\",{key:\"check\",staticClass:\"btn btn-primary q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){return t.checkAnswer(!!t.questions)}}},[t._v(\"\\n Check\\n \")]),t._v(\" \"),0!\u003d\u003dt.qState.state\u0026\u0026t.questions?n(\"button\",{key:\"active\",staticClass:\"btn btn-primary q-btn ms-1\",attrs:{type:\"button\"},on:{\"~click\":function(e){return t.gotoNextQuestion.apply(null,arguments)}}},[t._v(\"\\n Next\\n \")]):t._e(),t._v(\" \"),t.retryState?n(\"button\",{key:\"show\",staticClass:\"btn btn-info q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){return t.checkAnswer(!0)}}},[t._v(\"\\n Show\\n \")]):t._e(),t._v(\" \"),t.retryState?n(\"button\",{key:\"retry\",staticClass:\"btn btn-primary q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){return t.checkAnswer(!1)}}},[t._v(\"\\n Retry\\n \")]):t._e()])],1):t._e()]):t._e()])};Xn._withStripped\u003d!0;function Yn(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function Kn(t){for(var e\u003d1;e\u003carguments.length;e++){var i\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?Yn(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):Yn(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}const Gn\u003dqe({name:\"Question\",mixins:[{data:function(){return{active:!0}},inject:{questions:{default:void 0},gotoNextQuestion:{default:void 0},showNextQuestion:{default:\"\"}},methods:{show:function(){this.active\u003d!0},hide:function(){this.active\u003d!1},reset:function(){this.active\u003d!1,this.qState.answered\u003d!1,this.qState.state\u003d0,this.showHint\u003d!1,this.textareaText\u0026\u0026(this.textareaText\u003d\"\"),this.answers\u0026\u0026this.answers.splice(0,this.answers.length)}},created:function(){this.questions\u0026\u0026(this.active\u003d!1,this.questions.push(this))}}],props:{type:{type:String,default:\"\"},addClass:{type:String,default:null},keywords:{type:String,default:\"\"},threshold:{type:[String,Number],default:1},noIntermediateResult:{type:Boolean}},computed:{retryState:function(){return 1\u003d\u003d\u003dthis.qState.state\u0026\u0026!this.qState.answered\u0026\u0026!this.questions},showCardFooter:function(){var t\u003d!this.$scopedSlots.hint||this.showHint;return!(this.isTextWithoutKeywords()\u0026\u0026t\u0026\u0026this.qState.answered\u0026\u0026!this.questions)}},data:function(){var t\u003d{qState:{state:0,answered:!1},showHint:!1,shakeClass:null};return this.isMcqOrCheckboxQuestion()||this.isBlanksQuestion()?Kn({answers:[]},t):this.isTextQuestion()?Kn({textareaText:\"\"},t):t},provide:function(){return this.isMcqOrCheckboxQuestion()?{answers:this.answers,qOptionType:this.type,qState:this.qState}:this.isBlanksQuestion()?{answers:this.answers,qOptionType:this.type,qState:this.qState,noIntermediateResult:this.noIntermediateResult}:void 0},methods:{keywordsSplitTrimmed:function(){return this.keywords.split(\",\").filter((function(t){return\"\"!\u003d\u003dt.trim()}))},isMcqOrCheckboxQuestion:function(){return\"mcq\"\u003d\u003d\u003dthis.type||\"checkbox\"\u003d\u003d\u003dthis.type},isBlanksQuestion:function(){return\"blanks\"\u003d\u003d\u003dthis.type},isTextQuestion:function(){return\"text\"\u003d\u003d\u003dthis.type},isTextWithoutKeywords:function(){return this.isTextQuestion()\u0026\u0026!this.keywords},shakeCard:function(){var t\u003dthis;this.shakeClass\u003d\"shake\",setTimeout((function(){t.shakeClass\u003dnull}),800)},markAsCorrect:function(){this.qState.state\u003d2,this.qState.answered\u003d!0},markAsWrong:function(t){this.qState.state\u003d1,t?this.qState.answered\u003d!0:this.shakeCard()},checkMcqAnswer:function(t){var e\u003dthis.answers.find((function(t){return t.selected}));e?e.$props.correct?this.markAsCorrect():this.markAsWrong(t):this.shakeCard()},checkCheckboxAnswer:function(t){this.answers.filter((function(t){return t.answeredCorrectly})).length\u003d\u003d\u003dthis.answers.length?this.markAsCorrect():this.markAsWrong(t)},checkBlanksAnswer:function(t){for(var e\u003d0,n\u003d0;n\u003cthis.answers.length;n+\u003d1)this.answers[n].checkAnswer(),this.answers[n].ansIsCorrect\u0026\u0026(e+\u003d1);e/this.answers.length\u003e\u003dthis.threshold?this.markAsCorrect():this.markAsWrong(t)},checkTextAnswer:function(t){for(var e\u003dthis.textareaText.toLowerCase(),n\u003dthis.keywordsSplitTrimmed(),i\u003d0,o\u003d0;o\u003cn.length;o+\u003d1)e.includes(n[o].toLowerCase())\u0026\u0026(i+\u003d1);i/n.length\u003e\u003dthis.threshold?this.markAsCorrect():this.markAsWrong(t)},checkAnswer:function(t){\"mcq\"\u003d\u003d\u003dthis.type?this.checkMcqAnswer(t):\"checkbox\"\u003d\u003d\u003dthis.type?this.checkCheckboxAnswer(t):\"blanks\"\u003d\u003d\u003dthis.type?this.checkBlanksAnswer(t):this.isTextQuestion()?this.checkTextAnswer(t):this.markAsCorrect()}}},Xn,[],!1,null,\"ae369d74\",null).exports;var Zn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return\"mcq\"\u003d\u003d\u003dt.qOptionType?n(\"div\",{class:[\"form-control\",t.hintClass],on:{click:t.toggleRadioOn,mouseover:function(e){t.hover\u003d!0},mouseleave:function(e){t.hover\u003d!1}}},[n(\"div\",{class:[\"row\",{disabled:t.qState.answered}]},[n(\"div\",{staticClass:\"col-auto p-0\"},[n(\"svg\",{staticClass:\"radio-svg\",attrs:{viewBox:\"0 0 100 100\"}},[n(\"circle\",{attrs:{cx:\"50\",cy:\"50\",r:\"47\",fill:\"none\",stroke:\"black\",\"stroke-width\":\"4\"}}),t._v(\" \"),n(\"circle\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.selected,expression:\"selected\"}],attrs:{cx:\"50\",cy:\"50\",r:\"25\",fill:\"dodgerblue\"}})])]),t._v(\" \"),n(\"div\",{staticClass:\"col content\"},[t._t(\"default\")],2),t._v(\" \"),n(\"div\",{staticClass:\"col-1\"},[t.qState.answered?n(\"div\",[t.correct?n(\"i\",{staticClass:\"fa fa-check text-success\",class:{\"align-bottom\":t.$scopedSlots.reason}}):n(\"i\",{staticClass:\"fa fa-times text-danger\",class:{\"align-bottom\":t.$scopedSlots.reason}})]):t._e()])]),t._v(\" \"),t.qState.answered\u0026\u0026t.$scopedSlots.reason?n(\"div\",[n(\"hr\"),t._v(\" \"),n(\"div\",{staticClass:\"reason\"},[t._t(\"reason\")],2)]):t._e()]):\"checkbox\"\u003d\u003d\u003dt.qOptionType?n(\"div\",{class:[\"form-control\",t.hintClass],on:{click:t.toggleCheckbox,mouseover:function(e){t.hover\u003d!0},mouseleave:function(e){t.hover\u003d!1}}},[n(\"label\",{class:[\"row\",\"checkbox-label\",\"m-0\",{disabled:t.qState.answered}],on:{click:function(t){t.stopPropagation()}}},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.selected,expression:\"selected\"}],staticClass:\"checkbox\",attrs:{disabled:t.qState.answered,type:\"checkbox\",onclick:\"event.stopPropagation()\"},domProps:{checked:Array.isArray(t.selected)?t._i(t.selected,null)\u003e-1:t.selected},on:{change:function(e){var n\u003dt.selected,i\u003de.target,o\u003d!!i.checked;if(Array.isArray(n)){var r\u003dt._i(n,null);i.checked?r\u003c0\u0026\u0026(t.selected\u003dn.concat([null])):r\u003e-1\u0026\u0026(t.selected\u003dn.slice(0,r).concat(n.slice(r+1)))}else t.selected\u003do}}}),t._v(\" \"),n(\"div\",{staticClass:\"col content\"},[t._t(\"default\")],2),t._v(\" \"),n(\"div\",{staticClass:\"col-auto\"},[t.qState.answered?n(\"div\",[t.correct?n(\"i\",{staticClass:\"fa fa-check text-success\",class:{\"align-bottom\":t.$scopedSlots.reason}}):n(\"i\",{staticClass:\"fa fa-times text-danger\",class:{\"align-bottom\":t.$scopedSlots.reason}})]):t._e()])]),t._v(\" \"),t.qState.answered\u0026\u0026t.$scopedSlots.reason?n(\"div\",[n(\"hr\"),t._v(\" \"),n(\"div\",{staticClass:\"reason\"},[t._t(\"reason\")],2)]):t._e()]):\"blanks\"\u003d\u003d\u003dt.qOptionType?n(\"div\",{class:[\"form-control\",\"blanks-form-control\",t.hintClass]},[n(\"label\",{class:[\"row\",\"m-0\",{disabled:t.qState.answered}],on:{click:function(t){t.stopPropagation()}}},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.inputText,expression:\"inputText\"}],staticClass:\"form-control\",attrs:{disabled:t.qState.answered},domProps:{value:t.inputText},on:{input:function(e){e.target.composing||(t.inputText\u003de.target.value)}}}),t._v(\" \"),n(\"div\",{staticClass:\"col-auto\"},[t.qState.answered?n(\"div\",[t.ansIsCorrect?n(\"i\",{staticClass:\"fa fa-check text-success\"}):n(\"i\",{staticClass:\"fa fa-times text-danger blanks-cross\"})]):t._e(),t._v(\" \"),t.isIntermediateResult()?n(\"div\",[t.ansIsCorrect?n(\"i\",{staticClass:\"fa fa-check text-success\"}):n(\"i\",{staticClass:\"fa fa-times text-danger blanks-cross\"})]):t._e()]),t._v(\" \"),t.qState.answered?n(\"div\",{staticClass:\"col-auto blanks-keywords\"},[t.keywordsSplitTrimmed().length?n(\"strong\",[t._v(\"\\n Keywords: \\n \"),t._l(t.keywordsSplitTrimmed(),(function(e){return n(\"span\",{key:e,staticClass:\"badge rounded-pill bg-light text-dark fw-normal\"},[t._v(\"\\n \"+t._s(e)+\"\\n \")])}))],2):n(\"strong\",[t._v(\"No answer checking keywords provided\")])]):t._e()]),t._v(\" \"),t.qState.answered\u0026\u0026t.$scopedSlots.reason?n(\"div\",[n(\"div\",{staticClass:\"reason blanks-reason\"},[t._t(\"reason\")],2)]):t._e()]):t._e()};Zn._withStripped\u003d!0;const Jn\u003dqe({name:\"McqOption\",props:{correct:{type:Boolean,default:!1},keywords:{type:String,default:\"\"}},data:function(){return{selected:!1,hover:!1,inputText:\"\",ansIsCorrect:!1}},inject:{answers:{default:void 0},qOptionType:{default:void 0},qState:{default:void 0},noIntermediateResult:{default:void 0}},computed:{hintClass:function(){return this.qState.answered?this.correct?\"success\":\"danger\":this.selected||this.hover?\"alert-light text-dark border border-secondary\":\"\"},answeredCorrectly:function(){return this.correct\u0026\u0026this.selected||!this.correct\u0026\u0026!this.selected}},methods:{checkAnswer:function(){var t\u003d!1,e\u003dthis.inputText.toLowerCase().trim(),n\u003dthis.keywords.toLowerCase().split(\",\").filter((function(t){return\"\"!\u003d\u003dt.trim()}));this.keywords.length||(t\u003d!0);for(var i\u003d0;i\u003cn.length;i+\u003d1)if(e\u003d\u003d\u003dn[i].trim()){t\u003d!0;break}this.ansIsCorrect\u003dt},isIntermediateResult:function(){return!this.noIntermediateResult\u0026\u00261\u003d\u003d\u003dthis.qState.state\u0026\u0026!this.qState.answered},isBlanksQuestion:function(){return\"blanks\"\u003d\u003d\u003dthis.type},keywordsSplitTrimmed:function(){return this.keywords.split(\",\").filter((function(t){return\"\"!\u003d\u003dt.trim()}))},toggleRadioOn:function(){this.qState.answered||this.selected||(this.answers.forEach((function(t){t.selected\u003d!1})),this.selected\u003d!0)},toggleCheckbox:function(){this.qState.answered||(this.selected\u003d!this.selected)}},created:function(){this.answers.push(this)}},Zn,[],!1,null,\"d09dfee8\",null).exports;var ti\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{staticClass:\"dropdown\",staticStyle:{position:\"relative\"}},[t.algolia?n(\"div\",{attrs:{id:\"algolia-search-input\"}}):[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.value,expression:\"value\"}],staticClass:\"form-control\",attrs:{\"data-bs-toggle\":\"dropdown\",type:\"text\",placeholder:t.placeholder,autocomplete:\"off\"},domProps:{value:t.value},on:{input:[function(e){e.target.composing||(t.value\u003de.target.value)},t.update],keyup:[function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"])?null:t.up.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"])?null:t.down.apply(null,arguments)}],keydown:[function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.hit.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])?null:t.reset.apply(null,arguments)}],blur:function(e){t.showDropdown\u003d!1}}}),t._v(\" \"),n(\"div\",{staticClass:\"form-control placeholder-div-hidden\"},[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])],t._v(\" \"),n(\"ul\",{ref:\"dropdown\",class:t.dropdownMenuClasses},t._l(t.items,(function(e,i){return n(\"li\",{key:i,class:{\"table-active\":t.isActive(i)}},[n(\"a\",{staticClass:\"dropdown-item\",on:{mousedown:function(e){return e.preventDefault(),t.hit.apply(null,arguments)},mousemove:function(e){return t.setActive(i)}}},[n(\"searchbar-page-item\",{attrs:{item:e,value:t.value}})],1)])})),0)],2)};function ei(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n\u003dnull\u003d\u003dt?null:\"undefined\"!\u003dtypeof Symbol\u0026\u0026t[Symbol.iterator]||t[\"@@iterator\"];if(null!\u003dn){var i,o,r,s,a\u003d[],l\u003d!0,c\u003d!1;try{if(r\u003d(n\u003dn.call(t)).next,0\u003d\u003d\u003de){if(Object(n)!\u003d\u003dn)return;l\u003d!1}else for(;!(l\u003d(i\u003dr.call(n)).done)\u0026\u0026(a.push(i.value),a.length!\u003d\u003de);l\u003d!0);}catch(t){c\u003d!0,o\u003dt}finally{try{if(!l\u0026\u0026null!\u003dn.return\u0026\u0026(s\u003dn.return(),Object(s)!\u003d\u003ds))return}finally{if(c)throw o}}return a}}(t,e)||bn(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}ti._withStripped\u003d!0;var ni\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.item.heading?n(\"div\",{staticClass:\"heading\"},[n(\"i\",{staticClass:\"fa fa-hashtag\"}),t._v(\" \"),n(\"div\",{staticClass:\"heading-text\"},[n(\"span\",{domProps:{innerHTML:t._s(t.highlight(t.item.heading.text,t.value))}}),t._v(\" \"),t._l(t.item.keywords,(function(e,i){return n(\"div\",{key:i,staticClass:\"keyword-text\",domProps:{innerHTML:t._s(t.highlight(e,t.value))}})}))],2)]):n(\"div\",[n(\"span\",{staticClass:\"page-title\",domProps:{innerHTML:t._s(t.highlight(t.item.title,t.value))}}),t._v(\" \"),t.item.keywords?n(\"br\"):t._e(),t._v(\" \"),t.item.keywords?n(\"small\",{domProps:{innerHTML:t._s(t.highlight(t.item.keywords,t.value))}}):t._e(),t._v(\" \"),n(\"hr\",{staticClass:\"page-headings-separator\"})])};ni._withStripped\u003d!0;const ii\u003dqe({props:{item:{type:Object,default:null},value:{type:String,default:\"\"}},methods:{highlight:function(t,e){for(var n,i\u003d(n\u003dfunction(){var n\u003de.split(\" \").filter((function(t){return\"\"!\u003d\u003dt})).map((function(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$\u0026\")})).map((function(t){return new RegExp(\"(\".concat(t,\")\"),\"gi\")})),i\u003d[];return n.forEach((function(e){for(var n\u003de.exec(t);null!\u003d\u003dn\u0026\u0026n.index!\u003d\u003de.lastIndex;)i.push({start:n.index,end:e.lastIndex}),n\u003de.exec(t)})),i}()).length\u003c\u003d1?n:n.sort((function(t,e){return t.start-e.start})).reduce((function(t,e){var n\u003dt[t.length-1];return!n||n.end\u003ce.start?t.push(e):n.end\u003ce.end\u0026\u0026(n.end\u003de.end),t}),[]),o\u003dt,r\u003di.length-1;r\u003e\u003d0;r-\u003d1)o\u003d\"\".concat(o.slice(0,i[r].start),\"\u003cmark\u003e\")+\"\".concat(o.slice(i[r].start,i[r].end),\"\u003c/mark\u003e\")+\"\".concat(o.slice(i[r].end));return o}}},ni,[],!1,null,\"98afe086\",null).exports;const oi\u003dqe({created:function(){this.items\u003dthis.primitiveData},props:{data:{type:Array,default:function(){return[]}},limit:{type:Number,default:8},async:{type:String,default:\"\"},keyProp:{type:String,default:null},onHit:{type:Function,default:function(t){this.reset(),this.value\u003dt}},placeholder:{type:String,default:\"Search\"},delay:{type:Number,default:200},menuAlignRight:{type:Boolean,default:!1},algolia:{type:Boolean,default:!1}},data:function(){return{value:\"\",showDropdown:!1,noResults:!0,current:0,items:[]}},computed:{primitiveData:function(){function t(t,e){var n\u003dt.join(\" \");return e.reduce((function(t,e){var i\u003dn.match(e);return t+(i?i.length:0)}),0)}if(this.value.length\u003c2||!this.data)return[];var e\u003d[],n\u003dthis.value.split(\" \").filter((function(t){return\"\"!\u003d\u003dt})).map((function(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$\u0026\")})).map((function(t){return new RegExp(t,\"ig\")}));return this.data.forEach((function(i){var o\u003di.headings,r\u003di.src,s\u003di.title,a\u003di.headingKeywords,l\u003di.frontmatterKeywords||\"\",c\u003ds||r.substring(0,r.lastIndexOf(\".\")),u\u003dt([c,l].concat(_n(Object.values(o)),_n(Object.values(a))),n);if(u\u003e0){var d\u003d[];Object.entries(o).forEach((function(e,i){var o\u003dei(e,2),s\u003do[0],u\u003do[1],h\u003dn.some((function(t){return t.test(u)})),p\u003da[s]\u0026\u0026a[s].some((function(t){return n.some((function(e){return e.test(t)}))}));if(h||p){var f\u003dt([u].concat(_n(a[s]||[])),n);(0!\u003d\u003di||u!\u003d\u003dc||l.length)\u0026\u0026d.push({heading:{id:s,text:u},keywords:a[s],src:r,totalMatches:f})}})),d.sort((function(t,e){return e.totalMatches-t.totalMatches})),e.push({headings:d,keywords:l,src:r,title:c,totalMatches:u})}})),e.sort((function(t,e){return e.totalMatches-t.totalMatches})).flatMap((function(t){return t.headings?[t].concat(_n(t.headings)):t}))},dropdownMenuClasses:function(){return[\"dropdown-menu\",\"search-dropdown-menu\",{show:this.showDropdown},{\"d-none\":!this.showDropdown},{\"dropdown-menu-end\":this.menuAlignRight}]}},methods:{update:function(){return this.value?(this.data\u0026\u0026(this.items\u003dthis.primitiveData,this.showDropdown\u003dthis.items.length\u003e0),this.async\u0026\u0026this.query(),!0):(this.reset(),!1)},query:function(t,e){var n,i\u003darguments.length\u003e2\u0026\u0026void 0!\u003d\u003darguments[2]?arguments[2]:100;function o(t){return/^[0-9]+$/.test(t)?Number(t)||1:null}return function(){for(var r\u003dthis,s\u003darguments.length,a\u003dnew Array(s),l\u003d0;l\u003cs;l++)a[l]\u003darguments[l];n\u0026\u0026clearTimeout(n),n\u003dsetTimeout((function(){t.apply(r,a)}),o(e)||o(this[e])||i)}}((function(){var t\u003dthis;(function(t){var e\u003dnew window.XMLHttpRequest,n\u003d{},i\u003d{then:function(t,e){return i.done(t).fail(e)},catch:function(t){return i.fail(t)},always:function(t){return i.done(t).fail(t)}};return[\"done\",\"fail\"].forEach((function(t){n[t]\u003d[],i[t]\u003dfunction(e){return e instanceof Function\u0026\u0026n[t].push(e),i}})),i.done(JSON.parse),e.onreadystatechange\u003dfunction(){if(4\u003d\u003d\u003de.readyState){var t\u003d{status:e.status};if(200\u003d\u003d\u003de.status)try{var i\u003de.responseText;for(var o in n.done){var r\u003dn.done[o](i);void 0!\u003d\u003dr\u0026\u0026(i\u003dr)}}catch(t){n.fail.forEach((function(e){return e(t)}))}else n.fail.forEach((function(e){return e(t)}))}},e.open(\"GET\",t),e.setRequestHeader(\"Accept\",\"application/json\"),e.send(),i})(this.async+this.value).then((function(e){t.items\u003d(t.keyProp?e[t.keyProp]:e).slice(0,t.limit),t.showDropdown\u003dt.items.length}))}),\"delay\",200),reset:function(){this.items\u003d[],this.value\u003d\"\",this.loading\u003d!1,this.showDropdown\u003d!1},setActive:function(t){this.current\u003dt},isActive:function(t){return this.current\u003d\u003d\u003dt},hit:function(t){t.preventDefault(),this.onHit(this.items[this.current],this)},down:function(){this.current\u003cthis.items.length-1\u0026\u0026(this.current+\u003d1,this.scrollListView())},up:function(){this.current\u003e0\u0026\u0026(this.current-\u003d1,this.scrollListView())},scrollListView:function(){var t\u003dthis.$refs.dropdown,e\u003dt.children[this.current],n\u003dt.scrollTop,i\u003dn+t.clientHeight,o\u003de.offsetTop+e.offsetHeight;e.offsetTop\u003cn?t.scrollTop\u003de.offsetTop:o\u003ei\u0026\u0026(t.scrollTop\u003do-t.clientHeight)}},components:{searchbarPageItem:ii}},ti,[],!1,null,\"01e11c9b\",null).exports;var ri\u003dfunction(){var t\u003dthis.$createElement,e\u003dthis._self._c||t;return e(\"div\",{staticClass:\"tab-pane active printable-tab-pane\",class:{\"tab-pane-hide\":!this.show},attrs:{role:\"tabpanel\"}},[e(\"div\",{staticClass:\"nav-tabs printable-tab-header\"},[e(\"div\",{ref:\"header\",staticClass:\"nav-link active\"},[this._t(\"header\")],2)]),this._v(\" \"),this._t(\"default\"),this._v(\" \"),e(\"hr\")],2)};ri._withStripped\u003d!0;const si\u003dqe({props:{header:{type:String,default:\"\"},disabled:{type:[Boolean,String],default:!1}},computed:{headerRendered:function(){return this.$refs.header.innerHTML},active:function(){return this._tabset.show\u003d\u003d\u003dthis},index:function(){return this._tabset.tabs.indexOf(this)},show:function(){return this._tabset\u0026\u0026this._tabset.show\u003d\u003d\u003dthis},disabledBool:function(){return Re(this.disabled)}},created:function(){this._ingroup\u003dthis.$parent\u0026\u0026this.$parent._tabgroup;for(var t\u003dthis;t\u0026\u0026!0!\u003d\u003dt._tabset\u0026\u0026t.$parent;)t\u003dt.$parent;t._tabset?(t.tabs.push(this),this._ingroup?~t.headers.indexOf(this.$parent)||t.headers.push(this.$parent):t.headers.push(this),this._tabset\u003dt):this._tabset\u003d{},this._ingroup\u0026\u0026this.$parent.tabs.push(this)},beforeDestroy:function(){if(this._tabset.activeNumber\u003d\u003d\u003dthis.index\u0026\u0026(this._tabset.activeNumber\u003d0),this._ingroup){var t\u003dthis.$parent.tabs.indexOf(this);this.$parent.tabs.splice(t,1)}this._tabset.tabs.splice(this.index,1)}},ri,[],!1,null,\"661c1b61\",null).exports;var ai\u003dfunction(){var t\u003dthis.$createElement,e\u003dthis._self._c||t;return e(\"div\",{staticClass:\"printable-tab-group\"},[e(\"div\",{ref:\"header\",staticClass:\"printable-tab-group-header\"},[this._t(\"header\")],2),this._v(\" \"),this._t(\"default\")],2)};ai._withStripped\u003d!0;const li\u003dqe({props:{disabled:{type:[Boolean,String],default:!1},header:{type:String,default:\"\"}},data:function(){return{tabs:[],show:!1}},computed:{active:function(){return~this.tabs.indexOf(this._tabset.show)},headerRendered:function(){return this.$refs.header.innerHTML},disabledBool:function(){return De(this.disabled)}},created:function(){this._tabgroup\u003d!0;for(var t\u003dthis.$parent\u0026\u0026!0\u003d\u003d\u003dthis.$parent._tabset?this.$parent:{};t\u0026\u0026!t._tabset\u0026\u0026t.$parent;)t\u003dt.$parent;t._tabset?this._tabset\u003dt:(this._tabset\u003d{},this.show\u003d!0)},methods:{blur:function(){this.show\u003d!1},toggle:function(){this.show\u003d!this.show}}},ai,[],!1,null,\"a785351c\",null).exports;var ci\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[t.addClass,\"printable-tabs\"]},[n(\"ul\",{staticClass:\"nav nav-tabs d-print-none\",class:t.getNavStyleClass,attrs:{role:\"tablist\"}},[t._l(t.headers,(function(e,i){return[e._tabgroup?n(\"dropdown\",{key:i,staticClass:\"nav-item\",class:{active:e.active},attrs:{header:e.headerRendered,disabled:e.disabled}},t._l(e.tabs,(function(e,i){return n(\"li\",{key:i},[n(\"a\",{staticClass:\"nav-link\",class:{disabled:e.disabled},attrs:{href:\"#\"},domProps:{innerHTML:t._s(e.headerRendered)},on:{click:function(n){return n.preventDefault(),t.select(e)}}})])})),0):n(\"li\",{key:i,staticClass:\"nav-item\",on:{click:function(n){return n.preventDefault(),t.select(e)}}},[n(\"a\",{staticClass:\"nav-link\",class:{active:e.active,disabled:e.disabledBool},attrs:{href:\"#\"}},[n(\"span\",{domProps:{innerHTML:t._s(e.headerRendered)}})])])]}))],2),t._v(\" \"),n(\"div\",{ref:\"tab-content\",staticClass:\"tab-content\"},[t._t(\"default\")],2)])};ci._withStripped\u003d!0;const ui\u003dqe({components:{dropdown:gn},props:{navStyle:{type:String,default:\"tabs\"},active:{type:String,default:\"0\"},addClass:{type:String,default:\"\"}},data:function(){return{show:null,headers:[],activeNumber:je(this.active),tabs:[]}},created:function(){this._tabset\u003d!0},computed:{getNavStyleClass:function(){return\"nav-\".concat(this.navStyle)}},watch:{activeNumber:function(t){this.show\u003dthis.tabs[t]}},mounted:function(){this.show\u003dthis.tabs[this.activeNumber]},methods:{select:function(t){t.disabled||(this.activeNumber\u003dt.index)}}},ci,[],!1,null,\"70a68808\",null).exports;var di\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:[\"thumb-wrapper\",{\"thumb-circle\":t.circle},t.addClass],style:[t.getBorder,t.getFontSize,t.getFontColor,t.getBgColor]},[t.hasSrc?n(\"img\",{ref:\"pic\",staticClass:\"thumb-image\",attrs:{src:t.src,width:t.computedWidth,height:t.computedHeight,alt:t.alt},on:{\"~load\":function(e){return t.computeImgSize.apply(null,arguments)}}}):t._e(),t._v(\" \"),t._t(\"default\")],2)};di._withStripped\u003d!0;const hi\u003dqe({props:{circle:{type:Boolean,default:!1},addClass:{type:String,default:\"\"},alt:{type:String,default:\"\"},background:{type:String,default:\"\"},border:{type:String,default:\"\"},fontColor:{type:String,default:\"\"},fontSize:{type:String,default:\"\"},size:{type:String,default:\"\"},src:{type:String,default:null},text:{type:String,default:\"\"}},computed:{getBorder:function(){return\"\"\u003d\u003d\u003dthis.border?{}:{border:this.border}},getFontSize:function(){var t\u003dthis.imageSize/2,e\u003dthis.fontSize;return{\"font-size\":\"\".concat(void 0\u003d\u003d\u003de||\"\"\u003d\u003d\u003de?t:e,\"px\")}},getFontColor:function(){return\"\"\u003d\u003d\u003dthis.fontColor?{}:{color:this.fontColor}},getBgColor:function(){return\"\"\u003d\u003d\u003dthis.background?{}:{background:this.background}},hasSrc:function(){return void 0!\u003d\u003dthis.src\u0026\u0026\"\"!\u003d\u003dthis.src},imageSize:function(){return this.size||100}},data:function(){return{computedWidth:\"\",computedHeight:\"\"}},mounted:function(){var t\u003dthis.$el;t.style.width\u003d\"\".concat(this.imageSize,\"px\"),t.style.height\u003d\"\".concat(this.imageSize,\"px\"),t.style.lineHeight\u003d\"\".concat(this.imageSize,\"px\")},methods:{computeImgSize:function(){var t\u003dthis.$refs.pic,e\u003dt.naturalHeight,n\u003dt.naturalWidth,i\u003dMath.min(e,n),o\u003dthis.imageSize/i;this.computedWidth\u003dn*o,this.computedHeight\u003de*o}}},di,[],!1,null,null,null).exports;var pi\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:\"click\"\u003d\u003d\u003dt.trigger?\"trigger-click\":\"trigger\",attrs:{tabindex:\"0\"},on:t._d({},[t.triggerEventType,function(e){return e.stopPropagation(),t.toggle()}])},[\"popover\"\u003d\u003d\u003dt.popoverOrTooltipType?n(\"v-popover\",{attrs:{\"auto-hide\":!t.isInput,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,placement:t.placement,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[n(\"div\",{staticClass:\"popover-container\"},[n(\"portal-target\",{attrs:{name:\"popover:\"+t.target}})],1)]},proxy:!0}],null,!1,1583262462)},[t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):\"tooltip\"\u003d\u003d\u003dt.popoverOrTooltipType?n(\"v-tooltip\",{attrs:{\"auto-hide\":!t.isInput,placement:t.placement,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[n(\"portal-target\",{attrs:{name:\"tooltip:\"+t.target}})]},proxy:!0}])},[t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):n(\"span\",[t._t(\"default\")],2)],1)};pi._withStripped\u003d!0;var fi\u003di(383);function mi(t){return(mi\u003d\"function\"\u003d\u003dtypeof Symbol\u0026\u0026\"symbol\"\u003d\u003dtypeof Symbol.iterator?function(t){return typeof t}:function(t){return t\u0026\u0026\"function\"\u003d\u003dtypeof Symbol\u0026\u0026t.constructor\u003d\u003d\u003dSymbol\u0026\u0026t!\u003d\u003dSymbol.prototype?\"symbol\":typeof t})(t)}function vi(t,e){for(var n\u003d0;n\u003ce.length;n++){var i\u003de[n];i.enumerable\u003di.enumerable||!1,i.configurable\u003d!0,\"value\"in i\u0026\u0026(i.writable\u003d!0),Object.defineProperty(t,i.key,i)}}function gi(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]\u003dn,t}function yi(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function wi(t){for(var e\u003d1;e\u003carguments.length;e++){var n\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?yi(Object(n),!0).forEach((function(e){gi(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):yi(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function bi(t){return function(t){if(Array.isArray(t))return _i(t)}(t)||function(t){if(\"undefined\"!\u003dtypeof Symbol\u0026\u0026Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(t){if(\"string\"\u003d\u003dtypeof t)return _i(t,e);var n\u003dObject.prototype.toString.call(t).slice(8,-1);return\"Object\"\u003d\u003d\u003dn\u0026\u0026t.constructor\u0026\u0026(n\u003dt.constructor.name),\"Map\"\u003d\u003d\u003dn||\"Set\"\u003d\u003d\u003dn?Array.from(t):\"Arguments\"\u003d\u003d\u003dn||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_i(t,e):void 0}}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function _i(t,e){(null\u003d\u003de||e\u003et.length)\u0026\u0026(e\u003dt.length);for(var n\u003d0,i\u003dnew Array(e);n\u003ce;n++)i[n]\u003dt[n];return i}var Si\u003dfunction(t){return t\u003d\u003ddocument.activeElement},xi\u003dfunction(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.root\u003dnull,this.elements\u003d[],this.onKeyDown\u003dthis.onKeyDown.bind(this),this.enable\u003dthis.enable.bind(this),this.disable\u003dthis.disable.bind(this),this.firstElement\u003dthis.firstElement.bind(this),this.lastElement\u003dthis.lastElement.bind(this)}var e,n;return e\u003dt,(n\u003d[{key:\"lastElement\",value:function(){return this.elements[this.elements.length-1]||null}},{key:\"firstElement\",value:function(){return this.elements[0]||null}},{key:\"onKeyDown\",value:function(t){if(function(t){return\"Tab\"\u003d\u003d\u003dt.key||9\u003d\u003d\u003dt.keyCode}(t)){if(!t.shiftKey)return!document.activeElement||Si(this.lastElement())?(this.firstElement().focus(),void t.preventDefault()):void 0;Si(this.firstElement())\u0026\u0026(this.lastElement().focus(),t.preventDefault())}}},{key:\"enabled\",value:function(){return!!this.root}},{key:\"enable\",value:function(t){t\u0026\u0026(this.root\u003dt,this.elements\u003dfunction(t){return function(t,e){return bi(t.querySelectorAll(\u0027button:not([disabled]), select:not([disabled]), a[href]:not([disabled]), area[href]:not([disabled]), [contentEditable\u003d\"\"]:not([disabled]), [contentEditable\u003d\"true\"]:not([disabled]), [contentEditable\u003d\"TRUE\"]:not([disabled]), textarea:not([disabled]), iframe:not([disabled]), input:not([disabled]), summary:not([disabled]), [tabindex]:not([tabindex\u003d\"-1\"])\u0027)||[])}(t)}(this.root),this.root.addEventListener(\"keydown\",this.onKeyDown))}},{key:\"disable\",value:function(){this.root.removeEventListener(\"keydown\",this.onKeyDown),this.root\u003dnull}}])\u0026\u0026vi(e.prototype,n),t}(),Ci\u003dfunction(t){var e\u003dt.targetTouches?t.targetTouches[0]:t;return{x:e.clientX,y:e.clientY}},$i\u003dfunction(t,e,n){return\"number\"!\u003dtypeof t\u0026\u0026(t\u003dMath.min(e,n)||e),\"number\"!\u003dtypeof n\u0026\u0026(n\u003dMath.max(e,t)),Math.min(Math.max(e,t),n)},ki\u003dfunction(t){return t\u0026\u0026Number(t.replace(/px$/,\"\"))||0},Ti\u003d{down:{pc:\"mousedown\",m:\"touchstart\"},move:{pc:\"mousemove\",m:\"touchmove\"},up:{pc:\"mouseup\",m:\"touchend\"}},Ei\u003dfunction(t,e,n){e\u0026\u0026e.addEventListener(Ti[t].pc,n),e\u0026\u0026e.addEventListener(Ti[t].m,n,{passive:!1})},Oi\u003dfunction(t,e,n){e\u0026\u0026e.removeEventListener(Ti[t].pc,n),e\u0026\u0026e.removeEventListener(Ti[t].m,n)},Bi\u003d!1;if(\"undefined\"!\u003dtypeof window){var Pi\u003d{get passive(){Bi\u003d!0}};window.addEventListener(\"testPassive\",null,Pi),window.removeEventListener(\"testPassive\",null,Pi)}var Li,Ni,Ai,zi\u003d\"undefined\"!\u003dtypeof window\u0026\u0026window.navigator\u0026\u0026window.navigator.platform\u0026\u0026(/iP(ad|hone|od)/.test(window.navigator.platform)||\"MacIntel\"\u003d\u003d\u003dwindow.navigator.platform\u0026\u0026window.navigator.maxTouchPoints\u003e1),Mi\u003d[],Hi\u003d!1,Di\u003d0,Ri\u003d-1,ji\u003dfunction(t){return Mi.some((function(){return function(t,e){var n\u003d!1;return function(t){for(var e\u003d[];t;){if(e.push(t),t.classList.contains(\"vfm\"))return e;t\u003dt.parentElement}return e}(t).forEach((function(t){(function(t){if(!t||t.nodeType!\u003d\u003dNode.ELEMENT_NODE)return!1;var e\u003dwindow.getComputedStyle(t);return[\"auto\",\"scroll\"].includes(e.overflowY)\u0026\u0026t.scrollHeight\u003et.clientHeight})(t)\u0026\u0026function(t,e){return!(0\u003d\u003d\u003dt.scrollTop\u0026\u0026e\u003c0||t.scrollTop+t.clientHeight+e\u003e\u003dt.scrollHeight\u0026\u0026e\u003e0)}(t,e)\u0026\u0026(n\u003d!0)})),n}(t,-Di)}))},Ii\u003dfunction(t){var e\u003dt||window.event;return!!ji(e.target)||e.touches.length\u003e1||(e.preventDefault\u0026\u0026e.preventDefault(),!1)},qi\u003dfunction(t){t?(Mi\u003dMi.filter((function(e){return e.targetElement!\u003d\u003dt})),zi?(t.ontouchstart\u003dnull,t.ontouchmove\u003dnull,Hi\u0026\u00260\u003d\u003d\u003dMi.length\u0026\u0026(document.removeEventListener(\"touchmove\",Ii,Bi?{passive:!1}:void 0),Hi\u003d!1)):Mi.length||(void 0!\u003d\u003dNi\u0026\u0026(document.body.style.paddingRight\u003dNi,Ni\u003dvoid 0),void 0!\u003d\u003dLi\u0026\u0026(document.body.style.overflow\u003dLi,Li\u003dvoid 0))):console.error(\"enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.\")},Wi\u003dfunction(){},Fi\u003d\"enter\",Vi\u003d\"entering\",Ui\u003d\"leave\",Qi\u003d\"leavng\",Xi\u003d{type:[String,Object,Array],default:\"\"},Yi\u003d{type:[Object,Array],default:function(){return{}}},Ki\u003d{t:\"ns-resize\",tr:\"nesw-resize\",r:\"ew-resize\",br:\"nwse-resize\",b:\"ns-resize\",bl:\"nesw-resize\",l:\"ew-resize\",tl:\"nwse-resize\"},Gi\u003d{props:{name:{type:String,default:null},value:{type:Boolean,default:!1},ssr:{type:Boolean,default:!0},classes:Xi,overlayClass:Xi,contentClass:Xi,styles:Yi,overlayStyle:Yi,contentStyle:Yi,lockScroll:{type:Boolean,default:!0},hideOverlay:{type:Boolean,default:!1},clickToClose:{type:Boolean,default:!0},escToClose:{type:Boolean,default:!1},preventClick:{type:Boolean,default:!1},attach:{type:null,default:!1,validator:function(t){var e\u003dmi(t);return\"boolean\"\u003d\u003d\u003de||\"string\"\u003d\u003d\u003de||t.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE}},transition:{type:[String,Object],default:\"vfm\"},overlayTransition:{type:[String,Object],default:\"vfm\"},zIndexAuto:{type:Boolean,default:!0},zIndexBase:{type:[String,Number],default:1e3},zIndex:{type:[Boolean,String,Number],default:!1},focusRetain:{type:Boolean,default:!0},focusTrap:{type:Boolean,default:!1},fitParent:{type:Boolean,default:!0},drag:{type:Boolean,default:!1},dragSelector:{type:String,default:\"\"},keepChangedStyle:{type:Boolean,default:!1},resize:{type:Boolean,default:!1},resizeDirections:{type:Array,default:function(){return[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"]},validator:function(t){return[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"].filter((function(e){return-1!\u003d\u003dt.indexOf(e)})).length\u003d\u003d\u003dt.length}},minWidth:{type:Number,default:0},minHeight:{type:Number,default:0},maxWidth:{type:Number,default:1/0},maxHeight:{type:Number,default:1/0}},data:function(){return{modalStackIndex:null,visible:!1,visibility:{modal:!1,overlay:!1,resize:!1},overlayTransitionState:null,modalTransitionState:null,stopEvent:!1,params:{},dragResizeStyle:{},resolveToggle:Wi,rejectToggle:Wi,state:null,lastMousedownEl:null}},computed:{isComponentReadyToBeDestroyed:function(){return(this.hideOverlay||this.overlayTransitionState\u003d\u003d\u003dUi)\u0026\u0026this.modalTransitionState\u003d\u003d\u003dUi},calculateZIndex:function(){return!1\u003d\u003d\u003dthis.zIndex?!!this.zIndexAuto\u0026\u0026+this.zIndexBase+2*(this.modalStackIndex||0):this.zIndex},bindStyle:function(){return wi({},!1!\u003d\u003dthis.calculateZIndex\u0026\u0026{zIndex:this.calculateZIndex})},bindContentStyle:function(){var t\u003d[this.dragResizeStyle];return Array.isArray(this.contentStyle)?t.push.apply(t,bi(this.contentStyle)):t.push(this.contentStyle),t},computedTransition:function(){return\"string\"\u003d\u003dtypeof this.transition?{name:this.transition}:wi({},this.transition)},computedOverlayTransition:function(){return\"string\"\u003d\u003dtypeof this.overlayTransition?{name:this.overlayTransition}:wi({},this.overlayTransition)}},watch:{value:function(t){if(this.stopEvent)this.stopEvent\u003d!1;else if(this.mounted(),!t){if(this.emitEvent(\"before-close\",!0))return void this.rejectToggle(\"hide\");this.close()}},lockScroll:\"handleLockScroll\",hideOverlay:function(t){this.value\u0026\u0026!t\u0026\u0026(this.visibility.overlay\u003d!0)},attach:\"mounted\",isComponentReadyToBeDestroyed:function(t){t\u0026\u0026(this.visible\u003d!1)},drag:function(t){this.visible\u0026\u0026(t?this.addDragDown():this.removeDragDown())},resize:function(t){this.visible\u0026\u0026(t?this.addResizeDown():this.removeResizeDown())},keepChangedStyle:function(t){t||(this.dragResizeStyle\u003d{})}},mounted:function(){this.api.modals.push(this),this.$focusTrap\u003dnew xi,this.mounted()},beforeDestroy:function(){var t,e\u003dthis;this.close(),this.lockScroll\u0026\u0026this.$refs.vfmContainer\u0026\u0026qi(this.$refs.vfmContainer),null\u003d\u003dthis||null\u003d\u003d\u003d(t\u003dthis.$el)||void 0\u003d\u003d\u003dt||t.remove();var n\u003dthis.api.modals.findIndex((function(t){return t\u003d\u003d\u003de}));this.api.modals.splice(n,1)},methods:{mounted:function(){var t\u003dthis;if(this.value){if(this.emitEvent(\"before-open\",!1))return void this.rejectToggle(\"show\");var e\u003dthis.getAttachElement();if(e||!1\u003d\u003d\u003dthis.attach){!1!\u003d\u003dthis.attach\u0026\u0026e.appendChild(this.$el);var n\u003dthis.api.openedModals.findIndex((function(e){return e\u003d\u003d\u003dt}));-1!\u003d\u003dn\u0026\u0026this.api.openedModals.splice(n,1),this.api.openedModals.push(this),this.modalStackIndex\u003dthis.api.openedModals.length-1,this.handleLockScroll(),this.api.openedModals.filter((function(e){return e!\u003d\u003dt})).forEach((function(t,n){t.getAttachElement()\u003d\u003d\u003de\u0026\u0026(t.modalStackIndex\u003dn,t.visibility.overlay\u003d!1)})),this.visible\u003d!0,this.$nextTick((function(){t.startTransitionEnter()}))}else!1!\u003d\u003de\u0026\u0026console.warn(\"Unable to locate target \".concat(this.attach))}},close:function(){var t\u003dthis,e\u003dthis.api.openedModals.findIndex((function(e){return e\u003d\u003d\u003dt}));if(-1!\u003d\u003de\u0026\u0026this.api.openedModals.splice(e,1),this.api.openedModals.length\u003e0){var n\u003dthis.api.openedModals[this.api.openedModals.length-1];(n.focusRetain||n.focusTrap)\u0026\u0026n.$refs.vfmContainer.focus(),!n.hideOverlay\u0026\u0026(n.visibility.overlay\u003d!0)}this.drag\u0026\u0026this.removeDragDown(),this.resize\u0026\u0026this.removeResizeDown(),this.state\u003dnull,this.startTransitionLeave()},startTransitionEnter:function(){this.visibility.overlay\u003d!0,this.visibility.modal\u003d!0},startTransitionLeave:function(){this.visibility.overlay\u003d!1,this.visibility.modal\u003d!1},handleLockScroll:function(){var t\u003dthis;this.value\u0026\u0026this.$nextTick((function(){t.lockScroll?function(t,e){if(t){if(!Mi.some((function(e){return e.targetElement\u003d\u003d\u003dt}))){var n\u003d{targetElement:t,options:e||{}};Mi\u003d[].concat(bi(Mi),[n]),zi?(t.ontouchstart\u003dfunction(t){1\u003d\u003d\u003dt.targetTouches.length\u0026\u0026(Ri\u003dt.targetTouches[0].clientY)},t.ontouchmove\u003dfunction(e){1\u003d\u003d\u003de.targetTouches.length\u0026\u0026function(t,e){Di\u003dt.targetTouches[0].clientY-Ri,!ji(t.target)\u0026\u0026(e\u0026\u00260\u003d\u003d\u003de.scrollTop\u0026\u0026Di\u003e0||function(t){return!!t\u0026\u0026t.scrollHeight-t.scrollTop\u003c\u003dt.clientHeight}(e)\u0026\u0026Di\u003c0?Ii(t):t.stopPropagation())}(e,t)},Hi||(document.addEventListener(\"touchmove\",Ii,Bi?{passive:!1}:void 0),Hi\u003d!0)):function(t){if(void 0\u003d\u003d\u003dNi){var e\u003d!!t\u0026\u0026!0\u003d\u003d\u003dt.reserveScrollBarGap,n\u003dwindow.innerWidth-document.documentElement.clientWidth;if(e\u0026\u0026n\u003e0){var i\u003dparseInt(getComputedStyle(document.body).getPropertyValue(\"padding-right\"),10);Ni\u003ddocument.body.style.paddingRight,document.body.style.paddingRight\u003d\"\".concat(i+n,\"px\")}}void 0\u003d\u003d\u003dLi\u0026\u0026(Li\u003ddocument.body.style.overflow,document.body.style.overflow\u003d\"hidden\")}(e)}}else console.error(\"disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.\")}(t.$refs.vfmContainer,{reserveScrollBarGap:!0}):qi(t.$refs.vfmContainer)}))},getAttachElement:function(){return!1!\u003d\u003dthis.attach\u0026\u0026(\"string\"\u003d\u003dtypeof this.attach?!!window\u0026\u0026window.document.querySelector(this.attach):this.attach)},beforeOverlayEnter:function(){this.overlayTransitionState\u003dVi},afterOverlayEnter:function(){this.overlayTransitionState\u003dFi},beforeOverlayLeave:function(){this.overlayTransitionState\u003dQi},afterOverlayLeave:function(){this.overlayTransitionState\u003dUi},beforeModalEnter:function(){this.modalTransitionState\u003dVi},afterModalEnter:function(){this.modalTransitionState\u003dFi,(this.focusRetain||this.focusTrap)\u0026\u0026this.$refs.vfmContainer.focus(),this.focusTrap\u0026\u0026this.$focusTrap.enable(this.$refs.vfmContainer),this.drag\u0026\u0026this.addDragDown(),this.resize\u0026\u0026this.addResizeDown(),this.$emit(\"opened\",this.createModalEvent({type:\"opened\"})),this.resolveToggle(\"show\")},beforeModalLeave:function(){this.modalTransitionState\u003dQi,this.$focusTrap.enabled()\u0026\u0026this.$focusTrap.disable()},afterModalLeave:function(){this.modalTransitionState\u003dUi,this.modalStackIndex\u003dnull,this.lockScroll\u0026\u0026qi(this.$refs.vfmContainer),this.keepChangedStyle||(this.dragResizeStyle\u003d{});var t\u003d!1,e\u003dthis.createModalEvent({type:\"closed\",stop:function(){t\u003d!0}});this.$emit(\"closed\",e),this.resolveToggle(\"hide\"),t||(this.params\u003d{})},onMousedown:function(t){this.lastMousedownEl\u003dnull\u003d\u003dt?void 0:t.target},onMouseupContainer:function(){this.lastMousedownEl\u003d\u003d\u003dthis.$refs.vfmContainer\u0026\u0026\"resize:move\"!\u003d\u003dthis.state\u0026\u0026(this.$emit(\"click-outside\",this.createModalEvent({type:\"click-outside\"})),this.clickToClose\u0026\u0026this.$emit(\"input\",!1))},onEsc:function(){this.visible\u0026\u0026this.escToClose\u0026\u0026this.$emit(\"input\",!1)},createModalEvent:function(){var t\u003darguments.length\u003e0\u0026\u0026void 0!\u003d\u003darguments[0]?arguments[0]:{};return wi({ref:this},t)},emitEvent:function(t,e){var n\u003d!1,i\u003dthis.createModalEvent({type:t,stop:function(){n\u003d!0}});return this.$emit(t,i),!!n\u0026\u0026(this.stopEvent\u003d!0,this.$emit(\"input\",e),!0)},emitState:function(t,e,n){this.state\u003d\"\".concat(e,\":\").concat(n),this.$emit(this.state,t)},toggle:function(t,e){var n\u003darguments,i\u003dthis;return new Promise((function(o,r){i.resolveToggle\u003dfunction(t){o(t),i.resolveToggle\u003dWi},i.rejectToggle\u003dfunction(t){r(t),i.rejectToggle\u003dWi};var s\u003d\"boolean\"\u003d\u003dtypeof t?t:!i.value;s\u0026\u00262\u003d\u003d\u003dn.length\u0026\u0026(i.params\u003de),i.$emit(\"input\",s)}))},pointerDown:function(t){var e\u003dthis;t.stopPropagation();var n,i\u003d\"resize\",o\u003d\"drag\",r\u003dthis.$refs,s\u003dr.vfmContainer,a\u003dr.vfmContent,l\u003dt.target.getAttribute(\"direction\");if(l)n\u003di;else{if(!function(t,e,n){return\"\"\u003d\u003d\u003dn||bi(e.querySelectorAll(n)).includes(t.target)}(t,a,this.dragSelector))return;n\u003do}this.emitState(t,n,\"start\");var c,u,d,h,p\u003dCi(t),f\u003ds.getBoundingClientRect(),m\u003da.getBoundingClientRect(),v\u003d\"absolute\"\u003d\u003d\u003dwindow.getComputedStyle(a).position,g\u003dki(this.dragResizeStyle.top),y\u003dki(this.dragResizeStyle.left),w\u003dfunction(){if(e.fitParent){var t\u003d{absolute:function(){return{minTop:0,minLeft:0,maxTop:f.height-m.height,maxLeft:f.width-m.width}},relative:function(){return{minTop:g+f.top-m.top,minLeft:y+f.left-m.left,maxTop:g+f.bottom-m.bottom,maxLeft:y+f.right-m.right}}};return v?t.absolute():t.relative()}return{}}(),b\u003dn\u003d\u003d\u003di\u0026\u0026(c\u003ddocument.body,u\u003d\"cursor\",d\u003dKi[l],h\u003dc.style[u],c.style[u]\u003dd,function(){c.style[u]\u003dh}),_\u003dfunction(t){t.stopPropagation(),e.emitState(t,n,\"move\");var r,s,a\u003dCi(t),c\u003d{x:a.x-p.x,y:a.y-p.y};n\u003d\u003d\u003di\u0026\u0026(c\u003de.getResizeOffset(l,c,f,m,v)),v?(r\u003dm.top-f.top+c.y,s\u003dm.left-f.left+c.x):(r\u003dg+c.y,s\u003dy+c.x),n\u003d\u003d\u003do\u0026\u0026e.fitParent\u0026\u0026(r\u003d$i(w.minTop,r,w.maxTop),s\u003d$i(w.minLeft,s,w.maxLeft));var u\u003dwi(wi(wi({position:\"relative\",top:r+\"px\",left:s+\"px\",margin:\"unset\",touchAction:\"none\"},v\u0026\u0026{position:\"absolute\",transform:\"unset\",width:m.width+\"px\",height:m.height+\"px\"}),c.width\u0026\u0026{width:c.width+\"px\"}),c.height\u0026\u0026{height:c.height+\"px\"});e.dragResizeStyle\u003dwi(wi({},e.dragResizeStyle),u)};Ei(\"move\",document,_),Ei(\"up\",document,(function t(o){o.stopPropagation(),n\u003d\u003d\u003di\u0026\u0026b\u0026\u0026b(),setTimeout((function(){e.emitState(o,n,\"end\")})),Oi(\"move\",document,_),Oi(\"up\",document,t)}))},addDragDown:function(){Ei(\"down\",this.$refs.vfmContent,this.pointerDown),this.dragResizeStyle.touchAction\u003d\"none\"},removeDragDown:function(){Oi(\"down\",this.$refs.vfmContent,this.pointerDown)},addResizeDown:function(){var t\u003dthis;this.visibility.resize\u003d!0,this.$nextTick((function(){Ei(\"down\",t.$refs.vfmResize,t.pointerDown)}))},removeResizeDown:function(){Oi(\"down\",this.$refs.vfmResize,this.pointerDown),this.visibility.resize\u003d!1},getResizeOffset:function(t,e,n,i,o){var r\u003dthis,s\u003dfunction(t,e,o,s){var a,l\u003di[e],c\u003dn[t]-i[t],u\u003d(a\u003de).charAt(0).toUpperCase()+a.slice(1);return{axis:o,edgeName:e,min:s?c:-l,max:s?l:c,minEdge:r[\"min\".concat(u)],maxEdge:r[\"max\".concat(u)],getEdge:function(t){return i[e]-t*(s?1:-1)},getOffsetAxis:function(t,n){var o\u003di[e]-t;return n?s?o:0:(s?1:-1)*o/2}}},a\u003d{t:[\"top\",\"height\",\"y\",!0],b:[\"bottom\",\"height\",\"y\",!1],l:[\"left\",\"width\",\"x\",!0],r:[\"right\",\"width\",\"x\",!1]},l\u003d{x:0,y:0};return t.split(\"\").forEach((function(t){var n\u003ds.apply(void 0,bi(a[t]));l\u003dwi(wi({},l),function(t){var n,i\u003de[t.axis];i\u003dr.fitParent?$i(t.min,i,t.max):i;var s\u003d$i(t.minEdge,t.getEdge(i),t.maxEdge);return i\u003dt.getOffsetAxis(s,o),gi(n\u003d{},t.edgeName,s),gi(n,t.axis,i),n}(n))})),l}}},Zi\u003dfunction(t,e,n,i,o,r,s,a,l,c){\"boolean\"!\u003dtypeof s\u0026\u0026(l\u003da,a\u003ds,s\u003d!1);var u,d\u003d\"function\"\u003d\u003dtypeof n?n.options:n;if(t\u0026\u0026t.render\u0026\u0026(d.render\u003dt.render,d.staticRenderFns\u003dt.staticRenderFns,d._compiled\u003d!0,o\u0026\u0026(d.functional\u003d!0)),i\u0026\u0026(d._scopeId\u003di),r?(u\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),e\u0026\u0026e.call(this,l(t)),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(r)},d._ssrRegister\u003du):e\u0026\u0026(u\u003ds?function(t){e.call(this,c(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),u)if(d.functional){var h\u003dd.render;d.render\u003dfunction(t,e){return u.call(e),h(t,e)}}else{var p\u003dd.beforeCreate;d.beforeCreate\u003dp?[].concat(p,u):[u]}return n},Ji\u003d\"undefined\"!\u003dtypeof navigator\u0026\u0026/msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase()),to\u003d{},eo\u003dZi({render:function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.ssr||t.visible?n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.ssr||t.visible,expression:\"!ssr || visible\"}],staticClass:\"vfm vfm--inset\",class:[!1\u003d\u003d\u003dt.attach?\"vfm--fixed\":\"vfm--absolute\",{\"vfm--prevent-none\":t.preventClick}],style:t.bindStyle,on:{keydown:function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])?null:t.onEsc.apply(null,arguments)}}},[n(\"transition\",t._b({ref:\"vfmOverlayTransition\",on:{\"before-enter\":t.beforeOverlayEnter,\"after-enter\":t.afterOverlayEnter,\"before-leave\":t.beforeOverlayLeave,\"after-leave\":t.afterOverlayLeave}},\"transition\",t.computedOverlayTransition,!1),[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.hideOverlay\u0026\u0026t.visibility.overlay,expression:\"!hideOverlay \u0026\u0026 visibility.overlay\"}],staticClass:\"vfm__overlay vfm--overlay vfm--absolute vfm--inset\",class:t.overlayClass,style:t.overlayStyle})]),t._v(\" \"),n(\"transition\",t._b({ref:\"vfmTransition\",on:{\"before-enter\":t.beforeModalEnter,\"after-enter\":t.afterModalEnter,\"before-leave\":t.beforeModalLeave,\"after-leave\":t.afterModalLeave}},\"transition\",t.computedTransition,!1),[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibility.modal,expression:\"visibility.modal\"}],ref:\"vfmContainer\",staticClass:\"vfm__container vfm--absolute vfm--inset vfm--outline-none\",class:t.classes,style:t.styles,attrs:{\"aria-expanded\":t.visibility.modal.toString(),role:\"dialog\",\"aria-modal\":\"true\",tabindex:\"-1\"},on:{mouseup:function(e){return e.target!\u003d\u003de.currentTarget?null:t.onMouseupContainer.apply(null,arguments)},mousedown:function(e){return e.target!\u003d\u003de.currentTarget?null:t.onMousedown.apply(null,arguments)}}},[n(\"div\",{ref:\"vfmContent\",staticClass:\"vfm__content\",class:[t.contentClass,{\"vfm--prevent-auto\":t.preventClick}],style:t.bindContentStyle,on:{mousedown:function(e){return t.onMousedown(null)}}},[t._t(\"default\",null,{params:t.params,close:function(){return t.$emit(\"input\",!1)}}),t._v(\" \"),t.visibility.resize\u0026\u0026t.visibility.modal?n(\"div\",{ref:\"vfmResize\",staticClass:\"vfm__resize vfm--absolute vfm--inset vfm--prevent-none vfm--select-none vfm--touch-none\"},t._l(t.resizeDirections,(function(t){return n(\"div\",{key:t,staticClass:\"vfm--absolute vfm--prevent-auto\",class:\"vfm--resize-\"+t,attrs:{direction:t}})})),0):t._e()],2)])])],1):t._e()},staticRenderFns:[]},(function(t){t\u0026\u0026t(\"data-v-1cd72822_0\",{source:\".vfm--fixed[data-v-1cd72822]{position:fixed}.vfm--absolute[data-v-1cd72822]{position:absolute}.vfm--inset[data-v-1cd72822]{top:0;right:0;bottom:0;left:0}.vfm--overlay[data-v-1cd72822]{background-color:rgba(0,0,0,.5)}.vfm--prevent-none[data-v-1cd72822]{pointer-events:none}.vfm--prevent-auto[data-v-1cd72822]{pointer-events:auto}.vfm--outline-none[data-v-1cd72822]:focus{outline:0}.vfm-enter-active[data-v-1cd72822],.vfm-leave-active[data-v-1cd72822]{transition:opacity .2s}.vfm-enter[data-v-1cd72822],.vfm-leave-to[data-v-1cd72822]{opacity:0}.vfm--touch-none[data-v-1cd72822]{touch-action:none}.vfm--select-none[data-v-1cd72822]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vfm--resize-bl[data-v-1cd72822],.vfm--resize-br[data-v-1cd72822],.vfm--resize-tl[data-v-1cd72822],.vfm--resize-tr[data-v-1cd72822]{width:12px;height:12px;z-index:10}.vfm--resize-t[data-v-1cd72822]{top:-6px;left:0;width:100%;height:12px;cursor:ns-resize}.vfm--resize-tr[data-v-1cd72822]{top:-6px;right:-6px;cursor:nesw-resize}.vfm--resize-r[data-v-1cd72822]{top:0;right:-6px;width:12px;height:100%;cursor:ew-resize}.vfm--resize-br[data-v-1cd72822]{bottom:-6px;right:-6px;cursor:nwse-resize}.vfm--resize-b[data-v-1cd72822]{bottom:-6px;left:0;width:100%;height:12px;cursor:ns-resize}.vfm--resize-bl[data-v-1cd72822]{bottom:-6px;left:-6px;cursor:nesw-resize}.vfm--resize-l[data-v-1cd72822]{top:0;left:-6px;width:12px;height:100%;cursor:ew-resize}.vfm--resize-tl[data-v-1cd72822]{top:-6px;left:-6px;cursor:nwse-resize}\",map:void 0,media:void 0})}),Gi,\"data-v-1cd72822\",!1,void 0,!1,(function(t){return function(t,e){return function(t,e){var n\u003dJi?e.media||\"default\":t,i\u003dto[n]||(to[n]\u003d{ids:new Set,styles:[]});if(!i.ids.has(t)){i.ids.add(t);var o\u003de.source;if(e.map\u0026\u0026(o+\u003d\"\\n/*# sourceURL\u003d\"+e.map.sources[0]+\" */\",o+\u003d\"\\n/*# sourceMappingURL\u003ddata:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e.map))))+\" */\"),i.element||(i.element\u003ddocument.createElement(\"style\"),i.element.type\u003d\"text/css\",e.media\u0026\u0026i.element.setAttribute(\"media\",e.media),void 0\u003d\u003d\u003dAi\u0026\u0026(Ai\u003ddocument.head||document.getElementsByTagName(\"head\")[0]),Ai.appendChild(i.element)),\"styleSheet\"in i.element)i.styles.push(o),i.element.styleSheet.cssText\u003di.styles.filter(Boolean).join(\"\\n\");else{var r\u003di.ids.size-1,s\u003ddocument.createTextNode(o),a\u003di.element.childNodes;a[r]\u0026\u0026i.element.removeChild(a[r]),a.length?i.element.insertBefore(s,a[r]):i.element.appendChild(s)}}}(t,e)}}),void 0,void 0),no\u003dZi({render:function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{staticClass:\"modals-container\"},t._l(t.api.dynamicModals,(function(e,i){return n(e.component,t._g(t._b({key:e.id,tag:\"component\",on:{closed:function(e){return t.slice(i)},\"before-open\":function(n){return t.beforeOpen(n,e,i)},opened:e.opened},scopedSlots:t._u([t._l(e.slots,(function(e,i){return{key:i,fn:function(){return[t.isString(e)?n(\"div\",{key:i,domProps:{innerHTML:t._s(e)}}):n(e.component,t._g(t._b({key:i,tag:\"component\"},\"component\",e.bind,!1),e.on))]},proxy:!0}}))],null,!0),model:{value:e.value,callback:function(n){t.$set(e,\"value\",n)},expression:\"modal.value\"}},\"component\",e.bind,!1),e.on))})),1)},staticRenderFns:[]},void 0,{props:{},methods:{slice:function(t){this.api.dynamicModals.splice(t,1)},beforeOpen:function(t,e,n){var i\u003dthis;t.ref.params\u003de.params,this.$nextTick((function(){e.value||(i.slice(n),e.reject(\"show\"))}))},isString:function(t){return\"string\"\u003d\u003dtypeof t}}},void 0,!1,void 0,!1,void 0,void 0,void 0);function io(t,e){var n\u003dwi(wi({},t),{},{props:wi({},t.props)});return Object.assign(n.props,{api:{type:Object,default:function(){return e}}}),n}var oo\u003d0,ro\u003dfunction(){var t,e,n\u003d(e\u003dnull,et().observable({show:function(t){for(var n\u003dthis,i\u003darguments.length,o\u003dnew Array(i\u003e1?i-1:0),r\u003d1;r\u003ci;r++)o[r-1]\u003darguments[r];switch(mi(t)){case\"string\":return this.toggle.apply(this,[t,!0].concat(o));case\"object\":return Promise.allSettled([new Promise((function(i,r){var s\u003d{value:!0,id:Symbol(\"dynamicModal\"),component:e,bind:{},slots:{},on:{},params:o[0],reject:r,opened:function(){i(\"show\")}};n.dynamicModals.push(Object.assign(s,t))}))])}},hide:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return this.toggle(e,!1)},hideAll:function(){return this.hide.apply(this,bi(this.openedModals.map((function(t){return t.name}))))},toggle:function(t){for(var e\u003darguments.length,n\u003dnew Array(e\u003e1?e-1:0),i\u003d1;i\u003ce;i++)n[i-1]\u003darguments[i];var o\u003dArray.isArray(t)?this.get.apply(this,bi(t)):this.get(t);return Promise.allSettled(o.map((function(t){return t.toggle.apply(t,n)})))},get:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return this.modals.filter((function(t){return e.includes(t.name)}))},dynamicModals:[],openedModals:[],modals:[],_setDefaultModal:function(t){e\u003dt}}));return gi(t\u003d{},\"$vfm\",n),gi(t,\"VueFinalModal\",function(t){var e\u003dio(eo,t);return t._setDefaultModal(e),e}(n)),gi(t,\"ModalsContainer\",io(no,n)),t},so\u003dro(),ao\u003dso.$vfm,lo\u003dso.VueFinalModal,co\u003d(so.ModalsContainer,function(t){var e\u003darguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1]?arguments[1]:{},n\u003d0\u003d\u003d\u003doo?so:ro(),i\u003dn.$vfm,o\u003dn.VueFinalModal,r\u003dn.ModalsContainer;oo+\u003d1;var s\u003de.key||\"$vfm\",a\u003de.componentName||\"VueFinalModal\",l\u003de.dynamicContainerName||\"ModalsContainer\";t.prototype[s]\u003di,t.component(a,o),t.component(l,r)}),uo\u003dfunction(t){return{install:function(e,n){var i\u003dObject.assign({},t,n);co(e,i)}}};uo.install\u003dco;const ho\u003dqe({name:\"Trigger\",components:{PortalTarget:fi.YC},props:{for:{type:String,default:\"\"},trigger:{type:String,default:\"hover focus\"},placement:{type:String,default:\"top\"}},data:function(){return{popoverOrTooltipType:void 0,isInput:!1}},methods:{toggle:function(){this.for\u0026\u0026ao.show(this.for)}},computed:{triggerEventType:function(){return\"click\"\u003d\u003d\u003dthis.trigger||\"focus\"\u003d\u003d\u003dthis.trigger?this.trigger:\"mouseenter\"},triggers:function(){return this.trigger.split(\" \")},target:function(){return this.for}},mounted:function(){if(this.isInput\u003dthis.$slots.default\u0026\u0026this.$slots.default.some((function(t){return\"input\"\u003d\u003d\u003dt.tag})),this.for\u0026\u0026void 0\u003d\u003d\u003dthis.popoverOrTooltipType){var t\u003ddocument.getElementById(this.for);if(!t)return;this.popoverOrTooltipType\u003dt.dataset.mbComponentType}}},pi,[],!1,null,null,null).exports;var po\u003dfunction(){var t\u003dthis.$createElement;return(this._self._c||t)(\"div\",{staticClass:\"site-nav-root\"},[this._t(\"default\")],2)};po._withStripped\u003d!0;const fo\u003dqe({name:\"SiteNav\",mounted:function(){var t\u003dthis,e\u003dSn(new URL(window.location.href).pathname);this.$el.querySelectorAll(\"a[href]\").forEach((function(n){var i\u003dSn(n.getAttribute(\"href\"));if(e\u003d\u003d\u003di){n.classList.add(\"current\");for(var o\u003dn.parentElement;o\u0026\u0026o!\u003d\u003dt.$el;)\"ul\"\u003d\u003d\u003do.tagName.toLowerCase()\u0026\u0026o.classList.contains(\"site-nav-dropdown-container\")\u0026\u0026o.classList.add(\"site-nav-dropdown-container-open\"),o\u003do.parentElement}}))}},po,[],!1,null,null,null).exports;var mo\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[n(\"span\",{class:[{\"nav-menu-close-icon\":t.show}],on:{click:function(e){return t.toggleNavMenu(void 0)}}},[t._t(\"navMenuIcon\")],2),t._v(\" \"),n(\"div\",{ref:\"navMenuContainer\",class:[\"nav-menu\",{\"nav-menu-open\":t.show}],style:t.navbarHeight,on:{click:t.toggleNavMenu}},[n(\"portal-target\",{attrs:{name:t.portalName,multiple:\"\"}})],1)])};mo._withStripped\u003d!0;var vo\u003d{};const go\u003dqe({components:{PortalTarget:fi.YC},props:{type:{type:String,default:null},portalName:{type:String,default:null}},inject:{toggleLowerNavbar:{default:void 0}},data:function(){return{show:!1,navbarHeight:\"\"}},methods:{toggleNavMenu:function(t){var e,n\u003dthis;t\u0026\u0026\"a\"\u003d\u003d\u003dt.target.tagName.toLowerCase()||!t\u0026\u0026this.show?(document.body.style.removeProperty(\"overflow\"),this.show\u003d!1):(vo[e\u003d\"closeOverlay\"]\u0026\u0026vo[e].forEach((function(t){return t()})),document.body.style.overflow\u003d\"hidden\",this.show\u003d!0,this.$nextTick((function(){var t\u003dn.$refs.navMenuContainer,e\u003dwindow.innerHeight-t.getBoundingClientRect().top;n.navbarHeight\u003d\"height: \".concat(e,\"px\")})))}},mounted:function(){var t,e,n\u003dthis;this.toggleLowerNavbar\u0026\u0026this.toggleLowerNavbar(),e\u003dfunction(){n.show\u003d!1},vo[t\u003d\"closeOverlay\"]||(vo[t]\u003d[]),vo[t].push(e)}},mo,[],!1,null,\"1a3e7aee\",null).exports;var yo\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(t.tagName,t._b({tag:\"component\"},\"component\",t.$attrs,!1),[t._t(\"default\"),t._v(\" \"),t.enablePortal?n(\"portal\",{attrs:{to:t.to}},[n(t.tagName,t._b({tag:\"component\",class:[t.$vnode.data.staticClass||\"\",\"mb-mobile-nav\"],style:t.$vnode.data.staticStyle},\"component\",t.$attrs,!1),[t._t(\"default\")],2)],1):t._e()],2)};yo._withStripped\u003d!0;const wo\u003dqe({name:\"OverlaySource\",components:{Portal:fi.h_},props:{to:{type:String,default:void 0},tagName:{type:String,default:void 0}},data:function(){return{enablePortal:!1}},mounted:function(){this.enablePortal\u003d!0}},yo,[],!1,null,\"e6005420\",null).exports;var bo\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:\"click\"\u003d\u003d\u003dt.trigger?\"trigger-click\":\"trigger\",attrs:{\"data-mb-component-type\":\"popover\",tabindex:\"0\"}},[t.targetEl.id?n(\"portal\",{attrs:{to:\"popover:\"+t.targetEl.id}},[t.hasHeader?n(\"h3\",{staticClass:\"popover-header\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"popover-body\"},[t._t(\"content\")],2)]):t._e(),t._v(\" \"),t.isMounted?n(\"v-popover\",{attrs:{\"auto-hide\":!t.isInput,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,placement:t.placement,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[n(\"div\",{staticClass:\"popover-container\"},[t.hasHeader?n(\"h3\",{staticClass:\"popover-header\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"popover-body\"},[t._t(\"content\")],2)])]},proxy:!0}],null,!0)},[t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):t._e()],1)};bo._withStripped\u003d!0;const _o\u003dqe({name:\"Popover\",components:{Portal:fi.h_},props:{trigger:{type:String,default:\"hover focus\"},placement:{type:String,default:\"top\"}},data:function(){return{targetEl:{},isMounted:!1}},computed:{triggers:function(){return this.trigger.split(\" \")},hasHeader:function(){return!!this.$slots.header}},mounted:function(){this.targetEl\u003dthis.$el,this.isInput\u003dthis.$slots.default\u0026\u0026this.$slots.default.some((function(t){return\"input\"\u003d\u003d\u003dt.tag})),this.isMounted\u003d!0}},bo,[],!1,null,null,null).exports;var So\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:\"click\"\u003d\u003d\u003dt.trigger?\"trigger-click\":\"trigger\",attrs:{\"data-mb-component-type\":\"tooltip\",tabindex:\"0\"}},[t.targetEl.id?n(\"portal\",{attrs:{to:\"tooltip:\"+t.targetEl.id}},[t._t(\"content\")],2):t._e(),t._v(\" \"),t.isMounted?n(\"v-tooltip\",{attrs:{\"auto-hide\":!t.isInput,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,placement:t.placement,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[t._t(\"content\")]},proxy:!0}],null,!0)},[t._v(\" \"),t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):t._e()],1)};So._withStripped\u003d!0;const xo\u003dqe({name:\"Tooltip\",components:{Portal:fi.h_},props:{trigger:{type:String,default:\"hover focus\"},placement:{type:String,default:\"top\"}},data:function(){return{targetEl:{},isInput:!1,isMounted:!1}},computed:{triggers:function(){return this.trigger.split(\" \")}},mounted:function(){this.targetEl\u003dthis.$el,this.isInput\u003dthis.$slots.default\u0026\u0026this.$slots.default.some((function(t){return\"input\"\u003d\u003d\u003dt.tag})),this.isMounted\u003d!0}},So,[],!1,null,null,null).exports;var Co\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.isMounted?n(\"vue-final-modal\",{attrs:{ssr:\"\",name:t.id,classes:[\"modal\"],\"content-class\":[\"modal-dialog\",\"modal-dialog-scrollable\",t.optionalModalSize,t.optionalCentering],\"overlay-transition\":\"none\",transition:t.effectClass,\"click-to-close\":\"false\"!\u003d\u003dt.backdrop,\"esc-to-close\":\"\",\"z-index-base\":\"2000\"},model:{value:t.show,callback:function(e){t.show\u003de},expression:\"show\"}},[n(\"div\",{staticClass:\"modal-content\"},[t.hasHeader?n(\"div\",{staticClass:\"modal-header\"},[n(\"h5\",{staticClass:\"modal-title\"},[t._t(\"header\")],2),t._v(\" \"),n(\"button\",{staticClass:\"btn-close\",attrs:{type:\"button\",\"aria-label\":\"Close\"},on:{click:function(e){return t.close()}}})]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"modal-body\"},[t._t(\"default\")],2),t._v(\" \"),t.hasFooter||t.hasOk?n(\"div\",{staticClass:\"modal-footer\"},[t.hasFooter?t._t(\"footer\"):n(\"button\",{staticClass:\"btn btn-primary\",on:{click:function(e){return t.close()}}},[t._v(\"\\n \"+t._s(t.okText)+\"\\n \")])],2):t._e()])]):t._e()};Co._withStripped\u003d!0;const $o\u003dqe({name:\"Modal\",components:{VueFinalModal:lo},data:function(){return{show:!1,isMounted:!1,zoomEffect:{\"enter-class\":\"modal-zoom\",\"enter-to-class\":\"modal-zoom-show\",\"leave-to-class\":\"modal-zoom\",\"leave-class\":\"modal-zoom-show\"}}},props:{okText:{type:String,default:\"\"},effect:{type:String,default:\"zoom\"},id:{type:String,default:\"\"},small:{type:Boolean,default:!1},large:{type:Boolean,default:!1},center:{type:Boolean,default:!1},backdrop:{type:String,default:\"\"}},computed:{hasHeader:function(){return!!this.$slots.header},hasFooter:function(){return!!this.$slots.footer},hasOk:function(){return\"\"!\u003d\u003dthis.okText},optionalModalSize:function(){return this.small||this.large?this.small?\"modal-sm\":\"modal-lg\":\"\"},optionalCentering:function(){return this.center?\"modal-dialog-centered\":\"\"},effectClass:function(){return\"zoom\"\u003d\u003d\u003dthis.effect?this.zoomEffect:\"vfm\"}},methods:{close:function(){this.show\u003d!1}},mounted:function(){this.isMounted\u003d!0}},Co,[],!1,null,null,null).exports;var ko\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"scroll-top-button\",t.getIconSize(),\"d-print-none\",{lighten:t.$data.isLighten}],style:t.iconStyle(),attrs:{\"aria-hidden\":\"true\"},on:{click:function(e){return t.handleScrollTop()}}},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas fa-arrow-circle-up\"]})]}))],2)};ko._withStripped\u003d!0;var To\u003d{box:We,breadcrumb:Ve,dropdown:gn,navbar:Tn,panel:Rn,annotate:In,aPoint:Wn,pic:Vn,quiz:Qn,question:Gn,qOption:Jn,retriever:zn,searchbar:oi,tab:si,tabGroup:li,tabs:ui,thumbnail:hi,trigger:ho,siteNav:fo,submenu:vn,siteNavButton:Cn,pageNavButton:kn,overlay:go,overlaySource:wo,popover:_o,tooltip:xo,modal:$o,VPopover:Ne,VTooltip:Ae,scrollTopButton:qe({name:\"ScrollTopButton\",props:{icon:{type:String,default:null},iconSize:{type:String,default:\"lg\"},iconColor:{type:String,default:null},bottom:{type:String,default:null},right:{type:String,default:null}},data:function(){return{isVisible:!1,isLighten:!1,timers:{showOrHideButtonTimer:0,lightenButtonTimer:0}}},methods:{initScrollTopButton:function(){window.addEventListener(\"scroll\",this.promptScrollTopButton)},destroyScrollTopButton:function(){window.removeEventListener(\"scroll\",this.promptScrollTopButton)},promptScrollTopButton:function(){this.resetScrollTopButton(),this.showOrHideScrollTopButton()},resetScrollTopButton:function(){clearTimeout(this.timers.showOrHideButtonTimer),clearTimeout(this.timers.lightenButtonTimer),this.isLighten\u003d!1},showOrHideScrollTopButton:function(){var t\u003dthis;this.timers.showOrHideButtonTimer\u003dsetTimeout((function(){document.body.scrollTop\u003e20||document.documentElement.scrollTop\u003e20?(t.isVisible\u003d!0,t.lightenScrollTopButton()):t.isVisible\u003d!1}),100)},lightenScrollTopButton:function(){var t\u003dthis;this.timers.lightenButtonTimer\u003dsetTimeout((function(){t.isLighten||(t.isLighten\u003d!0)}),1e3)},iconStyle:function(){var t\u003d{};return t.display\u003dthis.isVisible?\"block\":\"none\",this.iconColor\u0026\u0026(t.color\u003dthis.iconColor),t.bottom\u003dthis.bottom?this.bottom:\"2%\",t.right\u003dthis.right?this.right:\"2%\",t.position\u003d\"fixed\",t},handleScrollTop:function(){document.body.scrollIntoView({block:\"start\",behavior:\"smooth\"})},getIconSize:function(){return this.iconSize?\"fa-\".concat(this.iconSize):\"\"}},mounted:function(){this.initScrollTopButton()},beforeDestroy:function(){this.destroyScrollTopButton()}},ko,[],!1,null,null,null).exports},Eo\u003d{closeable:Qe()};const Oo\u003d{MarkBindVue:{plugin:{install:function(t){Object.keys(Eo).forEach((function(e){t.directive(e,Eo[e])})),Object.keys(To).forEach((function(e){t.component(e,To[e])}))}},components:To,directives:Eo},appFactory:function(){return{data:function(){return{searchData:[]}},methods:{searchCallback:function(t){var e\u003d\"\".concat(baseUrl,\"/\").concat(t.src.replace(/.md$/,\".html\")),n\u003dt.heading?\"#\".concat(t.heading.id):\"\";window.location\u003d\"\".concat(e).concat(n)}}}}};i(605);function Bo(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function Po(t){for(var e\u003d1;e\u003carguments.length;e++){var i\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?Bo(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):Bo(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}var Lo\u003dOo.MarkBindVue,No\u003dOo.appFactory;function Ao(){var t\u003ddocument.querySelector(\"header[sticky]\");if(null!\u003d\u003dt){var e\u003da(),n\u003d!1;t.addEventListener(\"transitionend\",(function(){n||(t.style.overflow\u003d\"\")})),new ResizeObserver((function(){e\u003da(),document.documentElement.style.setProperty(\"--sticky-header-height\",\"\".concat(e,\"px\")),window.innerWidth\u003e767\u0026\u0026n\u0026\u0026l()})).observe(t);var i,o\u003d0,r\u003dwindow.location.hash,s\u003dfunction(){if(!(window.innerWidth\u003e767)){if(r!\u003d\u003dwindow.location.hash)return r\u003dwindow.location.hash,void l();r\u003dwindow.location.hash;var i\u003dwindow.pageYOffset;if(!(window.innerHeight+i\u003e\u003ddocument.body.offsetHeight)){if(i\u003eo){t.style.position\u003d\"static\";var s\u003dt.getBoundingClientRect().top+e;if(t.style.position\u003d\"sticky\",s\u003e0)return;n\u003d!0,t.style.overflow\u003d\"hidden\",t.classList.add(\"hide-header\")}else l();o\u003di}}};window.addEventListener(\"scroll\",(function(){i\u0026\u0026clearTimeout(i),i\u003dsetTimeout(s,20)}))}function a(){var e\u003dwindow.getComputedStyle(t,null);return t.clientHeight-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom)}function l(){n\u003d!1,t.classList.remove(\"hide-header\")}}function zo(){document.querySelectorAll(\"script[style-bypass-vue-compilation]\").forEach((function(t){var e\u003ddocument.createElement(\"style\");e.innerHTML\u003dt.innerHTML,t.parentNode.replaceChild(e,t)})),Ao()}Vue.use(Lo.plugin),window.onload\u003dfunction(){if(window.location.hash){var t\u003ddocument.getElementById(window.location.hash.slice(1));t\u0026\u0026t.scrollIntoView({behavior:\"smooth\",block:\"start\",inline:\"nearest\"})}},window.handleSiteNavClick\u003dfunction(t){var e\u003d!(arguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1])||arguments[1];if(e){var n\u003dt.getElementsByTagName(\"a\");if(n.length)return void(window.location.href\u003dn[0].href)}var i\u003dt.nextElementSibling,o\u003dt.lastElementChild.lastElementChild;i.classList.toggle(\"site-nav-dropdown-container-open\"),o.classList.toggle(\"site-nav-rotate-icon\")};const Mo\u003d{setup:function(){new Vue(Po(Po({render:function(t){return pageVueRenderFn.call(this,t)},staticRenderFns:pageVueStaticRenderFns},No()),{},{mounted:function(){zo()}})).$mount(\"#app\",!0)},setupWithSearch:function(){new Vue(Po(Po({render:function(t){return pageVueRenderFn.call(this,t)},staticRenderFns:pageVueStaticRenderFns},No()),{},{mounted:function(){zo(),function(t){fetch(\"\".concat(baseUrl,\"/siteData.json\")).then((function(t){return t.json()})).then((function(e){t.searchData\u003de.pages}))}(this)}})).$mount(\"#app\",!0)}}})(),o\u003do.default})());"}],"authorContributionMap":{"jingting1412":1}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/js/polyfill.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"!function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var c\u003d\"function\"\u003d\u003dtypeof require\u0026\u0026require;if(!u\u0026\u0026c)return c(o,!0);if(i)return i(o,!0);var a\u003dnew Error(\"Cannot find module \u0027\"+o+\"\u0027\");throw a.code\u003d\"MODULE_NOT_FOUND\",a}var f\u003dn[o]\u003d{exports:{}};t[o][0].call(f.exports,function(n){var r\u003dt[o][1][n];return s(r||n)},f,f.exports,e,t,n,r)}return n[o].exports}for(var i\u003d\"function\"\u003d\u003dtypeof require\u0026\u0026require,o\u003d0;o\u003cr.length;o++)s(r[o]);return s}({1:[function(t,n,r){(function(n){\"use strict\";function define(t,n,e){t[n]||Object[r](t,n,{writable:!0,configurable:!0,value:e})}if(t(327),t(328),t(2),n._babelPolyfill)throw new Error(\"only one instance of babel-polyfill is allowed\");n._babelPolyfill\u003d!0;var r\u003d\"defineProperty\";define(String.prototype,\"padLeft\",\"\".padStart),define(String.prototype,\"padRight\",\"\".padEnd),\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function(t){[][t]\u0026\u0026define(Array,t,Function.call.bind([][t]))})}).call(this,\"undefined\"!\u003dtypeof global?global:\"undefined\"!\u003dtypeof self?self:\"undefined\"!\u003dtypeof window?window:{})},{2:2,327:327,328:328}],2:[function(t,n,r){t(130),n.exports\u003dt(23).RegExp.escape},{130:130,23:23}],3:[function(t,n,r){n.exports\u003dfunction(t){if(\"function\"!\u003dtypeof t)throw TypeError(t+\" is not a function!\");return t}},{}],4:[function(t,n,r){var e\u003dt(18);n.exports\u003dfunction(t,n){if(\"number\"!\u003dtypeof t\u0026\u0026\"Number\"!\u003de(t))throw TypeError(n);return+t}},{18:18}],5:[function(t,n,r){var e\u003dt(128)(\"unscopables\"),i\u003dArray.prototype;void 0\u003d\u003di[e]\u0026\u0026t(42)(i,e,{}),n.exports\u003dfunction(t){i[e][t]\u003d!0}},{128:128,42:42}],6:[function(t,n,r){n.exports\u003dfunction(t,n,r,e){if(!(t instanceof n)||void 0!\u003d\u003de\u0026\u0026e in t)throw TypeError(r+\": incorrect invocation!\");return t}},{}],7:[function(t,n,r){var e\u003dt(51);n.exports\u003dfunction(t){if(!e(t))throw TypeError(t+\" is not an object!\");return t}},{51:51}],8:[function(t,n,r){\"use strict\";var e\u003dt(119),i\u003dt(114),o\u003dt(118);n.exports\u003d[].copyWithin||function copyWithin(t,n){var r\u003de(this),u\u003do(r.length),c\u003di(t,u),a\u003di(n,u),f\u003darguments.length\u003e2?arguments[2]:void 0,s\u003dMath.min((void 0\u003d\u003d\u003df?u:i(f,u))-a,u-c),l\u003d1;for(a\u003cc\u0026\u0026c\u003ca+s\u0026\u0026(l\u003d-1,a+\u003ds-1,c+\u003ds-1);s-- \u003e0;)a in r?r[c]\u003dr[a]:delete r[c],c+\u003dl,a+\u003dl;return r}},{114:114,118:118,119:119}],9:[function(t,n,r){\"use strict\";var e\u003dt(119),i\u003dt(114),o\u003dt(118);n.exports\u003dfunction fill(t){for(var n\u003de(this),r\u003do(n.length),u\u003darguments.length,c\u003di(u\u003e1?arguments[1]:void 0,r),a\u003du\u003e2?arguments[2]:void 0,f\u003dvoid 0\u003d\u003d\u003da?r:i(a,r);f\u003ec;)n[c++]\u003dt;return n}},{114:114,118:118,119:119}],10:[function(t,n,r){var e\u003dt(39);n.exports\u003dfunction(t,n){var r\u003d[];return e(t,!1,r.push,r,n),r}},{39:39}],11:[function(t,n,r){var e\u003dt(117),i\u003dt(118),o\u003dt(114);n.exports\u003dfunction(t){return function(n,r,u){var c,a\u003de(n),f\u003di(a.length),s\u003do(u,f);if(t\u0026\u0026r!\u003dr){for(;f\u003es;)if((c\u003da[s++])!\u003dc)return!0}else for(;f\u003es;s++)if((t||s in a)\u0026\u0026a[s]\u003d\u003d\u003dr)return t||s||0;return!t\u0026\u0026-1}}},{114:114,117:117,118:118}],12:[function(t,n,r){var e\u003dt(25),i\u003dt(47),o\u003dt(119),u\u003dt(118),c\u003dt(15);n.exports\u003dfunction(t,n){var r\u003d1\u003d\u003dt,a\u003d2\u003d\u003dt,f\u003d3\u003d\u003dt,s\u003d4\u003d\u003dt,l\u003d6\u003d\u003dt,h\u003d5\u003d\u003dt||l,v\u003dn||c;return function(n,c,p){for(var d,y,g\u003do(n),m\u003di(g),b\u003de(c,p,3),x\u003du(m.length),S\u003d0,w\u003dr?v(n,x):a?v(n,0):void 0;x\u003eS;S++)if((h||S in m)\u0026\u0026(d\u003dm[S],y\u003db(d,S,g),t))if(r)w[S]\u003dy;else if(y)switch(t){case 3:return!0;case 5:return d;case 6:return S;case 2:w.push(d)}else if(s)return!1;return l?-1:f||s?s:w}}},{118:118,119:119,15:15,25:25,47:47}],13:[function(t,n,r){var e\u003dt(3),i\u003dt(119),o\u003dt(47),u\u003dt(118);n.exports\u003dfunction(t,n,r,c,a){e(n);var f\u003di(t),s\u003do(f),l\u003du(f.length),h\u003da?l-1:0,v\u003da?-1:1;if(r\u003c2)for(;;){if(h in s){c\u003ds[h],h+\u003dv;break}if(h+\u003dv,a?h\u003c0:l\u003c\u003dh)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?h\u003e\u003d0:l\u003eh;h+\u003dv)h in s\u0026\u0026(c\u003dn(c,s[h],h,f));return c}},{118:118,119:119,3:3,47:47}],14:[function(t,n,r){var e\u003dt(51),i\u003dt(49),o\u003dt(128)(\"species\");n.exports\u003dfunction(t){var n;return i(t)\u0026\u0026(n\u003dt.constructor,\"function\"!\u003dtypeof n||n!\u003d\u003dArray\u0026\u0026!i(n.prototype)||(n\u003dvoid 0),e(n)\u0026\u0026null\u003d\u003d\u003d(n\u003dn[o])\u0026\u0026(n\u003dvoid 0)),void 0\u003d\u003d\u003dn?Array:n}},{128:128,49:49,51:51}],15:[function(t,n,r){var e\u003dt(14);n.exports\u003dfunction(t,n){return new(e(t))(n)}},{14:14}],16:[function(t,n,r){\"use strict\";var e\u003dt(3),i\u003dt(51),o\u003dt(46),u\u003d[].slice,c\u003d{},a\u003dfunction(t,n,r){if(!(n in c)){for(var e\u003d[],i\u003d0;i\u003cn;i++)e[i]\u003d\"a[\"+i+\"]\";c[n]\u003dFunction(\"F,a\",\"return new F(\"+e.join(\",\")+\")\")}return c[n](t,r)};n.exports\u003dFunction.bind||function bind(t){var n\u003de(this),r\u003du.call(arguments,1),c\u003dfunction(){var e\u003dr.concat(u.call(arguments));return this instanceof c?a(n,e.length,e):o(n,e,t)};return i(n.prototype)\u0026\u0026(c.prototype\u003dn.prototype),c}},{3:3,46:46,51:51}],17:[function(t,n,r){var e\u003dt(18),i\u003dt(128)(\"toStringTag\"),o\u003d\"Arguments\"\u003d\u003de(function(){return arguments}()),u\u003dfunction(t,n){try{return t[n]}catch(t){}};n.exports\u003dfunction(t){var n,r,c;return void 0\u003d\u003d\u003dt?\"Undefined\":null\u003d\u003d\u003dt?\"Null\":\"string\"\u003d\u003dtypeof(r\u003du(n\u003dObject(t),i))?r:o?e(n):\"Object\"\u003d\u003d(c\u003de(n))\u0026\u0026\"function\"\u003d\u003dtypeof n.callee?\"Arguments\":c}},{128:128,18:18}],18:[function(t,n,r){var e\u003d{}.toString;n.exports\u003dfunction(t){return e.call(t).slice(8,-1)}},{}],19:[function(t,n,r){\"use strict\";var e\u003dt(72).f,i\u003dt(71),o\u003dt(93),u\u003dt(25),c\u003dt(6),a\u003dt(39),f\u003dt(55),s\u003dt(57),l\u003dt(100),h\u003dt(29),v\u003dt(66).fastKey,p\u003dt(125),d\u003dh?\"_s\":\"size\",y\u003dfunction(t,n){var r,e\u003dv(n);if(\"F\"!\u003d\u003de)return t._i[e];for(r\u003dt._f;r;r\u003dr.n)if(r.k\u003d\u003dn)return r};n.exports\u003d{getConstructor:function(t,n,r,f){var s\u003dt(function(t,e){c(t,s,n,\"_i\"),t._t\u003dn,t._i\u003di(null),t._f\u003dvoid 0,t._l\u003dvoid 0,t[d]\u003d0,void 0!\u003de\u0026\u0026a(e,r,t[f],t)});return o(s.prototype,{clear:function clear(){for(var t\u003dp(this,n),r\u003dt._i,e\u003dt._f;e;e\u003de.n)e.r\u003d!0,e.p\u0026\u0026(e.p\u003de.p.n\u003dvoid 0),delete r[e.i];t._f\u003dt._l\u003dvoid 0,t[d]\u003d0},delete:function(t){var r\u003dp(this,n),e\u003dy(r,t);if(e){var i\u003de.n,o\u003de.p;delete r._i[e.i],e.r\u003d!0,o\u0026\u0026(o.n\u003di),i\u0026\u0026(i.p\u003do),r._f\u003d\u003de\u0026\u0026(r._f\u003di),r._l\u003d\u003de\u0026\u0026(r._l\u003do),r[d]--}return!!e},forEach:function forEach(t){p(this,n);for(var r,e\u003du(t,arguments.length\u003e1?arguments[1]:void 0,3);r\u003dr?r.n:this._f;)for(e(r.v,r.k,this);r\u0026\u0026r.r;)r\u003dr.p},has:function has(t){return!!y(p(this,n),t)}}),h\u0026\u0026e(s.prototype,\"size\",{get:function(){return p(this,n)[d]}}),s},def:function(t,n,r){var e,i,o\u003dy(t,n);return o?o.v\u003dr:(t._l\u003do\u003d{i:i\u003dv(n,!0),k:n,v:r,p:e\u003dt._l,n:void 0,r:!1},t._f||(t._f\u003do),e\u0026\u0026(e.n\u003do),t[d]++,\"F\"!\u003d\u003di\u0026\u0026(t._i[i]\u003do)),t},getEntry:y,setStrong:function(t,n,r){f(t,n,function(t,r){this._t\u003dp(t,n),this._k\u003dr,this._l\u003dvoid 0},function(){for(var t\u003dthis,n\u003dt._k,r\u003dt._l;r\u0026\u0026r.r;)r\u003dr.p;return t._t\u0026\u0026(t._l\u003dr\u003dr?r.n:t._t._f)?\"keys\"\u003d\u003dn?s(0,r.k):\"values\"\u003d\u003dn?s(0,r.v):s(0,[r.k,r.v]):(t._t\u003dvoid 0,s(1))},r?\"entries\":\"values\",!r,!0),l(n)}}},{100:100,125:125,25:25,29:29,39:39,55:55,57:57,6:6,66:66,71:71,72:72,93:93}],20:[function(t,n,r){var e\u003dt(17),i\u003dt(10);n.exports\u003dfunction(t){return function toJSON(){if(e(this)!\u003dt)throw TypeError(t+\"#toJSON isn\u0027t generic\");return i(this)}}},{10:10,17:17}],21:[function(t,n,r){\"use strict\";var e\u003dt(93),i\u003dt(66).getWeak,o\u003dt(7),u\u003dt(51),c\u003dt(6),a\u003dt(39),f\u003dt(12),s\u003dt(41),l\u003dt(125),h\u003df(5),v\u003df(6),p\u003d0,d\u003dfunction(t){return t._l||(t._l\u003dnew y)},y\u003dfunction(){this.a\u003d[]},g\u003dfunction(t,n){return h(t.a,function(t){return t[0]\u003d\u003d\u003dn})};y.prototype\u003d{get:function(t){var n\u003dg(this,t);if(n)return n[1]},has:function(t){return!!g(this,t)},set:function(t,n){var r\u003dg(this,t);r?r[1]\u003dn:this.a.push([t,n])},delete:function(t){var n\u003dv(this.a,function(n){return n[0]\u003d\u003d\u003dt});return~n\u0026\u0026this.a.splice(n,1),!!~n}},n.exports\u003d{getConstructor:function(t,n,r,o){var f\u003dt(function(t,e){c(t,f,n,\"_i\"),t._t\u003dn,t._i\u003dp++,t._l\u003dvoid 0,void 0!\u003de\u0026\u0026a(e,r,t[o],t)});return e(f.prototype,{delete:function(t){if(!u(t))return!1;var r\u003di(t);return!0\u003d\u003d\u003dr?d(l(this,n)).delete(t):r\u0026\u0026s(r,this._i)\u0026\u0026delete r[this._i]},has:function has(t){if(!u(t))return!1;var r\u003di(t);return!0\u003d\u003d\u003dr?d(l(this,n)).has(t):r\u0026\u0026s(r,this._i)}}),f},def:function(t,n,r){var e\u003di(o(n),!0);return!0\u003d\u003d\u003de?d(t).set(n,r):e[t._i]\u003dr,t},ufstore:d}},{12:12,125:125,39:39,41:41,51:51,6:6,66:66,7:7,93:93}],22:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(33),o\u003dt(94),u\u003dt(93),c\u003dt(66),a\u003dt(39),f\u003dt(6),s\u003dt(51),l\u003dt(35),h\u003dt(56),v\u003dt(101),p\u003dt(45);n.exports\u003dfunction(t,n,r,d,y,g){var m\u003de[t],b\u003dm,x\u003dy?\"set\":\"add\",S\u003db\u0026\u0026b.prototype,w\u003d{},_\u003dfunction(t){var n\u003dS[t];o(S,t,\"delete\"\u003d\u003dt?function(t){return!(g\u0026\u0026!s(t))\u0026\u0026n.call(this,0\u003d\u003d\u003dt?0:t)}:\"has\"\u003d\u003dt?function has(t){return!(g\u0026\u0026!s(t))\u0026\u0026n.call(this,0\u003d\u003d\u003dt?0:t)}:\"get\"\u003d\u003dt?function get(t){return g\u0026\u0026!s(t)?void 0:n.call(this,0\u003d\u003d\u003dt?0:t)}:\"add\"\u003d\u003dt?function add(t){return n.call(this,0\u003d\u003d\u003dt?0:t),this}:function set(t,r){return n.call(this,0\u003d\u003d\u003dt?0:t,r),this})};if(\"function\"\u003d\u003dtypeof b\u0026\u0026(g||S.forEach\u0026\u0026!l(function(){(new b).entries().next()}))){var E\u003dnew b,O\u003dE[x](g?{}:-0,1)!\u003dE,P\u003dl(function(){E.has(1)}),M\u003dh(function(t){new b(t)}),F\u003d!g\u0026\u0026l(function(){for(var t\u003dnew b,n\u003d5;n--;)t[x](n,n);return!t.has(-0)});M||(b\u003dn(function(n,r){f(n,b,t);var e\u003dp(new m,n,b);return void 0!\u003dr\u0026\u0026a(r,y,e[x],e),e}),b.prototype\u003dS,S.constructor\u003db),(P||F)\u0026\u0026(_(\"delete\"),_(\"has\"),y\u0026\u0026_(\"get\")),(F||O)\u0026\u0026_(x),g\u0026\u0026S.clear\u0026\u0026delete S.clear}else b\u003dd.getConstructor(n,t,y,x),u(b.prototype,r),c.NEED\u003d!0;return v(b,t),w[t]\u003db,i(i.G+i.W+i.F*(b!\u003dm),w),g||d.setStrong(b,t,y),b}},{101:101,33:33,35:35,39:39,40:40,45:45,51:51,56:56,6:6,66:66,93:93,94:94}],23:[function(t,n,r){var e\u003dn.exports\u003d{version:\"2.5.0\"};\"number\"\u003d\u003dtypeof __e\u0026\u0026(__e\u003de)},{}],24:[function(t,n,r){\"use strict\";var e\u003dt(72),i\u003dt(92);n.exports\u003dfunction(t,n,r){n in t?e.f(t,n,i(0,r)):t[n]\u003dr}},{72:72,92:92}],25:[function(t,n,r){var e\u003dt(3);n.exports\u003dfunction(t,n,r){if(e(t),void 0\u003d\u003d\u003dn)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,i){return t.call(n,r,e,i)}}return function(){return t.apply(n,arguments)}}},{3:3}],26:[function(t,n,r){\"use strict\";var e\u003dt(35),i\u003dDate.prototype.getTime,o\u003dDate.prototype.toISOString,u\u003dfunction(t){return t\u003e9?t:\"0\"+t};n.exports\u003de(function(){return\"0385-07-25T07:06:39.999Z\"!\u003do.call(new Date(-5e13-1))})||!e(function(){o.call(new Date(NaN))})?function toISOString(){if(!isFinite(i.call(this)))throw RangeError(\"Invalid time value\");var t\u003dthis,n\u003dt.getUTCFullYear(),r\u003dt.getUTCMilliseconds(),e\u003dn\u003c0?\"-\":n\u003e9999?\"+\":\"\";return e+(\"00000\"+Math.abs(n)).slice(e?-6:-4)+\"-\"+u(t.getUTCMonth()+1)+\"-\"+u(t.getUTCDate())+\"T\"+u(t.getUTCHours())+\":\"+u(t.getUTCMinutes())+\":\"+u(t.getUTCSeconds())+\".\"+(r\u003e99?r:\"0\"+u(r))+\"Z\"}:o},{35:35}],27:[function(t,n,r){\"use strict\";var e\u003dt(7),i\u003dt(120);n.exports\u003dfunction(t){if(\"string\"!\u003d\u003dt\u0026\u0026\"number\"!\u003d\u003dt\u0026\u0026\"default\"!\u003d\u003dt)throw TypeError(\"Incorrect hint\");return i(e(this),\"number\"!\u003dt)}},{120:120,7:7}],28:[function(t,n,r){n.exports\u003dfunction(t){if(void 0\u003d\u003dt)throw TypeError(\"Can\u0027t call method on \"+t);return t}},{}],29:[function(t,n,r){n.exports\u003d!t(35)(function(){return 7!\u003dObject.defineProperty({},\"a\",{get:function(){return 7}}).a})},{35:35}],30:[function(t,n,r){var e\u003dt(51),i\u003dt(40).document,o\u003de(i)\u0026\u0026e(i.createElement);n.exports\u003dfunction(t){return o?i.createElement(t):{}}},{40:40,51:51}],31:[function(t,n,r){n.exports\u003d\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},{}],32:[function(t,n,r){var e\u003dt(81),i\u003dt(78),o\u003dt(82);n.exports\u003dfunction(t){var n\u003de(t),r\u003di.f;if(r)for(var u,c\u003dr(t),a\u003do.f,f\u003d0;c.length\u003ef;)a.call(t,u\u003dc[f++])\u0026\u0026n.push(u);return n}},{78:78,81:81,82:82}],33:[function(t,n,r){var e\u003dt(40),i\u003dt(23),o\u003dt(42),u\u003dt(94),c\u003dt(25),a\u003dfunction(t,n,r){var f,s,l,h,v\u003dt\u0026a.F,p\u003dt\u0026a.G,d\u003dt\u0026a.S,y\u003dt\u0026a.P,g\u003dt\u0026a.B,m\u003dp?e:d?e[n]||(e[n]\u003d{}):(e[n]||{}).prototype,b\u003dp?i:i[n]||(i[n]\u003d{}),x\u003db.prototype||(b.prototype\u003d{});p\u0026\u0026(r\u003dn);for(f in r)s\u003d!v\u0026\u0026m\u0026\u0026void 0!\u003d\u003dm[f],l\u003d(s?m:r)[f],h\u003dg\u0026\u0026s?c(l,e):y\u0026\u0026\"function\"\u003d\u003dtypeof l?c(Function.call,l):l,m\u0026\u0026u(m,f,l,t\u0026a.U),b[f]!\u003dl\u0026\u0026o(b,f,h),y\u0026\u0026x[f]!\u003dl\u0026\u0026(x[f]\u003dl)};e.core\u003di,a.F\u003d1,a.G\u003d2,a.S\u003d4,a.P\u003d8,a.B\u003d16,a.W\u003d32,a.U\u003d64,a.R\u003d128,n.exports\u003da},{23:23,25:25,40:40,42:42,94:94}],34:[function(t,n,r){var e\u003dt(128)(\"match\");n.exports\u003dfunction(t){var n\u003d/./;try{\"/./\"[t](n)}catch(r){try{return n[e]\u003d!1,!\"/./\"[t](n)}catch(t){}}return!0}},{128:128}],35:[function(t,n,r){n.exports\u003dfunction(t){try{return!!t()}catch(t){return!0}}},{}],36:[function(t,n,r){\"use strict\";var e\u003dt(42),i\u003dt(94),o\u003dt(35),u\u003dt(28),c\u003dt(128);n.exports\u003dfunction(t,n,r){var a\u003dc(t),f\u003dr(u,a,\"\"[t]),s\u003df[0],l\u003df[1];o(function(){var n\u003d{};return n[a]\u003dfunction(){return 7},7!\u003d\"\"[t](n)})\u0026\u0026(i(String.prototype,t,s),e(RegExp.prototype,a,2\u003d\u003dn?function(t,n){return l.call(t,this,n)}:function(t){return l.call(t,this)}))}},{128:128,28:28,35:35,42:42,94:94}],37:[function(t,n,r){\"use strict\";var e\u003dt(7);n.exports\u003dfunction(){var t\u003de(this),n\u003d\"\";return t.global\u0026\u0026(n+\u003d\"g\"),t.ignoreCase\u0026\u0026(n+\u003d\"i\"),t.multiline\u0026\u0026(n+\u003d\"m\"),t.unicode\u0026\u0026(n+\u003d\"u\"),t.sticky\u0026\u0026(n+\u003d\"y\"),n}},{7:7}],38:[function(t,n,r){\"use strict\";function flattenIntoArray(t,n,r,a,f,s,l,h){for(var v,p,d\u003df,y\u003d0,g\u003d!!l\u0026\u0026u(l,h,3);y\u003ca;){if(y in r){if(v\u003dg?g(r[y],y,n):r[y],p\u003d!1,i(v)\u0026\u0026(p\u003dv[c],p\u003dvoid 0!\u003d\u003dp?!!p:e(v)),p\u0026\u0026s\u003e0)d\u003dflattenIntoArray(t,n,v,o(v.length),d,s-1)-1;else{if(d\u003e\u003d9007199254740991)throw TypeError();t[d]\u003dv}d++}y++}return d}var e\u003dt(49),i\u003dt(51),o\u003dt(118),u\u003dt(25),c\u003dt(128)(\"isConcatSpreadable\");n.exports\u003dflattenIntoArray},{118:118,128:128,25:25,49:49,51:51}],39:[function(t,n,r){var e\u003dt(25),i\u003dt(53),o\u003dt(48),u\u003dt(7),c\u003dt(118),a\u003dt(129),f\u003d{},s\u003d{},r\u003dn.exports\u003dfunction(t,n,r,l,h){var v,p,d,y,g\u003dh?function(){return t}:a(t),m\u003de(r,l,n?2:1),b\u003d0;if(\"function\"!\u003dtypeof g)throw TypeError(t+\" is not iterable!\");if(o(g)){for(v\u003dc(t.length);v\u003eb;b++)if((y\u003dn?m(u(p\u003dt[b])[0],p[1]):m(t[b]))\u003d\u003d\u003df||y\u003d\u003d\u003ds)return y}else for(d\u003dg.call(t);!(p\u003dd.next()).done;)if((y\u003di(d,m,p.value,n))\u003d\u003d\u003df||y\u003d\u003d\u003ds)return y};r.BREAK\u003df,r.RETURN\u003ds},{118:118,129:129,25:25,48:48,53:53,7:7}],40:[function(t,n,r){var e\u003dn.exports\u003d\"undefined\"!\u003dtypeof window\u0026\u0026window.Math\u003d\u003dMath?window:\"undefined\"!\u003dtypeof self\u0026\u0026self.Math\u003d\u003dMath?self:Function(\"return this\")();\"number\"\u003d\u003dtypeof __g\u0026\u0026(__g\u003de)},{}],41:[function(t,n,r){var e\u003d{}.hasOwnProperty;n.exports\u003dfunction(t,n){return e.call(t,n)}},{}],42:[function(t,n,r){var e\u003dt(72),i\u003dt(92);n.exports\u003dt(29)?function(t,n,r){return e.f(t,n,i(1,r))}:function(t,n,r){return t[n]\u003dr,t}},{29:29,72:72,92:92}],43:[function(t,n,r){var e\u003dt(40).document;n.exports\u003de\u0026\u0026e.documentElement},{40:40}],44:[function(t,n,r){n.exports\u003d!t(29)\u0026\u0026!t(35)(function(){return 7!\u003dObject.defineProperty(t(30)(\"div\"),\"a\",{get:function(){return 7}}).a})},{29:29,30:30,35:35}],45:[function(t,n,r){var e\u003dt(51),i\u003dt(99).set;n.exports\u003dfunction(t,n,r){var o,u\u003dn.constructor;return u!\u003d\u003dr\u0026\u0026\"function\"\u003d\u003dtypeof u\u0026\u0026(o\u003du.prototype)!\u003d\u003dr.prototype\u0026\u0026e(o)\u0026\u0026i\u0026\u0026i(t,o),t}},{51:51,99:99}],46:[function(t,n,r){n.exports\u003dfunction(t,n,r){var e\u003dvoid 0\u003d\u003d\u003dr;switch(n.length){case 0:return e?t():t.call(r);case 1:return e?t(n[0]):t.call(r,n[0]);case 2:return e?t(n[0],n[1]):t.call(r,n[0],n[1]);case 3:return e?t(n[0],n[1],n[2]):t.call(r,n[0],n[1],n[2]);case 4:return e?t(n[0],n[1],n[2],n[3]):t.call(r,n[0],n[1],n[2],n[3])}return t.apply(r,n)}},{}],47:[function(t,n,r){var e\u003dt(18);n.exports\u003dObject(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"\u003d\u003de(t)?t.split(\"\"):Object(t)}},{18:18}],48:[function(t,n,r){var e\u003dt(58),i\u003dt(128)(\"iterator\"),o\u003dArray.prototype;n.exports\u003dfunction(t){return void 0!\u003d\u003dt\u0026\u0026(e.Array\u003d\u003d\u003dt||o[i]\u003d\u003d\u003dt)}},{128:128,58:58}],49:[function(t,n,r){var e\u003dt(18);n.exports\u003dArray.isArray||function isArray(t){return\"Array\"\u003d\u003de(t)}},{18:18}],50:[function(t,n,r){var e\u003dt(51),i\u003dMath.floor;n.exports\u003dfunction isInteger(t){return!e(t)\u0026\u0026isFinite(t)\u0026\u0026i(t)\u003d\u003d\u003dt}},{51:51}],51:[function(t,n,r){n.exports\u003dfunction(t){return\"object\"\u003d\u003dtypeof t?null!\u003d\u003dt:\"function\"\u003d\u003dtypeof t}},{}],52:[function(t,n,r){var e\u003dt(51),i\u003dt(18),o\u003dt(128)(\"match\");n.exports\u003dfunction(t){var n;return e(t)\u0026\u0026(void 0!\u003d\u003d(n\u003dt[o])?!!n:\"RegExp\"\u003d\u003di(t))}},{128:128,18:18,51:51}],53:[function(t,n,r){var e\u003dt(7);n.exports\u003dfunction(t,n,r,i){try{return i?n(e(r)[0],r[1]):n(r)}catch(n){var o\u003dt.return;throw void 0!\u003d\u003do\u0026\u0026e(o.call(t)),n}}},{7:7}],54:[function(t,n,r){\"use strict\";var e\u003dt(71),i\u003dt(92),o\u003dt(101),u\u003d{};t(42)(u,t(128)(\"iterator\"),function(){return this}),n.exports\u003dfunction(t,n,r){t.prototype\u003de(u,{next:i(1,r)}),o(t,n+\" Iterator\")}},{101:101,128:128,42:42,71:71,92:92}],55:[function(t,n,r){\"use strict\";var e\u003dt(60),i\u003dt(33),o\u003dt(94),u\u003dt(42),c\u003dt(41),a\u003dt(58),f\u003dt(54),s\u003dt(101),l\u003dt(79),h\u003dt(128)(\"iterator\"),v\u003d!([].keys\u0026\u0026\"next\"in[].keys()),p\u003dfunction(){return this};n.exports\u003dfunction(t,n,r,d,y,g,m){f(r,n,d);var b,x,S,w\u003dfunction(t){if(!v\u0026\u0026t in P)return P[t];switch(t){case\"keys\":return function keys(){return new r(this,t)};case\"values\":return function values(){return new r(this,t)}}return function entries(){return new r(this,t)}},_\u003dn+\" Iterator\",E\u003d\"values\"\u003d\u003dy,O\u003d!1,P\u003dt.prototype,M\u003dP[h]||P[\"@@iterator\"]||y\u0026\u0026P[y],F\u003dM||w(y),I\u003dy?E?w(\"entries\"):F:void 0,A\u003d\"Array\"\u003d\u003dn?P.entries||M:M;if(A\u0026\u0026(S\u003dl(A.call(new t)))!\u003d\u003dObject.prototype\u0026\u0026S.next\u0026\u0026(s(S,_,!0),e||c(S,h)||u(S,h,p)),E\u0026\u0026M\u0026\u0026\"values\"!\u003d\u003dM.name\u0026\u0026(O\u003d!0,F\u003dfunction values(){return M.call(this)}),e\u0026\u0026!m||!v\u0026\u0026!O\u0026\u0026P[h]||u(P,h,F),a[n]\u003dF,a[_]\u003dp,y)if(b\u003d{values:E?F:w(\"values\"),keys:g?F:w(\"keys\"),entries:I},m)for(x in b)x in P||o(P,x,b[x]);else i(i.P+i.F*(v||O),n,b);return b}},{101:101,128:128,33:33,41:41,42:42,54:54,58:58,60:60,79:79,94:94}],56:[function(t,n,r){var e\u003dt(128)(\"iterator\"),i\u003d!1;try{var o\u003d[7][e]();o.return\u003dfunction(){i\u003d!0},Array.from(o,function(){throw 2})}catch(t){}n.exports\u003dfunction(t,n){if(!n\u0026\u0026!i)return!1;var r\u003d!1;try{var o\u003d[7],u\u003do[e]();u.next\u003dfunction(){return{done:r\u003d!0}},o[e]\u003dfunction(){return u},t(o)}catch(t){}return r}},{128:128}],57:[function(t,n,r){n.exports\u003dfunction(t,n){return{value:n,done:!!t}}},{}],58:[function(t,n,r){n.exports\u003d{}},{}],59:[function(t,n,r){var e\u003dt(81),i\u003dt(117);n.exports\u003dfunction(t,n){for(var r,o\u003di(t),u\u003de(o),c\u003du.length,a\u003d0;c\u003ea;)if(o[r\u003du[a++]]\u003d\u003d\u003dn)return r}},{117:117,81:81}],60:[function(t,n,r){n.exports\u003d!1},{}],61:[function(t,n,r){var e\u003dMath.expm1;n.exports\u003d!e||e(10)\u003e22025.465794806718||e(10)\u003c22025.465794806718||-2e-17!\u003de(-2e-17)?function expm1(t){return 0\u003d\u003d(t\u003d+t)?t:t\u003e-1e-6\u0026\u0026t\u003c1e-6?t+t*t/2:Math.exp(t)-1}:e},{}],62:[function(t,n,r){var e\u003dt(65),i\u003dMath.pow,o\u003di(2,-52),u\u003di(2,-23),c\u003di(2,127)*(2-u),a\u003di(2,-126),f\u003dfunction(t){return t+1/o-1/o};n.exports\u003dMath.fround||function fround(t){var n,r,i\u003dMath.abs(t),s\u003de(t);return i\u003ca?s*f(i/a/u)*a*u:(n\u003d(1+u/o)*i,r\u003dn-(n-i),r\u003ec||r!\u003dr?s*(1/0):s*r)}},{65:65}],63:[function(t,n,r){n.exports\u003dMath.log1p||function log1p(t){return(t\u003d+t)\u003e-1e-8\u0026\u0026t\u003c1e-8?t-t*t/2:Math.log(1+t)}},{}],64:[function(t,n,r){n.exports\u003dMath.scale||function scale(t,n,r,e,i){return 0\u003d\u003d\u003darguments.length||t!\u003dt||n!\u003dn||r!\u003dr||e!\u003de||i!\u003di?NaN:t\u003d\u003d\u003d1/0||t\u003d\u003d\u003d-1/0?t:(t-n)*(i-e)/(r-n)+e}},{}],65:[function(t,n,r){n.exports\u003dMath.sign||function sign(t){return 0\u003d\u003d(t\u003d+t)||t!\u003dt?t:t\u003c0?-1:1}},{}],66:[function(t,n,r){var e\u003dt(124)(\"meta\"),i\u003dt(51),o\u003dt(41),u\u003dt(72).f,c\u003d0,a\u003dObject.isExtensible||function(){return!0},f\u003d!t(35)(function(){return a(Object.preventExtensions({}))}),s\u003dfunction(t){u(t,e,{value:{i:\"O\"+ ++c,w:{}}})},l\u003dfunction(t,n){if(!i(t))return\"symbol\"\u003d\u003dtypeof t?t:(\"string\"\u003d\u003dtypeof t?\"S\":\"P\")+t;if(!o(t,e)){if(!a(t))return\"F\";if(!n)return\"E\";s(t)}return t[e].i},h\u003dfunction(t,n){if(!o(t,e)){if(!a(t))return!0;if(!n)return!1;s(t)}return t[e].w},v\u003dfunction(t){return f\u0026\u0026p.NEED\u0026\u0026a(t)\u0026\u0026!o(t,e)\u0026\u0026s(t),t},p\u003dn.exports\u003d{KEY:e,NEED:!1,fastKey:l,getWeak:h,onFreeze:v}},{124:124,35:35,41:41,51:51,72:72}],67:[function(t,n,r){var e\u003dt(160),i\u003dt(33),o\u003dt(103)(\"metadata\"),u\u003do.store||(o.store\u003dnew(t(266))),c\u003dfunction(t,n,r){var i\u003du.get(t);if(!i){if(!r)return;u.set(t,i\u003dnew e)}var o\u003di.get(n);if(!o){if(!r)return;i.set(n,o\u003dnew e)}return o},a\u003dfunction(t,n,r){var e\u003dc(n,r,!1);return void 0!\u003d\u003de\u0026\u0026e.has(t)},f\u003dfunction(t,n,r){var e\u003dc(n,r,!1);return void 0\u003d\u003d\u003de?void 0:e.get(t)},s\u003dfunction(t,n,r,e){c(r,e,!0).set(t,n)},l\u003dfunction(t,n){var r\u003dc(t,n,!1),e\u003d[];return r\u0026\u0026r.forEach(function(t,n){e.push(n)}),e},h\u003dfunction(t){return void 0\u003d\u003d\u003dt||\"symbol\"\u003d\u003dtypeof t?t:String(t)},v\u003dfunction(t){i(i.S,\"Reflect\",t)};n.exports\u003d{store:u,map:c,has:a,get:f,set:s,keys:l,key:h,exp:v}},{103:103,160:160,266:266,33:33}],68:[function(t,n,r){var e\u003dt(40),i\u003dt(113).set,o\u003de.MutationObserver||e.WebKitMutationObserver,u\u003de.process,c\u003de.Promise,a\u003d\"process\"\u003d\u003dt(18)(u);n.exports\u003dfunction(){var t,n,r,f\u003dfunction(){var e,i;for(a\u0026\u0026(e\u003du.domain)\u0026\u0026e.exit();t;){i\u003dt.fn,t\u003dt.next;try{i()}catch(e){throw t?r():n\u003dvoid 0,e}}n\u003dvoid 0,e\u0026\u0026e.enter()};if(a)r\u003dfunction(){u.nextTick(f)};else if(o){var s\u003d!0,l\u003ddocument.createTextNode(\"\");new o(f).observe(l,{characterData:!0}),r\u003dfunction(){l.data\u003ds\u003d!s}}else if(c\u0026\u0026c.resolve){var h\u003dc.resolve();r\u003dfunction(){h.then(f)}}else r\u003dfunction(){i.call(e,f)};return function(e){var i\u003d{fn:e,next:void 0};n\u0026\u0026(n.next\u003di),t||(t\u003di,r()),n\u003di}}},{113:113,18:18,40:40}],69:[function(t,n,r){\"use strict\";function PromiseCapability(t){var n,r;this.promise\u003dnew t(function(t,e){if(void 0!\u003d\u003dn||void 0!\u003d\u003dr)throw TypeError(\"Bad Promise constructor\");n\u003dt,r\u003de}),this.resolve\u003de(n),this.reject\u003de(r)}var e\u003dt(3);n.exports.f\u003dfunction(t){return new PromiseCapability(t)}},{3:3}],70:[function(t,n,r){\"use strict\";var e\u003dt(81),i\u003dt(78),o\u003dt(82),u\u003dt(119),c\u003dt(47),a\u003dObject.assign;n.exports\u003d!a||t(35)(function(){var t\u003d{},n\u003d{},r\u003dSymbol(),e\u003d\"abcdefghijklmnopqrst\";return t[r]\u003d7,e.split(\"\").forEach(function(t){n[t]\u003dt}),7!\u003da({},t)[r]||Object.keys(a({},n)).join(\"\")!\u003de})?function assign(t,n){for(var r\u003du(t),a\u003darguments.length,f\u003d1,s\u003di.f,l\u003do.f;a\u003ef;)for(var h,v\u003dc(arguments[f++]),p\u003ds?e(v).concat(s(v)):e(v),d\u003dp.length,y\u003d0;d\u003ey;)l.call(v,h\u003dp[y++])\u0026\u0026(r[h]\u003dv[h]);return r}:a},{119:119,35:35,47:47,78:78,81:81,82:82}],71:[function(t,n,r){var e\u003dt(7),i\u003dt(73),o\u003dt(31),u\u003dt(102)(\"IE_PROTO\"),c\u003dfunction(){},a\u003dfunction(){var n,r\u003dt(30)(\"iframe\"),e\u003do.length;for(r.style.display\u003d\"none\",t(43).appendChild(r),r.src\u003d\"javascript:\",n\u003dr.contentWindow.document,n.open(),n.write(\"\u003cscript\u003edocument.F\u003dObject\u003c\\/script\u003e\"),n.close(),a\u003dn.F;e--;)delete a.prototype[o[e]];return a()};n.exports\u003dObject.create||function create(t,n){var r;return null!\u003d\u003dt?(c.prototype\u003de(t),r\u003dnew c,c.prototype\u003dnull,r[u]\u003dt):r\u003da(),void 0\u003d\u003d\u003dn?r:i(r,n)}},{102:102,30:30,31:31,43:43,7:7,73:73}],72:[function(t,n,r){var e\u003dt(7),i\u003dt(44),o\u003dt(120),u\u003dObject.defineProperty;r.f\u003dt(29)?Object.defineProperty:function defineProperty(t,n,r){if(e(t),n\u003do(n,!0),e(r),i)try{return u(t,n,r)}catch(t){}if(\"get\"in r||\"set\"in r)throw TypeError(\"Accessors not supported!\");return\"value\"in r\u0026\u0026(t[n]\u003dr.value),t}},{120:120,29:29,44:44,7:7}],73:[function(t,n,r){var e\u003dt(72),i\u003dt(7),o\u003dt(81);n.exports\u003dt(29)?Object.defineProperties:function defineProperties(t,n){i(t);for(var r,u\u003do(n),c\u003du.length,a\u003d0;c\u003ea;)e.f(t,r\u003du[a++],n[r]);return t}},{29:29,7:7,72:72,81:81}],74:[function(t,n,r){\"use strict\";n.exports\u003dt(60)||!t(35)(function(){var n\u003dMath.random();__defineSetter__.call(null,n,function(){}),delete t(40)[n]})},{35:35,40:40,60:60}],75:[function(t,n,r){var e\u003dt(82),i\u003dt(92),o\u003dt(117),u\u003dt(120),c\u003dt(41),a\u003dt(44),f\u003dObject.getOwnPropertyDescriptor;r.f\u003dt(29)?f:function getOwnPropertyDescriptor(t,n){if(t\u003do(t),n\u003du(n,!0),a)try{return f(t,n)}catch(t){}if(c(t,n))return i(!e.f.call(t,n),t[n])}},{117:117,120:120,29:29,41:41,44:44,82:82,92:92}],76:[function(t,n,r){var e\u003dt(117),i\u003dt(77).f,o\u003d{}.toString,u\u003d\"object\"\u003d\u003dtypeof window\u0026\u0026window\u0026\u0026Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c\u003dfunction(t){try{return i(t)}catch(t){return u.slice()}};n.exports.f\u003dfunction getOwnPropertyNames(t){return u\u0026\u0026\"[object Window]\"\u003d\u003do.call(t)?c(t):i(e(t))}},{117:117,77:77}],77:[function(t,n,r){var e\u003dt(80),i\u003dt(31).concat(\"length\",\"prototype\");r.f\u003dObject.getOwnPropertyNames||function getOwnPropertyNames(t){return e(t,i)}},{31:31,80:80}],78:[function(t,n,r){r.f\u003dObject.getOwnPropertySymbols},{}],79:[function(t,n,r){var e\u003dt(41),i\u003dt(119),o\u003dt(102)(\"IE_PROTO\"),u\u003dObject.prototype;n.exports\u003dObject.getPrototypeOf||function(t){return t\u003di(t),e(t,o)?t[o]:\"function\"\u003d\u003dtypeof t.constructor\u0026\u0026t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},{102:102,119:119,41:41}],80:[function(t,n,r){var e\u003dt(41),i\u003dt(117),o\u003dt(11)(!1),u\u003dt(102)(\"IE_PROTO\");n.exports\u003dfunction(t,n){var r,c\u003di(t),a\u003d0,f\u003d[];for(r in c)r!\u003du\u0026\u0026e(c,r)\u0026\u0026f.push(r);for(;n.length\u003ea;)e(c,r\u003dn[a++])\u0026\u0026(~o(f,r)||f.push(r));return f}},{102:102,11:11,117:117,41:41}],81:[function(t,n,r){var e\u003dt(80),i\u003dt(31);n.exports\u003dObject.keys||function keys(t){return e(t,i)}},{31:31,80:80}],82:[function(t,n,r){r.f\u003d{}.propertyIsEnumerable},{}],83:[function(t,n,r){var e\u003dt(33),i\u003dt(23),o\u003dt(35);n.exports\u003dfunction(t,n){var r\u003d(i.Object||{})[t]||Object[t],u\u003d{};u[t]\u003dn(r),e(e.S+e.F*o(function(){r(1)}),\"Object\",u)}},{23:23,33:33,35:35}],84:[function(t,n,r){var e\u003dt(81),i\u003dt(117),o\u003dt(82).f;n.exports\u003dfunction(t){return function(n){for(var r,u\u003di(n),c\u003de(u),a\u003dc.length,f\u003d0,s\u003d[];a\u003ef;)o.call(u,r\u003dc[f++])\u0026\u0026s.push(t?[r,u[r]]:u[r]);return s}}},{117:117,81:81,82:82}],85:[function(t,n,r){var e\u003dt(77),i\u003dt(78),o\u003dt(7),u\u003dt(40).Reflect;n.exports\u003du\u0026\u0026u.ownKeys||function ownKeys(t){var n\u003de.f(o(t)),r\u003di.f;return r?n.concat(r(t)):n}},{40:40,7:7,77:77,78:78}],86:[function(t,n,r){var e\u003dt(40).parseFloat,i\u003dt(111).trim;n.exports\u003d1/e(t(112)+\"-0\")!\u003d-1/0?function parseFloat(t){var n\u003di(String(t),3),r\u003de(n);return 0\u003d\u003d\u003dr\u0026\u0026\"-\"\u003d\u003dn.charAt(0)?-0:r}:e},{111:111,112:112,40:40}],87:[function(t,n,r){var e\u003dt(40).parseInt,i\u003dt(111).trim,o\u003dt(112),u\u003d/^[-+]?0[xX]/;n.exports\u003d8!\u003d\u003de(o+\"08\")||22!\u003d\u003de(o+\"0x16\")?function parseInt(t,n){var r\u003di(String(t),3);return e(r,n\u003e\u003e\u003e0||(u.test(r)?16:10))}:e},{111:111,112:112,40:40}],88:[function(t,n,r){\"use strict\";var e\u003dt(89),i\u003dt(46),o\u003dt(3);n.exports\u003dfunction(){for(var t\u003do(this),n\u003darguments.length,r\u003dArray(n),u\u003d0,c\u003de._,a\u003d!1;n\u003eu;)(r[u]\u003darguments[u++])\u003d\u003d\u003dc\u0026\u0026(a\u003d!0);return function(){var e,o\u003dthis,u\u003darguments.length,f\u003d0,s\u003d0;if(!a\u0026\u0026!u)return i(t,r,o);if(e\u003dr.slice(),a)for(;n\u003ef;f++)e[f]\u003d\u003d\u003dc\u0026\u0026(e[f]\u003darguments[s++]);for(;u\u003es;)e.push(arguments[s++]);return i(t,e,o)}}},{3:3,46:46,89:89}],89:[function(t,n,r){n.exports\u003dt(40)},{40:40}],90:[function(t,n,r){n.exports\u003dfunction(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},{}],91:[function(t,n,r){var e\u003dt(69);n.exports\u003dfunction(t,n){var r\u003de.f(t);return(0,r.resolve)(n),r.promise}},{69:69}],92:[function(t,n,r){n.exports\u003dfunction(t,n){return{enumerable:!(1\u0026t),configurable:!(2\u0026t),writable:!(4\u0026t),value:n}}},{}],93:[function(t,n,r){var e\u003dt(94);n.exports\u003dfunction(t,n,r){for(var i in n)e(t,i,n[i],r);return t}},{94:94}],94:[function(t,n,r){var e\u003dt(40),i\u003dt(42),o\u003dt(41),u\u003dt(124)(\"src\"),c\u003dFunction.toString,a\u003d(\"\"+c).split(\"toString\");t(23).inspectSource\u003dfunction(t){return c.call(t)},(n.exports\u003dfunction(t,n,r,c){var f\u003d\"function\"\u003d\u003dtypeof r;f\u0026\u0026(o(r,\"name\")||i(r,\"name\",n)),t[n]!\u003d\u003dr\u0026\u0026(f\u0026\u0026(o(r,u)||i(r,u,t[n]?\"\"+t[n]:a.join(String(n)))),t\u003d\u003d\u003de?t[n]\u003dr:c?t[n]?t[n]\u003dr:i(t,n,r):(delete t[n],i(t,n,r)))})(Function.prototype,\"toString\",function toString(){return\"function\"\u003d\u003dtypeof this\u0026\u0026this[u]||c.call(this)})},{124:124,23:23,40:40,41:41,42:42}],95:[function(t,n,r){n.exports\u003dfunction(t,n){var r\u003dn\u003d\u003d\u003dObject(n)?function(t){return n[t]}:n;return function(n){return String(n).replace(t,r)}}},{}],96:[function(t,n,r){n.exports\u003dObject.is||function is(t,n){return t\u003d\u003d\u003dn?0!\u003d\u003dt||1/t\u003d\u003d1/n:t!\u003dt\u0026\u0026n!\u003dn}},{}],97:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(3),o\u003dt(25),u\u003dt(39);n.exports\u003dfunction(t){e(e.S,t,{from:function from(t){var n,r,e,c,a\u003darguments[1];return i(this),n\u003dvoid 0!\u003d\u003da,n\u0026\u0026i(a),void 0\u003d\u003dt?new this:(r\u003d[],n?(e\u003d0,c\u003do(a,arguments[2],2),u(t,!1,function(t){r.push(c(t,e++))})):u(t,!1,r.push,r),new this(r))}})}},{25:25,3:3,33:33,39:39}],98:[function(t,n,r){\"use strict\";var e\u003dt(33);n.exports\u003dfunction(t){e(e.S,t,{of:function of(){for(var t\u003darguments.length,n\u003dArray(t);t--;)n[t]\u003darguments[t];return new this(n)}})}},{33:33}],99:[function(t,n,r){var e\u003dt(51),i\u003dt(7),o\u003dfunction(t,n){if(i(t),!e(n)\u0026\u0026null!\u003d\u003dn)throw TypeError(n+\": can\u0027t set as prototype!\")};n.exports\u003d{set:Object.setPrototypeOf||(\"__proto__\"in{}?function(n,r,e){try{e\u003dt(25)(Function.call,t(75).f(Object.prototype,\"__proto__\").set,2),e(n,[]),r\u003d!(n instanceof Array)}catch(t){r\u003d!0}return function setPrototypeOf(t,n){return o(t,n),r?t.__proto__\u003dn:e(t,n),t}}({},!1):void 0),check:o}},{25:25,51:51,7:7,75:75}],100:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(72),o\u003dt(29),u\u003dt(128)(\"species\");n.exports\u003dfunction(t){var n\u003de[t];o\u0026\u0026n\u0026\u0026!n[u]\u0026\u0026i.f(n,u,{configurable:!0,get:function(){return this}})}},{128:128,29:29,40:40,72:72}],101:[function(t,n,r){var e\u003dt(72).f,i\u003dt(41),o\u003dt(128)(\"toStringTag\");n.exports\u003dfunction(t,n,r){t\u0026\u0026!i(t\u003dr?t:t.prototype,o)\u0026\u0026e(t,o,{configurable:!0,value:n})}},{128:128,41:41,72:72}],102:[function(t,n,r){var e\u003dt(103)(\"keys\"),i\u003dt(124);n.exports\u003dfunction(t){return e[t]||(e[t]\u003di(t))}},{103:103,124:124}],103:[function(t,n,r){var e\u003dt(40),i\u003de[\"__core-js_shared__\"]||(e[\"__core-js_shared__\"]\u003d{});n.exports\u003dfunction(t){return i[t]||(i[t]\u003d{})}},{40:40}],104:[function(t,n,r){var e\u003dt(7),i\u003dt(3),o\u003dt(128)(\"species\");n.exports\u003dfunction(t,n){var r,u\u003de(t).constructor;return void 0\u003d\u003d\u003du||void 0\u003d\u003d(r\u003de(u)[o])?n:i(r)}},{128:128,3:3,7:7}],105:[function(t,n,r){\"use strict\";var e\u003dt(35);n.exports\u003dfunction(t,n){return!!t\u0026\u0026e(function(){n?t.call(null,function(){},1):t.call(null)})}},{35:35}],106:[function(t,n,r){var e\u003dt(116),i\u003dt(28);n.exports\u003dfunction(t){return function(n,r){var o,u,c\u003dString(i(n)),a\u003de(r),f\u003dc.length;return a\u003c0||a\u003e\u003df?t?\"\":void 0:(o\u003dc.charCodeAt(a),o\u003c55296||o\u003e56319||a+1\u003d\u003d\u003df||(u\u003dc.charCodeAt(a+1))\u003c56320||u\u003e57343?t?c.charAt(a):o:t?c.slice(a,a+2):u-56320+(o-55296\u003c\u003c10)+65536)}}},{116:116,28:28}],107:[function(t,n,r){var e\u003dt(52),i\u003dt(28);n.exports\u003dfunction(t,n,r){if(e(n))throw TypeError(\"String#\"+r+\" doesn\u0027t accept regex!\");return String(i(t))}},{28:28,52:52}],108:[function(t,n,r){var e\u003dt(33),i\u003dt(35),o\u003dt(28),u\u003d/\"/g,c\u003dfunction(t,n,r,e){var i\u003dString(o(t)),c\u003d\"\u003c\"+n;return\"\"!\u003d\u003dr\u0026\u0026(c+\u003d\" \"+r+\u0027\u003d\"\u0027+String(e).replace(u,\"\u0026quot;\")+\u0027\"\u0027),c+\"\u003e\"+i+\"\u003c/\"+n+\"\u003e\"};n.exports\u003dfunction(t,n){var r\u003d{};r[t]\u003dn(c),e(e.P+e.F*i(function(){var n\u003d\"\"[t](\u0027\"\u0027);return n!\u003d\u003dn.toLowerCase()||n.split(\u0027\"\u0027).length\u003e3}),\"String\",r)}},{28:28,33:33,35:35}],109:[function(t,n,r){var e\u003dt(118),i\u003dt(110),o\u003dt(28);n.exports\u003dfunction(t,n,r,u){var c\u003dString(o(t)),a\u003dc.length,f\u003dvoid 0\u003d\u003d\u003dr?\" \":String(r),s\u003de(n);if(s\u003c\u003da||\"\"\u003d\u003df)return c;var l\u003ds-a,h\u003di.call(f,Math.ceil(l/f.length));return h.length\u003el\u0026\u0026(h\u003dh.slice(0,l)),u?h+c:c+h}},{110:110,118:118,28:28}],110:[function(t,n,r){\"use strict\";var e\u003dt(116),i\u003dt(28);n.exports\u003dfunction repeat(t){var n\u003dString(i(this)),r\u003d\"\",o\u003de(t);if(o\u003c0||o\u003d\u003d1/0)throw RangeError(\"Count can\u0027t be negative\");for(;o\u003e0;(o\u003e\u003e\u003e\u003d1)\u0026\u0026(n+\u003dn))1\u0026o\u0026\u0026(r+\u003dn);return r}},{116:116,28:28}],111:[function(t,n,r){var e\u003dt(33),i\u003dt(28),o\u003dt(35),u\u003dt(112),c\u003d\"[\"+u+\"]\",a\u003d\"​…\",f\u003dRegExp(\"^\"+c+c+\"*\"),s\u003dRegExp(c+c+\"*$\"),l\u003dfunction(t,n,r){var i\u003d{},c\u003do(function(){return!!u[t]()||a[t]()!\u003da}),f\u003di[t]\u003dc?n(h):u[t];r\u0026\u0026(i[r]\u003df),e(e.P+e.F*c,\"String\",i)},h\u003dl.trim\u003dfunction(t,n){return t\u003dString(i(t)),1\u0026n\u0026\u0026(t\u003dt.replace(f,\"\")),2\u0026n\u0026\u0026(t\u003dt.replace(s,\"\")),t};n.exports\u003dl},{112:112,28:28,33:33,35:35}],112:[function(t,n,r){n.exports\u003d\"\\t\\n\\v\\f\\r   ᠎              \\u2028\\u2029\\ufeff\"},{}],113:[function(t,n,r){var e,i,o,u\u003dt(25),c\u003dt(46),a\u003dt(43),f\u003dt(30),s\u003dt(40),l\u003ds.process,h\u003ds.setImmediate,v\u003ds.clearImmediate,p\u003ds.MessageChannel,d\u003ds.Dispatch,y\u003d0,g\u003d{},m\u003dfunction(){var t\u003d+this;if(g.hasOwnProperty(t)){var n\u003dg[t];delete g[t],n()}},b\u003dfunction(t){m.call(t.data)};h\u0026\u0026v||(h\u003dfunction setImmediate(t){for(var n\u003d[],r\u003d1;arguments.length\u003er;)n.push(arguments[r++]);return g[++y]\u003dfunction(){c(\"function\"\u003d\u003dtypeof t?t:Function(t),n)},e(y),y},v\u003dfunction clearImmediate(t){delete g[t]},\"process\"\u003d\u003dt(18)(l)?e\u003dfunction(t){l.nextTick(u(m,t,1))}:d\u0026\u0026d.now?e\u003dfunction(t){d.now(u(m,t,1))}:p?(i\u003dnew p,o\u003di.port2,i.port1.onmessage\u003db,e\u003du(o.postMessage,o,1)):s.addEventListener\u0026\u0026\"function\"\u003d\u003dtypeof postMessage\u0026\u0026!s.importScripts?(e\u003dfunction(t){s.postMessage(t+\"\",\"*\")},s.addEventListener(\"message\",b,!1)):e\u003d\"onreadystatechange\"in f(\"script\")?function(t){a.appendChild(f(\"script\")).onreadystatechange\u003dfunction(){a.removeChild(this),m.call(t)}}:function(t){setTimeout(u(m,t,1),0)}),n.exports\u003d{set:h,clear:v}},{18:18,25:25,30:30,40:40,43:43,46:46}],114:[function(t,n,r){var e\u003dt(116),i\u003dMath.max,o\u003dMath.min;n.exports\u003dfunction(t,n){return t\u003de(t),t\u003c0?i(t+n,0):o(t,n)}},{116:116}],115:[function(t,n,r){var e\u003dt(116),i\u003dt(118);n.exports\u003dfunction(t){if(void 0\u003d\u003d\u003dt)return 0;var n\u003de(t),r\u003di(n);if(n!\u003d\u003dr)throw RangeError(\"Wrong length!\");return r}},{116:116,118:118}],116:[function(t,n,r){var e\u003dMath.ceil,i\u003dMath.floor;n.exports\u003dfunction(t){return isNaN(t\u003d+t)?0:(t\u003e0?i:e)(t)}},{}],117:[function(t,n,r){var e\u003dt(47),i\u003dt(28);n.exports\u003dfunction(t){return e(i(t))}},{28:28,47:47}],118:[function(t,n,r){var e\u003dt(116),i\u003dMath.min;n.exports\u003dfunction(t){return t\u003e0?i(e(t),9007199254740991):0}},{116:116}],"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"119:[function(t,n,r){var e\u003dt(28);n.exports\u003dfunction(t){return Object(e(t))}},{28:28}],120:[function(t,n,r){var e\u003dt(51);n.exports\u003dfunction(t,n){if(!e(t))return t;var r,i;if(n\u0026\u0026\"function\"\u003d\u003dtypeof(r\u003dt.toString)\u0026\u0026!e(i\u003dr.call(t)))return i;if(\"function\"\u003d\u003dtypeof(r\u003dt.valueOf)\u0026\u0026!e(i\u003dr.call(t)))return i;if(!n\u0026\u0026\"function\"\u003d\u003dtypeof(r\u003dt.toString)\u0026\u0026!e(i\u003dr.call(t)))return i;throw TypeError(\"Can\u0027t convert object to primitive value\")}},{51:51}],121:[function(t,n,r){\"use strict\";if(t(29)){var e\u003dt(60),i\u003dt(40),o\u003dt(35),u\u003dt(33),c\u003dt(123),a\u003dt(122),f\u003dt(25),s\u003dt(6),l\u003dt(92),h\u003dt(42),v\u003dt(93),p\u003dt(116),d\u003dt(118),y\u003dt(115),g\u003dt(114),m\u003dt(120),b\u003dt(41),x\u003dt(17),S\u003dt(51),w\u003dt(119),_\u003dt(48),E\u003dt(71),O\u003dt(79),P\u003dt(77).f,M\u003dt(129),F\u003dt(124),I\u003dt(128),A\u003dt(12),k\u003dt(11),N\u003dt(104),j\u003dt(141),T\u003dt(58),R\u003dt(56),L\u003dt(100),G\u003dt(9),D\u003dt(8),C\u003dt(72),W\u003dt(75),U\u003dC.f,B\u003dW.f,V\u003di.RangeError,z\u003di.TypeError,q\u003di.Uint8Array,K\u003dArray.prototype,Y\u003da.ArrayBuffer,J\u003da.DataView,H\u003dA(0),X\u003dA(2),$\u003dA(3),Z\u003dA(4),Q\u003dA(5),tt\u003dA(6),nt\u003dk(!0),rt\u003dk(!1),et\u003dj.values,it\u003dj.keys,ot\u003dj.entries,ut\u003dK.lastIndexOf,ct\u003dK.reduce,at\u003dK.reduceRight,ft\u003dK.join,st\u003dK.sort,lt\u003dK.slice,ht\u003dK.toString,vt\u003dK.toLocaleString,pt\u003dI(\"iterator\"),dt\u003dI(\"toStringTag\"),yt\u003dF(\"typed_constructor\"),gt\u003dF(\"def_constructor\"),mt\u003dc.CONSTR,bt\u003dc.TYPED,xt\u003dc.VIEW,St\u003dA(1,function(t,n){return Pt(N(t,t[gt]),n)}),wt\u003do(function(){return 1\u003d\u003d\u003dnew q(new Uint16Array([1]).buffer)[0]}),_t\u003d!!q\u0026\u0026!!q.prototype.set\u0026\u0026o(function(){new q(1).set({})}),Et\u003dfunction(t,n){var r\u003dp(t);if(r\u003c0||r%n)throw V(\"Wrong offset!\");return r},Ot\u003dfunction(t){if(S(t)\u0026\u0026bt in t)return t;throw z(t+\" is not a typed array!\")},Pt\u003dfunction(t,n){if(!(S(t)\u0026\u0026yt in t))throw z(\"It is not a typed array constructor!\");return new t(n)},Mt\u003dfunction(t,n){return Ft(N(t,t[gt]),n)},Ft\u003dfunction(t,n){for(var r\u003d0,e\u003dn.length,i\u003dPt(t,e);e\u003er;)i[r]\u003dn[r++];return i},It\u003dfunction(t,n,r){U(t,n,{get:function(){return this._d[r]}})},At\u003dfunction from(t){var n,r,e,i,o,u,c\u003dw(t),a\u003darguments.length,s\u003da\u003e1?arguments[1]:void 0,l\u003dvoid 0!\u003d\u003ds,h\u003dM(c);if(void 0!\u003dh\u0026\u0026!_(h)){for(u\u003dh.call(c),e\u003d[],n\u003d0;!(o\u003du.next()).done;n++)e.push(o.value);c\u003de}for(l\u0026\u0026a\u003e2\u0026\u0026(s\u003df(s,arguments[2],2)),n\u003d0,r\u003dd(c.length),i\u003dPt(this,r);r\u003en;n++)i[n]\u003dl?s(c[n],n):c[n];return i},kt\u003dfunction of(){for(var t\u003d0,n\u003darguments.length,r\u003dPt(this,n);n\u003et;)r[t]\u003darguments[t++];return r},Nt\u003d!!q\u0026\u0026o(function(){vt.call(new q(1))}),jt\u003dfunction toLocaleString(){return vt.apply(Nt?lt.call(Ot(this)):Ot(this),arguments)},Tt\u003d{copyWithin:function copyWithin(t,n){return D.call(Ot(this),t,n,arguments.length\u003e2?arguments[2]:void 0)},every:function every(t){return Z(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},fill:function fill(t){return G.apply(Ot(this),arguments)},filter:function filter(t){return Mt(this,X(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0))},find:function find(t){return Q(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},findIndex:function findIndex(t){return tt(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},forEach:function forEach(t){H(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},indexOf:function indexOf(t){return rt(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},includes:function includes(t){return nt(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},join:function join(t){return ft.apply(Ot(this),arguments)},lastIndexOf:function lastIndexOf(t){return ut.apply(Ot(this),arguments)},map:function map(t){return St(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},reduce:function reduce(t){return ct.apply(Ot(this),arguments)},reduceRight:function reduceRight(t){return at.apply(Ot(this),arguments)},reverse:function reverse(){for(var t,n\u003dthis,r\u003dOt(n).length,e\u003dMath.floor(r/2),i\u003d0;i\u003ce;)t\u003dn[i],n[i++]\u003dn[--r],n[r]\u003dt;return n},some:function some(t){return $(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},sort:function sort(t){return st.call(Ot(this),t)},subarray:function subarray(t,n){var r\u003dOt(this),e\u003dr.length,i\u003dg(t,e);return new(N(r,r[gt]))(r.buffer,r.byteOffset+i*r.BYTES_PER_ELEMENT,d((void 0\u003d\u003d\u003dn?e:g(n,e))-i))}},Rt\u003dfunction slice(t,n){return Mt(this,lt.call(Ot(this),t,n))},Lt\u003dfunction set(t){Ot(this);var n\u003dEt(arguments[1],1),r\u003dthis.length,e\u003dw(t),i\u003dd(e.length),o\u003d0;if(i+n\u003er)throw V(\"Wrong length!\");for(;o\u003ci;)this[n+o]\u003de[o++]},Gt\u003d{entries:function entries(){return ot.call(Ot(this))},keys:function keys(){return it.call(Ot(this))},values:function values(){return et.call(Ot(this))}},Dt\u003dfunction(t,n){return S(t)\u0026\u0026t[bt]\u0026\u0026\"symbol\"!\u003dtypeof n\u0026\u0026n in t\u0026\u0026String(+n)\u003d\u003dString(n)},Ct\u003dfunction getOwnPropertyDescriptor(t,n){return Dt(t,n\u003dm(n,!0))?l(2,t[n]):B(t,n)},Wt\u003dfunction defineProperty(t,n,r){return!(Dt(t,n\u003dm(n,!0))\u0026\u0026S(r)\u0026\u0026b(r,\"value\"))||b(r,\"get\")||b(r,\"set\")||r.configurable||b(r,\"writable\")\u0026\u0026!r.writable||b(r,\"enumerable\")\u0026\u0026!r.enumerable?U(t,n,r):(t[n]\u003dr.value,t)};mt||(W.f\u003dCt,C.f\u003dWt),u(u.S+u.F*!mt,\"Object\",{getOwnPropertyDescriptor:Ct,defineProperty:Wt}),o(function(){ht.call({})})\u0026\u0026(ht\u003dvt\u003dfunction toString(){return ft.call(this)});var Ut\u003dv({},Tt);v(Ut,Gt),h(Ut,pt,Gt.values),v(Ut,{slice:Rt,set:Lt,constructor:function(){},toString:ht,toLocaleString:jt}),It(Ut,\"buffer\",\"b\"),It(Ut,\"byteOffset\",\"o\"),It(Ut,\"byteLength\",\"l\"),It(Ut,\"length\",\"e\"),U(Ut,dt,{get:function(){return this[bt]}}),n.exports\u003dfunction(t,n,r,a){a\u003d!!a;var f\u003dt+(a?\"Clamped\":\"\")+\"Array\",l\u003d\"get\"+t,v\u003d\"set\"+t,p\u003di[f],g\u003dp||{},m\u003dp\u0026\u0026O(p),b\u003d!p||!c.ABV,w\u003d{},_\u003dp\u0026\u0026p.prototype,M\u003dfunction(t,r){var e\u003dt._d;return e.v[l](r*n+e.o,wt)},F\u003dfunction(t,r,e){var i\u003dt._d;a\u0026\u0026(e\u003d(e\u003dMath.round(e))\u003c0?0:e\u003e255?255:255\u0026e),i.v[v](r*n+i.o,e,wt)},I\u003dfunction(t,n){U(t,n,{get:function(){return M(this,n)},set:function(t){return F(this,n,t)},enumerable:!0})};b?(p\u003dr(function(t,r,e,i){s(t,p,f,\"_d\");var o,u,c,a,l\u003d0,v\u003d0;if(S(r)){if(!(r instanceof Y||\"ArrayBuffer\"\u003d\u003d(a\u003dx(r))||\"SharedArrayBuffer\"\u003d\u003da))return bt in r?Ft(p,r):At.call(p,r);o\u003dr,v\u003dEt(e,n);var g\u003dr.byteLength;if(void 0\u003d\u003d\u003di){if(g%n)throw V(\"Wrong length!\");if((u\u003dg-v)\u003c0)throw V(\"Wrong length!\")}else if((u\u003dd(i)*n)+v\u003eg)throw V(\"Wrong length!\");c\u003du/n}else c\u003dy(r),u\u003dc*n,o\u003dnew Y(u);for(h(t,\"_d\",{b:o,o:v,l:u,e:c,v:new J(o)});l\u003cc;)I(t,l++)}),_\u003dp.prototype\u003dE(Ut),h(_,\"constructor\",p)):o(function(){p(1)})\u0026\u0026o(function(){new p(-1)})\u0026\u0026R(function(t){new p,new p(null),new p(1.5),new p(t)},!0)||(p\u003dr(function(t,r,e,i){s(t,p,f);var o;return S(r)?r instanceof Y||\"ArrayBuffer\"\u003d\u003d(o\u003dx(r))||\"SharedArrayBuffer\"\u003d\u003do?void 0!\u003d\u003di?new g(r,Et(e,n),i):void 0!\u003d\u003de?new g(r,Et(e,n)):new g(r):bt in r?Ft(p,r):At.call(p,r):new g(y(r))}),H(m!\u003d\u003dFunction.prototype?P(g).concat(P(m)):P(g),function(t){t in p||h(p,t,g[t])}),p.prototype\u003d_,e||(_.constructor\u003dp));var A\u003d_[pt],k\u003d!!A\u0026\u0026(\"values\"\u003d\u003dA.name||void 0\u003d\u003dA.name),N\u003dGt.values;h(p,yt,!0),h(_,bt,f),h(_,xt,!0),h(_,gt,p),(a?new p(1)[dt]\u003d\u003df:dt in _)||U(_,dt,{get:function(){return f}}),w[f]\u003dp,u(u.G+u.W+u.F*(p!\u003dg),w),u(u.S,f,{BYTES_PER_ELEMENT:n}),u(u.S+u.F*o(function(){g.of.call(p,1)}),f,{from:At,of:kt}),\"BYTES_PER_ELEMENT\"in _||h(_,\"BYTES_PER_ELEMENT\",n),u(u.P,f,Tt),L(f),u(u.P+u.F*_t,f,{set:Lt}),u(u.P+u.F*!k,f,Gt),e||_.toString\u003d\u003dht||(_.toString\u003dht),u(u.P+u.F*o(function(){new p(1).slice()}),f,{slice:Rt}),u(u.P+u.F*(o(function(){return[1,2].toLocaleString()!\u003dnew p([1,2]).toLocaleString()})||!o(function(){_.toLocaleString.call([1,2])})),f,{toLocaleString:jt}),T[f]\u003dk?A:N,e||k||h(_,pt,N)}}else n.exports\u003dfunction(){}},{100:100,104:104,11:11,114:114,115:115,116:116,118:118,119:119,12:12,120:120,122:122,123:123,124:124,128:128,129:129,141:141,17:17,25:25,29:29,33:33,35:35,40:40,41:41,42:42,48:48,51:51,56:56,58:58,6:6,60:60,71:71,72:72,75:75,77:77,79:79,8:8,9:9,92:92,93:93}],122:[function(t,n,r){\"use strict\";function packIEEE754(t,n,r){var e,i,o,u\u003dArray(r),c\u003d8*r-n-1,a\u003d(1\u003c\u003cc)-1,f\u003da\u003e\u003e1,s\u003d23\u003d\u003d\u003dn?M(2,-24)-M(2,-77):0,l\u003d0,h\u003dt\u003c0||0\u003d\u003d\u003dt\u0026\u00261/t\u003c0?1:0;for(t\u003dP(t),t!\u003dt||t\u003d\u003d\u003dE?(i\u003dt!\u003dt?1:0,e\u003da):(e\u003dF(I(t)/A),t*(o\u003dM(2,-e))\u003c1\u0026\u0026(e--,o*\u003d2),t+\u003de+f\u003e\u003d1?s/o:s*M(2,1-f),t*o\u003e\u003d2\u0026\u0026(e++,o/\u003d2),e+f\u003e\u003da?(i\u003d0,e\u003da):e+f\u003e\u003d1?(i\u003d(t*o-1)*M(2,n),e+\u003df):(i\u003dt*M(2,f-1)*M(2,n),e\u003d0));n\u003e\u003d8;u[l++]\u003d255\u0026i,i/\u003d256,n-\u003d8);for(e\u003de\u003c\u003cn|i,c+\u003dn;c\u003e0;u[l++]\u003d255\u0026e,e/\u003d256,c-\u003d8);return u[--l]|\u003d128*h,u}function unpackIEEE754(t,n,r){var e,i\u003d8*r-n-1,o\u003d(1\u003c\u003ci)-1,u\u003do\u003e\u003e1,c\u003di-7,a\u003dr-1,f\u003dt[a--],s\u003d127\u0026f;for(f\u003e\u003e\u003d7;c\u003e0;s\u003d256*s+t[a],a--,c-\u003d8);for(e\u003ds\u0026(1\u003c\u003c-c)-1,s\u003e\u003e\u003d-c,c+\u003dn;c\u003e0;e\u003d256*e+t[a],a--,c-\u003d8);if(0\u003d\u003d\u003ds)s\u003d1-u;else{if(s\u003d\u003d\u003do)return e?NaN:f?-E:E;e+\u003dM(2,n),s-\u003du}return(f?-1:1)*e*M(2,s-n)}function unpackI32(t){return t[3]\u003c\u003c24|t[2]\u003c\u003c16|t[1]\u003c\u003c8|t[0]}function packI8(t){return[255\u0026t]}function packI16(t){return[255\u0026t,t\u003e\u003e8\u0026255]}function packI32(t){return[255\u0026t,t\u003e\u003e8\u0026255,t\u003e\u003e16\u0026255,t\u003e\u003e24\u0026255]}function packF64(t){return packIEEE754(t,52,8)}function packF32(t){return packIEEE754(t,23,4)}function addGetter(t,n,r){d(t[m],n,{get:function(){return this[r]}})}function get(t,n,r,e){var i\u003d+r,o\u003dv(i);if(o+n\u003et[N])throw _(b);var u\u003dt[k]._b,c\u003do+t[j],a\u003du.slice(c,c+n);return e?a:a.reverse()}function set(t,n,r,e,i,o){var u\u003d+r,c\u003dv(u);if(c+n\u003et[N])throw _(b);for(var a\u003dt[k]._b,f\u003dc+t[j],s\u003de(+i),l\u003d0;l\u003cn;l++)a[f+l]\u003ds[o?l:n-l-1]}var e\u003dt(40),i\u003dt(29),o\u003dt(60),u\u003dt(123),c\u003dt(42),a\u003dt(93),f\u003dt(35),s\u003dt(6),l\u003dt(116),h\u003dt(118),v\u003dt(115),p\u003dt(77).f,d\u003dt(72).f,y\u003dt(9),g\u003dt(101),m\u003d\"prototype\",b\u003d\"Wrong index!\",x\u003de.ArrayBuffer,S\u003de.DataView,w\u003de.Math,_\u003de.RangeError,E\u003de.Infinity,O\u003dx,P\u003dw.abs,M\u003dw.pow,F\u003dw.floor,I\u003dw.log,A\u003dw.LN2,k\u003di?\"_b\":\"buffer\",N\u003di?\"_l\":\"byteLength\",j\u003di?\"_o\":\"byteOffset\";if(u.ABV){if(!f(function(){x(1)})||!f(function(){new x(-1)})||f(function(){return new x,new x(1.5),new x(NaN),\"ArrayBuffer\"!\u003dx.name})){x\u003dfunction ArrayBuffer(t){return s(this,x),new O(v(t))};for(var T,R\u003dx[m]\u003dO[m],L\u003dp(O),G\u003d0;L.length\u003eG;)(T\u003dL[G++])in x||c(x,T,O[T]);o||(R.constructor\u003dx)}var D\u003dnew S(new x(2)),C\u003dS[m].setInt8;D.setInt8(0,2147483648),D.setInt8(1,2147483649),!D.getInt8(0)\u0026\u0026D.getInt8(1)||a(S[m],{setInt8:function setInt8(t,n){C.call(this,t,n\u003c\u003c24\u003e\u003e24)},setUint8:function setUint8(t,n){C.call(this,t,n\u003c\u003c24\u003e\u003e24)}},!0)}else x\u003dfunction ArrayBuffer(t){s(this,x,\"ArrayBuffer\");var n\u003dv(t);this._b\u003dy.call(Array(n),0),this[N]\u003dn},S\u003dfunction DataView(t,n,r){s(this,S,\"DataView\"),s(t,x,\"DataView\");var e\u003dt[N],i\u003dl(n);if(i\u003c0||i\u003ee)throw _(\"Wrong offset!\");if(r\u003dvoid 0\u003d\u003d\u003dr?e-i:h(r),i+r\u003ee)throw _(\"Wrong length!\");this[k]\u003dt,this[j]\u003di,this[N]\u003dr},i\u0026\u0026(addGetter(x,\"byteLength\",\"_l\"),addGetter(S,\"buffer\",\"_b\"),addGetter(S,\"byteLength\",\"_l\"),addGetter(S,\"byteOffset\",\"_o\")),a(S[m],{getInt8:function getInt8(t){return get(this,1,t)[0]\u003c\u003c24\u003e\u003e24},getUint8:function getUint8(t){return get(this,1,t)[0]},getInt16:function getInt16(t){var n\u003dget(this,2,t,arguments[1]);return(n[1]\u003c\u003c8|n[0])\u003c\u003c16\u003e\u003e16},getUint16:function getUint16(t){var n\u003dget(this,2,t,arguments[1]);return n[1]\u003c\u003c8|n[0]},getInt32:function getInt32(t){return unpackI32(get(this,4,t,arguments[1]))},getUint32:function getUint32(t){return unpackI32(get(this,4,t,arguments[1]))\u003e\u003e\u003e0},getFloat32:function getFloat32(t){return unpackIEEE754(get(this,4,t,arguments[1]),23,4)},getFloat64:function getFloat64(t){return unpackIEEE754(get(this,8,t,arguments[1]),52,8)},setInt8:function setInt8(t,n){set(this,1,t,packI8,n)},setUint8:function setUint8(t,n){set(this,1,t,packI8,n)},setInt16:function setInt16(t,n){set(this,2,t,packI16,n,arguments[2])},setUint16:function setUint16(t,n){set(this,2,t,packI16,n,arguments[2])},setInt32:function setInt32(t,n){set(this,4,t,packI32,n,arguments[2])},setUint32:function setUint32(t,n){set(this,4,t,packI32,n,arguments[2])},setFloat32:function setFloat32(t,n){set(this,4,t,packF32,n,arguments[2])},setFloat64:function setFloat64(t,n){set(this,8,t,packF64,n,arguments[2])}});g(x,\"ArrayBuffer\"),g(S,\"DataView\"),c(S[m],u.VIEW,!0),r.ArrayBuffer\u003dx,r.DataView\u003dS},{101:101,115:115,116:116,118:118,123:123,29:29,35:35,40:40,42:42,6:6,60:60,72:72,77:77,9:9,93:93}],123:[function(t,n,r){for(var e,i\u003dt(40),o\u003dt(42),u\u003dt(124),c\u003du(\"typed_array\"),a\u003du(\"view\"),f\u003d!(!i.ArrayBuffer||!i.DataView),s\u003df,l\u003d0,h\u003d\"Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array\".split(\",\");l\u003c9;)(e\u003di[h[l++]])?(o(e.prototype,c,!0),o(e.prototype,a,!0)):s\u003d!1;n.exports\u003d{ABV:f,CONSTR:s,TYPED:c,VIEW:a}},{124:124,40:40,42:42}],124:[function(t,n,r){var e\u003d0,i\u003dMath.random();n.exports\u003dfunction(t){return\"Symbol(\".concat(void 0\u003d\u003d\u003dt?\"\":t,\")_\",(++e+i).toString(36))}},{}],125:[function(t,n,r){var e\u003dt(51);n.exports\u003dfunction(t,n){if(!e(t)||t._t!\u003d\u003dn)throw TypeError(\"Incompatible receiver, \"+n+\" required!\");return t}},{51:51}],126:[function(t,n,r){var e\u003dt(40),i\u003dt(23),o\u003dt(60),u\u003dt(127),c\u003dt(72).f;n.exports\u003dfunction(t){var n\u003di.Symbol||(i.Symbol\u003do?{}:e.Symbol||{});\"_\"\u003d\u003dt.charAt(0)||t in n||c(n,t,{value:u.f(t)})}},{127:127,23:23,40:40,60:60,72:72}],127:[function(t,n,r){r.f\u003dt(128)},{128:128}],128:[function(t,n,r){var e\u003dt(103)(\"wks\"),i\u003dt(124),o\u003dt(40).Symbol,u\u003d\"function\"\u003d\u003dtypeof o;(n.exports\u003dfunction(t){return e[t]||(e[t]\u003du\u0026\u0026o[t]||(u?o:i)(\"Symbol.\"+t))}).store\u003de},{103:103,124:124,40:40}],129:[function(t,n,r){var e\u003dt(17),i\u003dt(128)(\"iterator\"),o\u003dt(58);n.exports\u003dt(23).getIteratorMethod\u003dfunction(t){if(void 0!\u003dt)return t[i]||t[\"@@iterator\"]||o[e(t)]}},{128:128,17:17,23:23,58:58}],130:[function(t,n,r){var e\u003dt(33),i\u003dt(95)(/[\\\\^$*+?.()|[\\]{}]/g,\"\\\\$\u0026\");e(e.S,\"RegExp\",{escape:function escape(t){return i(t)}})},{33:33,95:95}],131:[function(t,n,r){var e\u003dt(33);e(e.P,\"Array\",{copyWithin:t(8)}),t(5)(\"copyWithin\")},{33:33,5:5,8:8}],132:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(4);e(e.P+e.F*!t(105)([].every,!0),\"Array\",{every:function every(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],133:[function(t,n,r){var e\u003dt(33);e(e.P,\"Array\",{fill:t(9)}),t(5)(\"fill\")},{33:33,5:5,9:9}],134:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(2);e(e.P+e.F*!t(105)([].filter,!0),\"Array\",{filter:function filter(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],135:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(6),o\u003d\"findIndex\",u\u003d!0;o in[]\u0026\u0026Array(1)[o](function(){u\u003d!1}),e(e.P+e.F*u,\"Array\",{findIndex:function findIndex(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0)}}),t(5)(o)},{12:12,33:33,5:5}],136:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(5),o\u003d!0;\"find\"in[]\u0026\u0026Array(1).find(function(){o\u003d!1}),e(e.P+e.F*o,\"Array\",{find:function find(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0)}}),t(5)(\"find\")},{12:12,33:33,5:5}],137:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(0),o\u003dt(105)([].forEach,!0);e(e.P+e.F*!o,\"Array\",{forEach:function forEach(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],138:[function(t,n,r){\"use strict\";var e\u003dt(25),i\u003dt(33),o\u003dt(119),u\u003dt(53),c\u003dt(48),a\u003dt(118),f\u003dt(24),s\u003dt(129);i(i.S+i.F*!t(56)(function(t){Array.from(t)}),\"Array\",{from:function from(t){var n,r,i,l,h\u003do(t),v\u003d\"function\"\u003d\u003dtypeof this?this:Array,p\u003darguments.length,d\u003dp\u003e1?arguments[1]:void 0,y\u003dvoid 0!\u003d\u003dd,g\u003d0,m\u003ds(h);if(y\u0026\u0026(d\u003de(d,p\u003e2?arguments[2]:void 0,2)),void 0\u003d\u003dm||v\u003d\u003dArray\u0026\u0026c(m))for(n\u003da(h.length),r\u003dnew v(n);n\u003eg;g++)f(r,g,y?d(h[g],g):h[g]);else for(l\u003dm.call(h),r\u003dnew v;!(i\u003dl.next()).done;g++)f(r,g,y?u(l,d,[i.value,g],!0):i.value);return r.length\u003dg,r}})},{118:118,119:119,129:129,24:24,25:25,33:33,48:48,53:53,56:56}],139:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(11)(!1),o\u003d[].indexOf,u\u003d!!o\u0026\u00261/[1].indexOf(1,-0)\u003c0;e(e.P+e.F*(u||!t(105)(o)),\"Array\",{indexOf:function indexOf(t){return u?o.apply(this,arguments)||0:i(this,t,arguments[1])}})},{105:105,11:11,33:33}],140:[function(t,n,r){var e\u003dt(33);e(e.S,\"Array\",{isArray:t(49)})},{33:33,49:49}],141:[function(t,n,r){\"use strict\";var e\u003dt(5),i\u003dt(57),o\u003dt(58),u\u003dt(117);n.exports\u003dt(55)(Array,\"Array\",function(t,n){this._t\u003du(t),this._i\u003d0,this._k\u003dn},function(){var t\u003dthis._t,n\u003dthis._k,r\u003dthis._i++;return!t||r\u003e\u003dt.length?(this._t\u003dvoid 0,i(1)):\"keys\"\u003d\u003dn?i(0,r):\"values\"\u003d\u003dn?i(0,t[r]):i(0,[r,t[r]])},\"values\"),o.Arguments\u003do.Array,e(\"keys\"),e(\"values\"),e(\"entries\")},{117:117,5:5,55:55,57:57,58:58}],142:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(117),o\u003d[].join;e(e.P+e.F*(t(47)!\u003dObject||!t(105)(o)),\"Array\",{join:function join(t){return o.call(i(this),void 0\u003d\u003d\u003dt?\",\":t)}})},{105:105,117:117,33:33,47:47}],143:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(117),o\u003dt(116),u\u003dt(118),c\u003d[].lastIndexOf,a\u003d!!c\u0026\u00261/[1].lastIndexOf(1,-0)\u003c0;e(e.P+e.F*(a||!t(105)(c)),\"Array\",{lastIndexOf:function lastIndexOf(t){if(a)return c.apply(this,arguments)||0;var n\u003di(this),r\u003du(n.length),e\u003dr-1;for(arguments.length\u003e1\u0026\u0026(e\u003dMath.min(e,o(arguments[1]))),e\u003c0\u0026\u0026(e\u003dr+e);e\u003e\u003d0;e--)if(e in n\u0026\u0026n[e]\u003d\u003d\u003dt)return e||0;return-1}})},{105:105,116:116,117:117,118:118,33:33}],144:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(1);e(e.P+e.F*!t(105)([].map,!0),\"Array\",{map:function map(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],145:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(24);e(e.S+e.F*t(35)(function(){function F(){}return!(Array.of.call(F)instanceof F)}),\"Array\",{of:function of(){for(var t\u003d0,n\u003darguments.length,r\u003dnew(\"function\"\u003d\u003dtypeof this?this:Array)(n);n\u003et;)i(r,t,arguments[t++]);return r.length\u003dn,r}})},{24:24,33:33,35:35}],146:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(13);e(e.P+e.F*!t(105)([].reduceRight,!0),\"Array\",{reduceRight:function reduceRight(t){return i(this,t,arguments.length,arguments[1],!0)}})},{105:105,13:13,33:33}],147:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(13);e(e.P+e.F*!t(105)([].reduce,!0),\"Array\",{reduce:function reduce(t){return i(this,t,arguments.length,arguments[1],!1)}})},{105:105,13:13,33:33}],148:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(43),o\u003dt(18),u\u003dt(114),c\u003dt(118),a\u003d[].slice;e(e.P+e.F*t(35)(function(){i\u0026\u0026a.call(i)}),\"Array\",{slice:function slice(t,n){var r\u003dc(this.length),e\u003do(this);if(n\u003dvoid 0\u003d\u003d\u003dn?r:n,\"Array\"\u003d\u003de)return a.call(this,t,n);for(var i\u003du(t,r),f\u003du(n,r),s\u003dc(f-i),l\u003dArray(s),h\u003d0;h\u003cs;h++)l[h]\u003d\"String\"\u003d\u003de?this.charAt(i+h):this[i+h];return l}})},{114:114,118:118,18:18,33:33,35:35,43:43}],149:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(3);e(e.P+e.F*!t(105)([].some,!0),\"Array\",{some:function some(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],150:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(3),o\u003dt(119),u\u003dt(35),c\u003d[].sort,a\u003d[1,2,3];e(e.P+e.F*(u(function(){a.sort(void 0)})||!u(function(){a.sort(null)})||!t(105)(c)),\"Array\",{sort:function sort(t){return void 0\u003d\u003d\u003dt?c.call(o(this)):c.call(o(this),i(t))}})},{105:105,119:119,3:3,33:33,35:35}],151:[function(t,n,r){t(100)(\"Array\")},{100:100}],152:[function(t,n,r){var e\u003dt(33);e(e.S,\"Date\",{now:function(){return(new Date).getTime()}})},{33:33}],153:[function(t,n,r){var e\u003dt(33),i\u003dt(26);e(e.P+e.F*(Date.prototype.toISOString!\u003d\u003di),\"Date\",{toISOString:i})},{26:26,33:33}],154:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(120);e(e.P+e.F*t(35)(function(){return null!\u003d\u003dnew Date(NaN).toJSON()||1!\u003d\u003dDate.prototype.toJSON.call({toISOString:function(){return 1}})}),\"Date\",{toJSON:function toJSON(t){var n\u003di(this),r\u003do(n);return\"number\"!\u003dtypeof r||isFinite(r)?n.toISOString():null}})},{119:119,120:120,33:33,35:35}],155:[function(t,n,r){var e\u003dt(128)(\"toPrimitive\"),i\u003dDate.prototype;e in i||t(42)(i,e,t(27))},{128:128,27:27,42:42}],156:[function(t,n,r){var e\u003dDate.prototype,i\u003de.toString,o\u003de.getTime;new Date(NaN)+\"\"!\u003d\"Invalid Date\"\u0026\u0026t(94)(e,\"toString\",function toString(){var t\u003do.call(this);return t\u003d\u003d\u003dt?i.call(this):\"Invalid Date\"})},{94:94}],157:[function(t,n,r){var e\u003dt(33);e(e.P,\"Function\",{bind:t(16)})},{16:16,33:33}],158:[function(t,n,r){\"use strict\";var e\u003dt(51),i\u003dt(79),o\u003dt(128)(\"hasInstance\"),u\u003dFunction.prototype;o in u||t(72).f(u,o,{value:function(t){if(\"function\"!\u003dtypeof this||!e(t))return!1;if(!e(this.prototype))return t instanceof this;for(;t\u003di(t);)if(this.prototype\u003d\u003d\u003dt)return!0;return!1}})},{128:128,51:51,72:72,79:79}],159:[function(t,n,r){var e\u003dt(72).f,i\u003dFunction.prototype,o\u003d/^\\s*function ([^ (]*)/;\"name\"in i||t(29)\u0026\u0026e(i,\"name\",{configurable:!0,get:function(){try{return(\"\"+this).match(o)[1]}catch(t){return\"\"}}})},{29:29,72:72}],160:[function(t,n,r){\"use strict\";var e\u003dt(19),i\u003dt(125);n.exports\u003dt(22)(\"Map\",function(t){return function Map(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},{get:function get(t){var n\u003de.getEntry(i(this,\"Map\"),t);return n\u0026\u0026n.v},set:function set(t,n){return e.def(i(this,\"Map\"),0\u003d\u003d\u003dt?0:t,n)}},e,!0)},{125:125,19:19,22:22}],161:[function(t,n,r){var e\u003dt(33),i\u003dt(63),o\u003dMath.sqrt,u\u003dMath.acosh;e(e.S+e.F*!(u\u0026\u0026710\u003d\u003dMath.floor(u(Number.MAX_VALUE))\u0026\u0026u(1/0)\u003d\u003d1/0),\"Math\",{acosh:function acosh(t){return(t\u003d+t)\u003c1?NaN:t\u003e94906265.62425156?Math.log(t)+Math.LN2:i(t-1+o(t-1)*o(t+1))}})},{33:33,63:63}],162:[function(t,n,r){function asinh(t){return isFinite(t\u003d+t)\u0026\u00260!\u003dt?t\u003c0?-asinh(-t):Math.log(t+Math.sqrt(t*t+1)):t}var e\u003dt(33),i\u003dMath.asinh;e(e.S+e.F*!(i\u0026\u00261/i(0)\u003e0),\"Math\",{asinh:asinh})},{33:33}],163:[function(t,n,r){var e\u003dt(33),i\u003dMath.atanh;e(e.S+e.F*!(i\u0026\u00261/i(-0)\u003c0),\"Math\",{atanh:function atanh(t){return 0\u003d\u003d(t\u003d+t)?t:Math.log((1+t)/(1-t))/2}})},{33:33}],164:[function(t,n,r){var e\u003dt(33),i\u003dt(65);e(e.S,\"Math\",{cbrt:function cbrt(t){return i(t\u003d+t)*Math.pow(Math.abs(t),1/3)}})},{33:33,65:65}],165:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{clz32:function clz32(t){return(t\u003e\u003e\u003e\u003d0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},{33:33}],166:[function(t,n,r){var e\u003dt(33),i\u003dMath.exp;e(e.S,\"Math\",{cosh:function cosh(t){return(i(t\u003d+t)+i(-t))/2}})},{33:33}],167:[function(t,n,r){var e\u003dt(33),i\u003dt(61);e(e.S+e.F*(i!\u003dMath.expm1),\"Math\",{expm1:i})},{33:33,61:61}],168:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{fround:t(62)})},{33:33,62:62}],169:[function(t,n,r){var e\u003dt(33),i\u003dMath.abs;e(e.S,\"Math\",{hypot:function hypot(t,n){for(var r,e,o\u003d0,u\u003d0,c\u003darguments.length,a\u003d0;u\u003cc;)r\u003di(arguments[u++]),a\u003cr?(e\u003da/r,o\u003do*e*e+1,a\u003dr):r\u003e0?(e\u003dr/a,o+\u003de*e):o+\u003dr;return a\u003d\u003d\u003d1/0?1/0:a*Math.sqrt(o)}})},{33:33}],170:[function(t,n,r){var e\u003dt(33),i\u003dMath.imul;e(e.S+e.F*t(35)(function(){return-5!\u003di(4294967295,5)||2!\u003di.length}),\"Math\",{imul:function imul(t,n){var r\u003d+t,e\u003d+n,i\u003d65535\u0026r,o\u003d65535\u0026e;return 0|i*o+((65535\u0026r\u003e\u003e\u003e16)*o+i*(65535\u0026e\u003e\u003e\u003e16)\u003c\u003c16\u003e\u003e\u003e0)}})},{33:33,35:35}],171:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{log10:function log10(t){return Math.log(t)*Math.LOG10E}})},{33:33}],172:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{log1p:t(63)})},{33:33,63:63}],173:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{log2:function log2(t){return Math.log(t)/Math.LN2}})},{33:33}],174:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{sign:t(65)})},{33:33,65:65}],175:[function(t,n,r){var e\u003dt(33),i\u003dt(61),o\u003dMath.exp;e(e.S+e.F*t(35)(function(){return-2e-17!\u003d!Math.sinh(-2e-17)}),\"Math\",{sinh:function sinh(t){return Math.abs(t\u003d+t)\u003c1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},{33:33,35:35,61:61}],176:[function(t,n,r){var e\u003dt(33),i\u003dt(61),o\u003dMath.exp;e(e.S,\"Math\",{tanh:function tanh(t){var n\u003di(t\u003d+t),r\u003di(-t);return n\u003d\u003d1/0?1:r\u003d\u003d1/0?-1:(n-r)/(o(t)+o(-t))}})},{33:33,61:61}],177:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{trunc:function trunc(t){return(t\u003e0?Math.floor:Math.ceil)(t)}})},{33:33}],178:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(41),o\u003dt(18),u\u003dt(45),c\u003dt(120),a\u003dt(35),f\u003dt(77).f,s\u003dt(75).f,l\u003dt(72).f,h\u003dt(111).trim,v\u003de.Number,p\u003dv,d\u003dv.prototype,y\u003d\"Number\"\u003d\u003do(t(71)(d)),g\u003d\"trim\"in String.prototype,m\u003dfunction(t){var n\u003dc(t,!1);if(\"string\"\u003d\u003dtypeof n\u0026\u0026n.length\u003e2){n\u003dg?n.trim():h(n,3);var r,e,i,o\u003dn.charCodeAt(0);if(43\u003d\u003d\u003do||45\u003d\u003d\u003do){if(88\u003d\u003d\u003d(r\u003dn.charCodeAt(2))||120\u003d\u003d\u003dr)return NaN}else if(48\u003d\u003d\u003do){switch(n.charCodeAt(1)){case 66:case 98:e\u003d2,i\u003d49;break;case 79:case 111:e\u003d8,i\u003d55;break;default:return+n}for(var u,a\u003dn.slice(2),f\u003d0,s\u003da.length;f\u003cs;f++)if((u\u003da.charCodeAt(f))\u003c48||u\u003ei)return NaN;return parseInt(a,e)}}return+n};if(!v(\" 0o1\")||!v(\"0b1\")||v(\"+0x1\")){v\u003dfunction Number(t){var n\u003darguments.length\u003c1?0:t,r\u003dthis;return r instanceof v\u0026\u0026(y?a(function(){d.valueOf.call(r)}):\"Number\"!\u003do(r))?u(new p(m(n)),r,v):m(n)};for(var b,x\u003dt(29)?f(p):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),S\u003d0;x.length\u003eS;S++)i(p,b\u003dx[S])\u0026\u0026!i(v,b)\u0026\u0026l(v,b,s(p,b));v.prototype\u003dd,d.constructor\u003dv,t(94)(e,\"Number\",v)}},{111:111,120:120,18:18,29:29,35:35,40:40,41:41,45:45,71:71,72:72,75:75,77:77,94:94}],179:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{EPSILON:Math.pow(2,-52)})},{33:33}],180:[function(t,n,r){var e\u003dt(33),i\u003dt(40).isFinite;e(e.S,\"Number\",{isFinite:function isFinite(t){return\"number\"\u003d\u003dtypeof t\u0026\u0026i(t)}})},{33:33,40:40}],181:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{isInteger:t(50)})},{33:33,50:50}],182:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{isNaN:function isNaN(t){return t!\u003dt}})},{33:33}],183:[function(t,n,r){var e\u003dt(33),i\u003dt(50),o\u003dMath.abs;e(e.S,\"Number\",{isSafeInteger:function isSafeInteger(t){return i(t)\u0026\u0026o(t)\u003c\u003d9007199254740991}})},{33:33,50:50}],184:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{MAX_SAFE_INTEGER:9007199254740991})},{33:33}],185:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{MIN_SAFE_INTEGER:-9007199254740991})},{33:33}],186:[function(t,n,r){var e\u003dt(33),i\u003dt(86);e(e.S+e.F*(Number.parseFloat!\u003di),\"Number\",{parseFloat:i})},{33:33,86:86}],187:[function(t,n,r){var e\u003dt(33),i\u003dt(87);e(e.S+e.F*(Number.parseInt!\u003di),\"Number\",{parseInt:i})},{33:33,87:87}],188:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(116),o\u003dt(4),u\u003dt(110),c\u003d1..toFixed,a\u003dMath.floor,f\u003d[0,0,0,0,0,0],s\u003d\"Number.toFixed: incorrect invocation!\",l\u003dfunction(t,n){for(var r\u003d-1,e\u003dn;++r\u003c6;)e+\u003dt*f[r],f[r]\u003de%1e7,e\u003da(e/1e7)},h\u003dfunction(t){for(var n\u003d6,r\u003d0;--n\u003e\u003d0;)r+\u003df[n],f[n]\u003da(r/t),r\u003dr%t*1e7},v\u003dfunction(){for(var t\u003d6,n\u003d\"\";--t\u003e\u003d0;)if(\"\"!\u003d\u003dn||0\u003d\u003d\u003dt||0!\u003d\u003df[t]){var r\u003dString(f[t]);n\u003d\"\"\u003d\u003d\u003dn?r:n+u.call(\"0\",7-r.length)+r}return n},p\u003dfunction(t,n,r){return 0\u003d\u003d\u003dn?r:n%2\u003d\u003d1?p(t,n-1,r*t):p(t*t,n/2,r)},d\u003dfunction(t){for(var n\u003d0,r\u003dt;r\u003e\u003d4096;)n+\u003d12,r/\u003d4096;for(;r\u003e\u003d2;)n+\u003d1,r/\u003d2;return n};e(e.P+e.F*(!!c\u0026\u0026(\"0.000\"!\u003d\u003d8e-5.toFixed(3)||\"1\"!\u003d\u003d.9.toFixed(0)||\"1.25\"!\u003d\u003d1.255.toFixed(2)||\"1000000000000000128\"!\u003d\u003d(0xde0b6b3a7640080).toFixed(0))||!t(35)(function(){c.call({})})),\"Number\",{toFixed:function toFixed(t){var n,r,e,c,a\u003do(this,s),f\u003di(t),y\u003d\"\",g\u003d\"0\";if(f\u003c0||f\u003e20)throw RangeError(s);if(a!\u003da)return\"NaN\";if(a\u003c\u003d-1e21||a\u003e\u003d1e21)return String(a);if(a\u003c0\u0026\u0026(y\u003d\"-\",a\u003d-a),a\u003e1e-21)if(n\u003dd(a*p(2,69,1))-69,r\u003dn\u003c0?a*p(2,-n,1):a/p(2,n,1),r*\u003d4503599627370496,(n\u003d52-n)\u003e0){for(l(0,r),e\u003df;e\u003e\u003d7;)l(1e7,0),e-\u003d7;for(l(p(10,e,1),0),e\u003dn-1;e\u003e\u003d23;)h(1\u003c\u003c23),e-\u003d23;h(1\u003c\u003ce),l(1,1),h(2),g\u003dv()}else l(0,r),l(1\u003c\u003c-n,0),g\u003dv()+u.call(\"0\",f);return f\u003e0?(c\u003dg.length,g\u003dy+(c\u003c\u003df?\"0.\"+u.call(\"0\",f-c)+g:g.slice(0,c-f)+\".\"+g.slice(c-f))):g\u003dy+g,g}})},{110:110,116:116,33:33,35:35,4:4}],189:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(35),o\u003dt(4),u\u003d1..toPrecision;e(e.P+e.F*(i(function(){return\"1\"!\u003d\u003du.call(1,void 0)})||!i(function(){u.call({})})),\"Number\",{toPrecision:function toPrecision(t){var n\u003do(this,\"Number#toPrecision: incorrect invocation!\");return void 0\u003d\u003d\u003dt?u.call(n):u.call(n,t)}})},{33:33,35:35,4:4}],190:[function(t,n,r){var e\u003dt(33);e(e.S+e.F,\"Object\",{assign:t(70)})},{33:33,70:70}],191:[function(t,n,r){var e\u003dt(33);e(e.S,\"Object\",{create:t(71)})},{33:33,71:71}],192:[function(t,n,r){var e\u003dt(33);e(e.S+e.F*!t(29),\"Object\",{defineProperties:t(73)})},{29:29,33:33,73:73}],193:[function(t,n,r){var e\u003dt(33);e(e.S+e.F*!t(29),\"Object\",{defineProperty:t(72).f})},{29:29,33:33,72:72}],194:[function(t,n,r){var e\u003dt(51),i\u003dt(66).onFreeze;t(83)(\"freeze\",function(t){return function freeze(n){return t\u0026\u0026e(n)?t(i(n)):n}})},{51:51,66:66,83:83}],195:[function(t,n,r){var e\u003dt(117),i\u003dt(75).f;t(83)(\"getOwnPropertyDescriptor\",function(){return function getOwnPropertyDescriptor(t,n){return i(e(t),n)}})},{117:117,75:75,83:83}],196:[function(t,n,r){t(83)(\"getOwnPropertyNames\",function(){return t(76).f})},{76:76,83:83}],197:[function(t,n,r){var e\u003dt(119),i\u003dt(79);t(83)(\"getPrototypeOf\",function(){return function getPrototypeOf(t){return i(e(t))}})},{119:119,79:79,83:83}],198:[function(t,n,r){var e\u003dt(51);t(83)(\"isExtensible\",function(t){return function isExtensible(n){return!!e(n)\u0026\u0026(!t||t(n))}})},{51:51,83:83}],199:[function(t,n,r){var e\u003dt(51);t(83)(\"isFrozen\",function(t){return function isFrozen(n){return!e(n)||!!t\u0026\u0026t(n)}})},{51:51,83:83}],200:[function(t,n,r){var e\u003dt(51);t(83)(\"isSealed\",function(t){return function isSealed(n){return!e(n)||!!t\u0026\u0026t(n)}})},{51:51,83:83}],201:[function(t,n,r){var e\u003dt(33);e(e.S,\"Object\",{is:t(96)})},{33:33,96:96}],202:[function(t,n,r){var e\u003dt(119),i\u003dt(81);t(83)(\"keys\",function(){return function keys(t){return i(e(t))}})},{119:119,81:81,83:83}],203:[function(t,n,r){var e\u003dt(51),i\u003dt(66).onFreeze;t(83)(\"preventExtensions\",function(t){return function preventExtensions(n){return t\u0026\u0026e(n)?t(i(n)):n}})},{51:51,66:66,83:83}],204:[function(t,n,r){var e\u003dt(51),i\u003dt(66).onFreeze;t(83)(\"seal\",function(t){return function seal(n){return t\u0026\u0026e(n)?t(i(n)):n}})},{51:51,66:66,83:83}],205:[function(t,n,r){var e\u003dt(33);e(e.S,\"Object\",{setPrototypeOf:t(99).set})},{33:33,99:99}],206:[function(t,n,r){\"use strict\";var e\u003dt(17),i\u003d{};i[t(128)(\"toStringTag\")]\u003d\"z\",i+\"\"!\u003d\"[object z]\"\u0026\u0026t(94)(Object.prototype,\"toString\",function toString(){return\"[object \"+e(this)+\"]\"},!0)},{128:128,17:17,94:94}],207:[function(t,n,r){var e\u003dt(33),i\u003dt(86);e(e.G+e.F*(parseFloat!\u003di),{parseFloat:i})},{33:33,86:86}],208:[function(t,n,r){var e\u003dt(33),i\u003dt(87);e(e.G+e.F*(parseInt!\u003di),{parseInt:i})},{33:33,87:87}],209:[function(t,n,r){\"use strict\";var e,i,o,u,c\u003dt(60),a\u003dt(40),f\u003dt(25),s\u003dt(17),l\u003dt(33),h\u003dt(51),v\u003dt(3),p\u003dt(6),d\u003dt(39),y\u003dt(104),g\u003dt(113).set,m\u003dt(68)(),b\u003dt(69),x\u003dt(90),S\u003dt(91),w\u003da.TypeError,_\u003da.process,E\u003da.Promise,O\u003d\"process\"\u003d\u003ds(_),P\u003dfunction(){},M\u003di\u003db.f,F\u003d!!function(){try{var n\u003dE.resolve(1),r\u003d(n.constructor\u003d{})[t(128)(\"species\")]\u003dfunction(t){t(P,P)};return(O||\"function\"\u003d\u003dtypeof PromiseRejectionEvent)\u0026\u0026n.then(P)instanceof r}catch(t){}}(),I\u003dc?function(t,n){return t\u003d\u003d\u003dn||t\u003d\u003d\u003dE\u0026\u0026n\u003d\u003d\u003du}:function(t,n){return t\u003d\u003d\u003dn},A\u003dfunction(t){var n;return!(!h(t)||\"function\"!\u003dtypeof(n\u003dt.then))\u0026\u0026n},k\u003dfunction(t,n){if(!t._n){t._n\u003d!0;var r\u003dt._c;m(function(){for(var e\u003dt._v,i\u003d1\u003d\u003dt._s,o\u003d0;r.length\u003eo;)!function(n){var r,o,u\u003di?n.ok:n.fail,c\u003dn.resolve,a\u003dn.reject,f\u003dn.domain;try{u?(i||(2\u003d\u003dt._h\u0026\u0026T(t),t._h\u003d1),!0\u003d\u003d\u003du?r\u003de:(f\u0026\u0026f.enter(),r\u003du(e),f\u0026\u0026f.exit()),r\u003d\u003d\u003dn.promise?a(w(\"Promise-chain cycle\")):(o\u003dA(r))?o.call(r,c,a):c(r)):a(e)}catch(t){a(t)}}(r[o++]);t._c\u003d[],t._n\u003d!1,n\u0026\u0026!t._h\u0026\u0026N(t)})}},N\u003dfunction(t){g.call(a,function(){var n,r,e,i\u003dt._v,o\u003dj(t);if(o\u0026\u0026(n\u003dx(function(){O?_.emit(\"unhandledRejection\",i,t):(r\u003da.onunhandledrejection)?r({promise:t,reason:i}):(e\u003da.console)\u0026\u0026e.error\u0026\u0026e.error(\"Unhandled promise rejection\",i)}),t._h\u003dO||j(t)?2:1),t._a\u003dvoid 0,o\u0026\u0026n.e)throw n.v})},j\u003dfunction(t){if(1\u003d\u003dt._h)return!1;for(var n,r\u003dt._a||t._c,e\u003d0;r.length\u003ee;)if(n\u003dr[e++],n.fail||!j(n.promise))return!1;return!0},T\u003dfunction(t){g.call(a,function(){var n;O?_.emit(\"rejectionHandled\",t):(n\u003da.onrejectionhandled)\u0026\u0026n({promise:t,reason:t._v})})},R\u003dfunction(t){var n\u003dthis;n._d||(n._d\u003d!0,n\u003dn._w||n,n._v\u003dt,n._s\u003d2,n._a||(n._a\u003dn._c.slice()),k(n,!0))},L\u003dfunction(t){var n,r\u003dthis;if(!r._d){r._d\u003d!0,r\u003dr._w||r;try{if(r\u003d\u003d\u003dt)throw w(\"Promise can\u0027t be resolved itself\");(n\u003dA(t))?m(function(){var e\u003d{_w:r,_d:!1};try{n.call(t,f(L,e,1),f(R,e,1))}catch(t){R.call(e,t)}}):(r._v\u003dt,r._s\u003d1,k(r,!1))}catch(t){R.call({_w:r,_d:!1},t)}}};F||(E\u003dfunction Promise(t){p(this,E,\"Promise\",\"_h\"),v(t),e.call(this);try{t(f(L,this,1),f(R,this,1))}catch(t){R.call(this,t)}},e\u003dfunction Promise(t){this._c\u003d[],this._a\u003dvoid 0,this._s\u003d0,this._d\u003d!1,this._v\u003dvoid 0,this._h\u003d0,this._n\u003d!1},e.prototype\u003dt(93)(E.prototype,{then:function then(t,n){var r\u003dM(y(this,E));return r.ok\u003d\"function\"!\u003dtypeof t||t,r.fail\u003d\"function\"\u003d\u003dtypeof n\u0026\u0026n,r.domain\u003dO?_.domain:void 0,this._c.push(r),this._a\u0026\u0026this._a.push(r),this._s\u0026\u0026k(this,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o\u003dfunction(){var t\u003dnew e;this.promise\u003dt,this.resolve\u003df(L,t,1),this.reject\u003df(R,t,1)},b.f\u003dM\u003dfunction(t){return I(E,t)?new o(t):i(t)}),l(l.G+l.W+l.F*!F,{Promise:E}),t(101)(E,\"Promise\"),t(100)(\"Promise\"),u\u003dt(23).Promise,l(l.S+l.F*!F,\"Promise\",{reject:function reject(t){var n\u003dM(this);return(0,n.reject)(t),n.promise}}),l(l.S+l.F*(c||!F),\"Promise\",{resolve:function resolve(t){return t instanceof E\u0026\u0026I(t.constructor,this)?t:S(this,t)}}),l(l.S+l.F*!(F\u0026\u0026t(56)(function(t){E.all(t).catch(P)})),\"Promise\",{all:function all(t){var n\u003dthis,r\u003dM(n),e\u003dr.resolve,i\u003dr.reject,o\u003dx(function(){var r\u003d[],o\u003d0,u\u003d1;d(t,!1,function(t){var c\u003do++,a\u003d!1;r.push(void 0),u++,n.resolve(t).then(function(t){a||(a\u003d!0,r[c]\u003dt,--u||e(r))},i)}),--u||e(r)});return o.e\u0026\u0026i(o.v),r.promise},race:function race(t){var n\u003dthis,r\u003dM(n),e\u003dr.reject,i\u003dx(function(){d(t,!1,function(t){n.resolve(t).then(r.resolve,e)})});return i.e\u0026\u0026e(i.v),r.promise}})},{100:100,101:101,104:104,113:113,128:128,17:17,23:23,25:25,"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"3:3,33:33,39:39,40:40,51:51,56:56,6:6,60:60,68:68,69:69,90:90,91:91,93:93}],210:[function(t,n,r){var e\u003dt(33),i\u003dt(3),o\u003dt(7),u\u003d(t(40).Reflect||{}).apply,c\u003dFunction.apply;e(e.S+e.F*!t(35)(function(){u(function(){})}),\"Reflect\",{apply:function apply(t,n,r){var e\u003di(t),a\u003do(r);return u?u(e,n,a):c.call(e,n,a)}})},{3:3,33:33,35:35,40:40,7:7}],211:[function(t,n,r){var e\u003dt(33),i\u003dt(71),o\u003dt(3),u\u003dt(7),c\u003dt(51),a\u003dt(35),f\u003dt(16),s\u003d(t(40).Reflect||{}).construct,l\u003da(function(){function F(){}return!(s(function(){},[],F)instanceof F)}),h\u003d!a(function(){s(function(){})});e(e.S+e.F*(l||h),\"Reflect\",{construct:function construct(t,n){o(t),u(n);var r\u003darguments.length\u003c3?t:o(arguments[2]);if(h\u0026\u0026!l)return s(t,n,r);if(t\u003d\u003dr){switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3])}var e\u003d[null];return e.push.apply(e,n),new(f.apply(t,e))}var a\u003dr.prototype,v\u003di(c(a)?a:Object.prototype),p\u003dFunction.apply.call(t,v,n);return c(p)?p:v}})},{16:16,3:3,33:33,35:35,40:40,51:51,7:7,71:71}],212:[function(t,n,r){var e\u003dt(72),i\u003dt(33),o\u003dt(7),u\u003dt(120);i(i.S+i.F*t(35)(function(){Reflect.defineProperty(e.f({},1,{value:1}),1,{value:2})}),\"Reflect\",{defineProperty:function defineProperty(t,n,r){o(t),n\u003du(n,!0),o(r);try{return e.f(t,n,r),!0}catch(t){return!1}}})},{120:120,33:33,35:35,7:7,72:72}],213:[function(t,n,r){var e\u003dt(33),i\u003dt(75).f,o\u003dt(7);e(e.S,\"Reflect\",{deleteProperty:function deleteProperty(t,n){var r\u003di(o(t),n);return!(r\u0026\u0026!r.configurable)\u0026\u0026delete t[n]}})},{33:33,7:7,75:75}],214:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(7),o\u003dfunction(t){this._t\u003di(t),this._i\u003d0;var n,r\u003dthis._k\u003d[];for(n in t)r.push(n)};t(54)(o,\"Object\",function(){var t,n\u003dthis,r\u003dn._k;do{if(n._i\u003e\u003dr.length)return{value:void 0,done:!0}}while(!((t\u003dr[n._i++])in n._t));return{value:t,done:!1}}),e(e.S,\"Reflect\",{enumerate:function enumerate(t){return new o(t)}})},{33:33,54:54,7:7}],215:[function(t,n,r){var e\u003dt(75),i\u003dt(33),o\u003dt(7);i(i.S,\"Reflect\",{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(t,n){return e.f(o(t),n)}})},{33:33,7:7,75:75}],216:[function(t,n,r){var e\u003dt(33),i\u003dt(79),o\u003dt(7);e(e.S,\"Reflect\",{getPrototypeOf:function getPrototypeOf(t){return i(o(t))}})},{33:33,7:7,79:79}],217:[function(t,n,r){function get(t,n){var r,u,f\u003darguments.length\u003c3?t:arguments[2];return a(t)\u003d\u003d\u003df?t[n]:(r\u003de.f(t,n))?o(r,\"value\")?r.value:void 0!\u003d\u003dr.get?r.get.call(f):void 0:c(u\u003di(t))?get(u,n,f):void 0}var e\u003dt(75),i\u003dt(79),o\u003dt(41),u\u003dt(33),c\u003dt(51),a\u003dt(7);u(u.S,\"Reflect\",{get:get})},{33:33,41:41,51:51,7:7,75:75,79:79}],218:[function(t,n,r){var e\u003dt(33);e(e.S,\"Reflect\",{has:function has(t,n){return n in t}})},{33:33}],219:[function(t,n,r){var e\u003dt(33),i\u003dt(7),o\u003dObject.isExtensible;e(e.S,\"Reflect\",{isExtensible:function isExtensible(t){return i(t),!o||o(t)}})},{33:33,7:7}],220:[function(t,n,r){var e\u003dt(33);e(e.S,\"Reflect\",{ownKeys:t(85)})},{33:33,85:85}],221:[function(t,n,r){var e\u003dt(33),i\u003dt(7),o\u003dObject.preventExtensions;e(e.S,\"Reflect\",{preventExtensions:function preventExtensions(t){i(t);try{return o\u0026\u0026o(t),!0}catch(t){return!1}}})},{33:33,7:7}],222:[function(t,n,r){var e\u003dt(33),i\u003dt(99);i\u0026\u0026e(e.S,\"Reflect\",{setPrototypeOf:function setPrototypeOf(t,n){i.check(t,n);try{return i.set(t,n),!0}catch(t){return!1}}})},{33:33,99:99}],223:[function(t,n,r){function set(t,n,r){var c,l,h\u003darguments.length\u003c4?t:arguments[3],v\u003di.f(f(t),n);if(!v){if(s(l\u003do(t)))return set(l,n,r,h);v\u003da(0)}return u(v,\"value\")?!(!1\u003d\u003d\u003dv.writable||!s(h))\u0026\u0026(c\u003di.f(h,n)||a(0),c.value\u003dr,e.f(h,n,c),!0):void 0!\u003d\u003dv.set\u0026\u0026(v.set.call(h,r),!0)}var e\u003dt(72),i\u003dt(75),o\u003dt(79),u\u003dt(41),c\u003dt(33),a\u003dt(92),f\u003dt(7),s\u003dt(51);c(c.S,\"Reflect\",{set:set})},{33:33,41:41,51:51,7:7,72:72,75:75,79:79,92:92}],224:[function(t,n,r){var e\u003dt(40),i\u003dt(45),o\u003dt(72).f,u\u003dt(77).f,c\u003dt(52),a\u003dt(37),f\u003de.RegExp,s\u003df,l\u003df.prototype,h\u003d/a/g,v\u003d/a/g,p\u003dnew f(h)!\u003d\u003dh;if(t(29)\u0026\u0026(!p||t(35)(function(){return v[t(128)(\"match\")]\u003d!1,f(h)!\u003dh||f(v)\u003d\u003dv||\"/a/i\"!\u003df(h,\"i\")}))){f\u003dfunction RegExp(t,n){var r\u003dthis instanceof f,e\u003dc(t),o\u003dvoid 0\u003d\u003d\u003dn;return!r\u0026\u0026e\u0026\u0026t.constructor\u003d\u003d\u003df\u0026\u0026o?t:i(p?new s(e\u0026\u0026!o?t.source:t,n):s((e\u003dt instanceof f)?t.source:t,e\u0026\u0026o?a.call(t):n),r?this:l,f)};for(var d\u003du(s),y\u003d0;d.length\u003ey;)!function(t){t in f||o(f,t,{configurable:!0,get:function(){return s[t]},set:function(n){s[t]\u003dn}})}(d[y++]);l.constructor\u003df,f.prototype\u003dl,t(94)(e,\"RegExp\",f)}t(100)(\"RegExp\")},{100:100,128:128,29:29,35:35,37:37,40:40,45:45,52:52,72:72,77:77,94:94}],225:[function(t,n,r){t(29)\u0026\u0026\"g\"!\u003d/./g.flags\u0026\u0026t(72).f(RegExp.prototype,\"flags\",{configurable:!0,get:t(37)})},{29:29,37:37,72:72}],226:[function(t,n,r){t(36)(\"match\",1,function(t,n,r){return[function match(r){\"use strict\";var e\u003dt(this),i\u003dvoid 0\u003d\u003dr?void 0:r[n];return void 0!\u003d\u003di?i.call(r,e):new RegExp(r)[n](String(e))},r]})},{36:36}],227:[function(t,n,r){t(36)(\"replace\",2,function(t,n,r){return[function replace(e,i){\"use strict\";var o\u003dt(this),u\u003dvoid 0\u003d\u003de?void 0:e[n];return void 0!\u003d\u003du?u.call(e,o,i):r.call(String(o),e,i)},r]})},{36:36}],228:[function(t,n,r){t(36)(\"search\",1,function(t,n,r){return[function search(r){\"use strict\";var e\u003dt(this),i\u003dvoid 0\u003d\u003dr?void 0:r[n];return void 0!\u003d\u003di?i.call(r,e):new RegExp(r)[n](String(e))},r]})},{36:36}],229:[function(t,n,r){t(36)(\"split\",2,function(n,r,e){\"use strict\";var i\u003dt(52),o\u003de,u\u003d[].push,c\u003d\"length\";if(\"c\"\u003d\u003d\"abbc\".split(/(b)*/)[1]||4!\u003d\"test\".split(/(?:)/,-1)[c]||2!\u003d\"ab\".split(/(?:ab)*/)[c]||4!\u003d\".\".split(/(.?)(.?)/)[c]||\".\".split(/()()/)[c]\u003e1||\"\".split(/.?/)[c]){var a\u003dvoid 0\u003d\u003d\u003d/()??/.exec(\"\")[1];e\u003dfunction(t,n){var r\u003dString(this);if(void 0\u003d\u003d\u003dt\u0026\u00260\u003d\u003d\u003dn)return[];if(!i(t))return o.call(r,t,n);var e,f,s,l,h,v\u003d[],p\u003d(t.ignoreCase?\"i\":\"\")+(t.multiline?\"m\":\"\")+(t.unicode?\"u\":\"\")+(t.sticky?\"y\":\"\"),d\u003d0,y\u003dvoid 0\u003d\u003d\u003dn?4294967295:n\u003e\u003e\u003e0,g\u003dnew RegExp(t.source,p+\"g\");for(a||(e\u003dnew RegExp(\"^\"+g.source+\"$(?!\\\\s)\",p));(f\u003dg.exec(r))\u0026\u0026!((s\u003df.index+f[0][c])\u003ed\u0026\u0026(v.push(r.slice(d,f.index)),!a\u0026\u0026f[c]\u003e1\u0026\u0026f[0].replace(e,function(){for(h\u003d1;h\u003carguments[c]-2;h++)void 0\u003d\u003d\u003darguments[h]\u0026\u0026(f[h]\u003dvoid 0)}),f[c]\u003e1\u0026\u0026f.index\u003cr[c]\u0026\u0026u.apply(v,f.slice(1)),l\u003df[0][c],d\u003ds,v[c]\u003e\u003dy));)g.lastIndex\u003d\u003d\u003df.index\u0026\u0026g.lastIndex++;return d\u003d\u003d\u003dr[c]?!l\u0026\u0026g.test(\"\")||v.push(\"\"):v.push(r.slice(d)),v[c]\u003ey?v.slice(0,y):v}}else\"0\".split(void 0,0)[c]\u0026\u0026(e\u003dfunction(t,n){return void 0\u003d\u003d\u003dt\u0026\u00260\u003d\u003d\u003dn?[]:o.call(this,t,n)});return[function split(t,i){var o\u003dn(this),u\u003dvoid 0\u003d\u003dt?void 0:t[r];return void 0!\u003d\u003du?u.call(t,o,i):e.call(String(o),t,i)},e]})},{36:36,52:52}],230:[function(t,n,r){\"use strict\";t(225);var e\u003dt(7),i\u003dt(37),o\u003dt(29),u\u003d/./.toString,c\u003dfunction(n){t(94)(RegExp.prototype,\"toString\",n,!0)};t(35)(function(){return\"/a/b\"!\u003du.call({source:\"a\",flags:\"b\"})})?c(function toString(){var t\u003de(this);return\"/\".concat(t.source,\"/\",\"flags\"in t?t.flags:!o\u0026\u0026t instanceof RegExp?i.call(t):void 0)}):\"toString\"!\u003du.name\u0026\u0026c(function toString(){return u.call(this)})},{225:225,29:29,35:35,37:37,7:7,94:94}],231:[function(t,n,r){\"use strict\";var e\u003dt(19),i\u003dt(125);n.exports\u003dt(22)(\"Set\",function(t){return function Set(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},{add:function add(t){return e.def(i(this,\"Set\"),t\u003d0\u003d\u003d\u003dt?0:t,t)}},e)},{125:125,19:19,22:22}],232:[function(t,n,r){\"use strict\";t(108)(\"anchor\",function(t){return function anchor(n){return t(this,\"a\",\"name\",n)}})},{108:108}],233:[function(t,n,r){\"use strict\";t(108)(\"big\",function(t){return function big(){return t(this,\"big\",\"\",\"\")}})},{108:108}],234:[function(t,n,r){\"use strict\";t(108)(\"blink\",function(t){return function blink(){return t(this,\"blink\",\"\",\"\")}})},{108:108}],235:[function(t,n,r){\"use strict\";t(108)(\"bold\",function(t){return function bold(){return t(this,\"b\",\"\",\"\")}})},{108:108}],236:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(106)(!1);e(e.P,\"String\",{codePointAt:function codePointAt(t){return i(this,t)}})},{106:106,33:33}],237:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(118),o\u003dt(107),u\u003d\"\".endsWith;e(e.P+e.F*t(34)(\"endsWith\"),\"String\",{endsWith:function endsWith(t){var n\u003do(this,t,\"endsWith\"),r\u003darguments.length\u003e1?arguments[1]:void 0,e\u003di(n.length),c\u003dvoid 0\u003d\u003d\u003dr?e:Math.min(i(r),e),a\u003dString(t);return u?u.call(n,a,c):n.slice(c-a.length,c)\u003d\u003d\u003da}})},{107:107,118:118,33:33,34:34}],238:[function(t,n,r){\"use strict\";t(108)(\"fixed\",function(t){return function fixed(){return t(this,\"tt\",\"\",\"\")}})},{108:108}],239:[function(t,n,r){\"use strict\";t(108)(\"fontcolor\",function(t){return function fontcolor(n){return t(this,\"font\",\"color\",n)}})},{108:108}],240:[function(t,n,r){\"use strict\";t(108)(\"fontsize\",function(t){return function fontsize(n){return t(this,\"font\",\"size\",n)}})},{108:108}],241:[function(t,n,r){var e\u003dt(33),i\u003dt(114),o\u003dString.fromCharCode,u\u003dString.fromCodePoint;e(e.S+e.F*(!!u\u0026\u00261!\u003du.length),\"String\",{fromCodePoint:function fromCodePoint(t){for(var n,r\u003d[],e\u003darguments.length,u\u003d0;e\u003eu;){if(n\u003d+arguments[u++],i(n,1114111)!\u003d\u003dn)throw RangeError(n+\" is not a valid code point\");r.push(n\u003c65536?o(n):o(55296+((n-\u003d65536)\u003e\u003e10),n%1024+56320))}return r.join(\"\")}})},{114:114,33:33}],242:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(107);e(e.P+e.F*t(34)(\"includes\"),\"String\",{includes:function includes(t){return!!~i(this,t,\"includes\").indexOf(t,arguments.length\u003e1?arguments[1]:void 0)}})},{107:107,33:33,34:34}],243:[function(t,n,r){\"use strict\";t(108)(\"italics\",function(t){return function italics(){return t(this,\"i\",\"\",\"\")}})},{108:108}],244:[function(t,n,r){\"use strict\";var e\u003dt(106)(!0);t(55)(String,\"String\",function(t){this._t\u003dString(t),this._i\u003d0},function(){var t,n\u003dthis._t,r\u003dthis._i;return r\u003e\u003dn.length?{value:void 0,done:!0}:(t\u003de(n,r),this._i+\u003dt.length,{value:t,done:!1})})},{106:106,55:55}],245:[function(t,n,r){\"use strict\";t(108)(\"link\",function(t){return function link(n){return t(this,\"a\",\"href\",n)}})},{108:108}],246:[function(t,n,r){var e\u003dt(33),i\u003dt(117),o\u003dt(118);e(e.S,\"String\",{raw:function raw(t){for(var n\u003di(t.raw),r\u003do(n.length),e\u003darguments.length,u\u003d[],c\u003d0;r\u003ec;)u.push(String(n[c++])),c\u003ce\u0026\u0026u.push(String(arguments[c]));return u.join(\"\")}})},{117:117,118:118,33:33}],247:[function(t,n,r){var e\u003dt(33);e(e.P,\"String\",{repeat:t(110)})},{110:110,33:33}],248:[function(t,n,r){\"use strict\";t(108)(\"small\",function(t){return function small(){return t(this,\"small\",\"\",\"\")}})},{108:108}],249:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(118),o\u003dt(107),u\u003d\"\".startsWith;e(e.P+e.F*t(34)(\"startsWith\"),\"String\",{startsWith:function startsWith(t){var n\u003do(this,t,\"startsWith\"),r\u003di(Math.min(arguments.length\u003e1?arguments[1]:void 0,n.length)),e\u003dString(t);return u?u.call(n,e,r):n.slice(r,r+e.length)\u003d\u003d\u003de}})},{107:107,118:118,33:33,34:34}],250:[function(t,n,r){\"use strict\";t(108)(\"strike\",function(t){return function strike(){return t(this,\"strike\",\"\",\"\")}})},{108:108}],251:[function(t,n,r){\"use strict\";t(108)(\"sub\",function(t){return function sub(){return t(this,\"sub\",\"\",\"\")}})},{108:108}],252:[function(t,n,r){\"use strict\";t(108)(\"sup\",function(t){return function sup(){return t(this,\"sup\",\"\",\"\")}})},{108:108}],253:[function(t,n,r){\"use strict\";t(111)(\"trim\",function(t){return function trim(){return t(this,3)}})},{111:111}],254:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(41),o\u003dt(29),u\u003dt(33),c\u003dt(94),a\u003dt(66).KEY,f\u003dt(35),s\u003dt(103),l\u003dt(101),h\u003dt(124),v\u003dt(128),p\u003dt(127),d\u003dt(126),y\u003dt(59),g\u003dt(32),m\u003dt(49),b\u003dt(7),x\u003dt(117),S\u003dt(120),w\u003dt(92),_\u003dt(71),E\u003dt(76),O\u003dt(75),P\u003dt(72),M\u003dt(81),F\u003dO.f,I\u003dP.f,A\u003dE.f,k\u003de.Symbol,N\u003de.JSON,j\u003dN\u0026\u0026N.stringify,T\u003dv(\"_hidden\"),R\u003dv(\"toPrimitive\"),L\u003d{}.propertyIsEnumerable,G\u003ds(\"symbol-registry\"),D\u003ds(\"symbols\"),C\u003ds(\"op-symbols\"),W\u003dObject.prototype,U\u003d\"function\"\u003d\u003dtypeof k,B\u003de.QObject,V\u003d!B||!B.prototype||!B.prototype.findChild,z\u003do\u0026\u0026f(function(){return 7!\u003d_(I({},\"a\",{get:function(){return I(this,\"a\",{value:7}).a}})).a})?function(t,n,r){var e\u003dF(W,n);e\u0026\u0026delete W[n],I(t,n,r),e\u0026\u0026t!\u003d\u003dW\u0026\u0026I(W,n,e)}:I,q\u003dfunction(t){var n\u003dD[t]\u003d_(k.prototype);return n._k\u003dt,n},K\u003dU\u0026\u0026\"symbol\"\u003d\u003dtypeof k.iterator?function(t){return\"symbol\"\u003d\u003dtypeof t}:function(t){return t instanceof k},Y\u003dfunction defineProperty(t,n,r){return t\u003d\u003d\u003dW\u0026\u0026Y(C,n,r),b(t),n\u003dS(n,!0),b(r),i(D,n)?(r.enumerable?(i(t,T)\u0026\u0026t[T][n]\u0026\u0026(t[T][n]\u003d!1),r\u003d_(r,{enumerable:w(0,!1)})):(i(t,T)||I(t,T,w(1,{})),t[T][n]\u003d!0),z(t,n,r)):I(t,n,r)},J\u003dfunction defineProperties(t,n){b(t);for(var r,e\u003dg(n\u003dx(n)),i\u003d0,o\u003de.length;o\u003ei;)Y(t,r\u003de[i++],n[r]);return t},H\u003dfunction create(t,n){return void 0\u003d\u003d\u003dn?_(t):J(_(t),n)},X\u003dfunction propertyIsEnumerable(t){var n\u003dL.call(this,t\u003dS(t,!0));return!(this\u003d\u003d\u003dW\u0026\u0026i(D,t)\u0026\u0026!i(C,t))\u0026\u0026(!(n||!i(this,t)||!i(D,t)||i(this,T)\u0026\u0026this[T][t])||n)},$\u003dfunction getOwnPropertyDescriptor(t,n){if(t\u003dx(t),n\u003dS(n,!0),t!\u003d\u003dW||!i(D,n)||i(C,n)){var r\u003dF(t,n);return!r||!i(D,n)||i(t,T)\u0026\u0026t[T][n]||(r.enumerable\u003d!0),r}},Z\u003dfunction getOwnPropertyNames(t){for(var n,r\u003dA(x(t)),e\u003d[],o\u003d0;r.length\u003eo;)i(D,n\u003dr[o++])||n\u003d\u003dT||n\u003d\u003da||e.push(n);return e},Q\u003dfunction getOwnPropertySymbols(t){for(var n,r\u003dt\u003d\u003d\u003dW,e\u003dA(r?C:x(t)),o\u003d[],u\u003d0;e.length\u003eu;)!i(D,n\u003de[u++])||r\u0026\u0026!i(W,n)||o.push(D[n]);return o};U||(k\u003dfunction Symbol(){if(this instanceof k)throw TypeError(\"Symbol is not a constructor!\");var t\u003dh(arguments.length\u003e0?arguments[0]:void 0),n\u003dfunction(r){this\u003d\u003d\u003dW\u0026\u0026n.call(C,r),i(this,T)\u0026\u0026i(this[T],t)\u0026\u0026(this[T][t]\u003d!1),z(this,t,w(1,r))};return o\u0026\u0026V\u0026\u0026z(W,t,{configurable:!0,set:n}),q(t)},c(k.prototype,\"toString\",function toString(){return this._k}),O.f\u003d$,P.f\u003dY,t(77).f\u003dE.f\u003dZ,t(82).f\u003dX,t(78).f\u003dQ,o\u0026\u0026!t(60)\u0026\u0026c(W,\"propertyIsEnumerable\",X,!0),p.f\u003dfunction(t){return q(v(t))}),u(u.G+u.W+u.F*!U,{Symbol:k});for(var tt\u003d\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),nt\u003d0;tt.length\u003ent;)v(tt[nt++]);for(var rt\u003dM(v.store),et\u003d0;rt.length\u003eet;)d(rt[et++]);u(u.S+u.F*!U,\"Symbol\",{for:function(t){return i(G,t+\u003d\"\")?G[t]:G[t]\u003dk(t)},keyFor:function keyFor(t){if(K(t))return y(G,t);throw TypeError(t+\" is not a symbol!\")},useSetter:function(){V\u003d!0},useSimple:function(){V\u003d!1}}),u(u.S+u.F*!U,\"Object\",{create:H,defineProperty:Y,defineProperties:J,getOwnPropertyDescriptor:$,getOwnPropertyNames:Z,getOwnPropertySymbols:Q}),N\u0026\u0026u(u.S+u.F*(!U||f(function(){var t\u003dk();return\"[null]\"!\u003dj([t])||\"{}\"!\u003dj({a:t})||\"{}\"!\u003dj(Object(t))})),\"JSON\",{stringify:function stringify(t){if(void 0!\u003d\u003dt\u0026\u0026!K(t)){for(var n,r,e\u003d[t],i\u003d1;arguments.length\u003ei;)e.push(arguments[i++]);return n\u003de[1],\"function\"\u003d\u003dtypeof n\u0026\u0026(r\u003dn),!r\u0026\u0026m(n)||(n\u003dfunction(t,n){if(r\u0026\u0026(n\u003dr.call(this,t,n)),!K(n))return n}),e[1]\u003dn,j.apply(N,e)}}}),k.prototype[R]||t(42)(k.prototype,R,k.prototype.valueOf),l(k,\"Symbol\"),l(Math,\"Math\",!0),l(e.JSON,\"JSON\",!0)},{101:101,103:103,117:117,120:120,124:124,126:126,127:127,128:128,29:29,32:32,33:33,35:35,40:40,41:41,42:42,49:49,59:59,60:60,66:66,7:7,71:71,72:72,75:75,76:76,77:77,78:78,81:81,82:82,92:92,94:94}],255:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(123),o\u003dt(122),u\u003dt(7),c\u003dt(114),a\u003dt(118),f\u003dt(51),s\u003dt(40).ArrayBuffer,l\u003dt(104),h\u003do.ArrayBuffer,v\u003do.DataView,p\u003di.ABV\u0026\u0026s.isView,d\u003dh.prototype.slice,y\u003di.VIEW;e(e.G+e.W+e.F*(s!\u003d\u003dh),{ArrayBuffer:h}),e(e.S+e.F*!i.CONSTR,\"ArrayBuffer\",{isView:function isView(t){return p\u0026\u0026p(t)||f(t)\u0026\u0026y in t}}),e(e.P+e.U+e.F*t(35)(function(){return!new h(2).slice(1,void 0).byteLength}),\"ArrayBuffer\",{slice:function slice(t,n){if(void 0!\u003d\u003dd\u0026\u0026void 0\u003d\u003d\u003dn)return d.call(u(this),t);for(var r\u003du(this).byteLength,e\u003dc(t,r),i\u003dc(void 0\u003d\u003d\u003dn?r:n,r),o\u003dnew(l(this,h))(a(i-e)),f\u003dnew v(this),s\u003dnew v(o),p\u003d0;e\u003ci;)s.setUint8(p++,f.getUint8(e++));return o}}),t(100)(\"ArrayBuffer\")},{100:100,104:104,114:114,118:118,122:122,123:123,33:33,35:35,40:40,51:51,7:7}],256:[function(t,n,r){var e\u003dt(33);e(e.G+e.W+e.F*!t(123).ABV,{DataView:t(122).DataView})},{122:122,123:123,33:33}],257:[function(t,n,r){t(121)(\"Float32\",4,function(t){return function Float32Array(n,r,e){return t(this,n,r,e)}})},{121:121}],258:[function(t,n,r){t(121)(\"Float64\",8,function(t){return function Float64Array(n,r,e){return t(this,n,r,e)}})},{121:121}],259:[function(t,n,r){t(121)(\"Int16\",2,function(t){return function Int16Array(n,r,e){return t(this,n,r,e)}})},{121:121}],260:[function(t,n,r){t(121)(\"Int32\",4,function(t){return function Int32Array(n,r,e){return t(this,n,r,e)}})},{121:121}],261:[function(t,n,r){t(121)(\"Int8\",1,function(t){return function Int8Array(n,r,e){return t(this,n,r,e)}})},{121:121}],262:[function(t,n,r){t(121)(\"Uint16\",2,function(t){return function Uint16Array(n,r,e){return t(this,n,r,e)}})},{121:121}],263:[function(t,n,r){t(121)(\"Uint32\",4,function(t){return function Uint32Array(n,r,e){return t(this,n,r,e)}})},{121:121}],264:[function(t,n,r){t(121)(\"Uint8\",1,function(t){return function Uint8Array(n,r,e){return t(this,n,r,e)}})},{121:121}],265:[function(t,n,r){t(121)(\"Uint8\",1,function(t){return function Uint8ClampedArray(n,r,e){return t(this,n,r,e)}},!0)},{121:121}],266:[function(t,n,r){\"use strict\";var e,i\u003dt(12)(0),o\u003dt(94),u\u003dt(66),c\u003dt(70),a\u003dt(21),f\u003dt(51),s\u003dt(35),l\u003dt(125),h\u003du.getWeak,v\u003dObject.isExtensible,p\u003da.ufstore,d\u003d{},y\u003dfunction(t){return function WeakMap(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},g\u003d{get:function get(t){if(f(t)){var n\u003dh(t);return!0\u003d\u003d\u003dn?p(l(this,\"WeakMap\")).get(t):n?n[this._i]:void 0}},set:function set(t,n){return a.def(l(this,\"WeakMap\"),t,n)}},m\u003dn.exports\u003dt(22)(\"WeakMap\",y,g,a,!0,!0);s(function(){return 7!\u003d(new m).set((Object.freeze||Object)(d),7).get(d)})\u0026\u0026(e\u003da.getConstructor(y,\"WeakMap\"),c(e.prototype,g),u.NEED\u003d!0,i([\"delete\",\"has\",\"get\",\"set\"],function(t){var n\u003dm.prototype,r\u003dn[t];o(n,t,function(n,i){if(f(n)\u0026\u0026!v(n)){this._f||(this._f\u003dnew e);var o\u003dthis._f[t](n,i);return\"set\"\u003d\u003dt?this:o}return r.call(this,n,i)})}))},{12:12,125:125,21:21,22:22,35:35,51:51,66:66,70:70,94:94}],267:[function(t,n,r){\"use strict\";var e\u003dt(21),i\u003dt(125);t(22)(\"WeakSet\",function(t){return function WeakSet(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},{add:function add(t){return e.def(i(this,\"WeakSet\"),t,!0)}},e,!1,!0)},{125:125,21:21,22:22}],268:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(38),o\u003dt(119),u\u003dt(118),c\u003dt(3),a\u003dt(15);e(e.P,\"Array\",{flatMap:function flatMap(t){var n,r,e\u003do(this);return c(t),n\u003du(e.length),r\u003da(e,0),i(r,e,e,n,0,1,t,arguments[1]),r}}),t(5)(\"flatMap\")},{118:118,119:119,15:15,3:3,33:33,38:38,5:5}],269:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(38),o\u003dt(119),u\u003dt(118),c\u003dt(116),a\u003dt(15);e(e.P,\"Array\",{flatten:function flatten(){var t\u003darguments[0],n\u003do(this),r\u003du(n.length),e\u003da(n,0);return i(e,n,n,r,0,void 0\u003d\u003d\u003dt?1:c(t)),e}}),t(5)(\"flatten\")},{116:116,118:118,119:119,15:15,33:33,38:38,5:5}],270:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(11)(!0);e(e.P,\"Array\",{includes:function includes(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0)}}),t(5)(\"includes\")},{11:11,33:33,5:5}],271:[function(t,n,r){var e\u003dt(33),i\u003dt(68)(),o\u003dt(40).process,u\u003d\"process\"\u003d\u003dt(18)(o);e(e.G,{asap:function asap(t){var n\u003du\u0026\u0026o.domain;i(n?n.bind(t):t)}})},{18:18,33:33,40:40,68:68}],272:[function(t,n,r){var e\u003dt(33),i\u003dt(18);e(e.S,\"Error\",{isError:function isError(t){return\"Error\"\u003d\u003d\u003di(t)}})},{18:18,33:33}],273:[function(t,n,r){var e\u003dt(33);e(e.G,{global:t(40)})},{33:33,40:40}],274:[function(t,n,r){t(97)(\"Map\")},{97:97}],275:[function(t,n,r){t(98)(\"Map\")},{98:98}],276:[function(t,n,r){var e\u003dt(33);e(e.P+e.R,\"Map\",{toJSON:t(20)(\"Map\")})},{20:20,33:33}],277:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{clamp:function clamp(t,n,r){return Math.min(r,Math.max(n,t))}})},{33:33}],278:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{DEG_PER_RAD:Math.PI/180})},{33:33}],279:[function(t,n,r){var e\u003dt(33),i\u003d180/Math.PI;e(e.S,\"Math\",{degrees:function degrees(t){return t*i}})},{33:33}],280:[function(t,n,r){var e\u003dt(33),i\u003dt(64),o\u003dt(62);e(e.S,\"Math\",{fscale:function fscale(t,n,r,e,u){return o(i(t,n,r,e,u))}})},{33:33,62:62,64:64}],281:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{iaddh:function iaddh(t,n,r,e){var i\u003dt\u003e\u003e\u003e0,o\u003dn\u003e\u003e\u003e0,u\u003dr\u003e\u003e\u003e0;return o+(e\u003e\u003e\u003e0)+((i\u0026u|(i|u)\u0026~(i+u\u003e\u003e\u003e0))\u003e\u003e\u003e31)|0}})},{33:33}],282:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{imulh:function imulh(t,n){var r\u003d+t,e\u003d+n,i\u003d65535\u0026r,o\u003d65535\u0026e,u\u003dr\u003e\u003e16,c\u003de\u003e\u003e16,a\u003d(u*o\u003e\u003e\u003e0)+(i*o\u003e\u003e\u003e16);return u*c+(a\u003e\u003e16)+((i*c\u003e\u003e\u003e0)+(65535\u0026a)\u003e\u003e16)}})},{33:33}],283:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{isubh:function isubh(t,n,r,e){var i\u003dt\u003e\u003e\u003e0,o\u003dn\u003e\u003e\u003e0,u\u003dr\u003e\u003e\u003e0;return o-(e\u003e\u003e\u003e0)-((~i\u0026u|~(i^u)\u0026i-u\u003e\u003e\u003e0)\u003e\u003e\u003e31)|0}})},{33:33}],284:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{RAD_PER_DEG:180/Math.PI})},{33:33}],285:[function(t,n,r){var e\u003dt(33),i\u003dMath.PI/180;e(e.S,\"Math\",{radians:function radians(t){return t*i}})},{33:33}],286:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{scale:t(64)})},{33:33,64:64}],287:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{signbit:function signbit(t){return(t\u003d+t)!\u003dt?t:0\u003d\u003dt?1/t\u003d\u003d1/0:t\u003e0}})},{33:33}],288:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{umulh:function umulh(t,n){var r\u003d+t,e\u003d+n,i\u003d65535\u0026r,o\u003d65535\u0026e,u\u003dr\u003e\u003e\u003e16,c\u003de\u003e\u003e\u003e16,a\u003d(u*o\u003e\u003e\u003e0)+(i*o\u003e\u003e\u003e16);return u*c+(a\u003e\u003e\u003e16)+((i*c\u003e\u003e\u003e0)+(65535\u0026a)\u003e\u003e\u003e16)}})},{33:33}],289:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(3),u\u003dt(72);t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__defineGetter__:function __defineGetter__(t,n){u.f(i(this),t,{get:o(n),enumerable:!0,configurable:!0})}})},{119:119,29:29,3:3,33:33,72:72,74:74}],290:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(3),u\u003dt(72);t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__defineSetter__:function __defineSetter__(t,n){u.f(i(this),t,{set:o(n),enumerable:!0,configurable:!0})}})},{119:119,29:29,3:3,33:33,72:72,74:74}],291:[function(t,n,r){var e\u003dt(33),i\u003dt(84)(!0);e(e.S,\"Object\",{entries:function entries(t){return i(t)}})},{33:33,84:84}],292:[function(t,n,r){var e\u003dt(33),i\u003dt(85),o\u003dt(117),u\u003dt(75),c\u003dt(24);e(e.S,\"Object\",{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(t){for(var n,r,e\u003do(t),a\u003du.f,f\u003di(e),s\u003d{},l\u003d0;f.length\u003el;)void 0!\u003d\u003d(r\u003da(e,n\u003df[l++]))\u0026\u0026c(s,n,r);return s}})},{117:117,24:24,33:33,75:75,85:85}],293:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(120),u\u003dt(79),c\u003dt(75).f;t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__lookupGetter__:function __lookupGetter__(t){var n,r\u003di(this),e\u003do(t,!0);do{if(n\u003dc(r,e))return n.get}while(r\u003du(r))}})},{119:119,120:120,29:29,33:33,74:74,75:75,79:79}],294:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(120),u\u003dt(79),c\u003dt(75).f;t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__lookupSetter__:function __lookupSetter__(t){var n,r\u003di(this),e\u003do(t,!0);do{if(n\u003dc(r,e))return n.set}while(r\u003du(r))}})},{119:119,120:120,29:29,33:33,74:74,75:75,79:79}],295:[function(t,n,r){var e\u003dt(33),i\u003dt(84)(!1);e(e.S,\"Object\",{values:function values(t){return i(t)}})},{33:33,84:84}],296:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(40),o\u003dt(23),u\u003dt(68)(),c\u003dt(128)(\"observable\"),a\u003dt(3),f\u003dt(7),s\u003dt(6),l\u003dt(93),h\u003dt(42),v\u003dt(39),p\u003dv.RETURN,d\u003dfunction(t){return null\u003d\u003dt?void 0:a(t)},y\u003dfunction(t){var n\u003dt._c;n\u0026\u0026(t._c\u003dvoid 0,n())},g\u003dfunction(t){return void 0\u003d\u003d\u003dt._o},m\u003dfunction(t){g(t)||(t._o\u003dvoid 0,y(t))},b\u003dfunction(t,n){f(t),this._c\u003dvoid 0,this._o\u003dt,t\u003dnew x(this);try{var r\u003dn(t),e\u003dr;null!\u003dr\u0026\u0026(\"function\"\u003d\u003dtypeof r.unsubscribe?r\u003dfunction(){e.unsubscribe()}:a(r),this._c\u003dr)}catch(n){return void t.error(n)}g(this)\u0026\u0026y(this)};b.prototype\u003dl({},{unsubscribe:function unsubscribe(){m(this)}});var x\u003dfunction(t){this._s\u003dt};x.prototype\u003dl({},{next:function next(t){var n\u003dthis._s;if(!g(n)){var r\u003dn._o;try{var e\u003dd(r.next);if(e)return e.call(r,t)}catch(t){try{m(n)}finally{throw t}}}},error:function error(t){var n\u003dthis._s;if(g(n))throw t;var r\u003dn._o;n._o\u003dvoid 0;try{var e\u003dd(r.error);if(!e)throw t;t\u003de.call(r,t)}catch(t){try{y(n)}finally{throw t}}return y(n),t},complete:function complete(t){var n\u003dthis._s;if(!g(n)){var r\u003dn._o;n._o\u003dvoid 0;try{var e\u003dd(r.complete);t\u003de?e.call(r,t):void 0}catch(t){try{y(n)}finally{throw t}}return y(n),t}}});var S\u003dfunction Observable(t){s(this,S,\"Observable\",\"_f\")._f\u003da(t)};l(S.prototype,{subscribe:function subscribe(t){return new b(t,this._f)},forEach:function forEach(t){var n\u003dthis;return new(o.Promise||i.Promise)(function(r,e){a(t);var i\u003dn.subscribe({next:function(n){try{return t(n)}catch(t){e(t),i.unsubscribe()}},error:e,complete:r})})}}),l(S,{from:function from(t){var n\u003d\"function\"\u003d\u003dtypeof this?this:S,r\u003dd(f(t)[c]);if(r){var e\u003df(r.call(t));return e.constructor\u003d\u003d\u003dn?e:new n(function(t){return e.subscribe(t)})}return new n(function(n){var r\u003d!1;return u(function(){if(!r){try{if(v(t,!1,function(t){if(n.next(t),r)return p})\u003d\u003d\u003dp)return}catch(t){if(r)throw t;return void n.error(t)}n.complete()}}),function(){r\u003d!0}})},of:function of(){for(var t\u003d0,n\u003darguments.length,r\u003dArray(n);t\u003cn;)r[t]\u003darguments[t++];return new(\"function\"\u003d\u003dtypeof this?this:S)(function(t){var n\u003d!1;return u(function(){if(!n){for(var e\u003d0;e\u003cr.length;++e)if(t.next(r[e]),n)return;t.complete()}}),function(){n\u003d!0}})}}),h(S.prototype,c,function(){return this}),e(e.G,{Observable:S}),t(100)(\"Observable\")},{100:100,128:128,23:23,3:3,33:33,39:39,40:40,42:42,6:6,68:68,7:7,93:93}],297:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(23),o\u003dt(40),u\u003dt(104),c\u003dt(91);e(e.P+e.R,\"Promise\",{finally:function(t){var n\u003du(this,i.Promise||o.Promise),r\u003d\"function\"\u003d\u003dtypeof t;return this.then(r?function(r){return c(n,t()).then(function(){return r})}:t,r?function(r){return c(n,t()).then(function(){throw r})}:t)}})},{104:104,23:23,33:33,40:40,91:91}],298:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(69),o\u003dt(90);e(e.S,\"Promise\",{try:function(t){var n\u003di.f(this),r\u003do(t);return(r.e?n.reject:n.resolve)(r.v),n.promise}})},{33:33,69:69,90:90}],299:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.key,u\u003de.set;e.exp({defineMetadata:function defineMetadata(t,n,r,e){u(t,n,i(r),o(e))}})},{67:67,7:7}],300:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.key,u\u003de.map,c\u003de.store;e.exp({deleteMetadata:function deleteMetadata(t,n){var r\u003darguments.length\u003c3?void 0:o(arguments[2]),e\u003du(i(n),r,!1);if(void 0\u003d\u003d\u003de||!e.delete(t))return!1;if(e.size)return!0;var a\u003dc.get(n);return a.delete(r),!!a.size||c.delete(n)}})},{67:67,7:7}],301:[function(t,n,r){var e\u003dt(231),i\u003dt(10),o\u003dt(67),u\u003dt(7),c\u003dt(79),a\u003do.keys,f\u003do.key,s\u003dfunction(t,n){var r\u003da(t,n),o\u003dc(t);if(null\u003d\u003d\u003do)return r;var u\u003ds(o,n);return u.length?r.length?i(new e(r.concat(u))):u:r};o.exp({getMetadataKeys:function getMetadataKeys(t){return s(u(t),arguments.length\u003c2?void 0:f(arguments[1]))}})},{10:10,231:231,67:67,7:7,79:79}],302:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003dt(79),u\u003de.has,c\u003de.get,a\u003de.key,f\u003dfunction(t,n,r){if(u(t,n,r))return c(t,n,r);var e\u003do(n);return null!\u003d\u003de?f(t,e,r):void 0};e.exp({getMetadata:function getMetadata(t,n){return f(t,i(n),arguments.length\u003c3?void 0:a(arguments[2]))}})},{67:67,7:7,79:79}],303:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.keys,u\u003de.key;e.exp({getOwnMetadataKeys:function getOwnMetadataKeys(t){return o(i(t),arguments.length\u003c2?void 0:u(arguments[1]))}})},{67:67,7:7}],304:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.get,u\u003de.key;e.exp({getOwnMetadata:function getOwnMetadata(t,n){return o(t,i(n),arguments.length\u003c3?void 0:u(arguments[2]))}})},{67:67,7:7}],305:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003dt(79),u\u003de.has,c\u003de.key,a\u003dfunction(t,n,r){if(u(t,n,r))return!0;var e\u003do(n);return null!\u003d\u003de\u0026\u0026a(t,e,r)};e.exp({hasMetadata:function hasMetadata(t,n){return a(t,i(n),arguments.length\u003c3?void 0:c(arguments[2]))}})},{67:67,7:7,79:79}],306:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.has,u\u003de.key;e.exp({hasOwnMetadata:function hasOwnMetadata(t,n){return o(t,i(n),arguments.length\u003c3?void 0:u(arguments[2]))}})},{67:67,7:7}],307:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003dt(3),u\u003de.key,c\u003de.set;e.exp({metadata:function metadata(t,n){return function decorator(r,e){c(t,n,(void 0!\u003d\u003de?i:o)(r),u(e))}}})},{3:3,67:67,7:7}],308:[function(t,n,r){t(97)(\"Set\")},{97:97}],309:[function(t,n,r){t(98)(\"Set\")},{98:98}],310:[function(t,n,r){var e\u003dt(33);e(e.P+e.R,\"Set\",{toJSON:t(20)(\"Set\")})},{20:20,33:33}],311:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(106)(!0);e(e.P,\"String\",{at:function at(t){return i(this,t)}})},{106:106,33:33}],312:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(28),o\u003dt(118),u\u003dt(52),c\u003dt(37),a\u003dRegExp.prototype,f\u003dfunction(t,n){this._r\u003dt,this._s\u003dn};t(54)(f,\"RegExp String\",function next(){var t\u003dthis._r.exec(this._s);return{value:t,done:null\u003d\u003d\u003dt}}),e(e.P,\"String\",{matchAll:function matchAll(t){if(i(this),!u(t))throw TypeError(t+\" is not a regexp!\");var n\u003dString(this),r\u003d\"flags\"in a?String(t.flags):c.call(t),e\u003dnew RegExp(t.source,~r.indexOf(\"g\")?r:\"g\"+r);return e.lastIndex\u003do(t.lastIndex),new f(e,n)}})},{118:118,28:28,33:33,37:37,52:52,54:54}],313:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(109);e(e.P,\"String\",{padEnd:function padEnd(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0,!1)}})},{109:109,33:33}],314:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(109);e(e.P,\"String\",{padStart:function padStart(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0,!0)}})},{109:109,33:33}],315:[function(t,n,r){\"use strict\";t(111)(\"trimLeft\",function(t){return function trimLeft(){return t(this,1)}},\"trimStart\")},{111:111}],316:[function(t,n,r){\"use strict\";t(111)(\"trimRight\",function(t){return function trimRight(){return t(this,2)}},\"trimEnd\")},{111:111}],317:[function(t,n,r){t(126)(\"asyncIterator\")},{126:126}],318:[function(t,n,r){t(126)(\"observable\")},{126:126}],319:[function(t,n,r){var e\u003dt(33);e(e.S,\"System\",{global:t(40)})},{33:33,40:40}],320:[function(t,n,r){t(97)(\"WeakMap\")},{97:97}],321:[function(t,n,r){t(98)(\"WeakMap\")},{98:98}],322:[function(t,n,r){t(97)(\"WeakSet\")},{97:97}],323:[function(t,n,r){t(98)(\"WeakSet\")},{98:98}],324:[function(t,n,r){for(var e\u003dt(141),i\u003dt(81),o\u003dt(94),u\u003dt(40),c\u003dt(42),a\u003dt(58),f\u003dt(128),s\u003df(\"iterator\"),l\u003df(\"toStringTag\"),h\u003da.Array,v\u003d{CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p\u003di(v),d\u003d0;d\u003cp.length;d++){var y,g\u003dp[d],m\u003dv[g],b\u003du[g],x\u003db\u0026\u0026b.prototype;if(x\u0026\u0026(x[s]||c(x,s,h),x[l]||c(x,l,g),a[g]\u003dh,m))for(y in e)x[y]||o(x,y,e[y],!0)}},{128:128,141:141,40:40,42:42,58:58,81:81,94:94}],325:[function(t,n,r){var e\u003dt(33),i\u003dt(113);e(e.G+e.B,{setImmediate:i.set,clearImmediate:i.clear})},{113:113,33:33}],326:[function(t,n,r){var e\u003dt(40),i\u003dt(33),o\u003dt(46),u\u003dt(88),c\u003de.navigator,a\u003d!!c\u0026\u0026/MSIE .\\./.test(c.userAgent),f\u003dfunction(t){return a?function(n,r){return t(o(u,[].slice.call(arguments,2),\"function\"\u003d\u003dtypeof n?n:Function(n)),r)}:t};i(i.G+i.B+i.F*a,{setTimeout:f(e.setTimeout),setInterval:f(e.setInterval)})},{33:33,40:40,46:46,88:88}],327:[function(t,n,r){t(254),t(191),t(193),t(192),t(195),t(197),t(202),t(196),t(194),t(204),t(203),t(199),t(200),t(198),t(190),t(201),t(205),t(206),t(157),t(159),t(158),t(208),t(207),t(178),t(188),t(189),t(179),t(180),t(181),t(182),t(183),t(184),t(185),t(186),t(187),t(161),t(162),t(163),t(164),t(165),t(166),t(167),t(168),t(169),t(170),t(171),t(172),t(173),t(174),t(175),t(176),t(177),t(241),t(246),t(253),t(244),t(236),t(237),t(242),t(247),t(249),t(232),t(233),t(234),t(235),t(238),t(239),t(240),t(243),t(245),t(248),t(250),t(251),t(252),t(152),t(154),t(153),t(156),t(155),t(140),t(138),t(145),t(142),t(148),t(150),t(137),t(144),t(134),t(149),t(132),t(147),t(146),t(139),t(143),t(131),t(133),t(136),t(135),t(151),t(141),t(224),t(230),t(225),t(226),t(227),t(228),t(229),t(209),t(160),t(231),t(266),t(267),t(255),t(256),t(261),t(264),t(265),t(259),t(262),t(260),t(263),t(257),t(258),t(210),t(211),t(212),t(213),t(214),t(217),t(215),t(216),t(218),t(219),t(220),t(221),t(223),t(222),t(270),t(268),t(269),t(311),t(314),t(313),t(315),t(316),t(312),t(317),t(318),t(292),t(295),t(291),t(289),t(290),t(293),t(294),t(276),t(310),t(275),t(309),t(321),t(323),t(274),t(308),t(320),t(322),t(273),t(319),t(272),t(277),t(278),t(279),t(280),t(281),t(283),t(282),t(284),t(285),t(286),t(288),t(287),t(297),t(298),t(299),t(300),t(302),t(301),t(304),t(303),t(305),t(306),t(307),t(271),t(296),t(326),t(325),t(324),n.exports\u003dt(23)},{131:131,132:132,133:133,134:134,135:135,136:136,137:137,138:138,139:139,140:140,141:141,142:142,143:143,144:144,145:145,146:146,147:147,148:148,149:149,150:150,151:151,152:152,153:153,154:154,155:155,156:156,157:157,158:158,159:159,160:160,161:161,162:162,163:163,164:164,165:165,166:166,167:167,168:168,169:169,170:170,171:171,172:172,173:173,174:174,175:175,176:176,177:177,178:178,179:179,180:180,181:181,182:182,183:183,184:184,185:185,"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"186:186,187:187,188:188,189:189,190:190,191:191,192:192,193:193,194:194,195:195,196:196,197:197,198:198,199:199,200:200,201:201,202:202,203:203,204:204,205:205,206:206,207:207,208:208,209:209,210:210,211:211,212:212,213:213,214:214,215:215,216:216,217:217,218:218,219:219,220:220,221:221,222:222,223:223,224:224,225:225,226:226,227:227,228:228,229:229,23:23,230:230,231:231,232:232,233:233,234:234,235:235,236:236,237:237,238:238,239:239,240:240,241:241,242:242,243:243,244:244,245:245,246:246,247:247,248:248,249:249,250:250,251:251,252:252,253:253,254:254,255:255,256:256,257:257,258:258,259:259,260:260,261:261,262:262,263:263,264:264,265:265,266:266,267:267,268:268,269:269,270:270,271:271,272:272,273:273,274:274,275:275,276:276,277:277,278:278,279:279,280:280,281:281,282:282,283:283,284:284,285:285,286:286,287:287,288:288,289:289,290:290,291:291,292:292,293:293,294:294,295:295,296:296,297:297,298:298,299:299,300:300,301:301,302:302,303:303,304:304,305:305,306:306,307:307,308:308,309:309,310:310,311:311,312:312,313:313,314:314,315:315,316:316,317:317,318:318,319:319,320:320,321:321,322:322,323:323,324:324,325:325,326:326}],328:[function(t,n,r){(function(t){!function(t){\"use strict\";function wrap(t,n,r,e){var i\u003dn\u0026\u0026n.prototype instanceof Generator?n:Generator,o\u003dObject.create(i.prototype),u\u003dnew Context(e||[]);return o._invoke\u003dmakeInvokeMethod(t,r,u),o}function tryCatch(t,n,r){try{return{type:\"normal\",arg:t.call(n,r)}}catch(t){return{type:\"throw\",arg:t}}}function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}function defineIteratorMethods(t){[\"next\",\"throw\",\"return\"].forEach(function(n){t[n]\u003dfunction(t){return this._invoke(n,t)}})}function AsyncIterator(n){function invoke(t,r,e,o){var u\u003dtryCatch(n[t],n,r);if(\"throw\"!\u003d\u003du.type){var c\u003du.arg,a\u003dc.value;return a\u0026\u0026\"object\"\u003d\u003dtypeof a\u0026\u0026i.call(a,\"__await\")?Promise.resolve(a.__await).then(function(t){invoke(\"next\",t,e,o)},function(t){invoke(\"throw\",t,e,o)}):Promise.resolve(a).then(function(t){c.value\u003dt,e(c)},o)}o(u.arg)}function enqueue(t,n){function callInvokeWithMethodAndArg(){return new Promise(function(r,e){invoke(t,n,r,e)})}return r\u003dr?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}\"object\"\u003d\u003dtypeof t.process\u0026\u0026t.process.domain\u0026\u0026(invoke\u003dt.process.domain.bind(invoke));var r;this._invoke\u003denqueue}function makeInvokeMethod(t,n,r){var e\u003dl;return function invoke(i,o){if(e\u003d\u003d\u003dv)throw new Error(\"Generator is already running\");if(e\u003d\u003d\u003dp){if(\"throw\"\u003d\u003d\u003di)throw o;return doneResult()}for(r.method\u003di,r.arg\u003do;;){var u\u003dr.delegate;if(u){var c\u003dmaybeInvokeDelegate(u,r);if(c){if(c\u003d\u003d\u003dd)continue;return c}}if(\"next\"\u003d\u003d\u003dr.method)r.sent\u003dr._sent\u003dr.arg;else if(\"throw\"\u003d\u003d\u003dr.method){if(e\u003d\u003d\u003dl)throw e\u003dp,r.arg;r.dispatchException(r.arg)}else\"return\"\u003d\u003d\u003dr.method\u0026\u0026r.abrupt(\"return\",r.arg);e\u003dv;var a\u003dtryCatch(t,n,r);if(\"normal\"\u003d\u003d\u003da.type){if(e\u003dr.done?p:h,a.arg\u003d\u003d\u003dd)continue;return{value:a.arg,done:r.done}}\"throw\"\u003d\u003d\u003da.type\u0026\u0026(e\u003dp,r.method\u003d\"throw\",r.arg\u003da.arg)}}}function maybeInvokeDelegate(t,n){var e\u003dt.iterator[n.method];if(e\u003d\u003d\u003dr){if(n.delegate\u003dnull,\"throw\"\u003d\u003d\u003dn.method){if(t.iterator.return\u0026\u0026(n.method\u003d\"return\",n.arg\u003dr,maybeInvokeDelegate(t,n),\"throw\"\u003d\u003d\u003dn.method))return d;n.method\u003d\"throw\",n.arg\u003dnew TypeError(\"The iterator does not provide a \u0027throw\u0027 method\")}return d}var i\u003dtryCatch(e,t.iterator,n.arg);if(\"throw\"\u003d\u003d\u003di.type)return n.method\u003d\"throw\",n.arg\u003di.arg,n.delegate\u003dnull,d;var o\u003di.arg;return o?o.done?(n[t.resultName]\u003do.value,n.next\u003dt.nextLoc,\"return\"!\u003d\u003dn.method\u0026\u0026(n.method\u003d\"next\",n.arg\u003dr),n.delegate\u003dnull,d):o:(n.method\u003d\"throw\",n.arg\u003dnew TypeError(\"iterator result is not an object\"),n.delegate\u003dnull,d)}function pushTryEntry(t){var n\u003d{tryLoc:t[0]};1 in t\u0026\u0026(n.catchLoc\u003dt[1]),2 in t\u0026\u0026(n.finallyLoc\u003dt[2],n.afterLoc\u003dt[3]),this.tryEntries.push(n)}function resetTryEntry(t){var n\u003dt.completion||{};n.type\u003d\"normal\",delete n.arg,t.completion\u003dn}function Context(t){this.tryEntries\u003d[{tryLoc:\"root\"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(t){if(t){var n\u003dt[u];if(n)return n.call(t);if(\"function\"\u003d\u003dtypeof t.next)return t;if(!isNaN(t.length)){var e\u003d-1,o\u003dfunction next(){for(;++e\u003ct.length;)if(i.call(t,e))return next.value\u003dt[e],next.done\u003d!1,next;return next.value\u003dr,next.done\u003d!0,next};return o.next\u003do}}return{next:doneResult}}function doneResult(){return{value:r,done:!0}}var r,e\u003dObject.prototype,i\u003de.hasOwnProperty,o\u003d\"function\"\u003d\u003dtypeof Symbol?Symbol:{},u\u003do.iterator||\"@@iterator\",c\u003do.asyncIterator||\"@@asyncIterator\",a\u003do.toStringTag||\"@@toStringTag\",f\u003d\"object\"\u003d\u003dtypeof n,s\u003dt.regeneratorRuntime;if(s)return void(f\u0026\u0026(n.exports\u003ds));s\u003dt.regeneratorRuntime\u003df?n.exports:{},s.wrap\u003dwrap;var l\u003d\"suspendedStart\",h\u003d\"suspendedYield\",v\u003d\"executing\",p\u003d\"completed\",d\u003d{},y\u003d{};y[u]\u003dfunction(){return this};var g\u003dObject.getPrototypeOf,m\u003dg\u0026\u0026g(g(values([])));m\u0026\u0026m!\u003d\u003de\u0026\u0026i.call(m,u)\u0026\u0026(y\u003dm);var b\u003dGeneratorFunctionPrototype.prototype\u003dGenerator.prototype\u003dObject.create(y);GeneratorFunction.prototype\u003db.constructor\u003dGeneratorFunctionPrototype,GeneratorFunctionPrototype.constructor\u003dGeneratorFunction,GeneratorFunctionPrototype[a]\u003dGeneratorFunction.displayName\u003d\"GeneratorFunction\",s.isGeneratorFunction\u003dfunction(t){var n\u003d\"function\"\u003d\u003dtypeof t\u0026\u0026t.constructor;return!!n\u0026\u0026(n\u003d\u003d\u003dGeneratorFunction||\"GeneratorFunction\"\u003d\u003d\u003d(n.displayName||n.name))},s.mark\u003dfunction(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__\u003dGeneratorFunctionPrototype,a in t||(t[a]\u003d\"GeneratorFunction\")),t.prototype\u003dObject.create(b),t},s.awrap\u003dfunction(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),AsyncIterator.prototype[c]\u003dfunction(){return this},s.AsyncIterator\u003dAsyncIterator,s.async\u003dfunction(t,n,r,e){var i\u003dnew AsyncIterator(wrap(t,n,r,e));return s.isGeneratorFunction(n)?i:i.next().then(function(t){return t.done?t.value:i.next()})},defineIteratorMethods(b),b[a]\u003d\"Generator\",b[u]\u003dfunction(){return this},b.toString\u003dfunction(){return\"[object Generator]\"},s.keys\u003dfunction(t){var n\u003d[];for(var r in t)n.push(r);return n.reverse(),function next(){for(;n.length;){var r\u003dn.pop();if(r in t)return next.value\u003dr,next.done\u003d!1,next}return next.done\u003d!0,next}},s.values\u003dvalues,Context.prototype\u003d{constructor:Context,reset:function(t){if(this.prev\u003d0,this.next\u003d0,this.sent\u003dthis._sent\u003dr,this.done\u003d!1,this.delegate\u003dnull,this.method\u003d\"next\",this.arg\u003dr,this.tryEntries.forEach(resetTryEntry),!t)for(var n in this)\"t\"\u003d\u003d\u003dn.charAt(0)\u0026\u0026i.call(this,n)\u0026\u0026!isNaN(+n.slice(1))\u0026\u0026(this[n]\u003dr)},stop:function(){this.done\u003d!0;var t\u003dthis.tryEntries[0],n\u003dt.completion;if(\"throw\"\u003d\u003d\u003dn.type)throw n.arg;return this.rval},dispatchException:function(t){function handle(e,i){return u.type\u003d\"throw\",u.arg\u003dt,n.next\u003de,i\u0026\u0026(n.method\u003d\"next\",n.arg\u003dr),!!i}if(this.done)throw t;for(var n\u003dthis,e\u003dthis.tryEntries.length-1;e\u003e\u003d0;--e){var o\u003dthis.tryEntries[e],u\u003do.completion;if(\"root\"\u003d\u003d\u003do.tryLoc)return handle(\"end\");if(o.tryLoc\u003c\u003dthis.prev){var c\u003di.call(o,\"catchLoc\"),a\u003di.call(o,\"finallyLoc\");if(c\u0026\u0026a){if(this.prev\u003co.catchLoc)return handle(o.catchLoc,!0);if(this.prev\u003co.finallyLoc)return handle(o.finallyLoc)}else if(c){if(this.prev\u003co.catchLoc)return handle(o.catchLoc,!0)}else{if(!a)throw new Error(\"try statement without catch or finally\");if(this.prev\u003co.finallyLoc)return handle(o.finallyLoc)}}}},abrupt:function(t,n){for(var r\u003dthis.tryEntries.length-1;r\u003e\u003d0;--r){var e\u003dthis.tryEntries[r];if(e.tryLoc\u003c\u003dthis.prev\u0026\u0026i.call(e,\"finallyLoc\")\u0026\u0026this.prev\u003ce.finallyLoc){var o\u003de;break}}o\u0026\u0026(\"break\"\u003d\u003d\u003dt||\"continue\"\u003d\u003d\u003dt)\u0026\u0026o.tryLoc\u003c\u003dn\u0026\u0026n\u003c\u003do.finallyLoc\u0026\u0026(o\u003dnull);var u\u003do?o.completion:{};return u.type\u003dt,u.arg\u003dn,o?(this.method\u003d\"next\",this.next\u003do.finallyLoc,d):this.complete(u)},complete:function(t,n){if(\"throw\"\u003d\u003d\u003dt.type)throw t.arg;return\"break\"\u003d\u003d\u003dt.type||\"continue\"\u003d\u003d\u003dt.type?this.next\u003dt.arg:\"return\"\u003d\u003d\u003dt.type?(this.rval\u003dthis.arg\u003dt.arg,this.method\u003d\"return\",this.next\u003d\"end\"):\"normal\"\u003d\u003d\u003dt.type\u0026\u0026n\u0026\u0026(this.next\u003dn),d},finish:function(t){for(var n\u003dthis.tryEntries.length-1;n\u003e\u003d0;--n){var r\u003dthis.tryEntries[n];if(r.finallyLoc\u003d\u003d\u003dt)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),d}},catch:function(t){for(var n\u003dthis.tryEntries.length-1;n\u003e\u003d0;--n){var r\u003dthis.tryEntries[n];if(r.tryLoc\u003d\u003d\u003dt){var e\u003dr.completion;if(\"throw\"\u003d\u003d\u003de.type){var i\u003de.arg;resetTryEntry(r)}return i}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,n,e){return this.delegate\u003d{iterator:values(t),resultName:n,nextLoc:e},\"next\"\u003d\u003d\u003dthis.method\u0026\u0026(this.arg\u003dr),d}}}(\"object\"\u003d\u003dtypeof t?t:\"object\"\u003d\u003dtypeof window?window:\"object\"\u003d\u003dtypeof self?self:this)}).call(this,\"undefined\"!\u003dtypeof global?global:\"undefined\"!\u003dtypeof self?self:\"undefined\"!\u003dtypeof window?window:{})},{}]},{},[1]);"}],"authorContributionMap":{"jingting1412":4}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/js/vue.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" * Vue.js v2.6.14"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" * (c) 2014-2021 Evan You"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" * Released under the MIT License."},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" */"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"!function(e,t){\"object\"\u003d\u003dtypeof exports\u0026\u0026\"undefined\"!\u003dtypeof module?module.exports\u003dt():\"function\"\u003d\u003dtypeof define\u0026\u0026define.amd?define(t):(e\u003de||self).Vue\u003dt()}(this,function(){\"use strict\";var e\u003dObject.freeze({});function t(e){return null\u003d\u003de}function n(e){return null!\u003de}function r(e){return!0\u003d\u003d\u003de}function i(e){return\"string\"\u003d\u003dtypeof e||\"number\"\u003d\u003dtypeof e||\"symbol\"\u003d\u003dtypeof e||\"boolean\"\u003d\u003dtypeof e}function o(e){return null!\u003d\u003de\u0026\u0026\"object\"\u003d\u003dtypeof e}var a\u003dObject.prototype.toString;function s(e){return\"[object Object]\"\u003d\u003d\u003da.call(e)}function c(e){var t\u003dparseFloat(String(e));return t\u003e\u003d0\u0026\u0026Math.floor(t)\u003d\u003d\u003dt\u0026\u0026isFinite(e)}function u(e){return n(e)\u0026\u0026\"function\"\u003d\u003dtypeof e.then\u0026\u0026\"function\"\u003d\u003dtypeof e.catch}function l(e){return null\u003d\u003de?\"\":Array.isArray(e)||s(e)\u0026\u0026e.toString\u003d\u003d\u003da?JSON.stringify(e,null,2):String(e)}function f(e){var t\u003dparseFloat(e);return isNaN(t)?e:t}function p(e,t){for(var n\u003dObject.create(null),r\u003de.split(\",\"),i\u003d0;i\u003cr.length;i++)n[r[i]]\u003d!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}var d\u003dp(\"slot,component\",!0),v\u003dp(\"key,ref,slot,slot-scope,is\");function h(e,t){if(e.length){var n\u003de.indexOf(t);if(n\u003e-1)return e.splice(n,1)}}var m\u003dObject.prototype.hasOwnProperty;function y(e,t){return m.call(e,t)}function g(e){var t\u003dObject.create(null);return function(n){return t[n]||(t[n]\u003de(n))}}var _\u003d/-(\\w)/g,b\u003dg(function(e){return e.replace(_,function(e,t){return t?t.toUpperCase():\"\"})}),$\u003dg(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),w\u003d/\\B([A-Z])/g,C\u003dg(function(e){return e.replace(w,\"-$1\").toLowerCase()});var x\u003dFunction.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r\u003darguments.length;return r?r\u003e1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length\u003de.length,n};function k(e,t){t\u003dt||0;for(var n\u003de.length-t,r\u003dnew Array(n);n--;)r[n]\u003de[n+t];return r}function A(e,t){for(var n in t)e[n]\u003dt[n];return e}function O(e){for(var t\u003d{},n\u003d0;n\u003ce.length;n++)e[n]\u0026\u0026A(t,e[n]);return t}function S(e,t,n){}var T\u003dfunction(e,t,n){return!1},N\u003dfunction(e){return e};function E(e,t){if(e\u003d\u003d\u003dt)return!0;var n\u003do(e),r\u003do(t);if(!n||!r)return!n\u0026\u0026!r\u0026\u0026String(e)\u003d\u003d\u003dString(t);try{var i\u003dArray.isArray(e),a\u003dArray.isArray(t);if(i\u0026\u0026a)return e.length\u003d\u003d\u003dt.length\u0026\u0026e.every(function(e,n){return E(e,t[n])});if(e instanceof Date\u0026\u0026t instanceof Date)return e.getTime()\u003d\u003d\u003dt.getTime();if(i||a)return!1;var s\u003dObject.keys(e),c\u003dObject.keys(t);return s.length\u003d\u003d\u003dc.length\u0026\u0026s.every(function(n){return E(e[n],t[n])})}catch(e){return!1}}function j(e,t){for(var n\u003d0;n\u003ce.length;n++)if(E(e[n],t))return n;return-1}function D(e){var t\u003d!1;return function(){t||(t\u003d!0,e.apply(this,arguments))}}var L\u003d\"data-server-rendered\",I\u003d[\"component\",\"directive\",\"filter\"],M\u003d[\"beforeCreate\",\"created\",\"beforeMount\",\"mounted\",\"beforeUpdate\",\"updated\",\"beforeDestroy\",\"destroyed\",\"activated\",\"deactivated\",\"errorCaptured\",\"serverPrefetch\"],F\u003d{optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:T,isReservedAttr:T,isUnknownElement:T,getTagNamespace:S,parsePlatformTagName:N,mustUseProp:T,async:!0,_lifecycleHooks:M},P\u003d/a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;function R(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var H\u003dnew RegExp(\"[^\"+P.source+\".$_\\\\d]\");var B,U\u003d\"__proto__\"in{},V\u003d\"undefined\"!\u003dtypeof window,z\u003d\"undefined\"!\u003dtypeof WXEnvironment\u0026\u0026!!WXEnvironment.platform,K\u003dz\u0026\u0026WXEnvironment.platform.toLowerCase(),J\u003dV\u0026\u0026window.navigator.userAgent.toLowerCase(),q\u003dJ\u0026\u0026/msie|trident/.test(J),W\u003dJ\u0026\u0026J.indexOf(\"msie 9.0\")\u003e0,Z\u003dJ\u0026\u0026J.indexOf(\"edge/\")\u003e0,G\u003d(J\u0026\u0026J.indexOf(\"android\"),J\u0026\u0026/iphone|ipad|ipod|ios/.test(J)||\"ios\"\u003d\u003d\u003dK),X\u003d(J\u0026\u0026/chrome\\/\\d+/.test(J),J\u0026\u0026/phantomjs/.test(J),J\u0026\u0026J.match(/firefox\\/(\\d+)/)),Y\u003d{}.watch,Q\u003d!1;if(V)try{var ee\u003d{};Object.defineProperty(ee,\"passive\",{get:function(){Q\u003d!0}}),window.addEventListener(\"test-passive\",null,ee)}catch(e){}var te\u003dfunction(){return void 0\u003d\u003d\u003dB\u0026\u0026(B\u003d!V\u0026\u0026!z\u0026\u0026\"undefined\"!\u003dtypeof global\u0026\u0026(global.process\u0026\u0026\"server\"\u003d\u003d\u003dglobal.process.env.VUE_ENV)),B},ne\u003dV\u0026\u0026window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function re(e){return\"function\"\u003d\u003dtypeof e\u0026\u0026/native code/.test(e.toString())}var ie,oe\u003d\"undefined\"!\u003dtypeof Symbol\u0026\u0026re(Symbol)\u0026\u0026\"undefined\"!\u003dtypeof Reflect\u0026\u0026re(Reflect.ownKeys);ie\u003d\"undefined\"!\u003dtypeof Set\u0026\u0026re(Set)?Set:function(){function e(){this.set\u003dObject.create(null)}return e.prototype.has\u003dfunction(e){return!0\u003d\u003d\u003dthis.set[e]},e.prototype.add\u003dfunction(e){this.set[e]\u003d!0},e.prototype.clear\u003dfunction(){this.set\u003dObject.create(null)},e}();var ae\u003dS,se\u003d0,ce\u003dfunction(){this.id\u003dse++,this.subs\u003d[]};ce.prototype.addSub\u003dfunction(e){this.subs.push(e)},ce.prototype.removeSub\u003dfunction(e){h(this.subs,e)},ce.prototype.depend\u003dfunction(){ce.target\u0026\u0026ce.target.addDep(this)},ce.prototype.notify\u003dfunction(){for(var e\u003dthis.subs.slice(),t\u003d0,n\u003de.length;t\u003cn;t++)e[t].update()},ce.target\u003dnull;var ue\u003d[];function le(e){ue.push(e),ce.target\u003de}function fe(){ue.pop(),ce.target\u003due[ue.length-1]}var pe\u003dfunction(e,t,n,r,i,o,a,s){this.tag\u003de,this.data\u003dt,this.children\u003dn,this.text\u003dr,this.elm\u003di,this.ns\u003dvoid 0,this.context\u003do,this.fnContext\u003dvoid 0,this.fnOptions\u003dvoid 0,this.fnScopeId\u003dvoid 0,this.key\u003dt\u0026\u0026t.key,this.componentOptions\u003da,this.componentInstance\u003dvoid 0,this.parent\u003dvoid 0,this.raw\u003d!1,this.isStatic\u003d!1,this.isRootInsert\u003d!0,this.isComment\u003d!1,this.isCloned\u003d!1,this.isOnce\u003d!1,this.asyncFactory\u003ds,this.asyncMeta\u003dvoid 0,this.isAsyncPlaceholder\u003d!1},de\u003d{child:{configurable:!0}};de.child.get\u003dfunction(){return this.componentInstance},Object.defineProperties(pe.prototype,de);var ve\u003dfunction(e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d\"\");var t\u003dnew pe;return t.text\u003de,t.isComment\u003d!0,t};function he(e){return new pe(void 0,void 0,void 0,String(e))}function me(e){var t\u003dnew pe(e.tag,e.data,e.children\u0026\u0026e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns\u003de.ns,t.isStatic\u003de.isStatic,t.key\u003de.key,t.isComment\u003de.isComment,t.fnContext\u003de.fnContext,t.fnOptions\u003de.fnOptions,t.fnScopeId\u003de.fnScopeId,t.asyncMeta\u003de.asyncMeta,t.isCloned\u003d!0,t}var ye\u003dArray.prototype,ge\u003dObject.create(ye);[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\",\"sort\",\"reverse\"].forEach(function(e){var t\u003dye[e];R(ge,e,function(){for(var n\u003d[],r\u003darguments.length;r--;)n[r]\u003darguments[r];var i,o\u003dt.apply(this,n),a\u003dthis.__ob__;switch(e){case\"push\":case\"unshift\":i\u003dn;break;case\"splice\":i\u003dn.slice(2)}return i\u0026\u0026a.observeArray(i),a.dep.notify(),o})});var _e\u003dObject.getOwnPropertyNames(ge),be\u003d!0;function $e(e){be\u003de}var we\u003dfunction(e){var t;this.value\u003de,this.dep\u003dnew ce,this.vmCount\u003d0,R(e,\"__ob__\",this),Array.isArray(e)?(U?(t\u003dge,e.__proto__\u003dt):function(e,t,n){for(var r\u003d0,i\u003dn.length;r\u003ci;r++){var o\u003dn[r];R(e,o,t[o])}}(e,ge,_e),this.observeArray(e)):this.walk(e)};function Ce(e,t){var n;if(o(e)\u0026\u0026!(e instanceof pe))return y(e,\"__ob__\")\u0026\u0026e.__ob__ instanceof we?n\u003de.__ob__:be\u0026\u0026!te()\u0026\u0026(Array.isArray(e)||s(e))\u0026\u0026Object.isExtensible(e)\u0026\u0026!e._isVue\u0026\u0026(n\u003dnew we(e)),t\u0026\u0026n\u0026\u0026n.vmCount++,n}function xe(e,t,n,r,i){var o\u003dnew ce,a\u003dObject.getOwnPropertyDescriptor(e,t);if(!a||!1!\u003d\u003da.configurable){var s\u003da\u0026\u0026a.get,c\u003da\u0026\u0026a.set;s\u0026\u0026!c||2!\u003d\u003darguments.length||(n\u003de[t]);var u\u003d!i\u0026\u0026Ce(n);Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var t\u003ds?s.call(e):n;return ce.target\u0026\u0026(o.depend(),u\u0026\u0026(u.dep.depend(),Array.isArray(t)\u0026\u0026function e(t){for(var n\u003dvoid 0,r\u003d0,i\u003dt.length;r\u003ci;r++)(n\u003dt[r])\u0026\u0026n.__ob__\u0026\u0026n.__ob__.dep.depend(),Array.isArray(n)\u0026\u0026e(n)}(t))),t},set:function(t){var r\u003ds?s.call(e):n;t\u003d\u003d\u003dr||t!\u003dt\u0026\u0026r!\u003dr||s\u0026\u0026!c||(c?c.call(e,t):n\u003dt,u\u003d!i\u0026\u0026Ce(t),o.notify())}})}}function ke(e,t,n){if(Array.isArray(e)\u0026\u0026c(t))return e.length\u003dMath.max(e.length,t),e.splice(t,1,n),n;if(t in e\u0026\u0026!(t in Object.prototype))return e[t]\u003dn,n;var r\u003de.__ob__;return e._isVue||r\u0026\u0026r.vmCount?n:r?(xe(r.value,t,n),r.dep.notify(),n):(e[t]\u003dn,n)}function Ae(e,t){if(Array.isArray(e)\u0026\u0026c(t))e.splice(t,1);else{var n\u003de.__ob__;e._isVue||n\u0026\u0026n.vmCount||y(e,t)\u0026\u0026(delete e[t],n\u0026\u0026n.dep.notify())}}we.prototype.walk\u003dfunction(e){for(var t\u003dObject.keys(e),n\u003d0;n\u003ct.length;n++)xe(e,t[n])},we.prototype.observeArray\u003dfunction(e){for(var t\u003d0,n\u003de.length;t\u003cn;t++)Ce(e[t])};var Oe\u003dF.optionMergeStrategies;function Se(e,t){if(!t)return e;for(var n,r,i,o\u003doe?Reflect.ownKeys(t):Object.keys(t),a\u003d0;a\u003co.length;a++)\"__ob__\"!\u003d\u003d(n\u003do[a])\u0026\u0026(r\u003de[n],i\u003dt[n],y(e,n)?r!\u003d\u003di\u0026\u0026s(r)\u0026\u0026s(i)\u0026\u0026Se(r,i):ke(e,n,i));return e}function Te(e,t,n){return n?function(){var r\u003d\"function\"\u003d\u003dtypeof t?t.call(n,n):t,i\u003d\"function\"\u003d\u003dtypeof e?e.call(n,n):e;return r?Se(r,i):i}:t?e?function(){return Se(\"function\"\u003d\u003dtypeof t?t.call(this,this):t,\"function\"\u003d\u003dtypeof e?e.call(this,this):e)}:t:e}function Ne(e,t){var n\u003dt?e?e.concat(t):Array.isArray(t)?t:[t]:e;return n?function(e){for(var t\u003d[],n\u003d0;n\u003ce.length;n++)-1\u003d\u003d\u003dt.indexOf(e[n])\u0026\u0026t.push(e[n]);return t}(n):n}function Ee(e,t,n,r){var i\u003dObject.create(e||null);return t?A(i,t):i}Oe.data\u003dfunction(e,t,n){return n?Te(e,t,n):t\u0026\u0026\"function\"!\u003dtypeof t?e:Te(e,t)},M.forEach(function(e){Oe[e]\u003dNe}),I.forEach(function(e){Oe[e+\"s\"]\u003dEe}),Oe.watch\u003dfunction(e,t,n,r){if(e\u003d\u003d\u003dY\u0026\u0026(e\u003dvoid 0),t\u003d\u003d\u003dY\u0026\u0026(t\u003dvoid 0),!t)return Object.create(e||null);if(!e)return t;var i\u003d{};for(var o in A(i,e),t){var a\u003di[o],s\u003dt[o];a\u0026\u0026!Array.isArray(a)\u0026\u0026(a\u003d[a]),i[o]\u003da?a.concat(s):Array.isArray(s)?s:[s]}return i},Oe.props\u003dOe.methods\u003dOe.inject\u003dOe.computed\u003dfunction(e,t,n,r){if(!e)return t;var i\u003dObject.create(null);return A(i,e),t\u0026\u0026A(i,t),i},Oe.provide\u003dTe;var je\u003dfunction(e,t){return void 0\u003d\u003d\u003dt?e:t};function De(e,t,n){if(\"function\"\u003d\u003dtypeof t\u0026\u0026(t\u003dt.options),function(e,t){var n\u003de.props;if(n){var r,i,o\u003d{};if(Array.isArray(n))for(r\u003dn.length;r--;)\"string\"\u003d\u003dtypeof(i\u003dn[r])\u0026\u0026(o[b(i)]\u003d{type:null});else if(s(n))for(var a in n)i\u003dn[a],o[b(a)]\u003ds(i)?i:{type:i};e.props\u003do}}(t),function(e,t){var n\u003de.inject;if(n){var r\u003de.inject\u003d{};if(Array.isArray(n))for(var i\u003d0;i\u003cn.length;i++)r[n[i]]\u003d{from:n[i]};else if(s(n))for(var o in n){var a\u003dn[o];r[o]\u003ds(a)?A({from:o},a):{from:a}}}}(t),function(e){var t\u003de.directives;if(t)for(var n in t){var r\u003dt[n];\"function\"\u003d\u003dtypeof r\u0026\u0026(t[n]\u003d{bind:r,update:r})}}(t),!t._base\u0026\u0026(t.extends\u0026\u0026(e\u003dDe(e,t.extends,n)),t.mixins))for(var r\u003d0,i\u003dt.mixins.length;r\u003ci;r++)e\u003dDe(e,t.mixins[r],n);var o,a\u003d{};for(o in e)c(o);for(o in t)y(e,o)||c(o);function c(r){var i\u003dOe[r]||je;a[r]\u003di(e[r],t[r],n,r)}return a}function Le(e,t,n,r){if(\"string\"\u003d\u003dtypeof n){var i\u003de[t];if(y(i,n))return i[n];var o\u003db(n);if(y(i,o))return i[o];var a\u003d$(o);return y(i,a)?i[a]:i[n]||i[o]||i[a]}}function Ie(e,t,n,r){var i\u003dt[e],o\u003d!y(n,e),a\u003dn[e],s\u003dRe(Boolean,i.type);if(s\u003e-1)if(o\u0026\u0026!y(i,\"default\"))a\u003d!1;else if(\"\"\u003d\u003d\u003da||a\u003d\u003d\u003dC(e)){var c\u003dRe(String,i.type);(c\u003c0||s\u003cc)\u0026\u0026(a\u003d!0)}if(void 0\u003d\u003d\u003da){a\u003dfunction(e,t,n){if(!y(t,\"default\"))return;var r\u003dt.default;if(e\u0026\u0026e.$options.propsData\u0026\u0026void 0\u003d\u003d\u003de.$options.propsData[n]\u0026\u0026void 0!\u003d\u003de._props[n])return e._props[n];return\"function\"\u003d\u003dtypeof r\u0026\u0026\"Function\"!\u003d\u003dFe(t.type)?r.call(e):r}(r,i,e);var u\u003dbe;$e(!0),Ce(a),$e(u)}return a}var Me\u003d/^\\s*function (\\w+)/;function Fe(e){var t\u003de\u0026\u0026e.toString().match(Me);return t?t[1]:\"\"}function Pe(e,t){return Fe(e)\u003d\u003d\u003dFe(t)}function Re(e,t){if(!Array.isArray(t))return Pe(t,e)?0:-1;for(var n\u003d0,r\u003dt.length;n\u003cr;n++)if(Pe(t[n],e))return n;return-1}function He(e,t,n){le();try{if(t)for(var r\u003dt;r\u003dr.$parent;){var i\u003dr.$options.errorCaptured;if(i)for(var o\u003d0;o\u003ci.length;o++)try{if(!1\u003d\u003d\u003di[o].call(r,e,t,n))return}catch(e){Ue(e,r,\"errorCaptured hook\")}}Ue(e,t,n)}finally{fe()}}function Be(e,t,n,r,i){var o;try{(o\u003dn?e.apply(t,n):e.call(t))\u0026\u0026!o._isVue\u0026\u0026u(o)\u0026\u0026!o._handled\u0026\u0026(o.catch(function(e){return He(e,r,i+\" (Promise/async)\")}),o._handled\u003d!0)}catch(e){He(e,r,i)}return o}function Ue(e,t,n){if(F.errorHandler)try{return F.errorHandler.call(null,e,t,n)}catch(t){t!\u003d\u003de\u0026\u0026Ve(t,null,\"config.errorHandler\")}Ve(e,t,n)}function Ve(e,t,n){if(!V\u0026\u0026!z||\"undefined\"\u003d\u003dtypeof console)throw e;console.error(e)}var ze,Ke\u003d!1,Je\u003d[],qe\u003d!1;function We(){qe\u003d!1;var e\u003dJe.slice(0);Je.length\u003d0;for(var t\u003d0;t\u003ce.length;t++)e[t]()}if(\"undefined\"!\u003dtypeof Promise\u0026\u0026re(Promise)){var Ze\u003dPromise.resolve();ze\u003dfunction(){Ze.then(We),G\u0026\u0026setTimeout(S)},Ke\u003d!0}else if(q||\"undefined\"\u003d\u003dtypeof MutationObserver||!re(MutationObserver)\u0026\u0026\"[object MutationObserverConstructor]\"!\u003d\u003dMutationObserver.toString())ze\u003d\"undefined\"!\u003dtypeof setImmediate\u0026\u0026re(setImmediate)?function(){setImmediate(We)}:function(){setTimeout(We,0)};else{var Ge\u003d1,Xe\u003dnew MutationObserver(We),Ye\u003ddocument.createTextNode(String(Ge));Xe.observe(Ye,{characterData:!0}),ze\u003dfunction(){Ge\u003d(Ge+1)%2,Ye.data\u003dString(Ge)},Ke\u003d!0}function Qe(e,t){var n;if(Je.push(function(){if(e)try{e.call(t)}catch(e){He(e,t,\"nextTick\")}else n\u0026\u0026n(t)}),qe||(qe\u003d!0,ze()),!e\u0026\u0026\"undefined\"!\u003dtypeof Promise)return new Promise(function(e){n\u003de})}var et\u003dnew ie;function tt(e){!function e(t,n){var r,i;var a\u003dArray.isArray(t);if(!a\u0026\u0026!o(t)||Object.isFrozen(t)||t instanceof pe)return;if(t.__ob__){var s\u003dt.__ob__.dep.id;if(n.has(s))return;n.add(s)}if(a)for(r\u003dt.length;r--;)e(t[r],n);else for(i\u003dObject.keys(t),r\u003di.length;r--;)e(t[i[r]],n)}(e,et),et.clear()}var nt\u003dg(function(e){var t\u003d\"\u0026\"\u003d\u003d\u003de.charAt(0),n\u003d\"~\"\u003d\u003d\u003d(e\u003dt?e.slice(1):e).charAt(0),r\u003d\"!\"\u003d\u003d\u003d(e\u003dn?e.slice(1):e).charAt(0);return{name:e\u003dr?e.slice(1):e,once:n,capture:r,passive:t}});function rt(e,t){function n(){var e\u003darguments,r\u003dn.fns;if(!Array.isArray(r))return Be(r,null,arguments,t,\"v-on handler\");for(var i\u003dr.slice(),o\u003d0;o\u003ci.length;o++)Be(i[o],null,e,t,\"v-on handler\")}return n.fns\u003de,n}function it(e,n,i,o,a,s){var c,u,l,f;for(c in e)u\u003de[c],l\u003dn[c],f\u003dnt(c),t(u)||(t(l)?(t(u.fns)\u0026\u0026(u\u003de[c]\u003drt(u,s)),r(f.once)\u0026\u0026(u\u003de[c]\u003da(f.name,u,f.capture)),i(f.name,u,f.capture,f.passive,f.params)):u!\u003d\u003dl\u0026\u0026(l.fns\u003du,e[c]\u003dl));for(c in n)t(e[c])\u0026\u0026o((f\u003dnt(c)).name,n[c],f.capture)}function ot(e,i,o){var a;e instanceof pe\u0026\u0026(e\u003de.data.hook||(e.data.hook\u003d{}));var s\u003de[i];function c(){o.apply(this,arguments),h(a.fns,c)}t(s)?a\u003drt([c]):n(s.fns)\u0026\u0026r(s.merged)?(a\u003ds).fns.push(c):a\u003drt([s,c]),a.merged\u003d!0,e[i]\u003da}function at(e,t,r,i,o){if(n(t)){if(y(t,r))return e[r]\u003dt[r],o||delete t[r],!0;if(y(t,i))return e[r]\u003dt[i],o||delete t[i],!0}return!1}function st(e){return i(e)?[he(e)]:Array.isArray(e)?function e(o,a){var s\u003d[];var c,u,l,f;for(c\u003d0;c\u003co.length;c++)t(u\u003do[c])||\"boolean\"\u003d\u003dtypeof u||(l\u003ds.length-1,f\u003ds[l],Array.isArray(u)?u.length\u003e0\u0026\u0026(ct((u\u003de(u,(a||\"\")+\"_\"+c))[0])\u0026\u0026ct(f)\u0026\u0026(s[l]\u003dhe(f.text+u[0].text),u.shift()),s.push.apply(s,u)):i(u)?ct(f)?s[l]\u003dhe(f.text+u):\"\"!\u003d\u003du\u0026\u0026s.push(he(u)):ct(u)\u0026\u0026ct(f)?s[l]\u003dhe(f.text+u.text):(r(o._isVList)\u0026\u0026n(u.tag)\u0026\u0026t(u.key)\u0026\u0026n(a)\u0026\u0026(u.key\u003d\"__vlist\"+a+\"_\"+c+\"__\"),s.push(u)));return s}(e):void 0}function ct(e){return n(e)\u0026\u0026n(e.text)\u0026\u0026!1\u003d\u003d\u003de.isComment}function ut(e,t){if(e){for(var n\u003dObject.create(null),r\u003doe?Reflect.ownKeys(e):Object.keys(e),i\u003d0;i\u003cr.length;i++){var o\u003dr[i];if(\"__ob__\"!\u003d\u003do){for(var a\u003de[o].from,s\u003dt;s;){if(s._provided\u0026\u0026y(s._provided,a)){n[o]\u003ds._provided[a];break}s\u003ds.$parent}if(!s\u0026\u0026\"default\"in e[o]){var c\u003de[o].default;n[o]\u003d\"function\"\u003d\u003dtypeof c?c.call(t):c}}}return n}}function lt(e,t){if(!e||!e.length)return{};for(var n\u003d{},r\u003d0,i\u003de.length;r\u003ci;r++){var o\u003de[r],a\u003do.data;if(a\u0026\u0026a.attrs\u0026\u0026a.attrs.slot\u0026\u0026delete a.attrs.slot,o.context!\u003d\u003dt\u0026\u0026o.fnContext!\u003d\u003dt||!a||null\u003d\u003da.slot)(n.default||(n.default\u003d[])).push(o);else{var s\u003da.slot,c\u003dn[s]||(n[s]\u003d[]);\"template\"\u003d\u003d\u003do.tag?c.push.apply(c,o.children||[]):c.push(o)}}for(var u in n)n[u].every(ft)\u0026\u0026delete n[u];return n}function ft(e){return e.isComment\u0026\u0026!e.asyncFactory||\" \"\u003d\u003d\u003de.text}function pt(e){return e.isComment\u0026\u0026e.asyncFactory}function dt(t,n,r){var i,o\u003dObject.keys(n).length\u003e0,a\u003dt?!!t.$stable:!o,s\u003dt\u0026\u0026t.$key;if(t){if(t._normalized)return t._normalized;if(a\u0026\u0026r\u0026\u0026r!\u003d\u003de\u0026\u0026s\u003d\u003d\u003dr.$key\u0026\u0026!o\u0026\u0026!r.$hasNormal)return r;for(var c in i\u003d{},t)t[c]\u0026\u0026\"$\"!\u003d\u003dc[0]\u0026\u0026(i[c]\u003dvt(n,c,t[c]))}else i\u003d{};for(var u in n)u in i||(i[u]\u003dht(n,u));return t\u0026\u0026Object.isExtensible(t)\u0026\u0026(t._normalized\u003di),R(i,\"$stable\",a),R(i,\"$key\",s),R(i,\"$hasNormal\",o),i}function vt(e,t,n){var r\u003dfunction(){var e\u003darguments.length?n.apply(null,arguments):n({}),t\u003d(e\u003de\u0026\u0026\"object\"\u003d\u003dtypeof e\u0026\u0026!Array.isArray(e)?[e]:st(e))\u0026\u0026e[0];return e\u0026\u0026(!t||1\u003d\u003d\u003de.length\u0026\u0026t.isComment\u0026\u0026!pt(t))?void 0:e};return n.proxy\u0026\u0026Object.defineProperty(e,t,{get:r,enumerable:!0,configurable:!0}),r}function ht(e,t){return function(){return e[t]}}function mt(e,t){var r,i,a,s,c;if(Array.isArray(e)||\"string\"\u003d\u003dtypeof e)for(r\u003dnew Array(e.length),i\u003d0,a\u003de.length;i\u003ca;i++)r[i]\u003dt(e[i],i);else if(\"number\"\u003d\u003dtypeof e)for(r\u003dnew Array(e),i\u003d0;i\u003ce;i++)r[i]\u003dt(i+1,i);else if(o(e))if(oe\u0026\u0026e[Symbol.iterator]){r\u003d[];for(var u\u003de[Symbol.iterator](),l\u003du.next();!l.done;)r.push(t(l.value,r.length)),l\u003du.next()}else for(s\u003dObject.keys(e),r\u003dnew Array(s.length),i\u003d0,a\u003ds.length;i\u003ca;i++)c\u003ds[i],r[i]\u003dt(e[c],c,i);return n(r)||(r\u003d[]),r._isVList\u003d!0,r}function yt(e,t,n,r){var i,o\u003dthis.$scopedSlots[e];o?(n\u003dn||{},r\u0026\u0026(n\u003dA(A({},r),n)),i\u003do(n)||(\"function\"\u003d\u003dtypeof t?t():t)):i\u003dthis.$slots[e]||(\"function\"\u003d\u003dtypeof t?t():t);var a\u003dn\u0026\u0026n.slot;return a?this.$createElement(\"template\",{slot:a},i):i}function gt(e){return Le(this.$options,\"filters\",e)||N}function _t(e,t){return Array.isArray(e)?-1\u003d\u003d\u003de.indexOf(t):e!\u003d\u003dt}function bt(e,t,n,r,i){var o\u003dF.keyCodes[t]||n;return i\u0026\u0026r\u0026\u0026!F.keyCodes[t]?_t(i,r):o?_t(o,e):r?C(r)!\u003d\u003dt:void 0\u003d\u003d\u003de}function $t(e,t,n,r,i){if(n)if(o(n)){var a;Array.isArray(n)\u0026\u0026(n\u003dO(n));var s\u003dfunction(o){if(\"class\"\u003d\u003d\u003do||\"style\"\u003d\u003d\u003do||v(o))a\u003de;else{var s\u003de.attrs\u0026\u0026e.attrs.type;a\u003dr||F.mustUseProp(t,s,o)?e.domProps||(e.domProps\u003d{}):e.attrs||(e.attrs\u003d{})}var c\u003db(o),u\u003dC(o);c in a||u in a||(a[o]\u003dn[o],i\u0026\u0026((e.on||(e.on\u003d{}))[\"update:\"+o]\u003dfunction(e){n[o]\u003de}))};for(var c in n)s(c)}else;return e}function wt(e,t){var n\u003dthis._staticTrees||(this._staticTrees\u003d[]),r\u003dn[e];return r\u0026\u0026!t?r:(xt(r\u003dn[e]\u003dthis.$options.staticRenderFns[e].call(this._renderProxy,null,this),\"__static__\"+e,!1),r)}function Ct(e,t,n){return xt(e,\"__once__\"+t+(n?\"_\"+n:\"\"),!0),e}function xt(e,t,n){if(Array.isArray(e))for(var r\u003d0;r\u003ce.length;r++)e[r]\u0026\u0026\"string\"!\u003dtypeof e[r]\u0026\u0026kt(e[r],t+\"_\"+r,n);else kt(e,t,n)}function kt(e,t,n){e.isStatic\u003d!0,e.key\u003dt,e.isOnce\u003dn}function At(e,t){if(t)if(s(t)){var n\u003de.on\u003de.on?A({},e.on):{};for(var r in t){var i\u003dn[r],o\u003dt[r];n[r]\u003di?[].concat(i,o):o}}else;return e}function Ot(e,t,n,r){t\u003dt||{$stable:!n};for(var i\u003d0;i\u003ce.length;i++){var o\u003de[i];Array.isArray(o)?Ot(o,t,n):o\u0026\u0026(o.proxy\u0026\u0026(o.fn.proxy\u003d!0),t[o.key]\u003do.fn)}return r\u0026\u0026(t.$key\u003dr),t}function St(e,t){for(var n\u003d0;n\u003ct.length;n+\u003d2){var r\u003dt[n];\"string\"\u003d\u003dtypeof r\u0026\u0026r\u0026\u0026(e[t[n]]\u003dt[n+1])}return e}function Tt(e,t){return\"string\"\u003d\u003dtypeof e?t+e:e}function Nt(e){e._o\u003dCt,e._n\u003df,e._s\u003dl,e._l\u003dmt,e._t\u003dyt,e._q\u003dE,e._i\u003dj,e._m\u003dwt,e._f\u003dgt,e._k\u003dbt,e._b\u003d$t,e._v\u003dhe,e._e\u003dve,e._u\u003dOt,e._g\u003dAt,e._d\u003dSt,e._p\u003dTt}function Et(t,n,i,o,a){var s,c\u003dthis,u\u003da.options;y(o,\"_uid\")?(s\u003dObject.create(o))._original\u003do:(s\u003do,o\u003do._original);var l\u003dr(u._compiled),f\u003d!l;this.data\u003dt,this.props\u003dn,this.children\u003di,this.parent\u003do,this.listeners\u003dt.on||e,this.injections\u003dut(u.inject,o),this.slots\u003dfunction(){return c.$slots||dt(t.scopedSlots,c.$slots\u003dlt(i,o)),c.$slots},Object.defineProperty(this,\"scopedSlots\",{enumerable:!0,get:function(){return dt(t.scopedSlots,this.slots())}}),l\u0026\u0026(this.$options\u003du,this.$slots\u003dthis.slots(),this.$scopedSlots\u003ddt(t.scopedSlots,this.$slots)),u._scopeId?this._c\u003dfunction(e,t,n,r){var i\u003dHt(s,e,t,n,r,f);return i\u0026\u0026!Array.isArray(i)\u0026\u0026(i.fnScopeId\u003du._scopeId,i.fnContext\u003do),i}:this._c\u003dfunction(e,t,n,r){return Ht(s,e,t,n,r,f)}}function jt(e,t,n,r,i){var o\u003dme(e);return o.fnContext\u003dn,o.fnOptions\u003dr,t.slot\u0026\u0026((o.data||(o.data\u003d{})).slot\u003dt.slot),o}function Dt(e,t){for(var n in t)e[b(n)]\u003dt[n]}Nt(Et.prototype);var Lt\u003d{init:function(e,t){if(e.componentInstance\u0026\u0026!e.componentInstance._isDestroyed\u0026\u0026e.data.keepAlive){var r\u003de;Lt.prepatch(r,r)}else{(e.componentInstance\u003dfunction(e,t){var r\u003d{_isComponent:!0,_parentVnode:e,parent:t},i\u003de.data.inlineTemplate;n(i)\u0026\u0026(r.render\u003di.render,r.staticRenderFns\u003di.staticRenderFns);return new e.componentOptions.Ctor(r)}(e,Zt)).$mount(t?e.elm:void 0,t)}},prepatch:function(t,n){var r\u003dn.componentOptions;!function(t,n,r,i,o){var a\u003di.data.scopedSlots,s\u003dt.$scopedSlots,c\u003d!!(a\u0026\u0026!a.$stable||s!\u003d\u003de\u0026\u0026!s.$stable||a\u0026\u0026t.$scopedSlots.$key!\u003d\u003da.$key||!a\u0026\u0026t.$scopedSlots.$key),u\u003d!!(o||t.$options._renderChildren||c);t.$options._parentVnode\u003di,t.$vnode\u003di,t._vnode\u0026\u0026(t._vnode.parent\u003di);if(t.$options._renderChildren\u003do,t.$attrs\u003di.data.attrs||e,t.$listeners\u003dr||e,n\u0026\u0026t.$options.props){$e(!1);for(var l\u003dt._props,f\u003dt.$options._propKeys||[],p\u003d0;p\u003cf.length;p++){var d\u003df[p],v\u003dt.$options.props;l[d]\u003dIe(d,v,n,t)}$e(!0),t.$options.propsData\u003dn}r\u003dr||e;var h\u003dt.$options._parentListeners;t.$options._parentListeners\u003dr,Wt(t,r,h),u\u0026\u0026(t.$slots\u003dlt(o,i.context),t.$forceUpdate())}(n.componentInstance\u003dt.componentInstance,r.propsData,r.listeners,n,r.children)},insert:function(e){var t,n\u003de.context,r\u003de.componentInstance;r._isMounted||(r._isMounted\u003d!0,Qt(r,\"mounted\")),e.data.keepAlive\u0026\u0026(n._isMounted?((t\u003dr)._inactive\u003d!1,tn.push(t)):Yt(r,!0))},destroy:function(e){var t\u003de.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(n\u0026\u0026(t._directInactive\u003d!0,Xt(t)))return;if(!t._inactive){t._inactive\u003d!0;for(var r\u003d0;r\u003ct.$children.length;r++)e(t.$children[r]);Qt(t,\"deactivated\")}}(t,!0):t.$destroy())}},It\u003dObject.keys(Lt);function Mt(i,a,s,c,l){if(!t(i)){var f\u003ds.$options._base;if(o(i)\u0026\u0026(i\u003df.extend(i)),\"function\"\u003d\u003dtypeof i){var p;if(t(i.cid)\u0026\u0026void 0\u003d\u003d\u003d(i\u003dfunction(e,i){if(r(e.error)\u0026\u0026n(e.errorComp))return e.errorComp;if(n(e.resolved))return e.resolved;var a\u003dUt;a\u0026\u0026n(e.owners)\u0026\u0026-1\u003d\u003d\u003de.owners.indexOf(a)\u0026\u0026e.owners.push(a);if(r(e.loading)\u0026\u0026n(e.loadingComp))return e.loadingComp;if(a\u0026\u0026!n(e.owners)){var s\u003de.owners\u003d[a],c\u003d!0,l\u003dnull,f\u003dnull;a.$on(\"hook:destroyed\",function(){return h(s,a)});var p\u003dfunction(e){for(var t\u003d0,n\u003ds.length;t\u003cn;t++)s[t].$forceUpdate();e\u0026\u0026(s.length\u003d0,null!\u003d\u003dl\u0026\u0026(clearTimeout(l),l\u003dnull),null!\u003d\u003df\u0026\u0026(clearTimeout(f),f\u003dnull))},d\u003dD(function(t){e.resolved\u003dVt(t,i),c?s.length\u003d0:p(!0)}),v\u003dD(function(t){n(e.errorComp)\u0026\u0026(e.error\u003d!0,p(!0))}),m\u003de(d,v);return o(m)\u0026\u0026(u(m)?t(e.resolved)\u0026\u0026m.then(d,v):u(m.component)\u0026\u0026(m.component.then(d,v),n(m.error)\u0026\u0026(e.errorComp\u003dVt(m.error,i)),n(m.loading)\u0026\u0026(e.loadingComp\u003dVt(m.loading,i),0\u003d\u003d\u003dm.delay?e.loading\u003d!0:l\u003dsetTimeout(function(){l\u003dnull,t(e.resolved)\u0026\u0026t(e.error)\u0026\u0026(e.loading\u003d!0,p(!1))},m.delay||200)),n(m.timeout)\u0026\u0026(f\u003dsetTimeout(function(){f\u003dnull,t(e.resolved)\u0026\u0026v(null)},m.timeout)))),c\u003d!1,e.loading?e.loadingComp:e.resolved}}(p\u003di,f)))return function(e,t,n,r,i){var o\u003dve();return o.asyncFactory\u003de,o.asyncMeta\u003d{data:t,context:n,children:r,tag:i},o}(p,a,s,c,l);a\u003da||{},wn(i),n(a.model)\u0026\u0026function(e,t){var r\u003de.model\u0026\u0026e.model.prop||\"value\",i\u003de.model\u0026\u0026e.model.event||\"input\";(t.attrs||(t.attrs\u003d{}))[r]\u003dt.model.value;var o\u003dt.on||(t.on\u003d{}),a\u003do[i],s\u003dt.model.callback;n(a)?(Array.isArray(a)?-1\u003d\u003d\u003da.indexOf(s):a!\u003d\u003ds)\u0026\u0026(o[i]\u003d[s].concat(a)):o[i]\u003ds}(i.options,a);var d\u003dfunction(e,r,i){var o\u003dr.options.props;if(!t(o)){var a\u003d{},s\u003de.attrs,c\u003de.props;if(n(s)||n(c))for(var u in o){var l\u003dC(u);at(a,c,u,l,!0)||at(a,s,u,l,!1)}return a}}(a,i);if(r(i.options.functional))return function(t,r,i,o,a){var s\u003dt.options,c\u003d{},u\u003ds.props;if(n(u))for(var l in u)c[l]\u003dIe(l,u,r||e);else n(i.attrs)\u0026\u0026Dt(c,i.attrs),n(i.props)\u0026\u0026Dt(c,i.props);var f\u003dnew Et(i,c,a,o,t),p\u003ds.render.call(null,f._c,f);if(p instanceof pe)return jt(p,i,f.parent,s);if(Array.isArray(p)){for(var d\u003dst(p)||[],v\u003dnew Array(d.length),h\u003d0;h\u003cd.length;h++)v[h]\u003djt(d[h],i,f.parent,s);return v}}(i,d,a,s,c);var v\u003da.on;if(a.on\u003da.nativeOn,r(i.options.abstract)){var m\u003da.slot;a\u003d{},m\u0026\u0026(a.slot\u003dm)}!function(e){for(var t\u003de.hook||(e.hook\u003d{}),n\u003d0;n\u003cIt.length;n++){var r\u003dIt[n],i\u003dt[r],o\u003dLt[r];i\u003d\u003d\u003do||i\u0026\u0026i._merged||(t[r]\u003di?Ft(o,i):o)}}(a);var y\u003di.options.name||l;return new pe(\"vue-component-\"+i.cid+(y?\"-\"+y:\"\"),a,void 0,void 0,void 0,s,{Ctor:i,propsData:d,listeners:v,tag:l,children:c},p)}}}function Ft(e,t){var n\u003dfunction(n,r){e(n,r),t(n,r)};return n._merged\u003d!0,n}var Pt\u003d1,Rt\u003d2;function Ht(e,a,s,c,u,l){return(Array.isArray(s)||i(s))\u0026\u0026(u\u003dc,c\u003ds,s\u003dvoid 0),r(l)\u0026\u0026(u\u003dRt),function(e,i,a,s,c){if(n(a)\u0026\u0026n(a.__ob__))return ve();n(a)\u0026\u0026n(a.is)\u0026\u0026(i\u003da.is);if(!i)return ve();Array.isArray(s)\u0026\u0026\"function\"\u003d\u003dtypeof s[0]\u0026\u0026((a\u003da||{}).scopedSlots\u003d{default:s[0]},s.length\u003d0);c\u003d\u003d\u003dRt?s\u003dst(s):c\u003d\u003d\u003dPt\u0026\u0026(s\u003dfunction(e){for(var t\u003d0;t\u003ce.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(s));var u,l;if(\"string\"\u003d\u003dtypeof i){var f;l\u003de.$vnode\u0026\u0026e.$vnode.ns||F.getTagNamespace(i),u\u003dF.isReservedTag(i)?new pe(F.parsePlatformTagName(i),a,s,void 0,void 0,e):a\u0026\u0026a.pre||!n(f\u003dLe(e.$options,\"components\",i))?new pe(i,a,s,void 0,void 0,e):Mt(f,a,e,s,i)}else u\u003dMt(i,a,e,s);return Array.isArray(u)?u:n(u)?(n(l)\u0026\u0026function e(i,o,a){i.ns\u003do;\"foreignObject\"\u003d\u003d\u003di.tag\u0026\u0026(o\u003dvoid 0,a\u003d!0);if(n(i.children))for(var s\u003d0,c\u003di.children.length;s\u003cc;s++){var u\u003di.children[s];n(u.tag)\u0026\u0026(t(u.ns)||r(a)\u0026\u0026\"svg\"!\u003d\u003du.tag)\u0026\u0026e(u,o,a)}}(u,l),n(a)\u0026\u0026function(e){o(e.style)\u0026\u0026tt(e.style);o(e.class)\u0026\u0026tt(e.class)}(a),u):ve()}(e,a,s,c,u)}var Bt,Ut\u003dnull;function Vt(e,t){return(e.__esModule||oe\u0026\u0026\"Module\"\u003d\u003d\u003de[Symbol.toStringTag])\u0026\u0026(e\u003de.default),o(e)?t.extend(e):e}function zt(e){if(Array.isArray(e))for(var t\u003d0;t\u003ce.length;t++){var r\u003de[t];if(n(r)\u0026\u0026(n(r.componentOptions)||pt(r)))return r}}function Kt(e,t){Bt.$on(e,t)}function Jt(e,t){Bt.$off(e,t)}function qt(e,t){var n\u003dBt;return function r(){null!\u003d\u003dt.apply(null,arguments)\u0026\u0026n.$off(e,r)}}function Wt(e,t,n){Bt\u003de,it(t,n||{},Kt,Jt,qt,e),Bt\u003dvoid 0}var Zt\u003dnull;function Gt(e){var t\u003dZt;return Zt\u003de,function(){Zt\u003dt}}function Xt(e){for(;e\u0026\u0026(e\u003de.$parent);)if(e._inactive)return!0;return!1}function Yt(e,t){if(t){if(e._directInactive\u003d!1,Xt(e))return}else if(e._directInactive)return;if(e._inactive||null\u003d\u003d\u003de._inactive){e._inactive\u003d!1;for(var n\u003d0;n\u003ce.$children.length;n++)Yt(e.$children[n]);Qt(e,\"activated\")}}function Qt(e,t){le();var n\u003de.$options[t],r\u003dt+\" hook\";if(n)for(var i\u003d0,o\u003dn.length;i\u003co;i++)Be(n[i],e,null,e,r);e._hasHookEvent\u0026\u0026e.$emit(\"hook:\"+t),fe()}var en\u003d[],tn\u003d[],nn\u003d{},rn\u003d!1,on\u003d!1,an\u003d0;var sn\u003d0,cn\u003dDate.now;if(V\u0026\u0026!q){var un\u003dwindow.performance;un\u0026\u0026\"function\"\u003d\u003dtypeof un.now\u0026\u0026cn()\u003edocument.createEvent(\"Event\").timeStamp\u0026\u0026(cn\u003dfunction(){return un.now()})}function ln(){var e,t;for(sn\u003dcn(),on\u003d!0,en.sort(function(e,t){return e.id-t.id}),an\u003d0;an\u003cen.length;an++)(e\u003den[an]).before\u0026\u0026e.before(),t\u003de.id,nn[t]\u003dnull,e.run();var n\u003dtn.slice(),r\u003den.slice();an\u003den.length\u003dtn.length\u003d0,nn\u003d{},rn\u003don\u003d!1,function(e){for(var t\u003d0;t\u003ce.length;t++)e[t]._inactive\u003d!0,Yt(e[t],!0)}(n),function(e){var t\u003de.length;for(;t--;){var n\u003de[t],r\u003dn.vm;r._watcher\u003d\u003d\u003dn\u0026\u0026r._isMounted\u0026\u0026!r._isDestroyed\u0026\u0026Qt(r,\"updated\")}}(r),ne\u0026\u0026F.devtools\u0026\u0026ne.emit(\"flush\")}var fn\u003d0,pn\u003dfunction(e,t,n,r,i){this.vm\u003de,i\u0026\u0026(e._watcher\u003dthis),e._watchers.push(this),r?(this.deep\u003d!!r.deep,this.user\u003d!!r.user,this.lazy\u003d!!r.lazy,this.sync\u003d!!r.sync,this.before\u003dr.before):this.deep\u003dthis.user\u003dthis.lazy\u003dthis.sync\u003d!1,this.cb\u003dn,this.id\u003d++fn,this.active\u003d!0,this.dirty\u003dthis.lazy,this.deps\u003d[],this.newDeps\u003d[],this.depIds\u003dnew ie,this.newDepIds\u003dnew ie,this.expression\u003d\"\",\"function\"\u003d\u003dtypeof t?this.getter\u003dt:(this.getter\u003dfunction(e){if(!H.test(e)){var t\u003de.split(\".\");return function(e){for(var n\u003d0;n\u003ct.length;n++){if(!e)return;e\u003de[t[n]]}return e}}}(t),this.getter||(this.getter\u003dS)),this.value\u003dthis.lazy?void 0:this.get()};pn.prototype.get\u003dfunction(){var e;le(this);var t\u003dthis.vm;try{e\u003dthis.getter.call(t,t)}catch(e){if(!this.user)throw e;He(e,t,\u0027getter for watcher \"\u0027+this.expression+\u0027\"\u0027)}finally{this.deep\u0026\u0026tt(e),fe(),this.cleanupDeps()}return e},pn.prototype.addDep\u003dfunction(e){var t\u003de.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},pn.prototype.cleanupDeps\u003dfunction(){for(var e\u003dthis.deps.length;e--;){var t\u003dthis.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n\u003dthis.depIds;this.depIds\u003dthis.newDepIds,this.newDepIds\u003dn,this.newDepIds.clear(),n\u003dthis.deps,this.deps\u003dthis.newDeps,this.newDeps\u003dn,this.newDeps.length\u003d0},pn.prototype.update\u003dfunction(){this.lazy?this.dirty\u003d!0:this.sync?this.run():function(e){var t\u003de.id;if(null\u003d\u003dnn[t]){if(nn[t]\u003d!0,on){for(var n\u003den.length-1;n\u003ean\u0026\u0026en[n].id\u003ee.id;)n--;en.splice(n+1,0,e)}else en.push(e);rn||(rn\u003d!0,Qe(ln))}}(this)},pn.prototype.run\u003dfunction(){if(this.active){var e\u003dthis.get();if(e!\u003d\u003dthis.value||o(e)||this.deep){var t\u003dthis.value;if(this.value\u003de,this.user){var n\u003d\u0027callback for watcher \"\u0027+this.expression+\u0027\"\u0027;Be(this.cb,this.vm,[e,t],this.vm,n)}else this.cb.call(this.vm,e,t)}}},pn.prototype.evaluate\u003dfunction(){this.value\u003dthis.get(),this.dirty\u003d!1},pn.prototype.depend\u003dfunction(){for(var e\u003dthis.deps.length;e--;)this.deps[e].depend()},pn.prototype.teardown\u003dfunction(){if(this.active){this.vm._isBeingDestroyed||h(this.vm._watchers,this);for(var e\u003dthis.deps.length;e--;)this.deps[e].removeSub(this);this.active\u003d!1}};var dn\u003d{enumerable:!0,configurable:!0,get:S,set:S};function vn(e,t,n){dn.get\u003dfunction(){return this[t][n]},dn.set\u003dfunction(e){this[t][n]\u003de},Object.defineProperty(e,n,dn)}function hn(e){e._watchers\u003d[];var t\u003de.$options;t.props\u0026\u0026function(e,t){var n\u003de.$options.propsData||{},r\u003de._props\u003d{},i\u003de.$options._propKeys\u003d[];e.$parent\u0026\u0026$e(!1);var o\u003dfunction(o){i.push(o);var a\u003dIe(o,t,n,e);xe(r,o,a),o in e||vn(e,\"_props\",o)};for(var a in t)o(a);$e(!0)}(e,t.props),t.methods\u0026\u0026function(e,t){e.$options.props;for(var n in t)e[n]\u003d\"function\"!\u003dtypeof t[n]?S:x(t[n],e)}(e,t.methods),t.data?function(e){var t\u003de.$options.data;s(t\u003de._data\u003d\"function\"\u003d\u003dtypeof t?function(e,t){le();try{return e.call(t,t)}catch(e){return He(e,t,\"data()\"),{}}finally{fe()}}(t,e):t||{})||(t\u003d{});var n\u003dObject.keys(t),r\u003de.$options.props,i\u003d(e.$options.methods,n.length);for(;i--;){var o\u003dn[i];r\u0026\u0026y(r,o)||(a\u003dvoid 0,36!\u003d\u003d(a\u003d(o+\"\").charCodeAt(0))\u0026\u002695!\u003d\u003da\u0026\u0026vn(e,\"_data\",o))}var a;Ce(t,!0)}(e):Ce(e._data\u003d{},!0),t.computed\u0026\u0026function(e,t){var n\u003de._computedWatchers\u003dObject.create(null),r\u003dte();for(var i in t){var o\u003dt[i],a\u003d\"function\"\u003d\u003dtypeof o?o:o.get;r||(n[i]\u003dnew pn(e,a||S,S,mn)),i in e||yn(e,i,o)}}(e,t.computed),t.watch\u0026\u0026t.watch!\u003d\u003dY\u0026\u0026function(e,t){for(var n in t){var r\u003dt[n];if(Array.isArray(r))for(var i\u003d0;i\u003cr.length;i++)bn(e,n,r[i]);else bn(e,n,r)}}(e,t.watch)}var mn\u003d{lazy:!0};function yn(e,t,n){var r\u003d!te();\"function\"\u003d\u003dtypeof n?(dn.get\u003dr?gn(t):_n(n),dn.set\u003dS):(dn.get\u003dn.get?r\u0026\u0026!1!\u003d\u003dn.cache?gn(t):_n(n.get):S,dn.set\u003dn.set||S),Object.defineProperty(e,t,dn)}function gn(e){return function(){var t\u003dthis._computedWatchers\u0026\u0026this._computedWatchers[e];if(t)return t.dirty\u0026\u0026t.evaluate(),ce.target\u0026\u0026t.depend(),t.value}}function _n(e){return function(){return e.call(this,this)}}function bn(e,t,n,r){return s(n)\u0026\u0026(r\u003dn,n\u003dn.handler),\"string\"\u003d\u003dtypeof n\u0026\u0026(n\u003de[n]),e.$watch(t,n,r)}var $n\u003d0;function wn(e){var t\u003de.options;if(e.super){var n\u003dwn(e.super);if(n!\u003d\u003de.superOptions){e.superOptions\u003dn;var r\u003dfunction(e){var t,n\u003de.options,r\u003de.sealedOptions;for(var i in n)n[i]!\u003d\u003dr[i]\u0026\u0026(t||(t\u003d{}),t[i]\u003dn[i]);return t}(e);r\u0026\u0026A(e.extendOptions,r),(t\u003de.options\u003dDe(n,e.extendOptions)).name\u0026\u0026(t.components[t.name]\u003de)}}return t}function Cn(e){this._init(e)}function xn(e){e.cid\u003d0;var t\u003d1;e.extend\u003dfunction(e){e\u003de||{};var n\u003dthis,r\u003dn.cid,i\u003de._Ctor||(e._Ctor\u003d{});if(i[r])return i[r];var o\u003de.name||n.options.name,a\u003dfunction(e){this._init(e)};return(a.prototype\u003dObject.create(n.prototype)).constructor\u003da,a.cid\u003dt++,a.options\u003dDe(n.options,e),a.super\u003dn,a.options.props\u0026\u0026function(e){var t\u003de.options.props;for(var n in t)vn(e.prototype,\"_props\",n)}(a),a.options.computed\u0026\u0026function(e){var t\u003de.options.computed;for(var n in t)yn(e.prototype,n,t[n])}(a),a.extend\u003dn.extend,a.mixin\u003dn.mixin,a.use\u003dn.use,I.forEach(function(e){a[e]\u003dn[e]}),o\u0026\u0026(a.options.components[o]\u003da),a.superOptions\u003dn.options,a.extendOptions\u003de,a.sealedOptions\u003dA({},a.options),i[r]\u003da,a}}function kn(e){return e\u0026\u0026(e.Ctor.options.name||e.tag)}function An(e,t){return Array.isArray(e)?e.indexOf(t)\u003e-1:\"string\"\u003d\u003dtypeof e?e.split(\",\").indexOf(t)\u003e-1:(n\u003de,\"[object RegExp]\"\u003d\u003d\u003da.call(n)\u0026\u0026e.test(t));var n}function On(e,t){var n\u003de.cache,r\u003de.keys,i\u003de._vnode;for(var o in n){var a\u003dn[o];if(a){var s\u003da.name;s\u0026\u0026!t(s)\u0026\u0026Sn(n,o,r,i)}}}function Sn(e,t,n,r){var i\u003de[t];!i||r\u0026\u0026i.tag\u003d\u003d\u003dr.tag||i.componentInstance.$destroy(),e[t]\u003dnull,h(n,t)}!function(t){t.prototype._init\u003dfunction(t){var n\u003dthis;n._uid\u003d$n++,n._isVue\u003d!0,t\u0026\u0026t._isComponent?function(e,t){var n\u003de.$options\u003dObject.create(e.constructor.options),r\u003dt._parentVnode;n.parent\u003dt.parent,n._parentVnode\u003dr;var i\u003dr.componentOptions;n.propsData\u003di.propsData,n._parentListeners\u003di.listeners,n._renderChildren\u003di.children,n._componentTag\u003di.tag,t.render\u0026\u0026(n.render\u003dt.render,n.staticRenderFns\u003dt.staticRenderFns)}(n,t):n.$options\u003dDe(wn(n.constructor),t||{},n),n._renderProxy\u003dn,n._self\u003dn,function(e){var t\u003de.$options,n\u003dt.parent;if(n\u0026\u0026!t.abstract){for(;n.$options.abstract\u0026\u0026n.$parent;)n\u003dn.$parent;n.$children.push(e)}e.$parent\u003dn,e.$root\u003dn?n.$root:e,e.$children\u003d[],e.$refs\u003d{},e._watcher\u003dnull,e._inactive\u003dnull,e._directInactive\u003d!1,e._isMounted\u003d!1,e._isDestroyed\u003d!1,e._isBeingDestroyed\u003d!1}(n),function(e){e._events\u003dObject.create(null),e._hasHookEvent\u003d!1;var t\u003de.$options._parentListeners;t\u0026\u0026Wt(e,t)}(n),function(t){t._vnode\u003dnull,t._staticTrees\u003dnull;var n\u003dt.$options,r\u003dt.$vnode\u003dn._parentVnode,i\u003dr\u0026\u0026r.context;t.$slots\u003dlt(n._renderChildren,i),t.$scopedSlots\u003de,t._c\u003dfunction(e,n,r,i){return Ht(t,e,n,r,i,!1)},t.$createElement\u003dfunction(e,n,r,i){return Ht(t,e,n,r,i,!0)};var o\u003dr\u0026\u0026r.data;xe(t,\"$attrs\",o\u0026\u0026o.attrs||e,null,!0),xe(t,\"$listeners\",n._parentListeners||e,null,!0)}(n),Qt(n,\"beforeCreate\"),function(e){var t\u003dut(e.$options.inject,e);t\u0026\u0026($e(!1),Object.keys(t).forEach(function(n){xe(e,n,t[n])}),$e(!0))}(n),hn(n),function(e){var t\u003de.$options.provide;t\u0026\u0026(e._provided\u003d\"function\"\u003d\u003dtypeof t?t.call(e):t)}(n),Qt(n,\"created\"),n.$options.el\u0026\u0026n.$mount(n.$options.el)}}(Cn),function(e){var t\u003d{get:function(){return this._data}},n\u003d{get:function(){return this._props}};Object.defineProperty(e.prototype,\"$data\",t),Object.defineProperty(e.prototype,\"$props\",n),e.prototype.$set\u003dke,e.prototype.$delete\u003dAe,e.prototype.$watch\u003dfunction(e,t,n){if(s(t))return bn(this,e,t,n);(n\u003dn||{}).user\u003d!0;var r\u003dnew pn(this,e,t,n);if(n.immediate){var i\u003d\u0027callback for immediate watcher \"\u0027+r.expression+\u0027\"\u0027;le(),Be(t,this,[r.value],this,i),fe()}return function(){r.teardown()}}}(Cn),function(e){var t\u003d/^hook:/;e.prototype.$on\u003dfunction(e,n){var r\u003dthis;if(Array.isArray(e))for(var i\u003d0,o\u003de.length;i\u003co;i++)r.$on(e[i],n);else(r._events[e]||(r._events[e]\u003d[])).push(n),t.test(e)\u0026\u0026(r._hasHookEvent\u003d!0);return r},e.prototype.$once\u003dfunction(e,t){var n\u003dthis;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn\u003dt,n.$on(e,r),n},e.prototype.$off\u003dfunction(e,t){var n\u003dthis;if(!arguments.length)return n._events\u003dObject.create(null),n;if(Array.isArray(e)){for(var r\u003d0,i\u003de.length;r\u003ci;r++)n.$off(e[r],t);return n}var o,a\u003dn._events[e];if(!a)return n;if(!t)return n._events[e]\u003dnull,n;for(var s\u003da.length;s--;)if((o\u003da[s])\u003d\u003d\u003dt||o.fn\u003d\u003d\u003dt){a.splice(s,1);break}return n},e.prototype.$emit\u003dfunction(e){var t\u003dthis._events[e];if(t){t\u003dt.length\u003e1?k(t):t;for(var n\u003dk(arguments,1),r\u003d\u0027event handler for \"\u0027+e+\u0027\"\u0027,i\u003d0,o\u003dt.length;i\u003co;i++)Be(t[i],this,n,this,r)}return this}}(Cn),function(e){e.prototype._update\u003dfunction(e,t){var n\u003dthis,r\u003dn.$el,i\u003dn._vnode,o\u003dGt(n);n._vnode\u003de,n.$el\u003di?n.__patch__(i,e):n.__patch__(n.$el,e,t,!1),o(),r\u0026\u0026(r.__vue__\u003dnull),n.$el\u0026\u0026(n.$el.__vue__\u003dn),n.$vnode\u0026\u0026n.$parent\u0026\u0026n.$vnode\u003d\u003d\u003dn.$parent._vnode\u0026\u0026(n.$parent.$el\u003dn.$el)},e.prototype.$forceUpdate\u003dfunction(){this._watcher\u0026\u0026this._watcher.update()},e.prototype.$destroy\u003dfunction(){var e\u003dthis;if(!e._isBeingDestroyed){Qt(e,\"beforeDestroy\"),e._isBeingDestroyed\u003d!0;var t\u003de.$parent;!t||t._isBeingDestroyed||e.$options.abstract||h(t.$children,e),e._watcher\u0026\u0026e._watcher.teardown();for(var n\u003de._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__\u0026\u0026e._data.__ob__.vmCount--,e._isDestroyed\u003d!0,e.__patch__(e._vnode,null),Qt(e,\"destroyed\"),e.$off(),e.$el\u0026\u0026(e.$el.__vue__\u003dnull),e.$vnode\u0026\u0026(e.$vnode.parent\u003dnull)}}}(Cn),function(e){Nt(e.prototype),e.prototype.$nextTick\u003dfunction(e){return Qe(e,this)},e.prototype._render\u003dfunction(){var e,t\u003dthis,n\u003dt.$options,r\u003dn.render,i\u003dn._parentVnode;i\u0026\u0026(t.$scopedSlots\u003ddt(i.data.scopedSlots,t.$slots,t.$scopedSlots)),t.$vnode\u003di;try{Ut\u003dt,e\u003dr.call(t._renderProxy,t.$createElement)}catch(n){He(n,t,\"render\"),e\u003dt._vnode}finally{Ut\u003dnull}return Array.isArray(e)\u0026\u00261\u003d\u003d\u003de.length\u0026\u0026(e\u003de[0]),e instanceof pe||(e\u003dve()),e.parent\u003di,e}}(Cn);var Tn\u003d[String,RegExp,Array],Nn\u003d{KeepAlive:{name:\"keep-alive\",abstract:!0,props:{include:Tn,exclude:Tn,max:[String,Number]},methods:{cacheVNode:function(){var e\u003dthis.cache,t\u003dthis.keys,n\u003dthis.vnodeToCache,r\u003dthis.keyToCache;if(n){var i\u003dn.tag,o\u003dn.componentInstance,a\u003dn.componentOptions;e[r]\u003d{name:kn(a),tag:i,componentInstance:o},t.push(r),this.max\u0026\u0026t.length\u003eparseInt(this.max)\u0026\u0026Sn(e,t[0],t,this._vnode),this.vnodeToCache\u003dnull}}},created:function(){this.cache\u003dObject.create(null),this.keys\u003d[]},destroyed:function(){for(var e in this.cache)Sn(this.cache,e,this.keys)},mounted:function(){var e\u003dthis;this.cacheVNode(),this.$watch(\"include\",function(t){On(e,function(e){return An(t,e)})}),this.$watch(\"exclude\",function(t){On(e,function(e){return!An(t,e)})})},updated:function(){this.cacheVNode()},render:function(){var e\u003dthis.$slots.default,t\u003dzt(e),n\u003dt\u0026\u0026t.componentOptions;if(n){var r\u003dkn(n),i\u003dthis.include,o\u003dthis.exclude;if(i\u0026\u0026(!r||!An(i,r))||o\u0026\u0026r\u0026\u0026An(o,r))return t;var a\u003dthis.cache,s\u003dthis.keys,c\u003dnull\u003d\u003dt.key?n.Ctor.cid+(n.tag?\"::\"+n.tag:\"\"):t.key;a[c]?(t.componentInstance\u003da[c].componentInstance,h(s,c),s.push(c)):(this.vnodeToCache\u003dt,this.keyToCache\u003dc),t.data.keepAlive\u003d!0}return t||e\u0026\u0026e[0]}}};!function(e){var t\u003d{get:function(){return F}};Object.defineProperty(e,\"config\",t),e.util\u003d{warn:ae,extend:A,mergeOptions:De,defineReactive:xe},e.set\u003dke,e.delete\u003dAe,e.nextTick\u003dQe,e.observable\u003dfunction(e){return Ce(e),e},e.options\u003dObject.create(null),I.forEach(function(t){e.options[t+\"s\"]\u003dObject.create(null)}),e.options._base\u003de,A(e.options.components,Nn),function(e){e.use\u003dfunction(e){var t\u003dthis._installedPlugins||(this._installedPlugins\u003d[]);if(t.indexOf(e)\u003e-1)return this;var n\u003dk(arguments,1);return n.unshift(this),\"function\"\u003d\u003dtypeof e.install?e.install.apply(e,n):\"function\"\u003d\u003dtypeof e\u0026\u0026e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin\u003dfunction(e){return this.options\u003dDe(this.options,e),this}}(e),xn(e),function(e){I.forEach(function(t){e[t]\u003dfunction(e,n){return n?(\"component\"\u003d\u003d\u003dt\u0026\u0026s(n)\u0026\u0026(n.name\u003dn.name||e,n\u003dthis.options._base.extend(n)),\"directive\"\u003d\u003d\u003dt\u0026\u0026\"function\"\u003d\u003dtypeof n\u0026\u0026(n\u003d{bind:n,update:n}),this.options[t+\"s\"][e]\u003dn,n):this.options[t+\"s\"][e]}})}(e)}(Cn),Object.defineProperty(Cn.prototype,\"$isServer\",{get:te}),Object.defineProperty(Cn.prototype,\"$ssrContext\",{get:function(){return this.$vnode\u0026\u0026this.$vnode.ssrContext}}),Object.defineProperty(Cn,\"FunctionalRenderContext\",{value:Et}),Cn.version\u003d\"2.6.14\";var En\u003dp(\"style,class\"),jn\u003dp(\"input,textarea,option,select,progress\"),Dn\u003dfunction(e,t,n){return\"value\"\u003d\u003d\u003dn\u0026\u0026jn(e)\u0026\u0026\"button\"!\u003d\u003dt||\"selected\"\u003d\u003d\u003dn\u0026\u0026\"option\"\u003d\u003d\u003de||\"checked\"\u003d\u003d\u003dn\u0026\u0026\"input\"\u003d\u003d\u003de||\"muted\"\u003d\u003d\u003dn\u0026\u0026\"video\"\u003d\u003d\u003de},Ln\u003dp(\"contenteditable,draggable,spellcheck\"),In\u003dp(\"events,caret,typing,plaintext-only\"),Mn\u003dfunction(e,t){return Bn(t)||\"false\"\u003d\u003d\u003dt?\"false\":\"contenteditable\"\u003d\u003d\u003de\u0026\u0026In(t)?t:\"true\"},Fn\u003dp(\"allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible\"),Pn\u003d\"http://www.w3.org/1999/xlink\",Rn\u003dfunction(e){return\":\"\u003d\u003d\u003de.charAt(5)\u0026\u0026\"xlink\"\u003d\u003d\u003de.slice(0,5)},Hn\u003dfunction(e){return Rn(e)?e.slice(6,e.length):\"\"},Bn\u003dfunction(e){return null\u003d\u003de||!1\u003d\u003d\u003de};function Un(e){for(var t\u003de.data,r\u003de,i\u003de;n(i.componentInstance);)(i\u003di.componentInstance._vnode)\u0026\u0026i.data\u0026\u0026(t\u003dVn(i.data,t));for(;n(r\u003dr.parent);)r\u0026\u0026r.data\u0026\u0026(t\u003dVn(t,r.data));return function(e,t){if(n(e)||n(t))return zn(e,Kn(t));return\"\"}(t.staticClass,t.class)}function Vn(e,t){return{staticClass:zn(e.staticClass,t.staticClass),class:n(e.class)?[e.class,t.class]:t.class}}function zn(e,t){return e?t?e+\" \"+t:e:t||\"\"}function Kn(e){return Array.isArray(e)?function(e){for(var t,r\u003d\"\",i\u003d0,o\u003de.length;i\u003co;i++)n(t\u003dKn(e[i]))\u0026\u0026\"\"!\u003d\u003dt\u0026\u0026(r\u0026\u0026(r+\u003d\" \"),r+\u003dt);return r}(e):o(e)?function(e){var t\u003d\"\";for(var n in e)e[n]\u0026\u0026(t\u0026\u0026(t+\u003d\" \"),t+\u003dn);return t}(e):\"string\"\u003d\u003dtypeof e?e:\"\"}var Jn\u003d{svg:\"http://www.w3.org/2000/svg\",math:\"http://www.w3.org/1998/Math/MathML\"},qn\u003dp(\"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot\"),Wn\u003dp(\"svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view\",!0),Zn\u003dfunction(e){return qn(e)||Wn(e)};function Gn(e){return Wn(e)?\"svg\":\"math\"\u003d\u003d\u003de?\"math\":void 0}var Xn\u003dObject.create(null);var Yn\u003dp(\"text,number,password,search,email,tel,url\");function Qn(e){if(\"string\"\u003d\u003dtypeof e){var t\u003ddocument.querySelector(e);return t||document.createElement(\"div\")}return e}var er\u003dObject.freeze({createElement:function(e,t){var n\u003ddocument.createElement(e);return\"select\"!\u003d\u003de?n:(t.data\u0026\u0026t.data.attrs\u0026\u0026void 0!\u003d\u003dt.data.attrs.multiple\u0026\u0026n.setAttribute(\"multiple\",\"multiple\"),n)},createElementNS:function(e,t){return document.createElementNS(Jn[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent\u003dt},setStyleScope:function(e,t){e.setAttribute(t,\"\")}}),tr\u003d{create:function(e,t){nr(t)},update:function(e,t){e.data.ref!\u003d\u003dt.data.ref\u0026\u0026(nr(e,!0),nr(t))},destroy:function(e){nr(e,!0)}};function nr(e,t){var r\u003de.data.ref;if(n(r)){var i\u003de.context,o\u003de.componentInstance||e.elm,a\u003di.$refs;t?Array.isArray(a[r])?h(a[r],o):a[r]\u003d\u003d\u003do\u0026\u0026(a[r]\u003dvoid 0):e.data.refInFor?Array.isArray(a[r])?a[r].indexOf(o)\u003c0\u0026\u0026a[r].push(o):a[r]\u003d[o]:a[r]\u003do}}var rr\u003dnew pe(\"\",{},[]),ir\u003d[\"create\",\"activate\",\"update\",\"remove\",\"destroy\"];function or(e,i){return e.key\u003d\u003d\u003di.key\u0026\u0026e.asyncFactory\u003d\u003d\u003di.asyncFactory\u0026\u0026(e.tag\u003d\u003d\u003di.tag\u0026\u0026e.isComment\u003d\u003d\u003di.isComment\u0026\u0026n(e.data)\u003d\u003d\u003dn(i.data)\u0026\u0026function(e,t){if(\"input\"!\u003d\u003de.tag)return!0;var r,i\u003dn(r\u003de.data)\u0026\u0026n(r\u003dr.attrs)\u0026\u0026r.type,o\u003dn(r\u003dt.data)\u0026\u0026n(r\u003dr.attrs)\u0026\u0026r.type;return i\u003d\u003d\u003do||Yn(i)\u0026\u0026Yn(o)}(e,i)||r(e.isAsyncPlaceholder)\u0026\u0026t(i.asyncFactory.error))}function ar(e,t,r){var i,o,a\u003d{};for(i\u003dt;i\u003c\u003dr;++i)n(o\u003de[i].key)\u0026\u0026(a[o]\u003di);return a}var sr\u003d{create:cr,update:cr,destroy:function(e){cr(e,rr)}};function cr(e,t){(e.data.directives||t.data.directives)\u0026\u0026function(e,t){var n,r,i,o\u003de\u003d\u003d\u003drr,a\u003dt\u003d\u003d\u003drr,s\u003dlr(e.data.directives,e.context),c\u003dlr(t.data.directives,t.context),u\u003d[],l\u003d[];for(n in c)r\u003ds[n],i\u003dc[n],r?(i.oldValue\u003dr.value,i.oldArg\u003dr.arg,pr(i,\"update\",t,e),i.def\u0026\u0026i.def.componentUpdated\u0026\u0026l.push(i)):(pr(i,\"bind\",t,e),i.def\u0026\u0026i.def.inserted\u0026\u0026u.push(i));if(u.length){var f\u003dfunction(){for(var n\u003d0;n\u003cu.length;n++)pr(u[n],\"inserted\",t,e)};o?ot(t,\"insert\",f):f()}l.length\u0026\u0026ot(t,\"postpatch\",function(){for(var n\u003d0;n\u003cl.length;n++)pr(l[n],\"componentUpdated\",t,e)});if(!o)for(n in s)c[n]||pr(s[n],\"unbind\",e,e,a)}(e,t)}var ur\u003dObject.create(null);function lr(e,t){var n,r,i\u003dObject.create(null);if(!e)return i;for(n\u003d0;n\u003ce.length;n++)(r\u003de[n]).modifiers||(r.modifiers\u003dur),i[fr(r)]\u003dr,r.def\u003dLe(t.$options,\"directives\",r.name);return i}function fr(e){return e.rawName||e.name+\".\"+Object.keys(e.modifiers||{}).join(\".\")}function pr(e,t,n,r,i){var o\u003de.def\u0026\u0026e.def[t];if(o)try{o(n.elm,e,n,r,i)}catch(r){He(r,n.context,\"directive \"+e.name+\" \"+t+\" hook\")}}var dr\u003d[tr,sr];function vr(e,r){var i\u003dr.componentOptions;if(!(n(i)\u0026\u0026!1\u003d\u003d\u003di.Ctor.options.inheritAttrs||t(e.data.attrs)\u0026\u0026t(r.data.attrs))){var o,a,s\u003dr.elm,c\u003de.data.attrs||{},u\u003dr.data.attrs||{};for(o in n(u.__ob__)\u0026\u0026(u\u003dr.data.attrs\u003dA({},u)),u)a\u003du[o],c[o]!\u003d\u003da\u0026\u0026hr(s,o,a,r.data.pre);for(o in(q||Z)\u0026\u0026u.value!\u003d\u003dc.value\u0026\u0026hr(s,\"value\",u.value),c)t(u[o])\u0026\u0026(Rn(o)?s.removeAttributeNS(Pn,Hn(o)):Ln(o)||s.removeAttribute(o))}}function hr(e,t,n,r){r||e.tagName.indexOf(\"-\")\u003e-1?mr(e,t,n):Fn(t)?Bn(n)?e.removeAttribute(t):(n\u003d\"allowfullscreen\"\u003d\u003d\u003dt\u0026\u0026\"EMBED\"\u003d\u003d\u003de.tagName?\"true\":t,e.setAttribute(t,n)):Ln(t)?e.setAttribute(t,Mn(t,n)):Rn(t)?Bn(n)?e.removeAttributeNS(Pn,Hn(t)):e.setAttributeNS(Pn,t,n):mr(e,t,n)}function mr(e,t,n){if(Bn(n))e.removeAttribute(t);else{if(q\u0026\u0026!W\u0026\u0026\"TEXTAREA\"\u003d\u003d\u003de.tagName\u0026\u0026\"placeholder\"\u003d\u003d\u003dt\u0026\u0026\"\"!\u003d\u003dn\u0026\u0026!e.__ieph){var r\u003dfunction(t){t.stopImmediatePropagation(),e.removeEventListener(\"input\",r)};e.addEventListener(\"input\",r),e.__ieph\u003d!0}e.setAttribute(t,n)}}var yr\u003d{create:vr,update:vr};function gr(e,r){var i\u003dr.elm,o\u003dr.data,a\u003de.data;if(!(t(o.staticClass)\u0026\u0026t(o.class)\u0026\u0026(t(a)||t(a.staticClass)\u0026\u0026t(a.class)))){var s\u003dUn(r),c\u003di._transitionClasses;n(c)\u0026\u0026(s\u003dzn(s,Kn(c))),s!\u003d\u003di._prevClass\u0026\u0026(i.setAttribute(\"class\",s),i._prevClass\u003ds)}}var _r,br,$r,wr,Cr,xr,kr\u003d{create:gr,update:gr},Ar\u003d/[\\w).+\\-_$\\]]/;function Or(e){var t,n,r,i,o,a\u003d!1,s\u003d!1,c\u003d!1,u\u003d!1,l\u003d0,f\u003d0,p\u003d0,d\u003d0;for(r\u003d0;r\u003ce.length;r++)if(n\u003dt,t\u003de.charCodeAt(r),a)39\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(a\u003d!1);else if(s)34\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(s\u003d!1);else if(c)96\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(c\u003d!1);else if(u)47\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(u\u003d!1);else if(124!\u003d\u003dt||124\u003d\u003d\u003de.charCodeAt(r+1)||124\u003d\u003d\u003de.charCodeAt(r-1)||l||f||p){switch(t){case 34:s\u003d!0;break;case 39:a\u003d!0;break;case 96:c\u003d!0;break;case 40:p++;break;case 41:p--;break;case 91:f++;break;case 93:f--;break;case 123:l++;break;case 125:l--}if(47\u003d\u003d\u003dt){for(var v\u003dr-1,h\u003dvoid 0;v\u003e\u003d0\u0026\u0026\" \"\u003d\u003d\u003d(h\u003de.charAt(v));v--);h\u0026\u0026Ar.test(h)||(u\u003d!0)}}else void 0\u003d\u003d\u003di?(d\u003dr+1,i\u003de.slice(0,r).trim()):m();function m(){(o||(o\u003d[])).push(e.slice(d,r).trim()),d\u003dr+1}if(void 0\u003d\u003d\u003di?i\u003de.slice(0,r).trim():0!\u003d\u003dd\u0026\u0026m(),o)for(r\u003d0;r\u003co.length;r++)i\u003dSr(i,o[r]);return i}function Sr(e,t){var n\u003dt.indexOf(\"(\");if(n\u003c0)return\u0027_f(\"\u0027+t+\u0027\")(\u0027+e+\")\";var r\u003dt.slice(0,n),i\u003dt.slice(n+1);return\u0027_f(\"\u0027+r+\u0027\")(\u0027+e+(\")\"!\u003d\u003di?\",\"+i:i)}function Tr(e,t){console.error(\"[Vue compiler]: \"+e)}function Nr(e,t){return e?e.map(function(e){return e[t]}).filter(function(e){return e}):[]}function Er(e,t,n,r,i){(e.props||(e.props\u003d[])).push(Hr({name:t,value:n,dynamic:i},r)),e.plain\u003d!1}function jr(e,t,n,r,i){(i?e.dynamicAttrs||(e.dynamicAttrs\u003d[]):e.attrs||(e.attrs\u003d[])).push(Hr({name:t,value:n,dynamic:i},r)),e.plain\u003d!1}function Dr(e,t,n,r){e.attrsMap[t]\u003dn,e.attrsList.push(Hr({name:t,value:n},r))}function Lr(e,t,n,r,i,o,a,s){(e.directives||(e.directives\u003d[])).push(Hr({name:t,rawName:n,value:r,arg:i,isDynamicArg:o,modifiers:a},s)),e.plain\u003d!1}function Ir(e,t,n){return n?\"_p(\"+t+\u0027,\"\u0027+e+\u0027\")\u0027:e+t}function Mr(t,n,r,i,o,a,s,c){var u;(i\u003di||e).right?c?n\u003d\"(\"+n+\")\u003d\u003d\u003d\u0027click\u0027?\u0027contextmenu\u0027:(\"+n+\")\":\"click\"\u003d\u003d\u003dn\u0026\u0026(n\u003d\"contextmenu\",delete i.right):i.middle\u0026\u0026(c?n\u003d\"(\"+n+\")\u003d\u003d\u003d\u0027click\u0027?\u0027mouseup\u0027:(\"+n+\")\":\"click\"\u003d\u003d\u003dn\u0026\u0026(n\u003d\"mouseup\")),i.capture\u0026\u0026(delete i.capture,n\u003dIr(\"!\",n,c)),i.once\u0026\u0026(delete i.once,n\u003dIr(\"~\",n,c)),i.passive\u0026\u0026(delete i.passive,n\u003dIr(\"\u0026\",n,c)),i.native?(delete i.native,u\u003dt.nativeEvents||(t.nativeEvents\u003d{})):u\u003dt.events||(t.events\u003d{});var l\u003dHr({value:r.trim(),dynamic:c},s);i!\u003d\u003de\u0026\u0026(l.modifiers\u003di);var f\u003du[n];Array.isArray(f)?o?f.unshift(l):f.push(l):u[n]\u003df?o?[l,f]:[f,l]:l,t.plain\u003d!1}function Fr(e,t,n){var r\u003dPr(e,\":\"+t)||Pr(e,\"v-bind:\"+t);if(null!\u003dr)return Or(r);if(!1!\u003d\u003dn){var i\u003dPr(e,t);if(null!\u003di)return JSON.stringify(i)}}function Pr(e,t,n){var r;if(null!\u003d(r\u003de.attrsMap[t]))for(var i\u003de.attrsList,o\u003d0,a\u003di.length;o\u003ca;o++)if(i[o].name\u003d\u003d\u003dt){i.splice(o,1);break}return n\u0026\u0026delete e.attrsMap[t],r}function Rr(e,t){for(var n\u003de.attrsList,r\u003d0,i\u003dn.length;r\u003ci;r++){var o\u003dn[r];if(t.test(o.name))return n.splice(r,1),o}}function Hr(e,t){return t\u0026\u0026(null!\u003dt.start\u0026\u0026(e.start\u003dt.start),null!\u003dt.end\u0026\u0026(e.end\u003dt.end)),e}function Br(e,t,n){var r\u003dn||{},i\u003dr.number,o\u003d\"$$v\";r.trim\u0026\u0026(o\u003d\"(typeof $$v \u003d\u003d\u003d \u0027string\u0027? $$v.trim(): $$v)\"),i\u0026\u0026(o\u003d\"_n(\"+o+\")\");var a\u003dUr(t,o);e.model\u003d{value:\"(\"+t+\")\",expression:JSON.stringify(t),callback:\"function ($$v) {\"+a+\"}\"}}function Ur(e,t){var n\u003dfunction(e){if(e\u003de.trim(),_r\u003de.length,e.indexOf(\"[\")\u003c0||e.lastIndexOf(\"]\")\u003c_r-1)return(wr\u003de.lastIndexOf(\".\"))\u003e-1?{exp:e.slice(0,wr),key:\u0027\"\u0027+e.slice(wr+1)+\u0027\"\u0027}:{exp:e,key:null};br\u003de,wr\u003dCr\u003dxr\u003d0;for(;!zr();)Kr($r\u003dVr())?qr($r):91\u003d\u003d\u003d$r\u0026\u0026Jr($r);return{exp:e.slice(0,Cr),key:e.slice(Cr+1,xr)}}(e);return null\u003d\u003d\u003dn.key?e+\"\u003d\"+t:\"$set(\"+n.exp+\", \"+n.key+\", \"+t+\")\"}function Vr(){return br.charCodeAt(++wr)}function zr(){return wr\u003e\u003d_r}function Kr(e){return 34\u003d\u003d\u003de||39\u003d\u003d\u003de}function Jr(e){var t\u003d1;for(Cr\u003dwr;!zr();)if(Kr(e\u003dVr()))qr(e);else if(91\u003d\u003d\u003de\u0026\u0026t++,93\u003d\u003d\u003de\u0026\u0026t--,0\u003d\u003d\u003dt){xr\u003dwr;break}}function qr(e){for(var t\u003de;!zr()\u0026\u0026(e\u003dVr())!\u003d\u003dt;);}var Wr,Zr\u003d\"__r\",Gr\u003d\"__c\";function Xr(e,t,n){var r\u003dWr;return function i(){null!\u003d\u003dt.apply(null,arguments)\u0026\u0026ei(e,i,n,r)}}var Yr\u003dKe\u0026\u0026!(X\u0026\u0026Number(X[1])\u003c\u003d53);function Qr(e,t,n,r){if(Yr){var i\u003dsn,o\u003dt;t\u003do._wrapper\u003dfunction(e){if(e.target\u003d\u003d\u003de.currentTarget||e.timeStamp\u003e\u003di||e.timeStamp\u003c\u003d0||e.target.ownerDocument!\u003d\u003ddocument)return o.apply(this,arguments)}}Wr.addEventListener(e,t,Q?{capture:n,passive:r}:n)}function ei(e,t,n,r){(r||Wr).removeEventListener(e,t._wrapper||t,n)}function ti(e,r){if(!t(e.data.on)||!t(r.data.on)){var i\u003dr.data.on||{},o\u003de.data.on||{};Wr\u003dr.elm,function(e){if(n(e[Zr])){var t\u003dq?\"change\":\"input\";e[t]\u003d[].concat(e[Zr],e[t]||[]),delete e[Zr]}n(e[Gr])\u0026\u0026(e.change\u003d[].concat(e[Gr],e.change||[]),delete e[Gr])}(i),it(i,o,Qr,ei,Xr,r.context),Wr\u003dvoid 0}}var ni,ri\u003d{create:ti,update:ti};function ii(e,r){if(!t(e.data.domProps)||!t(r.data.domProps)){var i,o,a\u003dr.elm,s\u003de.data.domProps||{},c\u003dr.data.domProps||{};for(i in n(c.__ob__)\u0026\u0026(c\u003dr.data.domProps\u003dA({},c)),s)i in c||(a[i]\u003d\"\");for(i in c){if(o\u003dc[i],\"textContent\"\u003d\u003d\u003di||\"innerHTML\"\u003d\u003d\u003di){if(r.children\u0026\u0026(r.children.length\u003d0),o\u003d\u003d\u003ds[i])continue;1\u003d\u003d\u003da.childNodes.length\u0026\u0026a.removeChild(a.childNodes[0])}if(\"value\"\u003d\u003d\u003di\u0026\u0026\"PROGRESS\"!\u003d\u003da.tagName){a._value\u003do;var u\u003dt(o)?\"\":String(o);oi(a,u)\u0026\u0026(a.value\u003du)}else if(\"innerHTML\"\u003d\u003d\u003di\u0026\u0026Wn(a.tagName)\u0026\u0026t(a.innerHTML)){(ni\u003dni||document.createElement(\"div\")).innerHTML\u003d\"\u003csvg\u003e\"+o+\"\u003c/svg\u003e\";for(var l\u003dni.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}else if(o!\u003d\u003ds[i])try{a[i]\u003do}catch(e){}}}}function oi(e,t){return!e.composing\u0026\u0026(\"OPTION\"\u003d\u003d\u003de.tagName||function(e,t){var n\u003d!0;try{n\u003ddocument.activeElement!\u003d\u003de}catch(e){}return n\u0026\u0026e.value!\u003d\u003dt}(e,t)||function(e,t){var r\u003de.value,i\u003de._vModifiers;if(n(i)){if(i.number)return f(r)!\u003d\u003df(t);if(i.trim)return r.trim()!\u003d\u003dt.trim()}return r!\u003d\u003dt}(e,t))}var ai\u003d{create:ii,update:ii},si\u003dg(function(e){var t\u003d{},n\u003d/:(.+)/;return e.split(/;(?![^(]*\\))/g).forEach(function(e){if(e){var r\u003de.split(n);r.length\u003e1\u0026\u0026(t[r[0].trim()]\u003dr[1].trim())}}),t});function ci(e){var t\u003dui(e.style);return e.staticStyle?A(e.staticStyle,t):t}function ui(e){return Array.isArray(e)?O(e):\"string\"\u003d\u003dtypeof e?si(e):e}var li,fi\u003d/^--/,pi\u003d/\\s*!important$/,di\u003dfunction(e,t,n){if(fi.test(t))e.style.setProperty(t,n);else if(pi.test(n))e.style.setProperty(C(t),n.replace(pi,\"\"),\"important\");else{var r\u003dhi(t);if(Array.isArray(n))for(var i\u003d0,o\u003dn.length;i\u003co;i++)e.style[r]\u003dn[i];else e.style[r]\u003dn}},vi\u003d[\"Webkit\",\"Moz\",\"ms\"],hi\u003dg(function(e){if(li\u003dli||document.createElement(\"div\").style,\"filter\"!\u003d\u003d(e\u003db(e))\u0026\u0026e in li)return e;for(var t\u003de.charAt(0).toUpperCase()+e.slice(1),n\u003d0;n\u003cvi.length;n++){var r\u003dvi[n]+t;if(r in li)return r}});function mi(e,r){var i\u003dr.data,o\u003de.data;if(!(t(i.staticStyle)\u0026\u0026t(i.style)\u0026\u0026t(o.staticStyle)\u0026\u0026t(o.style))){var a,s,c\u003dr.elm,u\u003do.staticStyle,l\u003do.normalizedStyle||o.style||{},f\u003du||l,p\u003dui(r.data.style)||{};r.data.normalizedStyle\u003dn(p.__ob__)?A({},p):p;var d\u003dfunction(e,t){var n,r\u003d{};if(t)for(var i\u003de;i.componentInstance;)(i\u003di.componentInstance._vnode)\u0026\u0026i.data\u0026\u0026(n\u003dci(i.data))\u0026\u0026A(r,n);(n\u003dci(e.data))\u0026\u0026A(r,n);for(var o\u003de;o\u003do.parent;)o.data\u0026\u0026(n\u003dci(o.data))\u0026\u0026A(r,n);return r}(r,!0);for(s in f)t(d[s])\u0026\u0026di(c,s,\"\");for(s in d)(a\u003dd[s])!\u003d\u003df[s]\u0026\u0026di(c,s,null\u003d\u003da?\"\":a)}}var yi\u003d{create:mi,update:mi},gi\u003d/\\s+/;function _i(e,t){if(t\u0026\u0026(t\u003dt.trim()))if(e.classList)t.indexOf(\" \")\u003e-1?t.split(gi).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n\u003d\" \"+(e.getAttribute(\"class\")||\"\")+\" \";n.indexOf(\" \"+t+\" \")\u003c0\u0026\u0026e.setAttribute(\"class\",(n+t).trim())}}function bi(e,t){if(t\u0026\u0026(t\u003dt.trim()))if(e.classList)t.indexOf(\" \")\u003e-1?t.split(gi).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute(\"class\");else{for(var n\u003d\" \"+(e.getAttribute(\"class\")||\"\")+\" \",r\u003d\" \"+t+\" \";n.indexOf(r)\u003e\u003d0;)n\u003dn.replace(r,\" \");(n\u003dn.trim())?e.setAttribute(\"class\",n):e.removeAttribute(\"class\")}}function $i(e){if(e){if(\"object\"\u003d\u003dtypeof e){var t\u003d{};return!1!\u003d\u003de.css\u0026\u0026A(t,wi(e.name||\"v\")),A(t,e),t}return\"string\"\u003d\u003dtypeof e?wi(e):void 0}}var wi\u003dg(function(e){return{enterClass:e+\"-enter\",enterToClass:e+\"-enter-to\",enterActiveClass:e+\"-enter-active\",leaveClass:e+\"-leave\",leaveToClass:e+\"-leave-to\",leaveActiveClass:e+\"-leave-active\"}}),Ci\u003dV\u0026\u0026!W,xi\u003d\"transition\",ki\u003d\"animation\",Ai\u003d\"transition\",Oi\u003d\"transitionend\",Si\u003d\"animation\",Ti\u003d\"animationend\";Ci\u0026\u0026(void 0\u003d\u003d\u003dwindow.ontransitionend\u0026\u0026void 0!\u003d\u003dwindow.onwebkittransitionend\u0026\u0026(Ai\u003d\"WebkitTransition\",Oi\u003d\"webkitTransitionEnd\"),void 0\u003d\u003d\u003dwindow.onanimationend\u0026\u0026void 0!\u003d\u003dwindow.onwebkitanimationend\u0026\u0026(Si\u003d\"WebkitAnimation\",Ti\u003d\"webkitAnimationEnd\"));var Ni\u003dV?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Ei(e){Ni(function(){Ni(e)})}function ji(e,t){var n\u003de._transitionClasses||(e._transitionClasses\u003d[]);n.indexOf(t)\u003c0\u0026\u0026(n.push(t),_i(e,t))}function Di(e,t){e._transitionClasses\u0026\u0026h(e._transitionClasses,t),bi(e,t)}function Li(e,t,n){var r\u003dMi(e,t),i\u003dr.type,o\u003dr.timeout,a\u003dr.propCount;if(!i)return n();var s\u003di\u003d\u003d\u003dxi?Oi:Ti,c\u003d0,u\u003dfunction(){e.removeEventListener(s,l),n()},l\u003dfunction(t){t.target\u003d\u003d\u003de\u0026\u0026++c\u003e\u003da\u0026\u0026u()};setTimeout(function(){c\u003ca\u0026\u0026u()},o+1),e.addEventListener(s,l)}var Ii\u003d/\\b(transform|all)(,|$)/;function Mi(e,t){var n,r\u003dwindow.getComputedStyle(e),i\u003d(r[Ai+\"Delay\"]||\"\").split(\", \"),o\u003d(r[Ai+\"Duration\"]||\"\").split(\", \"),a\u003dFi(i,o),s\u003d(r[Si+\"Delay\"]||\"\").split(\", \"),c\u003d(r[Si+\"Duration\"]||\"\").split(\", \"),u\u003dFi(s,c),l\u003d0,f\u003d0;return t\u003d\u003d\u003dxi?a\u003e0\u0026\u0026(n\u003dxi,l\u003da,f\u003do.length):t\u003d\u003d\u003dki?u\u003e0\u0026\u0026(n\u003dki,l\u003du,f\u003dc.length):f\u003d(n\u003d(l\u003dMath.max(a,u))\u003e0?a\u003eu?xi:ki:null)?n\u003d\u003d\u003dxi?o.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:n\u003d\u003d\u003dxi\u0026\u0026Ii.test(r[Ai+\"Property\"])}}function Fi(e,t){for(;e.length\u003ct.length;)e\u003de.concat(e);return Math.max.apply(null,t.map(function(t,n){return Pi(t)+Pi(e[n])}))}function Pi(e){return 1e3*Number(e.slice(0,-1).replace(\",\",\".\"))}function Ri(e,r){var i\u003de.elm;n(i._leaveCb)\u0026\u0026(i._leaveCb.cancelled\u003d!0,i._leaveCb());var a\u003d$i(e.data.transition);if(!t(a)\u0026\u0026!n(i._enterCb)\u0026\u00261\u003d\u003d\u003di.nodeType){for(var s\u003da.css,c\u003da.type,u\u003da.enterClass,l\u003da.enterToClass,p\u003da.enterActiveClass,d\u003da.appearClass,v\u003da.appearToClass,h\u003da.appearActiveClass,m\u003da.beforeEnter,y\u003da.enter,g\u003da.afterEnter,_\u003da.enterCancelled,b\u003da.beforeAppear,$\u003da.appear,w\u003da.afterAppear,C\u003da.appearCancelled,x\u003da.duration,k\u003dZt,A\u003dZt.$vnode;A\u0026\u0026A.parent;)k\u003dA.context,A\u003dA.parent;var O\u003d!k._isMounted||!e.isRootInsert;if(!O||$||\"\"\u003d\u003d\u003d$){var S\u003dO\u0026\u0026d?d:u,T\u003dO\u0026\u0026h?h:p,N\u003dO\u0026\u0026v?v:l,E\u003dO\u0026\u0026b||m,j\u003dO\u0026\u0026\"function\"\u003d\u003dtypeof $?$:y,L\u003dO\u0026\u0026w||g,I\u003dO\u0026\u0026C||_,M\u003df(o(x)?x.enter:x),F\u003d!1!\u003d\u003ds\u0026\u0026!W,P\u003dUi(j),R\u003di._enterCb\u003dD(function(){F\u0026\u0026(Di(i,N),Di(i,T)),R.cancelled?(F\u0026\u0026Di(i,S),I\u0026\u0026I(i)):L\u0026\u0026L(i),i._enterCb\u003dnull});e.data.show||ot(e,\"insert\",function(){var t\u003di.parentNode,n\u003dt\u0026\u0026t._pending\u0026\u0026t._pending[e.key];n\u0026\u0026n.tag\u003d\u003d\u003de.tag\u0026\u0026n.elm._leaveCb\u0026\u0026n.elm._leaveCb(),j\u0026\u0026j(i,R)}),E\u0026\u0026E(i),F\u0026\u0026(ji(i,S),ji(i,T),Ei(function(){Di(i,S),R.cancelled||(ji(i,N),P||(Bi(M)?setTimeout(R,M):Li(i,c,R)))})),e.data.show\u0026\u0026(r\u0026\u0026r(),j\u0026\u0026j(i,R)),F||P||R()}}}function Hi(e,r){var i\u003de.elm;n(i._enterCb)\u0026\u0026(i._enterCb.cancelled\u003d!0,i._enterCb());var a\u003d$i(e.data.transition);if(t(a)||1!\u003d\u003di.nodeType)return r();if(!n(i._leaveCb)){var s\u003da.css,c\u003da.type,u\u003da.leaveClass,l\u003da.leaveToClass,p\u003da.leaveActiveClass,d\u003da.beforeLeave,v\u003da.leave,h\u003da.afterLeave,m\u003da.leaveCancelled,y\u003da.delayLeave,g\u003da.duration,_\u003d!1!\u003d\u003ds\u0026\u0026!W,b\u003dUi(v),$\u003df(o(g)?g.leave:g),w\u003di._leaveCb\u003dD(function(){i.parentNode\u0026\u0026i.parentNode._pending\u0026\u0026(i.parentNode._pending[e.key]\u003dnull),_\u0026\u0026(Di(i,l),Di(i,p)),w.cancelled?(_\u0026\u0026Di(i,u),m\u0026\u0026m(i)):(r(),h\u0026\u0026h(i)),i._leaveCb\u003dnull});y?y(C):C()}function C(){w.cancelled||(!e.data.show\u0026\u0026i.parentNode\u0026\u0026((i.parentNode._pending||(i.parentNode._pending\u003d{}))[e.key]\u003de),d\u0026\u0026d(i),_\u0026\u0026(ji(i,u),ji(i,p),Ei(function(){Di(i,u),w.cancelled||(ji(i,l),b||(Bi($)?setTimeout(w,$):Li(i,c,w)))})),v\u0026\u0026v(i,w),_||b||w())}}function Bi(e){return\"number\"\u003d\u003dtypeof e\u0026\u0026!isNaN(e)}function Ui(e){if(t(e))return!1;var r\u003de.fns;return n(r)?Ui(Array.isArray(r)?r[0]:r):(e._length||e.length)\u003e1}function Vi(e,t){!0!\u003d\u003dt.data.show\u0026\u0026Ri(t)}var zi\u003dfunction(e){var o,a,s\u003d{},c\u003de.modules,u\u003de.nodeOps;for(o\u003d0;o\u003cir.length;++o)for(s[ir[o]]\u003d[],a\u003d0;a\u003cc.length;++a)n(c[a][ir[o]])\u0026\u0026s[ir[o]].push(c[a][ir[o]]);function l(e){var t\u003du.parentNode(e);n(t)\u0026\u0026u.removeChild(t,e)}function f(e,t,i,o,a,c,l){if(n(e.elm)\u0026\u0026n(c)\u0026\u0026(e\u003dc[l]\u003dme(e)),e.isRootInsert\u003d!a,!function(e,t,i,o){var a\u003de.data;if(n(a)){var c\u003dn(e.componentInstance)\u0026\u0026a.keepAlive;if(n(a\u003da.hook)\u0026\u0026n(a\u003da.init)\u0026\u0026a(e,!1),n(e.componentInstance))return d(e,t),v(i,e.elm,o),r(c)\u0026\u0026function(e,t,r,i){for(var o,a\u003de;a.componentInstance;)if(a\u003da.componentInstance._vnode,n(o\u003da.data)\u0026\u0026n(o\u003do.transition)){for(o\u003d0;o\u003cs.activate.length;++o)s.activate[o](rr,a);t.push(a);break}v(r,e.elm,i)}(e,t,i,o),!0}}(e,t,i,o)){var f\u003de.data,p\u003de.children,m\u003de.tag;n(m)?(e.elm\u003de.ns?u.createElementNS(e.ns,m):u.createElement(m,e),g(e),h(e,p,t),n(f)\u0026\u0026y(e,t),v(i,e.elm,o)):r(e.isComment)?(e.elm\u003du.createComment(e.text),v(i,e.elm,o)):(e.elm\u003du.createTextNode(e.text),v(i,e.elm,o))}}function d(e,t){n(e.data.pendingInsert)\u0026\u0026(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert\u003dnull),e.elm\u003de.componentInstance.$el,m(e)?(y(e,t),g(e)):(nr(e),t.push(e))}function v(e,t,r){n(e)\u0026\u0026(n(r)?u.parentNode(r)\u003d\u003d\u003de\u0026\u0026u.insertBefore(e,t,r):u.appendChild(e,t))}function h(e,t,n){if(Array.isArray(t))for(var r\u003d0;r\u003ct.length;++r)f(t[r],n,e.elm,null,!0,t,r);else i(e.text)\u0026\u0026u.appendChild(e.elm,u.createTextNode(String(e.text)))}function m(e){for(;e.componentInstance;)e\u003de.componentInstance._vnode;return n(e.tag)}function y(e,t){for(var r\u003d0;r\u003cs.create.length;++r)s.create[r](rr,e);n(o\u003de.data.hook)\u0026\u0026(n(o.create)\u0026\u0026o.create(rr,e),n(o.insert)\u0026\u0026t.push(e))}function g(e){var t;if(n(t\u003de.fnScopeId))u.setStyleScope(e.elm,t);else for(var r\u003de;r;)n(t\u003dr.context)\u0026\u0026n(t\u003dt.$options._scopeId)\u0026\u0026u.setStyleScope(e.elm,t),r\u003dr.parent;n(t\u003dZt)\u0026\u0026t!\u003d\u003de.context\u0026\u0026t!\u003d\u003de.fnContext\u0026\u0026n(t\u003dt.$options._scopeId)\u0026\u0026u.setStyleScope(e.elm,t)}function _(e,t,n,r,i,o){for(;r\u003c\u003di;++r)f(n[r],o,e,t,!1,n,r)}function b(e){var t,r,i\u003de.data;if(n(i))for(n(t\u003di.hook)\u0026\u0026n(t\u003dt.destroy)\u0026\u0026t(e),t\u003d0;t\u003cs.destroy.length;++t)s.destroy[t](e);if(n(t\u003de.children))for(r\u003d0;r\u003ce.children.length;++r)b(e.children[r])}function $(e,t,r){for(;t\u003c\u003dr;++t){var i\u003de[t];n(i)\u0026\u0026(n(i.tag)?(w(i),b(i)):l(i.elm))}}function w(e,t){if(n(t)||n(e.data)){var r,i\u003ds.remove.length+1;for(n(t)?t.listeners+\u003di:t\u003dfunction(e,t){function n(){0\u003d\u003d--n.listeners\u0026\u0026l(e)}return n.listeners\u003dt,n}(e.elm,i),n(r\u003de.componentInstance)\u0026\u0026n(r\u003dr._vnode)\u0026\u0026n(r.data)\u0026\u0026w(r,t),r\u003d0;r\u003cs.remove.length;++r)s.remove[r](e,t);n(r\u003de.data.hook)\u0026\u0026n(r\u003dr.remove)?r(e,t):t()}else l(e.elm)}function C(e,t,r,i){for(var o\u003dr;o\u003ci;o++){var a\u003dt[o];if(n(a)\u0026\u0026or(e,a))return o}}function x(e,i,o,a,c,l){if(e!\u003d\u003di){n(i.elm)\u0026\u0026n(a)\u0026\u0026(i\u003da[c]\u003dme(i));var p\u003di.elm\u003de.elm;if(r(e.isAsyncPlaceholder))n(i.asyncFactory.resolved)?O(e.elm,i,o):i.isAsyncPlaceholder\u003d!0;else if(r(i.isStatic)\u0026\u0026r(e.isStatic)\u0026\u0026i.key\u003d\u003d\u003de.key\u0026\u0026(r(i.isCloned)||r(i.isOnce)))i.componentInstance\u003de.componentInstance;else{var d,v\u003di.data;n(v)\u0026\u0026n(d\u003dv.hook)\u0026\u0026n(d\u003dd.prepatch)\u0026\u0026d(e,i);var h\u003de.children,y\u003di.children;if(n(v)\u0026\u0026m(i)){for(d\u003d0;d\u003cs.update.length;++d)s.update[d](e,i);n(d\u003dv.hook)\u0026\u0026n(d\u003dd.update)\u0026\u0026d(e,i)}t(i.text)?n(h)\u0026\u0026n(y)?h!\u003d\u003dy\u0026\u0026function(e,r,i,o,a){for(var s,c,l,p\u003d0,d\u003d0,v\u003dr.length-1,h\u003dr[0],m\u003dr[v],y\u003di.length-1,g\u003di[0],b\u003di[y],w\u003d!a;p\u003c\u003dv\u0026\u0026d\u003c\u003dy;)t(h)?h\u003dr[++p]:t(m)?m\u003dr[--v]:or(h,g)?(x(h,g,o,i,d),h\u003dr[++p],g\u003di[++d]):or(m,b)?(x(m,b,o,i,y),m\u003dr[--v],b\u003di[--y]):or(h,b)?(x(h,b,o,i,y),w\u0026\u0026u.insertBefore(e,h.elm,u.nextSibling(m.elm)),h\u003dr[++p],b\u003di[--y]):or(m,g)?(x(m,g,o,i,d),w\u0026\u0026u.insertBefore(e,m.elm,h.elm),m\u003dr[--v],g\u003di[++d]):(t(s)\u0026\u0026(s\u003dar(r,p,v)),t(c\u003dn(g.key)?s[g.key]:C(g,r,p,v))?f(g,o,e,h.elm,!1,i,d):or(l\u003dr[c],g)?(x(l,g,o,i,d),r[c]\u003dvoid 0,w\u0026\u0026u.insertBefore(e,l.elm,h.elm)):f(g,o,e,h.elm,!1,i,d),g\u003di[++d]);p\u003ev?_(e,t(i[y+1])?null:i[y+1].elm,i,d,y,o):d\u003ey\u0026\u0026$(r,p,v)}(p,h,y,o,l):n(y)?(n(e.text)\u0026\u0026u.setTextContent(p,\"\"),_(p,null,y,0,y.length-1,o)):n(h)?$(h,0,h.length-1):n(e.text)\u0026\u0026u.setTextContent(p,\"\"):e.text!\u003d\u003di.text\u0026\u0026u.setTextContent(p,i.text),n(v)\u0026\u0026n(d\u003dv.hook)\u0026\u0026n(d\u003dd.postpatch)\u0026\u0026d(e,i)}}}function k(e,t,i){if(r(i)\u0026\u0026n(e.parent))e.parent.data.pendingInsert\u003dt;else for(var o\u003d0;o\u003ct.length;++o)t[o].data.hook.insert(t[o])}var A\u003dp(\"attrs,class,staticClass,staticStyle,key\");function O(e,t,i,o){var a,s\u003dt.tag,c\u003dt.data,u\u003dt.children;if(o\u003do||c\u0026\u0026c.pre,t.elm\u003de,r(t.isComment)\u0026\u0026n(t.asyncFactory))return t.isAsyncPlaceholder\u003d!0,!0;if(n(c)\u0026\u0026(n(a\u003dc.hook)\u0026\u0026n(a\u003da.init)\u0026\u0026a(t,!0),n(a\u003dt.componentInstance)))return d(t,i),!0;if(n(s)){if(n(u))if(e.hasChildNodes())if(n(a\u003dc)\u0026\u0026n(a\u003da.domProps)\u0026\u0026n(a\u003da.innerHTML)){if(a!\u003d\u003de.innerHTML)return!1}else{for(var l\u003d!0,f\u003de.firstChild,p\u003d0;p\u003cu.length;p++){if(!f||!O(f,u[p],i,o)){l\u003d!1;break}f\u003df.nextSibling}if(!l||f)return!1}else h(t,u,i);if(n(c)){var v\u003d!1;for(var m in c)if(!A(m)){v\u003d!0,y(t,i);break}!v\u0026\u0026c.class\u0026\u0026tt(c.class)}}else e.data!\u003d\u003dt.text\u0026\u0026(e.data\u003dt.text);return!0}return function(e,i,o,a){if(!t(i)){var c,l\u003d!1,p\u003d[];if(t(e))l\u003d!0,f(i,p);else{var d\u003dn(e.nodeType);if(!d\u0026\u0026or(e,i))x(e,i,p,null,null,a);else{if(d){if(1\u003d\u003d\u003de.nodeType\u0026\u0026e.hasAttribute(L)\u0026\u0026(e.removeAttribute(L),o\u003d!0),r(o)\u0026\u0026O(e,i,p))return k(i,p,!0),e;c\u003de,e\u003dnew pe(u.tagName(c).toLowerCase(),{},[],void 0,c)}var v\u003de.elm,h\u003du.parentNode(v);if(f(i,p,v._leaveCb?null:h,u.nextSibling(v)),n(i.parent))for(var y\u003di.parent,g\u003dm(i);y;){for(var _\u003d0;_\u003cs.destroy.length;++_)s.destroy[_](y);if(y.elm\u003di.elm,g){for(var w\u003d0;w\u003cs.create.length;++w)s.create[w](rr,y);var C\u003dy.data.hook.insert;if(C.merged)for(var A\u003d1;A\u003cC.fns.length;A++)C.fns[A]()}else nr(y);y\u003dy.parent}n(h)?$([e],0,0):n(e.tag)\u0026\u0026b(e)}}return k(i,p,l),i.elm}n(e)\u0026\u0026b(e)}}({nodeOps:er,modules:[yr,kr,ri,ai,yi,V?{create:Vi,activate:Vi,remove:function(e,t){!0!\u003d\u003de.data.show?Hi(e,t):t()}}:{}].concat(dr)});W\u0026\u0026document.addEventListener(\"selectionchange\",function(){var e\u003ddocument.activeElement;e\u0026\u0026e.vmodel\u0026\u0026Yi(e,\"input\")});var Ki\u003d{inserted:function(e,t,n,r){\"select\"\u003d\u003d\u003dn.tag?(r.elm\u0026\u0026!r.elm._vOptions?ot(n,\"postpatch\",function(){Ki.componentUpdated(e,t,n)}):Ji(e,t,n.context),e._vOptions\u003d[].map.call(e.options,Zi)):(\"textarea\"\u003d\u003d\u003dn.tag||Yn(e.type))\u0026\u0026(e._vModifiers\u003dt.modifiers,t.modifiers.lazy||(e.addEventListener(\"compositionstart\",Gi),e.addEventListener(\"compositionend\",Xi),e.addEventListener(\"change\",Xi),W\u0026\u0026(e.vmodel\u003d!0)))},componentUpdated:function(e,t,n){if(\"select\"\u003d\u003d\u003dn.tag){Ji(e,t,n.context);var r\u003de._vOptions,i\u003de._vOptions\u003d[].map.call(e.options,Zi);if(i.some(function(e,t){return!E(e,r[t])}))(e.multiple?t.value.some(function(e){return Wi(e,i)}):t.value!\u003d\u003dt.oldValue\u0026\u0026Wi(t.value,i))\u0026\u0026Yi(e,\"change\")}}};function Ji(e,t,n){qi(e,t,n),(q||Z)\u0026\u0026setTimeout(function(){qi(e,t,n)},0)}function qi(e,t,n){var r\u003dt.value,i\u003de.multiple;if(!i||Array.isArray(r)){for(var o,a,s\u003d0,c\u003de.options.length;s\u003cc;s++)if(a\u003de.options[s],i)o\u003dj(r,Zi(a))\u003e-1,a.selected!\u003d\u003do\u0026\u0026(a.selected\u003do);else if(E(Zi(a),r))return void(e.selectedIndex!\u003d\u003ds\u0026\u0026(e.selectedIndex\u003ds));i||(e.selectedIndex\u003d-1)}}function Wi(e,t){return t.every(function(t){return!E(t,e)})}function Zi(e){return\"_value\"in e?e._value:e.value}function Gi(e){e.target.composing\u003d!0}function Xi(e){e.target.composing\u0026\u0026(e.target.composing\u003d!1,Yi(e.target,\"input\"))}function Yi(e,t){var n\u003ddocument.createEvent(\"HTMLEvents\");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Qi(e){return!e.componentInstance||e.data\u0026\u0026e.data.transition?e:Qi(e.componentInstance._vnode)}var eo\u003d{model:Ki,show:{bind:function(e,t,n){var r\u003dt.value,i\u003d(n\u003dQi(n)).data\u0026\u0026n.data.transition,o\u003de.__vOriginalDisplay\u003d\"none\"\u003d\u003d\u003de.style.display?\"\":e.style.display;r\u0026\u0026i?(n.data.show\u003d!0,Ri(n,function(){e.style.display\u003do})):e.style.display\u003dr?o:\"none\"},update:function(e,t,n){var r\u003dt.value;!r!\u003d!t.oldValue\u0026\u0026((n\u003dQi(n)).data\u0026\u0026n.data.transition?(n.data.show\u003d!0,r?Ri(n,function(){e.style.display\u003de.__vOriginalDisplay}):Hi(n,function(){e.style.display\u003d\"none\"})):e.style.display\u003dr?e.__vOriginalDisplay:\"none\")},unbind:function(e,t,n,r,i){i||(e.style.display\u003de.__vOriginalDisplay)}}},to\u003d{name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function no(e){var t\u003de\u0026\u0026e.componentOptions;return t\u0026\u0026t.Ctor.options.abstract?no(zt(t.children)):e}function ro(e){var t\u003d{},n\u003de.$options;for(var r in n.propsData)t[r]\u003de[r];var i\u003dn._parentListeners;for(var o in i)t[b(o)]\u003di[o];return t}function io(e,t){if(/\\d-keep-alive$/.test(t.tag))return e(\"keep-alive\",{props:t.componentOptions.propsData})}var oo\u003dfunction(e){return e.tag||pt(e)},ao\u003dfunction(e){return\"show\"\u003d\u003d\u003de.name},so\u003d{name:\"transition\",props:to,abstract:!0,render:function(e){var t\u003dthis,n\u003dthis.$slots.default;if(n\u0026\u0026(n\u003dn.filter(oo)).length){var r\u003dthis.mode,o\u003dn[0];if(function(e){for(;e\u003de.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var a\u003dno(o);if(!a)return o;if(this._leaving)return io(e,o);var s\u003d\"__transition-\"+this._uid+\"-\";a.key\u003dnull\u003d\u003da.key?a.isComment?s+\"comment\":s+a.tag:i(a.key)?0\u003d\u003d\u003dString(a.key).indexOf(s)?a.key:s+a.key:a.key;var c\u003d(a.data||(a.data\u003d{})).transition\u003dro(this),u\u003dthis._vnode,l\u003dno(u);if(a.data.directives\u0026\u0026a.data.directives.some(ao)\u0026\u0026(a.data.show\u003d!0),l\u0026\u0026l.data\u0026\u0026!function(e,t){return t.key\u003d\u003d\u003de.key\u0026\u0026t.tag\u003d\u003d\u003de.tag}(a,l)\u0026\u0026!pt(l)\u0026\u0026(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f\u003dl.data.transition\u003dA({},c);if(\"out-in\"\u003d\u003d\u003dr)return this._leaving\u003d!0,ot(f,\"afterLeave\",function(){t._leaving\u003d!1,t.$forceUpdate()}),io(e,o);if(\"in-out\"\u003d\u003d\u003dr){if(pt(a))return u;var p,d\u003dfunction(){p()};ot(c,\"afterEnter\",d),ot(c,\"enterCancelled\",d),ot(f,\"delayLeave\",function(e){p\u003de})}}return o}}},co\u003dA({tag:String,moveClass:String},to);function uo(e){e.elm._moveCb\u0026\u0026e.elm._moveCb(),e.elm._enterCb\u0026\u0026e.elm._enterCb()}function lo(e){e.data.newPos\u003de.elm.getBoundingClientRect()}function fo(e){var t\u003de.data.pos,n\u003de.data.newPos,r\u003dt.left-n.left,i\u003dt.top-n.top;if(r||i){e.data.moved\u003d!0;var o\u003de.elm.style;o.transform\u003do.WebkitTransform\u003d\"translate(\"+r+\"px,\"+i+\"px)\",o.transitionDuration\u003d\"0s\"}}delete co.mode;var po\u003d{Transition:so,TransitionGroup:{props:co,beforeMount:function(){var e\u003dthis,t\u003dthis._update;this._update\u003dfunction(n,r){var i\u003dGt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode\u003de.kept,i(),t.call(e,n,r)}},render:function(e){for(var t\u003dthis.tag||this.$vnode.data.tag||\"span\",n\u003dObject.create(null),r\u003dthis.prevChildren\u003dthis.children,i\u003dthis.$slots.default||[],o\u003dthis.children\u003d[],a\u003dro(this),s\u003d0;s\u003ci.length;s++){var c\u003di[s];c.tag\u0026\u0026null!\u003dc.key\u0026\u00260!\u003d\u003dString(c.key).indexOf(\"__vlist\")\u0026\u0026(o.push(c),n[c.key]\u003dc,(c.data||(c.data\u003d{})).transition\u003da)}if(r){for(var u\u003d[],l\u003d[],f\u003d0;f\u003cr.length;f++){var p\u003dr[f];p.data.transition\u003da,p.data.pos\u003dp.elm.getBoundingClientRect(),n[p.key]?u.push(p):l.push(p)}this.kept\u003de(t,null,u),this.removed\u003dl}return e(t,null,o)},updated:function(){var e\u003dthis.prevChildren,t\u003dthis.moveClass||(this.name||\"v\")+\"-move\";e.length\u0026\u0026this.hasMove(e[0].elm,t)\u0026\u0026(e.forEach(uo),e.forEach(lo),e.forEach(fo),this._reflow\u003ddocument.body.offsetHeight,e.forEach(function(e){if(e.data.moved){var n\u003de.elm,r\u003dn.style;ji(n,t),r.transform\u003dr.WebkitTransform\u003dr.transitionDuration\u003d\"\",n.addEventListener(Oi,n._moveCb\u003dfunction e(r){r\u0026\u0026r.target!\u003d\u003dn||r\u0026\u0026!/transform$/.test(r.propertyName)||(n.removeEventListener(Oi,e),n._moveCb\u003dnull,Di(n,t))})}}))},methods:{hasMove:function(e,t){if(!Ci)return!1;if(this._hasMove)return this._hasMove;var n\u003de.cloneNode();e._transitionClasses\u0026\u0026e._transitionClasses.forEach(function(e){bi(n,e)}),_i(n,t),n.style.display\u003d\"none\",this.$el.appendChild(n);var r\u003dMi(n);return this.$el.removeChild(n),this._hasMove\u003dr.hasTransform}}}};Cn.config.mustUseProp\u003dDn,Cn.config.isReservedTag\u003dZn,Cn.config.isReservedAttr\u003dEn,Cn.config.getTagNamespace\u003dGn,Cn.config.isUnknownElement\u003dfunction(e){if(!V)return!0;if(Zn(e))return!1;if(e\u003de.toLowerCase(),null!\u003dXn[e])return Xn[e];var t\u003ddocument.createElement(e);return e.indexOf(\"-\")\u003e-1?Xn[e]\u003dt.constructor\u003d\u003d\u003dwindow.HTMLUnknownElement||t.constructor\u003d\u003d\u003dwindow.HTMLElement:Xn[e]\u003d/HTMLUnknownElement/.test(t.toString())},A(Cn.options.directives,eo),A(Cn.options.components,po),Cn.prototype.__patch__\u003dV?zi:S,Cn.prototype.$mount\u003dfunction(e,t){return function(e,t,n){var r;return e.$el\u003dt,e.$options.render||(e.$options.render\u003dve),Qt(e,\"beforeMount\"),r\u003dfunction(){e._update(e._render(),n)},new pn(e,r,S,{before:function(){e._isMounted\u0026\u0026!e._isDestroyed\u0026\u0026Qt(e,\"beforeUpdate\")}},!0),n\u003d!1,null\u003d\u003de.$vnode\u0026\u0026(e._isMounted\u003d!0,Qt(e,\"mounted\")),e}(this,e\u003de\u0026\u0026V?Qn(e):void 0,t)},V\u0026\u0026setTimeout(function(){F.devtools\u0026\u0026ne\u0026\u0026ne.emit(\"init\",Cn)},0);var vo\u003d/\\{\\{((?:.|\\r?\\n)+?)\\}\\}/g,ho\u003d/[-.*+?^${}()|[\\]\\/\\\\]/g,mo\u003dg(function(e){var t\u003de[0].replace(ho,\"\\\\$\u0026\"),n\u003de[1].replace(ho,\"\\\\$\u0026\");return new RegExp(t+\"((?:.|\\\\n)+?)\"+n,\"g\")});var yo\u003d{staticKeys:[\"staticClass\"],transformNode:function(e,t){t.warn;var n\u003dPr(e,\"class\");n\u0026\u0026(e.staticClass\u003dJSON.stringify(n));var r\u003dFr(e,\"class\",!1);r\u0026\u0026(e.classBinding\u003dr)},genData:function(e){var t\u003d\"\";return e.staticClass\u0026\u0026(t+\u003d\"staticClass:\"+e.staticClass+\",\"),e.classBinding\u0026\u0026(t+\u003d\"class:\"+e.classBinding+\",\"),t}};var go,_o\u003d{staticKeys:[\"staticStyle\"],transformNode:function(e,t){t.warn;var n\u003dPr(e,\"style\");n\u0026\u0026(e.staticStyle\u003dJSON.stringify(si(n)));var r\u003dFr(e,\"style\",!1);r\u0026\u0026(e.styleBinding\u003dr)},genData:function(e){var t\u003d\"\";return e.staticStyle\u0026\u0026(t+\u003d\"staticStyle:\"+e.staticStyle+\",\"),e.styleBinding\u0026\u0026(t+\u003d\"style:(\"+e.styleBinding+\"),\"),t}},bo\u003dfunction(e){return(go\u003dgo||document.createElement(\"div\")).innerHTML\u003de,go.textContent},$o\u003dp(\"area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr\"),wo\u003dp(\"colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source\"),Co\u003dp(\"address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track\"),xo\u003d/^\\s*([^\\s\"\u0027\u003c\u003e\\/\u003d]+)(?:\\s*(\u003d)\\s*(?:\"([^\"]*)\"+|\u0027([^\u0027]*)\u0027+|([^\\s\"\u0027\u003d\u003c\u003e`]+)))?/,ko\u003d/^\\s*((?:v-[\\w-]+:|@|:|#)\\[[^\u003d]+?\\][^\\s\"\u0027\u003c\u003e\\/\u003d]*)(?:\\s*(\u003d)\\s*(?:\"([^\"]*)\"+|\u0027([^\u0027]*)\u0027+|([^\\s\"\u0027\u003d\u003c\u003e`]+)))?/,Ao\u003d\"[a-zA-Z_][\\\\-\\\\.0-9_a-zA-Z\"+P.source+\"]*\",Oo\u003d\"((?:\"+Ao+\"\\\\:)?\"+Ao+\")\",So\u003dnew RegExp(\"^\u003c\"+Oo),To\u003d/^\\s*(\\/?)\u003e/,No\u003dnew RegExp(\"^\u003c\\\\/\"+Oo+\"[^\u003e]*\u003e\"),Eo\u003d/^\u003c!DOCTYPE [^\u003e]+\u003e/i,jo\u003d/^\u003c!\\--/,Do\u003d/^\u003c!\\[/,Lo\u003dp(\"script,style,textarea\",!0),Io\u003d{},Mo\u003d{\"\u0026lt;\":\"\u003c\",\"\u0026gt;\":\"\u003e\",\"\u0026quot;\":\u0027\"\u0027,\"\u0026amp;\":\"\u0026\",\"\u0026#10;\":\"\\n\",\"\u0026#9;\":\"\\t\",\"\u0026#39;\":\"\u0027\"},Fo\u003d/\u0026(?:lt|gt|quot|amp|#39);/g,Po\u003d/\u0026(?:lt|gt|quot|amp|#39|#10|#9);/g,Ro\u003dp(\"pre,textarea\",!0),Ho\u003dfunction(e,t){return e\u0026\u0026Ro(e)\u0026\u0026\"\\n\"\u003d\u003d\u003dt[0]};function Bo(e,t){var n\u003dt?Po:Fo;return e.replace(n,function(e){return Mo[e]})}var Uo,Vo,zo,Ko,Jo,qo,Wo,Zo,Go\u003d/^@|^v-on:/,Xo\u003d/^v-|^@|^:|^#/,Yo\u003d/([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/,Qo\u003d/,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/,ea\u003d/^\\(|\\)$/g,ta\u003d/^\\[.*\\]$/,na\u003d/:(.*)$/,ra\u003d/^:|^\\.|^v-bind:/,ia\u003d/\\.[^.\\]]+(?\u003d[^\\]]*$)/g,oa\u003d/^v-slot(:|$)|^#/,aa\u003d/[\\r\\n]/,sa\u003d/[ \\f\\t\\r\\n]+/g,ca\u003dg(bo),ua\u003d\"_empty_\";function la(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:ya(t),rawAttrsMap:{},parent:n,children:[]}}function fa(e,t){Uo\u003dt.warn||Tr,qo\u003dt.isPreTag||T,Wo\u003dt.mustUseProp||T,Zo\u003dt.getTagNamespace||T;t.isReservedTag;zo\u003dNr(t.modules,\"transformNode\"),Ko\u003dNr(t.modules,\"preTransformNode\"),Jo\u003dNr(t.modules,\"postTransformNode\"),Vo\u003dt.delimiters;var n,r,i\u003d[],o\u003d!1!\u003d\u003dt.preserveWhitespace,a\u003dt.whitespace,s\u003d!1,c\u003d!1;function u(e){if(l(e),s||e.processed||(e\u003dpa(e,t)),i.length||e\u003d\u003d\u003dn||n.if\u0026\u0026(e.elseif||e.else)\u0026\u0026va(n,{exp:e.elseif,block:e}),r\u0026\u0026!e.forbidden)if(e.elseif||e.else)a\u003de,(u\u003dfunction(e){var t\u003de.length;for(;t--;){if(1\u003d\u003d\u003de[t].type)return e[t];e.pop()}}(r.children))\u0026\u0026u.if\u0026\u0026va(u,{exp:a.elseif,block:a});else{if(e.slotScope){var o\u003de.slotTarget||\u0027\"default\"\u0027;(r.scopedSlots||(r.scopedSlots\u003d{}))[o]\u003de}r.children.push(e),e.parent\u003dr}var a,u;e.children\u003de.children.filter(function(e){return!e.slotScope}),l(e),e.pre\u0026\u0026(s\u003d!1),qo(e.tag)\u0026\u0026(c\u003d!1);for(var f\u003d0;f\u003cJo.length;f++)Jo[f](e,t)}function l(e){if(!c)for(var t;(t\u003de.children[e.children.length-1])\u0026\u00263\u003d\u003d\u003dt.type\u0026\u0026\" \"\u003d\u003d\u003dt.text;)e.children.pop()}return function(e,t){for(var n,r,i\u003d[],o\u003dt.expectHTML,a\u003dt.isUnaryTag||T,s\u003dt.canBeLeftOpenTag||T,c\u003d0;e;){if(n\u003de,r\u0026\u0026Lo(r)){var u\u003d0,l\u003dr.toLowerCase(),f\u003dIo[l]||(Io[l]\u003dnew RegExp(\"([\\\\s\\\\S]*?)(\u003c/\"+l+\"[^\u003e]*\u003e)\",\"i\")),p\u003de.replace(f,function(e,n,r){return u\u003dr.length,Lo(l)||\"noscript\"\u003d\u003d\u003dl||(n\u003dn.replace(/\u003c!\\--([\\s\\S]*?)--\u003e/g,\"$1\").replace(/\u003c!\\[CDATA\\[([\\s\\S]*?)]]\u003e/g,\"$1\")),Ho(l,n)\u0026\u0026(n\u003dn.slice(1)),t.chars\u0026\u0026t.chars(n),\"\"});c+\u003de.length-p.length,e\u003dp,A(l,c-u,c)}else{var d\u003de.indexOf(\"\u003c\");if(0\u003d\u003d\u003dd){if(jo.test(e)){var v\u003de.indexOf(\"--\\x3e\");if(v\u003e\u003d0){t.shouldKeepComment\u0026\u0026t.comment(e.substring(4,v),c,c+v+3),C(v+3);continue}}if(Do.test(e)){var h\u003de.indexOf(\"]\u003e\");if(h\u003e\u003d0){C(h+2);continue}}var m\u003de.match(Eo);if(m){C(m[0].length);continue}var y\u003de.match(No);if(y){var g\u003dc;C(y[0].length),A(y[1],g,c);continue}var _\u003dx();if(_){k(_),Ho(_.tagName,e)\u0026\u0026C(1);continue}}var b\u003dvoid 0,$\u003dvoid 0,w\u003dvoid 0;if(d\u003e\u003d0){for($\u003de.slice(d);!(No.test($)||So.test($)||jo.test($)||Do.test($)||(w\u003d$.indexOf(\"\u003c\",1))\u003c0);)d+\u003dw,$\u003de.slice(d);b\u003de.substring(0,d)}d\u003c0\u0026\u0026(b\u003de),b\u0026\u0026C(b.length),t.chars\u0026\u0026b\u0026\u0026t.chars(b,c-b.length,c)}if(e\u003d\u003d\u003dn){t.chars\u0026\u0026t.chars(e);break}}function C(t){c+\u003dt,e\u003de.substring(t)}function x(){var t\u003de.match(So);if(t){var n,r,i\u003d{tagName:t[1],attrs:[],start:c};for(C(t[0].length);!(n\u003de.match(To))\u0026\u0026(r\u003de.match(ko)||e.match(xo));)r.start\u003dc,C(r[0].length),r.end\u003dc,i.attrs.push(r);if(n)return i.unarySlash\u003dn[1],C(n[0].length),i.end\u003dc,i}}function k(e){var n\u003de.tagName,c\u003de.unarySlash;o\u0026\u0026(\"p\"\u003d\u003d\u003dr\u0026\u0026Co(n)\u0026\u0026A(r),s(n)\u0026\u0026r\u003d\u003d\u003dn\u0026\u0026A(n));for(var u\u003da(n)||!!c,l\u003de.attrs.length,f\u003dnew Array(l),p\u003d0;p\u003cl;p++){var d\u003de.attrs[p],v\u003dd[3]||d[4]||d[5]||\"\",h\u003d\"a\"\u003d\u003d\u003dn\u0026\u0026\"href\"\u003d\u003d\u003dd[1]?t.shouldDecodeNewlinesForHref:t.shouldDecodeNewlines;f[p]\u003d{name:d[1],value:Bo(v,h)}}u||(i.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:f,start:e.start,end:e.end}),r\u003dn),t.start\u0026\u0026t.start(n,f,u,e.start,e.end)}function A(e,n,o){var a,s;if(null\u003d\u003dn\u0026\u0026(n\u003dc),null\u003d\u003do\u0026\u0026(o\u003dc),e)for(s\u003de.toLowerCase(),a\u003di.length-1;a\u003e\u003d0\u0026\u0026i[a].lowerCasedTag!\u003d\u003ds;a--);else a\u003d0;if(a\u003e\u003d0){for(var u\u003di.length-1;u\u003e\u003da;u--)t.end\u0026\u0026t.end(i[u].tag,n,o);i.length\u003da,r\u003da\u0026\u0026i[a-1].tag}else\"br\"\u003d\u003d\u003ds?t.start\u0026\u0026t.start(e,[],!0,n,o):\"p\"\u003d\u003d\u003ds\u0026\u0026(t.start\u0026\u0026t.start(e,[],!1,n,o),t.end\u0026\u0026t.end(e,n,o))}A()}(e,{warn:Uo,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,outputSourceRange:t.outputSourceRange,start:function(e,o,a,l,f){var p\u003dr\u0026\u0026r.ns||Zo(e);q\u0026\u0026\"svg\"\u003d\u003d\u003dp\u0026\u0026(o\u003dfunction(e){for(var t\u003d[],n\u003d0;n\u003ce.length;n++){var r\u003de[n];ga.test(r.name)||(r.name\u003dr.name.replace(_a,\"\"),t.push(r))}return t}(o));var d,v\u003dla(e,o,r);p\u0026\u0026(v.ns\u003dp),\"style\"!\u003d\u003d(d\u003dv).tag\u0026\u0026(\"script\"!\u003d\u003dd.tag||d.attrsMap.type\u0026\u0026\"text/javascript\"!\u003d\u003dd.attrsMap.type)||te()||(v.forbidden\u003d!0);for(var h\u003d0;h\u003cKo.length;h++)v\u003dKo[h](v,t)||v;s||(!function(e){null!\u003dPr(e,\"v-pre\")\u0026\u0026(e.pre\u003d!0)}(v),v.pre\u0026\u0026(s\u003d!0)),qo(v.tag)\u0026\u0026(c\u003d!0),s?function(e){var t\u003de.attrsList,n\u003dt.length;if(n)for(var r\u003de.attrs\u003dnew Array(n),i\u003d0;i\u003cn;i++)r[i]\u003d{name:t[i].name,value:JSON.stringify(t[i].value)},null!\u003dt[i].start\u0026\u0026(r[i].start\u003dt[i].start,r[i].end\u003dt[i].end);else e.pre||(e.plain\u003d!0)}(v):v.processed||(da(v),function(e){var t\u003dPr(e,\"v-if\");if(t)e.if\u003dt,va(e,{exp:t,block:e});else{null!\u003dPr(e,\"v-else\")\u0026\u0026(e.else\u003d!0);var n\u003dPr(e,\"v-else-if\");n\u0026\u0026(e.elseif\u003dn)}}(v),function(e){null!\u003dPr(e,\"v-once\")\u0026\u0026(e.once\u003d!0)}(v)),n||(n\u003dv),a?u(v):(r\u003dv,i.push(v))},end:function(e,t,n){var o\u003di[i.length-1];i.length-\u003d1,r\u003di[i.length-1],u(o)},chars:function(e,t,n){if(r\u0026\u0026(!q||\"textarea\"!\u003d\u003dr.tag||r.attrsMap.placeholder!\u003d\u003de)){var i,u,l,f\u003dr.children;if(e\u003dc||e.trim()?\"script\"\u003d\u003d\u003d(i\u003dr).tag||\"style\"\u003d\u003d\u003di.tag?e:ca(e):f.length?a?\"condense\"\u003d\u003d\u003da\u0026\u0026aa.test(e)?\"\":\" \":o?\" \":\"\":\"\")c||\"condense\"!\u003d\u003da||(e\u003de.replace(sa,\" \")),!s\u0026\u0026\" \"!\u003d\u003de\u0026\u0026(u\u003dfunction(e,t){var n\u003dt?mo(t):vo;if(n.test(e)){for(var r,i,o,a\u003d[],s\u003d[],c\u003dn.lastIndex\u003d0;r\u003dn.exec(e);){(i\u003dr.index)\u003ec\u0026\u0026(s.push(o\u003de.slice(c,i)),a.push(JSON.stringify(o)));var u\u003dOr(r[1].trim());a.push(\"_s(\"+u+\")\"),s.push({\"@binding\":u}),c\u003di+r[0].length}return c\u003ce.length\u0026\u0026(s.push(o\u003de.slice(c)),a.push(JSON.stringify(o))),{expression:a.join(\"+\"),tokens:s}}}(e,Vo))?l\u003d{type:2,expression:u.expression,tokens:u.tokens,text:e}:\" \"\u003d\u003d\u003de\u0026\u0026f.length\u0026\u0026\" \"\u003d\u003d\u003df[f.length-1].text||(l\u003d{type:3,text:e}),l\u0026\u0026f.push(l)}},comment:function(e,t,n){if(r){var i\u003d{type:3,text:e,isComment:!0};r.children.push(i)}}}),n}function pa(e,t){var n,r;(r\u003dFr(n\u003de,\"key\"))\u0026\u0026(n.key\u003dr),e.plain\u003d!e.key\u0026\u0026!e.scopedSlots\u0026\u0026!e.attrsList.length,function(e){var t\u003dFr(e,\"ref\");t\u0026\u0026(e.ref\u003dt,e.refInFor\u003dfunction(e){var t\u003de;for(;t;){if(void 0!\u003d\u003dt.for)return!0;t\u003dt.parent}return!1}(e))}(e),function(e){var t;\"template\"\u003d\u003d\u003de.tag?(t\u003dPr(e,\"scope\"),e.slotScope\u003dt||Pr(e,\"slot-scope\")):(t\u003dPr(e,\"slot-scope\"))\u0026\u0026(e.slotScope\u003dt);var n\u003dFr(e,\"slot\");n\u0026\u0026(e.slotTarget\u003d\u0027\"\"\u0027\u003d\u003d\u003dn?\u0027\"default\"\u0027:n,e.slotTargetDynamic\u003d!(!e.attrsMap[\":slot\"]\u0026\u0026!e.attrsMap[\"v-bind:slot\"]),\"template\"\u003d\u003d\u003de.tag||e.slotScope||jr(e,\"slot\",n,function(e,t){return e.rawAttrsMap[\":\"+t]||e.rawAttrsMap[\"v-bind:\"+t]||e.rawAttrsMap[t]}(e,\"slot\")));if(\"template\"\u003d\u003d\u003de.tag){var r\u003dRr(e,oa);if(r){var i\u003dha(r),o\u003di.name,a\u003di.dynamic;e.slotTarget\u003do,e.slotTargetDynamic\u003da,e.slotScope\u003dr.value||ua}}else{var s\u003dRr(e,oa);if(s){var c\u003de.scopedSlots||(e.scopedSlots\u003d{}),u\u003dha(s),l\u003du.name,f\u003du.dynamic,p\u003dc[l]\u003dla(\"template\",[],e);p.slotTarget\u003dl,p.slotTargetDynamic\u003df,p.children\u003de.children.filter(function(e){if(!e.slotScope)return e.parent\u003dp,!0}),p.slotScope\u003ds.value||ua,e.children\u003d[],e.plain\u003d!1}}}(e),function(e){\"slot\"\u003d\u003d\u003de.tag\u0026\u0026(e.slotName\u003dFr(e,\"name\"))}(e),function(e){var t;(t\u003dFr(e,\"is\"))\u0026\u0026(e.component\u003dt);null!\u003dPr(e,\"inline-template\")\u0026\u0026(e.inlineTemplate\u003d!0)}(e);for(var i\u003d0;i\u003czo.length;i++)e\u003dzo[i](e,t)||e;return function(e){var t,n,r,i,o,a,s,c,u\u003de.attrsList;for(t\u003d0,n\u003du.length;t\u003cn;t++)if(r\u003di\u003du[t].name,o\u003du[t].value,Xo.test(r))if(e.hasBindings\u003d!0,(a\u003dma(r.replace(Xo,\"\")))\u0026\u0026(r\u003dr.replace(ia,\"\")),ra.test(r))r\u003dr.replace(ra,\"\"),o\u003dOr(o),(c\u003dta.test(r))\u0026\u0026(r\u003dr.slice(1,-1)),a\u0026\u0026(a.prop\u0026\u0026!c\u0026\u0026\"innerHtml\"\u003d\u003d\u003d(r\u003db(r))\u0026\u0026(r\u003d\"innerHTML\"),a.camel\u0026\u0026!c\u0026\u0026(r\u003db(r)),a.sync\u0026\u0026(s\u003dUr(o,\"$event\"),c?Mr(e,\u0027\"update:\"+(\u0027+r+\")\",s,null,!1,0,u[t],!0):(Mr(e,\"update:\"+b(r),s,null,!1,0,u[t]),C(r)!\u003d\u003db(r)\u0026\u0026Mr(e,\"update:\"+C(r),s,null,!1,0,u[t])))),a\u0026\u0026a.prop||!e.component\u0026\u0026Wo(e.tag,e.attrsMap.type,r)?Er(e,r,o,u[t],c):jr(e,r,o,u[t],c);else if(Go.test(r))r\u003dr.replace(Go,\"\"),(c\u003dta.test(r))\u0026\u0026(r\u003dr.slice(1,-1)),Mr(e,r,o,a,!1,0,u[t],c);else{var l\u003d(r\u003dr.replace(Xo,\"\")).match(na),f\u003dl\u0026\u0026l[1];c\u003d!1,f\u0026\u0026(r\u003dr.slice(0,-(f.length+1)),ta.test(f)\u0026\u0026(f\u003df.slice(1,-1),c\u003d!0)),Lr(e,r,i,o,f,c,a,u[t])}else jr(e,r,JSON.stringify(o),u[t]),!e.component\u0026\u0026\"muted\"\u003d\u003d\u003dr\u0026\u0026Wo(e.tag,e.attrsMap.type,r)\u0026\u0026Er(e,r,\"true\",u[t])}(e),e}function da(e){var t;if(t\u003dPr(e,\"v-for\")){var n\u003dfunction(e){var t\u003de.match(Yo);if(!t)return;var n\u003d{};n.for\u003dt[2].trim();var r\u003dt[1].trim().replace(ea,\"\"),i\u003dr.match(Qo);i?(n.alias\u003dr.replace(Qo,\"\").trim(),n.iterator1\u003di[1].trim(),i[2]\u0026\u0026(n.iterator2\u003di[2].trim())):n.alias\u003dr;return n}(t);n\u0026\u0026A(e,n)}}function va(e,t){e.ifConditions||(e.ifConditions\u003d[]),e.ifConditions.push(t)}function ha(e){var t\u003de.name.replace(oa,\"\");return t||\"#\"!\u003d\u003de.name[0]\u0026\u0026(t\u003d\"default\"),ta.test(t)?{name:t.slice(1,-1),dynamic:!0}:{name:\u0027\"\u0027+t+\u0027\"\u0027,dynamic:!1}}function ma(e){var t\u003de.match(ia);if(t){var n\u003d{};return t.forEach(function(e){n[e.slice(1)]\u003d!0}),n}}function ya(e){for(var t\u003d{},n\u003d0,r\u003de.length;n\u003cr;n++)t[e[n].name]\u003de[n].value;return t}var ga\u003d/^xmlns:NS\\d+/,_a\u003d/^NS\\d+:/;function ba(e){return la(e.tag,e.attrsList.slice(),e.parent)}var $a\u003d[yo,_o,{preTransformNode:function(e,t){if(\"input\"\u003d\u003d\u003de.tag){var n,r\u003de.attrsMap;if(!r[\"v-model\"])return;if((r[\":type\"]||r[\"v-bind:type\"])\u0026\u0026(n\u003dFr(e,\"type\")),r.type||n||!r[\"v-bind\"]||(n\u003d\"(\"+r[\"v-bind\"]+\").type\"),n){var i\u003dPr(e,\"v-if\",!0),o\u003di?\"\u0026\u0026(\"+i+\")\":\"\",a\u003dnull!\u003dPr(e,\"v-else\",!0),s\u003dPr(e,\"v-else-if\",!0),c\u003dba(e);da(c),Dr(c,\"type\",\"checkbox\"),pa(c,t),c.processed\u003d!0,c.if\u003d\"(\"+n+\")\u003d\u003d\u003d\u0027checkbox\u0027\"+o,va(c,{exp:c.if,block:c});var u\u003dba(e);Pr(u,\"v-for\",!0),Dr(u,\"type\",\"radio\"),pa(u,t),va(c,{exp:\"(\"+n+\")\u003d\u003d\u003d\u0027radio\u0027\"+o,block:u});var l\u003dba(e);return Pr(l,\"v-for\",!0),Dr(l,\":type\",n),pa(l,t),va(c,{exp:i,block:l}),a?c.else\u003d!0:s\u0026\u0026(c.elseif\u003ds),c}}}}];var wa,Ca,xa\u003d{expectHTML:!0,modules:$a,directives:{model:function(e,t,n){var r\u003dt.value,i\u003dt.modifiers,o\u003de.tag,a\u003de.attrsMap.type;if(e.component)return Br(e,r,i),!1;if(\"select\"\u003d\u003d\u003do)!function(e,t,n){var r\u003d\u0027var $$selectedVal \u003d Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val \u003d \"_value\" in o ? o._value : o.value;return \u0027+(n\u0026\u0026n.number?\"_n(val)\":\"val\")+\"});\";r\u003dr+\" \"+Ur(t,\"$event.target.multiple ? $$selectedVal : $$selectedVal[0]\"),Mr(e,\"change\",r,null,!0)}(e,r,i);else if(\"input\"\u003d\u003d\u003do\u0026\u0026\"checkbox\"\u003d\u003d\u003da)!function(e,t,n){var r\u003dn\u0026\u0026n.number,i\u003dFr(e,\"value\")||\"null\",o\u003dFr(e,\"true-value\")||\"true\",a\u003dFr(e,\"false-value\")||\"false\";Er(e,\"checked\",\"Array.isArray(\"+t+\")?_i(\"+t+\",\"+i+\")\u003e-1\"+(\"true\"\u003d\u003d\u003do?\":(\"+t+\")\":\":_q(\"+t+\",\"+o+\")\")),Mr(e,\"change\",\"var $$a\u003d\"+t+\",$$el\u003d$event.target,$$c\u003d$$el.checked?(\"+o+\"):(\"+a+\");if(Array.isArray($$a)){var $$v\u003d\"+(r?\"_n(\"+i+\")\":i)+\",$$i\u003d_i($$a,$$v);if($$el.checked){$$i\u003c0\u0026\u0026(\"+Ur(t,\"$$a.concat([$$v])\")+\")}else{$$i\u003e-1\u0026\u0026(\"+Ur(t,\"$$a.slice(0,$$i).concat($$a.slice($$i+1))\")+\")}}else{\"+Ur(t,\"$$c\")+\"}\",null,!0)}(e,r,i);else if(\"input\"\u003d\u003d\u003do\u0026\u0026\"radio\"\u003d\u003d\u003da)!function(e,t,n){var r\u003dn\u0026\u0026n.number,i\u003dFr(e,\"value\")||\"null\";Er(e,\"checked\",\"_q(\"+t+\",\"+(i\u003dr?\"_n(\"+i+\")\":i)+\")\"),Mr(e,\"change\",Ur(t,i),null,!0)}(e,r,i);else if(\"input\"\u003d\u003d\u003do||\"textarea\"\u003d\u003d\u003do)!function(e,t,n){var r\u003de.attrsMap.type,i\u003dn||{},o\u003di.lazy,a\u003di.number,s\u003di.trim,c\u003d!o\u0026\u0026\"range\"!\u003d\u003dr,u\u003do?\"change\":\"range\"\u003d\u003d\u003dr?Zr:\"input\",l\u003d\"$event.target.value\";s\u0026\u0026(l\u003d\"$event.target.value.trim()\"),a\u0026\u0026(l\u003d\"_n(\"+l+\")\");var f\u003dUr(t,l);c\u0026\u0026(f\u003d\"if($event.target.composing)return;\"+f),Er(e,\"value\",\"(\"+t+\")\"),Mr(e,u,f,null,!0),(s||a)\u0026\u0026Mr(e,\"blur\",\"$forceUpdate()\")}(e,r,i);else if(!F.isReservedTag(o))return Br(e,r,i),!1;return!0},text:function(e,t){t.value\u0026\u0026Er(e,\"textContent\",\"_s(\"+t.value+\")\",t)},html:function(e,t){t.value\u0026\u0026Er(e,\"innerHTML\",\"_s(\"+t.value+\")\",t)}},isPreTag:function(e){return\"pre\"\u003d\u003d\u003de},isUnaryTag:$o,mustUseProp:Dn,canBeLeftOpenTag:wo,isReservedTag:Zn,getTagNamespace:Gn,staticKeys:function(e){return e.reduce(function(e,t){return e.concat(t.staticKeys||[])},[]).join(\",\")}($a)},ka\u003dg(function(e){return p(\"type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap\"+(e?\",\"+e:\"\"))});function Aa(e,t){e\u0026\u0026(wa\u003dka(t.staticKeys||\"\"),Ca\u003dt.isReservedTag||T,function e(t){t.static\u003dfunction(e){if(2\u003d\u003d\u003de.type)return!1;if(3\u003d\u003d\u003de.type)return!0;return!(!e.pre\u0026\u0026(e.hasBindings||e.if||e.for||d(e.tag)||!Ca(e.tag)||function(e){for(;e.parent;){if(\"template\"!\u003d\u003d(e\u003de.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(wa)))}(t);if(1\u003d\u003d\u003dt.type){if(!Ca(t.tag)\u0026\u0026\"slot\"!\u003d\u003dt.tag\u0026\u0026null\u003d\u003dt.attrsMap[\"inline-template\"])return;for(var n\u003d0,r\u003dt.children.length;n\u003cr;n++){var i\u003dt.children[n];e(i),i.static||(t.static\u003d!1)}if(t.ifConditions)for(var o\u003d1,a\u003dt.ifConditions.length;o\u003ca;o++){var s\u003dt.ifConditions[o].block;e(s),s.static||(t.static\u003d!1)}}}(e),function e(t,n){if(1\u003d\u003d\u003dt.type){if((t.static||t.once)\u0026\u0026(t.staticInFor\u003dn),t.static\u0026\u0026t.children.length\u0026\u0026(1!\u003d\u003dt.children.length||3!\u003d\u003dt.children[0].type))return void(t.staticRoot\u003d!0);if(t.staticRoot\u003d!1,t.children)for(var r\u003d0,i\u003dt.children.length;r\u003ci;r++)e(t.children[r],n||!!t.for);if(t.ifConditions)for(var o\u003d1,a\u003dt.ifConditions.length;o\u003ca;o++)e(t.ifConditions[o].block,n)}}(e,!1))}var Oa\u003d/^([\\w$_]+|\\([^)]*?\\))\\s*\u003d\u003e|^function(?:\\s+[\\w$]+)?\\s*\\(/,Sa\u003d/\\([^)]*?\\);*$/,Ta\u003d/^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\[\u0027[^\u0027]*?\u0027]|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/,Na\u003d{esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ea\u003d{esc:[\"Esc\",\"Escape\"],tab:\"Tab\",enter:\"Enter\",space:[\" \",\"Spacebar\"],up:[\"Up\",\"ArrowUp\"],left:[\"Left\",\"ArrowLeft\"],right:[\"Right\",\"ArrowRight\"],down:[\"Down\",\"ArrowDown\"],delete:[\"Backspace\",\"Delete\",\"Del\"]},ja\u003dfunction(e){return\"if(\"+e+\")return null;\"},Da\u003d{stop:\"$event.stopPropagation();\",prevent:\"$event.preventDefault();\",self:ja(\"$event.target !\u003d\u003d $event.currentTarget\"),ctrl:ja(\"!$event.ctrlKey\"),shift:ja(\"!$event.shiftKey\"),alt:ja(\"!$event.altKey\"),meta:ja(\"!$event.metaKey\"),left:ja(\"\u0027button\u0027 in $event \u0026\u0026 $event.button !\u003d\u003d 0\"),middle:ja(\"\u0027button\u0027 in $event \u0026\u0026 $event.button !\u003d\u003d 1\"),right:ja(\"\u0027button\u0027 in $event \u0026\u0026 $event.button !\u003d\u003d 2\")};function La(e,t){var n\u003dt?\"nativeOn:\":\"on:\",r\u003d\"\",i\u003d\"\";for(var o in e){var a\u003dIa(e[o]);e[o]\u0026\u0026e[o].dynamic?i+\u003do+\",\"+a+\",\":r+\u003d\u0027\"\u0027+o+\u0027\":\u0027+a+\",\"}return r\u003d\"{\"+r.slice(0,-1)+\"}\",i?n+\"_d(\"+r+\",[\"+i.slice(0,-1)+\"])\":n+r}function Ia(e){if(!e)return\"function(){}\";if(Array.isArray(e))return\"[\"+e.map(function(e){return Ia(e)}).join(\",\")+\"]\";var t\u003dTa.test(e.value),n\u003dOa.test(e.value),r\u003dTa.test(e.value.replace(Sa,\"\"));if(e.modifiers){var i\u003d\"\",o\u003d\"\",a\u003d[];for(var s in e.modifiers)if(Da[s])o+\u003dDa[s],Na[s]\u0026\u0026a.push(s);else if(\"exact\"\u003d\u003d\u003ds){var c\u003de.modifiers;o+\u003dja([\"ctrl\",\"shift\",\"alt\",\"meta\"].filter(function(e){return!c[e]}).map(function(e){return\"$event.\"+e+\"Key\"}).join(\"||\"))}else a.push(s);return a.length\u0026\u0026(i+\u003dfunction(e){return\"if(!$event.type.indexOf(\u0027key\u0027)\u0026\u0026\"+e.map(Ma).join(\"\u0026\u0026\")+\")return null;\"}(a)),o\u0026\u0026(i+\u003do),\"function($event){\"+i+(t?\"return \"+e.value+\".apply(null, arguments)\":n?\"return (\"+e.value+\").apply(null, arguments)\":r?\"return \"+e.value:e.value)+\"}\"}return t||n?e.value:\"function($event){\"+(r?\"return \"+e.value:e.value)+\"}\"}function Ma(e){var t\u003dparseInt(e,10);if(t)return\"$event.keyCode!\u003d\u003d\"+t;var n\u003dNa[e],r\u003dEa[e];return\"_k($event.keyCode,\"+JSON.stringify(e)+\",\"+JSON.stringify(n)+\",$event.key,\"+JSON.stringify(r)+\")\"}var Fa\u003d{on:function(e,t){e.wrapListeners\u003dfunction(e){return\"_g(\"+e+\",\"+t.value+\")\"}},bind:function(e,t){e.wrapData\u003dfunction(n){return\"_b(\"+n+\",\u0027\"+e.tag+\"\u0027,\"+t.value+\",\"+(t.modifiers\u0026\u0026t.modifiers.prop?\"true\":\"false\")+(t.modifiers\u0026\u0026t.modifiers.sync?\",true\":\"\")+\")\"}},cloak:S},Pa\u003dfunction(e){this.options\u003de,this.warn\u003de.warn||Tr,this.transforms\u003dNr(e.modules,\"transformCode\"),this.dataGenFns\u003dNr(e.modules,\"genData\"),this.directives\u003dA(A({},Fa),e.directives);var t\u003de.isReservedTag||T;this.maybeComponent\u003dfunction(e){return!!e.component||!t(e.tag)},this.onceId\u003d0,this.staticRenderFns\u003d[],this.pre\u003d!1};function Ra(e,t){var n\u003dnew Pa(t);return{render:\"with(this){return \"+(e?\"script\"\u003d\u003d\u003de.tag?\"null\":Ha(e,n):\u0027_c(\"div\")\u0027)+\"}\",staticRenderFns:n.staticRenderFns}}function Ha(e,t){if(e.parent\u0026\u0026(e.pre\u003de.pre||e.parent.pre),e.staticRoot\u0026\u0026!e.staticProcessed)return Ba(e,t);if(e.once\u0026\u0026!e.onceProcessed)return Ua(e,t);if(e.for\u0026\u0026!e.forProcessed)return za(e,t);if(e.if\u0026\u0026!e.ifProcessed)return Va(e,t);if(\"template\"!\u003d\u003de.tag||e.slotTarget||t.pre){if(\"slot\"\u003d\u003d\u003de.tag)return function(e,t){var n\u003de.slotName||\u0027\"default\"\u0027,r\u003dWa(e,t),i\u003d\"_t(\"+n+(r?\",function(){return \"+r+\"}\":\"\"),o\u003de.attrs||e.dynamicAttrs?Xa((e.attrs||[]).concat(e.dynamicAttrs||[]).map(function(e){return{name:b(e.name),value:e.value,dynamic:e.dynamic}})):null,a\u003de.attrsMap[\"v-bind\"];!o\u0026\u0026!a||r||(i+\u003d\",null\");o\u0026\u0026(i+\u003d\",\"+o);a\u0026\u0026(i+\u003d(o?\"\":\",null\")+\",\"+a);return i+\")\"}(e,t);var n;if(e.component)n\u003dfunction(e,t,n){var r\u003dt.inlineTemplate?null:Wa(t,n,!0);return\"_c(\"+e+\",\"+Ka(t,n)+(r?\",\"+r:\"\")+\")\"}(e.component,e,t);else{var r;(!e.plain||e.pre\u0026\u0026t.maybeComponent(e))\u0026\u0026(r\u003dKa(e,t));var i\u003de.inlineTemplate?null:Wa(e,t,!0);n\u003d\"_c(\u0027\"+e.tag+\"\u0027\"+(r?\",\"+r:\"\")+(i?\",\"+i:\"\")+\")\"}for(var o\u003d0;o\u003ct.transforms.length;o++)n\u003dt.transforms[o](e,n);return n}return Wa(e,t)||\"void 0\"}function Ba(e,t){e.staticProcessed\u003d!0;var n\u003dt.pre;return e.pre\u0026\u0026(t.pre\u003de.pre),t.staticRenderFns.push(\"with(this){return \"+Ha(e,t)+\"}\"),t.pre\u003dn,\"_m(\"+(t.staticRenderFns.length-1)+(e.staticInFor?\",true\":\"\")+\")\"}function Ua(e,t){if(e.onceProcessed\u003d!0,e.if\u0026\u0026!e.ifProcessed)return Va(e,t);if(e.staticInFor){for(var n\u003d\"\",r\u003de.parent;r;){if(r.for){n\u003dr.key;break}r\u003dr.parent}return n?\"_o(\"+Ha(e,t)+\",\"+t.onceId+++\",\"+n+\")\":Ha(e,t)}return Ba(e,t)}function Va(e,t,n,r){return e.ifProcessed\u003d!0,function e(t,n,r,i){if(!t.length)return i||\"_e()\";var o\u003dt.shift();return o.exp?\"(\"+o.exp+\")?\"+a(o.block)+\":\"+e(t,n,r,i):\"\"+a(o.block);function a(e){return r?r(e,n):e.once?Ua(e,n):Ha(e,n)}}(e.ifConditions.slice(),t,n,r)}function za(e,t,n,r){var i\u003de.for,o\u003de.alias,a\u003de.iterator1?\",\"+e.iterator1:\"\",s\u003de.iterator2?\",\"+e.iterator2:\"\";return e.forProcessed\u003d!0,(r||\"_l\")+\"((\"+i+\"),function(\"+o+a+s+\"){return \"+(n||Ha)(e,t)+\"})\"}function Ka(e,t){var n\u003d\"{\",r\u003dfunction(e,t){var n\u003de.directives;if(!n)return;var r,i,o,a,s\u003d\"directives:[\",c\u003d!1;for(r\u003d0,i\u003dn.length;r\u003ci;r++){o\u003dn[r],a\u003d!0;var u\u003dt.directives[o.name];u\u0026\u0026(a\u003d!!u(e,o,t.warn)),a\u0026\u0026(c\u003d!0,s+\u003d\u0027{name:\"\u0027+o.name+\u0027\",rawName:\"\u0027+o.rawName+\u0027\"\u0027+(o.value?\",value:(\"+o.value+\"),expression:\"+JSON.stringify(o.value):\"\")+(o.arg?\",arg:\"+(o.isDynamicArg?o.arg:\u0027\"\u0027+o.arg+\u0027\"\u0027):\"\")+(o.modifiers?\",modifiers:\"+JSON.stringify(o.modifiers):\"\")+\"},\")}if(c)return s.slice(0,-1)+\"]\"}(e,t);r\u0026\u0026(n+\u003dr+\",\"),e.key\u0026\u0026(n+\u003d\"key:\"+e.key+\",\"),e.ref\u0026\u0026(n+\u003d\"ref:\"+e.ref+\",\"),e.refInFor\u0026\u0026(n+\u003d\"refInFor:true,\"),e.pre\u0026\u0026(n+\u003d\"pre:true,\"),e.component\u0026\u0026(n+\u003d\u0027tag:\"\u0027+e.tag+\u0027\",\u0027);for(var i\u003d0;i\u003ct.dataGenFns.length;i++)n+\u003dt.dataGenFns[i](e);if(e.attrs\u0026\u0026(n+\u003d\"attrs:\"+Xa(e.attrs)+\",\"),e.props\u0026\u0026(n+\u003d\"domProps:\"+Xa(e.props)+\",\"),e.events\u0026\u0026(n+\u003dLa(e.events,!1)+\",\"),e.nativeEvents\u0026\u0026(n+\u003dLa(e.nativeEvents,!0)+\",\"),e.slotTarget\u0026\u0026!e.slotScope\u0026\u0026(n+\u003d\"slot:\"+e.slotTarget+\",\"),e.scopedSlots\u0026\u0026(n+\u003dfunction(e,t,n){var r\u003de.for||Object.keys(t).some(function(e){var n\u003dt[e];return n.slotTargetDynamic||n.if||n.for||Ja(n)}),i\u003d!!e.if;if(!r)for(var o\u003de.parent;o;){if(o.slotScope\u0026\u0026o.slotScope!\u003d\u003dua||o.for){r\u003d!0;break}o.if\u0026\u0026(i\u003d!0),o\u003do.parent}var a\u003dObject.keys(t).map(function(e){return qa(t[e],n)}).join(\",\");return\"scopedSlots:_u([\"+a+\"]\"+(r?\",null,true\":\"\")+(!r\u0026\u0026i?\",null,false,\"+function(e){var t\u003d5381,n\u003de.length;for(;n;)t\u003d33*t^e.charCodeAt(--n);return t\u003e\u003e\u003e0}(a):\"\")+\")\"}(e,e.scopedSlots,t)+\",\"),e.model\u0026\u0026(n+\u003d\"model:{value:\"+e.model.value+\",callback:\"+e.model.callback+\",expression:\"+e.model.expression+\"},\"),e.inlineTemplate){var o\u003dfunction(e,t){var n\u003de.children[0];if(n\u0026\u00261\u003d\u003d\u003dn.type){var r\u003dRa(n,t.options);return\"inlineTemplate:{render:function(){\"+r.render+\"},staticRenderFns:[\"+r.staticRenderFns.map(function(e){return\"function(){\"+e+\"}\"}).join(\",\")+\"]}\"}}(e,t);o\u0026\u0026(n+\u003do+\",\")}return n\u003dn.replace(/,$/,\"\")+\"}\",e.dynamicAttrs\u0026\u0026(n\u003d\"_b(\"+n+\u0027,\"\u0027+e.tag+\u0027\",\u0027+Xa(e.dynamicAttrs)+\")\"),e.wrapData\u0026\u0026(n\u003de.wrapData(n)),e.wrapListeners\u0026\u0026(n\u003de.wrapListeners(n)),n}function Ja(e){return 1\u003d\u003d\u003de.type\u0026\u0026(\"slot\"\u003d\u003d\u003de.tag||e.children.some(Ja))}function qa(e,t){var n\u003de.attrsMap[\"slot-scope\"];if(e.if\u0026\u0026!e.ifProcessed\u0026\u0026!n)return Va(e,t,qa,\"null\");if(e.for\u0026\u0026!e.forProcessed)return za(e,t,qa);var r\u003de.slotScope\u003d\u003d\u003dua?\"\":String(e.slotScope),i\u003d\"function(\"+r+\"){return \"+(\"template\"\u003d\u003d\u003de.tag?e.if\u0026\u0026n?\"(\"+e.if+\")?\"+(Wa(e,t)||\"undefined\")+\":undefined\":Wa(e,t)||\"undefined\":Ha(e,t))+\"}\",o\u003dr?\"\":\",proxy:true\";return\"{key:\"+(e.slotTarget||\u0027\"default\"\u0027)+\",fn:\"+i+o+\"}\"}function Wa(e,t,n,r,i){var o\u003de.children;if(o.length){var a\u003do[0];if(1\u003d\u003d\u003do.length\u0026\u0026a.for\u0026\u0026\"template\"!\u003d\u003da.tag\u0026\u0026\"slot\"!\u003d\u003da.tag){var s\u003dn?t.maybeComponent(a)?\",1\":\",0\":\"\";return\"\"+(r||Ha)(a,t)+s}var c\u003dn?function(e,t){for(var n\u003d0,r\u003d0;r\u003ce.length;r++){var i\u003de[r];if(1\u003d\u003d\u003di.type){if(Za(i)||i.ifConditions\u0026\u0026i.ifConditions.some(function(e){return Za(e.block)})){n\u003d2;break}(t(i)||i.ifConditions\u0026\u0026i.ifConditions.some(function(e){return t(e.block)}))\u0026\u0026(n\u003d1)}}return n}(o,t.maybeComponent):0,u\u003di||Ga;return\"[\"+o.map(function(e){return u(e,t)}).join(\",\")+\"]\"+(c?\",\"+c:\"\")}}function Za(e){return void 0!\u003d\u003de.for||\"template\"\u003d\u003d\u003de.tag||\"slot\"\u003d\u003d\u003de.tag}function Ga(e,t){return 1\u003d\u003d\u003de.type?Ha(e,t):3\u003d\u003d\u003de.type\u0026\u0026e.isComment?(r\u003de,\"_e(\"+JSON.stringify(r.text)+\")\"):\"_v(\"+(2\u003d\u003d\u003d(n\u003de).type?n.expression:Ya(JSON.stringify(n.text)))+\")\";var n,r}function Xa(e){for(var t\u003d\"\",n\u003d\"\",r\u003d0;r\u003ce.length;r++){var i\u003de[r],o\u003dYa(i.value);i.dynamic?n+\u003di.name+\",\"+o+\",\":t+\u003d\u0027\"\u0027+i.name+\u0027\":\u0027+o+\",\"}return t\u003d\"{\"+t.slice(0,-1)+\"}\",n?\"_d(\"+t+\",[\"+n.slice(0,-1)+\"])\":t}function Ya(e){return e.replace(/\\u2028/g,\"\\\\u2028\").replace(/\\u2029/g,\"\\\\u2029\")}new RegExp(\"\\\\b\"+\"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments\".split(\",\").join(\"\\\\b|\\\\b\")+\"\\\\b\");function Qa(e,t){try{return new Function(e)}catch(n){return t.push({err:n,code:e}),S}}function es(e){var t\u003dObject.create(null);return function(n,r,i){(r\u003dA({},r)).warn;delete r.warn;var o\u003dr.delimiters?String(r.delimiters)+n:n;if(t[o])return t[o];var a\u003de(n,r),s\u003d{},c\u003d[];return s.render\u003dQa(a.render,c),s.staticRenderFns\u003da.staticRenderFns.map(function(e){return Qa(e,c)}),t[o]\u003ds}}var ts,ns,rs\u003d(ts\u003dfunction(e,t){var n\u003dfa(e.trim(),t);!1!\u003d\u003dt.optimize\u0026\u0026Aa(n,t);var r\u003dRa(n,t);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}},function(e){function t(t,n){var r\u003dObject.create(e),i\u003d[],o\u003d[];if(n)for(var a in n.modules\u0026\u0026(r.modules\u003d(e.modules||[]).concat(n.modules)),n.directives\u0026\u0026(r.directives\u003dA(Object.create(e.directives||null),n.directives)),n)\"modules\"!\u003d\u003da\u0026\u0026\"directives\"!\u003d\u003da\u0026\u0026(r[a]\u003dn[a]);r.warn\u003dfunction(e,t,n){(n?o:i).push(e)};var s\u003dts(t.trim(),r);return s.errors\u003di,s.tips\u003do,s}return{compile:t,compileToFunctions:es(t)}})(xa),is\u003d(rs.compile,rs.compileToFunctions);function os(e){return(ns\u003dns||document.createElement(\"div\")).innerHTML\u003de?\u0027\u003ca href\u003d\"\\n\"/\u003e\u0027:\u0027\u003cdiv a\u003d\"\\n\"/\u003e\u0027,ns.innerHTML.indexOf(\"\u0026#10;\")\u003e0}var as\u003d!!V\u0026\u0026os(!1),ss\u003d!!V\u0026\u0026os(!0),cs\u003dg(function(e){var t\u003dQn(e);return t\u0026\u0026t.innerHTML}),us\u003dCn.prototype.$mount;return Cn.prototype.$mount\u003dfunction(e,t){if((e\u003de\u0026\u0026Qn(e))\u003d\u003d\u003ddocument.body||e\u003d\u003d\u003ddocument.documentElement)return this;var n\u003dthis.$options;if(!n.render){var r\u003dn.template;if(r)if(\"string\"\u003d\u003dtypeof r)\"#\"\u003d\u003d\u003dr.charAt(0)\u0026\u0026(r\u003dcs(r));else{if(!r.nodeType)return this;r\u003dr.innerHTML}else e\u0026\u0026(r\u003dfunction(e){if(e.outerHTML)return e.outerHTML;var t\u003ddocument.createElement(\"div\");return t.appendChild(e.cloneNode(!0)),t.innerHTML}(e));if(r){var i\u003dis(r,{outputSourceRange:!1,shouldDecodeNewlines:as,shouldDecodeNewlinesForHref:ss,delimiters:n.delimiters,comments:n.comments},this),o\u003di.render,a\u003di.staticRenderFns;n.render\u003do,n.staticRenderFns\u003da}}return us.call(this,e,t)},Cn.compile\u003dis,Cn});"}],"authorContributionMap":{"jingting1412":6}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/_mixins.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"// @see https://github.com/twbs/bootstrap/blob/main/scss/_functions.scss"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"@function material-icons-str-replace($string, $search, $replace: \u0027\u0027) {"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" $index: str-index($string, $search);"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" @if $index {"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" @return str-slice($string, 1, $index - 1) + $replace +"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" material-icons-str-replace("},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" str-slice($string, $index + str-length($search)),"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" $search,"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" $replace"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" );"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" @return $string;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":"@mixin material-icons-font-class($font-family) {"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" font-family: $font-family;"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" font-size: $material-icons-font-size;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased; // Support for all WebKit browsers"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale; // Support for Firefox"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility; // Support for Safari and Chrome"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \u0027liga\u0027; // Support for IE"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":"@mixin material-icons-font($font-family) {"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" $class-name: to-lower-case($font-family);"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":" $class-name: material-icons-str-replace($class-name, \u0027 \u0027, \u0027-\u0027);"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":" $font-file: $material-icons-font-path + $class-name;"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" @font-face {"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":" font-family: $font-family;"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" font-display: $material-icons-font-display;"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" src: url(\u0027#{$font-file}.woff2\u0027) format(\u0027woff2\u0027),"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":" url(\u0027#{$font-file}.woff\u0027) format(\u0027woff\u0027);"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" .#{$class-name} {"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" @include material-icons-font-class($font-family);"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":"@mixin material-icons() {"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":" @warn \"material-icons() Sass mixin has been deprecated as of 1.0. Use \u0027@extend .material-icons;\u0027 instead of \u0027@include material-icons();\u0027.\";"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":" @include material-icons-font-class(\u0027Material Icons\u0027);"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":55}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/_variables.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"$material-icons-font-path: \u0027./\u0027 !default;"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"$material-icons-font-size: 24px !default;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"$material-icons-font-display: block !default;"}],"authorContributionMap":{"jingting1412":3}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/filled.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons\";"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons.woff2\") format(\"woff2\"), url(\"./material-icons.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".material-icons {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons\";"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":24}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/filled.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"@include material-icons-font(\u0027Material Icons\u0027);"}],"authorContributionMap":{"jingting1412":4}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/material-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons\";"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons.woff2\") format(\"woff2\"), url(\"./material-icons.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".material-icons {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons\";"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-outlined.woff2\") format(\"woff2\"), url(\"./material-icons-outlined.woff\") format(\"woff\");"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":".material-icons-outlined {"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-round.woff2\") format(\"woff2\"), url(\"./material-icons-round.woff\") format(\"woff\");"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":".material-icons-round {"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":71,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":72,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":73,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":74,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":75,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":76,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":77,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":78,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":79,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":80,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":81,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-sharp.woff2\") format(\"woff2\"), url(\"./material-icons-sharp.woff\") format(\"woff\");"},{"lineNumber":82,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":83,"author":{"gitId":"jingting1412"},"content":".material-icons-sharp {"},{"lineNumber":84,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":85,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":86,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":87,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":88,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":89,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":90,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":91,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":92,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":93,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":94,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":95,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":96,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":97,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":98,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":99,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":100,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":101,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":102,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":103,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":104,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":105,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":106,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-two-tone.woff2\") format(\"woff2\"), url(\"./material-icons-two-tone.woff\") format(\"woff\");"},{"lineNumber":107,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":108,"author":{"gitId":"jingting1412"},"content":".material-icons-two-tone {"},{"lineNumber":109,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":110,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":111,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":112,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":113,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":114,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":115,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":116,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":117,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":118,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":119,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":120,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":121,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":122,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":123,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":124,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":124}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/material-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@import \u0027filled\u0027;"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"@import \u0027outlined\u0027;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"@import \u0027round\u0027;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"@import \u0027sharp\u0027;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"@import \u0027two-tone\u0027;"}],"authorContributionMap":{"jingting1412":5}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/outlined.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-outlined.woff2\") format(\"woff2\"), url(\"./material-icons-outlined.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".material-icons-outlined {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":24}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/outlined.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"@include material-icons-font(\u0027Material Icons Outlined\u0027);"}],"authorContributionMap":{"jingting1412":4}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/round.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-round.woff2\") format(\"woff2\"), url(\"./material-icons-round.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".material-icons-round {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":24}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/round.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"@include material-icons-font(\u0027Material Icons Round\u0027);"}],"authorContributionMap":{"jingting1412":4}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/sharp.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-sharp.woff2\") format(\"woff2\"), url(\"./material-icons-sharp.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".material-icons-sharp {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":24}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/sharp.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"@include material-icons-font(\u0027Material Icons Sharp\u0027);"}],"authorContributionMap":{"jingting1412":4}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/two-tone.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" src: url(\"./material-icons-two-tone.woff2\") format(\"woff2\"), url(\"./material-icons-two-tone.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".material-icons-two-tone {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":24}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/markbind/material-icons/two-tone.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"@include material-icons-font(\u0027Material Icons Two Tone\u0027);"}],"authorContributionMap":{"jingting1412":4}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/plugins/markbind-plugin-anchors/markbind-plugin-anchors.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":".fa.fa-anchor {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" color: #ccc;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" display: inline;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-size: 14px;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" margin-left: 10px;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" padding: 3px;"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" text-decoration: none;"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" visibility: hidden;"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":".fa.fa-anchor:hover {"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" color: #555;"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":"h1:hover \u003e .fa.fa-anchor,"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":"h2:hover \u003e .fa.fa-anchor,"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":"h3:hover \u003e .fa.fa-anchor,"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":"h4:hover \u003e .fa.fa-anchor,"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":"h5:hover \u003e .fa.fa-anchor,"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":"h6:hover \u003e .fa.fa-anchor,"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":".header-wrapper:hover \u003e .fa.fa-anchor {"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" visibility: visible;"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":23}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/plugins/markbind-plugin-tree/markbind-plugin-tree.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":".tree {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" white-space: pre;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" font-family: \"Fira Code\", \"Fira Mono\", monospace;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" font-size: 0.9375rem;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" line-height: 1.5;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" overflow-x: auto;"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":7}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/site.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"{"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \"baseUrl\": \"\","},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" \"titlePrefix\": \"\","},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" \"titleSuffix\": \"\","},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \"ignore\": ["},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \"_markbind/layouts/*\","},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \"_markbind/logs/*\","},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \"_site/*\","},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \"site.json\","},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \"*.md\","},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \"*.njk\","},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \".git/*\","},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \".gitignore\","},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \"node_modules/*\""},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" ],"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \"pagesExclude\": [\"node_modules/*\"],"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \"pages\": ["},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" {"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \"src\": \"index.md\","},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \"title\": \"Portfolio\""},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" },"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" {"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \"glob\": [\"**/index.md\"]"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" ],"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \"deploy\": {"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \"message\": \"Site Update.\""},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" },"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" \"style\": {"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" \"bootstrapTheme\": \"bootswatch-flatly\""},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":32}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/siteData.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"{"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \"enableSearch\": true,"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" \"pages\": ["},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" {"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \"src\": \"index.md\","},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \"title\": \"Portfolio\","},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \"headings\": {"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \"about-me\": \"About me\","},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \"skills\": \"Skills\","},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \"experience\": \"Experience\","},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \"projects\": \"Projects\","},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \"example-project-ip-for-cs2103\": \"Example project: iP for CS2103\","},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \"project-2\": \"Project 2\","},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \"other-projects\": \"Other projects\""},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" },"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \"headingKeywords\": {}"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" ]"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":19}},{"path":"packages/cli/test/functional/test_site_templates/test_portfolio/expected/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"jingting1412"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"jingting1412"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"jingting1412"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":75,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":76,"author":{"gitId":"jingting1412"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"jingting1412"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"jingting1412"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"jingting1412"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":81,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":82,"author":{"gitId":"jingting1412"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"jingting1412"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"jingting1412"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":86,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":87,"author":{"gitId":"jingting1412"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"jingting1412"},"content":" overflow-y: auto;"},{"lineNumber":89,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":90,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":91,"author":{"gitId":"jingting1412"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"jingting1412"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":94,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":95,"author":{"gitId":"jingting1412"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"jingting1412"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":99,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":100,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":101,"author":{"gitId":"jingting1412"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"jingting1412"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"jingting1412"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":106,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":107,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":108,"author":{"gitId":"jingting1412"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":109,"author":{"gitId":"jingting1412"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":110,"author":{"gitId":"jingting1412"},"content":" .indented {"},{"lineNumber":111,"author":{"gitId":"jingting1412"},"content":" padding-left: 10px;"},{"lineNumber":112,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":113,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":114,"author":{"gitId":"jingting1412"},"content":" #content-wrapper {"},{"lineNumber":115,"author":{"gitId":"jingting1412"},"content":" padding: 0 10px;"},{"lineNumber":116,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":117,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":118,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":119,"author":{"gitId":"jingting1412"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":120,"author":{"gitId":"jingting1412"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":121,"author":{"gitId":"jingting1412"},"content":" #site-nav {"},{"lineNumber":122,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":123,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":124,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":125,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":126,"author":{"gitId":"jingting1412"},"content":"/* Hide site navigation when printing */"},{"lineNumber":127,"author":{"gitId":"jingting1412"},"content":"@media print {"},{"lineNumber":128,"author":{"gitId":"jingting1412"},"content":" #site-nav {"},{"lineNumber":129,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":130,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":131,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":132,"author":{"gitId":"jingting1412"},"content":" #page-nav {"},{"lineNumber":133,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":134,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":135,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":135}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Configuration.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis page can be used to understand how to configure the application such as descriptions of the config file and how to change the configuration.\\n\")]),_v(\" \"),_m(1)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(2)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"configuration-guide\"}},[_v(\"Configuration guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#configuration-guide\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Certain properties of the application can be controlled (e.g user preferences file location, logging level) through the configuration file (default: \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"config.json\")]),_v(\").\")])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":16}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Design.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis section describes the architecture of your app, explaining how the main components work and interact with each other. Using architecture diagrams is recommended.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_m(2),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/diagrams/example.png\",\"width\":\"300\"}}),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\"}},[_c(\u0027p\u0027,[_v(\"Replace the above example diagram with an Architecture Diagram of your project created using \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/components/imagesAndDiagrams.html#diagrams\"}},[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"puml\")]),_v(\" feature\")]),_v(\".\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Given below is a quick overview of main components and how they interact with each other.\")]),_v(\" \"),_m(3),_v(\" \"),_c(\u0027p\u0027,[_v(\"The bulk of the app\u0027s work is done by the following components:\")]),_v(\" \"),_m(4),_v(\" \"),_m(5),_v(\" \"),_m(6),_v(\" \"),_c(\u0027annotate\u0027,{attrs:{\"src\":\"../images/johndoe.png\",\"width\":\"300\",\"alt\":\"Sample Image\"}},[_c(\u0027a-point\u0027,{attrs:{\"x\":\"25%\",\"y\":\"25%\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 25% from the left and 25% from the top\")])]},proxy:true}])}),_v(\" \"),_c(\u0027a-point\u0027,{attrs:{\"x\":\"50%\",\"y\":\"25%\",\"size\":\"60\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 50% from the left and 25% from the top\")])]},proxy:true}])}),_v(\" \"),_c(\u0027a-point\u0027,{attrs:{\"x\":\"75%\",\"y\":\"25%\"},scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This has a header\")])]},proxy:true},{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 75% from the left and 25% from the top\")])]},proxy:true}])}),_v(\" \"),_c(\u0027a-point\u0027,{attrs:{\"x\":\"33%\",\"y\":\"50%\",\"color\":\"red\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 33% from the left and 50% from the top\")])]},proxy:true}])}),_v(\" \"),_c(\u0027a-point\u0027,{attrs:{\"x\":\"66%\",\"y\":\"50%\",\"opacity\":\"0.7\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 66% from the left and 50% from the top\")])]},proxy:true}])}),_v(\" \"),_c(\u0027a-point\u0027,{attrs:{\"x\":\"25%\",\"y\":\"75%\"},scopedSlots:_u([{key:\"label\",fn:function(){return [_c(\u0027p\u0027,[_v(\"1\")])]},proxy:true},{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 25% from the left and 75% from the top\")])]},proxy:true}])}),_v(\" \"),_c(\u0027a-point\u0027,{attrs:{\"x\":\"50%\",\"y\":\"75%\",\"textColor\":\"white\",\"color\":\"black\",\"opacity\":\"1\"},scopedSlots:_u([{key:\"label\",fn:function(){return [_c(\u0027p\u0027,[_v(\"2\")])]},proxy:true},{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 50% from the left and 75% from the top\")])]},proxy:true}])}),_v(\" \"),_c(\u0027a-point\u0027,{attrs:{\"x\":\"75%\",\"y\":\"75%\",\"fontSize\":\"30\"},scopedSlots:_u([{key:\"label\",fn:function(){return [_c(\u0027p\u0027,[_v(\"3\")])]},proxy:true},{key:\"content\",fn:function(){return [_c(\u0027p\u0027,[_v(\"This point is 75% from the left and 75% from the top\")])]},proxy:true}])})],1),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\"}},[_c(\u0027p\u0027,[_v(\"For diagrams like your Sequence Diagram, it can also be created using \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/components/imagesAndDiagrams.html#annotations\"}},[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"annotate\")]),_v(\" feature\")]),_v(\", that will allow you to annotate specific parts of your diagram.\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The sections below give more details of each component.\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Tip:\")]),_v(\" Describe in each section how each component works in detail, including its classes, methods, and how it interacts with other components.\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"You can use a combination of Markbind\u0027s \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/components/imagesAndDiagrams.html#diagrams\"}},[_c(\u0027strong\u0027,[_v(\"Diagrams\")]),_v(\" feature\")]),_v(\" to provide a visual representation of each component, such as architecture and sequence diagrams.\")])]),_v(\" \"),_m(7),_v(\" \"),_m(8),_v(\" \"),_c(\u0027pic\u0027,{staticStyle:{\"margin-bottom\":\"20px\"},attrs:{\"src\":\"/images/johndoe.png\",\"width\":\"200px\"}},[_v(\"\\nDiagram: Component 1\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Component 1,\")]),_v(\" \"),_m(9),_v(\" \"),_m(10),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\",\"seamless\":\"\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Note:\")]),_v(\" You can use boxes to include details that you want to draw the reader\u0027s attention to. See \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/components/presentation.html#boxes\"}},[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"Boxes\")]),_v(\" feature\")]),_v(\".\")])]),_v(\" \"),_c(\u0027pic\u0027,{staticStyle:{\"margin-bottom\":\"20px\"},attrs:{\"src\":\"/images/johndoe.png\",\"width\":\"200px\"}},[_v(\"\\nDiagram: Component 2\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Component 2,\")]),_v(\" \"),_m(11)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#design\"}},[_v(\"Design‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#architecture\"}},[_v(\"Architecture‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#component-1\"}},[_v(\"Component 1‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#component-2\"}},[_v(\"Component 2‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(12)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"design\"}},[_v(\"Design\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#design\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"architecture\"}},[_v(\"Architecture\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#architecture\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"The \"),_c(\u0027em\u0027,[_c(\u0027strong\u0027,[_v(\"Architecture Diagram\")])]),_v(\" given below explains the high-level design of the ProjectEx App.\")])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Main components of the architecture\")])])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027a\u0027,{attrs:{\"href\":\"#component-1\"}},[_c(\u0027strong\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"Component 1\")])])]),_v(\": Does something.\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{attrs:{\"href\":\"#component-2\"}},[_c(\u0027strong\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"Component 2\")])])]),_v(\": Does something.\")])])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Interactions between architecture components\")])])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"The \"),_c(\u0027em\u0027,[_v(\"Sequence Diagram\")]),_v(\" below shows how the components interact with each other for a certain scenario.\")])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"component-1\"}},[_v(\"Component 1\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#component-1\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Component 1 is made up of parts e.g.\"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"A\")]),_v(\", \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"B\")]),_v(\", \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"C\")]),_v(\" etc.\")])}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"works with Component 2 in this way.\")])])}"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"component-2\"}},[_v(\"Component 2\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#component-2\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"works with Component 1 in this way.\")])])}"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":46}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/DevOps.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis page can be used to understand the DevOps practices adopted by the project.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_m(2),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Example Commands for Typical Projects\")])])]},proxy:true}])},[_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\"}},[_v(\"\\nThe following commands are examples. You can customize them according to your project\u0027s needs.\\n\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"clean\")])]),_v(\": Deletes the files created during the previous build tasks.\"),_c(\u0027br\u0027),_v(\"\\ne.g. \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"npm run clean\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"run\")])]),_v(\": Builds and runs the application.\"),_c(\u0027br\u0027)])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"test\")])]),_v(\": Runs all tests.\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"npm run test\")]),_v(\" — Runs all tests\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"npm run cleantest\")]),_v(\" — Cleans the project and runs tests\")])])])])],1),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_m(5),_v(\" \"),_c(\u0027p\u0027,[_v(\"As part of CI, this project tracks code coverage as well.\")]),_v(\" \"),_m(6),_v(\" \"),_c(\u0027p\u0027,[_v(\"Your CI can include some repository-wide checks. These repository-wide checks cover all files in the repository. They check for repository rules which are hard to enforce on development machines such as line ending requirements.\")]),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_m(7),_v(\" \"),_c(\u0027p\u0027,[_v(\"Here are the steps to create a new release.\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"warning\"}},[_v(\"\\nMake sure you have the necessary permissions to create a release.\\n\")]),_v(\" \"),_c(\u0027popover\u0027,{attrs:{\"id\":\"pop:trigger_id\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_v(\"e.g. \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"v0.1\")])]},proxy:true}])}),_v(\" \"),_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Update the version number.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Tag the repo with the \"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:trigger_id\"}},[_v(\"version number\")]),_v(\".\")],1),_v(\" \"),_m(8)])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#devops-guide\"}},[_v(\"DevOps guide‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#build-automation\"}},[_v(\"Build automation‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#continuous-integration-ci\"}},[_v(\"Continuous integration (CI)‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#code-coverage\"}},[_v(\"Code coverage‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#repository-wide-checks\"}},[_v(\"Repository-wide checks‎\")])]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#making-a-release\"}},[_v(\"Making a release‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(9)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"devops-guide\"}},[_v(\"DevOps guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#devops-guide\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"build-automation\"}},[_v(\"Build automation\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#build-automation\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"This example project includes features for \"),_c(\u0027strong\u0027,[_v(\"build automation and dependency management\")]),_v(\". You can walkthrough command scripts you have in your project, such as how to clean, test, and run the project.\")])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"continuous-integration-ci\"}},[_v(\"Continuous integration (CI)\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#continuous-integration-ci\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"This project uses \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://github.com/features/actions\"}},[_v(\"GitHub Actions\")]),_v(\" for CI. The project comes with the necessary GitHub Actions configurations files (in the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\".github/workflows\")]),_v(\" folder). No further setting up required.\")])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"code-coverage\"}},[_v(\"Code coverage\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#code-coverage\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"repository-wide-checks\"}},[_v(\"Repository-wide checks\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#repository-wide-checks\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"making-a-release\"}},[_v(\"Making a release\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#making-a-release\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027li\u0027,[_c(\u0027a\u0027,{attrs:{\"href\":\"https://help.github.com/articles/creating-releases/\"}},[_v(\"Create a new release using GitHub\")]),_v(\".\")])}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":37}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/DeveloperGuide.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_m(0),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#projectex-developer-guide\"}},[_v(\"ProjectEx Developer Guide‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#introduction\"}},[_v(\"Introduction‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#purpose-of-this-guide\"}},[_v(\"Purpose of this Guide‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#acknowledgements\"}},[_v(\"Acknowledgements‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027h1\u0027,{attrs:{\"id\":\"projectex-developer-guide\"}},[_v(\"ProjectEx Developer Guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#projectex-developer-guide\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_c(\u0027h2\u0027,{attrs:{\"id\":\"introduction\"}},[_v(\"Introduction\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#introduction\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Welcome to the Developer Guide. This guide helps developers understand the architecture, setup, and development workflows of our software, serving as your starting point and companion.\")]),_v(\" \"),_c(\u0027h2\u0027,{attrs:{\"id\":\"purpose-of-this-guide\"}},[_v(\"Purpose of this Guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#purpose-of-this-guide\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The main objectives of this guide are to:\")]),_v(\" \"),_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Orient new developers to the software\u0027s architecture and codebase structure.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Provide a comprehensive reference for the development practices, coding standards, and tools used.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Detail the setup process for a development environment.\")])]),_v(\" \"),_c(\u0027h2\u0027,{attrs:{\"id\":\"acknowledgements\"}},[_c(\u0027strong\u0027,[_v(\"Acknowledgements\")]),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#acknowledgements\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"{ List and link sources of all reused/adapted ideas, code, documentation, and third-party libraries }\")])])])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":13}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Documentation.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis page can be used to understand the documentation practices and link to relevant sources to help developers contribute to documentation.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"success\",\"seamless\":\"\"}},[_v(\"\\nUpdating documentation as changes are made to the project is ideal for any project.\\n\")]),_v(\" \"),_m(2),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_m(5)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#documentation-guide\"}},[_v(\"Documentation Guide‎\")])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(6)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"documentation-guide\"}},[_v(\"Documentation Guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#documentation-guide\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"We use \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_c(\u0027strong\u0027,[_v(\"MarkBind\")])]),_v(\" to manage documentation.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"The \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"docs/\")]),_v(\" folder contains the source files for the documentation website.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"To learn how set it up and maintain the project website, follow the guide \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://se-education.org/guides/tutorials/markbind-forked-sites.html\"}},[_v(\"[se-edu/guides] Working with Forked MarkBind sites\")]),_v(\" for project documentation.\")])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Style guidance:\")])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Follow the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://developers.google.com/style\"}},[_c(\u0027strong\u0027,[_c(\u0027em\u0027,[_v(\"Google developer documentation style guide\")])])]),_v(\".\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Also relevant is the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://se-education.org/guides/conventions/markdown.html\"}},[_c(\u0027em\u0027,[_v(\"se-edu/guides \"),_c(\u0027strong\u0027,[_v(\"Markdown coding standard\")])])]),_v(\".\")])])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Converting to PDF\")])])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"See the guide \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://se-education.org/guides/tutorials/savingPdf.html\"}},[_c(\u0027em\u0027,[_v(\"se-edu/guides \"),_c(\u0027strong\u0027,[_v(\"Saving web documents as PDF files\")])])]),_v(\".\")])])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":28}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Implementation.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis section can be used to describe some noteworthy details on how certain features are implemented.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_c(\u0027p\u0027,[_v(\"Given below is an example usage scenario and how FeatureX behaves at each step.\")]),_v(\" \"),_m(2),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Alternative 1 (current choice):\")]),_v(\" Implementation 1\")])]},proxy:true}])},[_v(\"\\nPros: Easy to implement.\"),_c(\u0027br\u0027),_v(\"\\nCons: May have performance issues in terms of memory usage.\\n\")]),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Alternative 2:\")]),_v(\" Implementation 2\")])]},proxy:true}])},[_v(\"\\nPros: Will use less memory.\"),_c(\u0027br\u0027),_v(\"\\nCons: We must add addtional test cases.\\n\")]),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_m(5),_v(\" \"),_m(6),_v(\" \"),_m(7)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#implementation\"}},[_v(\"Implementation‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#proposed-featurex-implementation\"}},[_v(\"[Proposed] FeatureX Implementation‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#proposed-data-archiving\"}},[_v(\"[Proposed] Data archiving‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(8)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"implementation\"}},[_v(\"Implementation\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#implementation\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"proposed-featurex-implementation\"}},[_v(\"[Proposed] FeatureX Implementation\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#proposed-featurex-implementation\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Step 1\")]),_v(\": User does something\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Expected\")]),_v(\": FeatureX does something in response\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Step 2\")]),_v(\": User does something else\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Expected\")]),_v(\": FeatureX does something else in response\")])])])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h4\u0027,{attrs:{\"id\":\"design-considerations\"}},[_v(\"Design considerations:\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#design-considerations\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Aspect: How FeatureX executes:\")])])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"{ More aspects and alternatives to be added }\")])])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"proposed-data-archiving\"}},[_v(\"[Proposed] Data archiving\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#proposed-data-archiving\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"{ Explain here how the data archiving feature will be implemented }\")])])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":34}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Requirements.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis section can be used to describe the requirements of the app, through the use of user stories, use cases.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_m(2),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_m(5),_v(\" \"),_m(6),_v(\" \"),_m(7),_v(\" \"),_m(8),_v(\" \"),_m(9),_m(10),_v(\" \"),_m(11),_v(\" \"),_m(12),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Use case 1: Do something\")])])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"MSS\")])]),_v(\" \"),_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"User requests ProjectEx\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"ProjectEx provides response\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Use case ends.\")])])]),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Extensions\")])]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"2a. Requests fails.\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Use case ends.\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"2b. User request is invalid.\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"2b1. ProjectEx shows an error message.\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Use case resumes at step 2.\")])])])])])]),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_m(13),_v(\" \"),_m(14),_v(\" \"),_m(15),_v(\" \"),_m(16)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#requirements\"}},[_v(\"Requirements‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#product-scope\"}},[_v(\"Product scope‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#user-stories\"}},[_v(\"User stories‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#use-cases\"}},[_v(\"Use cases‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#non-functional-requirements\"}},[_v(\"Non-Functional Requirements‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(17)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"requirements\"}},[_v(\"Requirements\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#requirements\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"product-scope\"}},[_v(\"Product scope\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#product-scope\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Target user profile\")]),_v(\":\")])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"user needs\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"user preferences\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"user information\")])])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Value proposition\")]),_v(\": Benefit compared to other similar products\")])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Non-Functional Requirements\")]),_v(\":\")])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"OS requirements\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Peformance\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Security\")])])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"user-stories\"}},[_v(\"User stories\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#user-stories\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"Priorities: High (must have) - \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"* * *\")]),_v(\", Medium (nice to have) - \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"* *\")]),_v(\", Low (unlikely to have) - \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"*\")])])}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{staticClass:\"table-responsive\"},[_c(\u0027table\u0027,{staticClass:\"markbind-table table table-bordered table-striped\"},[_c(\u0027thead\u0027,[_c(\u0027tr\u0027,[_c(\u0027th\u0027,[_v(\"Priority\")]),_v(\" \"),_c(\u0027th\u0027,[_v(\"As a …​\")]),_v(\" \"),_c(\u0027th\u0027,[_v(\"I want to …​\")]),_v(\" \"),_c(\u0027th\u0027,[_v(\"So that I can…​\")])])]),_v(\" \"),_c(\u0027tbody\u0027,[_c(\u0027tr\u0027,[_c(\u0027td\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"* * *\")])]),_v(\" \"),_c(\u0027td\u0027,[_v(\"new user\")]),_v(\" \"),_c(\u0027td\u0027,[_v(\"see something\")]),_v(\" \"),_c(\u0027td\u0027,[_v(\"visualise something\")])]),_v(\" \"),_c(\u0027tr\u0027,[_c(\u0027td\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"* *\")])]),_v(\" \"),_c(\u0027td\u0027,[_v(\"user\")]),_v(\" \"),_c(\u0027td\u0027,[_v(\"do something\")]),_v(\" \"),_c(\u0027td\u0027,[_v(\"complete something\")])]),_v(\" \"),_c(\u0027tr\u0027,[_c(\u0027td\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"*\")])]),_v(\" \"),_c(\u0027td\u0027,[_v(\"user with specific information\")]),_v(\" \"),_c(\u0027td\u0027,[_v(\"sort something\")]),_v(\" \"),_c(\u0027td\u0027,[_v(\"find something\")])])])])])}"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"{More to be added}\")])])}"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"use-cases\"}},[_v(\"Use cases\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#use-cases\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"(For all use cases below, the \"),_c(\u0027strong\u0027,[_v(\"System\")]),_v(\" is the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"ProjectEx\")]),_v(\" and the \"),_c(\u0027strong\u0027,[_v(\"Actor\")]),_v(\" is the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"User\")]),_v(\", unless specified otherwise)\")])}"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"{More to be added}\")])])}"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"non-functional-requirements\"}},[_v(\"Non-Functional Requirements\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#non-functional-requirements\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Should work on any \"),_c(\u0027em\u0027,[_v(\"mainstream OS\")]),_v(\" as long as it has Java \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"11\")]),_v(\" or above installed.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage.\")])])}"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"{More to be added}\")])])}"},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":61}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/SettingUp.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis page can be used to help developers with setting up the project in their local environment.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"warning\",\"seamless\":\"\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Caution:\")]),_v(\"\\nFollow the steps in the following guide precisely. Things will not work out if you deviate in some steps.\")])]),_v(\" \"),_m(2),_v(\" \"),_c(\u0027p\u0027,[_c(\u0027popover\u0027,{attrs:{\"id\":\"pop:trigger_id\"},scopedSlots:_u([{key:\"content\",fn:function(){return [_v(\"eg. \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"init\")]),_v(\" or \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"build\")]),_v(\" commands\")]},proxy:true}])}),_v(\"\\n(Example) Steps to setup the project environment:\")],1),_v(\" \"),_c(\u0027ol\u0027,[_m(3),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Run setup commands\")]),_v(\": Run \"),_c(\u0027trigger\u0027,{attrs:{\"for\":\"pop:trigger_id\"}},[_v(\"commands\")]),_v(\" needed to setup the project.\"),_c(\u0027box\u0027,{attrs:{\"type\":\"warning\",\"seamless\":\"\"}},[_v(\"\\nNote: Remember to run commands from the appropriate directory.\\n\")])],1),_v(\" \"),_m(4),_v(\" \"),_m(5)]),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_m(6),_v(\" \"),_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_m(7),_v(\" \"),_c(\u0027p\u0027,[_v(\"Configure your VSCode or IDEA checkstyle to allign with the project\u0027s coding style.\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\",\"seamless\":\"\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Tip:\")]),_v(\"\\nYou can easily customize your IDE\u0027s coding style through settings.\")])])],1),_v(\" \"),_m(8),_v(\" \"),_m(9),_v(\" \"),_m(10)])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#setting-up-and-getting-started\"}},[_v(\"Setting up and getting started‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#setting-up-the-project-in-your-computer\"}},[_v(\"Setting up the project in your computer‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#before-writing-code\"}},[_v(\"Before writing code‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(11)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"setting-up-and-getting-started\"}},[_v(\"Setting up and getting started\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#setting-up-and-getting-started\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"setting-up-the-project-in-your-computer\"}},[_v(\"Setting up the project in your computer\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#setting-up-the-project-in-your-computer\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"First, \"),_c(\u0027strong\u0027,[_v(\"fork\")]),_v(\" the project repo, and \"),_c(\u0027strong\u0027,[_v(\"clone\")]),_v(\" the fork into your computer.\")])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Download packages\")]),_v(\": Run \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"npm install\")]),_v(\" to download the required packages.\")])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Configure files\")]),_v(\": Edit config files according to your needs. For example, changing the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"appTitle\")]),_v(\" in \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"config.js\")]),_v(\" to match your project name.\")])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Verify the setup (optional)\")]),_v(\":\\n\"),_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Run the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"build\")]),_v(\" and \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"serve\")]),_v(\" commands, ensuring that the site properly deploys on your local host.\")]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Run the tests\")]),_v(\" to ensure they all pass.\")])])])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"before-writing-code\"}},[_v(\"Before writing code\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#before-writing-code\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Configure the coding style\")])])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Set up CI\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"This project comes with a GitHub Actions config files (in \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\".github/workflows\")]),_v(\" folder). When GitHub detects those files, it will run the CI for your project automatically at each push to the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"master\")]),_v(\" branch or to any PR. No set up required.\")])])}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Learn the design\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"When you are ready to start coding, we recommend that you get some sense of the overall design by reading about \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html#Architecture\"}},[_v(\"ProjectEx’s architecture\")]),_v(\".\")])])}"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Do the tutorial\")])]),_v(\" \"),_c(\u0027p\u0027,[_v(\"The \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tracing Code tutorial\")]),_v(\" can help you get acquainted with the codebase.\")])])}"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":43}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/Testing.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis page can be used to understand the testing processes.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_m(2),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_m(3),_v(\" \"),_c(\u0027p\u0027,[_v(\"This project has two types of tests:\")]),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"1. Unit tests\")])])]},proxy:true}])},[_v(\"\\nThese tests target the lowest level methods/classes.\"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027p\u0027,[_v(\"Example command (replace with your own): \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"npm run test\")])])]),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"2. Integration tests\")])])]},proxy:true}])},[_v(\"\\nThese tests are checking the integration of multiple code units (those code units are assumed to be working).\\n\")])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#testing-guide\"}},[_v(\"Testing guide‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#running-tests\"}},[_v(\"Running tests‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#types-of-tests\"}},[_v(\"Types of tests‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(4)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"testing-guide\"}},[_v(\"Testing guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#testing-guide\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"running-tests\"}},[_v(\"Running tests\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#running-tests\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027strong\u0027,[_v(\"Method 1: Using script\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Create script for running tests in package.json\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Open a console and run the command for the script, like \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"npm run test\")])])])])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"types-of-tests\"}},[_v(\"Types of tests\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#types-of-tests\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":22}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/developerGuide/TracingCode.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_m(1),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis page can be taken as a reference on a tutorial on how to trace the execution path of a user command through the codebase of the App.\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"To understand an unfamiliar codebase, one strategy is to trace some representative execution path through the codebase using a debugger.\")]),_v(\" \"),_m(2),_v(\" \"),_c(\u0027p\u0027,[_v(\"Before we jump into the code, it is useful to get an idea of the overall structure and the high-level behavior of the application.\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_c(\u0027p\u0027,[_v(\"Architecture diagrams can be easily utilised with the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/components/imagesAndDiagrams.html#diagrams\"}},[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"puml\")])]),_v(\" tag. The \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"src\")]),_v(\" attribute specifies the path to the PlantUML file.\")])]),_v(\" \"),_c(\u0027pic\u0027,{attrs:{\"src\":\"/diagrams/example.png\",\"width\":\"300\"}}),_v(\" \"),_c(\u0027p\u0027,[_v(\"Before we proceed, ensure that you have done the following:\")]),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_c(\u0027p\u0027,[_v(\"As you know, the first step of debugging is to put in a breakpoint where you want the debugger to pause the execution.\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Tip:\")]),_v(\" You can use a combination of Markbind\u0027s \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/components/imagesAndDiagrams.html\"}},[_c(\u0027strong\u0027,[_v(\"Images and Diagrams\")]),_v(\" features\")]),_v(\" such as \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"puml\")]),_v(\" and \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"pic\")]),_v(\" tags to provide a visual representation of the steps to be taken. \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/formattingContents.html#code\"}},[_c(\u0027strong\u0027,[_v(\"Code blocks\")])]),_v(\" can also be used as shown below.\")])]),_v(\" \"),_m(5),_m(6),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Tip:\")]),_v(\" You can use a list of steps to guide the reader through the process of tracing the execution path. This can be done using Markbind\u0027s \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/userGuide/formattingContents.html#lists\"}},[_c(\u0027strong\u0027,[_v(\"Lists\")]),_v(\" feature\")]),_v(\".\")])]),_v(\" \"),_m(7)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#tutorial-tracing-code\"}},[_v(\"Tutorial: Tracing code‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#before-we-start\"}},[_v(\"Before we start‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#setting-a-breakpoint\"}},[_v(\"Setting a breakpoint‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#tracing-the-execution-path\"}},[_v(\"Tracing the execution path‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(8)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"tutorial-tracing-code\"}},[_v(\"Tutorial: Tracing code\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#tutorial-tracing-code\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027blockquote\u0027,[_c(\u0027p\u0027,[_v(\"Indeed, the ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code. …​[Therefore,] making it easy to read makes it easier to write.\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"— Robert C. Martin Clean Code: A Handbook of Agile Software Craftsmanship\")])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"before-we-start\"}},[_v(\"Before we start\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#before-we-start\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Read the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html#architecture\"}},[_c(\u0027em\u0027,[_v(\"Architecture\")]),_v(\" section of the DG\")])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Set up the project in your preferred IDE\")])])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"setting-a-breakpoint\"}},[_v(\"Setting a breakpoint\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#setting-a-breakpoint\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027pre\u0027,[_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs java\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-keyword\"}},[_v(\"public\")]),_v(\" \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-class\"}},[_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-keyword\"}},[_v(\"interface\")]),_v(\" \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-title\"}},[_v(\"Example\")]),_v(\" \")]),_v(\"{\\n\")]),_c(\u0027span\u0027,[_v(\" \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-comment\"}},[_v(\"/**\")]),_v(\"\\n\")]),_c(\u0027span\u0027,[_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-comment\"}},[_v(\" * Executes returns the output.\")]),_v(\"\\n\")]),_c(\u0027span\u0027,[_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-comment\"}},[_v(\" * \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-doctag\"}},[_v(\"@param\")]),_v(\" exampleInput The input as entered by the user.\")]),_v(\"\\n\")]),_c(\u0027span\u0027,[_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-comment\"}},[_v(\" * \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-doctag\"}},[_v(\"@return\")]),_v(\" The example output.\")]),_v(\"\\n\")]),_c(\u0027span\u0027,[_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-comment\"}},[_v(\" * \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-doctag\"}},[_v(\"@throws\")]),_v(\" ExampleException If an error occurs.\")]),_v(\"\\n\")]),_c(\u0027span\u0027,[_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-comment\"}},[_v(\" */\")]),_v(\"\\n\")]),_c(\u0027span\u0027,[_v(\" \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-function\"}},[_v(\"ExampleOutput \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-title\"}},[_v(\"execute\")]),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-params\"}},[_v(\"(String exampleInput)\")]),_v(\" \"),_c(\u0027span\u0027,{pre:true,attrs:{\"class\":\"hljs-keyword\"}},[_v(\"throws\")]),_v(\" ExampleException\")]),_v(\";\\n\")]),_c(\u0027span\u0027,[_v(\"...\\n\")]),_c(\u0027span\u0027,[_v(\"}\\n\")])])])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"tracing-the-execution-path\"}},[_v(\"Tracing the execution path\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#tracing-the-execution-path\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"Firstly, do this.\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"Next, do that.\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"Finally, do this.\")])])])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":34}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/index.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_m(1),_v(\" \"),_c(\u0027pic\u0027,{staticStyle:{\"margin-bottom\":\"20px\"},attrs:{\"src\":\"/images/SeEduLogo.png\",\"width\":\"200px\"}},[_v(\"\\nProject Onboarding Screen\\n\")]),_v(\" \"),_m(2),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\"}},[_c(\u0027p\u0027,[_v(\"Take this template as a \"),_c(\u0027em\u0027,[_v(\"starting point\")]),_v(\" for your project documentation, taking reference of what would be in a typical project documentation site, replacing the content with your own.\")])]),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nRemember to replace the following with your own acknowledgements.\\n\")]),_v(\" \"),_m(5)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(6)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"projectex\"}},[_v(\"ProjectEx\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#projectex\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027a\u0027,{attrs:{\"href\":\"https://github.com/MarkBind/markbind/actions\"}},[_c(\u0027img\u0027,{staticClass:\"img-fluid\",attrs:{\"src\":\"https://github.com/MarkBind/markbind/workflows/CI/badge.svg\",\"alt\":\"CI Status\"}})]),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://codecov.io/gh/MarkBind/markbind\"}},[_c(\u0027img\u0027,{staticClass:\"img-fluid\",attrs:{\"src\":\"https://codecov.io/gh/MarkBind/markbind/branch/master/graph/badge.svg\",\"alt\":\"codecov\"}})])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"ProjectEx is an example project application used for showcasing a default MarkBind template specifically for project documentation.\")])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"If you are interested in using ProjectEx, head over to the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_c(\u0027em\u0027,[_v(\"Quick Start\")]),_v(\" section of the \"),_c(\u0027strong\u0027,[_v(\"User Guide\")])]),_v(\".\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"If you are interested about contributing to developing ProjectEx, the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_c(\u0027strong\u0027,[_v(\"Developer Guide\")])]),_v(\" is a good place to start.\")])])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Acknowledgements\")])])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Libraries used: \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://openjfx.io/\"}},[_v(\"JavaFX\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://github.com/FasterXML/jackson\"}},[_v(\"Jackson\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://github.com/junit-team/junit5\"}},[_v(\"JUnit5\")])])])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":28}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/bootstrap-icons/font/bootstrap-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" font-family: \"bootstrap-icons\";"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" src: url(\"./fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"url(\"./fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\");"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" font-family: bootstrap-icons !important;"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":".bi-123::before { content: \"\\f67f\"; }"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":".bi-alarm-fill::before { content: \"\\f101\"; }"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":".bi-alarm::before { content: \"\\f102\"; }"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":".bi-align-bottom::before { content: \"\\f103\"; }"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":".bi-align-center::before { content: \"\\f104\"; }"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":".bi-align-end::before { content: \"\\f105\"; }"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":".bi-align-middle::before { content: \"\\f106\"; }"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":".bi-align-start::before { content: \"\\f107\"; }"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":".bi-align-top::before { content: \"\\f108\"; }"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":".bi-alt::before { content: \"\\f109\"; }"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":".bi-app-indicator::before { content: \"\\f10a\"; }"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":".bi-app::before { content: \"\\f10b\"; }"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":".bi-archive-fill::before { content: \"\\f10c\"; }"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":".bi-archive::before { content: \"\\f10d\"; }"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-down::before { content: \"\\f10e\"; }"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-left::before { content: \"\\f10f\"; }"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-right::before { content: \"\\f110\"; }"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":".bi-arrow-90deg-up::before { content: \"\\f111\"; }"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-down::before { content: \"\\f112\"; }"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-left::before { content: \"\\f113\"; }"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-right::before { content: \"\\f114\"; }"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":".bi-arrow-bar-up::before { content: \"\\f115\"; }"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":".bi-arrow-clockwise::before { content: \"\\f116\"; }"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":".bi-arrow-counterclockwise::before { content: \"\\f117\"; }"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle-fill::before { content: \"\\f118\"; }"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-circle::before { content: \"\\f119\"; }"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle-fill::before { content: \"\\f11a\"; }"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-circle::before { content: \"\\f11b\"; }"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square-fill::before { content: \"\\f11c\"; }"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left-square::before { content: \"\\f11d\"; }"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-left::before { content: \"\\f11e\"; }"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle-fill::before { content: \"\\f11f\"; }"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-circle::before { content: \"\\f120\"; }"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square-fill::before { content: \"\\f121\"; }"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right-square::before { content: \"\\f122\"; }"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-right::before { content: \"\\f123\"; }"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-short::before { content: \"\\f124\"; }"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square-fill::before { content: \"\\f125\"; }"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-square::before { content: \"\\f126\"; }"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down-up::before { content: \"\\f127\"; }"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":".bi-arrow-down::before { content: \"\\f128\"; }"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle-fill::before { content: \"\\f129\"; }"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-circle::before { content: \"\\f12a\"; }"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-right::before { content: \"\\f12b\"; }"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-short::before { content: \"\\f12c\"; }"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square-fill::before { content: \"\\f12d\"; }"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left-square::before { content: \"\\f12e\"; }"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":".bi-arrow-left::before { content: \"\\f12f\"; }"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":".bi-arrow-repeat::before { content: \"\\f130\"; }"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-left::before { content: \"\\f131\"; }"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":".bi-arrow-return-right::before { content: \"\\f132\"; }"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle-fill::before { content: \"\\f133\"; }"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-circle::before { content: \"\\f134\"; }"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-short::before { content: \"\\f135\"; }"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square-fill::before { content: \"\\f136\"; }"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right-square::before { content: \"\\f137\"; }"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":".bi-arrow-right::before { content: \"\\f138\"; }"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle-fill::before { content: \"\\f139\"; }"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-circle::before { content: \"\\f13a\"; }"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle-fill::before { content: \"\\f13b\"; }"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-circle::before { content: \"\\f13c\"; }"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square-fill::before { content: \"\\f13d\"; }"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left-square::before { content: \"\\f13e\"; }"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-left::before { content: \"\\f13f\"; }"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle-fill::before { content: \"\\f140\"; }"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-circle::before { content: \"\\f141\"; }"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square-fill::before { content: \"\\f142\"; }"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right-square::before { content: \"\\f143\"; }"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-right::before { content: \"\\f144\"; }"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-short::before { content: \"\\f145\"; }"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square-fill::before { content: \"\\f146\"; }"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up-square::before { content: \"\\f147\"; }"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":".bi-arrow-up::before { content: \"\\f148\"; }"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-contract::before { content: \"\\f149\"; }"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":".bi-arrows-angle-expand::before { content: \"\\f14a\"; }"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse::before { content: \"\\f14b\"; }"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand::before { content: \"\\f14c\"; }"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":".bi-arrows-fullscreen::before { content: \"\\f14d\"; }"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":".bi-arrows-move::before { content: \"\\f14e\"; }"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio-fill::before { content: \"\\f14f\"; }"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":".bi-aspect-ratio::before { content: \"\\f150\"; }"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":".bi-asterisk::before { content: \"\\f151\"; }"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":".bi-at::before { content: \"\\f152\"; }"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":".bi-award-fill::before { content: \"\\f153\"; }"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":".bi-award::before { content: \"\\f154\"; }"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":".bi-back::before { content: \"\\f155\"; }"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":".bi-backspace-fill::before { content: \"\\f156\"; }"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse-fill::before { content: \"\\f157\"; }"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":".bi-backspace-reverse::before { content: \"\\f158\"; }"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":".bi-backspace::before { content: \"\\f159\"; }"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d-fill::before { content: \"\\f15a\"; }"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":".bi-badge-3d::before { content: \"\\f15b\"; }"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k-fill::before { content: \"\\f15c\"; }"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":".bi-badge-4k::before { content: \"\\f15d\"; }"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k-fill::before { content: \"\\f15e\"; }"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":".bi-badge-8k::before { content: \"\\f15f\"; }"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad-fill::before { content: \"\\f160\"; }"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":".bi-badge-ad::before { content: \"\\f161\"; }"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar-fill::before { content: \"\\f162\"; }"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":".bi-badge-ar::before { content: \"\\f163\"; }"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc-fill::before { content: \"\\f164\"; }"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":".bi-badge-cc::before { content: \"\\f165\"; }"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd-fill::before { content: \"\\f166\"; }"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":".bi-badge-hd::before { content: \"\\f167\"; }"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm-fill::before { content: \"\\f168\"; }"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":".bi-badge-tm::before { content: \"\\f169\"; }"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo-fill::before { content: \"\\f16a\"; }"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":".bi-badge-vo::before { content: \"\\f16b\"; }"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr-fill::before { content: \"\\f16c\"; }"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":".bi-badge-vr::before { content: \"\\f16d\"; }"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc-fill::before { content: \"\\f16e\"; }"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":".bi-badge-wc::before { content: \"\\f16f\"; }"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":".bi-bag-check-fill::before { content: \"\\f170\"; }"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":".bi-bag-check::before { content: \"\\f171\"; }"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash-fill::before { content: \"\\f172\"; }"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":".bi-bag-dash::before { content: \"\\f173\"; }"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":".bi-bag-fill::before { content: \"\\f174\"; }"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus-fill::before { content: \"\\f175\"; }"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":".bi-bag-plus::before { content: \"\\f176\"; }"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":".bi-bag-x-fill::before { content: \"\\f177\"; }"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":".bi-bag-x::before { content: \"\\f178\"; }"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":".bi-bag::before { content: \"\\f179\"; }"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-fill::before { content: \"\\f17a\"; }"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line-fill::before { content: \"\\f17b\"; }"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-line::before { content: \"\\f17c\"; }"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart-steps::before { content: \"\\f17d\"; }"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":".bi-bar-chart::before { content: \"\\f17e\"; }"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":".bi-basket-fill::before { content: \"\\f17f\"; }"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":".bi-basket::before { content: \"\\f180\"; }"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":".bi-basket2-fill::before { content: \"\\f181\"; }"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":".bi-basket2::before { content: \"\\f182\"; }"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":".bi-basket3-fill::before { content: \"\\f183\"; }"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":".bi-basket3::before { content: \"\\f184\"; }"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":".bi-battery-charging::before { content: \"\\f185\"; }"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":".bi-battery-full::before { content: \"\\f186\"; }"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":".bi-battery-half::before { content: \"\\f187\"; }"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":".bi-battery::before { content: \"\\f188\"; }"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":".bi-bell-fill::before { content: \"\\f189\"; }"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":".bi-bell::before { content: \"\\f18a\"; }"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":".bi-bezier::before { content: \"\\f18b\"; }"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":".bi-bezier2::before { content: \"\\f18c\"; }"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":".bi-bicycle::before { content: \"\\f18d\"; }"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":".bi-binoculars-fill::before { content: \"\\f18e\"; }"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":".bi-binoculars::before { content: \"\\f18f\"; }"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-left::before { content: \"\\f190\"; }"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":".bi-blockquote-right::before { content: \"\\f191\"; }"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":".bi-book-fill::before { content: \"\\f192\"; }"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":".bi-book-half::before { content: \"\\f193\"; }"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":".bi-book::before { content: \"\\f194\"; }"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check-fill::before { content: \"\\f195\"; }"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-check::before { content: \"\\f196\"; }"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash-fill::before { content: \"\\f197\"; }"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-dash::before { content: \"\\f198\"; }"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-fill::before { content: \"\\f199\"; }"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart-fill::before { content: \"\\f19a\"; }"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-heart::before { content: \"\\f19b\"; }"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus-fill::before { content: \"\\f19c\"; }"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-plus::before { content: \"\\f19d\"; }"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star-fill::before { content: \"\\f19e\"; }"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-star::before { content: \"\\f19f\"; }"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x-fill::before { content: \"\\f1a0\"; }"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":".bi-bookmark-x::before { content: \"\\f1a1\"; }"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":".bi-bookmark::before { content: \"\\f1a2\"; }"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks-fill::before { content: \"\\f1a3\"; }"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":".bi-bookmarks::before { content: \"\\f1a4\"; }"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":".bi-bookshelf::before { content: \"\\f1a5\"; }"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-fill::before { content: \"\\f1a6\"; }"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap-reboot::before { content: \"\\f1a7\"; }"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":".bi-bootstrap::before { content: \"\\f1a8\"; }"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":".bi-border-all::before { content: \"\\f1a9\"; }"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":".bi-border-bottom::before { content: \"\\f1aa\"; }"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":".bi-border-center::before { content: \"\\f1ab\"; }"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":".bi-border-inner::before { content: \"\\f1ac\"; }"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":".bi-border-left::before { content: \"\\f1ad\"; }"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":".bi-border-middle::before { content: \"\\f1ae\"; }"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":".bi-border-outer::before { content: \"\\f1af\"; }"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":".bi-border-right::before { content: \"\\f1b0\"; }"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":".bi-border-style::before { content: \"\\f1b1\"; }"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":".bi-border-top::before { content: \"\\f1b2\"; }"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":".bi-border-width::before { content: \"\\f1b3\"; }"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":".bi-border::before { content: \"\\f1b4\"; }"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box-circles::before { content: \"\\f1b5\"; }"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":".bi-bounding-box::before { content: \"\\f1b6\"; }"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-left::before { content: \"\\f1b7\"; }"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down-right::before { content: \"\\f1b8\"; }"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-down::before { content: \"\\f1b9\"; }"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-left::before { content: \"\\f1ba\"; }"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down-right::before { content: \"\\f1bb\"; }"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-down::before { content: \"\\f1bc\"; }"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-left::before { content: \"\\f1bd\"; }"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-right::before { content: \"\\f1be\"; }"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-left::before { content: \"\\f1bf\"; }"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up-right::before { content: \"\\f1c0\"; }"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-in-up::before { content: \"\\f1c1\"; }"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-left::before { content: \"\\f1c2\"; }"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-right::before { content: \"\\f1c3\"; }"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-left::before { content: \"\\f1c4\"; }"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up-right::before { content: \"\\f1c5\"; }"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":".bi-box-arrow-up::before { content: \"\\f1c6\"; }"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":".bi-box-seam::before { content: \"\\f1c7\"; }"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":".bi-box::before { content: \"\\f1c8\"; }"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":".bi-braces::before { content: \"\\f1c9\"; }"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":".bi-bricks::before { content: \"\\f1ca\"; }"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":".bi-briefcase-fill::before { content: \"\\f1cb\"; }"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":".bi-briefcase::before { content: \"\\f1cc\"; }"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high-fill::before { content: \"\\f1cd\"; }"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-high::before { content: \"\\f1ce\"; }"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low-fill::before { content: \"\\f1cf\"; }"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":".bi-brightness-alt-low::before { content: \"\\f1d0\"; }"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high-fill::before { content: \"\\f1d1\"; }"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":".bi-brightness-high::before { content: \"\\f1d2\"; }"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low-fill::before { content: \"\\f1d3\"; }"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":".bi-brightness-low::before { content: \"\\f1d4\"; }"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":".bi-broadcast-pin::before { content: \"\\f1d5\"; }"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":".bi-broadcast::before { content: \"\\f1d6\"; }"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":".bi-brush-fill::before { content: \"\\f1d7\"; }"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":".bi-brush::before { content: \"\\f1d8\"; }"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":".bi-bucket-fill::before { content: \"\\f1d9\"; }"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":".bi-bucket::before { content: \"\\f1da\"; }"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":".bi-bug-fill::before { content: \"\\f1db\"; }"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":".bi-bug::before { content: \"\\f1dc\"; }"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":".bi-building::before { content: \"\\f1dd\"; }"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":".bi-bullseye::before { content: \"\\f1de\"; }"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":".bi-calculator-fill::before { content: \"\\f1df\"; }"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":".bi-calculator::before { content: \"\\f1e0\"; }"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check-fill::before { content: \"\\f1e1\"; }"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":".bi-calendar-check::before { content: \"\\f1e2\"; }"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date-fill::before { content: \"\\f1e3\"; }"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":".bi-calendar-date::before { content: \"\\f1e4\"; }"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day-fill::before { content: \"\\f1e5\"; }"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":".bi-calendar-day::before { content: \"\\f1e6\"; }"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event-fill::before { content: \"\\f1e7\"; }"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":".bi-calendar-event::before { content: \"\\f1e8\"; }"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":".bi-calendar-fill::before { content: \"\\f1e9\"; }"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus-fill::before { content: \"\\f1ea\"; }"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":".bi-calendar-minus::before { content: \"\\f1eb\"; }"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month-fill::before { content: \"\\f1ec\"; }"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":".bi-calendar-month::before { content: \"\\f1ed\"; }"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus-fill::before { content: \"\\f1ee\"; }"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":".bi-calendar-plus::before { content: \"\\f1ef\"; }"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range-fill::before { content: \"\\f1f0\"; }"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":".bi-calendar-range::before { content: \"\\f1f1\"; }"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week-fill::before { content: \"\\f1f2\"; }"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":".bi-calendar-week::before { content: \"\\f1f3\"; }"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x-fill::before { content: \"\\f1f4\"; }"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":".bi-calendar-x::before { content: \"\\f1f5\"; }"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":".bi-calendar::before { content: \"\\f1f6\"; }"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check-fill::before { content: \"\\f1f7\"; }"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-check::before { content: \"\\f1f8\"; }"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date-fill::before { content: \"\\f1f9\"; }"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-date::before { content: \"\\f1fa\"; }"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day-fill::before { content: \"\\f1fb\"; }"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-day::before { content: \"\\f1fc\"; }"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event-fill::before { content: \"\\f1fd\"; }"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-event::before { content: \"\\f1fe\"; }"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-fill::before { content: \"\\f1ff\"; }"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus-fill::before { content: \"\\f200\"; }"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-minus::before { content: \"\\f201\"; }"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month-fill::before { content: \"\\f202\"; }"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-month::before { content: \"\\f203\"; }"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus-fill::before { content: \"\\f204\"; }"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-plus::before { content: \"\\f205\"; }"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range-fill::before { content: \"\\f206\"; }"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-range::before { content: \"\\f207\"; }"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week-fill::before { content: \"\\f208\"; }"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-week::before { content: \"\\f209\"; }"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x-fill::before { content: \"\\f20a\"; }"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-x::before { content: \"\\f20b\"; }"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":".bi-calendar2::before { content: \"\\f20c\"; }"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event-fill::before { content: \"\\f20d\"; }"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-event::before { content: \"\\f20e\"; }"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-fill::before { content: \"\\f20f\"; }"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range-fill::before { content: \"\\f210\"; }"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-range::before { content: \"\\f211\"; }"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week-fill::before { content: \"\\f212\"; }"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":".bi-calendar3-week::before { content: \"\\f213\"; }"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":".bi-calendar3::before { content: \"\\f214\"; }"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-event::before { content: \"\\f215\"; }"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-range::before { content: \"\\f216\"; }"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":".bi-calendar4-week::before { content: \"\\f217\"; }"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":".bi-calendar4::before { content: \"\\f218\"; }"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":".bi-camera-fill::before { content: \"\\f219\"; }"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels-fill::before { content: \"\\f21a\"; }"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":".bi-camera-reels::before { content: \"\\f21b\"; }"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-fill::before { content: \"\\f21c\"; }"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off-fill::before { content: \"\\f21d\"; }"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":".bi-camera-video-off::before { content: \"\\f21e\"; }"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":".bi-camera-video::before { content: \"\\f21f\"; }"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":".bi-camera::before { content: \"\\f220\"; }"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":".bi-camera2::before { content: \"\\f221\"; }"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":".bi-capslock-fill::before { content: \"\\f222\"; }"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":".bi-capslock::before { content: \"\\f223\"; }"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":".bi-card-checklist::before { content: \"\\f224\"; }"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":".bi-card-heading::before { content: \"\\f225\"; }"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":".bi-card-image::before { content: \"\\f226\"; }"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":".bi-card-list::before { content: \"\\f227\"; }"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":".bi-card-text::before { content: \"\\f228\"; }"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-fill::before { content: \"\\f229\"; }"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square-fill::before { content: \"\\f22a\"; }"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":".bi-caret-down-square::before { content: \"\\f22b\"; }"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":".bi-caret-down::before { content: \"\\f22c\"; }"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-fill::before { content: \"\\f22d\"; }"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square-fill::before { content: \"\\f22e\"; }"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":".bi-caret-left-square::before { content: \"\\f22f\"; }"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":".bi-caret-left::before { content: \"\\f230\"; }"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-fill::before { content: \"\\f231\"; }"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square-fill::before { content: \"\\f232\"; }"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":".bi-caret-right-square::before { content: \"\\f233\"; }"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":".bi-caret-right::before { content: \"\\f234\"; }"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-fill::before { content: \"\\f235\"; }"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square-fill::before { content: \"\\f236\"; }"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":".bi-caret-up-square::before { content: \"\\f237\"; }"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":".bi-caret-up::before { content: \"\\f238\"; }"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":".bi-cart-check-fill::before { content: \"\\f239\"; }"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":".bi-cart-check::before { content: \"\\f23a\"; }"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash-fill::before { content: \"\\f23b\"; }"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":".bi-cart-dash::before { content: \"\\f23c\"; }"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":".bi-cart-fill::before { content: \"\\f23d\"; }"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus-fill::before { content: \"\\f23e\"; }"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":".bi-cart-plus::before { content: \"\\f23f\"; }"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":".bi-cart-x-fill::before { content: \"\\f240\"; }"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":".bi-cart-x::before { content: \"\\f241\"; }"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":".bi-cart::before { content: \"\\f242\"; }"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":".bi-cart2::before { content: \"\\f243\"; }"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":".bi-cart3::before { content: \"\\f244\"; }"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":".bi-cart4::before { content: \"\\f245\"; }"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":".bi-cash-stack::before { content: \"\\f246\"; }"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":".bi-cash::before { content: \"\\f247\"; }"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":".bi-cast::before { content: \"\\f248\"; }"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots-fill::before { content: \"\\f249\"; }"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":".bi-chat-dots::before { content: \"\\f24a\"; }"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":".bi-chat-fill::before { content: \"\\f24b\"; }"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots-fill::before { content: \"\\f24c\"; }"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-dots::before { content: \"\\f24d\"; }"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-fill::before { content: \"\\f24e\"; }"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote-fill::before { content: \"\\f24f\"; }"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-quote::before { content: \"\\f250\"; }"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text-fill::before { content: \"\\f251\"; }"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-text::before { content: \"\\f252\"; }"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":".bi-chat-left::before { content: \"\\f253\"; }"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote-fill::before { content: \"\\f254\"; }"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":".bi-chat-quote::before { content: \"\\f255\"; }"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots-fill::before { content: \"\\f256\"; }"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-dots::before { content: \"\\f257\"; }"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-fill::before { content: \"\\f258\"; }"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote-fill::before { content: \"\\f259\"; }"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-quote::before { content: \"\\f25a\"; }"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text-fill::before { content: \"\\f25b\"; }"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-text::before { content: \"\\f25c\"; }"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":".bi-chat-right::before { content: \"\\f25d\"; }"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots-fill::before { content: \"\\f25e\"; }"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-dots::before { content: \"\\f25f\"; }"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-fill::before { content: \"\\f260\"; }"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote-fill::before { content: \"\\f261\"; }"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-quote::before { content: \"\\f262\"; }"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text-fill::before { content: \"\\f263\"; }"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-text::before { content: \"\\f264\"; }"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":".bi-chat-square::before { content: \"\\f265\"; }"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":".bi-chat-text-fill::before { content: \"\\f266\"; }"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":".bi-chat-text::before { content: \"\\f267\"; }"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":".bi-chat::before { content: \"\\f268\"; }"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":".bi-check-all::before { content: \"\\f269\"; }"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":".bi-check-circle-fill::before { content: \"\\f26a\"; }"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":".bi-check-circle::before { content: \"\\f26b\"; }"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":".bi-check-square-fill::before { content: \"\\f26c\"; }"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":".bi-check-square::before { content: \"\\f26d\"; }"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":".bi-check::before { content: \"\\f26e\"; }"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":".bi-check2-all::before { content: \"\\f26f\"; }"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":".bi-check2-circle::before { content: \"\\f270\"; }"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":".bi-check2-square::before { content: \"\\f271\"; }"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":".bi-check2::before { content: \"\\f272\"; }"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-contract::before { content: \"\\f273\"; }"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-down::before { content: \"\\f274\"; }"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-expand::before { content: \"\\f275\"; }"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-left::before { content: \"\\f276\"; }"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-right::before { content: \"\\f277\"; }"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":".bi-chevron-bar-up::before { content: \"\\f278\"; }"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-down::before { content: \"\\f279\"; }"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-left::before { content: \"\\f27a\"; }"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-right::before { content: \"\\f27b\"; }"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":".bi-chevron-compact-up::before { content: \"\\f27c\"; }"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":".bi-chevron-contract::before { content: \"\\f27d\"; }"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-down::before { content: \"\\f27e\"; }"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-left::before { content: \"\\f27f\"; }"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-right::before { content: \"\\f280\"; }"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":".bi-chevron-double-up::before { content: \"\\f281\"; }"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":".bi-chevron-down::before { content: \"\\f282\"; }"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":".bi-chevron-expand::before { content: \"\\f283\"; }"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":".bi-chevron-left::before { content: \"\\f284\"; }"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":".bi-chevron-right::before { content: \"\\f285\"; }"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":".bi-chevron-up::before { content: \"\\f286\"; }"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":".bi-circle-fill::before { content: \"\\f287\"; }"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":".bi-circle-half::before { content: \"\\f288\"; }"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":".bi-circle-square::before { content: \"\\f289\"; }"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":".bi-circle::before { content: \"\\f28a\"; }"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check::before { content: \"\\f28b\"; }"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data::before { content: \"\\f28c\"; }"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus::before { content: \"\\f28d\"; }"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus::before { content: \"\\f28e\"; }"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x::before { content: \"\\f28f\"; }"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":".bi-clipboard::before { content: \"\\f290\"; }"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":".bi-clock-fill::before { content: \"\\f291\"; }"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":".bi-clock-history::before { content: \"\\f292\"; }"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":".bi-clock::before { content: \"\\f293\"; }"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down-fill::before { content: \"\\f294\"; }"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-down::before { content: \"\\f295\"; }"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up-fill::before { content: \"\\f296\"; }"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":".bi-cloud-arrow-up::before { content: \"\\f297\"; }"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check-fill::before { content: \"\\f298\"; }"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":".bi-cloud-check::before { content: \"\\f299\"; }"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download-fill::before { content: \"\\f29a\"; }"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":".bi-cloud-download::before { content: \"\\f29b\"; }"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle-fill::before { content: \"\\f29c\"; }"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":".bi-cloud-drizzle::before { content: \"\\f29d\"; }"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fill::before { content: \"\\f29e\"; }"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog-fill::before { content: \"\\f29f\"; }"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog::before { content: \"\\f2a0\"; }"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2-fill::before { content: \"\\f2a1\"; }"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":".bi-cloud-fog2::before { content: \"\\f2a2\"; }"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail-fill::before { content: \"\\f2a3\"; }"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":".bi-cloud-hail::before { content: \"\\f2a4\"; }"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze-fill::before { content: \"\\f2a6\"; }"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze::before { content: \"\\f2a7\"; }"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2-fill::before { content: \"\\f2a8\"; }"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-fill::before { content: \"\\f2a9\"; }"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain-fill::before { content: \"\\f2aa\"; }"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning-rain::before { content: \"\\f2ab\"; }"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":".bi-cloud-lightning::before { content: \"\\f2ac\"; }"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus-fill::before { content: \"\\f2ad\"; }"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":".bi-cloud-minus::before { content: \"\\f2ae\"; }"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon-fill::before { content: \"\\f2af\"; }"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":".bi-cloud-moon::before { content: \"\\f2b0\"; }"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus-fill::before { content: \"\\f2b1\"; }"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":".bi-cloud-plus::before { content: \"\\f2b2\"; }"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-fill::before { content: \"\\f2b3\"; }"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy-fill::before { content: \"\\f2b4\"; }"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain-heavy::before { content: \"\\f2b5\"; }"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":".bi-cloud-rain::before { content: \"\\f2b6\"; }"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash-fill::before { content: \"\\f2b7\"; }"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":".bi-cloud-slash::before { content: \"\\f2b8\"; }"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet-fill::before { content: \"\\f2b9\"; }"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sleet::before { content: \"\\f2ba\"; }"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow-fill::before { content: \"\\f2bb\"; }"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":".bi-cloud-snow::before { content: \"\\f2bc\"; }"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun-fill::before { content: \"\\f2bd\"; }"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":".bi-cloud-sun::before { content: \"\\f2be\"; }"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload-fill::before { content: \"\\f2bf\"; }"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":".bi-cloud-upload::before { content: \"\\f2c0\"; }"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":".bi-cloud::before { content: \"\\f2c1\"; }"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":".bi-clouds-fill::before { content: \"\\f2c2\"; }"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":".bi-clouds::before { content: \"\\f2c3\"; }"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":".bi-cloudy-fill::before { content: \"\\f2c4\"; }"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":".bi-cloudy::before { content: \"\\f2c5\"; }"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":".bi-code-slash::before { content: \"\\f2c6\"; }"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":".bi-code-square::before { content: \"\\f2c7\"; }"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":".bi-code::before { content: \"\\f2c8\"; }"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":".bi-collection-fill::before { content: \"\\f2c9\"; }"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":".bi-collection-play-fill::before { content: \"\\f2ca\"; }"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":".bi-collection-play::before { content: \"\\f2cb\"; }"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":".bi-collection::before { content: \"\\f2cc\"; }"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":".bi-columns-gap::before { content: \"\\f2cd\"; }"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":".bi-columns::before { content: \"\\f2ce\"; }"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":".bi-command::before { content: \"\\f2cf\"; }"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":".bi-compass-fill::before { content: \"\\f2d0\"; }"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":".bi-compass::before { content: \"\\f2d1\"; }"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":".bi-cone-striped::before { content: \"\\f2d2\"; }"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":".bi-cone::before { content: \"\\f2d3\"; }"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":".bi-controller::before { content: \"\\f2d4\"; }"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":".bi-cpu-fill::before { content: \"\\f2d5\"; }"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":".bi-cpu::before { content: \"\\f2d6\"; }"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back-fill::before { content: \"\\f2d7\"; }"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-back::before { content: \"\\f2d8\"; }"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front-fill::before { content: \"\\f2d9\"; }"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-2-front::before { content: \"\\f2da\"; }"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":".bi-credit-card-fill::before { content: \"\\f2db\"; }"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":".bi-credit-card::before { content: \"\\f2dc\"; }"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":".bi-crop::before { content: \"\\f2dd\"; }"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":".bi-cup-fill::before { content: \"\\f2de\"; }"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":".bi-cup-straw::before { content: \"\\f2df\"; }"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":".bi-cup::before { content: \"\\f2e0\"; }"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":".bi-cursor-fill::before { content: \"\\f2e1\"; }"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":".bi-cursor-text::before { content: \"\\f2e2\"; }"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":".bi-cursor::before { content: \"\\f2e3\"; }"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-dotted::before { content: \"\\f2e4\"; }"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle-fill::before { content: \"\\f2e5\"; }"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":".bi-dash-circle::before { content: \"\\f2e6\"; }"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-dotted::before { content: \"\\f2e7\"; }"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":".bi-dash-square-fill::before { content: \"\\f2e8\"; }"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":".bi-dash-square::before { content: \"\\f2e9\"; }"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":".bi-dash::before { content: \"\\f2ea\"; }"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2-fill::before { content: \"\\f2eb\"; }"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":".bi-diagram-2::before { content: \"\\f2ec\"; }"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3-fill::before { content: \"\\f2ed\"; }"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":".bi-diagram-3::before { content: \"\\f2ee\"; }"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":".bi-diamond-fill::before { content: \"\\f2ef\"; }"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":".bi-diamond-half::before { content: \"\\f2f0\"; }"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":".bi-diamond::before { content: \"\\f2f1\"; }"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":".bi-dice-1-fill::before { content: \"\\f2f2\"; }"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":".bi-dice-1::before { content: \"\\f2f3\"; }"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":".bi-dice-2-fill::before { content: \"\\f2f4\"; }"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":".bi-dice-2::before { content: \"\\f2f5\"; }"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":".bi-dice-3-fill::before { content: \"\\f2f6\"; }"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":".bi-dice-3::before { content: \"\\f2f7\"; }"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":".bi-dice-4-fill::before { content: \"\\f2f8\"; }"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":".bi-dice-4::before { content: \"\\f2f9\"; }"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":".bi-dice-5-fill::before { content: \"\\f2fa\"; }"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":".bi-dice-5::before { content: \"\\f2fb\"; }"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":".bi-dice-6-fill::before { content: \"\\f2fc\"; }"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":".bi-dice-6::before { content: \"\\f2fd\"; }"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":".bi-disc-fill::before { content: \"\\f2fe\"; }"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":".bi-disc::before { content: \"\\f2ff\"; }"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":".bi-discord::before { content: \"\\f300\"; }"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":".bi-display-fill::before { content: \"\\f301\"; }"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":".bi-display::before { content: \"\\f302\"; }"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":".bi-distribute-horizontal::before { content: \"\\f303\"; }"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":".bi-distribute-vertical::before { content: \"\\f304\"; }"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":".bi-door-closed-fill::before { content: \"\\f305\"; }"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":".bi-door-closed::before { content: \"\\f306\"; }"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":".bi-door-open-fill::before { content: \"\\f307\"; }"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":".bi-door-open::before { content: \"\\f308\"; }"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":".bi-dot::before { content: \"\\f309\"; }"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":".bi-download::before { content: \"\\f30a\"; }"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":".bi-droplet-fill::before { content: \"\\f30b\"; }"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":".bi-droplet-half::before { content: \"\\f30c\"; }"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":".bi-droplet::before { content: \"\\f30d\"; }"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":".bi-earbuds::before { content: \"\\f30e\"; }"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":".bi-easel-fill::before { content: \"\\f30f\"; }"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":".bi-easel::before { content: \"\\f310\"; }"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":".bi-egg-fill::before { content: \"\\f311\"; }"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":".bi-egg-fried::before { content: \"\\f312\"; }"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":".bi-egg::before { content: \"\\f313\"; }"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":".bi-eject-fill::before { content: \"\\f314\"; }"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":".bi-eject::before { content: \"\\f315\"; }"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry-fill::before { content: \"\\f316\"; }"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":".bi-emoji-angry::before { content: \"\\f317\"; }"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy-fill::before { content: \"\\f318\"; }"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":".bi-emoji-dizzy::before { content: \"\\f319\"; }"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless-fill::before { content: \"\\f31a\"; }"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":".bi-emoji-expressionless::before { content: \"\\f31b\"; }"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown-fill::before { content: \"\\f31c\"; }"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":".bi-emoji-frown::before { content: \"\\f31d\"; }"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes-fill::before { content: \"\\f31e\"; }"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":".bi-emoji-heart-eyes::before { content: \"\\f31f\"; }"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing-fill::before { content: \"\\f320\"; }"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":".bi-emoji-laughing::before { content: \"\\f321\"; }"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral-fill::before { content: \"\\f322\"; }"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":".bi-emoji-neutral::before { content: \"\\f323\"; }"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-fill::before { content: \"\\f324\"; }"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down-fill::before { content: \"\\f325\"; }"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile-upside-down::before { content: \"\\f326\"; }"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":".bi-emoji-smile::before { content: \"\\f327\"; }"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses-fill::before { content: \"\\f328\"; }"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":".bi-emoji-sunglasses::before { content: \"\\f329\"; }"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink-fill::before { content: \"\\f32a\"; }"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":".bi-emoji-wink::before { content: \"\\f32b\"; }"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":".bi-envelope-fill::before { content: \"\\f32c\"; }"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-fill::before { content: \"\\f32d\"; }"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open::before { content: \"\\f32e\"; }"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":".bi-envelope::before { content: \"\\f32f\"; }"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":".bi-eraser-fill::before { content: \"\\f330\"; }"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":".bi-eraser::before { content: \"\\f331\"; }"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle-fill::before { content: \"\\f332\"; }"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-circle::before { content: \"\\f333\"; }"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond-fill::before { content: \"\\f334\"; }"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-diamond::before { content: \"\\f335\"; }"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon-fill::before { content: \"\\f336\"; }"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-octagon::before { content: \"\\f337\"; }"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square-fill::before { content: \"\\f338\"; }"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-square::before { content: \"\\f339\"; }"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle-fill::before { content: \"\\f33a\"; }"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-triangle::before { content: \"\\f33b\"; }"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":".bi-exclamation::before { content: \"\\f33c\"; }"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":".bi-exclude::before { content: \"\\f33d\"; }"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":".bi-eye-fill::before { content: \"\\f33e\"; }"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash-fill::before { content: \"\\f33f\"; }"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":".bi-eye-slash::before { content: \"\\f340\"; }"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":".bi-eye::before { content: \"\\f341\"; }"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":".bi-eyedropper::before { content: \"\\f342\"; }"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":".bi-eyeglasses::before { content: \"\\f343\"; }"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":".bi-facebook::before { content: \"\\f344\"; }"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down-fill::before { content: \"\\f345\"; }"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-down::before { content: \"\\f346\"; }"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up-fill::before { content: \"\\f347\"; }"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":".bi-file-arrow-up::before { content: \"\\f348\"; }"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph-fill::before { content: \"\\f349\"; }"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":".bi-file-bar-graph::before { content: \"\\f34a\"; }"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":".bi-file-binary-fill::before { content: \"\\f34b\"; }"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":".bi-file-binary::before { content: \"\\f34c\"; }"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":".bi-file-break-fill::before { content: \"\\f34d\"; }"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":".bi-file-break::before { content: \"\\f34e\"; }"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":".bi-file-check-fill::before { content: \"\\f34f\"; }"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":".bi-file-check::before { content: \"\\f350\"; }"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":".bi-file-code-fill::before { content: \"\\f351\"; }"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":".bi-file-code::before { content: \"\\f352\"; }"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":".bi-file-diff-fill::before { content: \"\\f353\"; }"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":".bi-file-diff::before { content: \"\\f354\"; }"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down-fill::before { content: \"\\f355\"; }"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-down::before { content: \"\\f356\"; }"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up-fill::before { content: \"\\f357\"; }"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-arrow-up::before { content: \"\\f358\"; }"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph-fill::before { content: \"\\f359\"; }"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-bar-graph::before { content: \"\\f35a\"; }"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary-fill::before { content: \"\\f35b\"; }"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-binary::before { content: \"\\f35c\"; }"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break-fill::before { content: \"\\f35d\"; }"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-break::before { content: \"\\f35e\"; }"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check-fill::before { content: \"\\f35f\"; }"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-check::before { content: \"\\f360\"; }"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code-fill::before { content: \"\\f361\"; }"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-code::before { content: \"\\f362\"; }"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff-fill::before { content: \"\\f363\"; }"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-diff::before { content: \"\\f364\"; }"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel-fill::before { content: \"\\f365\"; }"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-easel::before { content: \"\\f366\"; }"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel-fill::before { content: \"\\f367\"; }"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-excel::before { content: \"\\f368\"; }"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-fill::before { content: \"\\f369\"; }"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font-fill::before { content: \"\\f36a\"; }"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-font::before { content: \"\\f36b\"; }"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image-fill::before { content: \"\\f36c\"; }"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-image::before { content: \"\\f36d\"; }"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock-fill::before { content: \"\\f36e\"; }"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock::before { content: \"\\f36f\"; }"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2-fill::before { content: \"\\f370\"; }"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-lock2::before { content: \"\\f371\"; }"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical-fill::before { content: \"\\f372\"; }"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-medical::before { content: \"\\f373\"; }"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus-fill::before { content: \"\\f374\"; }"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-minus::before { content: \"\\f375\"; }"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music-fill::before { content: \"\\f376\"; }"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-music::before { content: \"\\f377\"; }"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person-fill::before { content: \"\\f378\"; }"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-person::before { content: \"\\f379\"; }"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play-fill::before { content: \"\\f37a\"; }"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-play::before { content: \"\\f37b\"; }"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus-fill::before { content: \"\\f37c\"; }"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-plus::before { content: \"\\f37d\"; }"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post-fill::before { content: \"\\f37e\"; }"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-post::before { content: \"\\f37f\"; }"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt-fill::before { content: \"\\f380\"; }"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ppt::before { content: \"\\f381\"; }"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext-fill::before { content: \"\\f382\"; }"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-richtext::before { content: \"\\f383\"; }"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled-fill::before { content: \"\\f384\"; }"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-ruled::before { content: \"\\f385\"; }"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides-fill::before { content: \"\\f386\"; }"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-slides::before { content: \"\\f387\"; }"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet-fill::before { content: \"\\f388\"; }"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-spreadsheet::before { content: \"\\f389\"; }"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text-fill::before { content: \"\\f38a\"; }"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-text::before { content: \"\\f38b\"; }"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word-fill::before { content: \"\\f38c\"; }"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-word::before { content: \"\\f38d\"; }"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x-fill::before { content: \"\\f38e\"; }"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-x::before { content: \"\\f38f\"; }"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip-fill::before { content: \"\\f390\"; }"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-zip::before { content: \"\\f391\"; }"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark::before { content: \"\\f392\"; }"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":".bi-file-easel-fill::before { content: \"\\f393\"; }"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":".bi-file-easel::before { content: \"\\f394\"; }"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":".bi-file-excel-fill::before { content: \"\\f395\"; }"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":".bi-file-excel::before { content: \"\\f396\"; }"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":".bi-file-fill::before { content: \"\\f397\"; }"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":".bi-file-font-fill::before { content: \"\\f398\"; }"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":".bi-file-font::before { content: \"\\f399\"; }"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":".bi-file-image-fill::before { content: \"\\f39a\"; }"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":".bi-file-image::before { content: \"\\f39b\"; }"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":".bi-file-lock-fill::before { content: \"\\f39c\"; }"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":".bi-file-lock::before { content: \"\\f39d\"; }"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2-fill::before { content: \"\\f39e\"; }"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":".bi-file-lock2::before { content: \"\\f39f\"; }"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":".bi-file-medical-fill::before { content: \"\\f3a0\"; }"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":".bi-file-medical::before { content: \"\\f3a1\"; }"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":".bi-file-minus-fill::before { content: \"\\f3a2\"; }"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":".bi-file-minus::before { content: \"\\f3a3\"; }"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":".bi-file-music-fill::before { content: \"\\f3a4\"; }"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":".bi-file-music::before { content: \"\\f3a5\"; }"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":".bi-file-person-fill::before { content: \"\\f3a6\"; }"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":".bi-file-person::before { content: \"\\f3a7\"; }"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":".bi-file-play-fill::before { content: \"\\f3a8\"; }"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":".bi-file-play::before { content: \"\\f3a9\"; }"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":".bi-file-plus-fill::before { content: \"\\f3aa\"; }"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":".bi-file-plus::before { content: \"\\f3ab\"; }"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":".bi-file-post-fill::before { content: \"\\f3ac\"; }"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":".bi-file-post::before { content: \"\\f3ad\"; }"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt-fill::before { content: \"\\f3ae\"; }"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":".bi-file-ppt::before { content: \"\\f3af\"; }"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext-fill::before { content: \"\\f3b0\"; }"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":".bi-file-richtext::before { content: \"\\f3b1\"; }"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled-fill::before { content: \"\\f3b2\"; }"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":".bi-file-ruled::before { content: \"\\f3b3\"; }"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":".bi-file-slides-fill::before { content: \"\\f3b4\"; }"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":".bi-file-slides::before { content: \"\\f3b5\"; }"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet-fill::before { content: \"\\f3b6\"; }"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":".bi-file-spreadsheet::before { content: \"\\f3b7\"; }"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":".bi-file-text-fill::before { content: \"\\f3b8\"; }"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":".bi-file-text::before { content: \"\\f3b9\"; }"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":".bi-file-word-fill::before { content: \"\\f3ba\"; }"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":".bi-file-word::before { content: \"\\f3bb\"; }"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":".bi-file-x-fill::before { content: \"\\f3bc\"; }"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":".bi-file-x::before { content: \"\\f3bd\"; }"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":".bi-file-zip-fill::before { content: \"\\f3be\"; }"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":".bi-file-zip::before { content: \"\\f3bf\"; }"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":".bi-file::before { content: \"\\f3c0\"; }"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":".bi-files-alt::before { content: \"\\f3c1\"; }"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":".bi-files::before { content: \"\\f3c2\"; }"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":".bi-film::before { content: \"\\f3c3\"; }"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle-fill::before { content: \"\\f3c4\"; }"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":".bi-filter-circle::before { content: \"\\f3c5\"; }"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":".bi-filter-left::before { content: \"\\f3c6\"; }"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":".bi-filter-right::before { content: \"\\f3c7\"; }"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":".bi-filter-square-fill::before { content: \"\\f3c8\"; }"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":".bi-filter-square::before { content: \"\\f3c9\"; }"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":".bi-filter::before { content: \"\\f3ca\"; }"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":".bi-flag-fill::before { content: \"\\f3cb\"; }"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":".bi-flag::before { content: \"\\f3cc\"; }"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":".bi-flower1::before { content: \"\\f3cd\"; }"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":".bi-flower2::before { content: \"\\f3ce\"; }"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":".bi-flower3::before { content: \"\\f3cf\"; }"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":".bi-folder-check::before { content: \"\\f3d0\"; }"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":".bi-folder-fill::before { content: \"\\f3d1\"; }"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":".bi-folder-minus::before { content: \"\\f3d2\"; }"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":".bi-folder-plus::before { content: \"\\f3d3\"; }"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink-fill::before { content: \"\\f3d4\"; }"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":".bi-folder-symlink::before { content: \"\\f3d5\"; }"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":".bi-folder-x::before { content: \"\\f3d6\"; }"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":".bi-folder::before { content: \"\\f3d7\"; }"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":".bi-folder2-open::before { content: \"\\f3d8\"; }"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":".bi-folder2::before { content: \"\\f3d9\"; }"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":".bi-fonts::before { content: \"\\f3da\"; }"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":".bi-forward-fill::before { content: \"\\f3db\"; }"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":".bi-forward::before { content: \"\\f3dc\"; }"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":".bi-front::before { content: \"\\f3dd\"; }"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen-exit::before { content: \"\\f3de\"; }"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":".bi-fullscreen::before { content: \"\\f3df\"; }"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":".bi-funnel-fill::before { content: \"\\f3e0\"; }"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":".bi-funnel::before { content: \"\\f3e1\"; }"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":".bi-gear-fill::before { content: \"\\f3e2\"; }"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide-connected::before { content: \"\\f3e3\"; }"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":".bi-gear-wide::before { content: \"\\f3e4\"; }"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":".bi-gear::before { content: \"\\f3e5\"; }"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":".bi-gem::before { content: \"\\f3e6\"; }"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt-fill::before { content: \"\\f3e7\"; }"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":".bi-geo-alt::before { content: \"\\f3e8\"; }"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":".bi-geo-fill::before { content: \"\\f3e9\"; }"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":".bi-geo::before { content: \"\\f3ea\"; }"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":".bi-gift-fill::before { content: \"\\f3eb\"; }"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":".bi-gift::before { content: \"\\f3ec\"; }"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":".bi-github::before { content: \"\\f3ed\"; }"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":".bi-globe::before { content: \"\\f3ee\"; }"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":".bi-globe2::before { content: \"\\f3ef\"; }"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":".bi-google::before { content: \"\\f3f0\"; }"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":".bi-graph-down::before { content: \"\\f3f1\"; }"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":".bi-graph-up::before { content: \"\\f3f2\"; }"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2-fill::before { content: \"\\f3f3\"; }"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":".bi-grid-1x2::before { content: \"\\f3f4\"; }"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap-fill::before { content: \"\\f3f5\"; }"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2-gap::before { content: \"\\f3f6\"; }"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x2::before { content: \"\\f3f7\"; }"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap-fill::before { content: \"\\f3f8\"; }"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3-gap::before { content: \"\\f3f9\"; }"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":".bi-grid-3x3::before { content: \"\\f3fa\"; }"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":".bi-grid-fill::before { content: \"\\f3fb\"; }"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":".bi-grid::before { content: \"\\f3fc\"; }"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":".bi-grip-horizontal::before { content: \"\\f3fd\"; }"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":".bi-grip-vertical::before { content: \"\\f3fe\"; }"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":".bi-hammer::before { content: \"\\f3ff\"; }"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-fill::before { content: \"\\f400\"; }"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb-fill::before { content: \"\\f401\"; }"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":".bi-hand-index-thumb::before { content: \"\\f402\"; }"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":".bi-hand-index::before { content: \"\\f403\"; }"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down-fill::before { content: \"\\f404\"; }"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-down::before { content: \"\\f405\"; }"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up-fill::before { content: \"\\f406\"; }"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":".bi-hand-thumbs-up::before { content: \"\\f407\"; }"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":".bi-handbag-fill::before { content: \"\\f408\"; }"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":".bi-handbag::before { content: \"\\f409\"; }"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":".bi-hash::before { content: \"\\f40a\"; }"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":".bi-hdd-fill::before { content: \"\\f40b\"; }"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network-fill::before { content: \"\\f40c\"; }"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":".bi-hdd-network::before { content: \"\\f40d\"; }"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack-fill::before { content: \"\\f40e\"; }"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":".bi-hdd-rack::before { content: \"\\f40f\"; }"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack-fill::before { content: \"\\f410\"; }"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":".bi-hdd-stack::before { content: \"\\f411\"; }"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":".bi-hdd::before { content: \"\\f412\"; }"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":".bi-headphones::before { content: \"\\f413\"; }"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":".bi-headset::before { content: \"\\f414\"; }"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":".bi-heart-fill::before { content: \"\\f415\"; }"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":".bi-heart-half::before { content: \"\\f416\"; }"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":".bi-heart::before { content: \"\\f417\"; }"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-fill::before { content: \"\\f418\"; }"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":".bi-heptagon-half::before { content: \"\\f419\"; }"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":".bi-heptagon::before { content: \"\\f41a\"; }"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-fill::before { content: \"\\f41b\"; }"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":".bi-hexagon-half::before { content: \"\\f41c\"; }"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":".bi-hexagon::before { content: \"\\f41d\"; }"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-bottom::before { content: \"\\f41e\"; }"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-split::before { content: \"\\f41f\"; }"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":".bi-hourglass-top::before { content: \"\\f420\"; }"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":".bi-hourglass::before { content: \"\\f421\"; }"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":".bi-house-door-fill::before { content: \"\\f422\"; }"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":".bi-house-door::before { content: \"\\f423\"; }"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":".bi-house-fill::before { content: \"\\f424\"; }"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":".bi-house::before { content: \"\\f425\"; }"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":".bi-hr::before { content: \"\\f426\"; }"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":".bi-hurricane::before { content: \"\\f427\"; }"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":".bi-image-alt::before { content: \"\\f428\"; }"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":".bi-image-fill::before { content: \"\\f429\"; }"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":".bi-image::before { content: \"\\f42a\"; }"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":".bi-images::before { content: \"\\f42b\"; }"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":".bi-inbox-fill::before { content: \"\\f42c\"; }"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":".bi-inbox::before { content: \"\\f42d\"; }"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":".bi-inboxes-fill::before { content: \"\\f42e\"; }"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":".bi-inboxes::before { content: \"\\f42f\"; }"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":".bi-info-circle-fill::before { content: \"\\f430\"; }"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":".bi-info-circle::before { content: \"\\f431\"; }"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":".bi-info-square-fill::before { content: \"\\f432\"; }"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":".bi-info-square::before { content: \"\\f433\"; }"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":".bi-info::before { content: \"\\f434\"; }"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor-text::before { content: \"\\f435\"; }"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":".bi-input-cursor::before { content: \"\\f436\"; }"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":".bi-instagram::before { content: \"\\f437\"; }"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":".bi-intersect::before { content: \"\\f438\"; }"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":".bi-journal-album::before { content: \"\\f439\"; }"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-down::before { content: \"\\f43a\"; }"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":".bi-journal-arrow-up::before { content: \"\\f43b\"; }"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark-fill::before { content: \"\\f43c\"; }"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":".bi-journal-bookmark::before { content: \"\\f43d\"; }"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":".bi-journal-check::before { content: \"\\f43e\"; }"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":".bi-journal-code::before { content: \"\\f43f\"; }"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":".bi-journal-medical::before { content: \"\\f440\"; }"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":".bi-journal-minus::before { content: \"\\f441\"; }"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":".bi-journal-plus::before { content: \"\\f442\"; }"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":".bi-journal-richtext::before { content: \"\\f443\"; }"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":".bi-journal-text::before { content: \"\\f444\"; }"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":".bi-journal-x::before { content: \"\\f445\"; }"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":".bi-journal::before { content: \"\\f446\"; }"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":".bi-journals::before { content: \"\\f447\"; }"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":".bi-joystick::before { content: \"\\f448\"; }"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":".bi-justify-left::before { content: \"\\f449\"; }"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":".bi-justify-right::before { content: \"\\f44a\"; }"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":".bi-justify::before { content: \"\\f44b\"; }"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":".bi-kanban-fill::before { content: \"\\f44c\"; }"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":".bi-kanban::before { content: \"\\f44d\"; }"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":".bi-key-fill::before { content: \"\\f44e\"; }"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":".bi-key::before { content: \"\\f44f\"; }"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":".bi-keyboard-fill::before { content: \"\\f450\"; }"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":".bi-keyboard::before { content: \"\\f451\"; }"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":".bi-ladder::before { content: \"\\f452\"; }"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":".bi-lamp-fill::before { content: \"\\f453\"; }"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":".bi-lamp::before { content: \"\\f454\"; }"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":".bi-laptop-fill::before { content: \"\\f455\"; }"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":".bi-laptop::before { content: \"\\f456\"; }"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":".bi-layer-backward::before { content: \"\\f457\"; }"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":".bi-layer-forward::before { content: \"\\f458\"; }"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":".bi-layers-fill::before { content: \"\\f459\"; }"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":".bi-layers-half::before { content: \"\\f45a\"; }"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":".bi-layers::before { content: \"\\f45b\"; }"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset-reverse::before { content: \"\\f45c\"; }"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-inset::before { content: \"\\f45d\"; }"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar-reverse::before { content: \"\\f45e\"; }"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":".bi-layout-sidebar::before { content: \"\\f45f\"; }"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":".bi-layout-split::before { content: \"\\f460\"; }"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar-reverse::before { content: \"\\f461\"; }"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-sidebar::before { content: \"\\f462\"; }"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window-reverse::before { content: \"\\f463\"; }"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":".bi-layout-text-window::before { content: \"\\f464\"; }"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":".bi-layout-three-columns::before { content: \"\\f465\"; }"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":".bi-layout-wtf::before { content: \"\\f466\"; }"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":".bi-life-preserver::before { content: \"\\f467\"; }"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-fill::before { content: \"\\f468\"; }"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off-fill::before { content: \"\\f469\"; }"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb-off::before { content: \"\\f46a\"; }"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":".bi-lightbulb::before { content: \"\\f46b\"; }"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge-fill::before { content: \"\\f46c\"; }"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":".bi-lightning-charge::before { content: \"\\f46d\"; }"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":".bi-lightning-fill::before { content: \"\\f46e\"; }"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":".bi-lightning::before { content: \"\\f46f\"; }"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":".bi-link-45deg::before { content: \"\\f470\"; }"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":".bi-link::before { content: \"\\f471\"; }"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":".bi-linkedin::before { content: \"\\f472\"; }"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":".bi-list-check::before { content: \"\\f473\"; }"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":".bi-list-nested::before { content: \"\\f474\"; }"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":".bi-list-ol::before { content: \"\\f475\"; }"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":".bi-list-stars::before { content: \"\\f476\"; }"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":".bi-list-task::before { content: \"\\f477\"; }"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":".bi-list-ul::before { content: \"\\f478\"; }"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":".bi-list::before { content: \"\\f479\"; }"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":".bi-lock-fill::before { content: \"\\f47a\"; }"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":".bi-lock::before { content: \"\\f47b\"; }"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":".bi-mailbox::before { content: \"\\f47c\"; }"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2::before { content: \"\\f47d\"; }"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":".bi-map-fill::before { content: \"\\f47e\"; }"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":".bi-map::before { content: \"\\f47f\"; }"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":".bi-markdown-fill::before { content: \"\\f480\"; }"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":".bi-markdown::before { content: \"\\f481\"; }"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":".bi-mask::before { content: \"\\f482\"; }"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":".bi-megaphone-fill::before { content: \"\\f483\"; }"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":".bi-megaphone::before { content: \"\\f484\"; }"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":".bi-menu-app-fill::before { content: \"\\f485\"; }"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":".bi-menu-app::before { content: \"\\f486\"; }"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-fill::before { content: \"\\f487\"; }"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide-fill::before { content: \"\\f488\"; }"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":".bi-menu-button-wide::before { content: \"\\f489\"; }"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":".bi-menu-button::before { content: \"\\f48a\"; }"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":".bi-menu-down::before { content: \"\\f48b\"; }"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":".bi-menu-up::before { content: \"\\f48c\"; }"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":".bi-mic-fill::before { content: \"\\f48d\"; }"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute-fill::before { content: \"\\f48e\"; }"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":".bi-mic-mute::before { content: \"\\f48f\"; }"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":".bi-mic::before { content: \"\\f490\"; }"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":".bi-minecart-loaded::before { content: \"\\f491\"; }"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":".bi-minecart::before { content: \"\\f492\"; }"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":".bi-moisture::before { content: \"\\f493\"; }"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":".bi-moon-fill::before { content: \"\\f494\"; }"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars-fill::before { content: \"\\f495\"; }"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":".bi-moon-stars::before { content: \"\\f496\"; }"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":".bi-moon::before { content: \"\\f497\"; }"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":".bi-mouse-fill::before { content: \"\\f498\"; }"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":".bi-mouse::before { content: \"\\f499\"; }"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":".bi-mouse2-fill::before { content: \"\\f49a\"; }"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":".bi-mouse2::before { content: \"\\f49b\"; }"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":".bi-mouse3-fill::before { content: \"\\f49c\"; }"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":".bi-mouse3::before { content: \"\\f49d\"; }"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":".bi-music-note-beamed::before { content: \"\\f49e\"; }"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":".bi-music-note-list::before { content: \"\\f49f\"; }"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":".bi-music-note::before { content: \"\\f4a0\"; }"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":".bi-music-player-fill::before { content: \"\\f4a1\"; }"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":".bi-music-player::before { content: \"\\f4a2\"; }"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":".bi-newspaper::before { content: \"\\f4a3\"; }"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":".bi-node-minus-fill::before { content: \"\\f4a4\"; }"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":".bi-node-minus::before { content: \"\\f4a5\"; }"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":".bi-node-plus-fill::before { content: \"\\f4a6\"; }"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":".bi-node-plus::before { content: \"\\f4a7\"; }"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":".bi-nut-fill::before { content: \"\\f4a8\"; }"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":".bi-nut::before { content: \"\\f4a9\"; }"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":".bi-octagon-fill::before { content: \"\\f4aa\"; }"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":".bi-octagon-half::before { content: \"\\f4ab\"; }"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":".bi-octagon::before { content: \"\\f4ac\"; }"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":".bi-option::before { content: \"\\f4ad\"; }"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":".bi-outlet::before { content: \"\\f4ae\"; }"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":".bi-paint-bucket::before { content: \"\\f4af\"; }"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":".bi-palette-fill::before { content: \"\\f4b0\"; }"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":".bi-palette::before { content: \"\\f4b1\"; }"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":".bi-palette2::before { content: \"\\f4b2\"; }"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":".bi-paperclip::before { content: \"\\f4b3\"; }"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":".bi-paragraph::before { content: \"\\f4b4\"; }"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":".bi-patch-check-fill::before { content: \"\\f4b5\"; }"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":".bi-patch-check::before { content: \"\\f4b6\"; }"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation-fill::before { content: \"\\f4b7\"; }"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":".bi-patch-exclamation::before { content: \"\\f4b8\"; }"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus-fill::before { content: \"\\f4b9\"; }"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":".bi-patch-minus::before { content: \"\\f4ba\"; }"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus-fill::before { content: \"\\f4bb\"; }"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":".bi-patch-plus::before { content: \"\\f4bc\"; }"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":".bi-patch-question-fill::before { content: \"\\f4bd\"; }"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":".bi-patch-question::before { content: \"\\f4be\"; }"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn-fill::before { content: \"\\f4bf\"; }"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":".bi-pause-btn::before { content: \"\\f4c0\"; }"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle-fill::before { content: \"\\f4c1\"; }"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":".bi-pause-circle::before { content: \"\\f4c2\"; }"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":".bi-pause-fill::before { content: \"\\f4c3\"; }"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":".bi-pause::before { content: \"\\f4c4\"; }"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":".bi-peace-fill::before { content: \"\\f4c5\"; }"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":".bi-peace::before { content: \"\\f4c6\"; }"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":".bi-pen-fill::before { content: \"\\f4c7\"; }"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":".bi-pen::before { content: \"\\f4c8\"; }"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":".bi-pencil-fill::before { content: \"\\f4c9\"; }"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":".bi-pencil-square::before { content: \"\\f4ca\"; }"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":".bi-pencil::before { content: \"\\f4cb\"; }"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-fill::before { content: \"\\f4cc\"; }"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":".bi-pentagon-half::before { content: \"\\f4cd\"; }"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":".bi-pentagon::before { content: \"\\f4ce\"; }"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":".bi-people-fill::before { content: \"\\f4cf\"; }"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":".bi-people::before { content: \"\\f4d0\"; }"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":".bi-percent::before { content: \"\\f4d1\"; }"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":".bi-person-badge-fill::before { content: \"\\f4d2\"; }"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":".bi-person-badge::before { content: \"\\f4d3\"; }"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":".bi-person-bounding-box::before { content: \"\\f4d4\"; }"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":".bi-person-check-fill::before { content: \"\\f4d5\"; }"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":".bi-person-check::before { content: \"\\f4d6\"; }"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":".bi-person-circle::before { content: \"\\f4d7\"; }"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":".bi-person-dash-fill::before { content: \"\\f4d8\"; }"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":".bi-person-dash::before { content: \"\\f4d9\"; }"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":".bi-person-fill::before { content: \"\\f4da\"; }"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":".bi-person-lines-fill::before { content: \"\\f4db\"; }"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":".bi-person-plus-fill::before { content: \"\\f4dc\"; }"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":".bi-person-plus::before { content: \"\\f4dd\"; }"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":".bi-person-square::before { content: \"\\f4de\"; }"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":".bi-person-x-fill::before { content: \"\\f4df\"; }"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":".bi-person-x::before { content: \"\\f4e0\"; }"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":".bi-person::before { content: \"\\f4e1\"; }"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":".bi-phone-fill::before { content: \"\\f4e2\"; }"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape-fill::before { content: \"\\f4e3\"; }"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":".bi-phone-landscape::before { content: \"\\f4e4\"; }"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate-fill::before { content: \"\\f4e5\"; }"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":".bi-phone-vibrate::before { content: \"\\f4e6\"; }"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":".bi-phone::before { content: \"\\f4e7\"; }"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart-fill::before { content: \"\\f4e8\"; }"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":".bi-pie-chart::before { content: \"\\f4e9\"; }"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle-fill::before { content: \"\\f4ea\"; }"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":".bi-pin-angle::before { content: \"\\f4eb\"; }"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":".bi-pin-fill::before { content: \"\\f4ec\"; }"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":".bi-pin::before { content: \"\\f4ed\"; }"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":".bi-pip-fill::before { content: \"\\f4ee\"; }"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":".bi-pip::before { content: \"\\f4ef\"; }"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":".bi-play-btn-fill::before { content: \"\\f4f0\"; }"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":".bi-play-btn::before { content: \"\\f4f1\"; }"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":".bi-play-circle-fill::before { content: \"\\f4f2\"; }"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":".bi-play-circle::before { content: \"\\f4f3\"; }"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":".bi-play-fill::before { content: \"\\f4f4\"; }"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":".bi-play::before { content: \"\\f4f5\"; }"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":".bi-plug-fill::before { content: \"\\f4f6\"; }"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":".bi-plug::before { content: \"\\f4f7\"; }"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-dotted::before { content: \"\\f4f8\"; }"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle-fill::before { content: \"\\f4f9\"; }"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":".bi-plus-circle::before { content: \"\\f4fa\"; }"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-dotted::before { content: \"\\f4fb\"; }"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":".bi-plus-square-fill::before { content: \"\\f4fc\"; }"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":".bi-plus-square::before { content: \"\\f4fd\"; }"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":".bi-plus::before { content: \"\\f4fe\"; }"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":".bi-power::before { content: \"\\f4ff\"; }"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":".bi-printer-fill::before { content: \"\\f500\"; }"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":".bi-printer::before { content: \"\\f501\"; }"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":".bi-puzzle-fill::before { content: \"\\f502\"; }"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":".bi-puzzle::before { content: \"\\f503\"; }"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":".bi-question-circle-fill::before { content: \"\\f504\"; }"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":".bi-question-circle::before { content: \"\\f505\"; }"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond-fill::before { content: \"\\f506\"; }"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":".bi-question-diamond::before { content: \"\\f507\"; }"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon-fill::before { content: \"\\f508\"; }"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":".bi-question-octagon::before { content: \"\\f509\"; }"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":".bi-question-square-fill::before { content: \"\\f50a\"; }"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":".bi-question-square::before { content: \"\\f50b\"; }"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":".bi-question::before { content: \"\\f50c\"; }"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":".bi-rainbow::before { content: \"\\f50d\"; }"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":".bi-receipt-cutoff::before { content: \"\\f50e\"; }"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":".bi-receipt::before { content: \"\\f50f\"; }"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":".bi-reception-0::before { content: \"\\f510\"; }"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":".bi-reception-1::before { content: \"\\f511\"; }"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":".bi-reception-2::before { content: \"\\f512\"; }"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":".bi-reception-3::before { content: \"\\f513\"; }"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":".bi-reception-4::before { content: \"\\f514\"; }"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":".bi-record-btn-fill::before { content: \"\\f515\"; }"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":".bi-record-btn::before { content: \"\\f516\"; }"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":".bi-record-circle-fill::before { content: \"\\f517\"; }"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":".bi-record-circle::before { content: \"\\f518\"; }"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":".bi-record-fill::before { content: \"\\f519\"; }"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":".bi-record::before { content: \"\\f51a\"; }"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":".bi-record2-fill::before { content: \"\\f51b\"; }"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":".bi-record2::before { content: \"\\f51c\"; }"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":".bi-reply-all-fill::before { content: \"\\f51d\"; }"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":".bi-reply-all::before { content: \"\\f51e\"; }"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":".bi-reply-fill::before { content: \"\\f51f\"; }"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":".bi-reply::before { content: \"\\f520\"; }"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":".bi-rss-fill::before { content: \"\\f521\"; }"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":".bi-rss::before { content: \"\\f522\"; }"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":".bi-rulers::before { content: \"\\f523\"; }"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":".bi-save-fill::before { content: \"\\f524\"; }"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":".bi-save::before { content: \"\\f525\"; }"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":".bi-save2-fill::before { content: \"\\f526\"; }"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":".bi-save2::before { content: \"\\f527\"; }"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":".bi-scissors::before { content: \"\\f528\"; }"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":".bi-screwdriver::before { content: \"\\f529\"; }"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":".bi-search::before { content: \"\\f52a\"; }"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":".bi-segmented-nav::before { content: \"\\f52b\"; }"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":".bi-server::before { content: \"\\f52c\"; }"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":".bi-share-fill::before { content: \"\\f52d\"; }"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":".bi-share::before { content: \"\\f52e\"; }"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":".bi-shield-check::before { content: \"\\f52f\"; }"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":".bi-shield-exclamation::before { content: \"\\f530\"; }"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-check::before { content: \"\\f531\"; }"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-exclamation::before { content: \"\\f532\"; }"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-minus::before { content: \"\\f533\"; }"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-plus::before { content: \"\\f534\"; }"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill-x::before { content: \"\\f535\"; }"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":".bi-shield-fill::before { content: \"\\f536\"; }"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock-fill::before { content: \"\\f537\"; }"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":".bi-shield-lock::before { content: \"\\f538\"; }"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":".bi-shield-minus::before { content: \"\\f539\"; }"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":".bi-shield-plus::before { content: \"\\f53a\"; }"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":".bi-shield-shaded::before { content: \"\\f53b\"; }"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash-fill::before { content: \"\\f53c\"; }"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":".bi-shield-slash::before { content: \"\\f53d\"; }"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":".bi-shield-x::before { content: \"\\f53e\"; }"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":".bi-shield::before { content: \"\\f53f\"; }"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":".bi-shift-fill::before { content: \"\\f540\"; }"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":".bi-shift::before { content: \"\\f541\"; }"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":".bi-shop-window::before { content: \"\\f542\"; }"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":".bi-shop::before { content: \"\\f543\"; }"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":".bi-shuffle::before { content: \"\\f544\"; }"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2-fill::before { content: \"\\f545\"; }"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":".bi-signpost-2::before { content: \"\\f546\"; }"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":".bi-signpost-fill::before { content: \"\\f547\"; }"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split-fill::before { content: \"\\f548\"; }"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":".bi-signpost-split::before { content: \"\\f549\"; }"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":".bi-signpost::before { content: \"\\f54a\"; }"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":".bi-sim-fill::before { content: \"\\f54b\"; }"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":".bi-sim::before { content: \"\\f54c\"; }"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn-fill::before { content: \"\\f54d\"; }"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-btn::before { content: \"\\f54e\"; }"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle-fill::before { content: \"\\f54f\"; }"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-circle::before { content: \"\\f550\"; }"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward-fill::before { content: \"\\f551\"; }"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":".bi-skip-backward::before { content: \"\\f552\"; }"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn-fill::before { content: \"\\f553\"; }"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-btn::before { content: \"\\f554\"; }"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle-fill::before { content: \"\\f555\"; }"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-circle::before { content: \"\\f556\"; }"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":".bi-skip-end-fill::before { content: \"\\f557\"; }"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":".bi-skip-end::before { content: \"\\f558\"; }"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn-fill::before { content: \"\\f559\"; }"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-btn::before { content: \"\\f55a\"; }"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle-fill::before { content: \"\\f55b\"; }"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-circle::before { content: \"\\f55c\"; }"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward-fill::before { content: \"\\f55d\"; }"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":".bi-skip-forward::before { content: \"\\f55e\"; }"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn-fill::before { content: \"\\f55f\"; }"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-btn::before { content: \"\\f560\"; }"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle-fill::before { content: \"\\f561\"; }"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-circle::before { content: \"\\f562\"; }"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":".bi-skip-start-fill::before { content: \"\\f563\"; }"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":".bi-skip-start::before { content: \"\\f564\"; }"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":".bi-slack::before { content: \"\\f565\"; }"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle-fill::before { content: \"\\f566\"; }"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":".bi-slash-circle::before { content: \"\\f567\"; }"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":".bi-slash-square-fill::before { content: \"\\f568\"; }"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":".bi-slash-square::before { content: \"\\f569\"; }"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":".bi-slash::before { content: \"\\f56a\"; }"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":".bi-sliders::before { content: \"\\f56b\"; }"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":".bi-smartwatch::before { content: \"\\f56c\"; }"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":".bi-snow::before { content: \"\\f56d\"; }"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":".bi-snow2::before { content: \"\\f56e\"; }"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":".bi-snow3::before { content: \"\\f56f\"; }"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down-alt::before { content: \"\\f570\"; }"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-down::before { content: \"\\f571\"; }"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up-alt::before { content: \"\\f572\"; }"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":".bi-sort-alpha-up::before { content: \"\\f573\"; }"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":".bi-sort-down-alt::before { content: \"\\f574\"; }"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":".bi-sort-down::before { content: \"\\f575\"; }"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down-alt::before { content: \"\\f576\"; }"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-down::before { content: \"\\f577\"; }"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up-alt::before { content: \"\\f578\"; }"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":".bi-sort-numeric-up::before { content: \"\\f579\"; }"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":".bi-sort-up-alt::before { content: \"\\f57a\"; }"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":".bi-sort-up::before { content: \"\\f57b\"; }"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":".bi-soundwave::before { content: \"\\f57c\"; }"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":".bi-speaker-fill::before { content: \"\\f57d\"; }"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":".bi-speaker::before { content: \"\\f57e\"; }"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":".bi-speedometer::before { content: \"\\f57f\"; }"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":".bi-speedometer2::before { content: \"\\f580\"; }"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":".bi-spellcheck::before { content: \"\\f581\"; }"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":".bi-square-fill::before { content: \"\\f582\"; }"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":".bi-square-half::before { content: \"\\f583\"; }"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":".bi-square::before { content: \"\\f584\"; }"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":".bi-stack::before { content: \"\\f585\"; }"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":".bi-star-fill::before { content: \"\\f586\"; }"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":".bi-star-half::before { content: \"\\f587\"; }"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":".bi-star::before { content: \"\\f588\"; }"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":".bi-stars::before { content: \"\\f589\"; }"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":".bi-stickies-fill::before { content: \"\\f58a\"; }"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":".bi-stickies::before { content: \"\\f58b\"; }"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":".bi-sticky-fill::before { content: \"\\f58c\"; }"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":".bi-sticky::before { content: \"\\f58d\"; }"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn-fill::before { content: \"\\f58e\"; }"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":".bi-stop-btn::before { content: \"\\f58f\"; }"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle-fill::before { content: \"\\f590\"; }"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":".bi-stop-circle::before { content: \"\\f591\"; }"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":".bi-stop-fill::before { content: \"\\f592\"; }"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":".bi-stop::before { content: \"\\f593\"; }"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":".bi-stoplights-fill::before { content: \"\\f594\"; }"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":".bi-stoplights::before { content: \"\\f595\"; }"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch-fill::before { content: \"\\f596\"; }"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":".bi-stopwatch::before { content: \"\\f597\"; }"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":".bi-subtract::before { content: \"\\f598\"; }"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":".bi-suit-club-fill::before { content: \"\\f599\"; }"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":".bi-suit-club::before { content: \"\\f59a\"; }"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond-fill::before { content: \"\\f59b\"; }"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":".bi-suit-diamond::before { content: \"\\f59c\"; }"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart-fill::before { content: \"\\f59d\"; }"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":".bi-suit-heart::before { content: \"\\f59e\"; }"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade-fill::before { content: \"\\f59f\"; }"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":".bi-suit-spade::before { content: \"\\f5a0\"; }"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":".bi-sun-fill::before { content: \"\\f5a1\"; }"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":".bi-sun::before { content: \"\\f5a2\"; }"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":".bi-sunglasses::before { content: \"\\f5a3\"; }"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":".bi-sunrise-fill::before { content: \"\\f5a4\"; }"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":".bi-sunrise::before { content: \"\\f5a5\"; }"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":".bi-sunset-fill::before { content: \"\\f5a6\"; }"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":".bi-sunset::before { content: \"\\f5a7\"; }"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-horizontal::before { content: \"\\f5a8\"; }"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":".bi-symmetry-vertical::before { content: \"\\f5a9\"; }"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":".bi-table::before { content: \"\\f5aa\"; }"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":".bi-tablet-fill::before { content: \"\\f5ab\"; }"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape-fill::before { content: \"\\f5ac\"; }"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":".bi-tablet-landscape::before { content: \"\\f5ad\"; }"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":".bi-tablet::before { content: \"\\f5ae\"; }"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":".bi-tag-fill::before { content: \"\\f5af\"; }"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":".bi-tag::before { content: \"\\f5b0\"; }"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":".bi-tags-fill::before { content: \"\\f5b1\"; }"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":".bi-tags::before { content: \"\\f5b2\"; }"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":".bi-telegram::before { content: \"\\f5b3\"; }"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":".bi-telephone-fill::before { content: \"\\f5b4\"; }"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward-fill::before { content: \"\\f5b5\"; }"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":".bi-telephone-forward::before { content: \"\\f5b6\"; }"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound-fill::before { content: \"\\f5b7\"; }"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":".bi-telephone-inbound::before { content: \"\\f5b8\"; }"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus-fill::before { content: \"\\f5b9\"; }"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":".bi-telephone-minus::before { content: \"\\f5ba\"; }"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound-fill::before { content: \"\\f5bb\"; }"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":".bi-telephone-outbound::before { content: \"\\f5bc\"; }"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus-fill::before { content: \"\\f5bd\"; }"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":".bi-telephone-plus::before { content: \"\\f5be\"; }"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x-fill::before { content: \"\\f5bf\"; }"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":".bi-telephone-x::before { content: \"\\f5c0\"; }"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":".bi-telephone::before { content: \"\\f5c1\"; }"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":".bi-terminal-fill::before { content: \"\\f5c2\"; }"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":".bi-terminal::before { content: \"\\f5c3\"; }"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":".bi-text-center::before { content: \"\\f5c4\"; }"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-left::before { content: \"\\f5c5\"; }"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":".bi-text-indent-right::before { content: \"\\f5c6\"; }"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":".bi-text-left::before { content: \"\\f5c7\"; }"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":".bi-text-paragraph::before { content: \"\\f5c8\"; }"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":".bi-text-right::before { content: \"\\f5c9\"; }"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":".bi-textarea-resize::before { content: \"\\f5ca\"; }"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":".bi-textarea-t::before { content: \"\\f5cb\"; }"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":".bi-textarea::before { content: \"\\f5cc\"; }"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-half::before { content: \"\\f5cd\"; }"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-high::before { content: \"\\f5ce\"; }"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-low::before { content: \"\\f5cf\"; }"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-snow::before { content: \"\\f5d0\"; }"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":".bi-thermometer-sun::before { content: \"\\f5d1\"; }"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":".bi-thermometer::before { content: \"\\f5d2\"; }"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":".bi-three-dots-vertical::before { content: \"\\f5d3\"; }"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":".bi-three-dots::before { content: \"\\f5d4\"; }"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":".bi-toggle-off::before { content: \"\\f5d5\"; }"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":".bi-toggle-on::before { content: \"\\f5d6\"; }"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-off::before { content: \"\\f5d7\"; }"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":".bi-toggle2-on::before { content: \"\\f5d8\"; }"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":".bi-toggles::before { content: \"\\f5d9\"; }"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":".bi-toggles2::before { content: \"\\f5da\"; }"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":".bi-tools::before { content: \"\\f5db\"; }"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":".bi-tornado::before { content: \"\\f5dc\"; }"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":".bi-trash-fill::before { content: \"\\f5dd\"; }"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":".bi-trash::before { content: \"\\f5de\"; }"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":".bi-trash2-fill::before { content: \"\\f5df\"; }"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":".bi-trash2::before { content: \"\\f5e0\"; }"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":".bi-tree-fill::before { content: \"\\f5e1\"; }"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":".bi-tree::before { content: \"\\f5e2\"; }"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":".bi-triangle-fill::before { content: \"\\f5e3\"; }"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":".bi-triangle-half::before { content: \"\\f5e4\"; }"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":".bi-triangle::before { content: \"\\f5e5\"; }"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":".bi-trophy-fill::before { content: \"\\f5e6\"; }"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":".bi-trophy::before { content: \"\\f5e7\"; }"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":".bi-tropical-storm::before { content: \"\\f5e8\"; }"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":".bi-truck-flatbed::before { content: \"\\f5e9\"; }"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":".bi-truck::before { content: \"\\f5ea\"; }"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":".bi-tsunami::before { content: \"\\f5eb\"; }"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":".bi-tv-fill::before { content: \"\\f5ec\"; }"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":".bi-tv::before { content: \"\\f5ed\"; }"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":".bi-twitch::before { content: \"\\f5ee\"; }"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":".bi-twitter::before { content: \"\\f5ef\"; }"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":".bi-type-bold::before { content: \"\\f5f0\"; }"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":".bi-type-h1::before { content: \"\\f5f1\"; }"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":".bi-type-h2::before { content: \"\\f5f2\"; }"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":".bi-type-h3::before { content: \"\\f5f3\"; }"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":".bi-type-italic::before { content: \"\\f5f4\"; }"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":".bi-type-strikethrough::before { content: \"\\f5f5\"; }"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":".bi-type-underline::before { content: \"\\f5f6\"; }"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":".bi-type::before { content: \"\\f5f7\"; }"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks-grid::before { content: \"\\f5f8\"; }"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":".bi-ui-checks::before { content: \"\\f5f9\"; }"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios-grid::before { content: \"\\f5fa\"; }"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":".bi-ui-radios::before { content: \"\\f5fb\"; }"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":".bi-umbrella-fill::before { content: \"\\f5fc\"; }"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":".bi-umbrella::before { content: \"\\f5fd\"; }"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":".bi-union::before { content: \"\\f5fe\"; }"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":".bi-unlock-fill::before { content: \"\\f5ff\"; }"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":".bi-unlock::before { content: \"\\f600\"; }"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":".bi-upc-scan::before { content: \"\\f601\"; }"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":".bi-upc::before { content: \"\\f602\"; }"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":".bi-upload::before { content: \"\\f603\"; }"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":".bi-vector-pen::before { content: \"\\f604\"; }"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":".bi-view-list::before { content: \"\\f605\"; }"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":".bi-view-stacked::before { content: \"\\f606\"; }"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":".bi-vinyl-fill::before { content: \"\\f607\"; }"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":".bi-vinyl::before { content: \"\\f608\"; }"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":".bi-voicemail::before { content: \"\\f609\"; }"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":".bi-volume-down-fill::before { content: \"\\f60a\"; }"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":".bi-volume-down::before { content: \"\\f60b\"; }"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute-fill::before { content: \"\\f60c\"; }"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":".bi-volume-mute::before { content: \"\\f60d\"; }"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":".bi-volume-off-fill::before { content: \"\\f60e\"; }"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":".bi-volume-off::before { content: \"\\f60f\"; }"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":".bi-volume-up-fill::before { content: \"\\f610\"; }"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":".bi-volume-up::before { content: \"\\f611\"; }"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":".bi-vr::before { content: \"\\f612\"; }"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":".bi-wallet-fill::before { content: \"\\f613\"; }"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":".bi-wallet::before { content: \"\\f614\"; }"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":".bi-wallet2::before { content: \"\\f615\"; }"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":".bi-watch::before { content: \"\\f616\"; }"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":".bi-water::before { content: \"\\f617\"; }"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":".bi-whatsapp::before { content: \"\\f618\"; }"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":".bi-wifi-1::before { content: \"\\f619\"; }"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":".bi-wifi-2::before { content: \"\\f61a\"; }"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":".bi-wifi-off::before { content: \"\\f61b\"; }"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":".bi-wifi::before { content: \"\\f61c\"; }"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":".bi-wind::before { content: \"\\f61d\"; }"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":".bi-window-dock::before { content: \"\\f61e\"; }"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":".bi-window-sidebar::before { content: \"\\f61f\"; }"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":".bi-window::before { content: \"\\f620\"; }"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":".bi-wrench::before { content: \"\\f621\"; }"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":".bi-x-circle-fill::before { content: \"\\f622\"; }"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":".bi-x-circle::before { content: \"\\f623\"; }"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond-fill::before { content: \"\\f624\"; }"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":".bi-x-diamond::before { content: \"\\f625\"; }"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon-fill::before { content: \"\\f626\"; }"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":".bi-x-octagon::before { content: \"\\f627\"; }"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":".bi-x-square-fill::before { content: \"\\f628\"; }"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":".bi-x-square::before { content: \"\\f629\"; }"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":".bi-x::before { content: \"\\f62a\"; }"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":".bi-youtube::before { content: \"\\f62b\"; }"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":".bi-zoom-in::before { content: \"\\f62c\"; }"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":".bi-zoom-out::before { content: \"\\f62d\"; }"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":".bi-bank::before { content: \"\\f62e\"; }"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":".bi-bank2::before { content: \"\\f62f\"; }"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash-fill::before { content: \"\\f630\"; }"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":".bi-bell-slash::before { content: \"\\f631\"; }"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":".bi-cash-coin::before { content: \"\\f632\"; }"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":".bi-check-lg::before { content: \"\\f633\"; }"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":".bi-coin::before { content: \"\\f634\"; }"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":".bi-currency-bitcoin::before { content: \"\\f635\"; }"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":".bi-currency-dollar::before { content: \"\\f636\"; }"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":".bi-currency-euro::before { content: \"\\f637\"; }"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":".bi-currency-exchange::before { content: \"\\f638\"; }"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":".bi-currency-pound::before { content: \"\\f639\"; }"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":".bi-currency-yen::before { content: \"\\f63a\"; }"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":".bi-dash-lg::before { content: \"\\f63b\"; }"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":".bi-exclamation-lg::before { content: \"\\f63c\"; }"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf-fill::before { content: \"\\f63d\"; }"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":".bi-file-earmark-pdf::before { content: \"\\f63e\"; }"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf-fill::before { content: \"\\f63f\"; }"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":".bi-file-pdf::before { content: \"\\f640\"; }"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":".bi-gender-ambiguous::before { content: \"\\f641\"; }"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":".bi-gender-female::before { content: \"\\f642\"; }"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":".bi-gender-male::before { content: \"\\f643\"; }"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":".bi-gender-trans::before { content: \"\\f644\"; }"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":".bi-headset-vr::before { content: \"\\f645\"; }"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":".bi-info-lg::before { content: \"\\f646\"; }"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":".bi-mastodon::before { content: \"\\f647\"; }"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":".bi-messenger::before { content: \"\\f648\"; }"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank-fill::before { content: \"\\f649\"; }"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":".bi-piggy-bank::before { content: \"\\f64a\"; }"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":".bi-pin-map-fill::before { content: \"\\f64b\"; }"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":".bi-pin-map::before { content: \"\\f64c\"; }"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":".bi-plus-lg::before { content: \"\\f64d\"; }"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":".bi-question-lg::before { content: \"\\f64e\"; }"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":".bi-recycle::before { content: \"\\f64f\"; }"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":".bi-reddit::before { content: \"\\f650\"; }"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":".bi-safe-fill::before { content: \"\\f651\"; }"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":".bi-safe2-fill::before { content: \"\\f652\"; }"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":".bi-safe2::before { content: \"\\f653\"; }"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":".bi-sd-card-fill::before { content: \"\\f654\"; }"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":".bi-sd-card::before { content: \"\\f655\"; }"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":".bi-skype::before { content: \"\\f656\"; }"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":".bi-slash-lg::before { content: \"\\f657\"; }"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":".bi-translate::before { content: \"\\f658\"; }"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":".bi-x-lg::before { content: \"\\f659\"; }"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":".bi-safe::before { content: \"\\f65a\"; }"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":".bi-apple::before { content: \"\\f65b\"; }"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":".bi-microsoft::before { content: \"\\f65d\"; }"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":".bi-windows::before { content: \"\\f65e\"; }"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":".bi-behance::before { content: \"\\f65c\"; }"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":".bi-dribbble::before { content: \"\\f65f\"; }"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":".bi-line::before { content: \"\\f660\"; }"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":".bi-medium::before { content: \"\\f661\"; }"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":".bi-paypal::before { content: \"\\f662\"; }"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":".bi-pinterest::before { content: \"\\f663\"; }"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":".bi-signal::before { content: \"\\f664\"; }"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":".bi-snapchat::before { content: \"\\f665\"; }"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":".bi-spotify::before { content: \"\\f666\"; }"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":".bi-stack-overflow::before { content: \"\\f667\"; }"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":".bi-strava::before { content: \"\\f668\"; }"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":".bi-wordpress::before { content: \"\\f669\"; }"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":".bi-vimeo::before { content: \"\\f66a\"; }"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":".bi-activity::before { content: \"\\f66b\"; }"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":".bi-easel2-fill::before { content: \"\\f66c\"; }"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":".bi-easel2::before { content: \"\\f66d\"; }"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":".bi-easel3-fill::before { content: \"\\f66e\"; }"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":".bi-easel3::before { content: \"\\f66f\"; }"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":".bi-fan::before { content: \"\\f670\"; }"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":".bi-fingerprint::before { content: \"\\f671\"; }"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":".bi-graph-down-arrow::before { content: \"\\f672\"; }"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":".bi-graph-up-arrow::before { content: \"\\f673\"; }"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":".bi-hypnotize::before { content: \"\\f674\"; }"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":".bi-magic::before { content: \"\\f675\"; }"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":".bi-person-rolodex::before { content: \"\\f676\"; }"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":".bi-person-video::before { content: \"\\f677\"; }"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":".bi-person-video2::before { content: \"\\f678\"; }"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":".bi-person-video3::before { content: \"\\f679\"; }"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":".bi-person-workspace::before { content: \"\\f67a\"; }"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":".bi-radioactive::before { content: \"\\f67b\"; }"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":".bi-webcam-fill::before { content: \"\\f67c\"; }"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":".bi-webcam::before { content: \"\\f67d\"; }"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":".bi-yin-yang::before { content: \"\\f67e\"; }"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":".bi-bandaid-fill::before { content: \"\\f680\"; }"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":".bi-bandaid::before { content: \"\\f681\"; }"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":".bi-bluetooth::before { content: \"\\f682\"; }"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":".bi-body-text::before { content: \"\\f683\"; }"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":".bi-boombox::before { content: \"\\f684\"; }"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":".bi-boxes::before { content: \"\\f685\"; }"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":".bi-dpad-fill::before { content: \"\\f686\"; }"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":".bi-dpad::before { content: \"\\f687\"; }"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":".bi-ear-fill::before { content: \"\\f688\"; }"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":".bi-ear::before { content: \"\\f689\"; }"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check-fill::before { content: \"\\f68b\"; }"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":".bi-envelope-check::before { content: \"\\f68c\"; }"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash-fill::before { content: \"\\f68e\"; }"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":".bi-envelope-dash::before { content: \"\\f68f\"; }"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation-fill::before { content: \"\\f691\"; }"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":".bi-envelope-exclamation::before { content: \"\\f692\"; }"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus-fill::before { content: \"\\f693\"; }"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":".bi-envelope-plus::before { content: \"\\f694\"; }"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash-fill::before { content: \"\\f696\"; }"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":".bi-envelope-slash::before { content: \"\\f697\"; }"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x-fill::before { content: \"\\f699\"; }"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":".bi-envelope-x::before { content: \"\\f69a\"; }"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":".bi-explicit-fill::before { content: \"\\f69b\"; }"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":".bi-explicit::before { content: \"\\f69c\"; }"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":".bi-git::before { content: \"\\f69d\"; }"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":".bi-infinity::before { content: \"\\f69e\"; }"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":".bi-list-columns-reverse::before { content: \"\\f69f\"; }"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":".bi-list-columns::before { content: \"\\f6a0\"; }"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":".bi-meta::before { content: \"\\f6a1\"; }"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":".bi-nintendo-switch::before { content: \"\\f6a4\"; }"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":".bi-pc-display-horizontal::before { content: \"\\f6a5\"; }"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":".bi-pc-display::before { content: \"\\f6a6\"; }"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":".bi-pc-horizontal::before { content: \"\\f6a7\"; }"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":".bi-pc::before { content: \"\\f6a8\"; }"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":".bi-playstation::before { content: \"\\f6a9\"; }"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":".bi-plus-slash-minus::before { content: \"\\f6aa\"; }"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":".bi-projector-fill::before { content: \"\\f6ab\"; }"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":".bi-projector::before { content: \"\\f6ac\"; }"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":".bi-qr-code-scan::before { content: \"\\f6ad\"; }"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":".bi-qr-code::before { content: \"\\f6ae\"; }"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":".bi-quora::before { content: \"\\f6af\"; }"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":".bi-quote::before { content: \"\\f6b0\"; }"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":".bi-robot::before { content: \"\\f6b1\"; }"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":".bi-send-check-fill::before { content: \"\\f6b2\"; }"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":".bi-send-check::before { content: \"\\f6b3\"; }"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":".bi-send-dash-fill::before { content: \"\\f6b4\"; }"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":".bi-send-dash::before { content: \"\\f6b5\"; }"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation-fill::before { content: \"\\f6b7\"; }"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":".bi-send-exclamation::before { content: \"\\f6b8\"; }"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":".bi-send-fill::before { content: \"\\f6b9\"; }"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":".bi-send-plus-fill::before { content: \"\\f6ba\"; }"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":".bi-send-plus::before { content: \"\\f6bb\"; }"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":".bi-send-slash-fill::before { content: \"\\f6bc\"; }"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":".bi-send-slash::before { content: \"\\f6bd\"; }"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":".bi-send-x-fill::before { content: \"\\f6be\"; }"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":".bi-send-x::before { content: \"\\f6bf\"; }"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":".bi-send::before { content: \"\\f6c0\"; }"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":".bi-steam::before { content: \"\\f6c1\"; }"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":".bi-terminal-dash::before { content: \"\\f6c3\"; }"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":".bi-terminal-plus::before { content: \"\\f6c4\"; }"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":".bi-terminal-split::before { content: \"\\f6c5\"; }"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed-fill::before { content: \"\\f6c6\"; }"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":".bi-ticket-detailed::before { content: \"\\f6c7\"; }"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":".bi-ticket-fill::before { content: \"\\f6c8\"; }"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated-fill::before { content: \"\\f6c9\"; }"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":".bi-ticket-perforated::before { content: \"\\f6ca\"; }"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":".bi-ticket::before { content: \"\\f6cb\"; }"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":".bi-tiktok::before { content: \"\\f6cc\"; }"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":".bi-window-dash::before { content: \"\\f6cd\"; }"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":".bi-window-desktop::before { content: \"\\f6ce\"; }"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":".bi-window-fullscreen::before { content: \"\\f6cf\"; }"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":".bi-window-plus::before { content: \"\\f6d0\"; }"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":".bi-window-split::before { content: \"\\f6d1\"; }"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":".bi-window-stack::before { content: \"\\f6d2\"; }"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":".bi-window-x::before { content: \"\\f6d3\"; }"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":".bi-xbox::before { content: \"\\f6d4\"; }"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":".bi-ethernet::before { content: \"\\f6d5\"; }"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":".bi-hdmi-fill::before { content: \"\\f6d6\"; }"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":".bi-hdmi::before { content: \"\\f6d7\"; }"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":".bi-usb-c-fill::before { content: \"\\f6d8\"; }"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":".bi-usb-c::before { content: \"\\f6d9\"; }"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":".bi-usb-fill::before { content: \"\\f6da\"; }"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug-fill::before { content: \"\\f6db\"; }"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":".bi-usb-plug::before { content: \"\\f6dc\"; }"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":".bi-usb-symbol::before { content: \"\\f6dd\"; }"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":".bi-usb::before { content: \"\\f6de\"; }"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":".bi-boombox-fill::before { content: \"\\f6df\"; }"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":".bi-displayport::before { content: \"\\f6e1\"; }"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":".bi-gpu-card::before { content: \"\\f6e2\"; }"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":".bi-memory::before { content: \"\\f6e3\"; }"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":".bi-modem-fill::before { content: \"\\f6e4\"; }"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":".bi-modem::before { content: \"\\f6e5\"; }"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":".bi-motherboard-fill::before { content: \"\\f6e6\"; }"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":".bi-motherboard::before { content: \"\\f6e7\"; }"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio-fill::before { content: \"\\f6e8\"; }"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":".bi-optical-audio::before { content: \"\\f6e9\"; }"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":".bi-pci-card::before { content: \"\\f6ea\"; }"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":".bi-router-fill::before { content: \"\\f6eb\"; }"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":".bi-router::before { content: \"\\f6ec\"; }"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt-fill::before { content: \"\\f6ef\"; }"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":".bi-thunderbolt::before { content: \"\\f6f0\"; }"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive-fill::before { content: \"\\f6f1\"; }"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":".bi-usb-drive::before { content: \"\\f6f2\"; }"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro-fill::before { content: \"\\f6f3\"; }"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":".bi-usb-micro::before { content: \"\\f6f4\"; }"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini-fill::before { content: \"\\f6f5\"; }"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":".bi-usb-mini::before { content: \"\\f6f6\"; }"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":".bi-cloud-haze2::before { content: \"\\f6f7\"; }"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd-fill::before { content: \"\\f6f8\"; }"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":".bi-device-hdd::before { content: \"\\f6f9\"; }"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd-fill::before { content: \"\\f6fa\"; }"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":".bi-device-ssd::before { content: \"\\f6fb\"; }"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":".bi-displayport-fill::before { content: \"\\f6fc\"; }"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard-fill::before { content: \"\\f6fd\"; }"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":".bi-mortarboard::before { content: \"\\f6fe\"; }"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":".bi-terminal-x::before { content: \"\\f6ff\"; }"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart-fill::before { content: \"\\f700\"; }"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":".bi-arrow-through-heart::before { content: \"\\f701\"; }"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd-fill::before { content: \"\\f702\"; }"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":".bi-badge-sd::before { content: \"\\f703\"; }"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart-fill::before { content: \"\\f704\"; }"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":".bi-bag-heart::before { content: \"\\f705\"; }"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":".bi-balloon-fill::before { content: \"\\f706\"; }"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart-fill::before { content: \"\\f707\"; }"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":".bi-balloon-heart::before { content: \"\\f708\"; }"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":".bi-balloon::before { content: \"\\f709\"; }"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":".bi-box2-fill::before { content: \"\\f70a\"; }"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart-fill::before { content: \"\\f70b\"; }"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":".bi-box2-heart::before { content: \"\\f70c\"; }"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":".bi-box2::before { content: \"\\f70d\"; }"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":".bi-braces-asterisk::before { content: \"\\f70e\"; }"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart-fill::before { content: \"\\f70f\"; }"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":".bi-calendar-heart::before { content: \"\\f710\"; }"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart-fill::before { content: \"\\f711\"; }"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":".bi-calendar2-heart::before { content: \"\\f712\"; }"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart-fill::before { content: \"\\f713\"; }"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":".bi-chat-heart::before { content: \"\\f714\"; }"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart-fill::before { content: \"\\f715\"; }"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":".bi-chat-left-heart::before { content: \"\\f716\"; }"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart-fill::before { content: \"\\f717\"; }"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":".bi-chat-right-heart::before { content: \"\\f718\"; }"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart-fill::before { content: \"\\f719\"; }"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":".bi-chat-square-heart::before { content: \"\\f71a\"; }"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-check-fill::before { content: \"\\f71b\"; }"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-data-fill::before { content: \"\\f71c\"; }"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-fill::before { content: \"\\f71d\"; }"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart-fill::before { content: \"\\f71e\"; }"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-heart::before { content: \"\\f71f\"; }"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-minus-fill::before { content: \"\\f720\"; }"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-plus-fill::before { content: \"\\f721\"; }"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-pulse::before { content: \"\\f722\"; }"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":".bi-clipboard-x-fill::before { content: \"\\f723\"; }"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check-fill::before { content: \"\\f724\"; }"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-check::before { content: \"\\f725\"; }"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data-fill::before { content: \"\\f726\"; }"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-data::before { content: \"\\f727\"; }"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-fill::before { content: \"\\f728\"; }"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart-fill::before { content: \"\\f729\"; }"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-heart::before { content: \"\\f72a\"; }"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus-fill::before { content: \"\\f72b\"; }"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-minus::before { content: \"\\f72c\"; }"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus-fill::before { content: \"\\f72d\"; }"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-plus::before { content: \"\\f72e\"; }"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse-fill::before { content: \"\\f72f\"; }"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-pulse::before { content: \"\\f730\"; }"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x-fill::before { content: \"\\f731\"; }"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2-x::before { content: \"\\f732\"; }"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":".bi-clipboard2::before { content: \"\\f733\"; }"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss-fill::before { content: \"\\f734\"; }"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":".bi-emoji-kiss::before { content: \"\\f735\"; }"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart-fill::before { content: \"\\f736\"; }"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":".bi-envelope-heart::before { content: \"\\f737\"; }"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart-fill::before { content: \"\\f738\"; }"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":".bi-envelope-open-heart::before { content: \"\\f739\"; }"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-fill::before { content: \"\\f73a\"; }"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart-fill::before { content: \"\\f73b\"; }"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper-heart::before { content: \"\\f73c\"; }"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":".bi-envelope-paper::before { content: \"\\f73d\"; }"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":".bi-filetype-aac::before { content: \"\\f73e\"; }"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ai::before { content: \"\\f73f\"; }"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":".bi-filetype-bmp::before { content: \"\\f740\"; }"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":".bi-filetype-cs::before { content: \"\\f741\"; }"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":".bi-filetype-css::before { content: \"\\f742\"; }"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":".bi-filetype-csv::before { content: \"\\f743\"; }"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":".bi-filetype-doc::before { content: \"\\f744\"; }"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":".bi-filetype-docx::before { content: \"\\f745\"; }"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":".bi-filetype-exe::before { content: \"\\f746\"; }"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":".bi-filetype-gif::before { content: \"\\f747\"; }"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":".bi-filetype-heic::before { content: \"\\f748\"; }"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":".bi-filetype-html::before { content: \"\\f749\"; }"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":".bi-filetype-java::before { content: \"\\f74a\"; }"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jpg::before { content: \"\\f74b\"; }"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":".bi-filetype-js::before { content: \"\\f74c\"; }"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":".bi-filetype-jsx::before { content: \"\\f74d\"; }"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":".bi-filetype-key::before { content: \"\\f74e\"; }"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":".bi-filetype-m4p::before { content: \"\\f74f\"; }"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":".bi-filetype-md::before { content: \"\\f750\"; }"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mdx::before { content: \"\\f751\"; }"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mov::before { content: \"\\f752\"; }"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp3::before { content: \"\\f753\"; }"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":".bi-filetype-mp4::before { content: \"\\f754\"; }"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":".bi-filetype-otf::before { content: \"\\f755\"; }"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pdf::before { content: \"\\f756\"; }"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":".bi-filetype-php::before { content: \"\\f757\"; }"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":".bi-filetype-png::before { content: \"\\f758\"; }"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ppt::before { content: \"\\f75a\"; }"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":".bi-filetype-psd::before { content: \"\\f75b\"; }"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":".bi-filetype-py::before { content: \"\\f75c\"; }"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":".bi-filetype-raw::before { content: \"\\f75d\"; }"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":".bi-filetype-rb::before { content: \"\\f75e\"; }"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sass::before { content: \"\\f75f\"; }"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":".bi-filetype-scss::before { content: \"\\f760\"; }"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sh::before { content: \"\\f761\"; }"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":".bi-filetype-svg::before { content: \"\\f762\"; }"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tiff::before { content: \"\\f763\"; }"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":".bi-filetype-tsx::before { content: \"\\f764\"; }"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":".bi-filetype-ttf::before { content: \"\\f765\"; }"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":".bi-filetype-txt::before { content: \"\\f766\"; }"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":".bi-filetype-wav::before { content: \"\\f767\"; }"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":".bi-filetype-woff::before { content: \"\\f768\"; }"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xls::before { content: \"\\f76a\"; }"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xml::before { content: \"\\f76b\"; }"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":".bi-filetype-yml::before { content: \"\\f76c\"; }"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":".bi-heart-arrow::before { content: \"\\f76d\"; }"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse-fill::before { content: \"\\f76e\"; }"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":".bi-heart-pulse::before { content: \"\\f76f\"; }"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak-fill::before { content: \"\\f770\"; }"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":".bi-heartbreak::before { content: \"\\f771\"; }"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":".bi-hearts::before { content: \"\\f772\"; }"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":".bi-hospital-fill::before { content: \"\\f773\"; }"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":".bi-hospital::before { content: \"\\f774\"; }"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":".bi-house-heart-fill::before { content: \"\\f775\"; }"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":".bi-house-heart::before { content: \"\\f776\"; }"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":".bi-incognito::before { content: \"\\f777\"; }"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":".bi-magnet-fill::before { content: \"\\f778\"; }"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":".bi-magnet::before { content: \"\\f779\"; }"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":".bi-person-heart::before { content: \"\\f77a\"; }"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":".bi-person-hearts::before { content: \"\\f77b\"; }"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":".bi-phone-flip::before { content: \"\\f77c\"; }"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":".bi-plugin::before { content: \"\\f77d\"; }"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":".bi-postage-fill::before { content: \"\\f77e\"; }"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart-fill::before { content: \"\\f77f\"; }"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":".bi-postage-heart::before { content: \"\\f780\"; }"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":".bi-postage::before { content: \"\\f781\"; }"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":".bi-postcard-fill::before { content: \"\\f782\"; }"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart-fill::before { content: \"\\f783\"; }"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":".bi-postcard-heart::before { content: \"\\f784\"; }"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":".bi-postcard::before { content: \"\\f785\"; }"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":".bi-search-heart-fill::before { content: \"\\f786\"; }"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":".bi-search-heart::before { content: \"\\f787\"; }"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":".bi-sliders2-vertical::before { content: \"\\f788\"; }"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":".bi-sliders2::before { content: \"\\f789\"; }"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":".bi-trash3-fill::before { content: \"\\f78a\"; }"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":".bi-trash3::before { content: \"\\f78b\"; }"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":".bi-valentine::before { content: \"\\f78c\"; }"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":".bi-valentine2::before { content: \"\\f78d\"; }"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle-fill::before { content: \"\\f78e\"; }"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable-circle::before { content: \"\\f78f\"; }"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":".bi-wrench-adjustable::before { content: \"\\f790\"; }"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":".bi-filetype-json::before { content: \"\\f791\"; }"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":".bi-filetype-pptx::before { content: \"\\f792\"; }"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":".bi-filetype-xlsx::before { content: \"\\f793\"; }"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":".bi-1-circle-fill::before { content: \"\\f796\"; }"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":".bi-1-circle::before { content: \"\\f797\"; }"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":".bi-1-square-fill::before { content: \"\\f798\"; }"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":".bi-1-square::before { content: \"\\f799\"; }"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":".bi-2-circle-fill::before { content: \"\\f79c\"; }"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":".bi-2-circle::before { content: \"\\f79d\"; }"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":".bi-2-square-fill::before { content: \"\\f79e\"; }"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":".bi-2-square::before { content: \"\\f79f\"; }"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":".bi-3-circle-fill::before { content: \"\\f7a2\"; }"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":".bi-3-circle::before { content: \"\\f7a3\"; }"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":".bi-3-square-fill::before { content: \"\\f7a4\"; }"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":".bi-3-square::before { content: \"\\f7a5\"; }"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":".bi-4-circle-fill::before { content: \"\\f7a8\"; }"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":".bi-4-circle::before { content: \"\\f7a9\"; }"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":".bi-4-square-fill::before { content: \"\\f7aa\"; }"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":".bi-4-square::before { content: \"\\f7ab\"; }"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":".bi-5-circle-fill::before { content: \"\\f7ae\"; }"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":".bi-5-circle::before { content: \"\\f7af\"; }"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":".bi-5-square-fill::before { content: \"\\f7b0\"; }"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":".bi-5-square::before { content: \"\\f7b1\"; }"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":".bi-6-circle-fill::before { content: \"\\f7b4\"; }"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":".bi-6-circle::before { content: \"\\f7b5\"; }"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":".bi-6-square-fill::before { content: \"\\f7b6\"; }"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":".bi-6-square::before { content: \"\\f7b7\"; }"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":".bi-7-circle-fill::before { content: \"\\f7ba\"; }"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":".bi-7-circle::before { content: \"\\f7bb\"; }"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":".bi-7-square-fill::before { content: \"\\f7bc\"; }"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":".bi-7-square::before { content: \"\\f7bd\"; }"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":".bi-8-circle-fill::before { content: \"\\f7c0\"; }"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":".bi-8-circle::before { content: \"\\f7c1\"; }"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":".bi-8-square-fill::before { content: \"\\f7c2\"; }"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":".bi-8-square::before { content: \"\\f7c3\"; }"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":".bi-9-circle-fill::before { content: \"\\f7c6\"; }"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":".bi-9-circle::before { content: \"\\f7c7\"; }"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":".bi-9-square-fill::before { content: \"\\f7c8\"; }"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":".bi-9-square::before { content: \"\\f7c9\"; }"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines-fill::before { content: \"\\f7ca\"; }"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":".bi-airplane-engines::before { content: \"\\f7cb\"; }"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":".bi-airplane-fill::before { content: \"\\f7cc\"; }"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":".bi-airplane::before { content: \"\\f7cd\"; }"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":".bi-alexa::before { content: \"\\f7ce\"; }"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":".bi-alipay::before { content: \"\\f7cf\"; }"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":".bi-android::before { content: \"\\f7d0\"; }"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":".bi-android2::before { content: \"\\f7d1\"; }"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":".bi-box-fill::before { content: \"\\f7d2\"; }"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":".bi-box-seam-fill::before { content: \"\\f7d3\"; }"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":".bi-browser-chrome::before { content: \"\\f7d4\"; }"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":".bi-browser-edge::before { content: \"\\f7d5\"; }"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":".bi-browser-firefox::before { content: \"\\f7d6\"; }"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":".bi-browser-safari::before { content: \"\\f7d7\"; }"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":".bi-c-circle-fill::before { content: \"\\f7da\"; }"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":".bi-c-circle::before { content: \"\\f7db\"; }"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":".bi-c-square-fill::before { content: \"\\f7dc\"; }"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":".bi-c-square::before { content: \"\\f7dd\"; }"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":".bi-capsule-pill::before { content: \"\\f7de\"; }"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":".bi-capsule::before { content: \"\\f7df\"; }"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":".bi-car-front-fill::before { content: \"\\f7e0\"; }"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":".bi-car-front::before { content: \"\\f7e1\"; }"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":".bi-cassette-fill::before { content: \"\\f7e2\"; }"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":".bi-cassette::before { content: \"\\f7e3\"; }"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle-fill::before { content: \"\\f7e6\"; }"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":".bi-cc-circle::before { content: \"\\f7e7\"; }"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":".bi-cc-square-fill::before { content: \"\\f7e8\"; }"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":".bi-cc-square::before { content: \"\\f7e9\"; }"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot-fill::before { content: \"\\f7ea\"; }"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":".bi-cup-hot::before { content: \"\\f7eb\"; }"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":".bi-currency-rupee::before { content: \"\\f7ec\"; }"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":".bi-dropbox::before { content: \"\\f7ed\"; }"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":".bi-escape::before { content: \"\\f7ee\"; }"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn-fill::before { content: \"\\f7ef\"; }"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-btn::before { content: \"\\f7f0\"; }"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle-fill::before { content: \"\\f7f1\"; }"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-circle::before { content: \"\\f7f2\"; }"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward-fill::before { content: \"\\f7f3\"; }"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":".bi-fast-forward::before { content: \"\\f7f4\"; }"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":".bi-filetype-sql::before { content: \"\\f7f5\"; }"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":".bi-fire::before { content: \"\\f7f6\"; }"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":".bi-google-play::before { content: \"\\f7f7\"; }"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":".bi-h-circle-fill::before { content: \"\\f7fa\"; }"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":".bi-h-circle::before { content: \"\\f7fb\"; }"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":".bi-h-square-fill::before { content: \"\\f7fc\"; }"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":".bi-h-square::before { content: \"\\f7fd\"; }"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":".bi-indent::before { content: \"\\f7fe\"; }"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":".bi-lungs-fill::before { content: \"\\f7ff\"; }"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":".bi-lungs::before { content: \"\\f800\"; }"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":".bi-microsoft-teams::before { content: \"\\f801\"; }"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":".bi-p-circle-fill::before { content: \"\\f804\"; }"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":".bi-p-circle::before { content: \"\\f805\"; }"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":".bi-p-square-fill::before { content: \"\\f806\"; }"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":".bi-p-square::before { content: \"\\f807\"; }"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":".bi-pass-fill::before { content: \"\\f808\"; }"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":".bi-pass::before { content: \"\\f809\"; }"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":".bi-prescription::before { content: \"\\f80a\"; }"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":".bi-prescription2::before { content: \"\\f80b\"; }"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":".bi-r-circle-fill::before { content: \"\\f80e\"; }"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":".bi-r-circle::before { content: \"\\f80f\"; }"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":".bi-r-square-fill::before { content: \"\\f810\"; }"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":".bi-r-square::before { content: \"\\f811\"; }"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":".bi-repeat-1::before { content: \"\\f812\"; }"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":".bi-repeat::before { content: \"\\f813\"; }"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn-fill::before { content: \"\\f814\"; }"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":".bi-rewind-btn::before { content: \"\\f815\"; }"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle-fill::before { content: \"\\f816\"; }"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":".bi-rewind-circle::before { content: \"\\f817\"; }"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":".bi-rewind-fill::before { content: \"\\f818\"; }"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":".bi-rewind::before { content: \"\\f819\"; }"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front-fill::before { content: \"\\f81a\"; }"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":".bi-train-freight-front::before { content: \"\\f81b\"; }"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":".bi-train-front-fill::before { content: \"\\f81c\"; }"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":".bi-train-front::before { content: \"\\f81d\"; }"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front-fill::before { content: \"\\f81e\"; }"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":".bi-train-lightrail-front::before { content: \"\\f81f\"; }"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":".bi-truck-front-fill::before { content: \"\\f820\"; }"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":".bi-truck-front::before { content: \"\\f821\"; }"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":".bi-ubuntu::before { content: \"\\f822\"; }"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":".bi-unindent::before { content: \"\\f823\"; }"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":".bi-unity::before { content: \"\\f824\"; }"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":".bi-universal-access-circle::before { content: \"\\f825\"; }"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":".bi-universal-access::before { content: \"\\f826\"; }"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":".bi-virus::before { content: \"\\f827\"; }"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":".bi-virus2::before { content: \"\\f828\"; }"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":".bi-wechat::before { content: \"\\f829\"; }"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":".bi-yelp::before { content: \"\\f82a\"; }"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-fill::before { content: \"\\f82b\"; }"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights-fill::before { content: \"\\f82c\"; }"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop-lights::before { content: \"\\f82d\"; }"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":".bi-sign-stop::before { content: \"\\f82e\"; }"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left-fill::before { content: \"\\f82f\"; }"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-left::before { content: \"\\f830\"; }"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right-fill::before { content: \"\\f831\"; }"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-right::before { content: \"\\f832\"; }"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left-fill::before { content: \"\\f833\"; }"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-left::before { content: \"\\f834\"; }"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right-fill::before { content: \"\\f835\"; }"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":".bi-sign-turn-slight-right::before { content: \"\\f836\"; }"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield-fill::before { content: \"\\f837\"; }"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":".bi-sign-yield::before { content: \"\\f838\"; }"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":".bi-ev-station-fill::before { content: \"\\f839\"; }"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":".bi-ev-station::before { content: \"\\f83a\"; }"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel-fill::before { content: \"\\f83b\"; }"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-diesel::before { content: \"\\f83c\"; }"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump-fill::before { content: \"\\f83d\"; }"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":".bi-fuel-pump::before { content: \"\\f83e\"; }"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":".bi-0-circle-fill::before { content: \"\\f83f\"; }"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":".bi-0-circle::before { content: \"\\f840\"; }"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":".bi-0-square-fill::before { content: \"\\f841\"; }"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":".bi-0-square::before { content: \"\\f842\"; }"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":".bi-rocket-fill::before { content: \"\\f843\"; }"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff-fill::before { content: \"\\f844\"; }"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":".bi-rocket-takeoff::before { content: \"\\f845\"; }"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":".bi-rocket::before { content: \"\\f846\"; }"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":".bi-stripe::before { content: \"\\f847\"; }"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":".bi-subscript::before { content: \"\\f848\"; }"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":".bi-superscript::before { content: \"\\f849\"; }"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":".bi-trello::before { content: \"\\f84a\"; }"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at-fill::before { content: \"\\f84b\"; }"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":".bi-envelope-at::before { content: \"\\f84c\"; }"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":".bi-regex::before { content: \"\\f84d\"; }"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":".bi-text-wrap::before { content: \"\\f84e\"; }"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end-fill::before { content: \"\\f84f\"; }"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":".bi-sign-dead-end::before { content: \"\\f850\"; }"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter-fill::before { content: \"\\f851\"; }"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":".bi-sign-do-not-enter::before { content: \"\\f852\"; }"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-fill::before { content: \"\\f853\"; }"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side-fill::before { content: \"\\f854\"; }"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-side::before { content: \"\\f855\"; }"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t-fill::before { content: \"\\f856\"; }"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-t::before { content: \"\\f857\"; }"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y-fill::before { content: \"\\f858\"; }"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection-y::before { content: \"\\f859\"; }"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":".bi-sign-intersection::before { content: \"\\f85a\"; }"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left-fill::before { content: \"\\f85b\"; }"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-left::before { content: \"\\f85c\"; }"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right-fill::before { content: \"\\f85d\"; }"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":".bi-sign-merge-right::before { content: \"\\f85e\"; }"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn-fill::before { content: \"\\f85f\"; }"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-left-turn::before { content: \"\\f860\"; }"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking-fill::before { content: \"\\f861\"; }"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-parking::before { content: \"\\f862\"; }"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn-fill::before { content: \"\\f863\"; }"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":".bi-sign-no-right-turn::before { content: \"\\f864\"; }"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad-fill::before { content: \"\\f865\"; }"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":".bi-sign-railroad::before { content: \"\\f866\"; }"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":".bi-building-add::before { content: \"\\f867\"; }"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":".bi-building-check::before { content: \"\\f868\"; }"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":".bi-building-dash::before { content: \"\\f869\"; }"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":".bi-building-down::before { content: \"\\f86a\"; }"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":".bi-building-exclamation::before { content: \"\\f86b\"; }"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-add::before { content: \"\\f86c\"; }"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-check::before { content: \"\\f86d\"; }"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-dash::before { content: \"\\f86e\"; }"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-down::before { content: \"\\f86f\"; }"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-exclamation::before { content: \"\\f870\"; }"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-gear::before { content: \"\\f871\"; }"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-lock::before { content: \"\\f872\"; }"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-slash::before { content: \"\\f873\"; }"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-up::before { content: \"\\f874\"; }"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":".bi-building-fill-x::before { content: \"\\f875\"; }"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":".bi-building-fill::before { content: \"\\f876\"; }"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":".bi-building-gear::before { content: \"\\f877\"; }"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":".bi-building-lock::before { content: \"\\f878\"; }"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":".bi-building-slash::before { content: \"\\f879\"; }"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":".bi-building-up::before { content: \"\\f87a\"; }"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":".bi-building-x::before { content: \"\\f87b\"; }"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":".bi-buildings-fill::before { content: \"\\f87c\"; }"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":".bi-buildings::before { content: \"\\f87d\"; }"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":".bi-bus-front-fill::before { content: \"\\f87e\"; }"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":".bi-bus-front::before { content: \"\\f87f\"; }"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":".bi-ev-front-fill::before { content: \"\\f880\"; }"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":".bi-ev-front::before { content: \"\\f881\"; }"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":".bi-globe-americas::before { content: \"\\f882\"; }"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":".bi-globe-asia-australia::before { content: \"\\f883\"; }"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":".bi-globe-central-south-asia::before { content: \"\\f884\"; }"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":".bi-globe-europe-africa::before { content: \"\\f885\"; }"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":".bi-house-add-fill::before { content: \"\\f886\"; }"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":".bi-house-add::before { content: \"\\f887\"; }"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":".bi-house-check-fill::before { content: \"\\f888\"; }"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":".bi-house-check::before { content: \"\\f889\"; }"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":".bi-house-dash-fill::before { content: \"\\f88a\"; }"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":".bi-house-dash::before { content: \"\\f88b\"; }"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":".bi-house-down-fill::before { content: \"\\f88c\"; }"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":".bi-house-down::before { content: \"\\f88d\"; }"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation-fill::before { content: \"\\f88e\"; }"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":".bi-house-exclamation::before { content: \"\\f88f\"; }"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":".bi-house-gear-fill::before { content: \"\\f890\"; }"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":".bi-house-gear::before { content: \"\\f891\"; }"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":".bi-house-lock-fill::before { content: \"\\f892\"; }"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":".bi-house-lock::before { content: \"\\f893\"; }"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":".bi-house-slash-fill::before { content: \"\\f894\"; }"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":".bi-house-slash::before { content: \"\\f895\"; }"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":".bi-house-up-fill::before { content: \"\\f896\"; }"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":".bi-house-up::before { content: \"\\f897\"; }"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":".bi-house-x-fill::before { content: \"\\f898\"; }"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":".bi-house-x::before { content: \"\\f899\"; }"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":".bi-person-add::before { content: \"\\f89a\"; }"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":".bi-person-down::before { content: \"\\f89b\"; }"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":".bi-person-exclamation::before { content: \"\\f89c\"; }"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-add::before { content: \"\\f89d\"; }"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-check::before { content: \"\\f89e\"; }"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-dash::before { content: \"\\f89f\"; }"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-down::before { content: \"\\f8a0\"; }"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-exclamation::before { content: \"\\f8a1\"; }"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-gear::before { content: \"\\f8a2\"; }"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-lock::before { content: \"\\f8a3\"; }"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-slash::before { content: \"\\f8a4\"; }"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-up::before { content: \"\\f8a5\"; }"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":".bi-person-fill-x::before { content: \"\\f8a6\"; }"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":".bi-person-gear::before { content: \"\\f8a7\"; }"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":".bi-person-lock::before { content: \"\\f8a8\"; }"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":".bi-person-slash::before { content: \"\\f8a9\"; }"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":".bi-person-up::before { content: \"\\f8aa\"; }"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":".bi-scooter::before { content: \"\\f8ab\"; }"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front-fill::before { content: \"\\f8ac\"; }"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":".bi-taxi-front::before { content: \"\\f8ad\"; }"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":".bi-amd::before { content: \"\\f8ae\"; }"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":".bi-database-add::before { content: \"\\f8af\"; }"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":".bi-database-check::before { content: \"\\f8b0\"; }"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":".bi-database-dash::before { content: \"\\f8b1\"; }"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":".bi-database-down::before { content: \"\\f8b2\"; }"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":".bi-database-exclamation::before { content: \"\\f8b3\"; }"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-add::before { content: \"\\f8b4\"; }"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-check::before { content: \"\\f8b5\"; }"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-dash::before { content: \"\\f8b6\"; }"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-down::before { content: \"\\f8b7\"; }"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-exclamation::before { content: \"\\f8b8\"; }"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-gear::before { content: \"\\f8b9\"; }"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-lock::before { content: \"\\f8ba\"; }"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-slash::before { content: \"\\f8bb\"; }"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-up::before { content: \"\\f8bc\"; }"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":".bi-database-fill-x::before { content: \"\\f8bd\"; }"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":".bi-database-fill::before { content: \"\\f8be\"; }"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":".bi-database-gear::before { content: \"\\f8bf\"; }"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":".bi-database-lock::before { content: \"\\f8c0\"; }"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":".bi-database-slash::before { content: \"\\f8c1\"; }"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":".bi-database-up::before { content: \"\\f8c2\"; }"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":".bi-database-x::before { content: \"\\f8c3\"; }"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":".bi-database::before { content: \"\\f8c4\"; }"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":".bi-houses-fill::before { content: \"\\f8c5\"; }"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":".bi-houses::before { content: \"\\f8c6\"; }"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":".bi-nvidia::before { content: \"\\f8c7\"; }"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard-fill::before { content: \"\\f8c8\"; }"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":".bi-person-vcard::before { content: \"\\f8c9\"; }"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":".bi-sina-weibo::before { content: \"\\f8ca\"; }"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":".bi-tencent-qq::before { content: \"\\f8cb\"; }"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":".bi-wikipedia::before { content: \"\\f8cc\"; }"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":".bi-alphabet-uppercase::before { content: \"\\f2a5\"; }"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":".bi-alphabet::before { content: \"\\f68a\"; }"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":".bi-amazon::before { content: \"\\f68d\"; }"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":".bi-arrows-collapse-vertical::before { content: \"\\f690\"; }"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":".bi-arrows-expand-vertical::before { content: \"\\f695\"; }"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":".bi-arrows-vertical::before { content: \"\\f698\"; }"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":".bi-arrows::before { content: \"\\f6a2\"; }"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":".bi-ban-fill::before { content: \"\\f6a3\"; }"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":".bi-ban::before { content: \"\\f6b6\"; }"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":".bi-bing::before { content: \"\\f6c2\"; }"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":".bi-cake::before { content: \"\\f6e0\"; }"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":".bi-cake2::before { content: \"\\f6ed\"; }"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":".bi-cookie::before { content: \"\\f6ee\"; }"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":".bi-copy::before { content: \"\\f759\"; }"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":".bi-crosshair::before { content: \"\\f769\"; }"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":".bi-crosshair2::before { content: \"\\f794\"; }"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished-fill::before { content: \"\\f795\"; }"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":".bi-emoji-astonished::before { content: \"\\f79a\"; }"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace-fill::before { content: \"\\f79b\"; }"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grimace::before { content: \"\\f7a0\"; }"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin-fill::before { content: \"\\f7a1\"; }"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":".bi-emoji-grin::before { content: \"\\f7a6\"; }"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise-fill::before { content: \"\\f7a7\"; }"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":".bi-emoji-surprise::before { content: \"\\f7ac\"; }"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear-fill::before { content: \"\\f7ad\"; }"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":".bi-emoji-tear::before { content: \"\\f7b2\"; }"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down-fill::before { content: \"\\f7b3\"; }"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-down::before { content: \"\\f7b8\"; }"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up-fill::before { content: \"\\f7b9\"; }"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":".bi-envelope-arrow-up::before { content: \"\\f7be\"; }"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":".bi-feather::before { content: \"\\f7bf\"; }"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":".bi-feather2::before { content: \"\\f7c4\"; }"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":".bi-floppy-fill::before { content: \"\\f7c5\"; }"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":".bi-floppy::before { content: \"\\f7d8\"; }"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":".bi-floppy2-fill::before { content: \"\\f7d9\"; }"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":".bi-floppy2::before { content: \"\\f7e4\"; }"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":".bi-gitlab::before { content: \"\\f7e5\"; }"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":".bi-highlighter::before { content: \"\\f7f8\"; }"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":".bi-marker-tip::before { content: \"\\f802\"; }"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":".bi-nvme-fill::before { content: \"\\f803\"; }"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":".bi-nvme::before { content: \"\\f80c\"; }"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":".bi-opencollective::before { content: \"\\f80d\"; }"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-network::before { content: \"\\f8cd\"; }"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":".bi-pci-card-sound::before { content: \"\\f8ce\"; }"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":".bi-radar::before { content: \"\\f8cf\"; }"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down-fill::before { content: \"\\f8d0\"; }"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-down::before { content: \"\\f8d1\"; }"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up-fill::before { content: \"\\f8d2\"; }"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":".bi-send-arrow-up::before { content: \"\\f8d3\"; }"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash-fill::before { content: \"\\f8d4\"; }"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":".bi-sim-slash::before { content: \"\\f8d5\"; }"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":".bi-sourceforge::before { content: \"\\f8d6\"; }"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":".bi-substack::before { content: \"\\f8d7\"; }"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":".bi-threads-fill::before { content: \"\\f8d8\"; }"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":".bi-threads::before { content: \"\\f8d9\"; }"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":".bi-transparency::before { content: \"\\f8da\"; }"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":".bi-twitter-x::before { content: \"\\f8db\"; }"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":".bi-type-h4::before { content: \"\\f8dc\"; }"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":".bi-type-h5::before { content: \"\\f8dd\"; }"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":".bi-type-h6::before { content: \"\\f8de\"; }"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":".bi-backpack-fill::before { content: \"\\f8df\"; }"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":".bi-backpack::before { content: \"\\f8e0\"; }"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":".bi-backpack2-fill::before { content: \"\\f8e1\"; }"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":".bi-backpack2::before { content: \"\\f8e2\"; }"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":".bi-backpack3-fill::before { content: \"\\f8e3\"; }"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":".bi-backpack3::before { content: \"\\f8e4\"; }"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":".bi-backpack4-fill::before { content: \"\\f8e5\"; }"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":".bi-backpack4::before { content: \"\\f8e6\"; }"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":".bi-brilliance::before { content: \"\\f8e7\"; }"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":".bi-cake-fill::before { content: \"\\f8e8\"; }"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":".bi-cake2-fill::before { content: \"\\f8e9\"; }"},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":".bi-duffle-fill::before { content: \"\\f8ea\"; }"},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":".bi-duffle::before { content: \"\\f8eb\"; }"},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":".bi-exposure::before { content: \"\\f8ec\"; }"},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":".bi-gender-neuter::before { content: \"\\f8ed\"; }"},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":".bi-highlights::before { content: \"\\f8ee\"; }"},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":".bi-luggage-fill::before { content: \"\\f8ef\"; }"},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":".bi-luggage::before { content: \"\\f8f0\"; }"},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":".bi-mailbox-flag::before { content: \"\\f8f1\"; }"},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":".bi-mailbox2-flag::before { content: \"\\f8f2\"; }"},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":".bi-noise-reduction::before { content: \"\\f8f3\"; }"},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":".bi-passport-fill::before { content: \"\\f8f4\"; }"},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":".bi-passport::before { content: \"\\f8f5\"; }"},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":".bi-person-arms-up::before { content: \"\\f8f6\"; }"},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":".bi-person-raised-hand::before { content: \"\\f8f7\"; }"},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":".bi-person-standing-dress::before { content: \"\\f8f8\"; }"},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":".bi-person-standing::before { content: \"\\f8f9\"; }"},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":".bi-person-walking::before { content: \"\\f8fa\"; }"},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":".bi-person-wheelchair::before { content: \"\\f8fb\"; }"},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":".bi-shadows::before { content: \"\\f8fc\"; }"},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-fill::before { content: \"\\f8fd\"; }"},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg-fill::before { content: \"\\f8fe\"; }"},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":".bi-suitcase-lg::before { content: \"\\f8ff\"; }"},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":".bi-suitcase::before { content: \"\\f900\"; }"},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2-fill::before { content: \"\\f901\"; }"},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":".bi-suitcase2::before { content: \"\\f902\"; }"},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":".bi-vignette::before { content: \"\\f903\"; }"}],"authorContributionMap":{"yiwen101":2078}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/bootstrap-icons/font/bootstrap-icons.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"{"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" \"123\": 63103,"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": 61697,"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" \"alarm\": 61698,"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": 61699,"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":" \"align-center\": 61700,"},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":" \"align-end\": 61701,"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": 61702,"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \"align-start\": 61703,"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" \"align-top\": 61704,"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":" \"alt\": 61705,"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": 61706,"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":" \"app\": 61707,"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": 61708,"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" \"archive\": 61709,"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": 61710,"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": 61711,"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": 61712,"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": 61713,"},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": 61714,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": 61715,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": 61716,"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": 61717,"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": 61718,"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": 61719,"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": 61720,"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": 61721,"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": 61722,"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": 61723,"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": 61724,"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": 61725,"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": 61726,"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": 61727,"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": 61728,"},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": 61729,"},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": 61730,"},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": 61731,"},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": 61732,"},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": 61733,"},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": 61734,"},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": 61735,"},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": 61736,"},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": 61737,"},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": 61738,"},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": 61739,"},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": 61740,"},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": 61741,"},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": 61742,"},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": 61743,"},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": 61744,"},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": 61745,"},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": 61746,"},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": 61747,"},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": 61748,"},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": 61749,"},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": 61750,"},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": 61751,"},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": 61752,"},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": 61753,"},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": 61754,"},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": 61755,"},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": 61756,"},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": 61757,"},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": 61758,"},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": 61759,"},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": 61760,"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": 61761,"},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": 61762,"},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": 61763,"},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": 61764,"},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": 61765,"},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": 61766,"},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": 61767,"},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": 61768,"},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": 61769,"},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": 61770,"},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": 61771,"},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": 61772,"},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": 61773,"},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": 61774,"},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": 61775,"},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": 61776,"},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": 61777,"},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"at\": 61778,"},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": 61779,"},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"award\": 61780,"},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"back\": 61781,"},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": 61782,"},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": 61783,"},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": 61784,"},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"backspace\": 61785,"},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": 61786,"},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": 61787,"},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": 61788,"},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": 61789,"},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": 61790,"},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": 61791,"},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": 61792,"},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": 61793,"},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": 61794,"},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": 61795,"},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": 61796,"},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": 61797,"},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": 61798,"},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": 61799,"},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": 61800,"},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": 61801,"},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": 61802,"},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": 61803,"},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": 61804,"},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": 61805,"},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": 61806,"},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": 61807,"},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": 61808,"},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": 61809,"},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": 61810,"},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": 61811,"},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": 61812,"},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": 61813,"},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": 61814,"},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": 61815,"},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": 61816,"},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"bag\": 61817,"},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": 61818,"},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": 61819,"},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": 61820,"},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": 61821,"},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": 61822,"},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": 61823,"},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"basket\": 61824,"},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": 61825,"},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"basket2\": 61826,"},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": 61827,"},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"basket3\": 61828,"},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": 61829,"},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": 61830,"},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": 61831,"},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"battery\": 61832,"},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": 61833,"},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"bell\": 61834,"},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"bezier\": 61835,"},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": 61836,"},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": 61837,"},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": 61838,"},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": 61839,"},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": 61840,"},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": 61841,"},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": 61842,"},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"book-half\": 61843,"},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"book\": 61844,"},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": 61845,"},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": 61846,"},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": 61847,"},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": 61848,"},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": 61849,"},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": 61850,"},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": 61851,"},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": 61852,"},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": 61853,"},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": 61854,"},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": 61855,"},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": 61856,"},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": 61857,"},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": 61858,"},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": 61859,"},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": 61860,"},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": 61861,"},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": 61862,"},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": 61863,"},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": 61864,"},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"border-all\": 61865,"},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": 61866,"},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"border-center\": 61867,"},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": 61868,"},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"border-left\": 61869,"},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": 61870,"},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": 61871,"},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"border-right\": 61872,"},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"border-style\": 61873,"},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"border-top\": 61874,"},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"border-width\": 61875,"},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"border\": 61876,"},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": 61877,"},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": 61878,"},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": 61879,"},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": 61880,"},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": 61881,"},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": 61882,"},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": 61883,"},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": 61884,"},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": 61885,"},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": 61886,"},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": 61887,"},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": 61888,"},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": 61889,"},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": 61890,"},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": 61891,"},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": 61892,"},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": 61893,"},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": 61894,"},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": 61895,"},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"box\": 61896,"},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"braces\": 61897,"},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bricks\": 61898,"},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": 61899,"},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": 61900,"},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": 61901,"},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": 61902,"},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": 61903,"},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": 61904,"},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": 61905,"},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": 61906,"},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": 61907,"},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": 61908,"},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": 61909,"},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": 61910,"},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": 61911,"},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"brush\": 61912,"},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": 61913,"},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"bucket\": 61914,"},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": 61915,"},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"bug\": 61916,"},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"building\": 61917,"},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": 61918,"},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": 61919,"},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"calculator\": 61920,"},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": 61921,"},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": 61922,"},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": 61923,"},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": 61924,"},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": 61925,"},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": 61926,"},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": 61927,"},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": 61928,"},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": 61929,"},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": 61930,"},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": 61931,"},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": 61932,"},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": 61933,"},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": 61934,"},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": 61935,"},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": 61936,"},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": 61937,"},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": 61938,"},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": 61939,"},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": 61940,"},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": 61941,"},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"calendar\": 61942,"},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": 61943,"},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": 61944,"},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": 61945,"},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": 61946,"},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": 61947,"},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": 61948,"},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": 61949,"},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": 61950,"},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": 61951,"},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": 61952,"},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": 61953,"},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": 61954,"},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": 61955,"},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": 61956,"},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": 61957,"},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": 61958,"},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": 61959,"},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": 61960,"},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": 61961,"},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": 61962,"},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": 61963,"},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": 61964,"},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": 61965,"},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": 61966,"},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": 61967,"},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": 61968,"},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": 61969,"},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": 61970,"},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": 61971,"},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": 61972,"},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": 61973,"},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": 61974,"},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": 61975,"},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": 61976,"},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": 61977,"},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": 61978,"},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": 61979,"},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": 61980,"},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": 61981,"},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": 61982,"},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": 61983,"},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"camera\": 61984,"},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"camera2\": 61985,"},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": 61986,"},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"capslock\": 61987,"},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": 61988,"},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": 61989,"},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"card-image\": 61990,"},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"card-list\": 61991,"},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"card-text\": 61992,"},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": 61993,"},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": 61994,"},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": 61995,"},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": 61996,"},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": 61997,"},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": 61998,"},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": 61999,"},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": 62000,"},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": 62001,"},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": 62002,"},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": 62003,"},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": 62004,"},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": 62005,"},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": 62006,"},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": 62007,"},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": 62008,"},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": 62009,"},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": 62010,"},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": 62011,"},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": 62012,"},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": 62013,"},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": 62014,"},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": 62015,"},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": 62016,"},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": 62017,"},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"cart\": 62018,"},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"cart2\": 62019,"},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"cart3\": 62020,"},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"cart4\": 62021,"},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": 62022,"},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"cash\": 62023,"},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"cast\": 62024,"},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": 62025,"},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": 62026,"},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": 62027,"},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": 62028,"},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": 62029,"},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": 62030,"},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": 62031,"},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": 62032,"},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": 62033,"},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": 62034,"},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": 62035,"},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": 62036,"},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": 62037,"},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": 62038,"},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": 62039,"},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": 62040,"},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": 62041,"},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": 62042,"},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": 62043,"},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": 62044,"},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": 62045,"},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": 62046,"},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": 62047,"},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": 62048,"},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": 62049,"},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": 62050,"},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": 62051,"},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": 62052,"},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": 62053,"},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": 62054,"},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": 62055,"},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"chat\": 62056,"},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"check-all\": 62057,"},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": 62058,"},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": 62059,"},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": 62060,"},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"check-square\": 62061,"},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"check\": 62062,"},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": 62063,"},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": 62064,"},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": 62065,"},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"check2\": 62066,"},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": 62067,"},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": 62068,"},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": 62069,"},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": 62070,"},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": 62071,"},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": 62072,"},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": 62073,"},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": 62074,"},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": 62075,"},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": 62076,"},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": 62077,"},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": 62078,"},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": 62079,"},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": 62080,"},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": 62081,"},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": 62082,"},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": 62083,"},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": 62084,"},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": 62085,"},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": 62086,"},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": 62087,"},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": 62088,"},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": 62089,"},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"circle\": 62090,"},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": 62091,"},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": 62092,"},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": 62093,"},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": 62094,"},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": 62095,"},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": 62096,"},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": 62097,"},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": 62098,"},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"clock\": 62099,"},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": 62100,"},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": 62101,"},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": 62102,"},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": 62103,"},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": 62104,"},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": 62105,"},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": 62106,"},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": 62107,"},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": 62108,"},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": 62109,"},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": 62110,"},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": 62111,"},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": 62112,"},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": 62113,"},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": 62114,"},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": 62115,"},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": 62116,"},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": 62118,"},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": 62119,"},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": 62120,"},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": 62121,"},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": 62122,"},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": 62123,"},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": 62124,"},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": 62125,"},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": 62126,"},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": 62127,"},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": 62128,"},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": 62129,"},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": 62130,"},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": 62131,"},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": 62132,"},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": 62133,"},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": 62134,"},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": 62135,"},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": 62136,"},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": 62137,"},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": 62138,"},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": 62139,"},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": 62140,"},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": 62141,"},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": 62142,"},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": 62143,"},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": 62144,"},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud\": 62145,"},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": 62146,"},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"clouds\": 62147,"},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": 62148,"},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": 62149,"},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": 62150,"},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"code-square\": 62151,"},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"code\": 62152,"},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": 62153,"},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": 62154,"},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": 62155,"},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"collection\": 62156,"},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": 62157,"},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"columns\": 62158,"},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"command\": 62159,"},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": 62160,"},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"compass\": 62161,"},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": 62162,"},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cone\": 62163,"},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"controller\": 62164,"},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": 62165,"},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cpu\": 62166,"},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": 62167,"},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": 62168,"},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": 62169,"},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": 62170,"},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": 62171,"},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": 62172,"},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"crop\": 62173,"},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": 62174,"},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": 62175,"},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cup\": 62176,"},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": 62177,"},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": 62178,"},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cursor\": 62179,"},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": 62180,"},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": 62181,"},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": 62182,"},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": 62183,"},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": 62184,"},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": 62185,"},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"dash\": 62186,"},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": 62187,"},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": 62188,"},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": 62189,"},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": 62190,"},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": 62191,"},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": 62192,"},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"diamond\": 62193,"},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": 62194,"},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": 62195,"},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": 62196,"},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": 62197,"},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": 62198,"},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": 62199,"},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": 62200,"},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": 62201,"},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": 62202,"},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": 62203,"},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": 62204,"},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": 62205,"},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": 62206,"},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"disc\": 62207,"},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"discord\": 62208,"},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": 62209,"},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"display\": 62210,"},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": 62211,"},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": 62212,"},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": 62213,"},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": 62214,"},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": 62215,"},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"door-open\": 62216,"},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dot\": 62217,"},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"download\": 62218,"},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": 62219,"},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": 62220,"},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"droplet\": 62221,"},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": 62222,"},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": 62223,"},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"easel\": 62224,"},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": 62225,"},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": 62226,"},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"egg\": 62227,"},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": 62228,"},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"eject\": 62229,"},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": 62230,"},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": 62231,"},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": 62232,"},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": 62233,"},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": 62234,"},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": 62235,"},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": 62236,"},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": 62237,"},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": 62238,"},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": 62239,"},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": 62240,"},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": 62241,"},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": 62242,"},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": 62243,"},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": 62244,"},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": 62245,"},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": 62246,"},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": 62247,"},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": 62248,"},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": 62249,"},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": 62250,"},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": 62251,"},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": 62252,"},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": 62253,"},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": 62254,"},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"envelope\": 62255,"},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": 62256,"},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"eraser\": 62257,"},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": 62258,"},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": 62259,"},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": 62260,"},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": 62261,"},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": 62262,"},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": 62263,"},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": 62264,"},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": 62265,"},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": 62266,"},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": 62267,"},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": 62268,"},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"exclude\": 62269,"},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": 62270,"},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": 62271,"},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": 62272,"},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"eye\": 62273,"},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": 62274,"},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": 62275,"},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"facebook\": 62276,"},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": 62277,"},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": 62278,"},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": 62279,"},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": 62280,"},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": 62281,"},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": 62282,"},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": 62283,"},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": 62284,"},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": 62285,"},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"file-break\": 62286,"},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": 62287,"},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"file-check\": 62288,"},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": 62289,"},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"file-code\": 62290,"},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": 62291,"},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": 62292,"},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": 62293,"},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": 62294,"},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": 62295,"},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": 62296,"},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": 62297,"},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": 62298,"},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": 62299,"},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": 62300,"},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": 62301,"},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": 62302,"},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": 62303,"},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": 62304,"},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": 62305,"},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": 62306,"},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": 62307,"},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": 62308,"},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": 62309,"},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": 62310,"},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": 62311,"},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": 62312,"},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": 62313,"},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": 62314,"},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": 62315,"},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": 62316,"},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": 62317,"},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": 62318,"},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": 62319,"},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": 62320,"},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": 62321,"},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": 62322,"},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": 62323,"},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": 62324,"},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": 62325,"},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": 62326,"},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": 62327,"},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": 62328,"},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": 62329,"},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": 62330,"},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": 62331,"},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": 62332,"},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": 62333,"},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": 62334,"},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": 62335,"},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": 62336,"},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": 62337,"},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": 62338,"},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": 62339,"},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": 62340,"},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": 62341,"},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": 62342,"},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": 62343,"},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": 62344,"},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": 62345,"},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": 62346,"},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": 62347,"},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": 62348,"},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": 62349,"},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": 62350,"},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": 62351,"},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": 62352,"},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": 62353,"},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": 62354,"},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": 62355,"},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": 62356,"},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": 62357,"},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": 62358,"},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": 62359,"},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": 62360,"},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-font\": 62361,"},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": 62362,"},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-image\": 62363,"},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": 62364,"},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": 62365,"},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": 62366,"},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": 62367,"},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": 62368,"},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": 62369,"},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": 62370,"},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": 62371,"},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": 62372,"},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-music\": 62373,"},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": 62374,"},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-person\": 62375,"},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": 62376,"},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-play\": 62377,"},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": 62378,"},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": 62379,"},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": 62380,"},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-post\": 62381,"},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": 62382,"},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": 62383,"},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": 62384,"},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": 62385,"},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": 62386,"},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": 62387,"},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": 62388,"},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": 62389,"},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": 62390,"},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": 62391,"},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": 62392,"},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-text\": 62393,"},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": 62394,"},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-word\": 62395,"},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": 62396,"},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-x\": 62397,"},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": 62398,"},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": 62399,"},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file\": 62400,"},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": 62401,"},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"files\": 62402,"},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"film\": 62403,"},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": 62404,"},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": 62405,"},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": 62406,"},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": 62407,"},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": 62408,"},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": 62409,"},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"filter\": 62410,"},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": 62411,"},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"flag\": 62412,"},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"flower1\": 62413,"},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"flower2\": 62414,"},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"flower3\": 62415,"},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": 62416,"},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": 62417,"},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": 62418,"},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": 62419,"},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": 62420,"},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": 62421,"},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": 62422,"},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"folder\": 62423,"},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": 62424,"},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"folder2\": 62425,"},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"fonts\": 62426,"},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": 62427,"},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"forward\": 62428,"},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"front\": 62429,"},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": 62430,"},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": 62431,"},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": 62432,"},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"funnel\": 62433,"},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": 62434,"},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": 62435,"},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": 62436,"},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"gear\": 62437,"},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"gem\": 62438,"},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": 62439,"},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": 62440,"},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": 62441,"},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"geo\": 62442,"},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": 62443,"},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"gift\": 62444,"},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"github\": 62445,"},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"globe\": 62446,"},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"globe2\": 62447,"},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"google\": 62448,"},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": 62449,"},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": 62450,"},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": 62451,"},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": 62452,"},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": 62453,"},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": 62454,"},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": 62455,"},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": 62456,"},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": 62457,"},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": 62458,"},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": 62459,"},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"grid\": 62460,"},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": 62461,"},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": 62462,"},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"hammer\": 62463,"},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": 62464,"},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": 62465,"},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": 62466,"},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": 62467,"},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": 62468,"},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": 62469,"},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": 62470,"},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": 62471,"},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": 62472,"},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"handbag\": 62473,"},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"hash\": 62474,"},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": 62475,"},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": 62476,"},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": 62477,"},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": 62478,"},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": 62479,"},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": 62480,"},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": 62481,"},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"hdd\": 62482,"},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"headphones\": 62483,"},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"headset\": 62484,"},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": 62485,"},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": 62486,"},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"heart\": 62487,"},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": 62488,"},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": 62489,"},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": 62490,"},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": 62491,"},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": 62492,"},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": 62493,"},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": 62494,"},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": 62495,"},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": 62496,"},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": 62497,"},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": 62498,"},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"house-door\": 62499,"},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": 62500,"},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"house\": 62501,"},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hr\": 62502,"},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": 62503,"},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": 62504,"},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": 62505,"},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"image\": 62506,"},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"images\": 62507,"},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": 62508,"},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"inbox\": 62509,"},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": 62510,"},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": 62511,"},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": 62512,"},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": 62513,"},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": 62514,"},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"info-square\": 62515,"},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"info\": 62516,"},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": 62517,"},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": 62518,"},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"instagram\": 62519,"},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"intersect\": 62520,"},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": 62521,"},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": 62522,"},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": 62523,"},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": 62524,"},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": 62525,"},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": 62526,"},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": 62527,"},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": 62528,"},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": 62529,"},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": 62530,"},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": 62531,"},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": 62532,"},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": 62533,"},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"journal\": 62534,"},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"journals\": 62535,"},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"joystick\": 62536,"},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": 62537,"},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": 62538,"},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"justify\": 62539,"},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": 62540,"},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"kanban\": 62541,"},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": 62542,"},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"key\": 62543,"},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": 62544,"},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": 62545,"},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"ladder\": 62546,"},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": 62547,"},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"lamp\": 62548,"},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": 62549,"},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"laptop\": 62550,"},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": 62551,"},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": 62552,"},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": 62553,"},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": 62554,"},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"layers\": 62555,"},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": 62556,"},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": 62557,"},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": 62558,"},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": 62559,"},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": 62560,"},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": 62561,"},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": 62562,"},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": 62563,"},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": 62564,"},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": 62565,"},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": 62566,"},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": 62567,"},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": 62568,"},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": 62569,"},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": 62570,"},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": 62571,"},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": 62572,"},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": 62573,"},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": 62574,"},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"lightning\": 62575,"},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": 62576,"},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"link\": 62577,"},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": 62578,"},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"list-check\": 62579,"},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": 62580,"},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": 62581,"},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": 62582,"},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"list-task\": 62583,"},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": 62584,"},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"list\": 62585,"},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": 62586,"},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"lock\": 62587,"},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": 62588,"},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": 62589,"},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": 62590,"},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"map\": 62591,"},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": 62592,"},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"markdown\": 62593,"},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"mask\": 62594,"},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": 62595,"},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": 62596,"},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": 62597,"},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": 62598,"},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": 62599,"},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": 62600,"},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": 62601,"},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": 62602,"},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": 62603,"},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": 62604,"},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": 62605,"},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": 62606,"},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": 62607,"},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"mic\": 62608,"},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": 62609,"},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"minecart\": 62610,"},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"moisture\": 62611,"},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": 62612,"},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": 62613,"},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": 62614,"},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"moon\": 62615,"},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": 62616,"},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"mouse\": 62617,"},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": 62618,"},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": 62619,"},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": 62620,"},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": 62621,"},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": 62622,"},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": 62623,"},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"music-note\": 62624,"},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": 62625,"},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"music-player\": 62626,"},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": 62627,"},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": 62628,"},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": 62629,"},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": 62630,"},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": 62631,"},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": 62632,"},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"nut\": 62633,"},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": 62634,"},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": 62635,"},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"octagon\": 62636,"},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"option\": 62637,"},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"outlet\": 62638,"},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": 62639,"},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": 62640,"},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"palette\": 62641,"},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"palette2\": 62642,"},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": 62643,"},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": 62644,"},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": 62645,"},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": 62646,"},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": 62647,"},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": 62648,"},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": 62649,"},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": 62650,"},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": 62651,"},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": 62652,"},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": 62653,"},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": 62654,"},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": 62655,"},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": 62656,"},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": 62657,"},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": 62658,"},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": 62659,"},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"pause\": 62660,"},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": 62661,"},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"peace\": 62662,"},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": 62663,"},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"pen\": 62664,"},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": 62665,"},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": 62666,"},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"pencil\": 62667,"},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": 62668,"},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": 62669,"},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": 62670,"},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": 62671,"},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"people\": 62672,"},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"percent\": 62673,"},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": 62674,"},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": 62675,"},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": 62676,"},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": 62677,"},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"person-check\": 62678,"},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": 62679,"},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": 62680,"},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": 62681,"},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": 62682,"},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": 62683,"},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": 62684,"},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": 62685,"},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"person-square\": 62686,"},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": 62687,"},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"person-x\": 62688,"},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"person\": 62689,"},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": 62690,"},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": 62691,"},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": 62692,"},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": 62693,"},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": 62694,"},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"phone\": 62695,"},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": 62696,"},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": 62697,"},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": 62698,"},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": 62699,"},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": 62700,"},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pin\": 62701,"},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": 62702,"},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pip\": 62703,"},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": 62704,"},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": 62705,"},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": 62706,"},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": 62707,"},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": 62708,"},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"play\": 62709,"},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": 62710,"},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"plug\": 62711,"},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": 62712,"},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": 62713,"},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": 62714,"},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": 62715,"},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": 62716,"},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": 62717,"},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"plus\": 62718,"},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"power\": 62719,"},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": 62720,"},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"printer\": 62721,"},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": 62722,"},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": 62723,"},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": 62724,"},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": 62725,"},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": 62726,"},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": 62727,"},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": 62728,"},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": 62729,"},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": 62730,"},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"question-square\": 62731,"},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"question\": 62732,"},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": 62733,"},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": 62734,"},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"receipt\": 62735,"},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": 62736,"},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": 62737,"},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": 62738,"},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": 62739,"},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": 62740,"},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": 62741,"},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": 62742,"},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": 62743,"},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": 62744,"},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": 62745,"},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"record\": 62746,"},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": 62747,"},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"record2\": 62748,"},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": 62749,"},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": 62750,"},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": 62751,"},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"reply\": 62752,"},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": 62753,"},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"rss\": 62754,"},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"rulers\": 62755,"},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": 62756,"},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"save\": 62757,"},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": 62758,"},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"save2\": 62759,"},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"scissors\": 62760,"},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": 62761,"},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"search\": 62762,"},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": 62763,"},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"server\": 62764,"},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": 62765,"},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"share\": 62766,"},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": 62767,"},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": 62768,"},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": 62769,"},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": 62770,"},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": 62771,"},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": 62772,"},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": 62773,"},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": 62774,"},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": 62775,"},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": 62776,"},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": 62777,"},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": 62778,"},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": 62779,"},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": 62780,"},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": 62781,"},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": 62782,"},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"shield\": 62783,"},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": 62784,"},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"shift\": 62785,"},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": 62786,"},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"shop\": 62787,"},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": 62788,"},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": 62789,"},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": 62790,"},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": 62791,"},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": 62792,"},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": 62793,"},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"signpost\": 62794,"},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": 62795,"},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"sim\": 62796,"},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": 62797,"},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": 62798,"},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": 62799,"},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": 62800,"},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": 62801,"},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": 62802,"},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": 62803,"},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": 62804,"},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": 62805,"},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": 62806,"},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": 62807,"},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": 62808,"},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": 62809,"},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": 62810,"},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": 62811,"},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": 62812,"},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": 62813,"},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": 62814,"},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": 62815,"},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": 62816,"},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": 62817,"},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": 62818,"},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": 62819,"},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": 62820,"},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"slack\": 62821,"},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": 62822,"},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": 62823,"},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": 62824,"},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": 62825,"},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"slash\": 62826,"},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"sliders\": 62827,"},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": 62828,"},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"snow\": 62829,"},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"snow2\": 62830,"},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"snow3\": 62831,"},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": 62832,"},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": 62833,"},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": 62834,"},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": 62835,"},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": 62836,"},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": 62837,"},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": 62838,"},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": 62839,"},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": 62840,"},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": 62841,"},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": 62842,"},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": 62843,"},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": 62844,"},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": 62845,"},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"speaker\": 62846,"},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": 62847,"},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": 62848,"},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": 62849,"},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": 62850,"},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"square-half\": 62851,"},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"square\": 62852,"},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"stack\": 62853,"},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": 62854,"},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"star-half\": 62855,"},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"star\": 62856,"},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"stars\": 62857,"},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": 62858,"},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"stickies\": 62859,"},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": 62860,"},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sticky\": 62861,"},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": 62862,"},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": 62863,"},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": 62864,"},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": 62865,"},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": 62866,"},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"stop\": 62867,"},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": 62868,"},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": 62869,"},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": 62870,"},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": 62871,"},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"subtract\": 62872,"},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": 62873,"},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": 62874,"},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": 62875,"},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": 62876,"},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": 62877,"},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": 62878,"},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": 62879,"},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": 62880,"},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": 62881,"},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"sun\": 62882,"},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": 62883,"},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": 62884,"},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": 62885,"},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": 62886,"},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"sunset\": 62887,"},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": 62888,"},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": 62889,"},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"table\": 62890,"},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": 62891,"},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": 62892,"},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": 62893,"},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"tablet\": 62894,"},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": 62895,"},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"tag\": 62896,"},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": 62897,"},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"tags\": 62898,"},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"telegram\": 62899,"},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": 62900,"},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": 62901,"},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": 62902,"},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": 62903,"},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": 62904,"},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": 62905,"},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": 62906,"},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": 62907,"},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": 62908,"},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": 62909,"},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": 62910,"},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": 62911,"},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": 62912,"},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"telephone\": 62913,"},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": 62914,"},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"terminal\": 62915,"},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"text-center\": 62916,"},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": 62917,"},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": 62918,"},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"text-left\": 62919,"},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": 62920,"},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"text-right\": 62921,"},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": 62922,"},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": 62923,"},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"textarea\": 62924,"},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": 62925,"},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": 62926,"},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": 62927,"},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": 62928,"},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": 62929,"},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": 62930,"},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": 62931,"},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": 62932,"},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": 62933,"},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": 62934,"},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": 62935,"},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": 62936,"},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"toggles\": 62937,"},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": 62938,"},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"tools\": 62939,"},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"tornado\": 62940,"},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": 62941,"},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"trash\": 62942,"},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": 62943,"},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"trash2\": 62944,"},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": 62945,"},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"tree\": 62946,"},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": 62947,"},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": 62948,"},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"triangle\": 62949,"},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": 62950,"},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"trophy\": 62951,"},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": 62952,"},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": 62953,"},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"truck\": 62954,"},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": 62955,"},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": 62956,"},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"tv\": 62957,"},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"twitch\": 62958,"},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"twitter\": 62959,"},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": 62960,"},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": 62961,"},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": 62962,"},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": 62963,"},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": 62964,"},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": 62965,"},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": 62966,"},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"type\": 62967,"},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": 62968,"},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": 62969,"},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": 62970,"},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": 62971,"},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": 62972,"},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": 62973,"},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"union\": 62974,"},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": 62975,"},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"unlock\": 62976,"},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": 62977,"},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"upc\": 62978,"},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"upload\": 62979,"},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": 62980,"},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"view-list\": 62981,"},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": 62982,"},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": 62983,"},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": 62984,"},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": 62985,"},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": 62986,"},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": 62987,"},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": 62988,"},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": 62989,"},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": 62990,"},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": 62991,"},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": 62992,"},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": 62993,"},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"vr\": 62994,"},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": 62995,"},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"wallet\": 62996,"},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": 62997,"},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"watch\": 62998,"},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"water\": 62999,"},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": 63000,"},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": 63001,"},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": 63002,"},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": 63003,"},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"wifi\": 63004,"},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"wind\": 63005,"},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": 63006,"},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": 63007,"},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"window\": 63008,"},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"wrench\": 63009,"},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": 63010,"},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": 63011,"},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": 63012,"},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": 63013,"},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": 63014,"},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": 63015,"},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": 63016,"},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"x-square\": 63017,"},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"x\": 63018,"},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"youtube\": 63019,"},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": 63020,"},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": 63021,"},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"bank\": 63022,"},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"bank2\": 63023,"},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": 63024,"},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": 63025,"},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": 63026,"},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": 63027,"},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"coin\": 63028,"},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": 63029,"},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": 63030,"},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": 63031,"},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": 63032,"},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": 63033,"},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": 63034,"},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": 63035,"},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": 63036,"},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": 63037,"},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": 63038,"},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": 63039,"},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": 63040,"},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": 63041,"},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": 63042,"},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": 63043,"},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": 63044,"},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": 63045,"},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": 63046,"},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": 63047,"},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"messenger\": 63048,"},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": 63049,"},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": 63050,"},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": 63051,"},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": 63052,"},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": 63053,"},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": 63054,"},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"recycle\": 63055,"},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"reddit\": 63056,"},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": 63057,"},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": 63058,"},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"safe2\": 63059,"},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": 63060,"},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": 63061,"},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"skype\": 63062,"},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": 63063,"},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"translate\": 63064,"},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": 63065,"},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"safe\": 63066,"},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"apple\": 63067,"},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": 63069,"},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"windows\": 63070,"},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"behance\": 63068,"},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": 63071,"},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"line\": 63072,"},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"medium\": 63073,"},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"paypal\": 63074,"},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": 63075,"},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"signal\": 63076,"},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": 63077,"},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"spotify\": 63078,"},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": 63079,"},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"strava\": 63080,"},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": 63081,"},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": 63082,"},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"activity\": 63083,"},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": 63084,"},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"easel2\": 63085,"},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": 63086,"},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"easel3\": 63087,"},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"fan\": 63088,"},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": 63089,"},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": 63090,"},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": 63091,"},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": 63092,"},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"magic\": 63093,"},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": 63094,"},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"person-video\": 63095,"},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": 63096,"},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": 63097,"},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": 63098,"},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": 63099,"},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": 63100,"},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"webcam\": 63101,"},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": 63102,"},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": 63104,"},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": 63105,"},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": 63106,"},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"body-text\": 63107,"},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"boombox\": 63108,"},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"boxes\": 63109,"},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": 63110,"},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"dpad\": 63111,"},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": 63112,"},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"ear\": 63113,"},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": 63115,"},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": 63116,"},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": 63118,"},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": 63119,"},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": 63121,"},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": 63122,"},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": 63123,"},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": 63124,"},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": 63126,"},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": 63127,"},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": 63129,"},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": 63130,"},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": 63131,"},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"explicit\": 63132,"},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"git\": 63133,"},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"infinity\": 63134,"},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": 63135,"},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": 63136,"},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"meta\": 63137,"},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": 63140,"},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": 63141,"},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": 63142,"},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": 63143,"},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"pc\": 63144,"},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"playstation\": 63145,"},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": 63146,"},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": 63147,"},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"projector\": 63148,"},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": 63149,"},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": 63150,"},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"quora\": 63151,"},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"quote\": 63152,"},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"robot\": 63153,"},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": 63154,"},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"send-check\": 63155,"},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": 63156,"},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": 63157,"},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": 63159,"},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": 63160,"},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": 63161,"},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": 63162,"},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": 63163,"},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": 63164,"},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": 63165,"},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": 63166,"},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"send-x\": 63167,"},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"send\": 63168,"},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"steam\": 63169,"},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": 63171,"},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": 63172,"},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": 63173,"},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": 63174,"},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": 63175,"},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": 63176,"},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": 63177,"},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": 63178,"},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"ticket\": 63179,"},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": 63180,"},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": 63181,"},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": 63182,"},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": 63183,"},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": 63184,"},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"window-split\": 63185,"},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": 63186,"},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"window-x\": 63187,"},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"xbox\": 63188,"},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": 63189,"},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": 63190,"},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": 63191,"},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": 63192,"},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": 63193,"},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": 63194,"},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": 63195,"},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": 63196,"},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": 63197,"},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"usb\": 63198,"},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": 63199,"},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"displayport\": 63201,"},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": 63202,"},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"memory\": 63203,"},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": 63204,"},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"modem\": 63205,"},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": 63206,"},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": 63207,"},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": 63208,"},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": 63209,"},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": 63210,"},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": 63211,"},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"router\": 63212,"},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": 63215,"},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": 63216,"},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": 63217,"},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": 63218,"},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": 63219,"},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": 63220,"},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": 63221,"},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": 63222,"},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": 63223,"},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": 63224,"},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": 63225,"},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": 63226,"},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": 63227,"},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": 63228,"},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": 63229,"},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": 63230,"},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": 63231,"},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": 63232,"},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": 63233,"},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": 63234,"},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": 63235,"},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": 63236,"},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": 63237,"},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": 63238,"},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": 63239,"},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": 63240,"},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"balloon\": 63241,"},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": 63242,"},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": 63243,"},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": 63244,"},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"box2\": 63245,"},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": 63246,"},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": 63247,"},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": 63248,"},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": 63249,"},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": 63250,"},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": 63251,"},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": 63252,"},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": 63253,"},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": 63254,"},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": 63255,"},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": 63256,"},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": 63257,"},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": 63258,"},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": 63259,"},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": 63260,"},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": 63261,"},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": 63262,"},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": 63263,"},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": 63264,"},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": 63265,"},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": 63266,"},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": 63267,"},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": 63268,"},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": 63269,"},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": 63270,"},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": 63271,"},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": 63272,"},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": 63273,"},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": 63274,"},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": 63275,"},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": 63276,"},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": 63277,"},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": 63278,"},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": 63279,"},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": 63280,"},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": 63281,"},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": 63282,"},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": 63283,"},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": 63284,"},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": 63285,"},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": 63286,"},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": 63287,"},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": 63288,"},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": 63289,"},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": 63290,"},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": 63291,"},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": 63292,"},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": 63293,"},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": 63294,"},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": 63295,"},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": 63296,"},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": 63297,"},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": 63298,"},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": 63299,"},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": 63300,"},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": 63301,"},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": 63302,"},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": 63303,"},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": 63304,"},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": 63305,"},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": 63306,"},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": 63307,"},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": 63308,"},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": 63309,"},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": 63310,"},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": 63311,"},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": 63312,"},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": 63313,"},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": 63314,"},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": 63315,"},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": 63316,"},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": 63317,"},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": 63318,"},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": 63319,"},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": 63320,"},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": 63322,"},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": 63323,"},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": 63324,"},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": 63325,"},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": 63326,"},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": 63327,"},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": 63328,"},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": 63329,"},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": 63330,"},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": 63331,"},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": 63332,"},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": 63333,"},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": 63334,"},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": 63335,"},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": 63336,"},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": 63338,"},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": 63339,"},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": 63340,"},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": 63341,"},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": 63342,"},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": 63343,"},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": 63344,"},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": 63345,"},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"hearts\": 63346,"},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": 63347,"},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"hospital\": 63348,"},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": 63349,"},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": 63350,"},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"incognito\": 63351,"},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": 63352,"},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"magnet\": 63353,"},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": 63354,"},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": 63355,"},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": 63356,"},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"plugin\": 63357,"},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": 63358,"},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": 63359,"},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": 63360,"},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"postage\": 63361,"},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": 63362,"},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": 63363,"},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": 63364,"},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"postcard\": 63365,"},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": 63366,"},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": 63367,"},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": 63368,"},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": 63369,"},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": 63370,"},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"trash3\": 63371,"},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"valentine\": 63372,"},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": 63373,"},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": 63374,"},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": 63375,"},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": 63376,"},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": 63377,"},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": 63378,"},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": 63379,"},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": 63382,"},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": 63383,"},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": 63384,"},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"1-square\": 63385,"},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": 63388,"},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": 63389,"},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": 63390,"},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"2-square\": 63391,"},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": 63394,"},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": 63395,"},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": 63396,"},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"3-square\": 63397,"},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": 63400,"},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": 63401,"},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": 63402,"},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"4-square\": 63403,"},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": 63406,"},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": 63407,"},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": 63408,"},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"5-square\": 63409,"},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": 63412,"},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": 63413,"},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": 63414,"},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"6-square\": 63415,"},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": 63418,"},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": 63419,"},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": 63420,"},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"7-square\": 63421,"},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": 63424,"},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": 63425,"},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": 63426,"},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"8-square\": 63427,"},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": 63430,"},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": 63431,"},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": 63432,"},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"9-square\": 63433,"},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": 63434,"},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": 63435,"},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": 63436,"},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"airplane\": 63437,"},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"alexa\": 63438,"},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"alipay\": 63439,"},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"android\": 63440,"},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"android2\": 63441,"},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": 63442,"},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": 63443,"},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": 63444,"},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": 63445,"},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": 63446,"},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": 63447,"},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": 63450,"},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": 63451,"},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": 63452,"},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"c-square\": 63453,"},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": 63454,"},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"capsule\": 63455,"},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": 63456,"},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"car-front\": 63457,"},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": 63458,"},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"cassette\": 63459,"},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": 63462,"},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": 63463,"},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": 63464,"},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": 63465,"},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": 63466,"},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": 63467,"},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": 63468,"},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": 63469,"},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"escape\": 63470,"},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": 63471,"},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": 63472,"},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": 63473,"},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": 63474,"},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": 63475,"},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": 63476,"},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": 63477,"},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"fire\": 63478,"},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"google-play\": 63479,"},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": 63482,"},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": 63483,"},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": 63484,"},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"h-square\": 63485,"},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"indent\": 63486,"},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": 63487,"},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"lungs\": 63488,"},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": 63489,"},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": 63492,"},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": 63493,"},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": 63494,"},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"p-square\": 63495,"},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": 63496,"},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"pass\": 63497,"},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"prescription\": 63498,"},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": 63499,"},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": 63502,"},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": 63503,"},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": 63504,"},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"r-square\": 63505,"},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": 63506,"},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"repeat\": 63507,"},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": 63508,"},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": 63509,"},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": 63510,"},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": 63511,"},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": 63512,"},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"rewind\": 63513,"},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": 63514,"},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": 63515,"},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": 63516,"},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"train-front\": 63517,"},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": 63518,"},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": 63519,"},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": 63520,"},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": 63521,"},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": 63522,"},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"unindent\": 63523,"},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"unity\": 63524,"},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": 63525,"},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": 63526,"},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"virus\": 63527,"},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"virus2\": 63528,"},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"wechat\": 63529,"},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"yelp\": 63530,"},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": 63531,"},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": 63532,"},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": 63533,"},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": 63534,"},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": 63535,"},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": 63536,"},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": 63537,"},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": 63538,"},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": 63539,"},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": 63540,"},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": 63541,"},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": 63542,"},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": 63543,"},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": 63544,"},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": 63545,"},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": 63546,"},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": 63547,"},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": 63548,"},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": 63549,"},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": 63550,"},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": 63551,"},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": 63552,"},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": 63553,"},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"0-square\": 63554,"},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": 63555,"},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": 63556,"},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": 63557,"},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"rocket\": 63558,"},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"stripe\": 63559,"},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"subscript\": 63560,"},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"superscript\": 63561,"},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"trello\": 63562,"},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": 63563,"},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": 63564,"},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"regex\": 63565,"},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": 63566,"},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": 63567,"},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": 63568,"},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": 63569,"},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": 63570,"},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": 63571,"},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": 63572,"},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": 63573,"},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": 63574,"},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": 63575,"},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": 63576,"},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": 63577,"},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": 63578,"},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": 63579,"},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": 63580,"},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": 63581,"},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": 63582,"},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": 63583,"},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": 63584,"},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": 63585,"},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": 63586,"},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": 63587,"},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": 63588,"},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": 63589,"},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": 63590,"},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"building-add\": 63591,"},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"building-check\": 63592,"},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": 63593,"},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"building-down\": 63594,"},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": 63595,"},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": 63596,"},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": 63597,"},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": 63598,"},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": 63599,"},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": 63600,"},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": 63601,"},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": 63602,"},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": 63603,"},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": 63604,"},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": 63605,"},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": 63606,"},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": 63607,"},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": 63608,"},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": 63609,"},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"building-up\": 63610,"},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"building-x\": 63611,"},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": 63612,"},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"buildings\": 63613,"},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": 63614,"},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": 63615,"},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": 63616,"},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": 63617,"},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": 63618,"},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": 63619,"},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": 63620,"},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": 63621,"},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": 63622,"},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"house-add\": 63623,"},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": 63624,"},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"house-check\": 63625,"},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": 63626,"},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": 63627,"},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": 63628,"},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"house-down\": 63629,"},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": 63630,"},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": 63631,"},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": 63632,"},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": 63633,"},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": 63634,"},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": 63635,"},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": 63636,"},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": 63637,"},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": 63638,"},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"house-up\": 63639,"},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": 63640,"},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"house-x\": 63641,"},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"person-add\": 63642,"},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"person-down\": 63643,"},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": 63644,"},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": 63645,"},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": 63646,"},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": 63647,"},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": 63648,"},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": 63649,"},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": 63650,"},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": 63651,"},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": 63652,"},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": 63653,"},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": 63654,"},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": 63655,"},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": 63656,"},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": 63657,"},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"person-up\": 63658,"},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"scooter\": 63659,"},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": 63660,"},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": 63661,"},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"amd\": 63662,"},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"database-add\": 63663,"},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"database-check\": 63664,"},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": 63665,"},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"database-down\": 63666,"},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": 63667,"},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": 63668,"},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": 63669,"},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": 63670,"},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": 63671,"},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": 63672,"},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": 63673,"},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": 63674,"},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": 63675,"},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": 63676,"},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": 63677,"},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": 63678,"},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": 63679,"},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": 63680,"},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": 63681,"},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"database-up\": 63682,"},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"database-x\": 63683,"},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"database\": 63684,"},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": 63685,"},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"houses\": 63686,"},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": 63687,"},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": 63688,"},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": 63689,"},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": 63690,"},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": 63691,"},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": 63692,"},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": 62117,"},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": 63114,"},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"amazon\": 63117,"},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": 63120,"},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": 63125,"},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": 63128,"},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"arrows\": 63138,"},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": 63139,"},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"ban\": 63158,"},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"bing\": 63170,"},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"cake\": 63200,"},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"cake2\": 63213,"},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"cookie\": 63214,"},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"copy\": 63321,"},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": 63337,"},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": 63380,"},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": 63381,"},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": 63386,"},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": 63387,"},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": 63392,"},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": 63393,"},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": 63398,"},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": 63399,"},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": 63404,"},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": 63405,"},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": 63410,"},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": 63411,"},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": 63416,"},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": 63417,"},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": 63422,"},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"feather\": 63423,"},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"feather2\": 63428,"},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": 63429,"},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"floppy\": 63448,"},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": 63449,"},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": 63460,"},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": 63461,"},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": 63480,"},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": 63490,"},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": 63491,"},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"nvme\": 63500,"},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": 63501,"},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": 63693,"},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": 63694,"},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"radar\": 63695,"},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": 63696,"},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": 63697,"},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": 63698,"},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": 63699,"},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": 63700,"},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": 63701,"},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": 63702,"},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"substack\": 63703,"},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": 63704,"},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"threads\": 63705,"},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"transparency\": 63706,"},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": 63707,"},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": 63708,"},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": 63709,"},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": 63710,"},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": 63711,"},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"backpack\": 63712,"},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": 63713,"},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": 63714,"},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": 63715,"},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": 63716,"},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": 63717,"},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": 63718,"},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": 63719,"},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": 63720,"},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": 63721,"},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": 63722,"},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"duffle\": 63723,"},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"exposure\": 63724,"},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": 63725,"},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"highlights\": 63726,"},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": 63727,"},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"luggage\": 63728,"},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": 63729,"},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": 63730,"},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": 63731,"},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": 63732,"},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"passport\": 63733,"},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": 63734,"},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": 63735,"},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": 63736,"},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": 63737,"},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": 63738,"},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": 63739,"},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"shadows\": 63740,"},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": 63741,"},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": 63742,"},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": 63743,"},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": 63744,"},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": 63745,"},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": 63746,"},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"vignette\": 63747"},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2052}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/bootstrap-icons/font/bootstrap-icons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */@font-face{font-display:block;font-family:bootstrap-icons;src:url(\"fonts/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6\") format(\"woff2\"),url(\"fonts/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6\") format(\"woff\")}.bi::before,[class*\u003d\" bi-\"]::before,[class^\u003dbi-]::before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123::before{content:\"\\f67f\"}.bi-alarm-fill::before{content:\"\\f101\"}.bi-alarm::before{content:\"\\f102\"}.bi-align-bottom::before{content:\"\\f103\"}.bi-align-center::before{content:\"\\f104\"}.bi-align-end::before{content:\"\\f105\"}.bi-align-middle::before{content:\"\\f106\"}.bi-align-start::before{content:\"\\f107\"}.bi-align-top::before{content:\"\\f108\"}.bi-alt::before{content:\"\\f109\"}.bi-app-indicator::before{content:\"\\f10a\"}.bi-app::before{content:\"\\f10b\"}.bi-archive-fill::before{content:\"\\f10c\"}.bi-archive::before{content:\"\\f10d\"}.bi-arrow-90deg-down::before{content:\"\\f10e\"}.bi-arrow-90deg-left::before{content:\"\\f10f\"}.bi-arrow-90deg-right::before{content:\"\\f110\"}.bi-arrow-90deg-up::before{content:\"\\f111\"}.bi-arrow-bar-down::before{content:\"\\f112\"}.bi-arrow-bar-left::before{content:\"\\f113\"}.bi-arrow-bar-right::before{content:\"\\f114\"}.bi-arrow-bar-up::before{content:\"\\f115\"}.bi-arrow-clockwise::before{content:\"\\f116\"}.bi-arrow-counterclockwise::before{content:\"\\f117\"}.bi-arrow-down-circle-fill::before{content:\"\\f118\"}.bi-arrow-down-circle::before{content:\"\\f119\"}.bi-arrow-down-left-circle-fill::before{content:\"\\f11a\"}.bi-arrow-down-left-circle::before{content:\"\\f11b\"}.bi-arrow-down-left-square-fill::before{content:\"\\f11c\"}.bi-arrow-down-left-square::before{content:\"\\f11d\"}.bi-arrow-down-left::before{content:\"\\f11e\"}.bi-arrow-down-right-circle-fill::before{content:\"\\f11f\"}.bi-arrow-down-right-circle::before{content:\"\\f120\"}.bi-arrow-down-right-square-fill::before{content:\"\\f121\"}.bi-arrow-down-right-square::before{content:\"\\f122\"}.bi-arrow-down-right::before{content:\"\\f123\"}.bi-arrow-down-short::before{content:\"\\f124\"}.bi-arrow-down-square-fill::before{content:\"\\f125\"}.bi-arrow-down-square::before{content:\"\\f126\"}.bi-arrow-down-up::before{content:\"\\f127\"}.bi-arrow-down::before{content:\"\\f128\"}.bi-arrow-left-circle-fill::before{content:\"\\f129\"}.bi-arrow-left-circle::before{content:\"\\f12a\"}.bi-arrow-left-right::before{content:\"\\f12b\"}.bi-arrow-left-short::before{content:\"\\f12c\"}.bi-arrow-left-square-fill::before{content:\"\\f12d\"}.bi-arrow-left-square::before{content:\"\\f12e\"}.bi-arrow-left::before{content:\"\\f12f\"}.bi-arrow-repeat::before{content:\"\\f130\"}.bi-arrow-return-left::before{content:\"\\f131\"}.bi-arrow-return-right::before{content:\"\\f132\"}.bi-arrow-right-circle-fill::before{content:\"\\f133\"}.bi-arrow-right-circle::before{content:\"\\f134\"}.bi-arrow-right-short::before{content:\"\\f135\"}.bi-arrow-right-square-fill::before{content:\"\\f136\"}.bi-arrow-right-square::before{content:\"\\f137\"}.bi-arrow-right::before{content:\"\\f138\"}.bi-arrow-up-circle-fill::before{content:\"\\f139\"}.bi-arrow-up-circle::before{content:\"\\f13a\"}.bi-arrow-up-left-circle-fill::before{content:\"\\f13b\"}.bi-arrow-up-left-circle::before{content:\"\\f13c\"}.bi-arrow-up-left-square-fill::before{content:\"\\f13d\"}.bi-arrow-up-left-square::before{content:\"\\f13e\"}.bi-arrow-up-left::before{content:\"\\f13f\"}.bi-arrow-up-right-circle-fill::before{content:\"\\f140\"}.bi-arrow-up-right-circle::before{content:\"\\f141\"}.bi-arrow-up-right-square-fill::before{content:\"\\f142\"}.bi-arrow-up-right-square::before{content:\"\\f143\"}.bi-arrow-up-right::before{content:\"\\f144\"}.bi-arrow-up-short::before{content:\"\\f145\"}.bi-arrow-up-square-fill::before{content:\"\\f146\"}.bi-arrow-up-square::before{content:\"\\f147\"}.bi-arrow-up::before{content:\"\\f148\"}.bi-arrows-angle-contract::before{content:\"\\f149\"}.bi-arrows-angle-expand::before{content:\"\\f14a\"}.bi-arrows-collapse::before{content:\"\\f14b\"}.bi-arrows-expand::before{content:\"\\f14c\"}.bi-arrows-fullscreen::before{content:\"\\f14d\"}.bi-arrows-move::before{content:\"\\f14e\"}.bi-aspect-ratio-fill::before{content:\"\\f14f\"}.bi-aspect-ratio::before{content:\"\\f150\"}.bi-asterisk::before{content:\"\\f151\"}.bi-at::before{content:\"\\f152\"}.bi-award-fill::before{content:\"\\f153\"}.bi-award::before{content:\"\\f154\"}.bi-back::before{content:\"\\f155\"}.bi-backspace-fill::before{content:\"\\f156\"}.bi-backspace-reverse-fill::before{content:\"\\f157\"}.bi-backspace-reverse::before{content:\"\\f158\"}.bi-backspace::before{content:\"\\f159\"}.bi-badge-3d-fill::before{content:\"\\f15a\"}.bi-badge-3d::before{content:\"\\f15b\"}.bi-badge-4k-fill::before{content:\"\\f15c\"}.bi-badge-4k::before{content:\"\\f15d\"}.bi-badge-8k-fill::before{content:\"\\f15e\"}.bi-badge-8k::before{content:\"\\f15f\"}.bi-badge-ad-fill::before{content:\"\\f160\"}.bi-badge-ad::before{content:\"\\f161\"}.bi-badge-ar-fill::before{content:\"\\f162\"}.bi-badge-ar::before{content:\"\\f163\"}.bi-badge-cc-fill::before{content:\"\\f164\"}.bi-badge-cc::before{content:\"\\f165\"}.bi-badge-hd-fill::before{content:\"\\f166\"}.bi-badge-hd::before{content:\"\\f167\"}.bi-badge-tm-fill::before{content:\"\\f168\"}.bi-badge-tm::before{content:\"\\f169\"}.bi-badge-vo-fill::before{content:\"\\f16a\"}.bi-badge-vo::before{content:\"\\f16b\"}.bi-badge-vr-fill::before{content:\"\\f16c\"}.bi-badge-vr::before{content:\"\\f16d\"}.bi-badge-wc-fill::before{content:\"\\f16e\"}.bi-badge-wc::before{content:\"\\f16f\"}.bi-bag-check-fill::before{content:\"\\f170\"}.bi-bag-check::before{content:\"\\f171\"}.bi-bag-dash-fill::before{content:\"\\f172\"}.bi-bag-dash::before{content:\"\\f173\"}.bi-bag-fill::before{content:\"\\f174\"}.bi-bag-plus-fill::before{content:\"\\f175\"}.bi-bag-plus::before{content:\"\\f176\"}.bi-bag-x-fill::before{content:\"\\f177\"}.bi-bag-x::before{content:\"\\f178\"}.bi-bag::before{content:\"\\f179\"}.bi-bar-chart-fill::before{content:\"\\f17a\"}.bi-bar-chart-line-fill::before{content:\"\\f17b\"}.bi-bar-chart-line::before{content:\"\\f17c\"}.bi-bar-chart-steps::before{content:\"\\f17d\"}.bi-bar-chart::before{content:\"\\f17e\"}.bi-basket-fill::before{content:\"\\f17f\"}.bi-basket::before{content:\"\\f180\"}.bi-basket2-fill::before{content:\"\\f181\"}.bi-basket2::before{content:\"\\f182\"}.bi-basket3-fill::before{content:\"\\f183\"}.bi-basket3::before{content:\"\\f184\"}.bi-battery-charging::before{content:\"\\f185\"}.bi-battery-full::before{content:\"\\f186\"}.bi-battery-half::before{content:\"\\f187\"}.bi-battery::before{content:\"\\f188\"}.bi-bell-fill::before{content:\"\\f189\"}.bi-bell::before{content:\"\\f18a\"}.bi-bezier::before{content:\"\\f18b\"}.bi-bezier2::before{content:\"\\f18c\"}.bi-bicycle::before{content:\"\\f18d\"}.bi-binoculars-fill::before{content:\"\\f18e\"}.bi-binoculars::before{content:\"\\f18f\"}.bi-blockquote-left::before{content:\"\\f190\"}.bi-blockquote-right::before{content:\"\\f191\"}.bi-book-fill::before{content:\"\\f192\"}.bi-book-half::before{content:\"\\f193\"}.bi-book::before{content:\"\\f194\"}.bi-bookmark-check-fill::before{content:\"\\f195\"}.bi-bookmark-check::before{content:\"\\f196\"}.bi-bookmark-dash-fill::before{content:\"\\f197\"}.bi-bookmark-dash::before{content:\"\\f198\"}.bi-bookmark-fill::before{content:\"\\f199\"}.bi-bookmark-heart-fill::before{content:\"\\f19a\"}.bi-bookmark-heart::before{content:\"\\f19b\"}.bi-bookmark-plus-fill::before{content:\"\\f19c\"}.bi-bookmark-plus::before{content:\"\\f19d\"}.bi-bookmark-star-fill::before{content:\"\\f19e\"}.bi-bookmark-star::before{content:\"\\f19f\"}.bi-bookmark-x-fill::before{content:\"\\f1a0\"}.bi-bookmark-x::before{content:\"\\f1a1\"}.bi-bookmark::before{content:\"\\f1a2\"}.bi-bookmarks-fill::before{content:\"\\f1a3\"}.bi-bookmarks::before{content:\"\\f1a4\"}.bi-bookshelf::before{content:\"\\f1a5\"}.bi-bootstrap-fill::before{content:\"\\f1a6\"}.bi-bootstrap-reboot::before{content:\"\\f1a7\"}.bi-bootstrap::before{content:\"\\f1a8\"}.bi-border-all::before{content:\"\\f1a9\"}.bi-border-bottom::before{content:\"\\f1aa\"}.bi-border-center::before{content:\"\\f1ab\"}.bi-border-inner::before{content:\"\\f1ac\"}.bi-border-left::before{content:\"\\f1ad\"}.bi-border-middle::before{content:\"\\f1ae\"}.bi-border-outer::before{content:\"\\f1af\"}.bi-border-right::before{content:\"\\f1b0\"}.bi-border-style::before{content:\"\\f1b1\"}.bi-border-top::before{content:\"\\f1b2\"}.bi-border-width::before{content:\"\\f1b3\"}.bi-border::before{content:\"\\f1b4\"}.bi-bounding-box-circles::before{content:\"\\f1b5\"}.bi-bounding-box::before{content:\"\\f1b6\"}.bi-box-arrow-down-left::before{content:\"\\f1b7\"}.bi-box-arrow-down-right::before{content:\"\\f1b8\"}.bi-box-arrow-down::before{content:\"\\f1b9\"}.bi-box-arrow-in-down-left::before{content:\"\\f1ba\"}.bi-box-arrow-in-down-right::before{content:\"\\f1bb\"}.bi-box-arrow-in-down::before{content:\"\\f1bc\"}.bi-box-arrow-in-left::before{content:\"\\f1bd\"}.bi-box-arrow-in-right::before{content:\"\\f1be\"}.bi-box-arrow-in-up-left::before{content:\"\\f1bf\"}.bi-box-arrow-in-up-right::before{content:\"\\f1c0\"}.bi-box-arrow-in-up::before{content:\"\\f1c1\"}.bi-box-arrow-left::before{content:\"\\f1c2\"}.bi-box-arrow-right::before{content:\"\\f1c3\"}.bi-box-arrow-up-left::before{content:\"\\f1c4\"}.bi-box-arrow-up-right::before{content:\"\\f1c5\"}.bi-box-arrow-up::before{content:\"\\f1c6\"}.bi-box-seam::before{content:\"\\f1c7\"}.bi-box::before{content:\"\\f1c8\"}.bi-braces::before{content:\"\\f1c9\"}.bi-bricks::before{content:\"\\f1ca\"}.bi-briefcase-fill::before{content:\"\\f1cb\"}.bi-briefcase::before{content:\"\\f1cc\"}.bi-brightness-alt-high-fill::before{content:\"\\f1cd\"}.bi-brightness-alt-high::before{content:\"\\f1ce\"}.bi-brightness-alt-low-fill::before{content:\"\\f1cf\"}.bi-brightness-alt-low::before{content:\"\\f1d0\"}.bi-brightness-high-fill::before{content:\"\\f1d1\"}.bi-brightness-high::before{content:\"\\f1d2\"}.bi-brightness-low-fill::before{content:\"\\f1d3\"}.bi-brightness-low::before{content:\"\\f1d4\"}.bi-broadcast-pin::before{content:\"\\f1d5\"}.bi-broadcast::before{content:\"\\f1d6\"}.bi-brush-fill::before{content:\"\\f1d7\"}.bi-brush::before{content:\"\\f1d8\"}.bi-bucket-fill::before{content:\"\\f1d9\"}.bi-bucket::before{content:\"\\f1da\"}.bi-bug-fill::before{content:\"\\f1db\"}.bi-bug::before{content:\"\\f1dc\"}.bi-building::before{content:\"\\f1dd\"}.bi-bullseye::before{content:\"\\f1de\"}.bi-calculator-fill::before{content:\"\\f1df\"}.bi-calculator::before{content:\"\\f1e0\"}.bi-calendar-check-fill::before{content:\"\\f1e1\"}.bi-calendar-check::before{content:\"\\f1e2\"}.bi-calendar-date-fill::before{content:\"\\f1e3\"}.bi-calendar-date::before{content:\"\\f1e4\"}.bi-calendar-day-fill::before{content:\"\\f1e5\"}.bi-calendar-day::before{content:\"\\f1e6\"}.bi-calendar-event-fill::before{content:\"\\f1e7\"}.bi-calendar-event::before{content:\"\\f1e8\"}.bi-calendar-fill::before{content:\"\\f1e9\"}.bi-calendar-minus-fill::before{content:\"\\f1ea\"}.bi-calendar-minus::before{content:\"\\f1eb\"}.bi-calendar-month-fill::before{content:\"\\f1ec\"}.bi-calendar-month::before{content:\"\\f1ed\"}.bi-calendar-plus-fill::before{content:\"\\f1ee\"}.bi-calendar-plus::before{content:\"\\f1ef\"}.bi-calendar-range-fill::before{content:\"\\f1f0\"}.bi-calendar-range::before{content:\"\\f1f1\"}.bi-calendar-week-fill::before{content:\"\\f1f2\"}.bi-calendar-week::before{content:\"\\f1f3\"}.bi-calendar-x-fill::before{content:\"\\f1f4\"}.bi-calendar-x::before{content:\"\\f1f5\"}.bi-calendar::before{content:\"\\f1f6\"}.bi-calendar2-check-fill::before{content:\"\\f1f7\"}.bi-calendar2-check::before{content:\"\\f1f8\"}.bi-calendar2-date-fill::before{content:\"\\f1f9\"}.bi-calendar2-date::before{content:\"\\f1fa\"}.bi-calendar2-day-fill::before{content:\"\\f1fb\"}.bi-calendar2-day::before{content:\"\\f1fc\"}.bi-calendar2-event-fill::before{content:\"\\f1fd\"}.bi-calendar2-event::before{content:\"\\f1fe\"}.bi-calendar2-fill::before{content:\"\\f1ff\"}.bi-calendar2-minus-fill::before{content:\"\\f200\"}.bi-calendar2-minus::before{content:\"\\f201\"}.bi-calendar2-month-fill::before{content:\"\\f202\"}.bi-calendar2-month::before{content:\"\\f203\"}.bi-calendar2-plus-fill::before{content:\"\\f204\"}.bi-calendar2-plus::before{content:\"\\f205\"}.bi-calendar2-range-fill::before{content:\"\\f206\"}.bi-calendar2-range::before{content:\"\\f207\"}.bi-calendar2-week-fill::before{content:\"\\f208\"}.bi-calendar2-week::before{content:\"\\f209\"}.bi-calendar2-x-fill::before{content:\"\\f20a\"}.bi-calendar2-x::before{content:\"\\f20b\"}.bi-calendar2::before{content:\"\\f20c\"}.bi-calendar3-event-fill::before{content:\"\\f20d\"}.bi-calendar3-event::before{content:\"\\f20e\"}.bi-calendar3-fill::before{content:\"\\f20f\"}.bi-calendar3-range-fill::before{content:\"\\f210\"}.bi-calendar3-range::before{content:\"\\f211\"}.bi-calendar3-week-fill::before{content:\"\\f212\"}.bi-calendar3-week::before{content:\"\\f213\"}.bi-calendar3::before{content:\"\\f214\"}.bi-calendar4-event::before{content:\"\\f215\"}.bi-calendar4-range::before{content:\"\\f216\"}.bi-calendar4-week::before{content:\"\\f217\"}.bi-calendar4::before{content:\"\\f218\"}.bi-camera-fill::before{content:\"\\f219\"}.bi-camera-reels-fill::before{content:\"\\f21a\"}.bi-camera-reels::before{content:\"\\f21b\"}.bi-camera-video-fill::before{content:\"\\f21c\"}.bi-camera-video-off-fill::before{content:\"\\f21d\"}.bi-camera-video-off::before{content:\"\\f21e\"}.bi-camera-video::before{content:\"\\f21f\"}.bi-camera::before{content:\"\\f220\"}.bi-camera2::before{content:\"\\f221\"}.bi-capslock-fill::before{content:\"\\f222\"}.bi-capslock::before{content:\"\\f223\"}.bi-card-checklist::before{content:\"\\f224\"}.bi-card-heading::before{content:\"\\f225\"}.bi-card-image::before{content:\"\\f226\"}.bi-card-list::before{content:\"\\f227\"}.bi-card-text::before{content:\"\\f228\"}.bi-caret-down-fill::before{content:\"\\f229\"}.bi-caret-down-square-fill::before{content:\"\\f22a\"}.bi-caret-down-square::before{content:\"\\f22b\"}.bi-caret-down::before{content:\"\\f22c\"}.bi-caret-left-fill::before{content:\"\\f22d\"}.bi-caret-left-square-fill::before{content:\"\\f22e\"}.bi-caret-left-square::before{content:\"\\f22f\"}.bi-caret-left::before{content:\"\\f230\"}.bi-caret-right-fill::before{content:\"\\f231\"}.bi-caret-right-square-fill::before{content:\"\\f232\"}.bi-caret-right-square::before{content:\"\\f233\"}.bi-caret-right::before{content:\"\\f234\"}.bi-caret-up-fill::before{content:\"\\f235\"}.bi-caret-up-square-fill::before{content:\"\\f236\"}.bi-caret-up-square::before{content:\"\\f237\"}.bi-caret-up::before{content:\"\\f238\"}.bi-cart-check-fill::before{content:\"\\f239\"}.bi-cart-check::before{content:\"\\f23a\"}.bi-cart-dash-fill::before{content:\"\\f23b\"}.bi-cart-dash::before{content:\"\\f23c\"}.bi-cart-fill::before{content:\"\\f23d\"}.bi-cart-plus-fill::before{content:\"\\f23e\"}.bi-cart-plus::before{content:\"\\f23f\"}.bi-cart-x-fill::before{content:\"\\f240\"}.bi-cart-x::before{content:\"\\f241\"}.bi-cart::before{content:\"\\f242\"}.bi-cart2::before{content:\"\\f243\"}.bi-cart3::before{content:\"\\f244\"}.bi-cart4::before{content:\"\\f245\"}.bi-cash-stack::before{content:\"\\f246\"}.bi-cash::before{content:\"\\f247\"}.bi-cast::before{content:\"\\f248\"}.bi-chat-dots-fill::before{content:\"\\f249\"}.bi-chat-dots::before{content:\"\\f24a\"}.bi-chat-fill::before{content:\"\\f24b\"}.bi-chat-left-dots-fill::before{content:\"\\f24c\"}.bi-chat-left-dots::before{content:\"\\f24d\"}.bi-chat-left-fill::before{content:\"\\f24e\"}.bi-chat-left-quote-fill::before{content:\"\\f24f\"}.bi-chat-left-quote::before{content:\"\\f250\"}.bi-chat-left-text-fill::before{content:\"\\f251\"}.bi-chat-left-text::before{content:\"\\f252\"}.bi-chat-left::before{content:\"\\f253\"}.bi-chat-quote-fill::before{content:\"\\f254\"}.bi-chat-quote::before{content:\"\\f255\"}.bi-chat-right-dots-fill::before{content:\"\\f256\"}.bi-chat-right-dots::before{content:\"\\f257\"}.bi-chat-right-fill::before{content:\"\\f258\"}.bi-chat-right-quote-fill::before{content:\"\\f259\"}.bi-chat-right-quote::before{content:\"\\f25a\"}.bi-chat-right-text-fill::before{content:\"\\f25b\"}.bi-chat-right-text::before{content:\"\\f25c\"}.bi-chat-right::before{content:\"\\f25d\"}.bi-chat-square-dots-fill::before{content:\"\\f25e\"}.bi-chat-square-dots::before{content:\"\\f25f\"}.bi-chat-square-fill::before{content:\"\\f260\"}.bi-chat-square-quote-fill::before{content:\"\\f261\"}.bi-chat-square-quote::before{content:\"\\f262\"}.bi-chat-square-text-fill::before{content:\"\\f263\"}.bi-chat-square-text::before{content:\"\\f264\"}.bi-chat-square::before{content:\"\\f265\"}.bi-chat-text-fill::before{content:\"\\f266\"}.bi-chat-text::before{content:\"\\f267\"}.bi-chat::before{content:\"\\f268\"}.bi-check-all::before{content:\"\\f269\"}.bi-check-circle-fill::before{content:\"\\f26a\"}.bi-check-circle::before{content:\"\\f26b\"}.bi-check-square-fill::before{content:\"\\f26c\"}.bi-check-square::before{content:\"\\f26d\"}.bi-check::before{content:\"\\f26e\"}.bi-check2-all::before{content:\"\\f26f\"}.bi-check2-circle::before{content:\"\\f270\"}.bi-check2-square::before{content:\"\\f271\"}.bi-check2::before{content:\"\\f272\"}.bi-chevron-bar-contract::before{content:\"\\f273\"}.bi-chevron-bar-down::before{content:\"\\f274\"}.bi-chevron-bar-expand::before{content:\"\\f275\"}.bi-chevron-bar-left::before{content:\"\\f276\"}.bi-chevron-bar-right::before{content:\"\\f277\"}.bi-chevron-bar-up::before{content:\"\\f278\"}.bi-chevron-compact-down::before{content:\"\\f279\"}.bi-chevron-compact-left::before{content:\"\\f27a\"}.bi-chevron-compact-right::before{content:\"\\f27b\"}.bi-chevron-compact-up::before{content:\"\\f27c\"}.bi-chevron-contract::before{content:\"\\f27d\"}.bi-chevron-double-down::before{content:\"\\f27e\"}.bi-chevron-double-left::before{content:\"\\f27f\"}.bi-chevron-double-right::before{content:\"\\f280\"}.bi-chevron-double-up::before{content:\"\\f281\"}.bi-chevron-down::before{content:\"\\f282\"}.bi-chevron-expand::before{content:\"\\f283\"}.bi-chevron-left::before{content:\"\\f284\"}.bi-chevron-right::before{content:\"\\f285\"}.bi-chevron-up::before{content:\"\\f286\"}.bi-circle-fill::before{content:\"\\f287\"}.bi-circle-half::before{content:\"\\f288\"}.bi-circle-square::before{content:\"\\f289\"}.bi-circle::before{content:\"\\f28a\"}.bi-clipboard-check::before{content:\"\\f28b\"}.bi-clipboard-data::before{content:\"\\f28c\"}.bi-clipboard-minus::before{content:\"\\f28d\"}.bi-clipboard-plus::before{content:\"\\f28e\"}.bi-clipboard-x::before{content:\"\\f28f\"}.bi-clipboard::before{content:\"\\f290\"}.bi-clock-fill::before{content:\"\\f291\"}.bi-clock-history::before{content:\"\\f292\"}.bi-clock::before{content:\"\\f293\"}.bi-cloud-arrow-down-fill::before{content:\"\\f294\"}.bi-cloud-arrow-down::before{content:\"\\f295\"}.bi-cloud-arrow-up-fill::before{content:\"\\f296\"}.bi-cloud-arrow-up::before{content:\"\\f297\"}.bi-cloud-check-fill::before{content:\"\\f298\"}.bi-cloud-check::before{content:\"\\f299\"}.bi-cloud-download-fill::before{content:\"\\f29a\"}.bi-cloud-download::before{content:\"\\f29b\"}.bi-cloud-drizzle-fill::before{content:\"\\f29c\"}.bi-cloud-drizzle::before{content:\"\\f29d\"}.bi-cloud-fill::before{content:\"\\f29e\"}.bi-cloud-fog-fill::before{content:\"\\f29f\"}.bi-cloud-fog::before{content:\"\\f2a0\"}.bi-cloud-fog2-fill::before{content:\"\\f2a1\"}.bi-cloud-fog2::before{content:\"\\f2a2\"}.bi-cloud-hail-fill::before{content:\"\\f2a3\"}.bi-cloud-hail::before{content:\"\\f2a4\"}.bi-cloud-haze-fill::before{content:\"\\f2a6\"}.bi-cloud-haze::before{content:\"\\f2a7\"}.bi-cloud-haze2-fill::before{content:\"\\f2a8\"}.bi-cloud-lightning-fill::before{content:\"\\f2a9\"}.bi-cloud-lightning-rain-fill::before{content:\"\\f2aa\"}.bi-cloud-lightning-rain::before{content:\"\\f2ab\"}.bi-cloud-lightning::before{content:\"\\f2ac\"}.bi-cloud-minus-fill::before{content:\"\\f2ad\"}.bi-cloud-minus::before{content:\"\\f2ae\"}.bi-cloud-moon-fill::before{content:\"\\f2af\"}.bi-cloud-moon::before{content:\"\\f2b0\"}.bi-cloud-plus-fill::before{content:\"\\f2b1\"}.bi-cloud-plus::before{content:\"\\f2b2\"}.bi-cloud-rain-fill::before{content:\"\\f2b3\"}.bi-cloud-rain-heavy-fill::before{content:\"\\f2b4\"}.bi-cloud-rain-heavy::before{content:\"\\f2b5\"}.bi-cloud-rain::before{content:\"\\f2b6\"}.bi-cloud-slash-fill::before{content:\"\\f2b7\"}.bi-cloud-slash::before{content:\"\\f2b8\"}.bi-cloud-sleet-fill::before{content:\"\\f2b9\"}.bi-cloud-sleet::before{content:\"\\f2ba\"}.bi-cloud-snow-fill::before{content:\"\\f2bb\"}.bi-cloud-snow::before{content:\"\\f2bc\"}.bi-cloud-sun-fill::before{content:\"\\f2bd\"}.bi-cloud-sun::before{content:\"\\f2be\"}.bi-cloud-upload-fill::before{content:\"\\f2bf\"}.bi-cloud-upload::before{content:\"\\f2c0\"}.bi-cloud::before{content:\"\\f2c1\"}.bi-clouds-fill::before{content:\"\\f2c2\"}.bi-clouds::before{content:\"\\f2c3\"}.bi-cloudy-fill::before{content:\"\\f2c4\"}.bi-cloudy::before{content:\"\\f2c5\"}.bi-code-slash::before{content:\"\\f2c6\"}.bi-code-square::before{content:\"\\f2c7\"}.bi-code::before{content:\"\\f2c8\"}.bi-collection-fill::before{content:\"\\f2c9\"}.bi-collection-play-fill::before{content:\"\\f2ca\"}.bi-collection-play::before{content:\"\\f2cb\"}.bi-collection::before{content:\"\\f2cc\"}.bi-columns-gap::before{content:\"\\f2cd\"}.bi-columns::before{content:\"\\f2ce\"}.bi-command::before{content:\"\\f2cf\"}.bi-compass-fill::before{content:\"\\f2d0\"}.bi-compass::before{content:\"\\f2d1\"}.bi-cone-striped::before{content:\"\\f2d2\"}.bi-cone::before{content:\"\\f2d3\"}.bi-controller::before{content:\"\\f2d4\"}.bi-cpu-fill::before{content:\"\\f2d5\"}.bi-cpu::before{content:\"\\f2d6\"}.bi-credit-card-2-back-fill::before{content:\"\\f2d7\"}.bi-credit-card-2-back::before{content:\"\\f2d8\"}.bi-credit-card-2-front-fill::before{content:\"\\f2d9\"}.bi-credit-card-2-front::before{content:\"\\f2da\"}.bi-credit-card-fill::before{content:\"\\f2db\"}.bi-credit-card::before{content:\"\\f2dc\"}.bi-crop::before{content:\"\\f2dd\"}.bi-cup-fill::before{content:\"\\f2de\"}.bi-cup-straw::before{content:\"\\f2df\"}.bi-cup::before{content:\"\\f2e0\"}.bi-cursor-fill::before{content:\"\\f2e1\"}.bi-cursor-text::before{content:\"\\f2e2\"}.bi-cursor::before{content:\"\\f2e3\"}.bi-dash-circle-dotted::before{content:\"\\f2e4\"}.bi-dash-circle-fill::before{content:\"\\f2e5\"}.bi-dash-circle::before{content:\"\\f2e6\"}.bi-dash-square-dotted::before{content:\"\\f2e7\"}.bi-dash-square-fill::before{content:\"\\f2e8\"}.bi-dash-square::before{content:\"\\f2e9\"}.bi-dash::before{content:\"\\f2ea\"}.bi-diagram-2-fill::before{content:\"\\f2eb\"}.bi-diagram-2::before{content:\"\\f2ec\"}.bi-diagram-3-fill::before{content:\"\\f2ed\"}.bi-diagram-3::before{content:\"\\f2ee\"}.bi-diamond-fill::before{content:\"\\f2ef\"}.bi-diamond-half::before{content:\"\\f2f0\"}.bi-diamond::before{content:\"\\f2f1\"}.bi-dice-1-fill::before{content:\"\\f2f2\"}.bi-dice-1::before{content:\"\\f2f3\"}.bi-dice-2-fill::before{content:\"\\f2f4\"}.bi-dice-2::before{content:\"\\f2f5\"}.bi-dice-3-fill::before{content:\"\\f2f6\"}.bi-dice-3::before{content:\"\\f2f7\"}.bi-dice-4-fill::before{content:\"\\f2f8\"}.bi-dice-4::before{content:\"\\f2f9\"}.bi-dice-5-fill::before{content:\"\\f2fa\"}.bi-dice-5::before{content:\"\\f2fb\"}.bi-dice-6-fill::before{content:\"\\f2fc\"}.bi-dice-6::before{content:\"\\f2fd\"}.bi-disc-fill::before{content:\"\\f2fe\"}.bi-disc::before{content:\"\\f2ff\"}.bi-discord::before{content:\"\\f300\"}.bi-display-fill::before{content:\"\\f301\"}.bi-display::before{content:\"\\f302\"}.bi-distribute-horizontal::before{content:\"\\f303\"}.bi-distribute-vertical::before{content:\"\\f304\"}.bi-door-closed-fill::before{content:\"\\f305\"}.bi-door-closed::before{content:\"\\f306\"}.bi-door-open-fill::before{content:\"\\f307\"}.bi-door-open::before{content:\"\\f308\"}.bi-dot::before{content:\"\\f309\"}.bi-download::before{content:\"\\f30a\"}.bi-droplet-fill::before{content:\"\\f30b\"}.bi-droplet-half::before{content:\"\\f30c\"}.bi-droplet::before{content:\"\\f30d\"}.bi-earbuds::before{content:\"\\f30e\"}.bi-easel-fill::before{content:\"\\f30f\"}.bi-easel::before{content:\"\\f310\"}.bi-egg-fill::before{content:\"\\f311\"}.bi-egg-fried::before{content:\"\\f312\"}.bi-egg::before{content:\"\\f313\"}.bi-eject-fill::before{content:\"\\f314\"}.bi-eject::before{content:\"\\f315\"}.bi-emoji-angry-fill::before{content:\"\\f316\"}.bi-emoji-angry::before{content:\"\\f317\"}.bi-emoji-dizzy-fill::before{content:\"\\f318\"}.bi-emoji-dizzy::before{content:\"\\f319\"}.bi-emoji-expressionless-fill::before{content:\"\\f31a\"}.bi-emoji-expressionless::before{content:\"\\f31b\"}.bi-emoji-frown-fill::before{content:\"\\f31c\"}.bi-emoji-frown::before{content:\"\\f31d\"}.bi-emoji-heart-eyes-fill::before{content:\"\\f31e\"}.bi-emoji-heart-eyes::before{content:\"\\f31f\"}.bi-emoji-laughing-fill::before{content:\"\\f320\"}.bi-emoji-laughing::before{content:\"\\f321\"}.bi-emoji-neutral-fill::before{content:\"\\f322\"}.bi-emoji-neutral::before{content:\"\\f323\"}.bi-emoji-smile-fill::before{content:\"\\f324\"}.bi-emoji-smile-upside-down-fill::before{content:\"\\f325\"}.bi-emoji-smile-upside-down::before{content:\"\\f326\"}.bi-emoji-smile::before{content:\"\\f327\"}.bi-emoji-sunglasses-fill::before{content:\"\\f328\"}.bi-emoji-sunglasses::before{content:\"\\f329\"}.bi-emoji-wink-fill::before{content:\"\\f32a\"}.bi-emoji-wink::before{content:\"\\f32b\"}.bi-envelope-fill::before{content:\"\\f32c\"}.bi-envelope-open-fill::before{content:\"\\f32d\"}.bi-envelope-open::before{content:\"\\f32e\"}.bi-envelope::before{content:\"\\f32f\"}.bi-eraser-fill::before{content:\"\\f330\"}.bi-eraser::before{content:\"\\f331\"}.bi-exclamation-circle-fill::before{content:\"\\f332\"}.bi-exclamation-circle::before{content:\"\\f333\"}.bi-exclamation-diamond-fill::before{content:\"\\f334\"}.bi-exclamation-diamond::before{content:\"\\f335\"}.bi-exclamation-octagon-fill::before{content:\"\\f336\"}.bi-exclamation-octagon::before{content:\"\\f337\"}.bi-exclamation-square-fill::before{content:\"\\f338\"}.bi-exclamation-square::before{content:\"\\f339\"}.bi-exclamation-triangle-fill::before{content:\"\\f33a\"}.bi-exclamation-triangle::before{content:\"\\f33b\"}.bi-exclamation::before{content:\"\\f33c\"}.bi-exclude::before{content:\"\\f33d\"}.bi-eye-fill::before{content:\"\\f33e\"}.bi-eye-slash-fill::before{content:\"\\f33f\"}.bi-eye-slash::before{content:\"\\f340\"}.bi-eye::before{content:\"\\f341\"}.bi-eyedropper::before{content:\"\\f342\"}.bi-eyeglasses::before{content:\"\\f343\"}.bi-facebook::before{content:\"\\f344\"}.bi-file-arrow-down-fill::before{content:\"\\f345\"}.bi-file-arrow-down::before{content:\"\\f346\"}.bi-file-arrow-up-fill::before{content:\"\\f347\"}.bi-file-arrow-up::before{content:\"\\f348\"}.bi-file-bar-graph-fill::before{content:\"\\f349\"}.bi-file-bar-graph::before{content:\"\\f34a\"}.bi-file-binary-fill::before{content:\"\\f34b\"}.bi-file-binary::before{content:\"\\f34c\"}.bi-file-break-fill::before{content:\"\\f34d\"}.bi-file-break::before{content:\"\\f34e\"}.bi-file-check-fill::before{content:\"\\f34f\"}.bi-file-check::before{content:\"\\f350\"}.bi-file-code-fill::before{content:\"\\f351\"}.bi-file-code::before{content:\"\\f352\"}.bi-file-diff-fill::before{content:\"\\f353\"}.bi-file-diff::before{content:\"\\f354\"}.bi-file-earmark-arrow-down-fill::before{content:\"\\f355\"}.bi-file-earmark-arrow-down::before{content:\"\\f356\"}.bi-file-earmark-arrow-up-fill::before{content:\"\\f357\"}.bi-file-earmark-arrow-up::before{content:\"\\f358\"}.bi-file-earmark-bar-graph-fill::before{content:\"\\f359\"}.bi-file-earmark-bar-graph::before{content:\"\\f35a\"}.bi-file-earmark-binary-fill::before{content:\"\\f35b\"}.bi-file-earmark-binary::before{content:\"\\f35c\"}.bi-file-earmark-break-fill::before{content:\"\\f35d\"}.bi-file-earmark-break::before{content:\"\\f35e\"}.bi-file-earmark-check-fill::before{content:\"\\f35f\"}.bi-file-earmark-check::before{content:\"\\f360\"}.bi-file-earmark-code-fill::before{content:\"\\f361\"}.bi-file-earmark-code::before{content:\"\\f362\"}.bi-file-earmark-diff-fill::before{content:\"\\f363\"}.bi-file-earmark-diff::before{content:\"\\f364\"}.bi-file-earmark-easel-fill::before{content:\"\\f365\"}.bi-file-earmark-easel::before{content:\"\\f366\"}.bi-file-earmark-excel-fill::before{content:\"\\f367\"}.bi-file-earmark-excel::before{content:\"\\f368\"}.bi-file-earmark-fill::before{content:\"\\f369\"}.bi-file-earmark-font-fill::before{content:\"\\f36a\"}.bi-file-earmark-font::before{content:\"\\f36b\"}.bi-file-earmark-image-fill::before{content:\"\\f36c\"}.bi-file-earmark-image::before{content:\"\\f36d\"}.bi-file-earmark-lock-fill::before{content:\"\\f36e\"}.bi-file-earmark-lock::before{content:\"\\f36f\"}.bi-file-earmark-lock2-fill::before{content:\"\\f370\"}.bi-file-earmark-lock2::before{content:\"\\f371\"}.bi-file-earmark-medical-fill::before{content:\"\\f372\"}.bi-file-earmark-medical::before{content:\"\\f373\"}.bi-file-earmark-minus-fill::before{content:\"\\f374\"}.bi-file-earmark-minus::before{content:\"\\f375\"}.bi-file-earmark-music-fill::before{content:\"\\f376\"}.bi-file-earmark-music::before{content:\"\\f377\"}.bi-file-earmark-person-fill::before{content:\"\\f378\"}.bi-file-earmark-person::before{content:\"\\f379\"}.bi-file-earmark-play-fill::before{content:\"\\f37a\"}.bi-file-earmark-play::before{content:\"\\f37b\"}.bi-file-earmark-plus-fill::before{content:\"\\f37c\"}.bi-file-earmark-plus::before{content:\"\\f37d\"}.bi-file-earmark-post-fill::before{content:\"\\f37e\"}.bi-file-earmark-post::before{content:\"\\f37f\"}.bi-file-earmark-ppt-fill::before{content:\"\\f380\"}.bi-file-earmark-ppt::before{content:\"\\f381\"}.bi-file-earmark-richtext-fill::before{content:\"\\f382\"}.bi-file-earmark-richtext::before{content:\"\\f383\"}.bi-file-earmark-ruled-fill::before{content:\"\\f384\"}.bi-file-earmark-ruled::before{content:\"\\f385\"}.bi-file-earmark-slides-fill::before{content:\"\\f386\"}.bi-file-earmark-slides::before{content:\"\\f387\"}.bi-file-earmark-spreadsheet-fill::before{content:\"\\f388\"}.bi-file-earmark-spreadsheet::before{content:\"\\f389\"}.bi-file-earmark-text-fill::before{content:\"\\f38a\"}.bi-file-earmark-text::before{content:\"\\f38b\"}.bi-file-earmark-word-fill::before{content:\"\\f38c\"}.bi-file-earmark-word::before{content:\"\\f38d\"}.bi-file-earmark-x-fill::before{content:\"\\f38e\"}.bi-file-earmark-x::before{content:\"\\f38f\"}.bi-file-earmark-zip-fill::before{content:\"\\f390\"}.bi-file-earmark-zip::before{content:\"\\f391\"}.bi-file-earmark::before{content:\"\\f392\"}.bi-file-easel-fill::before{content:\"\\f393\"}.bi-file-easel::before{content:\"\\f394\"}.bi-file-excel-fill::before{content:\"\\f395\"}.bi-file-excel::before{content:\"\\f396\"}.bi-file-fill::before{content:\"\\f397\"}.bi-file-font-fill::before{content:\"\\f398\"}.bi-file-font::before{content:\"\\f399\"}.bi-file-image-fill::before{content:\"\\f39a\"}.bi-file-image::before{content:\"\\f39b\"}.bi-file-lock-fill::before{content:\"\\f39c\"}.bi-file-lock::before{content:\"\\f39d\"}.bi-file-lock2-fill::before{content:\"\\f39e\"}.bi-file-lock2::before{content:\"\\f39f\"}.bi-file-medical-fill::before{content:\"\\f3a0\"}.bi-file-medical::before{content:\"\\f3a1\"}.bi-file-minus-fill::before{content:\"\\f3a2\"}.bi-file-minus::before{content:\"\\f3a3\"}.bi-file-music-fill::before{content:\"\\f3a4\"}.bi-file-music::before{content:\"\\f3a5\"}.bi-file-person-fill::before{content:\"\\f3a6\"}.bi-file-person::before{content:\"\\f3a7\"}.bi-file-play-fill::before{content:\"\\f3a8\"}.bi-file-play::before{content:\"\\f3a9\"}.bi-file-plus-fill::before{content:\"\\f3aa\"}.bi-file-plus::before{content:\"\\f3ab\"}.bi-file-post-fill::before{content:\"\\f3ac\"}.bi-file-post::before{content:\"\\f3ad\"}.bi-file-ppt-fill::before{content:\"\\f3ae\"}.bi-file-ppt::before{content:\"\\f3af\"}.bi-file-richtext-fill::before{content:\"\\f3b0\"}.bi-file-richtext::before{content:\"\\f3b1\"}.bi-file-ruled-fill::before{content:\"\\f3b2\"}.bi-file-ruled::before{content:\"\\f3b3\"}.bi-file-slides-fill::before{content:\"\\f3b4\"}.bi-file-slides::before{content:\"\\f3b5\"}.bi-file-spreadsheet-fill::before{content:\"\\f3b6\"}.bi-file-spreadsheet::before{content:\"\\f3b7\"}.bi-file-text-fill::before{content:\"\\f3b8\"}.bi-file-text::before{content:\"\\f3b9\"}.bi-file-word-fill::before{content:\"\\f3ba\"}.bi-file-word::before{content:\"\\f3bb\"}.bi-file-x-fill::before{content:\"\\f3bc\"}.bi-file-x::before{content:\"\\f3bd\"}.bi-file-zip-fill::before{content:\"\\f3be\"}.bi-file-zip::before{content:\"\\f3bf\"}.bi-file::before{content:\"\\f3c0\"}.bi-files-alt::before{content:\"\\f3c1\"}.bi-files::before{content:\"\\f3c2\"}.bi-film::before{content:\"\\f3c3\"}.bi-filter-circle-fill::before{content:\"\\f3c4\"}.bi-filter-circle::before{content:\"\\f3c5\"}.bi-filter-left::before{content:\"\\f3c6\"}.bi-filter-right::before{content:\"\\f3c7\"}.bi-filter-square-fill::before{content:\"\\f3c8\"}.bi-filter-square::before{content:\"\\f3c9\"}.bi-filter::before{content:\"\\f3ca\"}.bi-flag-fill::before{content:\"\\f3cb\"}.bi-flag::before{content:\"\\f3cc\"}.bi-flower1::before{content:\"\\f3cd\"}.bi-flower2::before{content:\"\\f3ce\"}.bi-flower3::before{content:\"\\f3cf\"}.bi-folder-check::before{content:\"\\f3d0\"}.bi-folder-fill::before{content:\"\\f3d1\"}.bi-folder-minus::before{content:\"\\f3d2\"}.bi-folder-plus::before{content:\"\\f3d3\"}.bi-folder-symlink-fill::before{content:\"\\f3d4\"}.bi-folder-symlink::before{content:\"\\f3d5\"}.bi-folder-x::before{content:\"\\f3d6\"}.bi-folder::before{content:\"\\f3d7\"}.bi-folder2-open::before{content:\"\\f3d8\"}.bi-folder2::before{content:\"\\f3d9\"}.bi-fonts::before{content:\"\\f3da\"}.bi-forward-fill::before{content:\"\\f3db\"}.bi-forward::before{content:\"\\f3dc\"}.bi-front::before{content:\"\\f3dd\"}.bi-fullscreen-exit::before{content:\"\\f3de\"}.bi-fullscreen::before{content:\"\\f3df\"}.bi-funnel-fill::before{content:\"\\f3e0\"}.bi-funnel::before{content:\"\\f3e1\"}.bi-gear-fill::before{content:\"\\f3e2\"}.bi-gear-wide-connected::before{content:\"\\f3e3\"}.bi-gear-wide::before{content:\"\\f3e4\"}.bi-gear::before{content:\"\\f3e5\"}.bi-gem::before{content:\"\\f3e6\"}.bi-geo-alt-fill::before{content:\"\\f3e7\"}.bi-geo-alt::before{content:\"\\f3e8\"}.bi-geo-fill::before{content:\"\\f3e9\"}.bi-geo::before{content:\"\\f3ea\"}.bi-gift-fill::before{content:\"\\f3eb\"}.bi-gift::before{content:\"\\f3ec\"}.bi-github::before{content:\"\\f3ed\"}.bi-globe::before{content:\"\\f3ee\"}.bi-globe2::before{content:\"\\f3ef\"}.bi-google::before{content:\"\\f3f0\"}.bi-graph-down::before{content:\"\\f3f1\"}.bi-graph-up::before{content:\"\\f3f2\"}.bi-grid-1x2-fill::before{content:\"\\f3f3\"}.bi-grid-1x2::before{content:\"\\f3f4\"}.bi-grid-3x2-gap-fill::before{content:\"\\f3f5\"}.bi-grid-3x2-gap::before{content:\"\\f3f6\"}.bi-grid-3x2::before{content:\"\\f3f7\"}.bi-grid-3x3-gap-fill::before{content:\"\\f3f8\"}.bi-grid-3x3-gap::before{content:\"\\f3f9\"}.bi-grid-3x3::before{content:\"\\f3fa\"}.bi-grid-fill::before{content:\"\\f3fb\"}.bi-grid::before{content:\"\\f3fc\"}.bi-grip-horizontal::before{content:\"\\f3fd\"}.bi-grip-vertical::before{content:\"\\f3fe\"}.bi-hammer::before{content:\"\\f3ff\"}.bi-hand-index-fill::before{content:\"\\f400\"}.bi-hand-index-thumb-fill::before{content:\"\\f401\"}.bi-hand-index-thumb::before{content:\"\\f402\"}.bi-hand-index::before{content:\"\\f403\"}.bi-hand-thumbs-down-fill::before{content:\"\\f404\"}.bi-hand-thumbs-down::before{content:\"\\f405\"}.bi-hand-thumbs-up-fill::before{content:\"\\f406\"}.bi-hand-thumbs-up::before{content:\"\\f407\"}.bi-handbag-fill::before{content:\"\\f408\"}.bi-handbag::before{content:\"\\f409\"}.bi-hash::before{content:\"\\f40a\"}.bi-hdd-fill::before{content:\"\\f40b\"}.bi-hdd-network-fill::before{content:\"\\f40c\"}.bi-hdd-network::before{content:\"\\f40d\"}.bi-hdd-rack-fill::before{content:\"\\f40e\"}.bi-hdd-rack::before{content:\"\\f40f\"}.bi-hdd-stack-fill::before{content:\"\\f410\"}.bi-hdd-stack::before{content:\"\\f411\"}.bi-hdd::before{content:\"\\f412\"}.bi-headphones::before{content:\"\\f413\"}.bi-headset::before{content:\"\\f414\"}.bi-heart-fill::before{content:\"\\f415\"}.bi-heart-half::before{content:\"\\f416\"}.bi-heart::before{content:\"\\f417\"}.bi-heptagon-fill::before{content:\"\\f418\"}.bi-heptagon-half::before{content:\"\\f419\"}.bi-heptagon::before{content:\"\\f41a\"}.bi-hexagon-fill::before{content:\"\\f41b\"}.bi-hexagon-half::before{content:\"\\f41c\"}.bi-hexagon::before{content:\"\\f41d\"}.bi-hourglass-bottom::before{content:\"\\f41e\"}.bi-hourglass-split::before{content:\"\\f41f\"}.bi-hourglass-top::before{content:\"\\f420\"}.bi-hourglass::before{content:\"\\f421\"}.bi-house-door-fill::before{content:\"\\f422\"}.bi-house-door::before{content:\"\\f423\"}.bi-house-fill::before{content:\"\\f424\"}.bi-house::before{content:\"\\f425\"}.bi-hr::before{content:\"\\f426\"}.bi-hurricane::before{content:\"\\f427\"}.bi-image-alt::before{content:\"\\f428\"}.bi-image-fill::before{content:\"\\f429\"}.bi-image::before{content:\"\\f42a\"}.bi-images::before{content:\"\\f42b\"}.bi-inbox-fill::before{content:\"\\f42c\"}.bi-inbox::before{content:\"\\f42d\"}.bi-inboxes-fill::before{content:\"\\f42e\"}.bi-inboxes::before{content:\"\\f42f\"}.bi-info-circle-fill::before{content:\"\\f430\"}.bi-info-circle::before{content:\"\\f431\"}.bi-info-square-fill::before{content:\"\\f432\"}.bi-info-square::before{content:\"\\f433\"}.bi-info::before{content:\"\\f434\"}.bi-input-cursor-text::before{content:\"\\f435\"}.bi-input-cursor::before{content:\"\\f436\"}.bi-instagram::before{content:\"\\f437\"}.bi-intersect::before{content:\"\\f438\"}.bi-journal-album::before{content:\"\\f439\"}.bi-journal-arrow-down::before{content:\"\\f43a\"}.bi-journal-arrow-up::before{content:\"\\f43b\"}.bi-journal-bookmark-fill::before{content:\"\\f43c\"}.bi-journal-bookmark::before{content:\"\\f43d\"}.bi-journal-check::before{content:\"\\f43e\"}.bi-journal-code::before{content:\"\\f43f\"}.bi-journal-medical::before{content:\"\\f440\"}.bi-journal-minus::before{content:\"\\f441\"}.bi-journal-plus::before{content:\"\\f442\"}.bi-journal-richtext::before{content:\"\\f443\"}.bi-journal-text::before{content:\"\\f444\"}.bi-journal-x::before{content:\"\\f445\"}.bi-journal::before{content:\"\\f446\"}.bi-journals::before{content:\"\\f447\"}.bi-joystick::before{content:\"\\f448\"}.bi-justify-left::before{content:\"\\f449\"}.bi-justify-right::before{content:\"\\f44a\"}.bi-justify::before{content:\"\\f44b\"}.bi-kanban-fill::before{content:\"\\f44c\"}.bi-kanban::before{content:\"\\f44d\"}.bi-key-fill::before{content:\"\\f44e\"}.bi-key::before{content:\"\\f44f\"}.bi-keyboard-fill::before{content:\"\\f450\"}.bi-keyboard::before{content:\"\\f451\"}.bi-ladder::before{content:\"\\f452\"}.bi-lamp-fill::before{content:\"\\f453\"}.bi-lamp::before{content:\"\\f454\"}.bi-laptop-fill::before{content:\"\\f455\"}.bi-laptop::before{content:\"\\f456\"}.bi-layer-backward::before{content:\"\\f457\"}.bi-layer-forward::before{content:\"\\f458\"}.bi-layers-fill::before{content:\"\\f459\"}.bi-layers-half::before{content:\"\\f45a\"}.bi-layers::before{content:\"\\f45b\"}.bi-layout-sidebar-inset-reverse::before{content:\"\\f45c\"}.bi-layout-sidebar-inset::before{content:\"\\f45d\"}.bi-layout-sidebar-reverse::before{content:\"\\f45e\"}.bi-layout-sidebar::before{content:\"\\f45f\"}.bi-layout-split::before{content:\"\\f460\"}.bi-layout-text-sidebar-reverse::before{content:\"\\f461\"}.bi-layout-text-sidebar::before{content:\"\\f462\"}.bi-layout-text-window-reverse::before{content:\"\\f463\"}.bi-layout-text-window::before{content:\"\\f464\"}.bi-layout-three-columns::before{content:\"\\f465\"}.bi-layout-wtf::before{content:\"\\f466\"}.bi-life-preserver::before{content:\"\\f467\"}.bi-lightbulb-fill::before{content:\"\\f468\"}.bi-lightbulb-off-fill::before{content:\"\\f469\"}.bi-lightbulb-off::before{content:\"\\f46a\"}.bi-lightbulb::before{content:\"\\f46b\"}.bi-lightning-charge-fill::before{content:\"\\f46c\"}.bi-lightning-charge::before{content:\"\\f46d\"}.bi-lightning-fill::before{content:\"\\f46e\"}.bi-lightning::before{content:\"\\f46f\"}.bi-link-45deg::before{content:\"\\f470\"}.bi-link::before{content:\"\\f471\"}.bi-linkedin::before{content:\"\\f472\"}.bi-list-check::before{content:\"\\f473\"}.bi-list-nested::before{content:\"\\f474\"}.bi-list-ol::before{content:\"\\f475\"}.bi-list-stars::before{content:\"\\f476\"}.bi-list-task::before{content:\"\\f477\"}.bi-list-ul::before{content:\"\\f478\"}.bi-list::before{content:\"\\f479\"}.bi-lock-fill::before{content:\"\\f47a\"}.bi-lock::before{content:\"\\f47b\"}.bi-mailbox::before{content:\"\\f47c\"}.bi-mailbox2::before{content:\"\\f47d\"}.bi-map-fill::before{content:\"\\f47e\"}.bi-map::before{content:\"\\f47f\"}.bi-markdown-fill::before{content:\"\\f480\"}.bi-markdown::before{content:\"\\f481\"}.bi-mask::before{content:\"\\f482\"}.bi-megaphone-fill::before{content:\"\\f483\"}.bi-megaphone::before{content:\"\\f484\"}.bi-menu-app-fill::before{content:\"\\f485\"}.bi-menu-app::before{content:\"\\f486\"}.bi-menu-button-fill::before{content:\"\\f487\"}.bi-menu-button-wide-fill::before{content:\"\\f488\"}.bi-menu-button-wide::before{content:\"\\f489\"}.bi-menu-button::before{content:\"\\f48a\"}.bi-menu-down::before{content:\"\\f48b\"}.bi-menu-up::before{content:\"\\f48c\"}.bi-mic-fill::before{content:\"\\f48d\"}.bi-mic-mute-fill::before{content:\"\\f48e\"}.bi-mic-mute::before{content:\"\\f48f\"}.bi-mic::before{content:\"\\f490\"}.bi-minecart-loaded::before{content:\"\\f491\"}.bi-minecart::before{content:\"\\f492\"}.bi-moisture::before{content:\"\\f493\"}.bi-moon-fill::before{content:\"\\f494\"}.bi-moon-stars-fill::before{content:\"\\f495\"}.bi-moon-stars::before{content:\"\\f496\"}.bi-moon::before{content:\"\\f497\"}.bi-mouse-fill::before{content:\"\\f498\"}.bi-mouse::before{content:\"\\f499\"}.bi-mouse2-fill::before{content:\"\\f49a\"}.bi-mouse2::before{content:\"\\f49b\"}.bi-mouse3-fill::before{content:\"\\f49c\"}.bi-mouse3::before{content:\"\\f49d\"}.bi-music-note-beamed::before{content:\"\\f49e\"}.bi-music-note-list::before{content:\"\\f49f\"}.bi-music-note::before{content:\"\\f4a0\"}.bi-music-player-fill::before{content:\"\\f4a1\"}.bi-music-player::before{content:\"\\f4a2\"}.bi-newspaper::before{content:\"\\f4a3\"}.bi-node-minus-fill::before{content:\"\\f4a4\"}.bi-node-minus::before{content:\"\\f4a5\"}.bi-node-plus-fill::before{content:\"\\f4a6\"}.bi-node-plus::before{content:\"\\f4a7\"}.bi-nut-fill::before{content:\"\\f4a8\"}.bi-nut::before{content:\"\\f4a9\"}.bi-octagon-fill::before{content:\"\\f4aa\"}.bi-octagon-half::before{content:\"\\f4ab\"}.bi-octagon::before{content:\"\\f4ac\"}.bi-option::before{content:\"\\f4ad\"}.bi-outlet::before{content:\"\\f4ae\"}.bi-paint-bucket::before{content:\"\\f4af\"}.bi-palette-fill::before{content:\"\\f4b0\"}.bi-palette::before{content:\"\\f4b1\"}.bi-palette2::before{content:\"\\f4b2\"}.bi-paperclip::before{content:\"\\f4b3\"}.bi-paragraph::before{content:\"\\f4b4\"}.bi-patch-check-fill::before{content:\"\\f4b5\"}.bi-patch-check::before{content:\"\\f4b6\"}.bi-patch-exclamation-fill::before{content:\"\\f4b7\"}.bi-patch-exclamation::before{content:\"\\f4b8\"}.bi-patch-minus-fill::before{content:\"\\f4b9\"}.bi-patch-minus::before{content:\"\\f4ba\"}.bi-patch-plus-fill::before{content:\"\\f4bb\"}.bi-patch-plus::before{content:\"\\f4bc\"}.bi-patch-question-fill::before{content:\"\\f4bd\"}.bi-patch-question::before{content:\"\\f4be\"}.bi-pause-btn-fill::before{content:\"\\f4bf\"}.bi-pause-btn::before{content:\"\\f4c0\"}.bi-pause-circle-fill::before{content:\"\\f4c1\"}.bi-pause-circle::before{content:\"\\f4c2\"}.bi-pause-fill::before{content:\"\\f4c3\"}.bi-pause::before{content:\"\\f4c4\"}.bi-peace-fill::before{content:\"\\f4c5\"}.bi-peace::before{content:\"\\f4c6\"}.bi-pen-fill::before{content:\"\\f4c7\"}.bi-pen::before{content:\"\\f4c8\"}.bi-pencil-fill::before{content:\"\\f4c9\"}.bi-pencil-square::before{content:\"\\f4ca\"}.bi-pencil::before{content:\"\\f4cb\"}.bi-pentagon-fill::before{content:\"\\f4cc\"}.bi-pentagon-half::before{content:\"\\f4cd\"}.bi-pentagon::before{content:\"\\f4ce\"}.bi-people-fill::before{content:\"\\f4cf\"}.bi-people::before{content:\"\\f4d0\"}.bi-percent::before{content:\"\\f4d1\"}.bi-person-badge-fill::before{content:\"\\f4d2\"}.bi-person-badge::before{content:\"\\f4d3\"}.bi-person-bounding-box::before{content:\"\\f4d4\"}.bi-person-check-fill::before{content:\"\\f4d5\"}.bi-person-check::before{content:\"\\f4d6\"}.bi-person-circle::before{content:\"\\f4d7\"}.bi-person-dash-fill::before{content:\"\\f4d8\"}.bi-person-dash::before{content:\"\\f4d9\"}.bi-person-fill::before{content:\"\\f4da\"}.bi-person-lines-fill::before{content:\"\\f4db\"}.bi-person-plus-fill::before{content:\"\\f4dc\"}.bi-person-plus::before{content:\"\\f4dd\"}.bi-person-square::before{content:\"\\f4de\"}.bi-person-x-fill::before{content:\"\\f4df\"}.bi-person-x::before{content:\"\\f4e0\"}.bi-person::before{content:\"\\f4e1\"}.bi-phone-fill::before{content:\"\\f4e2\"}.bi-phone-landscape-fill::before{content:\"\\f4e3\"}.bi-phone-landscape::before{content:\"\\f4e4\"}.bi-phone-vibrate-fill::before{content:\"\\f4e5\"}.bi-phone-vibrate::before{content:\"\\f4e6\"}.bi-phone::before{content:\"\\f4e7\"}.bi-pie-chart-fill::before{content:\"\\f4e8\"}.bi-pie-chart::before{content:\"\\f4e9\"}.bi-pin-angle-fill::before{content:\"\\f4ea\"}.bi-pin-angle::before{content:\"\\f4eb\"}.bi-pin-fill::before{content:\"\\f4ec\"}.bi-pin::before{content:\"\\f4ed\"}.bi-pip-fill::before{content:\"\\f4ee\"}.bi-pip::before{content:\"\\f4ef\"}.bi-play-btn-fill::before{content:\"\\f4f0\"}.bi-play-btn::before{content:\"\\f4f1\"}.bi-play-circle-fill::before{content:\"\\f4f2\"}.bi-play-circle::before{content:\"\\f4f3\"}.bi-play-fill::before{content:\"\\f4f4\"}.bi-play::before{content:\"\\f4f5\"}.bi-plug-fill::before{content:\"\\f4f6\"}.bi-plug::before{content:\"\\f4f7\"}.bi-plus-circle-dotted::before{content:\"\\f4f8\"}.bi-plus-circle-fill::before{content:\"\\f4f9\"}.bi-plus-circle::before{content:\"\\f4fa\"}.bi-plus-square-dotted::before{content:\"\\f4fb\"}.bi-plus-square-fill::before{content:\"\\f4fc\"}.bi-plus-square::before{content:\"\\f4fd\"}.bi-plus::before{content:\"\\f4fe\"}.bi-power::before{content:\"\\f4ff\"}.bi-printer-fill::before{content:\"\\f500\"}.bi-printer::before{content:\"\\f501\"}.bi-puzzle-fill::before{content:\"\\f502\"}.bi-puzzle::before{content:\"\\f503\"}.bi-question-circle-fill::before{content:\"\\f504\"}.bi-question-circle::before{content:\"\\f505\"}.bi-question-diamond-fill::before{content:\"\\f506\"}.bi-question-diamond::before{content:\"\\f507\"}.bi-question-octagon-fill::before{content:\"\\f508\"}.bi-question-octagon::before{content:\"\\f509\"}.bi-question-square-fill::before{content:\"\\f50a\"}.bi-question-square::before{content:\"\\f50b\"}.bi-question::before{content:\"\\f50c\"}.bi-rainbow::before{content:\"\\f50d\"}.bi-receipt-cutoff::before{content:\"\\f50e\"}.bi-receipt::before{content:\"\\f50f\"}.bi-reception-0::before{content:\"\\f510\"}.bi-reception-1::before{content:\"\\f511\"}.bi-reception-2::before{content:\"\\f512\"}.bi-reception-3::before{content:\"\\f513\"}.bi-reception-4::before{content:\"\\f514\"}.bi-record-btn-fill::before{content:\"\\f515\"}.bi-record-btn::before{content:\"\\f516\"}.bi-record-circle-fill::before{content:\"\\f517\"}.bi-record-circle::before{content:\"\\f518\"}.bi-record-fill::before{content:\"\\f519\"}.bi-record::before{content:\"\\f51a\"}.bi-record2-fill::before{content:\"\\f51b\"}.bi-record2::before{content:\"\\f51c\"}.bi-reply-all-fill::before{content:\"\\f51d\"}.bi-reply-all::before{content:\"\\f51e\"}.bi-reply-fill::before{content:\"\\f51f\"}.bi-reply::before{content:\"\\f520\"}.bi-rss-fill::before{content:\"\\f521\"}.bi-rss::before{content:\"\\f522\"}.bi-rulers::before{content:\"\\f523\"}.bi-save-fill::before{content:\"\\f524\"}.bi-save::before{content:\"\\f525\"}.bi-save2-fill::before{content:\"\\f526\"}.bi-save2::before{content:\"\\f527\"}.bi-scissors::before{content:\"\\f528\"}.bi-screwdriver::before{content:\"\\f529\"}.bi-search::before{content:\"\\f52a\"}.bi-segmented-nav::before{content:\"\\f52b\"}.bi-server::before{content:\"\\f52c\"}.bi-share-fill::before{content:\"\\f52d\"}.bi-share::before{content:\"\\f52e\"}.bi-shield-check::before{content:\"\\f52f\"}.bi-shield-exclamation::before{content:\"\\f530\"}.bi-shield-fill-check::before{content:\"\\f531\"}.bi-shield-fill-exclamation::before{content:\"\\f532\"}.bi-shield-fill-minus::before{content:\"\\f533\"}.bi-shield-fill-plus::before{content:\"\\f534\"}.bi-shield-fill-x::before{content:\"\\f535\"}.bi-shield-fill::before{content:\"\\f536\"}.bi-shield-lock-fill::before{content:\"\\f537\"}.bi-shield-lock::before{content:\"\\f538\"}.bi-shield-minus::before{content:\"\\f539\"}.bi-shield-plus::before{content:\"\\f53a\"}.bi-shield-shaded::before{content:\"\\f53b\"}.bi-shield-slash-fill::before{content:\"\\f53c\"}.bi-shield-slash::before{content:\"\\f53d\"}.bi-shield-x::before{content:\"\\f53e\"}.bi-shield::before{content:\"\\f53f\"}.bi-shift-fill::before{content:\"\\f540\"}.bi-shift::before{content:\"\\f541\"}.bi-shop-window::before{content:\"\\f542\"}.bi-shop::before{content:\"\\f543\"}.bi-shuffle::before{content:\"\\f544\"}.bi-signpost-2-fill::before{content:\"\\f545\"}.bi-signpost-2::before{content:\"\\f546\"}.bi-signpost-fill::before{content:\"\\f547\"}.bi-signpost-split-fill::before{content:\"\\f548\"}.bi-signpost-split::before{content:\"\\f549\"}.bi-signpost::before{content:\"\\f54a\"}.bi-sim-fill::before{content:\"\\f54b\"}.bi-sim::before{content:\"\\f54c\"}.bi-skip-backward-btn-fill::before{content:\"\\f54d\"}.bi-skip-backward-btn::before{content:\"\\f54e\"}.bi-skip-backward-circle-fill::before{content:\"\\f54f\"}.bi-skip-backward-circle::before{content:\"\\f550\"}.bi-skip-backward-fill::before{content:\"\\f551\"}.bi-skip-backward::before{content:\"\\f552\"}.bi-skip-end-btn-fill::before{content:\"\\f553\"}.bi-skip-end-btn::before{content:\"\\f554\"}.bi-skip-end-circle-fill::before{content:\"\\f555\"}.bi-skip-end-circle::before{content:\"\\f556\"}.bi-skip-end-fill::before{content:\"\\f557\"}.bi-skip-end::before{content:\"\\f558\"}.bi-skip-forward-btn-fill::before{content:\"\\f559\"}.bi-skip-forward-btn::before{content:\"\\f55a\"}.bi-skip-forward-circle-fill::before{content:\"\\f55b\"}.bi-skip-forward-circle::before{content:\"\\f55c\"}.bi-skip-forward-fill::before{content:\"\\f55d\"}.bi-skip-forward::before{content:\"\\f55e\"}.bi-skip-start-btn-fill::before{content:\"\\f55f\"}.bi-skip-start-btn::before{content:\"\\f560\"}.bi-skip-start-circle-fill::before{content:\"\\f561\"}.bi-skip-start-circle::before{content:\"\\f562\"}.bi-skip-start-fill::before{content:\"\\f563\"}.bi-skip-start::before{content:\"\\f564\"}.bi-slack::before{content:\"\\f565\"}.bi-slash-circle-fill::before{content:\"\\f566\"}.bi-slash-circle::before{content:\"\\f567\"}.bi-slash-square-fill::before{content:\"\\f568\"}.bi-slash-square::before{content:\"\\f569\"}.bi-slash::before{content:\"\\f56a\"}.bi-sliders::before{content:\"\\f56b\"}.bi-smartwatch::before{content:\"\\f56c\"}.bi-snow::before{content:\"\\f56d\"}.bi-snow2::before{content:\"\\f56e\"}.bi-snow3::before{content:\"\\f56f\"}.bi-sort-alpha-down-alt::before{content:\"\\f570\"}.bi-sort-alpha-down::before{content:\"\\f571\"}.bi-sort-alpha-up-alt::before{content:\"\\f572\"}.bi-sort-alpha-up::before{content:\"\\f573\"}.bi-sort-down-alt::before{content:\"\\f574\"}.bi-sort-down::before{content:\"\\f575\"}.bi-sort-numeric-down-alt::before{content:\"\\f576\"}.bi-sort-numeric-down::before{content:\"\\f577\"}.bi-sort-numeric-up-alt::before{content:\"\\f578\"}.bi-sort-numeric-up::before{content:\"\\f579\"}.bi-sort-up-alt::before{content:\"\\f57a\"}.bi-sort-up::before{content:\"\\f57b\"}.bi-soundwave::before{content:\"\\f57c\"}.bi-speaker-fill::before{content:\"\\f57d\"}.bi-speaker::before{content:\"\\f57e\"}.bi-speedometer::before{content:\"\\f57f\"}.bi-speedometer2::before{content:\"\\f580\"}.bi-spellcheck::before{content:\"\\f581\"}.bi-square-fill::before{content:\"\\f582\"}.bi-square-half::before{content:\"\\f583\"}.bi-square::before{content:\"\\f584\"}.bi-stack::before{content:\"\\f585\"}.bi-star-fill::before{content:\"\\f586\"}.bi-star-half::before{content:\"\\f587\"}.bi-star::before{content:\"\\f588\"}.bi-stars::before{content:\"\\f589\"}.bi-stickies-fill::before{content:\"\\f58a\"}.bi-stickies::before{content:\"\\f58b\"}.bi-sticky-fill::before{content:\"\\f58c\"}.bi-sticky::before{content:\"\\f58d\"}.bi-stop-btn-fill::before{content:\"\\f58e\"}.bi-stop-btn::before{content:\"\\f58f\"}.bi-stop-circle-fill::before{content:\"\\f590\"}.bi-stop-circle::before{content:\"\\f591\"}.bi-stop-fill::before{content:\"\\f592\"}.bi-stop::before{content:\"\\f593\"}.bi-stoplights-fill::before{content:\"\\f594\"}.bi-stoplights::before{content:\"\\f595\"}.bi-stopwatch-fill::before{content:\"\\f596\"}.bi-stopwatch::before{content:\"\\f597\"}.bi-subtract::before{content:\"\\f598\"}.bi-suit-club-fill::before{content:\"\\f599\"}.bi-suit-club::before{content:\"\\f59a\"}.bi-suit-diamond-fill::before{content:\"\\f59b\"}.bi-suit-diamond::before{content:\"\\f59c\"}.bi-suit-heart-fill::before{content:\"\\f59d\"}.bi-suit-heart::before{content:\"\\f59e\"}.bi-suit-spade-fill::before{content:\"\\f59f\"}.bi-suit-spade::before{content:\"\\f5a0\"}.bi-sun-fill::before{content:\"\\f5a1\"}.bi-sun::before{content:\"\\f5a2\"}.bi-sunglasses::before{content:\"\\f5a3\"}.bi-sunrise-fill::before{content:\"\\f5a4\"}.bi-sunrise::before{content:\"\\f5a5\"}.bi-sunset-fill::before{content:\"\\f5a6\"}.bi-sunset::before{content:\"\\f5a7\"}.bi-symmetry-horizontal::before{content:\"\\f5a8\"}.bi-symmetry-vertical::before{content:\"\\f5a9\"}.bi-table::before{content:\"\\f5aa\"}.bi-tablet-fill::before{content:\"\\f5ab\"}.bi-tablet-landscape-fill::before{content:\"\\f5ac\"}.bi-tablet-landscape::before{content:\"\\f5ad\"}.bi-tablet::before{content:\"\\f5ae\"}.bi-tag-fill::before{content:\"\\f5af\"}.bi-tag::before{content:\"\\f5b0\"}.bi-tags-fill::before{content:\"\\f5b1\"}.bi-tags::before{content:\"\\f5b2\"}.bi-telegram::before{content:\"\\f5b3\"}.bi-telephone-fill::before{content:\"\\f5b4\"}.bi-telephone-forward-fill::before{content:\"\\f5b5\"}.bi-telephone-forward::before{content:\"\\f5b6\"}.bi-telephone-inbound-fill::before{content:\"\\f5b7\"}.bi-telephone-inbound::before{content:\"\\f5b8\"}.bi-telephone-minus-fill::before{content:\"\\f5b9\"}.bi-telephone-minus::before{content:\"\\f5ba\"}.bi-telephone-outbound-fill::before{content:\"\\f5bb\"}.bi-telephone-outbound::before{content:\"\\f5bc\"}.bi-telephone-plus-fill::before{content:\"\\f5bd\"}.bi-telephone-plus::before{content:\"\\f5be\"}.bi-telephone-x-fill::before{content:\"\\f5bf\"}.bi-telephone-x::before{content:\"\\f5c0\"}.bi-telephone::before{content:\"\\f5c1\"}.bi-terminal-fill::before{content:\"\\f5c2\"}.bi-terminal::before{content:\"\\f5c3\"}.bi-text-center::before{content:\"\\f5c4\"}.bi-text-indent-left::before{content:\"\\f5c5\"}.bi-text-indent-right::before{content:\"\\f5c6\"}.bi-text-left::before{content:\"\\f5c7\"}.bi-text-paragraph::before{content:\"\\f5c8\"}.bi-text-right::before{content:\"\\f5c9\"}.bi-textarea-resize::before{content:\"\\f5ca\"}.bi-textarea-t::before{content:\"\\f5cb\"}.bi-textarea::before{content:\"\\f5cc\"}.bi-thermometer-half::before{content:\"\\f5cd\"}.bi-thermometer-high::before{content:\"\\f5ce\"}.bi-thermometer-low::before{content:\"\\f5cf\"}.bi-thermometer-snow::before{content:\"\\f5d0\"}.bi-thermometer-sun::before{content:\"\\f5d1\"}.bi-thermometer::before{content:\"\\f5d2\"}.bi-three-dots-vertical::before{content:\"\\f5d3\"}.bi-three-dots::before{content:\"\\f5d4\"}.bi-toggle-off::before{content:\"\\f5d5\"}.bi-toggle-on::before{content:\"\\f5d6\"}.bi-toggle2-off::before{content:\"\\f5d7\"}.bi-toggle2-on::before{content:\"\\f5d8\"}.bi-toggles::before{content:\"\\f5d9\"}.bi-toggles2::before{content:\"\\f5da\"}.bi-tools::before{content:\"\\f5db\"}.bi-tornado::before{content:\"\\f5dc\"}.bi-trash-fill::before{content:\"\\f5dd\"}.bi-trash::before{content:\"\\f5de\"}.bi-trash2-fill::before{content:\"\\f5df\"}.bi-trash2::before{content:\"\\f5e0\"}.bi-tree-fill::before{content:\"\\f5e1\"}.bi-tree::before{content:\"\\f5e2\"}.bi-triangle-fill::before{content:\"\\f5e3\"}.bi-triangle-half::before{content:\"\\f5e4\"}.bi-triangle::before{content:\"\\f5e5\"}.bi-trophy-fill::before{content:\"\\f5e6\"}.bi-trophy::before{content:\"\\f5e7\"}.bi-tropical-storm::before{content:\"\\f5e8\"}.bi-truck-flatbed::before{content:\"\\f5e9\"}.bi-truck::before{content:\"\\f5ea\"}.bi-tsunami::before{content:\"\\f5eb\"}.bi-tv-fill::before{content:\"\\f5ec\"}.bi-tv::before{content:\"\\f5ed\"}.bi-twitch::before{content:\"\\f5ee\"}.bi-twitter::before{content:\"\\f5ef\"}.bi-type-bold::before{content:\"\\f5f0\"}.bi-type-h1::before{content:\"\\f5f1\"}.bi-type-h2::before{content:\"\\f5f2\"}.bi-type-h3::before{content:\"\\f5f3\"}.bi-type-italic::before{content:\"\\f5f4\"}.bi-type-strikethrough::before{content:\"\\f5f5\"}.bi-type-underline::before{content:\"\\f5f6\"}.bi-type::before{content:\"\\f5f7\"}.bi-ui-checks-grid::before{content:\"\\f5f8\"}.bi-ui-checks::before{content:\"\\f5f9\"}.bi-ui-radios-grid::before{content:\"\\f5fa\"}.bi-ui-radios::before{content:\"\\f5fb\"}.bi-umbrella-fill::before{content:\"\\f5fc\"}.bi-umbrella::before{content:\"\\f5fd\"}.bi-union::before{content:\"\\f5fe\"}.bi-unlock-fill::before{content:\"\\f5ff\"}.bi-unlock::before{content:\"\\f600\"}.bi-upc-scan::before{content:\"\\f601\"}.bi-upc::before{content:\"\\f602\"}.bi-upload::before{content:\"\\f603\"}.bi-vector-pen::before{content:\"\\f604\"}.bi-view-list::before{content:\"\\f605\"}.bi-view-stacked::before{content:\"\\f606\"}.bi-vinyl-fill::before{content:\"\\f607\"}.bi-vinyl::before{content:\"\\f608\"}.bi-voicemail::before{content:\"\\f609\"}.bi-volume-down-fill::before{content:\"\\f60a\"}.bi-volume-down::before{content:\"\\f60b\"}.bi-volume-mute-fill::before{content:\"\\f60c\"}.bi-volume-mute::before{content:\"\\f60d\"}.bi-volume-off-fill::before{content:\"\\f60e\"}.bi-volume-off::before{content:\"\\f60f\"}.bi-volume-up-fill::before{content:\"\\f610\"}.bi-volume-up::before{content:\"\\f611\"}.bi-vr::before{content:\"\\f612\"}.bi-wallet-fill::before{content:\"\\f613\"}.bi-wallet::before{content:\"\\f614\"}.bi-wallet2::before{content:\"\\f615\"}.bi-watch::before{content:\"\\f616\"}.bi-water::before{content:\"\\f617\"}.bi-whatsapp::before{content:\"\\f618\"}.bi-wifi-1::before{content:\"\\f619\"}.bi-wifi-2::before{content:\"\\f61a\"}.bi-wifi-off::before{content:\"\\f61b\"}.bi-wifi::before{content:\"\\f61c\"}.bi-wind::before{content:\"\\f61d\"}.bi-window-dock::before{content:\"\\f61e\"}.bi-window-sidebar::before{content:\"\\f61f\"}.bi-window::before{content:\"\\f620\"}.bi-wrench::before{content:\"\\f621\"}.bi-x-circle-fill::before{content:\"\\f622\"}.bi-x-circle::before{content:\"\\f623\"}.bi-x-diamond-fill::before{content:\"\\f624\"}.bi-x-diamond::before{content:\"\\f625\"}.bi-x-octagon-fill::before{content:\"\\f626\"}.bi-x-octagon::before{content:\"\\f627\"}.bi-x-square-fill::before{content:\"\\f628\"}.bi-x-square::before{content:\"\\f629\"}.bi-x::before{content:\"\\f62a\"}.bi-youtube::before{content:\"\\f62b\"}.bi-zoom-in::before{content:\"\\f62c\"}.bi-zoom-out::before{content:\"\\f62d\"}.bi-bank::before{content:\"\\f62e\"}.bi-bank2::before{content:\"\\f62f\"}.bi-bell-slash-fill::before{content:\"\\f630\"}.bi-bell-slash::before{content:\"\\f631\"}.bi-cash-coin::before{content:\"\\f632\"}.bi-check-lg::before{content:\"\\f633\"}.bi-coin::before{content:\"\\f634\"}.bi-currency-bitcoin::before{content:\"\\f635\"}.bi-currency-dollar::before{content:\"\\f636\"}.bi-currency-euro::before{content:\"\\f637\"}.bi-currency-exchange::before{content:\"\\f638\"}.bi-currency-pound::before{content:\"\\f639\"}.bi-currency-yen::before{content:\"\\f63a\"}.bi-dash-lg::before{content:\"\\f63b\"}.bi-exclamation-lg::before{content:\"\\f63c\"}.bi-file-earmark-pdf-fill::before{content:\"\\f63d\"}.bi-file-earmark-pdf::before{content:\"\\f63e\"}.bi-file-pdf-fill::before{content:\"\\f63f\"}.bi-file-pdf::before{content:\"\\f640\"}.bi-gender-ambiguous::before{content:\"\\f641\"}.bi-gender-female::before{content:\"\\f642\"}.bi-gender-male::before{content:\"\\f643\"}.bi-gender-trans::before{content:\"\\f644\"}.bi-headset-vr::before{content:\"\\f645\"}.bi-info-lg::before{content:\"\\f646\"}.bi-mastodon::before{content:\"\\f647\"}.bi-messenger::before{content:\"\\f648\"}.bi-piggy-bank-fill::before{content:\"\\f649\"}.bi-piggy-bank::before{content:\"\\f64a\"}.bi-pin-map-fill::before{content:\"\\f64b\"}.bi-pin-map::before{content:\"\\f64c\"}.bi-plus-lg::before{content:\"\\f64d\"}.bi-question-lg::before{content:\"\\f64e\"}.bi-recycle::before{content:\"\\f64f\"}.bi-reddit::before{content:\"\\f650\"}.bi-safe-fill::before{content:\"\\f651\"}.bi-safe2-fill::before{content:\"\\f652\"}.bi-safe2::before{content:\"\\f653\"}.bi-sd-card-fill::before{content:\"\\f654\"}.bi-sd-card::before{content:\"\\f655\"}.bi-skype::before{content:\"\\f656\"}.bi-slash-lg::before{content:\"\\f657\"}.bi-translate::before{content:\"\\f658\"}.bi-x-lg::before{content:\"\\f659\"}.bi-safe::before{content:\"\\f65a\"}.bi-apple::before{content:\"\\f65b\"}.bi-microsoft::before{content:\"\\f65d\"}.bi-windows::before{content:\"\\f65e\"}.bi-behance::before{content:\"\\f65c\"}.bi-dribbble::before{content:\"\\f65f\"}.bi-line::before{content:\"\\f660\"}.bi-medium::before{content:\"\\f661\"}.bi-paypal::before{content:\"\\f662\"}.bi-pinterest::before{content:\"\\f663\"}.bi-signal::before{content:\"\\f664\"}.bi-snapchat::before{content:\"\\f665\"}.bi-spotify::before{content:\"\\f666\"}.bi-stack-overflow::before{content:\"\\f667\"}.bi-strava::before{content:\"\\f668\"}.bi-wordpress::before{content:\"\\f669\"}.bi-vimeo::before{content:\"\\f66a\"}.bi-activity::before{content:\"\\f66b\"}.bi-easel2-fill::before{content:\"\\f66c\"}.bi-easel2::before{content:\"\\f66d\"}.bi-easel3-fill::before{content:\"\\f66e\"}.bi-easel3::before{content:\"\\f66f\"}.bi-fan::before{content:\"\\f670\"}.bi-fingerprint::before{content:\"\\f671\"}.bi-graph-down-arrow::before{content:\"\\f672\"}.bi-graph-up-arrow::before{content:\"\\f673\"}.bi-hypnotize::before{content:\"\\f674\"}.bi-magic::before{content:\"\\f675\"}.bi-person-rolodex::before{content:\"\\f676\"}.bi-person-video::before{content:\"\\f677\"}.bi-person-video2::before{content:\"\\f678\"}.bi-person-video3::before{content:\"\\f679\"}.bi-person-workspace::before{content:\"\\f67a\"}.bi-radioactive::before{content:\"\\f67b\"}.bi-webcam-fill::before{content:\"\\f67c\"}.bi-webcam::before{content:\"\\f67d\"}.bi-yin-yang::before{content:\"\\f67e\"}.bi-bandaid-fill::before{content:\"\\f680\"}.bi-bandaid::before{content:\"\\f681\"}.bi-bluetooth::before{content:\"\\f682\"}.bi-body-text::before{content:\"\\f683\"}.bi-boombox::before{content:\"\\f684\"}.bi-boxes::before{content:\"\\f685\"}.bi-dpad-fill::before{content:\"\\f686\"}.bi-dpad::before{content:\"\\f687\"}.bi-ear-fill::before{content:\"\\f688\"}.bi-ear::before{content:\"\\f689\"}.bi-envelope-check-fill::before{content:\"\\f68b\"}.bi-envelope-check::before{content:\"\\f68c\"}.bi-envelope-dash-fill::before{content:\"\\f68e\"}.bi-envelope-dash::before{content:\"\\f68f\"}.bi-envelope-exclamation-fill::before{content:\"\\f691\"}.bi-envelope-exclamation::before{content:\"\\f692\"}.bi-envelope-plus-fill::before{content:\"\\f693\"}.bi-envelope-plus::before{content:\"\\f694\"}.bi-envelope-slash-fill::before{content:\"\\f696\"}.bi-envelope-slash::before{content:\"\\f697\"}.bi-envelope-x-fill::before{content:\"\\f699\"}.bi-envelope-x::before{content:\"\\f69a\"}.bi-explicit-fill::before{content:\"\\f69b\"}.bi-explicit::before{content:\"\\f69c\"}.bi-git::before{content:\"\\f69d\"}.bi-infinity::before{content:\"\\f69e\"}.bi-list-columns-reverse::before{content:\"\\f69f\"}.bi-list-columns::before{content:\"\\f6a0\"}.bi-meta::before{content:\"\\f6a1\"}.bi-nintendo-switch::before{content:\"\\f6a4\"}.bi-pc-display-horizontal::before{content:\"\\f6a5\"}.bi-pc-display::before{content:\"\\f6a6\"}.bi-pc-horizontal::before{content:\"\\f6a7\"}.bi-pc::before{content:\"\\f6a8\"}.bi-playstation::before{content:\"\\f6a9\"}.bi-plus-slash-minus::before{content:\"\\f6aa\"}.bi-projector-fill::before{content:\"\\f6ab\"}.bi-projector::before{content:\"\\f6ac\"}.bi-qr-code-scan::before{content:\"\\f6ad\"}.bi-qr-code::before{content:\"\\f6ae\"}.bi-quora::before{content:\"\\f6af\"}.bi-quote::before{content:\"\\f6b0\"}.bi-robot::before{content:\"\\f6b1\"}.bi-send-check-fill::before{content:\"\\f6b2\"}.bi-send-check::before{content:\"\\f6b3\"}.bi-send-dash-fill::before{content:\"\\f6b4\"}.bi-send-dash::before{content:\"\\f6b5\"}.bi-send-exclamation-fill::before{content:\"\\f6b7\"}.bi-send-exclamation::before{content:\"\\f6b8\"}.bi-send-fill::before{content:\"\\f6b9\"}.bi-send-plus-fill::before{content:\"\\f6ba\"}.bi-send-plus::before{content:\"\\f6bb\"}.bi-send-slash-fill::before{content:\"\\f6bc\"}.bi-send-slash::before{content:\"\\f6bd\"}.bi-send-x-fill::before{content:\"\\f6be\"}.bi-send-x::before{content:\"\\f6bf\"}.bi-send::before{content:\"\\f6c0\"}.bi-steam::before{content:\"\\f6c1\"}.bi-terminal-dash::before{content:\"\\f6c3\"}.bi-terminal-plus::before{content:\"\\f6c4\"}.bi-terminal-split::before{content:\"\\f6c5\"}.bi-ticket-detailed-fill::before{content:\"\\f6c6\"}.bi-ticket-detailed::before{content:\"\\f6c7\"}.bi-ticket-fill::before{content:\"\\f6c8\"}.bi-ticket-perforated-fill::before{content:\"\\f6c9\"}.bi-ticket-perforated::before{content:\"\\f6ca\"}.bi-ticket::before{content:\"\\f6cb\"}.bi-tiktok::before{content:\"\\f6cc\"}.bi-window-dash::before{content:\"\\f6cd\"}.bi-window-desktop::before{content:\"\\f6ce\"}.bi-window-fullscreen::before{content:\"\\f6cf\"}.bi-window-plus::before{content:\"\\f6d0\"}.bi-window-split::before{content:\"\\f6d1\"}.bi-window-stack::before{content:\"\\f6d2\"}.bi-window-x::before{content:\"\\f6d3\"}.bi-xbox::before{content:\"\\f6d4\"}.bi-ethernet::before{content:\"\\f6d5\"}.bi-hdmi-fill::before{content:\"\\f6d6\"}.bi-hdmi::before{content:\"\\f6d7\"}.bi-usb-c-fill::before{content:\"\\f6d8\"}.bi-usb-c::before{content:\"\\f6d9\"}.bi-usb-fill::before{content:\"\\f6da\"}.bi-usb-plug-fill::before{content:\"\\f6db\"}.bi-usb-plug::before{content:\"\\f6dc\"}.bi-usb-symbol::before{content:\"\\f6dd\"}.bi-usb::before{content:\"\\f6de\"}.bi-boombox-fill::before{content:\"\\f6df\"}.bi-displayport::before{content:\"\\f6e1\"}.bi-gpu-card::before{content:\"\\f6e2\"}.bi-memory::before{content:\"\\f6e3\"}.bi-modem-fill::before{content:\"\\f6e4\"}.bi-modem::before{content:\"\\f6e5\"}.bi-motherboard-fill::before{content:\"\\f6e6\"}.bi-motherboard::before{content:\"\\f6e7\"}.bi-optical-audio-fill::before{content:\"\\f6e8\"}.bi-optical-audio::before{content:\"\\f6e9\"}.bi-pci-card::before{content:\"\\f6ea\"}.bi-router-fill::before{content:\"\\f6eb\"}.bi-router::before{content:\"\\f6ec\"}.bi-thunderbolt-fill::before{content:\"\\f6ef\"}.bi-thunderbolt::before{content:\"\\f6f0\"}.bi-usb-drive-fill::before{content:\"\\f6f1\"}.bi-usb-drive::before{content:\"\\f6f2\"}.bi-usb-micro-fill::before{content:\"\\f6f3\"}.bi-usb-micro::before{content:\"\\f6f4\"}.bi-usb-mini-fill::before{content:\"\\f6f5\"}.bi-usb-mini::before{content:\"\\f6f6\"}.bi-cloud-haze2::before{content:\"\\f6f7\"}.bi-device-hdd-fill::before{content:\"\\f6f8\"}.bi-device-hdd::before{content:\"\\f6f9\"}.bi-device-ssd-fill::before{content:\"\\f6fa\"}.bi-device-ssd::before{content:\"\\f6fb\"}.bi-displayport-fill::before{content:\"\\f6fc\"}.bi-mortarboard-fill::before{content:\"\\f6fd\"}.bi-mortarboard::before{content:\"\\f6fe\"}.bi-terminal-x::before{content:\"\\f6ff\"}.bi-arrow-through-heart-fill::before{content:\"\\f700\"}.bi-arrow-through-heart::before{content:\"\\f701\"}.bi-badge-sd-fill::before{content:\"\\f702\"}.bi-badge-sd::before{content:\"\\f703\"}.bi-bag-heart-fill::before{content:\"\\f704\"}.bi-bag-heart::before{content:\"\\f705\"}.bi-balloon-fill::before{content:\"\\f706\"}.bi-balloon-heart-fill::before{content:\"\\f707\"}.bi-balloon-heart::before{content:\"\\f708\"}.bi-balloon::before{content:\"\\f709\"}.bi-box2-fill::before{content:\"\\f70a\"}.bi-box2-heart-fill::before{content:\"\\f70b\"}.bi-box2-heart::before{content:\"\\f70c\"}.bi-box2::before{content:\"\\f70d\"}.bi-braces-asterisk::before{content:\"\\f70e\"}.bi-calendar-heart-fill::before{content:\"\\f70f\"}.bi-calendar-heart::before{content:\"\\f710\"}.bi-calendar2-heart-fill::before{content:\"\\f711\"}.bi-calendar2-heart::before{content:\"\\f712\"}.bi-chat-heart-fill::before{content:\"\\f713\"}.bi-chat-heart::before{content:\"\\f714\"}.bi-chat-left-heart-fill::before{content:\"\\f715\"}.bi-chat-left-heart::before{content:\"\\f716\"}.bi-chat-right-heart-fill::before{content:\"\\f717\"}.bi-chat-right-heart::before{content:\"\\f718\"}.bi-chat-square-heart-fill::before{content:\"\\f719\"}.bi-chat-square-heart::before{content:\"\\f71a\"}.bi-clipboard-check-fill::before{content:\"\\f71b\"}.bi-clipboard-data-fill::before{content:\"\\f71c\"}.bi-clipboard-fill::before{content:\"\\f71d\"}.bi-clipboard-heart-fill::before{content:\"\\f71e\"}.bi-clipboard-heart::before{content:\"\\f71f\"}.bi-clipboard-minus-fill::before{content:\"\\f720\"}.bi-clipboard-plus-fill::before{content:\"\\f721\"}.bi-clipboard-pulse::before{content:\"\\f722\"}.bi-clipboard-x-fill::before{content:\"\\f723\"}.bi-clipboard2-check-fill::before{content:\"\\f724\"}.bi-clipboard2-check::before{content:\"\\f725\"}.bi-clipboard2-data-fill::before{content:\"\\f726\"}.bi-clipboard2-data::before{content:\"\\f727\"}.bi-clipboard2-fill::before{content:\"\\f728\"}.bi-clipboard2-heart-fill::before{content:\"\\f729\"}.bi-clipboard2-heart::before{content:\"\\f72a\"}.bi-clipboard2-minus-fill::before{content:\"\\f72b\"}.bi-clipboard2-minus::before{content:\"\\f72c\"}.bi-clipboard2-plus-fill::before{content:\"\\f72d\"}.bi-clipboard2-plus::before{content:\"\\f72e\"}.bi-clipboard2-pulse-fill::before{content:\"\\f72f\"}.bi-clipboard2-pulse::before{content:\"\\f730\"}.bi-clipboard2-x-fill::before{content:\"\\f731\"}.bi-clipboard2-x::before{content:\"\\f732\"}.bi-clipboard2::before{content:\"\\f733\"}.bi-emoji-kiss-fill::before{content:\"\\f734\"}.bi-emoji-kiss::before{content:\"\\f735\"}.bi-envelope-heart-fill::before{content:\"\\f736\"}.bi-envelope-heart::before{content:\"\\f737\"}.bi-envelope-open-heart-fill::before{content:\"\\f738\"}.bi-envelope-open-heart::before{content:\"\\f739\"}.bi-envelope-paper-fill::before{content:\"\\f73a\"}.bi-envelope-paper-heart-fill::before{content:\"\\f73b\"}.bi-envelope-paper-heart::before{content:\"\\f73c\"}.bi-envelope-paper::before{content:\"\\f73d\"}.bi-filetype-aac::before{content:\"\\f73e\"}.bi-filetype-ai::before{content:\"\\f73f\"}.bi-filetype-bmp::before{content:\"\\f740\"}.bi-filetype-cs::before{content:\"\\f741\"}.bi-filetype-css::before{content:\"\\f742\"}.bi-filetype-csv::before{content:\"\\f743\"}.bi-filetype-doc::before{content:\"\\f744\"}.bi-filetype-docx::before{content:\"\\f745\"}.bi-filetype-exe::before{content:\"\\f746\"}.bi-filetype-gif::before{content:\"\\f747\"}.bi-filetype-heic::before{content:\"\\f748\"}.bi-filetype-html::before{content:\"\\f749\"}.bi-filetype-java::before{content:\"\\f74a\"}.bi-filetype-jpg::before{content:\"\\f74b\"}.bi-filetype-js::before{content:\"\\f74c\"}.bi-filetype-jsx::before{content:\"\\f74d\"}.bi-filetype-key::before{content:\"\\f74e\"}.bi-filetype-m4p::before{content:\"\\f74f\"}.bi-filetype-md::before{content:\"\\f750\"}.bi-filetype-mdx::before{content:\"\\f751\"}.bi-filetype-mov::before{content:\"\\f752\"}.bi-filetype-mp3::before{content:\"\\f753\"}.bi-filetype-mp4::before{content:\"\\f754\"}.bi-filetype-otf::before{content:\"\\f755\"}.bi-filetype-pdf::before{content:\"\\f756\"}.bi-filetype-php::before{content:\"\\f757\"}.bi-filetype-png::before{content:\"\\f758\"}.bi-filetype-ppt::before{content:\"\\f75a\"}.bi-filetype-psd::before{content:\"\\f75b\"}.bi-filetype-py::before{content:\"\\f75c\"}.bi-filetype-raw::before{content:\"\\f75d\"}.bi-filetype-rb::before{content:\"\\f75e\"}.bi-filetype-sass::before{content:\"\\f75f\"}.bi-filetype-scss::before{content:\"\\f760\"}.bi-filetype-sh::before{content:\"\\f761\"}.bi-filetype-svg::before{content:\"\\f762\"}.bi-filetype-tiff::before{content:\"\\f763\"}.bi-filetype-tsx::before{content:\"\\f764\"}.bi-filetype-ttf::before{content:\"\\f765\"}.bi-filetype-txt::before{content:\"\\f766\"}.bi-filetype-wav::before{content:\"\\f767\"}.bi-filetype-woff::before{content:\"\\f768\"}.bi-filetype-xls::before{content:\"\\f76a\"}.bi-filetype-xml::before{content:\"\\f76b\"}.bi-filetype-yml::before{content:\"\\f76c\"}.bi-heart-arrow::before{content:\"\\f76d\"}.bi-heart-pulse-fill::before{content:\"\\f76e\"}.bi-heart-pulse::before{content:\"\\f76f\"}.bi-heartbreak-fill::before{content:\"\\f770\"}.bi-heartbreak::before{content:\"\\f771\"}.bi-hearts::before{content:\"\\f772\"}.bi-hospital-fill::before{content:\"\\f773\"}.bi-hospital::before{content:\"\\f774\"}.bi-house-heart-fill::before{content:\"\\f775\"}.bi-house-heart::before{content:\"\\f776\"}.bi-incognito::before{content:\"\\f777\"}.bi-magnet-fill::before{content:\"\\f778\"}.bi-magnet::before{content:\"\\f779\"}.bi-person-heart::before{content:\"\\f77a\"}.bi-person-hearts::before{content:\"\\f77b\"}.bi-phone-flip::before{content:\"\\f77c\"}.bi-plugin::before{content:\"\\f77d\"}.bi-postage-fill::before{content:\"\\f77e\"}.bi-postage-heart-fill::before{content:\"\\f77f\"}.bi-postage-heart::before{content:\"\\f780\"}.bi-postage::before{content:\"\\f781\"}.bi-postcard-fill::before{content:\"\\f782\"}.bi-postcard-heart-fill::before{content:\"\\f783\"}.bi-postcard-heart::before{content:\"\\f784\"}.bi-postcard::before{content:\"\\f785\"}.bi-search-heart-fill::before{content:\"\\f786\"}.bi-search-heart::before{content:\"\\f787\"}.bi-sliders2-vertical::before{content:\"\\f788\"}.bi-sliders2::before{content:\"\\f789\"}.bi-trash3-fill::before{content:\"\\f78a\"}.bi-trash3::before{content:\"\\f78b\"}.bi-valentine::before{content:\"\\f78c\"}.bi-valentine2::before{content:\"\\f78d\"}.bi-wrench-adjustable-circle-fill::before{content:\"\\f78e\"}.bi-wrench-adjustable-circle::before{content:\"\\f78f\"}.bi-wrench-adjustable::before{content:\"\\f790\"}.bi-filetype-json::before{content:\"\\f791\"}.bi-filetype-pptx::before{content:\"\\f792\"}.bi-filetype-xlsx::before{content:\"\\f793\"}.bi-1-circle-fill::before{content:\"\\f796\"}.bi-1-circle::before{content:\"\\f797\"}.bi-1-square-fill::before{content:\"\\f798\"}.bi-1-square::before{content:\"\\f799\"}.bi-2-circle-fill::before{content:\"\\f79c\"}.bi-2-circle::before{content:\"\\f79d\"}.bi-2-square-fill::before{content:\"\\f79e\"}.bi-2-square::before{content:\"\\f79f\"}.bi-3-circle-fill::before{content:\"\\f7a2\"}.bi-3-circle::before{content:\"\\f7a3\"}.bi-3-square-fill::before{content:\"\\f7a4\"}.bi-3-square::before{content:\"\\f7a5\"}.bi-4-circle-fill::before{content:\"\\f7a8\"}.bi-4-circle::before{content:\"\\f7a9\"}.bi-4-square-fill::before{content:\"\\f7aa\"}.bi-4-square::before{content:\"\\f7ab\"}.bi-5-circle-fill::before{content:\"\\f7ae\"}.bi-5-circle::before{content:\"\\f7af\"}.bi-5-square-fill::before{content:\"\\f7b0\"}.bi-5-square::before{content:\"\\f7b1\"}.bi-6-circle-fill::before{content:\"\\f7b4\"}.bi-6-circle::before{content:\"\\f7b5\"}.bi-6-square-fill::before{content:\"\\f7b6\"}.bi-6-square::before{content:\"\\f7b7\"}.bi-7-circle-fill::before{content:\"\\f7ba\"}.bi-7-circle::before{content:\"\\f7bb\"}.bi-7-square-fill::before{content:\"\\f7bc\"}.bi-7-square::before{content:\"\\f7bd\"}.bi-8-circle-fill::before{content:\"\\f7c0\"}.bi-8-circle::before{content:\"\\f7c1\"}.bi-8-square-fill::before{content:\"\\f7c2\"}.bi-8-square::before{content:\"\\f7c3\"}.bi-9-circle-fill::before{content:\"\\f7c6\"}.bi-9-circle::before{content:\"\\f7c7\"}.bi-9-square-fill::before{content:\"\\f7c8\"}.bi-9-square::before{content:\"\\f7c9\"}.bi-airplane-engines-fill::before{content:\"\\f7ca\"}.bi-airplane-engines::before{content:\"\\f7cb\"}.bi-airplane-fill::before{content:\"\\f7cc\"}.bi-airplane::before{content:\"\\f7cd\"}.bi-alexa::before{content:\"\\f7ce\"}.bi-alipay::before{content:\"\\f7cf\"}.bi-android::before{content:\"\\f7d0\"}.bi-android2::before{content:\"\\f7d1\"}.bi-box-fill::before{content:\"\\f7d2\"}.bi-box-seam-fill::before{content:\"\\f7d3\"}.bi-browser-chrome::before{content:\"\\f7d4\"}.bi-browser-edge::before{content:\"\\f7d5\"}.bi-browser-firefox::before{content:\"\\f7d6\"}.bi-browser-safari::before{content:\"\\f7d7\"}.bi-c-circle-fill::before{content:\"\\f7da\"}.bi-c-circle::before{content:\"\\f7db\"}.bi-c-square-fill::before{content:\"\\f7dc\"}.bi-c-square::before{content:\"\\f7dd\"}.bi-capsule-pill::before{content:\"\\f7de\"}.bi-capsule::before{content:\"\\f7df\"}.bi-car-front-fill::before{content:\"\\f7e0\"}.bi-car-front::before{content:\"\\f7e1\"}.bi-cassette-fill::before{content:\"\\f7e2\"}.bi-cassette::before{content:\"\\f7e3\"}.bi-cc-circle-fill::before{content:\"\\f7e6\"}.bi-cc-circle::before{content:\"\\f7e7\"}.bi-cc-square-fill::before{content:\"\\f7e8\"}.bi-cc-square::before{content:\"\\f7e9\"}.bi-cup-hot-fill::before{content:\"\\f7ea\"}.bi-cup-hot::before{content:\"\\f7eb\"}.bi-currency-rupee::before{content:\"\\f7ec\"}.bi-dropbox::before{content:\"\\f7ed\"}.bi-escape::before{content:\"\\f7ee\"}.bi-fast-forward-btn-fill::before{content:\"\\f7ef\"}.bi-fast-forward-btn::before{content:\"\\f7f0\"}.bi-fast-forward-circle-fill::before{content:\"\\f7f1\"}.bi-fast-forward-circle::before{content:\"\\f7f2\"}.bi-fast-forward-fill::before{content:\"\\f7f3\"}.bi-fast-forward::before{content:\"\\f7f4\"}.bi-filetype-sql::before{content:\"\\f7f5\"}.bi-fire::before{content:\"\\f7f6\"}.bi-google-play::before{content:\"\\f7f7\"}.bi-h-circle-fill::before{content:\"\\f7fa\"}.bi-h-circle::before{content:\"\\f7fb\"}.bi-h-square-fill::before{content:\"\\f7fc\"}.bi-h-square::before{content:\"\\f7fd\"}.bi-indent::before{content:\"\\f7fe\"}.bi-lungs-fill::before{content:\"\\f7ff\"}.bi-lungs::before{content:\"\\f800\"}.bi-microsoft-teams::before{content:\"\\f801\"}.bi-p-circle-fill::before{content:\"\\f804\"}.bi-p-circle::before{content:\"\\f805\"}.bi-p-square-fill::before{content:\"\\f806\"}.bi-p-square::before{content:\"\\f807\"}.bi-pass-fill::before{content:\"\\f808\"}.bi-pass::before{content:\"\\f809\"}.bi-prescription::before{content:\"\\f80a\"}.bi-prescription2::before{content:\"\\f80b\"}.bi-r-circle-fill::before{content:\"\\f80e\"}.bi-r-circle::before{content:\"\\f80f\"}.bi-r-square-fill::before{content:\"\\f810\"}.bi-r-square::before{content:\"\\f811\"}.bi-repeat-1::before{content:\"\\f812\"}.bi-repeat::before{content:\"\\f813\"}.bi-rewind-btn-fill::before{content:\"\\f814\"}.bi-rewind-btn::before{content:\"\\f815\"}.bi-rewind-circle-fill::before{content:\"\\f816\"}.bi-rewind-circle::before{content:\"\\f817\"}.bi-rewind-fill::before{content:\"\\f818\"}.bi-rewind::before{content:\"\\f819\"}.bi-train-freight-front-fill::before{content:\"\\f81a\"}.bi-train-freight-front::before{content:\"\\f81b\"}.bi-train-front-fill::before{content:\"\\f81c\"}.bi-train-front::before{content:\"\\f81d\"}.bi-train-lightrail-front-fill::before{content:\"\\f81e\"}.bi-train-lightrail-front::before{content:\"\\f81f\"}.bi-truck-front-fill::before{content:\"\\f820\"}.bi-truck-front::before{content:\"\\f821\"}.bi-ubuntu::before{content:\"\\f822\"}.bi-unindent::before{content:\"\\f823\"}.bi-unity::before{content:\"\\f824\"}.bi-universal-access-circle::before{content:\"\\f825\"}.bi-universal-access::before{content:\"\\f826\"}.bi-virus::before{content:\"\\f827\"}.bi-virus2::before{content:\"\\f828\"}.bi-wechat::before{content:\"\\f829\"}.bi-yelp::before{content:\"\\f82a\"}.bi-sign-stop-fill::before{content:\"\\f82b\"}.bi-sign-stop-lights-fill::before{content:\"\\f82c\"}.bi-sign-stop-lights::before{content:\"\\f82d\"}.bi-sign-stop::before{content:\"\\f82e\"}.bi-sign-turn-left-fill::before{content:\"\\f82f\"}.bi-sign-turn-left::before{content:\"\\f830\"}.bi-sign-turn-right-fill::before{content:\"\\f831\"}.bi-sign-turn-right::before{content:\"\\f832\"}.bi-sign-turn-slight-left-fill::before{content:\"\\f833\"}.bi-sign-turn-slight-left::before{content:\"\\f834\"}.bi-sign-turn-slight-right-fill::before{content:\"\\f835\"}.bi-sign-turn-slight-right::before{content:\"\\f836\"}.bi-sign-yield-fill::before{content:\"\\f837\"}.bi-sign-yield::before{content:\"\\f838\"}.bi-ev-station-fill::before{content:\"\\f839\"}.bi-ev-station::before{content:\"\\f83a\"}.bi-fuel-pump-diesel-fill::before{content:\"\\f83b\"}.bi-fuel-pump-diesel::before{content:\"\\f83c\"}.bi-fuel-pump-fill::before{content:\"\\f83d\"}.bi-fuel-pump::before{content:\"\\f83e\"}.bi-0-circle-fill::before{content:\"\\f83f\"}.bi-0-circle::before{content:\"\\f840\"}.bi-0-square-fill::before{content:\"\\f841\"}.bi-0-square::before{content:\"\\f842\"}.bi-rocket-fill::before{content:\"\\f843\"}.bi-rocket-takeoff-fill::before{content:\"\\f844\"}.bi-rocket-takeoff::before{content:\"\\f845\"}.bi-rocket::before{content:\"\\f846\"}.bi-stripe::before{content:\"\\f847\"}.bi-subscript::before{content:\"\\f848\"}.bi-superscript::before{content:\"\\f849\"}.bi-trello::before{content:\"\\f84a\"}.bi-envelope-at-fill::before{content:\"\\f84b\"}.bi-envelope-at::before{content:\"\\f84c\"}.bi-regex::before{content:\"\\f84d\"}.bi-text-wrap::before{content:\"\\f84e\"}.bi-sign-dead-end-fill::before{content:\"\\f84f\"}.bi-sign-dead-end::before{content:\"\\f850\"}.bi-sign-do-not-enter-fill::before{content:\"\\f851\"}.bi-sign-do-not-enter::before{content:\"\\f852\"}.bi-sign-intersection-fill::before{content:\"\\f853\"}.bi-sign-intersection-side-fill::before{content:\"\\f854\"}.bi-sign-intersection-side::before{content:\"\\f855\"}.bi-sign-intersection-t-fill::before{content:\"\\f856\"}.bi-sign-intersection-t::before{content:\"\\f857\"}.bi-sign-intersection-y-fill::before{content:\"\\f858\"}.bi-sign-intersection-y::before{content:\"\\f859\"}.bi-sign-intersection::before{content:\"\\f85a\"}.bi-sign-merge-left-fill::before{content:\"\\f85b\"}.bi-sign-merge-left::before{content:\"\\f85c\"}.bi-sign-merge-right-fill::before{content:\"\\f85d\"}.bi-sign-merge-right::before{content:\"\\f85e\"}.bi-sign-no-left-turn-fill::before{content:\"\\f85f\"}.bi-sign-no-left-turn::before{content:\"\\f860\"}.bi-sign-no-parking-fill::before{content:\"\\f861\"}.bi-sign-no-parking::before{content:\"\\f862\"}.bi-sign-no-right-turn-fill::before{content:\"\\f863\"}.bi-sign-no-right-turn::before{content:\"\\f864\"}.bi-sign-railroad-fill::before{content:\"\\f865\"}.bi-sign-railroad::before{content:\"\\f866\"}.bi-building-add::before{content:\"\\f867\"}.bi-building-check::before{content:\"\\f868\"}.bi-building-dash::before{content:\"\\f869\"}.bi-building-down::before{content:\"\\f86a\"}.bi-building-exclamation::before{content:\"\\f86b\"}.bi-building-fill-add::before{content:\"\\f86c\"}.bi-building-fill-check::before{content:\"\\f86d\"}.bi-building-fill-dash::before{content:\"\\f86e\"}.bi-building-fill-down::before{content:\"\\f86f\"}.bi-building-fill-exclamation::before{content:\"\\f870\"}.bi-building-fill-gear::before{content:\"\\f871\"}.bi-building-fill-lock::before{content:\"\\f872\"}.bi-building-fill-slash::before{content:\"\\f873\"}.bi-building-fill-up::before{content:\"\\f874\"}.bi-building-fill-x::before{content:\"\\f875\"}.bi-building-fill::before{content:\"\\f876\"}.bi-building-gear::before{content:\"\\f877\"}.bi-building-lock::before{content:\"\\f878\"}.bi-building-slash::before{content:\"\\f879\"}.bi-building-up::before{content:\"\\f87a\"}.bi-building-x::before{content:\"\\f87b\"}.bi-buildings-fill::before{content:\"\\f87c\"}.bi-buildings::before{content:\"\\f87d\"}.bi-bus-front-fill::before{content:\"\\f87e\"}.bi-bus-front::before{content:\"\\f87f\"}.bi-ev-front-fill::before{content:\"\\f880\"}.bi-ev-front::before{content:\"\\f881\"}.bi-globe-americas::before{content:\"\\f882\"}.bi-globe-asia-australia::before{content:\"\\f883\"}.bi-globe-central-south-asia::before{content:\"\\f884\"}.bi-globe-europe-africa::before{content:\"\\f885\"}.bi-house-add-fill::before{content:\"\\f886\"}.bi-house-add::before{content:\"\\f887\"}.bi-house-check-fill::before{content:\"\\f888\"}.bi-house-check::before{content:\"\\f889\"}.bi-house-dash-fill::before{content:\"\\f88a\"}.bi-house-dash::before{content:\"\\f88b\"}.bi-house-down-fill::before{content:\"\\f88c\"}.bi-house-down::before{content:\"\\f88d\"}.bi-house-exclamation-fill::before{content:\"\\f88e\"}.bi-house-exclamation::before{content:\"\\f88f\"}.bi-house-gear-fill::before{content:\"\\f890\"}.bi-house-gear::before{content:\"\\f891\"}.bi-house-lock-fill::before{content:\"\\f892\"}.bi-house-lock::before{content:\"\\f893\"}.bi-house-slash-fill::before{content:\"\\f894\"}.bi-house-slash::before{content:\"\\f895\"}.bi-house-up-fill::before{content:\"\\f896\"}.bi-house-up::before{content:\"\\f897\"}.bi-house-x-fill::before{content:\"\\f898\"}.bi-house-x::before{content:\"\\f899\"}.bi-person-add::before{content:\"\\f89a\"}.bi-person-down::before{content:\"\\f89b\"}.bi-person-exclamation::before{content:\"\\f89c\"}.bi-person-fill-add::before{content:\"\\f89d\"}.bi-person-fill-check::before{content:\"\\f89e\"}.bi-person-fill-dash::before{content:\"\\f89f\"}.bi-person-fill-down::before{content:\"\\f8a0\"}.bi-person-fill-exclamation::before{content:\"\\f8a1\"}.bi-person-fill-gear::before{content:\"\\f8a2\"}.bi-person-fill-lock::before{content:\"\\f8a3\"}.bi-person-fill-slash::before{content:\"\\f8a4\"}.bi-person-fill-up::before{content:\"\\f8a5\"}.bi-person-fill-x::before{content:\"\\f8a6\"}.bi-person-gear::before{content:\"\\f8a7\"}.bi-person-lock::before{content:\"\\f8a8\"}.bi-person-slash::before{content:\"\\f8a9\"}.bi-person-up::before{content:\"\\f8aa\"}.bi-scooter::before{content:\"\\f8ab\"}.bi-taxi-front-fill::before{content:\"\\f8ac\"}.bi-taxi-front::before{content:\"\\f8ad\"}.bi-amd::before{content:\"\\f8ae\"}.bi-database-add::before{content:\"\\f8af\"}.bi-database-check::before{content:\"\\f8b0\"}.bi-database-dash::before{content:\"\\f8b1\"}.bi-database-down::before{content:\"\\f8b2\"}.bi-database-exclamation::before{content:\"\\f8b3\"}.bi-database-fill-add::before{content:\"\\f8b4\"}.bi-database-fill-check::before{content:\"\\f8b5\"}.bi-database-fill-dash::before{content:\"\\f8b6\"}.bi-database-fill-down::before{content:\"\\f8b7\"}.bi-database-fill-exclamation::before{content:\"\\f8b8\"}.bi-database-fill-gear::before{content:\"\\f8b9\"}.bi-database-fill-lock::before{content:\"\\f8ba\"}.bi-database-fill-slash::before{content:\"\\f8bb\"}.bi-database-fill-up::before{content:\"\\f8bc\"}.bi-database-fill-x::before{content:\"\\f8bd\"}.bi-database-fill::before{content:\"\\f8be\"}.bi-database-gear::before{content:\"\\f8bf\"}.bi-database-lock::before{content:\"\\f8c0\"}.bi-database-slash::before{content:\"\\f8c1\"}.bi-database-up::before{content:\"\\f8c2\"}.bi-database-x::before{content:\"\\f8c3\"}.bi-database::before{content:\"\\f8c4\"}.bi-houses-fill::before{content:\"\\f8c5\"}.bi-houses::before{content:\"\\f8c6\"}.bi-nvidia::before{content:\"\\f8c7\"}.bi-person-vcard-fill::before{content:\"\\f8c8\"}.bi-person-vcard::before{content:\"\\f8c9\"}.bi-sina-weibo::before{content:\"\\f8ca\"}.bi-tencent-qq::before{content:\"\\f8cb\"}.bi-wikipedia::before{content:\"\\f8cc\"}.bi-alphabet-uppercase::before{content:\"\\f2a5\"}.bi-alphabet::before{content:\"\\f68a\"}.bi-amazon::before{content:\"\\f68d\"}.bi-arrows-collapse-vertical::before{content:\"\\f690\"}.bi-arrows-expand-vertical::before{content:\"\\f695\"}.bi-arrows-vertical::before{content:\"\\f698\"}.bi-arrows::before{content:\"\\f6a2\"}.bi-ban-fill::before{content:\"\\f6a3\"}.bi-ban::before{content:\"\\f6b6\"}.bi-bing::before{content:\"\\f6c2\"}.bi-cake::before{content:\"\\f6e0\"}.bi-cake2::before{content:\"\\f6ed\"}.bi-cookie::before{content:\"\\f6ee\"}.bi-copy::before{content:\"\\f759\"}.bi-crosshair::before{content:\"\\f769\"}.bi-crosshair2::before{content:\"\\f794\"}.bi-emoji-astonished-fill::before{content:\"\\f795\"}.bi-emoji-astonished::before{content:\"\\f79a\"}.bi-emoji-grimace-fill::before{content:\"\\f79b\"}.bi-emoji-grimace::before{content:\"\\f7a0\"}.bi-emoji-grin-fill::before{content:\"\\f7a1\"}.bi-emoji-grin::before{content:\"\\f7a6\"}.bi-emoji-surprise-fill::before{content:\"\\f7a7\"}.bi-emoji-surprise::before{content:\"\\f7ac\"}.bi-emoji-tear-fill::before{content:\"\\f7ad\"}.bi-emoji-tear::before{content:\"\\f7b2\"}.bi-envelope-arrow-down-fill::before{content:\"\\f7b3\"}.bi-envelope-arrow-down::before{content:\"\\f7b8\"}.bi-envelope-arrow-up-fill::before{content:\"\\f7b9\"}.bi-envelope-arrow-up::before{content:\"\\f7be\"}.bi-feather::before{content:\"\\f7bf\"}.bi-feather2::before{content:\"\\f7c4\"}.bi-floppy-fill::before{content:\"\\f7c5\"}.bi-floppy::before{content:\"\\f7d8\"}.bi-floppy2-fill::before{content:\"\\f7d9\"}.bi-floppy2::before{content:\"\\f7e4\"}.bi-gitlab::before{content:\"\\f7e5\"}.bi-highlighter::before{content:\"\\f7f8\"}.bi-marker-tip::before{content:\"\\f802\"}.bi-nvme-fill::before{content:\"\\f803\"}.bi-nvme::before{content:\"\\f80c\"}.bi-opencollective::before{content:\"\\f80d\"}.bi-pci-card-network::before{content:\"\\f8cd\"}.bi-pci-card-sound::before{content:\"\\f8ce\"}.bi-radar::before{content:\"\\f8cf\"}.bi-send-arrow-down-fill::before{content:\"\\f8d0\"}.bi-send-arrow-down::before{content:\"\\f8d1\"}.bi-send-arrow-up-fill::before{content:\"\\f8d2\"}.bi-send-arrow-up::before{content:\"\\f8d3\"}.bi-sim-slash-fill::before{content:\"\\f8d4\"}.bi-sim-slash::before{content:\"\\f8d5\"}.bi-sourceforge::before{content:\"\\f8d6\"}.bi-substack::before{content:\"\\f8d7\"}.bi-threads-fill::before{content:\"\\f8d8\"}.bi-threads::before{content:\"\\f8d9\"}.bi-transparency::before{content:\"\\f8da\"}.bi-twitter-x::before{content:\"\\f8db\"}.bi-type-h4::before{content:\"\\f8dc\"}.bi-type-h5::before{content:\"\\f8dd\"}.bi-type-h6::before{content:\"\\f8de\"}.bi-backpack-fill::before{content:\"\\f8df\"}.bi-backpack::before{content:\"\\f8e0\"}.bi-backpack2-fill::before{content:\"\\f8e1\"}.bi-backpack2::before{content:\"\\f8e2\"}.bi-backpack3-fill::before{content:\"\\f8e3\"}.bi-backpack3::before{content:\"\\f8e4\"}.bi-backpack4-fill::before{content:\"\\f8e5\"}.bi-backpack4::before{content:\"\\f8e6\"}.bi-brilliance::before{content:\"\\f8e7\"}.bi-cake-fill::before{content:\"\\f8e8\"}.bi-cake2-fill::before{content:\"\\f8e9\"}.bi-duffle-fill::before{content:\"\\f8ea\"}.bi-duffle::before{content:\"\\f8eb\"}.bi-exposure::before{content:\"\\f8ec\"}.bi-gender-neuter::before{content:\"\\f8ed\"}.bi-highlights::before{content:\"\\f8ee\"}.bi-luggage-fill::before{content:\"\\f8ef\"}.bi-luggage::before{content:\"\\f8f0\"}.bi-mailbox-flag::before{content:\"\\f8f1\"}.bi-mailbox2-flag::before{content:\"\\f8f2\"}.bi-noise-reduction::before{content:\"\\f8f3\"}.bi-passport-fill::before{content:\"\\f8f4\"}.bi-passport::before{content:\"\\f8f5\"}.bi-person-arms-up::before{content:\"\\f8f6\"}.bi-person-raised-hand::before{content:\"\\f8f7\"}.bi-person-standing-dress::before{content:\"\\f8f8\"}.bi-person-standing::before{content:\"\\f8f9\"}.bi-person-walking::before{content:\"\\f8fa\"}.bi-person-wheelchair::before{content:\"\\f8fb\"}.bi-shadows::before{content:\"\\f8fc\"}.bi-suitcase-fill::before{content:\"\\f8fd\"}.bi-suitcase-lg-fill::before{content:\"\\f8fe\"}.bi-suitcase-lg::before{content:\"\\f8ff\"}.bi-suitcase::before{content:\"\\f900\"}.bi-suitcase2-fill::before{content:\"\\f901\"}.bi-suitcase2::before{content:\"\\f902\"}.bi-vignette::before{content:\"\\f903\"}"}],"authorContributionMap":{"yiwen101":5}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/bootstrap-icons/font/bootstrap-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"yiwen101"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"yiwen101"},"content":" * Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"yiwen101"},"content":" * Copyright 2019-2024 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"yiwen101"},"content":" * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"yiwen101"},"content":" */"},{"lineNumber":6,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":7,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font: \"bootstrap-icons\" !default;"},{"lineNumber":8,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-dir: \"./fonts\" !default;"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-file: \"#{$bootstrap-icons-font-dir}/#{$bootstrap-icons-font}\" !default;"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-hash: \"24e3eb84d0bcaf83d77f904c78ac1f47\" !default;"},{"lineNumber":11,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-font-src: url(\"#{$bootstrap-icons-font-file}.woff2?#{$bootstrap-icons-font-hash}\") format(\"woff2\"),"},{"lineNumber":12,"author":{"gitId":"yiwen101"},"content":" url(\"#{$bootstrap-icons-font-file}.woff?#{$bootstrap-icons-font-hash}\") format(\"woff\") !default;"},{"lineNumber":13,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":"@font-face {"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" font-display: block;"},{"lineNumber":16,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font;"},{"lineNumber":17,"author":{"gitId":"yiwen101"},"content":" src: $bootstrap-icons-font-src;"},{"lineNumber":18,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":20,"author":{"gitId":"yiwen101"},"content":".bi::before,"},{"lineNumber":21,"author":{"gitId":"yiwen101"},"content":"[class^\u003d\"bi-\"]::before,"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":"[class*\u003d\" bi-\"]::before {"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"yiwen101"},"content":" font-family: $bootstrap-icons-font !important;"},{"lineNumber":25,"author":{"gitId":"yiwen101"},"content":" font-style: normal;"},{"lineNumber":26,"author":{"gitId":"yiwen101"},"content":" font-weight: normal !important;"},{"lineNumber":27,"author":{"gitId":"yiwen101"},"content":" font-variant: normal;"},{"lineNumber":28,"author":{"gitId":"yiwen101"},"content":" text-transform: none;"},{"lineNumber":29,"author":{"gitId":"yiwen101"},"content":" line-height: 1;"},{"lineNumber":30,"author":{"gitId":"yiwen101"},"content":" vertical-align: -.125em;"},{"lineNumber":31,"author":{"gitId":"yiwen101"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":32,"author":{"gitId":"yiwen101"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":"}"},{"lineNumber":34,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":35,"author":{"gitId":"yiwen101"},"content":"$bootstrap-icons-map: ("},{"lineNumber":36,"author":{"gitId":"yiwen101"},"content":" \"123\": \"\\f67f\","},{"lineNumber":37,"author":{"gitId":"yiwen101"},"content":" \"alarm-fill\": \"\\f101\","},{"lineNumber":38,"author":{"gitId":"yiwen101"},"content":" \"alarm\": \"\\f102\","},{"lineNumber":39,"author":{"gitId":"yiwen101"},"content":" \"align-bottom\": \"\\f103\","},{"lineNumber":40,"author":{"gitId":"yiwen101"},"content":" \"align-center\": \"\\f104\","},{"lineNumber":41,"author":{"gitId":"yiwen101"},"content":" \"align-end\": \"\\f105\","},{"lineNumber":42,"author":{"gitId":"yiwen101"},"content":" \"align-middle\": \"\\f106\","},{"lineNumber":43,"author":{"gitId":"yiwen101"},"content":" \"align-start\": \"\\f107\","},{"lineNumber":44,"author":{"gitId":"yiwen101"},"content":" \"align-top\": \"\\f108\","},{"lineNumber":45,"author":{"gitId":"yiwen101"},"content":" \"alt\": \"\\f109\","},{"lineNumber":46,"author":{"gitId":"yiwen101"},"content":" \"app-indicator\": \"\\f10a\","},{"lineNumber":47,"author":{"gitId":"yiwen101"},"content":" \"app\": \"\\f10b\","},{"lineNumber":48,"author":{"gitId":"yiwen101"},"content":" \"archive-fill\": \"\\f10c\","},{"lineNumber":49,"author":{"gitId":"yiwen101"},"content":" \"archive\": \"\\f10d\","},{"lineNumber":50,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-down\": \"\\f10e\","},{"lineNumber":51,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-left\": \"\\f10f\","},{"lineNumber":52,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-right\": \"\\f110\","},{"lineNumber":53,"author":{"gitId":"yiwen101"},"content":" \"arrow-90deg-up\": \"\\f111\","},{"lineNumber":54,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-down\": \"\\f112\","},{"lineNumber":55,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-left\": \"\\f113\","},{"lineNumber":56,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-right\": \"\\f114\","},{"lineNumber":57,"author":{"gitId":"yiwen101"},"content":" \"arrow-bar-up\": \"\\f115\","},{"lineNumber":58,"author":{"gitId":"yiwen101"},"content":" \"arrow-clockwise\": \"\\f116\","},{"lineNumber":59,"author":{"gitId":"yiwen101"},"content":" \"arrow-counterclockwise\": \"\\f117\","},{"lineNumber":60,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle-fill\": \"\\f118\","},{"lineNumber":61,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-circle\": \"\\f119\","},{"lineNumber":62,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle-fill\": \"\\f11a\","},{"lineNumber":63,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-circle\": \"\\f11b\","},{"lineNumber":64,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square-fill\": \"\\f11c\","},{"lineNumber":65,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left-square\": \"\\f11d\","},{"lineNumber":66,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-left\": \"\\f11e\","},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle-fill\": \"\\f11f\","},{"lineNumber":68,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-circle\": \"\\f120\","},{"lineNumber":69,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square-fill\": \"\\f121\","},{"lineNumber":70,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right-square\": \"\\f122\","},{"lineNumber":71,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-right\": \"\\f123\","},{"lineNumber":72,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-short\": \"\\f124\","},{"lineNumber":73,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square-fill\": \"\\f125\","},{"lineNumber":74,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-square\": \"\\f126\","},{"lineNumber":75,"author":{"gitId":"yiwen101"},"content":" \"arrow-down-up\": \"\\f127\","},{"lineNumber":76,"author":{"gitId":"yiwen101"},"content":" \"arrow-down\": \"\\f128\","},{"lineNumber":77,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle-fill\": \"\\f129\","},{"lineNumber":78,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-circle\": \"\\f12a\","},{"lineNumber":79,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-right\": \"\\f12b\","},{"lineNumber":80,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-short\": \"\\f12c\","},{"lineNumber":81,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square-fill\": \"\\f12d\","},{"lineNumber":82,"author":{"gitId":"yiwen101"},"content":" \"arrow-left-square\": \"\\f12e\","},{"lineNumber":83,"author":{"gitId":"yiwen101"},"content":" \"arrow-left\": \"\\f12f\","},{"lineNumber":84,"author":{"gitId":"yiwen101"},"content":" \"arrow-repeat\": \"\\f130\","},{"lineNumber":85,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-left\": \"\\f131\","},{"lineNumber":86,"author":{"gitId":"yiwen101"},"content":" \"arrow-return-right\": \"\\f132\","},{"lineNumber":87,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle-fill\": \"\\f133\","},{"lineNumber":88,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-circle\": \"\\f134\","},{"lineNumber":89,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-short\": \"\\f135\","},{"lineNumber":90,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square-fill\": \"\\f136\","},{"lineNumber":91,"author":{"gitId":"yiwen101"},"content":" \"arrow-right-square\": \"\\f137\","},{"lineNumber":92,"author":{"gitId":"yiwen101"},"content":" \"arrow-right\": \"\\f138\","},{"lineNumber":93,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle-fill\": \"\\f139\","},{"lineNumber":94,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-circle\": \"\\f13a\","},{"lineNumber":95,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle-fill\": \"\\f13b\","},{"lineNumber":96,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-circle\": \"\\f13c\","},{"lineNumber":97,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square-fill\": \"\\f13d\","},{"lineNumber":98,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left-square\": \"\\f13e\","},{"lineNumber":99,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-left\": \"\\f13f\","},{"lineNumber":100,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle-fill\": \"\\f140\","},{"lineNumber":101,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-circle\": \"\\f141\","},{"lineNumber":102,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square-fill\": \"\\f142\","},{"lineNumber":103,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right-square\": \"\\f143\","},{"lineNumber":104,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-right\": \"\\f144\","},{"lineNumber":105,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-short\": \"\\f145\","},{"lineNumber":106,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square-fill\": \"\\f146\","},{"lineNumber":107,"author":{"gitId":"yiwen101"},"content":" \"arrow-up-square\": \"\\f147\","},{"lineNumber":108,"author":{"gitId":"yiwen101"},"content":" \"arrow-up\": \"\\f148\","},{"lineNumber":109,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-contract\": \"\\f149\","},{"lineNumber":110,"author":{"gitId":"yiwen101"},"content":" \"arrows-angle-expand\": \"\\f14a\","},{"lineNumber":111,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse\": \"\\f14b\","},{"lineNumber":112,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand\": \"\\f14c\","},{"lineNumber":113,"author":{"gitId":"yiwen101"},"content":" \"arrows-fullscreen\": \"\\f14d\","},{"lineNumber":114,"author":{"gitId":"yiwen101"},"content":" \"arrows-move\": \"\\f14e\","},{"lineNumber":115,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio-fill\": \"\\f14f\","},{"lineNumber":116,"author":{"gitId":"yiwen101"},"content":" \"aspect-ratio\": \"\\f150\","},{"lineNumber":117,"author":{"gitId":"yiwen101"},"content":" \"asterisk\": \"\\f151\","},{"lineNumber":118,"author":{"gitId":"yiwen101"},"content":" \"at\": \"\\f152\","},{"lineNumber":119,"author":{"gitId":"yiwen101"},"content":" \"award-fill\": \"\\f153\","},{"lineNumber":120,"author":{"gitId":"yiwen101"},"content":" \"award\": \"\\f154\","},{"lineNumber":121,"author":{"gitId":"yiwen101"},"content":" \"back\": \"\\f155\","},{"lineNumber":122,"author":{"gitId":"yiwen101"},"content":" \"backspace-fill\": \"\\f156\","},{"lineNumber":123,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse-fill\": \"\\f157\","},{"lineNumber":124,"author":{"gitId":"yiwen101"},"content":" \"backspace-reverse\": \"\\f158\","},{"lineNumber":125,"author":{"gitId":"yiwen101"},"content":" \"backspace\": \"\\f159\","},{"lineNumber":126,"author":{"gitId":"yiwen101"},"content":" \"badge-3d-fill\": \"\\f15a\","},{"lineNumber":127,"author":{"gitId":"yiwen101"},"content":" \"badge-3d\": \"\\f15b\","},{"lineNumber":128,"author":{"gitId":"yiwen101"},"content":" \"badge-4k-fill\": \"\\f15c\","},{"lineNumber":129,"author":{"gitId":"yiwen101"},"content":" \"badge-4k\": \"\\f15d\","},{"lineNumber":130,"author":{"gitId":"yiwen101"},"content":" \"badge-8k-fill\": \"\\f15e\","},{"lineNumber":131,"author":{"gitId":"yiwen101"},"content":" \"badge-8k\": \"\\f15f\","},{"lineNumber":132,"author":{"gitId":"yiwen101"},"content":" \"badge-ad-fill\": \"\\f160\","},{"lineNumber":133,"author":{"gitId":"yiwen101"},"content":" \"badge-ad\": \"\\f161\","},{"lineNumber":134,"author":{"gitId":"yiwen101"},"content":" \"badge-ar-fill\": \"\\f162\","},{"lineNumber":135,"author":{"gitId":"yiwen101"},"content":" \"badge-ar\": \"\\f163\","},{"lineNumber":136,"author":{"gitId":"yiwen101"},"content":" \"badge-cc-fill\": \"\\f164\","},{"lineNumber":137,"author":{"gitId":"yiwen101"},"content":" \"badge-cc\": \"\\f165\","},{"lineNumber":138,"author":{"gitId":"yiwen101"},"content":" \"badge-hd-fill\": \"\\f166\","},{"lineNumber":139,"author":{"gitId":"yiwen101"},"content":" \"badge-hd\": \"\\f167\","},{"lineNumber":140,"author":{"gitId":"yiwen101"},"content":" \"badge-tm-fill\": \"\\f168\","},{"lineNumber":141,"author":{"gitId":"yiwen101"},"content":" \"badge-tm\": \"\\f169\","},{"lineNumber":142,"author":{"gitId":"yiwen101"},"content":" \"badge-vo-fill\": \"\\f16a\","},{"lineNumber":143,"author":{"gitId":"yiwen101"},"content":" \"badge-vo\": \"\\f16b\","},{"lineNumber":144,"author":{"gitId":"yiwen101"},"content":" \"badge-vr-fill\": \"\\f16c\","},{"lineNumber":145,"author":{"gitId":"yiwen101"},"content":" \"badge-vr\": \"\\f16d\","},{"lineNumber":146,"author":{"gitId":"yiwen101"},"content":" \"badge-wc-fill\": \"\\f16e\","},{"lineNumber":147,"author":{"gitId":"yiwen101"},"content":" \"badge-wc\": \"\\f16f\","},{"lineNumber":148,"author":{"gitId":"yiwen101"},"content":" \"bag-check-fill\": \"\\f170\","},{"lineNumber":149,"author":{"gitId":"yiwen101"},"content":" \"bag-check\": \"\\f171\","},{"lineNumber":150,"author":{"gitId":"yiwen101"},"content":" \"bag-dash-fill\": \"\\f172\","},{"lineNumber":151,"author":{"gitId":"yiwen101"},"content":" \"bag-dash\": \"\\f173\","},{"lineNumber":152,"author":{"gitId":"yiwen101"},"content":" \"bag-fill\": \"\\f174\","},{"lineNumber":153,"author":{"gitId":"yiwen101"},"content":" \"bag-plus-fill\": \"\\f175\","},{"lineNumber":154,"author":{"gitId":"yiwen101"},"content":" \"bag-plus\": \"\\f176\","},{"lineNumber":155,"author":{"gitId":"yiwen101"},"content":" \"bag-x-fill\": \"\\f177\","},{"lineNumber":156,"author":{"gitId":"yiwen101"},"content":" \"bag-x\": \"\\f178\","},{"lineNumber":157,"author":{"gitId":"yiwen101"},"content":" \"bag\": \"\\f179\","},{"lineNumber":158,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-fill\": \"\\f17a\","},{"lineNumber":159,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line-fill\": \"\\f17b\","},{"lineNumber":160,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-line\": \"\\f17c\","},{"lineNumber":161,"author":{"gitId":"yiwen101"},"content":" \"bar-chart-steps\": \"\\f17d\","},{"lineNumber":162,"author":{"gitId":"yiwen101"},"content":" \"bar-chart\": \"\\f17e\","},{"lineNumber":163,"author":{"gitId":"yiwen101"},"content":" \"basket-fill\": \"\\f17f\","},{"lineNumber":164,"author":{"gitId":"yiwen101"},"content":" \"basket\": \"\\f180\","},{"lineNumber":165,"author":{"gitId":"yiwen101"},"content":" \"basket2-fill\": \"\\f181\","},{"lineNumber":166,"author":{"gitId":"yiwen101"},"content":" \"basket2\": \"\\f182\","},{"lineNumber":167,"author":{"gitId":"yiwen101"},"content":" \"basket3-fill\": \"\\f183\","},{"lineNumber":168,"author":{"gitId":"yiwen101"},"content":" \"basket3\": \"\\f184\","},{"lineNumber":169,"author":{"gitId":"yiwen101"},"content":" \"battery-charging\": \"\\f185\","},{"lineNumber":170,"author":{"gitId":"yiwen101"},"content":" \"battery-full\": \"\\f186\","},{"lineNumber":171,"author":{"gitId":"yiwen101"},"content":" \"battery-half\": \"\\f187\","},{"lineNumber":172,"author":{"gitId":"yiwen101"},"content":" \"battery\": \"\\f188\","},{"lineNumber":173,"author":{"gitId":"yiwen101"},"content":" \"bell-fill\": \"\\f189\","},{"lineNumber":174,"author":{"gitId":"yiwen101"},"content":" \"bell\": \"\\f18a\","},{"lineNumber":175,"author":{"gitId":"yiwen101"},"content":" \"bezier\": \"\\f18b\","},{"lineNumber":176,"author":{"gitId":"yiwen101"},"content":" \"bezier2\": \"\\f18c\","},{"lineNumber":177,"author":{"gitId":"yiwen101"},"content":" \"bicycle\": \"\\f18d\","},{"lineNumber":178,"author":{"gitId":"yiwen101"},"content":" \"binoculars-fill\": \"\\f18e\","},{"lineNumber":179,"author":{"gitId":"yiwen101"},"content":" \"binoculars\": \"\\f18f\","},{"lineNumber":180,"author":{"gitId":"yiwen101"},"content":" \"blockquote-left\": \"\\f190\","},{"lineNumber":181,"author":{"gitId":"yiwen101"},"content":" \"blockquote-right\": \"\\f191\","},{"lineNumber":182,"author":{"gitId":"yiwen101"},"content":" \"book-fill\": \"\\f192\","},{"lineNumber":183,"author":{"gitId":"yiwen101"},"content":" \"book-half\": \"\\f193\","},{"lineNumber":184,"author":{"gitId":"yiwen101"},"content":" \"book\": \"\\f194\","},{"lineNumber":185,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check-fill\": \"\\f195\","},{"lineNumber":186,"author":{"gitId":"yiwen101"},"content":" \"bookmark-check\": \"\\f196\","},{"lineNumber":187,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash-fill\": \"\\f197\","},{"lineNumber":188,"author":{"gitId":"yiwen101"},"content":" \"bookmark-dash\": \"\\f198\","},{"lineNumber":189,"author":{"gitId":"yiwen101"},"content":" \"bookmark-fill\": \"\\f199\","},{"lineNumber":190,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart-fill\": \"\\f19a\","},{"lineNumber":191,"author":{"gitId":"yiwen101"},"content":" \"bookmark-heart\": \"\\f19b\","},{"lineNumber":192,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus-fill\": \"\\f19c\","},{"lineNumber":193,"author":{"gitId":"yiwen101"},"content":" \"bookmark-plus\": \"\\f19d\","},{"lineNumber":194,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star-fill\": \"\\f19e\","},{"lineNumber":195,"author":{"gitId":"yiwen101"},"content":" \"bookmark-star\": \"\\f19f\","},{"lineNumber":196,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x-fill\": \"\\f1a0\","},{"lineNumber":197,"author":{"gitId":"yiwen101"},"content":" \"bookmark-x\": \"\\f1a1\","},{"lineNumber":198,"author":{"gitId":"yiwen101"},"content":" \"bookmark\": \"\\f1a2\","},{"lineNumber":199,"author":{"gitId":"yiwen101"},"content":" \"bookmarks-fill\": \"\\f1a3\","},{"lineNumber":200,"author":{"gitId":"yiwen101"},"content":" \"bookmarks\": \"\\f1a4\","},{"lineNumber":201,"author":{"gitId":"yiwen101"},"content":" \"bookshelf\": \"\\f1a5\","},{"lineNumber":202,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-fill\": \"\\f1a6\","},{"lineNumber":203,"author":{"gitId":"yiwen101"},"content":" \"bootstrap-reboot\": \"\\f1a7\","},{"lineNumber":204,"author":{"gitId":"yiwen101"},"content":" \"bootstrap\": \"\\f1a8\","},{"lineNumber":205,"author":{"gitId":"yiwen101"},"content":" \"border-all\": \"\\f1a9\","},{"lineNumber":206,"author":{"gitId":"yiwen101"},"content":" \"border-bottom\": \"\\f1aa\","},{"lineNumber":207,"author":{"gitId":"yiwen101"},"content":" \"border-center\": \"\\f1ab\","},{"lineNumber":208,"author":{"gitId":"yiwen101"},"content":" \"border-inner\": \"\\f1ac\","},{"lineNumber":209,"author":{"gitId":"yiwen101"},"content":" \"border-left\": \"\\f1ad\","},{"lineNumber":210,"author":{"gitId":"yiwen101"},"content":" \"border-middle\": \"\\f1ae\","},{"lineNumber":211,"author":{"gitId":"yiwen101"},"content":" \"border-outer\": \"\\f1af\","},{"lineNumber":212,"author":{"gitId":"yiwen101"},"content":" \"border-right\": \"\\f1b0\","},{"lineNumber":213,"author":{"gitId":"yiwen101"},"content":" \"border-style\": \"\\f1b1\","},{"lineNumber":214,"author":{"gitId":"yiwen101"},"content":" \"border-top\": \"\\f1b2\","},{"lineNumber":215,"author":{"gitId":"yiwen101"},"content":" \"border-width\": \"\\f1b3\","},{"lineNumber":216,"author":{"gitId":"yiwen101"},"content":" \"border\": \"\\f1b4\","},{"lineNumber":217,"author":{"gitId":"yiwen101"},"content":" \"bounding-box-circles\": \"\\f1b5\","},{"lineNumber":218,"author":{"gitId":"yiwen101"},"content":" \"bounding-box\": \"\\f1b6\","},{"lineNumber":219,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-left\": \"\\f1b7\","},{"lineNumber":220,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down-right\": \"\\f1b8\","},{"lineNumber":221,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-down\": \"\\f1b9\","},{"lineNumber":222,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-left\": \"\\f1ba\","},{"lineNumber":223,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down-right\": \"\\f1bb\","},{"lineNumber":224,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-down\": \"\\f1bc\","},{"lineNumber":225,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-left\": \"\\f1bd\","},{"lineNumber":226,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-right\": \"\\f1be\","},{"lineNumber":227,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-left\": \"\\f1bf\","},{"lineNumber":228,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up-right\": \"\\f1c0\","},{"lineNumber":229,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-in-up\": \"\\f1c1\","},{"lineNumber":230,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-left\": \"\\f1c2\","},{"lineNumber":231,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-right\": \"\\f1c3\","},{"lineNumber":232,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-left\": \"\\f1c4\","},{"lineNumber":233,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up-right\": \"\\f1c5\","},{"lineNumber":234,"author":{"gitId":"yiwen101"},"content":" \"box-arrow-up\": \"\\f1c6\","},{"lineNumber":235,"author":{"gitId":"yiwen101"},"content":" \"box-seam\": \"\\f1c7\","},{"lineNumber":236,"author":{"gitId":"yiwen101"},"content":" \"box\": \"\\f1c8\","},{"lineNumber":237,"author":{"gitId":"yiwen101"},"content":" \"braces\": \"\\f1c9\","},{"lineNumber":238,"author":{"gitId":"yiwen101"},"content":" \"bricks\": \"\\f1ca\","},{"lineNumber":239,"author":{"gitId":"yiwen101"},"content":" \"briefcase-fill\": \"\\f1cb\","},{"lineNumber":240,"author":{"gitId":"yiwen101"},"content":" \"briefcase\": \"\\f1cc\","},{"lineNumber":241,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high-fill\": \"\\f1cd\","},{"lineNumber":242,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-high\": \"\\f1ce\","},{"lineNumber":243,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low-fill\": \"\\f1cf\","},{"lineNumber":244,"author":{"gitId":"yiwen101"},"content":" \"brightness-alt-low\": \"\\f1d0\","},{"lineNumber":245,"author":{"gitId":"yiwen101"},"content":" \"brightness-high-fill\": \"\\f1d1\","},{"lineNumber":246,"author":{"gitId":"yiwen101"},"content":" \"brightness-high\": \"\\f1d2\","},{"lineNumber":247,"author":{"gitId":"yiwen101"},"content":" \"brightness-low-fill\": \"\\f1d3\","},{"lineNumber":248,"author":{"gitId":"yiwen101"},"content":" \"brightness-low\": \"\\f1d4\","},{"lineNumber":249,"author":{"gitId":"yiwen101"},"content":" \"broadcast-pin\": \"\\f1d5\","},{"lineNumber":250,"author":{"gitId":"yiwen101"},"content":" \"broadcast\": \"\\f1d6\","},{"lineNumber":251,"author":{"gitId":"yiwen101"},"content":" \"brush-fill\": \"\\f1d7\","},{"lineNumber":252,"author":{"gitId":"yiwen101"},"content":" \"brush\": \"\\f1d8\","},{"lineNumber":253,"author":{"gitId":"yiwen101"},"content":" \"bucket-fill\": \"\\f1d9\","},{"lineNumber":254,"author":{"gitId":"yiwen101"},"content":" \"bucket\": \"\\f1da\","},{"lineNumber":255,"author":{"gitId":"yiwen101"},"content":" \"bug-fill\": \"\\f1db\","},{"lineNumber":256,"author":{"gitId":"yiwen101"},"content":" \"bug\": \"\\f1dc\","},{"lineNumber":257,"author":{"gitId":"yiwen101"},"content":" \"building\": \"\\f1dd\","},{"lineNumber":258,"author":{"gitId":"yiwen101"},"content":" \"bullseye\": \"\\f1de\","},{"lineNumber":259,"author":{"gitId":"yiwen101"},"content":" \"calculator-fill\": \"\\f1df\","},{"lineNumber":260,"author":{"gitId":"yiwen101"},"content":" \"calculator\": \"\\f1e0\","},{"lineNumber":261,"author":{"gitId":"yiwen101"},"content":" \"calendar-check-fill\": \"\\f1e1\","},{"lineNumber":262,"author":{"gitId":"yiwen101"},"content":" \"calendar-check\": \"\\f1e2\","},{"lineNumber":263,"author":{"gitId":"yiwen101"},"content":" \"calendar-date-fill\": \"\\f1e3\","},{"lineNumber":264,"author":{"gitId":"yiwen101"},"content":" \"calendar-date\": \"\\f1e4\","},{"lineNumber":265,"author":{"gitId":"yiwen101"},"content":" \"calendar-day-fill\": \"\\f1e5\","},{"lineNumber":266,"author":{"gitId":"yiwen101"},"content":" \"calendar-day\": \"\\f1e6\","},{"lineNumber":267,"author":{"gitId":"yiwen101"},"content":" \"calendar-event-fill\": \"\\f1e7\","},{"lineNumber":268,"author":{"gitId":"yiwen101"},"content":" \"calendar-event\": \"\\f1e8\","},{"lineNumber":269,"author":{"gitId":"yiwen101"},"content":" \"calendar-fill\": \"\\f1e9\","},{"lineNumber":270,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus-fill\": \"\\f1ea\","},{"lineNumber":271,"author":{"gitId":"yiwen101"},"content":" \"calendar-minus\": \"\\f1eb\","},{"lineNumber":272,"author":{"gitId":"yiwen101"},"content":" \"calendar-month-fill\": \"\\f1ec\","},{"lineNumber":273,"author":{"gitId":"yiwen101"},"content":" \"calendar-month\": \"\\f1ed\","},{"lineNumber":274,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus-fill\": \"\\f1ee\","},{"lineNumber":275,"author":{"gitId":"yiwen101"},"content":" \"calendar-plus\": \"\\f1ef\","},{"lineNumber":276,"author":{"gitId":"yiwen101"},"content":" \"calendar-range-fill\": \"\\f1f0\","},{"lineNumber":277,"author":{"gitId":"yiwen101"},"content":" \"calendar-range\": \"\\f1f1\","},{"lineNumber":278,"author":{"gitId":"yiwen101"},"content":" \"calendar-week-fill\": \"\\f1f2\","},{"lineNumber":279,"author":{"gitId":"yiwen101"},"content":" \"calendar-week\": \"\\f1f3\","},{"lineNumber":280,"author":{"gitId":"yiwen101"},"content":" \"calendar-x-fill\": \"\\f1f4\","},{"lineNumber":281,"author":{"gitId":"yiwen101"},"content":" \"calendar-x\": \"\\f1f5\","},{"lineNumber":282,"author":{"gitId":"yiwen101"},"content":" \"calendar\": \"\\f1f6\","},{"lineNumber":283,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check-fill\": \"\\f1f7\","},{"lineNumber":284,"author":{"gitId":"yiwen101"},"content":" \"calendar2-check\": \"\\f1f8\","},{"lineNumber":285,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date-fill\": \"\\f1f9\","},{"lineNumber":286,"author":{"gitId":"yiwen101"},"content":" \"calendar2-date\": \"\\f1fa\","},{"lineNumber":287,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day-fill\": \"\\f1fb\","},{"lineNumber":288,"author":{"gitId":"yiwen101"},"content":" \"calendar2-day\": \"\\f1fc\","},{"lineNumber":289,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event-fill\": \"\\f1fd\","},{"lineNumber":290,"author":{"gitId":"yiwen101"},"content":" \"calendar2-event\": \"\\f1fe\","},{"lineNumber":291,"author":{"gitId":"yiwen101"},"content":" \"calendar2-fill\": \"\\f1ff\","},{"lineNumber":292,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus-fill\": \"\\f200\","},{"lineNumber":293,"author":{"gitId":"yiwen101"},"content":" \"calendar2-minus\": \"\\f201\","},{"lineNumber":294,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month-fill\": \"\\f202\","},{"lineNumber":295,"author":{"gitId":"yiwen101"},"content":" \"calendar2-month\": \"\\f203\","},{"lineNumber":296,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus-fill\": \"\\f204\","},{"lineNumber":297,"author":{"gitId":"yiwen101"},"content":" \"calendar2-plus\": \"\\f205\","},{"lineNumber":298,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range-fill\": \"\\f206\","},{"lineNumber":299,"author":{"gitId":"yiwen101"},"content":" \"calendar2-range\": \"\\f207\","},{"lineNumber":300,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week-fill\": \"\\f208\","},{"lineNumber":301,"author":{"gitId":"yiwen101"},"content":" \"calendar2-week\": \"\\f209\","},{"lineNumber":302,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x-fill\": \"\\f20a\","},{"lineNumber":303,"author":{"gitId":"yiwen101"},"content":" \"calendar2-x\": \"\\f20b\","},{"lineNumber":304,"author":{"gitId":"yiwen101"},"content":" \"calendar2\": \"\\f20c\","},{"lineNumber":305,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event-fill\": \"\\f20d\","},{"lineNumber":306,"author":{"gitId":"yiwen101"},"content":" \"calendar3-event\": \"\\f20e\","},{"lineNumber":307,"author":{"gitId":"yiwen101"},"content":" \"calendar3-fill\": \"\\f20f\","},{"lineNumber":308,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range-fill\": \"\\f210\","},{"lineNumber":309,"author":{"gitId":"yiwen101"},"content":" \"calendar3-range\": \"\\f211\","},{"lineNumber":310,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week-fill\": \"\\f212\","},{"lineNumber":311,"author":{"gitId":"yiwen101"},"content":" \"calendar3-week\": \"\\f213\","},{"lineNumber":312,"author":{"gitId":"yiwen101"},"content":" \"calendar3\": \"\\f214\","},{"lineNumber":313,"author":{"gitId":"yiwen101"},"content":" \"calendar4-event\": \"\\f215\","},{"lineNumber":314,"author":{"gitId":"yiwen101"},"content":" \"calendar4-range\": \"\\f216\","},{"lineNumber":315,"author":{"gitId":"yiwen101"},"content":" \"calendar4-week\": \"\\f217\","},{"lineNumber":316,"author":{"gitId":"yiwen101"},"content":" \"calendar4\": \"\\f218\","},{"lineNumber":317,"author":{"gitId":"yiwen101"},"content":" \"camera-fill\": \"\\f219\","},{"lineNumber":318,"author":{"gitId":"yiwen101"},"content":" \"camera-reels-fill\": \"\\f21a\","},{"lineNumber":319,"author":{"gitId":"yiwen101"},"content":" \"camera-reels\": \"\\f21b\","},{"lineNumber":320,"author":{"gitId":"yiwen101"},"content":" \"camera-video-fill\": \"\\f21c\","},{"lineNumber":321,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off-fill\": \"\\f21d\","},{"lineNumber":322,"author":{"gitId":"yiwen101"},"content":" \"camera-video-off\": \"\\f21e\","},{"lineNumber":323,"author":{"gitId":"yiwen101"},"content":" \"camera-video\": \"\\f21f\","},{"lineNumber":324,"author":{"gitId":"yiwen101"},"content":" \"camera\": \"\\f220\","},{"lineNumber":325,"author":{"gitId":"yiwen101"},"content":" \"camera2\": \"\\f221\","},{"lineNumber":326,"author":{"gitId":"yiwen101"},"content":" \"capslock-fill\": \"\\f222\","},{"lineNumber":327,"author":{"gitId":"yiwen101"},"content":" \"capslock\": \"\\f223\","},{"lineNumber":328,"author":{"gitId":"yiwen101"},"content":" \"card-checklist\": \"\\f224\","},{"lineNumber":329,"author":{"gitId":"yiwen101"},"content":" \"card-heading\": \"\\f225\","},{"lineNumber":330,"author":{"gitId":"yiwen101"},"content":" \"card-image\": \"\\f226\","},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" \"card-list\": \"\\f227\","},{"lineNumber":332,"author":{"gitId":"yiwen101"},"content":" \"card-text\": \"\\f228\","},{"lineNumber":333,"author":{"gitId":"yiwen101"},"content":" \"caret-down-fill\": \"\\f229\","},{"lineNumber":334,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square-fill\": \"\\f22a\","},{"lineNumber":335,"author":{"gitId":"yiwen101"},"content":" \"caret-down-square\": \"\\f22b\","},{"lineNumber":336,"author":{"gitId":"yiwen101"},"content":" \"caret-down\": \"\\f22c\","},{"lineNumber":337,"author":{"gitId":"yiwen101"},"content":" \"caret-left-fill\": \"\\f22d\","},{"lineNumber":338,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square-fill\": \"\\f22e\","},{"lineNumber":339,"author":{"gitId":"yiwen101"},"content":" \"caret-left-square\": \"\\f22f\","},{"lineNumber":340,"author":{"gitId":"yiwen101"},"content":" \"caret-left\": \"\\f230\","},{"lineNumber":341,"author":{"gitId":"yiwen101"},"content":" \"caret-right-fill\": \"\\f231\","},{"lineNumber":342,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square-fill\": \"\\f232\","},{"lineNumber":343,"author":{"gitId":"yiwen101"},"content":" \"caret-right-square\": \"\\f233\","},{"lineNumber":344,"author":{"gitId":"yiwen101"},"content":" \"caret-right\": \"\\f234\","},{"lineNumber":345,"author":{"gitId":"yiwen101"},"content":" \"caret-up-fill\": \"\\f235\","},{"lineNumber":346,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square-fill\": \"\\f236\","},{"lineNumber":347,"author":{"gitId":"yiwen101"},"content":" \"caret-up-square\": \"\\f237\","},{"lineNumber":348,"author":{"gitId":"yiwen101"},"content":" \"caret-up\": \"\\f238\","},{"lineNumber":349,"author":{"gitId":"yiwen101"},"content":" \"cart-check-fill\": \"\\f239\","},{"lineNumber":350,"author":{"gitId":"yiwen101"},"content":" \"cart-check\": \"\\f23a\","},{"lineNumber":351,"author":{"gitId":"yiwen101"},"content":" \"cart-dash-fill\": \"\\f23b\","},{"lineNumber":352,"author":{"gitId":"yiwen101"},"content":" \"cart-dash\": \"\\f23c\","},{"lineNumber":353,"author":{"gitId":"yiwen101"},"content":" \"cart-fill\": \"\\f23d\","},{"lineNumber":354,"author":{"gitId":"yiwen101"},"content":" \"cart-plus-fill\": \"\\f23e\","},{"lineNumber":355,"author":{"gitId":"yiwen101"},"content":" \"cart-plus\": \"\\f23f\","},{"lineNumber":356,"author":{"gitId":"yiwen101"},"content":" \"cart-x-fill\": \"\\f240\","},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" \"cart-x\": \"\\f241\","},{"lineNumber":358,"author":{"gitId":"yiwen101"},"content":" \"cart\": \"\\f242\","},{"lineNumber":359,"author":{"gitId":"yiwen101"},"content":" \"cart2\": \"\\f243\","},{"lineNumber":360,"author":{"gitId":"yiwen101"},"content":" \"cart3\": \"\\f244\","},{"lineNumber":361,"author":{"gitId":"yiwen101"},"content":" \"cart4\": \"\\f245\","},{"lineNumber":362,"author":{"gitId":"yiwen101"},"content":" \"cash-stack\": \"\\f246\","},{"lineNumber":363,"author":{"gitId":"yiwen101"},"content":" \"cash\": \"\\f247\","},{"lineNumber":364,"author":{"gitId":"yiwen101"},"content":" \"cast\": \"\\f248\","},{"lineNumber":365,"author":{"gitId":"yiwen101"},"content":" \"chat-dots-fill\": \"\\f249\","},{"lineNumber":366,"author":{"gitId":"yiwen101"},"content":" \"chat-dots\": \"\\f24a\","},{"lineNumber":367,"author":{"gitId":"yiwen101"},"content":" \"chat-fill\": \"\\f24b\","},{"lineNumber":368,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots-fill\": \"\\f24c\","},{"lineNumber":369,"author":{"gitId":"yiwen101"},"content":" \"chat-left-dots\": \"\\f24d\","},{"lineNumber":370,"author":{"gitId":"yiwen101"},"content":" \"chat-left-fill\": \"\\f24e\","},{"lineNumber":371,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote-fill\": \"\\f24f\","},{"lineNumber":372,"author":{"gitId":"yiwen101"},"content":" \"chat-left-quote\": \"\\f250\","},{"lineNumber":373,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text-fill\": \"\\f251\","},{"lineNumber":374,"author":{"gitId":"yiwen101"},"content":" \"chat-left-text\": \"\\f252\","},{"lineNumber":375,"author":{"gitId":"yiwen101"},"content":" \"chat-left\": \"\\f253\","},{"lineNumber":376,"author":{"gitId":"yiwen101"},"content":" \"chat-quote-fill\": \"\\f254\","},{"lineNumber":377,"author":{"gitId":"yiwen101"},"content":" \"chat-quote\": \"\\f255\","},{"lineNumber":378,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots-fill\": \"\\f256\","},{"lineNumber":379,"author":{"gitId":"yiwen101"},"content":" \"chat-right-dots\": \"\\f257\","},{"lineNumber":380,"author":{"gitId":"yiwen101"},"content":" \"chat-right-fill\": \"\\f258\","},{"lineNumber":381,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote-fill\": \"\\f259\","},{"lineNumber":382,"author":{"gitId":"yiwen101"},"content":" \"chat-right-quote\": \"\\f25a\","},{"lineNumber":383,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text-fill\": \"\\f25b\","},{"lineNumber":384,"author":{"gitId":"yiwen101"},"content":" \"chat-right-text\": \"\\f25c\","},{"lineNumber":385,"author":{"gitId":"yiwen101"},"content":" \"chat-right\": \"\\f25d\","},{"lineNumber":386,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots-fill\": \"\\f25e\","},{"lineNumber":387,"author":{"gitId":"yiwen101"},"content":" \"chat-square-dots\": \"\\f25f\","},{"lineNumber":388,"author":{"gitId":"yiwen101"},"content":" \"chat-square-fill\": \"\\f260\","},{"lineNumber":389,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote-fill\": \"\\f261\","},{"lineNumber":390,"author":{"gitId":"yiwen101"},"content":" \"chat-square-quote\": \"\\f262\","},{"lineNumber":391,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text-fill\": \"\\f263\","},{"lineNumber":392,"author":{"gitId":"yiwen101"},"content":" \"chat-square-text\": \"\\f264\","},{"lineNumber":393,"author":{"gitId":"yiwen101"},"content":" \"chat-square\": \"\\f265\","},{"lineNumber":394,"author":{"gitId":"yiwen101"},"content":" \"chat-text-fill\": \"\\f266\","},{"lineNumber":395,"author":{"gitId":"yiwen101"},"content":" \"chat-text\": \"\\f267\","},{"lineNumber":396,"author":{"gitId":"yiwen101"},"content":" \"chat\": \"\\f268\","},{"lineNumber":397,"author":{"gitId":"yiwen101"},"content":" \"check-all\": \"\\f269\","},{"lineNumber":398,"author":{"gitId":"yiwen101"},"content":" \"check-circle-fill\": \"\\f26a\","},{"lineNumber":399,"author":{"gitId":"yiwen101"},"content":" \"check-circle\": \"\\f26b\","},{"lineNumber":400,"author":{"gitId":"yiwen101"},"content":" \"check-square-fill\": \"\\f26c\","},{"lineNumber":401,"author":{"gitId":"yiwen101"},"content":" \"check-square\": \"\\f26d\","},{"lineNumber":402,"author":{"gitId":"yiwen101"},"content":" \"check\": \"\\f26e\","},{"lineNumber":403,"author":{"gitId":"yiwen101"},"content":" \"check2-all\": \"\\f26f\","},{"lineNumber":404,"author":{"gitId":"yiwen101"},"content":" \"check2-circle\": \"\\f270\","},{"lineNumber":405,"author":{"gitId":"yiwen101"},"content":" \"check2-square\": \"\\f271\","},{"lineNumber":406,"author":{"gitId":"yiwen101"},"content":" \"check2\": \"\\f272\","},{"lineNumber":407,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-contract\": \"\\f273\","},{"lineNumber":408,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-down\": \"\\f274\","},{"lineNumber":409,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-expand\": \"\\f275\","},{"lineNumber":410,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-left\": \"\\f276\","},{"lineNumber":411,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-right\": \"\\f277\","},{"lineNumber":412,"author":{"gitId":"yiwen101"},"content":" \"chevron-bar-up\": \"\\f278\","},{"lineNumber":413,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-down\": \"\\f279\","},{"lineNumber":414,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-left\": \"\\f27a\","},{"lineNumber":415,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-right\": \"\\f27b\","},{"lineNumber":416,"author":{"gitId":"yiwen101"},"content":" \"chevron-compact-up\": \"\\f27c\","},{"lineNumber":417,"author":{"gitId":"yiwen101"},"content":" \"chevron-contract\": \"\\f27d\","},{"lineNumber":418,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-down\": \"\\f27e\","},{"lineNumber":419,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-left\": \"\\f27f\","},{"lineNumber":420,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-right\": \"\\f280\","},{"lineNumber":421,"author":{"gitId":"yiwen101"},"content":" \"chevron-double-up\": \"\\f281\","},{"lineNumber":422,"author":{"gitId":"yiwen101"},"content":" \"chevron-down\": \"\\f282\","},{"lineNumber":423,"author":{"gitId":"yiwen101"},"content":" \"chevron-expand\": \"\\f283\","},{"lineNumber":424,"author":{"gitId":"yiwen101"},"content":" \"chevron-left\": \"\\f284\","},{"lineNumber":425,"author":{"gitId":"yiwen101"},"content":" \"chevron-right\": \"\\f285\","},{"lineNumber":426,"author":{"gitId":"yiwen101"},"content":" \"chevron-up\": \"\\f286\","},{"lineNumber":427,"author":{"gitId":"yiwen101"},"content":" \"circle-fill\": \"\\f287\","},{"lineNumber":428,"author":{"gitId":"yiwen101"},"content":" \"circle-half\": \"\\f288\","},{"lineNumber":429,"author":{"gitId":"yiwen101"},"content":" \"circle-square\": \"\\f289\","},{"lineNumber":430,"author":{"gitId":"yiwen101"},"content":" \"circle\": \"\\f28a\","},{"lineNumber":431,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check\": \"\\f28b\","},{"lineNumber":432,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data\": \"\\f28c\","},{"lineNumber":433,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus\": \"\\f28d\","},{"lineNumber":434,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus\": \"\\f28e\","},{"lineNumber":435,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x\": \"\\f28f\","},{"lineNumber":436,"author":{"gitId":"yiwen101"},"content":" \"clipboard\": \"\\f290\","},{"lineNumber":437,"author":{"gitId":"yiwen101"},"content":" \"clock-fill\": \"\\f291\","},{"lineNumber":438,"author":{"gitId":"yiwen101"},"content":" \"clock-history\": \"\\f292\","},{"lineNumber":439,"author":{"gitId":"yiwen101"},"content":" \"clock\": \"\\f293\","},{"lineNumber":440,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down-fill\": \"\\f294\","},{"lineNumber":441,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-down\": \"\\f295\","},{"lineNumber":442,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up-fill\": \"\\f296\","},{"lineNumber":443,"author":{"gitId":"yiwen101"},"content":" \"cloud-arrow-up\": \"\\f297\","},{"lineNumber":444,"author":{"gitId":"yiwen101"},"content":" \"cloud-check-fill\": \"\\f298\","},{"lineNumber":445,"author":{"gitId":"yiwen101"},"content":" \"cloud-check\": \"\\f299\","},{"lineNumber":446,"author":{"gitId":"yiwen101"},"content":" \"cloud-download-fill\": \"\\f29a\","},{"lineNumber":447,"author":{"gitId":"yiwen101"},"content":" \"cloud-download\": \"\\f29b\","},{"lineNumber":448,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle-fill\": \"\\f29c\","},{"lineNumber":449,"author":{"gitId":"yiwen101"},"content":" \"cloud-drizzle\": \"\\f29d\","},{"lineNumber":450,"author":{"gitId":"yiwen101"},"content":" \"cloud-fill\": \"\\f29e\","},{"lineNumber":451,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog-fill\": \"\\f29f\","},{"lineNumber":452,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog\": \"\\f2a0\","},{"lineNumber":453,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2-fill\": \"\\f2a1\","},{"lineNumber":454,"author":{"gitId":"yiwen101"},"content":" \"cloud-fog2\": \"\\f2a2\","},{"lineNumber":455,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail-fill\": \"\\f2a3\","},{"lineNumber":456,"author":{"gitId":"yiwen101"},"content":" \"cloud-hail\": \"\\f2a4\","},{"lineNumber":457,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze-fill\": \"\\f2a6\","},{"lineNumber":458,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze\": \"\\f2a7\","},{"lineNumber":459,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2-fill\": \"\\f2a8\","},{"lineNumber":460,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-fill\": \"\\f2a9\","},{"lineNumber":461,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain-fill\": \"\\f2aa\","},{"lineNumber":462,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning-rain\": \"\\f2ab\","},{"lineNumber":463,"author":{"gitId":"yiwen101"},"content":" \"cloud-lightning\": \"\\f2ac\","},{"lineNumber":464,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus-fill\": \"\\f2ad\","},{"lineNumber":465,"author":{"gitId":"yiwen101"},"content":" \"cloud-minus\": \"\\f2ae\","},{"lineNumber":466,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon-fill\": \"\\f2af\","},{"lineNumber":467,"author":{"gitId":"yiwen101"},"content":" \"cloud-moon\": \"\\f2b0\","},{"lineNumber":468,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus-fill\": \"\\f2b1\","},{"lineNumber":469,"author":{"gitId":"yiwen101"},"content":" \"cloud-plus\": \"\\f2b2\","},{"lineNumber":470,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-fill\": \"\\f2b3\","},{"lineNumber":471,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy-fill\": \"\\f2b4\","},{"lineNumber":472,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain-heavy\": \"\\f2b5\","},{"lineNumber":473,"author":{"gitId":"yiwen101"},"content":" \"cloud-rain\": \"\\f2b6\","},{"lineNumber":474,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash-fill\": \"\\f2b7\","},{"lineNumber":475,"author":{"gitId":"yiwen101"},"content":" \"cloud-slash\": \"\\f2b8\","},{"lineNumber":476,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet-fill\": \"\\f2b9\","},{"lineNumber":477,"author":{"gitId":"yiwen101"},"content":" \"cloud-sleet\": \"\\f2ba\","},{"lineNumber":478,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow-fill\": \"\\f2bb\","},{"lineNumber":479,"author":{"gitId":"yiwen101"},"content":" \"cloud-snow\": \"\\f2bc\","},{"lineNumber":480,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun-fill\": \"\\f2bd\","},{"lineNumber":481,"author":{"gitId":"yiwen101"},"content":" \"cloud-sun\": \"\\f2be\","},{"lineNumber":482,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload-fill\": \"\\f2bf\","},{"lineNumber":483,"author":{"gitId":"yiwen101"},"content":" \"cloud-upload\": \"\\f2c0\","},{"lineNumber":484,"author":{"gitId":"yiwen101"},"content":" \"cloud\": \"\\f2c1\","},{"lineNumber":485,"author":{"gitId":"yiwen101"},"content":" \"clouds-fill\": \"\\f2c2\","},{"lineNumber":486,"author":{"gitId":"yiwen101"},"content":" \"clouds\": \"\\f2c3\","},{"lineNumber":487,"author":{"gitId":"yiwen101"},"content":" \"cloudy-fill\": \"\\f2c4\","},{"lineNumber":488,"author":{"gitId":"yiwen101"},"content":" \"cloudy\": \"\\f2c5\","},{"lineNumber":489,"author":{"gitId":"yiwen101"},"content":" \"code-slash\": \"\\f2c6\","},{"lineNumber":490,"author":{"gitId":"yiwen101"},"content":" \"code-square\": \"\\f2c7\","},{"lineNumber":491,"author":{"gitId":"yiwen101"},"content":" \"code\": \"\\f2c8\","},{"lineNumber":492,"author":{"gitId":"yiwen101"},"content":" \"collection-fill\": \"\\f2c9\","},{"lineNumber":493,"author":{"gitId":"yiwen101"},"content":" \"collection-play-fill\": \"\\f2ca\","},{"lineNumber":494,"author":{"gitId":"yiwen101"},"content":" \"collection-play\": \"\\f2cb\","},{"lineNumber":495,"author":{"gitId":"yiwen101"},"content":" \"collection\": \"\\f2cc\","},{"lineNumber":496,"author":{"gitId":"yiwen101"},"content":" \"columns-gap\": \"\\f2cd\","},{"lineNumber":497,"author":{"gitId":"yiwen101"},"content":" \"columns\": \"\\f2ce\","},{"lineNumber":498,"author":{"gitId":"yiwen101"},"content":" \"command\": \"\\f2cf\","},{"lineNumber":499,"author":{"gitId":"yiwen101"},"content":" \"compass-fill\": \"\\f2d0\","},{"lineNumber":500,"author":{"gitId":"yiwen101"},"content":" \"compass\": \"\\f2d1\","},{"lineNumber":501,"author":{"gitId":"yiwen101"},"content":" \"cone-striped\": \"\\f2d2\","},{"lineNumber":502,"author":{"gitId":"yiwen101"},"content":" \"cone\": \"\\f2d3\","},{"lineNumber":503,"author":{"gitId":"yiwen101"},"content":" \"controller\": \"\\f2d4\","},{"lineNumber":504,"author":{"gitId":"yiwen101"},"content":" \"cpu-fill\": \"\\f2d5\","},{"lineNumber":505,"author":{"gitId":"yiwen101"},"content":" \"cpu\": \"\\f2d6\","},{"lineNumber":506,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back-fill\": \"\\f2d7\","},{"lineNumber":507,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-back\": \"\\f2d8\","},{"lineNumber":508,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front-fill\": \"\\f2d9\","},{"lineNumber":509,"author":{"gitId":"yiwen101"},"content":" \"credit-card-2-front\": \"\\f2da\","},{"lineNumber":510,"author":{"gitId":"yiwen101"},"content":" \"credit-card-fill\": \"\\f2db\","},{"lineNumber":511,"author":{"gitId":"yiwen101"},"content":" \"credit-card\": \"\\f2dc\","},{"lineNumber":512,"author":{"gitId":"yiwen101"},"content":" \"crop\": \"\\f2dd\","},{"lineNumber":513,"author":{"gitId":"yiwen101"},"content":" \"cup-fill\": \"\\f2de\","},{"lineNumber":514,"author":{"gitId":"yiwen101"},"content":" \"cup-straw\": \"\\f2df\","},{"lineNumber":515,"author":{"gitId":"yiwen101"},"content":" \"cup\": \"\\f2e0\","},{"lineNumber":516,"author":{"gitId":"yiwen101"},"content":" \"cursor-fill\": \"\\f2e1\","},{"lineNumber":517,"author":{"gitId":"yiwen101"},"content":" \"cursor-text\": \"\\f2e2\","},{"lineNumber":518,"author":{"gitId":"yiwen101"},"content":" \"cursor\": \"\\f2e3\","},{"lineNumber":519,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-dotted\": \"\\f2e4\","},{"lineNumber":520,"author":{"gitId":"yiwen101"},"content":" \"dash-circle-fill\": \"\\f2e5\","},{"lineNumber":521,"author":{"gitId":"yiwen101"},"content":" \"dash-circle\": \"\\f2e6\","},{"lineNumber":522,"author":{"gitId":"yiwen101"},"content":" \"dash-square-dotted\": \"\\f2e7\","},{"lineNumber":523,"author":{"gitId":"yiwen101"},"content":" \"dash-square-fill\": \"\\f2e8\","},{"lineNumber":524,"author":{"gitId":"yiwen101"},"content":" \"dash-square\": \"\\f2e9\","},{"lineNumber":525,"author":{"gitId":"yiwen101"},"content":" \"dash\": \"\\f2ea\","},{"lineNumber":526,"author":{"gitId":"yiwen101"},"content":" \"diagram-2-fill\": \"\\f2eb\","},{"lineNumber":527,"author":{"gitId":"yiwen101"},"content":" \"diagram-2\": \"\\f2ec\","},{"lineNumber":528,"author":{"gitId":"yiwen101"},"content":" \"diagram-3-fill\": \"\\f2ed\","},{"lineNumber":529,"author":{"gitId":"yiwen101"},"content":" \"diagram-3\": \"\\f2ee\","},{"lineNumber":530,"author":{"gitId":"yiwen101"},"content":" \"diamond-fill\": \"\\f2ef\","},{"lineNumber":531,"author":{"gitId":"yiwen101"},"content":" \"diamond-half\": \"\\f2f0\","},{"lineNumber":532,"author":{"gitId":"yiwen101"},"content":" \"diamond\": \"\\f2f1\","},{"lineNumber":533,"author":{"gitId":"yiwen101"},"content":" \"dice-1-fill\": \"\\f2f2\","},{"lineNumber":534,"author":{"gitId":"yiwen101"},"content":" \"dice-1\": \"\\f2f3\","},{"lineNumber":535,"author":{"gitId":"yiwen101"},"content":" \"dice-2-fill\": \"\\f2f4\","},{"lineNumber":536,"author":{"gitId":"yiwen101"},"content":" \"dice-2\": \"\\f2f5\","},{"lineNumber":537,"author":{"gitId":"yiwen101"},"content":" \"dice-3-fill\": \"\\f2f6\","},{"lineNumber":538,"author":{"gitId":"yiwen101"},"content":" \"dice-3\": \"\\f2f7\","},{"lineNumber":539,"author":{"gitId":"yiwen101"},"content":" \"dice-4-fill\": \"\\f2f8\","},{"lineNumber":540,"author":{"gitId":"yiwen101"},"content":" \"dice-4\": \"\\f2f9\","},{"lineNumber":541,"author":{"gitId":"yiwen101"},"content":" \"dice-5-fill\": \"\\f2fa\","},{"lineNumber":542,"author":{"gitId":"yiwen101"},"content":" \"dice-5\": \"\\f2fb\","},{"lineNumber":543,"author":{"gitId":"yiwen101"},"content":" \"dice-6-fill\": \"\\f2fc\","},{"lineNumber":544,"author":{"gitId":"yiwen101"},"content":" \"dice-6\": \"\\f2fd\","},{"lineNumber":545,"author":{"gitId":"yiwen101"},"content":" \"disc-fill\": \"\\f2fe\","},{"lineNumber":546,"author":{"gitId":"yiwen101"},"content":" \"disc\": \"\\f2ff\","},{"lineNumber":547,"author":{"gitId":"yiwen101"},"content":" \"discord\": \"\\f300\","},{"lineNumber":548,"author":{"gitId":"yiwen101"},"content":" \"display-fill\": \"\\f301\","},{"lineNumber":549,"author":{"gitId":"yiwen101"},"content":" \"display\": \"\\f302\","},{"lineNumber":550,"author":{"gitId":"yiwen101"},"content":" \"distribute-horizontal\": \"\\f303\","},{"lineNumber":551,"author":{"gitId":"yiwen101"},"content":" \"distribute-vertical\": \"\\f304\","},{"lineNumber":552,"author":{"gitId":"yiwen101"},"content":" \"door-closed-fill\": \"\\f305\","},{"lineNumber":553,"author":{"gitId":"yiwen101"},"content":" \"door-closed\": \"\\f306\","},{"lineNumber":554,"author":{"gitId":"yiwen101"},"content":" \"door-open-fill\": \"\\f307\","},{"lineNumber":555,"author":{"gitId":"yiwen101"},"content":" \"door-open\": \"\\f308\","},{"lineNumber":556,"author":{"gitId":"yiwen101"},"content":" \"dot\": \"\\f309\","},{"lineNumber":557,"author":{"gitId":"yiwen101"},"content":" \"download\": \"\\f30a\","},{"lineNumber":558,"author":{"gitId":"yiwen101"},"content":" \"droplet-fill\": \"\\f30b\","},{"lineNumber":559,"author":{"gitId":"yiwen101"},"content":" \"droplet-half\": \"\\f30c\","},{"lineNumber":560,"author":{"gitId":"yiwen101"},"content":" \"droplet\": \"\\f30d\","},{"lineNumber":561,"author":{"gitId":"yiwen101"},"content":" \"earbuds\": \"\\f30e\","},{"lineNumber":562,"author":{"gitId":"yiwen101"},"content":" \"easel-fill\": \"\\f30f\","},{"lineNumber":563,"author":{"gitId":"yiwen101"},"content":" \"easel\": \"\\f310\","},{"lineNumber":564,"author":{"gitId":"yiwen101"},"content":" \"egg-fill\": \"\\f311\","},{"lineNumber":565,"author":{"gitId":"yiwen101"},"content":" \"egg-fried\": \"\\f312\","},{"lineNumber":566,"author":{"gitId":"yiwen101"},"content":" \"egg\": \"\\f313\","},{"lineNumber":567,"author":{"gitId":"yiwen101"},"content":" \"eject-fill\": \"\\f314\","},{"lineNumber":568,"author":{"gitId":"yiwen101"},"content":" \"eject\": \"\\f315\","},{"lineNumber":569,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry-fill\": \"\\f316\","},{"lineNumber":570,"author":{"gitId":"yiwen101"},"content":" \"emoji-angry\": \"\\f317\","},{"lineNumber":571,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy-fill\": \"\\f318\","},{"lineNumber":572,"author":{"gitId":"yiwen101"},"content":" \"emoji-dizzy\": \"\\f319\","},{"lineNumber":573,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless-fill\": \"\\f31a\","},{"lineNumber":574,"author":{"gitId":"yiwen101"},"content":" \"emoji-expressionless\": \"\\f31b\","},{"lineNumber":575,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown-fill\": \"\\f31c\","},{"lineNumber":576,"author":{"gitId":"yiwen101"},"content":" \"emoji-frown\": \"\\f31d\","},{"lineNumber":577,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes-fill\": \"\\f31e\","},{"lineNumber":578,"author":{"gitId":"yiwen101"},"content":" \"emoji-heart-eyes\": \"\\f31f\","},{"lineNumber":579,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing-fill\": \"\\f320\","},{"lineNumber":580,"author":{"gitId":"yiwen101"},"content":" \"emoji-laughing\": \"\\f321\","},{"lineNumber":581,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral-fill\": \"\\f322\","},{"lineNumber":582,"author":{"gitId":"yiwen101"},"content":" \"emoji-neutral\": \"\\f323\","},{"lineNumber":583,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-fill\": \"\\f324\","},{"lineNumber":584,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down-fill\": \"\\f325\","},{"lineNumber":585,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile-upside-down\": \"\\f326\","},{"lineNumber":586,"author":{"gitId":"yiwen101"},"content":" \"emoji-smile\": \"\\f327\","},{"lineNumber":587,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses-fill\": \"\\f328\","},{"lineNumber":588,"author":{"gitId":"yiwen101"},"content":" \"emoji-sunglasses\": \"\\f329\","},{"lineNumber":589,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink-fill\": \"\\f32a\","},{"lineNumber":590,"author":{"gitId":"yiwen101"},"content":" \"emoji-wink\": \"\\f32b\","},{"lineNumber":591,"author":{"gitId":"yiwen101"},"content":" \"envelope-fill\": \"\\f32c\","},{"lineNumber":592,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-fill\": \"\\f32d\","},{"lineNumber":593,"author":{"gitId":"yiwen101"},"content":" \"envelope-open\": \"\\f32e\","},{"lineNumber":594,"author":{"gitId":"yiwen101"},"content":" \"envelope\": \"\\f32f\","},{"lineNumber":595,"author":{"gitId":"yiwen101"},"content":" \"eraser-fill\": \"\\f330\","},{"lineNumber":596,"author":{"gitId":"yiwen101"},"content":" \"eraser\": \"\\f331\","},{"lineNumber":597,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle-fill\": \"\\f332\","},{"lineNumber":598,"author":{"gitId":"yiwen101"},"content":" \"exclamation-circle\": \"\\f333\","},{"lineNumber":599,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond-fill\": \"\\f334\","},{"lineNumber":600,"author":{"gitId":"yiwen101"},"content":" \"exclamation-diamond\": \"\\f335\","},{"lineNumber":601,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon-fill\": \"\\f336\","},{"lineNumber":602,"author":{"gitId":"yiwen101"},"content":" \"exclamation-octagon\": \"\\f337\","},{"lineNumber":603,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square-fill\": \"\\f338\","},{"lineNumber":604,"author":{"gitId":"yiwen101"},"content":" \"exclamation-square\": \"\\f339\","},{"lineNumber":605,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle-fill\": \"\\f33a\","},{"lineNumber":606,"author":{"gitId":"yiwen101"},"content":" \"exclamation-triangle\": \"\\f33b\","},{"lineNumber":607,"author":{"gitId":"yiwen101"},"content":" \"exclamation\": \"\\f33c\","},{"lineNumber":608,"author":{"gitId":"yiwen101"},"content":" \"exclude\": \"\\f33d\","},{"lineNumber":609,"author":{"gitId":"yiwen101"},"content":" \"eye-fill\": \"\\f33e\","},{"lineNumber":610,"author":{"gitId":"yiwen101"},"content":" \"eye-slash-fill\": \"\\f33f\","},{"lineNumber":611,"author":{"gitId":"yiwen101"},"content":" \"eye-slash\": \"\\f340\","},{"lineNumber":612,"author":{"gitId":"yiwen101"},"content":" \"eye\": \"\\f341\","},{"lineNumber":613,"author":{"gitId":"yiwen101"},"content":" \"eyedropper\": \"\\f342\","},{"lineNumber":614,"author":{"gitId":"yiwen101"},"content":" \"eyeglasses\": \"\\f343\","},{"lineNumber":615,"author":{"gitId":"yiwen101"},"content":" \"facebook\": \"\\f344\","},{"lineNumber":616,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down-fill\": \"\\f345\","},{"lineNumber":617,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-down\": \"\\f346\","},{"lineNumber":618,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up-fill\": \"\\f347\","},{"lineNumber":619,"author":{"gitId":"yiwen101"},"content":" \"file-arrow-up\": \"\\f348\","},{"lineNumber":620,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph-fill\": \"\\f349\","},{"lineNumber":621,"author":{"gitId":"yiwen101"},"content":" \"file-bar-graph\": \"\\f34a\","},{"lineNumber":622,"author":{"gitId":"yiwen101"},"content":" \"file-binary-fill\": \"\\f34b\","},{"lineNumber":623,"author":{"gitId":"yiwen101"},"content":" \"file-binary\": \"\\f34c\","},{"lineNumber":624,"author":{"gitId":"yiwen101"},"content":" \"file-break-fill\": \"\\f34d\","},{"lineNumber":625,"author":{"gitId":"yiwen101"},"content":" \"file-break\": \"\\f34e\","},{"lineNumber":626,"author":{"gitId":"yiwen101"},"content":" \"file-check-fill\": \"\\f34f\","},{"lineNumber":627,"author":{"gitId":"yiwen101"},"content":" \"file-check\": \"\\f350\","},{"lineNumber":628,"author":{"gitId":"yiwen101"},"content":" \"file-code-fill\": \"\\f351\","},{"lineNumber":629,"author":{"gitId":"yiwen101"},"content":" \"file-code\": \"\\f352\","},{"lineNumber":630,"author":{"gitId":"yiwen101"},"content":" \"file-diff-fill\": \"\\f353\","},{"lineNumber":631,"author":{"gitId":"yiwen101"},"content":" \"file-diff\": \"\\f354\","},{"lineNumber":632,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down-fill\": \"\\f355\","},{"lineNumber":633,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-down\": \"\\f356\","},{"lineNumber":634,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up-fill\": \"\\f357\","},{"lineNumber":635,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-arrow-up\": \"\\f358\","},{"lineNumber":636,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph-fill\": \"\\f359\","},{"lineNumber":637,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-bar-graph\": \"\\f35a\","},{"lineNumber":638,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary-fill\": \"\\f35b\","},{"lineNumber":639,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-binary\": \"\\f35c\","},{"lineNumber":640,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break-fill\": \"\\f35d\","},{"lineNumber":641,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-break\": \"\\f35e\","},{"lineNumber":642,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check-fill\": \"\\f35f\","},{"lineNumber":643,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-check\": \"\\f360\","},{"lineNumber":644,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code-fill\": \"\\f361\","},{"lineNumber":645,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-code\": \"\\f362\","},{"lineNumber":646,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff-fill\": \"\\f363\","},{"lineNumber":647,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-diff\": \"\\f364\","},{"lineNumber":648,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel-fill\": \"\\f365\","},{"lineNumber":649,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-easel\": \"\\f366\","},{"lineNumber":650,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel-fill\": \"\\f367\","},{"lineNumber":651,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-excel\": \"\\f368\","},{"lineNumber":652,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-fill\": \"\\f369\","},{"lineNumber":653,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font-fill\": \"\\f36a\","},{"lineNumber":654,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-font\": \"\\f36b\","},{"lineNumber":655,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image-fill\": \"\\f36c\","},{"lineNumber":656,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-image\": \"\\f36d\","},{"lineNumber":657,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock-fill\": \"\\f36e\","},{"lineNumber":658,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock\": \"\\f36f\","},{"lineNumber":659,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2-fill\": \"\\f370\","},{"lineNumber":660,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-lock2\": \"\\f371\","},{"lineNumber":661,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical-fill\": \"\\f372\","},{"lineNumber":662,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-medical\": \"\\f373\","},{"lineNumber":663,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus-fill\": \"\\f374\","},{"lineNumber":664,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-minus\": \"\\f375\","},{"lineNumber":665,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music-fill\": \"\\f376\","},{"lineNumber":666,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-music\": \"\\f377\","},{"lineNumber":667,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person-fill\": \"\\f378\","},{"lineNumber":668,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-person\": \"\\f379\","},{"lineNumber":669,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play-fill\": \"\\f37a\","},{"lineNumber":670,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-play\": \"\\f37b\","},{"lineNumber":671,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus-fill\": \"\\f37c\","},{"lineNumber":672,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-plus\": \"\\f37d\","},{"lineNumber":673,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post-fill\": \"\\f37e\","},{"lineNumber":674,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-post\": \"\\f37f\","},{"lineNumber":675,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt-fill\": \"\\f380\","},{"lineNumber":676,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ppt\": \"\\f381\","},{"lineNumber":677,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext-fill\": \"\\f382\","},{"lineNumber":678,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-richtext\": \"\\f383\","},{"lineNumber":679,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled-fill\": \"\\f384\","},{"lineNumber":680,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-ruled\": \"\\f385\","},{"lineNumber":681,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides-fill\": \"\\f386\","},{"lineNumber":682,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-slides\": \"\\f387\","},{"lineNumber":683,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet-fill\": \"\\f388\","},{"lineNumber":684,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-spreadsheet\": \"\\f389\","},{"lineNumber":685,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text-fill\": \"\\f38a\","},{"lineNumber":686,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-text\": \"\\f38b\","},{"lineNumber":687,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word-fill\": \"\\f38c\","},{"lineNumber":688,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-word\": \"\\f38d\","},{"lineNumber":689,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x-fill\": \"\\f38e\","},{"lineNumber":690,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-x\": \"\\f38f\","},{"lineNumber":691,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip-fill\": \"\\f390\","},{"lineNumber":692,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-zip\": \"\\f391\","},{"lineNumber":693,"author":{"gitId":"yiwen101"},"content":" \"file-earmark\": \"\\f392\","},{"lineNumber":694,"author":{"gitId":"yiwen101"},"content":" \"file-easel-fill\": \"\\f393\","},{"lineNumber":695,"author":{"gitId":"yiwen101"},"content":" \"file-easel\": \"\\f394\","},{"lineNumber":696,"author":{"gitId":"yiwen101"},"content":" \"file-excel-fill\": \"\\f395\","},{"lineNumber":697,"author":{"gitId":"yiwen101"},"content":" \"file-excel\": \"\\f396\","},{"lineNumber":698,"author":{"gitId":"yiwen101"},"content":" \"file-fill\": \"\\f397\","},{"lineNumber":699,"author":{"gitId":"yiwen101"},"content":" \"file-font-fill\": \"\\f398\","},{"lineNumber":700,"author":{"gitId":"yiwen101"},"content":" \"file-font\": \"\\f399\","},{"lineNumber":701,"author":{"gitId":"yiwen101"},"content":" \"file-image-fill\": \"\\f39a\","},{"lineNumber":702,"author":{"gitId":"yiwen101"},"content":" \"file-image\": \"\\f39b\","},{"lineNumber":703,"author":{"gitId":"yiwen101"},"content":" \"file-lock-fill\": \"\\f39c\","},{"lineNumber":704,"author":{"gitId":"yiwen101"},"content":" \"file-lock\": \"\\f39d\","},{"lineNumber":705,"author":{"gitId":"yiwen101"},"content":" \"file-lock2-fill\": \"\\f39e\","},{"lineNumber":706,"author":{"gitId":"yiwen101"},"content":" \"file-lock2\": \"\\f39f\","},{"lineNumber":707,"author":{"gitId":"yiwen101"},"content":" \"file-medical-fill\": \"\\f3a0\","},{"lineNumber":708,"author":{"gitId":"yiwen101"},"content":" \"file-medical\": \"\\f3a1\","},{"lineNumber":709,"author":{"gitId":"yiwen101"},"content":" \"file-minus-fill\": \"\\f3a2\","},{"lineNumber":710,"author":{"gitId":"yiwen101"},"content":" \"file-minus\": \"\\f3a3\","},{"lineNumber":711,"author":{"gitId":"yiwen101"},"content":" \"file-music-fill\": \"\\f3a4\","},{"lineNumber":712,"author":{"gitId":"yiwen101"},"content":" \"file-music\": \"\\f3a5\","},{"lineNumber":713,"author":{"gitId":"yiwen101"},"content":" \"file-person-fill\": \"\\f3a6\","},{"lineNumber":714,"author":{"gitId":"yiwen101"},"content":" \"file-person\": \"\\f3a7\","},{"lineNumber":715,"author":{"gitId":"yiwen101"},"content":" \"file-play-fill\": \"\\f3a8\","},{"lineNumber":716,"author":{"gitId":"yiwen101"},"content":" \"file-play\": \"\\f3a9\","},{"lineNumber":717,"author":{"gitId":"yiwen101"},"content":" \"file-plus-fill\": \"\\f3aa\","},{"lineNumber":718,"author":{"gitId":"yiwen101"},"content":" \"file-plus\": \"\\f3ab\","},{"lineNumber":719,"author":{"gitId":"yiwen101"},"content":" \"file-post-fill\": \"\\f3ac\","},{"lineNumber":720,"author":{"gitId":"yiwen101"},"content":" \"file-post\": \"\\f3ad\","},{"lineNumber":721,"author":{"gitId":"yiwen101"},"content":" \"file-ppt-fill\": \"\\f3ae\","},{"lineNumber":722,"author":{"gitId":"yiwen101"},"content":" \"file-ppt\": \"\\f3af\","},{"lineNumber":723,"author":{"gitId":"yiwen101"},"content":" \"file-richtext-fill\": \"\\f3b0\","},{"lineNumber":724,"author":{"gitId":"yiwen101"},"content":" \"file-richtext\": \"\\f3b1\","},{"lineNumber":725,"author":{"gitId":"yiwen101"},"content":" \"file-ruled-fill\": \"\\f3b2\","},{"lineNumber":726,"author":{"gitId":"yiwen101"},"content":" \"file-ruled\": \"\\f3b3\","},{"lineNumber":727,"author":{"gitId":"yiwen101"},"content":" \"file-slides-fill\": \"\\f3b4\","},{"lineNumber":728,"author":{"gitId":"yiwen101"},"content":" \"file-slides\": \"\\f3b5\","},{"lineNumber":729,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet-fill\": \"\\f3b6\","},{"lineNumber":730,"author":{"gitId":"yiwen101"},"content":" \"file-spreadsheet\": \"\\f3b7\","},{"lineNumber":731,"author":{"gitId":"yiwen101"},"content":" \"file-text-fill\": \"\\f3b8\","},{"lineNumber":732,"author":{"gitId":"yiwen101"},"content":" \"file-text\": \"\\f3b9\","},{"lineNumber":733,"author":{"gitId":"yiwen101"},"content":" \"file-word-fill\": \"\\f3ba\","},{"lineNumber":734,"author":{"gitId":"yiwen101"},"content":" \"file-word\": \"\\f3bb\","},{"lineNumber":735,"author":{"gitId":"yiwen101"},"content":" \"file-x-fill\": \"\\f3bc\","},{"lineNumber":736,"author":{"gitId":"yiwen101"},"content":" \"file-x\": \"\\f3bd\","},{"lineNumber":737,"author":{"gitId":"yiwen101"},"content":" \"file-zip-fill\": \"\\f3be\","},{"lineNumber":738,"author":{"gitId":"yiwen101"},"content":" \"file-zip\": \"\\f3bf\","},{"lineNumber":739,"author":{"gitId":"yiwen101"},"content":" \"file\": \"\\f3c0\","},{"lineNumber":740,"author":{"gitId":"yiwen101"},"content":" \"files-alt\": \"\\f3c1\","},{"lineNumber":741,"author":{"gitId":"yiwen101"},"content":" \"files\": \"\\f3c2\","},{"lineNumber":742,"author":{"gitId":"yiwen101"},"content":" \"film\": \"\\f3c3\","},{"lineNumber":743,"author":{"gitId":"yiwen101"},"content":" \"filter-circle-fill\": \"\\f3c4\","},{"lineNumber":744,"author":{"gitId":"yiwen101"},"content":" \"filter-circle\": \"\\f3c5\","},{"lineNumber":745,"author":{"gitId":"yiwen101"},"content":" \"filter-left\": \"\\f3c6\","},{"lineNumber":746,"author":{"gitId":"yiwen101"},"content":" \"filter-right\": \"\\f3c7\","},{"lineNumber":747,"author":{"gitId":"yiwen101"},"content":" \"filter-square-fill\": \"\\f3c8\","},{"lineNumber":748,"author":{"gitId":"yiwen101"},"content":" \"filter-square\": \"\\f3c9\","},{"lineNumber":749,"author":{"gitId":"yiwen101"},"content":" \"filter\": \"\\f3ca\","},{"lineNumber":750,"author":{"gitId":"yiwen101"},"content":" \"flag-fill\": \"\\f3cb\","},{"lineNumber":751,"author":{"gitId":"yiwen101"},"content":" \"flag\": \"\\f3cc\","},{"lineNumber":752,"author":{"gitId":"yiwen101"},"content":" \"flower1\": \"\\f3cd\","},{"lineNumber":753,"author":{"gitId":"yiwen101"},"content":" \"flower2\": \"\\f3ce\","},{"lineNumber":754,"author":{"gitId":"yiwen101"},"content":" \"flower3\": \"\\f3cf\","},{"lineNumber":755,"author":{"gitId":"yiwen101"},"content":" \"folder-check\": \"\\f3d0\","},{"lineNumber":756,"author":{"gitId":"yiwen101"},"content":" \"folder-fill\": \"\\f3d1\","},{"lineNumber":757,"author":{"gitId":"yiwen101"},"content":" \"folder-minus\": \"\\f3d2\","},{"lineNumber":758,"author":{"gitId":"yiwen101"},"content":" \"folder-plus\": \"\\f3d3\","},{"lineNumber":759,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink-fill\": \"\\f3d4\","},{"lineNumber":760,"author":{"gitId":"yiwen101"},"content":" \"folder-symlink\": \"\\f3d5\","},{"lineNumber":761,"author":{"gitId":"yiwen101"},"content":" \"folder-x\": \"\\f3d6\","},{"lineNumber":762,"author":{"gitId":"yiwen101"},"content":" \"folder\": \"\\f3d7\","},{"lineNumber":763,"author":{"gitId":"yiwen101"},"content":" \"folder2-open\": \"\\f3d8\","},{"lineNumber":764,"author":{"gitId":"yiwen101"},"content":" \"folder2\": \"\\f3d9\","},{"lineNumber":765,"author":{"gitId":"yiwen101"},"content":" \"fonts\": \"\\f3da\","},{"lineNumber":766,"author":{"gitId":"yiwen101"},"content":" \"forward-fill\": \"\\f3db\","},{"lineNumber":767,"author":{"gitId":"yiwen101"},"content":" \"forward\": \"\\f3dc\","},{"lineNumber":768,"author":{"gitId":"yiwen101"},"content":" \"front\": \"\\f3dd\","},{"lineNumber":769,"author":{"gitId":"yiwen101"},"content":" \"fullscreen-exit\": \"\\f3de\","},{"lineNumber":770,"author":{"gitId":"yiwen101"},"content":" \"fullscreen\": \"\\f3df\","},{"lineNumber":771,"author":{"gitId":"yiwen101"},"content":" \"funnel-fill\": \"\\f3e0\","},{"lineNumber":772,"author":{"gitId":"yiwen101"},"content":" \"funnel\": \"\\f3e1\","},{"lineNumber":773,"author":{"gitId":"yiwen101"},"content":" \"gear-fill\": \"\\f3e2\","},{"lineNumber":774,"author":{"gitId":"yiwen101"},"content":" \"gear-wide-connected\": \"\\f3e3\","},{"lineNumber":775,"author":{"gitId":"yiwen101"},"content":" \"gear-wide\": \"\\f3e4\","},{"lineNumber":776,"author":{"gitId":"yiwen101"},"content":" \"gear\": \"\\f3e5\","},{"lineNumber":777,"author":{"gitId":"yiwen101"},"content":" \"gem\": \"\\f3e6\","},{"lineNumber":778,"author":{"gitId":"yiwen101"},"content":" \"geo-alt-fill\": \"\\f3e7\","},{"lineNumber":779,"author":{"gitId":"yiwen101"},"content":" \"geo-alt\": \"\\f3e8\","},{"lineNumber":780,"author":{"gitId":"yiwen101"},"content":" \"geo-fill\": \"\\f3e9\","},{"lineNumber":781,"author":{"gitId":"yiwen101"},"content":" \"geo\": \"\\f3ea\","},{"lineNumber":782,"author":{"gitId":"yiwen101"},"content":" \"gift-fill\": \"\\f3eb\","},{"lineNumber":783,"author":{"gitId":"yiwen101"},"content":" \"gift\": \"\\f3ec\","},{"lineNumber":784,"author":{"gitId":"yiwen101"},"content":" \"github\": \"\\f3ed\","},{"lineNumber":785,"author":{"gitId":"yiwen101"},"content":" \"globe\": \"\\f3ee\","},{"lineNumber":786,"author":{"gitId":"yiwen101"},"content":" \"globe2\": \"\\f3ef\","},{"lineNumber":787,"author":{"gitId":"yiwen101"},"content":" \"google\": \"\\f3f0\","},{"lineNumber":788,"author":{"gitId":"yiwen101"},"content":" \"graph-down\": \"\\f3f1\","},{"lineNumber":789,"author":{"gitId":"yiwen101"},"content":" \"graph-up\": \"\\f3f2\","},{"lineNumber":790,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2-fill\": \"\\f3f3\","},{"lineNumber":791,"author":{"gitId":"yiwen101"},"content":" \"grid-1x2\": \"\\f3f4\","},{"lineNumber":792,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap-fill\": \"\\f3f5\","},{"lineNumber":793,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2-gap\": \"\\f3f6\","},{"lineNumber":794,"author":{"gitId":"yiwen101"},"content":" \"grid-3x2\": \"\\f3f7\","},{"lineNumber":795,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap-fill\": \"\\f3f8\","},{"lineNumber":796,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3-gap\": \"\\f3f9\","},{"lineNumber":797,"author":{"gitId":"yiwen101"},"content":" \"grid-3x3\": \"\\f3fa\","},{"lineNumber":798,"author":{"gitId":"yiwen101"},"content":" \"grid-fill\": \"\\f3fb\","},{"lineNumber":799,"author":{"gitId":"yiwen101"},"content":" \"grid\": \"\\f3fc\","},{"lineNumber":800,"author":{"gitId":"yiwen101"},"content":" \"grip-horizontal\": \"\\f3fd\","},{"lineNumber":801,"author":{"gitId":"yiwen101"},"content":" \"grip-vertical\": \"\\f3fe\","},{"lineNumber":802,"author":{"gitId":"yiwen101"},"content":" \"hammer\": \"\\f3ff\","},{"lineNumber":803,"author":{"gitId":"yiwen101"},"content":" \"hand-index-fill\": \"\\f400\","},{"lineNumber":804,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb-fill\": \"\\f401\","},{"lineNumber":805,"author":{"gitId":"yiwen101"},"content":" \"hand-index-thumb\": \"\\f402\","},{"lineNumber":806,"author":{"gitId":"yiwen101"},"content":" \"hand-index\": \"\\f403\","},{"lineNumber":807,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down-fill\": \"\\f404\","},{"lineNumber":808,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-down\": \"\\f405\","},{"lineNumber":809,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up-fill\": \"\\f406\","},{"lineNumber":810,"author":{"gitId":"yiwen101"},"content":" \"hand-thumbs-up\": \"\\f407\","},{"lineNumber":811,"author":{"gitId":"yiwen101"},"content":" \"handbag-fill\": \"\\f408\","},{"lineNumber":812,"author":{"gitId":"yiwen101"},"content":" \"handbag\": \"\\f409\","},{"lineNumber":813,"author":{"gitId":"yiwen101"},"content":" \"hash\": \"\\f40a\","},{"lineNumber":814,"author":{"gitId":"yiwen101"},"content":" \"hdd-fill\": \"\\f40b\","},{"lineNumber":815,"author":{"gitId":"yiwen101"},"content":" \"hdd-network-fill\": \"\\f40c\","},{"lineNumber":816,"author":{"gitId":"yiwen101"},"content":" \"hdd-network\": \"\\f40d\","},{"lineNumber":817,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack-fill\": \"\\f40e\","},{"lineNumber":818,"author":{"gitId":"yiwen101"},"content":" \"hdd-rack\": \"\\f40f\","},{"lineNumber":819,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack-fill\": \"\\f410\","},{"lineNumber":820,"author":{"gitId":"yiwen101"},"content":" \"hdd-stack\": \"\\f411\","},{"lineNumber":821,"author":{"gitId":"yiwen101"},"content":" \"hdd\": \"\\f412\","},{"lineNumber":822,"author":{"gitId":"yiwen101"},"content":" \"headphones\": \"\\f413\","},{"lineNumber":823,"author":{"gitId":"yiwen101"},"content":" \"headset\": \"\\f414\","},{"lineNumber":824,"author":{"gitId":"yiwen101"},"content":" \"heart-fill\": \"\\f415\","},{"lineNumber":825,"author":{"gitId":"yiwen101"},"content":" \"heart-half\": \"\\f416\","},{"lineNumber":826,"author":{"gitId":"yiwen101"},"content":" \"heart\": \"\\f417\","},{"lineNumber":827,"author":{"gitId":"yiwen101"},"content":" \"heptagon-fill\": \"\\f418\","},{"lineNumber":828,"author":{"gitId":"yiwen101"},"content":" \"heptagon-half\": \"\\f419\","},{"lineNumber":829,"author":{"gitId":"yiwen101"},"content":" \"heptagon\": \"\\f41a\","},{"lineNumber":830,"author":{"gitId":"yiwen101"},"content":" \"hexagon-fill\": \"\\f41b\","},{"lineNumber":831,"author":{"gitId":"yiwen101"},"content":" \"hexagon-half\": \"\\f41c\","},{"lineNumber":832,"author":{"gitId":"yiwen101"},"content":" \"hexagon\": \"\\f41d\","},{"lineNumber":833,"author":{"gitId":"yiwen101"},"content":" \"hourglass-bottom\": \"\\f41e\","},{"lineNumber":834,"author":{"gitId":"yiwen101"},"content":" \"hourglass-split\": \"\\f41f\","},{"lineNumber":835,"author":{"gitId":"yiwen101"},"content":" \"hourglass-top\": \"\\f420\","},{"lineNumber":836,"author":{"gitId":"yiwen101"},"content":" \"hourglass\": \"\\f421\","},{"lineNumber":837,"author":{"gitId":"yiwen101"},"content":" \"house-door-fill\": \"\\f422\","},{"lineNumber":838,"author":{"gitId":"yiwen101"},"content":" \"house-door\": \"\\f423\","},{"lineNumber":839,"author":{"gitId":"yiwen101"},"content":" \"house-fill\": \"\\f424\","},{"lineNumber":840,"author":{"gitId":"yiwen101"},"content":" \"house\": \"\\f425\","},{"lineNumber":841,"author":{"gitId":"yiwen101"},"content":" \"hr\": \"\\f426\","},{"lineNumber":842,"author":{"gitId":"yiwen101"},"content":" \"hurricane\": \"\\f427\","},{"lineNumber":843,"author":{"gitId":"yiwen101"},"content":" \"image-alt\": \"\\f428\","},{"lineNumber":844,"author":{"gitId":"yiwen101"},"content":" \"image-fill\": \"\\f429\","},{"lineNumber":845,"author":{"gitId":"yiwen101"},"content":" \"image\": \"\\f42a\","},{"lineNumber":846,"author":{"gitId":"yiwen101"},"content":" \"images\": \"\\f42b\","},{"lineNumber":847,"author":{"gitId":"yiwen101"},"content":" \"inbox-fill\": \"\\f42c\","},{"lineNumber":848,"author":{"gitId":"yiwen101"},"content":" \"inbox\": \"\\f42d\","},{"lineNumber":849,"author":{"gitId":"yiwen101"},"content":" \"inboxes-fill\": \"\\f42e\","},{"lineNumber":850,"author":{"gitId":"yiwen101"},"content":" \"inboxes\": \"\\f42f\","},{"lineNumber":851,"author":{"gitId":"yiwen101"},"content":" \"info-circle-fill\": \"\\f430\","},{"lineNumber":852,"author":{"gitId":"yiwen101"},"content":" \"info-circle\": \"\\f431\","},{"lineNumber":853,"author":{"gitId":"yiwen101"},"content":" \"info-square-fill\": \"\\f432\","},{"lineNumber":854,"author":{"gitId":"yiwen101"},"content":" \"info-square\": \"\\f433\","},{"lineNumber":855,"author":{"gitId":"yiwen101"},"content":" \"info\": \"\\f434\","},{"lineNumber":856,"author":{"gitId":"yiwen101"},"content":" \"input-cursor-text\": \"\\f435\","},{"lineNumber":857,"author":{"gitId":"yiwen101"},"content":" \"input-cursor\": \"\\f436\","},{"lineNumber":858,"author":{"gitId":"yiwen101"},"content":" \"instagram\": \"\\f437\","},{"lineNumber":859,"author":{"gitId":"yiwen101"},"content":" \"intersect\": \"\\f438\","},{"lineNumber":860,"author":{"gitId":"yiwen101"},"content":" \"journal-album\": \"\\f439\","},{"lineNumber":861,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-down\": \"\\f43a\","},{"lineNumber":862,"author":{"gitId":"yiwen101"},"content":" \"journal-arrow-up\": \"\\f43b\","},{"lineNumber":863,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark-fill\": \"\\f43c\","},{"lineNumber":864,"author":{"gitId":"yiwen101"},"content":" \"journal-bookmark\": \"\\f43d\","},{"lineNumber":865,"author":{"gitId":"yiwen101"},"content":" \"journal-check\": \"\\f43e\","},{"lineNumber":866,"author":{"gitId":"yiwen101"},"content":" \"journal-code\": \"\\f43f\","},{"lineNumber":867,"author":{"gitId":"yiwen101"},"content":" \"journal-medical\": \"\\f440\","},{"lineNumber":868,"author":{"gitId":"yiwen101"},"content":" \"journal-minus\": \"\\f441\","},{"lineNumber":869,"author":{"gitId":"yiwen101"},"content":" \"journal-plus\": \"\\f442\","},{"lineNumber":870,"author":{"gitId":"yiwen101"},"content":" \"journal-richtext\": \"\\f443\","},{"lineNumber":871,"author":{"gitId":"yiwen101"},"content":" \"journal-text\": \"\\f444\","},{"lineNumber":872,"author":{"gitId":"yiwen101"},"content":" \"journal-x\": \"\\f445\","},{"lineNumber":873,"author":{"gitId":"yiwen101"},"content":" \"journal\": \"\\f446\","},{"lineNumber":874,"author":{"gitId":"yiwen101"},"content":" \"journals\": \"\\f447\","},{"lineNumber":875,"author":{"gitId":"yiwen101"},"content":" \"joystick\": \"\\f448\","},{"lineNumber":876,"author":{"gitId":"yiwen101"},"content":" \"justify-left\": \"\\f449\","},{"lineNumber":877,"author":{"gitId":"yiwen101"},"content":" \"justify-right\": \"\\f44a\","},{"lineNumber":878,"author":{"gitId":"yiwen101"},"content":" \"justify\": \"\\f44b\","},{"lineNumber":879,"author":{"gitId":"yiwen101"},"content":" \"kanban-fill\": \"\\f44c\","},{"lineNumber":880,"author":{"gitId":"yiwen101"},"content":" \"kanban\": \"\\f44d\","},{"lineNumber":881,"author":{"gitId":"yiwen101"},"content":" \"key-fill\": \"\\f44e\","},{"lineNumber":882,"author":{"gitId":"yiwen101"},"content":" \"key\": \"\\f44f\","},{"lineNumber":883,"author":{"gitId":"yiwen101"},"content":" \"keyboard-fill\": \"\\f450\","},{"lineNumber":884,"author":{"gitId":"yiwen101"},"content":" \"keyboard\": \"\\f451\","},{"lineNumber":885,"author":{"gitId":"yiwen101"},"content":" \"ladder\": \"\\f452\","},{"lineNumber":886,"author":{"gitId":"yiwen101"},"content":" \"lamp-fill\": \"\\f453\","},{"lineNumber":887,"author":{"gitId":"yiwen101"},"content":" \"lamp\": \"\\f454\","},{"lineNumber":888,"author":{"gitId":"yiwen101"},"content":" \"laptop-fill\": \"\\f455\","},{"lineNumber":889,"author":{"gitId":"yiwen101"},"content":" \"laptop\": \"\\f456\","},{"lineNumber":890,"author":{"gitId":"yiwen101"},"content":" \"layer-backward\": \"\\f457\","},{"lineNumber":891,"author":{"gitId":"yiwen101"},"content":" \"layer-forward\": \"\\f458\","},{"lineNumber":892,"author":{"gitId":"yiwen101"},"content":" \"layers-fill\": \"\\f459\","},{"lineNumber":893,"author":{"gitId":"yiwen101"},"content":" \"layers-half\": \"\\f45a\","},{"lineNumber":894,"author":{"gitId":"yiwen101"},"content":" \"layers\": \"\\f45b\","},{"lineNumber":895,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset-reverse\": \"\\f45c\","},{"lineNumber":896,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-inset\": \"\\f45d\","},{"lineNumber":897,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar-reverse\": \"\\f45e\","},{"lineNumber":898,"author":{"gitId":"yiwen101"},"content":" \"layout-sidebar\": \"\\f45f\","},{"lineNumber":899,"author":{"gitId":"yiwen101"},"content":" \"layout-split\": \"\\f460\","},{"lineNumber":900,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar-reverse\": \"\\f461\","},{"lineNumber":901,"author":{"gitId":"yiwen101"},"content":" \"layout-text-sidebar\": \"\\f462\","},{"lineNumber":902,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window-reverse\": \"\\f463\","},{"lineNumber":903,"author":{"gitId":"yiwen101"},"content":" \"layout-text-window\": \"\\f464\","},{"lineNumber":904,"author":{"gitId":"yiwen101"},"content":" \"layout-three-columns\": \"\\f465\","},{"lineNumber":905,"author":{"gitId":"yiwen101"},"content":" \"layout-wtf\": \"\\f466\","},{"lineNumber":906,"author":{"gitId":"yiwen101"},"content":" \"life-preserver\": \"\\f467\","},{"lineNumber":907,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-fill\": \"\\f468\","},{"lineNumber":908,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off-fill\": \"\\f469\","},{"lineNumber":909,"author":{"gitId":"yiwen101"},"content":" \"lightbulb-off\": \"\\f46a\","},{"lineNumber":910,"author":{"gitId":"yiwen101"},"content":" \"lightbulb\": \"\\f46b\","},{"lineNumber":911,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge-fill\": \"\\f46c\","},{"lineNumber":912,"author":{"gitId":"yiwen101"},"content":" \"lightning-charge\": \"\\f46d\","},{"lineNumber":913,"author":{"gitId":"yiwen101"},"content":" \"lightning-fill\": \"\\f46e\","},{"lineNumber":914,"author":{"gitId":"yiwen101"},"content":" \"lightning\": \"\\f46f\","},{"lineNumber":915,"author":{"gitId":"yiwen101"},"content":" \"link-45deg\": \"\\f470\","},{"lineNumber":916,"author":{"gitId":"yiwen101"},"content":" \"link\": \"\\f471\","},{"lineNumber":917,"author":{"gitId":"yiwen101"},"content":" \"linkedin\": \"\\f472\","},{"lineNumber":918,"author":{"gitId":"yiwen101"},"content":" \"list-check\": \"\\f473\","},{"lineNumber":919,"author":{"gitId":"yiwen101"},"content":" \"list-nested\": \"\\f474\","},{"lineNumber":920,"author":{"gitId":"yiwen101"},"content":" \"list-ol\": \"\\f475\","},{"lineNumber":921,"author":{"gitId":"yiwen101"},"content":" \"list-stars\": \"\\f476\","},{"lineNumber":922,"author":{"gitId":"yiwen101"},"content":" \"list-task\": \"\\f477\","},{"lineNumber":923,"author":{"gitId":"yiwen101"},"content":" \"list-ul\": \"\\f478\","},{"lineNumber":924,"author":{"gitId":"yiwen101"},"content":" \"list\": \"\\f479\","},{"lineNumber":925,"author":{"gitId":"yiwen101"},"content":" \"lock-fill\": \"\\f47a\","},{"lineNumber":926,"author":{"gitId":"yiwen101"},"content":" \"lock\": \"\\f47b\","},{"lineNumber":927,"author":{"gitId":"yiwen101"},"content":" \"mailbox\": \"\\f47c\","},{"lineNumber":928,"author":{"gitId":"yiwen101"},"content":" \"mailbox2\": \"\\f47d\","},{"lineNumber":929,"author":{"gitId":"yiwen101"},"content":" \"map-fill\": \"\\f47e\","},{"lineNumber":930,"author":{"gitId":"yiwen101"},"content":" \"map\": \"\\f47f\","},{"lineNumber":931,"author":{"gitId":"yiwen101"},"content":" \"markdown-fill\": \"\\f480\","},{"lineNumber":932,"author":{"gitId":"yiwen101"},"content":" \"markdown\": \"\\f481\","},{"lineNumber":933,"author":{"gitId":"yiwen101"},"content":" \"mask\": \"\\f482\","},{"lineNumber":934,"author":{"gitId":"yiwen101"},"content":" \"megaphone-fill\": \"\\f483\","},{"lineNumber":935,"author":{"gitId":"yiwen101"},"content":" \"megaphone\": \"\\f484\","},{"lineNumber":936,"author":{"gitId":"yiwen101"},"content":" \"menu-app-fill\": \"\\f485\","},{"lineNumber":937,"author":{"gitId":"yiwen101"},"content":" \"menu-app\": \"\\f486\","},{"lineNumber":938,"author":{"gitId":"yiwen101"},"content":" \"menu-button-fill\": \"\\f487\","},{"lineNumber":939,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide-fill\": \"\\f488\","},{"lineNumber":940,"author":{"gitId":"yiwen101"},"content":" \"menu-button-wide\": \"\\f489\","},{"lineNumber":941,"author":{"gitId":"yiwen101"},"content":" \"menu-button\": \"\\f48a\","},{"lineNumber":942,"author":{"gitId":"yiwen101"},"content":" \"menu-down\": \"\\f48b\","},{"lineNumber":943,"author":{"gitId":"yiwen101"},"content":" \"menu-up\": \"\\f48c\","},{"lineNumber":944,"author":{"gitId":"yiwen101"},"content":" \"mic-fill\": \"\\f48d\","},{"lineNumber":945,"author":{"gitId":"yiwen101"},"content":" \"mic-mute-fill\": \"\\f48e\","},{"lineNumber":946,"author":{"gitId":"yiwen101"},"content":" \"mic-mute\": \"\\f48f\","},{"lineNumber":947,"author":{"gitId":"yiwen101"},"content":" \"mic\": \"\\f490\","},{"lineNumber":948,"author":{"gitId":"yiwen101"},"content":" \"minecart-loaded\": \"\\f491\","},{"lineNumber":949,"author":{"gitId":"yiwen101"},"content":" \"minecart\": \"\\f492\","},{"lineNumber":950,"author":{"gitId":"yiwen101"},"content":" \"moisture\": \"\\f493\","},{"lineNumber":951,"author":{"gitId":"yiwen101"},"content":" \"moon-fill\": \"\\f494\","},{"lineNumber":952,"author":{"gitId":"yiwen101"},"content":" \"moon-stars-fill\": \"\\f495\","},{"lineNumber":953,"author":{"gitId":"yiwen101"},"content":" \"moon-stars\": \"\\f496\","},{"lineNumber":954,"author":{"gitId":"yiwen101"},"content":" \"moon\": \"\\f497\","},{"lineNumber":955,"author":{"gitId":"yiwen101"},"content":" \"mouse-fill\": \"\\f498\","},{"lineNumber":956,"author":{"gitId":"yiwen101"},"content":" \"mouse\": \"\\f499\","},{"lineNumber":957,"author":{"gitId":"yiwen101"},"content":" \"mouse2-fill\": \"\\f49a\","},{"lineNumber":958,"author":{"gitId":"yiwen101"},"content":" \"mouse2\": \"\\f49b\","},{"lineNumber":959,"author":{"gitId":"yiwen101"},"content":" \"mouse3-fill\": \"\\f49c\","},{"lineNumber":960,"author":{"gitId":"yiwen101"},"content":" \"mouse3\": \"\\f49d\","},{"lineNumber":961,"author":{"gitId":"yiwen101"},"content":" \"music-note-beamed\": \"\\f49e\","},{"lineNumber":962,"author":{"gitId":"yiwen101"},"content":" \"music-note-list\": \"\\f49f\","},{"lineNumber":963,"author":{"gitId":"yiwen101"},"content":" \"music-note\": \"\\f4a0\","},{"lineNumber":964,"author":{"gitId":"yiwen101"},"content":" \"music-player-fill\": \"\\f4a1\","},{"lineNumber":965,"author":{"gitId":"yiwen101"},"content":" \"music-player\": \"\\f4a2\","},{"lineNumber":966,"author":{"gitId":"yiwen101"},"content":" \"newspaper\": \"\\f4a3\","},{"lineNumber":967,"author":{"gitId":"yiwen101"},"content":" \"node-minus-fill\": \"\\f4a4\","},{"lineNumber":968,"author":{"gitId":"yiwen101"},"content":" \"node-minus\": \"\\f4a5\","},{"lineNumber":969,"author":{"gitId":"yiwen101"},"content":" \"node-plus-fill\": \"\\f4a6\","},{"lineNumber":970,"author":{"gitId":"yiwen101"},"content":" \"node-plus\": \"\\f4a7\","},{"lineNumber":971,"author":{"gitId":"yiwen101"},"content":" \"nut-fill\": \"\\f4a8\","},{"lineNumber":972,"author":{"gitId":"yiwen101"},"content":" \"nut\": \"\\f4a9\","},{"lineNumber":973,"author":{"gitId":"yiwen101"},"content":" \"octagon-fill\": \"\\f4aa\","},{"lineNumber":974,"author":{"gitId":"yiwen101"},"content":" \"octagon-half\": \"\\f4ab\","},{"lineNumber":975,"author":{"gitId":"yiwen101"},"content":" \"octagon\": \"\\f4ac\","},{"lineNumber":976,"author":{"gitId":"yiwen101"},"content":" \"option\": \"\\f4ad\","},{"lineNumber":977,"author":{"gitId":"yiwen101"},"content":" \"outlet\": \"\\f4ae\","},{"lineNumber":978,"author":{"gitId":"yiwen101"},"content":" \"paint-bucket\": \"\\f4af\","},{"lineNumber":979,"author":{"gitId":"yiwen101"},"content":" \"palette-fill\": \"\\f4b0\","},{"lineNumber":980,"author":{"gitId":"yiwen101"},"content":" \"palette\": \"\\f4b1\","},{"lineNumber":981,"author":{"gitId":"yiwen101"},"content":" \"palette2\": \"\\f4b2\","},{"lineNumber":982,"author":{"gitId":"yiwen101"},"content":" \"paperclip\": \"\\f4b3\","},{"lineNumber":983,"author":{"gitId":"yiwen101"},"content":" \"paragraph\": \"\\f4b4\","},{"lineNumber":984,"author":{"gitId":"yiwen101"},"content":" \"patch-check-fill\": \"\\f4b5\","},{"lineNumber":985,"author":{"gitId":"yiwen101"},"content":" \"patch-check\": \"\\f4b6\","},{"lineNumber":986,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation-fill\": \"\\f4b7\","},{"lineNumber":987,"author":{"gitId":"yiwen101"},"content":" \"patch-exclamation\": \"\\f4b8\","},{"lineNumber":988,"author":{"gitId":"yiwen101"},"content":" \"patch-minus-fill\": \"\\f4b9\","},{"lineNumber":989,"author":{"gitId":"yiwen101"},"content":" \"patch-minus\": \"\\f4ba\","},{"lineNumber":990,"author":{"gitId":"yiwen101"},"content":" \"patch-plus-fill\": \"\\f4bb\","},{"lineNumber":991,"author":{"gitId":"yiwen101"},"content":" \"patch-plus\": \"\\f4bc\","},{"lineNumber":992,"author":{"gitId":"yiwen101"},"content":" \"patch-question-fill\": \"\\f4bd\","},{"lineNumber":993,"author":{"gitId":"yiwen101"},"content":" \"patch-question\": \"\\f4be\","},{"lineNumber":994,"author":{"gitId":"yiwen101"},"content":" \"pause-btn-fill\": \"\\f4bf\","},{"lineNumber":995,"author":{"gitId":"yiwen101"},"content":" \"pause-btn\": \"\\f4c0\","},{"lineNumber":996,"author":{"gitId":"yiwen101"},"content":" \"pause-circle-fill\": \"\\f4c1\","},{"lineNumber":997,"author":{"gitId":"yiwen101"},"content":" \"pause-circle\": \"\\f4c2\","},{"lineNumber":998,"author":{"gitId":"yiwen101"},"content":" \"pause-fill\": \"\\f4c3\","},{"lineNumber":999,"author":{"gitId":"yiwen101"},"content":" \"pause\": \"\\f4c4\","},{"lineNumber":1000,"author":{"gitId":"yiwen101"},"content":" \"peace-fill\": \"\\f4c5\","},{"lineNumber":1001,"author":{"gitId":"yiwen101"},"content":" \"peace\": \"\\f4c6\","},{"lineNumber":1002,"author":{"gitId":"yiwen101"},"content":" \"pen-fill\": \"\\f4c7\","},{"lineNumber":1003,"author":{"gitId":"yiwen101"},"content":" \"pen\": \"\\f4c8\","},{"lineNumber":1004,"author":{"gitId":"yiwen101"},"content":" \"pencil-fill\": \"\\f4c9\","},{"lineNumber":1005,"author":{"gitId":"yiwen101"},"content":" \"pencil-square\": \"\\f4ca\","},{"lineNumber":1006,"author":{"gitId":"yiwen101"},"content":" \"pencil\": \"\\f4cb\","},{"lineNumber":1007,"author":{"gitId":"yiwen101"},"content":" \"pentagon-fill\": \"\\f4cc\","},{"lineNumber":1008,"author":{"gitId":"yiwen101"},"content":" \"pentagon-half\": \"\\f4cd\","},{"lineNumber":1009,"author":{"gitId":"yiwen101"},"content":" \"pentagon\": \"\\f4ce\","},{"lineNumber":1010,"author":{"gitId":"yiwen101"},"content":" \"people-fill\": \"\\f4cf\","},{"lineNumber":1011,"author":{"gitId":"yiwen101"},"content":" \"people\": \"\\f4d0\","},{"lineNumber":1012,"author":{"gitId":"yiwen101"},"content":" \"percent\": \"\\f4d1\","},{"lineNumber":1013,"author":{"gitId":"yiwen101"},"content":" \"person-badge-fill\": \"\\f4d2\","},{"lineNumber":1014,"author":{"gitId":"yiwen101"},"content":" \"person-badge\": \"\\f4d3\","},{"lineNumber":1015,"author":{"gitId":"yiwen101"},"content":" \"person-bounding-box\": \"\\f4d4\","},{"lineNumber":1016,"author":{"gitId":"yiwen101"},"content":" \"person-check-fill\": \"\\f4d5\","},{"lineNumber":1017,"author":{"gitId":"yiwen101"},"content":" \"person-check\": \"\\f4d6\","},{"lineNumber":1018,"author":{"gitId":"yiwen101"},"content":" \"person-circle\": \"\\f4d7\","},{"lineNumber":1019,"author":{"gitId":"yiwen101"},"content":" \"person-dash-fill\": \"\\f4d8\","},{"lineNumber":1020,"author":{"gitId":"yiwen101"},"content":" \"person-dash\": \"\\f4d9\","},{"lineNumber":1021,"author":{"gitId":"yiwen101"},"content":" \"person-fill\": \"\\f4da\","},{"lineNumber":1022,"author":{"gitId":"yiwen101"},"content":" \"person-lines-fill\": \"\\f4db\","},{"lineNumber":1023,"author":{"gitId":"yiwen101"},"content":" \"person-plus-fill\": \"\\f4dc\","},{"lineNumber":1024,"author":{"gitId":"yiwen101"},"content":" \"person-plus\": \"\\f4dd\","},{"lineNumber":1025,"author":{"gitId":"yiwen101"},"content":" \"person-square\": \"\\f4de\","},{"lineNumber":1026,"author":{"gitId":"yiwen101"},"content":" \"person-x-fill\": \"\\f4df\","},{"lineNumber":1027,"author":{"gitId":"yiwen101"},"content":" \"person-x\": \"\\f4e0\","},{"lineNumber":1028,"author":{"gitId":"yiwen101"},"content":" \"person\": \"\\f4e1\","},{"lineNumber":1029,"author":{"gitId":"yiwen101"},"content":" \"phone-fill\": \"\\f4e2\","},{"lineNumber":1030,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape-fill\": \"\\f4e3\","},{"lineNumber":1031,"author":{"gitId":"yiwen101"},"content":" \"phone-landscape\": \"\\f4e4\","},{"lineNumber":1032,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate-fill\": \"\\f4e5\","},{"lineNumber":1033,"author":{"gitId":"yiwen101"},"content":" \"phone-vibrate\": \"\\f4e6\","},{"lineNumber":1034,"author":{"gitId":"yiwen101"},"content":" \"phone\": \"\\f4e7\","},{"lineNumber":1035,"author":{"gitId":"yiwen101"},"content":" \"pie-chart-fill\": \"\\f4e8\","},{"lineNumber":1036,"author":{"gitId":"yiwen101"},"content":" \"pie-chart\": \"\\f4e9\","},{"lineNumber":1037,"author":{"gitId":"yiwen101"},"content":" \"pin-angle-fill\": \"\\f4ea\","},{"lineNumber":1038,"author":{"gitId":"yiwen101"},"content":" \"pin-angle\": \"\\f4eb\","},{"lineNumber":1039,"author":{"gitId":"yiwen101"},"content":" \"pin-fill\": \"\\f4ec\","},{"lineNumber":1040,"author":{"gitId":"yiwen101"},"content":" \"pin\": \"\\f4ed\","},{"lineNumber":1041,"author":{"gitId":"yiwen101"},"content":" \"pip-fill\": \"\\f4ee\","},{"lineNumber":1042,"author":{"gitId":"yiwen101"},"content":" \"pip\": \"\\f4ef\","},{"lineNumber":1043,"author":{"gitId":"yiwen101"},"content":" \"play-btn-fill\": \"\\f4f0\","},{"lineNumber":1044,"author":{"gitId":"yiwen101"},"content":" \"play-btn\": \"\\f4f1\","},{"lineNumber":1045,"author":{"gitId":"yiwen101"},"content":" \"play-circle-fill\": \"\\f4f2\","},{"lineNumber":1046,"author":{"gitId":"yiwen101"},"content":" \"play-circle\": \"\\f4f3\","},{"lineNumber":1047,"author":{"gitId":"yiwen101"},"content":" \"play-fill\": \"\\f4f4\","},{"lineNumber":1048,"author":{"gitId":"yiwen101"},"content":" \"play\": \"\\f4f5\","},{"lineNumber":1049,"author":{"gitId":"yiwen101"},"content":" \"plug-fill\": \"\\f4f6\","},{"lineNumber":1050,"author":{"gitId":"yiwen101"},"content":" \"plug\": \"\\f4f7\","},{"lineNumber":1051,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-dotted\": \"\\f4f8\","},{"lineNumber":1052,"author":{"gitId":"yiwen101"},"content":" \"plus-circle-fill\": \"\\f4f9\","},{"lineNumber":1053,"author":{"gitId":"yiwen101"},"content":" \"plus-circle\": \"\\f4fa\","},{"lineNumber":1054,"author":{"gitId":"yiwen101"},"content":" \"plus-square-dotted\": \"\\f4fb\","},{"lineNumber":1055,"author":{"gitId":"yiwen101"},"content":" \"plus-square-fill\": \"\\f4fc\","},{"lineNumber":1056,"author":{"gitId":"yiwen101"},"content":" \"plus-square\": \"\\f4fd\","},{"lineNumber":1057,"author":{"gitId":"yiwen101"},"content":" \"plus\": \"\\f4fe\","},{"lineNumber":1058,"author":{"gitId":"yiwen101"},"content":" \"power\": \"\\f4ff\","},{"lineNumber":1059,"author":{"gitId":"yiwen101"},"content":" \"printer-fill\": \"\\f500\","},{"lineNumber":1060,"author":{"gitId":"yiwen101"},"content":" \"printer\": \"\\f501\","},{"lineNumber":1061,"author":{"gitId":"yiwen101"},"content":" \"puzzle-fill\": \"\\f502\","},{"lineNumber":1062,"author":{"gitId":"yiwen101"},"content":" \"puzzle\": \"\\f503\","},{"lineNumber":1063,"author":{"gitId":"yiwen101"},"content":" \"question-circle-fill\": \"\\f504\","},{"lineNumber":1064,"author":{"gitId":"yiwen101"},"content":" \"question-circle\": \"\\f505\","},{"lineNumber":1065,"author":{"gitId":"yiwen101"},"content":" \"question-diamond-fill\": \"\\f506\","},{"lineNumber":1066,"author":{"gitId":"yiwen101"},"content":" \"question-diamond\": \"\\f507\","},{"lineNumber":1067,"author":{"gitId":"yiwen101"},"content":" \"question-octagon-fill\": \"\\f508\","},{"lineNumber":1068,"author":{"gitId":"yiwen101"},"content":" \"question-octagon\": \"\\f509\","},{"lineNumber":1069,"author":{"gitId":"yiwen101"},"content":" \"question-square-fill\": \"\\f50a\","},{"lineNumber":1070,"author":{"gitId":"yiwen101"},"content":" \"question-square\": \"\\f50b\","},{"lineNumber":1071,"author":{"gitId":"yiwen101"},"content":" \"question\": \"\\f50c\","},{"lineNumber":1072,"author":{"gitId":"yiwen101"},"content":" \"rainbow\": \"\\f50d\","},{"lineNumber":1073,"author":{"gitId":"yiwen101"},"content":" \"receipt-cutoff\": \"\\f50e\","},{"lineNumber":1074,"author":{"gitId":"yiwen101"},"content":" \"receipt\": \"\\f50f\","},{"lineNumber":1075,"author":{"gitId":"yiwen101"},"content":" \"reception-0\": \"\\f510\","},{"lineNumber":1076,"author":{"gitId":"yiwen101"},"content":" \"reception-1\": \"\\f511\","},{"lineNumber":1077,"author":{"gitId":"yiwen101"},"content":" \"reception-2\": \"\\f512\","},{"lineNumber":1078,"author":{"gitId":"yiwen101"},"content":" \"reception-3\": \"\\f513\","},{"lineNumber":1079,"author":{"gitId":"yiwen101"},"content":" \"reception-4\": \"\\f514\","},{"lineNumber":1080,"author":{"gitId":"yiwen101"},"content":" \"record-btn-fill\": \"\\f515\","},{"lineNumber":1081,"author":{"gitId":"yiwen101"},"content":" \"record-btn\": \"\\f516\","},{"lineNumber":1082,"author":{"gitId":"yiwen101"},"content":" \"record-circle-fill\": \"\\f517\","},{"lineNumber":1083,"author":{"gitId":"yiwen101"},"content":" \"record-circle\": \"\\f518\","},{"lineNumber":1084,"author":{"gitId":"yiwen101"},"content":" \"record-fill\": \"\\f519\","},{"lineNumber":1085,"author":{"gitId":"yiwen101"},"content":" \"record\": \"\\f51a\","},{"lineNumber":1086,"author":{"gitId":"yiwen101"},"content":" \"record2-fill\": \"\\f51b\","},{"lineNumber":1087,"author":{"gitId":"yiwen101"},"content":" \"record2\": \"\\f51c\","},{"lineNumber":1088,"author":{"gitId":"yiwen101"},"content":" \"reply-all-fill\": \"\\f51d\","},{"lineNumber":1089,"author":{"gitId":"yiwen101"},"content":" \"reply-all\": \"\\f51e\","},{"lineNumber":1090,"author":{"gitId":"yiwen101"},"content":" \"reply-fill\": \"\\f51f\","},{"lineNumber":1091,"author":{"gitId":"yiwen101"},"content":" \"reply\": \"\\f520\","},{"lineNumber":1092,"author":{"gitId":"yiwen101"},"content":" \"rss-fill\": \"\\f521\","},{"lineNumber":1093,"author":{"gitId":"yiwen101"},"content":" \"rss\": \"\\f522\","},{"lineNumber":1094,"author":{"gitId":"yiwen101"},"content":" \"rulers\": \"\\f523\","},{"lineNumber":1095,"author":{"gitId":"yiwen101"},"content":" \"save-fill\": \"\\f524\","},{"lineNumber":1096,"author":{"gitId":"yiwen101"},"content":" \"save\": \"\\f525\","},{"lineNumber":1097,"author":{"gitId":"yiwen101"},"content":" \"save2-fill\": \"\\f526\","},{"lineNumber":1098,"author":{"gitId":"yiwen101"},"content":" \"save2\": \"\\f527\","},{"lineNumber":1099,"author":{"gitId":"yiwen101"},"content":" \"scissors\": \"\\f528\","},{"lineNumber":1100,"author":{"gitId":"yiwen101"},"content":" \"screwdriver\": \"\\f529\","},{"lineNumber":1101,"author":{"gitId":"yiwen101"},"content":" \"search\": \"\\f52a\","},{"lineNumber":1102,"author":{"gitId":"yiwen101"},"content":" \"segmented-nav\": \"\\f52b\","},{"lineNumber":1103,"author":{"gitId":"yiwen101"},"content":" \"server\": \"\\f52c\","},{"lineNumber":1104,"author":{"gitId":"yiwen101"},"content":" \"share-fill\": \"\\f52d\","},{"lineNumber":1105,"author":{"gitId":"yiwen101"},"content":" \"share\": \"\\f52e\","},{"lineNumber":1106,"author":{"gitId":"yiwen101"},"content":" \"shield-check\": \"\\f52f\","},{"lineNumber":1107,"author":{"gitId":"yiwen101"},"content":" \"shield-exclamation\": \"\\f530\","},{"lineNumber":1108,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-check\": \"\\f531\","},{"lineNumber":1109,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-exclamation\": \"\\f532\","},{"lineNumber":1110,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-minus\": \"\\f533\","},{"lineNumber":1111,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-plus\": \"\\f534\","},{"lineNumber":1112,"author":{"gitId":"yiwen101"},"content":" \"shield-fill-x\": \"\\f535\","},{"lineNumber":1113,"author":{"gitId":"yiwen101"},"content":" \"shield-fill\": \"\\f536\","},{"lineNumber":1114,"author":{"gitId":"yiwen101"},"content":" \"shield-lock-fill\": \"\\f537\","},{"lineNumber":1115,"author":{"gitId":"yiwen101"},"content":" \"shield-lock\": \"\\f538\","},{"lineNumber":1116,"author":{"gitId":"yiwen101"},"content":" \"shield-minus\": \"\\f539\","},{"lineNumber":1117,"author":{"gitId":"yiwen101"},"content":" \"shield-plus\": \"\\f53a\","},{"lineNumber":1118,"author":{"gitId":"yiwen101"},"content":" \"shield-shaded\": \"\\f53b\","},{"lineNumber":1119,"author":{"gitId":"yiwen101"},"content":" \"shield-slash-fill\": \"\\f53c\","},{"lineNumber":1120,"author":{"gitId":"yiwen101"},"content":" \"shield-slash\": \"\\f53d\","},{"lineNumber":1121,"author":{"gitId":"yiwen101"},"content":" \"shield-x\": \"\\f53e\","},{"lineNumber":1122,"author":{"gitId":"yiwen101"},"content":" \"shield\": \"\\f53f\","},{"lineNumber":1123,"author":{"gitId":"yiwen101"},"content":" \"shift-fill\": \"\\f540\","},{"lineNumber":1124,"author":{"gitId":"yiwen101"},"content":" \"shift\": \"\\f541\","},{"lineNumber":1125,"author":{"gitId":"yiwen101"},"content":" \"shop-window\": \"\\f542\","},{"lineNumber":1126,"author":{"gitId":"yiwen101"},"content":" \"shop\": \"\\f543\","},{"lineNumber":1127,"author":{"gitId":"yiwen101"},"content":" \"shuffle\": \"\\f544\","},{"lineNumber":1128,"author":{"gitId":"yiwen101"},"content":" \"signpost-2-fill\": \"\\f545\","},{"lineNumber":1129,"author":{"gitId":"yiwen101"},"content":" \"signpost-2\": \"\\f546\","},{"lineNumber":1130,"author":{"gitId":"yiwen101"},"content":" \"signpost-fill\": \"\\f547\","},{"lineNumber":1131,"author":{"gitId":"yiwen101"},"content":" \"signpost-split-fill\": \"\\f548\","},{"lineNumber":1132,"author":{"gitId":"yiwen101"},"content":" \"signpost-split\": \"\\f549\","},{"lineNumber":1133,"author":{"gitId":"yiwen101"},"content":" \"signpost\": \"\\f54a\","},{"lineNumber":1134,"author":{"gitId":"yiwen101"},"content":" \"sim-fill\": \"\\f54b\","},{"lineNumber":1135,"author":{"gitId":"yiwen101"},"content":" \"sim\": \"\\f54c\","},{"lineNumber":1136,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn-fill\": \"\\f54d\","},{"lineNumber":1137,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-btn\": \"\\f54e\","},{"lineNumber":1138,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle-fill\": \"\\f54f\","},{"lineNumber":1139,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-circle\": \"\\f550\","},{"lineNumber":1140,"author":{"gitId":"yiwen101"},"content":" \"skip-backward-fill\": \"\\f551\","},{"lineNumber":1141,"author":{"gitId":"yiwen101"},"content":" \"skip-backward\": \"\\f552\","},{"lineNumber":1142,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn-fill\": \"\\f553\","},{"lineNumber":1143,"author":{"gitId":"yiwen101"},"content":" \"skip-end-btn\": \"\\f554\","},{"lineNumber":1144,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle-fill\": \"\\f555\","},{"lineNumber":1145,"author":{"gitId":"yiwen101"},"content":" \"skip-end-circle\": \"\\f556\","},{"lineNumber":1146,"author":{"gitId":"yiwen101"},"content":" \"skip-end-fill\": \"\\f557\","},{"lineNumber":1147,"author":{"gitId":"yiwen101"},"content":" \"skip-end\": \"\\f558\","},{"lineNumber":1148,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn-fill\": \"\\f559\","},{"lineNumber":1149,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-btn\": \"\\f55a\","},{"lineNumber":1150,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle-fill\": \"\\f55b\","},{"lineNumber":1151,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-circle\": \"\\f55c\","},{"lineNumber":1152,"author":{"gitId":"yiwen101"},"content":" \"skip-forward-fill\": \"\\f55d\","},{"lineNumber":1153,"author":{"gitId":"yiwen101"},"content":" \"skip-forward\": \"\\f55e\","},{"lineNumber":1154,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn-fill\": \"\\f55f\","},{"lineNumber":1155,"author":{"gitId":"yiwen101"},"content":" \"skip-start-btn\": \"\\f560\","},{"lineNumber":1156,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle-fill\": \"\\f561\","},{"lineNumber":1157,"author":{"gitId":"yiwen101"},"content":" \"skip-start-circle\": \"\\f562\","},{"lineNumber":1158,"author":{"gitId":"yiwen101"},"content":" \"skip-start-fill\": \"\\f563\","},{"lineNumber":1159,"author":{"gitId":"yiwen101"},"content":" \"skip-start\": \"\\f564\","},{"lineNumber":1160,"author":{"gitId":"yiwen101"},"content":" \"slack\": \"\\f565\","},{"lineNumber":1161,"author":{"gitId":"yiwen101"},"content":" \"slash-circle-fill\": \"\\f566\","},{"lineNumber":1162,"author":{"gitId":"yiwen101"},"content":" \"slash-circle\": \"\\f567\","},{"lineNumber":1163,"author":{"gitId":"yiwen101"},"content":" \"slash-square-fill\": \"\\f568\","},{"lineNumber":1164,"author":{"gitId":"yiwen101"},"content":" \"slash-square\": \"\\f569\","},{"lineNumber":1165,"author":{"gitId":"yiwen101"},"content":" \"slash\": \"\\f56a\","},{"lineNumber":1166,"author":{"gitId":"yiwen101"},"content":" \"sliders\": \"\\f56b\","},{"lineNumber":1167,"author":{"gitId":"yiwen101"},"content":" \"smartwatch\": \"\\f56c\","},{"lineNumber":1168,"author":{"gitId":"yiwen101"},"content":" \"snow\": \"\\f56d\","},{"lineNumber":1169,"author":{"gitId":"yiwen101"},"content":" \"snow2\": \"\\f56e\","},{"lineNumber":1170,"author":{"gitId":"yiwen101"},"content":" \"snow3\": \"\\f56f\","},{"lineNumber":1171,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down-alt\": \"\\f570\","},{"lineNumber":1172,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-down\": \"\\f571\","},{"lineNumber":1173,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up-alt\": \"\\f572\","},{"lineNumber":1174,"author":{"gitId":"yiwen101"},"content":" \"sort-alpha-up\": \"\\f573\","},{"lineNumber":1175,"author":{"gitId":"yiwen101"},"content":" \"sort-down-alt\": \"\\f574\","},{"lineNumber":1176,"author":{"gitId":"yiwen101"},"content":" \"sort-down\": \"\\f575\","},{"lineNumber":1177,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down-alt\": \"\\f576\","},{"lineNumber":1178,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-down\": \"\\f577\","},{"lineNumber":1179,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up-alt\": \"\\f578\","},{"lineNumber":1180,"author":{"gitId":"yiwen101"},"content":" \"sort-numeric-up\": \"\\f579\","},{"lineNumber":1181,"author":{"gitId":"yiwen101"},"content":" \"sort-up-alt\": \"\\f57a\","},{"lineNumber":1182,"author":{"gitId":"yiwen101"},"content":" \"sort-up\": \"\\f57b\","},{"lineNumber":1183,"author":{"gitId":"yiwen101"},"content":" \"soundwave\": \"\\f57c\","},{"lineNumber":1184,"author":{"gitId":"yiwen101"},"content":" \"speaker-fill\": \"\\f57d\","},{"lineNumber":1185,"author":{"gitId":"yiwen101"},"content":" \"speaker\": \"\\f57e\","},{"lineNumber":1186,"author":{"gitId":"yiwen101"},"content":" \"speedometer\": \"\\f57f\","},{"lineNumber":1187,"author":{"gitId":"yiwen101"},"content":" \"speedometer2\": \"\\f580\","},{"lineNumber":1188,"author":{"gitId":"yiwen101"},"content":" \"spellcheck\": \"\\f581\","},{"lineNumber":1189,"author":{"gitId":"yiwen101"},"content":" \"square-fill\": \"\\f582\","},{"lineNumber":1190,"author":{"gitId":"yiwen101"},"content":" \"square-half\": \"\\f583\","},{"lineNumber":1191,"author":{"gitId":"yiwen101"},"content":" \"square\": \"\\f584\","},{"lineNumber":1192,"author":{"gitId":"yiwen101"},"content":" \"stack\": \"\\f585\","},{"lineNumber":1193,"author":{"gitId":"yiwen101"},"content":" \"star-fill\": \"\\f586\","},{"lineNumber":1194,"author":{"gitId":"yiwen101"},"content":" \"star-half\": \"\\f587\","},{"lineNumber":1195,"author":{"gitId":"yiwen101"},"content":" \"star\": \"\\f588\","},{"lineNumber":1196,"author":{"gitId":"yiwen101"},"content":" \"stars\": \"\\f589\","},{"lineNumber":1197,"author":{"gitId":"yiwen101"},"content":" \"stickies-fill\": \"\\f58a\","},{"lineNumber":1198,"author":{"gitId":"yiwen101"},"content":" \"stickies\": \"\\f58b\","},{"lineNumber":1199,"author":{"gitId":"yiwen101"},"content":" \"sticky-fill\": \"\\f58c\","},{"lineNumber":1200,"author":{"gitId":"yiwen101"},"content":" \"sticky\": \"\\f58d\","},{"lineNumber":1201,"author":{"gitId":"yiwen101"},"content":" \"stop-btn-fill\": \"\\f58e\","},{"lineNumber":1202,"author":{"gitId":"yiwen101"},"content":" \"stop-btn\": \"\\f58f\","},{"lineNumber":1203,"author":{"gitId":"yiwen101"},"content":" \"stop-circle-fill\": \"\\f590\","},{"lineNumber":1204,"author":{"gitId":"yiwen101"},"content":" \"stop-circle\": \"\\f591\","},{"lineNumber":1205,"author":{"gitId":"yiwen101"},"content":" \"stop-fill\": \"\\f592\","},{"lineNumber":1206,"author":{"gitId":"yiwen101"},"content":" \"stop\": \"\\f593\","},{"lineNumber":1207,"author":{"gitId":"yiwen101"},"content":" \"stoplights-fill\": \"\\f594\","},{"lineNumber":1208,"author":{"gitId":"yiwen101"},"content":" \"stoplights\": \"\\f595\","},{"lineNumber":1209,"author":{"gitId":"yiwen101"},"content":" \"stopwatch-fill\": \"\\f596\","},{"lineNumber":1210,"author":{"gitId":"yiwen101"},"content":" \"stopwatch\": \"\\f597\","},{"lineNumber":1211,"author":{"gitId":"yiwen101"},"content":" \"subtract\": \"\\f598\","},{"lineNumber":1212,"author":{"gitId":"yiwen101"},"content":" \"suit-club-fill\": \"\\f599\","},{"lineNumber":1213,"author":{"gitId":"yiwen101"},"content":" \"suit-club\": \"\\f59a\","},{"lineNumber":1214,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond-fill\": \"\\f59b\","},{"lineNumber":1215,"author":{"gitId":"yiwen101"},"content":" \"suit-diamond\": \"\\f59c\","},{"lineNumber":1216,"author":{"gitId":"yiwen101"},"content":" \"suit-heart-fill\": \"\\f59d\","},{"lineNumber":1217,"author":{"gitId":"yiwen101"},"content":" \"suit-heart\": \"\\f59e\","},{"lineNumber":1218,"author":{"gitId":"yiwen101"},"content":" \"suit-spade-fill\": \"\\f59f\","},{"lineNumber":1219,"author":{"gitId":"yiwen101"},"content":" \"suit-spade\": \"\\f5a0\","},{"lineNumber":1220,"author":{"gitId":"yiwen101"},"content":" \"sun-fill\": \"\\f5a1\","},{"lineNumber":1221,"author":{"gitId":"yiwen101"},"content":" \"sun\": \"\\f5a2\","},{"lineNumber":1222,"author":{"gitId":"yiwen101"},"content":" \"sunglasses\": \"\\f5a3\","},{"lineNumber":1223,"author":{"gitId":"yiwen101"},"content":" \"sunrise-fill\": \"\\f5a4\","},{"lineNumber":1224,"author":{"gitId":"yiwen101"},"content":" \"sunrise\": \"\\f5a5\","},{"lineNumber":1225,"author":{"gitId":"yiwen101"},"content":" \"sunset-fill\": \"\\f5a6\","},{"lineNumber":1226,"author":{"gitId":"yiwen101"},"content":" \"sunset\": \"\\f5a7\","},{"lineNumber":1227,"author":{"gitId":"yiwen101"},"content":" \"symmetry-horizontal\": \"\\f5a8\","},{"lineNumber":1228,"author":{"gitId":"yiwen101"},"content":" \"symmetry-vertical\": \"\\f5a9\","},{"lineNumber":1229,"author":{"gitId":"yiwen101"},"content":" \"table\": \"\\f5aa\","},{"lineNumber":1230,"author":{"gitId":"yiwen101"},"content":" \"tablet-fill\": \"\\f5ab\","},{"lineNumber":1231,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape-fill\": \"\\f5ac\","},{"lineNumber":1232,"author":{"gitId":"yiwen101"},"content":" \"tablet-landscape\": \"\\f5ad\","},{"lineNumber":1233,"author":{"gitId":"yiwen101"},"content":" \"tablet\": \"\\f5ae\","},{"lineNumber":1234,"author":{"gitId":"yiwen101"},"content":" \"tag-fill\": \"\\f5af\","},{"lineNumber":1235,"author":{"gitId":"yiwen101"},"content":" \"tag\": \"\\f5b0\","},{"lineNumber":1236,"author":{"gitId":"yiwen101"},"content":" \"tags-fill\": \"\\f5b1\","},{"lineNumber":1237,"author":{"gitId":"yiwen101"},"content":" \"tags\": \"\\f5b2\","},{"lineNumber":1238,"author":{"gitId":"yiwen101"},"content":" \"telegram\": \"\\f5b3\","},{"lineNumber":1239,"author":{"gitId":"yiwen101"},"content":" \"telephone-fill\": \"\\f5b4\","},{"lineNumber":1240,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward-fill\": \"\\f5b5\","},{"lineNumber":1241,"author":{"gitId":"yiwen101"},"content":" \"telephone-forward\": \"\\f5b6\","},{"lineNumber":1242,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound-fill\": \"\\f5b7\","},{"lineNumber":1243,"author":{"gitId":"yiwen101"},"content":" \"telephone-inbound\": \"\\f5b8\","},{"lineNumber":1244,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus-fill\": \"\\f5b9\","},{"lineNumber":1245,"author":{"gitId":"yiwen101"},"content":" \"telephone-minus\": \"\\f5ba\","},{"lineNumber":1246,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound-fill\": \"\\f5bb\","},{"lineNumber":1247,"author":{"gitId":"yiwen101"},"content":" \"telephone-outbound\": \"\\f5bc\","},{"lineNumber":1248,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus-fill\": \"\\f5bd\","},{"lineNumber":1249,"author":{"gitId":"yiwen101"},"content":" \"telephone-plus\": \"\\f5be\","},{"lineNumber":1250,"author":{"gitId":"yiwen101"},"content":" \"telephone-x-fill\": \"\\f5bf\","},{"lineNumber":1251,"author":{"gitId":"yiwen101"},"content":" \"telephone-x\": \"\\f5c0\","},{"lineNumber":1252,"author":{"gitId":"yiwen101"},"content":" \"telephone\": \"\\f5c1\","},{"lineNumber":1253,"author":{"gitId":"yiwen101"},"content":" \"terminal-fill\": \"\\f5c2\","},{"lineNumber":1254,"author":{"gitId":"yiwen101"},"content":" \"terminal\": \"\\f5c3\","},{"lineNumber":1255,"author":{"gitId":"yiwen101"},"content":" \"text-center\": \"\\f5c4\","},{"lineNumber":1256,"author":{"gitId":"yiwen101"},"content":" \"text-indent-left\": \"\\f5c5\","},{"lineNumber":1257,"author":{"gitId":"yiwen101"},"content":" \"text-indent-right\": \"\\f5c6\","},{"lineNumber":1258,"author":{"gitId":"yiwen101"},"content":" \"text-left\": \"\\f5c7\","},{"lineNumber":1259,"author":{"gitId":"yiwen101"},"content":" \"text-paragraph\": \"\\f5c8\","},{"lineNumber":1260,"author":{"gitId":"yiwen101"},"content":" \"text-right\": \"\\f5c9\","},{"lineNumber":1261,"author":{"gitId":"yiwen101"},"content":" \"textarea-resize\": \"\\f5ca\","},{"lineNumber":1262,"author":{"gitId":"yiwen101"},"content":" \"textarea-t\": \"\\f5cb\","},{"lineNumber":1263,"author":{"gitId":"yiwen101"},"content":" \"textarea\": \"\\f5cc\","},{"lineNumber":1264,"author":{"gitId":"yiwen101"},"content":" \"thermometer-half\": \"\\f5cd\","},{"lineNumber":1265,"author":{"gitId":"yiwen101"},"content":" \"thermometer-high\": \"\\f5ce\","},{"lineNumber":1266,"author":{"gitId":"yiwen101"},"content":" \"thermometer-low\": \"\\f5cf\","},{"lineNumber":1267,"author":{"gitId":"yiwen101"},"content":" \"thermometer-snow\": \"\\f5d0\","},{"lineNumber":1268,"author":{"gitId":"yiwen101"},"content":" \"thermometer-sun\": \"\\f5d1\","},{"lineNumber":1269,"author":{"gitId":"yiwen101"},"content":" \"thermometer\": \"\\f5d2\","},{"lineNumber":1270,"author":{"gitId":"yiwen101"},"content":" \"three-dots-vertical\": \"\\f5d3\","},{"lineNumber":1271,"author":{"gitId":"yiwen101"},"content":" \"three-dots\": \"\\f5d4\","},{"lineNumber":1272,"author":{"gitId":"yiwen101"},"content":" \"toggle-off\": \"\\f5d5\","},{"lineNumber":1273,"author":{"gitId":"yiwen101"},"content":" \"toggle-on\": \"\\f5d6\","},{"lineNumber":1274,"author":{"gitId":"yiwen101"},"content":" \"toggle2-off\": \"\\f5d7\","},{"lineNumber":1275,"author":{"gitId":"yiwen101"},"content":" \"toggle2-on\": \"\\f5d8\","},{"lineNumber":1276,"author":{"gitId":"yiwen101"},"content":" \"toggles\": \"\\f5d9\","},{"lineNumber":1277,"author":{"gitId":"yiwen101"},"content":" \"toggles2\": \"\\f5da\","},{"lineNumber":1278,"author":{"gitId":"yiwen101"},"content":" \"tools\": \"\\f5db\","},{"lineNumber":1279,"author":{"gitId":"yiwen101"},"content":" \"tornado\": \"\\f5dc\","},{"lineNumber":1280,"author":{"gitId":"yiwen101"},"content":" \"trash-fill\": \"\\f5dd\","},{"lineNumber":1281,"author":{"gitId":"yiwen101"},"content":" \"trash\": \"\\f5de\","},{"lineNumber":1282,"author":{"gitId":"yiwen101"},"content":" \"trash2-fill\": \"\\f5df\","},{"lineNumber":1283,"author":{"gitId":"yiwen101"},"content":" \"trash2\": \"\\f5e0\","},{"lineNumber":1284,"author":{"gitId":"yiwen101"},"content":" \"tree-fill\": \"\\f5e1\","},{"lineNumber":1285,"author":{"gitId":"yiwen101"},"content":" \"tree\": \"\\f5e2\","},{"lineNumber":1286,"author":{"gitId":"yiwen101"},"content":" \"triangle-fill\": \"\\f5e3\","},{"lineNumber":1287,"author":{"gitId":"yiwen101"},"content":" \"triangle-half\": \"\\f5e4\","},{"lineNumber":1288,"author":{"gitId":"yiwen101"},"content":" \"triangle\": \"\\f5e5\","},{"lineNumber":1289,"author":{"gitId":"yiwen101"},"content":" \"trophy-fill\": \"\\f5e6\","},{"lineNumber":1290,"author":{"gitId":"yiwen101"},"content":" \"trophy\": \"\\f5e7\","},{"lineNumber":1291,"author":{"gitId":"yiwen101"},"content":" \"tropical-storm\": \"\\f5e8\","},{"lineNumber":1292,"author":{"gitId":"yiwen101"},"content":" \"truck-flatbed\": \"\\f5e9\","},{"lineNumber":1293,"author":{"gitId":"yiwen101"},"content":" \"truck\": \"\\f5ea\","},{"lineNumber":1294,"author":{"gitId":"yiwen101"},"content":" \"tsunami\": \"\\f5eb\","},{"lineNumber":1295,"author":{"gitId":"yiwen101"},"content":" \"tv-fill\": \"\\f5ec\","},{"lineNumber":1296,"author":{"gitId":"yiwen101"},"content":" \"tv\": \"\\f5ed\","},{"lineNumber":1297,"author":{"gitId":"yiwen101"},"content":" \"twitch\": \"\\f5ee\","},{"lineNumber":1298,"author":{"gitId":"yiwen101"},"content":" \"twitter\": \"\\f5ef\","},{"lineNumber":1299,"author":{"gitId":"yiwen101"},"content":" \"type-bold\": \"\\f5f0\","},{"lineNumber":1300,"author":{"gitId":"yiwen101"},"content":" \"type-h1\": \"\\f5f1\","},{"lineNumber":1301,"author":{"gitId":"yiwen101"},"content":" \"type-h2\": \"\\f5f2\","},{"lineNumber":1302,"author":{"gitId":"yiwen101"},"content":" \"type-h3\": \"\\f5f3\","},{"lineNumber":1303,"author":{"gitId":"yiwen101"},"content":" \"type-italic\": \"\\f5f4\","},{"lineNumber":1304,"author":{"gitId":"yiwen101"},"content":" \"type-strikethrough\": \"\\f5f5\","},{"lineNumber":1305,"author":{"gitId":"yiwen101"},"content":" \"type-underline\": \"\\f5f6\","},{"lineNumber":1306,"author":{"gitId":"yiwen101"},"content":" \"type\": \"\\f5f7\","},{"lineNumber":1307,"author":{"gitId":"yiwen101"},"content":" \"ui-checks-grid\": \"\\f5f8\","},{"lineNumber":1308,"author":{"gitId":"yiwen101"},"content":" \"ui-checks\": \"\\f5f9\","},{"lineNumber":1309,"author":{"gitId":"yiwen101"},"content":" \"ui-radios-grid\": \"\\f5fa\","},{"lineNumber":1310,"author":{"gitId":"yiwen101"},"content":" \"ui-radios\": \"\\f5fb\","},{"lineNumber":1311,"author":{"gitId":"yiwen101"},"content":" \"umbrella-fill\": \"\\f5fc\","},{"lineNumber":1312,"author":{"gitId":"yiwen101"},"content":" \"umbrella\": \"\\f5fd\","},{"lineNumber":1313,"author":{"gitId":"yiwen101"},"content":" \"union\": \"\\f5fe\","},{"lineNumber":1314,"author":{"gitId":"yiwen101"},"content":" \"unlock-fill\": \"\\f5ff\","},{"lineNumber":1315,"author":{"gitId":"yiwen101"},"content":" \"unlock\": \"\\f600\","},{"lineNumber":1316,"author":{"gitId":"yiwen101"},"content":" \"upc-scan\": \"\\f601\","},{"lineNumber":1317,"author":{"gitId":"yiwen101"},"content":" \"upc\": \"\\f602\","},{"lineNumber":1318,"author":{"gitId":"yiwen101"},"content":" \"upload\": \"\\f603\","},{"lineNumber":1319,"author":{"gitId":"yiwen101"},"content":" \"vector-pen\": \"\\f604\","},{"lineNumber":1320,"author":{"gitId":"yiwen101"},"content":" \"view-list\": \"\\f605\","},{"lineNumber":1321,"author":{"gitId":"yiwen101"},"content":" \"view-stacked\": \"\\f606\","},{"lineNumber":1322,"author":{"gitId":"yiwen101"},"content":" \"vinyl-fill\": \"\\f607\","},{"lineNumber":1323,"author":{"gitId":"yiwen101"},"content":" \"vinyl\": \"\\f608\","},{"lineNumber":1324,"author":{"gitId":"yiwen101"},"content":" \"voicemail\": \"\\f609\","},{"lineNumber":1325,"author":{"gitId":"yiwen101"},"content":" \"volume-down-fill\": \"\\f60a\","},{"lineNumber":1326,"author":{"gitId":"yiwen101"},"content":" \"volume-down\": \"\\f60b\","},{"lineNumber":1327,"author":{"gitId":"yiwen101"},"content":" \"volume-mute-fill\": \"\\f60c\","},{"lineNumber":1328,"author":{"gitId":"yiwen101"},"content":" \"volume-mute\": \"\\f60d\","},{"lineNumber":1329,"author":{"gitId":"yiwen101"},"content":" \"volume-off-fill\": \"\\f60e\","},{"lineNumber":1330,"author":{"gitId":"yiwen101"},"content":" \"volume-off\": \"\\f60f\","},{"lineNumber":1331,"author":{"gitId":"yiwen101"},"content":" \"volume-up-fill\": \"\\f610\","},{"lineNumber":1332,"author":{"gitId":"yiwen101"},"content":" \"volume-up\": \"\\f611\","},{"lineNumber":1333,"author":{"gitId":"yiwen101"},"content":" \"vr\": \"\\f612\","},{"lineNumber":1334,"author":{"gitId":"yiwen101"},"content":" \"wallet-fill\": \"\\f613\","},{"lineNumber":1335,"author":{"gitId":"yiwen101"},"content":" \"wallet\": \"\\f614\","},{"lineNumber":1336,"author":{"gitId":"yiwen101"},"content":" \"wallet2\": \"\\f615\","},{"lineNumber":1337,"author":{"gitId":"yiwen101"},"content":" \"watch\": \"\\f616\","},{"lineNumber":1338,"author":{"gitId":"yiwen101"},"content":" \"water\": \"\\f617\","},{"lineNumber":1339,"author":{"gitId":"yiwen101"},"content":" \"whatsapp\": \"\\f618\","},{"lineNumber":1340,"author":{"gitId":"yiwen101"},"content":" \"wifi-1\": \"\\f619\","},{"lineNumber":1341,"author":{"gitId":"yiwen101"},"content":" \"wifi-2\": \"\\f61a\","},{"lineNumber":1342,"author":{"gitId":"yiwen101"},"content":" \"wifi-off\": \"\\f61b\","},{"lineNumber":1343,"author":{"gitId":"yiwen101"},"content":" \"wifi\": \"\\f61c\","},{"lineNumber":1344,"author":{"gitId":"yiwen101"},"content":" \"wind\": \"\\f61d\","},{"lineNumber":1345,"author":{"gitId":"yiwen101"},"content":" \"window-dock\": \"\\f61e\","},{"lineNumber":1346,"author":{"gitId":"yiwen101"},"content":" \"window-sidebar\": \"\\f61f\","},{"lineNumber":1347,"author":{"gitId":"yiwen101"},"content":" \"window\": \"\\f620\","},{"lineNumber":1348,"author":{"gitId":"yiwen101"},"content":" \"wrench\": \"\\f621\","},{"lineNumber":1349,"author":{"gitId":"yiwen101"},"content":" \"x-circle-fill\": \"\\f622\","},{"lineNumber":1350,"author":{"gitId":"yiwen101"},"content":" \"x-circle\": \"\\f623\","},{"lineNumber":1351,"author":{"gitId":"yiwen101"},"content":" \"x-diamond-fill\": \"\\f624\","},{"lineNumber":1352,"author":{"gitId":"yiwen101"},"content":" \"x-diamond\": \"\\f625\","},{"lineNumber":1353,"author":{"gitId":"yiwen101"},"content":" \"x-octagon-fill\": \"\\f626\","},{"lineNumber":1354,"author":{"gitId":"yiwen101"},"content":" \"x-octagon\": \"\\f627\","},{"lineNumber":1355,"author":{"gitId":"yiwen101"},"content":" \"x-square-fill\": \"\\f628\","},{"lineNumber":1356,"author":{"gitId":"yiwen101"},"content":" \"x-square\": \"\\f629\","},{"lineNumber":1357,"author":{"gitId":"yiwen101"},"content":" \"x\": \"\\f62a\","},{"lineNumber":1358,"author":{"gitId":"yiwen101"},"content":" \"youtube\": \"\\f62b\","},{"lineNumber":1359,"author":{"gitId":"yiwen101"},"content":" \"zoom-in\": \"\\f62c\","},{"lineNumber":1360,"author":{"gitId":"yiwen101"},"content":" \"zoom-out\": \"\\f62d\","},{"lineNumber":1361,"author":{"gitId":"yiwen101"},"content":" \"bank\": \"\\f62e\","},{"lineNumber":1362,"author":{"gitId":"yiwen101"},"content":" \"bank2\": \"\\f62f\","},{"lineNumber":1363,"author":{"gitId":"yiwen101"},"content":" \"bell-slash-fill\": \"\\f630\","},{"lineNumber":1364,"author":{"gitId":"yiwen101"},"content":" \"bell-slash\": \"\\f631\","},{"lineNumber":1365,"author":{"gitId":"yiwen101"},"content":" \"cash-coin\": \"\\f632\","},{"lineNumber":1366,"author":{"gitId":"yiwen101"},"content":" \"check-lg\": \"\\f633\","},{"lineNumber":1367,"author":{"gitId":"yiwen101"},"content":" \"coin\": \"\\f634\","},{"lineNumber":1368,"author":{"gitId":"yiwen101"},"content":" \"currency-bitcoin\": \"\\f635\","},{"lineNumber":1369,"author":{"gitId":"yiwen101"},"content":" \"currency-dollar\": \"\\f636\","},{"lineNumber":1370,"author":{"gitId":"yiwen101"},"content":" \"currency-euro\": \"\\f637\","},{"lineNumber":1371,"author":{"gitId":"yiwen101"},"content":" \"currency-exchange\": \"\\f638\","},{"lineNumber":1372,"author":{"gitId":"yiwen101"},"content":" \"currency-pound\": \"\\f639\","},{"lineNumber":1373,"author":{"gitId":"yiwen101"},"content":" \"currency-yen\": \"\\f63a\","},{"lineNumber":1374,"author":{"gitId":"yiwen101"},"content":" \"dash-lg\": \"\\f63b\","},{"lineNumber":1375,"author":{"gitId":"yiwen101"},"content":" \"exclamation-lg\": \"\\f63c\","},{"lineNumber":1376,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf-fill\": \"\\f63d\","},{"lineNumber":1377,"author":{"gitId":"yiwen101"},"content":" \"file-earmark-pdf\": \"\\f63e\","},{"lineNumber":1378,"author":{"gitId":"yiwen101"},"content":" \"file-pdf-fill\": \"\\f63f\","},{"lineNumber":1379,"author":{"gitId":"yiwen101"},"content":" \"file-pdf\": \"\\f640\","},{"lineNumber":1380,"author":{"gitId":"yiwen101"},"content":" \"gender-ambiguous\": \"\\f641\","},{"lineNumber":1381,"author":{"gitId":"yiwen101"},"content":" \"gender-female\": \"\\f642\","},{"lineNumber":1382,"author":{"gitId":"yiwen101"},"content":" \"gender-male\": \"\\f643\","},{"lineNumber":1383,"author":{"gitId":"yiwen101"},"content":" \"gender-trans\": \"\\f644\","},{"lineNumber":1384,"author":{"gitId":"yiwen101"},"content":" \"headset-vr\": \"\\f645\","},{"lineNumber":1385,"author":{"gitId":"yiwen101"},"content":" \"info-lg\": \"\\f646\","},{"lineNumber":1386,"author":{"gitId":"yiwen101"},"content":" \"mastodon\": \"\\f647\","},{"lineNumber":1387,"author":{"gitId":"yiwen101"},"content":" \"messenger\": \"\\f648\","},{"lineNumber":1388,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank-fill\": \"\\f649\","},{"lineNumber":1389,"author":{"gitId":"yiwen101"},"content":" \"piggy-bank\": \"\\f64a\","},{"lineNumber":1390,"author":{"gitId":"yiwen101"},"content":" \"pin-map-fill\": \"\\f64b\","},{"lineNumber":1391,"author":{"gitId":"yiwen101"},"content":" \"pin-map\": \"\\f64c\","},{"lineNumber":1392,"author":{"gitId":"yiwen101"},"content":" \"plus-lg\": \"\\f64d\","},{"lineNumber":1393,"author":{"gitId":"yiwen101"},"content":" \"question-lg\": \"\\f64e\","},{"lineNumber":1394,"author":{"gitId":"yiwen101"},"content":" \"recycle\": \"\\f64f\","},{"lineNumber":1395,"author":{"gitId":"yiwen101"},"content":" \"reddit\": \"\\f650\","},{"lineNumber":1396,"author":{"gitId":"yiwen101"},"content":" \"safe-fill\": \"\\f651\","},{"lineNumber":1397,"author":{"gitId":"yiwen101"},"content":" \"safe2-fill\": \"\\f652\","},{"lineNumber":1398,"author":{"gitId":"yiwen101"},"content":" \"safe2\": \"\\f653\","},{"lineNumber":1399,"author":{"gitId":"yiwen101"},"content":" \"sd-card-fill\": \"\\f654\","},{"lineNumber":1400,"author":{"gitId":"yiwen101"},"content":" \"sd-card\": \"\\f655\","},{"lineNumber":1401,"author":{"gitId":"yiwen101"},"content":" \"skype\": \"\\f656\","},{"lineNumber":1402,"author":{"gitId":"yiwen101"},"content":" \"slash-lg\": \"\\f657\","},{"lineNumber":1403,"author":{"gitId":"yiwen101"},"content":" \"translate\": \"\\f658\","},{"lineNumber":1404,"author":{"gitId":"yiwen101"},"content":" \"x-lg\": \"\\f659\","},{"lineNumber":1405,"author":{"gitId":"yiwen101"},"content":" \"safe\": \"\\f65a\","},{"lineNumber":1406,"author":{"gitId":"yiwen101"},"content":" \"apple\": \"\\f65b\","},{"lineNumber":1407,"author":{"gitId":"yiwen101"},"content":" \"microsoft\": \"\\f65d\","},{"lineNumber":1408,"author":{"gitId":"yiwen101"},"content":" \"windows\": \"\\f65e\","},{"lineNumber":1409,"author":{"gitId":"yiwen101"},"content":" \"behance\": \"\\f65c\","},{"lineNumber":1410,"author":{"gitId":"yiwen101"},"content":" \"dribbble\": \"\\f65f\","},{"lineNumber":1411,"author":{"gitId":"yiwen101"},"content":" \"line\": \"\\f660\","},{"lineNumber":1412,"author":{"gitId":"yiwen101"},"content":" \"medium\": \"\\f661\","},{"lineNumber":1413,"author":{"gitId":"yiwen101"},"content":" \"paypal\": \"\\f662\","},{"lineNumber":1414,"author":{"gitId":"yiwen101"},"content":" \"pinterest\": \"\\f663\","},{"lineNumber":1415,"author":{"gitId":"yiwen101"},"content":" \"signal\": \"\\f664\","},{"lineNumber":1416,"author":{"gitId":"yiwen101"},"content":" \"snapchat\": \"\\f665\","},{"lineNumber":1417,"author":{"gitId":"yiwen101"},"content":" \"spotify\": \"\\f666\","},{"lineNumber":1418,"author":{"gitId":"yiwen101"},"content":" \"stack-overflow\": \"\\f667\","},{"lineNumber":1419,"author":{"gitId":"yiwen101"},"content":" \"strava\": \"\\f668\","},{"lineNumber":1420,"author":{"gitId":"yiwen101"},"content":" \"wordpress\": \"\\f669\","},{"lineNumber":1421,"author":{"gitId":"yiwen101"},"content":" \"vimeo\": \"\\f66a\","},{"lineNumber":1422,"author":{"gitId":"yiwen101"},"content":" \"activity\": \"\\f66b\","},{"lineNumber":1423,"author":{"gitId":"yiwen101"},"content":" \"easel2-fill\": \"\\f66c\","},{"lineNumber":1424,"author":{"gitId":"yiwen101"},"content":" \"easel2\": \"\\f66d\","},{"lineNumber":1425,"author":{"gitId":"yiwen101"},"content":" \"easel3-fill\": \"\\f66e\","},{"lineNumber":1426,"author":{"gitId":"yiwen101"},"content":" \"easel3\": \"\\f66f\","},{"lineNumber":1427,"author":{"gitId":"yiwen101"},"content":" \"fan\": \"\\f670\","},{"lineNumber":1428,"author":{"gitId":"yiwen101"},"content":" \"fingerprint\": \"\\f671\","},{"lineNumber":1429,"author":{"gitId":"yiwen101"},"content":" \"graph-down-arrow\": \"\\f672\","},{"lineNumber":1430,"author":{"gitId":"yiwen101"},"content":" \"graph-up-arrow\": \"\\f673\","},{"lineNumber":1431,"author":{"gitId":"yiwen101"},"content":" \"hypnotize\": \"\\f674\","},{"lineNumber":1432,"author":{"gitId":"yiwen101"},"content":" \"magic\": \"\\f675\","},{"lineNumber":1433,"author":{"gitId":"yiwen101"},"content":" \"person-rolodex\": \"\\f676\","},{"lineNumber":1434,"author":{"gitId":"yiwen101"},"content":" \"person-video\": \"\\f677\","},{"lineNumber":1435,"author":{"gitId":"yiwen101"},"content":" \"person-video2\": \"\\f678\","},{"lineNumber":1436,"author":{"gitId":"yiwen101"},"content":" \"person-video3\": \"\\f679\","},{"lineNumber":1437,"author":{"gitId":"yiwen101"},"content":" \"person-workspace\": \"\\f67a\","},{"lineNumber":1438,"author":{"gitId":"yiwen101"},"content":" \"radioactive\": \"\\f67b\","},{"lineNumber":1439,"author":{"gitId":"yiwen101"},"content":" \"webcam-fill\": \"\\f67c\","},{"lineNumber":1440,"author":{"gitId":"yiwen101"},"content":" \"webcam\": \"\\f67d\","},{"lineNumber":1441,"author":{"gitId":"yiwen101"},"content":" \"yin-yang\": \"\\f67e\","},{"lineNumber":1442,"author":{"gitId":"yiwen101"},"content":" \"bandaid-fill\": \"\\f680\","},{"lineNumber":1443,"author":{"gitId":"yiwen101"},"content":" \"bandaid\": \"\\f681\","},{"lineNumber":1444,"author":{"gitId":"yiwen101"},"content":" \"bluetooth\": \"\\f682\","},{"lineNumber":1445,"author":{"gitId":"yiwen101"},"content":" \"body-text\": \"\\f683\","},{"lineNumber":1446,"author":{"gitId":"yiwen101"},"content":" \"boombox\": \"\\f684\","},{"lineNumber":1447,"author":{"gitId":"yiwen101"},"content":" \"boxes\": \"\\f685\","},{"lineNumber":1448,"author":{"gitId":"yiwen101"},"content":" \"dpad-fill\": \"\\f686\","},{"lineNumber":1449,"author":{"gitId":"yiwen101"},"content":" \"dpad\": \"\\f687\","},{"lineNumber":1450,"author":{"gitId":"yiwen101"},"content":" \"ear-fill\": \"\\f688\","},{"lineNumber":1451,"author":{"gitId":"yiwen101"},"content":" \"ear\": \"\\f689\","},{"lineNumber":1452,"author":{"gitId":"yiwen101"},"content":" \"envelope-check-fill\": \"\\f68b\","},{"lineNumber":1453,"author":{"gitId":"yiwen101"},"content":" \"envelope-check\": \"\\f68c\","},{"lineNumber":1454,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash-fill\": \"\\f68e\","},{"lineNumber":1455,"author":{"gitId":"yiwen101"},"content":" \"envelope-dash\": \"\\f68f\","},{"lineNumber":1456,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation-fill\": \"\\f691\","},{"lineNumber":1457,"author":{"gitId":"yiwen101"},"content":" \"envelope-exclamation\": \"\\f692\","},{"lineNumber":1458,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus-fill\": \"\\f693\","},{"lineNumber":1459,"author":{"gitId":"yiwen101"},"content":" \"envelope-plus\": \"\\f694\","},{"lineNumber":1460,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash-fill\": \"\\f696\","},{"lineNumber":1461,"author":{"gitId":"yiwen101"},"content":" \"envelope-slash\": \"\\f697\","},{"lineNumber":1462,"author":{"gitId":"yiwen101"},"content":" \"envelope-x-fill\": \"\\f699\","},{"lineNumber":1463,"author":{"gitId":"yiwen101"},"content":" \"envelope-x\": \"\\f69a\","},{"lineNumber":1464,"author":{"gitId":"yiwen101"},"content":" \"explicit-fill\": \"\\f69b\","},{"lineNumber":1465,"author":{"gitId":"yiwen101"},"content":" \"explicit\": \"\\f69c\","},{"lineNumber":1466,"author":{"gitId":"yiwen101"},"content":" \"git\": \"\\f69d\","},{"lineNumber":1467,"author":{"gitId":"yiwen101"},"content":" \"infinity\": \"\\f69e\","},{"lineNumber":1468,"author":{"gitId":"yiwen101"},"content":" \"list-columns-reverse\": \"\\f69f\","},{"lineNumber":1469,"author":{"gitId":"yiwen101"},"content":" \"list-columns\": \"\\f6a0\","},{"lineNumber":1470,"author":{"gitId":"yiwen101"},"content":" \"meta\": \"\\f6a1\","},{"lineNumber":1471,"author":{"gitId":"yiwen101"},"content":" \"nintendo-switch\": \"\\f6a4\","},{"lineNumber":1472,"author":{"gitId":"yiwen101"},"content":" \"pc-display-horizontal\": \"\\f6a5\","},{"lineNumber":1473,"author":{"gitId":"yiwen101"},"content":" \"pc-display\": \"\\f6a6\","},{"lineNumber":1474,"author":{"gitId":"yiwen101"},"content":" \"pc-horizontal\": \"\\f6a7\","},{"lineNumber":1475,"author":{"gitId":"yiwen101"},"content":" \"pc\": \"\\f6a8\","},{"lineNumber":1476,"author":{"gitId":"yiwen101"},"content":" \"playstation\": \"\\f6a9\","},{"lineNumber":1477,"author":{"gitId":"yiwen101"},"content":" \"plus-slash-minus\": \"\\f6aa\","},{"lineNumber":1478,"author":{"gitId":"yiwen101"},"content":" \"projector-fill\": \"\\f6ab\","},{"lineNumber":1479,"author":{"gitId":"yiwen101"},"content":" \"projector\": \"\\f6ac\","},{"lineNumber":1480,"author":{"gitId":"yiwen101"},"content":" \"qr-code-scan\": \"\\f6ad\","},{"lineNumber":1481,"author":{"gitId":"yiwen101"},"content":" \"qr-code\": \"\\f6ae\","},{"lineNumber":1482,"author":{"gitId":"yiwen101"},"content":" \"quora\": \"\\f6af\","},{"lineNumber":1483,"author":{"gitId":"yiwen101"},"content":" \"quote\": \"\\f6b0\","},{"lineNumber":1484,"author":{"gitId":"yiwen101"},"content":" \"robot\": \"\\f6b1\","},{"lineNumber":1485,"author":{"gitId":"yiwen101"},"content":" \"send-check-fill\": \"\\f6b2\","},{"lineNumber":1486,"author":{"gitId":"yiwen101"},"content":" \"send-check\": \"\\f6b3\","},{"lineNumber":1487,"author":{"gitId":"yiwen101"},"content":" \"send-dash-fill\": \"\\f6b4\","},{"lineNumber":1488,"author":{"gitId":"yiwen101"},"content":" \"send-dash\": \"\\f6b5\","},{"lineNumber":1489,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation-fill\": \"\\f6b7\","},{"lineNumber":1490,"author":{"gitId":"yiwen101"},"content":" \"send-exclamation\": \"\\f6b8\","},{"lineNumber":1491,"author":{"gitId":"yiwen101"},"content":" \"send-fill\": \"\\f6b9\","},{"lineNumber":1492,"author":{"gitId":"yiwen101"},"content":" \"send-plus-fill\": \"\\f6ba\","},{"lineNumber":1493,"author":{"gitId":"yiwen101"},"content":" \"send-plus\": \"\\f6bb\","},{"lineNumber":1494,"author":{"gitId":"yiwen101"},"content":" \"send-slash-fill\": \"\\f6bc\","},{"lineNumber":1495,"author":{"gitId":"yiwen101"},"content":" \"send-slash\": \"\\f6bd\","},{"lineNumber":1496,"author":{"gitId":"yiwen101"},"content":" \"send-x-fill\": \"\\f6be\","},{"lineNumber":1497,"author":{"gitId":"yiwen101"},"content":" \"send-x\": \"\\f6bf\","},{"lineNumber":1498,"author":{"gitId":"yiwen101"},"content":" \"send\": \"\\f6c0\","},{"lineNumber":1499,"author":{"gitId":"yiwen101"},"content":" \"steam\": \"\\f6c1\","},{"lineNumber":1500,"author":{"gitId":"yiwen101"},"content":" \"terminal-dash\": \"\\f6c3\","},{"lineNumber":1501,"author":{"gitId":"yiwen101"},"content":" \"terminal-plus\": \"\\f6c4\","},{"lineNumber":1502,"author":{"gitId":"yiwen101"},"content":" \"terminal-split\": \"\\f6c5\","},{"lineNumber":1503,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed-fill\": \"\\f6c6\","},{"lineNumber":1504,"author":{"gitId":"yiwen101"},"content":" \"ticket-detailed\": \"\\f6c7\","},{"lineNumber":1505,"author":{"gitId":"yiwen101"},"content":" \"ticket-fill\": \"\\f6c8\","},{"lineNumber":1506,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated-fill\": \"\\f6c9\","},{"lineNumber":1507,"author":{"gitId":"yiwen101"},"content":" \"ticket-perforated\": \"\\f6ca\","},{"lineNumber":1508,"author":{"gitId":"yiwen101"},"content":" \"ticket\": \"\\f6cb\","},{"lineNumber":1509,"author":{"gitId":"yiwen101"},"content":" \"tiktok\": \"\\f6cc\","},{"lineNumber":1510,"author":{"gitId":"yiwen101"},"content":" \"window-dash\": \"\\f6cd\","},{"lineNumber":1511,"author":{"gitId":"yiwen101"},"content":" \"window-desktop\": \"\\f6ce\","},{"lineNumber":1512,"author":{"gitId":"yiwen101"},"content":" \"window-fullscreen\": \"\\f6cf\","},{"lineNumber":1513,"author":{"gitId":"yiwen101"},"content":" \"window-plus\": \"\\f6d0\","},{"lineNumber":1514,"author":{"gitId":"yiwen101"},"content":" \"window-split\": \"\\f6d1\","},{"lineNumber":1515,"author":{"gitId":"yiwen101"},"content":" \"window-stack\": \"\\f6d2\","},{"lineNumber":1516,"author":{"gitId":"yiwen101"},"content":" \"window-x\": \"\\f6d3\","},{"lineNumber":1517,"author":{"gitId":"yiwen101"},"content":" \"xbox\": \"\\f6d4\","},{"lineNumber":1518,"author":{"gitId":"yiwen101"},"content":" \"ethernet\": \"\\f6d5\","},{"lineNumber":1519,"author":{"gitId":"yiwen101"},"content":" \"hdmi-fill\": \"\\f6d6\","},{"lineNumber":1520,"author":{"gitId":"yiwen101"},"content":" \"hdmi\": \"\\f6d7\","},{"lineNumber":1521,"author":{"gitId":"yiwen101"},"content":" \"usb-c-fill\": \"\\f6d8\","},{"lineNumber":1522,"author":{"gitId":"yiwen101"},"content":" \"usb-c\": \"\\f6d9\","},{"lineNumber":1523,"author":{"gitId":"yiwen101"},"content":" \"usb-fill\": \"\\f6da\","},{"lineNumber":1524,"author":{"gitId":"yiwen101"},"content":" \"usb-plug-fill\": \"\\f6db\","},{"lineNumber":1525,"author":{"gitId":"yiwen101"},"content":" \"usb-plug\": \"\\f6dc\","},{"lineNumber":1526,"author":{"gitId":"yiwen101"},"content":" \"usb-symbol\": \"\\f6dd\","},{"lineNumber":1527,"author":{"gitId":"yiwen101"},"content":" \"usb\": \"\\f6de\","},{"lineNumber":1528,"author":{"gitId":"yiwen101"},"content":" \"boombox-fill\": \"\\f6df\","},{"lineNumber":1529,"author":{"gitId":"yiwen101"},"content":" \"displayport\": \"\\f6e1\","},{"lineNumber":1530,"author":{"gitId":"yiwen101"},"content":" \"gpu-card\": \"\\f6e2\","},{"lineNumber":1531,"author":{"gitId":"yiwen101"},"content":" \"memory\": \"\\f6e3\","},{"lineNumber":1532,"author":{"gitId":"yiwen101"},"content":" \"modem-fill\": \"\\f6e4\","},{"lineNumber":1533,"author":{"gitId":"yiwen101"},"content":" \"modem\": \"\\f6e5\","},{"lineNumber":1534,"author":{"gitId":"yiwen101"},"content":" \"motherboard-fill\": \"\\f6e6\","},{"lineNumber":1535,"author":{"gitId":"yiwen101"},"content":" \"motherboard\": \"\\f6e7\","},{"lineNumber":1536,"author":{"gitId":"yiwen101"},"content":" \"optical-audio-fill\": \"\\f6e8\","},{"lineNumber":1537,"author":{"gitId":"yiwen101"},"content":" \"optical-audio\": \"\\f6e9\","},{"lineNumber":1538,"author":{"gitId":"yiwen101"},"content":" \"pci-card\": \"\\f6ea\","},{"lineNumber":1539,"author":{"gitId":"yiwen101"},"content":" \"router-fill\": \"\\f6eb\","},{"lineNumber":1540,"author":{"gitId":"yiwen101"},"content":" \"router\": \"\\f6ec\","},{"lineNumber":1541,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt-fill\": \"\\f6ef\","},{"lineNumber":1542,"author":{"gitId":"yiwen101"},"content":" \"thunderbolt\": \"\\f6f0\","},{"lineNumber":1543,"author":{"gitId":"yiwen101"},"content":" \"usb-drive-fill\": \"\\f6f1\","},{"lineNumber":1544,"author":{"gitId":"yiwen101"},"content":" \"usb-drive\": \"\\f6f2\","},{"lineNumber":1545,"author":{"gitId":"yiwen101"},"content":" \"usb-micro-fill\": \"\\f6f3\","},{"lineNumber":1546,"author":{"gitId":"yiwen101"},"content":" \"usb-micro\": \"\\f6f4\","},{"lineNumber":1547,"author":{"gitId":"yiwen101"},"content":" \"usb-mini-fill\": \"\\f6f5\","},{"lineNumber":1548,"author":{"gitId":"yiwen101"},"content":" \"usb-mini\": \"\\f6f6\","},{"lineNumber":1549,"author":{"gitId":"yiwen101"},"content":" \"cloud-haze2\": \"\\f6f7\","},{"lineNumber":1550,"author":{"gitId":"yiwen101"},"content":" \"device-hdd-fill\": \"\\f6f8\","},{"lineNumber":1551,"author":{"gitId":"yiwen101"},"content":" \"device-hdd\": \"\\f6f9\","},{"lineNumber":1552,"author":{"gitId":"yiwen101"},"content":" \"device-ssd-fill\": \"\\f6fa\","},{"lineNumber":1553,"author":{"gitId":"yiwen101"},"content":" \"device-ssd\": \"\\f6fb\","},{"lineNumber":1554,"author":{"gitId":"yiwen101"},"content":" \"displayport-fill\": \"\\f6fc\","},{"lineNumber":1555,"author":{"gitId":"yiwen101"},"content":" \"mortarboard-fill\": \"\\f6fd\","},{"lineNumber":1556,"author":{"gitId":"yiwen101"},"content":" \"mortarboard\": \"\\f6fe\","},{"lineNumber":1557,"author":{"gitId":"yiwen101"},"content":" \"terminal-x\": \"\\f6ff\","},{"lineNumber":1558,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart-fill\": \"\\f700\","},{"lineNumber":1559,"author":{"gitId":"yiwen101"},"content":" \"arrow-through-heart\": \"\\f701\","},{"lineNumber":1560,"author":{"gitId":"yiwen101"},"content":" \"badge-sd-fill\": \"\\f702\","},{"lineNumber":1561,"author":{"gitId":"yiwen101"},"content":" \"badge-sd\": \"\\f703\","},{"lineNumber":1562,"author":{"gitId":"yiwen101"},"content":" \"bag-heart-fill\": \"\\f704\","},{"lineNumber":1563,"author":{"gitId":"yiwen101"},"content":" \"bag-heart\": \"\\f705\","},{"lineNumber":1564,"author":{"gitId":"yiwen101"},"content":" \"balloon-fill\": \"\\f706\","},{"lineNumber":1565,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart-fill\": \"\\f707\","},{"lineNumber":1566,"author":{"gitId":"yiwen101"},"content":" \"balloon-heart\": \"\\f708\","},{"lineNumber":1567,"author":{"gitId":"yiwen101"},"content":" \"balloon\": \"\\f709\","},{"lineNumber":1568,"author":{"gitId":"yiwen101"},"content":" \"box2-fill\": \"\\f70a\","},{"lineNumber":1569,"author":{"gitId":"yiwen101"},"content":" \"box2-heart-fill\": \"\\f70b\","},{"lineNumber":1570,"author":{"gitId":"yiwen101"},"content":" \"box2-heart\": \"\\f70c\","},{"lineNumber":1571,"author":{"gitId":"yiwen101"},"content":" \"box2\": \"\\f70d\","},{"lineNumber":1572,"author":{"gitId":"yiwen101"},"content":" \"braces-asterisk\": \"\\f70e\","},{"lineNumber":1573,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart-fill\": \"\\f70f\","},{"lineNumber":1574,"author":{"gitId":"yiwen101"},"content":" \"calendar-heart\": \"\\f710\","},{"lineNumber":1575,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart-fill\": \"\\f711\","},{"lineNumber":1576,"author":{"gitId":"yiwen101"},"content":" \"calendar2-heart\": \"\\f712\","},{"lineNumber":1577,"author":{"gitId":"yiwen101"},"content":" \"chat-heart-fill\": \"\\f713\","},{"lineNumber":1578,"author":{"gitId":"yiwen101"},"content":" \"chat-heart\": \"\\f714\","},{"lineNumber":1579,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart-fill\": \"\\f715\","},{"lineNumber":1580,"author":{"gitId":"yiwen101"},"content":" \"chat-left-heart\": \"\\f716\","},{"lineNumber":1581,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart-fill\": \"\\f717\","},{"lineNumber":1582,"author":{"gitId":"yiwen101"},"content":" \"chat-right-heart\": \"\\f718\","},{"lineNumber":1583,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart-fill\": \"\\f719\","},{"lineNumber":1584,"author":{"gitId":"yiwen101"},"content":" \"chat-square-heart\": \"\\f71a\","},{"lineNumber":1585,"author":{"gitId":"yiwen101"},"content":" \"clipboard-check-fill\": \"\\f71b\","},{"lineNumber":1586,"author":{"gitId":"yiwen101"},"content":" \"clipboard-data-fill\": \"\\f71c\","},{"lineNumber":1587,"author":{"gitId":"yiwen101"},"content":" \"clipboard-fill\": \"\\f71d\","},{"lineNumber":1588,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart-fill\": \"\\f71e\","},{"lineNumber":1589,"author":{"gitId":"yiwen101"},"content":" \"clipboard-heart\": \"\\f71f\","},{"lineNumber":1590,"author":{"gitId":"yiwen101"},"content":" \"clipboard-minus-fill\": \"\\f720\","},{"lineNumber":1591,"author":{"gitId":"yiwen101"},"content":" \"clipboard-plus-fill\": \"\\f721\","},{"lineNumber":1592,"author":{"gitId":"yiwen101"},"content":" \"clipboard-pulse\": \"\\f722\","},{"lineNumber":1593,"author":{"gitId":"yiwen101"},"content":" \"clipboard-x-fill\": \"\\f723\","},{"lineNumber":1594,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check-fill\": \"\\f724\","},{"lineNumber":1595,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-check\": \"\\f725\","},{"lineNumber":1596,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data-fill\": \"\\f726\","},{"lineNumber":1597,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-data\": \"\\f727\","},{"lineNumber":1598,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-fill\": \"\\f728\","},{"lineNumber":1599,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart-fill\": \"\\f729\","},{"lineNumber":1600,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-heart\": \"\\f72a\","},{"lineNumber":1601,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus-fill\": \"\\f72b\","},{"lineNumber":1602,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-minus\": \"\\f72c\","},{"lineNumber":1603,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus-fill\": \"\\f72d\","},{"lineNumber":1604,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-plus\": \"\\f72e\","},{"lineNumber":1605,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse-fill\": \"\\f72f\","},{"lineNumber":1606,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-pulse\": \"\\f730\","},{"lineNumber":1607,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x-fill\": \"\\f731\","},{"lineNumber":1608,"author":{"gitId":"yiwen101"},"content":" \"clipboard2-x\": \"\\f732\","},{"lineNumber":1609,"author":{"gitId":"yiwen101"},"content":" \"clipboard2\": \"\\f733\","},{"lineNumber":1610,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss-fill\": \"\\f734\","},{"lineNumber":1611,"author":{"gitId":"yiwen101"},"content":" \"emoji-kiss\": \"\\f735\","},{"lineNumber":1612,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart-fill\": \"\\f736\","},{"lineNumber":1613,"author":{"gitId":"yiwen101"},"content":" \"envelope-heart\": \"\\f737\","},{"lineNumber":1614,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart-fill\": \"\\f738\","},{"lineNumber":1615,"author":{"gitId":"yiwen101"},"content":" \"envelope-open-heart\": \"\\f739\","},{"lineNumber":1616,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-fill\": \"\\f73a\","},{"lineNumber":1617,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart-fill\": \"\\f73b\","},{"lineNumber":1618,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper-heart\": \"\\f73c\","},{"lineNumber":1619,"author":{"gitId":"yiwen101"},"content":" \"envelope-paper\": \"\\f73d\","},{"lineNumber":1620,"author":{"gitId":"yiwen101"},"content":" \"filetype-aac\": \"\\f73e\","},{"lineNumber":1621,"author":{"gitId":"yiwen101"},"content":" \"filetype-ai\": \"\\f73f\","},{"lineNumber":1622,"author":{"gitId":"yiwen101"},"content":" \"filetype-bmp\": \"\\f740\","},{"lineNumber":1623,"author":{"gitId":"yiwen101"},"content":" \"filetype-cs\": \"\\f741\","},{"lineNumber":1624,"author":{"gitId":"yiwen101"},"content":" \"filetype-css\": \"\\f742\","},{"lineNumber":1625,"author":{"gitId":"yiwen101"},"content":" \"filetype-csv\": \"\\f743\","},{"lineNumber":1626,"author":{"gitId":"yiwen101"},"content":" \"filetype-doc\": \"\\f744\","},{"lineNumber":1627,"author":{"gitId":"yiwen101"},"content":" \"filetype-docx\": \"\\f745\","},{"lineNumber":1628,"author":{"gitId":"yiwen101"},"content":" \"filetype-exe\": \"\\f746\","},{"lineNumber":1629,"author":{"gitId":"yiwen101"},"content":" \"filetype-gif\": \"\\f747\","},{"lineNumber":1630,"author":{"gitId":"yiwen101"},"content":" \"filetype-heic\": \"\\f748\","},{"lineNumber":1631,"author":{"gitId":"yiwen101"},"content":" \"filetype-html\": \"\\f749\","},{"lineNumber":1632,"author":{"gitId":"yiwen101"},"content":" \"filetype-java\": \"\\f74a\","},{"lineNumber":1633,"author":{"gitId":"yiwen101"},"content":" \"filetype-jpg\": \"\\f74b\","},{"lineNumber":1634,"author":{"gitId":"yiwen101"},"content":" \"filetype-js\": \"\\f74c\","},{"lineNumber":1635,"author":{"gitId":"yiwen101"},"content":" \"filetype-jsx\": \"\\f74d\","},{"lineNumber":1636,"author":{"gitId":"yiwen101"},"content":" \"filetype-key\": \"\\f74e\","},{"lineNumber":1637,"author":{"gitId":"yiwen101"},"content":" \"filetype-m4p\": \"\\f74f\","},{"lineNumber":1638,"author":{"gitId":"yiwen101"},"content":" \"filetype-md\": \"\\f750\","},{"lineNumber":1639,"author":{"gitId":"yiwen101"},"content":" \"filetype-mdx\": \"\\f751\","},{"lineNumber":1640,"author":{"gitId":"yiwen101"},"content":" \"filetype-mov\": \"\\f752\","},{"lineNumber":1641,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp3\": \"\\f753\","},{"lineNumber":1642,"author":{"gitId":"yiwen101"},"content":" \"filetype-mp4\": \"\\f754\","},{"lineNumber":1643,"author":{"gitId":"yiwen101"},"content":" \"filetype-otf\": \"\\f755\","},{"lineNumber":1644,"author":{"gitId":"yiwen101"},"content":" \"filetype-pdf\": \"\\f756\","},{"lineNumber":1645,"author":{"gitId":"yiwen101"},"content":" \"filetype-php\": \"\\f757\","},{"lineNumber":1646,"author":{"gitId":"yiwen101"},"content":" \"filetype-png\": \"\\f758\","},{"lineNumber":1647,"author":{"gitId":"yiwen101"},"content":" \"filetype-ppt\": \"\\f75a\","},{"lineNumber":1648,"author":{"gitId":"yiwen101"},"content":" \"filetype-psd\": \"\\f75b\","},{"lineNumber":1649,"author":{"gitId":"yiwen101"},"content":" \"filetype-py\": \"\\f75c\","},{"lineNumber":1650,"author":{"gitId":"yiwen101"},"content":" \"filetype-raw\": \"\\f75d\","},{"lineNumber":1651,"author":{"gitId":"yiwen101"},"content":" \"filetype-rb\": \"\\f75e\","},{"lineNumber":1652,"author":{"gitId":"yiwen101"},"content":" \"filetype-sass\": \"\\f75f\","},{"lineNumber":1653,"author":{"gitId":"yiwen101"},"content":" \"filetype-scss\": \"\\f760\","},{"lineNumber":1654,"author":{"gitId":"yiwen101"},"content":" \"filetype-sh\": \"\\f761\","},{"lineNumber":1655,"author":{"gitId":"yiwen101"},"content":" \"filetype-svg\": \"\\f762\","},{"lineNumber":1656,"author":{"gitId":"yiwen101"},"content":" \"filetype-tiff\": \"\\f763\","},{"lineNumber":1657,"author":{"gitId":"yiwen101"},"content":" \"filetype-tsx\": \"\\f764\","},{"lineNumber":1658,"author":{"gitId":"yiwen101"},"content":" \"filetype-ttf\": \"\\f765\","},{"lineNumber":1659,"author":{"gitId":"yiwen101"},"content":" \"filetype-txt\": \"\\f766\","},{"lineNumber":1660,"author":{"gitId":"yiwen101"},"content":" \"filetype-wav\": \"\\f767\","},{"lineNumber":1661,"author":{"gitId":"yiwen101"},"content":" \"filetype-woff\": \"\\f768\","},{"lineNumber":1662,"author":{"gitId":"yiwen101"},"content":" \"filetype-xls\": \"\\f76a\","},{"lineNumber":1663,"author":{"gitId":"yiwen101"},"content":" \"filetype-xml\": \"\\f76b\","},{"lineNumber":1664,"author":{"gitId":"yiwen101"},"content":" \"filetype-yml\": \"\\f76c\","},{"lineNumber":1665,"author":{"gitId":"yiwen101"},"content":" \"heart-arrow\": \"\\f76d\","},{"lineNumber":1666,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse-fill\": \"\\f76e\","},{"lineNumber":1667,"author":{"gitId":"yiwen101"},"content":" \"heart-pulse\": \"\\f76f\","},{"lineNumber":1668,"author":{"gitId":"yiwen101"},"content":" \"heartbreak-fill\": \"\\f770\","},{"lineNumber":1669,"author":{"gitId":"yiwen101"},"content":" \"heartbreak\": \"\\f771\","},{"lineNumber":1670,"author":{"gitId":"yiwen101"},"content":" \"hearts\": \"\\f772\","},{"lineNumber":1671,"author":{"gitId":"yiwen101"},"content":" \"hospital-fill\": \"\\f773\","},{"lineNumber":1672,"author":{"gitId":"yiwen101"},"content":" \"hospital\": \"\\f774\","},{"lineNumber":1673,"author":{"gitId":"yiwen101"},"content":" \"house-heart-fill\": \"\\f775\","},{"lineNumber":1674,"author":{"gitId":"yiwen101"},"content":" \"house-heart\": \"\\f776\","},{"lineNumber":1675,"author":{"gitId":"yiwen101"},"content":" \"incognito\": \"\\f777\","},{"lineNumber":1676,"author":{"gitId":"yiwen101"},"content":" \"magnet-fill\": \"\\f778\","},{"lineNumber":1677,"author":{"gitId":"yiwen101"},"content":" \"magnet\": \"\\f779\","},{"lineNumber":1678,"author":{"gitId":"yiwen101"},"content":" \"person-heart\": \"\\f77a\","},{"lineNumber":1679,"author":{"gitId":"yiwen101"},"content":" \"person-hearts\": \"\\f77b\","},{"lineNumber":1680,"author":{"gitId":"yiwen101"},"content":" \"phone-flip\": \"\\f77c\","},{"lineNumber":1681,"author":{"gitId":"yiwen101"},"content":" \"plugin\": \"\\f77d\","},{"lineNumber":1682,"author":{"gitId":"yiwen101"},"content":" \"postage-fill\": \"\\f77e\","},{"lineNumber":1683,"author":{"gitId":"yiwen101"},"content":" \"postage-heart-fill\": \"\\f77f\","},{"lineNumber":1684,"author":{"gitId":"yiwen101"},"content":" \"postage-heart\": \"\\f780\","},{"lineNumber":1685,"author":{"gitId":"yiwen101"},"content":" \"postage\": \"\\f781\","},{"lineNumber":1686,"author":{"gitId":"yiwen101"},"content":" \"postcard-fill\": \"\\f782\","},{"lineNumber":1687,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart-fill\": \"\\f783\","},{"lineNumber":1688,"author":{"gitId":"yiwen101"},"content":" \"postcard-heart\": \"\\f784\","},{"lineNumber":1689,"author":{"gitId":"yiwen101"},"content":" \"postcard\": \"\\f785\","},{"lineNumber":1690,"author":{"gitId":"yiwen101"},"content":" \"search-heart-fill\": \"\\f786\","},{"lineNumber":1691,"author":{"gitId":"yiwen101"},"content":" \"search-heart\": \"\\f787\","},{"lineNumber":1692,"author":{"gitId":"yiwen101"},"content":" \"sliders2-vertical\": \"\\f788\","},{"lineNumber":1693,"author":{"gitId":"yiwen101"},"content":" \"sliders2\": \"\\f789\","},{"lineNumber":1694,"author":{"gitId":"yiwen101"},"content":" \"trash3-fill\": \"\\f78a\","},{"lineNumber":1695,"author":{"gitId":"yiwen101"},"content":" \"trash3\": \"\\f78b\","},{"lineNumber":1696,"author":{"gitId":"yiwen101"},"content":" \"valentine\": \"\\f78c\","},{"lineNumber":1697,"author":{"gitId":"yiwen101"},"content":" \"valentine2\": \"\\f78d\","},{"lineNumber":1698,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle-fill\": \"\\f78e\","},{"lineNumber":1699,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable-circle\": \"\\f78f\","},{"lineNumber":1700,"author":{"gitId":"yiwen101"},"content":" \"wrench-adjustable\": \"\\f790\","},{"lineNumber":1701,"author":{"gitId":"yiwen101"},"content":" \"filetype-json\": \"\\f791\","},{"lineNumber":1702,"author":{"gitId":"yiwen101"},"content":" \"filetype-pptx\": \"\\f792\","},{"lineNumber":1703,"author":{"gitId":"yiwen101"},"content":" \"filetype-xlsx\": \"\\f793\","},{"lineNumber":1704,"author":{"gitId":"yiwen101"},"content":" \"1-circle-fill\": \"\\f796\","},{"lineNumber":1705,"author":{"gitId":"yiwen101"},"content":" \"1-circle\": \"\\f797\","},{"lineNumber":1706,"author":{"gitId":"yiwen101"},"content":" \"1-square-fill\": \"\\f798\","},{"lineNumber":1707,"author":{"gitId":"yiwen101"},"content":" \"1-square\": \"\\f799\","},{"lineNumber":1708,"author":{"gitId":"yiwen101"},"content":" \"2-circle-fill\": \"\\f79c\","},{"lineNumber":1709,"author":{"gitId":"yiwen101"},"content":" \"2-circle\": \"\\f79d\","},{"lineNumber":1710,"author":{"gitId":"yiwen101"},"content":" \"2-square-fill\": \"\\f79e\","},{"lineNumber":1711,"author":{"gitId":"yiwen101"},"content":" \"2-square\": \"\\f79f\","},{"lineNumber":1712,"author":{"gitId":"yiwen101"},"content":" \"3-circle-fill\": \"\\f7a2\","},{"lineNumber":1713,"author":{"gitId":"yiwen101"},"content":" \"3-circle\": \"\\f7a3\","},{"lineNumber":1714,"author":{"gitId":"yiwen101"},"content":" \"3-square-fill\": \"\\f7a4\","},{"lineNumber":1715,"author":{"gitId":"yiwen101"},"content":" \"3-square\": \"\\f7a5\","},{"lineNumber":1716,"author":{"gitId":"yiwen101"},"content":" \"4-circle-fill\": \"\\f7a8\","},{"lineNumber":1717,"author":{"gitId":"yiwen101"},"content":" \"4-circle\": \"\\f7a9\","},{"lineNumber":1718,"author":{"gitId":"yiwen101"},"content":" \"4-square-fill\": \"\\f7aa\","},{"lineNumber":1719,"author":{"gitId":"yiwen101"},"content":" \"4-square\": \"\\f7ab\","},{"lineNumber":1720,"author":{"gitId":"yiwen101"},"content":" \"5-circle-fill\": \"\\f7ae\","},{"lineNumber":1721,"author":{"gitId":"yiwen101"},"content":" \"5-circle\": \"\\f7af\","},{"lineNumber":1722,"author":{"gitId":"yiwen101"},"content":" \"5-square-fill\": \"\\f7b0\","},{"lineNumber":1723,"author":{"gitId":"yiwen101"},"content":" \"5-square\": \"\\f7b1\","},{"lineNumber":1724,"author":{"gitId":"yiwen101"},"content":" \"6-circle-fill\": \"\\f7b4\","},{"lineNumber":1725,"author":{"gitId":"yiwen101"},"content":" \"6-circle\": \"\\f7b5\","},{"lineNumber":1726,"author":{"gitId":"yiwen101"},"content":" \"6-square-fill\": \"\\f7b6\","},{"lineNumber":1727,"author":{"gitId":"yiwen101"},"content":" \"6-square\": \"\\f7b7\","},{"lineNumber":1728,"author":{"gitId":"yiwen101"},"content":" \"7-circle-fill\": \"\\f7ba\","},{"lineNumber":1729,"author":{"gitId":"yiwen101"},"content":" \"7-circle\": \"\\f7bb\","},{"lineNumber":1730,"author":{"gitId":"yiwen101"},"content":" \"7-square-fill\": \"\\f7bc\","},{"lineNumber":1731,"author":{"gitId":"yiwen101"},"content":" \"7-square\": \"\\f7bd\","},{"lineNumber":1732,"author":{"gitId":"yiwen101"},"content":" \"8-circle-fill\": \"\\f7c0\","},{"lineNumber":1733,"author":{"gitId":"yiwen101"},"content":" \"8-circle\": \"\\f7c1\","},{"lineNumber":1734,"author":{"gitId":"yiwen101"},"content":" \"8-square-fill\": \"\\f7c2\","},{"lineNumber":1735,"author":{"gitId":"yiwen101"},"content":" \"8-square\": \"\\f7c3\","},{"lineNumber":1736,"author":{"gitId":"yiwen101"},"content":" \"9-circle-fill\": \"\\f7c6\","},{"lineNumber":1737,"author":{"gitId":"yiwen101"},"content":" \"9-circle\": \"\\f7c7\","},{"lineNumber":1738,"author":{"gitId":"yiwen101"},"content":" \"9-square-fill\": \"\\f7c8\","},{"lineNumber":1739,"author":{"gitId":"yiwen101"},"content":" \"9-square\": \"\\f7c9\","},{"lineNumber":1740,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines-fill\": \"\\f7ca\","},{"lineNumber":1741,"author":{"gitId":"yiwen101"},"content":" \"airplane-engines\": \"\\f7cb\","},{"lineNumber":1742,"author":{"gitId":"yiwen101"},"content":" \"airplane-fill\": \"\\f7cc\","},{"lineNumber":1743,"author":{"gitId":"yiwen101"},"content":" \"airplane\": \"\\f7cd\","},{"lineNumber":1744,"author":{"gitId":"yiwen101"},"content":" \"alexa\": \"\\f7ce\","},{"lineNumber":1745,"author":{"gitId":"yiwen101"},"content":" \"alipay\": \"\\f7cf\","},{"lineNumber":1746,"author":{"gitId":"yiwen101"},"content":" \"android\": \"\\f7d0\","},{"lineNumber":1747,"author":{"gitId":"yiwen101"},"content":" \"android2\": \"\\f7d1\","},{"lineNumber":1748,"author":{"gitId":"yiwen101"},"content":" \"box-fill\": \"\\f7d2\","},{"lineNumber":1749,"author":{"gitId":"yiwen101"},"content":" \"box-seam-fill\": \"\\f7d3\","},{"lineNumber":1750,"author":{"gitId":"yiwen101"},"content":" \"browser-chrome\": \"\\f7d4\","},{"lineNumber":1751,"author":{"gitId":"yiwen101"},"content":" \"browser-edge\": \"\\f7d5\","},{"lineNumber":1752,"author":{"gitId":"yiwen101"},"content":" \"browser-firefox\": \"\\f7d6\","},{"lineNumber":1753,"author":{"gitId":"yiwen101"},"content":" \"browser-safari\": \"\\f7d7\","},{"lineNumber":1754,"author":{"gitId":"yiwen101"},"content":" \"c-circle-fill\": \"\\f7da\","},{"lineNumber":1755,"author":{"gitId":"yiwen101"},"content":" \"c-circle\": \"\\f7db\","},{"lineNumber":1756,"author":{"gitId":"yiwen101"},"content":" \"c-square-fill\": \"\\f7dc\","},{"lineNumber":1757,"author":{"gitId":"yiwen101"},"content":" \"c-square\": \"\\f7dd\","},{"lineNumber":1758,"author":{"gitId":"yiwen101"},"content":" \"capsule-pill\": \"\\f7de\","},{"lineNumber":1759,"author":{"gitId":"yiwen101"},"content":" \"capsule\": \"\\f7df\","},{"lineNumber":1760,"author":{"gitId":"yiwen101"},"content":" \"car-front-fill\": \"\\f7e0\","},{"lineNumber":1761,"author":{"gitId":"yiwen101"},"content":" \"car-front\": \"\\f7e1\","},{"lineNumber":1762,"author":{"gitId":"yiwen101"},"content":" \"cassette-fill\": \"\\f7e2\","},{"lineNumber":1763,"author":{"gitId":"yiwen101"},"content":" \"cassette\": \"\\f7e3\","},{"lineNumber":1764,"author":{"gitId":"yiwen101"},"content":" \"cc-circle-fill\": \"\\f7e6\","},{"lineNumber":1765,"author":{"gitId":"yiwen101"},"content":" \"cc-circle\": \"\\f7e7\","},{"lineNumber":1766,"author":{"gitId":"yiwen101"},"content":" \"cc-square-fill\": \"\\f7e8\","},{"lineNumber":1767,"author":{"gitId":"yiwen101"},"content":" \"cc-square\": \"\\f7e9\","},{"lineNumber":1768,"author":{"gitId":"yiwen101"},"content":" \"cup-hot-fill\": \"\\f7ea\","},{"lineNumber":1769,"author":{"gitId":"yiwen101"},"content":" \"cup-hot\": \"\\f7eb\","},{"lineNumber":1770,"author":{"gitId":"yiwen101"},"content":" \"currency-rupee\": \"\\f7ec\","},{"lineNumber":1771,"author":{"gitId":"yiwen101"},"content":" \"dropbox\": \"\\f7ed\","},{"lineNumber":1772,"author":{"gitId":"yiwen101"},"content":" \"escape\": \"\\f7ee\","},{"lineNumber":1773,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn-fill\": \"\\f7ef\","},{"lineNumber":1774,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-btn\": \"\\f7f0\","},{"lineNumber":1775,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle-fill\": \"\\f7f1\","},{"lineNumber":1776,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-circle\": \"\\f7f2\","},{"lineNumber":1777,"author":{"gitId":"yiwen101"},"content":" \"fast-forward-fill\": \"\\f7f3\","},{"lineNumber":1778,"author":{"gitId":"yiwen101"},"content":" \"fast-forward\": \"\\f7f4\","},{"lineNumber":1779,"author":{"gitId":"yiwen101"},"content":" \"filetype-sql\": \"\\f7f5\","},{"lineNumber":1780,"author":{"gitId":"yiwen101"},"content":" \"fire\": \"\\f7f6\","},{"lineNumber":1781,"author":{"gitId":"yiwen101"},"content":" \"google-play\": \"\\f7f7\","},{"lineNumber":1782,"author":{"gitId":"yiwen101"},"content":" \"h-circle-fill\": \"\\f7fa\","},{"lineNumber":1783,"author":{"gitId":"yiwen101"},"content":" \"h-circle\": \"\\f7fb\","},{"lineNumber":1784,"author":{"gitId":"yiwen101"},"content":" \"h-square-fill\": \"\\f7fc\","},{"lineNumber":1785,"author":{"gitId":"yiwen101"},"content":" \"h-square\": \"\\f7fd\","},{"lineNumber":1786,"author":{"gitId":"yiwen101"},"content":" \"indent\": \"\\f7fe\","},{"lineNumber":1787,"author":{"gitId":"yiwen101"},"content":" \"lungs-fill\": \"\\f7ff\","},{"lineNumber":1788,"author":{"gitId":"yiwen101"},"content":" \"lungs\": \"\\f800\","},{"lineNumber":1789,"author":{"gitId":"yiwen101"},"content":" \"microsoft-teams\": \"\\f801\","},{"lineNumber":1790,"author":{"gitId":"yiwen101"},"content":" \"p-circle-fill\": \"\\f804\","},{"lineNumber":1791,"author":{"gitId":"yiwen101"},"content":" \"p-circle\": \"\\f805\","},{"lineNumber":1792,"author":{"gitId":"yiwen101"},"content":" \"p-square-fill\": \"\\f806\","},{"lineNumber":1793,"author":{"gitId":"yiwen101"},"content":" \"p-square\": \"\\f807\","},{"lineNumber":1794,"author":{"gitId":"yiwen101"},"content":" \"pass-fill\": \"\\f808\","},{"lineNumber":1795,"author":{"gitId":"yiwen101"},"content":" \"pass\": \"\\f809\","},{"lineNumber":1796,"author":{"gitId":"yiwen101"},"content":" \"prescription\": \"\\f80a\","},{"lineNumber":1797,"author":{"gitId":"yiwen101"},"content":" \"prescription2\": \"\\f80b\","},{"lineNumber":1798,"author":{"gitId":"yiwen101"},"content":" \"r-circle-fill\": \"\\f80e\","},{"lineNumber":1799,"author":{"gitId":"yiwen101"},"content":" \"r-circle\": \"\\f80f\","},{"lineNumber":1800,"author":{"gitId":"yiwen101"},"content":" \"r-square-fill\": \"\\f810\","},{"lineNumber":1801,"author":{"gitId":"yiwen101"},"content":" \"r-square\": \"\\f811\","},{"lineNumber":1802,"author":{"gitId":"yiwen101"},"content":" \"repeat-1\": \"\\f812\","},{"lineNumber":1803,"author":{"gitId":"yiwen101"},"content":" \"repeat\": \"\\f813\","},{"lineNumber":1804,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn-fill\": \"\\f814\","},{"lineNumber":1805,"author":{"gitId":"yiwen101"},"content":" \"rewind-btn\": \"\\f815\","},{"lineNumber":1806,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle-fill\": \"\\f816\","},{"lineNumber":1807,"author":{"gitId":"yiwen101"},"content":" \"rewind-circle\": \"\\f817\","},{"lineNumber":1808,"author":{"gitId":"yiwen101"},"content":" \"rewind-fill\": \"\\f818\","},{"lineNumber":1809,"author":{"gitId":"yiwen101"},"content":" \"rewind\": \"\\f819\","},{"lineNumber":1810,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front-fill\": \"\\f81a\","},{"lineNumber":1811,"author":{"gitId":"yiwen101"},"content":" \"train-freight-front\": \"\\f81b\","},{"lineNumber":1812,"author":{"gitId":"yiwen101"},"content":" \"train-front-fill\": \"\\f81c\","},{"lineNumber":1813,"author":{"gitId":"yiwen101"},"content":" \"train-front\": \"\\f81d\","},{"lineNumber":1814,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front-fill\": \"\\f81e\","},{"lineNumber":1815,"author":{"gitId":"yiwen101"},"content":" \"train-lightrail-front\": \"\\f81f\","},{"lineNumber":1816,"author":{"gitId":"yiwen101"},"content":" \"truck-front-fill\": \"\\f820\","},{"lineNumber":1817,"author":{"gitId":"yiwen101"},"content":" \"truck-front\": \"\\f821\","},{"lineNumber":1818,"author":{"gitId":"yiwen101"},"content":" \"ubuntu\": \"\\f822\","},{"lineNumber":1819,"author":{"gitId":"yiwen101"},"content":" \"unindent\": \"\\f823\","},{"lineNumber":1820,"author":{"gitId":"yiwen101"},"content":" \"unity\": \"\\f824\","},{"lineNumber":1821,"author":{"gitId":"yiwen101"},"content":" \"universal-access-circle\": \"\\f825\","},{"lineNumber":1822,"author":{"gitId":"yiwen101"},"content":" \"universal-access\": \"\\f826\","},{"lineNumber":1823,"author":{"gitId":"yiwen101"},"content":" \"virus\": \"\\f827\","},{"lineNumber":1824,"author":{"gitId":"yiwen101"},"content":" \"virus2\": \"\\f828\","},{"lineNumber":1825,"author":{"gitId":"yiwen101"},"content":" \"wechat\": \"\\f829\","},{"lineNumber":1826,"author":{"gitId":"yiwen101"},"content":" \"yelp\": \"\\f82a\","},{"lineNumber":1827,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-fill\": \"\\f82b\","},{"lineNumber":1828,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights-fill\": \"\\f82c\","},{"lineNumber":1829,"author":{"gitId":"yiwen101"},"content":" \"sign-stop-lights\": \"\\f82d\","},{"lineNumber":1830,"author":{"gitId":"yiwen101"},"content":" \"sign-stop\": \"\\f82e\","},{"lineNumber":1831,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left-fill\": \"\\f82f\","},{"lineNumber":1832,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-left\": \"\\f830\","},{"lineNumber":1833,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right-fill\": \"\\f831\","},{"lineNumber":1834,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-right\": \"\\f832\","},{"lineNumber":1835,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left-fill\": \"\\f833\","},{"lineNumber":1836,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-left\": \"\\f834\","},{"lineNumber":1837,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right-fill\": \"\\f835\","},{"lineNumber":1838,"author":{"gitId":"yiwen101"},"content":" \"sign-turn-slight-right\": \"\\f836\","},{"lineNumber":1839,"author":{"gitId":"yiwen101"},"content":" \"sign-yield-fill\": \"\\f837\","},{"lineNumber":1840,"author":{"gitId":"yiwen101"},"content":" \"sign-yield\": \"\\f838\","},{"lineNumber":1841,"author":{"gitId":"yiwen101"},"content":" \"ev-station-fill\": \"\\f839\","},{"lineNumber":1842,"author":{"gitId":"yiwen101"},"content":" \"ev-station\": \"\\f83a\","},{"lineNumber":1843,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel-fill\": \"\\f83b\","},{"lineNumber":1844,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-diesel\": \"\\f83c\","},{"lineNumber":1845,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump-fill\": \"\\f83d\","},{"lineNumber":1846,"author":{"gitId":"yiwen101"},"content":" \"fuel-pump\": \"\\f83e\","},{"lineNumber":1847,"author":{"gitId":"yiwen101"},"content":" \"0-circle-fill\": \"\\f83f\","},{"lineNumber":1848,"author":{"gitId":"yiwen101"},"content":" \"0-circle\": \"\\f840\","},{"lineNumber":1849,"author":{"gitId":"yiwen101"},"content":" \"0-square-fill\": \"\\f841\","},{"lineNumber":1850,"author":{"gitId":"yiwen101"},"content":" \"0-square\": \"\\f842\","},{"lineNumber":1851,"author":{"gitId":"yiwen101"},"content":" \"rocket-fill\": \"\\f843\","},{"lineNumber":1852,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff-fill\": \"\\f844\","},{"lineNumber":1853,"author":{"gitId":"yiwen101"},"content":" \"rocket-takeoff\": \"\\f845\","},{"lineNumber":1854,"author":{"gitId":"yiwen101"},"content":" \"rocket\": \"\\f846\","},{"lineNumber":1855,"author":{"gitId":"yiwen101"},"content":" \"stripe\": \"\\f847\","},{"lineNumber":1856,"author":{"gitId":"yiwen101"},"content":" \"subscript\": \"\\f848\","},{"lineNumber":1857,"author":{"gitId":"yiwen101"},"content":" \"superscript\": \"\\f849\","},{"lineNumber":1858,"author":{"gitId":"yiwen101"},"content":" \"trello\": \"\\f84a\","},{"lineNumber":1859,"author":{"gitId":"yiwen101"},"content":" \"envelope-at-fill\": \"\\f84b\","},{"lineNumber":1860,"author":{"gitId":"yiwen101"},"content":" \"envelope-at\": \"\\f84c\","},{"lineNumber":1861,"author":{"gitId":"yiwen101"},"content":" \"regex\": \"\\f84d\","},{"lineNumber":1862,"author":{"gitId":"yiwen101"},"content":" \"text-wrap\": \"\\f84e\","},{"lineNumber":1863,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end-fill\": \"\\f84f\","},{"lineNumber":1864,"author":{"gitId":"yiwen101"},"content":" \"sign-dead-end\": \"\\f850\","},{"lineNumber":1865,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter-fill\": \"\\f851\","},{"lineNumber":1866,"author":{"gitId":"yiwen101"},"content":" \"sign-do-not-enter\": \"\\f852\","},{"lineNumber":1867,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-fill\": \"\\f853\","},{"lineNumber":1868,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side-fill\": \"\\f854\","},{"lineNumber":1869,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-side\": \"\\f855\","},{"lineNumber":1870,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t-fill\": \"\\f856\","},{"lineNumber":1871,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-t\": \"\\f857\","},{"lineNumber":1872,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y-fill\": \"\\f858\","},{"lineNumber":1873,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection-y\": \"\\f859\","},{"lineNumber":1874,"author":{"gitId":"yiwen101"},"content":" \"sign-intersection\": \"\\f85a\","},{"lineNumber":1875,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left-fill\": \"\\f85b\","},{"lineNumber":1876,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-left\": \"\\f85c\","},{"lineNumber":1877,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right-fill\": \"\\f85d\","},{"lineNumber":1878,"author":{"gitId":"yiwen101"},"content":" \"sign-merge-right\": \"\\f85e\","},{"lineNumber":1879,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn-fill\": \"\\f85f\","},{"lineNumber":1880,"author":{"gitId":"yiwen101"},"content":" \"sign-no-left-turn\": \"\\f860\","},{"lineNumber":1881,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking-fill\": \"\\f861\","},{"lineNumber":1882,"author":{"gitId":"yiwen101"},"content":" \"sign-no-parking\": \"\\f862\","},{"lineNumber":1883,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn-fill\": \"\\f863\","},{"lineNumber":1884,"author":{"gitId":"yiwen101"},"content":" \"sign-no-right-turn\": \"\\f864\","},{"lineNumber":1885,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad-fill\": \"\\f865\","},{"lineNumber":1886,"author":{"gitId":"yiwen101"},"content":" \"sign-railroad\": \"\\f866\","},{"lineNumber":1887,"author":{"gitId":"yiwen101"},"content":" \"building-add\": \"\\f867\","},{"lineNumber":1888,"author":{"gitId":"yiwen101"},"content":" \"building-check\": \"\\f868\","},{"lineNumber":1889,"author":{"gitId":"yiwen101"},"content":" \"building-dash\": \"\\f869\","},{"lineNumber":1890,"author":{"gitId":"yiwen101"},"content":" \"building-down\": \"\\f86a\","},{"lineNumber":1891,"author":{"gitId":"yiwen101"},"content":" \"building-exclamation\": \"\\f86b\","},{"lineNumber":1892,"author":{"gitId":"yiwen101"},"content":" \"building-fill-add\": \"\\f86c\","},{"lineNumber":1893,"author":{"gitId":"yiwen101"},"content":" \"building-fill-check\": \"\\f86d\","},{"lineNumber":1894,"author":{"gitId":"yiwen101"},"content":" \"building-fill-dash\": \"\\f86e\","},{"lineNumber":1895,"author":{"gitId":"yiwen101"},"content":" \"building-fill-down\": \"\\f86f\","},{"lineNumber":1896,"author":{"gitId":"yiwen101"},"content":" \"building-fill-exclamation\": \"\\f870\","},{"lineNumber":1897,"author":{"gitId":"yiwen101"},"content":" \"building-fill-gear\": \"\\f871\","},{"lineNumber":1898,"author":{"gitId":"yiwen101"},"content":" \"building-fill-lock\": \"\\f872\","},{"lineNumber":1899,"author":{"gitId":"yiwen101"},"content":" \"building-fill-slash\": \"\\f873\","},{"lineNumber":1900,"author":{"gitId":"yiwen101"},"content":" \"building-fill-up\": \"\\f874\","},{"lineNumber":1901,"author":{"gitId":"yiwen101"},"content":" \"building-fill-x\": \"\\f875\","},{"lineNumber":1902,"author":{"gitId":"yiwen101"},"content":" \"building-fill\": \"\\f876\","},{"lineNumber":1903,"author":{"gitId":"yiwen101"},"content":" \"building-gear\": \"\\f877\","},{"lineNumber":1904,"author":{"gitId":"yiwen101"},"content":" \"building-lock\": \"\\f878\","},{"lineNumber":1905,"author":{"gitId":"yiwen101"},"content":" \"building-slash\": \"\\f879\","},{"lineNumber":1906,"author":{"gitId":"yiwen101"},"content":" \"building-up\": \"\\f87a\","},{"lineNumber":1907,"author":{"gitId":"yiwen101"},"content":" \"building-x\": \"\\f87b\","},{"lineNumber":1908,"author":{"gitId":"yiwen101"},"content":" \"buildings-fill\": \"\\f87c\","},{"lineNumber":1909,"author":{"gitId":"yiwen101"},"content":" \"buildings\": \"\\f87d\","},{"lineNumber":1910,"author":{"gitId":"yiwen101"},"content":" \"bus-front-fill\": \"\\f87e\","},{"lineNumber":1911,"author":{"gitId":"yiwen101"},"content":" \"bus-front\": \"\\f87f\","},{"lineNumber":1912,"author":{"gitId":"yiwen101"},"content":" \"ev-front-fill\": \"\\f880\","},{"lineNumber":1913,"author":{"gitId":"yiwen101"},"content":" \"ev-front\": \"\\f881\","},{"lineNumber":1914,"author":{"gitId":"yiwen101"},"content":" \"globe-americas\": \"\\f882\","},{"lineNumber":1915,"author":{"gitId":"yiwen101"},"content":" \"globe-asia-australia\": \"\\f883\","},{"lineNumber":1916,"author":{"gitId":"yiwen101"},"content":" \"globe-central-south-asia\": \"\\f884\","},{"lineNumber":1917,"author":{"gitId":"yiwen101"},"content":" \"globe-europe-africa\": \"\\f885\","},{"lineNumber":1918,"author":{"gitId":"yiwen101"},"content":" \"house-add-fill\": \"\\f886\","},{"lineNumber":1919,"author":{"gitId":"yiwen101"},"content":" \"house-add\": \"\\f887\","},{"lineNumber":1920,"author":{"gitId":"yiwen101"},"content":" \"house-check-fill\": \"\\f888\","},{"lineNumber":1921,"author":{"gitId":"yiwen101"},"content":" \"house-check\": \"\\f889\","},{"lineNumber":1922,"author":{"gitId":"yiwen101"},"content":" \"house-dash-fill\": \"\\f88a\","},{"lineNumber":1923,"author":{"gitId":"yiwen101"},"content":" \"house-dash\": \"\\f88b\","},{"lineNumber":1924,"author":{"gitId":"yiwen101"},"content":" \"house-down-fill\": \"\\f88c\","},{"lineNumber":1925,"author":{"gitId":"yiwen101"},"content":" \"house-down\": \"\\f88d\","},{"lineNumber":1926,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation-fill\": \"\\f88e\","},{"lineNumber":1927,"author":{"gitId":"yiwen101"},"content":" \"house-exclamation\": \"\\f88f\","},{"lineNumber":1928,"author":{"gitId":"yiwen101"},"content":" \"house-gear-fill\": \"\\f890\","},{"lineNumber":1929,"author":{"gitId":"yiwen101"},"content":" \"house-gear\": \"\\f891\","},{"lineNumber":1930,"author":{"gitId":"yiwen101"},"content":" \"house-lock-fill\": \"\\f892\","},{"lineNumber":1931,"author":{"gitId":"yiwen101"},"content":" \"house-lock\": \"\\f893\","},{"lineNumber":1932,"author":{"gitId":"yiwen101"},"content":" \"house-slash-fill\": \"\\f894\","},{"lineNumber":1933,"author":{"gitId":"yiwen101"},"content":" \"house-slash\": \"\\f895\","},{"lineNumber":1934,"author":{"gitId":"yiwen101"},"content":" \"house-up-fill\": \"\\f896\","},{"lineNumber":1935,"author":{"gitId":"yiwen101"},"content":" \"house-up\": \"\\f897\","},{"lineNumber":1936,"author":{"gitId":"yiwen101"},"content":" \"house-x-fill\": \"\\f898\","},{"lineNumber":1937,"author":{"gitId":"yiwen101"},"content":" \"house-x\": \"\\f899\","},{"lineNumber":1938,"author":{"gitId":"yiwen101"},"content":" \"person-add\": \"\\f89a\","},{"lineNumber":1939,"author":{"gitId":"yiwen101"},"content":" \"person-down\": \"\\f89b\","},{"lineNumber":1940,"author":{"gitId":"yiwen101"},"content":" \"person-exclamation\": \"\\f89c\","},{"lineNumber":1941,"author":{"gitId":"yiwen101"},"content":" \"person-fill-add\": \"\\f89d\","},{"lineNumber":1942,"author":{"gitId":"yiwen101"},"content":" \"person-fill-check\": \"\\f89e\","},{"lineNumber":1943,"author":{"gitId":"yiwen101"},"content":" \"person-fill-dash\": \"\\f89f\","},{"lineNumber":1944,"author":{"gitId":"yiwen101"},"content":" \"person-fill-down\": \"\\f8a0\","},{"lineNumber":1945,"author":{"gitId":"yiwen101"},"content":" \"person-fill-exclamation\": \"\\f8a1\","},{"lineNumber":1946,"author":{"gitId":"yiwen101"},"content":" \"person-fill-gear\": \"\\f8a2\","},{"lineNumber":1947,"author":{"gitId":"yiwen101"},"content":" \"person-fill-lock\": \"\\f8a3\","},{"lineNumber":1948,"author":{"gitId":"yiwen101"},"content":" \"person-fill-slash\": \"\\f8a4\","},{"lineNumber":1949,"author":{"gitId":"yiwen101"},"content":" \"person-fill-up\": \"\\f8a5\","},{"lineNumber":1950,"author":{"gitId":"yiwen101"},"content":" \"person-fill-x\": \"\\f8a6\","},{"lineNumber":1951,"author":{"gitId":"yiwen101"},"content":" \"person-gear\": \"\\f8a7\","},{"lineNumber":1952,"author":{"gitId":"yiwen101"},"content":" \"person-lock\": \"\\f8a8\","},{"lineNumber":1953,"author":{"gitId":"yiwen101"},"content":" \"person-slash\": \"\\f8a9\","},{"lineNumber":1954,"author":{"gitId":"yiwen101"},"content":" \"person-up\": \"\\f8aa\","},{"lineNumber":1955,"author":{"gitId":"yiwen101"},"content":" \"scooter\": \"\\f8ab\","},{"lineNumber":1956,"author":{"gitId":"yiwen101"},"content":" \"taxi-front-fill\": \"\\f8ac\","},{"lineNumber":1957,"author":{"gitId":"yiwen101"},"content":" \"taxi-front\": \"\\f8ad\","},{"lineNumber":1958,"author":{"gitId":"yiwen101"},"content":" \"amd\": \"\\f8ae\","},{"lineNumber":1959,"author":{"gitId":"yiwen101"},"content":" \"database-add\": \"\\f8af\","},{"lineNumber":1960,"author":{"gitId":"yiwen101"},"content":" \"database-check\": \"\\f8b0\","},{"lineNumber":1961,"author":{"gitId":"yiwen101"},"content":" \"database-dash\": \"\\f8b1\","},{"lineNumber":1962,"author":{"gitId":"yiwen101"},"content":" \"database-down\": \"\\f8b2\","},{"lineNumber":1963,"author":{"gitId":"yiwen101"},"content":" \"database-exclamation\": \"\\f8b3\","},{"lineNumber":1964,"author":{"gitId":"yiwen101"},"content":" \"database-fill-add\": \"\\f8b4\","},{"lineNumber":1965,"author":{"gitId":"yiwen101"},"content":" \"database-fill-check\": \"\\f8b5\","},{"lineNumber":1966,"author":{"gitId":"yiwen101"},"content":" \"database-fill-dash\": \"\\f8b6\","},{"lineNumber":1967,"author":{"gitId":"yiwen101"},"content":" \"database-fill-down\": \"\\f8b7\","},{"lineNumber":1968,"author":{"gitId":"yiwen101"},"content":" \"database-fill-exclamation\": \"\\f8b8\","},{"lineNumber":1969,"author":{"gitId":"yiwen101"},"content":" \"database-fill-gear\": \"\\f8b9\","},{"lineNumber":1970,"author":{"gitId":"yiwen101"},"content":" \"database-fill-lock\": \"\\f8ba\","},{"lineNumber":1971,"author":{"gitId":"yiwen101"},"content":" \"database-fill-slash\": \"\\f8bb\","},{"lineNumber":1972,"author":{"gitId":"yiwen101"},"content":" \"database-fill-up\": \"\\f8bc\","},{"lineNumber":1973,"author":{"gitId":"yiwen101"},"content":" \"database-fill-x\": \"\\f8bd\","},{"lineNumber":1974,"author":{"gitId":"yiwen101"},"content":" \"database-fill\": \"\\f8be\","},{"lineNumber":1975,"author":{"gitId":"yiwen101"},"content":" \"database-gear\": \"\\f8bf\","},{"lineNumber":1976,"author":{"gitId":"yiwen101"},"content":" \"database-lock\": \"\\f8c0\","},{"lineNumber":1977,"author":{"gitId":"yiwen101"},"content":" \"database-slash\": \"\\f8c1\","},{"lineNumber":1978,"author":{"gitId":"yiwen101"},"content":" \"database-up\": \"\\f8c2\","},{"lineNumber":1979,"author":{"gitId":"yiwen101"},"content":" \"database-x\": \"\\f8c3\","},{"lineNumber":1980,"author":{"gitId":"yiwen101"},"content":" \"database\": \"\\f8c4\","},{"lineNumber":1981,"author":{"gitId":"yiwen101"},"content":" \"houses-fill\": \"\\f8c5\","},{"lineNumber":1982,"author":{"gitId":"yiwen101"},"content":" \"houses\": \"\\f8c6\","},{"lineNumber":1983,"author":{"gitId":"yiwen101"},"content":" \"nvidia\": \"\\f8c7\","},{"lineNumber":1984,"author":{"gitId":"yiwen101"},"content":" \"person-vcard-fill\": \"\\f8c8\","},{"lineNumber":1985,"author":{"gitId":"yiwen101"},"content":" \"person-vcard\": \"\\f8c9\","},{"lineNumber":1986,"author":{"gitId":"yiwen101"},"content":" \"sina-weibo\": \"\\f8ca\","},{"lineNumber":1987,"author":{"gitId":"yiwen101"},"content":" \"tencent-qq\": \"\\f8cb\","},{"lineNumber":1988,"author":{"gitId":"yiwen101"},"content":" \"wikipedia\": \"\\f8cc\","},{"lineNumber":1989,"author":{"gitId":"yiwen101"},"content":" \"alphabet-uppercase\": \"\\f2a5\","},{"lineNumber":1990,"author":{"gitId":"yiwen101"},"content":" \"alphabet\": \"\\f68a\","},{"lineNumber":1991,"author":{"gitId":"yiwen101"},"content":" \"amazon\": \"\\f68d\","},{"lineNumber":1992,"author":{"gitId":"yiwen101"},"content":" \"arrows-collapse-vertical\": \"\\f690\","},{"lineNumber":1993,"author":{"gitId":"yiwen101"},"content":" \"arrows-expand-vertical\": \"\\f695\","},{"lineNumber":1994,"author":{"gitId":"yiwen101"},"content":" \"arrows-vertical\": \"\\f698\","},{"lineNumber":1995,"author":{"gitId":"yiwen101"},"content":" \"arrows\": \"\\f6a2\","},{"lineNumber":1996,"author":{"gitId":"yiwen101"},"content":" \"ban-fill\": \"\\f6a3\","},{"lineNumber":1997,"author":{"gitId":"yiwen101"},"content":" \"ban\": \"\\f6b6\","},{"lineNumber":1998,"author":{"gitId":"yiwen101"},"content":" \"bing\": \"\\f6c2\","},{"lineNumber":1999,"author":{"gitId":"yiwen101"},"content":" \"cake\": \"\\f6e0\","},{"lineNumber":2000,"author":{"gitId":"yiwen101"},"content":" \"cake2\": \"\\f6ed\","},{"lineNumber":2001,"author":{"gitId":"yiwen101"},"content":" \"cookie\": \"\\f6ee\","},{"lineNumber":2002,"author":{"gitId":"yiwen101"},"content":" \"copy\": \"\\f759\","},{"lineNumber":2003,"author":{"gitId":"yiwen101"},"content":" \"crosshair\": \"\\f769\","},{"lineNumber":2004,"author":{"gitId":"yiwen101"},"content":" \"crosshair2\": \"\\f794\","},{"lineNumber":2005,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished-fill\": \"\\f795\","},{"lineNumber":2006,"author":{"gitId":"yiwen101"},"content":" \"emoji-astonished\": \"\\f79a\","},{"lineNumber":2007,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace-fill\": \"\\f79b\","},{"lineNumber":2008,"author":{"gitId":"yiwen101"},"content":" \"emoji-grimace\": \"\\f7a0\","},{"lineNumber":2009,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin-fill\": \"\\f7a1\","},{"lineNumber":2010,"author":{"gitId":"yiwen101"},"content":" \"emoji-grin\": \"\\f7a6\","},{"lineNumber":2011,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise-fill\": \"\\f7a7\","},{"lineNumber":2012,"author":{"gitId":"yiwen101"},"content":" \"emoji-surprise\": \"\\f7ac\","},{"lineNumber":2013,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear-fill\": \"\\f7ad\","},{"lineNumber":2014,"author":{"gitId":"yiwen101"},"content":" \"emoji-tear\": \"\\f7b2\","},{"lineNumber":2015,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down-fill\": \"\\f7b3\","},{"lineNumber":2016,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-down\": \"\\f7b8\","},{"lineNumber":2017,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up-fill\": \"\\f7b9\","},{"lineNumber":2018,"author":{"gitId":"yiwen101"},"content":" \"envelope-arrow-up\": \"\\f7be\","},{"lineNumber":2019,"author":{"gitId":"yiwen101"},"content":" \"feather\": \"\\f7bf\","},{"lineNumber":2020,"author":{"gitId":"yiwen101"},"content":" \"feather2\": \"\\f7c4\","},{"lineNumber":2021,"author":{"gitId":"yiwen101"},"content":" \"floppy-fill\": \"\\f7c5\","},{"lineNumber":2022,"author":{"gitId":"yiwen101"},"content":" \"floppy\": \"\\f7d8\","},{"lineNumber":2023,"author":{"gitId":"yiwen101"},"content":" \"floppy2-fill\": \"\\f7d9\","},{"lineNumber":2024,"author":{"gitId":"yiwen101"},"content":" \"floppy2\": \"\\f7e4\","},{"lineNumber":2025,"author":{"gitId":"yiwen101"},"content":" \"gitlab\": \"\\f7e5\","},{"lineNumber":2026,"author":{"gitId":"yiwen101"},"content":" \"highlighter\": \"\\f7f8\","},{"lineNumber":2027,"author":{"gitId":"yiwen101"},"content":" \"marker-tip\": \"\\f802\","},{"lineNumber":2028,"author":{"gitId":"yiwen101"},"content":" \"nvme-fill\": \"\\f803\","},{"lineNumber":2029,"author":{"gitId":"yiwen101"},"content":" \"nvme\": \"\\f80c\","},{"lineNumber":2030,"author":{"gitId":"yiwen101"},"content":" \"opencollective\": \"\\f80d\","},{"lineNumber":2031,"author":{"gitId":"yiwen101"},"content":" \"pci-card-network\": \"\\f8cd\","},{"lineNumber":2032,"author":{"gitId":"yiwen101"},"content":" \"pci-card-sound\": \"\\f8ce\","},{"lineNumber":2033,"author":{"gitId":"yiwen101"},"content":" \"radar\": \"\\f8cf\","},{"lineNumber":2034,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down-fill\": \"\\f8d0\","},{"lineNumber":2035,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-down\": \"\\f8d1\","},{"lineNumber":2036,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up-fill\": \"\\f8d2\","},{"lineNumber":2037,"author":{"gitId":"yiwen101"},"content":" \"send-arrow-up\": \"\\f8d3\","},{"lineNumber":2038,"author":{"gitId":"yiwen101"},"content":" \"sim-slash-fill\": \"\\f8d4\","},{"lineNumber":2039,"author":{"gitId":"yiwen101"},"content":" \"sim-slash\": \"\\f8d5\","},{"lineNumber":2040,"author":{"gitId":"yiwen101"},"content":" \"sourceforge\": \"\\f8d6\","},{"lineNumber":2041,"author":{"gitId":"yiwen101"},"content":" \"substack\": \"\\f8d7\","},{"lineNumber":2042,"author":{"gitId":"yiwen101"},"content":" \"threads-fill\": \"\\f8d8\","},{"lineNumber":2043,"author":{"gitId":"yiwen101"},"content":" \"threads\": \"\\f8d9\","},{"lineNumber":2044,"author":{"gitId":"yiwen101"},"content":" \"transparency\": \"\\f8da\","},{"lineNumber":2045,"author":{"gitId":"yiwen101"},"content":" \"twitter-x\": \"\\f8db\","},{"lineNumber":2046,"author":{"gitId":"yiwen101"},"content":" \"type-h4\": \"\\f8dc\","},{"lineNumber":2047,"author":{"gitId":"yiwen101"},"content":" \"type-h5\": \"\\f8dd\","},{"lineNumber":2048,"author":{"gitId":"yiwen101"},"content":" \"type-h6\": \"\\f8de\","},{"lineNumber":2049,"author":{"gitId":"yiwen101"},"content":" \"backpack-fill\": \"\\f8df\","},{"lineNumber":2050,"author":{"gitId":"yiwen101"},"content":" \"backpack\": \"\\f8e0\","},{"lineNumber":2051,"author":{"gitId":"yiwen101"},"content":" \"backpack2-fill\": \"\\f8e1\","},{"lineNumber":2052,"author":{"gitId":"yiwen101"},"content":" \"backpack2\": \"\\f8e2\","},{"lineNumber":2053,"author":{"gitId":"yiwen101"},"content":" \"backpack3-fill\": \"\\f8e3\","},{"lineNumber":2054,"author":{"gitId":"yiwen101"},"content":" \"backpack3\": \"\\f8e4\","},{"lineNumber":2055,"author":{"gitId":"yiwen101"},"content":" \"backpack4-fill\": \"\\f8e5\","},{"lineNumber":2056,"author":{"gitId":"yiwen101"},"content":" \"backpack4\": \"\\f8e6\","},{"lineNumber":2057,"author":{"gitId":"yiwen101"},"content":" \"brilliance\": \"\\f8e7\","},{"lineNumber":2058,"author":{"gitId":"yiwen101"},"content":" \"cake-fill\": \"\\f8e8\","},{"lineNumber":2059,"author":{"gitId":"yiwen101"},"content":" \"cake2-fill\": \"\\f8e9\","},{"lineNumber":2060,"author":{"gitId":"yiwen101"},"content":" \"duffle-fill\": \"\\f8ea\","},{"lineNumber":2061,"author":{"gitId":"yiwen101"},"content":" \"duffle\": \"\\f8eb\","},{"lineNumber":2062,"author":{"gitId":"yiwen101"},"content":" \"exposure\": \"\\f8ec\","},{"lineNumber":2063,"author":{"gitId":"yiwen101"},"content":" \"gender-neuter\": \"\\f8ed\","},{"lineNumber":2064,"author":{"gitId":"yiwen101"},"content":" \"highlights\": \"\\f8ee\","},{"lineNumber":2065,"author":{"gitId":"yiwen101"},"content":" \"luggage-fill\": \"\\f8ef\","},{"lineNumber":2066,"author":{"gitId":"yiwen101"},"content":" \"luggage\": \"\\f8f0\","},{"lineNumber":2067,"author":{"gitId":"yiwen101"},"content":" \"mailbox-flag\": \"\\f8f1\","},{"lineNumber":2068,"author":{"gitId":"yiwen101"},"content":" \"mailbox2-flag\": \"\\f8f2\","},{"lineNumber":2069,"author":{"gitId":"yiwen101"},"content":" \"noise-reduction\": \"\\f8f3\","},{"lineNumber":2070,"author":{"gitId":"yiwen101"},"content":" \"passport-fill\": \"\\f8f4\","},{"lineNumber":2071,"author":{"gitId":"yiwen101"},"content":" \"passport\": \"\\f8f5\","},{"lineNumber":2072,"author":{"gitId":"yiwen101"},"content":" \"person-arms-up\": \"\\f8f6\","},{"lineNumber":2073,"author":{"gitId":"yiwen101"},"content":" \"person-raised-hand\": \"\\f8f7\","},{"lineNumber":2074,"author":{"gitId":"yiwen101"},"content":" \"person-standing-dress\": \"\\f8f8\","},{"lineNumber":2075,"author":{"gitId":"yiwen101"},"content":" \"person-standing\": \"\\f8f9\","},{"lineNumber":2076,"author":{"gitId":"yiwen101"},"content":" \"person-walking\": \"\\f8fa\","},{"lineNumber":2077,"author":{"gitId":"yiwen101"},"content":" \"person-wheelchair\": \"\\f8fb\","},{"lineNumber":2078,"author":{"gitId":"yiwen101"},"content":" \"shadows\": \"\\f8fc\","},{"lineNumber":2079,"author":{"gitId":"yiwen101"},"content":" \"suitcase-fill\": \"\\f8fd\","},{"lineNumber":2080,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg-fill\": \"\\f8fe\","},{"lineNumber":2081,"author":{"gitId":"yiwen101"},"content":" \"suitcase-lg\": \"\\f8ff\","},{"lineNumber":2082,"author":{"gitId":"yiwen101"},"content":" \"suitcase\": \"\\f900\","},{"lineNumber":2083,"author":{"gitId":"yiwen101"},"content":" \"suitcase2-fill\": \"\\f901\","},{"lineNumber":2084,"author":{"gitId":"yiwen101"},"content":" \"suitcase2\": \"\\f902\","},{"lineNumber":2085,"author":{"gitId":"yiwen101"},"content":" \"vignette\": \"\\f903\","},{"lineNumber":2086,"author":{"gitId":"yiwen101"},"content":");"},{"lineNumber":2087,"author":{"gitId":"yiwen101"},"content":""},{"lineNumber":2088,"author":{"gitId":"yiwen101"},"content":"@each $icon, $codepoint in $bootstrap-icons-map {"},{"lineNumber":2089,"author":{"gitId":"yiwen101"},"content":" .bi-#{$icon}::before { content: $codepoint; }"},{"lineNumber":2090,"author":{"gitId":"yiwen101"},"content":"}"}],"authorContributionMap":{"yiwen101":2090}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/css/bootstrap.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@charset \"UTF-8\";/*!"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" * Bootstrap v5.1.3 (https://getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" * Copyright 2011-2021 The Bootstrap Authors"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" * Copyright 2011-2021 Twitter, Inc."},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",\"Liberation Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a\u003ecode{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role\u003dbutton]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type\u003dbutton],[type\u003dreset],[type\u003dsubmit],button{-webkit-appearance:button}[type\u003dbutton]:not(:disabled),[type\u003dreset]:not(:disabled),[type\u003dsubmit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type\u003dsearch]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote\u003e:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:\"— \"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row\u003e*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto\u003e*{flex:0 0 auto;width:auto}.row-cols-1\u003e*{flex:0 0 auto;width:100%}.row-cols-2\u003e*{flex:0 0 auto;width:50%}.row-cols-3\u003e*{flex:0 0 auto;width:33.3333333333%}.row-cols-4\u003e*{flex:0 0 auto;width:25%}.row-cols-5\u003e*{flex:0 0 auto;width:20%}.row-cols-6\u003e*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto\u003e*{flex:0 0 auto;width:auto}.row-cols-sm-1\u003e*{flex:0 0 auto;width:100%}.row-cols-sm-2\u003e*{flex:0 0 auto;width:50%}.row-cols-sm-3\u003e*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4\u003e*{flex:0 0 auto;width:25%}.row-cols-sm-5\u003e*{flex:0 0 auto;width:20%}.row-cols-sm-6\u003e*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto\u003e*{flex:0 0 auto;width:auto}.row-cols-md-1\u003e*{flex:0 0 auto;width:100%}.row-cols-md-2\u003e*{flex:0 0 auto;width:50%}.row-cols-md-3\u003e*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4\u003e*{flex:0 0 auto;width:25%}.row-cols-md-5\u003e*{flex:0 0 auto;width:20%}.row-cols-md-6\u003e*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto\u003e*{flex:0 0 auto;width:auto}.row-cols-lg-1\u003e*{flex:0 0 auto;width:100%}.row-cols-lg-2\u003e*{flex:0 0 auto;width:50%}.row-cols-lg-3\u003e*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4\u003e*{flex:0 0 auto;width:25%}.row-cols-lg-5\u003e*{flex:0 0 auto;width:20%}.row-cols-lg-6\u003e*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto\u003e*{flex:0 0 auto;width:auto}.row-cols-xl-1\u003e*{flex:0 0 auto;width:100%}.row-cols-xl-2\u003e*{flex:0 0 auto;width:50%}.row-cols-xl-3\u003e*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4\u003e*{flex:0 0 auto;width:25%}.row-cols-xl-5\u003e*{flex:0 0 auto;width:20%}.row-cols-xl-6\u003e*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto\u003e*{flex:0 0 auto;width:auto}.row-cols-xxl-1\u003e*{flex:0 0 auto;width:100%}.row-cols-xxl-2\u003e*{flex:0 0 auto;width:50%}.row-cols-xxl-3\u003e*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4\u003e*{flex:0 0 auto;width:25%}.row-cols-xxl-5\u003e*{flex:0 0 auto;width:20%}.row-cols-xxl-6\u003e*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table\u003e:not(caption)\u003e*\u003e*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table\u003etbody{vertical-align:inherit}.table\u003ethead{vertical-align:bottom}.table\u003e:not(:first-child){border-top:2px solid currentColor}.caption-top{caption-side:top}.table-sm\u003e:not(caption)\u003e*\u003e*{padding:.25rem .25rem}.table-bordered\u003e:not(caption)\u003e*{border-width:1px 0}.table-bordered\u003e:not(caption)\u003e*\u003e*{border-width:0 1px}.table-borderless\u003e:not(caption)\u003e*\u003e*{border-bottom-width:0}.table-borderless\u003e:not(:first-child){border-top-width:0}.table-striped\u003etbody\u003etr:nth-of-type(odd)\u003e*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover\u003etbody\u003etr:hover\u003e*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type\u003dfile]{overflow:hidden}.form-control[type\u003dfile]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23343a40\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M2 5l6 6 6-6\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size\u003d\"1\"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.3rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type\u003dcheckbox]{border-radius:.25em}.form-check-input[type\u003dradio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type\u003dcheckbox]{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 20 20\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23fff\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00273\u0027 d\u003d\u0027M6 10l3 3l6-6\u0027/%3e%3c/svg%3e\")}.form-check-input:checked[type\u003dradio]{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00272\u0027 fill\u003d\u0027%23fff\u0027/%3e%3c/svg%3e\")}.form-check-input[type\u003dcheckbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 20 20\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23fff\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00273\u0027 d\u003d\u0027M6 10h8\u0027/%3e%3c/svg%3e\")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00273\u0027 fill\u003d\u0027rgba%280, 0, 0, 0.25%29\u0027/%3e%3c/svg%3e\");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00273\u0027 fill\u003d\u0027%2386b7fe\u0027/%3e%3c/svg%3e\")}.form-switch .form-check-input:checked{background-position:right center;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u0027-4 -4 8 8\u0027%3e%3ccircle r\u003d\u00273\u0027 fill\u003d\u0027%23fff\u0027/%3e%3c/svg%3e\")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating\u003e.form-control,.form-floating\u003e.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating\u003elabel{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating\u003elabel{transition:none}}.form-floating\u003e.form-control{padding:1rem .75rem}.form-floating\u003e.form-control::-moz-placeholder{color:transparent}.form-floating\u003e.form-control::placeholder{color:transparent}.form-floating\u003e.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-control:focus,.form-floating\u003e.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating\u003e.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating\u003e.form-control:focus~label,.form-floating\u003e.form-control:not(:placeholder-shown)~label,.form-floating\u003e.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating\u003e.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group\u003e.form-control,.input-group\u003e.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group\u003e.form-control:focus,.input-group\u003e.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg\u003e.btn,.input-group-lg\u003e.form-control,.input-group-lg\u003e.form-select,.input-group-lg\u003e.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm\u003e.btn,.input-group-sm\u003e.form-control,.input-group-sm\u003e.form-select,.input-group-sm\u003e.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg\u003e.form-select,.input-group-sm\u003e.form-select{padding-right:3rem}.input-group:not(.has-validation)\u003e.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)\u003e:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation\u003e.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation\u003e:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group\u003e:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 8 8\u0027%3e%3cpath fill\u003d\u0027%23198754\u0027 d\u003d\u0027M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size\u003d\"1\"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size\u003d\"1\"]{padding-right:4.125rem;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23343a40\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M2 5l6 6 6-6\u0027/%3e%3c/svg%3e\"),url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 8 8\u0027%3e%3cpath fill\u003d\u0027%23198754\u0027 d\u003d\u0027M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z\u0027/%3e%3c/svg%3e\");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 12 12\u0027 width\u003d\u002712\u0027 height\u003d\u002712\u0027 fill\u003d\u0027none\u0027 stroke\u003d\u0027%23dc3545\u0027%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00276\u0027 r\u003d\u00274.5\u0027/%3e%3cpath stroke-linejoin\u003d\u0027round\u0027 d\u003d\u0027M5.8 3.6h.4L6 6.5z\u0027/%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00278.2\u0027 r\u003d\u0027.6\u0027 fill\u003d\u0027%23dc3545\u0027 stroke\u003d\u0027none\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size\u003d\"1\"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size\u003d\"1\"]{padding-right:4.125rem;background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027%3e%3cpath fill\u003d\u0027none\u0027 stroke\u003d\u0027%23343a40\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-linejoin\u003d\u0027round\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M2 5l6 6 6-6\u0027/%3e%3c/svg%3e\"),url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 12 12\u0027 width\u003d\u002712\u0027 height\u003d\u002712\u0027 fill\u003d\u0027none\u0027 stroke\u003d\u0027%23dc3545\u0027%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00276\u0027 r\u003d\u00274.5\u0027/%3e%3cpath stroke-linejoin\u003d\u0027round\u0027 d\u003d\u0027M5.8 3.6h.4L6 6.5z\u0027/%3e%3ccircle cx\u003d\u00276\u0027 cy\u003d\u00278.2\u0027 r\u003d\u0027.6\u0027 fill\u003d\u0027%23dc3545\u0027 stroke\u003d\u0027none\u0027/%3e%3c/svg%3e\");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show\u003e.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show\u003e.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show\u003e.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show\u003e.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show\u003e.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show\u003e.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show\u003e.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show\u003e.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show\u003e.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show\u003e.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show\u003e.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show\u003e.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show\u003e.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show\u003e.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show\u003e.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show\u003e.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg\u003e.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm\u003e.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical\u003e.btn,.btn-group\u003e.btn{position:relative;flex:1 1 auto}.btn-group-vertical\u003e.btn-check:checked+.btn,.btn-group-vertical\u003e.btn-check:focus+.btn,.btn-group-vertical\u003e.btn.active,.btn-group-vertical\u003e.btn:active,.btn-group-vertical\u003e.btn:focus,.btn-group-vertical\u003e.btn:hover,.btn-group\u003e.btn-check:checked+.btn,.btn-group\u003e.btn-check:focus+.btn,.btn-group\u003e.btn.active,.btn-group\u003e.btn:active,.btn-group\u003e.btn:focus,.btn-group\u003e.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group\u003e.btn-group:not(:first-child),.btn-group\u003e.btn:not(:first-child){margin-left:-1px}.btn-group\u003e.btn-group:not(:last-child)\u003e.btn,.btn-group\u003e.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group\u003e.btn-group:not(:first-child)\u003e.btn,.btn-group\u003e.btn:nth-child(n+3),.btn-group\u003e:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm\u003e.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg\u003e.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical\u003e.btn,.btn-group-vertical\u003e.btn-group{width:100%}.btn-group-vertical\u003e.btn-group:not(:first-child),.btn-group-vertical\u003e.btn:not(:first-child){margin-top:-1px}.btn-group-vertical\u003e.btn-group:not(:last-child)\u003e.btn,.btn-group-vertical\u003e.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical\u003e.btn-group:not(:first-child)\u003e.btn,.btn-group-vertical\u003e.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show\u003e.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill\u003e.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified\u003e.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content\u003e.tab-pane{display:none}.tab-content\u003e.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar\u003e.container,.navbar\u003e.container-fluid,.navbar\u003e.container-lg,.navbar\u003e.container-md,.navbar\u003e.container-sm,.navbar\u003e.container-xl,.navbar\u003e.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap: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 .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show\u003e.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 30 30\u0027%3e%3cpath stroke\u003d\u0027rgba%280, 0, 0, 0.55%29\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-miterlimit\u003d\u002710\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M4 7h22M4 15h22M4 23h22\u0027/%3e%3c/svg%3e\")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show\u003e.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 30 30\u0027%3e%3cpath stroke\u003d\u0027rgba%28255, 255, 255, 0.55%29\u0027 stroke-linecap\u003d\u0027round\u0027 stroke-miterlimit\u003d\u002710\u0027 stroke-width\u003d\u00272\u0027 d\u003d\u0027M4 7h22M4 15h22M4 23h22\u0027/%3e%3c/svg%3e\")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card\u003ehr{margin-right:0;margin-left:0}.card\u003e.list-group{border-top:inherit;border-bottom:inherit}.card\u003e.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card\u003e.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card\u003e.card-header+.list-group,.card\u003e.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group\u003e.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group\u003e.card{flex:1 0 0%;margin-bottom:0}.card-group\u003e.card+.card{margin-left:0;border-left:0}.card-group\u003e.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group\u003e.card:not(:last-child) .card-header,.card-group\u003e.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group\u003e.card:not(:last-child) .card-footer,.card-group\u003e.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group\u003e.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group\u003e.card:not(:first-child) .card-header,.card-group\u003e.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group\u003e.card:not(:first-child) .card-footer,.card-group\u003e.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%230c63e4\u0027%3e%3cpath fill-rule\u003d\u0027evenodd\u0027 d\u003d\u0027M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\u0027/%3e%3c/svg%3e\");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:\"\";background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23212529\u0027%3e%3cpath fill-rule\u003d\u0027evenodd\u0027 d\u003d\u0027M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\u0027/%3e%3c/svg%3e\");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, \"/\")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered\u003eli::before{content:counters(section, \".\") \". \";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal\u003e.list-group-item.active{margin-top:0}.list-group-horizontal\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-sm\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-md\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-lg\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-xl\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl\u003e.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl\u003e.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl\u003e.list-group-item.active{margin-top:0}.list-group-horizontal-xxl\u003e.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl\u003e.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush\u003e.list-group-item{border-width:0 0 1px}.list-group-flush\u003e.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23000\u0027%3e%3cpath d\u003d\u0027M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z\u0027/%3e%3c/svg%3e\") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container\u003e:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer\u003e*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:\"\";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^\u003dtop],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^\u003dtop] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^\u003dtop] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^\u003dright],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^\u003dright] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^\u003dright] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^\u003dbottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^\u003dbottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^\u003dbottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^\u003dleft],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^\u003dleft] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^\u003dleft] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:\"\";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^\u003dtop]\u003e.popover-arrow,.bs-popover-top\u003e.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^\u003dtop]\u003e.popover-arrow::before,.bs-popover-top\u003e.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dtop]\u003e.popover-arrow::after,.bs-popover-top\u003e.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^\u003dright]\u003e.popover-arrow,.bs-popover-end\u003e.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^\u003dright]\u003e.popover-arrow::before,.bs-popover-end\u003e.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dright]\u003e.popover-arrow::after,.bs-popover-end\u003e.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^\u003dbottom]\u003e.popover-arrow,.bs-popover-bottom\u003e.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^\u003dbottom]\u003e.popover-arrow::before,.bs-popover-bottom\u003e.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dbottom]\u003e.popover-arrow::after,.bs-popover-bottom\u003e.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^\u003dbottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:\"\";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^\u003dleft]\u003e.popover-arrow,.bs-popover-start\u003e.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^\u003dleft]\u003e.popover-arrow::before,.bs-popover-start\u003e.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^\u003dleft]\u003e.popover-arrow::after,.bs-popover-start\u003e.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:\"\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23fff\u0027%3e%3cpath d\u003d\u0027M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\u0027/%3e%3c/svg%3e\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns\u003d\u0027http://www.w3.org/2000/svg\u0027 viewBox\u003d\u00270 0 16 16\u0027 fill\u003d\u0027%23fff\u0027%3e%3cpath d\u003d\u0027M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\u0027/%3e%3c/svg%3e\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:\"\"}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:\"\"}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:\"\"}.ratio\u003e*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:\"\"}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"/*# sourceMappingURL\u003dbootstrap.min.css.map */"}],"authorContributionMap":{"KevinEyo1":7}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"KevinEyo1":2}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/css/codeblock-light.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#f8f8ff}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:700}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:teal}.hljs-doctag,.hljs-string{color:#d14}.hljs-section,.hljs-selector-id,.hljs-title{color:#900;font-weight:700}.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type{color:#458;font-weight:700}.hljs-attribute,.hljs-name,.hljs-tag{color:navy;font-weight:400}.hljs-link,.hljs-regexp{color:#009926}.hljs-bullet,.hljs-symbol{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#0086b3}.hljs-meta{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#e6e6fa}.hljs.inline{background:#f8f8f8}.hljs.inline.no-lang{color:#e83e8c}.hljs:not(.inline){border:1px solid #c8c8c8;border:1px solid rgba(200,200,200,.3)}.code-block-heading{background:#f2f2ff;color:#8787a5}button.function-btn{background-color: #f8f8ff}"}],"authorContributionMap":{"KevinEyo1":2}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/css/markbind.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":".resize-observer[data-v-8859cc6c]{background-color:transparent;border:none;opacity:0}.resize-observer[data-v-8859cc6c],.resize-observer[data-v-8859cc6c] object{display:block;height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:-1}.v-popper__popper{left:0;top:0;z-index:10000}.v-popper__popper.v-popper__popper--hidden{opacity:0;pointer-events:none;transition:opacity .15s,visibility .15s;visibility:hidden}.v-popper__popper.v-popper__popper--shown{opacity:1;transition:opacity .15s;visibility:visible}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition\u003e.v-popper__wrapper{transition:none!important}.v-popper__backdrop{display:none;height:100%;left:0;position:absolute;top:0;width:100%}.v-popper__inner{box-sizing:border-box;overflow-y:auto;position:relative}.v-popper__inner\u003ediv{max-height:inherit;max-width:inherit;position:relative;z-index:1}.v-popper__arrow-container{height:10px;position:absolute;width:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;height:0;left:0;position:absolute;top:0;width:0}.v-popper__arrow-inner{border-width:7px;visibility:hidden}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important}.v-popper__popper[data-popper-placement^\u003dtop] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-outer{border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;border-top-width:0}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^\u003dbottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-left-color:transparent!important;border-left-width:0;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^\u003dright] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-outer{border-bottom-color:transparent!important;border-right-color:transparent!important;border-right-width:0;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^\u003dleft] .v-popper__arrow-inner{left:-2px}.v-popper--theme-dropdown .v-popper__inner{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 6px 30px #0000001a;color:#000}.v-popper--theme-dropdown .v-popper__arrow-inner{border-color:#fff;visibility:visible}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);border-radius:6px;color:#fff;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.box-container[data-v-0eabf1c4]{border-radius:6px;padding:0}.box-header-wrapper[data-v-0eabf1c4]{align-items:center;border-radius:6px 6px 0 0;display:flex;flex-direction:row;padding:.4rem 1.25rem .28rem;width:100%}.box-body-wrapper[data-v-0eabf1c4]{display:flex;flex-direction:row;padding:.75rem 1.25rem;width:100%}.box-container.seamless\u003e.header-and-body\u003e.box-body-wrapper[data-v-0eabf1c4]{padding:.75rem .5rem}.contents[data-v-0eabf1c4]{min-width:0;padding:0 6px;width:100%}.box-container.seamless\u003e.header-and-body\u003ediv.box-body-wrapper\u003e.contents[data-v-0eabf1c4]{padding-left:12px}.heading[data-v-0eabf1c4]{background-color:hsla(0,0%,94%,.6);border-radius:0 6px;border-width:0;color:inherit;display:inline;float:right;font-weight:400;margin:-13px -27px 0 15px;padding:3px 5px 4px;width:auto}.box-body-wrapper-with-heading[data-v-0eabf1c4]{padding-top:.5rem}.alert-dismissible[data-v-0eabf1c4]{padding-right:4rem}.box-header[data-v-0eabf1c4]{font-weight:500}.icon-wrapper[data-v-0eabf1c4]{display:inline;margin-right:.5em;min-width:1em;text-align:center}.close-with-heading[data-v-0eabf1c4]{padding:1rem;position:absolute;right:0;top:0}.close-with-heading\u003espan[data-v-0eabf1c4]{vertical-align:text-top}.alert-dismissible .btn-close[data-v-0eabf1c4]{padding:1rem}.contents[data-v-0eabf1c4]\u003e:last-child{margin-bottom:0}.alert-default[data-v-0eabf1c4]{background-color:#f6f8fa;border-color:#e8ebef;color:#24292e}.alert-border-left[data-v-0eabf1c4]{background-color:#f9f8f8;border-left:solid;border-width:0 0 0 5px}.vertical-divider[data-v-0eabf1c4]{width:4px}.horizontal-divider[data-v-0eabf1c4]{height:3px;margin:0 auto;width:calc(100% - 2.5rem)}.no-background[data-v-0eabf1c4]{background:none}.no-border[data-v-0eabf1c4]{border:none}@media screen and (width \u003c\u003d 768px){.box-header-wrapper[data-v-0eabf1c4]{padding:.75rem .75rem .1rem}.box-body-wrapper[data-v-0eabf1c4]{padding:.75rem}.contents[data-v-0eabf1c4]{padding:0}}div.box-header\u003e*{margin-bottom:0}.notlink[data-v-ef898034]{color:#6d757d}.breadcrumb-divider[data-v-ef898034]{--bs-breadcrumb-divider:\"›\"}.breadcrumb-item[data-v-ef898034]:before,.breadcrumb-marker[data-v-ef898034]{font-size:15px}.dropdown-submenu[data-v-3c82541c]{color:#212529!important;padding:0!important;position:relative}.dropdown-submenu ul.dropdown-menu[data-v-3c82541c]{margin-left:0}.btn-group\u003eul\u003e.dropdown-submenu:last-child\u003eul[data-v-3c82541c],.dropdown\u003eul\u003e.dropdown-submenu:last-child\u003eul[data-v-3c82541c]{margin-bottom:-.5rem}@media (width \u003e\u003d 768px){.submenu-toggle[data-v-3c82541c]:after{border-bottom:.3em solid transparent;border-left:.3em solid;border-right:0;border-top:.3em solid transparent;content:\"\";display:inline-block;float:right;height:0;margin-top:.5em;vertical-align:.255em;width:0}}@media (width \u003c\u003d 767px){.dropdown-submenu\u003eul[data-v-3c82541c]{border-radius:0;float:none;margin:-.05rem;padding-bottom:0;position:static}.submenu-toggle[data-v-3c82541c]:after{border-bottom:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid;content:\"\";display:inline-block;float:right;height:0;margin-left:.255em;margin-top:.5em;vertical-align:.255em;width:0}.navbar-default .dropdown[data-v-ccda25c0]{position:static}.navbar-default .dropdown-menu[data-v-ccda25c0]{max-height:75vh;max-width:100%;overflow-y:auto;overscroll-behavior:contain;position:absolute}.navbar-default .dropdown-menu-end[data-v-ccda25c0]{right:auto}}.secret[data-v-ccda25c0]{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.btn-with-before[data-v-ccda25c0]{padding-left:.2rem;padding-right:.4rem}.dropdown-toggle[data-v-ccda25c0]{cursor:pointer;display:block;width:max-content}.navbar .dropdown-toggle[data-v-ccda25c0]{text-decoration:none}.nav-link\u003e.nav-link[data-v-ccda25c0]{padding:0}.toggle-site-nav-button[data-v-d6ffaa8e]{cursor:pointer;height:53px;left:0;padding:15px;position:absolute;transform:rotate(0deg);transition:all .25s ease-in-out;width:52px}.toggle-site-nav-button span[data-v-d6ffaa8e]{background-color:#000;display:block;height:3px;left:15px;position:absolute;top:50%;transition:all .25s ease-in-out;width:21px}.toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:first-child{transform:translateY(-8px)}.toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(2){transform-origin:100% 50%}.toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(3){transform:translateY(8px)}.nav-menu-close-icon .toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:first-child{transform:rotate(135deg)}.nav-menu-close-icon .toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(2){left:-60px;opacity:0}.nav-menu-close-icon .toggle-site-nav-button\u003espan[data-v-d6ffaa8e]:nth-child(3){transform:rotate(-135deg)}.toggle-page-nav-button[data-v-4b08b1df]{cursor:pointer;padding:15px;position:absolute;right:0;top:6px}.toggle-page-nav-button span[data-v-4b08b1df]{background-color:#000;border-radius:50%;display:block;height:5px;margin-top:2px;position:absolute;right:15px;transform:rotate(0deg);transition:all .25s ease-in-out;width:5px}.toggle-page-nav-button\u003espan[data-v-4b08b1df]:first-child{transform:translateY(-8px)}.toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(2){transform-origin:100% 50%}.toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(3){transform:translateY(8px)}.nav-menu-close-icon .toggle-page-nav-button\u003espan[data-v-4b08b1df]:first-child{border-radius:0;height:3px;transform:rotate(135deg);width:21px}.nav-menu-close-icon .toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(2){transform:scale(0)}.nav-menu-close-icon .toggle-page-nav-button\u003espan[data-v-4b08b1df]:nth-child(3){border-radius:0;height:3px;transform:rotate(-135deg);width:21px}@media (width \u003c\u003d 767px){.navbar[data-v-7c0fd418]{padding-bottom:0;padding-left:0;padding-right:0}.navbar-left[data-v-7c0fd418]{max-width:50%;order:1;padding-left:1rem}.navbar-left [data-v-7c0fd418]{white-space:normal}.navbar-right[data-v-7c0fd418]{max-width:50%;order:1;padding:0 16px}.navbar-default[data-v-7c0fd418]{-ms-overflow-style:none;display:block;margin-top:.3125rem;order:2;overflow-x:scroll;scrollbar-width:none;width:100%}.navbar-default[data-v-7c0fd418]::-webkit-scrollbar{display:none}.navbar-default ul[data-v-7c0fd418]{flex-direction:row;margin-top:0!important;width:100%}.navbar-default\u003eul\u003e[data-v-7c0fd418]{background:rgba(0,0,0,.2);flex-grow:1;padding:.3125rem .625rem}.navbar-light .navbar-default\u003eul\u003e[data-v-7c0fd418]{background:rgb(0 0 0/5%)}.navbar-default\u003eul\u003e.current[data-v-7c0fd418]{background:transparent}.navbar-default a[data-v-7c0fd418],[data-v-7c0fd418] .dropdown-toggle{margin:0 auto;width:max-content}[data-v-7c0fd418] .dropdown{align-items:center;display:flex}.container-fluid[data-v-7c0fd418]{padding:0}}.navbar-brand[data-v-7c0fd418]{display:inline-block}.navbar-brand\u003eimg[data-v-7c0fd418],.navbar-brand\u003esvg[data-v-7c0fd418]{display:block}.navbar-right[data-v-7c0fd418]{padding-right:1rem}.navbar-left[data-v-7c0fd418]{align-items:center;display:flex;font-size:1.25rem;line-height:inherit;padding:.3125rem 1rem;white-space:nowrap}.navbar-fixed[data-v-7c0fd418]{position:fixed;width:100%;z-index:1000}.navbar-default[data-v-7c0fd418]{align-items:center;display:flex;flex-basis:auto;flex-grow:1}[data-v-7c0fd418] .dropdown-current{background:#007bff;color:#fff!important}.lower-navbar-container[data-v-7c0fd418]{background-color:#fff;border-bottom:1px solid #c1c1c1;height:50px;position:relative;width:100%}.navbar.navbar-dark .navbar-nav[data-v-7c0fd418] .current:not(.dropdown) a,.navbar.navbar-dark .navbar-nav[data-v-7c0fd418] .dropdown.current\u003ea{color:#fff}.navbar.navbar-light .navbar-nav[data-v-7c0fd418] .current:not(.dropdown) a,.navbar.navbar-light .navbar-nav[data-v-7c0fd418] .dropdown.current\u003ea{color:#000}.collapse-button{float:right;font-size:10px!important;margin-left:3px;margin-top:2px;padding:3px 8px!important}.collapse-icon{transition:transform .4s ease-in-out}.collapse-icon.opened{transform:rotate(-180deg)}.card-container[data-v-3602e6fc]{scroll-margin-top:var(--sticky-header-height)}.card-collapse[data-v-3602e6fc]{overflow:hidden;transition:max-height .5s ease-in-out}.seamless-button[data-v-3602e6fc]{opacity:0;transition:opacity .3s}.card-header:hover .seamless-button[data-v-3602e6fc]{opacity:1}.card-peek-collapsed[data-v-3602e6fc]{position:relative}.card-peek-collapsed[data-v-3602e6fc]:after{background-image:linear-gradient(180deg,transparent,#fff 90%);bottom:0;content:\"\";height:125px;position:absolute;width:100%}.peek-read-more[data-v-3602e6fc]{opacity:.2;transition:opacity .5s;z-index:1}.peek-read-more[data-v-3602e6fc]:before{bottom:10px;position:absolute;text-align:center;width:100%}.peek-read-more[data-v-3602e6fc]:hover{cursor:pointer;opacity:.4}.peek-read-more-fade-enter[data-v-3602e6fc],.peek-read-more-fade-leave-to[data-v-3602e6fc]{opacity:0}.card-heading{width:100%}.card-title{display:inline-block;font-size:1em;line-height:1.2em;margin:0;text-align:left;white-space:normal}.card-title *{margin-bottom:0!important}.caret-wrapper{float:left;width:32px}.minimal-caret-wrapper{display:inline-block;font-size:13px;margin-right:5px}.header-wrapper{display:inline-block;transition:opacity .5s;width:calc(100% - 128px)}.header-transparent{opacity:0}.button-wrapper{float:right;width:96px}.header-toggle{cursor:pointer}.expandable-card{margin-bottom:0!important;margin-top:5px}.card-collapse\u003ehr{margin-top:0}.card-group\u003e.card-container\u003e.expandable-card{margin-top:0!important}.bottom-button-wrapper{margin-bottom:13px;padding-bottom:13px}.bottom-button-wrapper\u003e.collapse-button{margin-top:5px;opacity:.2}.bottom-button-wrapper\u003e.collapse-button:hover{opacity:1}.close-button{margin-left:3px}.close-button,.popup-button{float:right;font-size:10px!important;margin-top:2px;padding:3px 8px!important}.morph{display:inline-block}.morph-display-wrapper{align-items:center;display:flex;margin-top:5px}@media (width \u003c\u003d 575.98px){.header-wrapper{display:inline-block;width:calc(100% - 64px)}.button-wrapper{float:right;width:32px}.card-body{padding:.5rem}.card-collapse\u003ehr{margin-top:.5rem}.card-header{padding:.5rem}}.card-peek-collapsed[data-v-6cec1f15]{position:relative}.card-peek-collapsed[data-v-6cec1f15]:after{background-image:linear-gradient(180deg,transparent,#fff 90%);bottom:0;content:\"\";height:125px;position:absolute;width:100%}.morph-title[data-v-6cec1f15]{background-color:transparent;border-color:#000;padding:0 .3em;vertical-align:top}.morph-title[data-v-6cec1f15]:active,.morph-title[data-v-6cec1f15]:focus,.morph-title[data-v-6cec1f15]:hover{background-color:#343a40;border-color:#343a40;color:#fff}.card-collapse[data-v-6cec1f15]{overflow:hidden;transition:max-height .5s ease-in-out}.card-flex[data-v-6cec1f15]{border:0;display:flex;flex-direction:column;margin:0}.header-fade-enter[data-v-6cec1f15]{opacity:0}.header-fade-leave-active[data-v-6cec1f15]{position:absolute}.header-fade-leave-to[data-v-6cec1f15]{opacity:0!important}.card-title-inline[data-v-6cec1f15]{display:inline-block}.card-body[data-v-6cec1f15]{padding:0}.header-wrapper[data-v-6cec1f15]{background-color:#fff;display:inline-block;width:100%}.header-wrapper-bottom[data-v-6cec1f15]{order:1}.ellipses[data-v-6cec1f15]:before{bottom:3px;content:\"...\";font-weight:900;margin-right:4px;position:relative}.button-wrapper[data-v-6cec1f15]{border:solid hsla(0,0%,59%,.2);border-width:0 0 0 1px;display:inline-block;float:none;margin-left:2px;opacity:0;padding-left:2px;transition:opacity .5s;vertical-align:text-top;width:auto}.button-wrapper-expanded[data-v-6cec1f15]{border:0;margin-left:0;padding-left:0}.card:hover .button-wrapper[data-v-6cec1f15]{opacity:1}.header-toggle[data-v-6cec1f15]{cursor:pointer}.glyphicon[data-v-6cec1f15]{font-size:12px}.minimal-button[data-v-6cec1f15]{background-color:transparent;border:0;color:#969696;cursor:pointer;padding:0 3px}.minimal-button[data-v-6cec1f15]:active,.minimal-button[data-v-6cec1f15]:focus,.minimal-button[data-v-6cec1f15]:hover{color:#1e1e1e}.minimal-popup-button[data-v-6cec1f15]{font-size:9px;top:1px}.minimal-menu-up[data-v-6cec1f15]{font-size:13px;top:2px}.minimal-menu-down[data-v-6cec1f15]{font-size:13px;top:1px}.minimal-close-button[data-v-6cec1f15]{font-size:11px;top:0}@media (width \u003c\u003d 575.98px){.button-wrapper-expanded[data-v-6cec1f15]{border:0;margin-left:0;opacity:.15;padding-left:0}.button-wrapper-visible[data-v-6cec1f15]{opacity:1}}.annotate-image-wrapper{display:inline-block;position:relative;text-align:left}.annotate-image{height:auto;max-width:100%}.annotate-point{bottom:0;left:0;pointer-events:none;top:0}.annotate-point,.popover-annotation{height:100%;position:absolute;width:100%}.hover-point{border-radius:50%;border-style:solid;border-width:1px;z-index:1}.hover-label{pointer-events:none;position:absolute;text-align:center;z-index:2}.hover-wrapper{align-items:center;background:transparent;display:inline-flex;justify-content:center;z-index:0}.legend-wrapper{height:100%;position:relative}.text-header{font-size:1.1em;font-weight:500;margin-top:1em}.image-wrapper{display:inline-block;padding:4px;text-align:center}.image-caption{display:block}.quiz-container[data-v-2b2275c0]{isolation:isolate;overflow:hidden}.intro-outro-card[data-v-2b2275c0]{transition:transform .35s ease-out,opacity .35s linear}.intro-outro-card-enter-active[data-v-2b2275c0],.intro-outro-card-leave-to[data-v-2b2275c0]{opacity:0}.intro-outro-card\u003e.card-body[data-v-2b2275c0]{align-items:center;display:flex;flex-direction:column;justify-content:center}.score[data-v-2b2275c0]{font-size:1.4rem;font-weight:700}.score-circle[data-v-2b2275c0]{stroke-dasharray:264;fill:none;stroke:rgba(132,215,255,.8);stroke-width:8;transition:stroke-dashoffset 1.5s ease-out,stroke 1.5s linear}.score-background-circle[data-v-2b2275c0]{fill:none;stroke:hsla(0,2%,89%,.5);stroke-width:8}.btn[data-v-2b2275c0]{border-radius:2em}.progress-bar-z[data-v-2b2275c0]{z-index:1}.result-icon[data-v-ae369d74]{align-items:center;border-radius:2em;border-style:solid;border-width:2px;display:inline-flex;height:2em;justify-content:center;width:2em}.question[data-v-ae369d74]{margin-bottom:1rem;transition:transform .35s ease-out,opacity .35s linear}.question-enter-active[data-v-ae369d74]{opacity:0;transform:translateY(-2%)}.question-leave-to[data-v-ae369d74]{opacity:0;transform:translateY(2%)}.q-btn[data-v-ae369d74]{border-radius:2.5em;transition:opacity .5s,transform .7s}.q-btn-enter[data-v-ae369d74]{opacity:0;transform:translateY(30px)}.q-btn-leave-to[data-v-ae369d74]{opacity:0;transform:translateX(calc(-100% - .25rem))}.q-btn-leave-active[data-v-ae369d74]{position:absolute}.card-header[data-v-ae369d74]{font-size:1.05em;font-weight:400}.answer[data-v-ae369d74]\u003e:last-child,.card-header[data-v-ae369d74]\u003e:last-child{margin-bottom:0}@keyframes shake-data-v-ae369d74{50%{transform:translate(-2px)}to{transform:translate(2px)}}.shake[data-v-ae369d74]{animation:shake-data-v-ae369d74 .15s;animation-iteration-count:1}textarea.form-control[data-v-ae369d74]{height:auto;margin-bottom:10px;min-height:75px}.fa-check[data-v-1074287c],.fa-times[data-v-1074287c]{font-size:1.2em}.content[data-v-1074287c] :last-child,.reason[data-v-1074287c] :last-child{margin-bottom:0}.reason[data-v-1074287c]{padding:0 .5rem}.checkbox-label[data-v-1074287c]{cursor:pointer}.form-control[data-v-1074287c]{cursor:pointer;height:auto;margin-bottom:10px}.form-control.danger\u003e.checkbox-label[data-v-1074287c],.form-control.danger[data-v-1074287c],.form-control.success\u003e.checkbox-label[data-v-1074287c],.form-control.success[data-v-1074287c]{cursor:default}.disabled[data-v-1074287c]{opacity:.9}.radio-svg[data-v-1074287c]{height:1em;vertical-align:text-top;width:1em}.checkbox[data-v-1074287c]{height:1em;margin-right:5px;vertical-align:middle;width:1em}.row[data-v-1074287c]{align-items:center;margin:.2rem 0 0}input.form-control[data-v-1074287c]{cursor:text;height:auto;margin-bottom:0;min-height:20px;width:50%}.blanks-keywords[data-v-1074287c],input.form-control[data-v-1074287c]:disabled{margin-bottom:.5rem}.blanks-form-control[data-v-1074287c]{border:none;cursor:default}.blanks-cross[data-v-1074287c]{margin-left:3px;margin-right:3px}.fa-hashtag[data-v-98afe086],.fa-key[data-v-98afe086]{padding-right:.2em}.mark[data-v-98afe086]{padding:0!important}.heading[data-v-98afe086]{padding:0 0 .1rem .2rem}.heading-text[data-v-98afe086]{display:inline-block;vertical-align:top;white-space:normal;width:92%;word-break:break-word}.keyword-text[data-v-98afe086]{font-size:smaller}.page-title[data-v-98afe086]{font-size:1.05rem;font-weight:700}.page-headings-separator[data-v-98afe086]{margin:.2rem 0}.dropdown[data-v-cea1a814]{display:block}.form-control[data-v-cea1a814]{max-width:25.4em;min-width:12.7em}@media screen and (width \u003c\u003d 878px) and (orientation:portrait){.form-control[data-v-cea1a814]{max-width:16em;min-width:8em}}@media screen and (width \u003e\u003d 768px) and (width \u003c\u003d 878px) and (orientation:landscape){.form-control[data-v-cea1a814]{max-width:18em;min-width:9em}}.table-active[data-v-cea1a814]{background-color:rgba(0,0,0,.075)}.dropdown-menu-end[data-v-cea1a814]{left:auto;right:0}.placeholder-div-hidden[data-v-cea1a814]{border-bottom:0;border-top:0;height:0;overflow:hidden;padding-bottom:0;padding-top:0;visibility:hidden}.search-dropdown-menu{max-height:30em;min-width:30em;overflow-y:scroll}.dropdown-menu\u003eli\u003ea{cursor:pointer}@media screen and (width \u003c\u003d 768px){.search-dropdown-menu{max-height:30em;min-width:90vw;overflow-y:scroll}.dropdown-menu.search-dropdown-menu{position:absolute}}.tab-pane\u003ehr[data-v-661c1b61]{margin:0}.printable-tab-header[data-v-661c1b61],.tab-pane-hide[data-v-661c1b61]{display:none}@media print{.printable-tab-header[data-v-661c1b61]{border-bottom:1px solid #dee2e6;display:flex;margin-bottom:15px}.printable-tab-header\u003ediv[data-v-661c1b61]{margin-bottom:-2px}.printable-tab-pane[data-v-661c1b61]{display:block;padding:10px}}.nav-tabs[data-v-a785351c]{margin-bottom:15px}.printable-tab-group-header[data-v-a785351c]{display:none}@media print{.printable-tab-group[data-v-a785351c]{border:1px solid #dee2e6;border-radius:5px;margin:10px 0;padding:10px}.printable-tab-group-header[data-v-a785351c]{display:block;margin-bottom:10px;text-decoration:underline}}.nav-tabs[data-v-70a68808]{margin-bottom:15px}.tab-content[data-v-70a68808]{margin-bottom:1.5rem}@media print{.printable-tabs[data-v-70a68808]{border:1px solid #dee2e6;border-radius:5px;padding:20px}}.thumb-wrapper{display:inline-block;overflow:hidden;position:relative;text-align:center;vertical-align:middle}.thumb-circle{border-radius:50%}.thumb-image{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.site-nav-root a.current{color:#0072ec}.site-nav-list{list-style-type:none;padding-left:0}.site-nav-default-list-item{cursor:pointer;display:flex;transition:background-color .08s}.site-nav-custom-list-item,.site-nav-default-list-item{color:#454545;padding:.5rem 0 0 2.8rem}.site-nav-list-item-0{font-size:1.2em;font-weight:500;padding:.5rem 0 .5rem .8rem}.site-nav-list-item-1{font-size:1.03em;padding:.4rem 0 .4rem 1.3rem}.site-nav-list-item-2{font-size:.89em;padding:.3rem 0 .3rem 1.8rem}.site-nav-list-item-3{font-size:.76em;padding:.2rem 0 .2rem 2.4rem}.site-nav-default-list-item:hover{background-color:rgba(214,233,255,.35)}.site-nav-default-list-item a{color:#454545;display:inline-block;height:100%}.site-nav-default-list-item:hover a{color:#000;text-decoration:none}.site-nav-dropdown-btn-container{display:flex;height:1.5em;margin:0 .75rem 0 auto;place-content:center center;width:2rem}.site-nav-dropdown-btn-icon{align-self:center;border-radius:1rem;display:inline-block;height:1.5em;padding:0;text-align:center;transform:rotate(0deg);transition:.4s;vertical-align:baseline;width:1.5em}.site-nav-dropdown-btn-icon:hover{background-color:#d8e3fb}.site-nav-rotate-icon{color:#4c7ff1;transform:rotate(-180deg)}.site-nav-dropdown-container{background:transparent;max-height:0;overflow:hidden;transition:max-height .15s ease-out}.site-nav-dropdown-container-open{max-height:1000px;transition:max-height .25s ease-in}.nav-menu[data-v-1a3e7aee]{display:none;overflow-y:auto;padding:0 10px 20px;position:absolute;top:100%}.nav-menu-open[data-v-1a3e7aee]{background:#fff;clear:both;display:block!important;width:100%!important}.mb-mobile-nav[data-v-e6005420]{border:none!important;display:block!important;margin:0!important;max-width:100%!important;padding:10px!important;width:100%!important}.popover-container{max-height:50vh;max-width:276px;overflow:auto}.popover-body{font-size:.875rem}.v-popper{display:inline}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.9);font-size:.875rem;max-width:200px;padding:4px 8px;text-align:center}.modal{display:block}.modal-zoom{opacity:0;transform:scale(.1);transition:all .3s}.modal-zoom-show{opacity:1;transform:scale(1);transition:all .3s}.scroll-top-button{bottom:20px;cursor:pointer;display:none;opacity:.4;position:fixed;right:30px;transition-duration:.25s;transition-property:opacity;z-index:99}.scroll-top-button.lighten{opacity:.15}@media (hover:hover){.scroll-top-button:hover{opacity:.7}}.scroll-top-button:active{opacity:1}@media print{.hljs{background:#f8f8ff;color:#333;display:block;overflow-x:auto;padding:.5em}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:700}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:teal}.hljs-doctag,.hljs-string{color:#d14}.hljs-section,.hljs-selector-id,.hljs-title{color:#900;font-weight:700}.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type{color:#458;font-weight:700}.hljs-attribute,.hljs-name,.hljs-tag{color:navy;font-weight:400}.hljs-link,.hljs-regexp{color:#009926}.hljs-bullet,.hljs-symbol{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#0086b3}.hljs-meta{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs span.highlighted{background:#e6e6fa}.hljs.inline{background:#f8f8f8}.hljs.inline.no-lang{color:#e83e8c}.hljs:not(.inline){border:1px solid #c8c8c8;border:1px solid hsla(0,0%,78%,.3)}.code-block-heading{background:#f2f2ff;color:#8787a5}button.function-btn{background-color:#f8f8ff}}:root{--sticky-header-height:0}a{text-decoration:none}blockquote{border-left:.25em solid #dfe2e5;color:#6a737d;padding:0 1rem}code{background:#f8f8f8;border-radius:3px;padding:.2em .4em;word-break:normal}mark code{background:#ffffffd4}pre.hljs\u003ecode{background:none}pre\u003ecode.hljs{background-clip:padding-box;border-radius:5px;counter-reset:line;width:100%}pre\u003ecode.hljs[heading]{border-top-right-radius:0}.code-block{position:relative}.code-block-heading{border-radius:6px 6px 0 0;float:right;font-size:85%;line-height:1;margin-top:5px;max-width:85%;overflow-wrap:break-word;padding:.25em .4em;text-align:right}.inline-markdown-heading{line-height:1.5}.code-block-content{clear:both;display:block}@media print{pre\u003ecode.hljs{word-wrap:break-word;white-space:pre-wrap;word-break:break-all}.hljs:not(.inline).line-numbers-print\u003espan{padding:0 .5em 0 3.5em;position:relative}.hljs:not(.inline).line-numbers-print\u003espan:before{border-right:1px solid #ddd;color:#888;content:counter(line);counter-increment:line;display:inline-block;height:100%;left:0;margin-right:.5em;padding-right:.5em;position:absolute;text-align:right;top:0;width:3em}.hljs span.highlighted{background:#e6e6fa!important;-webkit-print-color-adjust:exact}}kbd{background-color:#fafbfc;border:1px solid #c6cbd1;border-bottom-color:#959da5;box-shadow:inset 0 -1px 0 #959da5;color:#444d56}.btn:active,.btn:focus{box-shadow:none!important;outline:none!important}code.hljs.inline{display:initial;padding:.2em .4em}.markbind-table{width:auto}.radio-list-item,.task-list-item{list-style-type:none;margin:0 0 0 -1.2em}.radio-list-item label{font-weight:inherit}.table-striped\u003etbody\u003etr:nth-of-type(2n),.table-striped\u003ethead{background-color:#fff}header[sticky]{position:sticky;top:0;transition:transform .3s ease-in-out;width:100%;z-index:1001}header[sticky].hide-header{transform:translateY(calc(var(--sticky-header-height)*-1))}span.anchor{position:relative;top:calc(var(--sticky-header-height)*-1 - 1rem)}#app{display:flex;flex-direction:column;min-height:100vh}footer{background-color:#f5f5f5;color:dimgrey;padding:10px 0}.dimmed{color:#777}.large{font-size:125%}.small{font-size:80%}.underline{text-decoration:underline}.mkb-text-red{color:red!important}.mkb-text-green{color:green!important}.mkb-text-blue{color:blue!important}.mkb-text-cyan{color:cyan!important}.mkb-text-magenta{color:#f0f!important}.mkb-text-yellow{color:#ff0!important}.mkb-text-black{color:#000!important}.mkb-text-white{color:#fff!important}@media (width \u003c\u003d 767.98px){.dropdown-menu\u003eli\u003ea{white-space:normal}.navbar-nav .open .dropdown-menu{background-color:#fff}}li.footnote-item:target{background-color:#eee}.hljs:not(.inline)\u003espan{display:block}.hljs:not(.inline).line-numbers\u003espan{padding:0 .5em 0 3.5em;position:relative}.hljs:not(.inline).line-numbers\u003espan:before{border-right:1px solid #ddd;color:#888;content:counter(line);counter-increment:line;display:inline-block;height:100%;left:0;margin-right:.5em;padding-right:.5em;position:absolute;text-align:right;top:0;width:3em}.trigger{border-bottom:1px dotted}.trigger-click{border-bottom:1px dashed;cursor:pointer}.trigger-click:focus{outline:none}pre{display:flex;position:relative}button.function-btn{border:1px solid #d7dadc;border-radius:5px;color:#a9a9a9;cursor:pointer;display:none;margin:.17rem;padding:.35rem;position:absolute;right:0;text-align:center;white-space:nowrap}button.function-btn+button.function-btn{right:36px}pre:hover\u003e.function-btn-container\u003ebutton.function-btn{display:block}.function-btn:hover{color:gray;transition:all .5s ease}.function-btn-body{align-items:center;display:flex}.function-btn svg{fill:currentcolor}code.wrap{word-wrap:break-word;white-space:pre-wrap;word-break:break-all}.octicon{height:1em;width:1em}hr{background-color:transparent;border-top:1px solid rgba(0,0,0,.1);opacity:1}hr.dotted{border-top-style:dotted;border-top-width:.1rem}hr.double{border-top-style:double;border-top-width:.2rem}hr.dashed{border-top-style:dashed;border-top-width:.1rem}hr.thick{border-top-width:.15rem}hr.thick-1{border-top-width:.25rem}hr.thick-2{border-top-width:.5rem}hr.thick-3{border-top-width:.75rem}ol,ul{padding-left:1.5rem}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;scroll-margin-top:var(--sticky-header-height)}.block-embed{overflow-x:auto;position:relative;width:100%}.block-embed iframe{height:100%;left:0;position:absolute;top:0;width:100%}#mb-page-nav{padding:.8rem 12px 0}#mb-page-nav a:link,#mb-page-nav a:visited{color:#9b9b9b;text-decoration:none}#mb-page-nav a:hover{color:#000}#mb-page-nav a.active{background-color:transparent;color:#000}.page-nav-title{color:#000;display:block;padding-left:.5rem;white-space:inherit}.nested{margin-left:5%}.no-flex-wrap{flex-wrap:nowrap}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_AMS-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_AMS-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_AMS-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../fonts/KaTeX_Caligraphic-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_Caligraphic-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_Caligraphic-Bold.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Caligraphic-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Caligraphic-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Caligraphic-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../fonts/KaTeX_Fraktur-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_Fraktur-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_Fraktur-Bold.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Fraktur-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Fraktur-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Fraktur-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../fonts/KaTeX_Main-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_Main-Bold.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../fonts/KaTeX_Main-BoldItalic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-BoldItalic.woff) format(\"woff\"),url(../fonts/KaTeX_Main-BoldItalic.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../fonts/KaTeX_Main-Italic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-Italic.woff) format(\"woff\"),url(../fonts/KaTeX_Main-Italic.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Main-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Main-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Main-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../fonts/KaTeX_Math-BoldItalic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Math-BoldItalic.woff) format(\"woff\"),url(../fonts/KaTeX_Math-BoldItalic.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../fonts/KaTeX_Math-Italic.woff2) format(\"woff2\"),url(../fonts/KaTeX_Math-Italic.woff) format(\"woff\"),url(../fonts/KaTeX_Math-Italic.ttf) format(\"truetype\")}@font-face{font-family:\"KaTeX_SansSerif\";font-style:normal;font-weight:700;src:url(../fonts/KaTeX_SansSerif-Bold.woff2) format(\"woff2\"),url(../fonts/KaTeX_SansSerif-Bold.woff) format(\"woff\"),url(../fonts/KaTeX_SansSerif-Bold.ttf) format(\"truetype\")}@font-face{font-family:\"KaTeX_SansSerif\";font-style:italic;font-weight:400;src:url(../fonts/KaTeX_SansSerif-Italic.woff2) format(\"woff2\"),url(../fonts/KaTeX_SansSerif-Italic.woff) format(\"woff\"),url(../fonts/KaTeX_SansSerif-Italic.ttf) format(\"truetype\")}@font-face{font-family:\"KaTeX_SansSerif\";font-style:normal;font-weight:400;src:url(../fonts/KaTeX_SansSerif-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_SansSerif-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_SansSerif-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Script-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Script-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Script-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size1-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size1-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size1-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size2-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size2-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size2-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size3-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size3-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size3-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Size4-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Size4-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Size4-Regular.ttf) format(\"truetype\")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../fonts/KaTeX_Typewriter-Regular.woff2) format(\"woff2\"),url(../fonts/KaTeX_Typewriter-Regular.woff) format(\"woff\"),url(../fonts/KaTeX_Typewriter-Regular.ttf) format(\"truetype\")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:\"0.15.6\"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html\u003e.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist\u003espan{display:block;height:0;position:relative}.katex .vlist\u003espan\u003espan{display:inline-block}.katex .vlist\u003espan\u003e.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac\u003espan\u003espan{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap\u003e.inner,.katex .llap\u003e.inner,.katex .rlap\u003e.inner{position:absolute}.katex .clap\u003e.fix,.katex .llap\u003e.fix,.katex .rlap\u003e.fix{display:inline-block}.katex .llap\u003e.inner{right:0}.katex .clap\u003e.inner,.katex .rlap\u003e.inner{left:0}.katex .clap\u003e.inner\u003espan{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt\u003e.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1\u003espan{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4\u003espan{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent\u003e.vlist-t,.katex .op-limits\u003e.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c\u003e.vlist-t{text-align:center}.katex .mtable .col-align-l\u003e.vlist-t{text-align:left}.katex .mtable .col-align-r\u003e.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:\"\"}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:\"(\" counter(katexEqnNo) \")\";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:\"(\" counter(mmlEqnNo) \")\";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display\u003e.katex{display:block;text-align:center;white-space:nowrap}.katex-display\u003e.katex\u003e.katex-html{display:block;position:relative}.katex-display\u003e.katex\u003e.katex-html\u003e.tag{position:absolute;right:0}.katex-display.leqno\u003e.katex\u003e.katex-html\u003e.tag{left:0;right:auto}.katex-display.fleqn\u003e.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.katex{font-size:1em!important}eq{display:inline-block}eqn{display:block}section.eqno{align-content:space-between;align-items:center;display:flex;flex-direction:row}section.eqno\u003eeqn{margin-left:3em;width:100%}section.eqno\u003espan{text-align:right;width:3em}"}],"authorContributionMap":{"KevinEyo1":1}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/css/octicons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":".octicon {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" vertical-align: text-top;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" fill: currentColor;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" overflow: visible;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":6}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/fontawesome/css/all.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" * Copyright 2023 Fonticons, Inc."},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" */"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":".fa{font-family:var(--fa-style-family,\"Font Awesome 6 Free\");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:\"Font Awesome 6 Free\"}.fa-brands,.fab{font-family:\"Font Awesome 6 Brands\"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul\u003eli{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".fa-0:before{content:\"\\30\"}.fa-1:before{content:\"\\31\"}.fa-2:before{content:\"\\32\"}.fa-3:before{content:\"\\33\"}.fa-4:before{content:\"\\34\"}.fa-5:before{content:\"\\35\"}.fa-6:before{content:\"\\36\"}.fa-7:before{content:\"\\37\"}.fa-8:before{content:\"\\38\"}.fa-9:before{content:\"\\39\"}.fa-fill-drip:before{content:\"\\f576\"}.fa-arrows-to-circle:before{content:\"\\e4bd\"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:\"\\f138\"}.fa-at:before{content:\"\\40\"}.fa-trash-alt:before,.fa-trash-can:before{content:\"\\f2ed\"}.fa-text-height:before{content:\"\\f034\"}.fa-user-times:before,.fa-user-xmark:before{content:\"\\f235\"}.fa-stethoscope:before{content:\"\\f0f1\"}.fa-comment-alt:before,.fa-message:before{content:\"\\f27a\"}.fa-info:before{content:\"\\f129\"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:\"\\f422\"}.fa-explosion:before{content:\"\\e4e9\"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:\"\\f15c\"}.fa-wave-square:before{content:\"\\f83e\"}.fa-ring:before{content:\"\\f70b\"}.fa-building-un:before{content:\"\\e4d9\"}.fa-dice-three:before{content:\"\\f527\"}.fa-calendar-alt:before,.fa-calendar-days:before{content:\"\\f073\"}.fa-anchor-circle-check:before{content:\"\\e4aa\"}.fa-building-circle-arrow-right:before{content:\"\\e4d1\"}.fa-volleyball-ball:before,.fa-volleyball:before{content:\"\\f45f\"}.fa-arrows-up-to-line:before{content:\"\\e4c2\"}.fa-sort-desc:before,.fa-sort-down:before{content:\"\\f0dd\"}.fa-circle-minus:before,.fa-minus-circle:before{content:\"\\f056\"}.fa-door-open:before{content:\"\\f52b\"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:\"\\f2f5\"}.fa-atom:before{content:\"\\f5d2\"}.fa-soap:before{content:\"\\e06e\"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:\"\\f86d\"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:\"\\f539\"}.fa-bridge-circle-check:before{content:\"\\e4c9\"}.fa-pump-medical:before{content:\"\\e06a\"}.fa-fingerprint:before{content:\"\\f577\"}.fa-hand-point-right:before{content:\"\\f0a4\"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:\"\\f689\"}.fa-forward-step:before,.fa-step-forward:before{content:\"\\f051\"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:\"\\f5b8\"}.fa-flag-checkered:before{content:\"\\f11e\"}.fa-football-ball:before,.fa-football:before{content:\"\\f44e\"}.fa-school-circle-exclamation:before{content:\"\\e56c\"}.fa-crop:before{content:\"\\f125\"}.fa-angle-double-down:before,.fa-angles-down:before{content:\"\\f103\"}.fa-users-rectangle:before{content:\"\\e594\"}.fa-people-roof:before{content:\"\\e537\"}.fa-people-line:before{content:\"\\e534\"}.fa-beer-mug-empty:before,.fa-beer:before{content:\"\\f0fc\"}.fa-diagram-predecessor:before{content:\"\\e477\"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:\"\\f176\"}.fa-burn:before,.fa-fire-flame-simple:before{content:\"\\f46a\"}.fa-male:before,.fa-person:before{content:\"\\f183\"}.fa-laptop:before{content:\"\\f109\"}.fa-file-csv:before{content:\"\\f6dd\"}.fa-menorah:before{content:\"\\f676\"}.fa-truck-plane:before{content:\"\\e58f\"}.fa-record-vinyl:before{content:\"\\f8d9\"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:\"\\f587\"}.fa-bong:before{content:\"\\f55c\"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:\"\\f67b\"}.fa-arrow-down-up-across-line:before{content:\"\\e4af\"}.fa-spoon:before,.fa-utensil-spoon:before{content:\"\\f2e5\"}.fa-jar-wheat:before{content:\"\\e517\"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:\"\\f674\"}.fa-file-circle-exclamation:before{content:\"\\e4eb\"}.fa-circle-h:before,.fa-hospital-symbol:before{content:\"\\f47e\"}.fa-pager:before{content:\"\\f815\"}.fa-address-book:before,.fa-contact-book:before{content:\"\\f2b9\"}.fa-strikethrough:before{content:\"\\f0cc\"}.fa-k:before{content:\"\\4b\"}.fa-landmark-flag:before{content:\"\\e51c\"}.fa-pencil-alt:before,.fa-pencil:before{content:\"\\f303\"}.fa-backward:before{content:\"\\f04a\"}.fa-caret-right:before{content:\"\\f0da\"}.fa-comments:before{content:\"\\f086\"}.fa-file-clipboard:before,.fa-paste:before{content:\"\\f0ea\"}.fa-code-pull-request:before{content:\"\\e13c\"}.fa-clipboard-list:before{content:\"\\f46d\"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:\"\\f4de\"}.fa-user-check:before{content:\"\\f4fc\"}.fa-vial-virus:before{content:\"\\e597\"}.fa-sheet-plastic:before{content:\"\\e571\"}.fa-blog:before{content:\"\\f781\"}.fa-user-ninja:before{content:\"\\f504\"}.fa-person-arrow-up-from-line:before{content:\"\\e539\"}.fa-scroll-torah:before,.fa-torah:before{content:\"\\f6a0\"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:\"\\f458\"}.fa-toggle-off:before{content:\"\\f204\"}.fa-archive:before,.fa-box-archive:before{content:\"\\f187\"}.fa-person-drowning:before{content:\"\\e545\"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:\"\\f886\"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:\"\\f58a\"}.fa-spray-can:before{content:\"\\f5bd\"}.fa-truck-monster:before{content:\"\\f63b\"}.fa-w:before{content:\"\\57\"}.fa-earth-africa:before,.fa-globe-africa:before{content:\"\\f57c\"}.fa-rainbow:before{content:\"\\f75b\"}.fa-circle-notch:before{content:\"\\f1ce\"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:\"\\f3fa\"}.fa-paw:before{content:\"\\f1b0\"}.fa-cloud:before{content:\"\\f0c2\"}.fa-trowel-bricks:before{content:\"\\e58a\"}.fa-face-flushed:before,.fa-flushed:before{content:\"\\f579\"}.fa-hospital-user:before{content:\"\\f80d\"}.fa-tent-arrow-left-right:before{content:\"\\e57f\"}.fa-gavel:before,.fa-legal:before{content:\"\\f0e3\"}.fa-binoculars:before{content:\"\\f1e5\"}.fa-microphone-slash:before{content:\"\\f131\"}.fa-box-tissue:before{content:\"\\e05b\"}.fa-motorcycle:before{content:\"\\f21c\"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:\"\\f562\"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:\"\\f5ae\"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:\"\\e068\"}.fa-mars-and-venus-burst:before{content:\"\\e523\"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:\"\\f152\"}.fa-cut:before,.fa-scissors:before{content:\"\\f0c4\"}.fa-sun-plant-wilt:before{content:\"\\e57a\"}.fa-toilets-portable:before{content:\"\\e584\"}.fa-hockey-puck:before{content:\"\\f453\"}.fa-table:before{content:\"\\f0ce\"}.fa-magnifying-glass-arrow-right:before{content:\"\\e521\"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:\"\\f566\"}.fa-users-slash:before{content:\"\\e073\"}.fa-clover:before{content:\"\\e139\"}.fa-mail-reply:before,.fa-reply:before{content:\"\\f3e5\"}.fa-star-and-crescent:before{content:\"\\f699\"}.fa-house-fire:before{content:\"\\e50c\"}.fa-minus-square:before,.fa-square-minus:before{content:\"\\f146\"}.fa-helicopter:before{content:\"\\f533\"}.fa-compass:before{content:\"\\f14e\"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:\"\\f150\"}.fa-file-circle-question:before{content:\"\\e4ef\"}.fa-laptop-code:before{content:\"\\f5fc\"}.fa-swatchbook:before{content:\"\\f5c3\"}.fa-prescription-bottle:before{content:\"\\f485\"}.fa-bars:before,.fa-navicon:before{content:\"\\f0c9\"}.fa-people-group:before{content:\"\\e533\"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:\"\\f253\"}.fa-heart-broken:before,.fa-heart-crack:before{content:\"\\f7a9\"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:\"\\f360\"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:\"\\f597\"}.fa-film:before{content:\"\\f008\"}.fa-ruler-horizontal:before{content:\"\\f547\"}.fa-people-robbery:before{content:\"\\e536\"}.fa-lightbulb:before{content:\"\\f0eb\"}.fa-caret-left:before{content:\"\\f0d9\"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:\"\\f06a\"}.fa-school-circle-xmark:before{content:\"\\e56d\"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:\"\\f08b\"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:\"\\f13a\"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:\"\\f13e\"}.fa-cloud-showers-heavy:before{content:\"\\f740\"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:\"\\f58f\"}.fa-sitemap:before{content:\"\\f0e8\"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:\"\\f4b9\"}.fa-memory:before{content:\"\\f538\"}.fa-road-spikes:before{content:\"\\e568\"}.fa-fire-burner:before{content:\"\\e4f1\"}.fa-flag:before{content:\"\\f024\"}.fa-hanukiah:before{content:\"\\f6e6\"}.fa-feather:before{content:\"\\f52d\"}.fa-volume-down:before,.fa-volume-low:before{content:\"\\f027\"}.fa-comment-slash:before{content:\"\\f4b3\"}.fa-cloud-sun-rain:before{content:\"\\f743\"}.fa-compress:before{content:\"\\f066\"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:\"\\e2cd\"}.fa-ankh:before{content:\"\\f644\"}.fa-hands-holding-child:before{content:\"\\e4fa\"}.fa-asterisk:before{content:\"\\2a\"}.fa-check-square:before,.fa-square-check:before{content:\"\\f14a\"}.fa-peseta-sign:before{content:\"\\e221\"}.fa-header:before,.fa-heading:before{content:\"\\f1dc\"}.fa-ghost:before{content:\"\\f6e2\"}.fa-list-squares:before,.fa-list:before{content:\"\\f03a\"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:\"\\f87b\"}.fa-cart-plus:before{content:\"\\f217\"}.fa-gamepad:before{content:\"\\f11b\"}.fa-circle-dot:before,.fa-dot-circle:before{content:\"\\f192\"}.fa-dizzy:before,.fa-face-dizzy:before{content:\"\\f567\"}.fa-egg:before{content:\"\\f7fb\"}.fa-house-medical-circle-xmark:before{content:\"\\e513\"}.fa-campground:before{content:\"\\f6bb\"}.fa-folder-plus:before{content:\"\\f65e\"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:\"\\f1e3\"}.fa-paint-brush:before,.fa-paintbrush:before{content:\"\\f1fc\"}.fa-lock:before{content:\"\\f023\"}.fa-gas-pump:before{content:\"\\f52f\"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:\"\\f593\"}.fa-map-location:before,.fa-map-marked:before{content:\"\\f59f\"}.fa-house-flood-water:before{content:\"\\e50e\"}.fa-tree:before{content:\"\\f1bb\"}.fa-bridge-lock:before{content:\"\\e4cc\"}.fa-sack-dollar:before{content:\"\\f81d\"}.fa-edit:before,.fa-pen-to-square:before{content:\"\\f044\"}.fa-car-side:before{content:\"\\f5e4\"}.fa-share-alt:before,.fa-share-nodes:before{content:\"\\f1e0\"}.fa-heart-circle-minus:before{content:\"\\e4ff\"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:\"\\f252\"}.fa-microscope:before{content:\"\\f610\"}.fa-sink:before{content:\"\\e06d\"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:\"\\f290\"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:\"\\f881\"}.fa-mitten:before{content:\"\\f7b5\"}.fa-person-rays:before{content:\"\\e54d\"}.fa-users:before{content:\"\\f0c0\"}.fa-eye-slash:before{content:\"\\f070\"}.fa-flask-vial:before{content:\"\\e4f3\"}.fa-hand-paper:before,.fa-hand:before{content:\"\\f256\"}.fa-om:before{content:\"\\f679\"}.fa-worm:before{content:\"\\e599\"}.fa-house-circle-xmark:before{content:\"\\e50b\"}.fa-plug:before{content:\"\\f1e6\"}.fa-chevron-up:before{content:\"\\f077\"}.fa-hand-spock:before{content:\"\\f259\"}.fa-stopwatch:before{content:\"\\f2f2\"}.fa-face-kiss:before,.fa-kiss:before{content:\"\\f596\"}.fa-bridge-circle-xmark:before{content:\"\\e4cb\"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:\"\\f589\"}.fa-chess-bishop:before{content:\"\\f43a\"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:\"\\f58c\"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:\"\\f2a4\"}.fa-road-circle-check:before{content:\"\\e564\"}.fa-dice-five:before{content:\"\\f523\"}.fa-rss-square:before,.fa-square-rss:before{content:\"\\f143\"}.fa-land-mine-on:before{content:\"\\e51b\"}.fa-i-cursor:before{content:\"\\f246\"}.fa-stamp:before{content:\"\\f5bf\"}.fa-stairs:before{content:\"\\e289\"}.fa-i:before{content:\"\\49\"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:\"\\f6f2\"}.fa-pills:before{content:\"\\f484\"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:\"\\f581\"}.fa-tooth:before{content:\"\\f5c9\"}.fa-v:before{content:\"\\56\"}.fa-bangladeshi-taka-sign:before{content:\"\\e2e6\"}.fa-bicycle:before{content:\"\\f206\"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:\"\\e579\"}.fa-head-side-cough-slash:before{content:\"\\e062\"}.fa-ambulance:before,.fa-truck-medical:before{content:\"\\f0f9\"}.fa-wheat-awn-circle-exclamation:before{content:\"\\e598\"}.fa-snowman:before{content:\"\\f7d0\"}.fa-mortar-pestle:before{content:\"\\f5a7\"}.fa-road-barrier:before{content:\"\\e562\"}.fa-school:before{content:\"\\f549\"}.fa-igloo:before{content:\"\\f7ae\"}.fa-joint:before{content:\"\\f595\"}.fa-angle-right:before{content:\"\\f105\"}.fa-horse:before{content:\"\\f6f0\"}.fa-q:before{content:\"\\51\"}.fa-g:before{content:\"\\47\"}.fa-notes-medical:before{content:\"\\f481\"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:\"\\f2c9\"}.fa-dong-sign:before{content:\"\\e169\"}.fa-capsules:before{content:\"\\f46b\"}.fa-poo-bolt:before,.fa-poo-storm:before{content:\"\\f75a\"}.fa-face-frown-open:before,.fa-frown-open:before{content:\"\\f57a\"}.fa-hand-point-up:before{content:\"\\f0a6\"}.fa-money-bill:before{content:\"\\f0d6\"}.fa-bookmark:before{content:\"\\f02e\"}.fa-align-justify:before{content:\"\\f039\"}.fa-umbrella-beach:before{content:\"\\f5ca\"}.fa-helmet-un:before{content:\"\\e503\"}.fa-bullseye:before{content:\"\\f140\"}.fa-bacon:before{content:\"\\f7e5\"}.fa-hand-point-down:before{content:\"\\f0a7\"}.fa-arrow-up-from-bracket:before{content:\"\\e09a\"}.fa-folder-blank:before,.fa-folder:before{content:\"\\f07b\"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:\"\\f478\"}.fa-radiation:before{content:\"\\f7b9\"}.fa-chart-simple:before{content:\"\\e473\"}.fa-mars-stroke:before{content:\"\\f229\"}.fa-vial:before{content:\"\\f492\"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:\"\\f624\"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:\"\\e2ca\"}.fa-e:before{content:\"\\45\"}.fa-pen-alt:before,.fa-pen-clip:before{content:\"\\f305\"}.fa-bridge-circle-exclamation:before{content:\"\\e4ca\"}.fa-user:before{content:\"\\f007\"}.fa-school-circle-check:before{content:\"\\e56b\"}.fa-dumpster:before{content:\"\\f793\"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:\"\\f5b6\"}.fa-building-user:before{content:\"\\e4da\"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:\"\\f191\"}.fa-highlighter:before{content:\"\\f591\"}.fa-key:before{content:\"\\f084\"}.fa-bullhorn:before{content:\"\\f0a1\"}.fa-globe:before{content:\"\\f0ac\"}.fa-synagogue:before{content:\"\\f69b\"}.fa-person-half-dress:before{content:\"\\e548\"}.fa-road-bridge:before{content:\"\\e563\"}.fa-location-arrow:before{content:\"\\f124\"}.fa-c:before{content:\"\\43\"}.fa-tablet-button:before{content:\"\\f10a\"}.fa-building-lock:before{content:\"\\e4d6\"}.fa-pizza-slice:before{content:\"\\f818\"}.fa-money-bill-wave:before{content:\"\\f53a\"}.fa-area-chart:before,.fa-chart-area:before{content:\"\\f1fe\"}.fa-house-flag:before{content:\"\\e50d\"}.fa-person-circle-minus:before{content:\"\\e540\"}.fa-ban:before,.fa-cancel:before{content:\"\\f05e\"}.fa-camera-rotate:before{content:\"\\e0d8\"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:\"\\f5d0\"}.fa-star:before{content:\"\\f005\"}.fa-repeat:before{content:\"\\f363\"}.fa-cross:before{content:\"\\f654\"}.fa-box:before{content:\"\\f466\"}.fa-venus-mars:before{content:\"\\f228\"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:\"\\f245\"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:\"\\f31e\"}.fa-charging-station:before{content:\"\\f5e7\"}.fa-shapes:before,.fa-triangle-circle-square:before{content:\"\\f61f\"}.fa-random:before,.fa-shuffle:before{content:\"\\f074\"}.fa-person-running:before,.fa-running:before{content:\"\\f70c\"}.fa-mobile-retro:before{content:\"\\e527\"}.fa-grip-lines-vertical:before{content:\"\\f7a5\"}.fa-spider:before{content:\"\\f717\"}.fa-hands-bound:before{content:\"\\e4f9\"}.fa-file-invoice-dollar:before{content:\"\\f571\"}.fa-plane-circle-exclamation:before{content:\"\\e556\"}.fa-x-ray:before{content:\"\\f497\"}.fa-spell-check:before{content:\"\\f891\"}.fa-slash:before{content:\"\\f715\"}.fa-computer-mouse:before,.fa-mouse:before{content:\"\\f8cc\"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:\"\\f090\"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:\"\\e070\"}.fa-server:before{content:\"\\f233\"}.fa-virus-covid-slash:before{content:\"\\e4a9\"}.fa-shop-lock:before{content:\"\\e4a5\"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:\"\\f251\"}.fa-blender-phone:before{content:\"\\f6b6\"}.fa-building-wheat:before{content:\"\\e4db\"}.fa-person-breastfeeding:before{content:\"\\e53a\"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:\"\\f2f6\"}.fa-venus:before{content:\"\\f221\"}.fa-passport:before{content:\"\\f5ab\"}.fa-heart-pulse:before,.fa-heartbeat:before{content:\"\\f21e\"}.fa-people-carry-box:before,.fa-people-carry:before{content:\"\\f4ce\"}.fa-temperature-high:before{content:\"\\f769\"}.fa-microchip:before{content:\"\\f2db\"}.fa-crown:before{content:\"\\f521\"}.fa-weight-hanging:before{content:\"\\f5cd\"}.fa-xmarks-lines:before{content:\"\\e59a\"}.fa-file-prescription:before{content:\"\\f572\"}.fa-weight-scale:before,.fa-weight:before{content:\"\\f496\"}.fa-user-friends:before,.fa-user-group:before{content:\"\\f500\"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:\"\\f15e\"}.fa-chess-knight:before{content:\"\\f441\"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:\"\\f59b\"}.fa-wheelchair:before{content:\"\\f193\"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:\"\\f0aa\"}.fa-toggle-on:before{content:\"\\f205\"}.fa-person-walking:before,.fa-walking:before{content:\"\\f554\"}.fa-l:before{content:\"\\4c\"}.fa-fire:before{content:\"\\f06d\"}.fa-bed-pulse:before,.fa-procedures:before{content:\"\\f487\"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:\"\\f197\"}.fa-face-laugh:before,.fa-laugh:before{content:\"\\f599\"}.fa-folder-open:before{content:\"\\f07c\"}.fa-heart-circle-plus:before{content:\"\\e500\"}.fa-code-fork:before{content:\"\\e13b\"}.fa-city:before{content:\"\\f64f\"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:\"\\f3c9\"}.fa-pepper-hot:before{content:\"\\f816\"}.fa-unlock:before{content:\"\\f09c\"}.fa-colon-sign:before{content:\"\\e140\"}.fa-headset:before{content:\"\\f590\"}.fa-store-slash:before{content:\"\\e071\"}.fa-road-circle-xmark:before{content:\"\\e566\"}.fa-user-minus:before{content:\"\\f503\"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:\"\\f22a\"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:\"\\f79f\"}.fa-clipboard:before{content:\"\\f328\"}.fa-house-circle-exclamation:before{content:\"\\e50a\"}.fa-file-arrow-up:before,.fa-file-upload:before{content:\"\\f574\"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:\"\\f1eb\"}.fa-bath:before,.fa-bathtub:before{content:\"\\f2cd\"}.fa-underline:before{content:\"\\f0cd\"}.fa-user-edit:before,.fa-user-pen:before{content:\"\\f4ff\"}.fa-signature:before{content:\"\\f5b7\"}.fa-stroopwafel:before{content:\"\\f551\"}.fa-bold:before{content:\"\\f032\"}.fa-anchor-lock:before{content:\"\\e4ad\"}.fa-building-ngo:before{content:\"\\e4d7\"}.fa-manat-sign:before{content:\"\\e1d5\"}.fa-not-equal:before{content:\"\\f53e\"}.fa-border-style:before,.fa-border-top-left:before{content:\"\\f853\"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:\"\\f5a0\"}.fa-jedi:before{content:\"\\f669\"}.fa-poll:before,.fa-square-poll-vertical:before{content:\"\\f681\"}.fa-mug-hot:before{content:\"\\f7b6\"}.fa-battery-car:before,.fa-car-battery:before{content:\"\\f5df\"}.fa-gift:before{content:\"\\f06b\"}.fa-dice-two:before{content:\"\\f528\"}.fa-chess-queen:before{content:\"\\f445\"}.fa-glasses:before{content:\"\\f530\"}.fa-chess-board:before{content:\"\\f43c\"}.fa-building-circle-check:before{content:\"\\e4d2\"}.fa-person-chalkboard:before{content:\"\\e53d\"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:\"\\f22b\"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:\"\\f255\"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:\"\\f151\"}.fa-cloud-showers-water:before{content:\"\\e4e4\"}.fa-bar-chart:before,.fa-chart-bar:before{content:\"\\f080\"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:\"\\e05e\"}.fa-less-than-equal:before{content:\"\\f537\"}.fa-train:before{content:\"\\f238\"}.fa-eye-low-vision:before,.fa-low-vision:before{content:\"\\f2a8\"}.fa-crow:before{content:\"\\f520\"}.fa-sailboat:before{content:\"\\e445\"}.fa-window-restore:before{content:\"\\f2d2\"}.fa-plus-square:before,.fa-square-plus:before{content:\"\\f0fe\"}.fa-torii-gate:before{content:\"\\f6a1\"}.fa-frog:before{content:\"\\f52e\"}.fa-bucket:before{content:\"\\e4cf\"}.fa-image:before{content:\"\\f03e\"}.fa-microphone:before{content:\"\\f130\"}.fa-cow:before{content:\"\\f6c8\"}.fa-caret-up:before{content:\"\\f0d8\"}.fa-screwdriver:before{content:\"\\f54a\"}.fa-folder-closed:before{content:\"\\e185\"}.fa-house-tsunami:before{content:\"\\e515\"}.fa-square-nfi:before{content:\"\\e576\"}.fa-arrow-up-from-ground-water:before{content:\"\\e4b5\"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:\"\\f57b\"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:\"\\f2ea\"}.fa-columns:before,.fa-table-columns:before{content:\"\\f0db\"}.fa-lemon:before{content:\"\\f094\"}.fa-head-side-mask:before{content:\"\\e063\"}.fa-handshake:before{content:\"\\f2b5\"}.fa-gem:before{content:\"\\f3a5\"}.fa-dolly-box:before,.fa-dolly:before{content:\"\\f472\"}.fa-smoking:before{content:\"\\f48d\"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:\"\\f78c\"}.fa-monument:before{content:\"\\f5a6\"}.fa-snowplow:before{content:\"\\f7d2\"}.fa-angle-double-right:before,.fa-angles-right:before{content:\"\\f101\"}.fa-cannabis:before{content:\"\\f55f\"}.fa-circle-play:before,.fa-play-circle:before{content:\"\\f144\"}.fa-tablets:before{content:\"\\f490\"}.fa-ethernet:before{content:\"\\f796\"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:\"\\f153\"}.fa-chair:before{content:\"\\f6c0\"}.fa-check-circle:before,.fa-circle-check:before{content:\"\\f058\"}.fa-circle-stop:before,.fa-stop-circle:before{content:\"\\f28d\"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:\"\\f568\"}.fa-plate-wheat:before{content:\"\\e55a\"}.fa-icicles:before{content:\"\\f7ad\"}.fa-person-shelter:before{content:\"\\e54f\"}.fa-neuter:before{content:\"\\f22c\"}.fa-id-badge:before{content:\"\\f2c1\"}.fa-marker:before{content:\"\\f5a1\"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:\"\\f59a\"}.fa-helicopter-symbol:before{content:\"\\e502\"}.fa-universal-access:before{content:\"\\f29a\"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:\"\\f139\"}.fa-lari-sign:before{content:\"\\e1c8\"}.fa-volcano:before{content:\"\\f770\"}.fa-person-walking-dashed-line-arrow-right:before{content:\"\\e553\"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:\"\\f154\"}.fa-viruses:before{content:\"\\e076\"}.fa-square-person-confined:before{content:\"\\e577\"}.fa-user-tie:before{content:\"\\f508\"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:\"\\f175\"}.fa-tent-arrow-down-to-line:before{content:\"\\e57e\"}.fa-certificate:before{content:\"\\f0a3\"}.fa-mail-reply-all:before,.fa-reply-all:before{content:\"\\f122\"}.fa-suitcase:before{content:\"\\f0f2\"}.fa-person-skating:before,.fa-skating:before{content:\"\\f7c5\"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:\"\\f662\"}.fa-camera-retro:before{content:\"\\f083\"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:\"\\f0ab\"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:\"\\f56f\"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:\"\\f14c\"}.fa-box-open:before{content:\"\\f49e\"}.fa-scroll:before{content:\"\\f70e\"}.fa-spa:before{content:\"\\f5bb\"}.fa-location-pin-lock:before{content:\"\\e51f\"}.fa-pause:before{content:\"\\f04c\"}.fa-hill-avalanche:before{content:\"\\e507\"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:\"\\f2cb\"}.fa-bomb:before{content:\"\\f1e2\"}.fa-registered:before{content:\"\\f25d\"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:\"\\f2bb\"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:\"\\f516\"}.fa-subscript:before{content:\"\\f12c\"}.fa-diamond-turn-right:before,.fa-directions:before{content:\"\\f5eb\"}.fa-burst:before{content:\"\\e4dc\"}.fa-house-laptop:before,.fa-laptop-house:before{content:\"\\e066\"}.fa-face-tired:before,.fa-tired:before{content:\"\\f5c8\"}.fa-money-bills:before{content:\"\\e1f3\"}.fa-smog:before{content:\"\\f75f\"}.fa-crutch:before{content:\"\\f7f7\"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:\"\\f0ee\"}.fa-palette:before{content:\"\\f53f\"}.fa-arrows-turn-right:before{content:\"\\e4c0\"}.fa-vest:before{content:\"\\e085\"}.fa-ferry:before{content:\"\\e4ea\"}.fa-arrows-down-to-people:before{content:\"\\e4b9\"}.fa-seedling:before,.fa-sprout:before{content:\"\\f4d8\"}.fa-arrows-alt-h:before,.fa-left-right:before{content:\"\\f337\"}.fa-boxes-packing:before{content:\"\\e4c7\"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:\"\\f0a8\"}.fa-group-arrows-rotate:before{content:\"\\e4f6\"}.fa-bowl-food:before{content:\"\\e4c6\"}.fa-candy-cane:before{content:\"\\f786\"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:\"\\f160\"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:\"\\f76c\"}.fa-remove-format:before,.fa-text-slash:before{content:\"\\f87d\"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:\"\\f4da\"}.fa-file-word:before{content:\"\\f1c2\"}.fa-file-powerpoint:before{content:\"\\f1c4\"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:\"\\f07e\"}.fa-house-lock:before{content:\"\\e510\"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:\"\\f0ed\"}.fa-children:before{content:\"\\e4e1\"}.fa-blackboard:before,.fa-chalkboard:before{content:\"\\f51b\"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:\"\\f4fa\"}.fa-envelope-open:before{content:\"\\f2b6\"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:\"\\e05f\"}.fa-mattress-pillow:before{content:\"\\e525\"}.fa-guarani-sign:before{content:\"\\e19a\"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:\"\\f021\"}.fa-fire-extinguisher:before{content:\"\\f134\"}.fa-cruzeiro-sign:before{content:\"\\e152\"}.fa-greater-than-equal:before{content:\"\\f532\"}.fa-shield-alt:before,.fa-shield-halved:before{content:\"\\f3ed\"}.fa-atlas:before,.fa-book-atlas:before{content:\"\\f558\"}.fa-virus:before{content:\"\\e074\"}.fa-envelope-circle-check:before{content:\"\\e4e8\"}.fa-layer-group:before{content:\"\\f5fd\"}.fa-arrows-to-dot:before{content:\"\\e4be\"}.fa-archway:before{content:\"\\f557\"}.fa-heart-circle-check:before{content:\"\\e4fd\"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:\"\\f6f1\"}.fa-file-archive:before,.fa-file-zipper:before{content:\"\\f1c6\"}.fa-square:before{content:\"\\f0c8\"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:\"\\f000\"}.fa-couch:before{content:\"\\f4b8\"}.fa-cedi-sign:before{content:\"\\e0df\"}.fa-italic:before{content:\"\\f033\"}.fa-church:before{content:\"\\f51d\"}.fa-comments-dollar:before{content:\"\\f653\"}.fa-democrat:before{content:\"\\f747\"}.fa-z:before{content:\"\\5a\"}.fa-person-skiing:before,.fa-skiing:before{content:\"\\f7c9\"}.fa-road-lock:before{content:\"\\e567\"}.fa-a:before{content:\"\\41\"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:\"\\e03f\"}.fa-feather-alt:before,.fa-feather-pointed:before{content:\"\\f56b\"}.fa-p:before{content:\"\\50\"}.fa-snowflake:before{content:\"\\f2dc\"}.fa-newspaper:before{content:\"\\f1ea\"}.fa-ad:before,.fa-rectangle-ad:before{content:\"\\f641\"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:\"\\f0a9\"}.fa-filter-circle-xmark:before{content:\"\\e17b\"}.fa-locust:before{content:\"\\e520\"}.fa-sort:before,.fa-unsorted:before{content:\"\\f0dc\"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:\"\\f0cb\"}.fa-person-dress-burst:before{content:\"\\e544\"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:\"\\f53d\"}.fa-vector-square:before{content:\"\\f5cb\"}.fa-bread-slice:before{content:\"\\f7ec\"}.fa-language:before{content:\"\\f1ab\"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:\"\\f598\"}.fa-filter:before{content:\"\\f0b0\"}.fa-question:before{content:\"\\3f\"}.fa-file-signature:before{content:\"\\f573\"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:\"\\f0b2\"}.fa-house-chimney-user:before{content:\"\\e065\"}.fa-hand-holding-heart:before{content:\"\\f4be\"}.fa-puzzle-piece:before{content:\"\\f12e\"}.fa-money-check:before{content:\"\\f53c\"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:\"\\f5c0\"}.fa-code:before{content:\"\\f121\"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:\"\\f7a0\"}.fa-building-circle-exclamation:before{content:\"\\e4d3\"}.fa-magnifying-glass-chart:before{content:\"\\e522\"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:\"\\f08e\"}.fa-cubes-stacked:before{content:\"\\e4e6\"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:\"\\f159\"}.fa-virus-covid:before{content:\"\\e4a8\"}.fa-austral-sign:before{content:\"\\e0a9\"}.fa-f:before{content:\"\\46\"}.fa-leaf:before{content:\"\\f06c\"}.fa-road:before{content:\"\\f018\"}.fa-cab:before,.fa-taxi:before{content:\"\\f1ba\"}.fa-person-circle-plus:before{content:\"\\e541\"}.fa-chart-pie:before,.fa-pie-chart:before{content:\"\\f200\"}.fa-bolt-lightning:before{content:\"\\e0b7\"}.fa-sack-xmark:before{content:\"\\e56a\"}.fa-file-excel:before{content:\"\\f1c3\"}.fa-file-contract:before{content:\"\\f56c\"}.fa-fish-fins:before{content:\"\\e4f2\"}.fa-building-flag:before{content:\"\\e4d5\"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:\"\\f582\"}.fa-object-ungroup:before{content:\"\\f248\"}.fa-poop:before{content:\"\\f619\"}.fa-location-pin:before,.fa-map-marker:before{content:\"\\f041\"}.fa-kaaba:before{content:\"\\f66b\"}.fa-toilet-paper:before{content:\"\\f71e\"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:\"\\f807\"}.fa-eject:before{content:\"\\f052\"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:\"\\f35a\"}.fa-plane-circle-check:before{content:\"\\e555\"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:\"\\f5a5\"}.fa-object-group:before{content:\"\\f247\"}.fa-chart-line:before,.fa-line-chart:before{content:\"\\f201\"}.fa-mask-ventilator:before{content:\"\\e524\"}.fa-arrow-right:before{content:\"\\f061\"}.fa-map-signs:before,.fa-signs-post:before{content:\"\\f277\"}.fa-cash-register:before{content:\"\\f788\"}.fa-person-circle-question:before{content:\"\\e542\"}.fa-h:before{content:\"\\48\"}.fa-tarp:before{content:\"\\e57b\"}.fa-screwdriver-wrench:before,.fa-tools:before{content:\"\\f7d9\"}.fa-arrows-to-eye:before{content:\"\\e4bf\"}.fa-plug-circle-bolt:before{content:\"\\e55b\"}.fa-heart:before{content:\"\\f004\"}.fa-mars-and-venus:before{content:\"\\f224\"}.fa-home-user:before,.fa-house-user:before{content:\"\\e1b0\"}.fa-dumpster-fire:before{content:\"\\f794\"}.fa-house-crack:before{content:\"\\e3b1\"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:\"\\f561\"}.fa-face-surprise:before,.fa-surprise:before{content:\"\\f5c2\"}.fa-bottle-water:before{content:\"\\e4c5\"}.fa-circle-pause:before,.fa-pause-circle:before{content:\"\\f28b\"}.fa-toilet-paper-slash:before{content:\"\\e072\"}.fa-apple-alt:before,.fa-apple-whole:before{content:\"\\f5d1\"}.fa-kitchen-set:before{content:\"\\e51a\"}.fa-r:before{content:\"\\52\"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:\"\\f2ca\"}.fa-cube:before{content:\"\\f1b2\"}.fa-bitcoin-sign:before{content:\"\\e0b4\"}.fa-shield-dog:before{content:\"\\e573\"}.fa-solar-panel:before{content:\"\\f5ba\"}.fa-lock-open:before{content:\"\\f3c1\"}.fa-elevator:before{content:\"\\e16d\"}.fa-money-bill-transfer:before{content:\"\\e528\"}.fa-money-bill-trend-up:before{content:\"\\e529\"}.fa-house-flood-water-circle-arrow-right:before{content:\"\\e50f\"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:\"\\f682\"}.fa-circle:before{content:\"\\f111\"}.fa-backward-fast:before,.fa-fast-backward:before{content:\"\\f049\"}.fa-recycle:before{content:\"\\f1b8\"}.fa-user-astronaut:before{content:\"\\f4fb\"}.fa-plane-slash:before{content:\"\\e069\"}.fa-trademark:before{content:\"\\f25c\"}.fa-basketball-ball:before,.fa-basketball:before{content:\"\\f434\"}.fa-satellite-dish:before{content:\"\\f7c0\"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:\"\\f35b\"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:\"\\f3cd\"}.fa-volume-high:before,.fa-volume-up:before{content:\"\\f028\"}.fa-users-rays:before{content:\"\\e593\"}.fa-wallet:before{content:\"\\f555\"}.fa-clipboard-check:before{content:\"\\f46c\"}.fa-file-audio:before{content:\"\\f1c7\"}.fa-burger:before,.fa-hamburger:before{content:\"\\f805\"}.fa-wrench:before{content:\"\\f0ad\"}.fa-bugs:before{content:\"\\e4d0\"}.fa-rupee-sign:before,.fa-rupee:before{content:\"\\f156\"}.fa-file-image:before{content:\"\\f1c5\"}.fa-circle-question:before,.fa-question-circle:before{content:\"\\f059\"}.fa-plane-departure:before{content:\"\\f5b0\"}.fa-handshake-slash:before{content:\"\\e060\"}.fa-book-bookmark:before{content:\"\\e0bb\"}.fa-code-branch:before{content:\"\\f126\"}.fa-hat-cowboy:before{content:\"\\f8c0\"}.fa-bridge:before{content:\"\\e4c8\"}.fa-phone-alt:before,.fa-phone-flip:before{content:\"\\f879\"}.fa-truck-front:before{content:\"\\e2b7\"}.fa-cat:before{content:\"\\f6be\"}.fa-anchor-circle-exclamation:before{content:\"\\e4ab\"}.fa-truck-field:before{content:\"\\e58d\"}.fa-route:before{content:\"\\f4d7\"}.fa-clipboard-question:before{content:\"\\e4e3\"}.fa-panorama:before{content:\"\\e209\"}.fa-comment-medical:before{content:\"\\f7f5\"}.fa-teeth-open:before{content:\"\\f62f\"}.fa-file-circle-minus:before{content:\"\\e4ed\"}.fa-tags:before{content:\"\\f02c\"}.fa-wine-glass:before{content:\"\\f4e3\"}.fa-fast-forward:before,.fa-forward-fast:before{content:\"\\f050\"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:\"\\f5a4\"}.fa-parking:before,.fa-square-parking:before{content:\"\\f540\"}.fa-house-signal:before{content:\"\\e012\"}.fa-bars-progress:before,.fa-tasks-alt:before{content:\"\\f828\"}.fa-faucet-drip:before{content:\"\\e006\"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:\"\\f474\"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:\"\\f54d\"}.fa-terminal:before{content:\"\\f120\"}.fa-mobile-button:before{content:\"\\f10b\"}.fa-house-medical-flag:before{content:\"\\e514\"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:\"\\f291\"}.fa-tape:before{content:\"\\f4db\"}.fa-bus-alt:before,.fa-bus-simple:before{content:\"\\f55e\"}.fa-eye:before{content:\"\\f06e\"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:\"\\f5b3\"}.fa-audio-description:before{content:\"\\f29e\"}.fa-person-military-to-person:before{content:\"\\e54c\"}.fa-file-shield:before{content:\"\\e4f0\"}.fa-user-slash:before{content:\"\\f506\"}.fa-pen:before{content:\"\\f304\"}.fa-tower-observation:before{content:\"\\e586\"}.fa-file-code:before{content:\"\\f1c9\"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:\"\\f012\"}.fa-bus:before{content:\"\\f207\"}.fa-heart-circle-xmark:before{content:\"\\e501\"}.fa-home-lg:before,.fa-house-chimney:before{content:\"\\e3af\"}.fa-window-maximize:before{content:\"\\f2d0\"}.fa-face-frown:before,.fa-frown:before{content:\"\\f119\"}.fa-prescription:before{content:\"\\f5b1\"}.fa-shop:before,.fa-store-alt:before{content:\"\\f54f\"}.fa-floppy-disk:before,.fa-save:before{content:\"\\f0c7\"}.fa-vihara:before{content:\"\\f6a7\"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:\"\\f515\"}.fa-sort-asc:before,.fa-sort-up:before{content:\"\\f0de\"}.fa-comment-dots:before,.fa-commenting:before{content:\"\\f4ad\"}.fa-plant-wilt:before{content:\"\\e5aa\"}.fa-diamond:before{content:\"\\f219\"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:\"\\f585\"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:\"\\f4c0\"}.fa-bacterium:before{content:\"\\e05a\"}.fa-hand-pointer:before{content:\"\\f25a\"}.fa-drum-steelpan:before{content:\"\\f56a\"}.fa-hand-scissors:before{content:\"\\f257\"}.fa-hands-praying:before,.fa-praying-hands:before{content:\"\\f684\"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:\"\\f01e\"}.fa-biohazard:before{content:\"\\f780\"}.fa-location-crosshairs:before,.fa-location:before{content:\"\\f601\"}.fa-mars-double:before{content:\"\\f227\"}.fa-child-dress:before{content:\"\\e59c\"}.fa-users-between-lines:before{content:\"\\e591\"}.fa-lungs-virus:before{content:\"\\e067\"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:\"\\f588\"}.fa-phone:before{content:\"\\f095\"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:\"\\f273\"}.fa-child-reaching:before{content:\"\\e59d\"}.fa-head-side-virus:before{content:\"\\e064\"}.fa-user-cog:before,.fa-user-gear:before{content:\"\\f4fe\"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:\"\\f163\"}.fa-door-closed:before{content:\"\\f52a\"}.fa-shield-virus:before{content:\"\\e06c\"}.fa-dice-six:before{content:\"\\f526\"}.fa-mosquito-net:before{content:\"\\e52c\"}.fa-bridge-water:before{content:\"\\e4ce\"}.fa-person-booth:before{content:\"\\f756\"}.fa-text-width:before{content:\"\\f035\"}.fa-hat-wizard:before{content:\"\\f6e8\"}.fa-pen-fancy:before{content:\"\\f5ac\"}.fa-digging:before,.fa-person-digging:before{content:\"\\f85e\"}.fa-trash:before{content:\"\\f1f8\"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:\"\\f629\"}.fa-book-medical:before{content:\"\\f7e6\"}.fa-poo:before{content:\"\\f2fe\"}.fa-quote-right-alt:before,.fa-quote-right:before{content:\"\\f10e\"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:\"\\f553\"}.fa-cubes:before{content:\"\\f1b3\"}.fa-divide:before{content:\"\\f529\"}.fa-tenge-sign:before,.fa-tenge:before{content:\"\\f7d7\"}.fa-headphones:before{content:\"\\f025\"}.fa-hands-holding:before{content:\"\\f4c2\"}.fa-hands-clapping:before{content:\"\\e1a8\"}.fa-republican:before{content:\"\\f75e\"}.fa-arrow-left:before{content:\"\\f060\"}.fa-person-circle-xmark:before{content:\"\\e543\"}.fa-ruler:before{content:\"\\f545\"}.fa-align-left:before{content:\"\\f036\"}.fa-dice-d6:before{content:\"\\f6d1\"}.fa-restroom:before{content:\"\\f7bd\"}.fa-j:before{content:\"\\4a\"}.fa-users-viewfinder:before{content:\"\\e595\"}.fa-file-video:before{content:\"\\f1c8\"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:\"\\f35d\"}.fa-table-cells:before,.fa-th:before{content:\"\\f00a\"}.fa-file-pdf:before{content:\"\\f1c1\"}.fa-bible:before,.fa-book-bible:before{content:\"\\f647\"}.fa-o:before{content:\"\\4f\"}.fa-medkit:before,.fa-suitcase-medical:before{content:\"\\f0fa\"}.fa-user-secret:before{content:\"\\f21b\"}.fa-otter:before{content:\"\\f700\"}.fa-female:before,.fa-person-dress:before{content:\"\\f182\"}.fa-comment-dollar:before{content:\"\\f651\"}.fa-briefcase-clock:before,.fa-business-time:before{content:\"\\f64a\"}.fa-table-cells-large:before,.fa-th-large:before{content:\"\\f009\"}.fa-book-tanakh:before,.fa-tanakh:before{content:\"\\f827\"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:\"\\f2a0\"}.fa-hat-cowboy-side:before{content:\"\\f8c1\"}.fa-clipboard-user:before{content:\"\\f7f3\"}.fa-child:before{content:\"\\f1ae\"}.fa-lira-sign:before{content:\"\\f195\"}.fa-satellite:before{content:\"\\f7bf\"}.fa-plane-lock:before{content:\"\\e558\"}.fa-tag:before{content:\"\\f02b\"}.fa-comment:before{content:\"\\f075\"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:\"\\f1fd\"}.fa-envelope:before{content:\"\\f0e0\"}.fa-angle-double-up:before,.fa-angles-up:before{content:\"\\f102\"}.fa-paperclip:before{content:\"\\f0c6\"}.fa-arrow-right-to-city:before{content:\"\\e4b3\"}.fa-ribbon:before{content:\"\\f4d6\"}.fa-lungs:before{content:\"\\f604\"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:\"\\f887\"}.fa-litecoin-sign:before{content:\"\\e1d3\"}.fa-border-none:before{content:\"\\f850\"}.fa-circle-nodes:before{content:\"\\e4e2\"}.fa-parachute-box:before{content:\"\\f4cd\"}.fa-indent:before{content:\"\\f03c\"}.fa-truck-field-un:before{content:\"\\e58e\"}.fa-hourglass-empty:before,.fa-hourglass:before{content:\"\\f254\"}.fa-mountain:before{content:\"\\f6fc\"}.fa-user-doctor:before,.fa-user-md:before{content:\"\\f0f0\"}.fa-circle-info:before,.fa-info-circle:before{content:\"\\f05a\"}.fa-cloud-meatball:before{content:\"\\f73b\"}.fa-camera-alt:before,.fa-camera:before{content:\"\\f030\"}.fa-square-virus:before{content:\"\\e578\"}.fa-meteor:before{content:\"\\f753\"}.fa-car-on:before{content:\"\\e4dd\"}.fa-sleigh:before{content:\"\\f7cc\"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:\"\\f162\"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:\"\\f4c1\"}.fa-water:before{content:\"\\f773\"}.fa-calendar-check:before{content:\"\\f274\"}.fa-braille:before{content:\"\\f2a1\"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:\"\\f486\"}.fa-landmark:before{content:\"\\f66f\"}.fa-truck:before{content:\"\\f0d1\"}.fa-crosshairs:before{content:\"\\f05b\"}.fa-person-cane:before{content:\"\\e53c\"}.fa-tent:before{content:\"\\e57d\"}.fa-vest-patches:before{content:\"\\e086\"}.fa-check-double:before{content:\"\\f560\"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:\"\\f15d\"}.fa-money-bill-wheat:before{content:\"\\e52a\"}.fa-cookie:before{content:\"\\f563\"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:\"\\f0e2\"}.fa-hard-drive:before,.fa-hdd:before{content:\"\\f0a0\"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:\"\\f586\"}.fa-dumbbell:before{content:\"\\f44b\"}.fa-list-alt:before,.fa-rectangle-list:before{content:\"\\f022\"}.fa-tarp-droplet:before{content:\"\\e57c\"}.fa-house-medical-circle-check:before{content:\"\\e511\"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:\"\\f7ca\"}.fa-calendar-plus:before{content:\"\\f271\"}.fa-plane-arrival:before{content:\"\\f5af\"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:\"\\f359\"}.fa-subway:before,.fa-train-subway:before{content:\"\\f239\"}.fa-chart-gantt:before{content:\"\\e0e4\"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:\"\\e1bc\"}.fa-crop-alt:before,.fa-crop-simple:before{content:\"\\f565\"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:\"\\f3d1\"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:\"\\f30a\"}.fa-dna:before{content:\"\\f471\"}.fa-virus-slash:before{content:\"\\e075\"}.fa-minus:before,.fa-subtract:before{content:\"\\f068\"}.fa-chess:before{content:\"\\f439\"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:\"\\f177\"}.fa-plug-circle-check:before{content:\"\\e55c\"}.fa-street-view:before{content:\"\\f21d\"}.fa-franc-sign:before{content:\"\\e18f\"}.fa-volume-off:before{content:\"\\f026\"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:\"\\f2a3\"}.fa-cog:before,.fa-gear:before{content:\"\\f013\"}.fa-droplet-slash:before,.fa-tint-slash:before{content:\"\\f5c7\"}.fa-mosque:before{content:\"\\f678\"}.fa-mosquito:before{content:\"\\e52b\"}.fa-star-of-david:before{content:\"\\f69a\"}.fa-person-military-rifle:before{content:\"\\e54b\"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:\"\\f07a\"}.fa-vials:before{content:\"\\f493\"}.fa-plug-circle-plus:before{content:\"\\e55f\"}.fa-place-of-worship:before{content:\"\\f67f\"}.fa-grip-vertical:before{content:\"\\f58e\"}.fa-arrow-turn-up:before,.fa-level-up:before{content:\"\\f148\"}.fa-u:before{content:\"\\55\"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:\"\\f698\"}.fa-clock-four:before,.fa-clock:before{content:\"\\f017\"}.fa-backward-step:before,.fa-step-backward:before{content:\"\\f048\"}.fa-pallet:before{content:\"\\f482\"}.fa-faucet:before{content:\"\\e005\"}.fa-baseball-bat-ball:before{content:\"\\f432\"}.fa-s:before{content:\"\\53\"}.fa-timeline:before{content:\"\\e29c\"}.fa-keyboard:before{content:\"\\f11c\"}.fa-caret-down:before{content:\"\\f0d7\"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:\"\\f7f2\"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:\"\\f2c8\"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:\"\\f3cf\"}.fa-plane-up:before{content:\"\\e22d\"}.fa-piggy-bank:before{content:\"\\f4d3\"}.fa-battery-3:before,.fa-battery-half:before{content:\"\\f242\"}.fa-mountain-city:before{content:\"\\e52e\"}.fa-coins:before{content:\"\\f51e\"}.fa-khanda:before{content:\"\\f66d\"}.fa-sliders-h:before,.fa-sliders:before{content:\"\\f1de\"}.fa-folder-tree:before{content:\"\\f802\"}.fa-network-wired:before{content:\"\\f6ff\"}.fa-map-pin:before{content:\"\\f276\"}.fa-hamsa:before{content:\"\\f665\"}.fa-cent-sign:before{content:\"\\e3f5\"}.fa-flask:before{content:\"\\f0c3\"}.fa-person-pregnant:before{content:\"\\e31e\"}.fa-wand-sparkles:before{content:\"\\f72b\"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:\"\\f142\"}.fa-ticket:before{content:\"\\f145\"}.fa-power-off:before{content:\"\\f011\"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:\"\\f30b\"}.fa-flag-usa:before{content:\"\\f74d\"}.fa-laptop-file:before{content:\"\\e51d\"}.fa-teletype:before,.fa-tty:before{content:\"\\f1e4\"}.fa-diagram-next:before{content:\"\\e476\"}.fa-person-rifle:before{content:\"\\e54e\"}.fa-house-medical-circle-exclamation:before{content:\"\\e512\"}.fa-closed-captioning:before{content:\"\\f20a\"}.fa-hiking:before,.fa-person-hiking:before{content:\"\\f6ec\"}.fa-venus-double:before{content:\"\\f226\"}.fa-images:before{content:\"\\f302\"}.fa-calculator:before{content:\"\\f1ec\"}.fa-people-pulling:before{content:\"\\e535\"}.fa-n:before{content:\"\\4e\"}.fa-cable-car:before,.fa-tram:before{content:\"\\f7da\"}.fa-cloud-rain:before{content:\"\\f73d\"}.fa-building-circle-xmark:before{content:\"\\e4d4\"}.fa-ship:before{content:\"\\f21a\"}.fa-arrows-down-to-line:before{content:\"\\e4b8\"}.fa-download:before{content:\"\\f019\"}.fa-face-grin:before,.fa-grin:before{content:\"\\f580\"}.fa-backspace:before,.fa-delete-left:before{content:\"\\f55a\"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:\"\\f1fb\"}.fa-file-circle-check:before{content:\"\\e5a0\"}.fa-forward:before{content:\"\\f04e\"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:\"\\f3ce\"}.fa-face-meh:before,.fa-meh:before{content:\"\\f11a\"}.fa-align-center:before{content:\"\\f037\"}.fa-book-dead:before,.fa-book-skull:before{content:\"\\f6b7\"}.fa-drivers-license:before,.fa-id-card:before{content:\"\\f2c2\"}.fa-dedent:before,.fa-outdent:before{content:\"\\f03b\"}.fa-heart-circle-exclamation:before{content:\"\\e4fe\"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:\"\\f015\"}.fa-calendar-week:before{content:\"\\f784\"}.fa-laptop-medical:before{content:\"\\f812\"}.fa-b:before{content:\"\\42\"}.fa-file-medical:before{content:\"\\f477\"}.fa-dice-one:before{content:\"\\f525\"}.fa-kiwi-bird:before{content:\"\\f535\"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:\"\\f0ec\"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:\"\\f2f9\"}.fa-cutlery:before,.fa-utensils:before{content:\"\\f2e7\"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:\"\\f161\"}.fa-mill-sign:before{content:\"\\e1ed\"}.fa-bowl-rice:before{content:\"\\e2eb\"}.fa-skull:before{content:\"\\f54c\"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:\"\\f519\"}.fa-truck-pickup:before{content:\"\\f63c\"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:\"\\f30c\"}.fa-stop:before{content:\"\\f04d\"}.fa-code-merge:before{content:\"\\f387\"}.fa-upload:before{content:\"\\f093\"}.fa-hurricane:before{content:\"\\f751\"}.fa-mound:before{content:\"\\e52d\"}.fa-toilet-portable:before{content:\"\\e583\"}.fa-compact-disc:before{content:\"\\f51f\"}.fa-file-arrow-down:before,.fa-file-download:before{content:\"\\f56d\"}.fa-caravan:before{content:\"\\f8ff\"}.fa-shield-cat:before{content:\"\\e572\"}.fa-bolt:before,.fa-zap:before{content:\"\\f0e7\"}.fa-glass-water:before{content:\"\\e4f4\"}.fa-oil-well:before{content:\"\\e532\"}.fa-vault:before{content:\"\\e2c5\"}.fa-mars:before{content:\"\\f222\"}.fa-toilet:before{content:\"\\f7d8\"}.fa-plane-circle-xmark:before{content:\"\\e557\"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:\"\\f157\"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:\"\\f158\"}.fa-sun:before{content:\"\\f185\"}.fa-guitar:before{content:\"\\f7a6\"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:\"\\f59c\"}.fa-horse-head:before{content:\"\\f7ab\"}.fa-bore-hole:before{content:\"\\e4c3\"}.fa-industry:before{content:\"\\f275\"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:\"\\f358\"}.fa-arrows-turn-to-dots:before{content:\"\\e4c1\"}.fa-florin-sign:before{content:\"\\e184\"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:\"\\f884\"}.fa-less-than:before{content:\"\\3c\"}.fa-angle-down:before{content:\"\\f107\"}.fa-car-tunnel:before{content:\"\\e4de\"}.fa-head-side-cough:before{content:\"\\e061\"}.fa-grip-lines:before{content:\"\\f7a4\"}.fa-thumbs-down:before{content:\"\\f165\"}.fa-user-lock:before{content:\"\\f502\"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:\"\\f178\"}.fa-anchor-circle-xmark:before{content:\"\\e4ac\"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:\"\\f141\"}.fa-chess-pawn:before{content:\"\\f443\"}.fa-first-aid:before,.fa-kit-medical:before{content:\"\\f479\"}.fa-person-through-window:before{content:\"\\e5a9\"}.fa-toolbox:before{content:\"\\f552\"}.fa-hands-holding-circle:before{content:\"\\e4fb\"}.fa-bug:before{content:\"\\f188\"}.fa-credit-card-alt:before,.fa-credit-card:before{content:\"\\f09d\"}.fa-automobile:before,.fa-car:before{content:\"\\f1b9\"}.fa-hand-holding-hand:before{content:\"\\e4f7\"}.fa-book-open-reader:before,.fa-book-reader:before{content:\"\\f5da\"}.fa-mountain-sun:before{content:\"\\e52f\"}.fa-arrows-left-right-to-line:before{content:\"\\e4ba\"}.fa-dice-d20:before{content:\"\\f6cf\"}.fa-truck-droplet:before{content:\"\\e58c\"}.fa-file-circle-xmark:before{content:\"\\e5a1\"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:\"\\e040\"}.fa-medal:before{content:\"\\f5a2\"}.fa-bed:before{content:\"\\f236\"}.fa-h-square:before,.fa-square-h:before{content:\"\\f0fd\"}.fa-podcast:before{content:\"\\f2ce\"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:\"\\f2c7\"}.fa-bell:before{content:\"\\f0f3\"}.fa-superscript:before{content:\"\\f12b\"}.fa-plug-circle-xmark:before{content:\"\\e560\"}.fa-star-of-life:before{content:\"\\f621\"}.fa-phone-slash:before{content:\"\\f3dd\"}.fa-paint-roller:before{content:\"\\f5aa\"}.fa-hands-helping:before,.fa-handshake-angle:before{content:\"\\f4c4\"}.fa-location-dot:before,.fa-map-marker-alt:before{content:\"\\f3c5\"}.fa-file:before{content:\"\\f15b\"}.fa-greater-than:before{content:\"\\3e\"}.fa-person-swimming:before,.fa-swimmer:before{content:\"\\f5c4\"}.fa-arrow-down:before{content:\"\\f063\"}.fa-droplet:before,.fa-tint:before{content:\"\\f043\"}.fa-eraser:before{content:\"\\f12d\"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:\"\\f57d\"}.fa-person-burst:before{content:\"\\e53b\"}.fa-dove:before{content:\"\\f4ba\"}.fa-battery-0:before,.fa-battery-empty:before{content:\"\\f244\"}.fa-socks:before{content:\"\\f696\"}.fa-inbox:before{content:\"\\f01c\"}.fa-section:before{content:\"\\e447\"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:\"\\f625\"}.fa-envelope-open-text:before{content:\"\\f658\"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:\"\\f0f8\"}.fa-wine-bottle:before{content:\"\\f72f\"}.fa-chess-rook:before{content:\"\\f447\"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:\"\\f550\"}.fa-dharmachakra:before{content:\"\\f655\"}.fa-hotdog:before{content:\"\\f80f\"}.fa-blind:before,.fa-person-walking-with-cane:before{content:\"\\f29d\"}.fa-drum:before{content:\"\\f569\"}.fa-ice-cream:before{content:\"\\f810\"}.fa-heart-circle-bolt:before{content:\"\\e4fc\"}.fa-fax:before{content:\"\\f1ac\"}.fa-paragraph:before{content:\"\\f1dd\"}.fa-check-to-slot:before,.fa-vote-yea:before{content:\"\\f772\"}.fa-star-half:before{content:\"\\f089\"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:\"\\f468\"}.fa-chain:before,.fa-link:before{content:\"\\f0c1\"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:\"\\f2a2\"}.fa-tree-city:before{content:\"\\e587\"}.fa-play:before{content:\"\\f04b\"}.fa-font:before{content:\"\\f031\"}.fa-rupiah-sign:before{content:\"\\e23d\"}.fa-magnifying-glass:before,.fa-search:before{content:\"\\f002\"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:\"\\f45d\"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:\"\\f470\"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:\"\\f82a\"}.fa-naira-sign:before{content:\"\\e1f6\"}.fa-cart-arrow-down:before{content:\"\\f218\"}.fa-walkie-talkie:before{content:\"\\f8ef\"}.fa-file-edit:before,.fa-file-pen:before{content:\"\\f31c\"}.fa-receipt:before{content:\"\\f543\"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:\"\\f14b\"}.fa-suitcase-rolling:before{content:\"\\f5c1\"}.fa-person-circle-exclamation:before{content:\"\\e53f\"}.fa-chevron-down:before{content:\"\\f078\"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:\"\\f240\"}.fa-skull-crossbones:before{content:\"\\f714\"}.fa-code-compare:before{content:\"\\e13a\"}.fa-list-dots:before,.fa-list-ul:before{content:\"\\f0ca\"}.fa-school-lock:before{content:\"\\e56f\"}.fa-tower-cell:before{content:\"\\e585\"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:\"\\f309\"}.fa-ranking-star:before{content:\"\\e561\"}.fa-chess-king:before{content:\"\\f43f\"}.fa-person-harassing:before{content:\"\\e549\"}.fa-brazilian-real-sign:before{content:\"\\e46c\"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:\"\\f752\"}.fa-arrow-up:before{content:\"\\f062\"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:\"\\f26c\"}.fa-shrimp:before{content:\"\\e448\"}.fa-list-check:before,.fa-tasks:before{content:\"\\f0ae\"}.fa-jug-detergent:before{content:\"\\e519\"}.fa-circle-user:before,.fa-user-circle:before{content:\"\\f2bd\"}.fa-user-shield:before{content:\"\\f505\"}.fa-wind:before{content:\"\\f72e\"}.fa-car-burst:before,.fa-car-crash:before{content:\"\\f5e1\"}.fa-y:before{content:\"\\59\"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:\"\\f7ce\"}.fa-shipping-fast:before,.fa-truck-fast:before{content:\"\\f48b\"}.fa-fish:before{content:\"\\f578\"}.fa-user-graduate:before{content:\"\\f501\"}.fa-adjust:before,.fa-circle-half-stroke:before{content:\"\\f042\"}.fa-clapperboard:before{content:\"\\e131\"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:\"\\f7ba\"}.fa-baseball-ball:before,.fa-baseball:before{content:\"\\f433\"}.fa-jet-fighter-up:before{content:\"\\e518\"}.fa-diagram-project:before,.fa-project-diagram:before{content:\"\\f542\"}.fa-copy:before{content:\"\\f0c5\"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:\"\\f6a9\"}.fa-hand-sparkles:before{content:\"\\e05d\"}.fa-grip-horizontal:before,.fa-grip:before{content:\"\\f58d\"}.fa-share-from-square:before,.fa-share-square:before{content:\"\\f14d\"}.fa-child-combatant:before,.fa-child-rifle:before{content:\"\\e4e0\"}.fa-gun:before{content:\"\\e19b\"}.fa-phone-square:before,.fa-square-phone:before{content:\"\\f098\"}.fa-add:before,.fa-plus:before{content:\"\\2b\"}.fa-expand:before{content:\"\\f065\"}.fa-computer:before{content:\"\\e4e5\"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:\"\\f00d\"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:\"\\f047\"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:\"\\f51c\"}.fa-peso-sign:before{content:\"\\e222\"}.fa-building-shield:before{content:\"\\e4d8\"}.fa-baby:before{content:\"\\f77c\"}.fa-users-line:before{content:\"\\e592\"}.fa-quote-left-alt:before,.fa-quote-left:before{content:\"\\f10d\"}.fa-tractor:before{content:\"\\f722\"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:\"\\f829\"}.fa-arrow-down-up-lock:before{content:\"\\e4b0\"}.fa-lines-leaning:before{content:\"\\e51e\"}.fa-ruler-combined:before{content:\"\\f546\"}.fa-copyright:before{content:\"\\f1f9\"}.fa-equals:before{content:\"\\3d\"}.fa-blender:before{content:\"\\f517\"}.fa-teeth:before{content:\"\\f62e\"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:\"\\f20b\"}.fa-map:before{content:\"\\f279\"}.fa-rocket:before{content:\"\\f135\"}.fa-photo-film:before,.fa-photo-video:before{content:\"\\f87c\"}.fa-folder-minus:before{content:\"\\f65d\"}.fa-store:before{content:\"\\f54e\"}.fa-arrow-trend-up:before{content:\"\\e098\"}.fa-plug-circle-minus:before{content:\"\\e55e\"}.fa-sign-hanging:before,.fa-sign:before{content:\"\\f4d9\"}.fa-bezier-curve:before{content:\"\\f55b\"}.fa-bell-slash:before{content:\"\\f1f6\"}.fa-tablet-android:before,.fa-tablet:before{content:\"\\f3fb\"}.fa-school-flag:before{content:\"\\e56e\"}.fa-fill:before{content:\"\\f575\"}.fa-angle-up:before{content:\"\\f106\"}.fa-drumstick-bite:before{content:\"\\f6d7\"}.fa-holly-berry:before{content:\"\\f7aa\"}.fa-chevron-left:before{content:\"\\f053\"}.fa-bacteria:before{content:\"\\e059\"}.fa-hand-lizard:before{content:\"\\f258\"}.fa-notdef:before{content:\"\\e1fe\"}.fa-disease:before{content:\"\\f7fa\"}.fa-briefcase-medical:before{content:\"\\f469\"}.fa-genderless:before{content:\"\\f22d\"}.fa-chevron-right:before{content:\"\\f054\"}.fa-retweet:before{content:\"\\f079\"}.fa-car-alt:before,.fa-car-rear:before{content:\"\\f5de\"}.fa-pump-soap:before{content:\"\\e06b\"}.fa-video-slash:before{content:\"\\f4e2\"}.fa-battery-2:before,.fa-battery-quarter:before{content:\"\\f243\"}.fa-radio:before{content:\"\\f8d7\"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:\"\\f77d\"}.fa-traffic-light:before{content:\"\\f637\"}.fa-thermometer:before{content:\"\\f491\"}.fa-vr-cardboard:before{content:\"\\f729\"}.fa-hand-middle-finger:before{content:\"\\f806\"}.fa-percent:before,.fa-percentage:before{content:\"\\25\"}.fa-truck-moving:before{content:\"\\f4df\"}.fa-glass-water-droplet:before{content:\"\\e4f5\"}.fa-display:before{content:\"\\e163\"}.fa-face-smile:before,.fa-smile:before{content:\"\\f118\"}.fa-thumb-tack:before,.fa-thumbtack:before{content:\"\\f08d\"}.fa-trophy:before{content:\"\\f091\"}.fa-person-praying:before,.fa-pray:before{content:\"\\f683\"}.fa-hammer:before{content:\"\\f6e3\"}.fa-hand-peace:before{content:\"\\f25b\"}.fa-rotate:before,.fa-sync-alt:before{content:\"\\f2f1\"}.fa-spinner:before{content:\"\\f110\"}.fa-robot:before{content:\"\\f544\"}.fa-peace:before{content:\"\\f67c\"}.fa-cogs:before,.fa-gears:before{content:\"\\f085\"}.fa-warehouse:before{content:\"\\f494\"}.fa-arrow-up-right-dots:before{content:\"\\e4b7\"}.fa-splotch:before{content:\"\\f5bc\"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:\"\\f584\"}.fa-dice-four:before{content:\"\\f524\"}.fa-sim-card:before{content:\"\\f7c4\"}.fa-transgender-alt:before,.fa-transgender:before{content:\"\\f225\"}.fa-mercury:before{content:\"\\f223\"}.fa-arrow-turn-down:before,.fa-level-down:before{content:\"\\f149\"}.fa-person-falling-burst:before{content:\"\\e547\"}.fa-award:before{content:\"\\f559\"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:\"\\f3ff\"}.fa-building:before{content:\"\\f1ad\"}.fa-angle-double-left:before,.fa-angles-left:before{content:\"\\f100\"}.fa-qrcode:before{content:\"\\f029\"}.fa-clock-rotate-left:before,.fa-history:before{content:\"\\f1da\"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:\"\\f583\"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:\"\\f56e\"}.fa-shield-blank:before,.fa-shield:before{content:\"\\f132\"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:\"\\f885\"}.fa-house-medical:before{content:\"\\e3b2\"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:\"\\f450\"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:\"\\f137\"}.fa-house-chimney-window:before{content:\"\\e00d\"}.fa-pen-nib:before{content:\"\\f5ad\"}.fa-tent-arrow-turn-left:before{content:\"\\e580\"}.fa-tents:before{content:\"\\e582\"}.fa-magic:before,.fa-wand-magic:before{content:\"\\f0d0\"}.fa-dog:before{content:\"\\f6d3\"}.fa-carrot:before{content:\"\\f787\"}.fa-moon:before{content:\"\\f186\"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:\"\\f5ce\"}.fa-cheese:before{content:\"\\f7ef\"}.fa-yin-yang:before{content:\"\\f6ad\"}.fa-music:before{content:\"\\f001\"}.fa-code-commit:before{content:\"\\f386\"}.fa-temperature-low:before{content:\"\\f76b\"}.fa-biking:before,.fa-person-biking:before{content:\"\\f84a\"}.fa-broom:before{content:\"\\f51a\"}.fa-shield-heart:before{content:\"\\e574\"}.fa-gopuram:before{content:\"\\f664\"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:\"\\e47b\"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:\"\\f2d3\"}.fa-hashtag:before{content:\"\\23\"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:\"\\f424\"}.fa-oil-can:before{content:\"\\f613\"}.fa-t:before{content:\"\\54\"}.fa-hippo:before{content:\"\\f6ed\"}.fa-chart-column:before{content:\"\\e0e3\"}.fa-infinity:before{content:\"\\f534\"}.fa-vial-circle-check:before{content:\"\\e596\"}.fa-person-arrow-down-to-line:before{content:\"\\e538\"}.fa-voicemail:before{content:\"\\f897\"}.fa-fan:before{content:\"\\f863\"}.fa-person-walking-luggage:before{content:\"\\e554\"}.fa-arrows-alt-v:before,.fa-up-down:before{content:\"\\f338\"}.fa-cloud-moon-rain:before{content:\"\\f73c\"}.fa-calendar:before{content:\"\\f133\"}.fa-trailer:before{content:\"\\e041\"}.fa-bahai:before,.fa-haykal:before{content:\"\\f666\"}.fa-sd-card:before{content:\"\\f7c2\"}.fa-dragon:before{content:\"\\f6d5\"}.fa-shoe-prints:before{content:\"\\f54b\"}.fa-circle-plus:before,.fa-plus-circle:before{content:\"\\f055\"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:\"\\f58b\"}.fa-hand-holding:before{content:\"\\f4bd\"}.fa-plug-circle-exclamation:before{content:\"\\e55d\"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:\"\\f127\"}.fa-clone:before{content:\"\\f24d\"}.fa-person-walking-arrow-loop-left:before{content:\"\\e551\"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:\"\\f882\"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:\"\\f7e4\"}.fa-tornado:before{content:\"\\f76f\"}.fa-file-circle-plus:before{content:\"\\e494\"}.fa-book-quran:before,.fa-quran:before{content:\"\\f687\"}.fa-anchor:before{content:\"\\f13d\"}.fa-border-all:before{content:\"\\f84c\"}.fa-angry:before,.fa-face-angry:before{content:\"\\f556\"}.fa-cookie-bite:before{content:\"\\f564\"}.fa-arrow-trend-down:before{content:\"\\e097\"}.fa-feed:before,.fa-rss:before{content:\"\\f09e\"}.fa-draw-polygon:before{content:\"\\f5ee\"}.fa-balance-scale:before,.fa-scale-balanced:before{content:\"\\f24e\"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:\"\\f62a\"}.fa-shower:before{content:\"\\f2cc\"}.fa-desktop-alt:before,.fa-desktop:before{content:\"\\f390\"}.fa-m:before{content:\"\\4d\"}.fa-table-list:before,.fa-th-list:before{content:\"\\f00b\"}.fa-comment-sms:before,.fa-sms:before{content:\"\\f7cd\"}.fa-book:before{content:\"\\f02d\"}.fa-user-plus:before{content:\"\\f234\"}.fa-check:before{content:\"\\f00c\"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:\"\\f241\"}.fa-house-circle-check:before{content:\"\\e509\"}.fa-angle-left:before{content:\"\\f104\"}.fa-diagram-successor:before{content:\"\\e47a\"}.fa-truck-arrow-right:before{content:\"\\e58b\"}.fa-arrows-split-up-and-left:before{content:\"\\e4bc\"}.fa-fist-raised:before,.fa-hand-fist:before{content:\"\\f6de\"}.fa-cloud-moon:before{content:\"\\f6c3\"}.fa-briefcase:before{content:\"\\f0b1\"}.fa-person-falling:before{content:\"\\e546\"}.fa-image-portrait:before,.fa-portrait:before{content:\"\\f3e0\"}.fa-user-tag:before{content:\"\\f507\"}.fa-rug:before{content:\"\\e569\"}.fa-earth-europe:before,.fa-globe-europe:before{content:\"\\f7a2\"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:\"\\f59d\"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:\"\\f410\"}.fa-baht-sign:before{content:\"\\e0ac\"}.fa-book-open:before{content:\"\\f518\"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:\"\\f66a\"}.fa-handcuffs:before{content:\"\\e4f8\"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:\"\\f071\"}.fa-database:before{content:\"\\f1c0\"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:\"\\f064\"}.fa-bottle-droplet:before{content:\"\\e4c4\"}.fa-mask-face:before{content:\"\\e1d7\"}.fa-hill-rockslide:before{content:\"\\e508\"}.fa-exchange-alt:before,.fa-right-left:before{content:\"\\f362\"}.fa-paper-plane:before{content:\"\\f1d8\"}.fa-road-circle-exclamation:before{content:\"\\e565\"}.fa-dungeon:before{content:\"\\f6d9\"}.fa-align-right:before{content:\"\\f038\"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:\"\\f53b\"}.fa-life-ring:before{content:\"\\f1cd\"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:\"\\f2a7\"}.fa-calendar-day:before{content:\"\\f783\"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:\"\\f5c5\"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:\"\\f07d\"}.fa-face-grimace:before,.fa-grimace:before{content:\"\\f57f\"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:\"\\e2ce\"}.fa-level-down-alt:before,.fa-turn-down:before{content:\"\\f3be\"}.fa-person-walking-arrow-right:before{content:\"\\e552\"}.fa-envelope-square:before,.fa-square-envelope:before{content:\"\\f199\"}.fa-dice:before{content:\"\\f522\"}.fa-bowling-ball:before{content:\"\\f436\"}.fa-brain:before{content:\"\\f5dc\"}.fa-band-aid:before,.fa-bandage:before{content:\"\\f462\"}.fa-calendar-minus:before{content:\"\\f272\"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:\"\\f057\"}.fa-gifts:before{content:\"\\f79c\"}.fa-hotel:before{content:\"\\f594\"}.fa-earth-asia:before,.fa-globe-asia:before{content:\"\\f57e\"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:\"\\f47f\"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:\"\\f00e\"}.fa-thumbs-up:before{content:\"\\f164\"}.fa-user-clock:before{content:\"\\f4fd\"}.fa-allergies:before,.fa-hand-dots:before{content:\"\\f461\"}.fa-file-invoice:before{content:\"\\f570\"}.fa-window-minimize:before{content:\"\\f2d1\"}.fa-coffee:before,.fa-mug-saucer:before{content:\"\\f0f4\"}.fa-brush:before{content:\"\\f55d\"}.fa-mask:before{content:\"\\f6fa\"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:\"\\f010\"}.fa-ruler-vertical:before{content:\"\\f548\"}.fa-user-alt:before,.fa-user-large:before{content:\"\\f406\"}.fa-train-tram:before{content:\"\\e5b4\"}.fa-user-nurse:before{content:\"\\f82f\"}.fa-syringe:before{content:\"\\f48e\"}.fa-cloud-sun:before{content:\"\\f6c4\"}.fa-stopwatch-20:before{content:\"\\e06f\"}.fa-square-full:before{content:\"\\f45c\"}.fa-magnet:before{content:\"\\f076\"}.fa-jar:before{content:\"\\e516\"}.fa-note-sticky:before,.fa-sticky-note:before{content:\"\\f249\"}.fa-bug-slash:before{content:\"\\e490\"}.fa-arrow-up-from-water-pump:before{content:\"\\e4b6\"}.fa-bone:before{content:\"\\f5d7\"}.fa-user-injured:before{content:\"\\f728\"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:\"\\f5b4\"}.fa-plane:before{content:\"\\f072\"}.fa-tent-arrows-down:before{content:\"\\e581\"}.fa-exclamation:before{content:\"\\21\"}.fa-arrows-spin:before{content:\"\\e4bb\"}.fa-print:before{content:\"\\f02f\"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:\"\\e2bb\"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:\"\\24\"}.fa-x:before{content:\"\\58\"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:\"\\f688\"}.fa-users-cog:before,.fa-users-gear:before{content:\"\\f509\"}.fa-person-military-pointing:before{content:\"\\e54a\"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:\"\\f19c\"}.fa-umbrella:before{content:\"\\f0e9\"}.fa-trowel:before{content:\"\\e589\"}.fa-d:before{content:\"\\44\"}.fa-stapler:before{content:\"\\e5af\"}.fa-masks-theater:before,.fa-theater-masks:before{content:\"\\f630\"}.fa-kip-sign:before{content:\"\\e1c4\"}.fa-hand-point-left:before{content:\"\\f0a5\"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:\"\\f4c6\"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:\"\\f0fb\"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:\"\\f1e1\"}.fa-barcode:before{content:\"\\f02a\"}.fa-plus-minus:before{content:\"\\e43c\"}.fa-video-camera:before,.fa-video:before{content:\"\\f03d\"}.fa-graduation-cap:before,.fa-mortar-board:before{content:\"\\f19d\"}.fa-hand-holding-medical:before{content:\"\\e05c\"}.fa-person-circle-check:before{content:\"\\e53e\"}.fa-level-up-alt:before,.fa-turn-up:before{content:\"\\f3bf\"}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":".fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:\"Font Awesome 6 Brands\";--fa-font-brands:normal 400 1em/1 \"Font Awesome 6 Brands\"}@font-face{font-family:\"Font Awesome 6 Brands\";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format(\"woff2\"),url(../webfonts/fa-brands-400.ttf) format(\"truetype\")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:\"\\f3d0\"}.fa-hooli:before{content:\"\\f427\"}.fa-yelp:before{content:\"\\f1e9\"}.fa-cc-visa:before{content:\"\\f1f0\"}.fa-lastfm:before{content:\"\\f202\"}.fa-shopware:before{content:\"\\f5b5\"}.fa-creative-commons-nc:before{content:\"\\f4e8\"}.fa-aws:before{content:\"\\f375\"}.fa-redhat:before{content:\"\\f7bc\"}.fa-yoast:before{content:\"\\f2b1\"}.fa-cloudflare:before{content:\"\\e07d\"}.fa-ups:before{content:\"\\f7e0\"}.fa-wpexplorer:before{content:\"\\f2de\"}.fa-dyalog:before{content:\"\\f399\"}.fa-bity:before{content:\"\\f37a\"}.fa-stackpath:before{content:\"\\f842\"}.fa-buysellads:before{content:\"\\f20d\"}.fa-first-order:before{content:\"\\f2b0\"}.fa-modx:before{content:\"\\f285\"}.fa-guilded:before{content:\"\\e07e\"}.fa-vnv:before{content:\"\\f40b\"}.fa-js-square:before,.fa-square-js:before{content:\"\\f3b9\"}.fa-microsoft:before{content:\"\\f3ca\"}.fa-qq:before{content:\"\\f1d6\"}.fa-orcid:before{content:\"\\f8d2\"}.fa-java:before{content:\"\\f4e4\"}.fa-invision:before{content:\"\\f7b0\"}.fa-creative-commons-pd-alt:before{content:\"\\f4ed\"}.fa-centercode:before{content:\"\\f380\"}.fa-glide-g:before{content:\"\\f2a6\"}.fa-drupal:before{content:\"\\f1a9\"}.fa-hire-a-helper:before{content:\"\\f3b0\"}.fa-creative-commons-by:before{content:\"\\f4e7\"}.fa-unity:before{content:\"\\e049\"}.fa-whmcs:before{content:\"\\f40d\"}.fa-rocketchat:before{content:\"\\f3e8\"}.fa-vk:before{content:\"\\f189\"}.fa-untappd:before{content:\"\\f405\"}.fa-mailchimp:before{content:\"\\f59e\"}.fa-css3-alt:before{content:\"\\f38b\"}.fa-reddit-square:before,.fa-square-reddit:before{content:\"\\f1a2\"}.fa-vimeo-v:before{content:\"\\f27d\"}.fa-contao:before{content:\"\\f26d\"}.fa-square-font-awesome:before{content:\"\\e5ad\"}.fa-deskpro:before{content:\"\\f38f\"}.fa-sistrix:before{content:\"\\f3ee\"}.fa-instagram-square:before,.fa-square-instagram:before{content:\"\\e055\"}.fa-battle-net:before{content:\"\\f835\"}.fa-the-red-yeti:before{content:\"\\f69d\"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:\"\\f3af\"}.fa-edge:before{content:\"\\f282\"}.fa-napster:before{content:\"\\f3d2\"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:\"\\f2ad\"}.fa-google-plus-g:before{content:\"\\f0d5\"}.fa-artstation:before{content:\"\\f77a\"}.fa-markdown:before{content:\"\\f60f\"}.fa-sourcetree:before{content:\"\\f7d3\"}.fa-google-plus:before{content:\"\\f2b3\"}.fa-diaspora:before{content:\"\\f791\"}.fa-foursquare:before{content:\"\\f180\"}.fa-stack-overflow:before{content:\"\\f16c\"}.fa-github-alt:before{content:\"\\f113\"}.fa-phoenix-squadron:before{content:\"\\f511\"}.fa-pagelines:before{content:\"\\f18c\"}.fa-algolia:before{content:\"\\f36c\"}.fa-red-river:before{content:\"\\f3e3\"}.fa-creative-commons-sa:before{content:\"\\f4ef\"}.fa-safari:before{content:\"\\f267\"}.fa-google:before{content:\"\\f1a0\"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:\"\\f35c\"}.fa-atlassian:before{content:\"\\f77b\"}.fa-linkedin-in:before{content:\"\\f0e1\"}.fa-digital-ocean:before{content:\"\\f391\"}.fa-nimblr:before{content:\"\\f5a8\"}.fa-chromecast:before{content:\"\\f838\"}.fa-evernote:before{content:\"\\f839\"}.fa-hacker-news:before{content:\"\\f1d4\"}.fa-creative-commons-sampling:before{content:\"\\f4f0\"}.fa-adversal:before{content:\"\\f36a\"}.fa-creative-commons:before{content:\"\\f25e\"}.fa-watchman-monitoring:before{content:\"\\e087\"}.fa-fonticons:before{content:\"\\f280\"}.fa-weixin:before{content:\"\\f1d7\"}.fa-shirtsinbulk:before{content:\"\\f214\"}.fa-codepen:before{content:\"\\f1cb\"}.fa-git-alt:before{content:\"\\f841\"}.fa-lyft:before{content:\"\\f3c3\"}.fa-rev:before{content:\"\\f5b2\"}.fa-windows:before{content:\"\\f17a\"}.fa-wizards-of-the-coast:before{content:\"\\f730\"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:\"\\f2aa\"}.fa-meetup:before{content:\"\\f2e0\"}.fa-centos:before{content:\"\\f789\"}.fa-adn:before{content:\"\\f170\"}.fa-cloudsmith:before{content:\"\\f384\"}.fa-pied-piper-alt:before{content:\"\\f1a8\"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:\"\\f397\"}.fa-codiepie:before{content:\"\\f284\"}.fa-node:before{content:\"\\f419\"}.fa-mix:before{content:\"\\f3cb\"}.fa-steam:before{content:\"\\f1b6\"}.fa-cc-apple-pay:before{content:\"\\f416\"}.fa-scribd:before{content:\"\\f28a\"}.fa-openid:before{content:\"\\f19b\"}.fa-instalod:before{content:\"\\e081\"}.fa-expeditedssl:before{content:\"\\f23e\"}.fa-sellcast:before{content:\"\\f2da\"}.fa-square-twitter:before,.fa-twitter-square:before{content:\"\\f081\"}.fa-r-project:before{content:\"\\f4f7\"}.fa-delicious:before{content:\"\\f1a5\"}.fa-freebsd:before{content:\"\\f3a4\"}.fa-vuejs:before{content:\"\\f41f\"}.fa-accusoft:before{content:\"\\f369\"}.fa-ioxhost:before{content:\"\\f208\"}.fa-fonticons-fi:before{content:\"\\f3a2\"}.fa-app-store:before{content:\"\\f36f\"}.fa-cc-mastercard:before{content:\"\\f1f1\"}.fa-itunes-note:before{content:\"\\f3b5\"}.fa-golang:before{content:\"\\e40f\"}.fa-kickstarter:before{content:\"\\f3bb\"}.fa-grav:before{content:\"\\f2d6\"}.fa-weibo:before{content:\"\\f18a\"}.fa-uncharted:before{content:\"\\e084\"}.fa-firstdraft:before{content:\"\\f3a1\"}.fa-square-youtube:before,.fa-youtube-square:before{content:\"\\f431\"}.fa-wikipedia-w:before{content:\"\\f266\"}.fa-rendact:before,.fa-wpressr:before{content:\"\\f3e4\"}.fa-angellist:before{content:\"\\f209\"}.fa-galactic-republic:before{content:\"\\f50c\"}.fa-nfc-directional:before{content:\"\\e530\"}.fa-skype:before{content:\"\\f17e\"}.fa-joget:before{content:\"\\f3b7\"}.fa-fedora:before{content:\"\\f798\"}.fa-stripe-s:before{content:\"\\f42a\"}.fa-meta:before{content:\"\\e49b\"}.fa-laravel:before{content:\"\\f3bd\"}.fa-hotjar:before{content:\"\\f3b1\"}.fa-bluetooth-b:before{content:\"\\f294\"}.fa-sticker-mule:before{content:\"\\f3f7\"}.fa-creative-commons-zero:before{content:\"\\f4f3\"}.fa-hips:before{content:\"\\f452\"}.fa-behance:before{content:\"\\f1b4\"}.fa-reddit:before{content:\"\\f1a1\"}.fa-discord:before{content:\"\\f392\"}.fa-chrome:before{content:\"\\f268\"}.fa-app-store-ios:before{content:\"\\f370\"}.fa-cc-discover:before{content:\"\\f1f2\"}.fa-wpbeginner:before{content:\"\\f297\"}.fa-confluence:before{content:\"\\f78d\"}.fa-mdb:before{content:\"\\f8ca\"}.fa-dochub:before{content:\"\\f394\"}.fa-accessible-icon:before{content:\"\\f368\"}.fa-ebay:before{content:\"\\f4f4\"}.fa-amazon:before{content:\"\\f270\"}.fa-unsplash:before{content:\"\\e07c\"}.fa-yarn:before{content:\"\\f7e3\"}.fa-square-steam:before,.fa-steam-square:before{content:\"\\f1b7\"}.fa-500px:before{content:\"\\f26e\"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:\"\\f194\"}.fa-asymmetrik:before{content:\"\\f372\"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:\"\\f2b4\"}.fa-gratipay:before{content:\"\\f184\"}.fa-apple:before{content:\"\\f179\"}.fa-hive:before{content:\"\\e07f\"}.fa-gitkraken:before{content:\"\\f3a6\"}.fa-keybase:before{content:\"\\f4f5\"}.fa-apple-pay:before{content:\"\\f415\"}.fa-padlet:before{content:\"\\e4a0\"}.fa-amazon-pay:before{content:\"\\f42c\"}.fa-github-square:before,.fa-square-github:before{content:\"\\f092\"}.fa-stumbleupon:before{content:\"\\f1a4\"}.fa-fedex:before{content:\"\\f797\"}.fa-phoenix-framework:before{content:\"\\f3dc\"}.fa-shopify:before{content:\"\\e057\"}.fa-neos:before{content:\"\\f612\"}.fa-hackerrank:before{content:\"\\f5f7\"}.fa-researchgate:before{content:\"\\f4f8\"}.fa-swift:before{content:\"\\f8e1\"}.fa-angular:before{content:\"\\f420\"}.fa-speakap:before{content:\"\\f3f3\"}.fa-angrycreative:before{content:\"\\f36e\"}.fa-y-combinator:before{content:\"\\f23b\"}.fa-empire:before{content:\"\\f1d1\"}.fa-envira:before{content:\"\\f299\"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:\"\\e5ae\"}.fa-studiovinari:before{content:\"\\f3f8\"}.fa-pied-piper:before{content:\"\\f2ae\"}.fa-wordpress:before{content:\"\\f19a\"}.fa-product-hunt:before{content:\"\\f288\"}.fa-firefox:before{content:\"\\f269\"}.fa-linode:before{content:\"\\f2b8\"}.fa-goodreads:before{content:\"\\f3a8\"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:\"\\f264\"}.fa-jsfiddle:before{content:\"\\f1cc\"}.fa-sith:before{content:\"\\f512\"}.fa-themeisle:before{content:\"\\f2b2\"}.fa-page4:before{content:\"\\f3d7\"}.fa-hashnode:before{content:\"\\e499\"}.fa-react:before{content:\"\\f41b\"}.fa-cc-paypal:before{content:\"\\f1f4\"}.fa-squarespace:before{content:\"\\f5be\"}.fa-cc-stripe:before{content:\"\\f1f5\"}.fa-creative-commons-share:before{content:\"\\f4f2\"}.fa-bitcoin:before{content:\"\\f379\"}.fa-keycdn:before{content:\"\\f3ba\"}.fa-opera:before{content:\"\\f26a\"}.fa-itch-io:before{content:\"\\f83a\"}.fa-umbraco:before{content:\"\\f8e8\"}.fa-galactic-senate:before{content:\"\\f50d\"}.fa-ubuntu:before{content:\"\\f7df\"}.fa-draft2digital:before{content:\"\\f396\"}.fa-stripe:before{content:\"\\f429\"}.fa-houzz:before{content:\"\\f27c\"}.fa-gg:before{content:\"\\f260\"}.fa-dhl:before{content:\"\\f790\"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:\"\\f0d3\"}.fa-xing:before{content:\"\\f168\"}.fa-blackberry:before{content:\"\\f37b\"}.fa-creative-commons-pd:before{content:\"\\f4ec\"}.fa-playstation:before{content:\"\\f3df\"}.fa-quinscape:before{content:\"\\f459\"}.fa-less:before{content:\"\\f41d\"}.fa-blogger-b:before{content:\"\\f37d\"}.fa-opencart:before{content:\"\\f23d\"}.fa-vine:before{content:\"\\f1ca\"}.fa-paypal:before{content:\"\\f1ed\"}.fa-gitlab:before{content:\"\\f296\"}.fa-typo3:before{content:\"\\f42b\"}.fa-reddit-alien:before{content:\"\\f281\"}.fa-yahoo:before{content:\"\\f19e\"}.fa-dailymotion:before{content:\"\\e052\"}.fa-affiliatetheme:before{content:\"\\f36b\"}.fa-pied-piper-pp:before{content:\"\\f1a7\"}.fa-bootstrap:before{content:\"\\f836\"}.fa-odnoklassniki:before{content:\"\\f263\"}.fa-nfc-symbol:before{content:\"\\e531\"}.fa-ethereum:before{content:\"\\f42e\"}.fa-speaker-deck:before{content:\"\\f83c\"}.fa-creative-commons-nc-eu:before{content:\"\\f4e9\"}.fa-patreon:before{content:\"\\f3d9\"}.fa-avianex:before{content:\"\\f374\"}.fa-ello:before{content:\"\\f5f1\"}.fa-gofore:before{content:\"\\f3a7\"}.fa-bimobject:before{content:\"\\f378\"}.fa-facebook-f:before{content:\"\\f39e\"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:\"\\f0d4\"}.fa-mandalorian:before{content:\"\\f50f\"}.fa-first-order-alt:before{content:\"\\f50a\"}.fa-osi:before{content:\"\\f41a\"}.fa-google-wallet:before{content:\"\\f1ee\"}.fa-d-and-d-beyond:before{content:\"\\f6ca\"}.fa-periscope:before{content:\"\\f3da\"}.fa-fulcrum:before{content:\"\\f50b\"}.fa-cloudscale:before{content:\"\\f383\"}.fa-forumbee:before{content:\"\\f211\"}.fa-mizuni:before{content:\"\\f3cc\"}.fa-schlix:before{content:\"\\f3ea\"}.fa-square-xing:before,.fa-xing-square:before{content:\"\\f169\"}.fa-bandcamp:before{content:\"\\f2d5\"}.fa-wpforms:before{content:\"\\f298\"}.fa-cloudversify:before{content:\"\\f385\"}.fa-usps:before{content:\"\\f7e1\"}.fa-megaport:before{content:\"\\f5a3\"}.fa-magento:before{content:\"\\f3c4\"}.fa-spotify:before{content:\"\\f1bc\"}.fa-optin-monster:before{content:\"\\f23c\"}.fa-fly:before{content:\"\\f417\"}.fa-aviato:before{content:\"\\f421\"}.fa-itunes:before{content:\"\\f3b4\"}.fa-cuttlefish:before{content:\"\\f38c\"}.fa-blogger:before{content:\"\\f37c\"}.fa-flickr:before{content:\"\\f16e\"}.fa-viber:before{content:\"\\f409\"}.fa-soundcloud:before{content:\"\\f1be\"}.fa-digg:before{content:\"\\f1a6\"}.fa-tencent-weibo:before{content:\"\\f1d5\"}.fa-symfony:before{content:\"\\f83d\"}.fa-maxcdn:before{content:\"\\f136\"}.fa-etsy:before{content:\"\\f2d7\"}.fa-facebook-messenger:before{content:\"\\f39f\"}.fa-audible:before{content:\"\\f373\"}.fa-think-peaks:before{content:\"\\f731\"}.fa-bilibili:before{content:\"\\e3d9\"}.fa-erlang:before{content:\"\\f39d\"}.fa-cotton-bureau:before{content:\"\\f89e\"}.fa-dashcube:before{content:\"\\f210\"}.fa-42-group:before,.fa-innosoft:before{content:\"\\e080\"}.fa-stack-exchange:before{content:\"\\f18d\"}.fa-elementor:before{content:\"\\f430\"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:\"\\e01e\"}.fa-creative-commons-nd:before{content:\"\\f4eb\"}.fa-palfed:before{content:\"\\f3d8\"}.fa-superpowers:before{content:\"\\f2dd\"}.fa-resolving:before{content:\"\\f3e7\"}.fa-xbox:before{content:\"\\f412\"}.fa-searchengin:before{content:\"\\f3eb\"}.fa-tiktok:before{content:\"\\e07b\"}.fa-facebook-square:before,.fa-square-facebook:before{content:\"\\f082\"}.fa-renren:before{content:\"\\f18b\"}.fa-linux:before{content:\"\\f17c\"}.fa-glide:before{content:\"\\f2a5\"}.fa-linkedin:before{content:\"\\f08c\"}.fa-hubspot:before{content:\"\\f3b2\"}.fa-deploydog:before{content:\"\\f38e\"}.fa-twitch:before{content:\"\\f1e8\"}.fa-ravelry:before{content:\"\\f2d9\"}.fa-mixer:before{content:\"\\e056\"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:\"\\f203\"}.fa-vimeo:before{content:\"\\f40a\"}.fa-mendeley:before{content:\"\\f7b3\"}.fa-uniregistry:before{content:\"\\f404\"}.fa-figma:before{content:\"\\f799\"}.fa-creative-commons-remix:before{content:\"\\f4ee\"}.fa-cc-amazon-pay:before{content:\"\\f42d\"}.fa-dropbox:before{content:\"\\f16b\"}.fa-instagram:before{content:\"\\f16d\"}.fa-cmplid:before{content:\"\\e360\"}.fa-facebook:before{content:\"\\f09a\"}.fa-gripfire:before{content:\"\\f3ac\"}.fa-jedi-order:before{content:\"\\f50e\"}.fa-uikit:before{content:\"\\f403\"}.fa-fort-awesome-alt:before{content:\"\\f3a3\"}.fa-phabricator:before{content:\"\\f3db\"}.fa-ussunnah:before{content:\"\\f407\"}.fa-earlybirds:before{content:\"\\f39a\"}.fa-trade-federation:before{content:\"\\f513\"}.fa-autoprefixer:before{content:\"\\f41c\"}.fa-whatsapp:before{content:\"\\f232\"}.fa-slideshare:before{content:\"\\f1e7\"}.fa-google-play:before{content:\"\\f3ab\"}.fa-viadeo:before{content:\"\\f2a9\"}.fa-line:before{content:\"\\f3c0\"}.fa-google-drive:before{content:\"\\f3aa\"}.fa-servicestack:before{content:\"\\f3ec\"}.fa-simplybuilt:before{content:\"\\f215\"}.fa-bitbucket:before{content:\"\\f171\"}.fa-imdb:before{content:\"\\f2d8\"}.fa-deezer:before{content:\"\\e077\"}.fa-raspberry-pi:before{content:\"\\f7bb\"}.fa-jira:before{content:\"\\f7b1\"}.fa-docker:before{content:\"\\f395\"}.fa-screenpal:before{content:\"\\e570\"}.fa-bluetooth:before{content:\"\\f293\"}.fa-gitter:before{content:\"\\f426\"}.fa-d-and-d:before{content:\"\\f38d\"}.fa-microblog:before{content:\"\\e01a\"}.fa-cc-diners-club:before{content:\"\\f24c\"}.fa-gg-circle:before{content:\"\\f261\"}.fa-pied-piper-hat:before{content:\"\\f4e5\"}.fa-kickstarter-k:before{content:\"\\f3bc\"}.fa-yandex:before{content:\"\\f413\"}.fa-readme:before{content:\"\\f4d5\"}.fa-html5:before{content:\"\\f13b\"}.fa-sellsy:before{content:\"\\f213\"}.fa-sass:before{content:\"\\f41e\"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:\"\\e2d0\"}.fa-buromobelexperte:before{content:\"\\f37f\"}.fa-salesforce:before{content:\"\\f83b\"}.fa-octopus-deploy:before{content:\"\\e082\"}.fa-medapps:before{content:\"\\f3c6\"}.fa-ns8:before{content:\"\\f3d5\"}.fa-pinterest-p:before{content:\"\\f231\"}.fa-apper:before{content:\"\\f371\"}.fa-fort-awesome:before{content:\"\\f286\"}.fa-waze:before{content:\"\\f83f\"}.fa-cc-jcb:before{content:\"\\f24b\"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:\"\\f2ab\"}.fa-fantasy-flight-games:before{content:\"\\f6dc\"}.fa-rust:before{content:\"\\e07a\"}.fa-wix:before{content:\"\\f5cf\"}.fa-behance-square:before,.fa-square-behance:before{content:\"\\f1b5\"}.fa-supple:before{content:\"\\f3f9\"}.fa-rebel:before{content:\"\\f1d0\"}.fa-css3:before{content:\"\\f13c\"}.fa-staylinked:before{content:\"\\f3f5\"}.fa-kaggle:before{content:\"\\f5fa\"}.fa-space-awesome:before{content:\"\\e5ac\"}.fa-deviantart:before{content:\"\\f1bd\"}.fa-cpanel:before{content:\"\\f388\"}.fa-goodreads-g:before{content:\"\\f3a9\"}.fa-git-square:before,.fa-square-git:before{content:\"\\f1d2\"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:\"\\f174\"}.fa-trello:before{content:\"\\f181\"}.fa-creative-commons-nc-jp:before{content:\"\\f4ea\"}.fa-get-pocket:before{content:\"\\f265\"}.fa-perbyte:before{content:\"\\e083\"}.fa-grunt:before{content:\"\\f3ad\"}.fa-weebly:before{content:\"\\f5cc\"}.fa-connectdevelop:before{content:\"\\f20e\"}.fa-leanpub:before{content:\"\\f212\"}.fa-black-tie:before{content:\"\\f27e\"}.fa-themeco:before{content:\"\\f5c6\"}.fa-python:before{content:\"\\f3e2\"}.fa-android:before{content:\"\\f17b\"}.fa-bots:before{content:\"\\e340\"}.fa-free-code-camp:before{content:\"\\f2c5\"}.fa-hornbill:before{content:\"\\f592\"}.fa-js:before{content:\"\\f3b8\"}.fa-ideal:before{content:\"\\e013\"}.fa-git:before{content:\"\\f1d3\"}.fa-dev:before{content:\"\\f6cc\"}.fa-sketch:before{content:\"\\f7c6\"}.fa-yandex-international:before{content:\"\\f414\"}.fa-cc-amex:before{content:\"\\f1f3\"}.fa-uber:before{content:\"\\f402\"}.fa-github:before{content:\"\\f09b\"}.fa-php:before{content:\"\\f457\"}.fa-alipay:before{content:\"\\f642\"}.fa-youtube:before{content:\"\\f167\"}.fa-skyatlas:before{content:\"\\f216\"}.fa-firefox-browser:before{content:\"\\e007\"}.fa-replyd:before{content:\"\\f3e6\"}.fa-suse:before{content:\"\\f7d6\"}.fa-jenkins:before{content:\"\\f3b6\"}.fa-twitter:before{content:\"\\f099\"}.fa-rockrms:before{content:\"\\f3e9\"}.fa-pinterest:before{content:\"\\f0d2\"}.fa-buffer:before{content:\"\\f837\"}.fa-npm:before{content:\"\\f3d4\"}.fa-yammer:before{content:\"\\f840\"}.fa-btc:before{content:\"\\f15a\"}.fa-dribbble:before{content:\"\\f17d\"}.fa-stumbleupon-circle:before{content:\"\\f1a3\"}.fa-internet-explorer:before{content:\"\\f26b\"}.fa-stubber:before{content:\"\\e5c7\"}.fa-telegram-plane:before,.fa-telegram:before{content:\"\\f2c6\"}.fa-old-republic:before{content:\"\\f510\"}.fa-odysee:before{content:\"\\e5c6\"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:\"\\f40c\"}.fa-node-js:before{content:\"\\f3d3\"}.fa-edge-legacy:before{content:\"\\e078\"}.fa-slack-hash:before,.fa-slack:before{content:\"\\f198\"}.fa-medrt:before{content:\"\\f3c8\"}.fa-usb:before{content:\"\\f287\"}.fa-tumblr:before{content:\"\\f173\"}.fa-vaadin:before{content:\"\\f408\"}.fa-quora:before{content:\"\\f2c4\"}.fa-reacteurope:before{content:\"\\f75d\"}.fa-medium-m:before,.fa-medium:before{content:\"\\f23a\"}.fa-amilia:before{content:\"\\f36d\"}.fa-mixcloud:before{content:\"\\f289\"}.fa-flipboard:before{content:\"\\f44d\"}.fa-viacoin:before{content:\"\\f237\"}.fa-critical-role:before{content:\"\\f6c9\"}.fa-sitrox:before{content:\"\\e44a\"}.fa-discourse:before{content:\"\\f393\"}.fa-joomla:before{content:\"\\f1aa\"}.fa-mastodon:before{content:\"\\f4f6\"}.fa-airbnb:before{content:\"\\f834\"}.fa-wolf-pack-battalion:before{content:\"\\f514\"}.fa-buy-n-large:before{content:\"\\f8a6\"}.fa-gulp:before{content:\"\\f3ae\"}.fa-creative-commons-sampling-plus:before{content:\"\\f4f1\"}.fa-strava:before{content:\"\\f428\"}.fa-ember:before{content:\"\\f423\"}.fa-canadian-maple-leaf:before{content:\"\\f785\"}.fa-teamspeak:before{content:\"\\f4f9\"}.fa-pushed:before{content:\"\\f3e1\"}.fa-wordpress-simple:before{content:\"\\f411\"}.fa-nutritionix:before{content:\"\\f3d6\"}.fa-wodu:before{content:\"\\e088\"}.fa-google-pay:before{content:\"\\e079\"}.fa-intercom:before{content:\"\\f7af\"}.fa-zhihu:before{content:\"\\f63f\"}.fa-korvue:before{content:\"\\f42f\"}.fa-pix:before{content:\"\\e43a\"}.fa-steam-symbol:before{content:\"\\f3f6\"}:host,:root{--fa-font-regular:normal 400 1em/1 \"Font Awesome 6 Free\"}@font-face{font-family:\"Font Awesome 6 Free\";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format(\"woff2\"),url(../webfonts/fa-regular-400.ttf) format(\"truetype\")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:\"Font Awesome 6 Free\";--fa-font-solid:normal 900 1em/1 \"Font Awesome 6 Free\"}@font-face{font-family:\"Font Awesome 6 Free\";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format(\"woff2\"),url(../webfonts/fa-solid-900.ttf) format(\"truetype\")}.fa-solid,.fas{font-weight:900}@font-face{font-family:\"Font Awesome 5 Brands\";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format(\"woff2\"),url(../webfonts/fa-brands-400.ttf) format(\"truetype\")}@font-face{font-family:\"Font Awesome 5 Free\";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format(\"woff2\"),url(../webfonts/fa-solid-900.ttf) format(\"truetype\")}@font-face{font-family:\"Font Awesome 5 Free\";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format(\"woff2\"),url(../webfonts/fa-regular-400.ttf) format(\"truetype\")}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format(\"woff2\"),url(../webfonts/fa-solid-900.ttf) format(\"truetype\")}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format(\"woff2\"),url(../webfonts/fa-brands-400.ttf) format(\"truetype\")}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format(\"woff2\"),url(../webfonts/fa-regular-400.ttf) format(\"truetype\");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:\"FontAwesome\";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format(\"woff2\"),url(../webfonts/fa-v4compatibility.ttf) format(\"truetype\");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}"}],"authorContributionMap":{"KevinEyo1":9}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/glyphicons/css/bootstrap-glyphicons.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" * Bootstrap v3.3.7 (http://getbootstrap.com)"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" * Copyright 2011-2016 Twitter, Inc."},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" */"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"/*!"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id\u003d76290a4e23bf2c3f61a4e17625be4627)"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" * Config saved to config.json and https://gist.github.com/76290a4e23bf2c3f61a4e17625be4627"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" */"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"/*!"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" * Bootstrap v3.3.7 (http://getbootstrap.com)"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" * Copyright 2011-2016 Twitter, Inc."},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" */"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"@font-face{font-family:\u0027Glyphicons Halflings\u0027;src:url(../fonts/glyphicons-halflings-regular.eot);src:url(\u0027../fonts/glyphicons-halflings-regular.eot?#iefix\u0027) format(\u0027embedded-opentype\u0027),url(../fonts/glyphicons-halflings-regular.woff2) format(\u0027woff2\u0027),url(../fonts/glyphicons-halflings-regular.woff) format(\u0027woff\u0027),url(../fonts/glyphicons-halflings-regular.ttf) format(\u0027truetype\u0027),url(\u0027../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\u0027) format(\u0027svg\u0027)}.glyphicon{position:relative;top:1px;display:inline-block;font-family:\u0027Glyphicons Halflings\u0027;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:\"\\002a\"}.glyphicon-plus:before{content:\"\\002b\"}.glyphicon-euro:before,.glyphicon-eur:before{content:\"\\20ac\"}.glyphicon-minus:before{content:\"\\2212\"}.glyphicon-cloud:before{content:\"\\2601\"}.glyphicon-envelope:before{content:\"\\2709\"}.glyphicon-pencil:before{content:\"\\270f\"}.glyphicon-glass:before{content:\"\\e001\"}.glyphicon-music:before{content:\"\\e002\"}.glyphicon-search:before{content:\"\\e003\"}.glyphicon-heart:before{content:\"\\e005\"}.glyphicon-star:before{content:\"\\e006\"}.glyphicon-star-empty:before{content:\"\\e007\"}.glyphicon-user:before{content:\"\\e008\"}.glyphicon-film:before{content:\"\\e009\"}.glyphicon-th-large:before{content:\"\\e010\"}.glyphicon-th:before{content:\"\\e011\"}.glyphicon-th-list:before{content:\"\\e012\"}.glyphicon-ok:before{content:\"\\e013\"}.glyphicon-remove:before{content:\"\\e014\"}.glyphicon-zoom-in:before{content:\"\\e015\"}.glyphicon-zoom-out:before{content:\"\\e016\"}.glyphicon-off:before{content:\"\\e017\"}.glyphicon-signal:before{content:\"\\e018\"}.glyphicon-cog:before{content:\"\\e019\"}.glyphicon-trash:before{content:\"\\e020\"}.glyphicon-home:before{content:\"\\e021\"}.glyphicon-file:before{content:\"\\e022\"}.glyphicon-time:before{content:\"\\e023\"}.glyphicon-road:before{content:\"\\e024\"}.glyphicon-download-alt:before{content:\"\\e025\"}.glyphicon-download:before{content:\"\\e026\"}.glyphicon-upload:before{content:\"\\e027\"}.glyphicon-inbox:before{content:\"\\e028\"}.glyphicon-play-circle:before{content:\"\\e029\"}.glyphicon-repeat:before{content:\"\\e030\"}.glyphicon-refresh:before{content:\"\\e031\"}.glyphicon-list-alt:before{content:\"\\e032\"}.glyphicon-lock:before{content:\"\\e033\"}.glyphicon-flag:before{content:\"\\e034\"}.glyphicon-headphones:before{content:\"\\e035\"}.glyphicon-volume-off:before{content:\"\\e036\"}.glyphicon-volume-down:before{content:\"\\e037\"}.glyphicon-volume-up:before{content:\"\\e038\"}.glyphicon-qrcode:before{content:\"\\e039\"}.glyphicon-barcode:before{content:\"\\e040\"}.glyphicon-tag:before{content:\"\\e041\"}.glyphicon-tags:before{content:\"\\e042\"}.glyphicon-book:before{content:\"\\e043\"}.glyphicon-bookmark:before{content:\"\\e044\"}.glyphicon-print:before{content:\"\\e045\"}.glyphicon-camera:before{content:\"\\e046\"}.glyphicon-font:before{content:\"\\e047\"}.glyphicon-bold:before{content:\"\\e048\"}.glyphicon-italic:before{content:\"\\e049\"}.glyphicon-text-height:before{content:\"\\e050\"}.glyphicon-text-width:before{content:\"\\e051\"}.glyphicon-align-left:before{content:\"\\e052\"}.glyphicon-align-center:before{content:\"\\e053\"}.glyphicon-align-right:before{content:\"\\e054\"}.glyphicon-align-justify:before{content:\"\\e055\"}.glyphicon-list:before{content:\"\\e056\"}.glyphicon-indent-left:before{content:\"\\e057\"}.glyphicon-indent-right:before{content:\"\\e058\"}.glyphicon-facetime-video:before{content:\"\\e059\"}.glyphicon-picture:before{content:\"\\e060\"}.glyphicon-map-marker:before{content:\"\\e062\"}.glyphicon-adjust:before{content:\"\\e063\"}.glyphicon-tint:before{content:\"\\e064\"}.glyphicon-edit:before{content:\"\\e065\"}.glyphicon-share:before{content:\"\\e066\"}.glyphicon-check:before{content:\"\\e067\"}.glyphicon-move:before{content:\"\\e068\"}.glyphicon-step-backward:before{content:\"\\e069\"}.glyphicon-fast-backward:before{content:\"\\e070\"}.glyphicon-backward:before{content:\"\\e071\"}.glyphicon-play:before{content:\"\\e072\"}.glyphicon-pause:before{content:\"\\e073\"}.glyphicon-stop:before{content:\"\\e074\"}.glyphicon-forward:before{content:\"\\e075\"}.glyphicon-fast-forward:before{content:\"\\e076\"}.glyphicon-step-forward:before{content:\"\\e077\"}.glyphicon-eject:before{content:\"\\e078\"}.glyphicon-chevron-left:before{content:\"\\e079\"}.glyphicon-chevron-right:before{content:\"\\e080\"}.glyphicon-plus-sign:before{content:\"\\e081\"}.glyphicon-minus-sign:before{content:\"\\e082\"}.glyphicon-remove-sign:before{content:\"\\e083\"}.glyphicon-ok-sign:before{content:\"\\e084\"}.glyphicon-question-sign:before{content:\"\\e085\"}.glyphicon-info-sign:before{content:\"\\e086\"}.glyphicon-screenshot:before{content:\"\\e087\"}.glyphicon-remove-circle:before{content:\"\\e088\"}.glyphicon-ok-circle:before{content:\"\\e089\"}.glyphicon-ban-circle:before{content:\"\\e090\"}.glyphicon-arrow-left:before{content:\"\\e091\"}.glyphicon-arrow-right:before{content:\"\\e092\"}.glyphicon-arrow-up:before{content:\"\\e093\"}.glyphicon-arrow-down:before{content:\"\\e094\"}.glyphicon-share-alt:before{content:\"\\e095\"}.glyphicon-resize-full:before{content:\"\\e096\"}.glyphicon-resize-small:before{content:\"\\e097\"}.glyphicon-exclamation-sign:before{content:\"\\e101\"}.glyphicon-gift:before{content:\"\\e102\"}.glyphicon-leaf:before{content:\"\\e103\"}.glyphicon-fire:before{content:\"\\e104\"}.glyphicon-eye-open:before{content:\"\\e105\"}.glyphicon-eye-close:before{content:\"\\e106\"}.glyphicon-warning-sign:before{content:\"\\e107\"}.glyphicon-plane:before{content:\"\\e108\"}.glyphicon-calendar:before{content:\"\\e109\"}.glyphicon-random:before{content:\"\\e110\"}.glyphicon-comment:before{content:\"\\e111\"}.glyphicon-magnet:before{content:\"\\e112\"}.glyphicon-chevron-up:before{content:\"\\e113\"}.glyphicon-chevron-down:before{content:\"\\e114\"}.glyphicon-retweet:before{content:\"\\e115\"}.glyphicon-shopping-cart:before{content:\"\\e116\"}.glyphicon-folder-close:before{content:\"\\e117\"}.glyphicon-folder-open:before{content:\"\\e118\"}.glyphicon-resize-vertical:before{content:\"\\e119\"}.glyphicon-resize-horizontal:before{content:\"\\e120\"}.glyphicon-hdd:before{content:\"\\e121\"}.glyphicon-bullhorn:before{content:\"\\e122\"}.glyphicon-bell:before{content:\"\\e123\"}.glyphicon-certificate:before{content:\"\\e124\"}.glyphicon-thumbs-up:before{content:\"\\e125\"}.glyphicon-thumbs-down:before{content:\"\\e126\"}.glyphicon-hand-right:before{content:\"\\e127\"}.glyphicon-hand-left:before{content:\"\\e128\"}.glyphicon-hand-up:before{content:\"\\e129\"}.glyphicon-hand-down:before{content:\"\\e130\"}.glyphicon-circle-arrow-right:before{content:\"\\e131\"}.glyphicon-circle-arrow-left:before{content:\"\\e132\"}.glyphicon-circle-arrow-up:before{content:\"\\e133\"}.glyphicon-circle-arrow-down:before{content:\"\\e134\"}.glyphicon-globe:before{content:\"\\e135\"}.glyphicon-wrench:before{content:\"\\e136\"}.glyphicon-tasks:before{content:\"\\e137\"}.glyphicon-filter:before{content:\"\\e138\"}.glyphicon-briefcase:before{content:\"\\e139\"}.glyphicon-fullscreen:before{content:\"\\e140\"}.glyphicon-dashboard:before{content:\"\\e141\"}.glyphicon-paperclip:before{content:\"\\e142\"}.glyphicon-heart-empty:before{content:\"\\e143\"}.glyphicon-link:before{content:\"\\e144\"}.glyphicon-phone:before{content:\"\\e145\"}.glyphicon-pushpin:before{content:\"\\e146\"}.glyphicon-usd:before{content:\"\\e148\"}.glyphicon-gbp:before{content:\"\\e149\"}.glyphicon-sort:before{content:\"\\e150\"}.glyphicon-sort-by-alphabet:before{content:\"\\e151\"}.glyphicon-sort-by-alphabet-alt:before{content:\"\\e152\"}.glyphicon-sort-by-order:before{content:\"\\e153\"}.glyphicon-sort-by-order-alt:before{content:\"\\e154\"}.glyphicon-sort-by-attributes:before{content:\"\\e155\"}.glyphicon-sort-by-attributes-alt:before{content:\"\\e156\"}.glyphicon-unchecked:before{content:\"\\e157\"}.glyphicon-expand:before{content:\"\\e158\"}.glyphicon-collapse-down:before{content:\"\\e159\"}.glyphicon-collapse-up:before{content:\"\\e160\"}.glyphicon-log-in:before{content:\"\\e161\"}.glyphicon-flash:before{content:\"\\e162\"}.glyphicon-log-out:before{content:\"\\e163\"}.glyphicon-new-window:before{content:\"\\e164\"}.glyphicon-record:before{content:\"\\e165\"}.glyphicon-save:before{content:\"\\e166\"}.glyphicon-open:before{content:\"\\e167\"}.glyphicon-saved:before{content:\"\\e168\"}.glyphicon-import:before{content:\"\\e169\"}.glyphicon-export:before{content:\"\\e170\"}.glyphicon-send:before{content:\"\\e171\"}.glyphicon-floppy-disk:before{content:\"\\e172\"}.glyphicon-floppy-saved:before{content:\"\\e173\"}.glyphicon-floppy-remove:before{content:\"\\e174\"}.glyphicon-floppy-save:before{content:\"\\e175\"}.glyphicon-floppy-open:before{content:\"\\e176\"}.glyphicon-credit-card:before{content:\"\\e177\"}.glyphicon-transfer:before{content:\"\\e178\"}.glyphicon-cutlery:before{content:\"\\e179\"}.glyphicon-header:before{content:\"\\e180\"}.glyphicon-compressed:before{content:\"\\e181\"}.glyphicon-earphone:before{content:\"\\e182\"}.glyphicon-phone-alt:before{content:\"\\e183\"}.glyphicon-tower:before{content:\"\\e184\"}.glyphicon-stats:before{content:\"\\e185\"}.glyphicon-sd-video:before{content:\"\\e186\"}.glyphicon-hd-video:before{content:\"\\e187\"}.glyphicon-subtitles:before{content:\"\\e188\"}.glyphicon-sound-stereo:before{content:\"\\e189\"}.glyphicon-sound-dolby:before{content:\"\\e190\"}.glyphicon-sound-5-1:before{content:\"\\e191\"}.glyphicon-sound-6-1:before{content:\"\\e192\"}.glyphicon-sound-7-1:before{content:\"\\e193\"}.glyphicon-copyright-mark:before{content:\"\\e194\"}.glyphicon-registration-mark:before{content:\"\\e195\"}.glyphicon-cloud-download:before{content:\"\\e197\"}.glyphicon-cloud-upload:before{content:\"\\e198\"}.glyphicon-tree-conifer:before{content:\"\\e199\"}.glyphicon-tree-deciduous:before{content:\"\\e200\"}.glyphicon-cd:before{content:\"\\e201\"}.glyphicon-save-file:before{content:\"\\e202\"}.glyphicon-open-file:before{content:\"\\e203\"}.glyphicon-level-up:before{content:\"\\e204\"}.glyphicon-copy:before{content:\"\\e205\"}.glyphicon-paste:before{content:\"\\e206\"}.glyphicon-alert:before{content:\"\\e209\"}.glyphicon-equalizer:before{content:\"\\e210\"}.glyphicon-king:before{content:\"\\e211\"}.glyphicon-queen:before{content:\"\\e212\"}.glyphicon-pawn:before{content:\"\\e213\"}.glyphicon-bishop:before{content:\"\\e214\"}.glyphicon-knight:before{content:\"\\e215\"}.glyphicon-baby-formula:before{content:\"\\e216\"}.glyphicon-tent:before{content:\"\\26fa\"}.glyphicon-blackboard:before{content:\"\\e218\"}.glyphicon-bed:before{content:\"\\e219\"}.glyphicon-apple:before{content:\"\\f8ff\"}.glyphicon-erase:before{content:\"\\e221\"}.glyphicon-hourglass:before{content:\"\\231b\"}.glyphicon-lamp:before{content:\"\\e223\"}.glyphicon-duplicate:before{content:\"\\e224\"}.glyphicon-piggy-bank:before{content:\"\\e225\"}.glyphicon-scissors:before{content:\"\\e226\"}.glyphicon-bitcoin:before{content:\"\\e227\"}.glyphicon-btc:before{content:\"\\e227\"}.glyphicon-xbt:before{content:\"\\e227\"}.glyphicon-yen:before{content:\"\\00a5\"}.glyphicon-jpy:before{content:\"\\00a5\"}.glyphicon-ruble:before{content:\"\\20bd\"}.glyphicon-rub:before{content:\"\\20bd\"}.glyphicon-scale:before{content:\"\\e230\"}.glyphicon-ice-lolly:before{content:\"\\e231\"}.glyphicon-ice-lolly-tasted:before{content:\"\\e232\"}.glyphicon-education:before{content:\"\\e233\"}.glyphicon-option-horizontal:before{content:\"\\e234\"}.glyphicon-option-vertical:before{content:\"\\e235\"}.glyphicon-menu-hamburger:before{content:\"\\e236\"}.glyphicon-modal-window:before{content:\"\\e237\"}.glyphicon-oil:before{content:\"\\e238\"}.glyphicon-grain:before{content:\"\\e239\"}.glyphicon-sunglasses:before{content:\"\\e240\"}.glyphicon-text-size:before{content:\"\\e241\"}.glyphicon-text-color:before{content:\"\\e242\"}.glyphicon-text-background:before{content:\"\\e243\"}.glyphicon-object-align-top:before{content:\"\\e244\"}.glyphicon-object-align-bottom:before{content:\"\\e245\"}.glyphicon-object-align-horizontal:before{content:\"\\e246\"}.glyphicon-object-align-left:before{content:\"\\e247\"}.glyphicon-object-align-vertical:before{content:\"\\e248\"}.glyphicon-object-align-right:before{content:\"\\e249\"}.glyphicon-triangle-right:before{content:\"\\e250\"}.glyphicon-triangle-left:before{content:\"\\e251\"}.glyphicon-triangle-bottom:before{content:\"\\e252\"}.glyphicon-triangle-top:before{content:\"\\e253\"}.glyphicon-console:before{content:\"\\e254\"}.glyphicon-superscript:before{content:\"\\e255\"}.glyphicon-subscript:before{content:\"\\e256\"}.glyphicon-menu-left:before{content:\"\\e257\"}.glyphicon-menu-right:before{content:\"\\e258\"}.glyphicon-menu-down:before{content:\"\\e259\"}.glyphicon-menu-up:before{content:\"\\e260\"}"}],"authorContributionMap":{"KevinEyo1":17}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/js/bootstrap-utility.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" * Bootstrap v5.1.3 (https://getbootstrap.com/)"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" */"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"!function(t,e){\"object\"\u003d\u003dtypeof exports\u0026\u0026\"undefined\"!\u003dtypeof module?module.exports\u003de():\"function\"\u003d\u003dtypeof define\u0026\u0026define.amd?define(e):(t\u003d\"undefined\"!\u003dtypeof globalThis?globalThis:t||self).bootstrap\u003de()}(this,(function(){\"use strict\";const t\u003d\"transitionend\",e\u003dt\u003d\u003e{let e\u003dt.getAttribute(\"data-bs-target\");if(!e||\"#\"\u003d\u003d\u003de){let i\u003dt.getAttribute(\"href\");if(!i||!i.includes(\"#\")\u0026\u0026!i.startsWith(\".\"))return null;i.includes(\"#\")\u0026\u0026!i.startsWith(\"#\")\u0026\u0026(i\u003d`#${i.split(\"#\")[1]}`),e\u003di\u0026\u0026\"#\"!\u003d\u003di?i.trim():null}return e},i\u003dt\u003d\u003e{const i\u003de(t);return i\u0026\u0026document.querySelector(i)?i:null},n\u003dt\u003d\u003e{const i\u003de(t);return i?document.querySelector(i):null},s\u003de\u003d\u003e{e.dispatchEvent(new Event(t))},o\u003dt\u003d\u003e!(!t||\"object\"!\u003dtypeof t)\u0026\u0026(void 0!\u003d\u003dt.jquery\u0026\u0026(t\u003dt[0]),void 0!\u003d\u003dt.nodeType),r\u003dt\u003d\u003eo(t)?t.jquery?t[0]:t:\"string\"\u003d\u003dtypeof t\u0026\u0026t.length\u003e0?document.querySelector(t):null,a\u003d(t,e,i)\u003d\u003e{Object.keys(i).forEach((n\u003d\u003e{const s\u003di[n],r\u003de[n],a\u003dr\u0026\u0026o(r)?\"element\":null\u003d\u003d(l\u003dr)?`${l}`:{}.toString.call(l).match(/\\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option \"${n}\" provided type \"${a}\" but expected type \"${s}\".`)}))},l\u003dt\u003d\u003e!(!o(t)||0\u003d\u003d\u003dt.getClientRects().length)\u0026\u0026\"visible\"\u003d\u003d\u003dgetComputedStyle(t).getPropertyValue(\"visibility\"),c\u003dt\u003d\u003e!t||t.nodeType!\u003d\u003dNode.ELEMENT_NODE||!!t.classList.contains(\"disabled\")||(void 0!\u003d\u003dt.disabled?t.disabled:t.hasAttribute(\"disabled\")\u0026\u0026\"false\"!\u003d\u003dt.getAttribute(\"disabled\")),h\u003dt\u003d\u003e{if(!document.documentElement.attachShadow)return null;if(\"function\"\u003d\u003dtypeof t.getRootNode){const e\u003dt.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},d\u003d()\u003d\u003e{},u\u003dt\u003d\u003e{t.offsetHeight},f\u003d()\u003d\u003e{const{jQuery:t}\u003dwindow;return t\u0026\u0026!document.body.hasAttribute(\"data-bs-no-jquery\")?t:null},p\u003d[],m\u003d()\u003d\u003e\"rtl\"\u003d\u003d\u003ddocument.documentElement.dir,g\u003dt\u003d\u003e{var e;e\u003d()\u003d\u003e{const e\u003df();if(e){const i\u003dt.NAME,n\u003de.fn[i];e.fn[i]\u003dt.jQueryInterface,e.fn[i].Constructor\u003dt,e.fn[i].noConflict\u003d()\u003d\u003e(e.fn[i]\u003dn,t.jQueryInterface)}},\"loading\"\u003d\u003d\u003ddocument.readyState?(p.length||document.addEventListener(\"DOMContentLoaded\",(()\u003d\u003e{p.forEach((t\u003d\u003et()))})),p.push(e)):e()},_\u003dt\u003d\u003e{\"function\"\u003d\u003dtypeof t\u0026\u0026t()},b\u003d(e,i,n\u003d!0)\u003d\u003e{if(!n)return void _(e);const o\u003d(t\u003d\u003e{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}\u003dwindow.getComputedStyle(t);const n\u003dNumber.parseFloat(e),s\u003dNumber.parseFloat(i);return n||s?(e\u003de.split(\",\")[0],i\u003di.split(\",\")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(i)+5;let r\u003d!1;const a\u003d({target:n})\u003d\u003e{n\u003d\u003d\u003di\u0026\u0026(r\u003d!0,i.removeEventListener(t,a),_(e))};i.addEventListener(t,a),setTimeout((()\u003d\u003e{r||s(i)}),o)},v\u003d(t,e,i,n)\u003d\u003e{let s\u003dt.indexOf(e);if(-1\u003d\u003d\u003ds)return t[!i\u0026\u0026n?t.length-1:0];const o\u003dt.length;return s+\u003di?1:-1,n\u0026\u0026(s\u003d(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},y\u003d/[^.]*(?\u003d\\..*)\\.|.*/,w\u003d/\\..*/,E\u003d/::\\d+$/,A\u003d{};let T\u003d1;const O\u003d{mouseenter:\"mouseover\",mouseleave:\"mouseout\"},C\u003d/^(mouseenter|mouseleave)/i,k\u003dnew Set([\"click\",\"dblclick\",\"mouseup\",\"mousedown\",\"contextmenu\",\"mousewheel\",\"DOMMouseScroll\",\"mouseover\",\"mouseout\",\"mousemove\",\"selectstart\",\"selectend\",\"keydown\",\"keypress\",\"keyup\",\"orientationchange\",\"touchstart\",\"touchmove\",\"touchend\",\"touchcancel\",\"pointerdown\",\"pointermove\",\"pointerup\",\"pointerleave\",\"pointercancel\",\"gesturestart\",\"gesturechange\",\"gestureend\",\"focus\",\"blur\",\"change\",\"reset\",\"select\",\"submit\",\"focusin\",\"focusout\",\"load\",\"unload\",\"beforeunload\",\"resize\",\"move\",\"DOMContentLoaded\",\"readystatechange\",\"error\",\"abort\",\"scroll\"]);function L(t,e){return e\u0026\u0026`${e}::${T++}`||t.uidEvent||T++}function x(t){const e\u003dL(t);return t.uidEvent\u003de,A[e]\u003dA[e]||{},A[e]}function D(t,e,i\u003dnull){const n\u003dObject.keys(t);for(let s\u003d0,o\u003dn.length;s\u003co;s++){const o\u003dt[n[s]];if(o.originalHandler\u003d\u003d\u003de\u0026\u0026o.delegationSelector\u003d\u003d\u003di)return o}return null}function S(t,e,i){const n\u003d\"string\"\u003d\u003dtypeof e,s\u003dn?i:e;let o\u003dP(t);return k.has(o)||(o\u003dt),[n,s,o]}function N(t,e,i,n,s){if(\"string\"!\u003dtypeof e||!t)return;if(i||(i\u003dn,n\u003dnull),C.test(e)){const t\u003dt\u003d\u003efunction(e){if(!e.relatedTarget||e.relatedTarget!\u003d\u003de.delegateTarget\u0026\u0026!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n\u003dt(n):i\u003dt(i)}const[o,r,a]\u003dS(e,i,n),l\u003dx(t),c\u003dl[a]||(l[a]\u003d{}),h\u003dD(c,r,o?i:null);if(h)return void(h.oneOff\u003dh.oneOff\u0026\u0026s);const d\u003dL(r,e.replace(y,\"\")),u\u003do?function(t,e,i){return function n(s){const o\u003dt.querySelectorAll(e);for(let{target:r}\u003ds;r\u0026\u0026r!\u003d\u003dthis;r\u003dr.parentNode)for(let a\u003do.length;a--;)if(o[a]\u003d\u003d\u003dr)return s.delegateTarget\u003dr,n.oneOff\u0026\u0026j.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget\u003dt,i.oneOff\u0026\u0026j.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector\u003do?i:null,u.originalHandler\u003dr,u.oneOff\u003ds,u.uidEvent\u003dd,c[d]\u003du,t.addEventListener(a,u,o)}function I(t,e,i,n,s){const o\u003dD(e[i],n,s);o\u0026\u0026(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function P(t){return t\u003dt.replace(w,\"\"),O[t]||t}const j\u003d{on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if(\"string\"!\u003dtypeof e||!t)return;const[s,o,r]\u003dS(e,i,n),a\u003dr!\u003d\u003de,l\u003dx(t),c\u003de.startsWith(\".\");if(void 0!\u003d\u003do){if(!l||!l[r])return;return void I(t,l,r,o,s?i:null)}c\u0026\u0026Object.keys(l).forEach((i\u003d\u003e{!function(t,e,i,n){const s\u003de[i]||{};Object.keys(s).forEach((o\u003d\u003e{if(o.includes(n)){const n\u003ds[o];I(t,e,i,n.originalHandler,n.delegationSelector)}}))}(t,l,i,e.slice(1))}));const h\u003dl[r]||{};Object.keys(h).forEach((i\u003d\u003e{const n\u003di.replace(E,\"\");if(!a||e.includes(n)){const e\u003dh[i];I(t,l,r,e.originalHandler,e.delegationSelector)}}))},trigger(t,e,i){if(\"string\"!\u003dtypeof e||!t)return null;const n\u003df(),s\u003dP(e),o\u003de!\u003d\u003ds,r\u003dk.has(s);let a,l\u003d!0,c\u003d!0,h\u003d!1,d\u003dnull;return o\u0026\u0026n\u0026\u0026(a\u003dn.Event(e,i),n(t).trigger(a),l\u003d!a.isPropagationStopped(),c\u003d!a.isImmediatePropagationStopped(),h\u003da.isDefaultPrevented()),r?(d\u003ddocument.createEvent(\"HTMLEvents\"),d.initEvent(s,l,!0)):d\u003dnew CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!\u003d\u003di\u0026\u0026Object.keys(i).forEach((t\u003d\u003e{Object.defineProperty(d,t,{get:()\u003d\u003ei[t]})})),h\u0026\u0026d.preventDefault(),c\u0026\u0026t.dispatchEvent(d),d.defaultPrevented\u0026\u0026void 0!\u003d\u003da\u0026\u0026a.preventDefault(),d}},M\u003dnew Map,H\u003d{set(t,e,i){M.has(t)||M.set(t,new Map);const n\u003dM.get(t);n.has(e)||0\u003d\u003d\u003dn.size?n.set(e,i):console.error(`Bootstrap doesn\u0027t allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)\u003d\u003eM.has(t)\u0026\u0026M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i\u003dM.get(t);i.delete(e),0\u003d\u003d\u003di.size\u0026\u0026M.delete(t)}};class B{constructor(t){(t\u003dr(t))\u0026\u0026(this._element\u003dt,H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach((t\u003d\u003e{this[t]\u003dnull}))}_queueCallback(t,e,i\u003d!0){b(t,e,i)}static getInstance(t){return H.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e\u003d{}){return this.getInstance(t)||new this(t,\"object\"\u003d\u003dtypeof e?e:null)}static get VERSION(){return\"5.1.3\"}static get NAME(){throw new Error(\u0027You have to implement the static method \"NAME\", for each component!\u0027)}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const R\u003d(t,e\u003d\"hide\")\u003d\u003e{const i\u003d`click.dismiss${t.EVENT_KEY}`,s\u003dt.NAME;j.on(document,i,`[data-bs-dismiss\u003d\"${s}\"]`,(function(i){if([\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026i.preventDefault(),c(this))return;const o\u003dn(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class W extends B{static get NAME(){return\"alert\"}close(){if(j.trigger(this._element,\"close.bs.alert\").defaultPrevented)return;this._element.classList.remove(\"show\");const t\u003dthis._element.classList.contains(\"fade\");this._queueCallback((()\u003d\u003ethis._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,\"closed.bs.alert\"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e\u003dW.getOrCreateInstance(this);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t]||t.startsWith(\"_\")||\"constructor\"\u003d\u003d\u003dt)throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}R(W,\"close\"),g(W);const $\u003d\u0027[data-bs-toggle\u003d\"button\"]\u0027;class z extends B{static get NAME(){return\"button\"}toggle(){this._element.setAttribute(\"aria-pressed\",this._element.classList.toggle(\"active\"))}static jQueryInterface(t){return this.each((function(){const e\u003dz.getOrCreateInstance(this);\"toggle\"\u003d\u003d\u003dt\u0026\u0026e[t]()}))}}function q(t){return\"true\"\u003d\u003d\u003dt||\"false\"!\u003d\u003dt\u0026\u0026(t\u003d\u003d\u003dNumber(t).toString()?Number(t):\"\"\u003d\u003d\u003dt||\"null\"\u003d\u003d\u003dt?null:t)}function F(t){return t.replace(/[A-Z]/g,(t\u003d\u003e`-${t.toLowerCase()}`))}j.on(document,\"click.bs.button.data-api\",$,(t\u003d\u003e{t.preventDefault();const e\u003dt.target.closest($);z.getOrCreateInstance(e).toggle()})),g(z);const U\u003d{setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e\u003d{};return Object.keys(t.dataset).filter((t\u003d\u003et.startsWith(\"bs\"))).forEach((i\u003d\u003e{let n\u003di.replace(/^bs/,\"\");n\u003dn.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]\u003dq(t.dataset[i])})),e},getDataAttribute:(t,e)\u003d\u003eq(t.getAttribute(`data-bs-${F(e)}`)),offset(t){const e\u003dt.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t\u003d\u003e({top:t.offsetTop,left:t.offsetLeft})},V\u003d{find:(t,e\u003ddocument.documentElement)\u003d\u003e[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e\u003ddocument.documentElement)\u003d\u003eElement.prototype.querySelector.call(e,t),children:(t,e)\u003d\u003e[].concat(...t.children).filter((t\u003d\u003et.matches(e))),parents(t,e){const i\u003d[];let n\u003dt.parentNode;for(;n\u0026\u0026n.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE\u0026\u00263!\u003d\u003dn.nodeType;)n.matches(e)\u0026\u0026i.push(n),n\u003dn.parentNode;return i},prev(t,e){let i\u003dt.previousElementSibling;for(;i;){if(i.matches(e))return[i];i\u003di.previousElementSibling}return[]},next(t,e){let i\u003dt.nextElementSibling;for(;i;){if(i.matches(e))return[i];i\u003di.nextElementSibling}return[]},focusableChildren(t){const e\u003d[\"a\",\"button\",\"input\",\"textarea\",\"select\",\"details\",\"[tabindex]\",\u0027[contenteditable\u003d\"true\"]\u0027].map((t\u003d\u003e`${t}:not([tabindex^\u003d\"-\"])`)).join(\", \");return this.find(e,t).filter((t\u003d\u003e!c(t)\u0026\u0026l(t)))}},K\u003d\"carousel\",X\u003d{interval:5e3,keyboard:!0,slide:!1,pause:\"hover\",wrap:!0,touch:!0},Y\u003d{interval:\"(number|boolean)\",keyboard:\"boolean\",slide:\"(boolean|string)\",pause:\"(string|boolean)\",wrap:\"boolean\",touch:\"boolean\"},Q\u003d\"next\",G\u003d\"prev\",Z\u003d\"left\",J\u003d\"right\",tt\u003d{ArrowLeft:J,ArrowRight:Z},et\u003d\"slid.bs.carousel\",it\u003d\"active\",nt\u003d\".active.carousel-item\";class st extends B{constructor(t,e){super(t),this._items\u003dnull,this._interval\u003dnull,this._activeElement\u003dnull,this._isPaused\u003d!1,this._isSliding\u003d!1,this.touchTimeout\u003dnull,this.touchStartX\u003d0,this.touchDeltaX\u003d0,this._config\u003dthis._getConfig(e),this._indicatorsElement\u003dV.findOne(\".carousel-indicators\",this._element),this._touchSupported\u003d\"ontouchstart\"in document.documentElement||navigator.maxTouchPoints\u003e0,this._pointerEvent\u003dBoolean(window.PointerEvent),this._addEventListeners()}static get Default(){return X}static get NAME(){return K}next(){this._slide(Q)}nextWhenVisible(){!document.hidden\u0026\u0026l(this._element)\u0026\u0026this.next()}prev(){this._slide(G)}pause(t){t||(this._isPaused\u003d!0),V.findOne(\".carousel-item-next, .carousel-item-prev\",this._element)\u0026\u0026(s(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval\u003dnull}cycle(t){t||(this._isPaused\u003d!1),this._interval\u0026\u0026(clearInterval(this._interval),this._interval\u003dnull),this._config\u0026\u0026this._config.interval\u0026\u0026!this._isPaused\u0026\u0026(this._updateInterval(),this._interval\u003dsetInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement\u003dV.findOne(nt,this._element);const e\u003dthis._getItemIndex(this._activeElement);if(t\u003ethis._items.length-1||t\u003c0)return;if(this._isSliding)return void j.one(this._element,et,(()\u003d\u003ethis.to(t)));if(e\u003d\u003d\u003dt)return this.pause(),void this.cycle();const i\u003dt\u003ee?Q:G;this._slide(i,this._items[t])}_getConfig(t){return t\u003d{...X,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t?t:{}},a(K,t,Y),t}_handleSwipe(){const t\u003dMath.abs(this.touchDeltaX);if(t\u003c\u003d40)return;const e\u003dt/this.touchDeltaX;this.touchDeltaX\u003d0,e\u0026\u0026this._slide(e\u003e0?J:Z)}_addEventListeners(){this._config.keyboard\u0026\u0026j.on(this._element,\"keydown.bs.carousel\",(t\u003d\u003ethis._keydown(t))),\"hover\"\u003d\u003d\u003dthis._config.pause\u0026\u0026(j.on(this._element,\"mouseenter.bs.carousel\",(t\u003d\u003ethis.pause(t))),j.on(this._element,\"mouseleave.bs.carousel\",(t\u003d\u003ethis.cycle(t)))),this._config.touch\u0026\u0026this._touchSupported\u0026\u0026this._addTouchEventListeners()}_addTouchEventListeners(){const t\u003dt\u003d\u003ethis._pointerEvent\u0026\u0026(\"pen\"\u003d\u003d\u003dt.pointerType||\"touch\"\u003d\u003d\u003dt.pointerType),e\u003de\u003d\u003e{t(e)?this.touchStartX\u003de.clientX:this._pointerEvent||(this.touchStartX\u003de.touches[0].clientX)},i\u003dt\u003d\u003e{this.touchDeltaX\u003dt.touches\u0026\u0026t.touches.length\u003e1?0:t.touches[0].clientX-this.touchStartX},n\u003de\u003d\u003e{t(e)\u0026\u0026(this.touchDeltaX\u003de.clientX-this.touchStartX),this._handleSwipe(),\"hover\"\u003d\u003d\u003dthis._config.pause\u0026\u0026(this.pause(),this.touchTimeout\u0026\u0026clearTimeout(this.touchTimeout),this.touchTimeout\u003dsetTimeout((t\u003d\u003ethis.cycle(t)),500+this._config.interval))};V.find(\".carousel-item img\",this._element).forEach((t\u003d\u003e{j.on(t,\"dragstart.bs.carousel\",(t\u003d\u003et.preventDefault()))})),this._pointerEvent?(j.on(this._element,\"pointerdown.bs.carousel\",(t\u003d\u003ee(t))),j.on(this._element,\"pointerup.bs.carousel\",(t\u003d\u003en(t))),this._element.classList.add(\"pointer-event\")):(j.on(this._element,\"touchstart.bs.carousel\",(t\u003d\u003ee(t))),j.on(this._element,\"touchmove.bs.carousel\",(t\u003d\u003ei(t))),j.on(this._element,\"touchend.bs.carousel\",(t\u003d\u003en(t))))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e\u003dtt[t.key];e\u0026\u0026(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items\u003dt\u0026\u0026t.parentNode?V.find(\".carousel-item\",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i\u003dt\u003d\u003d\u003dQ;return v(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i\u003dthis._getItemIndex(t),n\u003dthis._getItemIndex(V.findOne(nt,this._element));return j.trigger(this._element,\"slide.bs.carousel\",{relatedTarget:t,direction:e,from:n,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e\u003dV.findOne(\".active\",this._indicatorsElement);e.classList.remove(it),e.removeAttribute(\"aria-current\");const i\u003dV.find(\"[data-bs-target]\",this._indicatorsElement);for(let e\u003d0;e\u003ci.length;e++)if(Number.parseInt(i[e].getAttribute(\"data-bs-slide-to\"),10)\u003d\u003d\u003dthis._getItemIndex(t)){i[e].classList.add(it),i[e].setAttribute(\"aria-current\",\"true\");break}}}_updateInterval(){const t\u003dthis._activeElement||V.findOne(nt,this._element);if(!t)return;const e\u003dNumber.parseInt(t.getAttribute(\"data-bs-interval\"),10);e?(this._config.defaultInterval\u003dthis._config.defaultInterval||this._config.interval,this._config.interval\u003de):this._config.interval\u003dthis._config.defaultInterval||this._config.interval}_slide(t,e){const i\u003dthis._directionToOrder(t),n\u003dV.findOne(nt,this._element),s\u003dthis._getItemIndex(n),o\u003de||this._getItemByOrder(i,n),r\u003dthis._getItemIndex(o),a\u003dBoolean(this._interval),l\u003di\u003d\u003d\u003dQ,c\u003dl?\"carousel-item-start\":\"carousel-item-end\",h\u003dl?\"carousel-item-next\":\"carousel-item-prev\",d\u003dthis._orderToDirection(i);if(o\u0026\u0026o.classList.contains(it))return void(this._isSliding\u003d!1);if(this._isSliding)return;if(this._triggerSlideEvent(o,d).defaultPrevented)return;if(!n||!o)return;this._isSliding\u003d!0,a\u0026\u0026this.pause(),this._setActiveIndicatorElement(o),this._activeElement\u003do;const f\u003d()\u003d\u003e{j.trigger(this._element,et,{relatedTarget:o,direction:d,from:s,to:r})};if(this._element.classList.contains(\"slide\")){o.classList.add(h),u(o),n.classList.add(c),o.classList.add(c);const t\u003d()\u003d\u003e{o.classList.remove(c,h),o.classList.add(it),n.classList.remove(it,h,c),this._isSliding\u003d!1,setTimeout(f,0)};this._queueCallback(t,n,!0)}else n.classList.remove(it),o.classList.add(it),this._isSliding\u003d!1,f();a\u0026\u0026this.cycle()}_directionToOrder(t){return[J,Z].includes(t)?m()?t\u003d\u003d\u003dZ?G:Q:t\u003d\u003d\u003dZ?Q:G:t}_orderToDirection(t){return[Q,G].includes(t)?m()?t\u003d\u003d\u003dG?Z:J:t\u003d\u003d\u003dG?J:Z:t}static carouselInterface(t,e){const i\u003dst.getOrCreateInstance(t,e);let{_config:n}\u003di;\"object\"\u003d\u003dtypeof e\u0026\u0026(n\u003d{...n,...e});const s\u003d\"string\"\u003d\u003dtypeof e?e:n.slide;if(\"number\"\u003d\u003dtypeof e)i.to(e);else if(\"string\"\u003d\u003dtypeof s){if(void 0\u003d\u003d\u003di[s])throw new TypeError(`No method named \"${s}\"`);i[s]()}else n.interval\u0026\u0026n.ride\u0026\u0026(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){st.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e\u003dn(this);if(!e||!e.classList.contains(\"carousel\"))return;const i\u003d{...U.getDataAttributes(e),...U.getDataAttributes(this)},s\u003dthis.getAttribute(\"data-bs-slide-to\");s\u0026\u0026(i.interval\u003d!1),st.carouselInterface(e,i),s\u0026\u0026st.getInstance(e).to(s),t.preventDefault()}}j.on(document,\"click.bs.carousel.data-api\",\"[data-bs-slide], [data-bs-slide-to]\",st.dataApiClickHandler),j.on(window,\"load.bs.carousel.data-api\",(()\u003d\u003e{const t\u003dV.find(\u0027[data-bs-ride\u003d\"carousel\"]\u0027);for(let e\u003d0,i\u003dt.length;e\u003ci;e++)st.carouselInterface(t[e],st.getInstance(t[e]))})),g(st);const ot\u003d\"collapse\",rt\u003d{toggle:!0,parent:null},at\u003d{toggle:\"boolean\",parent:\"(null|element)\"},lt\u003d\"show\",ct\u003d\"collapse\",ht\u003d\"collapsing\",dt\u003d\"collapsed\",ut\u003d\":scope .collapse .collapse\",ft\u003d\u0027[data-bs-toggle\u003d\"collapse\"]\u0027;class pt extends B{constructor(t,e){super(t),this._isTransitioning\u003d!1,this._config\u003dthis._getConfig(e),this._triggerArray\u003d[];const n\u003dV.find(ft);for(let t\u003d0,e\u003dn.length;t\u003ce;t++){const e\u003dn[t],s\u003di(e),o\u003dV.find(s).filter((t\u003d\u003et\u003d\u003d\u003dthis._element));null!\u003d\u003ds\u0026\u0026o.length\u0026\u0026(this._selector\u003ds,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle\u0026\u0026this.toggle()}static get Default(){return rt}static get NAME(){return ot}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e\u003d[];if(this._config.parent){const t\u003dV.find(ut,this._config.parent);e\u003dV.find(\".collapse.show, .collapse.collapsing\",this._config.parent).filter((e\u003d\u003e!t.includes(e)))}const i\u003dV.findOne(this._selector);if(e.length){const n\u003de.find((t\u003d\u003ei!\u003d\u003dt));if(t\u003dn?pt.getInstance(n):null,t\u0026\u0026t._isTransitioning)return}if(j.trigger(this._element,\"show.bs.collapse\").defaultPrevented)return;e.forEach((e\u003d\u003e{i!\u003d\u003de\u0026\u0026pt.getOrCreateInstance(e,{toggle:!1}).hide(),t||H.set(e,\"bs.collapse\",null)}));const n\u003dthis._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[n]\u003d0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning\u003d!0;const s\u003d`scroll${n[0].toUpperCase()+n.slice(1)}`;this._queueCallback((()\u003d\u003e{this._isTransitioning\u003d!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[n]\u003d\"\",j.trigger(this._element,\"shown.bs.collapse\")}),this._element,!0),this._element.style[n]\u003d`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,\"hide.bs.collapse\").defaultPrevented)return;const t\u003dthis._getDimension();this._element.style[t]\u003d`${this._element.getBoundingClientRect()[t]}px`,u(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);const e\u003dthis._triggerArray.length;for(let t\u003d0;t\u003ce;t++){const e\u003dthis._triggerArray[t],i\u003dn(e);i\u0026\u0026!this._isShown(i)\u0026\u0026this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning\u003d!0,this._element.style[t]\u003d\"\",this._queueCallback((()\u003d\u003e{this._isTransitioning\u003d!1,this._element.classList.remove(ht),this._element.classList.add(ct),j.trigger(this._element,\"hidden.bs.collapse\")}),this._element,!0)}_isShown(t\u003dthis._element){return t.classList.contains(lt)}_getConfig(t){return(t\u003d{...rt,...U.getDataAttributes(this._element),...t}).toggle\u003dBoolean(t.toggle),t.parent\u003dr(t.parent),a(ot,t,at),t}_getDimension(){return this._element.classList.contains(\"collapse-horizontal\")?\"width\":\"height\"}_initializeChildren(){if(!this._config.parent)return;const t\u003dV.find(ut,this._config.parent);V.find(ft,this._config.parent).filter((e\u003d\u003e!t.includes(e))).forEach((t\u003d\u003e{const e\u003dn(t);e\u0026\u0026this._addAriaAndCollapsedClass([t],this._isShown(e))}))}_addAriaAndCollapsedClass(t,e){t.length\u0026\u0026t.forEach((t\u003d\u003e{e?t.classList.remove(dt):t.classList.add(dt),t.setAttribute(\"aria-expanded\",e)}))}static jQueryInterface(t){return this.each((function(){const e\u003d{};\"string\"\u003d\u003dtypeof t\u0026\u0026/show|hide/.test(t)\u0026\u0026(e.toggle\u003d!1);const i\u003dpt.getOrCreateInstance(this,e);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003di[t])throw new TypeError(`No method named \"${t}\"`);i[t]()}}))}}j.on(document,\"click.bs.collapse.data-api\",ft,(function(t){(\"A\"\u003d\u003d\u003dt.target.tagName||t.delegateTarget\u0026\u0026\"A\"\u003d\u003d\u003dt.delegateTarget.tagName)\u0026\u0026t.preventDefault();const e\u003di(this);V.find(e).forEach((t\u003d\u003e{pt.getOrCreateInstance(t,{toggle:!1}).toggle()}))})),g(pt);var mt\u003d\"top\",gt\u003d\"bottom\",_t\u003d\"right\",bt\u003d\"left\",vt\u003d\"auto\",yt\u003d[mt,gt,_t,bt],wt\u003d\"start\",Et\u003d\"end\",At\u003d\"clippingParents\",Tt\u003d\"viewport\",Ot\u003d\"popper\",Ct\u003d\"reference\",kt\u003dyt.reduce((function(t,e){return t.concat([e+\"-\"+wt,e+\"-\"+Et])}),[]),Lt\u003d[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+\"-\"+wt,e+\"-\"+Et])}),[]),xt\u003d\"beforeRead\",Dt\u003d\"read\",St\u003d\"afterRead\",Nt\u003d\"beforeMain\",It\u003d\"main\",Pt\u003d\"afterMain\",jt\u003d\"beforeWrite\",Mt\u003d\"write\",Ht\u003d\"afterWrite\",Bt\u003d[xt,Dt,St,Nt,It,Pt,jt,Mt,Ht];function Rt(t){return t?(t.nodeName||\"\").toLowerCase():null}function Wt(t){if(null\u003d\u003dt)return window;if(\"[object Window]\"!\u003d\u003dt.toString()){var e\u003dt.ownerDocument;return e\u0026\u0026e.defaultView||window}return t}function $t(t){return t instanceof Wt(t).Element||t instanceof Element}function zt(t){return t instanceof Wt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return\"undefined\"!\u003dtypeof ShadowRoot\u0026\u0026(t instanceof Wt(t).ShadowRoot||t instanceof ShadowRoot)}const Ft\u003d{name:\"applyStyles\",enabled:!0,phase:\"write\",fn:function(t){var e\u003dt.state;Object.keys(e.elements).forEach((function(t){var i\u003de.styles[t]||{},n\u003de.attributes[t]||{},s\u003de.elements[t];zt(s)\u0026\u0026Rt(s)\u0026\u0026(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e\u003dn[t];!1\u003d\u003d\u003de?s.removeAttribute(t):s.setAttribute(t,!0\u003d\u003d\u003de?\"\":e)})))}))},effect:function(t){var e\u003dt.state,i\u003d{popper:{position:e.options.strategy,left:\"0\",top:\"0\",margin:\"0\"},arrow:{position:\"absolute\"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles\u003di,e.elements.arrow\u0026\u0026Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n\u003de.elements[t],s\u003de.attributes[t]||{},o\u003dObject.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]\u003d\"\",t}),{});zt(n)\u0026\u0026Rt(n)\u0026\u0026(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:[\"computeStyles\"]};function Ut(t){return t.split(\"-\")[0]}function Vt(t,e){var i\u003dt.getBoundingClientRect();return{width:i.width/1,height:i.height/1,top:i.top/1,right:i.right/1,bottom:i.bottom/1,left:i.left/1,x:i.left/1,y:i.top/1}}function Kt(t){var e\u003dVt(t),i\u003dt.offsetWidth,n\u003dt.offsetHeight;return Math.abs(e.width-i)\u003c\u003d1\u0026\u0026(i\u003de.width),Math.abs(e.height-n)\u003c\u003d1\u0026\u0026(n\u003de.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Xt(t,e){var i\u003de.getRootNode\u0026\u0026e.getRootNode();if(t.contains(e))return!0;if(i\u0026\u0026qt(i)){var n\u003de;do{if(n\u0026\u0026t.isSameNode(n))return!0;n\u003dn.parentNode||n.host}while(n)}return!1}function Yt(t){return Wt(t).getComputedStyle(t)}function Qt(t){return[\"table\",\"td\",\"th\"].indexOf(Rt(t))\u003e\u003d0}function Gt(t){return(($t(t)?t.ownerDocument:t.document)||window.document).documentElement}function Zt(t){return\"html\"\u003d\u003d\u003dRt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||Gt(t)}function Jt(t){return zt(t)\u0026\u0026\"fixed\"!\u003d\u003dYt(t).position?t.offsetParent:null}function te(t){for(var e\u003dWt(t),i\u003dJt(t);i\u0026\u0026Qt(i)\u0026\u0026\"static\"\u003d\u003d\u003dYt(i).position;)i\u003dJt(i);return i\u0026\u0026(\"html\"\u003d\u003d\u003dRt(i)||\"body\"\u003d\u003d\u003dRt(i)\u0026\u0026\"static\"\u003d\u003d\u003dYt(i).position)?e:i||function(t){var e\u003d-1!\u003d\u003dnavigator.userAgent.toLowerCase().indexOf(\"firefox\");if(-1!\u003d\u003dnavigator.userAgent.indexOf(\"Trident\")\u0026\u0026zt(t)\u0026\u0026\"fixed\"\u003d\u003d\u003dYt(t).position)return null;for(var i\u003dZt(t);zt(i)\u0026\u0026[\"html\",\"body\"].indexOf(Rt(i))\u003c0;){var n\u003dYt(i);if(\"none\"!\u003d\u003dn.transform||\"none\"!\u003d\u003dn.perspective||\"paint\"\u003d\u003d\u003dn.contain||-1!\u003d\u003d[\"transform\",\"perspective\"].indexOf(n.willChange)||e\u0026\u0026\"filter\"\u003d\u003d\u003dn.willChange||e\u0026\u0026n.filter\u0026\u0026\"none\"!\u003d\u003dn.filter)return i;i\u003di.parentNode}return null}(t)||e}function ee(t){return[\"top\",\"bottom\"].indexOf(t)\u003e\u003d0?\"x\":\"y\"}var ie\u003dMath.max,ne\u003dMath.min,se\u003dMath.round;function oe(t,e,i){return ie(t,ne(e,i))}function re(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ae(t,e){return e.reduce((function(e,i){return e[i]\u003dt,e}),{})}const le\u003d{name:\"arrow\",enabled:!0,phase:\"main\",fn:function(t){var e,i\u003dt.state,n\u003dt.name,s\u003dt.options,o\u003di.elements.arrow,r\u003di.modifiersData.popperOffsets,a\u003dUt(i.placement),l\u003dee(a),c\u003d[bt,_t].indexOf(a)\u003e\u003d0?\"height\":\"width\";if(o\u0026\u0026r){var h\u003dfunction(t,e){return re(\"number\"!\u003dtypeof(t\u003d\"function\"\u003d\u003dtypeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ae(t,yt))}(s.padding,i),d\u003dKt(o),u\u003d\"y\"\u003d\u003d\u003dl?mt:bt,f\u003d\"y\"\u003d\u003d\u003dl?gt:_t,p\u003di.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m\u003dr[l]-i.rects.reference[l],g\u003dte(o),_\u003dg?\"y\"\u003d\u003d\u003dl?g.clientHeight||0:g.clientWidth||0:0,b\u003dp/2-m/2,v\u003dh[u],y\u003d_-d[c]-h[f],w\u003d_/2-d[c]/2+b,E\u003doe(v,w,y),A\u003dl;i.modifiersData[n]\u003d((e\u003d{})[A]\u003dE,e.centerOffset\u003dE-w,e)}},effect:function(t){var e\u003dt.state,i\u003dt.options.element,n\u003dvoid 0\u003d\u003d\u003di?\"[data-popper-arrow]\":i;null!\u003dn\u0026\u0026(\"string\"!\u003dtypeof n||(n\u003de.elements.popper.querySelector(n)))\u0026\u0026Xt(e.elements.popper,n)\u0026\u0026(e.elements.arrow\u003dn)},requires:[\"popperOffsets\"],requiresIfExists:[\"preventOverflow\"]};function ce(t){return t.split(\"-\")[1]}var he\u003d{top:\"auto\",right:\"auto\",bottom:\"auto\",left:\"auto\"};function de(t){var e,i\u003dt.popper,n\u003dt.popperRect,s\u003dt.placement,o\u003dt.variation,r\u003dt.offsets,a\u003dt.position,l\u003dt.gpuAcceleration,c\u003dt.adaptive,h\u003dt.roundOffsets,d\u003d!0\u003d\u003d\u003dh?function(t){var e\u003dt.x,i\u003dt.y,n\u003dwindow.devicePixelRatio||1;return{x:se(se(e*n)/n)||0,y:se(se(i*n)/n)||0}}(r):\"function\"\u003d\u003dtypeof h?h(r):r,u\u003dd.x,f\u003dvoid 0\u003d\u003d\u003du?0:u,p\u003dd.y,m\u003dvoid 0\u003d\u003d\u003dp?0:p,g\u003dr.hasOwnProperty(\"x\"),_\u003dr.hasOwnProperty(\"y\"),b\u003dbt,v\u003dmt,y\u003dwindow;if(c){var w\u003dte(i),E\u003d\"clientHeight\",A\u003d\"clientWidth\";w\u003d\u003d\u003dWt(i)\u0026\u0026\"static\"!\u003d\u003dYt(w\u003dGt(i)).position\u0026\u0026\"absolute\"\u003d\u003d\u003da\u0026\u0026(E\u003d\"scrollHeight\",A\u003d\"scrollWidth\"),w\u003dw,s!\u003d\u003dmt\u0026\u0026(s!\u003d\u003dbt\u0026\u0026s!\u003d\u003d_t||o!\u003d\u003dEt)||(v\u003dgt,m-\u003dw[E]-n.height,m*\u003dl?1:-1),s!\u003d\u003dbt\u0026\u0026(s!\u003d\u003dmt\u0026\u0026s!\u003d\u003dgt||o!\u003d\u003dEt)||(b\u003d_t,f-\u003dw[A]-n.width,f*\u003dl?1:-1)}var T,O\u003dObject.assign({position:a},c\u0026\u0026he);return l?Object.assign({},O,((T\u003d{})[v]\u003d_?\"0\":\"\",T[b]\u003dg?\"0\":\"\",T.transform\u003d(y.devicePixelRatio||1)\u003c\u003d1?\"translate(\"+f+\"px, \"+m+\"px)\":\"translate3d(\"+f+\"px, \"+m+\"px, 0)\",T)):Object.assign({},O,((e\u003d{})[v]\u003d_?m+\"px\":\"\",e[b]\u003dg?f+\"px\":\"\",e.transform\u003d\"\",e))}const ue\u003d{name:\"computeStyles\",enabled:!0,phase:\"beforeWrite\",fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003di.gpuAcceleration,s\u003dvoid 0\u003d\u003d\u003dn||n,o\u003di.adaptive,r\u003dvoid 0\u003d\u003d\u003do||o,a\u003di.roundOffsets,l\u003dvoid 0\u003d\u003d\u003da||a,c\u003d{placement:Ut(e.placement),variation:ce(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!\u003de.modifiersData.popperOffsets\u0026\u0026(e.styles.popper\u003dObject.assign({},e.styles.popper,de(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!\u003de.modifiersData.arrow\u0026\u0026(e.styles.arrow\u003dObject.assign({},e.styles.arrow,de(Object.assign({},c,{offsets:e.modifiersData.arrow,position:\"absolute\",adaptive:!1,roundOffsets:l})))),e.attributes.popper\u003dObject.assign({},e.attributes.popper,{\"data-popper-placement\":e.placement})},data:{}};var fe\u003d{passive:!0};const pe\u003d{name:\"eventListeners\",enabled:!0,phase:\"write\",fn:function(){},effect:function(t){var e\u003dt.state,i\u003dt.instance,n\u003dt.options,s\u003dn.scroll,o\u003dvoid 0\u003d\u003d\u003ds||s,r\u003dn.resize,a\u003dvoid 0\u003d\u003d\u003dr||r,l\u003dWt(e.elements.popper),c\u003d[].concat(e.scrollParents.reference,e.scrollParents.popper);return o\u0026\u0026c.forEach((function(t){t.addEventListener(\"scroll\",i.update,fe)})),a\u0026\u0026l.addEventListener(\"resize\",i.update,fe),function(){o\u0026\u0026c.forEach((function(t){t.removeEventListener(\"scroll\",i.update,fe)})),a\u0026\u0026l.removeEventListener(\"resize\",i.update,fe)}},data:{}};var me\u003d{left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function ge(t){return t.replace(/left|right|bottom|top/g,(function(t){return me[t]}))}var _e\u003d{start:\"end\",end:\"start\"};function be(t){return t.replace(/start|end/g,(function(t){return _e[t]}))}function ve(t){var e\u003dWt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ye(t){return Vt(Gt(t)).left+ve(t).scrollLeft}function we(t){var e\u003dYt(t),i\u003de.overflow,n\u003de.overflowX,s\u003de.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return[\"html\",\"body\",\"#document\"].indexOf(Rt(t))\u003e\u003d0?t.ownerDocument.body:zt(t)\u0026\u0026we(t)?t:Ee(Zt(t))}function Ae(t,e){var i;void 0\u003d\u003d\u003de\u0026\u0026(e\u003d[]);var n\u003dEe(t),s\u003dn\u003d\u003d\u003d(null\u003d\u003d(i\u003dt.ownerDocument)?void 0:i.body),o\u003dWt(n),r\u003ds?[o].concat(o.visualViewport||[],we(n)?n:[]):n,a\u003de.concat(r);return s?a:a.concat(Ae(Zt(r)))}function Te(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e){return e\u003d\u003d\u003dTt?Te(function(t){var e\u003dWt(t),i\u003dGt(t),n\u003de.visualViewport,s\u003di.clientWidth,o\u003di.clientHeight,r\u003d0,a\u003d0;return n\u0026\u0026(s\u003dn.width,o\u003dn.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r\u003dn.offsetLeft,a\u003dn.offsetTop)),{width:s,height:o,x:r+ye(t),y:a}}(t)):zt(e)?function(t){var e\u003dVt(t);return e.top\u003de.top+t.clientTop,e.left\u003de.left+t.clientLeft,e.bottom\u003de.top+t.clientHeight,e.right\u003de.left+t.clientWidth,e.width\u003dt.clientWidth,e.height\u003dt.clientHeight,e.x\u003de.left,e.y\u003de.top,e}(e):Te(function(t){var e,i\u003dGt(t),n\u003dve(t),s\u003dnull\u003d\u003d(e\u003dt.ownerDocument)?void 0:e.body,o\u003die(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r\u003die(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a\u003d-n.scrollLeft+ye(t),l\u003d-n.scrollTop;return\"rtl\"\u003d\u003d\u003dYt(s||i).direction\u0026\u0026(a+\u003die(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Gt(t)))}function Ce(t){var e,i\u003dt.reference,n\u003dt.element,s\u003dt.placement,o\u003ds?Ut(s):null,r\u003ds?ce(s):null,a\u003di.x+i.width/2-n.width/2,l\u003di.y+i.height/2-n.height/2;switch(o){case mt:e\u003d{x:a,y:i.y-n.height};break;case gt:e\u003d{x:a,y:i.y+i.height};break;case _t:e\u003d{x:i.x+i.width,y:l};break;case bt:e\u003d{x:i.x-n.width,y:l};break;default:e\u003d{x:i.x,y:i.y}}var c\u003do?ee(o):null;if(null!\u003dc){var h\u003d\"y\"\u003d\u003d\u003dc?\"height\":\"width\";switch(r){case wt:e[c]\u003de[c]-(i[h]/2-n[h]/2);break;case Et:e[c]\u003de[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});var i\u003de,n\u003di.placement,s\u003dvoid 0\u003d\u003d\u003dn?t.placement:n,o\u003di.boundary,r\u003dvoid 0\u003d\u003d\u003do?At:o,a\u003di.rootBoundary,l\u003dvoid 0\u003d\u003d\u003da?Tt:a,c\u003di.elementContext,h\u003dvoid 0\u003d\u003d\u003dc?Ot:c,d\u003di.altBoundary,u\u003dvoid 0!\u003d\u003dd\u0026\u0026d,f\u003di.padding,p\u003dvoid 0\u003d\u003d\u003df?0:f,m\u003dre(\"number\"!\u003dtypeof p?p:ae(p,yt)),g\u003dh\u003d\u003d\u003dOt?Ct:Ot,_\u003dt.rects.popper,b\u003dt.elements[u?g:h],v\u003dfunction(t,e,i){var n\u003d\"clippingParents\"\u003d\u003d\u003de?function(t){var e\u003dAe(Zt(t)),i\u003d[\"absolute\",\"fixed\"].indexOf(Yt(t).position)\u003e\u003d0\u0026\u0026zt(t)?te(t):t;return $t(i)?e.filter((function(t){return $t(t)\u0026\u0026Xt(t,i)\u0026\u0026\"body\"!\u003d\u003dRt(t)})):[]}(t):[].concat(e),s\u003d[].concat(n,[i]),o\u003ds[0],r\u003ds.reduce((function(e,i){var n\u003dOe(t,i);return e.top\u003die(n.top,e.top),e.right\u003dne(n.right,e.right),e.bottom\u003dne(n.bottom,e.bottom),e.left\u003die(n.left,e.left),e}),Oe(t,o));return r.width\u003dr.right-r.left,r.height\u003dr.bottom-r.top,r.x\u003dr.left,r.y\u003dr.top,r}($t(b)?b:b.contextElement||Gt(t.elements.popper),r,l),y\u003dVt(t.elements.reference),w\u003dCe({reference:y,element:_,strategy:\"absolute\",placement:s}),E\u003dTe(Object.assign({},_,w)),A\u003dh\u003d\u003d\u003dOt?E:y,T\u003d{top:v.top-A.top+m.top,bottom:A.bottom-v.bottom+m.bottom,left:v.left-A.left+m.left,right:A.right-v.right+m.right},O\u003dt.modifiersData.offset;if(h\u003d\u003d\u003dOt\u0026\u0026O){var C\u003dO[s];Object.keys(T).forEach((function(t){var e\u003d[_t,gt].indexOf(t)\u003e\u003d0?1:-1,i\u003d[mt,gt].indexOf(t)\u003e\u003d0?\"y\":\"x\";T[t]+\u003dC[i]*e}))}return T}function Le(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});var i\u003de,n\u003di.placement,s\u003di.boundary,o\u003di.rootBoundary,r\u003di.padding,a\u003di.flipVariations,l\u003di.allowedAutoPlacements,c\u003dvoid 0\u003d\u003d\u003dl?Lt:l,h\u003dce(n),d\u003dh?a?kt:kt.filter((function(t){return ce(t)\u003d\u003d\u003dh})):yt,u\u003dd.filter((function(t){return c.indexOf(t)\u003e\u003d0}));0\u003d\u003d\u003du.length\u0026\u0026(u\u003dd);var f\u003du.reduce((function(e,i){return e[i]\u003dke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Ut(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const xe\u003d{name:\"flip\",enabled:!0,phase:\"main\",fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003dt.name;if(!e.modifiersData[n]._skip){for(var s\u003di.mainAxis,o\u003dvoid 0\u003d\u003d\u003ds||s,r\u003di.altAxis,a\u003dvoid 0\u003d\u003d\u003dr||r,l\u003di.fallbackPlacements,c\u003di.padding,h\u003di.boundary,d\u003di.rootBoundary,u\u003di.altBoundary,f\u003di.flipVariations,p\u003dvoid 0\u003d\u003d\u003df||f,m\u003di.allowedAutoPlacements,g\u003de.options.placement,_\u003dUt(g),b\u003dl||(_!\u003d\u003dg\u0026\u0026p?function(t){if(Ut(t)\u003d\u003d\u003dvt)return[];var e\u003dge(t);return[be(t),e,be(e)]}(g):[ge(g)]),v\u003d[g].concat(b).reduce((function(t,i){return t.concat(Ut(i)\u003d\u003d\u003dvt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y\u003de.rects.reference,w\u003de.rects.popper,E\u003dnew Map,A\u003d!0,T\u003dv[0],O\u003d0;O\u003cv.length;O++){var C\u003dv[O],k\u003dUt(C),L\u003dce(C)\u003d\u003d\u003dwt,x\u003d[mt,gt].indexOf(k)\u003e\u003d0,D\u003dx?\"width\":\"height\",S\u003dke(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),N\u003dx?L?_t:bt:L?gt:mt;y[D]\u003ew[D]\u0026\u0026(N\u003dge(N));var I\u003dge(N),P\u003d[];if(o\u0026\u0026P.push(S[k]\u003c\u003d0),a\u0026\u0026P.push(S[N]\u003c\u003d0,S[I]\u003c\u003d0),P.every((function(t){return t}))){T\u003dC,A\u003d!1;break}E.set(C,P)}if(A)for(var j\u003dfunction(t){var e\u003dv.find((function(e){var i\u003dE.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T\u003de,\"break\"},M\u003dp?3:1;M\u003e0\u0026\u0026\"break\"!\u003d\u003dj(M);M--);e.placement!\u003d\u003dT\u0026\u0026(e.modifiersData[n]._skip\u003d!0,e.placement\u003dT,e.reset\u003d!0)}},requiresIfExists:[\"offset\"],data:{_skip:!1}};function De(t,e,i){return void 0\u003d\u003d\u003di\u0026\u0026(i\u003d{x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Se(t){return[mt,_t,gt,bt].some((function(e){return t[e]\u003e\u003d0}))}const Ne\u003d{name:\"hide\",enabled:!0,phase:\"main\",requiresIfExists:[\"preventOverflow\"],fn:function(t){var e\u003dt.state,i\u003dt.name,n\u003de.rects.reference,s\u003de.rects.popper,o\u003de.modifiersData.preventOverflow,r\u003dke(e,{elementContext:\"reference\"}),a\u003dke(e,{altBoundary:!0}),l\u003dDe(r,n),c\u003dDe(a,s,o),h\u003dSe(l),d\u003dSe(c);e.modifiersData[i]\u003d{referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper\u003dObject.assign({},e.attributes.popper,{\"data-popper-reference-hidden\":h,\"data-popper-escaped\":d})}},Ie\u003d{name:\"offset\",enabled:!0,phase:\"main\",requires:[\"popperOffsets\"],fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003dt.name,s\u003di.offset,o\u003dvoid 0\u003d\u003d\u003ds?[0,0]:s,r\u003dLt.reduce((function(t,i){return t[i]\u003dfunction(t,e,i){var n\u003dUt(t),s\u003d[bt,mt].indexOf(n)\u003e\u003d0?-1:1,o\u003d\"function\"\u003d\u003dtypeof i?i(Object.assign({},e,{placement:t})):i,r\u003do[0],a\u003do[1];return r\u003dr||0,a\u003d(a||0)*s,[bt,_t].indexOf(n)\u003e\u003d0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a\u003dr[e.placement],l\u003da.x,c\u003da.y;null!\u003de.modifiersData.popperOffsets\u0026\u0026(e.modifiersData.popperOffsets.x+\u003dl,e.modifiersData.popperOffsets.y+\u003dc),e.modifiersData[n]\u003dr}},Pe\u003d{name:\"popperOffsets\",enabled:!0,phase:\"read\",fn:function(t){var e\u003dt.state,i\u003dt.name;e.modifiersData[i]\u003dCe({reference:e.rects.reference,element:e.rects.popper,strategy:\"absolute\",placement:e.placement})},data:{}},je\u003d{name:\"preventOverflow\",enabled:!0,phase:\"main\",fn:function(t){var e\u003dt.state,i\u003dt.options,n\u003dt.name,s\u003di.mainAxis,o\u003dvoid 0\u003d\u003d\u003ds||s,r\u003di.altAxis,a\u003dvoid 0!\u003d\u003dr\u0026\u0026r,l\u003di.boundary,c\u003di.rootBoundary,h\u003di.altBoundary,d\u003di.padding,u\u003di.tether,f\u003dvoid 0\u003d\u003d\u003du||u,p\u003di.tetherOffset,m\u003dvoid 0\u003d\u003d\u003dp?0:p,g\u003dke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_\u003dUt(e.placement),b\u003dce(e.placement),v\u003d!b,y\u003dee(_),w\u003d\"x\"\u003d\u003d\u003dy?\"y\":\"x\",E\u003de.modifiersData.popperOffsets,A\u003de.rects.reference,T\u003de.rects.popper,O\u003d\"function\"\u003d\u003dtypeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C\u003d{x:0,y:0};if(E){if(o||a){var k\u003d\"y\"\u003d\u003d\u003dy?mt:bt,L\u003d\"y\"\u003d\u003d\u003dy?gt:_t,x\u003d\"y\"\u003d\u003d\u003dy?\"height\":\"width\",D\u003dE[y],S\u003dE[y]+g[k],N\u003dE[y]-g[L],I\u003df?-T[x]/2:0,P\u003db\u003d\u003d\u003dwt?A[x]:T[x],j\u003db\u003d\u003d\u003dwt?-T[x]:-A[x],M\u003de.elements.arrow,H\u003df\u0026\u0026M?Kt(M):{width:0,height:0},B\u003de.modifiersData[\"arrow#persistent\"]?e.modifiersData[\"arrow#persistent\"].padding:{top:0,right:0,bottom:0,left:0},R\u003dB[k],W\u003dB[L],$\u003doe(0,A[x],H[x]),z\u003dv?A[x]/2-I-$-R-O:P-$-R-O,q\u003dv?-A[x]/2+I+$+W+O:j+$+W+O,F\u003de.elements.arrow\u0026\u0026te(e.elements.arrow),U\u003dF?\"y\"\u003d\u003d\u003dy?F.clientTop||0:F.clientLeft||0:0,V\u003de.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K\u003dE[y]+z-V-U,X\u003dE[y]+q-V;if(o){var Y\u003doe(f?ne(S,K):S,D,f?ie(N,X):N);E[y]\u003dY,C[y]\u003dY-D}if(a){var Q\u003d\"x\"\u003d\u003d\u003dy?mt:bt,G\u003d\"x\"\u003d\u003d\u003dy?gt:_t,Z\u003dE[w],J\u003dZ+g[Q],tt\u003dZ-g[G],et\u003doe(f?ne(J,K):J,Z,f?ie(tt,X):tt);E[w]\u003det,C[w]\u003det-Z}}e.modifiersData[n]\u003dC}},requiresIfExists:[\"offset\"]};function Me(t,e,i){void 0\u003d\u003d\u003di\u0026\u0026(i\u003d!1);var n\u003dzt(e);zt(e)\u0026\u0026function(t){var e\u003dt.getBoundingClientRect();e.width,t.offsetWidth,e.height,t.offsetHeight}(e);var s,o,r\u003dGt(e),a\u003dVt(t),l\u003d{scrollLeft:0,scrollTop:0},c\u003d{x:0,y:0};return(n||!n\u0026\u0026!i)\u0026\u0026((\"body\"!\u003d\u003dRt(e)||we(r))\u0026\u0026(l\u003d(s\u003de)!\u003d\u003dWt(s)\u0026\u0026zt(s)?{scrollLeft:(o\u003ds).scrollLeft,scrollTop:o.scrollTop}:ve(s)),zt(e)?((c\u003dVt(e)).x+\u003de.clientLeft,c.y+\u003de.clientTop):r\u0026\u0026(c.x\u003dye(r))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function He(t){var e\u003dnew Map,i\u003dnew Set,n\u003d[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n\u003de.get(t);n\u0026\u0026s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Be\u003d{placement:\"bottom\",modifiers:[],strategy:\"absolute\"};function Re(){for(var t\u003darguments.length,e\u003dnew Array(t),i\u003d0;i\u003ct;i++)e[i]\u003darguments[i];return!e.some((function(t){return!(t\u0026\u0026\"function\"\u003d\u003dtypeof t.getBoundingClientRect)}))}function We(t){void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{});var e\u003dt,i\u003de.defaultModifiers,n\u003dvoid 0\u003d\u003d\u003di?[]:i,s\u003de.defaultOptions,o\u003dvoid 0\u003d\u003d\u003ds?Be:s;return function(t,e,i){void 0\u003d\u003d\u003di\u0026\u0026(i\u003do);var s,r,a\u003d{placement:\"bottom\",orderedModifiers:[],options:Object.assign({},Be,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l\u003d[],c\u003d!1,h\u003d{state:a,setOptions:function(i){var s\u003d\"function\"\u003d\u003dtypeof i?i(a.options):i;d(),a.options\u003dObject.assign({},o,a.options,s),a.scrollParents\u003d{reference:$t(t)?Ae(t):t.contextElement?Ae(t.contextElement):[],popper:Ae(e)};var r,c,u\u003dfunction(t){var e\u003dHe(t);return Bt.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase\u003d\u003d\u003di})))}),[])}((r\u003d[].concat(n,a.options.modifiers),c\u003dr.reduce((function(t,e){var i\u003dt[e.name];return t[e.name]\u003di?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(c).map((function(t){return c[t]}))));return a.orderedModifiers\u003du.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e\u003dt.name,i\u003dt.options,n\u003dvoid 0\u003d\u003d\u003di?{}:i,s\u003dt.effect;if(\"function\"\u003d\u003dtypeof s){var o\u003ds({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t\u003da.elements,e\u003dt.reference,i\u003dt.popper;if(Re(e,i)){a.rects\u003d{reference:Me(e,te(i),\"fixed\"\u003d\u003d\u003da.options.strategy),popper:Kt(i)},a.reset\u003d!1,a.placement\u003da.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]\u003dObject.assign({},t.data)}));for(var n\u003d0;n\u003ca.orderedModifiers.length;n++)if(!0!\u003d\u003da.reset){var s\u003da.orderedModifiers[n],o\u003ds.fn,r\u003ds.options,l\u003dvoid 0\u003d\u003d\u003dr?{}:r,d\u003ds.name;\"function\"\u003d\u003dtypeof o\u0026\u0026(a\u003do({state:a,options:l,name:d,instance:h})||a)}else a.reset\u003d!1,n\u003d-1}}},update:(s\u003dfunction(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r\u003dnew Promise((function(t){Promise.resolve().then((function(){r\u003dvoid 0,t(s())}))}))),r}),destroy:function(){d(),c\u003d!0}};if(!Re(t,e))return h;function d(){l.forEach((function(t){return t()})),l\u003d[]}return h.setOptions(i).then((function(t){!c\u0026\u0026i.onFirstUpdate\u0026\u0026i.onFirstUpdate(t)})),h}}var $e\u003dWe(),ze\u003dWe({defaultModifiers:[pe,Pe,ue,Ft]}),qe\u003dWe({defaultModifiers:[pe,Pe,ue,Ft,Ie,xe,je,le,Ne]});const Fe\u003dObject.freeze({__proto__:null,popperGenerator:We,detectOverflow:ke,createPopperBase:$e,createPopper:qe,createPopperLite:ze,top:mt,bottom:gt,right:_t,left:bt,auto:vt,basePlacements:yt,start:wt,end:Et,clippingParents:At,viewport:Tt,popper:Ot,reference:Ct,variationPlacements:kt,placements:Lt,beforeRead:xt,read:Dt,afterRead:St,beforeMain:Nt,main:It,afterMain:Pt,beforeWrite:jt,write:Mt,afterWrite:Ht,modifierPhases:Bt,applyStyles:Ft,arrow:le,computeStyles:ue,eventListeners:pe,flip:xe,hide:Ne,offset:Ie,popperOffsets:Pe,preventOverflow:je}),Ue\u003d\"dropdown\",Ve\u003d\"Escape\",Ke\u003d\"Space\",Xe\u003d\"ArrowUp\",Ye\u003d\"ArrowDown\",Qe\u003dnew RegExp(\"ArrowUp|ArrowDown|Escape\"),Ge\u003d\"click.bs.dropdown.data-api\",Ze\u003d\"keydown.bs.dropdown.data-api\",Je\u003d\"show\",ti\u003d\u0027[data-bs-toggle\u003d\"dropdown\"]\u0027,ei\u003d\".dropdown-menu\",ii\u003dm()?\"top-end\":\"top-start\",ni\u003dm()?\"top-start\":\"top-end\",si\u003dm()?\"bottom-end\":\"bottom-start\",oi\u003dm()?\"bottom-start\":\"bottom-end\",ri\u003dm()?\"left-start\":\"right-start\",ai\u003dm()?\"right-start\":\"left-start\",li\u003d{offset:[0,2],boundary:\"clippingParents\",reference:\"toggle\",display:\"dynamic\",popperConfig:null,autoClose:!0},ci\u003d{offset:\"(array|string|function)\",boundary:\"(string|element)\",reference:\"(string|element|object)\",display:\"string\",popperConfig:\"(null|object|function)\",autoClose:\"(boolean|string)\"};class hi extends B{constructor(t,e){super(t),this._popper\u003dnull,this._config\u003dthis._getConfig(e),this._menu\u003dthis._getMenuElement(),this._inNavbar\u003dthis._detectNavbar()}static get Default(){return li}static get DefaultType(){return ci}static get NAME(){return Ue}toggle(){return this._isShown()?this.hide():this.show()}show(){if(c(this._element)||this._isShown(this._menu))return;const t\u003d{relatedTarget:this._element};if(j.trigger(this._element,\"show.bs.dropdown\",t).defaultPrevented)return;const e\u003dhi.getParentFromElement(this._element);this._inNavbar?U.setDataAttribute(this._menu,\"popper\",\"none\"):this._createPopper(e),\"ontouchstart\"in document.documentElement\u0026\u0026!e.closest(\".navbar-nav\")\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003ej.on(t,\"mouseover\",d))),this._element.focus(),this._element.setAttribute(\"aria-expanded\",!0),this._menu.classList.add(Je),this._element.classList.add(Je),j.trigger(this._element,\"shown.bs.dropdown\",t)}hide(){if(c(this._element)||!this._isShown(this._menu))return;const t\u003d{relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper\u0026\u0026this._popper.destroy(),super.dispose()}update(){this._inNavbar\u003dthis._detectNavbar(),this._popper\u0026\u0026this._popper.update()}_completeHide(t){j.trigger(this._element,\"hide.bs.dropdown\",t).defaultPrevented||(\"ontouchstart\"in document.documentElement\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003ej.off(t,\"mouseover\",d))),this._popper\u0026\u0026this._popper.destroy(),this._menu.classList.remove(Je),this._element.classList.remove(Je),this._element.setAttribute(\"aria-expanded\",\"false\"),U.removeDataAttribute(this._menu,\"popper\"),j.trigger(this._element,\"hidden.bs.dropdown\",t))}_getConfig(t){if(t\u003d{...this.constructor.Default,...U.getDataAttributes(this._element),...t},a(Ue,t,this.constructor.DefaultType),\"object\"\u003d\u003dtypeof t.reference\u0026\u0026!o(t.reference)\u0026\u0026\"function\"!\u003dtypeof t.reference.getBoundingClientRect)throw new TypeError(`${Ue.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);return t}_createPopper(t){if(void 0\u003d\u003d\u003dFe)throw new TypeError(\"Bootstrap\u0027s dropdowns require Popper (https://popper.js.org)\");let e\u003dthis._element;\"parent\"\u003d\u003d\u003dthis._config.reference?e\u003dt:o(this._config.reference)?e\u003dr(this._config.reference):\"object\"\u003d\u003dtypeof this._config.reference\u0026\u0026(e\u003dthis._config.reference);const i\u003dthis._getPopperConfig(),n\u003di.modifiers.find((t\u003d\u003e\"applyStyles\"\u003d\u003d\u003dt.name\u0026\u0026!1\u003d\u003d\u003dt.enabled));this._popper\u003dqe(e,this._menu,i),n\u0026\u0026U.setDataAttribute(this._menu,\"popper\",\"static\")}_isShown(t\u003dthis._element){return t.classList.contains(Je)}_getMenuElement(){return V.next(this._element,ei)[0]}_getPlacement(){const t\u003dthis._element.parentNode;if(t.classList.contains(\"dropend\"))return ri;if(t.classList.contains(\"dropstart\"))return ai;const e\u003d\"end\"\u003d\u003d\u003dgetComputedStyle(this._menu).getPropertyValue(\"--bs-position\").trim();return t.classList.contains(\"dropup\")?e?ni:ii:e?oi:si}_detectNavbar(){return null!\u003d\u003dthis._element.closest(\".navbar\")}_getOffset(){const{offset:t}\u003dthis._config;return\"string\"\u003d\u003dtypeof t?t.split(\",\").map((t\u003d\u003eNumber.parseInt(t,10))):\"function\"\u003d\u003dtypeof t?e\u003d\u003et(e,this._element):t}_getPopperConfig(){const t\u003d{placement:this._getPlacement(),modifiers:[{name:\"preventOverflow\",options:{boundary:this._config.boundary}},{name:\"offset\",options:{offset:this._getOffset()}}]};return\"static\"\u003d\u003d\u003dthis._config.display\u0026\u0026(t.modifiers\u003d[{name:\"applyStyles\",enabled:!1}]),{...t,...\"function\"\u003d\u003dtypeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i\u003dV.find(\".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)\",this._menu).filter(l);i.length\u0026\u0026v(i,e,t\u003d\u003d\u003dYe,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e\u003dhi.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}static clearMenus(t){if(t\u0026\u0026(2\u003d\u003d\u003dt.button||\"keyup\"\u003d\u003d\u003dt.type\u0026\u0026\"Tab\"!\u003d\u003dt.key))return;const e\u003dV.find(ti);for(let i\u003d0,n\u003de.length;i\u003cn;i++){const n\u003dhi.getInstance(e[i]);if(!n||!1\u003d\u003d\u003dn._config.autoClose)continue;if(!n._isShown())continue;const s\u003d{relatedTarget:n._element};if(t){const e\u003dt.composedPath(),i\u003de.includes(n._menu);if(e.includes(n._element)||\"inside\"\u003d\u003d\u003dn._config.autoClose\u0026\u0026!i||\"outside\"\u003d\u003d\u003dn._config.autoClose\u0026\u0026i)continue;if(n._menu.contains(t.target)\u0026\u0026(\"keyup\"\u003d\u003d\u003dt.type\u0026\u0026\"Tab\"\u003d\u003d\u003dt.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;\"click\"\u003d\u003d\u003dt.type\u0026\u0026(s.clickEvent\u003dt)}n._completeHide(s)}}static getParentFromElement(t){return n(t)||t.parentNode}static dataApiKeydownHandler(t){if(/input|textarea/i.test(t.target.tagName)?t.key\u003d\u003d\u003dKe||t.key!\u003d\u003dVe\u0026\u0026(t.key!\u003d\u003dYe\u0026\u0026t.key!\u003d\u003dXe||t.target.closest(ei)):!Qe.test(t.key))return;const e\u003dthis.classList.contains(Je);if(!e\u0026\u0026t.key\u003d\u003d\u003dVe)return;if(t.preventDefault(),t.stopPropagation(),c(this))return;const i\u003dthis.matches(ti)?this:V.prev(this,ti)[0],n\u003dhi.getOrCreateInstance(i);if(t.key!\u003d\u003dVe)return t.key\u003d\u003d\u003dXe||t.key\u003d\u003d\u003dYe?(e||n.show(),void n._selectMenuItem(t)):void(e\u0026\u0026t.key!\u003d\u003dKe||hi.clearMenus());n.hide()}}j.on(document,Ze,ti,hi.dataApiKeydownHandler),j.on(document,Ze,ei,hi.dataApiKeydownHandler),j.on(document,Ge,hi.clearMenus),j.on(document,\"keyup.bs.dropdown.data-api\",hi.clearMenus),j.on(document,Ge,ti,(function(t){t.preventDefault(),hi.getOrCreateInstance(this).toggle()})),g(hi);const di\u003d\".fixed-top, .fixed-bottom, .is-fixed, .sticky-top\",ui\u003d\".sticky-top\";class fi{constructor(){this._element\u003ddocument.body}getWidth(){const t\u003ddocument.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t\u003dthis.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,\"paddingRight\",(e\u003d\u003ee+t)),this._setElementAttributes(di,\"paddingRight\",(e\u003d\u003ee+t)),this._setElementAttributes(ui,\"marginRight\",(e\u003d\u003ee-t))}_disableOverFlow(){this._saveInitialAttribute(this._element,\"overflow\"),this._element.style.overflow\u003d\"hidden\"}_setElementAttributes(t,e,i){const n\u003dthis.getWidth();this._applyManipulationCallback(t,(t\u003d\u003e{if(t!\u003d\u003dthis._element\u0026\u0026window.innerWidth\u003et.clientWidth+n)return;this._saveInitialAttribute(t,e);const s\u003dwindow.getComputedStyle(t)[e];t.style[e]\u003d`${i(Number.parseFloat(s))}px`}))}reset(){this._resetElementAttributes(this._element,\"overflow\"),this._resetElementAttributes(this._element,\"paddingRight\"),this._resetElementAttributes(di,\"paddingRight\"),this._resetElementAttributes(ui,\"marginRight\")}_saveInitialAttribute(t,e){const i\u003dt.style[e];i\u0026\u0026U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t\u003d\u003e{const i\u003dU.getDataAttribute(t,e);void 0\u003d\u003d\u003di?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]\u003di)}))}_applyManipulationCallback(t,e){o(t)?e(t):V.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()\u003e0}}const pi\u003d{className:\"modal-backdrop\",isVisible:!0,isAnimated:!1,rootElement:\"body\",clickCallback:null},mi\u003d{className:\"string\",isVisible:\"boolean\",isAnimated:\"boolean\",rootElement:\"(element|string)\",clickCallback:\"(function|null)\"},gi\u003d\"show\",_i\u003d\"mousedown.bs.backdrop\";class bi{constructor(t){this._config\u003dthis._getConfig(t),this._isAppended\u003d!1,this._element\u003dnull}show(t){this._config.isVisible?(this._append(),this._config.isAnimated\u0026\u0026u(this._getElement()),this._getElement().classList.add(gi),this._emulateAnimation((()\u003d\u003e{_(t)}))):_(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove(gi),this._emulateAnimation((()\u003d\u003e{this.dispose(),_(t)}))):_(t)}_getElement(){if(!this._element){const t\u003ddocument.createElement(\"div\");t.className\u003dthis._config.className,this._config.isAnimated\u0026\u0026t.classList.add(\"fade\"),this._element\u003dt}return this._element}_getConfig(t){return(t\u003d{...pi,...\"object\"\u003d\u003dtypeof t?t:{}}).rootElement\u003dr(t.rootElement),a(\"backdrop\",t,mi),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),j.on(this._getElement(),_i,(()\u003d\u003e{_(this._config.clickCallback)})),this._isAppended\u003d!0)}dispose(){this._isAppended\u0026\u0026(j.off(this._element,_i),this._element.remove(),this._isAppended\u003d!1)}_emulateAnimation(t){b(t,this._getElement(),this._config.isAnimated)}}const vi\u003d{trapElement:null,autofocus:!0},yi\u003d{trapElement:\"element\",autofocus:\"boolean\"},wi\u003d\".bs.focustrap\",Ei\u003d\"backward\";class Ai{constructor(t){this._config\u003dthis._getConfig(t),this._isActive\u003d!1,this._lastTabNavDirection\u003dnull}activate(){const{trapElement:t,autofocus:e}\u003dthis._config;this._isActive||(e\u0026\u0026t.focus(),j.off(document,wi),j.on(document,\"focusin.bs.focustrap\",(t\u003d\u003ethis._handleFocusin(t))),j.on(document,\"keydown.tab.bs.focustrap\",(t\u003d\u003ethis._handleKeydown(t))),this._isActive\u003d!0)}deactivate(){this._isActive\u0026\u0026(this._isActive\u003d!1,j.off(document,wi))}_handleFocusin(t){const{target:e}\u003dt,{trapElement:i}\u003dthis._config;if(e\u003d\u003d\u003ddocument||e\u003d\u003d\u003di||i.contains(e))return;const n\u003dV.focusableChildren(i);0\u003d\u003d\u003dn.length?i.focus():this._lastTabNavDirection\u003d\u003d\u003dEi?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){\"Tab\"\u003d\u003d\u003dt.key\u0026\u0026(this._lastTabNavDirection\u003dt.shiftKey?Ei:\"forward\")}_getConfig(t){return t\u003d{...vi,...\"object\"\u003d\u003dtypeof t?t:{}},a(\"focustrap\",t,yi),t}}const Ti\u003d\"modal\",Oi\u003d\"Escape\",Ci\u003d{backdrop:!0,keyboard:!0,focus:!0},ki\u003d{backdrop:\"(boolean|string)\",keyboard:\"boolean\",focus:\"boolean\"},Li\u003d\"hidden.bs.modal\",xi\u003d\"show.bs.modal\",Di\u003d\"resize.bs.modal\",Si\u003d\"click.dismiss.bs.modal\",Ni\u003d\"keydown.dismiss.bs.modal\",Ii\u003d\"mousedown.dismiss.bs.modal\",Pi\u003d\"modal-open\",ji\u003d\"show\",Mi\u003d\"modal-static\";class Hi extends B{constructor(t,e){super(t),this._config\u003dthis._getConfig(e),this._dialog\u003dV.findOne(\".modal-dialog\",this._element),this._backdrop\u003dthis._initializeBackDrop(),this._focustrap\u003dthis._initializeFocusTrap(),this._isShown\u003d!1,this._ignoreBackdropClick\u003d!1,this._isTransitioning\u003d!1,this._scrollBar\u003dnew fi}static get Default(){return Ci}static get NAME(){return Ti}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown\u003d!0,this._isAnimated()\u0026\u0026(this._isTransitioning\u003d!0),this._scrollBar.hide(),document.body.classList.add(Pi),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),j.on(this._dialog,Ii,(()\u003d\u003e{j.one(this._element,\"mouseup.dismiss.bs.modal\",(t\u003d\u003e{t.target\u003d\u003d\u003dthis._element\u0026\u0026(this._ignoreBackdropClick\u003d!0)}))})),this._showBackdrop((()\u003d\u003ethis._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;if(j.trigger(this._element,\"hide.bs.modal\").defaultPrevented)return;this._isShown\u003d!1;const t\u003dthis._isAnimated();t\u0026\u0026(this._isTransitioning\u003d!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(ji),j.off(this._element,Si),j.off(this._dialog,Ii),this._queueCallback((()\u003d\u003ethis._hideModal()),this._element,t)}dispose(){[window,this._dialog].forEach((t\u003d\u003ej.off(t,\".bs.modal\"))),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new bi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_getConfig(t){return t\u003d{...Ci,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t?t:{}},a(Ti,t,ki),t}_showElement(t){const e\u003dthis._isAnimated(),i\u003dV.findOne(\".modal-body\",this._dialog);this._element.parentNode\u0026\u0026this._element.parentNode.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE||document.body.append(this._element),this._element.style.display\u003d\"block\",this._element.removeAttribute(\"aria-hidden\"),this._element.setAttribute(\"aria-modal\",!0),this._element.setAttribute(\"role\",\"dialog\"),this._element.scrollTop\u003d0,i\u0026\u0026(i.scrollTop\u003d0),e\u0026\u0026u(this._element),this._element.classList.add(ji),this._queueCallback((()\u003d\u003e{this._config.focus\u0026\u0026this._focustrap.activate(),this._isTransitioning\u003d!1,j.trigger(this._element,\"shown.bs.modal\",{relatedTarget:t})}),this._dialog,e)}_setEscapeEvent(){this._isShown?j.on(this._element,Ni,(t\u003d\u003e{this._config.keyboard\u0026\u0026t.key\u003d\u003d\u003dOi?(t.preventDefault(),this.hide()):this._config.keyboard||t.key!\u003d\u003dOi||this._triggerBackdropTransition()})):j.off(this._element,Ni)}_setResizeEvent(){this._isShown?j.on(window,Di,(()\u003d\u003ethis._adjustDialog())):j.off(window,Di)}_hideModal(){this._element.style.display\u003d\"none\",this._element.setAttribute(\"aria-hidden\",!0),this._element.removeAttribute(\"aria-modal\"),this._element.removeAttribute(\"role\"),this._isTransitioning\u003d!1,this._backdrop.hide((()\u003d\u003e{document.body.classList.remove(Pi),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,Li)}))}_showBackdrop(t){j.on(this._element,Si,(t\u003d\u003e{this._ignoreBackdropClick?this._ignoreBackdropClick\u003d!1:t.target\u003d\u003d\u003dt.currentTarget\u0026\u0026(!0\u003d\u003d\u003dthis._config.backdrop?this.hide():\"static\"\u003d\u003d\u003dthis._config.backdrop\u0026\u0026this._triggerBackdropTransition())})),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains(\"fade\")}_triggerBackdropTransition(){if(j.trigger(this._element,\"hidePrevented.bs.modal\").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}\u003dthis._element,n\u003de\u003edocument.documentElement.clientHeight;!n\u0026\u0026\"hidden\"\u003d\u003d\u003di.overflowY||t.contains(Mi)||(n||(i.overflowY\u003d\"hidden\"),t.add(Mi),this._queueCallback((()\u003d\u003e{t.remove(Mi),n||this._queueCallback((()\u003d\u003e{i.overflowY\u003d\"\"}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t\u003dthis._element.scrollHeight\u003edocument.documentElement.clientHeight,e\u003dthis._scrollBar.getWidth(),i\u003de\u003e0;(!i\u0026\u0026t\u0026\u0026!m()||i\u0026\u0026!t\u0026\u0026m())\u0026\u0026(this._element.style.paddingLeft\u003d`${e}px`),(i\u0026\u0026!t\u0026\u0026!m()||!i\u0026\u0026t\u0026\u0026m())\u0026\u0026(this._element.style.paddingRight\u003d`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft\u003d\"\",this._element.style.paddingRight\u003d\"\"}static jQueryInterface(t,e){return this.each((function(){const i\u003dHi.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003di[t])throw new TypeError(`No method named \"${t}\"`);i[t](e)}}))}}j.on(document,\"click.bs.modal.data-api\",\u0027[data-bs-toggle\u003d\"modal\"]\u0027,(function(t){const e\u003dn(this);[\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026t.preventDefault(),j.one(e,xi,(t\u003d\u003e{t.defaultPrevented||j.one(e,Li,(()\u003d\u003e{l(this)\u0026\u0026this.focus()}))}));const i\u003dV.findOne(\".modal.show\");i\u0026\u0026Hi.getInstance(i).hide(),Hi.getOrCreateInstance(e).toggle(this)})),R(Hi),g(Hi);const Bi\u003d\"offcanvas\",Ri\u003d{backdrop:!0,keyboard:!0,scroll:!1},Wi\u003d{backdrop:\"boolean\",keyboard:\"boolean\",scroll:\"boolean\"},$i\u003d\"show\",zi\u003d\".offcanvas.show\",qi\u003d\"hidden.bs.offcanvas\";class Fi extends B{constructor(t,e){super(t),this._config\u003dthis._getConfig(e),this._isShown\u003d!1,this._backdrop\u003dthis._initializeBackDrop(),this._focustrap\u003dthis._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return Bi}static get Default(){return Ri}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,\"show.bs.offcanvas\",{relatedTarget:t}).defaultPrevented||(this._isShown\u003d!0,this._element.style.visibility\u003d\"visible\",this._backdrop.show(),this._config.scroll||(new fi).hide(),this._element.removeAttribute(\"aria-hidden\"),this._element.setAttribute(\"aria-modal\",!0),this._element.setAttribute(\"role\",\"dialog\"),this._element.classList.add($i),this._queueCallback((()\u003d\u003e{this._config.scroll||this._focustrap.activate(),j.trigger(this._element,\"shown.bs.offcanvas\",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown\u0026\u0026(j.trigger(this._element,\"hide.bs.offcanvas\").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown\u003d!1,this._element.classList.remove($i),this._backdrop.hide(),this._queueCallback((()\u003d\u003e{this._element.setAttribute(\"aria-hidden\",!0),this._element.removeAttribute(\"aria-modal\"),this._element.removeAttribute(\"role\"),this._element.style.visibility\u003d\"hidden\",this._config.scroll||(new fi).reset(),j.trigger(this._element,qi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t\u003d{...Ri,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t?t:{}},a(Bi,t,Wi),t}_initializeBackDrop(){return new bi({className:\"offcanvas-backdrop\",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()\u003d\u003ethis.hide()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_addEventListeners(){j.on(this._element,\"keydown.dismiss.bs.offcanvas\",(t\u003d\u003e{this._config.keyboard\u0026\u0026\"Escape\"\u003d\u003d\u003dt.key\u0026\u0026this.hide()}))}static jQueryInterface(t){return this.each((function(){const e\u003dFi.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t]||t.startsWith(\"_\")||\"constructor\"\u003d\u003d\u003dt)throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}j.on(document,\"click.bs.offcanvas.data-api\",\u0027[data-bs-toggle\u003d\"offcanvas\"]\u0027,(function(t){const e\u003dn(this);if([\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026t.preventDefault(),c(this))return;j.one(e,qi,(()\u003d\u003e{l(this)\u0026\u0026this.focus()}));const i\u003dV.findOne(zi);i\u0026\u0026i!\u003d\u003de\u0026\u0026Fi.getInstance(i).hide(),Fi.getOrCreateInstance(e).toggle(this)})),j.on(window,\"load.bs.offcanvas.data-api\",(()\u003d\u003eV.find(zi).forEach((t\u003d\u003eFi.getOrCreateInstance(t).show())))),R(Fi),g(Fi);const Ui\u003dnew Set([\"background\",\"cite\",\"href\",\"itemtype\",\"longdesc\",\"poster\",\"src\",\"xlink:href\"]),Vi\u003d/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#\u0026/:?]*(?:[#/?]|$))/i,Ki\u003d/^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+\u003d*$/i,Xi\u003d(t,e)\u003d\u003e{const i\u003dt.nodeName.toLowerCase();if(e.includes(i))return!Ui.has(i)||Boolean(Vi.test(t.nodeValue)||Ki.test(t.nodeValue));const n\u003de.filter((t\u003d\u003et instanceof RegExp));for(let t\u003d0,e\u003dn.length;t\u003ce;t++)if(n[t].test(i))return!0;return!1};function Yi(t,e,i){if(!t.length)return t;if(i\u0026\u0026\"function\"\u003d\u003dtypeof i)return i(t);const n\u003d(new window.DOMParser).parseFromString(t,\"text/html\"),s\u003d[].concat(...n.body.querySelectorAll(\"*\"));for(let t\u003d0,i\u003ds.length;t\u003ci;t++){const i\u003ds[t],n\u003di.nodeName.toLowerCase();if(!Object.keys(e).includes(n)){i.remove();continue}const o\u003d[].concat(...i.attributes),r\u003d[].concat(e[\"*\"]||[],e[n]||[]);o.forEach((t\u003d\u003e{Xi(t,r)||i.removeAttribute(t.nodeName)}))}return n.body.innerHTML}const Qi\u003d\"tooltip\",Gi\u003dnew Set([\"sanitize\",\"allowList\",\"sanitizeFn\"]),Zi\u003d{animation:\"boolean\",template:\"string\",title:\"(string|element|function)\",trigger:\"string\",delay:\"(number|object)\",html:\"boolean\",selector:\"(string|boolean)\",placement:\"(string|function)\",offset:\"(array|string|function)\",container:\"(string|element|boolean)\",fallbackPlacements:\"array\",boundary:\"(string|element)\",customClass:\"(string|function)\",sanitize:\"boolean\",sanitizeFn:\"(null|function)\",allowList:\"object\",popperConfig:\"(null|object|function)\"},Ji\u003d{AUTO:\"auto\",TOP:\"top\",RIGHT:m()?\"left\":\"right\",BOTTOM:\"bottom\",LEFT:m()?\"right\":\"left\"},tn\u003d{animation:!0,template:\u0027\u003cdiv class\u003d\"tooltip\" role\u003d\"tooltip\"\u003e\u003cdiv class\u003d\"tooltip-arrow\"\u003e\u003c/div\u003e\u003cdiv class\u003d\"tooltip-inner\"\u003e\u003c/div\u003e\u003c/div\u003e\u0027,trigger:\"hover focus\",title:\"\",delay:0,html:!1,selector:!1,placement:\"top\",offset:[0,0],container:!1,fallbackPlacements:[\"top\",\"right\",\"bottom\",\"left\"],boundary:\"clippingParents\",customClass:\"\",sanitize:!0,sanitizeFn:null,allowList:{\"*\":[\"class\",\"dir\",\"id\",\"lang\",\"role\",/^aria-[\\w-]*$/i],a:[\"target\",\"href\",\"title\",\"rel\"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:[\"src\",\"srcset\",\"alt\",\"title\",\"width\",\"height\"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},en\u003d{HIDE:\"hide.bs.tooltip\",HIDDEN:\"hidden.bs.tooltip\",SHOW:\"show.bs.tooltip\",SHOWN:\"shown.bs.tooltip\",INSERTED:\"inserted.bs.tooltip\",CLICK:\"click.bs.tooltip\",FOCUSIN:\"focusin.bs.tooltip\",FOCUSOUT:\"focusout.bs.tooltip\",MOUSEENTER:\"mouseenter.bs.tooltip\",MOUSELEAVE:\"mouseleave.bs.tooltip\"},nn\u003d\"fade\",sn\u003d\"show\",on\u003d\"show\",rn\u003d\"out\",an\u003d\".tooltip-inner\",ln\u003d\".modal\",cn\u003d\"hide.bs.modal\",hn\u003d\"hover\",dn\u003d\"focus\";class un extends B{constructor(t,e){if(void 0\u003d\u003d\u003dFe)throw new TypeError(\"Bootstrap\u0027s tooltips require Popper (https://popper.js.org)\");super(t),this._isEnabled\u003d!0,this._timeout\u003d0,this._hoverState\u003d\"\",this._activeTrigger\u003d{},this._popper\u003dnull,this._config\u003dthis._getConfig(e),this.tip\u003dnull,this._setListeners()}static get Default(){return tn}static get NAME(){return Qi}static get Event(){return en}static get DefaultType(){return Zi}enable(){this._isEnabled\u003d!0}disable(){this._isEnabled\u003d!1}toggleEnabled(){this._isEnabled\u003d!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e\u003dthis._initializeOnDelegatedTarget(t);e._activeTrigger.click\u003d!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(sn))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(ln),cn,this._hideModalHandler),this.tip\u0026\u0026this.tip.remove(),this._disposePopper(),super.dispose()}show(){if(\"none\"\u003d\u003d\u003dthis._element.style.display)throw new Error(\"Please use show on visible elements\");if(!this.isWithContent()||!this._isEnabled)return;const t\u003dj.trigger(this._element,this.constructor.Event.SHOW),e\u003dh(this._element),i\u003dnull\u003d\u003d\u003de?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;\"tooltip\"\u003d\u003d\u003dthis.constructor.NAME\u0026\u0026this.tip\u0026\u0026this.getTitle()!\u003d\u003dthis.tip.querySelector(an).innerHTML\u0026\u0026(this._disposePopper(),this.tip.remove(),this.tip\u003dnull);const n\u003dthis.getTipElement(),s\u003d(t\u003d\u003e{do{t+\u003dMath.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute(\"id\",s),this._element.setAttribute(\"aria-describedby\",s),this._config.animation\u0026\u0026n.classList.add(nn);const o\u003d\"function\"\u003d\u003dtypeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,r\u003dthis._getAttachment(o);this._addAttachmentClass(r);const{container:a}\u003dthis._config;H.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(n),j.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper\u003dqe(this._element,n,this._getPopperConfig(r)),n.classList.add(sn);const l\u003dthis._resolvePossibleFunction(this._config.customClass);l\u0026\u0026n.classList.add(...l.split(\" \")),\"ontouchstart\"in document.documentElement\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003e{j.on(t,\"mouseover\",d)}));const c\u003dthis.tip.classList.contains(nn);this._queueCallback((()\u003d\u003e{const t\u003dthis._hoverState;this._hoverState\u003dnull,j.trigger(this._element,this.constructor.Event.SHOWN),t\u003d\u003d\u003drn\u0026\u0026this._leave(null,this)}),this.tip,c)}hide(){if(!this._popper)return;const t\u003dthis.getTipElement();if(j.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove(sn),\"ontouchstart\"in document.documentElement\u0026\u0026[].concat(...document.body.children).forEach((t\u003d\u003ej.off(t,\"mouseover\",d))),this._activeTrigger.click\u003d!1,this._activeTrigger.focus\u003d!1,this._activeTrigger.hover\u003d!1;const e\u003dthis.tip.classList.contains(nn);this._queueCallback((()\u003d\u003e{this._isWithActiveTrigger()||(this._hoverState!\u003d\u003don\u0026\u0026t.remove(),this._cleanTipClass(),this._element.removeAttribute(\"aria-describedby\"),j.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())}),this.tip,e),this._hoverState\u003d\"\"}update(){null!\u003d\u003dthis._popper\u0026\u0026this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t\u003ddocument.createElement(\"div\");t.innerHTML\u003dthis._config.template;const e\u003dt.children[0];return this.setContent(e),e.classList.remove(nn,sn),this.tip\u003de,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),an)}_sanitizeAndSetContent(t,e,i){const n\u003dV.findOne(i,t);e||!n?this.setElementContent(n,e):n.remove()}setElementContent(t,e){if(null!\u003d\u003dt)return o(e)?(e\u003dr(e),void(this._config.html?e.parentNode!\u003d\u003dt\u0026\u0026(t.innerHTML\u003d\"\",t.append(e)):t.textContent\u003de.textContent)):void(this._config.html?(this._config.sanitize\u0026\u0026(e\u003dYi(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML\u003de):t.textContent\u003de)}getTitle(){const t\u003dthis._element.getAttribute(\"data-bs-original-title\")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return\"right\"\u003d\u003d\u003dt?\"end\":\"left\"\u003d\u003d\u003dt?\"start\":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:t}\u003dthis._config;return\"string\"\u003d\u003dtypeof t?t.split(\",\").map((t\u003d\u003eNumber.parseInt(t,10))):\"function\"\u003d\u003dtypeof t?e\u003d\u003et(e,this._element):t}_resolvePossibleFunction(t){return\"function\"\u003d\u003dtypeof t?t.call(this._element):t}_getPopperConfig(t){const e\u003d{placement:t,modifiers:[{name:\"flip\",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:\"offset\",options:{offset:this._getOffset()}},{name:\"preventOverflow\",options:{boundary:this._config.boundary}},{name:\"arrow\",options:{element:`.${this.constructor.NAME}-arrow`}},{name:\"onChange\",enabled:!0,phase:\"afterWrite\",fn:t\u003d\u003ethis._handlePopperPlacementChange(t)}],onFirstUpdate:t\u003d\u003e{t.options.placement!\u003d\u003dt.placement\u0026\u0026this._handlePopperPlacementChange(t)}};return{...e,...\"function\"\u003d\u003dtypeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return Ji[t.toUpperCase()]}_setListeners(){this._config.trigger.split(\" \").forEach((t\u003d\u003e{if(\"click\"\u003d\u003d\u003dt)j.on(this._element,this.constructor.Event.CLICK,this._config.selector,(t\u003d\u003ethis.toggle(t)));else if(\"manual\"!\u003d\u003dt){const e\u003dt\u003d\u003d\u003dhn?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i\u003dt\u003d\u003d\u003dhn?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;j.on(this._element,e,this._config.selector,(t\u003d\u003ethis._enter(t))),j.on(this._element,i,this._config.selector,(t\u003d\u003ethis._leave(t)))}})),this._hideModalHandler\u003d()\u003d\u003e{this._element\u0026\u0026this.hide()},j.on(this._element.closest(ln),cn,this._hideModalHandler),this._config.selector?this._config\u003d{...this._config,trigger:\"manual\",selector:\"\"}:this._fixTitle()}_fixTitle(){const t\u003dthis._element.getAttribute(\"title\"),e\u003dtypeof this._element.getAttribute(\"data-bs-original-title\");(t||\"string\"!\u003d\u003de)\u0026\u0026(this._element.setAttribute(\"data-bs-original-title\",t||\"\"),!t||this._element.getAttribute(\"aria-label\")||this._element.textContent||this._element.setAttribute(\"aria-label\",t),this._element.setAttribute(\"title\",\"\"))}_enter(t,e){e\u003dthis._initializeOnDelegatedTarget(t,e),t\u0026\u0026(e._activeTrigger[\"focusin\"\u003d\u003d\u003dt.type?dn:hn]\u003d!0),e.getTipElement().classList.contains(sn)||e._hoverState\u003d\u003d\u003don?e._hoverState\u003don:(clearTimeout(e._timeout),e._hoverState\u003don,e._config.delay\u0026\u0026e._config.delay.show?e._timeout\u003dsetTimeout((()\u003d\u003e{e._hoverState\u003d\u003d\u003don\u0026\u0026e.show()}),e._config.delay.show):e.show())}_leave(t,e){e\u003dthis._initializeOnDelegatedTarget(t,e),t\u0026\u0026(e._activeTrigger[\"focusout\"\u003d\u003d\u003dt.type?dn:hn]\u003de._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState\u003drn,e._config.delay\u0026\u0026e._config.delay.hide?e._timeout\u003dsetTimeout((()\u003d\u003e{e._hoverState\u003d\u003d\u003drn\u0026\u0026e.hide()}),e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e\u003dU.getDataAttributes(this._element);return Object.keys(e).forEach((t\u003d\u003e{Gi.has(t)\u0026\u0026delete e[t]})),(t\u003d{...this.constructor.Default,...e,...\"object\"\u003d\u003dtypeof t\u0026\u0026t?t:{}}).container\u003d!1\u003d\u003d\u003dt.container?document.body:r(t.container),\"number\"\u003d\u003dtypeof t.delay\u0026\u0026(t.delay\u003d{show:t.delay,hide:t.delay}),\"number\"\u003d\u003dtypeof t.title\u0026\u0026(t.title\u003dt.title.toString()),\"number\"\u003d\u003dtypeof t.content\u0026\u0026(t.content\u003dt.content.toString()),a(Qi,t,this.constructor.DefaultType),t.sanitize\u0026\u0026(t.template\u003dYi(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t\u003d{};for(const e in this._config)this.constructor.Default[e]!\u003d\u003dthis._config[e]\u0026\u0026(t[e]\u003dthis._config[e]);return t}_cleanTipClass(){const t\u003dthis.getTipElement(),e\u003dnew RegExp(`(^|\\\\s)${this._getBasicClassPrefix()}\\\\S+`,\"g\"),i\u003dt.getAttribute(\"class\").match(e);null!\u003d\u003di\u0026\u0026i.length\u003e0\u0026\u0026i.map((t\u003d\u003et.trim())).forEach((e\u003d\u003et.classList.remove(e)))}_getBasicClassPrefix(){return\"bs-tooltip\"}_handlePopperPlacementChange(t){const{state:e}\u003dt;e\u0026\u0026(this.tip\u003de.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper\u0026\u0026(this._popper.destroy(),this._popper\u003dnull)}static jQueryInterface(t){return this.each((function(){const e\u003dun.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}g(un);const fn\u003d{...un.Default,placement:\"right\",offset:[0,8],trigger:\"click\",content:\"\",template:\u0027\u003cdiv class\u003d\"popover\" role\u003d\"tooltip\"\u003e\u003cdiv class\u003d\"popover-arrow\"\u003e\u003c/div\u003e\u003ch3 class\u003d\"popover-header\"\u003e\u003c/h3\u003e\u003cdiv class\u003d\"popover-body\"\u003e\u003c/div\u003e\u003c/div\u003e\u0027},pn\u003d{...un.DefaultType,content:\"(string|element|function)\"},mn\u003d{HIDE:\"hide.bs.popover\",HIDDEN:\"hidden.bs.popover\",SHOW:\"show.bs.popover\",SHOWN:\"shown.bs.popover\",INSERTED:\"inserted.bs.popover\",CLICK:\"click.bs.popover\",FOCUSIN:\"focusin.bs.popover\",FOCUSOUT:\"focusout.bs.popover\",MOUSEENTER:\"mouseenter.bs.popover\",MOUSELEAVE:\"mouseleave.bs.popover\"};class gn extends un{static get Default(){return fn}static get NAME(){return\"popover\"}static get Event(){return mn}static get DefaultType(){return pn}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),\".popover-header\"),this._sanitizeAndSetContent(t,this._getContent(),\".popover-body\")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return\"bs-popover\"}static jQueryInterface(t){return this.each((function(){const e\u003dgn.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}g(gn);const _n\u003d\"scrollspy\",bn\u003d{offset:10,method:\"auto\",target:\"\"},vn\u003d{offset:\"number\",method:\"string\",target:\"(string|element)\"},yn\u003d\"active\",wn\u003d\".nav-link, .list-group-item, .dropdown-item\",En\u003d\"position\";class An extends B{constructor(t,e){super(t),this._scrollElement\u003d\"BODY\"\u003d\u003d\u003dthis._element.tagName?window:this._element,this._config\u003dthis._getConfig(e),this._offsets\u003d[],this._targets\u003d[],this._activeTarget\u003dnull,this._scrollHeight\u003d0,j.on(this._scrollElement,\"scroll.bs.scrollspy\",(()\u003d\u003ethis._process())),this.refresh(),this._process()}static get Default(){return bn}static get NAME(){return _n}refresh(){const t\u003dthis._scrollElement\u003d\u003d\u003dthis._scrollElement.window?\"offset\":En,e\u003d\"auto\"\u003d\u003d\u003dthis._config.method?t:this._config.method,n\u003de\u003d\u003d\u003dEn?this._getScrollTop():0;this._offsets\u003d[],this._targets\u003d[],this._scrollHeight\u003dthis._getScrollHeight(),V.find(wn,this._config.target).map((t\u003d\u003e{const s\u003di(t),o\u003ds?V.findOne(s):null;if(o){const t\u003do.getBoundingClientRect();if(t.width||t.height)return[U[e](o).top+n,s]}return null})).filter((t\u003d\u003et)).sort(((t,e)\u003d\u003et[0]-e[0])).forEach((t\u003d\u003e{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){j.off(this._scrollElement,\".bs.scrollspy\"),super.dispose()}_getConfig(t){return(t\u003d{...bn,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t\u0026\u0026t?t:{}}).target\u003dr(t.target)||document.documentElement,a(_n,t,vn),t}_getScrollTop(){return this._scrollElement\u003d\u003d\u003dwindow?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement\u003d\u003d\u003dwindow?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t\u003dthis._getScrollTop()+this._config.offset,e\u003dthis._getScrollHeight(),i\u003dthis._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!\u003d\u003de\u0026\u0026this.refresh(),t\u003e\u003di){const t\u003dthis._targets[this._targets.length-1];this._activeTarget!\u003d\u003dt\u0026\u0026this._activate(t)}else{if(this._activeTarget\u0026\u0026t\u003cthis._offsets[0]\u0026\u0026this._offsets[0]\u003e0)return this._activeTarget\u003dnull,void this._clear();for(let e\u003dthis._offsets.length;e--;)this._activeTarget!\u003d\u003dthis._targets[e]\u0026\u0026t\u003e\u003dthis._offsets[e]\u0026\u0026(void 0\u003d\u003d\u003dthis._offsets[e+1]||t\u003cthis._offsets[e+1])\u0026\u0026this._activate(this._targets[e])}}_activate(t){this._activeTarget\u003dt,this._clear();const e\u003dwn.split(\",\").map((e\u003d\u003e`${e}[data-bs-target\u003d\"${t}\"],${e}[href\u003d\"${t}\"]`)),i\u003dV.findOne(e.join(\",\"),this._config.target);i.classList.add(yn),i.classList.contains(\"dropdown-item\")?V.findOne(\".dropdown-toggle\",i.closest(\".dropdown\")).classList.add(yn):V.parents(i,\".nav, .list-group\").forEach((t\u003d\u003e{V.prev(t,\".nav-link, .list-group-item\").forEach((t\u003d\u003et.classList.add(yn))),V.prev(t,\".nav-item\").forEach((t\u003d\u003e{V.children(t,\".nav-link\").forEach((t\u003d\u003et.classList.add(yn)))}))})),j.trigger(this._scrollElement,\"activate.bs.scrollspy\",{relatedTarget:t})}_clear(){V.find(wn,this._config.target).filter((t\u003d\u003et.classList.contains(yn))).forEach((t\u003d\u003et.classList.remove(yn)))}static jQueryInterface(t){return this.each((function(){const e\u003dAn.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}j.on(window,\"load.bs.scrollspy.data-api\",(()\u003d\u003e{V.find(\u0027[data-bs-spy\u003d\"scroll\"]\u0027).forEach((t\u003d\u003enew An(t)))})),g(An);const Tn\u003d\"active\",On\u003d\"fade\",Cn\u003d\"show\",kn\u003d\".active\",Ln\u003d\":scope \u003e li \u003e .active\";class xn extends B{static get NAME(){return\"tab\"}show(){if(this._element.parentNode\u0026\u0026this._element.parentNode.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE\u0026\u0026this._element.classList.contains(Tn))return;let t;const e\u003dn(this._element),i\u003dthis._element.closest(\".nav, .list-group\");if(i){const e\u003d\"UL\"\u003d\u003d\u003di.nodeName||\"OL\"\u003d\u003d\u003di.nodeName?Ln:kn;t\u003dV.find(e,i),t\u003dt[t.length-1]}const s\u003dt?j.trigger(t,\"hide.bs.tab\",{relatedTarget:this._element}):null;if(j.trigger(this._element,\"show.bs.tab\",{relatedTarget:t}).defaultPrevented||null!\u003d\u003ds\u0026\u0026s.defaultPrevented)return;this._activate(this._element,i);const o\u003d()\u003d\u003e{j.trigger(t,\"hidden.bs.tab\",{relatedTarget:this._element}),j.trigger(this._element,\"shown.bs.tab\",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,i){const n\u003d(!e||\"UL\"!\u003d\u003de.nodeName\u0026\u0026\"OL\"!\u003d\u003de.nodeName?V.children(e,kn):V.find(Ln,e))[0],s\u003di\u0026\u0026n\u0026\u0026n.classList.contains(On),o\u003d()\u003d\u003ethis._transitionComplete(t,n,i);n\u0026\u0026s?(n.classList.remove(Cn),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove(Tn);const t\u003dV.findOne(\":scope \u003e .dropdown-menu .active\",e.parentNode);t\u0026\u0026t.classList.remove(Tn),\"tab\"\u003d\u003d\u003de.getAttribute(\"role\")\u0026\u0026e.setAttribute(\"aria-selected\",!1)}t.classList.add(Tn),\"tab\"\u003d\u003d\u003dt.getAttribute(\"role\")\u0026\u0026t.setAttribute(\"aria-selected\",!0),u(t),t.classList.contains(On)\u0026\u0026t.classList.add(Cn);let n\u003dt.parentNode;if(n\u0026\u0026\"LI\"\u003d\u003d\u003dn.nodeName\u0026\u0026(n\u003dn.parentNode),n\u0026\u0026n.classList.contains(\"dropdown-menu\")){const e\u003dt.closest(\".dropdown\");e\u0026\u0026V.find(\".dropdown-toggle\",e).forEach((t\u003d\u003et.classList.add(Tn))),t.setAttribute(\"aria-expanded\",!0)}i\u0026\u0026i()}static jQueryInterface(t){return this.each((function(){const e\u003dxn.getOrCreateInstance(this);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}j.on(document,\"click.bs.tab.data-api\",\u0027[data-bs-toggle\u003d\"tab\"], [data-bs-toggle\u003d\"pill\"], [data-bs-toggle\u003d\"list\"]\u0027,(function(t){[\"A\",\"AREA\"].includes(this.tagName)\u0026\u0026t.preventDefault(),c(this)||xn.getOrCreateInstance(this).show()})),g(xn);const Dn\u003d\"toast\",Sn\u003d\"hide\",Nn\u003d\"show\",In\u003d\"showing\",Pn\u003d{animation:\"boolean\",autohide:\"boolean\",delay:\"number\"},jn\u003d{animation:!0,autohide:!0,delay:5e3};class Mn extends B{constructor(t,e){super(t),this._config\u003dthis._getConfig(e),this._timeout\u003dnull,this._hasMouseInteraction\u003d!1,this._hasKeyboardInteraction\u003d!1,this._setListeners()}static get DefaultType(){return Pn}static get Default(){return jn}static get NAME(){return Dn}show(){j.trigger(this._element,\"show.bs.toast\").defaultPrevented||(this._clearTimeout(),this._config.animation\u0026\u0026this._element.classList.add(\"fade\"),this._element.classList.remove(Sn),u(this._element),this._element.classList.add(Nn),this._element.classList.add(In),this._queueCallback((()\u003d\u003e{this._element.classList.remove(In),j.trigger(this._element,\"shown.bs.toast\"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this._element.classList.contains(Nn)\u0026\u0026(j.trigger(this._element,\"hide.bs.toast\").defaultPrevented||(this._element.classList.add(In),this._queueCallback((()\u003d\u003e{this._element.classList.add(Sn),this._element.classList.remove(In),this._element.classList.remove(Nn),j.trigger(this._element,\"hidden.bs.toast\")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains(Nn)\u0026\u0026this._element.classList.remove(Nn),super.dispose()}_getConfig(t){return t\u003d{...jn,...U.getDataAttributes(this._element),...\"object\"\u003d\u003dtypeof t\u0026\u0026t?t:{}},a(Dn,t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide\u0026\u0026(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout\u003dsetTimeout((()\u003d\u003e{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case\"mouseover\":case\"mouseout\":this._hasMouseInteraction\u003de;break;case\"focusin\":case\"focusout\":this._hasKeyboardInteraction\u003de}if(e)return void this._clearTimeout();const i\u003dt.relatedTarget;this._element\u003d\u003d\u003di||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,\"mouseover.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!0))),j.on(this._element,\"mouseout.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!1))),j.on(this._element,\"focusin.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!0))),j.on(this._element,\"focusout.bs.toast\",(t\u003d\u003ethis._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout\u003dnull}static jQueryInterface(t){return this.each((function(){const e\u003dMn.getOrCreateInstance(this,t);if(\"string\"\u003d\u003dtypeof t){if(void 0\u003d\u003d\u003de[t])throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}return R(Mn),g(Mn),{Alert:W,Button:z,Carousel:st,Collapse:pt,Dropdown:hi,Modal:Hi,Offcanvas:Fi,Popover:gn,ScrollSpy:An,Tab:xn,Toast:Mn,Tooltip:un}}));"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"//# sourceMappingURL\u003dbootstrap.bundle.min.js.map"}],"authorContributionMap":{"KevinEyo1":7}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/js/markbind.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"!function(t,e){\"object\"\u003d\u003dtypeof exports\u0026\u0026\"object\"\u003d\u003dtypeof module?module.exports\u003de(require(\"Vue\")):\"function\"\u003d\u003dtypeof define\u0026\u0026define.amd?define([\"Vue\"],e):\"object\"\u003d\u003dtypeof exports?exports.MarkBind\u003de(require(\"Vue\")):t.MarkBind\u003de(t.Vue)}(self,t\u003d\u003e(()\u003d\u003e{var e\u003d{605:()\u003d\u003e{function t(){document.querySelectorAll(\".\".concat(\"page-nav-clone\")).forEach((function(t){t.remove()}))}window.addEventListener(\"beforeprint\",(function(){var e\u003ddocument.querySelector(\"#\".concat(\"mb-page-nav\")),n\u003ddocument.querySelectorAll(\".\".concat(\"page-nav-print\"));e\u0026\u0026n.length\u003e\u003d1\u0026\u0026(t(),n.forEach((function(t){t.appendChild(function(t){var e\u003dt.cloneNode(!0);return e.removeAttribute(\"id\"),e.querySelectorAll(\"a.active\").forEach((function(t){t.classList.remove(\"active\")})),e.classList.add(\"page-nav-clone\"),e}(e))})))})),window.addEventListener(\"afterprint\",(function(){t()})),window.addEventListener(\"beforeprint\",(function(){document.querySelectorAll(\"pre \u003e code.hljs\").forEach((function(t){Array.from(t.querySelectorAll(\"span\")).some((function(t){return t.scrollWidth\u003et.clientWidth}))\u0026\u0026t.classList.add(\"line-numbers-print\")}))}))},3:t\u003d\u003e{t.exports\u003d{bind:function(t){function e(){t.dataset.isShown\u003d\"false\",r.style.display\u003d\"\",o.style.display\u003d\"none\",i.style.display\u003d\"none\"}function n(){t.dataset.isShown\u003d\"true\",r.style.display\u003d\"none\",i.style.display\u003d\"\"}t.dataset.isShown\u003d\"true\",t.style.position\u003d\"relative\";var i\u003ddocument.createElement(\"div\");i.classList.add(\"content\"),Array.from(t.children).forEach((function(t){return i.append(t)})),t.replaceChildren(),t.append(i),t.classList.add(\"closeable-wrapper\");var o\u003dfunction(){var t\u003ddocument.createElement(\"span\");return t.classList.add(\"closeable-button\",\"label\",\"label-default\",\"hidden-print\"),t.style.cssText+\u003d\"display: none; position: absolute; top: 0; left: 0; cursor: pointer;background: #d9534f\",t.innerHTML\u003d\u0027\u003cspan class\u003d\"glyphicon glyphicon-remove\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e\u0027,t.addEventListener(\"click\",e),t}();t.append(o);var r\u003dfunction(t){var e\u003ddocument.createElement(\"a\");return e.classList.add(\"closeable-show\",\"hidden-print\"),e.style.cssText+\u003d\"display: none; cursor: pointer;text-decoration: underline\",e.innerHTML\u003dt,e.addEventListener(\"click\",n),e}(t.getAttribute(\"alt\")||\"Expand Content\");t.append(r),t.addEventListener(\"mouseover\",(function(){\"false\"!\u003d\u003dt.dataset.isShown\u0026\u0026(o.style.display\u003d\"\")})),t.addEventListener(\"mouseout\",(function(){\"false\"!\u003d\u003dt.dataset.isShown\u0026\u0026(o.style.display\u003d\"none\")}))}}},383:(t,e,n)\u003d\u003e{\"use strict\";var i,o\u003d(i\u003dn(740))\u0026\u0026\"object\"\u003d\u003dtypeof i\u0026\u0026\"default\"in i?i.default:i;function r(t){return(r\u003d\"function\"\u003d\u003dtypeof Symbol\u0026\u0026\"symbol\"\u003d\u003dtypeof Symbol.iterator?function(t){return typeof t}:function(t){return t\u0026\u0026\"function\"\u003d\u003dtypeof Symbol\u0026\u0026t.constructor\u003d\u003d\u003dSymbol\u0026\u0026t!\u003d\u003dSymbol.prototype?\"symbol\":typeof t})(t)}function s(t){return function(t){if(Array.isArray(t)){for(var e\u003d0,n\u003dnew Array(t.length);e\u003ct.length;e++)n[e]\u003dt[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||\"[object Arguments]\"\u003d\u003d\u003dObject.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}var a\u003d\"undefined\"!\u003dtypeof window;function l(t,e){return e.reduce((function(e,n){return t.hasOwnProperty(n)\u0026\u0026(e[n]\u003dt[n]),e}),{})}var c\u003d{},u\u003d{},d\u003d{},h\u003dnew(o.extend({data:function(){return{transports:c,targets:u,sources:d,trackInstances:a}},methods:{open:function(t){if(a){var e\u003dt.to,n\u003dt.from,i\u003dt.passengers,s\u003dt.order,l\u003dvoid 0\u003d\u003d\u003ds?1/0:s;if(e\u0026\u0026n\u0026\u0026i){var c,u\u003d{to:e,from:n,passengers:(c\u003di,Array.isArray(c)||\"object\"\u003d\u003d\u003dr(c)?Object.freeze(c):c),order:l};-1\u003d\u003d\u003dObject.keys(this.transports).indexOf(e)\u0026\u0026o.set(this.transports,e,[]);var d,h\u003dthis.$_getTransportIndex(u),p\u003dthis.transports[e].slice(0);-1\u003d\u003d\u003dh?p.push(u):p[h]\u003du,this.transports[e]\u003d(d\u003dfunction(t,e){return t.order-e.order},p.map((function(t,e){return[e,t]})).sort((function(t,e){return d(t[1],e[1])||t[0]-e[0]})).map((function(t){return t[1]})))}}},close:function(t){var e\u003darguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1]\u0026\u0026arguments[1],n\u003dt.to,i\u003dt.from;if(n\u0026\u0026(i||!1!\u003d\u003de)\u0026\u0026this.transports[n])if(e)this.transports[n]\u003d[];else{var o\u003dthis.$_getTransportIndex(t);if(o\u003e\u003d0){var r\u003dthis.transports[n].slice(0);r.splice(o,1),this.transports[n]\u003dr}}},registerTarget:function(t,e,n){a\u0026\u0026(this.trackInstances\u0026\u0026!n\u0026\u0026this.targets[t]\u0026\u0026console.warn(\"[portal-vue]: Target \".concat(t,\" already exists\")),this.$set(this.targets,t,Object.freeze([e])))},unregisterTarget:function(t){this.$delete(this.targets,t)},registerSource:function(t,e,n){a\u0026\u0026(this.trackInstances\u0026\u0026!n\u0026\u0026this.sources[t]\u0026\u0026console.warn(\"[portal-vue]: source \".concat(t,\" already exists\")),this.$set(this.sources,t,Object.freeze([e])))},unregisterSource:function(t){this.$delete(this.sources,t)},hasTarget:function(t){return!(!this.targets[t]||!this.targets[t][0])},hasSource:function(t){return!(!this.sources[t]||!this.sources[t][0])},hasContentFor:function(t){return!!this.transports[t]\u0026\u0026!!this.transports[t].length},$_getTransportIndex:function(t){var e\u003dt.to,n\u003dt.from;for(var i in this.transports[e])if(this.transports[e][i].from\u003d\u003d\u003dn)return+i;return-1}}}))(c),p\u003d1,f\u003do.extend({name:\"portal\",props:{disabled:{type:Boolean},name:{type:String,default:function(){return String(p++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:\"DIV\"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}}},created:function(){var t\u003dthis;this.$nextTick((function(){h.registerSource(t.name,t)}))},mounted:function(){this.disabled||this.sendUpdate()},updated:function(){this.disabled?this.clear():this.sendUpdate()},beforeDestroy:function(){h.unregisterSource(this.name),this.clear()},watch:{to:function(t,e){e\u0026\u0026e!\u003d\u003dt\u0026\u0026this.clear(e),this.sendUpdate()}},methods:{clear:function(t){var e\u003d{from:this.name,to:t||this.to};h.close(e)},normalizeSlots:function(){return this.$scopedSlots.default?[this.$scopedSlots.default]:this.$slots.default},normalizeOwnChildren:function(t){return\"function\"\u003d\u003dtypeof t?t(this.slotProps):t},sendUpdate:function(){var t\u003dthis.normalizeSlots();if(t){var e\u003d{from:this.name,to:this.to,passengers:s(t),order:this.order};h.open(e)}else this.clear()}},render:function(t){var e\u003dthis.$slots.default||this.$scopedSlots.default||[],n\u003dthis.tag;return e\u0026\u0026this.disabled?e.length\u003c\u003d1\u0026\u0026this.slim?this.normalizeOwnChildren(e)[0]:t(n,[this.normalizeOwnChildren(e)]):this.slim?t():t(n,{class:{\"v-portal\":!0},style:{display:\"none\"},key:\"v-portal-placeholder\"})}}),m\u003do.extend({name:\"portalTarget\",props:{multiple:{type:Boolean,default:!1},name:{type:String,required:!0},slim:{type:Boolean,default:!1},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:\"div\"},transition:{type:[String,Object,Function]}},data:function(){return{transports:h.transports,firstRender:!0}},created:function(){var t\u003dthis;this.$nextTick((function(){h.registerTarget(t.name,t)}))},watch:{ownTransports:function(){this.$emit(\"change\",this.children().length\u003e0)},name:function(t,e){h.unregisterTarget(e),h.registerTarget(t,this)}},mounted:function(){var t\u003dthis;this.transition\u0026\u0026this.$nextTick((function(){t.firstRender\u003d!1}))},beforeDestroy:function(){h.unregisterTarget(this.name)},computed:{ownTransports:function(){var t\u003dthis.transports[this.name]||[];return this.multiple?t:0\u003d\u003d\u003dt.length?[]:[t[t.length-1]]},passengers:function(){return function(t){var e\u003darguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1]?arguments[1]:{};return t.reduce((function(t,n){var i\u003dn.passengers[0],o\u003d\"function\"\u003d\u003dtypeof i?i(e):n.passengers;return t.concat(o)}),[])}(this.ownTransports,this.slotProps)}},methods:{children:function(){return 0!\u003d\u003dthis.passengers.length?this.passengers:this.$scopedSlots.default?this.$scopedSlots.default(this.slotProps):this.$slots.default||[]},noWrapper:function(){var t\u003dthis.slim\u0026\u0026!this.transition;return t\u0026\u0026this.children().length\u003e1\u0026\u0026console.warn(\"[portal-vue]: PortalTarget with `slim` option received more than one child element.\"),t}},render:function(t){var e\u003dthis.noWrapper(),n\u003dthis.children(),i\u003dthis.transition||this.tag;return e?n[0]:this.slim\u0026\u0026!i?t():t(i,{props:{tag:this.transition\u0026\u0026this.tag?this.tag:void 0},class:{\"vue-portal-target\":!0}},n)}}),v\u003d0,g\u003d[\"disabled\",\"name\",\"order\",\"slim\",\"slotProps\",\"tag\",\"to\"],y\u003d[\"multiple\",\"transition\"],w\u003do.extend({name:\"MountingPortal\",inheritAttrs:!1,props:{append:{type:[Boolean,String]},bail:{type:Boolean},mountTo:{type:String,required:!0},disabled:{type:Boolean},name:{type:String,default:function(){return\"mounted_\"+String(v++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:\"DIV\"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}},multiple:{type:Boolean,default:!1},targetSlim:{type:Boolean},targetSlotProps:{type:Object,default:function(){return{}}},targetTag:{type:String,default:\"div\"},transition:{type:[String,Object,Function]}},created:function(){if(\"undefined\"!\u003dtypeof document){var t\u003ddocument.querySelector(this.mountTo);if(t){var e\u003dthis.$props;if(h.targets[e.name])e.bail?console.warn(\"[portal-vue]: Target \".concat(e.name,\" is already mounted.\\n Aborting because \u0027bail: true\u0027 is set\")):this.portalTarget\u003dh.targets[e.name];else{var n\u003de.append;if(n){var i\u003d\"string\"\u003d\u003dtypeof n?n:\"DIV\",o\u003ddocument.createElement(i);t.appendChild(o),t\u003do}var r\u003dl(this.$props,y);r.slim\u003dthis.targetSlim,r.tag\u003dthis.targetTag,r.slotProps\u003dthis.targetSlotProps,r.name\u003dthis.to,this.portalTarget\u003dnew m({el:t,parent:this.$parent||this,propsData:r})}}else console.error(\"[portal-vue]: Mount Point \u0027\".concat(this.mountTo,\"\u0027 not found in document\"))}},beforeDestroy:function(){var t\u003dthis.portalTarget;if(this.append){var e\u003dt.$el;e.parentNode.removeChild(e)}t.$destroy()},render:function(t){if(!this.portalTarget)return console.warn(\"[portal-vue] Target wasn\u0027t mounted\"),t();if(!this.$scopedSlots.manual){var e\u003dl(this.$props,g);return t(f,{props:e,attrs:this.$attrs,on:this.$listeners,scopedSlots:this.$scopedSlots},this.$slots.default)}var n\u003dthis.$scopedSlots.manual({to:this.to});return Array.isArray(n)\u0026\u0026(n\u003dn[0]),n||t()}});e.h_\u003df,e.YC\u003dm},740:e\u003d\u003e{\"use strict\";e.exports\u003dt}},n\u003d{};function i(t){var o\u003dn[t];if(void 0!\u003d\u003do)return o.exports;var r\u003dn[t]\u003d{exports:{}};return e[t](r,r.exports,i),r.exports}i.n\u003dt\u003d\u003e{var e\u003dt\u0026\u0026t.__esModule?()\u003d\u003et.default:()\u003d\u003et;return i.d(e,{a:e}),e},i.d\u003d(t,e)\u003d\u003e{for(var n in e)i.o(e,n)\u0026\u0026!i.o(t,n)\u0026\u0026Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.g\u003dfunction(){if(\"object\"\u003d\u003dtypeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(t){if(\"object\"\u003d\u003dtypeof window)return window}}(),i.o\u003d(t,e)\u003d\u003eObject.prototype.hasOwnProperty.call(t,e);var o\u003d{};return(()\u003d\u003e{\"use strict\";function t(e){return(t\u003d\"function\"\u003d\u003dtypeof Symbol\u0026\u0026\"symbol\"\u003d\u003dtypeof Symbol.iterator?function(t){return typeof t}:function(t){return t\u0026\u0026\"function\"\u003d\u003dtypeof Symbol\u0026\u0026t.constructor\u003d\u003d\u003dSymbol\u0026\u0026t!\u003d\u003dSymbol.prototype?\"symbol\":typeof t})(e)}function e(e){var n\u003dfunction(e,n){if(\"object\"!\u003d\u003dt(e)||null\u003d\u003d\u003de)return e;var i\u003de[Symbol.toPrimitive];if(void 0!\u003d\u003di){var o\u003di.call(e,n||\"default\");if(\"object\"!\u003d\u003dt(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"\u003d\u003d\u003dn?String:Number)(e)}(e,\"string\");return\"symbol\"\u003d\u003d\u003dt(n)?n:String(n)}function n(t,n,i){return(n\u003de(n))in t?Object.defineProperty(t,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[n]\u003di,t}function r(t){return t.split(\"-\")[0]}function s(t){return t.split(\"-\")[1]}function a(t){return[\"top\",\"bottom\"].includes(r(t))?\"x\":\"y\"}function l(t){return\"y\"\u003d\u003d\u003dt?\"height\":\"width\"}function c(t){let{reference:e,floating:n,placement:i}\u003dt;const o\u003de.x+e.width/2-n.width/2,c\u003de.y+e.height/2-n.height/2;let u;switch(r(i)){case\"top\":u\u003d{x:o,y:e.y-n.height};break;case\"bottom\":u\u003d{x:o,y:e.y+e.height};break;case\"right\":u\u003d{x:e.x+e.width,y:c};break;case\"left\":u\u003d{x:e.x-n.width,y:c};break;default:u\u003d{x:e.x,y:e.y}}const d\u003da(i),h\u003dl(d);switch(s(i)){case\"start\":u[d]\u003du[d]-(e[h]/2-n[h]/2);break;case\"end\":u[d]\u003du[d]+(e[h]/2-n[h]/2)}return u}i.d(o,{default:()\u003d\u003eMo});function u(t){return\"number\"!\u003dtypeof t?function(t){return{top:0,right:0,bottom:0,left:0,...t}}(t):{top:t,right:t,bottom:t,left:t}}function d(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}async function h(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d{});const{x:n,y:i,platform:o,rects:r,elements:s,strategy:a}\u003dt,{boundary:l\u003d\"clippingParents\",rootBoundary:c\u003d\"viewport\",elementContext:h\u003d\"floating\",altBoundary:p\u003d!1,padding:f\u003d0}\u003de,m\u003du(f),v\u003ds[p?\"floating\"\u003d\u003d\u003dh?\"reference\":\"floating\":h],g\u003dawait o.getClippingClientRect({element:await o.isElement(v)?v:v.contextElement||await o.getDocumentElement({element:s.floating}),boundary:l,rootBoundary:c}),y\u003dd(await o.convertOffsetParentRelativeRectToViewportRelativeRect({rect:\"floating\"\u003d\u003d\u003dh?{...r.floating,x:n,y:i}:r.reference,offsetParent:await o.getOffsetParent({element:s.floating}),strategy:a}));return{top:g.top-y.top+m.top,bottom:y.bottom-g.bottom+m.bottom,left:g.left-y.left+m.left,right:y.right-g.right+m.right}}const p\u003dMath.min,f\u003dMath.max;function m(t,e,n){return f(t,p(e,n))}const v\u003d{left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function g(t){return t.replace(/left|right|bottom|top/g,t\u003d\u003ev[t])}function y(t,e){const n\u003d\"start\"\u003d\u003d\u003ds(t),i\u003da(t),o\u003dl(i);let r\u003d\"x\"\u003d\u003d\u003di?n?\"right\":\"left\":n?\"bottom\":\"top\";return e.reference[o]\u003ee.floating[o]\u0026\u0026(r\u003dg(r)),{main:r,cross:g(r)}}const w\u003d{start:\"end\",end:\"start\"};function b(t){return t.replace(/start|end/g,t\u003d\u003ew[t])}const _\u003d[\"top\",\"right\",\"bottom\",\"left\"],S\u003d_.reduce((t,e)\u003d\u003et.concat(e,e+\"-start\",e+\"-end\"),[]);const x\u003dfunction(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"autoPlacement\",options:t,async fn(e){var n,i,o,a,l,c;const{x:u,y:d,rects:p,middlewareData:f,placement:m}\u003de,{alignment:v\u003dnull,allowedPlacements:g\u003dS,autoAlignment:w\u003d!0,..._}\u003dt;if(null!\u003d(n\u003df.autoPlacement)\u0026\u0026n.skip)return{};const x\u003dfunction(t,e,n){return(t?[...n.filter(e\u003d\u003es(e)\u003d\u003d\u003dt),...n.filter(e\u003d\u003es(e)!\u003d\u003dt)]:n.filter(t\u003d\u003er(t)\u003d\u003d\u003dt)).filter(n\u003d\u003e!t||(s(n)\u003d\u003d\u003dt||!!e\u0026\u0026b(n)!\u003d\u003dn))}(v,w,g),C\u003dawait h(e,_),$\u003dnull!\u003d(i\u003dnull\u003d\u003d(o\u003df.autoPlacement)?void 0:o.index)?i:0,k\u003dx[$],{main:T,cross:E}\u003dy(k,p);if(m!\u003d\u003dk)return{x:u,y:d,reset:{placement:x[0]}};const O\u003d[C[r(k)],C[T],C[E]],B\u003d[...null!\u003d(a\u003dnull\u003d\u003d(l\u003df.autoPlacement)?void 0:l.overflows)?a:[],{placement:k,overflows:O}],P\u003dx[$+1];if(P)return{data:{index:$+1,overflows:B},reset:{placement:P}};const L\u003dB.slice().sort((t,e)\u003d\u003et.overflows[0]-e.overflows[0]),N\u003dnull\u003d\u003d(c\u003dL.find(t\u003d\u003e{let{overflows:e}\u003dt;return e.every(t\u003d\u003et\u003c\u003d0)}))?void 0:c.placement;return{data:{skip:!0},reset:{placement:null!\u003dN?N:L[0].placement}}}}};const C\u003dfunction(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"flip\",options:t,async fn(e){var n,i;const{placement:o,middlewareData:s,rects:a,initialPlacement:l}\u003de;if(null!\u003d(n\u003ds.flip)\u0026\u0026n.skip)return{};const{mainAxis:c\u003d!0,crossAxis:u\u003d!0,fallbackPlacements:d,fallbackStrategy:p\u003d\"bestFit\",flipAlignment:f\u003d!0,...m}\u003dt,v\u003dr(o),w\u003d[l,...d||(v\u003d\u003d\u003dl||!f?[g(l)]:function(t){const e\u003dg(t);return[b(t),e,b(e)]}(l))],_\u003dawait h(e,m),S\u003d[];let x\u003d(null\u003d\u003d(i\u003ds.flip)?void 0:i.overflows)||[];if(c\u0026\u0026S.push(_[v]),u){const{main:t,cross:e}\u003dy(o,a);S.push(_[t],_[e])}if(x\u003d[...x,{placement:o,overflows:S}],!S.every(t\u003d\u003et\u003c\u003d0)){var C,$;const t\u003d(null!\u003d(C\u003dnull\u003d\u003d($\u003ds.flip)?void 0:$.index)?C:0)+1,e\u003dw[t];if(e)return{data:{index:t,overflows:x},reset:{placement:e}};let n\u003d\"bottom\";switch(p){case\"bestFit\":{var k;const t\u003dnull\u003d\u003d(k\u003dx.slice().sort((t,e)\u003d\u003et.overflows.filter(t\u003d\u003et\u003e0).reduce((t,e)\u003d\u003et+e,0)-e.overflows.filter(t\u003d\u003et\u003e0).reduce((t,e)\u003d\u003et+e,0))[0])?void 0:k.placement;t\u0026\u0026(n\u003dt);break}case\"initialPlacement\":n\u003dl}return{data:{skip:!0},reset:{placement:n}}}return{}}}};const $\u003dfunction(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d0),{name:\"offset\",options:t,fn(e){const{x:n,y:i,placement:o,rects:s}\u003de,l\u003dfunction(t){let{placement:e,rects:n,value:i}\u003dt;const o\u003dr(e),s\u003d[\"left\",\"top\"].includes(o)?-1:1,l\u003d\"function\"\u003d\u003dtypeof i?i({...n,placement:e}):i,{mainAxis:c,crossAxis:u}\u003d\"number\"\u003d\u003dtypeof l?{mainAxis:l,crossAxis:0}:{mainAxis:0,crossAxis:0,...l};return\"x\"\u003d\u003d\u003da(o)?{x:u,y:c*s}:{x:c*s,y:u}}({placement:o,rects:s,value:t});return{x:n+l.x,y:i+l.y,data:l}}}};function k(t){return\"x\"\u003d\u003d\u003dt?\"y\":\"x\"}function T(t){return\"[object Window]\"\u003d\u003d\u003d(null\u003d\u003dt?void 0:t.toString())}function E(t){if(null\u003d\u003dt)return window;if(!T(t)){const e\u003dt.ownerDocument;return e\u0026\u0026e.defaultView||window}return t}function O(t){return E(t).getComputedStyle(t)}function B(t){return T(t)?\"\":t?(t.nodeName||\"\").toLowerCase():\"\"}function P(t){return t instanceof E(t).HTMLElement}function L(t){return t instanceof E(t).Element}function N(t){return t instanceof E(t).ShadowRoot||t instanceof ShadowRoot}function A(t){const{overflow:e,overflowX:n,overflowY:i}\u003dO(t);return/auto|scroll|overlay|hidden/.test(e+i+n)}function z(t){return[\"table\",\"td\",\"th\"].includes(B(t))}function M(t){const e\u003dnavigator.userAgent.toLowerCase().includes(\"firefox\"),n\u003dO(t);return\"none\"!\u003d\u003dn.transform||\"none\"!\u003d\u003dn.perspective||\"paint\"\u003d\u003d\u003dn.contain||[\"transform\",\"perspective\"].includes(n.willChange)||e\u0026\u0026\"filter\"\u003d\u003d\u003dn.willChange||e\u0026\u0026!!n.filter\u0026\u0026\"none\"!\u003d\u003dn.filter}const H\u003dMath.min,D\u003dMath.max,R\u003dMath.round;function j(t,e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d!1);const n\u003dt.getBoundingClientRect();let i\u003d1,o\u003d1;return e\u0026\u0026P(t)\u0026\u0026(i\u003dt.offsetWidth\u003e0\u0026\u0026R(n.width)/t.offsetWidth||1,o\u003dt.offsetHeight\u003e0\u0026\u0026R(n.height)/t.offsetHeight||1),{width:n.width/i,height:n.height/o,top:n.top/o,right:n.right/i,bottom:n.bottom/o,left:n.left/i,x:n.left/i,y:n.top/o}}function I(t){return(e\u003dt,(e instanceof E(e).Node?t.ownerDocument:t.document)||window.document).documentElement;var e}function q(t){return T(t)?{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}:{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function W(t){return j(I(t)).left+q(t).scrollLeft}function F(t,e,n){const i\u003dP(e),o\u003dI(e),r\u003dj(t,i\u0026\u0026function(t){const e\u003dj(t);return R(e.width)!\u003d\u003dt.offsetWidth||R(e.height)!\u003d\u003dt.offsetHeight}(e));let s\u003d{scrollLeft:0,scrollTop:0};const a\u003d{x:0,y:0};if(i||!i\u0026\u0026\"fixed\"!\u003d\u003dn)if((\"body\"!\u003d\u003dB(e)||A(o))\u0026\u0026(s\u003dq(e)),P(e)){const t\u003dj(e,!0);a.x\u003dt.x+e.clientLeft,a.y\u003dt.y+e.clientTop}else o\u0026\u0026(a.x\u003dW(o));return{x:r.left+s.scrollLeft-a.x,y:r.top+s.scrollTop-a.y,width:r.width,height:r.height}}function V(t){return\"html\"\u003d\u003d\u003dB(t)?t:t.assignedSlot||t.parentNode||(N(t)?t.host:null)||I(t)}function U(t){return P(t)\u0026\u0026\"fixed\"!\u003d\u003dgetComputedStyle(t).position?t.offsetParent:null}function Q(t){const e\u003dE(t);let n\u003dU(t);for(;n\u0026\u0026z(n)\u0026\u0026\"static\"\u003d\u003d\u003dgetComputedStyle(n).position;)n\u003dU(n);return n\u0026\u0026(\"html\"\u003d\u003d\u003dB(n)||\"body\"\u003d\u003d\u003dB(n)\u0026\u0026\"static\"\u003d\u003d\u003dgetComputedStyle(n).position\u0026\u0026!M(n))?e:n||function(t){let e\u003dV(t);for(;P(e)\u0026\u0026![\"html\",\"body\"].includes(B(e));){if(M(e))return e;e\u003de.parentNode}return null}(t)||e}function X(t){return{width:t.offsetWidth,height:t.offsetHeight}}function Y(t,e){var n;void 0\u003d\u003d\u003de\u0026\u0026(e\u003d[]);const i\u003dfunction t(e){return[\"html\",\"body\",\"#document\"].includes(B(e))?e.ownerDocument.body:P(e)\u0026\u0026A(e)?e:t(V(e))}(t),o\u003di\u003d\u003d\u003d(null\u003d\u003d(n\u003dt.ownerDocument)?void 0:n.body),r\u003dE(i),s\u003do?[r].concat(r.visualViewport||[],A(i)?i:[]):i,a\u003de.concat(s);return o?a:a.concat(Y(V(s)))}function K(t,e){return\"viewport\"\u003d\u003d\u003de?d(function(t){const e\u003dE(t),n\u003dI(t),i\u003de.visualViewport;let o\u003dn.clientWidth,r\u003dn.clientHeight,s\u003d0,a\u003d0;return i\u0026\u0026(o\u003di.width,r\u003di.height,Math.abs(e.innerWidth/i.scale-i.width)\u003c.01\u0026\u0026(s\u003di.offsetLeft,a\u003di.offsetTop)),{width:o,height:r,x:s,y:a}}(t)):L(e)?function(t){const e\u003dj(t),n\u003de.top+t.clientTop,i\u003de.left+t.clientLeft;return{top:n,left:i,x:i,y:n,right:i+t.clientWidth,bottom:n+t.clientHeight,width:t.clientWidth,height:t.clientHeight}}(e):d(function(t){var e;const n\u003dI(t),i\u003dq(t),o\u003dnull\u003d\u003d(e\u003dt.ownerDocument)?void 0:e.body,r\u003dD(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s\u003dD(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0);let a\u003d-i.scrollLeft+W(t);const l\u003d-i.scrollTop;return\"rtl\"\u003d\u003d\u003dO(o||n).direction\u0026\u0026(a+\u003dD(n.clientWidth,o?o.clientWidth:0)-r),{width:r,height:s,x:a,y:l}}(I(t)))}function G(t){const e\u003dY(V(t)),n\u003d[\"absolute\",\"fixed\"].includes(O(t).position)\u0026\u0026P(t)?Q(t):t;return L(n)?e.filter(t\u003d\u003eL(t)\u0026\u0026function(t,e){const n\u003dnull\u003d\u003de.getRootNode?void 0:e.getRootNode();if(t.contains(e))return!0;if(n\u0026\u0026N(n)){let n\u003de;do{if(n\u0026\u0026t\u003d\u003d\u003dn)return!0;n\u003dn.parentNode||n.host}while(n)}return!1}(t,n)\u0026\u0026\"body\"!\u003d\u003dB(t)):[]}const Z\u003d{getElementRects:t\u003d\u003e{let{reference:e,floating:n,strategy:i}\u003dt;return{reference:F(e,Q(n),i),floating:{...X(n),x:0,y:0}}},convertOffsetParentRelativeRectToViewportRelativeRect:t\u003d\u003efunction(t){let{rect:e,offsetParent:n,strategy:i}\u003dt;const o\u003dP(n),r\u003dI(n);if(n\u003d\u003d\u003dr)return e;let s\u003d{scrollLeft:0,scrollTop:0};const a\u003d{x:0,y:0};if((o||!o\u0026\u0026\"fixed\"!\u003d\u003di)\u0026\u0026((\"body\"!\u003d\u003dB(n)||A(r))\u0026\u0026(s\u003dq(n)),P(n))){const t\u003dj(n,!0);a.x\u003dt.x+n.clientLeft,a.y\u003dt.y+n.clientTop}return{...e,x:e.x-s.scrollLeft+a.x,y:e.y-s.scrollTop+a.y}}(t),getOffsetParent:t\u003d\u003e{let{element:e}\u003dt;return Q(e)},isElement:t\u003d\u003eL(t),getDocumentElement:t\u003d\u003e{let{element:e}\u003dt;return I(e)},getClippingClientRect:t\u003d\u003efunction(t){let{element:e,boundary:n,rootBoundary:i}\u003dt;const o\u003d[...\"clippingParents\"\u003d\u003d\u003dn?G(e):[].concat(n),i],r\u003do[0],s\u003do.reduce((t,n)\u003d\u003e{const i\u003dK(e,n);return t.top\u003dD(i.top,t.top),t.right\u003dH(i.right,t.right),t.bottom\u003dH(i.bottom,t.bottom),t.left\u003dD(i.left,t.left),t},K(e,r));return s.width\u003ds.right-s.left,s.height\u003ds.bottom-s.top,s.x\u003ds.left,s.y\u003ds.top,s}(t),getDimensions:t\u003d\u003e{let{element:e}\u003dt;return X(e)},getClientRects:t\u003d\u003e{let{element:e}\u003dt;return e.getClientRects()}},J\u003d(t,e,n)\u003d\u003e(async(t,e,n)\u003d\u003e{const{placement:i\u003d\"bottom\",strategy:o\u003d\"absolute\",middleware:r\u003d[],platform:s}\u003dn;let a\u003dawait s.getElementRects({reference:t,floating:e,strategy:o}),{x:l,y:u}\u003dc({...a,placement:i}),d\u003di,h\u003d{};for(let n\u003d0;n\u003cr.length;n++){0;const{name:p,fn:f}\u003dr[n],{x:m,y:v,data:g,reset:y}\u003dawait f({x:l,y:u,initialPlacement:i,placement:d,strategy:o,middlewareData:h,rects:a,platform:s,elements:{reference:t,floating:e}});l\u003dnull!\u003dm?m:l,u\u003dnull!\u003dv?v:u,h\u003d{...h,[p]:null!\u003dg?g:{}},y\u0026\u0026(\"object\"\u003d\u003dtypeof y\u0026\u0026(y.placement\u0026\u0026(d\u003dy.placement),y.rects\u0026\u0026(a\u003d!0\u003d\u003d\u003dy.rects?await s.getElementRects({reference:t,floating:e,strategy:o}):y.rects),({x:l,y:u}\u003dc({...a,placement:d}))),n\u003d-1)}return{x:l,y:u,placement:d,strategy:o,middlewareData:h}})(t,e,{platform:Z,...n});var tt\u003di(740),et\u003di.n(tt),nt\u003dObject.defineProperty,it\u003dObject.defineProperties,ot\u003dObject.getOwnPropertyDescriptors,rt\u003dObject.getOwnPropertySymbols,st\u003dObject.prototype.hasOwnProperty,at\u003dObject.prototype.propertyIsEnumerable,lt\u003d(t,e,n)\u003d\u003ee in t?nt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]\u003dn,ct\u003d(t,e)\u003d\u003e{for(var n in e||(e\u003d{}))st.call(e,n)\u0026\u0026lt(t,n,e[n]);if(rt)for(var n of rt(e))at.call(e,n)\u0026\u0026lt(t,n,e[n]);return t},ut\u003d(t,e)\u003d\u003eit(t,ot(e));const dt\u003d{disabled:!1,distance:5,skidding:0,container:\"body\",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:\"absolute\",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,themes:{tooltip:{placement:\"top\",triggers:[\"hover\",\"focus\",\"touch\"],hideTriggers:t\u003d\u003e[...t,\"click\"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:\"...\"},dropdown:{placement:\"bottom\",triggers:[\"click\"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:\"dropdown\",triggers:[\"hover\",\"focus\"],popperTriggers:[\"hover\",\"focus\"],delay:{show:0,hide:400}}}};function ht(t,e){let n,i\u003ddt.themes[t]||{};do{n\u003di[e],void 0\u003d\u003d\u003dn?i.$extend?i\u003ddt.themes[i.$extend]||{}:(i\u003dnull,n\u003ddt[e]):i\u003dnull}while(i);return n}let pt\u003d!1;if(\"undefined\"!\u003dtypeof window){pt\u003d!1;try{const t\u003dObject.defineProperty({},\"passive\",{get(){pt\u003d!0}});window.addEventListener(\"test\",null,t)}catch(t){}}let ft\u003d!1;\"undefined\"!\u003dtypeof window\u0026\u0026\"undefined\"!\u003dtypeof navigator\u0026\u0026(ft\u003d/iPad|iPhone|iPod/.test(navigator.userAgent)\u0026\u0026!window.MSStream);const mt\u003d[\"auto\",\"top\",\"bottom\",\"left\",\"right\"].reduce((t,e)\u003d\u003et.concat([e,e+\"-start\",e+\"-end\"]),[]),vt\u003d{hover:\"mouseenter\",focus:\"focus\",click:\"click\",touch:\"touchstart\"},gt\u003d{hover:\"mouseleave\",focus:\"blur\",click:\"click\",touch:\"touchend\"};function yt(){return new Promise(t\u003d\u003erequestAnimationFrame(()\u003d\u003e{requestAnimationFrame(t)}))}const wt\u003d[];let bt\u003dnull,_t\u003dfunction(){};function St(t){return function(){return ht(this.$props.theme,t)}}\"undefined\"!\u003dtypeof window\u0026\u0026(_t\u003dwindow.Element);const xt\u003d\"__floating-vue__popper\";var Ct\u003d()\u003d\u003e({name:\"VPopper\",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:St(\"disabled\")},positioningDisabled:{type:Boolean,default:St(\"positioningDisabled\")},placement:{type:String,default:St(\"placement\"),validator:t\u003d\u003emt.includes(t)},delay:{type:[String,Number,Object],default:St(\"delay\")},distance:{type:[Number,String],default:St(\"distance\")},skidding:{type:[Number,String],default:St(\"skidding\")},triggers:{type:Array,default:St(\"triggers\")},showTriggers:{type:[Array,Function],default:St(\"showTriggers\")},hideTriggers:{type:[Array,Function],default:St(\"hideTriggers\")},popperTriggers:{type:Array,default:St(\"popperTriggers\")},popperShowTriggers:{type:[Array,Function],default:St(\"popperShowTriggers\")},popperHideTriggers:{type:[Array,Function],default:St(\"popperHideTriggers\")},container:{type:[String,Object,_t,Boolean],default:St(\"container\")},boundary:{type:[String,_t],default:St(\"boundary\")},strategy:{type:String,validator:t\u003d\u003e[\"absolute\",\"fixed\"].includes(t),default:St(\"strategy\")},autoHide:{type:Boolean,default:St(\"autoHide\")},handleResize:{type:Boolean,default:St(\"handleResize\")},instantMove:{type:Boolean,default:St(\"instantMove\")},eagerMount:{type:Boolean,default:St(\"eagerMount\")},popperClass:{type:[String,Array,Object],default:St(\"popperClass\")},computeTransformOrigin:{type:Boolean,default:St(\"computeTransformOrigin\")},autoMinSize:{type:Boolean,default:St(\"autoMinSize\")},autoSize:{type:[Boolean,String],default:St(\"autoSize\")},autoMaxSize:{type:Boolean,default:St(\"autoMaxSize\")},autoBoundaryMaxSize:{type:Boolean,default:St(\"autoBoundaryMaxSize\")},preventOverflow:{type:Boolean,default:St(\"preventOverflow\")},overflowPadding:{type:[Number,String],default:St(\"overflowPadding\")},arrowPadding:{type:[Number,String],default:St(\"arrowPadding\")},arrowOverflow:{type:Boolean,default:St(\"arrowOverflow\")},flip:{type:Boolean,default:St(\"flip\")},shift:{type:Boolean,default:St(\"shift\")},shiftCrossAxis:{type:Boolean,default:St(\"shiftCrossAxis\")}},provide(){return{[xt]:{parentPopper:this}}},inject:{[xt]:{default:null}},data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:\"\",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null},shownChildren:new Set}},computed:{popperId(){return null!\u003dthis.ariaId?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:ut(ct({},this.classes),{popperClass:this.popperClass}),result:this.positioningDisabled?null:this.result}},parentPopper(){var t;return null\u003d\u003d(t\u003dthis[xt])?void 0:t.parentPopper}},watch:ct(ct({shown:\"$_autoShowHide\",disabled(t){t?this.dispose():this.init()},async container(){this.isShown\u0026\u0026(this.$_ensureTeleport(),await this.$_computePosition())}},[\"triggers\",\"positioningDisabled\"].reduce((t,e)\u003d\u003e(t[e]\u003d\"$_refreshListeners\",t),{})),[\"placement\",\"distance\",\"skidding\",\"boundary\",\"strategy\",\"overflowPadding\",\"arrowPadding\",\"preventOverflow\",\"shift\",\"shiftCrossAxis\",\"flip\"].reduce((t,e)\u003d\u003e(t[e]\u003d\"$_computePosition\",t),{})),created(){this.$_isDisposed\u003d!0,this.randomId\u003d\"popper_\"+[Math.random(),Date.now()].map(t\u003d\u003et.toString(36).substring(2,10)).join(\"_\"),this.autoMinSize\u0026\u0026console.warn(\u0027[floating-vue] `autoMinSize` option is deprecated. Use `autoSize\u003d\"min\"` instead.\u0027),this.autoMaxSize\u0026\u0026console.warn(\"[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.\")},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeDestroy(){this.dispose()},methods:{show({event:t\u003dnull,skipDelay:e\u003d!1,force:n\u003d!1}\u003d{}){var i,o;(null\u003d\u003d(i\u003dthis.parentPopper)?void 0:i.lockedChild)\u0026\u0026this.parentPopper.lockedChild!\u003d\u003dthis||(this.$_pendingHide\u003d!1,!n\u0026\u0026this.disabled||((null\u003d\u003d(o\u003dthis.parentPopper)?void 0:o.lockedChild)\u003d\u003d\u003dthis\u0026\u0026(this.parentPopper.lockedChild\u003dnull),this.$_scheduleShow(t,e),this.$emit(\"show\"),this.$_showFrameLocked\u003d!0,requestAnimationFrame(()\u003d\u003e{this.$_showFrameLocked\u003d!1})),this.$emit(\"update:shown\",!0))},hide({event:t\u003dnull,skipDelay:e\u003d!1}\u003d{}){var n;this.$_hideInProgress||(this.shownChildren.size\u003e0?this.$_pendingHide\u003d!0:this.$_isAimingPopper()?this.parentPopper\u0026\u0026(this.parentPopper.lockedChild\u003dthis,clearTimeout(this.parentPopper.lockedChildTimer),this.parentPopper.lockedChildTimer\u003dsetTimeout(()\u003d\u003e{this.parentPopper.lockedChild\u003d\u003d\u003dthis\u0026\u0026(this.parentPopper.lockedChild.hide({skipDelay:e}),this.parentPopper.lockedChild\u003dnull)},1e3)):((null\u003d\u003d(n\u003dthis.parentPopper)?void 0:n.lockedChild)\u003d\u003d\u003dthis\u0026\u0026(this.parentPopper.lockedChild\u003dnull),this.$_pendingHide\u003d!1,this.$_scheduleHide(t,e),this.$emit(\"hide\"),this.$emit(\"update:shown\",!1)))},init(){this.$_isDisposed\u0026\u0026(this.$_isDisposed\u003d!1,this.isMounted\u003d!1,this.$_events\u003d[],this.$_preventShow\u003d!1,this.$_referenceNode\u003dthis.referenceNode(),this.$_targetNodes\u003dthis.targetNodes().filter(t\u003d\u003et.nodeType\u003d\u003d\u003dt.ELEMENT_NODE),this.$_popperNode\u003dthis.popperNode(),this.$_innerNode\u003dthis.$_popperNode.querySelector(\".v-popper__inner\"),this.$_arrowNode\u003dthis.$_popperNode.querySelector(\".v-popper__arrow-container\"),this.$_swapTargetAttrs(\"title\",\"data-original-title\"),this.$_detachPopperNode(),this.triggers.length\u0026\u0026this.$_addEventListeners(),this.shown\u0026\u0026this.show())},dispose(){this.$_isDisposed||(this.$_isDisposed\u003d!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted\u003d!1,this.isShown\u003d!1,this.$_updateParentShownChildren(!1),this.$_swapTargetAttrs(\"data-original-title\",\"title\"),this.$emit(\"dispose\"))},async onResize(){this.isShown\u0026\u0026(await this.$_computePosition(),this.$emit(\"resize\"))},async $_computePosition(){var t;if(this.$_isDisposed||this.positioningDisabled)return;const e\u003d{strategy:this.strategy,middleware:[]};(this.distance||this.skidding)\u0026\u0026e.middleware.push($({mainAxis:this.distance,crossAxis:this.skidding}));const n\u003dthis.placement.startsWith(\"auto\");if(n?e.middleware.push(x({alignment:null!\u003d(t\u003dthis.placement.split(\"-\")[1])?t:\"\"})):e.placement\u003dthis.placement,this.preventOverflow\u0026\u0026(this.shift\u0026\u0026e.middleware.push(function(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"shift\",options:t,async fn(e){const{x:n,y:i,placement:o}\u003de,{mainAxis:s\u003d!0,crossAxis:l\u003d!1,limiter:c\u003d{fn:t\u003d\u003e{let{x:e,y:n}\u003dt;return{x:e,y:n}}},...u}\u003dt,d\u003d{x:n,y:i},p\u003dawait h(e,u),f\u003da(r(o)),v\u003dk(f);let g\u003dd[f],y\u003dd[v];if(s){const t\u003d\"y\"\u003d\u003d\u003df?\"bottom\":\"right\";g\u003dm(g+p[\"y\"\u003d\u003d\u003df?\"top\":\"left\"],g,g-p[t])}if(l){const t\u003d\"y\"\u003d\u003d\u003dv?\"bottom\":\"right\";y\u003dm(y+p[\"y\"\u003d\u003d\u003dv?\"top\":\"left\"],y,y-p[t])}const w\u003dc.fn({...e,[f]:g,[v]:y});return{...w,data:{x:w.x-n,y:w.y-i}}}}}({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!n\u0026\u0026this.flip\u0026\u0026e.middleware.push(C({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push((t\u003d\u003e({name:\"arrow\",options:t,async fn(e){const{element:n,padding:i\u003d0}\u003dnull!\u003dt?t:{},{x:o,y:s,placement:c,rects:d,platform:h}\u003de;if(null\u003d\u003dn)return{};const p\u003du(i),f\u003d{x:o,y:s},v\u003da(r(c)),g\u003dl(v),y\u003dawait h.getDimensions({element:n}),w\u003d\"y\"\u003d\u003d\u003dv?\"top\":\"left\",b\u003d\"y\"\u003d\u003d\u003dv?\"bottom\":\"right\",_\u003dd.reference[g]+d.reference[v]-f[v]-d.floating[g],S\u003df[v]-d.reference[v],x\u003dawait h.getOffsetParent({element:n}),C\u003dx?\"y\"\u003d\u003d\u003dv?x.clientHeight||0:x.clientWidth||0:0,$\u003d_/2-S/2,k\u003dp[w],T\u003dC-y[g]-p[b],E\u003dC/2-y[g]/2+$,O\u003dm(k,E,T);return{data:{[v]:O,centerOffset:E-O}}}}))({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow\u0026\u0026e.middleware.push({name:\"arrowOverflow\",fn:({placement:t,rects:e,middlewareData:n})\u003d\u003e{let i;const{centerOffset:o}\u003dn.arrow;return i\u003dt.startsWith(\"top\")||t.startsWith(\"bottom\")?Math.abs(o)\u003ee.reference.width/2:Math.abs(o)\u003ee.reference.height/2,{data:{overflow:i}}}}),this.autoMinSize||this.autoSize){const t\u003dthis.autoSize?this.autoSize:this.autoMinSize?\"min\":null;e.middleware.push({name:\"autoSize\",fn:({rects:e,placement:n,middlewareData:i})\u003d\u003e{var o;if(null\u003d\u003d(o\u003di.autoSize)?void 0:o.skip)return{};let r,s;return n.startsWith(\"top\")||n.startsWith(\"bottom\")?r\u003de.reference.width:s\u003de.reference.height,this.$_innerNode.style[\"min\"\u003d\u003d\u003dt?\"minWidth\":\"max\"\u003d\u003d\u003dt?\"maxWidth\":\"width\"]\u003dnull!\u003dr?r+\"px\":null,this.$_innerNode.style[\"min\"\u003d\u003d\u003dt?\"minHeight\":\"max\"\u003d\u003d\u003dt?\"maxHeight\":\"height\"]\u003dnull!\u003ds?s+\"px\":null,{data:{skip:!0},reset:{rects:!0}}}})}(this.autoMaxSize||this.autoBoundaryMaxSize)\u0026\u0026(this.$_innerNode.style.maxWidth\u003dnull,this.$_innerNode.style.maxHeight\u003dnull,e.middleware.push(function(t){return void 0\u003d\u003d\u003dt\u0026\u0026(t\u003d{}),{name:\"size\",options:t,async fn(e){var n;const{placement:i,rects:o,middlewareData:a}\u003de,{apply:l,...c}\u003dt;if(null!\u003d(n\u003da.size)\u0026\u0026n.skip)return{};const u\u003dawait h(e,c),d\u003dr(i),p\u003d\"end\"\u003d\u003d\u003ds(i);let m,v;\"top\"\u003d\u003d\u003dd||\"bottom\"\u003d\u003d\u003dd?(m\u003dd,v\u003dp?\"left\":\"right\"):(v\u003dd,m\u003dp?\"top\":\"bottom\");const g\u003df(u.left,0),y\u003df(u.right,0),w\u003df(u.top,0),b\u003df(u.bottom,0),_\u003d{height:o.floating.height-([\"left\",\"right\"].includes(i)?2*(0!\u003d\u003dw||0!\u003d\u003db?w+b:f(u.top,u.bottom)):u[m]),width:o.floating.width-([\"top\",\"bottom\"].includes(i)?2*(0!\u003d\u003dg||0!\u003d\u003dy?g+y:f(u.left,u.right)):u[v])};return null\u003d\u003dl||l({..._,...o}),{data:{skip:!0},reset:{rects:!0}}}}}({boundary:this.boundary,padding:this.overflowPadding,apply:({width:t,height:e})\u003d\u003e{this.$_innerNode.style.maxWidth\u003dnull!\u003dt?t+\"px\":null,this.$_innerNode.style.maxHeight\u003dnull!\u003de?e+\"px\":null}})));const i\u003dawait J(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:i.x,y:i.y,placement:i.placement,strategy:i.strategy,arrow:ct(ct({},i.middlewareData.arrow),i.middlewareData.arrowOverflow)})},$_scheduleShow(t\u003dnull,e\u003d!1){if(this.$_updateParentShownChildren(!0),this.$_hideInProgress\u003d!1,clearTimeout(this.$_scheduleTimer),bt\u0026\u0026this.instantMove\u0026\u0026bt.instantMove\u0026\u0026bt!\u003d\u003dthis.parentPopper)return bt.$_applyHide(!0),void this.$_applyShow(!0);e?this.$_applyShow():this.$_scheduleTimer\u003dsetTimeout(this.$_applyShow.bind(this),this.$_computeDelay(\"show\"))},$_scheduleHide(t\u003dnull,e\u003d!1){this.shownChildren.size\u003e0?this.$_pendingHide\u003d!0:(this.$_updateParentShownChildren(!1),this.$_hideInProgress\u003d!0,clearTimeout(this.$_scheduleTimer),this.isShown\u0026\u0026(bt\u003dthis),e?this.$_applyHide():this.$_scheduleTimer\u003dsetTimeout(this.$_applyHide.bind(this),this.$_computeDelay(\"hide\")))},$_computeDelay(t){const e\u003dthis.delay;return parseInt(e\u0026\u0026e[t]||e||0)},async $_applyShow(t\u003d!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition\u003dt,this.isShown||(this.$_ensureTeleport(),await yt(),await this.$_computePosition(),await this.$_applyShowEffect(),this.positioningDisabled||this.$_registerEventListeners([...Y(this.$_referenceNode),...Y(this.$_popperNode)],\"scroll\",()\u003d\u003e{this.$_computePosition()}))},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const t\u003dthis.$_referenceNode.getBoundingClientRect(),e\u003dthis.$_popperNode.querySelector(\".v-popper__wrapper\"),n\u003de.parentNode.getBoundingClientRect(),i\u003dt.x+t.width/2-(n.left+e.offsetLeft),o\u003dt.y+t.height/2-(n.top+e.offsetTop);this.result.transformOrigin\u003d`${i}px ${o}px`}this.isShown\u003d!0,this.$_applyAttrsToTarget({\"aria-describedby\":this.popperId,\"data-popper-shown\":\"\"});const t\u003dthis.showGroup;if(t){let e;for(let n\u003d0;n\u003cwt.length;n++)e\u003dwt[n],e.showGroup!\u003d\u003dt\u0026\u0026(e.hide(),e.$emit(\"close-group\"))}wt.push(this),this.$emit(\"apply-show\"),this.classes.showFrom\u003d!0,this.classes.showTo\u003d!1,this.classes.hideFrom\u003d!1,this.classes.hideTo\u003d!1,await yt(),this.classes.showFrom\u003d!1,this.classes.showTo\u003d!0},async $_applyHide(t\u003d!1){if(this.shownChildren.size\u003e0)return this.$_pendingHide\u003d!0,void(this.$_hideInProgress\u003d!1);if(clearTimeout(this.$_scheduleTimer),!this.isShown)return;this.skipTransition\u003dt,function(t,e){const n\u003dt.indexOf(e);-1!\u003d\u003dn\u0026\u0026t.splice(n,1)}(wt,this),bt\u003d\u003d\u003dthis\u0026\u0026(bt\u003dnull),this.isShown\u003d!1,this.$_applyAttrsToTarget({\"aria-describedby\":void 0,\"data-popper-shown\":void 0}),clearTimeout(this.$_disposeTimer);const e\u003dht(this.theme,\"disposeTimeout\");null!\u003d\u003de\u0026\u0026(this.$_disposeTimer\u003dsetTimeout(()\u003d\u003e{this.$_popperNode\u0026\u0026(this.$_detachPopperNode(),this.isMounted\u003d!1)},e)),this.$_removeEventListeners(\"scroll\"),this.$emit(\"apply-hide\"),this.classes.showFrom\u003d!1,this.classes.showTo\u003d!1,this.classes.hideFrom\u003d!0,this.classes.hideTo\u003d!1,await yt(),this.classes.hideFrom\u003d!1,this.classes.hideTo\u003d!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.$_isDisposed)return;let t\u003dthis.container;if(\"string\"\u003d\u003dtypeof t?t\u003dwindow.document.querySelector(t):!1\u003d\u003d\u003dt\u0026\u0026(t\u003dthis.$_targetNodes[0].parentNode),!t)throw new Error(\"No container for popover: \"+this.container);t.appendChild(this.$_popperNode),this.isMounted\u003d!0},$_addEventListeners(){const t\u003dt\u003d\u003e{this.isShown\u0026\u0026!this.$_hideInProgress||(t.usedByTooltip\u003d!0,!this.$_preventShow\u0026\u0026this.show({event:t}))};this.$_registerTriggerListeners(this.$_targetNodes,vt,this.triggers,this.showTriggers,t),this.$_registerTriggerListeners([this.$_popperNode],vt,this.popperTriggers,this.popperShowTriggers,t);const e\u003dt\u003d\u003e{t.usedByTooltip||this.hide({event:t})};this.$_registerTriggerListeners(this.$_targetNodes,gt,this.triggers,this.hideTriggers,e),this.$_registerTriggerListeners([this.$_popperNode],gt,this.popperTriggers,this.popperHideTriggers,e)},$_registerEventListeners(t,e,n){this.$_events.push({targetNodes:t,eventType:e,handler:n}),t.forEach(t\u003d\u003et.addEventListener(e,n,pt?{passive:!0}:void 0))},$_registerTriggerListeners(t,e,n,i,o){let r\u003dn;null!\u003di\u0026\u0026(r\u003d\"function\"\u003d\u003dtypeof i?i(r):i),r.forEach(n\u003d\u003e{const i\u003de[n];i\u0026\u0026this.$_registerEventListeners(t,i,o)})},$_removeEventListeners(t){const e\u003d[];this.$_events.forEach(n\u003d\u003e{const{targetNodes:i,eventType:o,handler:r}\u003dn;t\u0026\u0026t!\u003d\u003do?e.push(n):i.forEach(t\u003d\u003et.removeEventListener(o,r))}),this.$_events\u003de},$_refreshListeners(){this.$_isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())},$_handleGlobalClose(t,e\u003d!1){this.$_showFrameLocked||(this.hide({event:t}),t.closePopover?this.$emit(\"close-directive\"):this.$emit(\"auto-hide\"),e\u0026\u0026(this.$_preventShow\u003d!0,setTimeout(()\u003d\u003e{this.$_preventShow\u003d!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode\u0026\u0026this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(t,e){for(const n of this.$_targetNodes){const i\u003dn.getAttribute(t);i\u0026\u0026(n.removeAttribute(t),n.setAttribute(e,i))}},$_applyAttrsToTarget(t){for(const e of this.$_targetNodes)for(const n in t){const i\u003dt[n];null\u003d\u003di?e.removeAttribute(n):e.setAttribute(n,i)}},$_updateParentShownChildren(t){let e\u003dthis.parentPopper;for(;e;)t?e.shownChildren.add(this.randomId):(e.shownChildren.delete(this.randomId),e.$_pendingHide\u0026\u0026e.hide()),e\u003de.parentPopper},$_isAimingPopper(){const t\u003dthis.$el.getBoundingClientRect();if(Pt\u003e\u003dt.left\u0026\u0026Pt\u003c\u003dt.right\u0026\u0026Lt\u003e\u003dt.top\u0026\u0026Lt\u003c\u003dt.bottom){const t\u003dthis.$_popperNode.getBoundingClientRect(),e\u003dPt-Ot,n\u003dLt-Bt,i\u003dt.left+t.width/2-Ot+(t.top+t.height/2)-Bt+t.width+t.height,o\u003dOt+e*i,r\u003dBt+n*i;return Nt(Ot,Bt,o,r,t.left,t.top,t.left,t.bottom)||Nt(Ot,Bt,o,r,t.left,t.top,t.right,t.top)||Nt(Ot,Bt,o,r,t.right,t.top,t.right,t.bottom)||Nt(Ot,Bt,o,r,t.left,t.bottom,t.right,t.bottom)}return!1}},render(){return this.$scopedSlots.default(this.slotData)[0]}});function $t(t){for(let e\u003d0;e\u003cwt.length;e++){const n\u003dwt[e];try{const e\u003dn.popperNode();n.$_mouseDownContains\u003de.contains(t.target)}catch(t){}}}function kt(t,e\u003d!1){const n\u003d{};for(let i\u003dwt.length-1;i\u003e\u003d0;i--){const o\u003dwt[i];try{const i\u003do.$_containsGlobalTarget\u003dTt(o,t);o.$_pendingHide\u003d!1,requestAnimationFrame(()\u003d\u003e{if(o.$_pendingHide\u003d!1,!n[o.randomId]\u0026\u0026Et(o,i,t)){if(o.$_handleGlobalClose(t,e),!t.closeAllPopover\u0026\u0026t.closePopover\u0026\u0026i){let t\u003do.parentPopper;for(;t;)n[t.randomId]\u003d!0,t\u003dt.parentPopper;return}let r\u003do.parentPopper;for(;r\u0026\u0026Et(r,r.$_containsGlobalTarget,t);)r.$_handleGlobalClose(t,e),r\u003dr.parentPopper}})}catch(t){}}}function Tt(t,e){const n\u003dt.popperNode();return t.$_mouseDownContains||n.contains(e.target)}function Et(t,e,n){return n.closeAllPopover||n.closePopover\u0026\u0026e||t.autoHide\u0026\u0026!e}\"undefined\"!\u003dtypeof document\u0026\u0026\"undefined\"!\u003dtypeof window\u0026\u0026(ft?(document.addEventListener(\"touchstart\",$t,!pt||{passive:!0,capture:!0}),document.addEventListener(\"touchend\",(function(t){kt(t,!0)}),!pt||{passive:!0,capture:!0})):(window.addEventListener(\"mousedown\",$t,!0),window.addEventListener(\"click\",(function(t){kt(t)}),!0)),window.addEventListener(\"resize\",(function(t){for(let e\u003d0;e\u003cwt.length;e++){wt[e].$_computePosition(t)}})));let Ot\u003d0,Bt\u003d0,Pt\u003d0,Lt\u003d0;function Nt(t,e,n,i,o,r,s,a){const l\u003d((s-o)*(e-r)-(a-r)*(t-o))/((a-r)*(n-t)-(s-o)*(i-e)),c\u003d((n-t)*(e-r)-(i-e)*(t-o))/((a-r)*(n-t)-(s-o)*(i-e));return l\u003e\u003d0\u0026\u0026l\u003c\u003d1\u0026\u0026c\u003e\u003d0\u0026\u0026c\u003c\u003d1}var At;function zt(){zt.init||(zt.init\u003d!0,At\u003d-1!\u003d\u003dfunction(){var t\u003dwindow.navigator.userAgent,e\u003dt.indexOf(\"MSIE \");if(e\u003e0)return parseInt(t.substring(e+5,t.indexOf(\".\",e)),10);if(t.indexOf(\"Trident/\")\u003e0){var n\u003dt.indexOf(\"rv:\");return parseInt(t.substring(n+3,t.indexOf(\".\",n)),10)}var i\u003dt.indexOf(\"Edge/\");return i\u003e0?parseInt(t.substring(i+5,t.indexOf(\".\",i)),10):-1}())}function Mt(t,e,n,i,o,r,s,a,l,c){\"boolean\"!\u003dtypeof s\u0026\u0026(l\u003da,a\u003ds,s\u003d!1);var u,d\u003d\"function\"\u003d\u003dtypeof n?n.options:n;if(t\u0026\u0026t.render\u0026\u0026(d.render\u003dt.render,d.staticRenderFns\u003dt.staticRenderFns,d._compiled\u003d!0,o\u0026\u0026(d.functional\u003d!0)),i\u0026\u0026(d._scopeId\u003di),r?(u\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),e\u0026\u0026e.call(this,l(t)),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(r)},d._ssrRegister\u003du):e\u0026\u0026(u\u003ds?function(t){e.call(this,c(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),u)if(d.functional){var h\u003dd.render;d.render\u003dfunction(t,e){return u.call(e),h(t,e)}}else{var p\u003dd.beforeCreate;d.beforeCreate\u003dp?[].concat(p,u):[u]}return n}\"undefined\"!\u003dtypeof window\u0026\u0026window.addEventListener(\"mousemove\",t\u003d\u003e{Ot\u003dPt,Bt\u003dLt,Pt\u003dt.clientX,Lt\u003dt.clientY},pt?{passive:!0}:void 0);var Ht\u003d{name:\"ResizeObserver\",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var t\u003dthis;zt(),this.$nextTick((function(){t._w\u003dt.$el.offsetWidth,t._h\u003dt.$el.offsetHeight,t.emitOnMount\u0026\u0026t.emitSize()}));var e\u003ddocument.createElement(\"object\");this._resizeObject\u003de,e.setAttribute(\"aria-hidden\",\"true\"),e.setAttribute(\"tabindex\",-1),e.onload\u003dthis.addResizeHandlers,e.type\u003d\"text/html\",At\u0026\u0026this.$el.appendChild(e),e.data\u003d\"about:blank\",At||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth\u0026\u0026this._w!\u003d\u003dthis.$el.offsetWidth||!this.ignoreHeight\u0026\u0026this._h!\u003d\u003dthis.$el.offsetHeight)\u0026\u0026(this._w\u003dthis.$el.offsetWidth,this._h\u003dthis.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit(\"notify\",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject\u0026\u0026this._resizeObject.onload\u0026\u0026(!At\u0026\u0026this._resizeObject.contentDocument\u0026\u0026this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload\u003dnull,this._resizeObject\u003dnull)}}},Dt\u003dfunction(){var t\u003dthis.$createElement;return(this._self._c||t)(\"div\",{staticClass:\"resize-observer\",attrs:{tabindex:\"-1\"}})};Dt._withStripped\u003d!0;var Rt\u003dMt({render:Dt,staticRenderFns:[]},void 0,Ht,\"data-v-8859cc6c\",!1,void 0,!1,void 0,void 0,void 0);var jt\u003d{version:\"1.0.1\",install:function(t){t.component(\"resize-observer\",Rt),t.component(\"ResizeObserver\",Rt)}},It\u003dnull;\"undefined\"!\u003dtypeof window?It\u003dwindow.Vue:void 0!\u003d\u003di.g\u0026\u0026(It\u003di.g.Vue),It\u0026\u0026It.use(jt);var qt\u003d{computed:{themeClass(){return function(t){const e\u003d[t];let n\u003ddt.themes[t]||{};do{n.$extend\u0026\u0026!n.$resetCss?(e.push(n.$extend),n\u003ddt.themes[n.$extend]||{}):n\u003dnull}while(n);return e.map(t\u003d\u003e\"v-popper--theme-\"+t)}(this.theme)}}},Wt\u003d{name:\"VPopperContent\",components:{ResizeObserver:Rt},mixins:[qt],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},methods:{toPx:t\u003d\u003enull\u003d\u003dt||isNaN(t)?null:t+\"px\"}};function Ft(t,e,n,i,o,r,s,a){var l,c\u003d\"function\"\u003d\u003dtypeof t?t.options:t;if(e\u0026\u0026(c.render\u003de,c.staticRenderFns\u003dn,c._compiled\u003d!0),i\u0026\u0026(c.functional\u003d!0),r\u0026\u0026(c._scopeId\u003d\"data-v-\"+r),s?(l\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),o\u0026\u0026o.call(this,t),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(s)},c._ssrRegister\u003dl):o\u0026\u0026(l\u003da?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(c.functional){c._injectStyles\u003dl;var u\u003dc.render;c.render\u003dfunction(t,e){return l.call(e),u(t,e)}}else{var d\u003dc.beforeCreate;c.beforeCreate\u003dd?[].concat(d,l):[l]}return{exports:t,options:c}}const Vt\u003d{};var Ut\u003dFt(Wt,(function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{ref:\"popover\",staticClass:\"v-popper__popper\",class:[t.themeClass,t.classes.popperClass,{\"v-popper__popper--shown\":t.shown,\"v-popper__popper--hidden\":!t.shown,\"v-popper__popper--show-from\":t.classes.showFrom,\"v-popper__popper--show-to\":t.classes.showTo,\"v-popper__popper--hide-from\":t.classes.hideFrom,\"v-popper__popper--hide-to\":t.classes.hideTo,\"v-popper__popper--skip-transition\":t.skipTransition,\"v-popper__popper--arrow-overflow\":t.result\u0026\u0026t.result.arrow.overflow,\"v-popper__popper--no-positioning\":!t.result}],style:t.result?{position:t.result.strategy,transform:\"translate3d(\"+Math.round(t.result.x)+\"px,\"+Math.round(t.result.y)+\"px,0)\"}:void 0,attrs:{id:t.popperId,\"aria-hidden\":t.shown?\"false\":\"true\",tabindex:t.autoHide?0:void 0,\"data-popper-placement\":t.result?t.result.placement:void 0},on:{keyup:function(e){if(!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"]))return null;t.autoHide\u0026\u0026t.$emit(\"hide\")}}},[n(\"div\",{staticClass:\"v-popper__backdrop\",on:{click:function(e){t.autoHide\u0026\u0026t.$emit(\"hide\")}}}),n(\"div\",{staticClass:\"v-popper__wrapper\",style:t.result?{transformOrigin:t.result.transformOrigin}:void 0},[n(\"div\",{ref:\"inner\",staticClass:\"v-popper__inner\"},[t.mounted?[n(\"div\",[t._t(\"default\")],2),t.handleResize?n(\"ResizeObserver\",{on:{notify:function(e){return t.$emit(\"resize\",e)}}}):t._e()]:t._e()],2),n(\"div\",{ref:\"arrow\",staticClass:\"v-popper__arrow-container\",style:t.result?{left:t.toPx(t.result.arrow.x),top:t.toPx(t.result.arrow.y)}:void 0},[n(\"div\",{staticClass:\"v-popper__arrow-outer\"}),n(\"div\",{staticClass:\"v-popper__arrow-inner\"})])])])}),[],!1,Qt,null,null,null);function Qt(t){for(let t in Vt)this[t]\u003dVt[t]}var Xt\u003dfunction(){return Ut.exports}(),Yt\u003d{methods:{show(...t){return this.$refs.popper.show(...t)},hide(...t){return this.$refs.popper.hide(...t)},dispose(...t){return this.$refs.popper.dispose(...t)},onResize(...t){return this.$refs.popper.onResize(...t)}}},Kt\u003d{name:\"VPopperWrapper\",components:{Popper:Ct(),PopperContent:Xt},mixins:[Yt,qt],inheritAttrs:!1,props:{theme:{type:String,default(){return this.$options.vPopperTheme}}},methods:{getTargetNodes(){return Array.from(this.$refs.reference.children).filter(t\u003d\u003et!\u003d\u003dthis.$refs.popperContent.$el)}}};const Gt\u003d{};var Zt\u003dFt(Kt,(function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"Popper\",t._g(t._b({ref:\"popper\",attrs:{theme:t.theme,\"target-nodes\":t.getTargetNodes,\"reference-node\":function(){return t.$refs.reference},\"popper-node\":function(){return t.$refs.popperContent.$el}},scopedSlots:t._u([{key:\"default\",fn:function(e){var i\u003de.popperId,o\u003de.isShown,r\u003de.shouldMountContent,s\u003de.skipTransition,a\u003de.autoHide,l\u003de.show,c\u003de.hide,u\u003de.handleResize,d\u003de.onResize,h\u003de.classes,p\u003de.result;return[n(\"div\",{ref:\"reference\",staticClass:\"v-popper\",class:[t.themeClass,{\"v-popper--shown\":o}]},[t._t(\"default\",null,{shown:o,show:l,hide:c}),n(\"PopperContent\",{ref:\"popperContent\",attrs:{\"popper-id\":i,theme:t.theme,shown:o,mounted:r,\"skip-transition\":s,\"auto-hide\":a,\"handle-resize\":u,classes:h,result:p},on:{hide:c,resize:d}},[t._t(\"popper\",null,{shown:o,hide:c})],2)],2)]}}],null,!0)},\"Popper\",t.$attrs,!1),t.$listeners))}),[],!1,Jt,null,null,null);function Jt(t){for(let t in Gt)this[t]\u003dGt[t]}var te\u003dfunction(){return Zt.exports}(),ee\u003dut(ct({},te),{name:\"VDropdown\",vPopperTheme:\"dropdown\"});const ne\u003d{};var ie\u003dFt(ee,void 0,void 0,!1,oe,null,null,null);function oe(t){for(let t in ne)this[t]\u003dne[t]}var re\u003dfunction(){return ie.exports}(),se\u003dut(ct({},te),{name:\"VMenu\",vPopperTheme:\"menu\"});const ae\u003d{};var le\u003dFt(se,void 0,void 0,!1,ce,null,null,null);function ce(t){for(let t in ae)this[t]\u003dae[t]}var ue\u003dfunction(){return le.exports}(),de\u003dut(ct({},te),{name:\"VTooltip\",vPopperTheme:\"tooltip\"});const he\u003d{};var pe\u003dFt(de,void 0,void 0,!1,fe,null,null,null);function fe(t){for(let t in he)this[t]\u003dhe[t]}var me\u003dfunction(){return pe.exports}(),ve\u003d{name:\"VTooltipDirective\",components:{Popper:Ct(),PopperContent:Xt},mixins:[Yt],inheritAttrs:!1,props:{theme:{type:String,default:\"tooltip\"},html:{type:Boolean,default(){return ht(this.theme,\"html\")}},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default(){return ht(this.theme,\"loadingContent\")}}},data:()\u003d\u003e({asyncContent:null}),computed:{isContentAsync(){return\"function\"\u003d\u003dtypeof this.content},loading(){return this.isContentAsync\u0026\u0026null\u003d\u003dthis.asyncContent},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(t){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId\u003d0},methods:{fetchContent(t){if(\"function\"\u003d\u003dtypeof this.content\u0026\u0026this.$_isShown\u0026\u0026(t||!this.$_loading\u0026\u0026null\u003d\u003dthis.asyncContent)){this.asyncContent\u003dnull,this.$_loading\u003d!0;const t\u003d++this.$_fetchId,e\u003dthis.content(this);e.then?e.then(e\u003d\u003ethis.onResult(t,e)):this.onResult(t,e)}},onResult(t,e){t\u003d\u003d\u003dthis.$_fetchId\u0026\u0026(this.$_loading\u003d!1,this.asyncContent\u003de)},onShow(){this.$_isShown\u003d!0,this.fetchContent()},onHide(){this.$_isShown\u003d!1}}};const ge\u003d{};var ye\u003dFt(ve,(function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"Popper\",t._g(t._b({ref:\"popper\",attrs:{theme:t.theme,\"popper-node\":function(){return t.$refs.popperContent.$el}},on:{\"apply-show\":t.onShow,\"apply-hide\":t.onHide},scopedSlots:t._u([{key:\"default\",fn:function(e){var i\u003de.popperId,o\u003de.isShown,r\u003de.shouldMountContent,s\u003de.skipTransition,a\u003de.autoHide,l\u003de.hide,c\u003de.handleResize,u\u003de.onResize,d\u003de.classes,h\u003de.result;return[n(\"PopperContent\",{ref:\"popperContent\",class:{\"v-popper--tooltip-loading\":t.loading},attrs:{\"popper-id\":i,theme:t.theme,shown:o,mounted:r,\"skip-transition\":s,\"auto-hide\":a,\"handle-resize\":c,classes:d,result:h},on:{hide:l,resize:u}},[t.html?n(\"div\",{domProps:{innerHTML:t._s(t.finalContent)}}):n(\"div\",{domProps:{textContent:t._s(t.finalContent)}})])]}}])},\"Popper\",t.$attrs,!1),t.$listeners))}),[],!1,we,null,null,null);function we(t){for(let t in ge)this[t]\u003dge[t]}var be\u003dfunction(){return ye.exports}();function _e(t,e,n){let i;const o\u003dtypeof e;return i\u003d\"string\"\u003d\u003d\u003do?{content:e}:e\u0026\u0026\"object\"\u003d\u003d\u003do?e:{content:!1},i.placement\u003dfunction(t,e){let n\u003dt.placement;if(!n\u0026\u0026e)for(const t of mt)e[t]\u0026\u0026(n\u003dt);return n||(n\u003dht(t.theme||\"tooltip\",\"placement\")),n}(i,n),i.targetNodes\u003d()\u003d\u003e[t],i.referenceNode\u003d()\u003d\u003et,i}function Se(t,e,n){const i\u003d_e(t,e,n),o\u003dt.$_popper\u003dnew(et())({mixins:[Yt],data:()\u003d\u003e({options:i}),render(t){const e\u003dthis.options,{theme:n,html:i,content:o,loadingContent:r}\u003de,s\u003d((t,e)\u003d\u003e{var n\u003d{};for(var i in t)st.call(t,i)\u0026\u0026e.indexOf(i)\u003c0\u0026\u0026(n[i]\u003dt[i]);if(null!\u003dt\u0026\u0026rt)for(var i of rt(t))e.indexOf(i)\u003c0\u0026\u0026at.call(t,i)\u0026\u0026(n[i]\u003dt[i]);return n})(e,[\"theme\",\"html\",\"content\",\"loadingContent\"]);return t(be,{props:{theme:n,html:i,content:o,loadingContent:r},attrs:s,ref:\"popper\"})},devtools:{hide:!0}}),r\u003ddocument.createElement(\"div\");return document.body.appendChild(r),o.$mount(r),t.classList\u0026\u0026t.classList.add(\"v-popper--has-tooltip\"),o}function xe(t){t.$_popper\u0026\u0026(t.$_popper.$destroy(),delete t.$_popper,delete t.$_popperOldShown),t.classList\u0026\u0026t.classList.remove(\"v-popper--has-tooltip\")}function Ce(t,{value:e,oldValue:n,modifiers:i}){const o\u003d_e(t,e,i);if(!o.content||ht(o.theme||\"tooltip\",\"disabled\"))xe(t);else{let n;t.$_popper?(n\u003dt.$_popper,n.options\u003do):n\u003dSe(t,e,i),void 0!\u003d\u003de.shown\u0026\u0026e.shown!\u003d\u003dt.$_popperOldShown\u0026\u0026(t.$_popperOldShown\u003de.shown,e.shown?n.show():n.hide())}}var $e\u003d{bind:Ce,update:Ce,unbind(t){xe(t)}};function ke(t){t.addEventListener(\"click\",Ee),t.addEventListener(\"touchstart\",Oe,!!pt\u0026\u0026{passive:!0})}function Te(t){t.removeEventListener(\"click\",Ee),t.removeEventListener(\"touchstart\",Oe),t.removeEventListener(\"touchend\",Be),t.removeEventListener(\"touchcancel\",Pe)}function Ee(t){const e\u003dt.currentTarget;t.closePopover\u003d!e.$_vclosepopover_touch,t.closeAllPopover\u003de.$_closePopoverModifiers\u0026\u0026!!e.$_closePopoverModifiers.all}function Oe(t){if(1\u003d\u003d\u003dt.changedTouches.length){const e\u003dt.currentTarget;e.$_vclosepopover_touch\u003d!0;const n\u003dt.changedTouches[0];e.$_vclosepopover_touchPoint\u003dn,e.addEventListener(\"touchend\",Be),e.addEventListener(\"touchcancel\",Pe)}}function Be(t){const e\u003dt.currentTarget;if(e.$_vclosepopover_touch\u003d!1,1\u003d\u003d\u003dt.changedTouches.length){const n\u003dt.changedTouches[0],i\u003de.$_vclosepopover_touchPoint;t.closePopover\u003dMath.abs(n.screenY-i.screenY)\u003c20\u0026\u0026Math.abs(n.screenX-i.screenX)\u003c20,t.closeAllPopover\u003de.$_closePopoverModifiers\u0026\u0026!!e.$_closePopoverModifiers.all}}function Pe(t){t.currentTarget.$_vclosepopover_touch\u003d!1}var Le\u003d{bind(t,{value:e,modifiers:n}){t.$_closePopoverModifiers\u003dn,(void 0\u003d\u003d\u003de||e)\u0026\u0026ke(t)},update(t,{value:e,oldValue:n,modifiers:i}){t.$_closePopoverModifiers\u003di,e!\u003d\u003dn\u0026\u0026(void 0\u003d\u003d\u003de||e?ke(t):Te(t))},unbind(t){Te(t)}};const Ne\u003dre,Ae\u003dme;const ze\u003d{version:\"1.0.0-beta.14\",install:function(t,e\u003d{}){t.$_vTooltipInstalled||(t.$_vTooltipInstalled\u003d!0,function t(e,n){for(const i in n)Object.prototype.hasOwnProperty.call(n,i)\u0026\u0026(\"object\"\u003d\u003dtypeof n[i]\u0026\u0026e[i]?t(e[i],n[i]):e[i]\u003dn[i])}(dt,e),t.directive(\"tooltip\",$e),t.directive(\"close-popper\",Le),t.component(\"v-tooltip\",me),t.component(\"VTooltip\",me),t.component(\"v-dropdown\",re),t.component(\"VDropdown\",re),t.component(\"v-menu\",ue),t.component(\"VMenu\",ue))},options:dt};let Me\u003dnull;\"undefined\"!\u003dtypeof window?Me\u003dwindow.Vue:void 0!\u003d\u003di.g\u0026\u0026(Me\u003di.g.Vue),Me\u0026\u0026Me.use(ze);var He\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"alert box-container\",t.containerStyle(),t.addClass,{\"d-flex\":t.seamlessHeaderBool()}],style:t.customStyle()},[t.seamlessHeaderBool()?n(\"div\",{staticClass:\"d-flex\"},[t.iconBool()?n(\"div\",{class:[\"icon-wrapper\",t.iconStyle()],style:t.customIconColorStyle()},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas\",t.getFontAwesomeIconStyle()]})]}))],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"vertical-divider\",class:t.getBootstrapAlertStyle(),attrs:{\"aria-hidden\":\"true\"}})]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"header-and-body\"},[t.headerBool()?n(\"div\",{class:[\"box-header-wrapper\",{\"alert-dismissible\":t.dismissible}]},[t.iconBool()\u0026\u0026!t.seamlessHeaderBool()?n(\"div\",{class:[\"icon-wrapper\",t.iconStyle()],style:t.customIconColorStyle()},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas\",t.getFontAwesomeIconStyle()]})]}))],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"box-header\"},[t._t(\"header\")],2),t._v(\" \"),t.dismissible?n(\"button\",{staticClass:\"btn-close close-with-heading\",attrs:{type:\"button\",\"data-bs-dismiss\":\"alert\",\"aria-label\":\"Close\"}}):t._e()]):t._e(),t._v(\" \"),n(\"div\",{class:[\"box-body-wrapper\",{\"alert-dismissible\":t.dismissible\u0026\u0026!t.headerBool(),\"box-body-wrapper-with-heading\":t.headerBool()}]},[t.iconBool()\u0026\u0026!t.headerBool()?n(\"div\",{class:[\"icon-wrapper\",t.iconStyle()],style:t.customIconColorStyle()},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas\",t.getFontAwesomeIconStyle()]})]}))],2):t._e(),t._v(\" \"),t.seamlessNoHeaderBool()?n(\"div\",{staticClass:\"vertical-divider\",class:t.getBootstrapAlertStyle(),attrs:{\"aria-hidden\":\"true\"}}):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"contents\",style:t.customColorStyle()},[t._t(\"default\")],2),t._v(\" \"),t.dismissible\u0026\u0026!t.headerBool()?n(\"button\",{staticClass:\"btn-close\",attrs:{type:\"button\",\"data-bs-dismiss\":\"alert\",\"aria-label\":\"Close\"}}):t._e()])])])};He._withStripped\u003d!0;var De\u003dfunction(t){return\"string\"\u003d\u003dtypeof t?\"\"\u003d\u003d\u003dt||\"true\"\u003d\u003d\u003dt||\"false\"!\u003d\u003dt\u0026\u0026\"null\"!\u003d\u003dt\u0026\u0026\"undefined\"!\u003d\u003dt\u0026\u0026t:t};function Re(t){return\"string\"\u003d\u003dtypeof t?\"\"\u003d\u003d\u003dt||\"true\"\u003d\u003d\u003dt||\"false\"!\u003d\u003dt\u0026\u0026\"null\"!\u003d\u003dt\u0026\u0026\"undefined\"!\u003d\u003dt\u0026\u0026t:t}function je(t){return\"number\"\u003d\u003dtypeof t?t:null\u003d\u003dt||isNaN(Number(t))?null:Number(t)}function Ie(t){var e\u003dt.split(\"#\"),n\u003d\"\";return e.length\u003e1\u0026\u0026(n\u003de[1]),n}function qe(t,e,n,i,o,r,s,a){var l,c\u003d\"function\"\u003d\u003dtypeof t?t.options:t;if(e\u0026\u0026(c.render\u003de,c.staticRenderFns\u003dn,c._compiled\u003d!0),i\u0026\u0026(c.functional\u003d!0),r\u0026\u0026(c._scopeId\u003d\"data-v-\"+r),s?(l\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),o\u0026\u0026o.call(this,t),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(s)},c._ssrRegister\u003dl):o\u0026\u0026(l\u003da?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(c.functional){c._injectStyles\u003dl;var u\u003dc.render;c.render\u003dfunction(t,e){return l.call(e),u(t,e)}}else{var d\u003dc.beforeCreate;c.beforeCreate\u003dd?[].concat(d,l):[l]}return{exports:t,options:c}}const We\u003dqe({props:{dismissible:{type:Boolean,default:!1},backgroundColor:{type:String,default:null},borderColor:{type:String,default:null},borderLeftColor:{type:String,default:null},color:{type:String,default:null},icon:{type:String,default:null},iconSize:{type:String,default:null},iconColor:{type:String,default:null},type:{type:String,default:\"\"},addClass:{type:String,default:\"\"},light:{type:Boolean,default:!1},seamless:{type:Boolean,default:!1},noIcon:{type:Boolean,default:!1},noBackground:{type:Boolean,default:!1},noBorder:{type:Boolean,default:!1},theme:{type:String,default:\"\"}},computed:{bootStrapStyle:function(){return function(t,e){var n,i,o\u003d[\"warning\",\"info\",\"definition\",\"success\",\"danger\",\"tip\",\"important\",\"wrong\"].includes(t)?t:\"\",r\u003d[\"primary\",\"secondary\",\"success\",\"danger\",\"warning\",\"info\",\"light\",\"dark\"].includes(e)?e:\"\";if(r)n\u003dr;else switch(o){case\"warning\":n\u003d\"warning\";break;case\"info\":n\u003d\"info\";break;case\"definition\":n\u003d\"primary\";break;case\"success\":case\"tip\":n\u003d\"success\";break;case\"important\":case\"wrong\":n\u003d\"danger\";break;default:n\u003d\"default\"}switch(o){case\"wrong\":i\u003d\"fa-times\";break;case\"warning\":i\u003d\"fa-exclamation\";break;case\"info\":i\u003d\"fa-info\";break;case\"success\":i\u003d\"fa-check\";break;case\"important\":i\u003d\"fa-flag\";break;case\"tip\":i\u003d\"fa-lightbulb\";break;case\"definition\":i\u003d\"fa-atlas\";break;default:i\u003d\"\"}return{style:n,icon:i}}(this.type,this.theme)}},methods:{isSeamless:function(){return!this.light\u0026\u0026this.seamless},seamlessNoHeaderBool:function(){return this.isSeamless()\u0026\u0026!this.headerBool()},seamlessHeaderBool:function(){return this.isSeamless()\u0026\u0026this.headerBool()},headerBool:function(){return!!this.$scopedSlots.header},iconBool:function(){var t\u003d!!this.$scopedSlots.icon;return!this.noIcon\u0026\u0026this.type||t},containerStyle:function(){var t;return t\u003dthis.light?\"\".concat(this.getBootstrapBorderStyle(),\" alert-border-left\"):this.seamless?\"seamless\":this.getBootstrapAlertStyle(),this.noBackground\u0026\u0026(t+\u003d\" no-background\"),this.noBorder\u0026\u0026(t+\u003d\" no-border\"),t},customStyle:function(){var t\u003d{};return this.backgroundColor\u0026\u0026(t.backgroundColor\u003dthis.backgroundColor,t.borderColor\u003dthis.backgroundColor),this.borderColor\u0026\u0026(t.border\u003d\"1px solid \".concat(this.borderColor)),this.borderLeftColor\u0026\u0026(t.borderLeft\u003d\"5px solid \".concat(this.borderLeftColor)),t},customColorStyle:function(){return this.color?{color:this.color}:{}},iconStyle:function(){var t\u003d\"\";return this.iconSize\u0026\u0026(t+\u003d\"fa-\".concat(this.iconSize)),(this.light||this.seamless)\u0026\u0026(t+\u003d\" \".concat(this.getBootstrapTextStyle())),t},customIconColorStyle:function(){return this.iconColor?{color:\"\".concat(this.iconColor,\"!important\")}:{}},getBootstrapAlertStyle:function(){return\"alert-\".concat(this.bootStrapStyle.style)},getBootstrapTextStyle:function(){return\"text-\".concat(this.bootStrapStyle.style)},getBootstrapBorderStyle:function(){return\"border-\".concat(this.bootStrapStyle.style)},getFontAwesomeIconStyle:function(){return this.bootStrapStyle.icon}}},He,[],!1,null,\"0eabf1c4\",null).exports;var Fe\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[n(\"nav\",{staticClass:\"breadcrumb-divider\",attrs:{\"aria-label\":\"breadcrumb\"}},[n(\"ol\",{staticClass:\"breadcrumb\"},[n(\"li\",{staticClass:\"notlink breadcrumb-marker\"},[t._v(\"\\n ››  \\n \")]),t._v(\" \"),t._l(t.items,(function(e,i){return n(\"li\",{key:i,class:[\"breadcrumb-item\",{notlink:null\u003d\u003d\u003de.link}],attrs:{\"aria-current\":{page:t.isLast(i,t.items.length)}}},[null\u003d\u003d\u003de.link?n(\"a\",[t._v(\"\\n \"+t._s(e.title)+\"\\n \")]):n(\"a\",{attrs:{href:e.link}},[t._v(\"\\n \"+t._s(e.title)+\"\\n \")])])}))],2)])])};Fe._withStripped\u003d!0;const Ve\u003dqe({data:function(){return{items:[]}},methods:{isLast:function(t,e){return t\u003d\u003d\u003de-1}},mounted:function(){var t\u003dArray.from(document.querySelectorAll(\"ul\")).find((function(t){return t.classList.contains(\"site-nav-list-root\")}));if(t){var e\u003dt.querySelector(\".current\");if(e){this.items.unshift({title:e.textContent,link:null});for(var n\u003de.parentElement;n!\u003d\u003dt;){if(\"ul\"\u003d\u003d\u003dn.tagName.toLowerCase()){var i\u003dn.parentElement.querySelector(\"div\"),o\u003di.querySelector(\"a[href]\");null\u003d\u003d\u003do?this.items.unshift({title:i.textContent,link:null}):this.items.unshift({title:o.textContent,link:o.getAttribute(\"href\")})}n\u003dn.parentElement}}}}},Fe,[],!1,null,\"ef898034\",null).exports;var Ue\u003di(3),Qe\u003di.n(Ue),Xe\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.isLi?n(\"li\",{ref:\"dropdown\",class:[{disabled:t.disabledBool},\"dropdown\",t.addClass]},[t._t(\"button\",(function(){return[n(\"a\",{staticClass:\"dropdown-toggle nav-link\",class:{disabled:t.disabledBool},attrs:{role:\"button\",\"data-bs-toggle\":\"dropdown\"}},[t._t(\"header\")],2)]})),t._v(\" \"),t._t(\"dropdown-menu\",(function(){return[n(\"ul\",{staticClass:\"dropdown-menu\",class:[{show:t.show},{\"dropdown-menu-end\":t.menuAlignRight}]},[t._t(\"default\")],2)]}))],2):t.isSubmenu?n(\"submenu\",{ref:\"submenu\",scopedSlots:t._u([t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(){return[t._t(n)]},proxy:!0}}))],null,!0)}):n(\"div\",{ref:\"dropdown\",class:[{disabled:t.disabledBool},\"btn-group\",t.addClass]},[t._t(\"before\"),t._v(\" \"),t._t(\"button\",(function(){return[n(\"button\",{staticClass:\"btn dropdown-toggle\",class:[t.btnType,t.btnWithBefore,{\"dropdown-toggle-split\":t.hasBefore}],attrs:{type:\"button\",disabled:t.disabledBool,\"data-bs-reference\":\"parent\",\"data-bs-toggle\":\"dropdown\"}},[t._t(\"header\")],2)]})),t._v(\" \"),t._t(\"dropdown-menu\",(function(){return[n(\"ul\",{staticClass:\"dropdown-menu\",class:[{show:t.show},{\"dropdown-menu-end\":t.menuAlignRight}]},[t._t(\"default\")],2)]}))],2)};Xe._withStripped\u003d!0;var Ye\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"li\",{ref:\"submenu\",class:[t.addClass,\"dropdown-submenu\",{dropend:t.dropright,dropstart:t.dropleft}]},[t._t(\"button\",(function(){return[n(\"a\",{staticClass:\"dropdown-item submenu-toggle\",class:{disabled:t.disabled},attrs:{role:\"button\",\"data-bs-toggle\":\"dropdown\"}},[t._t(\"header\")],2)]})),t._v(\" \"),t._t(\"dropdown-menu\",(function(){return[n(\"ul\",{staticClass:\"dropdown-menu\"},[t._t(\"default\")],2)]}))],2)};function Ke(t,n){for(var i\u003d0;i\u003cn.length;i++){var o\u003dn[i];o.enumerable\u003do.enumerable||!1,o.configurable\u003d!0,\"value\"in o\u0026\u0026(o.writable\u003d!0),Object.defineProperty(t,e(o.key),o)}}Ye._withStripped\u003d!0;var Ge,Ze\u003dArray.prototype,Je\u003dnew Error(\"Passed arguments must be of Node\"),tn\u003d[],en\u003d[];function nn(t){return t instanceof window.Node}function on(t){return t instanceof window.NodeList||t instanceof sn||t instanceof window.HTMLCollection||t instanceof Array}function rn(t){return(t\u003dt.trim()).length?t.replace(/\\s+/,\" \").split(\" \"):[]}var sn\u003dfunction(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var n\u003de;if(e[0]\u003d\u003d\u003dwindow?n\u003d[window]:\"string\"\u003d\u003dtypeof e[0]?(n\u003d(e[1]||document).querySelectorAll(e[0]),e[1]\u0026\u0026(this.owner\u003de[1])):0 in e\u0026\u0026!nn(e[0])\u0026\u0026e[0]\u0026\u0026\"length\"in e[0]\u0026\u0026(n\u003de[0],e[1]\u0026\u0026(this.owner\u003de[1])),n){for(var i in n)this[i]\u003dn[i];this.length\u003dn.length}else this.length\u003d0}var e,n,i;return e\u003dt,(n\u003d[{key:\"concat\",value:function(){var t\u003dZe.slice.call(this);function e(n){Ze.forEach.call(n,(function(n){nn(n)?~t.indexOf(n)||t.push(n):on(n)\u0026\u0026e(n)}))}for(var n\u003darguments.length,i\u003dnew Array(n),o\u003d0;o\u003cn;o++)i[o]\u003darguments[o];return Ze.forEach.call(i,(function(n){if(nn(n))~t.indexOf(n)||t.push(n);else{if(!on(n))throw Error(\"Concat arguments must be of a Node, NodeList, HTMLCollection, or Array of (Node, NodeList, HTMLCollection, Array)\");e(n)}})),hn(t,this)}},{key:\"delete\",value:function(){var t\u003dln(this).filter((function(t){return t.remove?t.remove():t.parentNode\u0026\u0026t.parentNode.removeChild(t),document.body.contains(t)}));return t.length\u0026\u0026console.warn(\"NodeList: Some nodes could not be deleted.\"),t}},{key:\"each\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return Ze.forEach.apply(this,e),this}},{key:\"filter\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return hn(Ze.filter.apply(this,e),this)}},{key:\"find\",value:function(t){var e\u003d[];return ln(this).forEach((function(n){Ze.push.apply(e,n.querySelectorAll(t))})),ln(e,this.owner)}},{key:\"findChildren\",value:function(t){var e\u003dthis;return t?this.find(t).filter((function(t){return e.includes(t.parentElement)})):ln(this.map((function(t){return t.children})))}},{key:\"forEach\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return Ze.forEach.apply(this,e),this}},{key:\"includes\",value:function(t,e){return~this.indexOf(t,e)}},{key:\"map\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];var i\u003dZe.map.apply(this,e);return i.some((function(t){return nn(t)||on(t)}))?ln(i,this):i}},{key:\"parent\",value:function(){return ln(this.map((function(t){return t.parentNode})),this)}},{key:\"pop\",value:function(t){\"number\"!\u003dtypeof t\u0026\u0026(t\u003d1);for(var e\u003d[],n\u003dZe.pop.bind(this);t--;)e.push(n());return hn(e,this)}},{key:\"push\",value:function(){for(var t\u003dthis,e\u003darguments.length,n\u003dnew Array(e),i\u003d0;i\u003ce;i++)n[i]\u003darguments[i];return Ze.forEach.call(n,(function(e){if(!nn(e))throw Je;~t.indexOf(e)||Ze.push.call(t,e)})),this}},{key:\"shift\",value:function(t){\"number\"!\u003dtypeof t\u0026\u0026(t\u003d1);for(var e\u003d[];t--;)e.push(Ze.shift.call(this));return 1\u003d\u003de.length?e[0]:hn(e,this)}},{key:\"slice\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return hn(Ze.slice.apply(this,e),this)}},{key:\"splice\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];for(var i\u003d2,o\u003de.length;i\u003co;i++)if(!nn(e[i]))throw Je;return Ze.splice.apply(this,e),this}},{key:\"unshift\",value:function(){for(var t\u003dthis,e\u003dZe.unshift.bind(this),n\u003darguments.length,i\u003dnew Array(n),o\u003d0;o\u003cn;o++)i[o]\u003darguments[o];return Ze.forEach.call(i,(function(n){if(!nn(n))throw Je;~t.indexOf(n)||e(n)})),this}},{key:\"addClass\",value:function(t){return this.toggleClass(t,!0)}},{key:\"removeClass\",value:function(t){return this.toggleClass(t,!1)}},{key:\"toggleClass\",value:function(t,e){var n\u003dnull\u003d\u003de?\"toggle\":e?\"add\":\"remove\";return\"string\"\u003d\u003dtypeof t\u0026\u0026(t\u003drn(t)),this.each((function(e){var i,o\u003drn(e.className);t.forEach((function(t){var e\u003d~o.indexOf(t);e||\"remove\"\u003d\u003d\u003dn||o.push(t),e\u0026\u0026\"add\"!\u003d\u003dn\u0026\u0026(o\u003do.filter((function(e){return e!\u003d\u003dt})))})),(o\u003d(i\u003do).length?i.join(\" \"):\"\")?e.className\u003do:e.removeAttribute(\"class\")})),this}},{key:\"get\",value:function(t){var e\u003d[];return this.each((function(n){null!\u003d\u003dn\u0026\u0026(n\u003dn[t]),e.push(n)})),ln(e,this)}},{key:\"set\",value:function(t,e){return t.constructor\u003d\u003d\u003dObject?this.each((function(e){if(e)for(var n in t)n in e\u0026\u0026(e[n]\u003dt[n])})):this.each((function(n){t in n\u0026\u0026(n[t]\u003de)})),this}},{key:\"call\",value:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];var i\u003dZe.shift.call(e),o\u003d[],r\u003d!0;return this.each((function(t){t\u0026\u0026t[i]instanceof Function?(t\u003dt[i].apply(t,e),o.push(t),r\u0026\u0026void 0!\u003d\u003dt\u0026\u0026(r\u003d!1)):o.push(void 0)})),r?this:ln(o,this)}},{key:\"item\",value:function(t){return hn([this[t]],this)}},{key:\"asArray\",get:function(){return Ze.slice.call(this)}},{key:\"on\",value:function(t,e,n){if(\"string\"\u003d\u003dtypeof t\u0026\u0026(t\u003drn(t)),!this||!this.length)return this;if(void 0\u003d\u003d\u003dn\u0026\u0026(n\u003de,e\u003dnull),!n)return this;var i\u003dn;return n\u003de?function(t){var n\u003dhn(e,this);n.length\u0026\u0026n.some((function(e){var n\u003de.contains(t.target);return n\u0026\u0026i.call(e,t,e),n}))}:function(t){i.apply(this,[t,this])},this.each((function(e){t.forEach((function(t){(e\u003d\u003d\u003dwindow||nn(e))\u0026\u0026(e.addEventListener(t,n,!1),en.push({el:e,event:t,callback:n}))}))})),this}},{key:\"off\",value:function(t,e){return t instanceof Function\u0026\u0026(e\u003dt,t\u003dnull),t\u003dt instanceof Array?t:\"string\"\u003d\u003dtypeof t?rn(t):null,this.each((function(n){en\u003den.filter((function(i){return!!(!i||i.el!\u003d\u003dn||e\u0026\u0026e!\u003d\u003di.callback||t\u0026\u0026!~t.indexOf(i.event))||(i.el.removeEventListener(i.event,i.callback),!1)}))})),this}},{key:\"onBlur\",value:function(t){var e\u003d!(arguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1])||arguments[1];return this\u0026\u0026this.length\u0026\u0026t?(this.each((function(e){tn.push({el:e,callback:t})})),Ge||(Ge\u003dfunction(t){tn.forEach((function(e){e.el\u0026\u0026(e.el.contains(t.target)||e.el\u003d\u003d\u003dt.target||e.callback.call(e.el,t,e.el))}))},document.addEventListener(\"click\",Ge,!1),e\u0026\u0026document.addEventListener(\"touchstart\",Ge,!1)),this):this}},{key:\"offBlur\",value:function(t){return this.each((function(e){tn\u003dtn.filter((function(n){return!(n\u0026\u0026n.el\u003d\u003d\u003de\u0026\u0026(!t||n.callback\u003d\u003d\u003dt))\u0026\u0026e}))})),this}}])\u0026\u0026Ke(e.prototype,n),i\u0026\u0026Ke(e,i),Object.defineProperty(e,\"prototype\",{writable:!1}),t}(),an\u003dsn.prototype;function ln(t,e){var n\u003d[];return Ze.forEach.call(t,(function(i){if(nn(i))~n.indexOf(i)||n.push(i);else if(on(i))for(var o in i)n.push(i[o]);else if(null!\u003d\u003di)return t.get\u003dan.get,t.set\u003dan.set,t.call\u003dan.call,t.owner\u003de,t})),hn(n,e)}Object.getOwnPropertyNames(Ze).forEach((function(t){\"join\"!\u003d\u003dt\u0026\u0026\"copyWithin\"!\u003d\u003dt\u0026\u0026\"fill\"!\u003d\u003dt\u0026\u0026void 0\u003d\u003d\u003dan[t]\u0026\u0026(an[t]\u003dZe[t])})),window\u0026\u0026window.Symbol\u0026\u0026Symbol.iterator\u0026\u0026(an[Symbol.iterator]\u003dan.values\u003dZe[Symbol.iterator]);var cn\u003ddocument\u0026\u0026document.createElement(\"div\");function un(t){var e\u003dthis;an[t]||(cn[t]instanceof Function?an[t]\u003dfunction(){for(var n\u003d[],i\u003d!0,o\u003darguments.length,r\u003dnew Array(o),s\u003d0;s\u003co;s++)r[s]\u003darguments[s];for(var a in an){var l\u003dan[a];l\u0026\u0026l[t]instanceof Function?(l\u003dl[t].apply(l,r),n.push(l),i\u0026\u0026void 0!\u003d\u003dl\u0026\u0026(i\u003d!1)):n.push(void 0)}return i?e:ln(n,e)}:Object.defineProperty(an,t,{get:function(){var e\u003d[];return this.each((function(n){null!\u003d\u003dn\u0026\u0026(n\u003dn[t]),e.push(n)})),ln(e,this)},set:function(e){this.each((function(n){n\u0026\u0026t in n\u0026\u0026(n[t]\u003de)}))}}))}for(var dn in cn)un(dn);function hn(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return new sn(e)}window\u0026\u0026(window.NL\u003dhn);const pn\u003dhn;const fn\u003d{isRightAlign:function(t){var e\u003d0,n\u003dwindow.innerWidth,i\u003d(window.innerHeight,t.getBoundingClientRect());if(void 0\u003d\u003d\u003di)return!0;i.y;var o\u003di.x,r\u003di.x+t.offsetWidth;return i.y,t.offsetHeight,!(o\u003c0)\u0026\u0026(o\u003ce||!(r\u003en))},preventOverflow:function(t){t.removeAttribute(\"style\");var e\u003d0,n\u003d(window.innerWidth,window.innerHeight),i\u003dt.getBoundingClientRect();if(void 0!\u003d\u003di){var o\u003di.y,r\u003d(i.x,i.x,t.offsetWidth,i.y+t.offsetHeight);r\u003en?t.setAttribute(\"style\",\"bottom: auto; top: \".concat(-(r-n),\"px;\")):o\u003ce\u0026\u0026t.setAttribute(\"style\",\"top: auto; bottom: \".concat(-(e-o),\"px;\"))}}};function mn(t){for(var e\u003dt,n\u003dt;n;)n.classList\u0026\u0026n.classList.contains(\"dropdown-menu\")\u0026\u0026(e\u003dn),n\u003dn.parentNode;if(e.offsetWidth\u003ewindow.innerWidth)e.setAttribute(\"style\",\"left: 0px;\");else{var i\u003de.parentNode.getBoundingClientRect(),o\u003di.left+e.offsetWidth-window.innerWidth,r\u003do\u003c0?i.left:i.left-o;e.setAttribute(\"style\",\"left: \".concat(r,\"px;\"))}}const vn\u003dqe({props:{addClass:{type:String,default:\"\"},disabled:{type:[Boolean,String],default:!1}},data:function(){return{show:!1,dropright:!0,dropleft:!1}},inject:{isParentNavbar:{default:!1}},computed:{disabledBool:function(){return Re(this.disabled)}},methods:{hideSubmenu:function(){this.show\u003d!1,pn(this.$refs.submenu).find(\"ul.dropdown-menu\").each((function(t){return t.classList.toggle(\"show\",!1)})),this.alignMenuRight()},showSubmenu:function(){var t\u003dthis;this.show\u003d!0,pn(this.$refs.submenu).findChildren(\"ul\").each((function(e){e.classList.toggle(\"show\",!0),window.innerWidth\u003c768\u0026\u0026t.isParentNavbar?mn(e):(fn.isRightAlign(e)?t.alignMenuRight():t.alignMenuLeft(),fn.preventOverflow(e))}))},alignMenuRight:function(){this.dropright\u003d!0,this.dropleft\u003d!1},alignMenuLeft:function(){this.dropright\u003d!1,this.dropleft\u003d!0}},mounted:function(){var t\u003dthis,e\u003dpn(this.$refs.submenu);this.show\u0026\u0026this.showSubmenu(),e.onBlur((function(){t.hideSubmenu()}),!1),e.findChildren(\"a,button\").on(\"click\",(function(e){return e.preventDefault(),e.stopPropagation(),t.disabledBool||(t.show?t.hideSubmenu():t.showSubmenu()),!1})),e.findChildren(\"a,button\").on(\"mouseover\",(function(n){if(n.preventDefault(),window.innerWidth\u003e767){if(e.findChildren(\"ul.show\").length\u003e0||t.disabledBool)return!1;n.currentTarget.click(),t.$parent.$parent.$children.forEach((function(e){e.$el\u003d\u003d\u003dt.$el?e.$refs.submenu.showSubmenu():e.$refs.submenu.hideSubmenu()}))}return!1}))},beforeDestroy:function(){var t\u003dpn(this.$refs.submenu);t.offBlur(),t.findChildren(\"a,button\").off(),t.findChildren(\"ul\").off()}},Ye,[],!1,null,\"3c82541c\",null).exports;const gn\u003dqe({components:{Submenu:vn},props:{disabled:{type:[Boolean,String],default:!1},type:{type:String,default:\"light\"},menuAlignRight:{type:Boolean,default:!1},addClass:{type:String,default:\"\"}},provide:{hasParentDropdown:!0},inject:{hasParentDropdown:{default:void 0},isParentNavbar:{default:!1}},data:function(){return{show:!1}},computed:{btnType:function(){return\"btn-\".concat(this.type)},disabledBool:function(){return Re(this.disabled)},isLi:function(){return this.$parent._navbar||this.$parent.menu||this.$parent._tabset},isSubmenu:function(){return this.hasParentDropdown},menu:function(){return!this.$parent||this.$parent.navbar},submenu:function(){return this.$parent\u0026\u0026(this.$parent.menu||this.$parent.submenu)},slots:function(){return this.$scopedSlots.default},hasBefore:function(){return!!this.$scopedSlots.before},btnWithBefore:function(){return this.hasBefore?\"btn-with-before\":\"\"}},methods:{blur:function(){var t\u003dthis;this.unblur(),this._hide\u003dsetTimeout((function(){t._hide\u003dnull,t.hideDropdownMenu()}),100)},unblur:function(){this._hide\u0026\u0026(clearTimeout(this._hide),this._hide\u003dnull)},hideDropdownMenu:function(){var t\u003dthis;this.show\u003d!1,pn(this.$refs.dropdown).findChildren(\"ul\").each((function(e){e.classList.toggle(\"show\",!1),window.innerWidth\u003c768\u0026\u0026t.isParentNavbar\u0026\u0026e.style.removeProperty(\"left\")}))},showDropdownMenu:function(){var t\u003dthis;this.show\u003d!0,pn(this.$refs.dropdown).findChildren(\"ul\").each((function(e){e.classList.toggle(\"show\",!0),window.innerWidth\u003c768\u0026\u0026t.isParentNavbar\u0026\u0026mn(e)}))}},mounted:function(){var t\u003dthis,e\u003dpn(this.$refs.dropdown);this.$slots.button\u0026\u0026e.findChildren(\".dropdown-toggle\").forEach((function(t){return t.setAttribute(\"data-bs-toggle\",\"dropdown\")})),this.show\u0026\u0026this.showDropdownMenu(),e.onBlur((function(){t.hideDropdownMenu()}),!1),e.findChildren(\"a,button.dropdown-toggle\").on(\"click\",(function(e){return e.preventDefault(),t.disabledBool||(t.show?t.hideDropdownMenu():t.showDropdownMenu()),!1})),e.findChildren(\"ul\").on(\"click\",\"li\u003ea\",(function(e){e.target.classList.contains(\"submenu-toggle\")||t.hideDropdownMenu()}))},beforeDestroy:function(){var t\u003dpn(this.$refs.dropdown);t.offBlur(),t.findChildren(\"a,button\").off(),t.findChildren(\"ul\").off()}},Xe,[],!1,null,\"ccda25c0\",null).exports;var yn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[n(\"nav\",{ref:\"navbar\",class:[\"navbar\",\"navbar-expand-md\",\"d-print-none\",t.themeOptions,t.addClass,t.fixedOptions]},[n(\"div\",{staticClass:\"container-fluid\"},[n(\"div\",{staticClass:\"navbar-left\"},[t._t(\"brand\")],2),t._v(\" \"),n(\"div\",{ref:\"navbarDefault\",staticClass:\"navbar-default\"},[n(\"ul\",{staticClass:\"navbar-nav me-auto mt-2 mt-lg-0\"},[t._t(\"default\")],2)]),t._v(\" \"),t.slots.right?n(\"ul\",{staticClass:\"navbar-nav navbar-right\"},[t._t(\"right\")],2):t._e()])]),t._v(\" \"),n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isLowerNavbarShowing,expression:\"isLowerNavbarShowing\"}],ref:\"lowerNavbar\",staticClass:\"lower-navbar-container\"},[t._t(\"lower-navbar\",(function(){return[n(\"site-nav-button\"),t._v(\" \"),n(\"page-nav-button\")]}))],2)])};function wn(t,e){(null\u003d\u003de||e\u003et.length)\u0026\u0026(e\u003dt.length);for(var n\u003d0,i\u003dnew Array(e);n\u003ce;n++)i[n]\u003dt[n];return i}function bn(t,e){if(t){if(\"string\"\u003d\u003dtypeof t)return wn(t,e);var n\u003dObject.prototype.toString.call(t).slice(8,-1);return\"Object\"\u003d\u003d\u003dn\u0026\u0026t.constructor\u0026\u0026(n\u003dt.constructor.name),\"Map\"\u003d\u003d\u003dn||\"Set\"\u003d\u003d\u003dn?Array.from(t):\"Arguments\"\u003d\u003d\u003dn||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wn(t,e):void 0}}function _n(t){return function(t){if(Array.isArray(t))return wn(t)}(t)||function(t){if(\"undefined\"!\u003dtypeof Symbol\u0026\u0026null!\u003dt[Symbol.iterator]||null!\u003dt[\"@@iterator\"])return Array.from(t)}(t)||bn(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Sn(t){return t.endsWith(\".html\")?t.toLowerCase():t.endsWith(\"/\")?\"\".concat(t,\"index.html\").toLowerCase():t.endsWith(\"/\")?t.toLowerCase():\"\".concat(t,\".html\").toLowerCase()}yn._withStripped\u003d!0;var xn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.showSiteNav?n(\"overlay\",{attrs:{type:\"siteNav\",\"portal-name\":t.portalName},scopedSlots:t._u([{key:\"navMenuIcon\",fn:function(){return[n(\"div\",{class:[\"toggle-site-nav-button\"]},[n(\"span\"),t._v(\" \"),n(\"span\"),t._v(\" \"),n(\"span\")])]},proxy:!0}],null,!1,3920804522)}):t._e()};xn._withStripped\u003d!0;const Cn\u003dqe({data:function(){return{portalName:void 0,show:!1}},computed:{showSiteNav:function(){return this.show\u0026\u0026this.portalName}},methods:{toggleSiteNavButton:function(){window.innerWidth\u003c992?this.show\u003d!0:this.show\u003d!1}},mounted:function(){null!\u003d\u003ddocument.querySelector(\"#site-nav a\")?this.portalName\u003d\"site-nav\":null!\u003d\u003ddocument.querySelector(\".site-nav-root a\")\u0026\u0026(this.portalName\u003d\"mb-site-nav\"),this.toggleSiteNavButton(),pn(window).on(\"resize\",this.toggleSiteNavButton)},beforeDestroy:function(){pn(window).off(\"resize\",this.toggleSiteNavButton)}},xn,[],!1,null,\"d6ffaa8e\",null).exports;var $n\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.showPageNav?n(\"overlay\",{attrs:{type:\"pageNav\",\"portal-name\":t.portalName},scopedSlots:t._u([{key:\"navMenuIcon\",fn:function(){return[n(\"div\",{class:[\"toggle-page-nav-button\"]},[n(\"span\"),t._v(\" \"),n(\"span\"),t._v(\" \"),n(\"span\")])]},proxy:!0}],null,!1,171840498)}):t._e()};$n._withStripped\u003d!0;const kn\u003dqe({data:function(){return{portalName:void 0,show:!1}},computed:{showPageNav:function(){return this.show\u0026\u0026this.portalName}},methods:{togglePageNavButton:function(){window.innerWidth\u003c1300?this.show\u003d!0:this.show\u003d!1}},mounted:function(){null!\u003d\u003ddocument.querySelector(\"#page-nav a\")?this.portalName\u003d\"page-nav\":null!\u003d\u003ddocument.querySelector(\"#mb-page-nav a\")\u0026\u0026(this.portalName\u003d\"mb-page-nav\"),this.togglePageNavButton(),pn(window).on(\"resize\",this.togglePageNavButton)},beforeDestroy:function(){pn(window).off(\"resize\",this.togglePageNavButton)}},$n,[],!1,null,\"4b08b1df\",null).exports;const Tn\u003dqe({components:{SiteNavButton:Cn,PageNavButton:kn},props:{type:{type:String,default:\"primary\"},addClass:{type:String,default:\"\"},fixed:{type:[Boolean,String],default:!1},defaultHighlightOn:{type:String,default:\"sibling-or-child\"}},provide:function(){return{toggleLowerNavbar:this.toggleLowerNavbar,isParentNavbar:!0}},data:function(){return{id:\"bs-example-navbar-collapse-1\",styles:{},isLowerNavbarShowing:!1}},computed:{fixedBool:function(){return Re(this.fixed)},fixedOptions:function(){return this.fixedBool?\"navbar-fixed\":\"\"},slots:function(){return this.$scopedSlots},themeOptions:function(){switch(this.type){case\"none\":return\"\";case\"light\":return\"navbar-light bg-light\";case\"dark\":return\"navbar-dark bg-dark\";case\"primary\":default:return\"navbar-dark bg-primary\"}}},methods:{splitUrl:function(t){var e\u003dnew URL(Sn(t));return\"\".concat(e.pathname).substr(1).split(\"/\")},isEqualExceptLast:function(t,e){for(var n\u003d0;n\u003ct.length-1;n+\u003d1)if(t[n]!\u003d\u003de[n])return!1;return!0},isSibling:function(t,e){var n\u003dthis.splitUrl(e),i\u003dthis.splitUrl(t);return n.length\u003d\u003d\u003di.length\u0026\u0026this.isEqualExceptLast(n,i)},isChild:function(t,e){var n\u003dthis.splitUrl(e),i\u003dthis.splitUrl(t);return!(i.length\u003c\u003dn.length)\u0026\u0026this.isEqualExceptLast(n,i)},isExact:function(t,e){return Sn(t)\u003d\u003d\u003dSn(e)},addClassIfDropdown:function(t,e,n){t.includes(e)\u0026\u0026(e.classList.add(\"dropdown-current\"),this.addClassIfSubmenu(e,n))},addClassIfSubmenu:function(t,e){for(var n\u003dt.parentElement;n!\u003d\u003de;)n.classList.contains(\"dropdown-submenu\")\u0026\u0026pn(n).findChildren(\"a\").each((function(t){return t.classList.add(\"dropdown-current\")})),n\u003dn.parentElement},highlightLink:function(t){var e\u003dthis.defaultHighlightOn,n\u003d[];this.$el.querySelectorAll(\".navbar-nav\").forEach((function(t){return n.push.apply(n,_n(Array.from(t.children)))}));for(var i\u003d0;i\u003cn.length;i+\u003d1)for(var o\u003dn[i],r\u003d[o],s\u003dArray.from(o.querySelectorAll(\"a.nav-link\")),a\u003dArray.from(o.querySelectorAll(\"a.dropdown-item\")),l\u003dr.concat(s).concat(a).filter((function(t){return t.href})),c\u003d0;c\u003cl.length;c+\u003d1){var u\u003dl[c];if(\"none\"!\u003d\u003d(u.getAttribute(\"highlight-on\")||e)\u0026\u0026this.isExact(t,u.href))return o.classList.add(\"current\"),void this.addClassIfDropdown(a,u,o)}for(var d\u003d0;d\u003cn.length;d+\u003d1)for(var h\u003dn[d],p\u003d[h],f\u003dArray.from(h.querySelectorAll(\"a.nav-link\")),m\u003dArray.from(h.querySelectorAll(\"a.dropdown-item\")),v\u003dp.concat(f).concat(m).filter((function(t){return t.href})),g\u003d0;g\u003cv.length;g+\u003d1){var y\u003dv[g],w\u003dy.getAttribute(\"highlight-on\")||e;if(\"none\"!\u003d\u003dw)if(\"sibling-or-child\"\u003d\u003d\u003dw){if(this.isSibling(t,y.href)||this.isChild(t,y.href))return h.classList.add(\"current\"),void this.addClassIfDropdown(m,y,h)}else if(\"sibling\"\u003d\u003d\u003dw){if(this.isSibling(t,y.href))return h.classList.add(\"current\"),void this.addClassIfDropdown(m,y,h)}else if(\"child\"\u003d\u003d\u003dw\u0026\u0026this.isChild(t,y.href))return h.classList.add(\"current\"),void this.addClassIfDropdown(m,y,h)}},toggleLowerNavbar:function(){this.$refs.lowerNavbar.childElementCount\u003e0?this.isLowerNavbarShowing\u003d!0:this.isLowerNavbarShowing\u003d!1}},created:function(){this._navbar\u003d!0},mounted:function(){var t\u003dthis,e\u003dpn(\u0027.dropdown\u003e[data-bs-toggle\u003d\"dropdown\"]\u0027,this.$el).parent();e.on(\"click\",\".dropdown-toggle\",(function(t){t.preventDefault(),e.each((function(e){e.contains(t.target)\u0026\u0026e.classList.toggle(\"open\")}))})).on(\"click\",\".dropdown-menu\u003eli\u003ea\",(function(t){e.each((function(e){e.contains(t.target)\u0026\u0026e.classList.remove(\"open\")}))})).onBlur((function(t){e.each((function(e){e.contains(t.target)||e.classList.remove(\"open\")}))})),this.highlightLink(window.location.href);var n\u003dpn(this.$refs.navbarDefault).find(\".current\")[0];n\u0026\u0026window.innerWidth\u003c768\u0026\u0026n.offsetLeft+n.offsetWidth\u003ewindow.innerWidth\u0026\u0026(this.$refs.navbarDefault.scrollLeft\u003dn.offsetLeft+n.offsetWidth-window.innerWidth),this.toggleLowerNavbar(),pn(window).on(\"resize\",this.toggleLowerNavbar),pn(this.$refs.navbarDefault).on(\"wheel\",(function(e){window.innerWidth\u003c768\u0026\u0026!function(t){for(var e\u003d0;e\u003ct.length;e+\u003d1)if(t[e].classList\u0026\u0026t[e].classList.contains(\"dropdown-menu\"))return!0;return!1}(e.path)\u0026\u0026(e.preventDefault(),t.$refs.navbarDefault.scrollLeft+\u003de.deltaY)}))},beforeDestroy:function(){pn(\".dropdown\",this.$el).off(\"click\").offBlur(),pn(window).off(\"resize\",this.toggleLowerNavbar),pn(this.$refs.navbarDefault).off(\"wheel\")}},yn,[],!1,null,\"7c0fd418\",null).exports;var En\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.isMinimal?n(\"minimal-panel\",t._b({attrs:{\"panel-id\":t.panelId},scopedSlots:t._u([t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(){return[t._t(n)]},proxy:!0}}))],null,!0)},\"minimal-panel\",t.$attrs,!1)):n(\"nested-panel\",t._b({attrs:{\"panel-id\":t.panelId,type:t.type},scopedSlots:t._u([t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(){return[t._t(n)]},proxy:!0}}))],null,!0)},\"nested-panel\",t.$attrs,!1))};En._withStripped\u003d!0;var On\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.localMinimized?n(\"span\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[n(\"span\",{staticClass:\"morph\"},[n(\"button\",{class:[\"morph-display-wrapper\",\"btn\",t.btnType],on:{click:function(e){return t.open()}}},[t.noMinimizedSwitch?t._e():n(\"div\",{staticClass:\"minimal-caret-wrapper\"},[n(\"span\",{class:[\"glyphicon\",\"glyphicon-chevron-right\"]})]),t._v(\" \"),n(\"span\",{staticClass:\"card-title\"},[t._t(\"_alt\",(function(){return[t._t(\"header\")]}))],2)])])]):n(\"div\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[n(\"div\",{class:[\"card\",{\"expandable-card\":t.isExpandableCard},t.borderType]},[n(\"div\",{class:[\"card-header\",{\"header-toggle\":t.isExpandableCard},t.cardType,t.borderType],on:{click:function(e){e.preventDefault(),e.stopPropagation(),t.isExpandableCard\u0026\u0026t.toggle()}}},[n(\"div\",{staticClass:\"caret-wrapper\"},[t.showCaret?n(\"span\",{class:[\"glyphicon\",t.localExpanded?\"glyphicon-chevron-down\":\"glyphicon-chevron-right\"]}):t._e()]),t._v(\" \"),n(\"div\",{ref:\"headerWrapper\",class:[\"header-wrapper card-title\",t.cardType,{\"text-white\":!t.isLightBg,\"header-transparent\":!t.shouldShowHeader}]},[t._t(\"header\")],2),t._v(\" \"),n(\"div\",{staticClass:\"button-wrapper\"},[t._t(\"button\",(function(){return[n(\"panel-switch\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isExpandableCard\u0026\u0026!t.noSwitchBool\u0026\u0026!t.showCaret,expression:\"isExpandableCard \u0026\u0026 !noSwitchBool \u0026\u0026 !showCaret\"}],attrs:{\"is-open\":t.localExpanded,\"is-light-bg\":t.isLightBg}}),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.noCloseBool,expression:\"!noCloseBool\"}],staticClass:\"close-button btn\",class:[t.isLightBg?\"btn-outline-secondary\":\"btn-outline-light\",{\"seamless-button\":t.isSeamless}],attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.close()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-remove\",attrs:{\"aria-hidden\":\"true\"}})]),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.popupUrl,expression:\"popupUrl\"}],staticClass:\"popup-button btn\",class:[t.isLightBg?\"btn-outline-secondary\":\"btn-outline-light\",{\"seamless-button\":t.isSeamless}],attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.openPopup()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-new-window\",attrs:{\"aria-hidden\":\"true\"}})])]}))],2)]),t._v(\" \"),n(\"div\",{ref:\"panel\",staticClass:\"card-collapse\",class:{\"card-peek-collapsed\":t.shouldShowPeek}},[t.wasRetrieverLoaded||t.preloadBool?n(\"div\",{staticClass:\"card-body\"},[t._t(\"default\"),t._v(\" \"),t.hasSrc?n(\"retriever\",{ref:\"retriever\",attrs:{src:t.srcWithoutFragment,fragment:t.fragment},on:{\"src-loaded\":t.retrieverUpdateMaxHeight}}):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"bottom-button-wrapper\"},[n(\"panel-switch\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isExpandableCard\u0026\u0026t.bottomSwitchBool,expression:\"isExpandableCard \u0026\u0026 bottomSwitchBool\"}],attrs:{\"is-open\":t.localExpanded},nativeOn:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.toggle(!0)}}})],1)],2):t._e(),t._v(\" \"),n(\"hr\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isSeamless,expression:\"isSeamless\"}]})]),t._v(\" \"),n(\"transition\",{attrs:{name:\"peek-read-more-fade\"}},[t.shouldShowPeek?n(\"div\",{staticClass:\"peek-read-more glyphicon glyphicon-chevron-down\",on:{click:function(e){return t.toggle()}}}):t._e()])],1)])};On._withStripped\u003d!0;const Bn\u003d{props:{type:{type:String,default:null},expandable:{type:[Boolean,String],default:!0},isOpen:{type:[Boolean,String],default:null},expanded:{type:[Boolean,String],default:null},minimized:{type:[Boolean,String],default:!1},noMinimizedSwitch:{type:[Boolean,String],default:!1},noSwitch:{type:[Boolean,String],default:!1},noClose:{type:[Boolean,String],default:!1},popupUrl:{type:String,default:null},src:{type:String},bottomSwitch:{type:[Boolean,String],default:!0},preload:{type:[Boolean,String],default:!1},addClass:{type:String,default:\"\"},expandHeaderless:{type:Boolean,default:!1},peek:{type:Boolean,default:!1},panelId:{type:String,default:null}},computed:{expandableBool:function(){return Re(this.expandable)},isOpenBool:function(){return Re(this.isOpen)},expandedBool:function(){return Re(this.expanded)},minimizedBool:function(){return Re(this.minimized)},noSwitchBool:function(){return Re(this.noSwitch)},noCloseBool:function(){return Re(this.noClose)},bottomSwitchBool:function(){return Re(this.bottomSwitch)},preloadBool:function(){return Re(this.preload)},hasHeaderBool:function(){return this.$scopedSlots.header},isExpandableCard:function(){return this.expandableBool},hasId:function(){return this.panelId},hasSrc:function(){return this.src\u0026\u0026this.src.length\u003e0},srcWithoutFragment:function(){return this.src.split(\"#\")[0]},shouldShowHeader:function(){return!this.localExpanded||!this.expandHeaderless},shouldShowPeek:function(){return this.peek\u0026\u0026!this.localExpanded},collapsedPanelHeight:function(){return this.peek?125:0}},data:function(){return{localExpanded:!1,localMinimized:!1,wasRetrieverLoaded:!1,isRetrieverLoadDone:!this.src,fragment:\"\"}},methods:{toggle:function(t){var e\u003dthis;this.wasRetrieverLoaded?(this.localExpanded?(t\u0026\u0026(this.$refs.panel.style.maxHeight\u003d\"\".concat(this.$refs.panel.scrollHeight,\"px\")),requestAnimationFrame((function(){if(e.$el.getBoundingClientRect().top\u003c0){var n,i\u003ddocument.querySelector(\"header[sticky]\");if(null\u003d\u003di)n\u003d0;else{var o\u003dwindow.getComputedStyle(i,null);n\u003di.clientHeight-parseFloat(o.paddingTop)-parseFloat(o.paddingBottom)||0}window.scrollTo({top:window.scrollY+e.$el.getBoundingClientRect().top-n-3,left:0,behavior:t?\"smooth\":\"instant\"})}e.$refs.panel.style.maxHeight\u003d\"\".concat(e.collapsedPanelHeight,\"px\")}))):(this.$refs.panel.style.transition\u003d\"max-height 0.5s ease-in-out\",this.$refs.panel.style.maxHeight\u003d\"\".concat(this.$refs.panel.scrollHeight,\"px\")),this.localExpanded\u003d!this.localExpanded):this.open()},close:function(){this.localMinimized\u003d!0,this.localExpanded\u003d!1},open:function(){var t\u003dthis;this.localMinimized\u003d!1,this.$nextTick((function(){t.initPanel(),t.localExpanded\u003d!0,t.wasRetrieverLoaded\u003d!0,t.$nextTick((function(){t.$refs.panel.style.maxHeight\u003d\"\".concat(t.$refs.panel.scrollHeight,\"px\")}))}))},openPopup:function(){window.open(this.popupUrl)},retrieverUpdateMaxHeight:function(){this.isRetrieverLoadDone\u003d!0,this.localExpanded\u0026\u0026(this.expandedBool?this.$refs.panel.style.maxHeight\u003d\"none\":this.$refs.panel.style.maxHeight\u003d\"\".concat(this.$refs.panel.scrollHeight,\"px\"))},initPanel:function(){var t\u003dthis;this.$refs.panel.addEventListener(\"transitionend\",(function(e){t.localExpanded\u0026\u0026t.isRetrieverLoadDone\u0026\u0026e.target\u003d\u003d\u003dt.$refs.panel\u0026\u0026(t.$refs.panel.style.maxHeight\u003d\"none\")})),this.localExpanded?this.$refs.panel.style.maxHeight\u003d\"none\":this.$refs.panel.style.maxHeight\u003d\"\".concat(this.collapsedPanelHeight,\"px\")}},created:function(){if(this.src){var t\u003dIe(this.src);t\u0026\u0026(this.fragment\u003dt)}var e\u003d!this.expandableBool\u0026\u0026\"false\"!\u003d\u003dthis.expanded;this.localExpanded\u003de||this.expandedBool,null\u003d\u003d\u003dthis.localExpanded\u0026\u0026(this.localExpanded\u003d!1),this.wasRetrieverLoaded\u003dthis.localExpanded||this.peek,this.localMinimized\u003dthis.minimizedBool},mounted:function(){this.localMinimized||this.initPanel()}};var Pn\u003dfunction(){var t\u003dthis.$createElement,e\u003dthis._self._c||t;return e(\"button\",{class:[\"collapse-button\",\"btn\",this.isLightBg?\"btn-outline-secondary\":\"btn-outline-light\"],attrs:{type:\"button\"}},[e(\"span\",{class:[\"collapse-icon\",\"glyphicon\",\"glyphicon-menu-down\",{opened:this.isOpenBool}],attrs:{\"aria-hidden\":\"true\"}})])};Pn._withStripped\u003d!0;const Ln\u003dqe({props:{isOpen:{type:[Boolean,String],default:!1},isLightBg:{type:Boolean,default:!0}},computed:{isOpenBool:function(){return Re(this.isOpen)}}},Pn,[],!1,null,null,null).exports;var Nn\u003dfunction(){var t\u003dthis.$createElement;return(this._self._c||t)(\"div\",[this._v(\"\\n Loading...\\n\")])};function An(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}Nn._withStripped\u003d!0;const zn\u003dqe({props:{src:{type:String,default:null},fragment:{type:String,default:null},delay:{type:[Boolean,String],default:!1},hasFetched:{type:Boolean,default:!1}},data:function(){return{hasFetchedCopy:this.hasFetched}},computed:{delayBool:function(){return Re(this.delay)},hash:function(){return Ie(this.src)||this.fragment},srcWithoutHash:function(){return this.src.split(\"#\")[0]}},methods:{fetch:function(t){function e(){return t.apply(this,arguments)}return e.toString\u003dfunction(){return t.toString()},e}((function(){var t\u003dthis;this.srcWithoutHash\u0026\u0026(this.hasFetchedCopy||fetch(this.srcWithoutHash).then((function(t){return t.text()})).then((function(e){var i\u003de;if(t.hash){var o\u003ddocument.implementation.createHTMLDocument(\"\");o.body.innerHTML\u003di,o.querySelectorAll(\"svg \u003e script\").forEach((function(t){return t.remove()})),i\u003do.querySelector(\"#\".concat(t.hash)).innerHTML}if(t.hasFetchedCopy\u003d!0,void 0\u003d\u003d\u003di\u0026\u0026t.hash)t.$el.innerHTML\u003d\"\u003cstrong\u003eError\u003c/strong\u003e: Failed to retrieve page fragment:\"+\" \".concat(t.srcWithoutHash,\"#\").concat(t.hash);else{var r\u003dfunction(t){for(var e\u003d1;e\u003carguments.length;e++){var i\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?An(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):An(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}({},t.$root.$data);(new(Vue.extend({template:\"\u003cdiv\u003e\\n\".concat(i,\"\\n\u003c/div\u003e\"),data:function(){return r}}))).$mount(t.$el),t.$emit(\"src-loaded\")}})).catch((function(e){console.error(e),t.$el.innerHTML\u003d\"\u003cstrong\u003eError\u003c/strong\u003e: Failed to retrieve content from source: \"+\"\u003cem\u003e\".concat(t.srcWithoutHash,\"\u003c/em\u003e\"),t.$emit(\"src-loaded\")})))}))},mounted:function(){this.$nextTick((function(){this.srcWithoutHash||(this.$el.innerHTML\u003d\"\"),this.delayBool||this.fetch()}))}},Nn,[],!1,null,null,null).exports;const Mn\u003dqe({mixins:[Bn],components:{panelSwitch:Ln,retriever:zn},computed:{showCaret:function(){return this.isSeamless\u0026\u0026this.expandableBool},isSeamless:function(){return\"seamless\"\u003d\u003d\u003dthis.type},btnType:function(){return this.isSeamless||\"light\"\u003d\u003d\u003dthis.type?\"btn-outline-secondary\":\"btn-outline-\".concat(this.type||\"secondary\")},borderType:function(){return this.isSeamless?\"border-0\":this.type?\"light\"\u003d\u003d\u003dthis.type?\"\":\"border-\".concat(this.type):\"\"},cardType:function(){return this.isSeamless?\"bg-white\":\"bg-\".concat(this.type||\"light\")},isLightBg:function(){return\"bg-light\"\u003d\u003d\u003dthis.cardType||\"bg-white\"\u003d\u003d\u003dthis.cardType||\"bg-warning\"\u003d\u003d\u003dthis.cardType}}},On,[],!1,null,\"3602e6fc\",null).exports;var Hn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.localMinimized?n(\"span\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[t.hasId?n(\"span\",{staticClass:\"anchor\",attrs:{id:t.panelId}}):t._e(),t._v(\" \"),n(\"span\",{staticClass:\"morph\"},[n(\"button\",{staticClass:\"morph-display-wrapper btn card-title morph-title\",on:{click:function(e){return t.minimalOpen()}}},[t.noMinimizedSwitch?t._e():n(\"div\",{class:[\"glyphicon\",\"glyphicon-chevron-right\"]}),t._v(\" \"),t._t(\"_alt\",(function(){return[n(\"span\",{staticClass:\"card-title\"},[t._t(\"header\")],2)]}))],2)])]):n(\"div\",{ref:\"cardContainer\",class:[\"card-container\",t.addClass]},[t.hasId?n(\"span\",{staticClass:\"anchor\",attrs:{id:t.panelId}}):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"card card-flex\"},[n(\"div\",{class:[\"header-wrapper\",{\"header-wrapper-bottom\":t.isHeaderAtBottom,\"header-toggle\":t.isExpandableCard}],on:{click:function(e){e.preventDefault(),e.stopPropagation(),t.isExpandableCard\u0026\u0026t.minimalToggle()}}},[n(\"transition\",{attrs:{name:\"header-fade\"}},[n(\"span\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.isHeaderAtBottom,expression:\"!isHeaderAtBottom\"}],ref:\"headerWrapper\",class:[\"card-title\",{ellipses:!t.hasHeaderBool}]},[n(\"span\",{staticClass:\"card-title-inline\"},[t._t(\"header\")],2),t._v(\" \"),n(\"span\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showDownSwitch,expression:\"showDownSwitch\"}],staticClass:\"minimal-button glyphicon glyphicon-menu-down minimal-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])]),t._v(\" \"),n(\"div\",{class:[\"button-wrapper\",{\"button-wrapper-expanded\":t.isHeaderAtBottom}]},[t._t(\"button\",(function(){return[n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.noCloseBool,expression:\"!noCloseBool\"}],staticClass:\"minimal-button\",attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.minimalClose()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-remove minimal-close-button\",attrs:{\"aria-hidden\":\"true\"}})]),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:null!\u003d\u003dt.popupUrl,expression:\"popupUrl !\u003d\u003d null\"}],staticClass:\"minimal-button\",attrs:{type:\"button\"},on:{click:function(e){return e.stopPropagation(),t.openPopup()}}},[n(\"span\",{staticClass:\"glyphicon glyphicon-new-window minimal-popup-button\",attrs:{\"aria-hidden\":\"true\"}})]),t._v(\" \"),n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isHeaderAtBottom\u0026\u0026t.isExpandableCard\u0026\u0026t.bottomSwitchBool,expression:\"isHeaderAtBottom \u0026\u0026 isExpandableCard \u0026\u0026 bottomSwitchBool\"}],staticClass:\"minimal-button\",attrs:{type:\"button\"}},[n(\"span\",{staticClass:\"glyphicon glyphicon-menu-up minimal-menu-up\",attrs:{\"aria-hidden\":\"true\"}})])]}))],2)],1),t._v(\" \"),n(\"div\",{ref:\"panel\",staticClass:\"card-collapse\",class:{\"card-peek-collapsed\":t.shouldShowPeek}},[t.wasRetrieverLoaded||t.preloadBool?n(\"div\",{staticClass:\"card-body\"},[t._t(\"default\"),t._v(\" \"),t.hasSrc?n(\"retriever\",{ref:\"retriever\",attrs:{src:t.srcWithoutFragment,fragment:t.fragment},on:{\"src-loaded\":t.retrieverUpdateMaxHeight}}):t._e()],2):t._e()])])])};Hn._withStripped\u003d!0;var Dn\u003dqe({mixins:[Bn],components:{retriever:zn},data:function(){return{isHeaderAtBottom:!1}},computed:{showDownSwitch:function(){return this.hasHeaderBool\u0026\u0026this.isExpandableCard\u0026\u0026!this.noSwitchBool}},methods:{minimalToggle:function(){var t\u003dthis;if(this.localExpanded){this.$refs.panel.addEventListener(\"transitionend\",(function e(n){n.target\u003d\u003d\u003dt.$refs.panel\u0026\u0026(t.isHeaderAtBottom\u003d!1,t.$refs.panel.removeEventListener(\"transitionend\",e))}))}else this.isHeaderAtBottom\u003d!0;this.toggle(!0)},minimalOpen:function(){this.open(),this.isHeaderAtBottom\u003d!0},minimalClose:function(){this.close(),this.isHeaderAtBottom\u003d!1}},created:function(){this.isHeaderAtBottom\u003dthis.localExpanded}},Hn,[],!1,null,\"6cec1f15\",null);const Rn\u003dqe({components:{nestedPanel:Mn,minimalPanel:Dn.exports},props:{panelId:{type:String,default:null},type:{type:String,default:null}},computed:{isMinimal:function(){return\"minimal\"\u003d\u003d\u003dthis.type}}},En,[],!1,null,null,null).exports;var jn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"annotate-image-wrapper\",t.addClass]},[n(\"img\",{ref:\"pic\",staticClass:\"annotate-image\",attrs:{src:t.src,alt:t.alt,width:t.computedWidth,height:t.computedHeight,loading:t.computedLoadType},on:{\"~load\":function(e){return t.computeWidthAndHeight.apply(null,arguments)}}}),t._v(\" \"),n(\"div\",{staticStyle:{top:\"0\",left:\"0\",height:\"0\"}},[t._t(\"default\")],2)])};jn._withStripped\u003d!0;const In\u003dqe({props:{src:{type:String,default:null},alt:{type:String,default:null},height:{type:String,default:\"\"},width:{type:String,default:\"\"},lazy:{type:Boolean,default:!1},addClass:{type:String,default:\"\"}},computed:{hasWidth:function(){return\"\"!\u003d\u003dthis.width},hasHeight:function(){return\"\"!\u003d\u003dthis.height},computedWidth:function(){return this.hasWidth?this.width:this.widthFromHeight},computedHeight:function(){return this.heightFromWidth},computedLoadType:function(){return this.lazy?\"lazy\":\"eager\"}},data:function(){return{widthFromHeight:\"\",heightFromWidth:\"\"}},methods:{computeWidthAndHeight:function(){var t\u003dthis.$refs.pic,e\u003dt.naturalHeight,n\u003dt.naturalWidth/e;this.hasWidth?this.heightFromWidth\u003dMath.round(je(this.width)/n).toString():this.hasHeight\u0026\u0026(this.widthFromHeight\u003dMath.round(je(this.height)*n).toString(),this.heightFromWidth\u003dthis.height)}},provide:function(){return{width:this.width,height:this.height,src:this.src}}},jn,[],!1,null,null,null).exports;var qn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[t.hasBottomText\u0026\u0026t.hasLabel?n(\"div\",{staticClass:\"legend-wrapper\"},[n(\"div\",{staticClass:\"text-header\"},[t._v(\"\\n \"+t._s(t.computedBottomHeader)+\"\\n \")]),t._v(\" \"),t.hasContent?n(\"div\",[t._t(\"content\")],2):t._e()]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"annotate-point\"},[t.isMounted?n(\"div\",{staticClass:\"popover-annotation\"},[n(\"div\",{style:t.pointPosition},[t.isMounted?n(\"v-popover\",{attrs:{placement:t.placement,delay:0,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,distance:t.computeDistance,disabled:!t.hasPopover,skidding:t.computeSkidding,\"arrow-padding\":t.computeArrowPadding,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[t.hasContent||t.hasHeader?n(\"div\",{staticClass:\"popover-container\"},[t.hasHeader?n(\"h3\",{staticClass:\"popover-header\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),t.hasContent?n(\"div\",{staticClass:\"popover-body\"},[t._t(\"content\")],2):t._e()]):t._e()]},proxy:!0}],null,!0)},[n(\"div\",{staticClass:\"hover-wrapper\"},[t._t(\"default\",(function(){return[n(\"button\",{staticClass:\"hover-point\",style:t.pointStyle})]})),t._v(\" \"),n(\"div\",{staticClass:\"hover-label\",style:t.labelStyle},[t._t(\"label\")],2)],2)]):t._e()],1)]):t._e()])])};qn._withStripped\u003d!0;const Wn\u003dqe({props:{content:{type:String,default:\"\"},header:{type:String,default:\"\"},placement:{type:String,default:\"top\"},x:{type:String,default:null},y:{type:String,default:null},color:{type:String,default:\"green\"},textColor:{type:String,default:\"black\"},fontSize:{type:String,default:\"14\"},opacity:{type:String,default:\"0.3\"},size:{type:String,default:\"40\"},label:{type:String,default:\"\"},legend:{type:String,default:\"popover\"},trigger:{type:String,default:\"click\"}},data:function(){return{targetEl:{},isMounted:!1,width:this.width,height:this.height,src:this.src}},inject:[\"width\",\"height\",\"src\"],computed:{pointPosition:function(){var t\u003dthis;this.computeImage((function(){t.width\u003dt.parentEl.offsetWidth,t.height\u003dt.parentEl.offsetHeight}));var e\u003d100*(this.toDecimal(this.x)-this.size/2/this.width),n\u003d100*(this.toDecimal(this.y)-this.size/2/this.height);return{left:\"\".concat(e,\"%\"),top:\"\".concat(n,\"%\"),position:\"absolute\",pointerEvents:\"all\"}},pointStyle:function(){var t\u003dthis.hasPopover?\"pointer\":\"default\";return{backgroundColor:this.color,opacity:this.opacity,width:\"\".concat(this.size,\"px\"),height:\"\".concat(this.size,\"px\"),cursor:t}},labelStyle:function(){return{fontSize:\"\".concat(Math.min(this.fontSize,this.size),\"px\"),color:this.textColor}},triggers:function(){return this.trigger.split(\" \")},computeDistance:function(){return\"top\"\u003d\u003d\u003dthis.placement?je(this.size*(2/3)):je(this.size/10)},computeSkidding:function(){return\"left\"\u003d\u003d\u003dthis.placement||\"right\"\u003d\u003d\u003dthis.placement?-je(this.size/4):0},computeArrowPadding:function(){return\"left\"\u003d\u003d\u003dthis.placement||\"right\"\u003d\u003d\u003dthis.placement?je(this.size/2):0},hasHeader:function(){return!!this.$scopedSlots.header},hasContent:function(){return!!this.$scopedSlots.content},hasWidth:function(){return\"\"!\u003d\u003dthis.width},hasHeight:function(){return\"\"!\u003d\u003dthis.height},hasLabel:function(){return!!this.$scopedSlots.label},hasBottomText:function(){return\"bottom\"\u003d\u003d\u003dthis.legend||\"both\"\u003d\u003d\u003dthis.legend},hasPopover:function(){return(this.hasContent||this.hasHeader)\u0026\u0026(\"popover\"\u003d\u003d\u003dthis.legend||\"both\"\u003d\u003d\u003dthis.legend)},computedBottomHeader:function(){return\"\"!\u003d\u003dthis.label\u0026\u0026\"\"\u003d\u003d\u003dthis.header?this.label:\"\"\u003d\u003d\u003dthis.label\u0026\u0026\"\"!\u003d\u003dthis.header?this.header:\"\".concat(this.label,\": \").concat(this.header)}},methods:{computeImage:function(t){var e\u003dnew Image;e.onload\u003dfunction(){t()},e.src\u003dthis.src},toDecimal:function(t){return parseFloat(t)/100}},mounted:function(){this.targetEl\u003dthis.$el,this.isMounted\u003d!0,this.parentEl\u003dthis.$el.parentElement.parentElement.querySelector(\".annotate-image\")}},qn,[],!1,null,null,null).exports;var Fn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:[\"image-wrapper\",t.addClass]},[n(\"img\",{ref:\"pic\",staticClass:\"img-fluid rounded\",attrs:{src:t.src,alt:t.alt,width:t.computedWidth,height:t.computedHeight,loading:t.computedLoadType},on:{\"~load\":function(e){return t.computeWidthAndHeight.apply(null,arguments)}}}),t._v(\" \"),n(\"span\",{staticClass:\"image-caption\"},[t._t(\"default\")],2)])};Fn._withStripped\u003d!0;const Vn\u003dqe({props:{src:{type:String,default:null},alt:{type:String,default:null},height:{type:String,default:\"\"},width:{type:String,default:\"\"},lazy:{type:Boolean,default:!1},addClass:{type:String,default:\"\"}},computed:{hasWidth:function(){return\"\"!\u003d\u003dthis.width},hasHeight:function(){return\"\"!\u003d\u003dthis.height},computedWidth:function(){return this.hasWidth?this.width:this.widthFromHeight},computedHeight:function(){return this.heightFromWidth},computedLoadType:function(){return this.lazy?\"lazy\":\"eager\"}},data:function(){return{widthFromHeight:\"\",heightFromWidth:\"\"}},methods:{computeWidthAndHeight:function(){var t\u003dthis.$refs.pic,e\u003dt.naturalHeight,n\u003dt.naturalWidth/e;this.hasWidth?this.heightFromWidth\u003dMath.round(je(this.width)/n).toString():this.hasHeight\u0026\u0026(this.widthFromHeight\u003dMath.round(je(this.height)*n).toString(),this.heightFromWidth\u003dthis.height)}}},Fn,[],!1,null,null,null).exports;var Un\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"quiz-container\",t.addClass]},[n(\"transition\",{attrs:{name:\"intro-outro-card\"},on:{\"after-leave\":t.showFirstQuestion}},[3\u003d\u003d\u003dt.state?n(\"div\",{staticClass:\"card intro-outro-card\"},[n(\"div\",{staticClass:\"card-body\"},[t._t(\"intro\",(function(){return[n(\"h4\",[t._v(\"\\n Click start to begin\\n \")])]})),t._v(\" \"),n(\"h5\",[t._v(t._s(t.questions.length)+\" questions\")]),t._v(\" \"),n(\"hr\"),t._v(\" \"),n(\"button\",{staticClass:\"btn btn-primary d-inline-block\",attrs:{type:\"button\"},on:{click:t.begin}},[t._v(\"\\n Start\\n \")])],2)]):t._e()]),t._v(\" \"),n(\"transition\",{attrs:{name:\"intro-outro-card\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:4\u003d\u003d\u003dt.state,expression:\"state \u003d\u003d\u003d 4\"}],staticClass:\"progress intro-outro-card\",staticStyle:{height:\"1px\"}},[n(\"div\",{staticClass:\"progress-bar progress-bar-z\",style:{width:t.currentQuestion/t.questions.length*100+\"%\"},attrs:{role:\"progressbar\",\"aria-valuemin\":\"0\",\"aria-valuemax\":t.questions.length,\"aria-valuenow\":t.currentQuestion}})])]),t._v(\" \"),t._t(\"default\"),t._v(\" \"),n(\"transition\",{attrs:{name:\"intro-outro-card\"},on:{\"after-enter\":t.setScoreCircleStyles,\"after-leave\":t.showFirstQuestion}},[5\u003d\u003d\u003dt.state?n(\"div\",{staticClass:\"card intro-outro-card\"},[n(\"div\",{staticClass:\"card-body\"},[n(\"h4\",{staticClass:\"mb-3\"},[t._v(\"\\n \"+t._s(t.scoreText)+\"\\n \")]),t._v(\" \"),n(\"svg\",{attrs:{viewBox:\"0 0 100 100\",width:\"120px\",height:\"120px\"}},[n(\"circle\",{staticClass:\"score-background-circle\",attrs:{cx:\"50\",cy:\"50\",r:\"42\"}}),t._v(\" \"),n(\"circle\",{ref:\"score\",staticClass:\"score-circle\",attrs:{cx:\"50\",cy:\"50\",r:\"42\",transform:\"rotate(-90, 50, 50)\",\"stroke-dashoffset\":\"264\"}}),t._v(\" \"),n(\"text\",{staticClass:\"score\",attrs:{x:\"22\",y:\"57\",textLength:\"56\"}},[t._v(t._s(t.score)+\" / \"+t._s(t.questions.length))])]),t._v(\" \"),n(\"hr\"),t._v(\" \"),n(\"button\",{staticClass:\"btn btn-outline-primary\",attrs:{type:\"button\"},on:{click:t.begin}},[t._v(\"\\n Retry\\n \")])])]):t._e()])],2)};Un._withStripped\u003d!0;const Qn\u003dqe({name:\"Quiz\",props:{addClass:{type:String,default:null}},data:function(){return{currentQuestion:0,questions:[],score:0,state:3}},provide:function(){return{questions:this.questions,gotoNextQuestion:this.gotoNextQuestion,showNextQuestion:this.showNextQuestion}},computed:{scoreText:function(){return this.score/this.questions.length\u003e.5?\"Well done!\":\"Try again?\"}},methods:{gotoNextQuestion:function(){this.questions[this.currentQuestion-1].hide(),this.currentQuestion+\u003d1},showNextQuestion:function(){this.currentQuestion\u003c\u003dthis.questions.length?this.questions[this.currentQuestion-1].show():this.complete()},begin:function(){this.currentQuestion\u003d1,this.score\u003d0,this.state\u003d4},showFirstQuestion:function(){this.questions.length\u0026\u0026this.questions[0].show()},reset:function(){this.questions.forEach((function(t){return t.reset()}))},complete:function(){this.score\u003dthis.questions.filter((function(t){return 2\u003d\u003d\u003dt.qState.state})).length,this.state\u003d5,this.reset()},setScoreCircleStyles:function(){var t\u003dthis.score/this.questions.length;this.$refs.score.style.strokeDashoffset\u003d264*(1-t),this.$refs.score.style.stroke\u003d\"#51c2f8\"}}},Un,[],!1,null,\"2b2275c0\",null).exports;var Xn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"transition\",{attrs:{name:t.questions?\"question\":null},on:{\"after-leave\":t.showNextQuestion}},[t.active?n(\"div\",{class:[\"card\",\"question\",t.shakeClass,t.addClass]},[t.$scopedSlots.header?n(\"div\",{staticClass:\"card-header alert-light border-bottom border-light text-dark\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"card-body\"},[t._t(\"default\"),t._v(\" \"),t.isTextQuestion()?n(\"div\",{staticClass:\"mb-2\"},[n(\"textarea\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.textareaText,expression:\"textareaText\"}],staticClass:\"form-control\",attrs:{disabled:t.qState.answered},domProps:{value:t.textareaText},on:{input:function(e){e.target.composing||(t.textareaText\u003de.target.value)}}}),t._v(\" \"),t.qState.answered?n(\"div\",[n(\"hr\"),t._v(\" \"),t.keywordsSplitTrimmed().length?n(\"strong\",[t._v(\"\\n Keywords: \\n \"),t._l(t.keywordsSplitTrimmed(),(function(e){return n(\"span\",{key:e,staticClass:\"badge rounded-pill bg-light text-dark fw-normal\"},[t._v(\"\\n \"+t._s(e)+\"\\n \")])}))],2):t._e()]):t._e()]):t._e(),t._v(\" \"),t.qState.answered\u0026\u0026t.isTextQuestion()?n(\"div\",{staticClass:\"answer\"},[t._t(\"answer\")],2):t._e(),t._v(\" \"),t.showHint?n(\"box\",{staticClass:\"mb-0 mt-3\",attrs:{type:\"tip\"}},[t._t(\"hint\")],2):t._e()],2),t._v(\" \"),t.showCardFooter?n(\"div\",{staticClass:\"card-footer alert-light border-top border-light text-dark\"},[1\u003d\u003d\u003dt.qState.state?n(\"i\",{staticClass:\"fa fa-times text-danger border-danger result-icon\"}):2\u003d\u003d\u003dt.qState.state?n(\"i\",{staticClass:\"fa fa-check text-success border-success result-icon\"}):t._e(),t._v(\" \"),n(\"transition-group\",{staticClass:\"float-end\",attrs:{name:\"q-btn\",tag:\"div\"}},[t.$scopedSlots.hint\u0026\u0026!t.showHint?n(\"button\",{key:\"hint\",staticClass:\"btn btn-success q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){t.showHint\u003d!0}}},[t._v(\"\\n Hint\\n \")]):t._e(),t._v(\" \"),0!\u003d\u003dt.qState.state||t.isTextWithoutKeywords()\u0026\u0026!t.$scopedSlots.answer?t._e():n(\"button\",{key:\"check\",staticClass:\"btn btn-primary q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){return t.checkAnswer(!!t.questions)}}},[t._v(\"\\n Check\\n \")]),t._v(\" \"),0!\u003d\u003dt.qState.state\u0026\u0026t.questions?n(\"button\",{key:\"active\",staticClass:\"btn btn-primary q-btn ms-1\",attrs:{type:\"button\"},on:{\"~click\":function(e){return t.gotoNextQuestion.apply(null,arguments)}}},[t._v(\"\\n Next\\n \")]):t._e(),t._v(\" \"),t.retryState?n(\"button\",{key:\"show\",staticClass:\"btn btn-info q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){return t.checkAnswer(!0)}}},[t._v(\"\\n Show\\n \")]):t._e(),t._v(\" \"),t.retryState?n(\"button\",{key:\"retry\",staticClass:\"btn btn-primary q-btn ms-1\",attrs:{type:\"button\"},on:{click:function(e){return t.checkAnswer(!1)}}},[t._v(\"\\n Retry\\n \")]):t._e()])],1):t._e()]):t._e()])};Xn._withStripped\u003d!0;function Yn(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function Kn(t){for(var e\u003d1;e\u003carguments.length;e++){var i\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?Yn(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):Yn(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}const Gn\u003dqe({name:\"Question\",mixins:[{data:function(){return{active:!0}},inject:{questions:{default:void 0},gotoNextQuestion:{default:void 0},showNextQuestion:{default:\"\"}},methods:{show:function(){this.active\u003d!0},hide:function(){this.active\u003d!1},reset:function(){this.active\u003d!1,this.qState.answered\u003d!1,this.qState.state\u003d0,this.showHint\u003d!1,this.textareaText\u0026\u0026(this.textareaText\u003d\"\"),this.answers\u0026\u0026this.answers.splice(0,this.answers.length)}},created:function(){this.questions\u0026\u0026(this.active\u003d!1,this.questions.push(this))}}],props:{type:{type:String,default:\"\"},addClass:{type:String,default:null},keywords:{type:String,default:\"\"},threshold:{type:[String,Number],default:1},noIntermediateResult:{type:Boolean}},computed:{retryState:function(){return 1\u003d\u003d\u003dthis.qState.state\u0026\u0026!this.qState.answered\u0026\u0026!this.questions},showCardFooter:function(){var t\u003d!this.$scopedSlots.hint||this.showHint;return!(this.isTextWithoutKeywords()\u0026\u0026t\u0026\u0026this.qState.answered\u0026\u0026!this.questions)}},data:function(){var t\u003d{qState:{state:0,answered:!1},showHint:!1,shakeClass:null};return this.isMcqOrCheckboxQuestion()||this.isBlanksQuestion()?Kn({answers:[]},t):this.isTextQuestion()?Kn({textareaText:\"\"},t):t},provide:function(){return this.isMcqOrCheckboxQuestion()?{answers:this.answers,qOptionType:this.type,qState:this.qState}:this.isBlanksQuestion()?{answers:this.answers,qOptionType:this.type,qState:this.qState,noIntermediateResult:this.noIntermediateResult}:void 0},methods:{keywordsSplitTrimmed:function(){return this.keywords.split(\",\").filter((function(t){return\"\"!\u003d\u003dt.trim()}))},isMcqOrCheckboxQuestion:function(){return\"mcq\"\u003d\u003d\u003dthis.type||\"checkbox\"\u003d\u003d\u003dthis.type},isBlanksQuestion:function(){return\"blanks\"\u003d\u003d\u003dthis.type},isTextQuestion:function(){return\"text\"\u003d\u003d\u003dthis.type},isTextWithoutKeywords:function(){return this.isTextQuestion()\u0026\u0026!this.keywords},shakeCard:function(){var t\u003dthis;this.shakeClass\u003d\"shake\",setTimeout((function(){t.shakeClass\u003dnull}),800)},markAsCorrect:function(){this.qState.state\u003d2,this.qState.answered\u003d!0},markAsWrong:function(t){this.qState.state\u003d1,t?this.qState.answered\u003d!0:this.shakeCard()},checkMcqAnswer:function(t){var e\u003dthis.answers.find((function(t){return t.selected}));e?e.$props.correct?this.markAsCorrect():this.markAsWrong(t):this.shakeCard()},checkCheckboxAnswer:function(t){this.answers.filter((function(t){return t.answeredCorrectly})).length\u003d\u003d\u003dthis.answers.length?this.markAsCorrect():this.markAsWrong(t)},checkBlanksAnswer:function(t){for(var e\u003d0,n\u003d0;n\u003cthis.answers.length;n+\u003d1)this.answers[n].checkAnswer(),this.answers[n].ansIsCorrect\u0026\u0026(e+\u003d1);e/this.answers.length\u003e\u003dthis.threshold?this.markAsCorrect():this.markAsWrong(t)},checkTextAnswer:function(t){for(var e\u003dthis.textareaText.toLowerCase(),n\u003dthis.keywordsSplitTrimmed(),i\u003d0,o\u003d0;o\u003cn.length;o+\u003d1)e.includes(n[o].toLowerCase())\u0026\u0026(i+\u003d1);i/n.length\u003e\u003dthis.threshold?this.markAsCorrect():this.markAsWrong(t)},checkAnswer:function(t){\"mcq\"\u003d\u003d\u003dthis.type?this.checkMcqAnswer(t):\"checkbox\"\u003d\u003d\u003dthis.type?this.checkCheckboxAnswer(t):\"blanks\"\u003d\u003d\u003dthis.type?this.checkBlanksAnswer(t):this.isTextQuestion()?this.checkTextAnswer(t):this.markAsCorrect()}}},Xn,[],!1,null,\"ae369d74\",null).exports;var Zn\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return\"mcq\"\u003d\u003d\u003dt.qOptionType?n(\"div\",{class:[\"form-control\",t.hintClass],on:{click:t.toggleRadioOn,mouseover:function(e){t.hover\u003d!0},mouseleave:function(e){t.hover\u003d!1}}},[n(\"div\",{class:[\"row\",{disabled:t.qState.answered}]},[n(\"div\",{staticClass:\"col-auto p-0\"},[n(\"svg\",{staticClass:\"radio-svg\",attrs:{viewBox:\"0 0 100 100\"}},[n(\"circle\",{attrs:{cx:\"50\",cy:\"50\",r:\"47\",fill:\"none\",stroke:\"black\",\"stroke-width\":\"4\"}}),t._v(\" \"),n(\"circle\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.selected,expression:\"selected\"}],attrs:{cx:\"50\",cy:\"50\",r:\"25\",fill:\"dodgerblue\"}})])]),t._v(\" \"),n(\"div\",{staticClass:\"col content\"},[t._t(\"default\")],2),t._v(\" \"),n(\"div\",{staticClass:\"col-1\"},[t.qState.answered?n(\"div\",[t.correct?n(\"i\",{staticClass:\"fa fa-check text-success\",class:{\"align-bottom\":t.$scopedSlots.reason}}):n(\"i\",{staticClass:\"fa fa-times text-danger\",class:{\"align-bottom\":t.$scopedSlots.reason}})]):t._e()])]),t._v(\" \"),t.qState.answered\u0026\u0026t.$scopedSlots.reason?n(\"div\",[n(\"hr\"),t._v(\" \"),n(\"div\",{staticClass:\"reason\"},[t._t(\"reason\")],2)]):t._e()]):\"checkbox\"\u003d\u003d\u003dt.qOptionType?n(\"div\",{class:[\"form-control\",t.hintClass],on:{click:t.toggleCheckbox,mouseover:function(e){t.hover\u003d!0},mouseleave:function(e){t.hover\u003d!1}}},[n(\"label\",{class:[\"row\",\"checkbox-label\",\"m-0\",{disabled:t.qState.answered}],on:{click:function(t){t.stopPropagation()}}},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.selected,expression:\"selected\"}],staticClass:\"checkbox\",attrs:{disabled:t.qState.answered,type:\"checkbox\",onclick:\"event.stopPropagation()\"},domProps:{checked:Array.isArray(t.selected)?t._i(t.selected,null)\u003e-1:t.selected},on:{change:function(e){var n\u003dt.selected,i\u003de.target,o\u003d!!i.checked;if(Array.isArray(n)){var r\u003dt._i(n,null);i.checked?r\u003c0\u0026\u0026(t.selected\u003dn.concat([null])):r\u003e-1\u0026\u0026(t.selected\u003dn.slice(0,r).concat(n.slice(r+1)))}else t.selected\u003do}}}),t._v(\" \"),n(\"div\",{staticClass:\"col content\"},[t._t(\"default\")],2),t._v(\" \"),n(\"div\",{staticClass:\"col-auto\"},[t.qState.answered?n(\"div\",[t.correct?n(\"i\",{staticClass:\"fa fa-check text-success\",class:{\"align-bottom\":t.$scopedSlots.reason}}):n(\"i\",{staticClass:\"fa fa-times text-danger\",class:{\"align-bottom\":t.$scopedSlots.reason}})]):t._e()])]),t._v(\" \"),t.qState.answered\u0026\u0026t.$scopedSlots.reason?n(\"div\",[n(\"hr\"),t._v(\" \"),n(\"div\",{staticClass:\"reason\"},[t._t(\"reason\")],2)]):t._e()]):\"blanks\"\u003d\u003d\u003dt.qOptionType?n(\"div\",{class:[\"form-control\",\"blanks-form-control\",t.hintClass]},[n(\"label\",{class:[\"row\",\"m-0\",{disabled:t.qState.answered}],on:{click:function(t){t.stopPropagation()}}},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.inputText,expression:\"inputText\"}],staticClass:\"form-control\",attrs:{disabled:t.qState.answered},domProps:{value:t.inputText},on:{input:function(e){e.target.composing||(t.inputText\u003de.target.value)}}}),t._v(\" \"),n(\"div\",{staticClass:\"col-auto\"},[t.qState.answered?n(\"div\",[t.ansIsCorrect?n(\"i\",{staticClass:\"fa fa-check text-success\"}):n(\"i\",{staticClass:\"fa fa-times text-danger blanks-cross\"})]):t._e(),t._v(\" \"),t.isIntermediateResult()?n(\"div\",[t.ansIsCorrect?n(\"i\",{staticClass:\"fa fa-check text-success\"}):n(\"i\",{staticClass:\"fa fa-times text-danger blanks-cross\"})]):t._e()]),t._v(\" \"),t.qState.answered?n(\"div\",{staticClass:\"col-auto blanks-keywords\"},[t.keywordsSplitTrimmed().length?n(\"strong\",[t._v(\"\\n Keywords: \\n \"),t._l(t.keywordsSplitTrimmed(),(function(e){return n(\"span\",{key:e,staticClass:\"badge rounded-pill bg-light text-dark fw-normal\"},[t._v(\"\\n \"+t._s(e)+\"\\n \")])}))],2):n(\"strong\",[t._v(\"No answer checking keywords provided\")])]):t._e()]),t._v(\" \"),t.qState.answered\u0026\u0026t.$scopedSlots.reason?n(\"div\",[n(\"div\",{staticClass:\"reason blanks-reason\"},[t._t(\"reason\")],2)]):t._e()]):t._e()};Zn._withStripped\u003d!0;const Jn\u003dqe({name:\"McqOption\",props:{correct:{type:Boolean,default:!1},keywords:{type:String,default:\"\"}},data:function(){return{selected:!1,hover:!1,inputText:\"\",ansIsCorrect:!1}},inject:{answers:{default:void 0},qOptionType:{default:void 0},qState:{default:void 0},noIntermediateResult:{default:void 0}},computed:{hintClass:function(){return this.qState.answered?this.correct?\"success\":\"danger\":this.selected||this.hover?\"alert-light text-dark border border-secondary\":\"\"},answeredCorrectly:function(){return this.correct\u0026\u0026this.selected||!this.correct\u0026\u0026!this.selected}},methods:{checkAnswer:function(){var t\u003d!1,e\u003dthis.inputText.toLowerCase().trim(),n\u003dthis.keywords.toLowerCase().split(\",\").filter((function(t){return\"\"!\u003d\u003dt.trim()}));this.keywords.length||(t\u003d!0);for(var i\u003d0;i\u003cn.length;i+\u003d1)if(e\u003d\u003d\u003dn[i].trim()){t\u003d!0;break}this.ansIsCorrect\u003dt},isIntermediateResult:function(){return!this.noIntermediateResult\u0026\u00261\u003d\u003d\u003dthis.qState.state\u0026\u0026!this.qState.answered},isBlanksQuestion:function(){return\"blanks\"\u003d\u003d\u003dthis.type},keywordsSplitTrimmed:function(){return this.keywords.split(\",\").filter((function(t){return\"\"!\u003d\u003dt.trim()}))},toggleRadioOn:function(){this.qState.answered||this.selected||(this.answers.forEach((function(t){t.selected\u003d!1})),this.selected\u003d!0)},toggleCheckbox:function(){this.qState.answered||(this.selected\u003d!this.selected)}},created:function(){this.answers.push(this)}},Zn,[],!1,null,\"1074287c\",null).exports;var ti\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{staticClass:\"dropdown\",staticStyle:{position:\"relative\"}},[t.algolia?n(\"div\",{attrs:{id:\"algolia-search-input\"}}):[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.value,expression:\"value\"}],staticClass:\"form-control\",attrs:{\"data-bs-toggle\":\"dropdown\",type:\"text\",placeholder:t.placeholder,autocomplete:\"off\"},domProps:{value:t.value},on:{input:[function(e){e.target.composing||(t.value\u003de.target.value)},t.update],keyup:[function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"])?null:t.up.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"])?null:t.down.apply(null,arguments)}],keydown:[function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.hit.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])?null:t.reset.apply(null,arguments)}],blur:function(e){t.showDropdown\u003d!1}}}),t._v(\" \"),n(\"div\",{staticClass:\"form-control placeholder-div-hidden\"},[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])],t._v(\" \"),n(\"ul\",{ref:\"dropdown\",class:t.dropdownMenuClasses},t._l(t.items,(function(e,i){return n(\"li\",{key:i,class:{\"table-active\":t.isActive(i)}},[n(\"a\",{staticClass:\"dropdown-item\",on:{mousedown:function(e){return e.preventDefault(),t.hit.apply(null,arguments)},mousemove:function(e){return t.setActive(i)}}},[n(\"searchbar-page-item\",{attrs:{item:e,value:t.value}})],1)])})),0)],2)};function ei(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n\u003dnull\u003d\u003dt?null:\"undefined\"!\u003dtypeof Symbol\u0026\u0026t[Symbol.iterator]||t[\"@@iterator\"];if(null!\u003dn){var i,o,r,s,a\u003d[],l\u003d!0,c\u003d!1;try{if(r\u003d(n\u003dn.call(t)).next,0\u003d\u003d\u003de){if(Object(n)!\u003d\u003dn)return;l\u003d!1}else for(;!(l\u003d(i\u003dr.call(n)).done)\u0026\u0026(a.push(i.value),a.length!\u003d\u003de);l\u003d!0);}catch(t){c\u003d!0,o\u003dt}finally{try{if(!l\u0026\u0026null!\u003dn.return\u0026\u0026(s\u003dn.return(),Object(s)!\u003d\u003ds))return}finally{if(c)throw o}}return a}}(t,e)||bn(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}ti._withStripped\u003d!0;var ni\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.item.heading?n(\"div\",{staticClass:\"heading\"},[n(\"i\",{staticClass:\"fa fa-hashtag\"}),t._v(\" \"),n(\"div\",{staticClass:\"heading-text\"},[n(\"span\",{domProps:{innerHTML:t._s(t.highlight(t.item.heading.text,t.value))}}),t._v(\" \"),t._l(t.item.keywords,(function(e,i){return n(\"div\",{key:i,staticClass:\"keyword-text\",domProps:{innerHTML:t._s(t.highlight(e,t.value))}})}))],2)]):n(\"div\",[n(\"span\",{staticClass:\"page-title\",domProps:{innerHTML:t._s(t.highlight(t.item.title,t.value))}}),t._v(\" \"),t.item.keywords?n(\"br\"):t._e(),t._v(\" \"),t.item.keywords?n(\"small\",{domProps:{innerHTML:t._s(t.highlight(t.item.keywords,t.value))}}):t._e(),t._v(\" \"),n(\"hr\",{staticClass:\"page-headings-separator\"})])};ni._withStripped\u003d!0;const ii\u003dqe({props:{item:{type:Object,default:null},value:{type:String,default:\"\"}},methods:{highlight:function(t,e){for(var n,i\u003d(n\u003dfunction(){var n\u003de.split(\" \").filter((function(t){return\"\"!\u003d\u003dt})).map((function(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$\u0026\")})).map((function(t){return new RegExp(\"(\".concat(t,\")\"),\"gi\")})),i\u003d[];return n.forEach((function(e){for(var n\u003de.exec(t);null!\u003d\u003dn\u0026\u0026n.index!\u003d\u003de.lastIndex;)i.push({start:n.index,end:e.lastIndex}),n\u003de.exec(t)})),i}()).length\u003c\u003d1?n:n.sort((function(t,e){return t.start-e.start})).reduce((function(t,e){var n\u003dt[t.length-1];return!n||n.end\u003ce.start?t.push(e):n.end\u003ce.end\u0026\u0026(n.end\u003de.end),t}),[]),o\u003dt,r\u003di.length-1;r\u003e\u003d0;r-\u003d1)o\u003d\"\".concat(o.slice(0,i[r].start),\"\u003cmark\u003e\")+\"\".concat(o.slice(i[r].start,i[r].end),\"\u003c/mark\u003e\")+\"\".concat(o.slice(i[r].end));return o}}},ni,[],!1,null,\"98afe086\",null).exports;const oi\u003dqe({created:function(){this.items\u003dthis.primitiveData},props:{data:{type:Array,default:function(){return[]}},limit:{type:Number,default:8},async:{type:String,default:\"\"},keyProp:{type:String,default:null},onHit:{type:Function,default:function(t){this.reset(),this.value\u003dt}},placeholder:{type:String,default:\"Search\"},delay:{type:Number,default:200},menuAlignRight:{type:Boolean,default:!1},algolia:{type:Boolean,default:!1}},data:function(){return{value:\"\",showDropdown:!1,noResults:!0,current:0,items:[]}},computed:{primitiveData:function(){function t(t,e){var n\u003dt.join(\" \");return e.reduce((function(t,e){var i\u003dn.match(e);return t+(i?i.length:0)}),0)}if(this.value.length\u003c2||!this.data)return[];var e\u003d[],n\u003dthis.value.split(\" \").filter((function(t){return\"\"!\u003d\u003dt})).map((function(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$\u0026\")})).map((function(t){return new RegExp(t,\"ig\")}));return this.data.forEach((function(i){var o\u003di.headings,r\u003di.src,s\u003di.title,a\u003di.headingKeywords,l\u003di.frontmatterKeywords||\"\",c\u003ds||r.substring(0,r.lastIndexOf(\".\")),u\u003dt([c,l].concat(_n(Object.values(o)),_n(Object.values(a))),n);if(u\u003e0){var d\u003d[];Object.entries(o).forEach((function(e,i){var o\u003dei(e,2),s\u003do[0],u\u003do[1],h\u003dn.some((function(t){return t.test(u)})),p\u003da[s]\u0026\u0026a[s].some((function(t){return n.some((function(e){return e.test(t)}))}));if(h||p){var f\u003dt([u].concat(_n(a[s]||[])),n);(0!\u003d\u003di||u!\u003d\u003dc||l.length)\u0026\u0026d.push({heading:{id:s,text:u},keywords:a[s],src:r,totalMatches:f})}})),d.sort((function(t,e){return e.totalMatches-t.totalMatches})),e.push({headings:d,keywords:l,src:r,title:c,totalMatches:u})}})),e.sort((function(t,e){return e.totalMatches-t.totalMatches})).flatMap((function(t){return t.headings?[t].concat(_n(t.headings)):t}))},dropdownMenuClasses:function(){return[\"dropdown-menu\",\"search-dropdown-menu\",{show:this.showDropdown},{\"d-none\":!this.showDropdown},{\"dropdown-menu-end\":this.menuAlignRight}]}},methods:{update:function(){return this.value?(this.data\u0026\u0026(this.items\u003dthis.primitiveData,this.showDropdown\u003dthis.items.length\u003e0),this.async\u0026\u0026this.query(),!0):(this.reset(),!1)},query:function(t,e){var n,i\u003darguments.length\u003e2\u0026\u0026void 0!\u003d\u003darguments[2]?arguments[2]:100;function o(t){return/^[0-9]+$/.test(t)?Number(t)||1:null}return function(){for(var r\u003dthis,s\u003darguments.length,a\u003dnew Array(s),l\u003d0;l\u003cs;l++)a[l]\u003darguments[l];n\u0026\u0026clearTimeout(n),n\u003dsetTimeout((function(){t.apply(r,a)}),o(e)||o(this[e])||i)}}((function(){var t\u003dthis;(function(t){var e\u003dnew window.XMLHttpRequest,n\u003d{},i\u003d{then:function(t,e){return i.done(t).fail(e)},catch:function(t){return i.fail(t)},always:function(t){return i.done(t).fail(t)}};return[\"done\",\"fail\"].forEach((function(t){n[t]\u003d[],i[t]\u003dfunction(e){return e instanceof Function\u0026\u0026n[t].push(e),i}})),i.done(JSON.parse),e.onreadystatechange\u003dfunction(){if(4\u003d\u003d\u003de.readyState){var t\u003d{status:e.status};if(200\u003d\u003d\u003de.status)try{var i\u003de.responseText;for(var o in n.done){var r\u003dn.done[o](i);void 0!\u003d\u003dr\u0026\u0026(i\u003dr)}}catch(t){n.fail.forEach((function(e){return e(t)}))}else n.fail.forEach((function(e){return e(t)}))}},e.open(\"GET\",t),e.setRequestHeader(\"Accept\",\"application/json\"),e.send(),i})(this.async+this.value).then((function(e){t.items\u003d(t.keyProp?e[t.keyProp]:e).slice(0,t.limit),t.showDropdown\u003dt.items.length}))}),\"delay\",200),reset:function(){this.items\u003d[],this.value\u003d\"\",this.loading\u003d!1,this.showDropdown\u003d!1},setActive:function(t){this.current\u003dt},isActive:function(t){return this.current\u003d\u003d\u003dt},hit:function(t){t.preventDefault(),this.onHit(this.items[this.current],this)},down:function(){this.current\u003cthis.items.length-1\u0026\u0026(this.current+\u003d1,this.scrollListView())},up:function(){this.current\u003e0\u0026\u0026(this.current-\u003d1,this.scrollListView())},scrollListView:function(){var t\u003dthis.$refs.dropdown,e\u003dt.children[this.current],n\u003dt.scrollTop,i\u003dn+t.clientHeight,o\u003de.offsetTop+e.offsetHeight;e.offsetTop\u003cn?t.scrollTop\u003de.offsetTop:o\u003ei\u0026\u0026(t.scrollTop\u003do-t.clientHeight)}},components:{searchbarPageItem:ii}},ti,[],!1,null,\"cea1a814\",null).exports;var ri\u003dfunction(){var t\u003dthis.$createElement,e\u003dthis._self._c||t;return e(\"div\",{staticClass:\"tab-pane active printable-tab-pane\",class:{\"tab-pane-hide\":!this.show},attrs:{role:\"tabpanel\"}},[e(\"div\",{staticClass:\"nav-tabs printable-tab-header\"},[e(\"div\",{ref:\"header\",staticClass:\"nav-link active\"},[this._t(\"header\")],2)]),this._v(\" \"),this._t(\"default\"),this._v(\" \"),e(\"hr\")],2)};ri._withStripped\u003d!0;const si\u003dqe({props:{header:{type:String,default:\"\"},disabled:{type:[Boolean,String],default:!1}},computed:{headerRendered:function(){return this.$refs.header.innerHTML},active:function(){return this._tabset.show\u003d\u003d\u003dthis},index:function(){return this._tabset.tabs.indexOf(this)},show:function(){return this._tabset\u0026\u0026this._tabset.show\u003d\u003d\u003dthis},disabledBool:function(){return Re(this.disabled)}},created:function(){this._ingroup\u003dthis.$parent\u0026\u0026this.$parent._tabgroup;for(var t\u003dthis;t\u0026\u0026!0!\u003d\u003dt._tabset\u0026\u0026t.$parent;)t\u003dt.$parent;t._tabset?(t.tabs.push(this),this._ingroup?~t.headers.indexOf(this.$parent)||t.headers.push(this.$parent):t.headers.push(this),this._tabset\u003dt):this._tabset\u003d{},this._ingroup\u0026\u0026this.$parent.tabs.push(this)},beforeDestroy:function(){if(this._tabset.activeNumber\u003d\u003d\u003dthis.index\u0026\u0026(this._tabset.activeNumber\u003d0),this._ingroup){var t\u003dthis.$parent.tabs.indexOf(this);this.$parent.tabs.splice(t,1)}this._tabset.tabs.splice(this.index,1)}},ri,[],!1,null,\"661c1b61\",null).exports;var ai\u003dfunction(){var t\u003dthis.$createElement,e\u003dthis._self._c||t;return e(\"div\",{staticClass:\"printable-tab-group\"},[e(\"div\",{ref:\"header\",staticClass:\"printable-tab-group-header\"},[this._t(\"header\")],2),this._v(\" \"),this._t(\"default\")],2)};ai._withStripped\u003d!0;const li\u003dqe({props:{disabled:{type:[Boolean,String],default:!1},header:{type:String,default:\"\"}},data:function(){return{tabs:[],show:!1}},computed:{active:function(){return~this.tabs.indexOf(this._tabset.show)},headerRendered:function(){return this.$refs.header.innerHTML},disabledBool:function(){return De(this.disabled)}},created:function(){this._tabgroup\u003d!0;for(var t\u003dthis.$parent\u0026\u0026!0\u003d\u003d\u003dthis.$parent._tabset?this.$parent:{};t\u0026\u0026!t._tabset\u0026\u0026t.$parent;)t\u003dt.$parent;t._tabset?this._tabset\u003dt:(this._tabset\u003d{},this.show\u003d!0)},methods:{blur:function(){this.show\u003d!1},toggle:function(){this.show\u003d!this.show}}},ai,[],!1,null,\"a785351c\",null).exports;var ci\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[t.addClass,\"printable-tabs\"]},[n(\"ul\",{staticClass:\"nav nav-tabs d-print-none\",class:t.getNavStyleClass,attrs:{role:\"tablist\"}},[t._l(t.headers,(function(e,i){return[e._tabgroup?n(\"dropdown\",{key:i,staticClass:\"nav-item\",class:{active:e.active},attrs:{header:e.headerRendered,disabled:e.disabled}},t._l(e.tabs,(function(e,i){return n(\"li\",{key:i},[n(\"a\",{staticClass:\"nav-link\",class:{disabled:e.disabled},attrs:{href:\"#\"},domProps:{innerHTML:t._s(e.headerRendered)},on:{click:function(n){return n.preventDefault(),t.select(e)}}})])})),0):n(\"li\",{key:i,staticClass:\"nav-item\",on:{click:function(n){return n.preventDefault(),t.select(e)}}},[n(\"a\",{staticClass:\"nav-link\",class:{active:e.active,disabled:e.disabledBool},attrs:{href:\"#\"}},[n(\"span\",{domProps:{innerHTML:t._s(e.headerRendered)}})])])]}))],2),t._v(\" \"),n(\"div\",{ref:\"tab-content\",staticClass:\"tab-content\"},[t._t(\"default\")],2)])};ci._withStripped\u003d!0;const ui\u003dqe({components:{dropdown:gn},props:{navStyle:{type:String,default:\"tabs\"},active:{type:String,default:\"0\"},addClass:{type:String,default:\"\"}},data:function(){return{show:null,headers:[],activeNumber:je(this.active),tabs:[]}},created:function(){this._tabset\u003d!0},computed:{getNavStyleClass:function(){return\"nav-\".concat(this.navStyle)}},watch:{activeNumber:function(t){this.show\u003dthis.tabs[t]}},mounted:function(){this.show\u003dthis.tabs[this.activeNumber]},methods:{select:function(t){t.disabled||(this.activeNumber\u003dt.index)}}},ci,[],!1,null,\"70a68808\",null).exports;var di\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:[\"thumb-wrapper\",{\"thumb-circle\":t.circle},t.addClass],style:[t.getBorder,t.getFontSize,t.getFontColor,t.getBgColor]},[t.hasSrc?n(\"img\",{ref:\"pic\",staticClass:\"thumb-image\",attrs:{src:t.src,width:t.computedWidth,height:t.computedHeight,alt:t.alt},on:{\"~load\":function(e){return t.computeImgSize.apply(null,arguments)}}}):t._e(),t._v(\" \"),t._t(\"default\")],2)};di._withStripped\u003d!0;const hi\u003dqe({props:{circle:{type:Boolean,default:!1},addClass:{type:String,default:\"\"},alt:{type:String,default:\"\"},background:{type:String,default:\"\"},border:{type:String,default:\"\"},fontColor:{type:String,default:\"\"},fontSize:{type:String,default:\"\"},size:{type:String,default:\"\"},src:{type:String,default:null},text:{type:String,default:\"\"}},computed:{getBorder:function(){return\"\"\u003d\u003d\u003dthis.border?{}:{border:this.border}},getFontSize:function(){var t\u003dthis.imageSize/2,e\u003dthis.fontSize;return{\"font-size\":\"\".concat(void 0\u003d\u003d\u003de||\"\"\u003d\u003d\u003de?t:e,\"px\")}},getFontColor:function(){return\"\"\u003d\u003d\u003dthis.fontColor?{}:{color:this.fontColor}},getBgColor:function(){return\"\"\u003d\u003d\u003dthis.background?{}:{background:this.background}},hasSrc:function(){return void 0!\u003d\u003dthis.src\u0026\u0026\"\"!\u003d\u003dthis.src},imageSize:function(){return this.size||100}},data:function(){return{computedWidth:\"\",computedHeight:\"\"}},mounted:function(){var t\u003dthis.$el;t.style.width\u003d\"\".concat(this.imageSize,\"px\"),t.style.height\u003d\"\".concat(this.imageSize,\"px\"),t.style.lineHeight\u003d\"\".concat(this.imageSize,\"px\")},methods:{computeImgSize:function(){var t\u003dthis.$refs.pic,e\u003dt.naturalHeight,n\u003dt.naturalWidth,i\u003dMath.min(e,n),o\u003dthis.imageSize/i;this.computedWidth\u003dn*o,this.computedHeight\u003de*o}}},di,[],!1,null,null,null).exports;var pi\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:\"click\"\u003d\u003d\u003dt.trigger?\"trigger-click\":\"trigger\",attrs:{tabindex:\"0\"},on:t._d({},[t.triggerEventType,function(e){return e.stopPropagation(),t.toggle()}])},[\"popover\"\u003d\u003d\u003dt.popoverOrTooltipType?n(\"v-popover\",{attrs:{\"auto-hide\":!t.isInput,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,placement:t.placement,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[n(\"div\",{staticClass:\"popover-container\"},[n(\"portal-target\",{attrs:{name:\"popover:\"+t.target}})],1)]},proxy:!0}],null,!1,1583262462)},[t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):\"tooltip\"\u003d\u003d\u003dt.popoverOrTooltipType?n(\"v-tooltip\",{attrs:{\"auto-hide\":!t.isInput,placement:t.placement,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[n(\"portal-target\",{attrs:{name:\"tooltip:\"+t.target}})]},proxy:!0}])},[t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):n(\"span\",[t._t(\"default\")],2)],1)};pi._withStripped\u003d!0;var fi\u003di(383);function mi(t){return(mi\u003d\"function\"\u003d\u003dtypeof Symbol\u0026\u0026\"symbol\"\u003d\u003dtypeof Symbol.iterator?function(t){return typeof t}:function(t){return t\u0026\u0026\"function\"\u003d\u003dtypeof Symbol\u0026\u0026t.constructor\u003d\u003d\u003dSymbol\u0026\u0026t!\u003d\u003dSymbol.prototype?\"symbol\":typeof t})(t)}function vi(t,e){for(var n\u003d0;n\u003ce.length;n++){var i\u003de[n];i.enumerable\u003di.enumerable||!1,i.configurable\u003d!0,\"value\"in i\u0026\u0026(i.writable\u003d!0),Object.defineProperty(t,i.key,i)}}function gi(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]\u003dn,t}function yi(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function wi(t){for(var e\u003d1;e\u003carguments.length;e++){var n\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?yi(Object(n),!0).forEach((function(e){gi(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):yi(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function bi(t){return function(t){if(Array.isArray(t))return _i(t)}(t)||function(t){if(\"undefined\"!\u003dtypeof Symbol\u0026\u0026Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(t){if(\"string\"\u003d\u003dtypeof t)return _i(t,e);var n\u003dObject.prototype.toString.call(t).slice(8,-1);return\"Object\"\u003d\u003d\u003dn\u0026\u0026t.constructor\u0026\u0026(n\u003dt.constructor.name),\"Map\"\u003d\u003d\u003dn||\"Set\"\u003d\u003d\u003dn?Array.from(t):\"Arguments\"\u003d\u003d\u003dn||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_i(t,e):void 0}}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function _i(t,e){(null\u003d\u003de||e\u003et.length)\u0026\u0026(e\u003dt.length);for(var n\u003d0,i\u003dnew Array(e);n\u003ce;n++)i[n]\u003dt[n];return i}var Si\u003dfunction(t){return t\u003d\u003ddocument.activeElement},xi\u003dfunction(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.root\u003dnull,this.elements\u003d[],this.onKeyDown\u003dthis.onKeyDown.bind(this),this.enable\u003dthis.enable.bind(this),this.disable\u003dthis.disable.bind(this),this.firstElement\u003dthis.firstElement.bind(this),this.lastElement\u003dthis.lastElement.bind(this)}var e,n;return e\u003dt,(n\u003d[{key:\"lastElement\",value:function(){return this.elements[this.elements.length-1]||null}},{key:\"firstElement\",value:function(){return this.elements[0]||null}},{key:\"onKeyDown\",value:function(t){if(function(t){return\"Tab\"\u003d\u003d\u003dt.key||9\u003d\u003d\u003dt.keyCode}(t)){if(!t.shiftKey)return!document.activeElement||Si(this.lastElement())?(this.firstElement().focus(),void t.preventDefault()):void 0;Si(this.firstElement())\u0026\u0026(this.lastElement().focus(),t.preventDefault())}}},{key:\"enabled\",value:function(){return!!this.root}},{key:\"enable\",value:function(t){t\u0026\u0026(this.root\u003dt,this.elements\u003dfunction(t){return function(t,e){return bi(t.querySelectorAll(\u0027button:not([disabled]), select:not([disabled]), a[href]:not([disabled]), area[href]:not([disabled]), [contentEditable\u003d\"\"]:not([disabled]), [contentEditable\u003d\"true\"]:not([disabled]), [contentEditable\u003d\"TRUE\"]:not([disabled]), textarea:not([disabled]), iframe:not([disabled]), input:not([disabled]), summary:not([disabled]), [tabindex]:not([tabindex\u003d\"-1\"])\u0027)||[])}(t)}(this.root),this.root.addEventListener(\"keydown\",this.onKeyDown))}},{key:\"disable\",value:function(){this.root.removeEventListener(\"keydown\",this.onKeyDown),this.root\u003dnull}}])\u0026\u0026vi(e.prototype,n),t}(),Ci\u003dfunction(t){var e\u003dt.targetTouches?t.targetTouches[0]:t;return{x:e.clientX,y:e.clientY}},$i\u003dfunction(t,e,n){return\"number\"!\u003dtypeof t\u0026\u0026(t\u003dMath.min(e,n)||e),\"number\"!\u003dtypeof n\u0026\u0026(n\u003dMath.max(e,t)),Math.min(Math.max(e,t),n)},ki\u003dfunction(t){return t\u0026\u0026Number(t.replace(/px$/,\"\"))||0},Ti\u003d{down:{pc:\"mousedown\",m:\"touchstart\"},move:{pc:\"mousemove\",m:\"touchmove\"},up:{pc:\"mouseup\",m:\"touchend\"}},Ei\u003dfunction(t,e,n){e\u0026\u0026e.addEventListener(Ti[t].pc,n),e\u0026\u0026e.addEventListener(Ti[t].m,n,{passive:!1})},Oi\u003dfunction(t,e,n){e\u0026\u0026e.removeEventListener(Ti[t].pc,n),e\u0026\u0026e.removeEventListener(Ti[t].m,n)},Bi\u003d!1;if(\"undefined\"!\u003dtypeof window){var Pi\u003d{get passive(){Bi\u003d!0}};window.addEventListener(\"testPassive\",null,Pi),window.removeEventListener(\"testPassive\",null,Pi)}var Li,Ni,Ai,zi\u003d\"undefined\"!\u003dtypeof window\u0026\u0026window.navigator\u0026\u0026window.navigator.platform\u0026\u0026(/iP(ad|hone|od)/.test(window.navigator.platform)||\"MacIntel\"\u003d\u003d\u003dwindow.navigator.platform\u0026\u0026window.navigator.maxTouchPoints\u003e1),Mi\u003d[],Hi\u003d!1,Di\u003d0,Ri\u003d-1,ji\u003dfunction(t){return Mi.some((function(){return function(t,e){var n\u003d!1;return function(t){for(var e\u003d[];t;){if(e.push(t),t.classList.contains(\"vfm\"))return e;t\u003dt.parentElement}return e}(t).forEach((function(t){(function(t){if(!t||t.nodeType!\u003d\u003dNode.ELEMENT_NODE)return!1;var e\u003dwindow.getComputedStyle(t);return[\"auto\",\"scroll\"].includes(e.overflowY)\u0026\u0026t.scrollHeight\u003et.clientHeight})(t)\u0026\u0026function(t,e){return!(0\u003d\u003d\u003dt.scrollTop\u0026\u0026e\u003c0||t.scrollTop+t.clientHeight+e\u003e\u003dt.scrollHeight\u0026\u0026e\u003e0)}(t,e)\u0026\u0026(n\u003d!0)})),n}(t,-Di)}))},Ii\u003dfunction(t){var e\u003dt||window.event;return!!ji(e.target)||e.touches.length\u003e1||(e.preventDefault\u0026\u0026e.preventDefault(),!1)},qi\u003dfunction(t){t?(Mi\u003dMi.filter((function(e){return e.targetElement!\u003d\u003dt})),zi?(t.ontouchstart\u003dnull,t.ontouchmove\u003dnull,Hi\u0026\u00260\u003d\u003d\u003dMi.length\u0026\u0026(document.removeEventListener(\"touchmove\",Ii,Bi?{passive:!1}:void 0),Hi\u003d!1)):Mi.length||(void 0!\u003d\u003dNi\u0026\u0026(document.body.style.paddingRight\u003dNi,Ni\u003dvoid 0),void 0!\u003d\u003dLi\u0026\u0026(document.body.style.overflow\u003dLi,Li\u003dvoid 0))):console.error(\"enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.\")},Wi\u003dfunction(){},Fi\u003d\"enter\",Vi\u003d\"entering\",Ui\u003d\"leave\",Qi\u003d\"leavng\",Xi\u003d{type:[String,Object,Array],default:\"\"},Yi\u003d{type:[Object,Array],default:function(){return{}}},Ki\u003d{t:\"ns-resize\",tr:\"nesw-resize\",r:\"ew-resize\",br:\"nwse-resize\",b:\"ns-resize\",bl:\"nesw-resize\",l:\"ew-resize\",tl:\"nwse-resize\"},Gi\u003d{props:{name:{type:String,default:null},value:{type:Boolean,default:!1},ssr:{type:Boolean,default:!0},classes:Xi,overlayClass:Xi,contentClass:Xi,styles:Yi,overlayStyle:Yi,contentStyle:Yi,lockScroll:{type:Boolean,default:!0},hideOverlay:{type:Boolean,default:!1},clickToClose:{type:Boolean,default:!0},escToClose:{type:Boolean,default:!1},preventClick:{type:Boolean,default:!1},attach:{type:null,default:!1,validator:function(t){var e\u003dmi(t);return\"boolean\"\u003d\u003d\u003de||\"string\"\u003d\u003d\u003de||t.nodeType\u003d\u003d\u003dNode.ELEMENT_NODE}},transition:{type:[String,Object],default:\"vfm\"},overlayTransition:{type:[String,Object],default:\"vfm\"},zIndexAuto:{type:Boolean,default:!0},zIndexBase:{type:[String,Number],default:1e3},zIndex:{type:[Boolean,String,Number],default:!1},focusRetain:{type:Boolean,default:!0},focusTrap:{type:Boolean,default:!1},fitParent:{type:Boolean,default:!0},drag:{type:Boolean,default:!1},dragSelector:{type:String,default:\"\"},keepChangedStyle:{type:Boolean,default:!1},resize:{type:Boolean,default:!1},resizeDirections:{type:Array,default:function(){return[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"]},validator:function(t){return[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"].filter((function(e){return-1!\u003d\u003dt.indexOf(e)})).length\u003d\u003d\u003dt.length}},minWidth:{type:Number,default:0},minHeight:{type:Number,default:0},maxWidth:{type:Number,default:1/0},maxHeight:{type:Number,default:1/0}},data:function(){return{modalStackIndex:null,visible:!1,visibility:{modal:!1,overlay:!1,resize:!1},overlayTransitionState:null,modalTransitionState:null,stopEvent:!1,params:{},dragResizeStyle:{},resolveToggle:Wi,rejectToggle:Wi,state:null,lastMousedownEl:null}},computed:{isComponentReadyToBeDestroyed:function(){return(this.hideOverlay||this.overlayTransitionState\u003d\u003d\u003dUi)\u0026\u0026this.modalTransitionState\u003d\u003d\u003dUi},calculateZIndex:function(){return!1\u003d\u003d\u003dthis.zIndex?!!this.zIndexAuto\u0026\u0026+this.zIndexBase+2*(this.modalStackIndex||0):this.zIndex},bindStyle:function(){return wi({},!1!\u003d\u003dthis.calculateZIndex\u0026\u0026{zIndex:this.calculateZIndex})},bindContentStyle:function(){var t\u003d[this.dragResizeStyle];return Array.isArray(this.contentStyle)?t.push.apply(t,bi(this.contentStyle)):t.push(this.contentStyle),t},computedTransition:function(){return\"string\"\u003d\u003dtypeof this.transition?{name:this.transition}:wi({},this.transition)},computedOverlayTransition:function(){return\"string\"\u003d\u003dtypeof this.overlayTransition?{name:this.overlayTransition}:wi({},this.overlayTransition)}},watch:{value:function(t){if(this.stopEvent)this.stopEvent\u003d!1;else if(this.mounted(),!t){if(this.emitEvent(\"before-close\",!0))return void this.rejectToggle(\"hide\");this.close()}},lockScroll:\"handleLockScroll\",hideOverlay:function(t){this.value\u0026\u0026!t\u0026\u0026(this.visibility.overlay\u003d!0)},attach:\"mounted\",isComponentReadyToBeDestroyed:function(t){t\u0026\u0026(this.visible\u003d!1)},drag:function(t){this.visible\u0026\u0026(t?this.addDragDown():this.removeDragDown())},resize:function(t){this.visible\u0026\u0026(t?this.addResizeDown():this.removeResizeDown())},keepChangedStyle:function(t){t||(this.dragResizeStyle\u003d{})}},mounted:function(){this.api.modals.push(this),this.$focusTrap\u003dnew xi,this.mounted()},beforeDestroy:function(){var t,e\u003dthis;this.close(),this.lockScroll\u0026\u0026this.$refs.vfmContainer\u0026\u0026qi(this.$refs.vfmContainer),null\u003d\u003dthis||null\u003d\u003d\u003d(t\u003dthis.$el)||void 0\u003d\u003d\u003dt||t.remove();var n\u003dthis.api.modals.findIndex((function(t){return t\u003d\u003d\u003de}));this.api.modals.splice(n,1)},methods:{mounted:function(){var t\u003dthis;if(this.value){if(this.emitEvent(\"before-open\",!1))return void this.rejectToggle(\"show\");var e\u003dthis.getAttachElement();if(e||!1\u003d\u003d\u003dthis.attach){!1!\u003d\u003dthis.attach\u0026\u0026e.appendChild(this.$el);var n\u003dthis.api.openedModals.findIndex((function(e){return e\u003d\u003d\u003dt}));-1!\u003d\u003dn\u0026\u0026this.api.openedModals.splice(n,1),this.api.openedModals.push(this),this.modalStackIndex\u003dthis.api.openedModals.length-1,this.handleLockScroll(),this.api.openedModals.filter((function(e){return e!\u003d\u003dt})).forEach((function(t,n){t.getAttachElement()\u003d\u003d\u003de\u0026\u0026(t.modalStackIndex\u003dn,t.visibility.overlay\u003d!1)})),this.visible\u003d!0,this.$nextTick((function(){t.startTransitionEnter()}))}else!1!\u003d\u003de\u0026\u0026console.warn(\"Unable to locate target \".concat(this.attach))}},close:function(){var t\u003dthis,e\u003dthis.api.openedModals.findIndex((function(e){return e\u003d\u003d\u003dt}));if(-1!\u003d\u003de\u0026\u0026this.api.openedModals.splice(e,1),this.api.openedModals.length\u003e0){var n\u003dthis.api.openedModals[this.api.openedModals.length-1];(n.focusRetain||n.focusTrap)\u0026\u0026n.$refs.vfmContainer.focus(),!n.hideOverlay\u0026\u0026(n.visibility.overlay\u003d!0)}this.drag\u0026\u0026this.removeDragDown(),this.resize\u0026\u0026this.removeResizeDown(),this.state\u003dnull,this.startTransitionLeave()},startTransitionEnter:function(){this.visibility.overlay\u003d!0,this.visibility.modal\u003d!0},startTransitionLeave:function(){this.visibility.overlay\u003d!1,this.visibility.modal\u003d!1},handleLockScroll:function(){var t\u003dthis;this.value\u0026\u0026this.$nextTick((function(){t.lockScroll?function(t,e){if(t){if(!Mi.some((function(e){return e.targetElement\u003d\u003d\u003dt}))){var n\u003d{targetElement:t,options:e||{}};Mi\u003d[].concat(bi(Mi),[n]),zi?(t.ontouchstart\u003dfunction(t){1\u003d\u003d\u003dt.targetTouches.length\u0026\u0026(Ri\u003dt.targetTouches[0].clientY)},t.ontouchmove\u003dfunction(e){1\u003d\u003d\u003de.targetTouches.length\u0026\u0026function(t,e){Di\u003dt.targetTouches[0].clientY-Ri,!ji(t.target)\u0026\u0026(e\u0026\u00260\u003d\u003d\u003de.scrollTop\u0026\u0026Di\u003e0||function(t){return!!t\u0026\u0026t.scrollHeight-t.scrollTop\u003c\u003dt.clientHeight}(e)\u0026\u0026Di\u003c0?Ii(t):t.stopPropagation())}(e,t)},Hi||(document.addEventListener(\"touchmove\",Ii,Bi?{passive:!1}:void 0),Hi\u003d!0)):function(t){if(void 0\u003d\u003d\u003dNi){var e\u003d!!t\u0026\u0026!0\u003d\u003d\u003dt.reserveScrollBarGap,n\u003dwindow.innerWidth-document.documentElement.clientWidth;if(e\u0026\u0026n\u003e0){var i\u003dparseInt(getComputedStyle(document.body).getPropertyValue(\"padding-right\"),10);Ni\u003ddocument.body.style.paddingRight,document.body.style.paddingRight\u003d\"\".concat(i+n,\"px\")}}void 0\u003d\u003d\u003dLi\u0026\u0026(Li\u003ddocument.body.style.overflow,document.body.style.overflow\u003d\"hidden\")}(e)}}else console.error(\"disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.\")}(t.$refs.vfmContainer,{reserveScrollBarGap:!0}):qi(t.$refs.vfmContainer)}))},getAttachElement:function(){return!1!\u003d\u003dthis.attach\u0026\u0026(\"string\"\u003d\u003dtypeof this.attach?!!window\u0026\u0026window.document.querySelector(this.attach):this.attach)},beforeOverlayEnter:function(){this.overlayTransitionState\u003dVi},afterOverlayEnter:function(){this.overlayTransitionState\u003dFi},beforeOverlayLeave:function(){this.overlayTransitionState\u003dQi},afterOverlayLeave:function(){this.overlayTransitionState\u003dUi},beforeModalEnter:function(){this.modalTransitionState\u003dVi},afterModalEnter:function(){this.modalTransitionState\u003dFi,(this.focusRetain||this.focusTrap)\u0026\u0026this.$refs.vfmContainer.focus(),this.focusTrap\u0026\u0026this.$focusTrap.enable(this.$refs.vfmContainer),this.drag\u0026\u0026this.addDragDown(),this.resize\u0026\u0026this.addResizeDown(),this.$emit(\"opened\",this.createModalEvent({type:\"opened\"})),this.resolveToggle(\"show\")},beforeModalLeave:function(){this.modalTransitionState\u003dQi,this.$focusTrap.enabled()\u0026\u0026this.$focusTrap.disable()},afterModalLeave:function(){this.modalTransitionState\u003dUi,this.modalStackIndex\u003dnull,this.lockScroll\u0026\u0026qi(this.$refs.vfmContainer),this.keepChangedStyle||(this.dragResizeStyle\u003d{});var t\u003d!1,e\u003dthis.createModalEvent({type:\"closed\",stop:function(){t\u003d!0}});this.$emit(\"closed\",e),this.resolveToggle(\"hide\"),t||(this.params\u003d{})},onMousedown:function(t){this.lastMousedownEl\u003dnull\u003d\u003dt?void 0:t.target},onMouseupContainer:function(){this.lastMousedownEl\u003d\u003d\u003dthis.$refs.vfmContainer\u0026\u0026\"resize:move\"!\u003d\u003dthis.state\u0026\u0026(this.$emit(\"click-outside\",this.createModalEvent({type:\"click-outside\"})),this.clickToClose\u0026\u0026this.$emit(\"input\",!1))},onEsc:function(){this.visible\u0026\u0026this.escToClose\u0026\u0026this.$emit(\"input\",!1)},createModalEvent:function(){var t\u003darguments.length\u003e0\u0026\u0026void 0!\u003d\u003darguments[0]?arguments[0]:{};return wi({ref:this},t)},emitEvent:function(t,e){var n\u003d!1,i\u003dthis.createModalEvent({type:t,stop:function(){n\u003d!0}});return this.$emit(t,i),!!n\u0026\u0026(this.stopEvent\u003d!0,this.$emit(\"input\",e),!0)},emitState:function(t,e,n){this.state\u003d\"\".concat(e,\":\").concat(n),this.$emit(this.state,t)},toggle:function(t,e){var n\u003darguments,i\u003dthis;return new Promise((function(o,r){i.resolveToggle\u003dfunction(t){o(t),i.resolveToggle\u003dWi},i.rejectToggle\u003dfunction(t){r(t),i.rejectToggle\u003dWi};var s\u003d\"boolean\"\u003d\u003dtypeof t?t:!i.value;s\u0026\u00262\u003d\u003d\u003dn.length\u0026\u0026(i.params\u003de),i.$emit(\"input\",s)}))},pointerDown:function(t){var e\u003dthis;t.stopPropagation();var n,i\u003d\"resize\",o\u003d\"drag\",r\u003dthis.$refs,s\u003dr.vfmContainer,a\u003dr.vfmContent,l\u003dt.target.getAttribute(\"direction\");if(l)n\u003di;else{if(!function(t,e,n){return\"\"\u003d\u003d\u003dn||bi(e.querySelectorAll(n)).includes(t.target)}(t,a,this.dragSelector))return;n\u003do}this.emitState(t,n,\"start\");var c,u,d,h,p\u003dCi(t),f\u003ds.getBoundingClientRect(),m\u003da.getBoundingClientRect(),v\u003d\"absolute\"\u003d\u003d\u003dwindow.getComputedStyle(a).position,g\u003dki(this.dragResizeStyle.top),y\u003dki(this.dragResizeStyle.left),w\u003dfunction(){if(e.fitParent){var t\u003d{absolute:function(){return{minTop:0,minLeft:0,maxTop:f.height-m.height,maxLeft:f.width-m.width}},relative:function(){return{minTop:g+f.top-m.top,minLeft:y+f.left-m.left,maxTop:g+f.bottom-m.bottom,maxLeft:y+f.right-m.right}}};return v?t.absolute():t.relative()}return{}}(),b\u003dn\u003d\u003d\u003di\u0026\u0026(c\u003ddocument.body,u\u003d\"cursor\",d\u003dKi[l],h\u003dc.style[u],c.style[u]\u003dd,function(){c.style[u]\u003dh}),_\u003dfunction(t){t.stopPropagation(),e.emitState(t,n,\"move\");var r,s,a\u003dCi(t),c\u003d{x:a.x-p.x,y:a.y-p.y};n\u003d\u003d\u003di\u0026\u0026(c\u003de.getResizeOffset(l,c,f,m,v)),v?(r\u003dm.top-f.top+c.y,s\u003dm.left-f.left+c.x):(r\u003dg+c.y,s\u003dy+c.x),n\u003d\u003d\u003do\u0026\u0026e.fitParent\u0026\u0026(r\u003d$i(w.minTop,r,w.maxTop),s\u003d$i(w.minLeft,s,w.maxLeft));var u\u003dwi(wi(wi({position:\"relative\",top:r+\"px\",left:s+\"px\",margin:\"unset\",touchAction:\"none\"},v\u0026\u0026{position:\"absolute\",transform:\"unset\",width:m.width+\"px\",height:m.height+\"px\"}),c.width\u0026\u0026{width:c.width+\"px\"}),c.height\u0026\u0026{height:c.height+\"px\"});e.dragResizeStyle\u003dwi(wi({},e.dragResizeStyle),u)};Ei(\"move\",document,_),Ei(\"up\",document,(function t(o){o.stopPropagation(),n\u003d\u003d\u003di\u0026\u0026b\u0026\u0026b(),setTimeout((function(){e.emitState(o,n,\"end\")})),Oi(\"move\",document,_),Oi(\"up\",document,t)}))},addDragDown:function(){Ei(\"down\",this.$refs.vfmContent,this.pointerDown),this.dragResizeStyle.touchAction\u003d\"none\"},removeDragDown:function(){Oi(\"down\",this.$refs.vfmContent,this.pointerDown)},addResizeDown:function(){var t\u003dthis;this.visibility.resize\u003d!0,this.$nextTick((function(){Ei(\"down\",t.$refs.vfmResize,t.pointerDown)}))},removeResizeDown:function(){Oi(\"down\",this.$refs.vfmResize,this.pointerDown),this.visibility.resize\u003d!1},getResizeOffset:function(t,e,n,i,o){var r\u003dthis,s\u003dfunction(t,e,o,s){var a,l\u003di[e],c\u003dn[t]-i[t],u\u003d(a\u003de).charAt(0).toUpperCase()+a.slice(1);return{axis:o,edgeName:e,min:s?c:-l,max:s?l:c,minEdge:r[\"min\".concat(u)],maxEdge:r[\"max\".concat(u)],getEdge:function(t){return i[e]-t*(s?1:-1)},getOffsetAxis:function(t,n){var o\u003di[e]-t;return n?s?o:0:(s?1:-1)*o/2}}},a\u003d{t:[\"top\",\"height\",\"y\",!0],b:[\"bottom\",\"height\",\"y\",!1],l:[\"left\",\"width\",\"x\",!0],r:[\"right\",\"width\",\"x\",!1]},l\u003d{x:0,y:0};return t.split(\"\").forEach((function(t){var n\u003ds.apply(void 0,bi(a[t]));l\u003dwi(wi({},l),function(t){var n,i\u003de[t.axis];i\u003dr.fitParent?$i(t.min,i,t.max):i;var s\u003d$i(t.minEdge,t.getEdge(i),t.maxEdge);return i\u003dt.getOffsetAxis(s,o),gi(n\u003d{},t.edgeName,s),gi(n,t.axis,i),n}(n))})),l}}},Zi\u003dfunction(t,e,n,i,o,r,s,a,l,c){\"boolean\"!\u003dtypeof s\u0026\u0026(l\u003da,a\u003ds,s\u003d!1);var u,d\u003d\"function\"\u003d\u003dtypeof n?n.options:n;if(t\u0026\u0026t.render\u0026\u0026(d.render\u003dt.render,d.staticRenderFns\u003dt.staticRenderFns,d._compiled\u003d!0,o\u0026\u0026(d.functional\u003d!0)),i\u0026\u0026(d._scopeId\u003di),r?(u\u003dfunction(t){(t\u003dt||this.$vnode\u0026\u0026this.$vnode.ssrContext||this.parent\u0026\u0026this.parent.$vnode\u0026\u0026this.parent.$vnode.ssrContext)||\"undefined\"\u003d\u003dtypeof __VUE_SSR_CONTEXT__||(t\u003d__VUE_SSR_CONTEXT__),e\u0026\u0026e.call(this,l(t)),t\u0026\u0026t._registeredComponents\u0026\u0026t._registeredComponents.add(r)},d._ssrRegister\u003du):e\u0026\u0026(u\u003ds?function(t){e.call(this,c(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),u)if(d.functional){var h\u003dd.render;d.render\u003dfunction(t,e){return u.call(e),h(t,e)}}else{var p\u003dd.beforeCreate;d.beforeCreate\u003dp?[].concat(p,u):[u]}return n},Ji\u003d\"undefined\"!\u003dtypeof navigator\u0026\u0026/msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase()),to\u003d{},eo\u003dZi({render:function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.ssr||t.visible?n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.ssr||t.visible,expression:\"!ssr || visible\"}],staticClass:\"vfm vfm--inset\",class:[!1\u003d\u003d\u003dt.attach?\"vfm--fixed\":\"vfm--absolute\",{\"vfm--prevent-none\":t.preventClick}],style:t.bindStyle,on:{keydown:function(e){return!e.type.indexOf(\"key\")\u0026\u0026t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])?null:t.onEsc.apply(null,arguments)}}},[n(\"transition\",t._b({ref:\"vfmOverlayTransition\",on:{\"before-enter\":t.beforeOverlayEnter,\"after-enter\":t.afterOverlayEnter,\"before-leave\":t.beforeOverlayLeave,\"after-leave\":t.afterOverlayLeave}},\"transition\",t.computedOverlayTransition,!1),[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.hideOverlay\u0026\u0026t.visibility.overlay,expression:\"!hideOverlay \u0026\u0026 visibility.overlay\"}],staticClass:\"vfm__overlay vfm--overlay vfm--absolute vfm--inset\",class:t.overlayClass,style:t.overlayStyle})]),t._v(\" \"),n(\"transition\",t._b({ref:\"vfmTransition\",on:{\"before-enter\":t.beforeModalEnter,\"after-enter\":t.afterModalEnter,\"before-leave\":t.beforeModalLeave,\"after-leave\":t.afterModalLeave}},\"transition\",t.computedTransition,!1),[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibility.modal,expression:\"visibility.modal\"}],ref:\"vfmContainer\",staticClass:\"vfm__container vfm--absolute vfm--inset vfm--outline-none\",class:t.classes,style:t.styles,attrs:{\"aria-expanded\":t.visibility.modal.toString(),role:\"dialog\",\"aria-modal\":\"true\",tabindex:\"-1\"},on:{mouseup:function(e){return e.target!\u003d\u003de.currentTarget?null:t.onMouseupContainer.apply(null,arguments)},mousedown:function(e){return e.target!\u003d\u003de.currentTarget?null:t.onMousedown.apply(null,arguments)}}},[n(\"div\",{ref:\"vfmContent\",staticClass:\"vfm__content\",class:[t.contentClass,{\"vfm--prevent-auto\":t.preventClick}],style:t.bindContentStyle,on:{mousedown:function(e){return t.onMousedown(null)}}},[t._t(\"default\",null,{params:t.params,close:function(){return t.$emit(\"input\",!1)}}),t._v(\" \"),t.visibility.resize\u0026\u0026t.visibility.modal?n(\"div\",{ref:\"vfmResize\",staticClass:\"vfm__resize vfm--absolute vfm--inset vfm--prevent-none vfm--select-none vfm--touch-none\"},t._l(t.resizeDirections,(function(t){return n(\"div\",{key:t,staticClass:\"vfm--absolute vfm--prevent-auto\",class:\"vfm--resize-\"+t,attrs:{direction:t}})})),0):t._e()],2)])])],1):t._e()},staticRenderFns:[]},(function(t){t\u0026\u0026t(\"data-v-1cd72822_0\",{source:\".vfm--fixed[data-v-1cd72822]{position:fixed}.vfm--absolute[data-v-1cd72822]{position:absolute}.vfm--inset[data-v-1cd72822]{top:0;right:0;bottom:0;left:0}.vfm--overlay[data-v-1cd72822]{background-color:rgba(0,0,0,.5)}.vfm--prevent-none[data-v-1cd72822]{pointer-events:none}.vfm--prevent-auto[data-v-1cd72822]{pointer-events:auto}.vfm--outline-none[data-v-1cd72822]:focus{outline:0}.vfm-enter-active[data-v-1cd72822],.vfm-leave-active[data-v-1cd72822]{transition:opacity .2s}.vfm-enter[data-v-1cd72822],.vfm-leave-to[data-v-1cd72822]{opacity:0}.vfm--touch-none[data-v-1cd72822]{touch-action:none}.vfm--select-none[data-v-1cd72822]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vfm--resize-bl[data-v-1cd72822],.vfm--resize-br[data-v-1cd72822],.vfm--resize-tl[data-v-1cd72822],.vfm--resize-tr[data-v-1cd72822]{width:12px;height:12px;z-index:10}.vfm--resize-t[data-v-1cd72822]{top:-6px;left:0;width:100%;height:12px;cursor:ns-resize}.vfm--resize-tr[data-v-1cd72822]{top:-6px;right:-6px;cursor:nesw-resize}.vfm--resize-r[data-v-1cd72822]{top:0;right:-6px;width:12px;height:100%;cursor:ew-resize}.vfm--resize-br[data-v-1cd72822]{bottom:-6px;right:-6px;cursor:nwse-resize}.vfm--resize-b[data-v-1cd72822]{bottom:-6px;left:0;width:100%;height:12px;cursor:ns-resize}.vfm--resize-bl[data-v-1cd72822]{bottom:-6px;left:-6px;cursor:nesw-resize}.vfm--resize-l[data-v-1cd72822]{top:0;left:-6px;width:12px;height:100%;cursor:ew-resize}.vfm--resize-tl[data-v-1cd72822]{top:-6px;left:-6px;cursor:nwse-resize}\",map:void 0,media:void 0})}),Gi,\"data-v-1cd72822\",!1,void 0,!1,(function(t){return function(t,e){return function(t,e){var n\u003dJi?e.media||\"default\":t,i\u003dto[n]||(to[n]\u003d{ids:new Set,styles:[]});if(!i.ids.has(t)){i.ids.add(t);var o\u003de.source;if(e.map\u0026\u0026(o+\u003d\"\\n/*# sourceURL\u003d\"+e.map.sources[0]+\" */\",o+\u003d\"\\n/*# sourceMappingURL\u003ddata:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e.map))))+\" */\"),i.element||(i.element\u003ddocument.createElement(\"style\"),i.element.type\u003d\"text/css\",e.media\u0026\u0026i.element.setAttribute(\"media\",e.media),void 0\u003d\u003d\u003dAi\u0026\u0026(Ai\u003ddocument.head||document.getElementsByTagName(\"head\")[0]),Ai.appendChild(i.element)),\"styleSheet\"in i.element)i.styles.push(o),i.element.styleSheet.cssText\u003di.styles.filter(Boolean).join(\"\\n\");else{var r\u003di.ids.size-1,s\u003ddocument.createTextNode(o),a\u003di.element.childNodes;a[r]\u0026\u0026i.element.removeChild(a[r]),a.length?i.element.insertBefore(s,a[r]):i.element.appendChild(s)}}}(t,e)}}),void 0,void 0),no\u003dZi({render:function(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{staticClass:\"modals-container\"},t._l(t.api.dynamicModals,(function(e,i){return n(e.component,t._g(t._b({key:e.id,tag:\"component\",on:{closed:function(e){return t.slice(i)},\"before-open\":function(n){return t.beforeOpen(n,e,i)},opened:e.opened},scopedSlots:t._u([t._l(e.slots,(function(e,i){return{key:i,fn:function(){return[t.isString(e)?n(\"div\",{key:i,domProps:{innerHTML:t._s(e)}}):n(e.component,t._g(t._b({key:i,tag:\"component\"},\"component\",e.bind,!1),e.on))]},proxy:!0}}))],null,!0),model:{value:e.value,callback:function(n){t.$set(e,\"value\",n)},expression:\"modal.value\"}},\"component\",e.bind,!1),e.on))})),1)},staticRenderFns:[]},void 0,{props:{},methods:{slice:function(t){this.api.dynamicModals.splice(t,1)},beforeOpen:function(t,e,n){var i\u003dthis;t.ref.params\u003de.params,this.$nextTick((function(){e.value||(i.slice(n),e.reject(\"show\"))}))},isString:function(t){return\"string\"\u003d\u003dtypeof t}}},void 0,!1,void 0,!1,void 0,void 0,void 0);function io(t,e){var n\u003dwi(wi({},t),{},{props:wi({},t.props)});return Object.assign(n.props,{api:{type:Object,default:function(){return e}}}),n}var oo\u003d0,ro\u003dfunction(){var t,e,n\u003d(e\u003dnull,et().observable({show:function(t){for(var n\u003dthis,i\u003darguments.length,o\u003dnew Array(i\u003e1?i-1:0),r\u003d1;r\u003ci;r++)o[r-1]\u003darguments[r];switch(mi(t)){case\"string\":return this.toggle.apply(this,[t,!0].concat(o));case\"object\":return Promise.allSettled([new Promise((function(i,r){var s\u003d{value:!0,id:Symbol(\"dynamicModal\"),component:e,bind:{},slots:{},on:{},params:o[0],reject:r,opened:function(){i(\"show\")}};n.dynamicModals.push(Object.assign(s,t))}))])}},hide:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return this.toggle(e,!1)},hideAll:function(){return this.hide.apply(this,bi(this.openedModals.map((function(t){return t.name}))))},toggle:function(t){for(var e\u003darguments.length,n\u003dnew Array(e\u003e1?e-1:0),i\u003d1;i\u003ce;i++)n[i-1]\u003darguments[i];var o\u003dArray.isArray(t)?this.get.apply(this,bi(t)):this.get(t);return Promise.allSettled(o.map((function(t){return t.toggle.apply(t,n)})))},get:function(){for(var t\u003darguments.length,e\u003dnew Array(t),n\u003d0;n\u003ct;n++)e[n]\u003darguments[n];return this.modals.filter((function(t){return e.includes(t.name)}))},dynamicModals:[],openedModals:[],modals:[],_setDefaultModal:function(t){e\u003dt}}));return gi(t\u003d{},\"$vfm\",n),gi(t,\"VueFinalModal\",function(t){var e\u003dio(eo,t);return t._setDefaultModal(e),e}(n)),gi(t,\"ModalsContainer\",io(no,n)),t},so\u003dro(),ao\u003dso.$vfm,lo\u003dso.VueFinalModal,co\u003d(so.ModalsContainer,function(t){var e\u003darguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1]?arguments[1]:{},n\u003d0\u003d\u003d\u003doo?so:ro(),i\u003dn.$vfm,o\u003dn.VueFinalModal,r\u003dn.ModalsContainer;oo+\u003d1;var s\u003de.key||\"$vfm\",a\u003de.componentName||\"VueFinalModal\",l\u003de.dynamicContainerName||\"ModalsContainer\";t.prototype[s]\u003di,t.component(a,o),t.component(l,r)}),uo\u003dfunction(t){return{install:function(e,n){var i\u003dObject.assign({},t,n);co(e,i)}}};uo.install\u003dco;const ho\u003dqe({name:\"Trigger\",components:{PortalTarget:fi.YC},props:{for:{type:String,default:\"\"},trigger:{type:String,default:\"hover focus\"},placement:{type:String,default:\"top\"}},data:function(){return{popoverOrTooltipType:void 0,isInput:!1}},methods:{toggle:function(){this.for\u0026\u0026ao.show(this.for)}},computed:{triggerEventType:function(){return\"click\"\u003d\u003d\u003dthis.trigger||\"focus\"\u003d\u003d\u003dthis.trigger?this.trigger:\"mouseenter\"},triggers:function(){return this.trigger.split(\" \")},target:function(){return this.for}},mounted:function(){if(this.isInput\u003dthis.$slots.default\u0026\u0026this.$slots.default.some((function(t){return\"input\"\u003d\u003d\u003dt.tag})),this.for\u0026\u0026void 0\u003d\u003d\u003dthis.popoverOrTooltipType){var t\u003ddocument.getElementById(this.for);if(!t)return;this.popoverOrTooltipType\u003dt.dataset.mbComponentType}}},pi,[],!1,null,null,null).exports;var po\u003dfunction(){var t\u003dthis.$createElement;return(this._self._c||t)(\"div\",{staticClass:\"site-nav-root\"},[this._t(\"default\")],2)};po._withStripped\u003d!0;const fo\u003dqe({name:\"SiteNav\",mounted:function(){var t\u003dthis,e\u003dSn(new URL(window.location.href).pathname);this.$el.querySelectorAll(\"a[href]\").forEach((function(n){var i\u003dSn(n.getAttribute(\"href\"));if(e\u003d\u003d\u003di){n.classList.add(\"current\");for(var o\u003dn.parentElement;o\u0026\u0026o!\u003d\u003dt.$el;)\"ul\"\u003d\u003d\u003do.tagName.toLowerCase()\u0026\u0026o.classList.contains(\"site-nav-dropdown-container\")\u0026\u0026o.classList.add(\"site-nav-dropdown-container-open\"),o\u003do.parentElement}}))}},po,[],!1,null,null,null).exports;var mo\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",[n(\"span\",{class:[{\"nav-menu-close-icon\":t.show}],on:{click:function(e){return t.toggleNavMenu(void 0)}}},[t._t(\"navMenuIcon\")],2),t._v(\" \"),n(\"div\",{ref:\"navMenuContainer\",class:[\"nav-menu\",{\"nav-menu-open\":t.show}],style:t.navbarHeight,on:{click:t.toggleNavMenu}},[n(\"portal-target\",{attrs:{name:t.portalName,multiple:\"\"}})],1)])};mo._withStripped\u003d!0;var vo\u003d{};const go\u003dqe({components:{PortalTarget:fi.YC},props:{type:{type:String,default:null},portalName:{type:String,default:null}},inject:{toggleLowerNavbar:{default:void 0}},data:function(){return{show:!1,navbarHeight:\"\"}},methods:{toggleNavMenu:function(t){var e,n\u003dthis;t\u0026\u0026\"a\"\u003d\u003d\u003dt.target.tagName.toLowerCase()||!t\u0026\u0026this.show?(document.body.style.removeProperty(\"overflow\"),this.show\u003d!1):(vo[e\u003d\"closeOverlay\"]\u0026\u0026vo[e].forEach((function(t){return t()})),document.body.style.overflow\u003d\"hidden\",this.show\u003d!0,this.$nextTick((function(){var t\u003dn.$refs.navMenuContainer,e\u003dwindow.innerHeight-t.getBoundingClientRect().top;n.navbarHeight\u003d\"height: \".concat(e,\"px\")})))}},mounted:function(){var t,e,n\u003dthis;this.toggleLowerNavbar\u0026\u0026this.toggleLowerNavbar(),e\u003dfunction(){n.show\u003d!1},vo[t\u003d\"closeOverlay\"]||(vo[t]\u003d[]),vo[t].push(e)}},mo,[],!1,null,\"1a3e7aee\",null).exports;var yo\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(t.tagName,t._b({tag:\"component\"},\"component\",t.$attrs,!1),[t._t(\"default\"),t._v(\" \"),t.enablePortal?n(\"portal\",{attrs:{to:t.to}},[n(t.tagName,t._b({tag:\"component\",class:[t.$vnode.data.staticClass||\"\",\"mb-mobile-nav\"],style:t.$vnode.data.staticStyle},\"component\",t.$attrs,!1),[t._t(\"default\")],2)],1):t._e()],2)};yo._withStripped\u003d!0;const wo\u003dqe({name:\"OverlaySource\",components:{Portal:fi.h_},props:{to:{type:String,default:void 0},tagName:{type:String,default:void 0}},data:function(){return{enablePortal:!1}},mounted:function(){this.enablePortal\u003d!0}},yo,[],!1,null,\"e6005420\",null).exports;var bo\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:\"click\"\u003d\u003d\u003dt.trigger?\"trigger-click\":\"trigger\",attrs:{\"data-mb-component-type\":\"popover\",tabindex:\"0\"}},[t.targetEl.id?n(\"portal\",{attrs:{to:\"popover:\"+t.targetEl.id}},[t.hasHeader?n(\"h3\",{staticClass:\"popover-header\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"popover-body\"},[t._t(\"content\")],2)]):t._e(),t._v(\" \"),t.isMounted?n(\"v-popover\",{attrs:{\"auto-hide\":!t.isInput,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,placement:t.placement,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[n(\"div\",{staticClass:\"popover-container\"},[t.hasHeader?n(\"h3\",{staticClass:\"popover-header\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"popover-body\"},[t._t(\"content\")],2)])]},proxy:!0}],null,!0)},[t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):t._e()],1)};bo._withStripped\u003d!0;const _o\u003dqe({name:\"Popover\",components:{Portal:fi.h_},props:{trigger:{type:String,default:\"hover focus\"},placement:{type:String,default:\"top\"}},data:function(){return{targetEl:{},isMounted:!1}},computed:{triggers:function(){return this.trigger.split(\" \")},hasHeader:function(){return!!this.$slots.header}},mounted:function(){this.targetEl\u003dthis.$el,this.isInput\u003dthis.$slots.default\u0026\u0026this.$slots.default.some((function(t){return\"input\"\u003d\u003d\u003dt.tag})),this.isMounted\u003d!0}},bo,[],!1,null,null,null).exports;var So\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"span\",{class:\"click\"\u003d\u003d\u003dt.trigger?\"trigger-click\":\"trigger\",attrs:{\"data-mb-component-type\":\"tooltip\",tabindex:\"0\"}},[t.targetEl.id?n(\"portal\",{attrs:{to:\"tooltip:\"+t.targetEl.id}},[t._t(\"content\")],2):t._e(),t._v(\" \"),t.isMounted?n(\"v-tooltip\",{attrs:{\"auto-hide\":!t.isInput,triggers:t.triggers,\"popper-triggers\":t.triggers,\"hide-triggers\":t.triggers,placement:t.placement,delay:0,\"shift-cross-axis\":\"\"},scopedSlots:t._u([{key:\"popper\",fn:function(){return[t._t(\"content\")]},proxy:!0}],null,!0)},[t._v(\" \"),t.isInput?t._t(\"default\"):n(\"span\",{on:{click:function(t){t.stopPropagation()}}},[t._t(\"default\")],2)],2):t._e()],1)};So._withStripped\u003d!0;const xo\u003dqe({name:\"Tooltip\",components:{Portal:fi.h_},props:{trigger:{type:String,default:\"hover focus\"},placement:{type:String,default:\"top\"}},data:function(){return{targetEl:{},isInput:!1,isMounted:!1}},computed:{triggers:function(){return this.trigger.split(\" \")}},mounted:function(){this.targetEl\u003dthis.$el,this.isInput\u003dthis.$slots.default\u0026\u0026this.$slots.default.some((function(t){return\"input\"\u003d\u003d\u003dt.tag})),this.isMounted\u003d!0}},So,[],!1,null,null,null).exports;var Co\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return t.isMounted?n(\"vue-final-modal\",{attrs:{ssr:\"\",name:t.id,classes:[\"modal\"],\"content-class\":[\"modal-dialog\",\"modal-dialog-scrollable\",t.optionalModalSize,t.optionalCentering],\"overlay-transition\":\"none\",transition:t.effectClass,\"click-to-close\":\"false\"!\u003d\u003dt.backdrop,\"esc-to-close\":\"\",\"z-index-base\":\"2000\"},model:{value:t.show,callback:function(e){t.show\u003de},expression:\"show\"}},[n(\"div\",{staticClass:\"modal-content\"},[t.hasHeader?n(\"div\",{staticClass:\"modal-header\"},[n(\"h5\",{staticClass:\"modal-title\"},[t._t(\"header\")],2),t._v(\" \"),n(\"button\",{staticClass:\"btn-close\",attrs:{type:\"button\",\"aria-label\":\"Close\"},on:{click:function(e){return t.close()}}})]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"modal-body\"},[t._t(\"default\")],2),t._v(\" \"),t.hasFooter||t.hasOk?n(\"div\",{staticClass:\"modal-footer\"},[t.hasFooter?t._t(\"footer\"):n(\"button\",{staticClass:\"btn btn-primary\",on:{click:function(e){return t.close()}}},[t._v(\"\\n \"+t._s(t.okText)+\"\\n \")])],2):t._e()])]):t._e()};Co._withStripped\u003d!0;const $o\u003dqe({name:\"Modal\",components:{VueFinalModal:lo},data:function(){return{show:!1,isMounted:!1,zoomEffect:{\"enter-class\":\"modal-zoom\",\"enter-to-class\":\"modal-zoom-show\",\"leave-to-class\":\"modal-zoom\",\"leave-class\":\"modal-zoom-show\"}}},props:{okText:{type:String,default:\"\"},effect:{type:String,default:\"zoom\"},id:{type:String,default:\"\"},small:{type:Boolean,default:!1},large:{type:Boolean,default:!1},center:{type:Boolean,default:!1},backdrop:{type:String,default:\"\"}},computed:{hasHeader:function(){return!!this.$slots.header},hasFooter:function(){return!!this.$slots.footer},hasOk:function(){return\"\"!\u003d\u003dthis.okText},optionalModalSize:function(){return this.small||this.large?this.small?\"modal-sm\":\"modal-lg\":\"\"},optionalCentering:function(){return this.center?\"modal-dialog-centered\":\"\"},effectClass:function(){return\"zoom\"\u003d\u003d\u003dthis.effect?this.zoomEffect:\"vfm\"}},methods:{close:function(){this.show\u003d!1}},mounted:function(){this.isMounted\u003d!0}},Co,[],!1,null,null,null).exports;var ko\u003dfunction(){var t\u003dthis,e\u003dt.$createElement,n\u003dt._self._c||e;return n(\"div\",{class:[\"scroll-top-button\",t.getIconSize(),\"d-print-none\",{lighten:t.$data.isLighten}],style:t.iconStyle(),attrs:{\"aria-hidden\":\"true\"},on:{click:function(e){return t.handleScrollTop()}}},[t._t(\"icon\",(function(){return[n(\"i\",{class:[\"fas fa-arrow-circle-up\"]})]}))],2)};ko._withStripped\u003d!0;var To\u003d{box:We,breadcrumb:Ve,dropdown:gn,navbar:Tn,panel:Rn,annotate:In,aPoint:Wn,pic:Vn,quiz:Qn,question:Gn,qOption:Jn,retriever:zn,searchbar:oi,tab:si,tabGroup:li,tabs:ui,thumbnail:hi,trigger:ho,siteNav:fo,submenu:vn,siteNavButton:Cn,pageNavButton:kn,overlay:go,overlaySource:wo,popover:_o,tooltip:xo,modal:$o,VPopover:Ne,VTooltip:Ae,scrollTopButton:qe({name:\"ScrollTopButton\",props:{icon:{type:String,default:null},iconSize:{type:String,default:\"lg\"},iconColor:{type:String,default:null},bottom:{type:String,default:null},right:{type:String,default:null}},data:function(){return{isVisible:!1,isLighten:!1,timers:{showOrHideButtonTimer:0,lightenButtonTimer:0}}},methods:{initScrollTopButton:function(){window.addEventListener(\"scroll\",this.promptScrollTopButton)},destroyScrollTopButton:function(){window.removeEventListener(\"scroll\",this.promptScrollTopButton)},promptScrollTopButton:function(){this.resetScrollTopButton(),this.showOrHideScrollTopButton()},resetScrollTopButton:function(){clearTimeout(this.timers.showOrHideButtonTimer),clearTimeout(this.timers.lightenButtonTimer),this.isLighten\u003d!1},showOrHideScrollTopButton:function(){var t\u003dthis;this.timers.showOrHideButtonTimer\u003dsetTimeout((function(){document.body.scrollTop\u003e20||document.documentElement.scrollTop\u003e20?(t.isVisible\u003d!0,t.lightenScrollTopButton()):t.isVisible\u003d!1}),100)},lightenScrollTopButton:function(){var t\u003dthis;this.timers.lightenButtonTimer\u003dsetTimeout((function(){t.isLighten||(t.isLighten\u003d!0)}),1e3)},iconStyle:function(){var t\u003d{};return t.display\u003dthis.isVisible?\"block\":\"none\",this.iconColor\u0026\u0026(t.color\u003dthis.iconColor),t.bottom\u003dthis.bottom?this.bottom:\"2%\",t.right\u003dthis.right?this.right:\"2%\",t.position\u003d\"fixed\",t},handleScrollTop:function(){document.body.scrollIntoView({block:\"start\",behavior:\"smooth\"})},getIconSize:function(){return this.iconSize?\"fa-\".concat(this.iconSize):\"\"}},mounted:function(){this.initScrollTopButton()},beforeDestroy:function(){this.destroyScrollTopButton()}},ko,[],!1,null,null,null).exports},Eo\u003d{closeable:Qe()};const Oo\u003d{MarkBindVue:{plugin:{install:function(t){Object.keys(Eo).forEach((function(e){t.directive(e,Eo[e])})),Object.keys(To).forEach((function(e){t.component(e,To[e])}))}},components:To,directives:Eo},appFactory:function(){return{data:function(){return{searchData:[]}},methods:{searchCallback:function(t){var e\u003d\"\".concat(baseUrl,\"/\").concat(t.src.replace(/.md$/,\".html\")),n\u003dt.heading?\"#\".concat(t.heading.id):\"\";window.location\u003d\"\".concat(e).concat(n)}}}}};i(605);function Bo(t,e){var n\u003dObject.keys(t);if(Object.getOwnPropertySymbols){var i\u003dObject.getOwnPropertySymbols(t);e\u0026\u0026(i\u003di.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function Po(t){for(var e\u003d1;e\u003carguments.length;e++){var i\u003dnull!\u003darguments[e]?arguments[e]:{};e%2?Bo(Object(i),!0).forEach((function(e){n(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):Bo(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}var Lo\u003dOo.MarkBindVue,No\u003dOo.appFactory;function Ao(){var t\u003ddocument.querySelector(\"header[sticky]\");if(null!\u003d\u003dt){var e\u003da(),n\u003d!1;t.addEventListener(\"transitionend\",(function(){n||(t.style.overflow\u003d\"\")})),new ResizeObserver((function(){e\u003da(),document.documentElement.style.setProperty(\"--sticky-header-height\",\"\".concat(e,\"px\")),window.innerWidth\u003e767\u0026\u0026n\u0026\u0026l()})).observe(t);var i,o\u003d0,r\u003dwindow.location.hash,s\u003dfunction(){if(!(window.innerWidth\u003e767)){if(r!\u003d\u003dwindow.location.hash)return r\u003dwindow.location.hash,void l();r\u003dwindow.location.hash;var i\u003dwindow.pageYOffset;if(!(window.innerHeight+i\u003e\u003ddocument.body.offsetHeight)){if(i\u003eo){t.style.position\u003d\"static\";var s\u003dt.getBoundingClientRect().top+e;if(t.style.position\u003d\"sticky\",s\u003e0)return;n\u003d!0,t.style.overflow\u003d\"hidden\",t.classList.add(\"hide-header\")}else l();o\u003di}}};window.addEventListener(\"scroll\",(function(){i\u0026\u0026clearTimeout(i),i\u003dsetTimeout(s,20)}))}function a(){var e\u003dwindow.getComputedStyle(t,null);return t.clientHeight-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom)}function l(){n\u003d!1,t.classList.remove(\"hide-header\")}}function zo(){document.querySelectorAll(\"script[style-bypass-vue-compilation]\").forEach((function(t){var e\u003ddocument.createElement(\"style\");e.innerHTML\u003dt.innerHTML,t.parentNode.replaceChild(e,t)})),Ao()}Vue.use(Lo.plugin),window.onload\u003dfunction(){if(window.location.hash){var t\u003ddocument.getElementById(window.location.hash.slice(1));t\u0026\u0026t.scrollIntoView({behavior:\"smooth\",block:\"start\",inline:\"nearest\"})}},window.handleSiteNavClick\u003dfunction(t){var e\u003d!(arguments.length\u003e1\u0026\u0026void 0!\u003d\u003darguments[1])||arguments[1];if(e){var n\u003dt.getElementsByTagName(\"a\");if(n.length)return void(window.location.href\u003dn[0].href)}var i\u003dt.nextElementSibling,o\u003dt.lastElementChild.lastElementChild;i.classList.toggle(\"site-nav-dropdown-container-open\"),o.classList.toggle(\"site-nav-rotate-icon\")};const Mo\u003d{setup:function(){new Vue(Po(Po({render:function(t){return pageVueRenderFn.call(this,t)},staticRenderFns:pageVueStaticRenderFns},No()),{},{mounted:function(){zo()}})).$mount(\"#app\",!0)},setupWithSearch:function(){new Vue(Po(Po({render:function(t){return pageVueRenderFn.call(this,t)},staticRenderFns:pageVueStaticRenderFns},No()),{},{mounted:function(){zo(),function(t){fetch(\"\".concat(baseUrl,\"/siteData.json\")).then((function(t){return t.json()})).then((function(e){t.searchData\u003de.pages}))}(this)}})).$mount(\"#app\",!0)}}})(),o\u003do.default})());"}],"authorContributionMap":{"KevinEyo1":1}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/js/polyfill.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"!function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var c\u003d\"function\"\u003d\u003dtypeof require\u0026\u0026require;if(!u\u0026\u0026c)return c(o,!0);if(i)return i(o,!0);var a\u003dnew Error(\"Cannot find module \u0027\"+o+\"\u0027\");throw a.code\u003d\"MODULE_NOT_FOUND\",a}var f\u003dn[o]\u003d{exports:{}};t[o][0].call(f.exports,function(n){var r\u003dt[o][1][n];return s(r||n)},f,f.exports,e,t,n,r)}return n[o].exports}for(var i\u003d\"function\"\u003d\u003dtypeof require\u0026\u0026require,o\u003d0;o\u003cr.length;o++)s(r[o]);return s}({1:[function(t,n,r){(function(n){\"use strict\";function define(t,n,e){t[n]||Object[r](t,n,{writable:!0,configurable:!0,value:e})}if(t(327),t(328),t(2),n._babelPolyfill)throw new Error(\"only one instance of babel-polyfill is allowed\");n._babelPolyfill\u003d!0;var r\u003d\"defineProperty\";define(String.prototype,\"padLeft\",\"\".padStart),define(String.prototype,\"padRight\",\"\".padEnd),\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function(t){[][t]\u0026\u0026define(Array,t,Function.call.bind([][t]))})}).call(this,\"undefined\"!\u003dtypeof global?global:\"undefined\"!\u003dtypeof self?self:\"undefined\"!\u003dtypeof window?window:{})},{2:2,327:327,328:328}],2:[function(t,n,r){t(130),n.exports\u003dt(23).RegExp.escape},{130:130,23:23}],3:[function(t,n,r){n.exports\u003dfunction(t){if(\"function\"!\u003dtypeof t)throw TypeError(t+\" is not a function!\");return t}},{}],4:[function(t,n,r){var e\u003dt(18);n.exports\u003dfunction(t,n){if(\"number\"!\u003dtypeof t\u0026\u0026\"Number\"!\u003de(t))throw TypeError(n);return+t}},{18:18}],5:[function(t,n,r){var e\u003dt(128)(\"unscopables\"),i\u003dArray.prototype;void 0\u003d\u003di[e]\u0026\u0026t(42)(i,e,{}),n.exports\u003dfunction(t){i[e][t]\u003d!0}},{128:128,42:42}],6:[function(t,n,r){n.exports\u003dfunction(t,n,r,e){if(!(t instanceof n)||void 0!\u003d\u003de\u0026\u0026e in t)throw TypeError(r+\": incorrect invocation!\");return t}},{}],7:[function(t,n,r){var e\u003dt(51);n.exports\u003dfunction(t){if(!e(t))throw TypeError(t+\" is not an object!\");return t}},{51:51}],8:[function(t,n,r){\"use strict\";var e\u003dt(119),i\u003dt(114),o\u003dt(118);n.exports\u003d[].copyWithin||function copyWithin(t,n){var r\u003de(this),u\u003do(r.length),c\u003di(t,u),a\u003di(n,u),f\u003darguments.length\u003e2?arguments[2]:void 0,s\u003dMath.min((void 0\u003d\u003d\u003df?u:i(f,u))-a,u-c),l\u003d1;for(a\u003cc\u0026\u0026c\u003ca+s\u0026\u0026(l\u003d-1,a+\u003ds-1,c+\u003ds-1);s-- \u003e0;)a in r?r[c]\u003dr[a]:delete r[c],c+\u003dl,a+\u003dl;return r}},{114:114,118:118,119:119}],9:[function(t,n,r){\"use strict\";var e\u003dt(119),i\u003dt(114),o\u003dt(118);n.exports\u003dfunction fill(t){for(var n\u003de(this),r\u003do(n.length),u\u003darguments.length,c\u003di(u\u003e1?arguments[1]:void 0,r),a\u003du\u003e2?arguments[2]:void 0,f\u003dvoid 0\u003d\u003d\u003da?r:i(a,r);f\u003ec;)n[c++]\u003dt;return n}},{114:114,118:118,119:119}],10:[function(t,n,r){var e\u003dt(39);n.exports\u003dfunction(t,n){var r\u003d[];return e(t,!1,r.push,r,n),r}},{39:39}],11:[function(t,n,r){var e\u003dt(117),i\u003dt(118),o\u003dt(114);n.exports\u003dfunction(t){return function(n,r,u){var c,a\u003de(n),f\u003di(a.length),s\u003do(u,f);if(t\u0026\u0026r!\u003dr){for(;f\u003es;)if((c\u003da[s++])!\u003dc)return!0}else for(;f\u003es;s++)if((t||s in a)\u0026\u0026a[s]\u003d\u003d\u003dr)return t||s||0;return!t\u0026\u0026-1}}},{114:114,117:117,118:118}],12:[function(t,n,r){var e\u003dt(25),i\u003dt(47),o\u003dt(119),u\u003dt(118),c\u003dt(15);n.exports\u003dfunction(t,n){var r\u003d1\u003d\u003dt,a\u003d2\u003d\u003dt,f\u003d3\u003d\u003dt,s\u003d4\u003d\u003dt,l\u003d6\u003d\u003dt,h\u003d5\u003d\u003dt||l,v\u003dn||c;return function(n,c,p){for(var d,y,g\u003do(n),m\u003di(g),b\u003de(c,p,3),x\u003du(m.length),S\u003d0,w\u003dr?v(n,x):a?v(n,0):void 0;x\u003eS;S++)if((h||S in m)\u0026\u0026(d\u003dm[S],y\u003db(d,S,g),t))if(r)w[S]\u003dy;else if(y)switch(t){case 3:return!0;case 5:return d;case 6:return S;case 2:w.push(d)}else if(s)return!1;return l?-1:f||s?s:w}}},{118:118,119:119,15:15,25:25,47:47}],13:[function(t,n,r){var e\u003dt(3),i\u003dt(119),o\u003dt(47),u\u003dt(118);n.exports\u003dfunction(t,n,r,c,a){e(n);var f\u003di(t),s\u003do(f),l\u003du(f.length),h\u003da?l-1:0,v\u003da?-1:1;if(r\u003c2)for(;;){if(h in s){c\u003ds[h],h+\u003dv;break}if(h+\u003dv,a?h\u003c0:l\u003c\u003dh)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?h\u003e\u003d0:l\u003eh;h+\u003dv)h in s\u0026\u0026(c\u003dn(c,s[h],h,f));return c}},{118:118,119:119,3:3,47:47}],14:[function(t,n,r){var e\u003dt(51),i\u003dt(49),o\u003dt(128)(\"species\");n.exports\u003dfunction(t){var n;return i(t)\u0026\u0026(n\u003dt.constructor,\"function\"!\u003dtypeof n||n!\u003d\u003dArray\u0026\u0026!i(n.prototype)||(n\u003dvoid 0),e(n)\u0026\u0026null\u003d\u003d\u003d(n\u003dn[o])\u0026\u0026(n\u003dvoid 0)),void 0\u003d\u003d\u003dn?Array:n}},{128:128,49:49,51:51}],15:[function(t,n,r){var e\u003dt(14);n.exports\u003dfunction(t,n){return new(e(t))(n)}},{14:14}],16:[function(t,n,r){\"use strict\";var e\u003dt(3),i\u003dt(51),o\u003dt(46),u\u003d[].slice,c\u003d{},a\u003dfunction(t,n,r){if(!(n in c)){for(var e\u003d[],i\u003d0;i\u003cn;i++)e[i]\u003d\"a[\"+i+\"]\";c[n]\u003dFunction(\"F,a\",\"return new F(\"+e.join(\",\")+\")\")}return c[n](t,r)};n.exports\u003dFunction.bind||function bind(t){var n\u003de(this),r\u003du.call(arguments,1),c\u003dfunction(){var e\u003dr.concat(u.call(arguments));return this instanceof c?a(n,e.length,e):o(n,e,t)};return i(n.prototype)\u0026\u0026(c.prototype\u003dn.prototype),c}},{3:3,46:46,51:51}],17:[function(t,n,r){var e\u003dt(18),i\u003dt(128)(\"toStringTag\"),o\u003d\"Arguments\"\u003d\u003de(function(){return arguments}()),u\u003dfunction(t,n){try{return t[n]}catch(t){}};n.exports\u003dfunction(t){var n,r,c;return void 0\u003d\u003d\u003dt?\"Undefined\":null\u003d\u003d\u003dt?\"Null\":\"string\"\u003d\u003dtypeof(r\u003du(n\u003dObject(t),i))?r:o?e(n):\"Object\"\u003d\u003d(c\u003de(n))\u0026\u0026\"function\"\u003d\u003dtypeof n.callee?\"Arguments\":c}},{128:128,18:18}],18:[function(t,n,r){var e\u003d{}.toString;n.exports\u003dfunction(t){return e.call(t).slice(8,-1)}},{}],19:[function(t,n,r){\"use strict\";var e\u003dt(72).f,i\u003dt(71),o\u003dt(93),u\u003dt(25),c\u003dt(6),a\u003dt(39),f\u003dt(55),s\u003dt(57),l\u003dt(100),h\u003dt(29),v\u003dt(66).fastKey,p\u003dt(125),d\u003dh?\"_s\":\"size\",y\u003dfunction(t,n){var r,e\u003dv(n);if(\"F\"!\u003d\u003de)return t._i[e];for(r\u003dt._f;r;r\u003dr.n)if(r.k\u003d\u003dn)return r};n.exports\u003d{getConstructor:function(t,n,r,f){var s\u003dt(function(t,e){c(t,s,n,\"_i\"),t._t\u003dn,t._i\u003di(null),t._f\u003dvoid 0,t._l\u003dvoid 0,t[d]\u003d0,void 0!\u003de\u0026\u0026a(e,r,t[f],t)});return o(s.prototype,{clear:function clear(){for(var t\u003dp(this,n),r\u003dt._i,e\u003dt._f;e;e\u003de.n)e.r\u003d!0,e.p\u0026\u0026(e.p\u003de.p.n\u003dvoid 0),delete r[e.i];t._f\u003dt._l\u003dvoid 0,t[d]\u003d0},delete:function(t){var r\u003dp(this,n),e\u003dy(r,t);if(e){var i\u003de.n,o\u003de.p;delete r._i[e.i],e.r\u003d!0,o\u0026\u0026(o.n\u003di),i\u0026\u0026(i.p\u003do),r._f\u003d\u003de\u0026\u0026(r._f\u003di),r._l\u003d\u003de\u0026\u0026(r._l\u003do),r[d]--}return!!e},forEach:function forEach(t){p(this,n);for(var r,e\u003du(t,arguments.length\u003e1?arguments[1]:void 0,3);r\u003dr?r.n:this._f;)for(e(r.v,r.k,this);r\u0026\u0026r.r;)r\u003dr.p},has:function has(t){return!!y(p(this,n),t)}}),h\u0026\u0026e(s.prototype,\"size\",{get:function(){return p(this,n)[d]}}),s},def:function(t,n,r){var e,i,o\u003dy(t,n);return o?o.v\u003dr:(t._l\u003do\u003d{i:i\u003dv(n,!0),k:n,v:r,p:e\u003dt._l,n:void 0,r:!1},t._f||(t._f\u003do),e\u0026\u0026(e.n\u003do),t[d]++,\"F\"!\u003d\u003di\u0026\u0026(t._i[i]\u003do)),t},getEntry:y,setStrong:function(t,n,r){f(t,n,function(t,r){this._t\u003dp(t,n),this._k\u003dr,this._l\u003dvoid 0},function(){for(var t\u003dthis,n\u003dt._k,r\u003dt._l;r\u0026\u0026r.r;)r\u003dr.p;return t._t\u0026\u0026(t._l\u003dr\u003dr?r.n:t._t._f)?\"keys\"\u003d\u003dn?s(0,r.k):\"values\"\u003d\u003dn?s(0,r.v):s(0,[r.k,r.v]):(t._t\u003dvoid 0,s(1))},r?\"entries\":\"values\",!r,!0),l(n)}}},{100:100,125:125,25:25,29:29,39:39,55:55,57:57,6:6,66:66,71:71,72:72,93:93}],20:[function(t,n,r){var e\u003dt(17),i\u003dt(10);n.exports\u003dfunction(t){return function toJSON(){if(e(this)!\u003dt)throw TypeError(t+\"#toJSON isn\u0027t generic\");return i(this)}}},{10:10,17:17}],21:[function(t,n,r){\"use strict\";var e\u003dt(93),i\u003dt(66).getWeak,o\u003dt(7),u\u003dt(51),c\u003dt(6),a\u003dt(39),f\u003dt(12),s\u003dt(41),l\u003dt(125),h\u003df(5),v\u003df(6),p\u003d0,d\u003dfunction(t){return t._l||(t._l\u003dnew y)},y\u003dfunction(){this.a\u003d[]},g\u003dfunction(t,n){return h(t.a,function(t){return t[0]\u003d\u003d\u003dn})};y.prototype\u003d{get:function(t){var n\u003dg(this,t);if(n)return n[1]},has:function(t){return!!g(this,t)},set:function(t,n){var r\u003dg(this,t);r?r[1]\u003dn:this.a.push([t,n])},delete:function(t){var n\u003dv(this.a,function(n){return n[0]\u003d\u003d\u003dt});return~n\u0026\u0026this.a.splice(n,1),!!~n}},n.exports\u003d{getConstructor:function(t,n,r,o){var f\u003dt(function(t,e){c(t,f,n,\"_i\"),t._t\u003dn,t._i\u003dp++,t._l\u003dvoid 0,void 0!\u003de\u0026\u0026a(e,r,t[o],t)});return e(f.prototype,{delete:function(t){if(!u(t))return!1;var r\u003di(t);return!0\u003d\u003d\u003dr?d(l(this,n)).delete(t):r\u0026\u0026s(r,this._i)\u0026\u0026delete r[this._i]},has:function has(t){if(!u(t))return!1;var r\u003di(t);return!0\u003d\u003d\u003dr?d(l(this,n)).has(t):r\u0026\u0026s(r,this._i)}}),f},def:function(t,n,r){var e\u003di(o(n),!0);return!0\u003d\u003d\u003de?d(t).set(n,r):e[t._i]\u003dr,t},ufstore:d}},{12:12,125:125,39:39,41:41,51:51,6:6,66:66,7:7,93:93}],22:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(33),o\u003dt(94),u\u003dt(93),c\u003dt(66),a\u003dt(39),f\u003dt(6),s\u003dt(51),l\u003dt(35),h\u003dt(56),v\u003dt(101),p\u003dt(45);n.exports\u003dfunction(t,n,r,d,y,g){var m\u003de[t],b\u003dm,x\u003dy?\"set\":\"add\",S\u003db\u0026\u0026b.prototype,w\u003d{},_\u003dfunction(t){var n\u003dS[t];o(S,t,\"delete\"\u003d\u003dt?function(t){return!(g\u0026\u0026!s(t))\u0026\u0026n.call(this,0\u003d\u003d\u003dt?0:t)}:\"has\"\u003d\u003dt?function has(t){return!(g\u0026\u0026!s(t))\u0026\u0026n.call(this,0\u003d\u003d\u003dt?0:t)}:\"get\"\u003d\u003dt?function get(t){return g\u0026\u0026!s(t)?void 0:n.call(this,0\u003d\u003d\u003dt?0:t)}:\"add\"\u003d\u003dt?function add(t){return n.call(this,0\u003d\u003d\u003dt?0:t),this}:function set(t,r){return n.call(this,0\u003d\u003d\u003dt?0:t,r),this})};if(\"function\"\u003d\u003dtypeof b\u0026\u0026(g||S.forEach\u0026\u0026!l(function(){(new b).entries().next()}))){var E\u003dnew b,O\u003dE[x](g?{}:-0,1)!\u003dE,P\u003dl(function(){E.has(1)}),M\u003dh(function(t){new b(t)}),F\u003d!g\u0026\u0026l(function(){for(var t\u003dnew b,n\u003d5;n--;)t[x](n,n);return!t.has(-0)});M||(b\u003dn(function(n,r){f(n,b,t);var e\u003dp(new m,n,b);return void 0!\u003dr\u0026\u0026a(r,y,e[x],e),e}),b.prototype\u003dS,S.constructor\u003db),(P||F)\u0026\u0026(_(\"delete\"),_(\"has\"),y\u0026\u0026_(\"get\")),(F||O)\u0026\u0026_(x),g\u0026\u0026S.clear\u0026\u0026delete S.clear}else b\u003dd.getConstructor(n,t,y,x),u(b.prototype,r),c.NEED\u003d!0;return v(b,t),w[t]\u003db,i(i.G+i.W+i.F*(b!\u003dm),w),g||d.setStrong(b,t,y),b}},{101:101,33:33,35:35,39:39,40:40,45:45,51:51,56:56,6:6,66:66,93:93,94:94}],23:[function(t,n,r){var e\u003dn.exports\u003d{version:\"2.5.0\"};\"number\"\u003d\u003dtypeof __e\u0026\u0026(__e\u003de)},{}],24:[function(t,n,r){\"use strict\";var e\u003dt(72),i\u003dt(92);n.exports\u003dfunction(t,n,r){n in t?e.f(t,n,i(0,r)):t[n]\u003dr}},{72:72,92:92}],25:[function(t,n,r){var e\u003dt(3);n.exports\u003dfunction(t,n,r){if(e(t),void 0\u003d\u003d\u003dn)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,i){return t.call(n,r,e,i)}}return function(){return t.apply(n,arguments)}}},{3:3}],26:[function(t,n,r){\"use strict\";var e\u003dt(35),i\u003dDate.prototype.getTime,o\u003dDate.prototype.toISOString,u\u003dfunction(t){return t\u003e9?t:\"0\"+t};n.exports\u003de(function(){return\"0385-07-25T07:06:39.999Z\"!\u003do.call(new Date(-5e13-1))})||!e(function(){o.call(new Date(NaN))})?function toISOString(){if(!isFinite(i.call(this)))throw RangeError(\"Invalid time value\");var t\u003dthis,n\u003dt.getUTCFullYear(),r\u003dt.getUTCMilliseconds(),e\u003dn\u003c0?\"-\":n\u003e9999?\"+\":\"\";return e+(\"00000\"+Math.abs(n)).slice(e?-6:-4)+\"-\"+u(t.getUTCMonth()+1)+\"-\"+u(t.getUTCDate())+\"T\"+u(t.getUTCHours())+\":\"+u(t.getUTCMinutes())+\":\"+u(t.getUTCSeconds())+\".\"+(r\u003e99?r:\"0\"+u(r))+\"Z\"}:o},{35:35}],27:[function(t,n,r){\"use strict\";var e\u003dt(7),i\u003dt(120);n.exports\u003dfunction(t){if(\"string\"!\u003d\u003dt\u0026\u0026\"number\"!\u003d\u003dt\u0026\u0026\"default\"!\u003d\u003dt)throw TypeError(\"Incorrect hint\");return i(e(this),\"number\"!\u003dt)}},{120:120,7:7}],28:[function(t,n,r){n.exports\u003dfunction(t){if(void 0\u003d\u003dt)throw TypeError(\"Can\u0027t call method on \"+t);return t}},{}],29:[function(t,n,r){n.exports\u003d!t(35)(function(){return 7!\u003dObject.defineProperty({},\"a\",{get:function(){return 7}}).a})},{35:35}],30:[function(t,n,r){var e\u003dt(51),i\u003dt(40).document,o\u003de(i)\u0026\u0026e(i.createElement);n.exports\u003dfunction(t){return o?i.createElement(t):{}}},{40:40,51:51}],31:[function(t,n,r){n.exports\u003d\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},{}],32:[function(t,n,r){var e\u003dt(81),i\u003dt(78),o\u003dt(82);n.exports\u003dfunction(t){var n\u003de(t),r\u003di.f;if(r)for(var u,c\u003dr(t),a\u003do.f,f\u003d0;c.length\u003ef;)a.call(t,u\u003dc[f++])\u0026\u0026n.push(u);return n}},{78:78,81:81,82:82}],33:[function(t,n,r){var e\u003dt(40),i\u003dt(23),o\u003dt(42),u\u003dt(94),c\u003dt(25),a\u003dfunction(t,n,r){var f,s,l,h,v\u003dt\u0026a.F,p\u003dt\u0026a.G,d\u003dt\u0026a.S,y\u003dt\u0026a.P,g\u003dt\u0026a.B,m\u003dp?e:d?e[n]||(e[n]\u003d{}):(e[n]||{}).prototype,b\u003dp?i:i[n]||(i[n]\u003d{}),x\u003db.prototype||(b.prototype\u003d{});p\u0026\u0026(r\u003dn);for(f in r)s\u003d!v\u0026\u0026m\u0026\u0026void 0!\u003d\u003dm[f],l\u003d(s?m:r)[f],h\u003dg\u0026\u0026s?c(l,e):y\u0026\u0026\"function\"\u003d\u003dtypeof l?c(Function.call,l):l,m\u0026\u0026u(m,f,l,t\u0026a.U),b[f]!\u003dl\u0026\u0026o(b,f,h),y\u0026\u0026x[f]!\u003dl\u0026\u0026(x[f]\u003dl)};e.core\u003di,a.F\u003d1,a.G\u003d2,a.S\u003d4,a.P\u003d8,a.B\u003d16,a.W\u003d32,a.U\u003d64,a.R\u003d128,n.exports\u003da},{23:23,25:25,40:40,42:42,94:94}],34:[function(t,n,r){var e\u003dt(128)(\"match\");n.exports\u003dfunction(t){var n\u003d/./;try{\"/./\"[t](n)}catch(r){try{return n[e]\u003d!1,!\"/./\"[t](n)}catch(t){}}return!0}},{128:128}],35:[function(t,n,r){n.exports\u003dfunction(t){try{return!!t()}catch(t){return!0}}},{}],36:[function(t,n,r){\"use strict\";var e\u003dt(42),i\u003dt(94),o\u003dt(35),u\u003dt(28),c\u003dt(128);n.exports\u003dfunction(t,n,r){var a\u003dc(t),f\u003dr(u,a,\"\"[t]),s\u003df[0],l\u003df[1];o(function(){var n\u003d{};return n[a]\u003dfunction(){return 7},7!\u003d\"\"[t](n)})\u0026\u0026(i(String.prototype,t,s),e(RegExp.prototype,a,2\u003d\u003dn?function(t,n){return l.call(t,this,n)}:function(t){return l.call(t,this)}))}},{128:128,28:28,35:35,42:42,94:94}],37:[function(t,n,r){\"use strict\";var e\u003dt(7);n.exports\u003dfunction(){var t\u003de(this),n\u003d\"\";return t.global\u0026\u0026(n+\u003d\"g\"),t.ignoreCase\u0026\u0026(n+\u003d\"i\"),t.multiline\u0026\u0026(n+\u003d\"m\"),t.unicode\u0026\u0026(n+\u003d\"u\"),t.sticky\u0026\u0026(n+\u003d\"y\"),n}},{7:7}],38:[function(t,n,r){\"use strict\";function flattenIntoArray(t,n,r,a,f,s,l,h){for(var v,p,d\u003df,y\u003d0,g\u003d!!l\u0026\u0026u(l,h,3);y\u003ca;){if(y in r){if(v\u003dg?g(r[y],y,n):r[y],p\u003d!1,i(v)\u0026\u0026(p\u003dv[c],p\u003dvoid 0!\u003d\u003dp?!!p:e(v)),p\u0026\u0026s\u003e0)d\u003dflattenIntoArray(t,n,v,o(v.length),d,s-1)-1;else{if(d\u003e\u003d9007199254740991)throw TypeError();t[d]\u003dv}d++}y++}return d}var e\u003dt(49),i\u003dt(51),o\u003dt(118),u\u003dt(25),c\u003dt(128)(\"isConcatSpreadable\");n.exports\u003dflattenIntoArray},{118:118,128:128,25:25,49:49,51:51}],39:[function(t,n,r){var e\u003dt(25),i\u003dt(53),o\u003dt(48),u\u003dt(7),c\u003dt(118),a\u003dt(129),f\u003d{},s\u003d{},r\u003dn.exports\u003dfunction(t,n,r,l,h){var v,p,d,y,g\u003dh?function(){return t}:a(t),m\u003de(r,l,n?2:1),b\u003d0;if(\"function\"!\u003dtypeof g)throw TypeError(t+\" is not iterable!\");if(o(g)){for(v\u003dc(t.length);v\u003eb;b++)if((y\u003dn?m(u(p\u003dt[b])[0],p[1]):m(t[b]))\u003d\u003d\u003df||y\u003d\u003d\u003ds)return y}else for(d\u003dg.call(t);!(p\u003dd.next()).done;)if((y\u003di(d,m,p.value,n))\u003d\u003d\u003df||y\u003d\u003d\u003ds)return y};r.BREAK\u003df,r.RETURN\u003ds},{118:118,129:129,25:25,48:48,53:53,7:7}],40:[function(t,n,r){var e\u003dn.exports\u003d\"undefined\"!\u003dtypeof window\u0026\u0026window.Math\u003d\u003dMath?window:\"undefined\"!\u003dtypeof self\u0026\u0026self.Math\u003d\u003dMath?self:Function(\"return this\")();\"number\"\u003d\u003dtypeof __g\u0026\u0026(__g\u003de)},{}],41:[function(t,n,r){var e\u003d{}.hasOwnProperty;n.exports\u003dfunction(t,n){return e.call(t,n)}},{}],42:[function(t,n,r){var e\u003dt(72),i\u003dt(92);n.exports\u003dt(29)?function(t,n,r){return e.f(t,n,i(1,r))}:function(t,n,r){return t[n]\u003dr,t}},{29:29,72:72,92:92}],43:[function(t,n,r){var e\u003dt(40).document;n.exports\u003de\u0026\u0026e.documentElement},{40:40}],44:[function(t,n,r){n.exports\u003d!t(29)\u0026\u0026!t(35)(function(){return 7!\u003dObject.defineProperty(t(30)(\"div\"),\"a\",{get:function(){return 7}}).a})},{29:29,30:30,35:35}],45:[function(t,n,r){var e\u003dt(51),i\u003dt(99).set;n.exports\u003dfunction(t,n,r){var o,u\u003dn.constructor;return u!\u003d\u003dr\u0026\u0026\"function\"\u003d\u003dtypeof u\u0026\u0026(o\u003du.prototype)!\u003d\u003dr.prototype\u0026\u0026e(o)\u0026\u0026i\u0026\u0026i(t,o),t}},{51:51,99:99}],46:[function(t,n,r){n.exports\u003dfunction(t,n,r){var e\u003dvoid 0\u003d\u003d\u003dr;switch(n.length){case 0:return e?t():t.call(r);case 1:return e?t(n[0]):t.call(r,n[0]);case 2:return e?t(n[0],n[1]):t.call(r,n[0],n[1]);case 3:return e?t(n[0],n[1],n[2]):t.call(r,n[0],n[1],n[2]);case 4:return e?t(n[0],n[1],n[2],n[3]):t.call(r,n[0],n[1],n[2],n[3])}return t.apply(r,n)}},{}],47:[function(t,n,r){var e\u003dt(18);n.exports\u003dObject(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"\u003d\u003de(t)?t.split(\"\"):Object(t)}},{18:18}],48:[function(t,n,r){var e\u003dt(58),i\u003dt(128)(\"iterator\"),o\u003dArray.prototype;n.exports\u003dfunction(t){return void 0!\u003d\u003dt\u0026\u0026(e.Array\u003d\u003d\u003dt||o[i]\u003d\u003d\u003dt)}},{128:128,58:58}],49:[function(t,n,r){var e\u003dt(18);n.exports\u003dArray.isArray||function isArray(t){return\"Array\"\u003d\u003de(t)}},{18:18}],50:[function(t,n,r){var e\u003dt(51),i\u003dMath.floor;n.exports\u003dfunction isInteger(t){return!e(t)\u0026\u0026isFinite(t)\u0026\u0026i(t)\u003d\u003d\u003dt}},{51:51}],51:[function(t,n,r){n.exports\u003dfunction(t){return\"object\"\u003d\u003dtypeof t?null!\u003d\u003dt:\"function\"\u003d\u003dtypeof t}},{}],52:[function(t,n,r){var e\u003dt(51),i\u003dt(18),o\u003dt(128)(\"match\");n.exports\u003dfunction(t){var n;return e(t)\u0026\u0026(void 0!\u003d\u003d(n\u003dt[o])?!!n:\"RegExp\"\u003d\u003di(t))}},{128:128,18:18,51:51}],53:[function(t,n,r){var e\u003dt(7);n.exports\u003dfunction(t,n,r,i){try{return i?n(e(r)[0],r[1]):n(r)}catch(n){var o\u003dt.return;throw void 0!\u003d\u003do\u0026\u0026e(o.call(t)),n}}},{7:7}],54:[function(t,n,r){\"use strict\";var e\u003dt(71),i\u003dt(92),o\u003dt(101),u\u003d{};t(42)(u,t(128)(\"iterator\"),function(){return this}),n.exports\u003dfunction(t,n,r){t.prototype\u003de(u,{next:i(1,r)}),o(t,n+\" Iterator\")}},{101:101,128:128,42:42,71:71,92:92}],55:[function(t,n,r){\"use strict\";var e\u003dt(60),i\u003dt(33),o\u003dt(94),u\u003dt(42),c\u003dt(41),a\u003dt(58),f\u003dt(54),s\u003dt(101),l\u003dt(79),h\u003dt(128)(\"iterator\"),v\u003d!([].keys\u0026\u0026\"next\"in[].keys()),p\u003dfunction(){return this};n.exports\u003dfunction(t,n,r,d,y,g,m){f(r,n,d);var b,x,S,w\u003dfunction(t){if(!v\u0026\u0026t in P)return P[t];switch(t){case\"keys\":return function keys(){return new r(this,t)};case\"values\":return function values(){return new r(this,t)}}return function entries(){return new r(this,t)}},_\u003dn+\" Iterator\",E\u003d\"values\"\u003d\u003dy,O\u003d!1,P\u003dt.prototype,M\u003dP[h]||P[\"@@iterator\"]||y\u0026\u0026P[y],F\u003dM||w(y),I\u003dy?E?w(\"entries\"):F:void 0,A\u003d\"Array\"\u003d\u003dn?P.entries||M:M;if(A\u0026\u0026(S\u003dl(A.call(new t)))!\u003d\u003dObject.prototype\u0026\u0026S.next\u0026\u0026(s(S,_,!0),e||c(S,h)||u(S,h,p)),E\u0026\u0026M\u0026\u0026\"values\"!\u003d\u003dM.name\u0026\u0026(O\u003d!0,F\u003dfunction values(){return M.call(this)}),e\u0026\u0026!m||!v\u0026\u0026!O\u0026\u0026P[h]||u(P,h,F),a[n]\u003dF,a[_]\u003dp,y)if(b\u003d{values:E?F:w(\"values\"),keys:g?F:w(\"keys\"),entries:I},m)for(x in b)x in P||o(P,x,b[x]);else i(i.P+i.F*(v||O),n,b);return b}},{101:101,128:128,33:33,41:41,42:42,54:54,58:58,60:60,79:79,94:94}],56:[function(t,n,r){var e\u003dt(128)(\"iterator\"),i\u003d!1;try{var o\u003d[7][e]();o.return\u003dfunction(){i\u003d!0},Array.from(o,function(){throw 2})}catch(t){}n.exports\u003dfunction(t,n){if(!n\u0026\u0026!i)return!1;var r\u003d!1;try{var o\u003d[7],u\u003do[e]();u.next\u003dfunction(){return{done:r\u003d!0}},o[e]\u003dfunction(){return u},t(o)}catch(t){}return r}},{128:128}],57:[function(t,n,r){n.exports\u003dfunction(t,n){return{value:n,done:!!t}}},{}],58:[function(t,n,r){n.exports\u003d{}},{}],59:[function(t,n,r){var e\u003dt(81),i\u003dt(117);n.exports\u003dfunction(t,n){for(var r,o\u003di(t),u\u003de(o),c\u003du.length,a\u003d0;c\u003ea;)if(o[r\u003du[a++]]\u003d\u003d\u003dn)return r}},{117:117,81:81}],60:[function(t,n,r){n.exports\u003d!1},{}],61:[function(t,n,r){var e\u003dMath.expm1;n.exports\u003d!e||e(10)\u003e22025.465794806718||e(10)\u003c22025.465794806718||-2e-17!\u003de(-2e-17)?function expm1(t){return 0\u003d\u003d(t\u003d+t)?t:t\u003e-1e-6\u0026\u0026t\u003c1e-6?t+t*t/2:Math.exp(t)-1}:e},{}],62:[function(t,n,r){var e\u003dt(65),i\u003dMath.pow,o\u003di(2,-52),u\u003di(2,-23),c\u003di(2,127)*(2-u),a\u003di(2,-126),f\u003dfunction(t){return t+1/o-1/o};n.exports\u003dMath.fround||function fround(t){var n,r,i\u003dMath.abs(t),s\u003de(t);return i\u003ca?s*f(i/a/u)*a*u:(n\u003d(1+u/o)*i,r\u003dn-(n-i),r\u003ec||r!\u003dr?s*(1/0):s*r)}},{65:65}],63:[function(t,n,r){n.exports\u003dMath.log1p||function log1p(t){return(t\u003d+t)\u003e-1e-8\u0026\u0026t\u003c1e-8?t-t*t/2:Math.log(1+t)}},{}],64:[function(t,n,r){n.exports\u003dMath.scale||function scale(t,n,r,e,i){return 0\u003d\u003d\u003darguments.length||t!\u003dt||n!\u003dn||r!\u003dr||e!\u003de||i!\u003di?NaN:t\u003d\u003d\u003d1/0||t\u003d\u003d\u003d-1/0?t:(t-n)*(i-e)/(r-n)+e}},{}],65:[function(t,n,r){n.exports\u003dMath.sign||function sign(t){return 0\u003d\u003d(t\u003d+t)||t!\u003dt?t:t\u003c0?-1:1}},{}],66:[function(t,n,r){var e\u003dt(124)(\"meta\"),i\u003dt(51),o\u003dt(41),u\u003dt(72).f,c\u003d0,a\u003dObject.isExtensible||function(){return!0},f\u003d!t(35)(function(){return a(Object.preventExtensions({}))}),s\u003dfunction(t){u(t,e,{value:{i:\"O\"+ ++c,w:{}}})},l\u003dfunction(t,n){if(!i(t))return\"symbol\"\u003d\u003dtypeof t?t:(\"string\"\u003d\u003dtypeof t?\"S\":\"P\")+t;if(!o(t,e)){if(!a(t))return\"F\";if(!n)return\"E\";s(t)}return t[e].i},h\u003dfunction(t,n){if(!o(t,e)){if(!a(t))return!0;if(!n)return!1;s(t)}return t[e].w},v\u003dfunction(t){return f\u0026\u0026p.NEED\u0026\u0026a(t)\u0026\u0026!o(t,e)\u0026\u0026s(t),t},p\u003dn.exports\u003d{KEY:e,NEED:!1,fastKey:l,getWeak:h,onFreeze:v}},{124:124,35:35,41:41,51:51,72:72}],67:[function(t,n,r){var e\u003dt(160),i\u003dt(33),o\u003dt(103)(\"metadata\"),u\u003do.store||(o.store\u003dnew(t(266))),c\u003dfunction(t,n,r){var i\u003du.get(t);if(!i){if(!r)return;u.set(t,i\u003dnew e)}var o\u003di.get(n);if(!o){if(!r)return;i.set(n,o\u003dnew e)}return o},a\u003dfunction(t,n,r){var e\u003dc(n,r,!1);return void 0!\u003d\u003de\u0026\u0026e.has(t)},f\u003dfunction(t,n,r){var e\u003dc(n,r,!1);return void 0\u003d\u003d\u003de?void 0:e.get(t)},s\u003dfunction(t,n,r,e){c(r,e,!0).set(t,n)},l\u003dfunction(t,n){var r\u003dc(t,n,!1),e\u003d[];return r\u0026\u0026r.forEach(function(t,n){e.push(n)}),e},h\u003dfunction(t){return void 0\u003d\u003d\u003dt||\"symbol\"\u003d\u003dtypeof t?t:String(t)},v\u003dfunction(t){i(i.S,\"Reflect\",t)};n.exports\u003d{store:u,map:c,has:a,get:f,set:s,keys:l,key:h,exp:v}},{103:103,160:160,266:266,33:33}],68:[function(t,n,r){var e\u003dt(40),i\u003dt(113).set,o\u003de.MutationObserver||e.WebKitMutationObserver,u\u003de.process,c\u003de.Promise,a\u003d\"process\"\u003d\u003dt(18)(u);n.exports\u003dfunction(){var t,n,r,f\u003dfunction(){var e,i;for(a\u0026\u0026(e\u003du.domain)\u0026\u0026e.exit();t;){i\u003dt.fn,t\u003dt.next;try{i()}catch(e){throw t?r():n\u003dvoid 0,e}}n\u003dvoid 0,e\u0026\u0026e.enter()};if(a)r\u003dfunction(){u.nextTick(f)};else if(o){var s\u003d!0,l\u003ddocument.createTextNode(\"\");new o(f).observe(l,{characterData:!0}),r\u003dfunction(){l.data\u003ds\u003d!s}}else if(c\u0026\u0026c.resolve){var h\u003dc.resolve();r\u003dfunction(){h.then(f)}}else r\u003dfunction(){i.call(e,f)};return function(e){var i\u003d{fn:e,next:void 0};n\u0026\u0026(n.next\u003di),t||(t\u003di,r()),n\u003di}}},{113:113,18:18,40:40}],69:[function(t,n,r){\"use strict\";function PromiseCapability(t){var n,r;this.promise\u003dnew t(function(t,e){if(void 0!\u003d\u003dn||void 0!\u003d\u003dr)throw TypeError(\"Bad Promise constructor\");n\u003dt,r\u003de}),this.resolve\u003de(n),this.reject\u003de(r)}var e\u003dt(3);n.exports.f\u003dfunction(t){return new PromiseCapability(t)}},{3:3}],70:[function(t,n,r){\"use strict\";var e\u003dt(81),i\u003dt(78),o\u003dt(82),u\u003dt(119),c\u003dt(47),a\u003dObject.assign;n.exports\u003d!a||t(35)(function(){var t\u003d{},n\u003d{},r\u003dSymbol(),e\u003d\"abcdefghijklmnopqrst\";return t[r]\u003d7,e.split(\"\").forEach(function(t){n[t]\u003dt}),7!\u003da({},t)[r]||Object.keys(a({},n)).join(\"\")!\u003de})?function assign(t,n){for(var r\u003du(t),a\u003darguments.length,f\u003d1,s\u003di.f,l\u003do.f;a\u003ef;)for(var h,v\u003dc(arguments[f++]),p\u003ds?e(v).concat(s(v)):e(v),d\u003dp.length,y\u003d0;d\u003ey;)l.call(v,h\u003dp[y++])\u0026\u0026(r[h]\u003dv[h]);return r}:a},{119:119,35:35,47:47,78:78,81:81,82:82}],71:[function(t,n,r){var e\u003dt(7),i\u003dt(73),o\u003dt(31),u\u003dt(102)(\"IE_PROTO\"),c\u003dfunction(){},a\u003dfunction(){var n,r\u003dt(30)(\"iframe\"),e\u003do.length;for(r.style.display\u003d\"none\",t(43).appendChild(r),r.src\u003d\"javascript:\",n\u003dr.contentWindow.document,n.open(),n.write(\"\u003cscript\u003edocument.F\u003dObject\u003c\\/script\u003e\"),n.close(),a\u003dn.F;e--;)delete a.prototype[o[e]];return a()};n.exports\u003dObject.create||function create(t,n){var r;return null!\u003d\u003dt?(c.prototype\u003de(t),r\u003dnew c,c.prototype\u003dnull,r[u]\u003dt):r\u003da(),void 0\u003d\u003d\u003dn?r:i(r,n)}},{102:102,30:30,31:31,43:43,7:7,73:73}],72:[function(t,n,r){var e\u003dt(7),i\u003dt(44),o\u003dt(120),u\u003dObject.defineProperty;r.f\u003dt(29)?Object.defineProperty:function defineProperty(t,n,r){if(e(t),n\u003do(n,!0),e(r),i)try{return u(t,n,r)}catch(t){}if(\"get\"in r||\"set\"in r)throw TypeError(\"Accessors not supported!\");return\"value\"in r\u0026\u0026(t[n]\u003dr.value),t}},{120:120,29:29,44:44,7:7}],73:[function(t,n,r){var e\u003dt(72),i\u003dt(7),o\u003dt(81);n.exports\u003dt(29)?Object.defineProperties:function defineProperties(t,n){i(t);for(var r,u\u003do(n),c\u003du.length,a\u003d0;c\u003ea;)e.f(t,r\u003du[a++],n[r]);return t}},{29:29,7:7,72:72,81:81}],74:[function(t,n,r){\"use strict\";n.exports\u003dt(60)||!t(35)(function(){var n\u003dMath.random();__defineSetter__.call(null,n,function(){}),delete t(40)[n]})},{35:35,40:40,60:60}],75:[function(t,n,r){var e\u003dt(82),i\u003dt(92),o\u003dt(117),u\u003dt(120),c\u003dt(41),a\u003dt(44),f\u003dObject.getOwnPropertyDescriptor;r.f\u003dt(29)?f:function getOwnPropertyDescriptor(t,n){if(t\u003do(t),n\u003du(n,!0),a)try{return f(t,n)}catch(t){}if(c(t,n))return i(!e.f.call(t,n),t[n])}},{117:117,120:120,29:29,41:41,44:44,82:82,92:92}],76:[function(t,n,r){var e\u003dt(117),i\u003dt(77).f,o\u003d{}.toString,u\u003d\"object\"\u003d\u003dtypeof window\u0026\u0026window\u0026\u0026Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c\u003dfunction(t){try{return i(t)}catch(t){return u.slice()}};n.exports.f\u003dfunction getOwnPropertyNames(t){return u\u0026\u0026\"[object Window]\"\u003d\u003do.call(t)?c(t):i(e(t))}},{117:117,77:77}],77:[function(t,n,r){var e\u003dt(80),i\u003dt(31).concat(\"length\",\"prototype\");r.f\u003dObject.getOwnPropertyNames||function getOwnPropertyNames(t){return e(t,i)}},{31:31,80:80}],78:[function(t,n,r){r.f\u003dObject.getOwnPropertySymbols},{}],79:[function(t,n,r){var e\u003dt(41),i\u003dt(119),o\u003dt(102)(\"IE_PROTO\"),u\u003dObject.prototype;n.exports\u003dObject.getPrototypeOf||function(t){return t\u003di(t),e(t,o)?t[o]:\"function\"\u003d\u003dtypeof t.constructor\u0026\u0026t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},{102:102,119:119,41:41}],80:[function(t,n,r){var e\u003dt(41),i\u003dt(117),o\u003dt(11)(!1),u\u003dt(102)(\"IE_PROTO\");n.exports\u003dfunction(t,n){var r,c\u003di(t),a\u003d0,f\u003d[];for(r in c)r!\u003du\u0026\u0026e(c,r)\u0026\u0026f.push(r);for(;n.length\u003ea;)e(c,r\u003dn[a++])\u0026\u0026(~o(f,r)||f.push(r));return f}},{102:102,11:11,117:117,41:41}],81:[function(t,n,r){var e\u003dt(80),i\u003dt(31);n.exports\u003dObject.keys||function keys(t){return e(t,i)}},{31:31,80:80}],82:[function(t,n,r){r.f\u003d{}.propertyIsEnumerable},{}],83:[function(t,n,r){var e\u003dt(33),i\u003dt(23),o\u003dt(35);n.exports\u003dfunction(t,n){var r\u003d(i.Object||{})[t]||Object[t],u\u003d{};u[t]\u003dn(r),e(e.S+e.F*o(function(){r(1)}),\"Object\",u)}},{23:23,33:33,35:35}],84:[function(t,n,r){var e\u003dt(81),i\u003dt(117),o\u003dt(82).f;n.exports\u003dfunction(t){return function(n){for(var r,u\u003di(n),c\u003de(u),a\u003dc.length,f\u003d0,s\u003d[];a\u003ef;)o.call(u,r\u003dc[f++])\u0026\u0026s.push(t?[r,u[r]]:u[r]);return s}}},{117:117,81:81,82:82}],85:[function(t,n,r){var e\u003dt(77),i\u003dt(78),o\u003dt(7),u\u003dt(40).Reflect;n.exports\u003du\u0026\u0026u.ownKeys||function ownKeys(t){var n\u003de.f(o(t)),r\u003di.f;return r?n.concat(r(t)):n}},{40:40,7:7,77:77,78:78}],86:[function(t,n,r){var e\u003dt(40).parseFloat,i\u003dt(111).trim;n.exports\u003d1/e(t(112)+\"-0\")!\u003d-1/0?function parseFloat(t){var n\u003di(String(t),3),r\u003de(n);return 0\u003d\u003d\u003dr\u0026\u0026\"-\"\u003d\u003dn.charAt(0)?-0:r}:e},{111:111,112:112,40:40}],87:[function(t,n,r){var e\u003dt(40).parseInt,i\u003dt(111).trim,o\u003dt(112),u\u003d/^[-+]?0[xX]/;n.exports\u003d8!\u003d\u003de(o+\"08\")||22!\u003d\u003de(o+\"0x16\")?function parseInt(t,n){var r\u003di(String(t),3);return e(r,n\u003e\u003e\u003e0||(u.test(r)?16:10))}:e},{111:111,112:112,40:40}],88:[function(t,n,r){\"use strict\";var e\u003dt(89),i\u003dt(46),o\u003dt(3);n.exports\u003dfunction(){for(var t\u003do(this),n\u003darguments.length,r\u003dArray(n),u\u003d0,c\u003de._,a\u003d!1;n\u003eu;)(r[u]\u003darguments[u++])\u003d\u003d\u003dc\u0026\u0026(a\u003d!0);return function(){var e,o\u003dthis,u\u003darguments.length,f\u003d0,s\u003d0;if(!a\u0026\u0026!u)return i(t,r,o);if(e\u003dr.slice(),a)for(;n\u003ef;f++)e[f]\u003d\u003d\u003dc\u0026\u0026(e[f]\u003darguments[s++]);for(;u\u003es;)e.push(arguments[s++]);return i(t,e,o)}}},{3:3,46:46,89:89}],89:[function(t,n,r){n.exports\u003dt(40)},{40:40}],90:[function(t,n,r){n.exports\u003dfunction(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},{}],91:[function(t,n,r){var e\u003dt(69);n.exports\u003dfunction(t,n){var r\u003de.f(t);return(0,r.resolve)(n),r.promise}},{69:69}],92:[function(t,n,r){n.exports\u003dfunction(t,n){return{enumerable:!(1\u0026t),configurable:!(2\u0026t),writable:!(4\u0026t),value:n}}},{}],93:[function(t,n,r){var e\u003dt(94);n.exports\u003dfunction(t,n,r){for(var i in n)e(t,i,n[i],r);return t}},{94:94}],94:[function(t,n,r){var e\u003dt(40),i\u003dt(42),o\u003dt(41),u\u003dt(124)(\"src\"),c\u003dFunction.toString,a\u003d(\"\"+c).split(\"toString\");t(23).inspectSource\u003dfunction(t){return c.call(t)},(n.exports\u003dfunction(t,n,r,c){var f\u003d\"function\"\u003d\u003dtypeof r;f\u0026\u0026(o(r,\"name\")||i(r,\"name\",n)),t[n]!\u003d\u003dr\u0026\u0026(f\u0026\u0026(o(r,u)||i(r,u,t[n]?\"\"+t[n]:a.join(String(n)))),t\u003d\u003d\u003de?t[n]\u003dr:c?t[n]?t[n]\u003dr:i(t,n,r):(delete t[n],i(t,n,r)))})(Function.prototype,\"toString\",function toString(){return\"function\"\u003d\u003dtypeof this\u0026\u0026this[u]||c.call(this)})},{124:124,23:23,40:40,41:41,42:42}],95:[function(t,n,r){n.exports\u003dfunction(t,n){var r\u003dn\u003d\u003d\u003dObject(n)?function(t){return n[t]}:n;return function(n){return String(n).replace(t,r)}}},{}],96:[function(t,n,r){n.exports\u003dObject.is||function is(t,n){return t\u003d\u003d\u003dn?0!\u003d\u003dt||1/t\u003d\u003d1/n:t!\u003dt\u0026\u0026n!\u003dn}},{}],97:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(3),o\u003dt(25),u\u003dt(39);n.exports\u003dfunction(t){e(e.S,t,{from:function from(t){var n,r,e,c,a\u003darguments[1];return i(this),n\u003dvoid 0!\u003d\u003da,n\u0026\u0026i(a),void 0\u003d\u003dt?new this:(r\u003d[],n?(e\u003d0,c\u003do(a,arguments[2],2),u(t,!1,function(t){r.push(c(t,e++))})):u(t,!1,r.push,r),new this(r))}})}},{25:25,3:3,33:33,39:39}],98:[function(t,n,r){\"use strict\";var e\u003dt(33);n.exports\u003dfunction(t){e(e.S,t,{of:function of(){for(var t\u003darguments.length,n\u003dArray(t);t--;)n[t]\u003darguments[t];return new this(n)}})}},{33:33}],99:[function(t,n,r){var e\u003dt(51),i\u003dt(7),o\u003dfunction(t,n){if(i(t),!e(n)\u0026\u0026null!\u003d\u003dn)throw TypeError(n+\": can\u0027t set as prototype!\")};n.exports\u003d{set:Object.setPrototypeOf||(\"__proto__\"in{}?function(n,r,e){try{e\u003dt(25)(Function.call,t(75).f(Object.prototype,\"__proto__\").set,2),e(n,[]),r\u003d!(n instanceof Array)}catch(t){r\u003d!0}return function setPrototypeOf(t,n){return o(t,n),r?t.__proto__\u003dn:e(t,n),t}}({},!1):void 0),check:o}},{25:25,51:51,7:7,75:75}],100:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(72),o\u003dt(29),u\u003dt(128)(\"species\");n.exports\u003dfunction(t){var n\u003de[t];o\u0026\u0026n\u0026\u0026!n[u]\u0026\u0026i.f(n,u,{configurable:!0,get:function(){return this}})}},{128:128,29:29,40:40,72:72}],101:[function(t,n,r){var e\u003dt(72).f,i\u003dt(41),o\u003dt(128)(\"toStringTag\");n.exports\u003dfunction(t,n,r){t\u0026\u0026!i(t\u003dr?t:t.prototype,o)\u0026\u0026e(t,o,{configurable:!0,value:n})}},{128:128,41:41,72:72}],102:[function(t,n,r){var e\u003dt(103)(\"keys\"),i\u003dt(124);n.exports\u003dfunction(t){return e[t]||(e[t]\u003di(t))}},{103:103,124:124}],103:[function(t,n,r){var e\u003dt(40),i\u003de[\"__core-js_shared__\"]||(e[\"__core-js_shared__\"]\u003d{});n.exports\u003dfunction(t){return i[t]||(i[t]\u003d{})}},{40:40}],104:[function(t,n,r){var e\u003dt(7),i\u003dt(3),o\u003dt(128)(\"species\");n.exports\u003dfunction(t,n){var r,u\u003de(t).constructor;return void 0\u003d\u003d\u003du||void 0\u003d\u003d(r\u003de(u)[o])?n:i(r)}},{128:128,3:3,7:7}],105:[function(t,n,r){\"use strict\";var e\u003dt(35);n.exports\u003dfunction(t,n){return!!t\u0026\u0026e(function(){n?t.call(null,function(){},1):t.call(null)})}},{35:35}],106:[function(t,n,r){var e\u003dt(116),i\u003dt(28);n.exports\u003dfunction(t){return function(n,r){var o,u,c\u003dString(i(n)),a\u003de(r),f\u003dc.length;return a\u003c0||a\u003e\u003df?t?\"\":void 0:(o\u003dc.charCodeAt(a),o\u003c55296||o\u003e56319||a+1\u003d\u003d\u003df||(u\u003dc.charCodeAt(a+1))\u003c56320||u\u003e57343?t?c.charAt(a):o:t?c.slice(a,a+2):u-56320+(o-55296\u003c\u003c10)+65536)}}},{116:116,28:28}],107:[function(t,n,r){var e\u003dt(52),i\u003dt(28);n.exports\u003dfunction(t,n,r){if(e(n))throw TypeError(\"String#\"+r+\" doesn\u0027t accept regex!\");return String(i(t))}},{28:28,52:52}],108:[function(t,n,r){var e\u003dt(33),i\u003dt(35),o\u003dt(28),u\u003d/\"/g,c\u003dfunction(t,n,r,e){var i\u003dString(o(t)),c\u003d\"\u003c\"+n;return\"\"!\u003d\u003dr\u0026\u0026(c+\u003d\" \"+r+\u0027\u003d\"\u0027+String(e).replace(u,\"\u0026quot;\")+\u0027\"\u0027),c+\"\u003e\"+i+\"\u003c/\"+n+\"\u003e\"};n.exports\u003dfunction(t,n){var r\u003d{};r[t]\u003dn(c),e(e.P+e.F*i(function(){var n\u003d\"\"[t](\u0027\"\u0027);return n!\u003d\u003dn.toLowerCase()||n.split(\u0027\"\u0027).length\u003e3}),\"String\",r)}},{28:28,33:33,35:35}],109:[function(t,n,r){var e\u003dt(118),i\u003dt(110),o\u003dt(28);n.exports\u003dfunction(t,n,r,u){var c\u003dString(o(t)),a\u003dc.length,f\u003dvoid 0\u003d\u003d\u003dr?\" \":String(r),s\u003de(n);if(s\u003c\u003da||\"\"\u003d\u003df)return c;var l\u003ds-a,h\u003di.call(f,Math.ceil(l/f.length));return h.length\u003el\u0026\u0026(h\u003dh.slice(0,l)),u?h+c:c+h}},{110:110,118:118,28:28}],110:[function(t,n,r){\"use strict\";var e\u003dt(116),i\u003dt(28);n.exports\u003dfunction repeat(t){var n\u003dString(i(this)),r\u003d\"\",o\u003de(t);if(o\u003c0||o\u003d\u003d1/0)throw RangeError(\"Count can\u0027t be negative\");for(;o\u003e0;(o\u003e\u003e\u003e\u003d1)\u0026\u0026(n+\u003dn))1\u0026o\u0026\u0026(r+\u003dn);return r}},{116:116,28:28}],111:[function(t,n,r){var e\u003dt(33),i\u003dt(28),o\u003dt(35),u\u003dt(112),c\u003d\"[\"+u+\"]\",a\u003d\"​…\",f\u003dRegExp(\"^\"+c+c+\"*\"),s\u003dRegExp(c+c+\"*$\"),l\u003dfunction(t,n,r){var i\u003d{},c\u003do(function(){return!!u[t]()||a[t]()!\u003da}),f\u003di[t]\u003dc?n(h):u[t];r\u0026\u0026(i[r]\u003df),e(e.P+e.F*c,\"String\",i)},h\u003dl.trim\u003dfunction(t,n){return t\u003dString(i(t)),1\u0026n\u0026\u0026(t\u003dt.replace(f,\"\")),2\u0026n\u0026\u0026(t\u003dt.replace(s,\"\")),t};n.exports\u003dl},{112:112,28:28,33:33,35:35}],112:[function(t,n,r){n.exports\u003d\"\\t\\n\\v\\f\\r   ᠎              \\u2028\\u2029\\ufeff\"},{}],113:[function(t,n,r){var e,i,o,u\u003dt(25),c\u003dt(46),a\u003dt(43),f\u003dt(30),s\u003dt(40),l\u003ds.process,h\u003ds.setImmediate,v\u003ds.clearImmediate,p\u003ds.MessageChannel,d\u003ds.Dispatch,y\u003d0,g\u003d{},m\u003dfunction(){var t\u003d+this;if(g.hasOwnProperty(t)){var n\u003dg[t];delete g[t],n()}},b\u003dfunction(t){m.call(t.data)};h\u0026\u0026v||(h\u003dfunction setImmediate(t){for(var n\u003d[],r\u003d1;arguments.length\u003er;)n.push(arguments[r++]);return g[++y]\u003dfunction(){c(\"function\"\u003d\u003dtypeof t?t:Function(t),n)},e(y),y},v\u003dfunction clearImmediate(t){delete g[t]},\"process\"\u003d\u003dt(18)(l)?e\u003dfunction(t){l.nextTick(u(m,t,1))}:d\u0026\u0026d.now?e\u003dfunction(t){d.now(u(m,t,1))}:p?(i\u003dnew p,o\u003di.port2,i.port1.onmessage\u003db,e\u003du(o.postMessage,o,1)):s.addEventListener\u0026\u0026\"function\"\u003d\u003dtypeof postMessage\u0026\u0026!s.importScripts?(e\u003dfunction(t){s.postMessage(t+\"\",\"*\")},s.addEventListener(\"message\",b,!1)):e\u003d\"onreadystatechange\"in f(\"script\")?function(t){a.appendChild(f(\"script\")).onreadystatechange\u003dfunction(){a.removeChild(this),m.call(t)}}:function(t){setTimeout(u(m,t,1),0)}),n.exports\u003d{set:h,clear:v}},{18:18,25:25,30:30,40:40,43:43,46:46}],114:[function(t,n,r){var e\u003dt(116),i\u003dMath.max,o\u003dMath.min;n.exports\u003dfunction(t,n){return t\u003de(t),t\u003c0?i(t+n,0):o(t,n)}},{116:116}],115:[function(t,n,r){var e\u003dt(116),i\u003dt(118);n.exports\u003dfunction(t){if(void 0\u003d\u003d\u003dt)return 0;var n\u003de(t),r\u003di(n);if(n!\u003d\u003dr)throw RangeError(\"Wrong length!\");return r}},{116:116,118:118}],116:[function(t,n,r){var e\u003dMath.ceil,i\u003dMath.floor;n.exports\u003dfunction(t){return isNaN(t\u003d+t)?0:(t\u003e0?i:e)(t)}},{}],117:[function(t,n,r){var e\u003dt(47),i\u003dt(28);n.exports\u003dfunction(t){return e(i(t))}},{28:28,47:47}],118:[function(t,n,r){var e\u003dt(116),i\u003dMath.min;n.exports\u003dfunction(t){return t\u003e0?i(e(t),9007199254740991):0}},{116:116}],"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"119:[function(t,n,r){var e\u003dt(28);n.exports\u003dfunction(t){return Object(e(t))}},{28:28}],120:[function(t,n,r){var e\u003dt(51);n.exports\u003dfunction(t,n){if(!e(t))return t;var r,i;if(n\u0026\u0026\"function\"\u003d\u003dtypeof(r\u003dt.toString)\u0026\u0026!e(i\u003dr.call(t)))return i;if(\"function\"\u003d\u003dtypeof(r\u003dt.valueOf)\u0026\u0026!e(i\u003dr.call(t)))return i;if(!n\u0026\u0026\"function\"\u003d\u003dtypeof(r\u003dt.toString)\u0026\u0026!e(i\u003dr.call(t)))return i;throw TypeError(\"Can\u0027t convert object to primitive value\")}},{51:51}],121:[function(t,n,r){\"use strict\";if(t(29)){var e\u003dt(60),i\u003dt(40),o\u003dt(35),u\u003dt(33),c\u003dt(123),a\u003dt(122),f\u003dt(25),s\u003dt(6),l\u003dt(92),h\u003dt(42),v\u003dt(93),p\u003dt(116),d\u003dt(118),y\u003dt(115),g\u003dt(114),m\u003dt(120),b\u003dt(41),x\u003dt(17),S\u003dt(51),w\u003dt(119),_\u003dt(48),E\u003dt(71),O\u003dt(79),P\u003dt(77).f,M\u003dt(129),F\u003dt(124),I\u003dt(128),A\u003dt(12),k\u003dt(11),N\u003dt(104),j\u003dt(141),T\u003dt(58),R\u003dt(56),L\u003dt(100),G\u003dt(9),D\u003dt(8),C\u003dt(72),W\u003dt(75),U\u003dC.f,B\u003dW.f,V\u003di.RangeError,z\u003di.TypeError,q\u003di.Uint8Array,K\u003dArray.prototype,Y\u003da.ArrayBuffer,J\u003da.DataView,H\u003dA(0),X\u003dA(2),$\u003dA(3),Z\u003dA(4),Q\u003dA(5),tt\u003dA(6),nt\u003dk(!0),rt\u003dk(!1),et\u003dj.values,it\u003dj.keys,ot\u003dj.entries,ut\u003dK.lastIndexOf,ct\u003dK.reduce,at\u003dK.reduceRight,ft\u003dK.join,st\u003dK.sort,lt\u003dK.slice,ht\u003dK.toString,vt\u003dK.toLocaleString,pt\u003dI(\"iterator\"),dt\u003dI(\"toStringTag\"),yt\u003dF(\"typed_constructor\"),gt\u003dF(\"def_constructor\"),mt\u003dc.CONSTR,bt\u003dc.TYPED,xt\u003dc.VIEW,St\u003dA(1,function(t,n){return Pt(N(t,t[gt]),n)}),wt\u003do(function(){return 1\u003d\u003d\u003dnew q(new Uint16Array([1]).buffer)[0]}),_t\u003d!!q\u0026\u0026!!q.prototype.set\u0026\u0026o(function(){new q(1).set({})}),Et\u003dfunction(t,n){var r\u003dp(t);if(r\u003c0||r%n)throw V(\"Wrong offset!\");return r},Ot\u003dfunction(t){if(S(t)\u0026\u0026bt in t)return t;throw z(t+\" is not a typed array!\")},Pt\u003dfunction(t,n){if(!(S(t)\u0026\u0026yt in t))throw z(\"It is not a typed array constructor!\");return new t(n)},Mt\u003dfunction(t,n){return Ft(N(t,t[gt]),n)},Ft\u003dfunction(t,n){for(var r\u003d0,e\u003dn.length,i\u003dPt(t,e);e\u003er;)i[r]\u003dn[r++];return i},It\u003dfunction(t,n,r){U(t,n,{get:function(){return this._d[r]}})},At\u003dfunction from(t){var n,r,e,i,o,u,c\u003dw(t),a\u003darguments.length,s\u003da\u003e1?arguments[1]:void 0,l\u003dvoid 0!\u003d\u003ds,h\u003dM(c);if(void 0!\u003dh\u0026\u0026!_(h)){for(u\u003dh.call(c),e\u003d[],n\u003d0;!(o\u003du.next()).done;n++)e.push(o.value);c\u003de}for(l\u0026\u0026a\u003e2\u0026\u0026(s\u003df(s,arguments[2],2)),n\u003d0,r\u003dd(c.length),i\u003dPt(this,r);r\u003en;n++)i[n]\u003dl?s(c[n],n):c[n];return i},kt\u003dfunction of(){for(var t\u003d0,n\u003darguments.length,r\u003dPt(this,n);n\u003et;)r[t]\u003darguments[t++];return r},Nt\u003d!!q\u0026\u0026o(function(){vt.call(new q(1))}),jt\u003dfunction toLocaleString(){return vt.apply(Nt?lt.call(Ot(this)):Ot(this),arguments)},Tt\u003d{copyWithin:function copyWithin(t,n){return D.call(Ot(this),t,n,arguments.length\u003e2?arguments[2]:void 0)},every:function every(t){return Z(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},fill:function fill(t){return G.apply(Ot(this),arguments)},filter:function filter(t){return Mt(this,X(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0))},find:function find(t){return Q(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},findIndex:function findIndex(t){return tt(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},forEach:function forEach(t){H(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},indexOf:function indexOf(t){return rt(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},includes:function includes(t){return nt(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},join:function join(t){return ft.apply(Ot(this),arguments)},lastIndexOf:function lastIndexOf(t){return ut.apply(Ot(this),arguments)},map:function map(t){return St(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},reduce:function reduce(t){return ct.apply(Ot(this),arguments)},reduceRight:function reduceRight(t){return at.apply(Ot(this),arguments)},reverse:function reverse(){for(var t,n\u003dthis,r\u003dOt(n).length,e\u003dMath.floor(r/2),i\u003d0;i\u003ce;)t\u003dn[i],n[i++]\u003dn[--r],n[r]\u003dt;return n},some:function some(t){return $(Ot(this),t,arguments.length\u003e1?arguments[1]:void 0)},sort:function sort(t){return st.call(Ot(this),t)},subarray:function subarray(t,n){var r\u003dOt(this),e\u003dr.length,i\u003dg(t,e);return new(N(r,r[gt]))(r.buffer,r.byteOffset+i*r.BYTES_PER_ELEMENT,d((void 0\u003d\u003d\u003dn?e:g(n,e))-i))}},Rt\u003dfunction slice(t,n){return Mt(this,lt.call(Ot(this),t,n))},Lt\u003dfunction set(t){Ot(this);var n\u003dEt(arguments[1],1),r\u003dthis.length,e\u003dw(t),i\u003dd(e.length),o\u003d0;if(i+n\u003er)throw V(\"Wrong length!\");for(;o\u003ci;)this[n+o]\u003de[o++]},Gt\u003d{entries:function entries(){return ot.call(Ot(this))},keys:function keys(){return it.call(Ot(this))},values:function values(){return et.call(Ot(this))}},Dt\u003dfunction(t,n){return S(t)\u0026\u0026t[bt]\u0026\u0026\"symbol\"!\u003dtypeof n\u0026\u0026n in t\u0026\u0026String(+n)\u003d\u003dString(n)},Ct\u003dfunction getOwnPropertyDescriptor(t,n){return Dt(t,n\u003dm(n,!0))?l(2,t[n]):B(t,n)},Wt\u003dfunction defineProperty(t,n,r){return!(Dt(t,n\u003dm(n,!0))\u0026\u0026S(r)\u0026\u0026b(r,\"value\"))||b(r,\"get\")||b(r,\"set\")||r.configurable||b(r,\"writable\")\u0026\u0026!r.writable||b(r,\"enumerable\")\u0026\u0026!r.enumerable?U(t,n,r):(t[n]\u003dr.value,t)};mt||(W.f\u003dCt,C.f\u003dWt),u(u.S+u.F*!mt,\"Object\",{getOwnPropertyDescriptor:Ct,defineProperty:Wt}),o(function(){ht.call({})})\u0026\u0026(ht\u003dvt\u003dfunction toString(){return ft.call(this)});var Ut\u003dv({},Tt);v(Ut,Gt),h(Ut,pt,Gt.values),v(Ut,{slice:Rt,set:Lt,constructor:function(){},toString:ht,toLocaleString:jt}),It(Ut,\"buffer\",\"b\"),It(Ut,\"byteOffset\",\"o\"),It(Ut,\"byteLength\",\"l\"),It(Ut,\"length\",\"e\"),U(Ut,dt,{get:function(){return this[bt]}}),n.exports\u003dfunction(t,n,r,a){a\u003d!!a;var f\u003dt+(a?\"Clamped\":\"\")+\"Array\",l\u003d\"get\"+t,v\u003d\"set\"+t,p\u003di[f],g\u003dp||{},m\u003dp\u0026\u0026O(p),b\u003d!p||!c.ABV,w\u003d{},_\u003dp\u0026\u0026p.prototype,M\u003dfunction(t,r){var e\u003dt._d;return e.v[l](r*n+e.o,wt)},F\u003dfunction(t,r,e){var i\u003dt._d;a\u0026\u0026(e\u003d(e\u003dMath.round(e))\u003c0?0:e\u003e255?255:255\u0026e),i.v[v](r*n+i.o,e,wt)},I\u003dfunction(t,n){U(t,n,{get:function(){return M(this,n)},set:function(t){return F(this,n,t)},enumerable:!0})};b?(p\u003dr(function(t,r,e,i){s(t,p,f,\"_d\");var o,u,c,a,l\u003d0,v\u003d0;if(S(r)){if(!(r instanceof Y||\"ArrayBuffer\"\u003d\u003d(a\u003dx(r))||\"SharedArrayBuffer\"\u003d\u003da))return bt in r?Ft(p,r):At.call(p,r);o\u003dr,v\u003dEt(e,n);var g\u003dr.byteLength;if(void 0\u003d\u003d\u003di){if(g%n)throw V(\"Wrong length!\");if((u\u003dg-v)\u003c0)throw V(\"Wrong length!\")}else if((u\u003dd(i)*n)+v\u003eg)throw V(\"Wrong length!\");c\u003du/n}else c\u003dy(r),u\u003dc*n,o\u003dnew Y(u);for(h(t,\"_d\",{b:o,o:v,l:u,e:c,v:new J(o)});l\u003cc;)I(t,l++)}),_\u003dp.prototype\u003dE(Ut),h(_,\"constructor\",p)):o(function(){p(1)})\u0026\u0026o(function(){new p(-1)})\u0026\u0026R(function(t){new p,new p(null),new p(1.5),new p(t)},!0)||(p\u003dr(function(t,r,e,i){s(t,p,f);var o;return S(r)?r instanceof Y||\"ArrayBuffer\"\u003d\u003d(o\u003dx(r))||\"SharedArrayBuffer\"\u003d\u003do?void 0!\u003d\u003di?new g(r,Et(e,n),i):void 0!\u003d\u003de?new g(r,Et(e,n)):new g(r):bt in r?Ft(p,r):At.call(p,r):new g(y(r))}),H(m!\u003d\u003dFunction.prototype?P(g).concat(P(m)):P(g),function(t){t in p||h(p,t,g[t])}),p.prototype\u003d_,e||(_.constructor\u003dp));var A\u003d_[pt],k\u003d!!A\u0026\u0026(\"values\"\u003d\u003dA.name||void 0\u003d\u003dA.name),N\u003dGt.values;h(p,yt,!0),h(_,bt,f),h(_,xt,!0),h(_,gt,p),(a?new p(1)[dt]\u003d\u003df:dt in _)||U(_,dt,{get:function(){return f}}),w[f]\u003dp,u(u.G+u.W+u.F*(p!\u003dg),w),u(u.S,f,{BYTES_PER_ELEMENT:n}),u(u.S+u.F*o(function(){g.of.call(p,1)}),f,{from:At,of:kt}),\"BYTES_PER_ELEMENT\"in _||h(_,\"BYTES_PER_ELEMENT\",n),u(u.P,f,Tt),L(f),u(u.P+u.F*_t,f,{set:Lt}),u(u.P+u.F*!k,f,Gt),e||_.toString\u003d\u003dht||(_.toString\u003dht),u(u.P+u.F*o(function(){new p(1).slice()}),f,{slice:Rt}),u(u.P+u.F*(o(function(){return[1,2].toLocaleString()!\u003dnew p([1,2]).toLocaleString()})||!o(function(){_.toLocaleString.call([1,2])})),f,{toLocaleString:jt}),T[f]\u003dk?A:N,e||k||h(_,pt,N)}}else n.exports\u003dfunction(){}},{100:100,104:104,11:11,114:114,115:115,116:116,118:118,119:119,12:12,120:120,122:122,123:123,124:124,128:128,129:129,141:141,17:17,25:25,29:29,33:33,35:35,40:40,41:41,42:42,48:48,51:51,56:56,58:58,6:6,60:60,71:71,72:72,75:75,77:77,79:79,8:8,9:9,92:92,93:93}],122:[function(t,n,r){\"use strict\";function packIEEE754(t,n,r){var e,i,o,u\u003dArray(r),c\u003d8*r-n-1,a\u003d(1\u003c\u003cc)-1,f\u003da\u003e\u003e1,s\u003d23\u003d\u003d\u003dn?M(2,-24)-M(2,-77):0,l\u003d0,h\u003dt\u003c0||0\u003d\u003d\u003dt\u0026\u00261/t\u003c0?1:0;for(t\u003dP(t),t!\u003dt||t\u003d\u003d\u003dE?(i\u003dt!\u003dt?1:0,e\u003da):(e\u003dF(I(t)/A),t*(o\u003dM(2,-e))\u003c1\u0026\u0026(e--,o*\u003d2),t+\u003de+f\u003e\u003d1?s/o:s*M(2,1-f),t*o\u003e\u003d2\u0026\u0026(e++,o/\u003d2),e+f\u003e\u003da?(i\u003d0,e\u003da):e+f\u003e\u003d1?(i\u003d(t*o-1)*M(2,n),e+\u003df):(i\u003dt*M(2,f-1)*M(2,n),e\u003d0));n\u003e\u003d8;u[l++]\u003d255\u0026i,i/\u003d256,n-\u003d8);for(e\u003de\u003c\u003cn|i,c+\u003dn;c\u003e0;u[l++]\u003d255\u0026e,e/\u003d256,c-\u003d8);return u[--l]|\u003d128*h,u}function unpackIEEE754(t,n,r){var e,i\u003d8*r-n-1,o\u003d(1\u003c\u003ci)-1,u\u003do\u003e\u003e1,c\u003di-7,a\u003dr-1,f\u003dt[a--],s\u003d127\u0026f;for(f\u003e\u003e\u003d7;c\u003e0;s\u003d256*s+t[a],a--,c-\u003d8);for(e\u003ds\u0026(1\u003c\u003c-c)-1,s\u003e\u003e\u003d-c,c+\u003dn;c\u003e0;e\u003d256*e+t[a],a--,c-\u003d8);if(0\u003d\u003d\u003ds)s\u003d1-u;else{if(s\u003d\u003d\u003do)return e?NaN:f?-E:E;e+\u003dM(2,n),s-\u003du}return(f?-1:1)*e*M(2,s-n)}function unpackI32(t){return t[3]\u003c\u003c24|t[2]\u003c\u003c16|t[1]\u003c\u003c8|t[0]}function packI8(t){return[255\u0026t]}function packI16(t){return[255\u0026t,t\u003e\u003e8\u0026255]}function packI32(t){return[255\u0026t,t\u003e\u003e8\u0026255,t\u003e\u003e16\u0026255,t\u003e\u003e24\u0026255]}function packF64(t){return packIEEE754(t,52,8)}function packF32(t){return packIEEE754(t,23,4)}function addGetter(t,n,r){d(t[m],n,{get:function(){return this[r]}})}function get(t,n,r,e){var i\u003d+r,o\u003dv(i);if(o+n\u003et[N])throw _(b);var u\u003dt[k]._b,c\u003do+t[j],a\u003du.slice(c,c+n);return e?a:a.reverse()}function set(t,n,r,e,i,o){var u\u003d+r,c\u003dv(u);if(c+n\u003et[N])throw _(b);for(var a\u003dt[k]._b,f\u003dc+t[j],s\u003de(+i),l\u003d0;l\u003cn;l++)a[f+l]\u003ds[o?l:n-l-1]}var e\u003dt(40),i\u003dt(29),o\u003dt(60),u\u003dt(123),c\u003dt(42),a\u003dt(93),f\u003dt(35),s\u003dt(6),l\u003dt(116),h\u003dt(118),v\u003dt(115),p\u003dt(77).f,d\u003dt(72).f,y\u003dt(9),g\u003dt(101),m\u003d\"prototype\",b\u003d\"Wrong index!\",x\u003de.ArrayBuffer,S\u003de.DataView,w\u003de.Math,_\u003de.RangeError,E\u003de.Infinity,O\u003dx,P\u003dw.abs,M\u003dw.pow,F\u003dw.floor,I\u003dw.log,A\u003dw.LN2,k\u003di?\"_b\":\"buffer\",N\u003di?\"_l\":\"byteLength\",j\u003di?\"_o\":\"byteOffset\";if(u.ABV){if(!f(function(){x(1)})||!f(function(){new x(-1)})||f(function(){return new x,new x(1.5),new x(NaN),\"ArrayBuffer\"!\u003dx.name})){x\u003dfunction ArrayBuffer(t){return s(this,x),new O(v(t))};for(var T,R\u003dx[m]\u003dO[m],L\u003dp(O),G\u003d0;L.length\u003eG;)(T\u003dL[G++])in x||c(x,T,O[T]);o||(R.constructor\u003dx)}var D\u003dnew S(new x(2)),C\u003dS[m].setInt8;D.setInt8(0,2147483648),D.setInt8(1,2147483649),!D.getInt8(0)\u0026\u0026D.getInt8(1)||a(S[m],{setInt8:function setInt8(t,n){C.call(this,t,n\u003c\u003c24\u003e\u003e24)},setUint8:function setUint8(t,n){C.call(this,t,n\u003c\u003c24\u003e\u003e24)}},!0)}else x\u003dfunction ArrayBuffer(t){s(this,x,\"ArrayBuffer\");var n\u003dv(t);this._b\u003dy.call(Array(n),0),this[N]\u003dn},S\u003dfunction DataView(t,n,r){s(this,S,\"DataView\"),s(t,x,\"DataView\");var e\u003dt[N],i\u003dl(n);if(i\u003c0||i\u003ee)throw _(\"Wrong offset!\");if(r\u003dvoid 0\u003d\u003d\u003dr?e-i:h(r),i+r\u003ee)throw _(\"Wrong length!\");this[k]\u003dt,this[j]\u003di,this[N]\u003dr},i\u0026\u0026(addGetter(x,\"byteLength\",\"_l\"),addGetter(S,\"buffer\",\"_b\"),addGetter(S,\"byteLength\",\"_l\"),addGetter(S,\"byteOffset\",\"_o\")),a(S[m],{getInt8:function getInt8(t){return get(this,1,t)[0]\u003c\u003c24\u003e\u003e24},getUint8:function getUint8(t){return get(this,1,t)[0]},getInt16:function getInt16(t){var n\u003dget(this,2,t,arguments[1]);return(n[1]\u003c\u003c8|n[0])\u003c\u003c16\u003e\u003e16},getUint16:function getUint16(t){var n\u003dget(this,2,t,arguments[1]);return n[1]\u003c\u003c8|n[0]},getInt32:function getInt32(t){return unpackI32(get(this,4,t,arguments[1]))},getUint32:function getUint32(t){return unpackI32(get(this,4,t,arguments[1]))\u003e\u003e\u003e0},getFloat32:function getFloat32(t){return unpackIEEE754(get(this,4,t,arguments[1]),23,4)},getFloat64:function getFloat64(t){return unpackIEEE754(get(this,8,t,arguments[1]),52,8)},setInt8:function setInt8(t,n){set(this,1,t,packI8,n)},setUint8:function setUint8(t,n){set(this,1,t,packI8,n)},setInt16:function setInt16(t,n){set(this,2,t,packI16,n,arguments[2])},setUint16:function setUint16(t,n){set(this,2,t,packI16,n,arguments[2])},setInt32:function setInt32(t,n){set(this,4,t,packI32,n,arguments[2])},setUint32:function setUint32(t,n){set(this,4,t,packI32,n,arguments[2])},setFloat32:function setFloat32(t,n){set(this,4,t,packF32,n,arguments[2])},setFloat64:function setFloat64(t,n){set(this,8,t,packF64,n,arguments[2])}});g(x,\"ArrayBuffer\"),g(S,\"DataView\"),c(S[m],u.VIEW,!0),r.ArrayBuffer\u003dx,r.DataView\u003dS},{101:101,115:115,116:116,118:118,123:123,29:29,35:35,40:40,42:42,6:6,60:60,72:72,77:77,9:9,93:93}],123:[function(t,n,r){for(var e,i\u003dt(40),o\u003dt(42),u\u003dt(124),c\u003du(\"typed_array\"),a\u003du(\"view\"),f\u003d!(!i.ArrayBuffer||!i.DataView),s\u003df,l\u003d0,h\u003d\"Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array\".split(\",\");l\u003c9;)(e\u003di[h[l++]])?(o(e.prototype,c,!0),o(e.prototype,a,!0)):s\u003d!1;n.exports\u003d{ABV:f,CONSTR:s,TYPED:c,VIEW:a}},{124:124,40:40,42:42}],124:[function(t,n,r){var e\u003d0,i\u003dMath.random();n.exports\u003dfunction(t){return\"Symbol(\".concat(void 0\u003d\u003d\u003dt?\"\":t,\")_\",(++e+i).toString(36))}},{}],125:[function(t,n,r){var e\u003dt(51);n.exports\u003dfunction(t,n){if(!e(t)||t._t!\u003d\u003dn)throw TypeError(\"Incompatible receiver, \"+n+\" required!\");return t}},{51:51}],126:[function(t,n,r){var e\u003dt(40),i\u003dt(23),o\u003dt(60),u\u003dt(127),c\u003dt(72).f;n.exports\u003dfunction(t){var n\u003di.Symbol||(i.Symbol\u003do?{}:e.Symbol||{});\"_\"\u003d\u003dt.charAt(0)||t in n||c(n,t,{value:u.f(t)})}},{127:127,23:23,40:40,60:60,72:72}],127:[function(t,n,r){r.f\u003dt(128)},{128:128}],128:[function(t,n,r){var e\u003dt(103)(\"wks\"),i\u003dt(124),o\u003dt(40).Symbol,u\u003d\"function\"\u003d\u003dtypeof o;(n.exports\u003dfunction(t){return e[t]||(e[t]\u003du\u0026\u0026o[t]||(u?o:i)(\"Symbol.\"+t))}).store\u003de},{103:103,124:124,40:40}],129:[function(t,n,r){var e\u003dt(17),i\u003dt(128)(\"iterator\"),o\u003dt(58);n.exports\u003dt(23).getIteratorMethod\u003dfunction(t){if(void 0!\u003dt)return t[i]||t[\"@@iterator\"]||o[e(t)]}},{128:128,17:17,23:23,58:58}],130:[function(t,n,r){var e\u003dt(33),i\u003dt(95)(/[\\\\^$*+?.()|[\\]{}]/g,\"\\\\$\u0026\");e(e.S,\"RegExp\",{escape:function escape(t){return i(t)}})},{33:33,95:95}],131:[function(t,n,r){var e\u003dt(33);e(e.P,\"Array\",{copyWithin:t(8)}),t(5)(\"copyWithin\")},{33:33,5:5,8:8}],132:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(4);e(e.P+e.F*!t(105)([].every,!0),\"Array\",{every:function every(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],133:[function(t,n,r){var e\u003dt(33);e(e.P,\"Array\",{fill:t(9)}),t(5)(\"fill\")},{33:33,5:5,9:9}],134:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(2);e(e.P+e.F*!t(105)([].filter,!0),\"Array\",{filter:function filter(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],135:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(6),o\u003d\"findIndex\",u\u003d!0;o in[]\u0026\u0026Array(1)[o](function(){u\u003d!1}),e(e.P+e.F*u,\"Array\",{findIndex:function findIndex(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0)}}),t(5)(o)},{12:12,33:33,5:5}],136:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(5),o\u003d!0;\"find\"in[]\u0026\u0026Array(1).find(function(){o\u003d!1}),e(e.P+e.F*o,\"Array\",{find:function find(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0)}}),t(5)(\"find\")},{12:12,33:33,5:5}],137:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(0),o\u003dt(105)([].forEach,!0);e(e.P+e.F*!o,\"Array\",{forEach:function forEach(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],138:[function(t,n,r){\"use strict\";var e\u003dt(25),i\u003dt(33),o\u003dt(119),u\u003dt(53),c\u003dt(48),a\u003dt(118),f\u003dt(24),s\u003dt(129);i(i.S+i.F*!t(56)(function(t){Array.from(t)}),\"Array\",{from:function from(t){var n,r,i,l,h\u003do(t),v\u003d\"function\"\u003d\u003dtypeof this?this:Array,p\u003darguments.length,d\u003dp\u003e1?arguments[1]:void 0,y\u003dvoid 0!\u003d\u003dd,g\u003d0,m\u003ds(h);if(y\u0026\u0026(d\u003de(d,p\u003e2?arguments[2]:void 0,2)),void 0\u003d\u003dm||v\u003d\u003dArray\u0026\u0026c(m))for(n\u003da(h.length),r\u003dnew v(n);n\u003eg;g++)f(r,g,y?d(h[g],g):h[g]);else for(l\u003dm.call(h),r\u003dnew v;!(i\u003dl.next()).done;g++)f(r,g,y?u(l,d,[i.value,g],!0):i.value);return r.length\u003dg,r}})},{118:118,119:119,129:129,24:24,25:25,33:33,48:48,53:53,56:56}],139:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(11)(!1),o\u003d[].indexOf,u\u003d!!o\u0026\u00261/[1].indexOf(1,-0)\u003c0;e(e.P+e.F*(u||!t(105)(o)),\"Array\",{indexOf:function indexOf(t){return u?o.apply(this,arguments)||0:i(this,t,arguments[1])}})},{105:105,11:11,33:33}],140:[function(t,n,r){var e\u003dt(33);e(e.S,\"Array\",{isArray:t(49)})},{33:33,49:49}],141:[function(t,n,r){\"use strict\";var e\u003dt(5),i\u003dt(57),o\u003dt(58),u\u003dt(117);n.exports\u003dt(55)(Array,\"Array\",function(t,n){this._t\u003du(t),this._i\u003d0,this._k\u003dn},function(){var t\u003dthis._t,n\u003dthis._k,r\u003dthis._i++;return!t||r\u003e\u003dt.length?(this._t\u003dvoid 0,i(1)):\"keys\"\u003d\u003dn?i(0,r):\"values\"\u003d\u003dn?i(0,t[r]):i(0,[r,t[r]])},\"values\"),o.Arguments\u003do.Array,e(\"keys\"),e(\"values\"),e(\"entries\")},{117:117,5:5,55:55,57:57,58:58}],142:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(117),o\u003d[].join;e(e.P+e.F*(t(47)!\u003dObject||!t(105)(o)),\"Array\",{join:function join(t){return o.call(i(this),void 0\u003d\u003d\u003dt?\",\":t)}})},{105:105,117:117,33:33,47:47}],143:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(117),o\u003dt(116),u\u003dt(118),c\u003d[].lastIndexOf,a\u003d!!c\u0026\u00261/[1].lastIndexOf(1,-0)\u003c0;e(e.P+e.F*(a||!t(105)(c)),\"Array\",{lastIndexOf:function lastIndexOf(t){if(a)return c.apply(this,arguments)||0;var n\u003di(this),r\u003du(n.length),e\u003dr-1;for(arguments.length\u003e1\u0026\u0026(e\u003dMath.min(e,o(arguments[1]))),e\u003c0\u0026\u0026(e\u003dr+e);e\u003e\u003d0;e--)if(e in n\u0026\u0026n[e]\u003d\u003d\u003dt)return e||0;return-1}})},{105:105,116:116,117:117,118:118,33:33}],144:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(1);e(e.P+e.F*!t(105)([].map,!0),\"Array\",{map:function map(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],145:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(24);e(e.S+e.F*t(35)(function(){function F(){}return!(Array.of.call(F)instanceof F)}),\"Array\",{of:function of(){for(var t\u003d0,n\u003darguments.length,r\u003dnew(\"function\"\u003d\u003dtypeof this?this:Array)(n);n\u003et;)i(r,t,arguments[t++]);return r.length\u003dn,r}})},{24:24,33:33,35:35}],146:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(13);e(e.P+e.F*!t(105)([].reduceRight,!0),\"Array\",{reduceRight:function reduceRight(t){return i(this,t,arguments.length,arguments[1],!0)}})},{105:105,13:13,33:33}],147:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(13);e(e.P+e.F*!t(105)([].reduce,!0),\"Array\",{reduce:function reduce(t){return i(this,t,arguments.length,arguments[1],!1)}})},{105:105,13:13,33:33}],148:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(43),o\u003dt(18),u\u003dt(114),c\u003dt(118),a\u003d[].slice;e(e.P+e.F*t(35)(function(){i\u0026\u0026a.call(i)}),\"Array\",{slice:function slice(t,n){var r\u003dc(this.length),e\u003do(this);if(n\u003dvoid 0\u003d\u003d\u003dn?r:n,\"Array\"\u003d\u003de)return a.call(this,t,n);for(var i\u003du(t,r),f\u003du(n,r),s\u003dc(f-i),l\u003dArray(s),h\u003d0;h\u003cs;h++)l[h]\u003d\"String\"\u003d\u003de?this.charAt(i+h):this[i+h];return l}})},{114:114,118:118,18:18,33:33,35:35,43:43}],149:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(12)(3);e(e.P+e.F*!t(105)([].some,!0),\"Array\",{some:function some(t){return i(this,t,arguments[1])}})},{105:105,12:12,33:33}],150:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(3),o\u003dt(119),u\u003dt(35),c\u003d[].sort,a\u003d[1,2,3];e(e.P+e.F*(u(function(){a.sort(void 0)})||!u(function(){a.sort(null)})||!t(105)(c)),\"Array\",{sort:function sort(t){return void 0\u003d\u003d\u003dt?c.call(o(this)):c.call(o(this),i(t))}})},{105:105,119:119,3:3,33:33,35:35}],151:[function(t,n,r){t(100)(\"Array\")},{100:100}],152:[function(t,n,r){var e\u003dt(33);e(e.S,\"Date\",{now:function(){return(new Date).getTime()}})},{33:33}],153:[function(t,n,r){var e\u003dt(33),i\u003dt(26);e(e.P+e.F*(Date.prototype.toISOString!\u003d\u003di),\"Date\",{toISOString:i})},{26:26,33:33}],154:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(120);e(e.P+e.F*t(35)(function(){return null!\u003d\u003dnew Date(NaN).toJSON()||1!\u003d\u003dDate.prototype.toJSON.call({toISOString:function(){return 1}})}),\"Date\",{toJSON:function toJSON(t){var n\u003di(this),r\u003do(n);return\"number\"!\u003dtypeof r||isFinite(r)?n.toISOString():null}})},{119:119,120:120,33:33,35:35}],155:[function(t,n,r){var e\u003dt(128)(\"toPrimitive\"),i\u003dDate.prototype;e in i||t(42)(i,e,t(27))},{128:128,27:27,42:42}],156:[function(t,n,r){var e\u003dDate.prototype,i\u003de.toString,o\u003de.getTime;new Date(NaN)+\"\"!\u003d\"Invalid Date\"\u0026\u0026t(94)(e,\"toString\",function toString(){var t\u003do.call(this);return t\u003d\u003d\u003dt?i.call(this):\"Invalid Date\"})},{94:94}],157:[function(t,n,r){var e\u003dt(33);e(e.P,\"Function\",{bind:t(16)})},{16:16,33:33}],158:[function(t,n,r){\"use strict\";var e\u003dt(51),i\u003dt(79),o\u003dt(128)(\"hasInstance\"),u\u003dFunction.prototype;o in u||t(72).f(u,o,{value:function(t){if(\"function\"!\u003dtypeof this||!e(t))return!1;if(!e(this.prototype))return t instanceof this;for(;t\u003di(t);)if(this.prototype\u003d\u003d\u003dt)return!0;return!1}})},{128:128,51:51,72:72,79:79}],159:[function(t,n,r){var e\u003dt(72).f,i\u003dFunction.prototype,o\u003d/^\\s*function ([^ (]*)/;\"name\"in i||t(29)\u0026\u0026e(i,\"name\",{configurable:!0,get:function(){try{return(\"\"+this).match(o)[1]}catch(t){return\"\"}}})},{29:29,72:72}],160:[function(t,n,r){\"use strict\";var e\u003dt(19),i\u003dt(125);n.exports\u003dt(22)(\"Map\",function(t){return function Map(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},{get:function get(t){var n\u003de.getEntry(i(this,\"Map\"),t);return n\u0026\u0026n.v},set:function set(t,n){return e.def(i(this,\"Map\"),0\u003d\u003d\u003dt?0:t,n)}},e,!0)},{125:125,19:19,22:22}],161:[function(t,n,r){var e\u003dt(33),i\u003dt(63),o\u003dMath.sqrt,u\u003dMath.acosh;e(e.S+e.F*!(u\u0026\u0026710\u003d\u003dMath.floor(u(Number.MAX_VALUE))\u0026\u0026u(1/0)\u003d\u003d1/0),\"Math\",{acosh:function acosh(t){return(t\u003d+t)\u003c1?NaN:t\u003e94906265.62425156?Math.log(t)+Math.LN2:i(t-1+o(t-1)*o(t+1))}})},{33:33,63:63}],162:[function(t,n,r){function asinh(t){return isFinite(t\u003d+t)\u0026\u00260!\u003dt?t\u003c0?-asinh(-t):Math.log(t+Math.sqrt(t*t+1)):t}var e\u003dt(33),i\u003dMath.asinh;e(e.S+e.F*!(i\u0026\u00261/i(0)\u003e0),\"Math\",{asinh:asinh})},{33:33}],163:[function(t,n,r){var e\u003dt(33),i\u003dMath.atanh;e(e.S+e.F*!(i\u0026\u00261/i(-0)\u003c0),\"Math\",{atanh:function atanh(t){return 0\u003d\u003d(t\u003d+t)?t:Math.log((1+t)/(1-t))/2}})},{33:33}],164:[function(t,n,r){var e\u003dt(33),i\u003dt(65);e(e.S,\"Math\",{cbrt:function cbrt(t){return i(t\u003d+t)*Math.pow(Math.abs(t),1/3)}})},{33:33,65:65}],165:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{clz32:function clz32(t){return(t\u003e\u003e\u003e\u003d0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},{33:33}],166:[function(t,n,r){var e\u003dt(33),i\u003dMath.exp;e(e.S,\"Math\",{cosh:function cosh(t){return(i(t\u003d+t)+i(-t))/2}})},{33:33}],167:[function(t,n,r){var e\u003dt(33),i\u003dt(61);e(e.S+e.F*(i!\u003dMath.expm1),\"Math\",{expm1:i})},{33:33,61:61}],168:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{fround:t(62)})},{33:33,62:62}],169:[function(t,n,r){var e\u003dt(33),i\u003dMath.abs;e(e.S,\"Math\",{hypot:function hypot(t,n){for(var r,e,o\u003d0,u\u003d0,c\u003darguments.length,a\u003d0;u\u003cc;)r\u003di(arguments[u++]),a\u003cr?(e\u003da/r,o\u003do*e*e+1,a\u003dr):r\u003e0?(e\u003dr/a,o+\u003de*e):o+\u003dr;return a\u003d\u003d\u003d1/0?1/0:a*Math.sqrt(o)}})},{33:33}],170:[function(t,n,r){var e\u003dt(33),i\u003dMath.imul;e(e.S+e.F*t(35)(function(){return-5!\u003di(4294967295,5)||2!\u003di.length}),\"Math\",{imul:function imul(t,n){var r\u003d+t,e\u003d+n,i\u003d65535\u0026r,o\u003d65535\u0026e;return 0|i*o+((65535\u0026r\u003e\u003e\u003e16)*o+i*(65535\u0026e\u003e\u003e\u003e16)\u003c\u003c16\u003e\u003e\u003e0)}})},{33:33,35:35}],171:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{log10:function log10(t){return Math.log(t)*Math.LOG10E}})},{33:33}],172:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{log1p:t(63)})},{33:33,63:63}],173:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{log2:function log2(t){return Math.log(t)/Math.LN2}})},{33:33}],174:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{sign:t(65)})},{33:33,65:65}],175:[function(t,n,r){var e\u003dt(33),i\u003dt(61),o\u003dMath.exp;e(e.S+e.F*t(35)(function(){return-2e-17!\u003d!Math.sinh(-2e-17)}),\"Math\",{sinh:function sinh(t){return Math.abs(t\u003d+t)\u003c1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},{33:33,35:35,61:61}],176:[function(t,n,r){var e\u003dt(33),i\u003dt(61),o\u003dMath.exp;e(e.S,\"Math\",{tanh:function tanh(t){var n\u003di(t\u003d+t),r\u003di(-t);return n\u003d\u003d1/0?1:r\u003d\u003d1/0?-1:(n-r)/(o(t)+o(-t))}})},{33:33,61:61}],177:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{trunc:function trunc(t){return(t\u003e0?Math.floor:Math.ceil)(t)}})},{33:33}],178:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(41),o\u003dt(18),u\u003dt(45),c\u003dt(120),a\u003dt(35),f\u003dt(77).f,s\u003dt(75).f,l\u003dt(72).f,h\u003dt(111).trim,v\u003de.Number,p\u003dv,d\u003dv.prototype,y\u003d\"Number\"\u003d\u003do(t(71)(d)),g\u003d\"trim\"in String.prototype,m\u003dfunction(t){var n\u003dc(t,!1);if(\"string\"\u003d\u003dtypeof n\u0026\u0026n.length\u003e2){n\u003dg?n.trim():h(n,3);var r,e,i,o\u003dn.charCodeAt(0);if(43\u003d\u003d\u003do||45\u003d\u003d\u003do){if(88\u003d\u003d\u003d(r\u003dn.charCodeAt(2))||120\u003d\u003d\u003dr)return NaN}else if(48\u003d\u003d\u003do){switch(n.charCodeAt(1)){case 66:case 98:e\u003d2,i\u003d49;break;case 79:case 111:e\u003d8,i\u003d55;break;default:return+n}for(var u,a\u003dn.slice(2),f\u003d0,s\u003da.length;f\u003cs;f++)if((u\u003da.charCodeAt(f))\u003c48||u\u003ei)return NaN;return parseInt(a,e)}}return+n};if(!v(\" 0o1\")||!v(\"0b1\")||v(\"+0x1\")){v\u003dfunction Number(t){var n\u003darguments.length\u003c1?0:t,r\u003dthis;return r instanceof v\u0026\u0026(y?a(function(){d.valueOf.call(r)}):\"Number\"!\u003do(r))?u(new p(m(n)),r,v):m(n)};for(var b,x\u003dt(29)?f(p):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),S\u003d0;x.length\u003eS;S++)i(p,b\u003dx[S])\u0026\u0026!i(v,b)\u0026\u0026l(v,b,s(p,b));v.prototype\u003dd,d.constructor\u003dv,t(94)(e,\"Number\",v)}},{111:111,120:120,18:18,29:29,35:35,40:40,41:41,45:45,71:71,72:72,75:75,77:77,94:94}],179:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{EPSILON:Math.pow(2,-52)})},{33:33}],180:[function(t,n,r){var e\u003dt(33),i\u003dt(40).isFinite;e(e.S,\"Number\",{isFinite:function isFinite(t){return\"number\"\u003d\u003dtypeof t\u0026\u0026i(t)}})},{33:33,40:40}],181:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{isInteger:t(50)})},{33:33,50:50}],182:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{isNaN:function isNaN(t){return t!\u003dt}})},{33:33}],183:[function(t,n,r){var e\u003dt(33),i\u003dt(50),o\u003dMath.abs;e(e.S,\"Number\",{isSafeInteger:function isSafeInteger(t){return i(t)\u0026\u0026o(t)\u003c\u003d9007199254740991}})},{33:33,50:50}],184:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{MAX_SAFE_INTEGER:9007199254740991})},{33:33}],185:[function(t,n,r){var e\u003dt(33);e(e.S,\"Number\",{MIN_SAFE_INTEGER:-9007199254740991})},{33:33}],186:[function(t,n,r){var e\u003dt(33),i\u003dt(86);e(e.S+e.F*(Number.parseFloat!\u003di),\"Number\",{parseFloat:i})},{33:33,86:86}],187:[function(t,n,r){var e\u003dt(33),i\u003dt(87);e(e.S+e.F*(Number.parseInt!\u003di),\"Number\",{parseInt:i})},{33:33,87:87}],188:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(116),o\u003dt(4),u\u003dt(110),c\u003d1..toFixed,a\u003dMath.floor,f\u003d[0,0,0,0,0,0],s\u003d\"Number.toFixed: incorrect invocation!\",l\u003dfunction(t,n){for(var r\u003d-1,e\u003dn;++r\u003c6;)e+\u003dt*f[r],f[r]\u003de%1e7,e\u003da(e/1e7)},h\u003dfunction(t){for(var n\u003d6,r\u003d0;--n\u003e\u003d0;)r+\u003df[n],f[n]\u003da(r/t),r\u003dr%t*1e7},v\u003dfunction(){for(var t\u003d6,n\u003d\"\";--t\u003e\u003d0;)if(\"\"!\u003d\u003dn||0\u003d\u003d\u003dt||0!\u003d\u003df[t]){var r\u003dString(f[t]);n\u003d\"\"\u003d\u003d\u003dn?r:n+u.call(\"0\",7-r.length)+r}return n},p\u003dfunction(t,n,r){return 0\u003d\u003d\u003dn?r:n%2\u003d\u003d1?p(t,n-1,r*t):p(t*t,n/2,r)},d\u003dfunction(t){for(var n\u003d0,r\u003dt;r\u003e\u003d4096;)n+\u003d12,r/\u003d4096;for(;r\u003e\u003d2;)n+\u003d1,r/\u003d2;return n};e(e.P+e.F*(!!c\u0026\u0026(\"0.000\"!\u003d\u003d8e-5.toFixed(3)||\"1\"!\u003d\u003d.9.toFixed(0)||\"1.25\"!\u003d\u003d1.255.toFixed(2)||\"1000000000000000128\"!\u003d\u003d(0xde0b6b3a7640080).toFixed(0))||!t(35)(function(){c.call({})})),\"Number\",{toFixed:function toFixed(t){var n,r,e,c,a\u003do(this,s),f\u003di(t),y\u003d\"\",g\u003d\"0\";if(f\u003c0||f\u003e20)throw RangeError(s);if(a!\u003da)return\"NaN\";if(a\u003c\u003d-1e21||a\u003e\u003d1e21)return String(a);if(a\u003c0\u0026\u0026(y\u003d\"-\",a\u003d-a),a\u003e1e-21)if(n\u003dd(a*p(2,69,1))-69,r\u003dn\u003c0?a*p(2,-n,1):a/p(2,n,1),r*\u003d4503599627370496,(n\u003d52-n)\u003e0){for(l(0,r),e\u003df;e\u003e\u003d7;)l(1e7,0),e-\u003d7;for(l(p(10,e,1),0),e\u003dn-1;e\u003e\u003d23;)h(1\u003c\u003c23),e-\u003d23;h(1\u003c\u003ce),l(1,1),h(2),g\u003dv()}else l(0,r),l(1\u003c\u003c-n,0),g\u003dv()+u.call(\"0\",f);return f\u003e0?(c\u003dg.length,g\u003dy+(c\u003c\u003df?\"0.\"+u.call(\"0\",f-c)+g:g.slice(0,c-f)+\".\"+g.slice(c-f))):g\u003dy+g,g}})},{110:110,116:116,33:33,35:35,4:4}],189:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(35),o\u003dt(4),u\u003d1..toPrecision;e(e.P+e.F*(i(function(){return\"1\"!\u003d\u003du.call(1,void 0)})||!i(function(){u.call({})})),\"Number\",{toPrecision:function toPrecision(t){var n\u003do(this,\"Number#toPrecision: incorrect invocation!\");return void 0\u003d\u003d\u003dt?u.call(n):u.call(n,t)}})},{33:33,35:35,4:4}],190:[function(t,n,r){var e\u003dt(33);e(e.S+e.F,\"Object\",{assign:t(70)})},{33:33,70:70}],191:[function(t,n,r){var e\u003dt(33);e(e.S,\"Object\",{create:t(71)})},{33:33,71:71}],192:[function(t,n,r){var e\u003dt(33);e(e.S+e.F*!t(29),\"Object\",{defineProperties:t(73)})},{29:29,33:33,73:73}],193:[function(t,n,r){var e\u003dt(33);e(e.S+e.F*!t(29),\"Object\",{defineProperty:t(72).f})},{29:29,33:33,72:72}],194:[function(t,n,r){var e\u003dt(51),i\u003dt(66).onFreeze;t(83)(\"freeze\",function(t){return function freeze(n){return t\u0026\u0026e(n)?t(i(n)):n}})},{51:51,66:66,83:83}],195:[function(t,n,r){var e\u003dt(117),i\u003dt(75).f;t(83)(\"getOwnPropertyDescriptor\",function(){return function getOwnPropertyDescriptor(t,n){return i(e(t),n)}})},{117:117,75:75,83:83}],196:[function(t,n,r){t(83)(\"getOwnPropertyNames\",function(){return t(76).f})},{76:76,83:83}],197:[function(t,n,r){var e\u003dt(119),i\u003dt(79);t(83)(\"getPrototypeOf\",function(){return function getPrototypeOf(t){return i(e(t))}})},{119:119,79:79,83:83}],198:[function(t,n,r){var e\u003dt(51);t(83)(\"isExtensible\",function(t){return function isExtensible(n){return!!e(n)\u0026\u0026(!t||t(n))}})},{51:51,83:83}],199:[function(t,n,r){var e\u003dt(51);t(83)(\"isFrozen\",function(t){return function isFrozen(n){return!e(n)||!!t\u0026\u0026t(n)}})},{51:51,83:83}],200:[function(t,n,r){var e\u003dt(51);t(83)(\"isSealed\",function(t){return function isSealed(n){return!e(n)||!!t\u0026\u0026t(n)}})},{51:51,83:83}],201:[function(t,n,r){var e\u003dt(33);e(e.S,\"Object\",{is:t(96)})},{33:33,96:96}],202:[function(t,n,r){var e\u003dt(119),i\u003dt(81);t(83)(\"keys\",function(){return function keys(t){return i(e(t))}})},{119:119,81:81,83:83}],203:[function(t,n,r){var e\u003dt(51),i\u003dt(66).onFreeze;t(83)(\"preventExtensions\",function(t){return function preventExtensions(n){return t\u0026\u0026e(n)?t(i(n)):n}})},{51:51,66:66,83:83}],204:[function(t,n,r){var e\u003dt(51),i\u003dt(66).onFreeze;t(83)(\"seal\",function(t){return function seal(n){return t\u0026\u0026e(n)?t(i(n)):n}})},{51:51,66:66,83:83}],205:[function(t,n,r){var e\u003dt(33);e(e.S,\"Object\",{setPrototypeOf:t(99).set})},{33:33,99:99}],206:[function(t,n,r){\"use strict\";var e\u003dt(17),i\u003d{};i[t(128)(\"toStringTag\")]\u003d\"z\",i+\"\"!\u003d\"[object z]\"\u0026\u0026t(94)(Object.prototype,\"toString\",function toString(){return\"[object \"+e(this)+\"]\"},!0)},{128:128,17:17,94:94}],207:[function(t,n,r){var e\u003dt(33),i\u003dt(86);e(e.G+e.F*(parseFloat!\u003di),{parseFloat:i})},{33:33,86:86}],208:[function(t,n,r){var e\u003dt(33),i\u003dt(87);e(e.G+e.F*(parseInt!\u003di),{parseInt:i})},{33:33,87:87}],209:[function(t,n,r){\"use strict\";var e,i,o,u,c\u003dt(60),a\u003dt(40),f\u003dt(25),s\u003dt(17),l\u003dt(33),h\u003dt(51),v\u003dt(3),p\u003dt(6),d\u003dt(39),y\u003dt(104),g\u003dt(113).set,m\u003dt(68)(),b\u003dt(69),x\u003dt(90),S\u003dt(91),w\u003da.TypeError,_\u003da.process,E\u003da.Promise,O\u003d\"process\"\u003d\u003ds(_),P\u003dfunction(){},M\u003di\u003db.f,F\u003d!!function(){try{var n\u003dE.resolve(1),r\u003d(n.constructor\u003d{})[t(128)(\"species\")]\u003dfunction(t){t(P,P)};return(O||\"function\"\u003d\u003dtypeof PromiseRejectionEvent)\u0026\u0026n.then(P)instanceof r}catch(t){}}(),I\u003dc?function(t,n){return t\u003d\u003d\u003dn||t\u003d\u003d\u003dE\u0026\u0026n\u003d\u003d\u003du}:function(t,n){return t\u003d\u003d\u003dn},A\u003dfunction(t){var n;return!(!h(t)||\"function\"!\u003dtypeof(n\u003dt.then))\u0026\u0026n},k\u003dfunction(t,n){if(!t._n){t._n\u003d!0;var r\u003dt._c;m(function(){for(var e\u003dt._v,i\u003d1\u003d\u003dt._s,o\u003d0;r.length\u003eo;)!function(n){var r,o,u\u003di?n.ok:n.fail,c\u003dn.resolve,a\u003dn.reject,f\u003dn.domain;try{u?(i||(2\u003d\u003dt._h\u0026\u0026T(t),t._h\u003d1),!0\u003d\u003d\u003du?r\u003de:(f\u0026\u0026f.enter(),r\u003du(e),f\u0026\u0026f.exit()),r\u003d\u003d\u003dn.promise?a(w(\"Promise-chain cycle\")):(o\u003dA(r))?o.call(r,c,a):c(r)):a(e)}catch(t){a(t)}}(r[o++]);t._c\u003d[],t._n\u003d!1,n\u0026\u0026!t._h\u0026\u0026N(t)})}},N\u003dfunction(t){g.call(a,function(){var n,r,e,i\u003dt._v,o\u003dj(t);if(o\u0026\u0026(n\u003dx(function(){O?_.emit(\"unhandledRejection\",i,t):(r\u003da.onunhandledrejection)?r({promise:t,reason:i}):(e\u003da.console)\u0026\u0026e.error\u0026\u0026e.error(\"Unhandled promise rejection\",i)}),t._h\u003dO||j(t)?2:1),t._a\u003dvoid 0,o\u0026\u0026n.e)throw n.v})},j\u003dfunction(t){if(1\u003d\u003dt._h)return!1;for(var n,r\u003dt._a||t._c,e\u003d0;r.length\u003ee;)if(n\u003dr[e++],n.fail||!j(n.promise))return!1;return!0},T\u003dfunction(t){g.call(a,function(){var n;O?_.emit(\"rejectionHandled\",t):(n\u003da.onrejectionhandled)\u0026\u0026n({promise:t,reason:t._v})})},R\u003dfunction(t){var n\u003dthis;n._d||(n._d\u003d!0,n\u003dn._w||n,n._v\u003dt,n._s\u003d2,n._a||(n._a\u003dn._c.slice()),k(n,!0))},L\u003dfunction(t){var n,r\u003dthis;if(!r._d){r._d\u003d!0,r\u003dr._w||r;try{if(r\u003d\u003d\u003dt)throw w(\"Promise can\u0027t be resolved itself\");(n\u003dA(t))?m(function(){var e\u003d{_w:r,_d:!1};try{n.call(t,f(L,e,1),f(R,e,1))}catch(t){R.call(e,t)}}):(r._v\u003dt,r._s\u003d1,k(r,!1))}catch(t){R.call({_w:r,_d:!1},t)}}};F||(E\u003dfunction Promise(t){p(this,E,\"Promise\",\"_h\"),v(t),e.call(this);try{t(f(L,this,1),f(R,this,1))}catch(t){R.call(this,t)}},e\u003dfunction Promise(t){this._c\u003d[],this._a\u003dvoid 0,this._s\u003d0,this._d\u003d!1,this._v\u003dvoid 0,this._h\u003d0,this._n\u003d!1},e.prototype\u003dt(93)(E.prototype,{then:function then(t,n){var r\u003dM(y(this,E));return r.ok\u003d\"function\"!\u003dtypeof t||t,r.fail\u003d\"function\"\u003d\u003dtypeof n\u0026\u0026n,r.domain\u003dO?_.domain:void 0,this._c.push(r),this._a\u0026\u0026this._a.push(r),this._s\u0026\u0026k(this,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o\u003dfunction(){var t\u003dnew e;this.promise\u003dt,this.resolve\u003df(L,t,1),this.reject\u003df(R,t,1)},b.f\u003dM\u003dfunction(t){return I(E,t)?new o(t):i(t)}),l(l.G+l.W+l.F*!F,{Promise:E}),t(101)(E,\"Promise\"),t(100)(\"Promise\"),u\u003dt(23).Promise,l(l.S+l.F*!F,\"Promise\",{reject:function reject(t){var n\u003dM(this);return(0,n.reject)(t),n.promise}}),l(l.S+l.F*(c||!F),\"Promise\",{resolve:function resolve(t){return t instanceof E\u0026\u0026I(t.constructor,this)?t:S(this,t)}}),l(l.S+l.F*!(F\u0026\u0026t(56)(function(t){E.all(t).catch(P)})),\"Promise\",{all:function all(t){var n\u003dthis,r\u003dM(n),e\u003dr.resolve,i\u003dr.reject,o\u003dx(function(){var r\u003d[],o\u003d0,u\u003d1;d(t,!1,function(t){var c\u003do++,a\u003d!1;r.push(void 0),u++,n.resolve(t).then(function(t){a||(a\u003d!0,r[c]\u003dt,--u||e(r))},i)}),--u||e(r)});return o.e\u0026\u0026i(o.v),r.promise},race:function race(t){var n\u003dthis,r\u003dM(n),e\u003dr.reject,i\u003dx(function(){d(t,!1,function(t){n.resolve(t).then(r.resolve,e)})});return i.e\u0026\u0026e(i.v),r.promise}})},{100:100,101:101,104:104,113:113,128:128,17:17,23:23,25:25,"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":"3:3,33:33,39:39,40:40,51:51,56:56,6:6,60:60,68:68,69:69,90:90,91:91,93:93}],210:[function(t,n,r){var e\u003dt(33),i\u003dt(3),o\u003dt(7),u\u003d(t(40).Reflect||{}).apply,c\u003dFunction.apply;e(e.S+e.F*!t(35)(function(){u(function(){})}),\"Reflect\",{apply:function apply(t,n,r){var e\u003di(t),a\u003do(r);return u?u(e,n,a):c.call(e,n,a)}})},{3:3,33:33,35:35,40:40,7:7}],211:[function(t,n,r){var e\u003dt(33),i\u003dt(71),o\u003dt(3),u\u003dt(7),c\u003dt(51),a\u003dt(35),f\u003dt(16),s\u003d(t(40).Reflect||{}).construct,l\u003da(function(){function F(){}return!(s(function(){},[],F)instanceof F)}),h\u003d!a(function(){s(function(){})});e(e.S+e.F*(l||h),\"Reflect\",{construct:function construct(t,n){o(t),u(n);var r\u003darguments.length\u003c3?t:o(arguments[2]);if(h\u0026\u0026!l)return s(t,n,r);if(t\u003d\u003dr){switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3])}var e\u003d[null];return e.push.apply(e,n),new(f.apply(t,e))}var a\u003dr.prototype,v\u003di(c(a)?a:Object.prototype),p\u003dFunction.apply.call(t,v,n);return c(p)?p:v}})},{16:16,3:3,33:33,35:35,40:40,51:51,7:7,71:71}],212:[function(t,n,r){var e\u003dt(72),i\u003dt(33),o\u003dt(7),u\u003dt(120);i(i.S+i.F*t(35)(function(){Reflect.defineProperty(e.f({},1,{value:1}),1,{value:2})}),\"Reflect\",{defineProperty:function defineProperty(t,n,r){o(t),n\u003du(n,!0),o(r);try{return e.f(t,n,r),!0}catch(t){return!1}}})},{120:120,33:33,35:35,7:7,72:72}],213:[function(t,n,r){var e\u003dt(33),i\u003dt(75).f,o\u003dt(7);e(e.S,\"Reflect\",{deleteProperty:function deleteProperty(t,n){var r\u003di(o(t),n);return!(r\u0026\u0026!r.configurable)\u0026\u0026delete t[n]}})},{33:33,7:7,75:75}],214:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(7),o\u003dfunction(t){this._t\u003di(t),this._i\u003d0;var n,r\u003dthis._k\u003d[];for(n in t)r.push(n)};t(54)(o,\"Object\",function(){var t,n\u003dthis,r\u003dn._k;do{if(n._i\u003e\u003dr.length)return{value:void 0,done:!0}}while(!((t\u003dr[n._i++])in n._t));return{value:t,done:!1}}),e(e.S,\"Reflect\",{enumerate:function enumerate(t){return new o(t)}})},{33:33,54:54,7:7}],215:[function(t,n,r){var e\u003dt(75),i\u003dt(33),o\u003dt(7);i(i.S,\"Reflect\",{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(t,n){return e.f(o(t),n)}})},{33:33,7:7,75:75}],216:[function(t,n,r){var e\u003dt(33),i\u003dt(79),o\u003dt(7);e(e.S,\"Reflect\",{getPrototypeOf:function getPrototypeOf(t){return i(o(t))}})},{33:33,7:7,79:79}],217:[function(t,n,r){function get(t,n){var r,u,f\u003darguments.length\u003c3?t:arguments[2];return a(t)\u003d\u003d\u003df?t[n]:(r\u003de.f(t,n))?o(r,\"value\")?r.value:void 0!\u003d\u003dr.get?r.get.call(f):void 0:c(u\u003di(t))?get(u,n,f):void 0}var e\u003dt(75),i\u003dt(79),o\u003dt(41),u\u003dt(33),c\u003dt(51),a\u003dt(7);u(u.S,\"Reflect\",{get:get})},{33:33,41:41,51:51,7:7,75:75,79:79}],218:[function(t,n,r){var e\u003dt(33);e(e.S,\"Reflect\",{has:function has(t,n){return n in t}})},{33:33}],219:[function(t,n,r){var e\u003dt(33),i\u003dt(7),o\u003dObject.isExtensible;e(e.S,\"Reflect\",{isExtensible:function isExtensible(t){return i(t),!o||o(t)}})},{33:33,7:7}],220:[function(t,n,r){var e\u003dt(33);e(e.S,\"Reflect\",{ownKeys:t(85)})},{33:33,85:85}],221:[function(t,n,r){var e\u003dt(33),i\u003dt(7),o\u003dObject.preventExtensions;e(e.S,\"Reflect\",{preventExtensions:function preventExtensions(t){i(t);try{return o\u0026\u0026o(t),!0}catch(t){return!1}}})},{33:33,7:7}],222:[function(t,n,r){var e\u003dt(33),i\u003dt(99);i\u0026\u0026e(e.S,\"Reflect\",{setPrototypeOf:function setPrototypeOf(t,n){i.check(t,n);try{return i.set(t,n),!0}catch(t){return!1}}})},{33:33,99:99}],223:[function(t,n,r){function set(t,n,r){var c,l,h\u003darguments.length\u003c4?t:arguments[3],v\u003di.f(f(t),n);if(!v){if(s(l\u003do(t)))return set(l,n,r,h);v\u003da(0)}return u(v,\"value\")?!(!1\u003d\u003d\u003dv.writable||!s(h))\u0026\u0026(c\u003di.f(h,n)||a(0),c.value\u003dr,e.f(h,n,c),!0):void 0!\u003d\u003dv.set\u0026\u0026(v.set.call(h,r),!0)}var e\u003dt(72),i\u003dt(75),o\u003dt(79),u\u003dt(41),c\u003dt(33),a\u003dt(92),f\u003dt(7),s\u003dt(51);c(c.S,\"Reflect\",{set:set})},{33:33,41:41,51:51,7:7,72:72,75:75,79:79,92:92}],224:[function(t,n,r){var e\u003dt(40),i\u003dt(45),o\u003dt(72).f,u\u003dt(77).f,c\u003dt(52),a\u003dt(37),f\u003de.RegExp,s\u003df,l\u003df.prototype,h\u003d/a/g,v\u003d/a/g,p\u003dnew f(h)!\u003d\u003dh;if(t(29)\u0026\u0026(!p||t(35)(function(){return v[t(128)(\"match\")]\u003d!1,f(h)!\u003dh||f(v)\u003d\u003dv||\"/a/i\"!\u003df(h,\"i\")}))){f\u003dfunction RegExp(t,n){var r\u003dthis instanceof f,e\u003dc(t),o\u003dvoid 0\u003d\u003d\u003dn;return!r\u0026\u0026e\u0026\u0026t.constructor\u003d\u003d\u003df\u0026\u0026o?t:i(p?new s(e\u0026\u0026!o?t.source:t,n):s((e\u003dt instanceof f)?t.source:t,e\u0026\u0026o?a.call(t):n),r?this:l,f)};for(var d\u003du(s),y\u003d0;d.length\u003ey;)!function(t){t in f||o(f,t,{configurable:!0,get:function(){return s[t]},set:function(n){s[t]\u003dn}})}(d[y++]);l.constructor\u003df,f.prototype\u003dl,t(94)(e,\"RegExp\",f)}t(100)(\"RegExp\")},{100:100,128:128,29:29,35:35,37:37,40:40,45:45,52:52,72:72,77:77,94:94}],225:[function(t,n,r){t(29)\u0026\u0026\"g\"!\u003d/./g.flags\u0026\u0026t(72).f(RegExp.prototype,\"flags\",{configurable:!0,get:t(37)})},{29:29,37:37,72:72}],226:[function(t,n,r){t(36)(\"match\",1,function(t,n,r){return[function match(r){\"use strict\";var e\u003dt(this),i\u003dvoid 0\u003d\u003dr?void 0:r[n];return void 0!\u003d\u003di?i.call(r,e):new RegExp(r)[n](String(e))},r]})},{36:36}],227:[function(t,n,r){t(36)(\"replace\",2,function(t,n,r){return[function replace(e,i){\"use strict\";var o\u003dt(this),u\u003dvoid 0\u003d\u003de?void 0:e[n];return void 0!\u003d\u003du?u.call(e,o,i):r.call(String(o),e,i)},r]})},{36:36}],228:[function(t,n,r){t(36)(\"search\",1,function(t,n,r){return[function search(r){\"use strict\";var e\u003dt(this),i\u003dvoid 0\u003d\u003dr?void 0:r[n];return void 0!\u003d\u003di?i.call(r,e):new RegExp(r)[n](String(e))},r]})},{36:36}],229:[function(t,n,r){t(36)(\"split\",2,function(n,r,e){\"use strict\";var i\u003dt(52),o\u003de,u\u003d[].push,c\u003d\"length\";if(\"c\"\u003d\u003d\"abbc\".split(/(b)*/)[1]||4!\u003d\"test\".split(/(?:)/,-1)[c]||2!\u003d\"ab\".split(/(?:ab)*/)[c]||4!\u003d\".\".split(/(.?)(.?)/)[c]||\".\".split(/()()/)[c]\u003e1||\"\".split(/.?/)[c]){var a\u003dvoid 0\u003d\u003d\u003d/()??/.exec(\"\")[1];e\u003dfunction(t,n){var r\u003dString(this);if(void 0\u003d\u003d\u003dt\u0026\u00260\u003d\u003d\u003dn)return[];if(!i(t))return o.call(r,t,n);var e,f,s,l,h,v\u003d[],p\u003d(t.ignoreCase?\"i\":\"\")+(t.multiline?\"m\":\"\")+(t.unicode?\"u\":\"\")+(t.sticky?\"y\":\"\"),d\u003d0,y\u003dvoid 0\u003d\u003d\u003dn?4294967295:n\u003e\u003e\u003e0,g\u003dnew RegExp(t.source,p+\"g\");for(a||(e\u003dnew RegExp(\"^\"+g.source+\"$(?!\\\\s)\",p));(f\u003dg.exec(r))\u0026\u0026!((s\u003df.index+f[0][c])\u003ed\u0026\u0026(v.push(r.slice(d,f.index)),!a\u0026\u0026f[c]\u003e1\u0026\u0026f[0].replace(e,function(){for(h\u003d1;h\u003carguments[c]-2;h++)void 0\u003d\u003d\u003darguments[h]\u0026\u0026(f[h]\u003dvoid 0)}),f[c]\u003e1\u0026\u0026f.index\u003cr[c]\u0026\u0026u.apply(v,f.slice(1)),l\u003df[0][c],d\u003ds,v[c]\u003e\u003dy));)g.lastIndex\u003d\u003d\u003df.index\u0026\u0026g.lastIndex++;return d\u003d\u003d\u003dr[c]?!l\u0026\u0026g.test(\"\")||v.push(\"\"):v.push(r.slice(d)),v[c]\u003ey?v.slice(0,y):v}}else\"0\".split(void 0,0)[c]\u0026\u0026(e\u003dfunction(t,n){return void 0\u003d\u003d\u003dt\u0026\u00260\u003d\u003d\u003dn?[]:o.call(this,t,n)});return[function split(t,i){var o\u003dn(this),u\u003dvoid 0\u003d\u003dt?void 0:t[r];return void 0!\u003d\u003du?u.call(t,o,i):e.call(String(o),t,i)},e]})},{36:36,52:52}],230:[function(t,n,r){\"use strict\";t(225);var e\u003dt(7),i\u003dt(37),o\u003dt(29),u\u003d/./.toString,c\u003dfunction(n){t(94)(RegExp.prototype,\"toString\",n,!0)};t(35)(function(){return\"/a/b\"!\u003du.call({source:\"a\",flags:\"b\"})})?c(function toString(){var t\u003de(this);return\"/\".concat(t.source,\"/\",\"flags\"in t?t.flags:!o\u0026\u0026t instanceof RegExp?i.call(t):void 0)}):\"toString\"!\u003du.name\u0026\u0026c(function toString(){return u.call(this)})},{225:225,29:29,35:35,37:37,7:7,94:94}],231:[function(t,n,r){\"use strict\";var e\u003dt(19),i\u003dt(125);n.exports\u003dt(22)(\"Set\",function(t){return function Set(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},{add:function add(t){return e.def(i(this,\"Set\"),t\u003d0\u003d\u003d\u003dt?0:t,t)}},e)},{125:125,19:19,22:22}],232:[function(t,n,r){\"use strict\";t(108)(\"anchor\",function(t){return function anchor(n){return t(this,\"a\",\"name\",n)}})},{108:108}],233:[function(t,n,r){\"use strict\";t(108)(\"big\",function(t){return function big(){return t(this,\"big\",\"\",\"\")}})},{108:108}],234:[function(t,n,r){\"use strict\";t(108)(\"blink\",function(t){return function blink(){return t(this,\"blink\",\"\",\"\")}})},{108:108}],235:[function(t,n,r){\"use strict\";t(108)(\"bold\",function(t){return function bold(){return t(this,\"b\",\"\",\"\")}})},{108:108}],236:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(106)(!1);e(e.P,\"String\",{codePointAt:function codePointAt(t){return i(this,t)}})},{106:106,33:33}],237:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(118),o\u003dt(107),u\u003d\"\".endsWith;e(e.P+e.F*t(34)(\"endsWith\"),\"String\",{endsWith:function endsWith(t){var n\u003do(this,t,\"endsWith\"),r\u003darguments.length\u003e1?arguments[1]:void 0,e\u003di(n.length),c\u003dvoid 0\u003d\u003d\u003dr?e:Math.min(i(r),e),a\u003dString(t);return u?u.call(n,a,c):n.slice(c-a.length,c)\u003d\u003d\u003da}})},{107:107,118:118,33:33,34:34}],238:[function(t,n,r){\"use strict\";t(108)(\"fixed\",function(t){return function fixed(){return t(this,\"tt\",\"\",\"\")}})},{108:108}],239:[function(t,n,r){\"use strict\";t(108)(\"fontcolor\",function(t){return function fontcolor(n){return t(this,\"font\",\"color\",n)}})},{108:108}],240:[function(t,n,r){\"use strict\";t(108)(\"fontsize\",function(t){return function fontsize(n){return t(this,\"font\",\"size\",n)}})},{108:108}],241:[function(t,n,r){var e\u003dt(33),i\u003dt(114),o\u003dString.fromCharCode,u\u003dString.fromCodePoint;e(e.S+e.F*(!!u\u0026\u00261!\u003du.length),\"String\",{fromCodePoint:function fromCodePoint(t){for(var n,r\u003d[],e\u003darguments.length,u\u003d0;e\u003eu;){if(n\u003d+arguments[u++],i(n,1114111)!\u003d\u003dn)throw RangeError(n+\" is not a valid code point\");r.push(n\u003c65536?o(n):o(55296+((n-\u003d65536)\u003e\u003e10),n%1024+56320))}return r.join(\"\")}})},{114:114,33:33}],242:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(107);e(e.P+e.F*t(34)(\"includes\"),\"String\",{includes:function includes(t){return!!~i(this,t,\"includes\").indexOf(t,arguments.length\u003e1?arguments[1]:void 0)}})},{107:107,33:33,34:34}],243:[function(t,n,r){\"use strict\";t(108)(\"italics\",function(t){return function italics(){return t(this,\"i\",\"\",\"\")}})},{108:108}],244:[function(t,n,r){\"use strict\";var e\u003dt(106)(!0);t(55)(String,\"String\",function(t){this._t\u003dString(t),this._i\u003d0},function(){var t,n\u003dthis._t,r\u003dthis._i;return r\u003e\u003dn.length?{value:void 0,done:!0}:(t\u003de(n,r),this._i+\u003dt.length,{value:t,done:!1})})},{106:106,55:55}],245:[function(t,n,r){\"use strict\";t(108)(\"link\",function(t){return function link(n){return t(this,\"a\",\"href\",n)}})},{108:108}],246:[function(t,n,r){var e\u003dt(33),i\u003dt(117),o\u003dt(118);e(e.S,\"String\",{raw:function raw(t){for(var n\u003di(t.raw),r\u003do(n.length),e\u003darguments.length,u\u003d[],c\u003d0;r\u003ec;)u.push(String(n[c++])),c\u003ce\u0026\u0026u.push(String(arguments[c]));return u.join(\"\")}})},{117:117,118:118,33:33}],247:[function(t,n,r){var e\u003dt(33);e(e.P,\"String\",{repeat:t(110)})},{110:110,33:33}],248:[function(t,n,r){\"use strict\";t(108)(\"small\",function(t){return function small(){return t(this,\"small\",\"\",\"\")}})},{108:108}],249:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(118),o\u003dt(107),u\u003d\"\".startsWith;e(e.P+e.F*t(34)(\"startsWith\"),\"String\",{startsWith:function startsWith(t){var n\u003do(this,t,\"startsWith\"),r\u003di(Math.min(arguments.length\u003e1?arguments[1]:void 0,n.length)),e\u003dString(t);return u?u.call(n,e,r):n.slice(r,r+e.length)\u003d\u003d\u003de}})},{107:107,118:118,33:33,34:34}],250:[function(t,n,r){\"use strict\";t(108)(\"strike\",function(t){return function strike(){return t(this,\"strike\",\"\",\"\")}})},{108:108}],251:[function(t,n,r){\"use strict\";t(108)(\"sub\",function(t){return function sub(){return t(this,\"sub\",\"\",\"\")}})},{108:108}],252:[function(t,n,r){\"use strict\";t(108)(\"sup\",function(t){return function sup(){return t(this,\"sup\",\"\",\"\")}})},{108:108}],253:[function(t,n,r){\"use strict\";t(111)(\"trim\",function(t){return function trim(){return t(this,3)}})},{111:111}],254:[function(t,n,r){\"use strict\";var e\u003dt(40),i\u003dt(41),o\u003dt(29),u\u003dt(33),c\u003dt(94),a\u003dt(66).KEY,f\u003dt(35),s\u003dt(103),l\u003dt(101),h\u003dt(124),v\u003dt(128),p\u003dt(127),d\u003dt(126),y\u003dt(59),g\u003dt(32),m\u003dt(49),b\u003dt(7),x\u003dt(117),S\u003dt(120),w\u003dt(92),_\u003dt(71),E\u003dt(76),O\u003dt(75),P\u003dt(72),M\u003dt(81),F\u003dO.f,I\u003dP.f,A\u003dE.f,k\u003de.Symbol,N\u003de.JSON,j\u003dN\u0026\u0026N.stringify,T\u003dv(\"_hidden\"),R\u003dv(\"toPrimitive\"),L\u003d{}.propertyIsEnumerable,G\u003ds(\"symbol-registry\"),D\u003ds(\"symbols\"),C\u003ds(\"op-symbols\"),W\u003dObject.prototype,U\u003d\"function\"\u003d\u003dtypeof k,B\u003de.QObject,V\u003d!B||!B.prototype||!B.prototype.findChild,z\u003do\u0026\u0026f(function(){return 7!\u003d_(I({},\"a\",{get:function(){return I(this,\"a\",{value:7}).a}})).a})?function(t,n,r){var e\u003dF(W,n);e\u0026\u0026delete W[n],I(t,n,r),e\u0026\u0026t!\u003d\u003dW\u0026\u0026I(W,n,e)}:I,q\u003dfunction(t){var n\u003dD[t]\u003d_(k.prototype);return n._k\u003dt,n},K\u003dU\u0026\u0026\"symbol\"\u003d\u003dtypeof k.iterator?function(t){return\"symbol\"\u003d\u003dtypeof t}:function(t){return t instanceof k},Y\u003dfunction defineProperty(t,n,r){return t\u003d\u003d\u003dW\u0026\u0026Y(C,n,r),b(t),n\u003dS(n,!0),b(r),i(D,n)?(r.enumerable?(i(t,T)\u0026\u0026t[T][n]\u0026\u0026(t[T][n]\u003d!1),r\u003d_(r,{enumerable:w(0,!1)})):(i(t,T)||I(t,T,w(1,{})),t[T][n]\u003d!0),z(t,n,r)):I(t,n,r)},J\u003dfunction defineProperties(t,n){b(t);for(var r,e\u003dg(n\u003dx(n)),i\u003d0,o\u003de.length;o\u003ei;)Y(t,r\u003de[i++],n[r]);return t},H\u003dfunction create(t,n){return void 0\u003d\u003d\u003dn?_(t):J(_(t),n)},X\u003dfunction propertyIsEnumerable(t){var n\u003dL.call(this,t\u003dS(t,!0));return!(this\u003d\u003d\u003dW\u0026\u0026i(D,t)\u0026\u0026!i(C,t))\u0026\u0026(!(n||!i(this,t)||!i(D,t)||i(this,T)\u0026\u0026this[T][t])||n)},$\u003dfunction getOwnPropertyDescriptor(t,n){if(t\u003dx(t),n\u003dS(n,!0),t!\u003d\u003dW||!i(D,n)||i(C,n)){var r\u003dF(t,n);return!r||!i(D,n)||i(t,T)\u0026\u0026t[T][n]||(r.enumerable\u003d!0),r}},Z\u003dfunction getOwnPropertyNames(t){for(var n,r\u003dA(x(t)),e\u003d[],o\u003d0;r.length\u003eo;)i(D,n\u003dr[o++])||n\u003d\u003dT||n\u003d\u003da||e.push(n);return e},Q\u003dfunction getOwnPropertySymbols(t){for(var n,r\u003dt\u003d\u003d\u003dW,e\u003dA(r?C:x(t)),o\u003d[],u\u003d0;e.length\u003eu;)!i(D,n\u003de[u++])||r\u0026\u0026!i(W,n)||o.push(D[n]);return o};U||(k\u003dfunction Symbol(){if(this instanceof k)throw TypeError(\"Symbol is not a constructor!\");var t\u003dh(arguments.length\u003e0?arguments[0]:void 0),n\u003dfunction(r){this\u003d\u003d\u003dW\u0026\u0026n.call(C,r),i(this,T)\u0026\u0026i(this[T],t)\u0026\u0026(this[T][t]\u003d!1),z(this,t,w(1,r))};return o\u0026\u0026V\u0026\u0026z(W,t,{configurable:!0,set:n}),q(t)},c(k.prototype,\"toString\",function toString(){return this._k}),O.f\u003d$,P.f\u003dY,t(77).f\u003dE.f\u003dZ,t(82).f\u003dX,t(78).f\u003dQ,o\u0026\u0026!t(60)\u0026\u0026c(W,\"propertyIsEnumerable\",X,!0),p.f\u003dfunction(t){return q(v(t))}),u(u.G+u.W+u.F*!U,{Symbol:k});for(var tt\u003d\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),nt\u003d0;tt.length\u003ent;)v(tt[nt++]);for(var rt\u003dM(v.store),et\u003d0;rt.length\u003eet;)d(rt[et++]);u(u.S+u.F*!U,\"Symbol\",{for:function(t){return i(G,t+\u003d\"\")?G[t]:G[t]\u003dk(t)},keyFor:function keyFor(t){if(K(t))return y(G,t);throw TypeError(t+\" is not a symbol!\")},useSetter:function(){V\u003d!0},useSimple:function(){V\u003d!1}}),u(u.S+u.F*!U,\"Object\",{create:H,defineProperty:Y,defineProperties:J,getOwnPropertyDescriptor:$,getOwnPropertyNames:Z,getOwnPropertySymbols:Q}),N\u0026\u0026u(u.S+u.F*(!U||f(function(){var t\u003dk();return\"[null]\"!\u003dj([t])||\"{}\"!\u003dj({a:t})||\"{}\"!\u003dj(Object(t))})),\"JSON\",{stringify:function stringify(t){if(void 0!\u003d\u003dt\u0026\u0026!K(t)){for(var n,r,e\u003d[t],i\u003d1;arguments.length\u003ei;)e.push(arguments[i++]);return n\u003de[1],\"function\"\u003d\u003dtypeof n\u0026\u0026(r\u003dn),!r\u0026\u0026m(n)||(n\u003dfunction(t,n){if(r\u0026\u0026(n\u003dr.call(this,t,n)),!K(n))return n}),e[1]\u003dn,j.apply(N,e)}}}),k.prototype[R]||t(42)(k.prototype,R,k.prototype.valueOf),l(k,\"Symbol\"),l(Math,\"Math\",!0),l(e.JSON,\"JSON\",!0)},{101:101,103:103,117:117,120:120,124:124,126:126,127:127,128:128,29:29,32:32,33:33,35:35,40:40,41:41,42:42,49:49,59:59,60:60,66:66,7:7,71:71,72:72,75:75,76:76,77:77,78:78,81:81,82:82,92:92,94:94}],255:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(123),o\u003dt(122),u\u003dt(7),c\u003dt(114),a\u003dt(118),f\u003dt(51),s\u003dt(40).ArrayBuffer,l\u003dt(104),h\u003do.ArrayBuffer,v\u003do.DataView,p\u003di.ABV\u0026\u0026s.isView,d\u003dh.prototype.slice,y\u003di.VIEW;e(e.G+e.W+e.F*(s!\u003d\u003dh),{ArrayBuffer:h}),e(e.S+e.F*!i.CONSTR,\"ArrayBuffer\",{isView:function isView(t){return p\u0026\u0026p(t)||f(t)\u0026\u0026y in t}}),e(e.P+e.U+e.F*t(35)(function(){return!new h(2).slice(1,void 0).byteLength}),\"ArrayBuffer\",{slice:function slice(t,n){if(void 0!\u003d\u003dd\u0026\u0026void 0\u003d\u003d\u003dn)return d.call(u(this),t);for(var r\u003du(this).byteLength,e\u003dc(t,r),i\u003dc(void 0\u003d\u003d\u003dn?r:n,r),o\u003dnew(l(this,h))(a(i-e)),f\u003dnew v(this),s\u003dnew v(o),p\u003d0;e\u003ci;)s.setUint8(p++,f.getUint8(e++));return o}}),t(100)(\"ArrayBuffer\")},{100:100,104:104,114:114,118:118,122:122,123:123,33:33,35:35,40:40,51:51,7:7}],256:[function(t,n,r){var e\u003dt(33);e(e.G+e.W+e.F*!t(123).ABV,{DataView:t(122).DataView})},{122:122,123:123,33:33}],257:[function(t,n,r){t(121)(\"Float32\",4,function(t){return function Float32Array(n,r,e){return t(this,n,r,e)}})},{121:121}],258:[function(t,n,r){t(121)(\"Float64\",8,function(t){return function Float64Array(n,r,e){return t(this,n,r,e)}})},{121:121}],259:[function(t,n,r){t(121)(\"Int16\",2,function(t){return function Int16Array(n,r,e){return t(this,n,r,e)}})},{121:121}],260:[function(t,n,r){t(121)(\"Int32\",4,function(t){return function Int32Array(n,r,e){return t(this,n,r,e)}})},{121:121}],261:[function(t,n,r){t(121)(\"Int8\",1,function(t){return function Int8Array(n,r,e){return t(this,n,r,e)}})},{121:121}],262:[function(t,n,r){t(121)(\"Uint16\",2,function(t){return function Uint16Array(n,r,e){return t(this,n,r,e)}})},{121:121}],263:[function(t,n,r){t(121)(\"Uint32\",4,function(t){return function Uint32Array(n,r,e){return t(this,n,r,e)}})},{121:121}],264:[function(t,n,r){t(121)(\"Uint8\",1,function(t){return function Uint8Array(n,r,e){return t(this,n,r,e)}})},{121:121}],265:[function(t,n,r){t(121)(\"Uint8\",1,function(t){return function Uint8ClampedArray(n,r,e){return t(this,n,r,e)}},!0)},{121:121}],266:[function(t,n,r){\"use strict\";var e,i\u003dt(12)(0),o\u003dt(94),u\u003dt(66),c\u003dt(70),a\u003dt(21),f\u003dt(51),s\u003dt(35),l\u003dt(125),h\u003du.getWeak,v\u003dObject.isExtensible,p\u003da.ufstore,d\u003d{},y\u003dfunction(t){return function WeakMap(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},g\u003d{get:function get(t){if(f(t)){var n\u003dh(t);return!0\u003d\u003d\u003dn?p(l(this,\"WeakMap\")).get(t):n?n[this._i]:void 0}},set:function set(t,n){return a.def(l(this,\"WeakMap\"),t,n)}},m\u003dn.exports\u003dt(22)(\"WeakMap\",y,g,a,!0,!0);s(function(){return 7!\u003d(new m).set((Object.freeze||Object)(d),7).get(d)})\u0026\u0026(e\u003da.getConstructor(y,\"WeakMap\"),c(e.prototype,g),u.NEED\u003d!0,i([\"delete\",\"has\",\"get\",\"set\"],function(t){var n\u003dm.prototype,r\u003dn[t];o(n,t,function(n,i){if(f(n)\u0026\u0026!v(n)){this._f||(this._f\u003dnew e);var o\u003dthis._f[t](n,i);return\"set\"\u003d\u003dt?this:o}return r.call(this,n,i)})}))},{12:12,125:125,21:21,22:22,35:35,51:51,66:66,70:70,94:94}],267:[function(t,n,r){\"use strict\";var e\u003dt(21),i\u003dt(125);t(22)(\"WeakSet\",function(t){return function WeakSet(){return t(this,arguments.length\u003e0?arguments[0]:void 0)}},{add:function add(t){return e.def(i(this,\"WeakSet\"),t,!0)}},e,!1,!0)},{125:125,21:21,22:22}],268:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(38),o\u003dt(119),u\u003dt(118),c\u003dt(3),a\u003dt(15);e(e.P,\"Array\",{flatMap:function flatMap(t){var n,r,e\u003do(this);return c(t),n\u003du(e.length),r\u003da(e,0),i(r,e,e,n,0,1,t,arguments[1]),r}}),t(5)(\"flatMap\")},{118:118,119:119,15:15,3:3,33:33,38:38,5:5}],269:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(38),o\u003dt(119),u\u003dt(118),c\u003dt(116),a\u003dt(15);e(e.P,\"Array\",{flatten:function flatten(){var t\u003darguments[0],n\u003do(this),r\u003du(n.length),e\u003da(n,0);return i(e,n,n,r,0,void 0\u003d\u003d\u003dt?1:c(t)),e}}),t(5)(\"flatten\")},{116:116,118:118,119:119,15:15,33:33,38:38,5:5}],270:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(11)(!0);e(e.P,\"Array\",{includes:function includes(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0)}}),t(5)(\"includes\")},{11:11,33:33,5:5}],271:[function(t,n,r){var e\u003dt(33),i\u003dt(68)(),o\u003dt(40).process,u\u003d\"process\"\u003d\u003dt(18)(o);e(e.G,{asap:function asap(t){var n\u003du\u0026\u0026o.domain;i(n?n.bind(t):t)}})},{18:18,33:33,40:40,68:68}],272:[function(t,n,r){var e\u003dt(33),i\u003dt(18);e(e.S,\"Error\",{isError:function isError(t){return\"Error\"\u003d\u003d\u003di(t)}})},{18:18,33:33}],273:[function(t,n,r){var e\u003dt(33);e(e.G,{global:t(40)})},{33:33,40:40}],274:[function(t,n,r){t(97)(\"Map\")},{97:97}],275:[function(t,n,r){t(98)(\"Map\")},{98:98}],276:[function(t,n,r){var e\u003dt(33);e(e.P+e.R,\"Map\",{toJSON:t(20)(\"Map\")})},{20:20,33:33}],277:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{clamp:function clamp(t,n,r){return Math.min(r,Math.max(n,t))}})},{33:33}],278:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{DEG_PER_RAD:Math.PI/180})},{33:33}],279:[function(t,n,r){var e\u003dt(33),i\u003d180/Math.PI;e(e.S,\"Math\",{degrees:function degrees(t){return t*i}})},{33:33}],280:[function(t,n,r){var e\u003dt(33),i\u003dt(64),o\u003dt(62);e(e.S,\"Math\",{fscale:function fscale(t,n,r,e,u){return o(i(t,n,r,e,u))}})},{33:33,62:62,64:64}],281:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{iaddh:function iaddh(t,n,r,e){var i\u003dt\u003e\u003e\u003e0,o\u003dn\u003e\u003e\u003e0,u\u003dr\u003e\u003e\u003e0;return o+(e\u003e\u003e\u003e0)+((i\u0026u|(i|u)\u0026~(i+u\u003e\u003e\u003e0))\u003e\u003e\u003e31)|0}})},{33:33}],282:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{imulh:function imulh(t,n){var r\u003d+t,e\u003d+n,i\u003d65535\u0026r,o\u003d65535\u0026e,u\u003dr\u003e\u003e16,c\u003de\u003e\u003e16,a\u003d(u*o\u003e\u003e\u003e0)+(i*o\u003e\u003e\u003e16);return u*c+(a\u003e\u003e16)+((i*c\u003e\u003e\u003e0)+(65535\u0026a)\u003e\u003e16)}})},{33:33}],283:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{isubh:function isubh(t,n,r,e){var i\u003dt\u003e\u003e\u003e0,o\u003dn\u003e\u003e\u003e0,u\u003dr\u003e\u003e\u003e0;return o-(e\u003e\u003e\u003e0)-((~i\u0026u|~(i^u)\u0026i-u\u003e\u003e\u003e0)\u003e\u003e\u003e31)|0}})},{33:33}],284:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{RAD_PER_DEG:180/Math.PI})},{33:33}],285:[function(t,n,r){var e\u003dt(33),i\u003dMath.PI/180;e(e.S,\"Math\",{radians:function radians(t){return t*i}})},{33:33}],286:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{scale:t(64)})},{33:33,64:64}],287:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{signbit:function signbit(t){return(t\u003d+t)!\u003dt?t:0\u003d\u003dt?1/t\u003d\u003d1/0:t\u003e0}})},{33:33}],288:[function(t,n,r){var e\u003dt(33);e(e.S,\"Math\",{umulh:function umulh(t,n){var r\u003d+t,e\u003d+n,i\u003d65535\u0026r,o\u003d65535\u0026e,u\u003dr\u003e\u003e\u003e16,c\u003de\u003e\u003e\u003e16,a\u003d(u*o\u003e\u003e\u003e0)+(i*o\u003e\u003e\u003e16);return u*c+(a\u003e\u003e\u003e16)+((i*c\u003e\u003e\u003e0)+(65535\u0026a)\u003e\u003e\u003e16)}})},{33:33}],289:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(3),u\u003dt(72);t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__defineGetter__:function __defineGetter__(t,n){u.f(i(this),t,{get:o(n),enumerable:!0,configurable:!0})}})},{119:119,29:29,3:3,33:33,72:72,74:74}],290:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(3),u\u003dt(72);t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__defineSetter__:function __defineSetter__(t,n){u.f(i(this),t,{set:o(n),enumerable:!0,configurable:!0})}})},{119:119,29:29,3:3,33:33,72:72,74:74}],291:[function(t,n,r){var e\u003dt(33),i\u003dt(84)(!0);e(e.S,\"Object\",{entries:function entries(t){return i(t)}})},{33:33,84:84}],292:[function(t,n,r){var e\u003dt(33),i\u003dt(85),o\u003dt(117),u\u003dt(75),c\u003dt(24);e(e.S,\"Object\",{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(t){for(var n,r,e\u003do(t),a\u003du.f,f\u003di(e),s\u003d{},l\u003d0;f.length\u003el;)void 0!\u003d\u003d(r\u003da(e,n\u003df[l++]))\u0026\u0026c(s,n,r);return s}})},{117:117,24:24,33:33,75:75,85:85}],293:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(120),u\u003dt(79),c\u003dt(75).f;t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__lookupGetter__:function __lookupGetter__(t){var n,r\u003di(this),e\u003do(t,!0);do{if(n\u003dc(r,e))return n.get}while(r\u003du(r))}})},{119:119,120:120,29:29,33:33,74:74,75:75,79:79}],294:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(119),o\u003dt(120),u\u003dt(79),c\u003dt(75).f;t(29)\u0026\u0026e(e.P+t(74),\"Object\",{__lookupSetter__:function __lookupSetter__(t){var n,r\u003di(this),e\u003do(t,!0);do{if(n\u003dc(r,e))return n.set}while(r\u003du(r))}})},{119:119,120:120,29:29,33:33,74:74,75:75,79:79}],295:[function(t,n,r){var e\u003dt(33),i\u003dt(84)(!1);e(e.S,\"Object\",{values:function values(t){return i(t)}})},{33:33,84:84}],296:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(40),o\u003dt(23),u\u003dt(68)(),c\u003dt(128)(\"observable\"),a\u003dt(3),f\u003dt(7),s\u003dt(6),l\u003dt(93),h\u003dt(42),v\u003dt(39),p\u003dv.RETURN,d\u003dfunction(t){return null\u003d\u003dt?void 0:a(t)},y\u003dfunction(t){var n\u003dt._c;n\u0026\u0026(t._c\u003dvoid 0,n())},g\u003dfunction(t){return void 0\u003d\u003d\u003dt._o},m\u003dfunction(t){g(t)||(t._o\u003dvoid 0,y(t))},b\u003dfunction(t,n){f(t),this._c\u003dvoid 0,this._o\u003dt,t\u003dnew x(this);try{var r\u003dn(t),e\u003dr;null!\u003dr\u0026\u0026(\"function\"\u003d\u003dtypeof r.unsubscribe?r\u003dfunction(){e.unsubscribe()}:a(r),this._c\u003dr)}catch(n){return void t.error(n)}g(this)\u0026\u0026y(this)};b.prototype\u003dl({},{unsubscribe:function unsubscribe(){m(this)}});var x\u003dfunction(t){this._s\u003dt};x.prototype\u003dl({},{next:function next(t){var n\u003dthis._s;if(!g(n)){var r\u003dn._o;try{var e\u003dd(r.next);if(e)return e.call(r,t)}catch(t){try{m(n)}finally{throw t}}}},error:function error(t){var n\u003dthis._s;if(g(n))throw t;var r\u003dn._o;n._o\u003dvoid 0;try{var e\u003dd(r.error);if(!e)throw t;t\u003de.call(r,t)}catch(t){try{y(n)}finally{throw t}}return y(n),t},complete:function complete(t){var n\u003dthis._s;if(!g(n)){var r\u003dn._o;n._o\u003dvoid 0;try{var e\u003dd(r.complete);t\u003de?e.call(r,t):void 0}catch(t){try{y(n)}finally{throw t}}return y(n),t}}});var S\u003dfunction Observable(t){s(this,S,\"Observable\",\"_f\")._f\u003da(t)};l(S.prototype,{subscribe:function subscribe(t){return new b(t,this._f)},forEach:function forEach(t){var n\u003dthis;return new(o.Promise||i.Promise)(function(r,e){a(t);var i\u003dn.subscribe({next:function(n){try{return t(n)}catch(t){e(t),i.unsubscribe()}},error:e,complete:r})})}}),l(S,{from:function from(t){var n\u003d\"function\"\u003d\u003dtypeof this?this:S,r\u003dd(f(t)[c]);if(r){var e\u003df(r.call(t));return e.constructor\u003d\u003d\u003dn?e:new n(function(t){return e.subscribe(t)})}return new n(function(n){var r\u003d!1;return u(function(){if(!r){try{if(v(t,!1,function(t){if(n.next(t),r)return p})\u003d\u003d\u003dp)return}catch(t){if(r)throw t;return void n.error(t)}n.complete()}}),function(){r\u003d!0}})},of:function of(){for(var t\u003d0,n\u003darguments.length,r\u003dArray(n);t\u003cn;)r[t]\u003darguments[t++];return new(\"function\"\u003d\u003dtypeof this?this:S)(function(t){var n\u003d!1;return u(function(){if(!n){for(var e\u003d0;e\u003cr.length;++e)if(t.next(r[e]),n)return;t.complete()}}),function(){n\u003d!0}})}}),h(S.prototype,c,function(){return this}),e(e.G,{Observable:S}),t(100)(\"Observable\")},{100:100,128:128,23:23,3:3,33:33,39:39,40:40,42:42,6:6,68:68,7:7,93:93}],297:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(23),o\u003dt(40),u\u003dt(104),c\u003dt(91);e(e.P+e.R,\"Promise\",{finally:function(t){var n\u003du(this,i.Promise||o.Promise),r\u003d\"function\"\u003d\u003dtypeof t;return this.then(r?function(r){return c(n,t()).then(function(){return r})}:t,r?function(r){return c(n,t()).then(function(){throw r})}:t)}})},{104:104,23:23,33:33,40:40,91:91}],298:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(69),o\u003dt(90);e(e.S,\"Promise\",{try:function(t){var n\u003di.f(this),r\u003do(t);return(r.e?n.reject:n.resolve)(r.v),n.promise}})},{33:33,69:69,90:90}],299:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.key,u\u003de.set;e.exp({defineMetadata:function defineMetadata(t,n,r,e){u(t,n,i(r),o(e))}})},{67:67,7:7}],300:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.key,u\u003de.map,c\u003de.store;e.exp({deleteMetadata:function deleteMetadata(t,n){var r\u003darguments.length\u003c3?void 0:o(arguments[2]),e\u003du(i(n),r,!1);if(void 0\u003d\u003d\u003de||!e.delete(t))return!1;if(e.size)return!0;var a\u003dc.get(n);return a.delete(r),!!a.size||c.delete(n)}})},{67:67,7:7}],301:[function(t,n,r){var e\u003dt(231),i\u003dt(10),o\u003dt(67),u\u003dt(7),c\u003dt(79),a\u003do.keys,f\u003do.key,s\u003dfunction(t,n){var r\u003da(t,n),o\u003dc(t);if(null\u003d\u003d\u003do)return r;var u\u003ds(o,n);return u.length?r.length?i(new e(r.concat(u))):u:r};o.exp({getMetadataKeys:function getMetadataKeys(t){return s(u(t),arguments.length\u003c2?void 0:f(arguments[1]))}})},{10:10,231:231,67:67,7:7,79:79}],302:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003dt(79),u\u003de.has,c\u003de.get,a\u003de.key,f\u003dfunction(t,n,r){if(u(t,n,r))return c(t,n,r);var e\u003do(n);return null!\u003d\u003de?f(t,e,r):void 0};e.exp({getMetadata:function getMetadata(t,n){return f(t,i(n),arguments.length\u003c3?void 0:a(arguments[2]))}})},{67:67,7:7,79:79}],303:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.keys,u\u003de.key;e.exp({getOwnMetadataKeys:function getOwnMetadataKeys(t){return o(i(t),arguments.length\u003c2?void 0:u(arguments[1]))}})},{67:67,7:7}],304:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.get,u\u003de.key;e.exp({getOwnMetadata:function getOwnMetadata(t,n){return o(t,i(n),arguments.length\u003c3?void 0:u(arguments[2]))}})},{67:67,7:7}],305:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003dt(79),u\u003de.has,c\u003de.key,a\u003dfunction(t,n,r){if(u(t,n,r))return!0;var e\u003do(n);return null!\u003d\u003de\u0026\u0026a(t,e,r)};e.exp({hasMetadata:function hasMetadata(t,n){return a(t,i(n),arguments.length\u003c3?void 0:c(arguments[2]))}})},{67:67,7:7,79:79}],306:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003de.has,u\u003de.key;e.exp({hasOwnMetadata:function hasOwnMetadata(t,n){return o(t,i(n),arguments.length\u003c3?void 0:u(arguments[2]))}})},{67:67,7:7}],307:[function(t,n,r){var e\u003dt(67),i\u003dt(7),o\u003dt(3),u\u003de.key,c\u003de.set;e.exp({metadata:function metadata(t,n){return function decorator(r,e){c(t,n,(void 0!\u003d\u003de?i:o)(r),u(e))}}})},{3:3,67:67,7:7}],308:[function(t,n,r){t(97)(\"Set\")},{97:97}],309:[function(t,n,r){t(98)(\"Set\")},{98:98}],310:[function(t,n,r){var e\u003dt(33);e(e.P+e.R,\"Set\",{toJSON:t(20)(\"Set\")})},{20:20,33:33}],311:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(106)(!0);e(e.P,\"String\",{at:function at(t){return i(this,t)}})},{106:106,33:33}],312:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(28),o\u003dt(118),u\u003dt(52),c\u003dt(37),a\u003dRegExp.prototype,f\u003dfunction(t,n){this._r\u003dt,this._s\u003dn};t(54)(f,\"RegExp String\",function next(){var t\u003dthis._r.exec(this._s);return{value:t,done:null\u003d\u003d\u003dt}}),e(e.P,\"String\",{matchAll:function matchAll(t){if(i(this),!u(t))throw TypeError(t+\" is not a regexp!\");var n\u003dString(this),r\u003d\"flags\"in a?String(t.flags):c.call(t),e\u003dnew RegExp(t.source,~r.indexOf(\"g\")?r:\"g\"+r);return e.lastIndex\u003do(t.lastIndex),new f(e,n)}})},{118:118,28:28,33:33,37:37,52:52,54:54}],313:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(109);e(e.P,\"String\",{padEnd:function padEnd(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0,!1)}})},{109:109,33:33}],314:[function(t,n,r){\"use strict\";var e\u003dt(33),i\u003dt(109);e(e.P,\"String\",{padStart:function padStart(t){return i(this,t,arguments.length\u003e1?arguments[1]:void 0,!0)}})},{109:109,33:33}],315:[function(t,n,r){\"use strict\";t(111)(\"trimLeft\",function(t){return function trimLeft(){return t(this,1)}},\"trimStart\")},{111:111}],316:[function(t,n,r){\"use strict\";t(111)(\"trimRight\",function(t){return function trimRight(){return t(this,2)}},\"trimEnd\")},{111:111}],317:[function(t,n,r){t(126)(\"asyncIterator\")},{126:126}],318:[function(t,n,r){t(126)(\"observable\")},{126:126}],319:[function(t,n,r){var e\u003dt(33);e(e.S,\"System\",{global:t(40)})},{33:33,40:40}],320:[function(t,n,r){t(97)(\"WeakMap\")},{97:97}],321:[function(t,n,r){t(98)(\"WeakMap\")},{98:98}],322:[function(t,n,r){t(97)(\"WeakSet\")},{97:97}],323:[function(t,n,r){t(98)(\"WeakSet\")},{98:98}],324:[function(t,n,r){for(var e\u003dt(141),i\u003dt(81),o\u003dt(94),u\u003dt(40),c\u003dt(42),a\u003dt(58),f\u003dt(128),s\u003df(\"iterator\"),l\u003df(\"toStringTag\"),h\u003da.Array,v\u003d{CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p\u003di(v),d\u003d0;d\u003cp.length;d++){var y,g\u003dp[d],m\u003dv[g],b\u003du[g],x\u003db\u0026\u0026b.prototype;if(x\u0026\u0026(x[s]||c(x,s,h),x[l]||c(x,l,g),a[g]\u003dh,m))for(y in e)x[y]||o(x,y,e[y],!0)}},{128:128,141:141,40:40,42:42,58:58,81:81,94:94}],325:[function(t,n,r){var e\u003dt(33),i\u003dt(113);e(e.G+e.B,{setImmediate:i.set,clearImmediate:i.clear})},{113:113,33:33}],326:[function(t,n,r){var e\u003dt(40),i\u003dt(33),o\u003dt(46),u\u003dt(88),c\u003de.navigator,a\u003d!!c\u0026\u0026/MSIE .\\./.test(c.userAgent),f\u003dfunction(t){return a?function(n,r){return t(o(u,[].slice.call(arguments,2),\"function\"\u003d\u003dtypeof n?n:Function(n)),r)}:t};i(i.G+i.B+i.F*a,{setTimeout:f(e.setTimeout),setInterval:f(e.setInterval)})},{33:33,40:40,46:46,88:88}],327:[function(t,n,r){t(254),t(191),t(193),t(192),t(195),t(197),t(202),t(196),t(194),t(204),t(203),t(199),t(200),t(198),t(190),t(201),t(205),t(206),t(157),t(159),t(158),t(208),t(207),t(178),t(188),t(189),t(179),t(180),t(181),t(182),t(183),t(184),t(185),t(186),t(187),t(161),t(162),t(163),t(164),t(165),t(166),t(167),t(168),t(169),t(170),t(171),t(172),t(173),t(174),t(175),t(176),t(177),t(241),t(246),t(253),t(244),t(236),t(237),t(242),t(247),t(249),t(232),t(233),t(234),t(235),t(238),t(239),t(240),t(243),t(245),t(248),t(250),t(251),t(252),t(152),t(154),t(153),t(156),t(155),t(140),t(138),t(145),t(142),t(148),t(150),t(137),t(144),t(134),t(149),t(132),t(147),t(146),t(139),t(143),t(131),t(133),t(136),t(135),t(151),t(141),t(224),t(230),t(225),t(226),t(227),t(228),t(229),t(209),t(160),t(231),t(266),t(267),t(255),t(256),t(261),t(264),t(265),t(259),t(262),t(260),t(263),t(257),t(258),t(210),t(211),t(212),t(213),t(214),t(217),t(215),t(216),t(218),t(219),t(220),t(221),t(223),t(222),t(270),t(268),t(269),t(311),t(314),t(313),t(315),t(316),t(312),t(317),t(318),t(292),t(295),t(291),t(289),t(290),t(293),t(294),t(276),t(310),t(275),t(309),t(321),t(323),t(274),t(308),t(320),t(322),t(273),t(319),t(272),t(277),t(278),t(279),t(280),t(281),t(283),t(282),t(284),t(285),t(286),t(288),t(287),t(297),t(298),t(299),t(300),t(302),t(301),t(304),t(303),t(305),t(306),t(307),t(271),t(296),t(326),t(325),t(324),n.exports\u003dt(23)},{131:131,132:132,133:133,134:134,135:135,136:136,137:137,138:138,139:139,140:140,141:141,142:142,143:143,144:144,145:145,146:146,147:147,148:148,149:149,150:150,151:151,152:152,153:153,154:154,155:155,156:156,157:157,158:158,159:159,160:160,161:161,162:162,163:163,164:164,165:165,166:166,167:167,168:168,169:169,170:170,171:171,172:172,173:173,174:174,175:175,176:176,177:177,178:178,179:179,180:180,181:181,182:182,183:183,184:184,185:185,"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"186:186,187:187,188:188,189:189,190:190,191:191,192:192,193:193,194:194,195:195,196:196,197:197,198:198,199:199,200:200,201:201,202:202,203:203,204:204,205:205,206:206,207:207,208:208,209:209,210:210,211:211,212:212,213:213,214:214,215:215,216:216,217:217,218:218,219:219,220:220,221:221,222:222,223:223,224:224,225:225,226:226,227:227,228:228,229:229,23:23,230:230,231:231,232:232,233:233,234:234,235:235,236:236,237:237,238:238,239:239,240:240,241:241,242:242,243:243,244:244,245:245,246:246,247:247,248:248,249:249,250:250,251:251,252:252,253:253,254:254,255:255,256:256,257:257,258:258,259:259,260:260,261:261,262:262,263:263,264:264,265:265,266:266,267:267,268:268,269:269,270:270,271:271,272:272,273:273,274:274,275:275,276:276,277:277,278:278,279:279,280:280,281:281,282:282,283:283,284:284,285:285,286:286,287:287,288:288,289:289,290:290,291:291,292:292,293:293,294:294,295:295,296:296,297:297,298:298,299:299,300:300,301:301,302:302,303:303,304:304,305:305,306:306,307:307,308:308,309:309,310:310,311:311,312:312,313:313,314:314,315:315,316:316,317:317,318:318,319:319,320:320,321:321,322:322,323:323,324:324,325:325,326:326}],328:[function(t,n,r){(function(t){!function(t){\"use strict\";function wrap(t,n,r,e){var i\u003dn\u0026\u0026n.prototype instanceof Generator?n:Generator,o\u003dObject.create(i.prototype),u\u003dnew Context(e||[]);return o._invoke\u003dmakeInvokeMethod(t,r,u),o}function tryCatch(t,n,r){try{return{type:\"normal\",arg:t.call(n,r)}}catch(t){return{type:\"throw\",arg:t}}}function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}function defineIteratorMethods(t){[\"next\",\"throw\",\"return\"].forEach(function(n){t[n]\u003dfunction(t){return this._invoke(n,t)}})}function AsyncIterator(n){function invoke(t,r,e,o){var u\u003dtryCatch(n[t],n,r);if(\"throw\"!\u003d\u003du.type){var c\u003du.arg,a\u003dc.value;return a\u0026\u0026\"object\"\u003d\u003dtypeof a\u0026\u0026i.call(a,\"__await\")?Promise.resolve(a.__await).then(function(t){invoke(\"next\",t,e,o)},function(t){invoke(\"throw\",t,e,o)}):Promise.resolve(a).then(function(t){c.value\u003dt,e(c)},o)}o(u.arg)}function enqueue(t,n){function callInvokeWithMethodAndArg(){return new Promise(function(r,e){invoke(t,n,r,e)})}return r\u003dr?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}\"object\"\u003d\u003dtypeof t.process\u0026\u0026t.process.domain\u0026\u0026(invoke\u003dt.process.domain.bind(invoke));var r;this._invoke\u003denqueue}function makeInvokeMethod(t,n,r){var e\u003dl;return function invoke(i,o){if(e\u003d\u003d\u003dv)throw new Error(\"Generator is already running\");if(e\u003d\u003d\u003dp){if(\"throw\"\u003d\u003d\u003di)throw o;return doneResult()}for(r.method\u003di,r.arg\u003do;;){var u\u003dr.delegate;if(u){var c\u003dmaybeInvokeDelegate(u,r);if(c){if(c\u003d\u003d\u003dd)continue;return c}}if(\"next\"\u003d\u003d\u003dr.method)r.sent\u003dr._sent\u003dr.arg;else if(\"throw\"\u003d\u003d\u003dr.method){if(e\u003d\u003d\u003dl)throw e\u003dp,r.arg;r.dispatchException(r.arg)}else\"return\"\u003d\u003d\u003dr.method\u0026\u0026r.abrupt(\"return\",r.arg);e\u003dv;var a\u003dtryCatch(t,n,r);if(\"normal\"\u003d\u003d\u003da.type){if(e\u003dr.done?p:h,a.arg\u003d\u003d\u003dd)continue;return{value:a.arg,done:r.done}}\"throw\"\u003d\u003d\u003da.type\u0026\u0026(e\u003dp,r.method\u003d\"throw\",r.arg\u003da.arg)}}}function maybeInvokeDelegate(t,n){var e\u003dt.iterator[n.method];if(e\u003d\u003d\u003dr){if(n.delegate\u003dnull,\"throw\"\u003d\u003d\u003dn.method){if(t.iterator.return\u0026\u0026(n.method\u003d\"return\",n.arg\u003dr,maybeInvokeDelegate(t,n),\"throw\"\u003d\u003d\u003dn.method))return d;n.method\u003d\"throw\",n.arg\u003dnew TypeError(\"The iterator does not provide a \u0027throw\u0027 method\")}return d}var i\u003dtryCatch(e,t.iterator,n.arg);if(\"throw\"\u003d\u003d\u003di.type)return n.method\u003d\"throw\",n.arg\u003di.arg,n.delegate\u003dnull,d;var o\u003di.arg;return o?o.done?(n[t.resultName]\u003do.value,n.next\u003dt.nextLoc,\"return\"!\u003d\u003dn.method\u0026\u0026(n.method\u003d\"next\",n.arg\u003dr),n.delegate\u003dnull,d):o:(n.method\u003d\"throw\",n.arg\u003dnew TypeError(\"iterator result is not an object\"),n.delegate\u003dnull,d)}function pushTryEntry(t){var n\u003d{tryLoc:t[0]};1 in t\u0026\u0026(n.catchLoc\u003dt[1]),2 in t\u0026\u0026(n.finallyLoc\u003dt[2],n.afterLoc\u003dt[3]),this.tryEntries.push(n)}function resetTryEntry(t){var n\u003dt.completion||{};n.type\u003d\"normal\",delete n.arg,t.completion\u003dn}function Context(t){this.tryEntries\u003d[{tryLoc:\"root\"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(t){if(t){var n\u003dt[u];if(n)return n.call(t);if(\"function\"\u003d\u003dtypeof t.next)return t;if(!isNaN(t.length)){var e\u003d-1,o\u003dfunction next(){for(;++e\u003ct.length;)if(i.call(t,e))return next.value\u003dt[e],next.done\u003d!1,next;return next.value\u003dr,next.done\u003d!0,next};return o.next\u003do}}return{next:doneResult}}function doneResult(){return{value:r,done:!0}}var r,e\u003dObject.prototype,i\u003de.hasOwnProperty,o\u003d\"function\"\u003d\u003dtypeof Symbol?Symbol:{},u\u003do.iterator||\"@@iterator\",c\u003do.asyncIterator||\"@@asyncIterator\",a\u003do.toStringTag||\"@@toStringTag\",f\u003d\"object\"\u003d\u003dtypeof n,s\u003dt.regeneratorRuntime;if(s)return void(f\u0026\u0026(n.exports\u003ds));s\u003dt.regeneratorRuntime\u003df?n.exports:{},s.wrap\u003dwrap;var l\u003d\"suspendedStart\",h\u003d\"suspendedYield\",v\u003d\"executing\",p\u003d\"completed\",d\u003d{},y\u003d{};y[u]\u003dfunction(){return this};var g\u003dObject.getPrototypeOf,m\u003dg\u0026\u0026g(g(values([])));m\u0026\u0026m!\u003d\u003de\u0026\u0026i.call(m,u)\u0026\u0026(y\u003dm);var b\u003dGeneratorFunctionPrototype.prototype\u003dGenerator.prototype\u003dObject.create(y);GeneratorFunction.prototype\u003db.constructor\u003dGeneratorFunctionPrototype,GeneratorFunctionPrototype.constructor\u003dGeneratorFunction,GeneratorFunctionPrototype[a]\u003dGeneratorFunction.displayName\u003d\"GeneratorFunction\",s.isGeneratorFunction\u003dfunction(t){var n\u003d\"function\"\u003d\u003dtypeof t\u0026\u0026t.constructor;return!!n\u0026\u0026(n\u003d\u003d\u003dGeneratorFunction||\"GeneratorFunction\"\u003d\u003d\u003d(n.displayName||n.name))},s.mark\u003dfunction(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__\u003dGeneratorFunctionPrototype,a in t||(t[a]\u003d\"GeneratorFunction\")),t.prototype\u003dObject.create(b),t},s.awrap\u003dfunction(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),AsyncIterator.prototype[c]\u003dfunction(){return this},s.AsyncIterator\u003dAsyncIterator,s.async\u003dfunction(t,n,r,e){var i\u003dnew AsyncIterator(wrap(t,n,r,e));return s.isGeneratorFunction(n)?i:i.next().then(function(t){return t.done?t.value:i.next()})},defineIteratorMethods(b),b[a]\u003d\"Generator\",b[u]\u003dfunction(){return this},b.toString\u003dfunction(){return\"[object Generator]\"},s.keys\u003dfunction(t){var n\u003d[];for(var r in t)n.push(r);return n.reverse(),function next(){for(;n.length;){var r\u003dn.pop();if(r in t)return next.value\u003dr,next.done\u003d!1,next}return next.done\u003d!0,next}},s.values\u003dvalues,Context.prototype\u003d{constructor:Context,reset:function(t){if(this.prev\u003d0,this.next\u003d0,this.sent\u003dthis._sent\u003dr,this.done\u003d!1,this.delegate\u003dnull,this.method\u003d\"next\",this.arg\u003dr,this.tryEntries.forEach(resetTryEntry),!t)for(var n in this)\"t\"\u003d\u003d\u003dn.charAt(0)\u0026\u0026i.call(this,n)\u0026\u0026!isNaN(+n.slice(1))\u0026\u0026(this[n]\u003dr)},stop:function(){this.done\u003d!0;var t\u003dthis.tryEntries[0],n\u003dt.completion;if(\"throw\"\u003d\u003d\u003dn.type)throw n.arg;return this.rval},dispatchException:function(t){function handle(e,i){return u.type\u003d\"throw\",u.arg\u003dt,n.next\u003de,i\u0026\u0026(n.method\u003d\"next\",n.arg\u003dr),!!i}if(this.done)throw t;for(var n\u003dthis,e\u003dthis.tryEntries.length-1;e\u003e\u003d0;--e){var o\u003dthis.tryEntries[e],u\u003do.completion;if(\"root\"\u003d\u003d\u003do.tryLoc)return handle(\"end\");if(o.tryLoc\u003c\u003dthis.prev){var c\u003di.call(o,\"catchLoc\"),a\u003di.call(o,\"finallyLoc\");if(c\u0026\u0026a){if(this.prev\u003co.catchLoc)return handle(o.catchLoc,!0);if(this.prev\u003co.finallyLoc)return handle(o.finallyLoc)}else if(c){if(this.prev\u003co.catchLoc)return handle(o.catchLoc,!0)}else{if(!a)throw new Error(\"try statement without catch or finally\");if(this.prev\u003co.finallyLoc)return handle(o.finallyLoc)}}}},abrupt:function(t,n){for(var r\u003dthis.tryEntries.length-1;r\u003e\u003d0;--r){var e\u003dthis.tryEntries[r];if(e.tryLoc\u003c\u003dthis.prev\u0026\u0026i.call(e,\"finallyLoc\")\u0026\u0026this.prev\u003ce.finallyLoc){var o\u003de;break}}o\u0026\u0026(\"break\"\u003d\u003d\u003dt||\"continue\"\u003d\u003d\u003dt)\u0026\u0026o.tryLoc\u003c\u003dn\u0026\u0026n\u003c\u003do.finallyLoc\u0026\u0026(o\u003dnull);var u\u003do?o.completion:{};return u.type\u003dt,u.arg\u003dn,o?(this.method\u003d\"next\",this.next\u003do.finallyLoc,d):this.complete(u)},complete:function(t,n){if(\"throw\"\u003d\u003d\u003dt.type)throw t.arg;return\"break\"\u003d\u003d\u003dt.type||\"continue\"\u003d\u003d\u003dt.type?this.next\u003dt.arg:\"return\"\u003d\u003d\u003dt.type?(this.rval\u003dthis.arg\u003dt.arg,this.method\u003d\"return\",this.next\u003d\"end\"):\"normal\"\u003d\u003d\u003dt.type\u0026\u0026n\u0026\u0026(this.next\u003dn),d},finish:function(t){for(var n\u003dthis.tryEntries.length-1;n\u003e\u003d0;--n){var r\u003dthis.tryEntries[n];if(r.finallyLoc\u003d\u003d\u003dt)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),d}},catch:function(t){for(var n\u003dthis.tryEntries.length-1;n\u003e\u003d0;--n){var r\u003dthis.tryEntries[n];if(r.tryLoc\u003d\u003d\u003dt){var e\u003dr.completion;if(\"throw\"\u003d\u003d\u003de.type){var i\u003de.arg;resetTryEntry(r)}return i}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,n,e){return this.delegate\u003d{iterator:values(t),resultName:n,nextLoc:e},\"next\"\u003d\u003d\u003dthis.method\u0026\u0026(this.arg\u003dr),d}}}(\"object\"\u003d\u003dtypeof t?t:\"object\"\u003d\u003dtypeof window?window:\"object\"\u003d\u003dtypeof self?self:this)}).call(this,\"undefined\"!\u003dtypeof global?global:\"undefined\"!\u003dtypeof self?self:\"undefined\"!\u003dtypeof window?window:{})},{}]},{},[1]);"}],"authorContributionMap":{"KevinEyo1":4}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/js/vue.min.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"/*!"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" * Vue.js v2.6.14"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" * (c) 2014-2021 Evan You"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" * Released under the MIT License."},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" */"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"!function(e,t){\"object\"\u003d\u003dtypeof exports\u0026\u0026\"undefined\"!\u003dtypeof module?module.exports\u003dt():\"function\"\u003d\u003dtypeof define\u0026\u0026define.amd?define(t):(e\u003de||self).Vue\u003dt()}(this,function(){\"use strict\";var e\u003dObject.freeze({});function t(e){return null\u003d\u003de}function n(e){return null!\u003de}function r(e){return!0\u003d\u003d\u003de}function i(e){return\"string\"\u003d\u003dtypeof e||\"number\"\u003d\u003dtypeof e||\"symbol\"\u003d\u003dtypeof e||\"boolean\"\u003d\u003dtypeof e}function o(e){return null!\u003d\u003de\u0026\u0026\"object\"\u003d\u003dtypeof e}var a\u003dObject.prototype.toString;function s(e){return\"[object Object]\"\u003d\u003d\u003da.call(e)}function c(e){var t\u003dparseFloat(String(e));return t\u003e\u003d0\u0026\u0026Math.floor(t)\u003d\u003d\u003dt\u0026\u0026isFinite(e)}function u(e){return n(e)\u0026\u0026\"function\"\u003d\u003dtypeof e.then\u0026\u0026\"function\"\u003d\u003dtypeof e.catch}function l(e){return null\u003d\u003de?\"\":Array.isArray(e)||s(e)\u0026\u0026e.toString\u003d\u003d\u003da?JSON.stringify(e,null,2):String(e)}function f(e){var t\u003dparseFloat(e);return isNaN(t)?e:t}function p(e,t){for(var n\u003dObject.create(null),r\u003de.split(\",\"),i\u003d0;i\u003cr.length;i++)n[r[i]]\u003d!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}var d\u003dp(\"slot,component\",!0),v\u003dp(\"key,ref,slot,slot-scope,is\");function h(e,t){if(e.length){var n\u003de.indexOf(t);if(n\u003e-1)return e.splice(n,1)}}var m\u003dObject.prototype.hasOwnProperty;function y(e,t){return m.call(e,t)}function g(e){var t\u003dObject.create(null);return function(n){return t[n]||(t[n]\u003de(n))}}var _\u003d/-(\\w)/g,b\u003dg(function(e){return e.replace(_,function(e,t){return t?t.toUpperCase():\"\"})}),$\u003dg(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),w\u003d/\\B([A-Z])/g,C\u003dg(function(e){return e.replace(w,\"-$1\").toLowerCase()});var x\u003dFunction.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r\u003darguments.length;return r?r\u003e1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length\u003de.length,n};function k(e,t){t\u003dt||0;for(var n\u003de.length-t,r\u003dnew Array(n);n--;)r[n]\u003de[n+t];return r}function A(e,t){for(var n in t)e[n]\u003dt[n];return e}function O(e){for(var t\u003d{},n\u003d0;n\u003ce.length;n++)e[n]\u0026\u0026A(t,e[n]);return t}function S(e,t,n){}var T\u003dfunction(e,t,n){return!1},N\u003dfunction(e){return e};function E(e,t){if(e\u003d\u003d\u003dt)return!0;var n\u003do(e),r\u003do(t);if(!n||!r)return!n\u0026\u0026!r\u0026\u0026String(e)\u003d\u003d\u003dString(t);try{var i\u003dArray.isArray(e),a\u003dArray.isArray(t);if(i\u0026\u0026a)return e.length\u003d\u003d\u003dt.length\u0026\u0026e.every(function(e,n){return E(e,t[n])});if(e instanceof Date\u0026\u0026t instanceof Date)return e.getTime()\u003d\u003d\u003dt.getTime();if(i||a)return!1;var s\u003dObject.keys(e),c\u003dObject.keys(t);return s.length\u003d\u003d\u003dc.length\u0026\u0026s.every(function(n){return E(e[n],t[n])})}catch(e){return!1}}function j(e,t){for(var n\u003d0;n\u003ce.length;n++)if(E(e[n],t))return n;return-1}function D(e){var t\u003d!1;return function(){t||(t\u003d!0,e.apply(this,arguments))}}var L\u003d\"data-server-rendered\",I\u003d[\"component\",\"directive\",\"filter\"],M\u003d[\"beforeCreate\",\"created\",\"beforeMount\",\"mounted\",\"beforeUpdate\",\"updated\",\"beforeDestroy\",\"destroyed\",\"activated\",\"deactivated\",\"errorCaptured\",\"serverPrefetch\"],F\u003d{optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:T,isReservedAttr:T,isUnknownElement:T,getTagNamespace:S,parsePlatformTagName:N,mustUseProp:T,async:!0,_lifecycleHooks:M},P\u003d/a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;function R(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var H\u003dnew RegExp(\"[^\"+P.source+\".$_\\\\d]\");var B,U\u003d\"__proto__\"in{},V\u003d\"undefined\"!\u003dtypeof window,z\u003d\"undefined\"!\u003dtypeof WXEnvironment\u0026\u0026!!WXEnvironment.platform,K\u003dz\u0026\u0026WXEnvironment.platform.toLowerCase(),J\u003dV\u0026\u0026window.navigator.userAgent.toLowerCase(),q\u003dJ\u0026\u0026/msie|trident/.test(J),W\u003dJ\u0026\u0026J.indexOf(\"msie 9.0\")\u003e0,Z\u003dJ\u0026\u0026J.indexOf(\"edge/\")\u003e0,G\u003d(J\u0026\u0026J.indexOf(\"android\"),J\u0026\u0026/iphone|ipad|ipod|ios/.test(J)||\"ios\"\u003d\u003d\u003dK),X\u003d(J\u0026\u0026/chrome\\/\\d+/.test(J),J\u0026\u0026/phantomjs/.test(J),J\u0026\u0026J.match(/firefox\\/(\\d+)/)),Y\u003d{}.watch,Q\u003d!1;if(V)try{var ee\u003d{};Object.defineProperty(ee,\"passive\",{get:function(){Q\u003d!0}}),window.addEventListener(\"test-passive\",null,ee)}catch(e){}var te\u003dfunction(){return void 0\u003d\u003d\u003dB\u0026\u0026(B\u003d!V\u0026\u0026!z\u0026\u0026\"undefined\"!\u003dtypeof global\u0026\u0026(global.process\u0026\u0026\"server\"\u003d\u003d\u003dglobal.process.env.VUE_ENV)),B},ne\u003dV\u0026\u0026window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function re(e){return\"function\"\u003d\u003dtypeof e\u0026\u0026/native code/.test(e.toString())}var ie,oe\u003d\"undefined\"!\u003dtypeof Symbol\u0026\u0026re(Symbol)\u0026\u0026\"undefined\"!\u003dtypeof Reflect\u0026\u0026re(Reflect.ownKeys);ie\u003d\"undefined\"!\u003dtypeof Set\u0026\u0026re(Set)?Set:function(){function e(){this.set\u003dObject.create(null)}return e.prototype.has\u003dfunction(e){return!0\u003d\u003d\u003dthis.set[e]},e.prototype.add\u003dfunction(e){this.set[e]\u003d!0},e.prototype.clear\u003dfunction(){this.set\u003dObject.create(null)},e}();var ae\u003dS,se\u003d0,ce\u003dfunction(){this.id\u003dse++,this.subs\u003d[]};ce.prototype.addSub\u003dfunction(e){this.subs.push(e)},ce.prototype.removeSub\u003dfunction(e){h(this.subs,e)},ce.prototype.depend\u003dfunction(){ce.target\u0026\u0026ce.target.addDep(this)},ce.prototype.notify\u003dfunction(){for(var e\u003dthis.subs.slice(),t\u003d0,n\u003de.length;t\u003cn;t++)e[t].update()},ce.target\u003dnull;var ue\u003d[];function le(e){ue.push(e),ce.target\u003de}function fe(){ue.pop(),ce.target\u003due[ue.length-1]}var pe\u003dfunction(e,t,n,r,i,o,a,s){this.tag\u003de,this.data\u003dt,this.children\u003dn,this.text\u003dr,this.elm\u003di,this.ns\u003dvoid 0,this.context\u003do,this.fnContext\u003dvoid 0,this.fnOptions\u003dvoid 0,this.fnScopeId\u003dvoid 0,this.key\u003dt\u0026\u0026t.key,this.componentOptions\u003da,this.componentInstance\u003dvoid 0,this.parent\u003dvoid 0,this.raw\u003d!1,this.isStatic\u003d!1,this.isRootInsert\u003d!0,this.isComment\u003d!1,this.isCloned\u003d!1,this.isOnce\u003d!1,this.asyncFactory\u003ds,this.asyncMeta\u003dvoid 0,this.isAsyncPlaceholder\u003d!1},de\u003d{child:{configurable:!0}};de.child.get\u003dfunction(){return this.componentInstance},Object.defineProperties(pe.prototype,de);var ve\u003dfunction(e){void 0\u003d\u003d\u003de\u0026\u0026(e\u003d\"\");var t\u003dnew pe;return t.text\u003de,t.isComment\u003d!0,t};function he(e){return new pe(void 0,void 0,void 0,String(e))}function me(e){var t\u003dnew pe(e.tag,e.data,e.children\u0026\u0026e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns\u003de.ns,t.isStatic\u003de.isStatic,t.key\u003de.key,t.isComment\u003de.isComment,t.fnContext\u003de.fnContext,t.fnOptions\u003de.fnOptions,t.fnScopeId\u003de.fnScopeId,t.asyncMeta\u003de.asyncMeta,t.isCloned\u003d!0,t}var ye\u003dArray.prototype,ge\u003dObject.create(ye);[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\",\"sort\",\"reverse\"].forEach(function(e){var t\u003dye[e];R(ge,e,function(){for(var n\u003d[],r\u003darguments.length;r--;)n[r]\u003darguments[r];var i,o\u003dt.apply(this,n),a\u003dthis.__ob__;switch(e){case\"push\":case\"unshift\":i\u003dn;break;case\"splice\":i\u003dn.slice(2)}return i\u0026\u0026a.observeArray(i),a.dep.notify(),o})});var _e\u003dObject.getOwnPropertyNames(ge),be\u003d!0;function $e(e){be\u003de}var we\u003dfunction(e){var t;this.value\u003de,this.dep\u003dnew ce,this.vmCount\u003d0,R(e,\"__ob__\",this),Array.isArray(e)?(U?(t\u003dge,e.__proto__\u003dt):function(e,t,n){for(var r\u003d0,i\u003dn.length;r\u003ci;r++){var o\u003dn[r];R(e,o,t[o])}}(e,ge,_e),this.observeArray(e)):this.walk(e)};function Ce(e,t){var n;if(o(e)\u0026\u0026!(e instanceof pe))return y(e,\"__ob__\")\u0026\u0026e.__ob__ instanceof we?n\u003de.__ob__:be\u0026\u0026!te()\u0026\u0026(Array.isArray(e)||s(e))\u0026\u0026Object.isExtensible(e)\u0026\u0026!e._isVue\u0026\u0026(n\u003dnew we(e)),t\u0026\u0026n\u0026\u0026n.vmCount++,n}function xe(e,t,n,r,i){var o\u003dnew ce,a\u003dObject.getOwnPropertyDescriptor(e,t);if(!a||!1!\u003d\u003da.configurable){var s\u003da\u0026\u0026a.get,c\u003da\u0026\u0026a.set;s\u0026\u0026!c||2!\u003d\u003darguments.length||(n\u003de[t]);var u\u003d!i\u0026\u0026Ce(n);Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var t\u003ds?s.call(e):n;return ce.target\u0026\u0026(o.depend(),u\u0026\u0026(u.dep.depend(),Array.isArray(t)\u0026\u0026function e(t){for(var n\u003dvoid 0,r\u003d0,i\u003dt.length;r\u003ci;r++)(n\u003dt[r])\u0026\u0026n.__ob__\u0026\u0026n.__ob__.dep.depend(),Array.isArray(n)\u0026\u0026e(n)}(t))),t},set:function(t){var r\u003ds?s.call(e):n;t\u003d\u003d\u003dr||t!\u003dt\u0026\u0026r!\u003dr||s\u0026\u0026!c||(c?c.call(e,t):n\u003dt,u\u003d!i\u0026\u0026Ce(t),o.notify())}})}}function ke(e,t,n){if(Array.isArray(e)\u0026\u0026c(t))return e.length\u003dMath.max(e.length,t),e.splice(t,1,n),n;if(t in e\u0026\u0026!(t in Object.prototype))return e[t]\u003dn,n;var r\u003de.__ob__;return e._isVue||r\u0026\u0026r.vmCount?n:r?(xe(r.value,t,n),r.dep.notify(),n):(e[t]\u003dn,n)}function Ae(e,t){if(Array.isArray(e)\u0026\u0026c(t))e.splice(t,1);else{var n\u003de.__ob__;e._isVue||n\u0026\u0026n.vmCount||y(e,t)\u0026\u0026(delete e[t],n\u0026\u0026n.dep.notify())}}we.prototype.walk\u003dfunction(e){for(var t\u003dObject.keys(e),n\u003d0;n\u003ct.length;n++)xe(e,t[n])},we.prototype.observeArray\u003dfunction(e){for(var t\u003d0,n\u003de.length;t\u003cn;t++)Ce(e[t])};var Oe\u003dF.optionMergeStrategies;function Se(e,t){if(!t)return e;for(var n,r,i,o\u003doe?Reflect.ownKeys(t):Object.keys(t),a\u003d0;a\u003co.length;a++)\"__ob__\"!\u003d\u003d(n\u003do[a])\u0026\u0026(r\u003de[n],i\u003dt[n],y(e,n)?r!\u003d\u003di\u0026\u0026s(r)\u0026\u0026s(i)\u0026\u0026Se(r,i):ke(e,n,i));return e}function Te(e,t,n){return n?function(){var r\u003d\"function\"\u003d\u003dtypeof t?t.call(n,n):t,i\u003d\"function\"\u003d\u003dtypeof e?e.call(n,n):e;return r?Se(r,i):i}:t?e?function(){return Se(\"function\"\u003d\u003dtypeof t?t.call(this,this):t,\"function\"\u003d\u003dtypeof e?e.call(this,this):e)}:t:e}function Ne(e,t){var n\u003dt?e?e.concat(t):Array.isArray(t)?t:[t]:e;return n?function(e){for(var t\u003d[],n\u003d0;n\u003ce.length;n++)-1\u003d\u003d\u003dt.indexOf(e[n])\u0026\u0026t.push(e[n]);return t}(n):n}function Ee(e,t,n,r){var i\u003dObject.create(e||null);return t?A(i,t):i}Oe.data\u003dfunction(e,t,n){return n?Te(e,t,n):t\u0026\u0026\"function\"!\u003dtypeof t?e:Te(e,t)},M.forEach(function(e){Oe[e]\u003dNe}),I.forEach(function(e){Oe[e+\"s\"]\u003dEe}),Oe.watch\u003dfunction(e,t,n,r){if(e\u003d\u003d\u003dY\u0026\u0026(e\u003dvoid 0),t\u003d\u003d\u003dY\u0026\u0026(t\u003dvoid 0),!t)return Object.create(e||null);if(!e)return t;var i\u003d{};for(var o in A(i,e),t){var a\u003di[o],s\u003dt[o];a\u0026\u0026!Array.isArray(a)\u0026\u0026(a\u003d[a]),i[o]\u003da?a.concat(s):Array.isArray(s)?s:[s]}return i},Oe.props\u003dOe.methods\u003dOe.inject\u003dOe.computed\u003dfunction(e,t,n,r){if(!e)return t;var i\u003dObject.create(null);return A(i,e),t\u0026\u0026A(i,t),i},Oe.provide\u003dTe;var je\u003dfunction(e,t){return void 0\u003d\u003d\u003dt?e:t};function De(e,t,n){if(\"function\"\u003d\u003dtypeof t\u0026\u0026(t\u003dt.options),function(e,t){var n\u003de.props;if(n){var r,i,o\u003d{};if(Array.isArray(n))for(r\u003dn.length;r--;)\"string\"\u003d\u003dtypeof(i\u003dn[r])\u0026\u0026(o[b(i)]\u003d{type:null});else if(s(n))for(var a in n)i\u003dn[a],o[b(a)]\u003ds(i)?i:{type:i};e.props\u003do}}(t),function(e,t){var n\u003de.inject;if(n){var r\u003de.inject\u003d{};if(Array.isArray(n))for(var i\u003d0;i\u003cn.length;i++)r[n[i]]\u003d{from:n[i]};else if(s(n))for(var o in n){var a\u003dn[o];r[o]\u003ds(a)?A({from:o},a):{from:a}}}}(t),function(e){var t\u003de.directives;if(t)for(var n in t){var r\u003dt[n];\"function\"\u003d\u003dtypeof r\u0026\u0026(t[n]\u003d{bind:r,update:r})}}(t),!t._base\u0026\u0026(t.extends\u0026\u0026(e\u003dDe(e,t.extends,n)),t.mixins))for(var r\u003d0,i\u003dt.mixins.length;r\u003ci;r++)e\u003dDe(e,t.mixins[r],n);var o,a\u003d{};for(o in e)c(o);for(o in t)y(e,o)||c(o);function c(r){var i\u003dOe[r]||je;a[r]\u003di(e[r],t[r],n,r)}return a}function Le(e,t,n,r){if(\"string\"\u003d\u003dtypeof n){var i\u003de[t];if(y(i,n))return i[n];var o\u003db(n);if(y(i,o))return i[o];var a\u003d$(o);return y(i,a)?i[a]:i[n]||i[o]||i[a]}}function Ie(e,t,n,r){var i\u003dt[e],o\u003d!y(n,e),a\u003dn[e],s\u003dRe(Boolean,i.type);if(s\u003e-1)if(o\u0026\u0026!y(i,\"default\"))a\u003d!1;else if(\"\"\u003d\u003d\u003da||a\u003d\u003d\u003dC(e)){var c\u003dRe(String,i.type);(c\u003c0||s\u003cc)\u0026\u0026(a\u003d!0)}if(void 0\u003d\u003d\u003da){a\u003dfunction(e,t,n){if(!y(t,\"default\"))return;var r\u003dt.default;if(e\u0026\u0026e.$options.propsData\u0026\u0026void 0\u003d\u003d\u003de.$options.propsData[n]\u0026\u0026void 0!\u003d\u003de._props[n])return e._props[n];return\"function\"\u003d\u003dtypeof r\u0026\u0026\"Function\"!\u003d\u003dFe(t.type)?r.call(e):r}(r,i,e);var u\u003dbe;$e(!0),Ce(a),$e(u)}return a}var Me\u003d/^\\s*function (\\w+)/;function Fe(e){var t\u003de\u0026\u0026e.toString().match(Me);return t?t[1]:\"\"}function Pe(e,t){return Fe(e)\u003d\u003d\u003dFe(t)}function Re(e,t){if(!Array.isArray(t))return Pe(t,e)?0:-1;for(var n\u003d0,r\u003dt.length;n\u003cr;n++)if(Pe(t[n],e))return n;return-1}function He(e,t,n){le();try{if(t)for(var r\u003dt;r\u003dr.$parent;){var i\u003dr.$options.errorCaptured;if(i)for(var o\u003d0;o\u003ci.length;o++)try{if(!1\u003d\u003d\u003di[o].call(r,e,t,n))return}catch(e){Ue(e,r,\"errorCaptured hook\")}}Ue(e,t,n)}finally{fe()}}function Be(e,t,n,r,i){var o;try{(o\u003dn?e.apply(t,n):e.call(t))\u0026\u0026!o._isVue\u0026\u0026u(o)\u0026\u0026!o._handled\u0026\u0026(o.catch(function(e){return He(e,r,i+\" (Promise/async)\")}),o._handled\u003d!0)}catch(e){He(e,r,i)}return o}function Ue(e,t,n){if(F.errorHandler)try{return F.errorHandler.call(null,e,t,n)}catch(t){t!\u003d\u003de\u0026\u0026Ve(t,null,\"config.errorHandler\")}Ve(e,t,n)}function Ve(e,t,n){if(!V\u0026\u0026!z||\"undefined\"\u003d\u003dtypeof console)throw e;console.error(e)}var ze,Ke\u003d!1,Je\u003d[],qe\u003d!1;function We(){qe\u003d!1;var e\u003dJe.slice(0);Je.length\u003d0;for(var t\u003d0;t\u003ce.length;t++)e[t]()}if(\"undefined\"!\u003dtypeof Promise\u0026\u0026re(Promise)){var Ze\u003dPromise.resolve();ze\u003dfunction(){Ze.then(We),G\u0026\u0026setTimeout(S)},Ke\u003d!0}else if(q||\"undefined\"\u003d\u003dtypeof MutationObserver||!re(MutationObserver)\u0026\u0026\"[object MutationObserverConstructor]\"!\u003d\u003dMutationObserver.toString())ze\u003d\"undefined\"!\u003dtypeof setImmediate\u0026\u0026re(setImmediate)?function(){setImmediate(We)}:function(){setTimeout(We,0)};else{var Ge\u003d1,Xe\u003dnew MutationObserver(We),Ye\u003ddocument.createTextNode(String(Ge));Xe.observe(Ye,{characterData:!0}),ze\u003dfunction(){Ge\u003d(Ge+1)%2,Ye.data\u003dString(Ge)},Ke\u003d!0}function Qe(e,t){var n;if(Je.push(function(){if(e)try{e.call(t)}catch(e){He(e,t,\"nextTick\")}else n\u0026\u0026n(t)}),qe||(qe\u003d!0,ze()),!e\u0026\u0026\"undefined\"!\u003dtypeof Promise)return new Promise(function(e){n\u003de})}var et\u003dnew ie;function tt(e){!function e(t,n){var r,i;var a\u003dArray.isArray(t);if(!a\u0026\u0026!o(t)||Object.isFrozen(t)||t instanceof pe)return;if(t.__ob__){var s\u003dt.__ob__.dep.id;if(n.has(s))return;n.add(s)}if(a)for(r\u003dt.length;r--;)e(t[r],n);else for(i\u003dObject.keys(t),r\u003di.length;r--;)e(t[i[r]],n)}(e,et),et.clear()}var nt\u003dg(function(e){var t\u003d\"\u0026\"\u003d\u003d\u003de.charAt(0),n\u003d\"~\"\u003d\u003d\u003d(e\u003dt?e.slice(1):e).charAt(0),r\u003d\"!\"\u003d\u003d\u003d(e\u003dn?e.slice(1):e).charAt(0);return{name:e\u003dr?e.slice(1):e,once:n,capture:r,passive:t}});function rt(e,t){function n(){var e\u003darguments,r\u003dn.fns;if(!Array.isArray(r))return Be(r,null,arguments,t,\"v-on handler\");for(var i\u003dr.slice(),o\u003d0;o\u003ci.length;o++)Be(i[o],null,e,t,\"v-on handler\")}return n.fns\u003de,n}function it(e,n,i,o,a,s){var c,u,l,f;for(c in e)u\u003de[c],l\u003dn[c],f\u003dnt(c),t(u)||(t(l)?(t(u.fns)\u0026\u0026(u\u003de[c]\u003drt(u,s)),r(f.once)\u0026\u0026(u\u003de[c]\u003da(f.name,u,f.capture)),i(f.name,u,f.capture,f.passive,f.params)):u!\u003d\u003dl\u0026\u0026(l.fns\u003du,e[c]\u003dl));for(c in n)t(e[c])\u0026\u0026o((f\u003dnt(c)).name,n[c],f.capture)}function ot(e,i,o){var a;e instanceof pe\u0026\u0026(e\u003de.data.hook||(e.data.hook\u003d{}));var s\u003de[i];function c(){o.apply(this,arguments),h(a.fns,c)}t(s)?a\u003drt([c]):n(s.fns)\u0026\u0026r(s.merged)?(a\u003ds).fns.push(c):a\u003drt([s,c]),a.merged\u003d!0,e[i]\u003da}function at(e,t,r,i,o){if(n(t)){if(y(t,r))return e[r]\u003dt[r],o||delete t[r],!0;if(y(t,i))return e[r]\u003dt[i],o||delete t[i],!0}return!1}function st(e){return i(e)?[he(e)]:Array.isArray(e)?function e(o,a){var s\u003d[];var c,u,l,f;for(c\u003d0;c\u003co.length;c++)t(u\u003do[c])||\"boolean\"\u003d\u003dtypeof u||(l\u003ds.length-1,f\u003ds[l],Array.isArray(u)?u.length\u003e0\u0026\u0026(ct((u\u003de(u,(a||\"\")+\"_\"+c))[0])\u0026\u0026ct(f)\u0026\u0026(s[l]\u003dhe(f.text+u[0].text),u.shift()),s.push.apply(s,u)):i(u)?ct(f)?s[l]\u003dhe(f.text+u):\"\"!\u003d\u003du\u0026\u0026s.push(he(u)):ct(u)\u0026\u0026ct(f)?s[l]\u003dhe(f.text+u.text):(r(o._isVList)\u0026\u0026n(u.tag)\u0026\u0026t(u.key)\u0026\u0026n(a)\u0026\u0026(u.key\u003d\"__vlist\"+a+\"_\"+c+\"__\"),s.push(u)));return s}(e):void 0}function ct(e){return n(e)\u0026\u0026n(e.text)\u0026\u0026!1\u003d\u003d\u003de.isComment}function ut(e,t){if(e){for(var n\u003dObject.create(null),r\u003doe?Reflect.ownKeys(e):Object.keys(e),i\u003d0;i\u003cr.length;i++){var o\u003dr[i];if(\"__ob__\"!\u003d\u003do){for(var a\u003de[o].from,s\u003dt;s;){if(s._provided\u0026\u0026y(s._provided,a)){n[o]\u003ds._provided[a];break}s\u003ds.$parent}if(!s\u0026\u0026\"default\"in e[o]){var c\u003de[o].default;n[o]\u003d\"function\"\u003d\u003dtypeof c?c.call(t):c}}}return n}}function lt(e,t){if(!e||!e.length)return{};for(var n\u003d{},r\u003d0,i\u003de.length;r\u003ci;r++){var o\u003de[r],a\u003do.data;if(a\u0026\u0026a.attrs\u0026\u0026a.attrs.slot\u0026\u0026delete a.attrs.slot,o.context!\u003d\u003dt\u0026\u0026o.fnContext!\u003d\u003dt||!a||null\u003d\u003da.slot)(n.default||(n.default\u003d[])).push(o);else{var s\u003da.slot,c\u003dn[s]||(n[s]\u003d[]);\"template\"\u003d\u003d\u003do.tag?c.push.apply(c,o.children||[]):c.push(o)}}for(var u in n)n[u].every(ft)\u0026\u0026delete n[u];return n}function ft(e){return e.isComment\u0026\u0026!e.asyncFactory||\" \"\u003d\u003d\u003de.text}function pt(e){return e.isComment\u0026\u0026e.asyncFactory}function dt(t,n,r){var i,o\u003dObject.keys(n).length\u003e0,a\u003dt?!!t.$stable:!o,s\u003dt\u0026\u0026t.$key;if(t){if(t._normalized)return t._normalized;if(a\u0026\u0026r\u0026\u0026r!\u003d\u003de\u0026\u0026s\u003d\u003d\u003dr.$key\u0026\u0026!o\u0026\u0026!r.$hasNormal)return r;for(var c in i\u003d{},t)t[c]\u0026\u0026\"$\"!\u003d\u003dc[0]\u0026\u0026(i[c]\u003dvt(n,c,t[c]))}else i\u003d{};for(var u in n)u in i||(i[u]\u003dht(n,u));return t\u0026\u0026Object.isExtensible(t)\u0026\u0026(t._normalized\u003di),R(i,\"$stable\",a),R(i,\"$key\",s),R(i,\"$hasNormal\",o),i}function vt(e,t,n){var r\u003dfunction(){var e\u003darguments.length?n.apply(null,arguments):n({}),t\u003d(e\u003de\u0026\u0026\"object\"\u003d\u003dtypeof e\u0026\u0026!Array.isArray(e)?[e]:st(e))\u0026\u0026e[0];return e\u0026\u0026(!t||1\u003d\u003d\u003de.length\u0026\u0026t.isComment\u0026\u0026!pt(t))?void 0:e};return n.proxy\u0026\u0026Object.defineProperty(e,t,{get:r,enumerable:!0,configurable:!0}),r}function ht(e,t){return function(){return e[t]}}function mt(e,t){var r,i,a,s,c;if(Array.isArray(e)||\"string\"\u003d\u003dtypeof e)for(r\u003dnew Array(e.length),i\u003d0,a\u003de.length;i\u003ca;i++)r[i]\u003dt(e[i],i);else if(\"number\"\u003d\u003dtypeof e)for(r\u003dnew Array(e),i\u003d0;i\u003ce;i++)r[i]\u003dt(i+1,i);else if(o(e))if(oe\u0026\u0026e[Symbol.iterator]){r\u003d[];for(var u\u003de[Symbol.iterator](),l\u003du.next();!l.done;)r.push(t(l.value,r.length)),l\u003du.next()}else for(s\u003dObject.keys(e),r\u003dnew Array(s.length),i\u003d0,a\u003ds.length;i\u003ca;i++)c\u003ds[i],r[i]\u003dt(e[c],c,i);return n(r)||(r\u003d[]),r._isVList\u003d!0,r}function yt(e,t,n,r){var i,o\u003dthis.$scopedSlots[e];o?(n\u003dn||{},r\u0026\u0026(n\u003dA(A({},r),n)),i\u003do(n)||(\"function\"\u003d\u003dtypeof t?t():t)):i\u003dthis.$slots[e]||(\"function\"\u003d\u003dtypeof t?t():t);var a\u003dn\u0026\u0026n.slot;return a?this.$createElement(\"template\",{slot:a},i):i}function gt(e){return Le(this.$options,\"filters\",e)||N}function _t(e,t){return Array.isArray(e)?-1\u003d\u003d\u003de.indexOf(t):e!\u003d\u003dt}function bt(e,t,n,r,i){var o\u003dF.keyCodes[t]||n;return i\u0026\u0026r\u0026\u0026!F.keyCodes[t]?_t(i,r):o?_t(o,e):r?C(r)!\u003d\u003dt:void 0\u003d\u003d\u003de}function $t(e,t,n,r,i){if(n)if(o(n)){var a;Array.isArray(n)\u0026\u0026(n\u003dO(n));var s\u003dfunction(o){if(\"class\"\u003d\u003d\u003do||\"style\"\u003d\u003d\u003do||v(o))a\u003de;else{var s\u003de.attrs\u0026\u0026e.attrs.type;a\u003dr||F.mustUseProp(t,s,o)?e.domProps||(e.domProps\u003d{}):e.attrs||(e.attrs\u003d{})}var c\u003db(o),u\u003dC(o);c in a||u in a||(a[o]\u003dn[o],i\u0026\u0026((e.on||(e.on\u003d{}))[\"update:\"+o]\u003dfunction(e){n[o]\u003de}))};for(var c in n)s(c)}else;return e}function wt(e,t){var n\u003dthis._staticTrees||(this._staticTrees\u003d[]),r\u003dn[e];return r\u0026\u0026!t?r:(xt(r\u003dn[e]\u003dthis.$options.staticRenderFns[e].call(this._renderProxy,null,this),\"__static__\"+e,!1),r)}function Ct(e,t,n){return xt(e,\"__once__\"+t+(n?\"_\"+n:\"\"),!0),e}function xt(e,t,n){if(Array.isArray(e))for(var r\u003d0;r\u003ce.length;r++)e[r]\u0026\u0026\"string\"!\u003dtypeof e[r]\u0026\u0026kt(e[r],t+\"_\"+r,n);else kt(e,t,n)}function kt(e,t,n){e.isStatic\u003d!0,e.key\u003dt,e.isOnce\u003dn}function At(e,t){if(t)if(s(t)){var n\u003de.on\u003de.on?A({},e.on):{};for(var r in t){var i\u003dn[r],o\u003dt[r];n[r]\u003di?[].concat(i,o):o}}else;return e}function Ot(e,t,n,r){t\u003dt||{$stable:!n};for(var i\u003d0;i\u003ce.length;i++){var o\u003de[i];Array.isArray(o)?Ot(o,t,n):o\u0026\u0026(o.proxy\u0026\u0026(o.fn.proxy\u003d!0),t[o.key]\u003do.fn)}return r\u0026\u0026(t.$key\u003dr),t}function St(e,t){for(var n\u003d0;n\u003ct.length;n+\u003d2){var r\u003dt[n];\"string\"\u003d\u003dtypeof r\u0026\u0026r\u0026\u0026(e[t[n]]\u003dt[n+1])}return e}function Tt(e,t){return\"string\"\u003d\u003dtypeof e?t+e:e}function Nt(e){e._o\u003dCt,e._n\u003df,e._s\u003dl,e._l\u003dmt,e._t\u003dyt,e._q\u003dE,e._i\u003dj,e._m\u003dwt,e._f\u003dgt,e._k\u003dbt,e._b\u003d$t,e._v\u003dhe,e._e\u003dve,e._u\u003dOt,e._g\u003dAt,e._d\u003dSt,e._p\u003dTt}function Et(t,n,i,o,a){var s,c\u003dthis,u\u003da.options;y(o,\"_uid\")?(s\u003dObject.create(o))._original\u003do:(s\u003do,o\u003do._original);var l\u003dr(u._compiled),f\u003d!l;this.data\u003dt,this.props\u003dn,this.children\u003di,this.parent\u003do,this.listeners\u003dt.on||e,this.injections\u003dut(u.inject,o),this.slots\u003dfunction(){return c.$slots||dt(t.scopedSlots,c.$slots\u003dlt(i,o)),c.$slots},Object.defineProperty(this,\"scopedSlots\",{enumerable:!0,get:function(){return dt(t.scopedSlots,this.slots())}}),l\u0026\u0026(this.$options\u003du,this.$slots\u003dthis.slots(),this.$scopedSlots\u003ddt(t.scopedSlots,this.$slots)),u._scopeId?this._c\u003dfunction(e,t,n,r){var i\u003dHt(s,e,t,n,r,f);return i\u0026\u0026!Array.isArray(i)\u0026\u0026(i.fnScopeId\u003du._scopeId,i.fnContext\u003do),i}:this._c\u003dfunction(e,t,n,r){return Ht(s,e,t,n,r,f)}}function jt(e,t,n,r,i){var o\u003dme(e);return o.fnContext\u003dn,o.fnOptions\u003dr,t.slot\u0026\u0026((o.data||(o.data\u003d{})).slot\u003dt.slot),o}function Dt(e,t){for(var n in t)e[b(n)]\u003dt[n]}Nt(Et.prototype);var Lt\u003d{init:function(e,t){if(e.componentInstance\u0026\u0026!e.componentInstance._isDestroyed\u0026\u0026e.data.keepAlive){var r\u003de;Lt.prepatch(r,r)}else{(e.componentInstance\u003dfunction(e,t){var r\u003d{_isComponent:!0,_parentVnode:e,parent:t},i\u003de.data.inlineTemplate;n(i)\u0026\u0026(r.render\u003di.render,r.staticRenderFns\u003di.staticRenderFns);return new e.componentOptions.Ctor(r)}(e,Zt)).$mount(t?e.elm:void 0,t)}},prepatch:function(t,n){var r\u003dn.componentOptions;!function(t,n,r,i,o){var a\u003di.data.scopedSlots,s\u003dt.$scopedSlots,c\u003d!!(a\u0026\u0026!a.$stable||s!\u003d\u003de\u0026\u0026!s.$stable||a\u0026\u0026t.$scopedSlots.$key!\u003d\u003da.$key||!a\u0026\u0026t.$scopedSlots.$key),u\u003d!!(o||t.$options._renderChildren||c);t.$options._parentVnode\u003di,t.$vnode\u003di,t._vnode\u0026\u0026(t._vnode.parent\u003di);if(t.$options._renderChildren\u003do,t.$attrs\u003di.data.attrs||e,t.$listeners\u003dr||e,n\u0026\u0026t.$options.props){$e(!1);for(var l\u003dt._props,f\u003dt.$options._propKeys||[],p\u003d0;p\u003cf.length;p++){var d\u003df[p],v\u003dt.$options.props;l[d]\u003dIe(d,v,n,t)}$e(!0),t.$options.propsData\u003dn}r\u003dr||e;var h\u003dt.$options._parentListeners;t.$options._parentListeners\u003dr,Wt(t,r,h),u\u0026\u0026(t.$slots\u003dlt(o,i.context),t.$forceUpdate())}(n.componentInstance\u003dt.componentInstance,r.propsData,r.listeners,n,r.children)},insert:function(e){var t,n\u003de.context,r\u003de.componentInstance;r._isMounted||(r._isMounted\u003d!0,Qt(r,\"mounted\")),e.data.keepAlive\u0026\u0026(n._isMounted?((t\u003dr)._inactive\u003d!1,tn.push(t)):Yt(r,!0))},destroy:function(e){var t\u003de.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(n\u0026\u0026(t._directInactive\u003d!0,Xt(t)))return;if(!t._inactive){t._inactive\u003d!0;for(var r\u003d0;r\u003ct.$children.length;r++)e(t.$children[r]);Qt(t,\"deactivated\")}}(t,!0):t.$destroy())}},It\u003dObject.keys(Lt);function Mt(i,a,s,c,l){if(!t(i)){var f\u003ds.$options._base;if(o(i)\u0026\u0026(i\u003df.extend(i)),\"function\"\u003d\u003dtypeof i){var p;if(t(i.cid)\u0026\u0026void 0\u003d\u003d\u003d(i\u003dfunction(e,i){if(r(e.error)\u0026\u0026n(e.errorComp))return e.errorComp;if(n(e.resolved))return e.resolved;var a\u003dUt;a\u0026\u0026n(e.owners)\u0026\u0026-1\u003d\u003d\u003de.owners.indexOf(a)\u0026\u0026e.owners.push(a);if(r(e.loading)\u0026\u0026n(e.loadingComp))return e.loadingComp;if(a\u0026\u0026!n(e.owners)){var s\u003de.owners\u003d[a],c\u003d!0,l\u003dnull,f\u003dnull;a.$on(\"hook:destroyed\",function(){return h(s,a)});var p\u003dfunction(e){for(var t\u003d0,n\u003ds.length;t\u003cn;t++)s[t].$forceUpdate();e\u0026\u0026(s.length\u003d0,null!\u003d\u003dl\u0026\u0026(clearTimeout(l),l\u003dnull),null!\u003d\u003df\u0026\u0026(clearTimeout(f),f\u003dnull))},d\u003dD(function(t){e.resolved\u003dVt(t,i),c?s.length\u003d0:p(!0)}),v\u003dD(function(t){n(e.errorComp)\u0026\u0026(e.error\u003d!0,p(!0))}),m\u003de(d,v);return o(m)\u0026\u0026(u(m)?t(e.resolved)\u0026\u0026m.then(d,v):u(m.component)\u0026\u0026(m.component.then(d,v),n(m.error)\u0026\u0026(e.errorComp\u003dVt(m.error,i)),n(m.loading)\u0026\u0026(e.loadingComp\u003dVt(m.loading,i),0\u003d\u003d\u003dm.delay?e.loading\u003d!0:l\u003dsetTimeout(function(){l\u003dnull,t(e.resolved)\u0026\u0026t(e.error)\u0026\u0026(e.loading\u003d!0,p(!1))},m.delay||200)),n(m.timeout)\u0026\u0026(f\u003dsetTimeout(function(){f\u003dnull,t(e.resolved)\u0026\u0026v(null)},m.timeout)))),c\u003d!1,e.loading?e.loadingComp:e.resolved}}(p\u003di,f)))return function(e,t,n,r,i){var o\u003dve();return o.asyncFactory\u003de,o.asyncMeta\u003d{data:t,context:n,children:r,tag:i},o}(p,a,s,c,l);a\u003da||{},wn(i),n(a.model)\u0026\u0026function(e,t){var r\u003de.model\u0026\u0026e.model.prop||\"value\",i\u003de.model\u0026\u0026e.model.event||\"input\";(t.attrs||(t.attrs\u003d{}))[r]\u003dt.model.value;var o\u003dt.on||(t.on\u003d{}),a\u003do[i],s\u003dt.model.callback;n(a)?(Array.isArray(a)?-1\u003d\u003d\u003da.indexOf(s):a!\u003d\u003ds)\u0026\u0026(o[i]\u003d[s].concat(a)):o[i]\u003ds}(i.options,a);var d\u003dfunction(e,r,i){var o\u003dr.options.props;if(!t(o)){var a\u003d{},s\u003de.attrs,c\u003de.props;if(n(s)||n(c))for(var u in o){var l\u003dC(u);at(a,c,u,l,!0)||at(a,s,u,l,!1)}return a}}(a,i);if(r(i.options.functional))return function(t,r,i,o,a){var s\u003dt.options,c\u003d{},u\u003ds.props;if(n(u))for(var l in u)c[l]\u003dIe(l,u,r||e);else n(i.attrs)\u0026\u0026Dt(c,i.attrs),n(i.props)\u0026\u0026Dt(c,i.props);var f\u003dnew Et(i,c,a,o,t),p\u003ds.render.call(null,f._c,f);if(p instanceof pe)return jt(p,i,f.parent,s);if(Array.isArray(p)){for(var d\u003dst(p)||[],v\u003dnew Array(d.length),h\u003d0;h\u003cd.length;h++)v[h]\u003djt(d[h],i,f.parent,s);return v}}(i,d,a,s,c);var v\u003da.on;if(a.on\u003da.nativeOn,r(i.options.abstract)){var m\u003da.slot;a\u003d{},m\u0026\u0026(a.slot\u003dm)}!function(e){for(var t\u003de.hook||(e.hook\u003d{}),n\u003d0;n\u003cIt.length;n++){var r\u003dIt[n],i\u003dt[r],o\u003dLt[r];i\u003d\u003d\u003do||i\u0026\u0026i._merged||(t[r]\u003di?Ft(o,i):o)}}(a);var y\u003di.options.name||l;return new pe(\"vue-component-\"+i.cid+(y?\"-\"+y:\"\"),a,void 0,void 0,void 0,s,{Ctor:i,propsData:d,listeners:v,tag:l,children:c},p)}}}function Ft(e,t){var n\u003dfunction(n,r){e(n,r),t(n,r)};return n._merged\u003d!0,n}var Pt\u003d1,Rt\u003d2;function Ht(e,a,s,c,u,l){return(Array.isArray(s)||i(s))\u0026\u0026(u\u003dc,c\u003ds,s\u003dvoid 0),r(l)\u0026\u0026(u\u003dRt),function(e,i,a,s,c){if(n(a)\u0026\u0026n(a.__ob__))return ve();n(a)\u0026\u0026n(a.is)\u0026\u0026(i\u003da.is);if(!i)return ve();Array.isArray(s)\u0026\u0026\"function\"\u003d\u003dtypeof s[0]\u0026\u0026((a\u003da||{}).scopedSlots\u003d{default:s[0]},s.length\u003d0);c\u003d\u003d\u003dRt?s\u003dst(s):c\u003d\u003d\u003dPt\u0026\u0026(s\u003dfunction(e){for(var t\u003d0;t\u003ce.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(s));var u,l;if(\"string\"\u003d\u003dtypeof i){var f;l\u003de.$vnode\u0026\u0026e.$vnode.ns||F.getTagNamespace(i),u\u003dF.isReservedTag(i)?new pe(F.parsePlatformTagName(i),a,s,void 0,void 0,e):a\u0026\u0026a.pre||!n(f\u003dLe(e.$options,\"components\",i))?new pe(i,a,s,void 0,void 0,e):Mt(f,a,e,s,i)}else u\u003dMt(i,a,e,s);return Array.isArray(u)?u:n(u)?(n(l)\u0026\u0026function e(i,o,a){i.ns\u003do;\"foreignObject\"\u003d\u003d\u003di.tag\u0026\u0026(o\u003dvoid 0,a\u003d!0);if(n(i.children))for(var s\u003d0,c\u003di.children.length;s\u003cc;s++){var u\u003di.children[s];n(u.tag)\u0026\u0026(t(u.ns)||r(a)\u0026\u0026\"svg\"!\u003d\u003du.tag)\u0026\u0026e(u,o,a)}}(u,l),n(a)\u0026\u0026function(e){o(e.style)\u0026\u0026tt(e.style);o(e.class)\u0026\u0026tt(e.class)}(a),u):ve()}(e,a,s,c,u)}var Bt,Ut\u003dnull;function Vt(e,t){return(e.__esModule||oe\u0026\u0026\"Module\"\u003d\u003d\u003de[Symbol.toStringTag])\u0026\u0026(e\u003de.default),o(e)?t.extend(e):e}function zt(e){if(Array.isArray(e))for(var t\u003d0;t\u003ce.length;t++){var r\u003de[t];if(n(r)\u0026\u0026(n(r.componentOptions)||pt(r)))return r}}function Kt(e,t){Bt.$on(e,t)}function Jt(e,t){Bt.$off(e,t)}function qt(e,t){var n\u003dBt;return function r(){null!\u003d\u003dt.apply(null,arguments)\u0026\u0026n.$off(e,r)}}function Wt(e,t,n){Bt\u003de,it(t,n||{},Kt,Jt,qt,e),Bt\u003dvoid 0}var Zt\u003dnull;function Gt(e){var t\u003dZt;return Zt\u003de,function(){Zt\u003dt}}function Xt(e){for(;e\u0026\u0026(e\u003de.$parent);)if(e._inactive)return!0;return!1}function Yt(e,t){if(t){if(e._directInactive\u003d!1,Xt(e))return}else if(e._directInactive)return;if(e._inactive||null\u003d\u003d\u003de._inactive){e._inactive\u003d!1;for(var n\u003d0;n\u003ce.$children.length;n++)Yt(e.$children[n]);Qt(e,\"activated\")}}function Qt(e,t){le();var n\u003de.$options[t],r\u003dt+\" hook\";if(n)for(var i\u003d0,o\u003dn.length;i\u003co;i++)Be(n[i],e,null,e,r);e._hasHookEvent\u0026\u0026e.$emit(\"hook:\"+t),fe()}var en\u003d[],tn\u003d[],nn\u003d{},rn\u003d!1,on\u003d!1,an\u003d0;var sn\u003d0,cn\u003dDate.now;if(V\u0026\u0026!q){var un\u003dwindow.performance;un\u0026\u0026\"function\"\u003d\u003dtypeof un.now\u0026\u0026cn()\u003edocument.createEvent(\"Event\").timeStamp\u0026\u0026(cn\u003dfunction(){return un.now()})}function ln(){var e,t;for(sn\u003dcn(),on\u003d!0,en.sort(function(e,t){return e.id-t.id}),an\u003d0;an\u003cen.length;an++)(e\u003den[an]).before\u0026\u0026e.before(),t\u003de.id,nn[t]\u003dnull,e.run();var n\u003dtn.slice(),r\u003den.slice();an\u003den.length\u003dtn.length\u003d0,nn\u003d{},rn\u003don\u003d!1,function(e){for(var t\u003d0;t\u003ce.length;t++)e[t]._inactive\u003d!0,Yt(e[t],!0)}(n),function(e){var t\u003de.length;for(;t--;){var n\u003de[t],r\u003dn.vm;r._watcher\u003d\u003d\u003dn\u0026\u0026r._isMounted\u0026\u0026!r._isDestroyed\u0026\u0026Qt(r,\"updated\")}}(r),ne\u0026\u0026F.devtools\u0026\u0026ne.emit(\"flush\")}var fn\u003d0,pn\u003dfunction(e,t,n,r,i){this.vm\u003de,i\u0026\u0026(e._watcher\u003dthis),e._watchers.push(this),r?(this.deep\u003d!!r.deep,this.user\u003d!!r.user,this.lazy\u003d!!r.lazy,this.sync\u003d!!r.sync,this.before\u003dr.before):this.deep\u003dthis.user\u003dthis.lazy\u003dthis.sync\u003d!1,this.cb\u003dn,this.id\u003d++fn,this.active\u003d!0,this.dirty\u003dthis.lazy,this.deps\u003d[],this.newDeps\u003d[],this.depIds\u003dnew ie,this.newDepIds\u003dnew ie,this.expression\u003d\"\",\"function\"\u003d\u003dtypeof t?this.getter\u003dt:(this.getter\u003dfunction(e){if(!H.test(e)){var t\u003de.split(\".\");return function(e){for(var n\u003d0;n\u003ct.length;n++){if(!e)return;e\u003de[t[n]]}return e}}}(t),this.getter||(this.getter\u003dS)),this.value\u003dthis.lazy?void 0:this.get()};pn.prototype.get\u003dfunction(){var e;le(this);var t\u003dthis.vm;try{e\u003dthis.getter.call(t,t)}catch(e){if(!this.user)throw e;He(e,t,\u0027getter for watcher \"\u0027+this.expression+\u0027\"\u0027)}finally{this.deep\u0026\u0026tt(e),fe(),this.cleanupDeps()}return e},pn.prototype.addDep\u003dfunction(e){var t\u003de.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},pn.prototype.cleanupDeps\u003dfunction(){for(var e\u003dthis.deps.length;e--;){var t\u003dthis.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n\u003dthis.depIds;this.depIds\u003dthis.newDepIds,this.newDepIds\u003dn,this.newDepIds.clear(),n\u003dthis.deps,this.deps\u003dthis.newDeps,this.newDeps\u003dn,this.newDeps.length\u003d0},pn.prototype.update\u003dfunction(){this.lazy?this.dirty\u003d!0:this.sync?this.run():function(e){var t\u003de.id;if(null\u003d\u003dnn[t]){if(nn[t]\u003d!0,on){for(var n\u003den.length-1;n\u003ean\u0026\u0026en[n].id\u003ee.id;)n--;en.splice(n+1,0,e)}else en.push(e);rn||(rn\u003d!0,Qe(ln))}}(this)},pn.prototype.run\u003dfunction(){if(this.active){var e\u003dthis.get();if(e!\u003d\u003dthis.value||o(e)||this.deep){var t\u003dthis.value;if(this.value\u003de,this.user){var n\u003d\u0027callback for watcher \"\u0027+this.expression+\u0027\"\u0027;Be(this.cb,this.vm,[e,t],this.vm,n)}else this.cb.call(this.vm,e,t)}}},pn.prototype.evaluate\u003dfunction(){this.value\u003dthis.get(),this.dirty\u003d!1},pn.prototype.depend\u003dfunction(){for(var e\u003dthis.deps.length;e--;)this.deps[e].depend()},pn.prototype.teardown\u003dfunction(){if(this.active){this.vm._isBeingDestroyed||h(this.vm._watchers,this);for(var e\u003dthis.deps.length;e--;)this.deps[e].removeSub(this);this.active\u003d!1}};var dn\u003d{enumerable:!0,configurable:!0,get:S,set:S};function vn(e,t,n){dn.get\u003dfunction(){return this[t][n]},dn.set\u003dfunction(e){this[t][n]\u003de},Object.defineProperty(e,n,dn)}function hn(e){e._watchers\u003d[];var t\u003de.$options;t.props\u0026\u0026function(e,t){var n\u003de.$options.propsData||{},r\u003de._props\u003d{},i\u003de.$options._propKeys\u003d[];e.$parent\u0026\u0026$e(!1);var o\u003dfunction(o){i.push(o);var a\u003dIe(o,t,n,e);xe(r,o,a),o in e||vn(e,\"_props\",o)};for(var a in t)o(a);$e(!0)}(e,t.props),t.methods\u0026\u0026function(e,t){e.$options.props;for(var n in t)e[n]\u003d\"function\"!\u003dtypeof t[n]?S:x(t[n],e)}(e,t.methods),t.data?function(e){var t\u003de.$options.data;s(t\u003de._data\u003d\"function\"\u003d\u003dtypeof t?function(e,t){le();try{return e.call(t,t)}catch(e){return He(e,t,\"data()\"),{}}finally{fe()}}(t,e):t||{})||(t\u003d{});var n\u003dObject.keys(t),r\u003de.$options.props,i\u003d(e.$options.methods,n.length);for(;i--;){var o\u003dn[i];r\u0026\u0026y(r,o)||(a\u003dvoid 0,36!\u003d\u003d(a\u003d(o+\"\").charCodeAt(0))\u0026\u002695!\u003d\u003da\u0026\u0026vn(e,\"_data\",o))}var a;Ce(t,!0)}(e):Ce(e._data\u003d{},!0),t.computed\u0026\u0026function(e,t){var n\u003de._computedWatchers\u003dObject.create(null),r\u003dte();for(var i in t){var o\u003dt[i],a\u003d\"function\"\u003d\u003dtypeof o?o:o.get;r||(n[i]\u003dnew pn(e,a||S,S,mn)),i in e||yn(e,i,o)}}(e,t.computed),t.watch\u0026\u0026t.watch!\u003d\u003dY\u0026\u0026function(e,t){for(var n in t){var r\u003dt[n];if(Array.isArray(r))for(var i\u003d0;i\u003cr.length;i++)bn(e,n,r[i]);else bn(e,n,r)}}(e,t.watch)}var mn\u003d{lazy:!0};function yn(e,t,n){var r\u003d!te();\"function\"\u003d\u003dtypeof n?(dn.get\u003dr?gn(t):_n(n),dn.set\u003dS):(dn.get\u003dn.get?r\u0026\u0026!1!\u003d\u003dn.cache?gn(t):_n(n.get):S,dn.set\u003dn.set||S),Object.defineProperty(e,t,dn)}function gn(e){return function(){var t\u003dthis._computedWatchers\u0026\u0026this._computedWatchers[e];if(t)return t.dirty\u0026\u0026t.evaluate(),ce.target\u0026\u0026t.depend(),t.value}}function _n(e){return function(){return e.call(this,this)}}function bn(e,t,n,r){return s(n)\u0026\u0026(r\u003dn,n\u003dn.handler),\"string\"\u003d\u003dtypeof n\u0026\u0026(n\u003de[n]),e.$watch(t,n,r)}var $n\u003d0;function wn(e){var t\u003de.options;if(e.super){var n\u003dwn(e.super);if(n!\u003d\u003de.superOptions){e.superOptions\u003dn;var r\u003dfunction(e){var t,n\u003de.options,r\u003de.sealedOptions;for(var i in n)n[i]!\u003d\u003dr[i]\u0026\u0026(t||(t\u003d{}),t[i]\u003dn[i]);return t}(e);r\u0026\u0026A(e.extendOptions,r),(t\u003de.options\u003dDe(n,e.extendOptions)).name\u0026\u0026(t.components[t.name]\u003de)}}return t}function Cn(e){this._init(e)}function xn(e){e.cid\u003d0;var t\u003d1;e.extend\u003dfunction(e){e\u003de||{};var n\u003dthis,r\u003dn.cid,i\u003de._Ctor||(e._Ctor\u003d{});if(i[r])return i[r];var o\u003de.name||n.options.name,a\u003dfunction(e){this._init(e)};return(a.prototype\u003dObject.create(n.prototype)).constructor\u003da,a.cid\u003dt++,a.options\u003dDe(n.options,e),a.super\u003dn,a.options.props\u0026\u0026function(e){var t\u003de.options.props;for(var n in t)vn(e.prototype,\"_props\",n)}(a),a.options.computed\u0026\u0026function(e){var t\u003de.options.computed;for(var n in t)yn(e.prototype,n,t[n])}(a),a.extend\u003dn.extend,a.mixin\u003dn.mixin,a.use\u003dn.use,I.forEach(function(e){a[e]\u003dn[e]}),o\u0026\u0026(a.options.components[o]\u003da),a.superOptions\u003dn.options,a.extendOptions\u003de,a.sealedOptions\u003dA({},a.options),i[r]\u003da,a}}function kn(e){return e\u0026\u0026(e.Ctor.options.name||e.tag)}function An(e,t){return Array.isArray(e)?e.indexOf(t)\u003e-1:\"string\"\u003d\u003dtypeof e?e.split(\",\").indexOf(t)\u003e-1:(n\u003de,\"[object RegExp]\"\u003d\u003d\u003da.call(n)\u0026\u0026e.test(t));var n}function On(e,t){var n\u003de.cache,r\u003de.keys,i\u003de._vnode;for(var o in n){var a\u003dn[o];if(a){var s\u003da.name;s\u0026\u0026!t(s)\u0026\u0026Sn(n,o,r,i)}}}function Sn(e,t,n,r){var i\u003de[t];!i||r\u0026\u0026i.tag\u003d\u003d\u003dr.tag||i.componentInstance.$destroy(),e[t]\u003dnull,h(n,t)}!function(t){t.prototype._init\u003dfunction(t){var n\u003dthis;n._uid\u003d$n++,n._isVue\u003d!0,t\u0026\u0026t._isComponent?function(e,t){var n\u003de.$options\u003dObject.create(e.constructor.options),r\u003dt._parentVnode;n.parent\u003dt.parent,n._parentVnode\u003dr;var i\u003dr.componentOptions;n.propsData\u003di.propsData,n._parentListeners\u003di.listeners,n._renderChildren\u003di.children,n._componentTag\u003di.tag,t.render\u0026\u0026(n.render\u003dt.render,n.staticRenderFns\u003dt.staticRenderFns)}(n,t):n.$options\u003dDe(wn(n.constructor),t||{},n),n._renderProxy\u003dn,n._self\u003dn,function(e){var t\u003de.$options,n\u003dt.parent;if(n\u0026\u0026!t.abstract){for(;n.$options.abstract\u0026\u0026n.$parent;)n\u003dn.$parent;n.$children.push(e)}e.$parent\u003dn,e.$root\u003dn?n.$root:e,e.$children\u003d[],e.$refs\u003d{},e._watcher\u003dnull,e._inactive\u003dnull,e._directInactive\u003d!1,e._isMounted\u003d!1,e._isDestroyed\u003d!1,e._isBeingDestroyed\u003d!1}(n),function(e){e._events\u003dObject.create(null),e._hasHookEvent\u003d!1;var t\u003de.$options._parentListeners;t\u0026\u0026Wt(e,t)}(n),function(t){t._vnode\u003dnull,t._staticTrees\u003dnull;var n\u003dt.$options,r\u003dt.$vnode\u003dn._parentVnode,i\u003dr\u0026\u0026r.context;t.$slots\u003dlt(n._renderChildren,i),t.$scopedSlots\u003de,t._c\u003dfunction(e,n,r,i){return Ht(t,e,n,r,i,!1)},t.$createElement\u003dfunction(e,n,r,i){return Ht(t,e,n,r,i,!0)};var o\u003dr\u0026\u0026r.data;xe(t,\"$attrs\",o\u0026\u0026o.attrs||e,null,!0),xe(t,\"$listeners\",n._parentListeners||e,null,!0)}(n),Qt(n,\"beforeCreate\"),function(e){var t\u003dut(e.$options.inject,e);t\u0026\u0026($e(!1),Object.keys(t).forEach(function(n){xe(e,n,t[n])}),$e(!0))}(n),hn(n),function(e){var t\u003de.$options.provide;t\u0026\u0026(e._provided\u003d\"function\"\u003d\u003dtypeof t?t.call(e):t)}(n),Qt(n,\"created\"),n.$options.el\u0026\u0026n.$mount(n.$options.el)}}(Cn),function(e){var t\u003d{get:function(){return this._data}},n\u003d{get:function(){return this._props}};Object.defineProperty(e.prototype,\"$data\",t),Object.defineProperty(e.prototype,\"$props\",n),e.prototype.$set\u003dke,e.prototype.$delete\u003dAe,e.prototype.$watch\u003dfunction(e,t,n){if(s(t))return bn(this,e,t,n);(n\u003dn||{}).user\u003d!0;var r\u003dnew pn(this,e,t,n);if(n.immediate){var i\u003d\u0027callback for immediate watcher \"\u0027+r.expression+\u0027\"\u0027;le(),Be(t,this,[r.value],this,i),fe()}return function(){r.teardown()}}}(Cn),function(e){var t\u003d/^hook:/;e.prototype.$on\u003dfunction(e,n){var r\u003dthis;if(Array.isArray(e))for(var i\u003d0,o\u003de.length;i\u003co;i++)r.$on(e[i],n);else(r._events[e]||(r._events[e]\u003d[])).push(n),t.test(e)\u0026\u0026(r._hasHookEvent\u003d!0);return r},e.prototype.$once\u003dfunction(e,t){var n\u003dthis;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn\u003dt,n.$on(e,r),n},e.prototype.$off\u003dfunction(e,t){var n\u003dthis;if(!arguments.length)return n._events\u003dObject.create(null),n;if(Array.isArray(e)){for(var r\u003d0,i\u003de.length;r\u003ci;r++)n.$off(e[r],t);return n}var o,a\u003dn._events[e];if(!a)return n;if(!t)return n._events[e]\u003dnull,n;for(var s\u003da.length;s--;)if((o\u003da[s])\u003d\u003d\u003dt||o.fn\u003d\u003d\u003dt){a.splice(s,1);break}return n},e.prototype.$emit\u003dfunction(e){var t\u003dthis._events[e];if(t){t\u003dt.length\u003e1?k(t):t;for(var n\u003dk(arguments,1),r\u003d\u0027event handler for \"\u0027+e+\u0027\"\u0027,i\u003d0,o\u003dt.length;i\u003co;i++)Be(t[i],this,n,this,r)}return this}}(Cn),function(e){e.prototype._update\u003dfunction(e,t){var n\u003dthis,r\u003dn.$el,i\u003dn._vnode,o\u003dGt(n);n._vnode\u003de,n.$el\u003di?n.__patch__(i,e):n.__patch__(n.$el,e,t,!1),o(),r\u0026\u0026(r.__vue__\u003dnull),n.$el\u0026\u0026(n.$el.__vue__\u003dn),n.$vnode\u0026\u0026n.$parent\u0026\u0026n.$vnode\u003d\u003d\u003dn.$parent._vnode\u0026\u0026(n.$parent.$el\u003dn.$el)},e.prototype.$forceUpdate\u003dfunction(){this._watcher\u0026\u0026this._watcher.update()},e.prototype.$destroy\u003dfunction(){var e\u003dthis;if(!e._isBeingDestroyed){Qt(e,\"beforeDestroy\"),e._isBeingDestroyed\u003d!0;var t\u003de.$parent;!t||t._isBeingDestroyed||e.$options.abstract||h(t.$children,e),e._watcher\u0026\u0026e._watcher.teardown();for(var n\u003de._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__\u0026\u0026e._data.__ob__.vmCount--,e._isDestroyed\u003d!0,e.__patch__(e._vnode,null),Qt(e,\"destroyed\"),e.$off(),e.$el\u0026\u0026(e.$el.__vue__\u003dnull),e.$vnode\u0026\u0026(e.$vnode.parent\u003dnull)}}}(Cn),function(e){Nt(e.prototype),e.prototype.$nextTick\u003dfunction(e){return Qe(e,this)},e.prototype._render\u003dfunction(){var e,t\u003dthis,n\u003dt.$options,r\u003dn.render,i\u003dn._parentVnode;i\u0026\u0026(t.$scopedSlots\u003ddt(i.data.scopedSlots,t.$slots,t.$scopedSlots)),t.$vnode\u003di;try{Ut\u003dt,e\u003dr.call(t._renderProxy,t.$createElement)}catch(n){He(n,t,\"render\"),e\u003dt._vnode}finally{Ut\u003dnull}return Array.isArray(e)\u0026\u00261\u003d\u003d\u003de.length\u0026\u0026(e\u003de[0]),e instanceof pe||(e\u003dve()),e.parent\u003di,e}}(Cn);var Tn\u003d[String,RegExp,Array],Nn\u003d{KeepAlive:{name:\"keep-alive\",abstract:!0,props:{include:Tn,exclude:Tn,max:[String,Number]},methods:{cacheVNode:function(){var e\u003dthis.cache,t\u003dthis.keys,n\u003dthis.vnodeToCache,r\u003dthis.keyToCache;if(n){var i\u003dn.tag,o\u003dn.componentInstance,a\u003dn.componentOptions;e[r]\u003d{name:kn(a),tag:i,componentInstance:o},t.push(r),this.max\u0026\u0026t.length\u003eparseInt(this.max)\u0026\u0026Sn(e,t[0],t,this._vnode),this.vnodeToCache\u003dnull}}},created:function(){this.cache\u003dObject.create(null),this.keys\u003d[]},destroyed:function(){for(var e in this.cache)Sn(this.cache,e,this.keys)},mounted:function(){var e\u003dthis;this.cacheVNode(),this.$watch(\"include\",function(t){On(e,function(e){return An(t,e)})}),this.$watch(\"exclude\",function(t){On(e,function(e){return!An(t,e)})})},updated:function(){this.cacheVNode()},render:function(){var e\u003dthis.$slots.default,t\u003dzt(e),n\u003dt\u0026\u0026t.componentOptions;if(n){var r\u003dkn(n),i\u003dthis.include,o\u003dthis.exclude;if(i\u0026\u0026(!r||!An(i,r))||o\u0026\u0026r\u0026\u0026An(o,r))return t;var a\u003dthis.cache,s\u003dthis.keys,c\u003dnull\u003d\u003dt.key?n.Ctor.cid+(n.tag?\"::\"+n.tag:\"\"):t.key;a[c]?(t.componentInstance\u003da[c].componentInstance,h(s,c),s.push(c)):(this.vnodeToCache\u003dt,this.keyToCache\u003dc),t.data.keepAlive\u003d!0}return t||e\u0026\u0026e[0]}}};!function(e){var t\u003d{get:function(){return F}};Object.defineProperty(e,\"config\",t),e.util\u003d{warn:ae,extend:A,mergeOptions:De,defineReactive:xe},e.set\u003dke,e.delete\u003dAe,e.nextTick\u003dQe,e.observable\u003dfunction(e){return Ce(e),e},e.options\u003dObject.create(null),I.forEach(function(t){e.options[t+\"s\"]\u003dObject.create(null)}),e.options._base\u003de,A(e.options.components,Nn),function(e){e.use\u003dfunction(e){var t\u003dthis._installedPlugins||(this._installedPlugins\u003d[]);if(t.indexOf(e)\u003e-1)return this;var n\u003dk(arguments,1);return n.unshift(this),\"function\"\u003d\u003dtypeof e.install?e.install.apply(e,n):\"function\"\u003d\u003dtypeof e\u0026\u0026e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin\u003dfunction(e){return this.options\u003dDe(this.options,e),this}}(e),xn(e),function(e){I.forEach(function(t){e[t]\u003dfunction(e,n){return n?(\"component\"\u003d\u003d\u003dt\u0026\u0026s(n)\u0026\u0026(n.name\u003dn.name||e,n\u003dthis.options._base.extend(n)),\"directive\"\u003d\u003d\u003dt\u0026\u0026\"function\"\u003d\u003dtypeof n\u0026\u0026(n\u003d{bind:n,update:n}),this.options[t+\"s\"][e]\u003dn,n):this.options[t+\"s\"][e]}})}(e)}(Cn),Object.defineProperty(Cn.prototype,\"$isServer\",{get:te}),Object.defineProperty(Cn.prototype,\"$ssrContext\",{get:function(){return this.$vnode\u0026\u0026this.$vnode.ssrContext}}),Object.defineProperty(Cn,\"FunctionalRenderContext\",{value:Et}),Cn.version\u003d\"2.6.14\";var En\u003dp(\"style,class\"),jn\u003dp(\"input,textarea,option,select,progress\"),Dn\u003dfunction(e,t,n){return\"value\"\u003d\u003d\u003dn\u0026\u0026jn(e)\u0026\u0026\"button\"!\u003d\u003dt||\"selected\"\u003d\u003d\u003dn\u0026\u0026\"option\"\u003d\u003d\u003de||\"checked\"\u003d\u003d\u003dn\u0026\u0026\"input\"\u003d\u003d\u003de||\"muted\"\u003d\u003d\u003dn\u0026\u0026\"video\"\u003d\u003d\u003de},Ln\u003dp(\"contenteditable,draggable,spellcheck\"),In\u003dp(\"events,caret,typing,plaintext-only\"),Mn\u003dfunction(e,t){return Bn(t)||\"false\"\u003d\u003d\u003dt?\"false\":\"contenteditable\"\u003d\u003d\u003de\u0026\u0026In(t)?t:\"true\"},Fn\u003dp(\"allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible\"),Pn\u003d\"http://www.w3.org/1999/xlink\",Rn\u003dfunction(e){return\":\"\u003d\u003d\u003de.charAt(5)\u0026\u0026\"xlink\"\u003d\u003d\u003de.slice(0,5)},Hn\u003dfunction(e){return Rn(e)?e.slice(6,e.length):\"\"},Bn\u003dfunction(e){return null\u003d\u003de||!1\u003d\u003d\u003de};function Un(e){for(var t\u003de.data,r\u003de,i\u003de;n(i.componentInstance);)(i\u003di.componentInstance._vnode)\u0026\u0026i.data\u0026\u0026(t\u003dVn(i.data,t));for(;n(r\u003dr.parent);)r\u0026\u0026r.data\u0026\u0026(t\u003dVn(t,r.data));return function(e,t){if(n(e)||n(t))return zn(e,Kn(t));return\"\"}(t.staticClass,t.class)}function Vn(e,t){return{staticClass:zn(e.staticClass,t.staticClass),class:n(e.class)?[e.class,t.class]:t.class}}function zn(e,t){return e?t?e+\" \"+t:e:t||\"\"}function Kn(e){return Array.isArray(e)?function(e){for(var t,r\u003d\"\",i\u003d0,o\u003de.length;i\u003co;i++)n(t\u003dKn(e[i]))\u0026\u0026\"\"!\u003d\u003dt\u0026\u0026(r\u0026\u0026(r+\u003d\" \"),r+\u003dt);return r}(e):o(e)?function(e){var t\u003d\"\";for(var n in e)e[n]\u0026\u0026(t\u0026\u0026(t+\u003d\" \"),t+\u003dn);return t}(e):\"string\"\u003d\u003dtypeof e?e:\"\"}var Jn\u003d{svg:\"http://www.w3.org/2000/svg\",math:\"http://www.w3.org/1998/Math/MathML\"},qn\u003dp(\"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot\"),Wn\u003dp(\"svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view\",!0),Zn\u003dfunction(e){return qn(e)||Wn(e)};function Gn(e){return Wn(e)?\"svg\":\"math\"\u003d\u003d\u003de?\"math\":void 0}var Xn\u003dObject.create(null);var Yn\u003dp(\"text,number,password,search,email,tel,url\");function Qn(e){if(\"string\"\u003d\u003dtypeof e){var t\u003ddocument.querySelector(e);return t||document.createElement(\"div\")}return e}var er\u003dObject.freeze({createElement:function(e,t){var n\u003ddocument.createElement(e);return\"select\"!\u003d\u003de?n:(t.data\u0026\u0026t.data.attrs\u0026\u0026void 0!\u003d\u003dt.data.attrs.multiple\u0026\u0026n.setAttribute(\"multiple\",\"multiple\"),n)},createElementNS:function(e,t){return document.createElementNS(Jn[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent\u003dt},setStyleScope:function(e,t){e.setAttribute(t,\"\")}}),tr\u003d{create:function(e,t){nr(t)},update:function(e,t){e.data.ref!\u003d\u003dt.data.ref\u0026\u0026(nr(e,!0),nr(t))},destroy:function(e){nr(e,!0)}};function nr(e,t){var r\u003de.data.ref;if(n(r)){var i\u003de.context,o\u003de.componentInstance||e.elm,a\u003di.$refs;t?Array.isArray(a[r])?h(a[r],o):a[r]\u003d\u003d\u003do\u0026\u0026(a[r]\u003dvoid 0):e.data.refInFor?Array.isArray(a[r])?a[r].indexOf(o)\u003c0\u0026\u0026a[r].push(o):a[r]\u003d[o]:a[r]\u003do}}var rr\u003dnew pe(\"\",{},[]),ir\u003d[\"create\",\"activate\",\"update\",\"remove\",\"destroy\"];function or(e,i){return e.key\u003d\u003d\u003di.key\u0026\u0026e.asyncFactory\u003d\u003d\u003di.asyncFactory\u0026\u0026(e.tag\u003d\u003d\u003di.tag\u0026\u0026e.isComment\u003d\u003d\u003di.isComment\u0026\u0026n(e.data)\u003d\u003d\u003dn(i.data)\u0026\u0026function(e,t){if(\"input\"!\u003d\u003de.tag)return!0;var r,i\u003dn(r\u003de.data)\u0026\u0026n(r\u003dr.attrs)\u0026\u0026r.type,o\u003dn(r\u003dt.data)\u0026\u0026n(r\u003dr.attrs)\u0026\u0026r.type;return i\u003d\u003d\u003do||Yn(i)\u0026\u0026Yn(o)}(e,i)||r(e.isAsyncPlaceholder)\u0026\u0026t(i.asyncFactory.error))}function ar(e,t,r){var i,o,a\u003d{};for(i\u003dt;i\u003c\u003dr;++i)n(o\u003de[i].key)\u0026\u0026(a[o]\u003di);return a}var sr\u003d{create:cr,update:cr,destroy:function(e){cr(e,rr)}};function cr(e,t){(e.data.directives||t.data.directives)\u0026\u0026function(e,t){var n,r,i,o\u003de\u003d\u003d\u003drr,a\u003dt\u003d\u003d\u003drr,s\u003dlr(e.data.directives,e.context),c\u003dlr(t.data.directives,t.context),u\u003d[],l\u003d[];for(n in c)r\u003ds[n],i\u003dc[n],r?(i.oldValue\u003dr.value,i.oldArg\u003dr.arg,pr(i,\"update\",t,e),i.def\u0026\u0026i.def.componentUpdated\u0026\u0026l.push(i)):(pr(i,\"bind\",t,e),i.def\u0026\u0026i.def.inserted\u0026\u0026u.push(i));if(u.length){var f\u003dfunction(){for(var n\u003d0;n\u003cu.length;n++)pr(u[n],\"inserted\",t,e)};o?ot(t,\"insert\",f):f()}l.length\u0026\u0026ot(t,\"postpatch\",function(){for(var n\u003d0;n\u003cl.length;n++)pr(l[n],\"componentUpdated\",t,e)});if(!o)for(n in s)c[n]||pr(s[n],\"unbind\",e,e,a)}(e,t)}var ur\u003dObject.create(null);function lr(e,t){var n,r,i\u003dObject.create(null);if(!e)return i;for(n\u003d0;n\u003ce.length;n++)(r\u003de[n]).modifiers||(r.modifiers\u003dur),i[fr(r)]\u003dr,r.def\u003dLe(t.$options,\"directives\",r.name);return i}function fr(e){return e.rawName||e.name+\".\"+Object.keys(e.modifiers||{}).join(\".\")}function pr(e,t,n,r,i){var o\u003de.def\u0026\u0026e.def[t];if(o)try{o(n.elm,e,n,r,i)}catch(r){He(r,n.context,\"directive \"+e.name+\" \"+t+\" hook\")}}var dr\u003d[tr,sr];function vr(e,r){var i\u003dr.componentOptions;if(!(n(i)\u0026\u0026!1\u003d\u003d\u003di.Ctor.options.inheritAttrs||t(e.data.attrs)\u0026\u0026t(r.data.attrs))){var o,a,s\u003dr.elm,c\u003de.data.attrs||{},u\u003dr.data.attrs||{};for(o in n(u.__ob__)\u0026\u0026(u\u003dr.data.attrs\u003dA({},u)),u)a\u003du[o],c[o]!\u003d\u003da\u0026\u0026hr(s,o,a,r.data.pre);for(o in(q||Z)\u0026\u0026u.value!\u003d\u003dc.value\u0026\u0026hr(s,\"value\",u.value),c)t(u[o])\u0026\u0026(Rn(o)?s.removeAttributeNS(Pn,Hn(o)):Ln(o)||s.removeAttribute(o))}}function hr(e,t,n,r){r||e.tagName.indexOf(\"-\")\u003e-1?mr(e,t,n):Fn(t)?Bn(n)?e.removeAttribute(t):(n\u003d\"allowfullscreen\"\u003d\u003d\u003dt\u0026\u0026\"EMBED\"\u003d\u003d\u003de.tagName?\"true\":t,e.setAttribute(t,n)):Ln(t)?e.setAttribute(t,Mn(t,n)):Rn(t)?Bn(n)?e.removeAttributeNS(Pn,Hn(t)):e.setAttributeNS(Pn,t,n):mr(e,t,n)}function mr(e,t,n){if(Bn(n))e.removeAttribute(t);else{if(q\u0026\u0026!W\u0026\u0026\"TEXTAREA\"\u003d\u003d\u003de.tagName\u0026\u0026\"placeholder\"\u003d\u003d\u003dt\u0026\u0026\"\"!\u003d\u003dn\u0026\u0026!e.__ieph){var r\u003dfunction(t){t.stopImmediatePropagation(),e.removeEventListener(\"input\",r)};e.addEventListener(\"input\",r),e.__ieph\u003d!0}e.setAttribute(t,n)}}var yr\u003d{create:vr,update:vr};function gr(e,r){var i\u003dr.elm,o\u003dr.data,a\u003de.data;if(!(t(o.staticClass)\u0026\u0026t(o.class)\u0026\u0026(t(a)||t(a.staticClass)\u0026\u0026t(a.class)))){var s\u003dUn(r),c\u003di._transitionClasses;n(c)\u0026\u0026(s\u003dzn(s,Kn(c))),s!\u003d\u003di._prevClass\u0026\u0026(i.setAttribute(\"class\",s),i._prevClass\u003ds)}}var _r,br,$r,wr,Cr,xr,kr\u003d{create:gr,update:gr},Ar\u003d/[\\w).+\\-_$\\]]/;function Or(e){var t,n,r,i,o,a\u003d!1,s\u003d!1,c\u003d!1,u\u003d!1,l\u003d0,f\u003d0,p\u003d0,d\u003d0;for(r\u003d0;r\u003ce.length;r++)if(n\u003dt,t\u003de.charCodeAt(r),a)39\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(a\u003d!1);else if(s)34\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(s\u003d!1);else if(c)96\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(c\u003d!1);else if(u)47\u003d\u003d\u003dt\u0026\u002692!\u003d\u003dn\u0026\u0026(u\u003d!1);else if(124!\u003d\u003dt||124\u003d\u003d\u003de.charCodeAt(r+1)||124\u003d\u003d\u003de.charCodeAt(r-1)||l||f||p){switch(t){case 34:s\u003d!0;break;case 39:a\u003d!0;break;case 96:c\u003d!0;break;case 40:p++;break;case 41:p--;break;case 91:f++;break;case 93:f--;break;case 123:l++;break;case 125:l--}if(47\u003d\u003d\u003dt){for(var v\u003dr-1,h\u003dvoid 0;v\u003e\u003d0\u0026\u0026\" \"\u003d\u003d\u003d(h\u003de.charAt(v));v--);h\u0026\u0026Ar.test(h)||(u\u003d!0)}}else void 0\u003d\u003d\u003di?(d\u003dr+1,i\u003de.slice(0,r).trim()):m();function m(){(o||(o\u003d[])).push(e.slice(d,r).trim()),d\u003dr+1}if(void 0\u003d\u003d\u003di?i\u003de.slice(0,r).trim():0!\u003d\u003dd\u0026\u0026m(),o)for(r\u003d0;r\u003co.length;r++)i\u003dSr(i,o[r]);return i}function Sr(e,t){var n\u003dt.indexOf(\"(\");if(n\u003c0)return\u0027_f(\"\u0027+t+\u0027\")(\u0027+e+\")\";var r\u003dt.slice(0,n),i\u003dt.slice(n+1);return\u0027_f(\"\u0027+r+\u0027\")(\u0027+e+(\")\"!\u003d\u003di?\",\"+i:i)}function Tr(e,t){console.error(\"[Vue compiler]: \"+e)}function Nr(e,t){return e?e.map(function(e){return e[t]}).filter(function(e){return e}):[]}function Er(e,t,n,r,i){(e.props||(e.props\u003d[])).push(Hr({name:t,value:n,dynamic:i},r)),e.plain\u003d!1}function jr(e,t,n,r,i){(i?e.dynamicAttrs||(e.dynamicAttrs\u003d[]):e.attrs||(e.attrs\u003d[])).push(Hr({name:t,value:n,dynamic:i},r)),e.plain\u003d!1}function Dr(e,t,n,r){e.attrsMap[t]\u003dn,e.attrsList.push(Hr({name:t,value:n},r))}function Lr(e,t,n,r,i,o,a,s){(e.directives||(e.directives\u003d[])).push(Hr({name:t,rawName:n,value:r,arg:i,isDynamicArg:o,modifiers:a},s)),e.plain\u003d!1}function Ir(e,t,n){return n?\"_p(\"+t+\u0027,\"\u0027+e+\u0027\")\u0027:e+t}function Mr(t,n,r,i,o,a,s,c){var u;(i\u003di||e).right?c?n\u003d\"(\"+n+\")\u003d\u003d\u003d\u0027click\u0027?\u0027contextmenu\u0027:(\"+n+\")\":\"click\"\u003d\u003d\u003dn\u0026\u0026(n\u003d\"contextmenu\",delete i.right):i.middle\u0026\u0026(c?n\u003d\"(\"+n+\")\u003d\u003d\u003d\u0027click\u0027?\u0027mouseup\u0027:(\"+n+\")\":\"click\"\u003d\u003d\u003dn\u0026\u0026(n\u003d\"mouseup\")),i.capture\u0026\u0026(delete i.capture,n\u003dIr(\"!\",n,c)),i.once\u0026\u0026(delete i.once,n\u003dIr(\"~\",n,c)),i.passive\u0026\u0026(delete i.passive,n\u003dIr(\"\u0026\",n,c)),i.native?(delete i.native,u\u003dt.nativeEvents||(t.nativeEvents\u003d{})):u\u003dt.events||(t.events\u003d{});var l\u003dHr({value:r.trim(),dynamic:c},s);i!\u003d\u003de\u0026\u0026(l.modifiers\u003di);var f\u003du[n];Array.isArray(f)?o?f.unshift(l):f.push(l):u[n]\u003df?o?[l,f]:[f,l]:l,t.plain\u003d!1}function Fr(e,t,n){var r\u003dPr(e,\":\"+t)||Pr(e,\"v-bind:\"+t);if(null!\u003dr)return Or(r);if(!1!\u003d\u003dn){var i\u003dPr(e,t);if(null!\u003di)return JSON.stringify(i)}}function Pr(e,t,n){var r;if(null!\u003d(r\u003de.attrsMap[t]))for(var i\u003de.attrsList,o\u003d0,a\u003di.length;o\u003ca;o++)if(i[o].name\u003d\u003d\u003dt){i.splice(o,1);break}return n\u0026\u0026delete e.attrsMap[t],r}function Rr(e,t){for(var n\u003de.attrsList,r\u003d0,i\u003dn.length;r\u003ci;r++){var o\u003dn[r];if(t.test(o.name))return n.splice(r,1),o}}function Hr(e,t){return t\u0026\u0026(null!\u003dt.start\u0026\u0026(e.start\u003dt.start),null!\u003dt.end\u0026\u0026(e.end\u003dt.end)),e}function Br(e,t,n){var r\u003dn||{},i\u003dr.number,o\u003d\"$$v\";r.trim\u0026\u0026(o\u003d\"(typeof $$v \u003d\u003d\u003d \u0027string\u0027? $$v.trim(): $$v)\"),i\u0026\u0026(o\u003d\"_n(\"+o+\")\");var a\u003dUr(t,o);e.model\u003d{value:\"(\"+t+\")\",expression:JSON.stringify(t),callback:\"function ($$v) {\"+a+\"}\"}}function Ur(e,t){var n\u003dfunction(e){if(e\u003de.trim(),_r\u003de.length,e.indexOf(\"[\")\u003c0||e.lastIndexOf(\"]\")\u003c_r-1)return(wr\u003de.lastIndexOf(\".\"))\u003e-1?{exp:e.slice(0,wr),key:\u0027\"\u0027+e.slice(wr+1)+\u0027\"\u0027}:{exp:e,key:null};br\u003de,wr\u003dCr\u003dxr\u003d0;for(;!zr();)Kr($r\u003dVr())?qr($r):91\u003d\u003d\u003d$r\u0026\u0026Jr($r);return{exp:e.slice(0,Cr),key:e.slice(Cr+1,xr)}}(e);return null\u003d\u003d\u003dn.key?e+\"\u003d\"+t:\"$set(\"+n.exp+\", \"+n.key+\", \"+t+\")\"}function Vr(){return br.charCodeAt(++wr)}function zr(){return wr\u003e\u003d_r}function Kr(e){return 34\u003d\u003d\u003de||39\u003d\u003d\u003de}function Jr(e){var t\u003d1;for(Cr\u003dwr;!zr();)if(Kr(e\u003dVr()))qr(e);else if(91\u003d\u003d\u003de\u0026\u0026t++,93\u003d\u003d\u003de\u0026\u0026t--,0\u003d\u003d\u003dt){xr\u003dwr;break}}function qr(e){for(var t\u003de;!zr()\u0026\u0026(e\u003dVr())!\u003d\u003dt;);}var Wr,Zr\u003d\"__r\",Gr\u003d\"__c\";function Xr(e,t,n){var r\u003dWr;return function i(){null!\u003d\u003dt.apply(null,arguments)\u0026\u0026ei(e,i,n,r)}}var Yr\u003dKe\u0026\u0026!(X\u0026\u0026Number(X[1])\u003c\u003d53);function Qr(e,t,n,r){if(Yr){var i\u003dsn,o\u003dt;t\u003do._wrapper\u003dfunction(e){if(e.target\u003d\u003d\u003de.currentTarget||e.timeStamp\u003e\u003di||e.timeStamp\u003c\u003d0||e.target.ownerDocument!\u003d\u003ddocument)return o.apply(this,arguments)}}Wr.addEventListener(e,t,Q?{capture:n,passive:r}:n)}function ei(e,t,n,r){(r||Wr).removeEventListener(e,t._wrapper||t,n)}function ti(e,r){if(!t(e.data.on)||!t(r.data.on)){var i\u003dr.data.on||{},o\u003de.data.on||{};Wr\u003dr.elm,function(e){if(n(e[Zr])){var t\u003dq?\"change\":\"input\";e[t]\u003d[].concat(e[Zr],e[t]||[]),delete e[Zr]}n(e[Gr])\u0026\u0026(e.change\u003d[].concat(e[Gr],e.change||[]),delete e[Gr])}(i),it(i,o,Qr,ei,Xr,r.context),Wr\u003dvoid 0}}var ni,ri\u003d{create:ti,update:ti};function ii(e,r){if(!t(e.data.domProps)||!t(r.data.domProps)){var i,o,a\u003dr.elm,s\u003de.data.domProps||{},c\u003dr.data.domProps||{};for(i in n(c.__ob__)\u0026\u0026(c\u003dr.data.domProps\u003dA({},c)),s)i in c||(a[i]\u003d\"\");for(i in c){if(o\u003dc[i],\"textContent\"\u003d\u003d\u003di||\"innerHTML\"\u003d\u003d\u003di){if(r.children\u0026\u0026(r.children.length\u003d0),o\u003d\u003d\u003ds[i])continue;1\u003d\u003d\u003da.childNodes.length\u0026\u0026a.removeChild(a.childNodes[0])}if(\"value\"\u003d\u003d\u003di\u0026\u0026\"PROGRESS\"!\u003d\u003da.tagName){a._value\u003do;var u\u003dt(o)?\"\":String(o);oi(a,u)\u0026\u0026(a.value\u003du)}else if(\"innerHTML\"\u003d\u003d\u003di\u0026\u0026Wn(a.tagName)\u0026\u0026t(a.innerHTML)){(ni\u003dni||document.createElement(\"div\")).innerHTML\u003d\"\u003csvg\u003e\"+o+\"\u003c/svg\u003e\";for(var l\u003dni.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}else if(o!\u003d\u003ds[i])try{a[i]\u003do}catch(e){}}}}function oi(e,t){return!e.composing\u0026\u0026(\"OPTION\"\u003d\u003d\u003de.tagName||function(e,t){var n\u003d!0;try{n\u003ddocument.activeElement!\u003d\u003de}catch(e){}return n\u0026\u0026e.value!\u003d\u003dt}(e,t)||function(e,t){var r\u003de.value,i\u003de._vModifiers;if(n(i)){if(i.number)return f(r)!\u003d\u003df(t);if(i.trim)return r.trim()!\u003d\u003dt.trim()}return r!\u003d\u003dt}(e,t))}var ai\u003d{create:ii,update:ii},si\u003dg(function(e){var t\u003d{},n\u003d/:(.+)/;return e.split(/;(?![^(]*\\))/g).forEach(function(e){if(e){var r\u003de.split(n);r.length\u003e1\u0026\u0026(t[r[0].trim()]\u003dr[1].trim())}}),t});function ci(e){var t\u003dui(e.style);return e.staticStyle?A(e.staticStyle,t):t}function ui(e){return Array.isArray(e)?O(e):\"string\"\u003d\u003dtypeof e?si(e):e}var li,fi\u003d/^--/,pi\u003d/\\s*!important$/,di\u003dfunction(e,t,n){if(fi.test(t))e.style.setProperty(t,n);else if(pi.test(n))e.style.setProperty(C(t),n.replace(pi,\"\"),\"important\");else{var r\u003dhi(t);if(Array.isArray(n))for(var i\u003d0,o\u003dn.length;i\u003co;i++)e.style[r]\u003dn[i];else e.style[r]\u003dn}},vi\u003d[\"Webkit\",\"Moz\",\"ms\"],hi\u003dg(function(e){if(li\u003dli||document.createElement(\"div\").style,\"filter\"!\u003d\u003d(e\u003db(e))\u0026\u0026e in li)return e;for(var t\u003de.charAt(0).toUpperCase()+e.slice(1),n\u003d0;n\u003cvi.length;n++){var r\u003dvi[n]+t;if(r in li)return r}});function mi(e,r){var i\u003dr.data,o\u003de.data;if(!(t(i.staticStyle)\u0026\u0026t(i.style)\u0026\u0026t(o.staticStyle)\u0026\u0026t(o.style))){var a,s,c\u003dr.elm,u\u003do.staticStyle,l\u003do.normalizedStyle||o.style||{},f\u003du||l,p\u003dui(r.data.style)||{};r.data.normalizedStyle\u003dn(p.__ob__)?A({},p):p;var d\u003dfunction(e,t){var n,r\u003d{};if(t)for(var i\u003de;i.componentInstance;)(i\u003di.componentInstance._vnode)\u0026\u0026i.data\u0026\u0026(n\u003dci(i.data))\u0026\u0026A(r,n);(n\u003dci(e.data))\u0026\u0026A(r,n);for(var o\u003de;o\u003do.parent;)o.data\u0026\u0026(n\u003dci(o.data))\u0026\u0026A(r,n);return r}(r,!0);for(s in f)t(d[s])\u0026\u0026di(c,s,\"\");for(s in d)(a\u003dd[s])!\u003d\u003df[s]\u0026\u0026di(c,s,null\u003d\u003da?\"\":a)}}var yi\u003d{create:mi,update:mi},gi\u003d/\\s+/;function _i(e,t){if(t\u0026\u0026(t\u003dt.trim()))if(e.classList)t.indexOf(\" \")\u003e-1?t.split(gi).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n\u003d\" \"+(e.getAttribute(\"class\")||\"\")+\" \";n.indexOf(\" \"+t+\" \")\u003c0\u0026\u0026e.setAttribute(\"class\",(n+t).trim())}}function bi(e,t){if(t\u0026\u0026(t\u003dt.trim()))if(e.classList)t.indexOf(\" \")\u003e-1?t.split(gi).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute(\"class\");else{for(var n\u003d\" \"+(e.getAttribute(\"class\")||\"\")+\" \",r\u003d\" \"+t+\" \";n.indexOf(r)\u003e\u003d0;)n\u003dn.replace(r,\" \");(n\u003dn.trim())?e.setAttribute(\"class\",n):e.removeAttribute(\"class\")}}function $i(e){if(e){if(\"object\"\u003d\u003dtypeof e){var t\u003d{};return!1!\u003d\u003de.css\u0026\u0026A(t,wi(e.name||\"v\")),A(t,e),t}return\"string\"\u003d\u003dtypeof e?wi(e):void 0}}var wi\u003dg(function(e){return{enterClass:e+\"-enter\",enterToClass:e+\"-enter-to\",enterActiveClass:e+\"-enter-active\",leaveClass:e+\"-leave\",leaveToClass:e+\"-leave-to\",leaveActiveClass:e+\"-leave-active\"}}),Ci\u003dV\u0026\u0026!W,xi\u003d\"transition\",ki\u003d\"animation\",Ai\u003d\"transition\",Oi\u003d\"transitionend\",Si\u003d\"animation\",Ti\u003d\"animationend\";Ci\u0026\u0026(void 0\u003d\u003d\u003dwindow.ontransitionend\u0026\u0026void 0!\u003d\u003dwindow.onwebkittransitionend\u0026\u0026(Ai\u003d\"WebkitTransition\",Oi\u003d\"webkitTransitionEnd\"),void 0\u003d\u003d\u003dwindow.onanimationend\u0026\u0026void 0!\u003d\u003dwindow.onwebkitanimationend\u0026\u0026(Si\u003d\"WebkitAnimation\",Ti\u003d\"webkitAnimationEnd\"));var Ni\u003dV?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Ei(e){Ni(function(){Ni(e)})}function ji(e,t){var n\u003de._transitionClasses||(e._transitionClasses\u003d[]);n.indexOf(t)\u003c0\u0026\u0026(n.push(t),_i(e,t))}function Di(e,t){e._transitionClasses\u0026\u0026h(e._transitionClasses,t),bi(e,t)}function Li(e,t,n){var r\u003dMi(e,t),i\u003dr.type,o\u003dr.timeout,a\u003dr.propCount;if(!i)return n();var s\u003di\u003d\u003d\u003dxi?Oi:Ti,c\u003d0,u\u003dfunction(){e.removeEventListener(s,l),n()},l\u003dfunction(t){t.target\u003d\u003d\u003de\u0026\u0026++c\u003e\u003da\u0026\u0026u()};setTimeout(function(){c\u003ca\u0026\u0026u()},o+1),e.addEventListener(s,l)}var Ii\u003d/\\b(transform|all)(,|$)/;function Mi(e,t){var n,r\u003dwindow.getComputedStyle(e),i\u003d(r[Ai+\"Delay\"]||\"\").split(\", \"),o\u003d(r[Ai+\"Duration\"]||\"\").split(\", \"),a\u003dFi(i,o),s\u003d(r[Si+\"Delay\"]||\"\").split(\", \"),c\u003d(r[Si+\"Duration\"]||\"\").split(\", \"),u\u003dFi(s,c),l\u003d0,f\u003d0;return t\u003d\u003d\u003dxi?a\u003e0\u0026\u0026(n\u003dxi,l\u003da,f\u003do.length):t\u003d\u003d\u003dki?u\u003e0\u0026\u0026(n\u003dki,l\u003du,f\u003dc.length):f\u003d(n\u003d(l\u003dMath.max(a,u))\u003e0?a\u003eu?xi:ki:null)?n\u003d\u003d\u003dxi?o.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:n\u003d\u003d\u003dxi\u0026\u0026Ii.test(r[Ai+\"Property\"])}}function Fi(e,t){for(;e.length\u003ct.length;)e\u003de.concat(e);return Math.max.apply(null,t.map(function(t,n){return Pi(t)+Pi(e[n])}))}function Pi(e){return 1e3*Number(e.slice(0,-1).replace(\",\",\".\"))}function Ri(e,r){var i\u003de.elm;n(i._leaveCb)\u0026\u0026(i._leaveCb.cancelled\u003d!0,i._leaveCb());var a\u003d$i(e.data.transition);if(!t(a)\u0026\u0026!n(i._enterCb)\u0026\u00261\u003d\u003d\u003di.nodeType){for(var s\u003da.css,c\u003da.type,u\u003da.enterClass,l\u003da.enterToClass,p\u003da.enterActiveClass,d\u003da.appearClass,v\u003da.appearToClass,h\u003da.appearActiveClass,m\u003da.beforeEnter,y\u003da.enter,g\u003da.afterEnter,_\u003da.enterCancelled,b\u003da.beforeAppear,$\u003da.appear,w\u003da.afterAppear,C\u003da.appearCancelled,x\u003da.duration,k\u003dZt,A\u003dZt.$vnode;A\u0026\u0026A.parent;)k\u003dA.context,A\u003dA.parent;var O\u003d!k._isMounted||!e.isRootInsert;if(!O||$||\"\"\u003d\u003d\u003d$){var S\u003dO\u0026\u0026d?d:u,T\u003dO\u0026\u0026h?h:p,N\u003dO\u0026\u0026v?v:l,E\u003dO\u0026\u0026b||m,j\u003dO\u0026\u0026\"function\"\u003d\u003dtypeof $?$:y,L\u003dO\u0026\u0026w||g,I\u003dO\u0026\u0026C||_,M\u003df(o(x)?x.enter:x),F\u003d!1!\u003d\u003ds\u0026\u0026!W,P\u003dUi(j),R\u003di._enterCb\u003dD(function(){F\u0026\u0026(Di(i,N),Di(i,T)),R.cancelled?(F\u0026\u0026Di(i,S),I\u0026\u0026I(i)):L\u0026\u0026L(i),i._enterCb\u003dnull});e.data.show||ot(e,\"insert\",function(){var t\u003di.parentNode,n\u003dt\u0026\u0026t._pending\u0026\u0026t._pending[e.key];n\u0026\u0026n.tag\u003d\u003d\u003de.tag\u0026\u0026n.elm._leaveCb\u0026\u0026n.elm._leaveCb(),j\u0026\u0026j(i,R)}),E\u0026\u0026E(i),F\u0026\u0026(ji(i,S),ji(i,T),Ei(function(){Di(i,S),R.cancelled||(ji(i,N),P||(Bi(M)?setTimeout(R,M):Li(i,c,R)))})),e.data.show\u0026\u0026(r\u0026\u0026r(),j\u0026\u0026j(i,R)),F||P||R()}}}function Hi(e,r){var i\u003de.elm;n(i._enterCb)\u0026\u0026(i._enterCb.cancelled\u003d!0,i._enterCb());var a\u003d$i(e.data.transition);if(t(a)||1!\u003d\u003di.nodeType)return r();if(!n(i._leaveCb)){var s\u003da.css,c\u003da.type,u\u003da.leaveClass,l\u003da.leaveToClass,p\u003da.leaveActiveClass,d\u003da.beforeLeave,v\u003da.leave,h\u003da.afterLeave,m\u003da.leaveCancelled,y\u003da.delayLeave,g\u003da.duration,_\u003d!1!\u003d\u003ds\u0026\u0026!W,b\u003dUi(v),$\u003df(o(g)?g.leave:g),w\u003di._leaveCb\u003dD(function(){i.parentNode\u0026\u0026i.parentNode._pending\u0026\u0026(i.parentNode._pending[e.key]\u003dnull),_\u0026\u0026(Di(i,l),Di(i,p)),w.cancelled?(_\u0026\u0026Di(i,u),m\u0026\u0026m(i)):(r(),h\u0026\u0026h(i)),i._leaveCb\u003dnull});y?y(C):C()}function C(){w.cancelled||(!e.data.show\u0026\u0026i.parentNode\u0026\u0026((i.parentNode._pending||(i.parentNode._pending\u003d{}))[e.key]\u003de),d\u0026\u0026d(i),_\u0026\u0026(ji(i,u),ji(i,p),Ei(function(){Di(i,u),w.cancelled||(ji(i,l),b||(Bi($)?setTimeout(w,$):Li(i,c,w)))})),v\u0026\u0026v(i,w),_||b||w())}}function Bi(e){return\"number\"\u003d\u003dtypeof e\u0026\u0026!isNaN(e)}function Ui(e){if(t(e))return!1;var r\u003de.fns;return n(r)?Ui(Array.isArray(r)?r[0]:r):(e._length||e.length)\u003e1}function Vi(e,t){!0!\u003d\u003dt.data.show\u0026\u0026Ri(t)}var zi\u003dfunction(e){var o,a,s\u003d{},c\u003de.modules,u\u003de.nodeOps;for(o\u003d0;o\u003cir.length;++o)for(s[ir[o]]\u003d[],a\u003d0;a\u003cc.length;++a)n(c[a][ir[o]])\u0026\u0026s[ir[o]].push(c[a][ir[o]]);function l(e){var t\u003du.parentNode(e);n(t)\u0026\u0026u.removeChild(t,e)}function f(e,t,i,o,a,c,l){if(n(e.elm)\u0026\u0026n(c)\u0026\u0026(e\u003dc[l]\u003dme(e)),e.isRootInsert\u003d!a,!function(e,t,i,o){var a\u003de.data;if(n(a)){var c\u003dn(e.componentInstance)\u0026\u0026a.keepAlive;if(n(a\u003da.hook)\u0026\u0026n(a\u003da.init)\u0026\u0026a(e,!1),n(e.componentInstance))return d(e,t),v(i,e.elm,o),r(c)\u0026\u0026function(e,t,r,i){for(var o,a\u003de;a.componentInstance;)if(a\u003da.componentInstance._vnode,n(o\u003da.data)\u0026\u0026n(o\u003do.transition)){for(o\u003d0;o\u003cs.activate.length;++o)s.activate[o](rr,a);t.push(a);break}v(r,e.elm,i)}(e,t,i,o),!0}}(e,t,i,o)){var f\u003de.data,p\u003de.children,m\u003de.tag;n(m)?(e.elm\u003de.ns?u.createElementNS(e.ns,m):u.createElement(m,e),g(e),h(e,p,t),n(f)\u0026\u0026y(e,t),v(i,e.elm,o)):r(e.isComment)?(e.elm\u003du.createComment(e.text),v(i,e.elm,o)):(e.elm\u003du.createTextNode(e.text),v(i,e.elm,o))}}function d(e,t){n(e.data.pendingInsert)\u0026\u0026(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert\u003dnull),e.elm\u003de.componentInstance.$el,m(e)?(y(e,t),g(e)):(nr(e),t.push(e))}function v(e,t,r){n(e)\u0026\u0026(n(r)?u.parentNode(r)\u003d\u003d\u003de\u0026\u0026u.insertBefore(e,t,r):u.appendChild(e,t))}function h(e,t,n){if(Array.isArray(t))for(var r\u003d0;r\u003ct.length;++r)f(t[r],n,e.elm,null,!0,t,r);else i(e.text)\u0026\u0026u.appendChild(e.elm,u.createTextNode(String(e.text)))}function m(e){for(;e.componentInstance;)e\u003de.componentInstance._vnode;return n(e.tag)}function y(e,t){for(var r\u003d0;r\u003cs.create.length;++r)s.create[r](rr,e);n(o\u003de.data.hook)\u0026\u0026(n(o.create)\u0026\u0026o.create(rr,e),n(o.insert)\u0026\u0026t.push(e))}function g(e){var t;if(n(t\u003de.fnScopeId))u.setStyleScope(e.elm,t);else for(var r\u003de;r;)n(t\u003dr.context)\u0026\u0026n(t\u003dt.$options._scopeId)\u0026\u0026u.setStyleScope(e.elm,t),r\u003dr.parent;n(t\u003dZt)\u0026\u0026t!\u003d\u003de.context\u0026\u0026t!\u003d\u003de.fnContext\u0026\u0026n(t\u003dt.$options._scopeId)\u0026\u0026u.setStyleScope(e.elm,t)}function _(e,t,n,r,i,o){for(;r\u003c\u003di;++r)f(n[r],o,e,t,!1,n,r)}function b(e){var t,r,i\u003de.data;if(n(i))for(n(t\u003di.hook)\u0026\u0026n(t\u003dt.destroy)\u0026\u0026t(e),t\u003d0;t\u003cs.destroy.length;++t)s.destroy[t](e);if(n(t\u003de.children))for(r\u003d0;r\u003ce.children.length;++r)b(e.children[r])}function $(e,t,r){for(;t\u003c\u003dr;++t){var i\u003de[t];n(i)\u0026\u0026(n(i.tag)?(w(i),b(i)):l(i.elm))}}function w(e,t){if(n(t)||n(e.data)){var r,i\u003ds.remove.length+1;for(n(t)?t.listeners+\u003di:t\u003dfunction(e,t){function n(){0\u003d\u003d--n.listeners\u0026\u0026l(e)}return n.listeners\u003dt,n}(e.elm,i),n(r\u003de.componentInstance)\u0026\u0026n(r\u003dr._vnode)\u0026\u0026n(r.data)\u0026\u0026w(r,t),r\u003d0;r\u003cs.remove.length;++r)s.remove[r](e,t);n(r\u003de.data.hook)\u0026\u0026n(r\u003dr.remove)?r(e,t):t()}else l(e.elm)}function C(e,t,r,i){for(var o\u003dr;o\u003ci;o++){var a\u003dt[o];if(n(a)\u0026\u0026or(e,a))return o}}function x(e,i,o,a,c,l){if(e!\u003d\u003di){n(i.elm)\u0026\u0026n(a)\u0026\u0026(i\u003da[c]\u003dme(i));var p\u003di.elm\u003de.elm;if(r(e.isAsyncPlaceholder))n(i.asyncFactory.resolved)?O(e.elm,i,o):i.isAsyncPlaceholder\u003d!0;else if(r(i.isStatic)\u0026\u0026r(e.isStatic)\u0026\u0026i.key\u003d\u003d\u003de.key\u0026\u0026(r(i.isCloned)||r(i.isOnce)))i.componentInstance\u003de.componentInstance;else{var d,v\u003di.data;n(v)\u0026\u0026n(d\u003dv.hook)\u0026\u0026n(d\u003dd.prepatch)\u0026\u0026d(e,i);var h\u003de.children,y\u003di.children;if(n(v)\u0026\u0026m(i)){for(d\u003d0;d\u003cs.update.length;++d)s.update[d](e,i);n(d\u003dv.hook)\u0026\u0026n(d\u003dd.update)\u0026\u0026d(e,i)}t(i.text)?n(h)\u0026\u0026n(y)?h!\u003d\u003dy\u0026\u0026function(e,r,i,o,a){for(var s,c,l,p\u003d0,d\u003d0,v\u003dr.length-1,h\u003dr[0],m\u003dr[v],y\u003di.length-1,g\u003di[0],b\u003di[y],w\u003d!a;p\u003c\u003dv\u0026\u0026d\u003c\u003dy;)t(h)?h\u003dr[++p]:t(m)?m\u003dr[--v]:or(h,g)?(x(h,g,o,i,d),h\u003dr[++p],g\u003di[++d]):or(m,b)?(x(m,b,o,i,y),m\u003dr[--v],b\u003di[--y]):or(h,b)?(x(h,b,o,i,y),w\u0026\u0026u.insertBefore(e,h.elm,u.nextSibling(m.elm)),h\u003dr[++p],b\u003di[--y]):or(m,g)?(x(m,g,o,i,d),w\u0026\u0026u.insertBefore(e,m.elm,h.elm),m\u003dr[--v],g\u003di[++d]):(t(s)\u0026\u0026(s\u003dar(r,p,v)),t(c\u003dn(g.key)?s[g.key]:C(g,r,p,v))?f(g,o,e,h.elm,!1,i,d):or(l\u003dr[c],g)?(x(l,g,o,i,d),r[c]\u003dvoid 0,w\u0026\u0026u.insertBefore(e,l.elm,h.elm)):f(g,o,e,h.elm,!1,i,d),g\u003di[++d]);p\u003ev?_(e,t(i[y+1])?null:i[y+1].elm,i,d,y,o):d\u003ey\u0026\u0026$(r,p,v)}(p,h,y,o,l):n(y)?(n(e.text)\u0026\u0026u.setTextContent(p,\"\"),_(p,null,y,0,y.length-1,o)):n(h)?$(h,0,h.length-1):n(e.text)\u0026\u0026u.setTextContent(p,\"\"):e.text!\u003d\u003di.text\u0026\u0026u.setTextContent(p,i.text),n(v)\u0026\u0026n(d\u003dv.hook)\u0026\u0026n(d\u003dd.postpatch)\u0026\u0026d(e,i)}}}function k(e,t,i){if(r(i)\u0026\u0026n(e.parent))e.parent.data.pendingInsert\u003dt;else for(var o\u003d0;o\u003ct.length;++o)t[o].data.hook.insert(t[o])}var A\u003dp(\"attrs,class,staticClass,staticStyle,key\");function O(e,t,i,o){var a,s\u003dt.tag,c\u003dt.data,u\u003dt.children;if(o\u003do||c\u0026\u0026c.pre,t.elm\u003de,r(t.isComment)\u0026\u0026n(t.asyncFactory))return t.isAsyncPlaceholder\u003d!0,!0;if(n(c)\u0026\u0026(n(a\u003dc.hook)\u0026\u0026n(a\u003da.init)\u0026\u0026a(t,!0),n(a\u003dt.componentInstance)))return d(t,i),!0;if(n(s)){if(n(u))if(e.hasChildNodes())if(n(a\u003dc)\u0026\u0026n(a\u003da.domProps)\u0026\u0026n(a\u003da.innerHTML)){if(a!\u003d\u003de.innerHTML)return!1}else{for(var l\u003d!0,f\u003de.firstChild,p\u003d0;p\u003cu.length;p++){if(!f||!O(f,u[p],i,o)){l\u003d!1;break}f\u003df.nextSibling}if(!l||f)return!1}else h(t,u,i);if(n(c)){var v\u003d!1;for(var m in c)if(!A(m)){v\u003d!0,y(t,i);break}!v\u0026\u0026c.class\u0026\u0026tt(c.class)}}else e.data!\u003d\u003dt.text\u0026\u0026(e.data\u003dt.text);return!0}return function(e,i,o,a){if(!t(i)){var c,l\u003d!1,p\u003d[];if(t(e))l\u003d!0,f(i,p);else{var d\u003dn(e.nodeType);if(!d\u0026\u0026or(e,i))x(e,i,p,null,null,a);else{if(d){if(1\u003d\u003d\u003de.nodeType\u0026\u0026e.hasAttribute(L)\u0026\u0026(e.removeAttribute(L),o\u003d!0),r(o)\u0026\u0026O(e,i,p))return k(i,p,!0),e;c\u003de,e\u003dnew pe(u.tagName(c).toLowerCase(),{},[],void 0,c)}var v\u003de.elm,h\u003du.parentNode(v);if(f(i,p,v._leaveCb?null:h,u.nextSibling(v)),n(i.parent))for(var y\u003di.parent,g\u003dm(i);y;){for(var _\u003d0;_\u003cs.destroy.length;++_)s.destroy[_](y);if(y.elm\u003di.elm,g){for(var w\u003d0;w\u003cs.create.length;++w)s.create[w](rr,y);var C\u003dy.data.hook.insert;if(C.merged)for(var A\u003d1;A\u003cC.fns.length;A++)C.fns[A]()}else nr(y);y\u003dy.parent}n(h)?$([e],0,0):n(e.tag)\u0026\u0026b(e)}}return k(i,p,l),i.elm}n(e)\u0026\u0026b(e)}}({nodeOps:er,modules:[yr,kr,ri,ai,yi,V?{create:Vi,activate:Vi,remove:function(e,t){!0!\u003d\u003de.data.show?Hi(e,t):t()}}:{}].concat(dr)});W\u0026\u0026document.addEventListener(\"selectionchange\",function(){var e\u003ddocument.activeElement;e\u0026\u0026e.vmodel\u0026\u0026Yi(e,\"input\")});var Ki\u003d{inserted:function(e,t,n,r){\"select\"\u003d\u003d\u003dn.tag?(r.elm\u0026\u0026!r.elm._vOptions?ot(n,\"postpatch\",function(){Ki.componentUpdated(e,t,n)}):Ji(e,t,n.context),e._vOptions\u003d[].map.call(e.options,Zi)):(\"textarea\"\u003d\u003d\u003dn.tag||Yn(e.type))\u0026\u0026(e._vModifiers\u003dt.modifiers,t.modifiers.lazy||(e.addEventListener(\"compositionstart\",Gi),e.addEventListener(\"compositionend\",Xi),e.addEventListener(\"change\",Xi),W\u0026\u0026(e.vmodel\u003d!0)))},componentUpdated:function(e,t,n){if(\"select\"\u003d\u003d\u003dn.tag){Ji(e,t,n.context);var r\u003de._vOptions,i\u003de._vOptions\u003d[].map.call(e.options,Zi);if(i.some(function(e,t){return!E(e,r[t])}))(e.multiple?t.value.some(function(e){return Wi(e,i)}):t.value!\u003d\u003dt.oldValue\u0026\u0026Wi(t.value,i))\u0026\u0026Yi(e,\"change\")}}};function Ji(e,t,n){qi(e,t,n),(q||Z)\u0026\u0026setTimeout(function(){qi(e,t,n)},0)}function qi(e,t,n){var r\u003dt.value,i\u003de.multiple;if(!i||Array.isArray(r)){for(var o,a,s\u003d0,c\u003de.options.length;s\u003cc;s++)if(a\u003de.options[s],i)o\u003dj(r,Zi(a))\u003e-1,a.selected!\u003d\u003do\u0026\u0026(a.selected\u003do);else if(E(Zi(a),r))return void(e.selectedIndex!\u003d\u003ds\u0026\u0026(e.selectedIndex\u003ds));i||(e.selectedIndex\u003d-1)}}function Wi(e,t){return t.every(function(t){return!E(t,e)})}function Zi(e){return\"_value\"in e?e._value:e.value}function Gi(e){e.target.composing\u003d!0}function Xi(e){e.target.composing\u0026\u0026(e.target.composing\u003d!1,Yi(e.target,\"input\"))}function Yi(e,t){var n\u003ddocument.createEvent(\"HTMLEvents\");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Qi(e){return!e.componentInstance||e.data\u0026\u0026e.data.transition?e:Qi(e.componentInstance._vnode)}var eo\u003d{model:Ki,show:{bind:function(e,t,n){var r\u003dt.value,i\u003d(n\u003dQi(n)).data\u0026\u0026n.data.transition,o\u003de.__vOriginalDisplay\u003d\"none\"\u003d\u003d\u003de.style.display?\"\":e.style.display;r\u0026\u0026i?(n.data.show\u003d!0,Ri(n,function(){e.style.display\u003do})):e.style.display\u003dr?o:\"none\"},update:function(e,t,n){var r\u003dt.value;!r!\u003d!t.oldValue\u0026\u0026((n\u003dQi(n)).data\u0026\u0026n.data.transition?(n.data.show\u003d!0,r?Ri(n,function(){e.style.display\u003de.__vOriginalDisplay}):Hi(n,function(){e.style.display\u003d\"none\"})):e.style.display\u003dr?e.__vOriginalDisplay:\"none\")},unbind:function(e,t,n,r,i){i||(e.style.display\u003de.__vOriginalDisplay)}}},to\u003d{name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function no(e){var t\u003de\u0026\u0026e.componentOptions;return t\u0026\u0026t.Ctor.options.abstract?no(zt(t.children)):e}function ro(e){var t\u003d{},n\u003de.$options;for(var r in n.propsData)t[r]\u003de[r];var i\u003dn._parentListeners;for(var o in i)t[b(o)]\u003di[o];return t}function io(e,t){if(/\\d-keep-alive$/.test(t.tag))return e(\"keep-alive\",{props:t.componentOptions.propsData})}var oo\u003dfunction(e){return e.tag||pt(e)},ao\u003dfunction(e){return\"show\"\u003d\u003d\u003de.name},so\u003d{name:\"transition\",props:to,abstract:!0,render:function(e){var t\u003dthis,n\u003dthis.$slots.default;if(n\u0026\u0026(n\u003dn.filter(oo)).length){var r\u003dthis.mode,o\u003dn[0];if(function(e){for(;e\u003de.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var a\u003dno(o);if(!a)return o;if(this._leaving)return io(e,o);var s\u003d\"__transition-\"+this._uid+\"-\";a.key\u003dnull\u003d\u003da.key?a.isComment?s+\"comment\":s+a.tag:i(a.key)?0\u003d\u003d\u003dString(a.key).indexOf(s)?a.key:s+a.key:a.key;var c\u003d(a.data||(a.data\u003d{})).transition\u003dro(this),u\u003dthis._vnode,l\u003dno(u);if(a.data.directives\u0026\u0026a.data.directives.some(ao)\u0026\u0026(a.data.show\u003d!0),l\u0026\u0026l.data\u0026\u0026!function(e,t){return t.key\u003d\u003d\u003de.key\u0026\u0026t.tag\u003d\u003d\u003de.tag}(a,l)\u0026\u0026!pt(l)\u0026\u0026(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f\u003dl.data.transition\u003dA({},c);if(\"out-in\"\u003d\u003d\u003dr)return this._leaving\u003d!0,ot(f,\"afterLeave\",function(){t._leaving\u003d!1,t.$forceUpdate()}),io(e,o);if(\"in-out\"\u003d\u003d\u003dr){if(pt(a))return u;var p,d\u003dfunction(){p()};ot(c,\"afterEnter\",d),ot(c,\"enterCancelled\",d),ot(f,\"delayLeave\",function(e){p\u003de})}}return o}}},co\u003dA({tag:String,moveClass:String},to);function uo(e){e.elm._moveCb\u0026\u0026e.elm._moveCb(),e.elm._enterCb\u0026\u0026e.elm._enterCb()}function lo(e){e.data.newPos\u003de.elm.getBoundingClientRect()}function fo(e){var t\u003de.data.pos,n\u003de.data.newPos,r\u003dt.left-n.left,i\u003dt.top-n.top;if(r||i){e.data.moved\u003d!0;var o\u003de.elm.style;o.transform\u003do.WebkitTransform\u003d\"translate(\"+r+\"px,\"+i+\"px)\",o.transitionDuration\u003d\"0s\"}}delete co.mode;var po\u003d{Transition:so,TransitionGroup:{props:co,beforeMount:function(){var e\u003dthis,t\u003dthis._update;this._update\u003dfunction(n,r){var i\u003dGt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode\u003de.kept,i(),t.call(e,n,r)}},render:function(e){for(var t\u003dthis.tag||this.$vnode.data.tag||\"span\",n\u003dObject.create(null),r\u003dthis.prevChildren\u003dthis.children,i\u003dthis.$slots.default||[],o\u003dthis.children\u003d[],a\u003dro(this),s\u003d0;s\u003ci.length;s++){var c\u003di[s];c.tag\u0026\u0026null!\u003dc.key\u0026\u00260!\u003d\u003dString(c.key).indexOf(\"__vlist\")\u0026\u0026(o.push(c),n[c.key]\u003dc,(c.data||(c.data\u003d{})).transition\u003da)}if(r){for(var u\u003d[],l\u003d[],f\u003d0;f\u003cr.length;f++){var p\u003dr[f];p.data.transition\u003da,p.data.pos\u003dp.elm.getBoundingClientRect(),n[p.key]?u.push(p):l.push(p)}this.kept\u003de(t,null,u),this.removed\u003dl}return e(t,null,o)},updated:function(){var e\u003dthis.prevChildren,t\u003dthis.moveClass||(this.name||\"v\")+\"-move\";e.length\u0026\u0026this.hasMove(e[0].elm,t)\u0026\u0026(e.forEach(uo),e.forEach(lo),e.forEach(fo),this._reflow\u003ddocument.body.offsetHeight,e.forEach(function(e){if(e.data.moved){var n\u003de.elm,r\u003dn.style;ji(n,t),r.transform\u003dr.WebkitTransform\u003dr.transitionDuration\u003d\"\",n.addEventListener(Oi,n._moveCb\u003dfunction e(r){r\u0026\u0026r.target!\u003d\u003dn||r\u0026\u0026!/transform$/.test(r.propertyName)||(n.removeEventListener(Oi,e),n._moveCb\u003dnull,Di(n,t))})}}))},methods:{hasMove:function(e,t){if(!Ci)return!1;if(this._hasMove)return this._hasMove;var n\u003de.cloneNode();e._transitionClasses\u0026\u0026e._transitionClasses.forEach(function(e){bi(n,e)}),_i(n,t),n.style.display\u003d\"none\",this.$el.appendChild(n);var r\u003dMi(n);return this.$el.removeChild(n),this._hasMove\u003dr.hasTransform}}}};Cn.config.mustUseProp\u003dDn,Cn.config.isReservedTag\u003dZn,Cn.config.isReservedAttr\u003dEn,Cn.config.getTagNamespace\u003dGn,Cn.config.isUnknownElement\u003dfunction(e){if(!V)return!0;if(Zn(e))return!1;if(e\u003de.toLowerCase(),null!\u003dXn[e])return Xn[e];var t\u003ddocument.createElement(e);return e.indexOf(\"-\")\u003e-1?Xn[e]\u003dt.constructor\u003d\u003d\u003dwindow.HTMLUnknownElement||t.constructor\u003d\u003d\u003dwindow.HTMLElement:Xn[e]\u003d/HTMLUnknownElement/.test(t.toString())},A(Cn.options.directives,eo),A(Cn.options.components,po),Cn.prototype.__patch__\u003dV?zi:S,Cn.prototype.$mount\u003dfunction(e,t){return function(e,t,n){var r;return e.$el\u003dt,e.$options.render||(e.$options.render\u003dve),Qt(e,\"beforeMount\"),r\u003dfunction(){e._update(e._render(),n)},new pn(e,r,S,{before:function(){e._isMounted\u0026\u0026!e._isDestroyed\u0026\u0026Qt(e,\"beforeUpdate\")}},!0),n\u003d!1,null\u003d\u003de.$vnode\u0026\u0026(e._isMounted\u003d!0,Qt(e,\"mounted\")),e}(this,e\u003de\u0026\u0026V?Qn(e):void 0,t)},V\u0026\u0026setTimeout(function(){F.devtools\u0026\u0026ne\u0026\u0026ne.emit(\"init\",Cn)},0);var vo\u003d/\\{\\{((?:.|\\r?\\n)+?)\\}\\}/g,ho\u003d/[-.*+?^${}()|[\\]\\/\\\\]/g,mo\u003dg(function(e){var t\u003de[0].replace(ho,\"\\\\$\u0026\"),n\u003de[1].replace(ho,\"\\\\$\u0026\");return new RegExp(t+\"((?:.|\\\\n)+?)\"+n,\"g\")});var yo\u003d{staticKeys:[\"staticClass\"],transformNode:function(e,t){t.warn;var n\u003dPr(e,\"class\");n\u0026\u0026(e.staticClass\u003dJSON.stringify(n));var r\u003dFr(e,\"class\",!1);r\u0026\u0026(e.classBinding\u003dr)},genData:function(e){var t\u003d\"\";return e.staticClass\u0026\u0026(t+\u003d\"staticClass:\"+e.staticClass+\",\"),e.classBinding\u0026\u0026(t+\u003d\"class:\"+e.classBinding+\",\"),t}};var go,_o\u003d{staticKeys:[\"staticStyle\"],transformNode:function(e,t){t.warn;var n\u003dPr(e,\"style\");n\u0026\u0026(e.staticStyle\u003dJSON.stringify(si(n)));var r\u003dFr(e,\"style\",!1);r\u0026\u0026(e.styleBinding\u003dr)},genData:function(e){var t\u003d\"\";return e.staticStyle\u0026\u0026(t+\u003d\"staticStyle:\"+e.staticStyle+\",\"),e.styleBinding\u0026\u0026(t+\u003d\"style:(\"+e.styleBinding+\"),\"),t}},bo\u003dfunction(e){return(go\u003dgo||document.createElement(\"div\")).innerHTML\u003de,go.textContent},$o\u003dp(\"area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr\"),wo\u003dp(\"colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source\"),Co\u003dp(\"address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track\"),xo\u003d/^\\s*([^\\s\"\u0027\u003c\u003e\\/\u003d]+)(?:\\s*(\u003d)\\s*(?:\"([^\"]*)\"+|\u0027([^\u0027]*)\u0027+|([^\\s\"\u0027\u003d\u003c\u003e`]+)))?/,ko\u003d/^\\s*((?:v-[\\w-]+:|@|:|#)\\[[^\u003d]+?\\][^\\s\"\u0027\u003c\u003e\\/\u003d]*)(?:\\s*(\u003d)\\s*(?:\"([^\"]*)\"+|\u0027([^\u0027]*)\u0027+|([^\\s\"\u0027\u003d\u003c\u003e`]+)))?/,Ao\u003d\"[a-zA-Z_][\\\\-\\\\.0-9_a-zA-Z\"+P.source+\"]*\",Oo\u003d\"((?:\"+Ao+\"\\\\:)?\"+Ao+\")\",So\u003dnew RegExp(\"^\u003c\"+Oo),To\u003d/^\\s*(\\/?)\u003e/,No\u003dnew RegExp(\"^\u003c\\\\/\"+Oo+\"[^\u003e]*\u003e\"),Eo\u003d/^\u003c!DOCTYPE [^\u003e]+\u003e/i,jo\u003d/^\u003c!\\--/,Do\u003d/^\u003c!\\[/,Lo\u003dp(\"script,style,textarea\",!0),Io\u003d{},Mo\u003d{\"\u0026lt;\":\"\u003c\",\"\u0026gt;\":\"\u003e\",\"\u0026quot;\":\u0027\"\u0027,\"\u0026amp;\":\"\u0026\",\"\u0026#10;\":\"\\n\",\"\u0026#9;\":\"\\t\",\"\u0026#39;\":\"\u0027\"},Fo\u003d/\u0026(?:lt|gt|quot|amp|#39);/g,Po\u003d/\u0026(?:lt|gt|quot|amp|#39|#10|#9);/g,Ro\u003dp(\"pre,textarea\",!0),Ho\u003dfunction(e,t){return e\u0026\u0026Ro(e)\u0026\u0026\"\\n\"\u003d\u003d\u003dt[0]};function Bo(e,t){var n\u003dt?Po:Fo;return e.replace(n,function(e){return Mo[e]})}var Uo,Vo,zo,Ko,Jo,qo,Wo,Zo,Go\u003d/^@|^v-on:/,Xo\u003d/^v-|^@|^:|^#/,Yo\u003d/([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/,Qo\u003d/,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/,ea\u003d/^\\(|\\)$/g,ta\u003d/^\\[.*\\]$/,na\u003d/:(.*)$/,ra\u003d/^:|^\\.|^v-bind:/,ia\u003d/\\.[^.\\]]+(?\u003d[^\\]]*$)/g,oa\u003d/^v-slot(:|$)|^#/,aa\u003d/[\\r\\n]/,sa\u003d/[ \\f\\t\\r\\n]+/g,ca\u003dg(bo),ua\u003d\"_empty_\";function la(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:ya(t),rawAttrsMap:{},parent:n,children:[]}}function fa(e,t){Uo\u003dt.warn||Tr,qo\u003dt.isPreTag||T,Wo\u003dt.mustUseProp||T,Zo\u003dt.getTagNamespace||T;t.isReservedTag;zo\u003dNr(t.modules,\"transformNode\"),Ko\u003dNr(t.modules,\"preTransformNode\"),Jo\u003dNr(t.modules,\"postTransformNode\"),Vo\u003dt.delimiters;var n,r,i\u003d[],o\u003d!1!\u003d\u003dt.preserveWhitespace,a\u003dt.whitespace,s\u003d!1,c\u003d!1;function u(e){if(l(e),s||e.processed||(e\u003dpa(e,t)),i.length||e\u003d\u003d\u003dn||n.if\u0026\u0026(e.elseif||e.else)\u0026\u0026va(n,{exp:e.elseif,block:e}),r\u0026\u0026!e.forbidden)if(e.elseif||e.else)a\u003de,(u\u003dfunction(e){var t\u003de.length;for(;t--;){if(1\u003d\u003d\u003de[t].type)return e[t];e.pop()}}(r.children))\u0026\u0026u.if\u0026\u0026va(u,{exp:a.elseif,block:a});else{if(e.slotScope){var o\u003de.slotTarget||\u0027\"default\"\u0027;(r.scopedSlots||(r.scopedSlots\u003d{}))[o]\u003de}r.children.push(e),e.parent\u003dr}var a,u;e.children\u003de.children.filter(function(e){return!e.slotScope}),l(e),e.pre\u0026\u0026(s\u003d!1),qo(e.tag)\u0026\u0026(c\u003d!1);for(var f\u003d0;f\u003cJo.length;f++)Jo[f](e,t)}function l(e){if(!c)for(var t;(t\u003de.children[e.children.length-1])\u0026\u00263\u003d\u003d\u003dt.type\u0026\u0026\" \"\u003d\u003d\u003dt.text;)e.children.pop()}return function(e,t){for(var n,r,i\u003d[],o\u003dt.expectHTML,a\u003dt.isUnaryTag||T,s\u003dt.canBeLeftOpenTag||T,c\u003d0;e;){if(n\u003de,r\u0026\u0026Lo(r)){var u\u003d0,l\u003dr.toLowerCase(),f\u003dIo[l]||(Io[l]\u003dnew RegExp(\"([\\\\s\\\\S]*?)(\u003c/\"+l+\"[^\u003e]*\u003e)\",\"i\")),p\u003de.replace(f,function(e,n,r){return u\u003dr.length,Lo(l)||\"noscript\"\u003d\u003d\u003dl||(n\u003dn.replace(/\u003c!\\--([\\s\\S]*?)--\u003e/g,\"$1\").replace(/\u003c!\\[CDATA\\[([\\s\\S]*?)]]\u003e/g,\"$1\")),Ho(l,n)\u0026\u0026(n\u003dn.slice(1)),t.chars\u0026\u0026t.chars(n),\"\"});c+\u003de.length-p.length,e\u003dp,A(l,c-u,c)}else{var d\u003de.indexOf(\"\u003c\");if(0\u003d\u003d\u003dd){if(jo.test(e)){var v\u003de.indexOf(\"--\\x3e\");if(v\u003e\u003d0){t.shouldKeepComment\u0026\u0026t.comment(e.substring(4,v),c,c+v+3),C(v+3);continue}}if(Do.test(e)){var h\u003de.indexOf(\"]\u003e\");if(h\u003e\u003d0){C(h+2);continue}}var m\u003de.match(Eo);if(m){C(m[0].length);continue}var y\u003de.match(No);if(y){var g\u003dc;C(y[0].length),A(y[1],g,c);continue}var _\u003dx();if(_){k(_),Ho(_.tagName,e)\u0026\u0026C(1);continue}}var b\u003dvoid 0,$\u003dvoid 0,w\u003dvoid 0;if(d\u003e\u003d0){for($\u003de.slice(d);!(No.test($)||So.test($)||jo.test($)||Do.test($)||(w\u003d$.indexOf(\"\u003c\",1))\u003c0);)d+\u003dw,$\u003de.slice(d);b\u003de.substring(0,d)}d\u003c0\u0026\u0026(b\u003de),b\u0026\u0026C(b.length),t.chars\u0026\u0026b\u0026\u0026t.chars(b,c-b.length,c)}if(e\u003d\u003d\u003dn){t.chars\u0026\u0026t.chars(e);break}}function C(t){c+\u003dt,e\u003de.substring(t)}function x(){var t\u003de.match(So);if(t){var n,r,i\u003d{tagName:t[1],attrs:[],start:c};for(C(t[0].length);!(n\u003de.match(To))\u0026\u0026(r\u003de.match(ko)||e.match(xo));)r.start\u003dc,C(r[0].length),r.end\u003dc,i.attrs.push(r);if(n)return i.unarySlash\u003dn[1],C(n[0].length),i.end\u003dc,i}}function k(e){var n\u003de.tagName,c\u003de.unarySlash;o\u0026\u0026(\"p\"\u003d\u003d\u003dr\u0026\u0026Co(n)\u0026\u0026A(r),s(n)\u0026\u0026r\u003d\u003d\u003dn\u0026\u0026A(n));for(var u\u003da(n)||!!c,l\u003de.attrs.length,f\u003dnew Array(l),p\u003d0;p\u003cl;p++){var d\u003de.attrs[p],v\u003dd[3]||d[4]||d[5]||\"\",h\u003d\"a\"\u003d\u003d\u003dn\u0026\u0026\"href\"\u003d\u003d\u003dd[1]?t.shouldDecodeNewlinesForHref:t.shouldDecodeNewlines;f[p]\u003d{name:d[1],value:Bo(v,h)}}u||(i.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:f,start:e.start,end:e.end}),r\u003dn),t.start\u0026\u0026t.start(n,f,u,e.start,e.end)}function A(e,n,o){var a,s;if(null\u003d\u003dn\u0026\u0026(n\u003dc),null\u003d\u003do\u0026\u0026(o\u003dc),e)for(s\u003de.toLowerCase(),a\u003di.length-1;a\u003e\u003d0\u0026\u0026i[a].lowerCasedTag!\u003d\u003ds;a--);else a\u003d0;if(a\u003e\u003d0){for(var u\u003di.length-1;u\u003e\u003da;u--)t.end\u0026\u0026t.end(i[u].tag,n,o);i.length\u003da,r\u003da\u0026\u0026i[a-1].tag}else\"br\"\u003d\u003d\u003ds?t.start\u0026\u0026t.start(e,[],!0,n,o):\"p\"\u003d\u003d\u003ds\u0026\u0026(t.start\u0026\u0026t.start(e,[],!1,n,o),t.end\u0026\u0026t.end(e,n,o))}A()}(e,{warn:Uo,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,outputSourceRange:t.outputSourceRange,start:function(e,o,a,l,f){var p\u003dr\u0026\u0026r.ns||Zo(e);q\u0026\u0026\"svg\"\u003d\u003d\u003dp\u0026\u0026(o\u003dfunction(e){for(var t\u003d[],n\u003d0;n\u003ce.length;n++){var r\u003de[n];ga.test(r.name)||(r.name\u003dr.name.replace(_a,\"\"),t.push(r))}return t}(o));var d,v\u003dla(e,o,r);p\u0026\u0026(v.ns\u003dp),\"style\"!\u003d\u003d(d\u003dv).tag\u0026\u0026(\"script\"!\u003d\u003dd.tag||d.attrsMap.type\u0026\u0026\"text/javascript\"!\u003d\u003dd.attrsMap.type)||te()||(v.forbidden\u003d!0);for(var h\u003d0;h\u003cKo.length;h++)v\u003dKo[h](v,t)||v;s||(!function(e){null!\u003dPr(e,\"v-pre\")\u0026\u0026(e.pre\u003d!0)}(v),v.pre\u0026\u0026(s\u003d!0)),qo(v.tag)\u0026\u0026(c\u003d!0),s?function(e){var t\u003de.attrsList,n\u003dt.length;if(n)for(var r\u003de.attrs\u003dnew Array(n),i\u003d0;i\u003cn;i++)r[i]\u003d{name:t[i].name,value:JSON.stringify(t[i].value)},null!\u003dt[i].start\u0026\u0026(r[i].start\u003dt[i].start,r[i].end\u003dt[i].end);else e.pre||(e.plain\u003d!0)}(v):v.processed||(da(v),function(e){var t\u003dPr(e,\"v-if\");if(t)e.if\u003dt,va(e,{exp:t,block:e});else{null!\u003dPr(e,\"v-else\")\u0026\u0026(e.else\u003d!0);var n\u003dPr(e,\"v-else-if\");n\u0026\u0026(e.elseif\u003dn)}}(v),function(e){null!\u003dPr(e,\"v-once\")\u0026\u0026(e.once\u003d!0)}(v)),n||(n\u003dv),a?u(v):(r\u003dv,i.push(v))},end:function(e,t,n){var o\u003di[i.length-1];i.length-\u003d1,r\u003di[i.length-1],u(o)},chars:function(e,t,n){if(r\u0026\u0026(!q||\"textarea\"!\u003d\u003dr.tag||r.attrsMap.placeholder!\u003d\u003de)){var i,u,l,f\u003dr.children;if(e\u003dc||e.trim()?\"script\"\u003d\u003d\u003d(i\u003dr).tag||\"style\"\u003d\u003d\u003di.tag?e:ca(e):f.length?a?\"condense\"\u003d\u003d\u003da\u0026\u0026aa.test(e)?\"\":\" \":o?\" \":\"\":\"\")c||\"condense\"!\u003d\u003da||(e\u003de.replace(sa,\" \")),!s\u0026\u0026\" \"!\u003d\u003de\u0026\u0026(u\u003dfunction(e,t){var n\u003dt?mo(t):vo;if(n.test(e)){for(var r,i,o,a\u003d[],s\u003d[],c\u003dn.lastIndex\u003d0;r\u003dn.exec(e);){(i\u003dr.index)\u003ec\u0026\u0026(s.push(o\u003de.slice(c,i)),a.push(JSON.stringify(o)));var u\u003dOr(r[1].trim());a.push(\"_s(\"+u+\")\"),s.push({\"@binding\":u}),c\u003di+r[0].length}return c\u003ce.length\u0026\u0026(s.push(o\u003de.slice(c)),a.push(JSON.stringify(o))),{expression:a.join(\"+\"),tokens:s}}}(e,Vo))?l\u003d{type:2,expression:u.expression,tokens:u.tokens,text:e}:\" \"\u003d\u003d\u003de\u0026\u0026f.length\u0026\u0026\" \"\u003d\u003d\u003df[f.length-1].text||(l\u003d{type:3,text:e}),l\u0026\u0026f.push(l)}},comment:function(e,t,n){if(r){var i\u003d{type:3,text:e,isComment:!0};r.children.push(i)}}}),n}function pa(e,t){var n,r;(r\u003dFr(n\u003de,\"key\"))\u0026\u0026(n.key\u003dr),e.plain\u003d!e.key\u0026\u0026!e.scopedSlots\u0026\u0026!e.attrsList.length,function(e){var t\u003dFr(e,\"ref\");t\u0026\u0026(e.ref\u003dt,e.refInFor\u003dfunction(e){var t\u003de;for(;t;){if(void 0!\u003d\u003dt.for)return!0;t\u003dt.parent}return!1}(e))}(e),function(e){var t;\"template\"\u003d\u003d\u003de.tag?(t\u003dPr(e,\"scope\"),e.slotScope\u003dt||Pr(e,\"slot-scope\")):(t\u003dPr(e,\"slot-scope\"))\u0026\u0026(e.slotScope\u003dt);var n\u003dFr(e,\"slot\");n\u0026\u0026(e.slotTarget\u003d\u0027\"\"\u0027\u003d\u003d\u003dn?\u0027\"default\"\u0027:n,e.slotTargetDynamic\u003d!(!e.attrsMap[\":slot\"]\u0026\u0026!e.attrsMap[\"v-bind:slot\"]),\"template\"\u003d\u003d\u003de.tag||e.slotScope||jr(e,\"slot\",n,function(e,t){return e.rawAttrsMap[\":\"+t]||e.rawAttrsMap[\"v-bind:\"+t]||e.rawAttrsMap[t]}(e,\"slot\")));if(\"template\"\u003d\u003d\u003de.tag){var r\u003dRr(e,oa);if(r){var i\u003dha(r),o\u003di.name,a\u003di.dynamic;e.slotTarget\u003do,e.slotTargetDynamic\u003da,e.slotScope\u003dr.value||ua}}else{var s\u003dRr(e,oa);if(s){var c\u003de.scopedSlots||(e.scopedSlots\u003d{}),u\u003dha(s),l\u003du.name,f\u003du.dynamic,p\u003dc[l]\u003dla(\"template\",[],e);p.slotTarget\u003dl,p.slotTargetDynamic\u003df,p.children\u003de.children.filter(function(e){if(!e.slotScope)return e.parent\u003dp,!0}),p.slotScope\u003ds.value||ua,e.children\u003d[],e.plain\u003d!1}}}(e),function(e){\"slot\"\u003d\u003d\u003de.tag\u0026\u0026(e.slotName\u003dFr(e,\"name\"))}(e),function(e){var t;(t\u003dFr(e,\"is\"))\u0026\u0026(e.component\u003dt);null!\u003dPr(e,\"inline-template\")\u0026\u0026(e.inlineTemplate\u003d!0)}(e);for(var i\u003d0;i\u003czo.length;i++)e\u003dzo[i](e,t)||e;return function(e){var t,n,r,i,o,a,s,c,u\u003de.attrsList;for(t\u003d0,n\u003du.length;t\u003cn;t++)if(r\u003di\u003du[t].name,o\u003du[t].value,Xo.test(r))if(e.hasBindings\u003d!0,(a\u003dma(r.replace(Xo,\"\")))\u0026\u0026(r\u003dr.replace(ia,\"\")),ra.test(r))r\u003dr.replace(ra,\"\"),o\u003dOr(o),(c\u003dta.test(r))\u0026\u0026(r\u003dr.slice(1,-1)),a\u0026\u0026(a.prop\u0026\u0026!c\u0026\u0026\"innerHtml\"\u003d\u003d\u003d(r\u003db(r))\u0026\u0026(r\u003d\"innerHTML\"),a.camel\u0026\u0026!c\u0026\u0026(r\u003db(r)),a.sync\u0026\u0026(s\u003dUr(o,\"$event\"),c?Mr(e,\u0027\"update:\"+(\u0027+r+\")\",s,null,!1,0,u[t],!0):(Mr(e,\"update:\"+b(r),s,null,!1,0,u[t]),C(r)!\u003d\u003db(r)\u0026\u0026Mr(e,\"update:\"+C(r),s,null,!1,0,u[t])))),a\u0026\u0026a.prop||!e.component\u0026\u0026Wo(e.tag,e.attrsMap.type,r)?Er(e,r,o,u[t],c):jr(e,r,o,u[t],c);else if(Go.test(r))r\u003dr.replace(Go,\"\"),(c\u003dta.test(r))\u0026\u0026(r\u003dr.slice(1,-1)),Mr(e,r,o,a,!1,0,u[t],c);else{var l\u003d(r\u003dr.replace(Xo,\"\")).match(na),f\u003dl\u0026\u0026l[1];c\u003d!1,f\u0026\u0026(r\u003dr.slice(0,-(f.length+1)),ta.test(f)\u0026\u0026(f\u003df.slice(1,-1),c\u003d!0)),Lr(e,r,i,o,f,c,a,u[t])}else jr(e,r,JSON.stringify(o),u[t]),!e.component\u0026\u0026\"muted\"\u003d\u003d\u003dr\u0026\u0026Wo(e.tag,e.attrsMap.type,r)\u0026\u0026Er(e,r,\"true\",u[t])}(e),e}function da(e){var t;if(t\u003dPr(e,\"v-for\")){var n\u003dfunction(e){var t\u003de.match(Yo);if(!t)return;var n\u003d{};n.for\u003dt[2].trim();var r\u003dt[1].trim().replace(ea,\"\"),i\u003dr.match(Qo);i?(n.alias\u003dr.replace(Qo,\"\").trim(),n.iterator1\u003di[1].trim(),i[2]\u0026\u0026(n.iterator2\u003di[2].trim())):n.alias\u003dr;return n}(t);n\u0026\u0026A(e,n)}}function va(e,t){e.ifConditions||(e.ifConditions\u003d[]),e.ifConditions.push(t)}function ha(e){var t\u003de.name.replace(oa,\"\");return t||\"#\"!\u003d\u003de.name[0]\u0026\u0026(t\u003d\"default\"),ta.test(t)?{name:t.slice(1,-1),dynamic:!0}:{name:\u0027\"\u0027+t+\u0027\"\u0027,dynamic:!1}}function ma(e){var t\u003de.match(ia);if(t){var n\u003d{};return t.forEach(function(e){n[e.slice(1)]\u003d!0}),n}}function ya(e){for(var t\u003d{},n\u003d0,r\u003de.length;n\u003cr;n++)t[e[n].name]\u003de[n].value;return t}var ga\u003d/^xmlns:NS\\d+/,_a\u003d/^NS\\d+:/;function ba(e){return la(e.tag,e.attrsList.slice(),e.parent)}var $a\u003d[yo,_o,{preTransformNode:function(e,t){if(\"input\"\u003d\u003d\u003de.tag){var n,r\u003de.attrsMap;if(!r[\"v-model\"])return;if((r[\":type\"]||r[\"v-bind:type\"])\u0026\u0026(n\u003dFr(e,\"type\")),r.type||n||!r[\"v-bind\"]||(n\u003d\"(\"+r[\"v-bind\"]+\").type\"),n){var i\u003dPr(e,\"v-if\",!0),o\u003di?\"\u0026\u0026(\"+i+\")\":\"\",a\u003dnull!\u003dPr(e,\"v-else\",!0),s\u003dPr(e,\"v-else-if\",!0),c\u003dba(e);da(c),Dr(c,\"type\",\"checkbox\"),pa(c,t),c.processed\u003d!0,c.if\u003d\"(\"+n+\")\u003d\u003d\u003d\u0027checkbox\u0027\"+o,va(c,{exp:c.if,block:c});var u\u003dba(e);Pr(u,\"v-for\",!0),Dr(u,\"type\",\"radio\"),pa(u,t),va(c,{exp:\"(\"+n+\")\u003d\u003d\u003d\u0027radio\u0027\"+o,block:u});var l\u003dba(e);return Pr(l,\"v-for\",!0),Dr(l,\":type\",n),pa(l,t),va(c,{exp:i,block:l}),a?c.else\u003d!0:s\u0026\u0026(c.elseif\u003ds),c}}}}];var wa,Ca,xa\u003d{expectHTML:!0,modules:$a,directives:{model:function(e,t,n){var r\u003dt.value,i\u003dt.modifiers,o\u003de.tag,a\u003de.attrsMap.type;if(e.component)return Br(e,r,i),!1;if(\"select\"\u003d\u003d\u003do)!function(e,t,n){var r\u003d\u0027var $$selectedVal \u003d Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val \u003d \"_value\" in o ? o._value : o.value;return \u0027+(n\u0026\u0026n.number?\"_n(val)\":\"val\")+\"});\";r\u003dr+\" \"+Ur(t,\"$event.target.multiple ? $$selectedVal : $$selectedVal[0]\"),Mr(e,\"change\",r,null,!0)}(e,r,i);else if(\"input\"\u003d\u003d\u003do\u0026\u0026\"checkbox\"\u003d\u003d\u003da)!function(e,t,n){var r\u003dn\u0026\u0026n.number,i\u003dFr(e,\"value\")||\"null\",o\u003dFr(e,\"true-value\")||\"true\",a\u003dFr(e,\"false-value\")||\"false\";Er(e,\"checked\",\"Array.isArray(\"+t+\")?_i(\"+t+\",\"+i+\")\u003e-1\"+(\"true\"\u003d\u003d\u003do?\":(\"+t+\")\":\":_q(\"+t+\",\"+o+\")\")),Mr(e,\"change\",\"var $$a\u003d\"+t+\",$$el\u003d$event.target,$$c\u003d$$el.checked?(\"+o+\"):(\"+a+\");if(Array.isArray($$a)){var $$v\u003d\"+(r?\"_n(\"+i+\")\":i)+\",$$i\u003d_i($$a,$$v);if($$el.checked){$$i\u003c0\u0026\u0026(\"+Ur(t,\"$$a.concat([$$v])\")+\")}else{$$i\u003e-1\u0026\u0026(\"+Ur(t,\"$$a.slice(0,$$i).concat($$a.slice($$i+1))\")+\")}}else{\"+Ur(t,\"$$c\")+\"}\",null,!0)}(e,r,i);else if(\"input\"\u003d\u003d\u003do\u0026\u0026\"radio\"\u003d\u003d\u003da)!function(e,t,n){var r\u003dn\u0026\u0026n.number,i\u003dFr(e,\"value\")||\"null\";Er(e,\"checked\",\"_q(\"+t+\",\"+(i\u003dr?\"_n(\"+i+\")\":i)+\")\"),Mr(e,\"change\",Ur(t,i),null,!0)}(e,r,i);else if(\"input\"\u003d\u003d\u003do||\"textarea\"\u003d\u003d\u003do)!function(e,t,n){var r\u003de.attrsMap.type,i\u003dn||{},o\u003di.lazy,a\u003di.number,s\u003di.trim,c\u003d!o\u0026\u0026\"range\"!\u003d\u003dr,u\u003do?\"change\":\"range\"\u003d\u003d\u003dr?Zr:\"input\",l\u003d\"$event.target.value\";s\u0026\u0026(l\u003d\"$event.target.value.trim()\"),a\u0026\u0026(l\u003d\"_n(\"+l+\")\");var f\u003dUr(t,l);c\u0026\u0026(f\u003d\"if($event.target.composing)return;\"+f),Er(e,\"value\",\"(\"+t+\")\"),Mr(e,u,f,null,!0),(s||a)\u0026\u0026Mr(e,\"blur\",\"$forceUpdate()\")}(e,r,i);else if(!F.isReservedTag(o))return Br(e,r,i),!1;return!0},text:function(e,t){t.value\u0026\u0026Er(e,\"textContent\",\"_s(\"+t.value+\")\",t)},html:function(e,t){t.value\u0026\u0026Er(e,\"innerHTML\",\"_s(\"+t.value+\")\",t)}},isPreTag:function(e){return\"pre\"\u003d\u003d\u003de},isUnaryTag:$o,mustUseProp:Dn,canBeLeftOpenTag:wo,isReservedTag:Zn,getTagNamespace:Gn,staticKeys:function(e){return e.reduce(function(e,t){return e.concat(t.staticKeys||[])},[]).join(\",\")}($a)},ka\u003dg(function(e){return p(\"type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap\"+(e?\",\"+e:\"\"))});function Aa(e,t){e\u0026\u0026(wa\u003dka(t.staticKeys||\"\"),Ca\u003dt.isReservedTag||T,function e(t){t.static\u003dfunction(e){if(2\u003d\u003d\u003de.type)return!1;if(3\u003d\u003d\u003de.type)return!0;return!(!e.pre\u0026\u0026(e.hasBindings||e.if||e.for||d(e.tag)||!Ca(e.tag)||function(e){for(;e.parent;){if(\"template\"!\u003d\u003d(e\u003de.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(wa)))}(t);if(1\u003d\u003d\u003dt.type){if(!Ca(t.tag)\u0026\u0026\"slot\"!\u003d\u003dt.tag\u0026\u0026null\u003d\u003dt.attrsMap[\"inline-template\"])return;for(var n\u003d0,r\u003dt.children.length;n\u003cr;n++){var i\u003dt.children[n];e(i),i.static||(t.static\u003d!1)}if(t.ifConditions)for(var o\u003d1,a\u003dt.ifConditions.length;o\u003ca;o++){var s\u003dt.ifConditions[o].block;e(s),s.static||(t.static\u003d!1)}}}(e),function e(t,n){if(1\u003d\u003d\u003dt.type){if((t.static||t.once)\u0026\u0026(t.staticInFor\u003dn),t.static\u0026\u0026t.children.length\u0026\u0026(1!\u003d\u003dt.children.length||3!\u003d\u003dt.children[0].type))return void(t.staticRoot\u003d!0);if(t.staticRoot\u003d!1,t.children)for(var r\u003d0,i\u003dt.children.length;r\u003ci;r++)e(t.children[r],n||!!t.for);if(t.ifConditions)for(var o\u003d1,a\u003dt.ifConditions.length;o\u003ca;o++)e(t.ifConditions[o].block,n)}}(e,!1))}var Oa\u003d/^([\\w$_]+|\\([^)]*?\\))\\s*\u003d\u003e|^function(?:\\s+[\\w$]+)?\\s*\\(/,Sa\u003d/\\([^)]*?\\);*$/,Ta\u003d/^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\[\u0027[^\u0027]*?\u0027]|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/,Na\u003d{esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ea\u003d{esc:[\"Esc\",\"Escape\"],tab:\"Tab\",enter:\"Enter\",space:[\" \",\"Spacebar\"],up:[\"Up\",\"ArrowUp\"],left:[\"Left\",\"ArrowLeft\"],right:[\"Right\",\"ArrowRight\"],down:[\"Down\",\"ArrowDown\"],delete:[\"Backspace\",\"Delete\",\"Del\"]},ja\u003dfunction(e){return\"if(\"+e+\")return null;\"},Da\u003d{stop:\"$event.stopPropagation();\",prevent:\"$event.preventDefault();\",self:ja(\"$event.target !\u003d\u003d $event.currentTarget\"),ctrl:ja(\"!$event.ctrlKey\"),shift:ja(\"!$event.shiftKey\"),alt:ja(\"!$event.altKey\"),meta:ja(\"!$event.metaKey\"),left:ja(\"\u0027button\u0027 in $event \u0026\u0026 $event.button !\u003d\u003d 0\"),middle:ja(\"\u0027button\u0027 in $event \u0026\u0026 $event.button !\u003d\u003d 1\"),right:ja(\"\u0027button\u0027 in $event \u0026\u0026 $event.button !\u003d\u003d 2\")};function La(e,t){var n\u003dt?\"nativeOn:\":\"on:\",r\u003d\"\",i\u003d\"\";for(var o in e){var a\u003dIa(e[o]);e[o]\u0026\u0026e[o].dynamic?i+\u003do+\",\"+a+\",\":r+\u003d\u0027\"\u0027+o+\u0027\":\u0027+a+\",\"}return r\u003d\"{\"+r.slice(0,-1)+\"}\",i?n+\"_d(\"+r+\",[\"+i.slice(0,-1)+\"])\":n+r}function Ia(e){if(!e)return\"function(){}\";if(Array.isArray(e))return\"[\"+e.map(function(e){return Ia(e)}).join(\",\")+\"]\";var t\u003dTa.test(e.value),n\u003dOa.test(e.value),r\u003dTa.test(e.value.replace(Sa,\"\"));if(e.modifiers){var i\u003d\"\",o\u003d\"\",a\u003d[];for(var s in e.modifiers)if(Da[s])o+\u003dDa[s],Na[s]\u0026\u0026a.push(s);else if(\"exact\"\u003d\u003d\u003ds){var c\u003de.modifiers;o+\u003dja([\"ctrl\",\"shift\",\"alt\",\"meta\"].filter(function(e){return!c[e]}).map(function(e){return\"$event.\"+e+\"Key\"}).join(\"||\"))}else a.push(s);return a.length\u0026\u0026(i+\u003dfunction(e){return\"if(!$event.type.indexOf(\u0027key\u0027)\u0026\u0026\"+e.map(Ma).join(\"\u0026\u0026\")+\")return null;\"}(a)),o\u0026\u0026(i+\u003do),\"function($event){\"+i+(t?\"return \"+e.value+\".apply(null, arguments)\":n?\"return (\"+e.value+\").apply(null, arguments)\":r?\"return \"+e.value:e.value)+\"}\"}return t||n?e.value:\"function($event){\"+(r?\"return \"+e.value:e.value)+\"}\"}function Ma(e){var t\u003dparseInt(e,10);if(t)return\"$event.keyCode!\u003d\u003d\"+t;var n\u003dNa[e],r\u003dEa[e];return\"_k($event.keyCode,\"+JSON.stringify(e)+\",\"+JSON.stringify(n)+\",$event.key,\"+JSON.stringify(r)+\")\"}var Fa\u003d{on:function(e,t){e.wrapListeners\u003dfunction(e){return\"_g(\"+e+\",\"+t.value+\")\"}},bind:function(e,t){e.wrapData\u003dfunction(n){return\"_b(\"+n+\",\u0027\"+e.tag+\"\u0027,\"+t.value+\",\"+(t.modifiers\u0026\u0026t.modifiers.prop?\"true\":\"false\")+(t.modifiers\u0026\u0026t.modifiers.sync?\",true\":\"\")+\")\"}},cloak:S},Pa\u003dfunction(e){this.options\u003de,this.warn\u003de.warn||Tr,this.transforms\u003dNr(e.modules,\"transformCode\"),this.dataGenFns\u003dNr(e.modules,\"genData\"),this.directives\u003dA(A({},Fa),e.directives);var t\u003de.isReservedTag||T;this.maybeComponent\u003dfunction(e){return!!e.component||!t(e.tag)},this.onceId\u003d0,this.staticRenderFns\u003d[],this.pre\u003d!1};function Ra(e,t){var n\u003dnew Pa(t);return{render:\"with(this){return \"+(e?\"script\"\u003d\u003d\u003de.tag?\"null\":Ha(e,n):\u0027_c(\"div\")\u0027)+\"}\",staticRenderFns:n.staticRenderFns}}function Ha(e,t){if(e.parent\u0026\u0026(e.pre\u003de.pre||e.parent.pre),e.staticRoot\u0026\u0026!e.staticProcessed)return Ba(e,t);if(e.once\u0026\u0026!e.onceProcessed)return Ua(e,t);if(e.for\u0026\u0026!e.forProcessed)return za(e,t);if(e.if\u0026\u0026!e.ifProcessed)return Va(e,t);if(\"template\"!\u003d\u003de.tag||e.slotTarget||t.pre){if(\"slot\"\u003d\u003d\u003de.tag)return function(e,t){var n\u003de.slotName||\u0027\"default\"\u0027,r\u003dWa(e,t),i\u003d\"_t(\"+n+(r?\",function(){return \"+r+\"}\":\"\"),o\u003de.attrs||e.dynamicAttrs?Xa((e.attrs||[]).concat(e.dynamicAttrs||[]).map(function(e){return{name:b(e.name),value:e.value,dynamic:e.dynamic}})):null,a\u003de.attrsMap[\"v-bind\"];!o\u0026\u0026!a||r||(i+\u003d\",null\");o\u0026\u0026(i+\u003d\",\"+o);a\u0026\u0026(i+\u003d(o?\"\":\",null\")+\",\"+a);return i+\")\"}(e,t);var n;if(e.component)n\u003dfunction(e,t,n){var r\u003dt.inlineTemplate?null:Wa(t,n,!0);return\"_c(\"+e+\",\"+Ka(t,n)+(r?\",\"+r:\"\")+\")\"}(e.component,e,t);else{var r;(!e.plain||e.pre\u0026\u0026t.maybeComponent(e))\u0026\u0026(r\u003dKa(e,t));var i\u003de.inlineTemplate?null:Wa(e,t,!0);n\u003d\"_c(\u0027\"+e.tag+\"\u0027\"+(r?\",\"+r:\"\")+(i?\",\"+i:\"\")+\")\"}for(var o\u003d0;o\u003ct.transforms.length;o++)n\u003dt.transforms[o](e,n);return n}return Wa(e,t)||\"void 0\"}function Ba(e,t){e.staticProcessed\u003d!0;var n\u003dt.pre;return e.pre\u0026\u0026(t.pre\u003de.pre),t.staticRenderFns.push(\"with(this){return \"+Ha(e,t)+\"}\"),t.pre\u003dn,\"_m(\"+(t.staticRenderFns.length-1)+(e.staticInFor?\",true\":\"\")+\")\"}function Ua(e,t){if(e.onceProcessed\u003d!0,e.if\u0026\u0026!e.ifProcessed)return Va(e,t);if(e.staticInFor){for(var n\u003d\"\",r\u003de.parent;r;){if(r.for){n\u003dr.key;break}r\u003dr.parent}return n?\"_o(\"+Ha(e,t)+\",\"+t.onceId+++\",\"+n+\")\":Ha(e,t)}return Ba(e,t)}function Va(e,t,n,r){return e.ifProcessed\u003d!0,function e(t,n,r,i){if(!t.length)return i||\"_e()\";var o\u003dt.shift();return o.exp?\"(\"+o.exp+\")?\"+a(o.block)+\":\"+e(t,n,r,i):\"\"+a(o.block);function a(e){return r?r(e,n):e.once?Ua(e,n):Ha(e,n)}}(e.ifConditions.slice(),t,n,r)}function za(e,t,n,r){var i\u003de.for,o\u003de.alias,a\u003de.iterator1?\",\"+e.iterator1:\"\",s\u003de.iterator2?\",\"+e.iterator2:\"\";return e.forProcessed\u003d!0,(r||\"_l\")+\"((\"+i+\"),function(\"+o+a+s+\"){return \"+(n||Ha)(e,t)+\"})\"}function Ka(e,t){var n\u003d\"{\",r\u003dfunction(e,t){var n\u003de.directives;if(!n)return;var r,i,o,a,s\u003d\"directives:[\",c\u003d!1;for(r\u003d0,i\u003dn.length;r\u003ci;r++){o\u003dn[r],a\u003d!0;var u\u003dt.directives[o.name];u\u0026\u0026(a\u003d!!u(e,o,t.warn)),a\u0026\u0026(c\u003d!0,s+\u003d\u0027{name:\"\u0027+o.name+\u0027\",rawName:\"\u0027+o.rawName+\u0027\"\u0027+(o.value?\",value:(\"+o.value+\"),expression:\"+JSON.stringify(o.value):\"\")+(o.arg?\",arg:\"+(o.isDynamicArg?o.arg:\u0027\"\u0027+o.arg+\u0027\"\u0027):\"\")+(o.modifiers?\",modifiers:\"+JSON.stringify(o.modifiers):\"\")+\"},\")}if(c)return s.slice(0,-1)+\"]\"}(e,t);r\u0026\u0026(n+\u003dr+\",\"),e.key\u0026\u0026(n+\u003d\"key:\"+e.key+\",\"),e.ref\u0026\u0026(n+\u003d\"ref:\"+e.ref+\",\"),e.refInFor\u0026\u0026(n+\u003d\"refInFor:true,\"),e.pre\u0026\u0026(n+\u003d\"pre:true,\"),e.component\u0026\u0026(n+\u003d\u0027tag:\"\u0027+e.tag+\u0027\",\u0027);for(var i\u003d0;i\u003ct.dataGenFns.length;i++)n+\u003dt.dataGenFns[i](e);if(e.attrs\u0026\u0026(n+\u003d\"attrs:\"+Xa(e.attrs)+\",\"),e.props\u0026\u0026(n+\u003d\"domProps:\"+Xa(e.props)+\",\"),e.events\u0026\u0026(n+\u003dLa(e.events,!1)+\",\"),e.nativeEvents\u0026\u0026(n+\u003dLa(e.nativeEvents,!0)+\",\"),e.slotTarget\u0026\u0026!e.slotScope\u0026\u0026(n+\u003d\"slot:\"+e.slotTarget+\",\"),e.scopedSlots\u0026\u0026(n+\u003dfunction(e,t,n){var r\u003de.for||Object.keys(t).some(function(e){var n\u003dt[e];return n.slotTargetDynamic||n.if||n.for||Ja(n)}),i\u003d!!e.if;if(!r)for(var o\u003de.parent;o;){if(o.slotScope\u0026\u0026o.slotScope!\u003d\u003dua||o.for){r\u003d!0;break}o.if\u0026\u0026(i\u003d!0),o\u003do.parent}var a\u003dObject.keys(t).map(function(e){return qa(t[e],n)}).join(\",\");return\"scopedSlots:_u([\"+a+\"]\"+(r?\",null,true\":\"\")+(!r\u0026\u0026i?\",null,false,\"+function(e){var t\u003d5381,n\u003de.length;for(;n;)t\u003d33*t^e.charCodeAt(--n);return t\u003e\u003e\u003e0}(a):\"\")+\")\"}(e,e.scopedSlots,t)+\",\"),e.model\u0026\u0026(n+\u003d\"model:{value:\"+e.model.value+\",callback:\"+e.model.callback+\",expression:\"+e.model.expression+\"},\"),e.inlineTemplate){var o\u003dfunction(e,t){var n\u003de.children[0];if(n\u0026\u00261\u003d\u003d\u003dn.type){var r\u003dRa(n,t.options);return\"inlineTemplate:{render:function(){\"+r.render+\"},staticRenderFns:[\"+r.staticRenderFns.map(function(e){return\"function(){\"+e+\"}\"}).join(\",\")+\"]}\"}}(e,t);o\u0026\u0026(n+\u003do+\",\")}return n\u003dn.replace(/,$/,\"\")+\"}\",e.dynamicAttrs\u0026\u0026(n\u003d\"_b(\"+n+\u0027,\"\u0027+e.tag+\u0027\",\u0027+Xa(e.dynamicAttrs)+\")\"),e.wrapData\u0026\u0026(n\u003de.wrapData(n)),e.wrapListeners\u0026\u0026(n\u003de.wrapListeners(n)),n}function Ja(e){return 1\u003d\u003d\u003de.type\u0026\u0026(\"slot\"\u003d\u003d\u003de.tag||e.children.some(Ja))}function qa(e,t){var n\u003de.attrsMap[\"slot-scope\"];if(e.if\u0026\u0026!e.ifProcessed\u0026\u0026!n)return Va(e,t,qa,\"null\");if(e.for\u0026\u0026!e.forProcessed)return za(e,t,qa);var r\u003de.slotScope\u003d\u003d\u003dua?\"\":String(e.slotScope),i\u003d\"function(\"+r+\"){return \"+(\"template\"\u003d\u003d\u003de.tag?e.if\u0026\u0026n?\"(\"+e.if+\")?\"+(Wa(e,t)||\"undefined\")+\":undefined\":Wa(e,t)||\"undefined\":Ha(e,t))+\"}\",o\u003dr?\"\":\",proxy:true\";return\"{key:\"+(e.slotTarget||\u0027\"default\"\u0027)+\",fn:\"+i+o+\"}\"}function Wa(e,t,n,r,i){var o\u003de.children;if(o.length){var a\u003do[0];if(1\u003d\u003d\u003do.length\u0026\u0026a.for\u0026\u0026\"template\"!\u003d\u003da.tag\u0026\u0026\"slot\"!\u003d\u003da.tag){var s\u003dn?t.maybeComponent(a)?\",1\":\",0\":\"\";return\"\"+(r||Ha)(a,t)+s}var c\u003dn?function(e,t){for(var n\u003d0,r\u003d0;r\u003ce.length;r++){var i\u003de[r];if(1\u003d\u003d\u003di.type){if(Za(i)||i.ifConditions\u0026\u0026i.ifConditions.some(function(e){return Za(e.block)})){n\u003d2;break}(t(i)||i.ifConditions\u0026\u0026i.ifConditions.some(function(e){return t(e.block)}))\u0026\u0026(n\u003d1)}}return n}(o,t.maybeComponent):0,u\u003di||Ga;return\"[\"+o.map(function(e){return u(e,t)}).join(\",\")+\"]\"+(c?\",\"+c:\"\")}}function Za(e){return void 0!\u003d\u003de.for||\"template\"\u003d\u003d\u003de.tag||\"slot\"\u003d\u003d\u003de.tag}function Ga(e,t){return 1\u003d\u003d\u003de.type?Ha(e,t):3\u003d\u003d\u003de.type\u0026\u0026e.isComment?(r\u003de,\"_e(\"+JSON.stringify(r.text)+\")\"):\"_v(\"+(2\u003d\u003d\u003d(n\u003de).type?n.expression:Ya(JSON.stringify(n.text)))+\")\";var n,r}function Xa(e){for(var t\u003d\"\",n\u003d\"\",r\u003d0;r\u003ce.length;r++){var i\u003de[r],o\u003dYa(i.value);i.dynamic?n+\u003di.name+\",\"+o+\",\":t+\u003d\u0027\"\u0027+i.name+\u0027\":\u0027+o+\",\"}return t\u003d\"{\"+t.slice(0,-1)+\"}\",n?\"_d(\"+t+\",[\"+n.slice(0,-1)+\"])\":t}function Ya(e){return e.replace(/\\u2028/g,\"\\\\u2028\").replace(/\\u2029/g,\"\\\\u2029\")}new RegExp(\"\\\\b\"+\"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments\".split(\",\").join(\"\\\\b|\\\\b\")+\"\\\\b\");function Qa(e,t){try{return new Function(e)}catch(n){return t.push({err:n,code:e}),S}}function es(e){var t\u003dObject.create(null);return function(n,r,i){(r\u003dA({},r)).warn;delete r.warn;var o\u003dr.delimiters?String(r.delimiters)+n:n;if(t[o])return t[o];var a\u003de(n,r),s\u003d{},c\u003d[];return s.render\u003dQa(a.render,c),s.staticRenderFns\u003da.staticRenderFns.map(function(e){return Qa(e,c)}),t[o]\u003ds}}var ts,ns,rs\u003d(ts\u003dfunction(e,t){var n\u003dfa(e.trim(),t);!1!\u003d\u003dt.optimize\u0026\u0026Aa(n,t);var r\u003dRa(n,t);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}},function(e){function t(t,n){var r\u003dObject.create(e),i\u003d[],o\u003d[];if(n)for(var a in n.modules\u0026\u0026(r.modules\u003d(e.modules||[]).concat(n.modules)),n.directives\u0026\u0026(r.directives\u003dA(Object.create(e.directives||null),n.directives)),n)\"modules\"!\u003d\u003da\u0026\u0026\"directives\"!\u003d\u003da\u0026\u0026(r[a]\u003dn[a]);r.warn\u003dfunction(e,t,n){(n?o:i).push(e)};var s\u003dts(t.trim(),r);return s.errors\u003di,s.tips\u003do,s}return{compile:t,compileToFunctions:es(t)}})(xa),is\u003d(rs.compile,rs.compileToFunctions);function os(e){return(ns\u003dns||document.createElement(\"div\")).innerHTML\u003de?\u0027\u003ca href\u003d\"\\n\"/\u003e\u0027:\u0027\u003cdiv a\u003d\"\\n\"/\u003e\u0027,ns.innerHTML.indexOf(\"\u0026#10;\")\u003e0}var as\u003d!!V\u0026\u0026os(!1),ss\u003d!!V\u0026\u0026os(!0),cs\u003dg(function(e){var t\u003dQn(e);return t\u0026\u0026t.innerHTML}),us\u003dCn.prototype.$mount;return Cn.prototype.$mount\u003dfunction(e,t){if((e\u003de\u0026\u0026Qn(e))\u003d\u003d\u003ddocument.body||e\u003d\u003d\u003ddocument.documentElement)return this;var n\u003dthis.$options;if(!n.render){var r\u003dn.template;if(r)if(\"string\"\u003d\u003dtypeof r)\"#\"\u003d\u003d\u003dr.charAt(0)\u0026\u0026(r\u003dcs(r));else{if(!r.nodeType)return this;r\u003dr.innerHTML}else e\u0026\u0026(r\u003dfunction(e){if(e.outerHTML)return e.outerHTML;var t\u003ddocument.createElement(\"div\");return t.appendChild(e.cloneNode(!0)),t.innerHTML}(e));if(r){var i\u003dis(r,{outputSourceRange:!1,shouldDecodeNewlines:as,shouldDecodeNewlinesForHref:ss,delimiters:n.delimiters,comments:n.comments},this),o\u003di.render,a\u003di.staticRenderFns;n.render\u003do,n.staticRenderFns\u003da}}return us.call(this,e,t)},Cn.compile\u003dis,Cn});"}],"authorContributionMap":{"KevinEyo1":6}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/_mixins.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"// @see https://github.com/twbs/bootstrap/blob/main/scss/_functions.scss"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"@function material-icons-str-replace($string, $search, $replace: \u0027\u0027) {"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" $index: str-index($string, $search);"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" @if $index {"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" @return str-slice($string, 1, $index - 1) + $replace +"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" material-icons-str-replace("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":" str-slice($string, $index + str-length($search)),"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" $search,"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" $replace"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" );"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" @return $string;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"@mixin material-icons-font-class($font-family) {"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" font-family: $font-family;"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" font-size: $material-icons-font-size;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased; // Support for all WebKit browsers"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale; // Support for Firefox"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility; // Support for Safari and Chrome"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \u0027liga\u0027; // Support for IE"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"@mixin material-icons-font($font-family) {"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" $class-name: to-lower-case($font-family);"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" $class-name: material-icons-str-replace($class-name, \u0027 \u0027, \u0027-\u0027);"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" $font-file: $material-icons-font-path + $class-name;"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" @font-face {"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" font-family: $font-family;"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" font-display: $material-icons-font-display;"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" src: url(\u0027#{$font-file}.woff2\u0027) format(\u0027woff2\u0027),"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" url(\u0027#{$font-file}.woff\u0027) format(\u0027woff\u0027);"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":" .#{$class-name} {"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":" @include material-icons-font-class($font-family);"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":"@mixin material-icons() {"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":" @warn \"material-icons() Sass mixin has been deprecated as of 1.0. Use \u0027@extend .material-icons;\u0027 instead of \u0027@include material-icons();\u0027.\";"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":" @include material-icons-font-class(\u0027Material Icons\u0027);"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":55}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/_variables.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"$material-icons-font-path: \u0027./\u0027 !default;"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"$material-icons-font-size: 24px !default;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":"$material-icons-font-display: block !default;"}],"authorContributionMap":{"KevinEyo1":3}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/filled.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons\";"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons.woff2\") format(\"woff2\"), url(\"./material-icons.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".material-icons {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons\";"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":24}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/filled.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"@include material-icons-font(\u0027Material Icons\u0027);"}],"authorContributionMap":{"KevinEyo1":4}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/material-icons.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons\";"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons.woff2\") format(\"woff2\"), url(\"./material-icons.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".material-icons {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons\";"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-outlined.woff2\") format(\"woff2\"), url(\"./material-icons-outlined.woff\") format(\"woff\");"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":".material-icons-outlined {"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-round.woff2\") format(\"woff2\"), url(\"./material-icons-round.woff\") format(\"woff\");"},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":".material-icons-round {"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":72,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":73,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":74,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":76,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":77,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":80,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":81,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-sharp.woff2\") format(\"woff2\"), url(\"./material-icons-sharp.woff\") format(\"woff\");"},{"lineNumber":82,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":83,"author":{"gitId":"KevinEyo1"},"content":".material-icons-sharp {"},{"lineNumber":84,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":85,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":86,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":87,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":88,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":89,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":90,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":91,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":92,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":93,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":94,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":95,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":96,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":97,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":98,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":99,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":100,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":101,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":102,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":103,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":104,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":105,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":106,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-two-tone.woff2\") format(\"woff2\"), url(\"./material-icons-two-tone.woff\") format(\"woff\");"},{"lineNumber":107,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":108,"author":{"gitId":"KevinEyo1"},"content":".material-icons-two-tone {"},{"lineNumber":109,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":110,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":111,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":112,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":113,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":114,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":115,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":116,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":117,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":118,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":119,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":120,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":121,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":122,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":123,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":124,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":124}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/material-icons.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027filled\u0027;"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027outlined\u0027;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027round\u0027;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027sharp\u0027;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027two-tone\u0027;"}],"authorContributionMap":{"KevinEyo1":5}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/outlined.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-outlined.woff2\") format(\"woff2\"), url(\"./material-icons-outlined.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".material-icons-outlined {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Outlined\";"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":24}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/outlined.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"@include material-icons-font(\u0027Material Icons Outlined\u0027);"}],"authorContributionMap":{"KevinEyo1":4}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/round.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-round.woff2\") format(\"woff2\"), url(\"./material-icons-round.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".material-icons-round {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Round\";"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":24}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/round.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"@include material-icons-font(\u0027Material Icons Round\u0027);"}],"authorContributionMap":{"KevinEyo1":4}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/sharp.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-sharp.woff2\") format(\"woff2\"), url(\"./material-icons-sharp.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".material-icons-sharp {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Sharp\";"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":24}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/sharp.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"@include material-icons-font(\u0027Material Icons Sharp\u0027);"}],"authorContributionMap":{"KevinEyo1":4}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/two-tone.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@font-face {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-weight: 400;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" font-display: block;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" src: url(\"./material-icons-two-tone.woff2\") format(\"woff2\"), url(\"./material-icons-two-tone.woff\") format(\"woff\");"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".material-icons-two-tone {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Material Icons Two Tone\";"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" font-weight: normal;"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" font-style: normal;"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" font-size: 24px;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" letter-spacing: normal;"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" text-transform: none;"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" display: inline-block;"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" white-space: nowrap;"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" word-wrap: normal;"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" direction: ltr;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" -webkit-font-smoothing: antialiased;"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" -moz-osx-font-smoothing: grayscale;"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" text-rendering: optimizeLegibility;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" font-feature-settings: \"liga\";"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":24}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/markbind/material-icons/two-tone.scss","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027variables\u0027;"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"@import \u0027mixins\u0027;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"@include material-icons-font(\u0027Material Icons Two Tone\u0027);"}],"authorContributionMap":{"KevinEyo1":4}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/plugins/markbind-plugin-anchors/markbind-plugin-anchors.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":".fa.fa-anchor {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" color: #ccc;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" display: inline;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-size: 14px;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" margin-left: 10px;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" padding: 3px;"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":" text-decoration: none;"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" visibility: hidden;"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":".fa.fa-anchor:hover {"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" color: #555;"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"h1:hover \u003e .fa.fa-anchor,"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"h2:hover \u003e .fa.fa-anchor,"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"h3:hover \u003e .fa.fa-anchor,"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"h4:hover \u003e .fa.fa-anchor,"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"h5:hover \u003e .fa.fa-anchor,"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"h6:hover \u003e .fa.fa-anchor,"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":".header-wrapper:hover \u003e .fa.fa-anchor {"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" visibility: visible;"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":23}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/plugins/markbind-plugin-tree/markbind-plugin-tree.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":".tree {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" white-space: pre;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" font-family: \"Fira Code\", \"Fira Mono\", monospace;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" font-size: 0.9375rem;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" line-height: 1.5;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" overflow-x: auto;"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":7}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/siteData.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"{"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" \"enableSearch\": true,"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" \"pages\": ["},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/Configuration.md\","},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Configuration guide\","},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" \"configuration-guide\": \"Configuration guide\""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/Design.md\","},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Design\","},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" \"design\": \"Design\","},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" \"architecture\": \"Architecture\","},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" \"component-1\": \"Component 1\","},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" \"component-2\": \"Component 2\""},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/DevOps.md\","},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"DevOps guide\","},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" \"devops-guide\": \"DevOps guide\","},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" \"build-automation\": \"Build automation\","},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" \"continuous-integration-ci\": \"Continuous integration (CI)\","},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" \"code-coverage\": \"Code coverage\","},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":" \"repository-wide-checks\": \"Repository-wide checks\","},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":" \"making-a-release\": \"Making a release\""},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/DeveloperGuide.md\","},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Developer Guide\","},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" \"projectex-developer-guide\": \"ProjectEx Developer Guide\","},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" \"introduction\": \"Introduction\","},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" \"purpose-of-this-guide\": \"Purpose of this Guide\","},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" \"acknowledgements\": \"Acknowledgements\""},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/Documentation.md\","},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Documentation guide\","},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":" \"documentation-guide\": \"Documentation Guide\""},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/Implementation.md\","},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Implementation\","},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":" \"implementation\": \"Implementation\","},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":" \"proposed-featurex-implementation\": \"[Proposed] FeatureX Implementation\","},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" \"proposed-data-archiving\": \"[Proposed] Data archiving\""},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/Requirements.md\","},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Requirements\","},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":" \"requirements\": \"Requirements\","},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":" \"product-scope\": \"Product scope\","},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":" \"user-stories\": \"User stories\","},{"lineNumber":72,"author":{"gitId":"KevinEyo1"},"content":" \"use-cases\": \"Use cases\","},{"lineNumber":73,"author":{"gitId":"KevinEyo1"},"content":" \"non-functional-requirements\": \"Non-Functional Requirements\""},{"lineNumber":74,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":76,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":77,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/SettingUp.md\","},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Setting up and getting started\","},{"lineNumber":80,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":81,"author":{"gitId":"KevinEyo1"},"content":" \"setting-up-and-getting-started\": \"Setting up and getting started\","},{"lineNumber":82,"author":{"gitId":"KevinEyo1"},"content":" \"setting-up-the-project-in-your-computer\": \"Setting up the project in your computer\","},{"lineNumber":83,"author":{"gitId":"KevinEyo1"},"content":" \"before-writing-code\": \"Before writing code\""},{"lineNumber":84,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":85,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":86,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":87,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":88,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/Testing.md\","},{"lineNumber":89,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Testing guide\","},{"lineNumber":90,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":91,"author":{"gitId":"KevinEyo1"},"content":" \"testing-guide\": \"Testing guide\","},{"lineNumber":92,"author":{"gitId":"KevinEyo1"},"content":" \"running-tests\": \"Running tests\","},{"lineNumber":93,"author":{"gitId":"KevinEyo1"},"content":" \"types-of-tests\": \"Types of tests\""},{"lineNumber":94,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":95,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":96,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":97,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":98,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"developerGuide/TracingCode.md\","},{"lineNumber":99,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Tutorial: Tracing code\","},{"lineNumber":100,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":101,"author":{"gitId":"KevinEyo1"},"content":" \"tutorial-tracing-code\": \"Tutorial: Tracing code\","},{"lineNumber":102,"author":{"gitId":"KevinEyo1"},"content":" \"before-we-start\": \"Before we start\","},{"lineNumber":103,"author":{"gitId":"KevinEyo1"},"content":" \"setting-a-breakpoint\": \"Setting a breakpoint\","},{"lineNumber":104,"author":{"gitId":"KevinEyo1"},"content":" \"tracing-the-execution-path\": \"Tracing the execution path\""},{"lineNumber":105,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":106,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":107,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":108,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":109,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"index.md\","},{"lineNumber":110,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"\","},{"lineNumber":111,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":112,"author":{"gitId":"KevinEyo1"},"content":" \"projectex\": \"ProjectEx\""},{"lineNumber":113,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":114,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":115,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":116,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":117,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"team/AboutUs.md\","},{"lineNumber":118,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"About Us\","},{"lineNumber":119,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":120,"author":{"gitId":"KevinEyo1"},"content":" \"about-us\": \"About Us\","},{"lineNumber":121,"author":{"gitId":"KevinEyo1"},"content":" \"project-team\": \"Project team\","},{"lineNumber":122,"author":{"gitId":"KevinEyo1"},"content":" \"john-doe\": \"John Doe\","},{"lineNumber":123,"author":{"gitId":"KevinEyo1"},"content":" \"jane-doe\": \"Jane Doe\","},{"lineNumber":124,"author":{"gitId":"KevinEyo1"},"content":" \"johnny-doe\": \"Johnny Doe\","},{"lineNumber":125,"author":{"gitId":"KevinEyo1"},"content":" \"jean-doe\": \"Jean Doe\","},{"lineNumber":126,"author":{"gitId":"KevinEyo1"},"content":" \"james-doe\": \"James Doe\""},{"lineNumber":127,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":128,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":129,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":130,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":131,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"team/johndoe.md\","},{"lineNumber":132,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Portfolio Page\","},{"lineNumber":133,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":134,"author":{"gitId":"KevinEyo1"},"content":" \"project-projectex\": \"Project: ProjectEx\""},{"lineNumber":135,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":136,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":137,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":138,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":139,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"userGuide/FAQ.md\","},{"lineNumber":140,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"FAQ\","},{"lineNumber":141,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":142,"author":{"gitId":"KevinEyo1"},"content":" \"faq\": \"FAQ\""},{"lineNumber":143,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":144,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":145,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":146,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":147,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"userGuide/Features.md\","},{"lineNumber":148,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Features\","},{"lineNumber":149,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":150,"author":{"gitId":"KevinEyo1"},"content":" \"features\": \"Features\","},{"lineNumber":151,"author":{"gitId":"KevinEyo1"},"content":" \"featurex\": \"FeatureX\","},{"lineNumber":152,"author":{"gitId":"KevinEyo1"},"content":" \"y-feature\": \"Y Feature\","},{"lineNumber":153,"author":{"gitId":"KevinEyo1"},"content":" \"future-feature-z-coming-in-v2-0\": \"Future Feature Z [coming in v2.0]\""},{"lineNumber":154,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":155,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":156,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":157,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":158,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"userGuide/QuickStart.md\","},{"lineNumber":159,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"Quick Start\","},{"lineNumber":160,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":161,"author":{"gitId":"KevinEyo1"},"content":" \"quick-start\": \"Quick start\""},{"lineNumber":162,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":163,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":164,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":165,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":166,"author":{"gitId":"KevinEyo1"},"content":" \"src\": \"userGuide/UserGuide.md\","},{"lineNumber":167,"author":{"gitId":"KevinEyo1"},"content":" \"title\": \"User Guide\","},{"lineNumber":168,"author":{"gitId":"KevinEyo1"},"content":" \"headings\": {"},{"lineNumber":169,"author":{"gitId":"KevinEyo1"},"content":" \"projectex-user-guide\": \"ProjectEx User Guide\","},{"lineNumber":170,"author":{"gitId":"KevinEyo1"},"content":" \"introduction\": \"Introduction\","},{"lineNumber":171,"author":{"gitId":"KevinEyo1"},"content":" \"purpose-of-this-guide\": \"Purpose of this Guide\""},{"lineNumber":172,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":173,"author":{"gitId":"KevinEyo1"},"content":" \"headingKeywords\": {}"},{"lineNumber":174,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":175,"author":{"gitId":"KevinEyo1"},"content":" ]"},{"lineNumber":176,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":176}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"KevinEyo1"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"KevinEyo1"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":76,"author":{"gitId":"KevinEyo1"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"KevinEyo1"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":81,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":82,"author":{"gitId":"KevinEyo1"},"content":".nav-component {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":84,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":85,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":86,"author":{"gitId":"KevinEyo1"},"content":"#page-nav {"},{"lineNumber":87,"author":{"gitId":"KevinEyo1"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":88,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":89,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":90,"author":{"gitId":"KevinEyo1"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":91,"author":{"gitId":"KevinEyo1"},"content":" #page-nav {"},{"lineNumber":92,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":93,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":94,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":95,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":96,"author":{"gitId":"KevinEyo1"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":97,"author":{"gitId":"KevinEyo1"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":98,"author":{"gitId":"KevinEyo1"},"content":" #site-nav {"},{"lineNumber":99,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":100,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":101,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":102,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":103,"author":{"gitId":"KevinEyo1"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":104,"author":{"gitId":"KevinEyo1"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":105,"author":{"gitId":"KevinEyo1"},"content":" .indented {"},{"lineNumber":106,"author":{"gitId":"KevinEyo1"},"content":" padding-left: 10px;"},{"lineNumber":107,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":108,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":109,"author":{"gitId":"KevinEyo1"},"content":" #content-wrapper {"},{"lineNumber":110,"author":{"gitId":"KevinEyo1"},"content":" padding: 0 10px;"},{"lineNumber":111,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":112,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":113,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":114,"author":{"gitId":"KevinEyo1"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":115,"author":{"gitId":"KevinEyo1"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":116,"author":{"gitId":"KevinEyo1"},"content":" #site-nav {"},{"lineNumber":117,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":118,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":119,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":120,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":121,"author":{"gitId":"KevinEyo1"},"content":"/* Hide site navigation when printing */"},{"lineNumber":122,"author":{"gitId":"KevinEyo1"},"content":"@media print {"},{"lineNumber":123,"author":{"gitId":"KevinEyo1"},"content":" #site-nav {"},{"lineNumber":124,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":125,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":126,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":127,"author":{"gitId":"KevinEyo1"},"content":" #page-nav {"},{"lineNumber":128,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":129,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":130,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":131,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":132,"author":{"gitId":"KevinEyo1"},"content":"h2,"},{"lineNumber":133,"author":{"gitId":"KevinEyo1"},"content":"h3,"},{"lineNumber":134,"author":{"gitId":"KevinEyo1"},"content":"h4,"},{"lineNumber":135,"author":{"gitId":"KevinEyo1"},"content":"h5,"},{"lineNumber":136,"author":{"gitId":"KevinEyo1"},"content":"h6 {"},{"lineNumber":137,"author":{"gitId":"KevinEyo1"},"content":" color: #e46c0a;"},{"lineNumber":138,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":137,"-":1}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/team/AboutUs.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\"}},[_v(\"\\nThis section describes the contributors of your app.\\n\")]),_v(\" \"),_m(1),_v(\" \"),_m(2),_v(\" \"),_m(3),_v(\" \"),_m(4),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_c(\u0027p\u0027,[_v(\"This img uses the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"placeholderImage\")]),_v(\" defined in the \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"_markbind/variables.md\")]),_v(\" file.\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/images/johndoe.png\",\"width\":\"200px\"}}),_v(\" \"),_m(5),_v(\" \"),_m(6),_v(\" \"),_m(7),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/images/johndoe.png\",\"width\":\"200px\"}}),_v(\" \"),_m(8),_v(\" \"),_m(9),_v(\" \"),_m(10),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/images/johndoe.png\",\"width\":\"200px\"}}),_v(\" \"),_m(11),_v(\" \"),_m(12),_v(\" \"),_m(13),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/images/johndoe.png\",\"width\":\"200px\"}}),_v(\" \"),_m(14),_v(\" \"),_m(15),_v(\" \"),_m(16),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"/images/johndoe.png\",\"width\":\"200px\"}}),_v(\" \"),_m(17),_v(\" \"),_m(18)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(19)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"about-us\"}},[_v(\"About Us\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#about-us\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"We are a team based in \"),_c(\u0027a\u0027,{attrs:{\"href\":\"#project-team\"}},[_v(\"Organisation A\")]),_v(\".\")])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"You can reach us at the email \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"organisationa@gmail.sg\")])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h2\u0027,{attrs:{\"id\":\"project-team\"}},[_v(\"Project team\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#project-team\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"john-doe\"}},[_v(\"John Doe\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#john-doe\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"http://www.comp.nus.edu.sg/~damithch\"}},[_v(\"homepage\")]),_v(\"]\\n[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://github.com/johndoe\"}},[_v(\"github\")]),_v(\"]\\n[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"contributions\")]),_v(\"]\")])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Role: Project Advisor\")])])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"jane-doe\"}},[_v(\"Jane Doe\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#jane-doe\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"http://github.com/johndoe\"}},[_v(\"github\")]),_v(\"]\\n[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"contributions\")]),_v(\"]\")])}"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Role: Team Lead\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Responsibilities: UI\")])])}"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"johnny-doe\"}},[_v(\"Johnny Doe\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#johnny-doe\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"http://github.com/johndoe\"}},[_v(\"github\")]),_v(\"]\\n[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"contributions\")]),_v(\"]\")])}"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Role: Developer\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Responsibilities: Data\")])])}"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"jean-doe\"}},[_v(\"Jean Doe\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#jean-doe\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"http://github.com/johndoe\"}},[_v(\"github\")]),_v(\"]\\n[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"contributions\")]),_v(\"]\")])}"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Role: Developer\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Responsibilities: Dev Ops + Threading\")])])}"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"james-doe\"}},[_v(\"James Doe\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#james-doe\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_v(\"[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"http://github.com/johndoe\"}},[_v(\"github\")]),_v(\"]\\n[\"),_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"contributions\")]),_v(\"]\")])}"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Role: Developer\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Responsibilities: UI\")])])}"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":67}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/team/johndoe.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027p\u0027,[_v(\"ProjectEx is an example project application used for showcasing a default MarkBind template specifically for project documentation. It can be taken as a reference for users to base their own MarkBind sites off of.\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\n Content can be easily be replaced by the user\u0027s project information and context.\\n\")]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Given below are my contributions to the project.\")]),_v(\" \"),_m(1)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"})]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(2)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"project-projectex\"}},[_v(\"Project: ProjectEx\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#project-projectex\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"New Feature\")]),_v(\": Feature X\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"What it does: This feature does a thing\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Justification: This feature is important because...\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Highlights:\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Point 1\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Point 2\")])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Credits: \"),_c(\u0027em\u0027,[_v(\"{mention here for reused code/ideas or use of a third-party library}\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Code contributed\")]),_v(\": \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"Github Repo\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Project management\")]),_v(\":\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Managed releases \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"v1.3\")]),_v(\" - \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"v1.5rc\")]),_v(\" (3 releases) on GitHub\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Enhancements to existing features\")]),_v(\":\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Wrote additional tests, increasing coverage to 92% (Pull requests \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#36\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#38\")]),_v(\")\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Documentation\")]),_v(\":\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"User Guide:\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Added documentation for feature \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#72\")])])])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Developer Guide:\\n\"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Added implementation details of feature.\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Community\")]),_v(\":\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"PRs reviewed (with non-trivial review comments): \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#12\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#32\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#19\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#42\")])]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Contributed to forum discussions (examples: \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"1\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"2\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"3\")]),_v(\", \"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"4\")]),_v(\")\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Tools\")]),_v(\":\")]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"Integrated a third party library (Natty) to the project (\"),_c(\u0027a\u0027,{attrs:{\"href\":\"\"}},[_v(\"#42\")]),_v(\")\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"{ You can add/remove categories in the list above }\")])])])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":16}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/FAQ.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis section answers common questions about the app or specific features.\\n\")]),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Question:\")]),_v(\" How do I learn to use this project?\")])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Answer:\")]),_v(\" Refer to the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\".\")])]),_v(\" \"),_c(\u0027br\u0027),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Question:\")]),_v(\" How do I contribute to this project?\")])]},proxy:true}])},[_v(\" \"),_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Answer:\")]),_v(\" Refer to the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\".\")])])],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#faq\"}},[_v(\"FAQ‎\")])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"faq\"}},[_v(\"FAQ\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#faq\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":13}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/Features.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"info\",\"seamless\":\"\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Notes about the app usage\")]),_c(\u0027br\u0027)]),_v(\" \"),_c(\u0027ul\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"General information about the app\u0027s features.\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"General tips about how to use the app efficiently.\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"Warnings that may lead to issues and how to avoid them.\")])])])]),_v(\" \"),_m(1),_v(\" \"),_c(\u0027p\u0027,[_v(\"Description of feature.\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nA visual representation of the feature can be shown here.\\n\")]),_v(\" \"),_m(2),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"warning\",\"seamless\":\"\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Caution:\")]),_v(\"\\nThings to avoid when using the feature.\")])]),_v(\" \"),_m(3),_v(\" \"),_c(\u0027p\u0027,[_v(\"Description of feature.\")]),_v(\" \"),_c(\u0027panel\u0027,{scopedSlots:_u([{key:\"header\",fn:function(){return [_c(\u0027p\u0027,[_v(\"Feature Examples\")])]},proxy:true}])},[_v(\"\\nExamples of how to use the feature.\\n\")]),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\",\"seamless\":\"\"}},[_c(\u0027p\u0027,[_c(\u0027strong\u0027,[_v(\"Tip:\")]),_v(\" Secondary information about feature usage.\")])]),_v(\" \"),_m(4),_v(\" \"),_m(5)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#features\"}},[_v(\"Features‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#featurex\"}},[_v(\"FeatureX‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#y-feature\"}},[_v(\"Y Feature‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#future-feature-z-coming-in-v2-0\"}},[_v(\"Future Feature Z [coming in v2.0]‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(6)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"features\"}},[_v(\"Features\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#features\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"featurex\"}},[_v(\"FeatureX\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#featurex\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ul\u0027,[_c(\u0027li\u0027,[_v(\"List of primary information about the feature\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"How to use the feature\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"How the feature works\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Limitations of feature\")])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"y-feature\"}},[_v(\"Y Feature\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#y-feature\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h3\u0027,{attrs:{\"id\":\"future-feature-z-coming-in-v2-0\"}},[_v(\"Future Feature Z \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"[coming in v2.0]\")]),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#future-feature-z-coming-in-v2-0\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027p\u0027,[_c(\u0027em\u0027,[_v(\"Details coming soon ...\")])])}"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":28}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/QuickStart.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_m(0),_v(\" \"),_c(\u0027box\u0027,{attrs:{\"type\":\"tip\"}},[_v(\"\\nThis section can be used to help users get started with the application quickly.\\n\")]),_v(\" \"),_m(1)],1),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#quick-start\"}},[_v(\"Quick start‎\")])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(2)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027h1\u0027,{attrs:{\"id\":\"quick-start\"}},[_v(\"Quick start\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#quick-start\",\"onclick\":\"event.stopPropagation()\"}})])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027ol\u0027,[_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"Ensure you have Java \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"11\")]),_v(\" and Node.js \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"v16\")]),_v(\" and above installed in your Computer.\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"Open a command terminal and run necessary setup commands like \"),_c(\u0027code\u0027,{pre:true,attrs:{\"class\":\"hljs inline no-lang\"}},[_v(\"npm run setup\")]),_v(\".\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027p\u0027,[_v(\"Refer to the \"),_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")]),_v(\" section for details of the app\u0027s features.\")])])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":16}},{"path":"packages/cli/test/functional/test_site_templates/test_project/expected/userGuide/UserGuide.page-vue-render.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" var pageVueRenderFn \u003d function anonymous("},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"app\"}},[_c(\u0027header\u0027,{attrs:{\"sticky\":\"\"}},[_c(\u0027navbar\u0027,{attrs:{\"type\":\"dark\"},scopedSlots:_u([{key:\"brand\",fn:function(){return [_c(\u0027a\u0027,{staticClass:\"navbar-brand\",attrs:{\"href\":\"/index.html\",\"title\":\"Home\"}},[_v(\"ProjectEx\")])]},proxy:true},{key:\"right\",fn:function(){return [_c(\u0027li\u0027,[_c(\u0027form\u0027,{staticClass:\"navbar-form\"},[_c(\u0027searchbar\u0027,{attrs:{\"data\":searchData,\"placeholder\":\"Search\",\"on-hit\":searchCallback,\"menu-align-right\":\"\"}})],1)])]},proxy:true}])},[_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"highlight-on\":\"sibling-or-child\",\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027a\u0027,{staticClass:\"nav-link\",attrs:{\"href\":\"https://github.com/se-edu\",\"target\":\"_blank\"}},[_c(\u0027span\u0027,[_c(\u0027span\u0027,{staticClass:\"fab fa-github\",attrs:{\"aria-hidden\":\"true\"}})])])])])],1),_v(\" \"),_c(\u0027div\u0027,{attrs:{\"id\":\"flex-body\"}},[_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"site-nav\",\"tag-name\":\"nav\",\"to\":\"site-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027site-nav\u0027,[_c(\u0027overlay-source\u0027,{staticClass:\"site-nav-list site-nav-list-root\",attrs:{\"tag-name\":\"ul\",\"to\":\"mb-site-nav\"}},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/index.html\"}},[_v(\"Home\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/UserGuide.html\"}},[_v(\"User Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/QuickStart.html\"}},[_v(\"Quick Start\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/Features.html\"}},[_v(\"Features\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/userGuide/FAQ.html\"}},[_v(\"FAQ\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DeveloperGuide.html\"}},[_v(\"Developer Guide\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/SettingUp.html\"}},[_v(\"Setting Up\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/TracingCode.html\"}},[_v(\"Tutorial: Tracing code\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Design.html\"}},[_v(\"Design\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Implementation.html\"}},[_v(\"Implementation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Project Guides\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Documentation.html\"}},[_v(\"Documentation\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Testing.html\"}},[_v(\"Testing\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Configuration.html\"}},[_v(\"Configuration\")])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/DevOps.html\"}},[_v(\"DevOps\")])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_v(\"Appendix\\n\\n\"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-2\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/developerGuide/Requirements.html\"}},[_v(\"Requirements\")])])])])])])]),_v(\" \"),_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-0\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/AboutUs.html\"}},[_v(\"About Us\")]),_v(\" \"),_c(\u0027div\u0027,{staticClass:\"site-nav-dropdown-btn-container\"},[_c(\u0027i\u0027,{staticClass:\"site-nav-dropdown-btn-icon site-nav-rotate-icon\",attrs:{\"onclick\":\"handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();\"}},[_c(\u0027span\u0027,{staticClass:\"glyphicon glyphicon-menu-down\",attrs:{\"aria-hidden\":\"true\"}})])])]),_c(\u0027ul\u0027,{staticClass:\"site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list\"},[_c(\u0027li\u0027,[_c(\u0027div\u0027,{staticClass:\"site-nav-default-list-item site-nav-list-item-1\",attrs:{\"onclick\":\"handleSiteNavClick(this)\"}},[_c(\u0027a\u0027,{attrs:{\"href\":\"/team/johndoe.html\"}},[_v(\"Contributor Portfolio Template\")])])])])])])],1)],1)]),_v(\" \"),_m(0),_v(\" \"),_c(\u0027overlay-source\u0027,{attrs:{\"id\":\"page-nav\",\"tag-name\":\"nav\",\"to\":\"page-nav\"}},[_c(\u0027div\u0027,{staticClass:\"nav-component slim-scroll\"},[_c(\u0027overlay-source\u0027,{staticClass:\"nav nav-pills flex-column my-0 small no-flex-wrap\",attrs:{\"id\":\"mb-page-nav\",\"tag-name\":\"nav\",\"to\":\"mb-page-nav\"}},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#projectex-user-guide\"}},[_v(\"ProjectEx User Guide‎\")]),_v(\" \"),_c(\u0027nav\u0027,{staticClass:\"nav nav-pills flex-column my-0 nested no-flex-wrap\"},[_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#introduction\"}},[_v(\"Introduction‎\")]),_v(\" \"),_c(\u0027a\u0027,{pre:true,attrs:{\"class\":\"nav-link py-1\",\"href\":\"#purpose-of-this-guide\"}},[_v(\"Purpose of this Guide‎\")])])])],1)]),_v(\" \"),_c(\u0027scroll-top-button\u0027)],1),_v(\" \"),_m(1)])}"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"};"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" var pageVueStaticRenderFns \u003d [function anonymous("},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027div\u0027,{attrs:{\"id\":\"content-wrapper\"}},[_c(\u0027h1\u0027,{attrs:{\"id\":\"projectex-user-guide\"}},[_v(\"ProjectEx User Guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#projectex-user-guide\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027hr\u0027),_v(\" \"),_c(\u0027p\u0027,[_v(\"ProjectEx is an example project application used for showcasing a default MarkBind template specifically for project documentation. It can be taken as a reference for users to base their own MarkBind sites off of.\")]),_v(\" \"),_c(\u0027h2\u0027,{attrs:{\"id\":\"introduction\"}},[_v(\"Introduction\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#introduction\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_v(\"Welcome to the User Guide. This comprehensive resource is designed to assist you in navigating and utilizing our software to its fullest potential.\")]),_v(\" \"),_c(\u0027h2\u0027,{attrs:{\"id\":\"purpose-of-this-guide\"}},[_v(\"Purpose of this Guide\"),_c(\u0027a\u0027,{staticClass:\"fa fa-anchor\",attrs:{\"href\":\"#purpose-of-this-guide\",\"onclick\":\"event.stopPropagation()\"}})]),_v(\" \"),_c(\u0027p\u0027,[_v(\"This guide aims to:\")]),_v(\" \"),_c(\u0027ol\u0027,[_c(\u0027li\u0027,[_v(\"Equip users with the necessary knowledge.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Offer step-by-step instructions for common tasks and operations.\")]),_v(\" \"),_c(\u0027li\u0027,[_v(\"Provide tips and tricks to streamline the user experience.\")])])])}"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"},function anonymous("},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":") {"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"with(this){return _c(\u0027footer\u0027,[_c(\u0027div\u0027,{staticClass:\"text-center\"},[_c(\u0027small\u0027,[_v(\"[\"),_c(\u0027span\u0027,[_c(\u0027strong\u0027,[_v(\"Powered by\")])]),_v(\" \"),_c(\u0027img\u0027,{attrs:{\"src\":\"https://markbind.org/favicon.ico\",\"width\":\"30\"}}),_v(\" \"),_c(\u0027a\u0027,{attrs:{\"href\":\"https://markbind.org/\"}},[_v(\"MarkBind 5.4.0\")]),_v(\"]\")])])])}"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"}];"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":13}},{"path":"packages/core-web/asset/css/codeblock-dark.min.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":".hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-symbol{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-class,.hljs-number{color:#b8d7a3}.hljs-meta-string,.hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-formula,.hljs-function,.hljs-params,.hljs-subst,.hljs-title{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta-keyword,.hljs-tag{color:#9b9b9b}.hljs-template-variable,.hljs-variable{color:#bd63c5}.hljs-attr,.hljs-attribute,.hljs-builtin-name{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-selector-pseudo,.hljs-selector-tag{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}"},{"lineNumber":2,"author":{"gitId":"Tim-Siu"},"content":"/* MarkBind-customized styles */.hljs span.highlighted{background:#000000}.hljs.inline{background:#444}.hljs:not(.inline){border:1px solid #1e1e1e}.code-block-heading{background:#3f3f3f;color:#dcdcdc}button.function-btn{background-color:#2b2b2b}"}],"authorContributionMap":{"-":1,"Tim-Siu":1}},{"path":"packages/core-web/src/print.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"// This file manipulates the content of the printed page by defining print event listeners."},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"const PAGE_NAV_ID \u003d \u0027mb-page-nav\u0027;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"const PAGE_NAV_CLONE_CLASS \u003d \u0027page-nav-clone\u0027;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"const PAGE_NAV_PRINT_CONTAINER \u003d \u0027page-nav-print\u0027;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":8,"author":{"gitId":"-"},"content":" * Remove the active style to prevent item highlighting."},{"lineNumber":9,"author":{"gitId":"-"},"content":" * @param {HTMLElement} node"},{"lineNumber":10,"author":{"gitId":"-"},"content":" */"},{"lineNumber":11,"author":{"gitId":"-"},"content":"function removeActiveStyle(container) {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" const activeElements \u003d container.querySelectorAll(\u0027a.active\u0027);"},{"lineNumber":13,"author":{"gitId":"-"},"content":" activeElements.forEach((activeElement) \u003d\u003e {"},{"lineNumber":14,"author":{"gitId":"-"},"content":" activeElement.classList.remove(\u0027active\u0027);"},{"lineNumber":15,"author":{"gitId":"-"},"content":" });"},{"lineNumber":16,"author":{"gitId":"-"},"content":"}"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * Create deep copies of the page navigation."},{"lineNumber":20,"author":{"gitId":"-"},"content":" * @param {HTMLElement} node"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * @returns {HTMLElement} node"},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":"function clonePageNav(node) {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" const pageNav \u003d node.cloneNode(true);"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" pageNav.removeAttribute(\u0027id\u0027); // avoid duplicate"},{"lineNumber":27,"author":{"gitId":"-"},"content":" removeActiveStyle(pageNav);"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" pageNav.classList.add(PAGE_NAV_CLONE_CLASS);"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" return pageNav;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"}"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"function removePageNavPrint() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" const tocElements \u003d document.querySelectorAll(`.${PAGE_NAV_CLONE_CLASS}`);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" tocElements.forEach((tocElement) \u003d\u003e {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" tocElement.remove();"},{"lineNumber":38,"author":{"gitId":"-"},"content":" });"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"// Insert page navigation into the \u003cpage-nav-print\u003e containers."},{"lineNumber":42,"author":{"gitId":"-"},"content":"window.addEventListener(\u0027beforeprint\u0027, () \u003d\u003e {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" const pageNav \u003d document.querySelector(`#${PAGE_NAV_ID}`);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" const pageNavPrintContainers \u003d document.querySelectorAll(`.${PAGE_NAV_PRINT_CONTAINER}`);"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" if (pageNav \u0026\u0026 pageNavPrintContainers.length \u003e\u003d 1) {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" removePageNavPrint(); // remove any existing clones"},{"lineNumber":48,"author":{"gitId":"-"},"content":" pageNavPrintContainers.forEach((container) \u003d\u003e {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" container.appendChild(clonePageNav(pageNav));"},{"lineNumber":50,"author":{"gitId":"-"},"content":" });"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":"});"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"// Remove page navigation clones."},{"lineNumber":55,"author":{"gitId":"-"},"content":"window.addEventListener(\u0027afterprint\u0027, () \u003d\u003e {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" removePageNavPrint();"},{"lineNumber":57,"author":{"gitId":"-"},"content":"});"},{"lineNumber":58,"author":{"gitId":"Tim-Siu"},"content":""},{"lineNumber":59,"author":{"gitId":"Tim-Siu"},"content":"// Check for wrapping in code blocks and adds line numbers if necessary"},{"lineNumber":60,"author":{"gitId":"Tim-Siu"},"content":"function checkForWrappingAndAddLineNumbers() {"},{"lineNumber":61,"author":{"gitId":"Tim-Siu"},"content":" document.querySelectorAll(\u0027pre \u003e code.hljs\u0027).forEach((block) \u003d\u003e {"},{"lineNumber":62,"author":{"gitId":"Tim-Siu"},"content":" // Check if any line within the block is wrapped"},{"lineNumber":63,"author":{"gitId":"Tim-Siu"},"content":" const isWrapped \u003d Array.from(block.querySelectorAll(\u0027span\u0027))"},{"lineNumber":64,"author":{"gitId":"Tim-Siu"},"content":" .some(line \u003d\u003e line.scrollWidth \u003e line.clientWidth);"},{"lineNumber":65,"author":{"gitId":"Tim-Siu"},"content":""},{"lineNumber":66,"author":{"gitId":"Tim-Siu"},"content":" if (isWrapped) {"},{"lineNumber":67,"author":{"gitId":"Tim-Siu"},"content":" // Add .line-numbers class to enable line numbering for wrapped lines"},{"lineNumber":68,"author":{"gitId":"Tim-Siu"},"content":" block.classList.add(\u0027line-numbers-print\u0027);"},{"lineNumber":69,"author":{"gitId":"Tim-Siu"},"content":" }"},{"lineNumber":70,"author":{"gitId":"Tim-Siu"},"content":" });"},{"lineNumber":71,"author":{"gitId":"Tim-Siu"},"content":"}"},{"lineNumber":72,"author":{"gitId":"Tim-Siu"},"content":""},{"lineNumber":73,"author":{"gitId":"Tim-Siu"},"content":"window.addEventListener(\u0027beforeprint\u0027, () \u003d\u003e {"},{"lineNumber":74,"author":{"gitId":"Tim-Siu"},"content":" checkForWrappingAndAddLineNumbers();"},{"lineNumber":75,"author":{"gitId":"Tim-Siu"},"content":"});"}],"authorContributionMap":{"-":57,"Tim-Siu":18}},{"path":"packages/core-web/src/styles/index.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"LamJiuFong"},"content":"@import url(\"markbind.css\");"},{"lineNumber":2,"author":{"gitId":"LamJiuFong"},"content":"@import url(\"page-nav.css\");"},{"lineNumber":3,"author":{"gitId":"LamJiuFong"},"content":"@import url(\"~katex/dist/katex.css\");"},{"lineNumber":4,"author":{"gitId":"LamJiuFong"},"content":"@import url(\"~markdown-it-texmath/css/texmath.css\");"}],"authorContributionMap":{"LamJiuFong":4}},{"path":"packages/core-web/src/styles/markbind.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"@import url(\"../../asset/css/codeblock-light.min.css\") print;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":":root {"},{"lineNumber":4,"author":{"gitId":"-"},"content":" --sticky-header-height: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"}"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"a {"},{"lineNumber":8,"author":{"gitId":"-"},"content":" text-decoration: none;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"}"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"blockquote {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" border-left: 0.25em solid #dfe2e5;"},{"lineNumber":13,"author":{"gitId":"-"},"content":" color: #6a737d;"},{"lineNumber":14,"author":{"gitId":"-"},"content":" padding: 0 1rem;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"code {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" background: #f8f8f8;"},{"lineNumber":19,"author":{"gitId":"-"},"content":" border-radius: 3px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" padding: 0.2em 0.4em;"},{"lineNumber":21,"author":{"gitId":"-"},"content":" word-break: normal;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"}"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"mark code {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" background: #ffffffd4;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"}"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"pre.hljs \u003e code {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" background: none;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"pre \u003e code.hljs {"},{"lineNumber":33,"author":{"gitId":"LamJiuFong"},"content":" background-clip: padding-box;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" counter-reset: line;"},{"lineNumber":36,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"}"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"pre \u003e code.hljs[heading] {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" border-top-right-radius: 0;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"}"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":".code-block {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"}"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":".code-block-heading {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" border-radius: 6px 6px 0 0;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" font-size: 85%;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" line-height: 1;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" margin-top: 5px;"},{"lineNumber":53,"author":{"gitId":"-"},"content":" max-width: 85%;"},{"lineNumber":54,"author":{"gitId":"-"},"content":" overflow-wrap: break-word;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" padding: 0.25em 0.4em;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" text-align: right;"},{"lineNumber":57,"author":{"gitId":"-"},"content":"}"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":".inline-markdown-heading {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" line-height: 1.5;"},{"lineNumber":61,"author":{"gitId":"-"},"content":"}"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":".code-block-content {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" clear: both;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":66,"author":{"gitId":"-"},"content":"}"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":69,"author":{"gitId":"Tim-Siu"},"content":" pre \u003e code.hljs {"},{"lineNumber":70,"author":{"gitId":"Tim-Siu"},"content":" white-space: pre-wrap;"},{"lineNumber":71,"author":{"gitId":"Tim-Siu"},"content":" word-wrap: break-word;"},{"lineNumber":72,"author":{"gitId":"Tim-Siu"},"content":" word-break: break-all;"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"Tim-Siu"},"content":" .hljs:not(.inline).line-numbers-print \u003e span {"},{"lineNumber":76,"author":{"gitId":"Tim-Siu"},"content":" padding: 0 0.5em 0 3.5em;"},{"lineNumber":77,"author":{"gitId":"Tim-Siu"},"content":" position: relative;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"Tim-Siu"},"content":" /* display line numbers beside each span */"},{"lineNumber":81,"author":{"gitId":"Tim-Siu"},"content":" .hljs:not(.inline).line-numbers-print \u003e span::before {"},{"lineNumber":82,"author":{"gitId":"Tim-Siu"},"content":" border-right: 1px solid #ddd;"},{"lineNumber":83,"author":{"gitId":"Tim-Siu"},"content":" display: inline-block;"},{"lineNumber":84,"author":{"gitId":"Tim-Siu"},"content":" color: #888;"},{"lineNumber":85,"author":{"gitId":"Tim-Siu"},"content":" content: counter(line);"},{"lineNumber":86,"author":{"gitId":"Tim-Siu"},"content":" counter-increment: line;"},{"lineNumber":87,"author":{"gitId":"Tim-Siu"},"content":" left: 0;"},{"lineNumber":88,"author":{"gitId":"Tim-Siu"},"content":" margin-right: 0.5em;"},{"lineNumber":89,"author":{"gitId":"Tim-Siu"},"content":" padding-right: 0.5em;"},{"lineNumber":90,"author":{"gitId":"Tim-Siu"},"content":" position: absolute;"},{"lineNumber":91,"author":{"gitId":"Tim-Siu"},"content":" text-align: right;"},{"lineNumber":92,"author":{"gitId":"Tim-Siu"},"content":" top: 0;"},{"lineNumber":93,"author":{"gitId":"Tim-Siu"},"content":" width: 3em;"},{"lineNumber":94,"author":{"gitId":"Tim-Siu"},"content":" height: 100%;"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" /* force printing the highlighting colour */"},{"lineNumber":98,"author":{"gitId":"-"},"content":" .hljs span.highlighted{"},{"lineNumber":99,"author":{"gitId":"-"},"content":" -webkit-print-color-adjust:exact;"},{"lineNumber":100,"author":{"gitId":"-"},"content":" background:#e6e6fa !important;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":"}"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"kbd {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" background-color: #fafbfc;"},{"lineNumber":106,"author":{"gitId":"-"},"content":" border: 1px solid #c6cbd1;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" border-bottom-color: #959da5;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" box-shadow: inset 0 -1px 0 #959da5;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" color: #444d56;"},{"lineNumber":110,"author":{"gitId":"-"},"content":"}"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":".btn:active,"},{"lineNumber":113,"author":{"gitId":"-"},"content":".btn:focus {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" box-shadow: none !important;"},{"lineNumber":115,"author":{"gitId":"-"},"content":" outline: none !important;"},{"lineNumber":116,"author":{"gitId":"-"},"content":"}"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":"code.hljs.inline {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" display: initial;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" padding: 0.2em 0.4em;"},{"lineNumber":121,"author":{"gitId":"-"},"content":"}"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":".markbind-table {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" width: auto;"},{"lineNumber":125,"author":{"gitId":"-"},"content":"}"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":".radio-list-item,"},{"lineNumber":128,"author":{"gitId":"-"},"content":".task-list-item {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" list-style-type: none;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" margin: 0 0 0 -1.2em;"},{"lineNumber":131,"author":{"gitId":"-"},"content":"}"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":".radio-list-item label {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" font-weight: inherit;"},{"lineNumber":135,"author":{"gitId":"-"},"content":"}"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":".table-striped \u003e thead,"},{"lineNumber":138,"author":{"gitId":"-"},"content":".table-striped \u003e tbody \u003e tr:nth-of-type(even) {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" background-color: #fff;"},{"lineNumber":140,"author":{"gitId":"-"},"content":"}"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Holy Grail Layout"},{"lineNumber":144,"author":{"gitId":"-"},"content":" *"},{"lineNumber":145,"author":{"gitId":"-"},"content":" * This section covers the common styles used within Header, Footer and Side Navigation bars"},{"lineNumber":146,"author":{"gitId":"-"},"content":" */"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":"/* Header */"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":"header[sticky] {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" top: 0;"},{"lineNumber":153,"author":{"gitId":"-"},"content":" transition: transform 0.3s ease-in-out;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":155,"author":{"gitId":"-"},"content":" z-index: 1001;"},{"lineNumber":156,"author":{"gitId":"-"},"content":"}"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":"header[sticky].hide-header {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" transform: translateY(calc(-1 * var(--sticky-header-height)));"},{"lineNumber":160,"author":{"gitId":"-"},"content":"}"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":"span.anchor {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" top: calc(-1 * var(--sticky-header-height) - 1rem);"},{"lineNumber":165,"author":{"gitId":"-"},"content":"}"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":"/* #app is treated as the main container */"},{"lineNumber":168,"author":{"gitId":"-"},"content":"#app {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":170,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" min-height: 100vh;"},{"lineNumber":172,"author":{"gitId":"-"},"content":"}"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":"/* Footer */"},{"lineNumber":175,"author":{"gitId":"-"},"content":"footer {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" background-color: #f5f5f5;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" color: dimgrey;"},{"lineNumber":178,"author":{"gitId":"-"},"content":" padding: 10px 0;"},{"lineNumber":179,"author":{"gitId":"-"},"content":"}"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":"/* TODO move this back to markdown-it-attr if bundling is implemented */"},{"lineNumber":182,"author":{"gitId":"-"},"content":".dimmed {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" color: #777;"},{"lineNumber":184,"author":{"gitId":"-"},"content":"}"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":".large {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" font-size: 125%;"},{"lineNumber":188,"author":{"gitId":"-"},"content":"}"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":".small {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" font-size: 80%;"},{"lineNumber":192,"author":{"gitId":"-"},"content":"}"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":".underline {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" text-decoration: underline;"},{"lineNumber":196,"author":{"gitId":"-"},"content":"}"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":".mkb-text-red {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" color: red !important;"},{"lineNumber":200,"author":{"gitId":"-"},"content":"}"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":".mkb-text-green {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" color: green !important;"},{"lineNumber":204,"author":{"gitId":"-"},"content":"}"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":".mkb-text-blue {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" color: blue !important;"},{"lineNumber":208,"author":{"gitId":"-"},"content":"}"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":".mkb-text-cyan {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" color: cyan !important;"},{"lineNumber":212,"author":{"gitId":"-"},"content":"}"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":".mkb-text-magenta {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" color: magenta !important;"},{"lineNumber":216,"author":{"gitId":"-"},"content":"}"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":".mkb-text-yellow {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" color: yellow !important;"},{"lineNumber":220,"author":{"gitId":"-"},"content":"}"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":".mkb-text-black {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" color: black !important;"},{"lineNumber":224,"author":{"gitId":"-"},"content":"}"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":".mkb-text-white {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" color: white !important;"},{"lineNumber":228,"author":{"gitId":"-"},"content":"}"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":231,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" .dropdown-menu \u003e li \u003e a {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" white-space: normal;"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" .navbar-nav .open .dropdown-menu {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" background-color: #fff;"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":"}"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":"/* Footnote anchor */"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":"li.footnote-item:target {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" background-color: #eee;"},{"lineNumber":245,"author":{"gitId":"-"},"content":"}"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":".hljs:not(.inline) \u003e span {"},{"lineNumber":248,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":249,"author":{"gitId":"-"},"content":"}"},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":".hljs:not(.inline).line-numbers \u003e span {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" padding: 0 0.5em 0 3.5em;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":254,"author":{"gitId":"-"},"content":"}"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":"/* display line numbers beside each span */"},{"lineNumber":257,"author":{"gitId":"-"},"content":".hljs:not(.inline).line-numbers \u003e span::before {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" border-right: 1px solid #ddd;"},{"lineNumber":259,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" color: #888;"},{"lineNumber":261,"author":{"gitId":"-"},"content":" content: counter(line);"},{"lineNumber":262,"author":{"gitId":"-"},"content":" counter-increment: line;"},{"lineNumber":263,"author":{"gitId":"-"},"content":" left: 0;"},{"lineNumber":264,"author":{"gitId":"-"},"content":" margin-right: 0.5em;"},{"lineNumber":265,"author":{"gitId":"-"},"content":" padding-right: 0.5em;"},{"lineNumber":266,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" text-align: right;"},{"lineNumber":268,"author":{"gitId":"-"},"content":" top: 0;"},{"lineNumber":269,"author":{"gitId":"-"},"content":" width: 3em;"},{"lineNumber":270,"author":{"gitId":"-"},"content":" height: 100%;"},{"lineNumber":271,"author":{"gitId":"-"},"content":"}"},{"lineNumber":272,"author":{"gitId":"-"},"content":""},{"lineNumber":273,"author":{"gitId":"-"},"content":"/* styles for triggers and tooltips */"},{"lineNumber":274,"author":{"gitId":"-"},"content":".trigger {"},{"lineNumber":275,"author":{"gitId":"LamJiuFong"},"content":" border-bottom: 1px dotted currentcolor;"},{"lineNumber":276,"author":{"gitId":"-"},"content":"}"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":".trigger-click {"},{"lineNumber":279,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":280,"author":{"gitId":"LamJiuFong"},"content":" border-bottom: 1px dashed currentcolor;"},{"lineNumber":281,"author":{"gitId":"-"},"content":"}"},{"lineNumber":282,"author":{"gitId":"-"},"content":""},{"lineNumber":283,"author":{"gitId":"-"},"content":".trigger-click:focus {"},{"lineNumber":284,"author":{"gitId":"-"},"content":" outline: none;"},{"lineNumber":285,"author":{"gitId":"-"},"content":"}"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":"/* \"Copy\" and \"wrap text\" code block buttons */"},{"lineNumber":288,"author":{"gitId":"-"},"content":"pre {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":290,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":291,"author":{"gitId":"-"},"content":"}"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":"button.function-btn {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" border: 1px solid #d7dadc;"},{"lineNumber":295,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":296,"author":{"gitId":"-"},"content":" color: darkgray;"},{"lineNumber":297,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":298,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":299,"author":{"gitId":"-"},"content":" margin: 0.17rem;"},{"lineNumber":300,"author":{"gitId":"-"},"content":" padding: 0.35rem;"},{"lineNumber":301,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":302,"author":{"gitId":"-"},"content":" right: 0;"},{"lineNumber":303,"author":{"gitId":"-"},"content":" text-align: center;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" white-space: nowrap;"},{"lineNumber":305,"author":{"gitId":"-"},"content":"}"},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":"button.function-btn + button.function-btn {"},{"lineNumber":308,"author":{"gitId":"-"},"content":" right: 36px;"},{"lineNumber":309,"author":{"gitId":"-"},"content":"}"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":"pre:hover \u003e .function-btn-container \u003e button.function-btn {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":313,"author":{"gitId":"-"},"content":"}"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":".function-btn:hover {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" transition: all 0.5s ease;"},{"lineNumber":317,"author":{"gitId":"-"},"content":" color: gray;"},{"lineNumber":318,"author":{"gitId":"-"},"content":"}"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":".function-btn-body {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":322,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":323,"author":{"gitId":"-"},"content":"}"},{"lineNumber":324,"author":{"gitId":"-"},"content":""},{"lineNumber":325,"author":{"gitId":"-"},"content":".function-btn svg {"},{"lineNumber":326,"author":{"gitId":"LamJiuFong"},"content":" fill: currentcolor;"},{"lineNumber":327,"author":{"gitId":"-"},"content":"}"},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"-"},"content":"/* Wrap class used for \"wrap text\" button. */"},{"lineNumber":330,"author":{"gitId":"-"},"content":"code.wrap {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" white-space: pre-wrap;"},{"lineNumber":332,"author":{"gitId":"-"},"content":" word-wrap: break-word;"},{"lineNumber":333,"author":{"gitId":"Tim-Siu"},"content":" word-break: break-all;"},{"lineNumber":334,"author":{"gitId":"-"},"content":"}"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"-"},"content":"/* Octicon sizing */"},{"lineNumber":337,"author":{"gitId":"-"},"content":".octicon {"},{"lineNumber":338,"author":{"gitId":"-"},"content":" height: 1em;"},{"lineNumber":339,"author":{"gitId":"-"},"content":" width: 1em;"},{"lineNumber":340,"author":{"gitId":"-"},"content":"}"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":"/* styles for \u003chr\u003e */"},{"lineNumber":343,"author":{"gitId":"-"},"content":"hr {"},{"lineNumber":344,"author":{"gitId":"LamJiuFong"},"content":" border-top: solid 1px rgb(0 0 0 / 10%);"},{"lineNumber":345,"author":{"gitId":"-"},"content":" background-color: transparent;"},{"lineNumber":346,"author":{"gitId":"-"},"content":" opacity: 1;"},{"lineNumber":347,"author":{"gitId":"-"},"content":"}"},{"lineNumber":348,"author":{"gitId":"-"},"content":""},{"lineNumber":349,"author":{"gitId":"-"},"content":"hr.dotted {"},{"lineNumber":350,"author":{"gitId":"-"},"content":" border-top-width: 0.1rem;"},{"lineNumber":351,"author":{"gitId":"-"},"content":" border-top-style: dotted;"},{"lineNumber":352,"author":{"gitId":"-"},"content":"}"},{"lineNumber":353,"author":{"gitId":"-"},"content":""},{"lineNumber":354,"author":{"gitId":"-"},"content":"hr.double {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" border-top-width: 0.2rem;"},{"lineNumber":356,"author":{"gitId":"-"},"content":" border-top-style: double;"},{"lineNumber":357,"author":{"gitId":"-"},"content":"}"},{"lineNumber":358,"author":{"gitId":"-"},"content":""},{"lineNumber":359,"author":{"gitId":"-"},"content":"hr.dashed {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" border-top-width: 0.1rem;"},{"lineNumber":361,"author":{"gitId":"-"},"content":" border-top-style: dashed;"},{"lineNumber":362,"author":{"gitId":"-"},"content":"}"},{"lineNumber":363,"author":{"gitId":"-"},"content":""},{"lineNumber":364,"author":{"gitId":"-"},"content":"hr.thick {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" border-top-width: 0.15rem;"},{"lineNumber":366,"author":{"gitId":"-"},"content":"}"},{"lineNumber":367,"author":{"gitId":"-"},"content":""},{"lineNumber":368,"author":{"gitId":"-"},"content":"hr.thick-1 {"},{"lineNumber":369,"author":{"gitId":"-"},"content":" border-top-width: 0.25rem;"},{"lineNumber":370,"author":{"gitId":"-"},"content":"}"},{"lineNumber":371,"author":{"gitId":"-"},"content":""},{"lineNumber":372,"author":{"gitId":"-"},"content":"hr.thick-2 {"},{"lineNumber":373,"author":{"gitId":"-"},"content":" border-top-width: 0.5rem;"},{"lineNumber":374,"author":{"gitId":"-"},"content":"}"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":"hr.thick-3 {"},{"lineNumber":377,"author":{"gitId":"-"},"content":" border-top-width: 0.75rem;"},{"lineNumber":378,"author":{"gitId":"-"},"content":"}"},{"lineNumber":379,"author":{"gitId":"-"},"content":""},{"lineNumber":380,"author":{"gitId":"-"},"content":"ol,"},{"lineNumber":381,"author":{"gitId":"-"},"content":"ul {"},{"lineNumber":382,"author":{"gitId":"-"},"content":" padding-left: 1.5rem;"},{"lineNumber":383,"author":{"gitId":"-"},"content":"}"},{"lineNumber":384,"author":{"gitId":"-"},"content":""},{"lineNumber":385,"author":{"gitId":"-"},"content":"h1,"},{"lineNumber":386,"author":{"gitId":"-"},"content":"h2,"},{"lineNumber":387,"author":{"gitId":"-"},"content":"h3,"},{"lineNumber":388,"author":{"gitId":"-"},"content":"h4,"},{"lineNumber":389,"author":{"gitId":"-"},"content":"h5,"},{"lineNumber":390,"author":{"gitId":"-"},"content":"h6 {"},{"lineNumber":391,"author":{"gitId":"-"},"content":" margin-bottom: 1rem;"},{"lineNumber":392,"author":{"gitId":"-"},"content":" scroll-margin-top: var(--sticky-header-height);"},{"lineNumber":393,"author":{"gitId":"-"},"content":"}"},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"-"},"content":".block-embed {"},{"lineNumber":396,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":397,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":398,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":399,"author":{"gitId":"-"},"content":"}"},{"lineNumber":400,"author":{"gitId":"-"},"content":""},{"lineNumber":401,"author":{"gitId":"-"},"content":".block-embed iframe {"},{"lineNumber":402,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":403,"author":{"gitId":"-"},"content":" top: 0;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" left: 0;"},{"lineNumber":405,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":406,"author":{"gitId":"-"},"content":" height: 100%;"},{"lineNumber":407,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":378,"Tim-Siu":23}},{"path":"packages/core-web/src/styles/page-nav.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"/* Page navigation */"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"#mb-page-nav {"},{"lineNumber":4,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 12px 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"}"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"#mb-page-nav a:link,"},{"lineNumber":8,"author":{"gitId":"-"},"content":"#mb-page-nav a:visited {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" color: #9b9b9b;"},{"lineNumber":10,"author":{"gitId":"-"},"content":" text-decoration: none;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"}"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"#mb-page-nav a:hover {"},{"lineNumber":14,"author":{"gitId":"-"},"content":" color: black;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"#mb-page-nav a.active {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" background-color: transparent;"},{"lineNumber":19,"author":{"gitId":"-"},"content":" color: black;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".page-nav-title {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" color: black;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" white-space: inherit;"},{"lineNumber":26,"author":{"gitId":"-"},"content":" padding-left: 0.5rem;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"}"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":".nested {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" margin-left: 5%;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"}"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":".no-flex-wrap {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" flex-wrap: nowrap;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":1,"-":34}},{"path":"packages/core/package.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"name\": \"@markbind/core\","},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"version\": \"5.4.0\","},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"description\": \"MarkBind core module\","},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"keywords\": ["},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"mark\","},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"markdown\","},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"markbind\","},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"fragment\","},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"reusable\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"homepage\": \"https://markbind.org\","},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"license\": \"MIT\","},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"main\": \"index.js\","},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"types\": \"index.d.ts\","},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"repository\": {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"type\": \"git\","},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/MarkBind/markbind.git\","},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"directory\": \"packages/core\""},{"lineNumber":20,"author":{"gitId":"-"},"content":" },"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"publishConfig\": {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"access\": \"public\""},{"lineNumber":23,"author":{"gitId":"-"},"content":" },"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"scripts\": {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"compile\": \"tsc\","},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"build\": \"tsc --noEmitOnError\","},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"prepare\": \"npm run build\","},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"test\": \"jest --colors\""},{"lineNumber":29,"author":{"gitId":"-"},"content":" },"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"@fortawesome/fontawesome-free\": \"^6.4.0\","},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"@markbind/core-web\": \"5.4.0\","},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"@primer/octicons\": \"^15.0.1\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"@sindresorhus/slugify\": \"^0.9.1\","},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"@tlylt/markdown-it-imsize\": \"^3.0.0\","},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"bluebird\": \"^3.7.2\","},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"bootswatch\": \"5.1.3\","},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"cheerio\": \"^0.22.0\","},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"crypto-js\": \"^4.0.0\","},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"csv-parse\": \"^4.14.2\","},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"ensure-posix-path\": \"^1.1.1\","},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"fastmatter\": \"^2.1.1\","},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"fs-extra\": \"^9.0.1\","},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"gh-pages\": \"^2.1.1\","},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"highlight.js\": \"^10.4.1\","},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"htmlparser2\": \"^3.10.1\","},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"ignore\": \"^5.1.4\","},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"js-beautify\": \"1.14.3\","},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"katex\": \"^0.15.6\","},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.15\","},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"markdown-it\": \"^12.3.2\","},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"markdown-it-attrs\": \"^4.1.3\","},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"markdown-it-emoji\": \"^1.4.0\","},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"markdown-it-linkify-images\": \"^3.0.0\","},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"markdown-it-mark\": \"^3.0.0\","},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"markdown-it-regexp\": \"^0.4.0\","},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"markdown-it-sub\": \"^1.0.0\","},{"lineNumber":58,"author":{"gitId":"-"},"content":" \"markdown-it-sup\": \"^1.0.0\","},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"markdown-it-table-of-contents\": \"^0.4.4\","},{"lineNumber":60,"author":{"gitId":"-"},"content":" \"markdown-it-task-lists\": \"^2.1.1\","},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"markdown-it-texmath\": \"^1.0.0\","},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"markdown-it-video\": \"^0.6.3\","},{"lineNumber":63,"author":{"gitId":"-"},"content":" \"material-icons\": \"^1.9.1\","},{"lineNumber":64,"author":{"gitId":"-"},"content":" \"moment\": \"^2.29.4\","},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"nunjucks\": \"3.2.4\","},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"path-is-inside\": \"^1.0.2\","},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":" \"simple-git\": \"^3.22.0\","},{"lineNumber":68,"author":{"gitId":"-"},"content":" \"url-parse\": \"^1.5.10\","},{"lineNumber":69,"author":{"gitId":"-"},"content":" \"uuid\": \"^8.3.1\","},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"vue\": \"2.6.14\","},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"vue-server-renderer\": \"2.6.14\","},{"lineNumber":72,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": \"2.6.14\","},{"lineNumber":73,"author":{"gitId":"-"},"content":" \"walk-sync\": \"^2.0.2\","},{"lineNumber":74,"author":{"gitId":"-"},"content":" \"winston\": \"^2.4.4\""},{"lineNumber":75,"author":{"gitId":"-"},"content":" },"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \"devDependencies\": {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"@jest/globals\": \"^29.5.0\","},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"@types/bluebird\": \"^3.5.36\","},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"@types/cheerio\": \"^0.22.31\","},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"@types/crypto-js\": \"^4.1.1\","},{"lineNumber":81,"author":{"gitId":"-"},"content":" \"@types/domhandler\": \"^2.4.2\","},{"lineNumber":82,"author":{"gitId":"-"},"content":" \"@types/fs-extra\": \"^9.0.13\","},{"lineNumber":83,"author":{"gitId":"-"},"content":" \"@types/gh-pages\": \"^3.2.1\","},{"lineNumber":84,"author":{"gitId":"-"},"content":" \"@types/htmlparser2\": \"^3.10.3\","},{"lineNumber":85,"author":{"gitId":"-"},"content":" \"@types/jest\": \"^27.4.1\","},{"lineNumber":86,"author":{"gitId":"-"},"content":" \"@types/js-beautify\": \"^1.13.3\","},{"lineNumber":87,"author":{"gitId":"-"},"content":" \"@types/katex\": \"^0.16.0\","},{"lineNumber":88,"author":{"gitId":"-"},"content":" \"@types/lodash\": \"^4.14.181\","},{"lineNumber":89,"author":{"gitId":"-"},"content":" \"@types/markdown-it\": \"^12.2.3\","},{"lineNumber":90,"author":{"gitId":"-"},"content":" \"@types/node\": \"^18.15.0\","},{"lineNumber":91,"author":{"gitId":"-"},"content":" \"@types/nunjucks\": \"^3.2.1\","},{"lineNumber":92,"author":{"gitId":"-"},"content":" \"@types/path-is-inside\": \"^1.0.0\","},{"lineNumber":93,"author":{"gitId":"-"},"content":" \"@types/primer__octicons\": \"^17.11.0\","},{"lineNumber":94,"author":{"gitId":"-"},"content":" \"@types/url-parse\": \"^1.4.8\","},{"lineNumber":95,"author":{"gitId":"-"},"content":" \"@types/uuid\": \"^9.0.0\","},{"lineNumber":96,"author":{"gitId":"-"},"content":" \"jest\": \"^27.5.1\","},{"lineNumber":97,"author":{"gitId":"-"},"content":" \"memfs\": \"^3.0.1\","},{"lineNumber":98,"author":{"gitId":"-"},"content":" \"ts-jest\": \"^27.1.4\""},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"KevinEyo1":1,"-":99}},{"path":"packages/core/src/Page/page.njk","fileType":"njk","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003c!DOCTYPE html\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003chtml\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003chead\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" {%- if asset.headTop %}"},{"lineNumber":5,"author":{"gitId":"-"},"content":" {%- for headContent in asset.headTop %}"},{"lineNumber":6,"author":{"gitId":"-"},"content":" {{ headContent }}"},{"lineNumber":7,"author":{"gitId":"-"},"content":" {%- endfor %}"},{"lineNumber":8,"author":{"gitId":"-"},"content":" {%- endif %}"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003cmeta charset\u003d\"utf-8\"\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003cmeta http-equiv\u003d\"X-UA-Compatible\" content\u003d\"IE\u003dedge\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003cmeta name\u003d\"generator\" content\u003d\"{{ markBindVersion }}\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width, initial-scale\u003d1\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" {%- if title -%} \u003ctitle\u003e{{ title }}\u003c/title\u003e {%- endif -%}"},{"lineNumber":14,"author":{"gitId":"-"},"content":" {% if asset.bootstrap %} \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.bootstrap }}\"\u003e {%- endif -%}"},{"lineNumber":15,"author":{"gitId":"-"},"content":" {% if asset.fontAwesome %} \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.fontAwesome }}\"\u003e {%- endif -%}"},{"lineNumber":16,"author":{"gitId":"-"},"content":" {% if asset.glyphicons %} \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.glyphicons }}\"\u003e {%- endif -%}"},{"lineNumber":17,"author":{"gitId":"-"},"content":" {% if asset.octicons %} \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.octicons }}\"\u003e {%- endif -%}"},{"lineNumber":18,"author":{"gitId":"-"},"content":" {% if asset.materialIcons %} \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.materialIcons }}\"\u003e {%- endif -%}"},{"lineNumber":19,"author":{"gitId":"yiwen101"},"content":" {% if asset.bootstrapIcons %} \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.bootstrapIcons }}\"\u003e {%- endif -%}"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.highlight }}\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" {%- if not dev -%}\u003clink rel\u003d\"stylesheet\" href\u003d\"{{ asset.markBindCss }}\"\u003e{%- endif -%}"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003cscript src\u003d\"{{ asset.polyfillJs }}\"\u003e\u003c/script\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cscript src\u003d\"{{ asset.vue }}\"\u003e\u003c/script\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003cscript src\u003d\"{{ asset.markBindJs }}\"\u003e\u003c/script\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003cscript src\u003d\"{{ asset.pageVueRenderJs }}\"\u003e\u003c/script\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" {%- if asset.pluginLinks -%}"},{"lineNumber":27,"author":{"gitId":"-"},"content":" {%- for link in asset.pluginLinks -%}"},{"lineNumber":28,"author":{"gitId":"-"},"content":" {{ link }}"},{"lineNumber":29,"author":{"gitId":"-"},"content":" {%- endfor -%}"},{"lineNumber":30,"author":{"gitId":"-"},"content":" {%- endif -%}"},{"lineNumber":31,"author":{"gitId":"-"},"content":" {%- if asset.headBottom %}"},{"lineNumber":32,"author":{"gitId":"-"},"content":" {%- for headContent in asset.headBottom %}"},{"lineNumber":33,"author":{"gitId":"-"},"content":" {{ headContent }}"},{"lineNumber":34,"author":{"gitId":"-"},"content":" {%- endfor %}"},{"lineNumber":35,"author":{"gitId":"-"},"content":" {%- endif %}"},{"lineNumber":36,"author":{"gitId":"-"},"content":" {%- if faviconUrl -%} \u003clink rel\u003d\"icon\" href\u003d\"{{ faviconUrl }}\"\u003e {%- endif -%}"},{"lineNumber":37,"author":{"gitId":"-"},"content":"\u003c/head\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" const baseUrl \u003d \u0027{{ baseUrl }}\u0027"},{"lineNumber":40,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003cbody {% if hasPageNavHeadings %} data-bs-spy\u003d\"scroll\" data-bs-target\u003d\"#mb-page-nav\" data-bs-offset\u003d\"100\" {% endif %}\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":"{{ content }}"},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003c/body\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":"{{- pageUserScriptsAndStyles -}}"},{"lineNumber":45,"author":{"gitId":"-"},"content":"{{- layoutUserScriptsAndStyles -}}"},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003cscript src\u003d\"{{ asset.bootstrapUtilityJs }}\"\u003e\u003c/script\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" {% if enableSearch %}MarkBind.setupWithSearch(){% else %}MarkBind.setup(){% endif %}"},{"lineNumber":49,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":"{%- if asset.externalScripts %}"},{"lineNumber":51,"author":{"gitId":"-"},"content":"{%- for script in asset.externalScripts %}"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cscript src\u003d\"{{ script }}\"\u003e\u003c/script\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":"{%- endfor %}"},{"lineNumber":54,"author":{"gitId":"-"},"content":"{%- endif %}"},{"lineNumber":55,"author":{"gitId":"-"},"content":"{%- if asset.pluginScripts %}"},{"lineNumber":56,"author":{"gitId":"-"},"content":"{%- for script in asset.pluginScripts %}"},{"lineNumber":57,"author":{"gitId":"-"},"content":" {{ script }}"},{"lineNumber":58,"author":{"gitId":"-"},"content":"{%- endfor %}"},{"lineNumber":59,"author":{"gitId":"-"},"content":"{%- endif %}"},{"lineNumber":60,"author":{"gitId":"-"},"content":"{%- if asset.scriptBottom %}"},{"lineNumber":61,"author":{"gitId":"-"},"content":"{%- for scripts in asset.scriptBottom %}"},{"lineNumber":62,"author":{"gitId":"-"},"content":" {{ scripts }}"},{"lineNumber":63,"author":{"gitId":"-"},"content":"{%- endfor %}"},{"lineNumber":64,"author":{"gitId":"-"},"content":"{%- endif %}"},{"lineNumber":65,"author":{"gitId":"-"},"content":"\u003c/html\u003e"}],"authorContributionMap":{"-":64,"yiwen101":1}},{"path":"packages/core/src/Site/siteConvertLayout.njk","fileType":"njk","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003chead-bottom\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003clink rel\u003d\"stylesheet\" href\u003d\"{% raw %}{{baseUrl}}{% endraw %}/stylesheets/main.css\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":"\u003c/head-bottom\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003cheader sticky\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003cnavbar placement\u003d\"top\" type\u003d\"dark\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"{% raw %}{{baseUrl}}{% endraw %}/index.html\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-solid fa-house\"\u003e\u003c/i\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{% raw %}{{baseUrl}}{% endraw %}/index.html\" class\u003d\"nav-link\"\u003eHOME\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003cli\u003e\u003ca href\u003d\"{% raw %}{{baseUrl}}{% endraw %}/about.html\" class\u003d\"nav-link\"\u003eABOUT\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cform class\u003d\"navbar-form\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/form\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003c/navbar\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003c/header\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"flex-body\"\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003cnav id\u003d\"site-nav\"\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"site-nav-top\"\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"fw-bold mb-2\" style\u003d\"font-size: 1.25rem;\"\u003eContents\u003c/div\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003csite-nav\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":"{{ siteNav }}"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c/site-nav\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003c/nav\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003cdiv id\u003d\"content-wrapper\"\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003cbreadcrumb /\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" {% raw %}{{ content }}{% endraw %}"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003cnav id\u003d\"page-nav\"\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cpage-nav /\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003c/nav\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003cscroll-top-button\u003e\u003c/scroll-top-button\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003cfooter\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":"{%- set defaultFooter -%}"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003c!-- Support MarkBind by including a link to us on your landing page! --\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"text-center\"\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003csmall\u003e[Generated by {% raw %}{{MarkBind}}{% endraw %}]\u003c/small\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":"{%- endset -%}"},{"lineNumber":50,"author":{"gitId":"-"},"content":"{{ footer or defaultFooter }}"},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003c/footer\u003e"}],"authorContributionMap":{"jingting1412":1,"-":50}},{"path":"packages/core/src/plugins/web3FormAssets/web-3-form.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"LamJiuFong"},"content":".web-3-form input,"},{"lineNumber":2,"author":{"gitId":"LamJiuFong"},"content":".web-3-form select,"},{"lineNumber":3,"author":{"gitId":"LamJiuFong"},"content":".web-3-form textarea {"},{"lineNumber":4,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding: 12px;"},{"lineNumber":6,"author":{"gitId":"-"},"content":" border: 1px solid #ccc;"},{"lineNumber":7,"author":{"gitId":"-"},"content":" border-radius: 4px;"},{"lineNumber":8,"author":{"gitId":"-"},"content":" box-sizing: border-box;"},{"lineNumber":9,"author":{"gitId":"-"},"content":" margin-top: 6px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":" margin-bottom: 16px;"},{"lineNumber":11,"author":{"gitId":"-"},"content":" resize: vertical;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":3,"-":9}},{"path":"packages/core/template/default/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"}"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"}"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"}"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"}"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"-"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"-"},"content":"}"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"-"},"content":"}"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":89,"author":{"gitId":"-"},"content":"}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":109,"author":{"gitId":"LamJiuFong"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .indented {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" padding-left: 10px;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" #content-wrapper {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" padding: 0 10px;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":"}"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":120,"author":{"gitId":"LamJiuFong"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":"}"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":"/* Hide site navigation when printing */"},{"lineNumber":127,"author":{"gitId":"-"},"content":"@media print {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" #site-nav {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" #page-nav {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"LamJiuFong":6,"-":129}},{"path":"packages/core/template/portfolio/404.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" title: Page not found"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" layout: 404.md"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"-\u003e\u003cp style\u003d\"font-size: 10rem\"\u003e404\u003c/p\u003e\u003c-"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":"-\u003e\u003cp style\u003d\"font-size: 1.5rem\"\u003eFile not found\u003cbr\u003eClick \u003ca href\u003d\"/\"\u003ehere\u003c/a\u003e to go back to the home page.\u003c/p\u003e\u003c-"}],"authorContributionMap":{"jingting1412":7}},{"path":"packages/core/template/portfolio/_markbind/layouts/404.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cdiv\u003e{{ content }}\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":1}},{"path":"packages/core/template/portfolio/_markbind/layouts/default.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003chead-bottom\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \u003clink rel\u003d\"stylesheet\" href\u003d\"{{baseUrl}}/stylesheets/main.css\"\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003c/head-bottom\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003cheader sticky\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cnavbar type\u003d\"dark\"\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"{{baseUrl}}/index.html\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eYour Name\u003c/a\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#skills\" class\u003d\"nav-link\"\u003eSkills\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#experience\" class\u003d\"nav-link\"\u003eExperience\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003cdropdown header\u003d\"Projects\" class\u003d\"nav-link\"\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#project-1\" class\u003d\"dropdown-item\"\u003eProject 1\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#project-2\" class\u003d\"dropdown-item\"\u003eProject 2\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003cli\u003e\u003ca href\u003d\"{{baseUrl}}/index.html#other-projects\" class\u003d\"dropdown-item\"\u003eOther projects\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003c/dropdown\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003cform class\u003d\"navbar-form\"\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003c/form\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003c/li\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003c/navbar\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":"\u003c/header\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"flex-body\"\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" \u003cdiv id\u003d\"content-wrapper\"\u003e"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" {{ content }}"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \u003cscroll-top-button\u003e\u003c/scroll-top-button\u003e"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":"\u003cfooter\u003e"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" \u003c!-- Support MarkBind by including a link to us on your landing page! --\u003e"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"text-center\"\u003e"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" \u003csmall\u003e[Generated by {{MarkBind}}]\u003c/small\u003e"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":"\u003c/footer\u003e"}],"authorContributionMap":{"jingting1412":35}},{"path":"packages/core/template/portfolio/_markbind/variables.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"name\"\u003e[NAME]\u003c/variable\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"javascript\"\u003e\u003cthumbnail src\u003d\u0027../contents/assets/JavaScript.svg\u0027 size\u003d\"50\"/\u003e\u003c/variable\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"typescript\"\u003e\u003cthumbnail src\u003d\u0027../contents/assets/Typescript.svg\u0027 size\u003d\"50\"/\u003e\u003c/variable\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"vue\"\u003e\u003cthumbnail src\u003d\u0027../contents/assets/Vue.svg\u0027 size\u003d\"50\"/\u003e\u003c/variable\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003cvariable name\u003d\"java\"\u003e\u003cthumbnail src\u003d\"../contents/assets/java-icon.svg\" size\u003d\"50\"/\u003e\u003c/variable\u003e"}],"authorContributionMap":{"jingting1412":5}},{"path":"packages/core/template/portfolio/contents/experience.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"# Experience"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cul class\u003d\"nav nav-tabs\" role\u003d\"tablist\"\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" \u003cli class\u003d\"nav-item\" role\u003d\"presentation\"\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \u003ca class\u003d\"nav-link active\" data-bs-toggle\u003d\"tab\" href\u003d\"#NUS\" aria-selected\u003d\"false\" role\u003d\"tab\" tabindex\u003d\"-1\"\u003eNUS\u003c/a\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003c/li\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003cli class\u003d\"nav-item\" role\u003d\"presentation\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003ca class\u003d\"nav-link\" data-bs-toggle\u003d\"tab\" href\u003d\"#another-company\" aria-selected\u003d\"true\" role\u003d\"tab\"\u003eAnother Company\u003c/a\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003c/li\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":"\u003c/ul\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"\u003cdiv id\u003d\"myTabContent\" class\u003d\"tab-content\" style\u003d\"margin-top:15px;\"\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"tab-pane fade active show\" id\u003d\"NUS\" role\u003d\"tabpanel\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003ch4\u003eSoftware Engineering Intern @ \u003cmd\u003e[NUS](https://nus.edu.sg/)\u003c/md\u003e\u003c/h4\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ch6\u003eMay 2024 - Aug 2024\u003c/h6\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003cp\u003eSome description of your role in the company and the technologies you\u0027ve used.\u003c/p\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"tab-pane fade\" id\u003d\"another-company\" role\u003d\"tabpanel\"\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003ch4\u003eAnother role @ \u003cmd\u003e[Another company](https://markbind.org/)\u003c/md\u003e\u003c/h4\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003ch6\u003eMay 2022 - Aug 2022\u003c/h6\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003cp\u003eSome description of your role in the company and the technologies you\u0027ve used.\u003c/p\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" {{ javascript }}"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":24}},{"path":"packages/core/template/portfolio/contents/project1.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"card mb-3\"\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \u003ch3 class\u003d\"card-header\" id\u003d\"project-1\"\u003eExample project: iP for CS2103\u003c/h3\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" \u003cmd\u003eThis would be a good place to add images and embeds showcasing your contributions to a project. In this case, an `\u003ciframe\u003e` containing the [RepoSense](https://reposense.org/index.html) report of a student\u0027s contributions to their iP is embedded. For more information on embeds, refer to our user guide [here.](https://markbind.org/userGuide/formattingContents.html#embeds)\u003c/md\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cdiv\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003ciframe src\u003d\"https://nus-cs3281.github.io/2024-dashboard/#/widget/?search\u003dReposense\u0026sort\u003dgroupTitle\u0026sortWithin\u003dtitle\u0026timeframe\u003dcommit\u0026mergegroup\u003d\u0026groupSelect\u003dgroupByAuthors\u0026breakdown\u003dfalse\u0026since\u003d2023-12-01\u0026tabOpen\u003dtrue\u0026tabType\u003dauthorship\u0026tabAuthor\u003dasdfghjkxd\u0026tabRepo\u003dreposense%2Freposense%5Bmaster%5D\u0026authorshipIsMergeGroup\u003dfalse\u0026authorshipFileTypes\u003djava~md\u0026authorshipIsBinaryFileTypeChecked\u003dfalse\u0026authorshipIsIgnoredFilesChecked\u003dfalse\u0026chartGroupIndex\u003d5\u0026chartIndex\u003d0\" width\u003d\"100%\"\u003e\u003c/iframe\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration of the project can be added here\u003c/p\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" {{ java }}"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":17}},{"path":"packages/core/template/portfolio/contents/project2.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"card mb-3\"\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \u003ch3 class\u003d\"card-header\" id\u003d\"project-2\"\u003eProject 2\u003c/h3\u003e"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" {{javascript}}"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":16}},{"path":"packages/core/template/portfolio/contents/projects.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"# Projects"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"project1.md\"/\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"project2.md\"/\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"### Other projects"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"row row-cols-1 row-cols-md-3 g-3\"\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col\"\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card\"\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003ch4 class\u003d\"card-header\"\u003eProject title\u003c/h4\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" {{javascript}}"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col\"\u003e"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card\"\u003e"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" \u003ch4 class\u003d\"card-header\"\u003eProject title\u003c/h4\u003e"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":" {{ java }}"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col\"\u003e"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card\"\u003e"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" \u003ch4 class\u003d\"card-header\"\u003eProject title\u003c/h4\u003e"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" This is another project. "},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" \u003cpic src\u003d\"https://markbind.org/images/logo-lightbackground.png\" alt\u003d\"markbind-logo\" width\u003d\"90%\" height\u003d\"200\"\u003e\u003c/pic\u003e"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"card-text\"\u003eSome further elaboration on the project.\u003c/p\u003e"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" class\u003d\"btn btn-primary\"\u003eView on Github\u003c/a\u003e"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://markbind.org/\" class\u003d\"btn btn-primary\"\u003eView Devpost\u003c/a\u003e"},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"jingting1412":61}},{"path":"packages/core/template/portfolio/contents/skills.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"# Skills"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":"\u003cp\u003eThis is where you can give a quick overview of the technologies and frameworks you know using our \u003ca href\u003d\"https://markbind.org/userGuide/components/imagesAndDiagrams.html#thumbnails\" target\u003d\"_blank\"\u003ethumbnail feature\u003c/a\u003e or our \u003ca href\u003d\"https://markbind.org/userGuide/formattingContents.html#icons\" target\u003d\"_blank\"\u003eicons\u003c/a\u003e.\u003c/p\u003e"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":"\u003cpanel header\u003d\"Example using thumbnails\" expanded\u003e"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \u003cbox type\u003d\"info\"\u003eThese thumbnails are available as variables to use anywhere in this page!\u003c/box\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" {{ javascript }}"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" {{ typescript }}"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" {{ vue }}"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" {{ java }}"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":"\u003c/panel\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":"\u003cbr/\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":"\u003cpanel header\u003d\"Example using icons\" expanded\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" Some icons are not available in the libraries that MarkBind supports! Please ensure that "},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" the desired icons are available before choosing this option. For more information regarding"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" icons, please refer to \u003ca href\u003d\"https://markbind.org/userGuide/formattingContents.html#icons\" target\u003d\"_blank\"\u003ethis section of our User Guide.\u003c/a\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003c/box\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-square-js fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-vuejs fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-java fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":"\u003c/panel\u003e"}],"authorContributionMap":{"jingting1412":22}},{"path":"packages/core/template/portfolio/index.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" title: Portfolio"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" layout: default.md"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"\u003cbr\u003e"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"bg-light text-black px-2 py-5 mb-4\"\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"container\"\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003ch1 class\u003d\"display-5 no-index\"\u003e\u003cmd\u003e:wave:\u003c/md\u003e Hello!\u003cbr\u003eI\u0027m {{ name }}\u003c/h1\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003cp class\u003d\"lead\"\u003eWelcome to my portfolio!\u003c/p\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003cdiv style\u003d\"margin-bottom:20px;\"\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \u003cspan style\u003d\"margin-right:10px;\"\u003e"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://github.com/MarkBind/markbind\" target\u003d\"_blank\" class\u003d\"icon\"\u003e"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-github fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \u003c/a\u003e"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \u003c/span\u003e"},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" \u003cspan style\u003d\"margin-right:10px;\"\u003e"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"https://www.linkedin.com/school/national-university-of-singapore/\" target\u003d\"_blank\" class\u003d\"icon\"\u003e"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-brands fa-linkedin fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" \u003c/a\u003e"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" \u003c/span\u003e"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \u003cspan style\u003d\"margin-right:10px;\"\u003e"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" \u003ca href\u003d\"mailto:secretary_cs@comp.nus.edu.sg\" target\u003d\"_blank\" class\u003d\"icon\"\u003e"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" \u003ci class\u003d\"fa-solid fa-envelope fa-2xl\"\u003e\u003c/i\u003e"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \u003c/a\u003e"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \u003c/span\u003e"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" \u003ca class\u003d\"btn btn-primary\" href\u003d\"./contents/assets/UG-template-resume.pdf\" target\u003d\"_blank\" rel\u003d\"noopener noreferrer\"\u003eResume\u003c/a\u003e"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":" Want to change the theme? Explore more themes and other components offered by MarkBind in our \u003ca href\u003d\"https://markbind.org/userGuide/authoringContents.html\" target\u003d\"_blank\"\u003euser guide here\u003c/a\u003e."},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":"\u003cbox type\u003d\"info\" header\u003d\"##### Deploying this site\"\u003e"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" \u003cmd\u003eMarkBind makes it easy to deploy this site to GitHub Pages using the `markbind deploy` command. To allow `http://[username].github.io` to go straight to this portfolio, it is best to set your repository name as `[username].github.io` Read more about [deploying the site here](https://markbind.org/userGuide/deployingTheSite.html#deploying-to-github-pages)\u003c/md\u003e"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":"\u003c/box\u003e"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":"## About me"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":"\u003cdiv class\u003d\"container text-left\"\u003e"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"row\" \u003e"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col-md-3 col-md-push-9\"\u003e"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" \u003cimg src\u003d\u0027./contents/assets/default_profile_pic.png\u0027 class\u003d\"img-fluid\" alt\u003d\u0027default-profile-pic\u0027/\u003e"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" \u003cdiv class\u003d\"col-md-9 col-md-pull-3\"\u003e"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" This is where you can add a picture of yourself and a brief introduction. This can be a good place to use \u003ctooltip content\u003d\"Add more information here\" placement\u003d\"top\"\u003etooltips\u003c/tooltip\u003e, or \u003cmd\u003e[add relevant links](https://markbind.org/userGuide/formattingContents.html#links).\u003c/md\u003e"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":"\u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"contents/skills.md\"/\u003e"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"contents/experience.md\"/\u003e"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":"\u003cinclude src\u003d\"contents/projects.md\"/\u003e"},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":"---"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":""}],"authorContributionMap":{"jingting1412":70}},{"path":"packages/core/template/portfolio/site.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"{"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" \"baseUrl\": \"\","},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" \"titlePrefix\": \"\","},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" \"titleSuffix\": \"\","},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \"ignore\": ["},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" \"_markbind/layouts/*\","},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \"_markbind/logs/*\","},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \"_site/*\","},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \"site.json\","},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \"*.md\","},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \"*.njk\","},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \".git/*\","},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" \".gitignore\","},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \"node_modules/*\""},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":" ],"},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":" \"pagesExclude\": [\"node_modules/*\"],"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":" \"pages\": ["},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":" {"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" \"src\": \"index.md\","},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":" \"title\": \"Portfolio\""},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":" },"},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":" {"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" \"glob\": [\"**/index.md\"]"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":" ],"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":" \"deploy\": {"},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":" \"message\": \"Site Update.\""},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" },"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" \"style\": {"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" \"bootstrapTheme\": \"bootswatch-flatly\""},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":32}},{"path":"packages/core/template/portfolio/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"jingting1412"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"jingting1412"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"jingting1412"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":15,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":16,"author":{"gitId":"jingting1412"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":18,"author":{"gitId":"jingting1412"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"jingting1412"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":21,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":22,"author":{"gitId":"jingting1412"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"jingting1412"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":26,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":27,"author":{"gitId":"jingting1412"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":32,"author":{"gitId":"jingting1412"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"jingting1412"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":35,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"jingting1412"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":40,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":41,"author":{"gitId":"jingting1412"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":53,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":54,"author":{"gitId":"jingting1412"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"jingting1412"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"jingting1412"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"jingting1412"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"jingting1412"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"jingting1412"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"jingting1412"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"jingting1412"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":63,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":64,"author":{"gitId":"jingting1412"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"jingting1412"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"jingting1412"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"jingting1412"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"jingting1412"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"jingting1412"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"jingting1412"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"jingting1412"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"jingting1412"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"jingting1412"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":75,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":76,"author":{"gitId":"jingting1412"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"jingting1412"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"jingting1412"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"jingting1412"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":81,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":82,"author":{"gitId":"jingting1412"},"content":".site-nav-top {"},{"lineNumber":83,"author":{"gitId":"jingting1412"},"content":" margin: 0.8rem 0;"},{"lineNumber":84,"author":{"gitId":"jingting1412"},"content":" padding: 0 12px 12px;"},{"lineNumber":85,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":86,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":87,"author":{"gitId":"jingting1412"},"content":".nav-component {"},{"lineNumber":88,"author":{"gitId":"jingting1412"},"content":" overflow-y: auto;"},{"lineNumber":89,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":90,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":91,"author":{"gitId":"jingting1412"},"content":"#page-nav {"},{"lineNumber":92,"author":{"gitId":"jingting1412"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":93,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":94,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":95,"author":{"gitId":"jingting1412"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":96,"author":{"gitId":"jingting1412"},"content":" #page-nav {"},{"lineNumber":97,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":98,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":99,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":100,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":101,"author":{"gitId":"jingting1412"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":102,"author":{"gitId":"jingting1412"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":103,"author":{"gitId":"jingting1412"},"content":" #site-nav {"},{"lineNumber":104,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":105,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":106,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":107,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":108,"author":{"gitId":"jingting1412"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":109,"author":{"gitId":"jingting1412"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":110,"author":{"gitId":"jingting1412"},"content":" .indented {"},{"lineNumber":111,"author":{"gitId":"jingting1412"},"content":" padding-left: 10px;"},{"lineNumber":112,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":113,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":114,"author":{"gitId":"jingting1412"},"content":" #content-wrapper {"},{"lineNumber":115,"author":{"gitId":"jingting1412"},"content":" padding: 0 10px;"},{"lineNumber":116,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":117,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":118,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":119,"author":{"gitId":"jingting1412"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":120,"author":{"gitId":"jingting1412"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":121,"author":{"gitId":"jingting1412"},"content":" #site-nav {"},{"lineNumber":122,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":123,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":124,"author":{"gitId":"jingting1412"},"content":"}"},{"lineNumber":125,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":126,"author":{"gitId":"jingting1412"},"content":"/* Hide site navigation when printing */"},{"lineNumber":127,"author":{"gitId":"jingting1412"},"content":"@media print {"},{"lineNumber":128,"author":{"gitId":"jingting1412"},"content":" #site-nav {"},{"lineNumber":129,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":130,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":131,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":132,"author":{"gitId":"jingting1412"},"content":" #page-nav {"},{"lineNumber":133,"author":{"gitId":"jingting1412"},"content":" display: none;"},{"lineNumber":134,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":135,"author":{"gitId":"jingting1412"},"content":"}"}],"authorContributionMap":{"jingting1412":135}},{"path":"packages/core/template/project/_markbind/layouts/default.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"\u003chead-bottom\u003e"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" \u003clink rel\u003d\"stylesheet\" href\u003d\"{{baseUrl}}/stylesheets/main.css\"\u003e"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":"\u003c/head-bottom\u003e"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"\u003cheader sticky\u003e"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" \u003cnavbar type\u003d\"dark\"\u003e"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":" \u003ca slot\u003d\"brand\" href\u003d\"{{baseUrl}}/index.html\" title\u003d\"Home\" class\u003d\"navbar-brand\"\u003eProjectEx\u003c/a\u003e"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" \u003cli\u003e\u003ca highlight-on\u003d\"sibling-or-child\" href\u003d\"{{baseUrl}}/userGuide/UserGuide.html\" class\u003d\"nav-link\"\u003eUser Guide\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" \u003cli\u003e\u003ca highlight-on\u003d\"sibling-or-child\" href\u003d\"{{baseUrl}}/developerGuide/DeveloperGuide.html\" class\u003d\"nav-link\"\u003eDeveloper Guide\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" \u003cli\u003e\u003ca highlight-on\u003d\"sibling-or-child\" href\u003d\"{{baseUrl}}/team/AboutUs.html\" class\u003d\"nav-link\"\u003eAbout Us\u003c/a\u003e\u003c/li\u003e"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" \u003cli\u003e\u003ca href\u003d\"https://github.com/se-edu\" target\u003d\"_blank\" class\u003d\"nav-link\"\u003e\u003cmd\u003e:fab-github:\u003c/md\u003e\u003c/a\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" \u003c/li\u003e"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" \u003cli slot\u003d\"right\"\u003e"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" \u003cform class\u003d\"navbar-form\"\u003e"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" \u003csearchbar :data\u003d\"searchData\" placeholder\u003d\"Search\" :on-hit\u003d\"searchCallback\" menu-align-right\u003e\u003c/searchbar\u003e"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" \u003c/form\u003e"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" \u003c/li\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" \u003c/navbar\u003e"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"\u003c/header\u003e"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"\u003cdiv id\u003d\"flex-body\"\u003e"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" \u003cnav id\u003d\"site-nav\"\u003e"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" \u003csite-nav\u003e"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"* [Home]({{ baseUrl }}/index.html)"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"* [User Guide]({{ baseUrl }}/userGuide/UserGuide.html) :expanded:"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" * [Quick Start]({{ baseUrl }}/userGuide/QuickStart.html)"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" * [Features]({{ baseUrl }}/userGuide/Features.html)"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" * [FAQ]({{ baseUrl }}/userGuide/FAQ.html)"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"* [Developer Guide]({{ baseUrl }}/developerGuide/DeveloperGuide.html) :expanded:"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":" * [Setting Up]({{ baseUrl }}/developerGuide/SettingUp.html)"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":" * [Tutorial: Tracing code]({{ baseUrl }}/developerGuide/TracingCode.html)"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" * [Design]({{ baseUrl }}/developerGuide/Design.html)"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" * [Implementation]({{ baseUrl }}/developerGuide/Implementation.html)"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" * Project Guides"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" * [Documentation]({{ baseUrl }}/developerGuide/Documentation.html)"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" * [Testing]({{ baseUrl }}/developerGuide/Testing.html)"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" * [Configuration]({{ baseUrl }}/developerGuide/Configuration.html)"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" * [DevOps]({{ baseUrl }}/developerGuide/DevOps.html)"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" * Appendix"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" * [Requirements]({{ baseUrl }}/developerGuide/Requirements.html)"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"* [About Us]({{ baseUrl }}/team/AboutUs.html) :expanded:"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" * [Contributor Portfolio Template]({{ baseUrl }}/team/johndoe.html)"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" \u003c/site-nav\u003e"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" \u003c/div\u003e"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":" \u003c/nav\u003e"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":" \u003cdiv id\u003d\"content-wrapper\"\u003e"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":" {{ content }}"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":" \u003cnav id\u003d\"page-nav\"\u003e"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":" \u003cdiv class\u003d\"nav-component slim-scroll\"\u003e"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":" \u003cpage-nav /\u003e"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":" \u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":" \u003c/nav\u003e"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":" \u003cscroll-top-button\u003e\u003c/scroll-top-button\u003e"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":"\u003c/div\u003e"},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":"\u003cfooter\u003e"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Support MarkBind by including a link to us on your landing page! --\u003e"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":" \u003cdiv class\u003d\"text-center\"\u003e"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" \u003csmall\u003e[\u003cmd\u003e**Powered by**\u003c/md\u003e \u003cimg src\u003d\"https://markbind.org/favicon.ico\" width\u003d\"30\"\u003e {{MarkBind}}]\u003c/small\u003e"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":" \u003c/div\u003e"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":"\u003c/footer\u003e"}],"authorContributionMap":{"KevinEyo1":63}},{"path":"packages/core/template/project/_markbind/variables.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"\u003cvariable name\u003d\"example\"\u003e"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"To inject this HTML segment in your markbind files, use {{ example }} where you want to place it."},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":"More generally, surround the segment\u0027s id with double curly braces."},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"\u003c/variable\u003e"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"\u003cvariable name\u003d\"placeholderImage\"\u003e"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"\u003cimg src\u003d\"../images/johndoe.png\" width\u003d\"200px\"\u003e"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"\u003c/variable\u003e"}],"authorContributionMap":{"KevinEyo1":8}},{"path":"packages/core/template/project/developerGuide/Configuration.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Configuration guide\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"# Configuration guide"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"This page can be used to understand how to configure the application such as descriptions of the config file and how to change the configuration."},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"Certain properties of the application can be controlled (e.g user preferences file location, logging level) through the configuration file (default: `config.json`)."}],"authorContributionMap":{"KevinEyo1":12}},{"path":"packages/core/template/project/developerGuide/Design.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Design\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Design"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This section describes the architecture of your app, explaining how the main components work and interact with each other. Using architecture diagrams is recommended."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"### Architecture"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"The ***Architecture Diagram*** given below explains the high-level design of the ProjectEx App."},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"\u003cpuml src\u003d\"../diagrams/example.puml\" width\u003d300 /\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"Replace the above example diagram with an Architecture Diagram of your project created using [`puml` feature](https://markbind.org/userGuide/components/imagesAndDiagrams.html#diagrams)."},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"Given below is a quick overview of main components and how they interact with each other."},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"**Main components of the architecture**"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"The bulk of the app\u0027s work is done by the following components:"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"* [**`Component 1`**](#component-1): Does something."},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"* [**`Component 2`**](#component-2): Does something."},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"**Interactions between architecture components**"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"The *Sequence Diagram* below shows how the components interact with each other for a certain scenario."},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"\u003cannotate src\u003d\"../images/johndoe.png\" width\u003d\"300\" alt\u003d\"Sample Image\"\u003e"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Minimal Point --\u003e"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"25%\" content\u003d\"This point is 25% from the left and 25% from the top\" /\u003e"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Customize Point Size (default size is 40px) --\u003e"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"25%\" content\u003d\"This point is 50% from the left and 25% from the top\" size\u003d\"60\"/\u003e"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Customize Point Header (default is empty) --\u003e"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"25%\" content\u003d\"This point is 75% from the left and 25% from the top\" header\u003d\"This has a header\"/\u003e"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Customize Point Color (default color is green) --\u003e"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"33%\" y\u003d\"50%\" content\u003d\"This point is 33% from the left and 50% from the top\" color\u003d\"red\"/\u003e"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Customize Point Opacity (default opacity is 0.3) --\u003e"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"66%\" y\u003d\"50%\" content\u003d\"This point is 66% from the left and 50% from the top\" opacity\u003d\"0.7\"/\u003e"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Customize Point Label (default is empty) --\u003e"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"25%\" y\u003d\"75%\" content\u003d\"This point is 25% from the left and 75% from the top\" label\u003d\"1\"/\u003e"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Customize Text Color (default color is black) --\u003e"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"50%\" y\u003d\"75%\" content\u003d\"This point is 50% from the left and 75% from the top\" textColor\u003d\"white\" color\u003d\"black\" label\u003d\"2\" opacity\u003d\"1\"/\u003e"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":" \u003c!-- Customize Font Size (default font size is 14) --\u003e"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":" \u003ca-point x\u003d\"75%\" y\u003d\"75%\" content\u003d\"This point is 75% from the left and 75% from the top\" fontSize\u003d\"30\" label\u003d\"3\"/\u003e"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":"\u003c/annotate\u003e"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":"For diagrams like your Sequence Diagram, it can also be created using [`annotate` feature](https://markbind.org/userGuide/components/imagesAndDiagrams.html#annotations), that will allow you to annotate specific parts of your diagram."},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":"The sections below give more details of each component."},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":"**Tip:** Describe in each section how each component works in detail, including its classes, methods, and how it interacts with other components."},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"You can use a combination of Markbind\u0027s [**Diagrams** feature](https://markbind.org/userGuide/components/imagesAndDiagrams.html#diagrams) to provide a visual representation of each component, such as architecture and sequence diagrams."},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":"### Component 1"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":"Component 1 is made up of parts e.g.`A`, `B`, `C` etc."},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":72,"author":{"gitId":"KevinEyo1"},"content":"\u003cpic src\u003d\"../images/johndoe.png\" width\u003d\"200px\" style\u003d\"margin-bottom: 20px;\"\u003e"},{"lineNumber":73,"author":{"gitId":"KevinEyo1"},"content":"Diagram: Component 1"},{"lineNumber":74,"author":{"gitId":"KevinEyo1"},"content":"\u003c/pic\u003e"},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":76,"author":{"gitId":"KevinEyo1"},"content":"Component 1,"},{"lineNumber":77,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":"* works with Component 2 in this way."},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":80,"author":{"gitId":"KevinEyo1"},"content":"### Component 2"},{"lineNumber":81,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":82,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":83,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":84,"author":{"gitId":"KevinEyo1"},"content":"**Note:** You can use boxes to include details that you want to draw the reader\u0027s attention to. See [`Boxes` feature](https://markbind.org/userGuide/components/presentation.html#boxes)."},{"lineNumber":85,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":86,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":87,"author":{"gitId":"KevinEyo1"},"content":"\u003cpic src\u003d\"../images/johndoe.png\" width\u003d\"200px\" style\u003d\"margin-bottom: 20px;\"\u003e"},{"lineNumber":88,"author":{"gitId":"KevinEyo1"},"content":"Diagram: Component 2"},{"lineNumber":89,"author":{"gitId":"KevinEyo1"},"content":"\u003c/pic\u003e"},{"lineNumber":90,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":91,"author":{"gitId":"KevinEyo1"},"content":"Component 2,"},{"lineNumber":92,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":93,"author":{"gitId":"KevinEyo1"},"content":"* works with Component 1 in this way."}],"authorContributionMap":{"KevinEyo1":93}},{"path":"packages/core/template/project/developerGuide/DevOps.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"DevOps guide\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# DevOps guide"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This page can be used to understand the DevOps practices adopted by the project."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"## Build automation"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"This example project includes features for **build automation and dependency management**. You can walkthrough command scripts you have in your project, such as how to clean, test, and run the project."},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**Example Commands for Typical Projects**\"\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"The following commands are examples. You can customize them according to your project\u0027s needs."},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":"* **`clean`**: Deletes the files created during the previous build tasks.\u003cbr\u003e"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" e.g. `npm run clean`"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"* **`run`**: Builds and runs the application.\u003cbr\u003e"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"* **`test`**: Runs all tests."},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" * `npm run test` — Runs all tests"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" * `npm run cleantest` — Cleans the project and runs tests"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"\u003cbr\u003e"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"## Continuous integration (CI)"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"This project uses [GitHub Actions](https://github.com/features/actions) for CI. The project comes with the necessary GitHub Actions configurations files (in the `.github/workflows` folder). No further setting up required."},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"### Code coverage"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":"As part of CI, this project tracks code coverage as well."},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"### Repository-wide checks"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"Your CI can include some repository-wide checks. These repository-wide checks cover all files in the repository. They check for repository rules which are hard to enforce on development machines such as line ending requirements."},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":"--------------------------------------------------------------------------------------------------------------------"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":"## Making a release"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"Here are the steps to create a new release."},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"warning\"\u003e"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":"Make sure you have the necessary permissions to create a release."},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":"\u003cpopover id\u003d\"pop:trigger_id\" content\u003d\"e.g. `v0.1`\"\u003e\u003c/popover\u003e"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":"1. Update the version number."},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":"1. Tag the repo with the \u003ctrigger for\u003d\"pop:trigger_id\"\u003eversion number\u003c/trigger\u003e. "},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":"1. [Create a new release using GitHub](https://help.github.com/articles/creating-releases/)."}],"authorContributionMap":{"KevinEyo1":59}},{"path":"packages/core/template/project/developerGuide/DeveloperGuide.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Developer Guide\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# ProjectEx Developer Guide"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"--------------------------------------------------------------------------------------------------------------------"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"## Introduction"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"Welcome to the Developer Guide. This guide helps developers understand the architecture, setup, and development workflows of our software, serving as your starting point and companion."},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"## Purpose of this Guide"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"The main objectives of this guide are to:"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"1. Orient new developers to the software\u0027s architecture and codebase structure."},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"1. Provide a comprehensive reference for the development practices, coding standards, and tools used."},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"1. Detail the setup process for a development environment."},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"## **Acknowledgements**"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"_{ List and link sources of all reused/adapted ideas, code, documentation, and third-party libraries }_"}],"authorContributionMap":{"KevinEyo1":26}},{"path":"packages/core/template/project/developerGuide/Documentation.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Documentation guide\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Documentation Guide"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This page can be used to understand the documentation practices and link to relevant sources to help developers contribute to documentation."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"* We use [**MarkBind**](https://markbind.org/) to manage documentation."},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"* The `docs/` folder contains the source files for the documentation website."},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"* To learn how set it up and maintain the project website, follow the guide [[se-edu/guides] Working with Forked MarkBind sites](https://se-education.org/guides/tutorials/markbind-forked-sites.html) for project documentation."},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"success\" seamless\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"Updating documentation as changes are made to the project is ideal for any project."},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"**Style guidance:**"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"* Follow the [**_Google developer documentation style guide_**](https://developers.google.com/style)."},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"* Also relevant is the [_se-edu/guides **Markdown coding standard**_](https://se-education.org/guides/conventions/markdown.html)."},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"**Converting to PDF**"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"* See the guide [_se-edu/guides **Saving web documents as PDF files**_](https://se-education.org/guides/tutorials/savingPdf.html)."}],"authorContributionMap":{"KevinEyo1":29}},{"path":"packages/core/template/project/developerGuide/Implementation.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Implementation\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Implementation"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This section can be used to describe some noteworthy details on how certain features are implemented."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"### \\[Proposed\\] FeatureX Implementation"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"Given below is an example usage scenario and how FeatureX behaves at each step."},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"1. **Step 1**: User does something"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" * **Expected**: FeatureX does something in response"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"1. **Step 2**: User does something else"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" "},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" * **Expected**: FeatureX does something else in response"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"#### Design considerations:"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"**Aspect: How FeatureX executes:**"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**Alternative 1 (current choice):** Implementation 1\"\u003e"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"Pros: Easy to implement.\u003cbr\u003e"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"Cons: May have performance issues in terms of memory usage."},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"\u003cbr\u003e"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**Alternative 2:** Implementation 2\"\u003e"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"Pros: Will use less memory.\u003cbr\u003e"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"Cons: We must add addtional test cases."},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"\u003cbr\u003e"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":"_{ More aspects and alternatives to be added }_"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"### \\[Proposed\\] Data archiving"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"_{ Explain here how the data archiving feature will be implemented }_"}],"authorContributionMap":{"KevinEyo1":44}},{"path":"packages/core/template/project/developerGuide/Requirements.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Requirements\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Requirements"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This section can be used to describe the requirements of the app, through the use of user stories, use cases."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"### Product scope"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"**Target user profile**:"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"* user needs"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"* user preferences"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"* user information"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"**Value proposition**: Benefit compared to other similar products"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"**Non-Functional Requirements**:"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"* OS requirements"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"* Peformance"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"* Security"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"### User stories"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*`"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"| Priority | As a …​ | I want to …​ | So that I can…​ |"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"|----------|--------------------------------|----------------|---------------------|"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"| `* * *` | new user | see something | visualise something |"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"| `* *` | user | do something | complete something |"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":"| `*` | user with specific information | sort something | find something |"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"*{More to be added}*"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"### Use cases"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":"(For all use cases below, the **System** is the `ProjectEx` and the **Actor** is the `User`, unless specified otherwise)"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**Use case 1: Do something**\"\u003e"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":" "},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":"**MSS**"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":"1. User requests ProjectEx"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"1. ProjectEx provides response"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":" Use case ends."},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"**Extensions**"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":"* 2a. Requests fails."},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":" Use case ends."},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":"* 2b. User request is invalid."},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":" * 2b1. ProjectEx shows an error message."},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":" Use case resumes at step 2."},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":"\u003cbr\u003e"},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":"*{More to be added}*"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":"### Non-Functional Requirements"},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":72,"author":{"gitId":"KevinEyo1"},"content":"1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed."},{"lineNumber":73,"author":{"gitId":"KevinEyo1"},"content":"2. Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage."},{"lineNumber":74,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":"*{More to be added}*"}],"authorContributionMap":{"KevinEyo1":75}},{"path":"packages/core/template/project/developerGuide/SettingUp.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Setting up and getting started\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Setting up and getting started"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"--------------------------------------------------------------------------------------------------------------------"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"This page can be used to help developers with setting up the project in their local environment."},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"## Setting up the project in your computer"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"**Caution:**"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"Follow the steps in the following guide precisely. Things will not work out if you deviate in some steps."},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"First, **fork** the project repo, and **clone** the fork into your computer."},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"\u003cpopover id\u003d\"pop:trigger_id\" content\u003d\"eg. `init` or `build` commands\"\u003e\u003c/popover\u003e"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"(Example) Steps to setup the project environment:"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"1. **Download packages**: Run `npm install` to download the required packages."},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":"1. **Run setup commands**: Run \u003ctrigger for\u003d\"pop:trigger_id\"\u003ecommands\u003c/trigger\u003e needed to setup the project."},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" \u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" Note: Remember to run commands from the appropriate directory."},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":" \u003c/box\u003e"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"1. **Configure files**: Edit config files according to your needs. For example, changing the `appTitle` in `config.js` to match your project name."},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"1. **Verify the setup (optional)**:"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" 1. Run the `build` and `serve` commands, ensuring that the site properly deploys on your local host."},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" 1. [Run the tests](Testing.md) to ensure they all pass."},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":"--------------------------------------------------------------------------------------------------------------------"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"## Before writing code"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"1. **Configure the coding style**"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" Configure your VSCode or IDEA checkstyle to allign with the project\u0027s coding style."},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":" \u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":" **Tip:**"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":" You can easily customize your IDE\u0027s coding style through settings."},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" \u003c/box\u003e"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":"1. **Set up CI**"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":" This project comes with a GitHub Actions config files (in `.github/workflows` folder). When GitHub detects those files, it will run the CI for your project automatically at each push to the `master` branch or to any PR. No set up required."},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":"1. **Learn the design**"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":" When you are ready to start coding, we recommend that you get some sense of the overall design by reading about [ProjectEx’s architecture](Design.md#Architecture)."},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":"1. **Do the tutorial**"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" The [Tracing Code tutorial](TracingCode.md) can help you get acquainted with the codebase."},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":" "}],"authorContributionMap":{"KevinEyo1":63}},{"path":"packages/core/template/project/developerGuide/Testing.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Testing guide\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Testing guide"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This page can be used to understand the testing processes."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"## Running tests"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"* **Method 1: Using script**"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" * Create script for running tests in package.json"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" * Open a console and run the command for the script, like `npm run test`"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"--------------------------------------------------------------------------------------------------------------------"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"## Types of tests"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"This project has two types of tests:"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**1. Unit tests**\"\u003e"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"These tests target the lowest level methods/classes.\u003cbr\u003e"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":"Example command (replace with your own): `npm run test`"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"\u003cbr\u003e"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**2. Integration tests**\"\u003e"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"These tests are checking the integration of multiple code units (those code units are assumed to be working)."},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"}],"authorContributionMap":{"KevinEyo1":33}},{"path":"packages/core/template/project/developerGuide/TracingCode.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Tutorial: Tracing code\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Tutorial: Tracing code"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"\u003e Indeed, the ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code. …​\\[Therefore,\\] making it easy to read makes it easier to write."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"\u003e — Robert C. Martin Clean Code: A Handbook of Agile Software Craftsmanship"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"This page can be taken as a reference on a tutorial on how to trace the execution path of a user command through the codebase of the App."},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"To understand an unfamiliar codebase, one strategy is to trace some representative execution path through the codebase using a debugger."},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":"## Before we start"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"Before we jump into the code, it is useful to get an idea of the overall structure and the high-level behavior of the application."},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":"Architecture diagrams can be easily utilised with the [`puml`](https://markbind.org/userGuide/components/imagesAndDiagrams.html#diagrams) tag. The `src` attribute specifies the path to the PlantUML file."},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"\u003cpuml src\u003d\"../diagrams/example.puml\" width\u003d300 /\u003e"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"Before we proceed, ensure that you have done the following:"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"1. Read the [*Architecture* section of the DG](Design.html#architecture)"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"1. Set up the project in your preferred IDE"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":"## Setting a breakpoint"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"As you know, the first step of debugging is to put in a breakpoint where you want the debugger to pause the execution."},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":"**Tip:** You can use a combination of Markbind\u0027s [**Images and Diagrams** features](https://markbind.org/userGuide/components/imagesAndDiagrams.html) such as `puml` and `pic` tags to provide a visual representation of the steps to be taken. [**Code blocks**](https://markbind.org/userGuide/formattingContents.html#code) can also be used as shown below."},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":"```java"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":"public interface Example {"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" /**"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":" * Executes returns the output."},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":" * @param exampleInput The input as entered by the user."},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":" * @return The example output."},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":" * @throws ExampleException If an error occurs."},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":" */"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":" ExampleOutput execute(String exampleInput) throws ExampleException;"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":"..."},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":"```"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":"## Tracing the execution path"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":"**Tip:** You can use a list of steps to guide the reader through the process of tracing the execution path. This can be done using Markbind\u0027s [**Lists** feature](https://markbind.org/userGuide/formattingContents.html#lists)."},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":"1. Firstly, do this."},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":"1. Next, do that."},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":"1. Finally, do this."}],"authorContributionMap":{"KevinEyo1":71}},{"path":"packages/core/template/project/index.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"# ProjectEx"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"[![CI Status](https://github.com/MarkBind/markbind/workflows/CI/badge.svg)](https://github.com/MarkBind/markbind/actions)"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"[![codecov](https://codecov.io/gh/MarkBind/markbind/branch/master/graph/badge.svg)](https://codecov.io/gh/MarkBind/markbind)"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003cpic src\u003d\"images/SeEduLogo.png\" width\u003d\"200px\" style\u003d\"margin-bottom: 20px;\"\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"Project Onboarding Screen"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"\u003c/pic\u003e"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"**ProjectEx is an example project application used for showcasing a default MarkBind template specifically for project documentation.** "},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"Take this template as a _starting point_ for your project documentation, taking reference of what would be in a typical project documentation site, replacing the content with your own."},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":"* If you are interested in using ProjectEx, head over to the [_Quick Start_ section of the **User Guide**](userGuide/QuickStart.html)."},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"* If you are interested about contributing to developing ProjectEx, the [**Developer Guide**](developerGuide/DeveloperGuide.html) is a good place to start."},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"**Acknowledgements**"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":"Remember to replace the following with your own acknowledgements."},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"* Libraries used: [JavaFX](https://openjfx.io/), [Jackson](https://github.com/FasterXML/jackson), [JUnit5](https://github.com/junit-team/junit5)"}],"authorContributionMap":{"KevinEyo1":31}},{"path":"packages/core/template/project/site.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"{"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" \"baseUrl\": \"\","},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" \"titlePrefix\": \"\","},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" \"titleSuffix\": \"ProjectEx\","},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" \"faviconPath\": \"images/SeEduLogo.png\","},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":" \"style\": {"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":" \"codeTheme\": \"light\""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" \"ignore\": ["},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":" \"_markbind/layouts/*\","},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" \"_markbind/logs/*\","},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":" \"_site/*\","},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" \"site.json\","},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":" \"*.md\","},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":" \"*.njk\","},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":" \".git/*\","},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" \"node_modules/*\""},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" ],"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" \"pagesExclude\": [\"node_modules/*\"],"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" \"pages\": ["},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" {"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" \"glob\": [\"**/index.md\", \"**/*.md\"]"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" ],"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":" \"deploy\": {"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":" \"message\": \"Site Update.\""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" },"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" \"timeZone\": \"Asia/Singapore\""},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":29}},{"path":"packages/core/template/project/stylesheets/main.css","fileType":"css","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"mark {"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" background-color: #ff0;"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 5px;"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" padding-top: 0;"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":" padding-bottom: 0;"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":".indented {"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":" padding-left: 20px;"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":".theme-card img {"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":" width: 100%;"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"/* Scrollbar */"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll::-webkit-scrollbar {"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" width: 5px;"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll::-webkit-scrollbar-thumb {"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":" background: #808080;"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll::-webkit-scrollbar-track {"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":" background: transparent;"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll-blue::-webkit-scrollbar {"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" width: 5px;"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll-blue::-webkit-scrollbar-thumb {"},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":" background: #00b0ef;"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":".slim-scroll-blue::-webkit-scrollbar-track {"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":" background: transparent;"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" border-radius: 20px;"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":"/* Layout containers */"},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":"#flex-body {"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":" display: flex;"},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":" flex: 1;"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":" align-items: start;"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"#content-wrapper {"},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":" flex: 1;"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":" margin: 0 auto;"},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":" min-width: 0;"},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":" max-width: 1000px;"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":" overflow-x: auto;"},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":" padding: 0.8rem 20px 0;"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":" transition: 0.4s;"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":"#site-nav,"},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"#page-nav {"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":" display: flex;"},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":" flex-direction: column;"},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":" position: sticky;"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":" top: var(--sticky-header-height);"},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":" flex: 0 0 auto;"},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":" max-width: 300px;"},{"lineNumber":72,"author":{"gitId":"KevinEyo1"},"content":" max-height: calc(100vh - var(--sticky-header-height));"},{"lineNumber":73,"author":{"gitId":"KevinEyo1"},"content":" width: 300px;"},{"lineNumber":74,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":75,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":76,"author":{"gitId":"KevinEyo1"},"content":"#site-nav {"},{"lineNumber":77,"author":{"gitId":"KevinEyo1"},"content":" border-right: 1px solid lightgrey;"},{"lineNumber":78,"author":{"gitId":"KevinEyo1"},"content":" padding-bottom: 20px;"},{"lineNumber":79,"author":{"gitId":"KevinEyo1"},"content":" z-index: 999;"},{"lineNumber":80,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":81,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":82,"author":{"gitId":"KevinEyo1"},"content":".nav-component {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":84,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":85,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":86,"author":{"gitId":"KevinEyo1"},"content":"#page-nav {"},{"lineNumber":87,"author":{"gitId":"KevinEyo1"},"content":" border-left: 1px solid lightgrey;"},{"lineNumber":88,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":89,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":90,"author":{"gitId":"KevinEyo1"},"content":"@media screen and (width \u003c\u003d 1299.98px) {"},{"lineNumber":91,"author":{"gitId":"KevinEyo1"},"content":" #page-nav {"},{"lineNumber":92,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":93,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":94,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":95,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":96,"author":{"gitId":"KevinEyo1"},"content":"/* Bootstrap medium(md) responsive breakpoint */"},{"lineNumber":97,"author":{"gitId":"KevinEyo1"},"content":"@media screen and (width \u003c\u003d 991.98px) {"},{"lineNumber":98,"author":{"gitId":"KevinEyo1"},"content":" #site-nav {"},{"lineNumber":99,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":100,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":101,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":102,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":103,"author":{"gitId":"KevinEyo1"},"content":"/* Bootstrap small(sm) responsive breakpoint */"},{"lineNumber":104,"author":{"gitId":"KevinEyo1"},"content":"@media (width \u003c\u003d 767.98px) {"},{"lineNumber":105,"author":{"gitId":"KevinEyo1"},"content":" .indented {"},{"lineNumber":106,"author":{"gitId":"KevinEyo1"},"content":" padding-left: 10px;"},{"lineNumber":107,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":108,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":109,"author":{"gitId":"KevinEyo1"},"content":" #content-wrapper {"},{"lineNumber":110,"author":{"gitId":"KevinEyo1"},"content":" padding: 0 10px;"},{"lineNumber":111,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":112,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":113,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":114,"author":{"gitId":"KevinEyo1"},"content":"/* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":115,"author":{"gitId":"KevinEyo1"},"content":"@media screen and (width \u003c\u003d 575.98px) {"},{"lineNumber":116,"author":{"gitId":"KevinEyo1"},"content":" #site-nav {"},{"lineNumber":117,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":118,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":119,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":120,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":121,"author":{"gitId":"KevinEyo1"},"content":"/* Hide site navigation when printing */"},{"lineNumber":122,"author":{"gitId":"KevinEyo1"},"content":"@media print {"},{"lineNumber":123,"author":{"gitId":"KevinEyo1"},"content":" #site-nav {"},{"lineNumber":124,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":125,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":126,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":127,"author":{"gitId":"KevinEyo1"},"content":" #page-nav {"},{"lineNumber":128,"author":{"gitId":"KevinEyo1"},"content":" display: none;"},{"lineNumber":129,"author":{"gitId":"KevinEyo1"},"content":" }"},{"lineNumber":130,"author":{"gitId":"KevinEyo1"},"content":"}"},{"lineNumber":131,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":132,"author":{"gitId":"KevinEyo1"},"content":"h2,"},{"lineNumber":133,"author":{"gitId":"KevinEyo1"},"content":"h3,"},{"lineNumber":134,"author":{"gitId":"KevinEyo1"},"content":"h4,"},{"lineNumber":135,"author":{"gitId":"KevinEyo1"},"content":"h5,"},{"lineNumber":136,"author":{"gitId":"KevinEyo1"},"content":"h6 {"},{"lineNumber":137,"author":{"gitId":"KevinEyo1"},"content":" color: #e46c0a;"},{"lineNumber":138,"author":{"gitId":"KevinEyo1"},"content":"}"}],"authorContributionMap":{"KevinEyo1":137,"-":1}},{"path":"packages/core/template/project/team/AboutUs.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"About Us\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"# About Us"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\"\u003e"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"This section describes the contributors of your app."},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"We are a team based in [Organisation A](#project-team)."},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"You can reach us at the email `organisationa@gmail.sg`"},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"## Project team"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"### John Doe"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":"This img uses the `placeholderImage` defined in the `_markbind/variables.md` file."},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"{{ placeholderImage }}"},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":"[[homepage](http://www.comp.nus.edu.sg/~damithch)]"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":"[[github](https://github.com/johndoe)]"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"[[contributions](johndoe.md)]"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"* Role: Project Advisor"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"### Jane Doe"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"{{ placeholderImage }}"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":"[[github](http://github.com/johndoe)]"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"[[contributions](johndoe.md)]"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":"* Role: Team Lead"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"* Responsibilities: UI"},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":"### Johnny Doe"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":"{{ placeholderImage }}"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":"[[github](http://github.com/johndoe)]"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":"[[contributions](johndoe.md)]"},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"* Role: Developer"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":"* Responsibilities: Data"},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":"### Jean Doe"},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":55,"author":{"gitId":"KevinEyo1"},"content":"{{ placeholderImage }}"},{"lineNumber":56,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":57,"author":{"gitId":"KevinEyo1"},"content":"[[github](http://github.com/johndoe)]"},{"lineNumber":58,"author":{"gitId":"KevinEyo1"},"content":"[[contributions](johndoe.md)]"},{"lineNumber":59,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":60,"author":{"gitId":"KevinEyo1"},"content":"* Role: Developer"},{"lineNumber":61,"author":{"gitId":"KevinEyo1"},"content":"* Responsibilities: Dev Ops + Threading"},{"lineNumber":62,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":63,"author":{"gitId":"KevinEyo1"},"content":"### James Doe"},{"lineNumber":64,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":65,"author":{"gitId":"KevinEyo1"},"content":"{{ placeholderImage }}"},{"lineNumber":66,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":67,"author":{"gitId":"KevinEyo1"},"content":"[[github](http://github.com/johndoe)]"},{"lineNumber":68,"author":{"gitId":"KevinEyo1"},"content":"[[contributions](johndoe.md)]"},{"lineNumber":69,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":70,"author":{"gitId":"KevinEyo1"},"content":"* Role: Developer"},{"lineNumber":71,"author":{"gitId":"KevinEyo1"},"content":"* Responsibilities: UI"}],"authorContributionMap":{"KevinEyo1":71}},{"path":"packages/core/template/project/team/johndoe.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Portfolio Page\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":"### Project: ProjectEx"},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"ProjectEx is an example project application used for showcasing a default MarkBind template specifically for project documentation. It can be taken as a reference for users to base their own MarkBind sites off of."},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":" Content can be easily be replaced by the user\u0027s project information and context."},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"Given below are my contributions to the project."},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"* **New Feature**: Feature X"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":" * What it does: This feature does a thing"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":" * Justification: This feature is important because..."},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":" * Highlights:"},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":" * Point 1"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":" * Point 2"},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":" * Credits: *{mention here for reused code/ideas or use of a third-party library}*"},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"* **Code contributed**: [Github Repo]()"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"* **Project management**:"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":" * Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub"},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"* **Enhancements to existing features**:"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":" * Wrote additional tests, increasing coverage to 92% (Pull requests [\\#36](), [\\#38]())"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":"* **Documentation**:"},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":" * User Guide:"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":" * Added documentation for feature [\\#72]()"},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":" * Developer Guide:"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":" * Added implementation details of feature."},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":"* **Community**:"},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":" * PRs reviewed (with non-trivial review comments): [\\#12](), [\\#32](), [\\#19](), [\\#42]()"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":" * Contributed to forum discussions (examples: [1](), [2](), [3](), [4]())"},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":"* **Tools**:"},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":" * Integrated a third party library (Natty) to the project ([\\#42]())"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":"* _{ You can add/remove categories in the list above }_"}],"authorContributionMap":{"KevinEyo1":45}},{"path":"packages/core/template/project/userGuide/FAQ.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"FAQ\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# FAQ"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This section answers common questions about the app or specific features."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**Question:** How do I learn to use this project?\"\u003e"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":"**Answer:** Refer to the [User Guide](../userGuide/UserGuide.md)."},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":"\u003cbr\u003e"},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"**Question:** How do I contribute to this project?\"\u003e"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":"**Answer:** Refer to the [Developer Guide](../developerGuide/DeveloperGuide.md)."},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"}],"authorContributionMap":{"KevinEyo1":20}},{"path":"packages/core/template/project/userGuide/Features.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Features\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Features"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"**Notes about the app usage**\u003cbr\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"* General information about the app\u0027s features."},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"* General tips about how to use the app efficiently."},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"* Warnings that may lead to issues and how to avoid them."},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"### FeatureX"},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":"Description of feature."},{"lineNumber":23,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":24,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":25,"author":{"gitId":"KevinEyo1"},"content":"A visual representation of the feature can be shown here."},{"lineNumber":26,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":27,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":28,"author":{"gitId":"KevinEyo1"},"content":"* List of primary information about the feature"},{"lineNumber":29,"author":{"gitId":"KevinEyo1"},"content":"* How to use the feature"},{"lineNumber":30,"author":{"gitId":"KevinEyo1"},"content":"* How the feature works"},{"lineNumber":31,"author":{"gitId":"KevinEyo1"},"content":"* Limitations of feature"},{"lineNumber":32,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":33,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":34,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":35,"author":{"gitId":"KevinEyo1"},"content":"**Caution:**"},{"lineNumber":36,"author":{"gitId":"KevinEyo1"},"content":"Things to avoid when using the feature."},{"lineNumber":37,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":38,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":39,"author":{"gitId":"KevinEyo1"},"content":"### Y Feature"},{"lineNumber":40,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":41,"author":{"gitId":"KevinEyo1"},"content":"Description of feature."},{"lineNumber":42,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":43,"author":{"gitId":"KevinEyo1"},"content":"\u003cpanel header\u003d\"Feature Examples\"\u003e"},{"lineNumber":44,"author":{"gitId":"KevinEyo1"},"content":"Examples of how to use the feature."},{"lineNumber":45,"author":{"gitId":"KevinEyo1"},"content":"\u003c/panel\u003e"},{"lineNumber":46,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":47,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":48,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":49,"author":{"gitId":"KevinEyo1"},"content":"**Tip:** Secondary information about feature usage."},{"lineNumber":50,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":51,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":52,"author":{"gitId":"KevinEyo1"},"content":"### Future Feature Z `[coming in v2.0]`"},{"lineNumber":53,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":54,"author":{"gitId":"KevinEyo1"},"content":"_Details coming soon ..._"}],"authorContributionMap":{"KevinEyo1":54}},{"path":"packages/core/template/project/userGuide/QuickStart.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"Quick Start\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Quick start"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"\u003cbox type\u003d\"tip\"\u003e"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"This section can be used to help users get started with the application quickly."},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"\u003c/box\u003e"},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"1. Ensure you have Java `11` and Node.js `v16` and above installed in your Computer."},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"1. Open a command terminal and run necessary setup commands like `npm run setup`."},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"1. Refer to the [Features](Features.html) section for details of the app\u0027s features."}],"authorContributionMap":{"KevinEyo1":17}},{"path":"packages/core/template/project/userGuide/UserGuide.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":" layout: default.md"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":" title: \"User Guide\""},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"---"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# ProjectEx User Guide"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"--------------------------------------------------------------------------------------------------------------------"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":"ProjectEx is an example project application used for showcasing a default MarkBind template specifically for project documentation. It can be taken as a reference for users to base their own MarkBind sites off of."},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":"## Introduction"},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":"Welcome to the User Guide. This comprehensive resource is designed to assist you in navigating and utilizing our software to its fullest potential."},{"lineNumber":16,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":17,"author":{"gitId":"KevinEyo1"},"content":"## Purpose of this Guide"},{"lineNumber":18,"author":{"gitId":"KevinEyo1"},"content":"This guide aims to:"},{"lineNumber":19,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":20,"author":{"gitId":"KevinEyo1"},"content":"1. Equip users with the necessary knowledge."},{"lineNumber":21,"author":{"gitId":"KevinEyo1"},"content":"1. Offer step-by-step instructions for common tasks and operations."},{"lineNumber":22,"author":{"gitId":"KevinEyo1"},"content":"1. Provide tips and tricks to streamline the user experience."}],"authorContributionMap":{"KevinEyo1":22}},{"path":"packages/vue-components/src/Box.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":3,"author":{"gitId":"-"},"content":" :class\u003d\"["},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u0027alert box-container\u0027,"},{"lineNumber":5,"author":{"gitId":"-"},"content":" containerStyle(),"},{"lineNumber":6,"author":{"gitId":"-"},"content":" addClass,"},{"lineNumber":7,"author":{"gitId":"-"},"content":" { \u0027d-flex\u0027: seamlessHeaderBool() },"},{"lineNumber":8,"author":{"gitId":"-"},"content":" ]\""},{"lineNumber":9,"author":{"gitId":"-"},"content":" :style\u003d\"customStyle()\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003c!--Icon and vertical divider for seamless header box--\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"seamlessHeaderBool()\" class\u003d\"d-flex\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":14,"author":{"gitId":"-"},"content":" v-if\u003d\"iconBool()\""},{"lineNumber":15,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027icon-wrapper\u0027, iconStyle()]\""},{"lineNumber":16,"author":{"gitId":"-"},"content":" :style\u003d\"customIconColorStyle()\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"icon\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003ci :class\u003d\"[\u0027fas\u0027, getFontAwesomeIconStyle()]\"\u003e\u003c/i\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":23,"author":{"gitId":"-"},"content":" class\u003d\"vertical-divider\""},{"lineNumber":24,"author":{"gitId":"-"},"content":" :class\u003d\"getBootstrapAlertStyle()\""},{"lineNumber":25,"author":{"gitId":"-"},"content":" aria-hidden\u003d\"true\""},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003e\u003c/div\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"header-and-body\"\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003c!-- Header wrapper, not rendered if there is no header attribute --\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":32,"author":{"gitId":"-"},"content":" v-if\u003d\"headerBool()\""},{"lineNumber":33,"author":{"gitId":"yiwen101"},"content":" :class\u003d\"[\u0027box-header-wrapper\u0027, { \u0027alert-dismissible-box\u0027: dismissible }]\""},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003c!-- icon on the left of the header --\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":37,"author":{"gitId":"-"},"content":" v-if\u003d\"iconBool() \u0026\u0026 !seamlessHeaderBool()\""},{"lineNumber":38,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027icon-wrapper\u0027, iconStyle()]\""},{"lineNumber":39,"author":{"gitId":"-"},"content":" :style\u003d\"customIconColorStyle()\""},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"icon\"\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003ci :class\u003d\"[\u0027fas\u0027, getFontAwesomeIconStyle()]\"\u003e\u003c/i\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003c!-- header --\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"box-header\"\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003c!-- dismiss button to the right of the header --\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":53,"author":{"gitId":"-"},"content":" v-if\u003d\"dismissible\""},{"lineNumber":54,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":55,"author":{"gitId":"-"},"content":" class\u003d\"btn-close close-with-heading\""},{"lineNumber":56,"author":{"gitId":"-"},"content":" data-bs-dismiss\u003d\"alert\""},{"lineNumber":57,"author":{"gitId":"-"},"content":" aria-label\u003d\"Close\""},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" \u003c!-- Body wrapper --\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":64,"author":{"gitId":"-"},"content":" :class\u003d\"["},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u0027box-body-wrapper\u0027,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" {"},{"lineNumber":67,"author":{"gitId":"yiwen101"},"content":" \u0027alert-dismissible-box\u0027: dismissible \u0026\u0026 !headerBool(),"},{"lineNumber":68,"author":{"gitId":"-"},"content":" \u0027box-body-wrapper-with-heading\u0027: headerBool(),"},{"lineNumber":69,"author":{"gitId":"-"},"content":" },"},{"lineNumber":70,"author":{"gitId":"-"},"content":" ]\""},{"lineNumber":71,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":" \u003c!-- icon on the left, not shown if there is a header --\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":74,"author":{"gitId":"-"},"content":" v-if\u003d\"iconBool() \u0026\u0026 !headerBool()\""},{"lineNumber":75,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027icon-wrapper\u0027, iconStyle()]\""},{"lineNumber":76,"author":{"gitId":"-"},"content":" :style\u003d\"customIconColorStyle()\""},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"icon\"\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003ci :class\u003d\"[\u0027fas\u0027, getFontAwesomeIconStyle()]\"\u003e\u003c/i\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003c!-- Icon -- content divider for seamless boxes without the header attribute --\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":85,"author":{"gitId":"-"},"content":" v-if\u003d\"seamlessNoHeaderBool()\""},{"lineNumber":86,"author":{"gitId":"-"},"content":" class\u003d\"vertical-divider\""},{"lineNumber":87,"author":{"gitId":"-"},"content":" :class\u003d\"getBootstrapAlertStyle()\""},{"lineNumber":88,"author":{"gitId":"-"},"content":" aria-hidden\u003d\"true\""},{"lineNumber":89,"author":{"gitId":"-"},"content":" \u003e\u003c/div\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" \u003c!-- Content wrapper --\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"contents\" :style\u003d\"customColorStyle()\"\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u003c!-- dismiss button on the right, not shown if there is a header --\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":98,"author":{"gitId":"-"},"content":" v-if\u003d\"dismissible \u0026\u0026 !headerBool()\""},{"lineNumber":99,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":100,"author":{"gitId":"-"},"content":" class\u003d\"btn-close\""},{"lineNumber":101,"author":{"gitId":"-"},"content":" data-bs-dismiss\u003d\"alert\""},{"lineNumber":102,"author":{"gitId":"-"},"content":" aria-label\u003d\"Close\""},{"lineNumber":103,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":107,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":"import { classifyBootstrapStyle } from \u0027./utils/utils\u0027;"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" dismissible: {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":117,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":118,"author":{"gitId":"-"},"content":" },"},{"lineNumber":119,"author":{"gitId":"-"},"content":" backgroundColor: {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":121,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":122,"author":{"gitId":"-"},"content":" },"},{"lineNumber":123,"author":{"gitId":"-"},"content":" borderColor: {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":125,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":126,"author":{"gitId":"-"},"content":" },"},{"lineNumber":127,"author":{"gitId":"-"},"content":" borderLeftColor: {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":129,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":130,"author":{"gitId":"-"},"content":" },"},{"lineNumber":131,"author":{"gitId":"-"},"content":" color: {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":133,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":134,"author":{"gitId":"-"},"content":" },"},{"lineNumber":135,"author":{"gitId":"-"},"content":" icon: {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":137,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":138,"author":{"gitId":"-"},"content":" },"},{"lineNumber":139,"author":{"gitId":"-"},"content":" iconSize: {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":141,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":142,"author":{"gitId":"-"},"content":" },"},{"lineNumber":143,"author":{"gitId":"-"},"content":" iconColor: {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":145,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":146,"author":{"gitId":"-"},"content":" },"},{"lineNumber":147,"author":{"gitId":"-"},"content":" type: {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":149,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":150,"author":{"gitId":"-"},"content":" },"},{"lineNumber":151,"author":{"gitId":"-"},"content":" addClass: {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":153,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":154,"author":{"gitId":"-"},"content":" },"},{"lineNumber":155,"author":{"gitId":"-"},"content":" light: {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":157,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":158,"author":{"gitId":"-"},"content":" },"},{"lineNumber":159,"author":{"gitId":"-"},"content":" seamless: {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":161,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":162,"author":{"gitId":"-"},"content":" },"},{"lineNumber":163,"author":{"gitId":"-"},"content":" noIcon: {"},{"lineNumber":164,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":165,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":166,"author":{"gitId":"-"},"content":" },"},{"lineNumber":167,"author":{"gitId":"-"},"content":" noBackground: {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":169,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":170,"author":{"gitId":"-"},"content":" },"},{"lineNumber":171,"author":{"gitId":"-"},"content":" noBorder: {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":173,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":174,"author":{"gitId":"-"},"content":" },"},{"lineNumber":175,"author":{"gitId":"-"},"content":" theme: {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":177,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":178,"author":{"gitId":"-"},"content":" },"},{"lineNumber":179,"author":{"gitId":"-"},"content":" },"},{"lineNumber":180,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" bootStrapStyle() {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" return classifyBootstrapStyle(this.type, this.theme);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" },"},{"lineNumber":184,"author":{"gitId":"-"},"content":" },"},{"lineNumber":185,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" isSeamless() {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" return !this.light \u0026\u0026 this.seamless;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" },"},{"lineNumber":189,"author":{"gitId":"-"},"content":" seamlessNoHeaderBool() {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" return this.isSeamless() \u0026\u0026 !this.headerBool();"},{"lineNumber":191,"author":{"gitId":"-"},"content":" },"},{"lineNumber":192,"author":{"gitId":"-"},"content":" seamlessHeaderBool() {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" return this.isSeamless() \u0026\u0026 this.headerBool();"},{"lineNumber":194,"author":{"gitId":"-"},"content":" },"},{"lineNumber":195,"author":{"gitId":"-"},"content":" headerBool() {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" return !!this.$scopedSlots.header;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" },"},{"lineNumber":198,"author":{"gitId":"-"},"content":" iconBool() {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" // this.$scopedSlots.icon is either undefined or an object"},{"lineNumber":200,"author":{"gitId":"-"},"content":" const isIconSlotFilled \u003d !!this.$scopedSlots.icon;"},{"lineNumber":201,"author":{"gitId":"-"},"content":" return (!this.noIcon \u0026\u0026 this.type) || isIconSlotFilled;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" },"},{"lineNumber":203,"author":{"gitId":"-"},"content":" containerStyle() {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" let containerStyle;"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" if (this.light) {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" containerStyle \u003d `${this.getBootstrapBorderStyle()} alert-border-left`;"},{"lineNumber":208,"author":{"gitId":"-"},"content":" } else if (this.seamless) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" containerStyle \u003d \u0027seamless\u0027;"},{"lineNumber":210,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" containerStyle \u003d this.getBootstrapAlertStyle();"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" if (this.noBackground) {"},{"lineNumber":215,"author":{"gitId":"-"},"content":" containerStyle +\u003d \u0027 no-background\u0027;"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" if (this.noBorder) {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" containerStyle +\u003d \u0027 no-border\u0027;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" return containerStyle;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" },"},{"lineNumber":224,"author":{"gitId":"-"},"content":" customStyle() {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" const style \u003d {};"},{"lineNumber":226,"author":{"gitId":"-"},"content":" if (this.backgroundColor) {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" style.backgroundColor \u003d this.backgroundColor;"},{"lineNumber":228,"author":{"gitId":"-"},"content":" style.borderColor \u003d this.backgroundColor;"},{"lineNumber":229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":230,"author":{"gitId":"-"},"content":" if (this.borderColor) {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" style.border \u003d `1px solid ${this.borderColor}`;"},{"lineNumber":232,"author":{"gitId":"-"},"content":" }"},{"lineNumber":233,"author":{"gitId":"-"},"content":" if (this.borderLeftColor) {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" style.borderLeft \u003d `5px solid ${this.borderLeftColor}`;"},{"lineNumber":235,"author":{"gitId":"-"},"content":" }"},{"lineNumber":236,"author":{"gitId":"-"},"content":" return style;"},{"lineNumber":237,"author":{"gitId":"-"},"content":" },"},{"lineNumber":238,"author":{"gitId":"-"},"content":" customColorStyle() {"},{"lineNumber":239,"author":{"gitId":"-"},"content":" if (this.color) {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" return { color: this.color };"},{"lineNumber":241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":242,"author":{"gitId":"-"},"content":" return {};"},{"lineNumber":243,"author":{"gitId":"-"},"content":" },"},{"lineNumber":244,"author":{"gitId":"-"},"content":" iconStyle() {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" let iconStyle \u003d \u0027\u0027;"},{"lineNumber":246,"author":{"gitId":"-"},"content":" if (this.iconSize) {"},{"lineNumber":247,"author":{"gitId":"-"},"content":" iconStyle +\u003d `fa-${this.iconSize}`;"},{"lineNumber":248,"author":{"gitId":"-"},"content":" }"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" if (this.light || this.seamless) {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" iconStyle +\u003d ` ${this.getBootstrapTextStyle()}`;"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" return iconStyle;"},{"lineNumber":255,"author":{"gitId":"-"},"content":" },"},{"lineNumber":256,"author":{"gitId":"-"},"content":" customIconColorStyle() {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" if (this.iconColor) {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" return { color: `${this.iconColor}!important` };"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":" return {};"},{"lineNumber":261,"author":{"gitId":"-"},"content":" },"},{"lineNumber":262,"author":{"gitId":"-"},"content":" getBootstrapAlertStyle() {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" return `alert-${this.bootStrapStyle.style}`;"},{"lineNumber":264,"author":{"gitId":"-"},"content":" },"},{"lineNumber":265,"author":{"gitId":"-"},"content":" getBootstrapTextStyle() {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" return `text-${this.bootStrapStyle.style}`;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" },"},{"lineNumber":268,"author":{"gitId":"-"},"content":" getBootstrapBorderStyle() {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" return `border-${this.bootStrapStyle.style}`;"},{"lineNumber":270,"author":{"gitId":"-"},"content":" },"},{"lineNumber":271,"author":{"gitId":"-"},"content":" getFontAwesomeIconStyle() {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" return this.bootStrapStyle.icon;"},{"lineNumber":273,"author":{"gitId":"-"},"content":" },"},{"lineNumber":274,"author":{"gitId":"-"},"content":" },"},{"lineNumber":275,"author":{"gitId":"-"},"content":"};"},{"lineNumber":276,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":279,"author":{"gitId":"-"},"content":" .box-container {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" padding: 0;"},{"lineNumber":281,"author":{"gitId":"-"},"content":" border-radius: 6px;"},{"lineNumber":282,"author":{"gitId":"-"},"content":" }"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" .box-header-wrapper {"},{"lineNumber":285,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":286,"author":{"gitId":"-"},"content":" flex-direction: row;"},{"lineNumber":287,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":288,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":289,"author":{"gitId":"LamJiuFong"},"content":" padding: 0.4rem 1.25rem 0.28rem;"},{"lineNumber":290,"author":{"gitId":"-"},"content":" border-radius: 6px 6px 0 0;"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" .box-body-wrapper {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":295,"author":{"gitId":"-"},"content":" flex-direction: row;"},{"lineNumber":296,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":297,"author":{"gitId":"-"},"content":" padding: 0.75rem 1.25rem;"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" .box-container.seamless \u003e .header-and-body \u003e .box-body-wrapper {"},{"lineNumber":301,"author":{"gitId":"-"},"content":" padding: 0.75rem 0.5rem;"},{"lineNumber":302,"author":{"gitId":"-"},"content":" }"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" .contents {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" padding: 0 6px;"},{"lineNumber":306,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":307,"author":{"gitId":"-"},"content":" min-width: 0;"},{"lineNumber":308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" .box-container.seamless \u003e .header-and-body \u003e div.box-body-wrapper \u003e .contents {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" padding-left: 12px;"},{"lineNumber":312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"-"},"content":" .heading {"},{"lineNumber":315,"author":{"gitId":"-"},"content":" display: inline;"},{"lineNumber":316,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":317,"author":{"gitId":"-"},"content":" font-weight: normal;"},{"lineNumber":318,"author":{"gitId":"-"},"content":" color: inherit;"},{"lineNumber":319,"author":{"gitId":"LamJiuFong"},"content":" background-color: rgb(240 240 240 / 60%);"},{"lineNumber":320,"author":{"gitId":"-"},"content":" width: auto;"},{"lineNumber":321,"author":{"gitId":"LamJiuFong"},"content":" padding: 3px 5px 4px;"},{"lineNumber":322,"author":{"gitId":"-"},"content":" border-width: 0;"},{"lineNumber":323,"author":{"gitId":"LamJiuFong"},"content":" border-radius: 0 6px;"},{"lineNumber":324,"author":{"gitId":"-"},"content":" margin: -13px -27px 0 15px;"},{"lineNumber":325,"author":{"gitId":"-"},"content":" }"},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":" .box-body-wrapper-with-heading {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" padding-top: 0.5rem;"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"yiwen101"},"content":" .alert-dismissible-box {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" padding-right: 4rem;"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" .box-header {"},{"lineNumber":336,"author":{"gitId":"-"},"content":" font-weight: 500;"},{"lineNumber":337,"author":{"gitId":"-"},"content":" }"},{"lineNumber":338,"author":{"gitId":"-"},"content":""},{"lineNumber":339,"author":{"gitId":"-"},"content":" .icon-wrapper {"},{"lineNumber":340,"author":{"gitId":"-"},"content":" display: inline;"},{"lineNumber":341,"author":{"gitId":"-"},"content":" text-align: center;"},{"lineNumber":342,"author":{"gitId":"-"},"content":" margin-right: 0.5em;"},{"lineNumber":343,"author":{"gitId":"-"},"content":" min-width: 1em;"},{"lineNumber":344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" .close-with-heading {"},{"lineNumber":347,"author":{"gitId":"-"},"content":" top: 0;"},{"lineNumber":348,"author":{"gitId":"-"},"content":" right: 0;"},{"lineNumber":349,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":350,"author":{"gitId":"-"},"content":" padding: 1rem;"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" .close-with-heading \u003e span {"},{"lineNumber":354,"author":{"gitId":"-"},"content":" vertical-align: text-top;"},{"lineNumber":355,"author":{"gitId":"-"},"content":" }"},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"yiwen101"},"content":" .alert-dismissible-box .btn-close {"},{"lineNumber":358,"author":{"gitId":"-"},"content":" padding: 1rem;"},{"lineNumber":359,"author":{"gitId":"-"},"content":" }"},{"lineNumber":360,"author":{"gitId":"-"},"content":""},{"lineNumber":361,"author":{"gitId":"-"},"content":" .contents \u003e :last-child {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" margin-bottom: 0;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" }"},{"lineNumber":364,"author":{"gitId":"-"},"content":""},{"lineNumber":365,"author":{"gitId":"-"},"content":" .alert-default {"},{"lineNumber":366,"author":{"gitId":"-"},"content":" color: #24292e;"},{"lineNumber":367,"author":{"gitId":"-"},"content":" background-color: #f6f8fa;"},{"lineNumber":368,"author":{"gitId":"-"},"content":" border-color: #e8ebef;"},{"lineNumber":369,"author":{"gitId":"-"},"content":" }"},{"lineNumber":370,"author":{"gitId":"-"},"content":""},{"lineNumber":371,"author":{"gitId":"-"},"content":" .alert-border-left {"},{"lineNumber":372,"author":{"gitId":"-"},"content":" background-color: #f9f8f8;"},{"lineNumber":373,"author":{"gitId":"-"},"content":" border-left: solid;"},{"lineNumber":374,"author":{"gitId":"-"},"content":" border-width: 0 0 0 5px;"},{"lineNumber":375,"author":{"gitId":"-"},"content":" }"},{"lineNumber":376,"author":{"gitId":"-"},"content":""},{"lineNumber":377,"author":{"gitId":"-"},"content":" .vertical-divider {"},{"lineNumber":378,"author":{"gitId":"-"},"content":" width: 4px;"},{"lineNumber":379,"author":{"gitId":"-"},"content":" }"},{"lineNumber":380,"author":{"gitId":"-"},"content":""},{"lineNumber":381,"author":{"gitId":"-"},"content":" .horizontal-divider {"},{"lineNumber":382,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":383,"author":{"gitId":"-"},"content":" width: calc(100% - 2.5rem);"},{"lineNumber":384,"author":{"gitId":"-"},"content":" height: 3px;"},{"lineNumber":385,"author":{"gitId":"-"},"content":" }"},{"lineNumber":386,"author":{"gitId":"-"},"content":""},{"lineNumber":387,"author":{"gitId":"-"},"content":" .no-background {"},{"lineNumber":388,"author":{"gitId":"-"},"content":" background: none;"},{"lineNumber":389,"author":{"gitId":"-"},"content":" }"},{"lineNumber":390,"author":{"gitId":"-"},"content":""},{"lineNumber":391,"author":{"gitId":"-"},"content":" .no-border {"},{"lineNumber":392,"author":{"gitId":"-"},"content":" border: none;"},{"lineNumber":393,"author":{"gitId":"-"},"content":" }"},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"LamJiuFong"},"content":" @media screen and (width \u003c\u003d 768px) {"},{"lineNumber":396,"author":{"gitId":"-"},"content":" .box-header-wrapper {"},{"lineNumber":397,"author":{"gitId":"-"},"content":" padding: 0.75rem 0.75rem 0.1rem;"},{"lineNumber":398,"author":{"gitId":"-"},"content":" }"},{"lineNumber":399,"author":{"gitId":"-"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" .box-body-wrapper {"},{"lineNumber":401,"author":{"gitId":"-"},"content":" padding: 0.75rem;"},{"lineNumber":402,"author":{"gitId":"-"},"content":" }"},{"lineNumber":403,"author":{"gitId":"-"},"content":""},{"lineNumber":404,"author":{"gitId":"-"},"content":" .contents {"},{"lineNumber":405,"author":{"gitId":"-"},"content":" padding: 0;"},{"lineNumber":406,"author":{"gitId":"-"},"content":" }"},{"lineNumber":407,"author":{"gitId":"-"},"content":" }"},{"lineNumber":408,"author":{"gitId":"-"},"content":"\u003c/style\u003e"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":"\u003c!-- TODO move this once we upgrade vue-loader version for scoped deep selectors --\u003e"},{"lineNumber":411,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":412,"author":{"gitId":"-"},"content":" div.box-header \u003e * {"},{"lineNumber":413,"author":{"gitId":"-"},"content":" margin-bottom: 0;"},{"lineNumber":414,"author":{"gitId":"-"},"content":" }"},{"lineNumber":415,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":5,"-":406,"yiwen101":4}},{"path":"packages/vue-components/src/Dropdown.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cli"},{"lineNumber":3,"author":{"gitId":"-"},"content":" v-if\u003d\"isLi\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" ref\u003d\"dropdown\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" :class\u003d\"[{ \u0027disabled\u0027: disabledBool }, \u0027dropdown\u0027, addClass]\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"button\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003ca"},{"lineNumber":9,"author":{"gitId":"-"},"content":" class\u003d\"dropdown-toggle nav-link\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" role\u003d\"button\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" :class\u003d\"{\u0027disabled\u0027: disabledBool}\""},{"lineNumber":12,"author":{"gitId":"-"},"content":" data-bs-toggle\u003d\"dropdown\""},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"dropdown-menu\" :class\u003d\"[{ \u0027show\u0027: show }, { \u0027dropdown-menu-end\u0027: menuAlignRight }]\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cul class\u003d\"dropdown-menu\" :class\u003d\"[{ \u0027show\u0027: show }, { \u0027dropdown-menu-end\u0027: menuAlignRight }]\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003c/ul\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003csubmenu v-else-if\u003d\"isSubmenu\" ref\u003d\"submenu\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003ctemplate v-for\u003d\"(node, name) in $scopedSlots\" #[name]\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003cslot :name\u003d\"name\"\u003e\u003c/slot\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003c/template\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003c/submenu\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":29,"author":{"gitId":"-"},"content":" v-else"},{"lineNumber":30,"author":{"gitId":"-"},"content":" ref\u003d\"dropdown\""},{"lineNumber":31,"author":{"gitId":"-"},"content":" :class\u003d\"[{ \u0027disabled\u0027: disabledBool }, \u0027btn-group\u0027, addClass]\""},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"before\"\u003e\u003c/slot\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"button\"\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":36,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":37,"author":{"gitId":"-"},"content":" class\u003d\"btn dropdown-toggle\""},{"lineNumber":38,"author":{"gitId":"-"},"content":" :class\u003d\"[btnType, btnWithBefore, { \u0027dropdown-toggle-split\u0027: hasBefore }]\""},{"lineNumber":39,"author":{"gitId":"-"},"content":" :disabled\u003d\"disabledBool\""},{"lineNumber":40,"author":{"gitId":"-"},"content":" data-bs-reference\u003d\"parent\""},{"lineNumber":41,"author":{"gitId":"-"},"content":" data-bs-toggle\u003d\"dropdown\""},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"dropdown-menu\" :class\u003d\"[{ \u0027show\u0027: show }, { \u0027dropdown-menu-end\u0027: menuAlignRight }]\"\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003cul class\u003d\"dropdown-menu\" :class\u003d\"[{ \u0027show\u0027: show }, { \u0027dropdown-menu-end\u0027: menuAlignRight }]\"\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003c/ul\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":"import Submenu from \u0027./Submenu.vue\u0027;"},{"lineNumber":56,"author":{"gitId":"-"},"content":"import { toBoolean } from \u0027./utils/utils\u0027;"},{"lineNumber":57,"author":{"gitId":"-"},"content":"import $ from \u0027./utils/NodeList\u0027;"},{"lineNumber":58,"author":{"gitId":"-"},"content":"import preventOverflowOnMobile from \u0027./utils/dropdown\u0027;"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" components: {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" Submenu,"},{"lineNumber":63,"author":{"gitId":"-"},"content":" },"},{"lineNumber":64,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" disabled: {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" type: [Boolean, String],"},{"lineNumber":67,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":68,"author":{"gitId":"-"},"content":" },"},{"lineNumber":69,"author":{"gitId":"-"},"content":" type: {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":71,"author":{"gitId":"-"},"content":" default: \u0027light\u0027,"},{"lineNumber":72,"author":{"gitId":"-"},"content":" },"},{"lineNumber":73,"author":{"gitId":"-"},"content":" menuAlignRight: {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":75,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" },"},{"lineNumber":77,"author":{"gitId":"-"},"content":" addClass: {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":79,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":80,"author":{"gitId":"-"},"content":" },"},{"lineNumber":81,"author":{"gitId":"-"},"content":" },"},{"lineNumber":82,"author":{"gitId":"-"},"content":" provide: { hasParentDropdown: true },"},{"lineNumber":83,"author":{"gitId":"-"},"content":" inject: {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" hasParentDropdown: {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" default: undefined,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" },"},{"lineNumber":87,"author":{"gitId":"-"},"content":" isParentNavbar: {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":89,"author":{"gitId":"-"},"content":" },"},{"lineNumber":90,"author":{"gitId":"-"},"content":" },"},{"lineNumber":91,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" show: false,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" };"},{"lineNumber":95,"author":{"gitId":"-"},"content":" },"},{"lineNumber":96,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" btnType() {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" return `btn-${this.type}`;"},{"lineNumber":99,"author":{"gitId":"-"},"content":" },"},{"lineNumber":100,"author":{"gitId":"-"},"content":" disabledBool() {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" return toBoolean(this.disabled);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" },"},{"lineNumber":103,"author":{"gitId":"-"},"content":" isLi() { return this.$parent._navbar || this.$parent.menu || this.$parent._tabset; },"},{"lineNumber":104,"author":{"gitId":"-"},"content":" isSubmenu() { return this.hasParentDropdown; },"},{"lineNumber":105,"author":{"gitId":"-"},"content":" menu() {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" return !this.$parent || this.$parent.navbar;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" },"},{"lineNumber":108,"author":{"gitId":"-"},"content":" submenu() {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" return this.$parent \u0026\u0026 (this.$parent.menu || this.$parent.submenu);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" },"},{"lineNumber":111,"author":{"gitId":"-"},"content":" slots() {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" return this.$scopedSlots.default;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" },"},{"lineNumber":114,"author":{"gitId":"-"},"content":" hasBefore() {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" return !!this.$scopedSlots.before;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" },"},{"lineNumber":117,"author":{"gitId":"-"},"content":" btnWithBefore() {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" return this.hasBefore ? \u0027btn-with-before\u0027 : \u0027\u0027;"},{"lineNumber":119,"author":{"gitId":"-"},"content":" },"},{"lineNumber":120,"author":{"gitId":"-"},"content":" },"},{"lineNumber":121,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" blur() {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" this.unblur();"},{"lineNumber":124,"author":{"gitId":"-"},"content":" this._hide \u003d setTimeout(() \u003d\u003e {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" this._hide \u003d null;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" this.hideDropdownMenu();"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }, 100);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" },"},{"lineNumber":129,"author":{"gitId":"-"},"content":" unblur() {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" if (this._hide) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" clearTimeout(this._hide);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" this._hide \u003d null;"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":" },"},{"lineNumber":135,"author":{"gitId":"-"},"content":" hideDropdownMenu() {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" this.show \u003d false;"},{"lineNumber":137,"author":{"gitId":"-"},"content":" $(this.$refs.dropdown).findChildren(\u0027ul\u0027).each((ul) \u003d\u003e {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" ul.classList.toggle(\u0027show\u0027, false);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" if (window.innerWidth \u003c 768 \u0026\u0026 this.isParentNavbar) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" ul.style.removeProperty(\u0027left\u0027);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":" });"},{"lineNumber":144,"author":{"gitId":"-"},"content":" },"},{"lineNumber":145,"author":{"gitId":"-"},"content":" showDropdownMenu() {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" this.show \u003d true;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" $(this.$refs.dropdown).findChildren(\u0027ul\u0027).each((ul) \u003d\u003e {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" ul.classList.toggle(\u0027show\u0027, true);"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" // check if the dropdown is part of the sliding menu on mobile"},{"lineNumber":151,"author":{"gitId":"-"},"content":" if (window.innerWidth \u003c 768 \u0026\u0026 this.isParentNavbar) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" preventOverflowOnMobile(ul);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":154,"author":{"gitId":"-"},"content":" });"},{"lineNumber":155,"author":{"gitId":"-"},"content":" },"},{"lineNumber":156,"author":{"gitId":"-"},"content":" },"},{"lineNumber":157,"author":{"gitId":"-"},"content":" mounted() {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" const $el \u003d $(this.$refs.dropdown);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" if (this.$slots.button) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" // If the button is passed via props, manually add a data-bs-toggle"},{"lineNumber":161,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027.dropdown-toggle\u0027).forEach(child \u003d\u003e child.setAttribute(\u0027data-bs-toggle\u0027, \u0027dropdown\u0027));"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":" if (this.show) {"},{"lineNumber":164,"author":{"gitId":"-"},"content":" this.showDropdownMenu();"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":" $el.onBlur(() \u003d\u003e { this.hideDropdownMenu(); }, false);"},{"lineNumber":167,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027a,button.dropdown-toggle\u0027).on(\u0027click\u0027, (e) \u003d\u003e {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" e.preventDefault();"},{"lineNumber":169,"author":{"gitId":"-"},"content":" if (this.disabledBool) { return false; }"},{"lineNumber":170,"author":{"gitId":"-"},"content":" if (this.show) {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" this.hideDropdownMenu();"},{"lineNumber":172,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":173,"author":{"gitId":"-"},"content":" this.showDropdownMenu();"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" });"},{"lineNumber":177,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027ul\u0027).on(\u0027click\u0027, \u0027li\u003ea\u0027, (e) \u003d\u003e {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" if (e.target.classList.contains(\u0027submenu-toggle\u0027)) { return; }"},{"lineNumber":179,"author":{"gitId":"-"},"content":" this.hideDropdownMenu();"},{"lineNumber":180,"author":{"gitId":"-"},"content":" });"},{"lineNumber":181,"author":{"gitId":"-"},"content":" },"},{"lineNumber":182,"author":{"gitId":"-"},"content":" beforeDestroy() {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" const $el \u003d $(this.$refs.dropdown);"},{"lineNumber":184,"author":{"gitId":"-"},"content":" $el.offBlur();"},{"lineNumber":185,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027a,button\u0027).off();"},{"lineNumber":186,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027ul\u0027).off();"},{"lineNumber":187,"author":{"gitId":"-"},"content":" },"},{"lineNumber":188,"author":{"gitId":"-"},"content":"};"},{"lineNumber":189,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":192,"author":{"gitId":"LamJiuFong"},"content":" @media (width \u003c\u003d 767px) {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" .navbar-default .dropdown {"},{"lineNumber":194,"author":{"gitId":"-"},"content":" position: static;"},{"lineNumber":195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" .navbar-default .dropdown-menu {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":199,"author":{"gitId":"-"},"content":" max-width: 100%;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" max-height: 75vh;"},{"lineNumber":201,"author":{"gitId":"-"},"content":" overflow-y: auto;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" overscroll-behavior: contain;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" .navbar-default .dropdown-menu-end {"},{"lineNumber":206,"author":{"gitId":"-"},"content":" right: auto;"},{"lineNumber":207,"author":{"gitId":"-"},"content":" }"},{"lineNumber":208,"author":{"gitId":"-"},"content":" }"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":" .secret {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" clip: rect(0 0 0 0);"},{"lineNumber":213,"author":{"gitId":"-"},"content":" overflow: hidden;"},{"lineNumber":214,"author":{"gitId":"-"},"content":" margin: -1px;"},{"lineNumber":215,"author":{"gitId":"-"},"content":" height: 1px;"},{"lineNumber":216,"author":{"gitId":"-"},"content":" width: 1px;"},{"lineNumber":217,"author":{"gitId":"-"},"content":" padding: 0;"},{"lineNumber":218,"author":{"gitId":"-"},"content":" border: 0;"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" .btn-with-before {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" padding-left: 0.2rem;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" padding-right: 0.4rem;"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" .dropdown-toggle {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":228,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":229,"author":{"gitId":"-"},"content":" width: max-content;"},{"lineNumber":230,"author":{"gitId":"-"},"content":" }"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" .navbar .dropdown-toggle {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" text-decoration: none;"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" .nav-link \u003e .nav-link {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" padding: 0;"},{"lineNumber":238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":239,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":1,"-":238}},{"path":"packages/vue-components/src/Navbar.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cnav"},{"lineNumber":4,"author":{"gitId":"-"},"content":" ref\u003d\"navbar\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027navbar\u0027, \u0027navbar-expand-md\u0027, \u0027d-print-none\u0027, themeOptions, addClass, fixedOptions]\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"container-fluid\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"navbar-left\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"brand\"\u003e\u003c/slot\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003cdiv ref\u003d\"navbarDefault\" class\u003d\"navbar-default\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cul class\u003d\"navbar-nav me-auto mt-2 mt-lg-0\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003c/ul\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003cul v-if\u003d\"slots.right\" class\u003d\"navbar-nav navbar-right\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"right\"\u003e\u003c/slot\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003c/ul\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/nav\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":23,"author":{"gitId":"-"},"content":" v-show\u003d\"isLowerNavbarShowing\""},{"lineNumber":24,"author":{"gitId":"-"},"content":" ref\u003d\"lowerNavbar\""},{"lineNumber":25,"author":{"gitId":"-"},"content":" class\u003d\"lower-navbar-container\""},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"lower-navbar\"\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003csite-nav-button /\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003cpage-nav-button /\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import $ from \u0027./utils/NodeList\u0027;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import { toBoolean } from \u0027./utils/utils\u0027;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import normalizeUrl from \u0027./utils/urls\u0027;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import SiteNavButton from \u0027./SiteNavButton.vue\u0027;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import PageNavButton from \u0027./PageNavButton.vue\u0027;"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" components: {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" SiteNavButton,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" PageNavButton,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" },"},{"lineNumber":47,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" type: {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":50,"author":{"gitId":"-"},"content":" default: \u0027primary\u0027,"},{"lineNumber":51,"author":{"gitId":"-"},"content":" },"},{"lineNumber":52,"author":{"gitId":"-"},"content":" addClass: {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" },"},{"lineNumber":56,"author":{"gitId":"-"},"content":" fixed: {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" type: [Boolean, String],"},{"lineNumber":58,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":59,"author":{"gitId":"-"},"content":" },"},{"lineNumber":60,"author":{"gitId":"-"},"content":" defaultHighlightOn: {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":62,"author":{"gitId":"-"},"content":" default: \u0027sibling-or-child\u0027,"},{"lineNumber":63,"author":{"gitId":"-"},"content":" },"},{"lineNumber":64,"author":{"gitId":"-"},"content":" },"},{"lineNumber":65,"author":{"gitId":"-"},"content":" provide() {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" toggleLowerNavbar: this.toggleLowerNavbar,"},{"lineNumber":68,"author":{"gitId":"-"},"content":" isParentNavbar: true,"},{"lineNumber":69,"author":{"gitId":"-"},"content":" };"},{"lineNumber":70,"author":{"gitId":"-"},"content":" },"},{"lineNumber":71,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" id: \u0027bs-example-navbar-collapse-1\u0027,"},{"lineNumber":74,"author":{"gitId":"-"},"content":" styles: {},"},{"lineNumber":75,"author":{"gitId":"-"},"content":" isLowerNavbarShowing: false,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" };"},{"lineNumber":77,"author":{"gitId":"-"},"content":" },"},{"lineNumber":78,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" fixedBool() {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" return toBoolean(this.fixed);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" },"},{"lineNumber":82,"author":{"gitId":"-"},"content":" fixedOptions() {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" if (this.fixedBool) {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" return \u0027navbar-fixed\u0027;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":" return \u0027\u0027;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" },"},{"lineNumber":88,"author":{"gitId":"-"},"content":" slots() {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" return this.$scopedSlots;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" },"},{"lineNumber":91,"author":{"gitId":"-"},"content":" themeOptions() {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" switch (this.type) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" case \u0027none\u0027:"},{"lineNumber":94,"author":{"gitId":"-"},"content":" return \u0027\u0027;"},{"lineNumber":95,"author":{"gitId":"-"},"content":" case \u0027light\u0027:"},{"lineNumber":96,"author":{"gitId":"-"},"content":" return \u0027navbar-light bg-light\u0027;"},{"lineNumber":97,"author":{"gitId":"-"},"content":" case \u0027dark\u0027:"},{"lineNumber":98,"author":{"gitId":"-"},"content":" return \u0027navbar-dark bg-dark\u0027;"},{"lineNumber":99,"author":{"gitId":"-"},"content":" case \u0027primary\u0027:"},{"lineNumber":100,"author":{"gitId":"-"},"content":" default:"},{"lineNumber":101,"author":{"gitId":"-"},"content":" return \u0027navbar-dark bg-primary\u0027;"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":" },"},{"lineNumber":104,"author":{"gitId":"-"},"content":" },"},{"lineNumber":105,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" // Splits a normalised URL into its parts,"},{"lineNumber":107,"author":{"gitId":"-"},"content":" // e.g http://site.org/foo/bar/index.html -\u003e [\u0027foo\u0027,\u0027bar\u0027,\u0027index.html\u0027]"},{"lineNumber":108,"author":{"gitId":"-"},"content":" splitUrl(url) {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" const u \u003d new URL(normalizeUrl(url));"},{"lineNumber":110,"author":{"gitId":"-"},"content":" return `${u.pathname}`.substr(1).split(\u0027/\u0027);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" },"},{"lineNumber":112,"author":{"gitId":"-"},"content":" isEqualExceptLast(hParts, uParts) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c hParts.length - 1; i +\u003d 1) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" if (hParts[i] !\u003d\u003d uParts[i]) {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":119,"author":{"gitId":"-"},"content":" },"},{"lineNumber":120,"author":{"gitId":"-"},"content":" isSibling(url, href) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" const hParts \u003d this.splitUrl(href);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" const uParts \u003d this.splitUrl(url);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" if (hParts.length !\u003d\u003d uParts.length) {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":" return this.isEqualExceptLast(hParts, uParts);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" },"},{"lineNumber":128,"author":{"gitId":"-"},"content":" isChild(url, href) {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" const hParts \u003d this.splitUrl(href);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" const uParts \u003d this.splitUrl(url);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" if (uParts.length \u003c\u003d hParts.length) {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":" return this.isEqualExceptLast(hParts, uParts);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" },"},{"lineNumber":136,"author":{"gitId":"-"},"content":" isExact(url, href) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" return normalizeUrl(url) \u003d\u003d\u003d normalizeUrl(href);"},{"lineNumber":138,"author":{"gitId":"-"},"content":" },"},{"lineNumber":139,"author":{"gitId":"-"},"content":" addClassIfDropdown(dropdownLinks, a, li) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" if (dropdownLinks.includes(a)) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" a.classList.add(\u0027dropdown-current\u0027);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" this.addClassIfSubmenu(a, li);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" }"},{"lineNumber":144,"author":{"gitId":"-"},"content":" },"},{"lineNumber":145,"author":{"gitId":"-"},"content":" addClassIfSubmenu(a, li) {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" let el \u003d a.parentElement;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" while (el !\u003d\u003d li) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" if (el.classList.contains(\u0027dropdown-submenu\u0027)) {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" $(el).findChildren(\u0027a\u0027).each(aChild \u003d\u003e aChild.classList.add(\u0027dropdown-current\u0027));"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":" el \u003d el.parentElement;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":" },"},{"lineNumber":154,"author":{"gitId":"-"},"content":" highlightLink(url) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" const defHlMode \u003d this.defaultHighlightOn;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" const navLis \u003d [];"},{"lineNumber":157,"author":{"gitId":"-"},"content":" this.$el.querySelectorAll(\u0027.navbar-nav\u0027).forEach(nav \u003d\u003e navLis.push(...Array.from(nav.children)));"},{"lineNumber":158,"author":{"gitId":"-"},"content":" // attempt an exact match first"},{"lineNumber":159,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c navLis.length; i +\u003d 1) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" const li \u003d navLis[i];"},{"lineNumber":161,"author":{"gitId":"-"},"content":" const standardLinks \u003d [li];"},{"lineNumber":162,"author":{"gitId":"-"},"content":" const navLinks \u003d Array.from(li.querySelectorAll(\u0027a.nav-link\u0027));"},{"lineNumber":163,"author":{"gitId":"-"},"content":" const dropdownLinks \u003d Array.from(li.querySelectorAll(\u0027a.dropdown-item\u0027));"},{"lineNumber":164,"author":{"gitId":"-"},"content":" const allNavLinks \u003d standardLinks.concat(navLinks).concat(dropdownLinks).filter(a \u003d\u003e a.href);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" for (let j \u003d 0; j \u003c allNavLinks.length; j +\u003d 1) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" const a \u003d allNavLinks[j];"},{"lineNumber":167,"author":{"gitId":"-"},"content":" const hlMode \u003d a.getAttribute(\u0027highlight-on\u0027) || defHlMode;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" if (hlMode \u003d\u003d\u003d \u0027none\u0027) {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" // eslint-disable-next-line no-continue"},{"lineNumber":170,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":" // terminate early on an exact match"},{"lineNumber":173,"author":{"gitId":"-"},"content":" if (this.isExact(url, a.href)) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" li.classList.add(\u0027current\u0027);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" this.addClassIfDropdown(dropdownLinks, a, li);"},{"lineNumber":176,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":" // fallback to user preference, otherwise"},{"lineNumber":181,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c navLis.length; i +\u003d 1) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" const li \u003d navLis[i];"},{"lineNumber":183,"author":{"gitId":"-"},"content":" const standardLinks \u003d [li];"},{"lineNumber":184,"author":{"gitId":"-"},"content":" const navLinks \u003d Array.from(li.querySelectorAll(\u0027a.nav-link\u0027));"},{"lineNumber":185,"author":{"gitId":"-"},"content":" const dropdownLinks \u003d Array.from(li.querySelectorAll(\u0027a.dropdown-item\u0027));"},{"lineNumber":186,"author":{"gitId":"-"},"content":" const allNavLinks \u003d standardLinks.concat(navLinks).concat(dropdownLinks).filter(a \u003d\u003e a.href);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" for (let j \u003d 0; j \u003c allNavLinks.length; j +\u003d 1) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" const a \u003d allNavLinks[j];"},{"lineNumber":189,"author":{"gitId":"-"},"content":" const hlMode \u003d a.getAttribute(\u0027highlight-on\u0027) || defHlMode;"},{"lineNumber":190,"author":{"gitId":"-"},"content":" if (hlMode \u003d\u003d\u003d \u0027none\u0027) {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" // eslint-disable-next-line no-continue"},{"lineNumber":192,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":194,"author":{"gitId":"-"},"content":" // Ignores invalid navbar highlight rule"},{"lineNumber":195,"author":{"gitId":"-"},"content":" if (hlMode \u003d\u003d\u003d \u0027sibling-or-child\u0027) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" if (this.isSibling(url, a.href) || this.isChild(url, a.href)) {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" li.classList.add(\u0027current\u0027);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" this.addClassIfDropdown(dropdownLinks, a, li);"},{"lineNumber":199,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":" } else if (hlMode \u003d\u003d\u003d \u0027sibling\u0027) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" if (this.isSibling(url, a.href)) {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" li.classList.add(\u0027current\u0027);"},{"lineNumber":204,"author":{"gitId":"-"},"content":" this.addClassIfDropdown(dropdownLinks, a, li);"},{"lineNumber":205,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":" } else if (hlMode \u003d\u003d\u003d \u0027child\u0027) {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" if (this.isChild(url, a.href)) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" li.classList.add(\u0027current\u0027);"},{"lineNumber":210,"author":{"gitId":"-"},"content":" this.addClassIfDropdown(dropdownLinks, a, li);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":" },"},{"lineNumber":217,"author":{"gitId":"-"},"content":" toggleLowerNavbar() {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" if (this.$refs.lowerNavbar.childElementCount \u003e 0) {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" this.isLowerNavbarShowing \u003d true;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" this.isLowerNavbarShowing \u003d false;"},{"lineNumber":222,"author":{"gitId":"-"},"content":" }"},{"lineNumber":223,"author":{"gitId":"-"},"content":" },"},{"lineNumber":224,"author":{"gitId":"-"},"content":" },"},{"lineNumber":225,"author":{"gitId":"-"},"content":" created() {"},{"lineNumber":226,"author":{"gitId":"-"},"content":" this._navbar \u003d true;"},{"lineNumber":227,"author":{"gitId":"-"},"content":" },"},{"lineNumber":228,"author":{"gitId":"-"},"content":" mounted() {"},{"lineNumber":229,"author":{"gitId":"-"},"content":" const $dropdown \u003d $(\u0027.dropdown\u003e[data-bs-toggle\u003d\"dropdown\"]\u0027, this.$el).parent();"},{"lineNumber":230,"author":{"gitId":"-"},"content":" $dropdown.on(\u0027click\u0027, \u0027.dropdown-toggle\u0027, (e) \u003d\u003e {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" e.preventDefault();"},{"lineNumber":232,"author":{"gitId":"-"},"content":" $dropdown.each((content) \u003d\u003e {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" if (content.contains(e.target)) content.classList.toggle(\u0027open\u0027);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" });"},{"lineNumber":235,"author":{"gitId":"-"},"content":" }).on(\u0027click\u0027, \u0027.dropdown-menu\u003eli\u003ea\u0027, (e) \u003d\u003e {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" $dropdown.each((content) \u003d\u003e {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" if (content.contains(e.target)) content.classList.remove(\u0027open\u0027);"},{"lineNumber":238,"author":{"gitId":"-"},"content":" });"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }).onBlur((e) \u003d\u003e {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" $dropdown.each((content) \u003d\u003e {"},{"lineNumber":241,"author":{"gitId":"-"},"content":" if (!content.contains(e.target)) content.classList.remove(\u0027open\u0027);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" });"},{"lineNumber":243,"author":{"gitId":"-"},"content":" });"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" // highlight current nav link"},{"lineNumber":246,"author":{"gitId":"-"},"content":" this.highlightLink(window.location.href);"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" // scroll default navbar horizontally to current link if it is beyond the current scroll"},{"lineNumber":249,"author":{"gitId":"-"},"content":" const currentNavlink \u003d $(this.$refs.navbarDefault).find(\u0027.current\u0027)[0];"},{"lineNumber":250,"author":{"gitId":"-"},"content":" if (currentNavlink \u0026\u0026 window.innerWidth \u003c 768"},{"lineNumber":251,"author":{"gitId":"-"},"content":" \u0026\u0026 currentNavlink.offsetLeft + currentNavlink.offsetWidth \u003e window.innerWidth) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" this.$refs.navbarDefault.scrollLeft \u003d currentNavlink.offsetLeft + currentNavlink.offsetWidth"},{"lineNumber":253,"author":{"gitId":"-"},"content":" - window.innerWidth;"},{"lineNumber":254,"author":{"gitId":"-"},"content":" }"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":" this.toggleLowerNavbar();"},{"lineNumber":257,"author":{"gitId":"-"},"content":" $(window).on(\u0027resize\u0027, this.toggleLowerNavbar);"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" // scroll default navbar horizontally when mousewheel is scrolled"},{"lineNumber":260,"author":{"gitId":"-"},"content":" $(this.$refs.navbarDefault).on(\u0027wheel\u0027, (e) \u003d\u003e {"},{"lineNumber":261,"author":{"gitId":"-"},"content":" const isDropdown \u003d (nodes) \u003d\u003e {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c nodes.length; i +\u003d 1) {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" if (nodes[i].classList \u0026\u0026 nodes[i].classList.contains(\u0027dropdown-menu\u0027)) {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":268,"author":{"gitId":"-"},"content":" };"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" // prevent horizontal scrolling if the scroll is on dropdown menu"},{"lineNumber":271,"author":{"gitId":"-"},"content":" if (window.innerWidth \u003c 768 \u0026\u0026 !isDropdown(e.path)) {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" e.preventDefault();"},{"lineNumber":273,"author":{"gitId":"-"},"content":" this.$refs.navbarDefault.scrollLeft +\u003d e.deltaY;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":" });"},{"lineNumber":276,"author":{"gitId":"-"},"content":" },"},{"lineNumber":277,"author":{"gitId":"-"},"content":" beforeDestroy() {"},{"lineNumber":278,"author":{"gitId":"-"},"content":" $(\u0027.dropdown\u0027, this.$el).off(\u0027click\u0027).offBlur();"},{"lineNumber":279,"author":{"gitId":"-"},"content":" $(window).off(\u0027resize\u0027, this.toggleLowerNavbar);"},{"lineNumber":280,"author":{"gitId":"-"},"content":" $(this.$refs.navbarDefault).off(\u0027wheel\u0027);"},{"lineNumber":281,"author":{"gitId":"-"},"content":" },"},{"lineNumber":282,"author":{"gitId":"-"},"content":"};"},{"lineNumber":283,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":284,"author":{"gitId":"-"},"content":""},{"lineNumber":285,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":286,"author":{"gitId":"LamJiuFong"},"content":" @media (width \u003c\u003d 767px) {"},{"lineNumber":287,"author":{"gitId":"-"},"content":" .navbar {"},{"lineNumber":288,"author":{"gitId":"-"},"content":" padding-left: 0;"},{"lineNumber":289,"author":{"gitId":"-"},"content":" padding-right: 0;"},{"lineNumber":290,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" .navbar-left {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" max-width: 50%;"},{"lineNumber":295,"author":{"gitId":"-"},"content":" order: 1;"},{"lineNumber":296,"author":{"gitId":"-"},"content":" padding-left: 1rem;"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" .navbar-left * {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" white-space: normal;"},{"lineNumber":301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" .navbar-right {"},{"lineNumber":304,"author":{"gitId":"-"},"content":" order: 1;"},{"lineNumber":305,"author":{"gitId":"-"},"content":" max-width: 50%;"},{"lineNumber":306,"author":{"gitId":"-"},"content":" padding: 0 16px;"},{"lineNumber":307,"author":{"gitId":"-"},"content":" }"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":" .navbar-default {"},{"lineNumber":310,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":311,"author":{"gitId":"-"},"content":" margin-top: 0.3125rem;"},{"lineNumber":312,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":313,"author":{"gitId":"-"},"content":" order: 2;"},{"lineNumber":314,"author":{"gitId":"-"},"content":" overflow-x: scroll;"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" /* Hide overflow scroll bar */"},{"lineNumber":317,"author":{"gitId":"-"},"content":" -ms-overflow-style: none; /* IE and Edge */"},{"lineNumber":318,"author":{"gitId":"-"},"content":" scrollbar-width: none; /* Firefox */"},{"lineNumber":319,"author":{"gitId":"-"},"content":" }"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" /* Hide overflow scroll bar for Chrome and Safari */"},{"lineNumber":322,"author":{"gitId":"-"},"content":" .navbar-default::-webkit-scrollbar {"},{"lineNumber":323,"author":{"gitId":"-"},"content":" display: none;"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" .navbar-default ul {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" flex-direction: row;"},{"lineNumber":328,"author":{"gitId":"-"},"content":" margin-top: 0 !important;"},{"lineNumber":329,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" .navbar-default \u003e ul \u003e * {"},{"lineNumber":333,"author":{"gitId":"LamJiuFong"},"content":" background: rgb(0 0 0 / 20%);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" padding: 0.3125rem 0.625rem;"},{"lineNumber":335,"author":{"gitId":"-"},"content":" flex-grow: 1;"},{"lineNumber":336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":337,"author":{"gitId":"-"},"content":""},{"lineNumber":338,"author":{"gitId":"-"},"content":" .navbar-light .navbar-default \u003e ul \u003e * {"},{"lineNumber":339,"author":{"gitId":"LamJiuFong"},"content":" background: rgb(0 0 0 / 5%);"},{"lineNumber":340,"author":{"gitId":"-"},"content":" }"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":" .navbar-default \u003e ul \u003e .current {"},{"lineNumber":343,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" .navbar-default a,"},{"lineNumber":347,"author":{"gitId":"-"},"content":" \u003e\u003e\u003e .dropdown-toggle {"},{"lineNumber":348,"author":{"gitId":"-"},"content":" margin: 0 auto;"},{"lineNumber":349,"author":{"gitId":"-"},"content":" width: max-content;"},{"lineNumber":350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" \u003e\u003e\u003e .dropdown {"},{"lineNumber":353,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":354,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":355,"author":{"gitId":"-"},"content":" }"},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"-"},"content":" .container-fluid {"},{"lineNumber":358,"author":{"gitId":"-"},"content":" padding: 0;"},{"lineNumber":359,"author":{"gitId":"-"},"content":" }"},{"lineNumber":360,"author":{"gitId":"-"},"content":" }"},{"lineNumber":361,"author":{"gitId":"-"},"content":""},{"lineNumber":362,"author":{"gitId":"-"},"content":" .navbar-brand {"},{"lineNumber":363,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" .navbar-brand \u003e img,"},{"lineNumber":367,"author":{"gitId":"-"},"content":" .navbar-brand \u003e svg {"},{"lineNumber":368,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":369,"author":{"gitId":"-"},"content":" }"},{"lineNumber":370,"author":{"gitId":"-"},"content":""},{"lineNumber":371,"author":{"gitId":"-"},"content":" .navbar-right {"},{"lineNumber":372,"author":{"gitId":"-"},"content":" padding-right: 1rem;"},{"lineNumber":373,"author":{"gitId":"-"},"content":" }"},{"lineNumber":374,"author":{"gitId":"-"},"content":""},{"lineNumber":375,"author":{"gitId":"-"},"content":" .navbar-left {"},{"lineNumber":376,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":377,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":378,"author":{"gitId":"-"},"content":" font-size: 1.25rem;"},{"lineNumber":379,"author":{"gitId":"-"},"content":" line-height: inherit;"},{"lineNumber":380,"author":{"gitId":"-"},"content":" padding: 0.3125rem 1rem;"},{"lineNumber":381,"author":{"gitId":"-"},"content":" white-space: nowrap;"},{"lineNumber":382,"author":{"gitId":"-"},"content":" }"},{"lineNumber":383,"author":{"gitId":"-"},"content":""},{"lineNumber":384,"author":{"gitId":"-"},"content":" .navbar-fixed {"},{"lineNumber":385,"author":{"gitId":"-"},"content":" position: fixed;"},{"lineNumber":386,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":387,"author":{"gitId":"-"},"content":" z-index: 1000;"},{"lineNumber":388,"author":{"gitId":"-"},"content":" }"},{"lineNumber":389,"author":{"gitId":"-"},"content":""},{"lineNumber":390,"author":{"gitId":"-"},"content":" .navbar-default {"},{"lineNumber":391,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":392,"author":{"gitId":"-"},"content":" flex-basis: auto;"},{"lineNumber":393,"author":{"gitId":"-"},"content":" flex-grow: 1;"},{"lineNumber":394,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":395,"author":{"gitId":"-"},"content":" }"},{"lineNumber":396,"author":{"gitId":"-"},"content":""},{"lineNumber":397,"author":{"gitId":"-"},"content":" \u003e\u003e\u003e .dropdown-current {"},{"lineNumber":398,"author":{"gitId":"-"},"content":" color: #fff !important;"},{"lineNumber":399,"author":{"gitId":"-"},"content":" background: #007bff;"},{"lineNumber":400,"author":{"gitId":"-"},"content":" }"},{"lineNumber":401,"author":{"gitId":"-"},"content":""},{"lineNumber":402,"author":{"gitId":"-"},"content":" .lower-navbar-container {"},{"lineNumber":403,"author":{"gitId":"-"},"content":" background-color: #fff;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" border-bottom: 1px solid #c1c1c1;"},{"lineNumber":405,"author":{"gitId":"-"},"content":" height: 50px;"},{"lineNumber":406,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":407,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":408,"author":{"gitId":"-"},"content":" }"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" /* Navbar link highlight for current page */"},{"lineNumber":411,"author":{"gitId":"-"},"content":" .navbar.navbar-dark .navbar-nav \u003e\u003e\u003e .current:not(.dropdown) a,"},{"lineNumber":412,"author":{"gitId":"-"},"content":" .navbar.navbar-dark .navbar-nav \u003e\u003e\u003e .dropdown.current \u003e a {"},{"lineNumber":413,"author":{"gitId":"-"},"content":" color: #fff;"},{"lineNumber":414,"author":{"gitId":"-"},"content":" }"},{"lineNumber":415,"author":{"gitId":"-"},"content":""},{"lineNumber":416,"author":{"gitId":"-"},"content":" .navbar.navbar-light .navbar-nav \u003e\u003e\u003e .current:not(.dropdown) a,"},{"lineNumber":417,"author":{"gitId":"-"},"content":" .navbar.navbar-light .navbar-nav \u003e\u003e\u003e .dropdown.current \u003e a {"},{"lineNumber":418,"author":{"gitId":"-"},"content":" color: #000;"},{"lineNumber":419,"author":{"gitId":"-"},"content":" }"},{"lineNumber":420,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":3,"-":417}},{"path":"packages/vue-components/src/Pic.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cspan :class\u003d\"[\u0027image-wrapper\u0027, addClass]\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cimg"},{"lineNumber":4,"author":{"gitId":"-"},"content":" ref\u003d\"pic\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" :src\u003d\"src\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" :alt\u003d\"alt\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" :width\u003d\"computedWidth\""},{"lineNumber":8,"author":{"gitId":"LamJiuFong"},"content":" :height\u003d\"computedHeight\""},{"lineNumber":9,"author":{"gitId":"LamJiuFong"},"content":" :loading\u003d\"computedLoadType\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" class\u003d\"img-fluid rounded\""},{"lineNumber":11,"author":{"gitId":"LamJiuFong"},"content":" @load.once\u003d\"computeWidthAndHeight\""},{"lineNumber":12,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"image-caption\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import { toNumber } from \u0027./utils/utils\u0027;"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" src: {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" },"},{"lineNumber":28,"author":{"gitId":"-"},"content":" alt: {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":31,"author":{"gitId":"-"},"content":" },"},{"lineNumber":32,"author":{"gitId":"-"},"content":" height: {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" },"},{"lineNumber":36,"author":{"gitId":"-"},"content":" width: {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" },"},{"lineNumber":40,"author":{"gitId":"LamJiuFong"},"content":" lazy: {"},{"lineNumber":41,"author":{"gitId":"LamJiuFong"},"content":" type: Boolean,"},{"lineNumber":42,"author":{"gitId":"LamJiuFong"},"content":" default: false,"},{"lineNumber":43,"author":{"gitId":"LamJiuFong"},"content":" },"},{"lineNumber":44,"author":{"gitId":"-"},"content":" addClass: {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" },"},{"lineNumber":48,"author":{"gitId":"-"},"content":" },"},{"lineNumber":49,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" hasWidth() {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return this.width !\u003d\u003d \u0027\u0027;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" },"},{"lineNumber":53,"author":{"gitId":"-"},"content":" hasHeight() {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" return this.height !\u003d\u003d \u0027\u0027;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" },"},{"lineNumber":56,"author":{"gitId":"-"},"content":" computedWidth() {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" if (this.hasWidth) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" return this.width;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return this.widthFromHeight;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" },"},{"lineNumber":62,"author":{"gitId":"LamJiuFong"},"content":" computedHeight() {"},{"lineNumber":63,"author":{"gitId":"LamJiuFong"},"content":" return this.heightFromWidth;"},{"lineNumber":64,"author":{"gitId":"LamJiuFong"},"content":" },"},{"lineNumber":65,"author":{"gitId":"LamJiuFong"},"content":" computedLoadType() {"},{"lineNumber":66,"author":{"gitId":"LamJiuFong"},"content":" return this.lazy ? \u0027lazy\u0027 : \u0027eager\u0027;"},{"lineNumber":67,"author":{"gitId":"LamJiuFong"},"content":" },"},{"lineNumber":68,"author":{"gitId":"-"},"content":" },"},{"lineNumber":69,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" widthFromHeight: \u0027\u0027,"},{"lineNumber":72,"author":{"gitId":"LamJiuFong"},"content":" heightFromWidth: \u0027\u0027,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" };"},{"lineNumber":74,"author":{"gitId":"-"},"content":" },"},{"lineNumber":75,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":76,"author":{"gitId":"LamJiuFong"},"content":" computeWidthAndHeight() {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" const renderedImg \u003d this.$refs.pic;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" const imgHeight \u003d renderedImg.naturalHeight;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" const imgWidth \u003d renderedImg.naturalWidth;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" const aspectRatio \u003d imgWidth / imgHeight;"},{"lineNumber":81,"author":{"gitId":"LamJiuFong"},"content":" if (this.hasWidth) { // if width is present, overwrite the height (if any) to maintain aspect ratio"},{"lineNumber":82,"author":{"gitId":"LamJiuFong"},"content":" this.heightFromWidth \u003d Math.round(toNumber(this.width) / aspectRatio).toString();"},{"lineNumber":83,"author":{"gitId":"LamJiuFong"},"content":" } else if (this.hasHeight) {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" this.widthFromHeight \u003d Math.round(toNumber(this.height) * aspectRatio).toString();"},{"lineNumber":85,"author":{"gitId":"LamJiuFong"},"content":" this.heightFromWidth \u003d this.height;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":" },"},{"lineNumber":88,"author":{"gitId":"-"},"content":" },"},{"lineNumber":89,"author":{"gitId":"-"},"content":"};"},{"lineNumber":90,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" .image-wrapper {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":95,"author":{"gitId":"-"},"content":" text-align: center;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" padding: 4px;"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" .image-caption {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":19,"-":83}},{"path":"packages/vue-components/src/Popover.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":3,"author":{"gitId":"-"},"content":" :class\u003d\"trigger \u003d\u003d\u003d \u0027click\u0027 ? \u0027trigger-click\u0027 : \u0027trigger\u0027\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" data-mb-component-type\u003d\"popover\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" tabindex\u003d\"0\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cportal v-if\u003d\"targetEl.id\" :to\u003d\"\u0027popover:\u0027 + targetEl.id\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003ch3 v-if\u003d\"hasHeader\" class\u003d\"popover-header\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003c/h3\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"popover-body\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"content\"\u003e\u003c/slot\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":14,"author":{"gitId":"yiwen101"},"content":" \u003c/portal\u003e\u003c!-- do not delete this comment, it is for the stray space issue (#2419)"},{"lineNumber":15,"author":{"gitId":"yiwen101"},"content":" --\u003e\u003cv-popover"},{"lineNumber":16,"author":{"gitId":"-"},"content":" v-if\u003d\"isMounted\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" :auto-hide\u003d\"!isInput\""},{"lineNumber":18,"author":{"gitId":"-"},"content":" :triggers\u003d\"triggers\""},{"lineNumber":19,"author":{"gitId":"-"},"content":" :popper-triggers\u003d\"triggers\""},{"lineNumber":20,"author":{"gitId":"-"},"content":" :hide-triggers\u003d\"triggers\""},{"lineNumber":21,"author":{"gitId":"-"},"content":" :placement\u003d\"placement\""},{"lineNumber":22,"author":{"gitId":"-"},"content":" :delay\u003d\"0\""},{"lineNumber":23,"author":{"gitId":"-"},"content":" shift-cross-axis"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003c!-- floating-vue triggers must be elements that receive mouse events, hence an empty @click --\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003cspan v-if\u003d\"!isInput\" @click.stop\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003c!-- However, input elements are handled separately as they will lose focus when wrapped in a span --\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003cslot v-else\u003e\u003c/slot\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003ctemplate #popper\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"popover-container\"\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003ch3 v-if\u003d\"hasHeader\" class\u003d\"popover-header\"\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003c/h3\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"popover-body\"\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"content\"\u003e\u003c/slot\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003c/template\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003c/v-popover\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":"// eslint-disable-next-line import/no-extraneous-dependencies"},{"lineNumber":47,"author":{"gitId":"-"},"content":"import { Portal } from \u0027portal-vue\u0027;"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" name: \u0027Popover\u0027,"},{"lineNumber":51,"author":{"gitId":"-"},"content":" components: {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" Portal,"},{"lineNumber":53,"author":{"gitId":"-"},"content":" },"},{"lineNumber":54,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" trigger: {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":57,"author":{"gitId":"-"},"content":" default: \u0027hover focus\u0027,"},{"lineNumber":58,"author":{"gitId":"-"},"content":" },"},{"lineNumber":59,"author":{"gitId":"-"},"content":" placement: {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" default: \u0027top\u0027,"},{"lineNumber":62,"author":{"gitId":"-"},"content":" },"},{"lineNumber":63,"author":{"gitId":"-"},"content":" },"},{"lineNumber":64,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" targetEl: {},"},{"lineNumber":67,"author":{"gitId":"-"},"content":" isMounted: false,"},{"lineNumber":68,"author":{"gitId":"-"},"content":" };"},{"lineNumber":69,"author":{"gitId":"-"},"content":" },"},{"lineNumber":70,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" triggers() {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" return this.trigger.split(\u0027 \u0027);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" },"},{"lineNumber":74,"author":{"gitId":"-"},"content":" hasHeader() {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" return !!this.$slots.header;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" },"},{"lineNumber":77,"author":{"gitId":"-"},"content":" },"},{"lineNumber":78,"author":{"gitId":"-"},"content":" mounted() {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" this.targetEl \u003d this.$el;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" // \u003cinput\u003e tags need to be handled separately as they need to retain focus on inputs"},{"lineNumber":81,"author":{"gitId":"-"},"content":" this.isInput \u003d this.$slots.default \u0026\u0026 this.$slots.default.some(node \u003d\u003e node.tag \u003d\u003d\u003d \u0027input\u0027);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" this.isMounted \u003d true;"},{"lineNumber":83,"author":{"gitId":"-"},"content":" },"},{"lineNumber":84,"author":{"gitId":"-"},"content":"};"},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .popover-container {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" overflow: auto;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" max-height: 50vh;"},{"lineNumber":91,"author":{"gitId":"-"},"content":" max-width: 276px; /* following bootstrap */"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" .popover-body {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" font-size: 0.875rem; /* following bootstrap */"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" .v-popper {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" display: inline;"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"-":99,"yiwen101":2}},{"path":"packages/vue-components/src/Searchbar.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv style\u003d\"position: relative;\" class\u003d\"dropdown\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"algolia\" id\u003d\"algolia-search-input\"\u003e\u003c/div\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003ctemplate v-else\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cinput"},{"lineNumber":6,"author":{"gitId":"-"},"content":" v-model\u003d\"value\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" data-bs-toggle\u003d\"dropdown\""},{"lineNumber":8,"author":{"gitId":"-"},"content":" type\u003d\"text\""},{"lineNumber":9,"author":{"gitId":"-"},"content":" class\u003d\"form-control\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" :placeholder\u003d\"placeholder\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" autocomplete\u003d\"off\""},{"lineNumber":12,"author":{"gitId":"-"},"content":" @input\u003d\"update\""},{"lineNumber":13,"author":{"gitId":"-"},"content":" @keyup.up\u003d\"up\""},{"lineNumber":14,"author":{"gitId":"-"},"content":" @keyup.down\u003d\"down\""},{"lineNumber":15,"author":{"gitId":"-"},"content":" @keydown.enter\u003d\"hit\""},{"lineNumber":16,"author":{"gitId":"-"},"content":" @keydown.esc\u003d\"reset\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" @blur\u003d\"showDropdown \u003d false\""},{"lineNumber":18,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"form-control placeholder-div-hidden\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" {{ placeholder }}"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/template\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cul ref\u003d\"dropdown\" :class\u003d\"dropdownMenuClasses\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003cli"},{"lineNumber":25,"author":{"gitId":"-"},"content":" v-for\u003d\"(item, index) in items\""},{"lineNumber":26,"author":{"gitId":"-"},"content":" :key\u003d\"index\""},{"lineNumber":27,"author":{"gitId":"-"},"content":" :class\u003d\"{ \u0027table-active\u0027: isActive(index) }\""},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003ca"},{"lineNumber":30,"author":{"gitId":"-"},"content":" class\u003d\"dropdown-item\""},{"lineNumber":31,"author":{"gitId":"-"},"content":" @mousedown.prevent\u003d\"hit\""},{"lineNumber":32,"author":{"gitId":"-"},"content":" @mousemove\u003d\"setActive(index)\""},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003csearchbar-page-item :item\u003d\"item\" :value\u003d\"value\" /\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003c/ul\u003e"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import searchbarPageItem from \u0027./SearchbarPageItem.vue\u0027;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import { delayer, getJSON } from \u0027./utils/utils\u0027;"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"const _DELAY_ \u003d 200;"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" created() {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" this.items \u003d this.primitiveData;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" },"},{"lineNumber":51,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" data: {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" type: Array,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" default: () \u003d\u003e [],"},{"lineNumber":55,"author":{"gitId":"-"},"content":" },"},{"lineNumber":56,"author":{"gitId":"-"},"content":" limit: {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" type: Number,"},{"lineNumber":58,"author":{"gitId":"-"},"content":" default: 8,"},{"lineNumber":59,"author":{"gitId":"-"},"content":" },"},{"lineNumber":60,"author":{"gitId":"-"},"content":" async: {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":62,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":63,"author":{"gitId":"-"},"content":" },"},{"lineNumber":64,"author":{"gitId":"-"},"content":" keyProp: {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":67,"author":{"gitId":"-"},"content":" },"},{"lineNumber":68,"author":{"gitId":"-"},"content":" onHit: {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" type: Function,"},{"lineNumber":70,"author":{"gitId":"-"},"content":" default(items) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" this.reset();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" this.value \u003d items;"},{"lineNumber":73,"author":{"gitId":"-"},"content":" },"},{"lineNumber":74,"author":{"gitId":"-"},"content":" },"},{"lineNumber":75,"author":{"gitId":"-"},"content":" placeholder: {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":77,"author":{"gitId":"-"},"content":" default: \u0027Search\u0027,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" },"},{"lineNumber":79,"author":{"gitId":"-"},"content":" delay: {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" type: Number,"},{"lineNumber":81,"author":{"gitId":"-"},"content":" default: _DELAY_,"},{"lineNumber":82,"author":{"gitId":"-"},"content":" },"},{"lineNumber":83,"author":{"gitId":"-"},"content":" menuAlignRight: {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":85,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" },"},{"lineNumber":87,"author":{"gitId":"-"},"content":" algolia: {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":89,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":90,"author":{"gitId":"-"},"content":" },"},{"lineNumber":91,"author":{"gitId":"-"},"content":" },"},{"lineNumber":92,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" value: \u0027\u0027,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" showDropdown: false,"},{"lineNumber":96,"author":{"gitId":"-"},"content":" noResults: true,"},{"lineNumber":97,"author":{"gitId":"-"},"content":" current: 0,"},{"lineNumber":98,"author":{"gitId":"-"},"content":" items: [],"},{"lineNumber":99,"author":{"gitId":"-"},"content":" };"},{"lineNumber":100,"author":{"gitId":"-"},"content":" },"},{"lineNumber":101,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" primitiveData() {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" // Returns the total number of matches between an array of regex patterns and string search targets."},{"lineNumber":104,"author":{"gitId":"-"},"content":" function getTotalMatches(searchTargets, regexes) {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" const searchTarget \u003d searchTargets.join(\u0027 \u0027);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" return regexes.reduce((total, regex) \u003d\u003e {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" const matches \u003d searchTarget.match(regex);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" return total + (matches ? matches.length : 0);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }, 0);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" if (this.value.length \u003c 2 || !this.data) {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" return [];"},{"lineNumber":115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":116,"author":{"gitId":"-"},"content":" const pages \u003d [];"},{"lineNumber":117,"author":{"gitId":"-"},"content":" const regexes \u003d this.value.split(\u0027 \u0027)"},{"lineNumber":118,"author":{"gitId":"-"},"content":" .filter(searchKeyword \u003d\u003e searchKeyword !\u003d\u003d \u0027\u0027)"},{"lineNumber":119,"author":{"gitId":"-"},"content":" .map(searchKeyword \u003d\u003e searchKeyword.replace(/[.*+?^${}()|[\\]\\\\]/g, \u0027\\\\$\u0026\u0027))"},{"lineNumber":120,"author":{"gitId":"-"},"content":" .map(searchKeyword \u003d\u003e new RegExp(searchKeyword, \u0027ig\u0027));"},{"lineNumber":121,"author":{"gitId":"-"},"content":" this.data.forEach((entry) \u003d\u003e {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" const {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" headings,"},{"lineNumber":124,"author":{"gitId":"-"},"content":" src,"},{"lineNumber":125,"author":{"gitId":"-"},"content":" title,"},{"lineNumber":126,"author":{"gitId":"-"},"content":" headingKeywords,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" frontmatterKeywords,"},{"lineNumber":128,"author":{"gitId":"-"},"content":" } \u003d entry;"},{"lineNumber":129,"author":{"gitId":"-"},"content":" const keywords \u003d frontmatterKeywords || \u0027\u0027;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" const displayTitle \u003d title || src.substring(0, src.lastIndexOf(\u0027.\u0027));"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" const pageSearchTargets \u003d ["},{"lineNumber":133,"author":{"gitId":"-"},"content":" displayTitle,"},{"lineNumber":134,"author":{"gitId":"-"},"content":" keywords,"},{"lineNumber":135,"author":{"gitId":"-"},"content":" ...Object.values(headings),"},{"lineNumber":136,"author":{"gitId":"-"},"content":" ...Object.values(headingKeywords),"},{"lineNumber":137,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":138,"author":{"gitId":"-"},"content":" const totalPageMatches \u003d getTotalMatches(pageSearchTargets, regexes);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" if (totalPageMatches \u003e 0) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" const pageHeadings \u003d [];"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" Object.entries(headings).forEach(([id, text], idx) \u003d\u003e {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" const matchesHeading \u003d regexes.some(regex \u003d\u003e regex.test(text));"},{"lineNumber":145,"author":{"gitId":"-"},"content":" const matchesKeywords \u003d headingKeywords[id] \u0026\u0026 headingKeywords[id]"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .some(keyword \u003d\u003e regexes.some(regex \u003d\u003e regex.test(keyword)));"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" if (matchesHeading || matchesKeywords) {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" const headingSearchTargets \u003d ["},{"lineNumber":150,"author":{"gitId":"-"},"content":" text,"},{"lineNumber":151,"author":{"gitId":"-"},"content":" ...(headingKeywords[id] || []),"},{"lineNumber":152,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":153,"author":{"gitId":"-"},"content":" const totalHeadingMatches \u003d getTotalMatches(headingSearchTargets, regexes);"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" if (!(idx \u003d\u003d\u003d 0 \u0026\u0026 text \u003d\u003d\u003d displayTitle \u0026\u0026 !keywords.length)) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" pageHeadings.push({"},{"lineNumber":157,"author":{"gitId":"-"},"content":" heading: { id, text },"},{"lineNumber":158,"author":{"gitId":"-"},"content":" keywords: headingKeywords[id],"},{"lineNumber":159,"author":{"gitId":"-"},"content":" src,"},{"lineNumber":160,"author":{"gitId":"-"},"content":" totalMatches: totalHeadingMatches,"},{"lineNumber":161,"author":{"gitId":"-"},"content":" });"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":" });"},{"lineNumber":165,"author":{"gitId":"-"},"content":" pageHeadings.sort((a, b) \u003d\u003e b.totalMatches - a.totalMatches);"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" pages.push({"},{"lineNumber":168,"author":{"gitId":"-"},"content":" headings: pageHeadings,"},{"lineNumber":169,"author":{"gitId":"-"},"content":" keywords,"},{"lineNumber":170,"author":{"gitId":"-"},"content":" src,"},{"lineNumber":171,"author":{"gitId":"-"},"content":" title: displayTitle,"},{"lineNumber":172,"author":{"gitId":"-"},"content":" totalMatches: totalPageMatches,"},{"lineNumber":173,"author":{"gitId":"-"},"content":" });"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":" });"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" return pages"},{"lineNumber":178,"author":{"gitId":"-"},"content":" .sort((a, b) \u003d\u003e b.totalMatches - a.totalMatches)"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .flatMap((page) \u003d\u003e {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" if (page.headings) {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" return [page, ...page.headings];"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":" return page;"},{"lineNumber":184,"author":{"gitId":"-"},"content":" });"},{"lineNumber":185,"author":{"gitId":"-"},"content":" },"},{"lineNumber":186,"author":{"gitId":"-"},"content":" dropdownMenuClasses() {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" return ["},{"lineNumber":188,"author":{"gitId":"-"},"content":" \u0027dropdown-menu\u0027,"},{"lineNumber":189,"author":{"gitId":"-"},"content":" \u0027search-dropdown-menu\u0027,"},{"lineNumber":190,"author":{"gitId":"-"},"content":" { show: this.showDropdown },"},{"lineNumber":191,"author":{"gitId":"-"},"content":" { \u0027d-none\u0027: !this.showDropdown },"},{"lineNumber":192,"author":{"gitId":"-"},"content":" { \u0027dropdown-menu-end\u0027: this.menuAlignRight },"},{"lineNumber":193,"author":{"gitId":"-"},"content":" ];"},{"lineNumber":194,"author":{"gitId":"-"},"content":" },"},{"lineNumber":195,"author":{"gitId":"-"},"content":" },"},{"lineNumber":196,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" update() {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" if (!this.value) {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" this.reset();"},{"lineNumber":200,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":201,"author":{"gitId":"-"},"content":" }"},{"lineNumber":202,"author":{"gitId":"-"},"content":" if (this.data) {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" this.items \u003d this.primitiveData;"},{"lineNumber":204,"author":{"gitId":"-"},"content":" this.showDropdown \u003d this.items.length \u003e 0;"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":" if (this.async) this.query();"},{"lineNumber":207,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":208,"author":{"gitId":"-"},"content":" },"},{"lineNumber":209,"author":{"gitId":"-"},"content":" query: delayer(function () {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" getJSON(this.async + this.value).then((data) \u003d\u003e {"},{"lineNumber":211,"author":{"gitId":"-"},"content":" this.items \u003d (this.keyProp ? data[this.keyProp] : data).slice(0, this.limit);"},{"lineNumber":212,"author":{"gitId":"-"},"content":" this.showDropdown \u003d this.items.length;"},{"lineNumber":213,"author":{"gitId":"-"},"content":" });"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }, \u0027delay\u0027, _DELAY_),"},{"lineNumber":215,"author":{"gitId":"-"},"content":" reset() {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" this.items \u003d [];"},{"lineNumber":217,"author":{"gitId":"-"},"content":" this.value \u003d \u0027\u0027;"},{"lineNumber":218,"author":{"gitId":"-"},"content":" this.loading \u003d false;"},{"lineNumber":219,"author":{"gitId":"-"},"content":" this.showDropdown \u003d false;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" },"},{"lineNumber":221,"author":{"gitId":"-"},"content":" setActive(index) {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" this.current \u003d index;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" },"},{"lineNumber":224,"author":{"gitId":"-"},"content":" isActive(index) {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" return this.current \u003d\u003d\u003d index;"},{"lineNumber":226,"author":{"gitId":"-"},"content":" },"},{"lineNumber":227,"author":{"gitId":"-"},"content":" hit(e) {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" e.preventDefault();"},{"lineNumber":229,"author":{"gitId":"-"},"content":" this.onHit(this.items[this.current], this);"},{"lineNumber":230,"author":{"gitId":"-"},"content":" },"},{"lineNumber":231,"author":{"gitId":"-"},"content":" down() {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" if (this.current \u003c this.items.length - 1) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" this.current +\u003d 1;"},{"lineNumber":234,"author":{"gitId":"-"},"content":" this.scrollListView();"},{"lineNumber":235,"author":{"gitId":"-"},"content":" }"},{"lineNumber":236,"author":{"gitId":"-"},"content":" },"},{"lineNumber":237,"author":{"gitId":"-"},"content":" up() {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" if (this.current \u003e 0) {"},{"lineNumber":239,"author":{"gitId":"-"},"content":" this.current -\u003d 1;"},{"lineNumber":240,"author":{"gitId":"-"},"content":" this.scrollListView();"},{"lineNumber":241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":242,"author":{"gitId":"-"},"content":" },"},{"lineNumber":243,"author":{"gitId":"-"},"content":" scrollListView() {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" const { dropdown } \u003d this.$refs;"},{"lineNumber":245,"author":{"gitId":"-"},"content":" const currentEntry \u003d dropdown.children[this.current];"},{"lineNumber":246,"author":{"gitId":"-"},"content":" const upperBound \u003d dropdown.scrollTop;"},{"lineNumber":247,"author":{"gitId":"-"},"content":" const lowerBound \u003d upperBound + dropdown.clientHeight;"},{"lineNumber":248,"author":{"gitId":"-"},"content":" const currentEntryOffsetBottom \u003d currentEntry.offsetTop + currentEntry.offsetHeight;"},{"lineNumber":249,"author":{"gitId":"-"},"content":" if (currentEntry.offsetTop \u003c upperBound) {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" dropdown.scrollTop \u003d currentEntry.offsetTop;"},{"lineNumber":251,"author":{"gitId":"-"},"content":" } else if (currentEntryOffsetBottom \u003e lowerBound) {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" dropdown.scrollTop \u003d currentEntryOffsetBottom - dropdown.clientHeight;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":" },"},{"lineNumber":255,"author":{"gitId":"-"},"content":" },"},{"lineNumber":256,"author":{"gitId":"-"},"content":" components: {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" searchbarPageItem,"},{"lineNumber":258,"author":{"gitId":"-"},"content":" },"},{"lineNumber":259,"author":{"gitId":"-"},"content":"};"},{"lineNumber":260,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":263,"author":{"gitId":"-"},"content":" .dropdown {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" display: block;"},{"lineNumber":265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":" .form-control {"},{"lineNumber":268,"author":{"gitId":"-"},"content":" min-width: 12.7em;"},{"lineNumber":269,"author":{"gitId":"-"},"content":" max-width: 25.4em; /* twice of min-width, to accommodate a range of lengths */"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" /* For mobile devices and general tablets in portrait e.g. iPad */"},{"lineNumber":273,"author":{"gitId":"LamJiuFong"},"content":" @media screen and (width \u003c\u003d 878px) and (orientation: portrait) {"},{"lineNumber":274,"author":{"gitId":"-"},"content":" .form-control {"},{"lineNumber":275,"author":{"gitId":"-"},"content":" min-width: 8em;"},{"lineNumber":276,"author":{"gitId":"-"},"content":" max-width: 16em; /* twice of min-width, to accommodate a range of lengths */"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" /* For general tablets in landscape e.g. iPad */"},{"lineNumber":281,"author":{"gitId":"LamJiuFong"},"content":" @media screen and (width \u003e\u003d 768px) and (width \u003c\u003d 878px) and (orientation: landscape) {"},{"lineNumber":282,"author":{"gitId":"-"},"content":" .form-control {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" min-width: 9em;"},{"lineNumber":284,"author":{"gitId":"-"},"content":" max-width: 18em; /* twice of min-width, to accommodate a range of lengths */"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" .table-active {"},{"lineNumber":289,"author":{"gitId":"LamJiuFong"},"content":" background-color: rgb(0 0 0 / 7.5%); /* follows Bootstrap\u0027s table-active */"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" .dropdown-menu-end {"},{"lineNumber":293,"author":{"gitId":"-"},"content":" right: 0;"},{"lineNumber":294,"author":{"gitId":"-"},"content":" left: auto;"},{"lineNumber":295,"author":{"gitId":"-"},"content":" }"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" .placeholder-div-hidden {"},{"lineNumber":298,"author":{"gitId":"-"},"content":" /* prevents placeholderDiv from taking up space on the navbar to resolve FOUC */"},{"lineNumber":299,"author":{"gitId":"-"},"content":" height: 0;"},{"lineNumber":300,"author":{"gitId":"-"},"content":" padding-top: 0;"},{"lineNumber":301,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":302,"author":{"gitId":"-"},"content":" border-top: 0;"},{"lineNumber":303,"author":{"gitId":"-"},"content":" border-bottom: 0;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" visibility: hidden;"},{"lineNumber":305,"author":{"gitId":"-"},"content":" overflow: hidden;"},{"lineNumber":306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":307,"author":{"gitId":"-"},"content":"\u003c/style\u003e"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":310,"author":{"gitId":"-"},"content":" .search-dropdown-menu {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" min-width: 30em;"},{"lineNumber":312,"author":{"gitId":"-"},"content":" max-height: 30em;"},{"lineNumber":313,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":314,"author":{"gitId":"-"},"content":" }"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" .dropdown-menu \u003e li \u003e a {"},{"lineNumber":317,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"LamJiuFong"},"content":" @media screen and (width \u003c\u003d 768px) {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" .search-dropdown-menu {"},{"lineNumber":322,"author":{"gitId":"-"},"content":" min-width: 90vw;"},{"lineNumber":323,"author":{"gitId":"-"},"content":" max-height: 30em;"},{"lineNumber":324,"author":{"gitId":"-"},"content":" overflow-y: scroll;"},{"lineNumber":325,"author":{"gitId":"-"},"content":" }"},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":" .dropdown-menu.search-dropdown-menu {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":331,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":4,"-":327}},{"path":"packages/vue-components/src/SiteNav.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"site-nav-root\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import normalizeUrl from \u0027./utils/urls\u0027;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":11,"author":{"gitId":"-"},"content":" name: \u0027SiteNav\u0027,"},{"lineNumber":12,"author":{"gitId":"-"},"content":" mounted() {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" const currentUrl \u003d normalizeUrl(new URL(window.location.href).pathname);"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" this.$el.querySelectorAll(\u0027a[href]\u0027).forEach((el) \u003d\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" const linkUrl \u003d normalizeUrl(el.getAttribute(\u0027href\u0027));"},{"lineNumber":17,"author":{"gitId":"-"},"content":" if (currentUrl !\u003d\u003d linkUrl) {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":19,"author":{"gitId":"-"},"content":" }"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" el.classList.add(\u0027current\u0027);"},{"lineNumber":22,"author":{"gitId":"-"},"content":" let currentEl \u003d el.parentElement;"},{"lineNumber":23,"author":{"gitId":"-"},"content":" while (currentEl \u0026\u0026 currentEl !\u003d\u003d this.$el) {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" if (currentEl.tagName.toLowerCase() \u003d\u003d\u003d \u0027ul\u0027"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u0026\u0026 currentEl.classList.contains(\u0027site-nav-dropdown-container\u0027)) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" currentEl.classList.add(\u0027site-nav-dropdown-container-open\u0027);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":" currentEl \u003d currentEl.parentElement;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":" });"},{"lineNumber":31,"author":{"gitId":"-"},"content":" },"},{"lineNumber":32,"author":{"gitId":"-"},"content":"};"},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" /* Site navigation */"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" .site-nav-root a.current {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" color: #0072ec;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" /* Navigation list */"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" .site-nav-list {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" list-style-type: none;"},{"lineNumber":46,"author":{"gitId":"-"},"content":" padding-left: 0;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" }"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" .site-nav-default-list-item {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" padding: 0.5rem 0 0 2.8rem;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" transition: background-color 0.08s;"},{"lineNumber":53,"author":{"gitId":"-"},"content":" color: #454545;"},{"lineNumber":54,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" .site-nav-custom-list-item {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" padding: 0.5rem 0 0 2.8rem;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" color: #454545;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" .site-nav-list-item-0 {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" padding: 0.5rem 0 0.5rem 0.8rem;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" font-weight: 500;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" font-size: 1.2em;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" .site-nav-list-item-1 {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" padding: 0.4rem 0 0.4rem 1.3rem;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" font-size: 1.03em;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" .site-nav-list-item-2 {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" padding: 0.3rem 0 0.3rem 1.8rem;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" font-size: 0.89em;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" .site-nav-list-item-3 {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" padding: 0.2rem 0 0.2rem 2.4rem;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" font-size: 0.76em;"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" .site-nav-default-list-item:hover {"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" background-color: rgb(214 233 255 / 35%);"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" .site-nav-default-list-item a {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":89,"author":{"gitId":"-"},"content":" height: 100%;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" color: #454545;"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" .site-nav-default-list-item:hover a {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" color: black;"},{"lineNumber":95,"author":{"gitId":"-"},"content":" text-decoration: none;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" /* Navigation dropdown menu */"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" .site-nav-dropdown-btn-container {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":102,"author":{"gitId":"LamJiuFong"},"content":" place-content: center center;"},{"lineNumber":103,"author":{"gitId":"-"},"content":" width: 2rem;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" height: 1.5em;"},{"lineNumber":105,"author":{"gitId":"-"},"content":" margin: 0 0.75rem 0 auto;"},{"lineNumber":106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" .site-nav-dropdown-btn-icon {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":110,"author":{"gitId":"-"},"content":" vertical-align: baseline;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" align-self: center;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" width: 1.5em;"},{"lineNumber":113,"author":{"gitId":"-"},"content":" height: 1.5em;"},{"lineNumber":114,"author":{"gitId":"-"},"content":" text-align: center;"},{"lineNumber":115,"author":{"gitId":"-"},"content":" border-radius: 1rem;"},{"lineNumber":116,"author":{"gitId":"LamJiuFong"},"content":" padding: 0;"},{"lineNumber":117,"author":{"gitId":"-"},"content":" transition: 0.4s;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" transform: rotate(0deg);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" .site-nav-dropdown-btn-icon:hover {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" background-color: #d8e3fb;"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" .site-nav-rotate-icon {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" color: #4c7ff1;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" transform: rotate(-180deg);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" .site-nav-dropdown-container {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" background: transparent;"},{"lineNumber":132,"author":{"gitId":"-"},"content":" max-height: 0;"},{"lineNumber":133,"author":{"gitId":"-"},"content":" overflow: hidden;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" transition: max-height 0.15s ease-out;"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" .site-nav-dropdown-container-open {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" max-height: 1000px;"},{"lineNumber":139,"author":{"gitId":"-"},"content":" transition: max-height 0.25s ease-in;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":3,"-":138}},{"path":"packages/vue-components/src/Submenu.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cli"},{"lineNumber":3,"author":{"gitId":"-"},"content":" ref\u003d\"submenu\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" :class\u003d\"[addClass, \u0027dropdown-submenu\u0027,"},{"lineNumber":5,"author":{"gitId":"-"},"content":" { \u0027dropend\u0027: dropright, \u0027dropstart\u0027: dropleft }]\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"button\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003ca"},{"lineNumber":9,"author":{"gitId":"-"},"content":" class\u003d\"dropdown-item submenu-toggle\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" role\u003d\"button\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" :class\u003d\"{disabled: disabled}\""},{"lineNumber":12,"author":{"gitId":"-"},"content":" data-bs-toggle\u003d\"dropdown\""},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/a\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"dropdown-menu\"\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cul class\u003d\"dropdown-menu\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003c/ul\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/li\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import { toBoolean } from \u0027./utils/utils\u0027;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import $ from \u0027./utils/NodeList\u0027;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import positionSubmenu from \u0027./utils/submenu\u0027;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import preventOverflowOnMobile from \u0027./utils/dropdown\u0027;"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" addClass: {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" },"},{"lineNumber":37,"author":{"gitId":"-"},"content":" disabled: {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" type: [Boolean, String],"},{"lineNumber":39,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":40,"author":{"gitId":"-"},"content":" },"},{"lineNumber":41,"author":{"gitId":"-"},"content":" },"},{"lineNumber":42,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" show: false,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" dropright: true,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" dropleft: false,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" };"},{"lineNumber":48,"author":{"gitId":"-"},"content":" },"},{"lineNumber":49,"author":{"gitId":"-"},"content":" inject: {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" isParentNavbar: {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" },"},{"lineNumber":53,"author":{"gitId":"-"},"content":" },"},{"lineNumber":54,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" disabledBool() {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" return toBoolean(this.disabled);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" },"},{"lineNumber":58,"author":{"gitId":"-"},"content":" },"},{"lineNumber":59,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" hideSubmenu() {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" this.show \u003d false;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" $(this.$refs.submenu).find(\u0027ul.dropdown-menu\u0027).each(ul \u003d\u003e ul.classList.toggle(\u0027show\u0027, false));"},{"lineNumber":63,"author":{"gitId":"-"},"content":" this.alignMenuRight();"},{"lineNumber":64,"author":{"gitId":"-"},"content":" },"},{"lineNumber":65,"author":{"gitId":"-"},"content":" showSubmenu() {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" this.show \u003d true;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" $(this.$refs.submenu).findChildren(\u0027ul\u0027).each((ul) \u003d\u003e {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" ul.classList.toggle(\u0027show\u0027, true);"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" // check if submenu is part of the navbar sliding menu on mobile"},{"lineNumber":71,"author":{"gitId":"-"},"content":" if (window.innerWidth \u003c 768 \u0026\u0026 this.isParentNavbar) {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" preventOverflowOnMobile(ul);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":74,"author":{"gitId":"-"},"content":" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" if (positionSubmenu.isRightAlign(ul)) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" this.alignMenuRight();"},{"lineNumber":78,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" this.alignMenuLeft();"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":" positionSubmenu.preventOverflow(ul);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" });"},{"lineNumber":83,"author":{"gitId":"-"},"content":" },"},{"lineNumber":84,"author":{"gitId":"-"},"content":" alignMenuRight() {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" this.dropright \u003d true;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" this.dropleft \u003d false;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" },"},{"lineNumber":88,"author":{"gitId":"-"},"content":" alignMenuLeft() {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" this.dropright \u003d false;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" this.dropleft \u003d true;"},{"lineNumber":91,"author":{"gitId":"-"},"content":" },"},{"lineNumber":92,"author":{"gitId":"-"},"content":" },"},{"lineNumber":93,"author":{"gitId":"-"},"content":" mounted() {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" const $el \u003d $(this.$refs.submenu);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" if (this.show) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" this.showSubmenu();"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":" $el.onBlur(() \u003d\u003e { this.hideSubmenu(); }, false);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027a,button\u0027).on(\u0027click\u0027, (e) \u003d\u003e {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" e.preventDefault();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" e.stopPropagation();"},{"lineNumber":102,"author":{"gitId":"-"},"content":" if (this.disabledBool) { return false; }"},{"lineNumber":103,"author":{"gitId":"-"},"content":" if (this.show) {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" this.hideSubmenu();"},{"lineNumber":105,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" this.showSubmenu();"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" });"},{"lineNumber":110,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027a,button\u0027).on(\u0027mouseover\u0027, (e) \u003d\u003e {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" e.preventDefault();"},{"lineNumber":112,"author":{"gitId":"-"},"content":" if (window.innerWidth \u003e 767) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" const isShowing \u003d $el.findChildren(\u0027ul.show\u0027).length \u003e 0;"},{"lineNumber":114,"author":{"gitId":"-"},"content":" if (isShowing || this.disabledBool) { return false; }"},{"lineNumber":115,"author":{"gitId":"-"},"content":" e.currentTarget.click();"},{"lineNumber":116,"author":{"gitId":"-"},"content":" const fullMenu \u003d this.$parent.$parent;"},{"lineNumber":117,"author":{"gitId":"-"},"content":" fullMenu.$children.forEach((menuItem) \u003d\u003e {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" if (menuItem.$el \u003d\u003d\u003d this.$el) {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" menuItem.$refs.submenu.showSubmenu();"},{"lineNumber":120,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" menuItem.$refs.submenu.hideSubmenu();"},{"lineNumber":122,"author":{"gitId":"-"},"content":" }"},{"lineNumber":123,"author":{"gitId":"-"},"content":" });"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" });"},{"lineNumber":127,"author":{"gitId":"-"},"content":" },"},{"lineNumber":128,"author":{"gitId":"-"},"content":" beforeDestroy() {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" const $el \u003d $(this.$refs.submenu);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" $el.offBlur();"},{"lineNumber":131,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027a,button\u0027).off();"},{"lineNumber":132,"author":{"gitId":"-"},"content":" $el.findChildren(\u0027ul\u0027).off();"},{"lineNumber":133,"author":{"gitId":"-"},"content":" },"},{"lineNumber":134,"author":{"gitId":"-"},"content":"};"},{"lineNumber":135,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .dropdown-submenu {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" color: #212529 !important;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" padding: 0 !important;"},{"lineNumber":141,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" .dropdown-submenu ul.dropdown-menu {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" margin-left: 0;"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" .dropdown \u003e ul \u003e .dropdown-submenu:last-child \u003e ul,"},{"lineNumber":149,"author":{"gitId":"-"},"content":" .btn-group \u003e ul \u003e .dropdown-submenu:last-child \u003e ul {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" margin-bottom: -0.5rem;"},{"lineNumber":151,"author":{"gitId":"-"},"content":" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"LamJiuFong"},"content":" @media (width \u003e\u003d 768px) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" .submenu-toggle::after {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" width: 0;"},{"lineNumber":157,"author":{"gitId":"-"},"content":" height: 0;"},{"lineNumber":158,"author":{"gitId":"-"},"content":" vertical-align: 0.255em;"},{"lineNumber":159,"author":{"gitId":"-"},"content":" content: \"\";"},{"lineNumber":160,"author":{"gitId":"-"},"content":" border-top: 0.3em solid transparent;"},{"lineNumber":161,"author":{"gitId":"-"},"content":" border-right: 0;"},{"lineNumber":162,"author":{"gitId":"-"},"content":" border-bottom: 0.3em solid transparent;"},{"lineNumber":163,"author":{"gitId":"-"},"content":" border-left: 0.3em solid;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":165,"author":{"gitId":"-"},"content":" margin-top: 0.5em;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":167,"author":{"gitId":"-"},"content":" }"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"LamJiuFong"},"content":" @media (width \u003c\u003d 767px) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .dropdown-submenu \u003e ul {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" padding-bottom: 0;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" border-radius: 0;"},{"lineNumber":173,"author":{"gitId":"-"},"content":" margin: -0.05rem;"},{"lineNumber":174,"author":{"gitId":"-"},"content":" position: static;"},{"lineNumber":175,"author":{"gitId":"-"},"content":" float: none;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" .submenu-toggle::after {"},{"lineNumber":179,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":180,"author":{"gitId":"-"},"content":" width: 0;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" height: 0;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" margin-left: 0.255em;"},{"lineNumber":183,"author":{"gitId":"-"},"content":" vertical-align: 0.255em;"},{"lineNumber":184,"author":{"gitId":"-"},"content":" content: \"\";"},{"lineNumber":185,"author":{"gitId":"-"},"content":" border-top: 0.3em solid;"},{"lineNumber":186,"author":{"gitId":"-"},"content":" border-right: 0.3em solid transparent;"},{"lineNumber":187,"author":{"gitId":"-"},"content":" border-bottom: 0;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" border-left: 0.3em solid transparent;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":190,"author":{"gitId":"-"},"content":" margin-top: 0.5em;"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":2,"-":191}},{"path":"packages/vue-components/src/Tooltip.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":3,"author":{"gitId":"-"},"content":" :class\u003d\"trigger \u003d\u003d\u003d \u0027click\u0027 ? \u0027trigger-click\u0027 : \u0027trigger\u0027\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" data-mb-component-type\u003d\"tooltip\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" tabindex\u003d\"0\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cportal v-if\u003d\"targetEl.id\" :to\u003d\"\u0027tooltip:\u0027 + targetEl.id\"\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"content\"\u003e\u003c/slot\u003e"},{"lineNumber":9,"author":{"gitId":"yiwen101"},"content":" \u003c/portal\u003e\u003c!-- do not delete this comment, it is for the stray space issue (#2419)"},{"lineNumber":10,"author":{"gitId":"yiwen101"},"content":" --\u003e\u003cv-tooltip"},{"lineNumber":11,"author":{"gitId":"-"},"content":" v-if\u003d\"isMounted\""},{"lineNumber":12,"author":{"gitId":"-"},"content":" :auto-hide\u003d\"!isInput\""},{"lineNumber":13,"author":{"gitId":"-"},"content":" :triggers\u003d\"triggers\""},{"lineNumber":14,"author":{"gitId":"-"},"content":" :popper-triggers\u003d\"triggers\""},{"lineNumber":15,"author":{"gitId":"-"},"content":" :hide-triggers\u003d\"triggers\""},{"lineNumber":16,"author":{"gitId":"-"},"content":" :placement\u003d\"placement\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" :delay\u003d\"0\""},{"lineNumber":18,"author":{"gitId":"-"},"content":" shift-cross-axis"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003ctemplate #popper\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"content\"\u003e\u003c/slot\u003e"},{"lineNumber":22,"author":{"gitId":"yiwen101"},"content":" \u003c/template\u003e\u003c!-- do not delete this comment, it is for the stray space issue (#2419)"},{"lineNumber":23,"author":{"gitId":"yiwen101"},"content":" --\u003e\u003cspan v-if\u003d\"!isInput\" @click.stop\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003cslot v-else\u003e\u003c/slot\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003c/v-tooltip\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":"// eslint-disable-next-line import/no-extraneous-dependencies"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import { Portal } from \u0027portal-vue\u0027;"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" name: \u0027Tooltip\u0027,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" components: {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" Portal,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" },"},{"lineNumber":40,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" trigger: {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":43,"author":{"gitId":"-"},"content":" default: \u0027hover focus\u0027,"},{"lineNumber":44,"author":{"gitId":"-"},"content":" },"},{"lineNumber":45,"author":{"gitId":"-"},"content":" placement: {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" default: \u0027top\u0027,"},{"lineNumber":48,"author":{"gitId":"-"},"content":" },"},{"lineNumber":49,"author":{"gitId":"-"},"content":" },"},{"lineNumber":50,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" targetEl: {},"},{"lineNumber":53,"author":{"gitId":"-"},"content":" isInput: false,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" isMounted: false,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" };"},{"lineNumber":56,"author":{"gitId":"-"},"content":" },"},{"lineNumber":57,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" triggers() {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" return this.trigger.split(\u0027 \u0027);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" },"},{"lineNumber":61,"author":{"gitId":"-"},"content":" },"},{"lineNumber":62,"author":{"gitId":"-"},"content":" mounted() {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" this.targetEl \u003d this.$el;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" // \u003cinput\u003e tags need to be handled separately as they need to retain focus on inputs"},{"lineNumber":65,"author":{"gitId":"-"},"content":" this.isInput \u003d this.$slots.default \u0026\u0026 this.$slots.default.some(node \u003d\u003e node.tag \u003d\u003d\u003d \u0027input\u0027);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" this.isMounted \u003d true;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" },"},{"lineNumber":68,"author":{"gitId":"-"},"content":"};"},{"lineNumber":69,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":72,"author":{"gitId":"LamJiuFong"},"content":" /* stylelint-disable selector-class-pattern */"},{"lineNumber":73,"author":{"gitId":"-"},"content":" .v-popper--theme-tooltip .v-popper__inner {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" /* following bootstrap */"},{"lineNumber":75,"author":{"gitId":"LamJiuFong"},"content":" background: rgb(0 0 0 / 90%);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" padding: 4px 8px;"},{"lineNumber":77,"author":{"gitId":"-"},"content":" font-size: 0.875rem;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" max-width: 200px;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" text-align: center;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"LamJiuFong"},"content":" /* stylelint-enable selector-class-pattern */"},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":3,"-":75,"yiwen101":4}},{"path":"packages/vue-components/src/__tests__/Panels.spec.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import { mount } from \u0027@vue/test-utils\u0027;"},{"lineNumber":2,"author":{"gitId":"-"},"content":"import NestedPanel from \u0027../panels/NestedPanel.vue\u0027;"},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":"const DEFAULT_STUBS \u003d { \u0027nested-panel\u0027: NestedPanel };"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":"const BOX_CONTAINER \u003d `"},{"lineNumber":7,"author":{"gitId":"jingting1412"},"content":" \u003cdiv style\u003d\"color:white;\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003cnested-panel type\u003d\"seamless\"\u003e"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" \u003ctemplate #header\u003eTest Header\u003c/template\u003e"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" \u003cp\u003eTest Content\u003c/p\u003e"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u003c/nested-panel\u003e"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" \u003c/div\u003e"},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":"`;"},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"describe(\u0027NestedPanels\u0027, () \u003d\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" test(\u0027should show header when collapsed with expandHeaderless as false\u0027, async () \u003d\u003e {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" const wrapper \u003d mount(NestedPanel, {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" propsData: {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" expandHeaderless: false,"},{"lineNumber":20,"author":{"gitId":"-"},"content":" },"},{"lineNumber":21,"author":{"gitId":"-"},"content":" slots: {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" header: \u0027test header\u0027,"},{"lineNumber":23,"author":{"gitId":"-"},"content":" },"},{"lineNumber":24,"author":{"gitId":"-"},"content":" });"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" expect(wrapper.element).toMatchSnapshot();"},{"lineNumber":27,"author":{"gitId":"-"},"content":" });"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" test(\u0027should show header after expand with expandHeaderless as false\u0027, async () \u003d\u003e {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" const wrapper \u003d mount(NestedPanel, {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" propsData: {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" expandHeaderless: false,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" },"},{"lineNumber":34,"author":{"gitId":"-"},"content":" slots: {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" header: \u0027test header\u0027,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" },"},{"lineNumber":37,"author":{"gitId":"-"},"content":" });"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" // click on header"},{"lineNumber":40,"author":{"gitId":"-"},"content":" await wrapper.find(\u0027div.card-header\u0027).trigger(\u0027click\u0027);"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" expect(wrapper.element).toMatchSnapshot();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" });"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" test(\u0027should show header when collapsed with expandHeaderless as true\u0027, async () \u003d\u003e {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" const wrapper \u003d mount(NestedPanel, {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" propsData: {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" expandHeaderless: true,"},{"lineNumber":49,"author":{"gitId":"-"},"content":" },"},{"lineNumber":50,"author":{"gitId":"-"},"content":" slots: {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" header: \u0027test header\u0027,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" },"},{"lineNumber":53,"author":{"gitId":"-"},"content":" });"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" expect(wrapper.element).toMatchSnapshot();"},{"lineNumber":56,"author":{"gitId":"-"},"content":" });"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" test(\u0027should not show header after expand with expandHeaderless as true\u0027, async () \u003d\u003e {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" const wrapper \u003d mount(NestedPanel, {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" propsData: {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" expandHeaderless: true,"},{"lineNumber":62,"author":{"gitId":"-"},"content":" },"},{"lineNumber":63,"author":{"gitId":"-"},"content":" slots: {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" header: \u0027test header\u0027,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" },"},{"lineNumber":66,"author":{"gitId":"-"},"content":" });"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" // click on header"},{"lineNumber":69,"author":{"gitId":"-"},"content":" await wrapper.find(\u0027div.card-header\u0027).trigger(\u0027click\u0027);"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" expect(wrapper.element).toMatchSnapshot();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" });"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" test(\u0027should have span.anchor when id is present\u0027, async () \u003d\u003e {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" const wrapper \u003d mount(NestedPanel, {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" propsData: {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" panelId: \u0027test-id\u0027,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" },"},{"lineNumber":79,"author":{"gitId":"-"},"content":" slots: {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" header: \u0027test header\u0027,"},{"lineNumber":81,"author":{"gitId":"-"},"content":" },"},{"lineNumber":82,"author":{"gitId":"-"},"content":" });"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" expect(wrapper.element).toMatchSnapshot();"},{"lineNumber":85,"author":{"gitId":"-"},"content":" });"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"jingting1412"},"content":" test(\u0027renders a seamless panel with a transparent background\u0027, async () \u003d\u003e {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" const wrapper \u003d mount(NestedPanel, {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" propsData: {"},{"lineNumber":90,"author":{"gitId":"jingting1412"},"content":" type: \u0027seamless\u0027,"},{"lineNumber":91,"author":{"gitId":"-"},"content":" },"},{"lineNumber":92,"author":{"gitId":"-"},"content":" slots: {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" header: \u0027test header\u0027,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" },"},{"lineNumber":95,"author":{"gitId":"-"},"content":" });"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"jingting1412"},"content":" expect(wrapper.find(\u0027.card\u0027).classes()).toContain(\u0027card-seamless\u0027);"},{"lineNumber":98,"author":{"gitId":"jingting1412"},"content":" expect(wrapper.find(\u0027.card-header\u0027).classes()).toContain(\u0027bg-transparent\u0027);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" expect(wrapper.element).toMatchSnapshot();"},{"lineNumber":100,"author":{"gitId":"-"},"content":" });"},{"lineNumber":101,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":102,"author":{"gitId":"jingting1412"},"content":" test(\u0027seamless panel should inherit parent background color\u0027, () \u003d\u003e {"},{"lineNumber":103,"author":{"gitId":"jingting1412"},"content":" const ParentComponent \u003d {"},{"lineNumber":104,"author":{"gitId":"jingting1412"},"content":" template: BOX_CONTAINER,"},{"lineNumber":105,"author":{"gitId":"jingting1412"},"content":" };"},{"lineNumber":106,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":107,"author":{"gitId":"jingting1412"},"content":" const wrapper \u003d mount(ParentComponent, {"},{"lineNumber":108,"author":{"gitId":"jingting1412"},"content":" stubs: DEFAULT_STUBS,"},{"lineNumber":109,"author":{"gitId":"jingting1412"},"content":" });"},{"lineNumber":110,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":111,"author":{"gitId":"jingting1412"},"content":" const parentElement \u003d wrapper.find(\u0027div\u0027);"},{"lineNumber":112,"author":{"gitId":"jingting1412"},"content":" const seamlessPanel \u003d wrapper.findComponent(NestedPanel);"},{"lineNumber":113,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":114,"author":{"gitId":"jingting1412"},"content":" expect(seamlessPanel.props(\u0027type\u0027)).toBe(\u0027seamless\u0027);"},{"lineNumber":115,"author":{"gitId":"jingting1412"},"content":" expect(window.getComputedStyle(seamlessPanel.element).backgroundColor).toBe("},{"lineNumber":116,"author":{"gitId":"jingting1412"},"content":" window.getComputedStyle(parentElement.element).backgroundColor,"},{"lineNumber":117,"author":{"gitId":"jingting1412"},"content":" );"},{"lineNumber":118,"author":{"gitId":"jingting1412"},"content":" });"},{"lineNumber":119,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"jingting1412":33,"-":86}},{"path":"packages/vue-components/src/annotations/Annotate.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv :class\u003d\"[\u0027annotate-image-wrapper\u0027, addClass]\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cimg"},{"lineNumber":4,"author":{"gitId":"-"},"content":" ref\u003d\"pic\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" :src\u003d\"src\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" :alt\u003d\"alt\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" :width\u003d\"computedWidth\""},{"lineNumber":8,"author":{"gitId":"LamJiuFong"},"content":" :height\u003d\"computedHeight\""},{"lineNumber":9,"author":{"gitId":"LamJiuFong"},"content":" :loading\u003d\"computedLoadType\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" class\u003d\"annotate-image\""},{"lineNumber":11,"author":{"gitId":"LamJiuFong"},"content":" @load.once\u003d\"computeWidthAndHeight\""},{"lineNumber":12,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cdiv style\u003d\"top: 0; left: 0; height: 0;\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import { toNumber } from \u0027../utils/utils\u0027;"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" src: {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" },"},{"lineNumber":28,"author":{"gitId":"-"},"content":" alt: {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":31,"author":{"gitId":"-"},"content":" },"},{"lineNumber":32,"author":{"gitId":"-"},"content":" height: {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" },"},{"lineNumber":36,"author":{"gitId":"-"},"content":" width: {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" },"},{"lineNumber":40,"author":{"gitId":"LamJiuFong"},"content":" lazy: {"},{"lineNumber":41,"author":{"gitId":"LamJiuFong"},"content":" type: Boolean,"},{"lineNumber":42,"author":{"gitId":"LamJiuFong"},"content":" default: false,"},{"lineNumber":43,"author":{"gitId":"LamJiuFong"},"content":" },"},{"lineNumber":44,"author":{"gitId":"-"},"content":" addClass: {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" },"},{"lineNumber":48,"author":{"gitId":"-"},"content":" },"},{"lineNumber":49,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" hasWidth() {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return this.width !\u003d\u003d \u0027\u0027;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" },"},{"lineNumber":53,"author":{"gitId":"-"},"content":" hasHeight() {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" return this.height !\u003d\u003d \u0027\u0027;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" },"},{"lineNumber":56,"author":{"gitId":"-"},"content":" computedWidth() {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" if (this.hasWidth) {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" return this.width;"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return this.widthFromHeight;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" },"},{"lineNumber":62,"author":{"gitId":"LamJiuFong"},"content":" computedHeight() {"},{"lineNumber":63,"author":{"gitId":"LamJiuFong"},"content":" return this.heightFromWidth;"},{"lineNumber":64,"author":{"gitId":"LamJiuFong"},"content":" },"},{"lineNumber":65,"author":{"gitId":"LamJiuFong"},"content":" computedLoadType() {"},{"lineNumber":66,"author":{"gitId":"LamJiuFong"},"content":" return this.lazy ? \u0027lazy\u0027 : \u0027eager\u0027;"},{"lineNumber":67,"author":{"gitId":"LamJiuFong"},"content":" },"},{"lineNumber":68,"author":{"gitId":"-"},"content":" },"},{"lineNumber":69,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" widthFromHeight: \u0027\u0027,"},{"lineNumber":72,"author":{"gitId":"LamJiuFong"},"content":" heightFromWidth: \u0027\u0027,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" };"},{"lineNumber":74,"author":{"gitId":"-"},"content":" },"},{"lineNumber":75,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":76,"author":{"gitId":"LamJiuFong"},"content":" computeWidthAndHeight() {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" const renderedImg \u003d this.$refs.pic;"},{"lineNumber":78,"author":{"gitId":"-"},"content":" const imgHeight \u003d renderedImg.naturalHeight;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" const imgWidth \u003d renderedImg.naturalWidth;"},{"lineNumber":80,"author":{"gitId":"LamJiuFong"},"content":" const aspectRatio \u003d imgWidth / imgHeight;"},{"lineNumber":81,"author":{"gitId":"LamJiuFong"},"content":" if (this.hasWidth) { // if width is present, overwrite the height (if any) to maintain aspect ratio"},{"lineNumber":82,"author":{"gitId":"LamJiuFong"},"content":" this.heightFromWidth \u003d Math.round(toNumber(this.width) / aspectRatio).toString();"},{"lineNumber":83,"author":{"gitId":"LamJiuFong"},"content":" } else if (this.hasHeight) {"},{"lineNumber":84,"author":{"gitId":"LamJiuFong"},"content":" this.widthFromHeight \u003d Math.round(toNumber(this.height) * aspectRatio).toString();"},{"lineNumber":85,"author":{"gitId":"LamJiuFong"},"content":" this.heightFromWidth \u003d this.height;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":" },"},{"lineNumber":88,"author":{"gitId":"-"},"content":" },"},{"lineNumber":89,"author":{"gitId":"-"},"content":" provide() {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" width: this.width,"},{"lineNumber":92,"author":{"gitId":"-"},"content":" height: this.height,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" src: this.src,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" };"},{"lineNumber":95,"author":{"gitId":"-"},"content":" },"},{"lineNumber":96,"author":{"gitId":"-"},"content":"};"},{"lineNumber":97,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":" .annotate-image-wrapper {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":102,"author":{"gitId":"-"},"content":" text-align: left;"},{"lineNumber":103,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" .annotate-image {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" max-width: 100%;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" height: auto;"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":21,"-":89}},{"path":"packages/vue-components/src/panels/MinimalPanel.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":3,"author":{"gitId":"-"},"content":" v-if\u003d\"localMinimized\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" ref\u003d\"cardContainer\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027card-container\u0027, addClass]\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":8,"author":{"gitId":"-"},"content":" v-if\u003d\"hasId\""},{"lineNumber":9,"author":{"gitId":"-"},"content":" :id\u003d\"panelId\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" class\u003d\"anchor\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003e\u003c/span\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"morph\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003cbutton class\u003d\"morph-display-wrapper btn card-title morph-title\" @click\u003d\"minimalOpen()\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":15,"author":{"gitId":"-"},"content":" v-if\u003d\"!noMinimizedSwitch\""},{"lineNumber":16,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027glyphicon\u0027, \u0027glyphicon-chevron-right\u0027]\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" \u003e\u003c/div\u003e"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"_alt\"\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"card-title\"\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":27,"author":{"gitId":"-"},"content":" v-else"},{"lineNumber":28,"author":{"gitId":"-"},"content":" ref\u003d\"cardContainer\""},{"lineNumber":29,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027card-container\u0027, addClass]\""},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":32,"author":{"gitId":"-"},"content":" v-if\u003d\"hasId\""},{"lineNumber":33,"author":{"gitId":"-"},"content":" :id\u003d\"panelId\""},{"lineNumber":34,"author":{"gitId":"-"},"content":" class\u003d\"anchor\""},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003e\u003c/span\u003e"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card card-flex\"\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":38,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027header-wrapper\u0027,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" { \u0027header-wrapper-bottom\u0027: isHeaderAtBottom, \u0027header-toggle\u0027: isExpandableCard }]\""},{"lineNumber":40,"author":{"gitId":"-"},"content":" @click.prevent.stop\u003d\"isExpandableCard \u0026\u0026 minimalToggle()\""},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003ctransition name\u003d\"header-fade\"\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":44,"author":{"gitId":"-"},"content":" v-show\u003d\"!isHeaderAtBottom\""},{"lineNumber":45,"author":{"gitId":"-"},"content":" ref\u003d\"headerWrapper\""},{"lineNumber":46,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027card-title\u0027, { \u0027ellipses\u0027: !hasHeaderBool }]\""},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"card-title-inline\"\u003e\u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e\u003c/span\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":50,"author":{"gitId":"-"},"content":" v-show\u003d\"showDownSwitch\""},{"lineNumber":51,"author":{"gitId":"-"},"content":" aria-hidden\u003d\"true\""},{"lineNumber":52,"author":{"gitId":"-"},"content":" class\u003d\"minimal-button glyphicon glyphicon-menu-down minimal-menu-down\""},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003e\u003c/span\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003c/transition\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003cdiv :class\u003d\"[\u0027button-wrapper\u0027, { \u0027button-wrapper-expanded\u0027: isHeaderAtBottom }]\"\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"button\"\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":59,"author":{"gitId":"-"},"content":" v-show\u003d\"!noCloseBool\""},{"lineNumber":60,"author":{"gitId":"-"},"content":" class\u003d\"minimal-button\""},{"lineNumber":61,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":62,"author":{"gitId":"-"},"content":" @click.stop\u003d\"minimalClose()\""},{"lineNumber":63,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"glyphicon glyphicon-remove minimal-close-button\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":67,"author":{"gitId":"-"},"content":" v-show\u003d\"popupUrl !\u003d\u003d null\""},{"lineNumber":68,"author":{"gitId":"-"},"content":" class\u003d\"minimal-button\""},{"lineNumber":69,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":70,"author":{"gitId":"-"},"content":" @click.stop\u003d\"openPopup()\""},{"lineNumber":71,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":72,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"glyphicon glyphicon-new-window minimal-popup-button\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":75,"author":{"gitId":"-"},"content":" v-show\u003d\"isHeaderAtBottom \u0026\u0026 isExpandableCard \u0026\u0026 bottomSwitchBool\""},{"lineNumber":76,"author":{"gitId":"-"},"content":" class\u003d\"minimal-button\""},{"lineNumber":77,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"glyphicon glyphicon-menu-up minimal-menu-up\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":85,"author":{"gitId":"-"},"content":" ref\u003d\"panel\""},{"lineNumber":86,"author":{"gitId":"-"},"content":" class\u003d\"card-collapse\""},{"lineNumber":87,"author":{"gitId":"-"},"content":" :class\u003d\"{\u0027card-peek-collapsed\u0027: shouldShowPeek}\""},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":90,"author":{"gitId":"-"},"content":" v-if\u003d\"wasRetrieverLoaded || preloadBool\""},{"lineNumber":91,"author":{"gitId":"-"},"content":" class\u003d\"card-body\""},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003cretriever"},{"lineNumber":95,"author":{"gitId":"-"},"content":" v-if\u003d\"hasSrc\""},{"lineNumber":96,"author":{"gitId":"-"},"content":" ref\u003d\"retriever\""},{"lineNumber":97,"author":{"gitId":"-"},"content":" :src\u003d\"srcWithoutFragment\""},{"lineNumber":98,"author":{"gitId":"-"},"content":" :fragment\u003d\"fragment\""},{"lineNumber":99,"author":{"gitId":"-"},"content":" @src-loaded\u003d\"retrieverUpdateMaxHeight\""},{"lineNumber":100,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":"import retriever from \u0027../Retriever.vue\u0027;"},{"lineNumber":109,"author":{"gitId":"-"},"content":"import panelBase from \u0027./PanelBase\u0027;"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" mixins: [panelBase],"},{"lineNumber":113,"author":{"gitId":"-"},"content":" components: {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" retriever,"},{"lineNumber":115,"author":{"gitId":"-"},"content":" },"},{"lineNumber":116,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":119,"author":{"gitId":"-"},"content":" \u0027Copy\u0027 of localExpanded that is updated on certain animation events."},{"lineNumber":120,"author":{"gitId":"-"},"content":" It is minimal-panel specific due to its design (the header can shift to the bottom)."},{"lineNumber":121,"author":{"gitId":"-"},"content":" Its purpose is to show the header text only once the collapse animation has finished."},{"lineNumber":122,"author":{"gitId":"-"},"content":" */"},{"lineNumber":123,"author":{"gitId":"-"},"content":" isHeaderAtBottom: false,"},{"lineNumber":124,"author":{"gitId":"-"},"content":" };"},{"lineNumber":125,"author":{"gitId":"-"},"content":" },"},{"lineNumber":126,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" showDownSwitch() {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" return this.hasHeaderBool \u0026\u0026 this.isExpandableCard \u0026\u0026 !this.noSwitchBool;"},{"lineNumber":129,"author":{"gitId":"-"},"content":" },"},{"lineNumber":130,"author":{"gitId":"-"},"content":" },"},{"lineNumber":131,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" minimalToggle() {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" if (this.localExpanded) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":135,"author":{"gitId":"-"},"content":" This is a collapse."},{"lineNumber":136,"author":{"gitId":"-"},"content":" Set isHeaderAtBottom to true only at the end of transition."},{"lineNumber":137,"author":{"gitId":"-"},"content":" So that we can achieve the correct collapse transition effect of minimal panel."},{"lineNumber":138,"author":{"gitId":"-"},"content":" */"},{"lineNumber":139,"author":{"gitId":"-"},"content":" const onCollapseDone \u003d (event) \u003d\u003e {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" if (event.target \u003d\u003d\u003d this.$refs.panel) {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" this.isHeaderAtBottom \u003d false;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" this.$refs.panel.removeEventListener(\u0027transitionend\u0027, onCollapseDone);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" }"},{"lineNumber":144,"author":{"gitId":"-"},"content":" };"},{"lineNumber":145,"author":{"gitId":"-"},"content":" this.$refs.panel.addEventListener(\u0027transitionend\u0027, onCollapseDone);"},{"lineNumber":146,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" // This is an expansion. Set isHeaderAtBottom to true *immediately*."},{"lineNumber":148,"author":{"gitId":"-"},"content":" this.isHeaderAtBottom \u003d true;"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":" this.toggle(true);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" },"},{"lineNumber":152,"author":{"gitId":"-"},"content":" minimalOpen() {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" this.open();"},{"lineNumber":154,"author":{"gitId":"-"},"content":" this.isHeaderAtBottom \u003d true;"},{"lineNumber":155,"author":{"gitId":"-"},"content":" },"},{"lineNumber":156,"author":{"gitId":"-"},"content":" minimalClose() {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" this.close();"},{"lineNumber":158,"author":{"gitId":"-"},"content":" this.isHeaderAtBottom \u003d false;"},{"lineNumber":159,"author":{"gitId":"-"},"content":" },"},{"lineNumber":160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":161,"author":{"gitId":"-"},"content":" created() {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" this.isHeaderAtBottom \u003d this.localExpanded;"},{"lineNumber":163,"author":{"gitId":"-"},"content":" },"},{"lineNumber":164,"author":{"gitId":"-"},"content":"};"},{"lineNumber":165,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" .card-peek-collapsed {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":174,"author":{"gitId":"-"},"content":" * Gives the faded content effect for peek."},{"lineNumber":175,"author":{"gitId":"-"},"content":" * Ensure that height has the same value as collapsedPanelHeight in PanelBase.js."},{"lineNumber":176,"author":{"gitId":"-"},"content":" */"},{"lineNumber":177,"author":{"gitId":"-"},"content":" .card-peek-collapsed::after {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" content: \"\";"},{"lineNumber":179,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":180,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" bottom: 0;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" height: 125px;"},{"lineNumber":183,"author":{"gitId":"-"},"content":" background-image: linear-gradient(180deg, transparent, white 90%);"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" .morph-title {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" padding: 0 0.3em;"},{"lineNumber":188,"author":{"gitId":"-"},"content":" border-color: black;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" background-color: transparent;"},{"lineNumber":190,"author":{"gitId":"-"},"content":" vertical-align: top;"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" .morph-title:hover,"},{"lineNumber":194,"author":{"gitId":"-"},"content":" .morph-title:active,"},{"lineNumber":195,"author":{"gitId":"-"},"content":" .morph-title:focus {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" color: white;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" border-color: #343a40;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" background-color: #343a40;"},{"lineNumber":199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" .card-collapse {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" overflow: hidden;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" transition: max-height 0.5s ease-in-out;"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" .card-flex {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":208,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":209,"author":{"gitId":"-"},"content":" border: 0;"},{"lineNumber":210,"author":{"gitId":"-"},"content":" margin: 0;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" .header-fade-enter {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" opacity: 0;"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" .header-fade-leave-active {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" .header-fade-leave-to {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" opacity: 0 !important;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" .card-title-inline {"},{"lineNumber":226,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":227,"author":{"gitId":"-"},"content":" }"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" .card-body {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" padding: 0;"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" .header-wrapper {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":235,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":236,"author":{"gitId":"-"},"content":" background-color: white;"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" .header-wrapper-bottom {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" order: 1;"},{"lineNumber":241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" .ellipses::before {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":245,"author":{"gitId":"-"},"content":" bottom: 3px;"},{"lineNumber":246,"author":{"gitId":"-"},"content":" content: \u0027...\u0027;"},{"lineNumber":247,"author":{"gitId":"-"},"content":" font-weight: 900;"},{"lineNumber":248,"author":{"gitId":"-"},"content":" margin-right: 4px;"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":" .button-wrapper {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" padding-left: 2px;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" border-width: 0 0 0 1px;"},{"lineNumber":254,"author":{"gitId":"LamJiuFong"},"content":" border-color: rgb(150 150 150 / 20%);"},{"lineNumber":255,"author":{"gitId":"-"},"content":" border-style: solid;"},{"lineNumber":256,"author":{"gitId":"-"},"content":" margin-left: 2px;"},{"lineNumber":257,"author":{"gitId":"-"},"content":" width: auto;"},{"lineNumber":258,"author":{"gitId":"-"},"content":" float: none;"},{"lineNumber":259,"author":{"gitId":"-"},"content":" opacity: 0;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" transition: opacity 0.5s;"},{"lineNumber":261,"author":{"gitId":"-"},"content":" vertical-align: text-top;"},{"lineNumber":262,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":263,"author":{"gitId":"-"},"content":" }"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":" .button-wrapper-expanded {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" padding-left: 0;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" border: 0;"},{"lineNumber":268,"author":{"gitId":"-"},"content":" margin-left: 0;"},{"lineNumber":269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" .card:hover .button-wrapper {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" opacity: 1;"},{"lineNumber":273,"author":{"gitId":"-"},"content":" }"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":" .header-toggle {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" .glyphicon {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" font-size: 12px;"},{"lineNumber":281,"author":{"gitId":"-"},"content":" }"},{"lineNumber":282,"author":{"gitId":"-"},"content":""},{"lineNumber":283,"author":{"gitId":"-"},"content":" .minimal-button {"},{"lineNumber":284,"author":{"gitId":"-"},"content":" padding: 0 3px;"},{"lineNumber":285,"author":{"gitId":"-"},"content":" border: 0;"},{"lineNumber":286,"author":{"gitId":"LamJiuFong"},"content":" color: rgb(150 150 150);"},{"lineNumber":287,"author":{"gitId":"-"},"content":" background-color: transparent;"},{"lineNumber":288,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":289,"author":{"gitId":"-"},"content":" }"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":" .minimal-button:hover,"},{"lineNumber":292,"author":{"gitId":"-"},"content":" .minimal-button:active,"},{"lineNumber":293,"author":{"gitId":"-"},"content":" .minimal-button:focus {"},{"lineNumber":294,"author":{"gitId":"LamJiuFong"},"content":" color: rgb(30 30 30);"},{"lineNumber":295,"author":{"gitId":"-"},"content":" }"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" .minimal-popup-button {"},{"lineNumber":298,"author":{"gitId":"-"},"content":" top: 1px;"},{"lineNumber":299,"author":{"gitId":"-"},"content":" font-size: 9px;"},{"lineNumber":300,"author":{"gitId":"-"},"content":" }"},{"lineNumber":301,"author":{"gitId":"-"},"content":""},{"lineNumber":302,"author":{"gitId":"-"},"content":" .minimal-menu-up {"},{"lineNumber":303,"author":{"gitId":"-"},"content":" top: 2px;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" font-size: 13px;"},{"lineNumber":305,"author":{"gitId":"-"},"content":" }"},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":" .minimal-menu-down {"},{"lineNumber":308,"author":{"gitId":"-"},"content":" top: 1px;"},{"lineNumber":309,"author":{"gitId":"-"},"content":" font-size: 13px;"},{"lineNumber":310,"author":{"gitId":"-"},"content":" }"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":" .minimal-close-button {"},{"lineNumber":313,"author":{"gitId":"-"},"content":" top: 0;"},{"lineNumber":314,"author":{"gitId":"-"},"content":" font-size: 11px;"},{"lineNumber":315,"author":{"gitId":"-"},"content":" }"},{"lineNumber":316,"author":{"gitId":"-"},"content":""},{"lineNumber":317,"author":{"gitId":"-"},"content":" /* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":318,"author":{"gitId":"LamJiuFong"},"content":" @media (width \u003c\u003d 575.98px) {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" .button-wrapper-expanded {"},{"lineNumber":320,"author":{"gitId":"-"},"content":" padding-left: 0;"},{"lineNumber":321,"author":{"gitId":"-"},"content":" border: 0;"},{"lineNumber":322,"author":{"gitId":"-"},"content":" margin-left: 0;"},{"lineNumber":323,"author":{"gitId":"-"},"content":" opacity: 0.15;"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" .button-wrapper-visible {"},{"lineNumber":327,"author":{"gitId":"-"},"content":" opacity: 1;"},{"lineNumber":328,"author":{"gitId":"-"},"content":" }"},{"lineNumber":329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":330,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":4,"-":326}},{"path":"packages/vue-components/src/panels/NestedPanel.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":3,"author":{"gitId":"-"},"content":" v-if\u003d\"localMinimized\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" ref\u003d\"cardContainer\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027card-container\u0027, addClass]\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"morph\"\u003e"},{"lineNumber":8,"author":{"gitId":"jingting1412"},"content":" \u003cbutton"},{"lineNumber":9,"author":{"gitId":"jingting1412"},"content":" :class\u003d\"[\u0027morph-display-wrapper\u0027,"},{"lineNumber":10,"author":{"gitId":"jingting1412"},"content":" {\u0027morph-display-wrapper-seamless\u0027: isSeamless},"},{"lineNumber":11,"author":{"gitId":"jingting1412"},"content":" \u0027btn\u0027,"},{"lineNumber":12,"author":{"gitId":"jingting1412"},"content":" btnType]\""},{"lineNumber":13,"author":{"gitId":"jingting1412"},"content":" @click\u003d\"open()\""},{"lineNumber":14,"author":{"gitId":"jingting1412"},"content":" \u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":16,"author":{"gitId":"-"},"content":" v-if\u003d\"!noMinimizedSwitch\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" class\u003d\"minimal-caret-wrapper\""},{"lineNumber":18,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":20,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027glyphicon\u0027, \u0027glyphicon-chevron-right\u0027]\""},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003e\u003c/span\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"card-title\"\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"_alt\"\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":32,"author":{"gitId":"-"},"content":" v-else"},{"lineNumber":33,"author":{"gitId":"-"},"content":" ref\u003d\"cardContainer\""},{"lineNumber":34,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027card-container\u0027, addClass]\""},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":36,"author":{"gitId":"jingting1412"},"content":" \u003cdiv :class\u003d\"[\u0027card\u0027, { \u0027expandable-card\u0027: isExpandableCard, \u0027card-seamless\u0027: isSeamless }, borderType]\"\u003e"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":38,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027card-header\u0027,{\u0027header-toggle\u0027:isExpandableCard}, cardType, borderType]\""},{"lineNumber":39,"author":{"gitId":"-"},"content":" @click.prevent.stop\u003d\"isExpandableCard \u0026\u0026 toggle()\""},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"caret-wrapper\"\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":43,"author":{"gitId":"-"},"content":" v-if\u003d\"showCaret\""},{"lineNumber":44,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027glyphicon\u0027, localExpanded ? \u0027glyphicon-chevron-down\u0027 : \u0027glyphicon-chevron-right\u0027]\""},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003e\u003c/span\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":48,"author":{"gitId":"-"},"content":" ref\u003d\"headerWrapper\""},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" :class\u003d\"[{\u0027header-wrapper-seamless\u0027: isSeamless}, \u0027header-wrapper card-title\u0027, cardType,"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" {\u0027text-white\u0027:!isLightBg \u0026\u0026 !isSeamless, \u0027header-transparent\u0027:!shouldShowHeader}]\""},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"header\"\u003e\u003c/slot\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"button-wrapper\"\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"button\"\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003cpanel-switch"},{"lineNumber":57,"author":{"gitId":"-"},"content":" v-show\u003d\"isExpandableCard \u0026\u0026 !noSwitchBool \u0026\u0026 !showCaret\""},{"lineNumber":58,"author":{"gitId":"-"},"content":" :is-open\u003d\"localExpanded\""},{"lineNumber":59,"author":{"gitId":"-"},"content":" :is-light-bg\u003d\"isLightBg\""},{"lineNumber":60,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":62,"author":{"gitId":"-"},"content":" v-show\u003d\"!noCloseBool\""},{"lineNumber":63,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":64,"author":{"gitId":"-"},"content":" class\u003d\"close-button btn\""},{"lineNumber":65,"author":{"gitId":"-"},"content":" :class\u003d\"[isLightBg ? \u0027btn-outline-secondary\u0027 : \u0027btn-outline-light\u0027,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" { \u0027seamless-button\u0027: isSeamless }]\""},{"lineNumber":67,"author":{"gitId":"-"},"content":" @click.stop\u003d\"close()\""},{"lineNumber":68,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"glyphicon glyphicon-remove\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":72,"author":{"gitId":"-"},"content":" v-show\u003d\"popupUrl\""},{"lineNumber":73,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":74,"author":{"gitId":"-"},"content":" class\u003d\"popup-button btn\""},{"lineNumber":75,"author":{"gitId":"-"},"content":" :class\u003d\"[isLightBg ? \u0027btn-outline-secondary\u0027 : \u0027btn-outline-light\u0027,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" { \u0027seamless-button\u0027: isSeamless }]\""},{"lineNumber":77,"author":{"gitId":"-"},"content":" @click.stop\u003d\"openPopup()\""},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003cspan class\u003d\"glyphicon glyphicon-new-window\" aria-hidden\u003d\"true\"\u003e\u003c/span\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":85,"author":{"gitId":"-"},"content":" ref\u003d\"panel\""},{"lineNumber":86,"author":{"gitId":"-"},"content":" class\u003d\"card-collapse\""},{"lineNumber":87,"author":{"gitId":"-"},"content":" :class\u003d\"{\u0027card-peek-collapsed\u0027: shouldShowPeek}\""},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":90,"author":{"gitId":"-"},"content":" v-if\u003d\"wasRetrieverLoaded || preloadBool\""},{"lineNumber":91,"author":{"gitId":"-"},"content":" class\u003d\"card-body\""},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003cretriever"},{"lineNumber":95,"author":{"gitId":"-"},"content":" v-if\u003d\"hasSrc\""},{"lineNumber":96,"author":{"gitId":"-"},"content":" ref\u003d\"retriever\""},{"lineNumber":97,"author":{"gitId":"-"},"content":" :src\u003d\"srcWithoutFragment\""},{"lineNumber":98,"author":{"gitId":"-"},"content":" :fragment\u003d\"fragment\""},{"lineNumber":99,"author":{"gitId":"-"},"content":" @src-loaded\u003d\"retrieverUpdateMaxHeight\""},{"lineNumber":100,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"bottom-button-wrapper\"\u003e"},{"lineNumber":102,"author":{"gitId":"-"},"content":" \u003cpanel-switch"},{"lineNumber":103,"author":{"gitId":"-"},"content":" v-show\u003d\"isExpandableCard \u0026\u0026 bottomSwitchBool\""},{"lineNumber":104,"author":{"gitId":"-"},"content":" :is-open\u003d\"localExpanded\""},{"lineNumber":105,"author":{"gitId":"jingting1412"},"content":" :is-seamless\u003d\"isSeamless\""},{"lineNumber":106,"author":{"gitId":"-"},"content":" @click.native.stop.prevent\u003d\"toggle(true)\""},{"lineNumber":107,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":" \u003chr v-show\u003d\"isSeamless\" /\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":" \u003ctransition name\u003d\"peek-read-more-fade\"\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":114,"author":{"gitId":"-"},"content":" v-if\u003d\"shouldShowPeek\""},{"lineNumber":115,"author":{"gitId":"-"},"content":" class\u003d\"peek-read-more glyphicon glyphicon-chevron-down\""},{"lineNumber":116,"author":{"gitId":"-"},"content":" @click\u003d\"toggle()\""},{"lineNumber":117,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":" \u003c/transition\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":121,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":"import panelBase from \u0027./PanelBase\u0027;"},{"lineNumber":126,"author":{"gitId":"-"},"content":"import panelSwitch from \u0027./PanelSwitch.vue\u0027;"},{"lineNumber":127,"author":{"gitId":"-"},"content":"import retriever from \u0027../Retriever.vue\u0027;"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" mixins: [panelBase],"},{"lineNumber":131,"author":{"gitId":"-"},"content":" components: {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" panelSwitch,"},{"lineNumber":133,"author":{"gitId":"-"},"content":" retriever,"},{"lineNumber":134,"author":{"gitId":"-"},"content":" },"},{"lineNumber":135,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" showCaret() {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" return this.isSeamless \u0026\u0026 this.expandableBool;"},{"lineNumber":138,"author":{"gitId":"-"},"content":" },"},{"lineNumber":139,"author":{"gitId":"-"},"content":" isSeamless() {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" return this.type \u003d\u003d\u003d \u0027seamless\u0027;"},{"lineNumber":141,"author":{"gitId":"-"},"content":" },"},{"lineNumber":142,"author":{"gitId":"-"},"content":" btnType() {"},{"lineNumber":143,"author":{"gitId":"jingting1412"},"content":" if (this.type \u003d\u003d\u003d \u0027light\u0027) {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" return \u0027btn-outline-secondary\u0027;"},{"lineNumber":145,"author":{"gitId":"jingting1412"},"content":" } else if (this.isSeamless) {"},{"lineNumber":146,"author":{"gitId":"jingting1412"},"content":" return \u0027\u0027;"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":" return `btn-outline-${this.type || \u0027secondary\u0027}`;"},{"lineNumber":149,"author":{"gitId":"-"},"content":" },"},{"lineNumber":150,"author":{"gitId":"-"},"content":" borderType() {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" if (this.isSeamless) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" return \u0027border-0\u0027;"},{"lineNumber":153,"author":{"gitId":"-"},"content":" } else if (this.type) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" if (this.type \u003d\u003d\u003d \u0027light\u0027) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" return \u0027\u0027; // Bootstrap 4.x light border is almost invisible on a white page"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":" return `border-${this.type}`;"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":" return \u0027\u0027;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":161,"author":{"gitId":"-"},"content":" cardType() {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" if (this.isSeamless) {"},{"lineNumber":163,"author":{"gitId":"jingting1412"},"content":" return \u0027bg-transparent\u0027;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":" return `bg-${this.type || \u0027light\u0027}`;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" },"},{"lineNumber":167,"author":{"gitId":"-"},"content":" isLightBg() {"},{"lineNumber":168,"author":{"gitId":"jingting1412"},"content":" return this.cardType \u003d\u003d\u003d \u0027bg-light\u0027 || this.cardType \u003d\u003d\u003d \u0027bg-warning\u0027;"},{"lineNumber":169,"author":{"gitId":"-"},"content":" },"},{"lineNumber":170,"author":{"gitId":"-"},"content":" },"},{"lineNumber":171,"author":{"gitId":"-"},"content":"};"},{"lineNumber":172,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":" .card-container {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" scroll-margin-top: var(--sticky-header-height);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" .card-collapse {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" overflow: hidden;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" transition: max-height 0.5s ease-in-out;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" .seamless-button {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" opacity: 0;"},{"lineNumber":186,"author":{"gitId":"-"},"content":" transition: 0.3s opacity;"},{"lineNumber":187,"author":{"gitId":"jingting1412"},"content":" color: inherit;"},{"lineNumber":188,"author":{"gitId":"jingting1412"},"content":" border-color: inherit;"},{"lineNumber":189,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":190,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":191,"author":{"gitId":"jingting1412"},"content":" .seamless-button:hover {"},{"lineNumber":192,"author":{"gitId":"jingting1412"},"content":" border-color: transparent;"},{"lineNumber":193,"author":{"gitId":"jingting1412"},"content":" background-color: color-mix(in srgb, currentcolor 25%, transparent);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" .card-header:hover .seamless-button {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" opacity: 1;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" .card-peek-collapsed {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" position: relative;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" }"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":205,"author":{"gitId":"-"},"content":" * Gives the faded content effect for peek."},{"lineNumber":206,"author":{"gitId":"-"},"content":" * Ensure that height has the same value as collapsedPanelHeight in PanelBase.js."},{"lineNumber":207,"author":{"gitId":"-"},"content":" */"},{"lineNumber":208,"author":{"gitId":"-"},"content":" .card-peek-collapsed::after {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" content: \"\";"},{"lineNumber":210,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":212,"author":{"gitId":"-"},"content":" bottom: 0;"},{"lineNumber":213,"author":{"gitId":"-"},"content":" height: 125px;"},{"lineNumber":214,"author":{"gitId":"-"},"content":" background-image: linear-gradient(180deg, transparent, white 90%);"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" .peek-read-more {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" z-index: 1;"},{"lineNumber":219,"author":{"gitId":"-"},"content":" opacity: 0.2;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" transition: opacity 0.5s;"},{"lineNumber":221,"author":{"gitId":"-"},"content":" }"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":" /* Targets the before pseudoelement of glyphicon-chevron-down. */"},{"lineNumber":224,"author":{"gitId":"-"},"content":" .peek-read-more::before {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" position: absolute;"},{"lineNumber":226,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":227,"author":{"gitId":"-"},"content":" text-align: center;"},{"lineNumber":228,"author":{"gitId":"-"},"content":" bottom: 10px;"},{"lineNumber":229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" .peek-read-more:hover {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":233,"author":{"gitId":"-"},"content":" opacity: 0.4;"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" .peek-read-more-fade-enter,"},{"lineNumber":237,"author":{"gitId":"-"},"content":" .peek-read-more-fade-leave-to {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" opacity: 0;"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":"\u003c/style\u003e"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":244,"author":{"gitId":"-"},"content":" .card-heading {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" width: 100%;"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"jingting1412"},"content":" .card-seamless {"},{"lineNumber":249,"author":{"gitId":"jingting1412"},"content":" background-color: inherit;"},{"lineNumber":250,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":251,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":" .card-title {"},{"lineNumber":253,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":254,"author":{"gitId":"-"},"content":" font-size: 1em;"},{"lineNumber":255,"author":{"gitId":"-"},"content":" line-height: 1.2em;"},{"lineNumber":256,"author":{"gitId":"-"},"content":" margin: 0;"},{"lineNumber":257,"author":{"gitId":"-"},"content":" white-space: normal;"},{"lineNumber":258,"author":{"gitId":"-"},"content":" text-align: left;"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":" .card-title * {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" margin-bottom: 0 !important;"},{"lineNumber":263,"author":{"gitId":"-"},"content":" }"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":" .caret-wrapper {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" float: left;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" width: 32px;"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" .minimal-caret-wrapper {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":272,"author":{"gitId":"-"},"content":" font-size: 13px;"},{"lineNumber":273,"author":{"gitId":"-"},"content":" margin-right: 5px;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" .header-wrapper {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":278,"author":{"gitId":"-"},"content":" width: calc(100% - 32px - 96px);"},{"lineNumber":279,"author":{"gitId":"-"},"content":" transition: 0.5s opacity;"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" .header-transparent {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" opacity: 0;"},{"lineNumber":284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" .button-wrapper {"},{"lineNumber":287,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":288,"author":{"gitId":"-"},"content":" width: 96px;"},{"lineNumber":289,"author":{"gitId":"-"},"content":" }"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":" .header-toggle {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" .expandable-card {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" margin-bottom: 0 !important;"},{"lineNumber":297,"author":{"gitId":"-"},"content":" margin-top: 5px;"},{"lineNumber":298,"author":{"gitId":"-"},"content":" }"},{"lineNumber":299,"author":{"gitId":"-"},"content":""},{"lineNumber":300,"author":{"gitId":"-"},"content":" .card-collapse \u003e hr {"},{"lineNumber":301,"author":{"gitId":"-"},"content":" margin-top: 0;"},{"lineNumber":302,"author":{"gitId":"jingting1412"},"content":" background-color: currentcolor;"},{"lineNumber":303,"author":{"gitId":"jingting1412"},"content":" opacity: 0.5;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" .card-group \u003e .card-container \u003e .expandable-card {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" margin-top: 0 !important;"},{"lineNumber":308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" .bottom-button-wrapper {"},{"lineNumber":311,"author":{"gitId":"-"},"content":" padding-bottom: 13px;"},{"lineNumber":312,"author":{"gitId":"-"},"content":" margin-bottom: 13px;"},{"lineNumber":313,"author":{"gitId":"-"},"content":" }"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":" .bottom-button-wrapper \u003e .collapse-button {"},{"lineNumber":316,"author":{"gitId":"-"},"content":" margin-top: 5px;"},{"lineNumber":317,"author":{"gitId":"jingting1412"},"content":" opacity: 0.5;"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" .bottom-button-wrapper \u003e .collapse-button:hover {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" opacity: 1;"},{"lineNumber":322,"author":{"gitId":"-"},"content":" }"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":" .close-button {"},{"lineNumber":325,"author":{"gitId":"-"},"content":" font-size: 10px !important;"},{"lineNumber":326,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":327,"author":{"gitId":"-"},"content":" padding: 3px 8px !important;"},{"lineNumber":328,"author":{"gitId":"-"},"content":" margin-left: 3px;"},{"lineNumber":329,"author":{"gitId":"-"},"content":" margin-top: 2px;"},{"lineNumber":330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" .popup-button {"},{"lineNumber":333,"author":{"gitId":"-"},"content":" font-size: 10px !important;"},{"lineNumber":334,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":335,"author":{"gitId":"-"},"content":" margin-top: 2px;"},{"lineNumber":336,"author":{"gitId":"-"},"content":" padding: 3px 8px !important;"},{"lineNumber":337,"author":{"gitId":"-"},"content":" }"},{"lineNumber":338,"author":{"gitId":"-"},"content":""},{"lineNumber":339,"author":{"gitId":"-"},"content":" .morph {"},{"lineNumber":340,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":341,"author":{"gitId":"-"},"content":" }"},{"lineNumber":342,"author":{"gitId":"-"},"content":""},{"lineNumber":343,"author":{"gitId":"-"},"content":" .morph-display-wrapper {"},{"lineNumber":344,"author":{"gitId":"-"},"content":" margin-top: 5px;"},{"lineNumber":345,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":346,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":347,"author":{"gitId":"-"},"content":" }"},{"lineNumber":348,"author":{"gitId":"-"},"content":""},{"lineNumber":349,"author":{"gitId":"jingting1412"},"content":" .morph-display-wrapper-seamless {"},{"lineNumber":350,"author":{"gitId":"jingting1412"},"content":" color: inherit;"},{"lineNumber":351,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":352,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":353,"author":{"gitId":"jingting1412"},"content":" .morph-display-wrapper-seamless:hover {"},{"lineNumber":354,"author":{"gitId":"jingting1412"},"content":" color: inherit;"},{"lineNumber":355,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":356,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":357,"author":{"gitId":"-"},"content":" /* Bootstrap extra small(xs) responsive breakpoint */"},{"lineNumber":358,"author":{"gitId":"LamJiuFong"},"content":" @media (width \u003c\u003d 575.98px) {"},{"lineNumber":359,"author":{"gitId":"-"},"content":" .header-wrapper {"},{"lineNumber":360,"author":{"gitId":"-"},"content":" display: inline-block;"},{"lineNumber":361,"author":{"gitId":"-"},"content":" width: calc(100% - 32px - 32px);"},{"lineNumber":362,"author":{"gitId":"-"},"content":" }"},{"lineNumber":363,"author":{"gitId":"-"},"content":""},{"lineNumber":364,"author":{"gitId":"-"},"content":" .button-wrapper {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":366,"author":{"gitId":"-"},"content":" width: 32px;"},{"lineNumber":367,"author":{"gitId":"-"},"content":" }"},{"lineNumber":368,"author":{"gitId":"-"},"content":""},{"lineNumber":369,"author":{"gitId":"-"},"content":" .card-body {"},{"lineNumber":370,"author":{"gitId":"-"},"content":" padding: 0.5rem;"},{"lineNumber":371,"author":{"gitId":"-"},"content":" }"},{"lineNumber":372,"author":{"gitId":"-"},"content":""},{"lineNumber":373,"author":{"gitId":"-"},"content":" .card-collapse \u003e hr {"},{"lineNumber":374,"author":{"gitId":"-"},"content":" margin-top: 0.5rem;"},{"lineNumber":375,"author":{"gitId":"-"},"content":" }"},{"lineNumber":376,"author":{"gitId":"-"},"content":""},{"lineNumber":377,"author":{"gitId":"-"},"content":" .card-header {"},{"lineNumber":378,"author":{"gitId":"-"},"content":" padding: 0.5rem;"},{"lineNumber":379,"author":{"gitId":"-"},"content":" }"},{"lineNumber":380,"author":{"gitId":"-"},"content":" }"},{"lineNumber":381,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"jingting1412":38,"LamJiuFong":1,"-":342}},{"path":"packages/vue-components/src/panels/PanelSwitch.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":3,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":4,"author":{"gitId":"jingting1412"},"content":" :class\u003d\"[\u0027collapse-button\u0027,"},{"lineNumber":5,"author":{"gitId":"jingting1412"},"content":" \u0027btn\u0027,"},{"lineNumber":6,"author":{"gitId":"jingting1412"},"content":" isSeamless ? \u0027btn-seamless\u0027 : isLightBg ? \u0027btn-outline-secondary\u0027 : \u0027btn-outline-light\u0027]\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":9,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027collapse-icon\u0027, \u0027glyphicon\u0027, \u0027glyphicon-menu-down\u0027, {\u0027opened\u0027: isOpenBool}]\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" aria-hidden\u003d\"true\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003e\u003c/span\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import { toBoolean } from \u0027../utils/utils\u0027;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" isOpen: {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" type: [Boolean, String],"},{"lineNumber":22,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":23,"author":{"gitId":"-"},"content":" },"},{"lineNumber":24,"author":{"gitId":"-"},"content":" isLightBg: {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" default: true,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" },"},{"lineNumber":28,"author":{"gitId":"jingting1412"},"content":" isSeamless: {"},{"lineNumber":29,"author":{"gitId":"jingting1412"},"content":" type: Boolean,"},{"lineNumber":30,"author":{"gitId":"jingting1412"},"content":" default: false,"},{"lineNumber":31,"author":{"gitId":"jingting1412"},"content":" },"},{"lineNumber":32,"author":{"gitId":"-"},"content":" },"},{"lineNumber":33,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" isOpenBool() {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" return toBoolean(this.isOpen);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" },"},{"lineNumber":37,"author":{"gitId":"-"},"content":" },"},{"lineNumber":38,"author":{"gitId":"-"},"content":"};"},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003cstyle\u003e"},{"lineNumber":42,"author":{"gitId":"jingting1412"},"content":" .btn-seamless {"},{"lineNumber":43,"author":{"gitId":"jingting1412"},"content":" color: inherit;"},{"lineNumber":44,"author":{"gitId":"jingting1412"},"content":" border-color: inherit;"},{"lineNumber":45,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":46,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":47,"author":{"gitId":"jingting1412"},"content":" .btn-seamless:hover {"},{"lineNumber":48,"author":{"gitId":"jingting1412"},"content":" color: inherit;"},{"lineNumber":49,"author":{"gitId":"jingting1412"},"content":" background-color: inherit;"},{"lineNumber":50,"author":{"gitId":"jingting1412"},"content":" }"},{"lineNumber":51,"author":{"gitId":"jingting1412"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" .collapse-button {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" font-size: 10px !important;"},{"lineNumber":54,"author":{"gitId":"-"},"content":" float: right;"},{"lineNumber":55,"author":{"gitId":"-"},"content":" padding: 3px 8px !important;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" margin-left: 3px;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" margin-top: 2px;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" .collapse-icon {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" transition: transform 0.4s ease-in-out;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" }"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" .collapse-icon.opened {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" transform: rotate(-180deg);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"jingting1412":17,"-":50}},{"path":"packages/vue-components/src/questions/QOption.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003c!-- Mcq (radio) option --\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":4,"author":{"gitId":"-"},"content":" v-if\u003d\"qOptionType \u003d\u003d\u003d \u0027mcq\u0027\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027form-control\u0027, hintClass]\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" @click\u003d\"toggleRadioOn\""},{"lineNumber":7,"author":{"gitId":"-"},"content":" @mouseover\u003d\"hover \u003d true\""},{"lineNumber":8,"author":{"gitId":"-"},"content":" @mouseleave\u003d\"hover \u003d false\""},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003cdiv :class\u003d\"[\u0027row\u0027, { \u0027disabled\u0027: qState.answered }]\"\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-auto p-0\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003csvg viewBox\u003d\"0 0 100 100\" class\u003d\"radio-svg\"\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \u003ccircle"},{"lineNumber":14,"author":{"gitId":"-"},"content":" cx\u003d\"50\""},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy\u003d\"50\""},{"lineNumber":16,"author":{"gitId":"-"},"content":" r\u003d\"47\""},{"lineNumber":17,"author":{"gitId":"-"},"content":" fill\u003d\"none\""},{"lineNumber":18,"author":{"gitId":"-"},"content":" stroke\u003d\"black\""},{"lineNumber":19,"author":{"gitId":"-"},"content":" stroke-width\u003d\"4\""},{"lineNumber":20,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \u003ccircle"},{"lineNumber":22,"author":{"gitId":"-"},"content":" v-show\u003d\"selected\""},{"lineNumber":23,"author":{"gitId":"-"},"content":" cx\u003d\"50\""},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy\u003d\"50\""},{"lineNumber":25,"author":{"gitId":"-"},"content":" r\u003d\"25\""},{"lineNumber":26,"author":{"gitId":"-"},"content":" fill\u003d\"dodgerblue\""},{"lineNumber":27,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003c/svg\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col content\"\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-1\"\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"qState.answered\"\u003e"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":36,"author":{"gitId":"-"},"content":" v-if\u003d\"correct\""},{"lineNumber":37,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-check text-success\""},{"lineNumber":38,"author":{"gitId":"-"},"content":" :class\u003d\"{ \u0027align-bottom\u0027: $scopedSlots.reason }\""},{"lineNumber":39,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":41,"author":{"gitId":"-"},"content":" v-else"},{"lineNumber":42,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-times text-danger\""},{"lineNumber":43,"author":{"gitId":"-"},"content":" :class\u003d\"{ \u0027align-bottom\u0027: $scopedSlots.reason }\""},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"qState.answered \u0026\u0026 $scopedSlots.reason\"\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003chr /\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"reason\"\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"reason\"\u003e\u003c/slot\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" \u003c!-- Checkbox option --\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":59,"author":{"gitId":"-"},"content":" v-else-if\u003d\"qOptionType \u003d\u003d\u003d \u0027checkbox\u0027\""},{"lineNumber":60,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027form-control\u0027, hintClass]\""},{"lineNumber":61,"author":{"gitId":"-"},"content":" @click\u003d\"toggleCheckbox\""},{"lineNumber":62,"author":{"gitId":"-"},"content":" @mouseover\u003d\"hover \u003d true\""},{"lineNumber":63,"author":{"gitId":"-"},"content":" @mouseleave\u003d\"hover \u003d false\""},{"lineNumber":64,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \u003clabel :class\u003d\"[\u0027row\u0027, \u0027checkbox-label\u0027, \u0027m-0\u0027, { \u0027disabled\u0027: qState.answered }]\" @click.stop\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \u003cinput"},{"lineNumber":67,"author":{"gitId":"-"},"content":" v-model\u003d\"selected\""},{"lineNumber":68,"author":{"gitId":"-"},"content":" class\u003d\"checkbox\""},{"lineNumber":69,"author":{"gitId":"-"},"content":" :disabled\u003d\"qState.answered\""},{"lineNumber":70,"author":{"gitId":"-"},"content":" type\u003d\"checkbox\""},{"lineNumber":71,"author":{"gitId":"-"},"content":" onclick\u003d\"event.stopPropagation()\""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col content\"\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-auto\"\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"qState.answered\"\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":79,"author":{"gitId":"-"},"content":" v-if\u003d\"correct\""},{"lineNumber":80,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-check text-success\""},{"lineNumber":81,"author":{"gitId":"-"},"content":" :class\u003d\"{ \u0027align-bottom\u0027: $scopedSlots.reason }\""},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":84,"author":{"gitId":"-"},"content":" v-else"},{"lineNumber":85,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-times text-danger\""},{"lineNumber":86,"author":{"gitId":"-"},"content":" :class\u003d\"{ \u0027align-bottom\u0027: $scopedSlots.reason }\""},{"lineNumber":87,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"qState.answered \u0026\u0026 $scopedSlots.reason\"\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003chr /\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"reason\"\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"reason\"\u003e\u003c/slot\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" \u003c!-- blanks option --\u003e"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":102,"author":{"gitId":"-"},"content":" v-else-if\u003d\"qOptionType \u003d\u003d\u003d \u0027blanks\u0027\""},{"lineNumber":103,"author":{"gitId":"-"},"content":" :class\u003d\"[\u0027form-control\u0027, \u0027blanks-form-control\u0027, hintClass]\""},{"lineNumber":104,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \u003clabel :class\u003d\"[\u0027row\u0027, \u0027m-0\u0027, { \u0027disabled\u0027: qState.answered }]\" @click.stop\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":" \u003cinput"},{"lineNumber":107,"author":{"gitId":"-"},"content":" v-model\u003d\"inputText\""},{"lineNumber":108,"author":{"gitId":"-"},"content":" class\u003d\"form-control\""},{"lineNumber":109,"author":{"gitId":"-"},"content":" :disabled\u003d\"qState.answered\""},{"lineNumber":110,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"col-auto\"\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":" \u003c!-- for when question is answered --\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"qState.answered\"\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":115,"author":{"gitId":"-"},"content":" v-if\u003d\"ansIsCorrect\""},{"lineNumber":116,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-check text-success\""},{"lineNumber":117,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":119,"author":{"gitId":"-"},"content":" v-else"},{"lineNumber":120,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-times text-danger blanks-cross\""},{"lineNumber":121,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" \u003c!-- for when question is not answered and intermediate result is enabled --\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"isIntermediateResult()\"\u003e"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":127,"author":{"gitId":"-"},"content":" v-if\u003d\"ansIsCorrect\""},{"lineNumber":128,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-check text-success\""},{"lineNumber":129,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":" \u003ci"},{"lineNumber":131,"author":{"gitId":"-"},"content":" v-else"},{"lineNumber":132,"author":{"gitId":"-"},"content":" class\u003d\"fa fa-times text-danger blanks-cross\""},{"lineNumber":133,"author":{"gitId":"-"},"content":" \u003e\u003c/i\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"qState.answered\" class\u003d\"col-auto blanks-keywords\"\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":" \u003cstrong v-if\u003d\"keywordsSplitTrimmed().length\"\u003e"},{"lineNumber":138,"author":{"gitId":"-"},"content":" Keywords:\u0026nbsp;"},{"lineNumber":139,"author":{"gitId":"-"},"content":" \u003cspan"},{"lineNumber":140,"author":{"gitId":"-"},"content":" v-for\u003d\"keyword in keywordsSplitTrimmed()\""},{"lineNumber":141,"author":{"gitId":"-"},"content":" :key\u003d\"keyword\""},{"lineNumber":142,"author":{"gitId":"-"},"content":" class\u003d\"badge rounded-pill bg-light text-dark fw-normal\""},{"lineNumber":143,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":" {{ keyword }}"},{"lineNumber":145,"author":{"gitId":"-"},"content":" \u003c/span\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":" \u003c/strong\u003e"},{"lineNumber":147,"author":{"gitId":"-"},"content":" \u003cstrong v-else\u003eNo answer checking keywords provided\u003c/strong\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":" \u003c/label\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"qState.answered \u0026\u0026 $scopedSlots.reason\"\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"reason blanks-reason\"\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"reason\"\u003e\u003c/slot\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":156,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":"import { STATE_WRONG } from \u0027./QuestionConstants\u0027;"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" name: \u0027McqOption\u0027,"},{"lineNumber":164,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" correct: {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" type: Boolean,"},{"lineNumber":167,"author":{"gitId":"-"},"content":" default: false,"},{"lineNumber":168,"author":{"gitId":"-"},"content":" },"},{"lineNumber":169,"author":{"gitId":"-"},"content":" keywords: {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":171,"author":{"gitId":"-"},"content":" default: \u0027\u0027,"},{"lineNumber":172,"author":{"gitId":"-"},"content":" },"},{"lineNumber":173,"author":{"gitId":"-"},"content":" },"},{"lineNumber":174,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" selected: false,"},{"lineNumber":177,"author":{"gitId":"-"},"content":" hover: false,"},{"lineNumber":178,"author":{"gitId":"-"},"content":" inputText: \u0027\u0027,"},{"lineNumber":179,"author":{"gitId":"-"},"content":" ansIsCorrect: false,"},{"lineNumber":180,"author":{"gitId":"-"},"content":" };"},{"lineNumber":181,"author":{"gitId":"-"},"content":" },"},{"lineNumber":182,"author":{"gitId":"-"},"content":" inject: {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" answers: {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" default: undefined,"},{"lineNumber":185,"author":{"gitId":"-"},"content":" },"},{"lineNumber":186,"author":{"gitId":"-"},"content":" qOptionType: {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" default: undefined,"},{"lineNumber":188,"author":{"gitId":"-"},"content":" },"},{"lineNumber":189,"author":{"gitId":"-"},"content":" qState: {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" default: undefined,"},{"lineNumber":191,"author":{"gitId":"-"},"content":" },"},{"lineNumber":192,"author":{"gitId":"-"},"content":" noIntermediateResult: {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" default: undefined,"},{"lineNumber":194,"author":{"gitId":"-"},"content":" },"},{"lineNumber":195,"author":{"gitId":"-"},"content":" },"},{"lineNumber":196,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":197,"author":{"gitId":"-"},"content":" hintClass() {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" if (this.qState.answered) {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" return this.correct ? \u0027success\u0027 : \u0027danger\u0027;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" return (this.selected || this.hover) ? \u0027alert-light text-dark border border-secondary\u0027 : \u0027\u0027;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" },"},{"lineNumber":204,"author":{"gitId":"-"},"content":" answeredCorrectly() {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" return (this.correct \u0026\u0026 this.selected) || (!this.correct \u0026\u0026 !this.selected);"},{"lineNumber":206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":207,"author":{"gitId":"-"},"content":" },"},{"lineNumber":208,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" checkAnswer() {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" let ansIsCorrect \u003d false;"},{"lineNumber":211,"author":{"gitId":"-"},"content":" const lowerCasedText \u003d this.inputText.toLowerCase().trim();"},{"lineNumber":212,"author":{"gitId":"-"},"content":" const keywords \u003d this.keywords.toLowerCase().split(\u0027,\u0027).filter(keyword \u003d\u003e keyword.trim() !\u003d\u003d \u0027\u0027);"},{"lineNumber":213,"author":{"gitId":"-"},"content":" if (!this.keywords.length) {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" ansIsCorrect \u003d true;"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c keywords.length; i +\u003d 1) {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" if (lowerCasedText \u003d\u003d\u003d keywords[i].trim()) {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" ansIsCorrect \u003d true;"},{"lineNumber":219,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":" }"},{"lineNumber":222,"author":{"gitId":"-"},"content":" this.ansIsCorrect \u003d ansIsCorrect;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" },"},{"lineNumber":224,"author":{"gitId":"-"},"content":" isIntermediateResult() {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" return !this.noIntermediateResult \u0026\u0026 this.qState.state \u003d\u003d\u003d STATE_WRONG \u0026\u0026 !this.qState.answered;"},{"lineNumber":226,"author":{"gitId":"-"},"content":" },"},{"lineNumber":227,"author":{"gitId":"-"},"content":" isBlanksQuestion() {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" return this.type \u003d\u003d\u003d \u0027blanks\u0027;"},{"lineNumber":229,"author":{"gitId":"-"},"content":" },"},{"lineNumber":230,"author":{"gitId":"-"},"content":" keywordsSplitTrimmed() {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" return this.keywords.split(\u0027,\u0027).filter(keyword \u003d\u003e keyword.trim() !\u003d\u003d \u0027\u0027);"},{"lineNumber":232,"author":{"gitId":"-"},"content":" },"},{"lineNumber":233,"author":{"gitId":"-"},"content":" toggleRadioOn() {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" if (this.qState.answered || this.selected) {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" this.answers.forEach((answer) \u003d\u003e {"},{"lineNumber":239,"author":{"gitId":"-"},"content":" answer.selected \u003d false;"},{"lineNumber":240,"author":{"gitId":"-"},"content":" });"},{"lineNumber":241,"author":{"gitId":"-"},"content":" this.selected \u003d true;"},{"lineNumber":242,"author":{"gitId":"-"},"content":" },"},{"lineNumber":243,"author":{"gitId":"-"},"content":" toggleCheckbox() {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" if (this.qState.answered) {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":247,"author":{"gitId":"-"},"content":" this.selected \u003d !this.selected;"},{"lineNumber":248,"author":{"gitId":"-"},"content":" },"},{"lineNumber":249,"author":{"gitId":"-"},"content":" },"},{"lineNumber":250,"author":{"gitId":"-"},"content":" created() {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" this.answers.push(this);"},{"lineNumber":252,"author":{"gitId":"-"},"content":" },"},{"lineNumber":253,"author":{"gitId":"-"},"content":"};"},{"lineNumber":254,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":257,"author":{"gitId":"-"},"content":" .fa-check,"},{"lineNumber":258,"author":{"gitId":"-"},"content":" .fa-times {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" font-size: 1.2em;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" /* For accomodating block markdown nicely */"},{"lineNumber":263,"author":{"gitId":"-"},"content":" .reason :last-child,"},{"lineNumber":264,"author":{"gitId":"-"},"content":" .content :last-child {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" margin-bottom: 0;"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" .reason {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" padding: 0 0.5rem;"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" .checkbox-label {"},{"lineNumber":273,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" .form-control {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" height: auto;"},{"lineNumber":278,"author":{"gitId":"-"},"content":" margin-bottom: 10px;"},{"lineNumber":279,"author":{"gitId":"-"},"content":" cursor: pointer;"},{"lineNumber":280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" .form-control.success,"},{"lineNumber":283,"author":{"gitId":"-"},"content":" .form-control.success \u003e .checkbox-label,"},{"lineNumber":284,"author":{"gitId":"-"},"content":" .form-control.danger,"},{"lineNumber":285,"author":{"gitId":"-"},"content":" .form-control.danger \u003e .checkbox-label {"},{"lineNumber":286,"author":{"gitId":"-"},"content":" cursor: default;"},{"lineNumber":287,"author":{"gitId":"-"},"content":" }"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":" .disabled {"},{"lineNumber":290,"author":{"gitId":"-"},"content":" opacity: 0.9;"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" .radio-svg {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" width: 1em;"},{"lineNumber":295,"author":{"gitId":"-"},"content":" height: 1em;"},{"lineNumber":296,"author":{"gitId":"-"},"content":" vertical-align: text-top;"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" .checkbox {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" width: 1em;"},{"lineNumber":301,"author":{"gitId":"-"},"content":" height: 1em;"},{"lineNumber":302,"author":{"gitId":"-"},"content":" margin-right: 5px;"},{"lineNumber":303,"author":{"gitId":"-"},"content":" vertical-align: middle;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" .row {"},{"lineNumber":307,"author":{"gitId":"LamJiuFong"},"content":" margin: 0.2rem 0 0;"},{"lineNumber":308,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":309,"author":{"gitId":"-"},"content":" }"},{"lineNumber":310,"author":{"gitId":"-"},"content":""},{"lineNumber":311,"author":{"gitId":"-"},"content":" /* for blanks question type */"},{"lineNumber":312,"author":{"gitId":"-"},"content":" input.form-control {"},{"lineNumber":313,"author":{"gitId":"-"},"content":" height: auto;"},{"lineNumber":314,"author":{"gitId":"-"},"content":" min-height: 20px;"},{"lineNumber":315,"author":{"gitId":"-"},"content":" margin-bottom: 0;"},{"lineNumber":316,"author":{"gitId":"-"},"content":" width: 50%;"},{"lineNumber":317,"author":{"gitId":"-"},"content":" cursor: text;"},{"lineNumber":318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" input.form-control:disabled,"},{"lineNumber":321,"author":{"gitId":"-"},"content":" .blanks-keywords {"},{"lineNumber":322,"author":{"gitId":"-"},"content":" margin-bottom: 0.5rem;"},{"lineNumber":323,"author":{"gitId":"-"},"content":" }"},{"lineNumber":324,"author":{"gitId":"-"},"content":""},{"lineNumber":325,"author":{"gitId":"-"},"content":" .blanks-form-control {"},{"lineNumber":326,"author":{"gitId":"-"},"content":" border: none;"},{"lineNumber":327,"author":{"gitId":"-"},"content":" cursor: default;"},{"lineNumber":328,"author":{"gitId":"-"},"content":" }"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" .blanks-cross {"},{"lineNumber":331,"author":{"gitId":"-"},"content":" margin-right: 3px;"},{"lineNumber":332,"author":{"gitId":"-"},"content":" margin-left: 3px;"},{"lineNumber":333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":334,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":1,"-":333}},{"path":"packages/vue-components/src/questions/Quiz.vue","fileType":"vue","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"\u003ctemplate\u003e"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \u003cdiv :class\u003d\"[\u0027quiz-container\u0027, addClass]\"\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \u003ctransition name\u003d\"intro-outro-card\" @after-leave\u003d\"showFirstQuestion\"\u003e"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"state \u003d\u003d\u003d 3\" class\u003d\"card intro-outro-card\"\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \u003cslot name\u003d\"intro\"\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \u003ch4\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":" Click start to begin"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \u003c/h4\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \u003c/slot\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":" \u003ch5\u003e{{ questions.length }} questions\u003c/h5\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" \u003chr /\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":17,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":18,"author":{"gitId":"-"},"content":" class\u003d\"btn btn-primary d-inline-block\""},{"lineNumber":19,"author":{"gitId":"-"},"content":" @click\u003d\"begin\""},{"lineNumber":20,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":21,"author":{"gitId":"-"},"content":" Start"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":23,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \u003c/transition\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" \u003ctransition name\u003d\"intro-outro-card\"\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":29,"author":{"gitId":"-"},"content":" v-show\u003d\"state \u003d\u003d\u003d 4\""},{"lineNumber":30,"author":{"gitId":"-"},"content":" class\u003d\"progress intro-outro-card\""},{"lineNumber":31,"author":{"gitId":"-"},"content":" style\u003d\"height: 1px;\""},{"lineNumber":32,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \u003cdiv"},{"lineNumber":34,"author":{"gitId":"-"},"content":" class\u003d\"progress-bar progress-bar-z\""},{"lineNumber":35,"author":{"gitId":"-"},"content":" role\u003d\"progressbar\""},{"lineNumber":36,"author":{"gitId":"-"},"content":" :style\u003d\"{ width: `${currentQuestion / questions.length * 100}%` }\""},{"lineNumber":37,"author":{"gitId":"-"},"content":" aria-valuemin\u003d\"0\""},{"lineNumber":38,"author":{"gitId":"-"},"content":" :aria-valuemax\u003d\"questions.length\""},{"lineNumber":39,"author":{"gitId":"-"},"content":" :aria-valuenow\u003d\"currentQuestion\""},{"lineNumber":40,"author":{"gitId":"-"},"content":" \u003e\u003c/div\u003e"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \u003c/transition\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" \u003cslot\u003e\u003c/slot\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" \u003ctransition"},{"lineNumber":47,"author":{"gitId":"-"},"content":" name\u003d\"intro-outro-card\""},{"lineNumber":48,"author":{"gitId":"-"},"content":" @after-enter\u003d\"setScoreCircleStyles\""},{"lineNumber":49,"author":{"gitId":"-"},"content":" @after-leave\u003d\"showFirstQuestion\""},{"lineNumber":50,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \u003cdiv v-if\u003d\"state \u003d\u003d\u003d 5\" class\u003d\"card intro-outro-card\"\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \u003cdiv class\u003d\"card-body\"\u003e"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \u003ch4 class\u003d\"mb-3\"\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":" {{ scoreText }}"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \u003c/h4\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \u003csvg"},{"lineNumber":57,"author":{"gitId":"-"},"content":" viewBox\u003d\"0 0 100 100\""},{"lineNumber":58,"author":{"gitId":"-"},"content":" width\u003d\"120px\""},{"lineNumber":59,"author":{"gitId":"-"},"content":" height\u003d\"120px\""},{"lineNumber":60,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \u003ccircle"},{"lineNumber":62,"author":{"gitId":"-"},"content":" cx\u003d\"50\""},{"lineNumber":63,"author":{"gitId":"-"},"content":" cy\u003d\"50\""},{"lineNumber":64,"author":{"gitId":"-"},"content":" r\u003d\"42\""},{"lineNumber":65,"author":{"gitId":"-"},"content":" class\u003d\"score-background-circle\""},{"lineNumber":66,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \u003ccircle"},{"lineNumber":68,"author":{"gitId":"-"},"content":" ref\u003d\"score\""},{"lineNumber":69,"author":{"gitId":"-"},"content":" cx\u003d\"50\""},{"lineNumber":70,"author":{"gitId":"-"},"content":" cy\u003d\"50\""},{"lineNumber":71,"author":{"gitId":"-"},"content":" r\u003d\"42\""},{"lineNumber":72,"author":{"gitId":"-"},"content":" transform\u003d\"rotate(-90, 50, 50)\""},{"lineNumber":73,"author":{"gitId":"-"},"content":" class\u003d\"score-circle\""},{"lineNumber":74,"author":{"gitId":"-"},"content":" stroke-dashoffset\u003d\"264\""},{"lineNumber":75,"author":{"gitId":"-"},"content":" /\u003e"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \u003ctext"},{"lineNumber":77,"author":{"gitId":"-"},"content":" class\u003d\"score\""},{"lineNumber":78,"author":{"gitId":"-"},"content":" x\u003d\"22\""},{"lineNumber":79,"author":{"gitId":"-"},"content":" y\u003d\"57\""},{"lineNumber":80,"author":{"gitId":"-"},"content":" textLength\u003d\"56\""},{"lineNumber":81,"author":{"gitId":"-"},"content":" \u003e{{ score }} / {{ questions.length }}\u003c/text\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \u003c/svg\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" \u003chr /\u003e"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" \u003cbutton"},{"lineNumber":87,"author":{"gitId":"-"},"content":" type\u003d\"button\""},{"lineNumber":88,"author":{"gitId":"-"},"content":" class\u003d\"btn btn-outline-primary\""},{"lineNumber":89,"author":{"gitId":"-"},"content":" @click\u003d\"begin\""},{"lineNumber":90,"author":{"gitId":"-"},"content":" \u003e"},{"lineNumber":91,"author":{"gitId":"-"},"content":" Retry"},{"lineNumber":92,"author":{"gitId":"-"},"content":" \u003c/button\u003e"},{"lineNumber":93,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \u003c/transition\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u003c/div\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":"\u003c/template\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003cscript\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":"import {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" STATE_CORRECT,"},{"lineNumber":102,"author":{"gitId":"-"},"content":"} from \u0027./QuestionConstants\u0027;"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"const STATE_QUIZ_FRESH \u003d 3;"},{"lineNumber":105,"author":{"gitId":"-"},"content":"const STATE_QUIZ_IN_PROGRESS \u003d 4;"},{"lineNumber":106,"author":{"gitId":"-"},"content":"const STATE_QUIZ_DONE \u003d 5;"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"export default {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" name: \u0027Quiz\u0027,"},{"lineNumber":110,"author":{"gitId":"-"},"content":" props: {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" addClass: {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" type: String,"},{"lineNumber":113,"author":{"gitId":"-"},"content":" default: null,"},{"lineNumber":114,"author":{"gitId":"-"},"content":" },"},{"lineNumber":115,"author":{"gitId":"-"},"content":" },"},{"lineNumber":116,"author":{"gitId":"-"},"content":" data() {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" currentQuestion: 0,"},{"lineNumber":119,"author":{"gitId":"-"},"content":" questions: [],"},{"lineNumber":120,"author":{"gitId":"-"},"content":" score: 0,"},{"lineNumber":121,"author":{"gitId":"-"},"content":" state: STATE_QUIZ_FRESH,"},{"lineNumber":122,"author":{"gitId":"-"},"content":" };"},{"lineNumber":123,"author":{"gitId":"-"},"content":" },"},{"lineNumber":124,"author":{"gitId":"-"},"content":" provide() {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" questions: this.questions,"},{"lineNumber":127,"author":{"gitId":"-"},"content":" gotoNextQuestion: this.gotoNextQuestion,"},{"lineNumber":128,"author":{"gitId":"-"},"content":" showNextQuestion: this.showNextQuestion,"},{"lineNumber":129,"author":{"gitId":"-"},"content":" };"},{"lineNumber":130,"author":{"gitId":"-"},"content":" },"},{"lineNumber":131,"author":{"gitId":"-"},"content":" computed: {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" scoreText() {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" return (this.score / this.questions.length) \u003e 0.5"},{"lineNumber":134,"author":{"gitId":"-"},"content":" ? \u0027Well done!\u0027"},{"lineNumber":135,"author":{"gitId":"-"},"content":" : \u0027Try again?\u0027;"},{"lineNumber":136,"author":{"gitId":"-"},"content":" },"},{"lineNumber":137,"author":{"gitId":"-"},"content":" },"},{"lineNumber":138,"author":{"gitId":"-"},"content":" methods: {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" gotoNextQuestion() {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" this.questions[this.currentQuestion - 1].hide();"},{"lineNumber":141,"author":{"gitId":"-"},"content":" this.currentQuestion +\u003d 1;"},{"lineNumber":142,"author":{"gitId":"-"},"content":" },"},{"lineNumber":143,"author":{"gitId":"-"},"content":" showNextQuestion() {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" if (this.currentQuestion \u003c\u003d this.questions.length) {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" this.questions[this.currentQuestion - 1].show();"},{"lineNumber":146,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" this.complete();"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":" },"},{"lineNumber":150,"author":{"gitId":"-"},"content":" begin() {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" this.currentQuestion \u003d 1;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" this.score \u003d 0;"},{"lineNumber":153,"author":{"gitId":"-"},"content":" this.state \u003d STATE_QUIZ_IN_PROGRESS;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" },"},{"lineNumber":155,"author":{"gitId":"-"},"content":" showFirstQuestion() {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" if (this.questions.length) {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" this.questions[0].show();"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":" },"},{"lineNumber":160,"author":{"gitId":"-"},"content":" reset() {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" this.questions.forEach(question \u003d\u003e question.reset());"},{"lineNumber":162,"author":{"gitId":"-"},"content":" },"},{"lineNumber":163,"author":{"gitId":"-"},"content":" complete() {"},{"lineNumber":164,"author":{"gitId":"-"},"content":" this.score \u003d this.questions.filter(q \u003d\u003e q.qState.state \u003d\u003d\u003d STATE_CORRECT).length;"},{"lineNumber":165,"author":{"gitId":"-"},"content":" this.state \u003d STATE_QUIZ_DONE;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" this.reset();"},{"lineNumber":167,"author":{"gitId":"-"},"content":" },"},{"lineNumber":168,"author":{"gitId":"-"},"content":" setScoreCircleStyles() {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" const scoreFactor \u003d this.score / this.questions.length;"},{"lineNumber":170,"author":{"gitId":"-"},"content":" this.$refs.score.style.strokeDashoffset \u003d (1 - scoreFactor) * 264;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" this.$refs.score.style.stroke \u003d \u0027#51c2f8\u0027;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" },"},{"lineNumber":173,"author":{"gitId":"-"},"content":" },"},{"lineNumber":174,"author":{"gitId":"-"},"content":"};"},{"lineNumber":175,"author":{"gitId":"-"},"content":"\u003c/script\u003e"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":"\u003cstyle scoped\u003e"},{"lineNumber":178,"author":{"gitId":"-"},"content":" .quiz-container {"},{"lineNumber":179,"author":{"gitId":"-"},"content":" overflow: hidden;"},{"lineNumber":180,"author":{"gitId":"-"},"content":" isolation: isolate;"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" .intro-outro-card {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" transition: transform 0.35s ease-out, opacity 0.35s linear;"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" .intro-outro-card-enter-active,"},{"lineNumber":188,"author":{"gitId":"-"},"content":" .intro-outro-card-leave-to {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" opacity: 0;"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" .intro-outro-card \u003e .card-body {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" display: flex;"},{"lineNumber":194,"author":{"gitId":"-"},"content":" flex-direction: column;"},{"lineNumber":195,"author":{"gitId":"-"},"content":" align-items: center;"},{"lineNumber":196,"author":{"gitId":"-"},"content":" justify-content: center;"},{"lineNumber":197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" .score {"},{"lineNumber":200,"author":{"gitId":"-"},"content":" font-size: 1.4rem;"},{"lineNumber":201,"author":{"gitId":"-"},"content":" font-weight: bold;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" }"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":" .score-circle {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" stroke-dasharray: 264;"},{"lineNumber":206,"author":{"gitId":"-"},"content":" fill: none;"},{"lineNumber":207,"author":{"gitId":"LamJiuFong"},"content":" stroke: rgb(132 215 255 / 80%);"},{"lineNumber":208,"author":{"gitId":"-"},"content":" stroke-width: 8;"},{"lineNumber":209,"author":{"gitId":"-"},"content":" transition: stroke-dashoffset 1.5s ease-out, stroke 1.5s linear;"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" .score-background-circle {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" fill: none;"},{"lineNumber":214,"author":{"gitId":"LamJiuFong"},"content":" stroke: rgb(227 226 226 / 50%);"},{"lineNumber":215,"author":{"gitId":"-"},"content":" stroke-width: 8;"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" .btn {"},{"lineNumber":219,"author":{"gitId":"-"},"content":" border-radius: 2em;"},{"lineNumber":220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" .progress-bar-z {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" z-index: 1;"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":"\u003c/style\u003e"}],"authorContributionMap":{"LamJiuFong":2,"-":224}},{"path":"scripts/process_message.py","fileType":"py","lines":[{"lineNumber":1,"author":{"gitId":"KevinEyo1"},"content":"import json"},{"lineNumber":2,"author":{"gitId":"KevinEyo1"},"content":"import re"},{"lineNumber":3,"author":{"gitId":"KevinEyo1"},"content":"import sys"},{"lineNumber":4,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":5,"author":{"gitId":"KevinEyo1"},"content":"markdown_content \u003d sys.argv[1]"},{"lineNumber":6,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":7,"author":{"gitId":"KevinEyo1"},"content":"# Preprocessing the markdown content"},{"lineNumber":8,"author":{"gitId":"KevinEyo1"},"content":"markdown_content \u003d markdown_content.replace(\u0027`\u0027, \u0027\\\\`\u0027)"},{"lineNumber":9,"author":{"gitId":"KevinEyo1"},"content":"markdown_content \u003d markdown_content.replace(\u0027(\u0027, \u0027\\\\(\u0027).replace(\u0027)\u0027, \u0027\\\\)\u0027)"},{"lineNumber":10,"author":{"gitId":"KevinEyo1"},"content":"markdown_content \u003d re.sub(r\u0027\u003c!--.*?--\u003e\u0027, \u0027\u0027, markdown_content, flags\u003dre.DOTALL) # Remove HTML comments"},{"lineNumber":11,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":12,"author":{"gitId":"KevinEyo1"},"content":"print(markdown_content)"},{"lineNumber":13,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":14,"author":{"gitId":"KevinEyo1"},"content":""},{"lineNumber":15,"author":{"gitId":"KevinEyo1"},"content":""}],"authorContributionMap":{"KevinEyo1":15}}] diff --git a/markbind_markbind_master/commits.json b/markbind_markbind_master/commits.json index 1db2805..07478e8 100644 --- a/markbind_markbind_master/commits.json +++ b/markbind_markbind_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"xenosf":[],"sopa301":[],"mingyuanc":[],"jingting1412":[{"date":"2024-01-25","commitResults":[{"hash":"613461c0ed23970046e1b17a2099ac5b2df71200","isMergeCommit":false,"messageTitle":"Replacing default icon for conversion (#2389)","messageBody":"Change default favicon for conversions","fileTypesAndContributionMap":{"js":{"insertions":24,"deletions":24},"njk":{"insertions":1,"deletions":1}}}]},{"date":"2024-03-04","commitResults":[{"hash":"a44bdaa163ab457753e8e737711b2843dbcc9512","isMergeCommit":false,"messageTitle":"Combining syntax cheat sheet and full syntax reference pages (#2426)","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":91,"deletions":142},"json":{"insertions":2,"deletions":4},"njk":{"insertions":71,"deletions":0}}}]},{"date":"2024-03-08","commitResults":[{"hash":"7d10b69845d4c3bdcaa862fd4bb1d053128d0c21","isMergeCommit":false,"messageTitle":"Add pageNav and info box to readerFacingFeatures page","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":7,"deletions":3}}}]},{"date":"2024-04-08","commitResults":[{"hash":"147899a56e5731aa08b10277cf9d9047cecb2d90","isMergeCommit":false,"messageTitle":"Add portfolio template for init command","messageBody":"","fileTypesAndContributionMap":{"css":{"insertions":593,"deletions":0},"md":{"insertions":517,"deletions":0},"js":{"insertions":91,"deletions":0},"json":{"insertions":83,"deletions":0}}}]},{"date":"2024-04-16","commitResults":[{"hash":"fc776ba075678182d7257b835aaa5bdd9ce4f1d6","isMergeCommit":false,"messageTitle":"Add note on absolute links (#2507)","messageBody":"* Add note on absolute links\r\n\r\n* Fix typos\r\n\r\n* Add tip to more pages\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Add negative example\r\n\r\n* Update docs/userGuide/troubleshooting.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Add more details\r\n\r\n* Improve explanation\r\n\r\n* Improve look of tip\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Implement review changes\r\n\r\n---------\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\nCo-authored-by: Shuyao \"Tim\" Xu \u003c61866948+Tim-Siu@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"md":{"insertions":39,"deletions":2}}}]},{"date":"2024-04-17","commitResults":[{"hash":"8253f827ea122ee8bf7ba8b12e64974be07c1f10","isMergeCommit":false,"messageTitle":"Enable seamless panels to inherit any parent\u0027s colours (#2501)","messageBody":"* Change seamless panels\r\n\r\n* Improve look of seamless panels\r\n\r\n* Add tests\r\n\r\n* Update userguide example\r\n---------\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\nCo-authored-by: Hannah \u003c59471320+kaixin-hc@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"md":{"insertions":8,"deletions":0},"vue":{"insertions":55,"deletions":9},"js":{"insertions":44,"deletions":0}}}]}],"KevinEyo1":[{"date":"2024-02-24","commitResults":[{"hash":"8bac97a3f0143e39c601e34a4761a4a0669eba97","isMergeCommit":false,"messageTitle":"GitHub Actions: add check for empty commit message","messageBody":"There is no checking of proposed commit message presence.\r\n\r\nPR authors may forget to include proposed commit message.\r\n\r\nAdding a check using GitHub Actions will help remind and ensure\r\nthat authors don\u0027t miss out on filling in the commit message.\r\n\r\nLet\u0027s add a job to the a new workflow, pr-message-reminder.yml\r\nfile to help automate checking and reminding of filling in the\r\nproposed commit message for each PR.\r\n\r\nThis approach automates the process, without having to have\r\nother users check and remind PR authors themselves. Adding the\r\nnew job to a new workflow will allow greater control of job triggers\r\nwhile maintaining clean code.","fileTypesAndContributionMap":{"yml":{"insertions":39,"deletions":0},"py":{"insertions":15,"deletions":0}}}]},{"date":"2024-03-04","commitResults":[{"hash":"e6e639d23136709d0b1784d22fdc4148485252ec","isMergeCommit":false,"messageTitle":"Upgrade simple-git version (#2439)","messageBody":"simple-git version: update to latest version\r\n\r\nsimple-git was not updated. Currently used version should no\r\nlonger be used due to security advisory.\r\n\r\nUpdating it avoids newly found vulnerabilities.\r\n\r\nLet\u0027s update it to the current latest version.","fileTypesAndContributionMap":{"json":{"insertions":1,"deletions":1}}}]},{"date":"2024-03-10","commitResults":[{"hash":"1c01cfb9351a6696b2dafafab545a868a897211e","isMergeCommit":false,"messageTitle":"UG: update wording of UG (#2440)","messageBody":"Wording might mislead readers into thinking that PageNavs\r\ncannot be used in normal pages.\r\n\r\nUpdating the wording will allow readers to know that\r\nindividual pages can also use PageNavs.\r\n\r\nLet\u0027s update the wording to be clearer and more explicit.\r\n\r\nCo-authored-by: david \u003c71922282+itsyme@users.noreply.github.com\u003e\r\n\r\n---------\r\n\r\nCo-authored-by: david \u003c71922282+itsyme@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1}}}]},{"date":"2024-03-30","commitResults":[{"hash":"e95e5885ef9306e92adc1bc7f6228c27ed76c86c","isMergeCommit":false,"messageTitle":"Utilize GitHub Actions to check for SEMVER impact label (#2470)","messageBody":"It is easy to forget to label PRs with their SEMVER impact when\r\nmerging.\r\n\r\nAdding a workflow to automate labelling will help prevent\r\nusers from missing labels when merging.\r\n\r\nLet\u0027s check the PR body description for user selected impact,\r\nand automatically add the label to the PR when merging.\r\n\r\nThis approach allows the user to not even have to add the label\r\nthemselves.","fileTypesAndContributionMap":{"yml":{"insertions":69,"deletions":0}}},{"hash":"011808d72db7321d00db0ea2765c35999ac7525e","isMergeCommit":false,"messageTitle":"MarkBind templates: add a project-specific template (#2400)","messageBody":"MarkBind has default and minimal templates.\r\n\r\nMarkBind lacks a specific template for project documentation,\r\nlimiting its appeal to users seeking specialized starting points.\r\n\r\nCreating a new template for such users enhances MarkBind\u0027s\r\nusability by providing a tailored starting point for creating\r\nproject documentation, encouraging more users to choose\r\nMarkBind for their documentation needs.\r\n\r\nLet\u0027s add a project template option during MarkBind\r\ninitialization that generates a template specifically to project\r\ndocumentation needs, with a User Guide and Developer Guide.\r\n\r\nThis approach directly addresses the gap for specialized\r\ndocumentation templates, making MarkBind a more attractive\r\noption for project maintainers.","fileTypesAndContributionMap":{"css":{"insertions":594,"deletions":0},"md":{"insertions":838,"deletions":1},"js":{"insertions":534,"deletions":0},"json":{"insertions":205,"deletions":0}}}]},{"date":"2024-04-07","commitResults":[{"hash":"fa483439e7057b002287d4b96d017cecf99481a3","isMergeCommit":false,"messageTitle":"Add `once` attribute to custom lists so attributes only apply to current item","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":169,"deletions":1},"js":{"insertions":91,"deletions":1}}}]},{"date":"2024-04-11","commitResults":[{"hash":"362f7611f4560f69bece75cf550394dd3906a7b0","isMergeCommit":false,"messageTitle":"Add references between image and pic in UG","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":12,"deletions":0}}},{"hash":"889836c6f0e29063a3ae6dcf417bbeef0d80c17c","isMergeCommit":false,"messageTitle":"Add a reminder when contributor is new to ping all contributor bot","messageBody":"","fileTypesAndContributionMap":{"yml":{"insertions":45,"deletions":0}}}]},{"date":"2024-04-16","commitResults":[{"hash":"f1c365c7e76f326c5d3e70ca4ed0dd9bc3a5d7c1","isMergeCommit":false,"messageTitle":"GitHub Actions: improve security","messageBody":"Security best practices need to be enforced to ensure no avenues\r\nof attack and security breaches.\r\n\r\nLet\u0027s update the workflows following security best practices,\r\nparticularly restricting permissions to read permissions","fileTypesAndContributionMap":{"yml":{"insertions":45,"deletions":26}}},{"hash":"fc71dd63e3da2703b79cb97fcdffe378beb951d2","isMergeCommit":false,"messageTitle":"Add back GITHUB_TOKEN to deploy-docs job (#2521)","messageBody":"","fileTypesAndContributionMap":{"yml":{"insertions":2,"deletions":0}}}]}],"LamJiuFong":[{"date":"2024-02-17","commitResults":[{"hash":"2647090c14283e8f108f478495c5cba4514023c4","isMergeCommit":false,"messageTitle":"Allow `markbind serve` to specify custom host #2382 (#2395)","messageBody":"Allow markbind serve to specify custom host\r\n\r\nCo-authored-by: Jiu Fong Lam \u003c\u003e","fileTypesAndContributionMap":{"md":{"insertions":5,"deletions":3},"js":{"insertions":48,"deletions":8}}}]},{"date":"2024-02-29","commitResults":[{"hash":"933655950dc65c079f911f6867b0a4d02e49f54d","isMergeCommit":false,"messageTitle":"Migrate stylelint to latest version #2292 (#2425)","messageBody":"Migrate stylelint to latest version ^16.0.0\r\nAdd devdependency \"stylelint-config-recommended-vue\"\r\nAdd plugin @stylistic/stylelint-plugin\r\nAdd dependency postcss@^8.4.35\r\nFix syntax to obey new rules\r\n\r\n---------\r\n\r\nCo-authored-by: Jiu Fong Lam \u003c\u003e","fileTypesAndContributionMap":{"css":{"insertions":72,"deletions":82},"vue":{"insertions":29,"deletions":47},"js":{"insertions":4,"deletions":3},"json":{"insertions":8,"deletions":3}}}]},{"date":"2024-03-17","commitResults":[{"hash":"371228d0a255d8b34fe24045a32692b79932fd7f","isMergeCommit":false,"messageTitle":"Add lazy property to pic and annotate","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":6,"deletions":4},"vue":{"insertions":47,"deletions":15}}}]},{"date":"2024-04-07","commitResults":[{"hash":"8ad1b0c7e1b5bc42635a83398701f256ada274f2","isMergeCommit":false,"messageTitle":"Add defer attribute to scripts in page template (#2492)","messageBody":"","fileTypesAndContributionMap":{"njk":{"insertions":4,"deletions":4}}}]}],"yiwen101":[{"date":"2024-02-12","commitResults":[{"hash":"7d9cf5a1aff00079400f020a71ad03332dc6d8f8","isMergeCommit":false,"messageTitle":"Add documentation on troubleshooting rendering markdown","messageBody":"* Update trouble shooting\r\n\r\n* Update code examples in affected presentation components\r\n\r\n* Update message for presentation component\r\n\r\n* Revert unrelated changes\r\n\r\n* Fix links\r\n\r\n* Update docs/userGuide/components/presentation.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Revert distracting changes made by formatter\r\n\r\n* Revert distracting changes by formatter2\r\n\r\n* Migrate to codeAndOutput\r\n\r\n* Updade doc\r\n\r\n* Update presentation.md\r\n\r\n* Update ug\r\n\r\n* Clean formatting error\r\n\r\n* Proof read\r\n\r\n* Improve formatting\r\n\r\n* Improve format\r\n\r\n* Improve format\r\n\r\n* Update troubleshooting.md\r\n\r\n* Update troubleshooting.md\r\n\r\n---------\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"md":{"insertions":81,"deletions":10}}}]},{"date":"2024-02-25","commitResults":[{"hash":"ef502dbf57d5b798ec535c4d4a62f62b5dd2588f","isMergeCommit":false,"messageTitle":" Fix external styles and script not hoisted by externals (#2414)","messageBody":"Also add warning in documentation that styles in hoisted\r\nexternal will also affect the rest of the page","fileTypesAndContributionMap":{"md":{"insertions":27,"deletions":0},"json":{"insertions":13,"deletions":0},"js":{"insertions":16,"deletions":0}}}]},{"date":"2024-03-18","commitResults":[{"hash":"dd4bfd3288e02174d39005654a4891fa5d88698f","isMergeCommit":false,"messageTitle":"Fix issue of cannot import footnote from hash","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":9,"deletions":0},"js":{"insertions":10,"deletions":1}}}]},{"date":"2024-03-29","commitResults":[{"hash":"66591c50686edbeb4d1ea33d7365ea4fc363dab5","isMergeCommit":false,"messageTitle":"Implement efficient validation for hash intra-link (#2465)","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":12,"deletions":12}}}]},{"date":"2024-04-04","commitResults":[{"hash":"c268733678094626ac4df26c0091d99df58c16ef","isMergeCommit":false,"messageTitle":"Fix stray space before popover and tooltip (#2486)","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":5,"deletions":0},"vue":{"insertions":6,"deletions":9},"js":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-09","commitResults":[{"hash":"e0e923985f3185c800ea5755bb4f6fb4fc6ff9a8","isMergeCommit":false,"messageTitle":"Support Bootstrap icons","messageBody":"","fileTypesAndContributionMap":{"css":{"insertions":16664,"deletions":0},"md":{"insertions":18,"deletions":2},"json":{"insertions":16427,"deletions":0},"js":{"insertions":22,"deletions":0},"njk":{"insertions":1,"deletions":0}}}]},{"date":"2024-04-12","commitResults":[{"hash":"ff8e9b135c35dd1949ea25778da1146876a4f62d","isMergeCommit":false,"messageTitle":"Fix off-positioned close button in imported modal (#2487)","messageBody":"---------\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"md":{"insertions":16,"deletions":0},"vue":{"insertions":4,"deletions":4},"js":{"insertions":4,"deletions":1}}}]}],"jonasongg":[],"domoberzin":[],"asdfghjkxd":[],"yuanxi1":[],"supermii2":[],"marquestye":[],"nknguyenhc":[],"Arif-Khalid":[],"NereusWB922":[],"dishenggg":[],"MadLamprey":[],"Tim-Siu":[{"date":"2024-01-28","commitResults":[{"hash":"25326afde09843a79c4c6efb8bf0d8733844d415","isMergeCommit":false,"messageTitle":"Correct broken UG external link (#2392)","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":2,"deletions":2}}}]},{"date":"2024-02-01","commitResults":[{"hash":"67ae4b134ce35eacad680850b7233e39a516b71e","isMergeCommit":false,"messageTitle":"Use a more noticeable color for highlight words in fenced code under dark theme","messageBody":"","fileTypesAndContributionMap":{"css":{"insertions":8,"deletions":8}}}]},{"date":"2024-02-28","commitResults":[{"hash":"990d6136d1103ceae3005f1fe72be920cc7a6448","isMergeCommit":false,"messageTitle":"Automatically enforce soft-wrapping and add line-numbers when code is cut off for printing","messageBody":"","fileTypesAndContributionMap":{"css":{"insertions":29,"deletions":4},"md":{"insertions":10,"deletions":0},"js":{"insertions":18,"deletions":0}}}]}]},"authorFileTypeContributionMap":{"xenosf":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"sopa301":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"mingyuanc":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"jingting1412":{"java":0,"js":148,"css":676,"json":85,"md":661,"mbd":0,"mbdf":0,"njk":72,"py":0,"vue":55,"yml":0},"KevinEyo1":{"java":0,"js":625,"css":675,"json":206,"md":1017,"mbd":0,"mbdf":0,"njk":0,"py":15,"vue":0,"yml":175},"LamJiuFong":{"java":0,"js":52,"css":71,"json":7,"md":11,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":69,"yml":0},"yiwen101":{"java":0,"js":51,"css":33384,"json":16440,"md":165,"mbd":0,"mbdf":0,"njk":1,"py":0,"vue":10,"yml":0},"jonasongg":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"domoberzin":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"asdfghjkxd":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"yuanxi1":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"supermii2":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"marquestye":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"nknguyenhc":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"Arif-Khalid":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"NereusWB922":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"dishenggg":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"MadLamprey":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"Tim-Siu":{"java":0,"js":18,"css":31,"json":0,"md":10,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0}},"authorContributionVariance":{"xenosf":0.0,"sopa301":0.0,"mingyuanc":0.0,"jingting1412":12510.057,"KevinEyo1":36331.9,"LamJiuFong":501.7446,"yiwen101":7840728.5,"jonasongg":0.0,"domoberzin":0.0,"asdfghjkxd":0.0,"yuanxi1":0.0,"supermii2":0.0,"marquestye":0.0,"nknguyenhc":0.0,"Arif-Khalid":0.0,"NereusWB922":0.0,"dishenggg":0.0,"MadLamprey":0.0,"Tim-Siu":28.387045},"authorDisplayNameMap":{"xenosf":"XENO..NONG","sopa301":"POON..RYAN","mingyuanc":"CHIN..YUAN","jingting1412":"WANG..TING","KevinEyo1":"EYO ..EVIN","LamJiuFong":"LAM ..FONG","yiwen101":"WANG..IWEN","jonasongg":"JONA.. WEI","domoberzin":"DOMI.. GIN","asdfghjkxd":"GEOR.. YAO","yuanxi1":"ZHU ..ANXI","supermii2":"ALVI..S NG","marquestye":"TYE ..QUES","nknguyenhc":"NGUY..UYEN","Arif-Khalid":"ARIF..ALID","NereusWB922":"NERE.. BIN","dishenggg":"YEO ..HENG","MadLamprey":"MISR..ITYA","Tim-Siu":"XU S..UYAO"}} +{"authorDailyContributionsMap":{"xenosf":[],"sopa301":[],"mingyuanc":[],"jingting1412":[{"date":"2024-01-25","commitResults":[{"hash":"613461c0ed23970046e1b17a2099ac5b2df71200","isMergeCommit":false,"messageTitle":"Replacing default icon for conversion (#2389)","messageBody":"Change default favicon for conversions","fileTypesAndContributionMap":{"js":{"insertions":24,"deletions":24},"njk":{"insertions":1,"deletions":1}}}]},{"date":"2024-03-04","commitResults":[{"hash":"a44bdaa163ab457753e8e737711b2843dbcc9512","isMergeCommit":false,"messageTitle":"Combining syntax cheat sheet and full syntax reference pages (#2426)","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":91,"deletions":142},"json":{"insertions":2,"deletions":4},"njk":{"insertions":71,"deletions":0}}}]},{"date":"2024-03-08","commitResults":[{"hash":"7d10b69845d4c3bdcaa862fd4bb1d053128d0c21","isMergeCommit":false,"messageTitle":"Add pageNav and info box to readerFacingFeatures page","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":7,"deletions":3}}}]},{"date":"2024-04-08","commitResults":[{"hash":"147899a56e5731aa08b10277cf9d9047cecb2d90","isMergeCommit":false,"messageTitle":"Add portfolio template for init command","messageBody":"","fileTypesAndContributionMap":{"css":{"insertions":593,"deletions":0},"md":{"insertions":517,"deletions":0},"js":{"insertions":91,"deletions":0},"json":{"insertions":83,"deletions":0}}}]},{"date":"2024-04-16","commitResults":[{"hash":"fc776ba075678182d7257b835aaa5bdd9ce4f1d6","isMergeCommit":false,"messageTitle":"Add note on absolute links (#2507)","messageBody":"* Add note on absolute links\r\n\r\n* Fix typos\r\n\r\n* Add tip to more pages\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Add negative example\r\n\r\n* Update docs/userGuide/troubleshooting.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Add more details\r\n\r\n* Improve explanation\r\n\r\n* Improve look of tip\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Update docs/userGuide/syntax/includes.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Implement review changes\r\n\r\n---------\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\nCo-authored-by: Shuyao \"Tim\" Xu \u003c61866948+Tim-Siu@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"md":{"insertions":39,"deletions":2}}}]},{"date":"2024-04-17","commitResults":[{"hash":"8253f827ea122ee8bf7ba8b12e64974be07c1f10","isMergeCommit":false,"messageTitle":"Enable seamless panels to inherit any parent\u0027s colours (#2501)","messageBody":"* Change seamless panels\r\n\r\n* Improve look of seamless panels\r\n\r\n* Add tests\r\n\r\n* Update userguide example\r\n---------\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\nCo-authored-by: Hannah \u003c59471320+kaixin-hc@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"md":{"insertions":8,"deletions":0},"vue":{"insertions":55,"deletions":9},"js":{"insertions":44,"deletions":0}}}]}],"KevinEyo1":[{"date":"2024-02-24","commitResults":[{"hash":"8bac97a3f0143e39c601e34a4761a4a0669eba97","isMergeCommit":false,"messageTitle":"GitHub Actions: add check for empty commit message","messageBody":"There is no checking of proposed commit message presence.\r\n\r\nPR authors may forget to include proposed commit message.\r\n\r\nAdding a check using GitHub Actions will help remind and ensure\r\nthat authors don\u0027t miss out on filling in the commit message.\r\n\r\nLet\u0027s add a job to the a new workflow, pr-message-reminder.yml\r\nfile to help automate checking and reminding of filling in the\r\nproposed commit message for each PR.\r\n\r\nThis approach automates the process, without having to have\r\nother users check and remind PR authors themselves. Adding the\r\nnew job to a new workflow will allow greater control of job triggers\r\nwhile maintaining clean code.","fileTypesAndContributionMap":{"yml":{"insertions":39,"deletions":0},"py":{"insertions":15,"deletions":0}}}]},{"date":"2024-03-04","commitResults":[{"hash":"e6e639d23136709d0b1784d22fdc4148485252ec","isMergeCommit":false,"messageTitle":"Upgrade simple-git version (#2439)","messageBody":"simple-git version: update to latest version\r\n\r\nsimple-git was not updated. Currently used version should no\r\nlonger be used due to security advisory.\r\n\r\nUpdating it avoids newly found vulnerabilities.\r\n\r\nLet\u0027s update it to the current latest version.","fileTypesAndContributionMap":{"json":{"insertions":1,"deletions":1}}}]},{"date":"2024-03-10","commitResults":[{"hash":"1c01cfb9351a6696b2dafafab545a868a897211e","isMergeCommit":false,"messageTitle":"UG: update wording of UG (#2440)","messageBody":"Wording might mislead readers into thinking that PageNavs\r\ncannot be used in normal pages.\r\n\r\nUpdating the wording will allow readers to know that\r\nindividual pages can also use PageNavs.\r\n\r\nLet\u0027s update the wording to be clearer and more explicit.\r\n\r\nCo-authored-by: david \u003c71922282+itsyme@users.noreply.github.com\u003e\r\n\r\n---------\r\n\r\nCo-authored-by: david \u003c71922282+itsyme@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1}}}]},{"date":"2024-03-30","commitResults":[{"hash":"e95e5885ef9306e92adc1bc7f6228c27ed76c86c","isMergeCommit":false,"messageTitle":"Utilize GitHub Actions to check for SEMVER impact label (#2470)","messageBody":"It is easy to forget to label PRs with their SEMVER impact when\r\nmerging.\r\n\r\nAdding a workflow to automate labelling will help prevent\r\nusers from missing labels when merging.\r\n\r\nLet\u0027s check the PR body description for user selected impact,\r\nand automatically add the label to the PR when merging.\r\n\r\nThis approach allows the user to not even have to add the label\r\nthemselves.","fileTypesAndContributionMap":{"yml":{"insertions":69,"deletions":0}}},{"hash":"011808d72db7321d00db0ea2765c35999ac7525e","isMergeCommit":false,"messageTitle":"MarkBind templates: add a project-specific template (#2400)","messageBody":"MarkBind has default and minimal templates.\r\n\r\nMarkBind lacks a specific template for project documentation,\r\nlimiting its appeal to users seeking specialized starting points.\r\n\r\nCreating a new template for such users enhances MarkBind\u0027s\r\nusability by providing a tailored starting point for creating\r\nproject documentation, encouraging more users to choose\r\nMarkBind for their documentation needs.\r\n\r\nLet\u0027s add a project template option during MarkBind\r\ninitialization that generates a template specifically to project\r\ndocumentation needs, with a User Guide and Developer Guide.\r\n\r\nThis approach directly addresses the gap for specialized\r\ndocumentation templates, making MarkBind a more attractive\r\noption for project maintainers.","fileTypesAndContributionMap":{"css":{"insertions":594,"deletions":0},"md":{"insertions":838,"deletions":1},"js":{"insertions":534,"deletions":0},"json":{"insertions":205,"deletions":0}}}]},{"date":"2024-04-07","commitResults":[{"hash":"fa483439e7057b002287d4b96d017cecf99481a3","isMergeCommit":false,"messageTitle":"Add `once` attribute to custom lists so attributes only apply to current item","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":169,"deletions":1},"js":{"insertions":91,"deletions":1}}}]},{"date":"2024-04-11","commitResults":[{"hash":"362f7611f4560f69bece75cf550394dd3906a7b0","isMergeCommit":false,"messageTitle":"Add references between image and pic in UG","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":12,"deletions":0}}},{"hash":"889836c6f0e29063a3ae6dcf417bbeef0d80c17c","isMergeCommit":false,"messageTitle":"Add a reminder when contributor is new to ping all contributor bot","messageBody":"","fileTypesAndContributionMap":{"yml":{"insertions":45,"deletions":0}}}]},{"date":"2024-04-16","commitResults":[{"hash":"f1c365c7e76f326c5d3e70ca4ed0dd9bc3a5d7c1","isMergeCommit":false,"messageTitle":"GitHub Actions: improve security","messageBody":"Security best practices need to be enforced to ensure no avenues\r\nof attack and security breaches.\r\n\r\nLet\u0027s update the workflows following security best practices,\r\nparticularly restricting permissions to read permissions","fileTypesAndContributionMap":{"yml":{"insertions":45,"deletions":26}}},{"hash":"fc71dd63e3da2703b79cb97fcdffe378beb951d2","isMergeCommit":false,"messageTitle":"Add back GITHUB_TOKEN to deploy-docs job (#2521)","messageBody":"","fileTypesAndContributionMap":{"yml":{"insertions":2,"deletions":0}}}]},{"date":"2024-04-18","commitResults":[{"hash":"206036977c4fb41d2676a3237f6db675c8587614","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into include-log","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"104b46c8530437d046dc8b40e981b1d19045f3d1","isMergeCommit":true,"messageTitle":"Add warning for including empty segments or files in optional mode (#2506)","messageBody":"","fileTypesAndContributionMap":{}}]}],"LamJiuFong":[{"date":"2024-02-17","commitResults":[{"hash":"2647090c14283e8f108f478495c5cba4514023c4","isMergeCommit":false,"messageTitle":"Allow `markbind serve` to specify custom host #2382 (#2395)","messageBody":"Allow markbind serve to specify custom host\r\n\r\nCo-authored-by: Jiu Fong Lam \u003c\u003e","fileTypesAndContributionMap":{"md":{"insertions":5,"deletions":3},"js":{"insertions":48,"deletions":8}}}]},{"date":"2024-02-29","commitResults":[{"hash":"933655950dc65c079f911f6867b0a4d02e49f54d","isMergeCommit":false,"messageTitle":"Migrate stylelint to latest version #2292 (#2425)","messageBody":"Migrate stylelint to latest version ^16.0.0\r\nAdd devdependency \"stylelint-config-recommended-vue\"\r\nAdd plugin @stylistic/stylelint-plugin\r\nAdd dependency postcss@^8.4.35\r\nFix syntax to obey new rules\r\n\r\n---------\r\n\r\nCo-authored-by: Jiu Fong Lam \u003c\u003e","fileTypesAndContributionMap":{"css":{"insertions":72,"deletions":82},"vue":{"insertions":29,"deletions":47},"js":{"insertions":4,"deletions":3},"json":{"insertions":8,"deletions":3}}}]},{"date":"2024-03-17","commitResults":[{"hash":"371228d0a255d8b34fe24045a32692b79932fd7f","isMergeCommit":false,"messageTitle":"Add lazy property to pic and annotate","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":6,"deletions":4},"vue":{"insertions":47,"deletions":15}}}]},{"date":"2024-04-07","commitResults":[{"hash":"8ad1b0c7e1b5bc42635a83398701f256ada274f2","isMergeCommit":false,"messageTitle":"Add defer attribute to scripts in page template (#2492)","messageBody":"","fileTypesAndContributionMap":{"njk":{"insertions":4,"deletions":4}}}]}],"yiwen101":[{"date":"2024-02-12","commitResults":[{"hash":"7d9cf5a1aff00079400f020a71ad03332dc6d8f8","isMergeCommit":false,"messageTitle":"Add documentation on troubleshooting rendering markdown","messageBody":"* Update trouble shooting\r\n\r\n* Update code examples in affected presentation components\r\n\r\n* Update message for presentation component\r\n\r\n* Revert unrelated changes\r\n\r\n* Fix links\r\n\r\n* Update docs/userGuide/components/presentation.md\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e\r\n\r\n* Revert distracting changes made by formatter\r\n\r\n* Revert distracting changes by formatter2\r\n\r\n* Migrate to codeAndOutput\r\n\r\n* Updade doc\r\n\r\n* Update presentation.md\r\n\r\n* Update ug\r\n\r\n* Clean formatting error\r\n\r\n* Proof read\r\n\r\n* Improve formatting\r\n\r\n* Improve format\r\n\r\n* Improve format\r\n\r\n* Update troubleshooting.md\r\n\r\n* Update troubleshooting.md\r\n\r\n---------\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"md":{"insertions":81,"deletions":10}}}]},{"date":"2024-02-25","commitResults":[{"hash":"ef502dbf57d5b798ec535c4d4a62f62b5dd2588f","isMergeCommit":false,"messageTitle":" Fix external styles and script not hoisted by externals (#2414)","messageBody":"Also add warning in documentation that styles in hoisted\r\nexternal will also affect the rest of the page","fileTypesAndContributionMap":{"md":{"insertions":27,"deletions":0},"json":{"insertions":13,"deletions":0},"js":{"insertions":16,"deletions":0}}}]},{"date":"2024-03-18","commitResults":[{"hash":"dd4bfd3288e02174d39005654a4891fa5d88698f","isMergeCommit":false,"messageTitle":"Fix issue of cannot import footnote from hash","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":9,"deletions":0},"js":{"insertions":10,"deletions":1}}}]},{"date":"2024-03-29","commitResults":[{"hash":"66591c50686edbeb4d1ea33d7365ea4fc363dab5","isMergeCommit":false,"messageTitle":"Implement efficient validation for hash intra-link (#2465)","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":12,"deletions":12}}}]},{"date":"2024-04-04","commitResults":[{"hash":"c268733678094626ac4df26c0091d99df58c16ef","isMergeCommit":false,"messageTitle":"Fix stray space before popover and tooltip (#2486)","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":5,"deletions":0},"vue":{"insertions":6,"deletions":9},"js":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-09","commitResults":[{"hash":"e0e923985f3185c800ea5755bb4f6fb4fc6ff9a8","isMergeCommit":false,"messageTitle":"Support Bootstrap icons","messageBody":"","fileTypesAndContributionMap":{"css":{"insertions":16664,"deletions":0},"md":{"insertions":18,"deletions":2},"json":{"insertions":16427,"deletions":0},"js":{"insertions":22,"deletions":0},"njk":{"insertions":1,"deletions":0}}}]},{"date":"2024-04-12","commitResults":[{"hash":"ff8e9b135c35dd1949ea25778da1146876a4f62d","isMergeCommit":false,"messageTitle":"Fix off-positioned close button in imported modal (#2487)","messageBody":"---------\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"md":{"insertions":16,"deletions":0},"vue":{"insertions":4,"deletions":4},"js":{"insertions":4,"deletions":1}}}]},{"date":"2024-04-18","commitResults":[{"hash":"f616fd2acfebba90d91b01251e91393b937a82aa","isMergeCommit":false,"messageTitle":"Rule based html validation against hydration (#2493)","messageBody":"* Add rule based html validation against Vue hydration issue\r\n\r\n* Improve docs\r\n\r\n* Update test\r\n\r\n* Add rule to check against table tag without tboby\r\n\r\n* Update docs/devGuide/design/serverSideRendering.md\r\n\r\n* Update packages/core/test/unit/utils/HtmlValidationUtil.test.ts\r\n\r\n* Update packages/core/src/utils/htmlValidationUtil.ts\r\n\r\n* Update packages/core/test/unit/utils/HtmlValidationUtil.test.ts\r\n---------\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"md":{"insertions":6,"deletions":0}}},{"hash":"bb8d02fe1a2fb75300b6819b703e21ac88acf3b9","isMergeCommit":false,"messageTitle":"Support text-icons of lists (#2520)","messageBody":"* Add text-icons of lists\r\n\r\n* Update test\r\n\r\n* Trim texts\r\n\r\n* Update user doc\r\n\r\n* Update input format\r\n\r\n* Update test\r\n\r\n* Update user guide\r\n\r\n* Improve code quality\r\n\r\n* Fix cannot override\r\n\r\n* Format the code\r\n\r\n* Update docs/userGuide/syntax/lists.md\r\n\r\n* Update docs/userGuide/syntax/lists.md\r\n\r\n* Improve code\r\n\r\n* Update user docs\r\n\r\n* Update docs/userGuide/syntax/lists.md\r\n\r\n* Update docs/userGuide/syntax/lists.md\r\n\r\n* Update docs/userGuide/syntax/lists.md\r\n\r\n---------\r\n\r\nCo-authored-by: Chan Yu Cheng \u003c77204346+yucheng11122017@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"md":{"insertions":82,"deletions":0},"js":{"insertions":43,"deletions":1}}}]}],"jonasongg":[],"domoberzin":[],"asdfghjkxd":[],"yuanxi1":[],"supermii2":[],"marquestye":[],"nknguyenhc":[],"Arif-Khalid":[],"NereusWB922":[],"dishenggg":[],"MadLamprey":[],"Tim-Siu":[{"date":"2024-01-28","commitResults":[{"hash":"25326afde09843a79c4c6efb8bf0d8733844d415","isMergeCommit":false,"messageTitle":"Correct broken UG external link (#2392)","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":2,"deletions":2}}}]},{"date":"2024-02-01","commitResults":[{"hash":"67ae4b134ce35eacad680850b7233e39a516b71e","isMergeCommit":false,"messageTitle":"Use a more noticeable color for highlight words in fenced code under dark theme","messageBody":"","fileTypesAndContributionMap":{"css":{"insertions":8,"deletions":8}}}]},{"date":"2024-02-28","commitResults":[{"hash":"990d6136d1103ceae3005f1fe72be920cc7a6448","isMergeCommit":false,"messageTitle":"Automatically enforce soft-wrapping and add line-numbers when code is cut off for printing","messageBody":"","fileTypesAndContributionMap":{"css":{"insertions":29,"deletions":4},"md":{"insertions":10,"deletions":0},"js":{"insertions":18,"deletions":0}}}]},{"date":"2024-04-08","commitResults":[{"hash":"353300c5f0e2bc095213e852aba03455e485c57f","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into include-log","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2024-04-13","commitResults":[{"hash":"69567576c8e75623e349eaa66008f3d67c3ec8e8","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into include-log","messageBody":"","fileTypesAndContributionMap":{}}]},{"date":"2024-04-14","commitResults":[{"hash":"ed5e8b14024fa5813f29f1c345a8e8496735d4cc","isMergeCommit":false,"messageTitle":"Add examples in siteNavigationMenus.md","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":5,"deletions":0}}},{"hash":"fef8cedd123a74d28e0b9a868c898814ceab90f0","isMergeCommit":false,"messageTitle":"Fix redundant example","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":4,"deletions":6}}}]},{"date":"2024-04-15","commitResults":[{"hash":"799e2ccaa00875dc67b8a71ea74ed18e243cdbe1","isMergeCommit":true,"messageTitle":"Merge branch \u0027master\u0027 into include-log","messageBody":"","fileTypesAndContributionMap":{}},{"hash":"9cd7de939d904e5d92295a144c9f2c3dd01177f0","isMergeCommit":false,"messageTitle":"Fix wrong information","messageBody":"","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1}}}]}]},"authorFileTypeContributionMap":{"xenosf":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"sopa301":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"mingyuanc":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"jingting1412":{"java":0,"js":148,"css":676,"json":85,"md":661,"mbd":0,"mbdf":0,"njk":72,"py":0,"vue":55,"yml":0},"KevinEyo1":{"java":0,"js":619,"css":675,"json":206,"md":1017,"mbd":0,"mbdf":0,"njk":0,"py":15,"vue":0,"yml":175},"LamJiuFong":{"java":0,"js":52,"css":71,"json":7,"md":11,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":69,"yml":0},"yiwen101":{"java":0,"js":94,"css":33384,"json":16440,"md":253,"mbd":0,"mbdf":0,"njk":1,"py":0,"vue":10,"yml":0},"jonasongg":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"domoberzin":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"asdfghjkxd":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"yuanxi1":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"supermii2":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"marquestye":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"nknguyenhc":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"Arif-Khalid":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"NereusWB922":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"dishenggg":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"MadLamprey":{"java":0,"js":0,"css":0,"json":0,"md":0,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0},"Tim-Siu":{"java":0,"js":18,"css":31,"json":0,"md":14,"mbd":0,"mbdf":0,"njk":0,"py":0,"vue":0,"yml":0}},"authorContributionVariance":{"xenosf":0.0,"sopa301":0.0,"mingyuanc":0.0,"jingting1412":12421.907,"KevinEyo1":36075.02,"LamJiuFong":498.21793,"yiwen101":7784811.0,"jonasongg":0.0,"domoberzin":0.0,"asdfghjkxd":0.0,"yuanxi1":0.0,"supermii2":0.0,"marquestye":0.0,"nknguyenhc":0.0,"Arif-Khalid":0.0,"NereusWB922":0.0,"dishenggg":0.0,"MadLamprey":0.0,"Tim-Siu":29.667143},"authorDisplayNameMap":{"xenosf":"XENO..NONG","sopa301":"POON..RYAN","mingyuanc":"CHIN..YUAN","jingting1412":"WANG..TING","KevinEyo1":"EYO ..EVIN","LamJiuFong":"LAM ..FONG","yiwen101":"WANG..IWEN","jonasongg":"JONA.. WEI","domoberzin":"DOMI.. GIN","asdfghjkxd":"GEOR.. YAO","yuanxi1":"ZHU ..ANXI","supermii2":"ALVI..S NG","marquestye":"TYE ..QUES","nknguyenhc":"NGUY..UYEN","Arif-Khalid":"ARIF..ALID","NereusWB922":"NERE.. BIN","dishenggg":"YEO ..HENG","MadLamprey":"MISR..ITYA","Tim-Siu":"XU S..UYAO"}} diff --git a/reposense-logs/reposense.log.0 b/reposense-logs/reposense.log.0 index d36343b..6e63fdb 100644 --- a/reposense-logs/reposense.log.0 +++ b/reposense-logs/reposense.log.0 @@ -1,1546 +1,1546 @@ -Apr 18, 2024 12:02:15 AM reposense.system.LogsManager addFileHandler +Apr 19, 2024 12:02:09 AM reposense.system.LogsManager addFileHandler INFO: Log temp folder has been successfully created -Apr 18, 2024 12:02:15 AM reposense.parser.CsvParser validateHeader +Apr 19, 2024 12:02:09 AM reposense.parser.CsvParser validateHeader INFO: Parsed header of CSV file, repo-config.csv, and recognized columns: Ignore Standalone Config, Repository's Location, Branch, Shallow Cloning, File formats, Ignore Glob List, Ignore Authors List, Find Previous Authors, Ignore Commits List -Apr 18, 2024 12:02:15 AM reposense.parser.CsvParser validateHeader +Apr 19, 2024 12:02:09 AM reposense.parser.CsvParser validateHeader INFO: Parsed header of CSV file, author-config.csv, and recognized columns: Author's Emails, Repository's Location, Author's GitHub ID, Branch, Author's Display Name, Ignore Glob List, Author's Git Author Name -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias marquestye found. The alias will belong to the last author - marquestye -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias arif-khalid found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Arif-Khalid -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias kevineyo1 found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - KevinEyo1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias domoberzin found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - domoberzin -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yuanxi1 found. The alias will belong to the last author - yuanxi1 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias dishenggg found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - dishenggg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - asdfghjkxd -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias supermii2 found. The alias will belong to the last author - supermii2 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jonasongg found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jonasongg -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nereuswb922 found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - NereusWB922 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lamjiufong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - LamJiuFong -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - xenosf -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias yiwen101 found. The alias will belong to the last author - yiwen101 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sopa301 found. The alias will belong to the last author - sopa301 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias mingyuanc found. The alias will belong to the last author - mingyuanc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias nknguyenhc found. The alias will belong to the last author - nknguyenhc -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jingting1412 found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - jingting1412 -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias tim-siu found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - Tim-Siu -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias sean leong found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias jiachen found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.model.AuthorConfiguration checkDuplicateAliases +Apr 19, 2024 12:02:09 AM reposense.model.AuthorConfiguration checkDuplicateAliases WARNING: Duplicate alias lzq found. The alias will belong to the last author - MadLamprey -Apr 18, 2024 12:02:15 AM reposense.git.GitConfig getGlobalGitLfsConfig +Apr 19, 2024 12:02:09 AM reposense.git.GitConfig getGlobalGitLfsConfig WARNING: Could not get global git lfs config java.lang.RuntimeException: reposense.system.CommandRunnerProcessException: Error returned from command git config --global --list on path . : fatal: unable to read config file '/home/runner/.gitconfig': No such file or directory @@ -1556,115 +1556,115 @@ fatal: unable to read config file '/home/runner/.gitconfig': No such file or dir at reposense.system.CommandRunner.runCommand(CommandRunner.java:21) ... 3 more -Apr 18, 2024 12:02:15 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/reposense/reposense.git... -Apr 18, 2024 12:02:15 AM reposense.report.RepoCloner spawnCloneProcess +Apr 19, 2024 12:02:09 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/markbind/markbind.git... -Apr 18, 2024 12:02:15 AM reposense.report.RepoCloner spawnCloneProcess -INFO: Cloning in parallel from https://github.com/CATcher-org/WATcher.git... -Apr 18, 2024 12:02:15 AM reposense.report.RepoCloner spawnCloneProcess +Apr 19, 2024 12:02:09 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/reposense/reposense.git... +Apr 19, 2024 12:02:09 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/TEAMMATES/teammates.git... -Apr 18, 2024 12:02:15 AM reposense.report.RepoCloner waitForCloneProcess -INFO: Waiting for cloning of https://github.com/markbind/markbind.git to complete... -Apr 18, 2024 12:02:15 AM reposense.report.RepoCloner waitForCloneProcess +Apr 19, 2024 12:02:09 AM reposense.report.RepoCloner spawnCloneProcess +INFO: Cloning in parallel from https://github.com/CATcher-org/WATcher.git... +Apr 19, 2024 12:02:09 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/TEAMMATES/teammates.git to complete... -Apr 18, 2024 12:02:15 AM reposense.report.RepoCloner waitForCloneProcess +Apr 19, 2024 12:02:09 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/CATcher-org/WATcher.git to complete... -Apr 18, 2024 12:02:15 AM reposense.report.RepoCloner waitForCloneProcess +Apr 19, 2024 12:02:09 AM reposense.report.RepoCloner waitForCloneProcess +INFO: Waiting for cloning of https://github.com/markbind/markbind.git to complete... +Apr 19, 2024 12:02:09 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/reposense/reposense.git to complete... -Apr 18, 2024 12:02:16 AM reposense.report.RepoCloner waitForCloneProcess +Apr 19, 2024 12:02:10 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/CATcher-org/WATcher.git completed! -Apr 18, 2024 12:02:16 AM reposense.report.RepoCloner spawnCloneProcess +Apr 19, 2024 12:02:10 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/CATcher-org/CATcher.git... -Apr 18, 2024 12:02:16 AM reposense.report.ReportGenerator analyzeRepos +Apr 19, 2024 12:02:10 AM reposense.report.ReportGenerator analyzeRepos INFO: [1/6] Analyzing https://github.com/CATcher-org/WATcher.git (main)... -Apr 18, 2024 12:02:16 AM reposense.report.RepoCloner waitForCloneProcess +Apr 19, 2024 12:02:10 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/CATcher-org/CATcher.git to complete... -Apr 18, 2024 12:02:16 AM reposense.report.ReportGenerator updateRepoConfig +Apr 19, 2024 12:02:10 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/CATcher-org/WATcher.git (main) does not contain a standalone config file. -Apr 18, 2024 12:02:16 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Apr 19, 2024 12:02:10 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/CATcher-org/WATcher.git (main)... -Apr 18, 2024 12:02:19 AM reposense.report.RepoCloner waitForCloneProcess +Apr 19, 2024 12:02:12 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/CATcher-org/CATcher.git completed! -Apr 18, 2024 12:02:19 AM reposense.report.RepoCloner spawnCloneProcess +Apr 19, 2024 12:02:12 AM reposense.report.RepoCloner spawnCloneProcess INFO: Cloning in parallel from https://github.com/se-edu/addressbook-level3.git... -Apr 18, 2024 12:02:19 AM reposense.report.ReportGenerator analyzeRepos +Apr 19, 2024 12:02:12 AM reposense.report.ReportGenerator analyzeRepos INFO: [2/6] Analyzing https://github.com/CATcher-org/CATcher.git (master)... -Apr 18, 2024 12:02:19 AM reposense.report.RepoCloner waitForCloneProcess +Apr 19, 2024 12:02:12 AM reposense.report.RepoCloner waitForCloneProcess INFO: Waiting for cloning of https://github.com/se-edu/addressbook-level3.git to complete... -Apr 18, 2024 12:02:19 AM reposense.report.ReportGenerator updateRepoConfig +Apr 19, 2024 12:02:12 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/CATcher-org/CATcher.git (master) does not contain a standalone config file. -Apr 18, 2024 12:02:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Apr 19, 2024 12:02:12 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/CATcher-org/CATcher.git (master)... -Apr 18, 2024 12:02:19 AM reposense.report.RepoCloner waitForCloneProcess +Apr 19, 2024 12:02:13 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/markbind/markbind.git completed! -Apr 18, 2024 12:02:20 AM reposense.report.ReportGenerator analyzeRepos +Apr 19, 2024 12:02:13 AM reposense.report.ReportGenerator analyzeRepos INFO: [3/6] Analyzing https://github.com/markbind/markbind.git (master)... -Apr 18, 2024 12:02:20 AM reposense.report.RepoCloner waitForCloneProcess +Apr 19, 2024 12:02:14 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/se-edu/addressbook-level3.git completed! -Apr 18, 2024 12:02:20 AM reposense.report.ReportGenerator analyzeRepos +Apr 19, 2024 12:02:14 AM reposense.report.ReportGenerator analyzeRepos INFO: [4/6] Analyzing https://github.com/se-edu/addressbook-level3.git (master)... -Apr 18, 2024 12:02:20 AM reposense.report.ReportGenerator updateRepoConfig +Apr 19, 2024 12:02:14 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/se-edu/addressbook-level3.git (master) does not contain a standalone config file. -Apr 18, 2024 12:02:20 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Apr 19, 2024 12:02:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/se-edu/addressbook-level3.git (master)... -Apr 18, 2024 12:02:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos -INFO: Extracting commits info for https://github.com/se-edu/addressbook-level3.git (master)... -Apr 18, 2024 12:02:21 AM reposense.report.ReportGenerator updateRepoConfig +Apr 19, 2024 12:02:14 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/markbind/markbind.git (master) does not contain a standalone config file. -Apr 18, 2024 12:02:21 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Apr 19, 2024 12:02:14 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/markbind/markbind.git (master)... -Apr 18, 2024 12:02:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Apr 19, 2024 12:02:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/CATcher-org/WATcher.git (main)... -Apr 18, 2024 12:02:21 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Apr 19, 2024 12:02:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos +INFO: Extracting commits info for https://github.com/se-edu/addressbook-level3.git (master)... +Apr 19, 2024 12:02:15 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/CATcher-org/CATcher.git (master)... -Apr 18, 2024 12:02:21 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Apr 19, 2024 12:02:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/se-edu/addressbook-level3.git (master)... -Apr 18, 2024 12:02:21 AM reposense.report.ReportGenerator analyzeRepo -INFO: Analysis of https://github.com/se-edu/addressbook-level3.git (master) completed! -Apr 18, 2024 12:02:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Apr 19, 2024 12:02:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/CATcher-org/WATcher.git (main)... -Apr 18, 2024 12:02:22 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Apr 19, 2024 12:02:15 AM reposense.report.ReportGenerator analyzeRepo +INFO: Analysis of https://github.com/se-edu/addressbook-level3.git (master) completed! +Apr 19, 2024 12:02:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/CATcher-org/CATcher.git (master)... -Apr 18, 2024 12:02:22 AM reposense.report.ReportGenerator analyzeRepo +Apr 19, 2024 12:02:15 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/CATcher-org/CATcher.git (master) completed! -Apr 18, 2024 12:02:22 AM reposense.report.ReportGenerator analyzeRepo +Apr 19, 2024 12:02:15 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/CATcher-org/WATcher.git (main) completed! -Apr 18, 2024 12:02:26 AM reposense.report.RepoCloner waitForCloneProcess +Apr 19, 2024 12:02:19 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/reposense/reposense.git completed! -Apr 18, 2024 12:02:26 AM reposense.report.ReportGenerator analyzeRepos +Apr 19, 2024 12:02:19 AM reposense.report.ReportGenerator analyzeRepos INFO: [5/6] Analyzing https://github.com/reposense/reposense.git (master)... -Apr 18, 2024 12:02:26 AM reposense.report.ReportGenerator updateRepoConfig +Apr 19, 2024 12:02:19 AM reposense.report.ReportGenerator updateRepoConfig INFO: Ignoring standalone config file in https://github.com/reposense/reposense.git (master). -Apr 18, 2024 12:02:26 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Apr 19, 2024 12:02:19 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/reposense/reposense.git (master)... -Apr 18, 2024 12:02:31 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Apr 19, 2024 12:02:24 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/reposense/reposense.git (master)... -Apr 18, 2024 12:02:32 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Apr 19, 2024 12:02:25 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/reposense/reposense.git (master)... -Apr 18, 2024 12:02:32 AM reposense.report.ReportGenerator analyzeRepo +Apr 19, 2024 12:02:25 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/reposense/reposense.git (master) completed! -Apr 18, 2024 12:02:33 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Apr 19, 2024 12:02:27 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/markbind/markbind.git (master)... -Apr 18, 2024 12:02:33 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Apr 19, 2024 12:02:27 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/markbind/markbind.git (master)... -Apr 18, 2024 12:02:33 AM reposense.report.ReportGenerator analyzeRepo +Apr 19, 2024 12:02:27 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/markbind/markbind.git (master) completed! -Apr 18, 2024 12:02:37 AM reposense.report.RepoCloner waitForCloneProcess +Apr 19, 2024 12:02:31 AM reposense.report.RepoCloner waitForCloneProcess INFO: Cloning of https://github.com/TEAMMATES/teammates.git completed! -Apr 18, 2024 12:02:37 AM reposense.report.ReportGenerator analyzeRepos +Apr 19, 2024 12:02:31 AM reposense.report.ReportGenerator analyzeRepos INFO: [6/6] Analyzing https://github.com/TEAMMATES/teammates.git (master)... -Apr 18, 2024 12:02:37 AM reposense.report.ReportGenerator updateRepoConfig +Apr 19, 2024 12:02:31 AM reposense.report.ReportGenerator updateRepoConfig INFO: https://github.com/TEAMMATES/teammates.git (master) does not contain a standalone config file. -Apr 18, 2024 12:02:37 AM reposense.authorship.FileInfoExtractor extractTextFileInfos +Apr 19, 2024 12:02:31 AM reposense.authorship.FileInfoExtractor extractTextFileInfos INFO: Extracting relevant file info from https://github.com/TEAMMATES/teammates.git (master)... -Apr 18, 2024 12:03:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos +Apr 19, 2024 12:03:14 AM reposense.commits.CommitInfoExtractor extractCommitInfos INFO: Extracting commits info for https://github.com/TEAMMATES/teammates.git (master)... -Apr 18, 2024 12:03:15 AM reposense.commits.CommitInfoAnalyzer analyzeCommits +Apr 19, 2024 12:03:14 AM reposense.commits.CommitInfoAnalyzer analyzeCommits INFO: Analyzing commits info for https://github.com/TEAMMATES/teammates.git (master)... -Apr 18, 2024 12:03:15 AM reposense.report.ReportGenerator analyzeRepo +Apr 19, 2024 12:03:14 AM reposense.report.ReportGenerator analyzeRepo INFO: Analysis of https://github.com/TEAMMATES/teammates.git (master) completed! -Apr 18, 2024 12:03:15 AM reposense.report.ReportGenerator generateReposReport +Apr 19, 2024 12:03:14 AM reposense.report.ReportGenerator generateReposReport INFO: The report is generated at /home/runner/work/2024-dashboard/2024-dashboard/reposense-report -Apr 18, 2024 12:03:15 AM reposense.RepoSense main -INFO: Elapsed processing time: 1 minute(s) 0.70 second(s) +Apr 19, 2024 12:03:15 AM reposense.RepoSense main +INFO: Elapsed processing time: 1 minute(s) 6.21 second(s) diff --git a/reposense_reposense_master/authorship.json b/reposense_reposense_master/authorship.json index d81ef69..fa9d09a 100644 --- a/reposense_reposense_master/authorship.json +++ b/reposense_reposense_master/authorship.json @@ -1 +1 @@ -[{"path":".github/workflows/gh-pages.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# This workflow executes the various RepoSense tests"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"name: GitHub Pages"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"on:"},{"lineNumber":6,"author":{"gitId":"-"},"content":" push:"},{"lineNumber":7,"author":{"gitId":"-"},"content":" branches:"},{"lineNumber":8,"author":{"gitId":"-"},"content":" - master"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"jobs:"},{"lineNumber":11,"author":{"gitId":"-"},"content":" deploy-gh-pages:"},{"lineNumber":12,"author":{"gitId":"-"},"content":" name: Deploy MarkBind to GitHub Pages"},{"lineNumber":13,"author":{"gitId":"-"},"content":" runs-on: ubuntu-latest"},{"lineNumber":14,"author":{"gitId":"-"},"content":" env:"},{"lineNumber":15,"author":{"gitId":"-"},"content":" NODE_VERSION: \"lts/*\""},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" steps:"},{"lineNumber":18,"author":{"gitId":"-"},"content":" - name: Checkout repository"},{"lineNumber":19,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" - name: Set up Node.js"},{"lineNumber":22,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3"},{"lineNumber":23,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" node-version: \u002718.x\u0027"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" - name: Set up Node caching"},{"lineNumber":27,"author":{"gitId":"-"},"content":" uses: actions/cache@v3"},{"lineNumber":28,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":29,"author":{"gitId":"-"},"content":" path: ~/.npm"},{"lineNumber":30,"author":{"gitId":"-"},"content":" key: ${{ runner.os }}-node-${{ hashFiles(\u0027**/package-lock.json\u0027) }}"},{"lineNumber":31,"author":{"gitId":"-"},"content":" restore-keys: |"},{"lineNumber":32,"author":{"gitId":"-"},"content":" ${{ runner.os }}-node-"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" - name: Install Graphviz"},{"lineNumber":35,"author":{"gitId":"-"},"content":" run: sudo apt-get -y install graphviz"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" - name: Install MarkBind CLI"},{"lineNumber":38,"author":{"gitId":"-"},"content":" run: npm i -g markbind-cli"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" - name: Build MarkBind website"},{"lineNumber":41,"author":{"gitId":"-"},"content":" run: cd docs \u0026\u0026 markbind build --baseUrl /RepoSense"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" - name: Deploy to GitHub Pages"},{"lineNumber":44,"author":{"gitId":"-"},"content":" if: success()"},{"lineNumber":45,"author":{"gitId":"-"},"content":" uses: crazy-max/ghaction-github-pages@v2"},{"lineNumber":46,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":47,"author":{"gitId":"-"},"content":" target_branch: gh-pages"},{"lineNumber":48,"author":{"gitId":"-"},"content":" build_dir: docs/_site"},{"lineNumber":49,"author":{"gitId":"-"},"content":" keep_history: true"},{"lineNumber":50,"author":{"gitId":"-"},"content":" env:"},{"lineNumber":51,"author":{"gitId":"-"},"content":" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}"}],"authorContributionMap":{"sopa301":1,"-":50}},{"path":".github/workflows/integration.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# This workflow executes the various RepoSense tests"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"name: Continuous Integration"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"on:"},{"lineNumber":6,"author":{"gitId":"-"},"content":" push:"},{"lineNumber":7,"author":{"gitId":"-"},"content":" branches-ignore:"},{"lineNumber":8,"author":{"gitId":"-"},"content":" - gh-pages"},{"lineNumber":9,"author":{"gitId":"-"},"content":" pull_request:"},{"lineNumber":10,"author":{"gitId":"-"},"content":" branches-ignore:"},{"lineNumber":11,"author":{"gitId":"-"},"content":" - gh-pages"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"env:"},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" NODE_VER: \u002718.x\u0027"},{"lineNumber":15,"author":{"gitId":"-"},"content":" JAVA_DISTRIBUTION: \u0027zulu\u0027"},{"lineNumber":16,"author":{"gitId":"-"},"content":" JAVA_VER: 8"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"jobs:"},{"lineNumber":19,"author":{"gitId":"-"},"content":" mainbuild:"},{"lineNumber":20,"author":{"gitId":"-"},"content":" name: ${{ matrix.os }} JDK 8"},{"lineNumber":21,"author":{"gitId":"-"},"content":" strategy:"},{"lineNumber":22,"author":{"gitId":"-"},"content":" fail-fast: false"},{"lineNumber":23,"author":{"gitId":"-"},"content":" matrix:"},{"lineNumber":24,"author":{"gitId":"-"},"content":" os: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12, windows-2019, windows-2022]"},{"lineNumber":25,"author":{"gitId":"-"},"content":" runs-on: ${{ matrix.os }}"},{"lineNumber":26,"author":{"gitId":"-"},"content":" env:"},{"lineNumber":27,"author":{"gitId":"-"},"content":" HOMEBREW_NO_AUTO_UPDATE: 1 # Prevent time-consuming brew update"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" steps:"},{"lineNumber":30,"author":{"gitId":"-"},"content":" - name: Checkout repository"},{"lineNumber":31,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3"},{"lineNumber":32,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":33,"author":{"gitId":"-"},"content":" fetch-depth: 0"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" - name: Set up JDK 1.8"},{"lineNumber":36,"author":{"gitId":"-"},"content":" uses: actions/setup-java@v3"},{"lineNumber":37,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":38,"author":{"gitId":"-"},"content":" distribution: ${{ env.JAVA_DISTRIBUTION }}"},{"lineNumber":39,"author":{"gitId":"-"},"content":" java-version: ${{ env.JAVA_VER }}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" - name: Verify Java version"},{"lineNumber":42,"author":{"gitId":"-"},"content":" run: echo \"Actual JDK in use -- \"; java -version"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" - name: Set up Node.js"},{"lineNumber":45,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3"},{"lineNumber":46,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":47,"author":{"gitId":"-"},"content":" node-version: ${{ env.NODE_VER }}"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" - name: Set up Gradle caching"},{"lineNumber":50,"author":{"gitId":"-"},"content":" uses: actions/cache@v3"},{"lineNumber":51,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":52,"author":{"gitId":"-"},"content":" path: |"},{"lineNumber":53,"author":{"gitId":"-"},"content":" $HOME/.gradle/caches"},{"lineNumber":54,"author":{"gitId":"-"},"content":" $HOME/.gradle/wrapper"},{"lineNumber":55,"author":{"gitId":"-"},"content":" key: ${{ matrix.os }}-gradle-${{ hashFiles(\u0027**/*.gradle*\u0027) }}"},{"lineNumber":56,"author":{"gitId":"-"},"content":" restore-keys: |"},{"lineNumber":57,"author":{"gitId":"-"},"content":" ${{ matrix.os }}-gradle-"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" - name: Set up Node caching"},{"lineNumber":60,"author":{"gitId":"-"},"content":" uses: actions/cache@v3"},{"lineNumber":61,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":62,"author":{"gitId":"-"},"content":" path: $HOME/.npm"},{"lineNumber":63,"author":{"gitId":"-"},"content":" key: ${{ matrix.os }}-node-${{ hashFiles(\u0027**/package-lock.json\u0027) }}"},{"lineNumber":64,"author":{"gitId":"-"},"content":" restore-keys: |"},{"lineNumber":65,"author":{"gitId":"-"},"content":" ${{ matrix.os }}-node-"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" - name: Grant execute permission for gradlew"},{"lineNumber":68,"author":{"gitId":"-"},"content":" if: ${{ runner.os !\u003d \u0027Windows\u0027 }}"},{"lineNumber":69,"author":{"gitId":"-"},"content":" run: chmod +x gradlew # Windows does not need this"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" - name: Run environmental checks"},{"lineNumber":72,"author":{"gitId":"-"},"content":" run: ./gradlew environmentalChecks"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" - name: Run linter"},{"lineNumber":75,"author":{"gitId":"-"},"content":" run: ./gradlew lintFrontend"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" - name: Build with Gradle"},{"lineNumber":78,"author":{"gitId":"-"},"content":" run: ./gradlew clean checkstyleAll test systemTest coverage"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" - name: Run code coverage"},{"lineNumber":81,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 ( matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 || matrix.os \u003d\u003d \u0027macos-11\u0027 || matrix.os \u003d\u003d \u0027windows-2022\u0027 ) }}"},{"lineNumber":82,"author":{"gitId":"-"},"content":" uses: codecov/codecov-action@v3"},{"lineNumber":83,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":84,"author":{"gitId":"-"},"content":" directory: ${{ github.workspace }}/build/reports/jacoco/coverage"},{"lineNumber":85,"author":{"gitId":"-"},"content":" files: coverage.xml"},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":" fail_ci_if_error: false"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" - name: Build preview website (pull request)"},{"lineNumber":89,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 github.event_name \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 }}"},{"lineNumber":90,"author":{"gitId":"-"},"content":" run: |"},{"lineNumber":91,"author":{"gitId":"-"},"content":" git fetch --all \u0026\u0026 git config --global user.email \"-\" \u0026\u0026 git config --global user.name \"-\" \u0026\u0026 ./gradlew run -Dargs\u003d\"--since d1\""},{"lineNumber":92,"author":{"gitId":"-"},"content":" sudo apt-get -y install graphviz"},{"lineNumber":93,"author":{"gitId":"-"},"content":" npm install -g markbind-cli"},{"lineNumber":94,"author":{"gitId":"-"},"content":" (cd docs \u0026\u0026 markbind build)"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" - name: Save PR number and HEAD commit (pull request)"},{"lineNumber":97,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 github.event_name \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 }}"},{"lineNumber":98,"author":{"gitId":"-"},"content":" run: |"},{"lineNumber":99,"author":{"gitId":"-"},"content":" mkdir -p ./pr"},{"lineNumber":100,"author":{"gitId":"-"},"content":" echo ${{ github.event.number }} \u003e ./pr/NUMBER"},{"lineNumber":101,"author":{"gitId":"-"},"content":" echo ${{ github.event.pull_request.head.sha }} \u003e ./pr/SHA"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" - name: Upload artifacts (pull request)"},{"lineNumber":104,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 github.event_name \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 }}"},{"lineNumber":105,"author":{"gitId":"-"},"content":" uses: actions/upload-artifact@v3"},{"lineNumber":106,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":107,"author":{"gitId":"-"},"content":" name: reposense-deployment"},{"lineNumber":108,"author":{"gitId":"-"},"content":" path: |"},{"lineNumber":109,"author":{"gitId":"-"},"content":" ./reposense-report"},{"lineNumber":110,"author":{"gitId":"-"},"content":" ./docs/_site"},{"lineNumber":111,"author":{"gitId":"-"},"content":" ./pr"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" cypress:"},{"lineNumber":114,"author":{"gitId":"-"},"content":" name: Cypress frontend tests"},{"lineNumber":115,"author":{"gitId":"-"},"content":" runs-on: ubuntu-20.04"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" steps:"},{"lineNumber":118,"author":{"gitId":"-"},"content":" - name: Checkout repository"},{"lineNumber":119,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3"},{"lineNumber":120,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":121,"author":{"gitId":"-"},"content":" fetch-depth: 0"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" - name: Set up JDK 1.8"},{"lineNumber":124,"author":{"gitId":"-"},"content":" uses: actions/setup-java@v3"},{"lineNumber":125,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":126,"author":{"gitId":"-"},"content":" distribution: ${{ env.JAVA_DISTRIBUTION }}"},{"lineNumber":127,"author":{"gitId":"-"},"content":" java-version: ${{ env.JAVA_VER }}"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" - name: Verify Java version"},{"lineNumber":130,"author":{"gitId":"-"},"content":" run: echo \"Actual JDK in use -- \"; java -version"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" - name: Set up Node.js"},{"lineNumber":133,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3"},{"lineNumber":134,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":135,"author":{"gitId":"-"},"content":" node-version: ${{ env.NODE_VER }}"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" - name: Set up Gradle caching"},{"lineNumber":138,"author":{"gitId":"-"},"content":" uses: actions/cache@v3"},{"lineNumber":139,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":140,"author":{"gitId":"-"},"content":" path: |"},{"lineNumber":141,"author":{"gitId":"-"},"content":" $HOME/.gradle/caches"},{"lineNumber":142,"author":{"gitId":"-"},"content":" $HOME/.gradle/wrapper"},{"lineNumber":143,"author":{"gitId":"-"},"content":" key: ${{ runner.os }}-gradle-${{ hashFiles(\u0027**/*.gradle*\u0027) }}"},{"lineNumber":144,"author":{"gitId":"-"},"content":" restore-keys: |"},{"lineNumber":145,"author":{"gitId":"-"},"content":" ${{ runner.os }}-gradle-"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" - name: Set up Node caching"},{"lineNumber":148,"author":{"gitId":"-"},"content":" uses: actions/cache@v3"},{"lineNumber":149,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":150,"author":{"gitId":"-"},"content":" path: $HOME/.npm"},{"lineNumber":151,"author":{"gitId":"-"},"content":" key: ${{ runner.os }}-node-${{ hashFiles(\u0027**/package-lock.json\u0027) }}"},{"lineNumber":152,"author":{"gitId":"-"},"content":" restore-keys: |"},{"lineNumber":153,"author":{"gitId":"-"},"content":" ${{ runner.os }}-node-"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" - name: Grant execute permission for gradlew"},{"lineNumber":156,"author":{"gitId":"-"},"content":" run: chmod +x gradlew"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" - name: Set up environment"},{"lineNumber":159,"author":{"gitId":"-"},"content":" run: sudo apt-get install -y libgtk2.0-0 libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" - name: Run frontend tests"},{"lineNumber":162,"author":{"gitId":"-"},"content":" run: ./gradlew frontendTest -Pci"}],"authorContributionMap":{"asdfghjkxd":1,"sopa301":1,"-":160}},{"path":".github/workflows/surge.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# This workflow deploys a RepoSense report and the MarkBind documentation"},{"lineNumber":2,"author":{"gitId":"-"},"content":"# website to surge.sh in a secure manner for pull requests"},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"-"},"content":"name: Surge.sh build preview"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"on:"},{"lineNumber":7,"author":{"gitId":"-"},"content":" workflow_run:"},{"lineNumber":8,"author":{"gitId":"-"},"content":" workflows: [\"Continuous Integration\"]"},{"lineNumber":9,"author":{"gitId":"-"},"content":" types:"},{"lineNumber":10,"author":{"gitId":"-"},"content":" - completed"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"jobs:"},{"lineNumber":13,"author":{"gitId":"-"},"content":" deploy:"},{"lineNumber":14,"author":{"gitId":"-"},"content":" name: Deploy to surge.sh"},{"lineNumber":15,"author":{"gitId":"-"},"content":" runs-on: ubuntu-latest"},{"lineNumber":16,"author":{"gitId":"-"},"content":" if: ${{ github.event.workflow_run.event \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 github.event.workflow_run.conclusion \u003d\u003d \u0027success\u0027 }}"},{"lineNumber":17,"author":{"gitId":"-"},"content":" env:"},{"lineNumber":18,"author":{"gitId":"-"},"content":" NODE_VERSION: \"lts/*\""},{"lineNumber":19,"author":{"gitId":"-"},"content":" GITHUB_TOKEN: ${{ github.token }}"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" steps:"},{"lineNumber":22,"author":{"gitId":"-"},"content":" - name: Checkout repository"},{"lineNumber":23,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" - name: Set up Node.js"},{"lineNumber":26,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3"},{"lineNumber":27,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" node-version: \u002718.x\u0027"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" - name: Download deployment artifacts"},{"lineNumber":31,"author":{"gitId":"-"},"content":" uses: dawidd6/action-download-artifact@v2"},{"lineNumber":32,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":33,"author":{"gitId":"-"},"content":" workflow: integration.yml"},{"lineNumber":34,"author":{"gitId":"-"},"content":" run_id: ${{ github.event.workflow_run.id }}"},{"lineNumber":35,"author":{"gitId":"-"},"content":" name: reposense-deployment"},{"lineNumber":36,"author":{"gitId":"-"},"content":" path: ."},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" - name: Extract PR number"},{"lineNumber":39,"author":{"gitId":"-"},"content":" id: pr-number"},{"lineNumber":40,"author":{"gitId":"-"},"content":" run: echo \u0027ACTIONS_PR_NUMBER\u003d\u0027$(cat ./pr/NUMBER) \u003e\u003e $GITHUB_OUTPUT"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" - name: Download deployment status artifacts"},{"lineNumber":43,"author":{"gitId":"-"},"content":" uses: dawidd6/action-download-artifact@v2"},{"lineNumber":44,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":45,"author":{"gitId":"-"},"content":" workflow: pending.yml"},{"lineNumber":46,"author":{"gitId":"-"},"content":" pr: ${{ steps.pr-number.outputs.ACTIONS_PR_NUMBER }}"},{"lineNumber":47,"author":{"gitId":"-"},"content":" workflow_conclusion: success"},{"lineNumber":48,"author":{"gitId":"-"},"content":" name: reposense-deployment-id"},{"lineNumber":49,"author":{"gitId":"-"},"content":" path: ./pr"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" - name: Update PR checklist for surge.sh as in progress"},{"lineNumber":52,"author":{"gitId":"-"},"content":" if: ${{ success() }}"},{"lineNumber":53,"author":{"gitId":"-"},"content":" run: ./config/gh-actions/deploy.sh in_progress"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" - name: Install surge"},{"lineNumber":56,"author":{"gitId":"-"},"content":" if: ${{ success() }}"},{"lineNumber":57,"author":{"gitId":"-"},"content":" run: npm install -g surge"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" - name: Deploy to surge.sh"},{"lineNumber":60,"author":{"gitId":"-"},"content":" if: ${{ success() }}"},{"lineNumber":61,"author":{"gitId":"-"},"content":" env:"},{"lineNumber":62,"author":{"gitId":"-"},"content":" SURGE_LOGIN: ${{ secrets.SURGE_LOGIN }}"},{"lineNumber":63,"author":{"gitId":"-"},"content":" SURGE_TOKEN: ${{ secrets.SURGE_TOKEN }}"},{"lineNumber":64,"author":{"gitId":"-"},"content":" run: ./config/gh-actions/deploy.sh success"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" - name: Update PR checklist for surge.sh as failure"},{"lineNumber":67,"author":{"gitId":"-"},"content":" if: ${{ failure() }}"},{"lineNumber":68,"author":{"gitId":"-"},"content":" run: ./config/gh-actions/deploy.sh failure"}],"authorContributionMap":{"sopa301":1,"-":67}},{"path":"docs/about.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"About us\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-3\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"RepoSense is a project based in the [National University of Singapore, School of Computing](http://www.comp.nus.edu.sg/), funded by a _Teaching Enhancement Grant_ from the [NUS Center for Development of Teaching and Learning](https://nus.edu.sg/cdtl)."},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"## Current team"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"### [Damith C. Rajapakse](http://www.comp.nus.edu.sg/~damithch)"},{"lineNumber":15,"author":{"gitId":"-"},"content":"![](https://avatars.githubusercontent.com/u/1673303?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":"**Role**: Project Advisor"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"### [Charisma Kausar](https://www.github.com/ckcherry23)"},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e"},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2022 December - 2024 January]\u003cbr/\u003e"},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":"### [David Gareth Ong](https://www.github.com/vvidday)"},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e"},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2023 January - 2024 January]\u003cbr/\u003e"},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"### [Gokul Rajiv](https://github.com/gok99)"},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e "},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2022 January - 2024 January]\u003cbr/\u003e"},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":"### [Marcus Tang Xin Kye](https://www.github.com/MarcusTXK)"},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e"},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2023 January - 2024 January]\u003cbr/\u003e"},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":"## [Chang Si Kai](https://github.com/sikai00)"},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2023 Jan - ]\u003cbr/\u003e"},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":"### [Alvis Ng](https://www.github.com/supermii2)"},{"lineNumber":50,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e"},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":"### [George Tay Quan Yao](https://www.github.com/jonasongg)"},{"lineNumber":55,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e"},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":"### [Jonas Ong Si Wei](https://www.github.com/jonasongg)"},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e"},{"lineNumber":61,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":62,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":63,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":64,"author":{"gitId":"asdfghjkxd"},"content":"### [Poon Yip Hang, Ryan](https://www.github.com/sopa301)"},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e"},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":"## Past Members"},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"### [Wang Chao](https://github.com/fzdy1914)"},{"lineNumber":72,"author":{"gitId":"-"},"content":"![](https://avatars3.githubusercontent.com/u/35621726?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Lead [2021 Jan - 2021 Dec]\u003cbr/\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":"Maintainer [2020 May - 2021 Jan]\u003cbr/\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"### [Hsu Zhong Jun](https://github.com/dcshzj)"},{"lineNumber":79,"author":{"gitId":"-"},"content":"![](https://avatars.githubusercontent.com/u/27919917?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":80,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Lead [2022 Jan - 2022 Dec]\u003cbr/\u003e"},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2021 June - 2021 Dec]\u003cbr/\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":"### [Chan Ger Hean](https://github.com/gerhean)"},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":"### [Huang Chengyu](https://github.com/HCY123902)"},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Co-Lead [2023 Jan - 2023 Apr]\u003cbr/\u003e"},{"lineNumber":92,"author":{"gitId":"asdfghjkxd"},"content":"Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e"},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e"},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"### [Chan Jun Da](https://github.com/chan-j-d)"},{"lineNumber":99,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Co-Lead [2023 Apr- 2023 Dec]\u003cbr/\u003e"},{"lineNumber":100,"author":{"gitId":"asdfghjkxd"},"content":"Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e"},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e"},{"lineNumber":102,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"### [Tay Yi Hsuen](https://github.com/yhtMinceraft1010X)"},{"lineNumber":107,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e"},{"lineNumber":108,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e"},{"lineNumber":109,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":"### [Zhou Jiahao](https://github.com/zhoukerrr)"},{"lineNumber":114,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e"},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e"},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":"### [Ma Tanghao](https://github.com/harryggg)"},{"lineNumber":121,"author":{"gitId":"-"},"content":"Main developer for the initial version [2017 May - 2018 May]"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":"### [Ong Shu Peng](https://github.com/ongspxm)"},{"lineNumber":126,"author":{"gitId":"-"},"content":"![](https://avatars0.githubusercontent.com/u/1430854?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":"**Role**: Area Lead for UI [2018 Dec - 2019 May]\u003cbr/\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":"Committer [2018 Aug - 2018 Dec]\u003cbr/\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":"Contributor [2018 May - 2018 Aug]\u003cbr/\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":"### [Tan Jun An](https://github.com/yamidark)"},{"lineNumber":134,"author":{"gitId":"-"},"content":"![](https://avatars3.githubusercontent.com/u/18352498?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":"**Role**: Area Lead for Code Quality [2018 Aug - 2019 April]\u003cbr/\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":"Committer [2018 May - 2018 Aug]\u003cbr/\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":"### [Teng Yong Hao](https://github.com/yong24s)"},{"lineNumber":141,"author":{"gitId":"-"},"content":"![](https://avatars2.githubusercontent.com/u/2003406?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":"**Role**:"},{"lineNumber":143,"author":{"gitId":"-"},"content":"Mentor [2018 Dec - 2020 May]\u003cbr/\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":"Committer [2018 Aug - 2018 Dec]\u003cbr/\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":"Contributor [2018 May - 2018 Aug]\u003cbr/\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":"### [Peh Xian Bin, Eugene](https://github.com/eugenepeh)"},{"lineNumber":150,"author":{"gitId":"-"},"content":"![](https://avatars.githubusercontent.com/u/19277206?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":"**Role**: Maintainer [2020 May - 2021 Jan]\u003cbr/\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":"Project Lead [2018 May - 2020 May]\u003cbr/\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":"### [Aditya Agarwal](https://github.com/adityaa1998)"},{"lineNumber":157,"author":{"gitId":"-"},"content":"Contributor [2018 May - 2018 Aug]"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"### [Apoorva Ullas](https://github.com/apoorva17)"},{"lineNumber":162,"author":{"gitId":"-"},"content":"Contributor [2018 Aug - 2019 May]"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":"### [Chelsey Ong Hee](https://github.com/chel-seyy)"},{"lineNumber":167,"author":{"gitId":"-"},"content":"Contributor [2018 Dec - 2019 May]"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":"### [Gilbert Emerson](https://github.com/emer7)"},{"lineNumber":172,"author":{"gitId":"-"},"content":"Contributor [2018 Dec - 2019 May]"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":"### [Teo Ming Yi](https://github.com/myteo)"},{"lineNumber":177,"author":{"gitId":"-"},"content":"Contributor [2018 Dec - 2019 May]"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":"### [Jin Minjia](https://github.com/bluein-green)"},{"lineNumber":182,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 May - 2019 Aug]\u003cbr/\u003e"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":"### [James Pang Mun Wai](https://github.com/jamessspanggg)"},{"lineNumber":187,"author":{"gitId":"-"},"content":"![](https://avatars1.githubusercontent.com/u/32864116?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":"**Role**: Committer [2020 May - 2021 Jan]\u003cbr/\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":"Contributor [2019 May - 2020 May]\u003cbr/\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":"### [Lee Jin Yao](https://github.com/jinyao-lee)"},{"lineNumber":194,"author":{"gitId":"-"},"content":"![](https://avatars3.githubusercontent.com/u/35756209?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":195,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 May - 2020 May]\u003cbr/\u003e"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":"### [Chong Chee Yuan](https://github.com/ccyccyccy)"},{"lineNumber":200,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2020 May]\u003cbr/\u003e"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":"### [Ni Tianzhen](https://github.com/niqiukun)"},{"lineNumber":205,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2020 May]\u003cbr/\u003e"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":"### [Yash Chowdhary](https://github.com/yash-chowdhary)"},{"lineNumber":210,"author":{"gitId":"-"},"content":"![](https://avatars2.githubusercontent.com/u/21968718?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2020 May]\u003cbr/\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":"### [Liu Yiwen](https://github.com/0blivious)"},{"lineNumber":216,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 August - 2021 May]\u003cbr/\u003e"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"### [Tejas Bhuwania](https://github.com/Tejas2805)"},{"lineNumber":221,"author":{"gitId":"-"},"content":"![](https://avatars2.githubusercontent.com/u/35946746?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 August - 2021 August]\u003cbr/\u003e"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":"### [Anubhav](https://github.com/anubh-v)"},{"lineNumber":227,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 September - 2020 August]\u003cbr/\u003e"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":"### [Ang Ze Yu](https://github.com/ang-zeyu)"},{"lineNumber":232,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2021 May]\u003cbr/\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":"### [Roland Yu Wenyang](https://github.com/rolandyuwy)"},{"lineNumber":237,"author":{"gitId":"-"},"content":"**Role**: Contributor [2021 January - 2021 March]\u003cbr/\u003e"},{"lineNumber":238,"author":{"gitId":"-"},"content":""}],"authorContributionMap":{"asdfghjkxd":69,"-":169}},{"path":"docs/dg/learningBasics.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Learning the Basics\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed, step with context %}"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"This is a learning guide for developers who are new to RepoSense."},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"Depending on what you know already and what you would like to work on (i.e., backend or frontend), you may find certain sections irrelevant to you and you can skip them accordingly."},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"## Backend"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"This section is for developers who want to contribute to the backend of RepoSense. You may skip this section if you want to contribute as a pure frontend developer. Before you get started, you should have set up the project on your computer according to [the _Setting up_ page](settingUp.html)."},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"The backend implementation of RepoSense is located in `src/main`."},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"{{ step(1) }} **Know Java**"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"The RepoSense backend is mostly written in `Java 8`."},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"1. You need to have a basic knowledge of Java before getting started, including its syntax, [API](https://docs.oracle.com/javase/8/docs/api/), and certain frameworks such as [JUnit](https://se-education.org/learningresources/contents/java/JUnit.html)."},{"lineNumber":37,"author":{"gitId":"-"},"content":"1. Once you are familiar with the basic syntax, you may wish to learn more advanced topics such as [concurrency](https://se-education.org/learningresources/contents/java/JavaConcurrency.html), [synchronization](https://se-education.org/learningresources/contents/java/JavaSynchronization.html), and [streams](https://se-education.org/learningresources/contents/java/streams-an-introduction.html). These topics can help you to understand certain part of the backend implementation (concurrent cloning and analysis of multiple repositories, etc.). They are optional but you may find them useful when working on certain issues."},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"{{ step(2) }} **Learn the RepoSense backend architecture**"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"You may want to refer to the [backend architecture](architecture.html) to understand the RepoSense backend implementation logic."},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"To gain a more concrete idea of how the backend works, you can use the IDE Debugger and run RepoSense under the debugging mode to trace through the steps of how arguments from command line and CSV files are parsed, how repositories are cloned and analyzed, and how the JSON files are generated."},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"The information below is for **Intellij**. If you are using a different IDE, you may need to check the documentation of how to use the debugger separately."},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"* Check the [debugging guide](https://www.jetbrains.com/help/idea/debugging-your-first-java-application.html) if you are not familiar with debugging in **Intelij**."},{"lineNumber":51,"author":{"gitId":"-"},"content":"* In `RepoSense.java`, the main class, set appropriate break points. Here are some relevant method calls in the `main` method at which you can set the breakpoints:"},{"lineNumber":52,"author":{"gitId":"-"},"content":" * `ArgsParser.parse(args)`: RepoSense parses the CLI arguments from the command given by the user."},{"lineNumber":53,"author":{"gitId":"-"},"content":" * `getRepoConfigurations(cliArguments)`: RepoSense gets the configuration for each repository by parsing the CSV files."},{"lineNumber":54,"author":{"gitId":"-"},"content":" * `getReportConfigurations(cliArguments)`: RepoSense gets the report configuration (report title) by parsing the JSON files."},{"lineNumber":55,"author":{"gitId":"-"},"content":" * `ReportGenerator.generateReposReport(...)` This is where the bulk of the work is conducted, including cloning repositories, analyzing repositories, and generating the JSON files to be used by the report."},{"lineNumber":56,"author":{"gitId":"-"},"content":"* To supply debugging arguments, right-click on the run button of `RepoSense.main`, click `Modify Run Configuration`, and add [CLI flags](https://reposense.org/ug/customizingReports.html#customize-using-cli-flags) in `Program arguments`. Examples: `--since 16/12/2021 --until 18/12/2022`; `-s 16/12/2021 -u 18/12/2022`."},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":"When tracing through the program execution, you can cross reference the architecture diagram and Javadoc of the class and method to check your understanding of the procedure."},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":"{{ step(3) }} **Gain some hands-on experience**"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":"Here are some small tasks for you to gain some basic knowledge of the code related to the RepoSense backend. You can do each in a separate branch in your local copy of the code."},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 1: Add a flag to pretty-print the JSON file**\" type\u003d\"primary\"\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" **Task 1: Add a flag to pretty-print the JSON file**"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" 1. [Generate a report locally](../ug/generatingReports.html#generating-reports-locally)."},{"lineNumber":72,"author":{"gitId":"-"},"content":" 2. Open a generated JSON file. For example, you can open `summary.json` of the generated report."},{"lineNumber":73,"author":{"gitId":"-"},"content":" 3. You should see that the content in the JSON is compactly organized in 1 single line. This may affect readability for developer who wants to investigate the content in the JSON file."},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" **Your Task**"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" Add a new CLI argument `--use-json-pretty-printing`, such that when a user runs the command `java -jar RepoSense.jar --repos LIST_OF_REPO_URLS --view --use-json-pretty-printing`, the JSON files `summary.json`, `authorship.json`, and `commits.json` will be printed in a more readable way."},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" Try to understand the parsing process of the Command Line Arguments, which starts from `ArgsParser.parse(args)` in `RepoSense.java` and uses `ArgumentParser` to capture the arguments in the command string."},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" Therefore, the first step you can take is to add the following to `ArgsParser`."},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":86,"author":{"gitId":"-"},"content":" public static final String[] JSON_PRINT_MODE_FLAGS \u003d new String[]{\"--use-json-pretty-printing\", \"-j\"};"},{"lineNumber":87,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" In `getArgumentParser` method, add the following content to make `ArgumentParser` capture the new argument."},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":92,"author":{"gitId":"-"},"content":" parser.addArgument(JSON_PRINT_MODE_FLAGS)"},{"lineNumber":93,"author":{"gitId":"-"},"content":" .dest(JSON_PRINT_MODE_FLAGS[0])"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .help(\"A flag to use json pretty printing when generating the json files.\");"},{"lineNumber":96,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" After the step in hint 1, the argument is captured by `ArgumentParser`. Now make corresponding changes to `CliArguments.java`, `ConfigCliArguments.java`, and the `parse` method in `ArgsParser.java` to make the return result of `parse` include the new argument."},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" 1. Add the following content to `CliArguments` to include `isPrettyPrintingUsed` as a new attribute to the class."},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":106,"author":{"gitId":"-"},"content":" protected boolean isPrettyPrintingUsed;"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" public boolean isPrettyPrintingUsed() {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" return isPrettyPrintingUsed;"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" 2. In the constructor of `ConfigCliArguments`, add `isPrettyPrintingUsed` as a new parameter of the method, and add the following instruction to the method body."},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":116,"author":{"gitId":"-"},"content":" this.isPrettyPrintingUsed \u003d isPrettyPrintingUsed;"},{"lineNumber":117,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" 3. In the `parse` method of `ArgsParser`, add the following instruction to get `isJsonPrettyPrintingUsed` from `ArgmentParser`."},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":122,"author":{"gitId":"-"},"content":" boolean isJsonPrettyPrintingUsed \u003d results.get(JSON_PRINT_MODE_FLAGS[0]);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" 4. Additionally, change the return statement of the `parse` method so that the `ConfigCliArguments` object returned will now include `isJsonPrettyPrintingUsed`."},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" After the steps in hint 1 and hint 2, the result returned from `ArgsParser.parse(args)` in `RepoSense.java` should be able to capture the new argument when it is specified in the command."},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" The next step is to extract the argument from the `CliArguments` object, and pass it to JSON file writer to notify it of the specified printing mode."},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" Note that the creation and writing of JSON file is invoked in `ReportGenerator.generateReposReport`, which calls `FileUtil.writeJsonFile` directly to write the `summary.json` file or indirectly (Check `generateIndividualRepoReport` and `generateEmptyRepoReport`) to write the `commits.json` or `authorship.json` files of individual repositories."},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" Therefore, the task now is to make `FileUtil.writeJsonFile` switch between different printing mode."},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" 1. You can find out what [`Gson.setPrettyPrinting`](https://www.javadoc.io/doc/com.google.code.gson/gson/2.8.5/com/google/gson/GsonBuilder.html#setPrettyPrinting--) does and how it can be used in the `writeJsonFile` method of [`FileUtil.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/util/FileUtil.java)."},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" 2. Add the following content to `FileUtil`."},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":143,"author":{"gitId":"-"},"content":" private static boolean isPrettyPrintingUsed \u003d false;"},{"lineNumber":144,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" 3. In the `writeJsonFile` method, Replace the creation of the `Gson` object with the following instructions."},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":149,"author":{"gitId":"-"},"content":" GsonBuilder gsonBuilder \u003d new GsonBuilder()"},{"lineNumber":150,"author":{"gitId":"-"},"content":" .registerTypeAdapter(LocalDateTime.class, (JsonSerializer\u003cLocalDateTime\u003e) (date, typeOfSrc, context)"},{"lineNumber":151,"author":{"gitId":"-"},"content":" -\u003e new JsonPrimitive(date.format(DateTimeFormatter.ofPattern(GITHUB_API_DATE_FORMAT))))"},{"lineNumber":152,"author":{"gitId":"-"},"content":" .registerTypeAdapter(FileType.class, new FileType.FileTypeSerializer());"},{"lineNumber":153,"author":{"gitId":"-"},"content":" Gson gson;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" if (isPrettyPrintingUsed) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" gson \u003d gsonBuilder.setPrettyPrinting().create();"},{"lineNumber":156,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" gson \u003d gsonBuilder.create();"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" 4. To notify `FileUtil` of the switch between different printing mode, add the following method to `FileUtil`."},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":164,"author":{"gitId":"-"},"content":" public static void setPrettyPrintingMode(boolean isPrettyPrintingAdopted) {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" isPrettyPrintingUsed \u003d isPrettyPrintingAdopted;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":167,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" 5. It is now possible to notify `FileUtil` of the printing mode switch by extracting the argument from the `CliArguments` object in the `main` method of `RepoSense.java` and passing it to the corresponding method in `FileUtil`."},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":172,"author":{"gitId":"-"},"content":" FileUtil.setPrettyPrintingMode(cliArguments.isPrettyPrintingUsed());"},{"lineNumber":173,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" Now the parsing of argument and changing of printing mode should have been completed."},{"lineNumber":176,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. By combining the changes in hint 1, hint 2, and hint 3, you should be able to get a possible solution."},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" Try the command `java -jar RepoSense.jar --repos https://github.com/reposense/RepoSense.git --view --use-json-pretty-printing` and check the generated JSON files to see if it works."},{"lineNumber":183,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 2: Add exception message during repository cloning to the summary view**\" type\u003d\"primary\"\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" **Task 2: Add exception message during repository cloning to the summary view**"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/)."},{"lineNumber":192,"author":{"gitId":"-"},"content":" 2. You should see that there is a red panel in the summary view containing the following message, indicating that there is an issue in the cloning process of the repository `reposense/testrepo-Empty`."},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":195,"author":{"gitId":"-"},"content":" reposense/testrepo-Empty[master]"},{"lineNumber":196,"author":{"gitId":"-"},"content":" Failed to clone from https://github.com/reposense/testrepo-Empty.git"},{"lineNumber":197,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" **Your task**"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" For the repository with the message `Failed to clone from ...`, find out what exception causes this cloning error, and add that exception message to the panel as well."},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" You can find out what [`ErrorSummary.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/report/ErrorSummary.java) and [`RepoCloner.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/report/RepoCloner.java) do, and where they are used."},{"lineNumber":206,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":" Try to understand the cloning process."},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" * The cloning process is invoked by [`RepoGenerator.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/report/ReportGenerator.java) in the `cloneAndAnalyzeRepos` method, which subsequently calls `cloneBare` in `RepoCloner.java` to start the cloning."},{"lineNumber":213,"author":{"gitId":"-"},"content":" * The `cloneAndAnalyzeRepos` method will then call `getRepoLocation` in `RepoCloner.java` to try to get the repository location."},{"lineNumber":214,"author":{"gitId":"-"},"content":" * Beneath the surface, `RepoCloner` will first execute `spawnCloneProcess` and then execute `waitForCloneProcess` when it is invoked by `RepoGenerator` for the first and second time respectively."},{"lineNumber":215,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" In `RepoCloner`, the potential exceptions in `spawnCloneProcess` and `waitForCloneProcess` are caught but not recorded by `ErrorSummary`."},{"lineNumber":220,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" Add this to the catch block of `spawnCloneProcess` and `waitForCloneProcess`, so that the message will be captured in `summary.json`."},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":229,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(config.getDisplayName(), e.getMessage());"},{"lineNumber":230,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":231,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":234,"author":{"gitId":"-"},"content":""},{"lineNumber":235,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":"This is only for your practice. There is no need for you to commit this change and submit it in a pull request."},{"lineNumber":238,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":"{{ step(4) }} **Next Step**"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":"You can now proceed to learn the [contributing workflow](workflow.html)."},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":"## Frontend"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":"This section is for developers who want to contribute to the frontend of RepoSense. You may skip this section if you want to contribute as a pure backend developer."},{"lineNumber":251,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":"The frontend implementation of RepoSense is located in `frontend/src`."},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":"{{ step(1) }} **Learn the necessary tools**"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":"It is necessary for you to learn the basics of Vue.js, Pug, and SCSS before working on the project."},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":"### Vue.js"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":"Vue.js uses JavaScript as its programming language. Before learning **Vue.js**, you may need to first get yourself familiar with JavaScript syntax first."},{"lineNumber":266,"author":{"gitId":"-"},"content":"You can refer to the [Javascript documentation](https://devdocs.io/javascript/) to learn the basic syntax. There are plenty of other resources available and please feel free to find the resource most suitable for you."},{"lineNumber":267,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":"RepoSense uses **Vue.js** (Vue3) in its front-end implementation. In particular, major user interface components, such as [summary view](report.html#summary-view-v-summary-js), [authorship view](report.html#authorship-view-v-authorship-js), and [zoom view](report.html#zoom-view-v-zoom-js), are implemented as Vue components. The corresponding source files are in `frontend/src`."},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":"* If you are new to Vue.js, you may want to start learning by looking at [the beginner tutorial](https://www.vuemastery.com/courses/intro-to-vue-js/)."},{"lineNumber":272,"author":{"gitId":"-"},"content":"* You can dive deeper later by checking the [Vue.js documentation](https://vuejs.org/guide/introduction.html) to learn about essential concepts such as component life cycle hooks, and component properties."},{"lineNumber":273,"author":{"gitId":"-"},"content":"* It is recommended if you can work on some small projects first to gain more solid understanding of Vue.js."},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":276,"author":{"gitId":"-"},"content":""},{"lineNumber":277,"author":{"gitId":"-"},"content":"The guide above uses HTML as the component template, which is not the case with RepoSense. You may wish to learn more about [Pug](#pug) and its connection with HTML."},{"lineNumber":278,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":"#### Vuex"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":"RepoSense uses **Vuex** for the state management of the Vue components."},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":"* You can check the [Vuex guide](https://vuex.vuejs.org/guide/#the-simplest-store) to find out how Vuex can be used in a Vue project."},{"lineNumber":285,"author":{"gitId":"-"},"content":"* There is also a [course](https://vueschool.io/courses/vuex-for-everyone) available that will walk you through an example of creating Vue application with Vuex."},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":"### Pug"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":"RepoSense uses Pug files as the template of each Vue component. The corresponding HTML templates will later be generated from the Pug files by [spuild](https://github.com/ongspxm/spuild2) when generating the report."},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":"Since Pug is used to generate the HTML template, it is recommended that you have a basic knowledge of HTML before starting to learn Pug. Once you understand how HTML works, you can proceed to focus on how Pug is translated into HTML."},{"lineNumber":296,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":"* You can refer to the [official documentation](https://pugjs.org/api/getting-started.html) or [this tutorial](https://www.youtube.com/watch?v\u003dkt3cEjjkCZA) to learn about the syntax of pug and how it is translated into HTML."},{"lineNumber":299,"author":{"gitId":"-"},"content":"* To get a hands-on experience, here is a [Pug to HTML converter](https://pughtml.com/). Feel free to try out a couple of examples on your own."},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":"### Scss"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":"SCSS is used for styling the Pug template. The corresponding CSS will later be generated from the SCSS files by [spuild](https://github.com/ongspxm/spuild2) when generating the report. The corresponding source files are in `frontend/src/styles`."},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":"It is recommended that you have a basic knowledge of CSS before starting to learn SCSS. Once you understand how CSS works, you can proceed to focus on how SCSS is translated into CSS."},{"lineNumber":310,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":"* You can refer to the [style rules](https://sass-lang.com/documentation/style-rules) to learn about the similarities and differences between SCSS and CSS."},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"-"},"content":"{{ step(2) }} **Learn the RepoSense frontend architecture**"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":"* You may want to refer to the [frontend architecture](report.html#report-architecture) to understand the implementation."},{"lineNumber":317,"author":{"gitId":"-"},"content":"* Another way for you to understand the frontend is to use **Vue.js devtools** to learn how the various Vue Components interact with each other. You can refer to the [frontend debugging guide](workflow.html#debugging-front-end) for more information."},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":"{{ step(3) }} **Gain some hands-on experience**"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":"Here are some small tasks for you to gain some basic knowledge of the code related to the RepoSense frontend. You can do each in a separate branch in your local copy of the code."},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 1: Highlight the selected author name in the summary view**\" type\u003d\"primary\"\u003e"},{"lineNumber":324,"author":{"gitId":"-"},"content":""},{"lineNumber":325,"author":{"gitId":"-"},"content":" **Task 1: Highlight the selected author name in the summary view**"},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/)."},{"lineNumber":328,"author":{"gitId":"-"},"content":" 2. Randomly open the authorship contribution panel of an author (The icon is `\u003c/\u003e`)."},{"lineNumber":329,"author":{"gitId":"-"},"content":" 3. You should see that, after you open the panel, the author title background on the chart panel becomes yellow, and the background of the `\u003c/\u003e` icon you clicked becomes green."},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" **Your Task**"},{"lineNumber":332,"author":{"gitId":"-"},"content":""},{"lineNumber":333,"author":{"gitId":"-"},"content":" Make corresponding changes to `summary charts` so that in step 3, after opening the panel, the font colour of the author title (in the form of `authorDisplayName(authorName)`) on the chart panel also becomes green."},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":" Try to locate where the author title is in [`c-summary-charts.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/components/c-summary-charts.vue)."},{"lineNumber":338,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":" You can check what `activeUser` and `activeRepo` do in [`c-summary-charts.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/components/c-summary-charts.vue)."},{"lineNumber":343,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":344,"author":{"gitId":"-"},"content":""},{"lineNumber":345,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":" Refer to how changes are made to the title background and icon background in [`c-summary-charts.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/components/c-summary-charts.vue)."},{"lineNumber":348,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 4\"\u003e"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" Some of the CSS styling for `c-summary-charts.vue` is in [`style.scss`](https://github.com/reposense/RepoSense/blob/master/frontend/src/styles/style.scss). You can add corresponding class selector if necessary."},{"lineNumber":353,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":354,"author":{"gitId":"-"},"content":""},{"lineNumber":355,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e"},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:"},{"lineNumber":358,"author":{"gitId":"-"},"content":""},{"lineNumber":359,"author":{"gitId":"-"},"content":" Add this to `c_summary.scss`."},{"lineNumber":360,"author":{"gitId":"-"},"content":""},{"lineNumber":361,"author":{"gitId":"asdfghjkxd"},"content":" ```css"},{"lineNumber":362,"author":{"gitId":"-"},"content":" .active-text {"},{"lineNumber":363,"author":{"gitId":"-"},"content":" color: mui-color(\u0027green\u0027);"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":366,"author":{"gitId":"-"},"content":""},{"lineNumber":367,"author":{"gitId":"-"},"content":" In `c-summary-charts.vue`, locate `summary-chart__title--name`, and add the following to its `v-bind:class` attribute map."},{"lineNumber":368,"author":{"gitId":"-"},"content":""},{"lineNumber":369,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":370,"author":{"gitId":"-"},"content":" \u0027active-text\u0027: user.name \u003d\u003d\u003d activeUser \u0026\u0026 user.repoName \u003d\u003d\u003d activeRepo"},{"lineNumber":371,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":372,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 2: Add tooltip for file path in authorship panel**\" type\u003d\"primary\"\u003e"},{"lineNumber":377,"author":{"gitId":"-"},"content":""},{"lineNumber":378,"author":{"gitId":"-"},"content":" **Task 2: Add tooltip for file path in authorship panel**"},{"lineNumber":379,"author":{"gitId":"-"},"content":""},{"lineNumber":380,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/)."},{"lineNumber":381,"author":{"gitId":"-"},"content":" 2. Randomly open the authorship contribution panel of an author (The icon is `\u003c/\u003e`)."},{"lineNumber":382,"author":{"gitId":"-"},"content":" 3. Select a random file in the authorship contribution panel, and hover your mouse on an icon on the file title, a corresponding tooltip will show up, suggesting what the purpose of the icon is. However, when you hover the mouse over the file path on the file title, there is no tool tip shown, even if clicking the path itself will also trigger some event."},{"lineNumber":383,"author":{"gitId":"-"},"content":""},{"lineNumber":384,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" For example, if you open the authorship contribution panel of an author in `reposense/RepoSense[master]` and hover the mouse over the triangular icon beside the file path `src/main/java/reposense/model/Author.java`, you should see a tooltip saying `Click to hide file details` above the icon. However, when you hover the mouse over the file path `src/main/java/reposense/model/Author.java`, there is no corresponding tooltip shown."},{"lineNumber":387,"author":{"gitId":"-"},"content":" \u003c/box\u003e"},{"lineNumber":388,"author":{"gitId":"-"},"content":""},{"lineNumber":389,"author":{"gitId":"-"},"content":" **Your Task**"},{"lineNumber":390,"author":{"gitId":"-"},"content":""},{"lineNumber":391,"author":{"gitId":"-"},"content":" Make corresponding `authorship contribution panel` so that in step 3, when hovering your mouse over the file path:"},{"lineNumber":392,"author":{"gitId":"-"},"content":" * A tip saying `This is the file path. Click to hide file details` will show up when the file details are shown"},{"lineNumber":393,"author":{"gitId":"-"},"content":" * A tip saying `This is the file path. Click to show file details` will show up when the file details are not shown."},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e"},{"lineNumber":396,"author":{"gitId":"-"},"content":""},{"lineNumber":397,"author":{"gitId":"-"},"content":" Try to locate where the file title and the file path are in [`c-authorship.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-authorship.vue)."},{"lineNumber":398,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":399,"author":{"gitId":"-"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e"},{"lineNumber":401,"author":{"gitId":"-"},"content":""},{"lineNumber":402,"author":{"gitId":"-"},"content":" You can check how tooltip is added for the triangular icon in the file title in [`c-authorship.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-authorship.vue)."},{"lineNumber":403,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e"},{"lineNumber":406,"author":{"gitId":"-"},"content":""},{"lineNumber":407,"author":{"gitId":"-"},"content":" You can check what `file.active` does and how it is used to switch between different tooltip messages when hovering the mouse on the corresponding icon."},{"lineNumber":408,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e"},{"lineNumber":411,"author":{"gitId":"-"},"content":""},{"lineNumber":412,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:"},{"lineNumber":413,"author":{"gitId":"-"},"content":""},{"lineNumber":414,"author":{"gitId":"-"},"content":" 1. In `c-authorship.vue`, locate the section that iterates through each file in `selectedFiles`."},{"lineNumber":415,"author":{"gitId":"-"},"content":" 2. There is a specific portion of the section that renders the toggle icon, the file index, and the file path of the file title."},{"lineNumber":416,"author":{"gitId":"-"},"content":" 3. Try to locate the `span` tag that renders `file.path`, and wraps it inside a new `tooptip`."},{"lineNumber":417,"author":{"gitId":"-"},"content":" 4. In the `tooltip`, use the following instructions to handle the switch of tooltip message."},{"lineNumber":418,"author":{"gitId":"-"},"content":""},{"lineNumber":419,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":420,"author":{"gitId":"-"},"content":" span.tooltip-text(v-show\u003d\"file.active\") This is the file path. Click to hide file details"},{"lineNumber":421,"author":{"gitId":"-"},"content":" span.tooltip-text(v-show\u003d\"!file.active\") This is the file path. Click to show file details"},{"lineNumber":422,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":423,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":424,"author":{"gitId":"-"},"content":""},{"lineNumber":425,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":426,"author":{"gitId":"-"},"content":""},{"lineNumber":427,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 3: Add tooltip for commit message title in zoom panel**\" type\u003d\"primary\"\u003e"},{"lineNumber":428,"author":{"gitId":"-"},"content":""},{"lineNumber":429,"author":{"gitId":"-"},"content":" **Task 3: Add tooltip for commit message title in zoom panel**"},{"lineNumber":430,"author":{"gitId":"-"},"content":""},{"lineNumber":431,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/)."},{"lineNumber":432,"author":{"gitId":"-"},"content":" 2. Randomly open the commits panel of an author."},{"lineNumber":433,"author":{"gitId":"-"},"content":" 3. Select a random commit in the commits panel, and hover your mouse on the icons on the commit title, there is no tooltip shown saying that it will redirect you to a different site."},{"lineNumber":434,"author":{"gitId":"-"},"content":""},{"lineNumber":435,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":436,"author":{"gitId":"-"},"content":""},{"lineNumber":437,"author":{"gitId":"-"},"content":" For example, given the [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/?search\u003d\u0026sort\u003dgroupTitle\u0026sortWithin\u003dtitle\u0026since\u003d\u0026timeframe\u003dcommit\u0026mergegroup\u003d\u0026groupSelect\u003dgroupByRepos\u0026breakdown\u003dfalse\u0026tabOpen\u003dtrue\u0026tabType\u003dzoom\u0026zA\u003deugenepeh\u0026zR\u003dreposense%2FRepoSense%5Bmaster%5D\u0026zACS\u003d99.28792569659443\u0026zS\u003d2017-10-09\u0026zFS\u003d\u0026zU\u003d2021-04-04\u0026zMG\u003dundefined\u0026zFTF\u003dcommit\u0026zFGS\u003dgroupByRepos\u0026zFR\u003dfalse), if you hover the mouse over the commit title `README: add acknowledgements section (#978)`, there is no corresponding tooltip shown, but when you click on the commit title, you will be redirected to a different site to see the commit details."},{"lineNumber":438,"author":{"gitId":"-"},"content":" \u003c/box\u003e"},{"lineNumber":439,"author":{"gitId":"-"},"content":""},{"lineNumber":440,"author":{"gitId":"-"},"content":" **Your Task**"},{"lineNumber":441,"author":{"gitId":"-"},"content":""},{"lineNumber":442,"author":{"gitId":"-"},"content":" Make corresponding changes to `zoom panel` so that in step 3, when hovering your mouse over the commit title, a tooltip saying `Click to view the detailed file changes in the commit` will show up on the commit title."},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e"},{"lineNumber":445,"author":{"gitId":"-"},"content":""},{"lineNumber":446,"author":{"gitId":"-"},"content":" Try to locate where the commit title is in [`c-zoom.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-zoom.vue)."},{"lineNumber":447,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":448,"author":{"gitId":"-"},"content":""},{"lineNumber":449,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e"},{"lineNumber":450,"author":{"gitId":"-"},"content":""},{"lineNumber":451,"author":{"gitId":"-"},"content":" You can check how tooltip is added for other icons in [`c-zoom.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-zoom.vue)."},{"lineNumber":452,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":453,"author":{"gitId":"-"},"content":""},{"lineNumber":454,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e"},{"lineNumber":455,"author":{"gitId":"-"},"content":""},{"lineNumber":456,"author":{"gitId":"-"},"content":" Check what `selectedCommits` does and how the link and commit title of each commit is retrieved."},{"lineNumber":457,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":458,"author":{"gitId":"-"},"content":""},{"lineNumber":459,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e"},{"lineNumber":460,"author":{"gitId":"-"},"content":""},{"lineNumber":461,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:"},{"lineNumber":462,"author":{"gitId":"-"},"content":""},{"lineNumber":463,"author":{"gitId":"-"},"content":" 1. In `c-zoom.vue`, locate the section that iterates through each `day` in `selectedCommits`."},{"lineNumber":464,"author":{"gitId":"-"},"content":" 2. The component that helps render the commit message title should be an `a` tag which uses the `getSliceLink` method to set the link to the commit details and uses `slice.messageTitle` to show the commit message title."},{"lineNumber":465,"author":{"gitId":"-"},"content":" 3. Wrap the `a` tag in a new `tooltip`."},{"lineNumber":466,"author":{"gitId":"-"},"content":" 4. In the `tooltip`, add the following content to show the tooltip message."},{"lineNumber":467,"author":{"gitId":"-"},"content":""},{"lineNumber":468,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":469,"author":{"gitId":"-"},"content":" span.tooltip-text Click to view the detailed file changes in the commit"},{"lineNumber":470,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":471,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":472,"author":{"gitId":"-"},"content":""},{"lineNumber":473,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":474,"author":{"gitId":"-"},"content":""},{"lineNumber":475,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":476,"author":{"gitId":"-"},"content":""},{"lineNumber":477,"author":{"gitId":"-"},"content":"This is only for your practice. There is no need for you to commit this change and submit it in a pull request."},{"lineNumber":478,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":479,"author":{"gitId":"-"},"content":""},{"lineNumber":480,"author":{"gitId":"-"},"content":"{{ step(4) }} **Next Step**"},{"lineNumber":481,"author":{"gitId":"-"},"content":""},{"lineNumber":482,"author":{"gitId":"-"},"content":"You can now proceed to learn the [contributing workflow](workflow.html)."},{"lineNumber":483,"author":{"gitId":"-"},"content":""},{"lineNumber":484,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":485,"author":{"gitId":"-"},"content":""},{"lineNumber":486,"author":{"gitId":"-"},"content":"## DevOps"},{"lineNumber":487,"author":{"gitId":"-"},"content":""},{"lineNumber":488,"author":{"gitId":"supermii2"},"content":"If you want to understand and contribute to the DevOps aspect of RepoSense, you can refer to the [DevOps guide](devOpsGuide.html) for more information."}],"authorContributionMap":{"asdfghjkxd":11,"supermii2":1,"-":476}},{"path":"docs/dg/settingUp.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Setting up\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed with context %}"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"**Prerequisites:**"},{"lineNumber":12,"author":{"gitId":"-"},"content":"* **JDK `1.8.0_60`** up to **`17`** ([download :fas-download:](https://www.oracle.com/technetwork/java/javase/downloads/index.html))."},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":"* **Node.js** **`18`** up to the latest minor version of **`19`** ([download :fas-download:](https://www.npmjs.com/get-npm))."},{"lineNumber":14,"author":{"gitId":"-"},"content":"* **git `2.23`** or later ([download :fas-download:](https://git-scm.com/downloads))."},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" Type `java -version`, `node -v` and `git --version` respectively on your OS terminal and ensure that you have the correct version of each prerequisite installed."},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003c/box\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"## Getting the code"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"1. **Fork** the [reposense/reposense](https://github.com/reposense/RepoSense) repo."},{"lineNumber":26,"author":{"gitId":"-"},"content":"1. **Clone** the fork to your computer."},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"## Setting up the IDE"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"The recommended IDE is **Intellij IDEA**. While it is not compulsory to use it, note that we will not be able to help you troubleshoot IDE problems if you use any other IDE."},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"1. **Ensure you have configured IDEA for the correct JDK**, as explained in [this tutorial](https://se-education.org/guides/tutorials/intellijJdk.html)."},{"lineNumber":36,"author":{"gitId":"-"},"content":"1. **Import the project as a Gradle project**, as explained in [this tutorial](https://se-education.org/guides/tutorials/intellijImportGradleProject.html)."},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"## Verifying the setup"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"This project is already configured to use Gradle for build automation. If you are new to Gradle, see [this tutorial](https://se-education.org/guides/tutorials/gradle.html) to learn how to use it."},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"1. Open a command prompt and navigate to the project root."},{"lineNumber":48,"author":{"gitId":"-"},"content":"1. Run `gradlew clean build` (`./gradlew clean build` if you on a Unix-like OS), and ensure that it finishes with a `BUILD SUCCESSFUL` message."},{"lineNumber":49,"author":{"gitId":"-"},"content":"1. Run the tests using the `gradlew test systemtest` command and ensure it succeeds too."},{"lineNumber":50,"author":{"gitId":"-"},"content":"1. You can also try running the app using code, as given in the panel below."},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"{{ embed(\u0027Developer guide → **Workflow → Running the app from code**\u0027, \u0027workflow.md#section-running-from-code\u0027, level\u003d2) }}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"## Before you start coding"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"... read the [Workflow](workflow.html) section."}],"authorContributionMap":{"supermii2":1,"sopa301":1,"-":54}},{"path":"docs/dg/styleGuides.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Appendix: Style guides\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"Our coding standards are mostly based on those at [se-education.org/guides](https://se-education.org/guides)."},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"* [**CSS** coding standard](https://se-education.org/guides/conventions/css.html)"},{"lineNumber":14,"author":{"gitId":"-"},"content":"* [**Files/folders** naming conventions](https://se-education.org/guides/conventions/files.html)"},{"lineNumber":15,"author":{"gitId":"-"},"content":"* [**HTML** coding standard](https://se-education.org/guides/conventions/html.html)"},{"lineNumber":16,"author":{"gitId":"-"},"content":"* [**Markdown/MarkBind** coding standard](https://se-education.org/guides/conventions/markdown.html)"},{"lineNumber":17,"author":{"gitId":"-"},"content":"* [**Java** coding standard](https://se-education.org/guides/conventions/java/index.html)"},{"lineNumber":18,"author":{"gitId":"-"},"content":"* [**JavaScript** coding standard](https://se-education.org/guides/conventions/javascript.html)"},{"lineNumber":19,"author":{"gitId":"-"},"content":"* **TypeScript**: In addition to the JavaScript coding standard, follow the [**recommended ESLint rules**](https://typescript-eslint.io/rules/) and the formatting rules [described below](#typescript-specific-formatting)."},{"lineNumber":20,"author":{"gitId":"-"},"content":"* **Vue Components**: Follow the [**Vue style guide**](https://vuejs.org/style-guide/), up to the **Recommended** section."},{"lineNumber":21,"author":{"gitId":"-"},"content":"* **Documentation**: Follow the [**Google developer documentation style guide**](https://developers.google.com/style)."},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"## Note on Ternary Operators:"},{"lineNumber":24,"author":{"gitId":"-"},"content":"Ternary operators can be used to shorten if-else blocks such as this:"},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":"```java"},{"lineNumber":26,"author":{"gitId":"-"},"content":"LocalDateTime min \u003d ARBITRARY_FIRST_COMMIT_DATE_UTC.withZoneSameInstant(zoneId).toLocalDateTime();"},{"lineNumber":27,"author":{"gitId":"-"},"content":"if (!commitInfos.isEmpty()) {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" min \u003d commitInfos.get(0).getTime();"},{"lineNumber":29,"author":{"gitId":"-"},"content":"}"},{"lineNumber":30,"author":{"gitId":"-"},"content":"return min;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"```"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"The result would look something like this:"},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"```java"},{"lineNumber":35,"author":{"gitId":"-"},"content":"return (commitInfos.isEmpty())"},{"lineNumber":36,"author":{"gitId":"-"},"content":" ? ARBITRARY_FIRST_COMMIT_DATE_UTC.withZoneSameInstant(zoneId).toLocalDateTime()"},{"lineNumber":37,"author":{"gitId":"-"},"content":" : commitInfos.get(0).getTime();"},{"lineNumber":38,"author":{"gitId":"-"},"content":"```"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"To preserve readability, it is recommended that if-else blocks should only be"},{"lineNumber":41,"author":{"gitId":"-"},"content":"converted to ternary operators if the resultant code can be kept at most 3 lines long"},{"lineNumber":42,"author":{"gitId":"-"},"content":"(in accordance to the coding standard)."},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"## Additional Javadoc requirements:"},{"lineNumber":45,"author":{"gitId":"-"},"content":"In addition to what has been mentioned in the [**Java** coding standard (SE-EDU)](https://se-education.org/guides/conventions/java/index.html) and [**Google Java Style Guide**](https://google.github.io/styleguide/javaguide.html), we also stipulate the following standards for Javadoc:"},{"lineNumber":46,"author":{"gitId":"-"},"content":"* If Javadoc is written for a method, all input parameters should be described in the Javadoc, either in the description with `@code tags` or through `@param` block tags."},{"lineNumber":47,"author":{"gitId":"-"},"content":" * If `@param` block tags are used, they must be used for all parameters."},{"lineNumber":48,"author":{"gitId":"-"},"content":" * This is not necessary (although still recommended) for methods with `@Override` annotations if Javadoc is used. However, if the method that is being overriden is part of your code and has Javadoc, all parameters must be described."},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"Negative Examples:"},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":"```java"},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":"// Not okay (Only mentions zoneId parameter):"},{"lineNumber":53,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":54,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object adjusted for timezone given by {@code zoneId}."},{"lineNumber":55,"author":{"gitId":"-"},"content":" */"},{"lineNumber":56,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" //Code here"},{"lineNumber":58,"author":{"gitId":"-"},"content":"}"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":"// Not okay (@param tag used only for zoneId)"},{"lineNumber":61,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object by adjusting {@code sinceDate}"},{"lineNumber":63,"author":{"gitId":"-"},"content":" * to the timezone given by {@code zoneId}."},{"lineNumber":64,"author":{"gitId":"-"},"content":" *"},{"lineNumber":65,"author":{"gitId":"-"},"content":" * @param zoneId The timezone ID to adjust the sinceDate to."},{"lineNumber":66,"author":{"gitId":"-"},"content":" */"},{"lineNumber":67,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" //Code here"},{"lineNumber":69,"author":{"gitId":"-"},"content":"}"},{"lineNumber":70,"author":{"gitId":"-"},"content":"```"},{"lineNumber":71,"author":{"gitId":"-"},"content":"Positive Example #1:"},{"lineNumber":72,"author":{"gitId":"asdfghjkxd"},"content":"```java"},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":"// Okay (No @param tags):"},{"lineNumber":74,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":75,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object by adjusting {@code sinceDate}"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * to the timezone given by {@code zoneId}."},{"lineNumber":77,"author":{"gitId":"-"},"content":" */"},{"lineNumber":78,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" //Code here"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":"```"},{"lineNumber":82,"author":{"gitId":"-"},"content":"Positive Example #2:"},{"lineNumber":83,"author":{"gitId":"asdfghjkxd"},"content":"```java"},{"lineNumber":84,"author":{"gitId":"asdfghjkxd"},"content":"// Okay (@param tags used for all inputs):"},{"lineNumber":85,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":86,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object by adjusting {@code sinceDate}"},{"lineNumber":87,"author":{"gitId":"-"},"content":" * to the timezone given by {@code zoneId}."},{"lineNumber":88,"author":{"gitId":"-"},"content":" *"},{"lineNumber":89,"author":{"gitId":"-"},"content":" * @param sinceDate The date prior to the timezone conversion."},{"lineNumber":90,"author":{"gitId":"-"},"content":" * @param zoneId The timezone ID to adjust the sinceDate to."},{"lineNumber":91,"author":{"gitId":"-"},"content":" */"},{"lineNumber":92,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" //Code here"},{"lineNumber":94,"author":{"gitId":"-"},"content":"}"},{"lineNumber":95,"author":{"gitId":"-"},"content":"```"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":"* Within the main code, if an exception is thrown in a method (both header and body) for which Javadoc is written, a `@throws` tag must be used to describe how the exception is likely to arise."},{"lineNumber":98,"author":{"gitId":"-"},"content":" * This requirement does not apply to test code."},{"lineNumber":99,"author":{"gitId":"-"},"content":" * One `@throws` tag per unique exception."},{"lineNumber":100,"author":{"gitId":"-"},"content":" * The order of exceptions in the `@throws` tag block should match that of the method\u0027s `throws` statement."},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":"```java"},{"lineNumber":102,"author":{"gitId":"asdfghjkxd"},"content":"// Not okay (order of exceptions in tag block and method signature do not match):"},{"lineNumber":103,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object from {@code dateString}."},{"lineNumber":105,"author":{"gitId":"-"},"content":" *"},{"lineNumber":106,"author":{"gitId":"-"},"content":" * @throws ParseException if {@code dateString} cannot be parsed."},{"lineNumber":107,"author":{"gitId":"-"},"content":" * @throws NullPointerException if {@code dateString} is null."},{"lineNumber":108,"author":{"gitId":"-"},"content":" */"},{"lineNumber":109,"author":{"gitId":"-"},"content":"public LocalDateTime parseDate(String dateString) throws NullPointerException, ParseException {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" String trimmedString \u003d dateString.toUpperCase(); // NullPointerException may happen here."},{"lineNumber":111,"author":{"gitId":"-"},"content":" // Code here"},{"lineNumber":112,"author":{"gitId":"-"},"content":"}"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"asdfghjkxd"},"content":"// Should be:"},{"lineNumber":115,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object from {@code dateString}."},{"lineNumber":117,"author":{"gitId":"-"},"content":" *"},{"lineNumber":118,"author":{"gitId":"-"},"content":" * @throws NullPointerException if {@code dateString} is null."},{"lineNumber":119,"author":{"gitId":"-"},"content":" * @throws ParseException if {@code dateString} cannot be parsed."},{"lineNumber":120,"author":{"gitId":"-"},"content":" */"},{"lineNumber":121,"author":{"gitId":"-"},"content":"public LocalDateTime parseDate(String dateString) throws NullPointerException, ParseException {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" String trimmedString \u003d dateString.toUpperCase(); // NullPointerException may happen here."},{"lineNumber":123,"author":{"gitId":"-"},"content":" // Code here"},{"lineNumber":124,"author":{"gitId":"-"},"content":"}"},{"lineNumber":125,"author":{"gitId":"-"},"content":"```"},{"lineNumber":126,"author":{"gitId":"-"},"content":"## TypeScript specific formatting"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"For TypeScript specific code, such as within an `interface` or type annotations, we also stipulate the following standards:"},{"lineNumber":129,"author":{"gitId":"-"},"content":"* Use semicolons as delimiters for TypeScript interfaces and types."},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":"Negative Examples:"},{"lineNumber":132,"author":{"gitId":"-"},"content":"```typescript"},{"lineNumber":133,"author":{"gitId":"-"},"content":"// missing semicolon delimiter"},{"lineNumber":134,"author":{"gitId":"-"},"content":"interface Foo {"},{"lineNumber":135,"author":{"gitId":"-"},"content":" name: string"},{"lineNumber":136,"author":{"gitId":"-"},"content":" greet(): string"},{"lineNumber":137,"author":{"gitId":"-"},"content":"}"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":"// using incorrect delimiter"},{"lineNumber":140,"author":{"gitId":"-"},"content":"interface Foo {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" name: string,"},{"lineNumber":142,"author":{"gitId":"-"},"content":" greet(): string,"},{"lineNumber":143,"author":{"gitId":"-"},"content":"}"},{"lineNumber":144,"author":{"gitId":"-"},"content":"```"},{"lineNumber":145,"author":{"gitId":"-"},"content":"Positive Example:"},{"lineNumber":146,"author":{"gitId":"-"},"content":"```typescript"},{"lineNumber":147,"author":{"gitId":"-"},"content":"// semicolon delimiter"},{"lineNumber":148,"author":{"gitId":"-"},"content":"interface Foo {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" name: string;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" greet(): string;"},{"lineNumber":151,"author":{"gitId":"-"},"content":"}"},{"lineNumber":152,"author":{"gitId":"-"},"content":"```"},{"lineNumber":153,"author":{"gitId":"-"},"content":"* For type annotations, use a space after but not before."},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":"Negative Examples:"},{"lineNumber":156,"author":{"gitId":"-"},"content":"```typescript"},{"lineNumber":157,"author":{"gitId":"-"},"content":"let foo:string \u003d \"bar\";"},{"lineNumber":158,"author":{"gitId":"-"},"content":"let foo :string \u003d \"bar\";"},{"lineNumber":159,"author":{"gitId":"-"},"content":"let foo : string \u003d \"bar\";"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"function foo():string {}"},{"lineNumber":162,"author":{"gitId":"-"},"content":"function foo() :string {}"},{"lineNumber":163,"author":{"gitId":"-"},"content":"function foo() : string {}"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":"class Foo {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" name:string;"},{"lineNumber":167,"author":{"gitId":"-"},"content":"}"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":"class Foo {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" name :string;"},{"lineNumber":171,"author":{"gitId":"-"},"content":"}"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"class Foo {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" name : string;"},{"lineNumber":175,"author":{"gitId":"-"},"content":"}"},{"lineNumber":176,"author":{"gitId":"-"},"content":"```"},{"lineNumber":177,"author":{"gitId":"-"},"content":"Positive Examples:"},{"lineNumber":178,"author":{"gitId":"-"},"content":"```typescript"},{"lineNumber":179,"author":{"gitId":"-"},"content":"let foo: string \u003d \"bar\";"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":"function foo(): string {}"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":"class Foo {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" name: string;"},{"lineNumber":185,"author":{"gitId":"-"},"content":"}"},{"lineNumber":186,"author":{"gitId":"-"},"content":"```"}],"authorContributionMap":{"asdfghjkxd":12,"-":174}},{"path":"docs/ug/cli.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Appendix: CLI syntax reference\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"The command `java -jar RepoSense.jar` takes several flags."},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003cbox\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"**Examples**:"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"An example of a command using most parameters:\u003cbr\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":"`java -jar RepoSense.jar --repos https://github.com/reposense/RepoSense.git --output ./report_folder --since 31/1/2017 --until 31/12/2018 --formats java adoc xml --view --ignore-standalone-config --last-modified-date --timezone UTC+08 --find-previous-authors`"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"Same command as above but using most parameters in alias format:\u003cbr\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":"`java -jar RepoSense.jar -r https://github.com/reposense/RepoSense.git -o ./report_folder -s 31/1/2017 -u 31/12/2018 -f java adoc xml -v -i -l -t UTC+08 -F`"},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"The section below provides explanations for each of the flags."},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c!-- --------------------------◘---------------------------------------------------------------------------- --\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"### `--assets`, `-a`"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"section-assets\"\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"**`--assets ASSETS_DIRECTORY`**: Specifies where to place assets for report generation."},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":"* Parameter: `ASSETS_DIRECTORY` The directory containing the assets files. A `favicon.ico` file can be placed here to customize the favicon of the dashboard,"},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":"while a `title.md` file can be placed to customize the header of the report using [Markdown syntax](https://www.markdownguide.org/basic-syntax/)."},{"lineNumber":36,"author":{"gitId":"-"},"content":"* Alias: `-a`"},{"lineNumber":37,"author":{"gitId":"-"},"content":"* Example: `--assets ./assets` or `-a ./assets`"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"* If `--assets` is not specified, RepoSense looks for assets in the `./assets` directory."},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003c!-- --------------------------◘---------------------------------------------------------------------------- --\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"### `--config`, `-c`"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"section-config\"\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":"**`--config CONFIG_DIRECTORY`**: Specifies that config files located in `CONFIG_DIRECTORY` should be used to customize the report."},{"lineNumber":52,"author":{"gitId":"-"},"content":"* Parameter: `CONFIG_DIRECTORY` The directory containing the config files. Should contain a `repo-config.csv` file. Optionally, can contain an `author-config.csv` file or/and a `group-config.csv` file or/and a `report-config.json` file."},{"lineNumber":53,"author":{"gitId":"-"},"content":"* Alias: `-c`"},{"lineNumber":54,"author":{"gitId":"-"},"content":"* Example: `java -jar RepoSense.jar --config ./config`"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"* Cannot be used with `--repos`. The `--repos` flag will take precedence over this flag."},{"lineNumber":59,"author":{"gitId":"-"},"content":"* If both `--repos` and `--config` are not specified, RepoSense looks for config files in the `./config` directory."},{"lineNumber":60,"author":{"gitId":"-"},"content":"* Config files must follow [this](./configFiles.html) format."},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":"### `--formats`, `-f`"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":"**`--formats LIST_OF_FORMATS`**: Specifies which file extensions to be included in the analysis."},{"lineNumber":69,"author":{"gitId":"-"},"content":"* Parameter: `LIST_OF_FORMATS` A space-separated list of file extensions that should be included in the analysis.\u003cbr\u003e"},{"lineNumber":70,"author":{"gitId":"-"},"content":" Default: all file formats"},{"lineNumber":71,"author":{"gitId":"-"},"content":"* Alias: `-f`"},{"lineNumber":72,"author":{"gitId":"-"},"content":"* Example:`--formats css fxml gradle` or `-f css fxml gradle`"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"Binary file formats, such as `jpg`, `png`,`exe`,`zip`, `rar`, `docx`, and `pptx`, all will be labelled as the file type `binary` in the generated report."},{"lineNumber":77,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":"### `--find-previous-authors`, `-F`"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"**`--find-previous-authors`**: Utilizes Git blame\u0027s ignore revisions functionality, RepoSense will attempt to blame the line changes caused by commits in the ignore commit list to the previous authors who altered those lines (if available)."},{"lineNumber":84,"author":{"gitId":"-"},"content":"* Default: RepoSense will assume that no authors are responsible for the code changes in the lines altered by commits in the ignore commit list."},{"lineNumber":85,"author":{"gitId":"-"},"content":"* Alias: `-F` (uppercase F)"},{"lineNumber":86,"author":{"gitId":"-"},"content":"* Example:`--find-previous-authors` or `-F`"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":"### `--help`, `-h`"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":"**`--help`**: Shows the help message."},{"lineNumber":93,"author":{"gitId":"-"},"content":"* Alias: `-h`"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":"Cannot be used with any other flags. This flag takes precedence over all other flags."},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"### `--ignore-standalone-config`, `-i`"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":"**`--ignore-standalone-config`**: Specifies that the standalone config file in the repo should be ignored."},{"lineNumber":104,"author":{"gitId":"-"},"content":"* Default: the standalone config file is not ignored"},{"lineNumber":105,"author":{"gitId":"-"},"content":"* Alias: `-i`"},{"lineNumber":106,"author":{"gitId":"-"},"content":"* Example:`--ignore-standalone-config` or `-i`"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":"This flag overrides the `Ignore standalone config` field in the CSV config file."},{"lineNumber":111,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":"### `--ignore-filesize-limit`, `-I`"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":"**`--ignore-filesize-limit`**: Specifies that the file size limit (both default and user-defined) should be ignored during the analysis."},{"lineNumber":118,"author":{"gitId":"-"},"content":"* Default: the file size limit is not ignored"},{"lineNumber":119,"author":{"gitId":"-"},"content":"* Alias: `-I`"},{"lineNumber":120,"author":{"gitId":"-"},"content":"* Example:`--ignore-filesize-limit` or `-I`"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":"All files are subject to a default file size limit or a custom size limit set by the user. Most files should not be"},{"lineNumber":125,"author":{"gitId":"-"},"content":"affected by the default size limit. This flag can be useful for including files in your report that are affected by"},{"lineNumber":126,"author":{"gitId":"-"},"content":"the size limit. Note that this flag may result in large report sizes and/or slower report generation."},{"lineNumber":127,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":"This flag overrides the `Ignore file size limit` field in the CSV config file."},{"lineNumber":132,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":"### `--last-modified-date`, `-l`"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":"**`--last-modified-date`**: Specifies that the last modified date of each line of code should be added to `authorship.json`."},{"lineNumber":139,"author":{"gitId":"-"},"content":"* Default: the last modified date of each line of code will not be added to `authorship.json`"},{"lineNumber":140,"author":{"gitId":"-"},"content":"* Alias: `-l` (lowercase L)"},{"lineNumber":141,"author":{"gitId":"-"},"content":"* Example:`--last-modified-date` or `-l`"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":"* Cannot be used with `--shallow-cloning`. This may result in an incorrect last modified date."},{"lineNumber":146,"author":{"gitId":"-"},"content":"* The last modified dates will be in the same timezone specified with the `--timezone` flag."},{"lineNumber":147,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":"### `--output`, `-o`"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":"**`--output OUTPUT_DIRECTORY`**: Indicates where to save the report generated."},{"lineNumber":154,"author":{"gitId":"-"},"content":"* Parameter: `OUTPUT_DIRECTORY` The location for the generated `reposense-report` folder.\u003cbr\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":" Default: current directory"},{"lineNumber":156,"author":{"gitId":"-"},"content":"* Alias: `-o`"},{"lineNumber":157,"author":{"gitId":"-"},"content":"* Example: `--output ./foo` or `-o ./foo` (the report will be in the `./foo/reposense-report` folder)"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"### `--period`, `-p`"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":"**`--period PERIOD`**: Specifies the period of analysis window."},{"lineNumber":164,"author":{"gitId":"-"},"content":"* Parameter: `PERIOD` The period of analysis window, in the format `nd` (for n days) or `nw` (for n weeks). It is used to calculate end date if only start date is specified, or calculate end date if only start date is specified."},{"lineNumber":165,"author":{"gitId":"-"},"content":"* Alias: `-p`"},{"lineNumber":166,"author":{"gitId":"-"},"content":"* Example: `--period 30d` or `--period 4w`"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":"* If both start date and end date are not specified, the date of generating the report will be taken as the end date."},{"lineNumber":171,"author":{"gitId":"-"},"content":"* May analyze the incorrect date range if used with `--since d1`. The program will throw a warning."},{"lineNumber":172,"author":{"gitId":"-"},"content":"* Cannot be used with both `--since` and `--until`. The program will throw an exception."},{"lineNumber":173,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":"### `--repo`, `--repos`, `-r`"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":"**`--repo REPO_LOCATION`**: Specifies which repositories to analyze."},{"lineNumber":179,"author":{"gitId":"-"},"content":"* Parameter: `REPO_LOCATION` A list of URLs or the disk location of the git repositories to analyze, separated by spaces."},{"lineNumber":180,"author":{"gitId":"-"},"content":"* Alias: `-r`"},{"lineNumber":181,"author":{"gitId":"-"},"content":"* Examples:"},{"lineNumber":182,"author":{"gitId":"-"},"content":" * `--repos https://github.com/reposense/RepoSense.git`"},{"lineNumber":183,"author":{"gitId":"-"},"content":" * `--repo https://github.com/reposense/RepoSense.git c:/myRepose/foo/bar`: analyzes the two specified repos (one remote, one local) and generates one report containing details of both."},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":"Cannot be used with `--config`. This flag takes precedence over `--config`."},{"lineNumber":188,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"### `--shallow-cloning`, `-S`"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":"**`--shallow-cloning`**: Clones repositories using Git\u0027s shallow cloning functionality, which can significantly reduce the time taken to clone large repositories. However, the flag should not be used for smaller repositories where the `.git` file is smaller than 500 MB, as it would create overhead."},{"lineNumber":194,"author":{"gitId":"-"},"content":"* Default: RepoSense does not clone repositories using Git\u0027s shallow cloning functionality."},{"lineNumber":195,"author":{"gitId":"-"},"content":"* Alias: `-S` (uppercase S)"},{"lineNumber":196,"author":{"gitId":"-"},"content":"* Example:`--shallow-cloning` or `-S`"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":"Cannot be used with `--last-modified-date`. This may result in an incorrect last modified date."},{"lineNumber":201,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":"### `--since`, `-s`"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":"**`--since START_DATE`**: Specifies the start date for the period to be analyzed."},{"lineNumber":208,"author":{"gitId":"-"},"content":"* Parameter: `START_DATE` The first day of the period to be analyzed, in the format `DD/MM/YYYY`.\u003cbr\u003e"},{"lineNumber":209,"author":{"gitId":"-"},"content":" Default: one month before the current date"},{"lineNumber":210,"author":{"gitId":"-"},"content":"* Alias: `-s`"},{"lineNumber":211,"author":{"gitId":"-"},"content":"* Example:`--since 21/10/2017` or `-s 21/10/2017`"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":"* If the start date is not specified, only commits made one month before the end date (if specified) or the date of generating the report, will be captured and analyzed."},{"lineNumber":216,"author":{"gitId":"-"},"content":"* If `d1` is specified as the start date (`--since d1` or `-s d1`), then the program will search for the earliest commit date of all repositories and use that as the start date."},{"lineNumber":217,"author":{"gitId":"-"},"content":"* If `d1` is specified together with `--period`, then the program will warn that the date range being analyzed may be incorrect."},{"lineNumber":218,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":"### `--timezone`, `-t`"},{"lineNumber":222,"author":{"gitId":"-"},"content":""},{"lineNumber":223,"author":{"gitId":"-"},"content":"**`--timezone ZONE_ID`**: Indicates the timezone to be used for the analysis."},{"lineNumber":224,"author":{"gitId":"-"},"content":"* Parameter: `ZONE_ID` The timezone in the format `ZONE_ID[±hh[mm]]`.\u003cbr\u003e"},{"lineNumber":225,"author":{"gitId":"-"},"content":" Default: system\u0027s default timezone"},{"lineNumber":226,"author":{"gitId":"-"},"content":"* Alias: `-t`"},{"lineNumber":227,"author":{"gitId":"-"},"content":"* Example:`--timezone UTC+08` or `-t UTC-1030`"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":"### `--until`, `-u`"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":"**`--until END_DATE`**: Specifies the end date of the analysis period."},{"lineNumber":234,"author":{"gitId":"-"},"content":"* Parameter: `END_DATE` The last date of the period to be analyzed, in the format `DD/MM/YYYY`.\u003cbr\u003e"},{"lineNumber":235,"author":{"gitId":"-"},"content":" Default: current date"},{"lineNumber":236,"author":{"gitId":"-"},"content":"* Alias: `-u`"},{"lineNumber":237,"author":{"gitId":"-"},"content":"* Example:`--until 21/10/2017` or `-u 21/10/2017`"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":"Note: If the end date is not specified, the date of generating the report will be taken as the end date."},{"lineNumber":242,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":"### `--version`, `-V`"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":"**`--version`**: Shows the version of RepoSense."},{"lineNumber":249,"author":{"gitId":"-"},"content":"* Alias: `-V` (upper case)"},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":"Cannot be used with any other flags. This flag takes precedence over all other flags other than `--help`."},{"lineNumber":254,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":"### `--view`, `-v`"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":"**`--view [REPORT_FOLDER]`**: Specifies that the report should be opened in the default browser."},{"lineNumber":260,"author":{"gitId":"-"},"content":"* Parameter: `REPORT_FOLDER` Optional. If specified, no analysis will be performed and the report specified by the argument will be opened.\u003cbr\u003e"},{"lineNumber":261,"author":{"gitId":"-"},"content":" Default: `./reposense-report`"},{"lineNumber":262,"author":{"gitId":"-"},"content":"* Alias: `-v`"},{"lineNumber":263,"author":{"gitId":"-"},"content":"* Example:`--view` or `-v`"}],"authorContributionMap":{"sopa301":2,"-":261}},{"path":"docs/ug/configFiles.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Appendix: Config files format\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% set mandatory %}\u003cspan class\u003d\"badge bg-danger\"\u003emandatory\u003c/span\u003e{% endset %}"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed with context %}"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"Given below are the details of the various config files used by RepoSense."},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"**RepoSense ignores the order of column headers in the CSV config files. However, the spelling of the column headers must match the specified headers exactly, or the column would be ignored by RepoSense.**"},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"**A value in a config file is optional to provide unless it is specified as {{ mandatory }}**."},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"## `repo-config.csv`"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"**`repo-config.csv` file contains repo-level config data.** Each row represents a repository\u0027s configuration ([example](repo-config.csv))."},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"| Column Name | Explanation |"},{"lineNumber":35,"author":{"gitId":"-"},"content":"|-------------|-------------|"},{"lineNumber":36,"author":{"gitId":"-"},"content":"| Repository\u0027s Location {{ mandatory }} | The `Remote Repo URL` or `Disk Path` to the git repository e.g., `https://github.com/foo/bar.git` or `C:\\Users\\user\\Desktop\\GitHub\\foo\\bar` |"},{"lineNumber":37,"author":{"gitId":"-"},"content":"| Branch | The branch to analyze in the target repository e.g., `master`. Default: the default branch of the repo |"},{"lineNumber":38,"author":{"gitId":"-"},"content":"| File formats\u003csup\u003e*+\u003c/sup\u003e | The file extensions to analyze. Binary file formats, such as `png` and `jpg`, will be automatically labelled as the file type `binary` in the generated report. Default: all file formats |"},{"lineNumber":39,"author":{"gitId":"-"},"content":"| Find Previous Authors | Enter **`yes`** to utilize Git blame\u0027s ignore revisions functionality, RepoSense will attempt to blame the line changes caused by commits in the ignore commit list to the previous authors who altered those lines (if available). |"},{"lineNumber":40,"author":{"gitId":"-"},"content":"| Ignore Glob List\u003csup\u003e*+\u003c/sup\u003e | The list of file path globs to ignore during analysis for each author e.g., `test/**;temp/**`. Refer to the [_glob format_](https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob) for the path glob syntax. |"},{"lineNumber":41,"author":{"gitId":"-"},"content":"| Ignore standalone config | To ignore the standalone config file (if any) in target repository, enter **`yes`**. If the cell is empty, the standalone config file in the repo (if any) will take precedence over configurations provided in the csv files. |"},{"lineNumber":42,"author":{"gitId":"-"},"content":"| Ignore Commits List\u003csup\u003e*+\u003c/sup\u003e | The list of commits to ignore during analysis. For accurate results, the commits should be provided with their full hash. Additionally, a range of commits can be specified using the `..` notation e.g. `abc123..def456` (both inclusive). |"},{"lineNumber":43,"author":{"gitId":"-"},"content":"| Ignore Authors List\u003csup\u003e*+\u003c/sup\u003e | The list of authors to ignore during analysis. Authors should be specified by their [Git Author Name](#a-note-about-git-author-name). |"},{"lineNumber":44,"author":{"gitId":"-"},"content":"| Shallow Cloning | Enter **`yes`** to clone the repository using Git\u0027s shallow cloning functionality. This option can significantly reduce the time taken to clone large repositories. However, the option should ideally be disabled for smaller repositories where the `.git` file is smaller than 500 MB, as it would create overhead. |"},{"lineNumber":45,"author":{"gitId":"-"},"content":"| File Size Limit\u003csup\u003e+\u003c/sup\u003e | Enter a file size limit for the repository in bytes as a single number without units (for a size limit of 1MB for example, enter 1000000). This file size limit will override the default file size limit (500KB). Files exceeding the file size limit will be marked as ignored and only the file name and line count will be reflected in the report. |"},{"lineNumber":46,"author":{"gitId":"-"},"content":"| Ignore File Size Limit | Enter **`yes`** to ignore both the default file size limit and the file size limit possibly set by the user in `repo-config.csv`. |"},{"lineNumber":47,"author":{"gitId":"-"},"content":"| Skip Ignored File Analysis | Enter **`yes`** to ignore analysis of files exceeding the file size limit entirely. If file analysis is skipped, all information about the file will be omitted from the generated report. This option can significantly improve report generation time. |"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":"The Shallow Cloning option is incompatible with the \"--last-modified-date\" CLI flag."},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":"If Ignore File Size Limit is yes, the File Size Limit and Skip Ignored File Analysis columns are ignored."},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003csup\u003e* **Multi-value column**: multiple values can be entered in this column using a semicolon `;` as the separator.\u003c/sup\u003e\u003c/br\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003csup\u003e+ **Overrideable column**: prepend with `override:` to use entered value(s) instead of value(s) from standalone config.\u003c/sup\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":"When using [standalone config](#config-json-standalone-config-file) (if it is not ignored), it is possible to override specific values from the standalone config by prepending the entered value with `override:`."},{"lineNumber":63,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":"## `author-config.csv`"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":"Optionally, you can use an `author-config.csv` (which should be in the same directory as the `repo-config.csv` file) to provide more details about the authors to analyze ([example](author-config.csv)). It should contain the following columns:"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"| Column Name | Explanation |"},{"lineNumber":72,"author":{"gitId":"-"},"content":"|--------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|"},{"lineNumber":73,"author":{"gitId":"-"},"content":"| Repository\u0027s Location\u003csup\u003e*\u003c/sup\u003e | Same as `repo-config.csv`. Default: all the repos in `repo-config.csv`. |"},{"lineNumber":74,"author":{"gitId":"-"},"content":"| Branch | The branch to analyze for this author, e.g., `master`. Default: the author will be bound to all the repos in `repo-config.csv` that has the same repo\u0027s location, regardless of branch. |"},{"lineNumber":75,"author":{"gitId":"-"},"content":"| Author\u0027s Git Host ID\u003csup\u003e#\u003c/sup\u003e {{ mandatory }} | Username of the target author\u0027s profile on GitHub, GitLab or Bitbucket, e.g.`JohnDoe`. |"},{"lineNumber":76,"author":{"gitId":"-"},"content":"| Author\u0027s Emails\u003csup\u003e*\u003c/sup\u003e | Associated emails of the author. For GitHub users, this can be found in your [GitHub settings](https://github.com/settings/emails). |"},{"lineNumber":77,"author":{"gitId":"-"},"content":"| Author\u0027s Display Name | The name to display for the author. Default: author\u0027s username. |"},{"lineNumber":78,"author":{"gitId":"-"},"content":"| Author\u0027s Git Author Name\u003csup\u003e*\u003c/sup\u003e | The meaning of _Git Author Name_ is explained in [_A note about git author name_](#a-note-about-git-author-name). |"},{"lineNumber":79,"author":{"gitId":"-"},"content":"| Ignore Glob List\u003csup\u003e*\u003c/sup\u003e | Files to ignore for this author, in addition to files ignored by the patterns specified in `repo-config.csv`. The path glob syntax is the same as that of Ignore Glob List in `repo-config.csv`. |"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":"\u003csup\u003e* **Multi-value column**: multiple values can be entered in this column using a semicolon `;` as the separator.\u003c/sup\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003c/br\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003csup\u003e# For backward compatibility, `Author\u0027s GitHub ID` is still accepted as the header in place of `Author\u0027s Git Host ID`.\u003c/sup\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":"If `author-config.csv` is not given and the repo has not provided author details in a standalone config file, all the authors of the repositories within the date range specified (if any) will be analyzed."},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"`author-config.csv` has some advanced syntax that can help to reduce duplication of the author\u0027s information. The syntax guide is given below:"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":"{{ embed(\"Appendix: `author-config.csv` advanced syntax\", \"authorConfigSyntax.md\") }}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":"## `group-config.csv`"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":"Optionally, you can provide a `group-config.csv`(which should be in the same directory as `repo-config.csv` file) to provide details on any custom groupings for files in specified repositories ([example](group-config.csv)). It should contain the following columns:"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":"| Column Name | Explanation |"},{"lineNumber":98,"author":{"gitId":"-"},"content":"|-------------|-------------|"},{"lineNumber":99,"author":{"gitId":"-"},"content":"| Repository\u0027s Location | Same as `repo-config.csv`. Default: all the repos in `repo-config.csv` |"},{"lineNumber":100,"author":{"gitId":"-"},"content":"| Group Name {{ mandatory }} | Name of the group, e.g.,`test`. |"},{"lineNumber":101,"author":{"gitId":"-"},"content":"| Globs * {{ mandatory }} | The list of file path globs to include for specified group, e.g.,`**/test/*;**.java`. |"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":"\u003csup\u003e* **Multi-value column**: multiple values can be entered in this column using a semicolon `;` as the separator.\u003c/sup\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":"Note that a file in a given repository should only be tagged to one group. \u003cbr\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":"e.g.: `example.java` in `example-repo` can either be in the `test` group or the `code` group, but not in both `test` and `code` group. If multiple groups are specified for a given file, the latter group (i.e., `code` group) is set for the file."},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":"## `report-config.json`"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"You can optionally use `report-config.json` to customize report generation by providing the following information. ([example](report-config.json))"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":"**Fields to provide**:"},{"lineNumber":115,"author":{"gitId":"-"},"content":"* `title`: Title of the generated report, which is also the title of the deployed dashboard. Default: \"RepoSense Report\""},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"section-standalone\"\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":"## `config.json` (standalone config file)"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"Repo owners can provide the following additional information to RepoSense using a config file that we call the **_standalone config file_**:"},{"lineNumber":124,"author":{"gitId":"-"},"content":"* which files/authors/commits to analyze/omit"},{"lineNumber":125,"author":{"gitId":"-"},"content":"* which git and git host usernames belong to which authors"},{"lineNumber":126,"author":{"gitId":"-"},"content":"* the display of an author"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"To use this feature, add a `_reposense/config.json` to the root of your repo using the format in the example below ([another example](https://github.com/reposense/RepoSense/blob/master/_reposense/config.json)) and **commit it** (reason: RepoSense can see committed code only):"},{"lineNumber":129,"author":{"gitId":"-"},"content":"```json {.no-line-numbers}"},{"lineNumber":130,"author":{"gitId":"-"},"content":"{"},{"lineNumber":131,"author":{"gitId":"-"},"content":" \"ignoreGlobList\": [\"about-us/**\", \"**index.html\"],"},{"lineNumber":132,"author":{"gitId":"-"},"content":" \"formats\": [\"html\", \"css\"],"},{"lineNumber":133,"author":{"gitId":"-"},"content":" \"ignoreCommitList\": [\"90018e49f129ce7e0abdc8b18e91c9813588c601\", \"67890def\", \"abc123..def456\"],"},{"lineNumber":134,"author":{"gitId":"-"},"content":" \"ignoreAuthorList\": [\"charlie\"],"},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"authors\":"},{"lineNumber":136,"author":{"gitId":"-"},"content":" ["},{"lineNumber":137,"author":{"gitId":"-"},"content":" {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" \"gitId\": \"alice\","},{"lineNumber":139,"author":{"gitId":"-"},"content":" \"emails\": [\"alice@example.com\", \"alicet@example.com\"],"},{"lineNumber":140,"author":{"gitId":"-"},"content":" \"displayName\": \"Alice T.\","},{"lineNumber":141,"author":{"gitId":"-"},"content":" \"authorNames\": [\"AT\", \"A\"],"},{"lineNumber":142,"author":{"gitId":"-"},"content":" \"ignoreGlobList\": [\"**.css\"]"},{"lineNumber":143,"author":{"gitId":"-"},"content":" },"},{"lineNumber":144,"author":{"gitId":"-"},"content":" {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" \"gitId\": \"bob\""},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":148,"author":{"gitId":"-"},"content":"}"},{"lineNumber":149,"author":{"gitId":"-"},"content":"```"},{"lineNumber":150,"author":{"gitId":"-"},"content":"Note: all fields are optional unless specified otherwise."},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":"**Fields to provide _repository-level_ info**:"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":"* `ignoreGlobList`: Folders/files to ignore, specified using the [_glob format_](https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob)."},{"lineNumber":155,"author":{"gitId":"-"},"content":"* `formats`: File formats to analyze. Binary file formats, such as `png` and `jpg`, will be automatically labelled as the file type `binary` in the generated report. Default: all file formats"},{"lineNumber":156,"author":{"gitId":"-"},"content":"* `ignoreCommitList`: The list of commits to ignore during analysis. For accurate results, the commits should be provided with their full hash. Additionally, a range of commits can be specified using the `..` notation e.g. `abc123..def456` (both inclusive)."},{"lineNumber":157,"author":{"gitId":"-"},"content":"* `ignoreAuthorList`: The list of authors to ignore during analysis. Authors specified in `authors` field or `author-config.csv` will be also be omitted if they are in this list. Authors should be specified by their [Git Author Name](#a-note-about-git-author-name)."},{"lineNumber":158,"author":{"gitId":"-"},"content":"* `fileSizeLimit`: A file size limit for the repository in bytes as a single number without units, that will override the default file size limit. If not specified, the default file size limit will continue to be used."},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":"**Fields to provide _author-level_ info**:\u003cbr\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":"Note: `authors` field should contain _all_ authors that should be captured in the analysis."},{"lineNumber":162,"author":{"gitId":"-"},"content":"* `gitId`: Username of the author. {{ mandatory }} field."},{"lineNumber":163,"author":{"gitId":"-"},"content":"* `emails`: Associated git emails of the author. For GitHub, this can be found in your [GitHub settings](https://github.com/settings/emails)."},{"lineNumber":164,"author":{"gitId":"-"},"content":"* `displayName`: Name to display on the report for this author."},{"lineNumber":165,"author":{"gitId":"-"},"content":"* `authorNames`: Git Author Name(s) used in the author\u0027s commits. By default, RepoSense assumes an author would use their remote Git Host username as the Git username too. The meaning of _Git Author Name_ is explained in [_A note about git author name_](#a-note-about-git-author-name)."},{"lineNumber":166,"author":{"gitId":"-"},"content":"* `ignoreGlobList`: _Additional_ (i.e. on top of the repo-level `ignoreGlobList`) folders/files to ignore for a specific author. The path glob syntax is specified by the [_glob format_](https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob). In the example above, the actual `ignoreGlobList` for `alice` would be `[\"about-us/**\", \"**index.html\", \"**.css\"]`."},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":"To verify your standalone configuration is as intended, add the `_reposense/config.json` to your local copy of repo and run RepoSense against it as follows:\u003cbr\u003e"},{"lineNumber":169,"author":{"gitId":"-"},"content":"* Format: `java -jar RepoSense.jar --repo LOCAL_REPO_LOCATION` \u003cbr\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":"* Example: `java -jar RepoSense.jar --repo c:/myRepose/foo/bar`\u003cbr\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":"After that, view the report to see if the configuration you specified in the config file is being reflected correctly in the report."},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"## A note about git author name"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":"`Git Author Name` refers to the customizable author\u0027s display name set in the local `.gitconfig` file. For example, in the Git Log\u0027s display:"},{"lineNumber":176,"author":{"gitId":"-"},"content":"``` {.no-line-numbers}"},{"lineNumber":177,"author":{"gitId":"-"},"content":"..."},{"lineNumber":178,"author":{"gitId":"-"},"content":"commit cd7f610e0becbdf331d5231887d8010a689f87c7"},{"lineNumber":179,"author":{"gitId":"-"},"content":"Author: ConfiguredAuthorName \u003cauthor@example.com\u003e"},{"lineNumber":180,"author":{"gitId":"-"},"content":"Date: Fri Feb 9 19:14:41 2018 +0800"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" Make some changes to show my new author\u0027s name"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":"commit e3f699fd4ef128eebce98d5b4e5b3bb06a512f49"},{"lineNumber":185,"author":{"gitId":"-"},"content":"Author: ActualGitHostId \u003cauthor@example.com\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":"Date: Fri Feb 9 19:13:13 2018 +0800"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" Initial commit"},{"lineNumber":189,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":190,"author":{"gitId":"-"},"content":"```"},{"lineNumber":191,"author":{"gitId":"-"},"content":"`ActualGitHostId` and `ConfiguredAuthorName` are both `Git Author Name` of the same author.\u003cbr\u003e"},{"lineNumber":192,"author":{"gitId":"-"},"content":"To find the author name that you are currently using for your current git repository, run the following command within your git repository:"},{"lineNumber":193,"author":{"gitId":"asdfghjkxd"},"content":"``` shell {.no-line-numbers}"},{"lineNumber":194,"author":{"gitId":"-"},"content":"git config user.name"},{"lineNumber":195,"author":{"gitId":"-"},"content":"```"},{"lineNumber":196,"author":{"gitId":"-"},"content":"To set the author name to the value you want (e.g., to set it to your GitHub username) for your current git repository, you can use the following command ([more info](https://www.git-tower.com/learn/git/faq/change-author-name-email)):"},{"lineNumber":197,"author":{"gitId":"asdfghjkxd"},"content":"``` shell {.no-line-numbers}"},{"lineNumber":198,"author":{"gitId":"-"},"content":"git config user.name \"YOUR_AUTHOR_NAME”"},{"lineNumber":199,"author":{"gitId":"-"},"content":"```"},{"lineNumber":200,"author":{"gitId":"-"},"content":"To set the author name to use a default value you want for future git repositories, you can use the following command:"},{"lineNumber":201,"author":{"gitId":"asdfghjkxd"},"content":"``` shell {.no-line-numbers}"},{"lineNumber":202,"author":{"gitId":"-"},"content":"git config --global user.name \"YOUR_AUTHOR_NAME”"},{"lineNumber":203,"author":{"gitId":"-"},"content":"```"},{"lineNumber":204,"author":{"gitId":"-"},"content":"RepoSense expects the Git Author Name to be the same as author\u0027s username on the Git hosting platform (GitHub, GitLab, BitBucket). If an author\u0027s `Git Author Name` is different from their username on the Git hosting platform, the `Git Author Name` needs to be specified in the standalone config file. If the author has more than one `Git Author Name`, multiple values can be entered too."},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":"Note: Symbols such as `\"`, `!`, `/` etc. in your author name will be omitted, which may reduce the accuracy of the analysis if 2 names in the repository are approximately similar."},{"lineNumber":209,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"asdfghjkxd":3,"-":208}},{"path":"docs/ug/usingReports.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Using reports\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"Let\u0027s look at how to view, interpret, and interact with a RepoSense report."},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"## Viewing the report"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"As a report consists of web pages, it can be viewed using a Web Browser. Here are the ways to view the report in different situations."},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"* **Situation 1: The report has been hosted on a website**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Simply go to the URL of the report ([example](https://nus-cs2113-ay1920s2.github.io/tp-dashboard)) in your browser."},{"lineNumber":22,"author":{"gitId":"-"},"content":"* **Situation 2: You generated the report in your computer earlier**"},{"lineNumber":23,"author":{"gitId":"-"},"content":" * Run RepoSense with the `--view` option:\u003cbr\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" Format: `java -jar RepoSense.jar --view REPORT_FOLDER`\u003cbr\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" e.g., `java -jar RepoSense.jar --view ./myReport/reposense-report`"},{"lineNumber":26,"author":{"gitId":"-"},"content":"* **Situation 3: The report was given to you as a zip file or as a folder**"},{"lineNumber":27,"author":{"gitId":"-"},"content":" 1. If it is a zip file, unzip it."},{"lineNumber":28,"author":{"gitId":"-"},"content":" 1. Open the `index.html` (in the unzipped report directory) using a browser."},{"lineNumber":29,"author":{"gitId":"-"},"content":" 1. If the report was not loaded automatically, click on the `choose file` button in the shown web page, and select the `archive.zip` (in the same directory) manually.\u003cbr\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" If even the `choose file` button is not showing up, try a different browser."},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"## Report structure"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"Here is an example of how a typical report looks like:"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"![report](../images/report-features.png)"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"The report is divided into two sections: [_**Chart panel**_](#chart-panel) and the [_**Code panel**_](#code-panel). In some situations, the [_**Commits panel**_](#commits-panel) will appear in place of the _code panel_. All three are explained in the sections below."},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"Links to external webpages (repository link, author\u0027s profile, blame view, etc.) is only properly supported when RepoSense analyzes a remote repository belonging to GitHub, GitLab or BitBucket."},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"## Chart panel"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"![Ramp Charts](../images/rampchart.png)\u003cbr\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"The `Chart panel` (an example is shown above) contains a series of _ramp chart_ + _contribution bar_ pairs, possibly organized into sub-groups, with a _tool bar_ at the top."},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#### Ramp charts"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" seamless\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"**Ramp chart**: This is a visualization of the frequency and quantity of contributions of an author for a specific repository. Each ramp chart (i.e., light blue rectangle) represents an author\u0027s contribution timeline for a particular repository. Contributions appear as ramps in the timeline."},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" seamless\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":"**Ramp**: The name we use to refer to the triangular saw-tooth-like shape that represents a code contribution. A ramp can represent a single commit, a sum of the commits done in a certain period, depending on the granularity used."},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":"* The ramp\u0027s area is proportional to the amount of contribution the author made at that time period."},{"lineNumber":67,"author":{"gitId":"-"},"content":"* The position of the right edge of the ramp (perpendicular to the blue bar) represents the period (the day or the week) in which the contribution was made."},{"lineNumber":68,"author":{"gitId":"-"},"content":"* Hover the pointer over a ramp to see the total number of lines represented by that ramp."},{"lineNumber":69,"author":{"gitId":"-"},"content":"* Click on the ramp to view details about the list of commits represented in the ramp."},{"lineNumber":70,"author":{"gitId":"-"},"content":" * At the commit-level of granularity, it links to the commit in the remote repository."},{"lineNumber":71,"author":{"gitId":"-"},"content":" * At higher levels of granularity, it displays the list of commits in the Code Panel."},{"lineNumber":72,"author":{"gitId":"-"},"content":"* To make the comparison between two authors easier, the color of the ramps that represent different authors\u0027 contributions at the same time period are the same."},{"lineNumber":73,"author":{"gitId":"-"},"content":"* Ramps representing big contributions can overlap with earlier time periods. This represents the possibility that if the work committed during a specific period is big, it could have started at an earlier time period."},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":"#### Contribution bars"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" seamless\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":"**Contribution bar**: It\u0027s the bar that appears below each ramp chart. Its length represents the total amount of code contributed by an author during the _total analysis period_."},{"lineNumber":80,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":"* Hover over a contribution bar to see the exact amount of the contribution."},{"lineNumber":83,"author":{"gitId":"-"},"content":"* If an author contributed significantly higher than other authors, the contribution bar could _overflow_ into multiple lines."},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"We allow contribution bars to overflow into multiple lines (rather than adjust the scale to fit the maximum bar length) to prevent a minority of \u003ctooltip content\u003d\"i.e., those contributing an unusually high amount of code\"\u003eoutliers\u003c/tooltip\u003e from affecting the scale of the majority."},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":"#### Tool bar"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":"The `Tool Bar` at the top of the Chart panel provides a set of configuration options that control the Chart panel."},{"lineNumber":93,"author":{"gitId":"-"},"content":"* `Search`: filters the author and repository by keywords."},{"lineNumber":94,"author":{"gitId":"-"},"content":" * Multiple keywords/terms can be used, separated by spaces."},{"lineNumber":95,"author":{"gitId":"-"},"content":" * Entries that contain _any_ (not necessarily _all_) of the search terms will be displayed."},{"lineNumber":96,"author":{"gitId":"-"},"content":" * The keywords used to filter the author and repository are case-insensitive."},{"lineNumber":97,"author":{"gitId":"jonasongg"},"content":" * Starting a search with `tag:` will filter author and repository by git tags. Similar search rules as above (like separating multiple tag names by space) apply."},{"lineNumber":98,"author":{"gitId":"-"},"content":"* `Group by`: grouping criteria for the rows of results."},{"lineNumber":99,"author":{"gitId":"-"},"content":" * `None`: results will not be grouped in any particular way."},{"lineNumber":100,"author":{"gitId":"-"},"content":" * `Repo/Branch`: results will be grouped by repositories and its\u0027 associating branches."},{"lineNumber":101,"author":{"gitId":"-"},"content":" * `Author`: results will be grouped by the name of the author. Contributions made to multiple repositories by a particular author will be grouped under the author."},{"lineNumber":102,"author":{"gitId":"-"},"content":"* `Sort groups by`: sorting criteria for the main group. See note [1] below."},{"lineNumber":103,"author":{"gitId":"-"},"content":" * `Group title`: groups will be sorted by the title of the group (in bold text) in alphabetical order."},{"lineNumber":104,"author":{"gitId":"-"},"content":" * `Contribution`: groups will be sorted by the combined contributions within a group, in the order of number of lines added."},{"lineNumber":105,"author":{"gitId":"-"},"content":" * `Variance`: groups will be sorted by how far the daily contributions are spread out from their average value among all authors involved. A detailed definition of variance is located [here](https://en.wikipedia.org/wiki/Variance)."},{"lineNumber":106,"author":{"gitId":"-"},"content":"* `Sort within groups by`: sorting criteria within each group."},{"lineNumber":107,"author":{"gitId":"-"},"content":" * `Title`: each group will be internally sorted by its title in alphabetical order."},{"lineNumber":108,"author":{"gitId":"-"},"content":" * `Contribution`: each group will be internally sorted by individual contributions in the order of number of lines added."},{"lineNumber":109,"author":{"gitId":"-"},"content":" * `Variance`: each group will be internally sorted by how far the daily contributions are spread out from their average value by each author into a particular repo. A detailed definition of variance is located [here](https://en.wikipedia.org/wiki/Variance)."},{"lineNumber":110,"author":{"gitId":"-"},"content":"* `Granularity`: the period of time for which commits are aggregated in the Ramp Chart."},{"lineNumber":111,"author":{"gitId":"-"},"content":" * `Commit`: each commit made is shown as one ramp."},{"lineNumber":112,"author":{"gitId":"-"},"content":" * `Day`: commits within a day (commits made within 00:00 to 23:59) are shown as one ramp."},{"lineNumber":113,"author":{"gitId":"-"},"content":" * `Week`: commits within a week (from Monday 00:00 to Sunday 23:59) are shown as one ramp."},{"lineNumber":114,"author":{"gitId":"-"},"content":"* `Since`, `Until`: the date range for the Ramp Chart (not applied to the Contribution Bars)."},{"lineNumber":115,"author":{"gitId":"-"},"content":"* `Reset date range`: resets the date range of the Ramp Chart to the default date range."},{"lineNumber":116,"author":{"gitId":"-"},"content":"* `Breakdown by file type`: toggles the contribution bar to either display the bar by :"},{"lineNumber":117,"author":{"gitId":"-"},"content":" * the total lines of codes added (if the checkbox is left unchecked), or"},{"lineNumber":118,"author":{"gitId":"-"},"content":" * a breakdown of the number of lines of codes added to each file type (if the checkbox is checked). More info on note [3] below."},{"lineNumber":119,"author":{"gitId":"-"},"content":"* `Merge group`: merges all the ramp charts of each group into a single ramp chart; aggregates the contribution of each group."},{"lineNumber":120,"author":{"gitId":"-"},"content":" * viewing of authored code of the group as a whole is available when `group by repos`."},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":"Notes:\u003cbr\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":"[1] **`Sort groups by`**: each main group has its own index and percentile according to its ranking position after sorting (e.g., if the groups are sorted by contribution in descending order, a 25% percentile indicates that the group is in the top 25% of the whole cohort in terms of contribution)\u003cbr\u003e."},{"lineNumber":124,"author":{"gitId":"-"},"content":"[2] **`Repo/Branch`**: the repo/branch name is constructed as `ORGANIZATION/REPOSITORY[BRANCH]` (e.g., `reposense/reposense[master]`)\u003cbr\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":"[3] The total contribution of each group will get updated based on the checked file types and will be taken into account when the sorting criteria is contribution."},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":"**RepoSense support _intelligent_ bookmarks**: Note how the browser URL changes as you modify settings in the report. If you send that URL to someone else, that person will be able to use that URL to view the report in the same _view configuration_ you had when you copied the URL. For example, [this URL](https://nus-cs2113-ay1920s2.github.io/tp-dashboard/) and [this URL](https://nus-cs2113-ay1920s2.github.io/tp-dashboard/#search\u003d\u0026sort\u003dgroupTitle\u0026sortWithin\u003dtitle\u0026since\u003d2020-03-01\u0026timeframe\u003dday\u0026mergegroup\u003dtrue\u0026groupSelect\u003dgroupByRepos\u0026breakdown\u003dtrue) give two different views of the same report."},{"lineNumber":131,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":"## Code panel"},{"lineNumber":136,"author":{"gitId":"-"},"content":"\u003cimg src\u003d\"../images/code-panel.png\" alt\u003d\"code panel\" width\u003d\"468\"\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":"The `Code panel` allows users to see the code attributed to a specific author. Click on the `\u003c/\u003e` icon beside the author\u0027s name in the `Chart panel` to display the `Code panel` on the right."},{"lineNumber":139,"author":{"gitId":"-"},"content":"* The Code panel shows the files that contain the author\u0027s contributions, sorted by the number of lines written."},{"lineNumber":140,"author":{"gitId":"-"},"content":"* Select the radio button to enable one of the following 2 filters. Note that only 1 of the 2 filters is active at any time."},{"lineNumber":141,"author":{"gitId":"-"},"content":" * Type file path glob in glob filter to include files matching the glob expression."},{"lineNumber":142,"author":{"gitId":"-"},"content":" * Select the checkboxes to include files of preferred file extensions."},{"lineNumber":143,"author":{"gitId":"-"},"content":" The number right beside the file extension shows the total number of lines written by the author in such file extension files. In contrast, the number inside the parenthesis indicates the number of non-blank lines written by the author."},{"lineNumber":144,"author":{"gitId":"-"},"content":"* Clicking the file title toggles the file content."},{"lineNumber":145,"author":{"gitId":"-"},"content":"* Clicking the first icon beside the file title opens the history view of the file on the remote repository."},{"lineNumber":146,"author":{"gitId":"-"},"content":"* Clicking the second icon beside the file title opens the blame view of the file on the remote repository."},{"lineNumber":147,"author":{"gitId":"-"},"content":"* When using the code panel for a specific author, code attributed to the author is highlighted in green. "},{"lineNumber":148,"author":{"gitId":"-"},"content":" * When using the `merge group` option with `group by repos`, the code panel will consist of multiple authors\u0027 contributions. Code attributed to these authors can be differentiated by the highlight colors of the code. The color legend is shown at the top of each file and consists only those authors that edited a particular file."},{"lineNumber":149,"author":{"gitId":"-"},"content":"* Non-trivial code segments that the selected author has not written are hidden by default, but you can toggle them by clicking on the %%:fas-plus-circle:%% icon."},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":"Changing binary files, such as images (`.jpg`, `.png`), applications (`.exe`), zip files (`.zip`, `.rar`) and certain document types (`.docx`, `.pptx`), is not counted towards the total number of lines of code contributed by an author."},{"lineNumber":154,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":"## Commits panel"},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003cimg src\u003d\"../images/commits-panel.png\" alt\u003d\"commits panel\" width\u003d\"468\"\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"The `Commits panel` allows users to see the commits attributed to a specific author."},{"lineNumber":162,"author":{"gitId":"-"},"content":"* To view all commits attributed to an author, locate the author\u0027s ramp chart in the chart panel, and click on the %%:fas-list-ul:%% icon above the ramp chart."},{"lineNumber":163,"author":{"gitId":"-"},"content":"* To view commits of a specific period, locate the author\u0027s ramp chart in the chart panel, hold down the \u003ckbd\u003eCtrl\u003c/kbd\u003e key (\u003ckbd\u003e\u0026#8984;\u003c/kbd\u003e in MacOS), and click on the start and end positions of the period (on the ramp chart) you want to view. \u003cbr\u003e"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":"![Opening commits panel](../images/opening-commits-panel.gif)"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":"* The commits can be sorted by the date it was committed or by LoC."},{"lineNumber":168,"author":{"gitId":"-"},"content":"* The tags of the commits will also be displayed on top if any. Clicking on a tag will direct you to the commit having that particular tag."},{"lineNumber":169,"author":{"gitId":"-"},"content":"* The date range for the `Chart panel` can be updated by clicking on the \"Show ramp chart for this period\" below the name of the author."},{"lineNumber":170,"author":{"gitId":"-"},"content":"* The ramp chart at the top of the `Commits panel` represents individual commits (not weekly or daily contributions)."},{"lineNumber":171,"author":{"gitId":"-"},"content":"* The commit messages body can be expanded or collapsed by clicking on the %%:fas-ellipsis-h:%% icon beside each commit message title."},{"lineNumber":172,"author":{"gitId":"-"},"content":"* To promote and encourage the 50/72 rule for commit messages, a dotted vertical line will be shown for:"},{"lineNumber":173,"author":{"gitId":"-"},"content":" * Commit message subject that exceeds 50 characters."},{"lineNumber":174,"author":{"gitId":"-"},"content":" * Commit message body after the 72nd character mark."}],"authorContributionMap":{"-":173,"jonasongg":1}},{"path":"frontend/.eslintrc.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"env\": {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"browser\": true"},{"lineNumber":4,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"extends\": ["},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"airbnb-base\","},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"plugin:vue/recommended\","},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"@vue/typescript\","},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"plugin:import/typescript\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"rules\": {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"vue/component-definition-name-casing\": ["},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"error\","},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"kebab-case\""},{"lineNumber":15,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"vue/require-prop-types\": 0,"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"no-param-reassign\": 0,"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"arrow-parens\": ["},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"error\","},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"always\""},{"lineNumber":21,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"indent\": ["},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"error\","},{"lineNumber":24,"author":{"gitId":"-"},"content":" 2,"},{"lineNumber":25,"author":{"gitId":"-"},"content":" {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"ignoredNodes\": ["},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"ConditionalExpression\""},{"lineNumber":28,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"prefer-destructuring\": 0,"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"func-names\": ["},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"error\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"as-needed\""},{"lineNumber":35,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"no-alert\": 0,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"linebreak-style\": 0,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"max-len\": ["},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"error\","},{"lineNumber":40,"author":{"gitId":"-"},"content":" {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"code\": 120"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"prefer-object-spread\": 0,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"function-call-argument-newline\": 0,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"vue/no-computed-properties-in-data\": 0,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"import/extensions\": ["},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"error\","},{"lineNumber":49,"author":{"gitId":"-"},"content":" {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"js\": \"never\","},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"ts\": \"never\""},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":54,"author":{"gitId":"-"},"content":" },"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"parserOptions\": {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"parser\": \"@typescript-eslint/parser\""},{"lineNumber":57,"author":{"gitId":"-"},"content":" },"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \"overrides\": ["},{"lineNumber":59,"author":{"gitId":"-"},"content":" {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \"files\": [\"*.ts\"],"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"extends\": ["},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"airbnb-typescript/base\","},{"lineNumber":63,"author":{"gitId":"-"},"content":" \"plugin:@typescript-eslint/recommended\""},{"lineNumber":64,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"parserOptions\": {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"project\": [\"./tsconfig.json\"]"},{"lineNumber":67,"author":{"gitId":"-"},"content":" },"},{"lineNumber":68,"author":{"gitId":"-"},"content":" \"rules\": {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \"indent\": \"off\","},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"@typescript-eslint/indent\": ["},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"error\","},{"lineNumber":72,"author":{"gitId":"-"},"content":" 2,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \"ignoredNodes\": ["},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"ConditionalExpression\""},{"lineNumber":76,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"SwitchCase\": 0"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"@typescript-eslint/member-delimiter-style\": \"error\","},{"lineNumber":81,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/type-annotation-spacing\": \"error\","},{"lineNumber":82,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/array-type\": ["},{"lineNumber":83,"author":{"gitId":"sopa301"},"content":" \"error\","},{"lineNumber":84,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":85,"author":{"gitId":"sopa301"},"content":" \"default\": \"array-simple\","},{"lineNumber":86,"author":{"gitId":"sopa301"},"content":" \"readonly\": \"array-simple\""},{"lineNumber":87,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":88,"author":{"gitId":"sopa301"},"content":" ]"},{"lineNumber":89,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":90,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":91,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":92,"author":{"gitId":"sopa301"},"content":" \"files\": [\"*.vue\"],"},{"lineNumber":93,"author":{"gitId":"sopa301"},"content":" \"rules\": {"},{"lineNumber":94,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/array-type\": ["},{"lineNumber":95,"author":{"gitId":"sopa301"},"content":" \"error\","},{"lineNumber":96,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":97,"author":{"gitId":"sopa301"},"content":" \"default\": \"generic\","},{"lineNumber":98,"author":{"gitId":"sopa301"},"content":" \"readonly\": \"generic\""},{"lineNumber":99,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":100,"author":{"gitId":"supermii2"},"content":" ],"},{"lineNumber":101,"author":{"gitId":"supermii2"},"content":" \"no-unused-vars\": \"off\","},{"lineNumber":102,"author":{"gitId":"supermii2"},"content":" \"@typescript-eslint/no-unused-vars\": [\"error\"]"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"supermii2":3,"sopa301":19,"-":84}},{"path":"frontend/.stylelintrc.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"plugins\": ["},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"stylelint-order\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"extends\": ["},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"stylelint-config-recommended-scss\","},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"stylelint-config-recommended-vue\""},{"lineNumber":8,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"rules\": {"},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"color-no-invalid-hex\": true,"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"string-no-newline\": true,"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"unit-no-unknown\": true,"},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"property-no-unknown\": true,"},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"block-no-empty\": true,"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"comment-no-empty\": true,"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"no-extra-semicolons\": true,"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"no-invalid-double-slash-comments\": true,"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"declaration-no-important\": true,"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"declaration-block-single-line-max-declarations\": 1,"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"number-leading-zero\": \"never\","},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"number-no-trailing-zeros\": null,"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"string-quotes\": \"single\","},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"length-zero-no-unit\": true,"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"value-keyword-case\": \"lower\","},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"property-case\": \"lower\","},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"declaration-colon-space-after\": \"always\","},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"selector-type-case\": \"lower\","},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"selector-list-comma-newline-after\": \"always\","},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"no-eol-whitespace\": true,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"order/properties-alphabetical-order\": true,"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"indentation\": 2,"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"scss/at-import-partial-extension\": null,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"function-no-unknown\": null,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"scss/at-import-no-partial-leading-underscore\": null,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"no-descending-specificity\": null,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"scss/no-global-function-names\": null,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"selector-type-no-unknown\": null,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"at-rule-no-unknown\": null,"},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"no-duplicate-selectors\": null,"},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" \"block-opening-brace-space-before\": \"always\","},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"declaration-colon-space-before\": \"never\""},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"sopa301":3,"-":40}},{"path":"frontend/cypress/package-lock.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"sopa301"},"content":" \"name\": \"cypress\","},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":" \"lockfileVersion\": 2,"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"requires\": true,"},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":" \"packages\": {"},{"lineNumber":6,"author":{"gitId":"sopa301"},"content":" \"\": {"},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" \"devDependencies\": {"},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" \"cypress\": \"^13.6.4\""},{"lineNumber":9,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":10,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11,"author":{"gitId":"sopa301"},"content":" \"node_modules/@colors/colors\": {"},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.0\","},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz\","},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ\u003d\u003d\","},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":16,"author":{"gitId":"sopa301"},"content":" \"optional\": true,"},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":18,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.1.90\""},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":21,"author":{"gitId":"sopa301"},"content":" \"node_modules/@cypress/request\": {"},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\","},{"lineNumber":23,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz\","},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ\u003d\u003d\","},{"lineNumber":25,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":26,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":27,"author":{"gitId":"sopa301"},"content":" \"aws-sign2\": \"~0.7.0\","},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" \"aws4\": \"^1.8.0\","},{"lineNumber":29,"author":{"gitId":"sopa301"},"content":" \"caseless\": \"~0.12.0\","},{"lineNumber":30,"author":{"gitId":"sopa301"},"content":" \"combined-stream\": \"~1.0.6\","},{"lineNumber":31,"author":{"gitId":"sopa301"},"content":" \"extend\": \"~3.0.2\","},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" \"forever-agent\": \"~0.6.1\","},{"lineNumber":33,"author":{"gitId":"sopa301"},"content":" \"form-data\": \"~2.3.2\","},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":" \"http-signature\": \"~1.3.6\","},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" \"is-typedarray\": \"~1.0.0\","},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" \"isstream\": \"~0.1.2\","},{"lineNumber":37,"author":{"gitId":"sopa301"},"content":" \"json-stringify-safe\": \"~5.0.1\","},{"lineNumber":38,"author":{"gitId":"sopa301"},"content":" \"mime-types\": \"~2.1.19\","},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"performance-now\": \"^2.1.0\","},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" \"qs\": \"6.10.4\","},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"safe-buffer\": \"^5.1.2\","},{"lineNumber":42,"author":{"gitId":"sopa301"},"content":" \"tough-cookie\": \"^4.1.3\","},{"lineNumber":43,"author":{"gitId":"sopa301"},"content":" \"tunnel-agent\": \"^0.6.0\","},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" \"uuid\": \"^8.3.2\""},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":48,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":49,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":" \"node_modules/@cypress/xvfb\": {"},{"lineNumber":51,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.4\","},{"lineNumber":52,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz\","},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q\u003d\u003d\","},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^3.1.0\","},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":" \"lodash.once\": \"^4.1.1\""},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":59,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":60,"author":{"gitId":"sopa301"},"content":" \"node_modules/@cypress/xvfb/node_modules/debug\": {"},{"lineNumber":61,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.7\","},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\","},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ\u003d\u003d\","},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":65,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":66,"author":{"gitId":"sopa301"},"content":" \"ms\": \"^2.1.1\""},{"lineNumber":67,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/node\": {"},{"lineNumber":70,"author":{"gitId":"sopa301"},"content":" \"version\": \"18.18.3\","},{"lineNumber":71,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-18.18.3.tgz\","},{"lineNumber":72,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA\u003d\u003d\","},{"lineNumber":73,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":74,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":75,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":76,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/sinonjs__fake-timers\": {"},{"lineNumber":77,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.1.1\","},{"lineNumber":78,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz\","},{"lineNumber":79,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g\u003d\u003d\","},{"lineNumber":80,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":81,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":82,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/sizzle\": {"},{"lineNumber":83,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.4\","},{"lineNumber":84,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.4.tgz\","},{"lineNumber":85,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-jA2llq2zNkg8HrALI7DtWzhALcVH0l7i89yhY3iBdOz6cBPeACoFq+fkQrjHA39t1hnSFOboZ7A/AY5MMZSlag\u003d\u003d\","},{"lineNumber":86,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":87,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":88,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/yauzl\": {"},{"lineNumber":89,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.10.1\","},{"lineNumber":90,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.1.tgz\","},{"lineNumber":91,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw\u003d\u003d\","},{"lineNumber":92,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":93,"author":{"gitId":"sopa301"},"content":" \"optional\": true,"},{"lineNumber":94,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":95,"author":{"gitId":"sopa301"},"content":" \"@types/node\": \"*\""},{"lineNumber":96,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":97,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":98,"author":{"gitId":"sopa301"},"content":" \"node_modules/aggregate-error\": {"},{"lineNumber":99,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\","},{"lineNumber":100,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz\","},{"lineNumber":101,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA\u003d\u003d\","},{"lineNumber":102,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":103,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":104,"author":{"gitId":"sopa301"},"content":" \"clean-stack\": \"^2.0.0\","},{"lineNumber":105,"author":{"gitId":"sopa301"},"content":" \"indent-string\": \"^4.0.0\""},{"lineNumber":106,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":107,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":108,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":109,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":110,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":111,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-colors\": {"},{"lineNumber":112,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.3\","},{"lineNumber":113,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz\","},{"lineNumber":114,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw\u003d\u003d\","},{"lineNumber":115,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":116,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":117,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":118,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":119,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":120,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-escapes\": {"},{"lineNumber":121,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.2\","},{"lineNumber":122,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz\","},{"lineNumber":123,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ\u003d\u003d\","},{"lineNumber":124,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":125,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":126,"author":{"gitId":"sopa301"},"content":" \"type-fest\": \"^0.21.3\""},{"lineNumber":127,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":128,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":129,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":130,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":131,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":132,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":133,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":134,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":135,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-regex\": {"},{"lineNumber":136,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.1\","},{"lineNumber":137,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\","},{"lineNumber":138,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ\u003d\u003d\","},{"lineNumber":139,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":140,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":141,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":142,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":143,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":144,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-styles\": {"},{"lineNumber":145,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\","},{"lineNumber":146,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\","},{"lineNumber":147,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg\u003d\u003d\","},{"lineNumber":148,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":149,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":150,"author":{"gitId":"sopa301"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":151,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":152,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":153,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":154,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":155,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":156,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":157,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":158,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":159,"author":{"gitId":"sopa301"},"content":" \"node_modules/arch\": {"},{"lineNumber":160,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\","},{"lineNumber":161,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/arch/-/arch-2.2.0.tgz\","},{"lineNumber":162,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ\u003d\u003d\","},{"lineNumber":163,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":164,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":165,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":166,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":167,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":168,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":169,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":170,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\","},{"lineNumber":171,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":172,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":173,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":174,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\","},{"lineNumber":175,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":176,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":177,"author":{"gitId":"sopa301"},"content":" ]"},{"lineNumber":178,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":179,"author":{"gitId":"sopa301"},"content":" \"node_modules/asn1\": {"},{"lineNumber":180,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.6\","},{"lineNumber":181,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz\","},{"lineNumber":182,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ\u003d\u003d\","},{"lineNumber":183,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":184,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":185,"author":{"gitId":"sopa301"},"content":" \"safer-buffer\": \"~2.1.0\""},{"lineNumber":186,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":187,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":188,"author":{"gitId":"sopa301"},"content":" \"node_modules/assert-plus\": {"},{"lineNumber":189,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":190,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz\","},{"lineNumber":191,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw\u003d\u003d\","},{"lineNumber":192,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":193,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":194,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.8\""},{"lineNumber":195,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":196,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":197,"author":{"gitId":"sopa301"},"content":" \"node_modules/astral-regex\": {"},{"lineNumber":198,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":199,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz\","},{"lineNumber":200,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ\u003d\u003d\","},{"lineNumber":201,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":202,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":203,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":204,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":205,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":206,"author":{"gitId":"sopa301"},"content":" \"node_modules/async\": {"},{"lineNumber":207,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.4\","},{"lineNumber":208,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/async/-/async-3.2.4.tgz\","},{"lineNumber":209,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ\u003d\u003d\","},{"lineNumber":210,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":211,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":212,"author":{"gitId":"sopa301"},"content":" \"node_modules/asynckit\": {"},{"lineNumber":213,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.0\","},{"lineNumber":214,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\","},{"lineNumber":215,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q\u003d\u003d\","},{"lineNumber":216,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":217,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":218,"author":{"gitId":"sopa301"},"content":" \"node_modules/at-least-node\": {"},{"lineNumber":219,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":220,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz\","},{"lineNumber":221,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg\u003d\u003d\","},{"lineNumber":222,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":223,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":224,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 4.0.0\""},{"lineNumber":225,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":226,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":227,"author":{"gitId":"sopa301"},"content":" \"node_modules/aws-sign2\": {"},{"lineNumber":228,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.7.0\","},{"lineNumber":229,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz\","},{"lineNumber":230,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA\u003d\u003d\","},{"lineNumber":231,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":232,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":233,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\""},{"lineNumber":234,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":235,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":236,"author":{"gitId":"sopa301"},"content":" \"node_modules/aws4\": {"},{"lineNumber":237,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.12.0\","},{"lineNumber":238,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz\","},{"lineNumber":239,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg\u003d\u003d\","},{"lineNumber":240,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":241,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":242,"author":{"gitId":"sopa301"},"content":" \"node_modules/balanced-match\": {"},{"lineNumber":243,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":244,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\","},{"lineNumber":245,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw\u003d\u003d\","},{"lineNumber":246,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":247,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":248,"author":{"gitId":"sopa301"},"content":" \"node_modules/base64-js\": {"},{"lineNumber":249,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.1\","},{"lineNumber":250,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz\","},{"lineNumber":251,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA\u003d\u003d\","},{"lineNumber":252,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":253,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":254,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":255,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":256,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":257,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":258,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":259,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\","},{"lineNumber":260,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":261,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":262,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":263,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\","},{"lineNumber":264,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":265,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":266,"author":{"gitId":"sopa301"},"content":" ]"},{"lineNumber":267,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":268,"author":{"gitId":"sopa301"},"content":" \"node_modules/bcrypt-pbkdf\": {"},{"lineNumber":269,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":270,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz\","},{"lineNumber":271,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w\u003d\u003d\","},{"lineNumber":272,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":273,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":274,"author":{"gitId":"sopa301"},"content":" \"tweetnacl\": \"^0.14.3\""},{"lineNumber":275,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":276,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":277,"author":{"gitId":"sopa301"},"content":" \"node_modules/blob-util\": {"},{"lineNumber":278,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\","},{"lineNumber":279,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz\","},{"lineNumber":280,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ\u003d\u003d\","},{"lineNumber":281,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":282,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":283,"author":{"gitId":"sopa301"},"content":" \"node_modules/bluebird\": {"},{"lineNumber":284,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.7.2\","},{"lineNumber":285,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\","},{"lineNumber":286,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg\u003d\u003d\","},{"lineNumber":287,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":288,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":289,"author":{"gitId":"sopa301"},"content":" \"node_modules/brace-expansion\": {"},{"lineNumber":290,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.11\","},{"lineNumber":291,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\","},{"lineNumber":292,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA\u003d\u003d\","},{"lineNumber":293,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":294,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":295,"author":{"gitId":"sopa301"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":296,"author":{"gitId":"sopa301"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":297,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":298,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":299,"author":{"gitId":"sopa301"},"content":" \"node_modules/buffer\": {"},{"lineNumber":300,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.7.1\","},{"lineNumber":301,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz\","},{"lineNumber":302,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ\u003d\u003d\","},{"lineNumber":303,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":304,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":305,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":306,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":307,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":308,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":309,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":310,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\","},{"lineNumber":311,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":312,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":313,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":314,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\","},{"lineNumber":315,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":316,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":317,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":318,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":319,"author":{"gitId":"sopa301"},"content":" \"base64-js\": \"^1.3.1\","},{"lineNumber":320,"author":{"gitId":"sopa301"},"content":" \"ieee754\": \"^1.1.13\""},{"lineNumber":321,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":322,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":323,"author":{"gitId":"sopa301"},"content":" \"node_modules/buffer-crc32\": {"},{"lineNumber":324,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.13\","},{"lineNumber":325,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz\","},{"lineNumber":326,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ\u003d\u003d\","},{"lineNumber":327,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":328,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":329,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\""},{"lineNumber":330,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":331,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":332,"author":{"gitId":"sopa301"},"content":" \"node_modules/cachedir\": {"},{"lineNumber":333,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.4.0\","},{"lineNumber":334,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz\","},{"lineNumber":335,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ\u003d\u003d\","},{"lineNumber":336,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":337,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":338,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":339,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":340,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":341,"author":{"gitId":"sopa301"},"content":" \"node_modules/call-bind\": {"},{"lineNumber":342,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":343,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz\","},{"lineNumber":344,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA\u003d\u003d\","},{"lineNumber":345,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":346,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":347,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.1\","},{"lineNumber":348,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.0.2\""},{"lineNumber":349,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":350,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":351,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":352,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":353,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":354,"author":{"gitId":"sopa301"},"content":" \"node_modules/caseless\": {"},{"lineNumber":355,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.12.0\","},{"lineNumber":356,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz\","},{"lineNumber":357,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw\u003d\u003d\","},{"lineNumber":358,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":359,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":360,"author":{"gitId":"sopa301"},"content":" \"node_modules/chalk\": {"},{"lineNumber":361,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.2\","},{"lineNumber":362,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\","},{"lineNumber":363,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA\u003d\u003d\","},{"lineNumber":364,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":365,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":366,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":367,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":368,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":369,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":370,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":371,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":372,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":373,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":374,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":375,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":376,"author":{"gitId":"sopa301"},"content":" \"node_modules/chalk/node_modules/supports-color\": {"},{"lineNumber":377,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.0\","},{"lineNumber":378,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\","},{"lineNumber":379,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\","},{"lineNumber":380,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":381,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":382,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":383,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":384,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":385,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":386,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":387,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":388,"author":{"gitId":"sopa301"},"content":" \"node_modules/check-more-types\": {"},{"lineNumber":389,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.24.0\","},{"lineNumber":390,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz\","},{"lineNumber":391,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA\u003d\u003d\","},{"lineNumber":392,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":393,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":394,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":395,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":396,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":397,"author":{"gitId":"sopa301"},"content":" \"node_modules/ci-info\": {"},{"lineNumber":398,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.9.0\","},{"lineNumber":399,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\","},{"lineNumber":400,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ\u003d\u003d\","},{"lineNumber":401,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":402,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":403,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":404,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":405,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sibiraj-s\""},{"lineNumber":406,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":407,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":408,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":409,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":410,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":411,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":412,"author":{"gitId":"sopa301"},"content":" \"node_modules/clean-stack\": {"},{"lineNumber":413,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\","},{"lineNumber":414,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz\","},{"lineNumber":415,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A\u003d\u003d\","},{"lineNumber":416,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":417,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":418,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":419,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":420,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":421,"author":{"gitId":"sopa301"},"content":" \"node_modules/cli-cursor\": {"},{"lineNumber":422,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\","},{"lineNumber":423,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz\","},{"lineNumber":424,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw\u003d\u003d\","},{"lineNumber":425,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":426,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":427,"author":{"gitId":"sopa301"},"content":" \"restore-cursor\": \"^3.1.0\""},{"lineNumber":428,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":429,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":430,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":431,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":432,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":433,"author":{"gitId":"sopa301"},"content":" \"node_modules/cli-table3\": {"},{"lineNumber":434,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.3\","},{"lineNumber":435,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz\","},{"lineNumber":436,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg\u003d\u003d\","},{"lineNumber":437,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":438,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":439,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.2.0\""},{"lineNumber":440,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":441,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":442,"author":{"gitId":"sopa301"},"content":" \"node\": \"10.* || \u003e\u003d 12.*\""},{"lineNumber":443,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":444,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {"},{"lineNumber":445,"author":{"gitId":"sopa301"},"content":" \"@colors/colors\": \"1.5.0\""},{"lineNumber":446,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":447,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":448,"author":{"gitId":"sopa301"},"content":" \"node_modules/cli-truncate\": {"},{"lineNumber":449,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\","},{"lineNumber":450,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz\","},{"lineNumber":451,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg\u003d\u003d\","},{"lineNumber":452,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":453,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":454,"author":{"gitId":"sopa301"},"content":" \"slice-ansi\": \"^3.0.0\","},{"lineNumber":455,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.2.0\""},{"lineNumber":456,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":457,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":458,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":459,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":460,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":461,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":462,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":463,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":464,"author":{"gitId":"sopa301"},"content":" \"node_modules/color-convert\": {"},{"lineNumber":465,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\","},{"lineNumber":466,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\","},{"lineNumber":467,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ\u003d\u003d\","},{"lineNumber":468,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":469,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":470,"author":{"gitId":"sopa301"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":471,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":472,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":473,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":474,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":475,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":476,"author":{"gitId":"sopa301"},"content":" \"node_modules/color-name\": {"},{"lineNumber":477,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.4\","},{"lineNumber":478,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\","},{"lineNumber":479,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA\u003d\u003d\","},{"lineNumber":480,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":481,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":482,"author":{"gitId":"sopa301"},"content":" \"node_modules/colorette\": {"},{"lineNumber":483,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.20\","},{"lineNumber":484,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz\","},{"lineNumber":485,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w\u003d\u003d\","},{"lineNumber":486,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":487,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":488,"author":{"gitId":"sopa301"},"content":" \"node_modules/combined-stream\": {"},{"lineNumber":489,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.8\","},{"lineNumber":490,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\","},{"lineNumber":491,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg\u003d\u003d\","},{"lineNumber":492,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":493,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":494,"author":{"gitId":"sopa301"},"content":" \"delayed-stream\": \"~1.0.0\""},{"lineNumber":495,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":496,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":497,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":498,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":499,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":500,"author":{"gitId":"sopa301"},"content":" \"node_modules/commander\": {"},{"lineNumber":501,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.2.1\","},{"lineNumber":502,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/commander/-/commander-6.2.1.tgz\","},{"lineNumber":503,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA\u003d\u003d\","},{"lineNumber":504,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":505,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":506,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":507,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":508,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":509,"author":{"gitId":"sopa301"},"content":" \"node_modules/common-tags\": {"},{"lineNumber":510,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.8.2\","},{"lineNumber":511,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz\","},{"lineNumber":512,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA\u003d\u003d\","},{"lineNumber":513,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":514,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":515,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4.0.0\""},{"lineNumber":516,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":517,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":518,"author":{"gitId":"sopa301"},"content":" \"node_modules/concat-map\": {"},{"lineNumber":519,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.0.1\","},{"lineNumber":520,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\","},{"lineNumber":521,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg\u003d\u003d\","},{"lineNumber":522,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":523,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":524,"author":{"gitId":"sopa301"},"content":" \"node_modules/core-util-is\": {"},{"lineNumber":525,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":526,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz\","},{"lineNumber":527,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ\u003d\u003d\","},{"lineNumber":528,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":529,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":530,"author":{"gitId":"sopa301"},"content":" \"node_modules/cross-spawn\": {"},{"lineNumber":531,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.3\","},{"lineNumber":532,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\","},{"lineNumber":533,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w\u003d\u003d\","},{"lineNumber":534,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":535,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":536,"author":{"gitId":"sopa301"},"content":" \"path-key\": \"^3.1.0\","},{"lineNumber":537,"author":{"gitId":"sopa301"},"content":" \"shebang-command\": \"^2.0.0\","},{"lineNumber":538,"author":{"gitId":"sopa301"},"content":" \"which\": \"^2.0.1\""},{"lineNumber":539,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":540,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":541,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":542,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":543,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":544,"author":{"gitId":"sopa301"},"content":" \"node_modules/cypress\": {"},{"lineNumber":545,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.6.6\","},{"lineNumber":546,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cypress/-/cypress-13.6.6.tgz\","},{"lineNumber":547,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A\u003d\u003d\","},{"lineNumber":548,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":549,"author":{"gitId":"sopa301"},"content":" \"hasInstallScript\": true,"},{"lineNumber":550,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":551,"author":{"gitId":"sopa301"},"content":" \"@cypress/request\": \"^3.0.0\","},{"lineNumber":552,"author":{"gitId":"sopa301"},"content":" \"@cypress/xvfb\": \"^1.2.4\","},{"lineNumber":553,"author":{"gitId":"sopa301"},"content":" \"@types/sinonjs__fake-timers\": \"8.1.1\","},{"lineNumber":554,"author":{"gitId":"sopa301"},"content":" \"@types/sizzle\": \"^2.3.2\","},{"lineNumber":555,"author":{"gitId":"sopa301"},"content":" \"arch\": \"^2.2.0\","},{"lineNumber":556,"author":{"gitId":"sopa301"},"content":" \"blob-util\": \"^2.0.2\","},{"lineNumber":557,"author":{"gitId":"sopa301"},"content":" \"bluebird\": \"^3.7.2\","},{"lineNumber":558,"author":{"gitId":"sopa301"},"content":" \"buffer\": \"^5.7.1\","},{"lineNumber":559,"author":{"gitId":"sopa301"},"content":" \"cachedir\": \"^2.3.0\","},{"lineNumber":560,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":561,"author":{"gitId":"sopa301"},"content":" \"check-more-types\": \"^2.24.0\","},{"lineNumber":562,"author":{"gitId":"sopa301"},"content":" \"cli-cursor\": \"^3.1.0\","},{"lineNumber":563,"author":{"gitId":"sopa301"},"content":" \"cli-table3\": \"~0.6.1\","},{"lineNumber":564,"author":{"gitId":"sopa301"},"content":" \"commander\": \"^6.2.1\","},{"lineNumber":565,"author":{"gitId":"sopa301"},"content":" \"common-tags\": \"^1.8.0\","},{"lineNumber":566,"author":{"gitId":"sopa301"},"content":" \"dayjs\": \"^1.10.4\","},{"lineNumber":567,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":568,"author":{"gitId":"sopa301"},"content":" \"enquirer\": \"^2.3.6\","},{"lineNumber":569,"author":{"gitId":"sopa301"},"content":" \"eventemitter2\": \"6.4.7\","},{"lineNumber":570,"author":{"gitId":"sopa301"},"content":" \"execa\": \"4.1.0\","},{"lineNumber":571,"author":{"gitId":"sopa301"},"content":" \"executable\": \"^4.1.1\","},{"lineNumber":572,"author":{"gitId":"sopa301"},"content":" \"extract-zip\": \"2.0.1\","},{"lineNumber":573,"author":{"gitId":"sopa301"},"content":" \"figures\": \"^3.2.0\","},{"lineNumber":574,"author":{"gitId":"sopa301"},"content":" \"fs-extra\": \"^9.1.0\","},{"lineNumber":575,"author":{"gitId":"sopa301"},"content":" \"getos\": \"^3.2.1\","},{"lineNumber":576,"author":{"gitId":"sopa301"},"content":" \"is-ci\": \"^3.0.1\","},{"lineNumber":577,"author":{"gitId":"sopa301"},"content":" \"is-installed-globally\": \"~0.4.0\","},{"lineNumber":578,"author":{"gitId":"sopa301"},"content":" \"lazy-ass\": \"^1.6.0\","},{"lineNumber":579,"author":{"gitId":"sopa301"},"content":" \"listr2\": \"^3.8.3\","},{"lineNumber":580,"author":{"gitId":"sopa301"},"content":" \"lodash\": \"^4.17.21\","},{"lineNumber":581,"author":{"gitId":"sopa301"},"content":" \"log-symbols\": \"^4.0.0\","},{"lineNumber":582,"author":{"gitId":"sopa301"},"content":" \"minimist\": \"^1.2.8\","},{"lineNumber":583,"author":{"gitId":"sopa301"},"content":" \"ospath\": \"^1.2.2\","},{"lineNumber":584,"author":{"gitId":"sopa301"},"content":" \"pretty-bytes\": \"^5.6.0\","},{"lineNumber":585,"author":{"gitId":"sopa301"},"content":" \"process\": \"^0.11.10\","},{"lineNumber":586,"author":{"gitId":"sopa301"},"content":" \"proxy-from-env\": \"1.0.0\","},{"lineNumber":587,"author":{"gitId":"sopa301"},"content":" \"request-progress\": \"^3.0.0\","},{"lineNumber":588,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.5.3\","},{"lineNumber":589,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^8.1.1\","},{"lineNumber":590,"author":{"gitId":"sopa301"},"content":" \"tmp\": \"~0.2.1\","},{"lineNumber":591,"author":{"gitId":"sopa301"},"content":" \"untildify\": \"^4.0.0\","},{"lineNumber":592,"author":{"gitId":"sopa301"},"content":" \"yauzl\": \"^2.10.0\""},{"lineNumber":593,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":594,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":595,"author":{"gitId":"sopa301"},"content":" \"cypress\": \"bin/cypress\""},{"lineNumber":596,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":597,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":598,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || ^18.0.0 || \u003e\u003d20.0.0\""},{"lineNumber":599,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":600,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":601,"author":{"gitId":"sopa301"},"content":" \"node_modules/dashdash\": {"},{"lineNumber":602,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.14.1\","},{"lineNumber":603,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz\","},{"lineNumber":604,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g\u003d\u003d\","},{"lineNumber":605,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":606,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":607,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\""},{"lineNumber":608,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":609,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":610,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10\""},{"lineNumber":611,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":612,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":613,"author":{"gitId":"sopa301"},"content":" \"node_modules/dayjs\": {"},{"lineNumber":614,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.10\","},{"lineNumber":615,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz\","},{"lineNumber":616,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ\u003d\u003d\","},{"lineNumber":617,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":618,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":619,"author":{"gitId":"sopa301"},"content":" \"node_modules/debug\": {"},{"lineNumber":620,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.4\","},{"lineNumber":621,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\","},{"lineNumber":622,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ\u003d\u003d\","},{"lineNumber":623,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":624,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":625,"author":{"gitId":"sopa301"},"content":" \"ms\": \"2.1.2\""},{"lineNumber":626,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":627,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":628,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6.0\""},{"lineNumber":629,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":630,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":631,"author":{"gitId":"sopa301"},"content":" \"supports-color\": {"},{"lineNumber":632,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":633,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":634,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":635,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":636,"author":{"gitId":"sopa301"},"content":" \"node_modules/debug/node_modules/ms\": {"},{"lineNumber":637,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.2\","},{"lineNumber":638,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\","},{"lineNumber":639,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w\u003d\u003d\","},{"lineNumber":640,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":641,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":642,"author":{"gitId":"sopa301"},"content":" \"node_modules/delayed-stream\": {"},{"lineNumber":643,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":644,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\","},{"lineNumber":645,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ\u003d\u003d\","},{"lineNumber":646,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":647,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":648,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.4.0\""},{"lineNumber":649,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":650,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":651,"author":{"gitId":"sopa301"},"content":" \"node_modules/ecc-jsbn\": {"},{"lineNumber":652,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.2\","},{"lineNumber":653,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz\","},{"lineNumber":654,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw\u003d\u003d\","},{"lineNumber":655,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":656,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":657,"author":{"gitId":"sopa301"},"content":" \"jsbn\": \"~0.1.0\","},{"lineNumber":658,"author":{"gitId":"sopa301"},"content":" \"safer-buffer\": \"^2.1.0\""},{"lineNumber":659,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":660,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":661,"author":{"gitId":"sopa301"},"content":" \"node_modules/emoji-regex\": {"},{"lineNumber":662,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.0\","},{"lineNumber":663,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\","},{"lineNumber":664,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A\u003d\u003d\","},{"lineNumber":665,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":666,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":667,"author":{"gitId":"sopa301"},"content":" \"node_modules/end-of-stream\": {"},{"lineNumber":668,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.4\","},{"lineNumber":669,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz\","},{"lineNumber":670,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q\u003d\u003d\","},{"lineNumber":671,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":672,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":673,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.4.0\""},{"lineNumber":674,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":675,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":676,"author":{"gitId":"sopa301"},"content":" \"node_modules/enquirer\": {"},{"lineNumber":677,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.4.1\","},{"lineNumber":678,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz\","},{"lineNumber":679,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ\u003d\u003d\","},{"lineNumber":680,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":681,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":682,"author":{"gitId":"sopa301"},"content":" \"ansi-colors\": \"^4.1.1\","},{"lineNumber":683,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":684,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":685,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":686,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.6\""},{"lineNumber":687,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":688,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":689,"author":{"gitId":"sopa301"},"content":" \"node_modules/escape-string-regexp\": {"},{"lineNumber":690,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\","},{"lineNumber":691,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\","},{"lineNumber":692,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg\u003d\u003d\","},{"lineNumber":693,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":694,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":695,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.8.0\""},{"lineNumber":696,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":697,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":698,"author":{"gitId":"sopa301"},"content":" \"node_modules/eventemitter2\": {"},{"lineNumber":699,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.4.7\","},{"lineNumber":700,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz\","},{"lineNumber":701,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg\u003d\u003d\","},{"lineNumber":702,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":703,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":704,"author":{"gitId":"sopa301"},"content":" \"node_modules/execa\": {"},{"lineNumber":705,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.0\","},{"lineNumber":706,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/execa/-/execa-4.1.0.tgz\","},{"lineNumber":707,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA\u003d\u003d\","},{"lineNumber":708,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":709,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":710,"author":{"gitId":"sopa301"},"content":" \"cross-spawn\": \"^7.0.0\","},{"lineNumber":711,"author":{"gitId":"sopa301"},"content":" \"get-stream\": \"^5.0.0\","},{"lineNumber":712,"author":{"gitId":"sopa301"},"content":" \"human-signals\": \"^1.1.1\","},{"lineNumber":713,"author":{"gitId":"sopa301"},"content":" \"is-stream\": \"^2.0.0\","},{"lineNumber":714,"author":{"gitId":"sopa301"},"content":" \"merge-stream\": \"^2.0.0\","},{"lineNumber":715,"author":{"gitId":"sopa301"},"content":" \"npm-run-path\": \"^4.0.0\","},{"lineNumber":716,"author":{"gitId":"sopa301"},"content":" \"onetime\": \"^5.1.0\","},{"lineNumber":717,"author":{"gitId":"sopa301"},"content":" \"signal-exit\": \"^3.0.2\","},{"lineNumber":718,"author":{"gitId":"sopa301"},"content":" \"strip-final-newline\": \"^2.0.0\""},{"lineNumber":719,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":720,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":721,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":722,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":723,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":724,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sindresorhus/execa?sponsor\u003d1\""},{"lineNumber":725,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":726,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":727,"author":{"gitId":"sopa301"},"content":" \"node_modules/executable\": {"},{"lineNumber":728,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.1\","},{"lineNumber":729,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/executable/-/executable-4.1.1.tgz\","},{"lineNumber":730,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg\u003d\u003d\","},{"lineNumber":731,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":732,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":733,"author":{"gitId":"sopa301"},"content":" \"pify\": \"^2.2.0\""},{"lineNumber":734,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":735,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":736,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":737,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":738,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":739,"author":{"gitId":"sopa301"},"content":" \"node_modules/extend\": {"},{"lineNumber":740,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.2\","},{"lineNumber":741,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/extend/-/extend-3.0.2.tgz\","},{"lineNumber":742,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g\u003d\u003d\","},{"lineNumber":743,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":744,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":745,"author":{"gitId":"sopa301"},"content":" \"node_modules/extract-zip\": {"},{"lineNumber":746,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\","},{"lineNumber":747,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz\","},{"lineNumber":748,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg\u003d\u003d\","},{"lineNumber":749,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":750,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":751,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.1.1\","},{"lineNumber":752,"author":{"gitId":"sopa301"},"content":" \"get-stream\": \"^5.1.0\","},{"lineNumber":753,"author":{"gitId":"sopa301"},"content":" \"yauzl\": \"^2.10.0\""},{"lineNumber":754,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":755,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":756,"author":{"gitId":"sopa301"},"content":" \"extract-zip\": \"cli.js\""},{"lineNumber":757,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":758,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":759,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.17.0\""},{"lineNumber":760,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":761,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {"},{"lineNumber":762,"author":{"gitId":"sopa301"},"content":" \"@types/yauzl\": \"^2.9.1\""},{"lineNumber":763,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":764,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":765,"author":{"gitId":"sopa301"},"content":" \"node_modules/extsprintf\": {"},{"lineNumber":766,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.0\","},{"lineNumber":767,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz\","},{"lineNumber":768,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g\u003d\u003d\","},{"lineNumber":769,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":770,"author":{"gitId":"sopa301"},"content":" \"engines\": ["},{"lineNumber":771,"author":{"gitId":"sopa301"},"content":" \"node \u003e\u003d0.6.0\""},{"lineNumber":772,"author":{"gitId":"sopa301"},"content":" ]"},{"lineNumber":773,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":774,"author":{"gitId":"sopa301"},"content":" \"node_modules/fd-slicer\": {"},{"lineNumber":775,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.0\","},{"lineNumber":776,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz\","},{"lineNumber":777,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g\u003d\u003d\","},{"lineNumber":778,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":779,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":780,"author":{"gitId":"sopa301"},"content":" \"pend\": \"~1.2.0\""},{"lineNumber":781,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":782,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":783,"author":{"gitId":"sopa301"},"content":" \"node_modules/figures\": {"},{"lineNumber":784,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.0\","},{"lineNumber":785,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/figures/-/figures-3.2.0.tgz\","},{"lineNumber":786,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg\u003d\u003d\","},{"lineNumber":787,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":788,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":789,"author":{"gitId":"sopa301"},"content":" \"escape-string-regexp\": \"^1.0.5\""},{"lineNumber":790,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":791,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":792,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":793,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":794,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":795,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":796,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":797,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":798,"author":{"gitId":"sopa301"},"content":" \"node_modules/forever-agent\": {"},{"lineNumber":799,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.1\","},{"lineNumber":800,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz\","},{"lineNumber":801,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw\u003d\u003d\","},{"lineNumber":802,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":803,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":804,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\""},{"lineNumber":805,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":806,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":807,"author":{"gitId":"sopa301"},"content":" \"node_modules/form-data\": {"},{"lineNumber":808,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.3\","},{"lineNumber":809,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz\","},{"lineNumber":810,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ\u003d\u003d\","},{"lineNumber":811,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":812,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":813,"author":{"gitId":"sopa301"},"content":" \"asynckit\": \"^0.4.0\","},{"lineNumber":814,"author":{"gitId":"sopa301"},"content":" \"combined-stream\": \"^1.0.6\","},{"lineNumber":815,"author":{"gitId":"sopa301"},"content":" \"mime-types\": \"^2.1.12\""},{"lineNumber":816,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":817,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":818,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.12\""},{"lineNumber":819,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":820,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":821,"author":{"gitId":"sopa301"},"content":" \"node_modules/fs-extra\": {"},{"lineNumber":822,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.1.0\","},{"lineNumber":823,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\","},{"lineNumber":824,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ\u003d\u003d\","},{"lineNumber":825,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":826,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":827,"author":{"gitId":"sopa301"},"content":" \"at-least-node\": \"^1.0.0\","},{"lineNumber":828,"author":{"gitId":"sopa301"},"content":" \"graceful-fs\": \"^4.2.0\","},{"lineNumber":829,"author":{"gitId":"sopa301"},"content":" \"jsonfile\": \"^6.0.1\","},{"lineNumber":830,"author":{"gitId":"sopa301"},"content":" \"universalify\": \"^2.0.0\""},{"lineNumber":831,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":832,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":833,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":834,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":835,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":836,"author":{"gitId":"sopa301"},"content":" \"node_modules/fs-extra/node_modules/universalify\": {"},{"lineNumber":837,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":838,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\","},{"lineNumber":839,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\","},{"lineNumber":840,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":841,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":842,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.0.0\""},{"lineNumber":843,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":844,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":845,"author":{"gitId":"sopa301"},"content":" \"node_modules/fs.realpath\": {"},{"lineNumber":846,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":847,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\","},{"lineNumber":848,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw\u003d\u003d\","},{"lineNumber":849,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":850,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":851,"author":{"gitId":"sopa301"},"content":" \"node_modules/function-bind\": {"},{"lineNumber":852,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.1\","},{"lineNumber":853,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz\","},{"lineNumber":854,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A\u003d\u003d\","},{"lineNumber":855,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":856,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":857,"author":{"gitId":"sopa301"},"content":" \"node_modules/get-intrinsic\": {"},{"lineNumber":858,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.1\","},{"lineNumber":859,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz\","},{"lineNumber":860,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw\u003d\u003d\","},{"lineNumber":861,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":862,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":863,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.1\","},{"lineNumber":864,"author":{"gitId":"sopa301"},"content":" \"has\": \"^1.0.3\","},{"lineNumber":865,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.1\","},{"lineNumber":866,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\""},{"lineNumber":867,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":868,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":869,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":870,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":871,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":872,"author":{"gitId":"sopa301"},"content":" \"node_modules/get-stream\": {"},{"lineNumber":873,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.2.0\","},{"lineNumber":874,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz\","},{"lineNumber":875,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA\u003d\u003d\","},{"lineNumber":876,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":877,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":878,"author":{"gitId":"sopa301"},"content":" \"pump\": \"^3.0.0\""},{"lineNumber":879,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":880,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":881,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":882,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":883,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":884,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":885,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":886,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":887,"author":{"gitId":"sopa301"},"content":" \"node_modules/getos\": {"},{"lineNumber":888,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.1\","},{"lineNumber":889,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/getos/-/getos-3.2.1.tgz\","},{"lineNumber":890,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q\u003d\u003d\","},{"lineNumber":891,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":892,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":893,"author":{"gitId":"sopa301"},"content":" \"async\": \"^3.2.0\""},{"lineNumber":894,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":895,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":896,"author":{"gitId":"sopa301"},"content":" \"node_modules/getpass\": {"},{"lineNumber":897,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.7\","},{"lineNumber":898,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz\","},{"lineNumber":899,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng\u003d\u003d\","},{"lineNumber":900,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":901,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":902,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\""},{"lineNumber":903,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":904,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":905,"author":{"gitId":"sopa301"},"content":" \"node_modules/glob\": {"},{"lineNumber":906,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.3\","},{"lineNumber":907,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.2.3.tgz\","},{"lineNumber":908,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q\u003d\u003d\","},{"lineNumber":909,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":910,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":911,"author":{"gitId":"sopa301"},"content":" \"fs.realpath\": \"^1.0.0\","},{"lineNumber":912,"author":{"gitId":"sopa301"},"content":" \"inflight\": \"^1.0.4\","},{"lineNumber":913,"author":{"gitId":"sopa301"},"content":" \"inherits\": \"2\","},{"lineNumber":914,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^3.1.1\","},{"lineNumber":915,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.3.0\","},{"lineNumber":916,"author":{"gitId":"sopa301"},"content":" \"path-is-absolute\": \"^1.0.0\""},{"lineNumber":917,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":918,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":919,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\""},{"lineNumber":920,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":921,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":922,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\""},{"lineNumber":923,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":924,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":925,"author":{"gitId":"sopa301"},"content":" \"node_modules/global-dirs\": {"},{"lineNumber":926,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\","},{"lineNumber":927,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz\","},{"lineNumber":928,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA\u003d\u003d\","},{"lineNumber":929,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":930,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":931,"author":{"gitId":"sopa301"},"content":" \"ini\": \"2.0.0\""},{"lineNumber":932,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":933,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":934,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":935,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":936,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":937,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":938,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":939,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":940,"author":{"gitId":"sopa301"},"content":" \"node_modules/graceful-fs\": {"},{"lineNumber":941,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.11\","},{"lineNumber":942,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\","},{"lineNumber":943,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ\u003d\u003d\","},{"lineNumber":944,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":945,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":946,"author":{"gitId":"sopa301"},"content":" \"node_modules/has\": {"},{"lineNumber":947,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.4\","},{"lineNumber":948,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has/-/has-1.0.4.tgz\","},{"lineNumber":949,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ\u003d\u003d\","},{"lineNumber":950,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":951,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":952,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4.0\""},{"lineNumber":953,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":954,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":955,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-flag\": {"},{"lineNumber":956,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":957,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\","},{"lineNumber":958,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\","},{"lineNumber":959,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":960,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":961,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":962,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":963,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":964,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-proto\": {"},{"lineNumber":965,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\","},{"lineNumber":966,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz\","},{"lineNumber":967,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg\u003d\u003d\","},{"lineNumber":968,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":969,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":970,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":971,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":972,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":973,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":974,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":975,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":976,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-symbols\": {"},{"lineNumber":977,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\","},{"lineNumber":978,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz\","},{"lineNumber":979,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A\u003d\u003d\","},{"lineNumber":980,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":981,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":982,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":983,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":984,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":985,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":986,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":987,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":988,"author":{"gitId":"sopa301"},"content":" \"node_modules/http-signature\": {"},{"lineNumber":989,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.6\","},{"lineNumber":990,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz\","},{"lineNumber":991,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw\u003d\u003d\","},{"lineNumber":992,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":993,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":994,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\","},{"lineNumber":995,"author":{"gitId":"sopa301"},"content":" \"jsprim\": \"^2.0.2\","},{"lineNumber":996,"author":{"gitId":"sopa301"},"content":" \"sshpk\": \"^1.14.1\""},{"lineNumber":997,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":998,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":999,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10\""},{"lineNumber":1000,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1001,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1002,"author":{"gitId":"sopa301"},"content":" \"node_modules/human-signals\": {"},{"lineNumber":1003,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.1\","},{"lineNumber":1004,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz\","},{"lineNumber":1005,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw\u003d\u003d\","},{"lineNumber":1006,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1007,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1008,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.12.0\""},{"lineNumber":1009,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1010,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1011,"author":{"gitId":"sopa301"},"content":" \"node_modules/ieee754\": {"},{"lineNumber":1012,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.1\","},{"lineNumber":1013,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz\","},{"lineNumber":1014,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA\u003d\u003d\","},{"lineNumber":1015,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1016,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":1017,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1018,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":1019,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":1020,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1021,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1022,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\","},{"lineNumber":1023,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":1024,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1025,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1026,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\","},{"lineNumber":1027,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":1028,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1029,"author":{"gitId":"sopa301"},"content":" ]"},{"lineNumber":1030,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1031,"author":{"gitId":"sopa301"},"content":" \"node_modules/indent-string\": {"},{"lineNumber":1032,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":1033,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\","},{"lineNumber":1034,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg\u003d\u003d\","},{"lineNumber":1035,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1036,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1037,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1038,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1039,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1040,"author":{"gitId":"sopa301"},"content":" \"node_modules/inflight\": {"},{"lineNumber":1041,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.6\","},{"lineNumber":1042,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\","},{"lineNumber":1043,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA\u003d\u003d\","},{"lineNumber":1044,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1045,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1046,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.3.0\","},{"lineNumber":1047,"author":{"gitId":"sopa301"},"content":" \"wrappy\": \"1\""},{"lineNumber":1048,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1049,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1050,"author":{"gitId":"sopa301"},"content":" \"node_modules/inherits\": {"},{"lineNumber":1051,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.4\","},{"lineNumber":1052,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\","},{"lineNumber":1053,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ\u003d\u003d\","},{"lineNumber":1054,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1055,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1056,"author":{"gitId":"sopa301"},"content":" \"node_modules/ini\": {"},{"lineNumber":1057,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":1058,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ini/-/ini-2.0.0.tgz\","},{"lineNumber":1059,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA\u003d\u003d\","},{"lineNumber":1060,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1061,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1062,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1063,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1064,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1065,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-ci\": {"},{"lineNumber":1066,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\","},{"lineNumber":1067,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz\","},{"lineNumber":1068,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ\u003d\u003d\","},{"lineNumber":1069,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1070,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1071,"author":{"gitId":"sopa301"},"content":" \"ci-info\": \"^3.2.0\""},{"lineNumber":1072,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1073,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":1074,"author":{"gitId":"sopa301"},"content":" \"is-ci\": \"bin.js\""},{"lineNumber":1075,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1076,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1077,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-fullwidth-code-point\": {"},{"lineNumber":1078,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\","},{"lineNumber":1079,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\","},{"lineNumber":1080,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg\u003d\u003d\","},{"lineNumber":1081,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1082,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1083,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1084,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1085,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1086,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-installed-globally\": {"},{"lineNumber":1087,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.0\","},{"lineNumber":1088,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz\","},{"lineNumber":1089,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ\u003d\u003d\","},{"lineNumber":1090,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1091,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1092,"author":{"gitId":"sopa301"},"content":" \"global-dirs\": \"^3.0.0\","},{"lineNumber":1093,"author":{"gitId":"sopa301"},"content":" \"is-path-inside\": \"^3.0.2\""},{"lineNumber":1094,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1095,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1096,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1097,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1098,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1099,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1100,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1101,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1102,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-path-inside\": {"},{"lineNumber":1103,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.3\","},{"lineNumber":1104,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\","},{"lineNumber":1105,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ\u003d\u003d\","},{"lineNumber":1106,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1107,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1108,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1109,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1110,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1111,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-stream\": {"},{"lineNumber":1112,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\","},{"lineNumber":1113,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz\","},{"lineNumber":1114,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg\u003d\u003d\","},{"lineNumber":1115,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1116,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1117,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1118,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1119,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1120,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1121,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1122,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1123,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-typedarray\": {"},{"lineNumber":1124,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":1125,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\","},{"lineNumber":1126,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA\u003d\u003d\","},{"lineNumber":1127,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1128,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1129,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-unicode-supported\": {"},{"lineNumber":1130,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.0\","},{"lineNumber":1131,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz\","},{"lineNumber":1132,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw\u003d\u003d\","},{"lineNumber":1133,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1134,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1135,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1136,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1137,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1138,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1139,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1140,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1141,"author":{"gitId":"sopa301"},"content":" \"node_modules/isexe\": {"},{"lineNumber":1142,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":1143,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\","},{"lineNumber":1144,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw\u003d\u003d\","},{"lineNumber":1145,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1146,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1147,"author":{"gitId":"sopa301"},"content":" \"node_modules/isstream\": {"},{"lineNumber":1148,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.2\","},{"lineNumber":1149,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz\","},{"lineNumber":1150,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g\u003d\u003d\","},{"lineNumber":1151,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1152,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1153,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsbn\": {"},{"lineNumber":1154,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.1\","},{"lineNumber":1155,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz\","},{"lineNumber":1156,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg\u003d\u003d\","},{"lineNumber":1157,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1158,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1159,"author":{"gitId":"sopa301"},"content":" \"node_modules/json-schema\": {"},{"lineNumber":1160,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.0\","},{"lineNumber":1161,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz\","},{"lineNumber":1162,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA\u003d\u003d\","},{"lineNumber":1163,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1164,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1165,"author":{"gitId":"sopa301"},"content":" \"node_modules/json-stringify-safe\": {"},{"lineNumber":1166,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.1\","},{"lineNumber":1167,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz\","},{"lineNumber":1168,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA\u003d\u003d\","},{"lineNumber":1169,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1170,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1171,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsonfile\": {"},{"lineNumber":1172,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.1.0\","},{"lineNumber":1173,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz\","},{"lineNumber":1174,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ\u003d\u003d\","},{"lineNumber":1175,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1176,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1177,"author":{"gitId":"sopa301"},"content":" \"universalify\": \"^2.0.0\""},{"lineNumber":1178,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1179,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {"},{"lineNumber":1180,"author":{"gitId":"sopa301"},"content":" \"graceful-fs\": \"^4.1.6\""},{"lineNumber":1181,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1182,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1183,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsonfile/node_modules/universalify\": {"},{"lineNumber":1184,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":1185,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\","},{"lineNumber":1186,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\","},{"lineNumber":1187,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1188,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1189,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.0.0\""},{"lineNumber":1190,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1191,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1192,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsprim\": {"},{"lineNumber":1193,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\","},{"lineNumber":1194,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz\","},{"lineNumber":1195,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ\u003d\u003d\","},{"lineNumber":1196,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1197,"author":{"gitId":"sopa301"},"content":" \"engines\": ["},{"lineNumber":1198,"author":{"gitId":"sopa301"},"content":" \"node \u003e\u003d0.6.0\""},{"lineNumber":1199,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":1200,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1201,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"1.0.0\","},{"lineNumber":1202,"author":{"gitId":"sopa301"},"content":" \"extsprintf\": \"1.3.0\","},{"lineNumber":1203,"author":{"gitId":"sopa301"},"content":" \"json-schema\": \"0.4.0\","},{"lineNumber":1204,"author":{"gitId":"sopa301"},"content":" \"verror\": \"1.10.0\""},{"lineNumber":1205,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1206,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1207,"author":{"gitId":"sopa301"},"content":" \"node_modules/lazy-ass\": {"},{"lineNumber":1208,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.6.0\","},{"lineNumber":1209,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz\","},{"lineNumber":1210,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw\u003d\u003d\","},{"lineNumber":1211,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1212,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1213,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e 0.8\""},{"lineNumber":1214,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1215,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1216,"author":{"gitId":"sopa301"},"content":" \"node_modules/listr2\": {"},{"lineNumber":1217,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.14.0\","},{"lineNumber":1218,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz\","},{"lineNumber":1219,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g\u003d\u003d\","},{"lineNumber":1220,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1221,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1222,"author":{"gitId":"sopa301"},"content":" \"cli-truncate\": \"^2.1.0\","},{"lineNumber":1223,"author":{"gitId":"sopa301"},"content":" \"colorette\": \"^2.0.16\","},{"lineNumber":1224,"author":{"gitId":"sopa301"},"content":" \"log-update\": \"^4.0.0\","},{"lineNumber":1225,"author":{"gitId":"sopa301"},"content":" \"p-map\": \"^4.0.0\","},{"lineNumber":1226,"author":{"gitId":"sopa301"},"content":" \"rfdc\": \"^1.3.0\","},{"lineNumber":1227,"author":{"gitId":"sopa301"},"content":" \"rxjs\": \"^7.5.1\","},{"lineNumber":1228,"author":{"gitId":"sopa301"},"content":" \"through\": \"^2.3.8\","},{"lineNumber":1229,"author":{"gitId":"sopa301"},"content":" \"wrap-ansi\": \"^7.0.0\""},{"lineNumber":1230,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1231,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1232,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10.0.0\""},{"lineNumber":1233,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1234,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":1235,"author":{"gitId":"sopa301"},"content":" \"enquirer\": \"\u003e\u003d 2.3.0 \u003c 3\""},{"lineNumber":1236,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1237,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":1238,"author":{"gitId":"sopa301"},"content":" \"enquirer\": {"},{"lineNumber":1239,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":1240,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1241,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1242,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1243,"author":{"gitId":"sopa301"},"content":" \"node_modules/lodash\": {"},{"lineNumber":1244,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.21\","},{"lineNumber":1245,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\","},{"lineNumber":1246,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg\u003d\u003d\","},{"lineNumber":1247,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1248,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1249,"author":{"gitId":"sopa301"},"content":" \"node_modules/lodash.once\": {"},{"lineNumber":1250,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.1\","},{"lineNumber":1251,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz\","},{"lineNumber":1252,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg\u003d\u003d\","},{"lineNumber":1253,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1254,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1255,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-symbols\": {"},{"lineNumber":1256,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.0\","},{"lineNumber":1257,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz\","},{"lineNumber":1258,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg\u003d\u003d\","},{"lineNumber":1259,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1260,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1261,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":1262,"author":{"gitId":"sopa301"},"content":" \"is-unicode-supported\": \"^0.1.0\""},{"lineNumber":1263,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1264,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1265,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1266,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1267,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1268,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1269,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1270,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1271,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-update\": {"},{"lineNumber":1272,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":1273,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz\","},{"lineNumber":1274,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg\u003d\u003d\","},{"lineNumber":1275,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1276,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1277,"author":{"gitId":"sopa301"},"content":" \"ansi-escapes\": \"^4.3.0\","},{"lineNumber":1278,"author":{"gitId":"sopa301"},"content":" \"cli-cursor\": \"^3.1.0\","},{"lineNumber":1279,"author":{"gitId":"sopa301"},"content":" \"slice-ansi\": \"^4.0.0\","},{"lineNumber":1280,"author":{"gitId":"sopa301"},"content":" \"wrap-ansi\": \"^6.2.0\""},{"lineNumber":1281,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1282,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1283,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1284,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1285,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1286,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1287,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1288,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1289,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-update/node_modules/slice-ansi\": {"},{"lineNumber":1290,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":1291,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz\","},{"lineNumber":1292,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ\u003d\u003d\","},{"lineNumber":1293,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1294,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1295,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":1296,"author":{"gitId":"sopa301"},"content":" \"astral-regex\": \"^2.0.0\","},{"lineNumber":1297,"author":{"gitId":"sopa301"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\""},{"lineNumber":1298,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1299,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1300,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1301,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1302,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1303,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/slice-ansi?sponsor\u003d1\""},{"lineNumber":1304,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1305,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1306,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-update/node_modules/wrap-ansi\": {"},{"lineNumber":1307,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.2.0\","},{"lineNumber":1308,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz\","},{"lineNumber":1309,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA\u003d\u003d\","},{"lineNumber":1310,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1311,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1312,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":1313,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.1.0\","},{"lineNumber":1314,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.0\""},{"lineNumber":1315,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1316,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1317,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1318,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1319,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1320,"author":{"gitId":"sopa301"},"content":" \"node_modules/lru-cache\": {"},{"lineNumber":1321,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.0\","},{"lineNumber":1322,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\","},{"lineNumber":1323,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\","},{"lineNumber":1324,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1325,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1326,"author":{"gitId":"sopa301"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":1327,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1328,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1329,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1330,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1331,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1332,"author":{"gitId":"sopa301"},"content":" \"node_modules/merge-stream\": {"},{"lineNumber":1333,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":1334,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\","},{"lineNumber":1335,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w\u003d\u003d\","},{"lineNumber":1336,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1337,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1338,"author":{"gitId":"sopa301"},"content":" \"node_modules/mime-db\": {"},{"lineNumber":1339,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.52.0\","},{"lineNumber":1340,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz\","},{"lineNumber":1341,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg\u003d\u003d\","},{"lineNumber":1342,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1343,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1344,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":1345,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1346,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1347,"author":{"gitId":"sopa301"},"content":" \"node_modules/mime-types\": {"},{"lineNumber":1348,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.35\","},{"lineNumber":1349,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz\","},{"lineNumber":1350,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw\u003d\u003d\","},{"lineNumber":1351,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1352,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1353,"author":{"gitId":"sopa301"},"content":" \"mime-db\": \"1.52.0\""},{"lineNumber":1354,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1355,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1356,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":1357,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1358,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1359,"author":{"gitId":"sopa301"},"content":" \"node_modules/mimic-fn\": {"},{"lineNumber":1360,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\","},{"lineNumber":1361,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz\","},{"lineNumber":1362,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg\u003d\u003d\","},{"lineNumber":1363,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1364,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1365,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1366,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1367,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1368,"author":{"gitId":"sopa301"},"content":" \"node_modules/minimatch\": {"},{"lineNumber":1369,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.2\","},{"lineNumber":1370,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\","},{"lineNumber":1371,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw\u003d\u003d\","},{"lineNumber":1372,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1373,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1374,"author":{"gitId":"sopa301"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":1375,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1376,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1377,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\""},{"lineNumber":1378,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1379,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1380,"author":{"gitId":"sopa301"},"content":" \"node_modules/minimist\": {"},{"lineNumber":1381,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.8\","},{"lineNumber":1382,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\","},{"lineNumber":1383,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA\u003d\u003d\","},{"lineNumber":1384,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1385,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1386,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":1387,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1388,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1389,"author":{"gitId":"sopa301"},"content":" \"node_modules/ms\": {"},{"lineNumber":1390,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.3\","},{"lineNumber":1391,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\","},{"lineNumber":1392,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA\u003d\u003d\","},{"lineNumber":1393,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1394,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1395,"author":{"gitId":"sopa301"},"content":" \"node_modules/npm-run-path\": {"},{"lineNumber":1396,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.1\","},{"lineNumber":1397,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz\","},{"lineNumber":1398,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw\u003d\u003d\","},{"lineNumber":1399,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1400,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1401,"author":{"gitId":"sopa301"},"content":" \"path-key\": \"^3.0.0\""},{"lineNumber":1402,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1403,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1404,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1405,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1406,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1407,"author":{"gitId":"sopa301"},"content":" \"node_modules/object-inspect\": {"},{"lineNumber":1408,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.12.3\","},{"lineNumber":1409,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz\","},{"lineNumber":1410,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g\u003d\u003d\","},{"lineNumber":1411,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1412,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1413,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":1414,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1415,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1416,"author":{"gitId":"sopa301"},"content":" \"node_modules/once\": {"},{"lineNumber":1417,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.0\","},{"lineNumber":1418,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\","},{"lineNumber":1419,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w\u003d\u003d\","},{"lineNumber":1420,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1421,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1422,"author":{"gitId":"sopa301"},"content":" \"wrappy\": \"1\""},{"lineNumber":1423,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1424,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1425,"author":{"gitId":"sopa301"},"content":" \"node_modules/onetime\": {"},{"lineNumber":1426,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.1.2\","},{"lineNumber":1427,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz\","},{"lineNumber":1428,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg\u003d\u003d\","},{"lineNumber":1429,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1430,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1431,"author":{"gitId":"sopa301"},"content":" \"mimic-fn\": \"^2.1.0\""},{"lineNumber":1432,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1433,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1434,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1435,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1436,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1437,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1438,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1439,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1440,"author":{"gitId":"sopa301"},"content":" \"node_modules/ospath\": {"},{"lineNumber":1441,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.2\","},{"lineNumber":1442,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz\","},{"lineNumber":1443,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA\u003d\u003d\","},{"lineNumber":1444,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1445,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1446,"author":{"gitId":"sopa301"},"content":" \"node_modules/p-map\": {"},{"lineNumber":1447,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":1448,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz\","},{"lineNumber":1449,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ\u003d\u003d\","},{"lineNumber":1450,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1451,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1452,"author":{"gitId":"sopa301"},"content":" \"aggregate-error\": \"^3.0.0\""},{"lineNumber":1453,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1454,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1455,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1456,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1457,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1458,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1459,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1460,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1461,"author":{"gitId":"sopa301"},"content":" \"node_modules/path-is-absolute\": {"},{"lineNumber":1462,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\","},{"lineNumber":1463,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\","},{"lineNumber":1464,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg\u003d\u003d\","},{"lineNumber":1465,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1466,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1467,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":1468,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1469,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1470,"author":{"gitId":"sopa301"},"content":" \"node_modules/path-key\": {"},{"lineNumber":1471,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.1\","},{"lineNumber":1472,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\","},{"lineNumber":1473,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q\u003d\u003d\","},{"lineNumber":1474,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1475,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1476,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1477,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1478,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1479,"author":{"gitId":"sopa301"},"content":" \"node_modules/pend\": {"},{"lineNumber":1480,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.0\","},{"lineNumber":1481,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pend/-/pend-1.2.0.tgz\","},{"lineNumber":1482,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg\u003d\u003d\","},{"lineNumber":1483,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1484,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1485,"author":{"gitId":"sopa301"},"content":" \"node_modules/performance-now\": {"},{"lineNumber":1486,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\","},{"lineNumber":1487,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\","},{"lineNumber":1488,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow\u003d\u003d\","},{"lineNumber":1489,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1490,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1491,"author":{"gitId":"sopa301"},"content":" \"node_modules/pify\": {"},{"lineNumber":1492,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.0\","},{"lineNumber":1493,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz\","},{"lineNumber":1494,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog\u003d\u003d\","},{"lineNumber":1495,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1496,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1497,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":1498,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1499,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1500,"author":{"gitId":"sopa301"},"content":" \"node_modules/pretty-bytes\": {"},{"lineNumber":1501,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.6.0\","},{"lineNumber":1502,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz\","},{"lineNumber":1503,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg\u003d\u003d\","},{"lineNumber":1504,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1505,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1506,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1507,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1508,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1509,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1510,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1511,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1512,"author":{"gitId":"sopa301"},"content":" \"node_modules/process\": {"},{"lineNumber":1513,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.11.10\","},{"lineNumber":1514,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/process/-/process-0.11.10.tgz\","},{"lineNumber":1515,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A\u003d\u003d\","},{"lineNumber":1516,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1517,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1518,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6.0\""},{"lineNumber":1519,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1520,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1521,"author":{"gitId":"sopa301"},"content":" \"node_modules/proxy-from-env\": {"},{"lineNumber":1522,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":1523,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz\","},{"lineNumber":1524,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A\u003d\u003d\","},{"lineNumber":1525,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1526,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1527,"author":{"gitId":"sopa301"},"content":" \"node_modules/psl\": {"},{"lineNumber":1528,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.9.0\","},{"lineNumber":1529,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.9.0.tgz\","},{"lineNumber":1530,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag\u003d\u003d\","},{"lineNumber":1531,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1532,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1533,"author":{"gitId":"sopa301"},"content":" \"node_modules/pump\": {"},{"lineNumber":1534,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\","},{"lineNumber":1535,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pump/-/pump-3.0.0.tgz\","},{"lineNumber":1536,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww\u003d\u003d\","},{"lineNumber":1537,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1538,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1539,"author":{"gitId":"sopa301"},"content":" \"end-of-stream\": \"^1.1.0\","},{"lineNumber":1540,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.3.1\""},{"lineNumber":1541,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1542,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1543,"author":{"gitId":"sopa301"},"content":" \"node_modules/punycode\": {"},{"lineNumber":1544,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.0\","},{"lineNumber":1545,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz\","},{"lineNumber":1546,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA\u003d\u003d\","},{"lineNumber":1547,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1548,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1549,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1550,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1551,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1552,"author":{"gitId":"sopa301"},"content":" \"node_modules/qs\": {"},{"lineNumber":1553,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.10.4\","},{"lineNumber":1554,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.10.4.tgz\","},{"lineNumber":1555,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g\u003d\u003d\","},{"lineNumber":1556,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1557,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1558,"author":{"gitId":"sopa301"},"content":" \"side-channel\": \"^1.0.4\""},{"lineNumber":1559,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1560,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1561,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.6\""},{"lineNumber":1562,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1563,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1564,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":1565,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1566,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1567,"author":{"gitId":"sopa301"},"content":" \"node_modules/querystringify\": {"},{"lineNumber":1568,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\","},{"lineNumber":1569,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz\","},{"lineNumber":1570,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ\u003d\u003d\","},{"lineNumber":1571,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1572,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1573,"author":{"gitId":"sopa301"},"content":" \"node_modules/request-progress\": {"},{"lineNumber":1574,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\","},{"lineNumber":1575,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz\","},{"lineNumber":1576,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg\u003d\u003d\","},{"lineNumber":1577,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1578,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1579,"author":{"gitId":"sopa301"},"content":" \"throttleit\": \"^1.0.0\""},{"lineNumber":1580,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1581,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1582,"author":{"gitId":"sopa301"},"content":" \"node_modules/requires-port\": {"},{"lineNumber":1583,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":1584,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz\","},{"lineNumber":1585,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ\u003d\u003d\","},{"lineNumber":1586,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1587,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1588,"author":{"gitId":"sopa301"},"content":" \"node_modules/restore-cursor\": {"},{"lineNumber":1589,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\","},{"lineNumber":1590,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz\","},{"lineNumber":1591,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA\u003d\u003d\","},{"lineNumber":1592,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1593,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1594,"author":{"gitId":"sopa301"},"content":" \"onetime\": \"^5.1.0\","},{"lineNumber":1595,"author":{"gitId":"sopa301"},"content":" \"signal-exit\": \"^3.0.2\""},{"lineNumber":1596,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1597,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1598,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1599,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1600,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1601,"author":{"gitId":"sopa301"},"content":" \"node_modules/rfdc\": {"},{"lineNumber":1602,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.0\","},{"lineNumber":1603,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz\","},{"lineNumber":1604,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA\u003d\u003d\","},{"lineNumber":1605,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1606,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1607,"author":{"gitId":"sopa301"},"content":" \"node_modules/rimraf\": {"},{"lineNumber":1608,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.2\","},{"lineNumber":1609,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\","},{"lineNumber":1610,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA\u003d\u003d\","},{"lineNumber":1611,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1612,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1613,"author":{"gitId":"sopa301"},"content":" \"glob\": \"^7.1.3\""},{"lineNumber":1614,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1615,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":1616,"author":{"gitId":"sopa301"},"content":" \"rimraf\": \"bin.js\""},{"lineNumber":1617,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1618,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1619,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\""},{"lineNumber":1620,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1621,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1622,"author":{"gitId":"sopa301"},"content":" \"node_modules/rxjs\": {"},{"lineNumber":1623,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.8.1\","},{"lineNumber":1624,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz\","},{"lineNumber":1625,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg\u003d\u003d\","},{"lineNumber":1626,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1627,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1628,"author":{"gitId":"sopa301"},"content":" \"tslib\": \"^2.1.0\""},{"lineNumber":1629,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1630,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1631,"author":{"gitId":"sopa301"},"content":" \"node_modules/safe-buffer\": {"},{"lineNumber":1632,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.2.1\","},{"lineNumber":1633,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz\","},{"lineNumber":1634,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ\u003d\u003d\","},{"lineNumber":1635,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1636,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":1637,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1638,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":1639,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":1640,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1641,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1642,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\","},{"lineNumber":1643,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":1644,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1645,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1646,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\","},{"lineNumber":1647,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":1648,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1649,"author":{"gitId":"sopa301"},"content":" ]"},{"lineNumber":1650,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1651,"author":{"gitId":"sopa301"},"content":" \"node_modules/safer-buffer\": {"},{"lineNumber":1652,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.2\","},{"lineNumber":1653,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\","},{"lineNumber":1654,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg\u003d\u003d\","},{"lineNumber":1655,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1656,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1657,"author":{"gitId":"sopa301"},"content":" \"node_modules/semver\": {"},{"lineNumber":1658,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.5.4\","},{"lineNumber":1659,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.5.4.tgz\","},{"lineNumber":1660,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA\u003d\u003d\","},{"lineNumber":1661,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1662,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1663,"author":{"gitId":"sopa301"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":1664,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1665,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":1666,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":1667,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1668,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1669,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1670,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1671,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1672,"author":{"gitId":"sopa301"},"content":" \"node_modules/shebang-command\": {"},{"lineNumber":1673,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":1674,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\","},{"lineNumber":1675,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA\u003d\u003d\","},{"lineNumber":1676,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1677,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1678,"author":{"gitId":"sopa301"},"content":" \"shebang-regex\": \"^3.0.0\""},{"lineNumber":1679,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1680,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1681,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1682,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1683,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1684,"author":{"gitId":"sopa301"},"content":" \"node_modules/shebang-regex\": {"},{"lineNumber":1685,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\","},{"lineNumber":1686,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\","},{"lineNumber":1687,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A\u003d\u003d\","},{"lineNumber":1688,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1689,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1690,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1691,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1692,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1693,"author":{"gitId":"sopa301"},"content":" \"node_modules/side-channel\": {"},{"lineNumber":1694,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.4\","},{"lineNumber":1695,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz\","},{"lineNumber":1696,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw\u003d\u003d\","},{"lineNumber":1697,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1698,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1699,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.0\","},{"lineNumber":1700,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.0.2\","},{"lineNumber":1701,"author":{"gitId":"sopa301"},"content":" \"object-inspect\": \"^1.9.0\""},{"lineNumber":1702,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1703,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1704,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":1705,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1706,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1707,"author":{"gitId":"sopa301"},"content":" \"node_modules/signal-exit\": {"},{"lineNumber":1708,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.7\","},{"lineNumber":1709,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz\","},{"lineNumber":1710,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ\u003d\u003d\","},{"lineNumber":1711,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1712,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1713,"author":{"gitId":"sopa301"},"content":" \"node_modules/slice-ansi\": {"},{"lineNumber":1714,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\","},{"lineNumber":1715,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz\","},{"lineNumber":1716,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ\u003d\u003d\","},{"lineNumber":1717,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1718,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1719,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":1720,"author":{"gitId":"sopa301"},"content":" \"astral-regex\": \"^2.0.0\","},{"lineNumber":1721,"author":{"gitId":"sopa301"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\""},{"lineNumber":1722,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1723,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1724,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1725,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1726,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1727,"author":{"gitId":"sopa301"},"content":" \"node_modules/sshpk\": {"},{"lineNumber":1728,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.17.0\","},{"lineNumber":1729,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz\","},{"lineNumber":1730,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ\u003d\u003d\","},{"lineNumber":1731,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1732,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1733,"author":{"gitId":"sopa301"},"content":" \"asn1\": \"~0.2.3\","},{"lineNumber":1734,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\","},{"lineNumber":1735,"author":{"gitId":"sopa301"},"content":" \"bcrypt-pbkdf\": \"^1.0.0\","},{"lineNumber":1736,"author":{"gitId":"sopa301"},"content":" \"dashdash\": \"^1.12.0\","},{"lineNumber":1737,"author":{"gitId":"sopa301"},"content":" \"ecc-jsbn\": \"~0.1.1\","},{"lineNumber":1738,"author":{"gitId":"sopa301"},"content":" \"getpass\": \"^0.1.1\","},{"lineNumber":1739,"author":{"gitId":"sopa301"},"content":" \"jsbn\": \"~0.1.0\","},{"lineNumber":1740,"author":{"gitId":"sopa301"},"content":" \"safer-buffer\": \"^2.0.2\","},{"lineNumber":1741,"author":{"gitId":"sopa301"},"content":" \"tweetnacl\": \"~0.14.0\""},{"lineNumber":1742,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1743,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":1744,"author":{"gitId":"sopa301"},"content":" \"sshpk-conv\": \"bin/sshpk-conv\","},{"lineNumber":1745,"author":{"gitId":"sopa301"},"content":" \"sshpk-sign\": \"bin/sshpk-sign\","},{"lineNumber":1746,"author":{"gitId":"sopa301"},"content":" \"sshpk-verify\": \"bin/sshpk-verify\""},{"lineNumber":1747,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1748,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1749,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":1750,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1751,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1752,"author":{"gitId":"sopa301"},"content":" \"node_modules/string-width\": {"},{"lineNumber":1753,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.3\","},{"lineNumber":1754,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\","},{"lineNumber":1755,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g\u003d\u003d\","},{"lineNumber":1756,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1757,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1758,"author":{"gitId":"sopa301"},"content":" \"emoji-regex\": \"^8.0.0\","},{"lineNumber":1759,"author":{"gitId":"sopa301"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\","},{"lineNumber":1760,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":1761,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1762,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1763,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1764,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1765,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1766,"author":{"gitId":"sopa301"},"content":" \"node_modules/strip-ansi\": {"},{"lineNumber":1767,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.1\","},{"lineNumber":1768,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\","},{"lineNumber":1769,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A\u003d\u003d\","},{"lineNumber":1770,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1771,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1772,"author":{"gitId":"sopa301"},"content":" \"ansi-regex\": \"^5.0.1\""},{"lineNumber":1773,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1774,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1775,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1776,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1777,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1778,"author":{"gitId":"sopa301"},"content":" \"node_modules/strip-final-newline\": {"},{"lineNumber":1779,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":1780,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz\","},{"lineNumber":1781,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA\u003d\u003d\","},{"lineNumber":1782,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1783,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1784,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1785,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1786,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1787,"author":{"gitId":"sopa301"},"content":" \"node_modules/supports-color\": {"},{"lineNumber":1788,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.1.1\","},{"lineNumber":1789,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\","},{"lineNumber":1790,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q\u003d\u003d\","},{"lineNumber":1791,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1792,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1793,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":1794,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1795,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1796,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1797,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1798,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1799,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\""},{"lineNumber":1800,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1801,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1802,"author":{"gitId":"sopa301"},"content":" \"node_modules/throttleit\": {"},{"lineNumber":1803,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":1804,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz\","},{"lineNumber":1805,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g\u003d\u003d\","},{"lineNumber":1806,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1807,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1808,"author":{"gitId":"sopa301"},"content":" \"node_modules/through\": {"},{"lineNumber":1809,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.8\","},{"lineNumber":1810,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/through/-/through-2.3.8.tgz\","},{"lineNumber":1811,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg\u003d\u003d\","},{"lineNumber":1812,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1813,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1814,"author":{"gitId":"sopa301"},"content":" \"node_modules/tmp\": {"},{"lineNumber":1815,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.1\","},{"lineNumber":1816,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz\","},{"lineNumber":1817,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ\u003d\u003d\","},{"lineNumber":1818,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1819,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1820,"author":{"gitId":"sopa301"},"content":" \"rimraf\": \"^3.0.0\""},{"lineNumber":1821,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1822,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1823,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.17.0\""},{"lineNumber":1824,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1825,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1826,"author":{"gitId":"sopa301"},"content":" \"node_modules/tough-cookie\": {"},{"lineNumber":1827,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.3\","},{"lineNumber":1828,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz\","},{"lineNumber":1829,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw\u003d\u003d\","},{"lineNumber":1830,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1831,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1832,"author":{"gitId":"sopa301"},"content":" \"psl\": \"^1.1.33\","},{"lineNumber":1833,"author":{"gitId":"sopa301"},"content":" \"punycode\": \"^2.1.1\","},{"lineNumber":1834,"author":{"gitId":"sopa301"},"content":" \"universalify\": \"^0.2.0\","},{"lineNumber":1835,"author":{"gitId":"sopa301"},"content":" \"url-parse\": \"^1.5.3\""},{"lineNumber":1836,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1837,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1838,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1839,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1840,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1841,"author":{"gitId":"sopa301"},"content":" \"node_modules/tslib\": {"},{"lineNumber":1842,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.6.2\","},{"lineNumber":1843,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz\","},{"lineNumber":1844,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q\u003d\u003d\","},{"lineNumber":1845,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1846,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1847,"author":{"gitId":"sopa301"},"content":" \"node_modules/tunnel-agent\": {"},{"lineNumber":1848,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.0\","},{"lineNumber":1849,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz\","},{"lineNumber":1850,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w\u003d\u003d\","},{"lineNumber":1851,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1852,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1853,"author":{"gitId":"sopa301"},"content":" \"safe-buffer\": \"^5.0.1\""},{"lineNumber":1854,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1855,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1856,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\""},{"lineNumber":1857,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1858,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1859,"author":{"gitId":"sopa301"},"content":" \"node_modules/tweetnacl\": {"},{"lineNumber":1860,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.14.5\","},{"lineNumber":1861,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz\","},{"lineNumber":1862,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA\u003d\u003d\","},{"lineNumber":1863,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1864,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1865,"author":{"gitId":"sopa301"},"content":" \"node_modules/type-fest\": {"},{"lineNumber":1866,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.21.3\","},{"lineNumber":1867,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz\","},{"lineNumber":1868,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w\u003d\u003d\","},{"lineNumber":1869,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1870,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1871,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1872,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1873,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1874,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1875,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1876,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1877,"author":{"gitId":"sopa301"},"content":" \"node_modules/universalify\": {"},{"lineNumber":1878,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.0\","},{"lineNumber":1879,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz\","},{"lineNumber":1880,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg\u003d\u003d\","},{"lineNumber":1881,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1882,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1883,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 4.0.0\""},{"lineNumber":1884,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1885,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1886,"author":{"gitId":"sopa301"},"content":" \"node_modules/untildify\": {"},{"lineNumber":1887,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":1888,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz\","},{"lineNumber":1889,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw\u003d\u003d\","},{"lineNumber":1890,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1891,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1892,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1893,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1894,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1895,"author":{"gitId":"sopa301"},"content":" \"node_modules/url-parse\": {"},{"lineNumber":1896,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.10\","},{"lineNumber":1897,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz\","},{"lineNumber":1898,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ\u003d\u003d\","},{"lineNumber":1899,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1900,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1901,"author":{"gitId":"sopa301"},"content":" \"querystringify\": \"^2.1.1\","},{"lineNumber":1902,"author":{"gitId":"sopa301"},"content":" \"requires-port\": \"^1.0.0\""},{"lineNumber":1903,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1904,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1905,"author":{"gitId":"sopa301"},"content":" \"node_modules/uuid\": {"},{"lineNumber":1906,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.3.2\","},{"lineNumber":1907,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz\","},{"lineNumber":1908,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg\u003d\u003d\","},{"lineNumber":1909,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1910,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":1911,"author":{"gitId":"sopa301"},"content":" \"uuid\": \"dist/bin/uuid\""},{"lineNumber":1912,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1913,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1914,"author":{"gitId":"sopa301"},"content":" \"node_modules/verror\": {"},{"lineNumber":1915,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.10.0\","},{"lineNumber":1916,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz\","},{"lineNumber":1917,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw\u003d\u003d\","},{"lineNumber":1918,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1919,"author":{"gitId":"sopa301"},"content":" \"engines\": ["},{"lineNumber":1920,"author":{"gitId":"sopa301"},"content":" \"node \u003e\u003d0.6.0\""},{"lineNumber":1921,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":1922,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1923,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\","},{"lineNumber":1924,"author":{"gitId":"sopa301"},"content":" \"core-util-is\": \"1.0.2\","},{"lineNumber":1925,"author":{"gitId":"sopa301"},"content":" \"extsprintf\": \"^1.2.0\""},{"lineNumber":1926,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1927,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1928,"author":{"gitId":"sopa301"},"content":" \"node_modules/which\": {"},{"lineNumber":1929,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\","},{"lineNumber":1930,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\","},{"lineNumber":1931,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA\u003d\u003d\","},{"lineNumber":1932,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1933,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1934,"author":{"gitId":"sopa301"},"content":" \"isexe\": \"^2.0.0\""},{"lineNumber":1935,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1936,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":1937,"author":{"gitId":"sopa301"},"content":" \"node-which\": \"bin/node-which\""},{"lineNumber":1938,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1939,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1940,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":1941,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1942,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1943,"author":{"gitId":"sopa301"},"content":" \"node_modules/wrap-ansi\": {"},{"lineNumber":1944,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.0\","},{"lineNumber":1945,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\","},{"lineNumber":1946,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q\u003d\u003d\","},{"lineNumber":1947,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1948,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1949,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":1950,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.1.0\","},{"lineNumber":1951,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.0\""},{"lineNumber":1952,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1953,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1954,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1955,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1956,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1957,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/wrap-ansi?sponsor\u003d1\""},{"lineNumber":1958,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1959,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1960,"author":{"gitId":"sopa301"},"content":" \"node_modules/wrappy\": {"},{"lineNumber":1961,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":1962,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\","},{"lineNumber":1963,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ\u003d\u003d\","},{"lineNumber":1964,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1965,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1966,"author":{"gitId":"sopa301"},"content":" \"node_modules/yallist\": {"},{"lineNumber":1967,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":1968,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\","},{"lineNumber":1969,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\","},{"lineNumber":1970,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1971,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1972,"author":{"gitId":"sopa301"},"content":" \"node_modules/yauzl\": {"},{"lineNumber":1973,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.10.0\","},{"lineNumber":1974,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz\","},{"lineNumber":1975,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g\u003d\u003d\","},{"lineNumber":1976,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1977,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1978,"author":{"gitId":"sopa301"},"content":" \"buffer-crc32\": \"~0.2.3\","},{"lineNumber":1979,"author":{"gitId":"sopa301"},"content":" \"fd-slicer\": \"~1.1.0\""},{"lineNumber":1980,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1981,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1982,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1983,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1984,"author":{"gitId":"-"},"content":" \"@colors/colors\": {"},{"lineNumber":1985,"author":{"gitId":"-"},"content":" \"version\": \"1.5.0\","},{"lineNumber":1986,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz\","},{"lineNumber":1987,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ\u003d\u003d\","},{"lineNumber":1988,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1989,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":1990,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1991,"author":{"gitId":"-"},"content":" \"@cypress/request\": {"},{"lineNumber":1992,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":1993,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz\","},{"lineNumber":1994,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ\u003d\u003d\","},{"lineNumber":1995,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1996,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":1997,"author":{"gitId":"-"},"content":" \"aws-sign2\": \"~0.7.0\","},{"lineNumber":1998,"author":{"gitId":"-"},"content":" \"aws4\": \"^1.8.0\","},{"lineNumber":1999,"author":{"gitId":"-"},"content":" \"caseless\": \"~0.12.0\","},{"lineNumber":2000,"author":{"gitId":"-"},"content":" \"combined-stream\": \"~1.0.6\","},{"lineNumber":2001,"author":{"gitId":"-"},"content":" \"extend\": \"~3.0.2\","},{"lineNumber":2002,"author":{"gitId":"-"},"content":" \"forever-agent\": \"~0.6.1\","},{"lineNumber":2003,"author":{"gitId":"-"},"content":" \"form-data\": \"~2.3.2\","},{"lineNumber":2004,"author":{"gitId":"-"},"content":" \"http-signature\": \"~1.3.6\","},{"lineNumber":2005,"author":{"gitId":"-"},"content":" \"is-typedarray\": \"~1.0.0\","},{"lineNumber":2006,"author":{"gitId":"-"},"content":" \"isstream\": \"~0.1.2\","},{"lineNumber":2007,"author":{"gitId":"-"},"content":" \"json-stringify-safe\": \"~5.0.1\","},{"lineNumber":2008,"author":{"gitId":"-"},"content":" \"mime-types\": \"~2.1.19\","},{"lineNumber":2009,"author":{"gitId":"-"},"content":" \"performance-now\": \"^2.1.0\","},{"lineNumber":2010,"author":{"gitId":"-"},"content":" \"qs\": \"6.10.4\","},{"lineNumber":2011,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"^5.1.2\","},{"lineNumber":2012,"author":{"gitId":"-"},"content":" \"tough-cookie\": \"^4.1.3\","},{"lineNumber":2013,"author":{"gitId":"-"},"content":" \"tunnel-agent\": \"^0.6.0\","},{"lineNumber":2014,"author":{"gitId":"-"},"content":" \"uuid\": \"^8.3.2\""},{"lineNumber":2015,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2016,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2017,"author":{"gitId":"-"},"content":" \"@cypress/xvfb\": {"},{"lineNumber":2018,"author":{"gitId":"-"},"content":" \"version\": \"1.2.4\","},{"lineNumber":2019,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz\","},{"lineNumber":2020,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q\u003d\u003d\","},{"lineNumber":2021,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2022,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2023,"author":{"gitId":"-"},"content":" \"debug\": \"^3.1.0\","},{"lineNumber":2024,"author":{"gitId":"-"},"content":" \"lodash.once\": \"^4.1.1\""},{"lineNumber":2025,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2026,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2027,"author":{"gitId":"-"},"content":" \"debug\": {"},{"lineNumber":2028,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\","},{"lineNumber":2029,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\","},{"lineNumber":2030,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ\u003d\u003d\","},{"lineNumber":2031,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2032,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2033,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\""},{"lineNumber":2034,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2035,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2036,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2037,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2038,"author":{"gitId":"-"},"content":" \"@types/node\": {"},{"lineNumber":2039,"author":{"gitId":"-"},"content":" \"version\": \"18.18.3\","},{"lineNumber":2040,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-18.18.3.tgz\","},{"lineNumber":2041,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA\u003d\u003d\","},{"lineNumber":2042,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2043,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":2044,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2045,"author":{"gitId":"-"},"content":" \"@types/sinonjs__fake-timers\": {"},{"lineNumber":2046,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\","},{"lineNumber":2047,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz\","},{"lineNumber":2048,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g\u003d\u003d\","},{"lineNumber":2049,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2050,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2051,"author":{"gitId":"-"},"content":" \"@types/sizzle\": {"},{"lineNumber":2052,"author":{"gitId":"-"},"content":" \"version\": \"2.3.4\","},{"lineNumber":2053,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.4.tgz\","},{"lineNumber":2054,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-jA2llq2zNkg8HrALI7DtWzhALcVH0l7i89yhY3iBdOz6cBPeACoFq+fkQrjHA39t1hnSFOboZ7A/AY5MMZSlag\u003d\u003d\","},{"lineNumber":2055,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2056,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2057,"author":{"gitId":"-"},"content":" \"@types/yauzl\": {"},{"lineNumber":2058,"author":{"gitId":"-"},"content":" \"version\": \"2.10.1\","},{"lineNumber":2059,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.1.tgz\","},{"lineNumber":2060,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw\u003d\u003d\","},{"lineNumber":2061,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2062,"author":{"gitId":"-"},"content":" \"optional\": true,"},{"lineNumber":2063,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2064,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2065,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2066,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2067,"author":{"gitId":"-"},"content":" \"aggregate-error\": {"},{"lineNumber":2068,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":2069,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz\","},{"lineNumber":2070,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA\u003d\u003d\","},{"lineNumber":2071,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2072,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2073,"author":{"gitId":"-"},"content":" \"clean-stack\": \"^2.0.0\","},{"lineNumber":2074,"author":{"gitId":"-"},"content":" \"indent-string\": \"^4.0.0\""},{"lineNumber":2075,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2076,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2077,"author":{"gitId":"-"},"content":" \"ansi-colors\": {"},{"lineNumber":2078,"author":{"gitId":"-"},"content":" \"version\": \"4.1.3\","},{"lineNumber":2079,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz\","},{"lineNumber":2080,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw\u003d\u003d\","},{"lineNumber":2081,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2082,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2083,"author":{"gitId":"-"},"content":" \"ansi-escapes\": {"},{"lineNumber":2084,"author":{"gitId":"-"},"content":" \"version\": \"4.3.2\","},{"lineNumber":2085,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz\","},{"lineNumber":2086,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ\u003d\u003d\","},{"lineNumber":2087,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2088,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2089,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.21.3\""},{"lineNumber":2090,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2091,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2092,"author":{"gitId":"-"},"content":" \"ansi-regex\": {"},{"lineNumber":2093,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\","},{"lineNumber":2094,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\","},{"lineNumber":2095,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ\u003d\u003d\","},{"lineNumber":2096,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2097,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2098,"author":{"gitId":"-"},"content":" \"ansi-styles\": {"},{"lineNumber":2099,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":2100,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\","},{"lineNumber":2101,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg\u003d\u003d\","},{"lineNumber":2102,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2103,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2104,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":2105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2106,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2107,"author":{"gitId":"-"},"content":" \"arch\": {"},{"lineNumber":2108,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":2109,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/arch/-/arch-2.2.0.tgz\","},{"lineNumber":2110,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ\u003d\u003d\","},{"lineNumber":2111,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2112,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2113,"author":{"gitId":"-"},"content":" \"asn1\": {"},{"lineNumber":2114,"author":{"gitId":"-"},"content":" \"version\": \"0.2.6\","},{"lineNumber":2115,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz\","},{"lineNumber":2116,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ\u003d\u003d\","},{"lineNumber":2117,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2118,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2119,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"~2.1.0\""},{"lineNumber":2120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2121,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2122,"author":{"gitId":"-"},"content":" \"assert-plus\": {"},{"lineNumber":2123,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":2124,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz\","},{"lineNumber":2125,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw\u003d\u003d\","},{"lineNumber":2126,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2127,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2128,"author":{"gitId":"-"},"content":" \"astral-regex\": {"},{"lineNumber":2129,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2130,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz\","},{"lineNumber":2131,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ\u003d\u003d\","},{"lineNumber":2132,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2133,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2134,"author":{"gitId":"-"},"content":" \"async\": {"},{"lineNumber":2135,"author":{"gitId":"-"},"content":" \"version\": \"3.2.4\","},{"lineNumber":2136,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/async/-/async-3.2.4.tgz\","},{"lineNumber":2137,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ\u003d\u003d\","},{"lineNumber":2138,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2139,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2140,"author":{"gitId":"-"},"content":" \"asynckit\": {"},{"lineNumber":2141,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\","},{"lineNumber":2142,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\","},{"lineNumber":2143,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q\u003d\u003d\","},{"lineNumber":2144,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2145,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2146,"author":{"gitId":"-"},"content":" \"at-least-node\": {"},{"lineNumber":2147,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":2148,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz\","},{"lineNumber":2149,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg\u003d\u003d\","},{"lineNumber":2150,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2151,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2152,"author":{"gitId":"-"},"content":" \"aws-sign2\": {"},{"lineNumber":2153,"author":{"gitId":"-"},"content":" \"version\": \"0.7.0\","},{"lineNumber":2154,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz\","},{"lineNumber":2155,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA\u003d\u003d\","},{"lineNumber":2156,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2157,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2158,"author":{"gitId":"-"},"content":" \"aws4\": {"},{"lineNumber":2159,"author":{"gitId":"-"},"content":" \"version\": \"1.12.0\","},{"lineNumber":2160,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz\","},{"lineNumber":2161,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg\u003d\u003d\","},{"lineNumber":2162,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2163,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2164,"author":{"gitId":"-"},"content":" \"balanced-match\": {"},{"lineNumber":2165,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":2166,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\","},{"lineNumber":2167,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw\u003d\u003d\","},{"lineNumber":2168,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2169,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2170,"author":{"gitId":"-"},"content":" \"base64-js\": {"},{"lineNumber":2171,"author":{"gitId":"-"},"content":" \"version\": \"1.5.1\","},{"lineNumber":2172,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz\","},{"lineNumber":2173,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA\u003d\u003d\","},{"lineNumber":2174,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2175,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2176,"author":{"gitId":"-"},"content":" \"bcrypt-pbkdf\": {"},{"lineNumber":2177,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":2178,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz\","},{"lineNumber":2179,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w\u003d\u003d\","},{"lineNumber":2180,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2181,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2182,"author":{"gitId":"-"},"content":" \"tweetnacl\": \"^0.14.3\""},{"lineNumber":2183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2184,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2185,"author":{"gitId":"-"},"content":" \"blob-util\": {"},{"lineNumber":2186,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\","},{"lineNumber":2187,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz\","},{"lineNumber":2188,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ\u003d\u003d\","},{"lineNumber":2189,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2190,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2191,"author":{"gitId":"-"},"content":" \"bluebird\": {"},{"lineNumber":2192,"author":{"gitId":"-"},"content":" \"version\": \"3.7.2\","},{"lineNumber":2193,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\","},{"lineNumber":2194,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg\u003d\u003d\","},{"lineNumber":2195,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2196,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2197,"author":{"gitId":"-"},"content":" \"brace-expansion\": {"},{"lineNumber":2198,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":2199,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\","},{"lineNumber":2200,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA\u003d\u003d\","},{"lineNumber":2201,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2202,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2203,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":2204,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":2205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2207,"author":{"gitId":"-"},"content":" \"buffer\": {"},{"lineNumber":2208,"author":{"gitId":"-"},"content":" \"version\": \"5.7.1\","},{"lineNumber":2209,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz\","},{"lineNumber":2210,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ\u003d\u003d\","},{"lineNumber":2211,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2212,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2213,"author":{"gitId":"-"},"content":" \"base64-js\": \"^1.3.1\","},{"lineNumber":2214,"author":{"gitId":"-"},"content":" \"ieee754\": \"^1.1.13\""},{"lineNumber":2215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2216,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2217,"author":{"gitId":"-"},"content":" \"buffer-crc32\": {"},{"lineNumber":2218,"author":{"gitId":"-"},"content":" \"version\": \"0.2.13\","},{"lineNumber":2219,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz\","},{"lineNumber":2220,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ\u003d\u003d\","},{"lineNumber":2221,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2222,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2223,"author":{"gitId":"-"},"content":" \"cachedir\": {"},{"lineNumber":2224,"author":{"gitId":"-"},"content":" \"version\": \"2.4.0\","},{"lineNumber":2225,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz\","},{"lineNumber":2226,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ\u003d\u003d\","},{"lineNumber":2227,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2228,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2229,"author":{"gitId":"-"},"content":" \"call-bind\": {"},{"lineNumber":2230,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":2231,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz\","},{"lineNumber":2232,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA\u003d\u003d\","},{"lineNumber":2233,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2234,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2235,"author":{"gitId":"-"},"content":" \"function-bind\": \"^1.1.1\","},{"lineNumber":2236,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.0.2\""},{"lineNumber":2237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2238,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2239,"author":{"gitId":"-"},"content":" \"caseless\": {"},{"lineNumber":2240,"author":{"gitId":"-"},"content":" \"version\": \"0.12.0\","},{"lineNumber":2241,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz\","},{"lineNumber":2242,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw\u003d\u003d\","},{"lineNumber":2243,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2244,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2245,"author":{"gitId":"-"},"content":" \"chalk\": {"},{"lineNumber":2246,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":2247,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\","},{"lineNumber":2248,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA\u003d\u003d\","},{"lineNumber":2249,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2250,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2251,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":2252,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":2253,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2254,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2255,"author":{"gitId":"-"},"content":" \"supports-color\": {"},{"lineNumber":2256,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":2257,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\","},{"lineNumber":2258,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\","},{"lineNumber":2259,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2260,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2261,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":2262,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2263,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2265,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2266,"author":{"gitId":"-"},"content":" \"check-more-types\": {"},{"lineNumber":2267,"author":{"gitId":"-"},"content":" \"version\": \"2.24.0\","},{"lineNumber":2268,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz\","},{"lineNumber":2269,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA\u003d\u003d\","},{"lineNumber":2270,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2271,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2272,"author":{"gitId":"-"},"content":" \"ci-info\": {"},{"lineNumber":2273,"author":{"gitId":"-"},"content":" \"version\": \"3.9.0\","},{"lineNumber":2274,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\","},{"lineNumber":2275,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ\u003d\u003d\","},{"lineNumber":2276,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2277,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2278,"author":{"gitId":"-"},"content":" \"clean-stack\": {"},{"lineNumber":2279,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":2280,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz\","},{"lineNumber":2281,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A\u003d\u003d\","},{"lineNumber":2282,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2283,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2284,"author":{"gitId":"-"},"content":" \"cli-cursor\": {"},{"lineNumber":2285,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":2286,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz\","},{"lineNumber":2287,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw\u003d\u003d\","},{"lineNumber":2288,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2289,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2290,"author":{"gitId":"-"},"content":" \"restore-cursor\": \"^3.1.0\""},{"lineNumber":2291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2292,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2293,"author":{"gitId":"-"},"content":" \"cli-table3\": {"},{"lineNumber":2294,"author":{"gitId":"-"},"content":" \"version\": \"0.6.3\","},{"lineNumber":2295,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz\","},{"lineNumber":2296,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg\u003d\u003d\","},{"lineNumber":2297,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2298,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2299,"author":{"gitId":"-"},"content":" \"@colors/colors\": \"1.5.0\","},{"lineNumber":2300,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.0\""},{"lineNumber":2301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2302,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2303,"author":{"gitId":"-"},"content":" \"cli-truncate\": {"},{"lineNumber":2304,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":2305,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz\","},{"lineNumber":2306,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg\u003d\u003d\","},{"lineNumber":2307,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2308,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2309,"author":{"gitId":"-"},"content":" \"slice-ansi\": \"^3.0.0\","},{"lineNumber":2310,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.0\""},{"lineNumber":2311,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2312,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2313,"author":{"gitId":"-"},"content":" \"color-convert\": {"},{"lineNumber":2314,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":2315,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\","},{"lineNumber":2316,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ\u003d\u003d\","},{"lineNumber":2317,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2318,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2319,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":2320,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2321,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2322,"author":{"gitId":"-"},"content":" \"color-name\": {"},{"lineNumber":2323,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":2324,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\","},{"lineNumber":2325,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA\u003d\u003d\","},{"lineNumber":2326,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2327,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2328,"author":{"gitId":"-"},"content":" \"colorette\": {"},{"lineNumber":2329,"author":{"gitId":"-"},"content":" \"version\": \"2.0.20\","},{"lineNumber":2330,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz\","},{"lineNumber":2331,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w\u003d\u003d\","},{"lineNumber":2332,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2333,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2334,"author":{"gitId":"-"},"content":" \"combined-stream\": {"},{"lineNumber":2335,"author":{"gitId":"-"},"content":" \"version\": \"1.0.8\","},{"lineNumber":2336,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\","},{"lineNumber":2337,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg\u003d\u003d\","},{"lineNumber":2338,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2339,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2340,"author":{"gitId":"-"},"content":" \"delayed-stream\": \"~1.0.0\""},{"lineNumber":2341,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2342,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2343,"author":{"gitId":"-"},"content":" \"commander\": {"},{"lineNumber":2344,"author":{"gitId":"-"},"content":" \"version\": \"6.2.1\","},{"lineNumber":2345,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/commander/-/commander-6.2.1.tgz\","},{"lineNumber":2346,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA\u003d\u003d\","},{"lineNumber":2347,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2348,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2349,"author":{"gitId":"-"},"content":" \"common-tags\": {"},{"lineNumber":2350,"author":{"gitId":"-"},"content":" \"version\": \"1.8.2\","},{"lineNumber":2351,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz\","},{"lineNumber":2352,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA\u003d\u003d\","},{"lineNumber":2353,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2354,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2355,"author":{"gitId":"-"},"content":" \"concat-map\": {"},{"lineNumber":2356,"author":{"gitId":"-"},"content":" \"version\": \"0.0.1\","},{"lineNumber":2357,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\","},{"lineNumber":2358,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg\u003d\u003d\","},{"lineNumber":2359,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2360,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2361,"author":{"gitId":"-"},"content":" \"core-util-is\": {"},{"lineNumber":2362,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":2363,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz\","},{"lineNumber":2364,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ\u003d\u003d\","},{"lineNumber":2365,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2366,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2367,"author":{"gitId":"-"},"content":" \"cross-spawn\": {"},{"lineNumber":2368,"author":{"gitId":"-"},"content":" \"version\": \"7.0.3\","},{"lineNumber":2369,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\","},{"lineNumber":2370,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w\u003d\u003d\","},{"lineNumber":2371,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2372,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2373,"author":{"gitId":"-"},"content":" \"path-key\": \"^3.1.0\","},{"lineNumber":2374,"author":{"gitId":"-"},"content":" \"shebang-command\": \"^2.0.0\","},{"lineNumber":2375,"author":{"gitId":"-"},"content":" \"which\": \"^2.0.1\""},{"lineNumber":2376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2377,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2378,"author":{"gitId":"-"},"content":" \"cypress\": {"},{"lineNumber":2379,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.6.6\","},{"lineNumber":2380,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cypress/-/cypress-13.6.6.tgz\","},{"lineNumber":2381,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A\u003d\u003d\","},{"lineNumber":2382,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2383,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2384,"author":{"gitId":"-"},"content":" \"@cypress/request\": \"^3.0.0\","},{"lineNumber":2385,"author":{"gitId":"-"},"content":" \"@cypress/xvfb\": \"^1.2.4\","},{"lineNumber":2386,"author":{"gitId":"-"},"content":" \"@types/sinonjs__fake-timers\": \"8.1.1\","},{"lineNumber":2387,"author":{"gitId":"-"},"content":" \"@types/sizzle\": \"^2.3.2\","},{"lineNumber":2388,"author":{"gitId":"-"},"content":" \"arch\": \"^2.2.0\","},{"lineNumber":2389,"author":{"gitId":"-"},"content":" \"blob-util\": \"^2.0.2\","},{"lineNumber":2390,"author":{"gitId":"-"},"content":" \"bluebird\": \"^3.7.2\","},{"lineNumber":2391,"author":{"gitId":"sopa301"},"content":" \"buffer\": \"^5.7.1\","},{"lineNumber":2392,"author":{"gitId":"-"},"content":" \"cachedir\": \"^2.3.0\","},{"lineNumber":2393,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":2394,"author":{"gitId":"-"},"content":" \"check-more-types\": \"^2.24.0\","},{"lineNumber":2395,"author":{"gitId":"-"},"content":" \"cli-cursor\": \"^3.1.0\","},{"lineNumber":2396,"author":{"gitId":"-"},"content":" \"cli-table3\": \"~0.6.1\","},{"lineNumber":2397,"author":{"gitId":"-"},"content":" \"commander\": \"^6.2.1\","},{"lineNumber":2398,"author":{"gitId":"-"},"content":" \"common-tags\": \"^1.8.0\","},{"lineNumber":2399,"author":{"gitId":"-"},"content":" \"dayjs\": \"^1.10.4\","},{"lineNumber":2400,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":2401,"author":{"gitId":"-"},"content":" \"enquirer\": \"^2.3.6\","},{"lineNumber":2402,"author":{"gitId":"-"},"content":" \"eventemitter2\": \"6.4.7\","},{"lineNumber":2403,"author":{"gitId":"-"},"content":" \"execa\": \"4.1.0\","},{"lineNumber":2404,"author":{"gitId":"-"},"content":" \"executable\": \"^4.1.1\","},{"lineNumber":2405,"author":{"gitId":"-"},"content":" \"extract-zip\": \"2.0.1\","},{"lineNumber":2406,"author":{"gitId":"-"},"content":" \"figures\": \"^3.2.0\","},{"lineNumber":2407,"author":{"gitId":"-"},"content":" \"fs-extra\": \"^9.1.0\","},{"lineNumber":2408,"author":{"gitId":"-"},"content":" \"getos\": \"^3.2.1\","},{"lineNumber":2409,"author":{"gitId":"sopa301"},"content":" \"is-ci\": \"^3.0.1\","},{"lineNumber":2410,"author":{"gitId":"-"},"content":" \"is-installed-globally\": \"~0.4.0\","},{"lineNumber":2411,"author":{"gitId":"-"},"content":" \"lazy-ass\": \"^1.6.0\","},{"lineNumber":2412,"author":{"gitId":"-"},"content":" \"listr2\": \"^3.8.3\","},{"lineNumber":2413,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.21\","},{"lineNumber":2414,"author":{"gitId":"-"},"content":" \"log-symbols\": \"^4.0.0\","},{"lineNumber":2415,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.8\","},{"lineNumber":2416,"author":{"gitId":"-"},"content":" \"ospath\": \"^1.2.2\","},{"lineNumber":2417,"author":{"gitId":"-"},"content":" \"pretty-bytes\": \"^5.6.0\","},{"lineNumber":2418,"author":{"gitId":"-"},"content":" \"process\": \"^0.11.10\","},{"lineNumber":2419,"author":{"gitId":"-"},"content":" \"proxy-from-env\": \"1.0.0\","},{"lineNumber":2420,"author":{"gitId":"-"},"content":" \"request-progress\": \"^3.0.0\","},{"lineNumber":2421,"author":{"gitId":"-"},"content":" \"semver\": \"^7.5.3\","},{"lineNumber":2422,"author":{"gitId":"-"},"content":" \"supports-color\": \"^8.1.1\","},{"lineNumber":2423,"author":{"gitId":"-"},"content":" \"tmp\": \"~0.2.1\","},{"lineNumber":2424,"author":{"gitId":"-"},"content":" \"untildify\": \"^4.0.0\","},{"lineNumber":2425,"author":{"gitId":"-"},"content":" \"yauzl\": \"^2.10.0\""},{"lineNumber":2426,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2427,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2428,"author":{"gitId":"-"},"content":" \"dashdash\": {"},{"lineNumber":2429,"author":{"gitId":"-"},"content":" \"version\": \"1.14.1\","},{"lineNumber":2430,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz\","},{"lineNumber":2431,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g\u003d\u003d\","},{"lineNumber":2432,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2433,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2434,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\""},{"lineNumber":2435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2436,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2437,"author":{"gitId":"-"},"content":" \"dayjs\": {"},{"lineNumber":2438,"author":{"gitId":"-"},"content":" \"version\": \"1.11.10\","},{"lineNumber":2439,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz\","},{"lineNumber":2440,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ\u003d\u003d\","},{"lineNumber":2441,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2442,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2443,"author":{"gitId":"-"},"content":" \"debug\": {"},{"lineNumber":2444,"author":{"gitId":"-"},"content":" \"version\": \"4.3.4\","},{"lineNumber":2445,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\","},{"lineNumber":2446,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ\u003d\u003d\","},{"lineNumber":2447,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2448,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2449,"author":{"gitId":"-"},"content":" \"ms\": \"2.1.2\""},{"lineNumber":2450,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2451,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2452,"author":{"gitId":"-"},"content":" \"ms\": {"},{"lineNumber":2453,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\","},{"lineNumber":2454,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\","},{"lineNumber":2455,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w\u003d\u003d\","},{"lineNumber":2456,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2457,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2458,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2459,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2460,"author":{"gitId":"-"},"content":" \"delayed-stream\": {"},{"lineNumber":2461,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":2462,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\","},{"lineNumber":2463,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ\u003d\u003d\","},{"lineNumber":2464,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2465,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2466,"author":{"gitId":"-"},"content":" \"ecc-jsbn\": {"},{"lineNumber":2467,"author":{"gitId":"-"},"content":" \"version\": \"0.1.2\","},{"lineNumber":2468,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz\","},{"lineNumber":2469,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw\u003d\u003d\","},{"lineNumber":2470,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2471,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2472,"author":{"gitId":"-"},"content":" \"jsbn\": \"~0.1.0\","},{"lineNumber":2473,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"^2.1.0\""},{"lineNumber":2474,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2475,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2476,"author":{"gitId":"-"},"content":" \"emoji-regex\": {"},{"lineNumber":2477,"author":{"gitId":"-"},"content":" \"version\": \"8.0.0\","},{"lineNumber":2478,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\","},{"lineNumber":2479,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A\u003d\u003d\","},{"lineNumber":2480,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2481,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2482,"author":{"gitId":"-"},"content":" \"end-of-stream\": {"},{"lineNumber":2483,"author":{"gitId":"-"},"content":" \"version\": \"1.4.4\","},{"lineNumber":2484,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz\","},{"lineNumber":2485,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q\u003d\u003d\","},{"lineNumber":2486,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2487,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2488,"author":{"gitId":"-"},"content":" \"once\": \"^1.4.0\""},{"lineNumber":2489,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2491,"author":{"gitId":"-"},"content":" \"enquirer\": {"},{"lineNumber":2492,"author":{"gitId":"-"},"content":" \"version\": \"2.4.1\","},{"lineNumber":2493,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz\","},{"lineNumber":2494,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ\u003d\u003d\","},{"lineNumber":2495,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2496,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2497,"author":{"gitId":"-"},"content":" \"ansi-colors\": \"^4.1.1\","},{"lineNumber":2498,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":2499,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2500,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2501,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": {"},{"lineNumber":2502,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\","},{"lineNumber":2503,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\","},{"lineNumber":2504,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg\u003d\u003d\","},{"lineNumber":2505,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2506,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2507,"author":{"gitId":"-"},"content":" \"eventemitter2\": {"},{"lineNumber":2508,"author":{"gitId":"-"},"content":" \"version\": \"6.4.7\","},{"lineNumber":2509,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz\","},{"lineNumber":2510,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg\u003d\u003d\","},{"lineNumber":2511,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2512,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2513,"author":{"gitId":"-"},"content":" \"execa\": {"},{"lineNumber":2514,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":2515,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/execa/-/execa-4.1.0.tgz\","},{"lineNumber":2516,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA\u003d\u003d\","},{"lineNumber":2517,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2518,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2519,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^7.0.0\","},{"lineNumber":2520,"author":{"gitId":"-"},"content":" \"get-stream\": \"^5.0.0\","},{"lineNumber":2521,"author":{"gitId":"-"},"content":" \"human-signals\": \"^1.1.1\","},{"lineNumber":2522,"author":{"gitId":"-"},"content":" \"is-stream\": \"^2.0.0\","},{"lineNumber":2523,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\","},{"lineNumber":2524,"author":{"gitId":"-"},"content":" \"npm-run-path\": \"^4.0.0\","},{"lineNumber":2525,"author":{"gitId":"-"},"content":" \"onetime\": \"^5.1.0\","},{"lineNumber":2526,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.2\","},{"lineNumber":2527,"author":{"gitId":"-"},"content":" \"strip-final-newline\": \"^2.0.0\""},{"lineNumber":2528,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2529,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2530,"author":{"gitId":"-"},"content":" \"executable\": {"},{"lineNumber":2531,"author":{"gitId":"-"},"content":" \"version\": \"4.1.1\","},{"lineNumber":2532,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/executable/-/executable-4.1.1.tgz\","},{"lineNumber":2533,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg\u003d\u003d\","},{"lineNumber":2534,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2535,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2536,"author":{"gitId":"-"},"content":" \"pify\": \"^2.2.0\""},{"lineNumber":2537,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2538,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2539,"author":{"gitId":"-"},"content":" \"extend\": {"},{"lineNumber":2540,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\","},{"lineNumber":2541,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/extend/-/extend-3.0.2.tgz\","},{"lineNumber":2542,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g\u003d\u003d\","},{"lineNumber":2543,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2544,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2545,"author":{"gitId":"-"},"content":" \"extract-zip\": {"},{"lineNumber":2546,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":2547,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz\","},{"lineNumber":2548,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg\u003d\u003d\","},{"lineNumber":2549,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2550,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2551,"author":{"gitId":"-"},"content":" \"@types/yauzl\": \"^2.9.1\","},{"lineNumber":2552,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.1\","},{"lineNumber":2553,"author":{"gitId":"-"},"content":" \"get-stream\": \"^5.1.0\","},{"lineNumber":2554,"author":{"gitId":"-"},"content":" \"yauzl\": \"^2.10.0\""},{"lineNumber":2555,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2556,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2557,"author":{"gitId":"-"},"content":" \"extsprintf\": {"},{"lineNumber":2558,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\","},{"lineNumber":2559,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz\","},{"lineNumber":2560,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g\u003d\u003d\","},{"lineNumber":2561,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2562,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2563,"author":{"gitId":"-"},"content":" \"fd-slicer\": {"},{"lineNumber":2564,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":2565,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz\","},{"lineNumber":2566,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g\u003d\u003d\","},{"lineNumber":2567,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2568,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2569,"author":{"gitId":"-"},"content":" \"pend\": \"~1.2.0\""},{"lineNumber":2570,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2571,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2572,"author":{"gitId":"-"},"content":" \"figures\": {"},{"lineNumber":2573,"author":{"gitId":"-"},"content":" \"version\": \"3.2.0\","},{"lineNumber":2574,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/figures/-/figures-3.2.0.tgz\","},{"lineNumber":2575,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg\u003d\u003d\","},{"lineNumber":2576,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2577,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2578,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": \"^1.0.5\""},{"lineNumber":2579,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2580,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2581,"author":{"gitId":"-"},"content":" \"forever-agent\": {"},{"lineNumber":2582,"author":{"gitId":"-"},"content":" \"version\": \"0.6.1\","},{"lineNumber":2583,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz\","},{"lineNumber":2584,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw\u003d\u003d\","},{"lineNumber":2585,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2586,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2587,"author":{"gitId":"-"},"content":" \"form-data\": {"},{"lineNumber":2588,"author":{"gitId":"-"},"content":" \"version\": \"2.3.3\","},{"lineNumber":2589,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz\","},{"lineNumber":2590,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ\u003d\u003d\","},{"lineNumber":2591,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2592,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2593,"author":{"gitId":"-"},"content":" \"asynckit\": \"^0.4.0\","},{"lineNumber":2594,"author":{"gitId":"-"},"content":" \"combined-stream\": \"^1.0.6\","},{"lineNumber":2595,"author":{"gitId":"-"},"content":" \"mime-types\": \"^2.1.12\""},{"lineNumber":2596,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2597,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2598,"author":{"gitId":"-"},"content":" \"fs-extra\": {"},{"lineNumber":2599,"author":{"gitId":"-"},"content":" \"version\": \"9.1.0\","},{"lineNumber":2600,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\","},{"lineNumber":2601,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ\u003d\u003d\","},{"lineNumber":2602,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2603,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2604,"author":{"gitId":"-"},"content":" \"at-least-node\": \"^1.0.0\","},{"lineNumber":2605,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.0\","},{"lineNumber":2606,"author":{"gitId":"-"},"content":" \"jsonfile\": \"^6.0.1\","},{"lineNumber":2607,"author":{"gitId":"-"},"content":" \"universalify\": \"^2.0.0\""},{"lineNumber":2608,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2609,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2610,"author":{"gitId":"-"},"content":" \"universalify\": {"},{"lineNumber":2611,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2612,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\","},{"lineNumber":2613,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\","},{"lineNumber":2614,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2615,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2616,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2617,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2618,"author":{"gitId":"-"},"content":" \"fs.realpath\": {"},{"lineNumber":2619,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":2620,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\","},{"lineNumber":2621,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw\u003d\u003d\","},{"lineNumber":2622,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2623,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2624,"author":{"gitId":"-"},"content":" \"function-bind\": {"},{"lineNumber":2625,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\","},{"lineNumber":2626,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz\","},{"lineNumber":2627,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A\u003d\u003d\","},{"lineNumber":2628,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2629,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2630,"author":{"gitId":"-"},"content":" \"get-intrinsic\": {"},{"lineNumber":2631,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":2632,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz\","},{"lineNumber":2633,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw\u003d\u003d\","},{"lineNumber":2634,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2635,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2636,"author":{"gitId":"-"},"content":" \"function-bind\": \"^1.1.1\","},{"lineNumber":2637,"author":{"gitId":"-"},"content":" \"has\": \"^1.0.3\","},{"lineNumber":2638,"author":{"gitId":"-"},"content":" \"has-proto\": \"^1.0.1\","},{"lineNumber":2639,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.3\""},{"lineNumber":2640,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2641,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2642,"author":{"gitId":"-"},"content":" \"get-stream\": {"},{"lineNumber":2643,"author":{"gitId":"-"},"content":" \"version\": \"5.2.0\","},{"lineNumber":2644,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz\","},{"lineNumber":2645,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA\u003d\u003d\","},{"lineNumber":2646,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2647,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2648,"author":{"gitId":"-"},"content":" \"pump\": \"^3.0.0\""},{"lineNumber":2649,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2650,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2651,"author":{"gitId":"-"},"content":" \"getos\": {"},{"lineNumber":2652,"author":{"gitId":"-"},"content":" \"version\": \"3.2.1\","},{"lineNumber":2653,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/getos/-/getos-3.2.1.tgz\","},{"lineNumber":2654,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q\u003d\u003d\","},{"lineNumber":2655,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2656,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2657,"author":{"gitId":"-"},"content":" \"async\": \"^3.2.0\""},{"lineNumber":2658,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2659,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2660,"author":{"gitId":"-"},"content":" \"getpass\": {"},{"lineNumber":2661,"author":{"gitId":"-"},"content":" \"version\": \"0.1.7\","},{"lineNumber":2662,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz\","},{"lineNumber":2663,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng\u003d\u003d\","},{"lineNumber":2664,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2665,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2666,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\""},{"lineNumber":2667,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2668,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2669,"author":{"gitId":"-"},"content":" \"glob\": {"},{"lineNumber":2670,"author":{"gitId":"-"},"content":" \"version\": \"7.2.3\","},{"lineNumber":2671,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.2.3.tgz\","},{"lineNumber":2672,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q\u003d\u003d\","},{"lineNumber":2673,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2674,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2675,"author":{"gitId":"-"},"content":" \"fs.realpath\": \"^1.0.0\","},{"lineNumber":2676,"author":{"gitId":"-"},"content":" \"inflight\": \"^1.0.4\","},{"lineNumber":2677,"author":{"gitId":"-"},"content":" \"inherits\": \"2\","},{"lineNumber":2678,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.1\","},{"lineNumber":2679,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.0\","},{"lineNumber":2680,"author":{"gitId":"-"},"content":" \"path-is-absolute\": \"^1.0.0\""},{"lineNumber":2681,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2682,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2683,"author":{"gitId":"-"},"content":" \"global-dirs\": {"},{"lineNumber":2684,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":2685,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz\","},{"lineNumber":2686,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA\u003d\u003d\","},{"lineNumber":2687,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2688,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2689,"author":{"gitId":"-"},"content":" \"ini\": \"2.0.0\""},{"lineNumber":2690,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2691,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2692,"author":{"gitId":"-"},"content":" \"graceful-fs\": {"},{"lineNumber":2693,"author":{"gitId":"-"},"content":" \"version\": \"4.2.11\","},{"lineNumber":2694,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\","},{"lineNumber":2695,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ\u003d\u003d\","},{"lineNumber":2696,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2697,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2698,"author":{"gitId":"-"},"content":" \"has\": {"},{"lineNumber":2699,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":2700,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has/-/has-1.0.4.tgz\","},{"lineNumber":2701,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ\u003d\u003d\","},{"lineNumber":2702,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2703,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2704,"author":{"gitId":"-"},"content":" \"has-flag\": {"},{"lineNumber":2705,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2706,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\","},{"lineNumber":2707,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\","},{"lineNumber":2708,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2709,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2710,"author":{"gitId":"-"},"content":" \"has-proto\": {"},{"lineNumber":2711,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":2712,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz\","},{"lineNumber":2713,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg\u003d\u003d\","},{"lineNumber":2714,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2715,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2716,"author":{"gitId":"-"},"content":" \"has-symbols\": {"},{"lineNumber":2717,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":2718,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz\","},{"lineNumber":2719,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A\u003d\u003d\","},{"lineNumber":2720,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2721,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2722,"author":{"gitId":"-"},"content":" \"http-signature\": {"},{"lineNumber":2723,"author":{"gitId":"-"},"content":" \"version\": \"1.3.6\","},{"lineNumber":2724,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz\","},{"lineNumber":2725,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw\u003d\u003d\","},{"lineNumber":2726,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2727,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2728,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\","},{"lineNumber":2729,"author":{"gitId":"-"},"content":" \"jsprim\": \"^2.0.2\","},{"lineNumber":2730,"author":{"gitId":"-"},"content":" \"sshpk\": \"^1.14.1\""},{"lineNumber":2731,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2732,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2733,"author":{"gitId":"-"},"content":" \"human-signals\": {"},{"lineNumber":2734,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\","},{"lineNumber":2735,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz\","},{"lineNumber":2736,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw\u003d\u003d\","},{"lineNumber":2737,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2738,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2739,"author":{"gitId":"-"},"content":" \"ieee754\": {"},{"lineNumber":2740,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":2741,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz\","},{"lineNumber":2742,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA\u003d\u003d\","},{"lineNumber":2743,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2744,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2745,"author":{"gitId":"-"},"content":" \"indent-string\": {"},{"lineNumber":2746,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2747,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\","},{"lineNumber":2748,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg\u003d\u003d\","},{"lineNumber":2749,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2750,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2751,"author":{"gitId":"-"},"content":" \"inflight\": {"},{"lineNumber":2752,"author":{"gitId":"-"},"content":" \"version\": \"1.0.6\","},{"lineNumber":2753,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\","},{"lineNumber":2754,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA\u003d\u003d\","},{"lineNumber":2755,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2756,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2757,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.0\","},{"lineNumber":2758,"author":{"gitId":"-"},"content":" \"wrappy\": \"1\""},{"lineNumber":2759,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2760,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2761,"author":{"gitId":"-"},"content":" \"inherits\": {"},{"lineNumber":2762,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\","},{"lineNumber":2763,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\","},{"lineNumber":2764,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ\u003d\u003d\","},{"lineNumber":2765,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2766,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2767,"author":{"gitId":"-"},"content":" \"ini\": {"},{"lineNumber":2768,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2769,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ini/-/ini-2.0.0.tgz\","},{"lineNumber":2770,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA\u003d\u003d\","},{"lineNumber":2771,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2772,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2773,"author":{"gitId":"-"},"content":" \"is-ci\": {"},{"lineNumber":2774,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":2775,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz\","},{"lineNumber":2776,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ\u003d\u003d\","},{"lineNumber":2777,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2778,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2779,"author":{"gitId":"-"},"content":" \"ci-info\": \"^3.2.0\""},{"lineNumber":2780,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2781,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2782,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": {"},{"lineNumber":2783,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":2784,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\","},{"lineNumber":2785,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg\u003d\u003d\","},{"lineNumber":2786,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2787,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2788,"author":{"gitId":"-"},"content":" \"is-installed-globally\": {"},{"lineNumber":2789,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\","},{"lineNumber":2790,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz\","},{"lineNumber":2791,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ\u003d\u003d\","},{"lineNumber":2792,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2793,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2794,"author":{"gitId":"-"},"content":" \"global-dirs\": \"^3.0.0\","},{"lineNumber":2795,"author":{"gitId":"-"},"content":" \"is-path-inside\": \"^3.0.2\""},{"lineNumber":2796,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2797,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2798,"author":{"gitId":"-"},"content":" \"is-path-inside\": {"},{"lineNumber":2799,"author":{"gitId":"-"},"content":" \"version\": \"3.0.3\","},{"lineNumber":2800,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\","},{"lineNumber":2801,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ\u003d\u003d\","},{"lineNumber":2802,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2803,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2804,"author":{"gitId":"-"},"content":" \"is-stream\": {"},{"lineNumber":2805,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":2806,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz\","},{"lineNumber":2807,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg\u003d\u003d\","},{"lineNumber":2808,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2809,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2810,"author":{"gitId":"-"},"content":" \"is-typedarray\": {"},{"lineNumber":2811,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":2812,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\","},{"lineNumber":2813,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA\u003d\u003d\","},{"lineNumber":2814,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2815,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2816,"author":{"gitId":"-"},"content":" \"is-unicode-supported\": {"},{"lineNumber":2817,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\","},{"lineNumber":2818,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz\","},{"lineNumber":2819,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw\u003d\u003d\","},{"lineNumber":2820,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2821,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2822,"author":{"gitId":"-"},"content":" \"isexe\": {"},{"lineNumber":2823,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2824,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\","},{"lineNumber":2825,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw\u003d\u003d\","},{"lineNumber":2826,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2827,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2828,"author":{"gitId":"-"},"content":" \"isstream\": {"},{"lineNumber":2829,"author":{"gitId":"-"},"content":" \"version\": \"0.1.2\","},{"lineNumber":2830,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz\","},{"lineNumber":2831,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g\u003d\u003d\","},{"lineNumber":2832,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2833,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2834,"author":{"gitId":"-"},"content":" \"jsbn\": {"},{"lineNumber":2835,"author":{"gitId":"-"},"content":" \"version\": \"0.1.1\","},{"lineNumber":2836,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz\","},{"lineNumber":2837,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg\u003d\u003d\","},{"lineNumber":2838,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2839,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2840,"author":{"gitId":"-"},"content":" \"json-schema\": {"},{"lineNumber":2841,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\","},{"lineNumber":2842,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz\","},{"lineNumber":2843,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA\u003d\u003d\","},{"lineNumber":2844,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2845,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2846,"author":{"gitId":"-"},"content":" \"json-stringify-safe\": {"},{"lineNumber":2847,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\","},{"lineNumber":2848,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz\","},{"lineNumber":2849,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA\u003d\u003d\","},{"lineNumber":2850,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2851,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2852,"author":{"gitId":"-"},"content":" \"jsonfile\": {"},{"lineNumber":2853,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\","},{"lineNumber":2854,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz\","},{"lineNumber":2855,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ\u003d\u003d\","},{"lineNumber":2856,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2857,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2858,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.1.6\","},{"lineNumber":2859,"author":{"gitId":"-"},"content":" \"universalify\": \"^2.0.0\""},{"lineNumber":2860,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2861,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2862,"author":{"gitId":"-"},"content":" \"universalify\": {"},{"lineNumber":2863,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2864,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\","},{"lineNumber":2865,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\","},{"lineNumber":2866,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2867,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2868,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2869,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2870,"author":{"gitId":"-"},"content":" \"jsprim\": {"},{"lineNumber":2871,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\","},{"lineNumber":2872,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz\","},{"lineNumber":2873,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ\u003d\u003d\","},{"lineNumber":2874,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2875,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2876,"author":{"gitId":"-"},"content":" \"assert-plus\": \"1.0.0\","},{"lineNumber":2877,"author":{"gitId":"-"},"content":" \"extsprintf\": \"1.3.0\","},{"lineNumber":2878,"author":{"gitId":"-"},"content":" \"json-schema\": \"0.4.0\","},{"lineNumber":2879,"author":{"gitId":"-"},"content":" \"verror\": \"1.10.0\""},{"lineNumber":2880,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2881,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2882,"author":{"gitId":"-"},"content":" \"lazy-ass\": {"},{"lineNumber":2883,"author":{"gitId":"-"},"content":" \"version\": \"1.6.0\","},{"lineNumber":2884,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz\","},{"lineNumber":2885,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw\u003d\u003d\","},{"lineNumber":2886,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2887,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2888,"author":{"gitId":"-"},"content":" \"listr2\": {"},{"lineNumber":2889,"author":{"gitId":"-"},"content":" \"version\": \"3.14.0\","},{"lineNumber":2890,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz\","},{"lineNumber":2891,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g\u003d\u003d\","},{"lineNumber":2892,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2893,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2894,"author":{"gitId":"-"},"content":" \"cli-truncate\": \"^2.1.0\","},{"lineNumber":2895,"author":{"gitId":"-"},"content":" \"colorette\": \"^2.0.16\","},{"lineNumber":2896,"author":{"gitId":"-"},"content":" \"log-update\": \"^4.0.0\","},{"lineNumber":2897,"author":{"gitId":"-"},"content":" \"p-map\": \"^4.0.0\","},{"lineNumber":2898,"author":{"gitId":"-"},"content":" \"rfdc\": \"^1.3.0\","},{"lineNumber":2899,"author":{"gitId":"-"},"content":" \"rxjs\": \"^7.5.1\","},{"lineNumber":2900,"author":{"gitId":"-"},"content":" \"through\": \"^2.3.8\","},{"lineNumber":2901,"author":{"gitId":"-"},"content":" \"wrap-ansi\": \"^7.0.0\""},{"lineNumber":2902,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2903,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2904,"author":{"gitId":"-"},"content":" \"lodash\": {"},{"lineNumber":2905,"author":{"gitId":"-"},"content":" \"version\": \"4.17.21\","},{"lineNumber":2906,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\","},{"lineNumber":2907,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg\u003d\u003d\","},{"lineNumber":2908,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2909,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2910,"author":{"gitId":"-"},"content":" \"lodash.once\": {"},{"lineNumber":2911,"author":{"gitId":"-"},"content":" \"version\": \"4.1.1\","},{"lineNumber":2912,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz\","},{"lineNumber":2913,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg\u003d\u003d\","},{"lineNumber":2914,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2915,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2916,"author":{"gitId":"-"},"content":" \"log-symbols\": {"},{"lineNumber":2917,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":2918,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz\","},{"lineNumber":2919,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg\u003d\u003d\","},{"lineNumber":2920,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2921,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2922,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":2923,"author":{"gitId":"-"},"content":" \"is-unicode-supported\": \"^0.1.0\""},{"lineNumber":2924,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2925,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2926,"author":{"gitId":"-"},"content":" \"log-update\": {"},{"lineNumber":2927,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2928,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz\","},{"lineNumber":2929,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg\u003d\u003d\","},{"lineNumber":2930,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2931,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2932,"author":{"gitId":"-"},"content":" \"ansi-escapes\": \"^4.3.0\","},{"lineNumber":2933,"author":{"gitId":"-"},"content":" \"cli-cursor\": \"^3.1.0\","},{"lineNumber":2934,"author":{"gitId":"-"},"content":" \"slice-ansi\": \"^4.0.0\","},{"lineNumber":2935,"author":{"gitId":"-"},"content":" \"wrap-ansi\": \"^6.2.0\""},{"lineNumber":2936,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2937,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2938,"author":{"gitId":"-"},"content":" \"slice-ansi\": {"},{"lineNumber":2939,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2940,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz\","},{"lineNumber":2941,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ\u003d\u003d\","},{"lineNumber":2942,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2943,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2944,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":2945,"author":{"gitId":"-"},"content":" \"astral-regex\": \"^2.0.0\","},{"lineNumber":2946,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\""},{"lineNumber":2947,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2948,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2949,"author":{"gitId":"-"},"content":" \"wrap-ansi\": {"},{"lineNumber":2950,"author":{"gitId":"-"},"content":" \"version\": \"6.2.0\","},{"lineNumber":2951,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz\","},{"lineNumber":2952,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA\u003d\u003d\","},{"lineNumber":2953,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2954,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2955,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":2956,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.1.0\","},{"lineNumber":2957,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\""},{"lineNumber":2958,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2959,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2960,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2961,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2962,"author":{"gitId":"-"},"content":" \"lru-cache\": {"},{"lineNumber":2963,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":2964,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\","},{"lineNumber":2965,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\","},{"lineNumber":2966,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2967,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2968,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":2969,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2970,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2971,"author":{"gitId":"-"},"content":" \"merge-stream\": {"},{"lineNumber":2972,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2973,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\","},{"lineNumber":2974,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w\u003d\u003d\","},{"lineNumber":2975,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2976,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2977,"author":{"gitId":"-"},"content":" \"mime-db\": {"},{"lineNumber":2978,"author":{"gitId":"-"},"content":" \"version\": \"1.52.0\","},{"lineNumber":2979,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz\","},{"lineNumber":2980,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg\u003d\u003d\","},{"lineNumber":2981,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2982,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2983,"author":{"gitId":"-"},"content":" \"mime-types\": {"},{"lineNumber":2984,"author":{"gitId":"-"},"content":" \"version\": \"2.1.35\","},{"lineNumber":2985,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz\","},{"lineNumber":2986,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw\u003d\u003d\","},{"lineNumber":2987,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2988,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2989,"author":{"gitId":"-"},"content":" \"mime-db\": \"1.52.0\""},{"lineNumber":2990,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2991,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2992,"author":{"gitId":"-"},"content":" \"mimic-fn\": {"},{"lineNumber":2993,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":2994,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz\","},{"lineNumber":2995,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg\u003d\u003d\","},{"lineNumber":2996,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2997,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2998,"author":{"gitId":"-"},"content":" \"minimatch\": {"},{"lineNumber":2999,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":3000,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\","},{"lineNumber":3001,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw\u003d\u003d\","},{"lineNumber":3002,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3003,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3004,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":3005,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3006,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3007,"author":{"gitId":"-"},"content":" \"minimist\": {"},{"lineNumber":3008,"author":{"gitId":"-"},"content":" \"version\": \"1.2.8\","},{"lineNumber":3009,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\","},{"lineNumber":3010,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA\u003d\u003d\","},{"lineNumber":3011,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3012,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3013,"author":{"gitId":"-"},"content":" \"ms\": {"},{"lineNumber":3014,"author":{"gitId":"-"},"content":" \"version\": \"2.1.3\","},{"lineNumber":3015,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\","},{"lineNumber":3016,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA\u003d\u003d\","},{"lineNumber":3017,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3018,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3019,"author":{"gitId":"-"},"content":" \"npm-run-path\": {"},{"lineNumber":3020,"author":{"gitId":"-"},"content":" \"version\": \"4.0.1\","},{"lineNumber":3021,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz\","},{"lineNumber":3022,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw\u003d\u003d\","},{"lineNumber":3023,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3024,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3025,"author":{"gitId":"-"},"content":" \"path-key\": \"^3.0.0\""},{"lineNumber":3026,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3027,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3028,"author":{"gitId":"-"},"content":" \"object-inspect\": {"},{"lineNumber":3029,"author":{"gitId":"-"},"content":" \"version\": \"1.12.3\","},{"lineNumber":3030,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz\","},{"lineNumber":3031,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g\u003d\u003d\","},{"lineNumber":3032,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3033,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3034,"author":{"gitId":"-"},"content":" \"once\": {"},{"lineNumber":3035,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":3036,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\","},{"lineNumber":3037,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w\u003d\u003d\","},{"lineNumber":3038,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3039,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3040,"author":{"gitId":"-"},"content":" \"wrappy\": \"1\""},{"lineNumber":3041,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3042,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3043,"author":{"gitId":"-"},"content":" \"onetime\": {"},{"lineNumber":3044,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\","},{"lineNumber":3045,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz\","},{"lineNumber":3046,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg\u003d\u003d\","},{"lineNumber":3047,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3048,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3049,"author":{"gitId":"-"},"content":" \"mimic-fn\": \"^2.1.0\""},{"lineNumber":3050,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3051,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3052,"author":{"gitId":"-"},"content":" \"ospath\": {"},{"lineNumber":3053,"author":{"gitId":"-"},"content":" \"version\": \"1.2.2\","},{"lineNumber":3054,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz\","},{"lineNumber":3055,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA\u003d\u003d\","},{"lineNumber":3056,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3057,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3058,"author":{"gitId":"-"},"content":" \"p-map\": {"},{"lineNumber":3059,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":3060,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz\","},{"lineNumber":3061,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ\u003d\u003d\","},{"lineNumber":3062,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3063,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3064,"author":{"gitId":"-"},"content":" \"aggregate-error\": \"^3.0.0\""},{"lineNumber":3065,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3066,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3067,"author":{"gitId":"-"},"content":" \"path-is-absolute\": {"},{"lineNumber":3068,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":3069,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\","},{"lineNumber":3070,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg\u003d\u003d\","},{"lineNumber":3071,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3072,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3073,"author":{"gitId":"-"},"content":" \"path-key\": {"},{"lineNumber":3074,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":3075,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\","},{"lineNumber":3076,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q\u003d\u003d\","},{"lineNumber":3077,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3078,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3079,"author":{"gitId":"-"},"content":" \"pend\": {"},{"lineNumber":3080,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":3081,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pend/-/pend-1.2.0.tgz\","},{"lineNumber":3082,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg\u003d\u003d\","},{"lineNumber":3083,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3084,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3085,"author":{"gitId":"-"},"content":" \"performance-now\": {"},{"lineNumber":3086,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":3087,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\","},{"lineNumber":3088,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow\u003d\u003d\","},{"lineNumber":3089,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3090,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3091,"author":{"gitId":"-"},"content":" \"pify\": {"},{"lineNumber":3092,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":3093,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz\","},{"lineNumber":3094,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog\u003d\u003d\","},{"lineNumber":3095,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3096,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3097,"author":{"gitId":"-"},"content":" \"pretty-bytes\": {"},{"lineNumber":3098,"author":{"gitId":"-"},"content":" \"version\": \"5.6.0\","},{"lineNumber":3099,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz\","},{"lineNumber":3100,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg\u003d\u003d\","},{"lineNumber":3101,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3102,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3103,"author":{"gitId":"-"},"content":" \"process\": {"},{"lineNumber":3104,"author":{"gitId":"-"},"content":" \"version\": \"0.11.10\","},{"lineNumber":3105,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/process/-/process-0.11.10.tgz\","},{"lineNumber":3106,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A\u003d\u003d\","},{"lineNumber":3107,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3108,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3109,"author":{"gitId":"-"},"content":" \"proxy-from-env\": {"},{"lineNumber":3110,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":3111,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz\","},{"lineNumber":3112,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A\u003d\u003d\","},{"lineNumber":3113,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3114,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3115,"author":{"gitId":"-"},"content":" \"psl\": {"},{"lineNumber":3116,"author":{"gitId":"-"},"content":" \"version\": \"1.9.0\","},{"lineNumber":3117,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.9.0.tgz\","},{"lineNumber":3118,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag\u003d\u003d\","},{"lineNumber":3119,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3120,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3121,"author":{"gitId":"-"},"content":" \"pump\": {"},{"lineNumber":3122,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":3123,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pump/-/pump-3.0.0.tgz\","},{"lineNumber":3124,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww\u003d\u003d\","},{"lineNumber":3125,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3126,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3127,"author":{"gitId":"-"},"content":" \"end-of-stream\": \"^1.1.0\","},{"lineNumber":3128,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.1\""},{"lineNumber":3129,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3130,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3131,"author":{"gitId":"-"},"content":" \"punycode\": {"},{"lineNumber":3132,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":3133,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz\","},{"lineNumber":3134,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA\u003d\u003d\","},{"lineNumber":3135,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3136,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3137,"author":{"gitId":"-"},"content":" \"qs\": {"},{"lineNumber":3138,"author":{"gitId":"-"},"content":" \"version\": \"6.10.4\","},{"lineNumber":3139,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.10.4.tgz\","},{"lineNumber":3140,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g\u003d\u003d\","},{"lineNumber":3141,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3142,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3143,"author":{"gitId":"-"},"content":" \"side-channel\": \"^1.0.4\""},{"lineNumber":3144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3145,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3146,"author":{"gitId":"-"},"content":" \"querystringify\": {"},{"lineNumber":3147,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":3148,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz\","},{"lineNumber":3149,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ\u003d\u003d\","},{"lineNumber":3150,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3151,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3152,"author":{"gitId":"-"},"content":" \"request-progress\": {"},{"lineNumber":3153,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":3154,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz\","},{"lineNumber":3155,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg\u003d\u003d\","},{"lineNumber":3156,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3157,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3158,"author":{"gitId":"-"},"content":" \"throttleit\": \"^1.0.0\""},{"lineNumber":3159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3161,"author":{"gitId":"-"},"content":" \"requires-port\": {"},{"lineNumber":3162,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":3163,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz\","},{"lineNumber":3164,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ\u003d\u003d\","},{"lineNumber":3165,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3166,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3167,"author":{"gitId":"-"},"content":" \"restore-cursor\": {"},{"lineNumber":3168,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":3169,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz\","},{"lineNumber":3170,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA\u003d\u003d\","},{"lineNumber":3171,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3172,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3173,"author":{"gitId":"-"},"content":" \"onetime\": \"^5.1.0\","},{"lineNumber":3174,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.2\""},{"lineNumber":3175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3176,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3177,"author":{"gitId":"-"},"content":" \"rfdc\": {"},{"lineNumber":3178,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\","},{"lineNumber":3179,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz\","},{"lineNumber":3180,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA\u003d\u003d\","},{"lineNumber":3181,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3182,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3183,"author":{"gitId":"-"},"content":" \"rimraf\": {"},{"lineNumber":3184,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\","},{"lineNumber":3185,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\","},{"lineNumber":3186,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA\u003d\u003d\","},{"lineNumber":3187,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3188,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3189,"author":{"gitId":"-"},"content":" \"glob\": \"^7.1.3\""},{"lineNumber":3190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3191,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3192,"author":{"gitId":"-"},"content":" \"rxjs\": {"},{"lineNumber":3193,"author":{"gitId":"-"},"content":" \"version\": \"7.8.1\","},{"lineNumber":3194,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz\","},{"lineNumber":3195,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg\u003d\u003d\","},{"lineNumber":3196,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3197,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3198,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.1.0\""},{"lineNumber":3199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3200,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3201,"author":{"gitId":"-"},"content":" \"safe-buffer\": {"},{"lineNumber":3202,"author":{"gitId":"-"},"content":" \"version\": \"5.2.1\","},{"lineNumber":3203,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz\","},{"lineNumber":3204,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ\u003d\u003d\","},{"lineNumber":3205,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3207,"author":{"gitId":"-"},"content":" \"safer-buffer\": {"},{"lineNumber":3208,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\","},{"lineNumber":3209,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\","},{"lineNumber":3210,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg\u003d\u003d\","},{"lineNumber":3211,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3212,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3213,"author":{"gitId":"-"},"content":" \"semver\": {"},{"lineNumber":3214,"author":{"gitId":"-"},"content":" \"version\": \"7.5.4\","},{"lineNumber":3215,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.5.4.tgz\","},{"lineNumber":3216,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA\u003d\u003d\","},{"lineNumber":3217,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3218,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3219,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":3220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3221,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3222,"author":{"gitId":"-"},"content":" \"shebang-command\": {"},{"lineNumber":3223,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":3224,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\","},{"lineNumber":3225,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA\u003d\u003d\","},{"lineNumber":3226,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3227,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3228,"author":{"gitId":"-"},"content":" \"shebang-regex\": \"^3.0.0\""},{"lineNumber":3229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3230,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3231,"author":{"gitId":"-"},"content":" \"shebang-regex\": {"},{"lineNumber":3232,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":3233,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\","},{"lineNumber":3234,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A\u003d\u003d\","},{"lineNumber":3235,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3236,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3237,"author":{"gitId":"-"},"content":" \"side-channel\": {"},{"lineNumber":3238,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":3239,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz\","},{"lineNumber":3240,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw\u003d\u003d\","},{"lineNumber":3241,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3242,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3243,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.0\","},{"lineNumber":3244,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.0.2\","},{"lineNumber":3245,"author":{"gitId":"-"},"content":" \"object-inspect\": \"^1.9.0\""},{"lineNumber":3246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3247,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3248,"author":{"gitId":"-"},"content":" \"signal-exit\": {"},{"lineNumber":3249,"author":{"gitId":"-"},"content":" \"version\": \"3.0.7\","},{"lineNumber":3250,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz\","},{"lineNumber":3251,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ\u003d\u003d\","},{"lineNumber":3252,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3253,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3254,"author":{"gitId":"-"},"content":" \"slice-ansi\": {"},{"lineNumber":3255,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":3256,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz\","},{"lineNumber":3257,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ\u003d\u003d\","},{"lineNumber":3258,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3259,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3260,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":3261,"author":{"gitId":"-"},"content":" \"astral-regex\": \"^2.0.0\","},{"lineNumber":3262,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\""},{"lineNumber":3263,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3264,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3265,"author":{"gitId":"-"},"content":" \"sshpk\": {"},{"lineNumber":3266,"author":{"gitId":"-"},"content":" \"version\": \"1.17.0\","},{"lineNumber":3267,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz\","},{"lineNumber":3268,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ\u003d\u003d\","},{"lineNumber":3269,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3270,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3271,"author":{"gitId":"-"},"content":" \"asn1\": \"~0.2.3\","},{"lineNumber":3272,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\","},{"lineNumber":3273,"author":{"gitId":"-"},"content":" \"bcrypt-pbkdf\": \"^1.0.0\","},{"lineNumber":3274,"author":{"gitId":"-"},"content":" \"dashdash\": \"^1.12.0\","},{"lineNumber":3275,"author":{"gitId":"-"},"content":" \"ecc-jsbn\": \"~0.1.1\","},{"lineNumber":3276,"author":{"gitId":"-"},"content":" \"getpass\": \"^0.1.1\","},{"lineNumber":3277,"author":{"gitId":"-"},"content":" \"jsbn\": \"~0.1.0\","},{"lineNumber":3278,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"^2.0.2\","},{"lineNumber":3279,"author":{"gitId":"-"},"content":" \"tweetnacl\": \"~0.14.0\""},{"lineNumber":3280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3281,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3282,"author":{"gitId":"-"},"content":" \"string-width\": {"},{"lineNumber":3283,"author":{"gitId":"-"},"content":" \"version\": \"4.2.3\","},{"lineNumber":3284,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\","},{"lineNumber":3285,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g\u003d\u003d\","},{"lineNumber":3286,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3287,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3288,"author":{"gitId":"-"},"content":" \"emoji-regex\": \"^8.0.0\","},{"lineNumber":3289,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\","},{"lineNumber":3290,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":3291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3292,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3293,"author":{"gitId":"-"},"content":" \"strip-ansi\": {"},{"lineNumber":3294,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\","},{"lineNumber":3295,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\","},{"lineNumber":3296,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A\u003d\u003d\","},{"lineNumber":3297,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3298,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3299,"author":{"gitId":"-"},"content":" \"ansi-regex\": \"^5.0.1\""},{"lineNumber":3300,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3301,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3302,"author":{"gitId":"-"},"content":" \"strip-final-newline\": {"},{"lineNumber":3303,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":3304,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz\","},{"lineNumber":3305,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA\u003d\u003d\","},{"lineNumber":3306,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3307,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3308,"author":{"gitId":"-"},"content":" \"supports-color\": {"},{"lineNumber":3309,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\","},{"lineNumber":3310,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\","},{"lineNumber":3311,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q\u003d\u003d\","},{"lineNumber":3312,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3313,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3314,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":3315,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3316,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3317,"author":{"gitId":"-"},"content":" \"throttleit\": {"},{"lineNumber":3318,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":3319,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz\","},{"lineNumber":3320,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g\u003d\u003d\","},{"lineNumber":3321,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3322,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3323,"author":{"gitId":"-"},"content":" \"through\": {"},{"lineNumber":3324,"author":{"gitId":"-"},"content":" \"version\": \"2.3.8\","},{"lineNumber":3325,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/through/-/through-2.3.8.tgz\","},{"lineNumber":3326,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg\u003d\u003d\","},{"lineNumber":3327,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3328,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3329,"author":{"gitId":"-"},"content":" \"tmp\": {"},{"lineNumber":3330,"author":{"gitId":"-"},"content":" \"version\": \"0.2.1\","},{"lineNumber":3331,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz\","},{"lineNumber":3332,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ\u003d\u003d\","},{"lineNumber":3333,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3334,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3335,"author":{"gitId":"-"},"content":" \"rimraf\": \"^3.0.0\""},{"lineNumber":3336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3337,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3338,"author":{"gitId":"-"},"content":" \"tough-cookie\": {"},{"lineNumber":3339,"author":{"gitId":"-"},"content":" \"version\": \"4.1.3\","},{"lineNumber":3340,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz\","},{"lineNumber":3341,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw\u003d\u003d\","},{"lineNumber":3342,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3343,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3344,"author":{"gitId":"-"},"content":" \"psl\": \"^1.1.33\","},{"lineNumber":3345,"author":{"gitId":"-"},"content":" \"punycode\": \"^2.1.1\","},{"lineNumber":3346,"author":{"gitId":"-"},"content":" \"universalify\": \"^0.2.0\","},{"lineNumber":3347,"author":{"gitId":"-"},"content":" \"url-parse\": \"^1.5.3\""},{"lineNumber":3348,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3349,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3350,"author":{"gitId":"-"},"content":" \"tslib\": {"},{"lineNumber":3351,"author":{"gitId":"-"},"content":" \"version\": \"2.6.2\","},{"lineNumber":3352,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz\","},{"lineNumber":3353,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q\u003d\u003d\","},{"lineNumber":3354,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3355,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3356,"author":{"gitId":"-"},"content":" \"tunnel-agent\": {"},{"lineNumber":3357,"author":{"gitId":"-"},"content":" \"version\": \"0.6.0\","},{"lineNumber":3358,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz\","},{"lineNumber":3359,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w\u003d\u003d\","},{"lineNumber":3360,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3361,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3362,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"^5.0.1\""},{"lineNumber":3363,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3364,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3365,"author":{"gitId":"-"},"content":" \"tweetnacl\": {"},{"lineNumber":3366,"author":{"gitId":"-"},"content":" \"version\": \"0.14.5\","},{"lineNumber":3367,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz\","},{"lineNumber":3368,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA\u003d\u003d\","},{"lineNumber":3369,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3370,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3371,"author":{"gitId":"-"},"content":" \"type-fest\": {"},{"lineNumber":3372,"author":{"gitId":"-"},"content":" \"version\": \"0.21.3\","},{"lineNumber":3373,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz\","},{"lineNumber":3374,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w\u003d\u003d\","},{"lineNumber":3375,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3376,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3377,"author":{"gitId":"-"},"content":" \"universalify\": {"},{"lineNumber":3378,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\","},{"lineNumber":3379,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz\","},{"lineNumber":3380,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg\u003d\u003d\","},{"lineNumber":3381,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3382,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3383,"author":{"gitId":"-"},"content":" \"untildify\": {"},{"lineNumber":3384,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":3385,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz\","},{"lineNumber":3386,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw\u003d\u003d\","},{"lineNumber":3387,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3388,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3389,"author":{"gitId":"-"},"content":" \"url-parse\": {"},{"lineNumber":3390,"author":{"gitId":"-"},"content":" \"version\": \"1.5.10\","},{"lineNumber":3391,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz\","},{"lineNumber":3392,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ\u003d\u003d\","},{"lineNumber":3393,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3394,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3395,"author":{"gitId":"-"},"content":" \"querystringify\": \"^2.1.1\","},{"lineNumber":3396,"author":{"gitId":"-"},"content":" \"requires-port\": \"^1.0.0\""},{"lineNumber":3397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3398,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3399,"author":{"gitId":"-"},"content":" \"uuid\": {"},{"lineNumber":3400,"author":{"gitId":"-"},"content":" \"version\": \"8.3.2\","},{"lineNumber":3401,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz\","},{"lineNumber":3402,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg\u003d\u003d\","},{"lineNumber":3403,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3404,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3405,"author":{"gitId":"-"},"content":" \"verror\": {"},{"lineNumber":3406,"author":{"gitId":"-"},"content":" \"version\": \"1.10.0\","},{"lineNumber":3407,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz\","},{"lineNumber":3408,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw\u003d\u003d\","},{"lineNumber":3409,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3410,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3411,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\","},{"lineNumber":3412,"author":{"gitId":"-"},"content":" \"core-util-is\": \"1.0.2\","},{"lineNumber":3413,"author":{"gitId":"-"},"content":" \"extsprintf\": \"^1.2.0\""},{"lineNumber":3414,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3415,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3416,"author":{"gitId":"-"},"content":" \"which\": {"},{"lineNumber":3417,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\","},{"lineNumber":3418,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\","},{"lineNumber":3419,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA\u003d\u003d\","},{"lineNumber":3420,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3421,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3422,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\""},{"lineNumber":3423,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3424,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3425,"author":{"gitId":"-"},"content":" \"wrap-ansi\": {"},{"lineNumber":3426,"author":{"gitId":"-"},"content":" \"version\": \"7.0.0\","},{"lineNumber":3427,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\","},{"lineNumber":3428,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q\u003d\u003d\","},{"lineNumber":3429,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3430,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3431,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":3432,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.1.0\","},{"lineNumber":3433,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\""},{"lineNumber":3434,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3435,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3436,"author":{"gitId":"-"},"content":" \"wrappy\": {"},{"lineNumber":3437,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":3438,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\","},{"lineNumber":3439,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ\u003d\u003d\","},{"lineNumber":3440,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3441,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3442,"author":{"gitId":"-"},"content":" \"yallist\": {"},{"lineNumber":3443,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":3444,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\","},{"lineNumber":3445,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\","},{"lineNumber":3446,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3447,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3448,"author":{"gitId":"-"},"content":" \"yauzl\": {"},{"lineNumber":3449,"author":{"gitId":"-"},"content":" \"version\": \"2.10.0\","},{"lineNumber":3450,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz\","},{"lineNumber":3451,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g\u003d\u003d\","},{"lineNumber":3452,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3453,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3454,"author":{"gitId":"-"},"content":" \"buffer-crc32\": \"~0.2.3\","},{"lineNumber":3455,"author":{"gitId":"-"},"content":" \"fd-slicer\": \"~1.1.0\""},{"lineNumber":3456,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3457,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3458,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3459,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"sopa301":1987,"-":1472}},{"path":"frontend/cypress/package.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"scripts\": {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"tests\": \"cypress run --browser chrome\","},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"ci\": \"cypress run --env ci\u003dtrue --browser chrome\","},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"debug\": \"cypress open\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"devDependencies\": {"},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" \"cypress\": \"^13.6.4\""},{"lineNumber":9,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"sopa301":1,"-":9}},{"path":"frontend/cypress/support.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"// Disable screenshots"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"// https://docs.cypress.io/api/cypress-api/screenshot-api.html#Disable-screenshots-on-run-failures"},{"lineNumber":4,"author":{"gitId":"-"},"content":"Cypress.Screenshot.defaults({"},{"lineNumber":5,"author":{"gitId":"-"},"content":" screenshotOnRunFailure: false,"},{"lineNumber":6,"author":{"gitId":"-"},"content":"});"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"beforeEach(() \u003d\u003e {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.visit(\u0027/\u0027);"},{"lineNumber":10,"author":{"gitId":"sopa301"},"content":" cy.intercept({"},{"lineNumber":11,"author":{"gitId":"sopa301"},"content":" method: \u0027GET\u0027,"},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" url: \u0027/title.md\u0027,"},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" }, \u0027# RepoSense Intro\u0027).as(\u0027getTitleMd\u0027);"},{"lineNumber":14,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"sopa301":4,"-":10}},{"path":"frontend/cypress/tests/chartView/chartView_errorSummary_messageBox.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027error summary\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027shows list of issues encountered while analyzing repos\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box\u0027)"},{"lineNumber":4,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper \u003e #summary \u003e .error-message-box \u003e .error-message-box__message\u0027).then(($ele) \u003d\u003e {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" const expected \u003d \u0027The following issues occurred when analyzing the following repositories:\u0027;"},{"lineNumber":8,"author":{"gitId":"-"},"content":" const message \u003d $ele.text();"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":" expect(expected).to.equal(message);"},{"lineNumber":11,"author":{"gitId":"-"},"content":" });"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box__failed-repo--name\u0027)"},{"lineNumber":14,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box__failed-repo--reason\u0027)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":18,"author":{"gitId":"-"},"content":" });"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" it(\u0027can be closed\u0027, () \u003d\u003e {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box\u0027)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper \u003e #summary \u003e .error-message-box \u003e .error-message-box__close-button\u0027)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box\u0027)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" });"},{"lineNumber":30,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" it(\u0027can be expanded and collapsed if count \u003e 4\u0027, () \u003d\u003e {"},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)"},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.error-message-box__failed-repo\u0027)"},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 4);"},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box__show-more-container \u003e a\u0027)"},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)"},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.error-message-box__failed-repo\u0027)"},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 5);"},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box__show-more-container \u003e a\u0027)"},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)"},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.error-message-box__failed-repo\u0027)"},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 4);"},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":50,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":30,"jonasongg":20}},{"path":"frontend/cypress/tests/chartView/chartView_toolBar_searchBox.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027search bar\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027non-existent author shows no result\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":5,"author":{"gitId":"-"},"content":" .type(\u0027abcdef\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":9,"author":{"gitId":"-"},"content":" .submit();"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027).then(($ele) \u003d\u003e {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" const content \u003d $ele.html();"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" expect(content).to.be.empty;"},{"lineNumber":15,"author":{"gitId":"-"},"content":" });"},{"lineNumber":16,"author":{"gitId":"-"},"content":" });"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" it(\u0027unique author shows one result\u0027, () \u003d\u003e {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .type(\u0027Yong Hao TENG\u0027)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" .submit();"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027).then(($ele) \u003d\u003e {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" const children \u003d $ele.children().length;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" expect(children).to.equal(1);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" });"},{"lineNumber":31,"author":{"gitId":"-"},"content":" });"},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" it(\u0027searching by non-existent tag shows no results\u0027, () \u003d\u003e {"},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: asdfghjkl\u0027)"},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" .submit();"},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027)"},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.empty\u0027);"},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" it(\"searching tag that only exists in one author\u0027s commits shows one result\", () \u003d\u003e {"},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: v1.8\u0027)"},{"lineNumber":50,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":51,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":53,"author":{"gitId":"jonasongg"},"content":" .submit();"},{"lineNumber":54,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart__title--name\u0027)"},{"lineNumber":56,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 1)"},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027Eugene (eugenepeh)\u0027);"},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":59,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":61,"author":{"gitId":"jonasongg"},"content":" .first()"},{"lineNumber":62,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":63,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":64,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)"},{"lineNumber":65,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027v1.8\u0027);"},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":67,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":68,"author":{"gitId":"jonasongg"},"content":" it(\"searching tag that only exists in two authors\u0027 commits shows two results\", () \u003d\u003e {"},{"lineNumber":69,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":70,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: v1.10\u0027)"},{"lineNumber":72,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":73,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":74,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":75,"author":{"gitId":"jonasongg"},"content":" .submit();"},{"lineNumber":76,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":77,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart__title--name\u0027)"},{"lineNumber":78,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 2)"},{"lineNumber":79,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027Eugene (eugenepeh)\u0027)"},{"lineNumber":80,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027James (jamessspanggg)\u0027);"},{"lineNumber":81,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":82,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":83,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":84,"author":{"gitId":"jonasongg"},"content":" .each(($ele) \u003d\u003e {"},{"lineNumber":85,"author":{"gitId":"jonasongg"},"content":" cy.wrap($ele).click();"},{"lineNumber":86,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)"},{"lineNumber":87,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027v1.10\u0027);"},{"lineNumber":88,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":89,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":90,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":91,"author":{"gitId":"jonasongg"},"content":" it(\"search field doesn\u0027t start with \u0027tag:\u0027 prefix but still contains it shows no results\", () \u003d\u003e {"},{"lineNumber":92,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":93,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":94,"author":{"gitId":"jonasongg"},"content":" .type(\u0027v1.10 tag: v1.10\u0027)"},{"lineNumber":95,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":96,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":97,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":98,"author":{"gitId":"jonasongg"},"content":" .submit();"},{"lineNumber":99,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":100,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027)"},{"lineNumber":101,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.empty\u0027);"},{"lineNumber":102,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":103,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":104,"author":{"gitId":"jonasongg"},"content":" it(\"search field doesn\u0027t contain \u0027tag:\u0027 at all shows no results\", () \u003d\u003e {"},{"lineNumber":105,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":106,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":107,"author":{"gitId":"jonasongg"},"content":" .type(\u0027v1.10\u0027)"},{"lineNumber":108,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":109,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":110,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":111,"author":{"gitId":"jonasongg"},"content":" .submit();"},{"lineNumber":112,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":113,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027)"},{"lineNumber":114,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.empty\u0027);"},{"lineNumber":115,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":116,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":117,"author":{"gitId":"jonasongg"},"content":" it(\u0027searching for multiple tags shows results containing all the tags searched\u0027, () \u003d\u003e {"},{"lineNumber":118,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":119,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":120,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: bb v1.10\u0027)"},{"lineNumber":121,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":122,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":123,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":124,"author":{"gitId":"jonasongg"},"content":" .submit();"},{"lineNumber":125,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":126,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart__title--name\u0027)"},{"lineNumber":127,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 2)"},{"lineNumber":128,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027Eugene (eugenepeh)\u0027)"},{"lineNumber":129,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027James (jamessspanggg)\u0027);"},{"lineNumber":130,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":131,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":132,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":133,"author":{"gitId":"jonasongg"},"content":" .first()"},{"lineNumber":134,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":135,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":136,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)"},{"lineNumber":137,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027bb\u0027);"},{"lineNumber":138,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":139,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":140,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":141,"author":{"gitId":"jonasongg"},"content":" .eq(1)"},{"lineNumber":142,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":143,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":144,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)"},{"lineNumber":145,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027v1.10\u0027);"},{"lineNumber":146,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":147,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":32,"jonasongg":115}},{"path":"frontend/cypress/tests/chartView/chartView_zoomFeature.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"const extractDate \u003d (str) \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" const regex \u003d /\\[(.*?)\\]/g;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" const matches \u003d str.match(regex);"},{"lineNumber":4,"author":{"gitId":"-"},"content":" return new Date(matches[0].slice(1, -1));"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"describe(\u0027zoom features in code view\u0027, () \u003d\u003e {"},{"lineNumber":8,"author":{"gitId":"-"},"content":" const zoomKey \u003d Cypress.platform \u003d\u003d\u003d \u0027darwin\u0027 ? \u0027{meta}\u0027 : \u0027{ctrl}\u0027;"},{"lineNumber":9,"author":{"gitId":"-"},"content":" it(\u0027click on view commits button\u0027, () \u003d\u003e {"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":12,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":13,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":16,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":17,"author":{"gitId":"-"},"content":" });"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" it(\u0027zoom into ramp\u0027, () \u003d\u003e {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" // clicking from the 10th px to the 50th px in the ramp"},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)"},{"lineNumber":23,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":24,"author":{"gitId":"-"},"content":" .click(10, 20)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" .click(50, 20);"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" });"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" it(\u0027zoom into ramp when merge group\u0027, () \u003d\u003e {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)"},{"lineNumber":33,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":34,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":35,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" // clicking from the 10th px to the 50th px in the ramp"},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)"},{"lineNumber":40,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .click(10, 20)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .click(50, 20);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" });"},{"lineNumber":47,"author":{"gitId":"-"},"content":"});"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":"// Assumptions: Contributer \u0027eugenepeh\u0027 is the first result."},{"lineNumber":50,"author":{"gitId":"-"},"content":"describe(\u0027date changes in chart view should reflect in zoom\u0027, () \u003d\u003e {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" it(\u0027setting \\\u0027since\\\u0027 date range changes the zoom view\u0027, () \u003d\u003e {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":53,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .type(\u0027eugenepeh\u0027);"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":57,"author":{"gitId":"-"},"content":" .type(\u00272018-06-11\u0027);"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":62,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":65,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":68,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":71,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272018-06-11\u0027));"},{"lineNumber":74,"author":{"gitId":"-"},"content":" });"},{"lineNumber":75,"author":{"gitId":"-"},"content":" });"},{"lineNumber":76,"author":{"gitId":"-"},"content":" });"},{"lineNumber":77,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027yong24s\u0027 is the first result."},{"lineNumber":78,"author":{"gitId":"-"},"content":" it(\u0027setting \\\u0027since\\\u0027 date again results in a different zoom view\u0027, () \u003d\u003e {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .type(\u0027yong24s\u0027);"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":84,"author":{"gitId":"-"},"content":" .type(\u00272018-05-20\u0027);"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":87,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":89,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":97,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":98,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272018-05-20\u0027));"},{"lineNumber":101,"author":{"gitId":"-"},"content":" });"},{"lineNumber":102,"author":{"gitId":"-"},"content":" });"},{"lineNumber":103,"author":{"gitId":"-"},"content":" });"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027eugenepeh\u0027 is the first result."},{"lineNumber":106,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 date changes the zoom view\u0027, () \u003d\u003e {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":108,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":109,"author":{"gitId":"-"},"content":" .type(\u0027eugenepeh\u0027);"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":112,"author":{"gitId":"-"},"content":" .type(\u00272019-08-19\u0027);"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":115,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":116,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":117,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":120,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":126,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272019-08-19\u0027));"},{"lineNumber":129,"author":{"gitId":"-"},"content":" });"},{"lineNumber":130,"author":{"gitId":"-"},"content":" });"},{"lineNumber":131,"author":{"gitId":"-"},"content":" });"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027ongspxm\u0027 is the first result."},{"lineNumber":134,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 date again results in a different zoom view\u0027, () \u003d\u003e {"},{"lineNumber":135,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":136,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":137,"author":{"gitId":"-"},"content":" .type(\u0027ongspxm\u0027);"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":140,"author":{"gitId":"-"},"content":" .type(\u00272018-07-20\u0027);"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":143,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":144,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":145,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":151,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":153,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":154,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":156,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272018-07-20\u0027));"},{"lineNumber":157,"author":{"gitId":"-"},"content":" });"},{"lineNumber":158,"author":{"gitId":"-"},"content":" });"},{"lineNumber":159,"author":{"gitId":"-"},"content":" });"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027eugenepeh\u0027 is the first result."},{"lineNumber":162,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 and \\\u0027since\\\u0027 date changes the zoom view\u0027, () \u003d\u003e {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":165,"author":{"gitId":"-"},"content":" .type(\u0027eugenepeh\u0027);"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":168,"author":{"gitId":"-"},"content":" .type(\u00272018-08-27\u0027);"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":171,"author":{"gitId":"-"},"content":" .type(\u00272019-03-09\u0027);"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":174,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":176,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":182,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":184,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":185,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272019-03-09\u0027));"},{"lineNumber":188,"author":{"gitId":"-"},"content":" });"},{"lineNumber":189,"author":{"gitId":"-"},"content":" });"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":192,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":194,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":195,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":197,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272018-08-27\u0027));"},{"lineNumber":198,"author":{"gitId":"-"},"content":" });"},{"lineNumber":199,"author":{"gitId":"-"},"content":" });"},{"lineNumber":200,"author":{"gitId":"-"},"content":" });"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result."},{"lineNumber":203,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 and \\\u0027since\\\u0027 date again results in a different zoom view\u0027, () \u003d\u003e {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":205,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":206,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":209,"author":{"gitId":"-"},"content":" .type(\u00272019-07-22\u0027);"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":212,"author":{"gitId":"-"},"content":" .type(\u00272019-08-01\u0027);"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":215,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":216,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":217,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":220,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":224,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":225,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":226,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":228,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272019-08-01\u0027));"},{"lineNumber":229,"author":{"gitId":"-"},"content":" });"},{"lineNumber":230,"author":{"gitId":"-"},"content":" });"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":233,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":235,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":236,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":238,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272019-07-22\u0027));"},{"lineNumber":239,"author":{"gitId":"-"},"content":" });"},{"lineNumber":240,"author":{"gitId":"-"},"content":" });"},{"lineNumber":241,"author":{"gitId":"-"},"content":" });"},{"lineNumber":242,"author":{"gitId":"-"},"content":"});"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":"describe(\u0027range changes in chartview should reflect in zoom\u0027, () \u003d\u003e {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" const zoomKey \u003d Cypress.platform \u003d\u003d\u003d \u0027darwin\u0027 ? \u0027{meta}\u0027 : \u0027{ctrl}\u0027;"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,"},{"lineNumber":248,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,"},{"lineNumber":249,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected."},{"lineNumber":250,"author":{"gitId":"-"},"content":" it(\u0027selecting the initial righthand and lefthand boundary\u0027, () \u003d\u003e {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":252,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":253,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);"},{"lineNumber":254,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":255,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);"},{"lineNumber":256,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })"},{"lineNumber":258,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)"},{"lineNumber":259,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":260,"author":{"gitId":"-"},"content":" .click(120, 20)"},{"lineNumber":261,"author":{"gitId":"-"},"content":" .click(250, 20);"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":264,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":267,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":268,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":269,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2021-01-04] Update `About us` page (#1393): +55 -30 lines \u0027);"},{"lineNumber":270,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":271,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":272,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":273,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2019-12-20] [#46] Show total time after batch processing (#758): +43 -0 lines \u0027);"},{"lineNumber":274,"author":{"gitId":"-"},"content":" });"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,"},{"lineNumber":277,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,"},{"lineNumber":278,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected."},{"lineNumber":279,"author":{"gitId":"-"},"content":" it(\u0027changing the righthand boundary\u0027, () \u003d\u003e {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":281,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":282,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);"},{"lineNumber":283,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":284,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);"},{"lineNumber":285,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })"},{"lineNumber":287,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)"},{"lineNumber":288,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":289,"author":{"gitId":"-"},"content":" .click(120, 20)"},{"lineNumber":290,"author":{"gitId":"-"},"content":" .click(170, 20);"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":293,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":296,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":297,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":298,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2020-05-23] [#1241] Restore checked file types (#1256): +14 -1 lines \u0027);"},{"lineNumber":299,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":300,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":301,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":302,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2019-12-20] [#46] Show total time after batch processing (#758): +43 -0 lines \u0027);"},{"lineNumber":303,"author":{"gitId":"-"},"content":" });"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,"},{"lineNumber":306,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,"},{"lineNumber":307,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected."},{"lineNumber":308,"author":{"gitId":"-"},"content":" it(\u0027changing the lefthand boundary\u0027, () \u003d\u003e {"},{"lineNumber":309,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":310,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":311,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);"},{"lineNumber":312,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":313,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);"},{"lineNumber":314,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })"},{"lineNumber":316,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)"},{"lineNumber":317,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":318,"author":{"gitId":"-"},"content":" .click(170, 20)"},{"lineNumber":319,"author":{"gitId":"-"},"content":" .click(250, 20);"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":322,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":325,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":326,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":327,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2021-01-04] Update `About us` page (#1393): +55 -30 lines \u0027);"},{"lineNumber":328,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":329,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":330,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":331,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2020-09-27] Add optional check for quotes in diff file regex (#1330): +1 -1 lines \u0027);"},{"lineNumber":332,"author":{"gitId":"-"},"content":" });"},{"lineNumber":333,"author":{"gitId":"-"},"content":""},{"lineNumber":334,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,"},{"lineNumber":335,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,"},{"lineNumber":336,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected."},{"lineNumber":337,"author":{"gitId":"-"},"content":" it(\u0027changing the righthand and lefthand boundary\u0027, () \u003d\u003e {"},{"lineNumber":338,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":339,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":340,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);"},{"lineNumber":341,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":342,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);"},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })"},{"lineNumber":345,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)"},{"lineNumber":346,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":347,"author":{"gitId":"-"},"content":" .click(170, 20)"},{"lineNumber":348,"author":{"gitId":"-"},"content":" .click(225, 20);"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":351,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":354,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":355,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":356,"author":{"gitId":"-"},"content":" .should("},{"lineNumber":357,"author":{"gitId":"-"},"content":" \u0027eq\u0027,"},{"lineNumber":358,"author":{"gitId":"-"},"content":" \u0027[2021-01-04] Update `About us` page (#1393): +55 -30 lines \u0027,"},{"lineNumber":359,"author":{"gitId":"-"},"content":" );"},{"lineNumber":360,"author":{"gitId":"-"},"content":""},{"lineNumber":361,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":362,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":363,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":364,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2020-09-27] Add optional check for quotes in diff file regex (#1330): +1 -1 lines \u0027);"},{"lineNumber":365,"author":{"gitId":"-"},"content":" });"},{"lineNumber":366,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":348,"jonasongg":18}},{"path":"frontend/cypress/tests/codeView/codeView.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027code view\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027at first start shows tutorial message\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027)"},{"lineNumber":4,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-empty \u003e .title\u0027).then(($ele) \u003d\u003e {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" const expected \u003d \u0027Welcome to this RepoSense report!\u0027"},{"lineNumber":8,"author":{"gitId":"-"},"content":" + \u0027The charts on the left show the contribution activities, grouped by repository and author.\u0027"},{"lineNumber":9,"author":{"gitId":"-"},"content":" + \"To view the code attributed to a specific author, click the    icon next to that author\u0027s name.\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" + \"To view the breakdown of commits made by a specific author, click the    icon next to that author\u0027s name.\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" + \u0027To hide the code view and show only the activity charts, click the    icon on the centre divider.\u0027"},{"lineNumber":12,"author":{"gitId":"-"},"content":" + \u0027See the  User Guide  to get a better understanding of how to interpret the report.\u0027;"},{"lineNumber":13,"author":{"gitId":"-"},"content":" const message \u003d $ele.text();"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" expect(expected).to.equal(message);"},{"lineNumber":16,"author":{"gitId":"-"},"content":" });"},{"lineNumber":17,"author":{"gitId":"-"},"content":" });"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" it(\u0027can be closed\u0027, () \u003d\u003e {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027)"},{"lineNumber":24,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" });"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" it(\u0027merge group and view code for entire repository\u0027, () \u003d\u003e {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":32,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":33,"author":{"gitId":"-"},"content":" .check({ force: true })"},{"lineNumber":34,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":38,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" });"},{"lineNumber":44,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":43,"jonasongg":1}},{"path":"frontend/cypress/tests/codeView/codeView_checkFileTypes.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027check file types\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check if all files types are visible by default\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":10,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)"},{"lineNumber":13,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":14,"author":{"gitId":"-"},"content":" });"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" it(\u0027uncheck all files types should show no files\u0027, () \u003d\u003e {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":18,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":19,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":20,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":24,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)"},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" });"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" it(\u0027uncheck file type should uncheck all option and not show legend\u0027, () \u003d\u003e {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":38,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)"},{"lineNumber":45,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":46,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)"},{"lineNumber":49,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" cy.get(\u0027.file \u003e .title \u003e .fileTypeLabel\u0027)"},{"lineNumber":52,"author":{"gitId":"-"},"content":" .should(\u0027not.contain.text\u0027, \u0027java\u0027);"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" cy.get(\u0027.file \u003e .title \u003e .fileTypeLabel\u0027)"},{"lineNumber":55,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027gradle\u0027);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" });"},{"lineNumber":57,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":54,"jonasongg":3}},{"path":"frontend/cypress/tests/codeView/codeView_filterGlob.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027filter glob\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check filter glob radio button is clickable\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" // click on filter glob radio button"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":12,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" // filter by file type should be unchecked"},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--checkbox\u0027)"},{"lineNumber":16,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":17,"author":{"gitId":"-"},"content":" });"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" it(\u0027check no filter glob input should show all file types by default\u0027, () \u003d\u003e {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":21,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":23,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":26,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" // the contents of all the files should be visible"},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" });"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" it(\u0027check filter glob input should be in focus after click\u0027, () \u003d\u003e {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":38,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" // click on input box"},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":46,"author":{"gitId":"-"},"content":" .click()"},{"lineNumber":47,"author":{"gitId":"-"},"content":" .should(\u0027have.focus\u0027);"},{"lineNumber":48,"author":{"gitId":"-"},"content":" });"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" it(\u0027check filter glob input should have default empty value\u0027, () \u003d\u003e {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":53,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":57,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":58,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027\u0027);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" });"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" it(\u0027check deleting previously searched input to filter empty input by enter should show all file types\u0027, () \u003d\u003e {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":67,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":68,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":71,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":72,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" // enter some input"},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":76,"author":{"gitId":"-"},"content":" .type(\u0027an input\u0027);"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" // submit some input"},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" // delete previous input"},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":84,"author":{"gitId":"-"},"content":" .clear();"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" // enter on empty input"},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" });"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" it(\u0027check deleting previously searched input to filter empty input by clicking should show all file types\u0027, () \u003d\u003e {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":96,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":97,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":98,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":105,"author":{"gitId":"-"},"content":" .type(\u0027an input\u0027);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)"},{"lineNumber":108,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":111,"author":{"gitId":"-"},"content":" .clear();"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" // click \u0027Filter\u0027 on empty input"},{"lineNumber":114,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)"},{"lineNumber":115,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":118,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" });"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" it(\u0027check request to filter invalid glob by enter should not show any files\u0027, () \u003d\u003e {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":123,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":124,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":125,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":128,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":129,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":132,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .type(\u0027invalid glob\u0027);"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" // no file should be shown"},{"lineNumber":141,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)"},{"lineNumber":142,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" });"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" it(\u0027check request to filter invalid glob by clicking should not show any files\u0027, () \u003d\u003e {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":147,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":149,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":152,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":153,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":156,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":159,"author":{"gitId":"-"},"content":" .type(\u0027invalid glob\u0027);"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)"},{"lineNumber":162,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)"},{"lineNumber":165,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" });"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" it(\u0027check filter glob should only show files with that extension\u0027, () \u003d\u003e {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":170,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":171,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":172,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":176,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" // try java"},{"lineNumber":179,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":180,"author":{"gitId":"-"},"content":" .type(\u0027*java\u0027);"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)"},{"lineNumber":183,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027).then(($files) \u003d\u003e {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" // check if there is any file with .java extension"},{"lineNumber":187,"author":{"gitId":"-"},"content":" if ($files.hasClass(\u0027path\u0027)) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" // check each file for .java extension"},{"lineNumber":189,"author":{"gitId":"-"},"content":" cy.get(\u0027.title \u003e .path \u003e span\u0027)"},{"lineNumber":190,"author":{"gitId":"-"},"content":" .then(($spans) \u003d\u003e {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" $spans.toArray().forEach((span) \u003d\u003e {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" cy.wrap(span).contains(\u0027.java\u0027);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" });"},{"lineNumber":194,"author":{"gitId":"-"},"content":" });"},{"lineNumber":195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":196,"author":{"gitId":"-"},"content":" });"},{"lineNumber":197,"author":{"gitId":"-"},"content":" });"},{"lineNumber":198,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":189,"jonasongg":9}},{"path":"frontend/cypress/tests/codeView/codeView_hideFileDetails.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027hide all file details\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check hide all file details hides the content of all the files\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":10,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":" // the contents of all the files should be visible"},{"lineNumber":13,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":14,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" // hide the details of all the files"},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)"},{"lineNumber":18,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" // the contents of all the files should be hidden"},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":26,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" });"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" it(\u0027check details of one file are shown, rest are hidden\u0027, () \u003d\u003e {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":32,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":33,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":36,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":40,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" // should show \u0027show all file details\u0027 only"},{"lineNumber":43,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline a\u0027)"},{"lineNumber":44,"author":{"gitId":"-"},"content":" .should(\u0027not.contain.text\u0027, \u0027hide all file details\u0027)"},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027show all file details\u0027);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" // open contents of the first file"},{"lineNumber":48,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .caret\u0027)"},{"lineNumber":49,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":50,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":51,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" // should show both \u0027show/hide all file details\u0027"},{"lineNumber":54,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline a\u0027)"},{"lineNumber":55,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027hide all file details\u0027)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027show all file details\u0027);"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" // contents of the first file should be visible"},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":60,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" // contents of the last file should be hidden"},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":65,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":66,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" });"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" it(\u0027check file can be hidden after scrolling\u0027, () \u003d\u003e {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":72,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":73,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":76,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" // contents of the first file should be visible"},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" // scroll some lines in the contents of the second file"},{"lineNumber":84,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":85,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":86,"author":{"gitId":"-"},"content":" .scrollIntoView({ offset: { top: 500, left: 0 } });"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" // title of the second file should still be visible"},{"lineNumber":89,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file .title \u0027)"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" // close contents of the second file"},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .caret\u0027)"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":96,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":97,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" // contents of the second file should not be visible"},{"lineNumber":100,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" // title of the second file should still be visible"},{"lineNumber":105,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file .title \u0027)"},{"lineNumber":106,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" // scroll some lines up from the top of the second file"},{"lineNumber":110,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":111,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":112,"author":{"gitId":"-"},"content":" .scrollIntoView({ offset: { top: -500, left: 0 } });"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" // title of the first file should be visible"},{"lineNumber":115,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file .title \u0027)"},{"lineNumber":116,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":117,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" });"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" it(\u0027check show all file details shows the content of all the files\u0027, () \u003d\u003e {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":122,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":124,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":127,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" // hide the content of all the files"},{"lineNumber":133,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)"},{"lineNumber":134,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" // show the content of all the files"},{"lineNumber":141,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)"},{"lineNumber":142,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":143,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" });"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" it(\u0027check collapsed file persists after sort\u0027, () \u003d\u003e {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":151,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":152,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":153,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":156,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":159,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":160,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" // hide contents of the first file"},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .caret\u0027)"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":165,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":166,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":169,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .path\u0027)"},{"lineNumber":173,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":174,"author":{"gitId":"-"},"content":" .invoke(\u0027text\u0027)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" // keep track of first file by file path so test doesn\u0027t rely on correctness of sort"},{"lineNumber":176,"author":{"gitId":"-"},"content":" .then((filePath) \u003d\u003e {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" // change sort by"},{"lineNumber":178,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .select(\u0027Path\u0027)"},{"lineNumber":180,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027path\u0027);"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" // wait until loading is finished"},{"lineNumber":183,"author":{"gitId":"-"},"content":" cy.get(\u0027[aria-label\u003d\"Loading\"]\u0027)"},{"lineNumber":184,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" // contents of file should still be hidden"},{"lineNumber":187,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-authorship .file\u0027, filePath.trim())"},{"lineNumber":188,"author":{"gitId":"-"},"content":" .children(\u0027.file-content\u0027)"},{"lineNumber":189,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" // change sort order"},{"lineNumber":192,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)"},{"lineNumber":193,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)"},{"lineNumber":194,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" // wait until loading is finished"},{"lineNumber":197,"author":{"gitId":"-"},"content":" cy.get(\u0027[aria-label\u003d\"Loading\"]\u0027)"},{"lineNumber":198,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" // contents of file should still be hidden"},{"lineNumber":201,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-authorship .file\u0027, filePath.trim())"},{"lineNumber":202,"author":{"gitId":"-"},"content":" .children(\u0027.file-content\u0027)"},{"lineNumber":203,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":204,"author":{"gitId":"-"},"content":" });"},{"lineNumber":205,"author":{"gitId":"-"},"content":" });"},{"lineNumber":206,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":201,"jonasongg":5}},{"path":"frontend/cypress/tests/codeView/codeView_mergeGroupBlame.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027merge group blame in code view\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027no author breakdown shown by default\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" // code panel should be visible"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":" // author breakdown should not be visible"},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)"},{"lineNumber":15,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);"},{"lineNumber":16,"author":{"gitId":"-"},"content":" });"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" it(\u0027merge group for group by repos shows author breakdown for each file\u0027, () \u003d\u003e {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":26,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":32,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":33,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" // code panel should be visible"},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" // author breakdown should exist"},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" });"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" it(\u0027author breakdown visible when file content hidden\u0027, () \u003d\u003e {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":46,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":47,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":52,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":53,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":56,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":58,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":59,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" // hide content of all files"},{"lineNumber":62,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)"},{"lineNumber":63,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":64,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" // author breakdown should be visible"},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)"},{"lineNumber":68,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" });"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" it(\u0027author breakdown contains only file authors in alphabetical order\u0027, () \u003d\u003e {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":74,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":77,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":78,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":79,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":84,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":85,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":86,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" // author breakdown contains expected author count and order"},{"lineNumber":89,"author":{"gitId":"-"},"content":" const expectedResult \u003d [\u0027eugenepeh\u0027, \u0027jamessspanggg\u0027, \u0027yamidark\u0027, \u0027yong24s\u0027];"},{"lineNumber":90,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .eq(2)"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .children(\u0027.author-breakdown__legend\u0027)"},{"lineNumber":93,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, expectedResult.length)"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .each(($el, index) \u003d\u003e {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.wrap($el).should(\u0027contain\u0027, expectedResult[index]);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" });"},{"lineNumber":97,"author":{"gitId":"-"},"content":" });"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" it(\u0027authors are assigned the same color in all files\u0027, () \u003d\u003e {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":101,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":105,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":106,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":108,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":111,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":112,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":113,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" // check first and second occurence of same author has the same color"},{"lineNumber":117,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .author-breakdown__legend:contains(\\\u0027jamessspanggg\\\u0027)\u0027)"},{"lineNumber":118,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":119,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" const color \u003d $el.children().first().css(\u0027color\u0027);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .author-breakdown__legend:contains(\\\u0027jamessspanggg\\\u0027)\u0027)"},{"lineNumber":122,"author":{"gitId":"-"},"content":" .eq(1).children().first()"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027color\u0027, color);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" });"},{"lineNumber":125,"author":{"gitId":"-"},"content":" });"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" it(\u0027author name shown on segment hover for known authors\u0027, () \u003d\u003e {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":133,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":134,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":136,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":139,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":140,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":141,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":142,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" // author name in html title attribute should be shown"},{"lineNumber":145,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .segment.active\u0027)"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .not(\u0027.untouched\u0027)"},{"lineNumber":147,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":149,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027eugenepeh\u0027);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" });"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" it(\u0027author name shown as unknown for missing authors\u0027, () \u003d\u003e {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":154,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":159,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":160,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":161,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":164,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":165,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":166,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":167,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" // author name in html title attribute should be unknown"},{"lineNumber":170,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .segment.untouched\u0027)"},{"lineNumber":171,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":172,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":173,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027Unknown\u0027);"},{"lineNumber":174,"author":{"gitId":"-"},"content":" });"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" it(\u0027code segment has same color as author legend\u0027, () \u003d\u003e {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":178,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":182,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":183,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":184,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":185,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":188,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":189,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":190,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":191,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" // segment color should be the same as author legend color"},{"lineNumber":194,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .segment.active\u0027)"},{"lineNumber":195,"author":{"gitId":"-"},"content":" .not(\u0027.untouched\u0027)"},{"lineNumber":196,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":197,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" const color \u003d $el.css(\u0027border-left-color\u0027);"},{"lineNumber":199,"author":{"gitId":"-"},"content":" const author \u003d \u0027eugenepeh\u0027;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)"},{"lineNumber":201,"author":{"gitId":"-"},"content":" .eq(2)"},{"lineNumber":202,"author":{"gitId":"-"},"content":" .children(\u0027.author-breakdown__legend\u0027)"},{"lineNumber":203,"author":{"gitId":"-"},"content":" .contains(author)"},{"lineNumber":204,"author":{"gitId":"-"},"content":" .prev()"},{"lineNumber":205,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027color\u0027, color);"},{"lineNumber":206,"author":{"gitId":"-"},"content":" });"},{"lineNumber":207,"author":{"gitId":"-"},"content":" });"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" it(\u0027colors in author breakdown match assigned colors\u0027, () \u003d\u003e {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":211,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":212,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":215,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":216,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":217,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":218,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":221,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":222,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":224,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" // author breakdown contains assigned colors"},{"lineNumber":227,"author":{"gitId":"-"},"content":" const expectedResult \u003d [\u0027rgb(30, 144, 255)\u0027, \u0027rgb(240, 128, 128)\u0027, \u0027rgb(0, 255, 127)\u0027, \u0027rgb(255, 215, 0)\u0027];"},{"lineNumber":228,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)"},{"lineNumber":229,"author":{"gitId":"-"},"content":" .eq(2)"},{"lineNumber":230,"author":{"gitId":"-"},"content":" .children(\u0027.author-breakdown__legend\u0027)"},{"lineNumber":231,"author":{"gitId":"-"},"content":" .each(($el, index) \u003d\u003e {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" cy.wrap($el).children().first().should(\u0027have.css\u0027, \u0027color\u0027, expectedResult[index]);"},{"lineNumber":233,"author":{"gitId":"-"},"content":" });"},{"lineNumber":234,"author":{"gitId":"-"},"content":" });"},{"lineNumber":235,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":226,"jonasongg":9}},{"path":"frontend/cypress/tests/codeView/codeView_reload.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027reload page\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027reload page should restore all controls\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027);"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":" // change sort order"},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)"},{"lineNumber":15,"author":{"gitId":"-"},"content":" .select(\u0027Descending\u0027);"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" // select radio-button"},{"lineNumber":18,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes \u003e .radio-button--checkbox\u0027)"},{"lineNumber":19,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":20,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)"},{"lineNumber":24,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)"},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)"},{"lineNumber":36,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027true\u0027);"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes \u003e .radio-button--checkbox\u0027)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)"},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" });"},{"lineNumber":53,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":52,"jonasongg":1}},{"path":"frontend/cypress/tests/codeView/codeView_renderFilterHash.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027render filter hash\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027search: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" /* Check initial state */"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":5,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027\u0027);"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" /* Enter search and test URL before and after reload */"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":12,"author":{"gitId":"-"},"content":" .type(\u0027eugene{enter}\u0027);"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":15,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027search\u003deugene\u0027);"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":20,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027search\u003deugene\u0027);"},{"lineNumber":21,"author":{"gitId":"-"},"content":" });"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" it(\u0027group by: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" /* Check initial state */"},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":26,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027groupByRepos\u0027);"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":30,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByRepos\u0027);"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" /* Select group by none and test URL before and after reload */"},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":34,"author":{"gitId":"-"},"content":" .select(\u0027groupByNone\u0027);"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByNone\u0027);"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByNone\u0027);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" /* Select group by authors and test URL before and after reload */"},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":46,"author":{"gitId":"-"},"content":" .select(\u0027groupByAuthors\u0027);"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":49,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByAuthors\u0027);"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByAuthors\u0027);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" });"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" it(\u0027sort groups by: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" /* Check initial state */"},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)"},{"lineNumber":60,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027groupTitle dsc\u0027);"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":64,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dgroupTitle%20dsc\u0027);"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" /* Select sort by group title ascending and test URL before and after reload */"},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)"},{"lineNumber":68,"author":{"gitId":"-"},"content":" .select(\u0027groupTitle\u0027);"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":71,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dgroupTitle\u0027);"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":76,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dgroupTitle\u0027);"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" /* Select sort by contribution descending and test URL before and after reload */"},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits dsc\u0027);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits%20dsc\u0027);"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits%20dsc\u0027);"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" /* Select sort by contribution ascending and test URL before and after reload */"},{"lineNumber":91,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits\u0027);"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits\u0027);"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":100,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits\u0027);"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" /* Select sort by variance descending and test URL before and after reload */"},{"lineNumber":103,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .select(\u0027variance dsc\u0027);"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance%20dsc\u0027);"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":112,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance%20dsc\u0027);"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" /* Select sort by variance ascending and test URL before and after reload */"},{"lineNumber":115,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)"},{"lineNumber":116,"author":{"gitId":"-"},"content":" .select(\u0027variance\u0027);"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":119,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance\u0027);"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":124,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance\u0027);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" });"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" it(\u0027sort within groups by: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" /* Check initial state */"},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":131,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027title\u0027);"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":134,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtitle\u0027);"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" /* Select sort by group title ascending and test URL before and after reload */"},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .select(\u0027title dsc\u0027);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":141,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtitle\u0027);"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtitle\u0027);"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" /* Select sort by contribution descending and test URL before and after reload */"},{"lineNumber":149,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)"},{"lineNumber":150,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits dsc\u0027);"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":153,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits%20dsc\u0027);"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":158,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits%20dsc\u0027);"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" /* Select sort by contribution ascending and test URL before and after reload */"},{"lineNumber":161,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)"},{"lineNumber":162,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits\u0027);"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":165,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits\u0027);"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits\u0027);"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" /* Select sort by variance descending and test URL before and after reload */"},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)"},{"lineNumber":174,"author":{"gitId":"-"},"content":" .select(\u0027variance dsc\u0027);"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":177,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance%20dsc\u0027);"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":182,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance%20dsc\u0027);"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" /* Select sort by variance ascending and test URL before and after reload */"},{"lineNumber":185,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)"},{"lineNumber":186,"author":{"gitId":"-"},"content":" .select(\u0027variance\u0027);"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":189,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance\u0027);"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":194,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance\u0027);"},{"lineNumber":195,"author":{"gitId":"-"},"content":" });"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" it(\u0027granularity: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" /* Check initial state */"},{"lineNumber":199,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.granularity \u003e select:visible\u0027)"},{"lineNumber":200,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":201,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027commit\u0027);"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":204,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dcommit\u0027);"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" /* Select timeframe as day and test URL before and after reload */"},{"lineNumber":207,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.granularity \u003e select:visible\u0027)"},{"lineNumber":208,"author":{"gitId":"-"},"content":" .select(\u0027day\u0027);"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":211,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dday\u0027);"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":216,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dday\u0027);"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" /* Select timeframe as week and test URL before and after reload */"},{"lineNumber":219,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.granularity \u003e select:visible\u0027)"},{"lineNumber":220,"author":{"gitId":"-"},"content":" .select(\u0027week\u0027);"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dweek\u0027);"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":228,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dweek\u0027);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" });"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" it(\u0027since: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" /* Check initial state */"},{"lineNumber":233,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":234,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":235,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u00272018-05-03\u0027);"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":238,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027since\u003d2018-05-03\u0027);"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" /* Modify since date and test URL before and after reload */"},{"lineNumber":241,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":242,"author":{"gitId":"-"},"content":" .type(\u00272019-06-04\u0027);"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":245,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027since\u003d2019-06-04\u0027);"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":250,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027since\u003d2019-06-04\u0027);"},{"lineNumber":251,"author":{"gitId":"-"},"content":" });"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" it(\u0027until: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":254,"author":{"gitId":"-"},"content":" /* Check initial state (will require dayjs for getting current date) */"},{"lineNumber":255,"author":{"gitId":"-"},"content":" // cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":256,"author":{"gitId":"-"},"content":" // .invoke(\u0027val\u0027)"},{"lineNumber":257,"author":{"gitId":"-"},"content":" // .should(\u0027eq\u0027, dayjs().format(\u0027YYYY-MM-DD\u0027));"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" // cy.url()"},{"lineNumber":260,"author":{"gitId":"-"},"content":" // .should(\u0027contain\u0027, \u0027date\u003d2023-07-06\u0027);"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" /* Modify since date and test URL before and after reload */"},{"lineNumber":263,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":264,"author":{"gitId":"-"},"content":" .type(\u00272019-06-04\u0027);"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":267,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027until\u003d2019-06-04\u0027);"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":272,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027until\u003d2019-06-04\u0027);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" });"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":" it(\u0027breakdown by file type: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)"},{"lineNumber":277,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":280,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027breakdown\u003dfalse\u0027);"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)"},{"lineNumber":283,"author":{"gitId":"-"},"content":" .check();"},{"lineNumber":284,"author":{"gitId":"-"},"content":""},{"lineNumber":285,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":288,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027breakdown\u003dtrue\u0027);"},{"lineNumber":289,"author":{"gitId":"-"},"content":" });"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":" it(\u0027merge all groups: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)"},{"lineNumber":293,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":294,"author":{"gitId":"-"},"content":" .check();"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":297,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027mergegroup\u003dreposense%2FRepoSense%5Bcypress%5D\u0027);"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":302,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027mergegroup\u003dreposense%2FRepoSense%5Bcypress%5D\u0027);"},{"lineNumber":303,"author":{"gitId":"-"},"content":" });"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":" it(\u0027checked file types: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":306,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)"},{"lineNumber":307,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"jonasongg"},"content":" // Assumption: gradle is the first file type and yml is the last file type to appear in the list"},{"lineNumber":310,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":311,"author":{"gitId":"-"},"content":" .should(\u0027not.contain\u0027, \u0027gradle\u0027);"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":314,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027yml\u0027);"},{"lineNumber":315,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)"},{"lineNumber":317,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":318,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":321,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"yml\"]\u0027)"},{"lineNumber":324,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":325,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":327,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027gradle\u0027);"},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":330,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);"},{"lineNumber":331,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":333,"author":{"gitId":"-"},"content":""},{"lineNumber":334,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":335,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":336,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":337,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"yml\"]\u0027)"},{"lineNumber":338,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":339,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":341,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027gradle\u0027);"},{"lineNumber":342,"author":{"gitId":"-"},"content":""},{"lineNumber":343,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":344,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);"},{"lineNumber":345,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":347,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":348,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":351,"author":{"gitId":"-"},"content":" .should(\u0027not.contain\u0027, \u0027gradle\u0027);"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":354,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);"},{"lineNumber":355,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":357,"author":{"gitId":"-"},"content":""},{"lineNumber":358,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":359,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":360,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":361,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"yml\"]\u0027)"},{"lineNumber":362,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":363,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":364,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":365,"author":{"gitId":"-"},"content":" .should(\u0027not.contain\u0027, \u0027gradle\u0027);"},{"lineNumber":366,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":367,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":368,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);"},{"lineNumber":369,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":370,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":371,"author":{"gitId":"jonasongg"},"content":" it(\u0027code panel: sort by: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":372,"author":{"gitId":"jonasongg"},"content":" // open the code panel"},{"lineNumber":373,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":374,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":375,"author":{"gitId":"jonasongg"},"content":" .first()"},{"lineNumber":376,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":377,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":378,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-by \u003e select:visible\u0027)"},{"lineNumber":379,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":380,"author":{"gitId":"jonasongg"},"content":" .should(\u0027eq\u0027, \u0027linesOfCode\u0027);"},{"lineNumber":381,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":382,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":383,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027authorshipSortBy\u0027);"},{"lineNumber":384,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":385,"author":{"gitId":"jonasongg"},"content":" /* Select file name and test URL before and after reload */"},{"lineNumber":386,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-by \u003e select:visible\u0027)"},{"lineNumber":387,"author":{"gitId":"jonasongg"},"content":" .select(\u0027fileName\u0027);"},{"lineNumber":388,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":389,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":390,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileName\u0027);"},{"lineNumber":391,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":392,"author":{"gitId":"jonasongg"},"content":" cy.reload();"},{"lineNumber":393,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":394,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":395,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);"},{"lineNumber":396,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":397,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":398,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileName\u0027);"},{"lineNumber":399,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":400,"author":{"gitId":"jonasongg"},"content":" /* Select file type and test URL before and after reload */"},{"lineNumber":401,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-by \u003e select:visible\u0027)"},{"lineNumber":402,"author":{"gitId":"jonasongg"},"content":" .select(\u0027fileType\u0027);"},{"lineNumber":403,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":404,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":405,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileType\u0027);"},{"lineNumber":406,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":407,"author":{"gitId":"jonasongg"},"content":" cy.reload();"},{"lineNumber":408,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":409,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":410,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);"},{"lineNumber":411,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":412,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":413,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileType\u0027);"},{"lineNumber":414,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":415,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":416,"author":{"gitId":"jonasongg"},"content":" it(\u0027code panel: order: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":417,"author":{"gitId":"jonasongg"},"content":" // open the code panel"},{"lineNumber":418,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":419,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":420,"author":{"gitId":"jonasongg"},"content":" .first()"},{"lineNumber":421,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":422,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":423,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-order \u003e select:visible\u0027)"},{"lineNumber":424,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":425,"author":{"gitId":"jonasongg"},"content":" .should(\u0027eq\u0027, \u0027true\u0027); // true is Descending"},{"lineNumber":426,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":427,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":428,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027reverseAuthorshipOrder\u0027);"},{"lineNumber":429,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":430,"author":{"gitId":"jonasongg"},"content":" /* Select ascending and test URL before and after reload */"},{"lineNumber":431,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-order \u003e select:visible\u0027)"},{"lineNumber":432,"author":{"gitId":"jonasongg"},"content":" .select(\u0027false\u0027);"},{"lineNumber":433,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":434,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":435,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dfalse\u0027);"},{"lineNumber":436,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":437,"author":{"gitId":"jonasongg"},"content":" cy.reload();"},{"lineNumber":438,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":439,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":440,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);"},{"lineNumber":441,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":442,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":443,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dfalse\u0027);"},{"lineNumber":444,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":445,"author":{"gitId":"jonasongg"},"content":" /* Select descending and test URL before and after reload */"},{"lineNumber":446,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":447,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-order \u003e select:visible\u0027)"},{"lineNumber":448,"author":{"gitId":"jonasongg"},"content":" .select(\u0027true\u0027);"},{"lineNumber":449,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":450,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":451,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dtrue\u0027);"},{"lineNumber":452,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":453,"author":{"gitId":"jonasongg"},"content":" cy.reload();"},{"lineNumber":454,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":455,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":456,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);"},{"lineNumber":457,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":458,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":459,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dtrue\u0027);"},{"lineNumber":460,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":461,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":462,"author":{"gitId":"jonasongg"},"content":" it(\u0027code panel: filter by glob: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":463,"author":{"gitId":"jonasongg"},"content":" // open the code panel"},{"lineNumber":464,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":465,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":466,"author":{"gitId":"jonasongg"},"content":" .first()"},{"lineNumber":467,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":468,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":469,"author":{"gitId":"jonasongg"},"content":" // click on filter glob radio button"},{"lineNumber":470,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":471,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":472,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":473,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":474,"author":{"gitId":"jonasongg"},"content":" // enter some input"},{"lineNumber":475,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":476,"author":{"gitId":"jonasongg"},"content":" .type(\u0027README.md\u0027);"},{"lineNumber":477,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":478,"author":{"gitId":"jonasongg"},"content":" // submit"},{"lineNumber":479,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":480,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":481,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":482,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":483,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipFilesGlob\u003dREADME.md\u0027);"},{"lineNumber":484,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":485,"author":{"gitId":"jonasongg"},"content":" // Some bugs appear after two reloads, so reload twice here"},{"lineNumber":486,"author":{"gitId":"jonasongg"},"content":" cy.reload();"},{"lineNumber":487,"author":{"gitId":"jonasongg"},"content":" cy.reload();"},{"lineNumber":488,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":489,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":490,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);"},{"lineNumber":491,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":492,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":493,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipFilesGlob\u003dREADME.md\u0027);"},{"lineNumber":494,"author":{"gitId":"-"},"content":" });"},{"lineNumber":495,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":339,"jonasongg":156}},{"path":"frontend/cypress/tests/codeView/codeView_switchAuthorship.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027switch authorship\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027switch authorship view should restore all default controls\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027Path\u0027)"},{"lineNumber":12,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027path\u0027);"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" // change sort order"},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)"},{"lineNumber":16,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" // uncheck a file type"},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" // switch authorship view"},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" // check default controls"},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)"},{"lineNumber":32,"author":{"gitId":"-"},"content":" .should(\u0027not.have.value\u0027, \u0027path\u0027)"},{"lineNumber":33,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)"},{"lineNumber":36,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027true\u0027);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes \u003e .radio-button--checkbox\u0027)"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"yml\"]\u0027)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" });"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" it(\u0027switch authorship view should not retain information from previous visited tabs\u0027, () \u003d\u003e {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" // Assumptions:"},{"lineNumber":56,"author":{"gitId":"-"},"content":" // The first repository has more than one person listed."},{"lineNumber":57,"author":{"gitId":"-"},"content":" // The first displayed file which the first and last person worked on is different."},{"lineNumber":58,"author":{"gitId":"-"},"content":" const betweenBracketsRegex \u003d /\\((.*)\\)/;"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" let firstAuthor;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" let firstFilename;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" let lastAuthor;"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" // open the first code panel"},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)"},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":67,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":68,"author":{"gitId":"-"},"content":" .find(\u0027.fa-code\u0027)"},{"lineNumber":69,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .panel-heading \u003e .author \u003e span\u0027)"},{"lineNumber":73,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":74,"author":{"gitId":"-"},"content":" .then(($span) \u003d\u003e {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" firstAuthor \u003d $span.text().match(betweenBracketsRegex).pop();"},{"lineNumber":76,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":77,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, firstAuthor);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" });"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .files \u003e .file \u003e .title \u003e .path\u0027)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .then(($span) \u003d\u003e {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" firstFilename \u003d $span.text();"},{"lineNumber":84,"author":{"gitId":"-"},"content":" });"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" // switch authorship view"},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":89,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .find(\u0027.fa-code\u0027)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .panel-heading \u003e .author \u003e span\u0027)"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":96,"author":{"gitId":"-"},"content":" .should(($span) \u003d\u003e {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" lastAuthor \u003d $span.text().match(betweenBracketsRegex).pop();"},{"lineNumber":98,"author":{"gitId":"-"},"content":" expect(firstAuthor, \u0027First author to have different name from the last author\u0027)"},{"lineNumber":99,"author":{"gitId":"-"},"content":" .to.not.equal(lastAuthor);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" })"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":103,"author":{"gitId":"-"},"content":" .should(\u0027not.include\u0027, firstAuthor)"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, lastAuthor);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" });"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .files \u003e .file \u003e .title \u003e .path\u0027)"},{"lineNumber":108,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":109,"author":{"gitId":"-"},"content":" .should(($span) \u003d\u003e {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" const lastFilename \u003d $span.text();"},{"lineNumber":111,"author":{"gitId":"-"},"content":" expect(firstFilename, \u0027First displayed filenames should be different for different authors\u0027)"},{"lineNumber":112,"author":{"gitId":"-"},"content":" .to.not.equal(lastFilename);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" });"},{"lineNumber":114,"author":{"gitId":"-"},"content":" });"},{"lineNumber":115,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":112,"jonasongg":3}},{"path":"frontend/cypress/tests/general/general.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027general\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027correctly replaces report title\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.title().should(\u0027eq\u0027, \u0027RepoSense Test Report\u0027);"},{"lineNumber":4,"author":{"gitId":"-"},"content":" });"},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":6,"author":{"gitId":"sopa301"},"content":" it(\u0027correctly contains given title\u0027, () \u003d\u003e {"},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027h1\u0027).should(\u0027contain\u0027, \u0027RepoSense Intro\u0027);"},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" });"},{"lineNumber":9,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"sopa301":4,"-":5}},{"path":"frontend/cypress/tests/zoomView/zoomView_diffstat.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027diffstat\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027should render container for contribution bars\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":5,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .stacked-bar-container\u0027)"},{"lineNumber":9,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":10,"author":{"gitId":"-"},"content":" });"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":" // Assumptions: The commit selected here is @eugenepeh\u0027s"},{"lineNumber":13,"author":{"gitId":"-"},"content":" // `README: Fix grammatical error` with 1 insertion and 1 deletion."},{"lineNumber":14,"author":{"gitId":"-"},"content":" it(\u0027should render non-empty contribution bars for commits with changes\u0027, () \u003d\u003e {"},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":16,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":18,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)"},{"lineNumber":24,"author":{"gitId":"-"},"content":" .then((element) \u003d\u003e {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" expect(element.length).to.be.equal(2);"},{"lineNumber":26,"author":{"gitId":"-"},"content":" expect(element[0].style[\u0027background-color\u0027]).to.be.equal(\u0027limegreen\u0027);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" expect(element[0].style.width).to.be.equal(\u00270.1%\u0027);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" expect(element[1].style[\u0027background-color\u0027]).to.be.equal(\u0027red\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" expect(element[1].style.width).to.be.equal(\u00270.1%\u0027);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" });"},{"lineNumber":31,"author":{"gitId":"-"},"content":" });"},{"lineNumber":32,"author":{"gitId":"-"},"content":" });"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" // Assumptions: The commit selected here is @eugenepeh\u0027s"},{"lineNumber":35,"author":{"gitId":"-"},"content":" // `Merge branch \u0027new-branch` into cypress` with 0 insertions and 0 deletions."},{"lineNumber":36,"author":{"gitId":"-"},"content":" it(\u0027should render empty contribution bars for commits with no changes\u0027, () \u003d\u003e {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":40,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)"},{"lineNumber":43,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":44,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)"},{"lineNumber":46,"author":{"gitId":"-"},"content":" .then((element) \u003d\u003e {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" expect(element.length).to.be.equal(2);"},{"lineNumber":48,"author":{"gitId":"-"},"content":" expect(element[0].style[\u0027background-color\u0027]).to.be.equal(\u0027limegreen\u0027);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" expect(element[0].style.width).to.be.equal(\u00270%\u0027);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" expect(element[1].style[\u0027background-color\u0027]).to.be.equal(\u0027red\u0027);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" expect(element[1].style.width).to.be.equal(\u00270%\u0027);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" });"},{"lineNumber":53,"author":{"gitId":"-"},"content":" });"},{"lineNumber":54,"author":{"gitId":"-"},"content":" });"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" it(\u0027should render contribution bars in proportion\u0027, () \u003d\u003e {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":59,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":60,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" let insertionWidthSum \u003d 0;"},{"lineNumber":63,"author":{"gitId":"-"},"content":" let deletionWidthSum \u003d 0;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" let widthProportion \u003d 0;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .stacked-bar__contrib--bar\u0027)"},{"lineNumber":66,"author":{"gitId":"-"},"content":" .then((element) \u003d\u003e {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c element.length; i +\u003d 1) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" const val \u003d parseFloat(element[i].style.width.split(\u0027%\u0027)[0]);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" if (element[i].style[\u0027background-color\u0027] \u003d\u003d\u003d \u0027limegreen\u0027) {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" insertionWidthSum +\u003d val;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" deletionWidthSum +\u003d val;"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":" widthProportion \u003d insertionWidthSum / deletionWidthSum;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" });"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" let insertions \u003d 0;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" let deletions \u003d 0;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" let actualProportion \u003d 0;"},{"lineNumber":81,"author":{"gitId":"-"},"content":" cy.get(\u0027[data-cy\u003d\"changes\"]\u0027)"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .invoke(\u0027text\u0027)"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .then((text) \u003d\u003e {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" const temp \u003d text.split(\u0027lines\u0027);"},{"lineNumber":85,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c temp.length - 1; i +\u003d 1) {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" insertions +\u003d parseFloat(temp[i].split(\u0027-\u0027)[0].split(\u0027+\u0027)[1].trim());"},{"lineNumber":87,"author":{"gitId":"-"},"content":" deletions +\u003d parseFloat(temp[i].split(\u0027-\u0027)[1].trim());"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":" actualProportion \u003d insertions / deletions;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" expect(widthProportion.toFixed(3)).to.be.equal(actualProportion.toFixed(3));"},{"lineNumber":91,"author":{"gitId":"-"},"content":" });"},{"lineNumber":92,"author":{"gitId":"-"},"content":" });"},{"lineNumber":93,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":89,"jonasongg":4}},{"path":"frontend/cypress/tests/zoomView/zoomView_hideCommitMessages.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027hide all commit messages \u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check hide all commit messages hides the commit messages\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })"},{"lineNumber":10,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":" // the messages of all the commits should be visible"},{"lineNumber":13,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":14,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" // hides all the commit messages"},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":18,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" // the messages of all the commits should be hidden"},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":26,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" });"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" it(\u0027check show all commit messages show the commit messages\u0027, () \u003d\u003e {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":33,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":34,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" // hides all the commit messages"},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" // the messages of all the commits should be hidden"},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":46,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" // show the messages of all the commits"},{"lineNumber":49,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":50,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" });"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" it(\u0027should only display hide all commit messages when none are hidden\u0027, () \u003d\u003e {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":62,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })"},{"lineNumber":65,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" // should only display \u0027hide all commit messages\u0027"},{"lineNumber":68,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":69,"author":{"gitId":"-"},"content":" .children()"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 1);"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":73,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027hide all commit details\u0027);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" });"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" it(\u0027should only display show all commit messages when all are hidden\u0027, () \u003d\u003e {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":78,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":79,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })"},{"lineNumber":84,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" // hides all the commit messages"},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" // should only display \u0027show all commit messages\u0027"},{"lineNumber":91,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .children()"},{"lineNumber":93,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 1);"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":96,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" });"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" it(\u0027should display both show and hide all commit messages when some are hidden\u0027, () \u003d\u003e {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":101,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":102,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":103,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" // hide the message body of the first commit"},{"lineNumber":110,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message \u003e a .tooltip\u0027)"},{"lineNumber":111,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":112,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":113,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" // should now display both \u0027hide all \u0026 show all commit messages\u0027"},{"lineNumber":116,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":117,"author":{"gitId":"-"},"content":" .children()"},{"lineNumber":118,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 2);"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":121,"author":{"gitId":"-"},"content":" .eq(0)"},{"lineNumber":122,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":126,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027hide all commit details\u0027);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" });"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" it(\u0027check show all and hide all commit messages only toggle current commits\u0027, () \u003d\u003e {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" // Assumptions: the fifth commit (19e3294) of the first author of the first repo"},{"lineNumber":131,"author":{"gitId":"-"},"content":" // contains changes in only .java files."},{"lineNumber":132,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":133,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":134,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" // uncheck java file type"},{"lineNumber":141,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)"},{"lineNumber":142,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":143,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" // hides all the commit messages"},{"lineNumber":146,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":147,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" // should only display \u0027show all commit messages\u0027"},{"lineNumber":150,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":151,"author":{"gitId":"-"},"content":" .children()"},{"lineNumber":152,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 1);"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" // check java file type"},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)"},{"lineNumber":159,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":160,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" // commit body of the merge commit should be visible"},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .eq(0)"},{"lineNumber":165,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" // commit body of the md commit should not be visible"},{"lineNumber":168,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":169,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" // commit body of the java commit should be visible"},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":174,"author":{"gitId":"-"},"content":" .eq(4)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" .scrollIntoView()"},{"lineNumber":176,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" // should now display both \u0027hide all \u0026 show all commit messages\u0027"},{"lineNumber":179,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":180,"author":{"gitId":"-"},"content":" .children()"},{"lineNumber":181,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 2);"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":184,"author":{"gitId":"-"},"content":" .eq(0)"},{"lineNumber":185,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":188,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":189,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027hide all commit details\u0027);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" });"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" it(\u0027check hidden commit message persists after sort\u0027, () \u003d\u003e {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":194,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":195,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":196,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })"},{"lineNumber":199,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" // hide the message body of the first commit"},{"lineNumber":202,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message \u003e a .tooltip\u0027)"},{"lineNumber":203,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":204,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":205,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":208,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":209,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .hash\u0027)"},{"lineNumber":212,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":213,"author":{"gitId":"-"},"content":" .invoke(\u0027text\u0027)"},{"lineNumber":214,"author":{"gitId":"-"},"content":" // keep track of first commit by hash so test doesn\u0027t rely on correctness of sort"},{"lineNumber":215,"author":{"gitId":"-"},"content":" .then((hash) \u003d\u003e {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" // change sort by"},{"lineNumber":217,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select\u0027)"},{"lineNumber":218,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027)"},{"lineNumber":219,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" // message body should still be hidden"},{"lineNumber":222,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-zoom .commit-message\u0027, hash)"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .children(\u0027.body\u0027)"},{"lineNumber":224,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" // change sort order"},{"lineNumber":227,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)"},{"lineNumber":228,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)"},{"lineNumber":229,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" // message body should still be hidden"},{"lineNumber":232,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-zoom .commit-message\u0027, hash)"},{"lineNumber":233,"author":{"gitId":"-"},"content":" .children(\u0027.body\u0027)"},{"lineNumber":234,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":235,"author":{"gitId":"-"},"content":" });"},{"lineNumber":236,"author":{"gitId":"-"},"content":" });"},{"lineNumber":237,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":230,"jonasongg":7}},{"path":"frontend/cypress/tests/zoomView/zoomView_mergeCommits.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027include merge commits in zoom view\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027show merge commits when all file types selected\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commits panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" // check if the icon for merge commits is visible"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027.code-merge-icon\u0027)"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);"},{"lineNumber":12,"author":{"gitId":"-"},"content":" });"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" it(\u0027hide merge commits when some file types unselected\u0027, () \u003d\u003e {"},{"lineNumber":15,"author":{"gitId":"-"},"content":" // open the commits panel"},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":18,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" // uncheck the java file type"},{"lineNumber":22,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)"},{"lineNumber":23,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":24,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" // check if the icon for merge commits is not visible"},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027.code-merge-icon\u0027)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" });"},{"lineNumber":30,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":28,"jonasongg":2}},{"path":"frontend/cypress/tests/zoomView/zoomView_rampChart.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027show ramp chart for period\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" // Assumptions: The commit messages on the zoom view are"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // correctly filtered according to the selected period."},{"lineNumber":4,"author":{"gitId":"-"},"content":" it(\u0027show ramp chart for all commits by default\u0027, () \u003d\u003e {"},{"lineNumber":5,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":7,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":8,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":9,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":" // ramp chart should be visible"},{"lineNumber":12,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .ramp\u0027)"},{"lineNumber":13,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" // ramp chart should have the same number of slices as commits"},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" .its(\u0027length\u0027).then(($length) \u003d\u003e {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":19,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, $length);"},{"lineNumber":20,"author":{"gitId":"-"},"content":" });"},{"lineNumber":21,"author":{"gitId":"-"},"content":" });"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" // Assumptions: The commit messages on the zoom view are"},{"lineNumber":24,"author":{"gitId":"-"},"content":" // correctly filtered according to the selected period."},{"lineNumber":25,"author":{"gitId":"-"},"content":" it(\u0027show ramp chart for selected commits when date range changed\u0027, () \u003d\u003e {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" // change since date"},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .type(\u00272018-06-10\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":32,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":38,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" // ramp chart should be visible"},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .ramp\u0027)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" // ramp chart should have the same number of slices as commits"},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)"},{"lineNumber":46,"author":{"gitId":"-"},"content":" .its(\u0027length\u0027).then(($length) \u003d\u003e {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, $length);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" });"},{"lineNumber":50,"author":{"gitId":"-"},"content":" });"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" // Assumptions: The commit messages on the zoom view are"},{"lineNumber":53,"author":{"gitId":"-"},"content":" // correctly filtered according to the selected period."},{"lineNumber":54,"author":{"gitId":"-"},"content":" it(\u0027show ramp chart for selected commits when zooming\u0027, () \u003d\u003e {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" const zoomKey \u003d Cypress.platform \u003d\u003d\u003d \u0027darwin\u0027 ? \u0027{meta}\u0027 : \u0027{ctrl}\u0027;"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" // zoom into ramp on summary panel"},{"lineNumber":58,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })"},{"lineNumber":59,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)"},{"lineNumber":60,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .click(10, 20)"},{"lineNumber":62,"author":{"gitId":"-"},"content":" .click(50, 20);"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" // commits panel should be visible"},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":66,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" // ramp chart should be visible"},{"lineNumber":69,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .ramp\u0027)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" // ramp chart should have the same number of slices as commits"},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)"},{"lineNumber":74,"author":{"gitId":"-"},"content":" .its(\u0027length\u0027).then(($length) \u003d\u003e {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":76,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, $length);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" });"},{"lineNumber":78,"author":{"gitId":"-"},"content":" });"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel"},{"lineNumber":81,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027."},{"lineNumber":82,"author":{"gitId":"-"},"content":" it(\u0027ramps should be between start date and end date\u0027, () \u003d\u003e {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" // change since date"},{"lineNumber":84,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":85,"author":{"gitId":"-"},"content":" .type(\u00272018-06-10\u0027);"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":88,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":89,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":92,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":93,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" // first ramp should be for commit after start date"},{"lineNumber":98,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":99,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":100,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2018-06-12] Setup AppVeyor CI (#142): +19 -0 lines \u0027);"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" // last ramp should be for commit before end date"},{"lineNumber":104,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":105,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":106,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2019-03-25] [#622] CsvParser#parse: fix error handling of `processLine` (#623): +30 -10 lines \u0027);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" });"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel"},{"lineNumber":111,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027."},{"lineNumber":112,"author":{"gitId":"-"},"content":" it(\u0027ramp should have expected properties\u0027, () \u003d\u003e {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":114,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":115,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":118,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":119,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":120,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":121,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" // last ramp should have expected z-index"},{"lineNumber":124,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":126,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027z-index\u0027, \u002739\u0027);"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" // last ramp should have expected width"},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":131,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027border-left-width\u0027, \u00277px\u0027);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" });"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" // Assumptions: The second author on the summary panel"},{"lineNumber":135,"author":{"gitId":"-"},"content":" // should be \u0027jamessspanggg\u0027."},{"lineNumber":136,"author":{"gitId":"-"},"content":" it(\u0027deletes commit ramp should have expected properties\u0027, () \u003d\u003e {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" // change since date"},{"lineNumber":138,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":139,"author":{"gitId":"-"},"content":" .type(\u00272019-07-16\u0027);"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":142,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":143,"author":{"gitId":"-"},"content":" .type(\u00272019-07-29\u0027);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":146,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":147,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":149,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" // deletes commit ramp should have expected color"},{"lineNumber":152,"author":{"gitId":"-"},"content":" cy.get(\u0027[title\u003d\"[2019-07-24] [#828] Revert \\\\\"v_summary.js: remove redundant calls \u0027"},{"lineNumber":153,"author":{"gitId":"-"},"content":" + \u0027to getFiltered() (#800)\\\\\" (#832): +0 -9 lines \"]\u0027)"},{"lineNumber":154,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .should(\u0027have.class\u0027, \u0027ramp__slice\u0027)"},{"lineNumber":156,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027border-bottom\u0027, \u002748px solid rgba(244, 67, 54, 0.7)\u0027);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" });"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel"},{"lineNumber":160,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027."},{"lineNumber":161,"author":{"gitId":"-"},"content":" it(\u0027merge commit ramp should have expected properties\u0027, () \u003d\u003e {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .type(\u00272024-03-04\u0027);"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":167,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":168,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":169,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" // merge commit ramp should have expected color"},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":174,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027border-bottom\u0027))"},{"lineNumber":176,"author":{"gitId":"-"},"content":" .then((border1) \u003d\u003e {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":178,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027border-bottom\u0027))"},{"lineNumber":180,"author":{"gitId":"-"},"content":" .then((border2) \u003d\u003e {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" expect(border1).to.be.eq(border2);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" });"},{"lineNumber":183,"author":{"gitId":"-"},"content":" });"},{"lineNumber":184,"author":{"gitId":"-"},"content":" });"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel"},{"lineNumber":187,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027."},{"lineNumber":188,"author":{"gitId":"-"},"content":" it(\u0027ramps from different days should have expected relative properties\u0027, () \u003d\u003e {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":190,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":191,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":194,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":195,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":196,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":197,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative z-indices"},{"lineNumber":200,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":201,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":202,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))"},{"lineNumber":203,"author":{"gitId":"-"},"content":" .then(parseInt) // get 1st z-index"},{"lineNumber":204,"author":{"gitId":"-"},"content":" .then((index1) \u003d\u003e {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":206,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":207,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))"},{"lineNumber":208,"author":{"gitId":"-"},"content":" .then(parseInt) // get 2nd z-index"},{"lineNumber":209,"author":{"gitId":"-"},"content":" .then((index2) \u003d\u003e {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" expect(index1).to.be.gt(index2);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" });"},{"lineNumber":212,"author":{"gitId":"-"},"content":" });"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative distances from the right"},{"lineNumber":215,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":216,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":217,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))"},{"lineNumber":218,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 1st distance"},{"lineNumber":219,"author":{"gitId":"-"},"content":" .then((distance1) \u003d\u003e {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":221,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":222,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 2nd distance"},{"lineNumber":224,"author":{"gitId":"-"},"content":" .then((distance2) \u003d\u003e {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" expect(distance1).to.be.lt(distance2);"},{"lineNumber":226,"author":{"gitId":"-"},"content":" });"},{"lineNumber":227,"author":{"gitId":"-"},"content":" });"},{"lineNumber":228,"author":{"gitId":"-"},"content":" });"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel"},{"lineNumber":231,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027."},{"lineNumber":232,"author":{"gitId":"-"},"content":" it(\u0027ramps from the same day should have expected relative properties\u0027, () \u003d\u003e {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":234,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":235,"author":{"gitId":"-"},"content":" .type(\u00272023-03-04\u0027);"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":238,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":239,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":240,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":241,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative z-indices"},{"lineNumber":244,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":245,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":246,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))"},{"lineNumber":247,"author":{"gitId":"-"},"content":" .then(parseInt) // get 1st z-index"},{"lineNumber":248,"author":{"gitId":"-"},"content":" .then((index1) \u003d\u003e {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":250,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":251,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))"},{"lineNumber":252,"author":{"gitId":"-"},"content":" .then(parseInt) // get 2nd z-index"},{"lineNumber":253,"author":{"gitId":"-"},"content":" .then((index2) \u003d\u003e {"},{"lineNumber":254,"author":{"gitId":"-"},"content":" expect(index1).to.be.eq(index2);"},{"lineNumber":255,"author":{"gitId":"-"},"content":" });"},{"lineNumber":256,"author":{"gitId":"-"},"content":" });"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative distances from the right"},{"lineNumber":259,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":260,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":261,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))"},{"lineNumber":262,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 1st distance"},{"lineNumber":263,"author":{"gitId":"-"},"content":" .then((distance1) \u003d\u003e {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":265,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":266,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))"},{"lineNumber":267,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 2nd distance"},{"lineNumber":268,"author":{"gitId":"-"},"content":" .then((distance2) \u003d\u003e {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" expect(distance1).to.be.gt(distance2);"},{"lineNumber":270,"author":{"gitId":"-"},"content":" });"},{"lineNumber":271,"author":{"gitId":"-"},"content":" });"},{"lineNumber":272,"author":{"gitId":"-"},"content":" });"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel"},{"lineNumber":275,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027."},{"lineNumber":276,"author":{"gitId":"-"},"content":" it(\u0027ramp should link to commit webpage\u0027, () \u003d\u003e {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":278,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":279,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":282,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":283,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":284,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":285,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" // last ramp should have expected link"},{"lineNumber":288,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":289,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":290,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027href\u0027)"},{"lineNumber":291,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027https://github.com/reposense/RepoSense/commit/19e32944d4c67ed0b6bdc5697016536cc9e17ed9\u0027);"},{"lineNumber":292,"author":{"gitId":"-"},"content":" });"},{"lineNumber":293,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":284,"jonasongg":9}},{"path":"frontend/cypress/tests/zoomView/zoomView_reload.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027reload page\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027reload page should restore all controls\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027);"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":" // change sort order"},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)"},{"lineNumber":15,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027);"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)"},{"lineNumber":18,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":19,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"scss\"]\u0027)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":23,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)"},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"all\"]\u0027)"},{"lineNumber":34,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"scss\"]\u0027)"},{"lineNumber":40,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" });"},{"lineNumber":42,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":41,"jonasongg":1}},{"path":"frontend/cypress/tests/zoomView/zoomView_selectFileTypes.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027check file types \u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check if all file types are visible by default\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":5,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .zoom__day\u0027, { timeout: 90000 })"},{"lineNumber":9,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"all\"]\u0027)"},{"lineNumber":12,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":13,"author":{"gitId":"-"},"content":" });"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" it(\u0027uncheck all file types should show no files\u0027, () \u003d\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":18,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .zoom__day\u0027)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"all\"]\u0027)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" .uncheck();"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .zoom__day\u0027)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" });"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" it(\u0027uncheck file type should uncheck all option\u0027, () \u003d\u003e {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" // Assumptions: the first author of the first repo"},{"lineNumber":33,"author":{"gitId":"-"},"content":" // committed .java, .js and .gradle files."},{"lineNumber":34,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":36,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)"},{"lineNumber":40,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"js\"]\u0027)"},{"lineNumber":44,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"all\"]\u0027)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" });"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" it(\u0027a commit should not be seen when all of its file types are unchecked\u0027, () \u003d\u003e {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" // Assumptions: the third commit (19e3294) of the first author of the first repo"},{"lineNumber":53,"author":{"gitId":"-"},"content":" // contains changes in only .java files."},{"lineNumber":54,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":57,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)"},{"lineNumber":60,"author":{"gitId":"-"},"content":" .eq(2)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" cy.get(\u0027.hash\u0027)"},{"lineNumber":63,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u002719e3294\u0027);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027.fileTypeLabel\u0027)"},{"lineNumber":65,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027java\u0027);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" });"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)"},{"lineNumber":69,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)"},{"lineNumber":73,"author":{"gitId":"-"},"content":" .should(\u0027not.contain.text\u0027, \u002719e3294\u0027);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" });"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" it.only(\u0027unchecked file type label can still remain in a commit of multiple file types\u0027, () \u003d\u003e {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" // Assumptions: the eighth commit (5ab0322) of the first author of the first repo"},{"lineNumber":78,"author":{"gitId":"-"},"content":" // contains changes in both .java and .md files."},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":80,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)"},{"lineNumber":85,"author":{"gitId":"-"},"content":" .eq(7)"},{"lineNumber":86,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027.hash\u0027)"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u00275ab0322\u0027);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" cy.get(\u0027.fileTypeLabel\u0027)"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027java\u0027)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027md\u0027);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" });"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":96,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)"},{"lineNumber":99,"author":{"gitId":"-"},"content":" // note that the same commit is now of fourth order since other commits"},{"lineNumber":100,"author":{"gitId":"-"},"content":" // were filtered out"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .eq(3)"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" cy.get(\u0027.hash\u0027)"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u00275ab0322\u0027);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" cy.get(\u0027.fileTypeLabel\u0027)"},{"lineNumber":106,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027java\u0027)"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027md\u0027);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" });"},{"lineNumber":109,"author":{"gitId":"-"},"content":" });"},{"lineNumber":110,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":105,"jonasongg":5}},{"path":"frontend/cypress/tests/zoomView/zoomView_switchZoom.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027switch zoom\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027switch zoom view should restore all default controls\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027)"},{"lineNumber":12,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" // change sort order"},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)"},{"lineNumber":16,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" // uncheck a file type"},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" // switch zoom view"},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027).scrollTo(\u0027top\u0027);"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" // check default controls"},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)"},{"lineNumber":34,"author":{"gitId":"-"},"content":" .should(\u0027not.have.value\u0027, \u0027linesOfCode\u0027)"},{"lineNumber":35,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027time\u0027);"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)"},{"lineNumber":38,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027true\u0027);"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"all\"]\u0027)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)"},{"lineNumber":44,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"java\"]\u0027)"},{"lineNumber":47,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"md\"]\u0027)"},{"lineNumber":50,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"yml\"]\u0027)"},{"lineNumber":53,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" });"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" it(\u0027switch zoom view should not retain information from previous visited tabs\u0027, () \u003d\u003e {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" // Assumptions:"},{"lineNumber":58,"author":{"gitId":"-"},"content":" // The first repository has more than one person listed."},{"lineNumber":59,"author":{"gitId":"-"},"content":" // The first day in which the first and last person contributed is different."},{"lineNumber":60,"author":{"gitId":"-"},"content":" const betweenBracketsRegex \u003d /\\((.*)\\)/;"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" let firstAuthor;"},{"lineNumber":63,"author":{"gitId":"-"},"content":" let firstDay;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" let lastAuthor;"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)"},{"lineNumber":68,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":69,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .find(\u0027.fa-list-ul\u0027)"},{"lineNumber":71,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":72,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .panel-heading \u003e .author \u003e span\u0027)"},{"lineNumber":75,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":76,"author":{"gitId":"-"},"content":" .then(($span) \u003d\u003e {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" firstAuthor \u003d $span.text().match(betweenBracketsRegex).pop();"},{"lineNumber":78,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":79,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, firstAuthor);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" });"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .zoom__day \u003e h3\u0027)"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":84,"author":{"gitId":"-"},"content":" .then(($h3) \u003d\u003e {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" firstDay \u003d $h3.text();"},{"lineNumber":86,"author":{"gitId":"-"},"content":" });"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" // switch zoom view"},{"lineNumber":89,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .find(\u0027.fa-list-ul\u0027)"},{"lineNumber":93,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .panel-heading \u003e .author \u003e span\u0027)"},{"lineNumber":97,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":98,"author":{"gitId":"-"},"content":" .should(($span) \u003d\u003e {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" lastAuthor \u003d $span.text().match(betweenBracketsRegex).pop();"},{"lineNumber":100,"author":{"gitId":"-"},"content":" expect(firstAuthor, \u0027First author to have different name from the last author\u0027)"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .to.not.equal(lastAuthor);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" })"},{"lineNumber":103,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":105,"author":{"gitId":"-"},"content":" .should(\u0027not.include\u0027, firstAuthor)"},{"lineNumber":106,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, lastAuthor);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" });"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .zoom__day \u003e h3\u0027)"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":111,"author":{"gitId":"-"},"content":" .should(($h3) \u003d\u003e {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" const lastDay \u003d $h3.text();"},{"lineNumber":113,"author":{"gitId":"-"},"content":" expect(firstDay, \u0027First displayed date should be different for different authors by assumptions\u0027)"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .to.not.equal(lastDay);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" });"},{"lineNumber":116,"author":{"gitId":"-"},"content":" });"},{"lineNumber":117,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":114,"jonasongg":3}},{"path":"frontend/package-lock.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"name\": \"reposense\","},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":4,"author":{"gitId":"sopa301"},"content":" \"lockfileVersion\": 3,"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"requires\": true,"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"packages\": {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"\": {"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"name\": \"reposense\","},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"license\": \"ISC\","},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"@fontsource/titillium-web\": \"^4.5.3\","},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-svg-core\": \"^6.5.1\","},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-brands-svg-icons\": \"^6.5.1\","},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-solid-svg-icons\": \"^6.5.1\","},{"lineNumber":16,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/vue-fontawesome\": \"^3.0.6\","},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" \"@types/markdown-it\": \"^13.0.7\","},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"@types/minimatch\": \"^5.1.2\","},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" \"@types/seedrandom\": \"^3.0.8\","},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" \"core-js\": \"^3.36.1\","},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"highlight.js\": \"^10.5.0\","},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"jszip\": \"^3.5.0\","},{"lineNumber":23,"author":{"gitId":"sopa301"},"content":" \"markdown-it\": \"^14.1.0\","},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"minimatch\": \"^5.0.1\","},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"muicss\": \"^0.10.3\","},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"normalize.css\": \"^8.0.1\","},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"pug-lint-vue\": \"^0.4.0\","},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"seedrandom\": \"^3.0.5\","},{"lineNumber":29,"author":{"gitId":"sopa301"},"content":" \"vue\": \"~3.4.0\","},{"lineNumber":30,"author":{"gitId":"sopa301"},"content":" \"vue-loader\": \"^17.4.2\","},{"lineNumber":31,"author":{"gitId":"sopa301"},"content":" \"vue-loading-overlay\": \"^6.0.4\","},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"vue-observe-visibility\": \"^1.0.0\","},{"lineNumber":33,"author":{"gitId":"sopa301"},"content":" \"vue-router\": \"^4.3.0\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"vuex\": \"^4.0.2\","},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" \"zod\": \"^3.22.4\""},{"lineNumber":36,"author":{"gitId":"-"},"content":" },"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"devDependencies\": {"},{"lineNumber":38,"author":{"gitId":"sopa301"},"content":" \"@babel/eslint-parser\": \"^7.24.1\","},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/eslint-plugin\": \"^6.0.0\","},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/parser\": \"^6.0.0\","},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-babel\": \"^5.0.4\","},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-eslint\": \"^5.0.4\","},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-typescript\": \"^5.0.4\","},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" \"@vue/cli-service\": \"^5.0.8\","},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-sfc\": \"^3.4.21\","},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"@vue/eslint-config-typescript\": \"^10.0.0\","},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.57.0\","},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-base\": \"^15.0.0\","},{"lineNumber":49,"author":{"gitId":"sopa301"},"content":" \"eslint-config-airbnb-typescript\": \"^17.1.0\","},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-import\": \"^2.29.1\","},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"eslint-plugin-vue\": \"^8.4.1\","},{"lineNumber":52,"author":{"gitId":"sopa301"},"content":" \"postcss-html\": \"^1.6.0\","},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"pug\": \"^3.0.2\","},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"pug-plain-loader\": \"^1.1.0\","},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" \"sass\": \"^1.71.0\","},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" \"sass-loader\": \"^13.3.3\","},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"stylelint\": \"^14.7.1\","},{"lineNumber":58,"author":{"gitId":"-"},"content":" \"stylelint-config-recommended-scss\": \"^6.0.0\","},{"lineNumber":59,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended-vue\": \"^1.5.0\","},{"lineNumber":60,"author":{"gitId":"-"},"content":" \"stylelint-order\": \"^5.0.0\","},{"lineNumber":61,"author":{"gitId":"sopa301"},"content":" \"stylelint-scss\": \"^4.7.0\","},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"stylelint-webpack-plugin\": \"^3.2.0\","},{"lineNumber":63,"author":{"gitId":"-"},"content":" \"typescript\": \"^4.9.5\""},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":" },"},{"lineNumber":66,"author":{"gitId":"sopa301"},"content":" \"node_modules/@aashutoshrathi/word-wrap\": {"},{"lineNumber":67,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.6\","},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":70,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":71,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":72,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":73,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \"node_modules/@achrinza/node-ipc\": {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"version\": \"9.2.6\","},{"lineNumber":76,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":77,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"@node-ipc/js-queue\": \"2.0.3\","},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"event-pubsub\": \"4.3.0\","},{"lineNumber":81,"author":{"gitId":"-"},"content":" \"js-message\": \"1.0.7\""},{"lineNumber":82,"author":{"gitId":"-"},"content":" },"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \"node\": \"8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19\""},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":" },"},{"lineNumber":87,"author":{"gitId":"-"},"content":" \"node_modules/@ampproject/remapping\": {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":89,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":90,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":91,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" \"@jridgewell/gen-mapping\": \"^0.1.0\","},{"lineNumber":93,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.9\""},{"lineNumber":94,"author":{"gitId":"-"},"content":" },"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":" },"},{"lineNumber":99,"author":{"gitId":"-"},"content":" \"node_modules/@babel/code-frame\": {"},{"lineNumber":100,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.23.5\","},{"lineNumber":101,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":102,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":103,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":104,"author":{"gitId":"sopa301"},"content":" \"@babel/highlight\": \"^7.23.4\","},{"lineNumber":105,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^2.4.2\""},{"lineNumber":106,"author":{"gitId":"-"},"content":" },"},{"lineNumber":107,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":" },"},{"lineNumber":111,"author":{"gitId":"-"},"content":" \"node_modules/@babel/compat-data\": {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" \"version\": \"7.20.10\","},{"lineNumber":113,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":114,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":115,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":" },"},{"lineNumber":119,"author":{"gitId":"-"},"content":" \"node_modules/@babel/core\": {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \"version\": \"7.20.12\","},{"lineNumber":121,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":122,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":123,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" \"@ampproject/remapping\": \"^2.1.0\","},{"lineNumber":125,"author":{"gitId":"-"},"content":" \"@babel/code-frame\": \"^7.18.6\","},{"lineNumber":126,"author":{"gitId":"-"},"content":" \"@babel/generator\": \"^7.20.7\","},{"lineNumber":127,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.20.7\","},{"lineNumber":128,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.20.11\","},{"lineNumber":129,"author":{"gitId":"-"},"content":" \"@babel/helpers\": \"^7.20.7\","},{"lineNumber":130,"author":{"gitId":"-"},"content":" \"@babel/parser\": \"^7.20.7\","},{"lineNumber":131,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\","},{"lineNumber":132,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.12\","},{"lineNumber":133,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\","},{"lineNumber":134,"author":{"gitId":"-"},"content":" \"convert-source-map\": \"^1.7.0\","},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.0\","},{"lineNumber":136,"author":{"gitId":"-"},"content":" \"gensync\": \"^1.0.0-beta.2\","},{"lineNumber":137,"author":{"gitId":"-"},"content":" \"json5\": \"^2.2.2\","},{"lineNumber":138,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\""},{"lineNumber":139,"author":{"gitId":"-"},"content":" },"},{"lineNumber":140,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":142,"author":{"gitId":"-"},"content":" },"},{"lineNumber":143,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":144,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":145,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/babel\""},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":" },"},{"lineNumber":148,"author":{"gitId":"-"},"content":" \"node_modules/@babel/eslint-parser\": {"},{"lineNumber":149,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.24.1\","},{"lineNumber":150,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.1.tgz\","},{"lineNumber":151,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ\u003d\u003d\","},{"lineNumber":152,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":153,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" \"@nicolo-ribaudo/eslint-scope-5-internals\": \"5.1.1-v1\","},{"lineNumber":155,"author":{"gitId":"-"},"content":" \"eslint-visitor-keys\": \"^2.1.0\","},{"lineNumber":156,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^6.3.1\""},{"lineNumber":157,"author":{"gitId":"-"},"content":" },"},{"lineNumber":158,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" \"node\": \"^10.13.0 || ^12.13.0 || \u003e\u003d14.0.0\""},{"lineNumber":160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":161,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":162,"author":{"gitId":"sopa301"},"content":" \"@babel/core\": \"^7.11.0\","},{"lineNumber":163,"author":{"gitId":"-"},"content":" \"eslint\": \"^7.5.0 || ^8.0.0\""},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":" },"},{"lineNumber":166,"author":{"gitId":"-"},"content":" \"node_modules/@babel/generator\": {"},{"lineNumber":167,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.23.6\","},{"lineNumber":168,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":169,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":170,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":171,"author":{"gitId":"sopa301"},"content":" \"@babel/types\": \"^7.23.6\","},{"lineNumber":172,"author":{"gitId":"-"},"content":" \"@jridgewell/gen-mapping\": \"^0.3.2\","},{"lineNumber":173,"author":{"gitId":"sopa301"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.17\","},{"lineNumber":174,"author":{"gitId":"-"},"content":" \"jsesc\": \"^2.5.1\""},{"lineNumber":175,"author":{"gitId":"-"},"content":" },"},{"lineNumber":176,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":179,"author":{"gitId":"-"},"content":" },"},{"lineNumber":180,"author":{"gitId":"-"},"content":" \"node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping\": {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" \"version\": \"0.3.2\","},{"lineNumber":182,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":183,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":184,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" \"@jridgewell/set-array\": \"^1.0.1\","},{"lineNumber":186,"author":{"gitId":"-"},"content":" \"@jridgewell/sourcemap-codec\": \"^1.4.10\","},{"lineNumber":187,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.9\""},{"lineNumber":188,"author":{"gitId":"-"},"content":" },"},{"lineNumber":189,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":190,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":" },"},{"lineNumber":193,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-annotate-as-pure\": {"},{"lineNumber":194,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":195,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":196,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":197,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.6\""},{"lineNumber":199,"author":{"gitId":"-"},"content":" },"},{"lineNumber":200,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":202,"author":{"gitId":"-"},"content":" }"},{"lineNumber":203,"author":{"gitId":"-"},"content":" },"},{"lineNumber":204,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-builder-binary-assignment-operator-visitor\": {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":206,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":207,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":208,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" \"@babel/helper-explode-assignable-expression\": \"^7.18.6\","},{"lineNumber":210,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.9\""},{"lineNumber":211,"author":{"gitId":"-"},"content":" },"},{"lineNumber":212,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":" },"},{"lineNumber":216,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-compilation-targets\": {"},{"lineNumber":217,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":218,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":219,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":220,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" \"@babel/compat-data\": \"^7.20.5\","},{"lineNumber":222,"author":{"gitId":"-"},"content":" \"@babel/helper-validator-option\": \"^7.18.6\","},{"lineNumber":223,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.3\","},{"lineNumber":224,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^5.1.1\","},{"lineNumber":225,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\""},{"lineNumber":226,"author":{"gitId":"-"},"content":" },"},{"lineNumber":227,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":229,"author":{"gitId":"-"},"content":" },"},{"lineNumber":230,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":231,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\""},{"lineNumber":232,"author":{"gitId":"-"},"content":" }"},{"lineNumber":233,"author":{"gitId":"-"},"content":" },"},{"lineNumber":234,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-create-class-features-plugin\": {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" \"version\": \"7.20.12\","},{"lineNumber":236,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":237,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":238,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":239,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\","},{"lineNumber":240,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\","},{"lineNumber":241,"author":{"gitId":"-"},"content":" \"@babel/helper-function-name\": \"^7.19.0\","},{"lineNumber":242,"author":{"gitId":"-"},"content":" \"@babel/helper-member-expression-to-functions\": \"^7.20.7\","},{"lineNumber":243,"author":{"gitId":"-"},"content":" \"@babel/helper-optimise-call-expression\": \"^7.18.6\","},{"lineNumber":244,"author":{"gitId":"-"},"content":" \"@babel/helper-replace-supers\": \"^7.20.7\","},{"lineNumber":245,"author":{"gitId":"-"},"content":" \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\","},{"lineNumber":246,"author":{"gitId":"-"},"content":" \"@babel/helper-split-export-declaration\": \"^7.18.6\""},{"lineNumber":247,"author":{"gitId":"-"},"content":" },"},{"lineNumber":248,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":250,"author":{"gitId":"-"},"content":" },"},{"lineNumber":251,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":252,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\""},{"lineNumber":253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":254,"author":{"gitId":"-"},"content":" },"},{"lineNumber":255,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-create-regexp-features-plugin\": {"},{"lineNumber":256,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\","},{"lineNumber":257,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":258,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":259,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":260,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\","},{"lineNumber":261,"author":{"gitId":"-"},"content":" \"regexpu-core\": \"^5.2.1\""},{"lineNumber":262,"author":{"gitId":"-"},"content":" },"},{"lineNumber":263,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":265,"author":{"gitId":"-"},"content":" },"},{"lineNumber":266,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":267,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\""},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":" },"},{"lineNumber":270,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-define-polyfill-provider\": {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" \"version\": \"0.3.3\","},{"lineNumber":272,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":273,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":274,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":275,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.17.7\","},{"lineNumber":276,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.16.7\","},{"lineNumber":277,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.1\","},{"lineNumber":278,"author":{"gitId":"-"},"content":" \"lodash.debounce\": \"^4.0.8\","},{"lineNumber":279,"author":{"gitId":"-"},"content":" \"resolve\": \"^1.14.2\","},{"lineNumber":280,"author":{"gitId":"-"},"content":" \"semver\": \"^6.1.2\""},{"lineNumber":281,"author":{"gitId":"-"},"content":" },"},{"lineNumber":282,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.4.0-0\""},{"lineNumber":284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":285,"author":{"gitId":"-"},"content":" },"},{"lineNumber":286,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-environment-visitor\": {"},{"lineNumber":287,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.22.20\","},{"lineNumber":288,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":289,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":290,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":292,"author":{"gitId":"-"},"content":" }"},{"lineNumber":293,"author":{"gitId":"-"},"content":" },"},{"lineNumber":294,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-explode-assignable-expression\": {"},{"lineNumber":295,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":296,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":297,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":298,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":299,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.6\""},{"lineNumber":300,"author":{"gitId":"-"},"content":" },"},{"lineNumber":301,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":302,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":303,"author":{"gitId":"-"},"content":" }"},{"lineNumber":304,"author":{"gitId":"-"},"content":" },"},{"lineNumber":305,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-function-name\": {"},{"lineNumber":306,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.23.0\","},{"lineNumber":307,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":308,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":309,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":310,"author":{"gitId":"sopa301"},"content":" \"@babel/template\": \"^7.22.15\","},{"lineNumber":311,"author":{"gitId":"sopa301"},"content":" \"@babel/types\": \"^7.23.0\""},{"lineNumber":312,"author":{"gitId":"-"},"content":" },"},{"lineNumber":313,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":314,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":315,"author":{"gitId":"-"},"content":" }"},{"lineNumber":316,"author":{"gitId":"-"},"content":" },"},{"lineNumber":317,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-hoist-variables\": {"},{"lineNumber":318,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.22.5\","},{"lineNumber":319,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":320,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":321,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":322,"author":{"gitId":"sopa301"},"content":" \"@babel/types\": \"^7.22.5\""},{"lineNumber":323,"author":{"gitId":"-"},"content":" },"},{"lineNumber":324,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":325,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":326,"author":{"gitId":"-"},"content":" }"},{"lineNumber":327,"author":{"gitId":"-"},"content":" },"},{"lineNumber":328,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-member-expression-to-functions\": {"},{"lineNumber":329,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":330,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":331,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":332,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":333,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\""},{"lineNumber":334,"author":{"gitId":"-"},"content":" },"},{"lineNumber":335,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":336,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":337,"author":{"gitId":"-"},"content":" }"},{"lineNumber":338,"author":{"gitId":"-"},"content":" },"},{"lineNumber":339,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-module-imports\": {"},{"lineNumber":340,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":341,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":342,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":343,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":344,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.6\""},{"lineNumber":345,"author":{"gitId":"-"},"content":" },"},{"lineNumber":346,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":347,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":348,"author":{"gitId":"-"},"content":" }"},{"lineNumber":349,"author":{"gitId":"-"},"content":" },"},{"lineNumber":350,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-module-transforms\": {"},{"lineNumber":351,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\","},{"lineNumber":352,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":353,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":354,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":355,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\","},{"lineNumber":356,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.18.6\","},{"lineNumber":357,"author":{"gitId":"-"},"content":" \"@babel/helper-simple-access\": \"^7.20.2\","},{"lineNumber":358,"author":{"gitId":"-"},"content":" \"@babel/helper-split-export-declaration\": \"^7.18.6\","},{"lineNumber":359,"author":{"gitId":"-"},"content":" \"@babel/helper-validator-identifier\": \"^7.19.1\","},{"lineNumber":360,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\","},{"lineNumber":361,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.10\","},{"lineNumber":362,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\""},{"lineNumber":363,"author":{"gitId":"-"},"content":" },"},{"lineNumber":364,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":365,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":366,"author":{"gitId":"-"},"content":" }"},{"lineNumber":367,"author":{"gitId":"-"},"content":" },"},{"lineNumber":368,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-optimise-call-expression\": {"},{"lineNumber":369,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":370,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":371,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":372,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":373,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.6\""},{"lineNumber":374,"author":{"gitId":"-"},"content":" },"},{"lineNumber":375,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":376,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":377,"author":{"gitId":"-"},"content":" }"},{"lineNumber":378,"author":{"gitId":"-"},"content":" },"},{"lineNumber":379,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-plugin-utils\": {"},{"lineNumber":380,"author":{"gitId":"-"},"content":" \"version\": \"7.20.2\","},{"lineNumber":381,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":382,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":383,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":384,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":385,"author":{"gitId":"-"},"content":" }"},{"lineNumber":386,"author":{"gitId":"-"},"content":" },"},{"lineNumber":387,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-remap-async-to-generator\": {"},{"lineNumber":388,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":389,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":390,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":391,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":392,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\","},{"lineNumber":393,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\","},{"lineNumber":394,"author":{"gitId":"-"},"content":" \"@babel/helper-wrap-function\": \"^7.18.9\","},{"lineNumber":395,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.9\""},{"lineNumber":396,"author":{"gitId":"-"},"content":" },"},{"lineNumber":397,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":398,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":399,"author":{"gitId":"-"},"content":" },"},{"lineNumber":400,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":401,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\""},{"lineNumber":402,"author":{"gitId":"-"},"content":" }"},{"lineNumber":403,"author":{"gitId":"-"},"content":" },"},{"lineNumber":404,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-replace-supers\": {"},{"lineNumber":405,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":406,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":407,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":408,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":409,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\","},{"lineNumber":410,"author":{"gitId":"-"},"content":" \"@babel/helper-member-expression-to-functions\": \"^7.20.7\","},{"lineNumber":411,"author":{"gitId":"-"},"content":" \"@babel/helper-optimise-call-expression\": \"^7.18.6\","},{"lineNumber":412,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\","},{"lineNumber":413,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.7\","},{"lineNumber":414,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\""},{"lineNumber":415,"author":{"gitId":"-"},"content":" },"},{"lineNumber":416,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":417,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":418,"author":{"gitId":"-"},"content":" }"},{"lineNumber":419,"author":{"gitId":"-"},"content":" },"},{"lineNumber":420,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-simple-access\": {"},{"lineNumber":421,"author":{"gitId":"-"},"content":" \"version\": \"7.20.2\","},{"lineNumber":422,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":423,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":424,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":425,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.2\""},{"lineNumber":426,"author":{"gitId":"-"},"content":" },"},{"lineNumber":427,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":428,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":429,"author":{"gitId":"-"},"content":" }"},{"lineNumber":430,"author":{"gitId":"-"},"content":" },"},{"lineNumber":431,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-skip-transparent-expression-wrappers\": {"},{"lineNumber":432,"author":{"gitId":"-"},"content":" \"version\": \"7.20.0\","},{"lineNumber":433,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":434,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":435,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":436,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.0\""},{"lineNumber":437,"author":{"gitId":"-"},"content":" },"},{"lineNumber":438,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":439,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":440,"author":{"gitId":"-"},"content":" }"},{"lineNumber":441,"author":{"gitId":"-"},"content":" },"},{"lineNumber":442,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-split-export-declaration\": {"},{"lineNumber":443,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.22.6\","},{"lineNumber":444,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":445,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":446,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":447,"author":{"gitId":"sopa301"},"content":" \"@babel/types\": \"^7.22.5\""},{"lineNumber":448,"author":{"gitId":"-"},"content":" },"},{"lineNumber":449,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":450,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":451,"author":{"gitId":"-"},"content":" }"},{"lineNumber":452,"author":{"gitId":"-"},"content":" },"},{"lineNumber":453,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-string-parser\": {"},{"lineNumber":454,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.23.4\","},{"lineNumber":455,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":456,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":457,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":459,"author":{"gitId":"-"},"content":" }"},{"lineNumber":460,"author":{"gitId":"-"},"content":" },"},{"lineNumber":461,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-validator-identifier\": {"},{"lineNumber":462,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.22.20\","},{"lineNumber":463,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":464,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":465,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":466,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":467,"author":{"gitId":"-"},"content":" }"},{"lineNumber":468,"author":{"gitId":"-"},"content":" },"},{"lineNumber":469,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-validator-option\": {"},{"lineNumber":470,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":471,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":472,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":473,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":474,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":475,"author":{"gitId":"-"},"content":" }"},{"lineNumber":476,"author":{"gitId":"-"},"content":" },"},{"lineNumber":477,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-wrap-function\": {"},{"lineNumber":478,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\","},{"lineNumber":479,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":480,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":481,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":482,"author":{"gitId":"-"},"content":" \"@babel/helper-function-name\": \"^7.19.0\","},{"lineNumber":483,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.18.10\","},{"lineNumber":484,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.5\","},{"lineNumber":485,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.5\""},{"lineNumber":486,"author":{"gitId":"-"},"content":" },"},{"lineNumber":487,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":488,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":489,"author":{"gitId":"-"},"content":" }"},{"lineNumber":490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":491,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helpers\": {"},{"lineNumber":492,"author":{"gitId":"-"},"content":" \"version\": \"7.20.13\","},{"lineNumber":493,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":494,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":495,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":496,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\","},{"lineNumber":497,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.13\","},{"lineNumber":498,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\""},{"lineNumber":499,"author":{"gitId":"-"},"content":" },"},{"lineNumber":500,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":501,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":502,"author":{"gitId":"-"},"content":" }"},{"lineNumber":503,"author":{"gitId":"-"},"content":" },"},{"lineNumber":504,"author":{"gitId":"-"},"content":" \"node_modules/@babel/highlight\": {"},{"lineNumber":505,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.23.4\","},{"lineNumber":506,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":507,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":508,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":509,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-validator-identifier\": \"^7.22.20\","},{"lineNumber":510,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^2.4.2\","},{"lineNumber":511,"author":{"gitId":"-"},"content":" \"js-tokens\": \"^4.0.0\""},{"lineNumber":512,"author":{"gitId":"-"},"content":" },"},{"lineNumber":513,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":514,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":515,"author":{"gitId":"-"},"content":" }"},{"lineNumber":516,"author":{"gitId":"-"},"content":" },"},{"lineNumber":517,"author":{"gitId":"-"},"content":" \"node_modules/@babel/parser\": {"},{"lineNumber":518,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.24.0\","},{"lineNumber":519,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":520,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":521,"author":{"gitId":"-"},"content":" \"parser\": \"bin/babel-parser.js\""},{"lineNumber":522,"author":{"gitId":"-"},"content":" },"},{"lineNumber":523,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":524,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":525,"author":{"gitId":"-"},"content":" }"},{"lineNumber":526,"author":{"gitId":"-"},"content":" },"},{"lineNumber":527,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\": {"},{"lineNumber":528,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":529,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":530,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":531,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":532,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":533,"author":{"gitId":"-"},"content":" },"},{"lineNumber":534,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":535,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":536,"author":{"gitId":"-"},"content":" },"},{"lineNumber":537,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":538,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\""},{"lineNumber":539,"author":{"gitId":"-"},"content":" }"},{"lineNumber":540,"author":{"gitId":"-"},"content":" },"},{"lineNumber":541,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\": {"},{"lineNumber":542,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":543,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":544,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":545,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":546,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":547,"author":{"gitId":"-"},"content":" \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\","},{"lineNumber":548,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-optional-chaining\": \"^7.20.7\""},{"lineNumber":549,"author":{"gitId":"-"},"content":" },"},{"lineNumber":550,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":551,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":552,"author":{"gitId":"-"},"content":" },"},{"lineNumber":553,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":554,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.13.0\""},{"lineNumber":555,"author":{"gitId":"-"},"content":" }"},{"lineNumber":556,"author":{"gitId":"-"},"content":" },"},{"lineNumber":557,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-async-generator-functions\": {"},{"lineNumber":558,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":559,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":560,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":561,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":562,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\","},{"lineNumber":563,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":564,"author":{"gitId":"-"},"content":" \"@babel/helper-remap-async-to-generator\": \"^7.18.9\","},{"lineNumber":565,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-async-generators\": \"^7.8.4\""},{"lineNumber":566,"author":{"gitId":"-"},"content":" },"},{"lineNumber":567,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":568,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":569,"author":{"gitId":"-"},"content":" },"},{"lineNumber":570,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":571,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":572,"author":{"gitId":"-"},"content":" }"},{"lineNumber":573,"author":{"gitId":"-"},"content":" },"},{"lineNumber":574,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-class-properties\": {"},{"lineNumber":575,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":576,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":577,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":578,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":579,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.18.6\","},{"lineNumber":580,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":581,"author":{"gitId":"-"},"content":" },"},{"lineNumber":582,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":583,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":584,"author":{"gitId":"-"},"content":" },"},{"lineNumber":585,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":586,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":587,"author":{"gitId":"-"},"content":" }"},{"lineNumber":588,"author":{"gitId":"-"},"content":" },"},{"lineNumber":589,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-class-static-block\": {"},{"lineNumber":590,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":591,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":592,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":593,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":594,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.20.7\","},{"lineNumber":595,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":596,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\""},{"lineNumber":597,"author":{"gitId":"-"},"content":" },"},{"lineNumber":598,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":599,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":600,"author":{"gitId":"-"},"content":" },"},{"lineNumber":601,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":602,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.12.0\""},{"lineNumber":603,"author":{"gitId":"-"},"content":" }"},{"lineNumber":604,"author":{"gitId":"-"},"content":" },"},{"lineNumber":605,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-decorators\": {"},{"lineNumber":606,"author":{"gitId":"-"},"content":" \"version\": \"7.20.13\","},{"lineNumber":607,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":608,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":609,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":610,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.20.12\","},{"lineNumber":611,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":612,"author":{"gitId":"-"},"content":" \"@babel/helper-replace-supers\": \"^7.20.7\","},{"lineNumber":613,"author":{"gitId":"-"},"content":" \"@babel/helper-split-export-declaration\": \"^7.18.6\","},{"lineNumber":614,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-decorators\": \"^7.19.0\""},{"lineNumber":615,"author":{"gitId":"-"},"content":" },"},{"lineNumber":616,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":617,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":618,"author":{"gitId":"-"},"content":" },"},{"lineNumber":619,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":620,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":621,"author":{"gitId":"-"},"content":" }"},{"lineNumber":622,"author":{"gitId":"-"},"content":" },"},{"lineNumber":623,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-dynamic-import\": {"},{"lineNumber":624,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":625,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":626,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":627,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":628,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\","},{"lineNumber":629,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\""},{"lineNumber":630,"author":{"gitId":"-"},"content":" },"},{"lineNumber":631,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":632,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":633,"author":{"gitId":"-"},"content":" },"},{"lineNumber":634,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":635,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":636,"author":{"gitId":"-"},"content":" }"},{"lineNumber":637,"author":{"gitId":"-"},"content":" },"},{"lineNumber":638,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-export-namespace-from\": {"},{"lineNumber":639,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":640,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":641,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":642,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":643,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\","},{"lineNumber":644,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-export-namespace-from\": \"^7.8.3\""},{"lineNumber":645,"author":{"gitId":"-"},"content":" },"},{"lineNumber":646,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":647,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":648,"author":{"gitId":"-"},"content":" },"},{"lineNumber":649,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":650,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":651,"author":{"gitId":"-"},"content":" }"},{"lineNumber":652,"author":{"gitId":"-"},"content":" },"},{"lineNumber":653,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-json-strings\": {"},{"lineNumber":654,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":655,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":656,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":657,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":658,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\","},{"lineNumber":659,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-json-strings\": \"^7.8.3\""},{"lineNumber":660,"author":{"gitId":"-"},"content":" },"},{"lineNumber":661,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":662,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":663,"author":{"gitId":"-"},"content":" },"},{"lineNumber":664,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":665,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":666,"author":{"gitId":"-"},"content":" }"},{"lineNumber":667,"author":{"gitId":"-"},"content":" },"},{"lineNumber":668,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-logical-assignment-operators\": {"},{"lineNumber":669,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":670,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":671,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":672,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":673,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":674,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\""},{"lineNumber":675,"author":{"gitId":"-"},"content":" },"},{"lineNumber":676,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":677,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":678,"author":{"gitId":"-"},"content":" },"},{"lineNumber":679,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":680,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":681,"author":{"gitId":"-"},"content":" }"},{"lineNumber":682,"author":{"gitId":"-"},"content":" },"},{"lineNumber":683,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-nullish-coalescing-operator\": {"},{"lineNumber":684,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":685,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":686,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":687,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":688,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\","},{"lineNumber":689,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\""},{"lineNumber":690,"author":{"gitId":"-"},"content":" },"},{"lineNumber":691,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":692,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":693,"author":{"gitId":"-"},"content":" },"},{"lineNumber":694,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":695,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":696,"author":{"gitId":"-"},"content":" }"},{"lineNumber":697,"author":{"gitId":"-"},"content":" },"},{"lineNumber":698,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-numeric-separator\": {"},{"lineNumber":699,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":700,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":701,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":702,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":703,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\","},{"lineNumber":704,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\""},{"lineNumber":705,"author":{"gitId":"-"},"content":" },"},{"lineNumber":706,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":707,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":708,"author":{"gitId":"-"},"content":" },"},{"lineNumber":709,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":710,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":711,"author":{"gitId":"-"},"content":" }"},{"lineNumber":712,"author":{"gitId":"-"},"content":" },"},{"lineNumber":713,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-object-rest-spread\": {"},{"lineNumber":714,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":715,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":716,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":717,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":718,"author":{"gitId":"-"},"content":" \"@babel/compat-data\": \"^7.20.5\","},{"lineNumber":719,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.20.7\","},{"lineNumber":720,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":721,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\","},{"lineNumber":722,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-parameters\": \"^7.20.7\""},{"lineNumber":723,"author":{"gitId":"-"},"content":" },"},{"lineNumber":724,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":725,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":726,"author":{"gitId":"-"},"content":" },"},{"lineNumber":727,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":728,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":729,"author":{"gitId":"-"},"content":" }"},{"lineNumber":730,"author":{"gitId":"-"},"content":" },"},{"lineNumber":731,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-optional-catch-binding\": {"},{"lineNumber":732,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":733,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":734,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":735,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":736,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\","},{"lineNumber":737,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\""},{"lineNumber":738,"author":{"gitId":"-"},"content":" },"},{"lineNumber":739,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":740,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":741,"author":{"gitId":"-"},"content":" },"},{"lineNumber":742,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":743,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":744,"author":{"gitId":"-"},"content":" }"},{"lineNumber":745,"author":{"gitId":"-"},"content":" },"},{"lineNumber":746,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-optional-chaining\": {"},{"lineNumber":747,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":748,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":749,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":750,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":751,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":752,"author":{"gitId":"-"},"content":" \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\","},{"lineNumber":753,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\""},{"lineNumber":754,"author":{"gitId":"-"},"content":" },"},{"lineNumber":755,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":756,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":757,"author":{"gitId":"-"},"content":" },"},{"lineNumber":758,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":759,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":760,"author":{"gitId":"-"},"content":" }"},{"lineNumber":761,"author":{"gitId":"-"},"content":" },"},{"lineNumber":762,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-private-methods\": {"},{"lineNumber":763,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":764,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":765,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":766,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":767,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.18.6\","},{"lineNumber":768,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":769,"author":{"gitId":"-"},"content":" },"},{"lineNumber":770,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":771,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":772,"author":{"gitId":"-"},"content":" },"},{"lineNumber":773,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":774,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":775,"author":{"gitId":"-"},"content":" }"},{"lineNumber":776,"author":{"gitId":"-"},"content":" },"},{"lineNumber":777,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-private-property-in-object\": {"},{"lineNumber":778,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\","},{"lineNumber":779,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":780,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":781,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":782,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\","},{"lineNumber":783,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.20.5\","},{"lineNumber":784,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":785,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\""},{"lineNumber":786,"author":{"gitId":"-"},"content":" },"},{"lineNumber":787,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":788,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":789,"author":{"gitId":"-"},"content":" },"},{"lineNumber":790,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":791,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":792,"author":{"gitId":"-"},"content":" }"},{"lineNumber":793,"author":{"gitId":"-"},"content":" },"},{"lineNumber":794,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-unicode-property-regex\": {"},{"lineNumber":795,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":796,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":797,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":798,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":799,"author":{"gitId":"-"},"content":" \"@babel/helper-create-regexp-features-plugin\": \"^7.18.6\","},{"lineNumber":800,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":801,"author":{"gitId":"-"},"content":" },"},{"lineNumber":802,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":803,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":804,"author":{"gitId":"-"},"content":" },"},{"lineNumber":805,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":806,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":807,"author":{"gitId":"-"},"content":" }"},{"lineNumber":808,"author":{"gitId":"-"},"content":" },"},{"lineNumber":809,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-async-generators\": {"},{"lineNumber":810,"author":{"gitId":"-"},"content":" \"version\": \"7.8.4\","},{"lineNumber":811,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":812,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":813,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":814,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\""},{"lineNumber":815,"author":{"gitId":"-"},"content":" },"},{"lineNumber":816,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":817,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":818,"author":{"gitId":"-"},"content":" }"},{"lineNumber":819,"author":{"gitId":"-"},"content":" },"},{"lineNumber":820,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-class-properties\": {"},{"lineNumber":821,"author":{"gitId":"-"},"content":" \"version\": \"7.12.13\","},{"lineNumber":822,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":823,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":824,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":825,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.12.13\""},{"lineNumber":826,"author":{"gitId":"-"},"content":" },"},{"lineNumber":827,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":828,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":829,"author":{"gitId":"-"},"content":" }"},{"lineNumber":830,"author":{"gitId":"-"},"content":" },"},{"lineNumber":831,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-class-static-block\": {"},{"lineNumber":832,"author":{"gitId":"-"},"content":" \"version\": \"7.14.5\","},{"lineNumber":833,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":834,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":835,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":836,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.14.5\""},{"lineNumber":837,"author":{"gitId":"-"},"content":" },"},{"lineNumber":838,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":839,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":840,"author":{"gitId":"-"},"content":" },"},{"lineNumber":841,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":842,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":843,"author":{"gitId":"-"},"content":" }"},{"lineNumber":844,"author":{"gitId":"-"},"content":" },"},{"lineNumber":845,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-decorators\": {"},{"lineNumber":846,"author":{"gitId":"-"},"content":" \"version\": \"7.19.0\","},{"lineNumber":847,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":848,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":849,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":850,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.19.0\""},{"lineNumber":851,"author":{"gitId":"-"},"content":" },"},{"lineNumber":852,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":853,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":854,"author":{"gitId":"-"},"content":" },"},{"lineNumber":855,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":856,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":857,"author":{"gitId":"-"},"content":" }"},{"lineNumber":858,"author":{"gitId":"-"},"content":" },"},{"lineNumber":859,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-dynamic-import\": {"},{"lineNumber":860,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\","},{"lineNumber":861,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":862,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":863,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":864,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\""},{"lineNumber":865,"author":{"gitId":"-"},"content":" },"},{"lineNumber":866,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":867,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":868,"author":{"gitId":"-"},"content":" }"},{"lineNumber":869,"author":{"gitId":"-"},"content":" },"},{"lineNumber":870,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-export-namespace-from\": {"},{"lineNumber":871,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\","},{"lineNumber":872,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":873,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":874,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":875,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.3\""},{"lineNumber":876,"author":{"gitId":"-"},"content":" },"},{"lineNumber":877,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":878,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":879,"author":{"gitId":"-"},"content":" }"},{"lineNumber":880,"author":{"gitId":"-"},"content":" },"},{"lineNumber":881,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-import-assertions\": {"},{"lineNumber":882,"author":{"gitId":"-"},"content":" \"version\": \"7.20.0\","},{"lineNumber":883,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":884,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":885,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":886,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.19.0\""},{"lineNumber":887,"author":{"gitId":"-"},"content":" },"},{"lineNumber":888,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":889,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":890,"author":{"gitId":"-"},"content":" },"},{"lineNumber":891,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":892,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":893,"author":{"gitId":"-"},"content":" }"},{"lineNumber":894,"author":{"gitId":"-"},"content":" },"},{"lineNumber":895,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-json-strings\": {"},{"lineNumber":896,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\","},{"lineNumber":897,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":898,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":899,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":900,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\""},{"lineNumber":901,"author":{"gitId":"-"},"content":" },"},{"lineNumber":902,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":903,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":904,"author":{"gitId":"-"},"content":" }"},{"lineNumber":905,"author":{"gitId":"-"},"content":" },"},{"lineNumber":906,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-jsx\": {"},{"lineNumber":907,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":908,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":909,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":910,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":911,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":912,"author":{"gitId":"-"},"content":" },"},{"lineNumber":913,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":914,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":915,"author":{"gitId":"-"},"content":" },"},{"lineNumber":916,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":917,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":918,"author":{"gitId":"-"},"content":" }"},{"lineNumber":919,"author":{"gitId":"-"},"content":" },"},{"lineNumber":920,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-logical-assignment-operators\": {"},{"lineNumber":921,"author":{"gitId":"-"},"content":" \"version\": \"7.10.4\","},{"lineNumber":922,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":923,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":924,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":925,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.10.4\""},{"lineNumber":926,"author":{"gitId":"-"},"content":" },"},{"lineNumber":927,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":928,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":929,"author":{"gitId":"-"},"content":" }"},{"lineNumber":930,"author":{"gitId":"-"},"content":" },"},{"lineNumber":931,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-nullish-coalescing-operator\": {"},{"lineNumber":932,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\","},{"lineNumber":933,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":934,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":935,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":936,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\""},{"lineNumber":937,"author":{"gitId":"-"},"content":" },"},{"lineNumber":938,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":939,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":940,"author":{"gitId":"-"},"content":" }"},{"lineNumber":941,"author":{"gitId":"-"},"content":" },"},{"lineNumber":942,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-numeric-separator\": {"},{"lineNumber":943,"author":{"gitId":"-"},"content":" \"version\": \"7.10.4\","},{"lineNumber":944,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":945,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":946,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":947,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.10.4\""},{"lineNumber":948,"author":{"gitId":"-"},"content":" },"},{"lineNumber":949,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":950,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":951,"author":{"gitId":"-"},"content":" }"},{"lineNumber":952,"author":{"gitId":"-"},"content":" },"},{"lineNumber":953,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-object-rest-spread\": {"},{"lineNumber":954,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\","},{"lineNumber":955,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":956,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":957,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":958,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\""},{"lineNumber":959,"author":{"gitId":"-"},"content":" },"},{"lineNumber":960,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":961,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":962,"author":{"gitId":"-"},"content":" }"},{"lineNumber":963,"author":{"gitId":"-"},"content":" },"},{"lineNumber":964,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-optional-catch-binding\": {"},{"lineNumber":965,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\","},{"lineNumber":966,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":967,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":968,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":969,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\""},{"lineNumber":970,"author":{"gitId":"-"},"content":" },"},{"lineNumber":971,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":972,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":973,"author":{"gitId":"-"},"content":" }"},{"lineNumber":974,"author":{"gitId":"-"},"content":" },"},{"lineNumber":975,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-optional-chaining\": {"},{"lineNumber":976,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\","},{"lineNumber":977,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":978,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":979,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":980,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\""},{"lineNumber":981,"author":{"gitId":"-"},"content":" },"},{"lineNumber":982,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":983,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":984,"author":{"gitId":"-"},"content":" }"},{"lineNumber":985,"author":{"gitId":"-"},"content":" },"},{"lineNumber":986,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-private-property-in-object\": {"},{"lineNumber":987,"author":{"gitId":"-"},"content":" \"version\": \"7.14.5\","},{"lineNumber":988,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":989,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":990,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":991,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.14.5\""},{"lineNumber":992,"author":{"gitId":"-"},"content":" },"},{"lineNumber":993,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":994,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":995,"author":{"gitId":"-"},"content":" },"},{"lineNumber":996,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":997,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":998,"author":{"gitId":"-"},"content":" }"},{"lineNumber":999,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1000,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-top-level-await\": {"},{"lineNumber":1001,"author":{"gitId":"-"},"content":" \"version\": \"7.14.5\","},{"lineNumber":1002,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1003,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1004,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1005,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.14.5\""},{"lineNumber":1006,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1007,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1008,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1009,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1010,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1011,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1012,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1013,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1014,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-arrow-functions\": {"},{"lineNumber":1015,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":1016,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1017,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1018,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1019,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\""},{"lineNumber":1020,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1021,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1022,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1023,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1024,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1025,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1026,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1027,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1028,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-async-to-generator\": {"},{"lineNumber":1029,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":1030,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1031,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1032,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1033,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.18.6\","},{"lineNumber":1034,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1035,"author":{"gitId":"-"},"content":" \"@babel/helper-remap-async-to-generator\": \"^7.18.9\""},{"lineNumber":1036,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1037,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1038,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1039,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1040,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1041,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1042,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1043,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1044,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-block-scoped-functions\": {"},{"lineNumber":1045,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1046,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1047,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1048,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1049,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1050,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1051,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1052,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1053,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1054,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1055,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1056,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1057,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1058,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-block-scoping\": {"},{"lineNumber":1059,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\","},{"lineNumber":1060,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1061,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1062,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1063,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\""},{"lineNumber":1064,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1065,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1066,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1067,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1068,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1069,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1070,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1071,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1072,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-classes\": {"},{"lineNumber":1073,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":1074,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1075,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1076,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1077,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\","},{"lineNumber":1078,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.20.7\","},{"lineNumber":1079,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\","},{"lineNumber":1080,"author":{"gitId":"-"},"content":" \"@babel/helper-function-name\": \"^7.19.0\","},{"lineNumber":1081,"author":{"gitId":"-"},"content":" \"@babel/helper-optimise-call-expression\": \"^7.18.6\","},{"lineNumber":1082,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1083,"author":{"gitId":"-"},"content":" \"@babel/helper-replace-supers\": \"^7.20.7\","},{"lineNumber":1084,"author":{"gitId":"-"},"content":" \"@babel/helper-split-export-declaration\": \"^7.18.6\","},{"lineNumber":1085,"author":{"gitId":"-"},"content":" \"globals\": \"^11.1.0\""},{"lineNumber":1086,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1087,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1088,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1089,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1090,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1091,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1092,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1093,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1094,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-computed-properties\": {"},{"lineNumber":1095,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":1096,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1097,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1098,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1099,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1100,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\""},{"lineNumber":1101,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1102,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1103,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1104,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1105,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1106,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1108,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1109,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-destructuring\": {"},{"lineNumber":1110,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":1111,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1112,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1113,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1114,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\""},{"lineNumber":1115,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1116,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1117,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1118,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1119,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1120,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1122,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1123,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-dotall-regex\": {"},{"lineNumber":1124,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1125,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1126,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1127,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1128,"author":{"gitId":"-"},"content":" \"@babel/helper-create-regexp-features-plugin\": \"^7.18.6\","},{"lineNumber":1129,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1130,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1131,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1132,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1133,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1134,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1135,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1136,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1137,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1138,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-duplicate-keys\": {"},{"lineNumber":1139,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":1140,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1141,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1142,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1143,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\""},{"lineNumber":1144,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1145,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1146,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1147,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1148,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1149,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1151,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1152,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-exponentiation-operator\": {"},{"lineNumber":1153,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1154,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1155,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1156,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1157,"author":{"gitId":"-"},"content":" \"@babel/helper-builder-binary-assignment-operator-visitor\": \"^7.18.6\","},{"lineNumber":1158,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1159,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1160,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1161,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1162,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1163,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1164,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1166,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1167,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-for-of\": {"},{"lineNumber":1168,"author":{"gitId":"-"},"content":" \"version\": \"7.18.8\","},{"lineNumber":1169,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1170,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1171,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1172,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1173,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1174,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1175,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1176,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1177,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1178,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1180,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1181,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-function-name\": {"},{"lineNumber":1182,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":1183,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1184,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1185,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1186,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.18.9\","},{"lineNumber":1187,"author":{"gitId":"-"},"content":" \"@babel/helper-function-name\": \"^7.18.9\","},{"lineNumber":1188,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\""},{"lineNumber":1189,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1190,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1191,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1192,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1193,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1194,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1196,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1197,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-literals\": {"},{"lineNumber":1198,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":1199,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1200,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1201,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1202,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\""},{"lineNumber":1203,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1204,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1205,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1207,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1208,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1210,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1211,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-member-expression-literals\": {"},{"lineNumber":1212,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1213,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1214,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1215,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1216,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1217,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1218,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1219,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1220,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1221,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1222,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1224,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1225,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-modules-amd\": {"},{"lineNumber":1226,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\","},{"lineNumber":1227,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1228,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1229,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1230,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.20.11\","},{"lineNumber":1231,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\""},{"lineNumber":1232,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1233,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1234,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1235,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1236,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1237,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1239,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1240,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-modules-commonjs\": {"},{"lineNumber":1241,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\","},{"lineNumber":1242,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1243,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1244,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1245,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.20.11\","},{"lineNumber":1246,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1247,"author":{"gitId":"-"},"content":" \"@babel/helper-simple-access\": \"^7.20.2\""},{"lineNumber":1248,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1249,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1250,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1251,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1252,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1253,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1254,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1255,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1256,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-modules-systemjs\": {"},{"lineNumber":1257,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\","},{"lineNumber":1258,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1259,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1260,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1261,"author":{"gitId":"-"},"content":" \"@babel/helper-hoist-variables\": \"^7.18.6\","},{"lineNumber":1262,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.20.11\","},{"lineNumber":1263,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1264,"author":{"gitId":"-"},"content":" \"@babel/helper-validator-identifier\": \"^7.19.1\""},{"lineNumber":1265,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1266,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1267,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1268,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1269,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1270,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1271,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1272,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1273,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-modules-umd\": {"},{"lineNumber":1274,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1275,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1276,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1277,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1278,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.18.6\","},{"lineNumber":1279,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1280,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1281,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1282,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1283,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1284,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1285,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1287,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1288,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-named-capturing-groups-regex\": {"},{"lineNumber":1289,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\","},{"lineNumber":1290,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1291,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1292,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1293,"author":{"gitId":"-"},"content":" \"@babel/helper-create-regexp-features-plugin\": \"^7.20.5\","},{"lineNumber":1294,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\""},{"lineNumber":1295,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1296,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1297,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1298,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1299,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1300,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\""},{"lineNumber":1301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1302,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1303,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-new-target\": {"},{"lineNumber":1304,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1305,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1306,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1307,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1308,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1309,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1310,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1311,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1312,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1313,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1314,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1315,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1316,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1317,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-object-super\": {"},{"lineNumber":1318,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1319,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1320,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1321,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1322,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\","},{"lineNumber":1323,"author":{"gitId":"-"},"content":" \"@babel/helper-replace-supers\": \"^7.18.6\""},{"lineNumber":1324,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1325,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1326,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1327,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1328,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1329,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1331,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1332,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-parameters\": {"},{"lineNumber":1333,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":1334,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1335,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1336,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1337,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\""},{"lineNumber":1338,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1339,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1340,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1341,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1342,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1343,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1345,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1346,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-property-literals\": {"},{"lineNumber":1347,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1348,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1349,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1350,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1351,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1352,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1353,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1354,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1355,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1356,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1357,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1358,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1359,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1360,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-regenerator\": {"},{"lineNumber":1361,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\","},{"lineNumber":1362,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1363,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1364,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1365,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1366,"author":{"gitId":"-"},"content":" \"regenerator-transform\": \"^0.15.1\""},{"lineNumber":1367,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1368,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1369,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1370,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1371,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1372,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1373,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1374,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1375,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-reserved-words\": {"},{"lineNumber":1376,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1377,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1378,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1379,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1380,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1381,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1382,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1383,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1384,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1385,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1386,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1388,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1389,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-runtime\": {"},{"lineNumber":1390,"author":{"gitId":"-"},"content":" \"version\": \"7.19.6\","},{"lineNumber":1391,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1392,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1393,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1394,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.18.6\","},{"lineNumber":1395,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.19.0\","},{"lineNumber":1396,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-corejs2\": \"^0.3.3\","},{"lineNumber":1397,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-corejs3\": \"^0.6.0\","},{"lineNumber":1398,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-regenerator\": \"^0.4.1\","},{"lineNumber":1399,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\""},{"lineNumber":1400,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1401,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1402,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1403,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1404,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1405,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1406,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1407,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1408,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-shorthand-properties\": {"},{"lineNumber":1409,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1410,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1411,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1412,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1413,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1414,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1415,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1416,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1417,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1418,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1419,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1420,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1421,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1422,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-spread\": {"},{"lineNumber":1423,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":1424,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1425,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1426,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1427,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1428,"author":{"gitId":"-"},"content":" \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\""},{"lineNumber":1429,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1430,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1431,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1432,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1433,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1434,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1436,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1437,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-sticky-regex\": {"},{"lineNumber":1438,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1439,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1440,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1441,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1442,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1443,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1444,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1445,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1446,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1447,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1448,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1449,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1450,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1451,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-template-literals\": {"},{"lineNumber":1452,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":1453,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1454,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1455,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1456,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\""},{"lineNumber":1457,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1458,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1459,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1460,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1461,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1462,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1463,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1464,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1465,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-typeof-symbol\": {"},{"lineNumber":1466,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":1467,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1468,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1469,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1470,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\""},{"lineNumber":1471,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1472,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1473,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1474,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1475,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1476,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1477,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1478,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1479,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-unicode-escapes\": {"},{"lineNumber":1480,"author":{"gitId":"-"},"content":" \"version\": \"7.18.10\","},{"lineNumber":1481,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1482,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1483,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1484,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\""},{"lineNumber":1485,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1486,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1487,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1488,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1489,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1490,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1491,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1492,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1493,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-unicode-regex\": {"},{"lineNumber":1494,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1495,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1496,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1497,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1498,"author":{"gitId":"-"},"content":" \"@babel/helper-create-regexp-features-plugin\": \"^7.18.6\","},{"lineNumber":1499,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1500,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1501,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1502,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1503,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1504,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1505,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1506,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1507,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1508,"author":{"gitId":"-"},"content":" \"node_modules/@babel/preset-env\": {"},{"lineNumber":1509,"author":{"gitId":"-"},"content":" \"version\": \"7.20.2\","},{"lineNumber":1510,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1511,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1512,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1513,"author":{"gitId":"-"},"content":" \"@babel/compat-data\": \"^7.20.1\","},{"lineNumber":1514,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.20.0\","},{"lineNumber":1515,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1516,"author":{"gitId":"-"},"content":" \"@babel/helper-validator-option\": \"^7.18.6\","},{"lineNumber":1517,"author":{"gitId":"-"},"content":" \"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\": \"^7.18.6\","},{"lineNumber":1518,"author":{"gitId":"-"},"content":" \"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\": \"^7.18.9\","},{"lineNumber":1519,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-async-generator-functions\": \"^7.20.1\","},{"lineNumber":1520,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-class-properties\": \"^7.18.6\","},{"lineNumber":1521,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-class-static-block\": \"^7.18.6\","},{"lineNumber":1522,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-dynamic-import\": \"^7.18.6\","},{"lineNumber":1523,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-export-namespace-from\": \"^7.18.9\","},{"lineNumber":1524,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-json-strings\": \"^7.18.6\","},{"lineNumber":1525,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-logical-assignment-operators\": \"^7.18.9\","},{"lineNumber":1526,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-nullish-coalescing-operator\": \"^7.18.6\","},{"lineNumber":1527,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-numeric-separator\": \"^7.18.6\","},{"lineNumber":1528,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-object-rest-spread\": \"^7.20.2\","},{"lineNumber":1529,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-optional-catch-binding\": \"^7.18.6\","},{"lineNumber":1530,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-optional-chaining\": \"^7.18.9\","},{"lineNumber":1531,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-private-methods\": \"^7.18.6\","},{"lineNumber":1532,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-private-property-in-object\": \"^7.18.6\","},{"lineNumber":1533,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-unicode-property-regex\": \"^7.18.6\","},{"lineNumber":1534,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-async-generators\": \"^7.8.4\","},{"lineNumber":1535,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-class-properties\": \"^7.12.13\","},{"lineNumber":1536,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\","},{"lineNumber":1537,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\","},{"lineNumber":1538,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-export-namespace-from\": \"^7.8.3\","},{"lineNumber":1539,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-import-assertions\": \"^7.20.0\","},{"lineNumber":1540,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-json-strings\": \"^7.8.3\","},{"lineNumber":1541,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\","},{"lineNumber":1542,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\","},{"lineNumber":1543,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\","},{"lineNumber":1544,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\","},{"lineNumber":1545,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\","},{"lineNumber":1546,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\","},{"lineNumber":1547,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\","},{"lineNumber":1548,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-top-level-await\": \"^7.14.5\","},{"lineNumber":1549,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-arrow-functions\": \"^7.18.6\","},{"lineNumber":1550,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-async-to-generator\": \"^7.18.6\","},{"lineNumber":1551,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-block-scoped-functions\": \"^7.18.6\","},{"lineNumber":1552,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-block-scoping\": \"^7.20.2\","},{"lineNumber":1553,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-classes\": \"^7.20.2\","},{"lineNumber":1554,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-computed-properties\": \"^7.18.9\","},{"lineNumber":1555,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-destructuring\": \"^7.20.2\","},{"lineNumber":1556,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-dotall-regex\": \"^7.18.6\","},{"lineNumber":1557,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-duplicate-keys\": \"^7.18.9\","},{"lineNumber":1558,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-exponentiation-operator\": \"^7.18.6\","},{"lineNumber":1559,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-for-of\": \"^7.18.8\","},{"lineNumber":1560,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-function-name\": \"^7.18.9\","},{"lineNumber":1561,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-literals\": \"^7.18.9\","},{"lineNumber":1562,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-member-expression-literals\": \"^7.18.6\","},{"lineNumber":1563,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-modules-amd\": \"^7.19.6\","},{"lineNumber":1564,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-modules-commonjs\": \"^7.19.6\","},{"lineNumber":1565,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-modules-systemjs\": \"^7.19.6\","},{"lineNumber":1566,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-modules-umd\": \"^7.18.6\","},{"lineNumber":1567,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-named-capturing-groups-regex\": \"^7.19.1\","},{"lineNumber":1568,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-new-target\": \"^7.18.6\","},{"lineNumber":1569,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-object-super\": \"^7.18.6\","},{"lineNumber":1570,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-parameters\": \"^7.20.1\","},{"lineNumber":1571,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-property-literals\": \"^7.18.6\","},{"lineNumber":1572,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-regenerator\": \"^7.18.6\","},{"lineNumber":1573,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-reserved-words\": \"^7.18.6\","},{"lineNumber":1574,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-shorthand-properties\": \"^7.18.6\","},{"lineNumber":1575,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-spread\": \"^7.19.0\","},{"lineNumber":1576,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-sticky-regex\": \"^7.18.6\","},{"lineNumber":1577,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-template-literals\": \"^7.18.9\","},{"lineNumber":1578,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-typeof-symbol\": \"^7.18.9\","},{"lineNumber":1579,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-unicode-escapes\": \"^7.18.10\","},{"lineNumber":1580,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-unicode-regex\": \"^7.18.6\","},{"lineNumber":1581,"author":{"gitId":"-"},"content":" \"@babel/preset-modules\": \"^0.1.5\","},{"lineNumber":1582,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.2\","},{"lineNumber":1583,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-corejs2\": \"^0.3.3\","},{"lineNumber":1584,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-corejs3\": \"^0.6.0\","},{"lineNumber":1585,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-regenerator\": \"^0.4.1\","},{"lineNumber":1586,"author":{"gitId":"-"},"content":" \"core-js-compat\": \"^3.25.1\","},{"lineNumber":1587,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\""},{"lineNumber":1588,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1589,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1590,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1591,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1592,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1593,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1594,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1595,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1596,"author":{"gitId":"-"},"content":" \"node_modules/@babel/preset-modules\": {"},{"lineNumber":1597,"author":{"gitId":"-"},"content":" \"version\": \"0.1.5\","},{"lineNumber":1598,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1599,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1600,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1601,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.0.0\","},{"lineNumber":1602,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-unicode-property-regex\": \"^7.4.4\","},{"lineNumber":1603,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-dotall-regex\": \"^7.4.4\","},{"lineNumber":1604,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.4.4\","},{"lineNumber":1605,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\""},{"lineNumber":1606,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1607,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1608,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1609,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1610,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1611,"author":{"gitId":"-"},"content":" \"node_modules/@babel/runtime\": {"},{"lineNumber":1612,"author":{"gitId":"-"},"content":" \"version\": \"7.20.13\","},{"lineNumber":1613,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1614,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1615,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1616,"author":{"gitId":"-"},"content":" \"regenerator-runtime\": \"^0.13.11\""},{"lineNumber":1617,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1618,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1619,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1620,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1621,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1622,"author":{"gitId":"-"},"content":" \"node_modules/@babel/template\": {"},{"lineNumber":1623,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.24.0\","},{"lineNumber":1624,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1625,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1626,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1627,"author":{"gitId":"sopa301"},"content":" \"@babel/code-frame\": \"^7.23.5\","},{"lineNumber":1628,"author":{"gitId":"sopa301"},"content":" \"@babel/parser\": \"^7.24.0\","},{"lineNumber":1629,"author":{"gitId":"sopa301"},"content":" \"@babel/types\": \"^7.24.0\""},{"lineNumber":1630,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1631,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1632,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1633,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1634,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1635,"author":{"gitId":"-"},"content":" \"node_modules/@babel/traverse\": {"},{"lineNumber":1636,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.24.0\","},{"lineNumber":1637,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1638,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1639,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1640,"author":{"gitId":"sopa301"},"content":" \"@babel/code-frame\": \"^7.23.5\","},{"lineNumber":1641,"author":{"gitId":"sopa301"},"content":" \"@babel/generator\": \"^7.23.6\","},{"lineNumber":1642,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-environment-visitor\": \"^7.22.20\","},{"lineNumber":1643,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-function-name\": \"^7.23.0\","},{"lineNumber":1644,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-hoist-variables\": \"^7.22.5\","},{"lineNumber":1645,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-split-export-declaration\": \"^7.22.6\","},{"lineNumber":1646,"author":{"gitId":"sopa301"},"content":" \"@babel/parser\": \"^7.24.0\","},{"lineNumber":1647,"author":{"gitId":"sopa301"},"content":" \"@babel/types\": \"^7.24.0\","},{"lineNumber":1648,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.1\","},{"lineNumber":1649,"author":{"gitId":"-"},"content":" \"globals\": \"^11.1.0\""},{"lineNumber":1650,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1651,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1652,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1653,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1654,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1655,"author":{"gitId":"-"},"content":" \"node_modules/@babel/types\": {"},{"lineNumber":1656,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.24.0\","},{"lineNumber":1657,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1658,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1659,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1660,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-string-parser\": \"^7.23.4\","},{"lineNumber":1661,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-validator-identifier\": \"^7.22.20\","},{"lineNumber":1662,"author":{"gitId":"-"},"content":" \"to-fast-properties\": \"^2.0.0\""},{"lineNumber":1663,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1664,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1665,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1666,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1667,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1668,"author":{"gitId":"-"},"content":" \"node_modules/@csstools/selector-specificity\": {"},{"lineNumber":1669,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":1670,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1671,"author":{"gitId":"sopa301"},"content":" \"license\": \"CC0-1.0\","},{"lineNumber":1672,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1673,"author":{"gitId":"-"},"content":" \"node\": \"^14 || ^16 || \u003e\u003d18\""},{"lineNumber":1674,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1675,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":1676,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":1677,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/csstools\""},{"lineNumber":1678,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1679,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1680,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.4\","},{"lineNumber":1681,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.10\""},{"lineNumber":1682,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1683,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1684,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint-community/eslint-utils\": {"},{"lineNumber":1685,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.4.0\","},{"lineNumber":1686,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1687,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1688,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1689,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.3.0\""},{"lineNumber":1690,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1691,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1692,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":1693,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1694,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":1695,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^6.0.0 || ^7.0.0 || \u003e\u003d8.0.0\""},{"lineNumber":1696,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1697,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1698,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys\": {"},{"lineNumber":1699,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\","},{"lineNumber":1700,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1701,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":1702,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1703,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":1704,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1705,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1706,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":1707,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1708,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1709,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint-community/regexpp\": {"},{"lineNumber":1710,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.10.0\","},{"lineNumber":1711,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1712,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1713,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1714,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.0.0 || ^14.0.0 || \u003e\u003d16.0.0\""},{"lineNumber":1715,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1716,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1717,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/eslintrc\": {"},{"lineNumber":1718,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.4\","},{"lineNumber":1719,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1720,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1721,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1722,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.4\","},{"lineNumber":1723,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.2\","},{"lineNumber":1724,"author":{"gitId":"sopa301"},"content":" \"espree\": \"^9.6.0\","},{"lineNumber":1725,"author":{"gitId":"-"},"content":" \"globals\": \"^13.19.0\","},{"lineNumber":1726,"author":{"gitId":"-"},"content":" \"ignore\": \"^5.2.0\","},{"lineNumber":1727,"author":{"gitId":"-"},"content":" \"import-fresh\": \"^3.2.1\","},{"lineNumber":1728,"author":{"gitId":"-"},"content":" \"js-yaml\": \"^4.1.0\","},{"lineNumber":1729,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.2\","},{"lineNumber":1730,"author":{"gitId":"-"},"content":" \"strip-json-comments\": \"^3.1.1\""},{"lineNumber":1731,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1732,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1733,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":1734,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1735,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":1736,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":1737,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1738,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1739,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/eslintrc/node_modules/brace-expansion\": {"},{"lineNumber":1740,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":1741,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1742,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1743,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1744,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":1745,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":1746,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1747,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1748,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/eslintrc/node_modules/globals\": {"},{"lineNumber":1749,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.24.0\","},{"lineNumber":1750,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1751,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1752,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1753,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.20.2\""},{"lineNumber":1754,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1755,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1756,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1757,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1758,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":1759,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1760,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1761,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1762,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/eslintrc/node_modules/minimatch\": {"},{"lineNumber":1763,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":1764,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1765,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":1766,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1767,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":1768,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1769,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1770,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":1771,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1772,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1773,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/eslintrc/node_modules/type-fest\": {"},{"lineNumber":1774,"author":{"gitId":"-"},"content":" \"version\": \"0.20.2\","},{"lineNumber":1775,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1776,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR CC0-1.0)\","},{"lineNumber":1777,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1778,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1779,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1780,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":1781,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1782,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1783,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1784,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint/js\": {"},{"lineNumber":1785,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.57.0\","},{"lineNumber":1786,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1787,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1788,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1789,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":1790,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1791,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1792,"author":{"gitId":"-"},"content":" \"node_modules/@fontsource/titillium-web\": {"},{"lineNumber":1793,"author":{"gitId":"-"},"content":" \"version\": \"4.5.9\","},{"lineNumber":1794,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":1795,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1796,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/fontawesome-common-types\": {"},{"lineNumber":1797,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.5.1\","},{"lineNumber":1798,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.1.tgz\","},{"lineNumber":1799,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-GkWzv+L6d2bI5f/Vk6ikJ9xtl7dfXtoRu3YGE6nq0p/FFqA1ebMOAWg3XgRyb0I6LYyYkiAo+3/KrwuBp8xG7A\u003d\u003d\","},{"lineNumber":1800,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,"},{"lineNumber":1801,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1802,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1803,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1804,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1805,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/fontawesome-svg-core\": {"},{"lineNumber":1806,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.5.1\","},{"lineNumber":1807,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.1.tgz\","},{"lineNumber":1808,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MfRCYlQPXoLlpem+egxjfkEuP9UQswTrlCOsknus/NcMoblTH2g0jPrapbcIb04KGA7E2GZxbAccGZfWoYgsrQ\u003d\u003d\","},{"lineNumber":1809,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,"},{"lineNumber":1810,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1811,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-common-types\": \"6.5.1\""},{"lineNumber":1812,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1813,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1814,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1815,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1816,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1817,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/free-brands-svg-icons\": {"},{"lineNumber":1818,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.5.1\","},{"lineNumber":1819,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.5.1.tgz\","},{"lineNumber":1820,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-093l7DAkx0aEtBq66Sf19MgoZewv1zeY9/4C7vSKPO4qMwEsW/2VYTUTpBtLwfb9T2R73tXaRDPmE4UqLCYHfg\u003d\u003d\","},{"lineNumber":1821,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,"},{"lineNumber":1822,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1823,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-common-types\": \"6.5.1\""},{"lineNumber":1824,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1825,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1826,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1827,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1828,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1829,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/free-solid-svg-icons\": {"},{"lineNumber":1830,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.5.1\","},{"lineNumber":1831,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.1.tgz\","},{"lineNumber":1832,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-S1PPfU3mIJa59biTtXJz1oI0+KAXW6bkAb31XKhxdxtuXDiUIFsih4JR1v5BbxY7hVHsD1RKq+jRkVRaf773NQ\u003d\u003d\","},{"lineNumber":1833,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,"},{"lineNumber":1834,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1835,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-common-types\": \"6.5.1\""},{"lineNumber":1836,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1837,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1838,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1839,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1840,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1841,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/vue-fontawesome\": {"},{"lineNumber":1842,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.6\","},{"lineNumber":1843,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.6.tgz\","},{"lineNumber":1844,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-akrL7lTroyNpPkoHtvK2UpsMzJr6jXdHaQ0YdcwqDsB8jdwlpNHZYijpOUd9KJsARr+VB3WXY4EyObepqJ4ytQ\u003d\u003d\","},{"lineNumber":1845,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1846,"author":{"gitId":"-"},"content":" \"@fortawesome/fontawesome-svg-core\": \"~1 || ~6\","},{"lineNumber":1847,"author":{"gitId":"-"},"content":" \"vue\": \"\u003e\u003d 3.0.0 \u003c 4\""},{"lineNumber":1848,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1849,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1850,"author":{"gitId":"-"},"content":" \"node_modules/@hapi/hoek\": {"},{"lineNumber":1851,"author":{"gitId":"-"},"content":" \"version\": \"9.3.0\","},{"lineNumber":1852,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1853,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\""},{"lineNumber":1854,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1855,"author":{"gitId":"-"},"content":" \"node_modules/@hapi/topo\": {"},{"lineNumber":1856,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":1857,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1858,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":1859,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1860,"author":{"gitId":"-"},"content":" \"@hapi/hoek\": \"^9.0.0\""},{"lineNumber":1861,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1862,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1863,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/config-array\": {"},{"lineNumber":1864,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.11.14\","},{"lineNumber":1865,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1866,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":1867,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1868,"author":{"gitId":"sopa301"},"content":" \"@humanwhocodes/object-schema\": \"^2.0.2\","},{"lineNumber":1869,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.1\","},{"lineNumber":1870,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.0.5\""},{"lineNumber":1871,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1872,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1873,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.10.0\""},{"lineNumber":1874,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1875,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1876,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/config-array/node_modules/brace-expansion\": {"},{"lineNumber":1877,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":1878,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1879,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1880,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1881,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":1882,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":1883,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1884,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1885,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/config-array/node_modules/minimatch\": {"},{"lineNumber":1886,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":1887,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1888,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":1889,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1890,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":1891,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1892,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1893,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":1894,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1895,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1896,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/module-importer\": {"},{"lineNumber":1897,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":1898,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1899,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":1900,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1901,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.22\""},{"lineNumber":1902,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1903,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":1904,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":1905,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/nzakas\""},{"lineNumber":1906,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1907,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1908,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/object-schema\": {"},{"lineNumber":1909,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\","},{"lineNumber":1910,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1911,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\""},{"lineNumber":1912,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1913,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/gen-mapping\": {"},{"lineNumber":1914,"author":{"gitId":"-"},"content":" \"version\": \"0.1.1\","},{"lineNumber":1915,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1916,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1917,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1918,"author":{"gitId":"-"},"content":" \"@jridgewell/set-array\": \"^1.0.0\","},{"lineNumber":1919,"author":{"gitId":"-"},"content":" \"@jridgewell/sourcemap-codec\": \"^1.4.10\""},{"lineNumber":1920,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1921,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1922,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":1923,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1924,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1925,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/resolve-uri\": {"},{"lineNumber":1926,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":1927,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1928,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1929,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":1930,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1931,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1932,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/set-array\": {"},{"lineNumber":1933,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\","},{"lineNumber":1934,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1935,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1936,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":1937,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1938,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1939,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/source-map\": {"},{"lineNumber":1940,"author":{"gitId":"-"},"content":" \"version\": \"0.3.2\","},{"lineNumber":1941,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1942,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1943,"author":{"gitId":"-"},"content":" \"@jridgewell/gen-mapping\": \"^0.3.0\","},{"lineNumber":1944,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.9\""},{"lineNumber":1945,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1946,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1947,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping\": {"},{"lineNumber":1948,"author":{"gitId":"-"},"content":" \"version\": \"0.3.2\","},{"lineNumber":1949,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1950,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1951,"author":{"gitId":"-"},"content":" \"@jridgewell/set-array\": \"^1.0.1\","},{"lineNumber":1952,"author":{"gitId":"-"},"content":" \"@jridgewell/sourcemap-codec\": \"^1.4.10\","},{"lineNumber":1953,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.9\""},{"lineNumber":1954,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1955,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1956,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":1957,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1958,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1959,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/sourcemap-codec\": {"},{"lineNumber":1960,"author":{"gitId":"-"},"content":" \"version\": \"1.4.14\","},{"lineNumber":1961,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":1962,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1963,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/trace-mapping\": {"},{"lineNumber":1964,"author":{"gitId":"-"},"content":" \"version\": \"0.3.17\","},{"lineNumber":1965,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1966,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1967,"author":{"gitId":"-"},"content":" \"@jridgewell/resolve-uri\": \"3.1.0\","},{"lineNumber":1968,"author":{"gitId":"-"},"content":" \"@jridgewell/sourcemap-codec\": \"1.4.14\""},{"lineNumber":1969,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1970,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1971,"author":{"gitId":"-"},"content":" \"node_modules/@leichtgewicht/ip-codec\": {"},{"lineNumber":1972,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\","},{"lineNumber":1973,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1974,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":1975,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1976,"author":{"gitId":"-"},"content":" \"node_modules/@nicolo-ribaudo/eslint-scope-5-internals\": {"},{"lineNumber":1977,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1-v1\","},{"lineNumber":1978,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1979,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1980,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1981,"author":{"gitId":"-"},"content":" \"eslint-scope\": \"5.1.1\""},{"lineNumber":1982,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1983,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1984,"author":{"gitId":"-"},"content":" \"node_modules/@node-ipc/js-queue\": {"},{"lineNumber":1985,"author":{"gitId":"-"},"content":" \"version\": \"2.0.3\","},{"lineNumber":1986,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1987,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1988,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1989,"author":{"gitId":"-"},"content":" \"easy-stack\": \"1.0.1\""},{"lineNumber":1990,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1991,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1992,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d1.0.0\""},{"lineNumber":1993,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1994,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1995,"author":{"gitId":"-"},"content":" \"node_modules/@nodelib/fs.scandir\": {"},{"lineNumber":1996,"author":{"gitId":"-"},"content":" \"version\": \"2.1.5\","},{"lineNumber":1997,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1998,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1999,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2000,"author":{"gitId":"-"},"content":" \"@nodelib/fs.stat\": \"2.0.5\","},{"lineNumber":2001,"author":{"gitId":"-"},"content":" \"run-parallel\": \"^1.1.9\""},{"lineNumber":2002,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2003,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2004,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":2005,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2006,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2007,"author":{"gitId":"-"},"content":" \"node_modules/@nodelib/fs.stat\": {"},{"lineNumber":2008,"author":{"gitId":"-"},"content":" \"version\": \"2.0.5\","},{"lineNumber":2009,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2010,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2011,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2012,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":2013,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2014,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2015,"author":{"gitId":"-"},"content":" \"node_modules/@nodelib/fs.walk\": {"},{"lineNumber":2016,"author":{"gitId":"-"},"content":" \"version\": \"1.2.8\","},{"lineNumber":2017,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2018,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2019,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2020,"author":{"gitId":"-"},"content":" \"@nodelib/fs.scandir\": \"2.1.5\","},{"lineNumber":2021,"author":{"gitId":"-"},"content":" \"fastq\": \"^1.6.0\""},{"lineNumber":2022,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2023,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2024,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":2025,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2026,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2027,"author":{"gitId":"-"},"content":" \"node_modules/@polka/url\": {"},{"lineNumber":2028,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0-next.21\","},{"lineNumber":2029,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2030,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2031,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2032,"author":{"gitId":"-"},"content":" \"node_modules/@sideway/address\": {"},{"lineNumber":2033,"author":{"gitId":"-"},"content":" \"version\": \"4.1.4\","},{"lineNumber":2034,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2035,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":2036,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2037,"author":{"gitId":"-"},"content":" \"@hapi/hoek\": \"^9.0.0\""},{"lineNumber":2038,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2039,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2040,"author":{"gitId":"-"},"content":" \"node_modules/@sideway/formula\": {"},{"lineNumber":2041,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":2042,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2043,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\""},{"lineNumber":2044,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2045,"author":{"gitId":"-"},"content":" \"node_modules/@sideway/pinpoint\": {"},{"lineNumber":2046,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2047,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2048,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\""},{"lineNumber":2049,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2050,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin\": {"},{"lineNumber":2051,"author":{"gitId":"-"},"content":" \"version\": \"1.8.1\","},{"lineNumber":2052,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2053,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2054,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2055,"author":{"gitId":"-"},"content":" \"chalk\": \"^3.0.0\","},{"lineNumber":2056,"author":{"gitId":"-"},"content":" \"error-stack-parser\": \"^2.0.6\","},{"lineNumber":2057,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.3\","},{"lineNumber":2058,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":2059,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2060,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2061,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\""},{"lineNumber":2062,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2063,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2064,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.0.0 || ^5.0.0\""},{"lineNumber":2065,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2066,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2067,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/ansi-styles\": {"},{"lineNumber":2068,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":2069,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2070,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2071,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2072,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":2073,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2074,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2075,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":2076,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2077,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2078,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":2079,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2080,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2081,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/chalk\": {"},{"lineNumber":2082,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":2083,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2084,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2085,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2086,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":2087,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":2088,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2089,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2090,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":2091,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2092,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2093,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/color-convert\": {"},{"lineNumber":2094,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":2095,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2096,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2097,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2098,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":2099,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2100,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2101,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":2102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2103,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2104,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/color-name\": {"},{"lineNumber":2105,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":2106,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2107,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2108,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2109,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/has-flag\": {"},{"lineNumber":2110,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2111,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2112,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2113,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2114,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":2115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2116,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2117,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/supports-color\": {"},{"lineNumber":2118,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":2119,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2120,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2121,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2122,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":2123,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2124,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2125,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":2126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2127,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2128,"author":{"gitId":"-"},"content":" \"node_modules/@soda/get-current-script\": {"},{"lineNumber":2129,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":2130,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2131,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2132,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2133,"author":{"gitId":"-"},"content":" \"node_modules/@trysound/sax\": {"},{"lineNumber":2134,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\","},{"lineNumber":2135,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2136,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":2137,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2138,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":2139,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2140,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2141,"author":{"gitId":"-"},"content":" \"node_modules/@types/babel-types\": {"},{"lineNumber":2142,"author":{"gitId":"-"},"content":" \"version\": \"7.0.11\","},{"lineNumber":2143,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2144,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2145,"author":{"gitId":"-"},"content":" \"node_modules/@types/babylon\": {"},{"lineNumber":2146,"author":{"gitId":"-"},"content":" \"version\": \"6.16.6\","},{"lineNumber":2147,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2148,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2149,"author":{"gitId":"-"},"content":" \"@types/babel-types\": \"*\""},{"lineNumber":2150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2151,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2152,"author":{"gitId":"-"},"content":" \"node_modules/@types/body-parser\": {"},{"lineNumber":2153,"author":{"gitId":"-"},"content":" \"version\": \"1.19.2\","},{"lineNumber":2154,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2155,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2156,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2157,"author":{"gitId":"-"},"content":" \"@types/connect\": \"*\","},{"lineNumber":2158,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2161,"author":{"gitId":"-"},"content":" \"node_modules/@types/bonjour\": {"},{"lineNumber":2162,"author":{"gitId":"-"},"content":" \"version\": \"3.5.10\","},{"lineNumber":2163,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2164,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2165,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2166,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2167,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2168,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2169,"author":{"gitId":"-"},"content":" \"node_modules/@types/connect\": {"},{"lineNumber":2170,"author":{"gitId":"-"},"content":" \"version\": \"3.4.35\","},{"lineNumber":2171,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2172,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2173,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2174,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2176,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2177,"author":{"gitId":"-"},"content":" \"node_modules/@types/connect-history-api-fallback\": {"},{"lineNumber":2178,"author":{"gitId":"-"},"content":" \"version\": \"1.3.5\","},{"lineNumber":2179,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2180,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2181,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2182,"author":{"gitId":"-"},"content":" \"@types/express-serve-static-core\": \"*\","},{"lineNumber":2183,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2185,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2186,"author":{"gitId":"-"},"content":" \"node_modules/@types/eslint\": {"},{"lineNumber":2187,"author":{"gitId":"-"},"content":" \"version\": \"8.4.10\","},{"lineNumber":2188,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2189,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2190,"author":{"gitId":"-"},"content":" \"@types/estree\": \"*\","},{"lineNumber":2191,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"*\""},{"lineNumber":2192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2193,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2194,"author":{"gitId":"-"},"content":" \"node_modules/@types/eslint-scope\": {"},{"lineNumber":2195,"author":{"gitId":"-"},"content":" \"version\": \"3.7.4\","},{"lineNumber":2196,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2197,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2198,"author":{"gitId":"-"},"content":" \"@types/eslint\": \"*\","},{"lineNumber":2199,"author":{"gitId":"-"},"content":" \"@types/estree\": \"*\""},{"lineNumber":2200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2201,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2202,"author":{"gitId":"-"},"content":" \"node_modules/@types/estree\": {"},{"lineNumber":2203,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":2204,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2205,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2206,"author":{"gitId":"-"},"content":" \"node_modules/@types/express\": {"},{"lineNumber":2207,"author":{"gitId":"-"},"content":" \"version\": \"4.17.15\","},{"lineNumber":2208,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2209,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2210,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2211,"author":{"gitId":"-"},"content":" \"@types/body-parser\": \"*\","},{"lineNumber":2212,"author":{"gitId":"-"},"content":" \"@types/express-serve-static-core\": \"^4.17.31\","},{"lineNumber":2213,"author":{"gitId":"-"},"content":" \"@types/qs\": \"*\","},{"lineNumber":2214,"author":{"gitId":"-"},"content":" \"@types/serve-static\": \"*\""},{"lineNumber":2215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2216,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2217,"author":{"gitId":"-"},"content":" \"node_modules/@types/express-serve-static-core\": {"},{"lineNumber":2218,"author":{"gitId":"-"},"content":" \"version\": \"4.17.32\","},{"lineNumber":2219,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2220,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2221,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2222,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\","},{"lineNumber":2223,"author":{"gitId":"-"},"content":" \"@types/qs\": \"*\","},{"lineNumber":2224,"author":{"gitId":"-"},"content":" \"@types/range-parser\": \"*\""},{"lineNumber":2225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2226,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2227,"author":{"gitId":"-"},"content":" \"node_modules/@types/html-minifier-terser\": {"},{"lineNumber":2228,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\","},{"lineNumber":2229,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2230,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2231,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2232,"author":{"gitId":"-"},"content":" \"node_modules/@types/http-proxy\": {"},{"lineNumber":2233,"author":{"gitId":"-"},"content":" \"version\": \"1.17.9\","},{"lineNumber":2234,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2235,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2236,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2237,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2239,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2240,"author":{"gitId":"-"},"content":" \"node_modules/@types/json-schema\": {"},{"lineNumber":2241,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.15\","},{"lineNumber":2242,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2243,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2244,"author":{"gitId":"-"},"content":" \"node_modules/@types/json5\": {"},{"lineNumber":2245,"author":{"gitId":"-"},"content":" \"version\": \"0.0.29\","},{"lineNumber":2246,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2247,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2248,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2249,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/linkify-it\": {"},{"lineNumber":2250,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.5\","},{"lineNumber":2251,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2252,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2253,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/markdown-it\": {"},{"lineNumber":2254,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.0.7\","},{"lineNumber":2255,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2256,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":2257,"author":{"gitId":"sopa301"},"content":" \"@types/linkify-it\": \"*\","},{"lineNumber":2258,"author":{"gitId":"sopa301"},"content":" \"@types/mdurl\": \"*\""},{"lineNumber":2259,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":2260,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2261,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/mdurl\": {"},{"lineNumber":2262,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\","},{"lineNumber":2263,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2264,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2265,"author":{"gitId":"-"},"content":" \"node_modules/@types/mime\": {"},{"lineNumber":2266,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":2267,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2268,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2269,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2270,"author":{"gitId":"-"},"content":" \"node_modules/@types/minimatch\": {"},{"lineNumber":2271,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\","},{"lineNumber":2272,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2273,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2274,"author":{"gitId":"-"},"content":" \"node_modules/@types/minimist\": {"},{"lineNumber":2275,"author":{"gitId":"-"},"content":" \"version\": \"1.2.2\","},{"lineNumber":2276,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2277,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2278,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2279,"author":{"gitId":"-"},"content":" \"node_modules/@types/node\": {"},{"lineNumber":2280,"author":{"gitId":"-"},"content":" \"version\": \"18.11.18\","},{"lineNumber":2281,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2282,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2283,"author":{"gitId":"-"},"content":" \"node_modules/@types/normalize-package-data\": {"},{"lineNumber":2284,"author":{"gitId":"-"},"content":" \"version\": \"2.4.1\","},{"lineNumber":2285,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2286,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2287,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2288,"author":{"gitId":"-"},"content":" \"node_modules/@types/parse-json\": {"},{"lineNumber":2289,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2290,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2291,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2292,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2293,"author":{"gitId":"-"},"content":" \"node_modules/@types/qs\": {"},{"lineNumber":2294,"author":{"gitId":"-"},"content":" \"version\": \"6.9.7\","},{"lineNumber":2295,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2296,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2297,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2298,"author":{"gitId":"-"},"content":" \"node_modules/@types/range-parser\": {"},{"lineNumber":2299,"author":{"gitId":"-"},"content":" \"version\": \"1.2.4\","},{"lineNumber":2300,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2301,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2302,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2303,"author":{"gitId":"-"},"content":" \"node_modules/@types/retry\": {"},{"lineNumber":2304,"author":{"gitId":"-"},"content":" \"version\": \"0.12.0\","},{"lineNumber":2305,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2306,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2307,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2308,"author":{"gitId":"-"},"content":" \"node_modules/@types/seedrandom\": {"},{"lineNumber":2309,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.8\","},{"lineNumber":2310,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/seedrandom/-/seedrandom-3.0.8.tgz\","},{"lineNumber":2311,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-TY1eezMU2zH2ozQoAFAQFOPpvP15g+ZgSfTZt31AUUH/Rxtnz3H+A/Sv1Snw2/amp//omibc+AEkTaA8KUeOLQ\u003d\u003d\""},{"lineNumber":2312,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2313,"author":{"gitId":"-"},"content":" \"node_modules/@types/semver\": {"},{"lineNumber":2314,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.5.8\","},{"lineNumber":2315,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2316,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2317,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2318,"author":{"gitId":"-"},"content":" \"node_modules/@types/serve-index\": {"},{"lineNumber":2319,"author":{"gitId":"-"},"content":" \"version\": \"1.9.1\","},{"lineNumber":2320,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2321,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2322,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2323,"author":{"gitId":"-"},"content":" \"@types/express\": \"*\""},{"lineNumber":2324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2325,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2326,"author":{"gitId":"-"},"content":" \"node_modules/@types/serve-static\": {"},{"lineNumber":2327,"author":{"gitId":"-"},"content":" \"version\": \"1.15.0\","},{"lineNumber":2328,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2329,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2330,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2331,"author":{"gitId":"-"},"content":" \"@types/mime\": \"*\","},{"lineNumber":2332,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2334,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2335,"author":{"gitId":"-"},"content":" \"node_modules/@types/sockjs\": {"},{"lineNumber":2336,"author":{"gitId":"-"},"content":" \"version\": \"0.3.33\","},{"lineNumber":2337,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2338,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2339,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2340,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2341,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2342,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2343,"author":{"gitId":"-"},"content":" \"node_modules/@types/webpack-env\": {"},{"lineNumber":2344,"author":{"gitId":"-"},"content":" \"version\": \"1.18.0\","},{"lineNumber":2345,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2346,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2347,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2348,"author":{"gitId":"-"},"content":" \"node_modules/@types/ws\": {"},{"lineNumber":2349,"author":{"gitId":"-"},"content":" \"version\": \"8.5.4\","},{"lineNumber":2350,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2351,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2352,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2353,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2354,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2355,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2356,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/eslint-plugin\": {"},{"lineNumber":2357,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.21.0\","},{"lineNumber":2358,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2359,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2360,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2361,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/regexpp\": \"^4.5.1\","},{"lineNumber":2362,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"6.21.0\","},{"lineNumber":2363,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/type-utils\": \"6.21.0\","},{"lineNumber":2364,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/utils\": \"6.21.0\","},{"lineNumber":2365,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/visitor-keys\": \"6.21.0\","},{"lineNumber":2366,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":2367,"author":{"gitId":"sopa301"},"content":" \"graphemer\": \"^1.4.0\","},{"lineNumber":2368,"author":{"gitId":"sopa301"},"content":" \"ignore\": \"^5.2.4\","},{"lineNumber":2369,"author":{"gitId":"sopa301"},"content":" \"natural-compare\": \"^1.4.0\","},{"lineNumber":2370,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.5.4\","},{"lineNumber":2371,"author":{"gitId":"sopa301"},"content":" \"ts-api-utils\": \"^1.0.1\""},{"lineNumber":2372,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2373,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2374,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\""},{"lineNumber":2375,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2376,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2377,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2378,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2379,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2380,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2381,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/parser\": \"^6.0.0 || ^6.0.0-alpha\","},{"lineNumber":2382,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^7.0.0 || ^8.0.0\""},{"lineNumber":2383,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2384,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":2385,"author":{"gitId":"-"},"content":" \"typescript\": {"},{"lineNumber":2386,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2387,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2388,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2389,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2390,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache\": {"},{"lineNumber":2391,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":2392,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2393,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":2394,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2395,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":2396,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2397,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2398,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2399,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2400,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2401,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/eslint-plugin/node_modules/semver\": {"},{"lineNumber":2402,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":2403,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2404,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":2405,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2406,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":2407,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2408,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":2409,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":2410,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2411,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2412,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2413,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2414,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2415,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist\": {"},{"lineNumber":2416,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2417,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2418,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":2419,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2420,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/parser\": {"},{"lineNumber":2421,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.21.0\","},{"lineNumber":2422,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2423,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":2424,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2425,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"6.21.0\","},{"lineNumber":2426,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"6.21.0\","},{"lineNumber":2427,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"6.21.0\","},{"lineNumber":2428,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/visitor-keys\": \"6.21.0\","},{"lineNumber":2429,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\""},{"lineNumber":2430,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2431,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2432,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\""},{"lineNumber":2433,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2434,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2435,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2436,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2437,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2438,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2439,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^7.0.0 || ^8.0.0\""},{"lineNumber":2440,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2441,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":2442,"author":{"gitId":"-"},"content":" \"typescript\": {"},{"lineNumber":2443,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2444,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2445,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2446,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2447,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/scope-manager\": {"},{"lineNumber":2448,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.21.0\","},{"lineNumber":2449,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2450,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2451,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2452,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"6.21.0\","},{"lineNumber":2453,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/visitor-keys\": \"6.21.0\""},{"lineNumber":2454,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2455,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2456,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\""},{"lineNumber":2457,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2458,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2459,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2460,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2461,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2462,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2463,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/type-utils\": {"},{"lineNumber":2464,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.21.0\","},{"lineNumber":2465,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2466,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2467,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2468,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"6.21.0\","},{"lineNumber":2469,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/utils\": \"6.21.0\","},{"lineNumber":2470,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":2471,"author":{"gitId":"sopa301"},"content":" \"ts-api-utils\": \"^1.0.1\""},{"lineNumber":2472,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2473,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2474,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\""},{"lineNumber":2475,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2476,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2477,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2478,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2479,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2480,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2481,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^7.0.0 || ^8.0.0\""},{"lineNumber":2482,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2483,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":2484,"author":{"gitId":"-"},"content":" \"typescript\": {"},{"lineNumber":2485,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2486,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2487,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2488,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2489,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/types\": {"},{"lineNumber":2490,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.21.0\","},{"lineNumber":2491,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2492,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2493,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2494,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\""},{"lineNumber":2495,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2496,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2497,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2498,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2499,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2500,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2501,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/typescript-estree\": {"},{"lineNumber":2502,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.21.0\","},{"lineNumber":2503,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2504,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":2505,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2506,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"6.21.0\","},{"lineNumber":2507,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/visitor-keys\": \"6.21.0\","},{"lineNumber":2508,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":2509,"author":{"gitId":"-"},"content":" \"globby\": \"^11.1.0\","},{"lineNumber":2510,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.3\","},{"lineNumber":2511,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"9.0.3\","},{"lineNumber":2512,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.5.4\","},{"lineNumber":2513,"author":{"gitId":"sopa301"},"content":" \"ts-api-utils\": \"^1.0.1\""},{"lineNumber":2514,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2515,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2516,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\""},{"lineNumber":2517,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2518,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2519,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2520,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2521,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2522,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":2523,"author":{"gitId":"-"},"content":" \"typescript\": {"},{"lineNumber":2524,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2525,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2526,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2527,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2528,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache\": {"},{"lineNumber":2529,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":2530,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2531,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":2532,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2533,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":2534,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2535,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2536,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2537,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2538,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2539,"author":{"gitId":"sopa301"},"content":" \"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch\": {"},{"lineNumber":2540,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.0.3\","},{"lineNumber":2541,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2542,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":2543,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":2544,"author":{"gitId":"sopa301"},"content":" \"brace-expansion\": \"^2.0.1\""},{"lineNumber":2545,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2546,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":2547,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d16 || 14 \u003e\u003d14.17\""},{"lineNumber":2548,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2549,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":2550,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\""},{"lineNumber":2551,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":2552,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2553,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/typescript-estree/node_modules/semver\": {"},{"lineNumber":2554,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":2555,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2556,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":2557,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2558,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":2559,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2560,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":2561,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":2562,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2563,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2564,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2565,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2566,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2567,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/typescript-estree/node_modules/yallist\": {"},{"lineNumber":2568,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2569,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2570,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":2571,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2572,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils\": {"},{"lineNumber":2573,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.21.0\","},{"lineNumber":2574,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2575,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2576,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2577,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/eslint-utils\": \"^4.4.0\","},{"lineNumber":2578,"author":{"gitId":"sopa301"},"content":" \"@types/json-schema\": \"^7.0.12\","},{"lineNumber":2579,"author":{"gitId":"sopa301"},"content":" \"@types/semver\": \"^7.5.0\","},{"lineNumber":2580,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"6.21.0\","},{"lineNumber":2581,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"6.21.0\","},{"lineNumber":2582,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"6.21.0\","},{"lineNumber":2583,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.5.4\""},{"lineNumber":2584,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2585,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2586,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\""},{"lineNumber":2587,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2588,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2589,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2590,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2591,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2592,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2593,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^7.0.0 || ^8.0.0\""},{"lineNumber":2594,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2595,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2596,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/lru-cache\": {"},{"lineNumber":2597,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":2598,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2599,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":2600,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2601,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":2602,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2603,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2604,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2605,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2606,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2607,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/semver\": {"},{"lineNumber":2608,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":2609,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2610,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":2611,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2612,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":2613,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2614,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":2615,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":2616,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2617,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2618,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2619,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2620,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2621,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/yallist\": {"},{"lineNumber":2622,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2623,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2624,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":2625,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2626,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/visitor-keys\": {"},{"lineNumber":2627,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.21.0\","},{"lineNumber":2628,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2629,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2630,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2631,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"6.21.0\","},{"lineNumber":2632,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.4.1\""},{"lineNumber":2633,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2634,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2635,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || \u003e\u003d18.0.0\""},{"lineNumber":2636,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2637,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2638,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2639,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2640,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2641,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2642,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys\": {"},{"lineNumber":2643,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\","},{"lineNumber":2644,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2645,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":2646,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2647,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":2648,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2649,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":2650,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":2651,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2652,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2653,"author":{"gitId":"sopa301"},"content":" \"node_modules/@ungap/structured-clone\": {"},{"lineNumber":2654,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.0\","},{"lineNumber":2655,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2656,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":2657,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2658,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-helper-vue-jsx-merge-props\": {"},{"lineNumber":2659,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":2660,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2661,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2662,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2663,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-helper-vue-transform-on\": {"},{"lineNumber":2664,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":2665,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2666,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2667,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2668,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-plugin-jsx\": {"},{"lineNumber":2669,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\","},{"lineNumber":2670,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2671,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2672,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2673,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.0.0\","},{"lineNumber":2674,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.0.0\","},{"lineNumber":2675,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.0.0\","},{"lineNumber":2676,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.0.0\","},{"lineNumber":2677,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.0.0\","},{"lineNumber":2678,"author":{"gitId":"-"},"content":" \"@vue/babel-helper-vue-transform-on\": \"^1.0.2\","},{"lineNumber":2679,"author":{"gitId":"-"},"content":" \"camelcase\": \"^6.0.0\","},{"lineNumber":2680,"author":{"gitId":"-"},"content":" \"html-tags\": \"^3.1.0\","},{"lineNumber":2681,"author":{"gitId":"-"},"content":" \"svg-tags\": \"^1.0.0\""},{"lineNumber":2682,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2683,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2684,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-plugin-transform-vue-jsx\": {"},{"lineNumber":2685,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":2686,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2687,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2688,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2689,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.0.0\","},{"lineNumber":2690,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\","},{"lineNumber":2691,"author":{"gitId":"-"},"content":" \"@vue/babel-helper-vue-jsx-merge-props\": \"^1.4.0\","},{"lineNumber":2692,"author":{"gitId":"-"},"content":" \"html-tags\": \"^2.0.0\","},{"lineNumber":2693,"author":{"gitId":"-"},"content":" \"lodash.kebabcase\": \"^4.1.1\","},{"lineNumber":2694,"author":{"gitId":"-"},"content":" \"svg-tags\": \"^1.0.0\""},{"lineNumber":2695,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2696,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2697,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":2698,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2699,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2700,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-plugin-transform-vue-jsx/node_modules/html-tags\": {"},{"lineNumber":2701,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2702,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2703,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2704,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2705,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":2706,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2707,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2708,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-app\": {"},{"lineNumber":2709,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":2710,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2711,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2712,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2713,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.12.16\","},{"lineNumber":2714,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.12.16\","},{"lineNumber":2715,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.12.13\","},{"lineNumber":2716,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-class-properties\": \"^7.12.13\","},{"lineNumber":2717,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-decorators\": \"^7.12.13\","},{"lineNumber":2718,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\","},{"lineNumber":2719,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.12.13\","},{"lineNumber":2720,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-runtime\": \"^7.12.15\","},{"lineNumber":2721,"author":{"gitId":"-"},"content":" \"@babel/preset-env\": \"^7.12.16\","},{"lineNumber":2722,"author":{"gitId":"-"},"content":" \"@babel/runtime\": \"^7.12.13\","},{"lineNumber":2723,"author":{"gitId":"-"},"content":" \"@vue/babel-plugin-jsx\": \"^1.0.3\","},{"lineNumber":2724,"author":{"gitId":"-"},"content":" \"@vue/babel-preset-jsx\": \"^1.1.2\","},{"lineNumber":2725,"author":{"gitId":"-"},"content":" \"babel-plugin-dynamic-import-node\": \"^2.3.3\","},{"lineNumber":2726,"author":{"gitId":"-"},"content":" \"core-js\": \"^3.8.3\","},{"lineNumber":2727,"author":{"gitId":"-"},"content":" \"core-js-compat\": \"^3.8.3\","},{"lineNumber":2728,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.4\""},{"lineNumber":2729,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2730,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2731,"author":{"gitId":"-"},"content":" \"@babel/core\": \"*\","},{"lineNumber":2732,"author":{"gitId":"-"},"content":" \"core-js\": \"^3\","},{"lineNumber":2733,"author":{"gitId":"-"},"content":" \"vue\": \"^2 || ^3.2.13\""},{"lineNumber":2734,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2735,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":2736,"author":{"gitId":"-"},"content":" \"core-js\": {"},{"lineNumber":2737,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2738,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2739,"author":{"gitId":"-"},"content":" \"vue\": {"},{"lineNumber":2740,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2741,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2742,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2743,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2744,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-app/node_modules/lru-cache\": {"},{"lineNumber":2745,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":2746,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2747,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":2748,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2749,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":2750,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2751,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2752,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2753,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2754,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2755,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-app/node_modules/semver\": {"},{"lineNumber":2756,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":2757,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2758,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":2759,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2760,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":2761,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2762,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":2763,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":2764,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2765,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2766,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2767,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2768,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2769,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-app/node_modules/yallist\": {"},{"lineNumber":2770,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2771,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2772,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":2773,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2774,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-jsx\": {"},{"lineNumber":2775,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":2776,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2777,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2778,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2779,"author":{"gitId":"-"},"content":" \"@vue/babel-helper-vue-jsx-merge-props\": \"^1.4.0\","},{"lineNumber":2780,"author":{"gitId":"-"},"content":" \"@vue/babel-plugin-transform-vue-jsx\": \"^1.4.0\","},{"lineNumber":2781,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-composition-api-inject-h\": \"^1.4.0\","},{"lineNumber":2782,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-composition-api-render-instance\": \"^1.4.0\","},{"lineNumber":2783,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-functional-vue\": \"^1.4.0\","},{"lineNumber":2784,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-inject-h\": \"^1.4.0\","},{"lineNumber":2785,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-v-model\": \"^1.4.0\","},{"lineNumber":2786,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-v-on\": \"^1.4.0\""},{"lineNumber":2787,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2788,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2789,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\","},{"lineNumber":2790,"author":{"gitId":"-"},"content":" \"vue\": \"*\""},{"lineNumber":2791,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2792,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":2793,"author":{"gitId":"-"},"content":" \"vue\": {"},{"lineNumber":2794,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2795,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2796,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2797,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2798,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-composition-api-inject-h\": {"},{"lineNumber":2799,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":2800,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2801,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2802,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2803,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\""},{"lineNumber":2804,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2805,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2806,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":2807,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2808,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2809,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-composition-api-render-instance\": {"},{"lineNumber":2810,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":2811,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2812,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2813,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2814,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\""},{"lineNumber":2815,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2816,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2817,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":2818,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2819,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2820,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-functional-vue\": {"},{"lineNumber":2821,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":2822,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2823,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2824,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2825,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\""},{"lineNumber":2826,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2827,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2828,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":2829,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2830,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2831,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-inject-h\": {"},{"lineNumber":2832,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":2833,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2834,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2835,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2836,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\""},{"lineNumber":2837,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2838,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2839,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":2840,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2841,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2842,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-model\": {"},{"lineNumber":2843,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":2844,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2845,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2846,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2847,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\","},{"lineNumber":2848,"author":{"gitId":"-"},"content":" \"@vue/babel-helper-vue-jsx-merge-props\": \"^1.4.0\","},{"lineNumber":2849,"author":{"gitId":"-"},"content":" \"@vue/babel-plugin-transform-vue-jsx\": \"^1.4.0\","},{"lineNumber":2850,"author":{"gitId":"-"},"content":" \"camelcase\": \"^5.0.0\","},{"lineNumber":2851,"author":{"gitId":"-"},"content":" \"html-tags\": \"^2.0.0\","},{"lineNumber":2852,"author":{"gitId":"-"},"content":" \"svg-tags\": \"^1.0.0\""},{"lineNumber":2853,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2854,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2855,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":2856,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2857,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2858,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-model/node_modules/camelcase\": {"},{"lineNumber":2859,"author":{"gitId":"-"},"content":" \"version\": \"5.3.1\","},{"lineNumber":2860,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2861,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2862,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2863,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":2864,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2865,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2866,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-model/node_modules/html-tags\": {"},{"lineNumber":2867,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2868,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2869,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2870,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2871,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":2872,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2873,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2874,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-on\": {"},{"lineNumber":2875,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":2876,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2877,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2878,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2879,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\","},{"lineNumber":2880,"author":{"gitId":"-"},"content":" \"@vue/babel-plugin-transform-vue-jsx\": \"^1.4.0\","},{"lineNumber":2881,"author":{"gitId":"-"},"content":" \"camelcase\": \"^5.0.0\""},{"lineNumber":2882,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2883,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2884,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":2885,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2886,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2887,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-on/node_modules/camelcase\": {"},{"lineNumber":2888,"author":{"gitId":"-"},"content":" \"version\": \"5.3.1\","},{"lineNumber":2889,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2890,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2891,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2892,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":2893,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2894,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2895,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-overlay\": {"},{"lineNumber":2896,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":2897,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2898,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2899,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2900,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-babel\": {"},{"lineNumber":2901,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":2902,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2903,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2904,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2905,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.12.16\","},{"lineNumber":2906,"author":{"gitId":"-"},"content":" \"@vue/babel-preset-app\": \"^5.0.8\","},{"lineNumber":2907,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\","},{"lineNumber":2908,"author":{"gitId":"-"},"content":" \"babel-loader\": \"^8.2.2\","},{"lineNumber":2909,"author":{"gitId":"-"},"content":" \"thread-loader\": \"^3.0.0\","},{"lineNumber":2910,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.54.0\""},{"lineNumber":2911,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2912,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2913,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\""},{"lineNumber":2914,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2915,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2916,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-eslint\": {"},{"lineNumber":2917,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":2918,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2919,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2920,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2921,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\","},{"lineNumber":2922,"author":{"gitId":"-"},"content":" \"eslint-webpack-plugin\": \"^3.1.0\","},{"lineNumber":2923,"author":{"gitId":"-"},"content":" \"globby\": \"^11.0.2\","},{"lineNumber":2924,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.54.0\","},{"lineNumber":2925,"author":{"gitId":"-"},"content":" \"yorkie\": \"^2.0.0\""},{"lineNumber":2926,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2927,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2928,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\","},{"lineNumber":2929,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d7.5.0\""},{"lineNumber":2930,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2931,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2932,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-router\": {"},{"lineNumber":2933,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":2934,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2935,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2936,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2937,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\""},{"lineNumber":2938,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2939,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2940,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\""},{"lineNumber":2941,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2942,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2943,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-typescript\": {"},{"lineNumber":2944,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":2945,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2946,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2947,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2948,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.12.16\","},{"lineNumber":2949,"author":{"gitId":"-"},"content":" \"@types/webpack-env\": \"^1.15.2\","},{"lineNumber":2950,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\","},{"lineNumber":2951,"author":{"gitId":"-"},"content":" \"babel-loader\": \"^8.2.2\","},{"lineNumber":2952,"author":{"gitId":"-"},"content":" \"fork-ts-checker-webpack-plugin\": \"^6.4.0\","},{"lineNumber":2953,"author":{"gitId":"-"},"content":" \"globby\": \"^11.0.2\","},{"lineNumber":2954,"author":{"gitId":"-"},"content":" \"thread-loader\": \"^3.0.0\","},{"lineNumber":2955,"author":{"gitId":"-"},"content":" \"ts-loader\": \"^9.2.5\","},{"lineNumber":2956,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.54.0\""},{"lineNumber":2957,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2958,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2959,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\","},{"lineNumber":2960,"author":{"gitId":"-"},"content":" \"cache-loader\": \"^4.1.0\","},{"lineNumber":2961,"author":{"gitId":"-"},"content":" \"typescript\": \"\u003e\u003d2\","},{"lineNumber":2962,"author":{"gitId":"-"},"content":" \"vue\": \"^2 || ^3.2.13\","},{"lineNumber":2963,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": \"^2.0.0\""},{"lineNumber":2964,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2965,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":2966,"author":{"gitId":"-"},"content":" \"cache-loader\": {"},{"lineNumber":2967,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2968,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2969,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": {"},{"lineNumber":2970,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2971,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2972,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2973,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2974,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-vuex\": {"},{"lineNumber":2975,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":2976,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2977,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2978,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2979,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\""},{"lineNumber":2980,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2981,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2982,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-service\": {"},{"lineNumber":2983,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":2984,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2985,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2986,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2987,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.12.16\","},{"lineNumber":2988,"author":{"gitId":"-"},"content":" \"@soda/friendly-errors-webpack-plugin\": \"^1.8.0\","},{"lineNumber":2989,"author":{"gitId":"-"},"content":" \"@soda/get-current-script\": \"^1.0.2\","},{"lineNumber":2990,"author":{"gitId":"-"},"content":" \"@types/minimist\": \"^1.2.0\","},{"lineNumber":2991,"author":{"gitId":"-"},"content":" \"@vue/cli-overlay\": \"^5.0.8\","},{"lineNumber":2992,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-router\": \"^5.0.8\","},{"lineNumber":2993,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-vuex\": \"^5.0.8\","},{"lineNumber":2994,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\","},{"lineNumber":2995,"author":{"gitId":"-"},"content":" \"@vue/component-compiler-utils\": \"^3.3.0\","},{"lineNumber":2996,"author":{"gitId":"-"},"content":" \"@vue/vue-loader-v15\": \"npm:vue-loader@^15.9.7\","},{"lineNumber":2997,"author":{"gitId":"-"},"content":" \"@vue/web-component-wrapper\": \"^1.3.0\","},{"lineNumber":2998,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.0.5\","},{"lineNumber":2999,"author":{"gitId":"-"},"content":" \"acorn-walk\": \"^8.0.2\","},{"lineNumber":3000,"author":{"gitId":"-"},"content":" \"address\": \"^1.1.2\","},{"lineNumber":3001,"author":{"gitId":"-"},"content":" \"autoprefixer\": \"^10.2.4\","},{"lineNumber":3002,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.16.3\","},{"lineNumber":3003,"author":{"gitId":"-"},"content":" \"case-sensitive-paths-webpack-plugin\": \"^2.3.0\","},{"lineNumber":3004,"author":{"gitId":"-"},"content":" \"cli-highlight\": \"^2.1.10\","},{"lineNumber":3005,"author":{"gitId":"-"},"content":" \"clipboardy\": \"^2.3.0\","},{"lineNumber":3006,"author":{"gitId":"-"},"content":" \"cliui\": \"^7.0.4\","},{"lineNumber":3007,"author":{"gitId":"-"},"content":" \"copy-webpack-plugin\": \"^9.0.1\","},{"lineNumber":3008,"author":{"gitId":"-"},"content":" \"css-loader\": \"^6.5.0\","},{"lineNumber":3009,"author":{"gitId":"-"},"content":" \"css-minimizer-webpack-plugin\": \"^3.0.2\","},{"lineNumber":3010,"author":{"gitId":"-"},"content":" \"cssnano\": \"^5.0.0\","},{"lineNumber":3011,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.1\","},{"lineNumber":3012,"author":{"gitId":"-"},"content":" \"default-gateway\": \"^6.0.3\","},{"lineNumber":3013,"author":{"gitId":"-"},"content":" \"dotenv\": \"^10.0.0\","},{"lineNumber":3014,"author":{"gitId":"-"},"content":" \"dotenv-expand\": \"^5.1.0\","},{"lineNumber":3015,"author":{"gitId":"-"},"content":" \"fs-extra\": \"^9.1.0\","},{"lineNumber":3016,"author":{"gitId":"-"},"content":" \"globby\": \"^11.0.2\","},{"lineNumber":3017,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^2.0.0\","},{"lineNumber":3018,"author":{"gitId":"-"},"content":" \"html-webpack-plugin\": \"^5.1.0\","},{"lineNumber":3019,"author":{"gitId":"-"},"content":" \"is-file-esm\": \"^1.0.0\","},{"lineNumber":3020,"author":{"gitId":"-"},"content":" \"launch-editor-middleware\": \"^2.2.1\","},{"lineNumber":3021,"author":{"gitId":"-"},"content":" \"lodash.defaultsdeep\": \"^4.6.1\","},{"lineNumber":3022,"author":{"gitId":"-"},"content":" \"lodash.mapvalues\": \"^4.6.0\","},{"lineNumber":3023,"author":{"gitId":"-"},"content":" \"mini-css-extract-plugin\": \"^2.5.3\","},{"lineNumber":3024,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.5\","},{"lineNumber":3025,"author":{"gitId":"-"},"content":" \"module-alias\": \"^2.2.2\","},{"lineNumber":3026,"author":{"gitId":"-"},"content":" \"portfinder\": \"^1.0.26\","},{"lineNumber":3027,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.6\","},{"lineNumber":3028,"author":{"gitId":"-"},"content":" \"postcss-loader\": \"^6.1.1\","},{"lineNumber":3029,"author":{"gitId":"-"},"content":" \"progress-webpack-plugin\": \"^1.0.12\","},{"lineNumber":3030,"author":{"gitId":"-"},"content":" \"ssri\": \"^8.0.1\","},{"lineNumber":3031,"author":{"gitId":"-"},"content":" \"terser-webpack-plugin\": \"^5.1.1\","},{"lineNumber":3032,"author":{"gitId":"-"},"content":" \"thread-loader\": \"^3.0.0\","},{"lineNumber":3033,"author":{"gitId":"-"},"content":" \"vue-loader\": \"^17.0.0\","},{"lineNumber":3034,"author":{"gitId":"-"},"content":" \"vue-style-loader\": \"^4.1.3\","},{"lineNumber":3035,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.54.0\","},{"lineNumber":3036,"author":{"gitId":"-"},"content":" \"webpack-bundle-analyzer\": \"^4.4.0\","},{"lineNumber":3037,"author":{"gitId":"-"},"content":" \"webpack-chain\": \"^6.5.1\","},{"lineNumber":3038,"author":{"gitId":"-"},"content":" \"webpack-dev-server\": \"^4.7.3\","},{"lineNumber":3039,"author":{"gitId":"-"},"content":" \"webpack-merge\": \"^5.7.3\","},{"lineNumber":3040,"author":{"gitId":"-"},"content":" \"webpack-virtual-modules\": \"^0.4.2\","},{"lineNumber":3041,"author":{"gitId":"-"},"content":" \"whatwg-fetch\": \"^3.6.2\""},{"lineNumber":3042,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3043,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":3044,"author":{"gitId":"-"},"content":" \"vue-cli-service\": \"bin/vue-cli-service.js\""},{"lineNumber":3045,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3046,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3047,"author":{"gitId":"-"},"content":" \"node\": \"^12.0.0 || \u003e\u003d 14.0.0\""},{"lineNumber":3048,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3049,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3050,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": \"^2.0.0\","},{"lineNumber":3051,"author":{"gitId":"-"},"content":" \"webpack-sources\": \"*\""},{"lineNumber":3052,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3053,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":3054,"author":{"gitId":"-"},"content":" \"cache-loader\": {"},{"lineNumber":3055,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3056,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3057,"author":{"gitId":"-"},"content":" \"less-loader\": {"},{"lineNumber":3058,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3059,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3060,"author":{"gitId":"-"},"content":" \"pug-plain-loader\": {"},{"lineNumber":3061,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3062,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3063,"author":{"gitId":"-"},"content":" \"raw-loader\": {"},{"lineNumber":3064,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3065,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3066,"author":{"gitId":"-"},"content":" \"sass-loader\": {"},{"lineNumber":3067,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3068,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3069,"author":{"gitId":"-"},"content":" \"stylus-loader\": {"},{"lineNumber":3070,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3071,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3072,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": {"},{"lineNumber":3073,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3074,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3075,"author":{"gitId":"-"},"content":" \"webpack-sources\": {"},{"lineNumber":3076,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3077,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3078,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3079,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3080,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils\": {"},{"lineNumber":3081,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":3082,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3083,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3084,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3085,"author":{"gitId":"-"},"content":" \"@achrinza/node-ipc\": \"^9.2.5\","},{"lineNumber":3086,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.2\","},{"lineNumber":3087,"author":{"gitId":"-"},"content":" \"execa\": \"^1.0.0\","},{"lineNumber":3088,"author":{"gitId":"-"},"content":" \"joi\": \"^17.4.0\","},{"lineNumber":3089,"author":{"gitId":"-"},"content":" \"launch-editor\": \"^2.2.1\","},{"lineNumber":3090,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\","},{"lineNumber":3091,"author":{"gitId":"-"},"content":" \"node-fetch\": \"^2.6.7\","},{"lineNumber":3092,"author":{"gitId":"-"},"content":" \"open\": \"^8.0.2\","},{"lineNumber":3093,"author":{"gitId":"-"},"content":" \"ora\": \"^5.3.0\","},{"lineNumber":3094,"author":{"gitId":"-"},"content":" \"read-pkg\": \"^5.1.1\","},{"lineNumber":3095,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.4\","},{"lineNumber":3096,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\""},{"lineNumber":3097,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3098,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3099,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/ansi-styles\": {"},{"lineNumber":3100,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":3101,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3102,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3103,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3104,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":3105,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3106,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3107,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":3108,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3109,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":3110,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":3111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3112,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3113,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/chalk\": {"},{"lineNumber":3114,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":3115,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3116,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3117,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3118,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":3119,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":3120,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3121,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3122,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":3123,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3124,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":3125,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":3126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3127,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3128,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/color-convert\": {"},{"lineNumber":3129,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":3130,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3131,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3132,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3133,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":3134,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3135,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3136,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":3137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3138,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3139,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/color-name\": {"},{"lineNumber":3140,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":3141,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3142,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3143,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3144,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/has-flag\": {"},{"lineNumber":3145,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":3146,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3147,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3148,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3149,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":3150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3151,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3152,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/lru-cache\": {"},{"lineNumber":3153,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":3154,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3155,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":3156,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3157,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":3158,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3159,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3160,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":3161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3162,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3163,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/semver\": {"},{"lineNumber":3164,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":3165,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3166,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":3167,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3168,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":3169,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3170,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":3171,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":3172,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3173,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3174,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":3175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3176,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3177,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/supports-color\": {"},{"lineNumber":3178,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":3179,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3180,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3181,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3182,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":3183,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3184,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3185,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":3186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3187,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3188,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/yallist\": {"},{"lineNumber":3189,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":3190,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3191,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":3192,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3193,"author":{"gitId":"-"},"content":" \"node_modules/@vue/compiler-core\": {"},{"lineNumber":3194,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3195,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.21.tgz\","},{"lineNumber":3196,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og\u003d\u003d\","},{"lineNumber":3197,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3198,"author":{"gitId":"sopa301"},"content":" \"@babel/parser\": \"^7.23.9\","},{"lineNumber":3199,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\","},{"lineNumber":3200,"author":{"gitId":"sopa301"},"content":" \"entities\": \"^4.5.0\","},{"lineNumber":3201,"author":{"gitId":"-"},"content":" \"estree-walker\": \"^2.0.2\","},{"lineNumber":3202,"author":{"gitId":"sopa301"},"content":" \"source-map-js\": \"^1.0.2\""},{"lineNumber":3203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3204,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3205,"author":{"gitId":"-"},"content":" \"node_modules/@vue/compiler-dom\": {"},{"lineNumber":3206,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3207,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz\","},{"lineNumber":3208,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA\u003d\u003d\","},{"lineNumber":3209,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3210,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-core\": \"3.4.21\","},{"lineNumber":3211,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\""},{"lineNumber":3212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3213,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3214,"author":{"gitId":"-"},"content":" \"node_modules/@vue/compiler-sfc\": {"},{"lineNumber":3215,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3216,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3217,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3218,"author":{"gitId":"sopa301"},"content":" \"@babel/parser\": \"^7.23.9\","},{"lineNumber":3219,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-core\": \"3.4.21\","},{"lineNumber":3220,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-dom\": \"3.4.21\","},{"lineNumber":3221,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-ssr\": \"3.4.21\","},{"lineNumber":3222,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\","},{"lineNumber":3223,"author":{"gitId":"-"},"content":" \"estree-walker\": \"^2.0.2\","},{"lineNumber":3224,"author":{"gitId":"sopa301"},"content":" \"magic-string\": \"^0.30.7\","},{"lineNumber":3225,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.35\","},{"lineNumber":3226,"author":{"gitId":"sopa301"},"content":" \"source-map-js\": \"^1.0.2\""},{"lineNumber":3227,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3228,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3229,"author":{"gitId":"-"},"content":" \"node_modules/@vue/compiler-ssr\": {"},{"lineNumber":3230,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3231,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz\","},{"lineNumber":3232,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q\u003d\u003d\","},{"lineNumber":3233,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3234,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-dom\": \"3.4.21\","},{"lineNumber":3235,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\""},{"lineNumber":3236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3237,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3238,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils\": {"},{"lineNumber":3239,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\","},{"lineNumber":3240,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3241,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3242,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3243,"author":{"gitId":"-"},"content":" \"consolidate\": \"^0.15.1\","},{"lineNumber":3244,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^1.0.2\","},{"lineNumber":3245,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^4.1.2\","},{"lineNumber":3246,"author":{"gitId":"-"},"content":" \"merge-source-map\": \"^1.1.0\","},{"lineNumber":3247,"author":{"gitId":"-"},"content":" \"postcss\": \"^7.0.36\","},{"lineNumber":3248,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.2\","},{"lineNumber":3249,"author":{"gitId":"-"},"content":" \"source-map\": \"~0.6.1\","},{"lineNumber":3250,"author":{"gitId":"-"},"content":" \"vue-template-es2015-compiler\": \"^1.9.0\""},{"lineNumber":3251,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3252,"author":{"gitId":"-"},"content":" \"optionalDependencies\": {"},{"lineNumber":3253,"author":{"gitId":"-"},"content":" \"prettier\": \"^1.18.2 || ^2.0.0\""},{"lineNumber":3254,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3255,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3256,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/hash-sum\": {"},{"lineNumber":3257,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":3258,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3259,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3260,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3261,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/lru-cache\": {"},{"lineNumber":3262,"author":{"gitId":"-"},"content":" \"version\": \"4.1.5\","},{"lineNumber":3263,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3264,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":3265,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3266,"author":{"gitId":"-"},"content":" \"pseudomap\": \"^1.0.2\","},{"lineNumber":3267,"author":{"gitId":"-"},"content":" \"yallist\": \"^2.1.2\""},{"lineNumber":3268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3269,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3270,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/picocolors\": {"},{"lineNumber":3271,"author":{"gitId":"-"},"content":" \"version\": \"0.2.1\","},{"lineNumber":3272,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3273,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":3274,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3275,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/postcss\": {"},{"lineNumber":3276,"author":{"gitId":"-"},"content":" \"version\": \"7.0.39\","},{"lineNumber":3277,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3278,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3279,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3280,"author":{"gitId":"-"},"content":" \"picocolors\": \"^0.2.1\","},{"lineNumber":3281,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.1\""},{"lineNumber":3282,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3283,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3284,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":3285,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3286,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":3287,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":3288,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\""},{"lineNumber":3289,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3290,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3291,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/yallist\": {"},{"lineNumber":3292,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\","},{"lineNumber":3293,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3294,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":3295,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3296,"author":{"gitId":"-"},"content":" \"node_modules/@vue/devtools-api\": {"},{"lineNumber":3297,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.6.1\","},{"lineNumber":3298,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.1.tgz\","},{"lineNumber":3299,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA\u003d\u003d\""},{"lineNumber":3300,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3301,"author":{"gitId":"-"},"content":" \"node_modules/@vue/eslint-config-typescript\": {"},{"lineNumber":3302,"author":{"gitId":"-"},"content":" \"version\": \"10.0.0\","},{"lineNumber":3303,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3304,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3305,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3306,"author":{"gitId":"-"},"content":" \"@typescript-eslint/eslint-plugin\": \"^5.0.0\","},{"lineNumber":3307,"author":{"gitId":"-"},"content":" \"@typescript-eslint/parser\": \"^5.0.0\","},{"lineNumber":3308,"author":{"gitId":"-"},"content":" \"vue-eslint-parser\": \"^8.0.0\""},{"lineNumber":3309,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3310,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3311,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":3312,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3313,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3314,"author":{"gitId":"-"},"content":" \"eslint\": \"^6.2.0 || ^7.0.0 || ^8.0.0\","},{"lineNumber":3315,"author":{"gitId":"-"},"content":" \"eslint-plugin-vue\": \"^8.0.1\""},{"lineNumber":3316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3317,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3318,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/eslint-plugin\": {"},{"lineNumber":3319,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":3320,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3321,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3322,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":3323,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/regexpp\": \"^4.4.0\","},{"lineNumber":3324,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"5.62.0\","},{"lineNumber":3325,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/type-utils\": \"5.62.0\","},{"lineNumber":3326,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/utils\": \"5.62.0\","},{"lineNumber":3327,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":3328,"author":{"gitId":"sopa301"},"content":" \"graphemer\": \"^1.4.0\","},{"lineNumber":3329,"author":{"gitId":"sopa301"},"content":" \"ignore\": \"^5.2.0\","},{"lineNumber":3330,"author":{"gitId":"sopa301"},"content":" \"natural-compare-lite\": \"^1.4.0\","},{"lineNumber":3331,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.3.7\","},{"lineNumber":3332,"author":{"gitId":"sopa301"},"content":" \"tsutils\": \"^3.21.0\""},{"lineNumber":3333,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3334,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":3335,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":3336,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3337,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":3338,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\","},{"lineNumber":3339,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":3340,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3341,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":3342,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/parser\": \"^5.0.0\","},{"lineNumber":3343,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\""},{"lineNumber":3344,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3345,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":3346,"author":{"gitId":"sopa301"},"content":" \"typescript\": {"},{"lineNumber":3347,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":3348,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3349,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3350,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3351,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/parser\": {"},{"lineNumber":3352,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":3353,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3354,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":3355,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3356,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"5.62.0\","},{"lineNumber":3357,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"5.62.0\","},{"lineNumber":3358,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"5.62.0\","},{"lineNumber":3359,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\""},{"lineNumber":3360,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3361,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":3362,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":3363,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3364,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":3365,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\","},{"lineNumber":3366,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":3367,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3368,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":3369,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\""},{"lineNumber":3370,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3371,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":3372,"author":{"gitId":"sopa301"},"content":" \"typescript\": {"},{"lineNumber":3373,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":3374,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3375,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3376,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3377,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/scope-manager\": {"},{"lineNumber":3378,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":3379,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3380,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3381,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3382,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"5.62.0\","},{"lineNumber":3383,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/visitor-keys\": \"5.62.0\""},{"lineNumber":3384,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3385,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":3386,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":3387,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3388,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":3389,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\","},{"lineNumber":3390,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":3391,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3392,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3393,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/type-utils\": {"},{"lineNumber":3394,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":3395,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3396,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3397,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":3398,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"5.62.0\","},{"lineNumber":3399,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/utils\": \"5.62.0\","},{"lineNumber":3400,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":3401,"author":{"gitId":"sopa301"},"content":" \"tsutils\": \"^3.21.0\""},{"lineNumber":3402,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3403,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":3404,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":3405,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3406,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":3407,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\","},{"lineNumber":3408,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":3409,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3410,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":3411,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"*\""},{"lineNumber":3412,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3413,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":3414,"author":{"gitId":"sopa301"},"content":" \"typescript\": {"},{"lineNumber":3415,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":3416,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3417,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3418,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3419,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/types\": {"},{"lineNumber":3420,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":3421,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3422,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3423,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":3424,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":3425,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3426,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":3427,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\","},{"lineNumber":3428,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":3429,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3430,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3431,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/typescript-estree\": {"},{"lineNumber":3432,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":3433,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3434,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":3435,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":3436,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"5.62.0\","},{"lineNumber":3437,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/visitor-keys\": \"5.62.0\","},{"lineNumber":3438,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":3439,"author":{"gitId":"sopa301"},"content":" \"globby\": \"^11.1.0\","},{"lineNumber":3440,"author":{"gitId":"sopa301"},"content":" \"is-glob\": \"^4.0.3\","},{"lineNumber":3441,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.3.7\","},{"lineNumber":3442,"author":{"gitId":"sopa301"},"content":" \"tsutils\": \"^3.21.0\""},{"lineNumber":3443,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3444,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":3445,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":3446,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3447,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":3448,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\","},{"lineNumber":3449,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":3450,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3451,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":3452,"author":{"gitId":"sopa301"},"content":" \"typescript\": {"},{"lineNumber":3453,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":3454,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3455,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3456,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3457,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/utils\": {"},{"lineNumber":3458,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":3459,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3460,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3461,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":3462,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/eslint-utils\": \"^4.2.0\","},{"lineNumber":3463,"author":{"gitId":"sopa301"},"content":" \"@types/json-schema\": \"^7.0.9\","},{"lineNumber":3464,"author":{"gitId":"sopa301"},"content":" \"@types/semver\": \"^7.3.12\","},{"lineNumber":3465,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"5.62.0\","},{"lineNumber":3466,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"5.62.0\","},{"lineNumber":3467,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"5.62.0\","},{"lineNumber":3468,"author":{"gitId":"sopa301"},"content":" \"eslint-scope\": \"^5.1.1\","},{"lineNumber":3469,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.3.7\""},{"lineNumber":3470,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3471,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":3472,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":3473,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3474,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":3475,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\","},{"lineNumber":3476,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":3477,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3478,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":3479,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\""},{"lineNumber":3480,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3481,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3482,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/visitor-keys\": {"},{"lineNumber":3483,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":3484,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3485,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3486,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":3487,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"5.62.0\","},{"lineNumber":3488,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.3.0\""},{"lineNumber":3489,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3490,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":3491,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":3492,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3493,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":3494,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\","},{"lineNumber":3495,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":3496,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3497,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3498,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/eslint-config-typescript/node_modules/eslint-visitor-keys\": {"},{"lineNumber":3499,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\","},{"lineNumber":3500,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3501,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":3502,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":3503,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":3504,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3505,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":3506,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":3507,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3508,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3509,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/eslint-config-typescript/node_modules/lru-cache\": {"},{"lineNumber":3510,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.0\","},{"lineNumber":3511,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3512,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":3513,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":3514,"author":{"gitId":"sopa301"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":3515,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3516,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":3517,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":3518,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3519,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3520,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/eslint-config-typescript/node_modules/semver\": {"},{"lineNumber":3521,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":3522,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3523,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":3524,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":3525,"author":{"gitId":"sopa301"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":3526,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3527,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":3528,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":3529,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3530,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":3531,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":3532,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3533,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3534,"author":{"gitId":"sopa301"},"content":" \"node_modules/@vue/eslint-config-typescript/node_modules/yallist\": {"},{"lineNumber":3535,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":3536,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3537,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":3538,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3539,"author":{"gitId":"-"},"content":" \"node_modules/@vue/reactivity\": {"},{"lineNumber":3540,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3541,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.21.tgz\","},{"lineNumber":3542,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw\u003d\u003d\","},{"lineNumber":3543,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":3544,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\""},{"lineNumber":3545,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3546,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3547,"author":{"gitId":"-"},"content":" \"node_modules/@vue/runtime-core\": {"},{"lineNumber":3548,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3549,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.21.tgz\","},{"lineNumber":3550,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA\u003d\u003d\","},{"lineNumber":3551,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3552,"author":{"gitId":"sopa301"},"content":" \"@vue/reactivity\": \"3.4.21\","},{"lineNumber":3553,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\""},{"lineNumber":3554,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3555,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3556,"author":{"gitId":"-"},"content":" \"node_modules/@vue/runtime-dom\": {"},{"lineNumber":3557,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3558,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.21.tgz\","},{"lineNumber":3559,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw\u003d\u003d\","},{"lineNumber":3560,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3561,"author":{"gitId":"sopa301"},"content":" \"@vue/runtime-core\": \"3.4.21\","},{"lineNumber":3562,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\","},{"lineNumber":3563,"author":{"gitId":"sopa301"},"content":" \"csstype\": \"^3.1.3\""},{"lineNumber":3564,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3565,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3566,"author":{"gitId":"-"},"content":" \"node_modules/@vue/server-renderer\": {"},{"lineNumber":3567,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3568,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.21.tgz\","},{"lineNumber":3569,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg\u003d\u003d\","},{"lineNumber":3570,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3571,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-ssr\": \"3.4.21\","},{"lineNumber":3572,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\""},{"lineNumber":3573,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3574,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3575,"author":{"gitId":"sopa301"},"content":" \"vue\": \"3.4.21\""},{"lineNumber":3576,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3577,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3578,"author":{"gitId":"-"},"content":" \"node_modules/@vue/shared\": {"},{"lineNumber":3579,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3580,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@vue/shared/-/shared-3.4.21.tgz\","},{"lineNumber":3581,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g\u003d\u003d\""},{"lineNumber":3582,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3583,"author":{"gitId":"-"},"content":" \"node_modules/@vue/vue-loader-v15\": {"},{"lineNumber":3584,"author":{"gitId":"-"},"content":" \"name\": \"vue-loader\","},{"lineNumber":3585,"author":{"gitId":"sopa301"},"content":" \"version\": \"15.11.1\","},{"lineNumber":3586,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3587,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3588,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3589,"author":{"gitId":"-"},"content":" \"@vue/component-compiler-utils\": \"^3.1.0\","},{"lineNumber":3590,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^1.0.2\","},{"lineNumber":3591,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^1.1.0\","},{"lineNumber":3592,"author":{"gitId":"-"},"content":" \"vue-hot-reload-api\": \"^2.3.0\","},{"lineNumber":3593,"author":{"gitId":"-"},"content":" \"vue-style-loader\": \"^4.1.0\""},{"lineNumber":3594,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3595,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":3596,"author":{"gitId":"sopa301"},"content":" \"css-loader\": \"*\","},{"lineNumber":3597,"author":{"gitId":"sopa301"},"content":" \"webpack\": \"^3.0.0 || ^4.1.0 || ^5.0.0-0\""},{"lineNumber":3598,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3599,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":3600,"author":{"gitId":"sopa301"},"content":" \"cache-loader\": {"},{"lineNumber":3601,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":3602,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3603,"author":{"gitId":"sopa301"},"content":" \"prettier\": {"},{"lineNumber":3604,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":3605,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3606,"author":{"gitId":"sopa301"},"content":" \"vue-template-compiler\": {"},{"lineNumber":3607,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":3608,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3609,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3610,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3611,"author":{"gitId":"-"},"content":" \"node_modules/@vue/vue-loader-v15/node_modules/hash-sum\": {"},{"lineNumber":3612,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":3613,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3614,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3615,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3616,"author":{"gitId":"-"},"content":" \"node_modules/@vue/web-component-wrapper\": {"},{"lineNumber":3617,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\","},{"lineNumber":3618,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3619,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3620,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3621,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/ast\": {"},{"lineNumber":3622,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3623,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3624,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3625,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-numbers\": \"1.11.1\","},{"lineNumber":3626,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\""},{"lineNumber":3627,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3628,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3629,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/floating-point-hex-parser\": {"},{"lineNumber":3630,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3631,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3632,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3633,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-api-error\": {"},{"lineNumber":3634,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3635,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3636,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3637,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-buffer\": {"},{"lineNumber":3638,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3639,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3640,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3641,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-numbers\": {"},{"lineNumber":3642,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3643,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3644,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3645,"author":{"gitId":"-"},"content":" \"@webassemblyjs/floating-point-hex-parser\": \"1.11.1\","},{"lineNumber":3646,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-api-error\": \"1.11.1\","},{"lineNumber":3647,"author":{"gitId":"-"},"content":" \"@xtuc/long\": \"4.2.2\""},{"lineNumber":3648,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3649,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3650,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-wasm-bytecode\": {"},{"lineNumber":3651,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3652,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3653,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3654,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-wasm-section\": {"},{"lineNumber":3655,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3656,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3657,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3658,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\","},{"lineNumber":3659,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-buffer\": \"1.11.1\","},{"lineNumber":3660,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\","},{"lineNumber":3661,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-gen\": \"1.11.1\""},{"lineNumber":3662,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3663,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3664,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/ieee754\": {"},{"lineNumber":3665,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3666,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3667,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3668,"author":{"gitId":"-"},"content":" \"@xtuc/ieee754\": \"^1.2.0\""},{"lineNumber":3669,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3670,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3671,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/leb128\": {"},{"lineNumber":3672,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3673,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":3674,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3675,"author":{"gitId":"-"},"content":" \"@xtuc/long\": \"4.2.2\""},{"lineNumber":3676,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3677,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3678,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/utf8\": {"},{"lineNumber":3679,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3680,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3681,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3682,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wasm-edit\": {"},{"lineNumber":3683,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3684,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3685,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3686,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\","},{"lineNumber":3687,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-buffer\": \"1.11.1\","},{"lineNumber":3688,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\","},{"lineNumber":3689,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-section\": \"1.11.1\","},{"lineNumber":3690,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-gen\": \"1.11.1\","},{"lineNumber":3691,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-opt\": \"1.11.1\","},{"lineNumber":3692,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-parser\": \"1.11.1\","},{"lineNumber":3693,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wast-printer\": \"1.11.1\""},{"lineNumber":3694,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3695,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3696,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wasm-gen\": {"},{"lineNumber":3697,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3698,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3699,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3700,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\","},{"lineNumber":3701,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\","},{"lineNumber":3702,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ieee754\": \"1.11.1\","},{"lineNumber":3703,"author":{"gitId":"-"},"content":" \"@webassemblyjs/leb128\": \"1.11.1\","},{"lineNumber":3704,"author":{"gitId":"-"},"content":" \"@webassemblyjs/utf8\": \"1.11.1\""},{"lineNumber":3705,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3706,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3707,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wasm-opt\": {"},{"lineNumber":3708,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3709,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3710,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3711,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\","},{"lineNumber":3712,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-buffer\": \"1.11.1\","},{"lineNumber":3713,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-gen\": \"1.11.1\","},{"lineNumber":3714,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-parser\": \"1.11.1\""},{"lineNumber":3715,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3716,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3717,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wasm-parser\": {"},{"lineNumber":3718,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3719,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3720,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3721,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\","},{"lineNumber":3722,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-api-error\": \"1.11.1\","},{"lineNumber":3723,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\","},{"lineNumber":3724,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ieee754\": \"1.11.1\","},{"lineNumber":3725,"author":{"gitId":"-"},"content":" \"@webassemblyjs/leb128\": \"1.11.1\","},{"lineNumber":3726,"author":{"gitId":"-"},"content":" \"@webassemblyjs/utf8\": \"1.11.1\""},{"lineNumber":3727,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3728,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3729,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wast-printer\": {"},{"lineNumber":3730,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3731,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3732,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3733,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\","},{"lineNumber":3734,"author":{"gitId":"-"},"content":" \"@xtuc/long\": \"4.2.2\""},{"lineNumber":3735,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3736,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3737,"author":{"gitId":"-"},"content":" \"node_modules/@xtuc/ieee754\": {"},{"lineNumber":3738,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":3739,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\""},{"lineNumber":3740,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3741,"author":{"gitId":"-"},"content":" \"node_modules/@xtuc/long\": {"},{"lineNumber":3742,"author":{"gitId":"-"},"content":" \"version\": \"4.2.2\","},{"lineNumber":3743,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\""},{"lineNumber":3744,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3745,"author":{"gitId":"-"},"content":" \"node_modules/accepts\": {"},{"lineNumber":3746,"author":{"gitId":"-"},"content":" \"version\": \"1.3.8\","},{"lineNumber":3747,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3748,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3749,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3750,"author":{"gitId":"-"},"content":" \"mime-types\": \"~2.1.34\","},{"lineNumber":3751,"author":{"gitId":"-"},"content":" \"negotiator\": \"0.6.3\""},{"lineNumber":3752,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3753,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3754,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":3755,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3756,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3757,"author":{"gitId":"-"},"content":" \"node_modules/acorn\": {"},{"lineNumber":3758,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.11.3\","},{"lineNumber":3759,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3760,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":3761,"author":{"gitId":"-"},"content":" \"acorn\": \"bin/acorn\""},{"lineNumber":3762,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3763,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3764,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.4.0\""},{"lineNumber":3765,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3766,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3767,"author":{"gitId":"-"},"content":" \"node_modules/acorn-import-assertions\": {"},{"lineNumber":3768,"author":{"gitId":"-"},"content":" \"version\": \"1.8.0\","},{"lineNumber":3769,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3770,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3771,"author":{"gitId":"-"},"content":" \"acorn\": \"^8\""},{"lineNumber":3772,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3773,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3774,"author":{"gitId":"-"},"content":" \"node_modules/acorn-jsx\": {"},{"lineNumber":3775,"author":{"gitId":"-"},"content":" \"version\": \"5.3.2\","},{"lineNumber":3776,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3777,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3778,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3779,"author":{"gitId":"-"},"content":" \"acorn\": \"^6.0.0 || ^7.0.0 || ^8.0.0\""},{"lineNumber":3780,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3781,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3782,"author":{"gitId":"-"},"content":" \"node_modules/acorn-walk\": {"},{"lineNumber":3783,"author":{"gitId":"-"},"content":" \"version\": \"8.2.0\","},{"lineNumber":3784,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3785,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3786,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3787,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.4.0\""},{"lineNumber":3788,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3789,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3790,"author":{"gitId":"-"},"content":" \"node_modules/address\": {"},{"lineNumber":3791,"author":{"gitId":"-"},"content":" \"version\": \"1.2.2\","},{"lineNumber":3792,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3793,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3794,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3795,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0.0\""},{"lineNumber":3796,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3797,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3798,"author":{"gitId":"-"},"content":" \"node_modules/ajv\": {"},{"lineNumber":3799,"author":{"gitId":"-"},"content":" \"version\": \"6.12.6\","},{"lineNumber":3800,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3801,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3802,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":3803,"author":{"gitId":"-"},"content":" \"fast-json-stable-stringify\": \"^2.0.0\","},{"lineNumber":3804,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^0.4.1\","},{"lineNumber":3805,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":3806,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3807,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":3808,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":3809,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":3810,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3811,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3812,"author":{"gitId":"-"},"content":" \"node_modules/ajv-formats\": {"},{"lineNumber":3813,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\","},{"lineNumber":3814,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3815,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3816,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3817,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.0.0\""},{"lineNumber":3818,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3819,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3820,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.0.0\""},{"lineNumber":3821,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3822,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":3823,"author":{"gitId":"-"},"content":" \"ajv\": {"},{"lineNumber":3824,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3825,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3826,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3827,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3828,"author":{"gitId":"-"},"content":" \"node_modules/ajv-formats/node_modules/ajv\": {"},{"lineNumber":3829,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":3830,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3831,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3832,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3833,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":3834,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":3835,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":3836,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":3837,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3838,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":3839,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":3840,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":3841,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3842,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3843,"author":{"gitId":"-"},"content":" \"node_modules/ajv-formats/node_modules/json-schema-traverse\": {"},{"lineNumber":3844,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":3845,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3846,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3847,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3848,"author":{"gitId":"-"},"content":" \"node_modules/ajv-keywords\": {"},{"lineNumber":3849,"author":{"gitId":"-"},"content":" \"version\": \"3.5.2\","},{"lineNumber":3850,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3851,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3852,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.9.1\""},{"lineNumber":3853,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3854,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3855,"author":{"gitId":"-"},"content":" \"node_modules/ansi-escapes\": {"},{"lineNumber":3856,"author":{"gitId":"-"},"content":" \"version\": \"3.2.0\","},{"lineNumber":3857,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3858,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3859,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3860,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":3861,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3862,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3863,"author":{"gitId":"-"},"content":" \"node_modules/ansi-html-community\": {"},{"lineNumber":3864,"author":{"gitId":"-"},"content":" \"version\": \"0.0.8\","},{"lineNumber":3865,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3866,"author":{"gitId":"-"},"content":" \"engines\": ["},{"lineNumber":3867,"author":{"gitId":"-"},"content":" \"node \u003e\u003d 0.8.0\""},{"lineNumber":3868,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":3869,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":3870,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":3871,"author":{"gitId":"-"},"content":" \"ansi-html\": \"bin/ansi-html\""},{"lineNumber":3872,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3873,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3874,"author":{"gitId":"-"},"content":" \"node_modules/ansi-regex\": {"},{"lineNumber":3875,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\","},{"lineNumber":3876,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3877,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3878,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3879,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":3880,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3881,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3882,"author":{"gitId":"-"},"content":" \"node_modules/ansi-styles\": {"},{"lineNumber":3883,"author":{"gitId":"-"},"content":" \"version\": \"3.2.1\","},{"lineNumber":3884,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3885,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3886,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3887,"author":{"gitId":"-"},"content":" \"color-convert\": \"^1.9.0\""},{"lineNumber":3888,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3889,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3890,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":3891,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3892,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3893,"author":{"gitId":"-"},"content":" \"node_modules/any-promise\": {"},{"lineNumber":3894,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\","},{"lineNumber":3895,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3896,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3897,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3898,"author":{"gitId":"-"},"content":" \"node_modules/anymatch\": {"},{"lineNumber":3899,"author":{"gitId":"-"},"content":" \"version\": \"3.1.3\","},{"lineNumber":3900,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3901,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":3902,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3903,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\","},{"lineNumber":3904,"author":{"gitId":"-"},"content":" \"picomatch\": \"^2.0.4\""},{"lineNumber":3905,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3906,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3907,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":3908,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3909,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3910,"author":{"gitId":"-"},"content":" \"node_modules/arch\": {"},{"lineNumber":3911,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":3912,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3913,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":3914,"author":{"gitId":"-"},"content":" {"},{"lineNumber":3915,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":3916,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":3917,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3918,"author":{"gitId":"-"},"content":" {"},{"lineNumber":3919,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":3920,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":3921,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3922,"author":{"gitId":"-"},"content":" {"},{"lineNumber":3923,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":3924,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":3925,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3926,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":3927,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3928,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3929,"author":{"gitId":"-"},"content":" \"node_modules/argparse\": {"},{"lineNumber":3930,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":3931,"author":{"gitId":"sopa301"},"content":" \"license\": \"Python-2.0\""},{"lineNumber":3932,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3933,"author":{"gitId":"sopa301"},"content":" \"node_modules/array-buffer-byte-length\": {"},{"lineNumber":3934,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\","},{"lineNumber":3935,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3936,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3937,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3938,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\","},{"lineNumber":3939,"author":{"gitId":"sopa301"},"content":" \"is-array-buffer\": \"^3.0.4\""},{"lineNumber":3940,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3941,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3942,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":3943,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3944,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":3945,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":3946,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3947,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3948,"author":{"gitId":"-"},"content":" \"node_modules/array-flatten\": {"},{"lineNumber":3949,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\","},{"lineNumber":3950,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3951,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3952,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3953,"author":{"gitId":"-"},"content":" \"node_modules/array-includes\": {"},{"lineNumber":3954,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.7\","},{"lineNumber":3955,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3956,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3957,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3958,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":3959,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":3960,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\","},{"lineNumber":3961,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.1\","},{"lineNumber":3962,"author":{"gitId":"-"},"content":" \"is-string\": \"^1.0.7\""},{"lineNumber":3963,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3964,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3965,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":3966,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3967,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":3968,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":3969,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3970,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3971,"author":{"gitId":"-"},"content":" \"node_modules/array-union\": {"},{"lineNumber":3972,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":3973,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3974,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3975,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3976,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":3977,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3978,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3979,"author":{"gitId":"sopa301"},"content":" \"node_modules/array.prototype.filter\": {"},{"lineNumber":3980,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\","},{"lineNumber":3981,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3982,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3983,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":3984,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":3985,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":3986,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\","},{"lineNumber":3987,"author":{"gitId":"sopa301"},"content":" \"es-array-method-boxes-properly\": \"^1.0.0\","},{"lineNumber":3988,"author":{"gitId":"sopa301"},"content":" \"is-string\": \"^1.0.7\""},{"lineNumber":3989,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3990,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":3991,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":3992,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3993,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":3994,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":3995,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3996,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3997,"author":{"gitId":"sopa301"},"content":" \"node_modules/array.prototype.findlastindex\": {"},{"lineNumber":3998,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.4\","},{"lineNumber":3999,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4000,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4001,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":4002,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\","},{"lineNumber":4003,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\","},{"lineNumber":4004,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.3\","},{"lineNumber":4005,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":4006,"author":{"gitId":"sopa301"},"content":" \"es-shim-unscopables\": \"^1.0.2\""},{"lineNumber":4007,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4008,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":4009,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":4010,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4011,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":4012,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":4013,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":4014,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4015,"author":{"gitId":"-"},"content":" \"node_modules/array.prototype.flat\": {"},{"lineNumber":4016,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.2\","},{"lineNumber":4017,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4018,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4019,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4020,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":4021,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":4022,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\","},{"lineNumber":4023,"author":{"gitId":"-"},"content":" \"es-shim-unscopables\": \"^1.0.0\""},{"lineNumber":4024,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4025,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4026,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":4027,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4028,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4029,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":4030,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4031,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4032,"author":{"gitId":"-"},"content":" \"node_modules/array.prototype.flatmap\": {"},{"lineNumber":4033,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.2\","},{"lineNumber":4034,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4035,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4036,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4037,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":4038,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":4039,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\","},{"lineNumber":4040,"author":{"gitId":"-"},"content":" \"es-shim-unscopables\": \"^1.0.0\""},{"lineNumber":4041,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4042,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4043,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":4044,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4045,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4046,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":4047,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4048,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4049,"author":{"gitId":"sopa301"},"content":" \"node_modules/arraybuffer.prototype.slice\": {"},{"lineNumber":4050,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\","},{"lineNumber":4051,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4052,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4053,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":4054,"author":{"gitId":"sopa301"},"content":" \"array-buffer-byte-length\": \"^1.0.1\","},{"lineNumber":4055,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\","},{"lineNumber":4056,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\","},{"lineNumber":4057,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.3\","},{"lineNumber":4058,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.2.1\","},{"lineNumber":4059,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.3\","},{"lineNumber":4060,"author":{"gitId":"sopa301"},"content":" \"is-array-buffer\": \"^3.0.4\","},{"lineNumber":4061,"author":{"gitId":"sopa301"},"content":" \"is-shared-array-buffer\": \"^1.0.2\""},{"lineNumber":4062,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4063,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":4064,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":4065,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4066,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":4067,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":4068,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":4069,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4070,"author":{"gitId":"-"},"content":" \"node_modules/arrify\": {"},{"lineNumber":4071,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":4072,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4073,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4074,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4075,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":4076,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4077,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4078,"author":{"gitId":"-"},"content":" \"node_modules/asap\": {"},{"lineNumber":4079,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\","},{"lineNumber":4080,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4081,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4082,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4083,"author":{"gitId":"-"},"content":" \"node_modules/assert-never\": {"},{"lineNumber":4084,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":4085,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4086,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4087,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4088,"author":{"gitId":"-"},"content":" \"node_modules/astral-regex\": {"},{"lineNumber":4089,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":4090,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4091,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4092,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4093,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4094,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4095,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4096,"author":{"gitId":"-"},"content":" \"node_modules/async\": {"},{"lineNumber":4097,"author":{"gitId":"-"},"content":" \"version\": \"2.6.4\","},{"lineNumber":4098,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4099,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4100,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4101,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.14\""},{"lineNumber":4102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4103,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4104,"author":{"gitId":"-"},"content":" \"node_modules/at-least-node\": {"},{"lineNumber":4105,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":4106,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4107,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":4108,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4109,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4.0.0\""},{"lineNumber":4110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4111,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4112,"author":{"gitId":"-"},"content":" \"node_modules/autoprefixer\": {"},{"lineNumber":4113,"author":{"gitId":"-"},"content":" \"version\": \"10.4.13\","},{"lineNumber":4114,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4115,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":4116,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4117,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":4118,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\""},{"lineNumber":4119,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4120,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4121,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\","},{"lineNumber":4122,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/autoprefixer\""},{"lineNumber":4123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4124,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":4125,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4126,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4127,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\","},{"lineNumber":4128,"author":{"gitId":"-"},"content":" \"caniuse-lite\": \"^1.0.30001426\","},{"lineNumber":4129,"author":{"gitId":"-"},"content":" \"fraction.js\": \"^4.2.0\","},{"lineNumber":4130,"author":{"gitId":"-"},"content":" \"normalize-range\": \"^0.1.2\","},{"lineNumber":4131,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\","},{"lineNumber":4132,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":4133,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4134,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":4135,"author":{"gitId":"-"},"content":" \"autoprefixer\": \"bin/autoprefixer\""},{"lineNumber":4136,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4137,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4138,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14\""},{"lineNumber":4139,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4140,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":4141,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\""},{"lineNumber":4142,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4143,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4144,"author":{"gitId":"-"},"content":" \"node_modules/available-typed-arrays\": {"},{"lineNumber":4145,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\","},{"lineNumber":4146,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4147,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4148,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":4149,"author":{"gitId":"sopa301"},"content":" \"possible-typed-array-names\": \"^1.0.0\""},{"lineNumber":4150,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4151,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4152,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":4153,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4154,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4155,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":4156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4157,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4158,"author":{"gitId":"-"},"content":" \"node_modules/babel-loader\": {"},{"lineNumber":4159,"author":{"gitId":"-"},"content":" \"version\": \"8.3.0\","},{"lineNumber":4160,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4161,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4162,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4163,"author":{"gitId":"-"},"content":" \"find-cache-dir\": \"^3.3.1\","},{"lineNumber":4164,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^2.0.0\","},{"lineNumber":4165,"author":{"gitId":"-"},"content":" \"make-dir\": \"^3.1.0\","},{"lineNumber":4166,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^2.6.5\""},{"lineNumber":4167,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4168,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4169,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8.9\""},{"lineNumber":4170,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4171,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":4172,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\","},{"lineNumber":4173,"author":{"gitId":"-"},"content":" \"webpack\": \"\u003e\u003d2\""},{"lineNumber":4174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4175,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4176,"author":{"gitId":"-"},"content":" \"node_modules/babel-loader/node_modules/loader-utils\": {"},{"lineNumber":4177,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\","},{"lineNumber":4178,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4179,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4180,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4181,"author":{"gitId":"-"},"content":" \"big.js\": \"^5.2.2\","},{"lineNumber":4182,"author":{"gitId":"-"},"content":" \"emojis-list\": \"^3.0.0\","},{"lineNumber":4183,"author":{"gitId":"-"},"content":" \"json5\": \"^2.1.2\""},{"lineNumber":4184,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4185,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4186,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.9.0\""},{"lineNumber":4187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4188,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4189,"author":{"gitId":"-"},"content":" \"node_modules/babel-plugin-dynamic-import-node\": {"},{"lineNumber":4190,"author":{"gitId":"-"},"content":" \"version\": \"2.3.3\","},{"lineNumber":4191,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4192,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4193,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4194,"author":{"gitId":"-"},"content":" \"object.assign\": \"^4.1.0\""},{"lineNumber":4195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4196,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4197,"author":{"gitId":"-"},"content":" \"node_modules/babel-plugin-polyfill-corejs2\": {"},{"lineNumber":4198,"author":{"gitId":"-"},"content":" \"version\": \"0.3.3\","},{"lineNumber":4199,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4200,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4201,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4202,"author":{"gitId":"-"},"content":" \"@babel/compat-data\": \"^7.17.7\","},{"lineNumber":4203,"author":{"gitId":"-"},"content":" \"@babel/helper-define-polyfill-provider\": \"^0.3.3\","},{"lineNumber":4204,"author":{"gitId":"-"},"content":" \"semver\": \"^6.1.1\""},{"lineNumber":4205,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4206,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":4207,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":4208,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4209,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4210,"author":{"gitId":"-"},"content":" \"node_modules/babel-plugin-polyfill-corejs3\": {"},{"lineNumber":4211,"author":{"gitId":"-"},"content":" \"version\": \"0.6.0\","},{"lineNumber":4212,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4213,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4214,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4215,"author":{"gitId":"-"},"content":" \"@babel/helper-define-polyfill-provider\": \"^0.3.3\","},{"lineNumber":4216,"author":{"gitId":"-"},"content":" \"core-js-compat\": \"^3.25.1\""},{"lineNumber":4217,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4218,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":4219,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":4220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4221,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4222,"author":{"gitId":"-"},"content":" \"node_modules/babel-plugin-polyfill-regenerator\": {"},{"lineNumber":4223,"author":{"gitId":"-"},"content":" \"version\": \"0.4.1\","},{"lineNumber":4224,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4225,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4226,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4227,"author":{"gitId":"-"},"content":" \"@babel/helper-define-polyfill-provider\": \"^0.3.3\""},{"lineNumber":4228,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4229,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":4230,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":4231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4232,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4233,"author":{"gitId":"-"},"content":" \"node_modules/babel-runtime\": {"},{"lineNumber":4234,"author":{"gitId":"-"},"content":" \"version\": \"6.26.0\","},{"lineNumber":4235,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4236,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4237,"author":{"gitId":"-"},"content":" \"core-js\": \"^2.4.0\","},{"lineNumber":4238,"author":{"gitId":"-"},"content":" \"regenerator-runtime\": \"^0.11.0\""},{"lineNumber":4239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4240,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4241,"author":{"gitId":"-"},"content":" \"node_modules/babel-runtime/node_modules/core-js\": {"},{"lineNumber":4242,"author":{"gitId":"-"},"content":" \"version\": \"2.6.12\","},{"lineNumber":4243,"author":{"gitId":"sopa301"},"content":" \"hasInstallScript\": true,"},{"lineNumber":4244,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4245,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4246,"author":{"gitId":"-"},"content":" \"node_modules/babel-runtime/node_modules/regenerator-runtime\": {"},{"lineNumber":4247,"author":{"gitId":"-"},"content":" \"version\": \"0.11.1\","},{"lineNumber":4248,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4249,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4250,"author":{"gitId":"-"},"content":" \"node_modules/babel-types\": {"},{"lineNumber":4251,"author":{"gitId":"-"},"content":" \"version\": \"6.26.0\","},{"lineNumber":4252,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4253,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4254,"author":{"gitId":"-"},"content":" \"babel-runtime\": \"^6.26.0\","},{"lineNumber":4255,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\","},{"lineNumber":4256,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.4\","},{"lineNumber":4257,"author":{"gitId":"-"},"content":" \"to-fast-properties\": \"^1.0.3\""},{"lineNumber":4258,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4259,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4260,"author":{"gitId":"-"},"content":" \"node_modules/babel-types/node_modules/to-fast-properties\": {"},{"lineNumber":4261,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":4262,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4263,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4264,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":4265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4266,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4267,"author":{"gitId":"-"},"content":" \"node_modules/babel-walk\": {"},{"lineNumber":4268,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0-canary-5\","},{"lineNumber":4269,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4270,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4271,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4272,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.9.6\""},{"lineNumber":4273,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4274,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4275,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0.0\""},{"lineNumber":4276,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4277,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4278,"author":{"gitId":"-"},"content":" \"node_modules/babylon\": {"},{"lineNumber":4279,"author":{"gitId":"-"},"content":" \"version\": \"6.18.0\","},{"lineNumber":4280,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4281,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":4282,"author":{"gitId":"-"},"content":" \"babylon\": \"bin/babylon.js\""},{"lineNumber":4283,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4284,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4285,"author":{"gitId":"-"},"content":" \"node_modules/balanced-match\": {"},{"lineNumber":4286,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":4287,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4288,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4289,"author":{"gitId":"-"},"content":" \"node_modules/base64-js\": {"},{"lineNumber":4290,"author":{"gitId":"-"},"content":" \"version\": \"1.5.1\","},{"lineNumber":4291,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4292,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":4293,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4294,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":4295,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":4296,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4297,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4298,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":4299,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":4300,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4301,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4302,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":4303,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":4304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4305,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":4306,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4307,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4308,"author":{"gitId":"-"},"content":" \"node_modules/batch\": {"},{"lineNumber":4309,"author":{"gitId":"-"},"content":" \"version\": \"0.6.1\","},{"lineNumber":4310,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4311,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4312,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4313,"author":{"gitId":"-"},"content":" \"node_modules/big.js\": {"},{"lineNumber":4314,"author":{"gitId":"-"},"content":" \"version\": \"5.2.2\","},{"lineNumber":4315,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4316,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4317,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4318,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":4319,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4320,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4321,"author":{"gitId":"-"},"content":" \"node_modules/binary-extensions\": {"},{"lineNumber":4322,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":4323,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4324,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4325,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4326,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4327,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4328,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4329,"author":{"gitId":"-"},"content":" \"node_modules/bl\": {"},{"lineNumber":4330,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":4331,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4332,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4333,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4334,"author":{"gitId":"-"},"content":" \"buffer\": \"^5.5.0\","},{"lineNumber":4335,"author":{"gitId":"-"},"content":" \"inherits\": \"^2.0.4\","},{"lineNumber":4336,"author":{"gitId":"-"},"content":" \"readable-stream\": \"^3.4.0\""},{"lineNumber":4337,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4338,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4339,"author":{"gitId":"-"},"content":" \"node_modules/bl/node_modules/readable-stream\": {"},{"lineNumber":4340,"author":{"gitId":"-"},"content":" \"version\": \"3.6.0\","},{"lineNumber":4341,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4342,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4343,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4344,"author":{"gitId":"-"},"content":" \"inherits\": \"^2.0.3\","},{"lineNumber":4345,"author":{"gitId":"-"},"content":" \"string_decoder\": \"^1.1.1\","},{"lineNumber":4346,"author":{"gitId":"-"},"content":" \"util-deprecate\": \"^1.0.1\""},{"lineNumber":4347,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4348,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4349,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":4350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4351,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4352,"author":{"gitId":"-"},"content":" \"node_modules/bluebird\": {"},{"lineNumber":4353,"author":{"gitId":"-"},"content":" \"version\": \"3.7.2\","},{"lineNumber":4354,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4355,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4356,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4357,"author":{"gitId":"-"},"content":" \"node_modules/body-parser\": {"},{"lineNumber":4358,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.20.2\","},{"lineNumber":4359,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz\","},{"lineNumber":4360,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA\u003d\u003d\","},{"lineNumber":4361,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4362,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4363,"author":{"gitId":"-"},"content":" \"bytes\": \"3.1.2\","},{"lineNumber":4364,"author":{"gitId":"sopa301"},"content":" \"content-type\": \"~1.0.5\","},{"lineNumber":4365,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\","},{"lineNumber":4366,"author":{"gitId":"-"},"content":" \"depd\": \"2.0.0\","},{"lineNumber":4367,"author":{"gitId":"-"},"content":" \"destroy\": \"1.2.0\","},{"lineNumber":4368,"author":{"gitId":"-"},"content":" \"http-errors\": \"2.0.0\","},{"lineNumber":4369,"author":{"gitId":"-"},"content":" \"iconv-lite\": \"0.4.24\","},{"lineNumber":4370,"author":{"gitId":"-"},"content":" \"on-finished\": \"2.4.1\","},{"lineNumber":4371,"author":{"gitId":"-"},"content":" \"qs\": \"6.11.0\","},{"lineNumber":4372,"author":{"gitId":"sopa301"},"content":" \"raw-body\": \"2.5.2\","},{"lineNumber":4373,"author":{"gitId":"-"},"content":" \"type-is\": \"~1.6.18\","},{"lineNumber":4374,"author":{"gitId":"-"},"content":" \"unpipe\": \"1.0.0\""},{"lineNumber":4375,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4376,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4377,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\","},{"lineNumber":4378,"author":{"gitId":"-"},"content":" \"npm\": \"1.2.8000 || \u003e\u003d 1.4.16\""},{"lineNumber":4379,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4380,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4381,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/bytes\": {"},{"lineNumber":4382,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":4383,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz\","},{"lineNumber":4384,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg\u003d\u003d\","},{"lineNumber":4385,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4386,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4387,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":4388,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4389,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4390,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/debug\": {"},{"lineNumber":4391,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\","},{"lineNumber":4392,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz\","},{"lineNumber":4393,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA\u003d\u003d\","},{"lineNumber":4394,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4395,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4396,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\""},{"lineNumber":4397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4398,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4399,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/depd\": {"},{"lineNumber":4400,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":4401,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/depd/-/depd-2.0.0.tgz\","},{"lineNumber":4402,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw\u003d\u003d\","},{"lineNumber":4403,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4404,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4405,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":4406,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4407,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4408,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/iconv-lite\": {"},{"lineNumber":4409,"author":{"gitId":"-"},"content":" \"version\": \"0.4.24\","},{"lineNumber":4410,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\","},{"lineNumber":4411,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA\u003d\u003d\","},{"lineNumber":4412,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4413,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4414,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"\u003e\u003d 2.1.2 \u003c 3\""},{"lineNumber":4415,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4416,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4417,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":4418,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4419,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4420,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/ms\": {"},{"lineNumber":4421,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":4422,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz\","},{"lineNumber":4423,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A\u003d\u003d\","},{"lineNumber":4424,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":4425,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4426,"author":{"gitId":"-"},"content":" \"node_modules/bonjour-service\": {"},{"lineNumber":4427,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":4428,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4429,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4430,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4431,"author":{"gitId":"-"},"content":" \"array-flatten\": \"^2.1.2\","},{"lineNumber":4432,"author":{"gitId":"-"},"content":" \"dns-equal\": \"^1.0.0\","},{"lineNumber":4433,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\","},{"lineNumber":4434,"author":{"gitId":"-"},"content":" \"multicast-dns\": \"^7.2.5\""},{"lineNumber":4435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4436,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4437,"author":{"gitId":"-"},"content":" \"node_modules/boolbase\": {"},{"lineNumber":4438,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":4439,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":4440,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4441,"author":{"gitId":"-"},"content":" \"node_modules/brace-expansion\": {"},{"lineNumber":4442,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":4443,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4444,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4445,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\""},{"lineNumber":4446,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4447,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4448,"author":{"gitId":"-"},"content":" \"node_modules/braces\": {"},{"lineNumber":4449,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\","},{"lineNumber":4450,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4451,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4452,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4453,"author":{"gitId":"-"},"content":" \"fill-range\": \"^7.0.1\""},{"lineNumber":4454,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4455,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4456,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4457,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4458,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4459,"author":{"gitId":"-"},"content":" \"node_modules/browserslist\": {"},{"lineNumber":4460,"author":{"gitId":"-"},"content":" \"version\": \"4.21.4\","},{"lineNumber":4461,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":4462,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4463,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":4464,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/browserslist\""},{"lineNumber":4465,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4466,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4467,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\","},{"lineNumber":4468,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/browserslist\""},{"lineNumber":4469,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4470,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":4471,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4472,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4473,"author":{"gitId":"-"},"content":" \"caniuse-lite\": \"^1.0.30001400\","},{"lineNumber":4474,"author":{"gitId":"-"},"content":" \"electron-to-chromium\": \"^1.4.251\","},{"lineNumber":4475,"author":{"gitId":"-"},"content":" \"node-releases\": \"^2.0.6\","},{"lineNumber":4476,"author":{"gitId":"-"},"content":" \"update-browserslist-db\": \"^1.0.9\""},{"lineNumber":4477,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4478,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":4479,"author":{"gitId":"-"},"content":" \"browserslist\": \"cli.js\""},{"lineNumber":4480,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4481,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4482,"author":{"gitId":"-"},"content":" \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || \u003e\u003d13.7\""},{"lineNumber":4483,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4484,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4485,"author":{"gitId":"-"},"content":" \"node_modules/buffer\": {"},{"lineNumber":4486,"author":{"gitId":"-"},"content":" \"version\": \"5.7.1\","},{"lineNumber":4487,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4488,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":4489,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4490,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":4491,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":4492,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4493,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4494,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":4495,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":4496,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4497,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4498,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":4499,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":4500,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4501,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":4502,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4503,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4504,"author":{"gitId":"-"},"content":" \"base64-js\": \"^1.3.1\","},{"lineNumber":4505,"author":{"gitId":"-"},"content":" \"ieee754\": \"^1.1.13\""},{"lineNumber":4506,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4507,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4508,"author":{"gitId":"-"},"content":" \"node_modules/buffer-from\": {"},{"lineNumber":4509,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\","},{"lineNumber":4510,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4511,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4512,"author":{"gitId":"-"},"content":" \"node_modules/bytes\": {"},{"lineNumber":4513,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":4514,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4515,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4516,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4517,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":4518,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4519,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4520,"author":{"gitId":"-"},"content":" \"node_modules/call-bind\": {"},{"lineNumber":4521,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\","},{"lineNumber":4522,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4523,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4524,"author":{"gitId":"sopa301"},"content":" \"es-define-property\": \"^1.0.0\","},{"lineNumber":4525,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":4526,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.2\","},{"lineNumber":4527,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\","},{"lineNumber":4528,"author":{"gitId":"sopa301"},"content":" \"set-function-length\": \"^1.2.1\""},{"lineNumber":4529,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4530,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4531,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":4532,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4533,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4534,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":4535,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4536,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4537,"author":{"gitId":"-"},"content":" \"node_modules/callsites\": {"},{"lineNumber":4538,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":4539,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4540,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4541,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4542,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":4543,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4544,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4545,"author":{"gitId":"-"},"content":" \"node_modules/camel-case\": {"},{"lineNumber":4546,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":4547,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4548,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4549,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4550,"author":{"gitId":"-"},"content":" \"pascal-case\": \"^3.1.2\","},{"lineNumber":4551,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\""},{"lineNumber":4552,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4553,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4554,"author":{"gitId":"-"},"content":" \"node_modules/camelcase\": {"},{"lineNumber":4555,"author":{"gitId":"-"},"content":" \"version\": \"6.3.0\","},{"lineNumber":4556,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4557,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4558,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4559,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":4560,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4561,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4562,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":4563,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4564,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4565,"author":{"gitId":"-"},"content":" \"node_modules/camelcase-keys\": {"},{"lineNumber":4566,"author":{"gitId":"-"},"content":" \"version\": \"6.2.2\","},{"lineNumber":4567,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4568,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4569,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4570,"author":{"gitId":"-"},"content":" \"camelcase\": \"^5.3.1\","},{"lineNumber":4571,"author":{"gitId":"-"},"content":" \"map-obj\": \"^4.0.0\","},{"lineNumber":4572,"author":{"gitId":"-"},"content":" \"quick-lru\": \"^4.0.1\""},{"lineNumber":4573,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4574,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4575,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4576,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4577,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4578,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":4579,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4580,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4581,"author":{"gitId":"-"},"content":" \"node_modules/camelcase-keys/node_modules/camelcase\": {"},{"lineNumber":4582,"author":{"gitId":"-"},"content":" \"version\": \"5.3.1\","},{"lineNumber":4583,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4584,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4585,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4586,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":4587,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4588,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4589,"author":{"gitId":"-"},"content":" \"node_modules/caniuse-api\": {"},{"lineNumber":4590,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":4591,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4592,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4593,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4594,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.0.0\","},{"lineNumber":4595,"author":{"gitId":"-"},"content":" \"caniuse-lite\": \"^1.0.0\","},{"lineNumber":4596,"author":{"gitId":"-"},"content":" \"lodash.memoize\": \"^4.1.2\","},{"lineNumber":4597,"author":{"gitId":"-"},"content":" \"lodash.uniq\": \"^4.5.0\""},{"lineNumber":4598,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4599,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4600,"author":{"gitId":"-"},"content":" \"node_modules/caniuse-lite\": {"},{"lineNumber":4601,"author":{"gitId":"-"},"content":" \"version\": \"1.0.30001446\","},{"lineNumber":4602,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":4603,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4604,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":4605,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/browserslist\""},{"lineNumber":4606,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4607,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4608,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\","},{"lineNumber":4609,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\""},{"lineNumber":4610,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4611,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":4612,"author":{"gitId":"sopa301"},"content":" \"license\": \"CC-BY-4.0\""},{"lineNumber":4613,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4614,"author":{"gitId":"-"},"content":" \"node_modules/case-sensitive-paths-webpack-plugin\": {"},{"lineNumber":4615,"author":{"gitId":"-"},"content":" \"version\": \"2.4.0\","},{"lineNumber":4616,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4617,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4618,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4619,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":4620,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4621,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4622,"author":{"gitId":"-"},"content":" \"node_modules/chalk\": {"},{"lineNumber":4623,"author":{"gitId":"-"},"content":" \"version\": \"2.4.2\","},{"lineNumber":4624,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4625,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4626,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4627,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^3.2.1\","},{"lineNumber":4628,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": \"^1.0.5\","},{"lineNumber":4629,"author":{"gitId":"-"},"content":" \"supports-color\": \"^5.3.0\""},{"lineNumber":4630,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4631,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4632,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":4633,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4634,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4635,"author":{"gitId":"-"},"content":" \"node_modules/character-parser\": {"},{"lineNumber":4636,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":4637,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4638,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4639,"author":{"gitId":"-"},"content":" \"is-regex\": \"^1.0.3\""},{"lineNumber":4640,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4641,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4642,"author":{"gitId":"-"},"content":" \"node_modules/cheerio\": {"},{"lineNumber":4643,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0-rc.12\","},{"lineNumber":4644,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4645,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4646,"author":{"gitId":"-"},"content":" \"cheerio-select\": \"^2.1.0\","},{"lineNumber":4647,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^2.0.0\","},{"lineNumber":4648,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.3\","},{"lineNumber":4649,"author":{"gitId":"-"},"content":" \"domutils\": \"^3.0.1\","},{"lineNumber":4650,"author":{"gitId":"-"},"content":" \"htmlparser2\": \"^8.0.1\","},{"lineNumber":4651,"author":{"gitId":"-"},"content":" \"parse5\": \"^7.0.0\","},{"lineNumber":4652,"author":{"gitId":"-"},"content":" \"parse5-htmlparser2-tree-adapter\": \"^7.0.0\""},{"lineNumber":4653,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4654,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4655,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":4656,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4657,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4658,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/cheerio?sponsor\u003d1\""},{"lineNumber":4659,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4660,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4661,"author":{"gitId":"-"},"content":" \"node_modules/cheerio-select\": {"},{"lineNumber":4662,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":4663,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":4664,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4665,"author":{"gitId":"-"},"content":" \"boolbase\": \"^1.0.0\","},{"lineNumber":4666,"author":{"gitId":"-"},"content":" \"css-select\": \"^5.1.0\","},{"lineNumber":4667,"author":{"gitId":"-"},"content":" \"css-what\": \"^6.1.0\","},{"lineNumber":4668,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\","},{"lineNumber":4669,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.3\","},{"lineNumber":4670,"author":{"gitId":"-"},"content":" \"domutils\": \"^3.0.1\""},{"lineNumber":4671,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4672,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4673,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":4674,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4675,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4676,"author":{"gitId":"-"},"content":" \"node_modules/cheerio/node_modules/parse5\": {"},{"lineNumber":4677,"author":{"gitId":"-"},"content":" \"version\": \"7.1.2\","},{"lineNumber":4678,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4679,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4680,"author":{"gitId":"-"},"content":" \"entities\": \"^4.4.0\""},{"lineNumber":4681,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4682,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4683,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/inikulin/parse5?sponsor\u003d1\""},{"lineNumber":4684,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4685,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4686,"author":{"gitId":"-"},"content":" \"node_modules/cheerio/node_modules/parse5-htmlparser2-tree-adapter\": {"},{"lineNumber":4687,"author":{"gitId":"-"},"content":" \"version\": \"7.0.0\","},{"lineNumber":4688,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4689,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4690,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.2\","},{"lineNumber":4691,"author":{"gitId":"-"},"content":" \"parse5\": \"^7.0.0\""},{"lineNumber":4692,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4693,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4694,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/inikulin/parse5?sponsor\u003d1\""},{"lineNumber":4695,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4696,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4697,"author":{"gitId":"-"},"content":" \"node_modules/chokidar\": {"},{"lineNumber":4698,"author":{"gitId":"-"},"content":" \"version\": \"3.5.3\","},{"lineNumber":4699,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4700,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":4701,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4702,"author":{"gitId":"-"},"content":" \"type\": \"individual\","},{"lineNumber":4703,"author":{"gitId":"-"},"content":" \"url\": \"https://paulmillr.com/funding/\""},{"lineNumber":4704,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4705,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":4706,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4707,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4708,"author":{"gitId":"-"},"content":" \"anymatch\": \"~3.1.2\","},{"lineNumber":4709,"author":{"gitId":"-"},"content":" \"braces\": \"~3.0.2\","},{"lineNumber":4710,"author":{"gitId":"-"},"content":" \"glob-parent\": \"~5.1.2\","},{"lineNumber":4711,"author":{"gitId":"-"},"content":" \"is-binary-path\": \"~2.1.0\","},{"lineNumber":4712,"author":{"gitId":"-"},"content":" \"is-glob\": \"~4.0.1\","},{"lineNumber":4713,"author":{"gitId":"-"},"content":" \"normalize-path\": \"~3.0.0\","},{"lineNumber":4714,"author":{"gitId":"-"},"content":" \"readdirp\": \"~3.6.0\""},{"lineNumber":4715,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4716,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4717,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8.10.0\""},{"lineNumber":4718,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4719,"author":{"gitId":"-"},"content":" \"optionalDependencies\": {"},{"lineNumber":4720,"author":{"gitId":"-"},"content":" \"fsevents\": \"~2.3.2\""},{"lineNumber":4721,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4722,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4723,"author":{"gitId":"-"},"content":" \"node_modules/chokidar/node_modules/glob-parent\": {"},{"lineNumber":4724,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\","},{"lineNumber":4725,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4726,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":4727,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4728,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.1\""},{"lineNumber":4729,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4730,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4731,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":4732,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4733,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4734,"author":{"gitId":"-"},"content":" \"node_modules/chrome-trace-event\": {"},{"lineNumber":4735,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":4736,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4737,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4738,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0\""},{"lineNumber":4739,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4740,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4741,"author":{"gitId":"-"},"content":" \"node_modules/ci-info\": {"},{"lineNumber":4742,"author":{"gitId":"-"},"content":" \"version\": \"1.6.0\","},{"lineNumber":4743,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4744,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4745,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4746,"author":{"gitId":"-"},"content":" \"node_modules/clean-css\": {"},{"lineNumber":4747,"author":{"gitId":"-"},"content":" \"version\": \"5.3.2\","},{"lineNumber":4748,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4749,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4750,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4751,"author":{"gitId":"-"},"content":" \"source-map\": \"~0.6.0\""},{"lineNumber":4752,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4753,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4754,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0\""},{"lineNumber":4755,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4756,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4757,"author":{"gitId":"-"},"content":" \"node_modules/cli-cursor\": {"},{"lineNumber":4758,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":4759,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4760,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4761,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4762,"author":{"gitId":"-"},"content":" \"restore-cursor\": \"^3.1.0\""},{"lineNumber":4763,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4764,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4765,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4766,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4767,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4768,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight\": {"},{"lineNumber":4769,"author":{"gitId":"-"},"content":" \"version\": \"2.1.11\","},{"lineNumber":4770,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4771,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":4772,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4773,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.0.0\","},{"lineNumber":4774,"author":{"gitId":"-"},"content":" \"highlight.js\": \"^10.7.1\","},{"lineNumber":4775,"author":{"gitId":"-"},"content":" \"mz\": \"^2.4.0\","},{"lineNumber":4776,"author":{"gitId":"-"},"content":" \"parse5\": \"^5.1.1\","},{"lineNumber":4777,"author":{"gitId":"-"},"content":" \"parse5-htmlparser2-tree-adapter\": \"^6.0.0\","},{"lineNumber":4778,"author":{"gitId":"-"},"content":" \"yargs\": \"^16.0.0\""},{"lineNumber":4779,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4780,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":4781,"author":{"gitId":"-"},"content":" \"highlight\": \"bin/highlight\""},{"lineNumber":4782,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4783,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4784,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\","},{"lineNumber":4785,"author":{"gitId":"-"},"content":" \"npm\": \"\u003e\u003d5.0.0\""},{"lineNumber":4786,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4787,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4788,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/ansi-styles\": {"},{"lineNumber":4789,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":4790,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4791,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4792,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4793,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":4794,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4795,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4796,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4797,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4798,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4799,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":4800,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4801,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4802,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/chalk\": {"},{"lineNumber":4803,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":4804,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4805,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4806,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4807,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":4808,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":4809,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4810,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4811,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":4812,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4813,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4814,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":4815,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4816,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4817,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/color-convert\": {"},{"lineNumber":4818,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":4819,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4820,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4821,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4822,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":4823,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4824,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4825,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":4826,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4827,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4828,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/color-name\": {"},{"lineNumber":4829,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":4830,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4831,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4832,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4833,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/has-flag\": {"},{"lineNumber":4834,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":4835,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4836,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4837,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4838,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4839,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4840,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4841,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/supports-color\": {"},{"lineNumber":4842,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":4843,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4844,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4845,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4846,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":4847,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4848,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4849,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4850,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4851,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4852,"author":{"gitId":"-"},"content":" \"node_modules/cli-spinners\": {"},{"lineNumber":4853,"author":{"gitId":"-"},"content":" \"version\": \"2.7.0\","},{"lineNumber":4854,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4855,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4856,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4857,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":4858,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4859,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4860,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":4861,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4862,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4863,"author":{"gitId":"-"},"content":" \"node_modules/clipboardy\": {"},{"lineNumber":4864,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":4865,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4866,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4867,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4868,"author":{"gitId":"-"},"content":" \"arch\": \"^2.1.1\","},{"lineNumber":4869,"author":{"gitId":"-"},"content":" \"execa\": \"^1.0.0\","},{"lineNumber":4870,"author":{"gitId":"-"},"content":" \"is-wsl\": \"^2.1.1\""},{"lineNumber":4871,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4872,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4873,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4874,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4875,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4876,"author":{"gitId":"-"},"content":" \"node_modules/cliui\": {"},{"lineNumber":4877,"author":{"gitId":"-"},"content":" \"version\": \"7.0.4\","},{"lineNumber":4878,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4879,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":4880,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4881,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.0\","},{"lineNumber":4882,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\","},{"lineNumber":4883,"author":{"gitId":"-"},"content":" \"wrap-ansi\": \"^7.0.0\""},{"lineNumber":4884,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4885,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4886,"author":{"gitId":"-"},"content":" \"node_modules/clone\": {"},{"lineNumber":4887,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":4888,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4889,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4890,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4891,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8\""},{"lineNumber":4892,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4893,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4894,"author":{"gitId":"-"},"content":" \"node_modules/clone-deep\": {"},{"lineNumber":4895,"author":{"gitId":"-"},"content":" \"version\": \"4.0.1\","},{"lineNumber":4896,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4897,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4898,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4899,"author":{"gitId":"-"},"content":" \"is-plain-object\": \"^2.0.4\","},{"lineNumber":4900,"author":{"gitId":"-"},"content":" \"kind-of\": \"^6.0.2\","},{"lineNumber":4901,"author":{"gitId":"-"},"content":" \"shallow-clone\": \"^3.0.0\""},{"lineNumber":4902,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4903,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4904,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":4905,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4906,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4907,"author":{"gitId":"-"},"content":" \"node_modules/clone-deep/node_modules/is-plain-object\": {"},{"lineNumber":4908,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\","},{"lineNumber":4909,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4910,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4911,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4912,"author":{"gitId":"-"},"content":" \"isobject\": \"^3.0.1\""},{"lineNumber":4913,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4914,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4915,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":4916,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4917,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4918,"author":{"gitId":"-"},"content":" \"node_modules/color-convert\": {"},{"lineNumber":4919,"author":{"gitId":"-"},"content":" \"version\": \"1.9.3\","},{"lineNumber":4920,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4921,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4922,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4923,"author":{"gitId":"-"},"content":" \"color-name\": \"1.1.3\""},{"lineNumber":4924,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4925,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4926,"author":{"gitId":"-"},"content":" \"node_modules/color-name\": {"},{"lineNumber":4927,"author":{"gitId":"-"},"content":" \"version\": \"1.1.3\","},{"lineNumber":4928,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4929,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4930,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4931,"author":{"gitId":"-"},"content":" \"node_modules/colord\": {"},{"lineNumber":4932,"author":{"gitId":"-"},"content":" \"version\": \"2.9.3\","},{"lineNumber":4933,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4934,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4935,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4936,"author":{"gitId":"-"},"content":" \"node_modules/colorette\": {"},{"lineNumber":4937,"author":{"gitId":"-"},"content":" \"version\": \"2.0.19\","},{"lineNumber":4938,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4939,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4940,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4941,"author":{"gitId":"-"},"content":" \"node_modules/commander\": {"},{"lineNumber":4942,"author":{"gitId":"-"},"content":" \"version\": \"8.3.0\","},{"lineNumber":4943,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4944,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4945,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4946,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12\""},{"lineNumber":4947,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4948,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4949,"author":{"gitId":"-"},"content":" \"node_modules/commondir\": {"},{"lineNumber":4950,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":4951,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4952,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4953,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4954,"author":{"gitId":"-"},"content":" \"node_modules/compressible\": {"},{"lineNumber":4955,"author":{"gitId":"-"},"content":" \"version\": \"2.0.18\","},{"lineNumber":4956,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4957,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4958,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4959,"author":{"gitId":"-"},"content":" \"mime-db\": \"\u003e\u003d 1.43.0 \u003c 2\""},{"lineNumber":4960,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4961,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4962,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":4963,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4964,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4965,"author":{"gitId":"-"},"content":" \"node_modules/compression\": {"},{"lineNumber":4966,"author":{"gitId":"-"},"content":" \"version\": \"1.7.4\","},{"lineNumber":4967,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4968,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4969,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4970,"author":{"gitId":"-"},"content":" \"accepts\": \"~1.3.5\","},{"lineNumber":4971,"author":{"gitId":"-"},"content":" \"bytes\": \"3.0.0\","},{"lineNumber":4972,"author":{"gitId":"-"},"content":" \"compressible\": \"~2.0.16\","},{"lineNumber":4973,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\","},{"lineNumber":4974,"author":{"gitId":"-"},"content":" \"on-headers\": \"~1.0.2\","},{"lineNumber":4975,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"5.1.2\","},{"lineNumber":4976,"author":{"gitId":"-"},"content":" \"vary\": \"~1.1.2\""},{"lineNumber":4977,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4978,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4979,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":4980,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4981,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4982,"author":{"gitId":"-"},"content":" \"node_modules/compression/node_modules/debug\": {"},{"lineNumber":4983,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\","},{"lineNumber":4984,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4985,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4986,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4987,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\""},{"lineNumber":4988,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4989,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4990,"author":{"gitId":"-"},"content":" \"node_modules/compression/node_modules/ms\": {"},{"lineNumber":4991,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":4992,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4993,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4994,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4995,"author":{"gitId":"-"},"content":" \"node_modules/concat-map\": {"},{"lineNumber":4996,"author":{"gitId":"-"},"content":" \"version\": \"0.0.1\","},{"lineNumber":4997,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4998,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4999,"author":{"gitId":"-"},"content":" \"node_modules/confusing-browser-globals\": {"},{"lineNumber":5000,"author":{"gitId":"-"},"content":" \"version\": \"1.0.11\","},{"lineNumber":5001,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5002,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5003,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5004,"author":{"gitId":"-"},"content":" \"node_modules/connect-history-api-fallback\": {"},{"lineNumber":5005,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":5006,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5007,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5008,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5009,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8\""},{"lineNumber":5010,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5011,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5012,"author":{"gitId":"-"},"content":" \"node_modules/consolidate\": {"},{"lineNumber":5013,"author":{"gitId":"-"},"content":" \"version\": \"0.15.1\","},{"lineNumber":5014,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5015,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5016,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5017,"author":{"gitId":"-"},"content":" \"bluebird\": \"^3.1.1\""},{"lineNumber":5018,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5019,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5020,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10.0\""},{"lineNumber":5021,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5022,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5023,"author":{"gitId":"-"},"content":" \"node_modules/constantinople\": {"},{"lineNumber":5024,"author":{"gitId":"-"},"content":" \"version\": \"4.0.1\","},{"lineNumber":5025,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5026,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5027,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5028,"author":{"gitId":"-"},"content":" \"@babel/parser\": \"^7.6.0\","},{"lineNumber":5029,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.6.1\""},{"lineNumber":5030,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5031,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5032,"author":{"gitId":"-"},"content":" \"node_modules/content-disposition\": {"},{"lineNumber":5033,"author":{"gitId":"-"},"content":" \"version\": \"0.5.4\","},{"lineNumber":5034,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5035,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5036,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5037,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"5.2.1\""},{"lineNumber":5038,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5039,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5040,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":5041,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5042,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5043,"author":{"gitId":"-"},"content":" \"node_modules/content-disposition/node_modules/safe-buffer\": {"},{"lineNumber":5044,"author":{"gitId":"-"},"content":" \"version\": \"5.2.1\","},{"lineNumber":5045,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5046,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":5047,"author":{"gitId":"-"},"content":" {"},{"lineNumber":5048,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":5049,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":5050,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5051,"author":{"gitId":"-"},"content":" {"},{"lineNumber":5052,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":5053,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":5054,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5055,"author":{"gitId":"-"},"content":" {"},{"lineNumber":5056,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":5057,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":5058,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5059,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":5060,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5061,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5062,"author":{"gitId":"-"},"content":" \"node_modules/content-type\": {"},{"lineNumber":5063,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\","},{"lineNumber":5064,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz\","},{"lineNumber":5065,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA\u003d\u003d\","},{"lineNumber":5066,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5067,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5068,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":5069,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5070,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5071,"author":{"gitId":"-"},"content":" \"node_modules/convert-source-map\": {"},{"lineNumber":5072,"author":{"gitId":"-"},"content":" \"version\": \"1.9.0\","},{"lineNumber":5073,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5074,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5075,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5076,"author":{"gitId":"-"},"content":" \"node_modules/cookie\": {"},{"lineNumber":5077,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.0\","},{"lineNumber":5078,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz\","},{"lineNumber":5079,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw\u003d\u003d\","},{"lineNumber":5080,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5081,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5082,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":5083,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5084,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5085,"author":{"gitId":"-"},"content":" \"node_modules/cookie-signature\": {"},{"lineNumber":5086,"author":{"gitId":"-"},"content":" \"version\": \"1.0.6\","},{"lineNumber":5087,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5088,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5089,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5090,"author":{"gitId":"-"},"content":" \"node_modules/copy-webpack-plugin\": {"},{"lineNumber":5091,"author":{"gitId":"-"},"content":" \"version\": \"9.1.0\","},{"lineNumber":5092,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5093,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5094,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5095,"author":{"gitId":"-"},"content":" \"fast-glob\": \"^3.2.7\","},{"lineNumber":5096,"author":{"gitId":"-"},"content":" \"glob-parent\": \"^6.0.1\","},{"lineNumber":5097,"author":{"gitId":"-"},"content":" \"globby\": \"^11.0.3\","},{"lineNumber":5098,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\","},{"lineNumber":5099,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^3.1.1\","},{"lineNumber":5100,"author":{"gitId":"-"},"content":" \"serialize-javascript\": \"^6.0.0\""},{"lineNumber":5101,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5102,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5103,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":5104,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5105,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5106,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5107,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":5108,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5109,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5110,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.1.0\""},{"lineNumber":5111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5112,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5113,"author":{"gitId":"-"},"content":" \"node_modules/copy-webpack-plugin/node_modules/schema-utils\": {"},{"lineNumber":5114,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":5115,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5116,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5117,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5118,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.8\","},{"lineNumber":5119,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.5\","},{"lineNumber":5120,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\""},{"lineNumber":5121,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5122,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5123,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":5124,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5125,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5126,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5127,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":5128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5129,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5130,"author":{"gitId":"-"},"content":" \"node_modules/core-js\": {"},{"lineNumber":5131,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.36.1\","},{"lineNumber":5132,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/core-js/-/core-js-3.36.1.tgz\","},{"lineNumber":5133,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA\u003d\u003d\","},{"lineNumber":5134,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,"},{"lineNumber":5135,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5136,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5137,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/core-js\""},{"lineNumber":5138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5139,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5140,"author":{"gitId":"-"},"content":" \"node_modules/core-js-compat\": {"},{"lineNumber":5141,"author":{"gitId":"-"},"content":" \"version\": \"3.27.2\","},{"lineNumber":5142,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5143,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5144,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5145,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\""},{"lineNumber":5146,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5147,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5148,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5149,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/core-js\""},{"lineNumber":5150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5151,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5152,"author":{"gitId":"-"},"content":" \"node_modules/core-util-is\": {"},{"lineNumber":5153,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":5154,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5155,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5156,"author":{"gitId":"-"},"content":" \"node_modules/cosmiconfig\": {"},{"lineNumber":5157,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":5158,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5159,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5160,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5161,"author":{"gitId":"-"},"content":" \"@types/parse-json\": \"^4.0.0\","},{"lineNumber":5162,"author":{"gitId":"-"},"content":" \"import-fresh\": \"^3.1.0\","},{"lineNumber":5163,"author":{"gitId":"-"},"content":" \"parse-json\": \"^5.0.0\","},{"lineNumber":5164,"author":{"gitId":"-"},"content":" \"path-type\": \"^4.0.0\","},{"lineNumber":5165,"author":{"gitId":"-"},"content":" \"yaml\": \"^1.7.2\""},{"lineNumber":5166,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5167,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5168,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":5169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5170,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5171,"author":{"gitId":"-"},"content":" \"node_modules/cross-spawn\": {"},{"lineNumber":5172,"author":{"gitId":"-"},"content":" \"version\": \"7.0.3\","},{"lineNumber":5173,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5174,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5175,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5176,"author":{"gitId":"-"},"content":" \"path-key\": \"^3.1.0\","},{"lineNumber":5177,"author":{"gitId":"-"},"content":" \"shebang-command\": \"^2.0.0\","},{"lineNumber":5178,"author":{"gitId":"-"},"content":" \"which\": \"^2.0.1\""},{"lineNumber":5179,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5180,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5181,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":5182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5183,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5184,"author":{"gitId":"-"},"content":" \"node_modules/css-declaration-sorter\": {"},{"lineNumber":5185,"author":{"gitId":"-"},"content":" \"version\": \"6.3.1\","},{"lineNumber":5186,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5187,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":5188,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5189,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14\""},{"lineNumber":5190,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5191,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5192,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.0.9\""},{"lineNumber":5193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5194,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5195,"author":{"gitId":"-"},"content":" \"node_modules/css-functions-list\": {"},{"lineNumber":5196,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":5197,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5198,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5199,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5200,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.22\""},{"lineNumber":5201,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5202,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5203,"author":{"gitId":"-"},"content":" \"node_modules/css-loader\": {"},{"lineNumber":5204,"author":{"gitId":"-"},"content":" \"version\": \"6.7.3\","},{"lineNumber":5205,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5206,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5207,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5208,"author":{"gitId":"-"},"content":" \"icss-utils\": \"^5.1.0\","},{"lineNumber":5209,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.4.19\","},{"lineNumber":5210,"author":{"gitId":"-"},"content":" \"postcss-modules-extract-imports\": \"^3.0.0\","},{"lineNumber":5211,"author":{"gitId":"-"},"content":" \"postcss-modules-local-by-default\": \"^4.0.0\","},{"lineNumber":5212,"author":{"gitId":"-"},"content":" \"postcss-modules-scope\": \"^3.0.0\","},{"lineNumber":5213,"author":{"gitId":"-"},"content":" \"postcss-modules-values\": \"^4.0.0\","},{"lineNumber":5214,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\","},{"lineNumber":5215,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.8\""},{"lineNumber":5216,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5217,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5218,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":5219,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5220,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5221,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5222,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":5223,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5224,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5225,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":5226,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5227,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5228,"author":{"gitId":"-"},"content":" \"node_modules/css-loader/node_modules/lru-cache\": {"},{"lineNumber":5229,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":5230,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5231,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":5232,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5233,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":5234,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5235,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5236,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":5237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5238,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5239,"author":{"gitId":"-"},"content":" \"node_modules/css-loader/node_modules/semver\": {"},{"lineNumber":5240,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":5241,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5242,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":5243,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5244,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":5245,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5246,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":5247,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":5248,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5249,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5250,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":5251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5252,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5253,"author":{"gitId":"-"},"content":" \"node_modules/css-loader/node_modules/yallist\": {"},{"lineNumber":5254,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":5255,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5256,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":5257,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5258,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin\": {"},{"lineNumber":5259,"author":{"gitId":"-"},"content":" \"version\": \"3.4.1\","},{"lineNumber":5260,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5261,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5262,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5263,"author":{"gitId":"-"},"content":" \"cssnano\": \"^5.0.6\","},{"lineNumber":5264,"author":{"gitId":"-"},"content":" \"jest-worker\": \"^27.0.2\","},{"lineNumber":5265,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.3.5\","},{"lineNumber":5266,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\","},{"lineNumber":5267,"author":{"gitId":"-"},"content":" \"serialize-javascript\": \"^6.0.0\","},{"lineNumber":5268,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.1\""},{"lineNumber":5269,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5270,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5271,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":5272,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5273,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5274,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5275,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":5276,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5277,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5278,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":5279,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5280,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":5281,"author":{"gitId":"-"},"content":" \"@parcel/css\": {"},{"lineNumber":5282,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":5283,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5284,"author":{"gitId":"-"},"content":" \"clean-css\": {"},{"lineNumber":5285,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":5286,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5287,"author":{"gitId":"-"},"content":" \"csso\": {"},{"lineNumber":5288,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":5289,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5290,"author":{"gitId":"-"},"content":" \"esbuild\": {"},{"lineNumber":5291,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":5292,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5294,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5295,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin/node_modules/ajv\": {"},{"lineNumber":5296,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":5297,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5298,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5299,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5300,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":5301,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":5302,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":5303,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":5304,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5305,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5306,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":5307,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":5308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5309,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5310,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords\": {"},{"lineNumber":5311,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":5312,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5313,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5314,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5315,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\""},{"lineNumber":5316,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5317,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5318,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\""},{"lineNumber":5319,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5320,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5321,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse\": {"},{"lineNumber":5322,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":5323,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5324,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5325,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5326,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils\": {"},{"lineNumber":5327,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":5328,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5329,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5330,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5331,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\","},{"lineNumber":5332,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\","},{"lineNumber":5333,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\","},{"lineNumber":5334,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\""},{"lineNumber":5335,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5336,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5337,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":5338,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5339,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5340,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5341,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":5342,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5343,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5344,"author":{"gitId":"-"},"content":" \"node_modules/css-select\": {"},{"lineNumber":5345,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":5346,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":5347,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5348,"author":{"gitId":"-"},"content":" \"boolbase\": \"^1.0.0\","},{"lineNumber":5349,"author":{"gitId":"-"},"content":" \"css-what\": \"^6.1.0\","},{"lineNumber":5350,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.2\","},{"lineNumber":5351,"author":{"gitId":"-"},"content":" \"domutils\": \"^3.0.1\","},{"lineNumber":5352,"author":{"gitId":"-"},"content":" \"nth-check\": \"^2.0.1\""},{"lineNumber":5353,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5354,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5355,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":5356,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5357,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5358,"author":{"gitId":"-"},"content":" \"node_modules/css-selector-parser\": {"},{"lineNumber":5359,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\","},{"lineNumber":5360,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5361,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5362,"author":{"gitId":"-"},"content":" \"node_modules/css-tree\": {"},{"lineNumber":5363,"author":{"gitId":"-"},"content":" \"version\": \"1.1.3\","},{"lineNumber":5364,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5365,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5366,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5367,"author":{"gitId":"-"},"content":" \"mdn-data\": \"2.0.14\","},{"lineNumber":5368,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.1\""},{"lineNumber":5369,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5370,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5371,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\""},{"lineNumber":5372,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5373,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5374,"author":{"gitId":"-"},"content":" \"node_modules/css-what\": {"},{"lineNumber":5375,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\","},{"lineNumber":5376,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":5377,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5378,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":5379,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5380,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5381,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":5382,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5383,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5384,"author":{"gitId":"-"},"content":" \"node_modules/cssesc\": {"},{"lineNumber":5385,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":5386,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5387,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5388,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":5389,"author":{"gitId":"-"},"content":" \"cssesc\": \"bin/cssesc\""},{"lineNumber":5390,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5391,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5392,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":5393,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5394,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5395,"author":{"gitId":"-"},"content":" \"node_modules/cssnano\": {"},{"lineNumber":5396,"author":{"gitId":"-"},"content":" \"version\": \"5.1.14\","},{"lineNumber":5397,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5398,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5399,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5400,"author":{"gitId":"-"},"content":" \"cssnano-preset-default\": \"^5.2.13\","},{"lineNumber":5401,"author":{"gitId":"-"},"content":" \"lilconfig\": \"^2.0.3\","},{"lineNumber":5402,"author":{"gitId":"-"},"content":" \"yaml\": \"^1.10.2\""},{"lineNumber":5403,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5404,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5405,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":5406,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5407,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5408,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5409,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/cssnano\""},{"lineNumber":5410,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5411,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5412,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":5413,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5414,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5415,"author":{"gitId":"-"},"content":" \"node_modules/cssnano-preset-default\": {"},{"lineNumber":5416,"author":{"gitId":"-"},"content":" \"version\": \"5.2.13\","},{"lineNumber":5417,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5418,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5419,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5420,"author":{"gitId":"-"},"content":" \"css-declaration-sorter\": \"^6.3.1\","},{"lineNumber":5421,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\","},{"lineNumber":5422,"author":{"gitId":"-"},"content":" \"postcss-calc\": \"^8.2.3\","},{"lineNumber":5423,"author":{"gitId":"-"},"content":" \"postcss-colormin\": \"^5.3.0\","},{"lineNumber":5424,"author":{"gitId":"-"},"content":" \"postcss-convert-values\": \"^5.1.3\","},{"lineNumber":5425,"author":{"gitId":"-"},"content":" \"postcss-discard-comments\": \"^5.1.2\","},{"lineNumber":5426,"author":{"gitId":"-"},"content":" \"postcss-discard-duplicates\": \"^5.1.0\","},{"lineNumber":5427,"author":{"gitId":"-"},"content":" \"postcss-discard-empty\": \"^5.1.1\","},{"lineNumber":5428,"author":{"gitId":"-"},"content":" \"postcss-discard-overridden\": \"^5.1.0\","},{"lineNumber":5429,"author":{"gitId":"-"},"content":" \"postcss-merge-longhand\": \"^5.1.7\","},{"lineNumber":5430,"author":{"gitId":"-"},"content":" \"postcss-merge-rules\": \"^5.1.3\","},{"lineNumber":5431,"author":{"gitId":"-"},"content":" \"postcss-minify-font-values\": \"^5.1.0\","},{"lineNumber":5432,"author":{"gitId":"-"},"content":" \"postcss-minify-gradients\": \"^5.1.1\","},{"lineNumber":5433,"author":{"gitId":"-"},"content":" \"postcss-minify-params\": \"^5.1.4\","},{"lineNumber":5434,"author":{"gitId":"-"},"content":" \"postcss-minify-selectors\": \"^5.2.1\","},{"lineNumber":5435,"author":{"gitId":"-"},"content":" \"postcss-normalize-charset\": \"^5.1.0\","},{"lineNumber":5436,"author":{"gitId":"-"},"content":" \"postcss-normalize-display-values\": \"^5.1.0\","},{"lineNumber":5437,"author":{"gitId":"-"},"content":" \"postcss-normalize-positions\": \"^5.1.1\","},{"lineNumber":5438,"author":{"gitId":"-"},"content":" \"postcss-normalize-repeat-style\": \"^5.1.1\","},{"lineNumber":5439,"author":{"gitId":"-"},"content":" \"postcss-normalize-string\": \"^5.1.0\","},{"lineNumber":5440,"author":{"gitId":"-"},"content":" \"postcss-normalize-timing-functions\": \"^5.1.0\","},{"lineNumber":5441,"author":{"gitId":"-"},"content":" \"postcss-normalize-unicode\": \"^5.1.1\","},{"lineNumber":5442,"author":{"gitId":"-"},"content":" \"postcss-normalize-url\": \"^5.1.0\","},{"lineNumber":5443,"author":{"gitId":"-"},"content":" \"postcss-normalize-whitespace\": \"^5.1.1\","},{"lineNumber":5444,"author":{"gitId":"-"},"content":" \"postcss-ordered-values\": \"^5.1.3\","},{"lineNumber":5445,"author":{"gitId":"-"},"content":" \"postcss-reduce-initial\": \"^5.1.1\","},{"lineNumber":5446,"author":{"gitId":"-"},"content":" \"postcss-reduce-transforms\": \"^5.1.0\","},{"lineNumber":5447,"author":{"gitId":"-"},"content":" \"postcss-svgo\": \"^5.1.0\","},{"lineNumber":5448,"author":{"gitId":"-"},"content":" \"postcss-unique-selectors\": \"^5.1.1\""},{"lineNumber":5449,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5450,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5451,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":5452,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5453,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5454,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":5455,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5456,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5457,"author":{"gitId":"-"},"content":" \"node_modules/cssnano-utils\": {"},{"lineNumber":5458,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":5459,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5460,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5461,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5462,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":5463,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5464,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5465,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":5466,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5467,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5468,"author":{"gitId":"-"},"content":" \"node_modules/csso\": {"},{"lineNumber":5469,"author":{"gitId":"-"},"content":" \"version\": \"4.2.0\","},{"lineNumber":5470,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5471,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5472,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5473,"author":{"gitId":"-"},"content":" \"css-tree\": \"^1.1.2\""},{"lineNumber":5474,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5475,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5476,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\""},{"lineNumber":5477,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5478,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5479,"author":{"gitId":"-"},"content":" \"node_modules/csstype\": {"},{"lineNumber":5480,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.3\","},{"lineNumber":5481,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz\","},{"lineNumber":5482,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw\u003d\u003d\""},{"lineNumber":5483,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5484,"author":{"gitId":"-"},"content":" \"node_modules/debug\": {"},{"lineNumber":5485,"author":{"gitId":"-"},"content":" \"version\": \"4.3.4\","},{"lineNumber":5486,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5487,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5488,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5489,"author":{"gitId":"-"},"content":" \"ms\": \"2.1.2\""},{"lineNumber":5490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5491,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5492,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0\""},{"lineNumber":5493,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5494,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":5495,"author":{"gitId":"-"},"content":" \"supports-color\": {"},{"lineNumber":5496,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":5497,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5498,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5499,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5500,"author":{"gitId":"-"},"content":" \"node_modules/decamelize\": {"},{"lineNumber":5501,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":5502,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5503,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5504,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5505,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":5506,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5507,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5508,"author":{"gitId":"-"},"content":" \"node_modules/decamelize-keys\": {"},{"lineNumber":5509,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\","},{"lineNumber":5510,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5511,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5512,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5513,"author":{"gitId":"-"},"content":" \"decamelize\": \"^1.1.0\","},{"lineNumber":5514,"author":{"gitId":"-"},"content":" \"map-obj\": \"^1.0.0\""},{"lineNumber":5515,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5516,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5517,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":5518,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5519,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5520,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":5521,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5522,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5523,"author":{"gitId":"-"},"content":" \"node_modules/decamelize-keys/node_modules/map-obj\": {"},{"lineNumber":5524,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":5525,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5526,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5527,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5528,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":5529,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5530,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5531,"author":{"gitId":"-"},"content":" \"node_modules/deep-is\": {"},{"lineNumber":5532,"author":{"gitId":"-"},"content":" \"version\": \"0.1.4\","},{"lineNumber":5533,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5534,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5535,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5536,"author":{"gitId":"-"},"content":" \"node_modules/deepmerge\": {"},{"lineNumber":5537,"author":{"gitId":"-"},"content":" \"version\": \"4.2.2\","},{"lineNumber":5538,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5539,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5540,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5541,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":5542,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5543,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5544,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway\": {"},{"lineNumber":5545,"author":{"gitId":"-"},"content":" \"version\": \"6.0.3\","},{"lineNumber":5546,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5547,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":5548,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5549,"author":{"gitId":"-"},"content":" \"execa\": \"^5.0.0\""},{"lineNumber":5550,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5551,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5552,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\""},{"lineNumber":5553,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5554,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5555,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway/node_modules/execa\": {"},{"lineNumber":5556,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":5557,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5558,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5559,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5560,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^7.0.3\","},{"lineNumber":5561,"author":{"gitId":"-"},"content":" \"get-stream\": \"^6.0.0\","},{"lineNumber":5562,"author":{"gitId":"-"},"content":" \"human-signals\": \"^2.1.0\","},{"lineNumber":5563,"author":{"gitId":"-"},"content":" \"is-stream\": \"^2.0.0\","},{"lineNumber":5564,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\","},{"lineNumber":5565,"author":{"gitId":"-"},"content":" \"npm-run-path\": \"^4.0.1\","},{"lineNumber":5566,"author":{"gitId":"-"},"content":" \"onetime\": \"^5.1.2\","},{"lineNumber":5567,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.3\","},{"lineNumber":5568,"author":{"gitId":"-"},"content":" \"strip-final-newline\": \"^2.0.0\""},{"lineNumber":5569,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5570,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5571,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":5572,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5573,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5574,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sindresorhus/execa?sponsor\u003d1\""},{"lineNumber":5575,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5576,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5577,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway/node_modules/get-stream\": {"},{"lineNumber":5578,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\","},{"lineNumber":5579,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5580,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5581,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5582,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":5583,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5584,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5585,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":5586,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5587,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5588,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway/node_modules/is-stream\": {"},{"lineNumber":5589,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":5590,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5591,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5592,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5593,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":5594,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5595,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5596,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":5597,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5598,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5599,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway/node_modules/npm-run-path\": {"},{"lineNumber":5600,"author":{"gitId":"-"},"content":" \"version\": \"4.0.1\","},{"lineNumber":5601,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5602,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5603,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5604,"author":{"gitId":"-"},"content":" \"path-key\": \"^3.0.0\""},{"lineNumber":5605,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5606,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5607,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":5608,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5609,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5610,"author":{"gitId":"-"},"content":" \"node_modules/defaults\": {"},{"lineNumber":5611,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":5612,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5613,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5614,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5615,"author":{"gitId":"-"},"content":" \"clone\": \"^1.0.2\""},{"lineNumber":5616,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5617,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5618,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":5619,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5620,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5621,"author":{"gitId":"sopa301"},"content":" \"node_modules/define-data-property\": {"},{"lineNumber":5622,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.4\","},{"lineNumber":5623,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5624,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":5625,"author":{"gitId":"sopa301"},"content":" \"es-define-property\": \"^1.0.0\","},{"lineNumber":5626,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":5627,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\""},{"lineNumber":5628,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":5629,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":5630,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":5631,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":5632,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":5633,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":5634,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":5635,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":5636,"author":{"gitId":"-"},"content":" \"node_modules/define-lazy-prop\": {"},{"lineNumber":5637,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":5638,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5639,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5640,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5641,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":5642,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5643,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5644,"author":{"gitId":"-"},"content":" \"node_modules/define-properties\": {"},{"lineNumber":5645,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.1\","},{"lineNumber":5646,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5647,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5648,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5649,"author":{"gitId":"sopa301"},"content":" \"define-data-property\": \"^1.0.1\","},{"lineNumber":5650,"author":{"gitId":"-"},"content":" \"has-property-descriptors\": \"^1.0.0\","},{"lineNumber":5651,"author":{"gitId":"-"},"content":" \"object-keys\": \"^1.1.1\""},{"lineNumber":5652,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5653,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5654,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":5655,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5656,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5657,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":5658,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5659,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5660,"author":{"gitId":"-"},"content":" \"node_modules/depd\": {"},{"lineNumber":5661,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\","},{"lineNumber":5662,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5663,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5664,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5665,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":5666,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5667,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5668,"author":{"gitId":"-"},"content":" \"node_modules/destroy\": {"},{"lineNumber":5669,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":5670,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5671,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5672,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5673,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\","},{"lineNumber":5674,"author":{"gitId":"-"},"content":" \"npm\": \"1.2.8000 || \u003e\u003d 1.4.16\""},{"lineNumber":5675,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5676,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5677,"author":{"gitId":"-"},"content":" \"node_modules/detect-node\": {"},{"lineNumber":5678,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":5679,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5680,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5681,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5682,"author":{"gitId":"-"},"content":" \"node_modules/dir-glob\": {"},{"lineNumber":5683,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":5684,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5685,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5686,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5687,"author":{"gitId":"-"},"content":" \"path-type\": \"^4.0.0\""},{"lineNumber":5688,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5689,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5690,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":5691,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5692,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5693,"author":{"gitId":"-"},"content":" \"node_modules/dns-equal\": {"},{"lineNumber":5694,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":5695,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5696,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5697,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5698,"author":{"gitId":"-"},"content":" \"node_modules/dns-packet\": {"},{"lineNumber":5699,"author":{"gitId":"-"},"content":" \"version\": \"5.4.0\","},{"lineNumber":5700,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5701,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5702,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5703,"author":{"gitId":"-"},"content":" \"@leichtgewicht/ip-codec\": \"^2.0.1\""},{"lineNumber":5704,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5705,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5706,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":5707,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5708,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5709,"author":{"gitId":"-"},"content":" \"node_modules/doctrine\": {"},{"lineNumber":5710,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":5711,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5712,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":5713,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5714,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\""},{"lineNumber":5715,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5716,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5717,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":5718,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5719,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5720,"author":{"gitId":"-"},"content":" \"node_modules/doctypes\": {"},{"lineNumber":5721,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":5722,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5723,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5724,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5725,"author":{"gitId":"-"},"content":" \"node_modules/dom-converter\": {"},{"lineNumber":5726,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\","},{"lineNumber":5727,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5728,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5729,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5730,"author":{"gitId":"-"},"content":" \"utila\": \"~0.4\""},{"lineNumber":5731,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5732,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5733,"author":{"gitId":"-"},"content":" \"node_modules/dom-serializer\": {"},{"lineNumber":5734,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":5735,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5736,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5737,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\","},{"lineNumber":5738,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.2\","},{"lineNumber":5739,"author":{"gitId":"-"},"content":" \"entities\": \"^4.2.0\""},{"lineNumber":5740,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5741,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5742,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor\u003d1\""},{"lineNumber":5743,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5744,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5745,"author":{"gitId":"-"},"content":" \"node_modules/domelementtype\": {"},{"lineNumber":5746,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":5747,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":5748,"author":{"gitId":"-"},"content":" {"},{"lineNumber":5749,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":5750,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":5751,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5752,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":5753,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\""},{"lineNumber":5754,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5755,"author":{"gitId":"-"},"content":" \"node_modules/domhandler\": {"},{"lineNumber":5756,"author":{"gitId":"-"},"content":" \"version\": \"5.0.3\","},{"lineNumber":5757,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":5758,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5759,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\""},{"lineNumber":5760,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5761,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5762,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":5763,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5764,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5765,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\""},{"lineNumber":5766,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5767,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5768,"author":{"gitId":"-"},"content":" \"node_modules/domutils\": {"},{"lineNumber":5769,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":5770,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":5771,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5772,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^2.0.0\","},{"lineNumber":5773,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\","},{"lineNumber":5774,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.1\""},{"lineNumber":5775,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5776,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5777,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domutils?sponsor\u003d1\""},{"lineNumber":5778,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5779,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5780,"author":{"gitId":"-"},"content":" \"node_modules/dot-case\": {"},{"lineNumber":5781,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\","},{"lineNumber":5782,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5783,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5784,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5785,"author":{"gitId":"-"},"content":" \"no-case\": \"^3.0.4\","},{"lineNumber":5786,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\""},{"lineNumber":5787,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5788,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5789,"author":{"gitId":"-"},"content":" \"node_modules/dotenv\": {"},{"lineNumber":5790,"author":{"gitId":"-"},"content":" \"version\": \"10.0.0\","},{"lineNumber":5791,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5792,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":5793,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5794,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":5795,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5796,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5797,"author":{"gitId":"-"},"content":" \"node_modules/dotenv-expand\": {"},{"lineNumber":5798,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":5799,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5800,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\""},{"lineNumber":5801,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5802,"author":{"gitId":"-"},"content":" \"node_modules/duplexer\": {"},{"lineNumber":5803,"author":{"gitId":"-"},"content":" \"version\": \"0.1.2\","},{"lineNumber":5804,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5805,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5806,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5807,"author":{"gitId":"-"},"content":" \"node_modules/easy-stack\": {"},{"lineNumber":5808,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":5809,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5810,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5811,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5812,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":5813,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5814,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5815,"author":{"gitId":"-"},"content":" \"node_modules/ee-first\": {"},{"lineNumber":5816,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\","},{"lineNumber":5817,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5818,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5819,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5820,"author":{"gitId":"-"},"content":" \"node_modules/electron-to-chromium\": {"},{"lineNumber":5821,"author":{"gitId":"-"},"content":" \"version\": \"1.4.284\","},{"lineNumber":5822,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":5823,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5824,"author":{"gitId":"-"},"content":" \"node_modules/emoji-regex\": {"},{"lineNumber":5825,"author":{"gitId":"-"},"content":" \"version\": \"8.0.0\","},{"lineNumber":5826,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5827,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5828,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5829,"author":{"gitId":"-"},"content":" \"node_modules/emojis-list\": {"},{"lineNumber":5830,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":5831,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5832,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5833,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5834,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":5835,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5836,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5837,"author":{"gitId":"-"},"content":" \"node_modules/encodeurl\": {"},{"lineNumber":5838,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":5839,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5840,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5841,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5842,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":5843,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5844,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5845,"author":{"gitId":"-"},"content":" \"node_modules/encoding\": {"},{"lineNumber":5846,"author":{"gitId":"-"},"content":" \"version\": \"0.1.13\","},{"lineNumber":5847,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5848,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5849,"author":{"gitId":"-"},"content":" \"optional\": true,"},{"lineNumber":5850,"author":{"gitId":"sopa301"},"content":" \"peer\": true,"},{"lineNumber":5851,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5852,"author":{"gitId":"-"},"content":" \"iconv-lite\": \"^0.6.2\""},{"lineNumber":5853,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5854,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5855,"author":{"gitId":"-"},"content":" \"node_modules/end-of-stream\": {"},{"lineNumber":5856,"author":{"gitId":"-"},"content":" \"version\": \"1.4.4\","},{"lineNumber":5857,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5858,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5859,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5860,"author":{"gitId":"-"},"content":" \"once\": \"^1.4.0\""},{"lineNumber":5861,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5862,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5863,"author":{"gitId":"-"},"content":" \"node_modules/enhanced-resolve\": {"},{"lineNumber":5864,"author":{"gitId":"-"},"content":" \"version\": \"5.12.0\","},{"lineNumber":5865,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5866,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5867,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.4\","},{"lineNumber":5868,"author":{"gitId":"-"},"content":" \"tapable\": \"^2.2.0\""},{"lineNumber":5869,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5870,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5871,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":5872,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5873,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5874,"author":{"gitId":"-"},"content":" \"node_modules/enhanced-resolve/node_modules/tapable\": {"},{"lineNumber":5875,"author":{"gitId":"-"},"content":" \"version\": \"2.2.1\","},{"lineNumber":5876,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5877,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5878,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":5879,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5880,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5881,"author":{"gitId":"-"},"content":" \"node_modules/entities\": {"},{"lineNumber":5882,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.5.0\","},{"lineNumber":5883,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":5884,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5885,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.12\""},{"lineNumber":5886,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5887,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5888,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/entities?sponsor\u003d1\""},{"lineNumber":5889,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5890,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5891,"author":{"gitId":"-"},"content":" \"node_modules/error-ex\": {"},{"lineNumber":5892,"author":{"gitId":"-"},"content":" \"version\": \"1.3.2\","},{"lineNumber":5893,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5894,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5895,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5896,"author":{"gitId":"-"},"content":" \"is-arrayish\": \"^0.2.1\""},{"lineNumber":5897,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5898,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5899,"author":{"gitId":"-"},"content":" \"node_modules/error-stack-parser\": {"},{"lineNumber":5900,"author":{"gitId":"-"},"content":" \"version\": \"2.1.4\","},{"lineNumber":5901,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5902,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5903,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5904,"author":{"gitId":"-"},"content":" \"stackframe\": \"^1.3.4\""},{"lineNumber":5905,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5906,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5907,"author":{"gitId":"-"},"content":" \"node_modules/es-abstract\": {"},{"lineNumber":5908,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.22.5\","},{"lineNumber":5909,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5910,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5911,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5912,"author":{"gitId":"sopa301"},"content":" \"array-buffer-byte-length\": \"^1.0.1\","},{"lineNumber":5913,"author":{"gitId":"sopa301"},"content":" \"arraybuffer.prototype.slice\": \"^1.0.3\","},{"lineNumber":5914,"author":{"gitId":"sopa301"},"content":" \"available-typed-arrays\": \"^1.0.7\","},{"lineNumber":5915,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\","},{"lineNumber":5916,"author":{"gitId":"sopa301"},"content":" \"es-define-property\": \"^1.0.0\","},{"lineNumber":5917,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":5918,"author":{"gitId":"sopa301"},"content":" \"es-set-tostringtag\": \"^2.0.3\","},{"lineNumber":5919,"author":{"gitId":"-"},"content":" \"es-to-primitive\": \"^1.2.1\","},{"lineNumber":5920,"author":{"gitId":"sopa301"},"content":" \"function.prototype.name\": \"^1.1.6\","},{"lineNumber":5921,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\","},{"lineNumber":5922,"author":{"gitId":"sopa301"},"content":" \"get-symbol-description\": \"^1.0.2\","},{"lineNumber":5923,"author":{"gitId":"-"},"content":" \"globalthis\": \"^1.0.3\","},{"lineNumber":5924,"author":{"gitId":"-"},"content":" \"gopd\": \"^1.0.1\","},{"lineNumber":5925,"author":{"gitId":"sopa301"},"content":" \"has-property-descriptors\": \"^1.0.2\","},{"lineNumber":5926,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\","},{"lineNumber":5927,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.3\","},{"lineNumber":5928,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.1\","},{"lineNumber":5929,"author":{"gitId":"sopa301"},"content":" \"internal-slot\": \"^1.0.7\","},{"lineNumber":5930,"author":{"gitId":"sopa301"},"content":" \"is-array-buffer\": \"^3.0.4\","},{"lineNumber":5931,"author":{"gitId":"-"},"content":" \"is-callable\": \"^1.2.7\","},{"lineNumber":5932,"author":{"gitId":"sopa301"},"content":" \"is-negative-zero\": \"^2.0.3\","},{"lineNumber":5933,"author":{"gitId":"-"},"content":" \"is-regex\": \"^1.1.4\","},{"lineNumber":5934,"author":{"gitId":"sopa301"},"content":" \"is-shared-array-buffer\": \"^1.0.3\","},{"lineNumber":5935,"author":{"gitId":"-"},"content":" \"is-string\": \"^1.0.7\","},{"lineNumber":5936,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\","},{"lineNumber":5937,"author":{"gitId":"-"},"content":" \"is-weakref\": \"^1.0.2\","},{"lineNumber":5938,"author":{"gitId":"sopa301"},"content":" \"object-inspect\": \"^1.13.1\","},{"lineNumber":5939,"author":{"gitId":"-"},"content":" \"object-keys\": \"^1.1.1\","},{"lineNumber":5940,"author":{"gitId":"sopa301"},"content":" \"object.assign\": \"^4.1.5\","},{"lineNumber":5941,"author":{"gitId":"sopa301"},"content":" \"regexp.prototype.flags\": \"^1.5.2\","},{"lineNumber":5942,"author":{"gitId":"sopa301"},"content":" \"safe-array-concat\": \"^1.1.0\","},{"lineNumber":5943,"author":{"gitId":"sopa301"},"content":" \"safe-regex-test\": \"^1.0.3\","},{"lineNumber":5944,"author":{"gitId":"sopa301"},"content":" \"string.prototype.trim\": \"^1.2.8\","},{"lineNumber":5945,"author":{"gitId":"sopa301"},"content":" \"string.prototype.trimend\": \"^1.0.7\","},{"lineNumber":5946,"author":{"gitId":"sopa301"},"content":" \"string.prototype.trimstart\": \"^1.0.7\","},{"lineNumber":5947,"author":{"gitId":"sopa301"},"content":" \"typed-array-buffer\": \"^1.0.2\","},{"lineNumber":5948,"author":{"gitId":"sopa301"},"content":" \"typed-array-byte-length\": \"^1.0.1\","},{"lineNumber":5949,"author":{"gitId":"sopa301"},"content":" \"typed-array-byte-offset\": \"^1.0.2\","},{"lineNumber":5950,"author":{"gitId":"sopa301"},"content":" \"typed-array-length\": \"^1.0.5\","},{"lineNumber":5951,"author":{"gitId":"-"},"content":" \"unbox-primitive\": \"^1.0.2\","},{"lineNumber":5952,"author":{"gitId":"sopa301"},"content":" \"which-typed-array\": \"^1.1.14\""},{"lineNumber":5953,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5954,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5955,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":5956,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5957,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5958,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":5959,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5960,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5961,"author":{"gitId":"sopa301"},"content":" \"node_modules/es-array-method-boxes-properly\": {"},{"lineNumber":5962,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":5963,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5964,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5965,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":5966,"author":{"gitId":"sopa301"},"content":" \"node_modules/es-define-property\": {"},{"lineNumber":5967,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":5968,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5969,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":5970,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\""},{"lineNumber":5971,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":5972,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":5973,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":5974,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":5975,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":5976,"author":{"gitId":"sopa301"},"content":" \"node_modules/es-errors\": {"},{"lineNumber":5977,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.0\","},{"lineNumber":5978,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5979,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":5980,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":5981,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":5982,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":5983,"author":{"gitId":"-"},"content":" \"node_modules/es-module-lexer\": {"},{"lineNumber":5984,"author":{"gitId":"-"},"content":" \"version\": \"0.9.3\","},{"lineNumber":5985,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5986,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5987,"author":{"gitId":"-"},"content":" \"node_modules/es-set-tostringtag\": {"},{"lineNumber":5988,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.3\","},{"lineNumber":5989,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5990,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5991,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5992,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\","},{"lineNumber":5993,"author":{"gitId":"sopa301"},"content":" \"has-tostringtag\": \"^1.0.2\","},{"lineNumber":5994,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.1\""},{"lineNumber":5995,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5996,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5997,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":5998,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5999,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6000,"author":{"gitId":"-"},"content":" \"node_modules/es-shim-unscopables\": {"},{"lineNumber":6001,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":6002,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6003,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6004,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6005,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\""},{"lineNumber":6006,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6007,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6008,"author":{"gitId":"-"},"content":" \"node_modules/es-to-primitive\": {"},{"lineNumber":6009,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":6010,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6011,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6012,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6013,"author":{"gitId":"-"},"content":" \"is-callable\": \"^1.1.4\","},{"lineNumber":6014,"author":{"gitId":"-"},"content":" \"is-date-object\": \"^1.0.1\","},{"lineNumber":6015,"author":{"gitId":"-"},"content":" \"is-symbol\": \"^1.0.2\""},{"lineNumber":6016,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6017,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6018,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":6019,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6020,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6021,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":6022,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6023,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6024,"author":{"gitId":"-"},"content":" \"node_modules/escalade\": {"},{"lineNumber":6025,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":6026,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6027,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6028,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":6029,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6030,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6031,"author":{"gitId":"-"},"content":" \"node_modules/escape-html\": {"},{"lineNumber":6032,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":6033,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6034,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6035,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6036,"author":{"gitId":"-"},"content":" \"node_modules/escape-string-regexp\": {"},{"lineNumber":6037,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\","},{"lineNumber":6038,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6039,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6040,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6041,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.0\""},{"lineNumber":6042,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6043,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6044,"author":{"gitId":"-"},"content":" \"node_modules/eslint\": {"},{"lineNumber":6045,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.57.0\","},{"lineNumber":6046,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6047,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6048,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6049,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/eslint-utils\": \"^4.2.0\","},{"lineNumber":6050,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/regexpp\": \"^4.6.1\","},{"lineNumber":6051,"author":{"gitId":"sopa301"},"content":" \"@eslint/eslintrc\": \"^2.1.4\","},{"lineNumber":6052,"author":{"gitId":"sopa301"},"content":" \"@eslint/js\": \"8.57.0\","},{"lineNumber":6053,"author":{"gitId":"sopa301"},"content":" \"@humanwhocodes/config-array\": \"^0.11.14\","},{"lineNumber":6054,"author":{"gitId":"-"},"content":" \"@humanwhocodes/module-importer\": \"^1.0.1\","},{"lineNumber":6055,"author":{"gitId":"-"},"content":" \"@nodelib/fs.walk\": \"^1.2.8\","},{"lineNumber":6056,"author":{"gitId":"sopa301"},"content":" \"@ungap/structured-clone\": \"^1.2.0\","},{"lineNumber":6057,"author":{"gitId":"sopa301"},"content":" \"ajv\": \"^6.12.4\","},{"lineNumber":6058,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.0.0\","},{"lineNumber":6059,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^7.0.2\","},{"lineNumber":6060,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.2\","},{"lineNumber":6061,"author":{"gitId":"-"},"content":" \"doctrine\": \"^3.0.0\","},{"lineNumber":6062,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": \"^4.0.0\","},{"lineNumber":6063,"author":{"gitId":"sopa301"},"content":" \"eslint-scope\": \"^7.2.2\","},{"lineNumber":6064,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.4.3\","},{"lineNumber":6065,"author":{"gitId":"sopa301"},"content":" \"espree\": \"^9.6.1\","},{"lineNumber":6066,"author":{"gitId":"sopa301"},"content":" \"esquery\": \"^1.4.2\","},{"lineNumber":6067,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\","},{"lineNumber":6068,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\","},{"lineNumber":6069,"author":{"gitId":"-"},"content":" \"file-entry-cache\": \"^6.0.1\","},{"lineNumber":6070,"author":{"gitId":"-"},"content":" \"find-up\": \"^5.0.0\","},{"lineNumber":6071,"author":{"gitId":"-"},"content":" \"glob-parent\": \"^6.0.2\","},{"lineNumber":6072,"author":{"gitId":"-"},"content":" \"globals\": \"^13.19.0\","},{"lineNumber":6073,"author":{"gitId":"sopa301"},"content":" \"graphemer\": \"^1.4.0\","},{"lineNumber":6074,"author":{"gitId":"-"},"content":" \"ignore\": \"^5.2.0\","},{"lineNumber":6075,"author":{"gitId":"-"},"content":" \"imurmurhash\": \"^0.1.4\","},{"lineNumber":6076,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.0\","},{"lineNumber":6077,"author":{"gitId":"-"},"content":" \"is-path-inside\": \"^3.0.3\","},{"lineNumber":6078,"author":{"gitId":"-"},"content":" \"js-yaml\": \"^4.1.0\","},{"lineNumber":6079,"author":{"gitId":"-"},"content":" \"json-stable-stringify-without-jsonify\": \"^1.0.1\","},{"lineNumber":6080,"author":{"gitId":"-"},"content":" \"levn\": \"^0.4.1\","},{"lineNumber":6081,"author":{"gitId":"-"},"content":" \"lodash.merge\": \"^4.6.2\","},{"lineNumber":6082,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.2\","},{"lineNumber":6083,"author":{"gitId":"-"},"content":" \"natural-compare\": \"^1.4.0\","},{"lineNumber":6084,"author":{"gitId":"sopa301"},"content":" \"optionator\": \"^0.9.3\","},{"lineNumber":6085,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\","},{"lineNumber":6086,"author":{"gitId":"-"},"content":" \"text-table\": \"^0.2.0\""},{"lineNumber":6087,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6088,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":6089,"author":{"gitId":"-"},"content":" \"eslint\": \"bin/eslint.js\""},{"lineNumber":6090,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6091,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6092,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":6093,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6094,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6095,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":6096,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6097,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6098,"author":{"gitId":"-"},"content":" \"node_modules/eslint-config-airbnb-base\": {"},{"lineNumber":6099,"author":{"gitId":"-"},"content":" \"version\": \"15.0.0\","},{"lineNumber":6100,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6101,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6102,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6103,"author":{"gitId":"-"},"content":" \"confusing-browser-globals\": \"^1.0.10\","},{"lineNumber":6104,"author":{"gitId":"-"},"content":" \"object.assign\": \"^4.1.2\","},{"lineNumber":6105,"author":{"gitId":"-"},"content":" \"object.entries\": \"^1.1.5\","},{"lineNumber":6106,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\""},{"lineNumber":6107,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6108,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6109,"author":{"gitId":"-"},"content":" \"node\": \"^10.12.0 || \u003e\u003d12.0.0\""},{"lineNumber":6110,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6111,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":6112,"author":{"gitId":"-"},"content":" \"eslint\": \"^7.32.0 || ^8.2.0\","},{"lineNumber":6113,"author":{"gitId":"-"},"content":" \"eslint-plugin-import\": \"^2.25.2\""},{"lineNumber":6114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6115,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6116,"author":{"gitId":"-"},"content":" \"node_modules/eslint-config-airbnb-typescript\": {"},{"lineNumber":6117,"author":{"gitId":"sopa301"},"content":" \"version\": \"17.1.0\","},{"lineNumber":6118,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6119,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6120,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6121,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-base\": \"^15.0.0\""},{"lineNumber":6122,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6123,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":6124,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/eslint-plugin\": \"^5.13.0 || ^6.0.0\","},{"lineNumber":6125,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/parser\": \"^5.0.0 || ^6.0.0\","},{"lineNumber":6126,"author":{"gitId":"-"},"content":" \"eslint\": \"^7.32.0 || ^8.2.0\","},{"lineNumber":6127,"author":{"gitId":"-"},"content":" \"eslint-plugin-import\": \"^2.25.3\""},{"lineNumber":6128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6129,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6130,"author":{"gitId":"-"},"content":" \"node_modules/eslint-import-resolver-node\": {"},{"lineNumber":6131,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.3.9\","},{"lineNumber":6132,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6133,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6134,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6135,"author":{"gitId":"-"},"content":" \"debug\": \"^3.2.7\","},{"lineNumber":6136,"author":{"gitId":"sopa301"},"content":" \"is-core-module\": \"^2.13.0\","},{"lineNumber":6137,"author":{"gitId":"sopa301"},"content":" \"resolve\": \"^1.22.4\""},{"lineNumber":6138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6139,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6140,"author":{"gitId":"-"},"content":" \"node_modules/eslint-import-resolver-node/node_modules/debug\": {"},{"lineNumber":6141,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\","},{"lineNumber":6142,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6143,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6144,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6145,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\""},{"lineNumber":6146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6147,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6148,"author":{"gitId":"-"},"content":" \"node_modules/eslint-module-utils\": {"},{"lineNumber":6149,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.8.1\","},{"lineNumber":6150,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6151,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6152,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6153,"author":{"gitId":"-"},"content":" \"debug\": \"^3.2.7\""},{"lineNumber":6154,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6155,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6156,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":6157,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6158,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":6159,"author":{"gitId":"-"},"content":" \"eslint\": {"},{"lineNumber":6160,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":6161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6163,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6164,"author":{"gitId":"-"},"content":" \"node_modules/eslint-module-utils/node_modules/debug\": {"},{"lineNumber":6165,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\","},{"lineNumber":6166,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6167,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6168,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6169,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\""},{"lineNumber":6170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6171,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6172,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import\": {"},{"lineNumber":6173,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.29.1\","},{"lineNumber":6174,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6175,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6176,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6177,"author":{"gitId":"sopa301"},"content":" \"array-includes\": \"^3.1.7\","},{"lineNumber":6178,"author":{"gitId":"sopa301"},"content":" \"array.prototype.findlastindex\": \"^1.2.3\","},{"lineNumber":6179,"author":{"gitId":"sopa301"},"content":" \"array.prototype.flat\": \"^1.3.2\","},{"lineNumber":6180,"author":{"gitId":"sopa301"},"content":" \"array.prototype.flatmap\": \"^1.3.2\","},{"lineNumber":6181,"author":{"gitId":"-"},"content":" \"debug\": \"^3.2.7\","},{"lineNumber":6182,"author":{"gitId":"-"},"content":" \"doctrine\": \"^2.1.0\","},{"lineNumber":6183,"author":{"gitId":"sopa301"},"content":" \"eslint-import-resolver-node\": \"^0.3.9\","},{"lineNumber":6184,"author":{"gitId":"sopa301"},"content":" \"eslint-module-utils\": \"^2.8.0\","},{"lineNumber":6185,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\","},{"lineNumber":6186,"author":{"gitId":"sopa301"},"content":" \"is-core-module\": \"^2.13.1\","},{"lineNumber":6187,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.3\","},{"lineNumber":6188,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.2\","},{"lineNumber":6189,"author":{"gitId":"sopa301"},"content":" \"object.fromentries\": \"^2.0.7\","},{"lineNumber":6190,"author":{"gitId":"sopa301"},"content":" \"object.groupby\": \"^1.0.1\","},{"lineNumber":6191,"author":{"gitId":"sopa301"},"content":" \"object.values\": \"^1.1.7\","},{"lineNumber":6192,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^6.3.1\","},{"lineNumber":6193,"author":{"gitId":"sopa301"},"content":" \"tsconfig-paths\": \"^3.15.0\""},{"lineNumber":6194,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6195,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6196,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":6197,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6198,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":6199,"author":{"gitId":"-"},"content":" \"eslint\": \"^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8\""},{"lineNumber":6200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6201,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6202,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import/node_modules/brace-expansion\": {"},{"lineNumber":6203,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":6204,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6205,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6206,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6207,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":6208,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":6209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6210,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6211,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import/node_modules/debug\": {"},{"lineNumber":6212,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\","},{"lineNumber":6213,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6214,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6215,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6216,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\""},{"lineNumber":6217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6218,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6219,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import/node_modules/doctrine\": {"},{"lineNumber":6220,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":6221,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6222,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":6223,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6224,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\""},{"lineNumber":6225,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6226,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6227,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":6228,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6229,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6230,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import/node_modules/minimatch\": {"},{"lineNumber":6231,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":6232,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6233,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6234,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6235,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":6236,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6237,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6238,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":6239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6240,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6241,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-vue\": {"},{"lineNumber":6242,"author":{"gitId":"-"},"content":" \"version\": \"8.7.1\","},{"lineNumber":6243,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6244,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6245,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6246,"author":{"gitId":"-"},"content":" \"eslint-utils\": \"^3.0.0\","},{"lineNumber":6247,"author":{"gitId":"-"},"content":" \"natural-compare\": \"^1.4.0\","},{"lineNumber":6248,"author":{"gitId":"-"},"content":" \"nth-check\": \"^2.0.1\","},{"lineNumber":6249,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.9\","},{"lineNumber":6250,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.5\","},{"lineNumber":6251,"author":{"gitId":"-"},"content":" \"vue-eslint-parser\": \"^8.0.1\""},{"lineNumber":6252,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6253,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6254,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":6255,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6256,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":6257,"author":{"gitId":"-"},"content":" \"eslint\": \"^6.2.0 || ^7.0.0 || ^8.0.0\""},{"lineNumber":6258,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6259,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6260,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-vue/node_modules/lru-cache\": {"},{"lineNumber":6261,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":6262,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6263,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6264,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6265,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":6266,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6267,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6268,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6270,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6271,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-vue/node_modules/semver\": {"},{"lineNumber":6272,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":6273,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6274,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6275,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6276,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":6277,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6278,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":6279,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":6280,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6281,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6282,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6283,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6284,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6285,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-vue/node_modules/yallist\": {"},{"lineNumber":6286,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":6287,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6288,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":6289,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6290,"author":{"gitId":"-"},"content":" \"node_modules/eslint-scope\": {"},{"lineNumber":6291,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":6292,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6293,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6294,"author":{"gitId":"-"},"content":" \"esrecurse\": \"^4.3.0\","},{"lineNumber":6295,"author":{"gitId":"-"},"content":" \"estraverse\": \"^4.1.1\""},{"lineNumber":6296,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6297,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6298,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\""},{"lineNumber":6299,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6300,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6301,"author":{"gitId":"-"},"content":" \"node_modules/eslint-utils\": {"},{"lineNumber":6302,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":6303,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6304,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6305,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6306,"author":{"gitId":"-"},"content":" \"eslint-visitor-keys\": \"^2.0.0\""},{"lineNumber":6307,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6308,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6309,"author":{"gitId":"-"},"content":" \"node\": \"^10.0.0 || ^12.0.0 || \u003e\u003d 14.0.0\""},{"lineNumber":6310,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6311,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6312,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/mysticatea\""},{"lineNumber":6313,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6314,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":6315,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d5\""},{"lineNumber":6316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6317,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6318,"author":{"gitId":"-"},"content":" \"node_modules/eslint-visitor-keys\": {"},{"lineNumber":6319,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":6320,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6321,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":6322,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6323,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6325,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6326,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin\": {"},{"lineNumber":6327,"author":{"gitId":"-"},"content":" \"version\": \"3.2.0\","},{"lineNumber":6328,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6329,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6330,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6331,"author":{"gitId":"-"},"content":" \"@types/eslint\": \"^7.29.0 || ^8.4.1\","},{"lineNumber":6332,"author":{"gitId":"-"},"content":" \"jest-worker\": \"^28.0.2\","},{"lineNumber":6333,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.5\","},{"lineNumber":6334,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\","},{"lineNumber":6335,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\""},{"lineNumber":6336,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6337,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6338,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":6339,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6340,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6341,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":6342,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":6343,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6344,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":6345,"author":{"gitId":"-"},"content":" \"eslint\": \"^7.0.0 || ^8.0.0\","},{"lineNumber":6346,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":6347,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6348,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6349,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/ajv\": {"},{"lineNumber":6350,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":6351,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6352,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6353,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6354,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":6355,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":6356,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":6357,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":6358,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6359,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6360,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":6361,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":6362,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6363,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6364,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/ajv-keywords\": {"},{"lineNumber":6365,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":6366,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6367,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6368,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6369,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\""},{"lineNumber":6370,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6371,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":6372,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\""},{"lineNumber":6373,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6374,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6375,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/has-flag\": {"},{"lineNumber":6376,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":6377,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6378,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6379,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6380,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":6381,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6382,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6383,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/jest-worker\": {"},{"lineNumber":6384,"author":{"gitId":"-"},"content":" \"version\": \"28.1.3\","},{"lineNumber":6385,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6386,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6387,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6388,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\","},{"lineNumber":6389,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\","},{"lineNumber":6390,"author":{"gitId":"-"},"content":" \"supports-color\": \"^8.0.0\""},{"lineNumber":6391,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6392,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6393,"author":{"gitId":"-"},"content":" \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || \u003e\u003d17.0.0\""},{"lineNumber":6394,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6395,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6396,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse\": {"},{"lineNumber":6397,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":6398,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6399,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6400,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6401,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/schema-utils\": {"},{"lineNumber":6402,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":6403,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6404,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6405,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6406,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\","},{"lineNumber":6407,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\","},{"lineNumber":6408,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\","},{"lineNumber":6409,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\""},{"lineNumber":6410,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6411,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6412,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":6413,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6414,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6415,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":6416,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":6417,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6418,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6419,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/supports-color\": {"},{"lineNumber":6420,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\","},{"lineNumber":6421,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6422,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6423,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6424,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":6425,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6426,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6427,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6428,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6429,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6430,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\""},{"lineNumber":6431,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6432,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6433,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/ansi-styles\": {"},{"lineNumber":6434,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":6435,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6436,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6437,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6438,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":6439,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6440,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6441,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":6442,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6443,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6444,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":6445,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6446,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6447,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/brace-expansion\": {"},{"lineNumber":6448,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":6449,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6450,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6451,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6452,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":6453,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":6454,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6455,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6456,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/chalk\": {"},{"lineNumber":6457,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":6458,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6459,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6460,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6461,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":6462,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":6463,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6464,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6465,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6466,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6467,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6468,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":6469,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6470,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6471,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/color-convert\": {"},{"lineNumber":6472,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":6473,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6474,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6475,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6476,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":6477,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6478,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6479,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":6480,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6481,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6482,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/color-name\": {"},{"lineNumber":6483,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":6484,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6485,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6486,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6487,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/escape-string-regexp\": {"},{"lineNumber":6488,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":6489,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6490,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6491,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6492,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6493,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6494,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6495,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":6496,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6497,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6498,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/eslint-scope\": {"},{"lineNumber":6499,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.2\","},{"lineNumber":6500,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6501,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6502,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6503,"author":{"gitId":"-"},"content":" \"esrecurse\": \"^4.3.0\","},{"lineNumber":6504,"author":{"gitId":"-"},"content":" \"estraverse\": \"^5.2.0\""},{"lineNumber":6505,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6506,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6507,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":6508,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":6509,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":6510,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":6511,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6512,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6513,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/eslint-visitor-keys\": {"},{"lineNumber":6514,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\","},{"lineNumber":6515,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6516,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":6517,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6518,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":6519,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":6520,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":6521,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":6522,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6523,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6524,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/estraverse\": {"},{"lineNumber":6525,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\","},{"lineNumber":6526,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6527,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6528,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6529,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\""},{"lineNumber":6530,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6531,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6532,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/globals\": {"},{"lineNumber":6533,"author":{"gitId":"-"},"content":" \"version\": \"13.20.0\","},{"lineNumber":6534,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6535,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6536,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6537,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.20.2\""},{"lineNumber":6538,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6539,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6540,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":6541,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6542,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6543,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":6544,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6545,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6546,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/has-flag\": {"},{"lineNumber":6547,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":6548,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6549,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6550,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6551,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":6552,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6553,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6554,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/minimatch\": {"},{"lineNumber":6555,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":6556,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6557,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6558,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6559,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":6560,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6561,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6562,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":6563,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6564,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6565,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/supports-color\": {"},{"lineNumber":6566,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":6567,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6568,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6569,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6570,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":6571,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6572,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6573,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":6574,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6575,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6576,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/type-fest\": {"},{"lineNumber":6577,"author":{"gitId":"-"},"content":" \"version\": \"0.20.2\","},{"lineNumber":6578,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6579,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR CC0-1.0)\","},{"lineNumber":6580,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6581,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6582,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6583,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6584,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":6585,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6586,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6587,"author":{"gitId":"-"},"content":" \"node_modules/espree\": {"},{"lineNumber":6588,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.6.1\","},{"lineNumber":6589,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6590,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6591,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6592,"author":{"gitId":"sopa301"},"content":" \"acorn\": \"^8.9.0\","},{"lineNumber":6593,"author":{"gitId":"-"},"content":" \"acorn-jsx\": \"^5.3.2\","},{"lineNumber":6594,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.4.1\""},{"lineNumber":6595,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6596,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6597,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":6598,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6599,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6600,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":6601,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6602,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6603,"author":{"gitId":"-"},"content":" \"node_modules/espree/node_modules/eslint-visitor-keys\": {"},{"lineNumber":6604,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\","},{"lineNumber":6605,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6606,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":6607,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6608,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":6609,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":6610,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":6611,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":6612,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6613,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6614,"author":{"gitId":"-"},"content":" \"node_modules/esquery\": {"},{"lineNumber":6615,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.0\","},{"lineNumber":6616,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6617,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":6618,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6619,"author":{"gitId":"-"},"content":" \"estraverse\": \"^5.1.0\""},{"lineNumber":6620,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6621,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6622,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10\""},{"lineNumber":6623,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6624,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6625,"author":{"gitId":"-"},"content":" \"node_modules/esquery/node_modules/estraverse\": {"},{"lineNumber":6626,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\","},{"lineNumber":6627,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6628,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6629,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6630,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\""},{"lineNumber":6631,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6632,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6633,"author":{"gitId":"-"},"content":" \"node_modules/esrecurse\": {"},{"lineNumber":6634,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":6635,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6636,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6637,"author":{"gitId":"-"},"content":" \"estraverse\": \"^5.2.0\""},{"lineNumber":6638,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6639,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6640,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\""},{"lineNumber":6641,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6642,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6643,"author":{"gitId":"-"},"content":" \"node_modules/esrecurse/node_modules/estraverse\": {"},{"lineNumber":6644,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\","},{"lineNumber":6645,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6646,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6647,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\""},{"lineNumber":6648,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6649,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6650,"author":{"gitId":"-"},"content":" \"node_modules/estraverse\": {"},{"lineNumber":6651,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":6652,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6653,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6654,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\""},{"lineNumber":6655,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6656,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6657,"author":{"gitId":"-"},"content":" \"node_modules/estree-walker\": {"},{"lineNumber":6658,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\","},{"lineNumber":6659,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6660,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6661,"author":{"gitId":"-"},"content":" \"node_modules/esutils\": {"},{"lineNumber":6662,"author":{"gitId":"-"},"content":" \"version\": \"2.0.3\","},{"lineNumber":6663,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6664,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6665,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":6666,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6667,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6668,"author":{"gitId":"-"},"content":" \"node_modules/etag\": {"},{"lineNumber":6669,"author":{"gitId":"-"},"content":" \"version\": \"1.8.1\","},{"lineNumber":6670,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6671,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6672,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6673,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":6674,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6675,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6676,"author":{"gitId":"-"},"content":" \"node_modules/event-pubsub\": {"},{"lineNumber":6677,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":6678,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6679,"author":{"gitId":"sopa301"},"content":" \"license\": \"Unlicense\","},{"lineNumber":6680,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6681,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0.0\""},{"lineNumber":6682,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6683,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6684,"author":{"gitId":"-"},"content":" \"node_modules/eventemitter3\": {"},{"lineNumber":6685,"author":{"gitId":"-"},"content":" \"version\": \"4.0.7\","},{"lineNumber":6686,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6687,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6688,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6689,"author":{"gitId":"-"},"content":" \"node_modules/events\": {"},{"lineNumber":6690,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\","},{"lineNumber":6691,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6692,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6693,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.x\""},{"lineNumber":6694,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6695,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6696,"author":{"gitId":"-"},"content":" \"node_modules/execa\": {"},{"lineNumber":6697,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":6698,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6699,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6700,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6701,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^6.0.0\","},{"lineNumber":6702,"author":{"gitId":"-"},"content":" \"get-stream\": \"^4.0.0\","},{"lineNumber":6703,"author":{"gitId":"-"},"content":" \"is-stream\": \"^1.1.0\","},{"lineNumber":6704,"author":{"gitId":"-"},"content":" \"npm-run-path\": \"^2.0.0\","},{"lineNumber":6705,"author":{"gitId":"-"},"content":" \"p-finally\": \"^1.0.0\","},{"lineNumber":6706,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.0\","},{"lineNumber":6707,"author":{"gitId":"-"},"content":" \"strip-eof\": \"^1.0.0\""},{"lineNumber":6708,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6709,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6710,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":6711,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6712,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6713,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/cross-spawn\": {"},{"lineNumber":6714,"author":{"gitId":"-"},"content":" \"version\": \"6.0.5\","},{"lineNumber":6715,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6716,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6717,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6718,"author":{"gitId":"-"},"content":" \"nice-try\": \"^1.0.4\","},{"lineNumber":6719,"author":{"gitId":"-"},"content":" \"path-key\": \"^2.0.1\","},{"lineNumber":6720,"author":{"gitId":"-"},"content":" \"semver\": \"^5.5.0\","},{"lineNumber":6721,"author":{"gitId":"-"},"content":" \"shebang-command\": \"^1.2.0\","},{"lineNumber":6722,"author":{"gitId":"-"},"content":" \"which\": \"^1.2.9\""},{"lineNumber":6723,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6724,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6725,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.8\""},{"lineNumber":6726,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6727,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6728,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/path-key\": {"},{"lineNumber":6729,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":6730,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6731,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6732,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6733,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":6734,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6735,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6736,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/semver\": {"},{"lineNumber":6737,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.7.2\","},{"lineNumber":6738,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6739,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6740,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":6741,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver\""},{"lineNumber":6742,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6743,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6744,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/shebang-command\": {"},{"lineNumber":6745,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":6746,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6747,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6748,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6749,"author":{"gitId":"-"},"content":" \"shebang-regex\": \"^1.0.0\""},{"lineNumber":6750,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6751,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6752,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":6753,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6754,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6755,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/shebang-regex\": {"},{"lineNumber":6756,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":6757,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6758,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6759,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6760,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":6761,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6762,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6763,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/which\": {"},{"lineNumber":6764,"author":{"gitId":"-"},"content":" \"version\": \"1.3.1\","},{"lineNumber":6765,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6766,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6767,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6768,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\""},{"lineNumber":6769,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6770,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":6771,"author":{"gitId":"-"},"content":" \"which\": \"bin/which\""},{"lineNumber":6772,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6773,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6774,"author":{"gitId":"-"},"content":" \"node_modules/express\": {"},{"lineNumber":6775,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.19.2\","},{"lineNumber":6776,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/express/-/express-4.19.2.tgz\","},{"lineNumber":6777,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q\u003d\u003d\","},{"lineNumber":6778,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6779,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6780,"author":{"gitId":"-"},"content":" \"accepts\": \"~1.3.8\","},{"lineNumber":6781,"author":{"gitId":"-"},"content":" \"array-flatten\": \"1.1.1\","},{"lineNumber":6782,"author":{"gitId":"sopa301"},"content":" \"body-parser\": \"1.20.2\","},{"lineNumber":6783,"author":{"gitId":"-"},"content":" \"content-disposition\": \"0.5.4\","},{"lineNumber":6784,"author":{"gitId":"-"},"content":" \"content-type\": \"~1.0.4\","},{"lineNumber":6785,"author":{"gitId":"sopa301"},"content":" \"cookie\": \"0.6.0\","},{"lineNumber":6786,"author":{"gitId":"-"},"content":" \"cookie-signature\": \"1.0.6\","},{"lineNumber":6787,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\","},{"lineNumber":6788,"author":{"gitId":"-"},"content":" \"depd\": \"2.0.0\","},{"lineNumber":6789,"author":{"gitId":"-"},"content":" \"encodeurl\": \"~1.0.2\","},{"lineNumber":6790,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\","},{"lineNumber":6791,"author":{"gitId":"-"},"content":" \"etag\": \"~1.8.1\","},{"lineNumber":6792,"author":{"gitId":"-"},"content":" \"finalhandler\": \"1.2.0\","},{"lineNumber":6793,"author":{"gitId":"-"},"content":" \"fresh\": \"0.5.2\","},{"lineNumber":6794,"author":{"gitId":"-"},"content":" \"http-errors\": \"2.0.0\","},{"lineNumber":6795,"author":{"gitId":"-"},"content":" \"merge-descriptors\": \"1.0.1\","},{"lineNumber":6796,"author":{"gitId":"-"},"content":" \"methods\": \"~1.1.2\","},{"lineNumber":6797,"author":{"gitId":"-"},"content":" \"on-finished\": \"2.4.1\","},{"lineNumber":6798,"author":{"gitId":"-"},"content":" \"parseurl\": \"~1.3.3\","},{"lineNumber":6799,"author":{"gitId":"-"},"content":" \"path-to-regexp\": \"0.1.7\","},{"lineNumber":6800,"author":{"gitId":"-"},"content":" \"proxy-addr\": \"~2.0.7\","},{"lineNumber":6801,"author":{"gitId":"-"},"content":" \"qs\": \"6.11.0\","},{"lineNumber":6802,"author":{"gitId":"-"},"content":" \"range-parser\": \"~1.2.1\","},{"lineNumber":6803,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"5.2.1\","},{"lineNumber":6804,"author":{"gitId":"-"},"content":" \"send\": \"0.18.0\","},{"lineNumber":6805,"author":{"gitId":"-"},"content":" \"serve-static\": \"1.15.0\","},{"lineNumber":6806,"author":{"gitId":"-"},"content":" \"setprototypeof\": \"1.2.0\","},{"lineNumber":6807,"author":{"gitId":"-"},"content":" \"statuses\": \"2.0.1\","},{"lineNumber":6808,"author":{"gitId":"-"},"content":" \"type-is\": \"~1.6.18\","},{"lineNumber":6809,"author":{"gitId":"-"},"content":" \"utils-merge\": \"1.0.1\","},{"lineNumber":6810,"author":{"gitId":"-"},"content":" \"vary\": \"~1.1.2\""},{"lineNumber":6811,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6812,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6813,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10.0\""},{"lineNumber":6814,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6815,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6816,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/array-flatten\": {"},{"lineNumber":6817,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\","},{"lineNumber":6818,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6819,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6820,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6821,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/debug\": {"},{"lineNumber":6822,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\","},{"lineNumber":6823,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6824,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6825,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6826,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\""},{"lineNumber":6827,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6828,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6829,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/depd\": {"},{"lineNumber":6830,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":6831,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6832,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6833,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6834,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":6835,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6836,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6837,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/ms\": {"},{"lineNumber":6838,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":6839,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6840,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6841,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6842,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/safe-buffer\": {"},{"lineNumber":6843,"author":{"gitId":"-"},"content":" \"version\": \"5.2.1\","},{"lineNumber":6844,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6845,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":6846,"author":{"gitId":"-"},"content":" {"},{"lineNumber":6847,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":6848,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":6849,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6850,"author":{"gitId":"-"},"content":" {"},{"lineNumber":6851,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":6852,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":6853,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6854,"author":{"gitId":"-"},"content":" {"},{"lineNumber":6855,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":6856,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":6857,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6858,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":6859,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6860,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6861,"author":{"gitId":"-"},"content":" \"node_modules/fast-deep-equal\": {"},{"lineNumber":6862,"author":{"gitId":"-"},"content":" \"version\": \"3.1.3\","},{"lineNumber":6863,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6864,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6865,"author":{"gitId":"-"},"content":" \"node_modules/fast-glob\": {"},{"lineNumber":6866,"author":{"gitId":"-"},"content":" \"version\": \"3.2.12\","},{"lineNumber":6867,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6868,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6869,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6870,"author":{"gitId":"-"},"content":" \"@nodelib/fs.stat\": \"^2.0.2\","},{"lineNumber":6871,"author":{"gitId":"-"},"content":" \"@nodelib/fs.walk\": \"^1.2.3\","},{"lineNumber":6872,"author":{"gitId":"-"},"content":" \"glob-parent\": \"^5.1.2\","},{"lineNumber":6873,"author":{"gitId":"-"},"content":" \"merge2\": \"^1.3.0\","},{"lineNumber":6874,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.4\""},{"lineNumber":6875,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6876,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6877,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.6.0\""},{"lineNumber":6878,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6879,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6880,"author":{"gitId":"-"},"content":" \"node_modules/fast-glob/node_modules/glob-parent\": {"},{"lineNumber":6881,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\","},{"lineNumber":6882,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6883,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6884,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6885,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.1\""},{"lineNumber":6886,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6887,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6888,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":6889,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6890,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6891,"author":{"gitId":"-"},"content":" \"node_modules/fast-json-stable-stringify\": {"},{"lineNumber":6892,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":6893,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6894,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6895,"author":{"gitId":"-"},"content":" \"node_modules/fast-levenshtein\": {"},{"lineNumber":6896,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\","},{"lineNumber":6897,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6898,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6899,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6900,"author":{"gitId":"-"},"content":" \"node_modules/fastest-levenshtein\": {"},{"lineNumber":6901,"author":{"gitId":"-"},"content":" \"version\": \"1.0.16\","},{"lineNumber":6902,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6903,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6904,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6905,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4.9.1\""},{"lineNumber":6906,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6907,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6908,"author":{"gitId":"-"},"content":" \"node_modules/fastq\": {"},{"lineNumber":6909,"author":{"gitId":"-"},"content":" \"version\": \"1.15.0\","},{"lineNumber":6910,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6911,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6912,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6913,"author":{"gitId":"-"},"content":" \"reusify\": \"^1.0.4\""},{"lineNumber":6914,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6915,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6916,"author":{"gitId":"-"},"content":" \"node_modules/faye-websocket\": {"},{"lineNumber":6917,"author":{"gitId":"-"},"content":" \"version\": \"0.11.4\","},{"lineNumber":6918,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6919,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":6920,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6921,"author":{"gitId":"-"},"content":" \"websocket-driver\": \"\u003e\u003d0.5.1\""},{"lineNumber":6922,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6923,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6924,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.0\""},{"lineNumber":6925,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6926,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6927,"author":{"gitId":"-"},"content":" \"node_modules/figures\": {"},{"lineNumber":6928,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":6929,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6930,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6931,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6932,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": \"^1.0.5\""},{"lineNumber":6933,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6934,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6935,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":6936,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6937,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6938,"author":{"gitId":"-"},"content":" \"node_modules/file-entry-cache\": {"},{"lineNumber":6939,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\","},{"lineNumber":6940,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6941,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6942,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6943,"author":{"gitId":"-"},"content":" \"flat-cache\": \"^3.0.4\""},{"lineNumber":6944,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6945,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6946,"author":{"gitId":"-"},"content":" \"node\": \"^10.12.0 || \u003e\u003d12.0.0\""},{"lineNumber":6947,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6948,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6949,"author":{"gitId":"-"},"content":" \"node_modules/fill-range\": {"},{"lineNumber":6950,"author":{"gitId":"-"},"content":" \"version\": \"7.0.1\","},{"lineNumber":6951,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6952,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6953,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6954,"author":{"gitId":"-"},"content":" \"to-regex-range\": \"^5.0.1\""},{"lineNumber":6955,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6956,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6957,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":6958,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6959,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6960,"author":{"gitId":"-"},"content":" \"node_modules/finalhandler\": {"},{"lineNumber":6961,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":6962,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6963,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6964,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6965,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\","},{"lineNumber":6966,"author":{"gitId":"-"},"content":" \"encodeurl\": \"~1.0.2\","},{"lineNumber":6967,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\","},{"lineNumber":6968,"author":{"gitId":"-"},"content":" \"on-finished\": \"2.4.1\","},{"lineNumber":6969,"author":{"gitId":"-"},"content":" \"parseurl\": \"~1.3.3\","},{"lineNumber":6970,"author":{"gitId":"-"},"content":" \"statuses\": \"2.0.1\","},{"lineNumber":6971,"author":{"gitId":"-"},"content":" \"unpipe\": \"~1.0.0\""},{"lineNumber":6972,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6973,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6974,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":6975,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6976,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6977,"author":{"gitId":"-"},"content":" \"node_modules/finalhandler/node_modules/debug\": {"},{"lineNumber":6978,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\","},{"lineNumber":6979,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6980,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6981,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6982,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\""},{"lineNumber":6983,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6984,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6985,"author":{"gitId":"-"},"content":" \"node_modules/finalhandler/node_modules/ms\": {"},{"lineNumber":6986,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":6987,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6988,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6989,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6990,"author":{"gitId":"-"},"content":" \"node_modules/find-cache-dir\": {"},{"lineNumber":6991,"author":{"gitId":"-"},"content":" \"version\": \"3.3.2\","},{"lineNumber":6992,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6993,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6994,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6995,"author":{"gitId":"-"},"content":" \"commondir\": \"^1.0.1\","},{"lineNumber":6996,"author":{"gitId":"-"},"content":" \"make-dir\": \"^3.0.2\","},{"lineNumber":6997,"author":{"gitId":"-"},"content":" \"pkg-dir\": \"^4.1.0\""},{"lineNumber":6998,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6999,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7000,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":7001,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7002,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7003,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/avajs/find-cache-dir?sponsor\u003d1\""},{"lineNumber":7004,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7005,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7006,"author":{"gitId":"-"},"content":" \"node_modules/find-line-column\": {"},{"lineNumber":7007,"author":{"gitId":"-"},"content":" \"version\": \"0.5.2\","},{"lineNumber":7008,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7009,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7010,"author":{"gitId":"-"},"content":" \"node_modules/find-up\": {"},{"lineNumber":7011,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":7012,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7013,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7014,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7015,"author":{"gitId":"-"},"content":" \"locate-path\": \"^6.0.0\","},{"lineNumber":7016,"author":{"gitId":"-"},"content":" \"path-exists\": \"^4.0.0\""},{"lineNumber":7017,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7018,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7019,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7020,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7021,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7022,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":7023,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7024,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7025,"author":{"gitId":"-"},"content":" \"node_modules/flat-cache\": {"},{"lineNumber":7026,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\","},{"lineNumber":7027,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7028,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7029,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7030,"author":{"gitId":"-"},"content":" \"flatted\": \"^3.1.0\","},{"lineNumber":7031,"author":{"gitId":"-"},"content":" \"rimraf\": \"^3.0.2\""},{"lineNumber":7032,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7033,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7034,"author":{"gitId":"-"},"content":" \"node\": \"^10.12.0 || \u003e\u003d12.0.0\""},{"lineNumber":7035,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7036,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7037,"author":{"gitId":"-"},"content":" \"node_modules/flatted\": {"},{"lineNumber":7038,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\","},{"lineNumber":7039,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7040,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":7041,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7042,"author":{"gitId":"-"},"content":" \"node_modules/follow-redirects\": {"},{"lineNumber":7043,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.15.6\","},{"lineNumber":7044,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz\","},{"lineNumber":7045,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA\u003d\u003d\","},{"lineNumber":7046,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7047,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":7048,"author":{"gitId":"-"},"content":" {"},{"lineNumber":7049,"author":{"gitId":"-"},"content":" \"type\": \"individual\","},{"lineNumber":7050,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/RubenVerborgh\""},{"lineNumber":7051,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7052,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":7053,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7054,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\""},{"lineNumber":7055,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7056,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":7057,"author":{"gitId":"-"},"content":" \"debug\": {"},{"lineNumber":7058,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":7059,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7060,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7061,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7062,"author":{"gitId":"-"},"content":" \"node_modules/for-each\": {"},{"lineNumber":7063,"author":{"gitId":"-"},"content":" \"version\": \"0.3.3\","},{"lineNumber":7064,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7065,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7066,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7067,"author":{"gitId":"-"},"content":" \"is-callable\": \"^1.1.3\""},{"lineNumber":7068,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7069,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7070,"author":{"gitId":"-"},"content":" \"node_modules/foreachasync\": {"},{"lineNumber":7071,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":7072,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache2\""},{"lineNumber":7073,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7074,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin\": {"},{"lineNumber":7075,"author":{"gitId":"-"},"content":" \"version\": \"6.5.2\","},{"lineNumber":7076,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7077,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7078,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7079,"author":{"gitId":"-"},"content":" \"@babel/code-frame\": \"^7.8.3\","},{"lineNumber":7080,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.5\","},{"lineNumber":7081,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":7082,"author":{"gitId":"-"},"content":" \"chokidar\": \"^3.4.2\","},{"lineNumber":7083,"author":{"gitId":"-"},"content":" \"cosmiconfig\": \"^6.0.0\","},{"lineNumber":7084,"author":{"gitId":"-"},"content":" \"deepmerge\": \"^4.2.2\","},{"lineNumber":7085,"author":{"gitId":"-"},"content":" \"fs-extra\": \"^9.0.0\","},{"lineNumber":7086,"author":{"gitId":"-"},"content":" \"glob\": \"^7.1.6\","},{"lineNumber":7087,"author":{"gitId":"-"},"content":" \"memfs\": \"^3.1.2\","},{"lineNumber":7088,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.0.4\","},{"lineNumber":7089,"author":{"gitId":"-"},"content":" \"schema-utils\": \"2.7.0\","},{"lineNumber":7090,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.2\","},{"lineNumber":7091,"author":{"gitId":"-"},"content":" \"tapable\": \"^1.0.0\""},{"lineNumber":7092,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7093,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7094,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\","},{"lineNumber":7095,"author":{"gitId":"-"},"content":" \"yarn\": \"\u003e\u003d1.0.0\""},{"lineNumber":7096,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7097,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":7098,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d 6\","},{"lineNumber":7099,"author":{"gitId":"-"},"content":" \"typescript\": \"\u003e\u003d 2.7\","},{"lineNumber":7100,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": \"*\","},{"lineNumber":7101,"author":{"gitId":"-"},"content":" \"webpack\": \"\u003e\u003d 4\""},{"lineNumber":7102,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7103,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":7104,"author":{"gitId":"-"},"content":" \"eslint\": {"},{"lineNumber":7105,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":7106,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7107,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": {"},{"lineNumber":7108,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":7109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7111,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7112,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles\": {"},{"lineNumber":7113,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":7114,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7115,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7116,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7117,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":7118,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7119,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7120,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":7121,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7122,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7123,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":7124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7125,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7126,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/brace-expansion\": {"},{"lineNumber":7127,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":7128,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7129,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7130,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7131,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":7132,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":7133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7134,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7135,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk\": {"},{"lineNumber":7136,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":7137,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7138,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7139,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7140,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":7141,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":7142,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7143,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7144,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7145,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7146,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7147,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":7148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7149,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7150,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert\": {"},{"lineNumber":7151,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":7152,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7153,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7154,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7155,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":7156,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7157,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7158,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":7159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7161,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name\": {"},{"lineNumber":7162,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":7163,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7164,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7165,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7166,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag\": {"},{"lineNumber":7167,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":7168,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7169,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7170,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7171,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":7172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7173,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7174,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache\": {"},{"lineNumber":7175,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":7176,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7177,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7178,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7179,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":7180,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7181,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7182,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7184,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7185,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/minimatch\": {"},{"lineNumber":7186,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":7187,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7188,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7189,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7190,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":7191,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7192,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7193,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":7194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7195,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7196,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils\": {"},{"lineNumber":7197,"author":{"gitId":"-"},"content":" \"version\": \"2.7.0\","},{"lineNumber":7198,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7199,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7200,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7201,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.4\","},{"lineNumber":7202,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.2\","},{"lineNumber":7203,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.4.1\""},{"lineNumber":7204,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7205,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7206,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8.9.0\""},{"lineNumber":7207,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7208,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7209,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":7210,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":7211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7212,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7213,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/semver\": {"},{"lineNumber":7214,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":7215,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7216,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7217,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7218,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":7219,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7220,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":7221,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":7222,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7223,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7224,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7226,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7227,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color\": {"},{"lineNumber":7228,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":7229,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7230,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7231,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7232,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":7233,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7234,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7235,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":7236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7237,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7238,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist\": {"},{"lineNumber":7239,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":7240,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7241,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":7242,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7243,"author":{"gitId":"-"},"content":" \"node_modules/forwarded\": {"},{"lineNumber":7244,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\","},{"lineNumber":7245,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7246,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7247,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7248,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":7249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7250,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7251,"author":{"gitId":"-"},"content":" \"node_modules/fraction.js\": {"},{"lineNumber":7252,"author":{"gitId":"-"},"content":" \"version\": \"4.2.0\","},{"lineNumber":7253,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7254,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7255,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7256,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":7257,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7258,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7259,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":7260,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/infusion\""},{"lineNumber":7261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7262,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7263,"author":{"gitId":"-"},"content":" \"node_modules/fresh\": {"},{"lineNumber":7264,"author":{"gitId":"-"},"content":" \"version\": \"0.5.2\","},{"lineNumber":7265,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7266,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7267,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7268,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":7269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7270,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7271,"author":{"gitId":"-"},"content":" \"node_modules/fs-extra\": {"},{"lineNumber":7272,"author":{"gitId":"-"},"content":" \"version\": \"9.1.0\","},{"lineNumber":7273,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7274,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7275,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7276,"author":{"gitId":"-"},"content":" \"at-least-node\": \"^1.0.0\","},{"lineNumber":7277,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.0\","},{"lineNumber":7278,"author":{"gitId":"-"},"content":" \"jsonfile\": \"^6.0.1\","},{"lineNumber":7279,"author":{"gitId":"-"},"content":" \"universalify\": \"^2.0.0\""},{"lineNumber":7280,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7281,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7282,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7283,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7284,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7285,"author":{"gitId":"-"},"content":" \"node_modules/fs-monkey\": {"},{"lineNumber":7286,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":7287,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7288,"author":{"gitId":"sopa301"},"content":" \"license\": \"Unlicense\""},{"lineNumber":7289,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7290,"author":{"gitId":"-"},"content":" \"node_modules/fs.realpath\": {"},{"lineNumber":7291,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":7292,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":7293,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7294,"author":{"gitId":"-"},"content":" \"node_modules/function-bind\": {"},{"lineNumber":7295,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.2\","},{"lineNumber":7296,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7297,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":7298,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7299,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":7300,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7301,"author":{"gitId":"-"},"content":" \"node_modules/function.prototype.name\": {"},{"lineNumber":7302,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.6\","},{"lineNumber":7303,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7304,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7305,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7306,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":7307,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":7308,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\","},{"lineNumber":7309,"author":{"gitId":"sopa301"},"content":" \"functions-have-names\": \"^1.2.3\""},{"lineNumber":7310,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7311,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7312,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7313,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7314,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7315,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7317,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7318,"author":{"gitId":"-"},"content":" \"node_modules/functions-have-names\": {"},{"lineNumber":7319,"author":{"gitId":"-"},"content":" \"version\": \"1.2.3\","},{"lineNumber":7320,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7321,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7322,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7323,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7325,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7326,"author":{"gitId":"-"},"content":" \"node_modules/gensync\": {"},{"lineNumber":7327,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0-beta.2\","},{"lineNumber":7328,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7329,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7330,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7331,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":7332,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7333,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7334,"author":{"gitId":"-"},"content":" \"node_modules/get-caller-file\": {"},{"lineNumber":7335,"author":{"gitId":"-"},"content":" \"version\": \"2.0.5\","},{"lineNumber":7336,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7337,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7338,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7339,"author":{"gitId":"-"},"content":" \"node\": \"6.* || 8.* || \u003e\u003d 10.*\""},{"lineNumber":7340,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7341,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7342,"author":{"gitId":"-"},"content":" \"node_modules/get-intrinsic\": {"},{"lineNumber":7343,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.4\","},{"lineNumber":7344,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7345,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7346,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":7347,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.2\","},{"lineNumber":7348,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.1\","},{"lineNumber":7349,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\","},{"lineNumber":7350,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\""},{"lineNumber":7351,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":7352,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":7353,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7354,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7355,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7356,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7357,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7358,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7359,"author":{"gitId":"-"},"content":" \"node_modules/get-stream\": {"},{"lineNumber":7360,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":7361,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7362,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7363,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7364,"author":{"gitId":"-"},"content":" \"pump\": \"^3.0.0\""},{"lineNumber":7365,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7366,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7367,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":7368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7369,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7370,"author":{"gitId":"-"},"content":" \"node_modules/get-symbol-description\": {"},{"lineNumber":7371,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":7372,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7373,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7374,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7375,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\","},{"lineNumber":7376,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":7377,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\""},{"lineNumber":7378,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7379,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7380,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7381,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7382,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7383,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7385,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7386,"author":{"gitId":"-"},"content":" \"node_modules/glob\": {"},{"lineNumber":7387,"author":{"gitId":"-"},"content":" \"version\": \"7.2.3\","},{"lineNumber":7388,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7389,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7390,"author":{"gitId":"-"},"content":" \"fs.realpath\": \"^1.0.0\","},{"lineNumber":7391,"author":{"gitId":"-"},"content":" \"inflight\": \"^1.0.4\","},{"lineNumber":7392,"author":{"gitId":"-"},"content":" \"inherits\": \"2\","},{"lineNumber":7393,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.1\","},{"lineNumber":7394,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.0\","},{"lineNumber":7395,"author":{"gitId":"-"},"content":" \"path-is-absolute\": \"^1.0.0\""},{"lineNumber":7396,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7397,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7398,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":7399,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7400,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7401,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/isaacs\""},{"lineNumber":7402,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7403,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7404,"author":{"gitId":"-"},"content":" \"node_modules/glob-parent\": {"},{"lineNumber":7405,"author":{"gitId":"-"},"content":" \"version\": \"6.0.2\","},{"lineNumber":7406,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7407,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7408,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7409,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.3\""},{"lineNumber":7410,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7411,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7412,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":7413,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7414,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7415,"author":{"gitId":"-"},"content":" \"node_modules/glob-to-regexp\": {"},{"lineNumber":7416,"author":{"gitId":"-"},"content":" \"version\": \"0.4.1\","},{"lineNumber":7417,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\""},{"lineNumber":7418,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7419,"author":{"gitId":"-"},"content":" \"node_modules/glob/node_modules/brace-expansion\": {"},{"lineNumber":7420,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":7421,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7422,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7423,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":7424,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":7425,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7426,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7427,"author":{"gitId":"-"},"content":" \"node_modules/glob/node_modules/minimatch\": {"},{"lineNumber":7428,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":7429,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7430,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7431,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":7432,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7433,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7434,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":7435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7436,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7437,"author":{"gitId":"-"},"content":" \"node_modules/global-modules\": {"},{"lineNumber":7438,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":7439,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7440,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7441,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7442,"author":{"gitId":"-"},"content":" \"global-prefix\": \"^3.0.0\""},{"lineNumber":7443,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7444,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7445,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":7446,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7447,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7448,"author":{"gitId":"-"},"content":" \"node_modules/global-prefix\": {"},{"lineNumber":7449,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":7450,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7451,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7452,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7453,"author":{"gitId":"-"},"content":" \"ini\": \"^1.3.5\","},{"lineNumber":7454,"author":{"gitId":"-"},"content":" \"kind-of\": \"^6.0.2\","},{"lineNumber":7455,"author":{"gitId":"-"},"content":" \"which\": \"^1.3.1\""},{"lineNumber":7456,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7457,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7458,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":7459,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7460,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7461,"author":{"gitId":"-"},"content":" \"node_modules/global-prefix/node_modules/which\": {"},{"lineNumber":7462,"author":{"gitId":"-"},"content":" \"version\": \"1.3.1\","},{"lineNumber":7463,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7464,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7465,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7466,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\""},{"lineNumber":7467,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7468,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":7469,"author":{"gitId":"-"},"content":" \"which\": \"bin/which\""},{"lineNumber":7470,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7471,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7472,"author":{"gitId":"-"},"content":" \"node_modules/globals\": {"},{"lineNumber":7473,"author":{"gitId":"-"},"content":" \"version\": \"11.12.0\","},{"lineNumber":7474,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7475,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7476,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7477,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":7478,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7479,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7480,"author":{"gitId":"-"},"content":" \"node_modules/globalthis\": {"},{"lineNumber":7481,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":7482,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7483,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7484,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7485,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.1.3\""},{"lineNumber":7486,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7487,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7488,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7489,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7490,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7491,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7492,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7493,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7494,"author":{"gitId":"-"},"content":" \"node_modules/globby\": {"},{"lineNumber":7495,"author":{"gitId":"-"},"content":" \"version\": \"11.1.0\","},{"lineNumber":7496,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7497,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7498,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7499,"author":{"gitId":"-"},"content":" \"array-union\": \"^2.1.0\","},{"lineNumber":7500,"author":{"gitId":"-"},"content":" \"dir-glob\": \"^3.0.1\","},{"lineNumber":7501,"author":{"gitId":"-"},"content":" \"fast-glob\": \"^3.2.9\","},{"lineNumber":7502,"author":{"gitId":"-"},"content":" \"ignore\": \"^5.2.0\","},{"lineNumber":7503,"author":{"gitId":"-"},"content":" \"merge2\": \"^1.4.1\","},{"lineNumber":7504,"author":{"gitId":"-"},"content":" \"slash\": \"^3.0.0\""},{"lineNumber":7505,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7506,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7507,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7508,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7509,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7510,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":7511,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7512,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7513,"author":{"gitId":"-"},"content":" \"node_modules/globjoin\": {"},{"lineNumber":7514,"author":{"gitId":"-"},"content":" \"version\": \"0.1.4\","},{"lineNumber":7515,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7516,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7517,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7518,"author":{"gitId":"-"},"content":" \"node_modules/gopd\": {"},{"lineNumber":7519,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":7520,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7521,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7522,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.1.3\""},{"lineNumber":7523,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7524,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7525,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7526,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7527,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7528,"author":{"gitId":"-"},"content":" \"node_modules/graceful-fs\": {"},{"lineNumber":7529,"author":{"gitId":"-"},"content":" \"version\": \"4.2.10\","},{"lineNumber":7530,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":7531,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7532,"author":{"gitId":"sopa301"},"content":" \"node_modules/graphemer\": {"},{"lineNumber":7533,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.0\","},{"lineNumber":7534,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7535,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7536,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7537,"author":{"gitId":"-"},"content":" \"node_modules/gzip-size\": {"},{"lineNumber":7538,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":7539,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7540,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7541,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7542,"author":{"gitId":"-"},"content":" \"duplexer\": \"^0.1.2\""},{"lineNumber":7543,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7544,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7545,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7546,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7547,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7548,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":7549,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7550,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7551,"author":{"gitId":"-"},"content":" \"node_modules/handle-thing\": {"},{"lineNumber":7552,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":7553,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7554,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7555,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7556,"author":{"gitId":"-"},"content":" \"node_modules/hard-rejection\": {"},{"lineNumber":7557,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":7558,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7559,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7560,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7561,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":7562,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7563,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7564,"author":{"gitId":"-"},"content":" \"node_modules/has-bigints\": {"},{"lineNumber":7565,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":7566,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7567,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7568,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7569,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7570,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7571,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7572,"author":{"gitId":"-"},"content":" \"node_modules/has-flag\": {"},{"lineNumber":7573,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":7574,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7575,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7576,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7577,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":7578,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7579,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7580,"author":{"gitId":"-"},"content":" \"node_modules/has-property-descriptors\": {"},{"lineNumber":7581,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":7582,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7583,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7584,"author":{"gitId":"sopa301"},"content":" \"es-define-property\": \"^1.0.0\""},{"lineNumber":7585,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7586,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7587,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7588,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7589,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7590,"author":{"gitId":"-"},"content":" \"node_modules/has-proto\": {"},{"lineNumber":7591,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\","},{"lineNumber":7592,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7593,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7594,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7595,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7596,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7597,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7598,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7599,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7600,"author":{"gitId":"-"},"content":" \"node_modules/has-symbols\": {"},{"lineNumber":7601,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":7602,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7603,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7604,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7605,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7606,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7607,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7608,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7609,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7610,"author":{"gitId":"-"},"content":" \"node_modules/has-tostringtag\": {"},{"lineNumber":7611,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":7612,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7613,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7614,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\""},{"lineNumber":7615,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7616,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7617,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7618,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7619,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7620,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7621,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7622,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7623,"author":{"gitId":"-"},"content":" \"node_modules/hash-sum\": {"},{"lineNumber":7624,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":7625,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7626,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":7627,"author":{"gitId":"sopa301"},"content":" \"node_modules/hasown\": {"},{"lineNumber":7628,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\","},{"lineNumber":7629,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7630,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":7631,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.2\""},{"lineNumber":7632,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":7633,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":7634,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7635,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":7636,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7637,"author":{"gitId":"-"},"content":" \"node_modules/he\": {"},{"lineNumber":7638,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":7639,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7640,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7641,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":7642,"author":{"gitId":"-"},"content":" \"he\": \"bin/he\""},{"lineNumber":7643,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7644,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7645,"author":{"gitId":"-"},"content":" \"node_modules/highlight.js\": {"},{"lineNumber":7646,"author":{"gitId":"-"},"content":" \"version\": \"10.7.3\","},{"lineNumber":7647,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":7648,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7649,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":7650,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7651,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7652,"author":{"gitId":"-"},"content":" \"node_modules/hosted-git-info\": {"},{"lineNumber":7653,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":7654,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7655,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7656,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7657,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":7658,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7659,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7660,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7661,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7662,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7663,"author":{"gitId":"-"},"content":" \"node_modules/hosted-git-info/node_modules/lru-cache\": {"},{"lineNumber":7664,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":7665,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7666,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7667,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7668,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":7669,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7670,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7671,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7672,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7673,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7674,"author":{"gitId":"-"},"content":" \"node_modules/hosted-git-info/node_modules/yallist\": {"},{"lineNumber":7675,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":7676,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7677,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":7678,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7679,"author":{"gitId":"-"},"content":" \"node_modules/hpack.js\": {"},{"lineNumber":7680,"author":{"gitId":"-"},"content":" \"version\": \"2.1.6\","},{"lineNumber":7681,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7682,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7683,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7684,"author":{"gitId":"-"},"content":" \"inherits\": \"^2.0.1\","},{"lineNumber":7685,"author":{"gitId":"-"},"content":" \"obuf\": \"^1.0.0\","},{"lineNumber":7686,"author":{"gitId":"-"},"content":" \"readable-stream\": \"^2.0.1\","},{"lineNumber":7687,"author":{"gitId":"-"},"content":" \"wbuf\": \"^1.1.0\""},{"lineNumber":7688,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7689,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7690,"author":{"gitId":"-"},"content":" \"node_modules/html-entities\": {"},{"lineNumber":7691,"author":{"gitId":"-"},"content":" \"version\": \"2.3.3\","},{"lineNumber":7692,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7693,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7694,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7695,"author":{"gitId":"-"},"content":" \"node_modules/html-minifier-terser\": {"},{"lineNumber":7696,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\","},{"lineNumber":7697,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7698,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7699,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7700,"author":{"gitId":"-"},"content":" \"camel-case\": \"^4.1.2\","},{"lineNumber":7701,"author":{"gitId":"-"},"content":" \"clean-css\": \"^5.2.2\","},{"lineNumber":7702,"author":{"gitId":"-"},"content":" \"commander\": \"^8.3.0\","},{"lineNumber":7703,"author":{"gitId":"-"},"content":" \"he\": \"^1.2.0\","},{"lineNumber":7704,"author":{"gitId":"-"},"content":" \"param-case\": \"^3.0.4\","},{"lineNumber":7705,"author":{"gitId":"-"},"content":" \"relateurl\": \"^0.2.7\","},{"lineNumber":7706,"author":{"gitId":"-"},"content":" \"terser\": \"^5.10.0\""},{"lineNumber":7707,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7708,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":7709,"author":{"gitId":"-"},"content":" \"html-minifier-terser\": \"cli.js\""},{"lineNumber":7710,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7711,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7712,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12\""},{"lineNumber":7713,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7714,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7715,"author":{"gitId":"-"},"content":" \"node_modules/html-tags\": {"},{"lineNumber":7716,"author":{"gitId":"-"},"content":" \"version\": \"3.2.0\","},{"lineNumber":7717,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7718,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7719,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7720,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":7721,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7722,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7723,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":7724,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7725,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7726,"author":{"gitId":"-"},"content":" \"node_modules/html-webpack-plugin\": {"},{"lineNumber":7727,"author":{"gitId":"-"},"content":" \"version\": \"5.5.0\","},{"lineNumber":7728,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7729,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7730,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7731,"author":{"gitId":"-"},"content":" \"@types/html-minifier-terser\": \"^6.0.0\","},{"lineNumber":7732,"author":{"gitId":"-"},"content":" \"html-minifier-terser\": \"^6.0.2\","},{"lineNumber":7733,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.21\","},{"lineNumber":7734,"author":{"gitId":"-"},"content":" \"pretty-error\": \"^4.0.0\","},{"lineNumber":7735,"author":{"gitId":"-"},"content":" \"tapable\": \"^2.0.0\""},{"lineNumber":7736,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7737,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7738,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":7739,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7740,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7741,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":7742,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/html-webpack-plugin\""},{"lineNumber":7743,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7744,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":7745,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.20.0\""},{"lineNumber":7746,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7747,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7748,"author":{"gitId":"-"},"content":" \"node_modules/html-webpack-plugin/node_modules/tapable\": {"},{"lineNumber":7749,"author":{"gitId":"-"},"content":" \"version\": \"2.2.1\","},{"lineNumber":7750,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7751,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7752,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7753,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":7754,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7755,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7756,"author":{"gitId":"-"},"content":" \"node_modules/htmlparser2\": {"},{"lineNumber":7757,"author":{"gitId":"-"},"content":" \"version\": \"8.0.1\","},{"lineNumber":7758,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":7759,"author":{"gitId":"-"},"content":" \"https://github.com/fb55/htmlparser2?sponsor\u003d1\","},{"lineNumber":7760,"author":{"gitId":"-"},"content":" {"},{"lineNumber":7761,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":7762,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":7763,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7764,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":7765,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7766,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7767,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\","},{"lineNumber":7768,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.2\","},{"lineNumber":7769,"author":{"gitId":"-"},"content":" \"domutils\": \"^3.0.1\","},{"lineNumber":7770,"author":{"gitId":"-"},"content":" \"entities\": \"^4.3.0\""},{"lineNumber":7771,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7772,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7773,"author":{"gitId":"-"},"content":" \"node_modules/http-deceiver\": {"},{"lineNumber":7774,"author":{"gitId":"-"},"content":" \"version\": \"1.2.7\","},{"lineNumber":7775,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7776,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7777,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7778,"author":{"gitId":"-"},"content":" \"node_modules/http-errors\": {"},{"lineNumber":7779,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":7780,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7781,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7782,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7783,"author":{"gitId":"-"},"content":" \"depd\": \"2.0.0\","},{"lineNumber":7784,"author":{"gitId":"-"},"content":" \"inherits\": \"2.0.4\","},{"lineNumber":7785,"author":{"gitId":"-"},"content":" \"setprototypeof\": \"1.2.0\","},{"lineNumber":7786,"author":{"gitId":"-"},"content":" \"statuses\": \"2.0.1\","},{"lineNumber":7787,"author":{"gitId":"-"},"content":" \"toidentifier\": \"1.0.1\""},{"lineNumber":7788,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7789,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7790,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":7791,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7792,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7793,"author":{"gitId":"-"},"content":" \"node_modules/http-errors/node_modules/depd\": {"},{"lineNumber":7794,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":7795,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7796,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7797,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7798,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":7799,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7800,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7801,"author":{"gitId":"-"},"content":" \"node_modules/http-parser-js\": {"},{"lineNumber":7802,"author":{"gitId":"-"},"content":" \"version\": \"0.5.8\","},{"lineNumber":7803,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7804,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7805,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7806,"author":{"gitId":"-"},"content":" \"node_modules/http-proxy\": {"},{"lineNumber":7807,"author":{"gitId":"-"},"content":" \"version\": \"1.18.1\","},{"lineNumber":7808,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7809,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7810,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7811,"author":{"gitId":"-"},"content":" \"eventemitter3\": \"^4.0.0\","},{"lineNumber":7812,"author":{"gitId":"-"},"content":" \"follow-redirects\": \"^1.0.0\","},{"lineNumber":7813,"author":{"gitId":"-"},"content":" \"requires-port\": \"^1.0.0\""},{"lineNumber":7814,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7815,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7816,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\""},{"lineNumber":7817,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7818,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7819,"author":{"gitId":"-"},"content":" \"node_modules/http-proxy-middleware\": {"},{"lineNumber":7820,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\","},{"lineNumber":7821,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7822,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7823,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7824,"author":{"gitId":"-"},"content":" \"@types/http-proxy\": \"^1.17.8\","},{"lineNumber":7825,"author":{"gitId":"-"},"content":" \"http-proxy\": \"^1.18.1\","},{"lineNumber":7826,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.1\","},{"lineNumber":7827,"author":{"gitId":"-"},"content":" \"is-plain-obj\": \"^3.0.0\","},{"lineNumber":7828,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.2\""},{"lineNumber":7829,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7830,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7831,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.0.0\""},{"lineNumber":7832,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7833,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":7834,"author":{"gitId":"-"},"content":" \"@types/express\": \"^4.17.13\""},{"lineNumber":7835,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7836,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":7837,"author":{"gitId":"-"},"content":" \"@types/express\": {"},{"lineNumber":7838,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":7839,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7840,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7841,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7842,"author":{"gitId":"-"},"content":" \"node_modules/http-proxy-middleware/node_modules/is-plain-obj\": {"},{"lineNumber":7843,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":7844,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7845,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7846,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7847,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7848,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7849,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7850,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":7851,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7852,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7853,"author":{"gitId":"-"},"content":" \"node_modules/human-signals\": {"},{"lineNumber":7854,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":7855,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7856,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":7857,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7858,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.17.0\""},{"lineNumber":7859,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7860,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7861,"author":{"gitId":"-"},"content":" \"node_modules/iconv-lite\": {"},{"lineNumber":7862,"author":{"gitId":"-"},"content":" \"version\": \"0.6.3\","},{"lineNumber":7863,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7864,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7865,"author":{"gitId":"-"},"content":" \"optional\": true,"},{"lineNumber":7866,"author":{"gitId":"sopa301"},"content":" \"peer\": true,"},{"lineNumber":7867,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7868,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"\u003e\u003d 2.1.2 \u003c 3.0.0\""},{"lineNumber":7869,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7870,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7871,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":7872,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7873,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7874,"author":{"gitId":"-"},"content":" \"node_modules/icss-utils\": {"},{"lineNumber":7875,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":7876,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7877,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7878,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7879,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\""},{"lineNumber":7880,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7881,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":7882,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\""},{"lineNumber":7883,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7884,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7885,"author":{"gitId":"-"},"content":" \"node_modules/ieee754\": {"},{"lineNumber":7886,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":7887,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7888,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":7889,"author":{"gitId":"-"},"content":" {"},{"lineNumber":7890,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":7891,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":7892,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7893,"author":{"gitId":"-"},"content":" {"},{"lineNumber":7894,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":7895,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":7896,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7897,"author":{"gitId":"-"},"content":" {"},{"lineNumber":7898,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":7899,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":7900,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7901,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":7902,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\""},{"lineNumber":7903,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7904,"author":{"gitId":"-"},"content":" \"node_modules/ignore\": {"},{"lineNumber":7905,"author":{"gitId":"-"},"content":" \"version\": \"5.2.4\","},{"lineNumber":7906,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7907,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7908,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7909,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":7910,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7911,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7912,"author":{"gitId":"-"},"content":" \"node_modules/immediate\": {"},{"lineNumber":7913,"author":{"gitId":"-"},"content":" \"version\": \"3.0.6\","},{"lineNumber":7914,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7915,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7916,"author":{"gitId":"-"},"content":" \"node_modules/immutable\": {"},{"lineNumber":7917,"author":{"gitId":"-"},"content":" \"version\": \"4.2.4\","},{"lineNumber":7918,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7919,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7920,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7921,"author":{"gitId":"-"},"content":" \"node_modules/import-fresh\": {"},{"lineNumber":7922,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\","},{"lineNumber":7923,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7924,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7925,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7926,"author":{"gitId":"-"},"content":" \"parent-module\": \"^1.0.0\","},{"lineNumber":7927,"author":{"gitId":"-"},"content":" \"resolve-from\": \"^4.0.0\""},{"lineNumber":7928,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7929,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7930,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":7931,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7932,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7933,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":7934,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7935,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7936,"author":{"gitId":"-"},"content":" \"node_modules/import-lazy\": {"},{"lineNumber":7937,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":7938,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7939,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7940,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7941,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":7942,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7943,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7944,"author":{"gitId":"-"},"content":" \"node_modules/imurmurhash\": {"},{"lineNumber":7945,"author":{"gitId":"-"},"content":" \"version\": \"0.1.4\","},{"lineNumber":7946,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7947,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7948,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7949,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.19\""},{"lineNumber":7950,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7951,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7952,"author":{"gitId":"-"},"content":" \"node_modules/indent-string\": {"},{"lineNumber":7953,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":7954,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7955,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7956,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7957,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":7958,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7959,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7960,"author":{"gitId":"-"},"content":" \"node_modules/inflight\": {"},{"lineNumber":7961,"author":{"gitId":"-"},"content":" \"version\": \"1.0.6\","},{"lineNumber":7962,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7963,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7964,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.0\","},{"lineNumber":7965,"author":{"gitId":"-"},"content":" \"wrappy\": \"1\""},{"lineNumber":7966,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7967,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7968,"author":{"gitId":"-"},"content":" \"node_modules/inherits\": {"},{"lineNumber":7969,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\","},{"lineNumber":7970,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":7971,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7972,"author":{"gitId":"-"},"content":" \"node_modules/ini\": {"},{"lineNumber":7973,"author":{"gitId":"-"},"content":" \"version\": \"1.3.8\","},{"lineNumber":7974,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7975,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":7976,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7977,"author":{"gitId":"-"},"content":" \"node_modules/internal-slot\": {"},{"lineNumber":7978,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\","},{"lineNumber":7979,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7980,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7981,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7982,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":7983,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\","},{"lineNumber":7984,"author":{"gitId":"-"},"content":" \"side-channel\": \"^1.0.4\""},{"lineNumber":7985,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7986,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7987,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7988,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7989,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7990,"author":{"gitId":"-"},"content":" \"node_modules/ipaddr.js\": {"},{"lineNumber":7991,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":7992,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7993,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7994,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7995,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\""},{"lineNumber":7996,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7997,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7998,"author":{"gitId":"-"},"content":" \"node_modules/is-array-buffer\": {"},{"lineNumber":7999,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.4\","},{"lineNumber":8000,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8001,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8002,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8003,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":8004,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.1\""},{"lineNumber":8005,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8006,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":8007,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8008,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8009,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8010,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8011,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8012,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8013,"author":{"gitId":"-"},"content":" \"node_modules/is-arrayish\": {"},{"lineNumber":8014,"author":{"gitId":"-"},"content":" \"version\": \"0.2.1\","},{"lineNumber":8015,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8016,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8017,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8018,"author":{"gitId":"-"},"content":" \"node_modules/is-bigint\": {"},{"lineNumber":8019,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":8020,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8021,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8022,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8023,"author":{"gitId":"-"},"content":" \"has-bigints\": \"^1.0.1\""},{"lineNumber":8024,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8025,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8026,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8027,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8028,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8029,"author":{"gitId":"-"},"content":" \"node_modules/is-binary-path\": {"},{"lineNumber":8030,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":8031,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8032,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8033,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8034,"author":{"gitId":"-"},"content":" \"binary-extensions\": \"^2.0.0\""},{"lineNumber":8035,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8036,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8037,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8038,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8039,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8040,"author":{"gitId":"-"},"content":" \"node_modules/is-boolean-object\": {"},{"lineNumber":8041,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\","},{"lineNumber":8042,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8043,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8044,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8045,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":8046,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\""},{"lineNumber":8047,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8048,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8049,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8050,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8051,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8052,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8053,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8054,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8055,"author":{"gitId":"-"},"content":" \"node_modules/is-callable\": {"},{"lineNumber":8056,"author":{"gitId":"-"},"content":" \"version\": \"1.2.7\","},{"lineNumber":8057,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8058,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8059,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8060,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8061,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8062,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8063,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8064,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8065,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8066,"author":{"gitId":"-"},"content":" \"node_modules/is-ci\": {"},{"lineNumber":8067,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":8068,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8069,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8070,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8071,"author":{"gitId":"-"},"content":" \"ci-info\": \"^1.5.0\""},{"lineNumber":8072,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8073,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8074,"author":{"gitId":"-"},"content":" \"is-ci\": \"bin.js\""},{"lineNumber":8075,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8076,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8077,"author":{"gitId":"-"},"content":" \"node_modules/is-core-module\": {"},{"lineNumber":8078,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.13.1\","},{"lineNumber":8079,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8080,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8081,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\""},{"lineNumber":8082,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8083,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8084,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8085,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8086,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8087,"author":{"gitId":"-"},"content":" \"node_modules/is-date-object\": {"},{"lineNumber":8088,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\","},{"lineNumber":8089,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8090,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8091,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8092,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\""},{"lineNumber":8093,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8094,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8095,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8096,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8097,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8098,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8099,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8100,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8101,"author":{"gitId":"-"},"content":" \"node_modules/is-docker\": {"},{"lineNumber":8102,"author":{"gitId":"-"},"content":" \"version\": \"2.2.1\","},{"lineNumber":8103,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8104,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8105,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8106,"author":{"gitId":"-"},"content":" \"is-docker\": \"cli.js\""},{"lineNumber":8107,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8108,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8109,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8110,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8111,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8112,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":8113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8114,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8115,"author":{"gitId":"-"},"content":" \"node_modules/is-expression\": {"},{"lineNumber":8116,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":8117,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8118,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8119,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8120,"author":{"gitId":"-"},"content":" \"acorn\": \"^7.1.1\","},{"lineNumber":8121,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.1\""},{"lineNumber":8122,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8123,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8124,"author":{"gitId":"-"},"content":" \"node_modules/is-expression/node_modules/acorn\": {"},{"lineNumber":8125,"author":{"gitId":"-"},"content":" \"version\": \"7.4.1\","},{"lineNumber":8126,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8127,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8128,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8129,"author":{"gitId":"-"},"content":" \"acorn\": \"bin/acorn\""},{"lineNumber":8130,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8131,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8132,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.4.0\""},{"lineNumber":8133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8134,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8135,"author":{"gitId":"-"},"content":" \"node_modules/is-extglob\": {"},{"lineNumber":8136,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\","},{"lineNumber":8137,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8138,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8139,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8140,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":8141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8142,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8143,"author":{"gitId":"-"},"content":" \"node_modules/is-file-esm\": {"},{"lineNumber":8144,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":8145,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8146,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8147,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8148,"author":{"gitId":"-"},"content":" \"read-pkg-up\": \"^7.0.1\""},{"lineNumber":8149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8150,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8151,"author":{"gitId":"-"},"content":" \"node_modules/is-fullwidth-code-point\": {"},{"lineNumber":8152,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":8153,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8154,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8155,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8156,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8157,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8158,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8159,"author":{"gitId":"-"},"content":" \"node_modules/is-glob\": {"},{"lineNumber":8160,"author":{"gitId":"-"},"content":" \"version\": \"4.0.3\","},{"lineNumber":8161,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8162,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8163,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8164,"author":{"gitId":"-"},"content":" \"is-extglob\": \"^2.1.1\""},{"lineNumber":8165,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8166,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8167,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":8168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8169,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8170,"author":{"gitId":"-"},"content":" \"node_modules/is-interactive\": {"},{"lineNumber":8171,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":8172,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8173,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8174,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8175,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8177,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8178,"author":{"gitId":"-"},"content":" \"node_modules/is-negative-zero\": {"},{"lineNumber":8179,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.3\","},{"lineNumber":8180,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8181,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8182,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8183,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8184,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8185,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8186,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8188,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8189,"author":{"gitId":"-"},"content":" \"node_modules/is-number\": {"},{"lineNumber":8190,"author":{"gitId":"-"},"content":" \"version\": \"7.0.0\","},{"lineNumber":8191,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8192,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8193,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8194,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.12.0\""},{"lineNumber":8195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8196,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8197,"author":{"gitId":"-"},"content":" \"node_modules/is-number-object\": {"},{"lineNumber":8198,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\","},{"lineNumber":8199,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8200,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8201,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8202,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\""},{"lineNumber":8203,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8204,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8205,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8207,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8208,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8210,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8211,"author":{"gitId":"-"},"content":" \"node_modules/is-path-inside\": {"},{"lineNumber":8212,"author":{"gitId":"-"},"content":" \"version\": \"3.0.3\","},{"lineNumber":8213,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8214,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8215,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8216,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8218,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8219,"author":{"gitId":"-"},"content":" \"node_modules/is-plain-obj\": {"},{"lineNumber":8220,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":8221,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8222,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8223,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8224,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":8225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8226,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8227,"author":{"gitId":"-"},"content":" \"node_modules/is-plain-object\": {"},{"lineNumber":8228,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":8229,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8230,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8231,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8232,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":8233,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8234,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8235,"author":{"gitId":"-"},"content":" \"node_modules/is-promise\": {"},{"lineNumber":8236,"author":{"gitId":"-"},"content":" \"version\": \"2.2.2\","},{"lineNumber":8237,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8238,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8239,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8240,"author":{"gitId":"-"},"content":" \"node_modules/is-regex\": {"},{"lineNumber":8241,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":8242,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8243,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8244,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":8245,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\""},{"lineNumber":8246,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8247,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8248,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8249,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8250,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8251,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8253,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8254,"author":{"gitId":"-"},"content":" \"node_modules/is-shared-array-buffer\": {"},{"lineNumber":8255,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\","},{"lineNumber":8256,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8257,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8258,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8259,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\""},{"lineNumber":8260,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8261,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":8262,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8263,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8264,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8265,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8267,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8268,"author":{"gitId":"-"},"content":" \"node_modules/is-stream\": {"},{"lineNumber":8269,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":8270,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8271,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8272,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8273,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":8274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8275,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8276,"author":{"gitId":"-"},"content":" \"node_modules/is-string\": {"},{"lineNumber":8277,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\","},{"lineNumber":8278,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8279,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8280,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8281,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\""},{"lineNumber":8282,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8283,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8284,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8285,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8286,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8287,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8288,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8289,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8290,"author":{"gitId":"-"},"content":" \"node_modules/is-symbol\": {"},{"lineNumber":8291,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":8292,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8293,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8294,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8295,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.2\""},{"lineNumber":8296,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8297,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8298,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8299,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8300,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8301,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8302,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8303,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8304,"author":{"gitId":"-"},"content":" \"node_modules/is-typed-array\": {"},{"lineNumber":8305,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.13\","},{"lineNumber":8306,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8307,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8308,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8309,"author":{"gitId":"sopa301"},"content":" \"which-typed-array\": \"^1.1.14\""},{"lineNumber":8310,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8311,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8312,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8313,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8314,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8315,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8317,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8318,"author":{"gitId":"-"},"content":" \"node_modules/is-unicode-supported\": {"},{"lineNumber":8319,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\","},{"lineNumber":8320,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8321,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8322,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8323,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":8324,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8325,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8326,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":8327,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8328,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8329,"author":{"gitId":"-"},"content":" \"node_modules/is-weakref\": {"},{"lineNumber":8330,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":8331,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8332,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8333,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8334,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\""},{"lineNumber":8335,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8336,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8337,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8338,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8339,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8340,"author":{"gitId":"-"},"content":" \"node_modules/is-wsl\": {"},{"lineNumber":8341,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":8342,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8343,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8344,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8345,"author":{"gitId":"-"},"content":" \"is-docker\": \"^2.0.0\""},{"lineNumber":8346,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8347,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8348,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8349,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8350,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8351,"author":{"gitId":"-"},"content":" \"node_modules/isarray\": {"},{"lineNumber":8352,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":8353,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8354,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8355,"author":{"gitId":"-"},"content":" \"node_modules/isexe\": {"},{"lineNumber":8356,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":8357,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8358,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":8359,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8360,"author":{"gitId":"-"},"content":" \"node_modules/isobject\": {"},{"lineNumber":8361,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":8362,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8363,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8364,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8365,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":8366,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8367,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8368,"author":{"gitId":"-"},"content":" \"node_modules/javascript-stringify\": {"},{"lineNumber":8369,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":8370,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8371,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8372,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8373,"author":{"gitId":"-"},"content":" \"node_modules/jest-worker\": {"},{"lineNumber":8374,"author":{"gitId":"-"},"content":" \"version\": \"27.5.1\","},{"lineNumber":8375,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8376,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8377,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\","},{"lineNumber":8378,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\","},{"lineNumber":8379,"author":{"gitId":"-"},"content":" \"supports-color\": \"^8.0.0\""},{"lineNumber":8380,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8381,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8382,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":8383,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8384,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8385,"author":{"gitId":"-"},"content":" \"node_modules/jest-worker/node_modules/has-flag\": {"},{"lineNumber":8386,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":8387,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8388,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8389,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8390,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8391,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8392,"author":{"gitId":"-"},"content":" \"node_modules/jest-worker/node_modules/supports-color\": {"},{"lineNumber":8393,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\","},{"lineNumber":8394,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8395,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8396,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":8397,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8398,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8399,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":8400,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8401,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8402,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\""},{"lineNumber":8403,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8404,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8405,"author":{"gitId":"-"},"content":" \"node_modules/joi\": {"},{"lineNumber":8406,"author":{"gitId":"-"},"content":" \"version\": \"17.7.0\","},{"lineNumber":8407,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8408,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":8409,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8410,"author":{"gitId":"-"},"content":" \"@hapi/hoek\": \"^9.0.0\","},{"lineNumber":8411,"author":{"gitId":"-"},"content":" \"@hapi/topo\": \"^5.0.0\","},{"lineNumber":8412,"author":{"gitId":"-"},"content":" \"@sideway/address\": \"^4.1.3\","},{"lineNumber":8413,"author":{"gitId":"-"},"content":" \"@sideway/formula\": \"^3.0.0\","},{"lineNumber":8414,"author":{"gitId":"-"},"content":" \"@sideway/pinpoint\": \"^2.0.0\""},{"lineNumber":8415,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8416,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8417,"author":{"gitId":"-"},"content":" \"node_modules/js-message\": {"},{"lineNumber":8418,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\","},{"lineNumber":8419,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8420,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8421,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8422,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.6.0\""},{"lineNumber":8423,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8424,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8425,"author":{"gitId":"-"},"content":" \"node_modules/js-stringify\": {"},{"lineNumber":8426,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":8427,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8428,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8429,"author":{"gitId":"-"},"content":" \"node_modules/js-tokens\": {"},{"lineNumber":8430,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":8431,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8432,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8433,"author":{"gitId":"-"},"content":" \"node_modules/js-yaml\": {"},{"lineNumber":8434,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":8435,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8436,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8437,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8438,"author":{"gitId":"-"},"content":" \"argparse\": \"^2.0.1\""},{"lineNumber":8439,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8440,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8441,"author":{"gitId":"-"},"content":" \"js-yaml\": \"bin/js-yaml.js\""},{"lineNumber":8442,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8443,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8444,"author":{"gitId":"-"},"content":" \"node_modules/jsesc\": {"},{"lineNumber":8445,"author":{"gitId":"-"},"content":" \"version\": \"2.5.2\","},{"lineNumber":8446,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8447,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8448,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8449,"author":{"gitId":"-"},"content":" \"jsesc\": \"bin/jsesc\""},{"lineNumber":8450,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8451,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8452,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8453,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8454,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8455,"author":{"gitId":"-"},"content":" \"node_modules/json-parse-better-errors\": {"},{"lineNumber":8456,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":8457,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8458,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8459,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8460,"author":{"gitId":"-"},"content":" \"node_modules/json-parse-even-better-errors\": {"},{"lineNumber":8461,"author":{"gitId":"-"},"content":" \"version\": \"2.3.1\","},{"lineNumber":8462,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8463,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8464,"author":{"gitId":"-"},"content":" \"node_modules/json-schema-traverse\": {"},{"lineNumber":8465,"author":{"gitId":"-"},"content":" \"version\": \"0.4.1\","},{"lineNumber":8466,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8467,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8468,"author":{"gitId":"-"},"content":" \"node_modules/json-stable-stringify-without-jsonify\": {"},{"lineNumber":8469,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":8470,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8471,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8472,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8473,"author":{"gitId":"-"},"content":" \"node_modules/json5\": {"},{"lineNumber":8474,"author":{"gitId":"-"},"content":" \"version\": \"2.2.3\","},{"lineNumber":8475,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8476,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8477,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8478,"author":{"gitId":"-"},"content":" \"json5\": \"lib/cli.js\""},{"lineNumber":8479,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8480,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8481,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":8482,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8483,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8484,"author":{"gitId":"-"},"content":" \"node_modules/jsonfile\": {"},{"lineNumber":8485,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\","},{"lineNumber":8486,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8487,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8488,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8489,"author":{"gitId":"-"},"content":" \"universalify\": \"^2.0.0\""},{"lineNumber":8490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8491,"author":{"gitId":"-"},"content":" \"optionalDependencies\": {"},{"lineNumber":8492,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.1.6\""},{"lineNumber":8493,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8494,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8495,"author":{"gitId":"-"},"content":" \"node_modules/jstransformer\": {"},{"lineNumber":8496,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":8497,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8498,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8499,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8500,"author":{"gitId":"-"},"content":" \"is-promise\": \"^2.0.0\","},{"lineNumber":8501,"author":{"gitId":"-"},"content":" \"promise\": \"^7.0.1\""},{"lineNumber":8502,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8503,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8504,"author":{"gitId":"-"},"content":" \"node_modules/jszip\": {"},{"lineNumber":8505,"author":{"gitId":"-"},"content":" \"version\": \"3.10.1\","},{"lineNumber":8506,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR GPL-3.0-or-later)\","},{"lineNumber":8507,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8508,"author":{"gitId":"-"},"content":" \"lie\": \"~3.3.0\","},{"lineNumber":8509,"author":{"gitId":"-"},"content":" \"pako\": \"~1.0.2\","},{"lineNumber":8510,"author":{"gitId":"-"},"content":" \"readable-stream\": \"~2.3.6\","},{"lineNumber":8511,"author":{"gitId":"-"},"content":" \"setimmediate\": \"^1.0.5\""},{"lineNumber":8512,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8513,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8514,"author":{"gitId":"-"},"content":" \"node_modules/kind-of\": {"},{"lineNumber":8515,"author":{"gitId":"-"},"content":" \"version\": \"6.0.3\","},{"lineNumber":8516,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8517,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8518,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8519,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":8520,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8521,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8522,"author":{"gitId":"-"},"content":" \"node_modules/klona\": {"},{"lineNumber":8523,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\","},{"lineNumber":8524,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8525,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8526,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8527,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":8528,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8529,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8530,"author":{"gitId":"-"},"content":" \"node_modules/known-css-properties\": {"},{"lineNumber":8531,"author":{"gitId":"-"},"content":" \"version\": \"0.26.0\","},{"lineNumber":8532,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8533,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8534,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8535,"author":{"gitId":"-"},"content":" \"node_modules/launch-editor\": {"},{"lineNumber":8536,"author":{"gitId":"-"},"content":" \"version\": \"2.6.0\","},{"lineNumber":8537,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8538,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8539,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8540,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\","},{"lineNumber":8541,"author":{"gitId":"-"},"content":" \"shell-quote\": \"^1.7.3\""},{"lineNumber":8542,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8543,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8544,"author":{"gitId":"-"},"content":" \"node_modules/launch-editor-middleware\": {"},{"lineNumber":8545,"author":{"gitId":"-"},"content":" \"version\": \"2.6.0\","},{"lineNumber":8546,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8547,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8548,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8549,"author":{"gitId":"-"},"content":" \"launch-editor\": \"^2.6.0\""},{"lineNumber":8550,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8551,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8552,"author":{"gitId":"-"},"content":" \"node_modules/levn\": {"},{"lineNumber":8553,"author":{"gitId":"-"},"content":" \"version\": \"0.4.1\","},{"lineNumber":8554,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8555,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8556,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8557,"author":{"gitId":"-"},"content":" \"prelude-ls\": \"^1.2.1\","},{"lineNumber":8558,"author":{"gitId":"-"},"content":" \"type-check\": \"~0.4.0\""},{"lineNumber":8559,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8560,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8561,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":8562,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8563,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8564,"author":{"gitId":"-"},"content":" \"node_modules/lie\": {"},{"lineNumber":8565,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\","},{"lineNumber":8566,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8567,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8568,"author":{"gitId":"-"},"content":" \"immediate\": \"~3.0.5\""},{"lineNumber":8569,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8570,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8571,"author":{"gitId":"-"},"content":" \"node_modules/lilconfig\": {"},{"lineNumber":8572,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\","},{"lineNumber":8573,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8574,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8575,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8576,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":8577,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8578,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8579,"author":{"gitId":"-"},"content":" \"node_modules/lines-and-columns\": {"},{"lineNumber":8580,"author":{"gitId":"-"},"content":" \"version\": \"1.2.4\","},{"lineNumber":8581,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8582,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8583,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8584,"author":{"gitId":"sopa301"},"content":" \"node_modules/linkify-it\": {"},{"lineNumber":8585,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.0\","},{"lineNumber":8586,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8587,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":8588,"author":{"gitId":"sopa301"},"content":" \"uc.micro\": \"^2.0.0\""},{"lineNumber":8589,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":8590,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8591,"author":{"gitId":"-"},"content":" \"node_modules/loader-runner\": {"},{"lineNumber":8592,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":8593,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8594,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8595,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.11.5\""},{"lineNumber":8596,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8597,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8598,"author":{"gitId":"-"},"content":" \"node_modules/loader-utils\": {"},{"lineNumber":8599,"author":{"gitId":"-"},"content":" \"version\": \"1.4.2\","},{"lineNumber":8600,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8601,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8602,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8603,"author":{"gitId":"-"},"content":" \"big.js\": \"^5.2.2\","},{"lineNumber":8604,"author":{"gitId":"-"},"content":" \"emojis-list\": \"^3.0.0\","},{"lineNumber":8605,"author":{"gitId":"-"},"content":" \"json5\": \"^1.0.1\""},{"lineNumber":8606,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8607,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8608,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0.0\""},{"lineNumber":8609,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8610,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8611,"author":{"gitId":"-"},"content":" \"node_modules/loader-utils/node_modules/json5\": {"},{"lineNumber":8612,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":8613,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8614,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8615,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8616,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.0\""},{"lineNumber":8617,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8618,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8619,"author":{"gitId":"-"},"content":" \"json5\": \"lib/cli.js\""},{"lineNumber":8620,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8621,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8622,"author":{"gitId":"-"},"content":" \"node_modules/locate-path\": {"},{"lineNumber":8623,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":8624,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8625,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8626,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8627,"author":{"gitId":"-"},"content":" \"p-locate\": \"^5.0.0\""},{"lineNumber":8628,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8629,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8630,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":8631,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8632,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8633,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":8634,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8635,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8636,"author":{"gitId":"-"},"content":" \"node_modules/lodash\": {"},{"lineNumber":8637,"author":{"gitId":"-"},"content":" \"version\": \"4.17.21\","},{"lineNumber":8638,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8639,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8640,"author":{"gitId":"-"},"content":" \"node_modules/lodash.debounce\": {"},{"lineNumber":8641,"author":{"gitId":"-"},"content":" \"version\": \"4.0.8\","},{"lineNumber":8642,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8643,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8644,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8645,"author":{"gitId":"-"},"content":" \"node_modules/lodash.defaultsdeep\": {"},{"lineNumber":8646,"author":{"gitId":"-"},"content":" \"version\": \"4.6.1\","},{"lineNumber":8647,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8648,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8649,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8650,"author":{"gitId":"-"},"content":" \"node_modules/lodash.kebabcase\": {"},{"lineNumber":8651,"author":{"gitId":"-"},"content":" \"version\": \"4.1.1\","},{"lineNumber":8652,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8653,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8654,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8655,"author":{"gitId":"-"},"content":" \"node_modules/lodash.mapvalues\": {"},{"lineNumber":8656,"author":{"gitId":"-"},"content":" \"version\": \"4.6.0\","},{"lineNumber":8657,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8658,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8659,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8660,"author":{"gitId":"-"},"content":" \"node_modules/lodash.memoize\": {"},{"lineNumber":8661,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":8662,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8663,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8664,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8665,"author":{"gitId":"-"},"content":" \"node_modules/lodash.merge\": {"},{"lineNumber":8666,"author":{"gitId":"-"},"content":" \"version\": \"4.6.2\","},{"lineNumber":8667,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8668,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8669,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8670,"author":{"gitId":"-"},"content":" \"node_modules/lodash.truncate\": {"},{"lineNumber":8671,"author":{"gitId":"-"},"content":" \"version\": \"4.4.2\","},{"lineNumber":8672,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8673,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8674,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8675,"author":{"gitId":"-"},"content":" \"node_modules/lodash.uniq\": {"},{"lineNumber":8676,"author":{"gitId":"-"},"content":" \"version\": \"4.5.0\","},{"lineNumber":8677,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8678,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8679,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8680,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols\": {"},{"lineNumber":8681,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":8682,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8683,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8684,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8685,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":8686,"author":{"gitId":"-"},"content":" \"is-unicode-supported\": \"^0.1.0\""},{"lineNumber":8687,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8688,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8689,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":8690,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8691,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8692,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":8693,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8694,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8695,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/ansi-styles\": {"},{"lineNumber":8696,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":8697,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8698,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8699,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8700,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":8701,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8702,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8703,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8704,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8705,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8706,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":8707,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8708,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8709,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/chalk\": {"},{"lineNumber":8710,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":8711,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8712,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8713,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8714,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":8715,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":8716,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8717,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8718,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":8719,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8720,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8721,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":8722,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8723,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8724,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/color-convert\": {"},{"lineNumber":8725,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":8726,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8727,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8728,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8729,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":8730,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8731,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8732,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":8733,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8734,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8735,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/color-name\": {"},{"lineNumber":8736,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":8737,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8738,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8739,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8740,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/has-flag\": {"},{"lineNumber":8741,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":8742,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8743,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8744,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8745,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8746,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8747,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8748,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/supports-color\": {"},{"lineNumber":8749,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":8750,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8751,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8752,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8753,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":8754,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8755,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8756,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8757,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8758,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8759,"author":{"gitId":"-"},"content":" \"node_modules/log-update\": {"},{"lineNumber":8760,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":8761,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8762,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8763,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8764,"author":{"gitId":"-"},"content":" \"ansi-escapes\": \"^3.0.0\","},{"lineNumber":8765,"author":{"gitId":"-"},"content":" \"cli-cursor\": \"^2.0.0\","},{"lineNumber":8766,"author":{"gitId":"-"},"content":" \"wrap-ansi\": \"^3.0.1\""},{"lineNumber":8767,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8768,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8769,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8770,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8771,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8772,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/ansi-regex\": {"},{"lineNumber":8773,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":8774,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8775,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8776,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8777,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8778,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8779,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8780,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/cli-cursor\": {"},{"lineNumber":8781,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":8782,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8783,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8784,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8785,"author":{"gitId":"-"},"content":" \"restore-cursor\": \"^2.0.0\""},{"lineNumber":8786,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8787,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8788,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8789,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8790,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8791,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/is-fullwidth-code-point\": {"},{"lineNumber":8792,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":8793,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8794,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8795,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8796,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8797,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8798,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8799,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/mimic-fn\": {"},{"lineNumber":8800,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":8801,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8802,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8803,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8804,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8805,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8806,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8807,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/onetime\": {"},{"lineNumber":8808,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":8809,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8810,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8811,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8812,"author":{"gitId":"-"},"content":" \"mimic-fn\": \"^1.0.0\""},{"lineNumber":8813,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8814,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8815,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8816,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8817,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8818,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/restore-cursor\": {"},{"lineNumber":8819,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":8820,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8821,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8822,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8823,"author":{"gitId":"-"},"content":" \"onetime\": \"^2.0.0\","},{"lineNumber":8824,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.2\""},{"lineNumber":8825,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8826,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8827,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8828,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8829,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8830,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/string-width\": {"},{"lineNumber":8831,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\","},{"lineNumber":8832,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8833,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8834,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8835,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^2.0.0\","},{"lineNumber":8836,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^4.0.0\""},{"lineNumber":8837,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8838,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8839,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8840,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8841,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8842,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/strip-ansi\": {"},{"lineNumber":8843,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":8844,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8845,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8846,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8847,"author":{"gitId":"-"},"content":" \"ansi-regex\": \"^3.0.0\""},{"lineNumber":8848,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8849,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8850,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8851,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8852,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8853,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/wrap-ansi\": {"},{"lineNumber":8854,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":8855,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8856,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8857,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8858,"author":{"gitId":"-"},"content":" \"string-width\": \"^2.1.1\","},{"lineNumber":8859,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^4.0.0\""},{"lineNumber":8860,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8861,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8862,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8863,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8864,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8865,"author":{"gitId":"-"},"content":" \"node_modules/loose-envify\": {"},{"lineNumber":8866,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":8867,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8868,"author":{"gitId":"-"},"content":" \"peer\": true,"},{"lineNumber":8869,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8870,"author":{"gitId":"-"},"content":" \"js-tokens\": \"^3.0.0 || ^4.0.0\""},{"lineNumber":8871,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8872,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8873,"author":{"gitId":"-"},"content":" \"loose-envify\": \"cli.js\""},{"lineNumber":8874,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8875,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8876,"author":{"gitId":"-"},"content":" \"node_modules/lower-case\": {"},{"lineNumber":8877,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\","},{"lineNumber":8878,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8879,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8880,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8881,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\""},{"lineNumber":8882,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8883,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8884,"author":{"gitId":"-"},"content":" \"node_modules/lru-cache\": {"},{"lineNumber":8885,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":8886,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8887,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":8888,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8889,"author":{"gitId":"-"},"content":" \"yallist\": \"^3.0.2\""},{"lineNumber":8890,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8891,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8892,"author":{"gitId":"-"},"content":" \"node_modules/magic-string\": {"},{"lineNumber":8893,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.30.8\","},{"lineNumber":8894,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8895,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8896,"author":{"gitId":"sopa301"},"content":" \"@jridgewell/sourcemap-codec\": \"^1.4.15\""},{"lineNumber":8897,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8898,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":8899,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\""},{"lineNumber":8900,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8901,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8902,"author":{"gitId":"sopa301"},"content":" \"node_modules/magic-string/node_modules/@jridgewell/sourcemap-codec\": {"},{"lineNumber":8903,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.15\","},{"lineNumber":8904,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8905,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8906,"author":{"gitId":"-"},"content":" \"node_modules/make-dir\": {"},{"lineNumber":8907,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":8908,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8909,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8910,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8911,"author":{"gitId":"-"},"content":" \"semver\": \"^6.0.0\""},{"lineNumber":8912,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8913,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8914,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8915,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8916,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8917,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":8918,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8919,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8920,"author":{"gitId":"-"},"content":" \"node_modules/map-obj\": {"},{"lineNumber":8921,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":8922,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8923,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8924,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8925,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8926,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8927,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8928,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":8929,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8930,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8931,"author":{"gitId":"sopa301"},"content":" \"node_modules/markdown-it\": {"},{"lineNumber":8932,"author":{"gitId":"sopa301"},"content":" \"version\": \"14.1.0\","},{"lineNumber":8933,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz\","},{"lineNumber":8934,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg\u003d\u003d\","},{"lineNumber":8935,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8936,"author":{"gitId":"sopa301"},"content":" \"argparse\": \"^2.0.1\","},{"lineNumber":8937,"author":{"gitId":"sopa301"},"content":" \"entities\": \"^4.4.0\","},{"lineNumber":8938,"author":{"gitId":"sopa301"},"content":" \"linkify-it\": \"^5.0.0\","},{"lineNumber":8939,"author":{"gitId":"sopa301"},"content":" \"mdurl\": \"^2.0.0\","},{"lineNumber":8940,"author":{"gitId":"sopa301"},"content":" \"punycode.js\": \"^2.3.1\","},{"lineNumber":8941,"author":{"gitId":"sopa301"},"content":" \"uc.micro\": \"^2.1.0\""},{"lineNumber":8942,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8943,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":8944,"author":{"gitId":"sopa301"},"content":" \"markdown-it\": \"bin/markdown-it.mjs\""},{"lineNumber":8945,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8946,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8947,"author":{"gitId":"-"},"content":" \"node_modules/mathml-tag-names\": {"},{"lineNumber":8948,"author":{"gitId":"-"},"content":" \"version\": \"2.1.3\","},{"lineNumber":8949,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8950,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8951,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8952,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":8953,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/wooorm\""},{"lineNumber":8954,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8955,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8956,"author":{"gitId":"-"},"content":" \"node_modules/mdn-data\": {"},{"lineNumber":8957,"author":{"gitId":"-"},"content":" \"version\": \"2.0.14\","},{"lineNumber":8958,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8959,"author":{"gitId":"sopa301"},"content":" \"license\": \"CC0-1.0\""},{"lineNumber":8960,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8961,"author":{"gitId":"sopa301"},"content":" \"node_modules/mdurl\": {"},{"lineNumber":8962,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":8963,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8964,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8965,"author":{"gitId":"-"},"content":" \"node_modules/media-typer\": {"},{"lineNumber":8966,"author":{"gitId":"-"},"content":" \"version\": \"0.3.0\","},{"lineNumber":8967,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz\","},{"lineNumber":8968,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ\u003d\u003d\","},{"lineNumber":8969,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8970,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8971,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":8972,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8973,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8974,"author":{"gitId":"-"},"content":" \"node_modules/memfs\": {"},{"lineNumber":8975,"author":{"gitId":"-"},"content":" \"version\": \"3.4.13\","},{"lineNumber":8976,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8977,"author":{"gitId":"sopa301"},"content":" \"license\": \"Unlicense\","},{"lineNumber":8978,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8979,"author":{"gitId":"-"},"content":" \"fs-monkey\": \"^1.0.3\""},{"lineNumber":8980,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8981,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8982,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4.0.0\""},{"lineNumber":8983,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8984,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8985,"author":{"gitId":"-"},"content":" \"node_modules/meow\": {"},{"lineNumber":8986,"author":{"gitId":"-"},"content":" \"version\": \"9.0.0\","},{"lineNumber":8987,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8988,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8989,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8990,"author":{"gitId":"-"},"content":" \"@types/minimist\": \"^1.2.0\","},{"lineNumber":8991,"author":{"gitId":"-"},"content":" \"camelcase-keys\": \"^6.2.2\","},{"lineNumber":8992,"author":{"gitId":"-"},"content":" \"decamelize\": \"^1.2.0\","},{"lineNumber":8993,"author":{"gitId":"-"},"content":" \"decamelize-keys\": \"^1.1.0\","},{"lineNumber":8994,"author":{"gitId":"-"},"content":" \"hard-rejection\": \"^2.1.0\","},{"lineNumber":8995,"author":{"gitId":"-"},"content":" \"minimist-options\": \"4.1.0\","},{"lineNumber":8996,"author":{"gitId":"-"},"content":" \"normalize-package-data\": \"^3.0.0\","},{"lineNumber":8997,"author":{"gitId":"-"},"content":" \"read-pkg-up\": \"^7.0.1\","},{"lineNumber":8998,"author":{"gitId":"-"},"content":" \"redent\": \"^3.0.0\","},{"lineNumber":8999,"author":{"gitId":"-"},"content":" \"trim-newlines\": \"^3.0.0\","},{"lineNumber":9000,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.18.0\","},{"lineNumber":9001,"author":{"gitId":"-"},"content":" \"yargs-parser\": \"^20.2.3\""},{"lineNumber":9002,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9003,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9004,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9005,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9006,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9007,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9008,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9009,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9010,"author":{"gitId":"-"},"content":" \"node_modules/merge-descriptors\": {"},{"lineNumber":9011,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":9012,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9013,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9014,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9015,"author":{"gitId":"-"},"content":" \"node_modules/merge-source-map\": {"},{"lineNumber":9016,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":9017,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9018,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9019,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9020,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.1\""},{"lineNumber":9021,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9022,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9023,"author":{"gitId":"-"},"content":" \"node_modules/merge-stream\": {"},{"lineNumber":9024,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":9025,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9026,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9027,"author":{"gitId":"-"},"content":" \"node_modules/merge2\": {"},{"lineNumber":9028,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\","},{"lineNumber":9029,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9030,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9031,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9032,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":9033,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9034,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9035,"author":{"gitId":"-"},"content":" \"node_modules/methods\": {"},{"lineNumber":9036,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\","},{"lineNumber":9037,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9038,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9039,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9040,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":9041,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9042,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9043,"author":{"gitId":"-"},"content":" \"node_modules/micromatch\": {"},{"lineNumber":9044,"author":{"gitId":"-"},"content":" \"version\": \"4.0.5\","},{"lineNumber":9045,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9046,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9047,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9048,"author":{"gitId":"-"},"content":" \"braces\": \"^3.0.2\","},{"lineNumber":9049,"author":{"gitId":"-"},"content":" \"picomatch\": \"^2.3.1\""},{"lineNumber":9050,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9051,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9052,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.6\""},{"lineNumber":9053,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9054,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9055,"author":{"gitId":"-"},"content":" \"node_modules/mime\": {"},{"lineNumber":9056,"author":{"gitId":"-"},"content":" \"version\": \"1.6.0\","},{"lineNumber":9057,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9058,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9059,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":9060,"author":{"gitId":"-"},"content":" \"mime\": \"cli.js\""},{"lineNumber":9061,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9062,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9063,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":9064,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9065,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9066,"author":{"gitId":"-"},"content":" \"node_modules/mime-db\": {"},{"lineNumber":9067,"author":{"gitId":"-"},"content":" \"version\": \"1.52.0\","},{"lineNumber":9068,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9069,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9070,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":9071,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9072,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9073,"author":{"gitId":"-"},"content":" \"node_modules/mime-types\": {"},{"lineNumber":9074,"author":{"gitId":"-"},"content":" \"version\": \"2.1.35\","},{"lineNumber":9075,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9076,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9077,"author":{"gitId":"-"},"content":" \"mime-db\": \"1.52.0\""},{"lineNumber":9078,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9079,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9080,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":9081,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9082,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9083,"author":{"gitId":"-"},"content":" \"node_modules/mimic-fn\": {"},{"lineNumber":9084,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":9085,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9086,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9087,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9088,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":9089,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9090,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9091,"author":{"gitId":"-"},"content":" \"node_modules/min-indent\": {"},{"lineNumber":9092,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":9093,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9094,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9095,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9096,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":9097,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9098,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9099,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin\": {"},{"lineNumber":9100,"author":{"gitId":"-"},"content":" \"version\": \"2.7.2\","},{"lineNumber":9101,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9102,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9103,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9104,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\""},{"lineNumber":9105,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9106,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9107,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":9108,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9109,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9110,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":9111,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":9112,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9113,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":9114,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":9115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9116,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9117,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin/node_modules/ajv\": {"},{"lineNumber":9118,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":9119,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9120,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9121,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9122,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":9123,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":9124,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":9125,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":9126,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9127,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9128,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":9129,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":9130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9131,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9132,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin/node_modules/ajv-keywords\": {"},{"lineNumber":9133,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":9134,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9135,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9136,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9137,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\""},{"lineNumber":9138,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9139,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":9140,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\""},{"lineNumber":9141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9142,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9143,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse\": {"},{"lineNumber":9144,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":9145,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9146,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9147,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9148,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin/node_modules/schema-utils\": {"},{"lineNumber":9149,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":9150,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9151,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9152,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9153,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\","},{"lineNumber":9154,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\","},{"lineNumber":9155,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\","},{"lineNumber":9156,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\""},{"lineNumber":9157,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9158,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9159,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":9160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9161,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9162,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":9163,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":9164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9165,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9166,"author":{"gitId":"-"},"content":" \"node_modules/minimalistic-assert\": {"},{"lineNumber":9167,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":9168,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9169,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":9170,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9171,"author":{"gitId":"-"},"content":" \"node_modules/minimatch\": {"},{"lineNumber":9172,"author":{"gitId":"-"},"content":" \"version\": \"5.1.6\","},{"lineNumber":9173,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":9174,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9175,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^2.0.1\""},{"lineNumber":9176,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9177,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9178,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9180,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9181,"author":{"gitId":"-"},"content":" \"node_modules/minimist\": {"},{"lineNumber":9182,"author":{"gitId":"-"},"content":" \"version\": \"1.2.7\","},{"lineNumber":9183,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9184,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9185,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9186,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":9187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9188,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9189,"author":{"gitId":"-"},"content":" \"node_modules/minimist-options\": {"},{"lineNumber":9190,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":9191,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9192,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9193,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9194,"author":{"gitId":"-"},"content":" \"arrify\": \"^1.0.1\","},{"lineNumber":9195,"author":{"gitId":"-"},"content":" \"is-plain-obj\": \"^1.1.0\","},{"lineNumber":9196,"author":{"gitId":"-"},"content":" \"kind-of\": \"^6.0.3\""},{"lineNumber":9197,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9198,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9199,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":9200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9201,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9202,"author":{"gitId":"-"},"content":" \"node_modules/minipass\": {"},{"lineNumber":9203,"author":{"gitId":"-"},"content":" \"version\": \"3.3.6\","},{"lineNumber":9204,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9205,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":9206,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9207,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":9208,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9209,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9210,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9212,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9213,"author":{"gitId":"-"},"content":" \"node_modules/minipass/node_modules/yallist\": {"},{"lineNumber":9214,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":9215,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9216,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":9217,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9218,"author":{"gitId":"-"},"content":" \"node_modules/module-alias\": {"},{"lineNumber":9219,"author":{"gitId":"-"},"content":" \"version\": \"2.2.2\","},{"lineNumber":9220,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9221,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9222,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9223,"author":{"gitId":"-"},"content":" \"node_modules/mrmime\": {"},{"lineNumber":9224,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":9225,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9226,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9227,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9228,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9230,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9231,"author":{"gitId":"-"},"content":" \"node_modules/ms\": {"},{"lineNumber":9232,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\","},{"lineNumber":9233,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9234,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9235,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9236,"author":{"gitId":"-"},"content":" \"node_modules/muicss\": {"},{"lineNumber":9237,"author":{"gitId":"-"},"content":" \"version\": \"0.10.3\","},{"lineNumber":9238,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9239,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9240,"author":{"gitId":"-"},"content":" \"react-addons-shallow-compare\": \"^15.6.2\""},{"lineNumber":9241,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9242,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":9243,"author":{"gitId":"-"},"content":" \"react\": \"^0.14.0 || ^15.0.0 || ^16.0.0\""},{"lineNumber":9244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9245,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9246,"author":{"gitId":"-"},"content":" \"node_modules/multicast-dns\": {"},{"lineNumber":9247,"author":{"gitId":"-"},"content":" \"version\": \"7.2.5\","},{"lineNumber":9248,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9249,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9250,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9251,"author":{"gitId":"-"},"content":" \"dns-packet\": \"^5.2.2\","},{"lineNumber":9252,"author":{"gitId":"-"},"content":" \"thunky\": \"^1.0.2\""},{"lineNumber":9253,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9254,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":9255,"author":{"gitId":"-"},"content":" \"multicast-dns\": \"cli.js\""},{"lineNumber":9256,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9257,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9258,"author":{"gitId":"-"},"content":" \"node_modules/mz\": {"},{"lineNumber":9259,"author":{"gitId":"-"},"content":" \"version\": \"2.7.0\","},{"lineNumber":9260,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9261,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9262,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9263,"author":{"gitId":"-"},"content":" \"any-promise\": \"^1.0.0\","},{"lineNumber":9264,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.0.1\","},{"lineNumber":9265,"author":{"gitId":"-"},"content":" \"thenify-all\": \"^1.0.0\""},{"lineNumber":9266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9267,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9268,"author":{"gitId":"-"},"content":" \"node_modules/nanoid\": {"},{"lineNumber":9269,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.3.7\","},{"lineNumber":9270,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":9271,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":9272,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":9273,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ai\""},{"lineNumber":9274,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":9275,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":9276,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9277,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":9278,"author":{"gitId":"-"},"content":" \"nanoid\": \"bin/nanoid.cjs\""},{"lineNumber":9279,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9280,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9281,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || ^13.7 || ^14 || \u003e\u003d15.0.1\""},{"lineNumber":9282,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9283,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9284,"author":{"gitId":"-"},"content":" \"node_modules/natural-compare\": {"},{"lineNumber":9285,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":9286,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9287,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9288,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9289,"author":{"gitId":"-"},"content":" \"node_modules/natural-compare-lite\": {"},{"lineNumber":9290,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":9291,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9292,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9293,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9294,"author":{"gitId":"-"},"content":" \"node_modules/negotiator\": {"},{"lineNumber":9295,"author":{"gitId":"-"},"content":" \"version\": \"0.6.3\","},{"lineNumber":9296,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9297,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9298,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9299,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":9300,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9301,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9302,"author":{"gitId":"-"},"content":" \"node_modules/neo-async\": {"},{"lineNumber":9303,"author":{"gitId":"-"},"content":" \"version\": \"2.6.2\","},{"lineNumber":9304,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9305,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9306,"author":{"gitId":"-"},"content":" \"node_modules/nice-try\": {"},{"lineNumber":9307,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\","},{"lineNumber":9308,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9309,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9310,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9311,"author":{"gitId":"-"},"content":" \"node_modules/no-case\": {"},{"lineNumber":9312,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\","},{"lineNumber":9313,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9314,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9315,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9316,"author":{"gitId":"-"},"content":" \"lower-case\": \"^2.0.2\","},{"lineNumber":9317,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\""},{"lineNumber":9318,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9319,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9320,"author":{"gitId":"-"},"content":" \"node_modules/node-fetch\": {"},{"lineNumber":9321,"author":{"gitId":"-"},"content":" \"version\": \"2.6.8\","},{"lineNumber":9322,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9323,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9324,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9325,"author":{"gitId":"-"},"content":" \"whatwg-url\": \"^5.0.0\""},{"lineNumber":9326,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9327,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9328,"author":{"gitId":"-"},"content":" \"node\": \"4.x || \u003e\u003d6.0.0\""},{"lineNumber":9329,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9330,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":9331,"author":{"gitId":"-"},"content":" \"encoding\": \"^0.1.0\""},{"lineNumber":9332,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9333,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":9334,"author":{"gitId":"-"},"content":" \"encoding\": {"},{"lineNumber":9335,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":9336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9337,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9338,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9339,"author":{"gitId":"-"},"content":" \"node_modules/node-forge\": {"},{"lineNumber":9340,"author":{"gitId":"-"},"content":" \"version\": \"1.3.1\","},{"lineNumber":9341,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9342,"author":{"gitId":"sopa301"},"content":" \"license\": \"(BSD-3-Clause OR GPL-2.0)\","},{"lineNumber":9343,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9344,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6.13.0\""},{"lineNumber":9345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9346,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9347,"author":{"gitId":"sopa301"},"content":" \"node_modules/node-releases\": {"},{"lineNumber":9348,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.8\","},{"lineNumber":9349,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9350,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9351,"author":{"gitId":"sopa301"},"content":" \"node_modules/normalize-package-data\": {"},{"lineNumber":9352,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.3\","},{"lineNumber":9353,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9354,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":9355,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9356,"author":{"gitId":"sopa301"},"content":" \"hosted-git-info\": \"^4.0.1\","},{"lineNumber":9357,"author":{"gitId":"sopa301"},"content":" \"is-core-module\": \"^2.5.0\","},{"lineNumber":9358,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.3.4\","},{"lineNumber":9359,"author":{"gitId":"sopa301"},"content":" \"validate-npm-package-license\": \"^3.0.1\""},{"lineNumber":9360,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9361,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9362,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9363,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9364,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9365,"author":{"gitId":"sopa301"},"content":" \"node_modules/normalize-package-data/node_modules/lru-cache\": {"},{"lineNumber":9366,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":9367,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9368,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":9369,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9370,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":9371,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9372,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9373,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9375,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9376,"author":{"gitId":"sopa301"},"content":" \"node_modules/normalize-package-data/node_modules/semver\": {"},{"lineNumber":9377,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":9378,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9379,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":9380,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9381,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":9382,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9383,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":9384,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":9385,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9386,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9387,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9388,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9389,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9390,"author":{"gitId":"sopa301"},"content":" \"node_modules/normalize-package-data/node_modules/yallist\": {"},{"lineNumber":9391,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":9392,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9393,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":9394,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9395,"author":{"gitId":"sopa301"},"content":" \"node_modules/normalize-path\": {"},{"lineNumber":9396,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\","},{"lineNumber":9397,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9398,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9399,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9400,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":9401,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9402,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9403,"author":{"gitId":"sopa301"},"content":" \"node_modules/normalize-range\": {"},{"lineNumber":9404,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.2\","},{"lineNumber":9405,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9406,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9407,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9408,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":9409,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9410,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9411,"author":{"gitId":"sopa301"},"content":" \"node_modules/normalize-url\": {"},{"lineNumber":9412,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.1.0\","},{"lineNumber":9413,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9414,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9415,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9416,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9417,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9418,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9419,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9420,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9421,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9422,"author":{"gitId":"sopa301"},"content":" \"node_modules/normalize.css\": {"},{"lineNumber":9423,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.1\","},{"lineNumber":9424,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9425,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9426,"author":{"gitId":"sopa301"},"content":" \"node_modules/npm-run-path\": {"},{"lineNumber":9427,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\","},{"lineNumber":9428,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9429,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9430,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9431,"author":{"gitId":"sopa301"},"content":" \"path-key\": \"^2.0.0\""},{"lineNumber":9432,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9433,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9434,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":9435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9436,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9437,"author":{"gitId":"sopa301"},"content":" \"node_modules/npm-run-path/node_modules/path-key\": {"},{"lineNumber":9438,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":9439,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9440,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9441,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":9442,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":9443,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":9444,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":9445,"author":{"gitId":"sopa301"},"content":" \"node_modules/nth-check\": {"},{"lineNumber":9446,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.1\","},{"lineNumber":9447,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":9448,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9449,"author":{"gitId":"sopa301"},"content":" \"boolbase\": \"^1.0.0\""},{"lineNumber":9450,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9451,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":9452,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/fb55/nth-check?sponsor\u003d1\""},{"lineNumber":9453,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":9454,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":9455,"author":{"gitId":"sopa301"},"content":" \"node_modules/object-assign\": {"},{"lineNumber":9456,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.1\","},{"lineNumber":9457,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9458,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9459,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":9460,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9461,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9462,"author":{"gitId":"sopa301"},"content":" \"node_modules/object-inspect\": {"},{"lineNumber":9463,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.13.1\","},{"lineNumber":9464,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9465,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9466,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":9467,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":9468,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":9469,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9470,"author":{"gitId":"sopa301"},"content":" \"node_modules/object-keys\": {"},{"lineNumber":9471,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.1\","},{"lineNumber":9472,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9473,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9474,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9475,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":9476,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9477,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9478,"author":{"gitId":"sopa301"},"content":" \"node_modules/object.assign\": {"},{"lineNumber":9479,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.5\","},{"lineNumber":9480,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9481,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9482,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9483,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\","},{"lineNumber":9484,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\","},{"lineNumber":9485,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\","},{"lineNumber":9486,"author":{"gitId":"sopa301"},"content":" \"object-keys\": \"^1.1.1\""},{"lineNumber":9487,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9488,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9489,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":9490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9491,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9492,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":9493,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9494,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9495,"author":{"gitId":"sopa301"},"content":" \"node_modules/object.entries\": {"},{"lineNumber":9496,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.6\","},{"lineNumber":9497,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9498,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9499,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9500,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":9501,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.1.4\","},{"lineNumber":9502,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.20.4\""},{"lineNumber":9503,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9504,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9505,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":9506,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9507,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9508,"author":{"gitId":"sopa301"},"content":" \"node_modules/object.fromentries\": {"},{"lineNumber":9509,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.7\","},{"lineNumber":9510,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9511,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9512,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9513,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":9514,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":9515,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\""},{"lineNumber":9516,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9517,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9518,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":9519,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9520,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9521,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":9522,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9523,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9524,"author":{"gitId":"sopa301"},"content":" \"node_modules/object.groupby\": {"},{"lineNumber":9525,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":9526,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9527,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9528,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9529,"author":{"gitId":"sopa301"},"content":" \"array.prototype.filter\": \"^1.0.3\","},{"lineNumber":9530,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\","},{"lineNumber":9531,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\","},{"lineNumber":9532,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.3\","},{"lineNumber":9533,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.0.0\""},{"lineNumber":9534,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9535,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9536,"author":{"gitId":"-"},"content":" \"node_modules/object.values\": {"},{"lineNumber":9537,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.7\","},{"lineNumber":9538,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9539,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9540,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9541,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":9542,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":9543,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\""},{"lineNumber":9544,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9545,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9546,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":9547,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9548,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9549,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":9550,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9551,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9552,"author":{"gitId":"-"},"content":" \"node_modules/obuf\": {"},{"lineNumber":9553,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\","},{"lineNumber":9554,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9555,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9556,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9557,"author":{"gitId":"-"},"content":" \"node_modules/on-finished\": {"},{"lineNumber":9558,"author":{"gitId":"-"},"content":" \"version\": \"2.4.1\","},{"lineNumber":9559,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9560,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9561,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9562,"author":{"gitId":"-"},"content":" \"ee-first\": \"1.1.1\""},{"lineNumber":9563,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9564,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9565,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":9566,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9567,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9568,"author":{"gitId":"-"},"content":" \"node_modules/on-headers\": {"},{"lineNumber":9569,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":9570,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9571,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9572,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9573,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":9574,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9575,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9576,"author":{"gitId":"-"},"content":" \"node_modules/once\": {"},{"lineNumber":9577,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":9578,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":9579,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9580,"author":{"gitId":"-"},"content":" \"wrappy\": \"1\""},{"lineNumber":9581,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9582,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9583,"author":{"gitId":"-"},"content":" \"node_modules/onetime\": {"},{"lineNumber":9584,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\","},{"lineNumber":9585,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9586,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9587,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9588,"author":{"gitId":"-"},"content":" \"mimic-fn\": \"^2.1.0\""},{"lineNumber":9589,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9590,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9591,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":9592,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9593,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9594,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9595,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9596,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9597,"author":{"gitId":"-"},"content":" \"node_modules/open\": {"},{"lineNumber":9598,"author":{"gitId":"-"},"content":" \"version\": \"8.4.0\","},{"lineNumber":9599,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9600,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9601,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9602,"author":{"gitId":"-"},"content":" \"define-lazy-prop\": \"^2.0.0\","},{"lineNumber":9603,"author":{"gitId":"-"},"content":" \"is-docker\": \"^2.1.1\","},{"lineNumber":9604,"author":{"gitId":"-"},"content":" \"is-wsl\": \"^2.2.0\""},{"lineNumber":9605,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9606,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9607,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12\""},{"lineNumber":9608,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9609,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9610,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9611,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9612,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9613,"author":{"gitId":"-"},"content":" \"node_modules/opener\": {"},{"lineNumber":9614,"author":{"gitId":"-"},"content":" \"version\": \"1.5.2\","},{"lineNumber":9615,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9616,"author":{"gitId":"sopa301"},"content":" \"license\": \"(WTFPL OR MIT)\","},{"lineNumber":9617,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":9618,"author":{"gitId":"-"},"content":" \"opener\": \"bin/opener-bin.js\""},{"lineNumber":9619,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9620,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9621,"author":{"gitId":"-"},"content":" \"node_modules/optionator\": {"},{"lineNumber":9622,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.9.3\","},{"lineNumber":9623,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9624,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9625,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9626,"author":{"gitId":"sopa301"},"content":" \"@aashutoshrathi/word-wrap\": \"^1.2.3\","},{"lineNumber":9627,"author":{"gitId":"-"},"content":" \"deep-is\": \"^0.1.3\","},{"lineNumber":9628,"author":{"gitId":"-"},"content":" \"fast-levenshtein\": \"^2.0.6\","},{"lineNumber":9629,"author":{"gitId":"-"},"content":" \"levn\": \"^0.4.1\","},{"lineNumber":9630,"author":{"gitId":"-"},"content":" \"prelude-ls\": \"^1.2.1\","},{"lineNumber":9631,"author":{"gitId":"sopa301"},"content":" \"type-check\": \"^0.4.0\""},{"lineNumber":9632,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9633,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9634,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":9635,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9636,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9637,"author":{"gitId":"-"},"content":" \"node_modules/ora\": {"},{"lineNumber":9638,"author":{"gitId":"-"},"content":" \"version\": \"5.4.1\","},{"lineNumber":9639,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9640,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9641,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9642,"author":{"gitId":"-"},"content":" \"bl\": \"^4.1.0\","},{"lineNumber":9643,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":9644,"author":{"gitId":"-"},"content":" \"cli-cursor\": \"^3.1.0\","},{"lineNumber":9645,"author":{"gitId":"-"},"content":" \"cli-spinners\": \"^2.5.0\","},{"lineNumber":9646,"author":{"gitId":"-"},"content":" \"is-interactive\": \"^1.0.0\","},{"lineNumber":9647,"author":{"gitId":"-"},"content":" \"is-unicode-supported\": \"^0.1.0\","},{"lineNumber":9648,"author":{"gitId":"-"},"content":" \"log-symbols\": \"^4.1.0\","},{"lineNumber":9649,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\","},{"lineNumber":9650,"author":{"gitId":"-"},"content":" \"wcwidth\": \"^1.0.1\""},{"lineNumber":9651,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9652,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9653,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9654,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9655,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9656,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9657,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9658,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9659,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/ansi-styles\": {"},{"lineNumber":9660,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":9661,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9662,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9663,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9664,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":9665,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9666,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9667,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9668,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9669,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9670,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":9671,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9672,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9673,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/chalk\": {"},{"lineNumber":9674,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":9675,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9676,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9677,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9678,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":9679,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":9680,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9681,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9682,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9683,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9684,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9685,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":9686,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9687,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9688,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/color-convert\": {"},{"lineNumber":9689,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":9690,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9691,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9692,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9693,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":9694,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9695,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9696,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":9697,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9698,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9699,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/color-name\": {"},{"lineNumber":9700,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":9701,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9702,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9703,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9704,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/has-flag\": {"},{"lineNumber":9705,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":9706,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9707,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9708,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9709,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9710,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9711,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9712,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/supports-color\": {"},{"lineNumber":9713,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":9714,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9715,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9716,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9717,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":9718,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9719,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9720,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9721,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9722,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9723,"author":{"gitId":"-"},"content":" \"node_modules/p-finally\": {"},{"lineNumber":9724,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":9725,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9726,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9727,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9728,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":9729,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9730,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9731,"author":{"gitId":"-"},"content":" \"node_modules/p-limit\": {"},{"lineNumber":9732,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":9733,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9734,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9735,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9736,"author":{"gitId":"-"},"content":" \"yocto-queue\": \"^0.1.0\""},{"lineNumber":9737,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9738,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9739,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9740,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9741,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9742,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9743,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9744,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9745,"author":{"gitId":"-"},"content":" \"node_modules/p-locate\": {"},{"lineNumber":9746,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":9747,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9748,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9749,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9750,"author":{"gitId":"-"},"content":" \"p-limit\": \"^3.0.2\""},{"lineNumber":9751,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9752,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9753,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9754,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9755,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9756,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9757,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9758,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9759,"author":{"gitId":"-"},"content":" \"node_modules/p-retry\": {"},{"lineNumber":9760,"author":{"gitId":"-"},"content":" \"version\": \"4.6.2\","},{"lineNumber":9761,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9762,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9763,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9764,"author":{"gitId":"-"},"content":" \"@types/retry\": \"0.12.0\","},{"lineNumber":9765,"author":{"gitId":"-"},"content":" \"retry\": \"^0.13.1\""},{"lineNumber":9766,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9767,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9768,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9769,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9770,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9771,"author":{"gitId":"-"},"content":" \"node_modules/p-retry/node_modules/retry\": {"},{"lineNumber":9772,"author":{"gitId":"-"},"content":" \"version\": \"0.13.1\","},{"lineNumber":9773,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9774,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9775,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9776,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":9777,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9778,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9779,"author":{"gitId":"-"},"content":" \"node_modules/p-try\": {"},{"lineNumber":9780,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":9781,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9782,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9783,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9784,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":9785,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9786,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9787,"author":{"gitId":"-"},"content":" \"node_modules/pako\": {"},{"lineNumber":9788,"author":{"gitId":"-"},"content":" \"version\": \"1.0.11\","},{"lineNumber":9789,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT AND Zlib)\""},{"lineNumber":9790,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9791,"author":{"gitId":"-"},"content":" \"node_modules/param-case\": {"},{"lineNumber":9792,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\","},{"lineNumber":9793,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9794,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9795,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9796,"author":{"gitId":"-"},"content":" \"dot-case\": \"^3.0.4\","},{"lineNumber":9797,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\""},{"lineNumber":9798,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9799,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9800,"author":{"gitId":"-"},"content":" \"node_modules/parent-module\": {"},{"lineNumber":9801,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":9802,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9803,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9804,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9805,"author":{"gitId":"-"},"content":" \"callsites\": \"^3.0.0\""},{"lineNumber":9806,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9807,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9808,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":9809,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9810,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9811,"author":{"gitId":"-"},"content":" \"node_modules/parse-json\": {"},{"lineNumber":9812,"author":{"gitId":"-"},"content":" \"version\": \"5.2.0\","},{"lineNumber":9813,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9814,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9815,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9816,"author":{"gitId":"-"},"content":" \"@babel/code-frame\": \"^7.0.0\","},{"lineNumber":9817,"author":{"gitId":"-"},"content":" \"error-ex\": \"^1.3.1\","},{"lineNumber":9818,"author":{"gitId":"-"},"content":" \"json-parse-even-better-errors\": \"^2.3.0\","},{"lineNumber":9819,"author":{"gitId":"-"},"content":" \"lines-and-columns\": \"^1.1.6\""},{"lineNumber":9820,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9821,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9822,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9823,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9824,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9825,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9826,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9827,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9828,"author":{"gitId":"-"},"content":" \"node_modules/parse5\": {"},{"lineNumber":9829,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":9830,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9831,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9832,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9833,"author":{"gitId":"-"},"content":" \"node_modules/parse5-htmlparser2-tree-adapter\": {"},{"lineNumber":9834,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\","},{"lineNumber":9835,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9836,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9837,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9838,"author":{"gitId":"-"},"content":" \"parse5\": \"^6.0.1\""},{"lineNumber":9839,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9840,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9841,"author":{"gitId":"-"},"content":" \"node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5\": {"},{"lineNumber":9842,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\","},{"lineNumber":9843,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9844,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9845,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9846,"author":{"gitId":"-"},"content":" \"node_modules/parseurl\": {"},{"lineNumber":9847,"author":{"gitId":"-"},"content":" \"version\": \"1.3.3\","},{"lineNumber":9848,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9849,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9850,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9851,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":9852,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9853,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9854,"author":{"gitId":"-"},"content":" \"node_modules/pascal-case\": {"},{"lineNumber":9855,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":9856,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9857,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9858,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9859,"author":{"gitId":"-"},"content":" \"no-case\": \"^3.0.4\","},{"lineNumber":9860,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\""},{"lineNumber":9861,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9862,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9863,"author":{"gitId":"-"},"content":" \"node_modules/path-exists\": {"},{"lineNumber":9864,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":9865,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9866,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9867,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9868,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9869,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9870,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9871,"author":{"gitId":"-"},"content":" \"node_modules/path-is-absolute\": {"},{"lineNumber":9872,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":9873,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9874,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9875,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":9876,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9877,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9878,"author":{"gitId":"-"},"content":" \"node_modules/path-key\": {"},{"lineNumber":9879,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":9880,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9881,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9882,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9883,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9884,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9885,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9886,"author":{"gitId":"-"},"content":" \"node_modules/path-parse\": {"},{"lineNumber":9887,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\","},{"lineNumber":9888,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9889,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9890,"author":{"gitId":"-"},"content":" \"node_modules/path-to-regexp\": {"},{"lineNumber":9891,"author":{"gitId":"-"},"content":" \"version\": \"0.1.7\","},{"lineNumber":9892,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9893,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9894,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9895,"author":{"gitId":"-"},"content":" \"node_modules/path-type\": {"},{"lineNumber":9896,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":9897,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9898,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9899,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9900,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9901,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9902,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9903,"author":{"gitId":"-"},"content":" \"node_modules/picocolors\": {"},{"lineNumber":9904,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":9905,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":9906,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9907,"author":{"gitId":"-"},"content":" \"node_modules/picomatch\": {"},{"lineNumber":9908,"author":{"gitId":"-"},"content":" \"version\": \"2.3.1\","},{"lineNumber":9909,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9910,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9911,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9912,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.6\""},{"lineNumber":9913,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9914,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9915,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/jonschlinkert\""},{"lineNumber":9916,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9917,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9918,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir\": {"},{"lineNumber":9919,"author":{"gitId":"-"},"content":" \"version\": \"4.2.0\","},{"lineNumber":9920,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9921,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9922,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9923,"author":{"gitId":"-"},"content":" \"find-up\": \"^4.0.0\""},{"lineNumber":9924,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9925,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9926,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9927,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9928,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9929,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir/node_modules/find-up\": {"},{"lineNumber":9930,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":9931,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9932,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9933,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9934,"author":{"gitId":"-"},"content":" \"locate-path\": \"^5.0.0\","},{"lineNumber":9935,"author":{"gitId":"-"},"content":" \"path-exists\": \"^4.0.0\""},{"lineNumber":9936,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9937,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9938,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9939,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9940,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9941,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir/node_modules/locate-path\": {"},{"lineNumber":9942,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":9943,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9944,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9945,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9946,"author":{"gitId":"-"},"content":" \"p-locate\": \"^4.1.0\""},{"lineNumber":9947,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9948,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9949,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9950,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9951,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9952,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir/node_modules/p-limit\": {"},{"lineNumber":9953,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":9954,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9955,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9956,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9957,"author":{"gitId":"-"},"content":" \"p-try\": \"^2.0.0\""},{"lineNumber":9958,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9959,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9960,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":9961,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9962,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9963,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9964,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9965,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9966,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir/node_modules/p-locate\": {"},{"lineNumber":9967,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":9968,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9969,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9970,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9971,"author":{"gitId":"-"},"content":" \"p-limit\": \"^2.2.0\""},{"lineNumber":9972,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9973,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9974,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9975,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9976,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9977,"author":{"gitId":"-"},"content":" \"node_modules/portfinder\": {"},{"lineNumber":9978,"author":{"gitId":"-"},"content":" \"version\": \"1.0.32\","},{"lineNumber":9979,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9980,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9981,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9982,"author":{"gitId":"-"},"content":" \"async\": \"^2.6.4\","},{"lineNumber":9983,"author":{"gitId":"-"},"content":" \"debug\": \"^3.2.7\","},{"lineNumber":9984,"author":{"gitId":"-"},"content":" \"mkdirp\": \"^0.5.6\""},{"lineNumber":9985,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9986,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9987,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.12.0\""},{"lineNumber":9988,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9989,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9990,"author":{"gitId":"-"},"content":" \"node_modules/portfinder/node_modules/debug\": {"},{"lineNumber":9991,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\","},{"lineNumber":9992,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9993,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9994,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9995,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\""},{"lineNumber":9996,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9997,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9998,"author":{"gitId":"-"},"content":" \"node_modules/portfinder/node_modules/mkdirp\": {"},{"lineNumber":9999,"author":{"gitId":"-"},"content":" \"version\": \"0.5.6\","},{"lineNumber":10000,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10001,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10002,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10003,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.6\""},{"lineNumber":10004,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10005,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":10006,"author":{"gitId":"-"},"content":" \"mkdirp\": \"bin/cmd.js\""},{"lineNumber":10007,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10008,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10009,"author":{"gitId":"sopa301"},"content":" \"node_modules/possible-typed-array-names\": {"},{"lineNumber":10010,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":10011,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10012,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10013,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10014,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":10015,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":10016,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10017,"author":{"gitId":"-"},"content":" \"node_modules/postcss\": {"},{"lineNumber":10018,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.4.38\","},{"lineNumber":10019,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz\","},{"lineNumber":10020,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A\u003d\u003d\","},{"lineNumber":10021,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":10022,"author":{"gitId":"-"},"content":" {"},{"lineNumber":10023,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":10024,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\""},{"lineNumber":10025,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10026,"author":{"gitId":"-"},"content":" {"},{"lineNumber":10027,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\","},{"lineNumber":10028,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/postcss\""},{"lineNumber":10029,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":10030,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":10031,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":10032,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ai\""},{"lineNumber":10033,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10034,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":10035,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10036,"author":{"gitId":"sopa301"},"content":" \"nanoid\": \"^3.3.7\","},{"lineNumber":10037,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\","},{"lineNumber":10038,"author":{"gitId":"sopa301"},"content":" \"source-map-js\": \"^1.2.0\""},{"lineNumber":10039,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10040,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10041,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14\""},{"lineNumber":10042,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10043,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10044,"author":{"gitId":"-"},"content":" \"node_modules/postcss-calc\": {"},{"lineNumber":10045,"author":{"gitId":"-"},"content":" \"version\": \"8.2.4\","},{"lineNumber":10046,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10047,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10048,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10049,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.9\","},{"lineNumber":10050,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10051,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10052,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10053,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.2\""},{"lineNumber":10054,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10055,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10056,"author":{"gitId":"-"},"content":" \"node_modules/postcss-colormin\": {"},{"lineNumber":10057,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\","},{"lineNumber":10058,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10059,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10060,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10061,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.16.6\","},{"lineNumber":10062,"author":{"gitId":"-"},"content":" \"caniuse-api\": \"^3.0.0\","},{"lineNumber":10063,"author":{"gitId":"-"},"content":" \"colord\": \"^2.9.1\","},{"lineNumber":10064,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10065,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10066,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10067,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10068,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10069,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10070,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10071,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10072,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10073,"author":{"gitId":"-"},"content":" \"node_modules/postcss-convert-values\": {"},{"lineNumber":10074,"author":{"gitId":"-"},"content":" \"version\": \"5.1.3\","},{"lineNumber":10075,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10076,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10077,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10078,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\","},{"lineNumber":10079,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10080,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10081,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10082,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10083,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10084,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10085,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10086,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10087,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10088,"author":{"gitId":"-"},"content":" \"node_modules/postcss-discard-comments\": {"},{"lineNumber":10089,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\","},{"lineNumber":10090,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10091,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10092,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10093,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10094,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10095,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10096,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10097,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10098,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10099,"author":{"gitId":"-"},"content":" \"node_modules/postcss-discard-duplicates\": {"},{"lineNumber":10100,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10101,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10102,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10103,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10104,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10105,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10106,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10107,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10109,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10110,"author":{"gitId":"-"},"content":" \"node_modules/postcss-discard-empty\": {"},{"lineNumber":10111,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10112,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10113,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10114,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10115,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10116,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10117,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10118,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10120,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10121,"author":{"gitId":"-"},"content":" \"node_modules/postcss-discard-overridden\": {"},{"lineNumber":10122,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10123,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10124,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10125,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10126,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10127,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10128,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10129,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10131,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10132,"author":{"gitId":"-"},"content":" \"node_modules/postcss-html\": {"},{"lineNumber":10133,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.6.0\","},{"lineNumber":10134,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-html/-/postcss-html-1.6.0.tgz\","},{"lineNumber":10135,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-OWgQ9/Pe23MnNJC0PL4uZp8k0EDaUvqpJFSiwFxOLClAhmD7UEisyhO3x5hVsD4xFrjReVTXydlrMes45dJ71w\u003d\u003d\","},{"lineNumber":10136,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10137,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10138,"author":{"gitId":"-"},"content":" \"htmlparser2\": \"^8.0.0\","},{"lineNumber":10139,"author":{"gitId":"-"},"content":" \"js-tokens\": \"^8.0.0\","},{"lineNumber":10140,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.4.0\","},{"lineNumber":10141,"author":{"gitId":"-"},"content":" \"postcss-safe-parser\": \"^6.0.0\""},{"lineNumber":10142,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10143,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10144,"author":{"gitId":"-"},"content":" \"node\": \"^12 || \u003e\u003d14\""},{"lineNumber":10145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10146,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10147,"author":{"gitId":"-"},"content":" \"node_modules/postcss-html/node_modules/js-tokens\": {"},{"lineNumber":10148,"author":{"gitId":"-"},"content":" \"version\": \"8.0.1\","},{"lineNumber":10149,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10150,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10151,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10152,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader\": {"},{"lineNumber":10153,"author":{"gitId":"-"},"content":" \"version\": \"6.2.1\","},{"lineNumber":10154,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10155,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10156,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10157,"author":{"gitId":"-"},"content":" \"cosmiconfig\": \"^7.0.0\","},{"lineNumber":10158,"author":{"gitId":"-"},"content":" \"klona\": \"^2.0.5\","},{"lineNumber":10159,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.5\""},{"lineNumber":10160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10161,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10162,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":10163,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10164,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10165,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":10166,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":10167,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10168,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10169,"author":{"gitId":"-"},"content":" \"postcss\": \"^7.0.0 || ^8.0.1\","},{"lineNumber":10170,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":10171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10172,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10173,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader/node_modules/cosmiconfig\": {"},{"lineNumber":10174,"author":{"gitId":"-"},"content":" \"version\": \"7.1.0\","},{"lineNumber":10175,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10176,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10177,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10178,"author":{"gitId":"-"},"content":" \"@types/parse-json\": \"^4.0.0\","},{"lineNumber":10179,"author":{"gitId":"-"},"content":" \"import-fresh\": \"^3.2.1\","},{"lineNumber":10180,"author":{"gitId":"-"},"content":" \"parse-json\": \"^5.0.0\","},{"lineNumber":10181,"author":{"gitId":"-"},"content":" \"path-type\": \"^4.0.0\","},{"lineNumber":10182,"author":{"gitId":"-"},"content":" \"yaml\": \"^1.10.0\""},{"lineNumber":10183,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10184,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10185,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":10186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10187,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10188,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader/node_modules/lru-cache\": {"},{"lineNumber":10189,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":10190,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10191,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":10192,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10193,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":10194,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10195,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10196,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":10197,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10198,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10199,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader/node_modules/semver\": {"},{"lineNumber":10200,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":10201,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10202,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":10203,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10204,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":10205,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10206,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":10207,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":10208,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10209,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10210,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":10211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10212,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10213,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader/node_modules/yallist\": {"},{"lineNumber":10214,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":10215,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10216,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":10217,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10218,"author":{"gitId":"-"},"content":" \"node_modules/postcss-media-query-parser\": {"},{"lineNumber":10219,"author":{"gitId":"-"},"content":" \"version\": \"0.2.3\","},{"lineNumber":10220,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":10221,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10222,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10223,"author":{"gitId":"-"},"content":" \"node_modules/postcss-merge-longhand\": {"},{"lineNumber":10224,"author":{"gitId":"-"},"content":" \"version\": \"5.1.7\","},{"lineNumber":10225,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10226,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10227,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10228,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\","},{"lineNumber":10229,"author":{"gitId":"-"},"content":" \"stylehacks\": \"^5.1.1\""},{"lineNumber":10230,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10231,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10232,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10233,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10234,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10235,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10237,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10238,"author":{"gitId":"-"},"content":" \"node_modules/postcss-merge-rules\": {"},{"lineNumber":10239,"author":{"gitId":"-"},"content":" \"version\": \"5.1.3\","},{"lineNumber":10240,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10241,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10242,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10243,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\","},{"lineNumber":10244,"author":{"gitId":"-"},"content":" \"caniuse-api\": \"^3.0.0\","},{"lineNumber":10245,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\","},{"lineNumber":10246,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.5\""},{"lineNumber":10247,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10248,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10249,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10250,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10251,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10252,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10253,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10254,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10255,"author":{"gitId":"-"},"content":" \"node_modules/postcss-minify-font-values\": {"},{"lineNumber":10256,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10257,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10258,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10259,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10260,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10261,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10262,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10263,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10264,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10265,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10266,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10268,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10269,"author":{"gitId":"-"},"content":" \"node_modules/postcss-minify-gradients\": {"},{"lineNumber":10270,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10271,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10272,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10273,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10274,"author":{"gitId":"-"},"content":" \"colord\": \"^2.9.1\","},{"lineNumber":10275,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\","},{"lineNumber":10276,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10277,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10278,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10279,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10280,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10281,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10282,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10283,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10284,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10285,"author":{"gitId":"-"},"content":" \"node_modules/postcss-minify-params\": {"},{"lineNumber":10286,"author":{"gitId":"-"},"content":" \"version\": \"5.1.4\","},{"lineNumber":10287,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10288,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10289,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10290,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\","},{"lineNumber":10291,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\","},{"lineNumber":10292,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10293,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10294,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10295,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10296,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10297,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10298,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10299,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10300,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10301,"author":{"gitId":"-"},"content":" \"node_modules/postcss-minify-selectors\": {"},{"lineNumber":10302,"author":{"gitId":"-"},"content":" \"version\": \"5.2.1\","},{"lineNumber":10303,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10304,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10305,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10306,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.5\""},{"lineNumber":10307,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10308,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10309,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10310,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10311,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10312,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10313,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10314,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10315,"author":{"gitId":"-"},"content":" \"node_modules/postcss-modules-extract-imports\": {"},{"lineNumber":10316,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":10317,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10318,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":10319,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10320,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\""},{"lineNumber":10321,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10322,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10323,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\""},{"lineNumber":10324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10325,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10326,"author":{"gitId":"-"},"content":" \"node_modules/postcss-modules-local-by-default\": {"},{"lineNumber":10327,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":10328,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10329,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10330,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10331,"author":{"gitId":"-"},"content":" \"icss-utils\": \"^5.0.0\","},{"lineNumber":10332,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.2\","},{"lineNumber":10333,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.1.0\""},{"lineNumber":10334,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10335,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10336,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\""},{"lineNumber":10337,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10338,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10339,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\""},{"lineNumber":10340,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10341,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10342,"author":{"gitId":"-"},"content":" \"node_modules/postcss-modules-scope\": {"},{"lineNumber":10343,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":10344,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10345,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":10346,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10347,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.4\""},{"lineNumber":10348,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10349,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10350,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\""},{"lineNumber":10351,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10352,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10353,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\""},{"lineNumber":10354,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10355,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10356,"author":{"gitId":"-"},"content":" \"node_modules/postcss-modules-values\": {"},{"lineNumber":10357,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":10358,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10359,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":10360,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10361,"author":{"gitId":"-"},"content":" \"icss-utils\": \"^5.0.0\""},{"lineNumber":10362,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10363,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10364,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\""},{"lineNumber":10365,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10366,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10367,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\""},{"lineNumber":10368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10369,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10370,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-charset\": {"},{"lineNumber":10371,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10372,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10373,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10374,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10375,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10376,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10377,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10378,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10379,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10380,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10381,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-display-values\": {"},{"lineNumber":10382,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10383,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10384,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10385,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10386,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10387,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10388,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10389,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10390,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10391,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10392,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10393,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10394,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10395,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-positions\": {"},{"lineNumber":10396,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10397,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10398,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10399,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10400,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10401,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10402,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10403,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10404,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10405,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10406,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10407,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10408,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10409,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-repeat-style\": {"},{"lineNumber":10410,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10411,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10412,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10413,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10414,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10415,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10416,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10417,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10418,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10419,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10420,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10421,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10422,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10423,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-string\": {"},{"lineNumber":10424,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10425,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10426,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10427,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10428,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10429,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10430,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10431,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10432,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10433,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10434,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10436,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10437,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-timing-functions\": {"},{"lineNumber":10438,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10439,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10440,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10441,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10442,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10443,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10444,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10445,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10446,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10447,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10448,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10449,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10450,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10451,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-unicode\": {"},{"lineNumber":10452,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10453,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10454,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10455,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10456,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\","},{"lineNumber":10457,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10458,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10459,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10460,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10461,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10462,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10463,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10464,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10465,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10466,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-url\": {"},{"lineNumber":10467,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10468,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10469,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10470,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10471,"author":{"gitId":"-"},"content":" \"normalize-url\": \"^6.0.1\","},{"lineNumber":10472,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10473,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10474,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10475,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10476,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10477,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10478,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10479,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10480,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10481,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-whitespace\": {"},{"lineNumber":10482,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10483,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10484,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10485,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10486,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10487,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10488,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10489,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10491,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10492,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10493,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10494,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10495,"author":{"gitId":"-"},"content":" \"node_modules/postcss-ordered-values\": {"},{"lineNumber":10496,"author":{"gitId":"-"},"content":" \"version\": \"5.1.3\","},{"lineNumber":10497,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10498,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10499,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10500,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\","},{"lineNumber":10501,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10502,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10503,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10504,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10505,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10506,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10507,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10508,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10509,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10510,"author":{"gitId":"-"},"content":" \"node_modules/postcss-reduce-initial\": {"},{"lineNumber":10511,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10512,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10513,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10514,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10515,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\","},{"lineNumber":10516,"author":{"gitId":"-"},"content":" \"caniuse-api\": \"^3.0.0\""},{"lineNumber":10517,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10518,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10519,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10520,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10521,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10522,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10523,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10524,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10525,"author":{"gitId":"-"},"content":" \"node_modules/postcss-reduce-transforms\": {"},{"lineNumber":10526,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10527,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10528,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10529,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10530,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10531,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10532,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10533,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10534,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10535,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10536,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10537,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10538,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10539,"author":{"gitId":"-"},"content":" \"node_modules/postcss-resolve-nested-selector\": {"},{"lineNumber":10540,"author":{"gitId":"-"},"content":" \"version\": \"0.1.1\","},{"lineNumber":10541,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":10542,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10543,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10544,"author":{"gitId":"-"},"content":" \"node_modules/postcss-safe-parser\": {"},{"lineNumber":10545,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":10546,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10547,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10548,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10549,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.0\""},{"lineNumber":10550,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10551,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10552,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":10553,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\""},{"lineNumber":10554,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10555,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10556,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.3.3\""},{"lineNumber":10557,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10558,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10559,"author":{"gitId":"-"},"content":" \"node_modules/postcss-scss\": {"},{"lineNumber":10560,"author":{"gitId":"-"},"content":" \"version\": \"4.0.6\","},{"lineNumber":10561,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10562,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":10563,"author":{"gitId":"-"},"content":" {"},{"lineNumber":10564,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":10565,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\""},{"lineNumber":10566,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10567,"author":{"gitId":"-"},"content":" {"},{"lineNumber":10568,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\","},{"lineNumber":10569,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/postcss-scss\""},{"lineNumber":10570,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10571,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":10572,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10573,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10574,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.0\""},{"lineNumber":10575,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10576,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10577,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.4.19\""},{"lineNumber":10578,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10579,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10580,"author":{"gitId":"-"},"content":" \"node_modules/postcss-selector-parser\": {"},{"lineNumber":10581,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.15\","},{"lineNumber":10582,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10583,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10584,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10585,"author":{"gitId":"-"},"content":" \"cssesc\": \"^3.0.0\","},{"lineNumber":10586,"author":{"gitId":"-"},"content":" \"util-deprecate\": \"^1.0.2\""},{"lineNumber":10587,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10588,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10589,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":10590,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10591,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10592,"author":{"gitId":"-"},"content":" \"node_modules/postcss-sorting\": {"},{"lineNumber":10593,"author":{"gitId":"-"},"content":" \"version\": \"7.0.1\","},{"lineNumber":10594,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10595,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10596,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10597,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.3.9\""},{"lineNumber":10598,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10599,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10600,"author":{"gitId":"-"},"content":" \"node_modules/postcss-svgo\": {"},{"lineNumber":10601,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10602,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10603,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10604,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10605,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\","},{"lineNumber":10606,"author":{"gitId":"-"},"content":" \"svgo\": \"^2.7.0\""},{"lineNumber":10607,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10608,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10609,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10610,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10611,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10612,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10613,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10614,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10615,"author":{"gitId":"-"},"content":" \"node_modules/postcss-unique-selectors\": {"},{"lineNumber":10616,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10617,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10618,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10619,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10620,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.5\""},{"lineNumber":10621,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10622,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10623,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10624,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10625,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10626,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10627,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10628,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10629,"author":{"gitId":"-"},"content":" \"node_modules/postcss-value-parser\": {"},{"lineNumber":10630,"author":{"gitId":"-"},"content":" \"version\": \"4.2.0\","},{"lineNumber":10631,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10632,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10633,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10634,"author":{"gitId":"-"},"content":" \"node_modules/prelude-ls\": {"},{"lineNumber":10635,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":10636,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10637,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10638,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10639,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":10640,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10641,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10642,"author":{"gitId":"-"},"content":" \"node_modules/prettier\": {"},{"lineNumber":10643,"author":{"gitId":"-"},"content":" \"version\": \"2.8.3\","},{"lineNumber":10644,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10645,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10646,"author":{"gitId":"-"},"content":" \"optional\": true,"},{"lineNumber":10647,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":10648,"author":{"gitId":"-"},"content":" \"prettier\": \"bin-prettier.js\""},{"lineNumber":10649,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10650,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10651,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":10652,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10653,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10654,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/prettier/prettier?sponsor\u003d1\""},{"lineNumber":10655,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10656,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10657,"author":{"gitId":"-"},"content":" \"node_modules/pretty-error\": {"},{"lineNumber":10658,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":10659,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10660,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10661,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10662,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.20\","},{"lineNumber":10663,"author":{"gitId":"-"},"content":" \"renderkid\": \"^3.0.0\""},{"lineNumber":10664,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10665,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10666,"author":{"gitId":"-"},"content":" \"node_modules/process-nextick-args\": {"},{"lineNumber":10667,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":10668,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10669,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10670,"author":{"gitId":"-"},"content":" \"node_modules/progress-webpack-plugin\": {"},{"lineNumber":10671,"author":{"gitId":"-"},"content":" \"version\": \"1.0.16\","},{"lineNumber":10672,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10673,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10674,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10675,"author":{"gitId":"-"},"content":" \"chalk\": \"^2.1.0\","},{"lineNumber":10676,"author":{"gitId":"-"},"content":" \"figures\": \"^2.0.0\","},{"lineNumber":10677,"author":{"gitId":"-"},"content":" \"log-update\": \"^2.3.0\""},{"lineNumber":10678,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10679,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10680,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":10681,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10682,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10683,"author":{"gitId":"-"},"content":" \"webpack\": \"^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0\""},{"lineNumber":10684,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10685,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10686,"author":{"gitId":"-"},"content":" \"node_modules/promise\": {"},{"lineNumber":10687,"author":{"gitId":"-"},"content":" \"version\": \"7.3.1\","},{"lineNumber":10688,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10689,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10690,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10691,"author":{"gitId":"-"},"content":" \"asap\": \"~2.0.3\""},{"lineNumber":10692,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10693,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10694,"author":{"gitId":"-"},"content":" \"node_modules/prop-types\": {"},{"lineNumber":10695,"author":{"gitId":"-"},"content":" \"version\": \"15.8.1\","},{"lineNumber":10696,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10697,"author":{"gitId":"-"},"content":" \"peer\": true,"},{"lineNumber":10698,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10699,"author":{"gitId":"-"},"content":" \"loose-envify\": \"^1.4.0\","},{"lineNumber":10700,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.1\","},{"lineNumber":10701,"author":{"gitId":"-"},"content":" \"react-is\": \"^16.13.1\""},{"lineNumber":10702,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10703,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10704,"author":{"gitId":"-"},"content":" \"node_modules/proxy-addr\": {"},{"lineNumber":10705,"author":{"gitId":"-"},"content":" \"version\": \"2.0.7\","},{"lineNumber":10706,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10707,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10708,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10709,"author":{"gitId":"-"},"content":" \"forwarded\": \"0.2.0\","},{"lineNumber":10710,"author":{"gitId":"-"},"content":" \"ipaddr.js\": \"1.9.1\""},{"lineNumber":10711,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10712,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10713,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10\""},{"lineNumber":10714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10715,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10716,"author":{"gitId":"-"},"content":" \"node_modules/proxy-addr/node_modules/ipaddr.js\": {"},{"lineNumber":10717,"author":{"gitId":"-"},"content":" \"version\": \"1.9.1\","},{"lineNumber":10718,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10719,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10720,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10721,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10\""},{"lineNumber":10722,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10723,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10724,"author":{"gitId":"-"},"content":" \"node_modules/pseudomap\": {"},{"lineNumber":10725,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":10726,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":10727,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":10728,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10729,"author":{"gitId":"-"},"content":" \"node_modules/pug\": {"},{"lineNumber":10730,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\","},{"lineNumber":10731,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10732,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10733,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10734,"author":{"gitId":"-"},"content":" \"pug-code-gen\": \"^3.0.2\","},{"lineNumber":10735,"author":{"gitId":"-"},"content":" \"pug-filters\": \"^4.0.0\","},{"lineNumber":10736,"author":{"gitId":"-"},"content":" \"pug-lexer\": \"^5.0.1\","},{"lineNumber":10737,"author":{"gitId":"-"},"content":" \"pug-linker\": \"^4.0.0\","},{"lineNumber":10738,"author":{"gitId":"-"},"content":" \"pug-load\": \"^3.0.0\","},{"lineNumber":10739,"author":{"gitId":"-"},"content":" \"pug-parser\": \"^6.0.0\","},{"lineNumber":10740,"author":{"gitId":"-"},"content":" \"pug-runtime\": \"^3.0.1\","},{"lineNumber":10741,"author":{"gitId":"-"},"content":" \"pug-strip-comments\": \"^2.0.0\""},{"lineNumber":10742,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10743,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10744,"author":{"gitId":"-"},"content":" \"node_modules/pug-attrs\": {"},{"lineNumber":10745,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":10746,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10747,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10748,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10749,"author":{"gitId":"-"},"content":" \"constantinople\": \"^4.0.1\","},{"lineNumber":10750,"author":{"gitId":"-"},"content":" \"js-stringify\": \"^1.0.2\","},{"lineNumber":10751,"author":{"gitId":"-"},"content":" \"pug-runtime\": \"^3.0.0\""},{"lineNumber":10752,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10753,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10754,"author":{"gitId":"-"},"content":" \"node_modules/pug-code-gen\": {"},{"lineNumber":10755,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\","},{"lineNumber":10756,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10757,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10758,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10759,"author":{"gitId":"-"},"content":" \"constantinople\": \"^4.0.1\","},{"lineNumber":10760,"author":{"gitId":"-"},"content":" \"doctypes\": \"^1.1.0\","},{"lineNumber":10761,"author":{"gitId":"-"},"content":" \"js-stringify\": \"^1.0.2\","},{"lineNumber":10762,"author":{"gitId":"-"},"content":" \"pug-attrs\": \"^3.0.0\","},{"lineNumber":10763,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\","},{"lineNumber":10764,"author":{"gitId":"-"},"content":" \"pug-runtime\": \"^3.0.0\","},{"lineNumber":10765,"author":{"gitId":"-"},"content":" \"void-elements\": \"^3.1.0\","},{"lineNumber":10766,"author":{"gitId":"-"},"content":" \"with\": \"^7.0.0\""},{"lineNumber":10767,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10768,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10769,"author":{"gitId":"-"},"content":" \"node_modules/pug-error\": {"},{"lineNumber":10770,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":10771,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":10772,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10773,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10774,"author":{"gitId":"-"},"content":" \"node_modules/pug-filters\": {"},{"lineNumber":10775,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":10776,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10777,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10778,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10779,"author":{"gitId":"-"},"content":" \"constantinople\": \"^4.0.1\","},{"lineNumber":10780,"author":{"gitId":"-"},"content":" \"jstransformer\": \"1.0.0\","},{"lineNumber":10781,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\","},{"lineNumber":10782,"author":{"gitId":"-"},"content":" \"pug-walk\": \"^2.0.0\","},{"lineNumber":10783,"author":{"gitId":"-"},"content":" \"resolve\": \"^1.15.1\""},{"lineNumber":10784,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10785,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10786,"author":{"gitId":"-"},"content":" \"node_modules/pug-lexer\": {"},{"lineNumber":10787,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\","},{"lineNumber":10788,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10789,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10790,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10791,"author":{"gitId":"-"},"content":" \"character-parser\": \"^2.2.0\","},{"lineNumber":10792,"author":{"gitId":"-"},"content":" \"is-expression\": \"^4.0.0\","},{"lineNumber":10793,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\""},{"lineNumber":10794,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10795,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10796,"author":{"gitId":"-"},"content":" \"node_modules/pug-linker\": {"},{"lineNumber":10797,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":10798,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10799,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10800,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10801,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\","},{"lineNumber":10802,"author":{"gitId":"-"},"content":" \"pug-walk\": \"^2.0.0\""},{"lineNumber":10803,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10804,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10805,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint\": {"},{"lineNumber":10806,"author":{"gitId":"-"},"content":" \"version\": \"2.6.0\","},{"lineNumber":10807,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":10808,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10809,"author":{"gitId":"-"},"content":" \"acorn\": \"^4.0.1\","},{"lineNumber":10810,"author":{"gitId":"-"},"content":" \"commander\": \"^2.9.0\","},{"lineNumber":10811,"author":{"gitId":"-"},"content":" \"css-selector-parser\": \"^1.1.0\","},{"lineNumber":10812,"author":{"gitId":"-"},"content":" \"find-line-column\": \"^0.5.2\","},{"lineNumber":10813,"author":{"gitId":"-"},"content":" \"glob\": \"^7.0.3\","},{"lineNumber":10814,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.0.3\","},{"lineNumber":10815,"author":{"gitId":"-"},"content":" \"path-is-absolute\": \"^1.0.0\","},{"lineNumber":10816,"author":{"gitId":"-"},"content":" \"pug-attrs\": \"^2.0.3\","},{"lineNumber":10817,"author":{"gitId":"-"},"content":" \"pug-error\": \"^1.3.2\","},{"lineNumber":10818,"author":{"gitId":"-"},"content":" \"pug-lexer\": \"^4.0.0\","},{"lineNumber":10819,"author":{"gitId":"-"},"content":" \"resolve\": \"^1.1.7\","},{"lineNumber":10820,"author":{"gitId":"-"},"content":" \"strip-json-comments\": \"^2.0.1\","},{"lineNumber":10821,"author":{"gitId":"-"},"content":" \"void-elements\": \"^2.0.1\""},{"lineNumber":10822,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10823,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":10824,"author":{"gitId":"-"},"content":" \"pug-lint\": \"bin/pug-lint\""},{"lineNumber":10825,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10826,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10827,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue\": {"},{"lineNumber":10828,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\","},{"lineNumber":10829,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10830,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10831,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.0.0\","},{"lineNumber":10832,"author":{"gitId":"-"},"content":" \"cheerio\": \"^1.0.0-rc.3\","},{"lineNumber":10833,"author":{"gitId":"-"},"content":" \"commander\": \"^5.0.0\","},{"lineNumber":10834,"author":{"gitId":"-"},"content":" \"htmlparser2\": \"^4.0.0\","},{"lineNumber":10835,"author":{"gitId":"-"},"content":" \"pug-lint\": \"^2.6.0\","},{"lineNumber":10836,"author":{"gitId":"-"},"content":" \"text-table\": \"^0.2.0\","},{"lineNumber":10837,"author":{"gitId":"-"},"content":" \"walk\": \"^2.3.14\""},{"lineNumber":10838,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10839,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":10840,"author":{"gitId":"-"},"content":" \"pug-lint-vue\": \"bin/pug-lint-vue\""},{"lineNumber":10841,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10842,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10843,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/ansi-styles\": {"},{"lineNumber":10844,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":10845,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10846,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10847,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":10848,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10849,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10850,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":10851,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10852,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10853,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":10854,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10855,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10856,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/chalk\": {"},{"lineNumber":10857,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":10858,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10859,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10860,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":10861,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":10862,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10863,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10864,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":10865,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10866,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10867,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":10868,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10869,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10870,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/color-convert\": {"},{"lineNumber":10871,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":10872,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10873,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10874,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":10875,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10876,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10877,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":10878,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10879,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10880,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/color-name\": {"},{"lineNumber":10881,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":10882,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10883,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10884,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/commander\": {"},{"lineNumber":10885,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10886,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10887,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10888,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":10889,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10890,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10891,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/dom-serializer\": {"},{"lineNumber":10892,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\","},{"lineNumber":10893,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10894,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10895,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\","},{"lineNumber":10896,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\","},{"lineNumber":10897,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\""},{"lineNumber":10898,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10899,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10900,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor\u003d1\""},{"lineNumber":10901,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10902,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10903,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/dom-serializer/node_modules/domhandler\": {"},{"lineNumber":10904,"author":{"gitId":"-"},"content":" \"version\": \"4.3.1\","},{"lineNumber":10905,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":10906,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10907,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\""},{"lineNumber":10908,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10909,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10910,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":10911,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10912,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10913,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\""},{"lineNumber":10914,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10915,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10916,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/domhandler\": {"},{"lineNumber":10917,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\","},{"lineNumber":10918,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":10919,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10920,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\""},{"lineNumber":10921,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10922,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10923,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":10924,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10925,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10926,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\""},{"lineNumber":10927,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10928,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10929,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/domutils\": {"},{"lineNumber":10930,"author":{"gitId":"-"},"content":" \"version\": \"2.8.0\","},{"lineNumber":10931,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":10932,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10933,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^1.0.1\","},{"lineNumber":10934,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\","},{"lineNumber":10935,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\""},{"lineNumber":10936,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10937,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10938,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domutils?sponsor\u003d1\""},{"lineNumber":10939,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10940,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10941,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/domutils/node_modules/domhandler\": {"},{"lineNumber":10942,"author":{"gitId":"-"},"content":" \"version\": \"4.3.1\","},{"lineNumber":10943,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":10944,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10945,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\""},{"lineNumber":10946,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10947,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10948,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":10949,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10950,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10951,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\""},{"lineNumber":10952,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10953,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10954,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/entities\": {"},{"lineNumber":10955,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":10956,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":10957,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10958,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/entities?sponsor\u003d1\""},{"lineNumber":10959,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10960,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10961,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/has-flag\": {"},{"lineNumber":10962,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":10963,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10964,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10965,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":10966,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10967,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10968,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/htmlparser2\": {"},{"lineNumber":10969,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":10970,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10971,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10972,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\","},{"lineNumber":10973,"author":{"gitId":"-"},"content":" \"domhandler\": \"^3.0.0\","},{"lineNumber":10974,"author":{"gitId":"-"},"content":" \"domutils\": \"^2.0.0\","},{"lineNumber":10975,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\""},{"lineNumber":10976,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10977,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10978,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/supports-color\": {"},{"lineNumber":10979,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":10980,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10981,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10982,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":10983,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10984,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10985,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":10986,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10987,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10988,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/acorn\": {"},{"lineNumber":10989,"author":{"gitId":"-"},"content":" \"version\": \"4.0.13\","},{"lineNumber":10990,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10991,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":10992,"author":{"gitId":"-"},"content":" \"acorn\": \"bin/acorn\""},{"lineNumber":10993,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10994,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10995,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.4.0\""},{"lineNumber":10996,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10997,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10998,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/brace-expansion\": {"},{"lineNumber":10999,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":11000,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11001,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11002,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":11003,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":11004,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11005,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11006,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/commander\": {"},{"lineNumber":11007,"author":{"gitId":"-"},"content":" \"version\": \"2.20.3\","},{"lineNumber":11008,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11009,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11010,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/constantinople\": {"},{"lineNumber":11011,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":11012,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11013,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11014,"author":{"gitId":"-"},"content":" \"@types/babel-types\": \"^7.0.0\","},{"lineNumber":11015,"author":{"gitId":"-"},"content":" \"@types/babylon\": \"^6.16.2\","},{"lineNumber":11016,"author":{"gitId":"-"},"content":" \"babel-types\": \"^6.26.0\","},{"lineNumber":11017,"author":{"gitId":"-"},"content":" \"babylon\": \"^6.18.0\""},{"lineNumber":11018,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11019,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11020,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/is-expression\": {"},{"lineNumber":11021,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":11022,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11023,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11024,"author":{"gitId":"-"},"content":" \"acorn\": \"~4.0.2\","},{"lineNumber":11025,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.0.1\""},{"lineNumber":11026,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11027,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11028,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/minimatch\": {"},{"lineNumber":11029,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":11030,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":11031,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11032,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":11033,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11034,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11035,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":11036,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11037,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11038,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/pug-attrs\": {"},{"lineNumber":11039,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\","},{"lineNumber":11040,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11041,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11042,"author":{"gitId":"-"},"content":" \"constantinople\": \"^3.0.1\","},{"lineNumber":11043,"author":{"gitId":"-"},"content":" \"js-stringify\": \"^1.0.1\","},{"lineNumber":11044,"author":{"gitId":"-"},"content":" \"pug-runtime\": \"^2.0.5\""},{"lineNumber":11045,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11046,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11047,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/pug-error\": {"},{"lineNumber":11048,"author":{"gitId":"-"},"content":" \"version\": \"1.3.3\","},{"lineNumber":11049,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11050,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11051,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/pug-lexer\": {"},{"lineNumber":11052,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":11053,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11054,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11055,"author":{"gitId":"-"},"content":" \"character-parser\": \"^2.1.1\","},{"lineNumber":11056,"author":{"gitId":"-"},"content":" \"is-expression\": \"^3.0.0\","},{"lineNumber":11057,"author":{"gitId":"-"},"content":" \"pug-error\": \"^1.3.3\""},{"lineNumber":11058,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11059,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11060,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/pug-runtime\": {"},{"lineNumber":11061,"author":{"gitId":"-"},"content":" \"version\": \"2.0.5\","},{"lineNumber":11062,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11063,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11064,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/strip-json-comments\": {"},{"lineNumber":11065,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":11066,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11067,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11068,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":11069,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11070,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11071,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/void-elements\": {"},{"lineNumber":11072,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":11073,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11074,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11075,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":11076,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11077,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11078,"author":{"gitId":"-"},"content":" \"node_modules/pug-load\": {"},{"lineNumber":11079,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":11080,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11081,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11082,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11083,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.1\","},{"lineNumber":11084,"author":{"gitId":"-"},"content":" \"pug-walk\": \"^2.0.0\""},{"lineNumber":11085,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11086,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11087,"author":{"gitId":"-"},"content":" \"node_modules/pug-parser\": {"},{"lineNumber":11088,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":11089,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11090,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11091,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11092,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\","},{"lineNumber":11093,"author":{"gitId":"-"},"content":" \"token-stream\": \"1.0.0\""},{"lineNumber":11094,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11095,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11096,"author":{"gitId":"-"},"content":" \"node_modules/pug-plain-loader\": {"},{"lineNumber":11097,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":11098,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11099,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11100,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11101,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^1.1.0\""},{"lineNumber":11102,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11103,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":11104,"author":{"gitId":"-"},"content":" \"pug\": \"^2.0.0 || ^3.0.0\""},{"lineNumber":11105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11106,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11107,"author":{"gitId":"-"},"content":" \"node_modules/pug-runtime\": {"},{"lineNumber":11108,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":11109,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11110,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11111,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11112,"author":{"gitId":"-"},"content":" \"node_modules/pug-strip-comments\": {"},{"lineNumber":11113,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":11114,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11115,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11116,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11117,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\""},{"lineNumber":11118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11119,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11120,"author":{"gitId":"-"},"content":" \"node_modules/pug-walk\": {"},{"lineNumber":11121,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":11122,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11123,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11124,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11125,"author":{"gitId":"-"},"content":" \"node_modules/pump\": {"},{"lineNumber":11126,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":11127,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11128,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11129,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11130,"author":{"gitId":"-"},"content":" \"end-of-stream\": \"^1.1.0\","},{"lineNumber":11131,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.1\""},{"lineNumber":11132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11133,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11134,"author":{"gitId":"-"},"content":" \"node_modules/punycode\": {"},{"lineNumber":11135,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":11136,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11137,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":11138,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":11139,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":11140,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11141,"author":{"gitId":"sopa301"},"content":" \"node_modules/punycode.js\": {"},{"lineNumber":11142,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.1\","},{"lineNumber":11143,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11144,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11145,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":11146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11147,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11148,"author":{"gitId":"-"},"content":" \"node_modules/qs\": {"},{"lineNumber":11149,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.11.0\","},{"lineNumber":11150,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.11.0.tgz\","},{"lineNumber":11151,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q\u003d\u003d\","},{"lineNumber":11152,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11153,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":11154,"author":{"gitId":"sopa301"},"content":" \"side-channel\": \"^1.0.4\""},{"lineNumber":11155,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11156,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11157,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.6\""},{"lineNumber":11158,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11159,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":11160,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":11161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11162,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11163,"author":{"gitId":"-"},"content":" \"node_modules/queue-microtask\": {"},{"lineNumber":11164,"author":{"gitId":"-"},"content":" \"version\": \"1.2.3\","},{"lineNumber":11165,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11166,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":11167,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11168,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":11169,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":11170,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11171,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11172,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":11173,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":11174,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11175,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11176,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":11177,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":11178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11179,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":11180,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11181,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11182,"author":{"gitId":"-"},"content":" \"node_modules/quick-lru\": {"},{"lineNumber":11183,"author":{"gitId":"-"},"content":" \"version\": \"4.0.1\","},{"lineNumber":11184,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11185,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11186,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11187,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11189,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11190,"author":{"gitId":"-"},"content":" \"node_modules/randombytes\": {"},{"lineNumber":11191,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":11192,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11193,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11194,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"^5.1.0\""},{"lineNumber":11195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11196,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11197,"author":{"gitId":"-"},"content":" \"node_modules/range-parser\": {"},{"lineNumber":11198,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":11199,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11200,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11201,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11202,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":11203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11204,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11205,"author":{"gitId":"-"},"content":" \"node_modules/raw-body\": {"},{"lineNumber":11206,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.5.2\","},{"lineNumber":11207,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz\","},{"lineNumber":11208,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA\u003d\u003d\","},{"lineNumber":11209,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11210,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11211,"author":{"gitId":"-"},"content":" \"bytes\": \"3.1.2\","},{"lineNumber":11212,"author":{"gitId":"-"},"content":" \"http-errors\": \"2.0.0\","},{"lineNumber":11213,"author":{"gitId":"-"},"content":" \"iconv-lite\": \"0.4.24\","},{"lineNumber":11214,"author":{"gitId":"-"},"content":" \"unpipe\": \"1.0.0\""},{"lineNumber":11215,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11216,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11217,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":11218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11219,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11220,"author":{"gitId":"-"},"content":" \"node_modules/raw-body/node_modules/bytes\": {"},{"lineNumber":11221,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":11222,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz\","},{"lineNumber":11223,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg\u003d\u003d\","},{"lineNumber":11224,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11225,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11226,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":11227,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11228,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11229,"author":{"gitId":"-"},"content":" \"node_modules/raw-body/node_modules/iconv-lite\": {"},{"lineNumber":11230,"author":{"gitId":"-"},"content":" \"version\": \"0.4.24\","},{"lineNumber":11231,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz\","},{"lineNumber":11232,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA\u003d\u003d\","},{"lineNumber":11233,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11234,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11235,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"\u003e\u003d 2.1.2 \u003c 3\""},{"lineNumber":11236,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11237,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11238,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":11239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11240,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11241,"author":{"gitId":"-"},"content":" \"node_modules/react\": {"},{"lineNumber":11242,"author":{"gitId":"-"},"content":" \"version\": \"16.14.0\","},{"lineNumber":11243,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11244,"author":{"gitId":"-"},"content":" \"peer\": true,"},{"lineNumber":11245,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11246,"author":{"gitId":"-"},"content":" \"loose-envify\": \"^1.1.0\","},{"lineNumber":11247,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.1\","},{"lineNumber":11248,"author":{"gitId":"-"},"content":" \"prop-types\": \"^15.6.2\""},{"lineNumber":11249,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11250,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11251,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":11252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11253,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11254,"author":{"gitId":"-"},"content":" \"node_modules/react-addons-shallow-compare\": {"},{"lineNumber":11255,"author":{"gitId":"-"},"content":" \"version\": \"15.6.3\","},{"lineNumber":11256,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11257,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11258,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.0\""},{"lineNumber":11259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11260,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11261,"author":{"gitId":"-"},"content":" \"node_modules/react-is\": {"},{"lineNumber":11262,"author":{"gitId":"-"},"content":" \"version\": \"16.13.1\","},{"lineNumber":11263,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11264,"author":{"gitId":"-"},"content":" \"peer\": true"},{"lineNumber":11265,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11266,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg\": {"},{"lineNumber":11267,"author":{"gitId":"-"},"content":" \"version\": \"5.2.0\","},{"lineNumber":11268,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11269,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11270,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11271,"author":{"gitId":"-"},"content":" \"@types/normalize-package-data\": \"^2.4.0\","},{"lineNumber":11272,"author":{"gitId":"-"},"content":" \"normalize-package-data\": \"^2.5.0\","},{"lineNumber":11273,"author":{"gitId":"-"},"content":" \"parse-json\": \"^5.0.0\","},{"lineNumber":11274,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.6.0\""},{"lineNumber":11275,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11276,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11277,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11279,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11280,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up\": {"},{"lineNumber":11281,"author":{"gitId":"-"},"content":" \"version\": \"7.0.1\","},{"lineNumber":11282,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11283,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11284,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11285,"author":{"gitId":"-"},"content":" \"find-up\": \"^4.1.0\","},{"lineNumber":11286,"author":{"gitId":"-"},"content":" \"read-pkg\": \"^5.2.0\","},{"lineNumber":11287,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.8.1\""},{"lineNumber":11288,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11289,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11290,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11291,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11292,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11293,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":11294,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11295,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11296,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/find-up\": {"},{"lineNumber":11297,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":11298,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11299,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11300,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11301,"author":{"gitId":"-"},"content":" \"locate-path\": \"^5.0.0\","},{"lineNumber":11302,"author":{"gitId":"-"},"content":" \"path-exists\": \"^4.0.0\""},{"lineNumber":11303,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11304,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11305,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11307,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11308,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/locate-path\": {"},{"lineNumber":11309,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":11310,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11311,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11312,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11313,"author":{"gitId":"-"},"content":" \"p-locate\": \"^4.1.0\""},{"lineNumber":11314,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11315,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11316,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11317,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11318,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11319,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/p-limit\": {"},{"lineNumber":11320,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":11321,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11322,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11323,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11324,"author":{"gitId":"-"},"content":" \"p-try\": \"^2.0.0\""},{"lineNumber":11325,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11326,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11327,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":11328,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11329,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11330,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":11331,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11332,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11333,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/p-locate\": {"},{"lineNumber":11334,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":11335,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11336,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11337,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11338,"author":{"gitId":"-"},"content":" \"p-limit\": \"^2.2.0\""},{"lineNumber":11339,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11340,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11341,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11342,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11343,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11344,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/type-fest\": {"},{"lineNumber":11345,"author":{"gitId":"-"},"content":" \"version\": \"0.8.1\","},{"lineNumber":11346,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11347,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR CC0-1.0)\","},{"lineNumber":11348,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11349,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11350,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11351,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11352,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg/node_modules/hosted-git-info\": {"},{"lineNumber":11353,"author":{"gitId":"-"},"content":" \"version\": \"2.8.9\","},{"lineNumber":11354,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11355,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":11356,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11357,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg/node_modules/normalize-package-data\": {"},{"lineNumber":11358,"author":{"gitId":"-"},"content":" \"version\": \"2.5.0\","},{"lineNumber":11359,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11360,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":11361,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11362,"author":{"gitId":"-"},"content":" \"hosted-git-info\": \"^2.1.4\","},{"lineNumber":11363,"author":{"gitId":"-"},"content":" \"resolve\": \"^1.10.0\","},{"lineNumber":11364,"author":{"gitId":"-"},"content":" \"semver\": \"2 || 3 || 4 || 5\","},{"lineNumber":11365,"author":{"gitId":"-"},"content":" \"validate-npm-package-license\": \"^3.0.1\""},{"lineNumber":11366,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11367,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11368,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg/node_modules/semver\": {"},{"lineNumber":11369,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.7.2\","},{"lineNumber":11370,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11371,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":11372,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":11373,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver\""},{"lineNumber":11374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11375,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11376,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg/node_modules/type-fest\": {"},{"lineNumber":11377,"author":{"gitId":"-"},"content":" \"version\": \"0.6.0\","},{"lineNumber":11378,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11379,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR CC0-1.0)\","},{"lineNumber":11380,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11381,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11382,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11383,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11384,"author":{"gitId":"-"},"content":" \"node_modules/readable-stream\": {"},{"lineNumber":11385,"author":{"gitId":"-"},"content":" \"version\": \"2.3.7\","},{"lineNumber":11386,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11387,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11388,"author":{"gitId":"-"},"content":" \"core-util-is\": \"~1.0.0\","},{"lineNumber":11389,"author":{"gitId":"-"},"content":" \"inherits\": \"~2.0.3\","},{"lineNumber":11390,"author":{"gitId":"-"},"content":" \"isarray\": \"~1.0.0\","},{"lineNumber":11391,"author":{"gitId":"-"},"content":" \"process-nextick-args\": \"~2.0.0\","},{"lineNumber":11392,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"~5.1.1\","},{"lineNumber":11393,"author":{"gitId":"-"},"content":" \"string_decoder\": \"~1.1.1\","},{"lineNumber":11394,"author":{"gitId":"-"},"content":" \"util-deprecate\": \"~1.0.1\""},{"lineNumber":11395,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11396,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11397,"author":{"gitId":"-"},"content":" \"node_modules/readdirp\": {"},{"lineNumber":11398,"author":{"gitId":"-"},"content":" \"version\": \"3.6.0\","},{"lineNumber":11399,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11400,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11401,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11402,"author":{"gitId":"-"},"content":" \"picomatch\": \"^2.2.1\""},{"lineNumber":11403,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11404,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11405,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.10.0\""},{"lineNumber":11406,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11407,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11408,"author":{"gitId":"-"},"content":" \"node_modules/redent\": {"},{"lineNumber":11409,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":11410,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11411,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11412,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11413,"author":{"gitId":"-"},"content":" \"indent-string\": \"^4.0.0\","},{"lineNumber":11414,"author":{"gitId":"-"},"content":" \"strip-indent\": \"^3.0.0\""},{"lineNumber":11415,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11416,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11417,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11418,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11419,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11420,"author":{"gitId":"-"},"content":" \"node_modules/regenerate\": {"},{"lineNumber":11421,"author":{"gitId":"-"},"content":" \"version\": \"1.4.2\","},{"lineNumber":11422,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11423,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11424,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11425,"author":{"gitId":"-"},"content":" \"node_modules/regenerate-unicode-properties\": {"},{"lineNumber":11426,"author":{"gitId":"-"},"content":" \"version\": \"10.1.0\","},{"lineNumber":11427,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11428,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11429,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11430,"author":{"gitId":"-"},"content":" \"regenerate\": \"^1.4.2\""},{"lineNumber":11431,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11432,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11433,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":11434,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11435,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11436,"author":{"gitId":"-"},"content":" \"node_modules/regenerator-runtime\": {"},{"lineNumber":11437,"author":{"gitId":"-"},"content":" \"version\": \"0.13.11\","},{"lineNumber":11438,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11439,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11440,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11441,"author":{"gitId":"-"},"content":" \"node_modules/regenerator-transform\": {"},{"lineNumber":11442,"author":{"gitId":"-"},"content":" \"version\": \"0.15.1\","},{"lineNumber":11443,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11444,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11445,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11446,"author":{"gitId":"-"},"content":" \"@babel/runtime\": \"^7.8.4\""},{"lineNumber":11447,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11448,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11449,"author":{"gitId":"-"},"content":" \"node_modules/regexp.prototype.flags\": {"},{"lineNumber":11450,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.2\","},{"lineNumber":11451,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11452,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11453,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11454,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.6\","},{"lineNumber":11455,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\","},{"lineNumber":11456,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":11457,"author":{"gitId":"sopa301"},"content":" \"set-function-name\": \"^2.0.1\""},{"lineNumber":11458,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11459,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11460,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":11461,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11462,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11463,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":11464,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11465,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11466,"author":{"gitId":"sopa301"},"content":" \"node_modules/regexpu-core\": {"},{"lineNumber":11467,"author":{"gitId":"-"},"content":" \"version\": \"5.2.2\","},{"lineNumber":11468,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11469,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11470,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11471,"author":{"gitId":"-"},"content":" \"regenerate\": \"^1.4.2\","},{"lineNumber":11472,"author":{"gitId":"-"},"content":" \"regenerate-unicode-properties\": \"^10.1.0\","},{"lineNumber":11473,"author":{"gitId":"-"},"content":" \"regjsgen\": \"^0.7.1\","},{"lineNumber":11474,"author":{"gitId":"-"},"content":" \"regjsparser\": \"^0.9.1\","},{"lineNumber":11475,"author":{"gitId":"-"},"content":" \"unicode-match-property-ecmascript\": \"^2.0.0\","},{"lineNumber":11476,"author":{"gitId":"-"},"content":" \"unicode-match-property-value-ecmascript\": \"^2.1.0\""},{"lineNumber":11477,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11478,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11479,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":11480,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11481,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11482,"author":{"gitId":"-"},"content":" \"node_modules/regjsgen\": {"},{"lineNumber":11483,"author":{"gitId":"-"},"content":" \"version\": \"0.7.1\","},{"lineNumber":11484,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11485,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11486,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11487,"author":{"gitId":"-"},"content":" \"node_modules/regjsparser\": {"},{"lineNumber":11488,"author":{"gitId":"-"},"content":" \"version\": \"0.9.1\","},{"lineNumber":11489,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11490,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":11491,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11492,"author":{"gitId":"-"},"content":" \"jsesc\": \"~0.5.0\""},{"lineNumber":11493,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11494,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":11495,"author":{"gitId":"-"},"content":" \"regjsparser\": \"bin/parser\""},{"lineNumber":11496,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11497,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11498,"author":{"gitId":"-"},"content":" \"node_modules/regjsparser/node_modules/jsesc\": {"},{"lineNumber":11499,"author":{"gitId":"-"},"content":" \"version\": \"0.5.0\","},{"lineNumber":11500,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11501,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":11502,"author":{"gitId":"-"},"content":" \"jsesc\": \"bin/jsesc\""},{"lineNumber":11503,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11504,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11505,"author":{"gitId":"-"},"content":" \"node_modules/relateurl\": {"},{"lineNumber":11506,"author":{"gitId":"-"},"content":" \"version\": \"0.2.7\","},{"lineNumber":11507,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11508,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11509,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11510,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10\""},{"lineNumber":11511,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11512,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11513,"author":{"gitId":"-"},"content":" \"node_modules/renderkid\": {"},{"lineNumber":11514,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":11515,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11516,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11517,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11518,"author":{"gitId":"-"},"content":" \"css-select\": \"^4.1.3\","},{"lineNumber":11519,"author":{"gitId":"-"},"content":" \"dom-converter\": \"^0.2.0\","},{"lineNumber":11520,"author":{"gitId":"-"},"content":" \"htmlparser2\": \"^6.1.0\","},{"lineNumber":11521,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.21\","},{"lineNumber":11522,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":11523,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11524,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11525,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/css-select\": {"},{"lineNumber":11526,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":11527,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11528,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":11529,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11530,"author":{"gitId":"-"},"content":" \"boolbase\": \"^1.0.0\","},{"lineNumber":11531,"author":{"gitId":"-"},"content":" \"css-what\": \"^6.0.1\","},{"lineNumber":11532,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.3.1\","},{"lineNumber":11533,"author":{"gitId":"-"},"content":" \"domutils\": \"^2.8.0\","},{"lineNumber":11534,"author":{"gitId":"-"},"content":" \"nth-check\": \"^2.0.1\""},{"lineNumber":11535,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11536,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11537,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":11538,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11539,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11540,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/dom-serializer\": {"},{"lineNumber":11541,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\","},{"lineNumber":11542,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11543,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11544,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11545,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\","},{"lineNumber":11546,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\","},{"lineNumber":11547,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\""},{"lineNumber":11548,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11549,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11550,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor\u003d1\""},{"lineNumber":11551,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11552,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11553,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/domhandler\": {"},{"lineNumber":11554,"author":{"gitId":"-"},"content":" \"version\": \"4.3.1\","},{"lineNumber":11555,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11556,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":11557,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11558,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\""},{"lineNumber":11559,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11560,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11561,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":11562,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11563,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11564,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\""},{"lineNumber":11565,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11566,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11567,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/domutils\": {"},{"lineNumber":11568,"author":{"gitId":"-"},"content":" \"version\": \"2.8.0\","},{"lineNumber":11569,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11570,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":11571,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11572,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^1.0.1\","},{"lineNumber":11573,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\","},{"lineNumber":11574,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\""},{"lineNumber":11575,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11576,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11577,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domutils?sponsor\u003d1\""},{"lineNumber":11578,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11579,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11580,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/entities\": {"},{"lineNumber":11581,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":11582,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11583,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":11584,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11585,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/entities?sponsor\u003d1\""},{"lineNumber":11586,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11587,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11588,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/htmlparser2\": {"},{"lineNumber":11589,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\","},{"lineNumber":11590,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11591,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":11592,"author":{"gitId":"-"},"content":" \"https://github.com/fb55/htmlparser2?sponsor\u003d1\","},{"lineNumber":11593,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11594,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":11595,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":11596,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11597,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":11598,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11599,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11600,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\","},{"lineNumber":11601,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.0.0\","},{"lineNumber":11602,"author":{"gitId":"-"},"content":" \"domutils\": \"^2.5.2\","},{"lineNumber":11603,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\""},{"lineNumber":11604,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11605,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11606,"author":{"gitId":"-"},"content":" \"node_modules/require-directory\": {"},{"lineNumber":11607,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\","},{"lineNumber":11608,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11609,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11610,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11611,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":11612,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11613,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11614,"author":{"gitId":"-"},"content":" \"node_modules/require-from-string\": {"},{"lineNumber":11615,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\","},{"lineNumber":11616,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11617,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11618,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11619,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":11620,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11621,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11622,"author":{"gitId":"-"},"content":" \"node_modules/requires-port\": {"},{"lineNumber":11623,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":11624,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11625,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11626,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11627,"author":{"gitId":"-"},"content":" \"node_modules/resolve\": {"},{"lineNumber":11628,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.22.8\","},{"lineNumber":11629,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11630,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11631,"author":{"gitId":"sopa301"},"content":" \"is-core-module\": \"^2.13.0\","},{"lineNumber":11632,"author":{"gitId":"-"},"content":" \"path-parse\": \"^1.0.7\","},{"lineNumber":11633,"author":{"gitId":"-"},"content":" \"supports-preserve-symlinks-flag\": \"^1.0.0\""},{"lineNumber":11634,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11635,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":11636,"author":{"gitId":"-"},"content":" \"resolve\": \"bin/resolve\""},{"lineNumber":11637,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11638,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11639,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":11640,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11641,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11642,"author":{"gitId":"-"},"content":" \"node_modules/resolve-from\": {"},{"lineNumber":11643,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":11644,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11645,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11646,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11647,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":11648,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11649,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11650,"author":{"gitId":"-"},"content":" \"node_modules/restore-cursor\": {"},{"lineNumber":11651,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":11652,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11653,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11654,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11655,"author":{"gitId":"-"},"content":" \"onetime\": \"^5.1.0\","},{"lineNumber":11656,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.2\""},{"lineNumber":11657,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11658,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11659,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11660,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11661,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11662,"author":{"gitId":"-"},"content":" \"node_modules/reusify\": {"},{"lineNumber":11663,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":11664,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11665,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11666,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11667,"author":{"gitId":"-"},"content":" \"iojs\": \"\u003e\u003d1.0.0\","},{"lineNumber":11668,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":11669,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11670,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11671,"author":{"gitId":"-"},"content":" \"node_modules/rimraf\": {"},{"lineNumber":11672,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\","},{"lineNumber":11673,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11674,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":11675,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11676,"author":{"gitId":"-"},"content":" \"glob\": \"^7.1.3\""},{"lineNumber":11677,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11678,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":11679,"author":{"gitId":"-"},"content":" \"rimraf\": \"bin.js\""},{"lineNumber":11680,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11681,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11682,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/isaacs\""},{"lineNumber":11683,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11684,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11685,"author":{"gitId":"-"},"content":" \"node_modules/run-parallel\": {"},{"lineNumber":11686,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":11687,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11688,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":11689,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11690,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":11691,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":11692,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11693,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11694,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":11695,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":11696,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11697,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11698,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":11699,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":11700,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11701,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":11702,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11703,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11704,"author":{"gitId":"-"},"content":" \"queue-microtask\": \"^1.2.2\""},{"lineNumber":11705,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11706,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11707,"author":{"gitId":"sopa301"},"content":" \"node_modules/safe-array-concat\": {"},{"lineNumber":11708,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.2\","},{"lineNumber":11709,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11710,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11711,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":11712,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\","},{"lineNumber":11713,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\","},{"lineNumber":11714,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\","},{"lineNumber":11715,"author":{"gitId":"sopa301"},"content":" \"isarray\": \"^2.0.5\""},{"lineNumber":11716,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11717,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":11718,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.4\""},{"lineNumber":11719,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11720,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":11721,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":11722,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":11723,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11724,"author":{"gitId":"sopa301"},"content":" \"node_modules/safe-array-concat/node_modules/isarray\": {"},{"lineNumber":11725,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.5\","},{"lineNumber":11726,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11727,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11728,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11729,"author":{"gitId":"-"},"content":" \"node_modules/safe-buffer\": {"},{"lineNumber":11730,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\","},{"lineNumber":11731,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11732,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11733,"author":{"gitId":"-"},"content":" \"node_modules/safe-regex-test\": {"},{"lineNumber":11734,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\","},{"lineNumber":11735,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11736,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11737,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11738,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.6\","},{"lineNumber":11739,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":11740,"author":{"gitId":"-"},"content":" \"is-regex\": \"^1.1.4\""},{"lineNumber":11741,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11742,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":11743,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":11744,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11745,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11746,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":11747,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11748,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11749,"author":{"gitId":"-"},"content":" \"node_modules/safer-buffer\": {"},{"lineNumber":11750,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\","},{"lineNumber":11751,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11752,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11753,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11754,"author":{"gitId":"-"},"content":" \"node_modules/sass\": {"},{"lineNumber":11755,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.72.0\","},{"lineNumber":11756,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/sass/-/sass-1.72.0.tgz\","},{"lineNumber":11757,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA\u003d\u003d\","},{"lineNumber":11758,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11759,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11760,"author":{"gitId":"-"},"content":" \"chokidar\": \"\u003e\u003d3.0.0 \u003c4.0.0\","},{"lineNumber":11761,"author":{"gitId":"-"},"content":" \"immutable\": \"^4.0.0\","},{"lineNumber":11762,"author":{"gitId":"-"},"content":" \"source-map-js\": \"\u003e\u003d0.6.2 \u003c2.0.0\""},{"lineNumber":11763,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11764,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":11765,"author":{"gitId":"-"},"content":" \"sass\": \"sass.js\""},{"lineNumber":11766,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11767,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11768,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d14.0.0\""},{"lineNumber":11769,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11770,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11771,"author":{"gitId":"-"},"content":" \"node_modules/sass-loader\": {"},{"lineNumber":11772,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.3.3\","},{"lineNumber":11773,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.3.tgz\","},{"lineNumber":11774,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA\u003d\u003d\","},{"lineNumber":11775,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11776,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11777,"author":{"gitId":"-"},"content":" \"neo-async\": \"^2.6.2\""},{"lineNumber":11778,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11779,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11780,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 14.15.0\""},{"lineNumber":11781,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11782,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11783,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":11784,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":11785,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11786,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":11787,"author":{"gitId":"-"},"content":" \"fibers\": \"\u003e\u003d 3.1.0\","},{"lineNumber":11788,"author":{"gitId":"sopa301"},"content":" \"node-sass\": \"^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0\","},{"lineNumber":11789,"author":{"gitId":"-"},"content":" \"sass\": \"^1.3.0\","},{"lineNumber":11790,"author":{"gitId":"-"},"content":" \"sass-embedded\": \"*\","},{"lineNumber":11791,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":11792,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11793,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":11794,"author":{"gitId":"-"},"content":" \"fibers\": {"},{"lineNumber":11795,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":11796,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11797,"author":{"gitId":"-"},"content":" \"node-sass\": {"},{"lineNumber":11798,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":11799,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11800,"author":{"gitId":"-"},"content":" \"sass\": {"},{"lineNumber":11801,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":11802,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11803,"author":{"gitId":"-"},"content":" \"sass-embedded\": {"},{"lineNumber":11804,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":11805,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11806,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11807,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11808,"author":{"gitId":"-"},"content":" \"node_modules/schema-utils\": {"},{"lineNumber":11809,"author":{"gitId":"-"},"content":" \"version\": \"2.7.1\","},{"lineNumber":11810,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11811,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11812,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11813,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.5\","},{"lineNumber":11814,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.4\","},{"lineNumber":11815,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\""},{"lineNumber":11816,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11817,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11818,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8.9.0\""},{"lineNumber":11819,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11820,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11821,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":11822,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":11823,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11824,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11825,"author":{"gitId":"-"},"content":" \"node_modules/seedrandom\": {"},{"lineNumber":11826,"author":{"gitId":"-"},"content":" \"version\": \"3.0.5\","},{"lineNumber":11827,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11828,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11829,"author":{"gitId":"-"},"content":" \"node_modules/select-hose\": {"},{"lineNumber":11830,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":11831,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11832,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11833,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11834,"author":{"gitId":"-"},"content":" \"node_modules/selfsigned\": {"},{"lineNumber":11835,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\","},{"lineNumber":11836,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11837,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11838,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11839,"author":{"gitId":"-"},"content":" \"node-forge\": \"^1\""},{"lineNumber":11840,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11841,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11842,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":11843,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11844,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11845,"author":{"gitId":"-"},"content":" \"node_modules/semver\": {"},{"lineNumber":11846,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.3.1\","},{"lineNumber":11847,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11848,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":11849,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":11850,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":11851,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11852,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11853,"author":{"gitId":"-"},"content":" \"node_modules/send\": {"},{"lineNumber":11854,"author":{"gitId":"-"},"content":" \"version\": \"0.18.0\","},{"lineNumber":11855,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11856,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11857,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11858,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\","},{"lineNumber":11859,"author":{"gitId":"-"},"content":" \"depd\": \"2.0.0\","},{"lineNumber":11860,"author":{"gitId":"-"},"content":" \"destroy\": \"1.2.0\","},{"lineNumber":11861,"author":{"gitId":"-"},"content":" \"encodeurl\": \"~1.0.2\","},{"lineNumber":11862,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\","},{"lineNumber":11863,"author":{"gitId":"-"},"content":" \"etag\": \"~1.8.1\","},{"lineNumber":11864,"author":{"gitId":"-"},"content":" \"fresh\": \"0.5.2\","},{"lineNumber":11865,"author":{"gitId":"-"},"content":" \"http-errors\": \"2.0.0\","},{"lineNumber":11866,"author":{"gitId":"-"},"content":" \"mime\": \"1.6.0\","},{"lineNumber":11867,"author":{"gitId":"-"},"content":" \"ms\": \"2.1.3\","},{"lineNumber":11868,"author":{"gitId":"-"},"content":" \"on-finished\": \"2.4.1\","},{"lineNumber":11869,"author":{"gitId":"-"},"content":" \"range-parser\": \"~1.2.1\","},{"lineNumber":11870,"author":{"gitId":"-"},"content":" \"statuses\": \"2.0.1\""},{"lineNumber":11871,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11872,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11873,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":11874,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11875,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11876,"author":{"gitId":"-"},"content":" \"node_modules/send/node_modules/debug\": {"},{"lineNumber":11877,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\","},{"lineNumber":11878,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11879,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11880,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11881,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\""},{"lineNumber":11882,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11883,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11884,"author":{"gitId":"-"},"content":" \"node_modules/send/node_modules/debug/node_modules/ms\": {"},{"lineNumber":11885,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":11886,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11887,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11888,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11889,"author":{"gitId":"-"},"content":" \"node_modules/send/node_modules/depd\": {"},{"lineNumber":11890,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":11891,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11892,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11893,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11894,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":11895,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11896,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11897,"author":{"gitId":"-"},"content":" \"node_modules/send/node_modules/ms\": {"},{"lineNumber":11898,"author":{"gitId":"-"},"content":" \"version\": \"2.1.3\","},{"lineNumber":11899,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11900,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11901,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11902,"author":{"gitId":"-"},"content":" \"node_modules/serialize-javascript\": {"},{"lineNumber":11903,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\","},{"lineNumber":11904,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":11905,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11906,"author":{"gitId":"-"},"content":" \"randombytes\": \"^2.1.0\""},{"lineNumber":11907,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11908,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11909,"author":{"gitId":"-"},"content":" \"node_modules/serve-index\": {"},{"lineNumber":11910,"author":{"gitId":"-"},"content":" \"version\": \"1.9.1\","},{"lineNumber":11911,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11912,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11913,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11914,"author":{"gitId":"-"},"content":" \"accepts\": \"~1.3.4\","},{"lineNumber":11915,"author":{"gitId":"-"},"content":" \"batch\": \"0.6.1\","},{"lineNumber":11916,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\","},{"lineNumber":11917,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\","},{"lineNumber":11918,"author":{"gitId":"-"},"content":" \"http-errors\": \"~1.6.2\","},{"lineNumber":11919,"author":{"gitId":"-"},"content":" \"mime-types\": \"~2.1.17\","},{"lineNumber":11920,"author":{"gitId":"-"},"content":" \"parseurl\": \"~1.3.2\""},{"lineNumber":11921,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11922,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11923,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":11924,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11925,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11926,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/debug\": {"},{"lineNumber":11927,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\","},{"lineNumber":11928,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11929,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11930,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11931,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\""},{"lineNumber":11932,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11933,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11934,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/http-errors\": {"},{"lineNumber":11935,"author":{"gitId":"-"},"content":" \"version\": \"1.6.3\","},{"lineNumber":11936,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11937,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11938,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11939,"author":{"gitId":"-"},"content":" \"depd\": \"~1.1.2\","},{"lineNumber":11940,"author":{"gitId":"-"},"content":" \"inherits\": \"2.0.3\","},{"lineNumber":11941,"author":{"gitId":"-"},"content":" \"setprototypeof\": \"1.1.0\","},{"lineNumber":11942,"author":{"gitId":"-"},"content":" \"statuses\": \"\u003e\u003d 1.4.0 \u003c 2\""},{"lineNumber":11943,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11944,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11945,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":11946,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11947,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11948,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/inherits\": {"},{"lineNumber":11949,"author":{"gitId":"-"},"content":" \"version\": \"2.0.3\","},{"lineNumber":11950,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11951,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":11952,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11953,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/ms\": {"},{"lineNumber":11954,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":11955,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11956,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11957,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11958,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/setprototypeof\": {"},{"lineNumber":11959,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":11960,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11961,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":11962,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11963,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/statuses\": {"},{"lineNumber":11964,"author":{"gitId":"-"},"content":" \"version\": \"1.5.0\","},{"lineNumber":11965,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11966,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11967,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11968,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":11969,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11970,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11971,"author":{"gitId":"-"},"content":" \"node_modules/serve-static\": {"},{"lineNumber":11972,"author":{"gitId":"-"},"content":" \"version\": \"1.15.0\","},{"lineNumber":11973,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11974,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11975,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11976,"author":{"gitId":"-"},"content":" \"encodeurl\": \"~1.0.2\","},{"lineNumber":11977,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\","},{"lineNumber":11978,"author":{"gitId":"-"},"content":" \"parseurl\": \"~1.3.3\","},{"lineNumber":11979,"author":{"gitId":"-"},"content":" \"send\": \"0.18.0\""},{"lineNumber":11980,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11981,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11982,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":11983,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11984,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11985,"author":{"gitId":"sopa301"},"content":" \"node_modules/set-function-length\": {"},{"lineNumber":11986,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.2\","},{"lineNumber":11987,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11988,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":11989,"author":{"gitId":"sopa301"},"content":" \"define-data-property\": \"^1.1.4\","},{"lineNumber":11990,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":11991,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.2\","},{"lineNumber":11992,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\","},{"lineNumber":11993,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\","},{"lineNumber":11994,"author":{"gitId":"sopa301"},"content":" \"has-property-descriptors\": \"^1.0.2\""},{"lineNumber":11995,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11996,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":11997,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":11998,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":11999,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12000,"author":{"gitId":"sopa301"},"content":" \"node_modules/set-function-name\": {"},{"lineNumber":12001,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\","},{"lineNumber":12002,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12003,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12004,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":12005,"author":{"gitId":"sopa301"},"content":" \"define-data-property\": \"^1.1.4\","},{"lineNumber":12006,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":12007,"author":{"gitId":"sopa301"},"content":" \"functions-have-names\": \"^1.2.3\","},{"lineNumber":12008,"author":{"gitId":"sopa301"},"content":" \"has-property-descriptors\": \"^1.0.2\""},{"lineNumber":12009,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12010,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":12011,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":12012,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12013,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12014,"author":{"gitId":"-"},"content":" \"node_modules/setimmediate\": {"},{"lineNumber":12015,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\","},{"lineNumber":12016,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":12017,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12018,"author":{"gitId":"-"},"content":" \"node_modules/setprototypeof\": {"},{"lineNumber":12019,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":12020,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12021,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":12022,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12023,"author":{"gitId":"-"},"content":" \"node_modules/shallow-clone\": {"},{"lineNumber":12024,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":12025,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12026,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12027,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12028,"author":{"gitId":"-"},"content":" \"kind-of\": \"^6.0.2\""},{"lineNumber":12029,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12030,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12031,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12032,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12033,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12034,"author":{"gitId":"-"},"content":" \"node_modules/shebang-command\": {"},{"lineNumber":12035,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":12036,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12037,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12038,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12039,"author":{"gitId":"-"},"content":" \"shebang-regex\": \"^3.0.0\""},{"lineNumber":12040,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12041,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12042,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12043,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12044,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12045,"author":{"gitId":"-"},"content":" \"node_modules/shebang-regex\": {"},{"lineNumber":12046,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":12047,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12048,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12049,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12050,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12051,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12052,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12053,"author":{"gitId":"-"},"content":" \"node_modules/shell-quote\": {"},{"lineNumber":12054,"author":{"gitId":"-"},"content":" \"version\": \"1.7.4\","},{"lineNumber":12055,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12056,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12057,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12058,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":12059,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12060,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12061,"author":{"gitId":"-"},"content":" \"node_modules/side-channel\": {"},{"lineNumber":12062,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":12063,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12064,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12065,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12066,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.0\","},{"lineNumber":12067,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.0.2\","},{"lineNumber":12068,"author":{"gitId":"-"},"content":" \"object-inspect\": \"^1.9.0\""},{"lineNumber":12069,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12070,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12071,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":12072,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12073,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12074,"author":{"gitId":"-"},"content":" \"node_modules/signal-exit\": {"},{"lineNumber":12075,"author":{"gitId":"-"},"content":" \"version\": \"3.0.7\","},{"lineNumber":12076,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12077,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":12078,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12079,"author":{"gitId":"-"},"content":" \"node_modules/sirv\": {"},{"lineNumber":12080,"author":{"gitId":"-"},"content":" \"version\": \"1.0.19\","},{"lineNumber":12081,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12082,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12083,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12084,"author":{"gitId":"-"},"content":" \"@polka/url\": \"^1.0.0-next.20\","},{"lineNumber":12085,"author":{"gitId":"-"},"content":" \"mrmime\": \"^1.0.0\","},{"lineNumber":12086,"author":{"gitId":"-"},"content":" \"totalist\": \"^1.0.0\""},{"lineNumber":12087,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12088,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12089,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\""},{"lineNumber":12090,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12091,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12092,"author":{"gitId":"-"},"content":" \"node_modules/slash\": {"},{"lineNumber":12093,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":12094,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12095,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12096,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12097,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12098,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12099,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12100,"author":{"gitId":"-"},"content":" \"node_modules/slice-ansi\": {"},{"lineNumber":12101,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":12102,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12103,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12104,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12105,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":12106,"author":{"gitId":"-"},"content":" \"astral-regex\": \"^2.0.0\","},{"lineNumber":12107,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\""},{"lineNumber":12108,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12109,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12110,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":12111,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12112,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12113,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/slice-ansi?sponsor\u003d1\""},{"lineNumber":12114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12115,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12116,"author":{"gitId":"-"},"content":" \"node_modules/slice-ansi/node_modules/ansi-styles\": {"},{"lineNumber":12117,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":12118,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12119,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12120,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12121,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":12122,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12123,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12124,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12125,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12126,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12127,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":12128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12129,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12130,"author":{"gitId":"-"},"content":" \"node_modules/slice-ansi/node_modules/color-convert\": {"},{"lineNumber":12131,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":12132,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12133,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12134,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12135,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":12136,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12137,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12138,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":12139,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12140,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12141,"author":{"gitId":"-"},"content":" \"node_modules/slice-ansi/node_modules/color-name\": {"},{"lineNumber":12142,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":12143,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12144,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":12145,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12146,"author":{"gitId":"-"},"content":" \"node_modules/sockjs\": {"},{"lineNumber":12147,"author":{"gitId":"-"},"content":" \"version\": \"0.3.24\","},{"lineNumber":12148,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12149,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12150,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12151,"author":{"gitId":"-"},"content":" \"faye-websocket\": \"^0.11.3\","},{"lineNumber":12152,"author":{"gitId":"-"},"content":" \"uuid\": \"^8.3.2\","},{"lineNumber":12153,"author":{"gitId":"-"},"content":" \"websocket-driver\": \"^0.7.4\""},{"lineNumber":12154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12155,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12156,"author":{"gitId":"-"},"content":" \"node_modules/sockjs/node_modules/uuid\": {"},{"lineNumber":12157,"author":{"gitId":"-"},"content":" \"version\": \"8.3.2\","},{"lineNumber":12158,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12159,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12160,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":12161,"author":{"gitId":"-"},"content":" \"uuid\": \"dist/bin/uuid\""},{"lineNumber":12162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12163,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12164,"author":{"gitId":"-"},"content":" \"node_modules/source-map\": {"},{"lineNumber":12165,"author":{"gitId":"-"},"content":" \"version\": \"0.6.1\","},{"lineNumber":12166,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":12167,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12168,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":12169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12170,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12171,"author":{"gitId":"-"},"content":" \"node_modules/source-map-js\": {"},{"lineNumber":12172,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.0\","},{"lineNumber":12173,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz\","},{"lineNumber":12174,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg\u003d\u003d\","},{"lineNumber":12175,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12176,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":12177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12178,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12179,"author":{"gitId":"-"},"content":" \"node_modules/source-map-support\": {"},{"lineNumber":12180,"author":{"gitId":"-"},"content":" \"version\": \"0.5.21\","},{"lineNumber":12181,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12182,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12183,"author":{"gitId":"-"},"content":" \"buffer-from\": \"^1.0.0\","},{"lineNumber":12184,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.0\""},{"lineNumber":12185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12186,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12187,"author":{"gitId":"-"},"content":" \"node_modules/spdx-correct\": {"},{"lineNumber":12188,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":12189,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12190,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":12191,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12192,"author":{"gitId":"-"},"content":" \"spdx-expression-parse\": \"^3.0.0\","},{"lineNumber":12193,"author":{"gitId":"-"},"content":" \"spdx-license-ids\": \"^3.0.0\""},{"lineNumber":12194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12195,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12196,"author":{"gitId":"-"},"content":" \"node_modules/spdx-exceptions\": {"},{"lineNumber":12197,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":12198,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12199,"author":{"gitId":"sopa301"},"content":" \"license\": \"CC-BY-3.0\""},{"lineNumber":12200,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12201,"author":{"gitId":"-"},"content":" \"node_modules/spdx-expression-parse\": {"},{"lineNumber":12202,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":12203,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12204,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12205,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12206,"author":{"gitId":"-"},"content":" \"spdx-exceptions\": \"^2.1.0\","},{"lineNumber":12207,"author":{"gitId":"-"},"content":" \"spdx-license-ids\": \"^3.0.0\""},{"lineNumber":12208,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12209,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12210,"author":{"gitId":"-"},"content":" \"node_modules/spdx-license-ids\": {"},{"lineNumber":12211,"author":{"gitId":"-"},"content":" \"version\": \"3.0.12\","},{"lineNumber":12212,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12213,"author":{"gitId":"sopa301"},"content":" \"license\": \"CC0-1.0\""},{"lineNumber":12214,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12215,"author":{"gitId":"-"},"content":" \"node_modules/spdy\": {"},{"lineNumber":12216,"author":{"gitId":"-"},"content":" \"version\": \"4.0.2\","},{"lineNumber":12217,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12218,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12219,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12220,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.0\","},{"lineNumber":12221,"author":{"gitId":"-"},"content":" \"handle-thing\": \"^2.0.0\","},{"lineNumber":12222,"author":{"gitId":"-"},"content":" \"http-deceiver\": \"^1.2.7\","},{"lineNumber":12223,"author":{"gitId":"-"},"content":" \"select-hose\": \"^2.0.0\","},{"lineNumber":12224,"author":{"gitId":"-"},"content":" \"spdy-transport\": \"^3.0.0\""},{"lineNumber":12225,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12226,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12227,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":12228,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12229,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12230,"author":{"gitId":"-"},"content":" \"node_modules/spdy-transport\": {"},{"lineNumber":12231,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":12232,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12233,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12234,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12235,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.0\","},{"lineNumber":12236,"author":{"gitId":"-"},"content":" \"detect-node\": \"^2.0.4\","},{"lineNumber":12237,"author":{"gitId":"-"},"content":" \"hpack.js\": \"^2.1.6\","},{"lineNumber":12238,"author":{"gitId":"-"},"content":" \"obuf\": \"^1.1.2\","},{"lineNumber":12239,"author":{"gitId":"-"},"content":" \"readable-stream\": \"^3.0.6\","},{"lineNumber":12240,"author":{"gitId":"-"},"content":" \"wbuf\": \"^1.7.3\""},{"lineNumber":12241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12242,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12243,"author":{"gitId":"-"},"content":" \"node_modules/spdy-transport/node_modules/readable-stream\": {"},{"lineNumber":12244,"author":{"gitId":"-"},"content":" \"version\": \"3.6.0\","},{"lineNumber":12245,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12246,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12247,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12248,"author":{"gitId":"-"},"content":" \"inherits\": \"^2.0.3\","},{"lineNumber":12249,"author":{"gitId":"-"},"content":" \"string_decoder\": \"^1.1.1\","},{"lineNumber":12250,"author":{"gitId":"-"},"content":" \"util-deprecate\": \"^1.0.1\""},{"lineNumber":12251,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12252,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12253,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":12254,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12255,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12256,"author":{"gitId":"-"},"content":" \"node_modules/ssri\": {"},{"lineNumber":12257,"author":{"gitId":"-"},"content":" \"version\": \"8.0.1\","},{"lineNumber":12258,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12259,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":12260,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12261,"author":{"gitId":"-"},"content":" \"minipass\": \"^3.1.1\""},{"lineNumber":12262,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12263,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12264,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":12265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12266,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12267,"author":{"gitId":"-"},"content":" \"node_modules/stable\": {"},{"lineNumber":12268,"author":{"gitId":"-"},"content":" \"version\": \"0.1.8\","},{"lineNumber":12269,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12270,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":12271,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12272,"author":{"gitId":"-"},"content":" \"node_modules/stackframe\": {"},{"lineNumber":12273,"author":{"gitId":"-"},"content":" \"version\": \"1.3.4\","},{"lineNumber":12274,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12275,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":12276,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12277,"author":{"gitId":"-"},"content":" \"node_modules/statuses\": {"},{"lineNumber":12278,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":12279,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12280,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12281,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12282,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":12283,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12284,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12285,"author":{"gitId":"-"},"content":" \"node_modules/string_decoder\": {"},{"lineNumber":12286,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\","},{"lineNumber":12287,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12288,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12289,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"~5.1.0\""},{"lineNumber":12290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12291,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12292,"author":{"gitId":"-"},"content":" \"node_modules/string-width\": {"},{"lineNumber":12293,"author":{"gitId":"-"},"content":" \"version\": \"4.2.3\","},{"lineNumber":12294,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12295,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12296,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12297,"author":{"gitId":"-"},"content":" \"emoji-regex\": \"^8.0.0\","},{"lineNumber":12298,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\","},{"lineNumber":12299,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":12300,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12301,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12302,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12303,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12304,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12305,"author":{"gitId":"sopa301"},"content":" \"node_modules/string.prototype.trim\": {"},{"lineNumber":12306,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.8\","},{"lineNumber":12307,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12308,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12309,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":12310,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":12311,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":12312,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\""},{"lineNumber":12313,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12314,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":12315,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":12316,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12317,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":12318,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":12319,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12320,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12321,"author":{"gitId":"-"},"content":" \"node_modules/string.prototype.trimend\": {"},{"lineNumber":12322,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\","},{"lineNumber":12323,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12324,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12325,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12326,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":12327,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":12328,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\""},{"lineNumber":12329,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12330,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12331,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":12332,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12333,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12334,"author":{"gitId":"-"},"content":" \"node_modules/string.prototype.trimstart\": {"},{"lineNumber":12335,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\","},{"lineNumber":12336,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12337,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12338,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12339,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":12340,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":12341,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\""},{"lineNumber":12342,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12343,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12344,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":12345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12346,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12347,"author":{"gitId":"-"},"content":" \"node_modules/strip-ansi\": {"},{"lineNumber":12348,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\","},{"lineNumber":12349,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12350,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12351,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12352,"author":{"gitId":"-"},"content":" \"ansi-regex\": \"^5.0.1\""},{"lineNumber":12353,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12354,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12355,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12356,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12357,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12358,"author":{"gitId":"-"},"content":" \"node_modules/strip-bom\": {"},{"lineNumber":12359,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":12360,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12361,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12362,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12363,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":12364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12365,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12366,"author":{"gitId":"-"},"content":" \"node_modules/strip-eof\": {"},{"lineNumber":12367,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":12368,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12369,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12370,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12371,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":12372,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12373,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12374,"author":{"gitId":"-"},"content":" \"node_modules/strip-final-newline\": {"},{"lineNumber":12375,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":12376,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12377,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12378,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12379,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":12380,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12381,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12382,"author":{"gitId":"-"},"content":" \"node_modules/strip-indent\": {"},{"lineNumber":12383,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":12384,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12385,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12386,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12387,"author":{"gitId":"-"},"content":" \"min-indent\": \"^1.0.0\""},{"lineNumber":12388,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12389,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12390,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12391,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12392,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12393,"author":{"gitId":"-"},"content":" \"node_modules/strip-json-comments\": {"},{"lineNumber":12394,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":12395,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12396,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12397,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12398,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12399,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12400,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12401,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":12402,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12403,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12404,"author":{"gitId":"-"},"content":" \"node_modules/style-search\": {"},{"lineNumber":12405,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\","},{"lineNumber":12406,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12407,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":12408,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12409,"author":{"gitId":"-"},"content":" \"node_modules/stylehacks\": {"},{"lineNumber":12410,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":12411,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12412,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12413,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12414,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\","},{"lineNumber":12415,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.4\""},{"lineNumber":12416,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12417,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12418,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":12419,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12420,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12421,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":12422,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12423,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12424,"author":{"gitId":"-"},"content":" \"node_modules/stylelint\": {"},{"lineNumber":12425,"author":{"gitId":"-"},"content":" \"version\": \"14.16.1\","},{"lineNumber":12426,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12427,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12428,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12429,"author":{"gitId":"-"},"content":" \"@csstools/selector-specificity\": \"^2.0.2\","},{"lineNumber":12430,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^2.0.0\","},{"lineNumber":12431,"author":{"gitId":"-"},"content":" \"colord\": \"^2.9.3\","},{"lineNumber":12432,"author":{"gitId":"-"},"content":" \"cosmiconfig\": \"^7.1.0\","},{"lineNumber":12433,"author":{"gitId":"-"},"content":" \"css-functions-list\": \"^3.1.0\","},{"lineNumber":12434,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":12435,"author":{"gitId":"-"},"content":" \"fast-glob\": \"^3.2.12\","},{"lineNumber":12436,"author":{"gitId":"-"},"content":" \"fastest-levenshtein\": \"^1.0.16\","},{"lineNumber":12437,"author":{"gitId":"-"},"content":" \"file-entry-cache\": \"^6.0.1\","},{"lineNumber":12438,"author":{"gitId":"-"},"content":" \"global-modules\": \"^2.0.0\","},{"lineNumber":12439,"author":{"gitId":"-"},"content":" \"globby\": \"^11.1.0\","},{"lineNumber":12440,"author":{"gitId":"-"},"content":" \"globjoin\": \"^0.1.4\","},{"lineNumber":12441,"author":{"gitId":"-"},"content":" \"html-tags\": \"^3.2.0\","},{"lineNumber":12442,"author":{"gitId":"-"},"content":" \"ignore\": \"^5.2.1\","},{"lineNumber":12443,"author":{"gitId":"-"},"content":" \"import-lazy\": \"^4.0.0\","},{"lineNumber":12444,"author":{"gitId":"-"},"content":" \"imurmurhash\": \"^0.1.4\","},{"lineNumber":12445,"author":{"gitId":"-"},"content":" \"is-plain-object\": \"^5.0.0\","},{"lineNumber":12446,"author":{"gitId":"-"},"content":" \"known-css-properties\": \"^0.26.0\","},{"lineNumber":12447,"author":{"gitId":"-"},"content":" \"mathml-tag-names\": \"^2.1.3\","},{"lineNumber":12448,"author":{"gitId":"-"},"content":" \"meow\": \"^9.0.0\","},{"lineNumber":12449,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.5\","},{"lineNumber":12450,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\","},{"lineNumber":12451,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\","},{"lineNumber":12452,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.4.19\","},{"lineNumber":12453,"author":{"gitId":"-"},"content":" \"postcss-media-query-parser\": \"^0.2.3\","},{"lineNumber":12454,"author":{"gitId":"-"},"content":" \"postcss-resolve-nested-selector\": \"^0.1.1\","},{"lineNumber":12455,"author":{"gitId":"-"},"content":" \"postcss-safe-parser\": \"^6.0.0\","},{"lineNumber":12456,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.11\","},{"lineNumber":12457,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\","},{"lineNumber":12458,"author":{"gitId":"-"},"content":" \"resolve-from\": \"^5.0.0\","},{"lineNumber":12459,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.3\","},{"lineNumber":12460,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\","},{"lineNumber":12461,"author":{"gitId":"-"},"content":" \"style-search\": \"^0.1.0\","},{"lineNumber":12462,"author":{"gitId":"-"},"content":" \"supports-hyperlinks\": \"^2.3.0\","},{"lineNumber":12463,"author":{"gitId":"-"},"content":" \"svg-tags\": \"^1.0.0\","},{"lineNumber":12464,"author":{"gitId":"-"},"content":" \"table\": \"^6.8.1\","},{"lineNumber":12465,"author":{"gitId":"-"},"content":" \"v8-compile-cache\": \"^2.3.0\","},{"lineNumber":12466,"author":{"gitId":"-"},"content":" \"write-file-atomic\": \"^4.0.2\""},{"lineNumber":12467,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12468,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":12469,"author":{"gitId":"-"},"content":" \"stylelint\": \"bin/stylelint.js\""},{"lineNumber":12470,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12471,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12472,"author":{"gitId":"-"},"content":" \"node\": \"^12.20.0 || ^14.13.1 || \u003e\u003d16.0.0\""},{"lineNumber":12473,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12474,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12475,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":12476,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/stylelint\""},{"lineNumber":12477,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12478,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12479,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-html\": {"},{"lineNumber":12480,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":12481,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12482,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12483,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12484,"author":{"gitId":"-"},"content":" \"node\": \"^12 || \u003e\u003d14\""},{"lineNumber":12485,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12486,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12487,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ota-meshi\""},{"lineNumber":12488,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12489,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12490,"author":{"gitId":"-"},"content":" \"postcss-html\": \"^1.0.0\","},{"lineNumber":12491,"author":{"gitId":"-"},"content":" \"stylelint\": \"\u003e\u003d14.0.0\""},{"lineNumber":12492,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12493,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12494,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended\": {"},{"lineNumber":12495,"author":{"gitId":"-"},"content":" \"version\": \"7.0.0\","},{"lineNumber":12496,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12497,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12498,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12499,"author":{"gitId":"-"},"content":" \"stylelint\": \"^14.4.0\""},{"lineNumber":12500,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12501,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12502,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-scss\": {"},{"lineNumber":12503,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":12504,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12505,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12506,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12507,"author":{"gitId":"-"},"content":" \"postcss-scss\": \"^4.0.2\","},{"lineNumber":12508,"author":{"gitId":"-"},"content":" \"stylelint-config-recommended\": \"^7.0.0\","},{"lineNumber":12509,"author":{"gitId":"-"},"content":" \"stylelint-scss\": \"^4.0.0\""},{"lineNumber":12510,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12511,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12512,"author":{"gitId":"-"},"content":" \"stylelint\": \"^14.4.0\""},{"lineNumber":12513,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12514,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12515,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-vue\": {"},{"lineNumber":12516,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.0\","},{"lineNumber":12517,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-config-recommended-vue/-/stylelint-config-recommended-vue-1.5.0.tgz\","},{"lineNumber":12518,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-65TAK/clUqkNtkZLcuytoxU0URQYlml+30Nhop7sRkCZ/mtWdXt7T+spPSB3KMKlb+82aEVJ4OrcstyDBdbosg\u003d\u003d\","},{"lineNumber":12519,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12520,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12521,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.5\","},{"lineNumber":12522,"author":{"gitId":"-"},"content":" \"stylelint-config-html\": \"\u003e\u003d1.0.0\","},{"lineNumber":12523,"author":{"gitId":"-"},"content":" \"stylelint-config-recommended\": \"\u003e\u003d6.0.0\""},{"lineNumber":12524,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12525,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12526,"author":{"gitId":"-"},"content":" \"node\": \"^12 || \u003e\u003d14\""},{"lineNumber":12527,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12528,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12529,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ota-meshi\""},{"lineNumber":12530,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12531,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12532,"author":{"gitId":"-"},"content":" \"postcss-html\": \"^1.0.0\","},{"lineNumber":12533,"author":{"gitId":"-"},"content":" \"stylelint\": \"\u003e\u003d14.0.0\""},{"lineNumber":12534,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12535,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12536,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-vue/node_modules/lru-cache\": {"},{"lineNumber":12537,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":12538,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12539,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":12540,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12541,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":12542,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12543,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12544,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":12545,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12546,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12547,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-vue/node_modules/semver\": {"},{"lineNumber":12548,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":12549,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12550,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":12551,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12552,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":12553,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12554,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":12555,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":12556,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12557,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12558,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":12559,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12560,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12561,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-vue/node_modules/yallist\": {"},{"lineNumber":12562,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":12563,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12564,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":12565,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12566,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-order\": {"},{"lineNumber":12567,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":12568,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12569,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12570,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12571,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.3.11\","},{"lineNumber":12572,"author":{"gitId":"-"},"content":" \"postcss-sorting\": \"^7.0.1\""},{"lineNumber":12573,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12574,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12575,"author":{"gitId":"-"},"content":" \"stylelint\": \"^14.0.0\""},{"lineNumber":12576,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12577,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12578,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-scss\": {"},{"lineNumber":12579,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.7.0\","},{"lineNumber":12580,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.7.0.tgz\","},{"lineNumber":12581,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-TSUgIeS0H3jqDZnby1UO1Qv3poi1N8wUYIJY6D1tuUq2MN3lwp/rITVo0wD+1SWTmRm0tNmGO0b7nKInnqF6Hg\u003d\u003d\","},{"lineNumber":12582,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12583,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12584,"author":{"gitId":"-"},"content":" \"postcss-media-query-parser\": \"^0.2.3\","},{"lineNumber":12585,"author":{"gitId":"-"},"content":" \"postcss-resolve-nested-selector\": \"^0.1.1\","},{"lineNumber":12586,"author":{"gitId":"sopa301"},"content":" \"postcss-selector-parser\": \"^6.0.11\","},{"lineNumber":12587,"author":{"gitId":"sopa301"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":12588,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12589,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12590,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^14.5.1 || ^15.0.0\""},{"lineNumber":12591,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12592,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12593,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin\": {"},{"lineNumber":12594,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\","},{"lineNumber":12595,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12596,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12597,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12598,"author":{"gitId":"-"},"content":" \"globby\": \"^11.1.0\","},{"lineNumber":12599,"author":{"gitId":"-"},"content":" \"jest-worker\": \"^28.1.0\","},{"lineNumber":12600,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.5\","},{"lineNumber":12601,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\","},{"lineNumber":12602,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\""},{"lineNumber":12603,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12604,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12605,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":12606,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12607,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12608,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":12609,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":12610,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12611,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12612,"author":{"gitId":"-"},"content":" \"stylelint\": \"^13.0.0 || ^14.0.0\","},{"lineNumber":12613,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":12614,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12615,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12616,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/ajv\": {"},{"lineNumber":12617,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":12618,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12619,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12620,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12621,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":12622,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":12623,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":12624,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":12625,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12626,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12627,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":12628,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":12629,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12630,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12631,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/ajv-keywords\": {"},{"lineNumber":12632,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":12633,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12634,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12635,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12636,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\""},{"lineNumber":12637,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12638,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12639,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\""},{"lineNumber":12640,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12641,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12642,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/has-flag\": {"},{"lineNumber":12643,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":12644,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12645,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12646,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12647,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12648,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12649,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12650,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/jest-worker\": {"},{"lineNumber":12651,"author":{"gitId":"-"},"content":" \"version\": \"28.1.3\","},{"lineNumber":12652,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12653,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12654,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12655,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\","},{"lineNumber":12656,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\","},{"lineNumber":12657,"author":{"gitId":"-"},"content":" \"supports-color\": \"^8.0.0\""},{"lineNumber":12658,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12659,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12660,"author":{"gitId":"-"},"content":" \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || \u003e\u003d17.0.0\""},{"lineNumber":12661,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12662,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12663,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/json-schema-traverse\": {"},{"lineNumber":12664,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":12665,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12666,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":12667,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12668,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/schema-utils\": {"},{"lineNumber":12669,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":12670,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12671,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12672,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12673,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\","},{"lineNumber":12674,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\","},{"lineNumber":12675,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\","},{"lineNumber":12676,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\""},{"lineNumber":12677,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12678,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12679,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":12680,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12681,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12682,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":12683,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":12684,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12685,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12686,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/supports-color\": {"},{"lineNumber":12687,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\","},{"lineNumber":12688,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12689,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12690,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12691,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":12692,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12693,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12694,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":12695,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12696,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12697,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\""},{"lineNumber":12698,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12699,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12700,"author":{"gitId":"-"},"content":" \"node_modules/stylelint/node_modules/balanced-match\": {"},{"lineNumber":12701,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":12702,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12703,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":12704,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12705,"author":{"gitId":"-"},"content":" \"node_modules/stylelint/node_modules/cosmiconfig\": {"},{"lineNumber":12706,"author":{"gitId":"-"},"content":" \"version\": \"7.1.0\","},{"lineNumber":12707,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12708,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12709,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12710,"author":{"gitId":"-"},"content":" \"@types/parse-json\": \"^4.0.0\","},{"lineNumber":12711,"author":{"gitId":"-"},"content":" \"import-fresh\": \"^3.2.1\","},{"lineNumber":12712,"author":{"gitId":"-"},"content":" \"parse-json\": \"^5.0.0\","},{"lineNumber":12713,"author":{"gitId":"-"},"content":" \"path-type\": \"^4.0.0\","},{"lineNumber":12714,"author":{"gitId":"-"},"content":" \"yaml\": \"^1.10.0\""},{"lineNumber":12715,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12716,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12717,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":12718,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12719,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12720,"author":{"gitId":"-"},"content":" \"node_modules/stylelint/node_modules/resolve-from\": {"},{"lineNumber":12721,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":12722,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12723,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12724,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12725,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12726,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12727,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12728,"author":{"gitId":"-"},"content":" \"node_modules/supports-color\": {"},{"lineNumber":12729,"author":{"gitId":"-"},"content":" \"version\": \"5.5.0\","},{"lineNumber":12730,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12731,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12732,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12733,"author":{"gitId":"-"},"content":" \"has-flag\": \"^3.0.0\""},{"lineNumber":12734,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12735,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12736,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":12737,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12738,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12739,"author":{"gitId":"-"},"content":" \"node_modules/supports-hyperlinks\": {"},{"lineNumber":12740,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":12741,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12742,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12743,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12744,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\","},{"lineNumber":12745,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.0.0\""},{"lineNumber":12746,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12747,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12748,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12749,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12750,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12751,"author":{"gitId":"-"},"content":" \"node_modules/supports-hyperlinks/node_modules/has-flag\": {"},{"lineNumber":12752,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":12753,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12754,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12755,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12756,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12757,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12758,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12759,"author":{"gitId":"-"},"content":" \"node_modules/supports-hyperlinks/node_modules/supports-color\": {"},{"lineNumber":12760,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":12761,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12762,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12763,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12764,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":12765,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12766,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12767,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12768,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12769,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12770,"author":{"gitId":"-"},"content":" \"node_modules/supports-preserve-symlinks-flag\": {"},{"lineNumber":12771,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":12772,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12773,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12774,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":12775,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12776,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12777,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":12778,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12779,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12780,"author":{"gitId":"-"},"content":" \"node_modules/svg-tags\": {"},{"lineNumber":12781,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":12782,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":12783,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12784,"author":{"gitId":"-"},"content":" \"node_modules/svgo\": {"},{"lineNumber":12785,"author":{"gitId":"-"},"content":" \"version\": \"2.8.0\","},{"lineNumber":12786,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12787,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12788,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12789,"author":{"gitId":"-"},"content":" \"@trysound/sax\": \"0.2.0\","},{"lineNumber":12790,"author":{"gitId":"-"},"content":" \"commander\": \"^7.2.0\","},{"lineNumber":12791,"author":{"gitId":"-"},"content":" \"css-select\": \"^4.1.3\","},{"lineNumber":12792,"author":{"gitId":"-"},"content":" \"css-tree\": \"^1.1.3\","},{"lineNumber":12793,"author":{"gitId":"-"},"content":" \"csso\": \"^4.2.0\","},{"lineNumber":12794,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\","},{"lineNumber":12795,"author":{"gitId":"-"},"content":" \"stable\": \"^0.1.8\""},{"lineNumber":12796,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12797,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":12798,"author":{"gitId":"-"},"content":" \"svgo\": \"bin/svgo\""},{"lineNumber":12799,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12800,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12801,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":12802,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12803,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12804,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/commander\": {"},{"lineNumber":12805,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":12806,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12807,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12808,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12809,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\""},{"lineNumber":12810,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12811,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12812,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/css-select\": {"},{"lineNumber":12813,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":12814,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12815,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":12816,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12817,"author":{"gitId":"-"},"content":" \"boolbase\": \"^1.0.0\","},{"lineNumber":12818,"author":{"gitId":"-"},"content":" \"css-what\": \"^6.0.1\","},{"lineNumber":12819,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.3.1\","},{"lineNumber":12820,"author":{"gitId":"-"},"content":" \"domutils\": \"^2.8.0\","},{"lineNumber":12821,"author":{"gitId":"-"},"content":" \"nth-check\": \"^2.0.1\""},{"lineNumber":12822,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12823,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12824,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":12825,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12826,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12827,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/dom-serializer\": {"},{"lineNumber":12828,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\","},{"lineNumber":12829,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12830,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12831,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12832,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\","},{"lineNumber":12833,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\","},{"lineNumber":12834,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\""},{"lineNumber":12835,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12836,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12837,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor\u003d1\""},{"lineNumber":12838,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12839,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12840,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/domhandler\": {"},{"lineNumber":12841,"author":{"gitId":"-"},"content":" \"version\": \"4.3.1\","},{"lineNumber":12842,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12843,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":12844,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12845,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\""},{"lineNumber":12846,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12847,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12848,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":12849,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12850,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12851,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\""},{"lineNumber":12852,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12853,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12854,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/domutils\": {"},{"lineNumber":12855,"author":{"gitId":"-"},"content":" \"version\": \"2.8.0\","},{"lineNumber":12856,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12857,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":12858,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12859,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^1.0.1\","},{"lineNumber":12860,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\","},{"lineNumber":12861,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\""},{"lineNumber":12862,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12863,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12864,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domutils?sponsor\u003d1\""},{"lineNumber":12865,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12866,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12867,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/entities\": {"},{"lineNumber":12868,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":12869,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12870,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":12871,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12872,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/entities?sponsor\u003d1\""},{"lineNumber":12873,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12874,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12875,"author":{"gitId":"-"},"content":" \"node_modules/table\": {"},{"lineNumber":12876,"author":{"gitId":"-"},"content":" \"version\": \"6.8.1\","},{"lineNumber":12877,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12878,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":12879,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12880,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.0.1\","},{"lineNumber":12881,"author":{"gitId":"-"},"content":" \"lodash.truncate\": \"^4.4.2\","},{"lineNumber":12882,"author":{"gitId":"-"},"content":" \"slice-ansi\": \"^4.0.0\","},{"lineNumber":12883,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.3\","},{"lineNumber":12884,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":12885,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12886,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12887,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.0.0\""},{"lineNumber":12888,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12889,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12890,"author":{"gitId":"-"},"content":" \"node_modules/table/node_modules/ajv\": {"},{"lineNumber":12891,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":12892,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12893,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12894,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12895,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":12896,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":12897,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":12898,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":12899,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12900,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12901,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":12902,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":12903,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12904,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12905,"author":{"gitId":"-"},"content":" \"node_modules/table/node_modules/json-schema-traverse\": {"},{"lineNumber":12906,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":12907,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12908,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":12909,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12910,"author":{"gitId":"-"},"content":" \"node_modules/tapable\": {"},{"lineNumber":12911,"author":{"gitId":"-"},"content":" \"version\": \"1.1.3\","},{"lineNumber":12912,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12913,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12914,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12915,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":12916,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12917,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12918,"author":{"gitId":"-"},"content":" \"node_modules/terser\": {"},{"lineNumber":12919,"author":{"gitId":"-"},"content":" \"version\": \"5.16.1\","},{"lineNumber":12920,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":12921,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12922,"author":{"gitId":"-"},"content":" \"@jridgewell/source-map\": \"^0.3.2\","},{"lineNumber":12923,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.5.0\","},{"lineNumber":12924,"author":{"gitId":"-"},"content":" \"commander\": \"^2.20.0\","},{"lineNumber":12925,"author":{"gitId":"-"},"content":" \"source-map-support\": \"~0.5.20\""},{"lineNumber":12926,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12927,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":12928,"author":{"gitId":"-"},"content":" \"terser\": \"bin/terser\""},{"lineNumber":12929,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12930,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12931,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":12932,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12933,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12934,"author":{"gitId":"-"},"content":" \"node_modules/terser-webpack-plugin\": {"},{"lineNumber":12935,"author":{"gitId":"-"},"content":" \"version\": \"5.3.6\","},{"lineNumber":12936,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12937,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12938,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.14\","},{"lineNumber":12939,"author":{"gitId":"-"},"content":" \"jest-worker\": \"^27.4.5\","},{"lineNumber":12940,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^3.1.1\","},{"lineNumber":12941,"author":{"gitId":"-"},"content":" \"serialize-javascript\": \"^6.0.0\","},{"lineNumber":12942,"author":{"gitId":"-"},"content":" \"terser\": \"^5.14.1\""},{"lineNumber":12943,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12944,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12945,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":12946,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12947,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12948,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":12949,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":12950,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12951,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12952,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.1.0\""},{"lineNumber":12953,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12954,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":12955,"author":{"gitId":"-"},"content":" \"@swc/core\": {"},{"lineNumber":12956,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":12957,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12958,"author":{"gitId":"-"},"content":" \"esbuild\": {"},{"lineNumber":12959,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":12960,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12961,"author":{"gitId":"-"},"content":" \"uglify-js\": {"},{"lineNumber":12962,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":12963,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12964,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12965,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12966,"author":{"gitId":"-"},"content":" \"node_modules/terser-webpack-plugin/node_modules/schema-utils\": {"},{"lineNumber":12967,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":12968,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12969,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12970,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.8\","},{"lineNumber":12971,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.5\","},{"lineNumber":12972,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\""},{"lineNumber":12973,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12974,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12975,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":12976,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12977,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12978,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":12979,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":12980,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12981,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12982,"author":{"gitId":"-"},"content":" \"node_modules/terser/node_modules/commander\": {"},{"lineNumber":12983,"author":{"gitId":"-"},"content":" \"version\": \"2.20.3\","},{"lineNumber":12984,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":12985,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12986,"author":{"gitId":"-"},"content":" \"node_modules/text-table\": {"},{"lineNumber":12987,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\","},{"lineNumber":12988,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":12989,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12990,"author":{"gitId":"-"},"content":" \"node_modules/thenify\": {"},{"lineNumber":12991,"author":{"gitId":"-"},"content":" \"version\": \"3.3.1\","},{"lineNumber":12992,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12993,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12994,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12995,"author":{"gitId":"-"},"content":" \"any-promise\": \"^1.0.0\""},{"lineNumber":12996,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12997,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12998,"author":{"gitId":"-"},"content":" \"node_modules/thenify-all\": {"},{"lineNumber":12999,"author":{"gitId":"-"},"content":" \"version\": \"1.6.0\","},{"lineNumber":13000,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13001,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13002,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13003,"author":{"gitId":"-"},"content":" \"thenify\": \"\u003e\u003d 3.1.0 \u003c 4\""},{"lineNumber":13004,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13005,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13006,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8\""},{"lineNumber":13007,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13008,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13009,"author":{"gitId":"-"},"content":" \"node_modules/thread-loader\": {"},{"lineNumber":13010,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\","},{"lineNumber":13011,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13012,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13013,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13014,"author":{"gitId":"-"},"content":" \"json-parse-better-errors\": \"^1.0.2\","},{"lineNumber":13015,"author":{"gitId":"-"},"content":" \"loader-runner\": \"^4.1.0\","},{"lineNumber":13016,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^2.0.0\","},{"lineNumber":13017,"author":{"gitId":"-"},"content":" \"neo-async\": \"^2.6.2\","},{"lineNumber":13018,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^3.0.0\""},{"lineNumber":13019,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13020,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13021,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":13022,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13023,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13024,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":13025,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":13026,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13027,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13028,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.27.0 || ^5.0.0\""},{"lineNumber":13029,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13030,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13031,"author":{"gitId":"-"},"content":" \"node_modules/thread-loader/node_modules/loader-utils\": {"},{"lineNumber":13032,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\","},{"lineNumber":13033,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13034,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13035,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13036,"author":{"gitId":"-"},"content":" \"big.js\": \"^5.2.2\","},{"lineNumber":13037,"author":{"gitId":"-"},"content":" \"emojis-list\": \"^3.0.0\","},{"lineNumber":13038,"author":{"gitId":"-"},"content":" \"json5\": \"^2.1.2\""},{"lineNumber":13039,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13040,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13041,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.9.0\""},{"lineNumber":13042,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13043,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13044,"author":{"gitId":"-"},"content":" \"node_modules/thread-loader/node_modules/schema-utils\": {"},{"lineNumber":13045,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":13046,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13047,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13048,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13049,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.8\","},{"lineNumber":13050,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.5\","},{"lineNumber":13051,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\""},{"lineNumber":13052,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13053,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13054,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":13055,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13056,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13057,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":13058,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":13059,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13060,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13061,"author":{"gitId":"-"},"content":" \"node_modules/thunky\": {"},{"lineNumber":13062,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":13063,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13064,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13065,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13066,"author":{"gitId":"-"},"content":" \"node_modules/to-fast-properties\": {"},{"lineNumber":13067,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":13068,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13069,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13070,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13071,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":13072,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13073,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13074,"author":{"gitId":"-"},"content":" \"node_modules/to-regex-range\": {"},{"lineNumber":13075,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\","},{"lineNumber":13076,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13077,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13078,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13079,"author":{"gitId":"-"},"content":" \"is-number\": \"^7.0.0\""},{"lineNumber":13080,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13081,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13082,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0\""},{"lineNumber":13083,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13084,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13085,"author":{"gitId":"-"},"content":" \"node_modules/toidentifier\": {"},{"lineNumber":13086,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":13087,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13088,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13089,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13090,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.6\""},{"lineNumber":13091,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13092,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13093,"author":{"gitId":"-"},"content":" \"node_modules/token-stream\": {"},{"lineNumber":13094,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":13095,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13096,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13097,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13098,"author":{"gitId":"-"},"content":" \"node_modules/totalist\": {"},{"lineNumber":13099,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":13100,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13101,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13102,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13103,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":13104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13105,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13106,"author":{"gitId":"-"},"content":" \"node_modules/tr46\": {"},{"lineNumber":13107,"author":{"gitId":"-"},"content":" \"version\": \"0.0.3\","},{"lineNumber":13108,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13109,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13110,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13111,"author":{"gitId":"-"},"content":" \"node_modules/trim-newlines\": {"},{"lineNumber":13112,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":13113,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13114,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13115,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13116,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13118,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13119,"author":{"gitId":"sopa301"},"content":" \"node_modules/ts-api-utils\": {"},{"lineNumber":13120,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.0\","},{"lineNumber":13121,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13122,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13123,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":13124,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d16\""},{"lineNumber":13125,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13126,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":13127,"author":{"gitId":"sopa301"},"content":" \"typescript\": \"\u003e\u003d4.2.0\""},{"lineNumber":13128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13129,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13130,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader\": {"},{"lineNumber":13131,"author":{"gitId":"-"},"content":" \"version\": \"9.4.2\","},{"lineNumber":13132,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13133,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13134,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13135,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":13136,"author":{"gitId":"-"},"content":" \"enhanced-resolve\": \"^5.0.0\","},{"lineNumber":13137,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.0\","},{"lineNumber":13138,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.4\""},{"lineNumber":13139,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13140,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13141,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.0.0\""},{"lineNumber":13142,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13143,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13144,"author":{"gitId":"-"},"content":" \"typescript\": \"*\","},{"lineNumber":13145,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":13146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13147,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13148,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/ansi-styles\": {"},{"lineNumber":13149,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":13150,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13151,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13152,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13153,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":13154,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13155,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13156,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13157,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13158,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13159,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":13160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13161,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13162,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/chalk\": {"},{"lineNumber":13163,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":13164,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13165,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13166,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13167,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":13168,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":13169,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13170,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13171,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13172,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13173,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13174,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":13175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13176,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13177,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/color-convert\": {"},{"lineNumber":13178,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":13179,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13180,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13181,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13182,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":13183,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13184,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13185,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":13186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13187,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13188,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/color-name\": {"},{"lineNumber":13189,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":13190,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13191,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13192,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13193,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/has-flag\": {"},{"lineNumber":13194,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":13195,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13196,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13197,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13198,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13200,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13201,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/lru-cache\": {"},{"lineNumber":13202,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":13203,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13204,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":13205,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13206,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":13207,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13208,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13209,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13211,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13212,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/semver\": {"},{"lineNumber":13213,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":13214,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13215,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":13216,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13217,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":13218,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13219,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13220,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":13221,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13222,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13223,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13225,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13226,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/supports-color\": {"},{"lineNumber":13227,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":13228,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13229,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13230,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13231,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":13232,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13233,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13234,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13235,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13236,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13237,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/yallist\": {"},{"lineNumber":13238,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":13239,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13240,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":13241,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13242,"author":{"gitId":"-"},"content":" \"node_modules/tsconfig-paths\": {"},{"lineNumber":13243,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.15.0\","},{"lineNumber":13244,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13245,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13246,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13247,"author":{"gitId":"-"},"content":" \"@types/json5\": \"^0.0.29\","},{"lineNumber":13248,"author":{"gitId":"sopa301"},"content":" \"json5\": \"^1.0.2\","},{"lineNumber":13249,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.6\","},{"lineNumber":13250,"author":{"gitId":"-"},"content":" \"strip-bom\": \"^3.0.0\""},{"lineNumber":13251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13252,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13253,"author":{"gitId":"-"},"content":" \"node_modules/tsconfig-paths/node_modules/json5\": {"},{"lineNumber":13254,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":13255,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13256,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13257,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13258,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.0\""},{"lineNumber":13259,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13260,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13261,"author":{"gitId":"-"},"content":" \"json5\": \"lib/cli.js\""},{"lineNumber":13262,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13263,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13264,"author":{"gitId":"-"},"content":" \"node_modules/tslib\": {"},{"lineNumber":13265,"author":{"gitId":"-"},"content":" \"version\": \"2.4.1\","},{"lineNumber":13266,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13267,"author":{"gitId":"sopa301"},"content":" \"license\": \"0BSD\""},{"lineNumber":13268,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13269,"author":{"gitId":"-"},"content":" \"node_modules/tsutils\": {"},{"lineNumber":13270,"author":{"gitId":"-"},"content":" \"version\": \"3.21.0\","},{"lineNumber":13271,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13272,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13273,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13274,"author":{"gitId":"-"},"content":" \"tslib\": \"^1.8.1\""},{"lineNumber":13275,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13276,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13277,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":13278,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13279,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13280,"author":{"gitId":"-"},"content":" \"typescript\": \"\u003e\u003d2.8.0 || \u003e\u003d 3.2.0-dev || \u003e\u003d 3.3.0-dev || \u003e\u003d 3.4.0-dev || \u003e\u003d 3.5.0-dev || \u003e\u003d 3.6.0-dev || \u003e\u003d 3.6.0-beta || \u003e\u003d 3.7.0-dev || \u003e\u003d 3.7.0-beta\""},{"lineNumber":13281,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13282,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13283,"author":{"gitId":"-"},"content":" \"node_modules/tsutils/node_modules/tslib\": {"},{"lineNumber":13284,"author":{"gitId":"-"},"content":" \"version\": \"1.14.1\","},{"lineNumber":13285,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13286,"author":{"gitId":"sopa301"},"content":" \"license\": \"0BSD\""},{"lineNumber":13287,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13288,"author":{"gitId":"-"},"content":" \"node_modules/type-check\": {"},{"lineNumber":13289,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\","},{"lineNumber":13290,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13291,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13292,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13293,"author":{"gitId":"-"},"content":" \"prelude-ls\": \"^1.2.1\""},{"lineNumber":13294,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13295,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13296,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":13297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13298,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13299,"author":{"gitId":"-"},"content":" \"node_modules/type-fest\": {"},{"lineNumber":13300,"author":{"gitId":"-"},"content":" \"version\": \"0.18.1\","},{"lineNumber":13301,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13302,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR CC0-1.0)\","},{"lineNumber":13303,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13304,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13305,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13306,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13307,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":13308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13309,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13310,"author":{"gitId":"-"},"content":" \"node_modules/type-is\": {"},{"lineNumber":13311,"author":{"gitId":"-"},"content":" \"version\": \"1.6.18\","},{"lineNumber":13312,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz\","},{"lineNumber":13313,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g\u003d\u003d\","},{"lineNumber":13314,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13315,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13316,"author":{"gitId":"-"},"content":" \"media-typer\": \"0.3.0\","},{"lineNumber":13317,"author":{"gitId":"-"},"content":" \"mime-types\": \"~2.1.24\""},{"lineNumber":13318,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13319,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13320,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":13321,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13322,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13323,"author":{"gitId":"sopa301"},"content":" \"node_modules/typed-array-buffer\": {"},{"lineNumber":13324,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":13325,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13326,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13327,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":13328,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\","},{"lineNumber":13329,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":13330,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\""},{"lineNumber":13331,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13332,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":13333,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":13334,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":13335,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13336,"author":{"gitId":"sopa301"},"content":" \"node_modules/typed-array-byte-length\": {"},{"lineNumber":13337,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\","},{"lineNumber":13338,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13339,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13340,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":13341,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\","},{"lineNumber":13342,"author":{"gitId":"sopa301"},"content":" \"for-each\": \"^0.3.3\","},{"lineNumber":13343,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\","},{"lineNumber":13344,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\","},{"lineNumber":13345,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\""},{"lineNumber":13346,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13347,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":13348,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":13349,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13350,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":13351,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":13352,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":13353,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13354,"author":{"gitId":"sopa301"},"content":" \"node_modules/typed-array-byte-offset\": {"},{"lineNumber":13355,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":13356,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13357,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13358,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":13359,"author":{"gitId":"sopa301"},"content":" \"available-typed-arrays\": \"^1.0.7\","},{"lineNumber":13360,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\","},{"lineNumber":13361,"author":{"gitId":"sopa301"},"content":" \"for-each\": \"^0.3.3\","},{"lineNumber":13362,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\","},{"lineNumber":13363,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\","},{"lineNumber":13364,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\""},{"lineNumber":13365,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13366,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":13367,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":13368,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13369,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":13370,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":13371,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":13372,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13373,"author":{"gitId":"-"},"content":" \"node_modules/typed-array-length\": {"},{"lineNumber":13374,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\","},{"lineNumber":13375,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13376,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13377,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13378,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\","},{"lineNumber":13379,"author":{"gitId":"-"},"content":" \"for-each\": \"^0.3.3\","},{"lineNumber":13380,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\","},{"lineNumber":13381,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\","},{"lineNumber":13382,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\","},{"lineNumber":13383,"author":{"gitId":"sopa301"},"content":" \"possible-typed-array-names\": \"^1.0.0\""},{"lineNumber":13384,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13385,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":13386,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":13387,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13388,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13389,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":13390,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13391,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13392,"author":{"gitId":"-"},"content":" \"node_modules/typescript\": {"},{"lineNumber":13393,"author":{"gitId":"-"},"content":" \"version\": \"4.9.5\","},{"lineNumber":13394,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,"},{"lineNumber":13395,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":13396,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13397,"author":{"gitId":"-"},"content":" \"tsc\": \"bin/tsc\","},{"lineNumber":13398,"author":{"gitId":"-"},"content":" \"tsserver\": \"bin/tsserver\""},{"lineNumber":13399,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13400,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13401,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.2.0\""},{"lineNumber":13402,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13403,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13404,"author":{"gitId":"sopa301"},"content":" \"node_modules/uc.micro\": {"},{"lineNumber":13405,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\","},{"lineNumber":13406,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz\","},{"lineNumber":13407,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A\u003d\u003d\""},{"lineNumber":13408,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13409,"author":{"gitId":"-"},"content":" \"node_modules/unbox-primitive\": {"},{"lineNumber":13410,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":13411,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13412,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13413,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13414,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":13415,"author":{"gitId":"-"},"content":" \"has-bigints\": \"^1.0.2\","},{"lineNumber":13416,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.3\","},{"lineNumber":13417,"author":{"gitId":"-"},"content":" \"which-boxed-primitive\": \"^1.0.2\""},{"lineNumber":13418,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13419,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13420,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":13421,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13422,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13423,"author":{"gitId":"-"},"content":" \"node_modules/unicode-canonical-property-names-ecmascript\": {"},{"lineNumber":13424,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":13425,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13426,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13427,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13428,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":13429,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13430,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13431,"author":{"gitId":"-"},"content":" \"node_modules/unicode-match-property-ecmascript\": {"},{"lineNumber":13432,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":13433,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13434,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13435,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13436,"author":{"gitId":"-"},"content":" \"unicode-canonical-property-names-ecmascript\": \"^2.0.0\","},{"lineNumber":13437,"author":{"gitId":"-"},"content":" \"unicode-property-aliases-ecmascript\": \"^2.0.0\""},{"lineNumber":13438,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13439,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13440,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":13441,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13442,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13443,"author":{"gitId":"-"},"content":" \"node_modules/unicode-match-property-value-ecmascript\": {"},{"lineNumber":13444,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":13445,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13446,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13447,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13448,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":13449,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13450,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13451,"author":{"gitId":"-"},"content":" \"node_modules/unicode-property-aliases-ecmascript\": {"},{"lineNumber":13452,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":13453,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13454,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13455,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13456,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":13457,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13458,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13459,"author":{"gitId":"-"},"content":" \"node_modules/universalify\": {"},{"lineNumber":13460,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":13461,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13462,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13463,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13464,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0.0\""},{"lineNumber":13465,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13466,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13467,"author":{"gitId":"-"},"content":" \"node_modules/unpipe\": {"},{"lineNumber":13468,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":13469,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13470,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13471,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13472,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":13473,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13474,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13475,"author":{"gitId":"-"},"content":" \"node_modules/update-browserslist-db\": {"},{"lineNumber":13476,"author":{"gitId":"-"},"content":" \"version\": \"1.0.10\","},{"lineNumber":13477,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":13478,"author":{"gitId":"-"},"content":" {"},{"lineNumber":13479,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":13480,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/browserslist\""},{"lineNumber":13481,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13482,"author":{"gitId":"-"},"content":" {"},{"lineNumber":13483,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\","},{"lineNumber":13484,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/browserslist\""},{"lineNumber":13485,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13486,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":13487,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13488,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13489,"author":{"gitId":"-"},"content":" \"escalade\": \"^3.1.1\","},{"lineNumber":13490,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\""},{"lineNumber":13491,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13492,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13493,"author":{"gitId":"-"},"content":" \"browserslist-lint\": \"cli.js\""},{"lineNumber":13494,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13495,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13496,"author":{"gitId":"-"},"content":" \"browserslist\": \"\u003e\u003d 4.21.0\""},{"lineNumber":13497,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13498,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13499,"author":{"gitId":"-"},"content":" \"node_modules/uri-js\": {"},{"lineNumber":13500,"author":{"gitId":"-"},"content":" \"version\": \"4.4.1\","},{"lineNumber":13501,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":13502,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13503,"author":{"gitId":"-"},"content":" \"punycode\": \"^2.1.0\""},{"lineNumber":13504,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13505,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13506,"author":{"gitId":"-"},"content":" \"node_modules/util-deprecate\": {"},{"lineNumber":13507,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":13508,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13509,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13510,"author":{"gitId":"-"},"content":" \"node_modules/utila\": {"},{"lineNumber":13511,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\","},{"lineNumber":13512,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13513,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13514,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13515,"author":{"gitId":"-"},"content":" \"node_modules/utils-merge\": {"},{"lineNumber":13516,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":13517,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13518,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13519,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13520,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4.0\""},{"lineNumber":13521,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13522,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13523,"author":{"gitId":"-"},"content":" \"node_modules/v8-compile-cache\": {"},{"lineNumber":13524,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":13525,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13526,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13527,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13528,"author":{"gitId":"-"},"content":" \"node_modules/validate-npm-package-license\": {"},{"lineNumber":13529,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\","},{"lineNumber":13530,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13531,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":13532,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13533,"author":{"gitId":"-"},"content":" \"spdx-correct\": \"^3.0.0\","},{"lineNumber":13534,"author":{"gitId":"-"},"content":" \"spdx-expression-parse\": \"^3.0.0\""},{"lineNumber":13535,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13536,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13537,"author":{"gitId":"-"},"content":" \"node_modules/vary\": {"},{"lineNumber":13538,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\","},{"lineNumber":13539,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13540,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13541,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13542,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":13543,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13544,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13545,"author":{"gitId":"-"},"content":" \"node_modules/void-elements\": {"},{"lineNumber":13546,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":13547,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13548,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13549,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13550,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":13551,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13552,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13553,"author":{"gitId":"-"},"content":" \"node_modules/vue\": {"},{"lineNumber":13554,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":13555,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/vue/-/vue-3.4.21.tgz\","},{"lineNumber":13556,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA\u003d\u003d\","},{"lineNumber":13557,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13558,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-dom\": \"3.4.21\","},{"lineNumber":13559,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-sfc\": \"3.4.21\","},{"lineNumber":13560,"author":{"gitId":"sopa301"},"content":" \"@vue/runtime-dom\": \"3.4.21\","},{"lineNumber":13561,"author":{"gitId":"sopa301"},"content":" \"@vue/server-renderer\": \"3.4.21\","},{"lineNumber":13562,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\""},{"lineNumber":13563,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13564,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":13565,"author":{"gitId":"sopa301"},"content":" \"typescript\": \"*\""},{"lineNumber":13566,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13567,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":13568,"author":{"gitId":"sopa301"},"content":" \"typescript\": {"},{"lineNumber":13569,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":13570,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":13571,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13572,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13573,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser\": {"},{"lineNumber":13574,"author":{"gitId":"-"},"content":" \"version\": \"8.3.0\","},{"lineNumber":13575,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13576,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13577,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13578,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.2\","},{"lineNumber":13579,"author":{"gitId":"-"},"content":" \"eslint-scope\": \"^7.0.0\","},{"lineNumber":13580,"author":{"gitId":"-"},"content":" \"eslint-visitor-keys\": \"^3.1.0\","},{"lineNumber":13581,"author":{"gitId":"-"},"content":" \"espree\": \"^9.0.0\","},{"lineNumber":13582,"author":{"gitId":"-"},"content":" \"esquery\": \"^1.4.0\","},{"lineNumber":13583,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.21\","},{"lineNumber":13584,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.5\""},{"lineNumber":13585,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13586,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13587,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":13588,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13589,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13590,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/mysticatea\""},{"lineNumber":13591,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13592,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13593,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d6.0.0\""},{"lineNumber":13594,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13595,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13596,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/eslint-scope\": {"},{"lineNumber":13597,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.2\","},{"lineNumber":13598,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13599,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":13600,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13601,"author":{"gitId":"-"},"content":" \"esrecurse\": \"^4.3.0\","},{"lineNumber":13602,"author":{"gitId":"-"},"content":" \"estraverse\": \"^5.2.0\""},{"lineNumber":13603,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13604,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13605,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":13606,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13607,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":13608,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":13609,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13610,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13611,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys\": {"},{"lineNumber":13612,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\","},{"lineNumber":13613,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13614,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":13615,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13616,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":13617,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13618,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":13619,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":13620,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13621,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13622,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/estraverse\": {"},{"lineNumber":13623,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\","},{"lineNumber":13624,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13625,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":13626,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13627,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\""},{"lineNumber":13628,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13629,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13630,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/lru-cache\": {"},{"lineNumber":13631,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":13632,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13633,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":13634,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13635,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":13636,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13637,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13638,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13639,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13640,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13641,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/semver\": {"},{"lineNumber":13642,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":13643,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13644,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":13645,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13646,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":13647,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13648,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13649,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":13650,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13651,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13652,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13653,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13654,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13655,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/yallist\": {"},{"lineNumber":13656,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":13657,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13658,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":13659,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13660,"author":{"gitId":"-"},"content":" \"node_modules/vue-hot-reload-api\": {"},{"lineNumber":13661,"author":{"gitId":"-"},"content":" \"version\": \"2.3.4\","},{"lineNumber":13662,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13663,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13664,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13665,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader\": {"},{"lineNumber":13666,"author":{"gitId":"sopa301"},"content":" \"version\": \"17.4.2\","},{"lineNumber":13667,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/vue-loader/-/vue-loader-17.4.2.tgz\","},{"lineNumber":13668,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w\u003d\u003d\","},{"lineNumber":13669,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13670,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":13671,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^2.0.0\","},{"lineNumber":13672,"author":{"gitId":"sopa301"},"content":" \"watchpack\": \"^2.4.0\""},{"lineNumber":13673,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13674,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13675,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.1.0 || ^5.0.0-0\""},{"lineNumber":13676,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13677,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":13678,"author":{"gitId":"-"},"content":" \"@vue/compiler-sfc\": {"},{"lineNumber":13679,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":13680,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13681,"author":{"gitId":"-"},"content":" \"vue\": {"},{"lineNumber":13682,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":13683,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13684,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13685,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13686,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/ansi-styles\": {"},{"lineNumber":13687,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":13688,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13689,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13690,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":13691,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13692,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13693,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13694,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13695,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13696,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":13697,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13698,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13699,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/chalk\": {"},{"lineNumber":13700,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":13701,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13702,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13703,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":13704,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":13705,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13706,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13707,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13708,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13709,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13710,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":13711,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13712,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13713,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/color-convert\": {"},{"lineNumber":13714,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":13715,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13716,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13717,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":13718,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13719,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13720,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":13721,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13722,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13723,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/color-name\": {"},{"lineNumber":13724,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":13725,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13726,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13727,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/has-flag\": {"},{"lineNumber":13728,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":13729,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13730,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13731,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13732,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13733,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13734,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/supports-color\": {"},{"lineNumber":13735,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":13736,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13737,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13738,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":13739,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13740,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13741,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13742,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13743,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13744,"author":{"gitId":"-"},"content":" \"node_modules/vue-loading-overlay\": {"},{"lineNumber":13745,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.4\","},{"lineNumber":13746,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/vue-loading-overlay/-/vue-loading-overlay-6.0.4.tgz\","},{"lineNumber":13747,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-DmMqLjQULk4bJ6C1IyDQzasgxb03KLrcj6nitlMIJkh6np0rQkWpgdu0upS3lJcrF9q+dmrhnU+A8I5pz41bqw\u003d\u003d\","},{"lineNumber":13748,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13749,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.13.0\""},{"lineNumber":13750,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13751,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13752,"author":{"gitId":"sopa301"},"content":" \"vue\": \"^3.2.0\""},{"lineNumber":13753,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13754,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13755,"author":{"gitId":"-"},"content":" \"node_modules/vue-observe-visibility\": {"},{"lineNumber":13756,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":13757,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13758,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13759,"author":{"gitId":"-"},"content":" \"node_modules/vue-router\": {"},{"lineNumber":13760,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\","},{"lineNumber":13761,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/vue-router/-/vue-router-4.3.0.tgz\","},{"lineNumber":13762,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ\u003d\u003d\","},{"lineNumber":13763,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13764,"author":{"gitId":"sopa301"},"content":" \"@vue/devtools-api\": \"^6.5.1\""},{"lineNumber":13765,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13766,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13767,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/posva\""},{"lineNumber":13768,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13769,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13770,"author":{"gitId":"-"},"content":" \"vue\": \"^3.2.0\""},{"lineNumber":13771,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13772,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13773,"author":{"gitId":"-"},"content":" \"node_modules/vue-style-loader\": {"},{"lineNumber":13774,"author":{"gitId":"-"},"content":" \"version\": \"4.1.3\","},{"lineNumber":13775,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13776,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13777,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13778,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^1.0.2\","},{"lineNumber":13779,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^1.0.2\""},{"lineNumber":13780,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13781,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13782,"author":{"gitId":"-"},"content":" \"node_modules/vue-style-loader/node_modules/hash-sum\": {"},{"lineNumber":13783,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":13784,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13785,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13786,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13787,"author":{"gitId":"-"},"content":" \"node_modules/vue-template-es2015-compiler\": {"},{"lineNumber":13788,"author":{"gitId":"-"},"content":" \"version\": \"1.9.1\","},{"lineNumber":13789,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13790,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13791,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13792,"author":{"gitId":"-"},"content":" \"node_modules/vuex\": {"},{"lineNumber":13793,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":13794,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13795,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13796,"author":{"gitId":"-"},"content":" \"@vue/devtools-api\": \"^6.0.0-beta.11\""},{"lineNumber":13797,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13798,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13799,"author":{"gitId":"-"},"content":" \"vue\": \"^3.2.0\""},{"lineNumber":13800,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13801,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13802,"author":{"gitId":"-"},"content":" \"node_modules/walk\": {"},{"lineNumber":13803,"author":{"gitId":"-"},"content":" \"version\": \"2.3.15\","},{"lineNumber":13804,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR Apache-2.0)\","},{"lineNumber":13805,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13806,"author":{"gitId":"-"},"content":" \"foreachasync\": \"^3.0.0\""},{"lineNumber":13807,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13808,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13809,"author":{"gitId":"-"},"content":" \"node_modules/watchpack\": {"},{"lineNumber":13810,"author":{"gitId":"-"},"content":" \"version\": \"2.4.0\","},{"lineNumber":13811,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13812,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13813,"author":{"gitId":"-"},"content":" \"glob-to-regexp\": \"^0.4.1\","},{"lineNumber":13814,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.1.2\""},{"lineNumber":13815,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13816,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13817,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":13818,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13819,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13820,"author":{"gitId":"-"},"content":" \"node_modules/wbuf\": {"},{"lineNumber":13821,"author":{"gitId":"-"},"content":" \"version\": \"1.7.3\","},{"lineNumber":13822,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13823,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13824,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13825,"author":{"gitId":"-"},"content":" \"minimalistic-assert\": \"^1.0.0\""},{"lineNumber":13826,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13827,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13828,"author":{"gitId":"-"},"content":" \"node_modules/wcwidth\": {"},{"lineNumber":13829,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":13830,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13831,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13832,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13833,"author":{"gitId":"-"},"content":" \"defaults\": \"^1.0.3\""},{"lineNumber":13834,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13835,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13836,"author":{"gitId":"-"},"content":" \"node_modules/webidl-conversions\": {"},{"lineNumber":13837,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":13838,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13839,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\""},{"lineNumber":13840,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13841,"author":{"gitId":"-"},"content":" \"node_modules/webpack\": {"},{"lineNumber":13842,"author":{"gitId":"-"},"content":" \"version\": \"5.76.2\","},{"lineNumber":13843,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13844,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13845,"author":{"gitId":"-"},"content":" \"@types/eslint-scope\": \"^3.7.3\","},{"lineNumber":13846,"author":{"gitId":"-"},"content":" \"@types/estree\": \"^0.0.51\","},{"lineNumber":13847,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\","},{"lineNumber":13848,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-edit\": \"1.11.1\","},{"lineNumber":13849,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-parser\": \"1.11.1\","},{"lineNumber":13850,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.7.1\","},{"lineNumber":13851,"author":{"gitId":"-"},"content":" \"acorn-import-assertions\": \"^1.7.6\","},{"lineNumber":13852,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.14.5\","},{"lineNumber":13853,"author":{"gitId":"-"},"content":" \"chrome-trace-event\": \"^1.0.2\","},{"lineNumber":13854,"author":{"gitId":"-"},"content":" \"enhanced-resolve\": \"^5.10.0\","},{"lineNumber":13855,"author":{"gitId":"-"},"content":" \"es-module-lexer\": \"^0.9.0\","},{"lineNumber":13856,"author":{"gitId":"-"},"content":" \"eslint-scope\": \"5.1.1\","},{"lineNumber":13857,"author":{"gitId":"-"},"content":" \"events\": \"^3.2.0\","},{"lineNumber":13858,"author":{"gitId":"-"},"content":" \"glob-to-regexp\": \"^0.4.1\","},{"lineNumber":13859,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.9\","},{"lineNumber":13860,"author":{"gitId":"-"},"content":" \"json-parse-even-better-errors\": \"^2.3.1\","},{"lineNumber":13861,"author":{"gitId":"-"},"content":" \"loader-runner\": \"^4.2.0\","},{"lineNumber":13862,"author":{"gitId":"-"},"content":" \"mime-types\": \"^2.1.27\","},{"lineNumber":13863,"author":{"gitId":"-"},"content":" \"neo-async\": \"^2.6.2\","},{"lineNumber":13864,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^3.1.0\","},{"lineNumber":13865,"author":{"gitId":"-"},"content":" \"tapable\": \"^2.1.1\","},{"lineNumber":13866,"author":{"gitId":"-"},"content":" \"terser-webpack-plugin\": \"^5.1.3\","},{"lineNumber":13867,"author":{"gitId":"-"},"content":" \"watchpack\": \"^2.4.0\","},{"lineNumber":13868,"author":{"gitId":"-"},"content":" \"webpack-sources\": \"^3.2.3\""},{"lineNumber":13869,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13870,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13871,"author":{"gitId":"-"},"content":" \"webpack\": \"bin/webpack.js\""},{"lineNumber":13872,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13873,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13874,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":13875,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13876,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13877,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":13878,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":13879,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13880,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":13881,"author":{"gitId":"-"},"content":" \"webpack-cli\": {"},{"lineNumber":13882,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":13883,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13884,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13885,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13886,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer\": {"},{"lineNumber":13887,"author":{"gitId":"-"},"content":" \"version\": \"4.7.0\","},{"lineNumber":13888,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13889,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13890,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13891,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.0.4\","},{"lineNumber":13892,"author":{"gitId":"-"},"content":" \"acorn-walk\": \"^8.0.0\","},{"lineNumber":13893,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":13894,"author":{"gitId":"-"},"content":" \"commander\": \"^7.2.0\","},{"lineNumber":13895,"author":{"gitId":"-"},"content":" \"gzip-size\": \"^6.0.0\","},{"lineNumber":13896,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.20\","},{"lineNumber":13897,"author":{"gitId":"-"},"content":" \"opener\": \"^1.5.2\","},{"lineNumber":13898,"author":{"gitId":"-"},"content":" \"sirv\": \"^1.0.7\","},{"lineNumber":13899,"author":{"gitId":"-"},"content":" \"ws\": \"^7.3.1\""},{"lineNumber":13900,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13901,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13902,"author":{"gitId":"-"},"content":" \"webpack-bundle-analyzer\": \"lib/bin/analyzer.js\""},{"lineNumber":13903,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13904,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13905,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":13906,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13907,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13908,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/ansi-styles\": {"},{"lineNumber":13909,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":13910,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13911,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13912,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13913,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":13914,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13915,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13916,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13917,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13918,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13919,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":13920,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13921,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13922,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/chalk\": {"},{"lineNumber":13923,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":13924,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13925,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13926,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13927,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":13928,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":13929,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13930,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13931,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13932,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13933,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13934,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":13935,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13936,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13937,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/color-convert\": {"},{"lineNumber":13938,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":13939,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13940,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13941,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13942,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":13943,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13944,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13945,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":13946,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13947,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13948,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/color-name\": {"},{"lineNumber":13949,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":13950,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13951,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13952,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13953,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/commander\": {"},{"lineNumber":13954,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":13955,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13956,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13957,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13958,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\""},{"lineNumber":13959,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13960,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13961,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/has-flag\": {"},{"lineNumber":13962,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":13963,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13964,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13965,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13966,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13967,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13968,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13969,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/supports-color\": {"},{"lineNumber":13970,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":13971,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13972,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13973,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13974,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":13975,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13976,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13977,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13978,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13979,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13980,"author":{"gitId":"-"},"content":" \"node_modules/webpack-chain\": {"},{"lineNumber":13981,"author":{"gitId":"-"},"content":" \"version\": \"6.5.1\","},{"lineNumber":13982,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13983,"author":{"gitId":"sopa301"},"content":" \"license\": \"MPL-2.0\","},{"lineNumber":13984,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13985,"author":{"gitId":"-"},"content":" \"deepmerge\": \"^1.5.2\","},{"lineNumber":13986,"author":{"gitId":"-"},"content":" \"javascript-stringify\": \"^2.0.1\""},{"lineNumber":13987,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13988,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13989,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13990,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13991,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13992,"author":{"gitId":"-"},"content":" \"node_modules/webpack-chain/node_modules/deepmerge\": {"},{"lineNumber":13993,"author":{"gitId":"-"},"content":" \"version\": \"1.5.2\","},{"lineNumber":13994,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13995,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13996,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13997,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":13998,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13999,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14000,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware\": {"},{"lineNumber":14001,"author":{"gitId":"-"},"content":" \"version\": \"5.3.4\","},{"lineNumber":14002,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz\","},{"lineNumber":14003,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q\u003d\u003d\","},{"lineNumber":14004,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14005,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14006,"author":{"gitId":"-"},"content":" \"colorette\": \"^2.0.10\","},{"lineNumber":14007,"author":{"gitId":"-"},"content":" \"memfs\": \"^3.4.3\","},{"lineNumber":14008,"author":{"gitId":"-"},"content":" \"mime-types\": \"^2.1.31\","},{"lineNumber":14009,"author":{"gitId":"-"},"content":" \"range-parser\": \"^1.2.1\","},{"lineNumber":14010,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\""},{"lineNumber":14011,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14012,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14013,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":14014,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14015,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14016,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":14017,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":14018,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14019,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":14020,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.0.0 || ^5.0.0\""},{"lineNumber":14021,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14022,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14023,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware/node_modules/ajv\": {"},{"lineNumber":14024,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":14025,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14026,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14027,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14028,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":14029,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":14030,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":14031,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":14032,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14033,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14034,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":14035,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":14036,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14037,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14038,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware/node_modules/ajv-keywords\": {"},{"lineNumber":14039,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":14040,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14041,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14042,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14043,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\""},{"lineNumber":14044,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14045,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":14046,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\""},{"lineNumber":14047,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14048,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14049,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware/node_modules/json-schema-traverse\": {"},{"lineNumber":14050,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":14051,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14052,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":14053,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14054,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware/node_modules/schema-utils\": {"},{"lineNumber":14055,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":14056,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14057,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14058,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14059,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\","},{"lineNumber":14060,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\","},{"lineNumber":14061,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\","},{"lineNumber":14062,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\""},{"lineNumber":14063,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14064,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14065,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":14066,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14067,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14068,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":14069,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":14070,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14071,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14072,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server\": {"},{"lineNumber":14073,"author":{"gitId":"-"},"content":" \"version\": \"4.11.1\","},{"lineNumber":14074,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14075,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14076,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14077,"author":{"gitId":"-"},"content":" \"@types/bonjour\": \"^3.5.9\","},{"lineNumber":14078,"author":{"gitId":"-"},"content":" \"@types/connect-history-api-fallback\": \"^1.3.5\","},{"lineNumber":14079,"author":{"gitId":"-"},"content":" \"@types/express\": \"^4.17.13\","},{"lineNumber":14080,"author":{"gitId":"-"},"content":" \"@types/serve-index\": \"^1.9.1\","},{"lineNumber":14081,"author":{"gitId":"-"},"content":" \"@types/serve-static\": \"^1.13.10\","},{"lineNumber":14082,"author":{"gitId":"-"},"content":" \"@types/sockjs\": \"^0.3.33\","},{"lineNumber":14083,"author":{"gitId":"-"},"content":" \"@types/ws\": \"^8.5.1\","},{"lineNumber":14084,"author":{"gitId":"-"},"content":" \"ansi-html-community\": \"^0.0.8\","},{"lineNumber":14085,"author":{"gitId":"-"},"content":" \"bonjour-service\": \"^1.0.11\","},{"lineNumber":14086,"author":{"gitId":"-"},"content":" \"chokidar\": \"^3.5.3\","},{"lineNumber":14087,"author":{"gitId":"-"},"content":" \"colorette\": \"^2.0.10\","},{"lineNumber":14088,"author":{"gitId":"-"},"content":" \"compression\": \"^1.7.4\","},{"lineNumber":14089,"author":{"gitId":"-"},"content":" \"connect-history-api-fallback\": \"^2.0.0\","},{"lineNumber":14090,"author":{"gitId":"-"},"content":" \"default-gateway\": \"^6.0.3\","},{"lineNumber":14091,"author":{"gitId":"-"},"content":" \"express\": \"^4.17.3\","},{"lineNumber":14092,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.6\","},{"lineNumber":14093,"author":{"gitId":"-"},"content":" \"html-entities\": \"^2.3.2\","},{"lineNumber":14094,"author":{"gitId":"-"},"content":" \"http-proxy-middleware\": \"^2.0.3\","},{"lineNumber":14095,"author":{"gitId":"-"},"content":" \"ipaddr.js\": \"^2.0.1\","},{"lineNumber":14096,"author":{"gitId":"-"},"content":" \"open\": \"^8.0.9\","},{"lineNumber":14097,"author":{"gitId":"-"},"content":" \"p-retry\": \"^4.5.0\","},{"lineNumber":14098,"author":{"gitId":"-"},"content":" \"rimraf\": \"^3.0.2\","},{"lineNumber":14099,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\","},{"lineNumber":14100,"author":{"gitId":"-"},"content":" \"selfsigned\": \"^2.1.1\","},{"lineNumber":14101,"author":{"gitId":"-"},"content":" \"serve-index\": \"^1.9.1\","},{"lineNumber":14102,"author":{"gitId":"-"},"content":" \"sockjs\": \"^0.3.24\","},{"lineNumber":14103,"author":{"gitId":"-"},"content":" \"spdy\": \"^4.0.2\","},{"lineNumber":14104,"author":{"gitId":"-"},"content":" \"webpack-dev-middleware\": \"^5.3.1\","},{"lineNumber":14105,"author":{"gitId":"-"},"content":" \"ws\": \"^8.4.2\""},{"lineNumber":14106,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14107,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":14108,"author":{"gitId":"-"},"content":" \"webpack-dev-server\": \"bin/webpack-dev-server.js\""},{"lineNumber":14109,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14110,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14111,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":14112,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14113,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14114,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":14115,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":14116,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14117,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":14118,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.37.0 || ^5.0.0\""},{"lineNumber":14119,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14120,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":14121,"author":{"gitId":"-"},"content":" \"webpack-cli\": {"},{"lineNumber":14122,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":14123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14125,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14126,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/ajv\": {"},{"lineNumber":14127,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":14128,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14129,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14130,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14131,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":14132,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":14133,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":14134,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":14135,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14136,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14137,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":14138,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":14139,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14140,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14141,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/ajv-keywords\": {"},{"lineNumber":14142,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":14143,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14144,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14145,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14146,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\""},{"lineNumber":14147,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14148,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":14149,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\""},{"lineNumber":14150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14151,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14152,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/json-schema-traverse\": {"},{"lineNumber":14153,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":14154,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14155,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":14156,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14157,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/schema-utils\": {"},{"lineNumber":14158,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":14159,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14160,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14161,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14162,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\","},{"lineNumber":14163,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\","},{"lineNumber":14164,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\","},{"lineNumber":14165,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\""},{"lineNumber":14166,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14167,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14168,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":14169,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14170,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14171,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":14172,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":14173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14174,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14175,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/ws\": {"},{"lineNumber":14176,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":14177,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14178,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14179,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14180,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.0.0\""},{"lineNumber":14181,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14182,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":14183,"author":{"gitId":"-"},"content":" \"bufferutil\": \"^4.0.1\","},{"lineNumber":14184,"author":{"gitId":"-"},"content":" \"utf-8-validate\": \"\u003e\u003d5.0.2\""},{"lineNumber":14185,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14186,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":14187,"author":{"gitId":"-"},"content":" \"bufferutil\": {"},{"lineNumber":14188,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":14189,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14190,"author":{"gitId":"-"},"content":" \"utf-8-validate\": {"},{"lineNumber":14191,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":14192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14193,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14194,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14195,"author":{"gitId":"-"},"content":" \"node_modules/webpack-merge\": {"},{"lineNumber":14196,"author":{"gitId":"-"},"content":" \"version\": \"5.8.0\","},{"lineNumber":14197,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14198,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14199,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14200,"author":{"gitId":"-"},"content":" \"clone-deep\": \"^4.0.1\","},{"lineNumber":14201,"author":{"gitId":"-"},"content":" \"wildcard\": \"^2.0.0\""},{"lineNumber":14202,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14203,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14204,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.0.0\""},{"lineNumber":14205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14207,"author":{"gitId":"-"},"content":" \"node_modules/webpack-sources\": {"},{"lineNumber":14208,"author":{"gitId":"-"},"content":" \"version\": \"3.2.3\","},{"lineNumber":14209,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14210,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14211,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":14212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14213,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14214,"author":{"gitId":"-"},"content":" \"node_modules/webpack-virtual-modules\": {"},{"lineNumber":14215,"author":{"gitId":"-"},"content":" \"version\": \"0.4.6\","},{"lineNumber":14216,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14217,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":14218,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14219,"author":{"gitId":"-"},"content":" \"node_modules/webpack/node_modules/@types/estree\": {"},{"lineNumber":14220,"author":{"gitId":"-"},"content":" \"version\": \"0.0.51\","},{"lineNumber":14221,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":14222,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14223,"author":{"gitId":"-"},"content":" \"node_modules/webpack/node_modules/schema-utils\": {"},{"lineNumber":14224,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":14225,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14226,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14227,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.8\","},{"lineNumber":14228,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.5\","},{"lineNumber":14229,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\""},{"lineNumber":14230,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14231,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14232,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":14233,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14234,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14235,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":14236,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":14237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14238,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14239,"author":{"gitId":"-"},"content":" \"node_modules/webpack/node_modules/tapable\": {"},{"lineNumber":14240,"author":{"gitId":"-"},"content":" \"version\": \"2.2.1\","},{"lineNumber":14241,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14242,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14243,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":14244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14245,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14246,"author":{"gitId":"-"},"content":" \"node_modules/websocket-driver\": {"},{"lineNumber":14247,"author":{"gitId":"-"},"content":" \"version\": \"0.7.4\","},{"lineNumber":14248,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14249,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":14250,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14251,"author":{"gitId":"-"},"content":" \"http-parser-js\": \"\u003e\u003d0.5.1\","},{"lineNumber":14252,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"\u003e\u003d5.1.0\","},{"lineNumber":14253,"author":{"gitId":"-"},"content":" \"websocket-extensions\": \"\u003e\u003d0.1.1\""},{"lineNumber":14254,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14255,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14256,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.0\""},{"lineNumber":14257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14258,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14259,"author":{"gitId":"-"},"content":" \"node_modules/websocket-extensions\": {"},{"lineNumber":14260,"author":{"gitId":"-"},"content":" \"version\": \"0.1.4\","},{"lineNumber":14261,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14262,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":14263,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14264,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.0\""},{"lineNumber":14265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14266,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14267,"author":{"gitId":"-"},"content":" \"node_modules/whatwg-fetch\": {"},{"lineNumber":14268,"author":{"gitId":"-"},"content":" \"version\": \"3.6.2\","},{"lineNumber":14269,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14270,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":14271,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14272,"author":{"gitId":"-"},"content":" \"node_modules/whatwg-url\": {"},{"lineNumber":14273,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":14274,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14275,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14276,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14277,"author":{"gitId":"-"},"content":" \"tr46\": \"~0.0.3\","},{"lineNumber":14278,"author":{"gitId":"-"},"content":" \"webidl-conversions\": \"^3.0.0\""},{"lineNumber":14279,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14280,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14281,"author":{"gitId":"-"},"content":" \"node_modules/which\": {"},{"lineNumber":14282,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\","},{"lineNumber":14283,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14284,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":14285,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14286,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\""},{"lineNumber":14287,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14288,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":14289,"author":{"gitId":"-"},"content":" \"node-which\": \"bin/node-which\""},{"lineNumber":14290,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14291,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14292,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":14293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14294,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14295,"author":{"gitId":"-"},"content":" \"node_modules/which-boxed-primitive\": {"},{"lineNumber":14296,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":14297,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14298,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14299,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14300,"author":{"gitId":"-"},"content":" \"is-bigint\": \"^1.0.1\","},{"lineNumber":14301,"author":{"gitId":"-"},"content":" \"is-boolean-object\": \"^1.1.0\","},{"lineNumber":14302,"author":{"gitId":"-"},"content":" \"is-number-object\": \"^1.0.4\","},{"lineNumber":14303,"author":{"gitId":"-"},"content":" \"is-string\": \"^1.0.5\","},{"lineNumber":14304,"author":{"gitId":"-"},"content":" \"is-symbol\": \"^1.0.3\""},{"lineNumber":14305,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14306,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14307,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":14308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14309,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14310,"author":{"gitId":"-"},"content":" \"node_modules/which-typed-array\": {"},{"lineNumber":14311,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.15\","},{"lineNumber":14312,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14313,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14314,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14315,"author":{"gitId":"sopa301"},"content":" \"available-typed-arrays\": \"^1.0.7\","},{"lineNumber":14316,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\","},{"lineNumber":14317,"author":{"gitId":"-"},"content":" \"for-each\": \"^0.3.3\","},{"lineNumber":14318,"author":{"gitId":"-"},"content":" \"gopd\": \"^1.0.1\","},{"lineNumber":14319,"author":{"gitId":"sopa301"},"content":" \"has-tostringtag\": \"^1.0.2\""},{"lineNumber":14320,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14321,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14322,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":14323,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14324,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14325,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":14326,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14327,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14328,"author":{"gitId":"-"},"content":" \"node_modules/wildcard\": {"},{"lineNumber":14329,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":14330,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14331,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":14332,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14333,"author":{"gitId":"-"},"content":" \"node_modules/with\": {"},{"lineNumber":14334,"author":{"gitId":"-"},"content":" \"version\": \"7.0.2\","},{"lineNumber":14335,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14336,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14337,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14338,"author":{"gitId":"-"},"content":" \"@babel/parser\": \"^7.9.6\","},{"lineNumber":14339,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.9.6\","},{"lineNumber":14340,"author":{"gitId":"-"},"content":" \"assert-never\": \"^1.2.1\","},{"lineNumber":14341,"author":{"gitId":"-"},"content":" \"babel-walk\": \"3.0.0-canary-5\""},{"lineNumber":14342,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14343,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14344,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0.0\""},{"lineNumber":14345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14346,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14347,"author":{"gitId":"-"},"content":" \"node_modules/wrap-ansi\": {"},{"lineNumber":14348,"author":{"gitId":"-"},"content":" \"version\": \"7.0.0\","},{"lineNumber":14349,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14350,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14351,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14352,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":14353,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.1.0\","},{"lineNumber":14354,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\""},{"lineNumber":14355,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14356,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14357,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":14358,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14359,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14360,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/wrap-ansi?sponsor\u003d1\""},{"lineNumber":14361,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14362,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14363,"author":{"gitId":"-"},"content":" \"node_modules/wrap-ansi/node_modules/ansi-styles\": {"},{"lineNumber":14364,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":14365,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14366,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14367,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14368,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":14369,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14370,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14371,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":14372,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14373,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14374,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":14375,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14376,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14377,"author":{"gitId":"-"},"content":" \"node_modules/wrap-ansi/node_modules/color-convert\": {"},{"lineNumber":14378,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":14379,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14380,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14381,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14382,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":14383,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14384,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14385,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":14386,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14387,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14388,"author":{"gitId":"-"},"content":" \"node_modules/wrap-ansi/node_modules/color-name\": {"},{"lineNumber":14389,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":14390,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14391,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":14392,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14393,"author":{"gitId":"-"},"content":" \"node_modules/wrappy\": {"},{"lineNumber":14394,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":14395,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":14396,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14397,"author":{"gitId":"-"},"content":" \"node_modules/write-file-atomic\": {"},{"lineNumber":14398,"author":{"gitId":"-"},"content":" \"version\": \"4.0.2\","},{"lineNumber":14399,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14400,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":14401,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14402,"author":{"gitId":"-"},"content":" \"imurmurhash\": \"^0.1.4\","},{"lineNumber":14403,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.7\""},{"lineNumber":14404,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14405,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14406,"author":{"gitId":"-"},"content":" \"node\": \"^12.13.0 || ^14.15.0 || \u003e\u003d16.0.0\""},{"lineNumber":14407,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14408,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14409,"author":{"gitId":"-"},"content":" \"node_modules/ws\": {"},{"lineNumber":14410,"author":{"gitId":"-"},"content":" \"version\": \"7.5.9\","},{"lineNumber":14411,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14412,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14413,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14414,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.3.0\""},{"lineNumber":14415,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14416,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":14417,"author":{"gitId":"-"},"content":" \"bufferutil\": \"^4.0.1\","},{"lineNumber":14418,"author":{"gitId":"-"},"content":" \"utf-8-validate\": \"^5.0.2\""},{"lineNumber":14419,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14420,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":14421,"author":{"gitId":"-"},"content":" \"bufferutil\": {"},{"lineNumber":14422,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":14423,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14424,"author":{"gitId":"-"},"content":" \"utf-8-validate\": {"},{"lineNumber":14425,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":14426,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14427,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14428,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14429,"author":{"gitId":"-"},"content":" \"node_modules/y18n\": {"},{"lineNumber":14430,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":14431,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14432,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":14433,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14434,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":14435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14436,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14437,"author":{"gitId":"-"},"content":" \"node_modules/yallist\": {"},{"lineNumber":14438,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":14439,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14440,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":14441,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14442,"author":{"gitId":"-"},"content":" \"node_modules/yaml\": {"},{"lineNumber":14443,"author":{"gitId":"-"},"content":" \"version\": \"1.10.2\","},{"lineNumber":14444,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14445,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":14446,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14447,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":14448,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14449,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14450,"author":{"gitId":"-"},"content":" \"node_modules/yargs\": {"},{"lineNumber":14451,"author":{"gitId":"-"},"content":" \"version\": \"16.2.0\","},{"lineNumber":14452,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14453,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14454,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14455,"author":{"gitId":"-"},"content":" \"cliui\": \"^7.0.2\","},{"lineNumber":14456,"author":{"gitId":"-"},"content":" \"escalade\": \"^3.1.1\","},{"lineNumber":14457,"author":{"gitId":"-"},"content":" \"get-caller-file\": \"^2.0.5\","},{"lineNumber":14458,"author":{"gitId":"-"},"content":" \"require-directory\": \"^2.1.1\","},{"lineNumber":14459,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.0\","},{"lineNumber":14460,"author":{"gitId":"-"},"content":" \"y18n\": \"^5.0.5\","},{"lineNumber":14461,"author":{"gitId":"-"},"content":" \"yargs-parser\": \"^20.2.2\""},{"lineNumber":14462,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14463,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14464,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":14465,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14466,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14467,"author":{"gitId":"-"},"content":" \"node_modules/yargs-parser\": {"},{"lineNumber":14468,"author":{"gitId":"-"},"content":" \"version\": \"20.2.9\","},{"lineNumber":14469,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14470,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":14471,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14472,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":14473,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14474,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14475,"author":{"gitId":"-"},"content":" \"node_modules/yocto-queue\": {"},{"lineNumber":14476,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\","},{"lineNumber":14477,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14478,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14479,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14480,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":14481,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14482,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14483,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":14484,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14485,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14486,"author":{"gitId":"-"},"content":" \"node_modules/yorkie\": {"},{"lineNumber":14487,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":14488,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14489,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,"},{"lineNumber":14490,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14491,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14492,"author":{"gitId":"-"},"content":" \"execa\": \"^0.8.0\","},{"lineNumber":14493,"author":{"gitId":"-"},"content":" \"is-ci\": \"^1.0.10\","},{"lineNumber":14494,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^1.0.0\","},{"lineNumber":14495,"author":{"gitId":"-"},"content":" \"strip-indent\": \"^2.0.0\""},{"lineNumber":14496,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14497,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14498,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":14499,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14500,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14501,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/cross-spawn\": {"},{"lineNumber":14502,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":14503,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14504,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14505,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14506,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^4.0.1\","},{"lineNumber":14507,"author":{"gitId":"-"},"content":" \"shebang-command\": \"^1.2.0\","},{"lineNumber":14508,"author":{"gitId":"-"},"content":" \"which\": \"^1.2.9\""},{"lineNumber":14509,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14510,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14511,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/execa\": {"},{"lineNumber":14512,"author":{"gitId":"-"},"content":" \"version\": \"0.8.0\","},{"lineNumber":14513,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14514,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14515,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14516,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^5.0.1\","},{"lineNumber":14517,"author":{"gitId":"-"},"content":" \"get-stream\": \"^3.0.0\","},{"lineNumber":14518,"author":{"gitId":"-"},"content":" \"is-stream\": \"^1.1.0\","},{"lineNumber":14519,"author":{"gitId":"-"},"content":" \"npm-run-path\": \"^2.0.0\","},{"lineNumber":14520,"author":{"gitId":"-"},"content":" \"p-finally\": \"^1.0.0\","},{"lineNumber":14521,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.0\","},{"lineNumber":14522,"author":{"gitId":"-"},"content":" \"strip-eof\": \"^1.0.0\""},{"lineNumber":14523,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14524,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14525,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":14526,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14527,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14528,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/get-stream\": {"},{"lineNumber":14529,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":14530,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14531,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14532,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14533,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":14534,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14535,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14536,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/lru-cache\": {"},{"lineNumber":14537,"author":{"gitId":"-"},"content":" \"version\": \"4.1.5\","},{"lineNumber":14538,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14539,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":14540,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14541,"author":{"gitId":"-"},"content":" \"pseudomap\": \"^1.0.2\","},{"lineNumber":14542,"author":{"gitId":"-"},"content":" \"yallist\": \"^2.1.2\""},{"lineNumber":14543,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14544,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14545,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/normalize-path\": {"},{"lineNumber":14546,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":14547,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14548,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14549,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14550,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":14551,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14552,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14553,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/shebang-command\": {"},{"lineNumber":14554,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":14555,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14556,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14557,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14558,"author":{"gitId":"-"},"content":" \"shebang-regex\": \"^1.0.0\""},{"lineNumber":14559,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14560,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14561,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":14562,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14563,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14564,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/shebang-regex\": {"},{"lineNumber":14565,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":14566,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14567,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14568,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14569,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":14570,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14571,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14572,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/strip-indent\": {"},{"lineNumber":14573,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":14574,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14575,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14576,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14577,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":14578,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14579,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14580,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/which\": {"},{"lineNumber":14581,"author":{"gitId":"-"},"content":" \"version\": \"1.3.1\","},{"lineNumber":14582,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14583,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":14584,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14585,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\""},{"lineNumber":14586,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14587,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":14588,"author":{"gitId":"-"},"content":" \"which\": \"bin/which\""},{"lineNumber":14589,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14590,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14591,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/yallist\": {"},{"lineNumber":14592,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\","},{"lineNumber":14593,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14594,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":14595,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14596,"author":{"gitId":"-"},"content":" \"node_modules/zod\": {"},{"lineNumber":14597,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.22.4\","},{"lineNumber":14598,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.22.4.tgz\","},{"lineNumber":14599,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg\u003d\u003d\","},{"lineNumber":14600,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14601,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/colinhacks\""},{"lineNumber":14602,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14603,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14604,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14605,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"sopa301":2597,"-":12008}},{"path":"frontend/package.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"name\": \"reposense\","},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"description\": \"[![Build Status](https://travis-ci.org/reposense/RepoSense.svg?branch\u003dmaster)](https://travis-ci.org/reposense/RepoSense) [![Build status](https://ci.appveyor.com/api/projects/status/gsbkj5qby3pjd6nw/branch/master?svg\u003dtrue)](https://ci.appveyor.com/project/eugenepeh/reposense/branch/master)\","},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"author\": \"\","},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"scripts\": {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"serve\": \"vue-cli-service serve\","},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"build\": \"vue-cli-service build\","},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"lint\": \"eslint src/**/*.{ts,vue} cypress/tests/**/*.js cypress/support.js \u0026\u0026 stylelint ./src/**/*.{vue,scss} \u0026\u0026 npm run puglint\","},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"devbuild\": \"vue-cli-service build --mode development\","},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"lintfix\": \"eslint --fix src/**/*.{ts,vue} cypress/tests/**/*.js cypress/support.js \u0026\u0026 stylelint --fix ./src/**/*.{vue,scss}\","},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"puglint\": \"pug-lint-vue src\","},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"serveOpen\": \"vue-cli-service serve --open\""},{"lineNumber":14,"author":{"gitId":"-"},"content":" },"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"main\": \"index.js\","},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"@fontsource/titillium-web\": \"^4.5.3\","},{"lineNumber":18,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-svg-core\": \"^6.5.1\","},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-brands-svg-icons\": \"^6.5.1\","},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-solid-svg-icons\": \"^6.5.1\","},{"lineNumber":21,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/vue-fontawesome\": \"^3.0.6\","},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":" \"@types/markdown-it\": \"^13.0.7\","},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"@types/minimatch\": \"^5.1.2\","},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" \"@types/seedrandom\": \"^3.0.8\","},{"lineNumber":25,"author":{"gitId":"sopa301"},"content":" \"core-js\": \"^3.36.1\","},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"highlight.js\": \"^10.5.0\","},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"jszip\": \"^3.5.0\","},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" \"markdown-it\": \"^14.1.0\","},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"minimatch\": \"^5.0.1\","},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"muicss\": \"^0.10.3\","},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"normalize.css\": \"^8.0.1\","},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.38\","},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"pug-lint-vue\": \"^0.4.0\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"seedrandom\": \"^3.0.5\","},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" \"vue\": \"~3.4.0\","},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" \"vue-loader\": \"^17.4.2\","},{"lineNumber":37,"author":{"gitId":"sopa301"},"content":" \"vue-loading-overlay\": \"^6.0.4\","},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"vue-observe-visibility\": \"^1.0.0\","},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"vue-router\": \"^4.3.0\","},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"vuex\": \"^4.0.2\","},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"zod\": \"^3.22.4\""},{"lineNumber":42,"author":{"gitId":"-"},"content":" },"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"devDependencies\": {"},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" \"@babel/eslint-parser\": \"^7.24.1\","},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/eslint-plugin\": \"^6.0.0\","},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/parser\": \"^6.0.0\","},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-babel\": \"^5.0.4\","},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-eslint\": \"^5.0.4\","},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-typescript\": \"^5.0.4\","},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":" \"@vue/cli-service\": \"^5.0.8\","},{"lineNumber":51,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-sfc\": \"^3.4.21\","},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"@vue/eslint-config-typescript\": \"^10.0.0\","},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.57.0\","},{"lineNumber":54,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-base\": \"^15.0.0\","},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" \"eslint-config-airbnb-typescript\": \"^17.1.0\","},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-import\": \"^2.29.1\","},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"eslint-plugin-vue\": \"^8.4.1\","},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" \"postcss-html\": \"^1.6.0\","},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"pug\": \"^3.0.2\","},{"lineNumber":60,"author":{"gitId":"-"},"content":" \"pug-plain-loader\": \"^1.1.0\","},{"lineNumber":61,"author":{"gitId":"sopa301"},"content":" \"sass\": \"^1.71.0\","},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":" \"sass-loader\": \"^13.3.3\","},{"lineNumber":63,"author":{"gitId":"-"},"content":" \"stylelint\": \"^14.7.1\","},{"lineNumber":64,"author":{"gitId":"-"},"content":" \"stylelint-config-recommended-scss\": \"^6.0.0\","},{"lineNumber":65,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended-vue\": \"^1.5.0\","},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"stylelint-order\": \"^5.0.0\","},{"lineNumber":67,"author":{"gitId":"sopa301"},"content":" \"stylelint-scss\": \"^4.7.0\","},{"lineNumber":68,"author":{"gitId":"-"},"content":" \"stylelint-webpack-plugin\": \"^3.2.0\","},{"lineNumber":69,"author":{"gitId":"-"},"content":" \"typescript\": \"^4.9.5\""},{"lineNumber":70,"author":{"gitId":"-"},"content":" },"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"bugs\": {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/reposense/RepoSense/issues\""},{"lineNumber":73,"author":{"gitId":"-"},"content":" },"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \"directories\": {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"doc\": \"docs\""},{"lineNumber":76,"author":{"gitId":"-"},"content":" },"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"homepage\": \"https://github.com/reposense/RepoSense#readme\","},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"license\": \"ISC\","},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"repository\": {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"type\": \"git\","},{"lineNumber":81,"author":{"gitId":"-"},"content":" \"url\": \"git+https://github.com/reposense/RepoSense.git\""},{"lineNumber":82,"author":{"gitId":"-"},"content":" }"},{"lineNumber":83,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"sopa301":27,"-":56}},{"path":"src/main/java/reposense/RepoSense.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Level;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.helper.HelpScreenException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.git.GitConfig;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.ReportConfiguration;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.RunConfigurationDecider;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.parser.ArgsParser;"},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;"},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;"},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.report.ReportGenerator;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.system.ReportServer;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * The main RepoSense class."},{"lineNumber":29,"author":{"gitId":"-"},"content":" */"},{"lineNumber":30,"author":{"gitId":"-"},"content":"public class RepoSense {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(RepoSense.class);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final int SERVER_PORT_NUMBER \u003d 9000;"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"E MMM d HH:mm:ss yyyy z\");"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String VERSION_UNSPECIFIED \u003d \"unspecified\";"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":37,"author":{"gitId":"-"},"content":" * The entry point of the program."},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Additional flags are provided by the user in {@code args}."},{"lineNumber":39,"author":{"gitId":"-"},"content":" */"},{"lineNumber":40,"author":{"gitId":"-"},"content":" public static void main(String[] args) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" TimeUtil.startTimer();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(args);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d null;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" ReportConfiguration reportConfig \u003d new ReportConfiguration();"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" if (cliArguments.isViewModeOnly()) {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" ReportServer.startServer(SERVER_PORT_NUMBER, cliArguments.getReportDirectoryPath().toAbsolutePath());"},{"lineNumber":49,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" configs \u003d RunConfigurationDecider.getRunConfiguration(cliArguments).getRepoConfigurations();"},{"lineNumber":53,"author":{"gitId":"-"},"content":" reportConfig \u003d cliArguments.getReportConfiguration();"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(configs, cliArguments.getFormats());"},{"lineNumber":56,"author":{"gitId":"-"},"content":" RepoConfiguration.setDatesToRepoConfigs(configs, cliArguments.getSinceDate(), cliArguments.getUntilDate());"},{"lineNumber":57,"author":{"gitId":"-"},"content":" RepoConfiguration.setZoneIdToRepoConfigs(configs, cliArguments.getZoneId());"},{"lineNumber":58,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(configs,"},{"lineNumber":59,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());"},{"lineNumber":60,"author":{"gitId":"-"},"content":" RepoConfiguration.setFileSizeLimitIgnoredToRepoConfigs(configs,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" cliArguments.isFileSizeLimitIgnored());"},{"lineNumber":62,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsLastModifiedDateIncludedToRepoConfigs(configs,"},{"lineNumber":63,"author":{"gitId":"-"},"content":" cliArguments.isLastModifiedDateIncluded());"},{"lineNumber":64,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(configs,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());"},{"lineNumber":66,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(configs,"},{"lineNumber":67,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" List\u003cString[]\u003e globalGitConfig \u003d GitConfig.getGlobalGitLfsConfig();"},{"lineNumber":70,"author":{"gitId":"-"},"content":" if (globalGitConfig.size() !\u003d 0) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" GitConfig.setGlobalGitLfsConfig(GitConfig.SKIP_SMUDGE_CONFIG_SETTINGS);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" ReportGenerator reportGenerator \u003d new ReportGenerator();"},{"lineNumber":75,"author":{"gitId":"-"},"content":" List\u003cPath\u003e reportFoldersAndFiles \u003d reportGenerator.generateReposReport(configs,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" cliArguments.getOutputFilePath().toAbsolutePath().toString(),"},{"lineNumber":77,"author":{"gitId":"-"},"content":" cliArguments.getAssetsFilePath().toAbsolutePath().toString(), reportConfig,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" formatter.format(ZonedDateTime.now(cliArguments.getZoneId())),"},{"lineNumber":79,"author":{"gitId":"-"},"content":" cliArguments.getSinceDate(), cliArguments.getUntilDate(),"},{"lineNumber":80,"author":{"gitId":"-"},"content":" cliArguments.isSinceDateProvided(), cliArguments.isUntilDateProvided(),"},{"lineNumber":81,"author":{"gitId":"-"},"content":" cliArguments.getNumCloningThreads(), cliArguments.getNumAnalysisThreads(),"},{"lineNumber":82,"author":{"gitId":"-"},"content":" TimeUtil::getElapsedTime, cliArguments.getZoneId(), cliArguments.isFreshClonePerformed());"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" FileUtil.zipFoldersAndFiles(reportFoldersAndFiles, cliArguments.getOutputFilePath().toAbsolutePath(),"},{"lineNumber":85,"author":{"gitId":"-"},"content":" \".json\");"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" // Set back to user\u0027s initial global git lfs config"},{"lineNumber":88,"author":{"gitId":"-"},"content":" GitConfig.setGlobalGitLfsConfig(globalGitConfig);"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" logger.info(TimeUtil.getElapsedTimeMessage());"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" if (cliArguments.isAutomaticallyLaunching()) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" ReportServer.startServer(SERVER_PORT_NUMBER, cliArguments.getOutputFilePath().toAbsolutePath());"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":" } catch (IOException | ParseException | InvalidCsvException | InvalidHeaderException e) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, e.getMessage(), e);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" } catch (HelpScreenException e) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" // help message was printed by the ArgumentParser; it is safe to exit."},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" LogsManager.moveLogFileToOutputFolder();"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" public static String getVersion() {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" String version \u003d RepoSense.class.getPackage().getImplementationVersion();"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" if (version \u003d\u003d null || version.equals(VERSION_UNSPECIFIED)) {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" version \u003d System.getProperty(\"version\");"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" return version;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":3,"-":110}},{"path":"src/main/java/reposense/authorship/FileInfoAnalyzer.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.authorship;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.HashSet;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.authorship.analyzer.AnnotatorAnalyzer;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileInfo;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileResult;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.authorship.model.LineInfo;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.git.GitBlame;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.git.GitLog;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * Analyzes the target and information given in the {@link FileInfo}."},{"lineNumber":29,"author":{"gitId":"-"},"content":" */"},{"lineNumber":30,"author":{"gitId":"-"},"content":"public class FileInfoAnalyzer {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(FileInfoAnalyzer.class);"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final int AUTHOR_NAME_OFFSET \u003d \"author \".length();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final int AUTHOR_EMAIL_OFFSET \u003d \"author-mail \".length();"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final int AUTHOR_TIME_OFFSET \u003d \"author-time \".length();"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final int AUTHOR_TIMEZONE_OFFSET \u003d \"author-tz \".length();"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final int FULL_COMMIT_HASH_LENGTH \u003d 40;"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_MISSING \u003d \"Unable to analyze the file located at \\\"%s\\\" \""},{"lineNumber":40,"author":{"gitId":"-"},"content":" + \"as the file is missing from your system. Skipping this file.\";"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SHALLOW_CLONING_LAST_MODIFIED_DATE_CONFLICT \u003d \"Repo %s was cloned using \""},{"lineNumber":43,"author":{"gitId":"-"},"content":" + \"shallow cloning. As such, the \\\"last modified date\\\" values may be incorrect.\";"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":46,"author":{"gitId":"-"},"content":" * Analyzes the lines of the file, given in the {@code fileInfo}, that has changed in the time period provided"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * by {@code config}."},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Returns null if the file is missing from the local system, or none of the"},{"lineNumber":49,"author":{"gitId":"-"},"content":" * {@link Author} specified in {@code config} contributed to the file in {@code fileInfo}."},{"lineNumber":50,"author":{"gitId":"-"},"content":" */"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public FileResult analyzeTextFile(RepoConfiguration config, FileInfo fileInfo) {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" String relativePath \u003d fileInfo.getPath();"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" if (Files.notExists(Paths.get(config.getRepoRoot(), relativePath))) {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" logger.severe(String.format(MESSAGE_FILE_MISSING, relativePath));"},{"lineNumber":56,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" if (FileUtil.isEmptyFile(config.getRepoRoot(), relativePath)) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" aggregateBlameAuthorModifiedAndDateInfo(config, fileInfo);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" fileInfo.setFileType(config.getFileType(fileInfo.getPath()));"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" AnnotatorAnalyzer.aggregateAnnotationAuthorInfo(fileInfo, config.getAuthorConfig());"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" if (!config.getAuthorList().isEmpty() \u0026\u0026 fileInfo.isAllAuthorsIgnored(config.getAuthorList())) {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" return generateTextFileResult(fileInfo);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Analyzes the binary file, given in the {@code fileInfo}, that has changed in the time period provided"},{"lineNumber":77,"author":{"gitId":"-"},"content":" * by {@code config}."},{"lineNumber":78,"author":{"gitId":"-"},"content":" * Returns null if the file is missing from the local system, or none of the"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * {@link Author} specified in {@code config} contributed to the file in {@code fileInfo}."},{"lineNumber":80,"author":{"gitId":"-"},"content":" */"},{"lineNumber":81,"author":{"gitId":"-"},"content":" public FileResult analyzeBinaryFile(RepoConfiguration config, FileInfo fileInfo) {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" String relativePath \u003d fileInfo.getPath();"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" if (Files.notExists(Paths.get(config.getRepoRoot(), relativePath))) {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" logger.severe(String.format(MESSAGE_FILE_MISSING, relativePath));"},{"lineNumber":86,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" fileInfo.setFileType(config.getFileType(fileInfo.getPath()));"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" return generateBinaryFileResult(config, fileInfo);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":95,"author":{"gitId":"-"},"content":" * Generates and returns a {@link FileResult} with the authorship results from {@code fileInfo} consolidated."},{"lineNumber":96,"author":{"gitId":"-"},"content":" */"},{"lineNumber":97,"author":{"gitId":"-"},"content":" private FileResult generateTextFileResult(FileInfo fileInfo) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" HashMap\u003cAuthor, Integer\u003e authorContributionMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":99,"author":{"gitId":"-"},"content":" for (LineInfo line : fileInfo.getLines()) {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" Author author \u003d line.getAuthor();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" authorContributionMap.put(author, authorContributionMap.getOrDefault(author, 0) + 1);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" return FileResult.createTextFileResult("},{"lineNumber":105,"author":{"gitId":"-"},"content":" fileInfo.getPath(), fileInfo.getFileType(), fileInfo.getLines(), authorContributionMap,"},{"lineNumber":106,"author":{"gitId":"-"},"content":" fileInfo.exceedsFileLimit());"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":110,"author":{"gitId":"-"},"content":" * Generates and returns a {@link FileResult} with the authorship results from binary {@code fileInfo} consolidated."},{"lineNumber":111,"author":{"gitId":"-"},"content":" * Authorship results are indicated in the {@code authorContributionMap} as contributions with zero line counts."},{"lineNumber":112,"author":{"gitId":"-"},"content":" * Returns {@code null} if none of the {@link Author} specified in {@code config} contributed to the file in"},{"lineNumber":113,"author":{"gitId":"-"},"content":" * {@code fileInfo}."},{"lineNumber":114,"author":{"gitId":"-"},"content":" */"},{"lineNumber":115,"author":{"gitId":"-"},"content":" private FileResult generateBinaryFileResult(RepoConfiguration config, FileInfo fileInfo) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" List\u003cString[]\u003e authorsString \u003d GitLog.getFileAuthors(config, fileInfo.getPath());"},{"lineNumber":117,"author":{"gitId":"-"},"content":" if (authorsString.size() \u003d\u003d 0) {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" Set\u003cAuthor\u003e authors \u003d new HashSet\u003c\u003e();"},{"lineNumber":122,"author":{"gitId":"-"},"content":" HashMap\u003cAuthor, Integer\u003e authorContributionMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" for (String[] lineDetails : authorsString) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" String authorName \u003d lineDetails[0];"},{"lineNumber":126,"author":{"gitId":"-"},"content":" String authorEmail \u003d lineDetails[1];"},{"lineNumber":127,"author":{"gitId":"-"},"content":" authors.add(config.getAuthor(authorName, authorEmail));"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" for (Author author : authors) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" authorContributionMap.put(author, 0);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" return FileResult.createBinaryFileResult(fileInfo.getPath(), fileInfo.getFileType(), authorContributionMap);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":138,"author":{"gitId":"-"},"content":" * Sets the {@link Author} and {@link LocalDateTime} for each line in {@code fileInfo} based on the git blame"},{"lineNumber":139,"author":{"gitId":"-"},"content":" * analysis of the file."},{"lineNumber":140,"author":{"gitId":"-"},"content":" * The {@code config} is used to obtain the root directory for running git blame as well as other parameters used"},{"lineNumber":141,"author":{"gitId":"-"},"content":" * in determining which author to assign to each line and whether to set the last modified date for a"},{"lineNumber":142,"author":{"gitId":"-"},"content":" * {@code lineInfo}."},{"lineNumber":143,"author":{"gitId":"-"},"content":" */"},{"lineNumber":144,"author":{"gitId":"-"},"content":" private void aggregateBlameAuthorModifiedAndDateInfo(RepoConfiguration config, FileInfo fileInfo) {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" String blameResults;"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" if (!config.isFindingPreviousAuthorsPerformed()) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" blameResults \u003d getGitBlameResult(config, fileInfo.getPath());"},{"lineNumber":149,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" blameResults \u003d getGitBlameWithPreviousAuthorsResult(config, fileInfo.getPath());"},{"lineNumber":151,"author":{"gitId":"-"},"content":" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"asdfghjkxd"},"content":" String[] blameResultLines \u003d StringsUtil.NEWLINE.split(blameResults);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" Path filePath \u003d Paths.get(fileInfo.getPath());"},{"lineNumber":155,"author":{"gitId":"-"},"content":" LocalDateTime sinceDate \u003d config.getSinceDate();"},{"lineNumber":156,"author":{"gitId":"-"},"content":" LocalDateTime untilDate \u003d config.getUntilDate();"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" for (int lineCount \u003d 0; lineCount \u003c blameResultLines.length; lineCount +\u003d 5) {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" String commitHash \u003d blameResultLines[lineCount].substring(0, FULL_COMMIT_HASH_LENGTH);"},{"lineNumber":160,"author":{"gitId":"-"},"content":" String authorName \u003d blameResultLines[lineCount + 1].substring(AUTHOR_NAME_OFFSET);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" String authorEmail \u003d blameResultLines[lineCount + 2]"},{"lineNumber":162,"author":{"gitId":"-"},"content":" .substring(AUTHOR_EMAIL_OFFSET).replaceAll(\"\u003c|\u003e\", \"\");"},{"lineNumber":163,"author":{"gitId":"-"},"content":" Long commitDateInMs \u003d Long.parseLong(blameResultLines[lineCount + 3].substring(AUTHOR_TIME_OFFSET)) * 1000;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" LocalDateTime commitDate \u003d LocalDateTime.ofInstant(Instant.ofEpochMilli(commitDateInMs),"},{"lineNumber":165,"author":{"gitId":"-"},"content":" config.getZoneId());"},{"lineNumber":166,"author":{"gitId":"-"},"content":" Author author \u003d config.getAuthor(authorName, authorEmail);"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" if (!fileInfo.isFileLineTracked(lineCount / 5) || author.isIgnoringFile(filePath)"},{"lineNumber":169,"author":{"gitId":"-"},"content":" || CommitHash.isInsideCommitList(commitHash, config.getIgnoreCommitList())"},{"lineNumber":170,"author":{"gitId":"-"},"content":" || commitDate.compareTo(sinceDate) \u003c 0 || commitDate.compareTo(untilDate) \u003e 0) {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" author \u003d Author.UNKNOWN_AUTHOR;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" if (config.isLastModifiedDateIncluded()) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" if (config.isShallowCloningPerformed()) {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" logger.warning(String.format("},{"lineNumber":177,"author":{"gitId":"-"},"content":" MESSAGE_SHALLOW_CLONING_LAST_MODIFIED_DATE_CONFLICT, config.getRepoName()));"},{"lineNumber":178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" fileInfo.setLineLastModifiedDate(lineCount / 5, commitDate);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":" fileInfo.setLineAuthor(lineCount / 5, author);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":187,"author":{"gitId":"-"},"content":" * Returns the analysis result from running git blame on {@code filePath} with reference to the root directory"},{"lineNumber":188,"author":{"gitId":"-"},"content":" * given in {@code config}."},{"lineNumber":189,"author":{"gitId":"-"},"content":" */"},{"lineNumber":190,"author":{"gitId":"-"},"content":" private String getGitBlameResult(RepoConfiguration config, String filePath) {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" return GitBlame.blame(config.getRepoRoot(), filePath);"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":195,"author":{"gitId":"-"},"content":" * Returns the analysis result from running git blame with finding previous authors enabled on {@code filePath}"},{"lineNumber":196,"author":{"gitId":"-"},"content":" * with reference to the root directory given in {@code config}."},{"lineNumber":197,"author":{"gitId":"-"},"content":" */"},{"lineNumber":198,"author":{"gitId":"-"},"content":" private String getGitBlameWithPreviousAuthorsResult(RepoConfiguration config, String filePath) {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" return GitBlame.blameWithPreviousAuthors(config.getRepoRoot(), filePath);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":199}},{"path":"src/main/java/reposense/authorship/FileInfoExtractor.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.authorship;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.BufferedReader;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.FileReader;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.InvalidPathException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Comparator;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.HashSet;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.logging.Level;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import java.util.regex.Matcher;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileInfo;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.authorship.model.LineInfo;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.git.GitCheckout;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.git.GitDiff;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.git.GitRevList;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Extracts out all the relevant {@code FileInfo} from the repository."},{"lineNumber":34,"author":{"gitId":"-"},"content":" */"},{"lineNumber":35,"author":{"gitId":"-"},"content":"public class FileInfoExtractor {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(FileInfoExtractor.class);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String MESSAGE_START_EXTRACTING_FILE_INFO \u003d \"Extracting relevant file info from %s (%s)...\";"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_FILE_PATH \u003d \"\\\"%s\\\" is an invalid file path for current OS or \""},{"lineNumber":39,"author":{"gitId":"-"},"content":" + \"indicates a possible regex match issue. Skipping this directory.\";"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_SIZE_LIMIT_EXCEEDED \u003d \"File \\\"%s\\\" has %dB size. The file size \""},{"lineNumber":41,"author":{"gitId":"-"},"content":" + \"limit is set at %dB. %s\";"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_ANALYSIS_SKIPPED \u003d \"Skipping analysis of this file...\";"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_EXCLUDED_FROM_REPORT \u003d \"Exact line diffs will be excluded from report...\";"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final String DIFF_FILE_CHUNK_SEPARATOR \u003d \"\\ndiff --git \\\"?\\\u0027?a/.*\\n\";"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final String LINE_CHUNKS_SEPARATOR \u003d \"\\n@@ \";"},{"lineNumber":47,"author":{"gitId":"-"},"content":" private static final String LINE_INSERTED_SYMBOL \u003d \"+\";"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String STARTING_LINE_NUMBER_GROUP_NAME \u003d \"startingLineNumber\";"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String FILE_CHANGED_GROUP_NAME \u003d \"filePath\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final String FILE_DELETED_SYMBOL \u003d \"dev/null\";"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final String MATCH_GROUP_FAIL_MESSAGE_FORMAT \u003d \"Failed to match the %s group for:\\n%s\";"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final String BINARY_FILE_LINE_DIFF_RESULT \u003d \"-\\t-\\t\";"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final int LINE_CHANGED_HEADER_INDEX \u003d 0;"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final Pattern STARTING_LINE_NUMBER_PATTERN \u003d Pattern.compile("},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"-(\\\\d)+(,)?(\\\\d)* \\\\+(?\u003cstartingLineNumber\u003e\\\\d+)(,)?(\\\\d)* @@\");"},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final Pattern FILE_CHANGED_PATTERN \u003d Pattern.compile(\"\\n(\\\\+){3} b?/(?\u003cfilePath\u003e.*?)\\t?\\n\");"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":61,"author":{"gitId":"-"},"content":" * Extracts a list of relevant non-binary files given in {@code config}."},{"lineNumber":62,"author":{"gitId":"-"},"content":" */"},{"lineNumber":63,"author":{"gitId":"-"},"content":" public List\u003cFileInfo\u003e extractTextFileInfos(RepoConfiguration config) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_START_EXTRACTING_FILE_INFO, config.getLocation(), config.getBranch()));"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e fileInfos \u003d new ArrayList\u003c\u003e();"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" // checks out to the latest commit of the date range to ensure the FileInfo generated correspond to the"},{"lineNumber":69,"author":{"gitId":"-"},"content":" // git blame file analyze output"},{"lineNumber":70,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" GitCheckout.checkoutDate(config.getRepoRoot(), config.getBranch(), config.getUntilDate(),"},{"lineNumber":72,"author":{"gitId":"-"},"content":" config.getZoneId());"},{"lineNumber":73,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException cnfe) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" return fileInfos;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":" String lastCommitHash \u003d GitRevList.getCommitHashUntilDate("},{"lineNumber":77,"author":{"gitId":"-"},"content":" config.getRepoRoot(), config.getBranch(), config.getSinceDate(), config.getZoneId());"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" fileInfos \u003d (lastCommitHash.isEmpty())"},{"lineNumber":80,"author":{"gitId":"-"},"content":" ? getAllFileInfo(config, false)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" : getEditedFileInfos(config, lastCommitHash);"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" fileInfos.sort(Comparator.comparing(FileInfo::getPath));"},{"lineNumber":84,"author":{"gitId":"-"},"content":" return fileInfos;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Extracts a list of relevant binary files given in {@code config}."},{"lineNumber":89,"author":{"gitId":"-"},"content":" */"},{"lineNumber":90,"author":{"gitId":"-"},"content":" public List\u003cFileInfo\u003e extractBinaryFileInfos(RepoConfiguration config) {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e binaryFileInfos \u003d getAllFileInfo(config, true);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" binaryFileInfos.sort(Comparator.comparing(FileInfo::getPath));"},{"lineNumber":93,"author":{"gitId":"-"},"content":" return binaryFileInfos;"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":97,"author":{"gitId":"-"},"content":" * Returns a list of {@link FileInfo}s for all files in the repo with lines marked indicating if they were edited"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * in between the current commit and the commit given by {@code lastCommitHash}."},{"lineNumber":99,"author":{"gitId":"-"},"content":" * The repo is given by {@code config}."},{"lineNumber":100,"author":{"gitId":"-"},"content":" */"},{"lineNumber":101,"author":{"gitId":"-"},"content":" public List\u003cFileInfo\u003e getEditedFileInfos(RepoConfiguration config, String lastCommitHash) {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e fileInfos \u003d new ArrayList\u003c\u003e();"},{"lineNumber":103,"author":{"gitId":"-"},"content":" String fullDiffResult \u003d GitDiff.diffCommit(config.getRepoRoot(), lastCommitHash);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" // no diff between the 2 commits, return an empty list"},{"lineNumber":105,"author":{"gitId":"-"},"content":" if (fullDiffResult.isEmpty()) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" return fileInfos;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" String[] fileDiffResultList \u003d fullDiffResult.split(DIFF_FILE_CHUNK_SEPARATOR);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" Set\u003cPath\u003e textFilesSet \u003d getFiles(config, false);"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" for (String fileDiffResult : fileDiffResultList) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" Matcher filePathMatcher \u003d FILE_CHANGED_PATTERN.matcher(fileDiffResult);"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" // diff result does not have the markers to indicate that file has any line changes, skip it"},{"lineNumber":116,"author":{"gitId":"-"},"content":" if (!filePathMatcher.find()) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" String filePath \u003d filePathMatcher.group(FILE_CHANGED_GROUP_NAME);"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" if (filePath.equals(FILE_DELETED_SYMBOL) // file is deleted, skip it as well"},{"lineNumber":123,"author":{"gitId":"-"},"content":" || !isValidTextFile(filePath, textFilesSet)"},{"lineNumber":124,"author":{"gitId":"-"},"content":" || !config.getFileTypeManager().isInsideWhitelistedFormats(filePath)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" || FileUtil.isFileIgnoredByGlob(config, Paths.get(filePath))) {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" FileInfo currentFileInfo \u003d generateFileInfo(config, filePath);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" setLinesToTrack(currentFileInfo, fileDiffResult);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" if (currentFileInfo.isFileAnalyzed()) {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" fileInfos.add(currentFileInfo);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" return fileInfos;"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":140,"author":{"gitId":"-"},"content":" * Returns a {@link Set} of non-binary files for the repo {@code repoConfig}"},{"lineNumber":141,"author":{"gitId":"-"},"content":" * if {@code isBinaryFiles} is set to `false`."},{"lineNumber":142,"author":{"gitId":"-"},"content":" * Otherwise, returns a {@link Set} of binary files for the repo {@code repoConfig}."},{"lineNumber":143,"author":{"gitId":"-"},"content":" */"},{"lineNumber":144,"author":{"gitId":"-"},"content":" public Set\u003cPath\u003e getFiles(RepoConfiguration repoConfig, boolean isBinaryFile) {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" List\u003cString\u003e modifiedFileList \u003d GitDiff.getModifiedFilesList(Paths.get(repoConfig.getRepoRoot()));"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" // Gets rid of files with invalid directory name and filters by the {@code isBinaryFile} flag"},{"lineNumber":148,"author":{"gitId":"-"},"content":" return modifiedFileList.stream()"},{"lineNumber":149,"author":{"gitId":"-"},"content":" .filter(file -\u003e isBinaryFile \u003d\u003d file.startsWith(BINARY_FILE_LINE_DIFF_RESULT))"},{"lineNumber":150,"author":{"gitId":"asdfghjkxd"},"content":" .map(file -\u003e StringsUtil.TAB.split(file)[2])"},{"lineNumber":151,"author":{"gitId":"-"},"content":" .filter(FileUtil::isValidPathWithLogging)"},{"lineNumber":152,"author":{"gitId":"asdfghjkxd"},"content":" .map(Paths::get)"},{"lineNumber":153,"author":{"gitId":"-"},"content":" .collect(Collectors.toCollection(HashSet::new));"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":157,"author":{"gitId":"-"},"content":" * Analyzes the {@code fileDiffResult} and marks each {@link LineInfo} in {@code fileInfo} on whether they were"},{"lineNumber":158,"author":{"gitId":"-"},"content":" * inserted in between the commit range."},{"lineNumber":159,"author":{"gitId":"-"},"content":" */"},{"lineNumber":160,"author":{"gitId":"-"},"content":" private void setLinesToTrack(FileInfo fileInfo, String fileDiffResult) {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" String[] linesChangedChunk \u003d fileDiffResult.split(LINE_CHUNKS_SEPARATOR);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" List\u003cLineInfo\u003e lineInfos \u003d fileInfo.getLines();"},{"lineNumber":163,"author":{"gitId":"-"},"content":" int fileLinePointer \u003d 0;"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" // skips the header, index starts from 1"},{"lineNumber":166,"author":{"gitId":"-"},"content":" for (int sectionIndex \u003d 1; sectionIndex \u003c linesChangedChunk.length; sectionIndex++) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" String linesChangedInSection \u003d linesChangedChunk[sectionIndex];"},{"lineNumber":168,"author":{"gitId":"asdfghjkxd"},"content":" String[] linesChanged \u003d StringsUtil.NEWLINE.split(linesChangedInSection);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" int startingLineNumber \u003d getStartingLineNumber(linesChanged[LINE_CHANGED_HEADER_INDEX]);"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" // mark all untouched lines between sections as untracked"},{"lineNumber":172,"author":{"gitId":"-"},"content":" while (fileLinePointer \u003c startingLineNumber - 1) {"},{"lineNumber":173,"author":{"gitId":"-"},"content":" lineInfos.get(fileLinePointer++).setTracked(false);"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" // skips the header, index starts from 1"},{"lineNumber":177,"author":{"gitId":"-"},"content":" for (int lineIndex \u003d 1; lineIndex \u003c linesChanged.length; lineIndex++) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" String lineChanged \u003d linesChanged[lineIndex];"},{"lineNumber":179,"author":{"gitId":"-"},"content":" // set line added to be tracked"},{"lineNumber":180,"author":{"gitId":"-"},"content":" if (lineChanged.startsWith(LINE_INSERTED_SYMBOL)) {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" lineInfos.get(fileLinePointer++).setTracked(true);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" // set all remaining lines in file that were untouched to be untracked"},{"lineNumber":187,"author":{"gitId":"-"},"content":" while (fileLinePointer \u003c lineInfos.size()) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" lineInfos.get(fileLinePointer++).setTracked(false);"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":193,"author":{"gitId":"-"},"content":" * Traverses each file from the repo root directory, generates the {@link FileInfo} for each relevant file found"},{"lineNumber":194,"author":{"gitId":"-"},"content":" * based on {@code config} and inserts it into {@code fileInfos}."},{"lineNumber":195,"author":{"gitId":"-"},"content":" * Adds binary files to {@link List} if {@code isBinaryFiles} is true. Otherwise, adds non-binary files"},{"lineNumber":196,"author":{"gitId":"-"},"content":" * to {@link List}."},{"lineNumber":197,"author":{"gitId":"-"},"content":" */"},{"lineNumber":198,"author":{"gitId":"-"},"content":" private List\u003cFileInfo\u003e getAllFileInfo(RepoConfiguration config, boolean isBinaryFiles) {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e fileInfos \u003d new ArrayList\u003c\u003e();"},{"lineNumber":200,"author":{"gitId":"-"},"content":" Set\u003cPath\u003e files \u003d getFiles(config, isBinaryFiles);"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" for (Path relativePath : files) {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" if (!config.getFileTypeManager().isInsideWhitelistedFormats(relativePath.toString())"},{"lineNumber":204,"author":{"gitId":"-"},"content":" || FileUtil.isFileIgnoredByGlob(config, relativePath)) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" FileInfo fileInfo \u003d (isBinaryFiles)"},{"lineNumber":209,"author":{"gitId":"-"},"content":" ? new FileInfo(relativePath.toString())"},{"lineNumber":210,"author":{"gitId":"-"},"content":" : generateFileInfo(config, relativePath.toString());"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" if (fileInfo.isFileAnalyzed()) {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" fileInfos.add(fileInfo);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":" return fileInfos;"},{"lineNumber":217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":220,"author":{"gitId":"-"},"content":" * Returns a {@link FileInfo} with a list of {@link LineInfo} for each line content in the"},{"lineNumber":221,"author":{"gitId":"-"},"content":" * file located in the repository given by {@code config}/{@code relativePath}."},{"lineNumber":222,"author":{"gitId":"-"},"content":" */"},{"lineNumber":223,"author":{"gitId":"-"},"content":" public FileInfo generateFileInfo(RepoConfiguration config, String relativePath) {"},{"lineNumber":224,"author":{"gitId":"-"},"content":" return generateFileInfo(config.getRepoRoot(), relativePath, config.getFileSizeLimit(),"},{"lineNumber":225,"author":{"gitId":"-"},"content":" config.isFileSizeLimitIgnored(), config.isIgnoredFileAnalysisSkipped());"},{"lineNumber":226,"author":{"gitId":"-"},"content":" }"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":229,"author":{"gitId":"-"},"content":" * Returns a {@link FileInfo} with a list of {@link LineInfo} for each line content in the"},{"lineNumber":230,"author":{"gitId":"-"},"content":" * file located at the {@link Path} given by {@code repoRoot}/{@code relativePath}. {@code fileSizeLimit} and"},{"lineNumber":231,"author":{"gitId":"-"},"content":" * {@code ignoreFileSizeLimit} are used to set whether the file size limit is exceeding. {@link LineInfo}s are"},{"lineNumber":232,"author":{"gitId":"-"},"content":" * not included in {@link FileInfo} if {@code skipIgnoredFileAnalysis} is true and file size limit is exceeding."},{"lineNumber":233,"author":{"gitId":"-"},"content":" */"},{"lineNumber":234,"author":{"gitId":"-"},"content":" public FileInfo generateFileInfo(String repoRoot, String relativePath, long fileSizeLimit,"},{"lineNumber":235,"author":{"gitId":"-"},"content":" boolean ignoreFileSizeLimit, boolean skipIgnoredFileAnalysis) {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" FileInfo fileInfo \u003d new FileInfo(relativePath);"},{"lineNumber":237,"author":{"gitId":"-"},"content":" Path path \u003d Paths.get(repoRoot, fileInfo.getPath());"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" try (BufferedReader br \u003d new BufferedReader(new FileReader(path.toFile()))) {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" long fileSize \u003d Files.size(path);"},{"lineNumber":241,"author":{"gitId":"-"},"content":" fileInfo.setFileSize(fileSize);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" if (!ignoreFileSizeLimit \u0026\u0026 fileSize \u003e fileSizeLimit) {"},{"lineNumber":243,"author":{"gitId":"-"},"content":" fileInfo.setExceedsSizeLimit(true);"},{"lineNumber":244,"author":{"gitId":"-"},"content":" if (skipIgnoredFileAnalysis) {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_FILE_SIZE_LIMIT_EXCEEDED,"},{"lineNumber":246,"author":{"gitId":"-"},"content":" fileInfo.getPath(), fileSize, fileSizeLimit, MESSAGE_FILE_ANALYSIS_SKIPPED));"},{"lineNumber":247,"author":{"gitId":"-"},"content":" fileInfo.setFileAnalyzed(false);"},{"lineNumber":248,"author":{"gitId":"-"},"content":" return fileInfo;"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":250,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_FILE_SIZE_LIMIT_EXCEEDED,"},{"lineNumber":251,"author":{"gitId":"-"},"content":" fileInfo.getPath(), fileSize, fileSizeLimit, MESSAGE_FILE_EXCLUDED_FROM_REPORT));"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":" String line;"},{"lineNumber":254,"author":{"gitId":"-"},"content":" int lineNum \u003d 1;"},{"lineNumber":255,"author":{"gitId":"-"},"content":" while ((line \u003d br.readLine()) !\u003d null) {"},{"lineNumber":256,"author":{"gitId":"-"},"content":" fileInfo.addLine(new LineInfo(lineNum++, line));"},{"lineNumber":257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":258,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" logger.log(Level.SEVERE, ioe.getMessage(), ioe);"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":" return fileInfo;"},{"lineNumber":262,"author":{"gitId":"-"},"content":" }"},{"lineNumber":263,"author":{"gitId":"-"},"content":""},{"lineNumber":264,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":265,"author":{"gitId":"-"},"content":" * Returns the starting line changed number, within the file diff result, by matching the pattern inside"},{"lineNumber":266,"author":{"gitId":"-"},"content":" * {@code linesChanged}."},{"lineNumber":267,"author":{"gitId":"-"},"content":" *"},{"lineNumber":268,"author":{"gitId":"-"},"content":" * @throws AssertionError if matching line number pattern in chunk header fails."},{"lineNumber":269,"author":{"gitId":"-"},"content":" */"},{"lineNumber":270,"author":{"gitId":"-"},"content":" private int getStartingLineNumber(String linesChanged) throws AssertionError {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" Matcher chunkHeaderMatcher \u003d STARTING_LINE_NUMBER_PATTERN.matcher(linesChanged);"},{"lineNumber":272,"author":{"gitId":"-"},"content":""},{"lineNumber":273,"author":{"gitId":"-"},"content":" if (!chunkHeaderMatcher.find()) {"},{"lineNumber":274,"author":{"gitId":"-"},"content":" logger.severe(String.format(MATCH_GROUP_FAIL_MESSAGE_FORMAT, \"line changed\", linesChanged));"},{"lineNumber":275,"author":{"gitId":"-"},"content":" throw new AssertionError(\"Should not have error matching line number pattern inside chunk header!\");"},{"lineNumber":276,"author":{"gitId":"-"},"content":" }"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":" return Integer.parseInt(chunkHeaderMatcher.group(STARTING_LINE_NUMBER_GROUP_NAME));"},{"lineNumber":279,"author":{"gitId":"-"},"content":" }"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":282,"author":{"gitId":"-"},"content":" * Returns true if {@code filePath} is valid and the file is not in binary (i.e. part of {@code textFilesSet})."},{"lineNumber":283,"author":{"gitId":"-"},"content":" */"},{"lineNumber":284,"author":{"gitId":"-"},"content":" private boolean isValidTextFile(String filePath, Set\u003cPath\u003e textFilesSet) {"},{"lineNumber":285,"author":{"gitId":"-"},"content":" boolean isValidFilePath;"},{"lineNumber":286,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":287,"author":{"gitId":"-"},"content":" isValidFilePath \u003d FileUtil.isValidPathWithLogging(filePath);"},{"lineNumber":288,"author":{"gitId":"-"},"content":" } catch (InvalidPathException ipe) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_INVALID_FILE_PATH, filePath));"},{"lineNumber":290,"author":{"gitId":"-"},"content":" isValidFilePath \u003d false;"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" return isValidFilePath \u0026\u0026 textFilesSet.contains(Paths.get(filePath));"},{"lineNumber":294,"author":{"gitId":"-"},"content":" }"},{"lineNumber":295,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":4,"-":291}},{"path":"src/main/java/reposense/git/GitCatFile.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Contains git cat file related functionalities."},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Git cat file provides content or type and size information for repository objects."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class GitCatFile {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitCatFile.class);"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * Returns parent commits for the commit associated with the input {@code commitHash}."},{"lineNumber":25,"author":{"gitId":"-"},"content":" * The {@link Path} given by {@code root} is the working directory."},{"lineNumber":26,"author":{"gitId":"-"},"content":" *"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if there is no commit associated with {@code commitHash}."},{"lineNumber":28,"author":{"gitId":"-"},"content":" */"},{"lineNumber":29,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getParentCommits(String root, String commitHash) throws CommitNotFoundException {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" String catFileCommand \u003d \"git cat-file -p \" + commitHash;"},{"lineNumber":32,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, catFileCommand);"},{"lineNumber":34,"author":{"gitId":"-"},"content":" List\u003cString\u003e parentCommits \u003d new ArrayList\u003c\u003e();"},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" for (String line : StringsUtil.NEWLINE.split(output)) {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" if (line.startsWith(\"parent\")) {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" parentCommits.add(line.substring(7).trim());"},{"lineNumber":38,"author":{"gitId":"-"},"content":" }"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":" return parentCommits;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" } catch (RuntimeException e) {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Commit not found: \" + commitHash);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Given the input list of {@code commitHashes}, return a list of commit hashes for the parent"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * commits of all the commits."},{"lineNumber":49,"author":{"gitId":"-"},"content":" * The {@link Path} given by {@code root} is the working directory."},{"lineNumber":50,"author":{"gitId":"-"},"content":" */"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getParentsOfCommits(String root, List\u003cString\u003e commitHashes) {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" List\u003cString\u003e parentCommits \u003d new ArrayList\u003c\u003e();"},{"lineNumber":53,"author":{"gitId":"-"},"content":" for (String commitHash : commitHashes) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" parentCommits.addAll(getParentCommits(root, commitHash));"},{"lineNumber":56,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" logger.warning(\"Invalid commit hash ignored: \" + commitHash);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return parentCommits;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":60}},{"path":"src/main/java/reposense/git/GitConfig.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.logging.Level;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.regex.Pattern;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.system.CommandRunner;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains git config related functionalities."},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Git config is used to set Git configuration values on a global or local"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * project level."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class GitConfig {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_SMUDGE_KEY \u003d \"filter.lfs.smudge\";"},{"lineNumber":23,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_SMUDGE_VALUE \u003d \"git-lfs smudge --skip -- %f\";"},{"lineNumber":24,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_PROCESS_KEY \u003d \"filter.lfs.process\";"},{"lineNumber":25,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_PROCESS_VALUE \u003d \"git-lfs filter-process --skip\";"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String LIST_GLOBAL_CONFIG_COMMAND \u003d \"git config --global --list\";"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" public static final List\u003cString[]\u003e SKIP_SMUDGE_CONFIG_SETTINGS \u003d Arrays.asList("},{"lineNumber":30,"author":{"gitId":"-"},"content":" new String[] {FILTER_LFS_SMUDGE_KEY, FILTER_LFS_SMUDGE_VALUE},"},{"lineNumber":31,"author":{"gitId":"-"},"content":" new String[] {FILTER_LFS_PROCESS_KEY, FILTER_LFS_PROCESS_VALUE});"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitConfig.class);"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":36,"author":{"gitId":"-"},"content":" * Returns the configuration values for lfs smudge and process within global git config."},{"lineNumber":37,"author":{"gitId":"-"},"content":" *"},{"lineNumber":38,"author":{"gitId":"-"},"content":" * @return a list of string arrays where 0-index is key and 1-index is value."},{"lineNumber":39,"author":{"gitId":"-"},"content":" */"},{"lineNumber":40,"author":{"gitId":"-"},"content":" public static List\u003cString[]\u003e getGlobalGitLfsConfig() {"},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":" Pattern equals \u003d Pattern.compile(\"\u003d\");"},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" String gitConfig \u003d getGitGlobalConfig();"},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.stream(StringsUtil.NEWLINE.split(gitConfig))"},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":" .map(equals::split)"},{"lineNumber":47,"author":{"gitId":"-"},"content":" .filter(line -\u003e line[0].equals(FILTER_LFS_SMUDGE_KEY) || line[0].equals((FILTER_LFS_PROCESS_KEY)))"},{"lineNumber":48,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":49,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, \"Could not get global git lfs config\", re);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":" }"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":56,"author":{"gitId":"-"},"content":" * Set the global git lfs configuration values. Does not run command if the configuration"},{"lineNumber":57,"author":{"gitId":"-"},"content":" * values are already set to skip."},{"lineNumber":58,"author":{"gitId":"-"},"content":" *"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * @param lfsConfigs a list of string arrays where 0-index is key and 1-index is value."},{"lineNumber":60,"author":{"gitId":"-"},"content":" */"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public static void setGlobalGitLfsConfig(List\u003cString[]\u003e lfsConfigs) {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" String command \u003d setGitLfsConfigCommand(lfsConfigs);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" if (!command.equals(\"\")) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" CommandRunner.runCommand(Paths.get(\".\"), command);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":69,"author":{"gitId":"-"},"content":" * Delete the global git lfs configuration values."},{"lineNumber":70,"author":{"gitId":"-"},"content":" */"},{"lineNumber":71,"author":{"gitId":"-"},"content":" public static void deleteGlobalGitLfsConfig() {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" String command \u003d String.format(\"git config --global --unset %s \u0026\u0026 git config --global --unset %s\","},{"lineNumber":73,"author":{"gitId":"-"},"content":" FILTER_LFS_SMUDGE_KEY, FILTER_LFS_PROCESS_KEY);"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" CommandRunner.runCommand(Paths.get(\".\"), command);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" private static String setGitLfsConfigCommand(List\u003cString[]\u003e lfsConfigs) {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" List\u003cString\u003e commands \u003d new ArrayList\u003c\u003e();"},{"lineNumber":80,"author":{"gitId":"-"},"content":" for (String[] config : lfsConfigs) {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" String key \u003d config[0];"},{"lineNumber":82,"author":{"gitId":"-"},"content":" String value \u003d config.length \u003e 1 ? config[1] : \"\";"},{"lineNumber":83,"author":{"gitId":"-"},"content":" commands.add(String.format(\"git config --global %s \\\"%s\\\"\", key, value));"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" return String.join(\" \u0026\u0026 \", commands);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" private static String getGitGlobalConfig() {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" return CommandRunner.runCommand(Paths.get(\".\"), LIST_GLOBAL_CONFIG_COMMAND);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":6,"-":86}},{"path":"src/main/java/reposense/git/GitDiff.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Contains git diff related functionalities."},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Git diff is responsible for obtaining the changes between commits, commit and working tree, etc."},{"lineNumber":16,"author":{"gitId":"-"},"content":" */"},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class GitDiff {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String EMPTY_TREE_HASH \u003d \"4b825dc642cb6eb9a060e54bf8d69288fbee4904\";"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String CHECKED_OUT_COMMIT_REFERENCE \u003d \"HEAD\";"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Returns the git diff result of the current commit compared to {@code lastCommitHash}, without any context."},{"lineNumber":23,"author":{"gitId":"-"},"content":" * The {@link Path} given by {@code root} is the working directory."},{"lineNumber":24,"author":{"gitId":"-"},"content":" */"},{"lineNumber":25,"author":{"gitId":"-"},"content":" public static String diffCommit(String root, String lastCommitHash) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" return runCommand(rootPath, \"git diff -U0 --ignore-submodules\u003dall \" + lastCommitHash);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * Returns a list of committed files with the corresponding number of lines added and deleted in the repo"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * {@code repoRoot}."},{"lineNumber":33,"author":{"gitId":"-"},"content":" */"},{"lineNumber":34,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getModifiedFilesList(Path repoRoot) {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" String diffCommand \u003d String.format(\"git diff --ignore-submodules\u003dall --numstat %s %s\","},{"lineNumber":36,"author":{"gitId":"-"},"content":" EMPTY_TREE_HASH, CHECKED_OUT_COMMIT_REFERENCE);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" String diffResult \u003d runCommand(repoRoot.toAbsolutePath(), diffCommand);"},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.asList(StringsUtil.NEWLINE.split(diffResult));"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":4,"-":36}},{"path":"src/main/java/reposense/git/GitLog.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.StringsUtil.addQuotesForFilePath;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains git log related functionalities."},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Git log is responsible to obtain the commit logs and the authors\u0027 info."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class GitLog {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static final String COMMIT_INFO_DELIMITER \u003d \"(?m)^\u003e\u003e\u003eCOMMIT INFO\u003c\u003c\u003c\\\\n\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String PRETTY_FORMAT_STRING \u003d"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"\\\"\u003e\u003e\u003eCOMMIT INFO\u003c\u003c\u003c%n%H|%n|%p|%n|%aN|%n|%aE|%n|%cI|%n|%s|%n|%w(0,4,4)%b%w(0,0,0)|%n|%D|\\\"\";"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String DEFAULT_EMAIL_IF_MISSING \u003d \"\";"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Returns the git commit log info of {@code author}, in the repository specified in {@code config}."},{"lineNumber":30,"author":{"gitId":"-"},"content":" */"},{"lineNumber":31,"author":{"gitId":"-"},"content":" public static String get(RepoConfiguration config, Author author) {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(config.getRepoRoot());"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" String command \u003d \"git log --full-history -i --extended-regexp \";"},{"lineNumber":35,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(config.getSinceDate(), config.getUntilDate(), config.getZoneId());"},{"lineNumber":36,"author":{"gitId":"-"},"content":" command +\u003d \" --pretty\u003dformat:\" + PRETTY_FORMAT_STRING + \" --shortstat\";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToFilterAuthorArgs(author);"},{"lineNumber":38,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitFormatsArgs(config.getFileTypeManager().getFormats());"},{"lineNumber":39,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitExcludeGlobArgs(rootPath.toFile(), author.getIgnoreGlobList());"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" return runCommand(rootPath, command);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":45,"author":{"gitId":"-"},"content":" * Returns the git commit log info of {@code author}, with the files changed, in the repository specified in"},{"lineNumber":46,"author":{"gitId":"-"},"content":" * {@code config}. Merge commits are included."},{"lineNumber":47,"author":{"gitId":"-"},"content":" */"},{"lineNumber":48,"author":{"gitId":"-"},"content":" public static String getWithFiles(RepoConfiguration config, Author author) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(config.getRepoRoot());"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" String command \u003d \"git log --full-history -i --extended-regexp \";"},{"lineNumber":52,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(config.getSinceDate(), config.getUntilDate(), config.getZoneId());"},{"lineNumber":53,"author":{"gitId":"-"},"content":" command +\u003d \" --pretty\u003dformat:\" + PRETTY_FORMAT_STRING + \" --numstat --shortstat\";"},{"lineNumber":54,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToFilterAuthorArgs(author);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitFormatsArgs(config.getFileTypeManager().getFormats());"},{"lineNumber":56,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitExcludeGlobArgs(rootPath.toFile(), author.getIgnoreGlobList());"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" return runCommand(rootPath, command);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Returns the authors who modified the file at {@code filePath}, in the repository specified in {@code config}."},{"lineNumber":63,"author":{"gitId":"-"},"content":" * The output is a list of length-2 arrays containing the author\u0027s name and email."},{"lineNumber":64,"author":{"gitId":"-"},"content":" */"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static List\u003cString[]\u003e getFileAuthors(RepoConfiguration config, String filePath) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(config.getRepoRoot());"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" String command \u003d \"git log --pretty\u003dformat:\\\"%an\\t%ae\\\" \";"},{"lineNumber":69,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(config.getSinceDate(), config.getUntilDate(), config.getZoneId());"},{"lineNumber":70,"author":{"gitId":"-"},"content":" command +\u003d \" \" + addQuotesForFilePath(filePath);"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" String result \u003d runCommand(rootPath, command);"},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.stream(StringsUtil.NEWLINE.split(result))"},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" .map(StringsUtil.TAB::split)"},{"lineNumber":75,"author":{"gitId":"-"},"content":" .map(authorAndEmailArray -\u003e authorAndEmailArray.length \u003d\u003d 1"},{"lineNumber":76,"author":{"gitId":"-"},"content":" ? new String[] {authorAndEmailArray[0], DEFAULT_EMAIL_IF_MISSING}"},{"lineNumber":77,"author":{"gitId":"-"},"content":" : authorAndEmailArray)"},{"lineNumber":78,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":3,"-":77}},{"path":"src/main/java/reposense/git/GitRemote.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.regex.Pattern;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.system.CommandRunner;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Contains git remote related functionality."},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Git remote is responsible for getting remote repository information."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class GitRemote {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static final String DEFAULT_FETCH_REMOTE \u003d \"origin(fetch)\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":" public static final String DEFAULT_PUSH_REMOTE \u003d \"origin(push)\";"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitRemote.class);"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * Extracts remote repository information at {@code repoRoot}."},{"lineNumber":28,"author":{"gitId":"-"},"content":" *"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * @return Map of keys of the form REMOTE_NAME(fetch) or REMOTE_NAME(push) to their corresponding remote URLs."},{"lineNumber":30,"author":{"gitId":"-"},"content":" */"},{"lineNumber":31,"author":{"gitId":"-"},"content":" public static Map\u003cString, String\u003e getRemotes(String repoRoot) {"},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" Pattern anyTabPattern \u003d Pattern.compile(\"[ \\\\t]+\");"},{"lineNumber":33,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e remotes \u003d new HashMap\u003c\u003e();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" String result;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" result \u003d CommandRunner.runCommand(Paths.get(repoRoot), \"git remote -v\");"},{"lineNumber":37,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"Unable to run git remote command in directory: %s\", repoRoot));"},{"lineNumber":39,"author":{"gitId":"-"},"content":" return remotes;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":" Arrays.stream(StringsUtil.NEWLINE.split(result))"},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" .map(anyTabPattern::split)"},{"lineNumber":44,"author":{"gitId":"-"},"content":" .forEach(l -\u003e {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" if (l.length \u003d\u003d 3) {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" // l[0]: remote name"},{"lineNumber":47,"author":{"gitId":"-"},"content":" // l[1]: remote URL"},{"lineNumber":48,"author":{"gitId":"-"},"content":" // l[2]: \u0027(fetch)\u0027 | \u0027(push)\u0027"},{"lineNumber":49,"author":{"gitId":"-"},"content":" remotes.put(l[0] + l[2], l[1]);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":" });"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" return remotes;"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":57,"author":{"gitId":"-"},"content":" * Finds an available fetch remote location in a given {@code remoteMap}, checking first for the default fetch"},{"lineNumber":58,"author":{"gitId":"-"},"content":" * remote (origin)."},{"lineNumber":59,"author":{"gitId":"-"},"content":" *"},{"lineNumber":60,"author":{"gitId":"-"},"content":" * @return an {@code Optional} of an available remote location."},{"lineNumber":61,"author":{"gitId":"-"},"content":" */"},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static Optional\u003cString\u003e getAvailableRemoteLocation(Map\u003cString, String\u003e remoteMap) {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" if (remoteMap.size() \u003d\u003d 0) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" return Optional.empty();"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" String remoteLocation \u003d remoteMap.containsKey(DEFAULT_FETCH_REMOTE)"},{"lineNumber":68,"author":{"gitId":"-"},"content":" // Get default fetch remote if possible"},{"lineNumber":69,"author":{"gitId":"-"},"content":" ? remoteMap.get(DEFAULT_FETCH_REMOTE)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" // Get any available remote otherwise"},{"lineNumber":71,"author":{"gitId":"-"},"content":" : remoteMap.values().iterator().next();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" return Optional.of(remoteLocation);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":5,"-":70}},{"path":"src/main/java/reposense/git/GitRevList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains git rev list related functionalities."},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Git rev list is responsible for showing commit objects in reverse chronological order."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class GitRevList {"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String REVISION_PATH_SEPARATOR \u003d \" -- \";"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Returns the latest commit hash at {@code branchName} before {@code date}."},{"lineNumber":26,"author":{"gitId":"-"},"content":" * Returns an empty {@code String} if {@code date} is null, or there is no such commit."},{"lineNumber":27,"author":{"gitId":"-"},"content":" *"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * @param root The name of the working directory."},{"lineNumber":29,"author":{"gitId":"-"},"content":" * @param branchName The name of the branch to find the commit hash in."},{"lineNumber":30,"author":{"gitId":"-"},"content":" * @param date The cut-off date before which the commit hash must be found."},{"lineNumber":31,"author":{"gitId":"-"},"content":" * @param zoneId The timezone of the date."},{"lineNumber":32,"author":{"gitId":"-"},"content":" */"},{"lineNumber":33,"author":{"gitId":"-"},"content":" public static String getCommitHashUntilDate(String root, String branchName, LocalDateTime date, ZoneId zoneId) {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" if (date \u003d\u003d null) {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list -1 --until\u003d\""},{"lineNumber":40,"author":{"gitId":"-"},"content":" + GitUtil.GIT_LOG_UNTIL_DATE_FORMAT.format(ZonedDateTime.of(date, zoneId))"},{"lineNumber":41,"author":{"gitId":"-"},"content":" + \" \" + branchName + REVISION_PATH_SEPARATOR;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" return runCommand(rootPath, revListCommand);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":46,"author":{"gitId":"-"},"content":" * Returns a list of commit hashes at the branch given by {@code branchName}, separated by newlines,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * that are within the range of {@code startHash} and {@code endHash}."},{"lineNumber":48,"author":{"gitId":"-"},"content":" * The {@code root} is the name of the working directory."},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Both the {@code startHash} and {@code endHash} are guaranteed to be in the list."},{"lineNumber":50,"author":{"gitId":"-"},"content":" */"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static String getCommitHashInRange(String root, String branchName, String startHash, String endHash) {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" if (startHash \u003d\u003d null \u0026\u0026 endHash \u003d\u003d null) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":54,"author":{"gitId":"-"},"content":" } else if (startHash \u003d\u003d null) {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" return endHash;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" } else if (endHash \u003d\u003d null) {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" return startHash;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" String fromStartHash \u003d getAllCommitHashSince(root, branchName, startHash);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" String fromEndHash \u003d getAllCommitHashSince(root, branchName, endHash);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" StringBuilder output \u003d new StringBuilder();"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" // If invalid hashes were given, do not use the results obtained from rev-list"},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (fromStartHash.equals(\"\") \u0026\u0026 fromEndHash.equals(\"\")) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":67,"author":{"gitId":"-"},"content":" } else if (fromStartHash.equals(\"\")) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" return endHash;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" } else if (fromEndHash.equals(\"\")) {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" return startHash;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" // Perform a set difference in the list of commits to get the commits within the given range, since both lists"},{"lineNumber":74,"author":{"gitId":"-"},"content":" // will have the list of commits starting from the given commit to HEAD, hence this removes the overlap part."},{"lineNumber":75,"author":{"gitId":"-"},"content":" // Also ensure that both hashes are present in the final output"},{"lineNumber":76,"author":{"gitId":"-"},"content":" if (fromStartHash.length() \u003e fromEndHash.length()) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" output.append(endHash);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" output.append(fromStartHash.substring(fromEndHash.length()));"},{"lineNumber":79,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" output.append(startHash);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" output.append(fromEndHash.substring(fromStartHash.length()));"},{"lineNumber":82,"author":{"gitId":"-"},"content":" }"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" return output.toString();"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Returns a list of commit hashes at the branch given by {@code branchName} separated by newlines that exist"},{"lineNumber":89,"author":{"gitId":"-"},"content":" * since {@code hash} until HEAD."},{"lineNumber":90,"author":{"gitId":"-"},"content":" * The {@code root} is the name of the working directory."},{"lineNumber":91,"author":{"gitId":"-"},"content":" */"},{"lineNumber":92,"author":{"gitId":"-"},"content":" private static String getAllCommitHashSince(String root, String branchName, String hash) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list \" + hash + \"..HEAD \" + branchName + REVISION_PATH_SEPARATOR;"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" return runCommand(rootPath, revListCommand) + hash;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" } catch (RuntimeException rte) {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" // An invalid commit hash was provided"},{"lineNumber":100,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":105,"author":{"gitId":"-"},"content":" * Returns a list of commit hashes for the root commits in the tree, with the {@link Path} given by {@code root}"},{"lineNumber":106,"author":{"gitId":"-"},"content":" * as working directory."},{"lineNumber":107,"author":{"gitId":"-"},"content":" */"},{"lineNumber":108,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getRootCommits(String root) {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list --max-parents\u003d0 HEAD\";"},{"lineNumber":110,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, revListCommand);"},{"lineNumber":112,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.asList(StringsUtil.NEWLINE.split(output));"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * Returns true if the repository is empty, with the {@link Path} given by {@code root} as working directory."},{"lineNumber":117,"author":{"gitId":"-"},"content":" */"},{"lineNumber":118,"author":{"gitId":"-"},"content":" public static boolean checkIsEmptyRepo(String root) {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list -n 1 --all\";"},{"lineNumber":120,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, revListCommand);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" return output \u003d\u003d null || output.trim().isEmpty();"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":4,"-":120}},{"path":"src/main/java/reposense/git/GitShortlog.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * Contains git shortlog related functionalities."},{"lineNumber":20,"author":{"gitId":"-"},"content":" * Git shortlog provides a summary of git log output."},{"lineNumber":21,"author":{"gitId":"-"},"content":" */"},{"lineNumber":22,"author":{"gitId":"-"},"content":"public class GitShortlog {"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Extracts all the author identities from the repository and date range given in {@code config},"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * with the timezone taken into account."},{"lineNumber":27,"author":{"gitId":"-"},"content":" */"},{"lineNumber":28,"author":{"gitId":"-"},"content":" public static List\u003cAuthor\u003e getAuthors(RepoConfiguration config) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" String summary \u003d getShortlogSummary("},{"lineNumber":30,"author":{"gitId":"-"},"content":" config.getRepoRoot(), config.getSinceDate(), config.getUntilDate(), config.getZoneId());"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (summary.isEmpty()) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" return Collections.emptyList();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" String[] lines \u003d StringsUtil.NEWLINE.split(summary);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" return Arrays.stream(lines)"},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" .map(line -\u003e new Author(StringsUtil.TAB.split(line)[1]))"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Obtains summarized version of git log from the repository at {@code root} for the date range"},{"lineNumber":44,"author":{"gitId":"-"},"content":" * given by {@code sinceDate} and {@code untilDate}, with {@code zoneId} taken into account for both dates."},{"lineNumber":45,"author":{"gitId":"-"},"content":" */"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static String getShortlogSummary(String root, LocalDateTime sinceDate, LocalDateTime untilDate,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" ZoneId zoneId) {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" String command \u003d \"git log --pretty\u003dshort\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(sinceDate, untilDate, zoneId);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" command +\u003d \" | git shortlog --summary\";"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" return runCommand(rootPath, command);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":3,"-":52}},{"path":"src/main/java/reposense/git/GitShow.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.text.ParseException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Contains git show related functionalities."},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Git show shows various types of objects."},{"lineNumber":23,"author":{"gitId":"-"},"content":" */"},{"lineNumber":24,"author":{"gitId":"-"},"content":"public class GitShow {"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitShow.class);"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Returns expanded form of the {@link CommitHash} associated with the {@code shortCommitHash}, with"},{"lineNumber":30,"author":{"gitId":"-"},"content":" * the {@link Path} given by {@code root} as the working directory."},{"lineNumber":31,"author":{"gitId":"-"},"content":" *"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if there is no commit associated with {@code shortCommitHash}."},{"lineNumber":33,"author":{"gitId":"-"},"content":" */"},{"lineNumber":34,"author":{"gitId":"-"},"content":" public static CommitHash getExpandedCommitHash(String root, String shortCommitHash) throws CommitNotFoundException {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" String showCommand \u003d \"git show -s --format\u003d%H \" + shortCommitHash;"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, showCommand);"},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":" List\u003cCommitHash\u003e commitHashes \u003d Arrays.stream(StringsUtil.NEWLINE.split(output))"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .map(CommitHash::new).collect(Collectors.toList());"},{"lineNumber":42,"author":{"gitId":"-"},"content":" if (commitHashes.size() \u003e 1) {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"%s can be expanded to %d different commits, \""},{"lineNumber":44,"author":{"gitId":"-"},"content":" + \"assuming %s refers to commit hash %s\","},{"lineNumber":45,"author":{"gitId":"-"},"content":" shortCommitHash, commitHashes.size(), shortCommitHash, commitHashes.get(0)));"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" return commitHashes.get(0);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Commit not found: \" + shortCommitHash);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Returns {@link LocalDateTime} of the commit associated with commit hash, with {@link Path} given by {@code root}"},{"lineNumber":56,"author":{"gitId":"-"},"content":" * as the working directory."},{"lineNumber":57,"author":{"gitId":"-"},"content":" *"},{"lineNumber":58,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if no commit exists for the given {@code commitHash}."},{"lineNumber":59,"author":{"gitId":"-"},"content":" * @throws ParseException if the date string for the given {@code commitHash} could not be parsed into"},{"lineNumber":60,"author":{"gitId":"-"},"content":" * a {@link LocalDateTime} object."},{"lineNumber":61,"author":{"gitId":"-"},"content":" */"},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static LocalDateTime getCommitDate(String root, String commitHash)"},{"lineNumber":63,"author":{"gitId":"-"},"content":" throws CommitNotFoundException, ParseException {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" String showCommand \u003d \"git show -s --format\u003d%ci \" + commitHash;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, showCommand);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" DateTimeFormatter format \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm:ss Z\u0027\\n\u0027\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(output, format);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Commit not found: \" + commitHash);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Returns {@link LocalDateTime} of the earliest commit out of the input list of commits in {@code commitHashes},"},{"lineNumber":77,"author":{"gitId":"-"},"content":" * with the {@code root} string denoting the working directory."},{"lineNumber":78,"author":{"gitId":"-"},"content":" *"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if no commit exists for a given hash in {@code commitHashes}"},{"lineNumber":80,"author":{"gitId":"-"},"content":" * or if no date string was successfully parsed to a {@link LocalDateTime} for earliest date."},{"lineNumber":81,"author":{"gitId":"-"},"content":" */"},{"lineNumber":82,"author":{"gitId":"-"},"content":" public static LocalDateTime getEarliestCommitDate(String root, List\u003cString\u003e commitHashes)"},{"lineNumber":83,"author":{"gitId":"-"},"content":" throws CommitNotFoundException {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" LocalDateTime earliest \u003d null;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" for (String hash : commitHashes) {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" LocalDateTime date \u003d getCommitDate(root, hash);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" if (earliest \u003d\u003d null || date.compareTo(earliest) \u003c 0) {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" earliest \u003d date;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" logger.warning(\"Commit not found: \" + hash);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" } catch (ParseException pe) {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" logger.warning(\"Could not parse date for commit: \" + hash);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":" if (earliest \u003d\u003d null) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Date could not be retrieved for all input commits\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" return earliest;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":101}},{"path":"src/main/java/reposense/model/Author.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.FileSystems;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.PathMatcher;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.regex.Pattern;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Represents a Git Author."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class Author {"},{"lineNumber":14,"author":{"gitId":"-"},"content":" public static final String NAME_NO_AUTHOR_WITH_COMMITS_FOUND \u003d"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"NO AUTHOR WITH COMMITS FOUND WITHIN THIS PERIOD OF TIME\";"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String UNKNOWN_AUTHOR_GIT_ID \u003d \"-\";"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String STANDARD_GITHUB_EMAIL_DOMAIN \u003d \"@users.noreply.github.com\";"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String STANDARD_GITLAB_EMAIL_DOMAIN \u003d \"@users.noreply.gitlab.com\";"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNCOMMON_EMAIL_PATTERN \u003d \"The provided email, %s, uses uncommon pattern.\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNCOMMON_GLOB_PATTERN \u003d \"The provided ignore glob, %s, uses uncommon pattern.\";"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String COMMON_EMAIL_REGEX \u003d"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"^([a-zA-Z0-9_\\\\-\\\\.\\\\+]+)@([a-zA-Z0-9_\\\\-\\\\.]+)\\\\.([a-zA-Z]{2,5})$\";"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String COMMON_GLOB_REGEX \u003d \"^[-a-zA-Z0-9 _/\\\\\\\\*!{}\\\\[\\\\]!(),:.]*$\";"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" public static final Author UNKNOWN_AUTHOR \u003d new Author(UNKNOWN_AUTHOR_GIT_ID);"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private final String gitId;"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e emails;"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private transient String displayName;"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e authorAliases;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e ignoreGlobList;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private transient PathMatcher ignoreGlobMatcher;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" public Author(String gitId) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" this.gitId \u003d gitId;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" this.emails \u003d new ArrayList\u003c\u003e();"},{"lineNumber":40,"author":{"gitId":"-"},"content":" this.displayName \u003d gitId;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" this.authorAliases \u003d new ArrayList\u003c\u003e();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" addStandardGitHostEmails(this.emails);"},{"lineNumber":45,"author":{"gitId":"-"},"content":" updateIgnoreGlobMatcher();"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" public Author(StandaloneAuthor sa) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" String gitId \u003d sa.getGitId();"},{"lineNumber":50,"author":{"gitId":"-"},"content":" List\u003cString\u003e emails \u003d new ArrayList\u003c\u003e(sa.getEmails());"},{"lineNumber":51,"author":{"gitId":"-"},"content":" String displayName \u003d !sa.getDisplayName().isEmpty() ? sa.getDisplayName() : sa.getGitId();"},{"lineNumber":52,"author":{"gitId":"-"},"content":" List\u003cString\u003e authorAliases \u003d sa.getAuthorNames();"},{"lineNumber":53,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList \u003d sa.getIgnoreGlobList();"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" this.gitId \u003d gitId;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" this.displayName \u003d displayName;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" this.authorAliases \u003d authorAliases;"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" setEmails(emails);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" setIgnoreGlobList(ignoreGlobList);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" public Author(Author another) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" this.gitId \u003d another.gitId;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" this.emails \u003d another.emails;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" this.displayName \u003d another.gitId;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" this.authorAliases \u003d another.authorAliases;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d another.ignoreGlobList;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.ignoreGlobMatcher \u003d another.ignoreGlobMatcher;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Checks that all the strings in the {@code emails} only contains commonly used email patterns."},{"lineNumber":74,"author":{"gitId":"-"},"content":" *"},{"lineNumber":75,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the values do not meet the criteria."},{"lineNumber":76,"author":{"gitId":"-"},"content":" */"},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static void validateEmails(List\u003cString\u003e emails) throws IllegalArgumentException {"},{"lineNumber":78,"author":{"gitId":"asdfghjkxd"},"content":" Pattern emailPattern \u003d Pattern.compile(COMMON_EMAIL_REGEX);"},{"lineNumber":79,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" for (String email : emails) {"},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" if (!emailPattern.matcher(email).matches()) {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(String.format(MESSAGE_UNCOMMON_EMAIL_PATTERN, email));"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Checks that all the strings in the {@code ignoreGlobList} only contains commonly used glob patterns."},{"lineNumber":89,"author":{"gitId":"-"},"content":" *"},{"lineNumber":90,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the values do not meet the criteria."},{"lineNumber":91,"author":{"gitId":"-"},"content":" */"},{"lineNumber":92,"author":{"gitId":"-"},"content":" private static void validateIgnoreGlobs(List\u003cString\u003e ignoreGlobList) throws IllegalArgumentException {"},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":" Pattern globPattern \u003d Pattern.compile(COMMON_GLOB_REGEX);"},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" for (String glob : ignoreGlobList) {"},{"lineNumber":96,"author":{"gitId":"asdfghjkxd"},"content":" if (!globPattern.matcher(glob).matches()) {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(String.format(MESSAGE_UNCOMMON_GLOB_PATTERN, glob));"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" public String getGitId() {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return gitId;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getEmails() {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" return emails;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" public void setEmails(List\u003cString\u003e emails) {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" validateEmails(emails);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" this.emails \u003d new ArrayList\u003c\u003e(emails);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" addStandardGitHostEmails(this.emails);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" public String getDisplayName() {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" return displayName;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" public void setDisplayName(String displayName) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" this.displayName \u003d displayName;"},{"lineNumber":122,"author":{"gitId":"-"},"content":" }"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getAuthorAliases() {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return authorAliases;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" public void setAuthorAliases(List\u003cString\u003e authorAliases) {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" this.authorAliases \u003d authorAliases;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getIgnoreGlobList() {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" return ignoreGlobList;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" public void setIgnoreGlobList(List\u003cString\u003e ignoreGlobList) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" validateIgnoreGlobs(ignoreGlobList);"},{"lineNumber":138,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d new ArrayList\u003c\u003e(ignoreGlobList);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" updateIgnoreGlobMatcher();"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Validates and adds {@code ignoreGlobList} into the {@link Author} class instance variable without duplicates"},{"lineNumber":144,"author":{"gitId":"-"},"content":" * and updates the ignore glob matcher."},{"lineNumber":145,"author":{"gitId":"-"},"content":" */"},{"lineNumber":146,"author":{"gitId":"-"},"content":" public void importIgnoreGlobList(List\u003cString\u003e ignoreGlobList) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" validateIgnoreGlobs(ignoreGlobList);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" ignoreGlobList.forEach(ignoreGlob -\u003e {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" if (!this.ignoreGlobList.contains(ignoreGlob)) {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" this.ignoreGlobList.add(ignoreGlob);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":" });"},{"lineNumber":153,"author":{"gitId":"-"},"content":" updateIgnoreGlobMatcher();"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":157,"author":{"gitId":"-"},"content":" * Returns true if this author is ignoring the {@code filePath} based on its ignore glob matcher."},{"lineNumber":158,"author":{"gitId":"-"},"content":" */"},{"lineNumber":159,"author":{"gitId":"-"},"content":" public boolean isIgnoringFile(Path filePath) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" return ignoreGlobMatcher.matches(filePath);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":164,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" // short circuit if same object"},{"lineNumber":166,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" // instanceof handles null"},{"lineNumber":171,"author":{"gitId":"-"},"content":" if (!(other instanceof Author)) {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" Author otherAuthor \u003d (Author) other;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" return this.gitId.equalsIgnoreCase(otherAuthor.gitId);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":180,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" return gitId !\u003d null ? gitId.toLowerCase().hashCode() : 0;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":185,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" return gitId;"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":190,"author":{"gitId":"-"},"content":" * Updates the {@link PathMatcher} to the new ignore glob list set."},{"lineNumber":191,"author":{"gitId":"-"},"content":" * Called after a new ignore glob list is set."},{"lineNumber":192,"author":{"gitId":"-"},"content":" */"},{"lineNumber":193,"author":{"gitId":"-"},"content":" private void updateIgnoreGlobMatcher() {"},{"lineNumber":194,"author":{"gitId":"-"},"content":" String globString \u003d \"glob:{\" + String.join(\",\", ignoreGlobList) + \"}\";"},{"lineNumber":195,"author":{"gitId":"-"},"content":" ignoreGlobMatcher \u003d FileSystems.getDefault().getPathMatcher(globString);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":199,"author":{"gitId":"-"},"content":" * Adds the standard github and gitlab emails to {@code emails} if not present."},{"lineNumber":200,"author":{"gitId":"-"},"content":" */"},{"lineNumber":201,"author":{"gitId":"-"},"content":" private void addStandardGitHostEmails(List\u003cString\u003e emails) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" String standardGitHubEmail \u003d getGitId() + STANDARD_GITHUB_EMAIL_DOMAIN;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" String standardGitLabEmail \u003d getGitId() + STANDARD_GITLAB_EMAIL_DOMAIN;"},{"lineNumber":204,"author":{"gitId":"-"},"content":" if (!emails.contains(standardGitHubEmail)) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" emails.add(standardGitHubEmail);"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":" if (!emails.contains(standardGitLabEmail)) {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" emails.add(standardGitLabEmail);"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":"}"},{"lineNumber":212,"author":{"gitId":"-"},"content":""}],"authorContributionMap":{"asdfghjkxd":7,"-":205}},{"path":"src/main/java/reposense/model/CliArguments.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Objects;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.parser.ArgsParser;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.parser.AuthorConfigCsvParser;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.parser.GroupConfigCsvParser;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.parser.RepoConfigCsvParser;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.parser.ReportConfigJsonParser;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Represents command line arguments user supplied when running the program."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class CliArguments {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" private static final Path EMPTY_PATH \u003d Paths.get(\"\");"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":" private Path outputFilePath;"},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" private Path assetsFilePath;"},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" private LocalDateTime sinceDate;"},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" private LocalDateTime untilDate;"},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isSinceDateProvided;"},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isUntilDateProvided;"},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":" private List\u003cFileType\u003e formats;"},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isLastModifiedDateIncluded;"},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isShallowCloningPerformed;"},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isAutomaticallyLaunching;"},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isStandaloneConfigIgnored;"},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isFileSizeLimitIgnored;"},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" private int numCloningThreads;"},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" private int numAnalysisThreads;"},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" private ZoneId zoneId;"},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isFindingPreviousAuthorsPerformed;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private boolean isTestMode \u003d ArgsParser.DEFAULT_IS_TEST_MODE;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private boolean isFreshClonePerformed \u003d ArgsParser.DEFAULT_SHOULD_FRESH_CLONE;"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" private List\u003cString\u003e locations;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private boolean isViewModeOnly;"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" private Path reportDirectoryPath;"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" private Path configFolderPath;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" private Path repoConfigFilePath;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private Path authorConfigFilePath;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private Path groupConfigFilePath;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private Path reportConfigFilePath;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private ReportConfiguration reportConfiguration;"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":" * Constructs a {@code CliArguments} object without any parameters."},{"lineNumber":55,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":" private CliArguments() {}"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" public ZoneId getZoneId() {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" return zoneId;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" public Path getOutputFilePath() {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" return outputFilePath;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" public Path getAssetsFilePath() {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" return assetsFilePath;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" }"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" public LocalDateTime getSinceDate() {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" return sinceDate;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" public LocalDateTime getUntilDate() {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" return untilDate;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" public boolean isSinceDateProvided() {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" return isSinceDateProvided;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" public boolean isUntilDateProvided() {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" return isUntilDateProvided;"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" public boolean isLastModifiedDateIncluded() {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" return isLastModifiedDateIncluded;"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" public boolean isShallowCloningPerformed() {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" return isShallowCloningPerformed;"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" public List\u003cFileType\u003e getFormats() {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" return formats;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" public boolean isAutomaticallyLaunching() {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" return isAutomaticallyLaunching;"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" public boolean isStandaloneConfigIgnored() {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return isStandaloneConfigIgnored;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" public boolean isFileSizeLimitIgnored() {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" return isFileSizeLimitIgnored;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" public int getNumCloningThreads() {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" return numCloningThreads;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" public int getNumAnalysisThreads() {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" return numAnalysisThreads;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" public boolean isFindingPreviousAuthorsPerformed() {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" return isFindingPreviousAuthorsPerformed;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" public boolean isTestMode() {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" return isTestMode;"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" public boolean isFreshClonePerformed() {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" return isFreshClonePerformed;"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getLocations() {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" return locations;"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" public Path getReportDirectoryPath() {"},{"lineNumber":135,"author":{"gitId":"-"},"content":" return reportDirectoryPath;"},{"lineNumber":136,"author":{"gitId":"-"},"content":" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" public Path getConfigFolderPath() {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" return configFolderPath;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" public Path getRepoConfigFilePath() {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" return repoConfigFilePath;"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" public Path getAuthorConfigFilePath() {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" return authorConfigFilePath;"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" public Path getGroupConfigFilePath() {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" return groupConfigFilePath;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" public Path getReportConfigFilePath() {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" return reportConfigFilePath;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" public ReportConfiguration getReportConfiguration() {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" return reportConfiguration;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" public boolean isViewModeOnly() {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" return isViewModeOnly;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":167,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" // short circuit if same object"},{"lineNumber":169,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" // instanceof handles null"},{"lineNumber":174,"author":{"gitId":"-"},"content":" if (!(other instanceof CliArguments)) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" CliArguments otherCliArguments \u003d (CliArguments) other;"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" return Objects.equals(this.outputFilePath, otherCliArguments.outputFilePath)"},{"lineNumber":181,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.sinceDate, otherCliArguments.sinceDate)"},{"lineNumber":182,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.untilDate, otherCliArguments.untilDate)"},{"lineNumber":183,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isSinceDateProvided \u003d\u003d otherCliArguments.isSinceDateProvided"},{"lineNumber":184,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isUntilDateProvided \u003d\u003d otherCliArguments.isUntilDateProvided"},{"lineNumber":185,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.formats, otherCliArguments.formats)"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isLastModifiedDateIncluded \u003d\u003d otherCliArguments.isLastModifiedDateIncluded"},{"lineNumber":187,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isShallowCloningPerformed \u003d\u003d otherCliArguments.isShallowCloningPerformed"},{"lineNumber":188,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isAutomaticallyLaunching \u003d\u003d otherCliArguments.isAutomaticallyLaunching"},{"lineNumber":189,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isStandaloneConfigIgnored \u003d\u003d otherCliArguments.isStandaloneConfigIgnored"},{"lineNumber":190,"author":{"gitId":"-"},"content":" \u0026\u0026 this.numCloningThreads \u003d\u003d otherCliArguments.numCloningThreads"},{"lineNumber":191,"author":{"gitId":"-"},"content":" \u0026\u0026 this.numAnalysisThreads \u003d\u003d otherCliArguments.numAnalysisThreads"},{"lineNumber":192,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.zoneId, otherCliArguments.zoneId)"},{"lineNumber":193,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isFindingPreviousAuthorsPerformed \u003d\u003d otherCliArguments.isFindingPreviousAuthorsPerformed"},{"lineNumber":194,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isFileSizeLimitIgnored \u003d\u003d otherCliArguments.isFileSizeLimitIgnored"},{"lineNumber":195,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isTestMode \u003d\u003d otherCliArguments.isTestMode"},{"lineNumber":196,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isFreshClonePerformed \u003d\u003d otherCliArguments.isFreshClonePerformed"},{"lineNumber":197,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.locations, otherCliArguments.locations)"},{"lineNumber":198,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isViewModeOnly \u003d\u003d otherCliArguments.isViewModeOnly"},{"lineNumber":199,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.reportDirectoryPath, otherCliArguments.reportDirectoryPath)"},{"lineNumber":200,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.repoConfigFilePath, otherCliArguments.repoConfigFilePath)"},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.authorConfigFilePath, otherCliArguments.authorConfigFilePath)"},{"lineNumber":202,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.groupConfigFilePath, otherCliArguments.groupConfigFilePath)"},{"lineNumber":203,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.reportConfigFilePath, otherCliArguments.reportConfigFilePath);"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":207,"author":{"gitId":"-"},"content":" * Builder used to build CliArguments."},{"lineNumber":208,"author":{"gitId":"-"},"content":" */"},{"lineNumber":209,"author":{"gitId":"-"},"content":" public static final class Builder {"},{"lineNumber":210,"author":{"gitId":"asdfghjkxd"},"content":" private CliArguments cliArguments;"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" public Builder() {"},{"lineNumber":213,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments \u003d new CliArguments();"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":217,"author":{"gitId":"-"},"content":" * Adds the {@code outputFilePath} to CliArguments."},{"lineNumber":218,"author":{"gitId":"-"},"content":" *"},{"lineNumber":219,"author":{"gitId":"-"},"content":" * @param outputFilePath The output file path."},{"lineNumber":220,"author":{"gitId":"-"},"content":" */"},{"lineNumber":221,"author":{"gitId":"-"},"content":" public Builder outputFilePath(Path outputFilePath) {"},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.outputFilePath \u003d outputFilePath;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":227,"author":{"gitId":"-"},"content":" * Adds the {@code assetsFilePath} to CliArguments."},{"lineNumber":228,"author":{"gitId":"-"},"content":" *"},{"lineNumber":229,"author":{"gitId":"-"},"content":" * @param assetsFilePath The assets file path."},{"lineNumber":230,"author":{"gitId":"-"},"content":" */"},{"lineNumber":231,"author":{"gitId":"-"},"content":" public Builder assetsFilePath(Path assetsFilePath) {"},{"lineNumber":232,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.assetsFilePath \u003d assetsFilePath;"},{"lineNumber":233,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":237,"author":{"gitId":"-"},"content":" * Adds the {@code sinceDate} to CliArguments."},{"lineNumber":238,"author":{"gitId":"-"},"content":" *"},{"lineNumber":239,"author":{"gitId":"-"},"content":" * @param sinceDate The since date."},{"lineNumber":240,"author":{"gitId":"-"},"content":" */"},{"lineNumber":241,"author":{"gitId":"-"},"content":" public Builder sinceDate(LocalDateTime sinceDate) {"},{"lineNumber":242,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.sinceDate \u003d sinceDate;"},{"lineNumber":243,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * Adds the {@code untilDate} to CliArguments."},{"lineNumber":248,"author":{"gitId":"-"},"content":" *"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * @param untilDate The until date."},{"lineNumber":250,"author":{"gitId":"-"},"content":" */"},{"lineNumber":251,"author":{"gitId":"-"},"content":" public Builder untilDate(LocalDateTime untilDate) {"},{"lineNumber":252,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.untilDate \u003d untilDate;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":254,"author":{"gitId":"-"},"content":" }"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":257,"author":{"gitId":"-"},"content":" * Adds the {@code isSinceDateProvided} to CliArguments."},{"lineNumber":258,"author":{"gitId":"-"},"content":" *"},{"lineNumber":259,"author":{"gitId":"-"},"content":" * @param isSinceDateProvided Is the since date provided."},{"lineNumber":260,"author":{"gitId":"-"},"content":" */"},{"lineNumber":261,"author":{"gitId":"-"},"content":" public Builder isSinceDateProvided(boolean isSinceDateProvided) {"},{"lineNumber":262,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isSinceDateProvided \u003d isSinceDateProvided;"},{"lineNumber":263,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":267,"author":{"gitId":"-"},"content":" * Adds the {@code isUntilDateProvided} to CliArguments."},{"lineNumber":268,"author":{"gitId":"-"},"content":" *"},{"lineNumber":269,"author":{"gitId":"-"},"content":" * @param isUntilDateProvided Is the until date provided."},{"lineNumber":270,"author":{"gitId":"-"},"content":" */"},{"lineNumber":271,"author":{"gitId":"-"},"content":" public Builder isUntilDateProvided(boolean isUntilDateProvided) {"},{"lineNumber":272,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isUntilDateProvided \u003d isUntilDateProvided;"},{"lineNumber":273,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":277,"author":{"gitId":"-"},"content":" * Adds the {@code formats} to CliArguments."},{"lineNumber":278,"author":{"gitId":"-"},"content":" *"},{"lineNumber":279,"author":{"gitId":"-"},"content":" * @param formats The list of {@link FileType}."},{"lineNumber":280,"author":{"gitId":"-"},"content":" */"},{"lineNumber":281,"author":{"gitId":"-"},"content":" public Builder formats(List\u003cFileType\u003e formats) {"},{"lineNumber":282,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.formats \u003d formats;"},{"lineNumber":283,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":287,"author":{"gitId":"-"},"content":" * Adds the {@code isLastModifiedDateIncluded} to CliArguments."},{"lineNumber":288,"author":{"gitId":"-"},"content":" *"},{"lineNumber":289,"author":{"gitId":"-"},"content":" * @param isLastModifiedDateIncluded Is the last modified date included."},{"lineNumber":290,"author":{"gitId":"-"},"content":" */"},{"lineNumber":291,"author":{"gitId":"-"},"content":" public Builder isLastModifiedDateIncluded(boolean isLastModifiedDateIncluded) {"},{"lineNumber":292,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isLastModifiedDateIncluded \u003d isLastModifiedDateIncluded;"},{"lineNumber":293,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":294,"author":{"gitId":"-"},"content":" }"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":297,"author":{"gitId":"-"},"content":" * Adds the {@code isShallowCloningPerformed} to CliArguments."},{"lineNumber":298,"author":{"gitId":"-"},"content":" *"},{"lineNumber":299,"author":{"gitId":"-"},"content":" * @param isShallowCloningPerformed Is shallow cloning performed."},{"lineNumber":300,"author":{"gitId":"-"},"content":" */"},{"lineNumber":301,"author":{"gitId":"-"},"content":" public Builder isShallowCloningPerformed(boolean isShallowCloningPerformed) {"},{"lineNumber":302,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isShallowCloningPerformed \u003d isShallowCloningPerformed;"},{"lineNumber":303,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":307,"author":{"gitId":"-"},"content":" * Adds the {@code isAutomaticallyLaunching} to CliArguments."},{"lineNumber":308,"author":{"gitId":"-"},"content":" *"},{"lineNumber":309,"author":{"gitId":"-"},"content":" * @param isAutomaticallyLaunching Is automatically launching."},{"lineNumber":310,"author":{"gitId":"-"},"content":" */"},{"lineNumber":311,"author":{"gitId":"-"},"content":" public Builder isAutomaticallyLaunching(boolean isAutomaticallyLaunching) {"},{"lineNumber":312,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isAutomaticallyLaunching \u003d isAutomaticallyLaunching;"},{"lineNumber":313,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":314,"author":{"gitId":"-"},"content":" }"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":317,"author":{"gitId":"-"},"content":" * Adds the {@code isStandaloneConfigIgnored} to CliArguments."},{"lineNumber":318,"author":{"gitId":"-"},"content":" *"},{"lineNumber":319,"author":{"gitId":"-"},"content":" * @param isStandaloneConfigIgnored Is standalone config ignored."},{"lineNumber":320,"author":{"gitId":"-"},"content":" */"},{"lineNumber":321,"author":{"gitId":"-"},"content":" public Builder isStandaloneConfigIgnored(boolean isStandaloneConfigIgnored) {"},{"lineNumber":322,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isStandaloneConfigIgnored \u003d isStandaloneConfigIgnored;"},{"lineNumber":323,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":327,"author":{"gitId":"-"},"content":" * Adds the {@code isFileSizeLimitIgnored} to CliArguments."},{"lineNumber":328,"author":{"gitId":"-"},"content":" *"},{"lineNumber":329,"author":{"gitId":"-"},"content":" * @param isFileSizeLimitIgnored Is file size limit ignored."},{"lineNumber":330,"author":{"gitId":"-"},"content":" */"},{"lineNumber":331,"author":{"gitId":"-"},"content":" public Builder isFileSizeLimitIgnored(boolean isFileSizeLimitIgnored) {"},{"lineNumber":332,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isFileSizeLimitIgnored \u003d isFileSizeLimitIgnored;"},{"lineNumber":333,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":334,"author":{"gitId":"-"},"content":" }"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":337,"author":{"gitId":"-"},"content":" * Adds the {@code numCloningThreads} to CliArguments."},{"lineNumber":338,"author":{"gitId":"-"},"content":" *"},{"lineNumber":339,"author":{"gitId":"-"},"content":" * @param numCloningThreads The number of cloning threads."},{"lineNumber":340,"author":{"gitId":"-"},"content":" */"},{"lineNumber":341,"author":{"gitId":"-"},"content":" public Builder numCloningThreads(int numCloningThreads) {"},{"lineNumber":342,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.numCloningThreads \u003d numCloningThreads;"},{"lineNumber":343,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":347,"author":{"gitId":"-"},"content":" * Adds the {@code numAnalysisThreads} to CliArguments."},{"lineNumber":348,"author":{"gitId":"-"},"content":" *"},{"lineNumber":349,"author":{"gitId":"-"},"content":" * @param numAnalysisThreads The number of analysis threads."},{"lineNumber":350,"author":{"gitId":"-"},"content":" */"},{"lineNumber":351,"author":{"gitId":"-"},"content":" public Builder numAnalysisThreads(int numAnalysisThreads) {"},{"lineNumber":352,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.numAnalysisThreads \u003d numAnalysisThreads;"},{"lineNumber":353,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":354,"author":{"gitId":"-"},"content":" }"},{"lineNumber":355,"author":{"gitId":"-"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":357,"author":{"gitId":"-"},"content":" * Adds the {@code zoneId} to CliArguments."},{"lineNumber":358,"author":{"gitId":"-"},"content":" *"},{"lineNumber":359,"author":{"gitId":"-"},"content":" * @param zoneId The timezone Id."},{"lineNumber":360,"author":{"gitId":"-"},"content":" */"},{"lineNumber":361,"author":{"gitId":"-"},"content":" public Builder zoneId(ZoneId zoneId) {"},{"lineNumber":362,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.zoneId \u003d zoneId;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":367,"author":{"gitId":"-"},"content":" * Adds the {@code isFindingPreviousAuthorsPerformed} to CliArguments."},{"lineNumber":368,"author":{"gitId":"-"},"content":" *"},{"lineNumber":369,"author":{"gitId":"-"},"content":" * @param isFindingPreviousAuthorsPerformed Is finding previous authors performed."},{"lineNumber":370,"author":{"gitId":"-"},"content":" */"},{"lineNumber":371,"author":{"gitId":"-"},"content":" public Builder isFindingPreviousAuthorsPerformed(boolean isFindingPreviousAuthorsPerformed) {"},{"lineNumber":372,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isFindingPreviousAuthorsPerformed \u003d isFindingPreviousAuthorsPerformed;"},{"lineNumber":373,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":377,"author":{"gitId":"-"},"content":" * Adds the {@code isTestMode} to CliArguments."},{"lineNumber":378,"author":{"gitId":"-"},"content":" *"},{"lineNumber":379,"author":{"gitId":"-"},"content":" * @param isTestMode Is test mode."},{"lineNumber":380,"author":{"gitId":"-"},"content":" */"},{"lineNumber":381,"author":{"gitId":"-"},"content":" public Builder isTestMode(boolean isTestMode) {"},{"lineNumber":382,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isTestMode \u003d isTestMode;"},{"lineNumber":383,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":387,"author":{"gitId":"-"},"content":" * Adds the {@code isFreshClonePerformed} to CliArguments."},{"lineNumber":388,"author":{"gitId":"-"},"content":" *"},{"lineNumber":389,"author":{"gitId":"-"},"content":" * @param isFreshClonePerformed Is fresh clone performed."},{"lineNumber":390,"author":{"gitId":"-"},"content":" */"},{"lineNumber":391,"author":{"gitId":"-"},"content":" public Builder isFreshClonePerformed(boolean isFreshClonePerformed) {"},{"lineNumber":392,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isFreshClonePerformed \u003d isFreshClonePerformed;"},{"lineNumber":393,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":394,"author":{"gitId":"-"},"content":" }"},{"lineNumber":395,"author":{"gitId":"-"},"content":""},{"lineNumber":396,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":397,"author":{"gitId":"-"},"content":" * Adds the {@code locations} to CliArguments."},{"lineNumber":398,"author":{"gitId":"-"},"content":" *"},{"lineNumber":399,"author":{"gitId":"-"},"content":" * @param locations The list of locations."},{"lineNumber":400,"author":{"gitId":"-"},"content":" */"},{"lineNumber":401,"author":{"gitId":"-"},"content":" public Builder locations(List\u003cString\u003e locations) {"},{"lineNumber":402,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.locations \u003d locations;"},{"lineNumber":403,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":407,"author":{"gitId":"-"},"content":" * Adds the {@code isViewModeOnly} to CliArguments."},{"lineNumber":408,"author":{"gitId":"-"},"content":" *"},{"lineNumber":409,"author":{"gitId":"-"},"content":" * @param isViewModeOnly Is view mode only."},{"lineNumber":410,"author":{"gitId":"-"},"content":" */"},{"lineNumber":411,"author":{"gitId":"-"},"content":" public Builder isViewModeOnly(boolean isViewModeOnly) {"},{"lineNumber":412,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isViewModeOnly \u003d isViewModeOnly;"},{"lineNumber":413,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":414,"author":{"gitId":"-"},"content":" }"},{"lineNumber":415,"author":{"gitId":"-"},"content":""},{"lineNumber":416,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":417,"author":{"gitId":"-"},"content":" * Adds the {@code reportDirectoryPath} to CliArguments."},{"lineNumber":418,"author":{"gitId":"-"},"content":" *"},{"lineNumber":419,"author":{"gitId":"-"},"content":" * @param reportDirectoryPath The report directory path."},{"lineNumber":420,"author":{"gitId":"-"},"content":" */"},{"lineNumber":421,"author":{"gitId":"-"},"content":" public Builder reportDirectoryPath(Path reportDirectoryPath) {"},{"lineNumber":422,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.reportDirectoryPath \u003d reportDirectoryPath;"},{"lineNumber":423,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":424,"author":{"gitId":"-"},"content":" }"},{"lineNumber":425,"author":{"gitId":"-"},"content":""},{"lineNumber":426,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":427,"author":{"gitId":"-"},"content":" * Adds the {@code configFolderPath} to CliArguments. {@code configFolderPath} is utilised to configure the"},{"lineNumber":428,"author":{"gitId":"-"},"content":" * {@code repoConfigFilePath}, {@code authorConfigFilePath}, {@code groupConfigFilePath} and"},{"lineNumber":429,"author":{"gitId":"-"},"content":" * {@code reportConfigFilePath}."},{"lineNumber":430,"author":{"gitId":"-"},"content":" *"},{"lineNumber":431,"author":{"gitId":"-"},"content":" * @param configFolderPath The config folder path."},{"lineNumber":432,"author":{"gitId":"-"},"content":" */"},{"lineNumber":433,"author":{"gitId":"-"},"content":" public Builder configFolderPath(Path configFolderPath) {"},{"lineNumber":434,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.configFolderPath \u003d configFolderPath.equals(EMPTY_PATH)"},{"lineNumber":435,"author":{"gitId":"-"},"content":" ? configFolderPath.toAbsolutePath()"},{"lineNumber":436,"author":{"gitId":"-"},"content":" : configFolderPath;"},{"lineNumber":437,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.repoConfigFilePath \u003d configFolderPath.resolve("},{"lineNumber":438,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfigCsvParser.REPO_CONFIG_FILENAME);"},{"lineNumber":439,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.authorConfigFilePath \u003d configFolderPath.resolve("},{"lineNumber":440,"author":{"gitId":"asdfghjkxd"},"content":" AuthorConfigCsvParser.AUTHOR_CONFIG_FILENAME);"},{"lineNumber":441,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.groupConfigFilePath \u003d configFolderPath.resolve("},{"lineNumber":442,"author":{"gitId":"asdfghjkxd"},"content":" GroupConfigCsvParser.GROUP_CONFIG_FILENAME);"},{"lineNumber":443,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.reportConfigFilePath \u003d configFolderPath.resolve("},{"lineNumber":444,"author":{"gitId":"asdfghjkxd"},"content":" ReportConfigJsonParser.REPORT_CONFIG_FILENAME);"},{"lineNumber":445,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":446,"author":{"gitId":"-"},"content":" }"},{"lineNumber":447,"author":{"gitId":"-"},"content":""},{"lineNumber":448,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":449,"author":{"gitId":"-"},"content":" * Adds the {@code reportConfiguration} to CliArguments."},{"lineNumber":450,"author":{"gitId":"-"},"content":" *"},{"lineNumber":451,"author":{"gitId":"-"},"content":" * @param reportConfiguration The report configuration."},{"lineNumber":452,"author":{"gitId":"-"},"content":" */"},{"lineNumber":453,"author":{"gitId":"-"},"content":" public Builder reportConfiguration(ReportConfiguration reportConfiguration) {"},{"lineNumber":454,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.reportConfiguration \u003d reportConfiguration;"},{"lineNumber":455,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":456,"author":{"gitId":"-"},"content":" }"},{"lineNumber":457,"author":{"gitId":"-"},"content":""},{"lineNumber":458,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":459,"author":{"gitId":"-"},"content":" * Builds CliArguments."},{"lineNumber":460,"author":{"gitId":"-"},"content":" *"},{"lineNumber":461,"author":{"gitId":"-"},"content":" * @return CliArguments"},{"lineNumber":462,"author":{"gitId":"-"},"content":" */"},{"lineNumber":463,"author":{"gitId":"-"},"content":" public CliArguments build() {"},{"lineNumber":464,"author":{"gitId":"asdfghjkxd"},"content":" CliArguments built \u003d this.cliArguments;"},{"lineNumber":465,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments \u003d new CliArguments();"},{"lineNumber":466,"author":{"gitId":"asdfghjkxd"},"content":" return built;"},{"lineNumber":467,"author":{"gitId":"-"},"content":" }"},{"lineNumber":468,"author":{"gitId":"-"},"content":" }"},{"lineNumber":469,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":56,"-":413}},{"path":"src/main/java/reposense/model/CliRunConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.logging.Level;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;"},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Represents RepoSense run configured by CLI."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class CliRunConfiguration implements RunConfiguration {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(CliRunConfiguration.class);"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" private final CliArguments cliArguments;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" public CliRunConfiguration(CliArguments cliArguments) {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" this.cliArguments \u003d cliArguments;"},{"lineNumber":22,"author":{"gitId":"-"},"content":" }"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Constructs a list of {@link RepoConfiguration}."},{"lineNumber":26,"author":{"gitId":"-"},"content":" *"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * @throws ParseException if all repo locations are invalid."},{"lineNumber":28,"author":{"gitId":"-"},"content":" */"},{"lineNumber":29,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":30,"author":{"gitId":"-"},"content":" public List\u003cRepoConfiguration\u003e getRepoConfigurations() throws ParseException {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d new ArrayList\u003c\u003e();"},{"lineNumber":32,"author":{"gitId":"-"},"content":" for (String locationString : cliArguments.getLocations()) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" configs.add("},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(locationString))"},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" .build()"},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" );"},{"lineNumber":39,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException ile) {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, ile.getMessage(), ile);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" if (configs.isEmpty()) {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" throw new ParseException(\"All repository locations are invalid.\");"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" return configs;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":7,"-":43}},{"path":"src/main/java/reposense/model/CommitHash.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import reposense.git.GitRevList;"},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":12,"author":{"gitId":"-"},"content":" * Represents a git commit hash in {@code RepoConfiguration}."},{"lineNumber":13,"author":{"gitId":"-"},"content":" */"},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class CommitHash {"},{"lineNumber":15,"author":{"gitId":"-"},"content":" private static final String COMMIT_HASH_REGEX \u003d \"^[0-9a-f]+$\";"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String COMMIT_RANGED_HASH_REGEX \u003d \"^[0-9a-f]+\\\\.\\\\.[0-9a-f]+$\";"},{"lineNumber":17,"author":{"gitId":"-"},"content":" private static final String INVALID_COMMIT_HASH_MESSAGE \u003d"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"The provided commit hash, %s, contains illegal characters.\";"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" private String commit;"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" public CommitHash(String commit) {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" validateCommit(commit);"},{"lineNumber":24,"author":{"gitId":"-"},"content":" this.commit \u003d commit;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" return commit;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" // short circuit if same object"},{"lineNumber":35,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" // instanceof handles null"},{"lineNumber":40,"author":{"gitId":"-"},"content":" if (!(other instanceof CommitHash)) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" CommitHash otherCommit \u003d (CommitHash) other;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" return this.commit.equals(otherCommit.commit);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":49,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" return commit.hashCode();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":54,"author":{"gitId":"-"},"content":" * Converts all the strings in {@code commits} into {@link CommitHash} objects."},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Returns null if {@code commits} is null."},{"lineNumber":56,"author":{"gitId":"-"},"content":" *"},{"lineNumber":57,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the strings are in invalid formats."},{"lineNumber":58,"author":{"gitId":"-"},"content":" */"},{"lineNumber":59,"author":{"gitId":"-"},"content":" public static List\u003cCommitHash\u003e convertStringsToCommits(List\u003cString\u003e commits) throws IllegalArgumentException {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" if (commits \u003d\u003d null) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" }"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" return commits.stream()"},{"lineNumber":65,"author":{"gitId":"-"},"content":" .map(CommitHash::new)"},{"lineNumber":66,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":70,"author":{"gitId":"-"},"content":" * Converts a commit {@code entry} into either itself, or a stream of {@link CommitHash} objects if a range was"},{"lineNumber":71,"author":{"gitId":"-"},"content":" * provided."},{"lineNumber":72,"author":{"gitId":"-"},"content":" * Uses {@code root} as the working directory and {@code branchName} as the branch from which to obtain the hashes."},{"lineNumber":73,"author":{"gitId":"-"},"content":" */"},{"lineNumber":74,"author":{"gitId":"-"},"content":" public static Stream\u003cCommitHash\u003e getHashes(String root, String branchName, CommitHash entry) {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" if (entry.toString().matches(COMMIT_HASH_REGEX)) {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" return Stream.of(entry);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" String[] startAndEnd \u003d entry.toString().split(\"\\\\.\\\\.\");"},{"lineNumber":80,"author":{"gitId":"-"},"content":" String revList \u003d GitRevList.getCommitHashInRange(root, branchName, startAndEnd[0], startAndEnd[1]);"},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.stream(StringsUtil.NEWLINE.split(revList))"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .map(CommitHash::new);"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":86,"author":{"gitId":"-"},"content":" * Checks if {@code commitList} contains {@code commitHash}."},{"lineNumber":87,"author":{"gitId":"-"},"content":" */"},{"lineNumber":88,"author":{"gitId":"-"},"content":" public static boolean isInsideCommitList(String commitHash, List\u003cCommitHash\u003e commitList) {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" return commitList.stream().map(CommitHash::toString).anyMatch(commitHash::startsWith);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":93,"author":{"gitId":"-"},"content":" * Checks that all the strings in the {@code ignoreCommitList} are in valid formats."},{"lineNumber":94,"author":{"gitId":"-"},"content":" *"},{"lineNumber":95,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the values do not meet the criteria."},{"lineNumber":96,"author":{"gitId":"-"},"content":" */"},{"lineNumber":97,"author":{"gitId":"-"},"content":" public static void validateCommits(List\u003cString\u003e commits) throws IllegalArgumentException {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" for (String commitHash : commits) {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" validateCommit(commitHash);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Checks that {@code commitHash} is in a valid format."},{"lineNumber":105,"author":{"gitId":"-"},"content":" *"},{"lineNumber":106,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if {@code commitHash} does not meet the criteria."},{"lineNumber":107,"author":{"gitId":"-"},"content":" */"},{"lineNumber":108,"author":{"gitId":"-"},"content":" private static void validateCommit(String commitHash) throws IllegalArgumentException {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" if (!commitHash.matches(COMMIT_HASH_REGEX) \u0026\u0026 !commitHash.matches(COMMIT_RANGED_HASH_REGEX)) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(String.format(INVALID_COMMIT_HASH_MESSAGE, commitHash));"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":"}"},{"lineNumber":114,"author":{"gitId":"-"},"content":""}],"authorContributionMap":{"asdfghjkxd":2,"-":112}},{"path":"src/main/java/reposense/model/ConfigRunConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.logging.Level;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.parser.AuthorConfigCsvParser;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.parser.GroupConfigCsvParser;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.parser.RepoConfigCsvParser;"},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;"},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Represents RepoSense run configured by config files."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class ConfigRunConfiguration implements RunConfiguration {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(ConfigRunConfiguration.class);"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" private final CliArguments cliArguments;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" public ConfigRunConfiguration(CliArguments cliArguments) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" this.cliArguments \u003d cliArguments;"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * Constructs a list of {@link RepoConfiguration}."},{"lineNumber":32,"author":{"gitId":"-"},"content":" *"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * @throws IOException if user-supplied csv file does not exist or is not readable."},{"lineNumber":34,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if user-supplied repo-config csv is malformed."},{"lineNumber":35,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if user-supplied csv file has header that cannot be parsed."},{"lineNumber":36,"author":{"gitId":"-"},"content":" */"},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"-"},"content":" public List\u003cRepoConfiguration\u003e getRepoConfigurations()"},{"lineNumber":39,"author":{"gitId":"-"},"content":" throws IOException, InvalidCsvException, InvalidHeaderException {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e repoConfigs \u003d new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs;"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" Path authorConfigFilePath \u003d cliArguments.getAuthorConfigFilePath();"},{"lineNumber":45,"author":{"gitId":"-"},"content":" Path groupConfigFilePath \u003d cliArguments.getGroupConfigFilePath();"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" if (authorConfigFilePath !\u003d null \u0026\u0026 Files.exists(authorConfigFilePath)) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" authorConfigs \u003d new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(repoConfigs, authorConfigs);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" RepoConfiguration.setHasAuthorConfigFileToRepoConfigs(repoConfigs, true);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" } catch (IOException | InvalidCsvException e) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" // for all IO and invalid csv exceptions, log the error and continue"},{"lineNumber":55,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, e.getMessage(), e);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" if (groupConfigFilePath !\u003d null \u0026\u0026 Files.exists(groupConfigFilePath)) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" groupConfigs \u003d new GroupConfigCsvParser(cliArguments.getGroupConfigFilePath()).parse();"},{"lineNumber":62,"author":{"gitId":"-"},"content":" RepoConfiguration.setGroupConfigsToRepos(repoConfigs, groupConfigs);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" } catch (IOException | InvalidCsvException e) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" // for all IO and invalid csv exceptions, log the error and continue"},{"lineNumber":65,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, e.getMessage(), e);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" return repoConfigs;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":69}},{"path":"src/main/java/reposense/model/RepoConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.File;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.Optional;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.git.GitBranch;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.git.exception.GitBranchException;"},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.ConfigurationBuildException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Represents configuration information from CSV config file for a single repository."},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class RepoConfiguration {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" public static final String DEFAULT_BRANCH \u003d \"HEAD\";"},{"lineNumber":25,"author":{"gitId":"-"},"content":" public static final String DEFAULT_EXTRA_OUTPUT_FOLDER_NAME \u003d \"\";"},{"lineNumber":26,"author":{"gitId":"-"},"content":" public static final long DEFAULT_FILE_SIZE_LIMIT \u003d 500000;"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(RepoConfiguration.class);"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private RepoLocation location;"},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" private String branch \u003d DEFAULT_BRANCH;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private String displayName;"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private String outputFolderName;"},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" private transient String extraOutputFolderName \u003d DEFAULT_EXTRA_OUTPUT_FOLDER_NAME;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private transient ZoneId zoneId;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private transient LocalDateTime sinceDate;"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private transient LocalDateTime untilDate;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private transient String repoFolderName;"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":" private transient FileTypeManager fileTypeManager \u003d new FileTypeManager(Collections.emptyList());"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e ignoreGlobList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e ignoredAuthorsList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private transient AuthorConfiguration authorConfig;"},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isStandaloneConfigIgnored \u003d false;"},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFileSizeLimitIgnored \u003d false;"},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" private transient List\u003cCommitHash\u003e ignoreCommitList \u003d Collections.emptyList();"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private transient boolean isLastModifiedDateIncluded;"},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isShallowCloningPerformed \u003d false;"},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFindingPreviousAuthorsPerformed \u003d false;"},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFormatsOverriding \u003d false;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private transient boolean isIgnoreGlobListOverriding;"},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isIgnoreCommitListOverriding \u003d false;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private transient boolean isIgnoredAuthorsListOverriding;"},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" private transient long fileSizeLimit \u003d DEFAULT_FILE_SIZE_LIMIT;"},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFileSizeLimitOverriding \u003d false;"},{"lineNumber":55,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isIgnoredFileAnalysisSkipped \u003d false;"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":" * Constructs an empty instance of {@code RepoConfiguration}, which is used by the {@code Builder}"},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" * to construct new {@code RepoConfiguration} instances."},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":61,"author":{"gitId":"asdfghjkxd"},"content":" private RepoConfiguration() {}"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":64,"author":{"gitId":"asdfghjkxd"},"content":" * Builds the necessary configurations for RepoConfiguration."},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":" * Obeys the Builder pattern as described in {@link CliArguments}."},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":" public static class Builder {"},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":" private String displayName;"},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":" private String outputFolderName;"},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":" private String repoFolderName;"},{"lineNumber":71,"author":{"gitId":"asdfghjkxd"},"content":" private RepoConfiguration repoConfiguration;"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" * Returns an empty instance of the RepoConfiguration Builder."},{"lineNumber":75,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":76,"author":{"gitId":"asdfghjkxd"},"content":" public Builder() {"},{"lineNumber":77,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration \u003d new RepoConfiguration();"},{"lineNumber":78,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" * Processes the author configuration of the repository."},{"lineNumber":82,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":83,"author":{"gitId":"asdfghjkxd"},"content":" private void processAuthor() {"},{"lineNumber":84,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.authorConfig \u003d new AuthorConfiguration("},{"lineNumber":85,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.location,"},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.branch);"},{"lineNumber":87,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":88,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":89,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":90,"author":{"gitId":"asdfghjkxd"},"content":" * Processes the branch of the repository."},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":92,"author":{"gitId":"asdfghjkxd"},"content":" private void processBranch() {"},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.branch \u003d this.repoConfiguration.location.isEmpty()"},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":" ? DEFAULT_BRANCH"},{"lineNumber":95,"author":{"gitId":"asdfghjkxd"},"content":" : this.repoConfiguration.branch;"},{"lineNumber":96,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":97,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":98,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":99,"author":{"gitId":"asdfghjkxd"},"content":" * Processes the relevant names of the repository configs."},{"lineNumber":100,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":" private void processNames() {"},{"lineNumber":102,"author":{"gitId":"asdfghjkxd"},"content":" String repoName \u003d this.repoConfiguration.location.getRepoName();"},{"lineNumber":103,"author":{"gitId":"asdfghjkxd"},"content":" String org \u003d this.repoConfiguration.location.getOrganization();"},{"lineNumber":104,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":105,"author":{"gitId":"asdfghjkxd"},"content":" String defaultDisplayName \u003d repoName + \"[\" + this.repoConfiguration.branch + \"]\";"},{"lineNumber":106,"author":{"gitId":"asdfghjkxd"},"content":" String defaultOutputFolderName \u003d repoName + \"_\" + this.repoConfiguration.branch;"},{"lineNumber":107,"author":{"gitId":"asdfghjkxd"},"content":" String defaultRepoFolderName \u003d repoName;"},{"lineNumber":108,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":109,"author":{"gitId":"asdfghjkxd"},"content":" if (!org.isEmpty()) {"},{"lineNumber":110,"author":{"gitId":"asdfghjkxd"},"content":" defaultDisplayName \u003d org + \"/\" + defaultDisplayName;"},{"lineNumber":111,"author":{"gitId":"asdfghjkxd"},"content":" defaultRepoFolderName \u003d org + \"_\" + defaultRepoFolderName;"},{"lineNumber":112,"author":{"gitId":"asdfghjkxd"},"content":" defaultOutputFolderName \u003d org + \"_\" + defaultOutputFolderName;"},{"lineNumber":113,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":114,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.displayName \u003d Optional.ofNullable(this.displayName)"},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":" .orElse(defaultDisplayName);"},{"lineNumber":117,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.outputFolderName \u003d Optional.ofNullable(this.outputFolderName)"},{"lineNumber":118,"author":{"gitId":"asdfghjkxd"},"content":" .orElse(defaultOutputFolderName);"},{"lineNumber":119,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.repoFolderName \u003d Optional.ofNullable(this.repoFolderName)"},{"lineNumber":120,"author":{"gitId":"asdfghjkxd"},"content":" .orElse(defaultRepoFolderName);"},{"lineNumber":121,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":122,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":123,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":124,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code location} for {@code RepoConfiguration}."},{"lineNumber":125,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":126,"author":{"gitId":"asdfghjkxd"},"content":" * @param location A repository location."},{"lineNumber":127,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object"},{"lineNumber":128,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":129,"author":{"gitId":"asdfghjkxd"},"content":" public Builder location(RepoLocation location) {"},{"lineNumber":130,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.location \u003d location;"},{"lineNumber":131,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":132,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":133,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":134,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":135,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code branch} for {@code RepoConfiguration}."},{"lineNumber":136,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":137,"author":{"gitId":"asdfghjkxd"},"content":" * @param branch Branch of the repository of interest."},{"lineNumber":138,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":139,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":140,"author":{"gitId":"asdfghjkxd"},"content":" public Builder branch(String branch) {"},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.branch \u003d branch;"},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":143,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":144,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":145,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":146,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code displayName} for {@code RepoConfiguration}."},{"lineNumber":147,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":148,"author":{"gitId":"asdfghjkxd"},"content":" * @param displayName Display name of the repository."},{"lineNumber":149,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":150,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":151,"author":{"gitId":"asdfghjkxd"},"content":" public Builder displayName(String displayName) {"},{"lineNumber":152,"author":{"gitId":"asdfghjkxd"},"content":" this.displayName \u003d displayName;"},{"lineNumber":153,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.displayName \u003d displayName;"},{"lineNumber":154,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":155,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":156,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":157,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":158,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code outputFolderName} for {@code RepoConfiguration}."},{"lineNumber":159,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":160,"author":{"gitId":"asdfghjkxd"},"content":" * @param outputFolderName Output folder name of the repository."},{"lineNumber":161,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":162,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":163,"author":{"gitId":"asdfghjkxd"},"content":" public Builder outputFolderName(String outputFolderName) {"},{"lineNumber":164,"author":{"gitId":"asdfghjkxd"},"content":" this.outputFolderName \u003d outputFolderName;"},{"lineNumber":165,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.outputFolderName \u003d outputFolderName;"},{"lineNumber":166,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":167,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":168,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":169,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":170,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code extraOutputFolderName} for {@code RepoConfiguration}."},{"lineNumber":171,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":172,"author":{"gitId":"asdfghjkxd"},"content":" * @param extraOutputFolderName Extra output folder name of the repository."},{"lineNumber":173,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":174,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":175,"author":{"gitId":"asdfghjkxd"},"content":" public Builder extraOutputFolderName(String extraOutputFolderName) {"},{"lineNumber":176,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.extraOutputFolderName \u003d extraOutputFolderName;"},{"lineNumber":177,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":178,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":179,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":180,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":181,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code zoneId} for {@code RepoConfiguration}."},{"lineNumber":182,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":183,"author":{"gitId":"asdfghjkxd"},"content":" * @param zoneId Time-zone of the repository."},{"lineNumber":184,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":185,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":186,"author":{"gitId":"asdfghjkxd"},"content":" public Builder zoneId(ZoneId zoneId) {"},{"lineNumber":187,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.zoneId \u003d zoneId;"},{"lineNumber":188,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code sinceDate} for {@code RepoConfiguration}."},{"lineNumber":193,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":194,"author":{"gitId":"asdfghjkxd"},"content":" * @param sinceDate Starting date of analysis."},{"lineNumber":195,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":196,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":197,"author":{"gitId":"asdfghjkxd"},"content":" public Builder sinceDate(LocalDateTime sinceDate) {"},{"lineNumber":198,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.sinceDate \u003d sinceDate;"},{"lineNumber":199,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":200,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":201,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":202,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":203,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code untilDate} for {@code RepoConfiguration}."},{"lineNumber":204,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":205,"author":{"gitId":"asdfghjkxd"},"content":" * @param untilDate Ending date of analysis."},{"lineNumber":206,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":207,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":208,"author":{"gitId":"asdfghjkxd"},"content":" public Builder untilDate(LocalDateTime untilDate) {"},{"lineNumber":209,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.untilDate \u003d untilDate;"},{"lineNumber":210,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":211,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":212,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":213,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":214,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code repoFolderName} for {@code RepoConfiguration}."},{"lineNumber":215,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":216,"author":{"gitId":"asdfghjkxd"},"content":" * @param repoFolderName Folder name of the repository."},{"lineNumber":217,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":218,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":219,"author":{"gitId":"asdfghjkxd"},"content":" public Builder repoFolderName(String repoFolderName) {"},{"lineNumber":220,"author":{"gitId":"asdfghjkxd"},"content":" this.repoFolderName \u003d repoFolderName;"},{"lineNumber":221,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.repoFolderName \u003d repoFolderName;"},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":223,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":224,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":225,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":226,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code fileTypeManager} for {@code RepoConfiguration}."},{"lineNumber":227,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":228,"author":{"gitId":"asdfghjkxd"},"content":" * @param fileTypes List of file types and groupings permitted."},{"lineNumber":229,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":230,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":231,"author":{"gitId":"asdfghjkxd"},"content":" public Builder fileTypeManager(List\u003cFileType\u003e fileTypes) {"},{"lineNumber":232,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.fileTypeManager \u003d new FileTypeManager(fileTypes);"},{"lineNumber":233,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":234,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":235,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":236,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":237,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code ignoreGlobList} for {@code RepoConfiguration}."},{"lineNumber":238,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":239,"author":{"gitId":"asdfghjkxd"},"content":" * @param ignoredGlobList List of glob patterns to ignore."},{"lineNumber":240,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":241,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":242,"author":{"gitId":"asdfghjkxd"},"content":" public Builder ignoreGlobList(List\u003cString\u003e ignoredGlobList) {"},{"lineNumber":243,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.ignoreGlobList \u003d ignoredGlobList;"},{"lineNumber":244,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":245,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":246,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":247,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":248,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code ignoredAuthorsList} for {@code RepoConfiguration}."},{"lineNumber":249,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":250,"author":{"gitId":"asdfghjkxd"},"content":" * @param ignoredAuthorsList List of authors to ignore."},{"lineNumber":251,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":252,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":253,"author":{"gitId":"asdfghjkxd"},"content":" public Builder ignoredAuthorsList(List\u003cString\u003e ignoredAuthorsList) {"},{"lineNumber":254,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.ignoredAuthorsList \u003d ignoredAuthorsList;"},{"lineNumber":255,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":256,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":257,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":258,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":259,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code authorConfig} for {@code RepoConfiguration}."},{"lineNumber":260,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":261,"author":{"gitId":"asdfghjkxd"},"content":" * @param authorConfig Author configuration information of the repository."},{"lineNumber":262,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":263,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":264,"author":{"gitId":"asdfghjkxd"},"content":" public Builder authorConfig(AuthorConfiguration authorConfig) {"},{"lineNumber":265,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.authorConfig \u003d authorConfig;"},{"lineNumber":266,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":267,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":268,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":269,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":270,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isStandaloneConfigIgnored} for {@code RepoConfiguration}."},{"lineNumber":271,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":272,"author":{"gitId":"asdfghjkxd"},"content":" * @param isStandaloneConfigIgnored Checks if standalone config is ignored."},{"lineNumber":273,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":274,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":275,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isStandaloneConfigIgnored(boolean isStandaloneConfigIgnored) {"},{"lineNumber":276,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isStandaloneConfigIgnored \u003d isStandaloneConfigIgnored;"},{"lineNumber":277,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":278,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":279,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":280,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":281,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFileSizeLimitIgnored} for {@code RepoConfiguration}."},{"lineNumber":282,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":283,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFileSizeLimitIgnored Checks if file size limit is ignored."},{"lineNumber":284,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":285,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":286,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFileSizeLimitIgnored(boolean isFileSizeLimitIgnored) {"},{"lineNumber":287,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFileSizeLimitIgnored \u003d isFileSizeLimitIgnored;"},{"lineNumber":288,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":289,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":290,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":291,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":292,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code ignoreCommitList} for {@code RepoConfiguration}."},{"lineNumber":293,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":294,"author":{"gitId":"asdfghjkxd"},"content":" * @param ignoreCommitList List of commits to ignore."},{"lineNumber":295,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":296,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":297,"author":{"gitId":"asdfghjkxd"},"content":" public Builder ignoreCommitList(List\u003cCommitHash\u003e ignoreCommitList) {"},{"lineNumber":298,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.ignoreCommitList \u003d ignoreCommitList;"},{"lineNumber":299,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":300,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":301,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":302,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":303,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isLastModifiedDateIncluded} for {@code RepoConfiguration}."},{"lineNumber":304,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":305,"author":{"gitId":"asdfghjkxd"},"content":" * @param isLastModifiedDateIncluded Checks if last modified date is included."},{"lineNumber":306,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":307,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":308,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isLastModifiedDateIncluded(boolean isLastModifiedDateIncluded) {"},{"lineNumber":309,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isLastModifiedDateIncluded \u003d isLastModifiedDateIncluded;"},{"lineNumber":310,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":311,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":312,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":313,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":314,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isShallowCloningPerformed} for {@code RepoConfiguration}."},{"lineNumber":315,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":316,"author":{"gitId":"asdfghjkxd"},"content":" * @param isShallowCloningPerformed Checks if shallow cloning is performed."},{"lineNumber":317,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":318,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":319,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isShallowCloningPerformed(boolean isShallowCloningPerformed) {"},{"lineNumber":320,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isShallowCloningPerformed \u003d isShallowCloningPerformed;"},{"lineNumber":321,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":322,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":323,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":324,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":325,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFindingPreviousAuthorsPerformed} for {@code RepoConfiguration}."},{"lineNumber":326,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":327,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFindingPreviousAuthorsPerformed Checks if finding previous authors is performed."},{"lineNumber":328,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":329,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":330,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFindingPreviousAuthorsPerformed(boolean isFindingPreviousAuthorsPerformed) {"},{"lineNumber":331,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFindingPreviousAuthorsPerformed \u003d isFindingPreviousAuthorsPerformed;"},{"lineNumber":332,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":333,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":334,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":335,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":336,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFormatsOverriding} for {@code RepoConfiguration}."},{"lineNumber":337,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":338,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFormatsOverriding Checks if file formats are overridden."},{"lineNumber":339,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":340,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":341,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFormatsOverriding(boolean isFormatsOverriding) {"},{"lineNumber":342,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFormatsOverriding \u003d isFormatsOverriding;"},{"lineNumber":343,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":344,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":345,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":346,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":347,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isIgnoreGlobListOverriding} for {@code RepoConfiguration}."},{"lineNumber":348,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":349,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoreGlobListOverriding Checks if the list of ignored glob is overridden."},{"lineNumber":350,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":351,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":352,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoreGlobListOverriding(boolean isIgnoreGlobListOverriding) {"},{"lineNumber":353,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoreGlobListOverriding \u003d isIgnoreGlobListOverriding;"},{"lineNumber":354,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":355,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":356,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":357,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":358,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isIgnoreCommitListOverriding} for {@code RepoConfiguration}."},{"lineNumber":359,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":360,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoreCommitListOverriding Checks if the list of ignored commits is overridden."},{"lineNumber":361,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":362,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":363,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoreCommitListOverriding(boolean isIgnoreCommitListOverriding) {"},{"lineNumber":364,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoreCommitListOverriding \u003d isIgnoreCommitListOverriding;"},{"lineNumber":365,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":366,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":367,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":368,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":369,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFileSizeLimitOverriding} for {@code RepoConfiguration}."},{"lineNumber":370,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":371,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoredAuthorsListOverriding Checks if the list of ignored authors is overridden."},{"lineNumber":372,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":373,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":374,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoredAuthorsListOverriding(boolean isIgnoredAuthorsListOverriding) {"},{"lineNumber":375,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoredAuthorsListOverriding \u003d isIgnoredAuthorsListOverriding;"},{"lineNumber":376,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":377,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":378,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":379,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":380,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code fileSizeLimit} for {@code RepoConfiguration}."},{"lineNumber":381,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":382,"author":{"gitId":"asdfghjkxd"},"content":" * @param fileSizeLimit File size limit of the repository."},{"lineNumber":383,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":384,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":385,"author":{"gitId":"asdfghjkxd"},"content":" public Builder fileSizeLimit(long fileSizeLimit) {"},{"lineNumber":386,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.fileSizeLimit \u003d fileSizeLimit;"},{"lineNumber":387,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":388,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":389,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":390,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":391,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFileSizeLimitOverriding} for {@code RepoConfiguration}."},{"lineNumber":392,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":393,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFileSizeLimitOverriding Checks if the file size limit is overridden."},{"lineNumber":394,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":395,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":396,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFileSizeLimitOverriding(boolean isFileSizeLimitOverriding) {"},{"lineNumber":397,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFileSizeLimitOverriding \u003d isFileSizeLimitOverriding;"},{"lineNumber":398,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":399,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":400,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":401,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":402,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isIgnoredFileAnalysisSkipped} for {@code RepoConfiguration}."},{"lineNumber":403,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":404,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoredFileAnalysisSkipped Checks if the analysis of ignored files is skipped."},{"lineNumber":405,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":406,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":407,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoredFileAnalysisSkipped(boolean isIgnoredFileAnalysisSkipped) {"},{"lineNumber":408,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoredFileAnalysisSkipped \u003d isIgnoredFileAnalysisSkipped;"},{"lineNumber":409,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":410,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":411,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":412,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":413,"author":{"gitId":"asdfghjkxd"},"content":" * Builds the {@code RepoConfiguration} object with the necessary configurations."},{"lineNumber":414,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":415,"author":{"gitId":"asdfghjkxd"},"content":" * @return {@code RepoConfiguration}."},{"lineNumber":416,"author":{"gitId":"asdfghjkxd"},"content":" * @throws ConfigurationBuildException if there was an issue building the {@code RepoConfiguration}"},{"lineNumber":417,"author":{"gitId":"asdfghjkxd"},"content":" * object."},{"lineNumber":418,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":419,"author":{"gitId":"asdfghjkxd"},"content":" public RepoConfiguration build() {"},{"lineNumber":420,"author":{"gitId":"asdfghjkxd"},"content":" if (!validate()) {"},{"lineNumber":421,"author":{"gitId":"asdfghjkxd"},"content":" throw new ConfigurationBuildException();"},{"lineNumber":422,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":423,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":424,"author":{"gitId":"asdfghjkxd"},"content":" this.processAuthor();"},{"lineNumber":425,"author":{"gitId":"asdfghjkxd"},"content":" this.processBranch();"},{"lineNumber":426,"author":{"gitId":"asdfghjkxd"},"content":" this.processNames();"},{"lineNumber":427,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":428,"author":{"gitId":"asdfghjkxd"},"content":" // save a reference to the current built object"},{"lineNumber":429,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration toReturn \u003d this.repoConfiguration;"},{"lineNumber":430,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":431,"author":{"gitId":"asdfghjkxd"},"content":" // reset the internal reference to avoid aliasing"},{"lineNumber":432,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration \u003d new RepoConfiguration();"},{"lineNumber":433,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":434,"author":{"gitId":"asdfghjkxd"},"content":" // return the reference to the built RepoConfiguration object"},{"lineNumber":435,"author":{"gitId":"asdfghjkxd"},"content":" return toReturn;"},{"lineNumber":436,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":437,"author":{"gitId":"-"},"content":""},{"lineNumber":438,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":439,"author":{"gitId":"asdfghjkxd"},"content":" * Checks if the current {@code RepoConfiguration} object contains all the necessary parameters"},{"lineNumber":440,"author":{"gitId":"asdfghjkxd"},"content":" * needed to build successfully."},{"lineNumber":441,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":442,"author":{"gitId":"asdfghjkxd"},"content":" * @return true if the {@code RepoConfiguration} object contains all the necessary parameters else false"},{"lineNumber":443,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":444,"author":{"gitId":"asdfghjkxd"},"content":" private boolean validate() {"},{"lineNumber":445,"author":{"gitId":"asdfghjkxd"},"content":" return Optional.ofNullable(this.repoConfiguration.location).isPresent();"},{"lineNumber":446,"author":{"gitId":"-"},"content":" }"},{"lineNumber":447,"author":{"gitId":"-"},"content":" }"},{"lineNumber":448,"author":{"gitId":"-"},"content":""},{"lineNumber":449,"author":{"gitId":"-"},"content":" public static void setDatesToRepoConfigs(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":450,"author":{"gitId":"-"},"content":" LocalDateTime sinceDate, LocalDateTime untilDate) {"},{"lineNumber":451,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {"},{"lineNumber":452,"author":{"gitId":"-"},"content":" config.setSinceDate(sinceDate);"},{"lineNumber":453,"author":{"gitId":"-"},"content":" config.setUntilDate(untilDate);"},{"lineNumber":454,"author":{"gitId":"-"},"content":" }"},{"lineNumber":455,"author":{"gitId":"-"},"content":" }"},{"lineNumber":456,"author":{"gitId":"-"},"content":""},{"lineNumber":457,"author":{"gitId":"-"},"content":" public static void setZoneIdToRepoConfigs(List\u003cRepoConfiguration\u003e configs, ZoneId zoneId) {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {"},{"lineNumber":459,"author":{"gitId":"-"},"content":" config.setZoneId(zoneId);"},{"lineNumber":460,"author":{"gitId":"-"},"content":" }"},{"lineNumber":461,"author":{"gitId":"-"},"content":" }"},{"lineNumber":462,"author":{"gitId":"-"},"content":""},{"lineNumber":463,"author":{"gitId":"-"},"content":" public static void setIsLastModifiedDateIncludedToRepoConfigs(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":464,"author":{"gitId":"-"},"content":" boolean isLastModifiedDateIncluded) {"},{"lineNumber":465,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {"},{"lineNumber":466,"author":{"gitId":"-"},"content":" config.setIsLastModifiedDateIncluded(isLastModifiedDateIncluded);"},{"lineNumber":467,"author":{"gitId":"-"},"content":" }"},{"lineNumber":468,"author":{"gitId":"-"},"content":" }"},{"lineNumber":469,"author":{"gitId":"-"},"content":""},{"lineNumber":470,"author":{"gitId":"-"},"content":" public static void setIsShallowCloningPerformedToRepoConfigs(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":471,"author":{"gitId":"-"},"content":" boolean isShallowCloningPerformed) {"},{"lineNumber":472,"author":{"gitId":"-"},"content":" if (isShallowCloningPerformed) {"},{"lineNumber":473,"author":{"gitId":"-"},"content":" configs.stream().forEach(config -\u003e config.setIsShallowCloningPerformed(true));"},{"lineNumber":474,"author":{"gitId":"-"},"content":" }"},{"lineNumber":475,"author":{"gitId":"-"},"content":" }"},{"lineNumber":476,"author":{"gitId":"-"},"content":""},{"lineNumber":477,"author":{"gitId":"-"},"content":" public static void setIsFindingPreviousAuthorsPerformedToRepoConfigs(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":478,"author":{"gitId":"-"},"content":" boolean isFindingPreviousAuthorsPerformed) {"},{"lineNumber":479,"author":{"gitId":"-"},"content":" if (isFindingPreviousAuthorsPerformed) {"},{"lineNumber":480,"author":{"gitId":"-"},"content":" configs.stream().forEach(config -\u003e config.setIsFindingPreviousAuthorsPerformed(true));"},{"lineNumber":481,"author":{"gitId":"-"},"content":" }"},{"lineNumber":482,"author":{"gitId":"-"},"content":" }"},{"lineNumber":483,"author":{"gitId":"-"},"content":""},{"lineNumber":484,"author":{"gitId":"-"},"content":" public static void setHasAuthorConfigFileToRepoConfigs(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":485,"author":{"gitId":"-"},"content":" boolean setHasAuthorConfigFile) {"},{"lineNumber":486,"author":{"gitId":"-"},"content":" configs.stream().forEach(config -\u003e config.setHasAuthorConfigFile(setHasAuthorConfigFile));"},{"lineNumber":487,"author":{"gitId":"-"},"content":" }"},{"lineNumber":488,"author":{"gitId":"-"},"content":""},{"lineNumber":489,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":490,"author":{"gitId":"-"},"content":" * Merges a {@link RepoConfiguration} from {@code repoConfigs} with an {@link AuthorConfiguration} from"},{"lineNumber":491,"author":{"gitId":"-"},"content":" * {@code authorConfigs} if their {@link RepoLocation} and branch matches."},{"lineNumber":492,"author":{"gitId":"-"},"content":" */"},{"lineNumber":493,"author":{"gitId":"-"},"content":" public static void merge(List\u003cRepoConfiguration\u003e repoConfigs, List\u003cAuthorConfiguration\u003e authorConfigs) {"},{"lineNumber":494,"author":{"gitId":"-"},"content":" for (AuthorConfiguration authorConfig : authorConfigs) {"},{"lineNumber":495,"author":{"gitId":"-"},"content":" if (authorConfig.getLocation().isEmpty()) {"},{"lineNumber":496,"author":{"gitId":"-"},"content":" for (RepoConfiguration repoConfig : repoConfigs) {"},{"lineNumber":497,"author":{"gitId":"-"},"content":" repoConfig.addAuthors(authorConfig.getAuthorList());"},{"lineNumber":498,"author":{"gitId":"-"},"content":" }"},{"lineNumber":499,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":500,"author":{"gitId":"-"},"content":" }"},{"lineNumber":501,"author":{"gitId":"-"},"content":""},{"lineNumber":502,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e locationMatchingRepoConfigs \u003d"},{"lineNumber":503,"author":{"gitId":"-"},"content":" getMatchingRepoConfigsByLocation(repoConfigs, authorConfig.getLocation());"},{"lineNumber":504,"author":{"gitId":"-"},"content":""},{"lineNumber":505,"author":{"gitId":"-"},"content":" if (locationMatchingRepoConfigs.isEmpty()) {"},{"lineNumber":506,"author":{"gitId":"-"},"content":" logger.warning(String.format("},{"lineNumber":507,"author":{"gitId":"-"},"content":" \"Repository %s is not found in repo-config.csv.\","},{"lineNumber":508,"author":{"gitId":"-"},"content":" authorConfig.getLocation()));"},{"lineNumber":509,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":510,"author":{"gitId":"-"},"content":" }"},{"lineNumber":511,"author":{"gitId":"-"},"content":" if (authorConfig.isDefaultBranch()) {"},{"lineNumber":512,"author":{"gitId":"-"},"content":" locationMatchingRepoConfigs.forEach(matchingRepoConfig -\u003e {"},{"lineNumber":513,"author":{"gitId":"-"},"content":" matchingRepoConfig.addAuthors(authorConfig.getAuthorList());"},{"lineNumber":514,"author":{"gitId":"-"},"content":" });"},{"lineNumber":515,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":516,"author":{"gitId":"-"},"content":" }"},{"lineNumber":517,"author":{"gitId":"-"},"content":""},{"lineNumber":518,"author":{"gitId":"-"},"content":" RepoConfiguration branchMatchingRepoConfig \u003d getMatchingRepoConfig(repoConfigs, authorConfig);"},{"lineNumber":519,"author":{"gitId":"-"},"content":""},{"lineNumber":520,"author":{"gitId":"-"},"content":" if (branchMatchingRepoConfig \u003d\u003d null) {"},{"lineNumber":521,"author":{"gitId":"-"},"content":" if (!authorConfig.isDefaultBranch()) {"},{"lineNumber":522,"author":{"gitId":"-"},"content":" logger.warning(String.format("},{"lineNumber":523,"author":{"gitId":"-"},"content":" \"Repository %s (branch %s) is not found in repo-config.csv.\","},{"lineNumber":524,"author":{"gitId":"-"},"content":" authorConfig.getLocation(), authorConfig.getBranch()));"},{"lineNumber":525,"author":{"gitId":"-"},"content":" }"},{"lineNumber":526,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":527,"author":{"gitId":"-"},"content":" }"},{"lineNumber":528,"author":{"gitId":"-"},"content":""},{"lineNumber":529,"author":{"gitId":"-"},"content":" branchMatchingRepoConfig.addAuthors(authorConfig.getAuthorList());"},{"lineNumber":530,"author":{"gitId":"-"},"content":" }"},{"lineNumber":531,"author":{"gitId":"-"},"content":" }"},{"lineNumber":532,"author":{"gitId":"-"},"content":""},{"lineNumber":533,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":534,"author":{"gitId":"-"},"content":" * Sets the list of groups in {@code groupConfigs} to the respective {@code repoConfigs}."},{"lineNumber":535,"author":{"gitId":"-"},"content":" */"},{"lineNumber":536,"author":{"gitId":"-"},"content":" public static void setGroupConfigsToRepos(List\u003cRepoConfiguration\u003e repoConfigs,"},{"lineNumber":537,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs) {"},{"lineNumber":538,"author":{"gitId":"-"},"content":" for (GroupConfiguration groupConfig : groupConfigs) {"},{"lineNumber":539,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e matchingRepoConfigs;"},{"lineNumber":540,"author":{"gitId":"-"},"content":" if (groupConfig.getLocation().isEmpty()) {"},{"lineNumber":541,"author":{"gitId":"-"},"content":" matchingRepoConfigs \u003d repoConfigs;"},{"lineNumber":542,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":543,"author":{"gitId":"-"},"content":" matchingRepoConfigs \u003d getMatchingRepoConfigsByLocation(repoConfigs,"},{"lineNumber":544,"author":{"gitId":"-"},"content":" groupConfig.getLocation());"},{"lineNumber":545,"author":{"gitId":"-"},"content":" }"},{"lineNumber":546,"author":{"gitId":"-"},"content":" if (matchingRepoConfigs.isEmpty()) {"},{"lineNumber":547,"author":{"gitId":"-"},"content":" logger.warning(String.format("},{"lineNumber":548,"author":{"gitId":"-"},"content":" \"Repository %s is not found in repo-config.csv.\", groupConfig.getLocation()));"},{"lineNumber":549,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":550,"author":{"gitId":"-"},"content":" }"},{"lineNumber":551,"author":{"gitId":"-"},"content":" matchingRepoConfigs.forEach(matchingRepoConfig -\u003e {"},{"lineNumber":552,"author":{"gitId":"-"},"content":" matchingRepoConfig.addGroups(groupConfig.getGroupsList());"},{"lineNumber":553,"author":{"gitId":"-"},"content":" });"},{"lineNumber":554,"author":{"gitId":"-"},"content":" }"},{"lineNumber":555,"author":{"gitId":"-"},"content":" }"},{"lineNumber":556,"author":{"gitId":"-"},"content":""},{"lineNumber":557,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":558,"author":{"gitId":"-"},"content":" * Iterates through {@code repoConfigs} to find a {@link RepoConfiguration} with {@link RepoLocation} and branch"},{"lineNumber":559,"author":{"gitId":"-"},"content":" * that matches {@code authorConfig}. Returns {@code null} if no match is found."},{"lineNumber":560,"author":{"gitId":"-"},"content":" */"},{"lineNumber":561,"author":{"gitId":"-"},"content":" private static RepoConfiguration getMatchingRepoConfig(List\u003cRepoConfiguration\u003e repoConfigs,"},{"lineNumber":562,"author":{"gitId":"-"},"content":" AuthorConfiguration authorConfig) {"},{"lineNumber":563,"author":{"gitId":"-"},"content":" if (authorConfig.isDefaultBranch()) {"},{"lineNumber":564,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":565,"author":{"gitId":"-"},"content":" }"},{"lineNumber":566,"author":{"gitId":"-"},"content":" for (RepoConfiguration repoConfig : repoConfigs) {"},{"lineNumber":567,"author":{"gitId":"-"},"content":" if (repoConfig.getLocation().equals(authorConfig.getLocation())"},{"lineNumber":568,"author":{"gitId":"-"},"content":" \u0026\u0026 repoConfig.getBranch().equals(authorConfig.getBranch())) {"},{"lineNumber":569,"author":{"gitId":"-"},"content":" return repoConfig;"},{"lineNumber":570,"author":{"gitId":"-"},"content":" }"},{"lineNumber":571,"author":{"gitId":"-"},"content":" }"},{"lineNumber":572,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":573,"author":{"gitId":"-"},"content":" }"},{"lineNumber":574,"author":{"gitId":"-"},"content":""},{"lineNumber":575,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":576,"author":{"gitId":"-"},"content":" * Returns a list of {@link RepoConfiguration} where the {@link RepoLocation} of a {@link RepoConfiguration}"},{"lineNumber":577,"author":{"gitId":"-"},"content":" * in the list of {@code configs} matches {@code targetRepoLocation}."},{"lineNumber":578,"author":{"gitId":"-"},"content":" */"},{"lineNumber":579,"author":{"gitId":"-"},"content":" private static List\u003cRepoConfiguration\u003e getMatchingRepoConfigsByLocation(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":580,"author":{"gitId":"-"},"content":" RepoLocation targetRepoLocation) {"},{"lineNumber":581,"author":{"gitId":"-"},"content":" return configs.stream().filter(config -\u003e config.getLocation().equals(targetRepoLocation))"},{"lineNumber":582,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":583,"author":{"gitId":"-"},"content":" }"},{"lineNumber":584,"author":{"gitId":"-"},"content":""},{"lineNumber":585,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":586,"author":{"gitId":"-"},"content":" * Sets {@code formats} to {@link RepoConfiguration} in {@code configs} if its format list is empty."},{"lineNumber":587,"author":{"gitId":"-"},"content":" */"},{"lineNumber":588,"author":{"gitId":"-"},"content":" public static void setFormatsToRepoConfigs(List\u003cRepoConfiguration\u003e configs, List\u003cFileType\u003e formats) {"},{"lineNumber":589,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {"},{"lineNumber":590,"author":{"gitId":"-"},"content":" if (!config.fileTypeManager.hasSpecifiedFormats()) {"},{"lineNumber":591,"author":{"gitId":"-"},"content":" config.fileTypeManager.setFormats(formats);"},{"lineNumber":592,"author":{"gitId":"-"},"content":" }"},{"lineNumber":593,"author":{"gitId":"-"},"content":" }"},{"lineNumber":594,"author":{"gitId":"-"},"content":" }"},{"lineNumber":595,"author":{"gitId":"-"},"content":""},{"lineNumber":596,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":597,"author":{"gitId":"-"},"content":" * Sets each {@link RepoConfiguration} in {@code configs} to ignore its standalone config, if"},{"lineNumber":598,"author":{"gitId":"-"},"content":" * {@code ignoreAllStandaloneConfigs} is true."},{"lineNumber":599,"author":{"gitId":"-"},"content":" */"},{"lineNumber":600,"author":{"gitId":"-"},"content":" public static void setStandaloneConfigIgnoredToRepoConfigs(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":601,"author":{"gitId":"-"},"content":" boolean ignoreAllStandaloneConfigs) {"},{"lineNumber":602,"author":{"gitId":"-"},"content":" if (ignoreAllStandaloneConfigs) {"},{"lineNumber":603,"author":{"gitId":"-"},"content":" configs.forEach(config -\u003e config.setStandaloneConfigIgnored(true));"},{"lineNumber":604,"author":{"gitId":"-"},"content":" }"},{"lineNumber":605,"author":{"gitId":"-"},"content":" }"},{"lineNumber":606,"author":{"gitId":"-"},"content":""},{"lineNumber":607,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":608,"author":{"gitId":"-"},"content":" * Sets each {@link RepoConfiguration} in {@code configs} to ignore its filesize limit, if"},{"lineNumber":609,"author":{"gitId":"-"},"content":" * {@code ignoreFilesizeLimit} is true."},{"lineNumber":610,"author":{"gitId":"-"},"content":" */"},{"lineNumber":611,"author":{"gitId":"-"},"content":" public static void setFileSizeLimitIgnoredToRepoConfigs(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":612,"author":{"gitId":"-"},"content":" boolean ignoreFileSizeLimit) {"},{"lineNumber":613,"author":{"gitId":"-"},"content":" if (ignoreFileSizeLimit) {"},{"lineNumber":614,"author":{"gitId":"-"},"content":" configs.forEach(config -\u003e config.setFileSizeLimitIgnored(true));"},{"lineNumber":615,"author":{"gitId":"-"},"content":" }"},{"lineNumber":616,"author":{"gitId":"-"},"content":" }"},{"lineNumber":617,"author":{"gitId":"-"},"content":""},{"lineNumber":618,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":619,"author":{"gitId":"-"},"content":" * Checks if any of the {@code configs} is finding previous authors for commit analysis."},{"lineNumber":620,"author":{"gitId":"-"},"content":" */"},{"lineNumber":621,"author":{"gitId":"-"},"content":" public static boolean isAnyRepoFindingPreviousAuthors(List\u003cRepoConfiguration\u003e configs) {"},{"lineNumber":622,"author":{"gitId":"-"},"content":" return configs.stream().anyMatch(RepoConfiguration::isFindingPreviousAuthorsPerformed);"},{"lineNumber":623,"author":{"gitId":"-"},"content":" }"},{"lineNumber":624,"author":{"gitId":"-"},"content":""},{"lineNumber":625,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":626,"author":{"gitId":"-"},"content":" * Clears existing information related to this repository and its authors, and replaces it with information from"},{"lineNumber":627,"author":{"gitId":"-"},"content":" * {@code standaloneConfig}."},{"lineNumber":628,"author":{"gitId":"-"},"content":" */"},{"lineNumber":629,"author":{"gitId":"-"},"content":" public void update(StandaloneConfig standaloneConfig) {"},{"lineNumber":630,"author":{"gitId":"-"},"content":" // only assign the new values when all the fields in {@code standaloneConfig} pass the validations."},{"lineNumber":631,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e replacementFileTypes \u003d FileType.convertFormatStringsToFileTypes(standaloneConfig.getFormats());"},{"lineNumber":632,"author":{"gitId":"-"},"content":" CommitHash.validateCommits(standaloneConfig.getIgnoreCommitList());"},{"lineNumber":633,"author":{"gitId":"-"},"content":""},{"lineNumber":634,"author":{"gitId":"-"},"content":" if (!isIgnoreGlobListOverriding) {"},{"lineNumber":635,"author":{"gitId":"-"},"content":" ignoreGlobList \u003d standaloneConfig.getIgnoreGlobList();"},{"lineNumber":636,"author":{"gitId":"-"},"content":" }"},{"lineNumber":637,"author":{"gitId":"-"},"content":" if (!isFormatsOverriding) {"},{"lineNumber":638,"author":{"gitId":"-"},"content":" fileTypeManager.setFormats(replacementFileTypes);"},{"lineNumber":639,"author":{"gitId":"-"},"content":" }"},{"lineNumber":640,"author":{"gitId":"-"},"content":" if (!isIgnoreCommitListOverriding) {"},{"lineNumber":641,"author":{"gitId":"-"},"content":" ignoreCommitList \u003d CommitHash.convertStringsToCommits(standaloneConfig.getIgnoreCommitList());"},{"lineNumber":642,"author":{"gitId":"-"},"content":" }"},{"lineNumber":643,"author":{"gitId":"-"},"content":" if (!isIgnoredAuthorsListOverriding) {"},{"lineNumber":644,"author":{"gitId":"-"},"content":" ignoredAuthorsList \u003d standaloneConfig.getIgnoreAuthorList();"},{"lineNumber":645,"author":{"gitId":"-"},"content":" }"},{"lineNumber":646,"author":{"gitId":"-"},"content":" if (!isFileSizeLimitOverriding) {"},{"lineNumber":647,"author":{"gitId":"-"},"content":" fileSizeLimit \u003d standaloneConfig.getFileSizeLimit();"},{"lineNumber":648,"author":{"gitId":"-"},"content":" }"},{"lineNumber":649,"author":{"gitId":"-"},"content":" authorConfig.update(standaloneConfig, ignoreGlobList);"},{"lineNumber":650,"author":{"gitId":"-"},"content":" }"},{"lineNumber":651,"author":{"gitId":"-"},"content":""},{"lineNumber":652,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":653,"author":{"gitId":"-"},"content":" * Returns the matching {@link Author} given a {@code name} and an {@code email}."},{"lineNumber":654,"author":{"gitId":"-"},"content":" * If no matching {@link Author} is found, {@link Author#UNKNOWN_AUTHOR} is returned."},{"lineNumber":655,"author":{"gitId":"-"},"content":" */"},{"lineNumber":656,"author":{"gitId":"-"},"content":" public Author getAuthor(String name, String email) {"},{"lineNumber":657,"author":{"gitId":"-"},"content":" return authorConfig.getAuthor(name, email);"},{"lineNumber":658,"author":{"gitId":"-"},"content":" }"},{"lineNumber":659,"author":{"gitId":"-"},"content":""},{"lineNumber":660,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":661,"author":{"gitId":"-"},"content":" * Updates branch with {@code currentBranch} if default branch is specified."},{"lineNumber":662,"author":{"gitId":"-"},"content":" */"},{"lineNumber":663,"author":{"gitId":"-"},"content":" public void updateBranch(String currentBranch) {"},{"lineNumber":664,"author":{"gitId":"-"},"content":" if (branch.equals(DEFAULT_BRANCH)) {"},{"lineNumber":665,"author":{"gitId":"-"},"content":" setBranch(currentBranch);"},{"lineNumber":666,"author":{"gitId":"-"},"content":" }"},{"lineNumber":667,"author":{"gitId":"-"},"content":" }"},{"lineNumber":668,"author":{"gitId":"-"},"content":""},{"lineNumber":669,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":670,"author":{"gitId":"-"},"content":" * Gets the current branch and updates branch with current branch if default branch is specified."},{"lineNumber":671,"author":{"gitId":"-"},"content":" *"},{"lineNumber":672,"author":{"gitId":"-"},"content":" * @throws GitBranchException if current branch cannot be retrieved."},{"lineNumber":673,"author":{"gitId":"-"},"content":" */"},{"lineNumber":674,"author":{"gitId":"-"},"content":" public void updateBranch() throws GitBranchException {"},{"lineNumber":675,"author":{"gitId":"-"},"content":" if (branch.equals(DEFAULT_BRANCH)) {"},{"lineNumber":676,"author":{"gitId":"-"},"content":" String currentBranch \u003d GitBranch.getCurrentBranch(getRepoRoot());"},{"lineNumber":677,"author":{"gitId":"-"},"content":" setBranch(currentBranch);"},{"lineNumber":678,"author":{"gitId":"-"},"content":" }"},{"lineNumber":679,"author":{"gitId":"-"},"content":" }"},{"lineNumber":680,"author":{"gitId":"-"},"content":""},{"lineNumber":681,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":682,"author":{"gitId":"-"},"content":" * Gets the path to the root folder of the repository."},{"lineNumber":683,"author":{"gitId":"-"},"content":" */"},{"lineNumber":684,"author":{"gitId":"-"},"content":" public String getRepoRoot() {"},{"lineNumber":685,"author":{"gitId":"-"},"content":" String path \u003d FileUtil.REPOS_ADDRESS + File.separator + getRepoFolderName() + File.separator;"},{"lineNumber":686,"author":{"gitId":"-"},"content":""},{"lineNumber":687,"author":{"gitId":"-"},"content":" if (!getRepoName().isEmpty()) {"},{"lineNumber":688,"author":{"gitId":"-"},"content":" if (!extraOutputFolderName.isEmpty()) {"},{"lineNumber":689,"author":{"gitId":"-"},"content":" path +\u003d extraOutputFolderName + File.separator;"},{"lineNumber":690,"author":{"gitId":"-"},"content":" }"},{"lineNumber":691,"author":{"gitId":"-"},"content":""},{"lineNumber":692,"author":{"gitId":"-"},"content":" path +\u003d getRepoName() + File.separator;"},{"lineNumber":693,"author":{"gitId":"-"},"content":" }"},{"lineNumber":694,"author":{"gitId":"-"},"content":""},{"lineNumber":695,"author":{"gitId":"-"},"content":" return path;"},{"lineNumber":696,"author":{"gitId":"-"},"content":" }"},{"lineNumber":697,"author":{"gitId":"-"},"content":""},{"lineNumber":698,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":699,"author":{"gitId":"-"},"content":" * Gets the name of the folder containing the cloned repository; the parent directory of the repo\u0027s root folder."},{"lineNumber":700,"author":{"gitId":"-"},"content":" */"},{"lineNumber":701,"author":{"gitId":"-"},"content":" public String getRepoFolderName() {"},{"lineNumber":702,"author":{"gitId":"-"},"content":" return repoFolderName;"},{"lineNumber":703,"author":{"gitId":"-"},"content":" }"},{"lineNumber":704,"author":{"gitId":"-"},"content":""},{"lineNumber":705,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":706,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":707,"author":{"gitId":"-"},"content":""},{"lineNumber":708,"author":{"gitId":"-"},"content":" if (other \u003d\u003d this) {"},{"lineNumber":709,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":710,"author":{"gitId":"-"},"content":" }"},{"lineNumber":711,"author":{"gitId":"-"},"content":""},{"lineNumber":712,"author":{"gitId":"-"},"content":" if (!(other instanceof RepoConfiguration)) {"},{"lineNumber":713,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":715,"author":{"gitId":"-"},"content":""},{"lineNumber":716,"author":{"gitId":"-"},"content":" RepoConfiguration otherRepoConfig \u003d (RepoConfiguration) other;"},{"lineNumber":717,"author":{"gitId":"-"},"content":""},{"lineNumber":718,"author":{"gitId":"-"},"content":" return location.equals(otherRepoConfig.location)"},{"lineNumber":719,"author":{"gitId":"-"},"content":" \u0026\u0026 branch.equals(otherRepoConfig.branch)"},{"lineNumber":720,"author":{"gitId":"-"},"content":" \u0026\u0026 authorConfig.equals(otherRepoConfig.authorConfig)"},{"lineNumber":721,"author":{"gitId":"-"},"content":" \u0026\u0026 ignoreGlobList.equals(otherRepoConfig.ignoreGlobList)"},{"lineNumber":722,"author":{"gitId":"-"},"content":" \u0026\u0026 ignoredAuthorsList.equals(otherRepoConfig.ignoredAuthorsList)"},{"lineNumber":723,"author":{"gitId":"-"},"content":" \u0026\u0026 fileSizeLimit \u003d\u003d otherRepoConfig.fileSizeLimit"},{"lineNumber":724,"author":{"gitId":"-"},"content":" \u0026\u0026 isStandaloneConfigIgnored \u003d\u003d otherRepoConfig.isStandaloneConfigIgnored"},{"lineNumber":725,"author":{"gitId":"-"},"content":" \u0026\u0026 fileTypeManager.equals(otherRepoConfig.fileTypeManager)"},{"lineNumber":726,"author":{"gitId":"-"},"content":" \u0026\u0026 isLastModifiedDateIncluded \u003d\u003d otherRepoConfig.isLastModifiedDateIncluded"},{"lineNumber":727,"author":{"gitId":"-"},"content":" \u0026\u0026 isFormatsOverriding \u003d\u003d otherRepoConfig.isFormatsOverriding"},{"lineNumber":728,"author":{"gitId":"-"},"content":" \u0026\u0026 isShallowCloningPerformed \u003d\u003d otherRepoConfig.isShallowCloningPerformed"},{"lineNumber":729,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoreGlobListOverriding \u003d\u003d otherRepoConfig.isIgnoreGlobListOverriding"},{"lineNumber":730,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoreCommitListOverriding \u003d\u003d otherRepoConfig.isIgnoreCommitListOverriding"},{"lineNumber":731,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoredAuthorsListOverriding \u003d\u003d otherRepoConfig.isIgnoredAuthorsListOverriding"},{"lineNumber":732,"author":{"gitId":"-"},"content":" \u0026\u0026 isFileSizeLimitOverriding \u003d\u003d otherRepoConfig.isFileSizeLimitOverriding"},{"lineNumber":733,"author":{"gitId":"-"},"content":" \u0026\u0026 isFileSizeLimitIgnored \u003d\u003d otherRepoConfig.isFileSizeLimitIgnored"},{"lineNumber":734,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoredFileAnalysisSkipped \u003d\u003d otherRepoConfig.isIgnoredFileAnalysisSkipped;"},{"lineNumber":735,"author":{"gitId":"-"},"content":" }"},{"lineNumber":736,"author":{"gitId":"-"},"content":""},{"lineNumber":737,"author":{"gitId":"-"},"content":" public Map\u003cAuthor, String\u003e getAuthorDisplayNameMap() {"},{"lineNumber":738,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorDisplayNameMap();"},{"lineNumber":739,"author":{"gitId":"-"},"content":" }"},{"lineNumber":740,"author":{"gitId":"-"},"content":""},{"lineNumber":741,"author":{"gitId":"-"},"content":" public void setAuthorDisplayNameMap(Map\u003cAuthor, String\u003e authorDisplayNameMap) {"},{"lineNumber":742,"author":{"gitId":"-"},"content":" authorConfig.setAuthorDisplayNameMap(authorDisplayNameMap);"},{"lineNumber":743,"author":{"gitId":"-"},"content":" }"},{"lineNumber":744,"author":{"gitId":"-"},"content":""},{"lineNumber":745,"author":{"gitId":"-"},"content":" public String getBranch() {"},{"lineNumber":746,"author":{"gitId":"-"},"content":" return branch;"},{"lineNumber":747,"author":{"gitId":"-"},"content":" }"},{"lineNumber":748,"author":{"gitId":"-"},"content":""},{"lineNumber":749,"author":{"gitId":"-"},"content":" public void setBranch(String branch) {"},{"lineNumber":750,"author":{"gitId":"-"},"content":" updateDisplayName(branch);"},{"lineNumber":751,"author":{"gitId":"-"},"content":" updateOutputFolderName(branch);"},{"lineNumber":752,"author":{"gitId":"-"},"content":" this.branch \u003d branch;"},{"lineNumber":753,"author":{"gitId":"-"},"content":" authorConfig.setBranch(branch);"},{"lineNumber":754,"author":{"gitId":"-"},"content":" }"},{"lineNumber":755,"author":{"gitId":"-"},"content":""},{"lineNumber":756,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":757,"author":{"gitId":"-"},"content":" * Updates the branch in the {@code displayName} to the current {@code branch}."},{"lineNumber":758,"author":{"gitId":"-"},"content":" */"},{"lineNumber":759,"author":{"gitId":"-"},"content":" public void updateDisplayName(String branch) {"},{"lineNumber":760,"author":{"gitId":"-"},"content":" this.displayName \u003d displayName.substring(0, displayName.lastIndexOf(\u0027[\u0027) + 1) + branch + \"]\";"},{"lineNumber":761,"author":{"gitId":"-"},"content":" }"},{"lineNumber":762,"author":{"gitId":"-"},"content":""},{"lineNumber":763,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":764,"author":{"gitId":"-"},"content":" * Updates the branch in the {@code outputFolderName} to the current {@code branch}."},{"lineNumber":765,"author":{"gitId":"-"},"content":" */"},{"lineNumber":766,"author":{"gitId":"-"},"content":" public void updateOutputFolderName(String branch) {"},{"lineNumber":767,"author":{"gitId":"-"},"content":" this.outputFolderName \u003d outputFolderName.substring(0, outputFolderName.lastIndexOf(\u0027_\u0027) + 1) + branch;"},{"lineNumber":768,"author":{"gitId":"-"},"content":" }"},{"lineNumber":769,"author":{"gitId":"-"},"content":""},{"lineNumber":770,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getIgnoreGlobList() {"},{"lineNumber":771,"author":{"gitId":"-"},"content":" return ignoreGlobList;"},{"lineNumber":772,"author":{"gitId":"-"},"content":" }"},{"lineNumber":773,"author":{"gitId":"-"},"content":""},{"lineNumber":774,"author":{"gitId":"-"},"content":" public void setIgnoreGlobList(List\u003cString\u003e ignoreGlobList) {"},{"lineNumber":775,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d ignoreGlobList;"},{"lineNumber":776,"author":{"gitId":"-"},"content":" }"},{"lineNumber":777,"author":{"gitId":"-"},"content":""},{"lineNumber":778,"author":{"gitId":"-"},"content":" public List\u003cCommitHash\u003e getIgnoreCommitList() {"},{"lineNumber":779,"author":{"gitId":"-"},"content":" return ignoreCommitList;"},{"lineNumber":780,"author":{"gitId":"-"},"content":" }"},{"lineNumber":781,"author":{"gitId":"-"},"content":""},{"lineNumber":782,"author":{"gitId":"-"},"content":" public long getFileSizeLimit() {"},{"lineNumber":783,"author":{"gitId":"-"},"content":" return fileSizeLimit;"},{"lineNumber":784,"author":{"gitId":"-"},"content":" }"},{"lineNumber":785,"author":{"gitId":"-"},"content":""},{"lineNumber":786,"author":{"gitId":"-"},"content":" public void setIgnoreCommitList(List\u003cCommitHash\u003e ignoreCommitList) {"},{"lineNumber":787,"author":{"gitId":"-"},"content":" this.ignoreCommitList \u003d ignoreCommitList;"},{"lineNumber":788,"author":{"gitId":"-"},"content":" }"},{"lineNumber":789,"author":{"gitId":"-"},"content":""},{"lineNumber":790,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getIgnoredAuthorsList() {"},{"lineNumber":791,"author":{"gitId":"-"},"content":" return this.ignoredAuthorsList;"},{"lineNumber":792,"author":{"gitId":"-"},"content":" }"},{"lineNumber":793,"author":{"gitId":"-"},"content":""},{"lineNumber":794,"author":{"gitId":"-"},"content":" public void setIgnoredAuthorsList(List\u003cString\u003e ignoredAuthorsList) {"},{"lineNumber":795,"author":{"gitId":"-"},"content":" this.ignoredAuthorsList \u003d ignoredAuthorsList;"},{"lineNumber":796,"author":{"gitId":"-"},"content":" }"},{"lineNumber":797,"author":{"gitId":"-"},"content":""},{"lineNumber":798,"author":{"gitId":"-"},"content":" public boolean isIgnoredAuthorsListOverriding() {"},{"lineNumber":799,"author":{"gitId":"-"},"content":" return this.isIgnoredAuthorsListOverriding;"},{"lineNumber":800,"author":{"gitId":"-"},"content":" }"},{"lineNumber":801,"author":{"gitId":"-"},"content":""},{"lineNumber":802,"author":{"gitId":"-"},"content":" public void setIsLastModifiedDateIncluded(boolean lastModifiedDateIncluded) {"},{"lineNumber":803,"author":{"gitId":"-"},"content":" this.isLastModifiedDateIncluded \u003d lastModifiedDateIncluded;"},{"lineNumber":804,"author":{"gitId":"-"},"content":" }"},{"lineNumber":805,"author":{"gitId":"-"},"content":""},{"lineNumber":806,"author":{"gitId":"-"},"content":" public void setIsShallowCloningPerformed(boolean isShallowCloningPerformed) {"},{"lineNumber":807,"author":{"gitId":"-"},"content":" this.isShallowCloningPerformed \u003d isShallowCloningPerformed;"},{"lineNumber":808,"author":{"gitId":"-"},"content":" }"},{"lineNumber":809,"author":{"gitId":"-"},"content":""},{"lineNumber":810,"author":{"gitId":"-"},"content":" public void setIsFindingPreviousAuthorsPerformed(boolean isFindingPreviousAuthorsPerformed) {"},{"lineNumber":811,"author":{"gitId":"-"},"content":" this.isFindingPreviousAuthorsPerformed \u003d isFindingPreviousAuthorsPerformed;"},{"lineNumber":812,"author":{"gitId":"-"},"content":" }"},{"lineNumber":813,"author":{"gitId":"-"},"content":""},{"lineNumber":814,"author":{"gitId":"-"},"content":" public boolean isLastModifiedDateIncluded() {"},{"lineNumber":815,"author":{"gitId":"-"},"content":" return this.isLastModifiedDateIncluded;"},{"lineNumber":816,"author":{"gitId":"-"},"content":" }"},{"lineNumber":817,"author":{"gitId":"-"},"content":""},{"lineNumber":818,"author":{"gitId":"-"},"content":" public boolean isShallowCloningPerformed() {"},{"lineNumber":819,"author":{"gitId":"-"},"content":" return this.isShallowCloningPerformed;"},{"lineNumber":820,"author":{"gitId":"-"},"content":" }"},{"lineNumber":821,"author":{"gitId":"-"},"content":""},{"lineNumber":822,"author":{"gitId":"-"},"content":" public void setIsIgnoredAuthorsListOverriding(boolean isIgnoredAuthorsListOverriding) {"},{"lineNumber":823,"author":{"gitId":"-"},"content":" this.isIgnoredAuthorsListOverriding \u003d isIgnoredAuthorsListOverriding;"},{"lineNumber":824,"author":{"gitId":"-"},"content":" }"},{"lineNumber":825,"author":{"gitId":"-"},"content":""},{"lineNumber":826,"author":{"gitId":"-"},"content":" public void removeIgnoredAuthors() {"},{"lineNumber":827,"author":{"gitId":"-"},"content":" authorConfig.removeIgnoredAuthors(ignoredAuthorsList);"},{"lineNumber":828,"author":{"gitId":"-"},"content":" }"},{"lineNumber":829,"author":{"gitId":"-"},"content":""},{"lineNumber":830,"author":{"gitId":"-"},"content":" public List\u003cAuthor\u003e getAuthorList() {"},{"lineNumber":831,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorList();"},{"lineNumber":832,"author":{"gitId":"-"},"content":" }"},{"lineNumber":833,"author":{"gitId":"-"},"content":""},{"lineNumber":834,"author":{"gitId":"-"},"content":" public void addAuthor(Author author) {"},{"lineNumber":835,"author":{"gitId":"-"},"content":" authorConfig.addAuthor(author, this.getIgnoreGlobList());"},{"lineNumber":836,"author":{"gitId":"-"},"content":" }"},{"lineNumber":837,"author":{"gitId":"-"},"content":""},{"lineNumber":838,"author":{"gitId":"-"},"content":" public void addAuthors(List\u003cAuthor\u003e authorList) {"},{"lineNumber":839,"author":{"gitId":"-"},"content":" authorConfig.addAuthors(authorList, this.getIgnoreGlobList());"},{"lineNumber":840,"author":{"gitId":"-"},"content":" }"},{"lineNumber":841,"author":{"gitId":"-"},"content":""},{"lineNumber":842,"author":{"gitId":"-"},"content":" public void setAuthorConfiguration(AuthorConfiguration authorConfig) {"},{"lineNumber":843,"author":{"gitId":"-"},"content":" this.authorConfig \u003d authorConfig;"},{"lineNumber":844,"author":{"gitId":"-"},"content":" for (Author author : authorConfig.getAuthorList()) {"},{"lineNumber":845,"author":{"gitId":"-"},"content":" AuthorConfiguration.propagateIgnoreGlobList(author, ignoreGlobList);"},{"lineNumber":846,"author":{"gitId":"-"},"content":" }"},{"lineNumber":847,"author":{"gitId":"-"},"content":" }"},{"lineNumber":848,"author":{"gitId":"-"},"content":""},{"lineNumber":849,"author":{"gitId":"-"},"content":" public boolean containsAuthor(Author author) {"},{"lineNumber":850,"author":{"gitId":"-"},"content":" return authorConfig.containsAuthor(author);"},{"lineNumber":851,"author":{"gitId":"-"},"content":" }"},{"lineNumber":852,"author":{"gitId":"-"},"content":""},{"lineNumber":853,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":854,"author":{"gitId":"-"},"content":" * Clears authors information and sets the {@code authorList} to {@link RepoConfiguration}."},{"lineNumber":855,"author":{"gitId":"-"},"content":" */"},{"lineNumber":856,"author":{"gitId":"-"},"content":" public void setAuthorList(List\u003cAuthor\u003e authorList) {"},{"lineNumber":857,"author":{"gitId":"-"},"content":" authorConfig.clear();"},{"lineNumber":858,"author":{"gitId":"-"},"content":" authorConfig.setAuthorList(authorList);"},{"lineNumber":859,"author":{"gitId":"-"},"content":" authorConfig.buildFromAuthorList();"},{"lineNumber":860,"author":{"gitId":"-"},"content":" authorList.forEach(author -\u003e AuthorConfiguration.propagateIgnoreGlobList(author, this.getIgnoreGlobList()));"},{"lineNumber":861,"author":{"gitId":"-"},"content":" }"},{"lineNumber":862,"author":{"gitId":"-"},"content":""},{"lineNumber":863,"author":{"gitId":"-"},"content":" public void setHasAuthorConfigFile(boolean hasAuthorConfigFile) {"},{"lineNumber":864,"author":{"gitId":"-"},"content":" authorConfig.setHasAuthorConfigFile(hasAuthorConfigFile);"},{"lineNumber":865,"author":{"gitId":"-"},"content":" }"},{"lineNumber":866,"author":{"gitId":"-"},"content":""},{"lineNumber":867,"author":{"gitId":"-"},"content":" public Map\u003cString, Author\u003e getAuthorNamesToAuthorMap() {"},{"lineNumber":868,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorNamesToAuthorMap();"},{"lineNumber":869,"author":{"gitId":"-"},"content":" }"},{"lineNumber":870,"author":{"gitId":"-"},"content":""},{"lineNumber":871,"author":{"gitId":"-"},"content":" public void setAuthorNamesToAuthorMap(Map\u003cString, Author\u003e authorNamesToAuthorMap) {"},{"lineNumber":872,"author":{"gitId":"-"},"content":" authorConfig.setAuthorNamesToAuthorMap(authorNamesToAuthorMap);"},{"lineNumber":873,"author":{"gitId":"-"},"content":" }"},{"lineNumber":874,"author":{"gitId":"-"},"content":""},{"lineNumber":875,"author":{"gitId":"-"},"content":" public Map\u003cString, Author\u003e getAuthorEmailsToAuthorMap() {"},{"lineNumber":876,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorEmailsToAuthorMap();"},{"lineNumber":877,"author":{"gitId":"-"},"content":" }"},{"lineNumber":878,"author":{"gitId":"-"},"content":""},{"lineNumber":879,"author":{"gitId":"-"},"content":" public void setAuthorEmailsToAuthorMap(Map\u003cString, Author\u003e authorEmailsToAuthorMap) {"},{"lineNumber":880,"author":{"gitId":"-"},"content":" authorConfig.setAuthorEmailsToAuthorMap(authorEmailsToAuthorMap);"},{"lineNumber":881,"author":{"gitId":"-"},"content":" }"},{"lineNumber":882,"author":{"gitId":"-"},"content":""},{"lineNumber":883,"author":{"gitId":"-"},"content":" public void clearAuthorDetailsToAuthorMap() {"},{"lineNumber":884,"author":{"gitId":"-"},"content":" authorConfig.clearAuthorDetailsToAuthorMap();"},{"lineNumber":885,"author":{"gitId":"-"},"content":" }"},{"lineNumber":886,"author":{"gitId":"-"},"content":""},{"lineNumber":887,"author":{"gitId":"-"},"content":" public void setFormats(List\u003cFileType\u003e formats) {"},{"lineNumber":888,"author":{"gitId":"-"},"content":" fileTypeManager.setFormats(formats);"},{"lineNumber":889,"author":{"gitId":"-"},"content":" }"},{"lineNumber":890,"author":{"gitId":"-"},"content":""},{"lineNumber":891,"author":{"gitId":"-"},"content":" private void setGroups(List\u003cFileType\u003e groups) {"},{"lineNumber":892,"author":{"gitId":"-"},"content":" fileTypeManager.setGroups(groups);"},{"lineNumber":893,"author":{"gitId":"-"},"content":" }"},{"lineNumber":894,"author":{"gitId":"-"},"content":""},{"lineNumber":895,"author":{"gitId":"-"},"content":" public void addGroups(List\u003cFileType\u003e groups) {"},{"lineNumber":896,"author":{"gitId":"-"},"content":" fileTypeManager.addGroups(groups);"},{"lineNumber":897,"author":{"gitId":"-"},"content":" }"},{"lineNumber":898,"author":{"gitId":"-"},"content":""},{"lineNumber":899,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":900,"author":{"gitId":"-"},"content":" * Returns all format or group types (depending on whether the user has specified a custom grouping)."},{"lineNumber":901,"author":{"gitId":"-"},"content":" */"},{"lineNumber":902,"author":{"gitId":"-"},"content":" public List\u003cFileType\u003e getAllFileTypes() {"},{"lineNumber":903,"author":{"gitId":"-"},"content":" return fileTypeManager.getAllFileTypes();"},{"lineNumber":904,"author":{"gitId":"-"},"content":" }"},{"lineNumber":905,"author":{"gitId":"-"},"content":""},{"lineNumber":906,"author":{"gitId":"-"},"content":" public FileType getFileType(String fileName) {"},{"lineNumber":907,"author":{"gitId":"-"},"content":" return fileTypeManager.getFileType(fileName);"},{"lineNumber":908,"author":{"gitId":"-"},"content":" }"},{"lineNumber":909,"author":{"gitId":"-"},"content":""},{"lineNumber":910,"author":{"gitId":"-"},"content":" public FileTypeManager getFileTypeManager() {"},{"lineNumber":911,"author":{"gitId":"-"},"content":" return fileTypeManager;"},{"lineNumber":912,"author":{"gitId":"-"},"content":" }"},{"lineNumber":913,"author":{"gitId":"-"},"content":""},{"lineNumber":914,"author":{"gitId":"-"},"content":" public LocalDateTime getSinceDate() {"},{"lineNumber":915,"author":{"gitId":"-"},"content":" return sinceDate;"},{"lineNumber":916,"author":{"gitId":"-"},"content":" }"},{"lineNumber":917,"author":{"gitId":"-"},"content":""},{"lineNumber":918,"author":{"gitId":"-"},"content":" public void setSinceDate(LocalDateTime sinceDate) {"},{"lineNumber":919,"author":{"gitId":"-"},"content":" this.sinceDate \u003d sinceDate;"},{"lineNumber":920,"author":{"gitId":"-"},"content":" }"},{"lineNumber":921,"author":{"gitId":"-"},"content":""},{"lineNumber":922,"author":{"gitId":"-"},"content":" public LocalDateTime getUntilDate() {"},{"lineNumber":923,"author":{"gitId":"-"},"content":" return untilDate;"},{"lineNumber":924,"author":{"gitId":"-"},"content":" }"},{"lineNumber":925,"author":{"gitId":"-"},"content":""},{"lineNumber":926,"author":{"gitId":"-"},"content":" public void setUntilDate(LocalDateTime untilDate) {"},{"lineNumber":927,"author":{"gitId":"-"},"content":" this.untilDate \u003d untilDate;"},{"lineNumber":928,"author":{"gitId":"-"},"content":" }"},{"lineNumber":929,"author":{"gitId":"-"},"content":""},{"lineNumber":930,"author":{"gitId":"-"},"content":" public ZoneId getZoneId() {"},{"lineNumber":931,"author":{"gitId":"-"},"content":" return zoneId;"},{"lineNumber":932,"author":{"gitId":"-"},"content":" }"},{"lineNumber":933,"author":{"gitId":"-"},"content":""},{"lineNumber":934,"author":{"gitId":"-"},"content":" public void setZoneId(ZoneId zoneId) {"},{"lineNumber":935,"author":{"gitId":"-"},"content":" this.zoneId \u003d zoneId;"},{"lineNumber":936,"author":{"gitId":"-"},"content":" }"},{"lineNumber":937,"author":{"gitId":"-"},"content":""},{"lineNumber":938,"author":{"gitId":"-"},"content":" public void setAuthorDisplayName(Author author, String displayName) {"},{"lineNumber":939,"author":{"gitId":"-"},"content":" authorConfig.setAuthorDisplayName(author, displayName);"},{"lineNumber":940,"author":{"gitId":"-"},"content":" }"},{"lineNumber":941,"author":{"gitId":"-"},"content":""},{"lineNumber":942,"author":{"gitId":"-"},"content":" public void addAuthorNamesToAuthorMapEntry(Author author, String name) {"},{"lineNumber":943,"author":{"gitId":"-"},"content":" authorConfig.addAuthorNamesToAuthorMapEntry(author, name);"},{"lineNumber":944,"author":{"gitId":"-"},"content":" }"},{"lineNumber":945,"author":{"gitId":"-"},"content":""},{"lineNumber":946,"author":{"gitId":"-"},"content":" public void addAuthorNamesToAuthorMapEntry(Author author, List\u003cString\u003e names) {"},{"lineNumber":947,"author":{"gitId":"-"},"content":" authorConfig.addAuthorNamesToAuthorMapEntry(author, names);"},{"lineNumber":948,"author":{"gitId":"-"},"content":" }"},{"lineNumber":949,"author":{"gitId":"-"},"content":""},{"lineNumber":950,"author":{"gitId":"-"},"content":" public void addAuthorEmailsToAuthorMapEntry(Author author, List\u003cString\u003e emails) {"},{"lineNumber":951,"author":{"gitId":"-"},"content":" authorConfig.addAuthorEmailsToAuthorMapEntry(author, emails);"},{"lineNumber":952,"author":{"gitId":"-"},"content":" }"},{"lineNumber":953,"author":{"gitId":"-"},"content":""},{"lineNumber":954,"author":{"gitId":"-"},"content":" public String getDisplayName() {"},{"lineNumber":955,"author":{"gitId":"-"},"content":" return displayName;"},{"lineNumber":956,"author":{"gitId":"-"},"content":" }"},{"lineNumber":957,"author":{"gitId":"-"},"content":""},{"lineNumber":958,"author":{"gitId":"-"},"content":" public String getRepoName() {"},{"lineNumber":959,"author":{"gitId":"-"},"content":" return location.getRepoName();"},{"lineNumber":960,"author":{"gitId":"-"},"content":" }"},{"lineNumber":961,"author":{"gitId":"-"},"content":""},{"lineNumber":962,"author":{"gitId":"-"},"content":" public String getOutputFolderName() {"},{"lineNumber":963,"author":{"gitId":"-"},"content":" return outputFolderName;"},{"lineNumber":964,"author":{"gitId":"-"},"content":" }"},{"lineNumber":965,"author":{"gitId":"-"},"content":""},{"lineNumber":966,"author":{"gitId":"-"},"content":" public void setStandaloneConfigIgnored(boolean isStandaloneConfigIgnored) {"},{"lineNumber":967,"author":{"gitId":"-"},"content":" this.isStandaloneConfigIgnored \u003d isStandaloneConfigIgnored;"},{"lineNumber":968,"author":{"gitId":"-"},"content":" }"},{"lineNumber":969,"author":{"gitId":"-"},"content":""},{"lineNumber":970,"author":{"gitId":"-"},"content":" public void setFileSizeLimitIgnored(boolean isFileSizeLimitIgnored) {"},{"lineNumber":971,"author":{"gitId":"-"},"content":" this.isFileSizeLimitIgnored \u003d isFileSizeLimitIgnored;"},{"lineNumber":972,"author":{"gitId":"-"},"content":" }"},{"lineNumber":973,"author":{"gitId":"-"},"content":""},{"lineNumber":974,"author":{"gitId":"-"},"content":" public RepoLocation getLocation() {"},{"lineNumber":975,"author":{"gitId":"-"},"content":" return location;"},{"lineNumber":976,"author":{"gitId":"-"},"content":" }"},{"lineNumber":977,"author":{"gitId":"-"},"content":""},{"lineNumber":978,"author":{"gitId":"-"},"content":" public String getOrganization() {"},{"lineNumber":979,"author":{"gitId":"-"},"content":" return location.getOrganization();"},{"lineNumber":980,"author":{"gitId":"-"},"content":" }"},{"lineNumber":981,"author":{"gitId":"-"},"content":""},{"lineNumber":982,"author":{"gitId":"-"},"content":" public boolean isStandaloneConfigIgnored() {"},{"lineNumber":983,"author":{"gitId":"-"},"content":" return isStandaloneConfigIgnored;"},{"lineNumber":984,"author":{"gitId":"-"},"content":" }"},{"lineNumber":985,"author":{"gitId":"-"},"content":""},{"lineNumber":986,"author":{"gitId":"-"},"content":" public boolean isFileSizeLimitIgnored() {"},{"lineNumber":987,"author":{"gitId":"-"},"content":" return isFileSizeLimitIgnored;"},{"lineNumber":988,"author":{"gitId":"-"},"content":" }"},{"lineNumber":989,"author":{"gitId":"-"},"content":""},{"lineNumber":990,"author":{"gitId":"-"},"content":" public boolean isIgnoredFileAnalysisSkipped() {"},{"lineNumber":991,"author":{"gitId":"-"},"content":" return isIgnoredFileAnalysisSkipped;"},{"lineNumber":992,"author":{"gitId":"-"},"content":" }"},{"lineNumber":993,"author":{"gitId":"-"},"content":""},{"lineNumber":994,"author":{"gitId":"-"},"content":" public boolean isFormatsOverriding() {"},{"lineNumber":995,"author":{"gitId":"-"},"content":" return isFormatsOverriding;"},{"lineNumber":996,"author":{"gitId":"-"},"content":" }"},{"lineNumber":997,"author":{"gitId":"-"},"content":""},{"lineNumber":998,"author":{"gitId":"-"},"content":" public boolean isIgnoreGlobListOverriding() {"},{"lineNumber":999,"author":{"gitId":"-"},"content":" return isIgnoreGlobListOverriding;"},{"lineNumber":1000,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1001,"author":{"gitId":"-"},"content":""},{"lineNumber":1002,"author":{"gitId":"-"},"content":" public boolean isIgnoreCommitListOverriding() {"},{"lineNumber":1003,"author":{"gitId":"-"},"content":" return isIgnoreCommitListOverriding;"},{"lineNumber":1004,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1005,"author":{"gitId":"-"},"content":""},{"lineNumber":1006,"author":{"gitId":"-"},"content":" public boolean isFileSizeLimitOverriding() {"},{"lineNumber":1007,"author":{"gitId":"-"},"content":" return isFileSizeLimitOverriding;"},{"lineNumber":1008,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1009,"author":{"gitId":"-"},"content":""},{"lineNumber":1010,"author":{"gitId":"-"},"content":" public boolean isFindingPreviousAuthorsPerformed() {"},{"lineNumber":1011,"author":{"gitId":"-"},"content":" return isFindingPreviousAuthorsPerformed;"},{"lineNumber":1012,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1013,"author":{"gitId":"-"},"content":""},{"lineNumber":1014,"author":{"gitId":"-"},"content":" public AuthorConfiguration getAuthorConfig() {"},{"lineNumber":1015,"author":{"gitId":"-"},"content":" return authorConfig;"},{"lineNumber":1016,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1017,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":400,"-":617}},{"path":"src/main/java/reposense/model/RepoLocation.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.FileUtil.isValidPath;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.net.URI;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.net.URISyntaxException;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.FileSystems;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.regex.Matcher;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.git.GitRemote;"},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.report.ErrorSummary;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.util.SystemUtil;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Represents a repository location."},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class RepoLocation {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" protected static final String UNSUPPORTED_DOMAIN_NAME \u003d \"NOT_RECOGNIZED\";"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_LOCATION \u003d \"%s is an invalid location.\";"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_REMOTE_URL \u003d \"%s is an invalid remote URL.\";"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String REPO_NAME_REGEX \u003d \"(?\u003crepoName\u003e[^/]+?)(/?\\\\.git)?/?\";"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String PATH_TO_REPO_REGEX \u003d \"(?\u003cpath\u003e.*?)/?\" + REPO_NAME_REGEX;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final Pattern GIT_REPOSITORY_LOCATION_PATTERN \u003d"},{"lineNumber":32,"author":{"gitId":"-"},"content":" Pattern.compile(\"^(ssh|git|https?|ftps?)://(?\u003cdomain\u003e[^/]*?)/\" + PATH_TO_REPO_REGEX + \"$\");"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Pattern SCP_LIKE_SSH_REPOSITORY_LOCATION_PATTERN \u003d"},{"lineNumber":34,"author":{"gitId":"-"},"content":" Pattern.compile(\"^(.*@)?(?\u003cdomain\u003e.*?):(?\u003cpath\u003e[^/].*?)??/??\" + REPO_NAME_REGEX + \"$\");"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final Pattern LOCAL_REPOSITORY_NON_WINDOWS_LOCATION_PATTERN \u003d"},{"lineNumber":36,"author":{"gitId":"-"},"content":" Pattern.compile(\"^(file://)?\" + PATH_TO_REPO_REGEX + \"$\");"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final Pattern LOCAL_REPOSITORY_WINDOWS_LOCATION_PATTERN \u003d"},{"lineNumber":38,"author":{"gitId":"-"},"content":" Pattern.compile(\"^\" + PATH_TO_REPO_REGEX.replaceAll(\"/\", \"\\\\\\\\\\\\\\\\\") + \"$\");"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final Pattern DOMAIN_NAME_PATTERN \u003d Pattern.compile(\"^(ww.\\\\.)?+(.*@)?(?\u003cdomainName\u003e[^.]+)\\\\..+$\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final String GROUP_REPO_NAME \u003d \"repoName\";"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String GROUP_PATH \u003d \"path\";"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String GROUP_DOMAIN_NAME \u003d \"domainName\";"},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final String GROUP_DOMAIN \u003d \"domain\";"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final String PATH_SEPARATOR_REPLACEMENT \u003d \"-\";"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" // Used for remote link generation (serialized)"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private final String location;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private final String repoName;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private final String organization;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private final String domainName;"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" // Used for generation of local repository report output directory"},{"lineNumber":55,"author":{"gitId":"-"},"content":" private final transient String outputFolderRepoName;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" private final transient String outputFolderOrganization;"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Creates {@link RepoLocation} based on the {@code location}, which is represented by a {@code URL}"},{"lineNumber":60,"author":{"gitId":"-"},"content":" * or {@link Path}."},{"lineNumber":61,"author":{"gitId":"-"},"content":" *"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} cannot be represented by a {@code URL} or {@link Path}."},{"lineNumber":63,"author":{"gitId":"-"},"content":" */"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public RepoLocation(String location) throws InvalidLocationException {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (SystemUtil.isWindows()) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" location \u003d StringsUtil.removeTrailingBackslash(location);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.location \u003d location;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" String[] remoteRepoNameAndOrg;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" String[] outputFolderRepoNameAndOrg;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" if (location.isEmpty()) {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" remoteRepoNameAndOrg \u003d new String[] {\"\", \"\", UNSUPPORTED_DOMAIN_NAME};"},{"lineNumber":74,"author":{"gitId":"-"},"content":" outputFolderRepoNameAndOrg \u003d remoteRepoNameAndOrg;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" } else if (isLocalRepo(location)) {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" outputFolderRepoNameAndOrg \u003d getLocalRepoNameAndOrg(location);"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e remotes \u003d GitRemote.getRemotes(location);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" String newLocation \u003d GitRemote.getAvailableRemoteLocation(remotes).orElse(location);"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" remoteRepoNameAndOrg \u003d remotes.size() \u003d\u003d 0"},{"lineNumber":82,"author":{"gitId":"-"},"content":" ? outputFolderRepoNameAndOrg"},{"lineNumber":83,"author":{"gitId":"-"},"content":" : getRemoteRepoNameAndOrg(newLocation);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" remoteRepoNameAndOrg \u003d getRemoteRepoNameAndOrg(location);"},{"lineNumber":86,"author":{"gitId":"-"},"content":" outputFolderRepoNameAndOrg \u003d remoteRepoNameAndOrg;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" this.repoName \u003d remoteRepoNameAndOrg[0];"},{"lineNumber":90,"author":{"gitId":"-"},"content":" this.organization \u003d remoteRepoNameAndOrg[1];"},{"lineNumber":91,"author":{"gitId":"-"},"content":" this.domainName \u003d remoteRepoNameAndOrg[2];"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" this.outputFolderRepoName \u003d outputFolderRepoNameAndOrg[0];"},{"lineNumber":94,"author":{"gitId":"-"},"content":" this.outputFolderOrganization \u003d outputFolderRepoNameAndOrg[1];"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" public boolean isEmpty() {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" return location.isEmpty();"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" public String getRepoName() {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" return outputFolderRepoName;"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" public String getOrganization() {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" return outputFolderOrganization;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" public String getDomainName() {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" return domainName;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":114,"author":{"gitId":"-"},"content":" * Returns true if {@code repoArgument} is a valid local repository argument."},{"lineNumber":115,"author":{"gitId":"-"},"content":" * This implementation follows directly from the {@code git clone}"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * \u003ca href\u003d\"https://git-scm.com/docs/git-clone#_git_urls\"\u003especification\u003c/a\u003e."},{"lineNumber":117,"author":{"gitId":"-"},"content":" */"},{"lineNumber":118,"author":{"gitId":"-"},"content":" public static boolean isLocalRepo(String repoArgument) {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" if (!repoArgument.contains(\":\")) {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" boolean hasSlashBeforeFirstColon \u003d repoArgument.split(\":\", 2)[0].contains(\"/\");"},{"lineNumber":124,"author":{"gitId":"-"},"content":" if (hasSlashBeforeFirstColon) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" // checks if it is a URL file protocol"},{"lineNumber":129,"author":{"gitId":"-"},"content":" String urlProtocol \u003d repoArgument.split(\"://\", 2)[0];"},{"lineNumber":130,"author":{"gitId":"-"},"content":" if (urlProtocol.equals(\"file\")) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" // catch disk drive arguments such as C:\\"},{"lineNumber":135,"author":{"gitId":"-"},"content":" if (SystemUtil.isWindows() \u0026\u0026 isValidPath(repoArgument)) {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Returns a best-guess repo name and organization from the given local repo {@code location}."},{"lineNumber":144,"author":{"gitId":"-"},"content":" * The return is a length-3 string array with the repo name at index 0, organization at index 1"},{"lineNumber":145,"author":{"gitId":"-"},"content":" * and domain name (unsupported domain) at index 2."},{"lineNumber":146,"author":{"gitId":"-"},"content":" *"},{"lineNumber":147,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the location specified is not a proper local repository."},{"lineNumber":148,"author":{"gitId":"-"},"content":" */"},{"lineNumber":149,"author":{"gitId":"-"},"content":" private String[] getLocalRepoNameAndOrg(String location) throws InvalidLocationException {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" boolean isWindows \u003d SystemUtil.isWindows();"},{"lineNumber":151,"author":{"gitId":"-"},"content":" if (isWindows) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" location \u003d location.replaceAll(\"file://\", \"\");"},{"lineNumber":153,"author":{"gitId":"-"},"content":" location \u003d location.replaceAll(\"/\", \"\\\\\\\\\");"},{"lineNumber":154,"author":{"gitId":"-"},"content":" location \u003d location.replaceAll(\"[|:]\", \"-\");"},{"lineNumber":155,"author":{"gitId":"-"},"content":" }"},{"lineNumber":156,"author":{"gitId":"-"},"content":" Pattern localRepoPattern \u003d isWindows"},{"lineNumber":157,"author":{"gitId":"-"},"content":" ? LOCAL_REPOSITORY_WINDOWS_LOCATION_PATTERN"},{"lineNumber":158,"author":{"gitId":"-"},"content":" : LOCAL_REPOSITORY_NON_WINDOWS_LOCATION_PATTERN;"},{"lineNumber":159,"author":{"gitId":"-"},"content":" Matcher localRepoMatcher \u003d localRepoPattern.matcher(location);"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" if (!localRepoMatcher.matches()) {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(location,"},{"lineNumber":163,"author":{"gitId":"-"},"content":" String.format(MESSAGE_INVALID_LOCATION, location));"},{"lineNumber":164,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(String.format(MESSAGE_INVALID_LOCATION, location));"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" String tempRepoName \u003d localRepoMatcher.group(GROUP_REPO_NAME);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" String tempOrganization \u003d getOrganizationFromMatcher(localRepoMatcher);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" return new String[] {tempRepoName, tempOrganization, UNSUPPORTED_DOMAIN_NAME};"},{"lineNumber":170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":173,"author":{"gitId":"-"},"content":" * Returns a best-guess repo name, organization and domain name from the given remote repo"},{"lineNumber":174,"author":{"gitId":"-"},"content":" * {@code location}. The return is a length-3 string array with the repo name at index 0,"},{"lineNumber":175,"author":{"gitId":"-"},"content":" * organization at index 1 and domain name at index 2."},{"lineNumber":176,"author":{"gitId":"-"},"content":" *"},{"lineNumber":177,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the location specified is not a proper remote repository."},{"lineNumber":178,"author":{"gitId":"-"},"content":" */"},{"lineNumber":179,"author":{"gitId":"-"},"content":" private String[] getRemoteRepoNameAndOrg(String location) throws InvalidLocationException {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" Matcher remoteRepoMatcher \u003d GIT_REPOSITORY_LOCATION_PATTERN.matcher(location);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" Matcher sshRepoMatcher \u003d SCP_LIKE_SSH_REPOSITORY_LOCATION_PATTERN.matcher(location);"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" boolean isNormalUrl \u003d remoteRepoMatcher.matches();"},{"lineNumber":184,"author":{"gitId":"-"},"content":" if (isNormalUrl) {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" new URI(location);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" } catch (URISyntaxException e) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(location,"},{"lineNumber":189,"author":{"gitId":"-"},"content":" String.format(MESSAGE_INVALID_REMOTE_URL, location));"},{"lineNumber":190,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(String.format(MESSAGE_INVALID_REMOTE_URL, location));"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":" boolean isValidRemoteRepoUrl \u003d remoteRepoMatcher.matches() || sshRepoMatcher.matches();"},{"lineNumber":194,"author":{"gitId":"-"},"content":" if (!isValidRemoteRepoUrl) {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(location,"},{"lineNumber":196,"author":{"gitId":"-"},"content":" String.format(MESSAGE_INVALID_REMOTE_URL, location));"},{"lineNumber":197,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(String.format(MESSAGE_INVALID_REMOTE_URL, location));"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" // priority for standard URL matches over SSH as SSH matcher will normally also match standard URL"},{"lineNumber":201,"author":{"gitId":"-"},"content":" Matcher actualMatcher \u003d remoteRepoMatcher.matches() ? remoteRepoMatcher : sshRepoMatcher;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" String tempRepoName \u003d actualMatcher.group(GROUP_REPO_NAME);"},{"lineNumber":203,"author":{"gitId":"-"},"content":" String tempOrganization \u003d getOrganizationFromMatcher(actualMatcher);"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" return new String[] {tempRepoName, tempOrganization,"},{"lineNumber":206,"author":{"gitId":"-"},"content":" getDomainNameFromDomain(actualMatcher.group(GROUP_DOMAIN))};"},{"lineNumber":207,"author":{"gitId":"-"},"content":" }"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":210,"author":{"gitId":"-"},"content":" * Returns the organization string from the {@code matcher} if one exists."},{"lineNumber":211,"author":{"gitId":"-"},"content":" * If no match was found for it, returns an empty string instead."},{"lineNumber":212,"author":{"gitId":"-"},"content":" */"},{"lineNumber":213,"author":{"gitId":"-"},"content":" private static String getOrganizationFromMatcher(Matcher matcher) {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" return Optional.ofNullable(matcher.group(GROUP_PATH))"},{"lineNumber":215,"author":{"gitId":"-"},"content":" .map(s -\u003e Paths.get(s).normalize().toString())"},{"lineNumber":216,"author":{"gitId":"-"},"content":" .map(s -\u003e s.replaceAll(Pattern.quote(FileSystems.getDefault().getSeparator()),"},{"lineNumber":217,"author":{"gitId":"-"},"content":" PATH_SEPARATOR_REPLACEMENT))"},{"lineNumber":218,"author":{"gitId":"-"},"content":" .orElse(\"\");"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":222,"author":{"gitId":"-"},"content":" * Returns the domain name of the URL from the {@code matcher} if it is one of the recognised ones."},{"lineNumber":223,"author":{"gitId":"-"},"content":" * Returns {@code UNRECOGNISED_DOMAIN_NAME} if it is a local repo or not recognised."},{"lineNumber":224,"author":{"gitId":"-"},"content":" *"},{"lineNumber":225,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the domain specified is not a proper domain name."},{"lineNumber":226,"author":{"gitId":"-"},"content":" */"},{"lineNumber":227,"author":{"gitId":"-"},"content":" public static String getDomainNameFromDomain(String domain) throws InvalidLocationException {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" Matcher domainNameMatcher \u003d DOMAIN_NAME_PATTERN.matcher(domain);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" if (!domainNameMatcher.matches()) {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(MESSAGE_INVALID_REMOTE_URL);"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":" String domainName \u003d domainNameMatcher.group(GROUP_DOMAIN_NAME);"},{"lineNumber":233,"author":{"gitId":"-"},"content":" return isSupportedDomainName(domainName)"},{"lineNumber":234,"author":{"gitId":"-"},"content":" ? domainName"},{"lineNumber":235,"author":{"gitId":"-"},"content":" : UNSUPPORTED_DOMAIN_NAME;"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" private static boolean isSupportedDomainName(String domainName) {"},{"lineNumber":239,"author":{"gitId":"-"},"content":" return SupportedDomainUrlMap.isSupportedDomainName(domainName);"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":243,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" return location;"},{"lineNumber":245,"author":{"gitId":"-"},"content":" }"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":248,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" // short circuit if same object"},{"lineNumber":250,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" // instanceof handles null"},{"lineNumber":255,"author":{"gitId":"-"},"content":" if (!(other instanceof RepoLocation)) {"},{"lineNumber":256,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" RepoLocation otherLocation \u003d (RepoLocation) other;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" return this.location.equals(otherLocation.location)"},{"lineNumber":261,"author":{"gitId":"-"},"content":" \u0026\u0026 this.repoName.equals(otherLocation.repoName)"},{"lineNumber":262,"author":{"gitId":"-"},"content":" \u0026\u0026 this.organization.equals(otherLocation.organization)"},{"lineNumber":263,"author":{"gitId":"-"},"content":" \u0026\u0026 this.domainName.equals(otherLocation.domainName)"},{"lineNumber":264,"author":{"gitId":"-"},"content":" \u0026\u0026 this.outputFolderRepoName.equals(otherLocation.outputFolderRepoName)"},{"lineNumber":265,"author":{"gitId":"-"},"content":" \u0026\u0026 this.outputFolderOrganization.equals(otherLocation.outputFolderOrganization);"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":269,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":270,"author":{"gitId":"-"},"content":" return location.hashCode();"},{"lineNumber":271,"author":{"gitId":"-"},"content":" }"},{"lineNumber":272,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":271}},{"path":"src/main/java/reposense/model/RunConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;"},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;"},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Interface to get configurations for current RepoSense run."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public interface RunConfiguration {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e getRepoConfigurations()"},{"lineNumber":16,"author":{"gitId":"-"},"content":" throws ParseException, IOException, InvalidCsvException, InvalidHeaderException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":3,"-":15}},{"path":"src/main/java/reposense/parser/ArgsParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.File;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import com.google.gson.JsonSyntaxException;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.ArgumentParsers;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.helper.HelpScreenException;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.action.HelpArgumentAction;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.action.VersionArgumentAction;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentGroup;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.FeatureControl;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.MutuallyExclusiveGroup;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Namespace;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.RepoSense;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import reposense.model.FileType;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.model.ReportConfiguration;"},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.AlphanumericArgumentType;"},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.AnalysisThreadsArgumentType;"},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.AssetsFolderArgumentType;"},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.CloningThreadsArgumentType;"},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.ConfigFolderArgumentType;"},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.OutputFolderArgumentType;"},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.PeriodArgumentType;"},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.ReportFolderArgumentType;"},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;"},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.UntilDateArgumentType;"},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.ZoneIdArgumentType;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted date to a {@link CliArguments} object."},{"lineNumber":48,"author":{"gitId":"-"},"content":" */"},{"lineNumber":49,"author":{"gitId":"-"},"content":"public class ArgsParser {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" public static final String DEFAULT_REPORT_NAME \u003d \"reposense-report\";"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static final int DEFAULT_NUM_CLONING_THREADS \u003d 4;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" public static final int DEFAULT_NUM_ANALYSIS_THREADS \u003d Runtime.getRuntime().availableProcessors();"},{"lineNumber":53,"author":{"gitId":"-"},"content":" public static final boolean DEFAULT_IS_TEST_MODE \u003d false;"},{"lineNumber":54,"author":{"gitId":"-"},"content":" public static final boolean DEFAULT_SHOULD_FRESH_CLONE \u003d false;"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" public static final String[] HELP_FLAGS \u003d new String[] {\"--help\", \"-h\"};"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public static final String[] CONFIG_FLAGS \u003d new String[] {\"--config\", \"-c\"};"},{"lineNumber":58,"author":{"gitId":"-"},"content":" public static final String[] REPO_FLAGS \u003d new String[] {\"--repo\", \"--repos\", \"-r\"};"},{"lineNumber":59,"author":{"gitId":"-"},"content":" public static final String[] VIEW_FLAGS \u003d new String[] {\"--view\", \"-v\"};"},{"lineNumber":60,"author":{"gitId":"-"},"content":" public static final String[] OUTPUT_FLAGS \u003d new String[] {\"--output\", \"-o\"};"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public static final String[] ASSETS_FLAGS \u003d new String[] {\"--assets\", \"-a\"};"},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static final String[] SINCE_FLAGS \u003d new String[] {\"--since\", \"-s\"};"},{"lineNumber":63,"author":{"gitId":"-"},"content":" public static final String[] UNTIL_FLAGS \u003d new String[] {\"--until\", \"-u\"};"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public static final String[] PERIOD_FLAGS \u003d new String[] {\"--period\", \"-p\"};"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static final String[] SHALLOW_CLONING_FLAGS \u003d new String[] {\"--shallow-cloning\", \"-S\"};"},{"lineNumber":66,"author":{"gitId":"-"},"content":" public static final String[] FORMAT_FLAGS \u003d new String[] {\"--formats\", \"-f\"};"},{"lineNumber":67,"author":{"gitId":"-"},"content":" public static final String[] IGNORE_CONFIG_FLAGS \u003d new String[] {\"--ignore-standalone-config\", \"-i\"};"},{"lineNumber":68,"author":{"gitId":"-"},"content":" public static final String[] IGNORE_SIZELIMIT_FLAGS \u003d new String[] {\"--ignore-filesize-limit\", \"-I\"};"},{"lineNumber":69,"author":{"gitId":"-"},"content":" public static final String[] TIMEZONE_FLAGS \u003d new String[] {\"--timezone\", \"-t\"};"},{"lineNumber":70,"author":{"gitId":"-"},"content":" public static final String[] VERSION_FLAGS \u003d new String[] {\"--version\", \"-V\"};"},{"lineNumber":71,"author":{"gitId":"-"},"content":" public static final String[] LAST_MODIFIED_DATE_FLAGS \u003d new String[] {\"--last-modified-date\", \"-l\"};"},{"lineNumber":72,"author":{"gitId":"-"},"content":" public static final String[] FIND_PREVIOUS_AUTHORS_FLAGS \u003d new String[] {\"--find-previous-authors\", \"-F\"};"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" public static final String[] CLONING_THREADS_FLAG \u003d new String[] {\"--cloning-threads\"};"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public static final String[] ANALYSIS_THREADS_FLAG \u003d new String[] {\"--analysis-threads\"};"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" public static final String[] TEST_MODE_FLAG \u003d new String[] {\"--test-mode\"};"},{"lineNumber":78,"author":{"gitId":"-"},"content":" public static final String[] FRESH_CLONING_FLAG \u003d new String[] {\"--fresh-cloning\"};"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(ArgsParser.class);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" private static final String PROGRAM_USAGE \u003d \"java -jar RepoSense.jar\";"},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final String PROGRAM_DESCRIPTION \u003d"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \"RepoSense is a contribution analysis tool for Git repositories.\";"},{"lineNumber":85,"author":{"gitId":"-"},"content":" private static final String MESSAGE_HEADER_MUTEX \u003d \"mutual exclusive arguments\";"},{"lineNumber":86,"author":{"gitId":"-"},"content":" private static final String MESSAGE_HEADER_TESTING \u003d \"test mode arguments\";"},{"lineNumber":87,"author":{"gitId":"-"},"content":" private static final String MESSAGE_HAVE_SINCE_DATE_UNTIL_DATE_AND_PERIOD \u003d"},{"lineNumber":88,"author":{"gitId":"-"},"content":" \"\\\"Since Date\\\", \\\"Until Date\\\", and \\\"Period\\\" cannot be applied together.\";"},{"lineNumber":89,"author":{"gitId":"-"},"content":" private static final String MESSAGE_USING_DEFAULT_CONFIG_PATH \u003d"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \"Config path not provided, using the config folder as default.\";"},{"lineNumber":91,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_CONFIG_PATH \u003d \"%s is malformed.\";"},{"lineNumber":92,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_CONFIG_JSON \u003d \"%s Ignoring the report config provided.\";"},{"lineNumber":93,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_D1_WITH_PERIOD \u003d \"You may be using --since d1 with the --period flag. \""},{"lineNumber":94,"author":{"gitId":"-"},"content":" + \"This may result in an incorrect date range being analysed.\";"},{"lineNumber":95,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_DATE_LATER_THAN_UNTIL_DATE \u003d"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \"\\\"Since Date\\\" cannot be later than \\\"Until Date\\\".\";"},{"lineNumber":97,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_DATE_LATER_THAN_TODAY_DATE \u003d"},{"lineNumber":98,"author":{"gitId":"-"},"content":" \"\\\"Since Date\\\" must not be later than today\u0027s date.\";"},{"lineNumber":99,"author":{"gitId":"-"},"content":" private static final Path EMPTY_PATH \u003d Paths.get(\"\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":" private static final Path DEFAULT_CONFIG_PATH \u003d Paths.get(System.getProperty(\"user.dir\")"},{"lineNumber":101,"author":{"gitId":"-"},"content":" + File.separator + \"config\" + File.separator);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" private static final Path DEFAULT_ASSETS_PATH \u003d Paths.get(System.getProperty(\"user.dir\")"},{"lineNumber":103,"author":{"gitId":"-"},"content":" + File.separator + \"assets\" + File.separator);"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" private static ArgumentParser getArgumentParser() {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" ArgumentParser parser \u003d ArgumentParsers"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .newFor(PROGRAM_USAGE)"},{"lineNumber":108,"author":{"gitId":"-"},"content":" .addHelp(false)"},{"lineNumber":109,"author":{"gitId":"-"},"content":" .build()"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .description(PROGRAM_DESCRIPTION);"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" MutuallyExclusiveGroup mutexParser \u003d parser"},{"lineNumber":113,"author":{"gitId":"-"},"content":" .addMutuallyExclusiveGroup(MESSAGE_HEADER_MUTEX)"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .required(false);"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" MutuallyExclusiveGroup mutexParser2 \u003d parser"},{"lineNumber":117,"author":{"gitId":"-"},"content":" .addMutuallyExclusiveGroup(MESSAGE_HEADER_MUTEX)"},{"lineNumber":118,"author":{"gitId":"-"},"content":" .required(false);"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" ArgumentGroup argumentGroup \u003d parser"},{"lineNumber":121,"author":{"gitId":"-"},"content":" .addArgumentGroup(MESSAGE_HEADER_TESTING);"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" // Boolean flags"},{"lineNumber":124,"author":{"gitId":"-"},"content":" parser.addArgument(HELP_FLAGS)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" .help(\"Show help message.\")"},{"lineNumber":126,"author":{"gitId":"-"},"content":" .action(new HelpArgumentAction());"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" parser.version(\"RepoSense \" + RepoSense.getVersion());"},{"lineNumber":129,"author":{"gitId":"-"},"content":" parser.addArgument(VERSION_FLAGS)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" .help(\"Show the version of RepoSense.\")"},{"lineNumber":131,"author":{"gitId":"-"},"content":" .action(new VersionArgumentAction());"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" parser.addArgument(IGNORE_CONFIG_FLAGS)"},{"lineNumber":134,"author":{"gitId":"-"},"content":" .dest(IGNORE_CONFIG_FLAGS[0])"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":136,"author":{"gitId":"-"},"content":" .help(\"A flag to ignore the standalone config file in the repo.\");"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" parser.addArgument(IGNORE_SIZELIMIT_FLAGS)"},{"lineNumber":139,"author":{"gitId":"-"},"content":" .dest(IGNORE_SIZELIMIT_FLAGS[0])"},{"lineNumber":140,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":141,"author":{"gitId":"-"},"content":" .help(\"A flag to ignore the filesize limit for analyzed files.\");"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" parser.addArgument(VIEW_FLAGS)"},{"lineNumber":144,"author":{"gitId":"-"},"content":" .dest(VIEW_FLAGS[0])"},{"lineNumber":145,"author":{"gitId":"-"},"content":" .nargs(\"?\")"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")"},{"lineNumber":147,"author":{"gitId":"-"},"content":" .type(new ReportFolderArgumentType())"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .setConst(EMPTY_PATH)"},{"lineNumber":149,"author":{"gitId":"-"},"content":" .help(\"Starts a server to display the report in the provided directory. \""},{"lineNumber":150,"author":{"gitId":"-"},"content":" + \"If used as a flag (with no argument), \""},{"lineNumber":151,"author":{"gitId":"-"},"content":" + \"generates a report and automatically displays the report.\");"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" parser.addArgument(OUTPUT_FLAGS)"},{"lineNumber":154,"author":{"gitId":"-"},"content":" .dest(OUTPUT_FLAGS[0])"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")"},{"lineNumber":156,"author":{"gitId":"-"},"content":" .type(new OutputFolderArgumentType())"},{"lineNumber":157,"author":{"gitId":"-"},"content":" .setDefault(Paths.get(ArgsParser.DEFAULT_REPORT_NAME))"},{"lineNumber":158,"author":{"gitId":"-"},"content":" .help(\"The directory to output the report folder, reposense-report. \""},{"lineNumber":159,"author":{"gitId":"-"},"content":" + \"If not provided, the report folder will be created in the current working directory.\");"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" parser.addArgument(ASSETS_FLAGS)"},{"lineNumber":162,"author":{"gitId":"-"},"content":" .dest(ASSETS_FLAGS[0])"},{"lineNumber":163,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .type(new AssetsFolderArgumentType())"},{"lineNumber":165,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_ASSETS_PATH)"},{"lineNumber":166,"author":{"gitId":"-"},"content":" .help(\"The directory to place assets files to customize report generation. \""},{"lineNumber":167,"author":{"gitId":"-"},"content":" + \"If not provided, the assets folder in the current working directory will be used.\");"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" parser.addArgument(SINCE_FLAGS)"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .dest(SINCE_FLAGS[0])"},{"lineNumber":171,"author":{"gitId":"-"},"content":" .metavar(\"dd/MM/yyyy\")"},{"lineNumber":172,"author":{"gitId":"-"},"content":" .type(new SinceDateArgumentType())"},{"lineNumber":173,"author":{"gitId":"-"},"content":" .setDefault(Optional.empty())"},{"lineNumber":174,"author":{"gitId":"-"},"content":" .help(\"The date to start filtering.\");"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" parser.addArgument(UNTIL_FLAGS)"},{"lineNumber":177,"author":{"gitId":"-"},"content":" .dest(UNTIL_FLAGS[0])"},{"lineNumber":178,"author":{"gitId":"-"},"content":" .metavar(\"dd/MM/yyyy\")"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .type(new UntilDateArgumentType())"},{"lineNumber":180,"author":{"gitId":"-"},"content":" .setDefault(Optional.empty())"},{"lineNumber":181,"author":{"gitId":"-"},"content":" .help(\"The date to stop filtering.\");"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" parser.addArgument(PERIOD_FLAGS)"},{"lineNumber":184,"author":{"gitId":"-"},"content":" .dest(PERIOD_FLAGS[0])"},{"lineNumber":185,"author":{"gitId":"-"},"content":" .metavar(\"PERIOD\")"},{"lineNumber":186,"author":{"gitId":"-"},"content":" .type(new PeriodArgumentType())"},{"lineNumber":187,"author":{"gitId":"-"},"content":" .setDefault(Optional.empty())"},{"lineNumber":188,"author":{"gitId":"-"},"content":" .help(\"The number of days of the filtering window.\");"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" parser.addArgument(FORMAT_FLAGS)"},{"lineNumber":191,"author":{"gitId":"-"},"content":" .dest(FORMAT_FLAGS[0])"},{"lineNumber":192,"author":{"gitId":"-"},"content":" .nargs(\"*\")"},{"lineNumber":193,"author":{"gitId":"-"},"content":" .metavar(\"FORMAT\")"},{"lineNumber":194,"author":{"gitId":"-"},"content":" .type(new AlphanumericArgumentType())"},{"lineNumber":195,"author":{"gitId":"-"},"content":" .setDefault(Collections.emptyList())"},{"lineNumber":196,"author":{"gitId":"-"},"content":" .help(\"The alphanumeric file formats to process.\\n\""},{"lineNumber":197,"author":{"gitId":"-"},"content":" + \"If not provided, default file formats will be used.\\n\""},{"lineNumber":198,"author":{"gitId":"-"},"content":" + \"Please refer to userguide for more information.\");"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" parser.addArgument(TIMEZONE_FLAGS)"},{"lineNumber":201,"author":{"gitId":"-"},"content":" .dest(TIMEZONE_FLAGS[0])"},{"lineNumber":202,"author":{"gitId":"-"},"content":" .metavar(\"ZONE_ID[±hh[mm]]\")"},{"lineNumber":203,"author":{"gitId":"-"},"content":" .type(new ZoneIdArgumentType())"},{"lineNumber":204,"author":{"gitId":"-"},"content":" .setDefault(ZoneId.systemDefault())"},{"lineNumber":205,"author":{"gitId":"-"},"content":" .help(\"The timezone to use for the generated report. \""},{"lineNumber":206,"author":{"gitId":"-"},"content":" + \"One kind of valid timezones is relative to UTC. E.g. UTC, UTC+08, UTC-1030. \\n\""},{"lineNumber":207,"author":{"gitId":"-"},"content":" + \"If not provided, system default timezone will be used.\");"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" parser.addArgument(FIND_PREVIOUS_AUTHORS_FLAGS)"},{"lineNumber":210,"author":{"gitId":"-"},"content":" .dest(FIND_PREVIOUS_AUTHORS_FLAGS[0])"},{"lineNumber":211,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":212,"author":{"gitId":"-"},"content":" .help(\"A flag to make RepoSense utilize Git blame\u0027s ignore revisions functionality, RepoSense \""},{"lineNumber":213,"author":{"gitId":"-"},"content":" + \"will attempt to blame the line changes caused by commits in the ignore commit list to the \""},{"lineNumber":214,"author":{"gitId":"-"},"content":" + \"previous authors who altered those lines (if available)\");"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" // Mutex flags - these will always be the last parameters in help message."},{"lineNumber":217,"author":{"gitId":"-"},"content":" mutexParser.addArgument(CONFIG_FLAGS)"},{"lineNumber":218,"author":{"gitId":"-"},"content":" .dest(CONFIG_FLAGS[0])"},{"lineNumber":219,"author":{"gitId":"-"},"content":" .type(new ConfigFolderArgumentType())"},{"lineNumber":220,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")"},{"lineNumber":221,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_CONFIG_PATH)"},{"lineNumber":222,"author":{"gitId":"-"},"content":" .help(\"The directory containing the config files.\""},{"lineNumber":223,"author":{"gitId":"-"},"content":" + \"If not provided, the config files will be obtained from the config folder.\");"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" mutexParser.addArgument(REPO_FLAGS)"},{"lineNumber":226,"author":{"gitId":"-"},"content":" .nargs(\"+\")"},{"lineNumber":227,"author":{"gitId":"-"},"content":" .dest(REPO_FLAGS[0])"},{"lineNumber":228,"author":{"gitId":"-"},"content":" .metavar(\"LOCATION\")"},{"lineNumber":229,"author":{"gitId":"-"},"content":" .help(\"The remote Git host URLs or local directories to clone the repositories from.\");"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" mutexParser2.addArgument(LAST_MODIFIED_DATE_FLAGS)"},{"lineNumber":232,"author":{"gitId":"-"},"content":" .dest(LAST_MODIFIED_DATE_FLAGS[0])"},{"lineNumber":233,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":234,"author":{"gitId":"-"},"content":" .help(\"A flag to keep track of the last modified date of each line of code.\");"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" mutexParser2.addArgument(SHALLOW_CLONING_FLAGS)"},{"lineNumber":237,"author":{"gitId":"-"},"content":" .dest(SHALLOW_CLONING_FLAGS[0])"},{"lineNumber":238,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":239,"author":{"gitId":"-"},"content":" .help(\"A flag to make RepoSense employ Git\u0027s shallow cloning functionality, which can significantly \""},{"lineNumber":240,"author":{"gitId":"-"},"content":" + \"reduce the time taken to clone large repositories. This flag should not be used for \""},{"lineNumber":241,"author":{"gitId":"-"},"content":" + \"smaller repositories, where the .git file is smaller than 500 MB.\");"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" parser.addArgument(CLONING_THREADS_FLAG)"},{"lineNumber":244,"author":{"gitId":"-"},"content":" .dest(CLONING_THREADS_FLAG[0])"},{"lineNumber":245,"author":{"gitId":"-"},"content":" .type(new CloningThreadsArgumentType())"},{"lineNumber":246,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_NUM_CLONING_THREADS)"},{"lineNumber":247,"author":{"gitId":"-"},"content":" .help(FeatureControl.SUPPRESS);"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":" parser.addArgument(ANALYSIS_THREADS_FLAG)"},{"lineNumber":250,"author":{"gitId":"-"},"content":" .dest(ANALYSIS_THREADS_FLAG[0])"},{"lineNumber":251,"author":{"gitId":"-"},"content":" .type(new AnalysisThreadsArgumentType())"},{"lineNumber":252,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_NUM_ANALYSIS_THREADS)"},{"lineNumber":253,"author":{"gitId":"-"},"content":" .help(FeatureControl.SUPPRESS);"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":" // Testing flags"},{"lineNumber":256,"author":{"gitId":"-"},"content":" argumentGroup.addArgument(TEST_MODE_FLAG)"},{"lineNumber":257,"author":{"gitId":"-"},"content":" .dest(TEST_MODE_FLAG[0])"},{"lineNumber":258,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":259,"author":{"gitId":"-"},"content":" .help(\"Enables testing mode.\");"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":" argumentGroup.addArgument(FRESH_CLONING_FLAG)"},{"lineNumber":262,"author":{"gitId":"-"},"content":" .dest(FRESH_CLONING_FLAG[0])"},{"lineNumber":263,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":264,"author":{"gitId":"-"},"content":" .help(\"Enables fresh cloning. Requires testing mode to be enabled.\");"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" return parser;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":270,"author":{"gitId":"-"},"content":" * Parses the given string {@code args} to a {@link CliArguments} object."},{"lineNumber":271,"author":{"gitId":"-"},"content":" *"},{"lineNumber":272,"author":{"gitId":"-"},"content":" * @throws HelpScreenException if given args contain the --help flag. Help message will be printed out"},{"lineNumber":273,"author":{"gitId":"-"},"content":" * by the {@link ArgumentParser} hence this is to signal to the caller that the program is safe to exit."},{"lineNumber":274,"author":{"gitId":"-"},"content":" * @throws ParseException if the given string arguments fails to parse to a {@link CliArguments} object."},{"lineNumber":275,"author":{"gitId":"-"},"content":" */"},{"lineNumber":276,"author":{"gitId":"-"},"content":" public static CliArguments parse(String[] args) throws HelpScreenException, ParseException {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" ArgumentParser parser \u003d getArgumentParser();"},{"lineNumber":278,"author":{"gitId":"-"},"content":" Namespace results;"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" results \u003d parser.parseArgs(args);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" } catch (HelpScreenException hse) {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" throw hse;"},{"lineNumber":284,"author":{"gitId":"-"},"content":" } catch (ArgumentParserException ape) {"},{"lineNumber":285,"author":{"gitId":"-"},"content":" throw new ParseException(getArgumentParser().formatUsage() + ape.getMessage() + \"\\n\");"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" Path configFolderPath \u003d results.get(CONFIG_FLAGS[0]);"},{"lineNumber":289,"author":{"gitId":"-"},"content":" Path reportFolderPath \u003d results.get(VIEW_FLAGS[0]);"},{"lineNumber":290,"author":{"gitId":"-"},"content":" Path outputFolderPath \u003d results.get(OUTPUT_FLAGS[0]);"},{"lineNumber":291,"author":{"gitId":"-"},"content":" ZoneId zoneId \u003d results.get(TIMEZONE_FLAGS[0]);"},{"lineNumber":292,"author":{"gitId":"-"},"content":" Path assetsFolderPath \u003d results.get(ASSETS_FLAGS[0]);"},{"lineNumber":293,"author":{"gitId":"-"},"content":" List\u003cString\u003e locations \u003d results.get(REPO_FLAGS[0]);"},{"lineNumber":294,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e formats \u003d FileType.convertFormatStringsToFileTypes(results.get(FORMAT_FLAGS[0]));"},{"lineNumber":295,"author":{"gitId":"-"},"content":" boolean isStandaloneConfigIgnored \u003d results.get(IGNORE_CONFIG_FLAGS[0]);"},{"lineNumber":296,"author":{"gitId":"-"},"content":" boolean isFileSizeLimitIgnored \u003d results.get(IGNORE_SIZELIMIT_FLAGS[0]);"},{"lineNumber":297,"author":{"gitId":"-"},"content":" boolean shouldIncludeLastModifiedDate \u003d results.get(LAST_MODIFIED_DATE_FLAGS[0]);"},{"lineNumber":298,"author":{"gitId":"-"},"content":" boolean shouldPerformShallowCloning \u003d results.get(SHALLOW_CLONING_FLAGS[0]);"},{"lineNumber":299,"author":{"gitId":"-"},"content":" boolean shouldFindPreviousAuthors \u003d results.get(FIND_PREVIOUS_AUTHORS_FLAGS[0]);"},{"lineNumber":300,"author":{"gitId":"-"},"content":" boolean isTestMode \u003d results.get(TEST_MODE_FLAG[0]);"},{"lineNumber":301,"author":{"gitId":"-"},"content":" int numCloningThreads \u003d results.get(CLONING_THREADS_FLAG[0]);"},{"lineNumber":302,"author":{"gitId":"-"},"content":" int numAnalysisThreads \u003d results.get(ANALYSIS_THREADS_FLAG[0]);"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" CliArguments.Builder cliArgumentsBuilder \u003d new CliArguments.Builder()"},{"lineNumber":305,"author":{"gitId":"-"},"content":" .configFolderPath(configFolderPath)"},{"lineNumber":306,"author":{"gitId":"-"},"content":" .reportDirectoryPath(reportFolderPath)"},{"lineNumber":307,"author":{"gitId":"-"},"content":" .outputFilePath(outputFolderPath)"},{"lineNumber":308,"author":{"gitId":"-"},"content":" .zoneId(zoneId)"},{"lineNumber":309,"author":{"gitId":"-"},"content":" .assetsFilePath(assetsFolderPath)"},{"lineNumber":310,"author":{"gitId":"-"},"content":" .locations(locations)"},{"lineNumber":311,"author":{"gitId":"-"},"content":" .formats(formats)"},{"lineNumber":312,"author":{"gitId":"-"},"content":" .isStandaloneConfigIgnored(isStandaloneConfigIgnored)"},{"lineNumber":313,"author":{"gitId":"-"},"content":" .isFileSizeLimitIgnored(isFileSizeLimitIgnored)"},{"lineNumber":314,"author":{"gitId":"-"},"content":" .isLastModifiedDateIncluded(shouldIncludeLastModifiedDate)"},{"lineNumber":315,"author":{"gitId":"-"},"content":" .isShallowCloningPerformed(shouldPerformShallowCloning)"},{"lineNumber":316,"author":{"gitId":"-"},"content":" .isFindingPreviousAuthorsPerformed(shouldFindPreviousAuthors)"},{"lineNumber":317,"author":{"gitId":"-"},"content":" .numCloningThreads(numCloningThreads)"},{"lineNumber":318,"author":{"gitId":"-"},"content":" .numAnalysisThreads(numAnalysisThreads)"},{"lineNumber":319,"author":{"gitId":"-"},"content":" .isTestMode(isTestMode);"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" LogsManager.setLogFolderLocation(outputFolderPath);"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" if (locations \u003d\u003d null \u0026\u0026 configFolderPath.equals(DEFAULT_CONFIG_PATH)) {"},{"lineNumber":324,"author":{"gitId":"-"},"content":" logger.info(MESSAGE_USING_DEFAULT_CONFIG_PATH);"},{"lineNumber":325,"author":{"gitId":"-"},"content":" }"},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":" addReportConfigToBuilder(cliArgumentsBuilder, results);"},{"lineNumber":328,"author":{"gitId":"-"},"content":" addAnalysisDatesToBuilder(cliArgumentsBuilder, results);"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" boolean isViewModeOnly \u003d reportFolderPath !\u003d null"},{"lineNumber":331,"author":{"gitId":"-"},"content":" \u0026\u0026 !reportFolderPath.equals(EMPTY_PATH)"},{"lineNumber":332,"author":{"gitId":"-"},"content":" \u0026\u0026 configFolderPath.equals(DEFAULT_CONFIG_PATH)"},{"lineNumber":333,"author":{"gitId":"-"},"content":" \u0026\u0026 locations \u003d\u003d null;"},{"lineNumber":334,"author":{"gitId":"-"},"content":" cliArgumentsBuilder.isViewModeOnly(isViewModeOnly);"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"-"},"content":" boolean isAutomaticallyLaunching \u003d reportFolderPath !\u003d null;"},{"lineNumber":337,"author":{"gitId":"-"},"content":" if (isAutomaticallyLaunching \u0026\u0026 !reportFolderPath.equals(EMPTY_PATH) \u0026\u0026 !isViewModeOnly) {"},{"lineNumber":338,"author":{"gitId":"-"},"content":" logger.info(String.format(\"Ignoring argument \u0027%s\u0027 for --view.\", reportFolderPath.toString()));"},{"lineNumber":339,"author":{"gitId":"-"},"content":" }"},{"lineNumber":340,"author":{"gitId":"-"},"content":" cliArgumentsBuilder.isAutomaticallyLaunching(isAutomaticallyLaunching);"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":""},{"lineNumber":343,"author":{"gitId":"-"},"content":" boolean shouldPerformFreshCloning \u003d isTestMode"},{"lineNumber":344,"author":{"gitId":"-"},"content":" ? results.get(FRESH_CLONING_FLAG[0])"},{"lineNumber":345,"author":{"gitId":"-"},"content":" : DEFAULT_SHOULD_FRESH_CLONE;"},{"lineNumber":346,"author":{"gitId":"-"},"content":" cliArgumentsBuilder.isFreshClonePerformed(shouldPerformFreshCloning);"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":" return cliArgumentsBuilder.build();"},{"lineNumber":349,"author":{"gitId":"-"},"content":" }"},{"lineNumber":350,"author":{"gitId":"-"},"content":""},{"lineNumber":351,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":352,"author":{"gitId":"-"},"content":" * Adds the reportConfig field to the given {@code builder}."},{"lineNumber":353,"author":{"gitId":"-"},"content":" *"},{"lineNumber":354,"author":{"gitId":"-"},"content":" * @param builder Builder to be supplied with the reportConfig field."},{"lineNumber":355,"author":{"gitId":"-"},"content":" * @param results Parsed results of the user-supplied CLI arguments."},{"lineNumber":356,"author":{"gitId":"-"},"content":" */"},{"lineNumber":357,"author":{"gitId":"-"},"content":" private static void addReportConfigToBuilder(CliArguments.Builder builder, Namespace results) {"},{"lineNumber":358,"author":{"gitId":"-"},"content":" ReportConfiguration reportConfig \u003d new ReportConfiguration();"},{"lineNumber":359,"author":{"gitId":"-"},"content":" List\u003cString\u003e locations \u003d results.get(REPO_FLAGS[0]);"},{"lineNumber":360,"author":{"gitId":"-"},"content":" Path configFolderPath \u003d results.get(CONFIG_FLAGS[0]);"},{"lineNumber":361,"author":{"gitId":"-"},"content":""},{"lineNumber":362,"author":{"gitId":"-"},"content":" // Report config is ignored if --repos is provided"},{"lineNumber":363,"author":{"gitId":"-"},"content":" if (locations \u003d\u003d null) {"},{"lineNumber":364,"author":{"gitId":"-"},"content":" Path reportConfigFilePath \u003d configFolderPath.resolve(ReportConfigJsonParser.REPORT_CONFIG_FILENAME);"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":367,"author":{"gitId":"-"},"content":" reportConfig \u003d new ReportConfigJsonParser().parse(reportConfigFilePath);"},{"lineNumber":368,"author":{"gitId":"-"},"content":" } catch (JsonSyntaxException jse) {"},{"lineNumber":369,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_INVALID_CONFIG_PATH, reportConfigFilePath));"},{"lineNumber":370,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_INVALID_CONFIG_JSON, iae.getMessage()));"},{"lineNumber":372,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {"},{"lineNumber":373,"author":{"gitId":"-"},"content":" // IOException thrown as report-config.json is not found."},{"lineNumber":374,"author":{"gitId":"-"},"content":" // Ignore exception as the file is optional."},{"lineNumber":375,"author":{"gitId":"-"},"content":" }"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":" builder.reportConfiguration(reportConfig);"},{"lineNumber":378,"author":{"gitId":"-"},"content":" }"},{"lineNumber":379,"author":{"gitId":"-"},"content":""},{"lineNumber":380,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":381,"author":{"gitId":"-"},"content":" * Adds the sinceDate and untilDate fields for analysis to the given {@code builder}."},{"lineNumber":382,"author":{"gitId":"-"},"content":" *"},{"lineNumber":383,"author":{"gitId":"-"},"content":" * @param builder Builder to be supplied with the sinceDate and untilDate fields"},{"lineNumber":384,"author":{"gitId":"-"},"content":" * @param results Parsed results of the user-supplied CLI arguments."},{"lineNumber":385,"author":{"gitId":"-"},"content":" * @throws ParseException if all of sinceDate, untilDate and (analysis) period is provided"},{"lineNumber":386,"author":{"gitId":"-"},"content":" * or if the sinceDate is invalid."},{"lineNumber":387,"author":{"gitId":"-"},"content":" */"},{"lineNumber":388,"author":{"gitId":"-"},"content":" private static void addAnalysisDatesToBuilder(CliArguments.Builder builder, Namespace results)"},{"lineNumber":389,"author":{"gitId":"-"},"content":" throws ParseException {"},{"lineNumber":390,"author":{"gitId":"-"},"content":" ZoneId zoneId \u003d results.get(TIMEZONE_FLAGS[0]);"},{"lineNumber":391,"author":{"gitId":"-"},"content":" Optional\u003cLocalDateTime\u003e cliSinceDate \u003d results.get(SINCE_FLAGS[0]);"},{"lineNumber":392,"author":{"gitId":"-"},"content":" Optional\u003cLocalDateTime\u003e cliUntilDate \u003d results.get(UNTIL_FLAGS[0]);"},{"lineNumber":393,"author":{"gitId":"-"},"content":" Optional\u003cInteger\u003e cliPeriod \u003d results.get(PERIOD_FLAGS[0]);"},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"-"},"content":" boolean isSinceDateProvided \u003d cliSinceDate.isPresent();"},{"lineNumber":396,"author":{"gitId":"-"},"content":" boolean isUntilDateProvided \u003d cliUntilDate.isPresent();"},{"lineNumber":397,"author":{"gitId":"-"},"content":" boolean isPeriodProvided \u003d cliPeriod.isPresent();"},{"lineNumber":398,"author":{"gitId":"-"},"content":" if (isSinceDateProvided \u0026\u0026 isUntilDateProvided \u0026\u0026 isPeriodProvided) {"},{"lineNumber":399,"author":{"gitId":"-"},"content":" throw new ParseException(MESSAGE_HAVE_SINCE_DATE_UNTIL_DATE_AND_PERIOD);"},{"lineNumber":400,"author":{"gitId":"-"},"content":" }"},{"lineNumber":401,"author":{"gitId":"-"},"content":""},{"lineNumber":402,"author":{"gitId":"-"},"content":" LocalDateTime sinceDate;"},{"lineNumber":403,"author":{"gitId":"-"},"content":" LocalDateTime untilDate;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" boolean isUsingArbitraryDate \u003d false;"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" LocalDateTime currentDate \u003d TimeUtil.getCurrentDate(zoneId);"},{"lineNumber":407,"author":{"gitId":"-"},"content":""},{"lineNumber":408,"author":{"gitId":"-"},"content":" if (isSinceDateProvided) {"},{"lineNumber":409,"author":{"gitId":"-"},"content":" sinceDate \u003d TimeUtil.getSinceDate(cliSinceDate.get());"},{"lineNumber":410,"author":{"gitId":"-"},"content":" // For --since d1, need to adjust the arbitrary date based on timezone"},{"lineNumber":411,"author":{"gitId":"-"},"content":" if (TimeUtil.isEqualToArbitraryFirstDateUtc(sinceDate)) {"},{"lineNumber":412,"author":{"gitId":"-"},"content":" isUsingArbitraryDate \u003d true;"},{"lineNumber":413,"author":{"gitId":"-"},"content":" sinceDate \u003d TimeUtil.getArbitraryFirstCommitDateConverted(zoneId);"},{"lineNumber":414,"author":{"gitId":"-"},"content":" }"},{"lineNumber":415,"author":{"gitId":"-"},"content":" } else if (isUntilDateProvided) {"},{"lineNumber":416,"author":{"gitId":"-"},"content":" sinceDate \u003d isPeriodProvided"},{"lineNumber":417,"author":{"gitId":"-"},"content":" ? TimeUtil.getDateMinusNDays(cliUntilDate.get(), cliPeriod.get())"},{"lineNumber":418,"author":{"gitId":"-"},"content":" : TimeUtil.getDateMinusAMonth(cliUntilDate.get());"},{"lineNumber":419,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":420,"author":{"gitId":"-"},"content":" sinceDate \u003d isPeriodProvided"},{"lineNumber":421,"author":{"gitId":"-"},"content":" ? TimeUtil.getDateMinusNDays(currentDate, cliPeriod.get())"},{"lineNumber":422,"author":{"gitId":"-"},"content":" : TimeUtil.getDateMinusAMonth(currentDate);"},{"lineNumber":423,"author":{"gitId":"-"},"content":" }"},{"lineNumber":424,"author":{"gitId":"-"},"content":""},{"lineNumber":425,"author":{"gitId":"-"},"content":" if (isPeriodProvided \u0026\u0026 isUsingArbitraryDate) {"},{"lineNumber":426,"author":{"gitId":"-"},"content":" logger.warning(MESSAGE_SINCE_D1_WITH_PERIOD);"},{"lineNumber":427,"author":{"gitId":"-"},"content":" }"},{"lineNumber":428,"author":{"gitId":"-"},"content":""},{"lineNumber":429,"author":{"gitId":"-"},"content":" if (isUntilDateProvided) {"},{"lineNumber":430,"author":{"gitId":"-"},"content":" untilDate \u003d TimeUtil.getUntilDate(cliUntilDate.get());"},{"lineNumber":431,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":432,"author":{"gitId":"-"},"content":" untilDate \u003d (isSinceDateProvided \u0026\u0026 isPeriodProvided)"},{"lineNumber":433,"author":{"gitId":"-"},"content":" ? TimeUtil.getDatePlusNDays(cliSinceDate.get(), cliPeriod.get())"},{"lineNumber":434,"author":{"gitId":"-"},"content":" : currentDate;"},{"lineNumber":435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":436,"author":{"gitId":"-"},"content":""},{"lineNumber":437,"author":{"gitId":"-"},"content":" untilDate \u003d untilDate.compareTo(currentDate) \u003c 0"},{"lineNumber":438,"author":{"gitId":"-"},"content":" ? untilDate"},{"lineNumber":439,"author":{"gitId":"-"},"content":" : currentDate;"},{"lineNumber":440,"author":{"gitId":"-"},"content":""},{"lineNumber":441,"author":{"gitId":"-"},"content":" if (sinceDate.compareTo(currentDate) \u003e 0) {"},{"lineNumber":442,"author":{"gitId":"-"},"content":" throw new ParseException(MESSAGE_SINCE_DATE_LATER_THAN_TODAY_DATE);"},{"lineNumber":443,"author":{"gitId":"-"},"content":" }"},{"lineNumber":444,"author":{"gitId":"-"},"content":""},{"lineNumber":445,"author":{"gitId":"-"},"content":" if (sinceDate.compareTo(untilDate) \u003e 0) {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" throw new ParseException(MESSAGE_SINCE_DATE_LATER_THAN_UNTIL_DATE);"},{"lineNumber":447,"author":{"gitId":"-"},"content":" }"},{"lineNumber":448,"author":{"gitId":"-"},"content":""},{"lineNumber":449,"author":{"gitId":"-"},"content":" builder.sinceDate(sinceDate)"},{"lineNumber":450,"author":{"gitId":"-"},"content":" .isSinceDateProvided(isSinceDateProvided)"},{"lineNumber":451,"author":{"gitId":"-"},"content":" .untilDate(untilDate)"},{"lineNumber":452,"author":{"gitId":"-"},"content":" .isUntilDateProvided(isUntilDateProvided);"},{"lineNumber":453,"author":{"gitId":"-"},"content":" }"},{"lineNumber":454,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":12,"-":442}},{"path":"src/main/java/reposense/parser/AuthorConfigCsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.AuthorConfiguration;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;"},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Container for the values parsed from {@code author-config.csv} file."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class AuthorConfigCsvParser extends CsvParser\u003cAuthorConfiguration\u003e {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" public static final String AUTHOR_CONFIG_FILENAME \u003d \"author-config.csv\";"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":23,"author":{"gitId":"-"},"content":" * Positions of the elements of a line in author-config.csv config file."},{"lineNumber":24,"author":{"gitId":"-"},"content":" */"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String[] LOCATION_HEADER \u003d {\"Repository\u0027s Location\"};"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String[] BRANCH_HEADER \u003d {\"Branch\"};"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String[] GIT_ID_HEADERS \u003d {\"Author\u0027s Git Host ID\", \"Author\u0027s GitHub ID\"};"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final String[] EMAIL_HEADER \u003d {\"Author\u0027s Emails\"};"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String[] DISPLAY_NAME_HEADER \u003d {\"Author\u0027s Display Name\"};"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String[] ALIAS_HEADER \u003d {\"Author\u0027s Git Author Name\"};"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_GLOB_LIST_HEADER \u003d {\"Ignore Glob List\"};"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" public AuthorConfigCsvParser(Path csvFilePath) throws FileNotFoundException {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" super(csvFilePath);"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification."},{"lineNumber":39,"author":{"gitId":"-"},"content":" */"},{"lineNumber":40,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":41,"author":{"gitId":"-"},"content":" protected String[][] mandatoryHeaders() {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" return new String[][] {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" GIT_ID_HEADERS,"},{"lineNumber":44,"author":{"gitId":"-"},"content":" };"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed."},{"lineNumber":49,"author":{"gitId":"-"},"content":" */"},{"lineNumber":50,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":51,"author":{"gitId":"-"},"content":" protected String[][] optionalHeaders() {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" return new String[][] {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" LOCATION_HEADER, BRANCH_HEADER, EMAIL_HEADER, DISPLAY_NAME_HEADER, ALIAS_HEADER,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" IGNORE_GLOB_LIST_HEADER,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" };"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Processes the csv {@code record} line by line and add created {@link AuthorConfiguration} into {@code results}"},{"lineNumber":60,"author":{"gitId":"-"},"content":" * but skips {@code author} already exists in a {@link AuthorConfiguration} that has same {@code location}"},{"lineNumber":61,"author":{"gitId":"-"},"content":" * and {@code branch}."},{"lineNumber":62,"author":{"gitId":"-"},"content":" */"},{"lineNumber":63,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":64,"author":{"gitId":"-"},"content":" protected void processLine(List\u003cAuthorConfiguration\u003e results, CSVRecord record) throws ParseException {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" List\u003cString\u003e locationsWithBranches \u003d getAsListOrDefault(record, LOCATION_HEADER);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" String branch \u003d getOrDefault(record, BRANCH_HEADER, AuthorConfiguration.DEFAULT_BRANCH);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" String gitId \u003d get(record, GIT_ID_HEADERS);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" List\u003cString\u003e emails \u003d getAsList(record, EMAIL_HEADER);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" String displayName \u003d get(record, DISPLAY_NAME_HEADER);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" List\u003cString\u003e aliases \u003d getAsList(record, ALIAS_HEADER);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList \u003d getAsList(record, IGNORE_GLOB_LIST_HEADER);"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" for (String locationWithBranches : locationsWithBranches) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" List\u003cString\u003e parsedLocationWithBranches \u003d AuthorConfigLocationParser"},{"lineNumber":75,"author":{"gitId":"-"},"content":" .parseLocation(locationWithBranches, branch);"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" String currLocation \u003d parsedLocationWithBranches.get(0);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" for (int i \u003d 1; i \u003c parsedLocationWithBranches.size(); i++) {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" String currBranch \u003d parsedLocationWithBranches.get(i);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" registerLocationAndBranch(results, gitId, emails, displayName, aliases,"},{"lineNumber":81,"author":{"gitId":"-"},"content":" ignoreGlobList, currLocation, currBranch);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" }"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":87,"author":{"gitId":"-"},"content":" * Registers an author for a single location and branch with the information"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * provided by each line."},{"lineNumber":89,"author":{"gitId":"-"},"content":" *"},{"lineNumber":90,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} is invalid."},{"lineNumber":91,"author":{"gitId":"-"},"content":" */"},{"lineNumber":92,"author":{"gitId":"-"},"content":" private void registerLocationAndBranch(List\u003cAuthorConfiguration\u003e results, String gitId,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" List\u003cString\u003e emails, String displayName,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" List\u003cString\u003e aliases, List\u003cString\u003e ignoreGlobList,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" String currLocation, String currBranch) throws InvalidLocationException {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d findMatchingAuthorConfiguration(results, currLocation, currBranch);"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" Author author \u003d new Author(gitId);"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" if (config.containsAuthor(author)) {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" logger.warning(String.format("},{"lineNumber":102,"author":{"gitId":"-"},"content":" \"Skipping author as %s already in repository %s %s\","},{"lineNumber":103,"author":{"gitId":"-"},"content":" author.getGitId(), config.getLocation(), config.getBranch()));"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" author.setEmails(new ArrayList\u003c\u003e(emails));"},{"lineNumber":107,"author":{"gitId":"-"},"content":" author.setDisplayName(!displayName.isEmpty() ? displayName : author.getGitId());"},{"lineNumber":108,"author":{"gitId":"-"},"content":" if (!aliases.isEmpty()) {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" author.setAuthorAliases(aliases);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":" if (!ignoreGlobList.isEmpty()) {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(ignoreGlobList);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" config.addAuthor(author);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":119,"author":{"gitId":"-"},"content":" * Gets an existing {@link AuthorConfiguration} from {@code results} if {@code location} and {@code branch} matches."},{"lineNumber":120,"author":{"gitId":"-"},"content":" * Otherwise, adds a newly created {@link AuthorConfiguration} into {@code results} and returns it."},{"lineNumber":121,"author":{"gitId":"-"},"content":" *"},{"lineNumber":122,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} is invalid."},{"lineNumber":123,"author":{"gitId":"-"},"content":" */"},{"lineNumber":124,"author":{"gitId":"-"},"content":" private static AuthorConfiguration findMatchingAuthorConfiguration(List\u003cAuthorConfiguration\u003e results,"},{"lineNumber":125,"author":{"gitId":"-"},"content":" String location, String branch) throws InvalidLocationException {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d new AuthorConfiguration(new RepoLocation(location), branch);"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" for (AuthorConfiguration authorConfig : results) {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" if (authorConfig.getLocation().equals(config.getLocation())"},{"lineNumber":130,"author":{"gitId":"-"},"content":" \u0026\u0026 authorConfig.getBranch().equals(config.getBranch())) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" return authorConfig;"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" results.add(config);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" return config;"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":136}},{"path":"src/main/java/reposense/parser/ConfigurationBuildException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"/**"},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":" * Signals that there was an issue building a Configuration (missing parameters, etc.)."},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"public class ConfigurationBuildException extends RuntimeException {"},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":8}},{"path":"src/main/java/reposense/parser/CsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.BufferedReader;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.FileReader;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.HashSet;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import java.util.StringJoiner;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import java.util.logging.Level;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVFormat;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;"},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;"},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Contains CSV parsing related functionalities."},{"lineNumber":34,"author":{"gitId":"-"},"content":" */"},{"lineNumber":35,"author":{"gitId":"-"},"content":"public abstract class CsvParser\u003cT\u003e {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" protected static final String COLUMN_VALUES_SEPARATOR \u003d \";\";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" protected static final Logger logger \u003d LogsManager.getLogger(CsvParser.class);"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final String EMPTY_STRING \u003d \"\";"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String OVERRIDE_KEYWORD \u003d \"override:\";"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final String MESSAGE_EMPTY_LINE \u003d \"[EMPTY LINE]\";"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNABLE_TO_READ_CSV_FILE \u003d \"Unable to read the supplied CSV file.\";"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MALFORMED_LINE_FORMAT \u003d \"Line %d in CSV file, %s, is malformed.\\n\""},{"lineNumber":44,"author":{"gitId":"-"},"content":" + \"Content: %s\";"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final String MESSAGE_LINE_PARSE_EXCEPTION_FORMAT \u003d \"Error parsing line %d in CSV file, %s.\\n\""},{"lineNumber":46,"author":{"gitId":"-"},"content":" + \"Content: %s\\n\""},{"lineNumber":47,"author":{"gitId":"-"},"content":" + \"Error: %s\";"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String MESSAGE_EMPTY_CSV_FORMAT \u003d \"The CSV file, %s, is empty.\";"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MANDATORY_HEADER_MISSING \u003d \"Required column header, %s, not found in \""},{"lineNumber":50,"author":{"gitId":"-"},"content":" + \"CSV file, %s\";"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final String MESSAGE_DUPLICATE_COLUMN_HEADER \u003d \"Duplicate columns are present in CSV file, %s.\";"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final String MESSAGE_COLUMNS_RECOGNIZED \u003d \"Parsed header of CSV file, %s, and recognized columns: \""},{"lineNumber":53,"author":{"gitId":"-"},"content":" + \"%s\";"},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final String MESSAGE_ZERO_VALID_CONFIGS \u003d \"No valid configurations in the %s.\";"},{"lineNumber":55,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNKNOWN_COLUMN \u003d \"Unknown column(s) found: %s (%s)\";"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" private Path csvFilePath;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" private Map\u003cString, Integer\u003e headerMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private int numOfLinesBeforeFirstRecord \u003d 0;"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Creates {@link CsvParser} with given {@code csvFilepath}."},{"lineNumber":63,"author":{"gitId":"-"},"content":" *"},{"lineNumber":64,"author":{"gitId":"-"},"content":" * @throws FileNotFoundException if the csv file cannot be found in the provided {@code csvFilePath}."},{"lineNumber":65,"author":{"gitId":"-"},"content":" */"},{"lineNumber":66,"author":{"gitId":"-"},"content":" public CsvParser(Path csvFilePath) throws FileNotFoundException {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" if (csvFilePath \u003d\u003d null || !Files.exists(csvFilePath)) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" throw new FileNotFoundException(\"Csv file does not exist at the given path.\\n\""},{"lineNumber":69,"author":{"gitId":"-"},"content":" + \"Use \u0027-help\u0027 to list all the available subcommands and some concept guides.\");"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" this.csvFilePath \u003d csvFilePath;"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Parses the csv file associated with this instance of the {@link CsvParser} and returns a {@link List}"},{"lineNumber":77,"author":{"gitId":"-"},"content":" * containing the records in this file."},{"lineNumber":78,"author":{"gitId":"-"},"content":" *"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * @throws IOException if there are errors accessing the given csv file."},{"lineNumber":80,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if the csv is malformed."},{"lineNumber":81,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if header of csv file cannot be read."},{"lineNumber":82,"author":{"gitId":"-"},"content":" */"},{"lineNumber":83,"author":{"gitId":"-"},"content":" public List\u003cT\u003e parse() throws IOException, InvalidCsvException, InvalidHeaderException {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" List\u003cT\u003e results \u003d new ArrayList\u003c\u003e();"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Iterable\u003cCSVRecord\u003e records;"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" try (BufferedReader csvReader \u003d new BufferedReader(new FileReader(csvFilePath.toFile()))) {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" String[] header \u003d getHeader(csvReader);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" records \u003d CSVFormat.Builder.create(CSVFormat.DEFAULT).setIgnoreEmptyLines(false).setHeader(header)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .setTrim(true).setIgnoreHeaderCase(true).build().parse(csvReader);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" throw new InvalidCsvException("},{"lineNumber":94,"author":{"gitId":"-"},"content":" String.format(MESSAGE_DUPLICATE_COLUMN_HEADER, csvFilePath.getFileName()));"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" for (CSVRecord record : records) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" if (isLineMalformed(record)) {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" processLine(results, record);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" } catch (ParseException pe) {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_LINE_PARSE_EXCEPTION_FORMAT, getLineNumber(record),"},{"lineNumber":105,"author":{"gitId":"-"},"content":" csvFilePath.getFileName(), getRowContentAsRawString(record), pe.getMessage()));"},{"lineNumber":106,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, iae.getMessage(), iae);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" throw new IOException(MESSAGE_UNABLE_TO_READ_CSV_FILE, ioe);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" if (results.isEmpty()) {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" throw new InvalidCsvException(String.format(MESSAGE_ZERO_VALID_CONFIGS, csvFilePath.getFileName()));"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":" return results;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":121,"author":{"gitId":"-"},"content":" * Returns the header of a CSV file, which is assumed to be the first non-empty / non-whitespace line in the file"},{"lineNumber":122,"author":{"gitId":"-"},"content":" * read by {@code reader}."},{"lineNumber":123,"author":{"gitId":"-"},"content":" * The line is split into an array of {@code String}s, using the comma symbol as delimiter."},{"lineNumber":124,"author":{"gitId":"-"},"content":" *"},{"lineNumber":125,"author":{"gitId":"-"},"content":" * @throws IOException if there is an error accessing the file."},{"lineNumber":126,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if the file has only empty or blank lines."},{"lineNumber":127,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if header of csv file cannot be read."},{"lineNumber":128,"author":{"gitId":"-"},"content":" */"},{"lineNumber":129,"author":{"gitId":"-"},"content":" private String[] getHeader(BufferedReader reader) throws IOException, InvalidCsvException, InvalidHeaderException {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" String currentLine \u003d \"\";"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" // read from file until we encounter a line that is neither blank nor empty"},{"lineNumber":133,"author":{"gitId":"-"},"content":" while (currentLine.isEmpty()) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" currentLine \u003d Optional.ofNullable(reader.readLine())"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .map(String::trim)"},{"lineNumber":136,"author":{"gitId":"-"},"content":" .orElseThrow(() -\u003e new InvalidCsvException(String.format("},{"lineNumber":137,"author":{"gitId":"-"},"content":" MESSAGE_EMPTY_CSV_FORMAT, csvFilePath.getFileName())));"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" numOfLinesBeforeFirstRecord++;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":" String[] header \u003d currentLine.split(\",\");"},{"lineNumber":142,"author":{"gitId":"-"},"content":" validateHeader(header);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" return header;"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":147,"author":{"gitId":"-"},"content":" * Returns true if {@code record} does not contain the same number of columns as the header or contains missing"},{"lineNumber":148,"author":{"gitId":"-"},"content":" * values at the mandatory columns in CSV format."},{"lineNumber":149,"author":{"gitId":"-"},"content":" */"},{"lineNumber":150,"author":{"gitId":"-"},"content":" private boolean isLineMalformed(CSVRecord record) {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" if (!record.isConsistent()) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_MALFORMED_LINE_FORMAT, getLineNumber(record),"},{"lineNumber":153,"author":{"gitId":"-"},"content":" csvFilePath.getFileName(), getRowContentAsRawString(record)));"},{"lineNumber":154,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":155,"author":{"gitId":"-"},"content":" }"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" for (String[] equivalentHeaders : mandatoryHeaders()) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" boolean isLineFormatMalformed \u003d"},{"lineNumber":159,"author":{"gitId":"-"},"content":" Arrays.stream(equivalentHeaders).allMatch(header -\u003e get(record, header).isEmpty());"},{"lineNumber":160,"author":{"gitId":"-"},"content":" if (isLineFormatMalformed) {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_MALFORMED_LINE_FORMAT, getLineNumber(record),"},{"lineNumber":162,"author":{"gitId":"-"},"content":" csvFilePath.getFileName(), getRowContentAsRawString(record)));"},{"lineNumber":163,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":171,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column with the header {@code header}."},{"lineNumber":172,"author":{"gitId":"-"},"content":" */"},{"lineNumber":173,"author":{"gitId":"-"},"content":" protected String get(final CSVRecord record, String header) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" return headerMap.containsKey(header) ? record.get(headerMap.get(header)).trim() : EMPTY_STRING;"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":178,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column that match any of the equivalent headers in"},{"lineNumber":179,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders}."},{"lineNumber":180,"author":{"gitId":"-"},"content":" */"},{"lineNumber":181,"author":{"gitId":"-"},"content":" protected String get(final CSVRecord record, String[] equivalentHeaders) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" for (String header : equivalentHeaders) {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" if (headerMap.containsKey(header)) {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" return record.get(headerMap.get(header)).trim();"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" return EMPTY_STRING;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":192,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column that match any of the equivalent headers in"},{"lineNumber":193,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} if present, or returns {@code defaultValue} otherwise."},{"lineNumber":194,"author":{"gitId":"-"},"content":" */"},{"lineNumber":195,"author":{"gitId":"-"},"content":" protected String getOrDefault(final CSVRecord record, String[] equivalentHeaders, String defaultValue) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" String value \u003d get(record, equivalentHeaders);"},{"lineNumber":197,"author":{"gitId":"-"},"content":" return value.isEmpty() ? defaultValue : value;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":201,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column that match any of the equivalent headers in"},{"lineNumber":202,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} as a {@link List} if it is in {@code record} and not empty."},{"lineNumber":203,"author":{"gitId":"-"},"content":" * The column is delimited by {@code COLUMN_VALUES_SEPARATOR}."},{"lineNumber":204,"author":{"gitId":"-"},"content":" * Returns an empty {@link List} otherwise."},{"lineNumber":205,"author":{"gitId":"-"},"content":" */"},{"lineNumber":206,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e getAsList(final CSVRecord record, String[] equivalentHeaders) {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" String value \u003d get(record, equivalentHeaders);"},{"lineNumber":208,"author":{"gitId":"-"},"content":" if (value.isEmpty()) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" return Collections.emptyList();"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" return Arrays.stream(value.split(COLUMN_VALUES_SEPARATOR))"},{"lineNumber":213,"author":{"gitId":"-"},"content":" .map(String::trim)"},{"lineNumber":214,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":218,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at {@code colNum} as a {@code List},"},{"lineNumber":219,"author":{"gitId":"-"},"content":" * delimited by {@code COLUMN_VALUES_SEPARATOR} if it is in {@code record} and not empty, or"},{"lineNumber":220,"author":{"gitId":"-"},"content":" * returns a single element List containing the empty string otherwise."},{"lineNumber":221,"author":{"gitId":"-"},"content":" */"},{"lineNumber":222,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e getAsListOrDefault(final CSVRecord record, String[] equivalentHeaders) {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" List\u003cString\u003e list \u003d getAsList(record, equivalentHeaders);"},{"lineNumber":224,"author":{"gitId":"-"},"content":" return list.isEmpty() ? Collections.singletonList(\"\") : list;"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":228,"author":{"gitId":"-"},"content":" * Returns the values in {@code record} as a list with the {@link CsvParser#OVERRIDE_KEYWORD} prefix removed."},{"lineNumber":229,"author":{"gitId":"-"},"content":" * Returns an empty list if {@code record} at the column that match any of the equivalent headers in"},{"lineNumber":230,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} is empty."},{"lineNumber":231,"author":{"gitId":"-"},"content":" */"},{"lineNumber":232,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e getAsListWithoutOverridePrefix(final CSVRecord record, String[] equivalentHeaders) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" List\u003cString\u003e data \u003d getAsList(record, equivalentHeaders);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" if (isElementOverridingStandaloneConfig(record, equivalentHeaders)) {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" data.set(0, data.get(0).replaceFirst(OVERRIDE_KEYWORD, \"\"));"},{"lineNumber":236,"author":{"gitId":"-"},"content":" data.removeIf(String::isEmpty);"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" return data;"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":" private long getLineNumber(final CSVRecord record) {"},{"lineNumber":243,"author":{"gitId":"-"},"content":" return record.getRecordNumber() + numOfLinesBeforeFirstRecord;"},{"lineNumber":244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * Returns true if the {@code record} at the column that match any of the equivalent headers in"},{"lineNumber":248,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} is prefixed with the override keyword."},{"lineNumber":249,"author":{"gitId":"-"},"content":" */"},{"lineNumber":250,"author":{"gitId":"-"},"content":" protected boolean isElementOverridingStandaloneConfig(final CSVRecord record, String[] equivalentHeaders) {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" return get(record, equivalentHeaders).startsWith(OVERRIDE_KEYWORD);"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":255,"author":{"gitId":"-"},"content":" * Returns the contents of {@code record} as a raw string."},{"lineNumber":256,"author":{"gitId":"-"},"content":" */"},{"lineNumber":257,"author":{"gitId":"-"},"content":" private String getRowContentAsRawString(final CSVRecord record) {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" StringJoiner inputRowString \u003d new StringJoiner(\",\");"},{"lineNumber":259,"author":{"gitId":"-"},"content":" for (String value : record) {"},{"lineNumber":260,"author":{"gitId":"-"},"content":" inputRowString.add(value);"},{"lineNumber":261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":262,"author":{"gitId":"-"},"content":" String contentAsString \u003d inputRowString.toString();"},{"lineNumber":263,"author":{"gitId":"-"},"content":" return (contentAsString.trim().isEmpty()) ? MESSAGE_EMPTY_LINE : contentAsString;"},{"lineNumber":264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":267,"author":{"gitId":"-"},"content":" * Generates map of column header to position number for input {@code possibleHeader}."},{"lineNumber":268,"author":{"gitId":"-"},"content":" *"},{"lineNumber":269,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if {@code possibleHeader} does not contain all the mandatory headers."},{"lineNumber":270,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if a column in {@code possibleHeader} cannot be parsed."},{"lineNumber":271,"author":{"gitId":"-"},"content":" */"},{"lineNumber":272,"author":{"gitId":"-"},"content":" private void validateHeader(String[] possibleHeader) throws InvalidCsvException, InvalidHeaderException {"},{"lineNumber":273,"author":{"gitId":"-"},"content":" int headerSize \u003d possibleHeader.length;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" Set\u003cString\u003e knownColumns \u003d new HashSet\u003c\u003e();"},{"lineNumber":275,"author":{"gitId":"-"},"content":" ArrayList\u003cString\u003e unknownColumns \u003d new ArrayList\u003c\u003e();"},{"lineNumber":276,"author":{"gitId":"-"},"content":" List\u003cString\u003e parsedHeaders \u003d mandatoryAndOptionalHeaders();"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c headerSize; i++) {"},{"lineNumber":279,"author":{"gitId":"-"},"content":" String possible \u003d possibleHeader[i].trim();"},{"lineNumber":280,"author":{"gitId":"-"},"content":" for (String parsedHeader : parsedHeaders) {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" if (possible.equalsIgnoreCase(parsedHeader)) {"},{"lineNumber":282,"author":{"gitId":"-"},"content":" headerMap.put(parsedHeader, i);"},{"lineNumber":283,"author":{"gitId":"-"},"content":" knownColumns.add(possible);"},{"lineNumber":284,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" if (!knownColumns.contains(possible)) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" unknownColumns.add(possible);"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" if (unknownColumns.size() \u003e 0) {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" String errorMessage \u003d String.join(\", \", unknownColumns);"},{"lineNumber":295,"author":{"gitId":"-"},"content":" throw new InvalidHeaderException("},{"lineNumber":296,"author":{"gitId":"-"},"content":" String.format(MESSAGE_UNKNOWN_COLUMN, errorMessage, csvFilePath.toString()));"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" for (String[] equivalentHeaders : mandatoryHeaders()) {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" boolean isAnyEquivalentHeaderPresent \u003d"},{"lineNumber":301,"author":{"gitId":"-"},"content":" Arrays.stream(equivalentHeaders).anyMatch(header -\u003e headerMap.containsKey(header));"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" if (!isAnyEquivalentHeaderPresent) {"},{"lineNumber":304,"author":{"gitId":"-"},"content":" throw new InvalidCsvException(String.format("},{"lineNumber":305,"author":{"gitId":"-"},"content":" MESSAGE_MANDATORY_HEADER_MISSING, Arrays.toString(equivalentHeaders),"},{"lineNumber":306,"author":{"gitId":"-"},"content":" csvFilePath.getFileName()));"},{"lineNumber":307,"author":{"gitId":"-"},"content":" }"},{"lineNumber":308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_COLUMNS_RECOGNIZED, csvFilePath.getFileName(),"},{"lineNumber":311,"author":{"gitId":"-"},"content":" String.join(\", \", headerMap.keySet())));"},{"lineNumber":312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":315,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification."},{"lineNumber":316,"author":{"gitId":"-"},"content":" */"},{"lineNumber":317,"author":{"gitId":"-"},"content":" protected abstract String[][] mandatoryHeaders();"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":320,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed."},{"lineNumber":321,"author":{"gitId":"-"},"content":" */"},{"lineNumber":322,"author":{"gitId":"-"},"content":" protected abstract String[][] optionalHeaders();"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":325,"author":{"gitId":"-"},"content":" * Gets the list of all mandatory and optional headers that can be parsed."},{"lineNumber":326,"author":{"gitId":"-"},"content":" */"},{"lineNumber":327,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e mandatoryAndOptionalHeaders() {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" return Stream.concat(Arrays.stream(mandatoryHeaders()), Arrays.stream(optionalHeaders()))"},{"lineNumber":329,"author":{"gitId":"-"},"content":" .flatMap(Stream::of)"},{"lineNumber":330,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":331,"author":{"gitId":"-"},"content":" }"},{"lineNumber":332,"author":{"gitId":"-"},"content":""},{"lineNumber":333,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":334,"author":{"gitId":"-"},"content":" * Processes the csv file line by line."},{"lineNumber":335,"author":{"gitId":"-"},"content":" * All {@link CsvParser}s must use {@link CsvParser#get}, {@link CsvParser#getOrDefault},"},{"lineNumber":336,"author":{"gitId":"-"},"content":" * {@link CsvParser#getAsList} or {@link CsvParser#getAsListWithoutOverridePrefix} to read contents in"},{"lineNumber":337,"author":{"gitId":"-"},"content":" * {@code record} and add created objects into {@code results}."},{"lineNumber":338,"author":{"gitId":"-"},"content":" *"},{"lineNumber":339,"author":{"gitId":"-"},"content":" * @throws ParseException if any line does not get read successfully."},{"lineNumber":340,"author":{"gitId":"-"},"content":" */"},{"lineNumber":341,"author":{"gitId":"-"},"content":" protected abstract void processLine(List\u003cT\u003e results, final CSVRecord record) throws ParseException;"},{"lineNumber":342,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":3,"-":339}},{"path":"src/main/java/reposense/parser/GroupConfigCsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.model.FileType;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.GroupConfiguration;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Container for the values parsed from {@code group-config.csv} file."},{"lineNumber":16,"author":{"gitId":"-"},"content":" */"},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class GroupConfigCsvParser extends CsvParser\u003cGroupConfiguration\u003e {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" public static final String GROUP_CONFIG_FILENAME \u003d \"group-config.csv\";"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Positions of the elements of a line in group-config.csv config file"},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String[] LOCATION_HEADER \u003d {\"Repository\u0027s Location\"};"},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final String[] GROUP_NAME_HEADER \u003d {\"Group Name\"};"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String[] FILES_GLOB_HEADER \u003d {\"Globs\"};"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" public GroupConfigCsvParser(Path csvFilePath) throws FileNotFoundException {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" super(csvFilePath);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification."},{"lineNumber":33,"author":{"gitId":"-"},"content":" */"},{"lineNumber":34,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":35,"author":{"gitId":"-"},"content":" protected String[][] mandatoryHeaders() {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" return new String[][] {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" GROUP_NAME_HEADER, FILES_GLOB_HEADER,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" };"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":42,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed."},{"lineNumber":43,"author":{"gitId":"-"},"content":" */"},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":45,"author":{"gitId":"-"},"content":" protected String[][] optionalHeaders() {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" return new String[][] {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" LOCATION_HEADER,"},{"lineNumber":48,"author":{"gitId":"-"},"content":" };"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":52,"author":{"gitId":"-"},"content":" * Processes the csv {@code record} line by line and adds created {@link GroupConfiguration} into {@code results}."},{"lineNumber":53,"author":{"gitId":"-"},"content":" */"},{"lineNumber":54,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":55,"author":{"gitId":"-"},"content":" protected void processLine(List\u003cGroupConfiguration\u003e results, CSVRecord record) throws InvalidLocationException {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" String location \u003d get(record, LOCATION_HEADER);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" String groupName \u003d get(record, GROUP_NAME_HEADER);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" List\u003cString\u003e globList \u003d getAsList(record, FILES_GLOB_HEADER);"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" GroupConfiguration groupConfig \u003d null;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" groupConfig \u003d findMatchingGroupConfiguration(results, location);"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" FileType group \u003d new FileType(groupName, globList);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" if (groupConfig.containsGroup(group)) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" logger.warning(String.format("},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"Skipping group as %s has already been specified for the repository %s\","},{"lineNumber":67,"author":{"gitId":"-"},"content":" group.toString(), groupConfig.getLocation()));"},{"lineNumber":68,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" groupConfig.addGroup(group);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":75,"author":{"gitId":"-"},"content":" * Gets an existing {@link GroupConfiguration} from {@code results} if {@code location} matches."},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Otherwise, adds a newly created {@link GroupConfiguration} into {@code results} and returns it."},{"lineNumber":77,"author":{"gitId":"-"},"content":" *"},{"lineNumber":78,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} is invalid."},{"lineNumber":79,"author":{"gitId":"-"},"content":" */"},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static GroupConfiguration findMatchingGroupConfiguration(List\u003cGroupConfiguration\u003e results,"},{"lineNumber":81,"author":{"gitId":"-"},"content":" String location) throws InvalidLocationException {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" GroupConfiguration config \u003d new GroupConfiguration(new RepoLocation(location));"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" for (GroupConfiguration groupConfig : results) {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" if (groupConfig.getLocation().equals(config.getLocation())) {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" return groupConfig;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" results.add(config);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" return config;"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":92}},{"path":"src/main/java/reposense/parser/RepoConfigCsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.FileType;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Container for the values parsed from {@code repo-config.csv} file."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class RepoConfigCsvParser extends CsvParser\u003cRepoConfiguration\u003e {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static final String REPO_CONFIG_FILENAME \u003d \"repo-config.csv\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String IGNORE_STANDALONE_CONFIG_KEYWORD \u003d \"yes\";"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String IGNORE_FILESIZE_LIMIT_KEYWORD \u003d \"yes\";"},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final String SKIP_IGNORED_FILE_ANALYSIS_KEYWORD \u003d \"yes\";"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String SHALLOW_CLONING_CONFIG_KEYWORD \u003d \"yes\";"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String FIND_PREVIOUS_AUTHORS_KEYWORD \u003d \"yes\";"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Positions of the elements of a line in repo-config.csv config file"},{"lineNumber":30,"author":{"gitId":"-"},"content":" */"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String[] LOCATION_HEADER \u003d {\"Repository\u0027s Location\"};"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String[] BRANCH_HEADER \u003d {\"Branch\"};"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final String[] FILE_FORMATS_HEADER \u003d {\"File formats\"};"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_GLOB_LIST_HEADER \u003d {\"Ignore Glob List\"};"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_STANDALONE_CONFIG_HEADER \u003d {\"Ignore Standalone Config\"};"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_FILESIZE_LIMIT_HEADER \u003d {\"Ignore File Size Limit\"};"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_COMMIT_LIST_CONFIG_HEADER \u003d {\"Ignore Commits List\"};"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_AUTHOR_LIST_CONFIG_HEADER \u003d {\"Ignore Authors List\"};"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final String[] SKIP_IGNORED_FILE_ANALYSIS_HEADER \u003d {\"Skip Ignored File Analysis\"};"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String[] SHALLOW_CLONING_CONFIG_HEADER \u003d {\"Shallow Cloning\"};"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final String[] FIND_PREVIOUS_AUTHORS_CONFIG_HEADER \u003d {\"Find Previous Authors\"};"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String[] FILESIZE_LIMIT_HEADER \u003d {\"File Size Limit\"};"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" public RepoConfigCsvParser(Path csvFilePath) throws FileNotFoundException {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" super(csvFilePath);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification."},{"lineNumber":50,"author":{"gitId":"-"},"content":" */"},{"lineNumber":51,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":52,"author":{"gitId":"-"},"content":" protected String[][] mandatoryHeaders() {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" return new String[][] {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" LOCATION_HEADER,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" };"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed."},{"lineNumber":60,"author":{"gitId":"-"},"content":" */"},{"lineNumber":61,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":62,"author":{"gitId":"-"},"content":" protected String[][] optionalHeaders() {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" return new String[][] {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" BRANCH_HEADER, FILE_FORMATS_HEADER, IGNORE_GLOB_LIST_HEADER, IGNORE_STANDALONE_CONFIG_HEADER,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" IGNORE_FILESIZE_LIMIT_HEADER, IGNORE_COMMIT_LIST_CONFIG_HEADER, IGNORE_AUTHOR_LIST_CONFIG_HEADER,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" SHALLOW_CLONING_CONFIG_HEADER, FIND_PREVIOUS_AUTHORS_CONFIG_HEADER, FILESIZE_LIMIT_HEADER,"},{"lineNumber":67,"author":{"gitId":"-"},"content":" SKIP_IGNORED_FILE_ANALYSIS_HEADER"},{"lineNumber":68,"author":{"gitId":"-"},"content":" };"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":72,"author":{"gitId":"-"},"content":" * Processes the csv {@code record} line by line and add created {@link RepoConfiguration} into {@code results} but"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * ignores duplicated {@link RepoConfiguration} if there exists one that has same {@code location} and"},{"lineNumber":74,"author":{"gitId":"-"},"content":" * {@code branch}."},{"lineNumber":75,"author":{"gitId":"-"},"content":" *"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the location represented in {@code record} is invalid."},{"lineNumber":77,"author":{"gitId":"-"},"content":" */"},{"lineNumber":78,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":79,"author":{"gitId":"-"},"content":" protected void processLine(List\u003cRepoConfiguration\u003e results, CSVRecord record) throws InvalidLocationException {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" // The variable expansion is performed to simulate running the same location from command line."},{"lineNumber":81,"author":{"gitId":"-"},"content":" // This helps to support things like tilde expansion and other Bash/CMD features."},{"lineNumber":82,"author":{"gitId":"-"},"content":" RepoLocation location \u003d new RepoLocation(FileUtil.getVariableExpandedFilePath(get(record, LOCATION_HEADER)));"},{"lineNumber":83,"author":{"gitId":"-"},"content":" String branch \u003d getOrDefault(record, BRANCH_HEADER, RepoConfiguration.DEFAULT_BRANCH);"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" boolean isFormatsOverriding \u003d isElementOverridingStandaloneConfig(record, FILE_FORMATS_HEADER);"},{"lineNumber":86,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e formats \u003d FileType.convertFormatStringsToFileTypes("},{"lineNumber":87,"author":{"gitId":"-"},"content":" getAsListWithoutOverridePrefix(record, FILE_FORMATS_HEADER));"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" boolean isIgnoreGlobListOverriding \u003d isElementOverridingStandaloneConfig(record, IGNORE_GLOB_LIST_HEADER);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList \u003d getAsListWithoutOverridePrefix(record, IGNORE_GLOB_LIST_HEADER);"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" boolean isIgnoreCommitListOverriding \u003d"},{"lineNumber":93,"author":{"gitId":"-"},"content":" isElementOverridingStandaloneConfig(record, IGNORE_COMMIT_LIST_CONFIG_HEADER);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e ignoreCommitList \u003d CommitHash.convertStringsToCommits("},{"lineNumber":95,"author":{"gitId":"-"},"content":" getAsListWithoutOverridePrefix(record, IGNORE_COMMIT_LIST_CONFIG_HEADER));"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" boolean isIgnoredAuthorsListOverriding \u003d"},{"lineNumber":98,"author":{"gitId":"-"},"content":" isElementOverridingStandaloneConfig(record, IGNORE_AUTHOR_LIST_CONFIG_HEADER);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoredAuthorsList \u003d getAsListWithoutOverridePrefix(record, IGNORE_AUTHOR_LIST_CONFIG_HEADER);"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" boolean isFileSizeLimitIgnored \u003d matchValueAndKeyword(record, IGNORE_FILESIZE_LIMIT_HEADER,"},{"lineNumber":102,"author":{"gitId":"-"},"content":" IGNORE_FILESIZE_LIMIT_KEYWORD);"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" boolean isIgnoredFileAnalysisSkipped \u003d matchValueAndKeyword(record, SKIP_IGNORED_FILE_ANALYSIS_HEADER,"},{"lineNumber":105,"author":{"gitId":"-"},"content":" SKIP_IGNORED_FILE_ANALYSIS_KEYWORD);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" if (isFileSizeLimitIgnored \u0026\u0026 isIgnoredFileAnalysisSkipped) {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" logger.warning(\"Ignoring skip ignored file analysis column since file size limit is ignored\");"},{"lineNumber":109,"author":{"gitId":"-"},"content":" isIgnoredFileAnalysisSkipped \u003d false;"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" boolean isFileSizeLimitOverriding \u003d isElementOverridingStandaloneConfig(record, FILESIZE_LIMIT_HEADER);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" List\u003cString\u003e fileSizeLimitStringList \u003d getAsListWithoutOverridePrefix(record, FILESIZE_LIMIT_HEADER);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" long fileSizeLimit \u003d RepoConfiguration.DEFAULT_FILE_SIZE_LIMIT;"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" // If file diff limit is specified"},{"lineNumber":117,"author":{"gitId":"-"},"content":" if (fileSizeLimitStringList.size() \u003e 0) {"},{"lineNumber":118,"author":{"gitId":"asdfghjkxd"},"content":" String fileSizeLimitString \u003d fileSizeLimitStringList.get(0).trim();"},{"lineNumber":119,"author":{"gitId":"asdfghjkxd"},"content":" int parseValue;"},{"lineNumber":120,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" if (isFileSizeLimitIgnored) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" logger.warning(\"Ignoring file size limit column since file size limit is ignored\");"},{"lineNumber":123,"author":{"gitId":"-"},"content":" isFileSizeLimitOverriding \u003d false;"},{"lineNumber":124,"author":{"gitId":"asdfghjkxd"},"content":" } else if (!StringsUtil.isNumeric(fileSizeLimitString)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" || (parseValue \u003d Integer.parseInt(fileSizeLimitString)) \u003c\u003d 0) {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"Values in \\\"%s\\\" column should be positive integers.\","},{"lineNumber":127,"author":{"gitId":"-"},"content":" FILESIZE_LIMIT_HEADER[0]));"},{"lineNumber":128,"author":{"gitId":"-"},"content":" isFileSizeLimitOverriding \u003d false;"},{"lineNumber":129,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" fileSizeLimit \u003d parseValue;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" boolean isStandaloneConfigIgnored \u003d matchValueAndKeyword(record, IGNORE_STANDALONE_CONFIG_HEADER,"},{"lineNumber":135,"author":{"gitId":"-"},"content":" IGNORE_STANDALONE_CONFIG_KEYWORD);"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" boolean isShallowCloningPerformed \u003d matchValueAndKeyword(record, SHALLOW_CLONING_CONFIG_HEADER,"},{"lineNumber":138,"author":{"gitId":"-"},"content":" SHALLOW_CLONING_CONFIG_KEYWORD);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" boolean isFindingPreviousAuthorsPerformed \u003d matchValueAndKeyword(record, FIND_PREVIOUS_AUTHORS_CONFIG_HEADER,"},{"lineNumber":141,"author":{"gitId":"-"},"content":" FIND_PREVIOUS_AUTHORS_KEYWORD);"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" addConfig(results, location, branch, isFormatsOverriding, formats, isIgnoreGlobListOverriding, ignoreGlobList,"},{"lineNumber":144,"author":{"gitId":"-"},"content":" isIgnoreCommitListOverriding, ignoreCommitList, isIgnoredAuthorsListOverriding, ignoredAuthorsList,"},{"lineNumber":145,"author":{"gitId":"-"},"content":" isFileSizeLimitIgnored, isIgnoredFileAnalysisSkipped, isFileSizeLimitOverriding, fileSizeLimit,"},{"lineNumber":146,"author":{"gitId":"-"},"content":" isStandaloneConfigIgnored, isShallowCloningPerformed, isFindingPreviousAuthorsPerformed);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":150,"author":{"gitId":"-"},"content":" * Returns true if value from {@code record}, that matches any of the equivalent headers in"},{"lineNumber":151,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders}, is the same as the given {@code keyword}, else false."},{"lineNumber":152,"author":{"gitId":"-"},"content":" */"},{"lineNumber":153,"author":{"gitId":"-"},"content":" private boolean matchValueAndKeyword(CSVRecord record, String[] equivalentHeaders, String keyword) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" String value \u003d get(record, equivalentHeaders);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" boolean isIgnored \u003d value.equalsIgnoreCase(keyword);"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" if (!isIgnored \u0026\u0026 !value.isEmpty()) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"Ignoring unknown value %s in %s column.\", value, keyword.toLowerCase()));"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" return isIgnored;"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":165,"author":{"gitId":"-"},"content":" * Creates a new {@link RepoConfiguration} with the supplied inputs and attempts to add it to {@code results}."},{"lineNumber":166,"author":{"gitId":"-"},"content":" * Does nothing if the repo already exists in {@code results}."},{"lineNumber":167,"author":{"gitId":"-"},"content":" */"},{"lineNumber":168,"author":{"gitId":"-"},"content":" private void addConfig(List\u003cRepoConfiguration\u003e results, RepoLocation location, String branch,"},{"lineNumber":169,"author":{"gitId":"-"},"content":" boolean isFormatsOverriding, List\u003cFileType\u003e formats, boolean isIgnoreGlobListOverriding,"},{"lineNumber":170,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList, boolean isIgnoreCommitListOverriding, List\u003cCommitHash\u003e ignoreCommitList,"},{"lineNumber":171,"author":{"gitId":"-"},"content":" boolean isIgnoredAuthorsListOverriding, List\u003cString\u003e ignoredAuthorsList, boolean isFileSizeLimitIgnored,"},{"lineNumber":172,"author":{"gitId":"-"},"content":" boolean isIgnoredFileAnalysisSkipped, boolean isFileSizeLimitOverriding, long fileSizeLimit,"},{"lineNumber":173,"author":{"gitId":"-"},"content":" boolean isStandaloneConfigIgnored, boolean isShallowCloningPerformed,"},{"lineNumber":174,"author":{"gitId":"-"},"content":" boolean isFindingPreviousAuthorsPerformed) {"},{"lineNumber":175,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration config \u003d new RepoConfiguration.Builder()"},{"lineNumber":176,"author":{"gitId":"asdfghjkxd"},"content":" .location(location)"},{"lineNumber":177,"author":{"gitId":"asdfghjkxd"},"content":" .branch(branch)"},{"lineNumber":178,"author":{"gitId":"asdfghjkxd"},"content":" .fileTypeManager(formats)"},{"lineNumber":179,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreGlobList(ignoreGlobList)"},{"lineNumber":180,"author":{"gitId":"asdfghjkxd"},"content":" .fileSizeLimit(fileSizeLimit)"},{"lineNumber":181,"author":{"gitId":"asdfghjkxd"},"content":" .isStandaloneConfigIgnored(isStandaloneConfigIgnored)"},{"lineNumber":182,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitIgnored(isFileSizeLimitIgnored)"},{"lineNumber":183,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreCommitList(ignoreCommitList)"},{"lineNumber":184,"author":{"gitId":"asdfghjkxd"},"content":" .isFormatsOverriding(isFormatsOverriding)"},{"lineNumber":185,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreGlobListOverriding(isIgnoreGlobListOverriding)"},{"lineNumber":186,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreCommitListOverriding(isIgnoreCommitListOverriding)"},{"lineNumber":187,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitOverriding(isFileSizeLimitOverriding)"},{"lineNumber":188,"author":{"gitId":"asdfghjkxd"},"content":" .isShallowCloningPerformed(isShallowCloningPerformed)"},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" .isFindingPreviousAuthorsPerformed(isFindingPreviousAuthorsPerformed)"},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredFileAnalysisSkipped(isIgnoredFileAnalysisSkipped)"},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" .ignoredAuthorsList(ignoredAuthorsList)"},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredAuthorsListOverriding(isIgnoredAuthorsListOverriding)"},{"lineNumber":193,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" if (results.contains(config)) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" logger.warning(\"Ignoring duplicated repository \" + location + \" \" + branch);"},{"lineNumber":197,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" results.add(config);"},{"lineNumber":201,"author":{"gitId":"-"},"content":" }"},{"lineNumber":202,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":24,"-":178}},{"path":"src/main/java/reposense/parser/exceptions/InvalidCsvException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that there is a major error in a CSV file (e.g. wrong number of columns, zero valid records)."},{"lineNumber":5,"author":{"gitId":"-"},"content":" */"},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class InvalidCsvException extends Exception {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" public InvalidCsvException(String message) {"},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);"},{"lineNumber":9,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/exceptions/InvalidHeaderException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that there is a problem in the header of csv config file."},{"lineNumber":5,"author":{"gitId":"-"},"content":" */"},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class InvalidHeaderException extends Exception {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" public InvalidHeaderException(String message) {"},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);"},{"lineNumber":9,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/exceptions/InvalidLocationException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that location cannot be represented by {@code URL} or {@code Path}."},{"lineNumber":5,"author":{"gitId":"-"},"content":" */"},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class InvalidLocationException extends ParseException {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" public InvalidLocationException(String message) {"},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);"},{"lineNumber":9,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/exceptions/ParseException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that there is an exception when parsing a string."},{"lineNumber":5,"author":{"gitId":"-"},"content":" */"},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class ParseException extends Exception {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" public ParseException(String message) {"},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);"},{"lineNumber":9,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/types/AlphanumericArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Represents an alphanumeric type {@code String} argument."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class AlphanumericArgumentType implements ArgumentType\u003cString\u003e {"},{"lineNumber":14,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_NOT_IN_ALPLANUMERIC \u003d"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"Invalid format. It must be in alphanumeric.\";"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final Pattern ALPHANUMERIC_PATTERN \u003d Pattern.compile(\"[A-Za-z0-9]+\");"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":19,"author":{"gitId":"-"},"content":" public String convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" if (!ALPHANUMERIC_PATTERN.matcher(value).matches()) {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" throw new ArgumentParserException("},{"lineNumber":22,"author":{"gitId":"-"},"content":" String.format(PARSE_EXCEPTION_MESSAGE_NOT_IN_ALPLANUMERIC, value), parser);"},{"lineNumber":23,"author":{"gitId":"-"},"content":" }"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" return value;"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":26}},{"path":"src/main/java/reposense/parser/types/AnalysisThreadsArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":9,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted integer to an {@link Integer} object."},{"lineNumber":10,"author":{"gitId":"-"},"content":" */"},{"lineNumber":11,"author":{"gitId":"-"},"content":"public class AnalysisThreadsArgumentType implements ArgumentType\u003cInteger\u003e {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" public Integer convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" return Integer.parseInt(value);"},{"lineNumber":14,"author":{"gitId":"-"},"content":" }"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":14}},{"path":"src/main/java/reposense/parser/types/AssetsFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --assets} flag."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class AssetsFolderArgumentType implements ArgumentType\u003cPath\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":17,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks"},{"lineNumber":19,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanRead().convert(parser, arg, value);"},{"lineNumber":20,"author":{"gitId":"-"},"content":" return Paths.get(value);"},{"lineNumber":21,"author":{"gitId":"-"},"content":" }"},{"lineNumber":22,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":21}},{"path":"src/main/java/reposense/parser/types/CloningThreadsArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":9,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted integer to an {@link Integer} object."},{"lineNumber":10,"author":{"gitId":"-"},"content":" */"},{"lineNumber":11,"author":{"gitId":"-"},"content":"public class CloningThreadsArgumentType implements ArgumentType\u003cInteger\u003e {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" public Integer convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" return Integer.parseInt(value);"},{"lineNumber":14,"author":{"gitId":"-"},"content":" }"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":14}},{"path":"src/main/java/reposense/parser/types/ConfigFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.RepoConfigCsvParser;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --config} flag."},{"lineNumber":16,"author":{"gitId":"-"},"content":" */"},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class ConfigFolderArgumentType implements ArgumentType\u003cPath\u003e {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_MISSING_REQUIRED_CONFIG_FILES \u003d"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"The required config file %s is not found in the specified folder.\";"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":22,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks"},{"lineNumber":24,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanRead().convert(parser, arg, value);"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" if (Files.exists(Paths.get(value).resolve(RepoConfigCsvParser.REPO_CONFIG_FILENAME))) {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" return Paths.get(value);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(String.format(PARSE_EXCEPTION_MESSAGE_MISSING_REQUIRED_CONFIG_FILES,"},{"lineNumber":31,"author":{"gitId":"-"},"content":" RepoConfigCsvParser.REPO_CONFIG_FILENAME), parser);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":31}},{"path":"src/main/java/reposense/parser/types/DateArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted date to a {@link LocalDateTime} object."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class DateArgumentType implements ArgumentType\u003cOptional\u003cLocalDateTime\u003e\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_INVALID_DATE_STRING_FORMAT \u003d \"Invalid Date: %s\";"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":19,"author":{"gitId":"-"},"content":" public Optional\u003cLocalDateTime\u003e convert(ArgumentParser parser, Argument arg, String value)"},{"lineNumber":20,"author":{"gitId":"-"},"content":" throws ArgumentParserException {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" return Optional.of(TimeUtil.parseDate(value));"},{"lineNumber":23,"author":{"gitId":"-"},"content":" } catch (java.text.ParseException pe) {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" throw new ArgumentParserException("},{"lineNumber":25,"author":{"gitId":"-"},"content":" String.format(PARSE_EXCEPTION_MESSAGE_INVALID_DATE_STRING_FORMAT, value), parser);"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":27}},{"path":"src/main/java/reposense/parser/types/OutputFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.ArgsParser;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --output} flag."},{"lineNumber":15,"author":{"gitId":"-"},"content":" */"},{"lineNumber":16,"author":{"gitId":"-"},"content":"public class OutputFolderArgumentType implements ArgumentType\u003cPath\u003e {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":18,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks"},{"lineNumber":20,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanWrite()"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .or()"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .verifyNotExists().convert(parser, arg, value);"},{"lineNumber":23,"author":{"gitId":"-"},"content":" return Paths.get(value).resolve(ArgsParser.DEFAULT_REPORT_NAME);"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":23}},{"path":"src/main/java/reposense/parser/types/PeriodArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted period to an integer."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class PeriodArgumentType implements ArgumentType\u003cOptional\u003cInteger\u003e\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_NOT_IN_NUMERIC \u003d"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"Invalid format. Period must be in the format of nd (n days) or nw (n weeks), \""},{"lineNumber":18,"author":{"gitId":"-"},"content":" + \"where n is a number greater than 0.\";"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_SMALLER_THAN_ZERO \u003d"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"Invalid format. Period must be greater than 0.\";"},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_NUMBER_TOO_LARGE \u003d"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"Invalid format. Input number may be too large.\";"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final Pattern PERIOD_PATTERN \u003d Pattern.compile(\"[0-9]+[dw]\");"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":26,"author":{"gitId":"-"},"content":" public Optional\u003cInteger\u003e convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" return parse(value);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" } catch (ParseException pe) {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(pe.getMessage(), parser);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" }"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * Parses a {@code period} String and returns an {@link Integer} representing the number of days."},{"lineNumber":36,"author":{"gitId":"-"},"content":" *"},{"lineNumber":37,"author":{"gitId":"-"},"content":" * @throws ParseException if period format or number is invalid."},{"lineNumber":38,"author":{"gitId":"-"},"content":" */"},{"lineNumber":39,"author":{"gitId":"-"},"content":" public static Optional\u003cInteger\u003e parse(String period) throws ParseException {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" if (!PERIOD_PATTERN.matcher(period).matches()) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" throw new ParseException(String.format(PARSE_EXCEPTION_MESSAGE_NOT_IN_NUMERIC, period));"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" int multiplier \u003d period.substring(period.length() - 1).equals(\"d\") ? 1 : 7;"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" int convertedValue \u003d Integer.parseInt(period.substring(0, period.length() - 1)) * multiplier;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" if (convertedValue \u003c\u003d 0) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" throw new ParseException(String.format(PARSE_EXCEPTION_MESSAGE_SMALLER_THAN_ZERO, period));"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" return Optional.of(convertedValue);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" } catch (NumberFormatException e) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" throw new ParseException(String.format(PARSE_EXCEPTION_MESSAGE_NUMBER_TOO_LARGE, period));"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":55}},{"path":"src/main/java/reposense/parser/types/ReportFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --view} flag."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class ReportFolderArgumentType implements ArgumentType\u003cPath\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":17,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks"},{"lineNumber":19,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanRead().convert(parser, arg, value);"},{"lineNumber":20,"author":{"gitId":"-"},"content":" return Paths.get(value);"},{"lineNumber":21,"author":{"gitId":"-"},"content":" }"},{"lineNumber":22,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":21}},{"path":"src/main/java/reposense/parser/types/SinceDateArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted since date to a {@link LocalDateTime} object."},{"lineNumber":16,"author":{"gitId":"-"},"content":" */"},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class SinceDateArgumentType extends DateArgumentType {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * When user specifies \"d1\", arbitrary first commit date will be returned."},{"lineNumber":20,"author":{"gitId":"-"},"content":" * This date is equivalent to 1970-01-01 00:00:00 in UTC time."},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Then, ReportGenerator will replace the arbitrary since date with the earliest commit date."},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":" public static final String FIRST_COMMIT_DATE_SHORTHAND \u003d \"d1\";"},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final ZonedDateTime ARBITRARY_FIRST_COMMIT_DATE_UTC \u003d ZonedDateTime.ofInstant("},{"lineNumber":25,"author":{"gitId":"-"},"content":" Instant.ofEpochMilli(0), ZoneId.of(\"Z\"));"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final LocalDateTime ARBITRARY_FIRST_COMMIT_DATE_LOCAL \u003d ARBITRARY_FIRST_COMMIT_DATE_UTC"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .toLocalDateTime();"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":30,"author":{"gitId":"-"},"content":" * Returns an arbitrary year {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_LOCAL} if user specifies"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND} in {@code value}, or attempts to return the"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * desired date otherwise."},{"lineNumber":33,"author":{"gitId":"-"},"content":" *"},{"lineNumber":34,"author":{"gitId":"-"},"content":" * @throws ArgumentParserException if the given date cannot be parsed."},{"lineNumber":35,"author":{"gitId":"-"},"content":" */"},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"-"},"content":" public Optional\u003cLocalDateTime\u003e convert(ArgumentParser parser, Argument arg, String value)"},{"lineNumber":38,"author":{"gitId":"-"},"content":" throws ArgumentParserException {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" if (FIRST_COMMIT_DATE_SHORTHAND.equals(value)) {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" return Optional.of(ARBITRARY_FIRST_COMMIT_DATE_LOCAL);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":" String sinceDate \u003d TimeUtil.extractDate(value);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" return super.convert(parser, arg, sinceDate + \" 00:00:00\");"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Returns the {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_LOCAL}, which is the"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * {@link LocalDateTime} of {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_UTC}."},{"lineNumber":49,"author":{"gitId":"-"},"content":" */"},{"lineNumber":50,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateLocal() {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return ARBITRARY_FIRST_COMMIT_DATE_LOCAL;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Returns the {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_UTC} adjusted for the time zone based on"},{"lineNumber":56,"author":{"gitId":"-"},"content":" * {@code toZoneId} and converted to a {@link LocalDateTime} object."},{"lineNumber":57,"author":{"gitId":"-"},"content":" */"},{"lineNumber":58,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateConverted(ZoneId toZoneId) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" return ARBITRARY_FIRST_COMMIT_DATE_UTC.withZoneSameInstant(toZoneId).toLocalDateTime();"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":60}},{"path":"src/main/java/reposense/parser/types/UntilDateArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":12,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted until date to a {@link LocalDateTime} object."},{"lineNumber":13,"author":{"gitId":"-"},"content":" */"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class UntilDateArgumentType extends DateArgumentType {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":17,"author":{"gitId":"-"},"content":" public Optional\u003cLocalDateTime\u003e convert(ArgumentParser parser, Argument arg, String value)"},{"lineNumber":18,"author":{"gitId":"-"},"content":" throws ArgumentParserException {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" String untilDate \u003d TimeUtil.extractDate(value);"},{"lineNumber":20,"author":{"gitId":"-"},"content":" return super.convert(parser, arg, untilDate + \" 23:59:59\");"},{"lineNumber":21,"author":{"gitId":"-"},"content":" }"},{"lineNumber":22,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":21}},{"path":"src/main/java/reposense/parser/types/ZoneIdArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.DateTimeException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":12,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted zone id to a {@link ZoneId} object."},{"lineNumber":13,"author":{"gitId":"-"},"content":" */"},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class ZoneIdArgumentType implements ArgumentType\u003cZoneId\u003e {"},{"lineNumber":15,"author":{"gitId":"-"},"content":" private static final String MESSAGE_TIMEZONE_INVALID \u003d"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"The timezone provided is invalid, please use a more widely accepted format. E.g. UTC[±hh[mm]]\";"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":19,"author":{"gitId":"-"},"content":" public ZoneId convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" return ZoneId.of(value);"},{"lineNumber":22,"author":{"gitId":"-"},"content":" } catch (DateTimeException dte) {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(MESSAGE_TIMEZONE_INVALID, parser);"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":25}},{"path":"src/main/java/reposense/report/ReportGenerator.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.report;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.InputStream;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.PrintWriter;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.io.StringWriter;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.Iterator;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import java.util.concurrent.CompletableFuture;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import java.util.concurrent.ExecutorService;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import java.util.concurrent.Executors;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import java.util.function.Supplier;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import java.util.logging.Level;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"import com.google.gson.JsonSyntaxException;"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.RepoSense;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import reposense.authorship.AuthorshipReporter;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import reposense.authorship.model.AuthorshipSummary;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import reposense.commits.CommitsReporter;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import reposense.commits.model.CommitContributionSummary;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import reposense.git.GitBlame;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import reposense.git.GitClone;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import reposense.git.GitRevParse;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import reposense.git.GitShortlog;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import reposense.git.GitShow;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"import reposense.git.exception.GitBranchException;"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import reposense.git.exception.GitCloneException;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":46,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":47,"author":{"gitId":"-"},"content":"import reposense.model.ReportConfiguration;"},{"lineNumber":48,"author":{"gitId":"-"},"content":"import reposense.model.StandaloneConfig;"},{"lineNumber":49,"author":{"gitId":"-"},"content":"import reposense.parser.StandaloneConfigJsonParser;"},{"lineNumber":50,"author":{"gitId":"-"},"content":"import reposense.report.exception.NoAuthorsWithCommitsFoundException;"},{"lineNumber":51,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":53,"author":{"gitId":"-"},"content":"import reposense.util.ProgressTracker;"},{"lineNumber":54,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":57,"author":{"gitId":"-"},"content":" * Contains report generation related functionalities."},{"lineNumber":58,"author":{"gitId":"-"},"content":" */"},{"lineNumber":59,"author":{"gitId":"-"},"content":"public class ReportGenerator {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" private static final String REPOSENSE_CONFIG_FOLDER \u003d \"_reposense\";"},{"lineNumber":61,"author":{"gitId":"-"},"content":" private static final String REPOSENSE_CONFIG_FILE \u003d \"config.json\";"},{"lineNumber":62,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(ReportGenerator.class);"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" // zip file which contains all the report template files"},{"lineNumber":65,"author":{"gitId":"-"},"content":" private static final String TEMPLATE_FILE \u003d \"/templateZip.zip\";"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_CONFIG_JSON \u003d \"%s Ignoring the config provided by %s (%s).\";"},{"lineNumber":68,"author":{"gitId":"-"},"content":" private static final String MESSAGE_ERROR_CREATING_DIRECTORY \u003d"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \"Error has occurred while creating repo directory for %s (%s), will skip this repo.\";"},{"lineNumber":70,"author":{"gitId":"-"},"content":" private static final String MESSAGE_NO_STANDALONE_CONFIG \u003d \"%s (%s) does not contain a standalone config file.\";"},{"lineNumber":71,"author":{"gitId":"-"},"content":" private static final String MESSAGE_IGNORING_STANDALONE_CONFIG \u003d \"Ignoring standalone config file in %s (%s).\";"},{"lineNumber":72,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MALFORMED_STANDALONE_CONFIG \u003d \"%s/%s/%s is malformed for %s (%s).\";"},{"lineNumber":73,"author":{"gitId":"-"},"content":" private static final String MESSAGE_NO_AUTHORS_SPECIFIED \u003d"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \"%s (%s) has no authors specified, using all authors by default.\";"},{"lineNumber":75,"author":{"gitId":"-"},"content":" private static final String MESSAGE_NO_AUTHORS_WITH_COMMITS_FOUND \u003d"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \"No authors found with commits for %s (%s).\";"},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static final String MESSAGE_START_ANALYSIS \u003d \"Analyzing %s (%s)...\";"},{"lineNumber":78,"author":{"gitId":"-"},"content":" private static final String MESSAGE_COMPLETE_ANALYSIS \u003d \"Analysis of %s (%s) completed!\";"},{"lineNumber":79,"author":{"gitId":"-"},"content":" private static final String MESSAGE_REPORT_GENERATED \u003d \"The report is generated at %s\";"},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static final String MESSAGE_BRANCH_DOES_NOT_EXIST \u003d \"Branch %s does not exist in %s! Analysis terminated.\";"},{"lineNumber":81,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MISSING_TEMPLATE \u003d"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \"Unable to find template file. Proceeding to generate report...\";"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" private static final String LOG_ERROR_CLONING \u003d \"Failed to clone from %s\";"},{"lineNumber":85,"author":{"gitId":"-"},"content":" private static final String LOG_ERROR_EXPANDING_COMMIT \u003d \"Cannot expand %s, it shall remain unexpanded\";"},{"lineNumber":86,"author":{"gitId":"-"},"content":" private static final String LOG_BRANCH_DOES_NOT_EXIST \u003d \"Branch \\\"%s\\\" does not exist.\";"},{"lineNumber":87,"author":{"gitId":"-"},"content":" private static final String LOG_ERROR_CLONING_OR_BRANCHING \u003d \"Exception met while cloning or checking out.\";"},{"lineNumber":88,"author":{"gitId":"-"},"content":" private static final String LOG_UNEXPECTED_ERROR \u003d \"Unexpected error stack trace for %s:\\n\u003e%s\";"},{"lineNumber":89,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e assetsFilesWhiteList \u003d"},{"lineNumber":90,"author":{"gitId":"sopa301"},"content":" Collections.unmodifiableList(Arrays.asList(new String[] {\"favicon.ico\", \"title.md\"}));"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" private LocalDateTime earliestSinceDate \u003d null;"},{"lineNumber":93,"author":{"gitId":"-"},"content":" private ProgressTracker progressTracker \u003d null;"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":96,"author":{"gitId":"-"},"content":" * Generates the authorship and commits JSON file for each repo in {@code configs} at {@code outputPath}, as"},{"lineNumber":97,"author":{"gitId":"-"},"content":" * well as the summary JSON file of all the repos."},{"lineNumber":98,"author":{"gitId":"-"},"content":" *"},{"lineNumber":99,"author":{"gitId":"-"},"content":" * @param configs The list of repos to analyze."},{"lineNumber":100,"author":{"gitId":"-"},"content":" * @param outputPath The location at which to save the report."},{"lineNumber":101,"author":{"gitId":"-"},"content":" * @param assetsPath The location at which assets for generating the report are stored."},{"lineNumber":102,"author":{"gitId":"-"},"content":" * @param reportConfig The config for the output report."},{"lineNumber":103,"author":{"gitId":"-"},"content":" * @param generationDate The time at which the report was generated."},{"lineNumber":104,"author":{"gitId":"-"},"content":" * @param cliSinceDate The date-time from which to start analyzing commits."},{"lineNumber":105,"author":{"gitId":"-"},"content":" * @param untilDate The cut-off date-time for analyzing commits."},{"lineNumber":106,"author":{"gitId":"-"},"content":" * @param isSinceDateProvided The boolean variable for whether client provided a sinceDate."},{"lineNumber":107,"author":{"gitId":"-"},"content":" * @param isUntilDateProvided The boolean variable for whether client provided an untilDate."},{"lineNumber":108,"author":{"gitId":"-"},"content":" * @param numCloningThreads The number of threads to use to clone the repos."},{"lineNumber":109,"author":{"gitId":"-"},"content":" * @param numAnalysisThreads The number of threads to use to analyze the repos."},{"lineNumber":110,"author":{"gitId":"-"},"content":" * @param reportGenerationTimeProvider Supplier for time taken to generate the report."},{"lineNumber":111,"author":{"gitId":"-"},"content":" * @param zoneId The timezone to adjust all date-times to."},{"lineNumber":112,"author":{"gitId":"-"},"content":" * @param shouldFreshClone The boolean variable for whether to clone a repo again during tests."},{"lineNumber":113,"author":{"gitId":"-"},"content":" * @return the list of file paths that were generated."},{"lineNumber":114,"author":{"gitId":"-"},"content":" * @throws IOException if templateZip.zip does not exists in jar file."},{"lineNumber":115,"author":{"gitId":"-"},"content":" */"},{"lineNumber":116,"author":{"gitId":"-"},"content":" public List\u003cPath\u003e generateReposReport(List\u003cRepoConfiguration\u003e configs, String outputPath, String assetsPath,"},{"lineNumber":117,"author":{"gitId":"-"},"content":" ReportConfiguration reportConfig, String generationDate, LocalDateTime cliSinceDate,"},{"lineNumber":118,"author":{"gitId":"-"},"content":" LocalDateTime untilDate, boolean isSinceDateProvided, boolean isUntilDateProvided, int numCloningThreads,"},{"lineNumber":119,"author":{"gitId":"-"},"content":" int numAnalysisThreads, Supplier\u003cString\u003e reportGenerationTimeProvider, ZoneId zoneId,"},{"lineNumber":120,"author":{"gitId":"-"},"content":" boolean shouldFreshClone) throws IOException {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" prepareTemplateFile(outputPath);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" if (Files.exists(Paths.get(assetsPath))) {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" FileUtil.copyDirectoryContents(assetsPath, outputPath, assetsFilesWhiteList);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" earliestSinceDate \u003d null;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" progressTracker \u003d new ProgressTracker(configs.size());"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" List\u003cPath\u003e reportFoldersAndFiles \u003d cloneAndAnalyzeRepos(configs, outputPath,"},{"lineNumber":130,"author":{"gitId":"-"},"content":" numCloningThreads, numAnalysisThreads, shouldFreshClone);"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" LocalDateTime reportSinceDate \u003d (TimeUtil.isEqualToArbitraryFirstDateConverted(cliSinceDate, zoneId))"},{"lineNumber":133,"author":{"gitId":"-"},"content":" ? earliestSinceDate : cliSinceDate;"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" Optional\u003cPath\u003e summaryPath \u003d FileUtil.writeJsonFile("},{"lineNumber":136,"author":{"gitId":"-"},"content":" new SummaryJson(configs, reportConfig, generationDate,"},{"lineNumber":137,"author":{"gitId":"-"},"content":" reportSinceDate, untilDate, isSinceDateProvided,"},{"lineNumber":138,"author":{"gitId":"-"},"content":" isUntilDateProvided, RepoSense.getVersion(), ErrorSummary.getInstance().getErrorSet(),"},{"lineNumber":139,"author":{"gitId":"-"},"content":" reportGenerationTimeProvider.get(), zoneId),"},{"lineNumber":140,"author":{"gitId":"-"},"content":" getSummaryResultPath(outputPath));"},{"lineNumber":141,"author":{"gitId":"-"},"content":" summaryPath.ifPresent(reportFoldersAndFiles::add);"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_REPORT_GENERATED, outputPath));"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" return reportFoldersAndFiles;"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":149,"author":{"gitId":"-"},"content":" * Copies the template file to the specified {@code outputPath} for the repo report to be generated."},{"lineNumber":150,"author":{"gitId":"-"},"content":" *"},{"lineNumber":151,"author":{"gitId":"-"},"content":" * @throws IOException if I/O error encountered while copying template file."},{"lineNumber":152,"author":{"gitId":"-"},"content":" */"},{"lineNumber":153,"author":{"gitId":"-"},"content":" private void prepareTemplateFile(String outputPath) throws IOException {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" InputStream is \u003d RepoSense.class.getResourceAsStream(TEMPLATE_FILE);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" if (is !\u003d null) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" FileUtil.copyTemplate(is, outputPath);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" logger.warning(MESSAGE_MISSING_TEMPLATE);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":163,"author":{"gitId":"-"},"content":" * Groups {@link RepoConfiguration} with the same {@link RepoLocation} together so that they are only cloned once."},{"lineNumber":164,"author":{"gitId":"-"},"content":" */"},{"lineNumber":165,"author":{"gitId":"-"},"content":" private Map\u003cRepoLocation, List\u003cRepoConfiguration\u003e\u003e groupConfigsByRepoLocation("},{"lineNumber":166,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" Map\u003cRepoLocation, List\u003cRepoConfiguration\u003e\u003e repoLocationMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":168,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" RepoLocation location \u003d config.getLocation();"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" if (!repoLocationMap.containsKey(location)) {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" repoLocationMap.put(location, new ArrayList\u003c\u003e());"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":" repoLocationMap.get(location).add(config);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":" return repoLocationMap;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":180,"author":{"gitId":"-"},"content":" * Clone, analyze and generate the report for repositories in {@code repoLocationMap}."},{"lineNumber":181,"author":{"gitId":"-"},"content":" * Performs cloning and analysis of each repository in parallel, and generates the report."},{"lineNumber":182,"author":{"gitId":"-"},"content":" * Also removes any configs that failed to clone or analyze from {@code configs}."},{"lineNumber":183,"author":{"gitId":"-"},"content":" * By default, runs in multi-threaded mode with {@code numCloningThreads} threads for cloning"},{"lineNumber":184,"author":{"gitId":"-"},"content":" * and {@code numAnalysisThreads} threads for analysis."},{"lineNumber":185,"author":{"gitId":"-"},"content":" * To turn off multi-threading, run the program with the flags"},{"lineNumber":186,"author":{"gitId":"-"},"content":" * {@code --cloning-threads 1 --analysis-threads 1}."},{"lineNumber":187,"author":{"gitId":"-"},"content":" * For test environments, cloning is skipped if it has been done before and {@code shouldFreshClone} is false."},{"lineNumber":188,"author":{"gitId":"-"},"content":" *"},{"lineNumber":189,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for each repository."},{"lineNumber":190,"author":{"gitId":"-"},"content":" */"},{"lineNumber":191,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e cloneAndAnalyzeRepos(List\u003cRepoConfiguration\u003e configs, String outputPath,"},{"lineNumber":192,"author":{"gitId":"-"},"content":" int numCloningThreads, int numAnalysisThreads, boolean shouldFreshClone) {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" Map\u003cRepoLocation, List\u003cRepoConfiguration\u003e\u003e repoLocationMap \u003d groupConfigsByRepoLocation(configs);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" List\u003cRepoLocation\u003e repoLocationList \u003d new ArrayList\u003c\u003e(repoLocationMap.keySet());"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" // Fixed thread pools are used to limit the number of threads used by cloning and analysis jobs at any one time"},{"lineNumber":197,"author":{"gitId":"-"},"content":" ExecutorService cloneExecutor \u003d Executors.newFixedThreadPool(numCloningThreads);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" ExecutorService analyzeExecutor \u003d Executors.newFixedThreadPool(numAnalysisThreads);"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" List\u003cCompletableFuture\u003cAnalyzeJobOutput\u003e\u003e analyzeJobFutures \u003d new ArrayList\u003c\u003e();"},{"lineNumber":201,"author":{"gitId":"-"},"content":" for (RepoLocation location : repoLocationList) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configsToAnalyze \u003d repoLocationMap.get(location);"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":" // The `CompletableFuture.supplyAsync` method is used to clone the repo in parallel."},{"lineNumber":205,"author":{"gitId":"-"},"content":" // Note that the `cloneExecutor` is passed as a parameter to ensure that the number of threads used"},{"lineNumber":206,"author":{"gitId":"-"},"content":" // for cloning is no more than `numCloningThreads`."},{"lineNumber":207,"author":{"gitId":"-"},"content":" CompletableFuture\u003cCloneJobOutput\u003e cloneFuture \u003d CompletableFuture.supplyAsync(() -\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":" cloneRepo(configsToAnalyze.get(0), location, shouldFreshClone), cloneExecutor);"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":" // The `thenApplyAsync` method is used to analyze the cloned repo in parallel."},{"lineNumber":211,"author":{"gitId":"-"},"content":" // This ensures that the analysis job for each repo will only be run after the repo has been cloned."},{"lineNumber":212,"author":{"gitId":"-"},"content":" // Note that the `analyzeExecutor` is passed as a parameter to ensure that the number of threads used"},{"lineNumber":213,"author":{"gitId":"-"},"content":" // for analysis is no more than `numAnalysisThreads`."},{"lineNumber":214,"author":{"gitId":"-"},"content":" CompletableFuture\u003cAnalyzeJobOutput\u003e analyzeFuture \u003d cloneFuture.thenApplyAsync("},{"lineNumber":215,"author":{"gitId":"-"},"content":" cloneJobOutput -\u003e analyzeRepos(outputPath, configsToAnalyze, cloneJobOutput), analyzeExecutor);"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" analyzeJobFutures.add(analyzeFuture);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" // Next, we collect the list of outputs from all the analyze jobs"},{"lineNumber":221,"author":{"gitId":"-"},"content":" List\u003cAnalyzeJobOutput\u003e jobOutputs \u003d analyzeJobFutures.stream()"},{"lineNumber":222,"author":{"gitId":"-"},"content":" .map(CompletableFuture::join)"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" // Finally, the ExecutorService objects are shut down to prevent memory leaks"},{"lineNumber":226,"author":{"gitId":"-"},"content":" cloneExecutor.shutdown();"},{"lineNumber":227,"author":{"gitId":"-"},"content":" analyzeExecutor.shutdown();"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d jobOutputs"},{"lineNumber":230,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":231,"author":{"gitId":"-"},"content":" .flatMap(jobOutput -\u003e jobOutput.getFiles().stream())"},{"lineNumber":232,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" List\u003cRepoLocation\u003e cloneFailLocations \u003d jobOutputs"},{"lineNumber":235,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":236,"author":{"gitId":"-"},"content":" .filter(jobOutput -\u003e !jobOutput.isCloneSuccessful())"},{"lineNumber":237,"author":{"gitId":"-"},"content":" .map(jobOutput -\u003e jobOutput.getLocation())"},{"lineNumber":238,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":239,"author":{"gitId":"-"},"content":" cloneFailLocations.forEach(location -\u003e handleCloningFailed(configs, location));"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" List\u003cAnalysisErrorInfo\u003e analysisErrors \u003d jobOutputs"},{"lineNumber":242,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":243,"author":{"gitId":"-"},"content":" .flatMap(jobOutput -\u003e jobOutput.getAnalyseErrors().stream())"},{"lineNumber":244,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":245,"author":{"gitId":"-"},"content":" analysisErrors.forEach(errorInfo -\u003e"},{"lineNumber":246,"author":{"gitId":"-"},"content":" handleAnalysisFailed(configs, errorInfo.getFailedConfig(), errorInfo.getErrorMessage()));"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();"},{"lineNumber":249,"author":{"gitId":"-"},"content":" repoCloner.cleanup();"},{"lineNumber":250,"author":{"gitId":"-"},"content":" return generatedFiles;"},{"lineNumber":251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":254,"author":{"gitId":"-"},"content":" * Clones repo specified by {@code config} at {@code location}."},{"lineNumber":255,"author":{"gitId":"-"},"content":" * For test environments, cloning is skipped if it has been done before and {@code shouldFreshClone} is false."},{"lineNumber":256,"author":{"gitId":"-"},"content":" *"},{"lineNumber":257,"author":{"gitId":"-"},"content":" * @return A {@link CloneJobOutput} object comprising the {@code location} of the repo, whether the cloning was"},{"lineNumber":258,"author":{"gitId":"-"},"content":" * successful, and the {@code defaultBranch} of the repo."},{"lineNumber":259,"author":{"gitId":"-"},"content":" */"},{"lineNumber":260,"author":{"gitId":"-"},"content":" private CloneJobOutput cloneRepo(RepoConfiguration config, RepoLocation location, boolean shouldFreshClone) {"},{"lineNumber":261,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();"},{"lineNumber":262,"author":{"gitId":"-"},"content":" repoCloner.cloneBare(config, shouldFreshClone);"},{"lineNumber":263,"author":{"gitId":"-"},"content":" RepoLocation clonedRepoLocation \u003d repoCloner.getClonedRepoLocation();"},{"lineNumber":264,"author":{"gitId":"-"},"content":" if (clonedRepoLocation !\u003d null) {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" String defaultBranch \u003d repoCloner.getCurrentRepoDefaultBranch();"},{"lineNumber":266,"author":{"gitId":"-"},"content":" return new CloneJobOutput(location, defaultBranch);"},{"lineNumber":267,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":268,"author":{"gitId":"-"},"content":" return new CloneJobOutput(location);"},{"lineNumber":269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":273,"author":{"gitId":"-"},"content":" * Analyzes all repos in {@code configsToAnalyze} and generates their report at {@code outputPath}."},{"lineNumber":274,"author":{"gitId":"-"},"content":" * Uses {@code cloneJobOutput} to find repo location, default branch and whether cloning was successful."},{"lineNumber":275,"author":{"gitId":"-"},"content":" *"},{"lineNumber":276,"author":{"gitId":"-"},"content":" * @return An {@link AnalyzeJobOutput} object comprising the {@code location} of the repo, whether the cloning was"},{"lineNumber":277,"author":{"gitId":"-"},"content":" * successful, the list of {@code generatedFiles} by the analysis and a list of {@code analysisErrors} encountered."},{"lineNumber":278,"author":{"gitId":"-"},"content":" */"},{"lineNumber":279,"author":{"gitId":"-"},"content":" private AnalyzeJobOutput analyzeRepos(String outputPath, List\u003cRepoConfiguration\u003e configsToAnalyze,"},{"lineNumber":280,"author":{"gitId":"-"},"content":" CloneJobOutput cloneJobOutput) {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" RepoLocation location \u003d cloneJobOutput.getLocation();"},{"lineNumber":282,"author":{"gitId":"-"},"content":" boolean cloneSuccessful \u003d cloneJobOutput.isCloneSuccessful();"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d new ArrayList\u003c\u003e();"},{"lineNumber":285,"author":{"gitId":"-"},"content":" List\u003cAnalysisErrorInfo\u003e analysisErrors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":286,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();"},{"lineNumber":287,"author":{"gitId":"-"},"content":" if (!cloneSuccessful) {"},{"lineNumber":288,"author":{"gitId":"-"},"content":" repoCloner.cleanupRepo(configsToAnalyze.get(0));"},{"lineNumber":289,"author":{"gitId":"-"},"content":" return new AnalyzeJobOutput(location, cloneSuccessful, generatedFiles, analysisErrors);"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":" Iterator\u003cRepoConfiguration\u003e itr \u003d configsToAnalyze.iterator();"},{"lineNumber":292,"author":{"gitId":"-"},"content":" while (itr.hasNext()) {"},{"lineNumber":293,"author":{"gitId":"-"},"content":" progressTracker.incrementProgress();"},{"lineNumber":294,"author":{"gitId":"-"},"content":" RepoConfiguration configToAnalyze \u003d itr.next();"},{"lineNumber":295,"author":{"gitId":"-"},"content":" configToAnalyze.updateBranch(cloneJobOutput.getDefaultBranch());"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" Path repoReportDirectory \u003d Paths.get(outputPath, configToAnalyze.getOutputFolderName());"},{"lineNumber":298,"author":{"gitId":"-"},"content":" logger.info("},{"lineNumber":299,"author":{"gitId":"-"},"content":" String.format(progressTracker.getProgress() + \" \""},{"lineNumber":300,"author":{"gitId":"-"},"content":" + MESSAGE_START_ANALYSIS, configToAnalyze.getLocation(), configToAnalyze.getBranch()));"},{"lineNumber":301,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":302,"author":{"gitId":"-"},"content":" GitRevParse.assertBranchExists(configToAnalyze, FileUtil.getBareRepoPath(configToAnalyze));"},{"lineNumber":303,"author":{"gitId":"-"},"content":" GitClone.cloneFromBareAndUpdateBranch(Paths.get(\".\"), configToAnalyze);"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":" FileUtil.createDirectory(repoReportDirectory);"},{"lineNumber":306,"author":{"gitId":"-"},"content":" generatedFiles.addAll(analyzeRepo(configToAnalyze, repoReportDirectory.toString()));"},{"lineNumber":307,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {"},{"lineNumber":308,"author":{"gitId":"-"},"content":" String logMessage \u003d String.format(MESSAGE_ERROR_CREATING_DIRECTORY,"},{"lineNumber":309,"author":{"gitId":"-"},"content":" configToAnalyze.getLocation(), configToAnalyze.getBranch());"},{"lineNumber":310,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, logMessage, ioe);"},{"lineNumber":311,"author":{"gitId":"-"},"content":" } catch (GitBranchException gbe) {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" logger.log(Level.SEVERE, String.format(MESSAGE_BRANCH_DOES_NOT_EXIST,"},{"lineNumber":313,"author":{"gitId":"-"},"content":" configToAnalyze.getBranch(), configToAnalyze.getLocation()), gbe);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" analysisErrors.add(new AnalysisErrorInfo(configToAnalyze,"},{"lineNumber":315,"author":{"gitId":"-"},"content":" String.format(LOG_BRANCH_DOES_NOT_EXIST, configToAnalyze.getBranch())));"},{"lineNumber":316,"author":{"gitId":"-"},"content":" } catch (GitCloneException gce) {"},{"lineNumber":317,"author":{"gitId":"-"},"content":" analysisErrors.add(new AnalysisErrorInfo(configToAnalyze, LOG_ERROR_CLONING_OR_BRANCHING));"},{"lineNumber":318,"author":{"gitId":"-"},"content":" } catch (NoAuthorsWithCommitsFoundException nafe) {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_NO_AUTHORS_WITH_COMMITS_FOUND,"},{"lineNumber":320,"author":{"gitId":"-"},"content":" configToAnalyze.getLocation(), configToAnalyze.getBranch()));"},{"lineNumber":321,"author":{"gitId":"-"},"content":" generatedFiles.addAll(generateEmptyRepoReport(repoReportDirectory.toString(),"},{"lineNumber":322,"author":{"gitId":"-"},"content":" Author.NAME_NO_AUTHOR_WITH_COMMITS_FOUND));"},{"lineNumber":323,"author":{"gitId":"-"},"content":" generateEmptyRepoReport(repoReportDirectory.toString(), Author.NAME_NO_AUTHOR_WITH_COMMITS_FOUND);"},{"lineNumber":324,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":325,"author":{"gitId":"-"},"content":" StringWriter sw \u003d new StringWriter();"},{"lineNumber":326,"author":{"gitId":"-"},"content":" e.printStackTrace(new PrintWriter(sw));"},{"lineNumber":327,"author":{"gitId":"-"},"content":" logger.log(Level.SEVERE, sw.toString());"},{"lineNumber":328,"author":{"gitId":"-"},"content":" analysisErrors.add(new AnalysisErrorInfo(configToAnalyze,"},{"lineNumber":329,"author":{"gitId":"-"},"content":" String.format(LOG_UNEXPECTED_ERROR, configToAnalyze.getLocation(), sw.toString())));"},{"lineNumber":330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":331,"author":{"gitId":"-"},"content":" }"},{"lineNumber":332,"author":{"gitId":"-"},"content":" repoCloner.cleanupRepo(configsToAnalyze.get(0));"},{"lineNumber":333,"author":{"gitId":"-"},"content":" return new AnalyzeJobOutput(location, cloneSuccessful, generatedFiles, analysisErrors);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" }"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":337,"author":{"gitId":"-"},"content":" * Analyzes repo specified by {@code config} and generates the report at {@code repoReportDirectory}."},{"lineNumber":338,"author":{"gitId":"-"},"content":" *"},{"lineNumber":339,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for the repo specified by {@code config}."},{"lineNumber":340,"author":{"gitId":"-"},"content":" * @throws NoAuthorsWithCommitsFoundException if there are no authors with commits found for the repo."},{"lineNumber":341,"author":{"gitId":"-"},"content":" */"},{"lineNumber":342,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e analyzeRepo(RepoConfiguration config, String repoReportDirectory)"},{"lineNumber":343,"author":{"gitId":"-"},"content":" throws NoAuthorsWithCommitsFoundException {"},{"lineNumber":344,"author":{"gitId":"-"},"content":" // preprocess the config and repo"},{"lineNumber":345,"author":{"gitId":"-"},"content":" updateRepoConfig(config);"},{"lineNumber":346,"author":{"gitId":"-"},"content":" updateAuthorList(config);"},{"lineNumber":347,"author":{"gitId":"-"},"content":" updateIgnoreCommitList(config);"},{"lineNumber":348,"author":{"gitId":"-"},"content":""},{"lineNumber":349,"author":{"gitId":"-"},"content":" if (config.isFindingPreviousAuthorsPerformed()) {"},{"lineNumber":350,"author":{"gitId":"-"},"content":" generateIgnoreRevsFile(config);"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" AuthorshipReporter authorshipReporter \u003d new AuthorshipReporter();"},{"lineNumber":354,"author":{"gitId":"-"},"content":" AuthorshipSummary authorshipSummary \u003d authorshipReporter.generateAuthorshipSummary(config);"},{"lineNumber":355,"author":{"gitId":"-"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":" CommitsReporter commitsReporter \u003d new CommitsReporter();"},{"lineNumber":357,"author":{"gitId":"-"},"content":" CommitContributionSummary commitSummary \u003d commitsReporter.generateCommitSummary(config);"},{"lineNumber":358,"author":{"gitId":"-"},"content":" earliestSinceDate \u003d commitSummary.getEarliestSinceDate();"},{"lineNumber":359,"author":{"gitId":"-"},"content":""},{"lineNumber":360,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d generateIndividualRepoReport(repoReportDirectory, commitSummary, authorshipSummary);"},{"lineNumber":361,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_COMPLETE_ANALYSIS, config.getLocation(), config.getBranch()));"},{"lineNumber":362,"author":{"gitId":"-"},"content":" return generatedFiles;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" }"},{"lineNumber":364,"author":{"gitId":"-"},"content":""},{"lineNumber":365,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":366,"author":{"gitId":"-"},"content":" * Updates {@code config} with configuration provided by repository if exists."},{"lineNumber":367,"author":{"gitId":"-"},"content":" *"},{"lineNumber":368,"author":{"gitId":"-"},"content":" * @throws AssertionError if there is a problem with the file existence check."},{"lineNumber":369,"author":{"gitId":"-"},"content":" */"},{"lineNumber":370,"author":{"gitId":"-"},"content":" public void updateRepoConfig(RepoConfiguration config) throws AssertionError {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" Path configJsonPath \u003d"},{"lineNumber":372,"author":{"gitId":"-"},"content":" Paths.get(config.getRepoRoot(), REPOSENSE_CONFIG_FOLDER, REPOSENSE_CONFIG_FILE).toAbsolutePath();"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":" if (!Files.exists(configJsonPath)) {"},{"lineNumber":375,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_NO_STANDALONE_CONFIG, config.getLocation(), config.getBranch()));"},{"lineNumber":376,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":377,"author":{"gitId":"-"},"content":" }"},{"lineNumber":378,"author":{"gitId":"-"},"content":""},{"lineNumber":379,"author":{"gitId":"-"},"content":" if (config.isStandaloneConfigIgnored()) {"},{"lineNumber":380,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_IGNORING_STANDALONE_CONFIG, config.getLocation(), config.getBranch()));"},{"lineNumber":381,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":382,"author":{"gitId":"-"},"content":" }"},{"lineNumber":383,"author":{"gitId":"-"},"content":""},{"lineNumber":384,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":385,"author":{"gitId":"-"},"content":" StandaloneConfig standaloneConfig \u003d new StandaloneConfigJsonParser().parse(configJsonPath);"},{"lineNumber":386,"author":{"gitId":"-"},"content":" config.update(standaloneConfig);"},{"lineNumber":387,"author":{"gitId":"-"},"content":" } catch (JsonSyntaxException jse) {"},{"lineNumber":388,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_MALFORMED_STANDALONE_CONFIG, config.getDisplayName(),"},{"lineNumber":389,"author":{"gitId":"-"},"content":" REPOSENSE_CONFIG_FOLDER, REPOSENSE_CONFIG_FILE, config.getLocation(), config.getBranch()));"},{"lineNumber":390,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {"},{"lineNumber":391,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_INVALID_CONFIG_JSON,"},{"lineNumber":392,"author":{"gitId":"-"},"content":" iae.getMessage(), config.getLocation(), config.getBranch()));"},{"lineNumber":393,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {"},{"lineNumber":394,"author":{"gitId":"-"},"content":" throw new AssertionError("},{"lineNumber":395,"author":{"gitId":"-"},"content":" \"This exception should not happen as we have performed the file existence check.\");"},{"lineNumber":396,"author":{"gitId":"-"},"content":" }"},{"lineNumber":397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":398,"author":{"gitId":"-"},"content":""},{"lineNumber":399,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":400,"author":{"gitId":"-"},"content":" * Find and update {@code config} with all the author identities if author list is empty."},{"lineNumber":401,"author":{"gitId":"-"},"content":" * Also removes ignored authors from author list."},{"lineNumber":402,"author":{"gitId":"-"},"content":" *"},{"lineNumber":403,"author":{"gitId":"-"},"content":" * @throws NoAuthorsWithCommitsFoundException if there are no authors with commits found for the repo."},{"lineNumber":404,"author":{"gitId":"-"},"content":" */"},{"lineNumber":405,"author":{"gitId":"-"},"content":" private void updateAuthorList(RepoConfiguration config) throws NoAuthorsWithCommitsFoundException {"},{"lineNumber":406,"author":{"gitId":"-"},"content":" if (config.getAuthorList().isEmpty()) {"},{"lineNumber":407,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_NO_AUTHORS_SPECIFIED, config.getLocation(), config.getBranch()));"},{"lineNumber":408,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e authorList \u003d GitShortlog.getAuthors(config);"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" if (authorList.isEmpty()) {"},{"lineNumber":411,"author":{"gitId":"-"},"content":" throw new NoAuthorsWithCommitsFoundException();"},{"lineNumber":412,"author":{"gitId":"-"},"content":" }"},{"lineNumber":413,"author":{"gitId":"-"},"content":""},{"lineNumber":414,"author":{"gitId":"-"},"content":" config.setAuthorList(authorList);"},{"lineNumber":415,"author":{"gitId":"-"},"content":" }"},{"lineNumber":416,"author":{"gitId":"-"},"content":" config.removeIgnoredAuthors();"},{"lineNumber":417,"author":{"gitId":"-"},"content":" }"},{"lineNumber":418,"author":{"gitId":"-"},"content":""},{"lineNumber":419,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":420,"author":{"gitId":"-"},"content":" * Updates {@code config} with the exact list of commits if commit ranges are provided."},{"lineNumber":421,"author":{"gitId":"-"},"content":" */"},{"lineNumber":422,"author":{"gitId":"-"},"content":" private void updateIgnoreCommitList(RepoConfiguration config) {"},{"lineNumber":423,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e updatedIgnoreCommitList \u003d config.getIgnoreCommitList().stream()"},{"lineNumber":424,"author":{"gitId":"-"},"content":" .flatMap(x -\u003e CommitHash.getHashes(config.getRepoRoot(), config.getBranch(), x))"},{"lineNumber":425,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":426,"author":{"gitId":"-"},"content":" config.setIgnoreCommitList(updatedIgnoreCommitList);"},{"lineNumber":427,"author":{"gitId":"-"},"content":" }"},{"lineNumber":428,"author":{"gitId":"-"},"content":""},{"lineNumber":429,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":430,"author":{"gitId":"-"},"content":" * Adds {@code configs} that were not successfully cloned from {@code failedRepoLocation}"},{"lineNumber":431,"author":{"gitId":"-"},"content":" * into the list of errors in the summary report and removes them from the list of {@code configs}."},{"lineNumber":432,"author":{"gitId":"-"},"content":" */"},{"lineNumber":433,"author":{"gitId":"-"},"content":" private void handleCloningFailed(List\u003cRepoConfiguration\u003e configs, RepoLocation failedRepoLocation) {"},{"lineNumber":434,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e failedConfigs \u003d configs.stream()"},{"lineNumber":435,"author":{"gitId":"-"},"content":" .filter(config -\u003e config.getLocation().equals(failedRepoLocation))"},{"lineNumber":436,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":437,"author":{"gitId":"-"},"content":" handleFailedConfigs(configs, failedConfigs, String.format(LOG_ERROR_CLONING, failedRepoLocation));"},{"lineNumber":438,"author":{"gitId":"-"},"content":" }"},{"lineNumber":439,"author":{"gitId":"-"},"content":""},{"lineNumber":440,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":441,"author":{"gitId":"-"},"content":" * Adds {@code failedConfig} that failed analysis into the list of errors in the summary report along with"},{"lineNumber":442,"author":{"gitId":"-"},"content":" * an {@code errorMessage} and removes {@code failedConfig} from the list of {@code configs}."},{"lineNumber":443,"author":{"gitId":"-"},"content":" */"},{"lineNumber":444,"author":{"gitId":"-"},"content":" private void handleAnalysisFailed(List\u003cRepoConfiguration\u003e configs, RepoConfiguration failedConfig,"},{"lineNumber":445,"author":{"gitId":"-"},"content":" String errorMessage) {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" handleFailedConfigs(configs, Collections.singletonList(failedConfig), errorMessage);"},{"lineNumber":447,"author":{"gitId":"-"},"content":" }"},{"lineNumber":448,"author":{"gitId":"-"},"content":""},{"lineNumber":449,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":450,"author":{"gitId":"-"},"content":" * Adds {@code failedConfigs} that failed cloning/analysis into the list of errors in the summary report along"},{"lineNumber":451,"author":{"gitId":"-"},"content":" * with an {@code errorMessage} and removes {@code failedConfigs} from the list of {@code configs}."},{"lineNumber":452,"author":{"gitId":"-"},"content":" */"},{"lineNumber":453,"author":{"gitId":"-"},"content":" private void handleFailedConfigs(List\u003cRepoConfiguration\u003e configs, List\u003cRepoConfiguration\u003e failedConfigs,"},{"lineNumber":454,"author":{"gitId":"-"},"content":" String errorMessage) {"},{"lineNumber":455,"author":{"gitId":"-"},"content":" Iterator\u003cRepoConfiguration\u003e itr \u003d configs.iterator();"},{"lineNumber":456,"author":{"gitId":"-"},"content":" while (itr.hasNext()) {"},{"lineNumber":457,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d itr.next();"},{"lineNumber":458,"author":{"gitId":"-"},"content":" if (failedConfigs.contains(config)) {"},{"lineNumber":459,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(config.getDisplayName(), errorMessage);"},{"lineNumber":460,"author":{"gitId":"-"},"content":" itr.remove();"},{"lineNumber":461,"author":{"gitId":"-"},"content":" }"},{"lineNumber":462,"author":{"gitId":"-"},"content":" }"},{"lineNumber":463,"author":{"gitId":"-"},"content":" }"},{"lineNumber":464,"author":{"gitId":"-"},"content":""},{"lineNumber":465,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":466,"author":{"gitId":"-"},"content":" * Generates an empty report at the {@code repoReportDirectory}, with the author display name"},{"lineNumber":467,"author":{"gitId":"-"},"content":" * as {@code displayName}."},{"lineNumber":468,"author":{"gitId":"-"},"content":" *"},{"lineNumber":469,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for this empty report."},{"lineNumber":470,"author":{"gitId":"-"},"content":" */"},{"lineNumber":471,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e generateEmptyRepoReport(String repoReportDirectory, String displayName) {"},{"lineNumber":472,"author":{"gitId":"-"},"content":" CommitReportJson emptyCommitReportJson \u003d new CommitReportJson(displayName);"},{"lineNumber":473,"author":{"gitId":"-"},"content":""},{"lineNumber":474,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d new ArrayList\u003c\u003e();"},{"lineNumber":475,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(emptyCommitReportJson, getIndividualCommitsPath(repoReportDirectory))"},{"lineNumber":476,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);"},{"lineNumber":477,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(Collections.emptyList(), getIndividualAuthorshipPath(repoReportDirectory))"},{"lineNumber":478,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);"},{"lineNumber":479,"author":{"gitId":"-"},"content":""},{"lineNumber":480,"author":{"gitId":"-"},"content":" return generatedFiles;"},{"lineNumber":481,"author":{"gitId":"-"},"content":" }"},{"lineNumber":482,"author":{"gitId":"-"},"content":""},{"lineNumber":483,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":484,"author":{"gitId":"-"},"content":" * Generates a report for a single repository at {@code repoReportDirectory} based on {@code commitSummary}"},{"lineNumber":485,"author":{"gitId":"-"},"content":" * and {@code authorshipSummary}."},{"lineNumber":486,"author":{"gitId":"-"},"content":" *"},{"lineNumber":487,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for this report."},{"lineNumber":488,"author":{"gitId":"-"},"content":" */"},{"lineNumber":489,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e generateIndividualRepoReport(String repoReportDirectory,"},{"lineNumber":490,"author":{"gitId":"-"},"content":" CommitContributionSummary commitSummary, AuthorshipSummary authorshipSummary) {"},{"lineNumber":491,"author":{"gitId":"-"},"content":" CommitReportJson commitReportJson \u003d new CommitReportJson(commitSummary, authorshipSummary);"},{"lineNumber":492,"author":{"gitId":"-"},"content":""},{"lineNumber":493,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d new ArrayList\u003c\u003e();"},{"lineNumber":494,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(commitReportJson, getIndividualCommitsPath(repoReportDirectory))"},{"lineNumber":495,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);"},{"lineNumber":496,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(authorshipSummary.getFileResults(), getIndividualAuthorshipPath(repoReportDirectory))"},{"lineNumber":497,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);"},{"lineNumber":498,"author":{"gitId":"-"},"content":" return generatedFiles;"},{"lineNumber":499,"author":{"gitId":"-"},"content":" }"},{"lineNumber":500,"author":{"gitId":"-"},"content":""},{"lineNumber":501,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":502,"author":{"gitId":"-"},"content":" * Creates the .git-blame-ignore-revs file containing the contents of {@code ignoreCommitList}"},{"lineNumber":503,"author":{"gitId":"-"},"content":" * in the repo root directory of {@code config}."},{"lineNumber":504,"author":{"gitId":"-"},"content":" */"},{"lineNumber":505,"author":{"gitId":"-"},"content":" private void generateIgnoreRevsFile(RepoConfiguration config) {"},{"lineNumber":506,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e expandedIgnoreCommitList \u003d config.getIgnoreCommitList().stream()"},{"lineNumber":507,"author":{"gitId":"-"},"content":" .map(CommitHash::toString)"},{"lineNumber":508,"author":{"gitId":"-"},"content":" .map(commitHash -\u003e {"},{"lineNumber":509,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":510,"author":{"gitId":"-"},"content":" return GitShow.getExpandedCommitHash(config.getRepoRoot(), commitHash);"},{"lineNumber":511,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {"},{"lineNumber":512,"author":{"gitId":"-"},"content":" logger.warning(String.format(LOG_ERROR_EXPANDING_COMMIT, commitHash));"},{"lineNumber":513,"author":{"gitId":"-"},"content":" return new CommitHash(commitHash);"},{"lineNumber":514,"author":{"gitId":"-"},"content":" }"},{"lineNumber":515,"author":{"gitId":"-"},"content":" })"},{"lineNumber":516,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":517,"author":{"gitId":"-"},"content":""},{"lineNumber":518,"author":{"gitId":"-"},"content":" config.setIgnoreCommitList(expandedIgnoreCommitList);"},{"lineNumber":519,"author":{"gitId":"-"},"content":" FileUtil.writeIgnoreRevsFile(getIgnoreRevsFilePath(config.getRepoRoot()), config.getIgnoreCommitList());"},{"lineNumber":520,"author":{"gitId":"-"},"content":" }"},{"lineNumber":521,"author":{"gitId":"-"},"content":""},{"lineNumber":522,"author":{"gitId":"-"},"content":" private String getSummaryResultPath(String targetFileLocation) {"},{"lineNumber":523,"author":{"gitId":"-"},"content":" return targetFileLocation + \"/\" + SummaryJson.SUMMARY_JSON_FILE_NAME;"},{"lineNumber":524,"author":{"gitId":"-"},"content":" }"},{"lineNumber":525,"author":{"gitId":"-"},"content":""},{"lineNumber":526,"author":{"gitId":"-"},"content":" private String getIgnoreRevsFilePath(String targetFileLocation) {"},{"lineNumber":527,"author":{"gitId":"-"},"content":" return targetFileLocation + GitBlame.IGNORE_COMMIT_LIST_FILE_NAME;"},{"lineNumber":528,"author":{"gitId":"-"},"content":" }"},{"lineNumber":529,"author":{"gitId":"-"},"content":""},{"lineNumber":530,"author":{"gitId":"-"},"content":" private String getIndividualAuthorshipPath(String repoReportDirectory) {"},{"lineNumber":531,"author":{"gitId":"-"},"content":" return repoReportDirectory + \"/authorship.json\";"},{"lineNumber":532,"author":{"gitId":"-"},"content":" }"},{"lineNumber":533,"author":{"gitId":"-"},"content":""},{"lineNumber":534,"author":{"gitId":"-"},"content":" private String getIndividualCommitsPath(String repoReportDirectory) {"},{"lineNumber":535,"author":{"gitId":"-"},"content":" return repoReportDirectory + \"/commits.json\";"},{"lineNumber":536,"author":{"gitId":"-"},"content":" }"},{"lineNumber":537,"author":{"gitId":"-"},"content":""},{"lineNumber":538,"author":{"gitId":"-"},"content":" public void setEarliestSinceDate(LocalDateTime newEarliestSinceDate) {"},{"lineNumber":539,"author":{"gitId":"-"},"content":" if (earliestSinceDate \u003d\u003d null || newEarliestSinceDate.compareTo(earliestSinceDate) \u003c 0) {"},{"lineNumber":540,"author":{"gitId":"-"},"content":" earliestSinceDate \u003d newEarliestSinceDate;"},{"lineNumber":541,"author":{"gitId":"-"},"content":" }"},{"lineNumber":542,"author":{"gitId":"-"},"content":" }"},{"lineNumber":543,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"sopa301":1,"-":542}},{"path":"src/main/java/reposense/util/StringsUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":6,"author":{"gitId":"-"},"content":" * Contains strings related utilities."},{"lineNumber":7,"author":{"gitId":"-"},"content":" */"},{"lineNumber":8,"author":{"gitId":"-"},"content":"public class StringsUtil {"},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":" public static final Pattern NEWLINE \u003d Pattern.compile(\"\\n\");"},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":" public static final Pattern TAB \u003d Pattern.compile(\"\\t\");"},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":" public static final Pattern NUMERIC \u003d Pattern.compile(\"^\\\\d+$\");"},{"lineNumber":12,"author":{"gitId":"-"},"content":" private static final Pattern SPECIAL_SYMBOLS \u003d Pattern.compile(\"[@;:\u0026/\\\\\\\\!\u003c\u003e{}%#\\\"\\\\-\u003d\u0027()\\\\[\\\\].+*?^$|]\");"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Filters the {@code text}, returning only the lines that matches the given {@code regex}."},{"lineNumber":16,"author":{"gitId":"-"},"content":" */"},{"lineNumber":17,"author":{"gitId":"-"},"content":" public static String filterText(String text, String regex) {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" StringBuilder sb \u003d new StringBuilder();"},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":" Pattern regexPattern \u003d Pattern.compile(regex);"},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":" for (String line: NEWLINE.split(text)) {"},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":" if (regexPattern.matcher(line).matches()) {"},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" sb.append(line).append(\"\\n\");"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" return sb.toString();"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * Converts all special symbol characters inside {@code regexString} to the {@code replacementCharacter}."},{"lineNumber":32,"author":{"gitId":"-"},"content":" */"},{"lineNumber":33,"author":{"gitId":"-"},"content":" public static String replaceSpecialSymbols(String regexString, String replacementCharacter) {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" return SPECIAL_SYMBOLS.matcher(regexString).replaceAll(replacementCharacter);"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Adds quotes to the string."},{"lineNumber":39,"author":{"gitId":"-"},"content":" */"},{"lineNumber":40,"author":{"gitId":"-"},"content":" public static String addQuotes(String original) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" return \"\\\"\" + original + \"\\\"\";"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":45,"author":{"gitId":"-"},"content":" * Adds the appropriate quotation marks for a file path depending on the OS."},{"lineNumber":46,"author":{"gitId":"-"},"content":" */"},{"lineNumber":47,"author":{"gitId":"-"},"content":" public static String addQuotesForFilePath(String filePath) {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" if (SystemUtil.isWindows()) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" return \"\\\"\" + filePath + \"\\\"\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" StringBuilder sb \u003d new StringBuilder();"},{"lineNumber":52,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c filePath.length(); i++) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" char c \u003d filePath.charAt(i);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" if (c \u003d\u003d \u0027\\\u0027\u0027) {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" sb.append(\"\u0027\\\"\u0027\\\"\u0027\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" sb.append(c);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return \u0027\\\u0027\u0027 + sb.toString() + \u0027\\\u0027\u0027;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":" }"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":65,"author":{"gitId":"-"},"content":" * Removes quotes at the start and end of {@code original}, if exists."},{"lineNumber":66,"author":{"gitId":"-"},"content":" */"},{"lineNumber":67,"author":{"gitId":"-"},"content":" public static String removeQuote(String original) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" return (original.startsWith(\"\\\"\") \u0026\u0026 original.endsWith(\"\\\"\"))"},{"lineNumber":69,"author":{"gitId":"-"},"content":" ? original.substring(1, original.length() - 1)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" : original;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":74,"author":{"gitId":"-"},"content":" * Removes trailing backslashes from a {@code string}, if it exists."},{"lineNumber":75,"author":{"gitId":"-"},"content":" */"},{"lineNumber":76,"author":{"gitId":"-"},"content":" public static String removeTrailingBackslash(String string) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" if (string.isEmpty()) {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" return string;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":" int lastCharIndex \u003d string.length() - 1;"},{"lineNumber":81,"author":{"gitId":"-"},"content":" String editedString \u003d string;"},{"lineNumber":82,"author":{"gitId":"-"},"content":" boolean isLastCharBackslash \u003d string.charAt(lastCharIndex) \u003d\u003d \u0027\\\\\u0027;"},{"lineNumber":83,"author":{"gitId":"-"},"content":" while (isLastCharBackslash) {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" editedString \u003d editedString.substring(0, lastCharIndex--);"},{"lineNumber":85,"author":{"gitId":"-"},"content":" boolean isStringEmpty \u003d editedString.length() \u003d\u003d 0;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" isLastCharBackslash \u003d !isStringEmpty \u0026\u0026 editedString.charAt(lastCharIndex) \u003d\u003d \u0027\\\\\u0027;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":" return editedString;"},{"lineNumber":89,"author":{"gitId":"-"},"content":" }"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":92,"author":{"gitId":"-"},"content":" * Returns true iff {@code string} is purely numeric."},{"lineNumber":93,"author":{"gitId":"-"},"content":" */"},{"lineNumber":94,"author":{"gitId":"-"},"content":" public static boolean isNumeric(String string) {"},{"lineNumber":95,"author":{"gitId":"asdfghjkxd"},"content":" return NUMERIC.matcher(string).matches();"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":9,"-":88}},{"path":"src/main/java/reposense/util/TimeUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeParseException;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.format.ResolverStyle;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.regex.Matcher;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Contains time related functionalities."},{"lineNumber":17,"author":{"gitId":"-"},"content":" */"},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class TimeUtil {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static Long startTime;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" private static final String DATE_FORMAT_REGEX \u003d"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"^((0?[1-9]|[12][0-9]|3[01])\\\\/(0?[1-9]|1[012])\\\\/(19|2[0-9])[0-9]{2})\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" // \"uuuu\" is used for year since \"yyyy\" does not work with ResolverStyle.STRICT"},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final DateTimeFormatter CLI_ARGS_DATE_FORMAT \u003d DateTimeFormatter.ofPattern(\"d/M/uuuu HH:mm:ss\");"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String EARLIEST_VALID_DATE \u003d \"1970-01-01T00:00:00\";"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String LATEST_VALID_DATE \u003d \"2099-12-31T23:59:59\";"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_DATE_EARLIER_THAN_EARLIEST_VALID_DATE \u003d"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"Date of %s must not be earlier than \""},{"lineNumber":30,"author":{"gitId":"-"},"content":" + String.format(\"%s, resetting it to earliest valid date\", EARLIEST_VALID_DATE);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNTIL_DATE_LATER_THAN_LATEST_VALID_DATE \u003d"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"Date of %s must not be later than \""},{"lineNumber":33,"author":{"gitId":"-"},"content":" + String.format(\"%s, resetting it to latest valid date\", LATEST_VALID_DATE);"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(TimeUtil.class);"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Sets the {@code startTime} to be the current time."},{"lineNumber":39,"author":{"gitId":"-"},"content":" */"},{"lineNumber":40,"author":{"gitId":"-"},"content":" public static void startTimer() {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" startTime \u003d System.nanoTime();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":45,"author":{"gitId":"-"},"content":" * Returns the formatted elapsed time from {@code startTime} until current time."},{"lineNumber":46,"author":{"gitId":"-"},"content":" */"},{"lineNumber":47,"author":{"gitId":"-"},"content":" public static String getElapsedTime() {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" long endTime \u003d System.nanoTime();"},{"lineNumber":49,"author":{"gitId":"-"},"content":" double elapsedTime \u003d (double) (endTime - startTime) / 1_000_000_000.0;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" int elapsedHours \u003d (int) elapsedTime / 3600;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" int elapsedMinutes \u003d (int) (elapsedTime % 3600) / 60;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" double elapsedSeconds \u003d elapsedTime % 60;"},{"lineNumber":53,"author":{"gitId":"-"},"content":" String formattedElapsedTime \u003d \"\";"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" if (elapsedHours \u003e 0) {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" formattedElapsedTime +\u003d String.format(\" %d hour(s)\", elapsedHours);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" if (elapsedMinutes \u003e 0) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" formattedElapsedTime +\u003d String.format(\" %d minute(s)\", elapsedMinutes);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" formattedElapsedTime +\u003d String.format(\" %.2f second(s)\", elapsedSeconds);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" return formattedElapsedTime;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":68,"author":{"gitId":"-"},"content":" * Returns the formatted elapsed time from {@code startTime} until current time,"},{"lineNumber":69,"author":{"gitId":"-"},"content":" * with an additional explanatory string."},{"lineNumber":70,"author":{"gitId":"-"},"content":" */"},{"lineNumber":71,"author":{"gitId":"-"},"content":" public static String getElapsedTimeMessage() {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" return \"Elapsed processing time:\" + getElapsedTime();"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Returns a valid {@link LocalDateTime} that is set to midnight for the given {@code sinceDate}."},{"lineNumber":77,"author":{"gitId":"-"},"content":" */"},{"lineNumber":78,"author":{"gitId":"-"},"content":" public static LocalDateTime getSinceDate(LocalDateTime sinceDate) {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" return getValidDate(sinceDate).withHour(0).withMinute(0).withSecond(0);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * Returns a valid {@link LocalDateTime} that is set to 23:59:59 for the given {@code untilDate}."},{"lineNumber":84,"author":{"gitId":"-"},"content":" */"},{"lineNumber":85,"author":{"gitId":"-"},"content":" public static LocalDateTime getUntilDate(LocalDateTime untilDate) {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" return getValidDate(untilDate).withHour(23).withMinute(59).withSecond(59);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":90,"author":{"gitId":"-"},"content":" * Returns a valid {@link LocalDateTime} that is within {@value EARLIEST_VALID_DATE} and {@value LATEST_VALID_DATE}."},{"lineNumber":91,"author":{"gitId":"-"},"content":" * Resets {@code date} passed the closest valid date if it exceeds the date range."},{"lineNumber":92,"author":{"gitId":"-"},"content":" */"},{"lineNumber":93,"author":{"gitId":"-"},"content":" public static LocalDateTime getValidDate(LocalDateTime date) {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" if (date.isBefore(LocalDateTime.parse(EARLIEST_VALID_DATE))) {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_SINCE_DATE_EARLIER_THAN_EARLIEST_VALID_DATE, date));"},{"lineNumber":96,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(EARLIEST_VALID_DATE);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" if (date.isAfter(LocalDateTime.parse(LATEST_VALID_DATE))) {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_UNTIL_DATE_LATER_THAN_LATEST_VALID_DATE, date));"},{"lineNumber":101,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(LATEST_VALID_DATE);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return date;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":107,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} that is one month before {@code cliUntilDate} (if present) or one month"},{"lineNumber":108,"author":{"gitId":"-"},"content":" * before report generation date otherwise."},{"lineNumber":109,"author":{"gitId":"-"},"content":" */"},{"lineNumber":110,"author":{"gitId":"-"},"content":" public static LocalDateTime getDateMinusAMonth(LocalDateTime cliUntilDate) {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" return getSinceDate(cliUntilDate.minusMonths(1));"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":115,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} that is {@code numOfDays} before {@code cliUntilDate} (if present) or one month"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * before report generation date otherwise."},{"lineNumber":117,"author":{"gitId":"-"},"content":" */"},{"lineNumber":118,"author":{"gitId":"-"},"content":" public static LocalDateTime getDateMinusNDays(LocalDateTime cliUntilDate, int numOfDays) {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" return getSinceDate(cliUntilDate.minusDays(numOfDays));"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":123,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} that is {@code numOfDays} after {@code cliSinceDate} (if present)."},{"lineNumber":124,"author":{"gitId":"-"},"content":" */"},{"lineNumber":125,"author":{"gitId":"-"},"content":" public static LocalDateTime getDatePlusNDays(LocalDateTime cliSinceDate, int numOfDays) {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" return getUntilDate(cliSinceDate.plusDays(numOfDays));"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":130,"author":{"gitId":"-"},"content":" * Returns current date with time set to 23:59:59. The time zone is adjusted to the given {@code zoneId}."},{"lineNumber":131,"author":{"gitId":"-"},"content":" */"},{"lineNumber":132,"author":{"gitId":"-"},"content":" public static LocalDateTime getCurrentDate(ZoneId zoneId) {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" return LocalDateTime.now(zoneId).withHour(23).withMinute(59).withSecond(59).withNano(0);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":137,"author":{"gitId":"-"},"content":" * Returns the {@link LocalDateTime} of {@code ARBITRARY_FIRST_COMMIT_DATE} in the UTC time zone."},{"lineNumber":138,"author":{"gitId":"-"},"content":" */"},{"lineNumber":139,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateLocal() {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" return SinceDateArgumentType.getArbitraryFirstCommitDateLocal();"},{"lineNumber":141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":144,"author":{"gitId":"-"},"content":" * Returns the {@link LocalDateTime} of {@code ARBITRARY_FIRST_COMMIT_DATE} adjusted for the time zone based on"},{"lineNumber":145,"author":{"gitId":"-"},"content":" * {@code toZoneId}."},{"lineNumber":146,"author":{"gitId":"-"},"content":" */"},{"lineNumber":147,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateConverted(ZoneId toZoneId) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" return SinceDateArgumentType.getArbitraryFirstCommitDateConverted(toZoneId);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":152,"author":{"gitId":"-"},"content":" * Checks whether the given {@code dateTime} is the {@code ARBITRARY_FIRST_COMMIT_DATE} in UTC time."},{"lineNumber":153,"author":{"gitId":"-"},"content":" */"},{"lineNumber":154,"author":{"gitId":"-"},"content":" public static boolean isEqualToArbitraryFirstDateUtc(LocalDateTime dateTime) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" return dateTime.equals(getArbitraryFirstCommitDateLocal());"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":159,"author":{"gitId":"-"},"content":" * Checks whether the given {@code dateTime} is the {@code ARBITRARY_FIRST_COMMIT_DATE} in the time zone given by"},{"lineNumber":160,"author":{"gitId":"-"},"content":" * {@code zoneId}."},{"lineNumber":161,"author":{"gitId":"-"},"content":" */"},{"lineNumber":162,"author":{"gitId":"-"},"content":" public static boolean isEqualToArbitraryFirstDateConverted(LocalDateTime dateTime, ZoneId zoneId) {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" return dateTime.equals(getArbitraryFirstCommitDateConverted(zoneId));"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":167,"author":{"gitId":"-"},"content":" * Extracts the first substring of {@code date} string that matches the {@code DATE_FORMAT_REGEX}."},{"lineNumber":168,"author":{"gitId":"-"},"content":" */"},{"lineNumber":169,"author":{"gitId":"-"},"content":" public static String extractDate(String date) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" Matcher matcher \u003d Pattern.compile(DATE_FORMAT_REGEX).matcher(date);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" String extractedDate \u003d date;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" if (matcher.find()) {"},{"lineNumber":173,"author":{"gitId":"-"},"content":" extractedDate \u003d matcher.group(1);"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":" return extractedDate;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":179,"author":{"gitId":"-"},"content":" * Parses the given {@code date} string as a {@link LocalDateTime} based on the {@code CLI_ARGS_DATE_FORMAT}."},{"lineNumber":180,"author":{"gitId":"-"},"content":" * Uses {@link ResolverStyle#STRICT} to avoid unexpected dates like 31/02/2020."},{"lineNumber":181,"author":{"gitId":"-"},"content":" *"},{"lineNumber":182,"author":{"gitId":"-"},"content":" * @throws java.text.ParseException if date cannot be parsed by the required format."},{"lineNumber":183,"author":{"gitId":"-"},"content":" */"},{"lineNumber":184,"author":{"gitId":"-"},"content":" public static LocalDateTime parseDate(String date) throws java.text.ParseException {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(date, CLI_ARGS_DATE_FORMAT.withResolverStyle(ResolverStyle.STRICT));"},{"lineNumber":187,"author":{"gitId":"-"},"content":" } catch (DateTimeParseException e) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" throw new java.text.ParseException(String.format("},{"lineNumber":189,"author":{"gitId":"-"},"content":" \"Exception message: %s\\n\", e.getMessage()), e.getErrorIndex());"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":191}},{"path":"src/systemtest/java/reposense/ConfigSystemTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.Execution;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.ExecutionMode;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.SupportedDomainUrlMap;"},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.report.ErrorSummary;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.util.SystemTestUtil;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"@Execution(ExecutionMode.SAME_THREAD)"},{"lineNumber":25,"author":{"gitId":"-"},"content":"public class ConfigSystemTest {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e TESTING_FILE_FORMATS \u003d Arrays.asList(\"java\", \"adoc\");"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String TEST_TIME_ZONE \u003d \"Asia/Singapore\";"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String OUTPUT_DIRECTORY \u003d \"ft_temp\";"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final Path REPORT_DIRECTORY_PATH \u003d Paths.get(OUTPUT_DIRECTORY, \"reposense-report\");"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static boolean didNotCloneRepoNormally \u003d true;"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" @BeforeEach"},{"lineNumber":35,"author":{"gitId":"-"},"content":" public void setUp() throws Exception {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" SupportedDomainUrlMap.clearAccessedSet();"},{"lineNumber":37,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);"},{"lineNumber":38,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().clearErrorSet();"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" @AfterEach"},{"lineNumber":42,"author":{"gitId":"-"},"content":" public void tearDown() throws Exception {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * System test with a specified until date and a {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND}"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * since date to capture from the first commit."},{"lineNumber":49,"author":{"gitId":"-"},"content":" */"},{"lineNumber":50,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public void testSinceBeginningDateRange() {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()"},{"lineNumber":53,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .addUntilDate(\"2/3/2019\");"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" runTest(inputBuilder, false,"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/sinceBeginningDateRange/expected\");"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public void test30DaysFromUntilDate() {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder().addUntilDate(\"1/11/2017\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" runTest(inputBuilder, false,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/30daysFromUntilDate/expected\");"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":69,"author":{"gitId":"-"},"content":" * System test with a specified since date and until date, with the last modified date time in each"},{"lineNumber":70,"author":{"gitId":"-"},"content":" * line of code."},{"lineNumber":71,"author":{"gitId":"-"},"content":" */"},{"lineNumber":72,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":73,"author":{"gitId":"-"},"content":" public void testDateRangeWithModifiedDateTimeInLines() {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()"},{"lineNumber":75,"author":{"gitId":"-"},"content":" .addSinceDate(\"1/9/2017\")"},{"lineNumber":76,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/10/2017\")"},{"lineNumber":77,"author":{"gitId":"-"},"content":" .addLastModifiedDateFlags();"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" runTest(inputBuilder, false,"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/dateRangeWithModifiedDateTimeInLines/expected\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":84,"author":{"gitId":"-"},"content":" * System test with a specified until date and a {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND}"},{"lineNumber":85,"author":{"gitId":"-"},"content":" * since date to capture from the first commit, using shallow cloning."},{"lineNumber":86,"author":{"gitId":"-"},"content":" */"},{"lineNumber":87,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":88,"author":{"gitId":"-"},"content":" public void testSinceBeginningDateRangeWithShallowCloning() {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .addUntilDate(\"2/3/2019\")"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .addShallowCloning();"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/sinceBeginningDateRangeWithShallowCloning/expected\");"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":99,"author":{"gitId":"-"},"content":" public void test30DaysFromUntilDateWithShallowCloning() {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .addUntilDate(\"1/11/2017\")"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .addShallowCloning();"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/30daysFromUntilDateWithShallowCloning/expected\");"},{"lineNumber":106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":109,"author":{"gitId":"-"},"content":" * System test with a specified until date and a {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND}"},{"lineNumber":110,"author":{"gitId":"-"},"content":" * since date to capture from the first commit, using find previous authors."},{"lineNumber":111,"author":{"gitId":"-"},"content":" */"},{"lineNumber":112,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":113,"author":{"gitId":"-"},"content":" public void testSinceBeginningDateRangeWithFindPreviousAuthors() {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()"},{"lineNumber":115,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)"},{"lineNumber":116,"author":{"gitId":"-"},"content":" .addUntilDate(\"2/3/2019\")"},{"lineNumber":117,"author":{"gitId":"-"},"content":" .addFindPreviousAuthors();"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/sinceBeginningDateRangeFindPreviousAuthors/expected\");"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":124,"author":{"gitId":"-"},"content":" public void test30DaysFromUntilDateWithFindPreviousAuthors() {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()"},{"lineNumber":126,"author":{"gitId":"-"},"content":" .addUntilDate(\"1/11/2017\")"},{"lineNumber":127,"author":{"gitId":"-"},"content":" .addFindPreviousAuthors();"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,"},{"lineNumber":130,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/30daysFromUntilDateFindPreviousAuthors/expected\");"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":134,"author":{"gitId":"-"},"content":" * Returns a {@link InputBuilder} that is initialized with some default values."},{"lineNumber":135,"author":{"gitId":"-"},"content":" * \u003cbr\u003eConfig Folder Path: {@code ConfigSystemTest}"},{"lineNumber":136,"author":{"gitId":"-"},"content":" * \u003cbr\u003eFormats: {@link ConfigSystemTest#TESTING_FILE_FORMATS TESTING_FILE_FORMATS}"},{"lineNumber":137,"author":{"gitId":"-"},"content":" * \u003cbr\u003eTimezone: {@link ConfigSystemTest#TEST_TIME_ZONE TEST_TIME_ZONE}"},{"lineNumber":138,"author":{"gitId":"-"},"content":" * \u003cbr\u003eOutput Folder Path: {@link ConfigSystemTest#OUTPUT_DIRECTORY OUTPUT_DIRECTORY}"},{"lineNumber":139,"author":{"gitId":"-"},"content":" * \u003cbr\u003eTest Mode: {@code Enabled}"},{"lineNumber":140,"author":{"gitId":"-"},"content":" */"},{"lineNumber":141,"author":{"gitId":"-"},"content":" private InputBuilder initInputBuilder() {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" Path configFolder \u003d loadResource(getClass(), \"ConfigSystemTest\");"},{"lineNumber":143,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", TESTING_FILE_FORMATS);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" return new InputBuilder().addConfig(configFolder)"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":147,"author":{"gitId":"-"},"content":" .addTimezone(TEST_TIME_ZONE)"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .addTestMode()"},{"lineNumber":149,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * Generates the testing report and compares it with the expected report."},{"lineNumber":154,"author":{"gitId":"-"},"content":" * Re-generates a normal report after the testing finished if the first report is shallow-cloned."},{"lineNumber":155,"author":{"gitId":"-"},"content":" *"},{"lineNumber":156,"author":{"gitId":"-"},"content":" * @param inputBuilder The input builder that contains the command line input specified by user."},{"lineNumber":157,"author":{"gitId":"-"},"content":" * @param shouldFreshClone Boolean for whether to clone repo again if it has been cloned before."},{"lineNumber":158,"author":{"gitId":"-"},"content":" * @param pathToResource The location at which files generated during the test are stored."},{"lineNumber":159,"author":{"gitId":"-"},"content":" */"},{"lineNumber":160,"author":{"gitId":"-"},"content":" private void runTest(InputBuilder inputBuilder, boolean shouldFreshClone, String pathToResource) {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" if (shouldFreshClone || didNotCloneRepoNormally) {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" inputBuilder \u003d inputBuilder.addFreshCloning();"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" RepoSense.main(translateCommandline(inputBuilder.build()));"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" Path actualFiles \u003d loadResource(getClass(), pathToResource);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" SystemTestUtil.verifyReportJsonFiles(actualFiles, REPORT_DIRECTORY_PATH);"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" didNotCloneRepoNormally \u003d inputBuilder.isShallowCloning();"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":171}},{"path":"src/systemtest/java/reposense/LocalRepoSystemTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterAll;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.Execution;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.ExecutionMode;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.SupportedDomainUrlMap;"},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.report.ErrorSummary;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.util.SystemTestUtil;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"@Execution(ExecutionMode.SAME_THREAD)"},{"lineNumber":28,"author":{"gitId":"-"},"content":"public class LocalRepoSystemTest {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_ONE_PARENT \u003d \"parent1\";"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_TWO_PARENT \u003d \"parent2\";"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_ONE \u003d \"parent1/test-repo\";"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_TWO \u003d \"parent2/test-repo\";"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String LAST_COMMIT_DATE \u003d \"31/01/2023\";"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String OUTPUT_DIRECTORY \u003d \"local-test\";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String TIME_ZONE \u003d \"UTC+08\";"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path REPORT_DIRECTORY_PATH \u003d Paths.get(OUTPUT_DIRECTORY, \"reposense-report\");"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" @BeforeAll"},{"lineNumber":41,"author":{"gitId":"-"},"content":" public static void setupLocalRepos() throws Exception {"},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":" TestRepoCloner.clone("},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"https://github.com/reposense/testrepo-Alpha\"))"},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" .build(),"},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":" Paths.get(\".\"), LOCAL_DIRECTORY_ONE"},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":" );"},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":" TestRepoCloner.clone("},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":50,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"https://github.com/reposense/testrepo-Alpha\"))"},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":" .build(),"},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":" Paths.get(\".\"), LOCAL_DIRECTORY_TWO"},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" );"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" @BeforeEach"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public void setupLocalTest() throws Exception {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" SupportedDomainUrlMap.clearAccessedSet();"},{"lineNumber":59,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().clearErrorSet();"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" @AfterEach"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public void deleteReportDirectory() throws Exception {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" @AfterAll"},{"lineNumber":69,"author":{"gitId":"-"},"content":" public static void deleteClonedLocalRepos() throws Exception {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(LOCAL_DIRECTORY_ONE_PARENT);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(LOCAL_DIRECTORY_TWO_PARENT);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public void testSameFinalDirectory() {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d new InputBuilder()"},{"lineNumber":77,"author":{"gitId":"-"},"content":" .addRepos(LOCAL_DIRECTORY_ONE, LOCAL_DIRECTORY_TWO)"},{"lineNumber":78,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)"},{"lineNumber":79,"author":{"gitId":"-"},"content":" .addUntilDate(LAST_COMMIT_DATE)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .addOutput(Paths.get(OUTPUT_DIRECTORY))"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .addTimezone(TIME_ZONE);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" runTest(inputBuilder, \"LocalRepoSystemTest/testSameFinalDirectory\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":86,"author":{"gitId":"-"},"content":" public void testRelativePathing() {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" String relativePathForTesting \u003d \"parent1/../parent1/./test-repo\";"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d new InputBuilder()"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .addRepos(relativePathForTesting)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .addUntilDate(LAST_COMMIT_DATE)"},{"lineNumber":93,"author":{"gitId":"-"},"content":" .addOutput(Paths.get(OUTPUT_DIRECTORY))"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .addTimezone(TIME_ZONE);"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" runTest(inputBuilder, \"LocalRepoSystemTest/testRelativePathing\");"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * Runs RepoSense with {@code inputBuilder} and tests it against the expected"},{"lineNumber":101,"author":{"gitId":"-"},"content":" * files in {@code expectedFilesPathString}."},{"lineNumber":102,"author":{"gitId":"-"},"content":" */"},{"lineNumber":103,"author":{"gitId":"-"},"content":" private void runTest(InputBuilder inputBuilder, String expectedFilesPathString) {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" RepoSense.main(translateCommandline(inputBuilder.build()));"},{"lineNumber":105,"author":{"gitId":"-"},"content":" Path expectedFilesPath \u003d loadResource(getClass(), expectedFilesPathString);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" SystemTestUtil.verifyReportJsonFiles(expectedFilesPath, REPORT_DIRECTORY_PATH);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":13,"-":95}},{"path":"src/systemtest/java/reposense/util/SystemTestUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileReader;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import com.google.gson.JsonElement;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import com.google.gson.JsonObject;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import com.google.gson.JsonParser;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains utility methods for system tests."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class SystemTestUtil {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String[] JSON_FIELDS_TO_IGNORE \u003d new String[]"},{"lineNumber":22,"author":{"gitId":"-"},"content":" {\"repoSenseVersion\", \"reportGeneratedTime\", \"reportGenerationTime\"};"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Verifies that all JSON files in the {@code actualDirectory} matches those at the {@code expectedDirectory}."},{"lineNumber":26,"author":{"gitId":"-"},"content":" */"},{"lineNumber":27,"author":{"gitId":"-"},"content":" public static void verifyReportJsonFiles(Path expectedDirectory, Path actualDirectory) {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" try (Stream\u003cPath\u003e pathStream \u003d Files.list(expectedDirectory)) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" for (Path file : pathStream.collect(Collectors.toList())) {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" Path expectedFilePath \u003d expectedDirectory.resolve(file.getFileName());"},{"lineNumber":31,"author":{"gitId":"-"},"content":" Path actualFilePath \u003d actualDirectory.resolve(file.getFileName());"},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (Files.isDirectory(file)) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" verifyReportJsonFiles(expectedFilePath, actualFilePath);"},{"lineNumber":34,"author":{"gitId":"-"},"content":" } else if (file.toString().endsWith(\".json\")) {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" if (file.getFileName().toString().equals(\"summary.json\")) {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" assertSummaryJson(expectedFilePath, actualFilePath);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" assertJson(expectedFilePath, actualFilePath);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" ioe.printStackTrace();"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" public static void assertSummaryJson(Path expectedSummaryJsonPath, Path actualSummaryJsonPath)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" throws IOException {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" try (FileReader fileReaderExpected \u003d new FileReader(expectedSummaryJsonPath.toFile());"},{"lineNumber":50,"author":{"gitId":"-"},"content":" FileReader fileReaderActual \u003d new FileReader(actualSummaryJsonPath.toFile())) {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" JsonObject jsonExpected \u003d JsonParser.parseReader(fileReaderExpected).getAsJsonObject();"},{"lineNumber":52,"author":{"gitId":"-"},"content":" JsonObject jsonActual \u003d JsonParser.parseReader(fileReaderActual).getAsJsonObject();"},{"lineNumber":53,"author":{"gitId":"-"},"content":" for (String ignoredKey : JSON_FIELDS_TO_IGNORE) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" jsonExpected.remove(ignoredKey);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" jsonActual.remove(ignoredKey);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":" Assertions.assertEquals(jsonExpected, jsonActual);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Asserts that the contents in the given JSON file at {@code actualJsonPath} is the same as the JSON file"},{"lineNumber":63,"author":{"gitId":"-"},"content":" * at {@code expectedJsonPath}."},{"lineNumber":64,"author":{"gitId":"-"},"content":" */"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static void assertJson(Path expectedJsonPath, Path actualJsonPath) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.exists(actualJsonPath));"},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":" try (FileReader fileReaderExpected \u003d new FileReader(expectedJsonPath.toFile());"},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":" FileReader fileReaderActual \u003d new FileReader(actualJsonPath.toFile())) {"},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":71,"author":{"gitId":"asdfghjkxd"},"content":" JsonElement jsonExpected \u003d JsonParser.parseReader(fileReaderExpected);"},{"lineNumber":72,"author":{"gitId":"asdfghjkxd"},"content":" JsonElement jsonActual \u003d JsonParser.parseReader(fileReaderActual);"},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(jsonExpected, jsonActual);"},{"lineNumber":75,"author":{"gitId":"asdfghjkxd"},"content":" } catch (IOException ex) {"},{"lineNumber":76,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.fail(ex.getMessage());"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":11,"-":68}},{"path":"src/test/java/reposense/git/GitBranchTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.template.GitTestTemplate;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class GitBranchTest extends GitTestTemplate {"},{"lineNumber":15,"author":{"gitId":"-"},"content":" protected static final String TEST_REPO_UNCOMMON_DEFAULT_GIT_LOCATION \u003d"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"https://github.com/reposense/testrepo-UncommonDefaultBranch.git\";"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" private RepoConfiguration config;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" @BeforeEach"},{"lineNumber":21,"author":{"gitId":"-"},"content":" public void before() throws Exception {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" super.before();"},{"lineNumber":23,"author":{"gitId":"-"},"content":" config \u003d configs.get();"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":27,"author":{"gitId":"-"},"content":" public void getCurrentBranch_masterBranch_success() throws Exception {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" String currentBranch \u003d GitBranch.getCurrentBranch(config.getRepoRoot());"},{"lineNumber":29,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"master\", currentBranch);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":33,"author":{"gitId":"-"},"content":" public void getCurrentBranch_uncommonDefaultBranch_success() throws Exception {"},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration uncommonDefaultConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_UNCOMMON_DEFAULT_GIT_LOCATION))"},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" .branch(RepoConfiguration.DEFAULT_BRANCH)"},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":38,"author":{"gitId":"-"},"content":" uncommonDefaultConfig.setFormats(FileTypeTest.DEFAULT_TEST_FORMATS);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(uncommonDefaultConfig);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" String currentBranch \u003d GitBranch.getCurrentBranch(uncommonDefaultConfig.getRepoRoot());"},{"lineNumber":41,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"uncommon\", currentBranch);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":4,"-":39}},{"path":"src/test/java/reposense/model/RepoConfigurationTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.lang.reflect.Method;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import java.time.LocalDateTime;"},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import java.time.ZoneId;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.parser.ArgsParser;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.parser.AuthorConfigCsvParser;"},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.ConfigurationBuildException;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.parser.GroupConfigCsvParser;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.parser.RepoConfigCsvParser;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.report.ReportGenerator;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"public class RepoConfigurationTest {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final Path IGNORE_STANDALONE_TEST_CONFIG_FILES \u003d"},{"lineNumber":31,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class, \"RepoConfigurationTest/repoconfig_ignoreStandAlone_test\");"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final Path IGNORE_STANDALONE_KEYWORD_TEST_CONFIG_FILES \u003d"},{"lineNumber":33,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class, \"RepoConfigurationTest/repoconfig_ignoreStandAloneKeyword_test\");"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final Path FORMATS_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_formats_test\");"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Path WITHOUT_FORMATS_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_withoutformats_test\");"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path GROUPS_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_groups_test\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path OVERRIDE_STANDALONE_TEST_CONFIG_FILE \u003d loadResource(RepoConfigurationTest.class,"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_overrideStandAlone_test\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final Path IGNORE_AUTHORS_TEST_CONFIG_FILE \u003d loadResource(RepoConfigurationTest.class,"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreAuthors_test\");"},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path IGNORE_STANDALONE_FLAG_OVERRIDE_CSV_TEST \u003d loadResource(RepoConfigurationTest.class,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreStandaloneOverrideCsv_test\");"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final Path IGNORE_FILESIZE_LIMIT_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreFileSizeLimit_test\");"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final Path IGNORE_FILESIZE_LIMIT_OVERRIDE_CSV_TEST_CONFIG_FILES \u003d"},{"lineNumber":49,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreFileSizeLimitOverrideCsv_test\");"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final Path SHALLOW_CLONING_TEST_CONFIG_FILES \u003d"},{"lineNumber":52,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class, \"RepoConfigurationTest/repoconfig_shallowCloning_test\");"},{"lineNumber":53,"author":{"gitId":"-"},"content":" private static final Path SHALLOW_CLONING_FLAG_OVERRIDE_TEST_CONFIG_FILES \u003d"},{"lineNumber":54,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_shallowCloningOverrideCsv_test\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final Path FIND_PREVIOUS_AUTHORS_TEST_CONFIG_FILES \u003d"},{"lineNumber":57,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_findPreviousAuthors_test\");"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final Path FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES \u003d"},{"lineNumber":60,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_findPreviousAuthorsOverrideCsv_test\");"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA \u003d \"https://github.com/reposense/testrepo-Beta.git\";"},{"lineNumber":64,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA \u003d \"https://github.com/reposense/testrepo-Delta.git\";"},{"lineNumber":65,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_MINIMAL_STANDALONE_CONFIG \u003d"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"https://github.com/reposense/testrepo-minimalstandaloneconfig.git\";"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" private static final Author FIRST_AUTHOR \u003d new Author(\"lithiumlkid\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" private static final Author SECOND_AUTHOR \u003d new Author(\"codeeong\");"},{"lineNumber":70,"author":{"gitId":"-"},"content":" private static final Author THIRD_AUTHOR \u003d new Author(\"jordancjq\");"},{"lineNumber":71,"author":{"gitId":"-"},"content":" private static final Author FOURTH_AUTHOR \u003d new Author(\"lohtianwei\");"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_ALIASES \u003d Collections.singletonList(\"Ahmad Syafiq\");"},{"lineNumber":74,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_ALIASES \u003d Collections.emptyList();"},{"lineNumber":75,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e THIRD_AUTHOR_ALIASES \u003d Collections.singletonList(\"Jordan Chong\");"},{"lineNumber":76,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FOURTH_AUTHOR_ALIASES \u003d Collections.singletonList(\"Tianwei\");"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e REPO_LEVEL_GLOB_LIST \u003d Collections.singletonList(\"collated**\");"},{"lineNumber":79,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_GLOB_LIST \u003d"},{"lineNumber":80,"author":{"gitId":"-"},"content":" Arrays.asList(\"*.aa1\", \"**.aa2\", \"**.java\", \"collated**\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"\", \"collated**\");"},{"lineNumber":82,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e THIRD_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"**[!(.md)]\", \"collated**\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FOURTH_AUTHOR_GLOB_LIST \u003d Collections.singletonList(\"collated**\");"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e CONFIG_FORMATS \u003d FileType.convertFormatStringsToFileTypes(Arrays.asList("},{"lineNumber":86,"author":{"gitId":"-"},"content":" \"java\", \"adoc\", \"md\"));"},{"lineNumber":87,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e FIRST_CONFIG_GROUPS \u003d Arrays.asList("},{"lineNumber":88,"author":{"gitId":"-"},"content":" new FileType(\"test\", Collections.singletonList(\"src/test**\")),"},{"lineNumber":89,"author":{"gitId":"-"},"content":" new FileType(\"code\", Collections.singletonList(\"**.java\")),"},{"lineNumber":90,"author":{"gitId":"-"},"content":" new FileType(\"docs\", Collections.singletonList(\"docs**\")));"},{"lineNumber":91,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e SECOND_CONFIG_GROUPS \u003d Arrays.asList("},{"lineNumber":92,"author":{"gitId":"-"},"content":" new FileType(\"docs\", Collections.singletonList(\"docs**\")));"},{"lineNumber":93,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e CLI_FORMATS \u003d Arrays.asList(\"css\", \"html\");"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" private static RepoConfiguration repoDeltaStandaloneConfig;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" private ReportGenerator reportGenerator \u003d new ReportGenerator();"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" @BeforeAll"},{"lineNumber":99,"author":{"gitId":"-"},"content":" public static void setUp() throws Exception {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setAuthorAliases(FIRST_AUTHOR_ALIASES);"},{"lineNumber":101,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setAuthorAliases(SECOND_AUTHOR_ALIASES);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" THIRD_AUTHOR.setAuthorAliases(THIRD_AUTHOR_ALIASES);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" FOURTH_AUTHOR.setAuthorAliases(FOURTH_AUTHOR_ALIASES);"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setIgnoreGlobList(FIRST_AUTHOR_GLOB_LIST);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setIgnoreGlobList(SECOND_AUTHOR_GLOB_LIST);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" THIRD_AUTHOR.setIgnoreGlobList(THIRD_AUTHOR_GLOB_LIST);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" FOURTH_AUTHOR.setIgnoreGlobList(FOURTH_AUTHOR_GLOB_LIST);"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":111,"author":{"gitId":"-"},"content":" expectedAuthors.add(FIRST_AUTHOR);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" expectedAuthors.add(SECOND_AUTHOR);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" expectedAuthors.add(THIRD_AUTHOR);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" expectedAuthors.add(FOURTH_AUTHOR);"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":" repoDeltaStandaloneConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":117,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":118,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":119,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":120,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorList(expectedAuthors);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.addAuthorNamesToAuthorMapEntry(FIRST_AUTHOR, FIRST_AUTHOR_ALIASES);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.addAuthorNamesToAuthorMapEntry(FOURTH_AUTHOR, FOURTH_AUTHOR_ALIASES);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(FIRST_AUTHOR, \"Ahm\");"},{"lineNumber":124,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(SECOND_AUTHOR, \"Cod\");"},{"lineNumber":125,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(THIRD_AUTHOR, \"Jor\");"},{"lineNumber":126,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(FOURTH_AUTHOR, \"Loh\");"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setEmails(Arrays.asList(\"codeeong@gmail.com\", \"33129797+codeeong@users.noreply.github.com\"));"},{"lineNumber":129,"author":{"gitId":"-"},"content":" for (Author author : expectedAuthors) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.addAuthorEmailsToAuthorMapEntry(author, author.getEmails());"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setFormats(CONFIG_FORMATS);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":138,"author":{"gitId":"-"},"content":" public void repoConfig_usesStandaloneConfig_success() throws Exception {"},{"lineNumber":139,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":140,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":143,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaStandaloneConfig, actualConfig);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":150,"author":{"gitId":"-"},"content":" public void repoConfig_ignoresStandaloneConfig_success() throws Exception {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":152,"author":{"gitId":"-"},"content":" Author author \u003d new Author(FIRST_AUTHOR);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" expectedAuthors.add(author);"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":157,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":158,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":159,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":160,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthors);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" expectedConfig.addAuthorNamesToAuthorMapEntry(author, FIRST_AUTHOR_ALIASES);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorDisplayName(author, \"Ahm\");"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_TEST_CONFIG_FILES)"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":171,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":172,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":175,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":176,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d"},{"lineNumber":177,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();"},{"lineNumber":178,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":188,"author":{"gitId":"-"},"content":" public void repoConfig_ignoresStandaloneConfigInCli_success() throws Exception {"},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":193,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":194,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":197,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_DELTA)"},{"lineNumber":198,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":199,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()"},{"lineNumber":200,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":201,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d RunConfigurationDecider"},{"lineNumber":204,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)"},{"lineNumber":205,"author":{"gitId":"-"},"content":" .getRepoConfigurations();"},{"lineNumber":206,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());"},{"lineNumber":207,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs,"},{"lineNumber":208,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());"},{"lineNumber":209,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":210,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":217,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreStandaloneConfigInCli_overrideCsv() throws Exception {"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":220,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":221,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":223,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":224,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":225,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":226,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":227,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":228,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":229,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_FLAG_OVERRIDE_CSV_TEST)"},{"lineNumber":232,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()"},{"lineNumber":233,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":234,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":235,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":236,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":237,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs,"},{"lineNumber":238,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":241,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":243,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":244,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":245,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":246,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":247,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);"},{"lineNumber":248,"author":{"gitId":"-"},"content":" }"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":251,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreFileSizeLimit_success() throws Exception {"},{"lineNumber":252,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":253,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":254,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":255,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":256,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":257,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);"},{"lineNumber":258,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":259,"author":{"gitId":"-"},"content":" expectedConfig.setFileSizeLimitIgnored(true);"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":262,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_FILESIZE_LIMIT_TEST_CONFIG_FILES)"},{"lineNumber":263,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":264,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":265,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":268,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":269,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":272,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":276,"author":{"gitId":"-"},"content":" }"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":279,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreFileSizeLimitInCli_overrideCsv() throws Exception {"},{"lineNumber":280,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":281,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":282,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":283,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":284,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":285,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":286,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFileSizeLimitIgnored(true);"},{"lineNumber":287,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":288,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":289,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":290,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":291,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":292,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setFileSizeLimitIgnored(true);"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_FILESIZE_LIMIT_OVERRIDE_CSV_TEST_CONFIG_FILES)"},{"lineNumber":295,"author":{"gitId":"-"},"content":" .addIgnoreFilesizeLimit()"},{"lineNumber":296,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":297,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":298,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":299,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":300,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":301,"author":{"gitId":"-"},"content":" RepoConfiguration.setFileSizeLimitIgnoredToRepoConfigs(actualConfigs,"},{"lineNumber":302,"author":{"gitId":"-"},"content":" cliArguments.isFileSizeLimitIgnored());"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":305,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":306,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":307,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":308,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":309,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":310,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":311,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);"},{"lineNumber":312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":315,"author":{"gitId":"-"},"content":" public void repoConfig_withoutIgnoreStandaloneConfigInCli_useCsv() throws Exception {"},{"lineNumber":316,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":317,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":318,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":319,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":320,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":321,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_FLAG_OVERRIDE_CSV_TEST).build();"},{"lineNumber":324,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":325,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":326,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":327,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs,"},{"lineNumber":328,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":331,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":332,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":333,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":335,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":336,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":337,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaStandaloneConfig, repoDeltaActualConfig);"},{"lineNumber":338,"author":{"gitId":"-"},"content":" }"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":341,"author":{"gitId":"-"},"content":" public void repoConfig_wrongKeywordUseStandaloneConfig_success() throws Exception {"},{"lineNumber":342,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":343,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_KEYWORD_TEST_CONFIG_FILES)"},{"lineNumber":344,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":345,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":346,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":349,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":350,"author":{"gitId":"-"},"content":""},{"lineNumber":351,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":352,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":353,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":354,"author":{"gitId":"-"},"content":""},{"lineNumber":355,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaStandaloneConfig, actualConfig);"},{"lineNumber":356,"author":{"gitId":"-"},"content":" }"},{"lineNumber":357,"author":{"gitId":"-"},"content":""},{"lineNumber":358,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":359,"author":{"gitId":"-"},"content":" public void repoConfig_shallowCloning_success() throws Exception {"},{"lineNumber":360,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":361,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":362,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":363,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":364,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":365,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);"},{"lineNumber":366,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":367,"author":{"gitId":"-"},"content":" expectedConfig.setIsShallowCloningPerformed(true);"},{"lineNumber":368,"author":{"gitId":"-"},"content":""},{"lineNumber":369,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":370,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(SHALLOW_CLONING_TEST_CONFIG_FILES)"},{"lineNumber":371,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":372,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":373,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":374,"author":{"gitId":"-"},"content":""},{"lineNumber":375,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":376,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":377,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":378,"author":{"gitId":"-"},"content":""},{"lineNumber":379,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":380,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":381,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":382,"author":{"gitId":"-"},"content":""},{"lineNumber":383,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":387,"author":{"gitId":"-"},"content":" public void repoConfig_shallowCloningInCli_success() throws Exception {"},{"lineNumber":388,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":389,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":390,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":391,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":392,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":393,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":394,"author":{"gitId":"-"},"content":" expectedConfig.setIsShallowCloningPerformed(true);"},{"lineNumber":395,"author":{"gitId":"-"},"content":""},{"lineNumber":396,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":397,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_DELTA)"},{"lineNumber":398,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":399,"author":{"gitId":"-"},"content":" .addShallowCloning()"},{"lineNumber":400,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":401,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":402,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d RunConfigurationDecider"},{"lineNumber":403,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)"},{"lineNumber":404,"author":{"gitId":"-"},"content":" .getRepoConfigurations();"},{"lineNumber":405,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());"},{"lineNumber":406,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":407,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(actualConfigs,"},{"lineNumber":408,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":411,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":412,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":413,"author":{"gitId":"-"},"content":""},{"lineNumber":414,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":415,"author":{"gitId":"-"},"content":" }"},{"lineNumber":416,"author":{"gitId":"-"},"content":""},{"lineNumber":417,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":418,"author":{"gitId":"-"},"content":" public void repoConfig_shallowCloningInCli_overrideCsv() throws Exception {"},{"lineNumber":419,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":420,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":421,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":422,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":423,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":424,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":425,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsShallowCloningPerformed(true);"},{"lineNumber":426,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":427,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":428,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":429,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":430,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":431,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setIsShallowCloningPerformed(true);"},{"lineNumber":432,"author":{"gitId":"-"},"content":""},{"lineNumber":433,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(SHALLOW_CLONING_FLAG_OVERRIDE_TEST_CONFIG_FILES)"},{"lineNumber":434,"author":{"gitId":"-"},"content":" .addShallowCloning()"},{"lineNumber":435,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":436,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":437,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":438,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":439,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":440,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(actualConfigs,"},{"lineNumber":441,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());"},{"lineNumber":442,"author":{"gitId":"-"},"content":""},{"lineNumber":443,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":444,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":445,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":446,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":447,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":448,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":449,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":450,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);"},{"lineNumber":451,"author":{"gitId":"-"},"content":" }"},{"lineNumber":452,"author":{"gitId":"-"},"content":""},{"lineNumber":453,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":454,"author":{"gitId":"-"},"content":" public void repoConfig_withoutShallowCloningInInCli_useCsv() throws Exception {"},{"lineNumber":455,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":456,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":457,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":458,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":459,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":460,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":461,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsShallowCloningPerformed(true);"},{"lineNumber":462,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":463,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":464,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":465,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":466,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":467,"author":{"gitId":"-"},"content":""},{"lineNumber":468,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(SHALLOW_CLONING_FLAG_OVERRIDE_TEST_CONFIG_FILES).build();"},{"lineNumber":469,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":470,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":471,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":472,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":473,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(actualConfigs,"},{"lineNumber":474,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());"},{"lineNumber":475,"author":{"gitId":"-"},"content":""},{"lineNumber":476,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":477,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":478,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":479,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":480,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":481,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":482,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":483,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);"},{"lineNumber":484,"author":{"gitId":"-"},"content":" }"},{"lineNumber":485,"author":{"gitId":"-"},"content":""},{"lineNumber":486,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":487,"author":{"gitId":"-"},"content":" public void repoConfig_findPreviousAuthors_success() throws Exception {"},{"lineNumber":488,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":489,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":490,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":491,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":492,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":493,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);"},{"lineNumber":494,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":495,"author":{"gitId":"-"},"content":" expectedConfig.setIsFindingPreviousAuthorsPerformed(true);"},{"lineNumber":496,"author":{"gitId":"-"},"content":""},{"lineNumber":497,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":498,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_TEST_CONFIG_FILES)"},{"lineNumber":499,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":500,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":501,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":502,"author":{"gitId":"-"},"content":""},{"lineNumber":503,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":504,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":505,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":506,"author":{"gitId":"-"},"content":""},{"lineNumber":507,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":508,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":509,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":510,"author":{"gitId":"-"},"content":""},{"lineNumber":511,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":512,"author":{"gitId":"-"},"content":" }"},{"lineNumber":513,"author":{"gitId":"-"},"content":""},{"lineNumber":514,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":515,"author":{"gitId":"-"},"content":" public void repoConfig_findPreviousAuthorsInCli_success() throws Exception {"},{"lineNumber":516,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":517,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":518,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":519,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":520,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":521,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":522,"author":{"gitId":"-"},"content":" expectedConfig.setIsFindingPreviousAuthorsPerformed(true);"},{"lineNumber":523,"author":{"gitId":"-"},"content":""},{"lineNumber":524,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":525,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_DELTA)"},{"lineNumber":526,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":527,"author":{"gitId":"-"},"content":" .addFindPreviousAuthors()"},{"lineNumber":528,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":529,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":530,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d RunConfigurationDecider"},{"lineNumber":531,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)"},{"lineNumber":532,"author":{"gitId":"-"},"content":" .getRepoConfigurations();"},{"lineNumber":533,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());"},{"lineNumber":534,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":535,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,"},{"lineNumber":536,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());"},{"lineNumber":537,"author":{"gitId":"-"},"content":""},{"lineNumber":538,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":539,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":540,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":541,"author":{"gitId":"-"},"content":""},{"lineNumber":542,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":543,"author":{"gitId":"-"},"content":" }"},{"lineNumber":544,"author":{"gitId":"-"},"content":""},{"lineNumber":545,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":546,"author":{"gitId":"-"},"content":" public void repoConfig_findPreviousAuthorsInCli_overrideCsv() throws Exception {"},{"lineNumber":547,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":548,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":549,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":550,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":551,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":552,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":553,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsFindingPreviousAuthorsPerformed(true);"},{"lineNumber":554,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":555,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":556,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":557,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":558,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":559,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setIsFindingPreviousAuthorsPerformed(true);"},{"lineNumber":560,"author":{"gitId":"-"},"content":""},{"lineNumber":561,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES)"},{"lineNumber":562,"author":{"gitId":"-"},"content":" .addShallowCloning()"},{"lineNumber":563,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":564,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":565,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":566,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":567,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":568,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,"},{"lineNumber":569,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());"},{"lineNumber":570,"author":{"gitId":"-"},"content":""},{"lineNumber":571,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":572,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":573,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":574,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":575,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":576,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":577,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":578,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);"},{"lineNumber":579,"author":{"gitId":"-"},"content":" }"},{"lineNumber":580,"author":{"gitId":"-"},"content":""},{"lineNumber":581,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":582,"author":{"gitId":"-"},"content":" public void repoConfig_withoutFindPreviousAuthorsInCli_useCsv() throws Exception {"},{"lineNumber":583,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":584,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":585,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":586,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":587,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":588,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":589,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsFindingPreviousAuthorsPerformed(true);"},{"lineNumber":590,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":591,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":592,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":593,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":594,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":595,"author":{"gitId":"-"},"content":""},{"lineNumber":596,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES).build();"},{"lineNumber":597,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":598,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":599,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":600,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":601,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,"},{"lineNumber":602,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());"},{"lineNumber":603,"author":{"gitId":"-"},"content":""},{"lineNumber":604,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":605,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":606,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":607,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":608,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":609,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":610,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":611,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);"},{"lineNumber":612,"author":{"gitId":"-"},"content":" }"},{"lineNumber":613,"author":{"gitId":"-"},"content":""},{"lineNumber":614,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":615,"author":{"gitId":"-"},"content":" public void repoConfig_userEnvironmentCannotRunFindPreviousAuthors_setFindPreviousAuthorsToFalseInAllRepoConfigs()"},{"lineNumber":616,"author":{"gitId":"-"},"content":" throws Exception {"},{"lineNumber":617,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":618,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":619,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":620,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":621,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":622,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":623,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":624,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":625,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":626,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":627,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":628,"author":{"gitId":"-"},"content":""},{"lineNumber":629,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES).build();"},{"lineNumber":630,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":631,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":632,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":633,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":634,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,"},{"lineNumber":635,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());"},{"lineNumber":636,"author":{"gitId":"-"},"content":""},{"lineNumber":637,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":638,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":639,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":640,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":641,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":642,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":643,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":644,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);"},{"lineNumber":645,"author":{"gitId":"-"},"content":" }"},{"lineNumber":646,"author":{"gitId":"-"},"content":""},{"lineNumber":647,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":648,"author":{"gitId":"-"},"content":" public void repoConfig_withFormats_ignoreCliFormats() throws Exception {"},{"lineNumber":649,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":650,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FORMATS_TEST_CONFIG_FILES)"},{"lineNumber":651,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":652,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":653,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":654,"author":{"gitId":"-"},"content":""},{"lineNumber":655,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":656,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":657,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());"},{"lineNumber":658,"author":{"gitId":"-"},"content":""},{"lineNumber":659,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());"},{"lineNumber":660,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CONFIG_FORMATS, actualConfigs.get(0).getFileTypeManager().getFormats());"},{"lineNumber":661,"author":{"gitId":"-"},"content":" }"},{"lineNumber":662,"author":{"gitId":"-"},"content":""},{"lineNumber":663,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":664,"author":{"gitId":"-"},"content":" public void repoConfig_withoutFormats_useCliFormats() throws Exception {"},{"lineNumber":665,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":666,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(WITHOUT_FORMATS_TEST_CONFIG_FILES)"},{"lineNumber":667,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":668,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":669,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":670,"author":{"gitId":"-"},"content":""},{"lineNumber":671,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":672,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":673,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());"},{"lineNumber":674,"author":{"gitId":"-"},"content":""},{"lineNumber":675,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());"},{"lineNumber":676,"author":{"gitId":"-"},"content":""},{"lineNumber":677,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e actualFormats \u003d actualConfigs.get(0).getFileTypeManager().getFormats();"},{"lineNumber":678,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileType.convertFormatStringsToFileTypes(CLI_FORMATS), actualFormats);"},{"lineNumber":679,"author":{"gitId":"-"},"content":" }"},{"lineNumber":680,"author":{"gitId":"-"},"content":""},{"lineNumber":681,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":682,"author":{"gitId":"-"},"content":" public void repoConfig_withCustomGroups_useCustomGroups() throws Exception {"},{"lineNumber":683,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(GROUPS_TEST_CONFIG_FILES).build();"},{"lineNumber":684,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":685,"author":{"gitId":"-"},"content":""},{"lineNumber":686,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":687,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":688,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d"},{"lineNumber":689,"author":{"gitId":"-"},"content":" new GroupConfigCsvParser(cliArguments.getGroupConfigFilePath()).parse();"},{"lineNumber":690,"author":{"gitId":"-"},"content":""},{"lineNumber":691,"author":{"gitId":"-"},"content":" RepoConfiguration.setGroupConfigsToRepos(actualConfigs, groupConfigs);"},{"lineNumber":692,"author":{"gitId":"-"},"content":""},{"lineNumber":693,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualConfigs.size());"},{"lineNumber":694,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FIRST_CONFIG_GROUPS, actualConfigs.get(0).getFileTypeManager().getGroups());"},{"lineNumber":695,"author":{"gitId":"-"},"content":" Assertions.assertEquals(SECOND_CONFIG_GROUPS, actualConfigs.get(1).getFileTypeManager().getGroups());"},{"lineNumber":696,"author":{"gitId":"-"},"content":" }"},{"lineNumber":697,"author":{"gitId":"-"},"content":""},{"lineNumber":698,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":699,"author":{"gitId":"-"},"content":" public void repoConfig_withoutFormatsAndCliFormats_useAllFormats() throws Exception {"},{"lineNumber":700,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(WITHOUT_FORMATS_TEST_CONFIG_FILES).build();"},{"lineNumber":701,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":702,"author":{"gitId":"-"},"content":""},{"lineNumber":703,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":704,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":705,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());"},{"lineNumber":706,"author":{"gitId":"-"},"content":""},{"lineNumber":707,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());"},{"lineNumber":708,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileTypeTest.NO_SPECIFIED_FORMATS, actualConfigs.get(0).getFileTypeManager()"},{"lineNumber":709,"author":{"gitId":"-"},"content":" .getFormats());"},{"lineNumber":710,"author":{"gitId":"-"},"content":" }"},{"lineNumber":711,"author":{"gitId":"-"},"content":""},{"lineNumber":712,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":713,"author":{"gitId":"-"},"content":" public void repoConfig_emptyLocationDifferentBranch_equal() throws Exception {"},{"lineNumber":714,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration emptyLocationEmptyBranchRepoConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":715,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"\"))"},{"lineNumber":716,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"\")"},{"lineNumber":717,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":718,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration emptyLocationDefaultBranchRepoConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":719,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"\")).build();"},{"lineNumber":720,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration emptyLocationWithBranchRepoConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":721,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"\"))"},{"lineNumber":722,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":723,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":724,"author":{"gitId":"-"},"content":""},{"lineNumber":725,"author":{"gitId":"-"},"content":" Assertions.assertEquals(emptyLocationDefaultBranchRepoConfig, emptyLocationEmptyBranchRepoConfig);"},{"lineNumber":726,"author":{"gitId":"-"},"content":" Assertions.assertEquals(emptyLocationWithBranchRepoConfig, emptyLocationEmptyBranchRepoConfig);"},{"lineNumber":727,"author":{"gitId":"-"},"content":" }"},{"lineNumber":728,"author":{"gitId":"-"},"content":""},{"lineNumber":729,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":730,"author":{"gitId":"-"},"content":" public void repoConfig_sameLocationDifferentBranch_notEqual() throws Exception {"},{"lineNumber":731,"author":{"gitId":"-"},"content":" RepoConfiguration validLocationValidBranchRepoConfig \u003d"},{"lineNumber":732,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":733,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":734,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":735,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":736,"author":{"gitId":"-"},"content":" RepoConfiguration validLocationDefaultBranchRepoConfig \u003d"},{"lineNumber":737,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder().location(new RepoLocation(TEST_REPO_DELTA)).build();"},{"lineNumber":738,"author":{"gitId":"-"},"content":""},{"lineNumber":739,"author":{"gitId":"-"},"content":" Assertions.assertNotEquals(validLocationDefaultBranchRepoConfig, validLocationValidBranchRepoConfig);"},{"lineNumber":740,"author":{"gitId":"-"},"content":" }"},{"lineNumber":741,"author":{"gitId":"-"},"content":""},{"lineNumber":742,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":743,"author":{"gitId":"-"},"content":" public void repoConfig_overrideStandaloneConfig_success() throws Exception {"},{"lineNumber":744,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":745,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":746,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":747,"author":{"gitId":"asdfghjkxd"},"content":" .fileTypeManager(Collections.emptyList())"},{"lineNumber":748,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreGlobList(Collections.emptyList())"},{"lineNumber":749,"author":{"gitId":"asdfghjkxd"},"content":" .fileSizeLimit(RepoConfiguration.DEFAULT_FILE_SIZE_LIMIT)"},{"lineNumber":750,"author":{"gitId":"asdfghjkxd"},"content":" .isStandaloneConfigIgnored(false)"},{"lineNumber":751,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitIgnored(false)"},{"lineNumber":752,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreCommitList(Collections.emptyList())"},{"lineNumber":753,"author":{"gitId":"asdfghjkxd"},"content":" .isFormatsOverriding(true)"},{"lineNumber":754,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreGlobListOverriding(true)"},{"lineNumber":755,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreCommitListOverriding(true)"},{"lineNumber":756,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitOverriding(false)"},{"lineNumber":757,"author":{"gitId":"asdfghjkxd"},"content":" .isShallowCloningPerformed(false)"},{"lineNumber":758,"author":{"gitId":"asdfghjkxd"},"content":" .isFindingPreviousAuthorsPerformed(false)"},{"lineNumber":759,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredFileAnalysisSkipped(false)"},{"lineNumber":760,"author":{"gitId":"asdfghjkxd"},"content":" .ignoredAuthorsList(Arrays.asList(\"lithiumlkid\"))"},{"lineNumber":761,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredAuthorsListOverriding(true)"},{"lineNumber":762,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":763,"author":{"gitId":"-"},"content":""},{"lineNumber":764,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthorList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":765,"author":{"gitId":"-"},"content":" Author[] authors \u003d new Author[]{FIRST_AUTHOR, SECOND_AUTHOR, THIRD_AUTHOR, FOURTH_AUTHOR};"},{"lineNumber":766,"author":{"gitId":"-"},"content":" for (Author author : authors) {"},{"lineNumber":767,"author":{"gitId":"-"},"content":" Author expectedAuthor \u003d new Author(author);"},{"lineNumber":768,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedAuthorIgnoreGlobList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":769,"author":{"gitId":"-"},"content":" expectedAuthorIgnoreGlobList.addAll(author.getIgnoreGlobList());"},{"lineNumber":770,"author":{"gitId":"-"},"content":""},{"lineNumber":771,"author":{"gitId":"-"},"content":" // Authors\u0027 original ignoreGlobList contains values from StandaloneConfig repo level, thus need to remove"},{"lineNumber":772,"author":{"gitId":"-"},"content":" expectedAuthorIgnoreGlobList.removeAll(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":773,"author":{"gitId":"-"},"content":" expectedAuthor.setIgnoreGlobList(expectedAuthorIgnoreGlobList);"},{"lineNumber":774,"author":{"gitId":"-"},"content":" expectedAuthorList.add(expectedAuthor);"},{"lineNumber":775,"author":{"gitId":"-"},"content":" }"},{"lineNumber":776,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthorList);"},{"lineNumber":777,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorDisplayNameMap(repoDeltaStandaloneConfig.getAuthorDisplayNameMap());"},{"lineNumber":778,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorNamesToAuthorMap(repoDeltaStandaloneConfig.getAuthorNamesToAuthorMap());"},{"lineNumber":779,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorEmailsToAuthorMap(repoDeltaStandaloneConfig.getAuthorEmailsToAuthorMap());"},{"lineNumber":780,"author":{"gitId":"-"},"content":""},{"lineNumber":781,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":782,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(OVERRIDE_STANDALONE_TEST_CONFIG_FILE)"},{"lineNumber":783,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":784,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":785,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":786,"author":{"gitId":"-"},"content":""},{"lineNumber":787,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":788,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":789,"author":{"gitId":"-"},"content":""},{"lineNumber":790,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":791,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":792,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":793,"author":{"gitId":"-"},"content":""},{"lineNumber":794,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":795,"author":{"gitId":"-"},"content":" }"},{"lineNumber":796,"author":{"gitId":"-"},"content":""},{"lineNumber":797,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":798,"author":{"gitId":"-"},"content":" public void repoConfig_minimalStandaloneConfig_fieldsAssignedDefaultValues() throws Exception {"},{"lineNumber":799,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":800,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":801,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":802,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":803,"author":{"gitId":"-"},"content":""},{"lineNumber":804,"author":{"gitId":"-"},"content":" Author firstAuthor \u003d new Author(\"bluein-green\");"},{"lineNumber":805,"author":{"gitId":"-"},"content":" Author secondAuthor \u003d new Author(\"jylee-git\");"},{"lineNumber":806,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d Arrays.asList(firstAuthor, secondAuthor);"},{"lineNumber":807,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthors);"},{"lineNumber":808,"author":{"gitId":"-"},"content":""},{"lineNumber":809,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(Collections.emptyList());"},{"lineNumber":810,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(Collections.emptyList());"},{"lineNumber":811,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreCommitList(Collections.emptyList());"},{"lineNumber":812,"author":{"gitId":"-"},"content":""},{"lineNumber":813,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":814,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":815,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":816,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":817,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":818,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":819,"author":{"gitId":"-"},"content":""},{"lineNumber":820,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":821,"author":{"gitId":"-"},"content":" }"},{"lineNumber":822,"author":{"gitId":"-"},"content":""},{"lineNumber":823,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":824,"author":{"gitId":"-"},"content":" public void repoConfig_removeIgnoredAuthors_success() throws Exception {"},{"lineNumber":825,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":826,"author":{"gitId":"-"},"content":" Author author \u003d new Author(FIRST_AUTHOR);"},{"lineNumber":827,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":828,"author":{"gitId":"-"},"content":" expectedAuthors.add(author);"},{"lineNumber":829,"author":{"gitId":"-"},"content":""},{"lineNumber":830,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":831,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":832,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":833,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":834,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthors);"},{"lineNumber":835,"author":{"gitId":"-"},"content":" expectedConfig.addAuthorNamesToAuthorMapEntry(author, FIRST_AUTHOR_ALIASES);"},{"lineNumber":836,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorDisplayName(author, \"Ahm\");"},{"lineNumber":837,"author":{"gitId":"-"},"content":""},{"lineNumber":838,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":839,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);"},{"lineNumber":840,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":841,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoredAuthorsList(Arrays.asList(\"jordancjq\", \"Eugene Peh\"));"},{"lineNumber":842,"author":{"gitId":"-"},"content":""},{"lineNumber":843,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":844,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_AUTHORS_TEST_CONFIG_FILE)"},{"lineNumber":845,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":846,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":847,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":848,"author":{"gitId":"-"},"content":""},{"lineNumber":849,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":850,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":851,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d"},{"lineNumber":852,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();"},{"lineNumber":853,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);"},{"lineNumber":854,"author":{"gitId":"-"},"content":""},{"lineNumber":855,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":856,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":857,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":858,"author":{"gitId":"-"},"content":" Method updateAuthorList \u003d ReportGenerator.class.getDeclaredMethod(\"updateAuthorList\", RepoConfiguration.class);"},{"lineNumber":859,"author":{"gitId":"-"},"content":" updateAuthorList.setAccessible(true);"},{"lineNumber":860,"author":{"gitId":"-"},"content":" updateAuthorList.invoke(reportGenerator, actualConfig);"},{"lineNumber":861,"author":{"gitId":"-"},"content":""},{"lineNumber":862,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":863,"author":{"gitId":"-"},"content":" }"},{"lineNumber":864,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":865,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":866,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_displayName_success() throws Exception {"},{"lineNumber":867,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":868,"author":{"gitId":"asdfghjkxd"},"content":" .displayName(\"CS3281\")"},{"lineNumber":869,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":870,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":871,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":872,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":873,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getDisplayName(), \"CS3281\");"},{"lineNumber":874,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":875,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":876,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":877,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_outputFolderName_success() throws Exception {"},{"lineNumber":878,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":879,"author":{"gitId":"asdfghjkxd"},"content":" .outputFolderName(\"CS3281 Folder\")"},{"lineNumber":880,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":881,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":882,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":883,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":884,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getOutputFolderName(), \"CS3281 Folder\");"},{"lineNumber":885,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":886,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":887,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":888,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_repoFolderName_success() throws Exception {"},{"lineNumber":889,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":890,"author":{"gitId":"asdfghjkxd"},"content":" .repoFolderName(\"CS3281 Folder\")"},{"lineNumber":891,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":892,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":893,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":894,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":895,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getRepoFolderName(), \"CS3281 Folder\");"},{"lineNumber":896,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":897,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":898,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":899,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_zoneID_success() throws Exception {"},{"lineNumber":900,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":901,"author":{"gitId":"asdfghjkxd"},"content":" .zoneId(ZoneId.systemDefault())"},{"lineNumber":902,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":903,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":904,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":905,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":906,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getZoneId(), ZoneId.systemDefault());"},{"lineNumber":907,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":908,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":909,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":910,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_sinceDate_success() throws Exception {"},{"lineNumber":911,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":912,"author":{"gitId":"asdfghjkxd"},"content":" .sinceDate(LocalDateTime.of(2024, 1, 1, 12, 0, 0))"},{"lineNumber":913,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":914,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":915,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":916,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":917,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getSinceDate(),"},{"lineNumber":918,"author":{"gitId":"asdfghjkxd"},"content":" LocalDateTime.of(2024, 1, 1, 12, 0, 0));"},{"lineNumber":919,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":920,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":921,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":922,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_untilDate_success() throws Exception {"},{"lineNumber":923,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":924,"author":{"gitId":"asdfghjkxd"},"content":" .untilDate(LocalDateTime.of(2024, 1, 1, 12, 0, 0))"},{"lineNumber":925,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":926,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":927,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":928,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":929,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getUntilDate(),"},{"lineNumber":930,"author":{"gitId":"asdfghjkxd"},"content":" LocalDateTime.of(2024, 1, 1, 12, 0, 0));"},{"lineNumber":931,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":932,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":933,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":934,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_authorConfig_success() throws Exception {"},{"lineNumber":935,"author":{"gitId":"asdfghjkxd"},"content":" RepoLocation loc \u003d new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG);"},{"lineNumber":936,"author":{"gitId":"asdfghjkxd"},"content":" String branch \u003d \"master\";"},{"lineNumber":937,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":938,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":939,"author":{"gitId":"asdfghjkxd"},"content":" .authorConfig(new AuthorConfiguration(loc, branch))"},{"lineNumber":940,"author":{"gitId":"asdfghjkxd"},"content":" .location(loc)"},{"lineNumber":941,"author":{"gitId":"asdfghjkxd"},"content":" .branch(branch)"},{"lineNumber":942,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":943,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":944,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getAuthorConfig(),"},{"lineNumber":945,"author":{"gitId":"asdfghjkxd"},"content":" new AuthorConfiguration(loc, branch));"},{"lineNumber":946,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":947,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":948,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":949,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_isLastModifiedDateIncluded_success() throws Exception {"},{"lineNumber":950,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":951,"author":{"gitId":"asdfghjkxd"},"content":" .isLastModifiedDateIncluded(true)"},{"lineNumber":952,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":953,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":954,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":955,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":956,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertTrue(actualConfig.isLastModifiedDateIncluded());"},{"lineNumber":957,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":958,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":959,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":960,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_buildWithInvalid_failure() {"},{"lineNumber":961,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertThrows(ConfigurationBuildException.class, () -\u003e new RepoConfiguration.Builder().build());"},{"lineNumber":962,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":963,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":244,"-":719}},{"path":"src/test/java/reposense/model/RepoLocationTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.model.RepoLocation.UNSUPPORTED_DOMAIN_NAME;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.model.RepoLocation.getDomainNameFromDomain;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static reposense.model.RepoLocation.isLocalRepo;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assumptions;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.util.AssertUtil;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.util.SystemUtil;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class RepoLocationTest {"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITHOUT_DOT_GIT_ONE \u003d \"repo\";"},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITHOUT_DOT_GIT_TWO \u003d \"../path/to/repo\";"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITHOUT_DOT_GIT_THREE \u003d \"/path/to/repo\";"},{"lineNumber":20,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITH_DOT_GIT_ONE \u003d \"path/to/repo/.git\";"},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITH_DOT_GIT_TWO \u003d \"file://path/to/repo.git\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_FILE_URL_ONE \u003d \"file://path/to/repo\";"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_FILE_URL_TWO \u003d \"file:///path/to/repo\";"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_ONE \u003d \"path\\\\to\\\\repo\\\\\";"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_TWO \u003d \"..\\\\path\\\\to\\\\repo\";"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_WITH_DOT_GIT_ONE \u003d \"path\\\\to\\\\repo\\\\.git\";"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_DISK_DRIVE \u003d \"C:\\\\path\\\\to\\\\repo.git\";"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_MIXED_ONE \u003d \"..\\\\path/to\\\\repo\";"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_MIXED_TWO \u003d \"file://path\\\\to\\\\repo.git\";"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_DISK_DRIVE_MIXED \u003d \"C:\\\\path/to/repo.git\";"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String EXPECTED_REPO_NAME \u003d \"repo\";"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final String EXPECTED_ORGANIZATION \u003d \"path-to\";"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String EXPECTED_DOMAIN_NAME \u003d \"github\";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String EXPECTED_UNRECOGNISED_DOMAIN_NAME \u003d UNSUPPORTED_DOMAIN_NAME;"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":40,"author":{"gitId":"-"},"content":" public void repoLocation_parseEmptyString_success() throws Exception {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" RepoLocation repoLocation \u003d new RepoLocation(\"\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":45,"author":{"gitId":"-"},"content":" public void isLocalRepo_validLocalRepos_success() throws Exception {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" Assertions.assertTrue(isLocalRepo(LOCAL_REPO_VALID_WITH_DOT_GIT_ONE));"},{"lineNumber":47,"author":{"gitId":"-"},"content":" Assertions.assertTrue(isLocalRepo(LOCAL_REPO_WINDOWS_VALID_MIXED_ONE));"},{"lineNumber":48,"author":{"gitId":"-"},"content":" Assertions.assertTrue(isLocalRepo(\"./abc:def\"));"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":52,"author":{"gitId":"-"},"content":" public void isLocalRepo_remoteRepos_returnsFalse() throws Exception {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" Assertions.assertFalse(isLocalRepo(\"https://github.com/reposense/RepoSense.git/\"));"},{"lineNumber":54,"author":{"gitId":"-"},"content":" Assertions.assertFalse(isLocalRepo(\"git@github.com:reposense/RepoSense.git/\"));"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":58,"author":{"gitId":"-"},"content":" public void repoLocation_parseLocalRepoLocation_success() throws Exception {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" // local paths not containing \".git\" should be valid"},{"lineNumber":60,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITHOUT_DOT_GIT_ONE,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"\", EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" // relative pathing should be considered part of the \u0027organization\u0027 for differentiation"},{"lineNumber":63,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITHOUT_DOT_GIT_TWO,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITHOUT_DOT_GIT_THREE,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" // local paths containing \".git\" should also be valid"},{"lineNumber":69,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITH_DOT_GIT_ONE,"},{"lineNumber":70,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITH_DOT_GIT_TWO,"},{"lineNumber":72,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" // file-type url protocol (file://) is accepted by git clone"},{"lineNumber":75,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_FILE_URL_ONE,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_FILE_URL_TWO,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":82,"author":{"gitId":"-"},"content":" public void repoLocation_parseWindowsLocalRepoLocation_success() throws Exception {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" Assumptions.assumeTrue(SystemUtil.isWindows());"},{"lineNumber":84,"author":{"gitId":"-"},"content":" // repeated tests but with windows file separators"},{"lineNumber":85,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_ONE,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_TWO,"},{"lineNumber":88,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_WITH_DOT_GIT_ONE,"},{"lineNumber":90,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_DISK_DRIVE,"},{"lineNumber":92,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"C--\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_MIXED_ONE,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_MIXED_TWO,"},{"lineNumber":97,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_DISK_DRIVE_MIXED,"},{"lineNumber":99,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"C--\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public void repoLocation_parseValidRemoteRepoUrl_success() throws Exception {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" // valid url without specifying branch"},{"lineNumber":106,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Beta.git\","},{"lineNumber":107,"author":{"gitId":"-"},"content":" \"testrepo-Beta\", \"reposense\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Delta.git\","},{"lineNumber":109,"author":{"gitId":"-"},"content":" \"testrepo-Delta\", \"reposense\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://gitlab.com/reposense/RepoSense.git\","},{"lineNumber":111,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", \"gitlab\");"},{"lineNumber":112,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense.git\","},{"lineNumber":113,"author":{"gitId":"-"},"content":" \"reposense\", \"\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" // valid url to parse for obtaining repo and organization, just not a valid git clone target"},{"lineNumber":115,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/.git\","},{"lineNumber":116,"author":{"gitId":"-"},"content":" \"reposense\", \"\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" // valid url from other domains"},{"lineNumber":119,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://bitbucket.org/reposense/RepoSense.git\","},{"lineNumber":120,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", \"bitbucket\");"},{"lineNumber":121,"author":{"gitId":"-"},"content":" // valid url from unsupported domain with longer path to git directory than the standard organization/reponame"},{"lineNumber":122,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://opensource.ncsa.illinois.edu/bitbucket/scm/u3d/3dutilities.git\","},{"lineNumber":123,"author":{"gitId":"-"},"content":" \"3dutilities\", \"bitbucket-scm-u3d\", EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" // treated as valid but will be caught when git clone fails"},{"lineNumber":126,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Beta/tree/add-config-json\","},{"lineNumber":127,"author":{"gitId":"-"},"content":" \"add-config-json\", \"reposense-testrepo-Beta-tree\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Beta.git/tree/add-config-json\","},{"lineNumber":129,"author":{"gitId":"-"},"content":" \"add-config-json\", \"reposense-testrepo-Beta.git-tree\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" // URLs without \".git\" should be accepted as git clone works even without it"},{"lineNumber":132,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense\","},{"lineNumber":133,"author":{"gitId":"-"},"content":" \"reposense\", \"\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/RepoSense\","},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" // Test against other types of URL protocols that are valid for git clone"},{"lineNumber":138,"author":{"gitId":"-"},"content":" assertParsableLocation(\"ssh://git@github.com/path/to/repo.git/\","},{"lineNumber":139,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_DOMAIN_NAME);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" assertParsableLocation(\"git://github.com/path/to/repo.git\","},{"lineNumber":141,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_DOMAIN_NAME);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://host.xz:9000/path/to/repo.git\","},{"lineNumber":143,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" // Test against the conventional ssh protocol used for GitHub, e.g. git@github.com:reposense/RepoSense.git"},{"lineNumber":146,"author":{"gitId":"-"},"content":" assertParsableLocation(\"repo@organization.com:path/to/repo.git/\","},{"lineNumber":147,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" assertParsableLocation(\"git@github.com:reposense/RepoSense.git\","},{"lineNumber":149,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":153,"author":{"gitId":"-"},"content":" public void repoLocation_parseNormalizableRepoLocations_success() throws Exception {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/redundant/directories/../../RepoSense.git\","},{"lineNumber":155,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":156,"author":{"gitId":"-"},"content":" assertParsableLocation(\"/path/with/redundant/directories/../.././../to/repo\","},{"lineNumber":157,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" // Tests if there is an additional \u0027../\u0027 it is not consumed by accident"},{"lineNumber":160,"author":{"gitId":"-"},"content":" assertParsableLocation(\"path/with/redundant/directories/../../../../../to/repo\","},{"lineNumber":161,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-to\", EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":165,"author":{"gitId":"-"},"content":" public void repoLocation_parseInvalidRemoteRepo_throwsInvalidLocationException() throws Exception {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" // Invalid URL protocol"},{"lineNumber":167,"author":{"gitId":"-"},"content":" assertUnparsableLocation(\"ttp://github.com/reposense.RepoSense.git\");"},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertUnparsableLocation(\"not-valid-protocol://abc.com/reposense/RepoSense.git\");"},{"lineNumber":169,"author":{"gitId":"-"},"content":" // URL contains illegal characters"},{"lineNumber":170,"author":{"gitId":"-"},"content":" assertUnparsableLocation(\"https://github.com/contains-illegal-chars/^\\\\/\");"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":174,"author":{"gitId":"-"},"content":" public void getDomainNameFromMatcher_parseValidDomain_success() throws Exception {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"github\", getDomainNameFromDomain(\"www.github.com\"));"},{"lineNumber":176,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"github\", getDomainNameFromDomain(\"github.com\"));"},{"lineNumber":177,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"gitlab\", getDomainNameFromDomain(\"www.gitlab.org\"));"},{"lineNumber":178,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"bitbucket\", getDomainNameFromDomain(\"ww2.bitbucket.com\"));"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" // valid but unsupported"},{"lineNumber":181,"author":{"gitId":"-"},"content":" Assertions.assertEquals(UNSUPPORTED_DOMAIN_NAME, getDomainNameFromDomain(\"opensource.ncsa.illinois.edu\"));"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":185,"author":{"gitId":"-"},"content":" public void getDomainNameFromMatcher_parseInvalidDomain_throwsInvalidLocationException() throws Exception {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" // no top level domain specified"},{"lineNumber":187,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e getDomainNameFromDomain(\"www.github\"));"},{"lineNumber":188,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e getDomainNameFromDomain(\"github\"));"},{"lineNumber":189,"author":{"gitId":"-"},"content":" // has a dot but still no top level domain specified"},{"lineNumber":190,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e getDomainNameFromDomain(\"github.\"));"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":194,"author":{"gitId":"-"},"content":" * Compares the information of {@code rawLocation} parsed by the RepoLocation model with {@code expectedRepoName}"},{"lineNumber":195,"author":{"gitId":"-"},"content":" * and {@code expectedOrganization}."},{"lineNumber":196,"author":{"gitId":"-"},"content":" */"},{"lineNumber":197,"author":{"gitId":"-"},"content":" public void assertParsableLocation(String rawLocation, String expectedRepoName,"},{"lineNumber":198,"author":{"gitId":"-"},"content":" String expectedOrganization, String expectedDomainName) throws Exception {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" RepoLocation repoLocation \u003d new RepoLocation(rawLocation);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedRepoName, repoLocation.getRepoName());"},{"lineNumber":201,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedOrganization, repoLocation.getOrganization());"},{"lineNumber":202,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedDomainName, repoLocation.getDomainName());"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" private void assertUnparsableLocation(String rawLocation) {"},{"lineNumber":206,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e new RepoLocation(rawLocation));"},{"lineNumber":207,"author":{"gitId":"-"},"content":" }"},{"lineNumber":208,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":207}},{"path":"src/test/java/reposense/parser/ArgsParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.io.File;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.time.Month;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.helper.HelpScreenException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.model.FileType;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import reposense.model.RunConfigurationDecider;"},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"public class ArgsParserTest {"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path PROJECT_DIRECTORY \u003d Paths.get(System.getProperty(\"user.dir\"));"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final Path CONFIG_DIRECTORY \u003d Paths.get(System.getProperty(\"user.dir\")"},{"lineNumber":40,"author":{"gitId":"-"},"content":" + File.separator + \"config\" + File.separator);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final Path CONFIG_FOLDER_ABSOLUTE \u003d loadResource(ArgsParserTest.class, \"cli_location_test\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final Path OUTPUT_DIRECTORY_ABSOLUTE \u003d loadResource(ArgsParserTest.class, \"output\");"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final Path CONFIG_FOLDER_RELATIVE \u003d PROJECT_DIRECTORY.relativize(CONFIG_FOLDER_ABSOLUTE);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path OUTPUT_DIRECTORY_RELATIVE \u003d PROJECT_DIRECTORY.relativize(OUTPUT_DIRECTORY_ABSOLUTE);"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_CSV_FILE \u003d"},{"lineNumber":46,"author":{"gitId":"-"},"content":" CONFIG_FOLDER_ABSOLUTE.resolve(RepoConfigCsvParser.REPO_CONFIG_FILENAME);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_CSV_FILE \u003d"},{"lineNumber":48,"author":{"gitId":"-"},"content":" CONFIG_FOLDER_ABSOLUTE.resolve(AuthorConfigCsvParser.AUTHOR_CONFIG_FILENAME);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String NONEXISTENT_DIRECTORY \u003d \"some_non_existent_dir/\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final InputBuilder DEFAULT_INPUT_BUILDER \u003d new InputBuilder();"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_REPOSENSE \u003d \"https://github.com/reposense/RepoSense.git\";"},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA \u003d \"https://github.com/reposense/testrepo-Beta.git\";"},{"lineNumber":55,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_CHARLIE \u003d \"https://github.com/reposense/testrepo-Charlie.git\";"},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA \u003d \"https://github.com/reposense/testrepo-Delta.git\";"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final String DEFAULT_TIME_ZONE_STRING \u003d \"Asia/Singapore\";"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final ZoneId DEFAULT_TIME_ZONE_ID \u003d TestUtil.getZoneId(DEFAULT_TIME_ZONE_STRING);"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" @BeforeEach"},{"lineNumber":62,"author":{"gitId":"-"},"content":" public void before() {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" DEFAULT_INPUT_BUILDER.reset().addConfig(CONFIG_FOLDER_ABSOLUTE);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" @AfterEach"},{"lineNumber":67,"author":{"gitId":"-"},"content":" public void after() {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(PROJECT_DIRECTORY.resolve(NONEXISTENT_DIRECTORY).toString());"},{"lineNumber":70,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" System.err.println(e.getMessage());"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":76,"author":{"gitId":"-"},"content":" public void parse_d1CorrectTimeZone_success() throws Exception {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":78,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)"},{"lineNumber":79,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":82,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":83,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":84,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":86,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TimeUtil.getArbitraryFirstCommitDateConverted(DEFAULT_TIME_ZONE_ID);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());"},{"lineNumber":91,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":97,"author":{"gitId":"-"},"content":" public void parse_allCorrectInputs_success() throws Exception {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":99,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)"},{"lineNumber":100,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\")"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .addFormats(\"java adoc html css js\")"},{"lineNumber":103,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .addIgnoreFilesizeLimit()"},{"lineNumber":105,"author":{"gitId":"-"},"content":" .addView()"},{"lineNumber":106,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":108,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":109,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":110,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":111,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":112,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":113,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":114,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME), cliArguments.getOutputFilePath()));"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());"},{"lineNumber":119,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes("},{"lineNumber":122,"author":{"gitId":"-"},"content":" Arrays.asList(\"java\", \"adoc\", \"html\", \"css\", \"js\"));"},{"lineNumber":123,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":126,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isFileSizeLimitIgnored());"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());"},{"lineNumber":129,"author":{"gitId":"-"},"content":" }"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":132,"author":{"gitId":"-"},"content":" public void parse_help_throwsHelpScreenException() {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" String input \u003d \"--help\";"},{"lineNumber":134,"author":{"gitId":"-"},"content":" Assertions.assertThrows(HelpScreenException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":138,"author":{"gitId":"-"},"content":" public void parse_allCorrectInputsAlias_success() throws Exception {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" String input \u003d String.format("},{"lineNumber":140,"author":{"gitId":"-"},"content":" \"-c \\\"%s\\\" -o \\\"%s\\\" -s 01/07/2017 -u 30/11/2017 -f java adoc html css js -i -I -v -t %s\","},{"lineNumber":141,"author":{"gitId":"-"},"content":" CONFIG_FOLDER_ABSOLUTE, OUTPUT_DIRECTORY_ABSOLUTE, DEFAULT_TIME_ZONE_STRING);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":143,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":144,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":145,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":146,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":147,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":148,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME), cliArguments.getOutputFilePath()));"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());"},{"lineNumber":153,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes("},{"lineNumber":156,"author":{"gitId":"-"},"content":" Arrays.asList(\"java\", \"adoc\", \"html\", \"css\", \"js\"));"},{"lineNumber":157,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":160,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isFileSizeLimitIgnored());"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":166,"author":{"gitId":"-"},"content":" public void parse_withExtraWhitespaces_success() throws Exception {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE).addWhiteSpace(5)"},{"lineNumber":168,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE).addWhiteSpace(4)"},{"lineNumber":169,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\").addWhiteSpace(3)"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\").addWhiteSpace(6)"},{"lineNumber":171,"author":{"gitId":"-"},"content":" .addFormats(\"java adoc html css js \")"},{"lineNumber":172,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig().addWhiteSpace(1)"},{"lineNumber":173,"author":{"gitId":"-"},"content":" .addIgnoreFilesizeLimit().addWhiteSpace(2)"},{"lineNumber":174,"author":{"gitId":"-"},"content":" .addView().addWhiteSpace(4)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING).addWhiteSpace(5)"},{"lineNumber":176,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":177,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":178,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":179,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":180,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":181,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":182,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":183,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME), cliArguments.getOutputFilePath()));"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);"},{"lineNumber":186,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());"},{"lineNumber":188,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes(Arrays.asList("},{"lineNumber":191,"author":{"gitId":"-"},"content":" \"java\", \"adoc\", \"html\", \"css\", \"js\"));"},{"lineNumber":192,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":195,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isFileSizeLimitIgnored());"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":201,"author":{"gitId":"-"},"content":" public void parse_configFolderOnly_success() throws Exception {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE).build();"},{"lineNumber":203,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":204,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":205,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":206,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":207,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":208,"author":{"gitId":"-"},"content":" // Optional arguments have default values"},{"lineNumber":209,"author":{"gitId":"-"},"content":" assertDateDiffOneMonth(cliArguments.getSinceDate(), cliArguments.getUntilDate());"},{"lineNumber":210,"author":{"gitId":"-"},"content":" assertDateDiffEndOfDay(cliArguments.getUntilDate());"},{"lineNumber":211,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ArgsParser.DEFAULT_REPORT_NAME,"},{"lineNumber":212,"author":{"gitId":"-"},"content":" cliArguments.getOutputFilePath().getFileName().toString());"},{"lineNumber":213,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileTypeTest.NO_SPECIFIED_FORMATS, cliArguments.getFormats());"},{"lineNumber":214,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_RELATIVE).build();"},{"lineNumber":217,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":220,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":221,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":222,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":223,"author":{"gitId":"-"},"content":" // Optional arguments have default values"},{"lineNumber":224,"author":{"gitId":"-"},"content":" assertDateDiffOneMonth(cliArguments.getSinceDate(), cliArguments.getUntilDate());"},{"lineNumber":225,"author":{"gitId":"-"},"content":" assertDateDiffEndOfDay(cliArguments.getUntilDate());"},{"lineNumber":226,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ArgsParser.DEFAULT_REPORT_NAME,"},{"lineNumber":227,"author":{"gitId":"-"},"content":" cliArguments.getOutputFilePath().getFileName().toString());"},{"lineNumber":228,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileTypeTest.NO_SPECIFIED_FORMATS, cliArguments.getFormats());"},{"lineNumber":229,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":230,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.systemDefault(), cliArguments.getZoneId());"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":234,"author":{"gitId":"-"},"content":" public void parse_viewOnly_success() throws Exception {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addView(OUTPUT_DIRECTORY_ABSOLUTE).build();"},{"lineNumber":236,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":237,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":238,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE, cliArguments.getReportDirectoryPath()));"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":242,"author":{"gitId":"-"},"content":" public void parse_withIgnore_success() throws Exception {"},{"lineNumber":243,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)"},{"lineNumber":244,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()"},{"lineNumber":245,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":246,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" String inputWithAlias \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)"},{"lineNumber":249,"author":{"gitId":"-"},"content":" .add(\"-i\")"},{"lineNumber":250,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":251,"author":{"gitId":"-"},"content":" CliArguments cliArgumentsWithAlias \u003d ArgsParser.parse(translateCommandline(inputWithAlias));"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isStandaloneConfigIgnored());"},{"lineNumber":254,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArgumentsWithAlias.isStandaloneConfigIgnored());"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.equals(cliArgumentsWithAlias));"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":" Assertions.assertEquals(cliArguments, cliArgumentsWithAlias);"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":262,"author":{"gitId":"-"},"content":" public void parse_withoutIgnore_success() throws Exception {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA).build();"},{"lineNumber":264,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isStandaloneConfigIgnored());"},{"lineNumber":267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":270,"author":{"gitId":"-"},"content":" public void parse_viewOnlyWithoutArgs_returnsConfigCliArguments() throws Exception {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addView().build();"},{"lineNumber":272,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CONFIG_DIRECTORY.toString(), ("},{"lineNumber":275,"author":{"gitId":"-"},"content":" cliArguments).getConfigFolderPath().toString());"},{"lineNumber":276,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":280,"author":{"gitId":"-"},"content":" public void parse_configFolderAndOutputDirectory_success() throws Exception {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" Path expectedRelativeOutputDirectoryPath \u003d OUTPUT_DIRECTORY_RELATIVE.resolve(ArgsParser.DEFAULT_REPORT_NAME);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" Path expectedAbsoluteOutputDirectoryPath \u003d OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME);"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":285,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_RELATIVE)"},{"lineNumber":286,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":287,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":288,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":289,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":290,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":291,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":292,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(expectedRelativeOutputDirectoryPath, cliArguments.getOutputFilePath()));"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_RELATIVE)"},{"lineNumber":295,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)"},{"lineNumber":296,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":297,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":298,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":299,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":300,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":301,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":302,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(expectedAbsoluteOutputDirectoryPath, cliArguments.getOutputFilePath()));"},{"lineNumber":303,"author":{"gitId":"-"},"content":" }"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":306,"author":{"gitId":"-"},"content":" public void parse_configFolderAndViewWithouthArgs_returnsConfigCliArguments() throws Exception {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":308,"author":{"gitId":"-"},"content":" .addView()"},{"lineNumber":309,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":310,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":313,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":314,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":315,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":316,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_RELATIVE)"},{"lineNumber":319,"author":{"gitId":"-"},"content":" .addView()"},{"lineNumber":320,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":321,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":324,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":325,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":326,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":327,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":328,"author":{"gitId":"-"},"content":" }"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":331,"author":{"gitId":"-"},"content":" public void parse_configFolderAndViewWithArgs_returnsConfigCliArguments() throws Exception {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":333,"author":{"gitId":"-"},"content":" .addView(OUTPUT_DIRECTORY_ABSOLUTE)"},{"lineNumber":334,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":335,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":338,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":339,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":340,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":341,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":342,"author":{"gitId":"-"},"content":" }"},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":345,"author":{"gitId":"-"},"content":" public void sinceDate_correctFormat_success() throws Exception {"},{"lineNumber":346,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":347,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\")"},{"lineNumber":348,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":349,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":350,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);"},{"lineNumber":353,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());"},{"lineNumber":354,"author":{"gitId":"-"},"content":" }"},{"lineNumber":355,"author":{"gitId":"-"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":357,"author":{"gitId":"-"},"content":" public void untilDate_correctFormat_success() throws Exception {"},{"lineNumber":358,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":359,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")"},{"lineNumber":360,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":361,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":362,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":363,"author":{"gitId":"-"},"content":""},{"lineNumber":364,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);"},{"lineNumber":365,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());"},{"lineNumber":366,"author":{"gitId":"-"},"content":" }"},{"lineNumber":367,"author":{"gitId":"-"},"content":""},{"lineNumber":368,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":369,"author":{"gitId":"-"},"content":" public void sinceDate_withExtraDate_success() throws Exception {"},{"lineNumber":370,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":371,"author":{"gitId":"-"},"content":" .addSinceDate(\"\\\"01/07/2017 01/07/2018\\\"\")"},{"lineNumber":372,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":373,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":374,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);"},{"lineNumber":377,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());"},{"lineNumber":378,"author":{"gitId":"-"},"content":" }"},{"lineNumber":379,"author":{"gitId":"-"},"content":""},{"lineNumber":380,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":381,"author":{"gitId":"-"},"content":" public void untilDate_withExtraTime_success() throws Exception {"},{"lineNumber":382,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":383,"author":{"gitId":"-"},"content":" .addUntilDate(\"\\\"30/11/2017 10:10:10\\\"\")"},{"lineNumber":384,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":385,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":386,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":387,"author":{"gitId":"-"},"content":""},{"lineNumber":388,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);"},{"lineNumber":389,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());"},{"lineNumber":390,"author":{"gitId":"-"},"content":" }"},{"lineNumber":391,"author":{"gitId":"-"},"content":""},{"lineNumber":392,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":393,"author":{"gitId":"-"},"content":" public void period_inDaysWithSinceDate_success() throws Exception {"},{"lineNumber":394,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":395,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\")"},{"lineNumber":396,"author":{"gitId":"-"},"content":" .addPeriod(\"2d\")"},{"lineNumber":397,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":398,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":399,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":400,"author":{"gitId":"-"},"content":""},{"lineNumber":401,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.JULY.getValue(), 3);"},{"lineNumber":402,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());"},{"lineNumber":403,"author":{"gitId":"-"},"content":" }"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":406,"author":{"gitId":"-"},"content":" public void period_inWeeksWithUntilDate_success() throws Exception {"},{"lineNumber":407,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":408,"author":{"gitId":"-"},"content":" .addUntilDate(\"14/07/2017\")"},{"lineNumber":409,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":410,"author":{"gitId":"-"},"content":" .addPeriod(\"2w\")"},{"lineNumber":411,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":412,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":413,"author":{"gitId":"-"},"content":""},{"lineNumber":414,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JUNE.getValue(), 30);"},{"lineNumber":415,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());"},{"lineNumber":416,"author":{"gitId":"-"},"content":" }"},{"lineNumber":417,"author":{"gitId":"-"},"content":""},{"lineNumber":418,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":419,"author":{"gitId":"-"},"content":" public void formats_inAlphanumeric_success() throws Exception {"},{"lineNumber":420,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addFormats(\"java js css 7z\").build();"},{"lineNumber":421,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":422,"author":{"gitId":"-"},"content":""},{"lineNumber":423,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes("},{"lineNumber":424,"author":{"gitId":"-"},"content":" Arrays.asList(\"java\", \"js\", \"css\", \"7z\"));"},{"lineNumber":425,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());"},{"lineNumber":426,"author":{"gitId":"-"},"content":" }"},{"lineNumber":427,"author":{"gitId":"-"},"content":""},{"lineNumber":428,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":429,"author":{"gitId":"-"},"content":" public void numCloningThreads_default_success() throws Exception {"},{"lineNumber":430,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.build();"},{"lineNumber":431,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":432,"author":{"gitId":"-"},"content":""},{"lineNumber":433,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d ArgsParser.DEFAULT_NUM_CLONING_THREADS;"},{"lineNumber":434,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumCloningThreads());"},{"lineNumber":435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":436,"author":{"gitId":"-"},"content":""},{"lineNumber":437,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":438,"author":{"gitId":"-"},"content":" public void numCloningThreads_isNumeric_success() throws Exception {"},{"lineNumber":439,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":440,"author":{"gitId":"-"},"content":" .addNumCloningThreads(2)"},{"lineNumber":441,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":442,"author":{"gitId":"-"},"content":" System.out.println(input);"},{"lineNumber":443,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":444,"author":{"gitId":"-"},"content":""},{"lineNumber":445,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d 2;"},{"lineNumber":446,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumCloningThreads());"},{"lineNumber":447,"author":{"gitId":"-"},"content":" }"},{"lineNumber":448,"author":{"gitId":"-"},"content":""},{"lineNumber":449,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":450,"author":{"gitId":"-"},"content":" public void numAnalysisThreads_default_success() throws Exception {"},{"lineNumber":451,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.build();"},{"lineNumber":452,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":453,"author":{"gitId":"-"},"content":""},{"lineNumber":454,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d ArgsParser.DEFAULT_NUM_ANALYSIS_THREADS;"},{"lineNumber":455,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumAnalysisThreads());"},{"lineNumber":456,"author":{"gitId":"-"},"content":" }"},{"lineNumber":457,"author":{"gitId":"-"},"content":""},{"lineNumber":458,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":459,"author":{"gitId":"-"},"content":" public void numAnalysisThreads_isNumeric_success() throws Exception {"},{"lineNumber":460,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":461,"author":{"gitId":"-"},"content":" .addNumAnalysisThreads(2)"},{"lineNumber":462,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":463,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":464,"author":{"gitId":"-"},"content":""},{"lineNumber":465,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d 2;"},{"lineNumber":466,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumAnalysisThreads());"},{"lineNumber":467,"author":{"gitId":"-"},"content":" }"},{"lineNumber":468,"author":{"gitId":"-"},"content":""},{"lineNumber":469,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":470,"author":{"gitId":"-"},"content":" public void parse_validGitRepoLocations_repoConfigurationListCorrectSize() throws Exception {"},{"lineNumber":471,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA).build();"},{"lineNumber":472,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":473,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e repoConfigs \u003d RunConfigurationDecider"},{"lineNumber":474,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)"},{"lineNumber":475,"author":{"gitId":"-"},"content":" .getRepoConfigurations();"},{"lineNumber":476,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, repoConfigs.size());"},{"lineNumber":477,"author":{"gitId":"-"},"content":" }"},{"lineNumber":478,"author":{"gitId":"-"},"content":""},{"lineNumber":479,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":480,"author":{"gitId":"-"},"content":" public void parse_repoLocationsAndView_returnsLocationCliArguments() throws Exception {"},{"lineNumber":481,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)"},{"lineNumber":482,"author":{"gitId":"-"},"content":" .addView()"},{"lineNumber":483,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":484,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":485,"author":{"gitId":"-"},"content":""},{"lineNumber":486,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":487,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedLocations \u003d Arrays.asList(TEST_REPO_REPOSENSE, TEST_REPO_DELTA);"},{"lineNumber":488,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedLocations, cliArguments.getLocations());"},{"lineNumber":489,"author":{"gitId":"-"},"content":" }"},{"lineNumber":490,"author":{"gitId":"-"},"content":""},{"lineNumber":491,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":492,"author":{"gitId":"-"},"content":" public void parse_repoLocationsOnly_success() throws Exception {"},{"lineNumber":493,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA).build();"},{"lineNumber":494,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":495,"author":{"gitId":"-"},"content":""},{"lineNumber":496,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":497,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedLocations \u003d Arrays.asList(TEST_REPO_REPOSENSE, TEST_REPO_DELTA);"},{"lineNumber":498,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedLocations, cliArguments.getLocations());"},{"lineNumber":499,"author":{"gitId":"-"},"content":" }"},{"lineNumber":500,"author":{"gitId":"-"},"content":""},{"lineNumber":501,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":502,"author":{"gitId":"-"},"content":" public void parse_repoLocationsAndViewWithArgs_returnsLocationsCliArguments() throws Exception {"},{"lineNumber":503,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)"},{"lineNumber":504,"author":{"gitId":"-"},"content":" .addView(OUTPUT_DIRECTORY_ABSOLUTE)"},{"lineNumber":505,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":506,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":507,"author":{"gitId":"-"},"content":""},{"lineNumber":508,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":509,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedLocations \u003d Arrays.asList(TEST_REPO_REPOSENSE, TEST_REPO_DELTA);"},{"lineNumber":510,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedLocations, cliArguments.getLocations());"},{"lineNumber":511,"author":{"gitId":"-"},"content":" }"},{"lineNumber":512,"author":{"gitId":"-"},"content":""},{"lineNumber":513,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":514,"author":{"gitId":"-"},"content":" public void parse_configOrLocationsSimilar_success() throws Exception {"},{"lineNumber":515,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE).build();"},{"lineNumber":516,"author":{"gitId":"-"},"content":" CliArguments configCliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":517,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualRepoConfigs \u003d RunConfigurationDecider"},{"lineNumber":518,"author":{"gitId":"-"},"content":" .getRunConfiguration(configCliArguments)"},{"lineNumber":519,"author":{"gitId":"-"},"content":" .getRepoConfigurations();"},{"lineNumber":520,"author":{"gitId":"-"},"content":""},{"lineNumber":521,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addRepos(TEST_REPO_BETA, TEST_REPO_CHARLIE, TEST_REPO_DELTA).build();"},{"lineNumber":522,"author":{"gitId":"-"},"content":" CliArguments locationCliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":523,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e expectedRepoConfigs \u003d RunConfigurationDecider"},{"lineNumber":524,"author":{"gitId":"-"},"content":" .getRunConfiguration(locationCliArguments)"},{"lineNumber":525,"author":{"gitId":"-"},"content":" .getRepoConfigurations();"},{"lineNumber":526,"author":{"gitId":"-"},"content":""},{"lineNumber":527,"author":{"gitId":"-"},"content":" Assertions.assertEquals(actualRepoConfigs, expectedRepoConfigs);"},{"lineNumber":528,"author":{"gitId":"-"},"content":" }"},{"lineNumber":529,"author":{"gitId":"-"},"content":""},{"lineNumber":530,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":531,"author":{"gitId":"-"},"content":" public void emptyArgs_defaultConfigFolderPath() throws Exception {"},{"lineNumber":532,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(new String[]{});"},{"lineNumber":533,"author":{"gitId":"-"},"content":""},{"lineNumber":534,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CONFIG_DIRECTORY.toString(), cliArguments.getConfigFolderPath().toString());"},{"lineNumber":535,"author":{"gitId":"-"},"content":" }"},{"lineNumber":536,"author":{"gitId":"-"},"content":""},{"lineNumber":537,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":538,"author":{"gitId":"-"},"content":" public void parse_repoAliases_sameResult() throws Exception {"},{"lineNumber":539,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_BETA).build();"},{"lineNumber":540,"author":{"gitId":"-"},"content":" CliArguments repoAliasCliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":541,"author":{"gitId":"-"},"content":""},{"lineNumber":542,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().add(String.format(\"--repos %s\", TEST_REPO_BETA)).build();"},{"lineNumber":543,"author":{"gitId":"-"},"content":" CliArguments reposAliasCliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":544,"author":{"gitId":"-"},"content":""},{"lineNumber":545,"author":{"gitId":"-"},"content":" Assertions.assertEquals(repoAliasCliArguments, reposAliasCliArguments);"},{"lineNumber":546,"author":{"gitId":"-"},"content":" }"},{"lineNumber":547,"author":{"gitId":"-"},"content":""},{"lineNumber":548,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":549,"author":{"gitId":"-"},"content":" public void absoluteConfigFolder_withoutRequiredConfigFiles_throwsParseException() {"},{"lineNumber":550,"author":{"gitId":"-"},"content":" Path absDirectory \u003d PROJECT_DIRECTORY.getParent().toAbsolutePath();"},{"lineNumber":551,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(absDirectory).build();"},{"lineNumber":552,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":553,"author":{"gitId":"-"},"content":" }"},{"lineNumber":554,"author":{"gitId":"-"},"content":""},{"lineNumber":555,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":556,"author":{"gitId":"-"},"content":" public void relativeConfigFolder_withoutRequiredConfigFiles_throwsParseException() {"},{"lineNumber":557,"author":{"gitId":"-"},"content":" Path relDirectory \u003d PROJECT_DIRECTORY.getParent();"},{"lineNumber":558,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(relDirectory).build();"},{"lineNumber":559,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":560,"author":{"gitId":"-"},"content":" }"},{"lineNumber":561,"author":{"gitId":"-"},"content":""},{"lineNumber":562,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":563,"author":{"gitId":"-"},"content":" public void parse_notExistsConfigFolder_throwsParseException() {"},{"lineNumber":564,"author":{"gitId":"-"},"content":" Path absConfigFolder \u003d PROJECT_DIRECTORY.resolve(\"non_existing_random_folder\");"},{"lineNumber":565,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(absConfigFolder).build();"},{"lineNumber":566,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":567,"author":{"gitId":"-"},"content":" }"},{"lineNumber":568,"author":{"gitId":"-"},"content":""},{"lineNumber":569,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":570,"author":{"gitId":"-"},"content":" public void parse_configCsvFileAsConfigFolder_throwsParseException() {"},{"lineNumber":571,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(REPO_CONFIG_CSV_FILE).build();"},{"lineNumber":572,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":573,"author":{"gitId":"-"},"content":" }"},{"lineNumber":574,"author":{"gitId":"-"},"content":""},{"lineNumber":575,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":576,"author":{"gitId":"-"},"content":" public void parse_missingConfigValue_throwsParseException() {"},{"lineNumber":577,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(new File(\"\").toPath()).build();"},{"lineNumber":578,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":579,"author":{"gitId":"-"},"content":" }"},{"lineNumber":580,"author":{"gitId":"-"},"content":""},{"lineNumber":581,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":582,"author":{"gitId":"-"},"content":" public void outputPath_nonExistentDirectory_success() throws Exception {"},{"lineNumber":583,"author":{"gitId":"-"},"content":" Path nonExistentDirectory \u003d PROJECT_DIRECTORY.resolve(NONEXISTENT_DIRECTORY);"},{"lineNumber":584,"author":{"gitId":"-"},"content":" Path expectedRelativeOutputDirectoryPath \u003d nonExistentDirectory.resolve(ArgsParser.DEFAULT_REPORT_NAME);"},{"lineNumber":585,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addOutput(nonExistentDirectory).build();"},{"lineNumber":586,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":587,"author":{"gitId":"-"},"content":""},{"lineNumber":588,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":589,"author":{"gitId":"-"},"content":" expectedRelativeOutputDirectoryPath, cliArguments.getOutputFilePath()));"},{"lineNumber":590,"author":{"gitId":"-"},"content":" }"},{"lineNumber":591,"author":{"gitId":"-"},"content":""},{"lineNumber":592,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":593,"author":{"gitId":"-"},"content":" public void sinceDate_unsupportedFormats_throwsParseException() {"},{"lineNumber":594,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(\"01 July 17\").build();"},{"lineNumber":595,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":596,"author":{"gitId":"-"},"content":" }"},{"lineNumber":597,"author":{"gitId":"-"},"content":""},{"lineNumber":598,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":599,"author":{"gitId":"-"},"content":" public void untilDate_unsupportedFormats_throwsParseException() {"},{"lineNumber":600,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addUntilDate(\"11/31/2017\").build();"},{"lineNumber":601,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":602,"author":{"gitId":"-"},"content":" }"},{"lineNumber":603,"author":{"gitId":"-"},"content":""},{"lineNumber":604,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":605,"author":{"gitId":"-"},"content":" public void sinceDate_laterThanUntilDate_throwsParseException() {"},{"lineNumber":606,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(\"01/12/2017\")"},{"lineNumber":607,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")"},{"lineNumber":608,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":609,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":610,"author":{"gitId":"-"},"content":" }"},{"lineNumber":611,"author":{"gitId":"-"},"content":""},{"lineNumber":612,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":613,"author":{"gitId":"-"},"content":" public void sinceDate_laterThanCurrentDate_throwsParseException() {"},{"lineNumber":614,"author":{"gitId":"-"},"content":" LocalDateTime tomorrowDateTime \u003d LocalDateTime.now()"},{"lineNumber":615,"author":{"gitId":"-"},"content":" .plusDays(1L);"},{"lineNumber":616,"author":{"gitId":"-"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy\");"},{"lineNumber":617,"author":{"gitId":"-"},"content":" String tomorrow \u003d tomorrowDateTime.format(formatter);"},{"lineNumber":618,"author":{"gitId":"-"},"content":""},{"lineNumber":619,"author":{"gitId":"-"},"content":""},{"lineNumber":620,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(tomorrow)"},{"lineNumber":621,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":622,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":623,"author":{"gitId":"-"},"content":" }"},{"lineNumber":624,"author":{"gitId":"-"},"content":""},{"lineNumber":625,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":626,"author":{"gitId":"-"},"content":" public void sinceDate_beforeUntilDateAndLaterThanCurrentDate_throwsParseException() {"},{"lineNumber":627,"author":{"gitId":"-"},"content":" LocalDateTime tomorrowDateTime \u003d LocalDateTime.now()"},{"lineNumber":628,"author":{"gitId":"-"},"content":" .plusDays(1L);"},{"lineNumber":629,"author":{"gitId":"-"},"content":" LocalDateTime dayAfterDateTime \u003d LocalDateTime.now()"},{"lineNumber":630,"author":{"gitId":"-"},"content":" .plusDays(2L);"},{"lineNumber":631,"author":{"gitId":"-"},"content":""},{"lineNumber":632,"author":{"gitId":"-"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy\");"},{"lineNumber":633,"author":{"gitId":"-"},"content":" String tomorrow \u003d tomorrowDateTime.format(formatter);"},{"lineNumber":634,"author":{"gitId":"-"},"content":" String dayAfter \u003d dayAfterDateTime.format(formatter);"},{"lineNumber":635,"author":{"gitId":"-"},"content":""},{"lineNumber":636,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(tomorrow)"},{"lineNumber":637,"author":{"gitId":"-"},"content":" .addUntilDate(dayAfter)"},{"lineNumber":638,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":639,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":640,"author":{"gitId":"-"},"content":" }"},{"lineNumber":641,"author":{"gitId":"-"},"content":""},{"lineNumber":642,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":643,"author":{"gitId":"-"},"content":" public void period_withBothSinceDateAndUntilDate_throwsParseException() {"},{"lineNumber":644,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addPeriod(\"18d\")"},{"lineNumber":645,"author":{"gitId":"-"},"content":" .addSinceDate(\"30/11/2017\")"},{"lineNumber":646,"author":{"gitId":"-"},"content":" .addUntilDate(\"01/12/2017\")"},{"lineNumber":647,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":648,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":649,"author":{"gitId":"-"},"content":" }"},{"lineNumber":650,"author":{"gitId":"-"},"content":""},{"lineNumber":651,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":652,"author":{"gitId":"-"},"content":" public void period_notNumeric_throwsParseExcpetion() {"},{"lineNumber":653,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addPeriod(\"abcd\").build();"},{"lineNumber":654,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":655,"author":{"gitId":"-"},"content":" }"},{"lineNumber":656,"author":{"gitId":"-"},"content":""},{"lineNumber":657,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":658,"author":{"gitId":"-"},"content":" public void period_isZero_throwsParseExcpetion() {"},{"lineNumber":659,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addPeriod(\"0w\").build();"},{"lineNumber":660,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":661,"author":{"gitId":"-"},"content":" }"},{"lineNumber":662,"author":{"gitId":"-"},"content":""},{"lineNumber":663,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":664,"author":{"gitId":"-"},"content":" public void formats_notInAlphanumeric_throwsParseException() {"},{"lineNumber":665,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addFormats(\".java\").build();"},{"lineNumber":666,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":667,"author":{"gitId":"-"},"content":" }"},{"lineNumber":668,"author":{"gitId":"-"},"content":""},{"lineNumber":669,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":670,"author":{"gitId":"-"},"content":" public void parse_mutuallyExclusiveArgumentsConfigAndReposTogether_throwsParseException() {"},{"lineNumber":671,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":672,"author":{"gitId":"-"},"content":" .addRepos(TEST_REPO_REPOSENSE)"},{"lineNumber":673,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":674,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":675,"author":{"gitId":"-"},"content":" }"},{"lineNumber":676,"author":{"gitId":"-"},"content":""},{"lineNumber":677,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":678,"author":{"gitId":"-"},"content":" public void parse_extraArgumentForIgnore_throwsParseException() {"},{"lineNumber":679,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addIgnoreStandaloneConfig().add(\"true\").build();"},{"lineNumber":680,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":681,"author":{"gitId":"-"},"content":" }"},{"lineNumber":682,"author":{"gitId":"-"},"content":""},{"lineNumber":683,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":684,"author":{"gitId":"-"},"content":" public void parse_withTimezone_success() throws Exception {"},{"lineNumber":685,"author":{"gitId":"-"},"content":" String zoneId \u003d \"UTC+11\";"},{"lineNumber":686,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addTimezone(zoneId).build();"},{"lineNumber":687,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":688,"author":{"gitId":"-"},"content":""},{"lineNumber":689,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.of(zoneId), cliArguments.getZoneId());"},{"lineNumber":690,"author":{"gitId":"-"},"content":""},{"lineNumber":691,"author":{"gitId":"-"},"content":" zoneId \u003d \"UTC-1030\";"},{"lineNumber":692,"author":{"gitId":"-"},"content":" input \u003d DEFAULT_INPUT_BUILDER.addTimezone(zoneId).build();"},{"lineNumber":693,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":694,"author":{"gitId":"-"},"content":""},{"lineNumber":695,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.of(zoneId), cliArguments.getZoneId());"},{"lineNumber":696,"author":{"gitId":"-"},"content":""},{"lineNumber":697,"author":{"gitId":"-"},"content":" zoneId \u003d \"UTC\";"},{"lineNumber":698,"author":{"gitId":"-"},"content":" input \u003d DEFAULT_INPUT_BUILDER.addTimezone(zoneId).build();"},{"lineNumber":699,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":700,"author":{"gitId":"-"},"content":""},{"lineNumber":701,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.of(zoneId), cliArguments.getZoneId());"},{"lineNumber":702,"author":{"gitId":"-"},"content":" }"},{"lineNumber":703,"author":{"gitId":"-"},"content":""},{"lineNumber":704,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":705,"author":{"gitId":"-"},"content":" public void parse_incorrectTimezone_throwsParseException() {"},{"lineNumber":706,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addTimezone(\"UTC+\").build();"},{"lineNumber":707,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));;"},{"lineNumber":708,"author":{"gitId":"-"},"content":" }"},{"lineNumber":709,"author":{"gitId":"-"},"content":""},{"lineNumber":710,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":711,"author":{"gitId":"-"},"content":" public void parse_timezoneWithoutArgument_throwsParseException() {"},{"lineNumber":712,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addTimezone(\"\").build();"},{"lineNumber":713,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":715,"author":{"gitId":"-"},"content":""},{"lineNumber":716,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":717,"author":{"gitId":"-"},"content":" public void parse_shallowCloning_success() throws Exception {"},{"lineNumber":718,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":719,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)"},{"lineNumber":720,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":721,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":722,"author":{"gitId":"-"},"content":" Assertions.assertEquals(false, cliArguments.isShallowCloningPerformed());"},{"lineNumber":723,"author":{"gitId":"-"},"content":""},{"lineNumber":724,"author":{"gitId":"-"},"content":" String inputShallow \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":725,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)"},{"lineNumber":726,"author":{"gitId":"-"},"content":" .addShallowCloning()"},{"lineNumber":727,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":728,"author":{"gitId":"-"},"content":" CliArguments cliArgumentsShallow \u003d ArgsParser.parse(translateCommandline(inputShallow));"},{"lineNumber":729,"author":{"gitId":"-"},"content":" Assertions.assertEquals(true, cliArgumentsShallow.isShallowCloningPerformed());"},{"lineNumber":730,"author":{"gitId":"-"},"content":" }"},{"lineNumber":731,"author":{"gitId":"-"},"content":""},{"lineNumber":732,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":733,"author":{"gitId":"-"},"content":" * Ensures that {@code actualSinceDate} is exactly one month before {@code untilDate}."},{"lineNumber":734,"author":{"gitId":"-"},"content":" *"},{"lineNumber":735,"author":{"gitId":"-"},"content":" * @throws AssertionError if {@code actualSinceDate} is not one month before {@code untilDate}."},{"lineNumber":736,"author":{"gitId":"-"},"content":" */"},{"lineNumber":737,"author":{"gitId":"-"},"content":" private void assertDateDiffOneMonth(LocalDateTime actualSinceDate, LocalDateTime untilDate) {"},{"lineNumber":738,"author":{"gitId":"-"},"content":" LocalDateTime oneMonthBeforeUntilDate \u003d untilDate.withHour(0).withMinute(0).withSecond(0).minusMonths(1);"},{"lineNumber":739,"author":{"gitId":"-"},"content":" Assertions.assertTrue(actualSinceDate.equals(oneMonthBeforeUntilDate));"},{"lineNumber":740,"author":{"gitId":"-"},"content":" }"},{"lineNumber":741,"author":{"gitId":"-"},"content":""},{"lineNumber":742,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":743,"author":{"gitId":"-"},"content":" * Ensures that {@code actualUntilDate} falls on the date of report generation with time at 23:59:59."},{"lineNumber":744,"author":{"gitId":"-"},"content":" *"},{"lineNumber":745,"author":{"gitId":"-"},"content":" * @throws AssertionError if {@code actualUntilDate} does not fall on the date of report generation"},{"lineNumber":746,"author":{"gitId":"-"},"content":" * with time at 23:59:59."},{"lineNumber":747,"author":{"gitId":"-"},"content":" */"},{"lineNumber":748,"author":{"gitId":"-"},"content":" private void assertDateDiffEndOfDay(LocalDateTime actualUntilDate) {"},{"lineNumber":749,"author":{"gitId":"-"},"content":""},{"lineNumber":750,"author":{"gitId":"-"},"content":" LocalDateTime currentDate \u003d LocalDateTime.now().withHour(23).withMinute(59).withSecond(59).withNano(0);"},{"lineNumber":751,"author":{"gitId":"-"},"content":" Assertions.assertTrue(actualUntilDate.equals(currentDate));"},{"lineNumber":752,"author":{"gitId":"-"},"content":" }"},{"lineNumber":753,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":751}},{"path":"src/test/java/reposense/parser/AuthorConfigParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.AbstractMap.SimpleEntry;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.AuthorConfiguration;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;"},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class AuthorConfigParserTest {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_EMPTY_LOCATION_FILE \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_emptyLocation_test.csv\");"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_EMPTY_CONFIG_FILE \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/require_trailing_whitespaces/authorconfig_emptyConfig_test.csv\");"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_FILE \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_noSpecialCharacter_test.csv\");"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_SPECIAL_CHARACTER_FILE \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_specialCharacter_test.csv\");"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_COMMAS_AND_DOUBLEQUOTES_FILE \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_commasAndDoubleQuotes_test.csv\");"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_EMAILS_FILE \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleEmails_test.csv\");"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_DIFFERENT_COLUMN_ORDER \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_differentColumnOrder_test.csv\");"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MISSING_OPTIONAL_HEADER \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_missingOptionalHeader_test.csv\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MISSING_MANDATORY_HEADER \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_missingMandatoryHeader_test.csv\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_UNKNOWN_HEADER \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_unknownHeaders_test.csv\");"},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_GITHUB_ID_HEADER \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_gitHubIdHeader_test.csv\");"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_GIT_HOST_ID_HEADER \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_gitHostIdHeader_test.csv\");"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_FILE \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleReposInRow_test.csv\");"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_SINGLE_BRANCH_PER_REPO_FILE \u003d loadResource("},{"lineNumber":51,"author":{"gitId":"-"},"content":" AuthorConfigParserTest.class,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleReposInRowSingleBranchPerRepo_test.csv\");"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_MULTIPLE_BRANCH_PER_REPO_FILE \u003d loadResource("},{"lineNumber":55,"author":{"gitId":"-"},"content":" AuthorConfigParserTest.class,"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleReposInRowMultipleBranchPerRepo_test.csv\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_LOCATION \u003d \"https://github.com/reposense/testrepo-Beta.git\";"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_MASTER_BRANCH \u003d \"master\";"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" private static final Author FIRST_AUTHOR \u003d new Author(\"nbriannl\");"},{"lineNumber":62,"author":{"gitId":"-"},"content":" private static final Author SECOND_AUTHOR \u003d new Author(\"zacharytang\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final List\u003cAuthor\u003e AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS \u003d"},{"lineNumber":64,"author":{"gitId":"-"},"content":" Arrays.asList(FIRST_AUTHOR, SECOND_AUTHOR);"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" private static final Author FIRST_SPECIAL_CHARACTER_AUTHOR \u003d new Author(\"‘Processed�‘Cooked�\");"},{"lineNumber":67,"author":{"gitId":"-"},"content":" private static final Author SECOND_SPECIAL_CHARACTER_AUTHOR \u003d new Author(\"(codeeong)\");"},{"lineNumber":68,"author":{"gitId":"-"},"content":" private static final Author THIRD_SPECIAL_CHARACTER_AUTHOR \u003d new Author(\"^:jordancjq;$\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" private static final List\u003cAuthor\u003e AUTHOR_CONFIG_SPECIAL_CHARACTER_AUTHORS \u003d Arrays.asList("},{"lineNumber":70,"author":{"gitId":"-"},"content":" FIRST_SPECIAL_CHARACTER_AUTHOR, SECOND_SPECIAL_CHARACTER_AUTHOR, THIRD_SPECIAL_CHARACTER_AUTHOR);"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" private static final Author FIRST_COMMAS_AND_DOUBLEQUOTES_AUTHOR \u003d new Author(\"ProcessedCooked\");"},{"lineNumber":73,"author":{"gitId":"-"},"content":" private static final Author SECOND_COMMAS_AND_DOUBLEQUOTES_AUTHOR \u003d new Author(\"codeeong\");"},{"lineNumber":74,"author":{"gitId":"-"},"content":" private static final Author THIRD_COMMAS_AND_DOUBLEQUOTES_AUTHOR \u003d new Author(\"jordancjq\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":" private static final String FIRST_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME \u003d \"Tay Fan Gao, Douya\";"},{"lineNumber":76,"author":{"gitId":"-"},"content":" private static final String SECOND_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME \u003d \"\\\"\\\"Tora, S/O,\\\" Doyua, T.\\\"\";"},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static final String THIRD_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME \u003d \"jordancjq\";"},{"lineNumber":78,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_COMMAS_AND_DOUBLEQUOTES_ALIAS \u003d"},{"lineNumber":79,"author":{"gitId":"-"},"content":" Collections.singletonList(\"Tay Fan Gao, Douya \\\"SOC, Y2S1\\\"\");"},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_COMMAS_AND_DOUBLEQUOTES_ALIAS \u003d Collections.emptyList();"},{"lineNumber":81,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e THIRD_COMMAS_AND_DOUBLEQUOTES_ALIAS \u003d"},{"lineNumber":82,"author":{"gitId":"-"},"content":" Arrays.asList(\"Borex T\\\"ony Tong\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final Map\u003cAuthor, List\u003cString\u003e\u003e AUTHOR_ALIAS_COMMAS_AND_DOUBLE_QUOTES_MAP \u003d"},{"lineNumber":84,"author":{"gitId":"-"},"content":" Stream.of(new SimpleEntry\u003c\u003e(FIRST_COMMAS_AND_DOUBLEQUOTES_AUTHOR, FIRST_COMMAS_AND_DOUBLEQUOTES_ALIAS),"},{"lineNumber":85,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(SECOND_COMMAS_AND_DOUBLEQUOTES_AUTHOR, SECOND_COMMAS_AND_DOUBLEQUOTES_ALIAS),"},{"lineNumber":86,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(THIRD_COMMAS_AND_DOUBLEQUOTES_AUTHOR, THIRD_COMMAS_AND_DOUBLEQUOTES_ALIAS))"},{"lineNumber":87,"author":{"gitId":"-"},"content":" .collect(Collectors.toMap(entry -\u003e entry.getKey(), entry -\u003e entry.getValue()));"},{"lineNumber":88,"author":{"gitId":"-"},"content":" private static final Map\u003cAuthor, String\u003e AUTHOR_DISPLAY_NAME_COMMAS_AND_DOUBLE_QUOTES_MAP \u003d"},{"lineNumber":89,"author":{"gitId":"-"},"content":" Stream.of(new SimpleEntry\u003c\u003e(FIRST_COMMAS_AND_DOUBLEQUOTES_AUTHOR,"},{"lineNumber":90,"author":{"gitId":"-"},"content":" FIRST_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME),"},{"lineNumber":91,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(SECOND_COMMAS_AND_DOUBLEQUOTES_AUTHOR,"},{"lineNumber":92,"author":{"gitId":"-"},"content":" SECOND_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME),"},{"lineNumber":93,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(THIRD_COMMAS_AND_DOUBLEQUOTES_AUTHOR, THIRD_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME))"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .collect(Collectors.toMap(entry -\u003e entry.getKey(), entry -\u003e entry.getValue()));"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_EMAIL_LIST \u003d"},{"lineNumber":97,"author":{"gitId":"-"},"content":" Arrays.asList(\"nbr@example.com\", \"nbriannl@test.net\", \"nbriannl@users.noreply.github.com\","},{"lineNumber":98,"author":{"gitId":"-"},"content":" \"nbriannl@users.noreply.gitlab.com\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":101,"author":{"gitId":"-"},"content":" public void authorConfig_noSpecialCharacter_success() throws Exception {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d"},{"lineNumber":103,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_FILE);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":111,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS, config.getAuthorList());"},{"lineNumber":114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":117,"author":{"gitId":"-"},"content":" public void authorConfig_emptyLocation_success() throws Exception {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" AuthorConfiguration expectedConfig \u003d new AuthorConfiguration(new RepoLocation(\"\"));"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_EMPTY_LOCATION_FILE);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d authorConfigCsvParser.parse();"},{"lineNumber":122,"author":{"gitId":"-"},"content":" AuthorConfiguration authorConfig \u003d authorConfigs.get(0);"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, authorConfigs.size());"},{"lineNumber":125,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getLocation(), authorConfig.getLocation());"},{"lineNumber":126,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getBranch(), authorConfig.getBranch());"},{"lineNumber":127,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS, authorConfig.getAuthorList());"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":131,"author":{"gitId":"-"},"content":" public void authorConfig_emptyConfig_throwsInvalidCsvException() throws Exception {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_EMPTY_CONFIG_FILE);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e authorConfigCsvParser.parse());"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":137,"author":{"gitId":"-"},"content":" public void authorConfig_specialCharacter_success() throws Exception {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_SPECIAL_CHARACTER_FILE);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":146,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_SPECIAL_CHARACTER_AUTHORS, config.getAuthorList());"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":152,"author":{"gitId":"-"},"content":" public void authorConfig_multipleEmails_success() throws Exception {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_MULTIPLE_EMAILS_FILE);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" Author actualAuthor \u003d config.getAuthorList().get(0);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FIRST_AUTHOR_EMAIL_LIST.size(), actualAuthor.getEmails().size());"},{"lineNumber":162,"author":{"gitId":"-"},"content":" Assertions.assertTrue(actualAuthor.getEmails().containsAll(FIRST_AUTHOR_EMAIL_LIST));"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":166,"author":{"gitId":"-"},"content":" public void authorConfig_differentColumnOrder_success() throws Exception {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d"},{"lineNumber":168,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(AUTHOR_CONFIG_DIFFERENT_COLUMN_ORDER);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":176,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS, config.getAuthorList());"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":182,"author":{"gitId":"-"},"content":" public void authorConfig_missingOptionalHeader_success() throws Exception {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_MISSING_OPTIONAL_HEADER);"},{"lineNumber":184,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" Assertions.assertEquals(4, config.getAuthorList().size());"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":194,"author":{"gitId":"-"},"content":" public void authorConfig_newGitHostIdHeader_success() throws Exception {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser;"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_GIT_HOST_ID_HEADER);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configsWithGitHostIdHeader \u003d authorConfigCsvParser.parse();"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_GITHUB_ID_HEADER);"},{"lineNumber":201,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configsWithGitHubIdHeader \u003d authorConfigCsvParser.parse();"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" Assertions.assertEquals(configsWithGitHubIdHeader, configsWithGitHostIdHeader);"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":207,"author":{"gitId":"-"},"content":" public void authorConfig_missingMandatoryHeader_throwsInvalidCsvException() throws Exception {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_MISSING_MANDATORY_HEADER);"},{"lineNumber":209,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e authorConfigCsvParser.parse());"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":213,"author":{"gitId":"-"},"content":" public void authorConfig_unknownHeaders_throwsInvalidHeaderException() throws Exception {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_UNKNOWN_HEADER);"},{"lineNumber":215,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidHeaderException.class, () -\u003e authorConfigCsvParser.parse());"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":219,"author":{"gitId":"-"},"content":" public void parse_multipleColumnsWithCommasAndDoubleQuotes_success() throws Exception {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d"},{"lineNumber":221,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(AUTHOR_CONFIG_COMMAS_AND_DOUBLEQUOTES_FILE);"},{"lineNumber":222,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":229,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":230,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_DISPLAY_NAME_COMMAS_AND_DOUBLE_QUOTES_MAP, config.getAuthorDisplayNameMap());"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_ALIAS_COMMAS_AND_DOUBLE_QUOTES_MAP.size(), config.getAuthorList().size());"},{"lineNumber":233,"author":{"gitId":"-"},"content":" config.getAuthorList().forEach(author -\u003e {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_ALIAS_COMMAS_AND_DOUBLE_QUOTES_MAP.get(author), author.getAuthorAliases());"},{"lineNumber":235,"author":{"gitId":"-"},"content":" });"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":239,"author":{"gitId":"-"},"content":" public void authorConfig_multipleReposInRow_success() throws Exception {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser("},{"lineNumber":241,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_FILE);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" String defaultSpecifiedBranch \u003d \"master\";"},{"lineNumber":243,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" Assertions.assertEquals(4, configs.size());"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":248,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/reposense/reposense.git\"), config.getLocation());"},{"lineNumber":249,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());"},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":" config \u003d configs.get(1);"},{"lineNumber":252,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/markbind/markbind.git\"), config.getLocation());"},{"lineNumber":253,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":" config \u003d configs.get(2);"},{"lineNumber":256,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/TEAMMATES/teammates.git\"), config.getLocation());"},{"lineNumber":257,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" config \u003d configs.get(3);"},{"lineNumber":260,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/CATcher-org/CATcher.git\"), config.getLocation());"},{"lineNumber":261,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());"},{"lineNumber":262,"author":{"gitId":"-"},"content":" }"},{"lineNumber":263,"author":{"gitId":"-"},"content":""},{"lineNumber":264,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":265,"author":{"gitId":"-"},"content":" public void authorConfig_multipleReposInRowSingleBranchPerRepo_success() throws Exception {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser("},{"lineNumber":267,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_SINGLE_BRANCH_PER_REPO_FILE);"},{"lineNumber":268,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" Assertions.assertEquals(4, configs.size());"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":274,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" config \u003d configs.get(1);"},{"lineNumber":277,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":278,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"add-config-json\", config.getBranch());"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" config \u003d configs.get(2);"},{"lineNumber":281,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/reposense/RepoSense.git\"), config.getLocation());"},{"lineNumber":282,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"release\", config.getBranch());"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" config \u003d configs.get(3);"},{"lineNumber":285,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());"},{"lineNumber":286,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"master\", config.getBranch());"},{"lineNumber":287,"author":{"gitId":"-"},"content":" }"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":290,"author":{"gitId":"-"},"content":" public void authorConfig_multipleReposInRowMultipleBranchPerRepo_success() throws Exception {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser("},{"lineNumber":292,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_MULTIPLE_BRANCH_PER_REPO_FILE);"},{"lineNumber":293,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" Assertions.assertEquals(5, configs.size());"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":298,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":299,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"add-config-json\", config.getBranch());"},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":" config \u003d configs.get(1);"},{"lineNumber":302,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":303,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":" config \u003d configs.get(2);"},{"lineNumber":306,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());"},{"lineNumber":307,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"master\", config.getBranch());"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":" config \u003d configs.get(3);"},{"lineNumber":310,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());"},{"lineNumber":311,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"release\", config.getBranch());"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":" config \u003d configs.get(4);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());"},{"lineNumber":315,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"gh-pages\", config.getBranch());"},{"lineNumber":316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":317,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":315}},{"path":"src/test/java/reposense/parser/GroupConfigParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.model.FileType;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.GroupConfiguration;"},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;"},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class GroupConfigParserTest {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_MULTI_LOCATION_FILE \u003d loadResource(GroupConfigParserTest.class,"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_multipleLocation_test.csv\");"},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_EMPTY_LOCATION_FILE \u003d loadResource(GroupConfigParserTest.class,"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_emptyLocation_test.csv\");"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_DIFFERENT_COLUMN_ORDER_FILE \u003d loadResource(GroupConfigParserTest.class,"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_differentColumnOrder_test.csv\");"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_MISSING_OPTIONAL_HEADER_FILE \u003d loadResource(GroupConfigParserTest.class,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_missingOptionalHeader_test.csv\");"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_MISSING_MANDATORY_HEADER_FILE \u003d loadResource(GroupConfigParserTest.class,"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_missingMandatoryHeader_test.csv\");"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_UNKNOWN_HEADER_FILE \u003d loadResource(GroupConfigParserTest.class,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_unknownHeader_test.csv\");"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_LOCATION \u003d \"https://github.com/reposense/testrepo-Beta.git\";"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_BETA_GROUPS \u003d Arrays.asList("},{"lineNumber":34,"author":{"gitId":"-"},"content":" new FileType(\"Code\", Arrays.asList(\"**/*.java\", \"**/*.py\")),"},{"lineNumber":35,"author":{"gitId":"-"},"content":" new FileType(\"Docs\", Collections.singletonList(\"docs/**\")));"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA_LOCATION \u003d \"https://github.com/reposense/testrepo-Delta.git\";"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_DELTA_GROUPS \u003d Arrays.asList("},{"lineNumber":39,"author":{"gitId":"-"},"content":" new FileType(\"Main\", Collections.singletonList(\"src/main/**\")),"},{"lineNumber":40,"author":{"gitId":"-"},"content":" new FileType(\"Test\", Arrays.asList(\"src/test/**\", \"src/systest/**\")));"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":43,"author":{"gitId":"-"},"content":" public void groupConfig_emptyLocation_success() throws Exception {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_EMPTY_LOCATION_FILE);"},{"lineNumber":45,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, groupConfigs.size());"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" GroupConfiguration actualReposenseConfig \u003d groupConfigs.get(0);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualReposenseConfig.getGroupsList().size());"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" GroupConfiguration actualEmptyLocationConfig \u003d groupConfigs.get(1);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualEmptyLocationConfig.getGroupsList().size());"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public void groupConfig_multipleLocations_success() throws Exception {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_MULTI_LOCATION_FILE);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, groupConfigs.size());"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" GroupConfiguration actualBetaConfig \u003d groupConfigs.get(0);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_LOCATION, actualBetaConfig.getLocation().toString());"},{"lineNumber":65,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_GROUPS, actualBetaConfig.getGroupsList());"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" GroupConfiguration actualDeltaConfig \u003d groupConfigs.get(1);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_LOCATION, actualDeltaConfig.getLocation().toString());"},{"lineNumber":69,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_GROUPS, actualDeltaConfig.getGroupsList());"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":73,"author":{"gitId":"-"},"content":" public void groupConfig_differentColumnOrder_success() throws Exception {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_DIFFERENT_COLUMN_ORDER_FILE);"},{"lineNumber":75,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, groupConfigs.size());"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" GroupConfiguration actualBetaConfig \u003d groupConfigs.get(0);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_LOCATION, actualBetaConfig.getLocation().toString());"},{"lineNumber":81,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_GROUPS, actualBetaConfig.getGroupsList());"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" GroupConfiguration actualDeltaConfig \u003d groupConfigs.get(1);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_LOCATION, actualDeltaConfig.getLocation().toString());"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_GROUPS, actualDeltaConfig.getGroupsList());"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":89,"author":{"gitId":"-"},"content":" public void groupConfig_missingOptionalHeader_success() throws Exception {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_MISSING_OPTIONAL_HEADER_FILE);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, groupConfigs.size());"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" Assertions.assertEquals(3, groupConfigs.get(0).getGroupsList().size());"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":99,"author":{"gitId":"-"},"content":" public void groupConfig_missingMandatoryHeader_throwsInvalidCsvException() throws Exception {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser("},{"lineNumber":101,"author":{"gitId":"-"},"content":" GROUP_CONFIG_MISSING_MANDATORY_HEADER_FILE);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e groupConfigCsvParser.parse());"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":106,"author":{"gitId":"-"},"content":" public void groupConfig_unknownHeader_throwsInvalidHeaderException() throws Exception {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser("},{"lineNumber":108,"author":{"gitId":"-"},"content":" GROUP_CONFIG_UNKNOWN_HEADER_FILE);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidHeaderException.class, () -\u003e groupConfigCsvParser.parse());"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":109}},{"path":"src/test/java/reposense/parser/RepoConfigParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.model.RepoConfiguration.DEFAULT_FILE_SIZE_LIMIT;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.AuthorConfiguration;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.FileType;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;"},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"public class RepoConfigParserTest {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final Path TEST_CONFIG_FOLDER \u003d loadResource(RepoConfigParserTest.class, \"repoconfig_merge_test\");"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final Path TEST_EMPTY_BRANCH_CONFIG_FOLDER \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"repoconfig_empty_branch_test\");"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_NO_SPECIAL_CHARACTER_FILE \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_noSpecialCharacter_test.csv\");"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_OVERRIDE_KEYWORD_FILE \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_overrideKeyword_test.csv\");"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_REDUNDANT_LINES_FILE \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/require_trailing_whitespaces/repoconfig_redundantLines_test.csv\");"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_UNRECOGNIZED_VALUES_FOR_YES_KEYWORD_HEADERS_FILE \u003d"},{"lineNumber":38,"author":{"gitId":"-"},"content":" loadResource(RepoConfigParserTest.class,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_unrecognizedValuesForYesKeywordHeaders_test.csv\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_DUPLICATE_HEADERS_CASE_SENSITIVE_FILE \u003d"},{"lineNumber":41,"author":{"gitId":"-"},"content":" loadResource(RepoConfigParserTest.class,"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_duplicateHeadersCaseSensitive_test.csv\");"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_DUPLICATE_HEADERS_CASE_INSENSITIVE_FILE \u003d"},{"lineNumber":44,"author":{"gitId":"-"},"content":" loadResource(RepoConfigParserTest.class,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_duplicateHeadersCaseInsensitive_test.csv\");"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_DIFFERENT_COLUMN_ORDER_FILE \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_differentColumnOrder_test.csv\");"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_OPTIONAL_HEADER_MISSING_FILE \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_missingOptionalHeader_test.csv\");"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_MANDATORY_HEADER_MISSING_FILE \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_missingMandatoryHeader_test.csv\");"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final Path MERGE_EMPTY_LOCATION_FOLDER \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_merge_empty_location_test\");"},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_UNKNOWN_HEADER_FILE \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_unknownHeaders_test.csv\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_INVALID_FILE_SIZE_LIMIT \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_invalidFileSizeLimit_test.csv\");"},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_IGNORE_FILE_SIZE_LIMIT \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_ignoreFileSizeLimit_test.csv\");"},{"lineNumber":60,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_ZERO_VALID_RECORDS \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"CsvParserTest/repoconfig_zeroValidRecords_test.csv\");"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_LOCATION \u003d \"https://github.com/reposense/testrepo-Beta.git\";"},{"lineNumber":64,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_MASTER_BRANCH \u003d \"master\";"},{"lineNumber":65,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_ADD_CONFIG_JSON_BRANCH \u003d \"add-config-json\";"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA_LOCATION \u003d \"https://github.com/reposense/testrepo-Delta.git\";"},{"lineNumber":68,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA_BRANCH \u003d \"HEAD\";"},{"lineNumber":69,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_DELTA_FORMATS \u003d"},{"lineNumber":70,"author":{"gitId":"-"},"content":" FileType.convertFormatStringsToFileTypes(Arrays.asList(\"java\", \"fxml\"));"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_BETA_CONFIG_FORMATS \u003d"},{"lineNumber":73,"author":{"gitId":"-"},"content":" FileType.convertFormatStringsToFileTypes(Arrays.asList(\"java\", \"adoc\", \"md\"));"},{"lineNumber":74,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e TEST_REPO_BETA_CONFIG_IGNORED_COMMITS \u003d"},{"lineNumber":75,"author":{"gitId":"-"},"content":" Arrays.asList(\"abcde12345\", \"67890fdecba\");"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static final int FILE_SIZE_LIMIT_VALUE \u003d 100000;"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_CHARLIE_LOCATION \u003d \"https://github.com/reposense/testrepo-Charlie.git\";"},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_CHARLIE_BRANCH \u003d \"HEAD\";"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" private static final Author FIRST_AUTHOR \u003d new Author(\"nbriannl\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final Author SECOND_AUTHOR \u003d new Author(\"zacharytang\");"},{"lineNumber":84,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_ALIASES \u003d Arrays.asList(\"Zachary Tang\");"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e REPO_LEVEL_GLOB_LIST \u003d Arrays.asList(\"collated**\");"},{"lineNumber":87,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"**.java\", \"collated**\");"},{"lineNumber":88,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"**.doc\", \"collated**\");"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":91,"author":{"gitId":"-"},"content":" public void repoConfig_noSpecialCharacter_success() throws Exception {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_NO_SPECIAL_CHARACTER_FILE);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":100,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isStandaloneConfigIgnored());"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" Assertions.assertEquals(config.getIgnoreCommitList(),"},{"lineNumber":107,"author":{"gitId":"-"},"content":" CommitHash.convertStringsToCommits(TEST_REPO_BETA_CONFIG_IGNORED_COMMITS));"},{"lineNumber":108,"author":{"gitId":"-"},"content":" Assertions.assertEquals(config.getFileSizeLimit(), FILE_SIZE_LIMIT_VALUE);"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isShallowCloningPerformed());"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFormatsOverriding());"},{"lineNumber":113,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreGlobListOverriding());"},{"lineNumber":114,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreCommitListOverriding());"},{"lineNumber":115,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFileSizeLimitOverriding());"},{"lineNumber":116,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFileSizeLimitIgnored());"},{"lineNumber":117,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isIgnoredFileAnalysisSkipped());"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":121,"author":{"gitId":"-"},"content":" public void merge_twoRepoConfigs_success() throws Exception {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setIgnoreGlobList(FIRST_AUTHOR_GLOB_LIST);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setIgnoreGlobList(SECOND_AUTHOR_GLOB_LIST);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setAuthorAliases(SECOND_AUTHOR_ALIASES);"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":127,"author":{"gitId":"-"},"content":" expectedAuthors.add(FIRST_AUTHOR);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" expectedAuthors.add(SECOND_AUTHOR);"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration firstRepo \u003d new RepoConfiguration.Builder()"},{"lineNumber":131,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))"},{"lineNumber":132,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_BETA_MASTER_BRANCH)"},{"lineNumber":133,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":134,"author":{"gitId":"-"},"content":" firstRepo.setAuthorList(expectedAuthors);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" firstRepo.setAuthorDisplayName(FIRST_AUTHOR, \"Nbr\");"},{"lineNumber":136,"author":{"gitId":"-"},"content":" firstRepo.setAuthorDisplayName(SECOND_AUTHOR, \"Zac\");"},{"lineNumber":137,"author":{"gitId":"-"},"content":" firstRepo.addAuthorNamesToAuthorMapEntry(SECOND_AUTHOR, Arrays.asList(\"Zachary Tang\"));"},{"lineNumber":138,"author":{"gitId":"-"},"content":" firstRepo.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration secondRepo \u003d new RepoConfiguration.Builder()"},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))"},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_BETA_ADD_CONFIG_JSON_BRANCH)"},{"lineNumber":143,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":144,"author":{"gitId":"-"},"content":" secondRepo.setAuthorList(Arrays.asList(SECOND_AUTHOR));"},{"lineNumber":145,"author":{"gitId":"-"},"content":" secondRepo.setAuthorDisplayName(SECOND_AUTHOR, \"Zac\");"},{"lineNumber":146,"author":{"gitId":"-"},"content":" secondRepo.addAuthorNamesToAuthorMapEntry(SECOND_AUTHOR, Arrays.asList(\"Zachary Tang\"));"},{"lineNumber":147,"author":{"gitId":"-"},"content":" secondRepo.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(TEST_CONFIG_FOLDER).build();"},{"lineNumber":150,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":153,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":154,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d"},{"lineNumber":155,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();"},{"lineNumber":156,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualConfigs.size());"},{"lineNumber":159,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(firstRepo, actualConfigs.get(0));"},{"lineNumber":160,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(secondRepo, actualConfigs.get(1));"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":164,"author":{"gitId":"-"},"content":" public void merge_emptyLocation_success() throws Exception {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setIgnoreGlobList(FIRST_AUTHOR_GLOB_LIST);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":167,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setAuthorAliases(SECOND_AUTHOR_ALIASES);"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedBetaAuthors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":170,"author":{"gitId":"-"},"content":" expectedBetaAuthors.add(FIRST_AUTHOR);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" expectedBetaAuthors.add(SECOND_AUTHOR);"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedDeltaAuthors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":174,"author":{"gitId":"-"},"content":" expectedDeltaAuthors.add(FIRST_AUTHOR);"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" RepoConfiguration expectedBetaConfig \u003d"},{"lineNumber":177,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":178,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))"},{"lineNumber":179,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_BETA_MASTER_BRANCH)"},{"lineNumber":180,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":181,"author":{"gitId":"-"},"content":" expectedBetaConfig.setAuthorList(expectedBetaAuthors);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" expectedBetaConfig.setAuthorDisplayName(FIRST_AUTHOR, \"Nbr\");"},{"lineNumber":183,"author":{"gitId":"-"},"content":" expectedBetaConfig.setAuthorDisplayName(SECOND_AUTHOR, \"Zac\");"},{"lineNumber":184,"author":{"gitId":"-"},"content":" expectedBetaConfig.addAuthorNamesToAuthorMapEntry(SECOND_AUTHOR, Arrays.asList(\"Zachary Tang\"));"},{"lineNumber":185,"author":{"gitId":"-"},"content":" expectedBetaConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":186,"author":{"gitId":"-"},"content":" expectedBetaConfig.setIsShallowCloningPerformed(true);"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" RepoConfiguration expectedDeltaConfig \u003d"},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA_LOCATION))"},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_DELTA_BRANCH)"},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":193,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setAuthorList(expectedDeltaAuthors);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setAuthorDisplayName(FIRST_AUTHOR, \"Nbr\");"},{"lineNumber":195,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setFormats(TEST_REPO_DELTA_FORMATS);"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e expectedConfigs \u003d new ArrayList\u003c\u003e();"},{"lineNumber":199,"author":{"gitId":"-"},"content":" expectedConfigs.add(expectedBetaConfig);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" expectedConfigs.add(expectedDeltaConfig);"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(MERGE_EMPTY_LOCATION_FOLDER).build();"},{"lineNumber":203,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":206,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":207,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d"},{"lineNumber":208,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();"},{"lineNumber":209,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualConfigs.size());"},{"lineNumber":212,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfigs, actualConfigs);"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfigs.get(0), actualConfigs.get(0));"},{"lineNumber":215,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfigs.get(1), actualConfigs.get(1));"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":219,"author":{"gitId":"-"},"content":" public void repoConfig_defaultBranch_success() throws Exception {"},{"lineNumber":220,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":221,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))"},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":" .branch(RepoConfiguration.DEFAULT_BRANCH)"},{"lineNumber":223,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(TEST_EMPTY_BRANCH_CONFIG_FOLDER).build();"},{"lineNumber":226,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":229,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":230,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d"},{"lineNumber":231,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();"},{"lineNumber":232,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());"},{"lineNumber":235,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getBranch(), actualConfigs.get(0).getBranch());"},{"lineNumber":236,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getBranch(), authorConfigs.get(0).getBranch());"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":240,"author":{"gitId":"-"},"content":" public void repoConfig_overrideKeyword_success() throws Exception {"},{"lineNumber":241,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_OVERRIDE_KEYWORD_FILE);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":243,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":246,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":247,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":248,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());"},{"lineNumber":249,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isStandaloneConfigIgnored());"},{"lineNumber":250,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CommitHash.convertStringsToCommits(TEST_REPO_BETA_CONFIG_IGNORED_COMMITS),"},{"lineNumber":251,"author":{"gitId":"-"},"content":" config.getIgnoreCommitList());"},{"lineNumber":252,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FILE_SIZE_LIMIT_VALUE, config.getFileSizeLimit());"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isFormatsOverriding());"},{"lineNumber":255,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isIgnoreGlobListOverriding());"},{"lineNumber":256,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isIgnoreCommitListOverriding());"},{"lineNumber":257,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isFileSizeLimitOverriding());"},{"lineNumber":258,"author":{"gitId":"-"},"content":" }"},{"lineNumber":259,"author":{"gitId":"-"},"content":""},{"lineNumber":260,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":261,"author":{"gitId":"-"},"content":" public void repoConfig_redundantLines_success() throws Exception {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_REDUNDANT_LINES_FILE);"},{"lineNumber":263,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":" Assertions.assertEquals(3, configs.size());"},{"lineNumber":266,"author":{"gitId":"-"},"content":" RepoConfiguration betaConfig \u003d configs.get(0);"},{"lineNumber":267,"author":{"gitId":"-"},"content":" RepoConfiguration charlieConfig \u003d configs.get(1);"},{"lineNumber":268,"author":{"gitId":"-"},"content":" RepoConfiguration deltaConfig \u003d configs.get(2);"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), betaConfig.getLocation());"},{"lineNumber":271,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, betaConfig.getBranch());"},{"lineNumber":272,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_CHARLIE_LOCATION), charlieConfig.getLocation());"},{"lineNumber":273,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_CHARLIE_BRANCH, charlieConfig.getBranch());"},{"lineNumber":274,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_DELTA_LOCATION), deltaConfig.getLocation());"},{"lineNumber":275,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_BRANCH, deltaConfig.getBranch());"},{"lineNumber":276,"author":{"gitId":"-"},"content":" Assertions.assertTrue(deltaConfig.isStandaloneConfigIgnored());"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":280,"author":{"gitId":"-"},"content":" public void repoConfig_differentColumnOrder_success() throws Exception {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_DIFFERENT_COLUMN_ORDER_FILE);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":289,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isStandaloneConfigIgnored());"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" Assertions.assertEquals(config.getIgnoreCommitList(),"},{"lineNumber":296,"author":{"gitId":"-"},"content":" CommitHash.convertStringsToCommits(TEST_REPO_BETA_CONFIG_IGNORED_COMMITS));"},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFormatsOverriding());"},{"lineNumber":299,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreGlobListOverriding());"},{"lineNumber":300,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreCommitListOverriding());"},{"lineNumber":301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":304,"author":{"gitId":"-"},"content":" public void repoConfig_missingOptionalHeader_success() throws Exception {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_OPTIONAL_HEADER_MISSING_FILE);"},{"lineNumber":306,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":313,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());"},{"lineNumber":316,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_FILE_SIZE_LIMIT, config.getFileSizeLimit());"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isStandaloneConfigIgnored());"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFormatsOverriding());"},{"lineNumber":321,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreGlobListOverriding());"},{"lineNumber":322,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreCommitListOverriding());"},{"lineNumber":323,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFileSizeLimitOverriding());"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":327,"author":{"gitId":"-"},"content":" public void repoConfig_withUnrecognizedValuesForYesKeywordHeaders_valuesIgnored() throws Exception {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d"},{"lineNumber":329,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_UNRECOGNIZED_VALUES_FOR_YES_KEYWORD_HEADERS_FILE);"},{"lineNumber":330,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isStandaloneConfigIgnored());"},{"lineNumber":333,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isShallowCloningPerformed());"},{"lineNumber":334,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFindingPreviousAuthorsPerformed());"},{"lineNumber":335,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFileSizeLimitIgnored());"},{"lineNumber":336,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isIgnoredFileAnalysisSkipped());"},{"lineNumber":337,"author":{"gitId":"-"},"content":" }"},{"lineNumber":338,"author":{"gitId":"-"},"content":""},{"lineNumber":339,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":340,"author":{"gitId":"-"},"content":" public void repoConfig_invalidFileSizeLimit_valueIgnored() throws Exception {"},{"lineNumber":341,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d"},{"lineNumber":342,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_INVALID_FILE_SIZE_LIMIT);"},{"lineNumber":343,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":344,"author":{"gitId":"-"},"content":""},{"lineNumber":345,"author":{"gitId":"-"},"content":" Assertions.assertEquals(configs.get(0).getFileSizeLimit(), DEFAULT_FILE_SIZE_LIMIT);"},{"lineNumber":346,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFileSizeLimitOverriding());"},{"lineNumber":347,"author":{"gitId":"-"},"content":" }"},{"lineNumber":348,"author":{"gitId":"-"},"content":""},{"lineNumber":349,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":350,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreFileSizeLimit_ignoreFileSizeColumns() throws Exception {"},{"lineNumber":351,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d"},{"lineNumber":352,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_IGNORE_FILE_SIZE_LIMIT);"},{"lineNumber":353,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":354,"author":{"gitId":"-"},"content":""},{"lineNumber":355,"author":{"gitId":"-"},"content":" Assertions.assertTrue(configs.get(0).isFileSizeLimitIgnored());"},{"lineNumber":356,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFileSizeLimitOverriding());"},{"lineNumber":357,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isIgnoredFileAnalysisSkipped());"},{"lineNumber":358,"author":{"gitId":"-"},"content":" }"},{"lineNumber":359,"author":{"gitId":"-"},"content":""},{"lineNumber":360,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":361,"author":{"gitId":"-"},"content":" public void repoConfig_mandatoryHeaderMissing_throwsInvalidCsvException() throws Exception {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_MANDATORY_HEADER_MISSING_FILE);"},{"lineNumber":363,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":367,"author":{"gitId":"-"},"content":" public void repoConfig_zeroValidRecords_throwsInvalidCsvException() throws Exception {"},{"lineNumber":368,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_ZERO_VALID_RECORDS);"},{"lineNumber":369,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());"},{"lineNumber":370,"author":{"gitId":"-"},"content":" }"},{"lineNumber":371,"author":{"gitId":"-"},"content":""},{"lineNumber":372,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":373,"author":{"gitId":"-"},"content":" public void repoConfig_duplicateHeadersCaseSensitive_throwsInvalidCsvException() throws Exception {"},{"lineNumber":374,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d"},{"lineNumber":375,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_DUPLICATE_HEADERS_CASE_SENSITIVE_FILE);"},{"lineNumber":376,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());"},{"lineNumber":377,"author":{"gitId":"-"},"content":" }"},{"lineNumber":378,"author":{"gitId":"-"},"content":""},{"lineNumber":379,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":380,"author":{"gitId":"-"},"content":" public void repoConfig_duplicateHeadersCaseInsensitive_throwsInvalidCsvException() throws Exception {"},{"lineNumber":381,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d"},{"lineNumber":382,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_DUPLICATE_HEADERS_CASE_INSENSITIVE_FILE);"},{"lineNumber":383,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":387,"author":{"gitId":"-"},"content":" public void repoConfig_unknownHeaders_throwsInvalidHeaderException() throws Exception {"},{"lineNumber":388,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d"},{"lineNumber":389,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_UNKNOWN_HEADER_FILE);"},{"lineNumber":390,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidHeaderException.class, () -\u003e repoConfigCsvParser.parse());"},{"lineNumber":391,"author":{"gitId":"-"},"content":" }"},{"lineNumber":392,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":22,"-":370}},{"path":"src/test/java/reposense/parser/StandaloneConfigJsonParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import com.google.gson.JsonSyntaxException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.FileType;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.model.StandaloneConfig;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class StandaloneConfigJsonParserTest {"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_MALFORMED_CONFIG \u003d loadResource("},{"lineNumber":26,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class, \"StandaloneConfigJsonParserTest/standaloneConfig_malformedJson.json\");"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_UNKNOWN_PROPERTY_CONFIG \u003d loadResource("},{"lineNumber":29,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_unknownPropertyInJson.json\");"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_FULL \u003d loadResource("},{"lineNumber":33,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_full.json\");"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_EMPTY_TEXT_FILE \u003d loadResource("},{"lineNumber":37,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_emptyText.json\");"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_EMPTY_JSON_FILE \u003d loadResource("},{"lineNumber":41,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_emptyJson.json\");"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_GITHUBID_ONLY \u003d loadResource("},{"lineNumber":45,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_githubId_only.json\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String TEST_DUMMY_LOCATION \u003d \"https://github.com/reposense/RepoSense.git\";"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static RepoConfiguration expectedGithubIdOnlyRepoconfig;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static RepoConfiguration expectedFullRepoConfig;"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" @BeforeAll"},{"lineNumber":54,"author":{"gitId":"-"},"content":" public static void setUp() throws Exception {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" Author author \u003d new Author(\"yong24s\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" author.setAuthorAliases(Arrays.asList(\"Yong Hao TENG\"));"},{"lineNumber":57,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(Arrays.asList(\"**.css\", \"**.html\", \"**.jade\", \"**.js\"));"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" expectedGithubIdOnlyRepoconfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_DUMMY_LOCATION)).build();"},{"lineNumber":61,"author":{"gitId":"-"},"content":" expectedGithubIdOnlyRepoconfig.setFormats(FileTypeTest.NO_SPECIFIED_FORMATS);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" expectedGithubIdOnlyRepoconfig.setAuthorList(Arrays.asList(new Author(\"yong24s\")));"},{"lineNumber":63,"author":{"gitId":"-"},"content":" expectedGithubIdOnlyRepoconfig.addAuthorEmailsToAuthorMapEntry(author, author.getEmails());"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":" expectedFullRepoConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_DUMMY_LOCATION)).build();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setFormats(FileType.convertFormatStringsToFileTypes("},{"lineNumber":68,"author":{"gitId":"-"},"content":" Arrays.asList(\"gradle\", \"jade\", \"java\", \"js\", \"md\", \"scss\", \"yml\")));"},{"lineNumber":69,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setIgnoreCommitList(Arrays.asList(new CommitHash("},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"7b96c563eb2d3612aa5275364333664a18f01491\")));"},{"lineNumber":71,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setIgnoreGlobList(Arrays.asList(\"**.adoc\", \"collate**\"));"},{"lineNumber":72,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setIgnoredAuthorsList(Arrays.asList(\"yong24s\"));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setAuthorList(Arrays.asList(author));"},{"lineNumber":74,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setAuthorDisplayName(author, \"Yong Hao\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.addAuthorNamesToAuthorMapEntry(author, Arrays.asList(author.getGitId()));"},{"lineNumber":76,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.addAuthorNamesToAuthorMapEntry(author, author.getAuthorAliases());"},{"lineNumber":77,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.addAuthorEmailsToAuthorMapEntry(author, author.getEmails());"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":81,"author":{"gitId":"-"},"content":" public void standaloneConfig_parseEmptyTextFile_success() throws Exception {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_EMPTY_TEXT_FILE);"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":86,"author":{"gitId":"-"},"content":" public void standaloneConfig_parseEmptyJsonFile_success() throws Exception {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_EMPTY_JSON_FILE);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":91,"author":{"gitId":"-"},"content":" public void standaloneConfig_ignoresUnknownProperty_success() throws Exception {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" new StandaloneConfigJsonParser().parse(STANDALONE_UNKNOWN_PROPERTY_CONFIG);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":96,"author":{"gitId":"-"},"content":" public void standaloneConfig_correctConfig_success() throws Exception {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" StandaloneConfig config \u003d new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_FULL);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" assertSameConfig(expectedFullRepoConfig, config);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":102,"author":{"gitId":"-"},"content":" public void standaloneConfig_githubIdOnlyConfig_success() throws Exception {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" StandaloneConfig config \u003d new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_GITHUBID_ONLY);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" assertSameConfig(expectedGithubIdOnlyRepoconfig, config);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":108,"author":{"gitId":"-"},"content":" public void standaloneConfig_malformedJsonFile_throwsJsonSyntaxException() {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" Assertions.assertThrows(JsonSyntaxException.class, () -\u003e new StandaloneConfigJsonParser()"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .parse(STANDALONE_MALFORMED_CONFIG));"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" private void assertSameConfig(RepoConfiguration expectedRepoConfig, StandaloneConfig actualStandaloneConfig)"},{"lineNumber":114,"author":{"gitId":"-"},"content":" throws Exception {"},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualRepoConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_DUMMY_LOCATION)).build();"},{"lineNumber":117,"author":{"gitId":"-"},"content":" actualRepoConfig.update(actualStandaloneConfig);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedRepoConfig, actualRepoConfig);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":6,"-":114}},{"path":"src/test/java/reposense/report/ErrorSummaryTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.report;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"public class ErrorSummaryTest {"},{"lineNumber":10,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":11,"author":{"gitId":"-"},"content":" public void errorSummary_addRepeatedErrorMessage_containsNoDuplicates() {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" String invalidLocation1 \u003d \"ttp://github.com/reposense.RepoSense.git\";"},{"lineNumber":13,"author":{"gitId":"-"},"content":" String invalidLocation2 \u003d \"https://github.com/contains-illegal-chars/^\\\\/\";"},{"lineNumber":14,"author":{"gitId":"-"},"content":" String invalidLocation3 \u003d \"not-valid-protocol://abc.com/reposense/RepoSense.git\";"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" ErrorSummary errorSummaryInstance \u003d ErrorSummary.getInstance();"},{"lineNumber":17,"author":{"gitId":"-"},"content":" errorSummaryInstance.clearErrorSet();"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation1);"},{"lineNumber":21,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" // not relevant to the test"},{"lineNumber":23,"author":{"gitId":"-"},"content":" }"},{"lineNumber":24,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, errorSummaryInstance.getErrorSet().size());"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation1);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" // not relevant to the test"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, errorSummaryInstance.getErrorSet().size());"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation2);"},{"lineNumber":35,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" // not relevant to the test"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, errorSummaryInstance.getErrorSet().size());"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation1);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" // not relevant to the test"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, errorSummaryInstance.getErrorSet().size());"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation3);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" // not relevant to the test"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":" Assertions.assertEquals(3, errorSummaryInstance.getErrorSet().size());"},{"lineNumber":53,"author":{"gitId":"-"},"content":" }"},{"lineNumber":54,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":53}},{"path":"src/test/java/reposense/report/RepoClonerTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.report;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class RepoClonerTest {"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_EMPTY_GIT_LOCATION \u003d \"https://github.com/reposense/testrepo-Empty.git\";"},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_GIT_LOCATION \u003d \"https://github.com/reposense/testrepo-Alpha.git\";"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final Path REPOCLONE_LOCAL_TEST_PATH \u003d"},{"lineNumber":20,"author":{"gitId":"-"},"content":" Paths.get(FileUtil.REPOS_ADDRESS, \"repoclone test/dummy-repo\");"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":23,"author":{"gitId":"-"},"content":" public void repoCloner_emptyRepo_failsGracefully() throws Exception {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" RepoConfiguration emptyRepositoryRepoConfig \u003d"},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_EMPTY_GIT_LOCATION)).build();"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();"},{"lineNumber":29,"author":{"gitId":"-"},"content":" repoCloner.cloneBare(emptyRepositoryRepoConfig);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" RepoLocation clonedRepoLocation \u003d repoCloner.getClonedRepoLocation();"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" Assertions.assertNull(clonedRepoLocation);"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":36,"author":{"gitId":"-"},"content":" public void repoCloner_validRepoLocationWithRelativePathingAndSpaces_success() throws Exception {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" // Clones a test repository into the test directory for testing of relative pathing"},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration tempRemoteConfiguration \u003d new RepoConfiguration.Builder()"},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_GIT_LOCATION)).build();"},{"lineNumber":40,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneBare(tempRemoteConfiguration, Paths.get(\".\"), REPOCLONE_LOCAL_TEST_PATH.toString());"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" RepoConfiguration repoWithRelativePathingAndSpacesAndEndingBackslash \u003d"},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(REPOCLONE_LOCAL_TEST_PATH.toString())).build();"},{"lineNumber":45,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();"},{"lineNumber":46,"author":{"gitId":"-"},"content":" repoCloner.cloneBare(repoWithRelativePathingAndSpacesAndEndingBackslash);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.exists(REPOCLONE_LOCAL_TEST_PATH));"},{"lineNumber":48,"author":{"gitId":"-"},"content":" }"},{"lineNumber":49,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":6,"-":43}},{"path":"src/test/java/reposense/template/GitTestTemplate.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.template;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.File;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Iterator;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.function.Supplier;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.authorship.FileInfoAnalyzer;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.authorship.FileInfoExtractor;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileInfo;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileResult;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.authorship.model.LineInfo;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.git.GitCheckout;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.git.GitShow;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * Contains templates for git testing."},{"lineNumber":36,"author":{"gitId":"-"},"content":" */"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"public class GitTestTemplate {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" protected static final String TEST_REPO_GIT_LOCATION \u003d \"https://github.com/reposense/testrepo-Alpha.git\";"},{"lineNumber":40,"author":{"gitId":"-"},"content":" protected static final String IGNORE_REVS_FILE_NAME \u003d \".git-blame-ignore-revs\";"},{"lineNumber":41,"author":{"gitId":"-"},"content":" protected static final String TEST_REPO_BLAME_WITH_PREVIOUS_AUTHORS_BRANCH \u003d \"1565-find-previous-authors\";"},{"lineNumber":42,"author":{"gitId":"-"},"content":" protected static final String FIRST_COMMIT_HASH \u003d \"7d7584f\";"},{"lineNumber":43,"author":{"gitId":"-"},"content":" protected static final String ROOT_COMMIT_HASH \u003d \"fd425072e12004b71d733a58d819d845509f8db3\";"},{"lineNumber":44,"author":{"gitId":"-"},"content":" protected static final String TEST_COMMIT_HASH \u003d \"2fb6b9b\";"},{"lineNumber":45,"author":{"gitId":"-"},"content":" protected static final String TEST_COMMIT_HASH_LONG \u003d \"2fb6b9b2dd9fa40bf0f9815da2cb0ae8731436c7\";"},{"lineNumber":46,"author":{"gitId":"-"},"content":" protected static final String TEST_COMMIT_HASH_PARENT \u003d \"c5a6dc774e22099cd9ddeb0faff1e75f9cf4f151\";"},{"lineNumber":47,"author":{"gitId":"-"},"content":" protected static final String MAIN_AUTHOR_NAME \u003d \"harryggg\";"},{"lineNumber":48,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_NAME \u003d \"fakeAuthor\";"},{"lineNumber":49,"author":{"gitId":"-"},"content":" protected static final String UNCONVENTIONAL_AUTHOR_NAME \u003d \"-unconventional_author-\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":" protected static final String WHITESPACE_AUTHOR_NAME \u003d \"whitespace author\";"},{"lineNumber":51,"author":{"gitId":"-"},"content":" protected static final String IGNORED_AUTHOR_NAME \u003d \"FH-30\";"},{"lineNumber":52,"author":{"gitId":"-"},"content":" protected static final String EUGENE_AUTHOR_NAME \u003d \"eugenepeh\";"},{"lineNumber":53,"author":{"gitId":"-"},"content":" protected static final String YONG_AUTHOR_NAME \u003d \"Yong Hao TENG\";"},{"lineNumber":54,"author":{"gitId":"-"},"content":" protected static final String MINGYI_AUTHOR_NAME \u003d \"myteo\";"},{"lineNumber":55,"author":{"gitId":"-"},"content":" protected static final String JAMES_AUTHOR_NAME \u003d \"jamessspanggg\";"},{"lineNumber":56,"author":{"gitId":"-"},"content":" protected static final String JAMES_ALTERNATIVE_AUTHOR_NAME \u003d \"James Pang\";"},{"lineNumber":57,"author":{"gitId":"-"},"content":" protected static final String JINYAO_AUTHOR_NAME \u003d \"jylee-git\";"},{"lineNumber":58,"author":{"gitId":"-"},"content":" protected static final String CHENGYU_AUTHOR_NAME \u003d \"HCY123902\";"},{"lineNumber":59,"author":{"gitId":"-"},"content":" protected static final String LATEST_COMMIT_HASH \u003d \"abbd5888d5cd4e411c6a8e58e661b0eafdae1335\";"},{"lineNumber":60,"author":{"gitId":"-"},"content":" protected static final String LATEST_COMMIT_HASH_PARENT \u003d \"f768b9b1d9d1478f8ac8cf3b4c7f868479edc07a\";"},{"lineNumber":61,"author":{"gitId":"-"},"content":" protected static final String EMPTY_TREE_HASH \u003d \"4b825dc642cb6eb9a060e54bf8d69288fbee4904\";"},{"lineNumber":62,"author":{"gitId":"-"},"content":" protected static final String EUGENE_AUTHOR_README_FILE_COMMIT_07052018_STRING \u003d"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \"2d87a431fcbb8f73a731b6df0fcbee962c85c250\";"},{"lineNumber":64,"author":{"gitId":"-"},"content":" protected static final CommitHash EUGENE_AUTHOR_README_FILE_COMMIT_07052018 \u003d"},{"lineNumber":65,"author":{"gitId":"-"},"content":" new CommitHash(EUGENE_AUTHOR_README_FILE_COMMIT_07052018_STRING);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_TEST_FILE_COMMIT_08022018_STRING \u003d"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \"768015345e70f06add2a8b7d1f901dc07bf70582\";"},{"lineNumber":68,"author":{"gitId":"-"},"content":" protected static final CommitHash FAKE_AUTHOR_BLAME_TEST_FILE_COMMIT_08022018 \u003d"},{"lineNumber":69,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_TEST_FILE_COMMIT_08022018_STRING);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" protected static final String MAIN_AUTHOR_BLAME_TEST_FILE_COMMIT_06022018_STRING \u003d"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"8d0ac2ee20f04dce8df0591caed460bffacb65a4\";"},{"lineNumber":72,"author":{"gitId":"-"},"content":" protected static final CommitHash MAIN_AUTHOR_BLAME_TEST_FILE_COMMIT_06022018 \u003d"},{"lineNumber":73,"author":{"gitId":"-"},"content":" new CommitHash(MAIN_AUTHOR_BLAME_TEST_FILE_COMMIT_06022018_STRING);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" protected static final String AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021_STRING \u003d"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"1d29339e7d16eb5b2bc8fb542e08acedd3d4b0eb\";"},{"lineNumber":76,"author":{"gitId":"-"},"content":" protected static final CommitHash AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021 \u003d"},{"lineNumber":77,"author":{"gitId":"-"},"content":" new CommitHash(AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021_STRING);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_ONE_06022018_STRING \u003d"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"7d7584fc204922cc5ff3bd5ca073cad6bed2c46a\";"},{"lineNumber":80,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_TWO_06022018_STRING \u003d"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \"8d0ac2ee20f04dce8df0591caed460bffacb65a4\";"},{"lineNumber":82,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_THREE_07022018_STRING \u003d"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \"8e4ca1da5d413e9ab84a1e8d1474918afa97f7a1\";"},{"lineNumber":84,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_FOUR_08022018_STRING \u003d"},{"lineNumber":85,"author":{"gitId":"-"},"content":" \"768015345e70f06add2a8b7d1f901dc07bf70582\";"},{"lineNumber":86,"author":{"gitId":"-"},"content":" protected static final List\u003cCommitHash\u003e FAKE_AUTHOR_BLAME_RANGED_COMMIT_LIST_09022018 \u003d Arrays.asList("},{"lineNumber":87,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_ONE_06022018_STRING),"},{"lineNumber":88,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_TWO_06022018_STRING),"},{"lineNumber":89,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_THREE_07022018_STRING),"},{"lineNumber":90,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_FOUR_08022018_STRING));"},{"lineNumber":91,"author":{"gitId":"-"},"content":" protected static final List\u003cCommitHash\u003e AUTHOR_TO_IGNORE_BLAME_COMMIT_LIST_07082021 \u003d Collections.singletonList("},{"lineNumber":92,"author":{"gitId":"-"},"content":" new CommitHash(AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021_STRING)"},{"lineNumber":93,"author":{"gitId":"-"},"content":" );"},{"lineNumber":94,"author":{"gitId":"-"},"content":" protected static final String NONEXISTENT_COMMIT_HASH \u003d \"nonExistentCommitHash\";"},{"lineNumber":95,"author":{"gitId":"-"},"content":" protected static final ZoneId TIME_ZONE_ID \u003d ZoneId.of(\"Asia/Singapore\");"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" protected static final Author MAIN_AUTHOR \u003d new Author(MAIN_AUTHOR_NAME);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" protected static final Author FAKE_AUTHOR \u003d new Author(FAKE_AUTHOR_NAME);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" protected static final Author UNCONVENTIONAL_AUTHOR \u003d new Author(UNCONVENTIONAL_AUTHOR_NAME);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" protected static final Author WHITESPACE_AUTHOR \u003d new Author(WHITESPACE_AUTHOR_NAME);"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" protected static ThreadLocal\u003cRepoConfiguration\u003e configs \u003d ThreadLocal.withInitial(() -\u003e {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" return newRepoConfiguration();"},{"lineNumber":105,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":" });"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" private static final Supplier\u003cString\u003e EXTRA_OUTPUT_FOLDER_NAME_SUPPLIER \u003d () -\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":" String.valueOf(Thread.currentThread().getId());"},{"lineNumber":112,"author":{"gitId":"-"},"content":" private FileInfoExtractor fileInfoExtractor \u003d new FileInfoExtractor();"},{"lineNumber":113,"author":{"gitId":"-"},"content":" private FileInfoAnalyzer fileInfoAnalyzer \u003d new FileInfoAnalyzer();"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" @BeforeEach"},{"lineNumber":116,"author":{"gitId":"-"},"content":" public void before() throws Exception {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d newRepoConfiguration();"},{"lineNumber":118,"author":{"gitId":"-"},"content":" config.setAuthorList(Collections.singletonList(getAlphaAllAliasAuthor()));"},{"lineNumber":119,"author":{"gitId":"-"},"content":" config.setFormats(FileTypeTest.DEFAULT_TEST_FORMATS);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" config.setZoneId(TIME_ZONE_ID);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" config.setIsLastModifiedDateIncluded(false);"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" configs.set(config);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" @BeforeAll"},{"lineNumber":127,"author":{"gitId":"-"},"content":" public static void beforeClass() throws Exception {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d newRepoConfiguration();"},{"lineNumber":129,"author":{"gitId":"-"},"content":" config.setZoneId(TIME_ZONE_ID);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" configs.set(config);"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(config, EXTRA_OUTPUT_FOLDER_NAME_SUPPLIER.get());"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" @AfterEach"},{"lineNumber":136,"author":{"gitId":"-"},"content":" public void after() {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" GitCheckout.checkout(configs.get().getRepoRoot(), \"master\");"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" private static RepoConfiguration newRepoConfiguration() throws Exception {"},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" return new RepoConfiguration.Builder()"},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_GIT_LOCATION))"},{"lineNumber":143,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":144,"author":{"gitId":"asdfghjkxd"},"content":" .extraOutputFolderName(EXTRA_OUTPUT_FOLDER_NAME_SUPPLIER.get())"},{"lineNumber":145,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":149,"author":{"gitId":"-"},"content":" * Generates the .git-blame-ignore-revs file containing {@link CommitHash}es"},{"lineNumber":150,"author":{"gitId":"-"},"content":" * from {@code toIgnore} for the test repo."},{"lineNumber":151,"author":{"gitId":"-"},"content":" */"},{"lineNumber":152,"author":{"gitId":"-"},"content":" public List\u003cCommitHash\u003e createTestIgnoreRevsFile(List\u003cCommitHash\u003e toIgnore) {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" String repoRoot \u003d configs.get().getRepoRoot();"},{"lineNumber":154,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e expandedIgnoreCommitList \u003d toIgnore.stream()"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .map(CommitHash::toString)"},{"lineNumber":156,"author":{"gitId":"-"},"content":" .map(commitHash -\u003e {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" return GitShow.getExpandedCommitHash(repoRoot, commitHash);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" return new CommitHash(commitHash);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":" })"},{"lineNumber":163,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" String fileLocation \u003d repoRoot + IGNORE_REVS_FILE_NAME;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" FileUtil.writeIgnoreRevsFile(fileLocation, expandedIgnoreCommitList);"},{"lineNumber":167,"author":{"gitId":"-"},"content":" return expandedIgnoreCommitList;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" public void removeTestIgnoreRevsFile() {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" String fileLocation \u003d configs.get().getRepoRoot() + IGNORE_REVS_FILE_NAME;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" new File(fileLocation).delete();"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":176,"author":{"gitId":"-"},"content":" * For each line in {@link FileResult}, assert that it is attributed to the expected author provided by"},{"lineNumber":177,"author":{"gitId":"-"},"content":" * {@code expectedLineAuthors}."},{"lineNumber":178,"author":{"gitId":"-"},"content":" */"},{"lineNumber":179,"author":{"gitId":"-"},"content":" public void assertFileAnalysisCorrectness(FileResult fileResult, List\u003cAuthor\u003e expectedLineAuthors) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" List\u003cLineInfo\u003e lines \u003d fileResult.getLines();"},{"lineNumber":181,"author":{"gitId":"-"},"content":" assertEquals(expectedLineAuthors.size(), lines.size());"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" Iterator\u003cAuthor\u003e lineAuthorsItr \u003d expectedLineAuthors.iterator();"},{"lineNumber":184,"author":{"gitId":"-"},"content":" Iterator\u003cLineInfo\u003e linesItr \u003d lines.iterator();"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" while (linesItr.hasNext() \u0026\u0026 lineAuthorsItr.hasNext()) {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" assertEquals(lineAuthorsItr.next(), linesItr.next().getAuthor());"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" public FileResult getFileResult(String relativePath) {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" FileInfo fileInfo \u003d fileInfoExtractor.generateFileInfo(configs.get(), relativePath);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" return fileInfoAnalyzer.analyzeTextFile(configs.get(), fileInfo);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":197,"author":{"gitId":"-"},"content":" * Returns a {@link Author} that has git id and aliases of all authors in testrepo-Alpha, so that no commits"},{"lineNumber":198,"author":{"gitId":"-"},"content":" * will be filtered out in the `git log` command."},{"lineNumber":199,"author":{"gitId":"-"},"content":" */"},{"lineNumber":200,"author":{"gitId":"-"},"content":" protected Author getAlphaAllAliasAuthor() {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" Author author \u003d new Author(MAIN_AUTHOR_NAME);"},{"lineNumber":202,"author":{"gitId":"-"},"content":" author.setAuthorAliases(Arrays.asList(FAKE_AUTHOR_NAME, EUGENE_AUTHOR_NAME, YONG_AUTHOR_NAME));"},{"lineNumber":203,"author":{"gitId":"-"},"content":" return author;"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":5,"-":200}},{"path":"src/test/java/reposense/util/TestUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.net.URISyntaxException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.net.URL;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.HashSet;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.git.GitLog;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Contains testing related functionalities."},{"lineNumber":23,"author":{"gitId":"-"},"content":" */"},{"lineNumber":24,"author":{"gitId":"-"},"content":"public class TestUtil {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final int[] END_OF_DAY_TIME \u003d {23, 59, 59};"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final int[] START_OF_DAY_TIME \u003d {0, 0, 0};"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String MESSAGE_COMPARING_FILES \u003d \"Comparing files %s \u0026 %s\\n\";"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String MESSAGE_LINE_CONTENT_DIFFERENT \u003d \"Content different at line number %d:\\n\""},{"lineNumber":30,"author":{"gitId":"-"},"content":" + \"\u003c\u003c %s\\n\""},{"lineNumber":31,"author":{"gitId":"-"},"content":" + \"\u003e\u003e %s\\n\";"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final String MESSAGE_LINES_LENGTH_DIFFERENT \u003d \"The files\u0027 lines count do not match.\";"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String MOVED_FILE_INDICATION \u003d \"\u003d\u003e \";"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final int STAT_FILE_PATH_INDEX \u003d 2;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Returns true if the contents of the files at {@code expected} and {@code actual} are the same."},{"lineNumber":39,"author":{"gitId":"-"},"content":" * Also prints out error message if the lines count are different,"},{"lineNumber":40,"author":{"gitId":"-"},"content":" * else prints out the first line of content difference (if any)."},{"lineNumber":41,"author":{"gitId":"-"},"content":" */"},{"lineNumber":42,"author":{"gitId":"-"},"content":" public static boolean compareFileContents(Path expected, Path actual) throws Exception {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" return compareFileContents(expected, actual, 1);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Returns true if the contents of the files at {@code expected} and {@code actual} are the same."},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Also prints out error message if the lines count are different,"},{"lineNumber":49,"author":{"gitId":"-"},"content":" * else prints out maximum {@code maxTraceCounts} lines of content difference (if any)."},{"lineNumber":50,"author":{"gitId":"-"},"content":" */"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static boolean compareFileContents(Path expected, Path actual, int maxTraceCounts) throws Exception {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" int traceCounts \u003d 0;"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" System.out.println(String.format(MESSAGE_COMPARING_FILES, expected, actual));"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":" String[] expectedContent \u003d StringsUtil.NEWLINE.split(new String(Files.readAllBytes(expected))"},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" .replace(\"\\r\", \"\"));"},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":" String[] actualContent \u003d StringsUtil.NEWLINE.split(new String(Files.readAllBytes(actual))"},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" .replace(\"\\r\", \"\"));"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c Math.min(expectedContent.length, actualContent.length); i++) {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" if (!expectedContent[i].equals(actualContent[i])) {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" System.out.println("},{"lineNumber":64,"author":{"gitId":"-"},"content":" String.format(MESSAGE_LINE_CONTENT_DIFFERENT, i + 1, expectedContent[i], actualContent[i]));"},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (++traceCounts \u003e\u003d maxTraceCounts) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":" }"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":" if (expectedContent.length !\u003d actualContent.length) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" System.out.println(MESSAGE_LINES_LENGTH_DIFFERENT);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":73,"author":{"gitId":"-"},"content":" } else if (traceCounts \u003e\u003d maxTraceCounts) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":80,"author":{"gitId":"-"},"content":" * Returns true if {@code expected} directory has all files with same content as {@code actual} directory."},{"lineNumber":81,"author":{"gitId":"-"},"content":" */"},{"lineNumber":82,"author":{"gitId":"-"},"content":" public static boolean compareDirectories(Path expected, Path actual) throws Exception {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" List\u003cPath\u003e expectedPaths \u003d Files.walk(expected)"},{"lineNumber":84,"author":{"gitId":"-"},"content":" .sorted()"},{"lineNumber":85,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":86,"author":{"gitId":"-"},"content":" List\u003cPath\u003e actualPaths \u003d Files.walk(actual)"},{"lineNumber":87,"author":{"gitId":"-"},"content":" .sorted()"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" if (expectedPaths.size() !\u003d actualPaths.size()) {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c expectedPaths.size(); i++) {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" if (!(Files.isDirectory(expectedPaths.get(i)) || Files.isDirectory(actualPaths.get(i)))"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u0026\u0026 !TestUtil.compareFileContents(expectedPaths.get(i), actualPaths.get(i))) {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Creates and returns a {@link LocalDateTime} object with the specified {@code year}, {@code month}, {@code day}"},{"lineNumber":105,"author":{"gitId":"-"},"content":" * and {@code time}."},{"lineNumber":106,"author":{"gitId":"-"},"content":" */"},{"lineNumber":107,"author":{"gitId":"-"},"content":" public static LocalDateTime getDate(int year, int month, int date, int[] time) {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" return LocalDateTime.of(year, month, date, time[0], time[1], time[2], 0);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":112,"author":{"gitId":"-"},"content":" * Wrapper for {@code getDate} method to get since date with time 00:00:00"},{"lineNumber":113,"author":{"gitId":"-"},"content":" * from the parameters {@code year}, {@code month}, {@code date}."},{"lineNumber":114,"author":{"gitId":"-"},"content":" */"},{"lineNumber":115,"author":{"gitId":"-"},"content":" public static LocalDateTime getSinceDate(int year, int month, int date) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" return getDate(year, month, date, START_OF_DAY_TIME);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":120,"author":{"gitId":"-"},"content":" * Wrapper for {@code getDate} method to get until date with time 23:59:59"},{"lineNumber":121,"author":{"gitId":"-"},"content":" * from the parameters {@code year}, {@code month}, {@code date}."},{"lineNumber":122,"author":{"gitId":"-"},"content":" */"},{"lineNumber":123,"author":{"gitId":"-"},"content":" public static LocalDateTime getUntilDate(int year, int month, int date) {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" return getDate(year, month, date, END_OF_DAY_TIME);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":128,"author":{"gitId":"-"},"content":" * Returns a {@link ZoneId} object for the specified {@code timezone}."},{"lineNumber":129,"author":{"gitId":"-"},"content":" */"},{"lineNumber":130,"author":{"gitId":"-"},"content":" public static ZoneId getZoneId(String timezone) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" return ZoneId.of(timezone);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":135,"author":{"gitId":"-"},"content":" * Compares attributes of {@code expectedRepoConfig} and {@code actualRepoConfig}."},{"lineNumber":136,"author":{"gitId":"-"},"content":" *"},{"lineNumber":137,"author":{"gitId":"-"},"content":" * @throws AssertionError if any attributes fail equality check."},{"lineNumber":138,"author":{"gitId":"-"},"content":" */"},{"lineNumber":139,"author":{"gitId":"-"},"content":" public static void compareRepoConfig(RepoConfiguration expectedRepoConfig, RepoConfiguration actualRepoConfig) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedRepoConfig, actualRepoConfig);"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c expectedRepoConfig.getAuthorList().size(); i++) {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" compareAuthor(expectedRepoConfig.getAuthorList().get(i), actualRepoConfig.getAuthorList().get(i));"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":148,"author":{"gitId":"-"},"content":" * Compares attributes of {@code expectedAuthor} and {@code actualAuthor}, with exception of it\u0027s display name."},{"lineNumber":149,"author":{"gitId":"-"},"content":" *"},{"lineNumber":150,"author":{"gitId":"-"},"content":" * The display name is not compared as it varies with object construction."},{"lineNumber":151,"author":{"gitId":"-"},"content":" * It is a transient value and it is not needed for object matching."},{"lineNumber":152,"author":{"gitId":"-"},"content":" *"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * @throws AssertionError if any attributes fail equality check."},{"lineNumber":154,"author":{"gitId":"-"},"content":" */"},{"lineNumber":155,"author":{"gitId":"-"},"content":" public static void compareAuthor(Author expectedAuthor, Author actualAuthor) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedAuthor.getGitId(), actualAuthor.getGitId());"},{"lineNumber":157,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedAuthor.getIgnoreGlobList(), actualAuthor.getIgnoreGlobList());"},{"lineNumber":158,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedAuthor.getAuthorAliases(), actualAuthor.getAuthorAliases());"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":162,"author":{"gitId":"-"},"content":" * Returns true if the {@code expectedNumberCommits} is equal to the expected number of commits captured in"},{"lineNumber":163,"author":{"gitId":"-"},"content":" * {@code gitLogResult}."},{"lineNumber":164,"author":{"gitId":"-"},"content":" */"},{"lineNumber":165,"author":{"gitId":"-"},"content":" public static boolean compareNumberExpectedCommitsToGitLogLines(int expectedNumberCommits, String gitLogResult) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" // if git log result is empty, then there are no commits"},{"lineNumber":167,"author":{"gitId":"-"},"content":" if (gitLogResult.isEmpty()) {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" return expectedNumberCommits \u003d\u003d 0;"},{"lineNumber":169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" // (actualSplitGitLogResilt - 1) as the 1st token is always empty."},{"lineNumber":172,"author":{"gitId":"-"},"content":" return expectedNumberCommits \u003d\u003d (gitLogResult.split(GitLog.COMMIT_INFO_DELIMITER).length - 1);"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":176,"author":{"gitId":"-"},"content":" * Returns true if the {@code expectedNumberFilesChanged} is equal to the actual number of files changed in"},{"lineNumber":177,"author":{"gitId":"-"},"content":" * {@code gitLogResult}."},{"lineNumber":178,"author":{"gitId":"-"},"content":" */"},{"lineNumber":179,"author":{"gitId":"-"},"content":" public static boolean compareNumberFilesChanged(int expectedNumberFilesChanged, String gitLogResult) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" // if git log result is empty, then there are no files changed"},{"lineNumber":181,"author":{"gitId":"-"},"content":" if (gitLogResult.isEmpty()) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" return expectedNumberFilesChanged \u003d\u003d 0;"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":" String[] changesLogged \u003d gitLogResult.split(GitLog.COMMIT_INFO_DELIMITER);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" HashSet\u003cString\u003e filesChanged \u003d new HashSet\u003c\u003e();"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" // start from index 1 as index 0 is always empty."},{"lineNumber":188,"author":{"gitId":"-"},"content":" for (int i \u003d 1; i \u003c changesLogged.length; i++) {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" filesChanged.addAll(getFilesChangedInCommit(changesLogged[i]));"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":" return filesChanged.size() \u003d\u003d expectedNumberFilesChanged;"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":195,"author":{"gitId":"-"},"content":" * Returns the {@link Set} of files changed in the commit {@code rawCommitInfo}."},{"lineNumber":196,"author":{"gitId":"-"},"content":" */"},{"lineNumber":197,"author":{"gitId":"-"},"content":" private static Set\u003cString\u003e getFilesChangedInCommit(String rawCommitInfo) {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" Set\u003cString\u003e filesChanged \u003d new HashSet\u003c\u003e();"},{"lineNumber":199,"author":{"gitId":"asdfghjkxd"},"content":" String[] commitInfo \u003d StringsUtil.NEWLINE.split(rawCommitInfo.replaceAll(\"\\n+$\", \"\"));"},{"lineNumber":200,"author":{"gitId":"-"},"content":" int fileChangedNum \u003d Integer.parseInt(commitInfo[commitInfo.length - 1].trim().split(\" \")[0]);"},{"lineNumber":201,"author":{"gitId":"-"},"content":" for (int fileNum \u003d 0; fileNum \u003c fileChangedNum; fileNum++) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" filesChanged.add(getFileChanged(commitInfo[commitInfo.length - 2 - fileNum]));"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":" return filesChanged;"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":208,"author":{"gitId":"-"},"content":" * Returns the file changed given a {@code rawFileChangedString}."},{"lineNumber":209,"author":{"gitId":"-"},"content":" */"},{"lineNumber":210,"author":{"gitId":"-"},"content":" private static String getFileChanged(String rawFileChangedString) {"},{"lineNumber":211,"author":{"gitId":"asdfghjkxd"},"content":" String fileChanged \u003d StringsUtil.TAB.split(rawFileChangedString)[STAT_FILE_PATH_INDEX].trim();"},{"lineNumber":212,"author":{"gitId":"-"},"content":" if (fileChanged.contains(MOVED_FILE_INDICATION)) {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" fileChanged \u003d fileChanged.substring(fileChanged.indexOf(MOVED_FILE_INDICATION)"},{"lineNumber":214,"author":{"gitId":"-"},"content":" + MOVED_FILE_INDICATION.length());"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":" return fileChanged;"},{"lineNumber":217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":220,"author":{"gitId":"-"},"content":" * Returns true if the test environment is on Windows OS."},{"lineNumber":221,"author":{"gitId":"-"},"content":" */"},{"lineNumber":222,"author":{"gitId":"-"},"content":" public static boolean isWindows() {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" return System.getProperty(\"os.name\").toLowerCase().contains(\"win\");"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":227,"author":{"gitId":"-"},"content":" * Returns the {@link Path} to a resource given by {@code pathToResource} string, using {@code classForLoading}."},{"lineNumber":228,"author":{"gitId":"-"},"content":" */"},{"lineNumber":229,"author":{"gitId":"-"},"content":" public static Path loadResource(Class\u003c?\u003e classForLoading, String pathToResource) {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" ClassLoader classLoader \u003d classForLoading.getClassLoader();"},{"lineNumber":231,"author":{"gitId":"-"},"content":" URL url \u003d classLoader.getResource(pathToResource);"},{"lineNumber":232,"author":{"gitId":"-"},"content":" Path path \u003d null;"},{"lineNumber":233,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" path \u003d Paths.get(url.toURI());"},{"lineNumber":235,"author":{"gitId":"-"},"content":" } catch (URISyntaxException e) {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" System.out.println(\"URL format does not follow required standard\");"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":" return path;"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":6,"-":234}}] +[{"path":".github/workflows/gh-pages.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# This workflow executes the various RepoSense tests"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"name: GitHub Pages"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"on:"},{"lineNumber":6,"author":{"gitId":"-"},"content":" push:"},{"lineNumber":7,"author":{"gitId":"-"},"content":" branches:"},{"lineNumber":8,"author":{"gitId":"-"},"content":" - master"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"jobs:"},{"lineNumber":11,"author":{"gitId":"-"},"content":" deploy-gh-pages:"},{"lineNumber":12,"author":{"gitId":"-"},"content":" name: Deploy MarkBind to GitHub Pages"},{"lineNumber":13,"author":{"gitId":"-"},"content":" runs-on: ubuntu-latest"},{"lineNumber":14,"author":{"gitId":"-"},"content":" env:"},{"lineNumber":15,"author":{"gitId":"-"},"content":" NODE_VERSION: \"lts/*\""},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" steps:"},{"lineNumber":18,"author":{"gitId":"-"},"content":" - name: Checkout repository"},{"lineNumber":19,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" - name: Set up Node.js"},{"lineNumber":22,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3"},{"lineNumber":23,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" node-version: \u002718.x\u0027"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" - name: Set up Node caching"},{"lineNumber":27,"author":{"gitId":"-"},"content":" uses: actions/cache@v3"},{"lineNumber":28,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":29,"author":{"gitId":"-"},"content":" path: ~/.npm"},{"lineNumber":30,"author":{"gitId":"-"},"content":" key: ${{ runner.os }}-node-${{ hashFiles(\u0027**/package-lock.json\u0027) }}"},{"lineNumber":31,"author":{"gitId":"-"},"content":" restore-keys: |"},{"lineNumber":32,"author":{"gitId":"-"},"content":" ${{ runner.os }}-node-"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" - name: Install Graphviz"},{"lineNumber":35,"author":{"gitId":"-"},"content":" run: sudo apt-get -y install graphviz"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" - name: Install MarkBind CLI"},{"lineNumber":38,"author":{"gitId":"-"},"content":" run: npm i -g markbind-cli"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" - name: Build MarkBind website"},{"lineNumber":41,"author":{"gitId":"-"},"content":" run: cd docs \u0026\u0026 markbind build --baseUrl /RepoSense"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" - name: Deploy to GitHub Pages"},{"lineNumber":44,"author":{"gitId":"-"},"content":" if: success()"},{"lineNumber":45,"author":{"gitId":"-"},"content":" uses: crazy-max/ghaction-github-pages@v2"},{"lineNumber":46,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":47,"author":{"gitId":"-"},"content":" target_branch: gh-pages"},{"lineNumber":48,"author":{"gitId":"-"},"content":" build_dir: docs/_site"},{"lineNumber":49,"author":{"gitId":"-"},"content":" keep_history: true"},{"lineNumber":50,"author":{"gitId":"-"},"content":" env:"},{"lineNumber":51,"author":{"gitId":"-"},"content":" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}"}],"authorContributionMap":{"sopa301":1,"-":50}},{"path":".github/workflows/integration.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# This workflow executes the various RepoSense tests"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"name: Continuous Integration"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"on:"},{"lineNumber":6,"author":{"gitId":"-"},"content":" push:"},{"lineNumber":7,"author":{"gitId":"-"},"content":" branches-ignore:"},{"lineNumber":8,"author":{"gitId":"-"},"content":" - gh-pages"},{"lineNumber":9,"author":{"gitId":"-"},"content":" pull_request:"},{"lineNumber":10,"author":{"gitId":"-"},"content":" branches-ignore:"},{"lineNumber":11,"author":{"gitId":"-"},"content":" - gh-pages"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"env:"},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" NODE_VER: \u002718.x\u0027"},{"lineNumber":15,"author":{"gitId":"-"},"content":" JAVA_DISTRIBUTION: \u0027zulu\u0027"},{"lineNumber":16,"author":{"gitId":"-"},"content":" JAVA_VER: 8"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"jobs:"},{"lineNumber":19,"author":{"gitId":"-"},"content":" mainbuild:"},{"lineNumber":20,"author":{"gitId":"-"},"content":" name: ${{ matrix.os }} JDK 8"},{"lineNumber":21,"author":{"gitId":"-"},"content":" strategy:"},{"lineNumber":22,"author":{"gitId":"-"},"content":" fail-fast: false"},{"lineNumber":23,"author":{"gitId":"-"},"content":" matrix:"},{"lineNumber":24,"author":{"gitId":"-"},"content":" os: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12, windows-2019, windows-2022]"},{"lineNumber":25,"author":{"gitId":"-"},"content":" runs-on: ${{ matrix.os }}"},{"lineNumber":26,"author":{"gitId":"-"},"content":" env:"},{"lineNumber":27,"author":{"gitId":"-"},"content":" HOMEBREW_NO_AUTO_UPDATE: 1 # Prevent time-consuming brew update"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" steps:"},{"lineNumber":30,"author":{"gitId":"-"},"content":" - name: Checkout repository"},{"lineNumber":31,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3"},{"lineNumber":32,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":33,"author":{"gitId":"-"},"content":" fetch-depth: 0"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" - name: Set up JDK 1.8"},{"lineNumber":36,"author":{"gitId":"-"},"content":" uses: actions/setup-java@v3"},{"lineNumber":37,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":38,"author":{"gitId":"-"},"content":" distribution: ${{ env.JAVA_DISTRIBUTION }}"},{"lineNumber":39,"author":{"gitId":"-"},"content":" java-version: ${{ env.JAVA_VER }}"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" - name: Verify Java version"},{"lineNumber":42,"author":{"gitId":"-"},"content":" run: echo \"Actual JDK in use -- \"; java -version"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" - name: Set up Node.js"},{"lineNumber":45,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3"},{"lineNumber":46,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":47,"author":{"gitId":"-"},"content":" node-version: ${{ env.NODE_VER }}"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" - name: Set up Gradle caching"},{"lineNumber":50,"author":{"gitId":"-"},"content":" uses: actions/cache@v3"},{"lineNumber":51,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":52,"author":{"gitId":"-"},"content":" path: |"},{"lineNumber":53,"author":{"gitId":"-"},"content":" $HOME/.gradle/caches"},{"lineNumber":54,"author":{"gitId":"-"},"content":" $HOME/.gradle/wrapper"},{"lineNumber":55,"author":{"gitId":"-"},"content":" key: ${{ matrix.os }}-gradle-${{ hashFiles(\u0027**/*.gradle*\u0027) }}"},{"lineNumber":56,"author":{"gitId":"-"},"content":" restore-keys: |"},{"lineNumber":57,"author":{"gitId":"-"},"content":" ${{ matrix.os }}-gradle-"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" - name: Set up Node caching"},{"lineNumber":60,"author":{"gitId":"-"},"content":" uses: actions/cache@v3"},{"lineNumber":61,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":62,"author":{"gitId":"-"},"content":" path: $HOME/.npm"},{"lineNumber":63,"author":{"gitId":"-"},"content":" key: ${{ matrix.os }}-node-${{ hashFiles(\u0027**/package-lock.json\u0027) }}"},{"lineNumber":64,"author":{"gitId":"-"},"content":" restore-keys: |"},{"lineNumber":65,"author":{"gitId":"-"},"content":" ${{ matrix.os }}-node-"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" - name: Grant execute permission for gradlew"},{"lineNumber":68,"author":{"gitId":"-"},"content":" if: ${{ runner.os !\u003d \u0027Windows\u0027 }}"},{"lineNumber":69,"author":{"gitId":"-"},"content":" run: chmod +x gradlew # Windows does not need this"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" - name: Run environmental checks"},{"lineNumber":72,"author":{"gitId":"-"},"content":" run: ./gradlew environmentalChecks"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" - name: Run linter"},{"lineNumber":75,"author":{"gitId":"-"},"content":" run: ./gradlew lintFrontend"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" - name: Build with Gradle"},{"lineNumber":78,"author":{"gitId":"-"},"content":" run: ./gradlew clean checkstyleAll test systemTest coverage"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" - name: Run code coverage"},{"lineNumber":81,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 ( matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 || matrix.os \u003d\u003d \u0027macos-11\u0027 || matrix.os \u003d\u003d \u0027windows-2022\u0027 ) }}"},{"lineNumber":82,"author":{"gitId":"-"},"content":" uses: codecov/codecov-action@v3"},{"lineNumber":83,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":84,"author":{"gitId":"-"},"content":" directory: ${{ github.workspace }}/build/reports/jacoco/coverage"},{"lineNumber":85,"author":{"gitId":"-"},"content":" files: coverage.xml"},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":" fail_ci_if_error: false"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" - name: Build preview website (pull request)"},{"lineNumber":89,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 github.event_name \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 }}"},{"lineNumber":90,"author":{"gitId":"-"},"content":" run: |"},{"lineNumber":91,"author":{"gitId":"-"},"content":" git fetch --all \u0026\u0026 git config --global user.email \"-\" \u0026\u0026 git config --global user.name \"-\" \u0026\u0026 ./gradlew run -Dargs\u003d\"--since d1\""},{"lineNumber":92,"author":{"gitId":"-"},"content":" sudo apt-get -y install graphviz"},{"lineNumber":93,"author":{"gitId":"-"},"content":" npm install -g markbind-cli"},{"lineNumber":94,"author":{"gitId":"-"},"content":" (cd docs \u0026\u0026 markbind build)"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" - name: Save PR number and HEAD commit (pull request)"},{"lineNumber":97,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 github.event_name \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 }}"},{"lineNumber":98,"author":{"gitId":"-"},"content":" run: |"},{"lineNumber":99,"author":{"gitId":"-"},"content":" mkdir -p ./pr"},{"lineNumber":100,"author":{"gitId":"-"},"content":" echo ${{ github.event.number }} \u003e ./pr/NUMBER"},{"lineNumber":101,"author":{"gitId":"-"},"content":" echo ${{ github.event.pull_request.head.sha }} \u003e ./pr/SHA"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" - name: Upload artifacts (pull request)"},{"lineNumber":104,"author":{"gitId":"-"},"content":" if: ${{ success() \u0026\u0026 github.event_name \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 matrix.os \u003d\u003d \u0027ubuntu-20.04\u0027 }}"},{"lineNumber":105,"author":{"gitId":"-"},"content":" uses: actions/upload-artifact@v3"},{"lineNumber":106,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":107,"author":{"gitId":"-"},"content":" name: reposense-deployment"},{"lineNumber":108,"author":{"gitId":"-"},"content":" path: |"},{"lineNumber":109,"author":{"gitId":"-"},"content":" ./reposense-report"},{"lineNumber":110,"author":{"gitId":"-"},"content":" ./docs/_site"},{"lineNumber":111,"author":{"gitId":"-"},"content":" ./pr"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" cypress:"},{"lineNumber":114,"author":{"gitId":"-"},"content":" name: Cypress frontend tests"},{"lineNumber":115,"author":{"gitId":"-"},"content":" runs-on: ubuntu-20.04"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" steps:"},{"lineNumber":118,"author":{"gitId":"-"},"content":" - name: Checkout repository"},{"lineNumber":119,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3"},{"lineNumber":120,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":121,"author":{"gitId":"-"},"content":" fetch-depth: 0"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" - name: Set up JDK 1.8"},{"lineNumber":124,"author":{"gitId":"-"},"content":" uses: actions/setup-java@v3"},{"lineNumber":125,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":126,"author":{"gitId":"-"},"content":" distribution: ${{ env.JAVA_DISTRIBUTION }}"},{"lineNumber":127,"author":{"gitId":"-"},"content":" java-version: ${{ env.JAVA_VER }}"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" - name: Verify Java version"},{"lineNumber":130,"author":{"gitId":"-"},"content":" run: echo \"Actual JDK in use -- \"; java -version"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" - name: Set up Node.js"},{"lineNumber":133,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3"},{"lineNumber":134,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":135,"author":{"gitId":"-"},"content":" node-version: ${{ env.NODE_VER }}"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" - name: Set up Gradle caching"},{"lineNumber":138,"author":{"gitId":"-"},"content":" uses: actions/cache@v3"},{"lineNumber":139,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":140,"author":{"gitId":"-"},"content":" path: |"},{"lineNumber":141,"author":{"gitId":"-"},"content":" $HOME/.gradle/caches"},{"lineNumber":142,"author":{"gitId":"-"},"content":" $HOME/.gradle/wrapper"},{"lineNumber":143,"author":{"gitId":"-"},"content":" key: ${{ runner.os }}-gradle-${{ hashFiles(\u0027**/*.gradle*\u0027) }}"},{"lineNumber":144,"author":{"gitId":"-"},"content":" restore-keys: |"},{"lineNumber":145,"author":{"gitId":"-"},"content":" ${{ runner.os }}-gradle-"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" - name: Set up Node caching"},{"lineNumber":148,"author":{"gitId":"-"},"content":" uses: actions/cache@v3"},{"lineNumber":149,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":150,"author":{"gitId":"-"},"content":" path: $HOME/.npm"},{"lineNumber":151,"author":{"gitId":"-"},"content":" key: ${{ runner.os }}-node-${{ hashFiles(\u0027**/package-lock.json\u0027) }}"},{"lineNumber":152,"author":{"gitId":"-"},"content":" restore-keys: |"},{"lineNumber":153,"author":{"gitId":"-"},"content":" ${{ runner.os }}-node-"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" - name: Grant execute permission for gradlew"},{"lineNumber":156,"author":{"gitId":"-"},"content":" run: chmod +x gradlew"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" - name: Set up environment"},{"lineNumber":159,"author":{"gitId":"-"},"content":" run: sudo apt-get install -y libgtk2.0-0 libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" - name: Run frontend tests"},{"lineNumber":162,"author":{"gitId":"-"},"content":" run: ./gradlew frontendTest -Pci"}],"authorContributionMap":{"asdfghjkxd":1,"sopa301":1,"-":160}},{"path":".github/workflows/surge.yml","fileType":"yml","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"# This workflow deploys a RepoSense report and the MarkBind documentation"},{"lineNumber":2,"author":{"gitId":"-"},"content":"# website to surge.sh in a secure manner for pull requests"},{"lineNumber":3,"author":{"gitId":"-"},"content":""},{"lineNumber":4,"author":{"gitId":"-"},"content":"name: Surge.sh build preview"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"on:"},{"lineNumber":7,"author":{"gitId":"-"},"content":" workflow_run:"},{"lineNumber":8,"author":{"gitId":"-"},"content":" workflows: [\"Continuous Integration\"]"},{"lineNumber":9,"author":{"gitId":"-"},"content":" types:"},{"lineNumber":10,"author":{"gitId":"-"},"content":" - completed"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"jobs:"},{"lineNumber":13,"author":{"gitId":"-"},"content":" deploy:"},{"lineNumber":14,"author":{"gitId":"-"},"content":" name: Deploy to surge.sh"},{"lineNumber":15,"author":{"gitId":"-"},"content":" runs-on: ubuntu-latest"},{"lineNumber":16,"author":{"gitId":"-"},"content":" if: ${{ github.event.workflow_run.event \u003d\u003d \u0027pull_request\u0027 \u0026\u0026 github.event.workflow_run.conclusion \u003d\u003d \u0027success\u0027 }}"},{"lineNumber":17,"author":{"gitId":"-"},"content":" env:"},{"lineNumber":18,"author":{"gitId":"-"},"content":" NODE_VERSION: \"lts/*\""},{"lineNumber":19,"author":{"gitId":"-"},"content":" GITHUB_TOKEN: ${{ github.token }}"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" steps:"},{"lineNumber":22,"author":{"gitId":"-"},"content":" - name: Checkout repository"},{"lineNumber":23,"author":{"gitId":"-"},"content":" uses: actions/checkout@v3"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" - name: Set up Node.js"},{"lineNumber":26,"author":{"gitId":"-"},"content":" uses: actions/setup-node@v3"},{"lineNumber":27,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" node-version: \u002718.x\u0027"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" - name: Download deployment artifacts"},{"lineNumber":31,"author":{"gitId":"-"},"content":" uses: dawidd6/action-download-artifact@v2"},{"lineNumber":32,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":33,"author":{"gitId":"-"},"content":" workflow: integration.yml"},{"lineNumber":34,"author":{"gitId":"-"},"content":" run_id: ${{ github.event.workflow_run.id }}"},{"lineNumber":35,"author":{"gitId":"-"},"content":" name: reposense-deployment"},{"lineNumber":36,"author":{"gitId":"-"},"content":" path: ."},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" - name: Extract PR number"},{"lineNumber":39,"author":{"gitId":"-"},"content":" id: pr-number"},{"lineNumber":40,"author":{"gitId":"-"},"content":" run: echo \u0027ACTIONS_PR_NUMBER\u003d\u0027$(cat ./pr/NUMBER) \u003e\u003e $GITHUB_OUTPUT"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" - name: Download deployment status artifacts"},{"lineNumber":43,"author":{"gitId":"-"},"content":" uses: dawidd6/action-download-artifact@v2"},{"lineNumber":44,"author":{"gitId":"-"},"content":" with:"},{"lineNumber":45,"author":{"gitId":"-"},"content":" workflow: pending.yml"},{"lineNumber":46,"author":{"gitId":"-"},"content":" pr: ${{ steps.pr-number.outputs.ACTIONS_PR_NUMBER }}"},{"lineNumber":47,"author":{"gitId":"-"},"content":" workflow_conclusion: success"},{"lineNumber":48,"author":{"gitId":"-"},"content":" name: reposense-deployment-id"},{"lineNumber":49,"author":{"gitId":"-"},"content":" path: ./pr"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" - name: Update PR checklist for surge.sh as in progress"},{"lineNumber":52,"author":{"gitId":"-"},"content":" if: ${{ success() }}"},{"lineNumber":53,"author":{"gitId":"-"},"content":" run: ./config/gh-actions/deploy.sh in_progress"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" - name: Install surge"},{"lineNumber":56,"author":{"gitId":"-"},"content":" if: ${{ success() }}"},{"lineNumber":57,"author":{"gitId":"-"},"content":" run: npm install -g surge"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" - name: Deploy to surge.sh"},{"lineNumber":60,"author":{"gitId":"-"},"content":" if: ${{ success() }}"},{"lineNumber":61,"author":{"gitId":"-"},"content":" env:"},{"lineNumber":62,"author":{"gitId":"-"},"content":" SURGE_LOGIN: ${{ secrets.SURGE_LOGIN }}"},{"lineNumber":63,"author":{"gitId":"-"},"content":" SURGE_TOKEN: ${{ secrets.SURGE_TOKEN }}"},{"lineNumber":64,"author":{"gitId":"-"},"content":" run: ./config/gh-actions/deploy.sh success"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" - name: Update PR checklist for surge.sh as failure"},{"lineNumber":67,"author":{"gitId":"-"},"content":" if: ${{ failure() }}"},{"lineNumber":68,"author":{"gitId":"-"},"content":" run: ./config/gh-actions/deploy.sh failure"}],"authorContributionMap":{"sopa301":1,"-":67}},{"path":"build.gradle","fileType":"gradle","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"plugins {"},{"lineNumber":4,"author":{"gitId":"-"},"content":" id \u0027application\u0027"},{"lineNumber":5,"author":{"gitId":"-"},"content":" id \u0027checkstyle\u0027"},{"lineNumber":6,"author":{"gitId":"-"},"content":" id \u0027idea\u0027"},{"lineNumber":7,"author":{"gitId":"-"},"content":" id \u0027jacoco\u0027"},{"lineNumber":8,"author":{"gitId":"-"},"content":" id \u0027java\u0027"},{"lineNumber":9,"author":{"gitId":"-"},"content":" id \u0027com.github.johnrengelman.shadow\u0027 version \u00277.1.2\u0027"},{"lineNumber":10,"author":{"gitId":"-"},"content":" id \u0027com.liferay.node\u0027 version \u00277.2.18\u0027"},{"lineNumber":11,"author":{"gitId":"-"},"content":" id \u0027com.github.psxpaul.execfork\u0027 version \u00270.2.0\u0027"},{"lineNumber":12,"author":{"gitId":"-"},"content":" id \u0027com.palantir.git-version\u0027 version \u00270.13.0\u0027"},{"lineNumber":13,"author":{"gitId":"-"},"content":"}"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"OperatingSystem os \u003d DefaultNativePlatform.currentOperatingSystem;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"mainClassName \u003d \u0027reposense.RepoSense\u0027"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"node.download \u003d false // The Liferay Node Gradle Plugin will use the system PATH to find the Node/npm executable."},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"sourceCompatibility \u003d JavaVersion.VERSION_1_8"},{"lineNumber":22,"author":{"gitId":"-"},"content":"targetCompatibility \u003d JavaVersion.VERSION_1_8"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"repositories {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" mavenCentral()"},{"lineNumber":26,"author":{"gitId":"-"},"content":"}"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"configurations {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" systemtestImplementation.extendsFrom testImplementation"},{"lineNumber":30,"author":{"gitId":"-"},"content":" systemtestRuntime.extendsFrom testRuntime"},{"lineNumber":31,"author":{"gitId":"-"},"content":"}"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"dependencies {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" String jUnitVersion \u003d \u00275.8.2\u0027"},{"lineNumber":35,"author":{"gitId":"-"},"content":" implementation group: \u0027com.google.code.gson\u0027 ,name: \u0027gson\u0027, version:\u00272.9.0\u0027"},{"lineNumber":36,"author":{"gitId":"-"},"content":" implementation group: \u0027net.freeutils\u0027, name: \u0027jlhttp\u0027, version: \u00272.6\u0027"},{"lineNumber":37,"author":{"gitId":"-"},"content":" implementation group: \u0027net.sourceforge.argparse4j\u0027, name: \u0027argparse4j\u0027, version: \u00270.9.0\u0027"},{"lineNumber":38,"author":{"gitId":"-"},"content":" implementation group: \u0027org.apache.ant\u0027, name: \u0027ant\u0027, version: \u00271.10.12\u0027"},{"lineNumber":39,"author":{"gitId":"-"},"content":" implementation group: \u0027org.apache.commons\u0027, name: \u0027commons-csv\u0027, version: \u00271.9.0\u0027"},{"lineNumber":40,"author":{"gitId":"-"},"content":" implementation group: \u0027org.fusesource.jansi\u0027, name: \u0027jansi\u0027, version: \u00272.4.0\u0027"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-api\u0027, version: jUnitVersion"},{"lineNumber":43,"author":{"gitId":"-"},"content":" testImplementation group: \u0027org.junit.jupiter\u0027, name: \u0027junit-jupiter-engine\u0027, version: jUnitVersion"},{"lineNumber":44,"author":{"gitId":"-"},"content":"}"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"sourceSets {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" systemtest {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" compileClasspath +\u003d main.output + test.output"},{"lineNumber":49,"author":{"gitId":"-"},"content":" runtimeClasspath +\u003d main.output + test.output"},{"lineNumber":50,"author":{"gitId":"-"},"content":" java.srcDir file(\u0027src/systemtest/java\u0027)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" resources.srcDir file(\u0027src/systemtest/resources\u0027)"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":"}"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":"def installFrontend \u003d tasks.register(\u0027installFrontend\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027"},{"lineNumber":57,"author":{"gitId":"-"},"content":" args \u003d [\u0027ci\u0027]"},{"lineNumber":58,"author":{"gitId":"-"},"content":"}"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":"def buildFrontend \u003d tasks.register(\u0027buildFrontend\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" dependsOn installFrontend"},{"lineNumber":62,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027"},{"lineNumber":63,"author":{"gitId":"-"},"content":" args \u003d [\u0027run\u0027, \u0027devbuild\u0027]"},{"lineNumber":64,"author":{"gitId":"-"},"content":"}"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":"def zipReport \u003d tasks.register(\u0027zipReport\u0027, Zip) {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" dependsOn buildFrontend"},{"lineNumber":68,"author":{"gitId":"-"},"content":" from \u0027frontend/build/\u0027"},{"lineNumber":69,"author":{"gitId":"-"},"content":" archiveBaseName \u003d \u0027templateZip\u0027"},{"lineNumber":70,"author":{"gitId":"-"},"content":" destinationDirectory \u003d file(\u0027src/main/resources\u0027)"},{"lineNumber":71,"author":{"gitId":"-"},"content":"}"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":"def copyCypressConfig \u003d tasks.register(\u0027copyCypressConfig\u0027, Copy) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" description \u0027Copies the config files used by the backend to generate the test report for Cypress testing into an isolated working directory\u0027"},{"lineNumber":75,"author":{"gitId":"-"},"content":" from \u0027frontend/cypress/config\u0027"},{"lineNumber":76,"author":{"gitId":"-"},"content":" into \u0027build/serveTestReport/exampleconfig\u0027"},{"lineNumber":77,"author":{"gitId":"-"},"content":"}"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":"def copyMainClasses \u003d tasks.register(\u0027copyMainClasses\u0027, Copy) {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" description \u0027Copies the backend classes used to generate the test report for Cypress testing into an isolated working directory\u0027"},{"lineNumber":81,"author":{"gitId":"-"},"content":" dependsOn classes"},{"lineNumber":82,"author":{"gitId":"-"},"content":" from \u0027build/classes/java/main\u0027"},{"lineNumber":83,"author":{"gitId":"-"},"content":" into \u0027build/serveTestReport/java/main\u0027"},{"lineNumber":84,"author":{"gitId":"-"},"content":"}"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":"def compileJava \u003d tasks.compileJava"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"tasks.named(\"processSystemtestResources\").configure {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" duplicatesStrategy \u003d DuplicatesStrategy.INCLUDE"},{"lineNumber":90,"author":{"gitId":"-"},"content":"}"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":"tasks.run.dependsOn(zipReport);"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":"run {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" //the second arguments indicates the default value associated with the property."},{"lineNumber":96,"author":{"gitId":"-"},"content":" tasks.compileJava.mustRunAfter(zipReport)"},{"lineNumber":97,"author":{"gitId":"-"},"content":" args System.getProperty(\u0027args\u0027, \u0027\u0027).split()"},{"lineNumber":98,"author":{"gitId":"-"},"content":" systemProperty \"version\", getRepoSenseVersion()"},{"lineNumber":99,"author":{"gitId":"-"},"content":"}"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":"checkstyle {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" toolVersion \u003d \u00279.3\u0027"},{"lineNumber":103,"author":{"gitId":"-"},"content":" getConfigDirectory().set(file(\"$rootProject.projectDir/config/checkstyle\"))"},{"lineNumber":104,"author":{"gitId":"-"},"content":"}"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"idea {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" module {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" sourceSets.systemtest.allSource.srcDirs.each { srcDir -\u003e module.testSourceDirs +\u003d srcDir }"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":"}"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"test {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" environment(\"REPOSENSE_ENVIRONMENT\", \"TEST\")"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" testLogging {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" events \u0027passed\u0027, \u0027skipped\u0027, \u0027failed\u0027"},{"lineNumber":117,"author":{"gitId":"-"},"content":" showStandardStreams \u003d true"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" doFirst {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" deleteReposAddressDirectory()"},{"lineNumber":122,"author":{"gitId":"-"},"content":" }"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" useJUnitPlatform()"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" doLast {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" deleteReposAddressDirectory()"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":"}"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":"tasks.shadowJar.dependsOn(zipReport);"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":"shadowJar {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" tasks.compileJava.mustRunAfter(zipReport)"},{"lineNumber":135,"author":{"gitId":"-"},"content":" tasks.processResources.mustRunAfter(zipReport)"},{"lineNumber":136,"author":{"gitId":"-"},"content":" archiveFileName \u003d \u0027RepoSense.jar\u0027"},{"lineNumber":137,"author":{"gitId":"-"},"content":" destinationDirectory \u003d file(\"${buildDir}/jar/\")"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" manifest {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" attributes \u0027Implementation-Version\u0027: getRepoSenseVersion()"},{"lineNumber":141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":"}"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":"tasks.register(\u0027lintFrontend\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" dependsOn installFrontend"},{"lineNumber":146,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027"},{"lineNumber":147,"author":{"gitId":"-"},"content":" args \u003d [\u0027run\u0027, \u0027lint\u0027]"},{"lineNumber":148,"author":{"gitId":"-"},"content":"}"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":"def checkstyleMain \u003d tasks.checkstyleMain"},{"lineNumber":151,"author":{"gitId":"-"},"content":"def checkstyleTest \u003d tasks.checkstyleTest"},{"lineNumber":152,"author":{"gitId":"-"},"content":"def checkstyleSystemtest \u003d tasks.checkstyleSystemtest"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":"tasks.register(\u0027checkstyleAll\u0027, Checkstyle) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" dependsOn checkstyleMain, checkstyleTest, checkstyleSystemtest"},{"lineNumber":156,"author":{"gitId":"-"},"content":" tasks.checkstyleTest.mustRunAfter(\u0027checkstyleMain\u0027)"},{"lineNumber":157,"author":{"gitId":"-"},"content":" tasks.checkstyleSystemtest.mustRunAfter(\u0027checkstyleTest\u0027)"},{"lineNumber":158,"author":{"gitId":"-"},"content":"}"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":"tasks.register(\u0027environmentalChecks\u0027, Exec) {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" workingDir \u0027config/checks/\u0027"},{"lineNumber":162,"author":{"gitId":"-"},"content":" if (os.isWindows()){"},{"lineNumber":163,"author":{"gitId":"-"},"content":" commandLine \u0027cmd\u0027, \u0027/c\u0027, \u0027run-checks.bat\u0027"},{"lineNumber":164,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" commandLine \u0027sh\u0027, \u0027./run-checks.sh\u0027"},{"lineNumber":166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":167,"author":{"gitId":"-"},"content":"}"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":"tasks.register(\u0027systemtest\u0027, Test) {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" testClassesDirs \u003d sourceSets.systemtest.output.classesDirs"},{"lineNumber":172,"author":{"gitId":"-"},"content":" classpath \u003d sourceSets.systemtest.runtimeClasspath"},{"lineNumber":173,"author":{"gitId":"-"},"content":" environment(\"REPOSENSE_ENVIRONMENT\", \"TEST\")"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" testLogging {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" events \u0027passed\u0027, \u0027skipped\u0027, \u0027failed\u0027"},{"lineNumber":177,"author":{"gitId":"-"},"content":" showStandardStreams \u003d true"},{"lineNumber":178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" doFirst {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" deleteReposAddressDirectory()"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" useJUnitPlatform()"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" doLast {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" deleteReposAddressDirectory()"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":"}"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"def serveTestReportInBackground \u003d tasks.register(\u0027serveTestReportInBackground\u0027, com.github.psxpaul.task.JavaExecFork) {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" description \u0027Creates a background server process for the test report that is to be used by Cypress\u0027"},{"lineNumber":193,"author":{"gitId":"-"},"content":" dependsOn zipReport, compileJava, processResources, copyCypressConfig, copyMainClasses"},{"lineNumber":194,"author":{"gitId":"-"},"content":" tasks.compileJava.mustRunAfter(zipReport)"},{"lineNumber":195,"author":{"gitId":"-"},"content":" tasks.processResources.mustRunAfter(zipReport)"},{"lineNumber":196,"author":{"gitId":"-"},"content":" workingDir \u003d \u0027build/serveTestReport\u0027"},{"lineNumber":197,"author":{"gitId":"-"},"content":" main \u003d mainClassName"},{"lineNumber":198,"author":{"gitId":"-"},"content":" classpath \u003d sourceSets.main.runtimeClasspath"},{"lineNumber":199,"author":{"gitId":"-"},"content":" args \u003d [\u0027--config\u0027, \u0027./exampleconfig\u0027, \u0027--since\u0027, \u0027d1\u0027, \u0027--view\u0027]"},{"lineNumber":200,"author":{"gitId":"-"},"content":" String versionJvmArgs \u003d \u0027-Dversion\u003d\u0027 + getRepoSenseVersion()"},{"lineNumber":201,"author":{"gitId":"-"},"content":" jvmArgs \u003d [ versionJvmArgs ]"},{"lineNumber":202,"author":{"gitId":"-"},"content":" killDescendants \u003d false // Kills descendants of started process using methods only found in Java 9 and beyond."},{"lineNumber":203,"author":{"gitId":"-"},"content":" // Above flag is set to true by default but is incompatible with Java 8. It should be removed from this file if we fully migrate to Java 11."},{"lineNumber":204,"author":{"gitId":"-"},"content":" waitForPort \u003d 9000"},{"lineNumber":205,"author":{"gitId":"-"},"content":"}"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":"def installCypress \u003d tasks.register(\u0027installCypress\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/cypress/\u0027"},{"lineNumber":209,"author":{"gitId":"-"},"content":" args \u003d [\u0027ci\u0027]"},{"lineNumber":210,"author":{"gitId":"-"},"content":"}"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":"tasks.register(\u0027cypress\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" dependsOn installCypress, serveTestReportInBackground"},{"lineNumber":214,"author":{"gitId":"-"},"content":" tasks.serveTestReportInBackground.mustRunAfter(installCypress)"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" workingDir \u003d file(\u0027frontend/cypress/\u0027)"},{"lineNumber":217,"author":{"gitId":"-"},"content":" args \u003d [\"run-script\", \"debug\"]"},{"lineNumber":218,"author":{"gitId":"-"},"content":"}"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"tasks.register(\u0027frontendTest\u0027, com.liferay.gradle.plugins.node.tasks.ExecutePackageManagerTask) {"},{"lineNumber":221,"author":{"gitId":"-"},"content":" dependsOn installCypress, serveTestReportInBackground"},{"lineNumber":222,"author":{"gitId":"-"},"content":" tasks.serveTestReportInBackground.mustRunAfter(installCypress)"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":" workingDir \u003d file(\u0027frontend/cypress/\u0027)"},{"lineNumber":225,"author":{"gitId":"-"},"content":" args \u003d [\"run-script\", \"tests\"]"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" // Run tests in CI without slow motion"},{"lineNumber":228,"author":{"gitId":"-"},"content":" if (project.hasProperty(\u0027ci\u0027)) {"},{"lineNumber":229,"author":{"gitId":"-"},"content":" args \u003d [\"run-script\", \"ci\"]"},{"lineNumber":230,"author":{"gitId":"-"},"content":" }"},{"lineNumber":231,"author":{"gitId":"-"},"content":"}"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":"tasks.withType(Copy) {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" includeEmptyDirs \u003d true"},{"lineNumber":235,"author":{"gitId":"-"},"content":"}"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":"jacoco {"},{"lineNumber":238,"author":{"gitId":"-"},"content":" toolVersion \u003d \"0.8.7\""},{"lineNumber":239,"author":{"gitId":"-"},"content":"}"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":"jacocoTestReport {"},{"lineNumber":242,"author":{"gitId":"-"},"content":" reports {"},{"lineNumber":243,"author":{"gitId":"-"},"content":" html.required \u003d true"},{"lineNumber":244,"author":{"gitId":"-"},"content":" xml.required \u003d true"},{"lineNumber":245,"author":{"gitId":"-"},"content":" csv.required \u003d false"},{"lineNumber":246,"author":{"gitId":"-"},"content":" html.destination file(\"${buildDir}/jacocoHtml\")"},{"lineNumber":247,"author":{"gitId":"-"},"content":" }"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":" executionData systemtest, frontendTest"},{"lineNumber":250,"author":{"gitId":"-"},"content":"}"},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":"tasks.register(\u0027coverage\u0027, JacocoReport)"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":"coverage.configure {"},{"lineNumber":255,"author":{"gitId":"-"},"content":" sourceDirectories.from files(sourceSets.main.allSource.srcDirs)"},{"lineNumber":256,"author":{"gitId":"-"},"content":" classDirectories.from files(sourceSets.main.output)"},{"lineNumber":257,"author":{"gitId":"-"},"content":" executionData.from files(jacocoTestReport.executionData)"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" afterEvaluate {"},{"lineNumber":260,"author":{"gitId":"-"},"content":" classDirectories.from files(classDirectories.files.collect {"},{"lineNumber":261,"author":{"gitId":"-"},"content":" fileTree(dir: it, exclude: [\u0027**/*.jar\u0027])"},{"lineNumber":262,"author":{"gitId":"-"},"content":" })"},{"lineNumber":263,"author":{"gitId":"-"},"content":" }"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":" reports {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" html.required \u003d true"},{"lineNumber":267,"author":{"gitId":"-"},"content":" xml.required \u003d true"},{"lineNumber":268,"author":{"gitId":"-"},"content":" }"},{"lineNumber":269,"author":{"gitId":"-"},"content":"}"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":"String getRepoSenseVersion() {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" String repoSenseVersion \u003d project.property(\"version\")"},{"lineNumber":273,"author":{"gitId":"-"},"content":" if (repoSenseVersion.equals(\"unspecified\")) {"},{"lineNumber":274,"author":{"gitId":"-"},"content":" repoSenseVersion \u003d versionDetails().commitDistance \u003d\u003d 0 ? versionDetails().lastTag : versionDetails().gitHash"},{"lineNumber":275,"author":{"gitId":"-"},"content":" }"},{"lineNumber":276,"author":{"gitId":"-"},"content":" return repoSenseVersion"},{"lineNumber":277,"author":{"gitId":"-"},"content":"}"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":"def syncFrontendPublic \u003d tasks.register(\u0027syncFrontendPublic\u0027, Sync) {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" from \u0027reposense-report\u0027"},{"lineNumber":281,"author":{"gitId":"-"},"content":" into \u0027frontend/public/\u0027"},{"lineNumber":282,"author":{"gitId":"-"},"content":" include \u0027**/*.json\u0027"},{"lineNumber":283,"author":{"gitId":"-"},"content":" includeEmptyDirs \u003d false"},{"lineNumber":284,"author":{"gitId":"-"},"content":" preserve {"},{"lineNumber":285,"author":{"gitId":"-"},"content":" include \u0027index.html\u0027"},{"lineNumber":286,"author":{"gitId":"-"},"content":" include \u0027favicon.ico\u0027"},{"lineNumber":287,"author":{"gitId":"sopa301"},"content":" include \u0027title.md\u0027"},{"lineNumber":288,"author":{"gitId":"-"},"content":" }"},{"lineNumber":289,"author":{"gitId":"-"},"content":"}"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":"def macHotReloadFrontend \u003d tasks.register(\u0027macHotReloadFrontend\u0027, Exec) {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" dependsOn installFrontend"},{"lineNumber":293,"author":{"gitId":"-"},"content":" onlyIf {os.isMacOsX()}"},{"lineNumber":294,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027"},{"lineNumber":295,"author":{"gitId":"-"},"content":" commandLine \u0027npm\u0027, \u0027run\u0027, \u0027serveOpen\u0027"},{"lineNumber":296,"author":{"gitId":"-"},"content":"}"},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":"def windowsHotReloadFrontend \u003d tasks.register(\u0027windowsHotReloadFrontend\u0027, Exec) {"},{"lineNumber":299,"author":{"gitId":"-"},"content":" dependsOn installFrontend"},{"lineNumber":300,"author":{"gitId":"-"},"content":" onlyIf {os.isWindows()}"},{"lineNumber":301,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027"},{"lineNumber":302,"author":{"gitId":"-"},"content":" commandLine \u0027cmd\u0027,\u0027/c\u0027, \u0027START\u0027, \u0027\"hotreload RepoSense frontend\"\u0027, \u0027npm\u0027, \u0027run\u0027, \u0027serveOpen\u0027"},{"lineNumber":303,"author":{"gitId":"-"},"content":"}"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":"def linuxHotReloadFrontend \u003d tasks.register(\u0027linuxHotReloadFrontend\u0027, Exec) {"},{"lineNumber":306,"author":{"gitId":"-"},"content":" dependsOn installFrontend"},{"lineNumber":307,"author":{"gitId":"-"},"content":" onlyIf {os.isLinux()}"},{"lineNumber":308,"author":{"gitId":"-"},"content":" workingDir \u0027frontend/\u0027"},{"lineNumber":309,"author":{"gitId":"-"},"content":" commandLine \u0027npm\u0027, \u0027run\u0027, \u0027serveOpen\u0027"},{"lineNumber":310,"author":{"gitId":"-"},"content":"}"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":"tasks.register(\u0027hotReloadFrontend\u0027) {"},{"lineNumber":313,"author":{"gitId":"-"},"content":" dependsOn syncFrontendPublic"},{"lineNumber":314,"author":{"gitId":"-"},"content":" finalizedBy windowsHotReloadFrontend"},{"lineNumber":315,"author":{"gitId":"-"},"content":" finalizedBy macHotReloadFrontend"},{"lineNumber":316,"author":{"gitId":"-"},"content":" finalizedBy linuxHotReloadFrontend"},{"lineNumber":317,"author":{"gitId":"-"},"content":"}"},{"lineNumber":318,"author":{"gitId":"-"},"content":"// End of hot reload Tasks"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":"void deleteReposAddressDirectory() {"},{"lineNumber":321,"author":{"gitId":"-"},"content":" final String REPOS_ADDRESS \u003d \"repos\""},{"lineNumber":322,"author":{"gitId":"-"},"content":" def reposDirectory \u003d new File(REPOS_ADDRESS)"},{"lineNumber":323,"author":{"gitId":"-"},"content":" reposDirectory.deleteDir()"},{"lineNumber":324,"author":{"gitId":"-"},"content":"}"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":"defaultTasks \u0027clean\u0027, \u0027build\u0027, \u0027systemtest\u0027, \u0027frontendTest\u0027, \u0027coverage\u0027"}],"authorContributionMap":{"sopa301":1,"-":325}},{"path":"docs/about.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"About us\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-3\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"RepoSense is a project based in the [National University of Singapore, School of Computing](http://www.comp.nus.edu.sg/), funded by a _Teaching Enhancement Grant_ from the [NUS Center for Development of Teaching and Learning](https://nus.edu.sg/cdtl)."},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"## Current team"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"### [Damith C. Rajapakse](http://www.comp.nus.edu.sg/~damithch)"},{"lineNumber":15,"author":{"gitId":"-"},"content":"![](https://avatars.githubusercontent.com/u/1673303?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":16,"author":{"gitId":"-"},"content":"**Role**: Project Advisor"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"### [Charisma Kausar](https://www.github.com/ckcherry23)"},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e"},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2022 December - 2024 January]\u003cbr/\u003e"},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":"### [David Gareth Ong](https://www.github.com/vvidday)"},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e"},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2023 January - 2024 January]\u003cbr/\u003e"},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"### [Gokul Rajiv](https://github.com/gok99)"},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e"},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2022 January - 2024 January]\u003cbr/\u003e"},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":"### [Marcus Tang Xin Kye](https://www.github.com/MarcusTXK)"},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Developer [2024 January - ]\u003cbr/\u003e"},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2023 January - 2024 January]\u003cbr/\u003e"},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":"## [Chang Si Kai](https://github.com/sikai00)"},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2023 Jan - ]\u003cbr/\u003e"},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":"### [Alvis Ng](https://www.github.com/supermii2)"},{"lineNumber":50,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e"},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":"### [George Tay Quan Yao](https://www.github.com/jonasongg)"},{"lineNumber":55,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e"},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":"### [Jonas Ong Si Wei](https://www.github.com/jonasongg)"},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e"},{"lineNumber":61,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":62,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":63,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":64,"author":{"gitId":"asdfghjkxd"},"content":"### [Poon Yip Hang, Ryan](https://www.github.com/sopa301)"},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Contributor [2024 January - ]\u003cbr/\u003e"},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":"## Past Members"},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"### [Wang Chao](https://github.com/fzdy1914)"},{"lineNumber":72,"author":{"gitId":"-"},"content":"![](https://avatars3.githubusercontent.com/u/35621726?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Lead [2021 Jan - 2021 Dec]\u003cbr/\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":"Maintainer [2020 May - 2021 Jan]\u003cbr/\u003e"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"### [Hsu Zhong Jun](https://github.com/dcshzj)"},{"lineNumber":79,"author":{"gitId":"-"},"content":"![](https://avatars.githubusercontent.com/u/27919917?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":80,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Lead [2022 Jan - 2022 Dec]\u003cbr/\u003e"},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2021 June - 2021 Dec]\u003cbr/\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":"### [Chan Ger Hean](https://github.com/gerhean)"},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":"### [Huang Chengyu](https://github.com/HCY123902)"},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Co-Lead [2023 Jan - 2023 Apr]\u003cbr/\u003e"},{"lineNumber":92,"author":{"gitId":"asdfghjkxd"},"content":"Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e"},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e"},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":"### [Chan Jun Da](https://github.com/chan-j-d)"},{"lineNumber":99,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Project Co-Lead [2023 Apr- 2023 Dec]\u003cbr/\u003e"},{"lineNumber":100,"author":{"gitId":"asdfghjkxd"},"content":"Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e"},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e"},{"lineNumber":102,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":"### [Tay Yi Hsuen](https://github.com/yhtMinceraft1010X)"},{"lineNumber":107,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e"},{"lineNumber":108,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e"},{"lineNumber":109,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":"### [Zhou Jiahao](https://github.com/zhoukerrr)"},{"lineNumber":114,"author":{"gitId":"asdfghjkxd"},"content":"**Role**: Senior Dev [2023 Jan - 2023 Apr]\u003cbr/\u003e"},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":"Committer [2022 Jan - 2022 Dec]\u003cbr/\u003e"},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":"Contributor [2021 July - 2021 Dec]\u003cbr/\u003e"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":"### [Ma Tanghao](https://github.com/harryggg)"},{"lineNumber":121,"author":{"gitId":"-"},"content":"Main developer for the initial version [2017 May - 2018 May]"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":"### [Ong Shu Peng](https://github.com/ongspxm)"},{"lineNumber":126,"author":{"gitId":"-"},"content":"![](https://avatars0.githubusercontent.com/u/1430854?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":"**Role**: Area Lead for UI [2018 Dec - 2019 May]\u003cbr/\u003e"},{"lineNumber":128,"author":{"gitId":"-"},"content":"Committer [2018 Aug - 2018 Dec]\u003cbr/\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":"Contributor [2018 May - 2018 Aug]\u003cbr/\u003e"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":"### [Tan Jun An](https://github.com/yamidark)"},{"lineNumber":134,"author":{"gitId":"-"},"content":"![](https://avatars3.githubusercontent.com/u/18352498?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":135,"author":{"gitId":"-"},"content":"**Role**: Area Lead for Code Quality [2018 Aug - 2019 April]\u003cbr/\u003e"},{"lineNumber":136,"author":{"gitId":"-"},"content":"Committer [2018 May - 2018 Aug]\u003cbr/\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":"### [Teng Yong Hao](https://github.com/yong24s)"},{"lineNumber":141,"author":{"gitId":"-"},"content":"![](https://avatars2.githubusercontent.com/u/2003406?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":142,"author":{"gitId":"-"},"content":"**Role**:"},{"lineNumber":143,"author":{"gitId":"-"},"content":"Mentor [2018 Dec - 2020 May]\u003cbr/\u003e"},{"lineNumber":144,"author":{"gitId":"-"},"content":"Committer [2018 Aug - 2018 Dec]\u003cbr/\u003e"},{"lineNumber":145,"author":{"gitId":"-"},"content":"Contributor [2018 May - 2018 Aug]\u003cbr/\u003e"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":"### [Peh Xian Bin, Eugene](https://github.com/eugenepeh)"},{"lineNumber":150,"author":{"gitId":"-"},"content":"![](https://avatars.githubusercontent.com/u/19277206?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":151,"author":{"gitId":"-"},"content":"**Role**: Maintainer [2020 May - 2021 Jan]\u003cbr/\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":"Project Lead [2018 May - 2020 May]\u003cbr/\u003e"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":"### [Aditya Agarwal](https://github.com/adityaa1998)"},{"lineNumber":157,"author":{"gitId":"-"},"content":"Contributor [2018 May - 2018 Aug]"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"### [Apoorva Ullas](https://github.com/apoorva17)"},{"lineNumber":162,"author":{"gitId":"-"},"content":"Contributor [2018 Aug - 2019 May]"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":"### [Chelsey Ong Hee](https://github.com/chel-seyy)"},{"lineNumber":167,"author":{"gitId":"-"},"content":"Contributor [2018 Dec - 2019 May]"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":"### [Gilbert Emerson](https://github.com/emer7)"},{"lineNumber":172,"author":{"gitId":"-"},"content":"Contributor [2018 Dec - 2019 May]"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":"### [Teo Ming Yi](https://github.com/myteo)"},{"lineNumber":177,"author":{"gitId":"-"},"content":"Contributor [2018 Dec - 2019 May]"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":"### [Jin Minjia](https://github.com/bluein-green)"},{"lineNumber":182,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 May - 2019 Aug]\u003cbr/\u003e"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":"### [James Pang Mun Wai](https://github.com/jamessspanggg)"},{"lineNumber":187,"author":{"gitId":"-"},"content":"![](https://avatars1.githubusercontent.com/u/32864116?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":"**Role**: Committer [2020 May - 2021 Jan]\u003cbr/\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":"Contributor [2019 May - 2020 May]\u003cbr/\u003e"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":"### [Lee Jin Yao](https://github.com/jinyao-lee)"},{"lineNumber":194,"author":{"gitId":"-"},"content":"![](https://avatars3.githubusercontent.com/u/35756209?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":195,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 May - 2020 May]\u003cbr/\u003e"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":"### [Chong Chee Yuan](https://github.com/ccyccyccy)"},{"lineNumber":200,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2020 May]\u003cbr/\u003e"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":"### [Ni Tianzhen](https://github.com/niqiukun)"},{"lineNumber":205,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2020 May]\u003cbr/\u003e"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":"### [Yash Chowdhary](https://github.com/yash-chowdhary)"},{"lineNumber":210,"author":{"gitId":"-"},"content":"![](https://avatars2.githubusercontent.com/u/21968718?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":211,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2020 May]\u003cbr/\u003e"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":"### [Liu Yiwen](https://github.com/0blivious)"},{"lineNumber":216,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 August - 2021 May]\u003cbr/\u003e"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"### [Tejas Bhuwania](https://github.com/Tejas2805)"},{"lineNumber":221,"author":{"gitId":"-"},"content":"![](https://avatars2.githubusercontent.com/u/35946746?s\u003d150\u0026v\u003d4)\u003cbr/\u003e"},{"lineNumber":222,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 August - 2021 August]\u003cbr/\u003e"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":"### [Anubhav](https://github.com/anubh-v)"},{"lineNumber":227,"author":{"gitId":"-"},"content":"**Role**: Contributor [2019 September - 2020 August]\u003cbr/\u003e"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":"### [Ang Ze Yu](https://github.com/ang-zeyu)"},{"lineNumber":232,"author":{"gitId":"-"},"content":"**Role**: Contributor [2020 January - 2021 May]\u003cbr/\u003e"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":"### [Roland Yu Wenyang](https://github.com/rolandyuwy)"},{"lineNumber":237,"author":{"gitId":"-"},"content":"**Role**: Contributor [2021 January - 2021 March]\u003cbr/\u003e"},{"lineNumber":238,"author":{"gitId":"-"},"content":""}],"authorContributionMap":{"asdfghjkxd":69,"-":169}},{"path":"docs/dg/learningBasics.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Learning the Basics\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed, step with context %}"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"This is a learning guide for developers who are new to RepoSense."},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"Depending on what you know already and what you would like to work on (i.e., backend or frontend), you may find certain sections irrelevant to you and you can skip them accordingly."},{"lineNumber":19,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"## Backend"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"This section is for developers who want to contribute to the backend of RepoSense. You may skip this section if you want to contribute as a pure frontend developer. Before you get started, you should have set up the project on your computer according to [the _Setting up_ page](settingUp.html)."},{"lineNumber":28,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"The backend implementation of RepoSense is located in `src/main`."},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"{{ step(1) }} **Know Java**"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"The RepoSense backend is mostly written in `Java 8`."},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"1. You need to have a basic knowledge of Java before getting started, including its syntax, [API](https://docs.oracle.com/javase/8/docs/api/), and certain frameworks such as [JUnit](https://se-education.org/learningresources/contents/java/JUnit.html)."},{"lineNumber":37,"author":{"gitId":"-"},"content":"1. Once you are familiar with the basic syntax, you may wish to learn more advanced topics such as [concurrency](https://se-education.org/learningresources/contents/java/JavaConcurrency.html), [synchronization](https://se-education.org/learningresources/contents/java/JavaSynchronization.html), and [streams](https://se-education.org/learningresources/contents/java/streams-an-introduction.html). These topics can help you to understand certain part of the backend implementation (concurrent cloning and analysis of multiple repositories, etc.). They are optional but you may find them useful when working on certain issues."},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"{{ step(2) }} **Learn the RepoSense backend architecture**"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"You may want to refer to the [backend architecture](architecture.html) to understand the RepoSense backend implementation logic."},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"To gain a more concrete idea of how the backend works, you can use the IDE Debugger and run RepoSense under the debugging mode to trace through the steps of how arguments from command line and CSV files are parsed, how repositories are cloned and analyzed, and how the JSON files are generated."},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"The information below is for **Intellij**. If you are using a different IDE, you may need to check the documentation of how to use the debugger separately."},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"* Check the [debugging guide](https://www.jetbrains.com/help/idea/debugging-your-first-java-application.html) if you are not familiar with debugging in **Intelij**."},{"lineNumber":51,"author":{"gitId":"-"},"content":"* In `RepoSense.java`, the main class, set appropriate break points. Here are some relevant method calls in the `main` method at which you can set the breakpoints:"},{"lineNumber":52,"author":{"gitId":"-"},"content":" * `ArgsParser.parse(args)`: RepoSense parses the CLI arguments from the command given by the user."},{"lineNumber":53,"author":{"gitId":"-"},"content":" * `getRepoConfigurations(cliArguments)`: RepoSense gets the configuration for each repository by parsing the CSV files."},{"lineNumber":54,"author":{"gitId":"-"},"content":" * `getReportConfigurations(cliArguments)`: RepoSense gets the report configuration (report title) by parsing the JSON files."},{"lineNumber":55,"author":{"gitId":"-"},"content":" * `ReportGenerator.generateReposReport(...)` This is where the bulk of the work is conducted, including cloning repositories, analyzing repositories, and generating the JSON files to be used by the report."},{"lineNumber":56,"author":{"gitId":"-"},"content":"* To supply debugging arguments, right-click on the run button of `RepoSense.main`, click `Modify Run Configuration`, and add [CLI flags](https://reposense.org/ug/customizingReports.html#customize-using-cli-flags) in `Program arguments`. Examples: `--since 16/12/2021 --until 18/12/2022`; `-s 16/12/2021 -u 18/12/2022`."},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":"When tracing through the program execution, you can cross reference the architecture diagram and Javadoc of the class and method to check your understanding of the procedure."},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":"{{ step(3) }} **Gain some hands-on experience**"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":"Here are some small tasks for you to gain some basic knowledge of the code related to the RepoSense backend. You can do each in a separate branch in your local copy of the code."},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 1: Add a flag to pretty-print the JSON file**\" type\u003d\"primary\"\u003e"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" **Task 1: Add a flag to pretty-print the JSON file**"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" 1. [Generate a report locally](../ug/generatingReports.html#generating-reports-locally)."},{"lineNumber":72,"author":{"gitId":"-"},"content":" 2. Open a generated JSON file. For example, you can open `summary.json` of the generated report."},{"lineNumber":73,"author":{"gitId":"-"},"content":" 3. You should see that the content in the JSON is compactly organized in 1 single line. This may affect readability for developer who wants to investigate the content in the JSON file."},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" **Your Task**"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" Add a new CLI argument `--use-json-pretty-printing`, such that when a user runs the command `java -jar RepoSense.jar --repos LIST_OF_REPO_URLS --view --use-json-pretty-printing`, the JSON files `summary.json`, `authorship.json`, and `commits.json` will be printed in a more readable way."},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" Try to understand the parsing process of the Command Line Arguments, which starts from `ArgsParser.parse(args)` in `RepoSense.java` and uses `ArgumentParser` to capture the arguments in the command string."},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" Therefore, the first step you can take is to add the following to `ArgsParser`."},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":86,"author":{"gitId":"-"},"content":" public static final String[] JSON_PRINT_MODE_FLAGS \u003d new String[]{\"--use-json-pretty-printing\", \"-j\"};"},{"lineNumber":87,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" In `getArgumentParser` method, add the following content to make `ArgumentParser` capture the new argument."},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":92,"author":{"gitId":"-"},"content":" parser.addArgument(JSON_PRINT_MODE_FLAGS)"},{"lineNumber":93,"author":{"gitId":"-"},"content":" .dest(JSON_PRINT_MODE_FLAGS[0])"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .help(\"A flag to use json pretty printing when generating the json files.\");"},{"lineNumber":96,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" After the step in hint 1, the argument is captured by `ArgumentParser`. Now make corresponding changes to `CliArguments.java`, `ConfigCliArguments.java`, and the `parse` method in `ArgsParser.java` to make the return result of `parse` include the new argument."},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" 1. Add the following content to `CliArguments` to include `isPrettyPrintingUsed` as a new attribute to the class."},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":106,"author":{"gitId":"-"},"content":" protected boolean isPrettyPrintingUsed;"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" public boolean isPrettyPrintingUsed() {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" return isPrettyPrintingUsed;"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" 2. In the constructor of `ConfigCliArguments`, add `isPrettyPrintingUsed` as a new parameter of the method, and add the following instruction to the method body."},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":116,"author":{"gitId":"-"},"content":" this.isPrettyPrintingUsed \u003d isPrettyPrintingUsed;"},{"lineNumber":117,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" 3. In the `parse` method of `ArgsParser`, add the following instruction to get `isJsonPrettyPrintingUsed` from `ArgmentParser`."},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":122,"author":{"gitId":"-"},"content":" boolean isJsonPrettyPrintingUsed \u003d results.get(JSON_PRINT_MODE_FLAGS[0]);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" 4. Additionally, change the return statement of the `parse` method so that the `ConfigCliArguments` object returned will now include `isJsonPrettyPrintingUsed`."},{"lineNumber":126,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" After the steps in hint 1 and hint 2, the result returned from `ArgsParser.parse(args)` in `RepoSense.java` should be able to capture the new argument when it is specified in the command."},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" The next step is to extract the argument from the `CliArguments` object, and pass it to JSON file writer to notify it of the specified printing mode."},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" Note that the creation and writing of JSON file is invoked in `ReportGenerator.generateReposReport`, which calls `FileUtil.writeJsonFile` directly to write the `summary.json` file or indirectly (Check `generateIndividualRepoReport` and `generateEmptyRepoReport`) to write the `commits.json` or `authorship.json` files of individual repositories."},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" Therefore, the task now is to make `FileUtil.writeJsonFile` switch between different printing mode."},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" 1. You can find out what [`Gson.setPrettyPrinting`](https://www.javadoc.io/doc/com.google.code.gson/gson/2.8.5/com/google/gson/GsonBuilder.html#setPrettyPrinting--) does and how it can be used in the `writeJsonFile` method of [`FileUtil.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/util/FileUtil.java)."},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" 2. Add the following content to `FileUtil`."},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":143,"author":{"gitId":"-"},"content":" private static boolean isPrettyPrintingUsed \u003d false;"},{"lineNumber":144,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" 3. In the `writeJsonFile` method, Replace the creation of the `Gson` object with the following instructions."},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":149,"author":{"gitId":"-"},"content":" GsonBuilder gsonBuilder \u003d new GsonBuilder()"},{"lineNumber":150,"author":{"gitId":"-"},"content":" .registerTypeAdapter(LocalDateTime.class, (JsonSerializer\u003cLocalDateTime\u003e) (date, typeOfSrc, context)"},{"lineNumber":151,"author":{"gitId":"-"},"content":" -\u003e new JsonPrimitive(date.format(DateTimeFormatter.ofPattern(GITHUB_API_DATE_FORMAT))))"},{"lineNumber":152,"author":{"gitId":"-"},"content":" .registerTypeAdapter(FileType.class, new FileType.FileTypeSerializer());"},{"lineNumber":153,"author":{"gitId":"-"},"content":" Gson gson;"},{"lineNumber":154,"author":{"gitId":"-"},"content":" if (isPrettyPrintingUsed) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" gson \u003d gsonBuilder.setPrettyPrinting().create();"},{"lineNumber":156,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" gson \u003d gsonBuilder.create();"},{"lineNumber":158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":159,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" 4. To notify `FileUtil` of the switch between different printing mode, add the following method to `FileUtil`."},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":164,"author":{"gitId":"-"},"content":" public static void setPrettyPrintingMode(boolean isPrettyPrintingAdopted) {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" isPrettyPrintingUsed \u003d isPrettyPrintingAdopted;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":167,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" 5. It is now possible to notify `FileUtil` of the printing mode switch by extracting the argument from the `CliArguments` object in the `main` method of `RepoSense.java` and passing it to the corresponding method in `FileUtil`."},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":172,"author":{"gitId":"-"},"content":" FileUtil.setPrettyPrintingMode(cliArguments.isPrettyPrintingUsed());"},{"lineNumber":173,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" Now the parsing of argument and changing of printing mode should have been completed."},{"lineNumber":176,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. By combining the changes in hint 1, hint 2, and hint 3, you should be able to get a possible solution."},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" Try the command `java -jar RepoSense.jar --repos https://github.com/reposense/RepoSense.git --view --use-json-pretty-printing` and check the generated JSON files to see if it works."},{"lineNumber":183,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 2: Add exception message during repository cloning to the summary view**\" type\u003d\"primary\"\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" **Task 2: Add exception message during repository cloning to the summary view**"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/)."},{"lineNumber":192,"author":{"gitId":"-"},"content":" 2. You should see that there is a red panel in the summary view containing the following message, indicating that there is an issue in the cloning process of the repository `reposense/testrepo-Empty`."},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":195,"author":{"gitId":"-"},"content":" reposense/testrepo-Empty[master]"},{"lineNumber":196,"author":{"gitId":"-"},"content":" Failed to clone from https://github.com/reposense/testrepo-Empty.git"},{"lineNumber":197,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" **Your task**"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" For the repository with the message `Failed to clone from ...`, find out what exception causes this cloning error, and add that exception message to the panel as well."},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" You can find out what [`ErrorSummary.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/report/ErrorSummary.java) and [`RepoCloner.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/report/RepoCloner.java) do, and where they are used."},{"lineNumber":206,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":" Try to understand the cloning process."},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" * The cloning process is invoked by [`RepoGenerator.java`](https://github.com/reposense/RepoSense/blob/master/src/main/java/reposense/report/ReportGenerator.java) in the `cloneAndAnalyzeRepos` method, which subsequently calls `cloneBare` in `RepoCloner.java` to start the cloning."},{"lineNumber":213,"author":{"gitId":"-"},"content":" * The `cloneAndAnalyzeRepos` method will then call `getRepoLocation` in `RepoCloner.java` to try to get the repository location."},{"lineNumber":214,"author":{"gitId":"-"},"content":" * Beneath the surface, `RepoCloner` will first execute `spawnCloneProcess` and then execute `waitForCloneProcess` when it is invoked by `RepoGenerator` for the first and second time respectively."},{"lineNumber":215,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" In `RepoCloner`, the potential exceptions in `spawnCloneProcess` and `waitForCloneProcess` are caught but not recorded by `ErrorSummary`."},{"lineNumber":220,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" Add this to the catch block of `spawnCloneProcess` and `waitForCloneProcess`, so that the message will be captured in `summary.json`."},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"asdfghjkxd"},"content":" ```java"},{"lineNumber":229,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(config.getDisplayName(), e.getMessage());"},{"lineNumber":230,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":231,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":234,"author":{"gitId":"-"},"content":""},{"lineNumber":235,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":"This is only for your practice. There is no need for you to commit this change and submit it in a pull request."},{"lineNumber":238,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":"{{ step(4) }} **Next Step**"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":"You can now proceed to learn the [contributing workflow](workflow.html)."},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":"## Frontend"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":"This section is for developers who want to contribute to the frontend of RepoSense. You may skip this section if you want to contribute as a pure backend developer."},{"lineNumber":251,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":"The frontend implementation of RepoSense is located in `frontend/src`."},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":"{{ step(1) }} **Learn the necessary tools**"},{"lineNumber":256,"author":{"gitId":"-"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":"It is necessary for you to learn the basics of Vue.js, Pug, and SCSS before working on the project."},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":"### Vue.js"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":"Vue.js uses JavaScript as its programming language. Before learning **Vue.js**, you may need to first get yourself familiar with JavaScript syntax first."},{"lineNumber":266,"author":{"gitId":"-"},"content":"You can refer to the [Javascript documentation](https://devdocs.io/javascript/) to learn the basic syntax. There are plenty of other resources available and please feel free to find the resource most suitable for you."},{"lineNumber":267,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":"RepoSense uses **Vue.js** (Vue3) in its front-end implementation. In particular, major user interface components, such as [summary view](report.html#summary-view-v-summary-js), [authorship view](report.html#authorship-view-v-authorship-js), and [zoom view](report.html#zoom-view-v-zoom-js), are implemented as Vue components. The corresponding source files are in `frontend/src`."},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":"* If you are new to Vue.js, you may want to start learning by looking at [the beginner tutorial](https://www.vuemastery.com/courses/intro-to-vue-js/)."},{"lineNumber":272,"author":{"gitId":"-"},"content":"* You can dive deeper later by checking the [Vue.js documentation](https://vuejs.org/guide/introduction.html) to learn about essential concepts such as component life cycle hooks, and component properties."},{"lineNumber":273,"author":{"gitId":"-"},"content":"* It is recommended if you can work on some small projects first to gain more solid understanding of Vue.js."},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":276,"author":{"gitId":"-"},"content":""},{"lineNumber":277,"author":{"gitId":"-"},"content":"The guide above uses HTML as the component template, which is not the case with RepoSense. You may wish to learn more about [Pug](#pug) and its connection with HTML."},{"lineNumber":278,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":"#### Vuex"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":"RepoSense uses **Vuex** for the state management of the Vue components."},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":"* You can check the [Vuex guide](https://vuex.vuejs.org/guide/#the-simplest-store) to find out how Vuex can be used in a Vue project."},{"lineNumber":285,"author":{"gitId":"-"},"content":"* There is also a [course](https://vueschool.io/courses/vuex-for-everyone) available that will walk you through an example of creating Vue application with Vuex."},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":"### Pug"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":"RepoSense uses Pug files as the template of each Vue component. The corresponding HTML templates will later be generated from the Pug files by [spuild](https://github.com/ongspxm/spuild2) when generating the report."},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":"Since Pug is used to generate the HTML template, it is recommended that you have a basic knowledge of HTML before starting to learn Pug. Once you understand how HTML works, you can proceed to focus on how Pug is translated into HTML."},{"lineNumber":296,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":"* You can refer to the [official documentation](https://pugjs.org/api/getting-started.html) or [this tutorial](https://www.youtube.com/watch?v\u003dkt3cEjjkCZA) to learn about the syntax of pug and how it is translated into HTML."},{"lineNumber":299,"author":{"gitId":"-"},"content":"* To get a hands-on experience, here is a [Pug to HTML converter](https://pughtml.com/). Feel free to try out a couple of examples on your own."},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":"### Scss"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":"SCSS is used for styling the Pug template. The corresponding CSS will later be generated from the SCSS files by [spuild](https://github.com/ongspxm/spuild2) when generating the report. The corresponding source files are in `frontend/src/styles`."},{"lineNumber":306,"author":{"gitId":"-"},"content":""},{"lineNumber":307,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":"It is recommended that you have a basic knowledge of CSS before starting to learn SCSS. Once you understand how CSS works, you can proceed to focus on how SCSS is translated into CSS."},{"lineNumber":310,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":"* You can refer to the [style rules](https://sass-lang.com/documentation/style-rules) to learn about the similarities and differences between SCSS and CSS."},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"-"},"content":"{{ step(2) }} **Learn the RepoSense frontend architecture**"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":"* You may want to refer to the [frontend architecture](report.html#report-architecture) to understand the implementation."},{"lineNumber":317,"author":{"gitId":"-"},"content":"* Another way for you to understand the frontend is to use **Vue.js devtools** to learn how the various Vue Components interact with each other. You can refer to the [frontend debugging guide](workflow.html#debugging-front-end) for more information."},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":"{{ step(3) }} **Gain some hands-on experience**"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":"Here are some small tasks for you to gain some basic knowledge of the code related to the RepoSense frontend. You can do each in a separate branch in your local copy of the code."},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 1: Highlight the selected author name in the summary view**\" type\u003d\"primary\"\u003e"},{"lineNumber":324,"author":{"gitId":"-"},"content":""},{"lineNumber":325,"author":{"gitId":"-"},"content":" **Task 1: Highlight the selected author name in the summary view**"},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/)."},{"lineNumber":328,"author":{"gitId":"-"},"content":" 2. Randomly open the authorship contribution panel of an author (The icon is `\u003c/\u003e`)."},{"lineNumber":329,"author":{"gitId":"-"},"content":" 3. You should see that, after you open the panel, the author title background on the chart panel becomes yellow, and the background of the `\u003c/\u003e` icon you clicked becomes green."},{"lineNumber":330,"author":{"gitId":"-"},"content":""},{"lineNumber":331,"author":{"gitId":"-"},"content":" **Your Task**"},{"lineNumber":332,"author":{"gitId":"-"},"content":""},{"lineNumber":333,"author":{"gitId":"-"},"content":" Make corresponding changes to `summary charts` so that in step 3, after opening the panel, the font colour of the author title (in the form of `authorDisplayName(authorName)`) on the chart panel also becomes green."},{"lineNumber":334,"author":{"gitId":"-"},"content":""},{"lineNumber":335,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":" Try to locate where the author title is in [`c-summary-charts.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/components/c-summary-charts.vue)."},{"lineNumber":338,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":" You can check what `activeUser` and `activeRepo` do in [`c-summary-charts.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/components/c-summary-charts.vue)."},{"lineNumber":343,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":344,"author":{"gitId":"-"},"content":""},{"lineNumber":345,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e"},{"lineNumber":346,"author":{"gitId":"-"},"content":""},{"lineNumber":347,"author":{"gitId":"-"},"content":" Refer to how changes are made to the title background and icon background in [`c-summary-charts.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/components/c-summary-charts.vue)."},{"lineNumber":348,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 4\"\u003e"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" Some of the CSS styling for `c-summary-charts.vue` is in [`style.scss`](https://github.com/reposense/RepoSense/blob/master/frontend/src/styles/style.scss). You can add corresponding class selector if necessary."},{"lineNumber":353,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":354,"author":{"gitId":"-"},"content":""},{"lineNumber":355,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e"},{"lineNumber":356,"author":{"gitId":"-"},"content":""},{"lineNumber":357,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:"},{"lineNumber":358,"author":{"gitId":"-"},"content":""},{"lineNumber":359,"author":{"gitId":"-"},"content":" Add this to `c_summary.scss`."},{"lineNumber":360,"author":{"gitId":"-"},"content":""},{"lineNumber":361,"author":{"gitId":"asdfghjkxd"},"content":" ```css"},{"lineNumber":362,"author":{"gitId":"-"},"content":" .active-text {"},{"lineNumber":363,"author":{"gitId":"-"},"content":" color: mui-color(\u0027green\u0027);"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":366,"author":{"gitId":"-"},"content":""},{"lineNumber":367,"author":{"gitId":"-"},"content":" In `c-summary-charts.vue`, locate `summary-chart__title--name`, and add the following to its `v-bind:class` attribute map."},{"lineNumber":368,"author":{"gitId":"-"},"content":""},{"lineNumber":369,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":370,"author":{"gitId":"-"},"content":" \u0027active-text\u0027: user.name \u003d\u003d\u003d activeUser \u0026\u0026 user.repoName \u003d\u003d\u003d activeRepo"},{"lineNumber":371,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":372,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 2: Add tooltip for file path in authorship panel**\" type\u003d\"primary\"\u003e"},{"lineNumber":377,"author":{"gitId":"-"},"content":""},{"lineNumber":378,"author":{"gitId":"-"},"content":" **Task 2: Add tooltip for file path in authorship panel**"},{"lineNumber":379,"author":{"gitId":"-"},"content":""},{"lineNumber":380,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/)."},{"lineNumber":381,"author":{"gitId":"-"},"content":" 2. Randomly open the authorship contribution panel of an author (The icon is `\u003c/\u003e`)."},{"lineNumber":382,"author":{"gitId":"-"},"content":" 3. Select a random file in the authorship contribution panel, and hover your mouse on an icon on the file title, a corresponding tooltip will show up, suggesting what the purpose of the icon is. However, when you hover the mouse over the file path on the file title, there is no tool tip shown, even if clicking the path itself will also trigger some event."},{"lineNumber":383,"author":{"gitId":"-"},"content":""},{"lineNumber":384,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" For example, if you open the authorship contribution panel of an author in `reposense/RepoSense[master]` and hover the mouse over the triangular icon beside the file path `src/main/java/reposense/model/Author.java`, you should see a tooltip saying `Click to hide file details` above the icon. However, when you hover the mouse over the file path `src/main/java/reposense/model/Author.java`, there is no corresponding tooltip shown."},{"lineNumber":387,"author":{"gitId":"-"},"content":" \u003c/box\u003e"},{"lineNumber":388,"author":{"gitId":"-"},"content":""},{"lineNumber":389,"author":{"gitId":"-"},"content":" **Your Task**"},{"lineNumber":390,"author":{"gitId":"-"},"content":""},{"lineNumber":391,"author":{"gitId":"-"},"content":" Make corresponding `authorship contribution panel` so that in step 3, when hovering your mouse over the file path:"},{"lineNumber":392,"author":{"gitId":"-"},"content":" * A tip saying `This is the file path. Click to hide file details` will show up when the file details are shown"},{"lineNumber":393,"author":{"gitId":"-"},"content":" * A tip saying `This is the file path. Click to show file details` will show up when the file details are not shown."},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e"},{"lineNumber":396,"author":{"gitId":"-"},"content":""},{"lineNumber":397,"author":{"gitId":"-"},"content":" Try to locate where the file title and the file path are in [`c-authorship.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-authorship.vue)."},{"lineNumber":398,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":399,"author":{"gitId":"-"},"content":""},{"lineNumber":400,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e"},{"lineNumber":401,"author":{"gitId":"-"},"content":""},{"lineNumber":402,"author":{"gitId":"-"},"content":" You can check how tooltip is added for the triangular icon in the file title in [`c-authorship.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-authorship.vue)."},{"lineNumber":403,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e"},{"lineNumber":406,"author":{"gitId":"-"},"content":""},{"lineNumber":407,"author":{"gitId":"-"},"content":" You can check what `file.active` does and how it is used to switch between different tooltip messages when hovering the mouse on the corresponding icon."},{"lineNumber":408,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e"},{"lineNumber":411,"author":{"gitId":"-"},"content":""},{"lineNumber":412,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:"},{"lineNumber":413,"author":{"gitId":"-"},"content":""},{"lineNumber":414,"author":{"gitId":"-"},"content":" 1. In `c-authorship.vue`, locate the section that iterates through each file in `selectedFiles`."},{"lineNumber":415,"author":{"gitId":"-"},"content":" 2. There is a specific portion of the section that renders the toggle icon, the file index, and the file path of the file title."},{"lineNumber":416,"author":{"gitId":"-"},"content":" 3. Try to locate the `span` tag that renders `file.path`, and wraps it inside a new `tooptip`."},{"lineNumber":417,"author":{"gitId":"-"},"content":" 4. In the `tooltip`, use the following instructions to handle the switch of tooltip message."},{"lineNumber":418,"author":{"gitId":"-"},"content":""},{"lineNumber":419,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":420,"author":{"gitId":"-"},"content":" span.tooltip-text(v-show\u003d\"file.active\") This is the file path. Click to hide file details"},{"lineNumber":421,"author":{"gitId":"-"},"content":" span.tooltip-text(v-show\u003d\"!file.active\") This is the file path. Click to show file details"},{"lineNumber":422,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":423,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":424,"author":{"gitId":"-"},"content":""},{"lineNumber":425,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":426,"author":{"gitId":"-"},"content":""},{"lineNumber":427,"author":{"gitId":"-"},"content":"\u003cpanel header\u003d\"**Task 3: Add tooltip for commit message title in zoom panel**\" type\u003d\"primary\"\u003e"},{"lineNumber":428,"author":{"gitId":"-"},"content":""},{"lineNumber":429,"author":{"gitId":"-"},"content":" **Task 3: Add tooltip for commit message title in zoom panel**"},{"lineNumber":430,"author":{"gitId":"-"},"content":""},{"lineNumber":431,"author":{"gitId":"-"},"content":" 1. Open a [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/)."},{"lineNumber":432,"author":{"gitId":"-"},"content":" 2. Randomly open the commits panel of an author."},{"lineNumber":433,"author":{"gitId":"-"},"content":" 3. Select a random commit in the commits panel, and hover your mouse on the icons on the commit title, there is no tooltip shown saying that it will redirect you to a different site."},{"lineNumber":434,"author":{"gitId":"-"},"content":""},{"lineNumber":435,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":436,"author":{"gitId":"-"},"content":""},{"lineNumber":437,"author":{"gitId":"-"},"content":" For example, given the [report](https://dashboard-1507-pr-reposense-reposense.surge.sh/?search\u003d\u0026sort\u003dgroupTitle\u0026sortWithin\u003dtitle\u0026since\u003d\u0026timeframe\u003dcommit\u0026mergegroup\u003d\u0026groupSelect\u003dgroupByRepos\u0026breakdown\u003dfalse\u0026tabOpen\u003dtrue\u0026tabType\u003dzoom\u0026zA\u003deugenepeh\u0026zR\u003dreposense%2FRepoSense%5Bmaster%5D\u0026zACS\u003d99.28792569659443\u0026zS\u003d2017-10-09\u0026zFS\u003d\u0026zU\u003d2021-04-04\u0026zMG\u003dundefined\u0026zFTF\u003dcommit\u0026zFGS\u003dgroupByRepos\u0026zFR\u003dfalse), if you hover the mouse over the commit title `README: add acknowledgements section (#978)`, there is no corresponding tooltip shown, but when you click on the commit title, you will be redirected to a different site to see the commit details."},{"lineNumber":438,"author":{"gitId":"-"},"content":" \u003c/box\u003e"},{"lineNumber":439,"author":{"gitId":"-"},"content":""},{"lineNumber":440,"author":{"gitId":"-"},"content":" **Your Task**"},{"lineNumber":441,"author":{"gitId":"-"},"content":""},{"lineNumber":442,"author":{"gitId":"-"},"content":" Make corresponding changes to `zoom panel` so that in step 3, when hovering your mouse over the commit title, a tooltip saying `Click to view the detailed file changes in the commit` will show up on the commit title."},{"lineNumber":443,"author":{"gitId":"-"},"content":""},{"lineNumber":444,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 1\"\u003e"},{"lineNumber":445,"author":{"gitId":"-"},"content":""},{"lineNumber":446,"author":{"gitId":"-"},"content":" Try to locate where the commit title is in [`c-zoom.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-zoom.vue)."},{"lineNumber":447,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":448,"author":{"gitId":"-"},"content":""},{"lineNumber":449,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 2\"\u003e"},{"lineNumber":450,"author":{"gitId":"-"},"content":""},{"lineNumber":451,"author":{"gitId":"-"},"content":" You can check how tooltip is added for other icons in [`c-zoom.vue`](https://github.com/reposense/RepoSense/blob/master/frontend/src/views/c-zoom.vue)."},{"lineNumber":452,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":453,"author":{"gitId":"-"},"content":""},{"lineNumber":454,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Hint 3\"\u003e"},{"lineNumber":455,"author":{"gitId":"-"},"content":""},{"lineNumber":456,"author":{"gitId":"-"},"content":" Check what `selectedCommits` does and how the link and commit title of each commit is retrieved."},{"lineNumber":457,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":458,"author":{"gitId":"-"},"content":""},{"lineNumber":459,"author":{"gitId":"-"},"content":" \u003cpanel header\u003d\"Suggested solution\"\u003e"},{"lineNumber":460,"author":{"gitId":"-"},"content":""},{"lineNumber":461,"author":{"gitId":"-"},"content":" There is more than 1 way to achieve this. One solution is shown as the following:"},{"lineNumber":462,"author":{"gitId":"-"},"content":""},{"lineNumber":463,"author":{"gitId":"-"},"content":" 1. In `c-zoom.vue`, locate the section that iterates through each `day` in `selectedCommits`."},{"lineNumber":464,"author":{"gitId":"-"},"content":" 2. The component that helps render the commit message title should be an `a` tag which uses the `getSliceLink` method to set the link to the commit details and uses `slice.messageTitle` to show the commit message title."},{"lineNumber":465,"author":{"gitId":"-"},"content":" 3. Wrap the `a` tag in a new `tooltip`."},{"lineNumber":466,"author":{"gitId":"-"},"content":" 4. In the `tooltip`, add the following content to show the tooltip message."},{"lineNumber":467,"author":{"gitId":"-"},"content":""},{"lineNumber":468,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":469,"author":{"gitId":"-"},"content":" span.tooltip-text Click to view the detailed file changes in the commit"},{"lineNumber":470,"author":{"gitId":"-"},"content":" ```"},{"lineNumber":471,"author":{"gitId":"-"},"content":" \u003c/panel\u003e"},{"lineNumber":472,"author":{"gitId":"-"},"content":""},{"lineNumber":473,"author":{"gitId":"-"},"content":"\u003c/panel\u003e"},{"lineNumber":474,"author":{"gitId":"-"},"content":""},{"lineNumber":475,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":476,"author":{"gitId":"-"},"content":""},{"lineNumber":477,"author":{"gitId":"-"},"content":"This is only for your practice. There is no need for you to commit this change and submit it in a pull request."},{"lineNumber":478,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":479,"author":{"gitId":"-"},"content":""},{"lineNumber":480,"author":{"gitId":"-"},"content":"{{ step(4) }} **Next Step**"},{"lineNumber":481,"author":{"gitId":"-"},"content":""},{"lineNumber":482,"author":{"gitId":"-"},"content":"You can now proceed to learn the [contributing workflow](workflow.html)."},{"lineNumber":483,"author":{"gitId":"-"},"content":""},{"lineNumber":484,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":485,"author":{"gitId":"-"},"content":""},{"lineNumber":486,"author":{"gitId":"-"},"content":"## DevOps"},{"lineNumber":487,"author":{"gitId":"-"},"content":""},{"lineNumber":488,"author":{"gitId":"supermii2"},"content":"If you want to understand and contribute to the DevOps aspect of RepoSense, you can refer to the [DevOps guide](devOpsGuide.html) for more information."}],"authorContributionMap":{"asdfghjkxd":11,"supermii2":1,"-":476}},{"path":"docs/dg/settingUp.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Setting up\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed with context %}"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"**Prerequisites:**"},{"lineNumber":12,"author":{"gitId":"-"},"content":"* **JDK `1.8.0_60`** up to **`17`** ([download :fas-download:](https://www.oracle.com/technetwork/java/javase/downloads/index.html))."},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":"* **Node.js** **`18`** up to the latest minor version of **`19`** ([download :fas-download:](https://www.npmjs.com/get-npm))."},{"lineNumber":14,"author":{"gitId":"-"},"content":"* **git `2.23`** or later ([download :fas-download:](https://git-scm.com/downloads))."},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" \u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"supermii2"},"content":" Type `java -version`, `node -v` and `git --version` respectively on your OS terminal and ensure that you have the correct version of each prerequisite installed."},{"lineNumber":19,"author":{"gitId":"-"},"content":" \u003c/box\u003e"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"## Getting the code"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"1. **Fork** the [reposense/reposense](https://github.com/reposense/RepoSense) repo."},{"lineNumber":26,"author":{"gitId":"-"},"content":"1. **Clone** the fork to your computer."},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"## Setting up the IDE"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"The recommended IDE is **Intellij IDEA**. While it is not compulsory to use it, note that we will not be able to help you troubleshoot IDE problems if you use any other IDE."},{"lineNumber":33,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"1. **Ensure you have configured IDEA for the correct JDK**, as explained in [this tutorial](https://se-education.org/guides/tutorials/intellijJdk.html)."},{"lineNumber":36,"author":{"gitId":"-"},"content":"1. **Import the project as a Gradle project**, as explained in [this tutorial](https://se-education.org/guides/tutorials/intellijImportGradleProject.html)."},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"## Verifying the setup"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"This project is already configured to use Gradle for build automation. If you are new to Gradle, see [this tutorial](https://se-education.org/guides/tutorials/gradle.html) to learn how to use it."},{"lineNumber":45,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":"1. Open a command prompt and navigate to the project root."},{"lineNumber":48,"author":{"gitId":"-"},"content":"1. Run `gradlew clean build` (`./gradlew clean build` if you on a Unix-like OS), and ensure that it finishes with a `BUILD SUCCESSFUL` message."},{"lineNumber":49,"author":{"gitId":"-"},"content":"1. Run the tests using the `gradlew test systemtest` command and ensure it succeeds too."},{"lineNumber":50,"author":{"gitId":"-"},"content":"1. You can also try running the app using code, as given in the panel below."},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"{{ embed(\u0027Developer guide → **Workflow → Running the app from code**\u0027, \u0027workflow.md#section-running-from-code\u0027, level\u003d2) }}"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"## Before you start coding"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"... read the [Workflow](workflow.html) section."}],"authorContributionMap":{"supermii2":1,"sopa301":1,"-":54}},{"path":"docs/dg/styleGuides.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Appendix: Style guides\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"Our coding standards are mostly based on those at [se-education.org/guides](https://se-education.org/guides)."},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"* [**CSS** coding standard](https://se-education.org/guides/conventions/css.html)"},{"lineNumber":14,"author":{"gitId":"-"},"content":"* [**Files/folders** naming conventions](https://se-education.org/guides/conventions/files.html)"},{"lineNumber":15,"author":{"gitId":"-"},"content":"* [**HTML** coding standard](https://se-education.org/guides/conventions/html.html)"},{"lineNumber":16,"author":{"gitId":"-"},"content":"* [**Markdown/MarkBind** coding standard](https://se-education.org/guides/conventions/markdown.html)"},{"lineNumber":17,"author":{"gitId":"-"},"content":"* [**Java** coding standard](https://se-education.org/guides/conventions/java/index.html)"},{"lineNumber":18,"author":{"gitId":"-"},"content":"* [**JavaScript** coding standard](https://se-education.org/guides/conventions/javascript.html)"},{"lineNumber":19,"author":{"gitId":"-"},"content":"* **TypeScript**: In addition to the JavaScript coding standard, follow the [**recommended ESLint rules**](https://typescript-eslint.io/rules/) and the formatting rules [described below](#typescript-specific-formatting)."},{"lineNumber":20,"author":{"gitId":"-"},"content":"* **Vue Components**: Follow the [**Vue style guide**](https://vuejs.org/style-guide/), up to the **Recommended** section."},{"lineNumber":21,"author":{"gitId":"-"},"content":"* **Documentation**: Follow the [**Google developer documentation style guide**](https://developers.google.com/style)."},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"## Note on Ternary Operators:"},{"lineNumber":24,"author":{"gitId":"-"},"content":"Ternary operators can be used to shorten if-else blocks such as this:"},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":"```java"},{"lineNumber":26,"author":{"gitId":"-"},"content":"LocalDateTime min \u003d ARBITRARY_FIRST_COMMIT_DATE_UTC.withZoneSameInstant(zoneId).toLocalDateTime();"},{"lineNumber":27,"author":{"gitId":"-"},"content":"if (!commitInfos.isEmpty()) {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" min \u003d commitInfos.get(0).getTime();"},{"lineNumber":29,"author":{"gitId":"-"},"content":"}"},{"lineNumber":30,"author":{"gitId":"-"},"content":"return min;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"```"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"The result would look something like this:"},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"```java"},{"lineNumber":35,"author":{"gitId":"-"},"content":"return (commitInfos.isEmpty())"},{"lineNumber":36,"author":{"gitId":"-"},"content":" ? ARBITRARY_FIRST_COMMIT_DATE_UTC.withZoneSameInstant(zoneId).toLocalDateTime()"},{"lineNumber":37,"author":{"gitId":"-"},"content":" : commitInfos.get(0).getTime();"},{"lineNumber":38,"author":{"gitId":"-"},"content":"```"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"To preserve readability, it is recommended that if-else blocks should only be"},{"lineNumber":41,"author":{"gitId":"-"},"content":"converted to ternary operators if the resultant code can be kept at most 3 lines long"},{"lineNumber":42,"author":{"gitId":"-"},"content":"(in accordance to the coding standard)."},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"## Additional Javadoc requirements:"},{"lineNumber":45,"author":{"gitId":"-"},"content":"In addition to what has been mentioned in the [**Java** coding standard (SE-EDU)](https://se-education.org/guides/conventions/java/index.html) and [**Google Java Style Guide**](https://google.github.io/styleguide/javaguide.html), we also stipulate the following standards for Javadoc:"},{"lineNumber":46,"author":{"gitId":"-"},"content":"* If Javadoc is written for a method, all input parameters should be described in the Javadoc, either in the description with `@code tags` or through `@param` block tags."},{"lineNumber":47,"author":{"gitId":"-"},"content":" * If `@param` block tags are used, they must be used for all parameters."},{"lineNumber":48,"author":{"gitId":"-"},"content":" * This is not necessary (although still recommended) for methods with `@Override` annotations if Javadoc is used. However, if the method that is being overriden is part of your code and has Javadoc, all parameters must be described."},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"Negative Examples:"},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":"```java"},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":"// Not okay (Only mentions zoneId parameter):"},{"lineNumber":53,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":54,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object adjusted for timezone given by {@code zoneId}."},{"lineNumber":55,"author":{"gitId":"-"},"content":" */"},{"lineNumber":56,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" //Code here"},{"lineNumber":58,"author":{"gitId":"-"},"content":"}"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":"// Not okay (@param tag used only for zoneId)"},{"lineNumber":61,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object by adjusting {@code sinceDate}"},{"lineNumber":63,"author":{"gitId":"-"},"content":" * to the timezone given by {@code zoneId}."},{"lineNumber":64,"author":{"gitId":"-"},"content":" *"},{"lineNumber":65,"author":{"gitId":"-"},"content":" * @param zoneId The timezone ID to adjust the sinceDate to."},{"lineNumber":66,"author":{"gitId":"-"},"content":" */"},{"lineNumber":67,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" //Code here"},{"lineNumber":69,"author":{"gitId":"-"},"content":"}"},{"lineNumber":70,"author":{"gitId":"-"},"content":"```"},{"lineNumber":71,"author":{"gitId":"-"},"content":"Positive Example #1:"},{"lineNumber":72,"author":{"gitId":"asdfghjkxd"},"content":"```java"},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":"// Okay (No @param tags):"},{"lineNumber":74,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":75,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object by adjusting {@code sinceDate}"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * to the timezone given by {@code zoneId}."},{"lineNumber":77,"author":{"gitId":"-"},"content":" */"},{"lineNumber":78,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" //Code here"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"},{"lineNumber":81,"author":{"gitId":"-"},"content":"```"},{"lineNumber":82,"author":{"gitId":"-"},"content":"Positive Example #2:"},{"lineNumber":83,"author":{"gitId":"asdfghjkxd"},"content":"```java"},{"lineNumber":84,"author":{"gitId":"asdfghjkxd"},"content":"// Okay (@param tags used for all inputs):"},{"lineNumber":85,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":86,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object by adjusting {@code sinceDate}"},{"lineNumber":87,"author":{"gitId":"-"},"content":" * to the timezone given by {@code zoneId}."},{"lineNumber":88,"author":{"gitId":"-"},"content":" *"},{"lineNumber":89,"author":{"gitId":"-"},"content":" * @param sinceDate The date prior to the timezone conversion."},{"lineNumber":90,"author":{"gitId":"-"},"content":" * @param zoneId The timezone ID to adjust the sinceDate to."},{"lineNumber":91,"author":{"gitId":"-"},"content":" */"},{"lineNumber":92,"author":{"gitId":"-"},"content":"public LocalDateTime adjustTimeZone(LocalDateTime sinceDate, ZoneId zoneId) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" //Code here"},{"lineNumber":94,"author":{"gitId":"-"},"content":"}"},{"lineNumber":95,"author":{"gitId":"-"},"content":"```"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":"* Within the main code, if an exception is thrown in a method (both header and body) for which Javadoc is written, a `@throws` tag must be used to describe how the exception is likely to arise."},{"lineNumber":98,"author":{"gitId":"-"},"content":" * This requirement does not apply to test code."},{"lineNumber":99,"author":{"gitId":"-"},"content":" * One `@throws` tag per unique exception."},{"lineNumber":100,"author":{"gitId":"-"},"content":" * The order of exceptions in the `@throws` tag block should match that of the method\u0027s `throws` statement."},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":"```java"},{"lineNumber":102,"author":{"gitId":"asdfghjkxd"},"content":"// Not okay (order of exceptions in tag block and method signature do not match):"},{"lineNumber":103,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object from {@code dateString}."},{"lineNumber":105,"author":{"gitId":"-"},"content":" *"},{"lineNumber":106,"author":{"gitId":"-"},"content":" * @throws ParseException if {@code dateString} cannot be parsed."},{"lineNumber":107,"author":{"gitId":"-"},"content":" * @throws NullPointerException if {@code dateString} is null."},{"lineNumber":108,"author":{"gitId":"-"},"content":" */"},{"lineNumber":109,"author":{"gitId":"-"},"content":"public LocalDateTime parseDate(String dateString) throws NullPointerException, ParseException {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" String trimmedString \u003d dateString.toUpperCase(); // NullPointerException may happen here."},{"lineNumber":111,"author":{"gitId":"-"},"content":" // Code here"},{"lineNumber":112,"author":{"gitId":"-"},"content":"}"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"asdfghjkxd"},"content":"// Should be:"},{"lineNumber":115,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} object from {@code dateString}."},{"lineNumber":117,"author":{"gitId":"-"},"content":" *"},{"lineNumber":118,"author":{"gitId":"-"},"content":" * @throws NullPointerException if {@code dateString} is null."},{"lineNumber":119,"author":{"gitId":"-"},"content":" * @throws ParseException if {@code dateString} cannot be parsed."},{"lineNumber":120,"author":{"gitId":"-"},"content":" */"},{"lineNumber":121,"author":{"gitId":"-"},"content":"public LocalDateTime parseDate(String dateString) throws NullPointerException, ParseException {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" String trimmedString \u003d dateString.toUpperCase(); // NullPointerException may happen here."},{"lineNumber":123,"author":{"gitId":"-"},"content":" // Code here"},{"lineNumber":124,"author":{"gitId":"-"},"content":"}"},{"lineNumber":125,"author":{"gitId":"-"},"content":"```"},{"lineNumber":126,"author":{"gitId":"-"},"content":"## TypeScript specific formatting"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"For TypeScript specific code, such as within an `interface` or type annotations, we also stipulate the following standards:"},{"lineNumber":129,"author":{"gitId":"-"},"content":"* Use semicolons as delimiters for TypeScript interfaces and types."},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":"Negative Examples:"},{"lineNumber":132,"author":{"gitId":"-"},"content":"```typescript"},{"lineNumber":133,"author":{"gitId":"-"},"content":"// missing semicolon delimiter"},{"lineNumber":134,"author":{"gitId":"-"},"content":"interface Foo {"},{"lineNumber":135,"author":{"gitId":"-"},"content":" name: string"},{"lineNumber":136,"author":{"gitId":"-"},"content":" greet(): string"},{"lineNumber":137,"author":{"gitId":"-"},"content":"}"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":"// using incorrect delimiter"},{"lineNumber":140,"author":{"gitId":"-"},"content":"interface Foo {"},{"lineNumber":141,"author":{"gitId":"-"},"content":" name: string,"},{"lineNumber":142,"author":{"gitId":"-"},"content":" greet(): string,"},{"lineNumber":143,"author":{"gitId":"-"},"content":"}"},{"lineNumber":144,"author":{"gitId":"-"},"content":"```"},{"lineNumber":145,"author":{"gitId":"-"},"content":"Positive Example:"},{"lineNumber":146,"author":{"gitId":"-"},"content":"```typescript"},{"lineNumber":147,"author":{"gitId":"-"},"content":"// semicolon delimiter"},{"lineNumber":148,"author":{"gitId":"-"},"content":"interface Foo {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" name: string;"},{"lineNumber":150,"author":{"gitId":"-"},"content":" greet(): string;"},{"lineNumber":151,"author":{"gitId":"-"},"content":"}"},{"lineNumber":152,"author":{"gitId":"-"},"content":"```"},{"lineNumber":153,"author":{"gitId":"-"},"content":"* For type annotations, use a space after but not before."},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":"Negative Examples:"},{"lineNumber":156,"author":{"gitId":"-"},"content":"```typescript"},{"lineNumber":157,"author":{"gitId":"-"},"content":"let foo:string \u003d \"bar\";"},{"lineNumber":158,"author":{"gitId":"-"},"content":"let foo :string \u003d \"bar\";"},{"lineNumber":159,"author":{"gitId":"-"},"content":"let foo : string \u003d \"bar\";"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"function foo():string {}"},{"lineNumber":162,"author":{"gitId":"-"},"content":"function foo() :string {}"},{"lineNumber":163,"author":{"gitId":"-"},"content":"function foo() : string {}"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":"class Foo {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" name:string;"},{"lineNumber":167,"author":{"gitId":"-"},"content":"}"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":"class Foo {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" name :string;"},{"lineNumber":171,"author":{"gitId":"-"},"content":"}"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"class Foo {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" name : string;"},{"lineNumber":175,"author":{"gitId":"-"},"content":"}"},{"lineNumber":176,"author":{"gitId":"-"},"content":"```"},{"lineNumber":177,"author":{"gitId":"-"},"content":"Positive Examples:"},{"lineNumber":178,"author":{"gitId":"-"},"content":"```typescript"},{"lineNumber":179,"author":{"gitId":"-"},"content":"let foo: string \u003d \"bar\";"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":"function foo(): string {}"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":"class Foo {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" name: string;"},{"lineNumber":185,"author":{"gitId":"-"},"content":"}"},{"lineNumber":186,"author":{"gitId":"-"},"content":"```"}],"authorContributionMap":{"asdfghjkxd":12,"-":174}},{"path":"docs/ug/cli.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Appendix: CLI syntax reference\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"The command `java -jar RepoSense.jar` takes several flags."},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003cbox\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"**Examples**:"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"An example of a command using most parameters:\u003cbr\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":"`java -jar RepoSense.jar --repos https://github.com/reposense/RepoSense.git --output ./report_folder --since 31/1/2017 --until 31/12/2018 --formats java adoc xml --view --ignore-standalone-config --last-modified-date --timezone UTC+08 --find-previous-authors`"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"Same command as above but using most parameters in alias format:\u003cbr\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":"`java -jar RepoSense.jar -r https://github.com/reposense/RepoSense.git -o ./report_folder -s 31/1/2017 -u 31/12/2018 -f java adoc xml -v -i -l -t UTC+08 -F`"},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"The section below provides explanations for each of the flags."},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c!-- --------------------------◘---------------------------------------------------------------------------- --\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"### `--assets`, `-a`"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"section-assets\"\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"**`--assets ASSETS_DIRECTORY`**: Specifies where to place assets for report generation."},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":"* Parameter: `ASSETS_DIRECTORY` The directory containing the assets files. A `favicon.ico` file can be placed here to customize the favicon of the dashboard, while a `title.md` file can be placed to customize the [title](https://reposense.org/ug/customizingReports.html#add-a-title) of the report using [Markdown syntax](https://www.markdownguide.org/basic-syntax/)."},{"lineNumber":35,"author":{"gitId":"-"},"content":"* Alias: `-a`"},{"lineNumber":36,"author":{"gitId":"-"},"content":"* Example: `--assets ./assets` or `-a ./assets`"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":"* If `--assets` is not specified, RepoSense looks for assets in the `./assets` directory."},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c!-- --------------------------◘---------------------------------------------------------------------------- --\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"### `--config`, `-c`"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"section-config\"\u003e"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"**`--config CONFIG_DIRECTORY`**: Specifies that config files located in `CONFIG_DIRECTORY` should be used to customize the report."},{"lineNumber":51,"author":{"gitId":"-"},"content":"* Parameter: `CONFIG_DIRECTORY` The directory containing the config files. Should contain a `repo-config.csv` file. Optionally, can contain an `author-config.csv` file or/and a `group-config.csv` file or/and a `report-config.json` file."},{"lineNumber":52,"author":{"gitId":"-"},"content":"* Alias: `-c`"},{"lineNumber":53,"author":{"gitId":"-"},"content":"* Example: `java -jar RepoSense.jar --config ./config`"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":"* Cannot be used with `--repos`. The `--repos` flag will take precedence over this flag."},{"lineNumber":58,"author":{"gitId":"-"},"content":"* If both `--repos` and `--config` are not specified, RepoSense looks for config files in the `./config` directory."},{"lineNumber":59,"author":{"gitId":"-"},"content":"* Config files must follow [this](./configFiles.html) format."},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":"### `--formats`, `-f`"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":"**`--formats LIST_OF_FORMATS`**: Specifies which file extensions to be included in the analysis."},{"lineNumber":68,"author":{"gitId":"-"},"content":"* Parameter: `LIST_OF_FORMATS` A space-separated list of file extensions that should be included in the analysis.\u003cbr\u003e"},{"lineNumber":69,"author":{"gitId":"-"},"content":" Default: all file formats"},{"lineNumber":70,"author":{"gitId":"-"},"content":"* Alias: `-f`"},{"lineNumber":71,"author":{"gitId":"-"},"content":"* Example:`--formats css fxml gradle` or `-f css fxml gradle`"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":"Binary file formats, such as `jpg`, `png`,`exe`,`zip`, `rar`, `docx`, and `pptx`, all will be labelled as the file type `binary` in the generated report."},{"lineNumber":76,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":"### `--find-previous-authors`, `-F`"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":"**`--find-previous-authors`**: Utilizes Git blame\u0027s ignore revisions functionality, RepoSense will attempt to blame the line changes caused by commits in the ignore commit list to the previous authors who altered those lines (if available)."},{"lineNumber":83,"author":{"gitId":"-"},"content":"* Default: RepoSense will assume that no authors are responsible for the code changes in the lines altered by commits in the ignore commit list."},{"lineNumber":84,"author":{"gitId":"-"},"content":"* Alias: `-F` (uppercase F)"},{"lineNumber":85,"author":{"gitId":"-"},"content":"* Example:`--find-previous-authors` or `-F`"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":"### `--help`, `-h`"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"**`--help`**: Shows the help message."},{"lineNumber":92,"author":{"gitId":"-"},"content":"* Alias: `-h`"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":"Cannot be used with any other flags. This flag takes precedence over all other flags."},{"lineNumber":97,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":98,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":"### `--ignore-standalone-config`, `-i`"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":"**`--ignore-standalone-config`**: Specifies that the standalone config file in the repo should be ignored."},{"lineNumber":103,"author":{"gitId":"-"},"content":"* Default: the standalone config file is not ignored"},{"lineNumber":104,"author":{"gitId":"-"},"content":"* Alias: `-i`"},{"lineNumber":105,"author":{"gitId":"-"},"content":"* Example:`--ignore-standalone-config` or `-i`"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":"This flag overrides the `Ignore standalone config` field in the CSV config file."},{"lineNumber":110,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":"### `--ignore-filesize-limit`, `-I`"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":"**`--ignore-filesize-limit`**: Specifies that the file size limit (both default and user-defined) should be ignored during the analysis."},{"lineNumber":117,"author":{"gitId":"-"},"content":"* Default: the file size limit is not ignored"},{"lineNumber":118,"author":{"gitId":"-"},"content":"* Alias: `-I`"},{"lineNumber":119,"author":{"gitId":"-"},"content":"* Example:`--ignore-filesize-limit` or `-I`"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"All files are subject to a default file size limit or a custom size limit set by the user. Most files should not be"},{"lineNumber":124,"author":{"gitId":"-"},"content":"affected by the default size limit. This flag can be useful for including files in your report that are affected by"},{"lineNumber":125,"author":{"gitId":"-"},"content":"the size limit. Note that this flag may result in large report sizes and/or slower report generation."},{"lineNumber":126,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":"This flag overrides the `Ignore file size limit` field in the CSV config file."},{"lineNumber":131,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":"### `--last-modified-date`, `-l`"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":"**`--last-modified-date`**: Specifies that the last modified date of each line of code should be added to `authorship.json`."},{"lineNumber":138,"author":{"gitId":"-"},"content":"* Default: the last modified date of each line of code will not be added to `authorship.json`"},{"lineNumber":139,"author":{"gitId":"-"},"content":"* Alias: `-l` (lowercase L)"},{"lineNumber":140,"author":{"gitId":"-"},"content":"* Example:`--last-modified-date` or `-l`"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":"* Cannot be used with `--shallow-cloning`. This may result in an incorrect last modified date."},{"lineNumber":145,"author":{"gitId":"-"},"content":"* The last modified dates will be in the same timezone specified with the `--timezone` flag."},{"lineNumber":146,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":"### `--output`, `-o`"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":"**`--output OUTPUT_DIRECTORY`**: Indicates where to save the report generated."},{"lineNumber":153,"author":{"gitId":"-"},"content":"* Parameter: `OUTPUT_DIRECTORY` The location for the generated `reposense-report` folder.\u003cbr\u003e"},{"lineNumber":154,"author":{"gitId":"-"},"content":" Default: current directory"},{"lineNumber":155,"author":{"gitId":"-"},"content":"* Alias: `-o`"},{"lineNumber":156,"author":{"gitId":"-"},"content":"* Example: `--output ./foo` or `-o ./foo` (the report will be in the `./foo/reposense-report` folder)"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":"### `--period`, `-p`"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":"**`--period PERIOD`**: Specifies the period of analysis window."},{"lineNumber":163,"author":{"gitId":"-"},"content":"* Parameter: `PERIOD` The period of analysis window, in the format `nd` (for n days) or `nw` (for n weeks). It is used to calculate end date if only start date is specified, or calculate end date if only start date is specified."},{"lineNumber":164,"author":{"gitId":"-"},"content":"* Alias: `-p`"},{"lineNumber":165,"author":{"gitId":"-"},"content":"* Example: `--period 30d` or `--period 4w`"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":"* If both start date and end date are not specified, the date of generating the report will be taken as the end date."},{"lineNumber":170,"author":{"gitId":"-"},"content":"* May analyze the incorrect date range if used with `--since d1`. The program will throw a warning."},{"lineNumber":171,"author":{"gitId":"-"},"content":"* Cannot be used with both `--since` and `--until`. The program will throw an exception."},{"lineNumber":172,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":173,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":"### `--repo`, `--repos`, `-r`"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":"**`--repo REPO_LOCATION`**: Specifies which repositories to analyze."},{"lineNumber":178,"author":{"gitId":"-"},"content":"* Parameter: `REPO_LOCATION` A list of URLs or the disk location of the git repositories to analyze, separated by spaces."},{"lineNumber":179,"author":{"gitId":"-"},"content":"* Alias: `-r`"},{"lineNumber":180,"author":{"gitId":"-"},"content":"* Examples:"},{"lineNumber":181,"author":{"gitId":"-"},"content":" * `--repos https://github.com/reposense/RepoSense.git`"},{"lineNumber":182,"author":{"gitId":"-"},"content":" * `--repo https://github.com/reposense/RepoSense.git c:/myRepose/foo/bar`: analyzes the two specified repos (one remote, one local) and generates one report containing details of both."},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":"Cannot be used with `--config`. This flag takes precedence over `--config`."},{"lineNumber":187,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":188,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":"### `--shallow-cloning`, `-S`"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":"**`--shallow-cloning`**: Clones repositories using Git\u0027s shallow cloning functionality, which can significantly reduce the time taken to clone large repositories. However, the flag should not be used for smaller repositories where the `.git` file is smaller than 500 MB, as it would create overhead."},{"lineNumber":193,"author":{"gitId":"-"},"content":"* Default: RepoSense does not clone repositories using Git\u0027s shallow cloning functionality."},{"lineNumber":194,"author":{"gitId":"-"},"content":"* Alias: `-S` (uppercase S)"},{"lineNumber":195,"author":{"gitId":"-"},"content":"* Example:`--shallow-cloning` or `-S`"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":"Cannot be used with `--last-modified-date`. This may result in an incorrect last modified date."},{"lineNumber":200,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":"### `--since`, `-s`"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":"**`--since START_DATE`**: Specifies the start date for the period to be analyzed."},{"lineNumber":207,"author":{"gitId":"-"},"content":"* Parameter: `START_DATE` The first day of the period to be analyzed, in the format `DD/MM/YYYY`.\u003cbr\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":" Default: one month before the current date"},{"lineNumber":209,"author":{"gitId":"-"},"content":"* Alias: `-s`"},{"lineNumber":210,"author":{"gitId":"-"},"content":"* Example:`--since 21/10/2017` or `-s 21/10/2017`"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":"* If the start date is not specified, only commits made one month before the end date (if specified) or the date of generating the report, will be captured and analyzed."},{"lineNumber":215,"author":{"gitId":"-"},"content":"* If `d1` is specified as the start date (`--since d1` or `-s d1`), then the program will search for the earliest commit date of all repositories and use that as the start date."},{"lineNumber":216,"author":{"gitId":"-"},"content":"* If `d1` is specified together with `--period`, then the program will warn that the date range being analyzed may be incorrect."},{"lineNumber":217,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":218,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":"### `--timezone`, `-t`"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":"**`--timezone ZONE_ID`**: Indicates the timezone to be used for the analysis."},{"lineNumber":223,"author":{"gitId":"-"},"content":"* Parameter: `ZONE_ID` The timezone in the format `ZONE_ID[±hh[mm]]`.\u003cbr\u003e"},{"lineNumber":224,"author":{"gitId":"-"},"content":" Default: system\u0027s default timezone"},{"lineNumber":225,"author":{"gitId":"-"},"content":"* Alias: `-t`"},{"lineNumber":226,"author":{"gitId":"-"},"content":"* Example:`--timezone UTC+08` or `-t UTC-1030`"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":"### `--until`, `-u`"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":"**`--until END_DATE`**: Specifies the end date of the analysis period."},{"lineNumber":233,"author":{"gitId":"-"},"content":"* Parameter: `END_DATE` The last date of the period to be analyzed, in the format `DD/MM/YYYY`.\u003cbr\u003e"},{"lineNumber":234,"author":{"gitId":"-"},"content":" Default: current date"},{"lineNumber":235,"author":{"gitId":"-"},"content":"* Alias: `-u`"},{"lineNumber":236,"author":{"gitId":"-"},"content":"* Example:`--until 21/10/2017` or `-u 21/10/2017`"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":"Note: If the end date is not specified, the date of generating the report will be taken as the end date."},{"lineNumber":241,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":"### `--version`, `-V`"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":"**`--version`**: Shows the version of RepoSense."},{"lineNumber":248,"author":{"gitId":"-"},"content":"* Alias: `-V` (upper case)"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":251,"author":{"gitId":"-"},"content":""},{"lineNumber":252,"author":{"gitId":"-"},"content":"Cannot be used with any other flags. This flag takes precedence over all other flags other than `--help`."},{"lineNumber":253,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":254,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":"### `--view`, `-v`"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":"**`--view [REPORT_FOLDER]`**: Specifies that the report should be opened in the default browser."},{"lineNumber":259,"author":{"gitId":"-"},"content":"* Parameter: `REPORT_FOLDER` Optional. If specified, no analysis will be performed and the report specified by the argument will be opened.\u003cbr\u003e"},{"lineNumber":260,"author":{"gitId":"-"},"content":" Default: `./reposense-report`"},{"lineNumber":261,"author":{"gitId":"-"},"content":"* Alias: `-v`"},{"lineNumber":262,"author":{"gitId":"-"},"content":"* Example:`--view` or `-v`"}],"authorContributionMap":{"sopa301":1,"-":261}},{"path":"docs/ug/configFiles.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Appendix: Config files format\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% set mandatory %}\u003cspan class\u003d\"badge bg-danger\"\u003emandatory\u003c/span\u003e{% endset %}"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed with context %}"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"Given below are the details of the various config files used by RepoSense."},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"**RepoSense ignores the order of column headers in the CSV config files. However, the spelling of the column headers must match the specified headers exactly, or the column would be ignored by RepoSense.**"},{"lineNumber":21,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":"**A value in a config file is optional to provide unless it is specified as {{ mandatory }}**."},{"lineNumber":26,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":27,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"## `repo-config.csv`"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":"**`repo-config.csv` file contains repo-level config data.** Each row represents a repository\u0027s configuration ([example](repo-config.csv))."},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"| Column Name | Explanation |"},{"lineNumber":35,"author":{"gitId":"-"},"content":"|-------------|-------------|"},{"lineNumber":36,"author":{"gitId":"-"},"content":"| Repository\u0027s Location {{ mandatory }} | The `Remote Repo URL` or `Disk Path` to the git repository e.g., `https://github.com/foo/bar.git` or `C:\\Users\\user\\Desktop\\GitHub\\foo\\bar` |"},{"lineNumber":37,"author":{"gitId":"-"},"content":"| Branch | The branch to analyze in the target repository e.g., `master`. Default: the default branch of the repo |"},{"lineNumber":38,"author":{"gitId":"-"},"content":"| File formats\u003csup\u003e*+\u003c/sup\u003e | The file extensions to analyze. Binary file formats, such as `png` and `jpg`, will be automatically labelled as the file type `binary` in the generated report. Default: all file formats |"},{"lineNumber":39,"author":{"gitId":"-"},"content":"| Find Previous Authors | Enter **`yes`** to utilize Git blame\u0027s ignore revisions functionality, RepoSense will attempt to blame the line changes caused by commits in the ignore commit list to the previous authors who altered those lines (if available). |"},{"lineNumber":40,"author":{"gitId":"-"},"content":"| Ignore Glob List\u003csup\u003e*+\u003c/sup\u003e | The list of file path globs to ignore during analysis for each author e.g., `test/**;temp/**`. Refer to the [_glob format_](https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob) for the path glob syntax. |"},{"lineNumber":41,"author":{"gitId":"-"},"content":"| Ignore standalone config | To ignore the standalone config file (if any) in target repository, enter **`yes`**. If the cell is empty, the standalone config file in the repo (if any) will take precedence over configurations provided in the csv files. |"},{"lineNumber":42,"author":{"gitId":"-"},"content":"| Ignore Commits List\u003csup\u003e*+\u003c/sup\u003e | The list of commits to ignore during analysis. For accurate results, the commits should be provided with their full hash. Additionally, a range of commits can be specified using the `..` notation e.g. `abc123..def456` (both inclusive). |"},{"lineNumber":43,"author":{"gitId":"-"},"content":"| Ignore Authors List\u003csup\u003e*+\u003c/sup\u003e | The list of authors to ignore during analysis. Authors should be specified by their [Git Author Name](#a-note-about-git-author-name). |"},{"lineNumber":44,"author":{"gitId":"-"},"content":"| Shallow Cloning | Enter **`yes`** to clone the repository using Git\u0027s shallow cloning functionality. This option can significantly reduce the time taken to clone large repositories. However, the option should ideally be disabled for smaller repositories where the `.git` file is smaller than 500 MB, as it would create overhead. |"},{"lineNumber":45,"author":{"gitId":"-"},"content":"| File Size Limit\u003csup\u003e+\u003c/sup\u003e | Enter a file size limit for the repository in bytes as a single number without units (for a size limit of 1MB for example, enter 1000000). This file size limit will override the default file size limit (500KB). Files exceeding the file size limit will be marked as ignored and only the file name and line count will be reflected in the report. |"},{"lineNumber":46,"author":{"gitId":"-"},"content":"| Ignore File Size Limit | Enter **`yes`** to ignore both the default file size limit and the file size limit possibly set by the user in `repo-config.csv`. |"},{"lineNumber":47,"author":{"gitId":"-"},"content":"| Skip Ignored File Analysis | Enter **`yes`** to ignore analysis of files exceeding the file size limit entirely. If file analysis is skipped, all information about the file will be omitted from the generated report. This option can significantly improve report generation time. |"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":50,"author":{"gitId":"-"},"content":"The Shallow Cloning option is incompatible with the \"--last-modified-date\" CLI flag."},{"lineNumber":51,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":54,"author":{"gitId":"-"},"content":"If Ignore File Size Limit is yes, the File Size Limit and Skip Ignored File Analysis columns are ignored."},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":"\u003csup\u003e* **Multi-value column**: multiple values can be entered in this column using a semicolon `;` as the separator.\u003c/sup\u003e\u003c/br\u003e"},{"lineNumber":58,"author":{"gitId":"-"},"content":"\u003csup\u003e+ **Overrideable column**: prepend with `override:` to use entered value(s) instead of value(s) from standalone config.\u003c/sup\u003e"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":"When using [standalone config](#config-json-standalone-config-file) (if it is not ignored), it is possible to override specific values from the standalone config by prepending the entered value with `override:`."},{"lineNumber":63,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":"## `author-config.csv`"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":"Optionally, you can use an `author-config.csv` (which should be in the same directory as the `repo-config.csv` file) to provide more details about the authors to analyze ([example](author-config.csv)). It should contain the following columns:"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":"| Column Name | Explanation |"},{"lineNumber":72,"author":{"gitId":"-"},"content":"|--------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|"},{"lineNumber":73,"author":{"gitId":"-"},"content":"| Repository\u0027s Location\u003csup\u003e*\u003c/sup\u003e | Same as `repo-config.csv`. Default: all the repos in `repo-config.csv`. |"},{"lineNumber":74,"author":{"gitId":"-"},"content":"| Branch | The branch to analyze for this author, e.g., `master`. Default: the author will be bound to all the repos in `repo-config.csv` that has the same repo\u0027s location, regardless of branch. |"},{"lineNumber":75,"author":{"gitId":"-"},"content":"| Author\u0027s Git Host ID\u003csup\u003e#\u003c/sup\u003e {{ mandatory }} | Username of the target author\u0027s profile on GitHub, GitLab or Bitbucket, e.g.`JohnDoe`. |"},{"lineNumber":76,"author":{"gitId":"-"},"content":"| Author\u0027s Emails\u003csup\u003e*\u003c/sup\u003e | Associated emails of the author. For GitHub users, this can be found in your [GitHub settings](https://github.com/settings/emails). |"},{"lineNumber":77,"author":{"gitId":"-"},"content":"| Author\u0027s Display Name | The name to display for the author. Default: author\u0027s username. |"},{"lineNumber":78,"author":{"gitId":"-"},"content":"| Author\u0027s Git Author Name\u003csup\u003e*\u003c/sup\u003e | The meaning of _Git Author Name_ is explained in [_A note about git author name_](#a-note-about-git-author-name). |"},{"lineNumber":79,"author":{"gitId":"-"},"content":"| Ignore Glob List\u003csup\u003e*\u003c/sup\u003e | Files to ignore for this author, in addition to files ignored by the patterns specified in `repo-config.csv`. The path glob syntax is the same as that of Ignore Glob List in `repo-config.csv`. |"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":"\u003csup\u003e* **Multi-value column**: multiple values can be entered in this column using a semicolon `;` as the separator.\u003c/sup\u003e"},{"lineNumber":82,"author":{"gitId":"-"},"content":"\u003c/br\u003e"},{"lineNumber":83,"author":{"gitId":"-"},"content":"\u003csup\u003e# For backward compatibility, `Author\u0027s GitHub ID` is still accepted as the header in place of `Author\u0027s Git Host ID`.\u003c/sup\u003e"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":"If `author-config.csv` is not given and the repo has not provided author details in a standalone config file, all the authors of the repositories within the date range specified (if any) will be analyzed."},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"`author-config.csv` has some advanced syntax that can help to reduce duplication of the author\u0027s information. The syntax guide is given below:"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":"{{ embed(\"Appendix: `author-config.csv` advanced syntax\", \"authorConfigSyntax.md\") }}"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":"## `group-config.csv`"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":"Optionally, you can provide a `group-config.csv`(which should be in the same directory as `repo-config.csv` file) to provide details on any custom groupings for files in specified repositories ([example](group-config.csv)). It should contain the following columns:"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":"| Column Name | Explanation |"},{"lineNumber":98,"author":{"gitId":"-"},"content":"|-------------|-------------|"},{"lineNumber":99,"author":{"gitId":"-"},"content":"| Repository\u0027s Location | Same as `repo-config.csv`. Default: all the repos in `repo-config.csv` |"},{"lineNumber":100,"author":{"gitId":"-"},"content":"| Group Name {{ mandatory }} | Name of the group, e.g.,`test`. |"},{"lineNumber":101,"author":{"gitId":"-"},"content":"| Globs * {{ mandatory }} | The list of file path globs to include for specified group, e.g.,`**/test/*;**.java`. |"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":"\u003csup\u003e* **Multi-value column**: multiple values can be entered in this column using a semicolon `;` as the separator.\u003c/sup\u003e"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":"Note that a file in a given repository should only be tagged to one group. \u003cbr\u003e"},{"lineNumber":106,"author":{"gitId":"-"},"content":"e.g.: `example.java` in `example-repo` can either be in the `test` group or the `code` group, but not in both `test` and `code` group. If multiple groups are specified for a given file, the latter group (i.e., `code` group) is set for the file."},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":"## `report-config.json`"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":"You can optionally use `report-config.json` to customize report generation by providing the following information. ([example](report-config.json))"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":"**Fields to provide**:"},{"lineNumber":115,"author":{"gitId":"-"},"content":"* `title`: Title of the generated report, which is also the title of the deployed dashboard. Default: \"RepoSense Report\""},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":"\u003cdiv id\u003d\"section-standalone\"\u003e"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":"## `config.json` (standalone config file)"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":"Repo owners can provide the following additional information to RepoSense using a config file that we call the **_standalone config file_**:"},{"lineNumber":124,"author":{"gitId":"-"},"content":"* which files/authors/commits to analyze/omit"},{"lineNumber":125,"author":{"gitId":"-"},"content":"* which git and git host usernames belong to which authors"},{"lineNumber":126,"author":{"gitId":"-"},"content":"* the display of an author"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"To use this feature, add a `_reposense/config.json` to the root of your repo using the format in the example below ([another example](https://github.com/reposense/RepoSense/blob/master/_reposense/config.json)) and **commit it** (reason: RepoSense can see committed code only):"},{"lineNumber":129,"author":{"gitId":"-"},"content":"```json {.no-line-numbers}"},{"lineNumber":130,"author":{"gitId":"-"},"content":"{"},{"lineNumber":131,"author":{"gitId":"-"},"content":" \"ignoreGlobList\": [\"about-us/**\", \"**index.html\"],"},{"lineNumber":132,"author":{"gitId":"-"},"content":" \"formats\": [\"html\", \"css\"],"},{"lineNumber":133,"author":{"gitId":"-"},"content":" \"ignoreCommitList\": [\"90018e49f129ce7e0abdc8b18e91c9813588c601\", \"67890def\", \"abc123..def456\"],"},{"lineNumber":134,"author":{"gitId":"-"},"content":" \"ignoreAuthorList\": [\"charlie\"],"},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"authors\":"},{"lineNumber":136,"author":{"gitId":"-"},"content":" ["},{"lineNumber":137,"author":{"gitId":"-"},"content":" {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" \"gitId\": \"alice\","},{"lineNumber":139,"author":{"gitId":"-"},"content":" \"emails\": [\"alice@example.com\", \"alicet@example.com\"],"},{"lineNumber":140,"author":{"gitId":"-"},"content":" \"displayName\": \"Alice T.\","},{"lineNumber":141,"author":{"gitId":"-"},"content":" \"authorNames\": [\"AT\", \"A\"],"},{"lineNumber":142,"author":{"gitId":"-"},"content":" \"ignoreGlobList\": [\"**.css\"]"},{"lineNumber":143,"author":{"gitId":"-"},"content":" },"},{"lineNumber":144,"author":{"gitId":"-"},"content":" {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" \"gitId\": \"bob\""},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":148,"author":{"gitId":"-"},"content":"}"},{"lineNumber":149,"author":{"gitId":"-"},"content":"```"},{"lineNumber":150,"author":{"gitId":"-"},"content":"Note: all fields are optional unless specified otherwise."},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":"**Fields to provide _repository-level_ info**:"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":"* `ignoreGlobList`: Folders/files to ignore, specified using the [_glob format_](https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob)."},{"lineNumber":155,"author":{"gitId":"-"},"content":"* `formats`: File formats to analyze. Binary file formats, such as `png` and `jpg`, will be automatically labelled as the file type `binary` in the generated report. Default: all file formats"},{"lineNumber":156,"author":{"gitId":"-"},"content":"* `ignoreCommitList`: The list of commits to ignore during analysis. For accurate results, the commits should be provided with their full hash. Additionally, a range of commits can be specified using the `..` notation e.g. `abc123..def456` (both inclusive)."},{"lineNumber":157,"author":{"gitId":"-"},"content":"* `ignoreAuthorList`: The list of authors to ignore during analysis. Authors specified in `authors` field or `author-config.csv` will be also be omitted if they are in this list. Authors should be specified by their [Git Author Name](#a-note-about-git-author-name)."},{"lineNumber":158,"author":{"gitId":"-"},"content":"* `fileSizeLimit`: A file size limit for the repository in bytes as a single number without units, that will override the default file size limit. If not specified, the default file size limit will continue to be used."},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":"**Fields to provide _author-level_ info**:\u003cbr\u003e"},{"lineNumber":161,"author":{"gitId":"-"},"content":"Note: `authors` field should contain _all_ authors that should be captured in the analysis."},{"lineNumber":162,"author":{"gitId":"-"},"content":"* `gitId`: Username of the author. {{ mandatory }} field."},{"lineNumber":163,"author":{"gitId":"-"},"content":"* `emails`: Associated git emails of the author. For GitHub, this can be found in your [GitHub settings](https://github.com/settings/emails)."},{"lineNumber":164,"author":{"gitId":"-"},"content":"* `displayName`: Name to display on the report for this author."},{"lineNumber":165,"author":{"gitId":"-"},"content":"* `authorNames`: Git Author Name(s) used in the author\u0027s commits. By default, RepoSense assumes an author would use their remote Git Host username as the Git username too. The meaning of _Git Author Name_ is explained in [_A note about git author name_](#a-note-about-git-author-name)."},{"lineNumber":166,"author":{"gitId":"-"},"content":"* `ignoreGlobList`: _Additional_ (i.e. on top of the repo-level `ignoreGlobList`) folders/files to ignore for a specific author. The path glob syntax is specified by the [_glob format_](https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob). In the example above, the actual `ignoreGlobList` for `alice` would be `[\"about-us/**\", \"**index.html\", \"**.css\"]`."},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":"To verify your standalone configuration is as intended, add the `_reposense/config.json` to your local copy of repo and run RepoSense against it as follows:\u003cbr\u003e"},{"lineNumber":169,"author":{"gitId":"-"},"content":"* Format: `java -jar RepoSense.jar --repo LOCAL_REPO_LOCATION` \u003cbr\u003e"},{"lineNumber":170,"author":{"gitId":"-"},"content":"* Example: `java -jar RepoSense.jar --repo c:/myRepose/foo/bar`\u003cbr\u003e"},{"lineNumber":171,"author":{"gitId":"-"},"content":"After that, view the report to see if the configuration you specified in the config file is being reflected correctly in the report."},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":"## A note about git author name"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":"`Git Author Name` refers to the customizable author\u0027s display name set in the local `.gitconfig` file. For example, in the Git Log\u0027s display:"},{"lineNumber":176,"author":{"gitId":"-"},"content":"``` {.no-line-numbers}"},{"lineNumber":177,"author":{"gitId":"-"},"content":"..."},{"lineNumber":178,"author":{"gitId":"-"},"content":"commit cd7f610e0becbdf331d5231887d8010a689f87c7"},{"lineNumber":179,"author":{"gitId":"-"},"content":"Author: ConfiguredAuthorName \u003cauthor@example.com\u003e"},{"lineNumber":180,"author":{"gitId":"-"},"content":"Date: Fri Feb 9 19:14:41 2018 +0800"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" Make some changes to show my new author\u0027s name"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":"commit e3f699fd4ef128eebce98d5b4e5b3bb06a512f49"},{"lineNumber":185,"author":{"gitId":"-"},"content":"Author: ActualGitHostId \u003cauthor@example.com\u003e"},{"lineNumber":186,"author":{"gitId":"-"},"content":"Date: Fri Feb 9 19:13:13 2018 +0800"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" Initial commit"},{"lineNumber":189,"author":{"gitId":"-"},"content":" ..."},{"lineNumber":190,"author":{"gitId":"-"},"content":"```"},{"lineNumber":191,"author":{"gitId":"-"},"content":"`ActualGitHostId` and `ConfiguredAuthorName` are both `Git Author Name` of the same author.\u003cbr\u003e"},{"lineNumber":192,"author":{"gitId":"-"},"content":"To find the author name that you are currently using for your current git repository, run the following command within your git repository:"},{"lineNumber":193,"author":{"gitId":"asdfghjkxd"},"content":"``` shell {.no-line-numbers}"},{"lineNumber":194,"author":{"gitId":"-"},"content":"git config user.name"},{"lineNumber":195,"author":{"gitId":"-"},"content":"```"},{"lineNumber":196,"author":{"gitId":"-"},"content":"To set the author name to the value you want (e.g., to set it to your GitHub username) for your current git repository, you can use the following command ([more info](https://www.git-tower.com/learn/git/faq/change-author-name-email)):"},{"lineNumber":197,"author":{"gitId":"asdfghjkxd"},"content":"``` shell {.no-line-numbers}"},{"lineNumber":198,"author":{"gitId":"-"},"content":"git config user.name \"YOUR_AUTHOR_NAME”"},{"lineNumber":199,"author":{"gitId":"-"},"content":"```"},{"lineNumber":200,"author":{"gitId":"-"},"content":"To set the author name to use a default value you want for future git repositories, you can use the following command:"},{"lineNumber":201,"author":{"gitId":"asdfghjkxd"},"content":"``` shell {.no-line-numbers}"},{"lineNumber":202,"author":{"gitId":"-"},"content":"git config --global user.name \"YOUR_AUTHOR_NAME”"},{"lineNumber":203,"author":{"gitId":"-"},"content":"```"},{"lineNumber":204,"author":{"gitId":"-"},"content":"RepoSense expects the Git Author Name to be the same as author\u0027s username on the Git hosting platform (GitHub, GitLab, BitBucket). If an author\u0027s `Git Author Name` is different from their username on the Git hosting platform, the `Git Author Name` needs to be specified in the standalone config file. If the author has more than one `Git Author Name`, multiple values can be entered too."},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"warning\" seamless\u003e"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":"Note: Symbols such as `\"`, `!`, `/` etc. in your author name will be omitted, which may reduce the accuracy of the analysis if 2 names in the repository are approximately similar."},{"lineNumber":209,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":"\u003c/div\u003e"}],"authorContributionMap":{"asdfghjkxd":3,"-":208}},{"path":"docs/ug/customizingReports.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Customizing reports\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"{% from \u0027scripts/macros.njk\u0027 import embed, step with context %}"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"The report can be customized using several ways, as explained below."},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"### Customize using CLI flags"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"**The simplest approach is to provide additional flags when running RepoSense.** The various flags are given in the panel below."},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **CLI syntax reference**\", \"cli.md\") }}"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":"### Customize using CSV config files"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"**Another, more powerful, way to customize the report is by using dedicated config files.** In this case you need to use the `--config` flag instead of the `--repo` flag when running RepoSense, as follows:"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **CLI syntax reference → `config` flag**\", \"cli.md#section-config\") }}"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"**Managing config files collaboratively**: If you use RepoSense to monitor a large number of programmers, it may be more practical to get the programmers to submit PRs to update the config files as necessary (\u003ctooltip content\u003d\"a coder realizes some of her code is missing from the report because she used multiple git usernames, and wants to add the additional usernames to the config file\"\u003eexample use case\u003c/tooltip\u003e)."},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"To ensure that their PRs are correct, you can use [Netlify _deploy previews_](https://www.netlify.com/blog/2016/07/20/introducing-deploy-previews-in-netlify/) to preview how the report would look like after the PR has been merged. More details are in the panels below."},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **Using RepoSense with Netlify → Setting up**\", \"withNetlify.md#section-setting-up\") }}"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **Using RepoSense with Netlify → PR previews**\", \"withNetlify.md#section-pr-previews\") }}"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"### Get target repos to provide more info"},{"lineNumber":47,"author":{"gitId":"-"},"content":"**If feasible, you can also customize the target repos to play well with RepoSense** in the following two ways:"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":"1\\. Add a _standalone config file_ to the repo to provide more config details to RepoSense. The format of the file is given below."},{"lineNumber":50,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **Standalone config file format**\", \"configFiles.md#section-standalone\") }}"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"2\\. To have more precise control over which code segment is attributed to which author, authors can annotate their code using `@@author` tags, as explained below."},{"lineNumber":53,"author":{"gitId":"-"},"content":" {{ embed(\"Appendix: **Using `@@author` tags**\", \"usingAuthorTags.md\") }}"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":"In both instances, it is **necessary to commit any changes** for them to be detected by RepoSense."},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"3\\. Add a git `.mailmap` file at the top-level of the repository, specifying mapped authors/commiters and/or e-mail addresses as per [gitmailmap documentation](https://git-scm.com/docs/gitmailmap). Any mappings specified here will be applied by git before all other RepoSense configurations. Configuration via `.mailmap` is particularly useful if you want the mapping to apply for all git commands as well instead of just for RepoSense."},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":"\u003c!-- ------------------------------------------------------------------------------------------------------ --\u003e"},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":65,"author":{"gitId":"sopa301"},"content":"### Add a title"},{"lineNumber":66,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":67,"author":{"gitId":"sopa301"},"content":"A title component can be added by creating a file titled `title.md` in the assets directory. You can specify the assets directory according to the reference below:"},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":"{{ embed(\"Appendix: **CLI syntax reference → `assets` flag**\", \"cli.md#section-assets\") }}"},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":70,"author":{"gitId":"sopa301"},"content":"The title can render a combination of Markdown/HTML and plaintext ([example](https://github.com/reposense/RepoSense/blob/master/docs/ug/title.md)), and will appear on the top of the left panel as shown below:"},{"lineNumber":71,"author":{"gitId":"sopa301"},"content":"![Title Component Example](../images/title-example.png)"},{"lineNumber":72,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":73,"author":{"gitId":"sopa301"},"content":"Do note that the width of the title is bound by the width of the left panel."},{"lineNumber":74,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":75,"author":{"gitId":"sopa301"},"content":"For more information on how to use Markdown, see the [Markdown Guide](https://www.markdownguide.org/)."}],"authorContributionMap":{"sopa301":14,"-":61}},{"path":"docs/ug/title.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"sopa301"},"content":"# RepoSense"},{"lineNumber":2,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":"RepoSense is a powerful tool for analyzing repositories. It provides valuable insights into your codebase, helping you understand the development patterns, identify areas for improvement, and track the contributions of individual team members."},{"lineNumber":4,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":"## Features"},{"lineNumber":6,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":"- Repository analysis: Gain a comprehensive overview of your codebase, including commit statistics, file changes, and code ownership."},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":"- Contribution tracking: Easily track the contributions made by each team member, including the number of commits, lines of code added/removed, and more."},{"lineNumber":9,"author":{"gitId":"sopa301"},"content":"- Visualization: Visualize your repository\u0027s history and changes over time through interactive graphs and charts."}],"authorContributionMap":{"sopa301":9}},{"path":"docs/ug/usingReports.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{% set title \u003d \"Using reports\" %}"},{"lineNumber":2,"author":{"gitId":"-"},"content":"\u003cfrontmatter\u003e"},{"lineNumber":3,"author":{"gitId":"-"},"content":" title: \"{{ title | safe }}\""},{"lineNumber":4,"author":{"gitId":"-"},"content":" pageNav: 3"},{"lineNumber":5,"author":{"gitId":"-"},"content":"\u003c/frontmatter\u003e"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"\u003ch1 class\u003d\"display-4\"\u003e\u003cmd\u003e{{ title }}\u003c/md\u003e\u003c/h1\u003e"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"\u003cdiv class\u003d\"lead\"\u003e"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"Let\u0027s look at how to view, interpret, and interact with a RepoSense report."},{"lineNumber":12,"author":{"gitId":"-"},"content":"\u003c/div\u003e"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"## Viewing the report"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"As a report consists of web pages, it can be viewed using a Web Browser. Here are the ways to view the report in different situations."},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"* **Situation 1: The report has been hosted on a website**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Simply go to the URL of the report ([example](https://nus-cs2113-ay1920s2.github.io/tp-dashboard)) in your browser."},{"lineNumber":22,"author":{"gitId":"-"},"content":"* **Situation 2: You generated the report in your computer earlier**"},{"lineNumber":23,"author":{"gitId":"-"},"content":" * Run RepoSense with the `--view` option:\u003cbr\u003e"},{"lineNumber":24,"author":{"gitId":"-"},"content":" Format: `java -jar RepoSense.jar --view REPORT_FOLDER`\u003cbr\u003e"},{"lineNumber":25,"author":{"gitId":"-"},"content":" e.g., `java -jar RepoSense.jar --view ./myReport/reposense-report`"},{"lineNumber":26,"author":{"gitId":"-"},"content":"* **Situation 3: The report was given to you as a zip file or as a folder**"},{"lineNumber":27,"author":{"gitId":"-"},"content":" 1. If it is a zip file, unzip it."},{"lineNumber":28,"author":{"gitId":"-"},"content":" 1. Open the `index.html` (in the unzipped report directory) using a browser."},{"lineNumber":29,"author":{"gitId":"-"},"content":" 1. If the report was not loaded automatically, click on the `choose file` button in the shown web page, and select the `archive.zip` (in the same directory) manually.\u003cbr\u003e"},{"lineNumber":30,"author":{"gitId":"-"},"content":" If even the `choose file` button is not showing up, try a different browser."},{"lineNumber":31,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":"## Report structure"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":"Here is an example of how a typical report looks like:"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":"![report](../images/report-features.png)"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":"The report is divided into two sections: [_**Chart panel**_](#chart-panel) and the [_**Code panel**_](#code-panel). In some situations, the [_**Commits panel**_](#commits-panel) will appear in place of the _code panel_. All three are explained in the sections below."},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":"Links to external webpages (repository link, author\u0027s profile, blame view, etc.) is only properly supported when RepoSense analyzes a remote repository belonging to GitHub, GitLab or BitBucket."},{"lineNumber":44,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":"## Chart panel"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":"![Ramp Charts](../images/rampchart.png)\u003cbr\u003e"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":"The `Chart panel` (an example is shown above) contains a series of _ramp chart_ + _contribution bar_ pairs, possibly organized into sub-groups, with a _tool bar_ at the top."},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":"#### Ramp charts"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" seamless\u003e"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":"**Ramp chart**: This is a visualization of the frequency and quantity of contributions of an author for a specific repository. Each ramp chart (i.e., light blue rectangle) represents an author\u0027s contribution timeline for a particular repository. Contributions appear as ramps in the timeline."},{"lineNumber":59,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" seamless\u003e"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":"**Ramp**: The name we use to refer to the triangular saw-tooth-like shape that represents a code contribution. A ramp can represent a single commit, a sum of the commits done in a certain period, depending on the granularity used."},{"lineNumber":64,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":"* The ramp\u0027s area is proportional to the amount of contribution the author made at that time period."},{"lineNumber":67,"author":{"gitId":"-"},"content":"* The position of the right edge of the ramp (perpendicular to the blue bar) represents the period (the day or the week) in which the contribution was made."},{"lineNumber":68,"author":{"gitId":"-"},"content":"* Hover the pointer over a ramp to see the total number of lines represented by that ramp."},{"lineNumber":69,"author":{"gitId":"-"},"content":"* Click on the ramp to view details about the list of commits represented in the ramp."},{"lineNumber":70,"author":{"gitId":"-"},"content":" * At the commit-level of granularity, it links to the commit in the remote repository."},{"lineNumber":71,"author":{"gitId":"-"},"content":" * At higher levels of granularity, it displays the list of commits in the Code Panel."},{"lineNumber":72,"author":{"gitId":"-"},"content":"* To make the comparison between two authors easier, the color of the ramps that represent different authors\u0027 contributions at the same time period are the same."},{"lineNumber":73,"author":{"gitId":"-"},"content":"* Ramps representing big contributions can overlap with earlier time periods. This represents the possibility that if the work committed during a specific period is big, it could have started at an earlier time period."},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":"#### Contribution bars"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"definition\" seamless\u003e"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":"**Contribution bar**: It\u0027s the bar that appears below each ramp chart. Its length represents the total amount of code contributed by an author during the _total analysis period_."},{"lineNumber":80,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":"* Hover over a contribution bar to see the exact amount of the contribution."},{"lineNumber":83,"author":{"gitId":"-"},"content":"* If an author contributed significantly higher than other authors, the contribution bar could _overflow_ into multiple lines."},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":"We allow contribution bars to overflow into multiple lines (rather than adjust the scale to fit the maximum bar length) to prevent a minority of \u003ctooltip content\u003d\"i.e., those contributing an unusually high amount of code\"\u003eoutliers\u003c/tooltip\u003e from affecting the scale of the majority."},{"lineNumber":88,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":"#### Tool bar"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":"The `Tool Bar` at the top of the Chart panel provides a set of configuration options that control the Chart panel."},{"lineNumber":93,"author":{"gitId":"-"},"content":"* `Search`: filters the author and repository by keywords."},{"lineNumber":94,"author":{"gitId":"-"},"content":" * Multiple keywords/terms can be used, separated by spaces."},{"lineNumber":95,"author":{"gitId":"-"},"content":" * Entries that contain _any_ (not necessarily _all_) of the search terms will be displayed."},{"lineNumber":96,"author":{"gitId":"-"},"content":" * The keywords used to filter the author and repository are case-insensitive."},{"lineNumber":97,"author":{"gitId":"jonasongg"},"content":" * Starting a search with `tag:` will filter author and repository by git tags. Similar search rules as above (like separating multiple tag names by space) apply."},{"lineNumber":98,"author":{"gitId":"-"},"content":"* `Group by`: grouping criteria for the rows of results."},{"lineNumber":99,"author":{"gitId":"-"},"content":" * `None`: results will not be grouped in any particular way."},{"lineNumber":100,"author":{"gitId":"-"},"content":" * `Repo/Branch`: results will be grouped by repositories and its\u0027 associating branches."},{"lineNumber":101,"author":{"gitId":"-"},"content":" * `Author`: results will be grouped by the name of the author. Contributions made to multiple repositories by a particular author will be grouped under the author."},{"lineNumber":102,"author":{"gitId":"-"},"content":"* `Sort groups by`: sorting criteria for the main group. See note [1] below."},{"lineNumber":103,"author":{"gitId":"-"},"content":" * `Group title`: groups will be sorted by the title of the group (in bold text) in alphabetical order."},{"lineNumber":104,"author":{"gitId":"-"},"content":" * `Contribution`: groups will be sorted by the combined contributions within a group, in the order of number of lines added."},{"lineNumber":105,"author":{"gitId":"-"},"content":" * `Variance`: groups will be sorted by how far the daily contributions are spread out from their average value among all authors involved. A detailed definition of variance is located [here](https://en.wikipedia.org/wiki/Variance)."},{"lineNumber":106,"author":{"gitId":"-"},"content":"* `Sort within groups by`: sorting criteria within each group."},{"lineNumber":107,"author":{"gitId":"-"},"content":" * `Title`: each group will be internally sorted by its title in alphabetical order."},{"lineNumber":108,"author":{"gitId":"-"},"content":" * `Contribution`: each group will be internally sorted by individual contributions in the order of number of lines added."},{"lineNumber":109,"author":{"gitId":"-"},"content":" * `Variance`: each group will be internally sorted by how far the daily contributions are spread out from their average value by each author into a particular repo. A detailed definition of variance is located [here](https://en.wikipedia.org/wiki/Variance)."},{"lineNumber":110,"author":{"gitId":"-"},"content":"* `Granularity`: the period of time for which commits are aggregated in the Ramp Chart."},{"lineNumber":111,"author":{"gitId":"-"},"content":" * `Commit`: each commit made is shown as one ramp."},{"lineNumber":112,"author":{"gitId":"-"},"content":" * `Day`: commits within a day (commits made within 00:00 to 23:59) are shown as one ramp."},{"lineNumber":113,"author":{"gitId":"-"},"content":" * `Week`: commits within a week (from Monday 00:00 to Sunday 23:59) are shown as one ramp."},{"lineNumber":114,"author":{"gitId":"-"},"content":"* `Since`, `Until`: the date range for the Ramp Chart (not applied to the Contribution Bars)."},{"lineNumber":115,"author":{"gitId":"-"},"content":"* `Reset date range`: resets the date range of the Ramp Chart to the default date range."},{"lineNumber":116,"author":{"gitId":"-"},"content":"* `Breakdown by file type`: toggles the contribution bar to either display the bar by :"},{"lineNumber":117,"author":{"gitId":"-"},"content":" * the total lines of codes added (if the checkbox is left unchecked), or"},{"lineNumber":118,"author":{"gitId":"-"},"content":" * a breakdown of the number of lines of codes added to each file type (if the checkbox is checked). More info on note [3] below."},{"lineNumber":119,"author":{"gitId":"-"},"content":"* `Merge group`: merges all the ramp charts of each group into a single ramp chart; aggregates the contribution of each group."},{"lineNumber":120,"author":{"gitId":"-"},"content":" * viewing of authored code of the group as a whole is available when `group by repos`."},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":"Notes:\u003cbr\u003e"},{"lineNumber":123,"author":{"gitId":"-"},"content":"[1] **`Sort groups by`**: each main group has its own index and percentile according to its ranking position after sorting (e.g., if the groups are sorted by contribution in descending order, a 25% percentile indicates that the group is in the top 25% of the whole cohort in terms of contribution)\u003cbr\u003e."},{"lineNumber":124,"author":{"gitId":"-"},"content":"[2] **`Repo/Branch`**: the repo/branch name is constructed as `ORGANIZATION/REPOSITORY[BRANCH]` (e.g., `reposense/reposense[master]`)\u003cbr\u003e"},{"lineNumber":125,"author":{"gitId":"-"},"content":"[3] The total contribution of each group will get updated based on the checked file types and will be taken into account when the sorting criteria is contribution."},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"tip\" seamless\u003e"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":"**RepoSense support _intelligent_ bookmarks**: Note how the browser URL changes as you modify settings in the report. If you send that URL to someone else, that person will be able to use that URL to view the report in the same _view configuration_ you had when you copied the URL. For example, [this URL](https://nus-cs2113-ay1920s2.github.io/tp-dashboard/) and [this URL](https://nus-cs2113-ay1920s2.github.io/tp-dashboard/#search\u003d\u0026sort\u003dgroupTitle\u0026sortWithin\u003dtitle\u0026since\u003d2020-03-01\u0026timeframe\u003dday\u0026mergegroup\u003dtrue\u0026groupSelect\u003dgroupByRepos\u0026breakdown\u003dtrue) give two different views of the same report."},{"lineNumber":131,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":"## Code panel"},{"lineNumber":136,"author":{"gitId":"-"},"content":"\u003cimg src\u003d\"../images/code-panel.png\" alt\u003d\"code panel\" width\u003d\"468\"\u003e"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":"The `Code panel` allows users to see the code attributed to a specific author. Click on the `\u003c/\u003e` icon beside the author\u0027s name in the `Chart panel` to display the `Code panel` on the right."},{"lineNumber":139,"author":{"gitId":"-"},"content":"* The Code panel shows the files that contain the author\u0027s contributions, sorted by the number of lines written."},{"lineNumber":140,"author":{"gitId":"-"},"content":"* Select the radio button to enable one of the following 2 filters. Note that only 1 of the 2 filters is active at any time."},{"lineNumber":141,"author":{"gitId":"-"},"content":" * Type file path glob in glob filter to include files matching the glob expression."},{"lineNumber":142,"author":{"gitId":"-"},"content":" * Select the checkboxes to include files of preferred file extensions."},{"lineNumber":143,"author":{"gitId":"-"},"content":" The number right beside the file extension shows the total number of lines written by the author in such file extension files. In contrast, the number inside the parenthesis indicates the number of non-blank lines written by the author."},{"lineNumber":144,"author":{"gitId":"-"},"content":"* Clicking the file title toggles the file content."},{"lineNumber":145,"author":{"gitId":"-"},"content":"* Clicking the first icon beside the file title opens the history view of the file on the remote repository."},{"lineNumber":146,"author":{"gitId":"-"},"content":"* Clicking the second icon beside the file title opens the blame view of the file on the remote repository."},{"lineNumber":147,"author":{"gitId":"-"},"content":"* When using the code panel for a specific author, code attributed to the author is highlighted in green."},{"lineNumber":148,"author":{"gitId":"-"},"content":" * When using the `merge group` option with `group by repos`, the code panel will consist of multiple authors\u0027 contributions. Code attributed to these authors can be differentiated by the highlight colors of the code. The color legend is shown at the top of each file and consists only those authors that edited a particular file."},{"lineNumber":149,"author":{"gitId":"-"},"content":"* Non-trivial code segments that the selected author has not written are hidden by default, but you can toggle them by clicking on the %%:fas-plus-circle:%% icon."},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":"\u003cbox type\u003d\"info\" seamless\u003e"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":"Changing binary files, such as images (`.jpg`, `.png`), applications (`.exe`), zip files (`.zip`, `.rar`) and certain document types (`.docx`, `.pptx`), is not counted towards the total number of lines of code contributed by an author."},{"lineNumber":154,"author":{"gitId":"-"},"content":"\u003c/box\u003e"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":"\u003c!-- \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d --\u003e"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":"## Commits panel"},{"lineNumber":159,"author":{"gitId":"-"},"content":"\u003cimg src\u003d\"../images/commits-panel.png\" alt\u003d\"commits panel\" width\u003d\"468\"\u003e"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":"The `Commits panel` allows users to see the commits attributed to a specific author."},{"lineNumber":162,"author":{"gitId":"-"},"content":"* To view all commits attributed to an author, locate the author\u0027s ramp chart in the chart panel, and click on the %%:fas-list-ul:%% icon above the ramp chart."},{"lineNumber":163,"author":{"gitId":"-"},"content":"* To view commits of a specific period, locate the author\u0027s ramp chart in the chart panel, hold down the \u003ckbd\u003eCtrl\u003c/kbd\u003e key (\u003ckbd\u003e\u0026#8984;\u003c/kbd\u003e in MacOS), and click on the start and end positions of the period (on the ramp chart) you want to view. \u003cbr\u003e"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":"![Opening commits panel](../images/opening-commits-panel.gif)"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":"* The commits can be sorted by the date it was committed or by LoC."},{"lineNumber":168,"author":{"gitId":"-"},"content":"* The tags of the commits will also be displayed on top if any. Clicking on a tag will direct you to the commit having that particular tag."},{"lineNumber":169,"author":{"gitId":"-"},"content":"* The date range for the `Chart panel` can be updated by clicking on the \"Show ramp chart for this period\" below the name of the author."},{"lineNumber":170,"author":{"gitId":"-"},"content":"* The ramp chart at the top of the `Commits panel` represents individual commits (not weekly or daily contributions)."},{"lineNumber":171,"author":{"gitId":"-"},"content":"* The commit messages body can be expanded or collapsed by clicking on the %%:fas-ellipsis-h:%% icon beside each commit message title."},{"lineNumber":172,"author":{"gitId":"-"},"content":"* To promote and encourage the 50/72 rule for commit messages, a dotted vertical line will be shown for:"},{"lineNumber":173,"author":{"gitId":"-"},"content":" * Commit message subject that exceeds 50 characters."},{"lineNumber":174,"author":{"gitId":"-"},"content":" * Commit message body after the 72nd character mark."}],"authorContributionMap":{"-":173,"jonasongg":1}},{"path":"frontend/.eslintrc.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"env\": {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"browser\": true"},{"lineNumber":4,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"extends\": ["},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"airbnb-base\","},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"plugin:vue/recommended\","},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"@vue/typescript\","},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"plugin:import/typescript\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"rules\": {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"vue/component-definition-name-casing\": ["},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"error\","},{"lineNumber":14,"author":{"gitId":"-"},"content":" \"kebab-case\""},{"lineNumber":15,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"vue/require-prop-types\": 0,"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"no-param-reassign\": 0,"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"arrow-parens\": ["},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"error\","},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"always\""},{"lineNumber":21,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"indent\": ["},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"error\","},{"lineNumber":24,"author":{"gitId":"-"},"content":" 2,"},{"lineNumber":25,"author":{"gitId":"-"},"content":" {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"ignoredNodes\": ["},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"ConditionalExpression\""},{"lineNumber":28,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"prefer-destructuring\": 0,"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"func-names\": ["},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"error\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"as-needed\""},{"lineNumber":35,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"no-alert\": 0,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"linebreak-style\": 0,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"max-len\": ["},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"error\","},{"lineNumber":40,"author":{"gitId":"-"},"content":" {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"code\": 120"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"prefer-object-spread\": 0,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"function-call-argument-newline\": 0,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"vue/no-computed-properties-in-data\": 0,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"import/extensions\": ["},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"error\","},{"lineNumber":49,"author":{"gitId":"-"},"content":" {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"js\": \"never\","},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"ts\": \"never\""},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":54,"author":{"gitId":"-"},"content":" },"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"parserOptions\": {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"parser\": \"@typescript-eslint/parser\""},{"lineNumber":57,"author":{"gitId":"-"},"content":" },"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \"overrides\": ["},{"lineNumber":59,"author":{"gitId":"-"},"content":" {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" \"files\": [\"*.ts\"],"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"extends\": ["},{"lineNumber":62,"author":{"gitId":"-"},"content":" \"airbnb-typescript/base\","},{"lineNumber":63,"author":{"gitId":"-"},"content":" \"plugin:@typescript-eslint/recommended\""},{"lineNumber":64,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"parserOptions\": {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"project\": [\"./tsconfig.json\"]"},{"lineNumber":67,"author":{"gitId":"-"},"content":" },"},{"lineNumber":68,"author":{"gitId":"-"},"content":" \"rules\": {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \"indent\": \"off\","},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"@typescript-eslint/indent\": ["},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"error\","},{"lineNumber":72,"author":{"gitId":"-"},"content":" 2,"},{"lineNumber":73,"author":{"gitId":"-"},"content":" {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \"ignoredNodes\": ["},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"ConditionalExpression\""},{"lineNumber":76,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"SwitchCase\": 0"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"@typescript-eslint/member-delimiter-style\": \"error\","},{"lineNumber":81,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/type-annotation-spacing\": \"error\","},{"lineNumber":82,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/array-type\": ["},{"lineNumber":83,"author":{"gitId":"sopa301"},"content":" \"error\","},{"lineNumber":84,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":85,"author":{"gitId":"sopa301"},"content":" \"default\": \"array-simple\","},{"lineNumber":86,"author":{"gitId":"sopa301"},"content":" \"readonly\": \"array-simple\""},{"lineNumber":87,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":88,"author":{"gitId":"sopa301"},"content":" ]"},{"lineNumber":89,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":90,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":91,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":92,"author":{"gitId":"sopa301"},"content":" \"files\": [\"*.vue\"],"},{"lineNumber":93,"author":{"gitId":"sopa301"},"content":" \"rules\": {"},{"lineNumber":94,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/array-type\": ["},{"lineNumber":95,"author":{"gitId":"sopa301"},"content":" \"error\","},{"lineNumber":96,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":97,"author":{"gitId":"sopa301"},"content":" \"default\": \"generic\","},{"lineNumber":98,"author":{"gitId":"sopa301"},"content":" \"readonly\": \"generic\""},{"lineNumber":99,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":100,"author":{"gitId":"supermii2"},"content":" ],"},{"lineNumber":101,"author":{"gitId":"supermii2"},"content":" \"no-unused-vars\": \"off\","},{"lineNumber":102,"author":{"gitId":"supermii2"},"content":" \"@typescript-eslint/no-unused-vars\": [\"error\"]"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":" ]"},{"lineNumber":106,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"supermii2":3,"sopa301":19,"-":84}},{"path":"frontend/.stylelintrc.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"plugins\": ["},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":" \"@stylistic/stylelint-plugin\","},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"stylelint-order\""},{"lineNumber":5,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"extends\": ["},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard\","},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard-scss\","},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"stylelint-config-recommended-vue\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"rules\": {"},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" \"declaration-no-important\": true,"},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" \"declaration-block-single-line-max-declarations\": 1,"},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" \"no-invalid-double-slash-comments\": true,"},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" \"function-no-unknown\": null,"},{"lineNumber":16,"author":{"gitId":"sopa301"},"content":" \"no-descending-specificity\": null,"},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" \"selector-type-no-unknown\": null,"},{"lineNumber":18,"author":{"gitId":"sopa301"},"content":" \"at-rule-no-unknown\": null,"},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" \"no-duplicate-selectors\": null,"},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" \"length-zero-no-unit\": true,"},{"lineNumber":21,"author":{"gitId":"sopa301"},"content":" \"value-keyword-case\": \"lower\","},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":" \"selector-type-case\": \"lower\","},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"color-no-invalid-hex\": true,"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"string-no-newline\": true,"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"unit-no-unknown\": true,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"property-no-unknown\": true,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"block-no-empty\": true,"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"comment-no-empty\": true,"},{"lineNumber":29,"author":{"gitId":"sopa301"},"content":" \"shorthand-property-no-redundant-values\": null,"},{"lineNumber":30,"author":{"gitId":"sopa301"},"content":" \"declaration-empty-line-before\": null,"},{"lineNumber":31,"author":{"gitId":"sopa301"},"content":" \"selector-class-pattern\": null,"},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" \"color-function-notation\": null,"},{"lineNumber":33,"author":{"gitId":"sopa301"},"content":" \"alpha-value-notation\": null,"},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":" \"comment-empty-line-before\": null,"},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" \"property-no-vendor-prefix\": null,"},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" \"selector-pseudo-element-colon-notation\": null,"},{"lineNumber":37,"author":{"gitId":"sopa301"},"content":" \"at-rule-empty-line-before\": null,"},{"lineNumber":38,"author":{"gitId":"sopa301"},"content":" \"font-family-name-quotes\": null,"},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"color-hex-length\": null,"},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" \"@stylistic/no-extra-semicolons\": true,"},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"@stylistic/number-leading-zero\": \"never\","},{"lineNumber":42,"author":{"gitId":"sopa301"},"content":" \"@stylistic/number-no-trailing-zeros\": null,"},{"lineNumber":43,"author":{"gitId":"sopa301"},"content":" \"@stylistic/property-case\": \"lower\","},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" \"@stylistic/string-quotes\": \"single\","},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" \"@stylistic/declaration-colon-space-after\": \"always\","},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" \"@stylistic/selector-list-comma-newline-after\": \"always\","},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":" \"@stylistic/no-eol-whitespace\": true,"},{"lineNumber":48,"author":{"gitId":"sopa301"},"content":" \"@stylistic/indentation\": 2,"},{"lineNumber":49,"author":{"gitId":"sopa301"},"content":" \"@stylistic/block-opening-brace-space-before\": \"always\","},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":" \"@stylistic/declaration-colon-space-before\": \"never\","},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"order/properties-alphabetical-order\": true,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"scss/no-global-function-names\": null,"},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" \"scss/at-import-no-partial-leading-underscore\": null,"},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":" \"scss/at-import-partial-extension\": null,"},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" \"scss/load-no-partial-leading-underscore\": null,"},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" \"scss/double-slash-comment-empty-line-before\": null,"},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":" \"scss/double-slash-comment-whitespace-inside\": null,"},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" \"scss/dollar-variable-pattern\": null"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"sopa301":42,"-":18}},{"path":"frontend/cypress/package-lock.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"sopa301"},"content":" \"name\": \"cypress\","},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":" \"lockfileVersion\": 2,"},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"requires\": true,"},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":" \"packages\": {"},{"lineNumber":6,"author":{"gitId":"sopa301"},"content":" \"\": {"},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" \"devDependencies\": {"},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" \"cypress\": \"^13.6.4\""},{"lineNumber":9,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":10,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11,"author":{"gitId":"sopa301"},"content":" \"node_modules/@colors/colors\": {"},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.0\","},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz\","},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ\u003d\u003d\","},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":16,"author":{"gitId":"sopa301"},"content":" \"optional\": true,"},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":18,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.1.90\""},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":21,"author":{"gitId":"sopa301"},"content":" \"node_modules/@cypress/request\": {"},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\","},{"lineNumber":23,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz\","},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ\u003d\u003d\","},{"lineNumber":25,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":26,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":27,"author":{"gitId":"sopa301"},"content":" \"aws-sign2\": \"~0.7.0\","},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" \"aws4\": \"^1.8.0\","},{"lineNumber":29,"author":{"gitId":"sopa301"},"content":" \"caseless\": \"~0.12.0\","},{"lineNumber":30,"author":{"gitId":"sopa301"},"content":" \"combined-stream\": \"~1.0.6\","},{"lineNumber":31,"author":{"gitId":"sopa301"},"content":" \"extend\": \"~3.0.2\","},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" \"forever-agent\": \"~0.6.1\","},{"lineNumber":33,"author":{"gitId":"sopa301"},"content":" \"form-data\": \"~2.3.2\","},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":" \"http-signature\": \"~1.3.6\","},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" \"is-typedarray\": \"~1.0.0\","},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" \"isstream\": \"~0.1.2\","},{"lineNumber":37,"author":{"gitId":"sopa301"},"content":" \"json-stringify-safe\": \"~5.0.1\","},{"lineNumber":38,"author":{"gitId":"sopa301"},"content":" \"mime-types\": \"~2.1.19\","},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"performance-now\": \"^2.1.0\","},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" \"qs\": \"6.10.4\","},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"safe-buffer\": \"^5.1.2\","},{"lineNumber":42,"author":{"gitId":"sopa301"},"content":" \"tough-cookie\": \"^4.1.3\","},{"lineNumber":43,"author":{"gitId":"sopa301"},"content":" \"tunnel-agent\": \"^0.6.0\","},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" \"uuid\": \"^8.3.2\""},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":48,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":49,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":" \"node_modules/@cypress/xvfb\": {"},{"lineNumber":51,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.4\","},{"lineNumber":52,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz\","},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q\u003d\u003d\","},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^3.1.0\","},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":" \"lodash.once\": \"^4.1.1\""},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":59,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":60,"author":{"gitId":"sopa301"},"content":" \"node_modules/@cypress/xvfb/node_modules/debug\": {"},{"lineNumber":61,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.7\","},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\","},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ\u003d\u003d\","},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":65,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":66,"author":{"gitId":"sopa301"},"content":" \"ms\": \"^2.1.1\""},{"lineNumber":67,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/node\": {"},{"lineNumber":70,"author":{"gitId":"sopa301"},"content":" \"version\": \"18.18.3\","},{"lineNumber":71,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-18.18.3.tgz\","},{"lineNumber":72,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA\u003d\u003d\","},{"lineNumber":73,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":74,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":75,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":76,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/sinonjs__fake-timers\": {"},{"lineNumber":77,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.1.1\","},{"lineNumber":78,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz\","},{"lineNumber":79,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g\u003d\u003d\","},{"lineNumber":80,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":81,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":82,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/sizzle\": {"},{"lineNumber":83,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.4\","},{"lineNumber":84,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.4.tgz\","},{"lineNumber":85,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-jA2llq2zNkg8HrALI7DtWzhALcVH0l7i89yhY3iBdOz6cBPeACoFq+fkQrjHA39t1hnSFOboZ7A/AY5MMZSlag\u003d\u003d\","},{"lineNumber":86,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":87,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":88,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/yauzl\": {"},{"lineNumber":89,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.10.1\","},{"lineNumber":90,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.1.tgz\","},{"lineNumber":91,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw\u003d\u003d\","},{"lineNumber":92,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":93,"author":{"gitId":"sopa301"},"content":" \"optional\": true,"},{"lineNumber":94,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":95,"author":{"gitId":"sopa301"},"content":" \"@types/node\": \"*\""},{"lineNumber":96,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":97,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":98,"author":{"gitId":"sopa301"},"content":" \"node_modules/aggregate-error\": {"},{"lineNumber":99,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\","},{"lineNumber":100,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz\","},{"lineNumber":101,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA\u003d\u003d\","},{"lineNumber":102,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":103,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":104,"author":{"gitId":"sopa301"},"content":" \"clean-stack\": \"^2.0.0\","},{"lineNumber":105,"author":{"gitId":"sopa301"},"content":" \"indent-string\": \"^4.0.0\""},{"lineNumber":106,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":107,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":108,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":109,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":110,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":111,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-colors\": {"},{"lineNumber":112,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.3\","},{"lineNumber":113,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz\","},{"lineNumber":114,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw\u003d\u003d\","},{"lineNumber":115,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":116,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":117,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":118,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":119,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":120,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-escapes\": {"},{"lineNumber":121,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.2\","},{"lineNumber":122,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz\","},{"lineNumber":123,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ\u003d\u003d\","},{"lineNumber":124,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":125,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":126,"author":{"gitId":"sopa301"},"content":" \"type-fest\": \"^0.21.3\""},{"lineNumber":127,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":128,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":129,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":130,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":131,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":132,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":133,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":134,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":135,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-regex\": {"},{"lineNumber":136,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.1\","},{"lineNumber":137,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\","},{"lineNumber":138,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ\u003d\u003d\","},{"lineNumber":139,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":140,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":141,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":142,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":143,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":144,"author":{"gitId":"sopa301"},"content":" \"node_modules/ansi-styles\": {"},{"lineNumber":145,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\","},{"lineNumber":146,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\","},{"lineNumber":147,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg\u003d\u003d\","},{"lineNumber":148,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":149,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":150,"author":{"gitId":"sopa301"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":151,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":152,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":153,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":154,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":155,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":156,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":157,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":158,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":159,"author":{"gitId":"sopa301"},"content":" \"node_modules/arch\": {"},{"lineNumber":160,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\","},{"lineNumber":161,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/arch/-/arch-2.2.0.tgz\","},{"lineNumber":162,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ\u003d\u003d\","},{"lineNumber":163,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":164,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":165,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":166,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":167,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":168,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":169,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":170,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\","},{"lineNumber":171,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":172,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":173,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":174,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\","},{"lineNumber":175,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":176,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":177,"author":{"gitId":"sopa301"},"content":" ]"},{"lineNumber":178,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":179,"author":{"gitId":"sopa301"},"content":" \"node_modules/asn1\": {"},{"lineNumber":180,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.6\","},{"lineNumber":181,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz\","},{"lineNumber":182,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ\u003d\u003d\","},{"lineNumber":183,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":184,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":185,"author":{"gitId":"sopa301"},"content":" \"safer-buffer\": \"~2.1.0\""},{"lineNumber":186,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":187,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":188,"author":{"gitId":"sopa301"},"content":" \"node_modules/assert-plus\": {"},{"lineNumber":189,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":190,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz\","},{"lineNumber":191,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw\u003d\u003d\","},{"lineNumber":192,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":193,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":194,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.8\""},{"lineNumber":195,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":196,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":197,"author":{"gitId":"sopa301"},"content":" \"node_modules/astral-regex\": {"},{"lineNumber":198,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":199,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz\","},{"lineNumber":200,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ\u003d\u003d\","},{"lineNumber":201,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":202,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":203,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":204,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":205,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":206,"author":{"gitId":"sopa301"},"content":" \"node_modules/async\": {"},{"lineNumber":207,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.4\","},{"lineNumber":208,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/async/-/async-3.2.4.tgz\","},{"lineNumber":209,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ\u003d\u003d\","},{"lineNumber":210,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":211,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":212,"author":{"gitId":"sopa301"},"content":" \"node_modules/asynckit\": {"},{"lineNumber":213,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.0\","},{"lineNumber":214,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\","},{"lineNumber":215,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q\u003d\u003d\","},{"lineNumber":216,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":217,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":218,"author":{"gitId":"sopa301"},"content":" \"node_modules/at-least-node\": {"},{"lineNumber":219,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":220,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz\","},{"lineNumber":221,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg\u003d\u003d\","},{"lineNumber":222,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":223,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":224,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 4.0.0\""},{"lineNumber":225,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":226,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":227,"author":{"gitId":"sopa301"},"content":" \"node_modules/aws-sign2\": {"},{"lineNumber":228,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.7.0\","},{"lineNumber":229,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz\","},{"lineNumber":230,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA\u003d\u003d\","},{"lineNumber":231,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":232,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":233,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\""},{"lineNumber":234,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":235,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":236,"author":{"gitId":"sopa301"},"content":" \"node_modules/aws4\": {"},{"lineNumber":237,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.12.0\","},{"lineNumber":238,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz\","},{"lineNumber":239,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg\u003d\u003d\","},{"lineNumber":240,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":241,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":242,"author":{"gitId":"sopa301"},"content":" \"node_modules/balanced-match\": {"},{"lineNumber":243,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":244,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\","},{"lineNumber":245,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw\u003d\u003d\","},{"lineNumber":246,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":247,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":248,"author":{"gitId":"sopa301"},"content":" \"node_modules/base64-js\": {"},{"lineNumber":249,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.1\","},{"lineNumber":250,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz\","},{"lineNumber":251,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA\u003d\u003d\","},{"lineNumber":252,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":253,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":254,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":255,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":256,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":257,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":258,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":259,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\","},{"lineNumber":260,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":261,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":262,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":263,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\","},{"lineNumber":264,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":265,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":266,"author":{"gitId":"sopa301"},"content":" ]"},{"lineNumber":267,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":268,"author":{"gitId":"sopa301"},"content":" \"node_modules/bcrypt-pbkdf\": {"},{"lineNumber":269,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":270,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz\","},{"lineNumber":271,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w\u003d\u003d\","},{"lineNumber":272,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":273,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":274,"author":{"gitId":"sopa301"},"content":" \"tweetnacl\": \"^0.14.3\""},{"lineNumber":275,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":276,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":277,"author":{"gitId":"sopa301"},"content":" \"node_modules/blob-util\": {"},{"lineNumber":278,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\","},{"lineNumber":279,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz\","},{"lineNumber":280,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ\u003d\u003d\","},{"lineNumber":281,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":282,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":283,"author":{"gitId":"sopa301"},"content":" \"node_modules/bluebird\": {"},{"lineNumber":284,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.7.2\","},{"lineNumber":285,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\","},{"lineNumber":286,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg\u003d\u003d\","},{"lineNumber":287,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":288,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":289,"author":{"gitId":"sopa301"},"content":" \"node_modules/brace-expansion\": {"},{"lineNumber":290,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.11\","},{"lineNumber":291,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\","},{"lineNumber":292,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA\u003d\u003d\","},{"lineNumber":293,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":294,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":295,"author":{"gitId":"sopa301"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":296,"author":{"gitId":"sopa301"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":297,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":298,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":299,"author":{"gitId":"sopa301"},"content":" \"node_modules/buffer\": {"},{"lineNumber":300,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.7.1\","},{"lineNumber":301,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz\","},{"lineNumber":302,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ\u003d\u003d\","},{"lineNumber":303,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":304,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":305,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":306,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":307,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":308,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":309,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":310,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\","},{"lineNumber":311,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":312,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":313,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":314,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\","},{"lineNumber":315,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":316,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":317,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":318,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":319,"author":{"gitId":"sopa301"},"content":" \"base64-js\": \"^1.3.1\","},{"lineNumber":320,"author":{"gitId":"sopa301"},"content":" \"ieee754\": \"^1.1.13\""},{"lineNumber":321,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":322,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":323,"author":{"gitId":"sopa301"},"content":" \"node_modules/buffer-crc32\": {"},{"lineNumber":324,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.13\","},{"lineNumber":325,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz\","},{"lineNumber":326,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ\u003d\u003d\","},{"lineNumber":327,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":328,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":329,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\""},{"lineNumber":330,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":331,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":332,"author":{"gitId":"sopa301"},"content":" \"node_modules/cachedir\": {"},{"lineNumber":333,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.4.0\","},{"lineNumber":334,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz\","},{"lineNumber":335,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ\u003d\u003d\","},{"lineNumber":336,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":337,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":338,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":339,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":340,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":341,"author":{"gitId":"sopa301"},"content":" \"node_modules/call-bind\": {"},{"lineNumber":342,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":343,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz\","},{"lineNumber":344,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA\u003d\u003d\","},{"lineNumber":345,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":346,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":347,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.1\","},{"lineNumber":348,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.0.2\""},{"lineNumber":349,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":350,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":351,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":352,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":353,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":354,"author":{"gitId":"sopa301"},"content":" \"node_modules/caseless\": {"},{"lineNumber":355,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.12.0\","},{"lineNumber":356,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz\","},{"lineNumber":357,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw\u003d\u003d\","},{"lineNumber":358,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":359,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":360,"author":{"gitId":"sopa301"},"content":" \"node_modules/chalk\": {"},{"lineNumber":361,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.2\","},{"lineNumber":362,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\","},{"lineNumber":363,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA\u003d\u003d\","},{"lineNumber":364,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":365,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":366,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":367,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":368,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":369,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":370,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":371,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":372,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":373,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":374,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":375,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":376,"author":{"gitId":"sopa301"},"content":" \"node_modules/chalk/node_modules/supports-color\": {"},{"lineNumber":377,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.0\","},{"lineNumber":378,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\","},{"lineNumber":379,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\","},{"lineNumber":380,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":381,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":382,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":383,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":384,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":385,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":386,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":387,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":388,"author":{"gitId":"sopa301"},"content":" \"node_modules/check-more-types\": {"},{"lineNumber":389,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.24.0\","},{"lineNumber":390,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz\","},{"lineNumber":391,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA\u003d\u003d\","},{"lineNumber":392,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":393,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":394,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":395,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":396,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":397,"author":{"gitId":"sopa301"},"content":" \"node_modules/ci-info\": {"},{"lineNumber":398,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.9.0\","},{"lineNumber":399,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\","},{"lineNumber":400,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ\u003d\u003d\","},{"lineNumber":401,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":402,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":403,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":404,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":405,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sibiraj-s\""},{"lineNumber":406,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":407,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":408,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":409,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":410,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":411,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":412,"author":{"gitId":"sopa301"},"content":" \"node_modules/clean-stack\": {"},{"lineNumber":413,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\","},{"lineNumber":414,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz\","},{"lineNumber":415,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A\u003d\u003d\","},{"lineNumber":416,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":417,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":418,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":419,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":420,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":421,"author":{"gitId":"sopa301"},"content":" \"node_modules/cli-cursor\": {"},{"lineNumber":422,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\","},{"lineNumber":423,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz\","},{"lineNumber":424,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw\u003d\u003d\","},{"lineNumber":425,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":426,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":427,"author":{"gitId":"sopa301"},"content":" \"restore-cursor\": \"^3.1.0\""},{"lineNumber":428,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":429,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":430,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":431,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":432,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":433,"author":{"gitId":"sopa301"},"content":" \"node_modules/cli-table3\": {"},{"lineNumber":434,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.3\","},{"lineNumber":435,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz\","},{"lineNumber":436,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg\u003d\u003d\","},{"lineNumber":437,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":438,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":439,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.2.0\""},{"lineNumber":440,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":441,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":442,"author":{"gitId":"sopa301"},"content":" \"node\": \"10.* || \u003e\u003d 12.*\""},{"lineNumber":443,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":444,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {"},{"lineNumber":445,"author":{"gitId":"sopa301"},"content":" \"@colors/colors\": \"1.5.0\""},{"lineNumber":446,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":447,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":448,"author":{"gitId":"sopa301"},"content":" \"node_modules/cli-truncate\": {"},{"lineNumber":449,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\","},{"lineNumber":450,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz\","},{"lineNumber":451,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg\u003d\u003d\","},{"lineNumber":452,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":453,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":454,"author":{"gitId":"sopa301"},"content":" \"slice-ansi\": \"^3.0.0\","},{"lineNumber":455,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.2.0\""},{"lineNumber":456,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":457,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":458,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":459,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":460,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":461,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":462,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":463,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":464,"author":{"gitId":"sopa301"},"content":" \"node_modules/color-convert\": {"},{"lineNumber":465,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\","},{"lineNumber":466,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\","},{"lineNumber":467,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ\u003d\u003d\","},{"lineNumber":468,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":469,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":470,"author":{"gitId":"sopa301"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":471,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":472,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":473,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":474,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":475,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":476,"author":{"gitId":"sopa301"},"content":" \"node_modules/color-name\": {"},{"lineNumber":477,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.4\","},{"lineNumber":478,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\","},{"lineNumber":479,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA\u003d\u003d\","},{"lineNumber":480,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":481,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":482,"author":{"gitId":"sopa301"},"content":" \"node_modules/colorette\": {"},{"lineNumber":483,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.20\","},{"lineNumber":484,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz\","},{"lineNumber":485,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w\u003d\u003d\","},{"lineNumber":486,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":487,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":488,"author":{"gitId":"sopa301"},"content":" \"node_modules/combined-stream\": {"},{"lineNumber":489,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.8\","},{"lineNumber":490,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\","},{"lineNumber":491,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg\u003d\u003d\","},{"lineNumber":492,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":493,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":494,"author":{"gitId":"sopa301"},"content":" \"delayed-stream\": \"~1.0.0\""},{"lineNumber":495,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":496,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":497,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":498,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":499,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":500,"author":{"gitId":"sopa301"},"content":" \"node_modules/commander\": {"},{"lineNumber":501,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.2.1\","},{"lineNumber":502,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/commander/-/commander-6.2.1.tgz\","},{"lineNumber":503,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA\u003d\u003d\","},{"lineNumber":504,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":505,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":506,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":507,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":508,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":509,"author":{"gitId":"sopa301"},"content":" \"node_modules/common-tags\": {"},{"lineNumber":510,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.8.2\","},{"lineNumber":511,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz\","},{"lineNumber":512,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA\u003d\u003d\","},{"lineNumber":513,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":514,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":515,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4.0.0\""},{"lineNumber":516,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":517,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":518,"author":{"gitId":"sopa301"},"content":" \"node_modules/concat-map\": {"},{"lineNumber":519,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.0.1\","},{"lineNumber":520,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\","},{"lineNumber":521,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg\u003d\u003d\","},{"lineNumber":522,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":523,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":524,"author":{"gitId":"sopa301"},"content":" \"node_modules/core-util-is\": {"},{"lineNumber":525,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":526,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz\","},{"lineNumber":527,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ\u003d\u003d\","},{"lineNumber":528,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":529,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":530,"author":{"gitId":"sopa301"},"content":" \"node_modules/cross-spawn\": {"},{"lineNumber":531,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.3\","},{"lineNumber":532,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\","},{"lineNumber":533,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w\u003d\u003d\","},{"lineNumber":534,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":535,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":536,"author":{"gitId":"sopa301"},"content":" \"path-key\": \"^3.1.0\","},{"lineNumber":537,"author":{"gitId":"sopa301"},"content":" \"shebang-command\": \"^2.0.0\","},{"lineNumber":538,"author":{"gitId":"sopa301"},"content":" \"which\": \"^2.0.1\""},{"lineNumber":539,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":540,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":541,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":542,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":543,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":544,"author":{"gitId":"sopa301"},"content":" \"node_modules/cypress\": {"},{"lineNumber":545,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.6.6\","},{"lineNumber":546,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cypress/-/cypress-13.6.6.tgz\","},{"lineNumber":547,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A\u003d\u003d\","},{"lineNumber":548,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":549,"author":{"gitId":"sopa301"},"content":" \"hasInstallScript\": true,"},{"lineNumber":550,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":551,"author":{"gitId":"sopa301"},"content":" \"@cypress/request\": \"^3.0.0\","},{"lineNumber":552,"author":{"gitId":"sopa301"},"content":" \"@cypress/xvfb\": \"^1.2.4\","},{"lineNumber":553,"author":{"gitId":"sopa301"},"content":" \"@types/sinonjs__fake-timers\": \"8.1.1\","},{"lineNumber":554,"author":{"gitId":"sopa301"},"content":" \"@types/sizzle\": \"^2.3.2\","},{"lineNumber":555,"author":{"gitId":"sopa301"},"content":" \"arch\": \"^2.2.0\","},{"lineNumber":556,"author":{"gitId":"sopa301"},"content":" \"blob-util\": \"^2.0.2\","},{"lineNumber":557,"author":{"gitId":"sopa301"},"content":" \"bluebird\": \"^3.7.2\","},{"lineNumber":558,"author":{"gitId":"sopa301"},"content":" \"buffer\": \"^5.7.1\","},{"lineNumber":559,"author":{"gitId":"sopa301"},"content":" \"cachedir\": \"^2.3.0\","},{"lineNumber":560,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":561,"author":{"gitId":"sopa301"},"content":" \"check-more-types\": \"^2.24.0\","},{"lineNumber":562,"author":{"gitId":"sopa301"},"content":" \"cli-cursor\": \"^3.1.0\","},{"lineNumber":563,"author":{"gitId":"sopa301"},"content":" \"cli-table3\": \"~0.6.1\","},{"lineNumber":564,"author":{"gitId":"sopa301"},"content":" \"commander\": \"^6.2.1\","},{"lineNumber":565,"author":{"gitId":"sopa301"},"content":" \"common-tags\": \"^1.8.0\","},{"lineNumber":566,"author":{"gitId":"sopa301"},"content":" \"dayjs\": \"^1.10.4\","},{"lineNumber":567,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":568,"author":{"gitId":"sopa301"},"content":" \"enquirer\": \"^2.3.6\","},{"lineNumber":569,"author":{"gitId":"sopa301"},"content":" \"eventemitter2\": \"6.4.7\","},{"lineNumber":570,"author":{"gitId":"sopa301"},"content":" \"execa\": \"4.1.0\","},{"lineNumber":571,"author":{"gitId":"sopa301"},"content":" \"executable\": \"^4.1.1\","},{"lineNumber":572,"author":{"gitId":"sopa301"},"content":" \"extract-zip\": \"2.0.1\","},{"lineNumber":573,"author":{"gitId":"sopa301"},"content":" \"figures\": \"^3.2.0\","},{"lineNumber":574,"author":{"gitId":"sopa301"},"content":" \"fs-extra\": \"^9.1.0\","},{"lineNumber":575,"author":{"gitId":"sopa301"},"content":" \"getos\": \"^3.2.1\","},{"lineNumber":576,"author":{"gitId":"sopa301"},"content":" \"is-ci\": \"^3.0.1\","},{"lineNumber":577,"author":{"gitId":"sopa301"},"content":" \"is-installed-globally\": \"~0.4.0\","},{"lineNumber":578,"author":{"gitId":"sopa301"},"content":" \"lazy-ass\": \"^1.6.0\","},{"lineNumber":579,"author":{"gitId":"sopa301"},"content":" \"listr2\": \"^3.8.3\","},{"lineNumber":580,"author":{"gitId":"sopa301"},"content":" \"lodash\": \"^4.17.21\","},{"lineNumber":581,"author":{"gitId":"sopa301"},"content":" \"log-symbols\": \"^4.0.0\","},{"lineNumber":582,"author":{"gitId":"sopa301"},"content":" \"minimist\": \"^1.2.8\","},{"lineNumber":583,"author":{"gitId":"sopa301"},"content":" \"ospath\": \"^1.2.2\","},{"lineNumber":584,"author":{"gitId":"sopa301"},"content":" \"pretty-bytes\": \"^5.6.0\","},{"lineNumber":585,"author":{"gitId":"sopa301"},"content":" \"process\": \"^0.11.10\","},{"lineNumber":586,"author":{"gitId":"sopa301"},"content":" \"proxy-from-env\": \"1.0.0\","},{"lineNumber":587,"author":{"gitId":"sopa301"},"content":" \"request-progress\": \"^3.0.0\","},{"lineNumber":588,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^7.5.3\","},{"lineNumber":589,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^8.1.1\","},{"lineNumber":590,"author":{"gitId":"sopa301"},"content":" \"tmp\": \"~0.2.1\","},{"lineNumber":591,"author":{"gitId":"sopa301"},"content":" \"untildify\": \"^4.0.0\","},{"lineNumber":592,"author":{"gitId":"sopa301"},"content":" \"yauzl\": \"^2.10.0\""},{"lineNumber":593,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":594,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":595,"author":{"gitId":"sopa301"},"content":" \"cypress\": \"bin/cypress\""},{"lineNumber":596,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":597,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":598,"author":{"gitId":"sopa301"},"content":" \"node\": \"^16.0.0 || ^18.0.0 || \u003e\u003d20.0.0\""},{"lineNumber":599,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":600,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":601,"author":{"gitId":"sopa301"},"content":" \"node_modules/dashdash\": {"},{"lineNumber":602,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.14.1\","},{"lineNumber":603,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz\","},{"lineNumber":604,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g\u003d\u003d\","},{"lineNumber":605,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":606,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":607,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\""},{"lineNumber":608,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":609,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":610,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10\""},{"lineNumber":611,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":612,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":613,"author":{"gitId":"sopa301"},"content":" \"node_modules/dayjs\": {"},{"lineNumber":614,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.11.10\","},{"lineNumber":615,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz\","},{"lineNumber":616,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ\u003d\u003d\","},{"lineNumber":617,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":618,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":619,"author":{"gitId":"sopa301"},"content":" \"node_modules/debug\": {"},{"lineNumber":620,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.4\","},{"lineNumber":621,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\","},{"lineNumber":622,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ\u003d\u003d\","},{"lineNumber":623,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":624,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":625,"author":{"gitId":"sopa301"},"content":" \"ms\": \"2.1.2\""},{"lineNumber":626,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":627,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":628,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6.0\""},{"lineNumber":629,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":630,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":631,"author":{"gitId":"sopa301"},"content":" \"supports-color\": {"},{"lineNumber":632,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":633,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":634,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":635,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":636,"author":{"gitId":"sopa301"},"content":" \"node_modules/debug/node_modules/ms\": {"},{"lineNumber":637,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.2\","},{"lineNumber":638,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\","},{"lineNumber":639,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w\u003d\u003d\","},{"lineNumber":640,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":641,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":642,"author":{"gitId":"sopa301"},"content":" \"node_modules/delayed-stream\": {"},{"lineNumber":643,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":644,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\","},{"lineNumber":645,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ\u003d\u003d\","},{"lineNumber":646,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":647,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":648,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.4.0\""},{"lineNumber":649,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":650,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":651,"author":{"gitId":"sopa301"},"content":" \"node_modules/ecc-jsbn\": {"},{"lineNumber":652,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.2\","},{"lineNumber":653,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz\","},{"lineNumber":654,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw\u003d\u003d\","},{"lineNumber":655,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":656,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":657,"author":{"gitId":"sopa301"},"content":" \"jsbn\": \"~0.1.0\","},{"lineNumber":658,"author":{"gitId":"sopa301"},"content":" \"safer-buffer\": \"^2.1.0\""},{"lineNumber":659,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":660,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":661,"author":{"gitId":"sopa301"},"content":" \"node_modules/emoji-regex\": {"},{"lineNumber":662,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.0\","},{"lineNumber":663,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\","},{"lineNumber":664,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A\u003d\u003d\","},{"lineNumber":665,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":666,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":667,"author":{"gitId":"sopa301"},"content":" \"node_modules/end-of-stream\": {"},{"lineNumber":668,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.4\","},{"lineNumber":669,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz\","},{"lineNumber":670,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q\u003d\u003d\","},{"lineNumber":671,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":672,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":673,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.4.0\""},{"lineNumber":674,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":675,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":676,"author":{"gitId":"sopa301"},"content":" \"node_modules/enquirer\": {"},{"lineNumber":677,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.4.1\","},{"lineNumber":678,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz\","},{"lineNumber":679,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ\u003d\u003d\","},{"lineNumber":680,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":681,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":682,"author":{"gitId":"sopa301"},"content":" \"ansi-colors\": \"^4.1.1\","},{"lineNumber":683,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":684,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":685,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":686,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.6\""},{"lineNumber":687,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":688,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":689,"author":{"gitId":"sopa301"},"content":" \"node_modules/escape-string-regexp\": {"},{"lineNumber":690,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\","},{"lineNumber":691,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\","},{"lineNumber":692,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg\u003d\u003d\","},{"lineNumber":693,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":694,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":695,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.8.0\""},{"lineNumber":696,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":697,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":698,"author":{"gitId":"sopa301"},"content":" \"node_modules/eventemitter2\": {"},{"lineNumber":699,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.4.7\","},{"lineNumber":700,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz\","},{"lineNumber":701,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg\u003d\u003d\","},{"lineNumber":702,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":703,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":704,"author":{"gitId":"sopa301"},"content":" \"node_modules/execa\": {"},{"lineNumber":705,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.0\","},{"lineNumber":706,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/execa/-/execa-4.1.0.tgz\","},{"lineNumber":707,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA\u003d\u003d\","},{"lineNumber":708,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":709,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":710,"author":{"gitId":"sopa301"},"content":" \"cross-spawn\": \"^7.0.0\","},{"lineNumber":711,"author":{"gitId":"sopa301"},"content":" \"get-stream\": \"^5.0.0\","},{"lineNumber":712,"author":{"gitId":"sopa301"},"content":" \"human-signals\": \"^1.1.1\","},{"lineNumber":713,"author":{"gitId":"sopa301"},"content":" \"is-stream\": \"^2.0.0\","},{"lineNumber":714,"author":{"gitId":"sopa301"},"content":" \"merge-stream\": \"^2.0.0\","},{"lineNumber":715,"author":{"gitId":"sopa301"},"content":" \"npm-run-path\": \"^4.0.0\","},{"lineNumber":716,"author":{"gitId":"sopa301"},"content":" \"onetime\": \"^5.1.0\","},{"lineNumber":717,"author":{"gitId":"sopa301"},"content":" \"signal-exit\": \"^3.0.2\","},{"lineNumber":718,"author":{"gitId":"sopa301"},"content":" \"strip-final-newline\": \"^2.0.0\""},{"lineNumber":719,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":720,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":721,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":722,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":723,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":724,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sindresorhus/execa?sponsor\u003d1\""},{"lineNumber":725,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":726,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":727,"author":{"gitId":"sopa301"},"content":" \"node_modules/executable\": {"},{"lineNumber":728,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.1\","},{"lineNumber":729,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/executable/-/executable-4.1.1.tgz\","},{"lineNumber":730,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg\u003d\u003d\","},{"lineNumber":731,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":732,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":733,"author":{"gitId":"sopa301"},"content":" \"pify\": \"^2.2.0\""},{"lineNumber":734,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":735,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":736,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":737,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":738,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":739,"author":{"gitId":"sopa301"},"content":" \"node_modules/extend\": {"},{"lineNumber":740,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.2\","},{"lineNumber":741,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/extend/-/extend-3.0.2.tgz\","},{"lineNumber":742,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g\u003d\u003d\","},{"lineNumber":743,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":744,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":745,"author":{"gitId":"sopa301"},"content":" \"node_modules/extract-zip\": {"},{"lineNumber":746,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\","},{"lineNumber":747,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz\","},{"lineNumber":748,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg\u003d\u003d\","},{"lineNumber":749,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":750,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":751,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.1.1\","},{"lineNumber":752,"author":{"gitId":"sopa301"},"content":" \"get-stream\": \"^5.1.0\","},{"lineNumber":753,"author":{"gitId":"sopa301"},"content":" \"yauzl\": \"^2.10.0\""},{"lineNumber":754,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":755,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":756,"author":{"gitId":"sopa301"},"content":" \"extract-zip\": \"cli.js\""},{"lineNumber":757,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":758,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":759,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.17.0\""},{"lineNumber":760,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":761,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {"},{"lineNumber":762,"author":{"gitId":"sopa301"},"content":" \"@types/yauzl\": \"^2.9.1\""},{"lineNumber":763,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":764,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":765,"author":{"gitId":"sopa301"},"content":" \"node_modules/extsprintf\": {"},{"lineNumber":766,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.0\","},{"lineNumber":767,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz\","},{"lineNumber":768,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g\u003d\u003d\","},{"lineNumber":769,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":770,"author":{"gitId":"sopa301"},"content":" \"engines\": ["},{"lineNumber":771,"author":{"gitId":"sopa301"},"content":" \"node \u003e\u003d0.6.0\""},{"lineNumber":772,"author":{"gitId":"sopa301"},"content":" ]"},{"lineNumber":773,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":774,"author":{"gitId":"sopa301"},"content":" \"node_modules/fd-slicer\": {"},{"lineNumber":775,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.0\","},{"lineNumber":776,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz\","},{"lineNumber":777,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g\u003d\u003d\","},{"lineNumber":778,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":779,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":780,"author":{"gitId":"sopa301"},"content":" \"pend\": \"~1.2.0\""},{"lineNumber":781,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":782,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":783,"author":{"gitId":"sopa301"},"content":" \"node_modules/figures\": {"},{"lineNumber":784,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.0\","},{"lineNumber":785,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/figures/-/figures-3.2.0.tgz\","},{"lineNumber":786,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg\u003d\u003d\","},{"lineNumber":787,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":788,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":789,"author":{"gitId":"sopa301"},"content":" \"escape-string-regexp\": \"^1.0.5\""},{"lineNumber":790,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":791,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":792,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":793,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":794,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":795,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":796,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":797,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":798,"author":{"gitId":"sopa301"},"content":" \"node_modules/forever-agent\": {"},{"lineNumber":799,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.1\","},{"lineNumber":800,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz\","},{"lineNumber":801,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw\u003d\u003d\","},{"lineNumber":802,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":803,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":804,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\""},{"lineNumber":805,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":806,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":807,"author":{"gitId":"sopa301"},"content":" \"node_modules/form-data\": {"},{"lineNumber":808,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.3\","},{"lineNumber":809,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz\","},{"lineNumber":810,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ\u003d\u003d\","},{"lineNumber":811,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":812,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":813,"author":{"gitId":"sopa301"},"content":" \"asynckit\": \"^0.4.0\","},{"lineNumber":814,"author":{"gitId":"sopa301"},"content":" \"combined-stream\": \"^1.0.6\","},{"lineNumber":815,"author":{"gitId":"sopa301"},"content":" \"mime-types\": \"^2.1.12\""},{"lineNumber":816,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":817,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":818,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.12\""},{"lineNumber":819,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":820,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":821,"author":{"gitId":"sopa301"},"content":" \"node_modules/fs-extra\": {"},{"lineNumber":822,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.1.0\","},{"lineNumber":823,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\","},{"lineNumber":824,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ\u003d\u003d\","},{"lineNumber":825,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":826,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":827,"author":{"gitId":"sopa301"},"content":" \"at-least-node\": \"^1.0.0\","},{"lineNumber":828,"author":{"gitId":"sopa301"},"content":" \"graceful-fs\": \"^4.2.0\","},{"lineNumber":829,"author":{"gitId":"sopa301"},"content":" \"jsonfile\": \"^6.0.1\","},{"lineNumber":830,"author":{"gitId":"sopa301"},"content":" \"universalify\": \"^2.0.0\""},{"lineNumber":831,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":832,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":833,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":834,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":835,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":836,"author":{"gitId":"sopa301"},"content":" \"node_modules/fs-extra/node_modules/universalify\": {"},{"lineNumber":837,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":838,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\","},{"lineNumber":839,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\","},{"lineNumber":840,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":841,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":842,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.0.0\""},{"lineNumber":843,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":844,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":845,"author":{"gitId":"sopa301"},"content":" \"node_modules/fs.realpath\": {"},{"lineNumber":846,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":847,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\","},{"lineNumber":848,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw\u003d\u003d\","},{"lineNumber":849,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":850,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":851,"author":{"gitId":"sopa301"},"content":" \"node_modules/function-bind\": {"},{"lineNumber":852,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.1\","},{"lineNumber":853,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz\","},{"lineNumber":854,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A\u003d\u003d\","},{"lineNumber":855,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":856,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":857,"author":{"gitId":"sopa301"},"content":" \"node_modules/get-intrinsic\": {"},{"lineNumber":858,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.1\","},{"lineNumber":859,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz\","},{"lineNumber":860,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw\u003d\u003d\","},{"lineNumber":861,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":862,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":863,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.1\","},{"lineNumber":864,"author":{"gitId":"sopa301"},"content":" \"has\": \"^1.0.3\","},{"lineNumber":865,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.1\","},{"lineNumber":866,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\""},{"lineNumber":867,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":868,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":869,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":870,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":871,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":872,"author":{"gitId":"sopa301"},"content":" \"node_modules/get-stream\": {"},{"lineNumber":873,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.2.0\","},{"lineNumber":874,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz\","},{"lineNumber":875,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA\u003d\u003d\","},{"lineNumber":876,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":877,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":878,"author":{"gitId":"sopa301"},"content":" \"pump\": \"^3.0.0\""},{"lineNumber":879,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":880,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":881,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":882,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":883,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":884,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":885,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":886,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":887,"author":{"gitId":"sopa301"},"content":" \"node_modules/getos\": {"},{"lineNumber":888,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.1\","},{"lineNumber":889,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/getos/-/getos-3.2.1.tgz\","},{"lineNumber":890,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q\u003d\u003d\","},{"lineNumber":891,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":892,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":893,"author":{"gitId":"sopa301"},"content":" \"async\": \"^3.2.0\""},{"lineNumber":894,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":895,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":896,"author":{"gitId":"sopa301"},"content":" \"node_modules/getpass\": {"},{"lineNumber":897,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.7\","},{"lineNumber":898,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz\","},{"lineNumber":899,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng\u003d\u003d\","},{"lineNumber":900,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":901,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":902,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\""},{"lineNumber":903,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":904,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":905,"author":{"gitId":"sopa301"},"content":" \"node_modules/glob\": {"},{"lineNumber":906,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.3\","},{"lineNumber":907,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.2.3.tgz\","},{"lineNumber":908,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q\u003d\u003d\","},{"lineNumber":909,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":910,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":911,"author":{"gitId":"sopa301"},"content":" \"fs.realpath\": \"^1.0.0\","},{"lineNumber":912,"author":{"gitId":"sopa301"},"content":" \"inflight\": \"^1.0.4\","},{"lineNumber":913,"author":{"gitId":"sopa301"},"content":" \"inherits\": \"2\","},{"lineNumber":914,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^3.1.1\","},{"lineNumber":915,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.3.0\","},{"lineNumber":916,"author":{"gitId":"sopa301"},"content":" \"path-is-absolute\": \"^1.0.0\""},{"lineNumber":917,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":918,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":919,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\""},{"lineNumber":920,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":921,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":922,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\""},{"lineNumber":923,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":924,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":925,"author":{"gitId":"sopa301"},"content":" \"node_modules/global-dirs\": {"},{"lineNumber":926,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\","},{"lineNumber":927,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz\","},{"lineNumber":928,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA\u003d\u003d\","},{"lineNumber":929,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":930,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":931,"author":{"gitId":"sopa301"},"content":" \"ini\": \"2.0.0\""},{"lineNumber":932,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":933,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":934,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":935,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":936,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":937,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":938,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":939,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":940,"author":{"gitId":"sopa301"},"content":" \"node_modules/graceful-fs\": {"},{"lineNumber":941,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.11\","},{"lineNumber":942,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\","},{"lineNumber":943,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ\u003d\u003d\","},{"lineNumber":944,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":945,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":946,"author":{"gitId":"sopa301"},"content":" \"node_modules/has\": {"},{"lineNumber":947,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.4\","},{"lineNumber":948,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has/-/has-1.0.4.tgz\","},{"lineNumber":949,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ\u003d\u003d\","},{"lineNumber":950,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":951,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":952,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4.0\""},{"lineNumber":953,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":954,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":955,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-flag\": {"},{"lineNumber":956,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":957,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\","},{"lineNumber":958,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\","},{"lineNumber":959,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":960,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":961,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":962,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":963,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":964,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-proto\": {"},{"lineNumber":965,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\","},{"lineNumber":966,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz\","},{"lineNumber":967,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg\u003d\u003d\","},{"lineNumber":968,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":969,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":970,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":971,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":972,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":973,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":974,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":975,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":976,"author":{"gitId":"sopa301"},"content":" \"node_modules/has-symbols\": {"},{"lineNumber":977,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\","},{"lineNumber":978,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz\","},{"lineNumber":979,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A\u003d\u003d\","},{"lineNumber":980,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":981,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":982,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":983,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":984,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":985,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":986,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":987,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":988,"author":{"gitId":"sopa301"},"content":" \"node_modules/http-signature\": {"},{"lineNumber":989,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.6\","},{"lineNumber":990,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz\","},{"lineNumber":991,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw\u003d\u003d\","},{"lineNumber":992,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":993,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":994,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\","},{"lineNumber":995,"author":{"gitId":"sopa301"},"content":" \"jsprim\": \"^2.0.2\","},{"lineNumber":996,"author":{"gitId":"sopa301"},"content":" \"sshpk\": \"^1.14.1\""},{"lineNumber":997,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":998,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":999,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10\""},{"lineNumber":1000,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1001,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1002,"author":{"gitId":"sopa301"},"content":" \"node_modules/human-signals\": {"},{"lineNumber":1003,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.1\","},{"lineNumber":1004,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz\","},{"lineNumber":1005,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw\u003d\u003d\","},{"lineNumber":1006,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1007,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1008,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.12.0\""},{"lineNumber":1009,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1010,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1011,"author":{"gitId":"sopa301"},"content":" \"node_modules/ieee754\": {"},{"lineNumber":1012,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.1\","},{"lineNumber":1013,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz\","},{"lineNumber":1014,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA\u003d\u003d\","},{"lineNumber":1015,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1016,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":1017,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1018,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":1019,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":1020,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1021,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1022,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\","},{"lineNumber":1023,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":1024,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1025,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1026,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\","},{"lineNumber":1027,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":1028,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1029,"author":{"gitId":"sopa301"},"content":" ]"},{"lineNumber":1030,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1031,"author":{"gitId":"sopa301"},"content":" \"node_modules/indent-string\": {"},{"lineNumber":1032,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":1033,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\","},{"lineNumber":1034,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg\u003d\u003d\","},{"lineNumber":1035,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1036,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1037,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1038,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1039,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1040,"author":{"gitId":"sopa301"},"content":" \"node_modules/inflight\": {"},{"lineNumber":1041,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.6\","},{"lineNumber":1042,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\","},{"lineNumber":1043,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA\u003d\u003d\","},{"lineNumber":1044,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1045,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1046,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.3.0\","},{"lineNumber":1047,"author":{"gitId":"sopa301"},"content":" \"wrappy\": \"1\""},{"lineNumber":1048,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1049,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1050,"author":{"gitId":"sopa301"},"content":" \"node_modules/inherits\": {"},{"lineNumber":1051,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.4\","},{"lineNumber":1052,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\","},{"lineNumber":1053,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ\u003d\u003d\","},{"lineNumber":1054,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1055,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1056,"author":{"gitId":"sopa301"},"content":" \"node_modules/ini\": {"},{"lineNumber":1057,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":1058,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ini/-/ini-2.0.0.tgz\","},{"lineNumber":1059,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA\u003d\u003d\","},{"lineNumber":1060,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1061,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1062,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1063,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1064,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1065,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-ci\": {"},{"lineNumber":1066,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\","},{"lineNumber":1067,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz\","},{"lineNumber":1068,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ\u003d\u003d\","},{"lineNumber":1069,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1070,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1071,"author":{"gitId":"sopa301"},"content":" \"ci-info\": \"^3.2.0\""},{"lineNumber":1072,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1073,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":1074,"author":{"gitId":"sopa301"},"content":" \"is-ci\": \"bin.js\""},{"lineNumber":1075,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1076,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1077,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-fullwidth-code-point\": {"},{"lineNumber":1078,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\","},{"lineNumber":1079,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\","},{"lineNumber":1080,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg\u003d\u003d\","},{"lineNumber":1081,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1082,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1083,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1084,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1085,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1086,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-installed-globally\": {"},{"lineNumber":1087,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.0\","},{"lineNumber":1088,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz\","},{"lineNumber":1089,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ\u003d\u003d\","},{"lineNumber":1090,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1091,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1092,"author":{"gitId":"sopa301"},"content":" \"global-dirs\": \"^3.0.0\","},{"lineNumber":1093,"author":{"gitId":"sopa301"},"content":" \"is-path-inside\": \"^3.0.2\""},{"lineNumber":1094,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1095,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1096,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1097,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1098,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1099,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1100,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1101,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1102,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-path-inside\": {"},{"lineNumber":1103,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.3\","},{"lineNumber":1104,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\","},{"lineNumber":1105,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ\u003d\u003d\","},{"lineNumber":1106,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1107,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1108,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1109,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1110,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1111,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-stream\": {"},{"lineNumber":1112,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\","},{"lineNumber":1113,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz\","},{"lineNumber":1114,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg\u003d\u003d\","},{"lineNumber":1115,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1116,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1117,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1118,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1119,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1120,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1121,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1122,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1123,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-typedarray\": {"},{"lineNumber":1124,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":1125,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\","},{"lineNumber":1126,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA\u003d\u003d\","},{"lineNumber":1127,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1128,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1129,"author":{"gitId":"sopa301"},"content":" \"node_modules/is-unicode-supported\": {"},{"lineNumber":1130,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.0\","},{"lineNumber":1131,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz\","},{"lineNumber":1132,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw\u003d\u003d\","},{"lineNumber":1133,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1134,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1135,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1136,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1137,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1138,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1139,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1140,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1141,"author":{"gitId":"sopa301"},"content":" \"node_modules/isexe\": {"},{"lineNumber":1142,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":1143,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\","},{"lineNumber":1144,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw\u003d\u003d\","},{"lineNumber":1145,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1146,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1147,"author":{"gitId":"sopa301"},"content":" \"node_modules/isstream\": {"},{"lineNumber":1148,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.2\","},{"lineNumber":1149,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz\","},{"lineNumber":1150,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g\u003d\u003d\","},{"lineNumber":1151,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1152,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1153,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsbn\": {"},{"lineNumber":1154,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.1\","},{"lineNumber":1155,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz\","},{"lineNumber":1156,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg\u003d\u003d\","},{"lineNumber":1157,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1158,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1159,"author":{"gitId":"sopa301"},"content":" \"node_modules/json-schema\": {"},{"lineNumber":1160,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.4.0\","},{"lineNumber":1161,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz\","},{"lineNumber":1162,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA\u003d\u003d\","},{"lineNumber":1163,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1164,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1165,"author":{"gitId":"sopa301"},"content":" \"node_modules/json-stringify-safe\": {"},{"lineNumber":1166,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.1\","},{"lineNumber":1167,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz\","},{"lineNumber":1168,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA\u003d\u003d\","},{"lineNumber":1169,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1170,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1171,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsonfile\": {"},{"lineNumber":1172,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.1.0\","},{"lineNumber":1173,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz\","},{"lineNumber":1174,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ\u003d\u003d\","},{"lineNumber":1175,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1176,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1177,"author":{"gitId":"sopa301"},"content":" \"universalify\": \"^2.0.0\""},{"lineNumber":1178,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1179,"author":{"gitId":"sopa301"},"content":" \"optionalDependencies\": {"},{"lineNumber":1180,"author":{"gitId":"sopa301"},"content":" \"graceful-fs\": \"^4.1.6\""},{"lineNumber":1181,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1182,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1183,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsonfile/node_modules/universalify\": {"},{"lineNumber":1184,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":1185,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\","},{"lineNumber":1186,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\","},{"lineNumber":1187,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1188,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1189,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 10.0.0\""},{"lineNumber":1190,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1191,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1192,"author":{"gitId":"sopa301"},"content":" \"node_modules/jsprim\": {"},{"lineNumber":1193,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\","},{"lineNumber":1194,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz\","},{"lineNumber":1195,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ\u003d\u003d\","},{"lineNumber":1196,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1197,"author":{"gitId":"sopa301"},"content":" \"engines\": ["},{"lineNumber":1198,"author":{"gitId":"sopa301"},"content":" \"node \u003e\u003d0.6.0\""},{"lineNumber":1199,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":1200,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1201,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"1.0.0\","},{"lineNumber":1202,"author":{"gitId":"sopa301"},"content":" \"extsprintf\": \"1.3.0\","},{"lineNumber":1203,"author":{"gitId":"sopa301"},"content":" \"json-schema\": \"0.4.0\","},{"lineNumber":1204,"author":{"gitId":"sopa301"},"content":" \"verror\": \"1.10.0\""},{"lineNumber":1205,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1206,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1207,"author":{"gitId":"sopa301"},"content":" \"node_modules/lazy-ass\": {"},{"lineNumber":1208,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.6.0\","},{"lineNumber":1209,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz\","},{"lineNumber":1210,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw\u003d\u003d\","},{"lineNumber":1211,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1212,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1213,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e 0.8\""},{"lineNumber":1214,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1215,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1216,"author":{"gitId":"sopa301"},"content":" \"node_modules/listr2\": {"},{"lineNumber":1217,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.14.0\","},{"lineNumber":1218,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz\","},{"lineNumber":1219,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g\u003d\u003d\","},{"lineNumber":1220,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1221,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1222,"author":{"gitId":"sopa301"},"content":" \"cli-truncate\": \"^2.1.0\","},{"lineNumber":1223,"author":{"gitId":"sopa301"},"content":" \"colorette\": \"^2.0.16\","},{"lineNumber":1224,"author":{"gitId":"sopa301"},"content":" \"log-update\": \"^4.0.0\","},{"lineNumber":1225,"author":{"gitId":"sopa301"},"content":" \"p-map\": \"^4.0.0\","},{"lineNumber":1226,"author":{"gitId":"sopa301"},"content":" \"rfdc\": \"^1.3.0\","},{"lineNumber":1227,"author":{"gitId":"sopa301"},"content":" \"rxjs\": \"^7.5.1\","},{"lineNumber":1228,"author":{"gitId":"sopa301"},"content":" \"through\": \"^2.3.8\","},{"lineNumber":1229,"author":{"gitId":"sopa301"},"content":" \"wrap-ansi\": \"^7.0.0\""},{"lineNumber":1230,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1231,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1232,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10.0.0\""},{"lineNumber":1233,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1234,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":1235,"author":{"gitId":"sopa301"},"content":" \"enquirer\": \"\u003e\u003d 2.3.0 \u003c 3\""},{"lineNumber":1236,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1237,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":1238,"author":{"gitId":"sopa301"},"content":" \"enquirer\": {"},{"lineNumber":1239,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":1240,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1241,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1242,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1243,"author":{"gitId":"sopa301"},"content":" \"node_modules/lodash\": {"},{"lineNumber":1244,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.17.21\","},{"lineNumber":1245,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\","},{"lineNumber":1246,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg\u003d\u003d\","},{"lineNumber":1247,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1248,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1249,"author":{"gitId":"sopa301"},"content":" \"node_modules/lodash.once\": {"},{"lineNumber":1250,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.1\","},{"lineNumber":1251,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz\","},{"lineNumber":1252,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg\u003d\u003d\","},{"lineNumber":1253,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1254,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1255,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-symbols\": {"},{"lineNumber":1256,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.0\","},{"lineNumber":1257,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz\","},{"lineNumber":1258,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg\u003d\u003d\","},{"lineNumber":1259,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1260,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1261,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":1262,"author":{"gitId":"sopa301"},"content":" \"is-unicode-supported\": \"^0.1.0\""},{"lineNumber":1263,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1264,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1265,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1266,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1267,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1268,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1269,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1270,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1271,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-update\": {"},{"lineNumber":1272,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":1273,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz\","},{"lineNumber":1274,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg\u003d\u003d\","},{"lineNumber":1275,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1276,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1277,"author":{"gitId":"sopa301"},"content":" \"ansi-escapes\": \"^4.3.0\","},{"lineNumber":1278,"author":{"gitId":"sopa301"},"content":" \"cli-cursor\": \"^3.1.0\","},{"lineNumber":1279,"author":{"gitId":"sopa301"},"content":" \"slice-ansi\": \"^4.0.0\","},{"lineNumber":1280,"author":{"gitId":"sopa301"},"content":" \"wrap-ansi\": \"^6.2.0\""},{"lineNumber":1281,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1282,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1283,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1284,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1285,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1286,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1287,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1288,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1289,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-update/node_modules/slice-ansi\": {"},{"lineNumber":1290,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":1291,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz\","},{"lineNumber":1292,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ\u003d\u003d\","},{"lineNumber":1293,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1294,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1295,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":1296,"author":{"gitId":"sopa301"},"content":" \"astral-regex\": \"^2.0.0\","},{"lineNumber":1297,"author":{"gitId":"sopa301"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\""},{"lineNumber":1298,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1299,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1300,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1301,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1302,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1303,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/slice-ansi?sponsor\u003d1\""},{"lineNumber":1304,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1305,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1306,"author":{"gitId":"sopa301"},"content":" \"node_modules/log-update/node_modules/wrap-ansi\": {"},{"lineNumber":1307,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.2.0\","},{"lineNumber":1308,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz\","},{"lineNumber":1309,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA\u003d\u003d\","},{"lineNumber":1310,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1311,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1312,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":1313,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.1.0\","},{"lineNumber":1314,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.0\""},{"lineNumber":1315,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1316,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1317,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1318,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1319,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1320,"author":{"gitId":"sopa301"},"content":" \"node_modules/lru-cache\": {"},{"lineNumber":1321,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.0\","},{"lineNumber":1322,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\","},{"lineNumber":1323,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\","},{"lineNumber":1324,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1325,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1326,"author":{"gitId":"sopa301"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":1327,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1328,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1329,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1330,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1331,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1332,"author":{"gitId":"sopa301"},"content":" \"node_modules/merge-stream\": {"},{"lineNumber":1333,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":1334,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\","},{"lineNumber":1335,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w\u003d\u003d\","},{"lineNumber":1336,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1337,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1338,"author":{"gitId":"sopa301"},"content":" \"node_modules/mime-db\": {"},{"lineNumber":1339,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.52.0\","},{"lineNumber":1340,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz\","},{"lineNumber":1341,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg\u003d\u003d\","},{"lineNumber":1342,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1343,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1344,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":1345,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1346,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1347,"author":{"gitId":"sopa301"},"content":" \"node_modules/mime-types\": {"},{"lineNumber":1348,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.35\","},{"lineNumber":1349,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz\","},{"lineNumber":1350,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw\u003d\u003d\","},{"lineNumber":1351,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1352,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1353,"author":{"gitId":"sopa301"},"content":" \"mime-db\": \"1.52.0\""},{"lineNumber":1354,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1355,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1356,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":1357,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1358,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1359,"author":{"gitId":"sopa301"},"content":" \"node_modules/mimic-fn\": {"},{"lineNumber":1360,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\","},{"lineNumber":1361,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz\","},{"lineNumber":1362,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg\u003d\u003d\","},{"lineNumber":1363,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1364,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1365,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1366,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1367,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1368,"author":{"gitId":"sopa301"},"content":" \"node_modules/minimatch\": {"},{"lineNumber":1369,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.2\","},{"lineNumber":1370,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\","},{"lineNumber":1371,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw\u003d\u003d\","},{"lineNumber":1372,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1373,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1374,"author":{"gitId":"sopa301"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":1375,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1376,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1377,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\""},{"lineNumber":1378,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1379,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1380,"author":{"gitId":"sopa301"},"content":" \"node_modules/minimist\": {"},{"lineNumber":1381,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.8\","},{"lineNumber":1382,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\","},{"lineNumber":1383,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA\u003d\u003d\","},{"lineNumber":1384,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1385,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1386,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":1387,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1388,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1389,"author":{"gitId":"sopa301"},"content":" \"node_modules/ms\": {"},{"lineNumber":1390,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.3\","},{"lineNumber":1391,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\","},{"lineNumber":1392,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA\u003d\u003d\","},{"lineNumber":1393,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1394,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1395,"author":{"gitId":"sopa301"},"content":" \"node_modules/npm-run-path\": {"},{"lineNumber":1396,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.1\","},{"lineNumber":1397,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz\","},{"lineNumber":1398,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw\u003d\u003d\","},{"lineNumber":1399,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1400,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1401,"author":{"gitId":"sopa301"},"content":" \"path-key\": \"^3.0.0\""},{"lineNumber":1402,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1403,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1404,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1405,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1406,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1407,"author":{"gitId":"sopa301"},"content":" \"node_modules/object-inspect\": {"},{"lineNumber":1408,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.12.3\","},{"lineNumber":1409,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz\","},{"lineNumber":1410,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g\u003d\u003d\","},{"lineNumber":1411,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1412,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1413,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":1414,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1415,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1416,"author":{"gitId":"sopa301"},"content":" \"node_modules/once\": {"},{"lineNumber":1417,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.0\","},{"lineNumber":1418,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\","},{"lineNumber":1419,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w\u003d\u003d\","},{"lineNumber":1420,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1421,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1422,"author":{"gitId":"sopa301"},"content":" \"wrappy\": \"1\""},{"lineNumber":1423,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1424,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1425,"author":{"gitId":"sopa301"},"content":" \"node_modules/onetime\": {"},{"lineNumber":1426,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.1.2\","},{"lineNumber":1427,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz\","},{"lineNumber":1428,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg\u003d\u003d\","},{"lineNumber":1429,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1430,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1431,"author":{"gitId":"sopa301"},"content":" \"mimic-fn\": \"^2.1.0\""},{"lineNumber":1432,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1433,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1434,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1435,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1436,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1437,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1438,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1439,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1440,"author":{"gitId":"sopa301"},"content":" \"node_modules/ospath\": {"},{"lineNumber":1441,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.2\","},{"lineNumber":1442,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz\","},{"lineNumber":1443,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA\u003d\u003d\","},{"lineNumber":1444,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1445,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1446,"author":{"gitId":"sopa301"},"content":" \"node_modules/p-map\": {"},{"lineNumber":1447,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":1448,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz\","},{"lineNumber":1449,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ\u003d\u003d\","},{"lineNumber":1450,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1451,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1452,"author":{"gitId":"sopa301"},"content":" \"aggregate-error\": \"^3.0.0\""},{"lineNumber":1453,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1454,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1455,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1456,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1457,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1458,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1459,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1460,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1461,"author":{"gitId":"sopa301"},"content":" \"node_modules/path-is-absolute\": {"},{"lineNumber":1462,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\","},{"lineNumber":1463,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\","},{"lineNumber":1464,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg\u003d\u003d\","},{"lineNumber":1465,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1466,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1467,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":1468,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1469,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1470,"author":{"gitId":"sopa301"},"content":" \"node_modules/path-key\": {"},{"lineNumber":1471,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.1\","},{"lineNumber":1472,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\","},{"lineNumber":1473,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q\u003d\u003d\","},{"lineNumber":1474,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1475,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1476,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1477,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1478,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1479,"author":{"gitId":"sopa301"},"content":" \"node_modules/pend\": {"},{"lineNumber":1480,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.0\","},{"lineNumber":1481,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pend/-/pend-1.2.0.tgz\","},{"lineNumber":1482,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg\u003d\u003d\","},{"lineNumber":1483,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1484,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1485,"author":{"gitId":"sopa301"},"content":" \"node_modules/performance-now\": {"},{"lineNumber":1486,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\","},{"lineNumber":1487,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\","},{"lineNumber":1488,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow\u003d\u003d\","},{"lineNumber":1489,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1490,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1491,"author":{"gitId":"sopa301"},"content":" \"node_modules/pify\": {"},{"lineNumber":1492,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.0\","},{"lineNumber":1493,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz\","},{"lineNumber":1494,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog\u003d\u003d\","},{"lineNumber":1495,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1496,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1497,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":1498,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1499,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1500,"author":{"gitId":"sopa301"},"content":" \"node_modules/pretty-bytes\": {"},{"lineNumber":1501,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.6.0\","},{"lineNumber":1502,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz\","},{"lineNumber":1503,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg\u003d\u003d\","},{"lineNumber":1504,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1505,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1506,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1507,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1508,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1509,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1510,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1511,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1512,"author":{"gitId":"sopa301"},"content":" \"node_modules/process\": {"},{"lineNumber":1513,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.11.10\","},{"lineNumber":1514,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/process/-/process-0.11.10.tgz\","},{"lineNumber":1515,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A\u003d\u003d\","},{"lineNumber":1516,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1517,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1518,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6.0\""},{"lineNumber":1519,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1520,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1521,"author":{"gitId":"sopa301"},"content":" \"node_modules/proxy-from-env\": {"},{"lineNumber":1522,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":1523,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz\","},{"lineNumber":1524,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A\u003d\u003d\","},{"lineNumber":1525,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1526,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1527,"author":{"gitId":"sopa301"},"content":" \"node_modules/psl\": {"},{"lineNumber":1528,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.9.0\","},{"lineNumber":1529,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.9.0.tgz\","},{"lineNumber":1530,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag\u003d\u003d\","},{"lineNumber":1531,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1532,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1533,"author":{"gitId":"sopa301"},"content":" \"node_modules/pump\": {"},{"lineNumber":1534,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\","},{"lineNumber":1535,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/pump/-/pump-3.0.0.tgz\","},{"lineNumber":1536,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww\u003d\u003d\","},{"lineNumber":1537,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1538,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1539,"author":{"gitId":"sopa301"},"content":" \"end-of-stream\": \"^1.1.0\","},{"lineNumber":1540,"author":{"gitId":"sopa301"},"content":" \"once\": \"^1.3.1\""},{"lineNumber":1541,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1542,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1543,"author":{"gitId":"sopa301"},"content":" \"node_modules/punycode\": {"},{"lineNumber":1544,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.0\","},{"lineNumber":1545,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz\","},{"lineNumber":1546,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA\u003d\u003d\","},{"lineNumber":1547,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1548,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1549,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1550,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1551,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1552,"author":{"gitId":"sopa301"},"content":" \"node_modules/qs\": {"},{"lineNumber":1553,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.10.4\","},{"lineNumber":1554,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.10.4.tgz\","},{"lineNumber":1555,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g\u003d\u003d\","},{"lineNumber":1556,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1557,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1558,"author":{"gitId":"sopa301"},"content":" \"side-channel\": \"^1.0.4\""},{"lineNumber":1559,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1560,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1561,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.6\""},{"lineNumber":1562,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1563,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1564,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":1565,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1566,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1567,"author":{"gitId":"sopa301"},"content":" \"node_modules/querystringify\": {"},{"lineNumber":1568,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.0\","},{"lineNumber":1569,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz\","},{"lineNumber":1570,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ\u003d\u003d\","},{"lineNumber":1571,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1572,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1573,"author":{"gitId":"sopa301"},"content":" \"node_modules/request-progress\": {"},{"lineNumber":1574,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\","},{"lineNumber":1575,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz\","},{"lineNumber":1576,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg\u003d\u003d\","},{"lineNumber":1577,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1578,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1579,"author":{"gitId":"sopa301"},"content":" \"throttleit\": \"^1.0.0\""},{"lineNumber":1580,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1581,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1582,"author":{"gitId":"sopa301"},"content":" \"node_modules/requires-port\": {"},{"lineNumber":1583,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":1584,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz\","},{"lineNumber":1585,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ\u003d\u003d\","},{"lineNumber":1586,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1587,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1588,"author":{"gitId":"sopa301"},"content":" \"node_modules/restore-cursor\": {"},{"lineNumber":1589,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.0\","},{"lineNumber":1590,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz\","},{"lineNumber":1591,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA\u003d\u003d\","},{"lineNumber":1592,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1593,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1594,"author":{"gitId":"sopa301"},"content":" \"onetime\": \"^5.1.0\","},{"lineNumber":1595,"author":{"gitId":"sopa301"},"content":" \"signal-exit\": \"^3.0.2\""},{"lineNumber":1596,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1597,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1598,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1599,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1600,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1601,"author":{"gitId":"sopa301"},"content":" \"node_modules/rfdc\": {"},{"lineNumber":1602,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.0\","},{"lineNumber":1603,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz\","},{"lineNumber":1604,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA\u003d\u003d\","},{"lineNumber":1605,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1606,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1607,"author":{"gitId":"sopa301"},"content":" \"node_modules/rimraf\": {"},{"lineNumber":1608,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.2\","},{"lineNumber":1609,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\","},{"lineNumber":1610,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA\u003d\u003d\","},{"lineNumber":1611,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1612,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1613,"author":{"gitId":"sopa301"},"content":" \"glob\": \"^7.1.3\""},{"lineNumber":1614,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1615,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":1616,"author":{"gitId":"sopa301"},"content":" \"rimraf\": \"bin.js\""},{"lineNumber":1617,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1618,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1619,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\""},{"lineNumber":1620,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1621,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1622,"author":{"gitId":"sopa301"},"content":" \"node_modules/rxjs\": {"},{"lineNumber":1623,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.8.1\","},{"lineNumber":1624,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz\","},{"lineNumber":1625,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg\u003d\u003d\","},{"lineNumber":1626,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1627,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1628,"author":{"gitId":"sopa301"},"content":" \"tslib\": \"^2.1.0\""},{"lineNumber":1629,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1630,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1631,"author":{"gitId":"sopa301"},"content":" \"node_modules/safe-buffer\": {"},{"lineNumber":1632,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.2.1\","},{"lineNumber":1633,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz\","},{"lineNumber":1634,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ\u003d\u003d\","},{"lineNumber":1635,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1636,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":1637,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1638,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":1639,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":1640,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1641,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1642,"author":{"gitId":"sopa301"},"content":" \"type\": \"patreon\","},{"lineNumber":1643,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":1644,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1645,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1646,"author":{"gitId":"sopa301"},"content":" \"type\": \"consulting\","},{"lineNumber":1647,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":1648,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1649,"author":{"gitId":"sopa301"},"content":" ]"},{"lineNumber":1650,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1651,"author":{"gitId":"sopa301"},"content":" \"node_modules/safer-buffer\": {"},{"lineNumber":1652,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.2\","},{"lineNumber":1653,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\","},{"lineNumber":1654,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg\u003d\u003d\","},{"lineNumber":1655,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1656,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1657,"author":{"gitId":"sopa301"},"content":" \"node_modules/semver\": {"},{"lineNumber":1658,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.5.4\","},{"lineNumber":1659,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.5.4.tgz\","},{"lineNumber":1660,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA\u003d\u003d\","},{"lineNumber":1661,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1662,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1663,"author":{"gitId":"sopa301"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":1664,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1665,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":1666,"author":{"gitId":"sopa301"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":1667,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1668,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1669,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1670,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1671,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1672,"author":{"gitId":"sopa301"},"content":" \"node_modules/shebang-command\": {"},{"lineNumber":1673,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":1674,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\","},{"lineNumber":1675,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA\u003d\u003d\","},{"lineNumber":1676,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1677,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1678,"author":{"gitId":"sopa301"},"content":" \"shebang-regex\": \"^3.0.0\""},{"lineNumber":1679,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1680,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1681,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1682,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1683,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1684,"author":{"gitId":"sopa301"},"content":" \"node_modules/shebang-regex\": {"},{"lineNumber":1685,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\","},{"lineNumber":1686,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\","},{"lineNumber":1687,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A\u003d\u003d\","},{"lineNumber":1688,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1689,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1690,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1691,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1692,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1693,"author":{"gitId":"sopa301"},"content":" \"node_modules/side-channel\": {"},{"lineNumber":1694,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.4\","},{"lineNumber":1695,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz\","},{"lineNumber":1696,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw\u003d\u003d\","},{"lineNumber":1697,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1698,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1699,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.0\","},{"lineNumber":1700,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.0.2\","},{"lineNumber":1701,"author":{"gitId":"sopa301"},"content":" \"object-inspect\": \"^1.9.0\""},{"lineNumber":1702,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1703,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1704,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":1705,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1706,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1707,"author":{"gitId":"sopa301"},"content":" \"node_modules/signal-exit\": {"},{"lineNumber":1708,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.7\","},{"lineNumber":1709,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz\","},{"lineNumber":1710,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ\u003d\u003d\","},{"lineNumber":1711,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1712,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1713,"author":{"gitId":"sopa301"},"content":" \"node_modules/slice-ansi\": {"},{"lineNumber":1714,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\","},{"lineNumber":1715,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz\","},{"lineNumber":1716,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ\u003d\u003d\","},{"lineNumber":1717,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1718,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1719,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":1720,"author":{"gitId":"sopa301"},"content":" \"astral-regex\": \"^2.0.0\","},{"lineNumber":1721,"author":{"gitId":"sopa301"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\""},{"lineNumber":1722,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1723,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1724,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1725,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1726,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1727,"author":{"gitId":"sopa301"},"content":" \"node_modules/sshpk\": {"},{"lineNumber":1728,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.17.0\","},{"lineNumber":1729,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz\","},{"lineNumber":1730,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ\u003d\u003d\","},{"lineNumber":1731,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1732,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1733,"author":{"gitId":"sopa301"},"content":" \"asn1\": \"~0.2.3\","},{"lineNumber":1734,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\","},{"lineNumber":1735,"author":{"gitId":"sopa301"},"content":" \"bcrypt-pbkdf\": \"^1.0.0\","},{"lineNumber":1736,"author":{"gitId":"sopa301"},"content":" \"dashdash\": \"^1.12.0\","},{"lineNumber":1737,"author":{"gitId":"sopa301"},"content":" \"ecc-jsbn\": \"~0.1.1\","},{"lineNumber":1738,"author":{"gitId":"sopa301"},"content":" \"getpass\": \"^0.1.1\","},{"lineNumber":1739,"author":{"gitId":"sopa301"},"content":" \"jsbn\": \"~0.1.0\","},{"lineNumber":1740,"author":{"gitId":"sopa301"},"content":" \"safer-buffer\": \"^2.0.2\","},{"lineNumber":1741,"author":{"gitId":"sopa301"},"content":" \"tweetnacl\": \"~0.14.0\""},{"lineNumber":1742,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1743,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":1744,"author":{"gitId":"sopa301"},"content":" \"sshpk-conv\": \"bin/sshpk-conv\","},{"lineNumber":1745,"author":{"gitId":"sopa301"},"content":" \"sshpk-sign\": \"bin/sshpk-sign\","},{"lineNumber":1746,"author":{"gitId":"sopa301"},"content":" \"sshpk-verify\": \"bin/sshpk-verify\""},{"lineNumber":1747,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1748,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1749,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":1750,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1751,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1752,"author":{"gitId":"sopa301"},"content":" \"node_modules/string-width\": {"},{"lineNumber":1753,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.3\","},{"lineNumber":1754,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\","},{"lineNumber":1755,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g\u003d\u003d\","},{"lineNumber":1756,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1757,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1758,"author":{"gitId":"sopa301"},"content":" \"emoji-regex\": \"^8.0.0\","},{"lineNumber":1759,"author":{"gitId":"sopa301"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\","},{"lineNumber":1760,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":1761,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1762,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1763,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1764,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1765,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1766,"author":{"gitId":"sopa301"},"content":" \"node_modules/strip-ansi\": {"},{"lineNumber":1767,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.1\","},{"lineNumber":1768,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\","},{"lineNumber":1769,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A\u003d\u003d\","},{"lineNumber":1770,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1771,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1772,"author":{"gitId":"sopa301"},"content":" \"ansi-regex\": \"^5.0.1\""},{"lineNumber":1773,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1774,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1775,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1776,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1777,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1778,"author":{"gitId":"sopa301"},"content":" \"node_modules/strip-final-newline\": {"},{"lineNumber":1779,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":1780,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz\","},{"lineNumber":1781,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA\u003d\u003d\","},{"lineNumber":1782,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1783,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1784,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1785,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1786,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1787,"author":{"gitId":"sopa301"},"content":" \"node_modules/supports-color\": {"},{"lineNumber":1788,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.1.1\","},{"lineNumber":1789,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\","},{"lineNumber":1790,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q\u003d\u003d\","},{"lineNumber":1791,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1792,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1793,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":1794,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1795,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1796,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1797,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1798,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1799,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\""},{"lineNumber":1800,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1801,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1802,"author":{"gitId":"sopa301"},"content":" \"node_modules/throttleit\": {"},{"lineNumber":1803,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":1804,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz\","},{"lineNumber":1805,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g\u003d\u003d\","},{"lineNumber":1806,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1807,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1808,"author":{"gitId":"sopa301"},"content":" \"node_modules/through\": {"},{"lineNumber":1809,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.8\","},{"lineNumber":1810,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/through/-/through-2.3.8.tgz\","},{"lineNumber":1811,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg\u003d\u003d\","},{"lineNumber":1812,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1813,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1814,"author":{"gitId":"sopa301"},"content":" \"node_modules/tmp\": {"},{"lineNumber":1815,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.1\","},{"lineNumber":1816,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz\","},{"lineNumber":1817,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ\u003d\u003d\","},{"lineNumber":1818,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1819,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1820,"author":{"gitId":"sopa301"},"content":" \"rimraf\": \"^3.0.0\""},{"lineNumber":1821,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1822,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1823,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8.17.0\""},{"lineNumber":1824,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1825,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1826,"author":{"gitId":"sopa301"},"content":" \"node_modules/tough-cookie\": {"},{"lineNumber":1827,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.3\","},{"lineNumber":1828,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz\","},{"lineNumber":1829,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw\u003d\u003d\","},{"lineNumber":1830,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1831,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1832,"author":{"gitId":"sopa301"},"content":" \"psl\": \"^1.1.33\","},{"lineNumber":1833,"author":{"gitId":"sopa301"},"content":" \"punycode\": \"^2.1.1\","},{"lineNumber":1834,"author":{"gitId":"sopa301"},"content":" \"universalify\": \"^0.2.0\","},{"lineNumber":1835,"author":{"gitId":"sopa301"},"content":" \"url-parse\": \"^1.5.3\""},{"lineNumber":1836,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1837,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1838,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1839,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1840,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1841,"author":{"gitId":"sopa301"},"content":" \"node_modules/tslib\": {"},{"lineNumber":1842,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.6.2\","},{"lineNumber":1843,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz\","},{"lineNumber":1844,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q\u003d\u003d\","},{"lineNumber":1845,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1846,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1847,"author":{"gitId":"sopa301"},"content":" \"node_modules/tunnel-agent\": {"},{"lineNumber":1848,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.0\","},{"lineNumber":1849,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz\","},{"lineNumber":1850,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w\u003d\u003d\","},{"lineNumber":1851,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1852,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1853,"author":{"gitId":"sopa301"},"content":" \"safe-buffer\": \"^5.0.1\""},{"lineNumber":1854,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1855,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1856,"author":{"gitId":"sopa301"},"content":" \"node\": \"*\""},{"lineNumber":1857,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1858,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1859,"author":{"gitId":"sopa301"},"content":" \"node_modules/tweetnacl\": {"},{"lineNumber":1860,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.14.5\","},{"lineNumber":1861,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz\","},{"lineNumber":1862,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA\u003d\u003d\","},{"lineNumber":1863,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1864,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1865,"author":{"gitId":"sopa301"},"content":" \"node_modules/type-fest\": {"},{"lineNumber":1866,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.21.3\","},{"lineNumber":1867,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz\","},{"lineNumber":1868,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w\u003d\u003d\","},{"lineNumber":1869,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1870,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1871,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1872,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1873,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1874,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1875,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1876,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1877,"author":{"gitId":"sopa301"},"content":" \"node_modules/universalify\": {"},{"lineNumber":1878,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.2.0\","},{"lineNumber":1879,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz\","},{"lineNumber":1880,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg\u003d\u003d\","},{"lineNumber":1881,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1882,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1883,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 4.0.0\""},{"lineNumber":1884,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1885,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1886,"author":{"gitId":"sopa301"},"content":" \"node_modules/untildify\": {"},{"lineNumber":1887,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":1888,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz\","},{"lineNumber":1889,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw\u003d\u003d\","},{"lineNumber":1890,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1891,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1892,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1893,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1894,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1895,"author":{"gitId":"sopa301"},"content":" \"node_modules/url-parse\": {"},{"lineNumber":1896,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.10\","},{"lineNumber":1897,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz\","},{"lineNumber":1898,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ\u003d\u003d\","},{"lineNumber":1899,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1900,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1901,"author":{"gitId":"sopa301"},"content":" \"querystringify\": \"^2.1.1\","},{"lineNumber":1902,"author":{"gitId":"sopa301"},"content":" \"requires-port\": \"^1.0.0\""},{"lineNumber":1903,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1904,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1905,"author":{"gitId":"sopa301"},"content":" \"node_modules/uuid\": {"},{"lineNumber":1906,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.3.2\","},{"lineNumber":1907,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz\","},{"lineNumber":1908,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg\u003d\u003d\","},{"lineNumber":1909,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1910,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":1911,"author":{"gitId":"sopa301"},"content":" \"uuid\": \"dist/bin/uuid\""},{"lineNumber":1912,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1913,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1914,"author":{"gitId":"sopa301"},"content":" \"node_modules/verror\": {"},{"lineNumber":1915,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.10.0\","},{"lineNumber":1916,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz\","},{"lineNumber":1917,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw\u003d\u003d\","},{"lineNumber":1918,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1919,"author":{"gitId":"sopa301"},"content":" \"engines\": ["},{"lineNumber":1920,"author":{"gitId":"sopa301"},"content":" \"node \u003e\u003d0.6.0\""},{"lineNumber":1921,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":1922,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1923,"author":{"gitId":"sopa301"},"content":" \"assert-plus\": \"^1.0.0\","},{"lineNumber":1924,"author":{"gitId":"sopa301"},"content":" \"core-util-is\": \"1.0.2\","},{"lineNumber":1925,"author":{"gitId":"sopa301"},"content":" \"extsprintf\": \"^1.2.0\""},{"lineNumber":1926,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1927,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1928,"author":{"gitId":"sopa301"},"content":" \"node_modules/which\": {"},{"lineNumber":1929,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\","},{"lineNumber":1930,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\","},{"lineNumber":1931,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA\u003d\u003d\","},{"lineNumber":1932,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1933,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1934,"author":{"gitId":"sopa301"},"content":" \"isexe\": \"^2.0.0\""},{"lineNumber":1935,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1936,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":1937,"author":{"gitId":"sopa301"},"content":" \"node-which\": \"bin/node-which\""},{"lineNumber":1938,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1939,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1940,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":1941,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1942,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1943,"author":{"gitId":"sopa301"},"content":" \"node_modules/wrap-ansi\": {"},{"lineNumber":1944,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.0\","},{"lineNumber":1945,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\","},{"lineNumber":1946,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q\u003d\u003d\","},{"lineNumber":1947,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1948,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1949,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":1950,"author":{"gitId":"sopa301"},"content":" \"string-width\": \"^4.1.0\","},{"lineNumber":1951,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^6.0.0\""},{"lineNumber":1952,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1953,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1954,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1955,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1956,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1957,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/wrap-ansi?sponsor\u003d1\""},{"lineNumber":1958,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1959,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1960,"author":{"gitId":"sopa301"},"content":" \"node_modules/wrappy\": {"},{"lineNumber":1961,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":1962,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\","},{"lineNumber":1963,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ\u003d\u003d\","},{"lineNumber":1964,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1965,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1966,"author":{"gitId":"sopa301"},"content":" \"node_modules/yallist\": {"},{"lineNumber":1967,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":1968,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\","},{"lineNumber":1969,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\","},{"lineNumber":1970,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":1971,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1972,"author":{"gitId":"sopa301"},"content":" \"node_modules/yauzl\": {"},{"lineNumber":1973,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.10.0\","},{"lineNumber":1974,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz\","},{"lineNumber":1975,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g\u003d\u003d\","},{"lineNumber":1976,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1977,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1978,"author":{"gitId":"sopa301"},"content":" \"buffer-crc32\": \"~0.2.3\","},{"lineNumber":1979,"author":{"gitId":"sopa301"},"content":" \"fd-slicer\": \"~1.1.0\""},{"lineNumber":1980,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1981,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1982,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1983,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1984,"author":{"gitId":"-"},"content":" \"@colors/colors\": {"},{"lineNumber":1985,"author":{"gitId":"-"},"content":" \"version\": \"1.5.0\","},{"lineNumber":1986,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz\","},{"lineNumber":1987,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ\u003d\u003d\","},{"lineNumber":1988,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1989,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":1990,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1991,"author":{"gitId":"-"},"content":" \"@cypress/request\": {"},{"lineNumber":1992,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":1993,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz\","},{"lineNumber":1994,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ\u003d\u003d\","},{"lineNumber":1995,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1996,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":1997,"author":{"gitId":"-"},"content":" \"aws-sign2\": \"~0.7.0\","},{"lineNumber":1998,"author":{"gitId":"-"},"content":" \"aws4\": \"^1.8.0\","},{"lineNumber":1999,"author":{"gitId":"-"},"content":" \"caseless\": \"~0.12.0\","},{"lineNumber":2000,"author":{"gitId":"-"},"content":" \"combined-stream\": \"~1.0.6\","},{"lineNumber":2001,"author":{"gitId":"-"},"content":" \"extend\": \"~3.0.2\","},{"lineNumber":2002,"author":{"gitId":"-"},"content":" \"forever-agent\": \"~0.6.1\","},{"lineNumber":2003,"author":{"gitId":"-"},"content":" \"form-data\": \"~2.3.2\","},{"lineNumber":2004,"author":{"gitId":"-"},"content":" \"http-signature\": \"~1.3.6\","},{"lineNumber":2005,"author":{"gitId":"-"},"content":" \"is-typedarray\": \"~1.0.0\","},{"lineNumber":2006,"author":{"gitId":"-"},"content":" \"isstream\": \"~0.1.2\","},{"lineNumber":2007,"author":{"gitId":"-"},"content":" \"json-stringify-safe\": \"~5.0.1\","},{"lineNumber":2008,"author":{"gitId":"-"},"content":" \"mime-types\": \"~2.1.19\","},{"lineNumber":2009,"author":{"gitId":"-"},"content":" \"performance-now\": \"^2.1.0\","},{"lineNumber":2010,"author":{"gitId":"-"},"content":" \"qs\": \"6.10.4\","},{"lineNumber":2011,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"^5.1.2\","},{"lineNumber":2012,"author":{"gitId":"-"},"content":" \"tough-cookie\": \"^4.1.3\","},{"lineNumber":2013,"author":{"gitId":"-"},"content":" \"tunnel-agent\": \"^0.6.0\","},{"lineNumber":2014,"author":{"gitId":"-"},"content":" \"uuid\": \"^8.3.2\""},{"lineNumber":2015,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2016,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2017,"author":{"gitId":"-"},"content":" \"@cypress/xvfb\": {"},{"lineNumber":2018,"author":{"gitId":"-"},"content":" \"version\": \"1.2.4\","},{"lineNumber":2019,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz\","},{"lineNumber":2020,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q\u003d\u003d\","},{"lineNumber":2021,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2022,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2023,"author":{"gitId":"-"},"content":" \"debug\": \"^3.1.0\","},{"lineNumber":2024,"author":{"gitId":"-"},"content":" \"lodash.once\": \"^4.1.1\""},{"lineNumber":2025,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2026,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2027,"author":{"gitId":"-"},"content":" \"debug\": {"},{"lineNumber":2028,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\","},{"lineNumber":2029,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\","},{"lineNumber":2030,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ\u003d\u003d\","},{"lineNumber":2031,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2032,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2033,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\""},{"lineNumber":2034,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2035,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2036,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2037,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2038,"author":{"gitId":"-"},"content":" \"@types/node\": {"},{"lineNumber":2039,"author":{"gitId":"-"},"content":" \"version\": \"18.18.3\","},{"lineNumber":2040,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-18.18.3.tgz\","},{"lineNumber":2041,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA\u003d\u003d\","},{"lineNumber":2042,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2043,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":2044,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2045,"author":{"gitId":"-"},"content":" \"@types/sinonjs__fake-timers\": {"},{"lineNumber":2046,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\","},{"lineNumber":2047,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz\","},{"lineNumber":2048,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g\u003d\u003d\","},{"lineNumber":2049,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2050,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2051,"author":{"gitId":"-"},"content":" \"@types/sizzle\": {"},{"lineNumber":2052,"author":{"gitId":"-"},"content":" \"version\": \"2.3.4\","},{"lineNumber":2053,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.4.tgz\","},{"lineNumber":2054,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-jA2llq2zNkg8HrALI7DtWzhALcVH0l7i89yhY3iBdOz6cBPeACoFq+fkQrjHA39t1hnSFOboZ7A/AY5MMZSlag\u003d\u003d\","},{"lineNumber":2055,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2056,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2057,"author":{"gitId":"-"},"content":" \"@types/yauzl\": {"},{"lineNumber":2058,"author":{"gitId":"-"},"content":" \"version\": \"2.10.1\","},{"lineNumber":2059,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.1.tgz\","},{"lineNumber":2060,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw\u003d\u003d\","},{"lineNumber":2061,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2062,"author":{"gitId":"-"},"content":" \"optional\": true,"},{"lineNumber":2063,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2064,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2065,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2066,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2067,"author":{"gitId":"-"},"content":" \"aggregate-error\": {"},{"lineNumber":2068,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":2069,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz\","},{"lineNumber":2070,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA\u003d\u003d\","},{"lineNumber":2071,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2072,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2073,"author":{"gitId":"-"},"content":" \"clean-stack\": \"^2.0.0\","},{"lineNumber":2074,"author":{"gitId":"-"},"content":" \"indent-string\": \"^4.0.0\""},{"lineNumber":2075,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2076,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2077,"author":{"gitId":"-"},"content":" \"ansi-colors\": {"},{"lineNumber":2078,"author":{"gitId":"-"},"content":" \"version\": \"4.1.3\","},{"lineNumber":2079,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz\","},{"lineNumber":2080,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw\u003d\u003d\","},{"lineNumber":2081,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2082,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2083,"author":{"gitId":"-"},"content":" \"ansi-escapes\": {"},{"lineNumber":2084,"author":{"gitId":"-"},"content":" \"version\": \"4.3.2\","},{"lineNumber":2085,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz\","},{"lineNumber":2086,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ\u003d\u003d\","},{"lineNumber":2087,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2088,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2089,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.21.3\""},{"lineNumber":2090,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2091,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2092,"author":{"gitId":"-"},"content":" \"ansi-regex\": {"},{"lineNumber":2093,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\","},{"lineNumber":2094,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\","},{"lineNumber":2095,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ\u003d\u003d\","},{"lineNumber":2096,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2097,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2098,"author":{"gitId":"-"},"content":" \"ansi-styles\": {"},{"lineNumber":2099,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":2100,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\","},{"lineNumber":2101,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg\u003d\u003d\","},{"lineNumber":2102,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2103,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2104,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":2105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2106,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2107,"author":{"gitId":"-"},"content":" \"arch\": {"},{"lineNumber":2108,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":2109,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/arch/-/arch-2.2.0.tgz\","},{"lineNumber":2110,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ\u003d\u003d\","},{"lineNumber":2111,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2112,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2113,"author":{"gitId":"-"},"content":" \"asn1\": {"},{"lineNumber":2114,"author":{"gitId":"-"},"content":" \"version\": \"0.2.6\","},{"lineNumber":2115,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz\","},{"lineNumber":2116,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ\u003d\u003d\","},{"lineNumber":2117,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2118,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2119,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"~2.1.0\""},{"lineNumber":2120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2121,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2122,"author":{"gitId":"-"},"content":" \"assert-plus\": {"},{"lineNumber":2123,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":2124,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz\","},{"lineNumber":2125,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw\u003d\u003d\","},{"lineNumber":2126,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2127,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2128,"author":{"gitId":"-"},"content":" \"astral-regex\": {"},{"lineNumber":2129,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2130,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz\","},{"lineNumber":2131,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ\u003d\u003d\","},{"lineNumber":2132,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2133,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2134,"author":{"gitId":"-"},"content":" \"async\": {"},{"lineNumber":2135,"author":{"gitId":"-"},"content":" \"version\": \"3.2.4\","},{"lineNumber":2136,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/async/-/async-3.2.4.tgz\","},{"lineNumber":2137,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ\u003d\u003d\","},{"lineNumber":2138,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2139,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2140,"author":{"gitId":"-"},"content":" \"asynckit\": {"},{"lineNumber":2141,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\","},{"lineNumber":2142,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz\","},{"lineNumber":2143,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q\u003d\u003d\","},{"lineNumber":2144,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2145,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2146,"author":{"gitId":"-"},"content":" \"at-least-node\": {"},{"lineNumber":2147,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":2148,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz\","},{"lineNumber":2149,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg\u003d\u003d\","},{"lineNumber":2150,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2151,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2152,"author":{"gitId":"-"},"content":" \"aws-sign2\": {"},{"lineNumber":2153,"author":{"gitId":"-"},"content":" \"version\": \"0.7.0\","},{"lineNumber":2154,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz\","},{"lineNumber":2155,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA\u003d\u003d\","},{"lineNumber":2156,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2157,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2158,"author":{"gitId":"-"},"content":" \"aws4\": {"},{"lineNumber":2159,"author":{"gitId":"-"},"content":" \"version\": \"1.12.0\","},{"lineNumber":2160,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz\","},{"lineNumber":2161,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg\u003d\u003d\","},{"lineNumber":2162,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2163,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2164,"author":{"gitId":"-"},"content":" \"balanced-match\": {"},{"lineNumber":2165,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":2166,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\","},{"lineNumber":2167,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw\u003d\u003d\","},{"lineNumber":2168,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2169,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2170,"author":{"gitId":"-"},"content":" \"base64-js\": {"},{"lineNumber":2171,"author":{"gitId":"-"},"content":" \"version\": \"1.5.1\","},{"lineNumber":2172,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz\","},{"lineNumber":2173,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA\u003d\u003d\","},{"lineNumber":2174,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2175,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2176,"author":{"gitId":"-"},"content":" \"bcrypt-pbkdf\": {"},{"lineNumber":2177,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":2178,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz\","},{"lineNumber":2179,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w\u003d\u003d\","},{"lineNumber":2180,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2181,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2182,"author":{"gitId":"-"},"content":" \"tweetnacl\": \"^0.14.3\""},{"lineNumber":2183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2184,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2185,"author":{"gitId":"-"},"content":" \"blob-util\": {"},{"lineNumber":2186,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\","},{"lineNumber":2187,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz\","},{"lineNumber":2188,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ\u003d\u003d\","},{"lineNumber":2189,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2190,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2191,"author":{"gitId":"-"},"content":" \"bluebird\": {"},{"lineNumber":2192,"author":{"gitId":"-"},"content":" \"version\": \"3.7.2\","},{"lineNumber":2193,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz\","},{"lineNumber":2194,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg\u003d\u003d\","},{"lineNumber":2195,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2196,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2197,"author":{"gitId":"-"},"content":" \"brace-expansion\": {"},{"lineNumber":2198,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":2199,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz\","},{"lineNumber":2200,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA\u003d\u003d\","},{"lineNumber":2201,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2202,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2203,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":2204,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":2205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2207,"author":{"gitId":"-"},"content":" \"buffer\": {"},{"lineNumber":2208,"author":{"gitId":"-"},"content":" \"version\": \"5.7.1\","},{"lineNumber":2209,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz\","},{"lineNumber":2210,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ\u003d\u003d\","},{"lineNumber":2211,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2212,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2213,"author":{"gitId":"-"},"content":" \"base64-js\": \"^1.3.1\","},{"lineNumber":2214,"author":{"gitId":"-"},"content":" \"ieee754\": \"^1.1.13\""},{"lineNumber":2215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2216,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2217,"author":{"gitId":"-"},"content":" \"buffer-crc32\": {"},{"lineNumber":2218,"author":{"gitId":"-"},"content":" \"version\": \"0.2.13\","},{"lineNumber":2219,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz\","},{"lineNumber":2220,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ\u003d\u003d\","},{"lineNumber":2221,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2222,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2223,"author":{"gitId":"-"},"content":" \"cachedir\": {"},{"lineNumber":2224,"author":{"gitId":"-"},"content":" \"version\": \"2.4.0\","},{"lineNumber":2225,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz\","},{"lineNumber":2226,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ\u003d\u003d\","},{"lineNumber":2227,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2228,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2229,"author":{"gitId":"-"},"content":" \"call-bind\": {"},{"lineNumber":2230,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":2231,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz\","},{"lineNumber":2232,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA\u003d\u003d\","},{"lineNumber":2233,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2234,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2235,"author":{"gitId":"-"},"content":" \"function-bind\": \"^1.1.1\","},{"lineNumber":2236,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.0.2\""},{"lineNumber":2237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2238,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2239,"author":{"gitId":"-"},"content":" \"caseless\": {"},{"lineNumber":2240,"author":{"gitId":"-"},"content":" \"version\": \"0.12.0\","},{"lineNumber":2241,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz\","},{"lineNumber":2242,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw\u003d\u003d\","},{"lineNumber":2243,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2244,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2245,"author":{"gitId":"-"},"content":" \"chalk\": {"},{"lineNumber":2246,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":2247,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\","},{"lineNumber":2248,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA\u003d\u003d\","},{"lineNumber":2249,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2250,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2251,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":2252,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":2253,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2254,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2255,"author":{"gitId":"-"},"content":" \"supports-color\": {"},{"lineNumber":2256,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":2257,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\","},{"lineNumber":2258,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\","},{"lineNumber":2259,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2260,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2261,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":2262,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2263,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2265,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2266,"author":{"gitId":"-"},"content":" \"check-more-types\": {"},{"lineNumber":2267,"author":{"gitId":"-"},"content":" \"version\": \"2.24.0\","},{"lineNumber":2268,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz\","},{"lineNumber":2269,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA\u003d\u003d\","},{"lineNumber":2270,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2271,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2272,"author":{"gitId":"-"},"content":" \"ci-info\": {"},{"lineNumber":2273,"author":{"gitId":"-"},"content":" \"version\": \"3.9.0\","},{"lineNumber":2274,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\","},{"lineNumber":2275,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ\u003d\u003d\","},{"lineNumber":2276,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2277,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2278,"author":{"gitId":"-"},"content":" \"clean-stack\": {"},{"lineNumber":2279,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":2280,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz\","},{"lineNumber":2281,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A\u003d\u003d\","},{"lineNumber":2282,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2283,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2284,"author":{"gitId":"-"},"content":" \"cli-cursor\": {"},{"lineNumber":2285,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":2286,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz\","},{"lineNumber":2287,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw\u003d\u003d\","},{"lineNumber":2288,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2289,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2290,"author":{"gitId":"-"},"content":" \"restore-cursor\": \"^3.1.0\""},{"lineNumber":2291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2292,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2293,"author":{"gitId":"-"},"content":" \"cli-table3\": {"},{"lineNumber":2294,"author":{"gitId":"-"},"content":" \"version\": \"0.6.3\","},{"lineNumber":2295,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz\","},{"lineNumber":2296,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg\u003d\u003d\","},{"lineNumber":2297,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2298,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2299,"author":{"gitId":"-"},"content":" \"@colors/colors\": \"1.5.0\","},{"lineNumber":2300,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.0\""},{"lineNumber":2301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2302,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2303,"author":{"gitId":"-"},"content":" \"cli-truncate\": {"},{"lineNumber":2304,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":2305,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz\","},{"lineNumber":2306,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg\u003d\u003d\","},{"lineNumber":2307,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2308,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2309,"author":{"gitId":"-"},"content":" \"slice-ansi\": \"^3.0.0\","},{"lineNumber":2310,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.0\""},{"lineNumber":2311,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2312,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2313,"author":{"gitId":"-"},"content":" \"color-convert\": {"},{"lineNumber":2314,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":2315,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\","},{"lineNumber":2316,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ\u003d\u003d\","},{"lineNumber":2317,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2318,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2319,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":2320,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2321,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2322,"author":{"gitId":"-"},"content":" \"color-name\": {"},{"lineNumber":2323,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":2324,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\","},{"lineNumber":2325,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA\u003d\u003d\","},{"lineNumber":2326,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2327,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2328,"author":{"gitId":"-"},"content":" \"colorette\": {"},{"lineNumber":2329,"author":{"gitId":"-"},"content":" \"version\": \"2.0.20\","},{"lineNumber":2330,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz\","},{"lineNumber":2331,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w\u003d\u003d\","},{"lineNumber":2332,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2333,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2334,"author":{"gitId":"-"},"content":" \"combined-stream\": {"},{"lineNumber":2335,"author":{"gitId":"-"},"content":" \"version\": \"1.0.8\","},{"lineNumber":2336,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz\","},{"lineNumber":2337,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg\u003d\u003d\","},{"lineNumber":2338,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2339,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2340,"author":{"gitId":"-"},"content":" \"delayed-stream\": \"~1.0.0\""},{"lineNumber":2341,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2342,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2343,"author":{"gitId":"-"},"content":" \"commander\": {"},{"lineNumber":2344,"author":{"gitId":"-"},"content":" \"version\": \"6.2.1\","},{"lineNumber":2345,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/commander/-/commander-6.2.1.tgz\","},{"lineNumber":2346,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA\u003d\u003d\","},{"lineNumber":2347,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2348,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2349,"author":{"gitId":"-"},"content":" \"common-tags\": {"},{"lineNumber":2350,"author":{"gitId":"-"},"content":" \"version\": \"1.8.2\","},{"lineNumber":2351,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz\","},{"lineNumber":2352,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA\u003d\u003d\","},{"lineNumber":2353,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2354,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2355,"author":{"gitId":"-"},"content":" \"concat-map\": {"},{"lineNumber":2356,"author":{"gitId":"-"},"content":" \"version\": \"0.0.1\","},{"lineNumber":2357,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\","},{"lineNumber":2358,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg\u003d\u003d\","},{"lineNumber":2359,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2360,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2361,"author":{"gitId":"-"},"content":" \"core-util-is\": {"},{"lineNumber":2362,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":2363,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz\","},{"lineNumber":2364,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ\u003d\u003d\","},{"lineNumber":2365,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2366,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2367,"author":{"gitId":"-"},"content":" \"cross-spawn\": {"},{"lineNumber":2368,"author":{"gitId":"-"},"content":" \"version\": \"7.0.3\","},{"lineNumber":2369,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz\","},{"lineNumber":2370,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w\u003d\u003d\","},{"lineNumber":2371,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2372,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2373,"author":{"gitId":"-"},"content":" \"path-key\": \"^3.1.0\","},{"lineNumber":2374,"author":{"gitId":"-"},"content":" \"shebang-command\": \"^2.0.0\","},{"lineNumber":2375,"author":{"gitId":"-"},"content":" \"which\": \"^2.0.1\""},{"lineNumber":2376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2377,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2378,"author":{"gitId":"-"},"content":" \"cypress\": {"},{"lineNumber":2379,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.6.6\","},{"lineNumber":2380,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cypress/-/cypress-13.6.6.tgz\","},{"lineNumber":2381,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A\u003d\u003d\","},{"lineNumber":2382,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2383,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2384,"author":{"gitId":"-"},"content":" \"@cypress/request\": \"^3.0.0\","},{"lineNumber":2385,"author":{"gitId":"-"},"content":" \"@cypress/xvfb\": \"^1.2.4\","},{"lineNumber":2386,"author":{"gitId":"-"},"content":" \"@types/sinonjs__fake-timers\": \"8.1.1\","},{"lineNumber":2387,"author":{"gitId":"-"},"content":" \"@types/sizzle\": \"^2.3.2\","},{"lineNumber":2388,"author":{"gitId":"-"},"content":" \"arch\": \"^2.2.0\","},{"lineNumber":2389,"author":{"gitId":"-"},"content":" \"blob-util\": \"^2.0.2\","},{"lineNumber":2390,"author":{"gitId":"-"},"content":" \"bluebird\": \"^3.7.2\","},{"lineNumber":2391,"author":{"gitId":"sopa301"},"content":" \"buffer\": \"^5.7.1\","},{"lineNumber":2392,"author":{"gitId":"-"},"content":" \"cachedir\": \"^2.3.0\","},{"lineNumber":2393,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":2394,"author":{"gitId":"-"},"content":" \"check-more-types\": \"^2.24.0\","},{"lineNumber":2395,"author":{"gitId":"-"},"content":" \"cli-cursor\": \"^3.1.0\","},{"lineNumber":2396,"author":{"gitId":"-"},"content":" \"cli-table3\": \"~0.6.1\","},{"lineNumber":2397,"author":{"gitId":"-"},"content":" \"commander\": \"^6.2.1\","},{"lineNumber":2398,"author":{"gitId":"-"},"content":" \"common-tags\": \"^1.8.0\","},{"lineNumber":2399,"author":{"gitId":"-"},"content":" \"dayjs\": \"^1.10.4\","},{"lineNumber":2400,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":2401,"author":{"gitId":"-"},"content":" \"enquirer\": \"^2.3.6\","},{"lineNumber":2402,"author":{"gitId":"-"},"content":" \"eventemitter2\": \"6.4.7\","},{"lineNumber":2403,"author":{"gitId":"-"},"content":" \"execa\": \"4.1.0\","},{"lineNumber":2404,"author":{"gitId":"-"},"content":" \"executable\": \"^4.1.1\","},{"lineNumber":2405,"author":{"gitId":"-"},"content":" \"extract-zip\": \"2.0.1\","},{"lineNumber":2406,"author":{"gitId":"-"},"content":" \"figures\": \"^3.2.0\","},{"lineNumber":2407,"author":{"gitId":"-"},"content":" \"fs-extra\": \"^9.1.0\","},{"lineNumber":2408,"author":{"gitId":"-"},"content":" \"getos\": \"^3.2.1\","},{"lineNumber":2409,"author":{"gitId":"sopa301"},"content":" \"is-ci\": \"^3.0.1\","},{"lineNumber":2410,"author":{"gitId":"-"},"content":" \"is-installed-globally\": \"~0.4.0\","},{"lineNumber":2411,"author":{"gitId":"-"},"content":" \"lazy-ass\": \"^1.6.0\","},{"lineNumber":2412,"author":{"gitId":"-"},"content":" \"listr2\": \"^3.8.3\","},{"lineNumber":2413,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.21\","},{"lineNumber":2414,"author":{"gitId":"-"},"content":" \"log-symbols\": \"^4.0.0\","},{"lineNumber":2415,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.8\","},{"lineNumber":2416,"author":{"gitId":"-"},"content":" \"ospath\": \"^1.2.2\","},{"lineNumber":2417,"author":{"gitId":"-"},"content":" \"pretty-bytes\": \"^5.6.0\","},{"lineNumber":2418,"author":{"gitId":"-"},"content":" \"process\": \"^0.11.10\","},{"lineNumber":2419,"author":{"gitId":"-"},"content":" \"proxy-from-env\": \"1.0.0\","},{"lineNumber":2420,"author":{"gitId":"-"},"content":" \"request-progress\": \"^3.0.0\","},{"lineNumber":2421,"author":{"gitId":"-"},"content":" \"semver\": \"^7.5.3\","},{"lineNumber":2422,"author":{"gitId":"-"},"content":" \"supports-color\": \"^8.1.1\","},{"lineNumber":2423,"author":{"gitId":"-"},"content":" \"tmp\": \"~0.2.1\","},{"lineNumber":2424,"author":{"gitId":"-"},"content":" \"untildify\": \"^4.0.0\","},{"lineNumber":2425,"author":{"gitId":"-"},"content":" \"yauzl\": \"^2.10.0\""},{"lineNumber":2426,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2427,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2428,"author":{"gitId":"-"},"content":" \"dashdash\": {"},{"lineNumber":2429,"author":{"gitId":"-"},"content":" \"version\": \"1.14.1\","},{"lineNumber":2430,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz\","},{"lineNumber":2431,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g\u003d\u003d\","},{"lineNumber":2432,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2433,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2434,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\""},{"lineNumber":2435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2436,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2437,"author":{"gitId":"-"},"content":" \"dayjs\": {"},{"lineNumber":2438,"author":{"gitId":"-"},"content":" \"version\": \"1.11.10\","},{"lineNumber":2439,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz\","},{"lineNumber":2440,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ\u003d\u003d\","},{"lineNumber":2441,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2442,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2443,"author":{"gitId":"-"},"content":" \"debug\": {"},{"lineNumber":2444,"author":{"gitId":"-"},"content":" \"version\": \"4.3.4\","},{"lineNumber":2445,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz\","},{"lineNumber":2446,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ\u003d\u003d\","},{"lineNumber":2447,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2448,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2449,"author":{"gitId":"-"},"content":" \"ms\": \"2.1.2\""},{"lineNumber":2450,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2451,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2452,"author":{"gitId":"-"},"content":" \"ms\": {"},{"lineNumber":2453,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\","},{"lineNumber":2454,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz\","},{"lineNumber":2455,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w\u003d\u003d\","},{"lineNumber":2456,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2457,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2458,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2459,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2460,"author":{"gitId":"-"},"content":" \"delayed-stream\": {"},{"lineNumber":2461,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":2462,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz\","},{"lineNumber":2463,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ\u003d\u003d\","},{"lineNumber":2464,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2465,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2466,"author":{"gitId":"-"},"content":" \"ecc-jsbn\": {"},{"lineNumber":2467,"author":{"gitId":"-"},"content":" \"version\": \"0.1.2\","},{"lineNumber":2468,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz\","},{"lineNumber":2469,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw\u003d\u003d\","},{"lineNumber":2470,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2471,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2472,"author":{"gitId":"-"},"content":" \"jsbn\": \"~0.1.0\","},{"lineNumber":2473,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"^2.1.0\""},{"lineNumber":2474,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2475,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2476,"author":{"gitId":"-"},"content":" \"emoji-regex\": {"},{"lineNumber":2477,"author":{"gitId":"-"},"content":" \"version\": \"8.0.0\","},{"lineNumber":2478,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\","},{"lineNumber":2479,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A\u003d\u003d\","},{"lineNumber":2480,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2481,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2482,"author":{"gitId":"-"},"content":" \"end-of-stream\": {"},{"lineNumber":2483,"author":{"gitId":"-"},"content":" \"version\": \"1.4.4\","},{"lineNumber":2484,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz\","},{"lineNumber":2485,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q\u003d\u003d\","},{"lineNumber":2486,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2487,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2488,"author":{"gitId":"-"},"content":" \"once\": \"^1.4.0\""},{"lineNumber":2489,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2491,"author":{"gitId":"-"},"content":" \"enquirer\": {"},{"lineNumber":2492,"author":{"gitId":"-"},"content":" \"version\": \"2.4.1\","},{"lineNumber":2493,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz\","},{"lineNumber":2494,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ\u003d\u003d\","},{"lineNumber":2495,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2496,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2497,"author":{"gitId":"-"},"content":" \"ansi-colors\": \"^4.1.1\","},{"lineNumber":2498,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":2499,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2500,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2501,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": {"},{"lineNumber":2502,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\","},{"lineNumber":2503,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz\","},{"lineNumber":2504,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg\u003d\u003d\","},{"lineNumber":2505,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2506,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2507,"author":{"gitId":"-"},"content":" \"eventemitter2\": {"},{"lineNumber":2508,"author":{"gitId":"-"},"content":" \"version\": \"6.4.7\","},{"lineNumber":2509,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz\","},{"lineNumber":2510,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg\u003d\u003d\","},{"lineNumber":2511,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2512,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2513,"author":{"gitId":"-"},"content":" \"execa\": {"},{"lineNumber":2514,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":2515,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/execa/-/execa-4.1.0.tgz\","},{"lineNumber":2516,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA\u003d\u003d\","},{"lineNumber":2517,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2518,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2519,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^7.0.0\","},{"lineNumber":2520,"author":{"gitId":"-"},"content":" \"get-stream\": \"^5.0.0\","},{"lineNumber":2521,"author":{"gitId":"-"},"content":" \"human-signals\": \"^1.1.1\","},{"lineNumber":2522,"author":{"gitId":"-"},"content":" \"is-stream\": \"^2.0.0\","},{"lineNumber":2523,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\","},{"lineNumber":2524,"author":{"gitId":"-"},"content":" \"npm-run-path\": \"^4.0.0\","},{"lineNumber":2525,"author":{"gitId":"-"},"content":" \"onetime\": \"^5.1.0\","},{"lineNumber":2526,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.2\","},{"lineNumber":2527,"author":{"gitId":"-"},"content":" \"strip-final-newline\": \"^2.0.0\""},{"lineNumber":2528,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2529,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2530,"author":{"gitId":"-"},"content":" \"executable\": {"},{"lineNumber":2531,"author":{"gitId":"-"},"content":" \"version\": \"4.1.1\","},{"lineNumber":2532,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/executable/-/executable-4.1.1.tgz\","},{"lineNumber":2533,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg\u003d\u003d\","},{"lineNumber":2534,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2535,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2536,"author":{"gitId":"-"},"content":" \"pify\": \"^2.2.0\""},{"lineNumber":2537,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2538,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2539,"author":{"gitId":"-"},"content":" \"extend\": {"},{"lineNumber":2540,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\","},{"lineNumber":2541,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/extend/-/extend-3.0.2.tgz\","},{"lineNumber":2542,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g\u003d\u003d\","},{"lineNumber":2543,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2544,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2545,"author":{"gitId":"-"},"content":" \"extract-zip\": {"},{"lineNumber":2546,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":2547,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz\","},{"lineNumber":2548,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg\u003d\u003d\","},{"lineNumber":2549,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2550,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2551,"author":{"gitId":"-"},"content":" \"@types/yauzl\": \"^2.9.1\","},{"lineNumber":2552,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.1\","},{"lineNumber":2553,"author":{"gitId":"-"},"content":" \"get-stream\": \"^5.1.0\","},{"lineNumber":2554,"author":{"gitId":"-"},"content":" \"yauzl\": \"^2.10.0\""},{"lineNumber":2555,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2556,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2557,"author":{"gitId":"-"},"content":" \"extsprintf\": {"},{"lineNumber":2558,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\","},{"lineNumber":2559,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz\","},{"lineNumber":2560,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g\u003d\u003d\","},{"lineNumber":2561,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2562,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2563,"author":{"gitId":"-"},"content":" \"fd-slicer\": {"},{"lineNumber":2564,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":2565,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz\","},{"lineNumber":2566,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g\u003d\u003d\","},{"lineNumber":2567,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2568,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2569,"author":{"gitId":"-"},"content":" \"pend\": \"~1.2.0\""},{"lineNumber":2570,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2571,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2572,"author":{"gitId":"-"},"content":" \"figures\": {"},{"lineNumber":2573,"author":{"gitId":"-"},"content":" \"version\": \"3.2.0\","},{"lineNumber":2574,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/figures/-/figures-3.2.0.tgz\","},{"lineNumber":2575,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg\u003d\u003d\","},{"lineNumber":2576,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2577,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2578,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": \"^1.0.5\""},{"lineNumber":2579,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2580,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2581,"author":{"gitId":"-"},"content":" \"forever-agent\": {"},{"lineNumber":2582,"author":{"gitId":"-"},"content":" \"version\": \"0.6.1\","},{"lineNumber":2583,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz\","},{"lineNumber":2584,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw\u003d\u003d\","},{"lineNumber":2585,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2586,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2587,"author":{"gitId":"-"},"content":" \"form-data\": {"},{"lineNumber":2588,"author":{"gitId":"-"},"content":" \"version\": \"2.3.3\","},{"lineNumber":2589,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz\","},{"lineNumber":2590,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ\u003d\u003d\","},{"lineNumber":2591,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2592,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2593,"author":{"gitId":"-"},"content":" \"asynckit\": \"^0.4.0\","},{"lineNumber":2594,"author":{"gitId":"-"},"content":" \"combined-stream\": \"^1.0.6\","},{"lineNumber":2595,"author":{"gitId":"-"},"content":" \"mime-types\": \"^2.1.12\""},{"lineNumber":2596,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2597,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2598,"author":{"gitId":"-"},"content":" \"fs-extra\": {"},{"lineNumber":2599,"author":{"gitId":"-"},"content":" \"version\": \"9.1.0\","},{"lineNumber":2600,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz\","},{"lineNumber":2601,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ\u003d\u003d\","},{"lineNumber":2602,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2603,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2604,"author":{"gitId":"-"},"content":" \"at-least-node\": \"^1.0.0\","},{"lineNumber":2605,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.0\","},{"lineNumber":2606,"author":{"gitId":"-"},"content":" \"jsonfile\": \"^6.0.1\","},{"lineNumber":2607,"author":{"gitId":"-"},"content":" \"universalify\": \"^2.0.0\""},{"lineNumber":2608,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2609,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2610,"author":{"gitId":"-"},"content":" \"universalify\": {"},{"lineNumber":2611,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2612,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\","},{"lineNumber":2613,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\","},{"lineNumber":2614,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2615,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2616,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2617,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2618,"author":{"gitId":"-"},"content":" \"fs.realpath\": {"},{"lineNumber":2619,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":2620,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\","},{"lineNumber":2621,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw\u003d\u003d\","},{"lineNumber":2622,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2623,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2624,"author":{"gitId":"-"},"content":" \"function-bind\": {"},{"lineNumber":2625,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\","},{"lineNumber":2626,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz\","},{"lineNumber":2627,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A\u003d\u003d\","},{"lineNumber":2628,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2629,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2630,"author":{"gitId":"-"},"content":" \"get-intrinsic\": {"},{"lineNumber":2631,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":2632,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz\","},{"lineNumber":2633,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw\u003d\u003d\","},{"lineNumber":2634,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2635,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2636,"author":{"gitId":"-"},"content":" \"function-bind\": \"^1.1.1\","},{"lineNumber":2637,"author":{"gitId":"-"},"content":" \"has\": \"^1.0.3\","},{"lineNumber":2638,"author":{"gitId":"-"},"content":" \"has-proto\": \"^1.0.1\","},{"lineNumber":2639,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.3\""},{"lineNumber":2640,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2641,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2642,"author":{"gitId":"-"},"content":" \"get-stream\": {"},{"lineNumber":2643,"author":{"gitId":"-"},"content":" \"version\": \"5.2.0\","},{"lineNumber":2644,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz\","},{"lineNumber":2645,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA\u003d\u003d\","},{"lineNumber":2646,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2647,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2648,"author":{"gitId":"-"},"content":" \"pump\": \"^3.0.0\""},{"lineNumber":2649,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2650,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2651,"author":{"gitId":"-"},"content":" \"getos\": {"},{"lineNumber":2652,"author":{"gitId":"-"},"content":" \"version\": \"3.2.1\","},{"lineNumber":2653,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/getos/-/getos-3.2.1.tgz\","},{"lineNumber":2654,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q\u003d\u003d\","},{"lineNumber":2655,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2656,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2657,"author":{"gitId":"-"},"content":" \"async\": \"^3.2.0\""},{"lineNumber":2658,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2659,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2660,"author":{"gitId":"-"},"content":" \"getpass\": {"},{"lineNumber":2661,"author":{"gitId":"-"},"content":" \"version\": \"0.1.7\","},{"lineNumber":2662,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz\","},{"lineNumber":2663,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng\u003d\u003d\","},{"lineNumber":2664,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2665,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2666,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\""},{"lineNumber":2667,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2668,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2669,"author":{"gitId":"-"},"content":" \"glob\": {"},{"lineNumber":2670,"author":{"gitId":"-"},"content":" \"version\": \"7.2.3\","},{"lineNumber":2671,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.2.3.tgz\","},{"lineNumber":2672,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q\u003d\u003d\","},{"lineNumber":2673,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2674,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2675,"author":{"gitId":"-"},"content":" \"fs.realpath\": \"^1.0.0\","},{"lineNumber":2676,"author":{"gitId":"-"},"content":" \"inflight\": \"^1.0.4\","},{"lineNumber":2677,"author":{"gitId":"-"},"content":" \"inherits\": \"2\","},{"lineNumber":2678,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.1\","},{"lineNumber":2679,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.0\","},{"lineNumber":2680,"author":{"gitId":"-"},"content":" \"path-is-absolute\": \"^1.0.0\""},{"lineNumber":2681,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2682,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2683,"author":{"gitId":"-"},"content":" \"global-dirs\": {"},{"lineNumber":2684,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":2685,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz\","},{"lineNumber":2686,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA\u003d\u003d\","},{"lineNumber":2687,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2688,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2689,"author":{"gitId":"-"},"content":" \"ini\": \"2.0.0\""},{"lineNumber":2690,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2691,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2692,"author":{"gitId":"-"},"content":" \"graceful-fs\": {"},{"lineNumber":2693,"author":{"gitId":"-"},"content":" \"version\": \"4.2.11\","},{"lineNumber":2694,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\","},{"lineNumber":2695,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ\u003d\u003d\","},{"lineNumber":2696,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2697,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2698,"author":{"gitId":"-"},"content":" \"has\": {"},{"lineNumber":2699,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":2700,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has/-/has-1.0.4.tgz\","},{"lineNumber":2701,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ\u003d\u003d\","},{"lineNumber":2702,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2703,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2704,"author":{"gitId":"-"},"content":" \"has-flag\": {"},{"lineNumber":2705,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2706,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\","},{"lineNumber":2707,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\","},{"lineNumber":2708,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2709,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2710,"author":{"gitId":"-"},"content":" \"has-proto\": {"},{"lineNumber":2711,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":2712,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz\","},{"lineNumber":2713,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg\u003d\u003d\","},{"lineNumber":2714,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2715,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2716,"author":{"gitId":"-"},"content":" \"has-symbols\": {"},{"lineNumber":2717,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":2718,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz\","},{"lineNumber":2719,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A\u003d\u003d\","},{"lineNumber":2720,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2721,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2722,"author":{"gitId":"-"},"content":" \"http-signature\": {"},{"lineNumber":2723,"author":{"gitId":"-"},"content":" \"version\": \"1.3.6\","},{"lineNumber":2724,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz\","},{"lineNumber":2725,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw\u003d\u003d\","},{"lineNumber":2726,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2727,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2728,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\","},{"lineNumber":2729,"author":{"gitId":"-"},"content":" \"jsprim\": \"^2.0.2\","},{"lineNumber":2730,"author":{"gitId":"-"},"content":" \"sshpk\": \"^1.14.1\""},{"lineNumber":2731,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2732,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2733,"author":{"gitId":"-"},"content":" \"human-signals\": {"},{"lineNumber":2734,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\","},{"lineNumber":2735,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz\","},{"lineNumber":2736,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw\u003d\u003d\","},{"lineNumber":2737,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2738,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2739,"author":{"gitId":"-"},"content":" \"ieee754\": {"},{"lineNumber":2740,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":2741,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz\","},{"lineNumber":2742,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA\u003d\u003d\","},{"lineNumber":2743,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2744,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2745,"author":{"gitId":"-"},"content":" \"indent-string\": {"},{"lineNumber":2746,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2747,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz\","},{"lineNumber":2748,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg\u003d\u003d\","},{"lineNumber":2749,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2750,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2751,"author":{"gitId":"-"},"content":" \"inflight\": {"},{"lineNumber":2752,"author":{"gitId":"-"},"content":" \"version\": \"1.0.6\","},{"lineNumber":2753,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\","},{"lineNumber":2754,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA\u003d\u003d\","},{"lineNumber":2755,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2756,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2757,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.0\","},{"lineNumber":2758,"author":{"gitId":"-"},"content":" \"wrappy\": \"1\""},{"lineNumber":2759,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2760,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2761,"author":{"gitId":"-"},"content":" \"inherits\": {"},{"lineNumber":2762,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\","},{"lineNumber":2763,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\","},{"lineNumber":2764,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ\u003d\u003d\","},{"lineNumber":2765,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2766,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2767,"author":{"gitId":"-"},"content":" \"ini\": {"},{"lineNumber":2768,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2769,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ini/-/ini-2.0.0.tgz\","},{"lineNumber":2770,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA\u003d\u003d\","},{"lineNumber":2771,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2772,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2773,"author":{"gitId":"-"},"content":" \"is-ci\": {"},{"lineNumber":2774,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":2775,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz\","},{"lineNumber":2776,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ\u003d\u003d\","},{"lineNumber":2777,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2778,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2779,"author":{"gitId":"-"},"content":" \"ci-info\": \"^3.2.0\""},{"lineNumber":2780,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2781,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2782,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": {"},{"lineNumber":2783,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":2784,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\","},{"lineNumber":2785,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg\u003d\u003d\","},{"lineNumber":2786,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2787,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2788,"author":{"gitId":"-"},"content":" \"is-installed-globally\": {"},{"lineNumber":2789,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\","},{"lineNumber":2790,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz\","},{"lineNumber":2791,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ\u003d\u003d\","},{"lineNumber":2792,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2793,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2794,"author":{"gitId":"-"},"content":" \"global-dirs\": \"^3.0.0\","},{"lineNumber":2795,"author":{"gitId":"-"},"content":" \"is-path-inside\": \"^3.0.2\""},{"lineNumber":2796,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2797,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2798,"author":{"gitId":"-"},"content":" \"is-path-inside\": {"},{"lineNumber":2799,"author":{"gitId":"-"},"content":" \"version\": \"3.0.3\","},{"lineNumber":2800,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz\","},{"lineNumber":2801,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ\u003d\u003d\","},{"lineNumber":2802,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2803,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2804,"author":{"gitId":"-"},"content":" \"is-stream\": {"},{"lineNumber":2805,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":2806,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz\","},{"lineNumber":2807,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg\u003d\u003d\","},{"lineNumber":2808,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2809,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2810,"author":{"gitId":"-"},"content":" \"is-typedarray\": {"},{"lineNumber":2811,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":2812,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz\","},{"lineNumber":2813,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA\u003d\u003d\","},{"lineNumber":2814,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2815,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2816,"author":{"gitId":"-"},"content":" \"is-unicode-supported\": {"},{"lineNumber":2817,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\","},{"lineNumber":2818,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz\","},{"lineNumber":2819,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw\u003d\u003d\","},{"lineNumber":2820,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2821,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2822,"author":{"gitId":"-"},"content":" \"isexe\": {"},{"lineNumber":2823,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2824,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\","},{"lineNumber":2825,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw\u003d\u003d\","},{"lineNumber":2826,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2827,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2828,"author":{"gitId":"-"},"content":" \"isstream\": {"},{"lineNumber":2829,"author":{"gitId":"-"},"content":" \"version\": \"0.1.2\","},{"lineNumber":2830,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz\","},{"lineNumber":2831,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g\u003d\u003d\","},{"lineNumber":2832,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2833,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2834,"author":{"gitId":"-"},"content":" \"jsbn\": {"},{"lineNumber":2835,"author":{"gitId":"-"},"content":" \"version\": \"0.1.1\","},{"lineNumber":2836,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz\","},{"lineNumber":2837,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg\u003d\u003d\","},{"lineNumber":2838,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2839,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2840,"author":{"gitId":"-"},"content":" \"json-schema\": {"},{"lineNumber":2841,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\","},{"lineNumber":2842,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz\","},{"lineNumber":2843,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA\u003d\u003d\","},{"lineNumber":2844,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2845,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2846,"author":{"gitId":"-"},"content":" \"json-stringify-safe\": {"},{"lineNumber":2847,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\","},{"lineNumber":2848,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz\","},{"lineNumber":2849,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA\u003d\u003d\","},{"lineNumber":2850,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2851,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2852,"author":{"gitId":"-"},"content":" \"jsonfile\": {"},{"lineNumber":2853,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\","},{"lineNumber":2854,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz\","},{"lineNumber":2855,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ\u003d\u003d\","},{"lineNumber":2856,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2857,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2858,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.1.6\","},{"lineNumber":2859,"author":{"gitId":"-"},"content":" \"universalify\": \"^2.0.0\""},{"lineNumber":2860,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2861,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2862,"author":{"gitId":"-"},"content":" \"universalify\": {"},{"lineNumber":2863,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2864,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz\","},{"lineNumber":2865,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ\u003d\u003d\","},{"lineNumber":2866,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2867,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2868,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2869,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2870,"author":{"gitId":"-"},"content":" \"jsprim\": {"},{"lineNumber":2871,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\","},{"lineNumber":2872,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz\","},{"lineNumber":2873,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ\u003d\u003d\","},{"lineNumber":2874,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2875,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2876,"author":{"gitId":"-"},"content":" \"assert-plus\": \"1.0.0\","},{"lineNumber":2877,"author":{"gitId":"-"},"content":" \"extsprintf\": \"1.3.0\","},{"lineNumber":2878,"author":{"gitId":"-"},"content":" \"json-schema\": \"0.4.0\","},{"lineNumber":2879,"author":{"gitId":"-"},"content":" \"verror\": \"1.10.0\""},{"lineNumber":2880,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2881,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2882,"author":{"gitId":"-"},"content":" \"lazy-ass\": {"},{"lineNumber":2883,"author":{"gitId":"-"},"content":" \"version\": \"1.6.0\","},{"lineNumber":2884,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz\","},{"lineNumber":2885,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw\u003d\u003d\","},{"lineNumber":2886,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2887,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2888,"author":{"gitId":"-"},"content":" \"listr2\": {"},{"lineNumber":2889,"author":{"gitId":"-"},"content":" \"version\": \"3.14.0\","},{"lineNumber":2890,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz\","},{"lineNumber":2891,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g\u003d\u003d\","},{"lineNumber":2892,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2893,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2894,"author":{"gitId":"-"},"content":" \"cli-truncate\": \"^2.1.0\","},{"lineNumber":2895,"author":{"gitId":"-"},"content":" \"colorette\": \"^2.0.16\","},{"lineNumber":2896,"author":{"gitId":"-"},"content":" \"log-update\": \"^4.0.0\","},{"lineNumber":2897,"author":{"gitId":"-"},"content":" \"p-map\": \"^4.0.0\","},{"lineNumber":2898,"author":{"gitId":"-"},"content":" \"rfdc\": \"^1.3.0\","},{"lineNumber":2899,"author":{"gitId":"-"},"content":" \"rxjs\": \"^7.5.1\","},{"lineNumber":2900,"author":{"gitId":"-"},"content":" \"through\": \"^2.3.8\","},{"lineNumber":2901,"author":{"gitId":"-"},"content":" \"wrap-ansi\": \"^7.0.0\""},{"lineNumber":2902,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2903,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2904,"author":{"gitId":"-"},"content":" \"lodash\": {"},{"lineNumber":2905,"author":{"gitId":"-"},"content":" \"version\": \"4.17.21\","},{"lineNumber":2906,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\","},{"lineNumber":2907,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg\u003d\u003d\","},{"lineNumber":2908,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2909,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2910,"author":{"gitId":"-"},"content":" \"lodash.once\": {"},{"lineNumber":2911,"author":{"gitId":"-"},"content":" \"version\": \"4.1.1\","},{"lineNumber":2912,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz\","},{"lineNumber":2913,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg\u003d\u003d\","},{"lineNumber":2914,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2915,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2916,"author":{"gitId":"-"},"content":" \"log-symbols\": {"},{"lineNumber":2917,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":2918,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz\","},{"lineNumber":2919,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg\u003d\u003d\","},{"lineNumber":2920,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2921,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2922,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":2923,"author":{"gitId":"-"},"content":" \"is-unicode-supported\": \"^0.1.0\""},{"lineNumber":2924,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2925,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2926,"author":{"gitId":"-"},"content":" \"log-update\": {"},{"lineNumber":2927,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2928,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz\","},{"lineNumber":2929,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg\u003d\u003d\","},{"lineNumber":2930,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2931,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2932,"author":{"gitId":"-"},"content":" \"ansi-escapes\": \"^4.3.0\","},{"lineNumber":2933,"author":{"gitId":"-"},"content":" \"cli-cursor\": \"^3.1.0\","},{"lineNumber":2934,"author":{"gitId":"-"},"content":" \"slice-ansi\": \"^4.0.0\","},{"lineNumber":2935,"author":{"gitId":"-"},"content":" \"wrap-ansi\": \"^6.2.0\""},{"lineNumber":2936,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2937,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2938,"author":{"gitId":"-"},"content":" \"slice-ansi\": {"},{"lineNumber":2939,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2940,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz\","},{"lineNumber":2941,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ\u003d\u003d\","},{"lineNumber":2942,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2943,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2944,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":2945,"author":{"gitId":"-"},"content":" \"astral-regex\": \"^2.0.0\","},{"lineNumber":2946,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\""},{"lineNumber":2947,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2948,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2949,"author":{"gitId":"-"},"content":" \"wrap-ansi\": {"},{"lineNumber":2950,"author":{"gitId":"-"},"content":" \"version\": \"6.2.0\","},{"lineNumber":2951,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz\","},{"lineNumber":2952,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA\u003d\u003d\","},{"lineNumber":2953,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2954,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2955,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":2956,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.1.0\","},{"lineNumber":2957,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\""},{"lineNumber":2958,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2959,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2960,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2961,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2962,"author":{"gitId":"-"},"content":" \"lru-cache\": {"},{"lineNumber":2963,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":2964,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\","},{"lineNumber":2965,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\","},{"lineNumber":2966,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2967,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2968,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":2969,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2970,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2971,"author":{"gitId":"-"},"content":" \"merge-stream\": {"},{"lineNumber":2972,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2973,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz\","},{"lineNumber":2974,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w\u003d\u003d\","},{"lineNumber":2975,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2976,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2977,"author":{"gitId":"-"},"content":" \"mime-db\": {"},{"lineNumber":2978,"author":{"gitId":"-"},"content":" \"version\": \"1.52.0\","},{"lineNumber":2979,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz\","},{"lineNumber":2980,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg\u003d\u003d\","},{"lineNumber":2981,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2982,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2983,"author":{"gitId":"-"},"content":" \"mime-types\": {"},{"lineNumber":2984,"author":{"gitId":"-"},"content":" \"version\": \"2.1.35\","},{"lineNumber":2985,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz\","},{"lineNumber":2986,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw\u003d\u003d\","},{"lineNumber":2987,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2988,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":2989,"author":{"gitId":"-"},"content":" \"mime-db\": \"1.52.0\""},{"lineNumber":2990,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2991,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2992,"author":{"gitId":"-"},"content":" \"mimic-fn\": {"},{"lineNumber":2993,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":2994,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz\","},{"lineNumber":2995,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg\u003d\u003d\","},{"lineNumber":2996,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2997,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2998,"author":{"gitId":"-"},"content":" \"minimatch\": {"},{"lineNumber":2999,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":3000,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\","},{"lineNumber":3001,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw\u003d\u003d\","},{"lineNumber":3002,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3003,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3004,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":3005,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3006,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3007,"author":{"gitId":"-"},"content":" \"minimist\": {"},{"lineNumber":3008,"author":{"gitId":"-"},"content":" \"version\": \"1.2.8\","},{"lineNumber":3009,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\","},{"lineNumber":3010,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA\u003d\u003d\","},{"lineNumber":3011,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3012,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3013,"author":{"gitId":"-"},"content":" \"ms\": {"},{"lineNumber":3014,"author":{"gitId":"-"},"content":" \"version\": \"2.1.3\","},{"lineNumber":3015,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\","},{"lineNumber":3016,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA\u003d\u003d\","},{"lineNumber":3017,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3018,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3019,"author":{"gitId":"-"},"content":" \"npm-run-path\": {"},{"lineNumber":3020,"author":{"gitId":"-"},"content":" \"version\": \"4.0.1\","},{"lineNumber":3021,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz\","},{"lineNumber":3022,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw\u003d\u003d\","},{"lineNumber":3023,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3024,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3025,"author":{"gitId":"-"},"content":" \"path-key\": \"^3.0.0\""},{"lineNumber":3026,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3027,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3028,"author":{"gitId":"-"},"content":" \"object-inspect\": {"},{"lineNumber":3029,"author":{"gitId":"-"},"content":" \"version\": \"1.12.3\","},{"lineNumber":3030,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz\","},{"lineNumber":3031,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g\u003d\u003d\","},{"lineNumber":3032,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3033,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3034,"author":{"gitId":"-"},"content":" \"once\": {"},{"lineNumber":3035,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":3036,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\","},{"lineNumber":3037,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w\u003d\u003d\","},{"lineNumber":3038,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3039,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3040,"author":{"gitId":"-"},"content":" \"wrappy\": \"1\""},{"lineNumber":3041,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3042,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3043,"author":{"gitId":"-"},"content":" \"onetime\": {"},{"lineNumber":3044,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\","},{"lineNumber":3045,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz\","},{"lineNumber":3046,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg\u003d\u003d\","},{"lineNumber":3047,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3048,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3049,"author":{"gitId":"-"},"content":" \"mimic-fn\": \"^2.1.0\""},{"lineNumber":3050,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3051,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3052,"author":{"gitId":"-"},"content":" \"ospath\": {"},{"lineNumber":3053,"author":{"gitId":"-"},"content":" \"version\": \"1.2.2\","},{"lineNumber":3054,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz\","},{"lineNumber":3055,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA\u003d\u003d\","},{"lineNumber":3056,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3057,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3058,"author":{"gitId":"-"},"content":" \"p-map\": {"},{"lineNumber":3059,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":3060,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz\","},{"lineNumber":3061,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ\u003d\u003d\","},{"lineNumber":3062,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3063,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3064,"author":{"gitId":"-"},"content":" \"aggregate-error\": \"^3.0.0\""},{"lineNumber":3065,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3066,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3067,"author":{"gitId":"-"},"content":" \"path-is-absolute\": {"},{"lineNumber":3068,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":3069,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\","},{"lineNumber":3070,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg\u003d\u003d\","},{"lineNumber":3071,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3072,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3073,"author":{"gitId":"-"},"content":" \"path-key\": {"},{"lineNumber":3074,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":3075,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\","},{"lineNumber":3076,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q\u003d\u003d\","},{"lineNumber":3077,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3078,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3079,"author":{"gitId":"-"},"content":" \"pend\": {"},{"lineNumber":3080,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":3081,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pend/-/pend-1.2.0.tgz\","},{"lineNumber":3082,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg\u003d\u003d\","},{"lineNumber":3083,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3084,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3085,"author":{"gitId":"-"},"content":" \"performance-now\": {"},{"lineNumber":3086,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":3087,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz\","},{"lineNumber":3088,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow\u003d\u003d\","},{"lineNumber":3089,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3090,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3091,"author":{"gitId":"-"},"content":" \"pify\": {"},{"lineNumber":3092,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":3093,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz\","},{"lineNumber":3094,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog\u003d\u003d\","},{"lineNumber":3095,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3096,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3097,"author":{"gitId":"-"},"content":" \"pretty-bytes\": {"},{"lineNumber":3098,"author":{"gitId":"-"},"content":" \"version\": \"5.6.0\","},{"lineNumber":3099,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz\","},{"lineNumber":3100,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg\u003d\u003d\","},{"lineNumber":3101,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3102,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3103,"author":{"gitId":"-"},"content":" \"process\": {"},{"lineNumber":3104,"author":{"gitId":"-"},"content":" \"version\": \"0.11.10\","},{"lineNumber":3105,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/process/-/process-0.11.10.tgz\","},{"lineNumber":3106,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A\u003d\u003d\","},{"lineNumber":3107,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3108,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3109,"author":{"gitId":"-"},"content":" \"proxy-from-env\": {"},{"lineNumber":3110,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":3111,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz\","},{"lineNumber":3112,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A\u003d\u003d\","},{"lineNumber":3113,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3114,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3115,"author":{"gitId":"-"},"content":" \"psl\": {"},{"lineNumber":3116,"author":{"gitId":"-"},"content":" \"version\": \"1.9.0\","},{"lineNumber":3117,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/psl/-/psl-1.9.0.tgz\","},{"lineNumber":3118,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag\u003d\u003d\","},{"lineNumber":3119,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3120,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3121,"author":{"gitId":"-"},"content":" \"pump\": {"},{"lineNumber":3122,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":3123,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/pump/-/pump-3.0.0.tgz\","},{"lineNumber":3124,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww\u003d\u003d\","},{"lineNumber":3125,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3126,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3127,"author":{"gitId":"-"},"content":" \"end-of-stream\": \"^1.1.0\","},{"lineNumber":3128,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.1\""},{"lineNumber":3129,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3130,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3131,"author":{"gitId":"-"},"content":" \"punycode\": {"},{"lineNumber":3132,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":3133,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz\","},{"lineNumber":3134,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA\u003d\u003d\","},{"lineNumber":3135,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3136,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3137,"author":{"gitId":"-"},"content":" \"qs\": {"},{"lineNumber":3138,"author":{"gitId":"-"},"content":" \"version\": \"6.10.4\","},{"lineNumber":3139,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/qs/-/qs-6.10.4.tgz\","},{"lineNumber":3140,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g\u003d\u003d\","},{"lineNumber":3141,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3142,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3143,"author":{"gitId":"-"},"content":" \"side-channel\": \"^1.0.4\""},{"lineNumber":3144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3145,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3146,"author":{"gitId":"-"},"content":" \"querystringify\": {"},{"lineNumber":3147,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":3148,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz\","},{"lineNumber":3149,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ\u003d\u003d\","},{"lineNumber":3150,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3151,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3152,"author":{"gitId":"-"},"content":" \"request-progress\": {"},{"lineNumber":3153,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":3154,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz\","},{"lineNumber":3155,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg\u003d\u003d\","},{"lineNumber":3156,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3157,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3158,"author":{"gitId":"-"},"content":" \"throttleit\": \"^1.0.0\""},{"lineNumber":3159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3161,"author":{"gitId":"-"},"content":" \"requires-port\": {"},{"lineNumber":3162,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":3163,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz\","},{"lineNumber":3164,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ\u003d\u003d\","},{"lineNumber":3165,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3166,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3167,"author":{"gitId":"-"},"content":" \"restore-cursor\": {"},{"lineNumber":3168,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":3169,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz\","},{"lineNumber":3170,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA\u003d\u003d\","},{"lineNumber":3171,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3172,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3173,"author":{"gitId":"-"},"content":" \"onetime\": \"^5.1.0\","},{"lineNumber":3174,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.2\""},{"lineNumber":3175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3176,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3177,"author":{"gitId":"-"},"content":" \"rfdc\": {"},{"lineNumber":3178,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\","},{"lineNumber":3179,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz\","},{"lineNumber":3180,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA\u003d\u003d\","},{"lineNumber":3181,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3182,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3183,"author":{"gitId":"-"},"content":" \"rimraf\": {"},{"lineNumber":3184,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\","},{"lineNumber":3185,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz\","},{"lineNumber":3186,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA\u003d\u003d\","},{"lineNumber":3187,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3188,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3189,"author":{"gitId":"-"},"content":" \"glob\": \"^7.1.3\""},{"lineNumber":3190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3191,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3192,"author":{"gitId":"-"},"content":" \"rxjs\": {"},{"lineNumber":3193,"author":{"gitId":"-"},"content":" \"version\": \"7.8.1\","},{"lineNumber":3194,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz\","},{"lineNumber":3195,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg\u003d\u003d\","},{"lineNumber":3196,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3197,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3198,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.1.0\""},{"lineNumber":3199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3200,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3201,"author":{"gitId":"-"},"content":" \"safe-buffer\": {"},{"lineNumber":3202,"author":{"gitId":"-"},"content":" \"version\": \"5.2.1\","},{"lineNumber":3203,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz\","},{"lineNumber":3204,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ\u003d\u003d\","},{"lineNumber":3205,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3207,"author":{"gitId":"-"},"content":" \"safer-buffer\": {"},{"lineNumber":3208,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\","},{"lineNumber":3209,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz\","},{"lineNumber":3210,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg\u003d\u003d\","},{"lineNumber":3211,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3212,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3213,"author":{"gitId":"-"},"content":" \"semver\": {"},{"lineNumber":3214,"author":{"gitId":"-"},"content":" \"version\": \"7.5.4\","},{"lineNumber":3215,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.5.4.tgz\","},{"lineNumber":3216,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA\u003d\u003d\","},{"lineNumber":3217,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3218,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3219,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":3220,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3221,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3222,"author":{"gitId":"-"},"content":" \"shebang-command\": {"},{"lineNumber":3223,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":3224,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\","},{"lineNumber":3225,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA\u003d\u003d\","},{"lineNumber":3226,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3227,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3228,"author":{"gitId":"-"},"content":" \"shebang-regex\": \"^3.0.0\""},{"lineNumber":3229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3230,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3231,"author":{"gitId":"-"},"content":" \"shebang-regex\": {"},{"lineNumber":3232,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":3233,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\","},{"lineNumber":3234,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A\u003d\u003d\","},{"lineNumber":3235,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3236,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3237,"author":{"gitId":"-"},"content":" \"side-channel\": {"},{"lineNumber":3238,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":3239,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz\","},{"lineNumber":3240,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw\u003d\u003d\","},{"lineNumber":3241,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3242,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3243,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.0\","},{"lineNumber":3244,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.0.2\","},{"lineNumber":3245,"author":{"gitId":"-"},"content":" \"object-inspect\": \"^1.9.0\""},{"lineNumber":3246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3247,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3248,"author":{"gitId":"-"},"content":" \"signal-exit\": {"},{"lineNumber":3249,"author":{"gitId":"-"},"content":" \"version\": \"3.0.7\","},{"lineNumber":3250,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz\","},{"lineNumber":3251,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ\u003d\u003d\","},{"lineNumber":3252,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3253,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3254,"author":{"gitId":"-"},"content":" \"slice-ansi\": {"},{"lineNumber":3255,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":3256,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz\","},{"lineNumber":3257,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ\u003d\u003d\","},{"lineNumber":3258,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3259,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3260,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":3261,"author":{"gitId":"-"},"content":" \"astral-regex\": \"^2.0.0\","},{"lineNumber":3262,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\""},{"lineNumber":3263,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3264,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3265,"author":{"gitId":"-"},"content":" \"sshpk\": {"},{"lineNumber":3266,"author":{"gitId":"-"},"content":" \"version\": \"1.17.0\","},{"lineNumber":3267,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz\","},{"lineNumber":3268,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ\u003d\u003d\","},{"lineNumber":3269,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3270,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3271,"author":{"gitId":"-"},"content":" \"asn1\": \"~0.2.3\","},{"lineNumber":3272,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\","},{"lineNumber":3273,"author":{"gitId":"-"},"content":" \"bcrypt-pbkdf\": \"^1.0.0\","},{"lineNumber":3274,"author":{"gitId":"-"},"content":" \"dashdash\": \"^1.12.0\","},{"lineNumber":3275,"author":{"gitId":"-"},"content":" \"ecc-jsbn\": \"~0.1.1\","},{"lineNumber":3276,"author":{"gitId":"-"},"content":" \"getpass\": \"^0.1.1\","},{"lineNumber":3277,"author":{"gitId":"-"},"content":" \"jsbn\": \"~0.1.0\","},{"lineNumber":3278,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"^2.0.2\","},{"lineNumber":3279,"author":{"gitId":"-"},"content":" \"tweetnacl\": \"~0.14.0\""},{"lineNumber":3280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3281,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3282,"author":{"gitId":"-"},"content":" \"string-width\": {"},{"lineNumber":3283,"author":{"gitId":"-"},"content":" \"version\": \"4.2.3\","},{"lineNumber":3284,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\","},{"lineNumber":3285,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g\u003d\u003d\","},{"lineNumber":3286,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3287,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3288,"author":{"gitId":"-"},"content":" \"emoji-regex\": \"^8.0.0\","},{"lineNumber":3289,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\","},{"lineNumber":3290,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":3291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3292,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3293,"author":{"gitId":"-"},"content":" \"strip-ansi\": {"},{"lineNumber":3294,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\","},{"lineNumber":3295,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\","},{"lineNumber":3296,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A\u003d\u003d\","},{"lineNumber":3297,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3298,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3299,"author":{"gitId":"-"},"content":" \"ansi-regex\": \"^5.0.1\""},{"lineNumber":3300,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3301,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3302,"author":{"gitId":"-"},"content":" \"strip-final-newline\": {"},{"lineNumber":3303,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":3304,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz\","},{"lineNumber":3305,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA\u003d\u003d\","},{"lineNumber":3306,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3307,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3308,"author":{"gitId":"-"},"content":" \"supports-color\": {"},{"lineNumber":3309,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\","},{"lineNumber":3310,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\","},{"lineNumber":3311,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q\u003d\u003d\","},{"lineNumber":3312,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3313,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3314,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":3315,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3316,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3317,"author":{"gitId":"-"},"content":" \"throttleit\": {"},{"lineNumber":3318,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":3319,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz\","},{"lineNumber":3320,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g\u003d\u003d\","},{"lineNumber":3321,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3322,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3323,"author":{"gitId":"-"},"content":" \"through\": {"},{"lineNumber":3324,"author":{"gitId":"-"},"content":" \"version\": \"2.3.8\","},{"lineNumber":3325,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/through/-/through-2.3.8.tgz\","},{"lineNumber":3326,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg\u003d\u003d\","},{"lineNumber":3327,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3328,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3329,"author":{"gitId":"-"},"content":" \"tmp\": {"},{"lineNumber":3330,"author":{"gitId":"-"},"content":" \"version\": \"0.2.1\","},{"lineNumber":3331,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz\","},{"lineNumber":3332,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ\u003d\u003d\","},{"lineNumber":3333,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3334,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3335,"author":{"gitId":"-"},"content":" \"rimraf\": \"^3.0.0\""},{"lineNumber":3336,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3337,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3338,"author":{"gitId":"-"},"content":" \"tough-cookie\": {"},{"lineNumber":3339,"author":{"gitId":"-"},"content":" \"version\": \"4.1.3\","},{"lineNumber":3340,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz\","},{"lineNumber":3341,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw\u003d\u003d\","},{"lineNumber":3342,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3343,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3344,"author":{"gitId":"-"},"content":" \"psl\": \"^1.1.33\","},{"lineNumber":3345,"author":{"gitId":"-"},"content":" \"punycode\": \"^2.1.1\","},{"lineNumber":3346,"author":{"gitId":"-"},"content":" \"universalify\": \"^0.2.0\","},{"lineNumber":3347,"author":{"gitId":"-"},"content":" \"url-parse\": \"^1.5.3\""},{"lineNumber":3348,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3349,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3350,"author":{"gitId":"-"},"content":" \"tslib\": {"},{"lineNumber":3351,"author":{"gitId":"-"},"content":" \"version\": \"2.6.2\","},{"lineNumber":3352,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz\","},{"lineNumber":3353,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q\u003d\u003d\","},{"lineNumber":3354,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3355,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3356,"author":{"gitId":"-"},"content":" \"tunnel-agent\": {"},{"lineNumber":3357,"author":{"gitId":"-"},"content":" \"version\": \"0.6.0\","},{"lineNumber":3358,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz\","},{"lineNumber":3359,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w\u003d\u003d\","},{"lineNumber":3360,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3361,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3362,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"^5.0.1\""},{"lineNumber":3363,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3364,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3365,"author":{"gitId":"-"},"content":" \"tweetnacl\": {"},{"lineNumber":3366,"author":{"gitId":"-"},"content":" \"version\": \"0.14.5\","},{"lineNumber":3367,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz\","},{"lineNumber":3368,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA\u003d\u003d\","},{"lineNumber":3369,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3370,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3371,"author":{"gitId":"-"},"content":" \"type-fest\": {"},{"lineNumber":3372,"author":{"gitId":"-"},"content":" \"version\": \"0.21.3\","},{"lineNumber":3373,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz\","},{"lineNumber":3374,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w\u003d\u003d\","},{"lineNumber":3375,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3376,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3377,"author":{"gitId":"-"},"content":" \"universalify\": {"},{"lineNumber":3378,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\","},{"lineNumber":3379,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz\","},{"lineNumber":3380,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg\u003d\u003d\","},{"lineNumber":3381,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3382,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3383,"author":{"gitId":"-"},"content":" \"untildify\": {"},{"lineNumber":3384,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":3385,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz\","},{"lineNumber":3386,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw\u003d\u003d\","},{"lineNumber":3387,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3388,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3389,"author":{"gitId":"-"},"content":" \"url-parse\": {"},{"lineNumber":3390,"author":{"gitId":"-"},"content":" \"version\": \"1.5.10\","},{"lineNumber":3391,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz\","},{"lineNumber":3392,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ\u003d\u003d\","},{"lineNumber":3393,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3394,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3395,"author":{"gitId":"-"},"content":" \"querystringify\": \"^2.1.1\","},{"lineNumber":3396,"author":{"gitId":"-"},"content":" \"requires-port\": \"^1.0.0\""},{"lineNumber":3397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3398,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3399,"author":{"gitId":"-"},"content":" \"uuid\": {"},{"lineNumber":3400,"author":{"gitId":"-"},"content":" \"version\": \"8.3.2\","},{"lineNumber":3401,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz\","},{"lineNumber":3402,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg\u003d\u003d\","},{"lineNumber":3403,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3404,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3405,"author":{"gitId":"-"},"content":" \"verror\": {"},{"lineNumber":3406,"author":{"gitId":"-"},"content":" \"version\": \"1.10.0\","},{"lineNumber":3407,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz\","},{"lineNumber":3408,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw\u003d\u003d\","},{"lineNumber":3409,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3410,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3411,"author":{"gitId":"-"},"content":" \"assert-plus\": \"^1.0.0\","},{"lineNumber":3412,"author":{"gitId":"-"},"content":" \"core-util-is\": \"1.0.2\","},{"lineNumber":3413,"author":{"gitId":"-"},"content":" \"extsprintf\": \"^1.2.0\""},{"lineNumber":3414,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3415,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3416,"author":{"gitId":"-"},"content":" \"which\": {"},{"lineNumber":3417,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\","},{"lineNumber":3418,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\","},{"lineNumber":3419,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA\u003d\u003d\","},{"lineNumber":3420,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3421,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3422,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\""},{"lineNumber":3423,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3424,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3425,"author":{"gitId":"-"},"content":" \"wrap-ansi\": {"},{"lineNumber":3426,"author":{"gitId":"-"},"content":" \"version\": \"7.0.0\","},{"lineNumber":3427,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\","},{"lineNumber":3428,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q\u003d\u003d\","},{"lineNumber":3429,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3430,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3431,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":3432,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.1.0\","},{"lineNumber":3433,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\""},{"lineNumber":3434,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3435,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3436,"author":{"gitId":"-"},"content":" \"wrappy\": {"},{"lineNumber":3437,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":3438,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\","},{"lineNumber":3439,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ\u003d\u003d\","},{"lineNumber":3440,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3441,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3442,"author":{"gitId":"-"},"content":" \"yallist\": {"},{"lineNumber":3443,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":3444,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\","},{"lineNumber":3445,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\","},{"lineNumber":3446,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":3447,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3448,"author":{"gitId":"-"},"content":" \"yauzl\": {"},{"lineNumber":3449,"author":{"gitId":"-"},"content":" \"version\": \"2.10.0\","},{"lineNumber":3450,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz\","},{"lineNumber":3451,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g\u003d\u003d\","},{"lineNumber":3452,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3453,"author":{"gitId":"-"},"content":" \"requires\": {"},{"lineNumber":3454,"author":{"gitId":"-"},"content":" \"buffer-crc32\": \"~0.2.3\","},{"lineNumber":3455,"author":{"gitId":"-"},"content":" \"fd-slicer\": \"~1.1.0\""},{"lineNumber":3456,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3457,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3458,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3459,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"sopa301":1987,"-":1472}},{"path":"frontend/cypress/package.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"scripts\": {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"tests\": \"cypress run --browser chrome\","},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"ci\": \"cypress run --env ci\u003dtrue --browser chrome\","},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"debug\": \"cypress open\""},{"lineNumber":6,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"devDependencies\": {"},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" \"cypress\": \"^13.6.4\""},{"lineNumber":9,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"sopa301":1,"-":9}},{"path":"frontend/cypress/support.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"// Disable screenshots"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"// https://docs.cypress.io/api/cypress-api/screenshot-api.html#Disable-screenshots-on-run-failures"},{"lineNumber":4,"author":{"gitId":"-"},"content":"Cypress.Screenshot.defaults({"},{"lineNumber":5,"author":{"gitId":"-"},"content":" screenshotOnRunFailure: false,"},{"lineNumber":6,"author":{"gitId":"-"},"content":"});"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"beforeEach(() \u003d\u003e {"},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.visit(\u0027/\u0027);"},{"lineNumber":10,"author":{"gitId":"sopa301"},"content":" cy.intercept({"},{"lineNumber":11,"author":{"gitId":"sopa301"},"content":" method: \u0027GET\u0027,"},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" url: \u0027/title.md\u0027,"},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" }, \u0027# RepoSense Intro\u0027).as(\u0027getTitleMd\u0027);"},{"lineNumber":14,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"sopa301":4,"-":10}},{"path":"frontend/cypress/tests/chartView/chartView_errorSummary_messageBox.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027error summary\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027shows list of issues encountered while analyzing repos\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box\u0027)"},{"lineNumber":4,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper \u003e #summary \u003e .error-message-box \u003e .error-message-box__message\u0027).then(($ele) \u003d\u003e {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" const expected \u003d \u0027The following issues occurred when analyzing the following repositories:\u0027;"},{"lineNumber":8,"author":{"gitId":"-"},"content":" const message \u003d $ele.text();"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":" expect(expected).to.equal(message);"},{"lineNumber":11,"author":{"gitId":"-"},"content":" });"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box__failed-repo--name\u0027)"},{"lineNumber":14,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box__failed-repo--reason\u0027)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":18,"author":{"gitId":"-"},"content":" });"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" it(\u0027can be closed\u0027, () \u003d\u003e {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box\u0027)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper \u003e #summary \u003e .error-message-box \u003e .error-message-box__close-button\u0027)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027.error-message-box\u0027)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" });"},{"lineNumber":30,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" it(\u0027can be expanded and collapsed if count \u003e 4\u0027, () \u003d\u003e {"},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)"},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.error-message-box__failed-repo\u0027)"},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 4);"},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box__show-more-container \u003e a\u0027)"},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)"},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.error-message-box__failed-repo\u0027)"},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 5);"},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box__show-more-container \u003e a\u0027)"},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)"},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" .find(\u0027.error-message-box__failed-repo\u0027)"},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 4);"},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":50,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":30,"jonasongg":20}},{"path":"frontend/cypress/tests/chartView/chartView_mergeGroup.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027merge group\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check and uncheck merge group when group by repos\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":4,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":8,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":9,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":" // after checking merge group, only four merged repo groups will show"},{"lineNumber":12,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts\u0027).find(\u0027.summary-chart\u0027)"},{"lineNumber":13,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 4);"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)"},{"lineNumber":16,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":18,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"jonasongg"},"content":" // after un-checking merge group, all 14 summary charts will show"},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts\u0027).find(\u0027.summary-chart\u0027)"},{"lineNumber":22,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 14);"},{"lineNumber":23,"author":{"gitId":"-"},"content":" });"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" it(\u0027check and uncheck merge group when group by authors\u0027, () \u003d\u003e {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .select(\u0027groupByAuthors\u0027);"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)"},{"lineNumber":30,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":31,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":32,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" // after checking merge group, 14 merged author groups will show"},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts\u0027).find(\u0027.summary-chart\u0027)"},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 14);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":40,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" // after un-checking merge group, all 14 summary charts will show"},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts\u0027).find(\u0027.summary-chart\u0027)"},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 14);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" });"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" it(\u0027merge group option should be disabled when group by none\u0027, () \u003d\u003e {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" .select(\u0027groupByNone\u0027);"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":55,"author":{"gitId":"-"},"content":" .should(\u0027be.disabled\u0027);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" });"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" it(\u0027should have the correct number of merge group contribution bars and correct length\u0027, () \u003d\u003e {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)"},{"lineNumber":60,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":62,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"jonasongg"},"content":" // get the chart bars and assert they have the correct initial widths"},{"lineNumber":65,"author":{"gitId":"jonasongg"},"content":" const expectedWidths \u003d [100, 100, 100, 15, 100, 100, 90, 30, 15];"},{"lineNumber":66,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)"},{"lineNumber":67,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, expectedWidths.length)"},{"lineNumber":68,"author":{"gitId":"-"},"content":" .then(($bars) \u003d\u003e {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" // calculate the percentage of the width relative to the parent container"},{"lineNumber":70,"author":{"gitId":"-"},"content":" const parentWidth \u003d $bars.eq(0).parent().width();"},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":" expectedWidths.forEach((expectedWidth, index) \u003d\u003e {"},{"lineNumber":72,"author":{"gitId":"jonasongg"},"content":" const width \u003d (parseFloat(window.getComputedStyle($bars[index]).width) / parentWidth) * 100;"},{"lineNumber":73,"author":{"gitId":"jonasongg"},"content":" expect(width).to.be.closeTo(expectedWidth, 1);"},{"lineNumber":74,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":75,"author":{"gitId":"-"},"content":" });"},{"lineNumber":76,"author":{"gitId":"-"},"content":" });"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" it(\u0027merge group contribution bars should have correct width after reload\u0027, () \u003d\u003e {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" const initialWidths \u003d [];"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" // Store the initial widths of the contribution bars"},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .each(($bar) \u003d\u003e {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" const width \u003d window.getComputedStyle($bar[0]).width;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" initialWidths.push(width);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" })"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" // Reload the page and wait for the loading div to disappear"},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.get(\u0027.overlay-loader\u0027).should(\u0027not.be.visible\u0027);"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" // Get the contribution bars again and compare their widths with the initial widths"},{"lineNumber":98,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)"},{"lineNumber":99,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, initialWidths.length)"},{"lineNumber":100,"author":{"gitId":"-"},"content":" .each(($bar, index) \u003d\u003e {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" const width \u003d window.getComputedStyle($bar[0]).width;"},{"lineNumber":102,"author":{"gitId":"-"},"content":" expect(width).to.equal(initialWidths[index]);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" });"},{"lineNumber":104,"author":{"gitId":"-"},"content":" });"},{"lineNumber":105,"author":{"gitId":"-"},"content":" });"},{"lineNumber":106,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":91,"jonasongg":15}},{"path":"frontend/cypress/tests/chartView/chartView_scrollToActiveRepo.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"jonasongg"},"content":"describe(\u0027scroll to active repo\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"jonasongg"},"content":" // need to set scrollBehavior to false because the default behavior is to scroll the element into view"},{"lineNumber":3,"author":{"gitId":"jonasongg"},"content":" it(\u0027selecting a visible repo should not scroll\u0027, { scrollBehavior: false }, () \u003d\u003e {"},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" // close the error message box"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)"},{"lineNumber":6,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":7,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":8,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper \u003e #summary \u003e .error-message-box \u003e .error-message-box__close-button\u0027)"},{"lineNumber":9,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":10,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.error-message-box\u0027)"},{"lineNumber":12,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":13,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":14,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":15,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":16,"author":{"gitId":"jonasongg"},"content":" .first();"},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":18,"author":{"gitId":"jonasongg"},"content":" let scrollTopOriginal \u003d 0;"},{"lineNumber":19,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper\u0027)"},{"lineNumber":20,"author":{"gitId":"jonasongg"},"content":" .first()"},{"lineNumber":21,"author":{"gitId":"jonasongg"},"content":" .then(($el) \u003d\u003e {"},{"lineNumber":22,"author":{"gitId":"jonasongg"},"content":" scrollTopOriginal \u003d $el.prop(\u0027scrollTop\u0027);"},{"lineNumber":23,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":24,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":25,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":27,"author":{"gitId":"jonasongg"},"content":" .first()"},{"lineNumber":28,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":29,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":30,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper\u0027)"},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" .first()"},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" .then(($el) \u003d\u003e {"},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" const scrollTop \u003d $el.prop(\u0027scrollTop\u0027);"},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" expect(scrollTop).to.equal(scrollTopOriginal);"},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":" it(\u0027selecting a non-visible repo should scroll\u0027, () \u003d\u003e {"},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":" .last()"},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper\u0027)"},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":" .first()"},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" .then(($el) \u003d\u003e {"},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" const scrollTop \u003d $el.prop(\u0027scrollTop\u0027);"},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":" expect(scrollTop).to.not.equal(0);"},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":50,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":51,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027tabAuthor\u003dYong%20Hao%20TENG\u0027)"},{"lineNumber":53,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027tabRepo\u003dreposense%2Fpublish-RepoSense%5Bmaster%5D\u0027);"},{"lineNumber":54,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":" cy.reload();"},{"lineNumber":56,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":59,"author":{"gitId":"jonasongg"},"content":" .last()"},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":61,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":62,"author":{"gitId":"jonasongg"},"content":"});"}],"authorContributionMap":{"jonasongg":62}},{"path":"frontend/cypress/tests/chartView/chartView_toolBar_searchBox.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027search bar\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027non-existent author shows no result\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":5,"author":{"gitId":"-"},"content":" .type(\u0027abcdef\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":9,"author":{"gitId":"-"},"content":" .submit();"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027).then(($ele) \u003d\u003e {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" const content \u003d $ele.html();"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" expect(content).to.be.empty;"},{"lineNumber":15,"author":{"gitId":"-"},"content":" });"},{"lineNumber":16,"author":{"gitId":"-"},"content":" });"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" it(\u0027unique author shows one result\u0027, () \u003d\u003e {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":21,"author":{"gitId":"jonasongg"},"content":" .type(\u0027Metta\u0027)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" .submit();"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027).then(($ele) \u003d\u003e {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" const children \u003d $ele.children().length;"},{"lineNumber":29,"author":{"gitId":"-"},"content":" expect(children).to.equal(1);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" });"},{"lineNumber":31,"author":{"gitId":"-"},"content":" });"},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":33,"author":{"gitId":"jonasongg"},"content":" it(\u0027searching by non-existent tag shows no results\u0027, () \u003d\u003e {"},{"lineNumber":34,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: asdfghjkl\u0027)"},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":39,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":40,"author":{"gitId":"jonasongg"},"content":" .submit();"},{"lineNumber":41,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":42,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027)"},{"lineNumber":43,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.empty\u0027);"},{"lineNumber":44,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":45,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":46,"author":{"gitId":"jonasongg"},"content":" it(\"searching tag that only exists in one author\u0027s commits shows one result\", () \u003d\u003e {"},{"lineNumber":47,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":48,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":49,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: v1.8\u0027)"},{"lineNumber":50,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":51,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":53,"author":{"gitId":"jonasongg"},"content":" .submit();"},{"lineNumber":54,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart__title--name\u0027)"},{"lineNumber":56,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 1)"},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027Eugene (eugenepeh)\u0027);"},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":59,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":61,"author":{"gitId":"jonasongg"},"content":" .first()"},{"lineNumber":62,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":63,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":64,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)"},{"lineNumber":65,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027v1.8\u0027);"},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":67,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":68,"author":{"gitId":"jonasongg"},"content":" it(\"searching tag that only exists in two authors\u0027 commits shows two results\", () \u003d\u003e {"},{"lineNumber":69,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":70,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: v1.10\u0027)"},{"lineNumber":72,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":73,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":74,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":75,"author":{"gitId":"jonasongg"},"content":" .submit();"},{"lineNumber":76,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":77,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart__title--name\u0027)"},{"lineNumber":78,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 2)"},{"lineNumber":79,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027Eugene (eugenepeh)\u0027)"},{"lineNumber":80,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027James (jamessspanggg)\u0027);"},{"lineNumber":81,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":82,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":83,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":84,"author":{"gitId":"jonasongg"},"content":" .each(($ele) \u003d\u003e {"},{"lineNumber":85,"author":{"gitId":"jonasongg"},"content":" cy.wrap($ele).click();"},{"lineNumber":86,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)"},{"lineNumber":87,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027v1.10\u0027);"},{"lineNumber":88,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":89,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":90,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":91,"author":{"gitId":"jonasongg"},"content":" it(\"search field doesn\u0027t start with \u0027tag:\u0027 prefix but still contains it shows no results\", () \u003d\u003e {"},{"lineNumber":92,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":93,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":94,"author":{"gitId":"jonasongg"},"content":" .type(\u0027v1.10 tag: v1.10\u0027)"},{"lineNumber":95,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":96,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":97,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":98,"author":{"gitId":"jonasongg"},"content":" .submit();"},{"lineNumber":99,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":100,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027)"},{"lineNumber":101,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.empty\u0027);"},{"lineNumber":102,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":103,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":104,"author":{"gitId":"jonasongg"},"content":" it(\"search field doesn\u0027t contain \u0027tag:\u0027 at all shows no results\", () \u003d\u003e {"},{"lineNumber":105,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":106,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":107,"author":{"gitId":"jonasongg"},"content":" .type(\u0027v1.10\u0027)"},{"lineNumber":108,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":109,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":110,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":111,"author":{"gitId":"jonasongg"},"content":" .submit();"},{"lineNumber":112,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":113,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper #summary-charts\u0027)"},{"lineNumber":114,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.empty\u0027);"},{"lineNumber":115,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":116,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":117,"author":{"gitId":"jonasongg"},"content":" it(\u0027searching for multiple tags shows results containing all the tags searched\u0027, () \u003d\u003e {"},{"lineNumber":118,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027).click();"},{"lineNumber":119,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper input[type\u003dtext]\u0027)"},{"lineNumber":120,"author":{"gitId":"jonasongg"},"content":" .type(\u0027tag: bb v1.10\u0027)"},{"lineNumber":121,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":122,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":123,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary-wrapper form.summary-picker\u0027)"},{"lineNumber":124,"author":{"gitId":"jonasongg"},"content":" .submit();"},{"lineNumber":125,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":126,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.summary-chart__title--name\u0027)"},{"lineNumber":127,"author":{"gitId":"jonasongg"},"content":" .should(\u0027have.length\u0027, 2)"},{"lineNumber":128,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027Eugene (eugenepeh)\u0027)"},{"lineNumber":129,"author":{"gitId":"jonasongg"},"content":" .and(\u0027contain\u0027, \u0027James (jamessspanggg)\u0027);"},{"lineNumber":130,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":131,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":132,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":133,"author":{"gitId":"jonasongg"},"content":" .first()"},{"lineNumber":134,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":135,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":136,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)"},{"lineNumber":137,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027bb\u0027);"},{"lineNumber":138,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":139,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":140,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":141,"author":{"gitId":"jonasongg"},"content":" .eq(1)"},{"lineNumber":142,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":143,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":144,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.zoom__title--tags \u003e .tag span\u0027)"},{"lineNumber":145,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027v1.10\u0027);"},{"lineNumber":146,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":147,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":31,"jonasongg":116}},{"path":"frontend/cypress/tests/chartView/chartView_zoomFeature.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"const extractDate \u003d (str) \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" const regex \u003d /\\[(.*?)\\]/g;"},{"lineNumber":3,"author":{"gitId":"-"},"content":" const matches \u003d str.match(regex);"},{"lineNumber":4,"author":{"gitId":"-"},"content":" return new Date(matches[0].slice(1, -1));"},{"lineNumber":5,"author":{"gitId":"-"},"content":"};"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"describe(\u0027zoom features in code view\u0027, () \u003d\u003e {"},{"lineNumber":8,"author":{"gitId":"-"},"content":" const zoomKey \u003d Cypress.platform \u003d\u003d\u003d \u0027darwin\u0027 ? \u0027{meta}\u0027 : \u0027{ctrl}\u0027;"},{"lineNumber":9,"author":{"gitId":"-"},"content":" it(\u0027click on view commits button\u0027, () \u003d\u003e {"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":11,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":12,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":13,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":16,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":17,"author":{"gitId":"-"},"content":" });"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" it(\u0027zoom into ramp\u0027, () \u003d\u003e {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" // clicking from the 10th px to the 50th px in the ramp"},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)"},{"lineNumber":23,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":24,"author":{"gitId":"-"},"content":" .click(10, 20)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" .click(50, 20);"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" });"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" it(\u0027zoom into ramp when merge group\u0027, () \u003d\u003e {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)"},{"lineNumber":33,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":34,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":35,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" // clicking from the 10th px to the 50th px in the ramp"},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)"},{"lineNumber":40,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .click(10, 20)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .click(50, 20);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" });"},{"lineNumber":47,"author":{"gitId":"-"},"content":"});"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":"// Assumptions: Contributer \u0027eugenepeh\u0027 is the first result."},{"lineNumber":50,"author":{"gitId":"-"},"content":"describe(\u0027date changes in chart view should reflect in zoom\u0027, () \u003d\u003e {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" it(\u0027setting \\\u0027since\\\u0027 date range changes the zoom view\u0027, () \u003d\u003e {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":53,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .type(\u0027eugenepeh\u0027);"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":57,"author":{"gitId":"-"},"content":" .type(\u00272018-06-11\u0027);"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":62,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":65,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":68,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":71,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272018-06-11\u0027));"},{"lineNumber":74,"author":{"gitId":"-"},"content":" });"},{"lineNumber":75,"author":{"gitId":"-"},"content":" });"},{"lineNumber":76,"author":{"gitId":"-"},"content":" });"},{"lineNumber":77,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027yong24s\u0027 is the first result."},{"lineNumber":78,"author":{"gitId":"-"},"content":" it(\u0027setting \\\u0027since\\\u0027 date again results in a different zoom view\u0027, () \u003d\u003e {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .type(\u0027yong24s\u0027);"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":84,"author":{"gitId":"-"},"content":" .type(\u00272018-05-20\u0027);"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":87,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":89,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":97,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":98,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272018-05-20\u0027));"},{"lineNumber":101,"author":{"gitId":"-"},"content":" });"},{"lineNumber":102,"author":{"gitId":"-"},"content":" });"},{"lineNumber":103,"author":{"gitId":"-"},"content":" });"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027eugenepeh\u0027 is the first result."},{"lineNumber":106,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 date changes the zoom view\u0027, () \u003d\u003e {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":108,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":109,"author":{"gitId":"-"},"content":" .type(\u0027eugenepeh\u0027);"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":112,"author":{"gitId":"-"},"content":" .type(\u00272019-08-19\u0027);"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":115,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":116,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":117,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":120,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":126,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272019-08-19\u0027));"},{"lineNumber":129,"author":{"gitId":"-"},"content":" });"},{"lineNumber":130,"author":{"gitId":"-"},"content":" });"},{"lineNumber":131,"author":{"gitId":"-"},"content":" });"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027ongspxm\u0027 is the first result."},{"lineNumber":134,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 date again results in a different zoom view\u0027, () \u003d\u003e {"},{"lineNumber":135,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":136,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":137,"author":{"gitId":"-"},"content":" .type(\u0027ongspxm\u0027);"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":140,"author":{"gitId":"-"},"content":" .type(\u00272018-07-20\u0027);"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":143,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":144,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":145,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":151,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":153,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":154,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":156,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272018-07-20\u0027));"},{"lineNumber":157,"author":{"gitId":"-"},"content":" });"},{"lineNumber":158,"author":{"gitId":"-"},"content":" });"},{"lineNumber":159,"author":{"gitId":"-"},"content":" });"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027eugenepeh\u0027 is the first result."},{"lineNumber":162,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 and \\\u0027since\\\u0027 date changes the zoom view\u0027, () \u003d\u003e {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":165,"author":{"gitId":"-"},"content":" .type(\u0027eugenepeh\u0027);"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":168,"author":{"gitId":"-"},"content":" .type(\u00272018-08-27\u0027);"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":171,"author":{"gitId":"-"},"content":" .type(\u00272019-03-09\u0027);"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":174,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":176,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":182,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":184,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":185,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272019-03-09\u0027));"},{"lineNumber":188,"author":{"gitId":"-"},"content":" });"},{"lineNumber":189,"author":{"gitId":"-"},"content":" });"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":192,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":194,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":195,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":197,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272018-08-27\u0027));"},{"lineNumber":198,"author":{"gitId":"-"},"content":" });"},{"lineNumber":199,"author":{"gitId":"-"},"content":" });"},{"lineNumber":200,"author":{"gitId":"-"},"content":" });"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result."},{"lineNumber":203,"author":{"gitId":"-"},"content":" it(\u0027setting the \\\u0027until\\\u0027 and \\\u0027since\\\u0027 date again results in a different zoom view\u0027, () \u003d\u003e {"},{"lineNumber":204,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":205,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":206,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":209,"author":{"gitId":"-"},"content":" .type(\u00272019-07-22\u0027);"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":212,"author":{"gitId":"-"},"content":" .type(\u00272019-08-01\u0027);"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":215,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":216,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":217,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":220,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":224,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":225,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":226,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":227,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":228,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.lte\u0027, new Date(\u00272019-08-01\u0027));"},{"lineNumber":229,"author":{"gitId":"-"},"content":" });"},{"lineNumber":230,"author":{"gitId":"-"},"content":" });"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":233,"author":{"gitId":"-"},"content":" .each(($element) \u003d\u003e {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" cy.wrap($element)"},{"lineNumber":235,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":236,"author":{"gitId":"-"},"content":" .then((titleStr) \u003d\u003e {"},{"lineNumber":237,"author":{"gitId":"-"},"content":" const date \u003d extractDate(titleStr);"},{"lineNumber":238,"author":{"gitId":"-"},"content":" cy.wrap(date).should(\u0027be.gte\u0027, new Date(\u00272019-07-22\u0027));"},{"lineNumber":239,"author":{"gitId":"-"},"content":" });"},{"lineNumber":240,"author":{"gitId":"-"},"content":" });"},{"lineNumber":241,"author":{"gitId":"-"},"content":" });"},{"lineNumber":242,"author":{"gitId":"-"},"content":"});"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":"describe(\u0027range changes in chartview should reflect in zoom\u0027, () \u003d\u003e {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" const zoomKey \u003d Cypress.platform \u003d\u003d\u003d \u0027darwin\u0027 ? \u0027{meta}\u0027 : \u0027{ctrl}\u0027;"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,"},{"lineNumber":248,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,"},{"lineNumber":249,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected."},{"lineNumber":250,"author":{"gitId":"-"},"content":" it(\u0027selecting the initial righthand and lefthand boundary\u0027, () \u003d\u003e {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":252,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":253,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);"},{"lineNumber":254,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":255,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);"},{"lineNumber":256,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":257,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })"},{"lineNumber":258,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)"},{"lineNumber":259,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":260,"author":{"gitId":"-"},"content":" .click(120, 20)"},{"lineNumber":261,"author":{"gitId":"-"},"content":" .click(250, 20);"},{"lineNumber":262,"author":{"gitId":"-"},"content":""},{"lineNumber":263,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":264,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":267,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":268,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":269,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2021-01-04] Update `About us` page (#1393): +55 -30 lines \u0027);"},{"lineNumber":270,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":271,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":272,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":273,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2019-12-20] [#46] Show total time after batch processing (#758): +43 -0 lines \u0027);"},{"lineNumber":274,"author":{"gitId":"-"},"content":" });"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,"},{"lineNumber":277,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,"},{"lineNumber":278,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected."},{"lineNumber":279,"author":{"gitId":"-"},"content":" it(\u0027changing the righthand boundary\u0027, () \u003d\u003e {"},{"lineNumber":280,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":281,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":282,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);"},{"lineNumber":283,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":284,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);"},{"lineNumber":285,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })"},{"lineNumber":287,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)"},{"lineNumber":288,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":289,"author":{"gitId":"-"},"content":" .click(120, 20)"},{"lineNumber":290,"author":{"gitId":"-"},"content":" .click(170, 20);"},{"lineNumber":291,"author":{"gitId":"-"},"content":""},{"lineNumber":292,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":293,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":296,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":297,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":298,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2020-05-23] [#1241] Restore checked file types (#1256): +14 -1 lines \u0027);"},{"lineNumber":299,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":300,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":301,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":302,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2019-12-20] [#46] Show total time after batch processing (#758): +43 -0 lines \u0027);"},{"lineNumber":303,"author":{"gitId":"-"},"content":" });"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,"},{"lineNumber":306,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,"},{"lineNumber":307,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected."},{"lineNumber":308,"author":{"gitId":"-"},"content":" it(\u0027changing the lefthand boundary\u0027, () \u003d\u003e {"},{"lineNumber":309,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":310,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":311,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);"},{"lineNumber":312,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":313,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);"},{"lineNumber":314,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })"},{"lineNumber":316,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)"},{"lineNumber":317,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":318,"author":{"gitId":"-"},"content":" .click(170, 20)"},{"lineNumber":319,"author":{"gitId":"-"},"content":" .click(250, 20);"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":322,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":325,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":326,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":327,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2021-01-04] Update `About us` page (#1393): +55 -30 lines \u0027);"},{"lineNumber":328,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":329,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":330,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":331,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2020-09-27] Add optional check for quotes in diff file regex (#1330): +1 -1 lines \u0027);"},{"lineNumber":332,"author":{"gitId":"-"},"content":" });"},{"lineNumber":333,"author":{"gitId":"-"},"content":""},{"lineNumber":334,"author":{"gitId":"-"},"content":" // Assumptions: Contributer \u0027jamessspanggg\u0027 is the first result,"},{"lineNumber":335,"author":{"gitId":"-"},"content":" // he does not add more commits in the future,"},{"lineNumber":336,"author":{"gitId":"-"},"content":" // and the sort feature is working as expected."},{"lineNumber":337,"author":{"gitId":"-"},"content":" it(\u0027changing the righthand and lefthand boundary\u0027, () \u003d\u003e {"},{"lineNumber":338,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":339,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":340,"author":{"gitId":"-"},"content":" .type(\u0027jamessspanggg\u0027);"},{"lineNumber":341,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":342,"author":{"gitId":"jonasongg"},"content":" .type(\u00272023-12-31\u0027);"},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })"},{"lineNumber":345,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)"},{"lineNumber":346,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":347,"author":{"gitId":"-"},"content":" .click(170, 20)"},{"lineNumber":348,"author":{"gitId":"-"},"content":" .click(225, 20);"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":351,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":354,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":355,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":356,"author":{"gitId":"-"},"content":" .should("},{"lineNumber":357,"author":{"gitId":"-"},"content":" \u0027eq\u0027,"},{"lineNumber":358,"author":{"gitId":"-"},"content":" \u0027[2021-01-04] Update `About us` page (#1393): +55 -30 lines \u0027,"},{"lineNumber":359,"author":{"gitId":"-"},"content":" );"},{"lineNumber":360,"author":{"gitId":"-"},"content":""},{"lineNumber":361,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":362,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":363,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":364,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2020-09-27] Add optional check for quotes in diff file regex (#1330): +1 -1 lines \u0027);"},{"lineNumber":365,"author":{"gitId":"-"},"content":" });"},{"lineNumber":366,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":348,"jonasongg":18}},{"path":"frontend/cypress/tests/codeView/codeView.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027code view\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027at first start shows tutorial message\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027)"},{"lineNumber":4,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-empty \u003e .title\u0027).then(($ele) \u003d\u003e {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" const expected \u003d \u0027Welcome to this RepoSense report!\u0027"},{"lineNumber":8,"author":{"gitId":"-"},"content":" + \u0027The charts on the left show the contribution activities, grouped by repository and author.\u0027"},{"lineNumber":9,"author":{"gitId":"-"},"content":" + \"To view the code attributed to a specific author, click the    icon next to that author\u0027s name.\""},{"lineNumber":10,"author":{"gitId":"-"},"content":" + \"To view the breakdown of commits made by a specific author, click the    icon next to that author\u0027s name.\""},{"lineNumber":11,"author":{"gitId":"-"},"content":" + \u0027To hide the code view and show only the activity charts, click the    icon on the centre divider.\u0027"},{"lineNumber":12,"author":{"gitId":"-"},"content":" + \u0027See the  User Guide  to get a better understanding of how to interpret the report.\u0027;"},{"lineNumber":13,"author":{"gitId":"-"},"content":" const message \u003d $ele.text();"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" expect(expected).to.equal(message);"},{"lineNumber":16,"author":{"gitId":"-"},"content":" });"},{"lineNumber":17,"author":{"gitId":"-"},"content":" });"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" it(\u0027can be closed\u0027, () \u003d\u003e {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027#app #tab-resize .tab-close\u0027)"},{"lineNumber":24,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" });"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" it(\u0027merge group and view code for entire repository\u0027, () \u003d\u003e {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":32,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":33,"author":{"gitId":"-"},"content":" .check({ force: true })"},{"lineNumber":34,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":38,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" });"},{"lineNumber":44,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":43,"jonasongg":1}},{"path":"frontend/cypress/tests/codeView/codeView_checkFileTypes.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027check file types\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check if all files types are visible by default\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":10,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)"},{"lineNumber":13,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":14,"author":{"gitId":"-"},"content":" });"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" it(\u0027uncheck all files types should show no files\u0027, () \u003d\u003e {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":18,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":19,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":20,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":24,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)"},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" });"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" it(\u0027uncheck file type should uncheck all option and not show legend\u0027, () \u003d\u003e {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":37,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":38,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)"},{"lineNumber":45,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":46,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)"},{"lineNumber":49,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" cy.get(\u0027.file \u003e .title \u003e .fileTypeLabel\u0027)"},{"lineNumber":52,"author":{"gitId":"-"},"content":" .should(\u0027not.contain.text\u0027, \u0027java\u0027);"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" cy.get(\u0027.file \u003e .title \u003e .fileTypeLabel\u0027)"},{"lineNumber":55,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027gradle\u0027);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" });"},{"lineNumber":57,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":54,"jonasongg":3}},{"path":"frontend/cypress/tests/codeView/codeView_codeHighlighting.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"sopa301"},"content":"// Assumes: RepoSense repo from 03/05/2018 to current date"},{"lineNumber":2,"author":{"gitId":"sopa301"},"content":"describe(\u0027code highlighting works properly\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":" it(\u0027should highlight code when there is a single author\u0027, () \u003d\u003e {"},{"lineNumber":4,"author":{"gitId":"sopa301"},"content":" // open the code panel"},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":6,"author":{"gitId":"sopa301"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" .first()"},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" .click();"},{"lineNumber":9,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":10,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":11,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.hljs-comment\u0027).contains(\u0027* Represents a Git Author.\u0027)"},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" .parent() // .line-content"},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" .parent() // .code"},{"lineNumber":16,"author":{"gitId":"sopa301"},"content":" .should(\u0027have.css\u0027, \u0027background-color\u0027, \u0027rgb(230, 255, 237)\u0027); // #e6ffed"},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" });"},{"lineNumber":18,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" it(\u0027should highlight code when multiple authors are merged in a repo group\u0027, () \u003d\u003e {"},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":21,"author":{"gitId":"sopa301"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":23,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)"},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":25,"author":{"gitId":"sopa301"},"content":" .check()"},{"lineNumber":26,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":27,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" // open the code panel"},{"lineNumber":29,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":30,"author":{"gitId":"sopa301"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":31,"author":{"gitId":"sopa301"},"content":" .first()"},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" .click();"},{"lineNumber":33,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":37,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.hljs-comment\u0027).contains(\u0027* MUI Colors module\u0027) // eugenepeh"},{"lineNumber":38,"author":{"gitId":"sopa301"},"content":" .parent() // .line-content"},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" .parent() // .code"},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" .should(\u0027have.css\u0027, \u0027background-color\u0027, \u0027rgba(30, 144, 255, 0.19)\u0027) // #1e90ff, transparencyValue 30"},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" .then((firstAuthorColor) \u003d\u003e {"},{"lineNumber":42,"author":{"gitId":"sopa301"},"content":" // eslint-disable-next-line quotes"},{"lineNumber":43,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.line-content\u0027).contains(\"\u0027red\u0027: (\") // jamessspanggg"},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" .parent() // .code"},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" // #f08080, transparencyValue 30"},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" .should(\u0027have.css\u0027, \u0027background-color\u0027, \u0027rgba(240, 128, 128, 0.19)\u0027)"},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":" .and(\u0027not.eq\u0027, firstAuthorColor);"},{"lineNumber":48,"author":{"gitId":"sopa301"},"content":" });"},{"lineNumber":49,"author":{"gitId":"sopa301"},"content":" });"},{"lineNumber":50,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":51,"author":{"gitId":"sopa301"},"content":" it(\u0027should not highlight non-attributed lines\u0027, () \u003d\u003e {"},{"lineNumber":52,"author":{"gitId":"sopa301"},"content":" // open the code panel"},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":55,"author":{"gitId":"sopa301"},"content":" .first()"},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" .click();"},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":59,"author":{"gitId":"sopa301"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":60,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":61,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027.hljs-title\u0027).contains(\u0027Author\u0027)"},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":" .parent() // .hljs-class"},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":" .parent() // .line-content"},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":" .parent() // .code"},{"lineNumber":65,"author":{"gitId":"sopa301"},"content":" .should(\u0027have.css\u0027, \u0027background-color\u0027, \u0027rgb(255, 255, 255)\u0027); // #ffffff"},{"lineNumber":66,"author":{"gitId":"sopa301"},"content":" });"},{"lineNumber":67,"author":{"gitId":"sopa301"},"content":"});"}],"authorContributionMap":{"sopa301":67}},{"path":"frontend/cypress/tests/codeView/codeView_filterGlob.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027filter glob\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check filter glob radio button is clickable\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" // click on filter glob radio button"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":12,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" // filter by file type should be unchecked"},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--checkbox\u0027)"},{"lineNumber":16,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":17,"author":{"gitId":"-"},"content":" });"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" it(\u0027check no filter glob input should show all file types by default\u0027, () \u003d\u003e {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":21,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":23,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":26,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" // the contents of all the files should be visible"},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" });"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" it(\u0027check filter glob input should be in focus after click\u0027, () \u003d\u003e {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":38,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" // click on input box"},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":46,"author":{"gitId":"-"},"content":" .click()"},{"lineNumber":47,"author":{"gitId":"-"},"content":" .should(\u0027have.focus\u0027);"},{"lineNumber":48,"author":{"gitId":"-"},"content":" });"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" it(\u0027check filter glob input should have default empty value\u0027, () \u003d\u003e {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":52,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":53,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":57,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":58,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027\u0027);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" });"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" it(\u0027check deleting previously searched input to filter empty input by enter should show all file types\u0027, () \u003d\u003e {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":67,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":68,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":71,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":72,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" // enter some input"},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":76,"author":{"gitId":"-"},"content":" .type(\u0027an input\u0027);"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" // submit some input"},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" // delete previous input"},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":84,"author":{"gitId":"-"},"content":" .clear();"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" // enter on empty input"},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" });"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" it(\u0027check deleting previously searched input to filter empty input by clicking should show all file types\u0027, () \u003d\u003e {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":96,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":97,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":98,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":105,"author":{"gitId":"-"},"content":" .type(\u0027an input\u0027);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)"},{"lineNumber":108,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":111,"author":{"gitId":"-"},"content":" .clear();"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" // click \u0027Filter\u0027 on empty input"},{"lineNumber":114,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)"},{"lineNumber":115,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":118,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" });"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" it(\u0027check request to filter invalid glob by enter should not show any files\u0027, () \u003d\u003e {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":123,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":124,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":125,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":128,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":129,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":132,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .type(\u0027invalid glob\u0027);"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" // no file should be shown"},{"lineNumber":141,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)"},{"lineNumber":142,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" });"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" it(\u0027check request to filter invalid glob by clicking should not show any files\u0027, () \u003d\u003e {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":147,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":149,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":152,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":153,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":156,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":159,"author":{"gitId":"-"},"content":" .type(\u0027invalid glob\u0027);"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)"},{"lineNumber":162,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)"},{"lineNumber":165,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" });"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" it(\u0027check filter glob should only show files with that extension\u0027, () \u003d\u003e {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":170,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":171,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":172,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":176,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" // try java"},{"lineNumber":179,"author":{"gitId":"-"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":180,"author":{"gitId":"-"},"content":" .type(\u0027*java\u0027);"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" cy.get(\u0027#submit-button\u0027)"},{"lineNumber":183,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027).then(($files) \u003d\u003e {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" // check if there is any file with .java extension"},{"lineNumber":187,"author":{"gitId":"-"},"content":" if ($files.hasClass(\u0027path\u0027)) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" // check each file for .java extension"},{"lineNumber":189,"author":{"gitId":"-"},"content":" cy.get(\u0027.title \u003e .path \u003e span\u0027)"},{"lineNumber":190,"author":{"gitId":"-"},"content":" .then(($spans) \u003d\u003e {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" $spans.toArray().forEach((span) \u003d\u003e {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" cy.wrap(span).contains(\u0027.java\u0027);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" });"},{"lineNumber":194,"author":{"gitId":"-"},"content":" });"},{"lineNumber":195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":196,"author":{"gitId":"-"},"content":" });"},{"lineNumber":197,"author":{"gitId":"-"},"content":" });"},{"lineNumber":198,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":189,"jonasongg":9}},{"path":"frontend/cypress/tests/codeView/codeView_hideFileDetails.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027hide all file details\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check hide all file details hides the content of all the files\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":10,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":" // the contents of all the files should be visible"},{"lineNumber":13,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":14,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" // hide the details of all the files"},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)"},{"lineNumber":18,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" // the contents of all the files should be hidden"},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":26,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" });"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" it(\u0027check details of one file are shown, rest are hidden\u0027, () \u003d\u003e {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":32,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":33,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":36,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":40,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" // should show \u0027show all file details\u0027 only"},{"lineNumber":43,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline a\u0027)"},{"lineNumber":44,"author":{"gitId":"-"},"content":" .should(\u0027not.contain.text\u0027, \u0027hide all file details\u0027)"},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027show all file details\u0027);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" // open contents of the first file"},{"lineNumber":48,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .caret\u0027)"},{"lineNumber":49,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":50,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":51,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" // should show both \u0027show/hide all file details\u0027"},{"lineNumber":54,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline a\u0027)"},{"lineNumber":55,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027hide all file details\u0027)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027show all file details\u0027);"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" // contents of the first file should be visible"},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":60,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" // contents of the last file should be hidden"},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":65,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":66,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" });"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" it(\u0027check file can be hidden after scrolling\u0027, () \u003d\u003e {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":71,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":72,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":73,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":76,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" // contents of the first file should be visible"},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" // scroll some lines in the contents of the second file"},{"lineNumber":84,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":85,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":86,"author":{"gitId":"-"},"content":" .scrollIntoView({ offset: { top: 500, left: 0 } });"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" // title of the second file should still be visible"},{"lineNumber":89,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file .title \u0027)"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" // close contents of the second file"},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .caret\u0027)"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":96,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":97,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" // contents of the second file should not be visible"},{"lineNumber":100,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" // title of the second file should still be visible"},{"lineNumber":105,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file .title \u0027)"},{"lineNumber":106,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" // scroll some lines up from the top of the second file"},{"lineNumber":110,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":111,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":112,"author":{"gitId":"-"},"content":" .scrollIntoView({ offset: { top: -500, left: 0 } });"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" // title of the first file should be visible"},{"lineNumber":115,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file .title \u0027)"},{"lineNumber":116,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":117,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" });"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" it(\u0027check show all file details shows the content of all the files\u0027, () \u003d\u003e {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":122,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":124,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":127,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" // hide the content of all the files"},{"lineNumber":133,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)"},{"lineNumber":134,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" // show the content of all the files"},{"lineNumber":141,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)"},{"lineNumber":142,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":143,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" });"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" it(\u0027check collapsed file persists after sort\u0027, () \u003d\u003e {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":151,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":152,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":153,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":156,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":159,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":160,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" // hide contents of the first file"},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .caret\u0027)"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":165,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":166,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .file-content \u0027)"},{"lineNumber":169,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .title .path\u0027)"},{"lineNumber":173,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":174,"author":{"gitId":"-"},"content":" .invoke(\u0027text\u0027)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" // keep track of first file by file path so test doesn\u0027t rely on correctness of sort"},{"lineNumber":176,"author":{"gitId":"-"},"content":" .then((filePath) \u003d\u003e {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" // change sort by"},{"lineNumber":178,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .select(\u0027Path\u0027)"},{"lineNumber":180,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027path\u0027);"},{"lineNumber":181,"author":{"gitId":"-"},"content":""},{"lineNumber":182,"author":{"gitId":"-"},"content":" // wait until loading is finished"},{"lineNumber":183,"author":{"gitId":"-"},"content":" cy.get(\u0027[aria-label\u003d\"Loading\"]\u0027)"},{"lineNumber":184,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" // contents of file should still be hidden"},{"lineNumber":187,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-authorship .file\u0027, filePath.trim())"},{"lineNumber":188,"author":{"gitId":"-"},"content":" .children(\u0027.file-content\u0027)"},{"lineNumber":189,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" // change sort order"},{"lineNumber":192,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)"},{"lineNumber":193,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)"},{"lineNumber":194,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" // wait until loading is finished"},{"lineNumber":197,"author":{"gitId":"-"},"content":" cy.get(\u0027[aria-label\u003d\"Loading\"]\u0027)"},{"lineNumber":198,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" // contents of file should still be hidden"},{"lineNumber":201,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-authorship .file\u0027, filePath.trim())"},{"lineNumber":202,"author":{"gitId":"-"},"content":" .children(\u0027.file-content\u0027)"},{"lineNumber":203,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":204,"author":{"gitId":"-"},"content":" });"},{"lineNumber":205,"author":{"gitId":"-"},"content":" });"},{"lineNumber":206,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":201,"jonasongg":5}},{"path":"frontend/cypress/tests/codeView/codeView_mergeGroupBlame.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027merge group blame in code view\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027no author breakdown shown by default\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" // code panel should be visible"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":" // author breakdown should not be visible"},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)"},{"lineNumber":15,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);"},{"lineNumber":16,"author":{"gitId":"-"},"content":" });"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" it(\u0027merge group for group by repos shows author breakdown for each file\u0027, () \u003d\u003e {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":26,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":31,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":32,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":33,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" // code panel should be visible"},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files\u0027, { timeout: 90000 })"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" // author breakdown should exist"},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" });"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" it(\u0027author breakdown visible when file content hidden\u0027, () \u003d\u003e {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":46,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":47,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":52,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":53,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":56,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":57,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":58,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":59,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" // hide content of all files"},{"lineNumber":62,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .toolbar--multiline\u0027)"},{"lineNumber":63,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":64,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" // author breakdown should be visible"},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)"},{"lineNumber":68,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" });"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" it(\u0027author breakdown contains only file authors in alphabetical order\u0027, () \u003d\u003e {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":74,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":77,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":78,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":79,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":84,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":85,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":86,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" // author breakdown contains expected author count and order"},{"lineNumber":89,"author":{"gitId":"-"},"content":" const expectedResult \u003d [\u0027eugenepeh\u0027, \u0027jamessspanggg\u0027, \u0027yamidark\u0027, \u0027yong24s\u0027];"},{"lineNumber":90,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .eq(2)"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .children(\u0027.author-breakdown__legend\u0027)"},{"lineNumber":93,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, expectedResult.length)"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .each(($el, index) \u003d\u003e {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.wrap($el).should(\u0027contain\u0027, expectedResult[index]);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" });"},{"lineNumber":97,"author":{"gitId":"-"},"content":" });"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" it(\u0027authors are assigned the same color in all files\u0027, () \u003d\u003e {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":101,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":105,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":106,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":108,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":111,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":112,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":113,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" // check first and second occurence of same author has the same color"},{"lineNumber":117,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .author-breakdown__legend:contains(\\\u0027jamessspanggg\\\u0027)\u0027)"},{"lineNumber":118,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":119,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" const color \u003d $el.children().first().css(\u0027color\u0027);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .author-breakdown__legend:contains(\\\u0027jamessspanggg\\\u0027)\u0027)"},{"lineNumber":122,"author":{"gitId":"-"},"content":" .eq(1).children().first()"},{"lineNumber":123,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027color\u0027, color);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" });"},{"lineNumber":125,"author":{"gitId":"-"},"content":" });"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" it(\u0027author name shown on segment hover for known authors\u0027, () \u003d\u003e {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":133,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":134,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":136,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":139,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":140,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":141,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":142,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":143,"author":{"gitId":"-"},"content":""},{"lineNumber":144,"author":{"gitId":"-"},"content":" // author name in html title attribute should be shown"},{"lineNumber":145,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .segment.active\u0027)"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .not(\u0027.untouched\u0027)"},{"lineNumber":147,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":149,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027eugenepeh\u0027);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" });"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" it(\u0027author name shown as unknown for missing authors\u0027, () \u003d\u003e {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":154,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":159,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":160,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":161,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":164,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":165,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":166,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":167,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" // author name in html title attribute should be unknown"},{"lineNumber":170,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .segment.untouched\u0027)"},{"lineNumber":171,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":172,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":173,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027Unknown\u0027);"},{"lineNumber":174,"author":{"gitId":"-"},"content":" });"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" it(\u0027code segment has same color as author legend\u0027, () \u003d\u003e {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":178,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":182,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":183,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":184,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":185,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":188,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":189,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":190,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":191,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" // segment color should be the same as author legend color"},{"lineNumber":194,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .segment.active\u0027)"},{"lineNumber":195,"author":{"gitId":"-"},"content":" .not(\u0027.untouched\u0027)"},{"lineNumber":196,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":197,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" const color \u003d $el.css(\u0027border-left-color\u0027);"},{"lineNumber":199,"author":{"gitId":"-"},"content":" const author \u003d \u0027eugenepeh\u0027;"},{"lineNumber":200,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)"},{"lineNumber":201,"author":{"gitId":"-"},"content":" .eq(2)"},{"lineNumber":202,"author":{"gitId":"-"},"content":" .children(\u0027.author-breakdown__legend\u0027)"},{"lineNumber":203,"author":{"gitId":"-"},"content":" .contains(author)"},{"lineNumber":204,"author":{"gitId":"-"},"content":" .prev()"},{"lineNumber":205,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027color\u0027, color);"},{"lineNumber":206,"author":{"gitId":"-"},"content":" });"},{"lineNumber":207,"author":{"gitId":"-"},"content":" });"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" it(\u0027colors in author breakdown match assigned colors\u0027, () \u003d\u003e {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" // group summary charts by repos"},{"lineNumber":211,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":212,"author":{"gitId":"-"},"content":" .select(\u0027groupByRepos\u0027);"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" // check merge group checkbox"},{"lineNumber":215,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input\u0027)"},{"lineNumber":216,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":217,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":218,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":221,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":222,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":224,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" // author breakdown contains assigned colors"},{"lineNumber":227,"author":{"gitId":"-"},"content":" const expectedResult \u003d [\u0027rgb(30, 144, 255)\u0027, \u0027rgb(240, 128, 128)\u0027, \u0027rgb(0, 255, 127)\u0027, \u0027rgb(255, 215, 0)\u0027];"},{"lineNumber":228,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship .files .file .title .author-breakdown\u0027)"},{"lineNumber":229,"author":{"gitId":"-"},"content":" .eq(2)"},{"lineNumber":230,"author":{"gitId":"-"},"content":" .children(\u0027.author-breakdown__legend\u0027)"},{"lineNumber":231,"author":{"gitId":"-"},"content":" .each(($el, index) \u003d\u003e {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" cy.wrap($el).children().first().should(\u0027have.css\u0027, \u0027color\u0027, expectedResult[index]);"},{"lineNumber":233,"author":{"gitId":"-"},"content":" });"},{"lineNumber":234,"author":{"gitId":"-"},"content":" });"},{"lineNumber":235,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":226,"jonasongg":9}},{"path":"frontend/cypress/tests/codeView/codeView_reload.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027reload page\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027reload page should restore all controls\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027);"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":" // change sort order"},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)"},{"lineNumber":15,"author":{"gitId":"-"},"content":" .select(\u0027Descending\u0027);"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" // select radio-button"},{"lineNumber":18,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes \u003e .radio-button--checkbox\u0027)"},{"lineNumber":19,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":20,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)"},{"lineNumber":24,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)"},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)"},{"lineNumber":36,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027true\u0027);"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes \u003e .radio-button--checkbox\u0027)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)"},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" });"},{"lineNumber":53,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":52,"jonasongg":1}},{"path":"frontend/cypress/tests/codeView/codeView_renderFilterHash.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027render filter hash\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027search: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" /* Check initial state */"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":5,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027\u0027);"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" /* Enter search and test URL before and after reload */"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-textfield.search_box \u003e input:visible\u0027)"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":12,"author":{"gitId":"-"},"content":" .type(\u0027eugene{enter}\u0027);"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":15,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027search\u003deugene\u0027);"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":20,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027search\u003deugene\u0027);"},{"lineNumber":21,"author":{"gitId":"-"},"content":" });"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" it(\u0027group by: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" /* Check initial state */"},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":26,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027groupByRepos\u0027);"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":30,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByRepos\u0027);"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" /* Select group by none and test URL before and after reload */"},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":34,"author":{"gitId":"-"},"content":" .select(\u0027groupByNone\u0027);"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByNone\u0027);"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByNone\u0027);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" /* Select group by authors and test URL before and after reload */"},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.grouping \u003e select:visible\u0027)"},{"lineNumber":46,"author":{"gitId":"-"},"content":" .select(\u0027groupByAuthors\u0027);"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":49,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByAuthors\u0027);"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027groupSelect\u003dgroupByAuthors\u0027);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" });"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" it(\u0027sort groups by: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" /* Check initial state */"},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)"},{"lineNumber":60,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027groupTitle dsc\u0027);"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":64,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dgroupTitle%20dsc\u0027);"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" /* Select sort by group title ascending and test URL before and after reload */"},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)"},{"lineNumber":68,"author":{"gitId":"-"},"content":" .select(\u0027groupTitle\u0027);"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":71,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dgroupTitle\u0027);"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":76,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dgroupTitle\u0027);"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" /* Select sort by contribution descending and test URL before and after reload */"},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits dsc\u0027);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits%20dsc\u0027);"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits%20dsc\u0027);"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" /* Select sort by contribution ascending and test URL before and after reload */"},{"lineNumber":91,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits\u0027);"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits\u0027);"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":100,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dtotalCommits\u0027);"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" /* Select sort by variance descending and test URL before and after reload */"},{"lineNumber":103,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .select(\u0027variance dsc\u0027);"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance%20dsc\u0027);"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":112,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance%20dsc\u0027);"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" /* Select sort by variance ascending and test URL before and after reload */"},{"lineNumber":115,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-group \u003e select:visible\u0027)"},{"lineNumber":116,"author":{"gitId":"-"},"content":" .select(\u0027variance\u0027);"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":119,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance\u0027);"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":124,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sort\u003dvariance\u0027);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" });"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" it(\u0027sort within groups by: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" /* Check initial state */"},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":131,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027title\u0027);"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":134,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtitle\u0027);"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" /* Select sort by group title ascending and test URL before and after reload */"},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .select(\u0027title dsc\u0027);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":141,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtitle\u0027);"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtitle\u0027);"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" /* Select sort by contribution descending and test URL before and after reload */"},{"lineNumber":149,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)"},{"lineNumber":150,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits dsc\u0027);"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":153,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits%20dsc\u0027);"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":158,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits%20dsc\u0027);"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" /* Select sort by contribution ascending and test URL before and after reload */"},{"lineNumber":161,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)"},{"lineNumber":162,"author":{"gitId":"-"},"content":" .select(\u0027totalCommits\u0027);"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":165,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits\u0027);"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dtotalCommits\u0027);"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" /* Select sort by variance descending and test URL before and after reload */"},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)"},{"lineNumber":174,"author":{"gitId":"-"},"content":" .select(\u0027variance dsc\u0027);"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":177,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance%20dsc\u0027);"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":182,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance%20dsc\u0027);"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" /* Select sort by variance ascending and test URL before and after reload */"},{"lineNumber":185,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.sort-within-group \u003e select:visible\u0027)"},{"lineNumber":186,"author":{"gitId":"-"},"content":" .select(\u0027variance\u0027);"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":189,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance\u0027);"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":194,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027sortWithin\u003dvariance\u0027);"},{"lineNumber":195,"author":{"gitId":"-"},"content":" });"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" it(\u0027granularity: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" /* Check initial state */"},{"lineNumber":199,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.granularity \u003e select:visible\u0027)"},{"lineNumber":200,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":201,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027commit\u0027);"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":204,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dcommit\u0027);"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" /* Select timeframe as day and test URL before and after reload */"},{"lineNumber":207,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.granularity \u003e select:visible\u0027)"},{"lineNumber":208,"author":{"gitId":"-"},"content":" .select(\u0027day\u0027);"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":211,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dday\u0027);"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":214,"author":{"gitId":"-"},"content":""},{"lineNumber":215,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":216,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dday\u0027);"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" /* Select timeframe as week and test URL before and after reload */"},{"lineNumber":219,"author":{"gitId":"-"},"content":" cy.get(\u0027div.mui-select.granularity \u003e select:visible\u0027)"},{"lineNumber":220,"author":{"gitId":"-"},"content":" .select(\u0027week\u0027);"},{"lineNumber":221,"author":{"gitId":"-"},"content":""},{"lineNumber":222,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dweek\u0027);"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":228,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027timeframe\u003dweek\u0027);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" });"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" it(\u0027since: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" /* Check initial state */"},{"lineNumber":233,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":234,"author":{"gitId":"-"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":235,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u00272018-05-03\u0027);"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":238,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027since\u003d2018-05-03\u0027);"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" /* Modify since date and test URL before and after reload */"},{"lineNumber":241,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":242,"author":{"gitId":"-"},"content":" .type(\u00272019-06-04\u0027);"},{"lineNumber":243,"author":{"gitId":"-"},"content":""},{"lineNumber":244,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":245,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027since\u003d2019-06-04\u0027);"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":250,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027since\u003d2019-06-04\u0027);"},{"lineNumber":251,"author":{"gitId":"-"},"content":" });"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" it(\u0027until: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":254,"author":{"gitId":"-"},"content":" /* Check initial state (will require dayjs for getting current date) */"},{"lineNumber":255,"author":{"gitId":"-"},"content":" // cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":256,"author":{"gitId":"-"},"content":" // .invoke(\u0027val\u0027)"},{"lineNumber":257,"author":{"gitId":"-"},"content":" // .should(\u0027eq\u0027, dayjs().format(\u0027YYYY-MM-DD\u0027));"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" // cy.url()"},{"lineNumber":260,"author":{"gitId":"-"},"content":" // .should(\u0027contain\u0027, \u0027date\u003d2023-07-06\u0027);"},{"lineNumber":261,"author":{"gitId":"-"},"content":""},{"lineNumber":262,"author":{"gitId":"-"},"content":" /* Modify since date and test URL before and after reload */"},{"lineNumber":263,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":264,"author":{"gitId":"-"},"content":" .type(\u00272019-06-04\u0027);"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":267,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027until\u003d2019-06-04\u0027);"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":272,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027until\u003d2019-06-04\u0027);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" });"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":" it(\u0027breakdown by file type: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)"},{"lineNumber":277,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":280,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027breakdown\u003dfalse\u0027);"},{"lineNumber":281,"author":{"gitId":"-"},"content":""},{"lineNumber":282,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)"},{"lineNumber":283,"author":{"gitId":"-"},"content":" .check();"},{"lineNumber":284,"author":{"gitId":"-"},"content":""},{"lineNumber":285,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":288,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027breakdown\u003dtrue\u0027);"},{"lineNumber":289,"author":{"gitId":"-"},"content":" });"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":" it(\u0027merge all groups: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.merge-group \u003e input:visible\u0027)"},{"lineNumber":293,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":294,"author":{"gitId":"-"},"content":" .check();"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":297,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027mergegroup\u003dreposense%2FRepoSense%5Bcypress%5D\u0027);"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":302,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027mergegroup\u003dreposense%2FRepoSense%5Bcypress%5D\u0027);"},{"lineNumber":303,"author":{"gitId":"-"},"content":" });"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":" it(\u0027checked file types: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":306,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)"},{"lineNumber":307,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"jonasongg"},"content":" // Assumption: gradle is the first file type and yml is the last file type to appear in the list"},{"lineNumber":310,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":311,"author":{"gitId":"-"},"content":" .should(\u0027not.contain\u0027, \u0027gradle\u0027);"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":314,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027yml\u0027);"},{"lineNumber":315,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary label.filter-breakdown input:visible\u0027)"},{"lineNumber":317,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":318,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":321,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"yml\"]\u0027)"},{"lineNumber":324,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":325,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":327,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027gradle\u0027);"},{"lineNumber":328,"author":{"gitId":"-"},"content":""},{"lineNumber":329,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":330,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);"},{"lineNumber":331,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":333,"author":{"gitId":"-"},"content":""},{"lineNumber":334,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":335,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":336,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":337,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"yml\"]\u0027)"},{"lineNumber":338,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":339,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":341,"author":{"gitId":"-"},"content":" .should(\u0027contain\u0027, \u0027gradle\u0027);"},{"lineNumber":342,"author":{"gitId":"-"},"content":""},{"lineNumber":343,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":344,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);"},{"lineNumber":345,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":347,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":348,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":349,"author":{"gitId":"-"},"content":""},{"lineNumber":350,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":351,"author":{"gitId":"-"},"content":" .should(\u0027not.contain\u0027, \u0027gradle\u0027);"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":354,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);"},{"lineNumber":355,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":357,"author":{"gitId":"-"},"content":""},{"lineNumber":358,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":359,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":360,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":361,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#summary div.fileTypes input[id\u003d\"yml\"]\u0027)"},{"lineNumber":362,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":363,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":364,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":365,"author":{"gitId":"-"},"content":" .should(\u0027not.contain\u0027, \u0027gradle\u0027);"},{"lineNumber":366,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":367,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":368,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027yml\u0027);"},{"lineNumber":369,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":370,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":371,"author":{"gitId":"jonasongg"},"content":" it(\u0027code panel: sort by: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":372,"author":{"gitId":"jonasongg"},"content":" // open the code panel"},{"lineNumber":373,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":374,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":375,"author":{"gitId":"jonasongg"},"content":" .first()"},{"lineNumber":376,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":377,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":378,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-by \u003e select:visible\u0027)"},{"lineNumber":379,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":380,"author":{"gitId":"jonasongg"},"content":" .should(\u0027eq\u0027, \u0027linesOfCode\u0027);"},{"lineNumber":381,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":382,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":383,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027authorshipSortBy\u0027);"},{"lineNumber":384,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":385,"author":{"gitId":"jonasongg"},"content":" /* Select file name and test URL before and after reload */"},{"lineNumber":386,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-by \u003e select:visible\u0027)"},{"lineNumber":387,"author":{"gitId":"jonasongg"},"content":" .select(\u0027fileName\u0027);"},{"lineNumber":388,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":389,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":390,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileName\u0027);"},{"lineNumber":391,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":392,"author":{"gitId":"jonasongg"},"content":" cy.reload();"},{"lineNumber":393,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":394,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":395,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);"},{"lineNumber":396,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":397,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":398,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileName\u0027);"},{"lineNumber":399,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":400,"author":{"gitId":"jonasongg"},"content":" /* Select file type and test URL before and after reload */"},{"lineNumber":401,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-by \u003e select:visible\u0027)"},{"lineNumber":402,"author":{"gitId":"jonasongg"},"content":" .select(\u0027fileType\u0027);"},{"lineNumber":403,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":404,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":405,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileType\u0027);"},{"lineNumber":406,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":407,"author":{"gitId":"jonasongg"},"content":" cy.reload();"},{"lineNumber":408,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":409,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":410,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);"},{"lineNumber":411,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":412,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":413,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipSortBy\u003dfileType\u0027);"},{"lineNumber":414,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":415,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":416,"author":{"gitId":"jonasongg"},"content":" it(\u0027code panel: order: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":417,"author":{"gitId":"jonasongg"},"content":" // open the code panel"},{"lineNumber":418,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":419,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":420,"author":{"gitId":"jonasongg"},"content":" .first()"},{"lineNumber":421,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":422,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":423,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-order \u003e select:visible\u0027)"},{"lineNumber":424,"author":{"gitId":"jonasongg"},"content":" .invoke(\u0027val\u0027)"},{"lineNumber":425,"author":{"gitId":"jonasongg"},"content":" .should(\u0027eq\u0027, \u0027true\u0027); // true is Descending"},{"lineNumber":426,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":427,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":428,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027reverseAuthorshipOrder\u0027);"},{"lineNumber":429,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":430,"author":{"gitId":"jonasongg"},"content":" /* Select ascending and test URL before and after reload */"},{"lineNumber":431,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-order \u003e select:visible\u0027)"},{"lineNumber":432,"author":{"gitId":"jonasongg"},"content":" .select(\u0027false\u0027);"},{"lineNumber":433,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":434,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":435,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dfalse\u0027);"},{"lineNumber":436,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":437,"author":{"gitId":"jonasongg"},"content":" cy.reload();"},{"lineNumber":438,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":439,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":440,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);"},{"lineNumber":441,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":442,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":443,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dfalse\u0027);"},{"lineNumber":444,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":445,"author":{"gitId":"jonasongg"},"content":" /* Select descending and test URL before and after reload */"},{"lineNumber":446,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":447,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027div.mui-select.sort-order \u003e select:visible\u0027)"},{"lineNumber":448,"author":{"gitId":"jonasongg"},"content":" .select(\u0027true\u0027);"},{"lineNumber":449,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":450,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":451,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dtrue\u0027);"},{"lineNumber":452,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":453,"author":{"gitId":"jonasongg"},"content":" cy.reload();"},{"lineNumber":454,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":455,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":456,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);"},{"lineNumber":457,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":458,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":459,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027reverseAuthorshipOrder\u003dtrue\u0027);"},{"lineNumber":460,"author":{"gitId":"jonasongg"},"content":" });"},{"lineNumber":461,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":462,"author":{"gitId":"jonasongg"},"content":" it(\u0027code panel: filter by glob: url params should persist after change and reload\u0027, () \u003d\u003e {"},{"lineNumber":463,"author":{"gitId":"jonasongg"},"content":" // open the code panel"},{"lineNumber":464,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":465,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":466,"author":{"gitId":"jonasongg"},"content":" .first()"},{"lineNumber":467,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":468,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":469,"author":{"gitId":"jonasongg"},"content":" // click on filter glob radio button"},{"lineNumber":470,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027.radio-button--search\u0027)"},{"lineNumber":471,"author":{"gitId":"jonasongg"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":472,"author":{"gitId":"jonasongg"},"content":" .click();"},{"lineNumber":473,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":474,"author":{"gitId":"jonasongg"},"content":" // enter some input"},{"lineNumber":475,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":476,"author":{"gitId":"jonasongg"},"content":" .type(\u0027README.md\u0027);"},{"lineNumber":477,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":478,"author":{"gitId":"jonasongg"},"content":" // submit"},{"lineNumber":479,"author":{"gitId":"jonasongg"},"content":" cy.get(\u0027#search\u0027)"},{"lineNumber":480,"author":{"gitId":"jonasongg"},"content":" .type(\u0027{enter}\u0027);"},{"lineNumber":481,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":482,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":483,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipFilesGlob\u003dREADME.md\u0027);"},{"lineNumber":484,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":485,"author":{"gitId":"jonasongg"},"content":" // Some bugs appear after two reloads, so reload twice here"},{"lineNumber":486,"author":{"gitId":"jonasongg"},"content":" cy.reload();"},{"lineNumber":487,"author":{"gitId":"jonasongg"},"content":" cy.reload();"},{"lineNumber":488,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":489,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":490,"author":{"gitId":"jonasongg"},"content":" .should(\u0027not.contain\u0027, \u0027%23%2F\u0027);"},{"lineNumber":491,"author":{"gitId":"jonasongg"},"content":""},{"lineNumber":492,"author":{"gitId":"jonasongg"},"content":" cy.url()"},{"lineNumber":493,"author":{"gitId":"jonasongg"},"content":" .should(\u0027contain\u0027, \u0027authorshipFilesGlob\u003dREADME.md\u0027);"},{"lineNumber":494,"author":{"gitId":"-"},"content":" });"},{"lineNumber":495,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":339,"jonasongg":156}},{"path":"frontend/cypress/tests/codeView/codeView_switchAuthorship.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027switch authorship\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027switch authorship view should restore all default controls\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the code panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027Path\u0027)"},{"lineNumber":12,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027path\u0027);"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" // change sort order"},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)"},{"lineNumber":16,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" // uncheck a file type"},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" // switch authorship view"},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-code\u0027)"},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":27,"author":{"gitId":"jonasongg"},"content":" .eq(4)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" // check default controls"},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-by \u003e select\u0027)"},{"lineNumber":32,"author":{"gitId":"-"},"content":" .should(\u0027not.have.value\u0027, \u0027path\u0027)"},{"lineNumber":33,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .sorting \u003e .sort-order \u003e select\u0027)"},{"lineNumber":36,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027true\u0027);"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes \u003e .radio-button--checkbox\u0027)"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"all\"]\u0027)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"gradle\"]\u0027)"},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"java\"]\u0027)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .title \u003e .contribution \u003e .fileTypes input[id\u003d\"yml\"]\u0027)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" });"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" it(\u0027switch authorship view should not retain information from previous visited tabs\u0027, () \u003d\u003e {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" // Assumptions:"},{"lineNumber":56,"author":{"gitId":"-"},"content":" // The first repository has more than one person listed."},{"lineNumber":57,"author":{"gitId":"-"},"content":" // The first displayed file which the first and last person worked on is different."},{"lineNumber":58,"author":{"gitId":"-"},"content":" const betweenBracketsRegex \u003d /\\((.*)\\)/;"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" let firstAuthor;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" let firstFilename;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" let lastAuthor;"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" // open the first code panel"},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)"},{"lineNumber":66,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":67,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":68,"author":{"gitId":"-"},"content":" .find(\u0027.fa-code\u0027)"},{"lineNumber":69,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .panel-heading \u003e .author \u003e span\u0027)"},{"lineNumber":73,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":74,"author":{"gitId":"-"},"content":" .then(($span) \u003d\u003e {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" firstAuthor \u003d $span.text().match(betweenBracketsRegex).pop();"},{"lineNumber":76,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":77,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, firstAuthor);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" });"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .files \u003e .file \u003e .title \u003e .path\u0027)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .then(($span) \u003d\u003e {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" firstFilename \u003d $span.text();"},{"lineNumber":84,"author":{"gitId":"-"},"content":" });"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" // switch authorship view"},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":89,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .find(\u0027.fa-code\u0027)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .panel-heading \u003e .author \u003e span\u0027)"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":96,"author":{"gitId":"-"},"content":" .should(($span) \u003d\u003e {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" lastAuthor \u003d $span.text().match(betweenBracketsRegex).pop();"},{"lineNumber":98,"author":{"gitId":"-"},"content":" expect(firstAuthor, \u0027First author to have different name from the last author\u0027)"},{"lineNumber":99,"author":{"gitId":"-"},"content":" .to.not.equal(lastAuthor);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" })"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":103,"author":{"gitId":"-"},"content":" .should(\u0027not.include\u0027, firstAuthor)"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, lastAuthor);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" });"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-authorship \u003e .files \u003e .file \u003e .title \u003e .path\u0027)"},{"lineNumber":108,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":109,"author":{"gitId":"-"},"content":" .should(($span) \u003d\u003e {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" const lastFilename \u003d $span.text();"},{"lineNumber":111,"author":{"gitId":"-"},"content":" expect(firstFilename, \u0027First displayed filenames should be different for different authors\u0027)"},{"lineNumber":112,"author":{"gitId":"-"},"content":" .to.not.equal(lastFilename);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" });"},{"lineNumber":114,"author":{"gitId":"-"},"content":" });"},{"lineNumber":115,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":111,"jonasongg":4}},{"path":"frontend/cypress/tests/general/general.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027general\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027correctly replaces report title\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.title().should(\u0027eq\u0027, \u0027RepoSense Test Report\u0027);"},{"lineNumber":4,"author":{"gitId":"-"},"content":" });"},{"lineNumber":5,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":6,"author":{"gitId":"sopa301"},"content":" it(\u0027correctly contains given title\u0027, () \u003d\u003e {"},{"lineNumber":7,"author":{"gitId":"sopa301"},"content":" cy.get(\u0027h1\u0027).should(\u0027contain\u0027, \u0027RepoSense Intro\u0027);"},{"lineNumber":8,"author":{"gitId":"sopa301"},"content":" });"},{"lineNumber":9,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"sopa301":4,"-":5}},{"path":"frontend/cypress/tests/zoomView/zoomView_diffstat.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027diffstat\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027should render container for contribution bars\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":5,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .stacked-bar-container\u0027)"},{"lineNumber":9,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":10,"author":{"gitId":"-"},"content":" });"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":" // Assumptions: The commit selected here is @eugenepeh\u0027s"},{"lineNumber":13,"author":{"gitId":"-"},"content":" // `README: Fix grammatical error` with 1 insertion and 1 deletion."},{"lineNumber":14,"author":{"gitId":"-"},"content":" it(\u0027should render non-empty contribution bars for commits with changes\u0027, () \u003d\u003e {"},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":16,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":18,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)"},{"lineNumber":24,"author":{"gitId":"-"},"content":" .then((element) \u003d\u003e {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" expect(element.length).to.be.equal(2);"},{"lineNumber":26,"author":{"gitId":"-"},"content":" expect(element[0].style[\u0027background-color\u0027]).to.be.equal(\u0027limegreen\u0027);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" expect(element[0].style.width).to.be.equal(\u00270.1%\u0027);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" expect(element[1].style[\u0027background-color\u0027]).to.be.equal(\u0027red\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" expect(element[1].style.width).to.be.equal(\u00270.1%\u0027);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" });"},{"lineNumber":31,"author":{"gitId":"-"},"content":" });"},{"lineNumber":32,"author":{"gitId":"-"},"content":" });"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" // Assumptions: The commit selected here is @eugenepeh\u0027s"},{"lineNumber":35,"author":{"gitId":"-"},"content":" // `Merge branch \u0027new-branch` into cypress` with 0 insertions and 0 deletions."},{"lineNumber":36,"author":{"gitId":"-"},"content":" it(\u0027should render empty contribution bars for commits with no changes\u0027, () \u003d\u003e {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":38,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":40,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)"},{"lineNumber":43,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":44,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027.stacked-bar__contrib--bar\u0027)"},{"lineNumber":46,"author":{"gitId":"-"},"content":" .then((element) \u003d\u003e {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" expect(element.length).to.be.equal(2);"},{"lineNumber":48,"author":{"gitId":"-"},"content":" expect(element[0].style[\u0027background-color\u0027]).to.be.equal(\u0027limegreen\u0027);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" expect(element[0].style.width).to.be.equal(\u00270%\u0027);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" expect(element[1].style[\u0027background-color\u0027]).to.be.equal(\u0027red\u0027);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" expect(element[1].style.width).to.be.equal(\u00270%\u0027);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" });"},{"lineNumber":53,"author":{"gitId":"-"},"content":" });"},{"lineNumber":54,"author":{"gitId":"-"},"content":" });"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" it(\u0027should render contribution bars in proportion\u0027, () \u003d\u003e {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":58,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":59,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":60,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" let insertionWidthSum \u003d 0;"},{"lineNumber":63,"author":{"gitId":"-"},"content":" let deletionWidthSum \u003d 0;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" let widthProportion \u003d 0;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .stacked-bar__contrib--bar\u0027)"},{"lineNumber":66,"author":{"gitId":"-"},"content":" .then((element) \u003d\u003e {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c element.length; i +\u003d 1) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" const val \u003d parseFloat(element[i].style.width.split(\u0027%\u0027)[0]);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" if (element[i].style[\u0027background-color\u0027] \u003d\u003d\u003d \u0027limegreen\u0027) {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" insertionWidthSum +\u003d val;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" deletionWidthSum +\u003d val;"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":" }"},{"lineNumber":75,"author":{"gitId":"-"},"content":" widthProportion \u003d insertionWidthSum / deletionWidthSum;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" });"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" let insertions \u003d 0;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" let deletions \u003d 0;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" let actualProportion \u003d 0;"},{"lineNumber":81,"author":{"gitId":"-"},"content":" cy.get(\u0027[data-cy\u003d\"changes\"]\u0027)"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .invoke(\u0027text\u0027)"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .then((text) \u003d\u003e {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" const temp \u003d text.split(\u0027lines\u0027);"},{"lineNumber":85,"author":{"gitId":"-"},"content":" for (let i \u003d 0; i \u003c temp.length - 1; i +\u003d 1) {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" insertions +\u003d parseFloat(temp[i].split(\u0027-\u0027)[0].split(\u0027+\u0027)[1].trim());"},{"lineNumber":87,"author":{"gitId":"-"},"content":" deletions +\u003d parseFloat(temp[i].split(\u0027-\u0027)[1].trim());"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":" actualProportion \u003d insertions / deletions;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" expect(widthProportion.toFixed(3)).to.be.equal(actualProportion.toFixed(3));"},{"lineNumber":91,"author":{"gitId":"-"},"content":" });"},{"lineNumber":92,"author":{"gitId":"-"},"content":" });"},{"lineNumber":93,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":89,"jonasongg":4}},{"path":"frontend/cypress/tests/zoomView/zoomView_hideCommitMessages.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027hide all commit messages \u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check hide all commit messages hides the commit messages\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })"},{"lineNumber":10,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":" // the messages of all the commits should be visible"},{"lineNumber":13,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":14,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" // hides all the commit messages"},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":18,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" // the messages of all the commits should be hidden"},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":26,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" });"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" it(\u0027check show all commit messages show the commit messages\u0027, () \u003d\u003e {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":32,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":33,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":34,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" // hides all the commit messages"},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" // the messages of all the commits should be hidden"},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":46,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" // show the messages of all the commits"},{"lineNumber":49,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":50,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":51,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" });"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" it(\u0027should only display hide all commit messages when none are hidden\u0027, () \u003d\u003e {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":60,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":62,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })"},{"lineNumber":65,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" // should only display \u0027hide all commit messages\u0027"},{"lineNumber":68,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":69,"author":{"gitId":"-"},"content":" .children()"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 1);"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":73,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027hide all commit details\u0027);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" });"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" it(\u0027should only display show all commit messages when all are hidden\u0027, () \u003d\u003e {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":78,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":79,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })"},{"lineNumber":84,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" // hides all the commit messages"},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" // should only display \u0027show all commit messages\u0027"},{"lineNumber":91,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .children()"},{"lineNumber":93,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 1);"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":96,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" });"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" it(\u0027should display both show and hide all commit messages when some are hidden\u0027, () \u003d\u003e {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":101,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":102,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":103,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" // hide the message body of the first commit"},{"lineNumber":110,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message \u003e a .tooltip\u0027)"},{"lineNumber":111,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":112,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":113,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" // should now display both \u0027hide all \u0026 show all commit messages\u0027"},{"lineNumber":116,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":117,"author":{"gitId":"-"},"content":" .children()"},{"lineNumber":118,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 2);"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":121,"author":{"gitId":"-"},"content":" .eq(0)"},{"lineNumber":122,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":126,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027hide all commit details\u0027);"},{"lineNumber":127,"author":{"gitId":"-"},"content":" });"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" it(\u0027check show all and hide all commit messages only toggle current commits\u0027, () \u003d\u003e {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" // Assumptions: the fifth commit (19e3294) of the first author of the first repo"},{"lineNumber":131,"author":{"gitId":"-"},"content":" // contains changes in only .java files."},{"lineNumber":132,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":133,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":134,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })"},{"lineNumber":138,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" // uncheck java file type"},{"lineNumber":141,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)"},{"lineNumber":142,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":143,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" // hides all the commit messages"},{"lineNumber":146,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":147,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" // should only display \u0027show all commit messages\u0027"},{"lineNumber":150,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":151,"author":{"gitId":"-"},"content":" .children()"},{"lineNumber":152,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 1);"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" // check java file type"},{"lineNumber":158,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)"},{"lineNumber":159,"author":{"gitId":"-"},"content":" .check()"},{"lineNumber":160,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" // commit body of the merge commit should be visible"},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .eq(0)"},{"lineNumber":165,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" // commit body of the md commit should not be visible"},{"lineNumber":168,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":169,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" // commit body of the java commit should be visible"},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":174,"author":{"gitId":"-"},"content":" .eq(4)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" .scrollIntoView()"},{"lineNumber":176,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" // should now display both \u0027hide all \u0026 show all commit messages\u0027"},{"lineNumber":179,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline\u0027)"},{"lineNumber":180,"author":{"gitId":"-"},"content":" .children()"},{"lineNumber":181,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, 2);"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":184,"author":{"gitId":"-"},"content":" .eq(0)"},{"lineNumber":185,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027show all commit details\u0027);"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .toolbar--multiline \u003e a\u0027)"},{"lineNumber":188,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":189,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027hide all commit details\u0027);"},{"lineNumber":190,"author":{"gitId":"-"},"content":" });"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" it(\u0027check hidden commit message persists after sort\u0027, () \u003d\u003e {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":194,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":195,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":196,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027, { timeout: 90000 })"},{"lineNumber":199,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":200,"author":{"gitId":"-"},"content":""},{"lineNumber":201,"author":{"gitId":"-"},"content":" // hide the message body of the first commit"},{"lineNumber":202,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message \u003e a .tooltip\u0027)"},{"lineNumber":203,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":204,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":205,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .body\u0027)"},{"lineNumber":208,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":209,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message .hash\u0027)"},{"lineNumber":212,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":213,"author":{"gitId":"-"},"content":" .invoke(\u0027text\u0027)"},{"lineNumber":214,"author":{"gitId":"-"},"content":" // keep track of first commit by hash so test doesn\u0027t rely on correctness of sort"},{"lineNumber":215,"author":{"gitId":"-"},"content":" .then((hash) \u003d\u003e {"},{"lineNumber":216,"author":{"gitId":"-"},"content":" // change sort by"},{"lineNumber":217,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select\u0027)"},{"lineNumber":218,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027)"},{"lineNumber":219,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" // message body should still be hidden"},{"lineNumber":222,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-zoom .commit-message\u0027, hash)"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .children(\u0027.body\u0027)"},{"lineNumber":224,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" // change sort order"},{"lineNumber":227,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)"},{"lineNumber":228,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)"},{"lineNumber":229,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" // message body should still be hidden"},{"lineNumber":232,"author":{"gitId":"-"},"content":" cy.contains(\u0027#tab-zoom .commit-message\u0027, hash)"},{"lineNumber":233,"author":{"gitId":"-"},"content":" .children(\u0027.body\u0027)"},{"lineNumber":234,"author":{"gitId":"-"},"content":" .should(\u0027not.be.visible\u0027);"},{"lineNumber":235,"author":{"gitId":"-"},"content":" });"},{"lineNumber":236,"author":{"gitId":"-"},"content":" });"},{"lineNumber":237,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":230,"jonasongg":7}},{"path":"frontend/cypress/tests/zoomView/zoomView_mergeCommits.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027include merge commits in zoom view\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027show merge commits when all file types selected\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commits panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" // check if the icon for merge commits is visible"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027.code-merge-icon\u0027)"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);"},{"lineNumber":12,"author":{"gitId":"-"},"content":" });"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" it(\u0027hide merge commits when some file types unselected\u0027, () \u003d\u003e {"},{"lineNumber":15,"author":{"gitId":"-"},"content":" // open the commits panel"},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":18,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" // uncheck the java file type"},{"lineNumber":22,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)"},{"lineNumber":23,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":24,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" // check if the icon for merge commits is not visible"},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027.code-merge-icon\u0027)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" });"},{"lineNumber":30,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":28,"jonasongg":2}},{"path":"frontend/cypress/tests/zoomView/zoomView_rampChart.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027show ramp chart for period\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" // Assumptions: The commit messages on the zoom view are"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // correctly filtered according to the selected period."},{"lineNumber":4,"author":{"gitId":"-"},"content":" it(\u0027show ramp chart for all commits by default\u0027, () \u003d\u003e {"},{"lineNumber":5,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":6,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":7,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":8,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":9,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":" // ramp chart should be visible"},{"lineNumber":12,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .ramp\u0027)"},{"lineNumber":13,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" // ramp chart should have the same number of slices as commits"},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" .its(\u0027length\u0027).then(($length) \u003d\u003e {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":19,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, $length);"},{"lineNumber":20,"author":{"gitId":"-"},"content":" });"},{"lineNumber":21,"author":{"gitId":"-"},"content":" });"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" // Assumptions: The commit messages on the zoom view are"},{"lineNumber":24,"author":{"gitId":"-"},"content":" // correctly filtered according to the selected period."},{"lineNumber":25,"author":{"gitId":"-"},"content":" it(\u0027show ramp chart for selected commits when date range changed\u0027, () \u003d\u003e {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" // change since date"},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .type(\u00272018-06-10\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":31,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":32,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":35,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":36,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":38,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" // ramp chart should be visible"},{"lineNumber":41,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .ramp\u0027)"},{"lineNumber":42,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" // ramp chart should have the same number of slices as commits"},{"lineNumber":45,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)"},{"lineNumber":46,"author":{"gitId":"-"},"content":" .its(\u0027length\u0027).then(($length) \u003d\u003e {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, $length);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" });"},{"lineNumber":50,"author":{"gitId":"-"},"content":" });"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" // Assumptions: The commit messages on the zoom view are"},{"lineNumber":53,"author":{"gitId":"-"},"content":" // correctly filtered according to the selected period."},{"lineNumber":54,"author":{"gitId":"-"},"content":" it(\u0027show ramp chart for selected commits when zooming\u0027, () \u003d\u003e {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" const zoomKey \u003d Cypress.platform \u003d\u003d\u003d \u0027darwin\u0027 ? \u0027{meta}\u0027 : \u0027{ctrl}\u0027;"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" // zoom into ramp on summary panel"},{"lineNumber":58,"author":{"gitId":"-"},"content":" cy.get(\u0027body\u0027).type(zoomKey, { release: false })"},{"lineNumber":59,"author":{"gitId":"-"},"content":" .get(\u0027#summary-charts .summary-chart__ramp .ramp\u0027)"},{"lineNumber":60,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .click(10, 20)"},{"lineNumber":62,"author":{"gitId":"-"},"content":" .click(50, 20);"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" // commits panel should be visible"},{"lineNumber":65,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom\u0027)"},{"lineNumber":66,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" // ramp chart should be visible"},{"lineNumber":69,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .ramp\u0027)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027);"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" // ramp chart should have the same number of slices as commits"},{"lineNumber":73,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .commit-message\u0027)"},{"lineNumber":74,"author":{"gitId":"-"},"content":" .its(\u0027length\u0027).then(($length) \u003d\u003e {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":76,"author":{"gitId":"-"},"content":" .should(\u0027have.length\u0027, $length);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" });"},{"lineNumber":78,"author":{"gitId":"-"},"content":" });"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel"},{"lineNumber":81,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027."},{"lineNumber":82,"author":{"gitId":"-"},"content":" it(\u0027ramps should be between start date and end date\u0027, () \u003d\u003e {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" // change since date"},{"lineNumber":84,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":85,"author":{"gitId":"-"},"content":" .type(\u00272018-06-10\u0027);"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":88,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":89,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":92,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":93,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" // first ramp should be for commit after start date"},{"lineNumber":98,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":99,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":100,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2018-06-12] Setup AppVeyor CI (#142): +19 -0 lines \u0027);"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" // last ramp should be for commit before end date"},{"lineNumber":104,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":105,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":106,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027title\u0027)"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027[2019-03-25] [#622] CsvParser#parse: fix error handling of `processLine` (#623): +30 -10 lines \u0027);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" });"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel"},{"lineNumber":111,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027."},{"lineNumber":112,"author":{"gitId":"-"},"content":" it(\u0027ramp should have expected properties\u0027, () \u003d\u003e {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":114,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":115,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);"},{"lineNumber":116,"author":{"gitId":"-"},"content":""},{"lineNumber":117,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":118,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":119,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":120,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":121,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" // last ramp should have expected z-index"},{"lineNumber":124,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":126,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027z-index\u0027, \u002739\u0027);"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" // last ramp should have expected width"},{"lineNumber":129,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":131,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027border-left-width\u0027, \u00277px\u0027);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" });"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" // Assumptions: The second author on the summary panel"},{"lineNumber":135,"author":{"gitId":"-"},"content":" // should be \u0027jamessspanggg\u0027."},{"lineNumber":136,"author":{"gitId":"-"},"content":" it(\u0027deletes commit ramp should have expected properties\u0027, () \u003d\u003e {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" // change since date"},{"lineNumber":138,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"since\"]:visible\u0027)"},{"lineNumber":139,"author":{"gitId":"-"},"content":" .type(\u00272019-07-16\u0027);"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":142,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":143,"author":{"gitId":"-"},"content":" .type(\u00272019-07-29\u0027);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":146,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":147,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":149,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" // deletes commit ramp should have expected color"},{"lineNumber":152,"author":{"gitId":"-"},"content":" cy.get(\u0027[title\u003d\"[2019-07-24] [#828] Revert \\\\\"v_summary.js: remove redundant calls \u0027"},{"lineNumber":153,"author":{"gitId":"-"},"content":" + \u0027to getFiltered() (#800)\\\\\" (#832): +0 -9 lines \"]\u0027)"},{"lineNumber":154,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .should(\u0027have.class\u0027, \u0027ramp__slice\u0027)"},{"lineNumber":156,"author":{"gitId":"-"},"content":" .should(\u0027have.css\u0027, \u0027border-bottom\u0027, \u002748px solid rgba(244, 67, 54, 0.7)\u0027);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" });"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel"},{"lineNumber":160,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027."},{"lineNumber":161,"author":{"gitId":"-"},"content":" it(\u0027merge commit ramp should have expected properties\u0027, () \u003d\u003e {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":163,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .type(\u00272024-03-04\u0027);"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":167,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":168,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":169,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" // merge commit ramp should have expected color"},{"lineNumber":173,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":174,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027border-bottom\u0027))"},{"lineNumber":176,"author":{"gitId":"-"},"content":" .then((border1) \u003d\u003e {"},{"lineNumber":177,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":178,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027border-bottom\u0027))"},{"lineNumber":180,"author":{"gitId":"-"},"content":" .then((border2) \u003d\u003e {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" expect(border1).to.be.eq(border2);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" });"},{"lineNumber":183,"author":{"gitId":"-"},"content":" });"},{"lineNumber":184,"author":{"gitId":"-"},"content":" });"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel"},{"lineNumber":187,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027."},{"lineNumber":188,"author":{"gitId":"-"},"content":" it(\u0027ramps from different days should have expected relative properties\u0027, () \u003d\u003e {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":190,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":191,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":194,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":195,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":196,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":197,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":198,"author":{"gitId":"-"},"content":""},{"lineNumber":199,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative z-indices"},{"lineNumber":200,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":201,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":202,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))"},{"lineNumber":203,"author":{"gitId":"-"},"content":" .then(parseInt) // get 1st z-index"},{"lineNumber":204,"author":{"gitId":"-"},"content":" .then((index1) \u003d\u003e {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":206,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":207,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))"},{"lineNumber":208,"author":{"gitId":"-"},"content":" .then(parseInt) // get 2nd z-index"},{"lineNumber":209,"author":{"gitId":"-"},"content":" .then((index2) \u003d\u003e {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" expect(index1).to.be.gt(index2);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" });"},{"lineNumber":212,"author":{"gitId":"-"},"content":" });"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative distances from the right"},{"lineNumber":215,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":216,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":217,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))"},{"lineNumber":218,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 1st distance"},{"lineNumber":219,"author":{"gitId":"-"},"content":" .then((distance1) \u003d\u003e {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":221,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":222,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 2nd distance"},{"lineNumber":224,"author":{"gitId":"-"},"content":" .then((distance2) \u003d\u003e {"},{"lineNumber":225,"author":{"gitId":"-"},"content":" expect(distance1).to.be.lt(distance2);"},{"lineNumber":226,"author":{"gitId":"-"},"content":" });"},{"lineNumber":227,"author":{"gitId":"-"},"content":" });"},{"lineNumber":228,"author":{"gitId":"-"},"content":" });"},{"lineNumber":229,"author":{"gitId":"-"},"content":""},{"lineNumber":230,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel"},{"lineNumber":231,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027."},{"lineNumber":232,"author":{"gitId":"-"},"content":" it(\u0027ramps from the same day should have expected relative properties\u0027, () \u003d\u003e {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":234,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":235,"author":{"gitId":"-"},"content":" .type(\u00272023-03-04\u0027);"},{"lineNumber":236,"author":{"gitId":"-"},"content":""},{"lineNumber":237,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":238,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":239,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":240,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":241,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative z-indices"},{"lineNumber":244,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":245,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":246,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))"},{"lineNumber":247,"author":{"gitId":"-"},"content":" .then(parseInt) // get 1st z-index"},{"lineNumber":248,"author":{"gitId":"-"},"content":" .then((index1) \u003d\u003e {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":250,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":251,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027z-index\u0027))"},{"lineNumber":252,"author":{"gitId":"-"},"content":" .then(parseInt) // get 2nd z-index"},{"lineNumber":253,"author":{"gitId":"-"},"content":" .then((index2) \u003d\u003e {"},{"lineNumber":254,"author":{"gitId":"-"},"content":" expect(index1).to.be.eq(index2);"},{"lineNumber":255,"author":{"gitId":"-"},"content":" });"},{"lineNumber":256,"author":{"gitId":"-"},"content":" });"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":" // last 2 ramps should have expected relative distances from the right"},{"lineNumber":259,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":260,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":261,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))"},{"lineNumber":262,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 1st distance"},{"lineNumber":263,"author":{"gitId":"-"},"content":" .then((distance1) \u003d\u003e {"},{"lineNumber":264,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":265,"author":{"gitId":"-"},"content":" .eq(1)"},{"lineNumber":266,"author":{"gitId":"-"},"content":" .then(($el) \u003d\u003e $el.css(\u0027right\u0027))"},{"lineNumber":267,"author":{"gitId":"-"},"content":" .then(parseFloat) // get 2nd distance"},{"lineNumber":268,"author":{"gitId":"-"},"content":" .then((distance2) \u003d\u003e {"},{"lineNumber":269,"author":{"gitId":"-"},"content":" expect(distance1).to.be.gt(distance2);"},{"lineNumber":270,"author":{"gitId":"-"},"content":" });"},{"lineNumber":271,"author":{"gitId":"-"},"content":" });"},{"lineNumber":272,"author":{"gitId":"-"},"content":" });"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":" // Assumptions: The first author on the summary panel"},{"lineNumber":275,"author":{"gitId":"-"},"content":" // should be \u0027eugenepeh\u0027."},{"lineNumber":276,"author":{"gitId":"-"},"content":" it(\u0027ramp should link to commit webpage\u0027, () \u003d\u003e {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" // change until date"},{"lineNumber":278,"author":{"gitId":"-"},"content":" cy.get(\u0027input[name\u003d\"until\"]:visible\u0027)"},{"lineNumber":279,"author":{"gitId":"-"},"content":" .type(\u00272019-06-10\u0027);"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":282,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":283,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":284,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":285,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":286,"author":{"gitId":"-"},"content":""},{"lineNumber":287,"author":{"gitId":"-"},"content":" // last ramp should have expected link"},{"lineNumber":288,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .ramp .ramp__slice\u0027)"},{"lineNumber":289,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":290,"author":{"gitId":"-"},"content":" .invoke(\u0027attr\u0027, \u0027href\u0027)"},{"lineNumber":291,"author":{"gitId":"-"},"content":" .should(\u0027eq\u0027, \u0027https://github.com/reposense/RepoSense/commit/19e32944d4c67ed0b6bdc5697016536cc9e17ed9\u0027);"},{"lineNumber":292,"author":{"gitId":"-"},"content":" });"},{"lineNumber":293,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":284,"jonasongg":9}},{"path":"frontend/cypress/tests/zoomView/zoomView_reload.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027reload page\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027reload page should restore all controls\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027);"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":" // change sort order"},{"lineNumber":14,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)"},{"lineNumber":15,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027);"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)"},{"lineNumber":18,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":19,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"scss\"]\u0027)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":23,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.reload();"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)"},{"lineNumber":31,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"all\"]\u0027)"},{"lineNumber":34,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"scss\"]\u0027)"},{"lineNumber":40,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" });"},{"lineNumber":42,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":41,"jonasongg":1}},{"path":"frontend/cypress/tests/zoomView/zoomView_selectFileTypes.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027check file types \u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027check if all file types are visible by default\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":4,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":5,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .zoom__day\u0027, { timeout: 90000 })"},{"lineNumber":9,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"all\"]\u0027)"},{"lineNumber":12,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":13,"author":{"gitId":"-"},"content":" });"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" it(\u0027uncheck all file types should show no files\u0027, () \u003d\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":17,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":18,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":19,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .zoom__day\u0027)"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027exist\u0027);"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"all\"]\u0027)"},{"lineNumber":25,"author":{"gitId":"-"},"content":" .uncheck();"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .zoom__day\u0027)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .should(\u0027not.exist\u0027);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" });"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" it(\u0027uncheck file type should uncheck all option\u0027, () \u003d\u003e {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" // Assumptions: the first author of the first repo"},{"lineNumber":33,"author":{"gitId":"-"},"content":" // committed .java, .js and .gradle files."},{"lineNumber":34,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":35,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":36,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":37,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)"},{"lineNumber":40,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"js\"]\u0027)"},{"lineNumber":44,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":45,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"all\"]\u0027)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" });"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" it(\u0027a commit should not be seen when all of its file types are unchecked\u0027, () \u003d\u003e {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" // Assumptions: the third commit (19e3294) of the first author of the first repo"},{"lineNumber":53,"author":{"gitId":"-"},"content":" // contains changes in only .java files."},{"lineNumber":54,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":55,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":56,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":57,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)"},{"lineNumber":60,"author":{"gitId":"-"},"content":" .eq(2)"},{"lineNumber":61,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" cy.get(\u0027.hash\u0027)"},{"lineNumber":63,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u002719e3294\u0027);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" cy.get(\u0027.fileTypeLabel\u0027)"},{"lineNumber":65,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u0027java\u0027);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" });"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)"},{"lineNumber":69,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)"},{"lineNumber":73,"author":{"gitId":"-"},"content":" .should(\u0027not.contain.text\u0027, \u002719e3294\u0027);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" });"},{"lineNumber":75,"author":{"gitId":"-"},"content":""},{"lineNumber":76,"author":{"gitId":"-"},"content":" it.only(\u0027unchecked file type label can still remain in a commit of multiple file types\u0027, () \u003d\u003e {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" // Assumptions: the eighth commit (5ab0322) of the first author of the first repo"},{"lineNumber":78,"author":{"gitId":"-"},"content":" // contains changes in both .java and .md files."},{"lineNumber":79,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":80,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)"},{"lineNumber":85,"author":{"gitId":"-"},"content":" .eq(7)"},{"lineNumber":86,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" cy.get(\u0027.hash\u0027)"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u00275ab0322\u0027);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" cy.get(\u0027.fileTypeLabel\u0027)"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027java\u0027)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027md\u0027);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" });"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom .fileTypes input[value\u003d\"java\"]\u0027)"},{"lineNumber":95,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":96,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" cy.get(\u0027.zoom__day \u003e .commit-message\u0027)"},{"lineNumber":99,"author":{"gitId":"-"},"content":" // note that the same commit is now of fourth order since other commits"},{"lineNumber":100,"author":{"gitId":"-"},"content":" // were filtered out"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .eq(3)"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .within(() \u003d\u003e {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" cy.get(\u0027.hash\u0027)"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .should(\u0027have.text\u0027, \u00275ab0322\u0027);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" cy.get(\u0027.fileTypeLabel\u0027)"},{"lineNumber":106,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027java\u0027)"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .should(\u0027contain.text\u0027, \u0027md\u0027);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" });"},{"lineNumber":109,"author":{"gitId":"-"},"content":" });"},{"lineNumber":110,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":105,"jonasongg":5}},{"path":"frontend/cypress/tests/zoomView/zoomView_switchZoom.cy.js","fileType":"js","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"describe(\u0027switch zoom\u0027, () \u003d\u003e {"},{"lineNumber":2,"author":{"gitId":"-"},"content":" it(\u0027switch zoom view should restore all default controls\u0027, () \u003d\u003e {"},{"lineNumber":3,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":4,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":5,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":6,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":7,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":" // change sort by"},{"lineNumber":10,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)"},{"lineNumber":11,"author":{"gitId":"-"},"content":" .select(\u0027LoC\u0027)"},{"lineNumber":12,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027linesOfCode\u0027);"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" // change sort order"},{"lineNumber":15,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)"},{"lineNumber":16,"author":{"gitId":"-"},"content":" .select(\u0027Ascending\u0027)"},{"lineNumber":17,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027false\u0027);"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" // uncheck a file type"},{"lineNumber":20,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .uncheck()"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .should(\u0027not.be.checked\u0027);"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" // switch zoom view"},{"lineNumber":25,"author":{"gitId":"-"},"content":" cy.get(\u0027.icon-button.fa-list-ul\u0027)"},{"lineNumber":26,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":27,"author":{"gitId":"jonasongg"},"content":" .eq(4)"},{"lineNumber":28,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" cy.get(\u0027#tabs-wrapper\u0027).scrollTo(\u0027top\u0027);"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" // check default controls"},{"lineNumber":33,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-by \u003e select:visible\u0027)"},{"lineNumber":34,"author":{"gitId":"-"},"content":" .should(\u0027not.have.value\u0027, \u0027linesOfCode\u0027)"},{"lineNumber":35,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027time\u0027);"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .sorting \u003e .sort-order \u003e select:visible\u0027)"},{"lineNumber":38,"author":{"gitId":"-"},"content":" .should(\u0027have.value\u0027, \u0027true\u0027);"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"all\"]\u0027)"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":42,"author":{"gitId":"-"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"gradle\"]\u0027)"},{"lineNumber":44,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"java\"]\u0027)"},{"lineNumber":47,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"md\"]\u0027)"},{"lineNumber":50,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .fileTypes input[value\u003d\"yml\"]\u0027)"},{"lineNumber":53,"author":{"gitId":"-"},"content":" .should(\u0027be.checked\u0027);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" });"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" it(\u0027switch zoom view should not retain information from previous visited tabs\u0027, () \u003d\u003e {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" // Assumptions:"},{"lineNumber":58,"author":{"gitId":"-"},"content":" // The first repository has more than one person listed."},{"lineNumber":59,"author":{"gitId":"-"},"content":" // The first day in which the first and last person contributed is different."},{"lineNumber":60,"author":{"gitId":"-"},"content":" const betweenBracketsRegex \u003d /\\((.*)\\)/;"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" let firstAuthor;"},{"lineNumber":63,"author":{"gitId":"-"},"content":" let firstDay;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" let lastAuthor;"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" // open the commit panel"},{"lineNumber":67,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)"},{"lineNumber":68,"author":{"gitId":"jonasongg"},"content":" .should(\u0027exist\u0027)"},{"lineNumber":69,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":70,"author":{"gitId":"-"},"content":" .find(\u0027.fa-list-ul\u0027)"},{"lineNumber":71,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":72,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .panel-heading \u003e .author \u003e span\u0027)"},{"lineNumber":75,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":76,"author":{"gitId":"-"},"content":" .then(($span) \u003d\u003e {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" firstAuthor \u003d $span.text().match(betweenBracketsRegex).pop();"},{"lineNumber":78,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":79,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, firstAuthor);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" });"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .zoom__day \u003e h3\u0027)"},{"lineNumber":83,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":84,"author":{"gitId":"-"},"content":" .then(($h3) \u003d\u003e {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" firstDay \u003d $h3.text();"},{"lineNumber":86,"author":{"gitId":"-"},"content":" });"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" // switch zoom view"},{"lineNumber":89,"author":{"gitId":"-"},"content":" cy.get(\u0027#summary-charts \u003e .summary-charts\u0027)"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .should(\u0027be.visible\u0027)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .find(\u0027.fa-list-ul\u0027)"},{"lineNumber":93,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .click();"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .panel-heading \u003e .author \u003e span\u0027)"},{"lineNumber":97,"author":{"gitId":"-"},"content":" .last()"},{"lineNumber":98,"author":{"gitId":"-"},"content":" .should(($span) \u003d\u003e {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" lastAuthor \u003d $span.text().match(betweenBracketsRegex).pop();"},{"lineNumber":100,"author":{"gitId":"-"},"content":" expect(firstAuthor, \u0027First author to have different name from the last author\u0027)"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .to.not.equal(lastAuthor);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" })"},{"lineNumber":103,"author":{"gitId":"-"},"content":" .then(() \u003d\u003e {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" cy.url()"},{"lineNumber":105,"author":{"gitId":"-"},"content":" .should(\u0027not.include\u0027, firstAuthor)"},{"lineNumber":106,"author":{"gitId":"-"},"content":" .should(\u0027include\u0027, lastAuthor);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" });"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" cy.get(\u0027#tab-zoom \u003e .zoom__day \u003e h3\u0027)"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .first()"},{"lineNumber":111,"author":{"gitId":"-"},"content":" .should(($h3) \u003d\u003e {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" const lastDay \u003d $h3.text();"},{"lineNumber":113,"author":{"gitId":"-"},"content":" expect(firstDay, \u0027First displayed date should be different for different authors by assumptions\u0027)"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .to.not.equal(lastDay);"},{"lineNumber":115,"author":{"gitId":"-"},"content":" });"},{"lineNumber":116,"author":{"gitId":"-"},"content":" });"},{"lineNumber":117,"author":{"gitId":"-"},"content":"});"}],"authorContributionMap":{"-":113,"jonasongg":4}},{"path":"frontend/package-lock.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"name\": \"reposense\","},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":4,"author":{"gitId":"sopa301"},"content":" \"lockfileVersion\": 3,"},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"requires\": true,"},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"packages\": {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"\": {"},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"name\": \"reposense\","},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"license\": \"ISC\","},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12,"author":{"gitId":"sopa301"},"content":" \"@fontsource/titillium-web\": \"^5.0.0\","},{"lineNumber":13,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-svg-core\": \"^6.5.1\","},{"lineNumber":14,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-brands-svg-icons\": \"^6.5.1\","},{"lineNumber":15,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-solid-svg-icons\": \"^6.5.1\","},{"lineNumber":16,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/vue-fontawesome\": \"^3.0.6\","},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" \"@types/markdown-it\": \"^13.0.7\","},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"@types/minimatch\": \"^5.1.2\","},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" \"@types/seedrandom\": \"^3.0.8\","},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" \"core-js\": \"^3.36.1\","},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"highlight.js\": \"^10.5.0\","},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"jszip\": \"^3.5.0\","},{"lineNumber":23,"author":{"gitId":"sopa301"},"content":" \"markdown-it\": \"^14.1.0\","},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^9.0.0\","},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"muicss\": \"^0.10.3\","},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"normalize.css\": \"^8.0.1\","},{"lineNumber":27,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.38\","},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"pug-lint-vue\": \"^0.4.0\","},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"seedrandom\": \"^3.0.5\","},{"lineNumber":30,"author":{"gitId":"sopa301"},"content":" \"vue\": \"~3.4.0\","},{"lineNumber":31,"author":{"gitId":"sopa301"},"content":" \"vue-loader\": \"^17.4.2\","},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" \"vue-loading-overlay\": \"^6.0.4\","},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"vue-observe-visibility\": \"^1.0.0\","},{"lineNumber":34,"author":{"gitId":"sopa301"},"content":" \"vue-router\": \"^4.3.0\","},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"vuex\": \"^4.0.2\","},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" \"zod\": \"^3.22.4\""},{"lineNumber":37,"author":{"gitId":"-"},"content":" },"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"devDependencies\": {"},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"@babel/eslint-parser\": \"^7.24.1\","},{"lineNumber":40,"author":{"gitId":"sopa301"},"content":" \"@stylistic/stylelint-plugin\": \"^2.1.0\","},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/eslint-plugin\": \"^5.5.0\","},{"lineNumber":42,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/parser\": \"^5.5.0\","},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-babel\": \"^5.0.4\","},{"lineNumber":44,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-eslint\": \"^5.0.4\","},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-typescript\": \"^5.0.4\","},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" \"@vue/cli-service\": \"^5.0.8\","},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-sfc\": \"^3.4.21\","},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"@vue/eslint-config-typescript\": \"^10.0.0\","},{"lineNumber":49,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.57.0\","},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-base\": \"^15.0.0\","},{"lineNumber":51,"author":{"gitId":"sopa301"},"content":" \"eslint-config-airbnb-typescript\": \"^17.1.0\","},{"lineNumber":52,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-import\": \"^2.29.1\","},{"lineNumber":53,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-vue\": \"^8.4.3\","},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":" \"postcss-html\": \"^1.6.0\","},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"pug\": \"^3.0.2\","},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"pug-plain-loader\": \"^1.1.0\","},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":" \"sass\": \"^1.71.0\","},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" \"sass-loader\": \"^14.0.0\","},{"lineNumber":59,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.1.0\","},{"lineNumber":60,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended-vue\": \"^1.5.0\","},{"lineNumber":61,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard\": \"^36.0.0\","},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard-scss\": \"^13.0.0\","},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":" \"stylelint-order\": \"^6.0.4\","},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":" \"stylelint-webpack-plugin\": \"^5.0.0\","},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"typescript\": \"^4.9.5\""},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":" },"},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":" \"node_modules/@aashutoshrathi/word-wrap\": {"},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.6\","},{"lineNumber":70,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":71,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":72,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":73,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":74,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":75,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \"node_modules/@achrinza/node-ipc\": {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" \"version\": \"9.2.6\","},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":79,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \"@node-ipc/js-queue\": \"2.0.3\","},{"lineNumber":82,"author":{"gitId":"-"},"content":" \"event-pubsub\": \"4.3.0\","},{"lineNumber":83,"author":{"gitId":"-"},"content":" \"js-message\": \"1.0.7\""},{"lineNumber":84,"author":{"gitId":"-"},"content":" },"},{"lineNumber":85,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" \"node\": \"8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19\""},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":" },"},{"lineNumber":89,"author":{"gitId":"-"},"content":" \"node_modules/@ampproject/remapping\": {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":91,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":92,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":93,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" \"@jridgewell/gen-mapping\": \"^0.1.0\","},{"lineNumber":95,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.9\""},{"lineNumber":96,"author":{"gitId":"-"},"content":" },"},{"lineNumber":97,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":" },"},{"lineNumber":101,"author":{"gitId":"-"},"content":" \"node_modules/@babel/code-frame\": {"},{"lineNumber":102,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.23.5\","},{"lineNumber":103,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":104,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":105,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":106,"author":{"gitId":"sopa301"},"content":" \"@babel/highlight\": \"^7.23.4\","},{"lineNumber":107,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^2.4.2\""},{"lineNumber":108,"author":{"gitId":"-"},"content":" },"},{"lineNumber":109,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":" },"},{"lineNumber":113,"author":{"gitId":"-"},"content":" \"node_modules/@babel/compat-data\": {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" \"version\": \"7.20.10\","},{"lineNumber":115,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":116,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":117,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":" },"},{"lineNumber":121,"author":{"gitId":"-"},"content":" \"node_modules/@babel/core\": {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" \"version\": \"7.20.12\","},{"lineNumber":123,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":124,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":125,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" \"@ampproject/remapping\": \"^2.1.0\","},{"lineNumber":127,"author":{"gitId":"-"},"content":" \"@babel/code-frame\": \"^7.18.6\","},{"lineNumber":128,"author":{"gitId":"-"},"content":" \"@babel/generator\": \"^7.20.7\","},{"lineNumber":129,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.20.7\","},{"lineNumber":130,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.20.11\","},{"lineNumber":131,"author":{"gitId":"-"},"content":" \"@babel/helpers\": \"^7.20.7\","},{"lineNumber":132,"author":{"gitId":"-"},"content":" \"@babel/parser\": \"^7.20.7\","},{"lineNumber":133,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\","},{"lineNumber":134,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.12\","},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\","},{"lineNumber":136,"author":{"gitId":"-"},"content":" \"convert-source-map\": \"^1.7.0\","},{"lineNumber":137,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.0\","},{"lineNumber":138,"author":{"gitId":"-"},"content":" \"gensync\": \"^1.0.0-beta.2\","},{"lineNumber":139,"author":{"gitId":"-"},"content":" \"json5\": \"^2.2.2\","},{"lineNumber":140,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\""},{"lineNumber":141,"author":{"gitId":"-"},"content":" },"},{"lineNumber":142,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":144,"author":{"gitId":"-"},"content":" },"},{"lineNumber":145,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":146,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":147,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/babel\""},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":" },"},{"lineNumber":150,"author":{"gitId":"-"},"content":" \"node_modules/@babel/eslint-parser\": {"},{"lineNumber":151,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.24.1\","},{"lineNumber":152,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":153,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":154,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" \"@nicolo-ribaudo/eslint-scope-5-internals\": \"5.1.1-v1\","},{"lineNumber":156,"author":{"gitId":"-"},"content":" \"eslint-visitor-keys\": \"^2.1.0\","},{"lineNumber":157,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^6.3.1\""},{"lineNumber":158,"author":{"gitId":"-"},"content":" },"},{"lineNumber":159,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" \"node\": \"^10.13.0 || ^12.13.0 || \u003e\u003d14.0.0\""},{"lineNumber":161,"author":{"gitId":"-"},"content":" },"},{"lineNumber":162,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":163,"author":{"gitId":"sopa301"},"content":" \"@babel/core\": \"^7.11.0\","},{"lineNumber":164,"author":{"gitId":"-"},"content":" \"eslint\": \"^7.5.0 || ^8.0.0\""},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":" },"},{"lineNumber":167,"author":{"gitId":"-"},"content":" \"node_modules/@babel/generator\": {"},{"lineNumber":168,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.23.6\","},{"lineNumber":169,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":170,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":171,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":172,"author":{"gitId":"sopa301"},"content":" \"@babel/types\": \"^7.23.6\","},{"lineNumber":173,"author":{"gitId":"-"},"content":" \"@jridgewell/gen-mapping\": \"^0.3.2\","},{"lineNumber":174,"author":{"gitId":"sopa301"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.17\","},{"lineNumber":175,"author":{"gitId":"-"},"content":" \"jsesc\": \"^2.5.1\""},{"lineNumber":176,"author":{"gitId":"-"},"content":" },"},{"lineNumber":177,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":" },"},{"lineNumber":181,"author":{"gitId":"-"},"content":" \"node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping\": {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" \"version\": \"0.3.2\","},{"lineNumber":183,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":184,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":185,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \"@jridgewell/set-array\": \"^1.0.1\","},{"lineNumber":187,"author":{"gitId":"-"},"content":" \"@jridgewell/sourcemap-codec\": \"^1.4.10\","},{"lineNumber":188,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.9\""},{"lineNumber":189,"author":{"gitId":"-"},"content":" },"},{"lineNumber":190,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":" },"},{"lineNumber":194,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-annotate-as-pure\": {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":196,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":197,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":198,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.6\""},{"lineNumber":200,"author":{"gitId":"-"},"content":" },"},{"lineNumber":201,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":" },"},{"lineNumber":205,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-builder-binary-assignment-operator-visitor\": {"},{"lineNumber":206,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":207,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":208,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":209,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":210,"author":{"gitId":"-"},"content":" \"@babel/helper-explode-assignable-expression\": \"^7.18.6\","},{"lineNumber":211,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.9\""},{"lineNumber":212,"author":{"gitId":"-"},"content":" },"},{"lineNumber":213,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":" },"},{"lineNumber":217,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-compilation-targets\": {"},{"lineNumber":218,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":219,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":220,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":221,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":222,"author":{"gitId":"-"},"content":" \"@babel/compat-data\": \"^7.20.5\","},{"lineNumber":223,"author":{"gitId":"-"},"content":" \"@babel/helper-validator-option\": \"^7.18.6\","},{"lineNumber":224,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.3\","},{"lineNumber":225,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^5.1.1\","},{"lineNumber":226,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\""},{"lineNumber":227,"author":{"gitId":"-"},"content":" },"},{"lineNumber":228,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":229,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":230,"author":{"gitId":"-"},"content":" },"},{"lineNumber":231,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":232,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\""},{"lineNumber":233,"author":{"gitId":"-"},"content":" }"},{"lineNumber":234,"author":{"gitId":"-"},"content":" },"},{"lineNumber":235,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-create-class-features-plugin\": {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" \"version\": \"7.20.12\","},{"lineNumber":237,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":238,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":239,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\","},{"lineNumber":241,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\","},{"lineNumber":242,"author":{"gitId":"-"},"content":" \"@babel/helper-function-name\": \"^7.19.0\","},{"lineNumber":243,"author":{"gitId":"-"},"content":" \"@babel/helper-member-expression-to-functions\": \"^7.20.7\","},{"lineNumber":244,"author":{"gitId":"-"},"content":" \"@babel/helper-optimise-call-expression\": \"^7.18.6\","},{"lineNumber":245,"author":{"gitId":"-"},"content":" \"@babel/helper-replace-supers\": \"^7.20.7\","},{"lineNumber":246,"author":{"gitId":"-"},"content":" \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\","},{"lineNumber":247,"author":{"gitId":"-"},"content":" \"@babel/helper-split-export-declaration\": \"^7.18.6\""},{"lineNumber":248,"author":{"gitId":"-"},"content":" },"},{"lineNumber":249,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":250,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":251,"author":{"gitId":"-"},"content":" },"},{"lineNumber":252,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":253,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\""},{"lineNumber":254,"author":{"gitId":"-"},"content":" }"},{"lineNumber":255,"author":{"gitId":"-"},"content":" },"},{"lineNumber":256,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-create-regexp-features-plugin\": {"},{"lineNumber":257,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\","},{"lineNumber":258,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":259,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":260,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":261,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\","},{"lineNumber":262,"author":{"gitId":"-"},"content":" \"regexpu-core\": \"^5.2.1\""},{"lineNumber":263,"author":{"gitId":"-"},"content":" },"},{"lineNumber":264,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":266,"author":{"gitId":"-"},"content":" },"},{"lineNumber":267,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":268,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\""},{"lineNumber":269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":270,"author":{"gitId":"-"},"content":" },"},{"lineNumber":271,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-define-polyfill-provider\": {"},{"lineNumber":272,"author":{"gitId":"-"},"content":" \"version\": \"0.3.3\","},{"lineNumber":273,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":274,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":275,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":276,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.17.7\","},{"lineNumber":277,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.16.7\","},{"lineNumber":278,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.1\","},{"lineNumber":279,"author":{"gitId":"-"},"content":" \"lodash.debounce\": \"^4.0.8\","},{"lineNumber":280,"author":{"gitId":"-"},"content":" \"resolve\": \"^1.14.2\","},{"lineNumber":281,"author":{"gitId":"-"},"content":" \"semver\": \"^6.1.2\""},{"lineNumber":282,"author":{"gitId":"-"},"content":" },"},{"lineNumber":283,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":284,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.4.0-0\""},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":" },"},{"lineNumber":287,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-environment-visitor\": {"},{"lineNumber":288,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.22.20\","},{"lineNumber":289,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":290,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":291,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":292,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":294,"author":{"gitId":"-"},"content":" },"},{"lineNumber":295,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-explode-assignable-expression\": {"},{"lineNumber":296,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":297,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":298,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":299,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.6\""},{"lineNumber":301,"author":{"gitId":"-"},"content":" },"},{"lineNumber":302,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":303,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":" },"},{"lineNumber":306,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-function-name\": {"},{"lineNumber":307,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.23.0\","},{"lineNumber":308,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":309,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":310,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":311,"author":{"gitId":"sopa301"},"content":" \"@babel/template\": \"^7.22.15\","},{"lineNumber":312,"author":{"gitId":"sopa301"},"content":" \"@babel/types\": \"^7.23.0\""},{"lineNumber":313,"author":{"gitId":"-"},"content":" },"},{"lineNumber":314,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":315,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":317,"author":{"gitId":"-"},"content":" },"},{"lineNumber":318,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-hoist-variables\": {"},{"lineNumber":319,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.22.5\","},{"lineNumber":320,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":321,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":322,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":323,"author":{"gitId":"sopa301"},"content":" \"@babel/types\": \"^7.22.5\""},{"lineNumber":324,"author":{"gitId":"-"},"content":" },"},{"lineNumber":325,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":326,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":327,"author":{"gitId":"-"},"content":" }"},{"lineNumber":328,"author":{"gitId":"-"},"content":" },"},{"lineNumber":329,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-member-expression-to-functions\": {"},{"lineNumber":330,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":331,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":332,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":333,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":334,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\""},{"lineNumber":335,"author":{"gitId":"-"},"content":" },"},{"lineNumber":336,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":337,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":338,"author":{"gitId":"-"},"content":" }"},{"lineNumber":339,"author":{"gitId":"-"},"content":" },"},{"lineNumber":340,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-module-imports\": {"},{"lineNumber":341,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":342,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":343,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":344,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":345,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.6\""},{"lineNumber":346,"author":{"gitId":"-"},"content":" },"},{"lineNumber":347,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":348,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":349,"author":{"gitId":"-"},"content":" }"},{"lineNumber":350,"author":{"gitId":"-"},"content":" },"},{"lineNumber":351,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-module-transforms\": {"},{"lineNumber":352,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\","},{"lineNumber":353,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":354,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":355,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":356,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\","},{"lineNumber":357,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.18.6\","},{"lineNumber":358,"author":{"gitId":"-"},"content":" \"@babel/helper-simple-access\": \"^7.20.2\","},{"lineNumber":359,"author":{"gitId":"-"},"content":" \"@babel/helper-split-export-declaration\": \"^7.18.6\","},{"lineNumber":360,"author":{"gitId":"-"},"content":" \"@babel/helper-validator-identifier\": \"^7.19.1\","},{"lineNumber":361,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\","},{"lineNumber":362,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.10\","},{"lineNumber":363,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\""},{"lineNumber":364,"author":{"gitId":"-"},"content":" },"},{"lineNumber":365,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":366,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":367,"author":{"gitId":"-"},"content":" }"},{"lineNumber":368,"author":{"gitId":"-"},"content":" },"},{"lineNumber":369,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-optimise-call-expression\": {"},{"lineNumber":370,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":371,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":372,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":373,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":374,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.6\""},{"lineNumber":375,"author":{"gitId":"-"},"content":" },"},{"lineNumber":376,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":377,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":378,"author":{"gitId":"-"},"content":" }"},{"lineNumber":379,"author":{"gitId":"-"},"content":" },"},{"lineNumber":380,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-plugin-utils\": {"},{"lineNumber":381,"author":{"gitId":"-"},"content":" \"version\": \"7.20.2\","},{"lineNumber":382,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":383,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":384,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":385,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":386,"author":{"gitId":"-"},"content":" }"},{"lineNumber":387,"author":{"gitId":"-"},"content":" },"},{"lineNumber":388,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-remap-async-to-generator\": {"},{"lineNumber":389,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":390,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":391,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":392,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":393,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\","},{"lineNumber":394,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\","},{"lineNumber":395,"author":{"gitId":"-"},"content":" \"@babel/helper-wrap-function\": \"^7.18.9\","},{"lineNumber":396,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.18.9\""},{"lineNumber":397,"author":{"gitId":"-"},"content":" },"},{"lineNumber":398,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":399,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":400,"author":{"gitId":"-"},"content":" },"},{"lineNumber":401,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":402,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\""},{"lineNumber":403,"author":{"gitId":"-"},"content":" }"},{"lineNumber":404,"author":{"gitId":"-"},"content":" },"},{"lineNumber":405,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-replace-supers\": {"},{"lineNumber":406,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":407,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":408,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":409,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":410,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\","},{"lineNumber":411,"author":{"gitId":"-"},"content":" \"@babel/helper-member-expression-to-functions\": \"^7.20.7\","},{"lineNumber":412,"author":{"gitId":"-"},"content":" \"@babel/helper-optimise-call-expression\": \"^7.18.6\","},{"lineNumber":413,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\","},{"lineNumber":414,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.7\","},{"lineNumber":415,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\""},{"lineNumber":416,"author":{"gitId":"-"},"content":" },"},{"lineNumber":417,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":418,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":419,"author":{"gitId":"-"},"content":" }"},{"lineNumber":420,"author":{"gitId":"-"},"content":" },"},{"lineNumber":421,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-simple-access\": {"},{"lineNumber":422,"author":{"gitId":"-"},"content":" \"version\": \"7.20.2\","},{"lineNumber":423,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":424,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":425,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":426,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.2\""},{"lineNumber":427,"author":{"gitId":"-"},"content":" },"},{"lineNumber":428,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":429,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":430,"author":{"gitId":"-"},"content":" }"},{"lineNumber":431,"author":{"gitId":"-"},"content":" },"},{"lineNumber":432,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-skip-transparent-expression-wrappers\": {"},{"lineNumber":433,"author":{"gitId":"-"},"content":" \"version\": \"7.20.0\","},{"lineNumber":434,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":435,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":436,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":437,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.0\""},{"lineNumber":438,"author":{"gitId":"-"},"content":" },"},{"lineNumber":439,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":440,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":441,"author":{"gitId":"-"},"content":" }"},{"lineNumber":442,"author":{"gitId":"-"},"content":" },"},{"lineNumber":443,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-split-export-declaration\": {"},{"lineNumber":444,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.22.6\","},{"lineNumber":445,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":446,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":447,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":448,"author":{"gitId":"sopa301"},"content":" \"@babel/types\": \"^7.22.5\""},{"lineNumber":449,"author":{"gitId":"-"},"content":" },"},{"lineNumber":450,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":451,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":452,"author":{"gitId":"-"},"content":" }"},{"lineNumber":453,"author":{"gitId":"-"},"content":" },"},{"lineNumber":454,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-string-parser\": {"},{"lineNumber":455,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.23.4\","},{"lineNumber":456,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":457,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":458,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":459,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":460,"author":{"gitId":"-"},"content":" }"},{"lineNumber":461,"author":{"gitId":"-"},"content":" },"},{"lineNumber":462,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-validator-identifier\": {"},{"lineNumber":463,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.22.20\","},{"lineNumber":464,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":465,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":466,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":467,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":468,"author":{"gitId":"-"},"content":" }"},{"lineNumber":469,"author":{"gitId":"-"},"content":" },"},{"lineNumber":470,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-validator-option\": {"},{"lineNumber":471,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":472,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":473,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":474,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":475,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":476,"author":{"gitId":"-"},"content":" }"},{"lineNumber":477,"author":{"gitId":"-"},"content":" },"},{"lineNumber":478,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helper-wrap-function\": {"},{"lineNumber":479,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\","},{"lineNumber":480,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":481,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":482,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":483,"author":{"gitId":"-"},"content":" \"@babel/helper-function-name\": \"^7.19.0\","},{"lineNumber":484,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.18.10\","},{"lineNumber":485,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.5\","},{"lineNumber":486,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.5\""},{"lineNumber":487,"author":{"gitId":"-"},"content":" },"},{"lineNumber":488,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":489,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":490,"author":{"gitId":"-"},"content":" }"},{"lineNumber":491,"author":{"gitId":"-"},"content":" },"},{"lineNumber":492,"author":{"gitId":"-"},"content":" \"node_modules/@babel/helpers\": {"},{"lineNumber":493,"author":{"gitId":"-"},"content":" \"version\": \"7.20.13\","},{"lineNumber":494,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":495,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":496,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":497,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\","},{"lineNumber":498,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.20.13\","},{"lineNumber":499,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.7\""},{"lineNumber":500,"author":{"gitId":"-"},"content":" },"},{"lineNumber":501,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":502,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":503,"author":{"gitId":"-"},"content":" }"},{"lineNumber":504,"author":{"gitId":"-"},"content":" },"},{"lineNumber":505,"author":{"gitId":"-"},"content":" \"node_modules/@babel/highlight\": {"},{"lineNumber":506,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.23.4\","},{"lineNumber":507,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":508,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":509,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":510,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-validator-identifier\": \"^7.22.20\","},{"lineNumber":511,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^2.4.2\","},{"lineNumber":512,"author":{"gitId":"-"},"content":" \"js-tokens\": \"^4.0.0\""},{"lineNumber":513,"author":{"gitId":"-"},"content":" },"},{"lineNumber":514,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":515,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":516,"author":{"gitId":"-"},"content":" }"},{"lineNumber":517,"author":{"gitId":"-"},"content":" },"},{"lineNumber":518,"author":{"gitId":"-"},"content":" \"node_modules/@babel/parser\": {"},{"lineNumber":519,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.24.0\","},{"lineNumber":520,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":521,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":522,"author":{"gitId":"-"},"content":" \"parser\": \"bin/babel-parser.js\""},{"lineNumber":523,"author":{"gitId":"-"},"content":" },"},{"lineNumber":524,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":525,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":526,"author":{"gitId":"-"},"content":" }"},{"lineNumber":527,"author":{"gitId":"-"},"content":" },"},{"lineNumber":528,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\": {"},{"lineNumber":529,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":530,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":531,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":532,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":533,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":534,"author":{"gitId":"-"},"content":" },"},{"lineNumber":535,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":536,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":537,"author":{"gitId":"-"},"content":" },"},{"lineNumber":538,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":539,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\""},{"lineNumber":540,"author":{"gitId":"-"},"content":" }"},{"lineNumber":541,"author":{"gitId":"-"},"content":" },"},{"lineNumber":542,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\": {"},{"lineNumber":543,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":544,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":545,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":546,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":547,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":548,"author":{"gitId":"-"},"content":" \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\","},{"lineNumber":549,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-optional-chaining\": \"^7.20.7\""},{"lineNumber":550,"author":{"gitId":"-"},"content":" },"},{"lineNumber":551,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":552,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":553,"author":{"gitId":"-"},"content":" },"},{"lineNumber":554,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":555,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.13.0\""},{"lineNumber":556,"author":{"gitId":"-"},"content":" }"},{"lineNumber":557,"author":{"gitId":"-"},"content":" },"},{"lineNumber":558,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-async-generator-functions\": {"},{"lineNumber":559,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":560,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":561,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":562,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":563,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\","},{"lineNumber":564,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":565,"author":{"gitId":"-"},"content":" \"@babel/helper-remap-async-to-generator\": \"^7.18.9\","},{"lineNumber":566,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-async-generators\": \"^7.8.4\""},{"lineNumber":567,"author":{"gitId":"-"},"content":" },"},{"lineNumber":568,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":569,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":570,"author":{"gitId":"-"},"content":" },"},{"lineNumber":571,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":572,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":573,"author":{"gitId":"-"},"content":" }"},{"lineNumber":574,"author":{"gitId":"-"},"content":" },"},{"lineNumber":575,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-class-properties\": {"},{"lineNumber":576,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":577,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":578,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":579,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":580,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.18.6\","},{"lineNumber":581,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":582,"author":{"gitId":"-"},"content":" },"},{"lineNumber":583,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":584,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":585,"author":{"gitId":"-"},"content":" },"},{"lineNumber":586,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":587,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":588,"author":{"gitId":"-"},"content":" }"},{"lineNumber":589,"author":{"gitId":"-"},"content":" },"},{"lineNumber":590,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-class-static-block\": {"},{"lineNumber":591,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":592,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":593,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":594,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":595,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.20.7\","},{"lineNumber":596,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":597,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\""},{"lineNumber":598,"author":{"gitId":"-"},"content":" },"},{"lineNumber":599,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":600,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":601,"author":{"gitId":"-"},"content":" },"},{"lineNumber":602,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":603,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.12.0\""},{"lineNumber":604,"author":{"gitId":"-"},"content":" }"},{"lineNumber":605,"author":{"gitId":"-"},"content":" },"},{"lineNumber":606,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-decorators\": {"},{"lineNumber":607,"author":{"gitId":"-"},"content":" \"version\": \"7.20.13\","},{"lineNumber":608,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":609,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":610,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":611,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.20.12\","},{"lineNumber":612,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":613,"author":{"gitId":"-"},"content":" \"@babel/helper-replace-supers\": \"^7.20.7\","},{"lineNumber":614,"author":{"gitId":"-"},"content":" \"@babel/helper-split-export-declaration\": \"^7.18.6\","},{"lineNumber":615,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-decorators\": \"^7.19.0\""},{"lineNumber":616,"author":{"gitId":"-"},"content":" },"},{"lineNumber":617,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":618,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":619,"author":{"gitId":"-"},"content":" },"},{"lineNumber":620,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":621,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":622,"author":{"gitId":"-"},"content":" }"},{"lineNumber":623,"author":{"gitId":"-"},"content":" },"},{"lineNumber":624,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-dynamic-import\": {"},{"lineNumber":625,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":626,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":627,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":628,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":629,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\","},{"lineNumber":630,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\""},{"lineNumber":631,"author":{"gitId":"-"},"content":" },"},{"lineNumber":632,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":633,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":634,"author":{"gitId":"-"},"content":" },"},{"lineNumber":635,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":636,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":637,"author":{"gitId":"-"},"content":" }"},{"lineNumber":638,"author":{"gitId":"-"},"content":" },"},{"lineNumber":639,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-export-namespace-from\": {"},{"lineNumber":640,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":641,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":642,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":643,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":644,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\","},{"lineNumber":645,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-export-namespace-from\": \"^7.8.3\""},{"lineNumber":646,"author":{"gitId":"-"},"content":" },"},{"lineNumber":647,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":648,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":649,"author":{"gitId":"-"},"content":" },"},{"lineNumber":650,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":651,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":652,"author":{"gitId":"-"},"content":" }"},{"lineNumber":653,"author":{"gitId":"-"},"content":" },"},{"lineNumber":654,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-json-strings\": {"},{"lineNumber":655,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":656,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":657,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":658,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":659,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\","},{"lineNumber":660,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-json-strings\": \"^7.8.3\""},{"lineNumber":661,"author":{"gitId":"-"},"content":" },"},{"lineNumber":662,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":663,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":664,"author":{"gitId":"-"},"content":" },"},{"lineNumber":665,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":666,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":667,"author":{"gitId":"-"},"content":" }"},{"lineNumber":668,"author":{"gitId":"-"},"content":" },"},{"lineNumber":669,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-logical-assignment-operators\": {"},{"lineNumber":670,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":671,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":672,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":673,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":674,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":675,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\""},{"lineNumber":676,"author":{"gitId":"-"},"content":" },"},{"lineNumber":677,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":678,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":679,"author":{"gitId":"-"},"content":" },"},{"lineNumber":680,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":681,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":682,"author":{"gitId":"-"},"content":" }"},{"lineNumber":683,"author":{"gitId":"-"},"content":" },"},{"lineNumber":684,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-nullish-coalescing-operator\": {"},{"lineNumber":685,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":686,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":687,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":688,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":689,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\","},{"lineNumber":690,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\""},{"lineNumber":691,"author":{"gitId":"-"},"content":" },"},{"lineNumber":692,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":693,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":694,"author":{"gitId":"-"},"content":" },"},{"lineNumber":695,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":696,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":697,"author":{"gitId":"-"},"content":" }"},{"lineNumber":698,"author":{"gitId":"-"},"content":" },"},{"lineNumber":699,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-numeric-separator\": {"},{"lineNumber":700,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":701,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":702,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":703,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":704,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\","},{"lineNumber":705,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\""},{"lineNumber":706,"author":{"gitId":"-"},"content":" },"},{"lineNumber":707,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":708,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":709,"author":{"gitId":"-"},"content":" },"},{"lineNumber":710,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":711,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":712,"author":{"gitId":"-"},"content":" }"},{"lineNumber":713,"author":{"gitId":"-"},"content":" },"},{"lineNumber":714,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-object-rest-spread\": {"},{"lineNumber":715,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":716,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":717,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":718,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":719,"author":{"gitId":"-"},"content":" \"@babel/compat-data\": \"^7.20.5\","},{"lineNumber":720,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.20.7\","},{"lineNumber":721,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":722,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\","},{"lineNumber":723,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-parameters\": \"^7.20.7\""},{"lineNumber":724,"author":{"gitId":"-"},"content":" },"},{"lineNumber":725,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":726,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":727,"author":{"gitId":"-"},"content":" },"},{"lineNumber":728,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":729,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":730,"author":{"gitId":"-"},"content":" }"},{"lineNumber":731,"author":{"gitId":"-"},"content":" },"},{"lineNumber":732,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-optional-catch-binding\": {"},{"lineNumber":733,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":734,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":735,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":736,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":737,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\","},{"lineNumber":738,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\""},{"lineNumber":739,"author":{"gitId":"-"},"content":" },"},{"lineNumber":740,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":741,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":742,"author":{"gitId":"-"},"content":" },"},{"lineNumber":743,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":744,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":745,"author":{"gitId":"-"},"content":" }"},{"lineNumber":746,"author":{"gitId":"-"},"content":" },"},{"lineNumber":747,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-optional-chaining\": {"},{"lineNumber":748,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":749,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":750,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":751,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":752,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":753,"author":{"gitId":"-"},"content":" \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\","},{"lineNumber":754,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\""},{"lineNumber":755,"author":{"gitId":"-"},"content":" },"},{"lineNumber":756,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":757,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":758,"author":{"gitId":"-"},"content":" },"},{"lineNumber":759,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":760,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":761,"author":{"gitId":"-"},"content":" }"},{"lineNumber":762,"author":{"gitId":"-"},"content":" },"},{"lineNumber":763,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-private-methods\": {"},{"lineNumber":764,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":765,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":766,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":767,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":768,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.18.6\","},{"lineNumber":769,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":770,"author":{"gitId":"-"},"content":" },"},{"lineNumber":771,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":772,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":773,"author":{"gitId":"-"},"content":" },"},{"lineNumber":774,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":775,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":776,"author":{"gitId":"-"},"content":" }"},{"lineNumber":777,"author":{"gitId":"-"},"content":" },"},{"lineNumber":778,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-private-property-in-object\": {"},{"lineNumber":779,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\","},{"lineNumber":780,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":781,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":782,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":783,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\","},{"lineNumber":784,"author":{"gitId":"-"},"content":" \"@babel/helper-create-class-features-plugin\": \"^7.20.5\","},{"lineNumber":785,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":786,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\""},{"lineNumber":787,"author":{"gitId":"-"},"content":" },"},{"lineNumber":788,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":789,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":790,"author":{"gitId":"-"},"content":" },"},{"lineNumber":791,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":792,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":793,"author":{"gitId":"-"},"content":" }"},{"lineNumber":794,"author":{"gitId":"-"},"content":" },"},{"lineNumber":795,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-proposal-unicode-property-regex\": {"},{"lineNumber":796,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":797,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":798,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":799,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":800,"author":{"gitId":"-"},"content":" \"@babel/helper-create-regexp-features-plugin\": \"^7.18.6\","},{"lineNumber":801,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":802,"author":{"gitId":"-"},"content":" },"},{"lineNumber":803,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":804,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":805,"author":{"gitId":"-"},"content":" },"},{"lineNumber":806,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":807,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":808,"author":{"gitId":"-"},"content":" }"},{"lineNumber":809,"author":{"gitId":"-"},"content":" },"},{"lineNumber":810,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-async-generators\": {"},{"lineNumber":811,"author":{"gitId":"-"},"content":" \"version\": \"7.8.4\","},{"lineNumber":812,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":813,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":814,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":815,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\""},{"lineNumber":816,"author":{"gitId":"-"},"content":" },"},{"lineNumber":817,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":818,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":819,"author":{"gitId":"-"},"content":" }"},{"lineNumber":820,"author":{"gitId":"-"},"content":" },"},{"lineNumber":821,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-class-properties\": {"},{"lineNumber":822,"author":{"gitId":"-"},"content":" \"version\": \"7.12.13\","},{"lineNumber":823,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":824,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":825,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":826,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.12.13\""},{"lineNumber":827,"author":{"gitId":"-"},"content":" },"},{"lineNumber":828,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":829,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":830,"author":{"gitId":"-"},"content":" }"},{"lineNumber":831,"author":{"gitId":"-"},"content":" },"},{"lineNumber":832,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-class-static-block\": {"},{"lineNumber":833,"author":{"gitId":"-"},"content":" \"version\": \"7.14.5\","},{"lineNumber":834,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":835,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":836,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":837,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.14.5\""},{"lineNumber":838,"author":{"gitId":"-"},"content":" },"},{"lineNumber":839,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":840,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":841,"author":{"gitId":"-"},"content":" },"},{"lineNumber":842,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":843,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":844,"author":{"gitId":"-"},"content":" }"},{"lineNumber":845,"author":{"gitId":"-"},"content":" },"},{"lineNumber":846,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-decorators\": {"},{"lineNumber":847,"author":{"gitId":"-"},"content":" \"version\": \"7.19.0\","},{"lineNumber":848,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":849,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":850,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":851,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.19.0\""},{"lineNumber":852,"author":{"gitId":"-"},"content":" },"},{"lineNumber":853,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":854,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":855,"author":{"gitId":"-"},"content":" },"},{"lineNumber":856,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":857,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":858,"author":{"gitId":"-"},"content":" }"},{"lineNumber":859,"author":{"gitId":"-"},"content":" },"},{"lineNumber":860,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-dynamic-import\": {"},{"lineNumber":861,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\","},{"lineNumber":862,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":863,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":864,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":865,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\""},{"lineNumber":866,"author":{"gitId":"-"},"content":" },"},{"lineNumber":867,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":868,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":869,"author":{"gitId":"-"},"content":" }"},{"lineNumber":870,"author":{"gitId":"-"},"content":" },"},{"lineNumber":871,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-export-namespace-from\": {"},{"lineNumber":872,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\","},{"lineNumber":873,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":874,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":875,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":876,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.3\""},{"lineNumber":877,"author":{"gitId":"-"},"content":" },"},{"lineNumber":878,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":879,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":880,"author":{"gitId":"-"},"content":" }"},{"lineNumber":881,"author":{"gitId":"-"},"content":" },"},{"lineNumber":882,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-import-assertions\": {"},{"lineNumber":883,"author":{"gitId":"-"},"content":" \"version\": \"7.20.0\","},{"lineNumber":884,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":885,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":886,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":887,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.19.0\""},{"lineNumber":888,"author":{"gitId":"-"},"content":" },"},{"lineNumber":889,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":890,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":891,"author":{"gitId":"-"},"content":" },"},{"lineNumber":892,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":893,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":894,"author":{"gitId":"-"},"content":" }"},{"lineNumber":895,"author":{"gitId":"-"},"content":" },"},{"lineNumber":896,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-json-strings\": {"},{"lineNumber":897,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\","},{"lineNumber":898,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":899,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":900,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":901,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\""},{"lineNumber":902,"author":{"gitId":"-"},"content":" },"},{"lineNumber":903,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":904,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":905,"author":{"gitId":"-"},"content":" }"},{"lineNumber":906,"author":{"gitId":"-"},"content":" },"},{"lineNumber":907,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-jsx\": {"},{"lineNumber":908,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":909,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":910,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":911,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":912,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":913,"author":{"gitId":"-"},"content":" },"},{"lineNumber":914,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":915,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":916,"author":{"gitId":"-"},"content":" },"},{"lineNumber":917,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":918,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":919,"author":{"gitId":"-"},"content":" }"},{"lineNumber":920,"author":{"gitId":"-"},"content":" },"},{"lineNumber":921,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-logical-assignment-operators\": {"},{"lineNumber":922,"author":{"gitId":"-"},"content":" \"version\": \"7.10.4\","},{"lineNumber":923,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":924,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":925,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":926,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.10.4\""},{"lineNumber":927,"author":{"gitId":"-"},"content":" },"},{"lineNumber":928,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":929,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":930,"author":{"gitId":"-"},"content":" }"},{"lineNumber":931,"author":{"gitId":"-"},"content":" },"},{"lineNumber":932,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-nullish-coalescing-operator\": {"},{"lineNumber":933,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\","},{"lineNumber":934,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":935,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":936,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":937,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\""},{"lineNumber":938,"author":{"gitId":"-"},"content":" },"},{"lineNumber":939,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":940,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":941,"author":{"gitId":"-"},"content":" }"},{"lineNumber":942,"author":{"gitId":"-"},"content":" },"},{"lineNumber":943,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-numeric-separator\": {"},{"lineNumber":944,"author":{"gitId":"-"},"content":" \"version\": \"7.10.4\","},{"lineNumber":945,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":946,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":947,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":948,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.10.4\""},{"lineNumber":949,"author":{"gitId":"-"},"content":" },"},{"lineNumber":950,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":951,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":952,"author":{"gitId":"-"},"content":" }"},{"lineNumber":953,"author":{"gitId":"-"},"content":" },"},{"lineNumber":954,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-object-rest-spread\": {"},{"lineNumber":955,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\","},{"lineNumber":956,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":957,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":958,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":959,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\""},{"lineNumber":960,"author":{"gitId":"-"},"content":" },"},{"lineNumber":961,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":962,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":963,"author":{"gitId":"-"},"content":" }"},{"lineNumber":964,"author":{"gitId":"-"},"content":" },"},{"lineNumber":965,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-optional-catch-binding\": {"},{"lineNumber":966,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\","},{"lineNumber":967,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":968,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":969,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":970,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\""},{"lineNumber":971,"author":{"gitId":"-"},"content":" },"},{"lineNumber":972,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":973,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":974,"author":{"gitId":"-"},"content":" }"},{"lineNumber":975,"author":{"gitId":"-"},"content":" },"},{"lineNumber":976,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-optional-chaining\": {"},{"lineNumber":977,"author":{"gitId":"-"},"content":" \"version\": \"7.8.3\","},{"lineNumber":978,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":979,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":980,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":981,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.8.0\""},{"lineNumber":982,"author":{"gitId":"-"},"content":" },"},{"lineNumber":983,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":984,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":985,"author":{"gitId":"-"},"content":" }"},{"lineNumber":986,"author":{"gitId":"-"},"content":" },"},{"lineNumber":987,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-private-property-in-object\": {"},{"lineNumber":988,"author":{"gitId":"-"},"content":" \"version\": \"7.14.5\","},{"lineNumber":989,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":990,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":991,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":992,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.14.5\""},{"lineNumber":993,"author":{"gitId":"-"},"content":" },"},{"lineNumber":994,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":995,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":996,"author":{"gitId":"-"},"content":" },"},{"lineNumber":997,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":998,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":999,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1000,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1001,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-syntax-top-level-await\": {"},{"lineNumber":1002,"author":{"gitId":"-"},"content":" \"version\": \"7.14.5\","},{"lineNumber":1003,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1004,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1005,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1006,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.14.5\""},{"lineNumber":1007,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1008,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1009,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1010,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1011,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1012,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1013,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1014,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1015,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-arrow-functions\": {"},{"lineNumber":1016,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":1017,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1018,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1019,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1020,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\""},{"lineNumber":1021,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1022,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1023,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1024,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1025,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1026,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1027,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1028,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1029,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-async-to-generator\": {"},{"lineNumber":1030,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":1031,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1032,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1033,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1034,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.18.6\","},{"lineNumber":1035,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1036,"author":{"gitId":"-"},"content":" \"@babel/helper-remap-async-to-generator\": \"^7.18.9\""},{"lineNumber":1037,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1038,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1039,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1040,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1041,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1042,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1043,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1044,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1045,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-block-scoped-functions\": {"},{"lineNumber":1046,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1047,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1048,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1049,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1050,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1051,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1052,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1053,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1054,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1055,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1056,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1057,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1058,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1059,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-block-scoping\": {"},{"lineNumber":1060,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\","},{"lineNumber":1061,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1062,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1063,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1064,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\""},{"lineNumber":1065,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1066,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1067,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1068,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1069,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1070,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1071,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1072,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1073,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-classes\": {"},{"lineNumber":1074,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":1075,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1076,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1077,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1078,"author":{"gitId":"-"},"content":" \"@babel/helper-annotate-as-pure\": \"^7.18.6\","},{"lineNumber":1079,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.20.7\","},{"lineNumber":1080,"author":{"gitId":"-"},"content":" \"@babel/helper-environment-visitor\": \"^7.18.9\","},{"lineNumber":1081,"author":{"gitId":"-"},"content":" \"@babel/helper-function-name\": \"^7.19.0\","},{"lineNumber":1082,"author":{"gitId":"-"},"content":" \"@babel/helper-optimise-call-expression\": \"^7.18.6\","},{"lineNumber":1083,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1084,"author":{"gitId":"-"},"content":" \"@babel/helper-replace-supers\": \"^7.20.7\","},{"lineNumber":1085,"author":{"gitId":"-"},"content":" \"@babel/helper-split-export-declaration\": \"^7.18.6\","},{"lineNumber":1086,"author":{"gitId":"-"},"content":" \"globals\": \"^11.1.0\""},{"lineNumber":1087,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1088,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1089,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1090,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1091,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1092,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1093,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1094,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1095,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-computed-properties\": {"},{"lineNumber":1096,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":1097,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1098,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1099,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1100,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1101,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.20.7\""},{"lineNumber":1102,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1103,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1104,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1105,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1106,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1107,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1109,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1110,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-destructuring\": {"},{"lineNumber":1111,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":1112,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1113,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1114,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1115,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\""},{"lineNumber":1116,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1117,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1118,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1119,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1120,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1121,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1122,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1123,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1124,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-dotall-regex\": {"},{"lineNumber":1125,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1126,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1127,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1128,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1129,"author":{"gitId":"-"},"content":" \"@babel/helper-create-regexp-features-plugin\": \"^7.18.6\","},{"lineNumber":1130,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1131,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1132,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1133,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1134,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1135,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1136,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1138,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1139,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-duplicate-keys\": {"},{"lineNumber":1140,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":1141,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1142,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1143,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1144,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\""},{"lineNumber":1145,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1146,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1147,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1148,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1149,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1150,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1151,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1152,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1153,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-exponentiation-operator\": {"},{"lineNumber":1154,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1155,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1156,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1157,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1158,"author":{"gitId":"-"},"content":" \"@babel/helper-builder-binary-assignment-operator-visitor\": \"^7.18.6\","},{"lineNumber":1159,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1161,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1162,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1163,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1164,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1165,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1167,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1168,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-for-of\": {"},{"lineNumber":1169,"author":{"gitId":"-"},"content":" \"version\": \"7.18.8\","},{"lineNumber":1170,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1171,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1172,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1173,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1174,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1175,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1176,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1177,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1178,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1179,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1181,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1182,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-function-name\": {"},{"lineNumber":1183,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":1184,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1185,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1186,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1187,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.18.9\","},{"lineNumber":1188,"author":{"gitId":"-"},"content":" \"@babel/helper-function-name\": \"^7.18.9\","},{"lineNumber":1189,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\""},{"lineNumber":1190,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1191,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1192,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1193,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1194,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1195,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1197,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1198,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-literals\": {"},{"lineNumber":1199,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":1200,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1201,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1202,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1203,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\""},{"lineNumber":1204,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1205,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1206,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1207,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1208,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1209,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1211,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1212,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-member-expression-literals\": {"},{"lineNumber":1213,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1214,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1215,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1216,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1217,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1218,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1219,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1220,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1221,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1222,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1223,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1225,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1226,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-modules-amd\": {"},{"lineNumber":1227,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\","},{"lineNumber":1228,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1229,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1230,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1231,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.20.11\","},{"lineNumber":1232,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\""},{"lineNumber":1233,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1234,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1235,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1236,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1237,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1238,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1240,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1241,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-modules-commonjs\": {"},{"lineNumber":1242,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\","},{"lineNumber":1243,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1244,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1245,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1246,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.20.11\","},{"lineNumber":1247,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1248,"author":{"gitId":"-"},"content":" \"@babel/helper-simple-access\": \"^7.20.2\""},{"lineNumber":1249,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1250,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1251,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1252,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1253,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1254,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1255,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1256,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1257,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-modules-systemjs\": {"},{"lineNumber":1258,"author":{"gitId":"-"},"content":" \"version\": \"7.20.11\","},{"lineNumber":1259,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1260,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1261,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1262,"author":{"gitId":"-"},"content":" \"@babel/helper-hoist-variables\": \"^7.18.6\","},{"lineNumber":1263,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.20.11\","},{"lineNumber":1264,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1265,"author":{"gitId":"-"},"content":" \"@babel/helper-validator-identifier\": \"^7.19.1\""},{"lineNumber":1266,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1267,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1268,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1269,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1270,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1271,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1272,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1273,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1274,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-modules-umd\": {"},{"lineNumber":1275,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1276,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1277,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1278,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1279,"author":{"gitId":"-"},"content":" \"@babel/helper-module-transforms\": \"^7.18.6\","},{"lineNumber":1280,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1281,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1282,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1283,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1284,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1285,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1286,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1287,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1288,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1289,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-named-capturing-groups-regex\": {"},{"lineNumber":1290,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\","},{"lineNumber":1291,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1292,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1293,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1294,"author":{"gitId":"-"},"content":" \"@babel/helper-create-regexp-features-plugin\": \"^7.20.5\","},{"lineNumber":1295,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\""},{"lineNumber":1296,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1297,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1298,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1299,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1300,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1301,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\""},{"lineNumber":1302,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1303,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1304,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-new-target\": {"},{"lineNumber":1305,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1306,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1307,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1308,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1309,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1310,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1311,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1312,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1313,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1314,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1315,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1317,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1318,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-object-super\": {"},{"lineNumber":1319,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1320,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1321,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1322,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1323,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\","},{"lineNumber":1324,"author":{"gitId":"-"},"content":" \"@babel/helper-replace-supers\": \"^7.18.6\""},{"lineNumber":1325,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1326,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1327,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1328,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1329,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1330,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1331,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1332,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1333,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-parameters\": {"},{"lineNumber":1334,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":1335,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1336,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1337,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1338,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\""},{"lineNumber":1339,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1340,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1341,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1342,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1343,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1344,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1345,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1346,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1347,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-property-literals\": {"},{"lineNumber":1348,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1349,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1350,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1351,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1352,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1353,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1354,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1355,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1356,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1357,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1358,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1359,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1360,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1361,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-regenerator\": {"},{"lineNumber":1362,"author":{"gitId":"-"},"content":" \"version\": \"7.20.5\","},{"lineNumber":1363,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1364,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1365,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1366,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1367,"author":{"gitId":"-"},"content":" \"regenerator-transform\": \"^0.15.1\""},{"lineNumber":1368,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1369,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1370,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1371,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1372,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1373,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1375,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1376,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-reserved-words\": {"},{"lineNumber":1377,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1378,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1379,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1380,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1381,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1382,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1383,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1384,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1385,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1386,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1387,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1388,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1389,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1390,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-runtime\": {"},{"lineNumber":1391,"author":{"gitId":"-"},"content":" \"version\": \"7.19.6\","},{"lineNumber":1392,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1393,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1394,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1395,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.18.6\","},{"lineNumber":1396,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.19.0\","},{"lineNumber":1397,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-corejs2\": \"^0.3.3\","},{"lineNumber":1398,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-corejs3\": \"^0.6.0\","},{"lineNumber":1399,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-regenerator\": \"^0.4.1\","},{"lineNumber":1400,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\""},{"lineNumber":1401,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1402,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1403,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1404,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1405,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1406,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1407,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1408,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1409,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-shorthand-properties\": {"},{"lineNumber":1410,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1411,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1412,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1413,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1414,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1415,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1416,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1417,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1418,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1419,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1420,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1421,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1422,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1423,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-spread\": {"},{"lineNumber":1424,"author":{"gitId":"-"},"content":" \"version\": \"7.20.7\","},{"lineNumber":1425,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1426,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1427,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1428,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1429,"author":{"gitId":"-"},"content":" \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.20.0\""},{"lineNumber":1430,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1431,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1432,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1433,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1434,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1435,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1436,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1437,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1438,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-sticky-regex\": {"},{"lineNumber":1439,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1440,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1441,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1442,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1443,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1444,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1445,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1446,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1447,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1448,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1449,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1450,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1451,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1452,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-template-literals\": {"},{"lineNumber":1453,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":1454,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1455,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1456,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1457,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\""},{"lineNumber":1458,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1459,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1460,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1461,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1462,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1463,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1464,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1465,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1466,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-typeof-symbol\": {"},{"lineNumber":1467,"author":{"gitId":"-"},"content":" \"version\": \"7.18.9\","},{"lineNumber":1468,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1469,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1470,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1471,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\""},{"lineNumber":1472,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1473,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1474,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1475,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1476,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1477,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1478,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1479,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1480,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-unicode-escapes\": {"},{"lineNumber":1481,"author":{"gitId":"-"},"content":" \"version\": \"7.18.10\","},{"lineNumber":1482,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1483,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1484,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1485,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.9\""},{"lineNumber":1486,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1487,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1488,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1489,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1490,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1491,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1492,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1493,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1494,"author":{"gitId":"-"},"content":" \"node_modules/@babel/plugin-transform-unicode-regex\": {"},{"lineNumber":1495,"author":{"gitId":"-"},"content":" \"version\": \"7.18.6\","},{"lineNumber":1496,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1497,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1498,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1499,"author":{"gitId":"-"},"content":" \"@babel/helper-create-regexp-features-plugin\": \"^7.18.6\","},{"lineNumber":1500,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.18.6\""},{"lineNumber":1501,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1502,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1503,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1504,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1505,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1506,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1507,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1508,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1509,"author":{"gitId":"-"},"content":" \"node_modules/@babel/preset-env\": {"},{"lineNumber":1510,"author":{"gitId":"-"},"content":" \"version\": \"7.20.2\","},{"lineNumber":1511,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1512,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1513,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1514,"author":{"gitId":"-"},"content":" \"@babel/compat-data\": \"^7.20.1\","},{"lineNumber":1515,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.20.0\","},{"lineNumber":1516,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.20.2\","},{"lineNumber":1517,"author":{"gitId":"-"},"content":" \"@babel/helper-validator-option\": \"^7.18.6\","},{"lineNumber":1518,"author":{"gitId":"-"},"content":" \"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression\": \"^7.18.6\","},{"lineNumber":1519,"author":{"gitId":"-"},"content":" \"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining\": \"^7.18.9\","},{"lineNumber":1520,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-async-generator-functions\": \"^7.20.1\","},{"lineNumber":1521,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-class-properties\": \"^7.18.6\","},{"lineNumber":1522,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-class-static-block\": \"^7.18.6\","},{"lineNumber":1523,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-dynamic-import\": \"^7.18.6\","},{"lineNumber":1524,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-export-namespace-from\": \"^7.18.9\","},{"lineNumber":1525,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-json-strings\": \"^7.18.6\","},{"lineNumber":1526,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-logical-assignment-operators\": \"^7.18.9\","},{"lineNumber":1527,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-nullish-coalescing-operator\": \"^7.18.6\","},{"lineNumber":1528,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-numeric-separator\": \"^7.18.6\","},{"lineNumber":1529,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-object-rest-spread\": \"^7.20.2\","},{"lineNumber":1530,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-optional-catch-binding\": \"^7.18.6\","},{"lineNumber":1531,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-optional-chaining\": \"^7.18.9\","},{"lineNumber":1532,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-private-methods\": \"^7.18.6\","},{"lineNumber":1533,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-private-property-in-object\": \"^7.18.6\","},{"lineNumber":1534,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-unicode-property-regex\": \"^7.18.6\","},{"lineNumber":1535,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-async-generators\": \"^7.8.4\","},{"lineNumber":1536,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-class-properties\": \"^7.12.13\","},{"lineNumber":1537,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-class-static-block\": \"^7.14.5\","},{"lineNumber":1538,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\","},{"lineNumber":1539,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-export-namespace-from\": \"^7.8.3\","},{"lineNumber":1540,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-import-assertions\": \"^7.20.0\","},{"lineNumber":1541,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-json-strings\": \"^7.8.3\","},{"lineNumber":1542,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-logical-assignment-operators\": \"^7.10.4\","},{"lineNumber":1543,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-nullish-coalescing-operator\": \"^7.8.3\","},{"lineNumber":1544,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-numeric-separator\": \"^7.10.4\","},{"lineNumber":1545,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-object-rest-spread\": \"^7.8.3\","},{"lineNumber":1546,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-optional-catch-binding\": \"^7.8.3\","},{"lineNumber":1547,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-optional-chaining\": \"^7.8.3\","},{"lineNumber":1548,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-private-property-in-object\": \"^7.14.5\","},{"lineNumber":1549,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-top-level-await\": \"^7.14.5\","},{"lineNumber":1550,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-arrow-functions\": \"^7.18.6\","},{"lineNumber":1551,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-async-to-generator\": \"^7.18.6\","},{"lineNumber":1552,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-block-scoped-functions\": \"^7.18.6\","},{"lineNumber":1553,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-block-scoping\": \"^7.20.2\","},{"lineNumber":1554,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-classes\": \"^7.20.2\","},{"lineNumber":1555,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-computed-properties\": \"^7.18.9\","},{"lineNumber":1556,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-destructuring\": \"^7.20.2\","},{"lineNumber":1557,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-dotall-regex\": \"^7.18.6\","},{"lineNumber":1558,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-duplicate-keys\": \"^7.18.9\","},{"lineNumber":1559,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-exponentiation-operator\": \"^7.18.6\","},{"lineNumber":1560,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-for-of\": \"^7.18.8\","},{"lineNumber":1561,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-function-name\": \"^7.18.9\","},{"lineNumber":1562,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-literals\": \"^7.18.9\","},{"lineNumber":1563,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-member-expression-literals\": \"^7.18.6\","},{"lineNumber":1564,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-modules-amd\": \"^7.19.6\","},{"lineNumber":1565,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-modules-commonjs\": \"^7.19.6\","},{"lineNumber":1566,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-modules-systemjs\": \"^7.19.6\","},{"lineNumber":1567,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-modules-umd\": \"^7.18.6\","},{"lineNumber":1568,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-named-capturing-groups-regex\": \"^7.19.1\","},{"lineNumber":1569,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-new-target\": \"^7.18.6\","},{"lineNumber":1570,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-object-super\": \"^7.18.6\","},{"lineNumber":1571,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-parameters\": \"^7.20.1\","},{"lineNumber":1572,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-property-literals\": \"^7.18.6\","},{"lineNumber":1573,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-regenerator\": \"^7.18.6\","},{"lineNumber":1574,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-reserved-words\": \"^7.18.6\","},{"lineNumber":1575,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-shorthand-properties\": \"^7.18.6\","},{"lineNumber":1576,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-spread\": \"^7.19.0\","},{"lineNumber":1577,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-sticky-regex\": \"^7.18.6\","},{"lineNumber":1578,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-template-literals\": \"^7.18.9\","},{"lineNumber":1579,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-typeof-symbol\": \"^7.18.9\","},{"lineNumber":1580,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-unicode-escapes\": \"^7.18.10\","},{"lineNumber":1581,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-unicode-regex\": \"^7.18.6\","},{"lineNumber":1582,"author":{"gitId":"-"},"content":" \"@babel/preset-modules\": \"^0.1.5\","},{"lineNumber":1583,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.20.2\","},{"lineNumber":1584,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-corejs2\": \"^0.3.3\","},{"lineNumber":1585,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-corejs3\": \"^0.6.0\","},{"lineNumber":1586,"author":{"gitId":"-"},"content":" \"babel-plugin-polyfill-regenerator\": \"^0.4.1\","},{"lineNumber":1587,"author":{"gitId":"-"},"content":" \"core-js-compat\": \"^3.25.1\","},{"lineNumber":1588,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\""},{"lineNumber":1589,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1590,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1591,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1592,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1593,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1594,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1595,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1596,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1597,"author":{"gitId":"-"},"content":" \"node_modules/@babel/preset-modules\": {"},{"lineNumber":1598,"author":{"gitId":"-"},"content":" \"version\": \"0.1.5\","},{"lineNumber":1599,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1600,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1601,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1602,"author":{"gitId":"-"},"content":" \"@babel/helper-plugin-utils\": \"^7.0.0\","},{"lineNumber":1603,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-unicode-property-regex\": \"^7.4.4\","},{"lineNumber":1604,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-dotall-regex\": \"^7.4.4\","},{"lineNumber":1605,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.4.4\","},{"lineNumber":1606,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\""},{"lineNumber":1607,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1608,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1609,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":1610,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1611,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1612,"author":{"gitId":"-"},"content":" \"node_modules/@babel/runtime\": {"},{"lineNumber":1613,"author":{"gitId":"-"},"content":" \"version\": \"7.20.13\","},{"lineNumber":1614,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1615,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1616,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1617,"author":{"gitId":"-"},"content":" \"regenerator-runtime\": \"^0.13.11\""},{"lineNumber":1618,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1619,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1620,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1621,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1622,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1623,"author":{"gitId":"-"},"content":" \"node_modules/@babel/template\": {"},{"lineNumber":1624,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.24.0\","},{"lineNumber":1625,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1626,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1627,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1628,"author":{"gitId":"sopa301"},"content":" \"@babel/code-frame\": \"^7.23.5\","},{"lineNumber":1629,"author":{"gitId":"sopa301"},"content":" \"@babel/parser\": \"^7.24.0\","},{"lineNumber":1630,"author":{"gitId":"sopa301"},"content":" \"@babel/types\": \"^7.24.0\""},{"lineNumber":1631,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1632,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1633,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1634,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1635,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1636,"author":{"gitId":"-"},"content":" \"node_modules/@babel/traverse\": {"},{"lineNumber":1637,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.24.0\","},{"lineNumber":1638,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1639,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1640,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1641,"author":{"gitId":"sopa301"},"content":" \"@babel/code-frame\": \"^7.23.5\","},{"lineNumber":1642,"author":{"gitId":"sopa301"},"content":" \"@babel/generator\": \"^7.23.6\","},{"lineNumber":1643,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-environment-visitor\": \"^7.22.20\","},{"lineNumber":1644,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-function-name\": \"^7.23.0\","},{"lineNumber":1645,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-hoist-variables\": \"^7.22.5\","},{"lineNumber":1646,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-split-export-declaration\": \"^7.22.6\","},{"lineNumber":1647,"author":{"gitId":"sopa301"},"content":" \"@babel/parser\": \"^7.24.0\","},{"lineNumber":1648,"author":{"gitId":"sopa301"},"content":" \"@babel/types\": \"^7.24.0\","},{"lineNumber":1649,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.1\","},{"lineNumber":1650,"author":{"gitId":"-"},"content":" \"globals\": \"^11.1.0\""},{"lineNumber":1651,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1652,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1653,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1654,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1655,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1656,"author":{"gitId":"-"},"content":" \"node_modules/@babel/types\": {"},{"lineNumber":1657,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.24.0\","},{"lineNumber":1658,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1659,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1660,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1661,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-string-parser\": \"^7.23.4\","},{"lineNumber":1662,"author":{"gitId":"sopa301"},"content":" \"@babel/helper-validator-identifier\": \"^7.22.20\","},{"lineNumber":1663,"author":{"gitId":"-"},"content":" \"to-fast-properties\": \"^2.0.0\""},{"lineNumber":1664,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1665,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1666,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":1667,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1668,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1669,"author":{"gitId":"sopa301"},"content":" \"node_modules/@csstools/css-parser-algorithms\": {"},{"lineNumber":1670,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.6.1\","},{"lineNumber":1671,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz\","},{"lineNumber":1672,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA\u003d\u003d\","},{"lineNumber":1673,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1674,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":1675,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1676,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":1677,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/csstools\""},{"lineNumber":1678,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1679,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1680,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\","},{"lineNumber":1681,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/csstools\""},{"lineNumber":1682,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1683,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":1684,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1685,"author":{"gitId":"-"},"content":" \"node\": \"^14 || ^16 || \u003e\u003d18\""},{"lineNumber":1686,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1687,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":1688,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-tokenizer\": \"^2.2.4\""},{"lineNumber":1689,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1690,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1691,"author":{"gitId":"sopa301"},"content":" \"node_modules/@csstools/css-tokenizer\": {"},{"lineNumber":1692,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.2.4\","},{"lineNumber":1693,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.4.tgz\","},{"lineNumber":1694,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw\u003d\u003d\","},{"lineNumber":1695,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1696,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":1697,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1698,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":1699,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/csstools\""},{"lineNumber":1700,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1701,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1702,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\","},{"lineNumber":1703,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/csstools\""},{"lineNumber":1704,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1705,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":1706,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1707,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14 || ^16 || \u003e\u003d18\""},{"lineNumber":1708,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1709,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1710,"author":{"gitId":"sopa301"},"content":" \"node_modules/@csstools/media-query-list-parser\": {"},{"lineNumber":1711,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.9\","},{"lineNumber":1712,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.9.tgz\","},{"lineNumber":1713,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA\u003d\u003d\","},{"lineNumber":1714,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1715,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":1716,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1717,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":1718,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/csstools\""},{"lineNumber":1719,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1720,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1721,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\","},{"lineNumber":1722,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/csstools\""},{"lineNumber":1723,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1724,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":1725,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1726,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14 || ^16 || \u003e\u003d18\""},{"lineNumber":1727,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1728,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":1729,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-parser-algorithms\": \"^2.6.1\","},{"lineNumber":1730,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-tokenizer\": \"^2.2.4\""},{"lineNumber":1731,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1732,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1733,"author":{"gitId":"-"},"content":" \"node_modules/@csstools/selector-specificity\": {"},{"lineNumber":1734,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.3\","},{"lineNumber":1735,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.3.tgz\","},{"lineNumber":1736,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q\u003d\u003d\","},{"lineNumber":1737,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1738,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":1739,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1740,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":1741,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/csstools\""},{"lineNumber":1742,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1743,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":1744,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":1745,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/csstools\""},{"lineNumber":1746,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1747,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":1748,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1749,"author":{"gitId":"-"},"content":" \"node\": \"^14 || ^16 || \u003e\u003d18\""},{"lineNumber":1750,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1751,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1752,"author":{"gitId":"sopa301"},"content":" \"postcss-selector-parser\": \"^6.0.13\""},{"lineNumber":1753,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1754,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1755,"author":{"gitId":"sopa301"},"content":" \"node_modules/@dual-bundle/import-meta-resolve\": {"},{"lineNumber":1756,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":1757,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz\","},{"lineNumber":1758,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw\u003d\u003d\","},{"lineNumber":1759,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1760,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":1761,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":1762,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/wooorm\""},{"lineNumber":1763,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1764,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1765,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint-community/eslint-utils\": {"},{"lineNumber":1766,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.4.0\","},{"lineNumber":1767,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1768,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1769,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1770,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.3.0\""},{"lineNumber":1771,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1772,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1773,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":1774,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1775,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1776,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^6.0.0 || ^7.0.0 || \u003e\u003d8.0.0\""},{"lineNumber":1777,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1778,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1779,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys\": {"},{"lineNumber":1780,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\","},{"lineNumber":1781,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1782,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":1783,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1784,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":1785,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1786,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":1787,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":1788,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1789,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1790,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint-community/regexpp\": {"},{"lineNumber":1791,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.10.0\","},{"lineNumber":1792,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1793,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1794,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1795,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.0.0 || ^14.0.0 || \u003e\u003d16.0.0\""},{"lineNumber":1796,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1797,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1798,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/eslintrc\": {"},{"lineNumber":1799,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.4\","},{"lineNumber":1800,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1801,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1802,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1803,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.4\","},{"lineNumber":1804,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.2\","},{"lineNumber":1805,"author":{"gitId":"sopa301"},"content":" \"espree\": \"^9.6.0\","},{"lineNumber":1806,"author":{"gitId":"-"},"content":" \"globals\": \"^13.19.0\","},{"lineNumber":1807,"author":{"gitId":"-"},"content":" \"ignore\": \"^5.2.0\","},{"lineNumber":1808,"author":{"gitId":"-"},"content":" \"import-fresh\": \"^3.2.1\","},{"lineNumber":1809,"author":{"gitId":"-"},"content":" \"js-yaml\": \"^4.1.0\","},{"lineNumber":1810,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.2\","},{"lineNumber":1811,"author":{"gitId":"-"},"content":" \"strip-json-comments\": \"^3.1.1\""},{"lineNumber":1812,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1813,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1814,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":1815,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1816,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":1817,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":1818,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1819,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1820,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/eslintrc/node_modules/brace-expansion\": {"},{"lineNumber":1821,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":1822,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1823,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1824,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1825,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":1826,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":1827,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1828,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1829,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/eslintrc/node_modules/globals\": {"},{"lineNumber":1830,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.24.0\","},{"lineNumber":1831,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1832,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1833,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1834,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.20.2\""},{"lineNumber":1835,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1836,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1837,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":1838,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1839,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":1840,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1841,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1842,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1843,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/eslintrc/node_modules/minimatch\": {"},{"lineNumber":1844,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":1845,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1846,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":1847,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1848,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":1849,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1850,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1851,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":1852,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1853,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1854,"author":{"gitId":"-"},"content":" \"node_modules/@eslint/eslintrc/node_modules/type-fest\": {"},{"lineNumber":1855,"author":{"gitId":"-"},"content":" \"version\": \"0.20.2\","},{"lineNumber":1856,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1857,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR CC0-1.0)\","},{"lineNumber":1858,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1859,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":1860,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1861,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":1862,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":1863,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1864,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1865,"author":{"gitId":"sopa301"},"content":" \"node_modules/@eslint/js\": {"},{"lineNumber":1866,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.57.0\","},{"lineNumber":1867,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1868,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1869,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1870,"author":{"gitId":"sopa301"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":1871,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":1872,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1873,"author":{"gitId":"-"},"content":" \"node_modules/@fontsource/titillium-web\": {"},{"lineNumber":1874,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.19\","},{"lineNumber":1875,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@fontsource/titillium-web/-/titillium-web-5.0.19.tgz\","},{"lineNumber":1876,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ktxZrkQUjHD+cKhCgm9YZU6vfHJAguFTidb832BFra21dniFpWiEpkot18VkYyuSnxoGUjrC9aLOB1Dc14N4vg\u003d\u003d\""},{"lineNumber":1877,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1878,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/fontawesome-common-types\": {"},{"lineNumber":1879,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.5.1\","},{"lineNumber":1880,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,"},{"lineNumber":1881,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1882,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1883,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1884,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1885,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1886,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/fontawesome-svg-core\": {"},{"lineNumber":1887,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.5.1\","},{"lineNumber":1888,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,"},{"lineNumber":1889,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1890,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1891,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-common-types\": \"6.5.1\""},{"lineNumber":1892,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1893,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1894,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1895,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1896,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1897,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/free-brands-svg-icons\": {"},{"lineNumber":1898,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.5.1\","},{"lineNumber":1899,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,"},{"lineNumber":1900,"author":{"gitId":"sopa301"},"content":" \"license\": \"(CC-BY-4.0 AND MIT)\","},{"lineNumber":1901,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1902,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-common-types\": \"6.5.1\""},{"lineNumber":1903,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1904,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1905,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1906,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1907,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1908,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/free-solid-svg-icons\": {"},{"lineNumber":1909,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.5.1\","},{"lineNumber":1910,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,"},{"lineNumber":1911,"author":{"gitId":"sopa301"},"content":" \"license\": \"(CC-BY-4.0 AND MIT)\","},{"lineNumber":1912,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1913,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-common-types\": \"6.5.1\""},{"lineNumber":1914,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1915,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1916,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":1917,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1918,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1919,"author":{"gitId":"-"},"content":" \"node_modules/@fortawesome/vue-fontawesome\": {"},{"lineNumber":1920,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.6\","},{"lineNumber":1921,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1922,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":1923,"author":{"gitId":"-"},"content":" \"@fortawesome/fontawesome-svg-core\": \"~1 || ~6\","},{"lineNumber":1924,"author":{"gitId":"-"},"content":" \"vue\": \"\u003e\u003d 3.0.0 \u003c 4\""},{"lineNumber":1925,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1926,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1927,"author":{"gitId":"-"},"content":" \"node_modules/@hapi/hoek\": {"},{"lineNumber":1928,"author":{"gitId":"-"},"content":" \"version\": \"9.3.0\","},{"lineNumber":1929,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1930,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\""},{"lineNumber":1931,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1932,"author":{"gitId":"-"},"content":" \"node_modules/@hapi/topo\": {"},{"lineNumber":1933,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":1934,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1935,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":1936,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1937,"author":{"gitId":"-"},"content":" \"@hapi/hoek\": \"^9.0.0\""},{"lineNumber":1938,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1939,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1940,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/config-array\": {"},{"lineNumber":1941,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.11.14\","},{"lineNumber":1942,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1943,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":1944,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1945,"author":{"gitId":"sopa301"},"content":" \"@humanwhocodes/object-schema\": \"^2.0.2\","},{"lineNumber":1946,"author":{"gitId":"sopa301"},"content":" \"debug\": \"^4.3.1\","},{"lineNumber":1947,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.0.5\""},{"lineNumber":1948,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1949,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1950,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.10.0\""},{"lineNumber":1951,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1952,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1953,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/config-array/node_modules/brace-expansion\": {"},{"lineNumber":1954,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":1955,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1956,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":1957,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1958,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":1959,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":1960,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1961,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1962,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/config-array/node_modules/minimatch\": {"},{"lineNumber":1963,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":1964,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1965,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":1966,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":1967,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":1968,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1969,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1970,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":1971,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1972,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1973,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/module-importer\": {"},{"lineNumber":1974,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":1975,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":1976,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":1977,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":1978,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.22\""},{"lineNumber":1979,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1980,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":1981,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":1982,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/nzakas\""},{"lineNumber":1983,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1984,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1985,"author":{"gitId":"-"},"content":" \"node_modules/@humanwhocodes/object-schema\": {"},{"lineNumber":1986,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\","},{"lineNumber":1987,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1988,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\""},{"lineNumber":1989,"author":{"gitId":"-"},"content":" },"},{"lineNumber":1990,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/schemas\": {"},{"lineNumber":1991,"author":{"gitId":"sopa301"},"content":" \"version\": \"29.6.3\","},{"lineNumber":1992,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz\","},{"lineNumber":1993,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA\u003d\u003d\","},{"lineNumber":1994,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":1995,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":1996,"author":{"gitId":"sopa301"},"content":" \"@sinclair/typebox\": \"^0.27.8\""},{"lineNumber":1997,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":1998,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":1999,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.15.0 || ^16.10.0 || \u003e\u003d18.0.0\""},{"lineNumber":2000,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":2001,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2002,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/types\": {"},{"lineNumber":2003,"author":{"gitId":"sopa301"},"content":" \"version\": \"29.6.3\","},{"lineNumber":2004,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz\","},{"lineNumber":2005,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw\u003d\u003d\","},{"lineNumber":2006,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2007,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":2008,"author":{"gitId":"sopa301"},"content":" \"@jest/schemas\": \"^29.6.3\","},{"lineNumber":2009,"author":{"gitId":"sopa301"},"content":" \"@types/istanbul-lib-coverage\": \"^2.0.0\","},{"lineNumber":2010,"author":{"gitId":"sopa301"},"content":" \"@types/istanbul-reports\": \"^3.0.0\","},{"lineNumber":2011,"author":{"gitId":"sopa301"},"content":" \"@types/node\": \"*\","},{"lineNumber":2012,"author":{"gitId":"sopa301"},"content":" \"@types/yargs\": \"^17.0.8\","},{"lineNumber":2013,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^4.0.0\""},{"lineNumber":2014,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2015,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":2016,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.15.0 || ^16.10.0 || \u003e\u003d18.0.0\""},{"lineNumber":2017,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":2018,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2019,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/types/node_modules/ansi-styles\": {"},{"lineNumber":2020,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\","},{"lineNumber":2021,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\","},{"lineNumber":2022,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg\u003d\u003d\","},{"lineNumber":2023,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2024,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":2025,"author":{"gitId":"sopa301"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":2026,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2027,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":2028,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":2029,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2030,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":2031,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":2032,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":2033,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2034,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/types/node_modules/chalk\": {"},{"lineNumber":2035,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.2\","},{"lineNumber":2036,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\","},{"lineNumber":2037,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA\u003d\u003d\","},{"lineNumber":2038,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2039,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":2040,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":2041,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":2042,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2043,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":2044,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2045,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2046,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":2047,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":2048,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":2049,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2050,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/types/node_modules/color-convert\": {"},{"lineNumber":2051,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\","},{"lineNumber":2052,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\","},{"lineNumber":2053,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ\u003d\u003d\","},{"lineNumber":2054,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2055,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":2056,"author":{"gitId":"sopa301"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":2057,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2058,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":2059,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":2060,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":2061,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2062,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/types/node_modules/color-name\": {"},{"lineNumber":2063,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.4\","},{"lineNumber":2064,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\","},{"lineNumber":2065,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA\u003d\u003d\","},{"lineNumber":2066,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2067,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2068,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/types/node_modules/has-flag\": {"},{"lineNumber":2069,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2070,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\","},{"lineNumber":2071,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\","},{"lineNumber":2072,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2073,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":2074,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":2075,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":2076,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2077,"author":{"gitId":"sopa301"},"content":" \"node_modules/@jest/types/node_modules/supports-color\": {"},{"lineNumber":2078,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.0\","},{"lineNumber":2079,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\","},{"lineNumber":2080,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\","},{"lineNumber":2081,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2082,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":2083,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":2084,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2085,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":2086,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":2087,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":2088,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2089,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/gen-mapping\": {"},{"lineNumber":2090,"author":{"gitId":"-"},"content":" \"version\": \"0.1.1\","},{"lineNumber":2091,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2092,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2093,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2094,"author":{"gitId":"-"},"content":" \"@jridgewell/set-array\": \"^1.0.0\","},{"lineNumber":2095,"author":{"gitId":"-"},"content":" \"@jridgewell/sourcemap-codec\": \"^1.4.10\""},{"lineNumber":2096,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2097,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2098,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":2099,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2100,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2101,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/resolve-uri\": {"},{"lineNumber":2102,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":2103,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2104,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2105,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":2106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2107,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2108,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/set-array\": {"},{"lineNumber":2109,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\","},{"lineNumber":2110,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2111,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2112,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":2113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2114,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2115,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/source-map\": {"},{"lineNumber":2116,"author":{"gitId":"-"},"content":" \"version\": \"0.3.2\","},{"lineNumber":2117,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2118,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2119,"author":{"gitId":"-"},"content":" \"@jridgewell/gen-mapping\": \"^0.3.0\","},{"lineNumber":2120,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.9\""},{"lineNumber":2121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2122,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2123,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping\": {"},{"lineNumber":2124,"author":{"gitId":"-"},"content":" \"version\": \"0.3.2\","},{"lineNumber":2125,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2126,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2127,"author":{"gitId":"-"},"content":" \"@jridgewell/set-array\": \"^1.0.1\","},{"lineNumber":2128,"author":{"gitId":"-"},"content":" \"@jridgewell/sourcemap-codec\": \"^1.4.10\","},{"lineNumber":2129,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.9\""},{"lineNumber":2130,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2131,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2132,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":2133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2134,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2135,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/sourcemap-codec\": {"},{"lineNumber":2136,"author":{"gitId":"-"},"content":" \"version\": \"1.4.14\","},{"lineNumber":2137,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2138,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2139,"author":{"gitId":"-"},"content":" \"node_modules/@jridgewell/trace-mapping\": {"},{"lineNumber":2140,"author":{"gitId":"-"},"content":" \"version\": \"0.3.17\","},{"lineNumber":2141,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2142,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2143,"author":{"gitId":"-"},"content":" \"@jridgewell/resolve-uri\": \"3.1.0\","},{"lineNumber":2144,"author":{"gitId":"-"},"content":" \"@jridgewell/sourcemap-codec\": \"1.4.14\""},{"lineNumber":2145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2146,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2147,"author":{"gitId":"-"},"content":" \"node_modules/@leichtgewicht/ip-codec\": {"},{"lineNumber":2148,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\","},{"lineNumber":2149,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2150,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2151,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2152,"author":{"gitId":"-"},"content":" \"node_modules/@nicolo-ribaudo/eslint-scope-5-internals\": {"},{"lineNumber":2153,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1-v1\","},{"lineNumber":2154,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2155,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2156,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2157,"author":{"gitId":"-"},"content":" \"eslint-scope\": \"5.1.1\""},{"lineNumber":2158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2159,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2160,"author":{"gitId":"-"},"content":" \"node_modules/@node-ipc/js-queue\": {"},{"lineNumber":2161,"author":{"gitId":"-"},"content":" \"version\": \"2.0.3\","},{"lineNumber":2162,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2163,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2164,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2165,"author":{"gitId":"-"},"content":" \"easy-stack\": \"1.0.1\""},{"lineNumber":2166,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2167,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2168,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d1.0.0\""},{"lineNumber":2169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2170,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2171,"author":{"gitId":"-"},"content":" \"node_modules/@nodelib/fs.scandir\": {"},{"lineNumber":2172,"author":{"gitId":"-"},"content":" \"version\": \"2.1.5\","},{"lineNumber":2173,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2174,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2175,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2176,"author":{"gitId":"-"},"content":" \"@nodelib/fs.stat\": \"2.0.5\","},{"lineNumber":2177,"author":{"gitId":"-"},"content":" \"run-parallel\": \"^1.1.9\""},{"lineNumber":2178,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2179,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2180,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":2181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2182,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2183,"author":{"gitId":"-"},"content":" \"node_modules/@nodelib/fs.stat\": {"},{"lineNumber":2184,"author":{"gitId":"-"},"content":" \"version\": \"2.0.5\","},{"lineNumber":2185,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2186,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2187,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2188,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":2189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2190,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2191,"author":{"gitId":"-"},"content":" \"node_modules/@nodelib/fs.walk\": {"},{"lineNumber":2192,"author":{"gitId":"-"},"content":" \"version\": \"1.2.8\","},{"lineNumber":2193,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2194,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2195,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2196,"author":{"gitId":"-"},"content":" \"@nodelib/fs.scandir\": \"2.1.5\","},{"lineNumber":2197,"author":{"gitId":"-"},"content":" \"fastq\": \"^1.6.0\""},{"lineNumber":2198,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2199,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2200,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":2201,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2202,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2203,"author":{"gitId":"-"},"content":" \"node_modules/@polka/url\": {"},{"lineNumber":2204,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0-next.21\","},{"lineNumber":2205,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2206,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2207,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2208,"author":{"gitId":"-"},"content":" \"node_modules/@sideway/address\": {"},{"lineNumber":2209,"author":{"gitId":"-"},"content":" \"version\": \"4.1.4\","},{"lineNumber":2210,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2211,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":2212,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2213,"author":{"gitId":"-"},"content":" \"@hapi/hoek\": \"^9.0.0\""},{"lineNumber":2214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2215,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2216,"author":{"gitId":"-"},"content":" \"node_modules/@sideway/formula\": {"},{"lineNumber":2217,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":2218,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2219,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\""},{"lineNumber":2220,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2221,"author":{"gitId":"-"},"content":" \"node_modules/@sideway/pinpoint\": {"},{"lineNumber":2222,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2223,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2224,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\""},{"lineNumber":2225,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2226,"author":{"gitId":"sopa301"},"content":" \"node_modules/@sinclair/typebox\": {"},{"lineNumber":2227,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.27.8\","},{"lineNumber":2228,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz\","},{"lineNumber":2229,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA\u003d\u003d\","},{"lineNumber":2230,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2231,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2232,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin\": {"},{"lineNumber":2233,"author":{"gitId":"-"},"content":" \"version\": \"1.8.1\","},{"lineNumber":2234,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2235,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2236,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2237,"author":{"gitId":"-"},"content":" \"chalk\": \"^3.0.0\","},{"lineNumber":2238,"author":{"gitId":"-"},"content":" \"error-stack-parser\": \"^2.0.6\","},{"lineNumber":2239,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.3\","},{"lineNumber":2240,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":2241,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2242,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2243,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\""},{"lineNumber":2244,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2245,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2246,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.0.0 || ^5.0.0\""},{"lineNumber":2247,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2248,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2249,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/ansi-styles\": {"},{"lineNumber":2250,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":2251,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2252,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2253,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2254,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":2255,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2256,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2257,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":2258,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2259,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2260,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":2261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2262,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2263,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/chalk\": {"},{"lineNumber":2264,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":2265,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2266,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2267,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2268,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":2269,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":2270,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2271,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2272,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":2273,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2274,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2275,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/color-convert\": {"},{"lineNumber":2276,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":2277,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2278,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2279,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2280,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":2281,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2282,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2283,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":2284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2285,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2286,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/color-name\": {"},{"lineNumber":2287,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":2288,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2289,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2290,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2291,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/has-flag\": {"},{"lineNumber":2292,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2293,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2294,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2295,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2296,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":2297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2298,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2299,"author":{"gitId":"-"},"content":" \"node_modules/@soda/friendly-errors-webpack-plugin/node_modules/supports-color\": {"},{"lineNumber":2300,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":2301,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2302,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2303,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2304,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":2305,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2306,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2307,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":2308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2309,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2310,"author":{"gitId":"-"},"content":" \"node_modules/@soda/get-current-script\": {"},{"lineNumber":2311,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":2312,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2313,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2314,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2315,"author":{"gitId":"sopa301"},"content":" \"node_modules/@stylistic/stylelint-plugin\": {"},{"lineNumber":2316,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.1\","},{"lineNumber":2317,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-2.1.1.tgz\","},{"lineNumber":2318,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-xqHTmQZN7EbnFDW7jw0rAsdFNO4IRqvXhrh3qhUlIwF/x09Zm7kgs/ADktHxsTJYcw346PpGihsB0t4pZhpeHw\u003d\u003d\","},{"lineNumber":2319,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2320,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":2321,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-parser-algorithms\": \"^2.5.0\","},{"lineNumber":2322,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-tokenizer\": \"^2.2.3\","},{"lineNumber":2323,"author":{"gitId":"sopa301"},"content":" \"@csstools/media-query-list-parser\": \"^2.1.7\","},{"lineNumber":2324,"author":{"gitId":"sopa301"},"content":" \"is-plain-object\": \"^5.0.0\","},{"lineNumber":2325,"author":{"gitId":"sopa301"},"content":" \"postcss-selector-parser\": \"^6.0.15\","},{"lineNumber":2326,"author":{"gitId":"sopa301"},"content":" \"postcss-value-parser\": \"^4.2.0\","},{"lineNumber":2327,"author":{"gitId":"sopa301"},"content":" \"style-search\": \"^0.1.0\","},{"lineNumber":2328,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.2.1\""},{"lineNumber":2329,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2330,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2331,"author":{"gitId":"sopa301"},"content":" \"node\": \"^18.12 || \u003e\u003d20.9\""},{"lineNumber":2332,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2333,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":2334,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.0.2\""},{"lineNumber":2335,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2336,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2337,"author":{"gitId":"-"},"content":" \"node_modules/@trysound/sax\": {"},{"lineNumber":2338,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\","},{"lineNumber":2339,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2340,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":2341,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2342,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":2343,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2344,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2345,"author":{"gitId":"-"},"content":" \"node_modules/@types/babel-types\": {"},{"lineNumber":2346,"author":{"gitId":"-"},"content":" \"version\": \"7.0.11\","},{"lineNumber":2347,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2348,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2349,"author":{"gitId":"-"},"content":" \"node_modules/@types/babylon\": {"},{"lineNumber":2350,"author":{"gitId":"-"},"content":" \"version\": \"6.16.6\","},{"lineNumber":2351,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2352,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2353,"author":{"gitId":"-"},"content":" \"@types/babel-types\": \"*\""},{"lineNumber":2354,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2355,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2356,"author":{"gitId":"-"},"content":" \"node_modules/@types/body-parser\": {"},{"lineNumber":2357,"author":{"gitId":"-"},"content":" \"version\": \"1.19.2\","},{"lineNumber":2358,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2359,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2360,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2361,"author":{"gitId":"-"},"content":" \"@types/connect\": \"*\","},{"lineNumber":2362,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2363,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2364,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2365,"author":{"gitId":"-"},"content":" \"node_modules/@types/bonjour\": {"},{"lineNumber":2366,"author":{"gitId":"-"},"content":" \"version\": \"3.5.10\","},{"lineNumber":2367,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2368,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2369,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2370,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2371,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2372,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2373,"author":{"gitId":"-"},"content":" \"node_modules/@types/connect\": {"},{"lineNumber":2374,"author":{"gitId":"-"},"content":" \"version\": \"3.4.35\","},{"lineNumber":2375,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2376,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2377,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2378,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2379,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2380,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2381,"author":{"gitId":"-"},"content":" \"node_modules/@types/connect-history-api-fallback\": {"},{"lineNumber":2382,"author":{"gitId":"-"},"content":" \"version\": \"1.3.5\","},{"lineNumber":2383,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2384,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2385,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2386,"author":{"gitId":"-"},"content":" \"@types/express-serve-static-core\": \"*\","},{"lineNumber":2387,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2388,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2389,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2390,"author":{"gitId":"-"},"content":" \"node_modules/@types/eslint\": {"},{"lineNumber":2391,"author":{"gitId":"-"},"content":" \"version\": \"8.4.10\","},{"lineNumber":2392,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2393,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2394,"author":{"gitId":"-"},"content":" \"@types/estree\": \"*\","},{"lineNumber":2395,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"*\""},{"lineNumber":2396,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2397,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2398,"author":{"gitId":"-"},"content":" \"node_modules/@types/eslint-scope\": {"},{"lineNumber":2399,"author":{"gitId":"-"},"content":" \"version\": \"3.7.4\","},{"lineNumber":2400,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2401,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2402,"author":{"gitId":"-"},"content":" \"@types/eslint\": \"*\","},{"lineNumber":2403,"author":{"gitId":"-"},"content":" \"@types/estree\": \"*\""},{"lineNumber":2404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2405,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2406,"author":{"gitId":"-"},"content":" \"node_modules/@types/estree\": {"},{"lineNumber":2407,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":2408,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2409,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2410,"author":{"gitId":"-"},"content":" \"node_modules/@types/express\": {"},{"lineNumber":2411,"author":{"gitId":"-"},"content":" \"version\": \"4.17.15\","},{"lineNumber":2412,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2413,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2414,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2415,"author":{"gitId":"-"},"content":" \"@types/body-parser\": \"*\","},{"lineNumber":2416,"author":{"gitId":"-"},"content":" \"@types/express-serve-static-core\": \"^4.17.31\","},{"lineNumber":2417,"author":{"gitId":"-"},"content":" \"@types/qs\": \"*\","},{"lineNumber":2418,"author":{"gitId":"-"},"content":" \"@types/serve-static\": \"*\""},{"lineNumber":2419,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2420,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2421,"author":{"gitId":"-"},"content":" \"node_modules/@types/express-serve-static-core\": {"},{"lineNumber":2422,"author":{"gitId":"-"},"content":" \"version\": \"4.17.32\","},{"lineNumber":2423,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2424,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2425,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2426,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\","},{"lineNumber":2427,"author":{"gitId":"-"},"content":" \"@types/qs\": \"*\","},{"lineNumber":2428,"author":{"gitId":"-"},"content":" \"@types/range-parser\": \"*\""},{"lineNumber":2429,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2430,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2431,"author":{"gitId":"-"},"content":" \"node_modules/@types/html-minifier-terser\": {"},{"lineNumber":2432,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\","},{"lineNumber":2433,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2434,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2435,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2436,"author":{"gitId":"-"},"content":" \"node_modules/@types/http-proxy\": {"},{"lineNumber":2437,"author":{"gitId":"-"},"content":" \"version\": \"1.17.9\","},{"lineNumber":2438,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2439,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2440,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2441,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2442,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2443,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2444,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/istanbul-lib-coverage\": {"},{"lineNumber":2445,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.6\","},{"lineNumber":2446,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz\","},{"lineNumber":2447,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w\u003d\u003d\","},{"lineNumber":2448,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2449,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2450,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/istanbul-lib-report\": {"},{"lineNumber":2451,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.3\","},{"lineNumber":2452,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz\","},{"lineNumber":2453,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA\u003d\u003d\","},{"lineNumber":2454,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2455,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":2456,"author":{"gitId":"sopa301"},"content":" \"@types/istanbul-lib-coverage\": \"*\""},{"lineNumber":2457,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":2458,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2459,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/istanbul-reports\": {"},{"lineNumber":2460,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.4\","},{"lineNumber":2461,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz\","},{"lineNumber":2462,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ\u003d\u003d\","},{"lineNumber":2463,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2464,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":2465,"author":{"gitId":"sopa301"},"content":" \"@types/istanbul-lib-report\": \"*\""},{"lineNumber":2466,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":2467,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2468,"author":{"gitId":"-"},"content":" \"node_modules/@types/json-schema\": {"},{"lineNumber":2469,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.15\","},{"lineNumber":2470,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2471,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2472,"author":{"gitId":"-"},"content":" \"node_modules/@types/json5\": {"},{"lineNumber":2473,"author":{"gitId":"-"},"content":" \"version\": \"0.0.29\","},{"lineNumber":2474,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2475,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2476,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2477,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/linkify-it\": {"},{"lineNumber":2478,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.5\","},{"lineNumber":2479,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2480,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2481,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/markdown-it\": {"},{"lineNumber":2482,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.0.7\","},{"lineNumber":2483,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2484,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":2485,"author":{"gitId":"sopa301"},"content":" \"@types/linkify-it\": \"*\","},{"lineNumber":2486,"author":{"gitId":"sopa301"},"content":" \"@types/mdurl\": \"*\""},{"lineNumber":2487,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":2488,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2489,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/mdurl\": {"},{"lineNumber":2490,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\","},{"lineNumber":2491,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2492,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2493,"author":{"gitId":"-"},"content":" \"node_modules/@types/mime\": {"},{"lineNumber":2494,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":2495,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2496,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2497,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2498,"author":{"gitId":"-"},"content":" \"node_modules/@types/minimatch\": {"},{"lineNumber":2499,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\","},{"lineNumber":2500,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2501,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2502,"author":{"gitId":"-"},"content":" \"node_modules/@types/minimist\": {"},{"lineNumber":2503,"author":{"gitId":"-"},"content":" \"version\": \"1.2.2\","},{"lineNumber":2504,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2505,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2506,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2507,"author":{"gitId":"-"},"content":" \"node_modules/@types/node\": {"},{"lineNumber":2508,"author":{"gitId":"-"},"content":" \"version\": \"18.11.18\","},{"lineNumber":2509,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2510,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2511,"author":{"gitId":"-"},"content":" \"node_modules/@types/normalize-package-data\": {"},{"lineNumber":2512,"author":{"gitId":"-"},"content":" \"version\": \"2.4.1\","},{"lineNumber":2513,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2514,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2515,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2516,"author":{"gitId":"-"},"content":" \"node_modules/@types/parse-json\": {"},{"lineNumber":2517,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2518,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2519,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2520,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2521,"author":{"gitId":"-"},"content":" \"node_modules/@types/qs\": {"},{"lineNumber":2522,"author":{"gitId":"-"},"content":" \"version\": \"6.9.7\","},{"lineNumber":2523,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2524,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2525,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2526,"author":{"gitId":"-"},"content":" \"node_modules/@types/range-parser\": {"},{"lineNumber":2527,"author":{"gitId":"-"},"content":" \"version\": \"1.2.4\","},{"lineNumber":2528,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2529,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2530,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2531,"author":{"gitId":"-"},"content":" \"node_modules/@types/retry\": {"},{"lineNumber":2532,"author":{"gitId":"-"},"content":" \"version\": \"0.12.0\","},{"lineNumber":2533,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2534,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2535,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2536,"author":{"gitId":"-"},"content":" \"node_modules/@types/seedrandom\": {"},{"lineNumber":2537,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.8\","},{"lineNumber":2538,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2539,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2540,"author":{"gitId":"-"},"content":" \"node_modules/@types/semver\": {"},{"lineNumber":2541,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.5.8\","},{"lineNumber":2542,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz\","},{"lineNumber":2543,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ\u003d\u003d\","},{"lineNumber":2544,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2545,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2546,"author":{"gitId":"-"},"content":" \"node_modules/@types/serve-index\": {"},{"lineNumber":2547,"author":{"gitId":"-"},"content":" \"version\": \"1.9.1\","},{"lineNumber":2548,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2549,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2550,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2551,"author":{"gitId":"-"},"content":" \"@types/express\": \"*\""},{"lineNumber":2552,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2553,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2554,"author":{"gitId":"-"},"content":" \"node_modules/@types/serve-static\": {"},{"lineNumber":2555,"author":{"gitId":"-"},"content":" \"version\": \"1.15.0\","},{"lineNumber":2556,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2557,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2558,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2559,"author":{"gitId":"-"},"content":" \"@types/mime\": \"*\","},{"lineNumber":2560,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2561,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2562,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2563,"author":{"gitId":"-"},"content":" \"node_modules/@types/sockjs\": {"},{"lineNumber":2564,"author":{"gitId":"-"},"content":" \"version\": \"0.3.33\","},{"lineNumber":2565,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2566,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2567,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2568,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2569,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2570,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2571,"author":{"gitId":"-"},"content":" \"node_modules/@types/webpack-env\": {"},{"lineNumber":2572,"author":{"gitId":"-"},"content":" \"version\": \"1.18.0\","},{"lineNumber":2573,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2574,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2575,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2576,"author":{"gitId":"-"},"content":" \"node_modules/@types/ws\": {"},{"lineNumber":2577,"author":{"gitId":"-"},"content":" \"version\": \"8.5.4\","},{"lineNumber":2578,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2579,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2580,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2581,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\""},{"lineNumber":2582,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2583,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2584,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/yargs\": {"},{"lineNumber":2585,"author":{"gitId":"sopa301"},"content":" \"version\": \"17.0.32\","},{"lineNumber":2586,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz\","},{"lineNumber":2587,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog\u003d\u003d\","},{"lineNumber":2588,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2589,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":2590,"author":{"gitId":"sopa301"},"content":" \"@types/yargs-parser\": \"*\""},{"lineNumber":2591,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":2592,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2593,"author":{"gitId":"sopa301"},"content":" \"node_modules/@types/yargs-parser\": {"},{"lineNumber":2594,"author":{"gitId":"sopa301"},"content":" \"version\": \"21.0.3\","},{"lineNumber":2595,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz\","},{"lineNumber":2596,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ\u003d\u003d\","},{"lineNumber":2597,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":2598,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2599,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/eslint-plugin\": {"},{"lineNumber":2600,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":2601,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz\","},{"lineNumber":2602,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag\u003d\u003d\","},{"lineNumber":2603,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2604,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2605,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/regexpp\": \"^4.4.0\","},{"lineNumber":2606,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"5.62.0\","},{"lineNumber":2607,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/type-utils\": \"5.62.0\","},{"lineNumber":2608,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/utils\": \"5.62.0\","},{"lineNumber":2609,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":2610,"author":{"gitId":"sopa301"},"content":" \"graphemer\": \"^1.4.0\","},{"lineNumber":2611,"author":{"gitId":"-"},"content":" \"ignore\": \"^5.2.0\","},{"lineNumber":2612,"author":{"gitId":"-"},"content":" \"natural-compare-lite\": \"^1.4.0\","},{"lineNumber":2613,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.7\","},{"lineNumber":2614,"author":{"gitId":"-"},"content":" \"tsutils\": \"^3.21.0\""},{"lineNumber":2615,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2616,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2617,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":2618,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2619,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2620,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2621,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2622,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2623,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2624,"author":{"gitId":"-"},"content":" \"@typescript-eslint/parser\": \"^5.0.0\","},{"lineNumber":2625,"author":{"gitId":"-"},"content":" \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\""},{"lineNumber":2626,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2627,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":2628,"author":{"gitId":"-"},"content":" \"typescript\": {"},{"lineNumber":2629,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2630,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2631,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2632,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2633,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache\": {"},{"lineNumber":2634,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":2635,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2636,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":2637,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2638,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":2639,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2640,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2641,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2642,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2643,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2644,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/eslint-plugin/node_modules/semver\": {"},{"lineNumber":2645,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":2646,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2647,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":2648,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2649,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":2650,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2651,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":2652,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":2653,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2654,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2655,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2656,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2657,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2658,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist\": {"},{"lineNumber":2659,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2660,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2661,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":2662,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2663,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/parser\": {"},{"lineNumber":2664,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":2665,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz\","},{"lineNumber":2666,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA\u003d\u003d\","},{"lineNumber":2667,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2668,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2669,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"5.62.0\","},{"lineNumber":2670,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"5.62.0\","},{"lineNumber":2671,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"5.62.0\","},{"lineNumber":2672,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\""},{"lineNumber":2673,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2674,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2675,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":2676,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2677,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2678,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2679,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2680,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2681,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2682,"author":{"gitId":"-"},"content":" \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\""},{"lineNumber":2683,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2684,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":2685,"author":{"gitId":"-"},"content":" \"typescript\": {"},{"lineNumber":2686,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2687,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2688,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2689,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2690,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/scope-manager\": {"},{"lineNumber":2691,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":2692,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz\","},{"lineNumber":2693,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w\u003d\u003d\","},{"lineNumber":2694,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2695,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2696,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"5.62.0\","},{"lineNumber":2697,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/visitor-keys\": \"5.62.0\""},{"lineNumber":2698,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2699,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2700,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":2701,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2702,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2703,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2704,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2705,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2706,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2707,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/type-utils\": {"},{"lineNumber":2708,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":2709,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz\","},{"lineNumber":2710,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew\u003d\u003d\","},{"lineNumber":2711,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2712,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2713,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"5.62.0\","},{"lineNumber":2714,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/utils\": \"5.62.0\","},{"lineNumber":2715,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":2716,"author":{"gitId":"-"},"content":" \"tsutils\": \"^3.21.0\""},{"lineNumber":2717,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2718,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2719,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":2720,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2721,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2722,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2723,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2724,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2725,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2726,"author":{"gitId":"-"},"content":" \"eslint\": \"*\""},{"lineNumber":2727,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2728,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":2729,"author":{"gitId":"-"},"content":" \"typescript\": {"},{"lineNumber":2730,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2731,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2732,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2733,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2734,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/types\": {"},{"lineNumber":2735,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":2736,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz\","},{"lineNumber":2737,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ\u003d\u003d\","},{"lineNumber":2738,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2739,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2740,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":2741,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2742,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2743,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2744,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2745,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2746,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2747,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/typescript-estree\": {"},{"lineNumber":2748,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":2749,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz\","},{"lineNumber":2750,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA\u003d\u003d\","},{"lineNumber":2751,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2752,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2753,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"5.62.0\","},{"lineNumber":2754,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/visitor-keys\": \"5.62.0\","},{"lineNumber":2755,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":2756,"author":{"gitId":"-"},"content":" \"globby\": \"^11.1.0\","},{"lineNumber":2757,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.3\","},{"lineNumber":2758,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.7\","},{"lineNumber":2759,"author":{"gitId":"-"},"content":" \"tsutils\": \"^3.21.0\""},{"lineNumber":2760,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2761,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2762,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":2763,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2764,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2765,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2766,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2767,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2768,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":2769,"author":{"gitId":"-"},"content":" \"typescript\": {"},{"lineNumber":2770,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2771,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2772,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2773,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2774,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache\": {"},{"lineNumber":2775,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":2776,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\","},{"lineNumber":2777,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\","},{"lineNumber":2778,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2779,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2780,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":2781,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2782,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2783,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2784,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2785,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2786,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/typescript-estree/node_modules/semver\": {"},{"lineNumber":2787,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":2788,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\","},{"lineNumber":2789,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\","},{"lineNumber":2790,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2791,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2792,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":2793,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2794,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":2795,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":2796,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2797,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2798,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2799,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2800,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2801,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/typescript-estree/node_modules/yallist\": {"},{"lineNumber":2802,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2803,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\","},{"lineNumber":2804,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\","},{"lineNumber":2805,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2806,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2807,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils\": {"},{"lineNumber":2808,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":2809,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz\","},{"lineNumber":2810,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ\u003d\u003d\","},{"lineNumber":2811,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2812,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2813,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/eslint-utils\": \"^4.2.0\","},{"lineNumber":2814,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\","},{"lineNumber":2815,"author":{"gitId":"-"},"content":" \"@types/semver\": \"^7.3.12\","},{"lineNumber":2816,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/scope-manager\": \"5.62.0\","},{"lineNumber":2817,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"5.62.0\","},{"lineNumber":2818,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/typescript-estree\": \"5.62.0\","},{"lineNumber":2819,"author":{"gitId":"-"},"content":" \"eslint-scope\": \"^5.1.1\","},{"lineNumber":2820,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.7\""},{"lineNumber":2821,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2822,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2823,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":2824,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2825,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2826,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2827,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2828,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2829,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2830,"author":{"gitId":"-"},"content":" \"eslint\": \"^6.0.0 || ^7.0.0 || ^8.0.0\""},{"lineNumber":2831,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2832,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2833,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/lru-cache\": {"},{"lineNumber":2834,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":2835,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\","},{"lineNumber":2836,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA\u003d\u003d\","},{"lineNumber":2837,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2838,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2839,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":2840,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2841,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2842,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2843,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2844,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2845,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/semver\": {"},{"lineNumber":2846,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":2847,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz\","},{"lineNumber":2848,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg\u003d\u003d\","},{"lineNumber":2849,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2850,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2851,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":2852,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2853,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":2854,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":2855,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2856,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2857,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2858,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2859,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2860,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/utils/node_modules/yallist\": {"},{"lineNumber":2861,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":2862,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\","},{"lineNumber":2863,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A\u003d\u003d\","},{"lineNumber":2864,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":2865,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2866,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/visitor-keys\": {"},{"lineNumber":2867,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.62.0\","},{"lineNumber":2868,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz\","},{"lineNumber":2869,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw\u003d\u003d\","},{"lineNumber":2870,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2871,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2872,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/types\": \"5.62.0\","},{"lineNumber":2873,"author":{"gitId":"-"},"content":" \"eslint-visitor-keys\": \"^3.3.0\""},{"lineNumber":2874,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2875,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2876,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":2877,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2878,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":2879,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":2880,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/typescript-eslint\""},{"lineNumber":2881,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2882,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2883,"author":{"gitId":"-"},"content":" \"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys\": {"},{"lineNumber":2884,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\","},{"lineNumber":2885,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz\","},{"lineNumber":2886,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag\u003d\u003d\","},{"lineNumber":2887,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2888,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2889,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":2890,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2891,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":2892,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":2893,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2894,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2895,"author":{"gitId":"sopa301"},"content":" \"node_modules/@ungap/structured-clone\": {"},{"lineNumber":2896,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.0\","},{"lineNumber":2897,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2898,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":2899,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":2900,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-helper-vue-jsx-merge-props\": {"},{"lineNumber":2901,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":2902,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2903,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2904,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2905,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-helper-vue-transform-on\": {"},{"lineNumber":2906,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":2907,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":2908,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":2909,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2910,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-plugin-jsx\": {"},{"lineNumber":2911,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\","},{"lineNumber":2912,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2913,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2914,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2915,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.0.0\","},{"lineNumber":2916,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.0.0\","},{"lineNumber":2917,"author":{"gitId":"-"},"content":" \"@babel/template\": \"^7.0.0\","},{"lineNumber":2918,"author":{"gitId":"-"},"content":" \"@babel/traverse\": \"^7.0.0\","},{"lineNumber":2919,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.0.0\","},{"lineNumber":2920,"author":{"gitId":"-"},"content":" \"@vue/babel-helper-vue-transform-on\": \"^1.0.2\","},{"lineNumber":2921,"author":{"gitId":"-"},"content":" \"camelcase\": \"^6.0.0\","},{"lineNumber":2922,"author":{"gitId":"-"},"content":" \"html-tags\": \"^3.1.0\","},{"lineNumber":2923,"author":{"gitId":"-"},"content":" \"svg-tags\": \"^1.0.0\""},{"lineNumber":2924,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2925,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2926,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-plugin-transform-vue-jsx\": {"},{"lineNumber":2927,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":2928,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2929,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2930,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2931,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.0.0\","},{"lineNumber":2932,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\","},{"lineNumber":2933,"author":{"gitId":"-"},"content":" \"@vue/babel-helper-vue-jsx-merge-props\": \"^1.4.0\","},{"lineNumber":2934,"author":{"gitId":"-"},"content":" \"html-tags\": \"^2.0.0\","},{"lineNumber":2935,"author":{"gitId":"-"},"content":" \"lodash.kebabcase\": \"^4.1.1\","},{"lineNumber":2936,"author":{"gitId":"-"},"content":" \"svg-tags\": \"^1.0.0\""},{"lineNumber":2937,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2938,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2939,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":2940,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2941,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2942,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-plugin-transform-vue-jsx/node_modules/html-tags\": {"},{"lineNumber":2943,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":2944,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2945,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2946,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2947,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":2948,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2949,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2950,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-app\": {"},{"lineNumber":2951,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":2952,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2953,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":2954,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2955,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.12.16\","},{"lineNumber":2956,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.12.16\","},{"lineNumber":2957,"author":{"gitId":"-"},"content":" \"@babel/helper-module-imports\": \"^7.12.13\","},{"lineNumber":2958,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-class-properties\": \"^7.12.13\","},{"lineNumber":2959,"author":{"gitId":"-"},"content":" \"@babel/plugin-proposal-decorators\": \"^7.12.13\","},{"lineNumber":2960,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\","},{"lineNumber":2961,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.12.13\","},{"lineNumber":2962,"author":{"gitId":"-"},"content":" \"@babel/plugin-transform-runtime\": \"^7.12.15\","},{"lineNumber":2963,"author":{"gitId":"-"},"content":" \"@babel/preset-env\": \"^7.12.16\","},{"lineNumber":2964,"author":{"gitId":"-"},"content":" \"@babel/runtime\": \"^7.12.13\","},{"lineNumber":2965,"author":{"gitId":"-"},"content":" \"@vue/babel-plugin-jsx\": \"^1.0.3\","},{"lineNumber":2966,"author":{"gitId":"-"},"content":" \"@vue/babel-preset-jsx\": \"^1.1.2\","},{"lineNumber":2967,"author":{"gitId":"-"},"content":" \"babel-plugin-dynamic-import-node\": \"^2.3.3\","},{"lineNumber":2968,"author":{"gitId":"-"},"content":" \"core-js\": \"^3.8.3\","},{"lineNumber":2969,"author":{"gitId":"-"},"content":" \"core-js-compat\": \"^3.8.3\","},{"lineNumber":2970,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.4\""},{"lineNumber":2971,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2972,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":2973,"author":{"gitId":"-"},"content":" \"@babel/core\": \"*\","},{"lineNumber":2974,"author":{"gitId":"-"},"content":" \"core-js\": \"^3\","},{"lineNumber":2975,"author":{"gitId":"-"},"content":" \"vue\": \"^2 || ^3.2.13\""},{"lineNumber":2976,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2977,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":2978,"author":{"gitId":"-"},"content":" \"core-js\": {"},{"lineNumber":2979,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2980,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2981,"author":{"gitId":"-"},"content":" \"vue\": {"},{"lineNumber":2982,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":2983,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2984,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2985,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2986,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-app/node_modules/lru-cache\": {"},{"lineNumber":2987,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":2988,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":2989,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":2990,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":2991,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":2992,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2993,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":2994,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":2995,"author":{"gitId":"-"},"content":" }"},{"lineNumber":2996,"author":{"gitId":"-"},"content":" },"},{"lineNumber":2997,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-app/node_modules/semver\": {"},{"lineNumber":2998,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":2999,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3000,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":3001,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3002,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":3003,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3004,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":3005,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":3006,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3007,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3008,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":3009,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3010,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3011,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-app/node_modules/yallist\": {"},{"lineNumber":3012,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":3013,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3014,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":3015,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3016,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-preset-jsx\": {"},{"lineNumber":3017,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":3018,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3019,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3020,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3021,"author":{"gitId":"-"},"content":" \"@vue/babel-helper-vue-jsx-merge-props\": \"^1.4.0\","},{"lineNumber":3022,"author":{"gitId":"-"},"content":" \"@vue/babel-plugin-transform-vue-jsx\": \"^1.4.0\","},{"lineNumber":3023,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-composition-api-inject-h\": \"^1.4.0\","},{"lineNumber":3024,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-composition-api-render-instance\": \"^1.4.0\","},{"lineNumber":3025,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-functional-vue\": \"^1.4.0\","},{"lineNumber":3026,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-inject-h\": \"^1.4.0\","},{"lineNumber":3027,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-v-model\": \"^1.4.0\","},{"lineNumber":3028,"author":{"gitId":"-"},"content":" \"@vue/babel-sugar-v-on\": \"^1.4.0\""},{"lineNumber":3029,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3030,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3031,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\","},{"lineNumber":3032,"author":{"gitId":"-"},"content":" \"vue\": \"*\""},{"lineNumber":3033,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3034,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":3035,"author":{"gitId":"-"},"content":" \"vue\": {"},{"lineNumber":3036,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3037,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3038,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3039,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3040,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-composition-api-inject-h\": {"},{"lineNumber":3041,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":3042,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3043,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3044,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3045,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\""},{"lineNumber":3046,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3047,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3048,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":3049,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3050,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3051,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-composition-api-render-instance\": {"},{"lineNumber":3052,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":3053,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3054,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3055,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3056,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\""},{"lineNumber":3057,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3058,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3059,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":3060,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3061,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3062,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-functional-vue\": {"},{"lineNumber":3063,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":3064,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3065,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3066,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3067,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\""},{"lineNumber":3068,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3069,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3070,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":3071,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3072,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3073,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-inject-h\": {"},{"lineNumber":3074,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":3075,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3076,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3077,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3078,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\""},{"lineNumber":3079,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3080,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3081,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":3082,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3083,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3084,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-model\": {"},{"lineNumber":3085,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":3086,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3087,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3088,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3089,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\","},{"lineNumber":3090,"author":{"gitId":"-"},"content":" \"@vue/babel-helper-vue-jsx-merge-props\": \"^1.4.0\","},{"lineNumber":3091,"author":{"gitId":"-"},"content":" \"@vue/babel-plugin-transform-vue-jsx\": \"^1.4.0\","},{"lineNumber":3092,"author":{"gitId":"-"},"content":" \"camelcase\": \"^5.0.0\","},{"lineNumber":3093,"author":{"gitId":"-"},"content":" \"html-tags\": \"^2.0.0\","},{"lineNumber":3094,"author":{"gitId":"-"},"content":" \"svg-tags\": \"^1.0.0\""},{"lineNumber":3095,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3096,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3097,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":3098,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3099,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3100,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-model/node_modules/camelcase\": {"},{"lineNumber":3101,"author":{"gitId":"-"},"content":" \"version\": \"5.3.1\","},{"lineNumber":3102,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3103,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3104,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3105,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":3106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3107,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3108,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-model/node_modules/html-tags\": {"},{"lineNumber":3109,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":3110,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3111,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3112,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3113,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":3114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3115,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3116,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-on\": {"},{"lineNumber":3117,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":3118,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3119,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3120,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3121,"author":{"gitId":"-"},"content":" \"@babel/plugin-syntax-jsx\": \"^7.2.0\","},{"lineNumber":3122,"author":{"gitId":"-"},"content":" \"@vue/babel-plugin-transform-vue-jsx\": \"^1.4.0\","},{"lineNumber":3123,"author":{"gitId":"-"},"content":" \"camelcase\": \"^5.0.0\""},{"lineNumber":3124,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3125,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3126,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":3127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3128,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3129,"author":{"gitId":"-"},"content":" \"node_modules/@vue/babel-sugar-v-on/node_modules/camelcase\": {"},{"lineNumber":3130,"author":{"gitId":"-"},"content":" \"version\": \"5.3.1\","},{"lineNumber":3131,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3132,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3133,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3134,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":3135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3136,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3137,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-overlay\": {"},{"lineNumber":3138,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":3139,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3140,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3141,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3142,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-babel\": {"},{"lineNumber":3143,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":3144,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3145,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3146,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3147,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.12.16\","},{"lineNumber":3148,"author":{"gitId":"-"},"content":" \"@vue/babel-preset-app\": \"^5.0.8\","},{"lineNumber":3149,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\","},{"lineNumber":3150,"author":{"gitId":"-"},"content":" \"babel-loader\": \"^8.2.2\","},{"lineNumber":3151,"author":{"gitId":"-"},"content":" \"thread-loader\": \"^3.0.0\","},{"lineNumber":3152,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.54.0\""},{"lineNumber":3153,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3154,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3155,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\""},{"lineNumber":3156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3157,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3158,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-eslint\": {"},{"lineNumber":3159,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":3160,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3161,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3162,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3163,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\","},{"lineNumber":3164,"author":{"gitId":"-"},"content":" \"eslint-webpack-plugin\": \"^3.1.0\","},{"lineNumber":3165,"author":{"gitId":"-"},"content":" \"globby\": \"^11.0.2\","},{"lineNumber":3166,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.54.0\","},{"lineNumber":3167,"author":{"gitId":"-"},"content":" \"yorkie\": \"^2.0.0\""},{"lineNumber":3168,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3169,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3170,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\","},{"lineNumber":3171,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d7.5.0\""},{"lineNumber":3172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3173,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3174,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-router\": {"},{"lineNumber":3175,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":3176,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3177,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3178,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3179,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\""},{"lineNumber":3180,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3181,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3182,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\""},{"lineNumber":3183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3184,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3185,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-typescript\": {"},{"lineNumber":3186,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":3187,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3188,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3189,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3190,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.12.16\","},{"lineNumber":3191,"author":{"gitId":"-"},"content":" \"@types/webpack-env\": \"^1.15.2\","},{"lineNumber":3192,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\","},{"lineNumber":3193,"author":{"gitId":"-"},"content":" \"babel-loader\": \"^8.2.2\","},{"lineNumber":3194,"author":{"gitId":"-"},"content":" \"fork-ts-checker-webpack-plugin\": \"^6.4.0\","},{"lineNumber":3195,"author":{"gitId":"-"},"content":" \"globby\": \"^11.0.2\","},{"lineNumber":3196,"author":{"gitId":"-"},"content":" \"thread-loader\": \"^3.0.0\","},{"lineNumber":3197,"author":{"gitId":"-"},"content":" \"ts-loader\": \"^9.2.5\","},{"lineNumber":3198,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.54.0\""},{"lineNumber":3199,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3200,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3201,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\","},{"lineNumber":3202,"author":{"gitId":"-"},"content":" \"cache-loader\": \"^4.1.0\","},{"lineNumber":3203,"author":{"gitId":"-"},"content":" \"typescript\": \"\u003e\u003d2\","},{"lineNumber":3204,"author":{"gitId":"-"},"content":" \"vue\": \"^2 || ^3.2.13\","},{"lineNumber":3205,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": \"^2.0.0\""},{"lineNumber":3206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3207,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":3208,"author":{"gitId":"-"},"content":" \"cache-loader\": {"},{"lineNumber":3209,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3210,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3211,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": {"},{"lineNumber":3212,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3213,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3215,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3216,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-plugin-vuex\": {"},{"lineNumber":3217,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":3218,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3219,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3220,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3221,"author":{"gitId":"-"},"content":" \"@vue/cli-service\": \"^3.0.0 || ^4.0.0 || ^5.0.0-0\""},{"lineNumber":3222,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3223,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3224,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-service\": {"},{"lineNumber":3225,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":3226,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3227,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3228,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3229,"author":{"gitId":"-"},"content":" \"@babel/helper-compilation-targets\": \"^7.12.16\","},{"lineNumber":3230,"author":{"gitId":"-"},"content":" \"@soda/friendly-errors-webpack-plugin\": \"^1.8.0\","},{"lineNumber":3231,"author":{"gitId":"-"},"content":" \"@soda/get-current-script\": \"^1.0.2\","},{"lineNumber":3232,"author":{"gitId":"-"},"content":" \"@types/minimist\": \"^1.2.0\","},{"lineNumber":3233,"author":{"gitId":"-"},"content":" \"@vue/cli-overlay\": \"^5.0.8\","},{"lineNumber":3234,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-router\": \"^5.0.8\","},{"lineNumber":3235,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-vuex\": \"^5.0.8\","},{"lineNumber":3236,"author":{"gitId":"-"},"content":" \"@vue/cli-shared-utils\": \"^5.0.8\","},{"lineNumber":3237,"author":{"gitId":"-"},"content":" \"@vue/component-compiler-utils\": \"^3.3.0\","},{"lineNumber":3238,"author":{"gitId":"-"},"content":" \"@vue/vue-loader-v15\": \"npm:vue-loader@^15.9.7\","},{"lineNumber":3239,"author":{"gitId":"-"},"content":" \"@vue/web-component-wrapper\": \"^1.3.0\","},{"lineNumber":3240,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.0.5\","},{"lineNumber":3241,"author":{"gitId":"-"},"content":" \"acorn-walk\": \"^8.0.2\","},{"lineNumber":3242,"author":{"gitId":"-"},"content":" \"address\": \"^1.1.2\","},{"lineNumber":3243,"author":{"gitId":"-"},"content":" \"autoprefixer\": \"^10.2.4\","},{"lineNumber":3244,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.16.3\","},{"lineNumber":3245,"author":{"gitId":"-"},"content":" \"case-sensitive-paths-webpack-plugin\": \"^2.3.0\","},{"lineNumber":3246,"author":{"gitId":"-"},"content":" \"cli-highlight\": \"^2.1.10\","},{"lineNumber":3247,"author":{"gitId":"-"},"content":" \"clipboardy\": \"^2.3.0\","},{"lineNumber":3248,"author":{"gitId":"-"},"content":" \"cliui\": \"^7.0.4\","},{"lineNumber":3249,"author":{"gitId":"-"},"content":" \"copy-webpack-plugin\": \"^9.0.1\","},{"lineNumber":3250,"author":{"gitId":"-"},"content":" \"css-loader\": \"^6.5.0\","},{"lineNumber":3251,"author":{"gitId":"-"},"content":" \"css-minimizer-webpack-plugin\": \"^3.0.2\","},{"lineNumber":3252,"author":{"gitId":"-"},"content":" \"cssnano\": \"^5.0.0\","},{"lineNumber":3253,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.1\","},{"lineNumber":3254,"author":{"gitId":"-"},"content":" \"default-gateway\": \"^6.0.3\","},{"lineNumber":3255,"author":{"gitId":"-"},"content":" \"dotenv\": \"^10.0.0\","},{"lineNumber":3256,"author":{"gitId":"-"},"content":" \"dotenv-expand\": \"^5.1.0\","},{"lineNumber":3257,"author":{"gitId":"-"},"content":" \"fs-extra\": \"^9.1.0\","},{"lineNumber":3258,"author":{"gitId":"-"},"content":" \"globby\": \"^11.0.2\","},{"lineNumber":3259,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^2.0.0\","},{"lineNumber":3260,"author":{"gitId":"-"},"content":" \"html-webpack-plugin\": \"^5.1.0\","},{"lineNumber":3261,"author":{"gitId":"-"},"content":" \"is-file-esm\": \"^1.0.0\","},{"lineNumber":3262,"author":{"gitId":"-"},"content":" \"launch-editor-middleware\": \"^2.2.1\","},{"lineNumber":3263,"author":{"gitId":"-"},"content":" \"lodash.defaultsdeep\": \"^4.6.1\","},{"lineNumber":3264,"author":{"gitId":"-"},"content":" \"lodash.mapvalues\": \"^4.6.0\","},{"lineNumber":3265,"author":{"gitId":"-"},"content":" \"mini-css-extract-plugin\": \"^2.5.3\","},{"lineNumber":3266,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.5\","},{"lineNumber":3267,"author":{"gitId":"-"},"content":" \"module-alias\": \"^2.2.2\","},{"lineNumber":3268,"author":{"gitId":"-"},"content":" \"portfinder\": \"^1.0.26\","},{"lineNumber":3269,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.6\","},{"lineNumber":3270,"author":{"gitId":"-"},"content":" \"postcss-loader\": \"^6.1.1\","},{"lineNumber":3271,"author":{"gitId":"-"},"content":" \"progress-webpack-plugin\": \"^1.0.12\","},{"lineNumber":3272,"author":{"gitId":"-"},"content":" \"ssri\": \"^8.0.1\","},{"lineNumber":3273,"author":{"gitId":"-"},"content":" \"terser-webpack-plugin\": \"^5.1.1\","},{"lineNumber":3274,"author":{"gitId":"-"},"content":" \"thread-loader\": \"^3.0.0\","},{"lineNumber":3275,"author":{"gitId":"-"},"content":" \"vue-loader\": \"^17.0.0\","},{"lineNumber":3276,"author":{"gitId":"-"},"content":" \"vue-style-loader\": \"^4.1.3\","},{"lineNumber":3277,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.54.0\","},{"lineNumber":3278,"author":{"gitId":"-"},"content":" \"webpack-bundle-analyzer\": \"^4.4.0\","},{"lineNumber":3279,"author":{"gitId":"-"},"content":" \"webpack-chain\": \"^6.5.1\","},{"lineNumber":3280,"author":{"gitId":"-"},"content":" \"webpack-dev-server\": \"^4.7.3\","},{"lineNumber":3281,"author":{"gitId":"-"},"content":" \"webpack-merge\": \"^5.7.3\","},{"lineNumber":3282,"author":{"gitId":"-"},"content":" \"webpack-virtual-modules\": \"^0.4.2\","},{"lineNumber":3283,"author":{"gitId":"-"},"content":" \"whatwg-fetch\": \"^3.6.2\""},{"lineNumber":3284,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3285,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":3286,"author":{"gitId":"-"},"content":" \"vue-cli-service\": \"bin/vue-cli-service.js\""},{"lineNumber":3287,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3288,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3289,"author":{"gitId":"-"},"content":" \"node\": \"^12.0.0 || \u003e\u003d 14.0.0\""},{"lineNumber":3290,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3291,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3292,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": \"^2.0.0\","},{"lineNumber":3293,"author":{"gitId":"-"},"content":" \"webpack-sources\": \"*\""},{"lineNumber":3294,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3295,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":3296,"author":{"gitId":"-"},"content":" \"cache-loader\": {"},{"lineNumber":3297,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3298,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3299,"author":{"gitId":"-"},"content":" \"less-loader\": {"},{"lineNumber":3300,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3301,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3302,"author":{"gitId":"-"},"content":" \"pug-plain-loader\": {"},{"lineNumber":3303,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3304,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3305,"author":{"gitId":"-"},"content":" \"raw-loader\": {"},{"lineNumber":3306,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3307,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3308,"author":{"gitId":"-"},"content":" \"sass-loader\": {"},{"lineNumber":3309,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3310,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3311,"author":{"gitId":"-"},"content":" \"stylus-loader\": {"},{"lineNumber":3312,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3313,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3314,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": {"},{"lineNumber":3315,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3316,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3317,"author":{"gitId":"-"},"content":" \"webpack-sources\": {"},{"lineNumber":3318,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3319,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3320,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3321,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3322,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils\": {"},{"lineNumber":3323,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":3324,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3325,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3326,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3327,"author":{"gitId":"-"},"content":" \"@achrinza/node-ipc\": \"^9.2.5\","},{"lineNumber":3328,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.2\","},{"lineNumber":3329,"author":{"gitId":"-"},"content":" \"execa\": \"^1.0.0\","},{"lineNumber":3330,"author":{"gitId":"-"},"content":" \"joi\": \"^17.4.0\","},{"lineNumber":3331,"author":{"gitId":"-"},"content":" \"launch-editor\": \"^2.2.1\","},{"lineNumber":3332,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\","},{"lineNumber":3333,"author":{"gitId":"-"},"content":" \"node-fetch\": \"^2.6.7\","},{"lineNumber":3334,"author":{"gitId":"-"},"content":" \"open\": \"^8.0.2\","},{"lineNumber":3335,"author":{"gitId":"-"},"content":" \"ora\": \"^5.3.0\","},{"lineNumber":3336,"author":{"gitId":"-"},"content":" \"read-pkg\": \"^5.1.1\","},{"lineNumber":3337,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.4\","},{"lineNumber":3338,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\""},{"lineNumber":3339,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3340,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3341,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/ansi-styles\": {"},{"lineNumber":3342,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":3343,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3344,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3345,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3346,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":3347,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3348,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3349,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":3350,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3351,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":3352,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":3353,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3354,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3355,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/chalk\": {"},{"lineNumber":3356,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":3357,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3358,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3359,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3360,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":3361,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":3362,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3363,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3364,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":3365,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3366,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":3367,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":3368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3369,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3370,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/color-convert\": {"},{"lineNumber":3371,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":3372,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3373,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3374,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3375,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":3376,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3377,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3378,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":3379,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3380,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3381,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/color-name\": {"},{"lineNumber":3382,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":3383,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3384,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3385,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3386,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/has-flag\": {"},{"lineNumber":3387,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":3388,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3389,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3390,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3391,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":3392,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3393,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3394,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/lru-cache\": {"},{"lineNumber":3395,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":3396,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3397,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":3398,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3399,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":3400,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3401,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3402,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":3403,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3404,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3405,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/semver\": {"},{"lineNumber":3406,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":3407,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3408,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":3409,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3410,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":3411,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3412,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":3413,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":3414,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3415,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3416,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":3417,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3418,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3419,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/supports-color\": {"},{"lineNumber":3420,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":3421,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3422,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3423,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3424,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":3425,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3426,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3427,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":3428,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3429,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3430,"author":{"gitId":"-"},"content":" \"node_modules/@vue/cli-shared-utils/node_modules/yallist\": {"},{"lineNumber":3431,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":3432,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3433,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":3434,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3435,"author":{"gitId":"-"},"content":" \"node_modules/@vue/compiler-core\": {"},{"lineNumber":3436,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3437,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3438,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3439,"author":{"gitId":"sopa301"},"content":" \"@babel/parser\": \"^7.23.9\","},{"lineNumber":3440,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\","},{"lineNumber":3441,"author":{"gitId":"sopa301"},"content":" \"entities\": \"^4.5.0\","},{"lineNumber":3442,"author":{"gitId":"-"},"content":" \"estree-walker\": \"^2.0.2\","},{"lineNumber":3443,"author":{"gitId":"sopa301"},"content":" \"source-map-js\": \"^1.0.2\""},{"lineNumber":3444,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3445,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3446,"author":{"gitId":"-"},"content":" \"node_modules/@vue/compiler-dom\": {"},{"lineNumber":3447,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3448,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3449,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3450,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-core\": \"3.4.21\","},{"lineNumber":3451,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\""},{"lineNumber":3452,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3453,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3454,"author":{"gitId":"-"},"content":" \"node_modules/@vue/compiler-sfc\": {"},{"lineNumber":3455,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3456,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3457,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":3458,"author":{"gitId":"sopa301"},"content":" \"@babel/parser\": \"^7.23.9\","},{"lineNumber":3459,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-core\": \"3.4.21\","},{"lineNumber":3460,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-dom\": \"3.4.21\","},{"lineNumber":3461,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-ssr\": \"3.4.21\","},{"lineNumber":3462,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\","},{"lineNumber":3463,"author":{"gitId":"-"},"content":" \"estree-walker\": \"^2.0.2\","},{"lineNumber":3464,"author":{"gitId":"sopa301"},"content":" \"magic-string\": \"^0.30.7\","},{"lineNumber":3465,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.35\","},{"lineNumber":3466,"author":{"gitId":"sopa301"},"content":" \"source-map-js\": \"^1.0.2\""},{"lineNumber":3467,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3468,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3469,"author":{"gitId":"-"},"content":" \"node_modules/@vue/compiler-ssr\": {"},{"lineNumber":3470,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3471,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3472,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3473,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-dom\": \"3.4.21\","},{"lineNumber":3474,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\""},{"lineNumber":3475,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3476,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3477,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils\": {"},{"lineNumber":3478,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\","},{"lineNumber":3479,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3480,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3481,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3482,"author":{"gitId":"-"},"content":" \"consolidate\": \"^0.15.1\","},{"lineNumber":3483,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^1.0.2\","},{"lineNumber":3484,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^4.1.2\","},{"lineNumber":3485,"author":{"gitId":"-"},"content":" \"merge-source-map\": \"^1.1.0\","},{"lineNumber":3486,"author":{"gitId":"-"},"content":" \"postcss\": \"^7.0.36\","},{"lineNumber":3487,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.2\","},{"lineNumber":3488,"author":{"gitId":"-"},"content":" \"source-map\": \"~0.6.1\","},{"lineNumber":3489,"author":{"gitId":"-"},"content":" \"vue-template-es2015-compiler\": \"^1.9.0\""},{"lineNumber":3490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3491,"author":{"gitId":"-"},"content":" \"optionalDependencies\": {"},{"lineNumber":3492,"author":{"gitId":"-"},"content":" \"prettier\": \"^1.18.2 || ^2.0.0\""},{"lineNumber":3493,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3494,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3495,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/hash-sum\": {"},{"lineNumber":3496,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":3497,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3498,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3499,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3500,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/lru-cache\": {"},{"lineNumber":3501,"author":{"gitId":"-"},"content":" \"version\": \"4.1.5\","},{"lineNumber":3502,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3503,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":3504,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3505,"author":{"gitId":"-"},"content":" \"pseudomap\": \"^1.0.2\","},{"lineNumber":3506,"author":{"gitId":"-"},"content":" \"yallist\": \"^2.1.2\""},{"lineNumber":3507,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3508,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3509,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/picocolors\": {"},{"lineNumber":3510,"author":{"gitId":"-"},"content":" \"version\": \"0.2.1\","},{"lineNumber":3511,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3512,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":3513,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3514,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/postcss\": {"},{"lineNumber":3515,"author":{"gitId":"-"},"content":" \"version\": \"7.0.39\","},{"lineNumber":3516,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3517,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3518,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3519,"author":{"gitId":"-"},"content":" \"picocolors\": \"^0.2.1\","},{"lineNumber":3520,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.1\""},{"lineNumber":3521,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3522,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3523,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":3524,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3525,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":3526,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":3527,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\""},{"lineNumber":3528,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3529,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3530,"author":{"gitId":"-"},"content":" \"node_modules/@vue/component-compiler-utils/node_modules/yallist\": {"},{"lineNumber":3531,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\","},{"lineNumber":3532,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3533,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":3534,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3535,"author":{"gitId":"-"},"content":" \"node_modules/@vue/devtools-api\": {"},{"lineNumber":3536,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.6.1\","},{"lineNumber":3537,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3538,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3539,"author":{"gitId":"-"},"content":" \"node_modules/@vue/eslint-config-typescript\": {"},{"lineNumber":3540,"author":{"gitId":"-"},"content":" \"version\": \"10.0.0\","},{"lineNumber":3541,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3542,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3543,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3544,"author":{"gitId":"-"},"content":" \"@typescript-eslint/eslint-plugin\": \"^5.0.0\","},{"lineNumber":3545,"author":{"gitId":"-"},"content":" \"@typescript-eslint/parser\": \"^5.0.0\","},{"lineNumber":3546,"author":{"gitId":"-"},"content":" \"vue-eslint-parser\": \"^8.0.0\""},{"lineNumber":3547,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3548,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3549,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":3550,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3551,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3552,"author":{"gitId":"-"},"content":" \"eslint\": \"^6.2.0 || ^7.0.0 || ^8.0.0\","},{"lineNumber":3553,"author":{"gitId":"-"},"content":" \"eslint-plugin-vue\": \"^8.0.1\""},{"lineNumber":3554,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3555,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3556,"author":{"gitId":"-"},"content":" \"node_modules/@vue/reactivity\": {"},{"lineNumber":3557,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3558,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3559,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3560,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\""},{"lineNumber":3561,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3562,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3563,"author":{"gitId":"-"},"content":" \"node_modules/@vue/runtime-core\": {"},{"lineNumber":3564,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3565,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3566,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3567,"author":{"gitId":"sopa301"},"content":" \"@vue/reactivity\": \"3.4.21\","},{"lineNumber":3568,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\""},{"lineNumber":3569,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3570,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3571,"author":{"gitId":"-"},"content":" \"node_modules/@vue/runtime-dom\": {"},{"lineNumber":3572,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3573,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3574,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3575,"author":{"gitId":"sopa301"},"content":" \"@vue/runtime-core\": \"3.4.21\","},{"lineNumber":3576,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\","},{"lineNumber":3577,"author":{"gitId":"sopa301"},"content":" \"csstype\": \"^3.1.3\""},{"lineNumber":3578,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3579,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3580,"author":{"gitId":"-"},"content":" \"node_modules/@vue/server-renderer\": {"},{"lineNumber":3581,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3582,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3583,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3584,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-ssr\": \"3.4.21\","},{"lineNumber":3585,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\""},{"lineNumber":3586,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3587,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3588,"author":{"gitId":"sopa301"},"content":" \"vue\": \"3.4.21\""},{"lineNumber":3589,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3590,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3591,"author":{"gitId":"-"},"content":" \"node_modules/@vue/shared\": {"},{"lineNumber":3592,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":3593,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3594,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3595,"author":{"gitId":"-"},"content":" \"node_modules/@vue/vue-loader-v15\": {"},{"lineNumber":3596,"author":{"gitId":"-"},"content":" \"name\": \"vue-loader\","},{"lineNumber":3597,"author":{"gitId":"sopa301"},"content":" \"version\": \"15.11.1\","},{"lineNumber":3598,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3599,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3600,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3601,"author":{"gitId":"-"},"content":" \"@vue/component-compiler-utils\": \"^3.1.0\","},{"lineNumber":3602,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^1.0.2\","},{"lineNumber":3603,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^1.1.0\","},{"lineNumber":3604,"author":{"gitId":"-"},"content":" \"vue-hot-reload-api\": \"^2.3.0\","},{"lineNumber":3605,"author":{"gitId":"-"},"content":" \"vue-style-loader\": \"^4.1.0\""},{"lineNumber":3606,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3607,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":3608,"author":{"gitId":"sopa301"},"content":" \"css-loader\": \"*\","},{"lineNumber":3609,"author":{"gitId":"sopa301"},"content":" \"webpack\": \"^3.0.0 || ^4.1.0 || ^5.0.0-0\""},{"lineNumber":3610,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3611,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":3612,"author":{"gitId":"sopa301"},"content":" \"cache-loader\": {"},{"lineNumber":3613,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":3614,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3615,"author":{"gitId":"sopa301"},"content":" \"prettier\": {"},{"lineNumber":3616,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":3617,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3618,"author":{"gitId":"sopa301"},"content":" \"vue-template-compiler\": {"},{"lineNumber":3619,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":3620,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":3621,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3622,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3623,"author":{"gitId":"-"},"content":" \"node_modules/@vue/vue-loader-v15/node_modules/hash-sum\": {"},{"lineNumber":3624,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":3625,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3626,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3627,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3628,"author":{"gitId":"-"},"content":" \"node_modules/@vue/web-component-wrapper\": {"},{"lineNumber":3629,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\","},{"lineNumber":3630,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3631,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3632,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3633,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/ast\": {"},{"lineNumber":3634,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3635,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3636,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3637,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-numbers\": \"1.11.1\","},{"lineNumber":3638,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\""},{"lineNumber":3639,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3640,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3641,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/floating-point-hex-parser\": {"},{"lineNumber":3642,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3643,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3644,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3645,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-api-error\": {"},{"lineNumber":3646,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3647,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3648,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3649,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-buffer\": {"},{"lineNumber":3650,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3651,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3652,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3653,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-numbers\": {"},{"lineNumber":3654,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3655,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3656,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3657,"author":{"gitId":"-"},"content":" \"@webassemblyjs/floating-point-hex-parser\": \"1.11.1\","},{"lineNumber":3658,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-api-error\": \"1.11.1\","},{"lineNumber":3659,"author":{"gitId":"-"},"content":" \"@xtuc/long\": \"4.2.2\""},{"lineNumber":3660,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3661,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3662,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-wasm-bytecode\": {"},{"lineNumber":3663,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3664,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3665,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3666,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/helper-wasm-section\": {"},{"lineNumber":3667,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3668,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3669,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3670,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\","},{"lineNumber":3671,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-buffer\": \"1.11.1\","},{"lineNumber":3672,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\","},{"lineNumber":3673,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-gen\": \"1.11.1\""},{"lineNumber":3674,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3675,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3676,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/ieee754\": {"},{"lineNumber":3677,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3678,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3679,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3680,"author":{"gitId":"-"},"content":" \"@xtuc/ieee754\": \"^1.2.0\""},{"lineNumber":3681,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3682,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3683,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/leb128\": {"},{"lineNumber":3684,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3685,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":3686,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3687,"author":{"gitId":"-"},"content":" \"@xtuc/long\": \"4.2.2\""},{"lineNumber":3688,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3689,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3690,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/utf8\": {"},{"lineNumber":3691,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3692,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3693,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3694,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wasm-edit\": {"},{"lineNumber":3695,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3696,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3697,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3698,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\","},{"lineNumber":3699,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-buffer\": \"1.11.1\","},{"lineNumber":3700,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\","},{"lineNumber":3701,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-section\": \"1.11.1\","},{"lineNumber":3702,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-gen\": \"1.11.1\","},{"lineNumber":3703,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-opt\": \"1.11.1\","},{"lineNumber":3704,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-parser\": \"1.11.1\","},{"lineNumber":3705,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wast-printer\": \"1.11.1\""},{"lineNumber":3706,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3707,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3708,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wasm-gen\": {"},{"lineNumber":3709,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3710,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3711,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3712,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\","},{"lineNumber":3713,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\","},{"lineNumber":3714,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ieee754\": \"1.11.1\","},{"lineNumber":3715,"author":{"gitId":"-"},"content":" \"@webassemblyjs/leb128\": \"1.11.1\","},{"lineNumber":3716,"author":{"gitId":"-"},"content":" \"@webassemblyjs/utf8\": \"1.11.1\""},{"lineNumber":3717,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3718,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3719,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wasm-opt\": {"},{"lineNumber":3720,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3721,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3722,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3723,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\","},{"lineNumber":3724,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-buffer\": \"1.11.1\","},{"lineNumber":3725,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-gen\": \"1.11.1\","},{"lineNumber":3726,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-parser\": \"1.11.1\""},{"lineNumber":3727,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3728,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3729,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wasm-parser\": {"},{"lineNumber":3730,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3731,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3732,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3733,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\","},{"lineNumber":3734,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-api-error\": \"1.11.1\","},{"lineNumber":3735,"author":{"gitId":"-"},"content":" \"@webassemblyjs/helper-wasm-bytecode\": \"1.11.1\","},{"lineNumber":3736,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ieee754\": \"1.11.1\","},{"lineNumber":3737,"author":{"gitId":"-"},"content":" \"@webassemblyjs/leb128\": \"1.11.1\","},{"lineNumber":3738,"author":{"gitId":"-"},"content":" \"@webassemblyjs/utf8\": \"1.11.1\""},{"lineNumber":3739,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3740,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3741,"author":{"gitId":"-"},"content":" \"node_modules/@webassemblyjs/wast-printer\": {"},{"lineNumber":3742,"author":{"gitId":"-"},"content":" \"version\": \"1.11.1\","},{"lineNumber":3743,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3744,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3745,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\","},{"lineNumber":3746,"author":{"gitId":"-"},"content":" \"@xtuc/long\": \"4.2.2\""},{"lineNumber":3747,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3748,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3749,"author":{"gitId":"-"},"content":" \"node_modules/@xtuc/ieee754\": {"},{"lineNumber":3750,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":3751,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\""},{"lineNumber":3752,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3753,"author":{"gitId":"-"},"content":" \"node_modules/@xtuc/long\": {"},{"lineNumber":3754,"author":{"gitId":"-"},"content":" \"version\": \"4.2.2\","},{"lineNumber":3755,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\""},{"lineNumber":3756,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3757,"author":{"gitId":"-"},"content":" \"node_modules/accepts\": {"},{"lineNumber":3758,"author":{"gitId":"-"},"content":" \"version\": \"1.3.8\","},{"lineNumber":3759,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3760,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3761,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3762,"author":{"gitId":"-"},"content":" \"mime-types\": \"~2.1.34\","},{"lineNumber":3763,"author":{"gitId":"-"},"content":" \"negotiator\": \"0.6.3\""},{"lineNumber":3764,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3765,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3766,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":3767,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3768,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3769,"author":{"gitId":"-"},"content":" \"node_modules/acorn\": {"},{"lineNumber":3770,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.11.3\","},{"lineNumber":3771,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3772,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":3773,"author":{"gitId":"-"},"content":" \"acorn\": \"bin/acorn\""},{"lineNumber":3774,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3775,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3776,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.4.0\""},{"lineNumber":3777,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3778,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3779,"author":{"gitId":"-"},"content":" \"node_modules/acorn-import-assertions\": {"},{"lineNumber":3780,"author":{"gitId":"-"},"content":" \"version\": \"1.8.0\","},{"lineNumber":3781,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3782,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3783,"author":{"gitId":"-"},"content":" \"acorn\": \"^8\""},{"lineNumber":3784,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3785,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3786,"author":{"gitId":"-"},"content":" \"node_modules/acorn-jsx\": {"},{"lineNumber":3787,"author":{"gitId":"-"},"content":" \"version\": \"5.3.2\","},{"lineNumber":3788,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3789,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3790,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3791,"author":{"gitId":"-"},"content":" \"acorn\": \"^6.0.0 || ^7.0.0 || ^8.0.0\""},{"lineNumber":3792,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3793,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3794,"author":{"gitId":"-"},"content":" \"node_modules/acorn-walk\": {"},{"lineNumber":3795,"author":{"gitId":"-"},"content":" \"version\": \"8.2.0\","},{"lineNumber":3796,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3797,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3798,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3799,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.4.0\""},{"lineNumber":3800,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3801,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3802,"author":{"gitId":"-"},"content":" \"node_modules/address\": {"},{"lineNumber":3803,"author":{"gitId":"-"},"content":" \"version\": \"1.2.2\","},{"lineNumber":3804,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3805,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3806,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3807,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0.0\""},{"lineNumber":3808,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3809,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3810,"author":{"gitId":"-"},"content":" \"node_modules/ajv\": {"},{"lineNumber":3811,"author":{"gitId":"-"},"content":" \"version\": \"6.12.6\","},{"lineNumber":3812,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3813,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3814,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":3815,"author":{"gitId":"-"},"content":" \"fast-json-stable-stringify\": \"^2.0.0\","},{"lineNumber":3816,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^0.4.1\","},{"lineNumber":3817,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":3818,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3819,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":3820,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":3821,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":3822,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3823,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3824,"author":{"gitId":"-"},"content":" \"node_modules/ajv-formats\": {"},{"lineNumber":3825,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\","},{"lineNumber":3826,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3827,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3828,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3829,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.0.0\""},{"lineNumber":3830,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3831,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3832,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.0.0\""},{"lineNumber":3833,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3834,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":3835,"author":{"gitId":"-"},"content":" \"ajv\": {"},{"lineNumber":3836,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":3837,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3838,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3839,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3840,"author":{"gitId":"-"},"content":" \"node_modules/ajv-formats/node_modules/ajv\": {"},{"lineNumber":3841,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":3842,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3843,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3844,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3845,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":3846,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":3847,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":3848,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":3849,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3850,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":3851,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":3852,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":3853,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3854,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3855,"author":{"gitId":"-"},"content":" \"node_modules/ajv-formats/node_modules/json-schema-traverse\": {"},{"lineNumber":3856,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":3857,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3858,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3859,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3860,"author":{"gitId":"-"},"content":" \"node_modules/ajv-keywords\": {"},{"lineNumber":3861,"author":{"gitId":"-"},"content":" \"version\": \"3.5.2\","},{"lineNumber":3862,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3863,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":3864,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.9.1\""},{"lineNumber":3865,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3866,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3867,"author":{"gitId":"-"},"content":" \"node_modules/ansi-escapes\": {"},{"lineNumber":3868,"author":{"gitId":"-"},"content":" \"version\": \"3.2.0\","},{"lineNumber":3869,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3870,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3871,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3872,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":3873,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3874,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3875,"author":{"gitId":"-"},"content":" \"node_modules/ansi-html-community\": {"},{"lineNumber":3876,"author":{"gitId":"-"},"content":" \"version\": \"0.0.8\","},{"lineNumber":3877,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3878,"author":{"gitId":"-"},"content":" \"engines\": ["},{"lineNumber":3879,"author":{"gitId":"-"},"content":" \"node \u003e\u003d 0.8.0\""},{"lineNumber":3880,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":3881,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":3882,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":3883,"author":{"gitId":"-"},"content":" \"ansi-html\": \"bin/ansi-html\""},{"lineNumber":3884,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3885,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3886,"author":{"gitId":"-"},"content":" \"node_modules/ansi-regex\": {"},{"lineNumber":3887,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\","},{"lineNumber":3888,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3889,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3890,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3891,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":3892,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3893,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3894,"author":{"gitId":"-"},"content":" \"node_modules/ansi-styles\": {"},{"lineNumber":3895,"author":{"gitId":"-"},"content":" \"version\": \"3.2.1\","},{"lineNumber":3896,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3897,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3898,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3899,"author":{"gitId":"-"},"content":" \"color-convert\": \"^1.9.0\""},{"lineNumber":3900,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3901,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3902,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":3903,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3904,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3905,"author":{"gitId":"-"},"content":" \"node_modules/any-promise\": {"},{"lineNumber":3906,"author":{"gitId":"-"},"content":" \"version\": \"1.3.0\","},{"lineNumber":3907,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3908,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3909,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3910,"author":{"gitId":"-"},"content":" \"node_modules/anymatch\": {"},{"lineNumber":3911,"author":{"gitId":"-"},"content":" \"version\": \"3.1.3\","},{"lineNumber":3912,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3913,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":3914,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3915,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\","},{"lineNumber":3916,"author":{"gitId":"-"},"content":" \"picomatch\": \"^2.0.4\""},{"lineNumber":3917,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3918,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3919,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":3920,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3921,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3922,"author":{"gitId":"-"},"content":" \"node_modules/arch\": {"},{"lineNumber":3923,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":3924,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3925,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":3926,"author":{"gitId":"-"},"content":" {"},{"lineNumber":3927,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":3928,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":3929,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3930,"author":{"gitId":"-"},"content":" {"},{"lineNumber":3931,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":3932,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":3933,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3934,"author":{"gitId":"-"},"content":" {"},{"lineNumber":3935,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":3936,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":3937,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3938,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":3939,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3940,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3941,"author":{"gitId":"-"},"content":" \"node_modules/argparse\": {"},{"lineNumber":3942,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":3943,"author":{"gitId":"sopa301"},"content":" \"license\": \"Python-2.0\""},{"lineNumber":3944,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3945,"author":{"gitId":"sopa301"},"content":" \"node_modules/array-buffer-byte-length\": {"},{"lineNumber":3946,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\","},{"lineNumber":3947,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3948,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3949,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3950,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\","},{"lineNumber":3951,"author":{"gitId":"sopa301"},"content":" \"is-array-buffer\": \"^3.0.4\""},{"lineNumber":3952,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3953,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3954,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":3955,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":3956,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":3957,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":3958,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3959,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3960,"author":{"gitId":"-"},"content":" \"node_modules/array-flatten\": {"},{"lineNumber":3961,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\","},{"lineNumber":3962,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3963,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":3964,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3965,"author":{"gitId":"-"},"content":" \"node_modules/array-includes\": {"},{"lineNumber":3966,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.7\","},{"lineNumber":3967,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3968,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3969,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":3970,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":3971,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":3972,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\","},{"lineNumber":3973,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.1\","},{"lineNumber":3974,"author":{"gitId":"-"},"content":" \"is-string\": \"^1.0.7\""},{"lineNumber":3975,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3976,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3977,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":3978,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3979,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":3980,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":3981,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3982,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3983,"author":{"gitId":"-"},"content":" \"node_modules/array-union\": {"},{"lineNumber":3984,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":3985,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":3986,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3987,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":3988,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":3989,"author":{"gitId":"-"},"content":" }"},{"lineNumber":3990,"author":{"gitId":"-"},"content":" },"},{"lineNumber":3991,"author":{"gitId":"sopa301"},"content":" \"node_modules/array.prototype.filter\": {"},{"lineNumber":3992,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\","},{"lineNumber":3993,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":3994,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":3995,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":3996,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":3997,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":3998,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\","},{"lineNumber":3999,"author":{"gitId":"sopa301"},"content":" \"es-array-method-boxes-properly\": \"^1.0.0\","},{"lineNumber":4000,"author":{"gitId":"sopa301"},"content":" \"is-string\": \"^1.0.7\""},{"lineNumber":4001,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4002,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":4003,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":4004,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4005,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":4006,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":4007,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":4008,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4009,"author":{"gitId":"sopa301"},"content":" \"node_modules/array.prototype.findlastindex\": {"},{"lineNumber":4010,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.4\","},{"lineNumber":4011,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4012,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4013,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":4014,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\","},{"lineNumber":4015,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\","},{"lineNumber":4016,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.3\","},{"lineNumber":4017,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":4018,"author":{"gitId":"sopa301"},"content":" \"es-shim-unscopables\": \"^1.0.2\""},{"lineNumber":4019,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4020,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":4021,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":4022,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4023,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":4024,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":4025,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":4026,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4027,"author":{"gitId":"-"},"content":" \"node_modules/array.prototype.flat\": {"},{"lineNumber":4028,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.2\","},{"lineNumber":4029,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4030,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4031,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4032,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":4033,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":4034,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\","},{"lineNumber":4035,"author":{"gitId":"-"},"content":" \"es-shim-unscopables\": \"^1.0.0\""},{"lineNumber":4036,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4037,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4038,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":4039,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4040,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4041,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":4042,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4043,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4044,"author":{"gitId":"-"},"content":" \"node_modules/array.prototype.flatmap\": {"},{"lineNumber":4045,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.2\","},{"lineNumber":4046,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4047,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4048,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4049,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":4050,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":4051,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\","},{"lineNumber":4052,"author":{"gitId":"-"},"content":" \"es-shim-unscopables\": \"^1.0.0\""},{"lineNumber":4053,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4054,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4055,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":4056,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4057,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4058,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":4059,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4060,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4061,"author":{"gitId":"sopa301"},"content":" \"node_modules/arraybuffer.prototype.slice\": {"},{"lineNumber":4062,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\","},{"lineNumber":4063,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4064,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4065,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":4066,"author":{"gitId":"sopa301"},"content":" \"array-buffer-byte-length\": \"^1.0.1\","},{"lineNumber":4067,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\","},{"lineNumber":4068,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\","},{"lineNumber":4069,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.3\","},{"lineNumber":4070,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.2.1\","},{"lineNumber":4071,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.3\","},{"lineNumber":4072,"author":{"gitId":"sopa301"},"content":" \"is-array-buffer\": \"^3.0.4\","},{"lineNumber":4073,"author":{"gitId":"sopa301"},"content":" \"is-shared-array-buffer\": \"^1.0.2\""},{"lineNumber":4074,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4075,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4076,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":4077,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4078,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":4079,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":4080,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4081,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4082,"author":{"gitId":"-"},"content":" \"node_modules/asap\": {"},{"lineNumber":4083,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\","},{"lineNumber":4084,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4085,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4086,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4087,"author":{"gitId":"-"},"content":" \"node_modules/assert-never\": {"},{"lineNumber":4088,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":4089,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4090,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4091,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4092,"author":{"gitId":"-"},"content":" \"node_modules/astral-regex\": {"},{"lineNumber":4093,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":4094,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4095,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4096,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4097,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4098,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4099,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4100,"author":{"gitId":"-"},"content":" \"node_modules/async\": {"},{"lineNumber":4101,"author":{"gitId":"-"},"content":" \"version\": \"2.6.4\","},{"lineNumber":4102,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4103,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4104,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4105,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.14\""},{"lineNumber":4106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4107,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4108,"author":{"gitId":"-"},"content":" \"node_modules/at-least-node\": {"},{"lineNumber":4109,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":4110,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4111,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":4112,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4113,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4.0.0\""},{"lineNumber":4114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4115,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4116,"author":{"gitId":"-"},"content":" \"node_modules/autoprefixer\": {"},{"lineNumber":4117,"author":{"gitId":"-"},"content":" \"version\": \"10.4.13\","},{"lineNumber":4118,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4119,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":4120,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4121,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":4122,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\""},{"lineNumber":4123,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4124,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4125,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\","},{"lineNumber":4126,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/autoprefixer\""},{"lineNumber":4127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4128,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":4129,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4130,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4131,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\","},{"lineNumber":4132,"author":{"gitId":"-"},"content":" \"caniuse-lite\": \"^1.0.30001426\","},{"lineNumber":4133,"author":{"gitId":"-"},"content":" \"fraction.js\": \"^4.2.0\","},{"lineNumber":4134,"author":{"gitId":"-"},"content":" \"normalize-range\": \"^0.1.2\","},{"lineNumber":4135,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\","},{"lineNumber":4136,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":4137,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4138,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":4139,"author":{"gitId":"-"},"content":" \"autoprefixer\": \"bin/autoprefixer\""},{"lineNumber":4140,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4141,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4142,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14\""},{"lineNumber":4143,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4144,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":4145,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\""},{"lineNumber":4146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4147,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4148,"author":{"gitId":"-"},"content":" \"node_modules/available-typed-arrays\": {"},{"lineNumber":4149,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\","},{"lineNumber":4150,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4151,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4152,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":4153,"author":{"gitId":"sopa301"},"content":" \"possible-typed-array-names\": \"^1.0.0\""},{"lineNumber":4154,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":4155,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4156,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":4157,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4158,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4159,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":4160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4161,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4162,"author":{"gitId":"-"},"content":" \"node_modules/babel-loader\": {"},{"lineNumber":4163,"author":{"gitId":"-"},"content":" \"version\": \"8.3.0\","},{"lineNumber":4164,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4165,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4166,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4167,"author":{"gitId":"-"},"content":" \"find-cache-dir\": \"^3.3.1\","},{"lineNumber":4168,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^2.0.0\","},{"lineNumber":4169,"author":{"gitId":"-"},"content":" \"make-dir\": \"^3.1.0\","},{"lineNumber":4170,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^2.6.5\""},{"lineNumber":4171,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4172,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4173,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8.9\""},{"lineNumber":4174,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4175,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":4176,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0\","},{"lineNumber":4177,"author":{"gitId":"-"},"content":" \"webpack\": \"\u003e\u003d2\""},{"lineNumber":4178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4179,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4180,"author":{"gitId":"-"},"content":" \"node_modules/babel-loader/node_modules/loader-utils\": {"},{"lineNumber":4181,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\","},{"lineNumber":4182,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4183,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4184,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4185,"author":{"gitId":"-"},"content":" \"big.js\": \"^5.2.2\","},{"lineNumber":4186,"author":{"gitId":"-"},"content":" \"emojis-list\": \"^3.0.0\","},{"lineNumber":4187,"author":{"gitId":"-"},"content":" \"json5\": \"^2.1.2\""},{"lineNumber":4188,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4189,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4190,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.9.0\""},{"lineNumber":4191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4192,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4193,"author":{"gitId":"-"},"content":" \"node_modules/babel-plugin-dynamic-import-node\": {"},{"lineNumber":4194,"author":{"gitId":"-"},"content":" \"version\": \"2.3.3\","},{"lineNumber":4195,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4196,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4197,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4198,"author":{"gitId":"-"},"content":" \"object.assign\": \"^4.1.0\""},{"lineNumber":4199,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4200,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4201,"author":{"gitId":"-"},"content":" \"node_modules/babel-plugin-polyfill-corejs2\": {"},{"lineNumber":4202,"author":{"gitId":"-"},"content":" \"version\": \"0.3.3\","},{"lineNumber":4203,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4204,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4205,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4206,"author":{"gitId":"-"},"content":" \"@babel/compat-data\": \"^7.17.7\","},{"lineNumber":4207,"author":{"gitId":"-"},"content":" \"@babel/helper-define-polyfill-provider\": \"^0.3.3\","},{"lineNumber":4208,"author":{"gitId":"-"},"content":" \"semver\": \"^6.1.1\""},{"lineNumber":4209,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4210,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":4211,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":4212,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4213,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4214,"author":{"gitId":"-"},"content":" \"node_modules/babel-plugin-polyfill-corejs3\": {"},{"lineNumber":4215,"author":{"gitId":"-"},"content":" \"version\": \"0.6.0\","},{"lineNumber":4216,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4217,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4218,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4219,"author":{"gitId":"-"},"content":" \"@babel/helper-define-polyfill-provider\": \"^0.3.3\","},{"lineNumber":4220,"author":{"gitId":"-"},"content":" \"core-js-compat\": \"^3.25.1\""},{"lineNumber":4221,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4222,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":4223,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":4224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4225,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4226,"author":{"gitId":"-"},"content":" \"node_modules/babel-plugin-polyfill-regenerator\": {"},{"lineNumber":4227,"author":{"gitId":"-"},"content":" \"version\": \"0.4.1\","},{"lineNumber":4228,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4229,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4230,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4231,"author":{"gitId":"-"},"content":" \"@babel/helper-define-polyfill-provider\": \"^0.3.3\""},{"lineNumber":4232,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4233,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":4234,"author":{"gitId":"-"},"content":" \"@babel/core\": \"^7.0.0-0\""},{"lineNumber":4235,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4236,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4237,"author":{"gitId":"-"},"content":" \"node_modules/babel-runtime\": {"},{"lineNumber":4238,"author":{"gitId":"-"},"content":" \"version\": \"6.26.0\","},{"lineNumber":4239,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4240,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4241,"author":{"gitId":"-"},"content":" \"core-js\": \"^2.4.0\","},{"lineNumber":4242,"author":{"gitId":"-"},"content":" \"regenerator-runtime\": \"^0.11.0\""},{"lineNumber":4243,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4244,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4245,"author":{"gitId":"-"},"content":" \"node_modules/babel-runtime/node_modules/core-js\": {"},{"lineNumber":4246,"author":{"gitId":"-"},"content":" \"version\": \"2.6.12\","},{"lineNumber":4247,"author":{"gitId":"sopa301"},"content":" \"hasInstallScript\": true,"},{"lineNumber":4248,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4249,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4250,"author":{"gitId":"-"},"content":" \"node_modules/babel-runtime/node_modules/regenerator-runtime\": {"},{"lineNumber":4251,"author":{"gitId":"-"},"content":" \"version\": \"0.11.1\","},{"lineNumber":4252,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4253,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4254,"author":{"gitId":"-"},"content":" \"node_modules/babel-types\": {"},{"lineNumber":4255,"author":{"gitId":"-"},"content":" \"version\": \"6.26.0\","},{"lineNumber":4256,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4257,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4258,"author":{"gitId":"-"},"content":" \"babel-runtime\": \"^6.26.0\","},{"lineNumber":4259,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\","},{"lineNumber":4260,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.4\","},{"lineNumber":4261,"author":{"gitId":"-"},"content":" \"to-fast-properties\": \"^1.0.3\""},{"lineNumber":4262,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4263,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4264,"author":{"gitId":"-"},"content":" \"node_modules/babel-types/node_modules/to-fast-properties\": {"},{"lineNumber":4265,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":4266,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4267,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4268,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":4269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4270,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4271,"author":{"gitId":"-"},"content":" \"node_modules/babel-walk\": {"},{"lineNumber":4272,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0-canary-5\","},{"lineNumber":4273,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4274,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4275,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4276,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.9.6\""},{"lineNumber":4277,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4278,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4279,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0.0\""},{"lineNumber":4280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4281,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4282,"author":{"gitId":"-"},"content":" \"node_modules/babylon\": {"},{"lineNumber":4283,"author":{"gitId":"-"},"content":" \"version\": \"6.18.0\","},{"lineNumber":4284,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4285,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":4286,"author":{"gitId":"-"},"content":" \"babylon\": \"bin/babylon.js\""},{"lineNumber":4287,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4288,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4289,"author":{"gitId":"-"},"content":" \"node_modules/balanced-match\": {"},{"lineNumber":4290,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":4291,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4292,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4293,"author":{"gitId":"-"},"content":" \"node_modules/base64-js\": {"},{"lineNumber":4294,"author":{"gitId":"-"},"content":" \"version\": \"1.5.1\","},{"lineNumber":4295,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4296,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":4297,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4298,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":4299,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":4300,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4301,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4302,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":4303,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":4304,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4305,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4306,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":4307,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":4308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4309,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":4310,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4311,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4312,"author":{"gitId":"-"},"content":" \"node_modules/batch\": {"},{"lineNumber":4313,"author":{"gitId":"-"},"content":" \"version\": \"0.6.1\","},{"lineNumber":4314,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4315,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4316,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4317,"author":{"gitId":"-"},"content":" \"node_modules/big.js\": {"},{"lineNumber":4318,"author":{"gitId":"-"},"content":" \"version\": \"5.2.2\","},{"lineNumber":4319,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4320,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4321,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4322,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":4323,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4324,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4325,"author":{"gitId":"-"},"content":" \"node_modules/binary-extensions\": {"},{"lineNumber":4326,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":4327,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4328,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4329,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4330,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4331,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4332,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4333,"author":{"gitId":"-"},"content":" \"node_modules/bl\": {"},{"lineNumber":4334,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":4335,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4336,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4337,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4338,"author":{"gitId":"-"},"content":" \"buffer\": \"^5.5.0\","},{"lineNumber":4339,"author":{"gitId":"-"},"content":" \"inherits\": \"^2.0.4\","},{"lineNumber":4340,"author":{"gitId":"-"},"content":" \"readable-stream\": \"^3.4.0\""},{"lineNumber":4341,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4342,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4343,"author":{"gitId":"-"},"content":" \"node_modules/bl/node_modules/readable-stream\": {"},{"lineNumber":4344,"author":{"gitId":"-"},"content":" \"version\": \"3.6.0\","},{"lineNumber":4345,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4346,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4347,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4348,"author":{"gitId":"-"},"content":" \"inherits\": \"^2.0.3\","},{"lineNumber":4349,"author":{"gitId":"-"},"content":" \"string_decoder\": \"^1.1.1\","},{"lineNumber":4350,"author":{"gitId":"-"},"content":" \"util-deprecate\": \"^1.0.1\""},{"lineNumber":4351,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4352,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4353,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":4354,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4355,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4356,"author":{"gitId":"-"},"content":" \"node_modules/bluebird\": {"},{"lineNumber":4357,"author":{"gitId":"-"},"content":" \"version\": \"3.7.2\","},{"lineNumber":4358,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4359,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4360,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4361,"author":{"gitId":"-"},"content":" \"node_modules/body-parser\": {"},{"lineNumber":4362,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.20.2\","},{"lineNumber":4363,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4364,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4365,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4366,"author":{"gitId":"-"},"content":" \"bytes\": \"3.1.2\","},{"lineNumber":4367,"author":{"gitId":"sopa301"},"content":" \"content-type\": \"~1.0.5\","},{"lineNumber":4368,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\","},{"lineNumber":4369,"author":{"gitId":"-"},"content":" \"depd\": \"2.0.0\","},{"lineNumber":4370,"author":{"gitId":"-"},"content":" \"destroy\": \"1.2.0\","},{"lineNumber":4371,"author":{"gitId":"-"},"content":" \"http-errors\": \"2.0.0\","},{"lineNumber":4372,"author":{"gitId":"-"},"content":" \"iconv-lite\": \"0.4.24\","},{"lineNumber":4373,"author":{"gitId":"-"},"content":" \"on-finished\": \"2.4.1\","},{"lineNumber":4374,"author":{"gitId":"-"},"content":" \"qs\": \"6.11.0\","},{"lineNumber":4375,"author":{"gitId":"sopa301"},"content":" \"raw-body\": \"2.5.2\","},{"lineNumber":4376,"author":{"gitId":"-"},"content":" \"type-is\": \"~1.6.18\","},{"lineNumber":4377,"author":{"gitId":"-"},"content":" \"unpipe\": \"1.0.0\""},{"lineNumber":4378,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4379,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4380,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\","},{"lineNumber":4381,"author":{"gitId":"-"},"content":" \"npm\": \"1.2.8000 || \u003e\u003d 1.4.16\""},{"lineNumber":4382,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4383,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4384,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/bytes\": {"},{"lineNumber":4385,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":4386,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4387,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4388,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4389,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":4390,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4391,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4392,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/debug\": {"},{"lineNumber":4393,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\","},{"lineNumber":4394,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4395,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4396,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4397,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\""},{"lineNumber":4398,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4399,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4400,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/depd\": {"},{"lineNumber":4401,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":4402,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4403,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4404,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4405,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":4406,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4407,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4408,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/iconv-lite\": {"},{"lineNumber":4409,"author":{"gitId":"-"},"content":" \"version\": \"0.4.24\","},{"lineNumber":4410,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4411,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4412,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4413,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"\u003e\u003d 2.1.2 \u003c 3\""},{"lineNumber":4414,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4415,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4416,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":4417,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4418,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4419,"author":{"gitId":"-"},"content":" \"node_modules/body-parser/node_modules/ms\": {"},{"lineNumber":4420,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":4421,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4422,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4423,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4424,"author":{"gitId":"-"},"content":" \"node_modules/bonjour-service\": {"},{"lineNumber":4425,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":4426,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4427,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4428,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4429,"author":{"gitId":"-"},"content":" \"array-flatten\": \"^2.1.2\","},{"lineNumber":4430,"author":{"gitId":"-"},"content":" \"dns-equal\": \"^1.0.0\","},{"lineNumber":4431,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\","},{"lineNumber":4432,"author":{"gitId":"-"},"content":" \"multicast-dns\": \"^7.2.5\""},{"lineNumber":4433,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4434,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4435,"author":{"gitId":"-"},"content":" \"node_modules/boolbase\": {"},{"lineNumber":4436,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":4437,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":4438,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4439,"author":{"gitId":"-"},"content":" \"node_modules/brace-expansion\": {"},{"lineNumber":4440,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":4441,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4442,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4443,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\""},{"lineNumber":4444,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4445,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4446,"author":{"gitId":"-"},"content":" \"node_modules/braces\": {"},{"lineNumber":4447,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\","},{"lineNumber":4448,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4449,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4450,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4451,"author":{"gitId":"-"},"content":" \"fill-range\": \"^7.0.1\""},{"lineNumber":4452,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4453,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4454,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4455,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4456,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4457,"author":{"gitId":"-"},"content":" \"node_modules/browserslist\": {"},{"lineNumber":4458,"author":{"gitId":"-"},"content":" \"version\": \"4.21.4\","},{"lineNumber":4459,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":4460,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4461,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":4462,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/browserslist\""},{"lineNumber":4463,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4464,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4465,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\","},{"lineNumber":4466,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/browserslist\""},{"lineNumber":4467,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4468,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":4469,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4470,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4471,"author":{"gitId":"-"},"content":" \"caniuse-lite\": \"^1.0.30001400\","},{"lineNumber":4472,"author":{"gitId":"-"},"content":" \"electron-to-chromium\": \"^1.4.251\","},{"lineNumber":4473,"author":{"gitId":"-"},"content":" \"node-releases\": \"^2.0.6\","},{"lineNumber":4474,"author":{"gitId":"-"},"content":" \"update-browserslist-db\": \"^1.0.9\""},{"lineNumber":4475,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4476,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":4477,"author":{"gitId":"-"},"content":" \"browserslist\": \"cli.js\""},{"lineNumber":4478,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4479,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4480,"author":{"gitId":"-"},"content":" \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || \u003e\u003d13.7\""},{"lineNumber":4481,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4482,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4483,"author":{"gitId":"-"},"content":" \"node_modules/buffer\": {"},{"lineNumber":4484,"author":{"gitId":"-"},"content":" \"version\": \"5.7.1\","},{"lineNumber":4485,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4486,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":4487,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4488,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":4489,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":4490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4491,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4492,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":4493,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":4494,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4495,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4496,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":4497,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":4498,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4499,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":4500,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4501,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4502,"author":{"gitId":"-"},"content":" \"base64-js\": \"^1.3.1\","},{"lineNumber":4503,"author":{"gitId":"-"},"content":" \"ieee754\": \"^1.1.13\""},{"lineNumber":4504,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4505,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4506,"author":{"gitId":"-"},"content":" \"node_modules/buffer-from\": {"},{"lineNumber":4507,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\","},{"lineNumber":4508,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4509,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4510,"author":{"gitId":"-"},"content":" \"node_modules/bytes\": {"},{"lineNumber":4511,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":4512,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4513,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4514,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4515,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":4516,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4517,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4518,"author":{"gitId":"-"},"content":" \"node_modules/call-bind\": {"},{"lineNumber":4519,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\","},{"lineNumber":4520,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4521,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4522,"author":{"gitId":"sopa301"},"content":" \"es-define-property\": \"^1.0.0\","},{"lineNumber":4523,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":4524,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.2\","},{"lineNumber":4525,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\","},{"lineNumber":4526,"author":{"gitId":"sopa301"},"content":" \"set-function-length\": \"^1.2.1\""},{"lineNumber":4527,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4528,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4529,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":4530,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4531,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4532,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":4533,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4534,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4535,"author":{"gitId":"-"},"content":" \"node_modules/callsites\": {"},{"lineNumber":4536,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":4537,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4538,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4539,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4540,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":4541,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4542,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4543,"author":{"gitId":"-"},"content":" \"node_modules/camel-case\": {"},{"lineNumber":4544,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":4545,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4546,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4547,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4548,"author":{"gitId":"-"},"content":" \"pascal-case\": \"^3.1.2\","},{"lineNumber":4549,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\""},{"lineNumber":4550,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4551,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4552,"author":{"gitId":"-"},"content":" \"node_modules/camelcase\": {"},{"lineNumber":4553,"author":{"gitId":"-"},"content":" \"version\": \"6.3.0\","},{"lineNumber":4554,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4555,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4556,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4557,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":4558,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4559,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4560,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":4561,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4562,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4563,"author":{"gitId":"-"},"content":" \"node_modules/caniuse-api\": {"},{"lineNumber":4564,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":4565,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4566,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4567,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4568,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.0.0\","},{"lineNumber":4569,"author":{"gitId":"-"},"content":" \"caniuse-lite\": \"^1.0.0\","},{"lineNumber":4570,"author":{"gitId":"-"},"content":" \"lodash.memoize\": \"^4.1.2\","},{"lineNumber":4571,"author":{"gitId":"-"},"content":" \"lodash.uniq\": \"^4.5.0\""},{"lineNumber":4572,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4573,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4574,"author":{"gitId":"-"},"content":" \"node_modules/caniuse-lite\": {"},{"lineNumber":4575,"author":{"gitId":"-"},"content":" \"version\": \"1.0.30001446\","},{"lineNumber":4576,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":4577,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4578,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":4579,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/browserslist\""},{"lineNumber":4580,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4581,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4582,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\","},{"lineNumber":4583,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\""},{"lineNumber":4584,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4585,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":4586,"author":{"gitId":"sopa301"},"content":" \"license\": \"CC-BY-4.0\""},{"lineNumber":4587,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4588,"author":{"gitId":"-"},"content":" \"node_modules/case-sensitive-paths-webpack-plugin\": {"},{"lineNumber":4589,"author":{"gitId":"-"},"content":" \"version\": \"2.4.0\","},{"lineNumber":4590,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4591,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4592,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4593,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":4594,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4595,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4596,"author":{"gitId":"-"},"content":" \"node_modules/chalk\": {"},{"lineNumber":4597,"author":{"gitId":"-"},"content":" \"version\": \"2.4.2\","},{"lineNumber":4598,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4599,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4600,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4601,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^3.2.1\","},{"lineNumber":4602,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": \"^1.0.5\","},{"lineNumber":4603,"author":{"gitId":"-"},"content":" \"supports-color\": \"^5.3.0\""},{"lineNumber":4604,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4605,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4606,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":4607,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4608,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4609,"author":{"gitId":"-"},"content":" \"node_modules/character-parser\": {"},{"lineNumber":4610,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":4611,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4612,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4613,"author":{"gitId":"-"},"content":" \"is-regex\": \"^1.0.3\""},{"lineNumber":4614,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4615,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4616,"author":{"gitId":"-"},"content":" \"node_modules/cheerio\": {"},{"lineNumber":4617,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0-rc.12\","},{"lineNumber":4618,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4619,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4620,"author":{"gitId":"-"},"content":" \"cheerio-select\": \"^2.1.0\","},{"lineNumber":4621,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^2.0.0\","},{"lineNumber":4622,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.3\","},{"lineNumber":4623,"author":{"gitId":"-"},"content":" \"domutils\": \"^3.0.1\","},{"lineNumber":4624,"author":{"gitId":"-"},"content":" \"htmlparser2\": \"^8.0.1\","},{"lineNumber":4625,"author":{"gitId":"-"},"content":" \"parse5\": \"^7.0.0\","},{"lineNumber":4626,"author":{"gitId":"-"},"content":" \"parse5-htmlparser2-tree-adapter\": \"^7.0.0\""},{"lineNumber":4627,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4628,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4629,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":4630,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4631,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4632,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/cheerio?sponsor\u003d1\""},{"lineNumber":4633,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4634,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4635,"author":{"gitId":"-"},"content":" \"node_modules/cheerio-select\": {"},{"lineNumber":4636,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":4637,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":4638,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4639,"author":{"gitId":"-"},"content":" \"boolbase\": \"^1.0.0\","},{"lineNumber":4640,"author":{"gitId":"-"},"content":" \"css-select\": \"^5.1.0\","},{"lineNumber":4641,"author":{"gitId":"-"},"content":" \"css-what\": \"^6.1.0\","},{"lineNumber":4642,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\","},{"lineNumber":4643,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.3\","},{"lineNumber":4644,"author":{"gitId":"-"},"content":" \"domutils\": \"^3.0.1\""},{"lineNumber":4645,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4646,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4647,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":4648,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4649,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4650,"author":{"gitId":"-"},"content":" \"node_modules/cheerio/node_modules/parse5\": {"},{"lineNumber":4651,"author":{"gitId":"-"},"content":" \"version\": \"7.1.2\","},{"lineNumber":4652,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4653,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4654,"author":{"gitId":"-"},"content":" \"entities\": \"^4.4.0\""},{"lineNumber":4655,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4656,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4657,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/inikulin/parse5?sponsor\u003d1\""},{"lineNumber":4658,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4659,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4660,"author":{"gitId":"-"},"content":" \"node_modules/cheerio/node_modules/parse5-htmlparser2-tree-adapter\": {"},{"lineNumber":4661,"author":{"gitId":"-"},"content":" \"version\": \"7.0.0\","},{"lineNumber":4662,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4663,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4664,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.2\","},{"lineNumber":4665,"author":{"gitId":"-"},"content":" \"parse5\": \"^7.0.0\""},{"lineNumber":4666,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4667,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4668,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/inikulin/parse5?sponsor\u003d1\""},{"lineNumber":4669,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4670,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4671,"author":{"gitId":"-"},"content":" \"node_modules/chokidar\": {"},{"lineNumber":4672,"author":{"gitId":"-"},"content":" \"version\": \"3.5.3\","},{"lineNumber":4673,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4674,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":4675,"author":{"gitId":"-"},"content":" {"},{"lineNumber":4676,"author":{"gitId":"-"},"content":" \"type\": \"individual\","},{"lineNumber":4677,"author":{"gitId":"-"},"content":" \"url\": \"https://paulmillr.com/funding/\""},{"lineNumber":4678,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4679,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":4680,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4681,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4682,"author":{"gitId":"-"},"content":" \"anymatch\": \"~3.1.2\","},{"lineNumber":4683,"author":{"gitId":"-"},"content":" \"braces\": \"~3.0.2\","},{"lineNumber":4684,"author":{"gitId":"-"},"content":" \"glob-parent\": \"~5.1.2\","},{"lineNumber":4685,"author":{"gitId":"-"},"content":" \"is-binary-path\": \"~2.1.0\","},{"lineNumber":4686,"author":{"gitId":"-"},"content":" \"is-glob\": \"~4.0.1\","},{"lineNumber":4687,"author":{"gitId":"-"},"content":" \"normalize-path\": \"~3.0.0\","},{"lineNumber":4688,"author":{"gitId":"-"},"content":" \"readdirp\": \"~3.6.0\""},{"lineNumber":4689,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4690,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4691,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8.10.0\""},{"lineNumber":4692,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4693,"author":{"gitId":"-"},"content":" \"optionalDependencies\": {"},{"lineNumber":4694,"author":{"gitId":"-"},"content":" \"fsevents\": \"~2.3.2\""},{"lineNumber":4695,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4696,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4697,"author":{"gitId":"-"},"content":" \"node_modules/chokidar/node_modules/glob-parent\": {"},{"lineNumber":4698,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\","},{"lineNumber":4699,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4700,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":4701,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4702,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.1\""},{"lineNumber":4703,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4704,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4705,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":4706,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4707,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4708,"author":{"gitId":"-"},"content":" \"node_modules/chrome-trace-event\": {"},{"lineNumber":4709,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":4710,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4711,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4712,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0\""},{"lineNumber":4713,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4714,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4715,"author":{"gitId":"-"},"content":" \"node_modules/ci-info\": {"},{"lineNumber":4716,"author":{"gitId":"-"},"content":" \"version\": \"1.6.0\","},{"lineNumber":4717,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4718,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4719,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4720,"author":{"gitId":"-"},"content":" \"node_modules/clean-css\": {"},{"lineNumber":4721,"author":{"gitId":"-"},"content":" \"version\": \"5.3.2\","},{"lineNumber":4722,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4723,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4724,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4725,"author":{"gitId":"-"},"content":" \"source-map\": \"~0.6.0\""},{"lineNumber":4726,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4727,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4728,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0\""},{"lineNumber":4729,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4730,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4731,"author":{"gitId":"-"},"content":" \"node_modules/cli-cursor\": {"},{"lineNumber":4732,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":4733,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4734,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4735,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4736,"author":{"gitId":"-"},"content":" \"restore-cursor\": \"^3.1.0\""},{"lineNumber":4737,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4738,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4739,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4740,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4741,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4742,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight\": {"},{"lineNumber":4743,"author":{"gitId":"-"},"content":" \"version\": \"2.1.11\","},{"lineNumber":4744,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4745,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":4746,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4747,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.0.0\","},{"lineNumber":4748,"author":{"gitId":"-"},"content":" \"highlight.js\": \"^10.7.1\","},{"lineNumber":4749,"author":{"gitId":"-"},"content":" \"mz\": \"^2.4.0\","},{"lineNumber":4750,"author":{"gitId":"-"},"content":" \"parse5\": \"^5.1.1\","},{"lineNumber":4751,"author":{"gitId":"-"},"content":" \"parse5-htmlparser2-tree-adapter\": \"^6.0.0\","},{"lineNumber":4752,"author":{"gitId":"-"},"content":" \"yargs\": \"^16.0.0\""},{"lineNumber":4753,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4754,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":4755,"author":{"gitId":"-"},"content":" \"highlight\": \"bin/highlight\""},{"lineNumber":4756,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4757,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4758,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\","},{"lineNumber":4759,"author":{"gitId":"-"},"content":" \"npm\": \"\u003e\u003d5.0.0\""},{"lineNumber":4760,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4761,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4762,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/ansi-styles\": {"},{"lineNumber":4763,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":4764,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4765,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4766,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4767,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":4768,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4769,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4770,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4771,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4772,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4773,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":4774,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4775,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4776,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/chalk\": {"},{"lineNumber":4777,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":4778,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4779,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4780,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4781,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":4782,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":4783,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4784,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4785,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":4786,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4787,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4788,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":4789,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4790,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4791,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/color-convert\": {"},{"lineNumber":4792,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":4793,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4794,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4795,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4796,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":4797,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4798,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4799,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":4800,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4801,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4802,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/color-name\": {"},{"lineNumber":4803,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":4804,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4805,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4806,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4807,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/has-flag\": {"},{"lineNumber":4808,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":4809,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4810,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4811,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4812,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4813,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4814,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4815,"author":{"gitId":"-"},"content":" \"node_modules/cli-highlight/node_modules/supports-color\": {"},{"lineNumber":4816,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":4817,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4818,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4819,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4820,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":4821,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4822,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4823,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4824,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4825,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4826,"author":{"gitId":"-"},"content":" \"node_modules/cli-spinners\": {"},{"lineNumber":4827,"author":{"gitId":"-"},"content":" \"version\": \"2.7.0\","},{"lineNumber":4828,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4829,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4830,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4831,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":4832,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4833,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":4834,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":4835,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4836,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4837,"author":{"gitId":"-"},"content":" \"node_modules/clipboardy\": {"},{"lineNumber":4838,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":4839,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4840,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4841,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4842,"author":{"gitId":"-"},"content":" \"arch\": \"^2.1.1\","},{"lineNumber":4843,"author":{"gitId":"-"},"content":" \"execa\": \"^1.0.0\","},{"lineNumber":4844,"author":{"gitId":"-"},"content":" \"is-wsl\": \"^2.1.1\""},{"lineNumber":4845,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4846,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4847,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":4848,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4849,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4850,"author":{"gitId":"-"},"content":" \"node_modules/cliui\": {"},{"lineNumber":4851,"author":{"gitId":"-"},"content":" \"version\": \"7.0.4\","},{"lineNumber":4852,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4853,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":4854,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4855,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.0\","},{"lineNumber":4856,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\","},{"lineNumber":4857,"author":{"gitId":"-"},"content":" \"wrap-ansi\": \"^7.0.0\""},{"lineNumber":4858,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4859,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4860,"author":{"gitId":"-"},"content":" \"node_modules/clone\": {"},{"lineNumber":4861,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":4862,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4863,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4864,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4865,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8\""},{"lineNumber":4866,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4867,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4868,"author":{"gitId":"-"},"content":" \"node_modules/clone-deep\": {"},{"lineNumber":4869,"author":{"gitId":"-"},"content":" \"version\": \"4.0.1\","},{"lineNumber":4870,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4871,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4872,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4873,"author":{"gitId":"-"},"content":" \"is-plain-object\": \"^2.0.4\","},{"lineNumber":4874,"author":{"gitId":"-"},"content":" \"kind-of\": \"^6.0.2\","},{"lineNumber":4875,"author":{"gitId":"-"},"content":" \"shallow-clone\": \"^3.0.0\""},{"lineNumber":4876,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4877,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4878,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":4879,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4880,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4881,"author":{"gitId":"-"},"content":" \"node_modules/clone-deep/node_modules/is-plain-object\": {"},{"lineNumber":4882,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\","},{"lineNumber":4883,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4884,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4885,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4886,"author":{"gitId":"-"},"content":" \"isobject\": \"^3.0.1\""},{"lineNumber":4887,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4888,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4889,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":4890,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4891,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4892,"author":{"gitId":"-"},"content":" \"node_modules/color-convert\": {"},{"lineNumber":4893,"author":{"gitId":"-"},"content":" \"version\": \"1.9.3\","},{"lineNumber":4894,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4895,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4896,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4897,"author":{"gitId":"-"},"content":" \"color-name\": \"1.1.3\""},{"lineNumber":4898,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4899,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4900,"author":{"gitId":"-"},"content":" \"node_modules/color-name\": {"},{"lineNumber":4901,"author":{"gitId":"-"},"content":" \"version\": \"1.1.3\","},{"lineNumber":4902,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4903,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4904,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4905,"author":{"gitId":"-"},"content":" \"node_modules/colord\": {"},{"lineNumber":4906,"author":{"gitId":"-"},"content":" \"version\": \"2.9.3\","},{"lineNumber":4907,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4908,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4909,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4910,"author":{"gitId":"-"},"content":" \"node_modules/colorette\": {"},{"lineNumber":4911,"author":{"gitId":"-"},"content":" \"version\": \"2.0.19\","},{"lineNumber":4912,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4913,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4914,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4915,"author":{"gitId":"-"},"content":" \"node_modules/commander\": {"},{"lineNumber":4916,"author":{"gitId":"-"},"content":" \"version\": \"8.3.0\","},{"lineNumber":4917,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4918,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4919,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4920,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12\""},{"lineNumber":4921,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4922,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4923,"author":{"gitId":"-"},"content":" \"node_modules/commondir\": {"},{"lineNumber":4924,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":4925,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4926,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4927,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4928,"author":{"gitId":"-"},"content":" \"node_modules/compressible\": {"},{"lineNumber":4929,"author":{"gitId":"-"},"content":" \"version\": \"2.0.18\","},{"lineNumber":4930,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4931,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4932,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4933,"author":{"gitId":"-"},"content":" \"mime-db\": \"\u003e\u003d 1.43.0 \u003c 2\""},{"lineNumber":4934,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4935,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4936,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":4937,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4938,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4939,"author":{"gitId":"-"},"content":" \"node_modules/compression\": {"},{"lineNumber":4940,"author":{"gitId":"-"},"content":" \"version\": \"1.7.4\","},{"lineNumber":4941,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4942,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4943,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4944,"author":{"gitId":"-"},"content":" \"accepts\": \"~1.3.5\","},{"lineNumber":4945,"author":{"gitId":"-"},"content":" \"bytes\": \"3.0.0\","},{"lineNumber":4946,"author":{"gitId":"-"},"content":" \"compressible\": \"~2.0.16\","},{"lineNumber":4947,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\","},{"lineNumber":4948,"author":{"gitId":"-"},"content":" \"on-headers\": \"~1.0.2\","},{"lineNumber":4949,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"5.1.2\","},{"lineNumber":4950,"author":{"gitId":"-"},"content":" \"vary\": \"~1.1.2\""},{"lineNumber":4951,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4952,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4953,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":4954,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4955,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4956,"author":{"gitId":"-"},"content":" \"node_modules/compression/node_modules/debug\": {"},{"lineNumber":4957,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\","},{"lineNumber":4958,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4959,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4960,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4961,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\""},{"lineNumber":4962,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4963,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4964,"author":{"gitId":"-"},"content":" \"node_modules/compression/node_modules/ms\": {"},{"lineNumber":4965,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":4966,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4967,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4968,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4969,"author":{"gitId":"-"},"content":" \"node_modules/concat-map\": {"},{"lineNumber":4970,"author":{"gitId":"-"},"content":" \"version\": \"0.0.1\","},{"lineNumber":4971,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4972,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4973,"author":{"gitId":"-"},"content":" \"node_modules/confusing-browser-globals\": {"},{"lineNumber":4974,"author":{"gitId":"-"},"content":" \"version\": \"1.0.11\","},{"lineNumber":4975,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":4976,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":4977,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4978,"author":{"gitId":"-"},"content":" \"node_modules/connect-history-api-fallback\": {"},{"lineNumber":4979,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":4980,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4981,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4982,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4983,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8\""},{"lineNumber":4984,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4985,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4986,"author":{"gitId":"-"},"content":" \"node_modules/consolidate\": {"},{"lineNumber":4987,"author":{"gitId":"-"},"content":" \"version\": \"0.15.1\","},{"lineNumber":4988,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":4989,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":4990,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":4991,"author":{"gitId":"-"},"content":" \"bluebird\": \"^3.1.1\""},{"lineNumber":4992,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4993,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":4994,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10.0\""},{"lineNumber":4995,"author":{"gitId":"-"},"content":" }"},{"lineNumber":4996,"author":{"gitId":"-"},"content":" },"},{"lineNumber":4997,"author":{"gitId":"-"},"content":" \"node_modules/constantinople\": {"},{"lineNumber":4998,"author":{"gitId":"-"},"content":" \"version\": \"4.0.1\","},{"lineNumber":4999,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5000,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5001,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5002,"author":{"gitId":"-"},"content":" \"@babel/parser\": \"^7.6.0\","},{"lineNumber":5003,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.6.1\""},{"lineNumber":5004,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5005,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5006,"author":{"gitId":"-"},"content":" \"node_modules/content-disposition\": {"},{"lineNumber":5007,"author":{"gitId":"-"},"content":" \"version\": \"0.5.4\","},{"lineNumber":5008,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5009,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5010,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5011,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"5.2.1\""},{"lineNumber":5012,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5013,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5014,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":5015,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5016,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5017,"author":{"gitId":"-"},"content":" \"node_modules/content-disposition/node_modules/safe-buffer\": {"},{"lineNumber":5018,"author":{"gitId":"-"},"content":" \"version\": \"5.2.1\","},{"lineNumber":5019,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5020,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":5021,"author":{"gitId":"-"},"content":" {"},{"lineNumber":5022,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":5023,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":5024,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5025,"author":{"gitId":"-"},"content":" {"},{"lineNumber":5026,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":5027,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":5028,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5029,"author":{"gitId":"-"},"content":" {"},{"lineNumber":5030,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":5031,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":5032,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5033,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":5034,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5035,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5036,"author":{"gitId":"-"},"content":" \"node_modules/content-type\": {"},{"lineNumber":5037,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\","},{"lineNumber":5038,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5039,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5040,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5041,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":5042,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5043,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5044,"author":{"gitId":"-"},"content":" \"node_modules/convert-source-map\": {"},{"lineNumber":5045,"author":{"gitId":"-"},"content":" \"version\": \"1.9.0\","},{"lineNumber":5046,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5047,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5048,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5049,"author":{"gitId":"-"},"content":" \"node_modules/cookie\": {"},{"lineNumber":5050,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.6.0\","},{"lineNumber":5051,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5052,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5053,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5054,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":5055,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5056,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5057,"author":{"gitId":"-"},"content":" \"node_modules/cookie-signature\": {"},{"lineNumber":5058,"author":{"gitId":"-"},"content":" \"version\": \"1.0.6\","},{"lineNumber":5059,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5060,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5061,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5062,"author":{"gitId":"-"},"content":" \"node_modules/copy-webpack-plugin\": {"},{"lineNumber":5063,"author":{"gitId":"-"},"content":" \"version\": \"9.1.0\","},{"lineNumber":5064,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5065,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5066,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5067,"author":{"gitId":"-"},"content":" \"fast-glob\": \"^3.2.7\","},{"lineNumber":5068,"author":{"gitId":"-"},"content":" \"glob-parent\": \"^6.0.1\","},{"lineNumber":5069,"author":{"gitId":"-"},"content":" \"globby\": \"^11.0.3\","},{"lineNumber":5070,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\","},{"lineNumber":5071,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^3.1.1\","},{"lineNumber":5072,"author":{"gitId":"-"},"content":" \"serialize-javascript\": \"^6.0.0\""},{"lineNumber":5073,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5074,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5075,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":5076,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5077,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5078,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5079,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":5080,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5081,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5082,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.1.0\""},{"lineNumber":5083,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5084,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5085,"author":{"gitId":"-"},"content":" \"node_modules/copy-webpack-plugin/node_modules/schema-utils\": {"},{"lineNumber":5086,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":5087,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5088,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5089,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5090,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.8\","},{"lineNumber":5091,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.5\","},{"lineNumber":5092,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\""},{"lineNumber":5093,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5094,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5095,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":5096,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5097,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5098,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5099,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":5100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5101,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5102,"author":{"gitId":"-"},"content":" \"node_modules/core-js\": {"},{"lineNumber":5103,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.36.1\","},{"lineNumber":5104,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,"},{"lineNumber":5105,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5106,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5107,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5108,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/core-js\""},{"lineNumber":5109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5110,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5111,"author":{"gitId":"-"},"content":" \"node_modules/core-js-compat\": {"},{"lineNumber":5112,"author":{"gitId":"-"},"content":" \"version\": \"3.27.2\","},{"lineNumber":5113,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5114,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5115,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5116,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\""},{"lineNumber":5117,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5118,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5119,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5120,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/core-js\""},{"lineNumber":5121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5122,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5123,"author":{"gitId":"-"},"content":" \"node_modules/core-util-is\": {"},{"lineNumber":5124,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":5125,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5126,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5127,"author":{"gitId":"-"},"content":" \"node_modules/cosmiconfig\": {"},{"lineNumber":5128,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":5129,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5130,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5131,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5132,"author":{"gitId":"-"},"content":" \"@types/parse-json\": \"^4.0.0\","},{"lineNumber":5133,"author":{"gitId":"-"},"content":" \"import-fresh\": \"^3.1.0\","},{"lineNumber":5134,"author":{"gitId":"-"},"content":" \"parse-json\": \"^5.0.0\","},{"lineNumber":5135,"author":{"gitId":"-"},"content":" \"path-type\": \"^4.0.0\","},{"lineNumber":5136,"author":{"gitId":"-"},"content":" \"yaml\": \"^1.7.2\""},{"lineNumber":5137,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5138,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5139,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":5140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5141,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5142,"author":{"gitId":"-"},"content":" \"node_modules/cross-spawn\": {"},{"lineNumber":5143,"author":{"gitId":"-"},"content":" \"version\": \"7.0.3\","},{"lineNumber":5144,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5145,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5146,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5147,"author":{"gitId":"-"},"content":" \"path-key\": \"^3.1.0\","},{"lineNumber":5148,"author":{"gitId":"-"},"content":" \"shebang-command\": \"^2.0.0\","},{"lineNumber":5149,"author":{"gitId":"-"},"content":" \"which\": \"^2.0.1\""},{"lineNumber":5150,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5151,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5152,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":5153,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5154,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5155,"author":{"gitId":"-"},"content":" \"node_modules/css-declaration-sorter\": {"},{"lineNumber":5156,"author":{"gitId":"-"},"content":" \"version\": \"6.3.1\","},{"lineNumber":5157,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5158,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":5159,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5160,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14\""},{"lineNumber":5161,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5162,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5163,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.0.9\""},{"lineNumber":5164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5165,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5166,"author":{"gitId":"-"},"content":" \"node_modules/css-functions-list\": {"},{"lineNumber":5167,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.2.1\","},{"lineNumber":5168,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz\","},{"lineNumber":5169,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ\u003d\u003d\","},{"lineNumber":5170,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5171,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5172,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12 || \u003e\u003d16\""},{"lineNumber":5173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5174,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5175,"author":{"gitId":"-"},"content":" \"node_modules/css-loader\": {"},{"lineNumber":5176,"author":{"gitId":"-"},"content":" \"version\": \"6.7.3\","},{"lineNumber":5177,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5178,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5179,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5180,"author":{"gitId":"-"},"content":" \"icss-utils\": \"^5.1.0\","},{"lineNumber":5181,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.4.19\","},{"lineNumber":5182,"author":{"gitId":"-"},"content":" \"postcss-modules-extract-imports\": \"^3.0.0\","},{"lineNumber":5183,"author":{"gitId":"-"},"content":" \"postcss-modules-local-by-default\": \"^4.0.0\","},{"lineNumber":5184,"author":{"gitId":"-"},"content":" \"postcss-modules-scope\": \"^3.0.0\","},{"lineNumber":5185,"author":{"gitId":"-"},"content":" \"postcss-modules-values\": \"^4.0.0\","},{"lineNumber":5186,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\","},{"lineNumber":5187,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.8\""},{"lineNumber":5188,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5189,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5190,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":5191,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5192,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5193,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5194,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":5195,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5196,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5197,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":5198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5199,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5200,"author":{"gitId":"-"},"content":" \"node_modules/css-loader/node_modules/lru-cache\": {"},{"lineNumber":5201,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":5202,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5203,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":5204,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5205,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":5206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5207,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5208,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":5209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5210,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5211,"author":{"gitId":"-"},"content":" \"node_modules/css-loader/node_modules/semver\": {"},{"lineNumber":5212,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":5213,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5214,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":5215,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5216,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":5217,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5218,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":5219,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":5220,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5221,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5222,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":5223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5224,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5225,"author":{"gitId":"-"},"content":" \"node_modules/css-loader/node_modules/yallist\": {"},{"lineNumber":5226,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":5227,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5228,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":5229,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5230,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin\": {"},{"lineNumber":5231,"author":{"gitId":"-"},"content":" \"version\": \"3.4.1\","},{"lineNumber":5232,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5233,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5234,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5235,"author":{"gitId":"-"},"content":" \"cssnano\": \"^5.0.6\","},{"lineNumber":5236,"author":{"gitId":"-"},"content":" \"jest-worker\": \"^27.0.2\","},{"lineNumber":5237,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.3.5\","},{"lineNumber":5238,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\","},{"lineNumber":5239,"author":{"gitId":"-"},"content":" \"serialize-javascript\": \"^6.0.0\","},{"lineNumber":5240,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.1\""},{"lineNumber":5241,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5242,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5243,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":5244,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5245,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5246,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5247,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":5248,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5249,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5250,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":5251,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5252,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":5253,"author":{"gitId":"-"},"content":" \"@parcel/css\": {"},{"lineNumber":5254,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":5255,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5256,"author":{"gitId":"-"},"content":" \"clean-css\": {"},{"lineNumber":5257,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":5258,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5259,"author":{"gitId":"-"},"content":" \"csso\": {"},{"lineNumber":5260,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":5261,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5262,"author":{"gitId":"-"},"content":" \"esbuild\": {"},{"lineNumber":5263,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":5264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5266,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5267,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin/node_modules/ajv\": {"},{"lineNumber":5268,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":5269,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5270,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5271,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5272,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":5273,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":5274,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":5275,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":5276,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5277,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5278,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":5279,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":5280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5281,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5282,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords\": {"},{"lineNumber":5283,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":5284,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5285,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5286,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5287,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\""},{"lineNumber":5288,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5289,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5290,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\""},{"lineNumber":5291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5292,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5293,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse\": {"},{"lineNumber":5294,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":5295,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5296,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5297,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5298,"author":{"gitId":"-"},"content":" \"node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils\": {"},{"lineNumber":5299,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":5300,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5301,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5302,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5303,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\","},{"lineNumber":5304,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\","},{"lineNumber":5305,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\","},{"lineNumber":5306,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\""},{"lineNumber":5307,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5308,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5309,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":5310,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5311,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5312,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5313,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":5314,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5315,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5316,"author":{"gitId":"-"},"content":" \"node_modules/css-select\": {"},{"lineNumber":5317,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":5318,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":5319,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5320,"author":{"gitId":"-"},"content":" \"boolbase\": \"^1.0.0\","},{"lineNumber":5321,"author":{"gitId":"-"},"content":" \"css-what\": \"^6.1.0\","},{"lineNumber":5322,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.2\","},{"lineNumber":5323,"author":{"gitId":"-"},"content":" \"domutils\": \"^3.0.1\","},{"lineNumber":5324,"author":{"gitId":"-"},"content":" \"nth-check\": \"^2.0.1\""},{"lineNumber":5325,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5326,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5327,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":5328,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5329,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5330,"author":{"gitId":"-"},"content":" \"node_modules/css-selector-parser\": {"},{"lineNumber":5331,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\","},{"lineNumber":5332,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5333,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5334,"author":{"gitId":"-"},"content":" \"node_modules/css-tree\": {"},{"lineNumber":5335,"author":{"gitId":"-"},"content":" \"version\": \"1.1.3\","},{"lineNumber":5336,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5337,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5338,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5339,"author":{"gitId":"-"},"content":" \"mdn-data\": \"2.0.14\","},{"lineNumber":5340,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.1\""},{"lineNumber":5341,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5342,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5343,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\""},{"lineNumber":5344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5345,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5346,"author":{"gitId":"-"},"content":" \"node_modules/css-what\": {"},{"lineNumber":5347,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\","},{"lineNumber":5348,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":5349,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5350,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":5351,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5352,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5353,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":5354,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5355,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5356,"author":{"gitId":"-"},"content":" \"node_modules/cssesc\": {"},{"lineNumber":5357,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":5358,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5359,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5360,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":5361,"author":{"gitId":"-"},"content":" \"cssesc\": \"bin/cssesc\""},{"lineNumber":5362,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5363,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5364,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":5365,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5366,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5367,"author":{"gitId":"-"},"content":" \"node_modules/cssnano\": {"},{"lineNumber":5368,"author":{"gitId":"-"},"content":" \"version\": \"5.1.14\","},{"lineNumber":5369,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5370,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5371,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5372,"author":{"gitId":"-"},"content":" \"cssnano-preset-default\": \"^5.2.13\","},{"lineNumber":5373,"author":{"gitId":"-"},"content":" \"lilconfig\": \"^2.0.3\","},{"lineNumber":5374,"author":{"gitId":"-"},"content":" \"yaml\": \"^1.10.2\""},{"lineNumber":5375,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5376,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5377,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":5378,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5379,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5380,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":5381,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/cssnano\""},{"lineNumber":5382,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5383,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5384,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":5385,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5386,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5387,"author":{"gitId":"-"},"content":" \"node_modules/cssnano-preset-default\": {"},{"lineNumber":5388,"author":{"gitId":"-"},"content":" \"version\": \"5.2.13\","},{"lineNumber":5389,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5390,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5391,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5392,"author":{"gitId":"-"},"content":" \"css-declaration-sorter\": \"^6.3.1\","},{"lineNumber":5393,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\","},{"lineNumber":5394,"author":{"gitId":"-"},"content":" \"postcss-calc\": \"^8.2.3\","},{"lineNumber":5395,"author":{"gitId":"-"},"content":" \"postcss-colormin\": \"^5.3.0\","},{"lineNumber":5396,"author":{"gitId":"-"},"content":" \"postcss-convert-values\": \"^5.1.3\","},{"lineNumber":5397,"author":{"gitId":"-"},"content":" \"postcss-discard-comments\": \"^5.1.2\","},{"lineNumber":5398,"author":{"gitId":"-"},"content":" \"postcss-discard-duplicates\": \"^5.1.0\","},{"lineNumber":5399,"author":{"gitId":"-"},"content":" \"postcss-discard-empty\": \"^5.1.1\","},{"lineNumber":5400,"author":{"gitId":"-"},"content":" \"postcss-discard-overridden\": \"^5.1.0\","},{"lineNumber":5401,"author":{"gitId":"-"},"content":" \"postcss-merge-longhand\": \"^5.1.7\","},{"lineNumber":5402,"author":{"gitId":"-"},"content":" \"postcss-merge-rules\": \"^5.1.3\","},{"lineNumber":5403,"author":{"gitId":"-"},"content":" \"postcss-minify-font-values\": \"^5.1.0\","},{"lineNumber":5404,"author":{"gitId":"-"},"content":" \"postcss-minify-gradients\": \"^5.1.1\","},{"lineNumber":5405,"author":{"gitId":"-"},"content":" \"postcss-minify-params\": \"^5.1.4\","},{"lineNumber":5406,"author":{"gitId":"-"},"content":" \"postcss-minify-selectors\": \"^5.2.1\","},{"lineNumber":5407,"author":{"gitId":"-"},"content":" \"postcss-normalize-charset\": \"^5.1.0\","},{"lineNumber":5408,"author":{"gitId":"-"},"content":" \"postcss-normalize-display-values\": \"^5.1.0\","},{"lineNumber":5409,"author":{"gitId":"-"},"content":" \"postcss-normalize-positions\": \"^5.1.1\","},{"lineNumber":5410,"author":{"gitId":"-"},"content":" \"postcss-normalize-repeat-style\": \"^5.1.1\","},{"lineNumber":5411,"author":{"gitId":"-"},"content":" \"postcss-normalize-string\": \"^5.1.0\","},{"lineNumber":5412,"author":{"gitId":"-"},"content":" \"postcss-normalize-timing-functions\": \"^5.1.0\","},{"lineNumber":5413,"author":{"gitId":"-"},"content":" \"postcss-normalize-unicode\": \"^5.1.1\","},{"lineNumber":5414,"author":{"gitId":"-"},"content":" \"postcss-normalize-url\": \"^5.1.0\","},{"lineNumber":5415,"author":{"gitId":"-"},"content":" \"postcss-normalize-whitespace\": \"^5.1.1\","},{"lineNumber":5416,"author":{"gitId":"-"},"content":" \"postcss-ordered-values\": \"^5.1.3\","},{"lineNumber":5417,"author":{"gitId":"-"},"content":" \"postcss-reduce-initial\": \"^5.1.1\","},{"lineNumber":5418,"author":{"gitId":"-"},"content":" \"postcss-reduce-transforms\": \"^5.1.0\","},{"lineNumber":5419,"author":{"gitId":"-"},"content":" \"postcss-svgo\": \"^5.1.0\","},{"lineNumber":5420,"author":{"gitId":"-"},"content":" \"postcss-unique-selectors\": \"^5.1.1\""},{"lineNumber":5421,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5422,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5423,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":5424,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5425,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5426,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":5427,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5428,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5429,"author":{"gitId":"-"},"content":" \"node_modules/cssnano-utils\": {"},{"lineNumber":5430,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":5431,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5432,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5433,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5434,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":5435,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5436,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":5437,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":5438,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5439,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5440,"author":{"gitId":"-"},"content":" \"node_modules/csso\": {"},{"lineNumber":5441,"author":{"gitId":"-"},"content":" \"version\": \"4.2.0\","},{"lineNumber":5442,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5443,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5444,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5445,"author":{"gitId":"-"},"content":" \"css-tree\": \"^1.1.2\""},{"lineNumber":5446,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5447,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5448,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\""},{"lineNumber":5449,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5450,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5451,"author":{"gitId":"-"},"content":" \"node_modules/csstype\": {"},{"lineNumber":5452,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.1.3\","},{"lineNumber":5453,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5454,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5455,"author":{"gitId":"sopa301"},"content":" \"node_modules/debug\": {"},{"lineNumber":5456,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.4\","},{"lineNumber":5457,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5458,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5459,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5460,"author":{"gitId":"sopa301"},"content":" \"ms\": \"2.1.2\""},{"lineNumber":5461,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5462,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5463,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0\""},{"lineNumber":5464,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5465,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":5466,"author":{"gitId":"-"},"content":" \"supports-color\": {"},{"lineNumber":5467,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":5468,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5469,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5470,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5471,"author":{"gitId":"-"},"content":" \"node_modules/deep-is\": {"},{"lineNumber":5472,"author":{"gitId":"-"},"content":" \"version\": \"0.1.4\","},{"lineNumber":5473,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5474,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5475,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5476,"author":{"gitId":"-"},"content":" \"node_modules/deepmerge\": {"},{"lineNumber":5477,"author":{"gitId":"-"},"content":" \"version\": \"4.2.2\","},{"lineNumber":5478,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5479,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5480,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5481,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":5482,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5483,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5484,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway\": {"},{"lineNumber":5485,"author":{"gitId":"-"},"content":" \"version\": \"6.0.3\","},{"lineNumber":5486,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5487,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":5488,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5489,"author":{"gitId":"-"},"content":" \"execa\": \"^5.0.0\""},{"lineNumber":5490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5491,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5492,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\""},{"lineNumber":5493,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5494,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5495,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway/node_modules/execa\": {"},{"lineNumber":5496,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":5497,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5498,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5499,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5500,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^7.0.3\","},{"lineNumber":5501,"author":{"gitId":"-"},"content":" \"get-stream\": \"^6.0.0\","},{"lineNumber":5502,"author":{"gitId":"-"},"content":" \"human-signals\": \"^2.1.0\","},{"lineNumber":5503,"author":{"gitId":"-"},"content":" \"is-stream\": \"^2.0.0\","},{"lineNumber":5504,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\","},{"lineNumber":5505,"author":{"gitId":"-"},"content":" \"npm-run-path\": \"^4.0.1\","},{"lineNumber":5506,"author":{"gitId":"-"},"content":" \"onetime\": \"^5.1.2\","},{"lineNumber":5507,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.3\","},{"lineNumber":5508,"author":{"gitId":"-"},"content":" \"strip-final-newline\": \"^2.0.0\""},{"lineNumber":5509,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5510,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5511,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":5512,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5513,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5514,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sindresorhus/execa?sponsor\u003d1\""},{"lineNumber":5515,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5516,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5517,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway/node_modules/get-stream\": {"},{"lineNumber":5518,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\","},{"lineNumber":5519,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5520,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5521,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5522,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":5523,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5524,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5525,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":5526,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5527,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5528,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway/node_modules/is-stream\": {"},{"lineNumber":5529,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":5530,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5531,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5532,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5533,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":5534,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5535,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5536,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":5537,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5538,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5539,"author":{"gitId":"-"},"content":" \"node_modules/default-gateway/node_modules/npm-run-path\": {"},{"lineNumber":5540,"author":{"gitId":"-"},"content":" \"version\": \"4.0.1\","},{"lineNumber":5541,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5542,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5543,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5544,"author":{"gitId":"-"},"content":" \"path-key\": \"^3.0.0\""},{"lineNumber":5545,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5546,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5547,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":5548,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5549,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5550,"author":{"gitId":"-"},"content":" \"node_modules/defaults\": {"},{"lineNumber":5551,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":5552,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5553,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5554,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5555,"author":{"gitId":"-"},"content":" \"clone\": \"^1.0.2\""},{"lineNumber":5556,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5557,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5558,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":5559,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5560,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5561,"author":{"gitId":"sopa301"},"content":" \"node_modules/define-data-property\": {"},{"lineNumber":5562,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.4\","},{"lineNumber":5563,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5564,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":5565,"author":{"gitId":"sopa301"},"content":" \"es-define-property\": \"^1.0.0\","},{"lineNumber":5566,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":5567,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\""},{"lineNumber":5568,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":5569,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":5570,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":5571,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":5572,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":5573,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":5574,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":5575,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":5576,"author":{"gitId":"-"},"content":" \"node_modules/define-lazy-prop\": {"},{"lineNumber":5577,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":5578,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5579,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5580,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5581,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":5582,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5583,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5584,"author":{"gitId":"-"},"content":" \"node_modules/define-properties\": {"},{"lineNumber":5585,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.1\","},{"lineNumber":5586,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5587,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5588,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5589,"author":{"gitId":"sopa301"},"content":" \"define-data-property\": \"^1.0.1\","},{"lineNumber":5590,"author":{"gitId":"-"},"content":" \"has-property-descriptors\": \"^1.0.0\","},{"lineNumber":5591,"author":{"gitId":"-"},"content":" \"object-keys\": \"^1.1.1\""},{"lineNumber":5592,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5593,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5594,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":5595,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5596,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5597,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":5598,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5599,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5600,"author":{"gitId":"-"},"content":" \"node_modules/depd\": {"},{"lineNumber":5601,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\","},{"lineNumber":5602,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5603,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5604,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5605,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":5606,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5607,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5608,"author":{"gitId":"-"},"content":" \"node_modules/destroy\": {"},{"lineNumber":5609,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":5610,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5611,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5612,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5613,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\","},{"lineNumber":5614,"author":{"gitId":"-"},"content":" \"npm\": \"1.2.8000 || \u003e\u003d 1.4.16\""},{"lineNumber":5615,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5616,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5617,"author":{"gitId":"-"},"content":" \"node_modules/detect-node\": {"},{"lineNumber":5618,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":5619,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5620,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5621,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5622,"author":{"gitId":"-"},"content":" \"node_modules/dir-glob\": {"},{"lineNumber":5623,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":5624,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5625,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5626,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5627,"author":{"gitId":"-"},"content":" \"path-type\": \"^4.0.0\""},{"lineNumber":5628,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5629,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5630,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":5631,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5632,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5633,"author":{"gitId":"-"},"content":" \"node_modules/dns-equal\": {"},{"lineNumber":5634,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":5635,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5636,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5637,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5638,"author":{"gitId":"-"},"content":" \"node_modules/dns-packet\": {"},{"lineNumber":5639,"author":{"gitId":"-"},"content":" \"version\": \"5.4.0\","},{"lineNumber":5640,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5641,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5642,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5643,"author":{"gitId":"-"},"content":" \"@leichtgewicht/ip-codec\": \"^2.0.1\""},{"lineNumber":5644,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5645,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5646,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":5647,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5648,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5649,"author":{"gitId":"-"},"content":" \"node_modules/doctrine\": {"},{"lineNumber":5650,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":5651,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5652,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":5653,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5654,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\""},{"lineNumber":5655,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5656,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5657,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":5658,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5659,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5660,"author":{"gitId":"-"},"content":" \"node_modules/doctypes\": {"},{"lineNumber":5661,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":5662,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5663,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5664,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5665,"author":{"gitId":"-"},"content":" \"node_modules/dom-converter\": {"},{"lineNumber":5666,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\","},{"lineNumber":5667,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5668,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5669,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5670,"author":{"gitId":"-"},"content":" \"utila\": \"~0.4\""},{"lineNumber":5671,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5672,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5673,"author":{"gitId":"-"},"content":" \"node_modules/dom-serializer\": {"},{"lineNumber":5674,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":5675,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5676,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5677,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\","},{"lineNumber":5678,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.2\","},{"lineNumber":5679,"author":{"gitId":"-"},"content":" \"entities\": \"^4.2.0\""},{"lineNumber":5680,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5681,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5682,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor\u003d1\""},{"lineNumber":5683,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5684,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5685,"author":{"gitId":"-"},"content":" \"node_modules/domelementtype\": {"},{"lineNumber":5686,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":5687,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":5688,"author":{"gitId":"-"},"content":" {"},{"lineNumber":5689,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":5690,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":5691,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5692,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":5693,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\""},{"lineNumber":5694,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5695,"author":{"gitId":"-"},"content":" \"node_modules/domhandler\": {"},{"lineNumber":5696,"author":{"gitId":"-"},"content":" \"version\": \"5.0.3\","},{"lineNumber":5697,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":5698,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5699,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\""},{"lineNumber":5700,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5701,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5702,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":5703,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5704,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5705,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\""},{"lineNumber":5706,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5707,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5708,"author":{"gitId":"-"},"content":" \"node_modules/domutils\": {"},{"lineNumber":5709,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":5710,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":5711,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5712,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^2.0.0\","},{"lineNumber":5713,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\","},{"lineNumber":5714,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.1\""},{"lineNumber":5715,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5716,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5717,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domutils?sponsor\u003d1\""},{"lineNumber":5718,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5719,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5720,"author":{"gitId":"-"},"content":" \"node_modules/dot-case\": {"},{"lineNumber":5721,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\","},{"lineNumber":5722,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5723,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5724,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5725,"author":{"gitId":"-"},"content":" \"no-case\": \"^3.0.4\","},{"lineNumber":5726,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\""},{"lineNumber":5727,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5728,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5729,"author":{"gitId":"-"},"content":" \"node_modules/dotenv\": {"},{"lineNumber":5730,"author":{"gitId":"-"},"content":" \"version\": \"10.0.0\","},{"lineNumber":5731,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5732,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":5733,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5734,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":5735,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5736,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5737,"author":{"gitId":"-"},"content":" \"node_modules/dotenv-expand\": {"},{"lineNumber":5738,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":5739,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5740,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\""},{"lineNumber":5741,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5742,"author":{"gitId":"-"},"content":" \"node_modules/duplexer\": {"},{"lineNumber":5743,"author":{"gitId":"-"},"content":" \"version\": \"0.1.2\","},{"lineNumber":5744,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5745,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5746,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5747,"author":{"gitId":"-"},"content":" \"node_modules/easy-stack\": {"},{"lineNumber":5748,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":5749,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5750,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5751,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5752,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":5753,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5754,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5755,"author":{"gitId":"-"},"content":" \"node_modules/ee-first\": {"},{"lineNumber":5756,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\","},{"lineNumber":5757,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5758,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5759,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5760,"author":{"gitId":"-"},"content":" \"node_modules/electron-to-chromium\": {"},{"lineNumber":5761,"author":{"gitId":"-"},"content":" \"version\": \"1.4.284\","},{"lineNumber":5762,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":5763,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5764,"author":{"gitId":"-"},"content":" \"node_modules/emoji-regex\": {"},{"lineNumber":5765,"author":{"gitId":"-"},"content":" \"version\": \"8.0.0\","},{"lineNumber":5766,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5767,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5768,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5769,"author":{"gitId":"-"},"content":" \"node_modules/emojis-list\": {"},{"lineNumber":5770,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":5771,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5772,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5773,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5774,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":5775,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5776,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5777,"author":{"gitId":"-"},"content":" \"node_modules/encodeurl\": {"},{"lineNumber":5778,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":5779,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5780,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5781,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5782,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":5783,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5784,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5785,"author":{"gitId":"-"},"content":" \"node_modules/encoding\": {"},{"lineNumber":5786,"author":{"gitId":"-"},"content":" \"version\": \"0.1.13\","},{"lineNumber":5787,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5788,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5789,"author":{"gitId":"-"},"content":" \"optional\": true,"},{"lineNumber":5790,"author":{"gitId":"sopa301"},"content":" \"peer\": true,"},{"lineNumber":5791,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5792,"author":{"gitId":"-"},"content":" \"iconv-lite\": \"^0.6.2\""},{"lineNumber":5793,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5794,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5795,"author":{"gitId":"-"},"content":" \"node_modules/end-of-stream\": {"},{"lineNumber":5796,"author":{"gitId":"-"},"content":" \"version\": \"1.4.4\","},{"lineNumber":5797,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5798,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5799,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5800,"author":{"gitId":"-"},"content":" \"once\": \"^1.4.0\""},{"lineNumber":5801,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5802,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5803,"author":{"gitId":"-"},"content":" \"node_modules/enhanced-resolve\": {"},{"lineNumber":5804,"author":{"gitId":"-"},"content":" \"version\": \"5.12.0\","},{"lineNumber":5805,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5806,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5807,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.4\","},{"lineNumber":5808,"author":{"gitId":"-"},"content":" \"tapable\": \"^2.2.0\""},{"lineNumber":5809,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5810,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5811,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":5812,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5813,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5814,"author":{"gitId":"-"},"content":" \"node_modules/enhanced-resolve/node_modules/tapable\": {"},{"lineNumber":5815,"author":{"gitId":"-"},"content":" \"version\": \"2.2.1\","},{"lineNumber":5816,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5817,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5818,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":5819,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5820,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5821,"author":{"gitId":"-"},"content":" \"node_modules/entities\": {"},{"lineNumber":5822,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.5.0\","},{"lineNumber":5823,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":5824,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5825,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.12\""},{"lineNumber":5826,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5827,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5828,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/entities?sponsor\u003d1\""},{"lineNumber":5829,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5830,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5831,"author":{"gitId":"-"},"content":" \"node_modules/env-paths\": {"},{"lineNumber":5832,"author":{"gitId":"-"},"content":" \"version\": \"2.2.1\","},{"lineNumber":5833,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz\","},{"lineNumber":5834,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A\u003d\u003d\","},{"lineNumber":5835,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5836,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5837,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":5838,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5839,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5840,"author":{"gitId":"-"},"content":" \"node_modules/error-ex\": {"},{"lineNumber":5841,"author":{"gitId":"-"},"content":" \"version\": \"1.3.2\","},{"lineNumber":5842,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5843,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5844,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5845,"author":{"gitId":"-"},"content":" \"is-arrayish\": \"^0.2.1\""},{"lineNumber":5846,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5847,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5848,"author":{"gitId":"-"},"content":" \"node_modules/error-stack-parser\": {"},{"lineNumber":5849,"author":{"gitId":"-"},"content":" \"version\": \"2.1.4\","},{"lineNumber":5850,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5851,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5852,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5853,"author":{"gitId":"-"},"content":" \"stackframe\": \"^1.3.4\""},{"lineNumber":5854,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5855,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5856,"author":{"gitId":"-"},"content":" \"node_modules/es-abstract\": {"},{"lineNumber":5857,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.22.5\","},{"lineNumber":5858,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5859,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5860,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5861,"author":{"gitId":"sopa301"},"content":" \"array-buffer-byte-length\": \"^1.0.1\","},{"lineNumber":5862,"author":{"gitId":"sopa301"},"content":" \"arraybuffer.prototype.slice\": \"^1.0.3\","},{"lineNumber":5863,"author":{"gitId":"sopa301"},"content":" \"available-typed-arrays\": \"^1.0.7\","},{"lineNumber":5864,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\","},{"lineNumber":5865,"author":{"gitId":"sopa301"},"content":" \"es-define-property\": \"^1.0.0\","},{"lineNumber":5866,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":5867,"author":{"gitId":"sopa301"},"content":" \"es-set-tostringtag\": \"^2.0.3\","},{"lineNumber":5868,"author":{"gitId":"-"},"content":" \"es-to-primitive\": \"^1.2.1\","},{"lineNumber":5869,"author":{"gitId":"sopa301"},"content":" \"function.prototype.name\": \"^1.1.6\","},{"lineNumber":5870,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\","},{"lineNumber":5871,"author":{"gitId":"sopa301"},"content":" \"get-symbol-description\": \"^1.0.2\","},{"lineNumber":5872,"author":{"gitId":"-"},"content":" \"globalthis\": \"^1.0.3\","},{"lineNumber":5873,"author":{"gitId":"-"},"content":" \"gopd\": \"^1.0.1\","},{"lineNumber":5874,"author":{"gitId":"sopa301"},"content":" \"has-property-descriptors\": \"^1.0.2\","},{"lineNumber":5875,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\","},{"lineNumber":5876,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.3\","},{"lineNumber":5877,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.1\","},{"lineNumber":5878,"author":{"gitId":"sopa301"},"content":" \"internal-slot\": \"^1.0.7\","},{"lineNumber":5879,"author":{"gitId":"sopa301"},"content":" \"is-array-buffer\": \"^3.0.4\","},{"lineNumber":5880,"author":{"gitId":"-"},"content":" \"is-callable\": \"^1.2.7\","},{"lineNumber":5881,"author":{"gitId":"sopa301"},"content":" \"is-negative-zero\": \"^2.0.3\","},{"lineNumber":5882,"author":{"gitId":"-"},"content":" \"is-regex\": \"^1.1.4\","},{"lineNumber":5883,"author":{"gitId":"sopa301"},"content":" \"is-shared-array-buffer\": \"^1.0.3\","},{"lineNumber":5884,"author":{"gitId":"-"},"content":" \"is-string\": \"^1.0.7\","},{"lineNumber":5885,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\","},{"lineNumber":5886,"author":{"gitId":"-"},"content":" \"is-weakref\": \"^1.0.2\","},{"lineNumber":5887,"author":{"gitId":"sopa301"},"content":" \"object-inspect\": \"^1.13.1\","},{"lineNumber":5888,"author":{"gitId":"-"},"content":" \"object-keys\": \"^1.1.1\","},{"lineNumber":5889,"author":{"gitId":"sopa301"},"content":" \"object.assign\": \"^4.1.5\","},{"lineNumber":5890,"author":{"gitId":"sopa301"},"content":" \"regexp.prototype.flags\": \"^1.5.2\","},{"lineNumber":5891,"author":{"gitId":"sopa301"},"content":" \"safe-array-concat\": \"^1.1.0\","},{"lineNumber":5892,"author":{"gitId":"sopa301"},"content":" \"safe-regex-test\": \"^1.0.3\","},{"lineNumber":5893,"author":{"gitId":"sopa301"},"content":" \"string.prototype.trim\": \"^1.2.8\","},{"lineNumber":5894,"author":{"gitId":"sopa301"},"content":" \"string.prototype.trimend\": \"^1.0.7\","},{"lineNumber":5895,"author":{"gitId":"sopa301"},"content":" \"string.prototype.trimstart\": \"^1.0.7\","},{"lineNumber":5896,"author":{"gitId":"sopa301"},"content":" \"typed-array-buffer\": \"^1.0.2\","},{"lineNumber":5897,"author":{"gitId":"sopa301"},"content":" \"typed-array-byte-length\": \"^1.0.1\","},{"lineNumber":5898,"author":{"gitId":"sopa301"},"content":" \"typed-array-byte-offset\": \"^1.0.2\","},{"lineNumber":5899,"author":{"gitId":"sopa301"},"content":" \"typed-array-length\": \"^1.0.5\","},{"lineNumber":5900,"author":{"gitId":"-"},"content":" \"unbox-primitive\": \"^1.0.2\","},{"lineNumber":5901,"author":{"gitId":"sopa301"},"content":" \"which-typed-array\": \"^1.1.14\""},{"lineNumber":5902,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5903,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5904,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":5905,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5906,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5907,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":5908,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5909,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5910,"author":{"gitId":"sopa301"},"content":" \"node_modules/es-array-method-boxes-properly\": {"},{"lineNumber":5911,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":5912,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5913,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5914,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":5915,"author":{"gitId":"sopa301"},"content":" \"node_modules/es-define-property\": {"},{"lineNumber":5916,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":5917,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5918,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":5919,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\""},{"lineNumber":5920,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":5921,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":5922,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":5923,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":5924,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":5925,"author":{"gitId":"sopa301"},"content":" \"node_modules/es-errors\": {"},{"lineNumber":5926,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.3.0\","},{"lineNumber":5927,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5928,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":5929,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":5930,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":5931,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":5932,"author":{"gitId":"-"},"content":" \"node_modules/es-module-lexer\": {"},{"lineNumber":5933,"author":{"gitId":"-"},"content":" \"version\": \"0.9.3\","},{"lineNumber":5934,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5935,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5936,"author":{"gitId":"-"},"content":" \"node_modules/es-set-tostringtag\": {"},{"lineNumber":5937,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.3\","},{"lineNumber":5938,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5939,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5940,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5941,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\","},{"lineNumber":5942,"author":{"gitId":"sopa301"},"content":" \"has-tostringtag\": \"^1.0.2\","},{"lineNumber":5943,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.1\""},{"lineNumber":5944,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5945,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5946,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":5947,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5948,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5949,"author":{"gitId":"-"},"content":" \"node_modules/es-shim-unscopables\": {"},{"lineNumber":5950,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":5951,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5952,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5953,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5954,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\""},{"lineNumber":5955,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5956,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5957,"author":{"gitId":"-"},"content":" \"node_modules/es-to-primitive\": {"},{"lineNumber":5958,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":5959,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5960,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5961,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5962,"author":{"gitId":"-"},"content":" \"is-callable\": \"^1.1.4\","},{"lineNumber":5963,"author":{"gitId":"-"},"content":" \"is-date-object\": \"^1.0.1\","},{"lineNumber":5964,"author":{"gitId":"-"},"content":" \"is-symbol\": \"^1.0.2\""},{"lineNumber":5965,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5966,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5967,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":5968,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5969,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":5970,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":5971,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5972,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5973,"author":{"gitId":"-"},"content":" \"node_modules/escalade\": {"},{"lineNumber":5974,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":5975,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5976,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5977,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":5978,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5979,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5980,"author":{"gitId":"-"},"content":" \"node_modules/escape-html\": {"},{"lineNumber":5981,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":5982,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":5983,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":5984,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5985,"author":{"gitId":"-"},"content":" \"node_modules/escape-string-regexp\": {"},{"lineNumber":5986,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\","},{"lineNumber":5987,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5988,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5989,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":5990,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.0\""},{"lineNumber":5991,"author":{"gitId":"-"},"content":" }"},{"lineNumber":5992,"author":{"gitId":"-"},"content":" },"},{"lineNumber":5993,"author":{"gitId":"-"},"content":" \"node_modules/eslint\": {"},{"lineNumber":5994,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.57.0\","},{"lineNumber":5995,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":5996,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":5997,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":5998,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/eslint-utils\": \"^4.2.0\","},{"lineNumber":5999,"author":{"gitId":"sopa301"},"content":" \"@eslint-community/regexpp\": \"^4.6.1\","},{"lineNumber":6000,"author":{"gitId":"sopa301"},"content":" \"@eslint/eslintrc\": \"^2.1.4\","},{"lineNumber":6001,"author":{"gitId":"sopa301"},"content":" \"@eslint/js\": \"8.57.0\","},{"lineNumber":6002,"author":{"gitId":"sopa301"},"content":" \"@humanwhocodes/config-array\": \"^0.11.14\","},{"lineNumber":6003,"author":{"gitId":"-"},"content":" \"@humanwhocodes/module-importer\": \"^1.0.1\","},{"lineNumber":6004,"author":{"gitId":"-"},"content":" \"@nodelib/fs.walk\": \"^1.2.8\","},{"lineNumber":6005,"author":{"gitId":"sopa301"},"content":" \"@ungap/structured-clone\": \"^1.2.0\","},{"lineNumber":6006,"author":{"gitId":"sopa301"},"content":" \"ajv\": \"^6.12.4\","},{"lineNumber":6007,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.0.0\","},{"lineNumber":6008,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^7.0.2\","},{"lineNumber":6009,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.2\","},{"lineNumber":6010,"author":{"gitId":"-"},"content":" \"doctrine\": \"^3.0.0\","},{"lineNumber":6011,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": \"^4.0.0\","},{"lineNumber":6012,"author":{"gitId":"sopa301"},"content":" \"eslint-scope\": \"^7.2.2\","},{"lineNumber":6013,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.4.3\","},{"lineNumber":6014,"author":{"gitId":"sopa301"},"content":" \"espree\": \"^9.6.1\","},{"lineNumber":6015,"author":{"gitId":"sopa301"},"content":" \"esquery\": \"^1.4.2\","},{"lineNumber":6016,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\","},{"lineNumber":6017,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\","},{"lineNumber":6018,"author":{"gitId":"-"},"content":" \"file-entry-cache\": \"^6.0.1\","},{"lineNumber":6019,"author":{"gitId":"-"},"content":" \"find-up\": \"^5.0.0\","},{"lineNumber":6020,"author":{"gitId":"-"},"content":" \"glob-parent\": \"^6.0.2\","},{"lineNumber":6021,"author":{"gitId":"-"},"content":" \"globals\": \"^13.19.0\","},{"lineNumber":6022,"author":{"gitId":"sopa301"},"content":" \"graphemer\": \"^1.4.0\","},{"lineNumber":6023,"author":{"gitId":"-"},"content":" \"ignore\": \"^5.2.0\","},{"lineNumber":6024,"author":{"gitId":"-"},"content":" \"imurmurhash\": \"^0.1.4\","},{"lineNumber":6025,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.0\","},{"lineNumber":6026,"author":{"gitId":"-"},"content":" \"is-path-inside\": \"^3.0.3\","},{"lineNumber":6027,"author":{"gitId":"-"},"content":" \"js-yaml\": \"^4.1.0\","},{"lineNumber":6028,"author":{"gitId":"-"},"content":" \"json-stable-stringify-without-jsonify\": \"^1.0.1\","},{"lineNumber":6029,"author":{"gitId":"-"},"content":" \"levn\": \"^0.4.1\","},{"lineNumber":6030,"author":{"gitId":"-"},"content":" \"lodash.merge\": \"^4.6.2\","},{"lineNumber":6031,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.2\","},{"lineNumber":6032,"author":{"gitId":"-"},"content":" \"natural-compare\": \"^1.4.0\","},{"lineNumber":6033,"author":{"gitId":"sopa301"},"content":" \"optionator\": \"^0.9.3\","},{"lineNumber":6034,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\","},{"lineNumber":6035,"author":{"gitId":"-"},"content":" \"text-table\": \"^0.2.0\""},{"lineNumber":6036,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6037,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":6038,"author":{"gitId":"-"},"content":" \"eslint\": \"bin/eslint.js\""},{"lineNumber":6039,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6040,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6041,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":6042,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6043,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6044,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":6045,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6046,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6047,"author":{"gitId":"-"},"content":" \"node_modules/eslint-config-airbnb-base\": {"},{"lineNumber":6048,"author":{"gitId":"-"},"content":" \"version\": \"15.0.0\","},{"lineNumber":6049,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6050,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6051,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6052,"author":{"gitId":"-"},"content":" \"confusing-browser-globals\": \"^1.0.10\","},{"lineNumber":6053,"author":{"gitId":"-"},"content":" \"object.assign\": \"^4.1.2\","},{"lineNumber":6054,"author":{"gitId":"-"},"content":" \"object.entries\": \"^1.1.5\","},{"lineNumber":6055,"author":{"gitId":"-"},"content":" \"semver\": \"^6.3.0\""},{"lineNumber":6056,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6057,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6058,"author":{"gitId":"-"},"content":" \"node\": \"^10.12.0 || \u003e\u003d12.0.0\""},{"lineNumber":6059,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6060,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":6061,"author":{"gitId":"-"},"content":" \"eslint\": \"^7.32.0 || ^8.2.0\","},{"lineNumber":6062,"author":{"gitId":"-"},"content":" \"eslint-plugin-import\": \"^2.25.2\""},{"lineNumber":6063,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6064,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6065,"author":{"gitId":"-"},"content":" \"node_modules/eslint-config-airbnb-typescript\": {"},{"lineNumber":6066,"author":{"gitId":"sopa301"},"content":" \"version\": \"17.1.0\","},{"lineNumber":6067,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6068,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6069,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6070,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-base\": \"^15.0.0\""},{"lineNumber":6071,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6072,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":6073,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/eslint-plugin\": \"^5.13.0 || ^6.0.0\","},{"lineNumber":6074,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/parser\": \"^5.0.0 || ^6.0.0\","},{"lineNumber":6075,"author":{"gitId":"-"},"content":" \"eslint\": \"^7.32.0 || ^8.2.0\","},{"lineNumber":6076,"author":{"gitId":"-"},"content":" \"eslint-plugin-import\": \"^2.25.3\""},{"lineNumber":6077,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6078,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6079,"author":{"gitId":"-"},"content":" \"node_modules/eslint-import-resolver-node\": {"},{"lineNumber":6080,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.3.9\","},{"lineNumber":6081,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6082,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6083,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6084,"author":{"gitId":"-"},"content":" \"debug\": \"^3.2.7\","},{"lineNumber":6085,"author":{"gitId":"sopa301"},"content":" \"is-core-module\": \"^2.13.0\","},{"lineNumber":6086,"author":{"gitId":"sopa301"},"content":" \"resolve\": \"^1.22.4\""},{"lineNumber":6087,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6088,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6089,"author":{"gitId":"-"},"content":" \"node_modules/eslint-import-resolver-node/node_modules/debug\": {"},{"lineNumber":6090,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\","},{"lineNumber":6091,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6092,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6093,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6094,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\""},{"lineNumber":6095,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6096,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6097,"author":{"gitId":"-"},"content":" \"node_modules/eslint-module-utils\": {"},{"lineNumber":6098,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.8.1\","},{"lineNumber":6099,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6100,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6101,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6102,"author":{"gitId":"-"},"content":" \"debug\": \"^3.2.7\""},{"lineNumber":6103,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6104,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6105,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":6106,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6107,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":6108,"author":{"gitId":"-"},"content":" \"eslint\": {"},{"lineNumber":6109,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":6110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6112,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6113,"author":{"gitId":"-"},"content":" \"node_modules/eslint-module-utils/node_modules/debug\": {"},{"lineNumber":6114,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\","},{"lineNumber":6115,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6116,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6117,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6118,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\""},{"lineNumber":6119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6120,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6121,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import\": {"},{"lineNumber":6122,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.29.1\","},{"lineNumber":6123,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6124,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6125,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6126,"author":{"gitId":"sopa301"},"content":" \"array-includes\": \"^3.1.7\","},{"lineNumber":6127,"author":{"gitId":"sopa301"},"content":" \"array.prototype.findlastindex\": \"^1.2.3\","},{"lineNumber":6128,"author":{"gitId":"sopa301"},"content":" \"array.prototype.flat\": \"^1.3.2\","},{"lineNumber":6129,"author":{"gitId":"sopa301"},"content":" \"array.prototype.flatmap\": \"^1.3.2\","},{"lineNumber":6130,"author":{"gitId":"-"},"content":" \"debug\": \"^3.2.7\","},{"lineNumber":6131,"author":{"gitId":"-"},"content":" \"doctrine\": \"^2.1.0\","},{"lineNumber":6132,"author":{"gitId":"sopa301"},"content":" \"eslint-import-resolver-node\": \"^0.3.9\","},{"lineNumber":6133,"author":{"gitId":"sopa301"},"content":" \"eslint-module-utils\": \"^2.8.0\","},{"lineNumber":6134,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\","},{"lineNumber":6135,"author":{"gitId":"sopa301"},"content":" \"is-core-module\": \"^2.13.1\","},{"lineNumber":6136,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.3\","},{"lineNumber":6137,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.2\","},{"lineNumber":6138,"author":{"gitId":"sopa301"},"content":" \"object.fromentries\": \"^2.0.7\","},{"lineNumber":6139,"author":{"gitId":"sopa301"},"content":" \"object.groupby\": \"^1.0.1\","},{"lineNumber":6140,"author":{"gitId":"sopa301"},"content":" \"object.values\": \"^1.1.7\","},{"lineNumber":6141,"author":{"gitId":"sopa301"},"content":" \"semver\": \"^6.3.1\","},{"lineNumber":6142,"author":{"gitId":"sopa301"},"content":" \"tsconfig-paths\": \"^3.15.0\""},{"lineNumber":6143,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6144,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6145,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":6146,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6147,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":6148,"author":{"gitId":"-"},"content":" \"eslint\": \"^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8\""},{"lineNumber":6149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6150,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6151,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import/node_modules/brace-expansion\": {"},{"lineNumber":6152,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":6153,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6154,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6155,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6156,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":6157,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":6158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6159,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6160,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import/node_modules/debug\": {"},{"lineNumber":6161,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\","},{"lineNumber":6162,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6163,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6164,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6165,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\""},{"lineNumber":6166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6167,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6168,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import/node_modules/doctrine\": {"},{"lineNumber":6169,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":6170,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6171,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":6172,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6173,"author":{"gitId":"-"},"content":" \"esutils\": \"^2.0.2\""},{"lineNumber":6174,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6175,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6176,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":6177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6178,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6179,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-import/node_modules/minimatch\": {"},{"lineNumber":6180,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":6181,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6182,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6183,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6184,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":6185,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6186,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6187,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":6188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6189,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6190,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-vue\": {"},{"lineNumber":6191,"author":{"gitId":"-"},"content":" \"version\": \"8.7.1\","},{"lineNumber":6192,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6193,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6194,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6195,"author":{"gitId":"-"},"content":" \"eslint-utils\": \"^3.0.0\","},{"lineNumber":6196,"author":{"gitId":"-"},"content":" \"natural-compare\": \"^1.4.0\","},{"lineNumber":6197,"author":{"gitId":"-"},"content":" \"nth-check\": \"^2.0.1\","},{"lineNumber":6198,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.9\","},{"lineNumber":6199,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.5\","},{"lineNumber":6200,"author":{"gitId":"-"},"content":" \"vue-eslint-parser\": \"^8.0.1\""},{"lineNumber":6201,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6202,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6203,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":6204,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6205,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":6206,"author":{"gitId":"-"},"content":" \"eslint\": \"^6.2.0 || ^7.0.0 || ^8.0.0\""},{"lineNumber":6207,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6208,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6209,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-vue/node_modules/lru-cache\": {"},{"lineNumber":6210,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":6211,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6212,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6213,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6214,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":6215,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6216,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6217,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6219,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6220,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-vue/node_modules/semver\": {"},{"lineNumber":6221,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":6222,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6223,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6224,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6225,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":6226,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6227,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":6228,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":6229,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6230,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6231,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6232,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6233,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6234,"author":{"gitId":"-"},"content":" \"node_modules/eslint-plugin-vue/node_modules/yallist\": {"},{"lineNumber":6235,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":6236,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6237,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":6238,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6239,"author":{"gitId":"-"},"content":" \"node_modules/eslint-scope\": {"},{"lineNumber":6240,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":6241,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6242,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6243,"author":{"gitId":"-"},"content":" \"esrecurse\": \"^4.3.0\","},{"lineNumber":6244,"author":{"gitId":"-"},"content":" \"estraverse\": \"^4.1.1\""},{"lineNumber":6245,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6246,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6247,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\""},{"lineNumber":6248,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6249,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6250,"author":{"gitId":"-"},"content":" \"node_modules/eslint-utils\": {"},{"lineNumber":6251,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":6252,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6253,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6254,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6255,"author":{"gitId":"-"},"content":" \"eslint-visitor-keys\": \"^2.0.0\""},{"lineNumber":6256,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6257,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6258,"author":{"gitId":"-"},"content":" \"node\": \"^10.0.0 || ^12.0.0 || \u003e\u003d 14.0.0\""},{"lineNumber":6259,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6260,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6261,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/mysticatea\""},{"lineNumber":6262,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6263,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":6264,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d5\""},{"lineNumber":6265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6266,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6267,"author":{"gitId":"-"},"content":" \"node_modules/eslint-visitor-keys\": {"},{"lineNumber":6268,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":6269,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6270,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":6271,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6272,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6273,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6274,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6275,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin\": {"},{"lineNumber":6276,"author":{"gitId":"-"},"content":" \"version\": \"3.2.0\","},{"lineNumber":6277,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6278,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6279,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6280,"author":{"gitId":"-"},"content":" \"@types/eslint\": \"^7.29.0 || ^8.4.1\","},{"lineNumber":6281,"author":{"gitId":"-"},"content":" \"jest-worker\": \"^28.0.2\","},{"lineNumber":6282,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.5\","},{"lineNumber":6283,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\","},{"lineNumber":6284,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\""},{"lineNumber":6285,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6286,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6287,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":6288,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6289,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6290,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":6291,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":6292,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6293,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":6294,"author":{"gitId":"-"},"content":" \"eslint\": \"^7.0.0 || ^8.0.0\","},{"lineNumber":6295,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":6296,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6297,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6298,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/ajv\": {"},{"lineNumber":6299,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":6300,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6301,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6302,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6303,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":6304,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":6305,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":6306,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":6307,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6308,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6309,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":6310,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":6311,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6312,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6313,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/ajv-keywords\": {"},{"lineNumber":6314,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":6315,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6316,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6317,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6318,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\""},{"lineNumber":6319,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6320,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":6321,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\""},{"lineNumber":6322,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6323,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6324,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/has-flag\": {"},{"lineNumber":6325,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":6326,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6327,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6328,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6329,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":6330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6331,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6332,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/jest-worker\": {"},{"lineNumber":6333,"author":{"gitId":"-"},"content":" \"version\": \"28.1.3\","},{"lineNumber":6334,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6335,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6336,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6337,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\","},{"lineNumber":6338,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\","},{"lineNumber":6339,"author":{"gitId":"-"},"content":" \"supports-color\": \"^8.0.0\""},{"lineNumber":6340,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6341,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6342,"author":{"gitId":"-"},"content":" \"node\": \"^12.13.0 || ^14.15.0 || ^16.10.0 || \u003e\u003d17.0.0\""},{"lineNumber":6343,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6344,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6345,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse\": {"},{"lineNumber":6346,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":6347,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6348,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6349,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6350,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/schema-utils\": {"},{"lineNumber":6351,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":6352,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6353,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6354,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6355,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\","},{"lineNumber":6356,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\","},{"lineNumber":6357,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\","},{"lineNumber":6358,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\""},{"lineNumber":6359,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6360,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6361,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":6362,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6363,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6364,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":6365,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":6366,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6367,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6368,"author":{"gitId":"-"},"content":" \"node_modules/eslint-webpack-plugin/node_modules/supports-color\": {"},{"lineNumber":6369,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\","},{"lineNumber":6370,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6371,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6372,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6373,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":6374,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6375,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6376,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6377,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6378,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6379,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\""},{"lineNumber":6380,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6381,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6382,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/ansi-styles\": {"},{"lineNumber":6383,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":6384,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6385,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6386,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6387,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":6388,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6389,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6390,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":6391,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6392,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6393,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":6394,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6395,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6396,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/brace-expansion\": {"},{"lineNumber":6397,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":6398,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6399,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6400,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6401,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":6402,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":6403,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6404,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6405,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/chalk\": {"},{"lineNumber":6406,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":6407,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6408,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6409,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6410,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":6411,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":6412,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6413,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6414,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6415,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6416,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6417,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":6418,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6419,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6420,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/color-convert\": {"},{"lineNumber":6421,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":6422,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6423,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6424,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6425,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":6426,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6427,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6428,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":6429,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6430,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6431,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/color-name\": {"},{"lineNumber":6432,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":6433,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6434,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6435,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6436,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/escape-string-regexp\": {"},{"lineNumber":6437,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":6438,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6439,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6440,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6441,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6442,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6443,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6444,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":6445,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6446,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6447,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/eslint-scope\": {"},{"lineNumber":6448,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.2\","},{"lineNumber":6449,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6450,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6451,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6452,"author":{"gitId":"-"},"content":" \"esrecurse\": \"^4.3.0\","},{"lineNumber":6453,"author":{"gitId":"-"},"content":" \"estraverse\": \"^5.2.0\""},{"lineNumber":6454,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6455,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6456,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":6457,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":6458,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":6459,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":6460,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6461,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6462,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/eslint-visitor-keys\": {"},{"lineNumber":6463,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\","},{"lineNumber":6464,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6465,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":6466,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6467,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":6468,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":6469,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":6470,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":6471,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6472,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6473,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/estraverse\": {"},{"lineNumber":6474,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\","},{"lineNumber":6475,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6476,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6477,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6478,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\""},{"lineNumber":6479,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6480,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6481,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/globals\": {"},{"lineNumber":6482,"author":{"gitId":"-"},"content":" \"version\": \"13.20.0\","},{"lineNumber":6483,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6484,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6485,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6486,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.20.2\""},{"lineNumber":6487,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6488,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6489,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":6490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6491,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6492,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":6493,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6494,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6495,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/has-flag\": {"},{"lineNumber":6496,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":6497,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6498,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6499,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6500,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":6501,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6502,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6503,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/minimatch\": {"},{"lineNumber":6504,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":6505,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6506,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6507,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6508,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":6509,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6510,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6511,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":6512,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6513,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6514,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/supports-color\": {"},{"lineNumber":6515,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":6516,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6517,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6518,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6519,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":6520,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6521,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6522,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":6523,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6524,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6525,"author":{"gitId":"-"},"content":" \"node_modules/eslint/node_modules/type-fest\": {"},{"lineNumber":6526,"author":{"gitId":"-"},"content":" \"version\": \"0.20.2\","},{"lineNumber":6527,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6528,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR CC0-1.0)\","},{"lineNumber":6529,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6530,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6531,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6532,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6533,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":6534,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6535,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6536,"author":{"gitId":"-"},"content":" \"node_modules/espree\": {"},{"lineNumber":6537,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.6.1\","},{"lineNumber":6538,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6539,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6540,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6541,"author":{"gitId":"sopa301"},"content":" \"acorn\": \"^8.9.0\","},{"lineNumber":6542,"author":{"gitId":"-"},"content":" \"acorn-jsx\": \"^5.3.2\","},{"lineNumber":6543,"author":{"gitId":"sopa301"},"content":" \"eslint-visitor-keys\": \"^3.4.1\""},{"lineNumber":6544,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6545,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6546,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":6547,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6548,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6549,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":6550,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6551,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6552,"author":{"gitId":"-"},"content":" \"node_modules/espree/node_modules/eslint-visitor-keys\": {"},{"lineNumber":6553,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\","},{"lineNumber":6554,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6555,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":6556,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6557,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":6558,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":6559,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":6560,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":6561,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6562,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6563,"author":{"gitId":"-"},"content":" \"node_modules/esquery\": {"},{"lineNumber":6564,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.0\","},{"lineNumber":6565,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6566,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":6567,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6568,"author":{"gitId":"-"},"content":" \"estraverse\": \"^5.1.0\""},{"lineNumber":6569,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6570,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6571,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10\""},{"lineNumber":6572,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6573,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6574,"author":{"gitId":"-"},"content":" \"node_modules/esquery/node_modules/estraverse\": {"},{"lineNumber":6575,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\","},{"lineNumber":6576,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6577,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6578,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6579,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\""},{"lineNumber":6580,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6581,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6582,"author":{"gitId":"-"},"content":" \"node_modules/esrecurse\": {"},{"lineNumber":6583,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":6584,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6585,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6586,"author":{"gitId":"-"},"content":" \"estraverse\": \"^5.2.0\""},{"lineNumber":6587,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6588,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6589,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\""},{"lineNumber":6590,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6591,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6592,"author":{"gitId":"-"},"content":" \"node_modules/esrecurse/node_modules/estraverse\": {"},{"lineNumber":6593,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\","},{"lineNumber":6594,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6595,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6596,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\""},{"lineNumber":6597,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6598,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6599,"author":{"gitId":"-"},"content":" \"node_modules/estraverse\": {"},{"lineNumber":6600,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":6601,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6602,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6603,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\""},{"lineNumber":6604,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6605,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6606,"author":{"gitId":"-"},"content":" \"node_modules/estree-walker\": {"},{"lineNumber":6607,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\","},{"lineNumber":6608,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6609,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6610,"author":{"gitId":"-"},"content":" \"node_modules/esutils\": {"},{"lineNumber":6611,"author":{"gitId":"-"},"content":" \"version\": \"2.0.3\","},{"lineNumber":6612,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":6613,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6614,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":6615,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6616,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6617,"author":{"gitId":"-"},"content":" \"node_modules/etag\": {"},{"lineNumber":6618,"author":{"gitId":"-"},"content":" \"version\": \"1.8.1\","},{"lineNumber":6619,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6620,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6621,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6622,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":6623,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6624,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6625,"author":{"gitId":"-"},"content":" \"node_modules/event-pubsub\": {"},{"lineNumber":6626,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":6627,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6628,"author":{"gitId":"sopa301"},"content":" \"license\": \"Unlicense\","},{"lineNumber":6629,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6630,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0.0\""},{"lineNumber":6631,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6632,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6633,"author":{"gitId":"-"},"content":" \"node_modules/eventemitter3\": {"},{"lineNumber":6634,"author":{"gitId":"-"},"content":" \"version\": \"4.0.7\","},{"lineNumber":6635,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6636,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6637,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6638,"author":{"gitId":"-"},"content":" \"node_modules/events\": {"},{"lineNumber":6639,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\","},{"lineNumber":6640,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6641,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6642,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.x\""},{"lineNumber":6643,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6644,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6645,"author":{"gitId":"-"},"content":" \"node_modules/execa\": {"},{"lineNumber":6646,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":6647,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6648,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6649,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6650,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^6.0.0\","},{"lineNumber":6651,"author":{"gitId":"-"},"content":" \"get-stream\": \"^4.0.0\","},{"lineNumber":6652,"author":{"gitId":"-"},"content":" \"is-stream\": \"^1.1.0\","},{"lineNumber":6653,"author":{"gitId":"-"},"content":" \"npm-run-path\": \"^2.0.0\","},{"lineNumber":6654,"author":{"gitId":"-"},"content":" \"p-finally\": \"^1.0.0\","},{"lineNumber":6655,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.0\","},{"lineNumber":6656,"author":{"gitId":"-"},"content":" \"strip-eof\": \"^1.0.0\""},{"lineNumber":6657,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6658,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6659,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":6660,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6661,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6662,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/cross-spawn\": {"},{"lineNumber":6663,"author":{"gitId":"-"},"content":" \"version\": \"6.0.5\","},{"lineNumber":6664,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6665,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6666,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6667,"author":{"gitId":"-"},"content":" \"nice-try\": \"^1.0.4\","},{"lineNumber":6668,"author":{"gitId":"-"},"content":" \"path-key\": \"^2.0.1\","},{"lineNumber":6669,"author":{"gitId":"-"},"content":" \"semver\": \"^5.5.0\","},{"lineNumber":6670,"author":{"gitId":"-"},"content":" \"shebang-command\": \"^1.2.0\","},{"lineNumber":6671,"author":{"gitId":"-"},"content":" \"which\": \"^1.2.9\""},{"lineNumber":6672,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6673,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6674,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.8\""},{"lineNumber":6675,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6676,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6677,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/path-key\": {"},{"lineNumber":6678,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":6679,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6680,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6681,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6682,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":6683,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6684,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6685,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/semver\": {"},{"lineNumber":6686,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.7.2\","},{"lineNumber":6687,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6688,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6689,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":6690,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver\""},{"lineNumber":6691,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6692,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6693,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/shebang-command\": {"},{"lineNumber":6694,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":6695,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6696,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6697,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6698,"author":{"gitId":"-"},"content":" \"shebang-regex\": \"^1.0.0\""},{"lineNumber":6699,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6700,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6701,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":6702,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6703,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6704,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/shebang-regex\": {"},{"lineNumber":6705,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":6706,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6707,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6708,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6709,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":6710,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6711,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6712,"author":{"gitId":"-"},"content":" \"node_modules/execa/node_modules/which\": {"},{"lineNumber":6713,"author":{"gitId":"-"},"content":" \"version\": \"1.3.1\","},{"lineNumber":6714,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6715,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6716,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6717,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\""},{"lineNumber":6718,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6719,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":6720,"author":{"gitId":"-"},"content":" \"which\": \"bin/which\""},{"lineNumber":6721,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6722,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6723,"author":{"gitId":"-"},"content":" \"node_modules/express\": {"},{"lineNumber":6724,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.19.2\","},{"lineNumber":6725,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6726,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6727,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6728,"author":{"gitId":"-"},"content":" \"accepts\": \"~1.3.8\","},{"lineNumber":6729,"author":{"gitId":"-"},"content":" \"array-flatten\": \"1.1.1\","},{"lineNumber":6730,"author":{"gitId":"sopa301"},"content":" \"body-parser\": \"1.20.2\","},{"lineNumber":6731,"author":{"gitId":"-"},"content":" \"content-disposition\": \"0.5.4\","},{"lineNumber":6732,"author":{"gitId":"-"},"content":" \"content-type\": \"~1.0.4\","},{"lineNumber":6733,"author":{"gitId":"sopa301"},"content":" \"cookie\": \"0.6.0\","},{"lineNumber":6734,"author":{"gitId":"-"},"content":" \"cookie-signature\": \"1.0.6\","},{"lineNumber":6735,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\","},{"lineNumber":6736,"author":{"gitId":"-"},"content":" \"depd\": \"2.0.0\","},{"lineNumber":6737,"author":{"gitId":"-"},"content":" \"encodeurl\": \"~1.0.2\","},{"lineNumber":6738,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\","},{"lineNumber":6739,"author":{"gitId":"-"},"content":" \"etag\": \"~1.8.1\","},{"lineNumber":6740,"author":{"gitId":"-"},"content":" \"finalhandler\": \"1.2.0\","},{"lineNumber":6741,"author":{"gitId":"-"},"content":" \"fresh\": \"0.5.2\","},{"lineNumber":6742,"author":{"gitId":"-"},"content":" \"http-errors\": \"2.0.0\","},{"lineNumber":6743,"author":{"gitId":"-"},"content":" \"merge-descriptors\": \"1.0.1\","},{"lineNumber":6744,"author":{"gitId":"-"},"content":" \"methods\": \"~1.1.2\","},{"lineNumber":6745,"author":{"gitId":"-"},"content":" \"on-finished\": \"2.4.1\","},{"lineNumber":6746,"author":{"gitId":"-"},"content":" \"parseurl\": \"~1.3.3\","},{"lineNumber":6747,"author":{"gitId":"-"},"content":" \"path-to-regexp\": \"0.1.7\","},{"lineNumber":6748,"author":{"gitId":"-"},"content":" \"proxy-addr\": \"~2.0.7\","},{"lineNumber":6749,"author":{"gitId":"-"},"content":" \"qs\": \"6.11.0\","},{"lineNumber":6750,"author":{"gitId":"-"},"content":" \"range-parser\": \"~1.2.1\","},{"lineNumber":6751,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"5.2.1\","},{"lineNumber":6752,"author":{"gitId":"-"},"content":" \"send\": \"0.18.0\","},{"lineNumber":6753,"author":{"gitId":"-"},"content":" \"serve-static\": \"1.15.0\","},{"lineNumber":6754,"author":{"gitId":"-"},"content":" \"setprototypeof\": \"1.2.0\","},{"lineNumber":6755,"author":{"gitId":"-"},"content":" \"statuses\": \"2.0.1\","},{"lineNumber":6756,"author":{"gitId":"-"},"content":" \"type-is\": \"~1.6.18\","},{"lineNumber":6757,"author":{"gitId":"-"},"content":" \"utils-merge\": \"1.0.1\","},{"lineNumber":6758,"author":{"gitId":"-"},"content":" \"vary\": \"~1.1.2\""},{"lineNumber":6759,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6760,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6761,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10.0\""},{"lineNumber":6762,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6763,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6764,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/array-flatten\": {"},{"lineNumber":6765,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\","},{"lineNumber":6766,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6767,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6768,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6769,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/debug\": {"},{"lineNumber":6770,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\","},{"lineNumber":6771,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6772,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6773,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6774,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\""},{"lineNumber":6775,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6776,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6777,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/depd\": {"},{"lineNumber":6778,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":6779,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6780,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6781,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6782,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":6783,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6784,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6785,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/ms\": {"},{"lineNumber":6786,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":6787,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6788,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6789,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6790,"author":{"gitId":"-"},"content":" \"node_modules/express/node_modules/safe-buffer\": {"},{"lineNumber":6791,"author":{"gitId":"-"},"content":" \"version\": \"5.2.1\","},{"lineNumber":6792,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6793,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":6794,"author":{"gitId":"-"},"content":" {"},{"lineNumber":6795,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":6796,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":6797,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6798,"author":{"gitId":"-"},"content":" {"},{"lineNumber":6799,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":6800,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":6801,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6802,"author":{"gitId":"-"},"content":" {"},{"lineNumber":6803,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":6804,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":6805,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6806,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":6807,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6808,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6809,"author":{"gitId":"-"},"content":" \"node_modules/fast-deep-equal\": {"},{"lineNumber":6810,"author":{"gitId":"-"},"content":" \"version\": \"3.1.3\","},{"lineNumber":6811,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6812,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6813,"author":{"gitId":"-"},"content":" \"node_modules/fast-glob\": {"},{"lineNumber":6814,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.3.2\","},{"lineNumber":6815,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz\","},{"lineNumber":6816,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow\u003d\u003d\","},{"lineNumber":6817,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6818,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6819,"author":{"gitId":"-"},"content":" \"@nodelib/fs.stat\": \"^2.0.2\","},{"lineNumber":6820,"author":{"gitId":"-"},"content":" \"@nodelib/fs.walk\": \"^1.2.3\","},{"lineNumber":6821,"author":{"gitId":"-"},"content":" \"glob-parent\": \"^5.1.2\","},{"lineNumber":6822,"author":{"gitId":"-"},"content":" \"merge2\": \"^1.3.0\","},{"lineNumber":6823,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.4\""},{"lineNumber":6824,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6825,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6826,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.6.0\""},{"lineNumber":6827,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6828,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6829,"author":{"gitId":"-"},"content":" \"node_modules/fast-glob/node_modules/glob-parent\": {"},{"lineNumber":6830,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\","},{"lineNumber":6831,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6832,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6833,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6834,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.1\""},{"lineNumber":6835,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6836,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6837,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":6838,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6839,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6840,"author":{"gitId":"-"},"content":" \"node_modules/fast-json-stable-stringify\": {"},{"lineNumber":6841,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":6842,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6843,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6844,"author":{"gitId":"-"},"content":" \"node_modules/fast-levenshtein\": {"},{"lineNumber":6845,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\","},{"lineNumber":6846,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6847,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6848,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6849,"author":{"gitId":"-"},"content":" \"node_modules/fastest-levenshtein\": {"},{"lineNumber":6850,"author":{"gitId":"-"},"content":" \"version\": \"1.0.16\","},{"lineNumber":6851,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6852,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6853,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6854,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4.9.1\""},{"lineNumber":6855,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6856,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6857,"author":{"gitId":"-"},"content":" \"node_modules/fastq\": {"},{"lineNumber":6858,"author":{"gitId":"-"},"content":" \"version\": \"1.15.0\","},{"lineNumber":6859,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6860,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":6861,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6862,"author":{"gitId":"-"},"content":" \"reusify\": \"^1.0.4\""},{"lineNumber":6863,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6864,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6865,"author":{"gitId":"-"},"content":" \"node_modules/faye-websocket\": {"},{"lineNumber":6866,"author":{"gitId":"-"},"content":" \"version\": \"0.11.4\","},{"lineNumber":6867,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6868,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":6869,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6870,"author":{"gitId":"-"},"content":" \"websocket-driver\": \"\u003e\u003d0.5.1\""},{"lineNumber":6871,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6872,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6873,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.0\""},{"lineNumber":6874,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6875,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6876,"author":{"gitId":"-"},"content":" \"node_modules/figures\": {"},{"lineNumber":6877,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":6878,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6879,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6880,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6881,"author":{"gitId":"-"},"content":" \"escape-string-regexp\": \"^1.0.5\""},{"lineNumber":6882,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6883,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6884,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":6885,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6886,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6887,"author":{"gitId":"-"},"content":" \"node_modules/file-entry-cache\": {"},{"lineNumber":6888,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\","},{"lineNumber":6889,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6890,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6891,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6892,"author":{"gitId":"-"},"content":" \"flat-cache\": \"^3.0.4\""},{"lineNumber":6893,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6894,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6895,"author":{"gitId":"-"},"content":" \"node\": \"^10.12.0 || \u003e\u003d12.0.0\""},{"lineNumber":6896,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6897,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6898,"author":{"gitId":"-"},"content":" \"node_modules/fill-range\": {"},{"lineNumber":6899,"author":{"gitId":"-"},"content":" \"version\": \"7.0.1\","},{"lineNumber":6900,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6901,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6902,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6903,"author":{"gitId":"-"},"content":" \"to-regex-range\": \"^5.0.1\""},{"lineNumber":6904,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6905,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6906,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":6907,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6908,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6909,"author":{"gitId":"-"},"content":" \"node_modules/finalhandler\": {"},{"lineNumber":6910,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":6911,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6912,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6913,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6914,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\","},{"lineNumber":6915,"author":{"gitId":"-"},"content":" \"encodeurl\": \"~1.0.2\","},{"lineNumber":6916,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\","},{"lineNumber":6917,"author":{"gitId":"-"},"content":" \"on-finished\": \"2.4.1\","},{"lineNumber":6918,"author":{"gitId":"-"},"content":" \"parseurl\": \"~1.3.3\","},{"lineNumber":6919,"author":{"gitId":"-"},"content":" \"statuses\": \"2.0.1\","},{"lineNumber":6920,"author":{"gitId":"-"},"content":" \"unpipe\": \"~1.0.0\""},{"lineNumber":6921,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6922,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6923,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":6924,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6925,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6926,"author":{"gitId":"-"},"content":" \"node_modules/finalhandler/node_modules/debug\": {"},{"lineNumber":6927,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\","},{"lineNumber":6928,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6929,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6930,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6931,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\""},{"lineNumber":6932,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6933,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6934,"author":{"gitId":"-"},"content":" \"node_modules/finalhandler/node_modules/ms\": {"},{"lineNumber":6935,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":6936,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":6937,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6938,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6939,"author":{"gitId":"-"},"content":" \"node_modules/find-cache-dir\": {"},{"lineNumber":6940,"author":{"gitId":"-"},"content":" \"version\": \"3.3.2\","},{"lineNumber":6941,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6942,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6943,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6944,"author":{"gitId":"-"},"content":" \"commondir\": \"^1.0.1\","},{"lineNumber":6945,"author":{"gitId":"-"},"content":" \"make-dir\": \"^3.0.2\","},{"lineNumber":6946,"author":{"gitId":"-"},"content":" \"pkg-dir\": \"^4.1.0\""},{"lineNumber":6947,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6948,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6949,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":6950,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6951,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6952,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/avajs/find-cache-dir?sponsor\u003d1\""},{"lineNumber":6953,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6954,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6955,"author":{"gitId":"-"},"content":" \"node_modules/find-line-column\": {"},{"lineNumber":6956,"author":{"gitId":"-"},"content":" \"version\": \"0.5.2\","},{"lineNumber":6957,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":6958,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6959,"author":{"gitId":"-"},"content":" \"node_modules/find-up\": {"},{"lineNumber":6960,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":6961,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6962,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6963,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6964,"author":{"gitId":"-"},"content":" \"locate-path\": \"^6.0.0\","},{"lineNumber":6965,"author":{"gitId":"-"},"content":" \"path-exists\": \"^4.0.0\""},{"lineNumber":6966,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6967,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6968,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":6969,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6970,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":6971,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":6972,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6973,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6974,"author":{"gitId":"-"},"content":" \"node_modules/flat-cache\": {"},{"lineNumber":6975,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\","},{"lineNumber":6976,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6977,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":6978,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":6979,"author":{"gitId":"-"},"content":" \"flatted\": \"^3.1.0\","},{"lineNumber":6980,"author":{"gitId":"-"},"content":" \"rimraf\": \"^3.0.2\""},{"lineNumber":6981,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6982,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":6983,"author":{"gitId":"-"},"content":" \"node\": \"^10.12.0 || \u003e\u003d12.0.0\""},{"lineNumber":6984,"author":{"gitId":"-"},"content":" }"},{"lineNumber":6985,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6986,"author":{"gitId":"-"},"content":" \"node_modules/flatted\": {"},{"lineNumber":6987,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.3.1\","},{"lineNumber":6988,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz\","},{"lineNumber":6989,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw\u003d\u003d\","},{"lineNumber":6990,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":6991,"author":{"gitId":"-"},"content":" },"},{"lineNumber":6992,"author":{"gitId":"-"},"content":" \"node_modules/follow-redirects\": {"},{"lineNumber":6993,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.15.6\","},{"lineNumber":6994,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":6995,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":6996,"author":{"gitId":"-"},"content":" {"},{"lineNumber":6997,"author":{"gitId":"-"},"content":" \"type\": \"individual\","},{"lineNumber":6998,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/RubenVerborgh\""},{"lineNumber":6999,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7000,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":7001,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7002,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7003,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\""},{"lineNumber":7004,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7005,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":7006,"author":{"gitId":"-"},"content":" \"debug\": {"},{"lineNumber":7007,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":7008,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7009,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7010,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7011,"author":{"gitId":"-"},"content":" \"node_modules/for-each\": {"},{"lineNumber":7012,"author":{"gitId":"-"},"content":" \"version\": \"0.3.3\","},{"lineNumber":7013,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7014,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7015,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7016,"author":{"gitId":"-"},"content":" \"is-callable\": \"^1.1.3\""},{"lineNumber":7017,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7018,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7019,"author":{"gitId":"-"},"content":" \"node_modules/foreachasync\": {"},{"lineNumber":7020,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":7021,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache2\""},{"lineNumber":7022,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7023,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin\": {"},{"lineNumber":7024,"author":{"gitId":"-"},"content":" \"version\": \"6.5.2\","},{"lineNumber":7025,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7026,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7027,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7028,"author":{"gitId":"-"},"content":" \"@babel/code-frame\": \"^7.8.3\","},{"lineNumber":7029,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.5\","},{"lineNumber":7030,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":7031,"author":{"gitId":"-"},"content":" \"chokidar\": \"^3.4.2\","},{"lineNumber":7032,"author":{"gitId":"-"},"content":" \"cosmiconfig\": \"^6.0.0\","},{"lineNumber":7033,"author":{"gitId":"-"},"content":" \"deepmerge\": \"^4.2.2\","},{"lineNumber":7034,"author":{"gitId":"-"},"content":" \"fs-extra\": \"^9.0.0\","},{"lineNumber":7035,"author":{"gitId":"-"},"content":" \"glob\": \"^7.1.6\","},{"lineNumber":7036,"author":{"gitId":"-"},"content":" \"memfs\": \"^3.1.2\","},{"lineNumber":7037,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.0.4\","},{"lineNumber":7038,"author":{"gitId":"-"},"content":" \"schema-utils\": \"2.7.0\","},{"lineNumber":7039,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.2\","},{"lineNumber":7040,"author":{"gitId":"-"},"content":" \"tapable\": \"^1.0.0\""},{"lineNumber":7041,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7042,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7043,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\","},{"lineNumber":7044,"author":{"gitId":"-"},"content":" \"yarn\": \"\u003e\u003d1.0.0\""},{"lineNumber":7045,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7046,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":7047,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d 6\","},{"lineNumber":7048,"author":{"gitId":"-"},"content":" \"typescript\": \"\u003e\u003d 2.7\","},{"lineNumber":7049,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": \"*\","},{"lineNumber":7050,"author":{"gitId":"-"},"content":" \"webpack\": \"\u003e\u003d 4\""},{"lineNumber":7051,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7052,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":7053,"author":{"gitId":"-"},"content":" \"eslint\": {"},{"lineNumber":7054,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":7055,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7056,"author":{"gitId":"-"},"content":" \"vue-template-compiler\": {"},{"lineNumber":7057,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":7058,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7059,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7060,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7061,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles\": {"},{"lineNumber":7062,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":7063,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7064,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7065,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7066,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":7067,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7068,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7069,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":7070,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7071,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7072,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":7073,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7074,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7075,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/brace-expansion\": {"},{"lineNumber":7076,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":7077,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7078,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7079,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7080,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":7081,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":7082,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7083,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7084,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk\": {"},{"lineNumber":7085,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":7086,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7087,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7088,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7089,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":7090,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":7091,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7092,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7093,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7094,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7095,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7096,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":7097,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7098,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7099,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert\": {"},{"lineNumber":7100,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":7101,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7102,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7103,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7104,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":7105,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7106,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7107,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":7108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7109,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7110,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name\": {"},{"lineNumber":7111,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":7112,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7113,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7114,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7115,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag\": {"},{"lineNumber":7116,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":7117,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7118,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7119,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7120,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":7121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7122,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7123,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache\": {"},{"lineNumber":7124,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":7125,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7126,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7127,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7128,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":7129,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7130,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7131,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7133,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7134,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/minimatch\": {"},{"lineNumber":7135,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":7136,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7137,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7138,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7139,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":7140,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7141,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7142,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":7143,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7144,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7145,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils\": {"},{"lineNumber":7146,"author":{"gitId":"-"},"content":" \"version\": \"2.7.0\","},{"lineNumber":7147,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7148,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7149,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7150,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.4\","},{"lineNumber":7151,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.2\","},{"lineNumber":7152,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.4.1\""},{"lineNumber":7153,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7154,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7155,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8.9.0\""},{"lineNumber":7156,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7157,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7158,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":7159,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":7160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7161,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7162,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/semver\": {"},{"lineNumber":7163,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":7164,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7165,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7166,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7167,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":7168,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7169,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":7170,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":7171,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7172,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7173,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7175,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7176,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color\": {"},{"lineNumber":7177,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":7178,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7179,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7180,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7181,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":7182,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7183,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7184,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":7185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7186,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7187,"author":{"gitId":"-"},"content":" \"node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist\": {"},{"lineNumber":7188,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":7189,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7190,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":7191,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7192,"author":{"gitId":"-"},"content":" \"node_modules/forwarded\": {"},{"lineNumber":7193,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\","},{"lineNumber":7194,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7195,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7196,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7197,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":7198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7199,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7200,"author":{"gitId":"-"},"content":" \"node_modules/fraction.js\": {"},{"lineNumber":7201,"author":{"gitId":"-"},"content":" \"version\": \"4.2.0\","},{"lineNumber":7202,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7203,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7204,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7205,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":7206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7207,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7208,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":7209,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/infusion\""},{"lineNumber":7210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7211,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7212,"author":{"gitId":"-"},"content":" \"node_modules/fresh\": {"},{"lineNumber":7213,"author":{"gitId":"-"},"content":" \"version\": \"0.5.2\","},{"lineNumber":7214,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7215,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7216,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7217,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":7218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7219,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7220,"author":{"gitId":"-"},"content":" \"node_modules/fs-extra\": {"},{"lineNumber":7221,"author":{"gitId":"-"},"content":" \"version\": \"9.1.0\","},{"lineNumber":7222,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7223,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7224,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7225,"author":{"gitId":"-"},"content":" \"at-least-node\": \"^1.0.0\","},{"lineNumber":7226,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.0\","},{"lineNumber":7227,"author":{"gitId":"-"},"content":" \"jsonfile\": \"^6.0.1\","},{"lineNumber":7228,"author":{"gitId":"-"},"content":" \"universalify\": \"^2.0.0\""},{"lineNumber":7229,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7230,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7231,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7232,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7233,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7234,"author":{"gitId":"-"},"content":" \"node_modules/fs-monkey\": {"},{"lineNumber":7235,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":7236,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7237,"author":{"gitId":"sopa301"},"content":" \"license\": \"Unlicense\""},{"lineNumber":7238,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7239,"author":{"gitId":"-"},"content":" \"node_modules/fs.realpath\": {"},{"lineNumber":7240,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":7241,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":7242,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7243,"author":{"gitId":"-"},"content":" \"node_modules/function-bind\": {"},{"lineNumber":7244,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.2\","},{"lineNumber":7245,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7246,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":7247,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7248,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":7249,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7250,"author":{"gitId":"-"},"content":" \"node_modules/function.prototype.name\": {"},{"lineNumber":7251,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.6\","},{"lineNumber":7252,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7253,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7254,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7255,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":7256,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":7257,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\","},{"lineNumber":7258,"author":{"gitId":"sopa301"},"content":" \"functions-have-names\": \"^1.2.3\""},{"lineNumber":7259,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7260,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7261,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7262,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7263,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7264,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7265,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7266,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7267,"author":{"gitId":"-"},"content":" \"node_modules/functions-have-names\": {"},{"lineNumber":7268,"author":{"gitId":"-"},"content":" \"version\": \"1.2.3\","},{"lineNumber":7269,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7270,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7271,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7272,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7273,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7274,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7275,"author":{"gitId":"-"},"content":" \"node_modules/gensync\": {"},{"lineNumber":7276,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0-beta.2\","},{"lineNumber":7277,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7278,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7279,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7280,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.9.0\""},{"lineNumber":7281,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7282,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7283,"author":{"gitId":"-"},"content":" \"node_modules/get-caller-file\": {"},{"lineNumber":7284,"author":{"gitId":"-"},"content":" \"version\": \"2.0.5\","},{"lineNumber":7285,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7286,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7287,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7288,"author":{"gitId":"-"},"content":" \"node\": \"6.* || 8.* || \u003e\u003d 10.*\""},{"lineNumber":7289,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7290,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7291,"author":{"gitId":"-"},"content":" \"node_modules/get-intrinsic\": {"},{"lineNumber":7292,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.4\","},{"lineNumber":7293,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7294,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7295,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":7296,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.2\","},{"lineNumber":7297,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.1\","},{"lineNumber":7298,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\","},{"lineNumber":7299,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\""},{"lineNumber":7300,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":7301,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":7302,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7303,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7304,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7305,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7306,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7307,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7308,"author":{"gitId":"-"},"content":" \"node_modules/get-stream\": {"},{"lineNumber":7309,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":7310,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7311,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7312,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7313,"author":{"gitId":"-"},"content":" \"pump\": \"^3.0.0\""},{"lineNumber":7314,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7315,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7316,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":7317,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7318,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7319,"author":{"gitId":"-"},"content":" \"node_modules/get-symbol-description\": {"},{"lineNumber":7320,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":7321,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7322,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7323,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7324,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\","},{"lineNumber":7325,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":7326,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\""},{"lineNumber":7327,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7328,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7329,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7330,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7331,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7332,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7333,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7334,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7335,"author":{"gitId":"-"},"content":" \"node_modules/glob\": {"},{"lineNumber":7336,"author":{"gitId":"-"},"content":" \"version\": \"7.2.3\","},{"lineNumber":7337,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7338,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7339,"author":{"gitId":"-"},"content":" \"fs.realpath\": \"^1.0.0\","},{"lineNumber":7340,"author":{"gitId":"-"},"content":" \"inflight\": \"^1.0.4\","},{"lineNumber":7341,"author":{"gitId":"-"},"content":" \"inherits\": \"2\","},{"lineNumber":7342,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.1.1\","},{"lineNumber":7343,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.0\","},{"lineNumber":7344,"author":{"gitId":"-"},"content":" \"path-is-absolute\": \"^1.0.0\""},{"lineNumber":7345,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7346,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7347,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":7348,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7349,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7350,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/isaacs\""},{"lineNumber":7351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7352,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7353,"author":{"gitId":"-"},"content":" \"node_modules/glob-parent\": {"},{"lineNumber":7354,"author":{"gitId":"-"},"content":" \"version\": \"6.0.2\","},{"lineNumber":7355,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7356,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7357,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7358,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.3\""},{"lineNumber":7359,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7360,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7361,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":7362,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7363,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7364,"author":{"gitId":"-"},"content":" \"node_modules/glob-to-regexp\": {"},{"lineNumber":7365,"author":{"gitId":"-"},"content":" \"version\": \"0.4.1\","},{"lineNumber":7366,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\""},{"lineNumber":7367,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7368,"author":{"gitId":"-"},"content":" \"node_modules/glob/node_modules/brace-expansion\": {"},{"lineNumber":7369,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":7370,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7371,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7372,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":7373,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":7374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7375,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7376,"author":{"gitId":"-"},"content":" \"node_modules/glob/node_modules/minimatch\": {"},{"lineNumber":7377,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":7378,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7379,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7380,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":7381,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7382,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7383,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":7384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7385,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7386,"author":{"gitId":"-"},"content":" \"node_modules/global-modules\": {"},{"lineNumber":7387,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":7388,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7389,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7390,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7391,"author":{"gitId":"-"},"content":" \"global-prefix\": \"^3.0.0\""},{"lineNumber":7392,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7393,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7394,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":7395,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7396,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7397,"author":{"gitId":"-"},"content":" \"node_modules/global-prefix\": {"},{"lineNumber":7398,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":7399,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7400,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7401,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7402,"author":{"gitId":"-"},"content":" \"ini\": \"^1.3.5\","},{"lineNumber":7403,"author":{"gitId":"-"},"content":" \"kind-of\": \"^6.0.2\","},{"lineNumber":7404,"author":{"gitId":"-"},"content":" \"which\": \"^1.3.1\""},{"lineNumber":7405,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7406,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7407,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":7408,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7409,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7410,"author":{"gitId":"-"},"content":" \"node_modules/global-prefix/node_modules/which\": {"},{"lineNumber":7411,"author":{"gitId":"-"},"content":" \"version\": \"1.3.1\","},{"lineNumber":7412,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7413,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7414,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7415,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\""},{"lineNumber":7416,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7417,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":7418,"author":{"gitId":"-"},"content":" \"which\": \"bin/which\""},{"lineNumber":7419,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7420,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7421,"author":{"gitId":"-"},"content":" \"node_modules/globals\": {"},{"lineNumber":7422,"author":{"gitId":"-"},"content":" \"version\": \"11.12.0\","},{"lineNumber":7423,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7424,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7425,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7426,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":7427,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7428,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7429,"author":{"gitId":"-"},"content":" \"node_modules/globalthis\": {"},{"lineNumber":7430,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":7431,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7432,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7433,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7434,"author":{"gitId":"-"},"content":" \"define-properties\": \"^1.1.3\""},{"lineNumber":7435,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7436,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7437,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7438,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7439,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7440,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7441,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7442,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7443,"author":{"gitId":"-"},"content":" \"node_modules/globby\": {"},{"lineNumber":7444,"author":{"gitId":"-"},"content":" \"version\": \"11.1.0\","},{"lineNumber":7445,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7446,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7447,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7448,"author":{"gitId":"-"},"content":" \"array-union\": \"^2.1.0\","},{"lineNumber":7449,"author":{"gitId":"-"},"content":" \"dir-glob\": \"^3.0.1\","},{"lineNumber":7450,"author":{"gitId":"-"},"content":" \"fast-glob\": \"^3.2.9\","},{"lineNumber":7451,"author":{"gitId":"-"},"content":" \"ignore\": \"^5.2.0\","},{"lineNumber":7452,"author":{"gitId":"-"},"content":" \"merge2\": \"^1.4.1\","},{"lineNumber":7453,"author":{"gitId":"-"},"content":" \"slash\": \"^3.0.0\""},{"lineNumber":7454,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7455,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7456,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7457,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7458,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7459,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":7460,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7461,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7462,"author":{"gitId":"-"},"content":" \"node_modules/globjoin\": {"},{"lineNumber":7463,"author":{"gitId":"-"},"content":" \"version\": \"0.1.4\","},{"lineNumber":7464,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7465,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7466,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7467,"author":{"gitId":"-"},"content":" \"node_modules/gopd\": {"},{"lineNumber":7468,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":7469,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7470,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7471,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.1.3\""},{"lineNumber":7472,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7473,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7474,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7475,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7476,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7477,"author":{"gitId":"-"},"content":" \"node_modules/graceful-fs\": {"},{"lineNumber":7478,"author":{"gitId":"-"},"content":" \"version\": \"4.2.10\","},{"lineNumber":7479,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":7480,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7481,"author":{"gitId":"sopa301"},"content":" \"node_modules/graphemer\": {"},{"lineNumber":7482,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.0\","},{"lineNumber":7483,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7484,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7485,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7486,"author":{"gitId":"-"},"content":" \"node_modules/gzip-size\": {"},{"lineNumber":7487,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":7488,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7489,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7490,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7491,"author":{"gitId":"-"},"content":" \"duplexer\": \"^0.1.2\""},{"lineNumber":7492,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7493,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7494,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7495,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7496,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7497,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":7498,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7499,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7500,"author":{"gitId":"-"},"content":" \"node_modules/handle-thing\": {"},{"lineNumber":7501,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":7502,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7503,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7504,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7505,"author":{"gitId":"-"},"content":" \"node_modules/has-bigints\": {"},{"lineNumber":7506,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":7507,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7508,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7509,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7510,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7511,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7512,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7513,"author":{"gitId":"-"},"content":" \"node_modules/has-flag\": {"},{"lineNumber":7514,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":7515,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7516,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7517,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7518,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":7519,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7520,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7521,"author":{"gitId":"-"},"content":" \"node_modules/has-property-descriptors\": {"},{"lineNumber":7522,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":7523,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7524,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7525,"author":{"gitId":"sopa301"},"content":" \"es-define-property\": \"^1.0.0\""},{"lineNumber":7526,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7527,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7528,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7529,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7530,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7531,"author":{"gitId":"-"},"content":" \"node_modules/has-proto\": {"},{"lineNumber":7532,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\","},{"lineNumber":7533,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7534,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7535,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7536,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7537,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7538,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7539,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7540,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7541,"author":{"gitId":"-"},"content":" \"node_modules/has-symbols\": {"},{"lineNumber":7542,"author":{"gitId":"-"},"content":" \"version\": \"1.0.3\","},{"lineNumber":7543,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7544,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7545,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7546,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7547,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7548,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7549,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7550,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7551,"author":{"gitId":"-"},"content":" \"node_modules/has-tostringtag\": {"},{"lineNumber":7552,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":7553,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7554,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7555,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\""},{"lineNumber":7556,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7557,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7558,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7559,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7560,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7561,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7562,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7563,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7564,"author":{"gitId":"-"},"content":" \"node_modules/hash-sum\": {"},{"lineNumber":7565,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":7566,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7567,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":7568,"author":{"gitId":"sopa301"},"content":" \"node_modules/hasown\": {"},{"lineNumber":7569,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\","},{"lineNumber":7570,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7571,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":7572,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.2\""},{"lineNumber":7573,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":7574,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":7575,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7576,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":7577,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7578,"author":{"gitId":"-"},"content":" \"node_modules/he\": {"},{"lineNumber":7579,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":7580,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7581,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7582,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":7583,"author":{"gitId":"-"},"content":" \"he\": \"bin/he\""},{"lineNumber":7584,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7585,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7586,"author":{"gitId":"-"},"content":" \"node_modules/highlight.js\": {"},{"lineNumber":7587,"author":{"gitId":"-"},"content":" \"version\": \"10.7.3\","},{"lineNumber":7588,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":7589,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7590,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":7591,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7592,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7593,"author":{"gitId":"-"},"content":" \"node_modules/hpack.js\": {"},{"lineNumber":7594,"author":{"gitId":"-"},"content":" \"version\": \"2.1.6\","},{"lineNumber":7595,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7596,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7597,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7598,"author":{"gitId":"-"},"content":" \"inherits\": \"^2.0.1\","},{"lineNumber":7599,"author":{"gitId":"-"},"content":" \"obuf\": \"^1.0.0\","},{"lineNumber":7600,"author":{"gitId":"-"},"content":" \"readable-stream\": \"^2.0.1\","},{"lineNumber":7601,"author":{"gitId":"-"},"content":" \"wbuf\": \"^1.1.0\""},{"lineNumber":7602,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7603,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7604,"author":{"gitId":"-"},"content":" \"node_modules/html-entities\": {"},{"lineNumber":7605,"author":{"gitId":"-"},"content":" \"version\": \"2.3.3\","},{"lineNumber":7606,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7607,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7608,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7609,"author":{"gitId":"-"},"content":" \"node_modules/html-minifier-terser\": {"},{"lineNumber":7610,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\","},{"lineNumber":7611,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7612,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7613,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7614,"author":{"gitId":"-"},"content":" \"camel-case\": \"^4.1.2\","},{"lineNumber":7615,"author":{"gitId":"-"},"content":" \"clean-css\": \"^5.2.2\","},{"lineNumber":7616,"author":{"gitId":"-"},"content":" \"commander\": \"^8.3.0\","},{"lineNumber":7617,"author":{"gitId":"-"},"content":" \"he\": \"^1.2.0\","},{"lineNumber":7618,"author":{"gitId":"-"},"content":" \"param-case\": \"^3.0.4\","},{"lineNumber":7619,"author":{"gitId":"-"},"content":" \"relateurl\": \"^0.2.7\","},{"lineNumber":7620,"author":{"gitId":"-"},"content":" \"terser\": \"^5.10.0\""},{"lineNumber":7621,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7622,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":7623,"author":{"gitId":"-"},"content":" \"html-minifier-terser\": \"cli.js\""},{"lineNumber":7624,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7625,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7626,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12\""},{"lineNumber":7627,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7628,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7629,"author":{"gitId":"-"},"content":" \"node_modules/html-tags\": {"},{"lineNumber":7630,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.3.1\","},{"lineNumber":7631,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz\","},{"lineNumber":7632,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ\u003d\u003d\","},{"lineNumber":7633,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7634,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7635,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":7636,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7637,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7638,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":7639,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7640,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7641,"author":{"gitId":"-"},"content":" \"node_modules/html-webpack-plugin\": {"},{"lineNumber":7642,"author":{"gitId":"-"},"content":" \"version\": \"5.5.0\","},{"lineNumber":7643,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7644,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7645,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7646,"author":{"gitId":"-"},"content":" \"@types/html-minifier-terser\": \"^6.0.0\","},{"lineNumber":7647,"author":{"gitId":"-"},"content":" \"html-minifier-terser\": \"^6.0.2\","},{"lineNumber":7648,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.21\","},{"lineNumber":7649,"author":{"gitId":"-"},"content":" \"pretty-error\": \"^4.0.0\","},{"lineNumber":7650,"author":{"gitId":"-"},"content":" \"tapable\": \"^2.0.0\""},{"lineNumber":7651,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7652,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7653,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":7654,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7655,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7656,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":7657,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/html-webpack-plugin\""},{"lineNumber":7658,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7659,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":7660,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.20.0\""},{"lineNumber":7661,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7662,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7663,"author":{"gitId":"-"},"content":" \"node_modules/html-webpack-plugin/node_modules/tapable\": {"},{"lineNumber":7664,"author":{"gitId":"-"},"content":" \"version\": \"2.2.1\","},{"lineNumber":7665,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7666,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7667,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7668,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":7669,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7670,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7671,"author":{"gitId":"-"},"content":" \"node_modules/htmlparser2\": {"},{"lineNumber":7672,"author":{"gitId":"-"},"content":" \"version\": \"8.0.1\","},{"lineNumber":7673,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":7674,"author":{"gitId":"-"},"content":" \"https://github.com/fb55/htmlparser2?sponsor\u003d1\","},{"lineNumber":7675,"author":{"gitId":"-"},"content":" {"},{"lineNumber":7676,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":7677,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":7678,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7679,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":7680,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7681,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7682,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.3.0\","},{"lineNumber":7683,"author":{"gitId":"-"},"content":" \"domhandler\": \"^5.0.2\","},{"lineNumber":7684,"author":{"gitId":"-"},"content":" \"domutils\": \"^3.0.1\","},{"lineNumber":7685,"author":{"gitId":"-"},"content":" \"entities\": \"^4.3.0\""},{"lineNumber":7686,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7687,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7688,"author":{"gitId":"-"},"content":" \"node_modules/http-deceiver\": {"},{"lineNumber":7689,"author":{"gitId":"-"},"content":" \"version\": \"1.2.7\","},{"lineNumber":7690,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7691,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7692,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7693,"author":{"gitId":"-"},"content":" \"node_modules/http-errors\": {"},{"lineNumber":7694,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":7695,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7696,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7697,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7698,"author":{"gitId":"-"},"content":" \"depd\": \"2.0.0\","},{"lineNumber":7699,"author":{"gitId":"-"},"content":" \"inherits\": \"2.0.4\","},{"lineNumber":7700,"author":{"gitId":"-"},"content":" \"setprototypeof\": \"1.2.0\","},{"lineNumber":7701,"author":{"gitId":"-"},"content":" \"statuses\": \"2.0.1\","},{"lineNumber":7702,"author":{"gitId":"-"},"content":" \"toidentifier\": \"1.0.1\""},{"lineNumber":7703,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7704,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7705,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":7706,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7707,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7708,"author":{"gitId":"-"},"content":" \"node_modules/http-errors/node_modules/depd\": {"},{"lineNumber":7709,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":7710,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7711,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7712,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7713,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":7714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7715,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7716,"author":{"gitId":"-"},"content":" \"node_modules/http-parser-js\": {"},{"lineNumber":7717,"author":{"gitId":"-"},"content":" \"version\": \"0.5.8\","},{"lineNumber":7718,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7719,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7720,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7721,"author":{"gitId":"-"},"content":" \"node_modules/http-proxy\": {"},{"lineNumber":7722,"author":{"gitId":"-"},"content":" \"version\": \"1.18.1\","},{"lineNumber":7723,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7724,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7725,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7726,"author":{"gitId":"-"},"content":" \"eventemitter3\": \"^4.0.0\","},{"lineNumber":7727,"author":{"gitId":"-"},"content":" \"follow-redirects\": \"^1.0.0\","},{"lineNumber":7728,"author":{"gitId":"-"},"content":" \"requires-port\": \"^1.0.0\""},{"lineNumber":7729,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7730,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7731,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0.0\""},{"lineNumber":7732,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7733,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7734,"author":{"gitId":"-"},"content":" \"node_modules/http-proxy-middleware\": {"},{"lineNumber":7735,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\","},{"lineNumber":7736,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7737,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7738,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7739,"author":{"gitId":"-"},"content":" \"@types/http-proxy\": \"^1.17.8\","},{"lineNumber":7740,"author":{"gitId":"-"},"content":" \"http-proxy\": \"^1.18.1\","},{"lineNumber":7741,"author":{"gitId":"-"},"content":" \"is-glob\": \"^4.0.1\","},{"lineNumber":7742,"author":{"gitId":"-"},"content":" \"is-plain-obj\": \"^3.0.0\","},{"lineNumber":7743,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.2\""},{"lineNumber":7744,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7745,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7746,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.0.0\""},{"lineNumber":7747,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7748,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":7749,"author":{"gitId":"-"},"content":" \"@types/express\": \"^4.17.13\""},{"lineNumber":7750,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7751,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":7752,"author":{"gitId":"-"},"content":" \"@types/express\": {"},{"lineNumber":7753,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":7754,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7755,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7756,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7757,"author":{"gitId":"-"},"content":" \"node_modules/http-proxy-middleware/node_modules/is-plain-obj\": {"},{"lineNumber":7758,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":7759,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7760,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7761,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7762,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":7763,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7764,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7765,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":7766,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7767,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7768,"author":{"gitId":"-"},"content":" \"node_modules/human-signals\": {"},{"lineNumber":7769,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":7770,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7771,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":7772,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7773,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.17.0\""},{"lineNumber":7774,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7775,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7776,"author":{"gitId":"-"},"content":" \"node_modules/iconv-lite\": {"},{"lineNumber":7777,"author":{"gitId":"-"},"content":" \"version\": \"0.6.3\","},{"lineNumber":7778,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7779,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7780,"author":{"gitId":"-"},"content":" \"optional\": true,"},{"lineNumber":7781,"author":{"gitId":"sopa301"},"content":" \"peer\": true,"},{"lineNumber":7782,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7783,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"\u003e\u003d 2.1.2 \u003c 3.0.0\""},{"lineNumber":7784,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7785,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7786,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":7787,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7788,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7789,"author":{"gitId":"-"},"content":" \"node_modules/icss-utils\": {"},{"lineNumber":7790,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":7791,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7792,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7793,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7794,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\""},{"lineNumber":7795,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7796,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":7797,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\""},{"lineNumber":7798,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7799,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7800,"author":{"gitId":"-"},"content":" \"node_modules/ieee754\": {"},{"lineNumber":7801,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":7802,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7803,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":7804,"author":{"gitId":"-"},"content":" {"},{"lineNumber":7805,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":7806,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":7807,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7808,"author":{"gitId":"-"},"content":" {"},{"lineNumber":7809,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":7810,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":7811,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7812,"author":{"gitId":"-"},"content":" {"},{"lineNumber":7813,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":7814,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":7815,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7816,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":7817,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\""},{"lineNumber":7818,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7819,"author":{"gitId":"-"},"content":" \"node_modules/ignore\": {"},{"lineNumber":7820,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.3.1\","},{"lineNumber":7821,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz\","},{"lineNumber":7822,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw\u003d\u003d\","},{"lineNumber":7823,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7824,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7825,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":7826,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7827,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7828,"author":{"gitId":"-"},"content":" \"node_modules/immediate\": {"},{"lineNumber":7829,"author":{"gitId":"-"},"content":" \"version\": \"3.0.6\","},{"lineNumber":7830,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7831,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7832,"author":{"gitId":"-"},"content":" \"node_modules/immutable\": {"},{"lineNumber":7833,"author":{"gitId":"-"},"content":" \"version\": \"4.2.4\","},{"lineNumber":7834,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7835,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7836,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7837,"author":{"gitId":"-"},"content":" \"node_modules/import-fresh\": {"},{"lineNumber":7838,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\","},{"lineNumber":7839,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7840,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7841,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7842,"author":{"gitId":"-"},"content":" \"parent-module\": \"^1.0.0\","},{"lineNumber":7843,"author":{"gitId":"-"},"content":" \"resolve-from\": \"^4.0.0\""},{"lineNumber":7844,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7845,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7846,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":7847,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7848,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7849,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":7850,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7851,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7852,"author":{"gitId":"-"},"content":" \"node_modules/imurmurhash\": {"},{"lineNumber":7853,"author":{"gitId":"-"},"content":" \"version\": \"0.1.4\","},{"lineNumber":7854,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7855,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7856,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7857,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.19\""},{"lineNumber":7858,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7859,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7860,"author":{"gitId":"-"},"content":" \"node_modules/inflight\": {"},{"lineNumber":7861,"author":{"gitId":"-"},"content":" \"version\": \"1.0.6\","},{"lineNumber":7862,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":7863,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7864,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.0\","},{"lineNumber":7865,"author":{"gitId":"-"},"content":" \"wrappy\": \"1\""},{"lineNumber":7866,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7867,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7868,"author":{"gitId":"-"},"content":" \"node_modules/inherits\": {"},{"lineNumber":7869,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\","},{"lineNumber":7870,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":7871,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7872,"author":{"gitId":"-"},"content":" \"node_modules/ini\": {"},{"lineNumber":7873,"author":{"gitId":"-"},"content":" \"version\": \"1.3.8\","},{"lineNumber":7874,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7875,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":7876,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7877,"author":{"gitId":"-"},"content":" \"node_modules/internal-slot\": {"},{"lineNumber":7878,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\","},{"lineNumber":7879,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7880,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7881,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7882,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":7883,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\","},{"lineNumber":7884,"author":{"gitId":"-"},"content":" \"side-channel\": \"^1.0.4\""},{"lineNumber":7885,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7886,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7887,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7888,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7889,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7890,"author":{"gitId":"-"},"content":" \"node_modules/ipaddr.js\": {"},{"lineNumber":7891,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":7892,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7893,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7894,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7895,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\""},{"lineNumber":7896,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7897,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7898,"author":{"gitId":"-"},"content":" \"node_modules/is-array-buffer\": {"},{"lineNumber":7899,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.4\","},{"lineNumber":7900,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7901,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7902,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7903,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":7904,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.1\""},{"lineNumber":7905,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":7906,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":7907,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7908,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7909,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7910,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7911,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7912,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7913,"author":{"gitId":"-"},"content":" \"node_modules/is-arrayish\": {"},{"lineNumber":7914,"author":{"gitId":"-"},"content":" \"version\": \"0.2.1\","},{"lineNumber":7915,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":7916,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":7917,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7918,"author":{"gitId":"-"},"content":" \"node_modules/is-bigint\": {"},{"lineNumber":7919,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":7920,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7921,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7922,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7923,"author":{"gitId":"-"},"content":" \"has-bigints\": \"^1.0.1\""},{"lineNumber":7924,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7925,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7926,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7927,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7928,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7929,"author":{"gitId":"-"},"content":" \"node_modules/is-binary-path\": {"},{"lineNumber":7930,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":7931,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7932,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7933,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7934,"author":{"gitId":"-"},"content":" \"binary-extensions\": \"^2.0.0\""},{"lineNumber":7935,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7936,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7937,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":7938,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7939,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7940,"author":{"gitId":"-"},"content":" \"node_modules/is-boolean-object\": {"},{"lineNumber":7941,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\","},{"lineNumber":7942,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7943,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7944,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7945,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":7946,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\""},{"lineNumber":7947,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7948,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7949,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7950,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7951,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7952,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7953,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7954,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7955,"author":{"gitId":"-"},"content":" \"node_modules/is-callable\": {"},{"lineNumber":7956,"author":{"gitId":"-"},"content":" \"version\": \"1.2.7\","},{"lineNumber":7957,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7958,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7959,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7960,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7961,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7962,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7963,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7964,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7965,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7966,"author":{"gitId":"-"},"content":" \"node_modules/is-ci\": {"},{"lineNumber":7967,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":7968,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7969,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7970,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7971,"author":{"gitId":"-"},"content":" \"ci-info\": \"^1.5.0\""},{"lineNumber":7972,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7973,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":7974,"author":{"gitId":"-"},"content":" \"is-ci\": \"bin.js\""},{"lineNumber":7975,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7976,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7977,"author":{"gitId":"-"},"content":" \"node_modules/is-core-module\": {"},{"lineNumber":7978,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.13.1\","},{"lineNumber":7979,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7980,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7981,"author":{"gitId":"sopa301"},"content":" \"hasown\": \"^2.0.0\""},{"lineNumber":7982,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7983,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7984,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7985,"author":{"gitId":"-"},"content":" }"},{"lineNumber":7986,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7987,"author":{"gitId":"-"},"content":" \"node_modules/is-date-object\": {"},{"lineNumber":7988,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\","},{"lineNumber":7989,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":7990,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":7991,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":7992,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\""},{"lineNumber":7993,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7994,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":7995,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":7996,"author":{"gitId":"-"},"content":" },"},{"lineNumber":7997,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":7998,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":7999,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8000,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8001,"author":{"gitId":"-"},"content":" \"node_modules/is-docker\": {"},{"lineNumber":8002,"author":{"gitId":"-"},"content":" \"version\": \"2.2.1\","},{"lineNumber":8003,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8004,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8005,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8006,"author":{"gitId":"-"},"content":" \"is-docker\": \"cli.js\""},{"lineNumber":8007,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8008,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8009,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8010,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8011,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8012,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":8013,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8014,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8015,"author":{"gitId":"-"},"content":" \"node_modules/is-expression\": {"},{"lineNumber":8016,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":8017,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8018,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8019,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8020,"author":{"gitId":"-"},"content":" \"acorn\": \"^7.1.1\","},{"lineNumber":8021,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.1\""},{"lineNumber":8022,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8023,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8024,"author":{"gitId":"-"},"content":" \"node_modules/is-expression/node_modules/acorn\": {"},{"lineNumber":8025,"author":{"gitId":"-"},"content":" \"version\": \"7.4.1\","},{"lineNumber":8026,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8027,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8028,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8029,"author":{"gitId":"-"},"content":" \"acorn\": \"bin/acorn\""},{"lineNumber":8030,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8031,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8032,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.4.0\""},{"lineNumber":8033,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8034,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8035,"author":{"gitId":"-"},"content":" \"node_modules/is-extglob\": {"},{"lineNumber":8036,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\","},{"lineNumber":8037,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8038,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8039,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8040,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":8041,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8042,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8043,"author":{"gitId":"-"},"content":" \"node_modules/is-file-esm\": {"},{"lineNumber":8044,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":8045,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8046,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8047,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8048,"author":{"gitId":"-"},"content":" \"read-pkg-up\": \"^7.0.1\""},{"lineNumber":8049,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8050,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8051,"author":{"gitId":"-"},"content":" \"node_modules/is-fullwidth-code-point\": {"},{"lineNumber":8052,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":8053,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8054,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8055,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8056,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8057,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8058,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8059,"author":{"gitId":"-"},"content":" \"node_modules/is-glob\": {"},{"lineNumber":8060,"author":{"gitId":"-"},"content":" \"version\": \"4.0.3\","},{"lineNumber":8061,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8062,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8063,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8064,"author":{"gitId":"-"},"content":" \"is-extglob\": \"^2.1.1\""},{"lineNumber":8065,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8066,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8067,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":8068,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8069,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8070,"author":{"gitId":"-"},"content":" \"node_modules/is-interactive\": {"},{"lineNumber":8071,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":8072,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8073,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8074,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8075,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8076,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8077,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8078,"author":{"gitId":"-"},"content":" \"node_modules/is-negative-zero\": {"},{"lineNumber":8079,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.3\","},{"lineNumber":8080,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8081,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8082,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8083,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8084,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8085,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8086,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8087,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8088,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8089,"author":{"gitId":"-"},"content":" \"node_modules/is-number\": {"},{"lineNumber":8090,"author":{"gitId":"-"},"content":" \"version\": \"7.0.0\","},{"lineNumber":8091,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8092,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8093,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8094,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.12.0\""},{"lineNumber":8095,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8096,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8097,"author":{"gitId":"-"},"content":" \"node_modules/is-number-object\": {"},{"lineNumber":8098,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\","},{"lineNumber":8099,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8100,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8101,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8102,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\""},{"lineNumber":8103,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8104,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8105,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8106,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8107,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8108,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8110,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8111,"author":{"gitId":"-"},"content":" \"node_modules/is-path-inside\": {"},{"lineNumber":8112,"author":{"gitId":"-"},"content":" \"version\": \"3.0.3\","},{"lineNumber":8113,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8114,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8115,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8116,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8118,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8119,"author":{"gitId":"-"},"content":" \"node_modules/is-plain-object\": {"},{"lineNumber":8120,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":8121,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8122,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8123,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8124,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":8125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8126,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8127,"author":{"gitId":"-"},"content":" \"node_modules/is-promise\": {"},{"lineNumber":8128,"author":{"gitId":"-"},"content":" \"version\": \"2.2.2\","},{"lineNumber":8129,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8130,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8131,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8132,"author":{"gitId":"-"},"content":" \"node_modules/is-regex\": {"},{"lineNumber":8133,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":8134,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8135,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8136,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":8137,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\""},{"lineNumber":8138,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8139,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8140,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8141,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8142,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8143,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8145,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8146,"author":{"gitId":"-"},"content":" \"node_modules/is-shared-array-buffer\": {"},{"lineNumber":8147,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\","},{"lineNumber":8148,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8149,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8150,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8151,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\""},{"lineNumber":8152,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8153,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":8154,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8155,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8156,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8157,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8159,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8160,"author":{"gitId":"-"},"content":" \"node_modules/is-stream\": {"},{"lineNumber":8161,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":8162,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8163,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8164,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8165,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":8166,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8167,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8168,"author":{"gitId":"-"},"content":" \"node_modules/is-string\": {"},{"lineNumber":8169,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\","},{"lineNumber":8170,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8171,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8172,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8173,"author":{"gitId":"-"},"content":" \"has-tostringtag\": \"^1.0.0\""},{"lineNumber":8174,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8175,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8176,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8177,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8178,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8179,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8180,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8181,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8182,"author":{"gitId":"-"},"content":" \"node_modules/is-symbol\": {"},{"lineNumber":8183,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":8184,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8185,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8186,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8187,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.2\""},{"lineNumber":8188,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8189,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8190,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8191,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8192,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8193,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8195,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8196,"author":{"gitId":"-"},"content":" \"node_modules/is-typed-array\": {"},{"lineNumber":8197,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.13\","},{"lineNumber":8198,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8199,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8200,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8201,"author":{"gitId":"sopa301"},"content":" \"which-typed-array\": \"^1.1.14\""},{"lineNumber":8202,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8203,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8204,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":8205,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8206,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8207,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8208,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8209,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8210,"author":{"gitId":"-"},"content":" \"node_modules/is-unicode-supported\": {"},{"lineNumber":8211,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\","},{"lineNumber":8212,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8213,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8214,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8215,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":8216,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8217,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8218,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":8219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8220,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8221,"author":{"gitId":"-"},"content":" \"node_modules/is-weakref\": {"},{"lineNumber":8222,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":8223,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8224,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8225,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8226,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\""},{"lineNumber":8227,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8228,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8229,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":8230,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8231,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8232,"author":{"gitId":"-"},"content":" \"node_modules/is-wsl\": {"},{"lineNumber":8233,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":8234,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8235,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8236,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8237,"author":{"gitId":"-"},"content":" \"is-docker\": \"^2.0.0\""},{"lineNumber":8238,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8239,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8240,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8242,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8243,"author":{"gitId":"-"},"content":" \"node_modules/isarray\": {"},{"lineNumber":8244,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":8245,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8246,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8247,"author":{"gitId":"-"},"content":" \"node_modules/isexe\": {"},{"lineNumber":8248,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":8249,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8250,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":8251,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8252,"author":{"gitId":"-"},"content":" \"node_modules/isobject\": {"},{"lineNumber":8253,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":8254,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8255,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8256,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8257,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":8258,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8259,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8260,"author":{"gitId":"-"},"content":" \"node_modules/javascript-stringify\": {"},{"lineNumber":8261,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":8262,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8263,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8264,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8265,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util\": {"},{"lineNumber":8266,"author":{"gitId":"sopa301"},"content":" \"version\": \"29.7.0\","},{"lineNumber":8267,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz\","},{"lineNumber":8268,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA\u003d\u003d\","},{"lineNumber":8269,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8270,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":8271,"author":{"gitId":"sopa301"},"content":" \"@jest/types\": \"^29.6.3\","},{"lineNumber":8272,"author":{"gitId":"sopa301"},"content":" \"@types/node\": \"*\","},{"lineNumber":8273,"author":{"gitId":"sopa301"},"content":" \"chalk\": \"^4.0.0\","},{"lineNumber":8274,"author":{"gitId":"sopa301"},"content":" \"ci-info\": \"^3.2.0\","},{"lineNumber":8275,"author":{"gitId":"sopa301"},"content":" \"graceful-fs\": \"^4.2.9\","},{"lineNumber":8276,"author":{"gitId":"sopa301"},"content":" \"picomatch\": \"^2.2.3\""},{"lineNumber":8277,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8278,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":8279,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.15.0 || ^16.10.0 || \u003e\u003d18.0.0\""},{"lineNumber":8280,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":8281,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8282,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util/node_modules/ansi-styles\": {"},{"lineNumber":8283,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\","},{"lineNumber":8284,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\","},{"lineNumber":8285,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg\u003d\u003d\","},{"lineNumber":8286,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8287,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":8288,"author":{"gitId":"sopa301"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":8289,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8290,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":8291,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8292,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8293,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":8294,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":8295,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":8296,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8297,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util/node_modules/chalk\": {"},{"lineNumber":8298,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.2\","},{"lineNumber":8299,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\","},{"lineNumber":8300,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA\u003d\u003d\","},{"lineNumber":8301,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8302,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":8303,"author":{"gitId":"sopa301"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":8304,"author":{"gitId":"sopa301"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":8305,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8306,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":8307,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":8308,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8309,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":8310,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":8311,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":8312,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8313,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util/node_modules/ci-info\": {"},{"lineNumber":8314,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.9.0\","},{"lineNumber":8315,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz\","},{"lineNumber":8316,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ\u003d\u003d\","},{"lineNumber":8317,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8318,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":8319,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":8320,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":8321,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sibiraj-s\""},{"lineNumber":8322,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":8323,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":8324,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":8325,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8326,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":8327,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8328,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util/node_modules/color-convert\": {"},{"lineNumber":8329,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\","},{"lineNumber":8330,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\","},{"lineNumber":8331,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ\u003d\u003d\","},{"lineNumber":8332,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8333,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":8334,"author":{"gitId":"sopa301"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":8335,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8336,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":8337,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":8338,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":8339,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8340,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util/node_modules/color-name\": {"},{"lineNumber":8341,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.4\","},{"lineNumber":8342,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\","},{"lineNumber":8343,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA\u003d\u003d\","},{"lineNumber":8344,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":8345,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8346,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util/node_modules/has-flag\": {"},{"lineNumber":8347,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.0\","},{"lineNumber":8348,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\","},{"lineNumber":8349,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\","},{"lineNumber":8350,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8351,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":8352,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8353,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":8354,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8355,"author":{"gitId":"sopa301"},"content":" \"node_modules/jest-util/node_modules/supports-color\": {"},{"lineNumber":8356,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.0\","},{"lineNumber":8357,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\","},{"lineNumber":8358,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\","},{"lineNumber":8359,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8360,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":8361,"author":{"gitId":"sopa301"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":8362,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8363,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":8364,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8365,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":8366,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8367,"author":{"gitId":"-"},"content":" \"node_modules/jest-worker\": {"},{"lineNumber":8368,"author":{"gitId":"-"},"content":" \"version\": \"27.5.1\","},{"lineNumber":8369,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8370,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8371,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\","},{"lineNumber":8372,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\","},{"lineNumber":8373,"author":{"gitId":"-"},"content":" \"supports-color\": \"^8.0.0\""},{"lineNumber":8374,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8375,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8376,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":8377,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8378,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8379,"author":{"gitId":"-"},"content":" \"node_modules/jest-worker/node_modules/has-flag\": {"},{"lineNumber":8380,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":8381,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8382,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8383,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8385,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8386,"author":{"gitId":"-"},"content":" \"node_modules/jest-worker/node_modules/supports-color\": {"},{"lineNumber":8387,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\","},{"lineNumber":8388,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8389,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8390,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":8391,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8392,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8393,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":8394,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8395,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8396,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\""},{"lineNumber":8397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8398,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8399,"author":{"gitId":"-"},"content":" \"node_modules/joi\": {"},{"lineNumber":8400,"author":{"gitId":"-"},"content":" \"version\": \"17.7.0\","},{"lineNumber":8401,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8402,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":8403,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8404,"author":{"gitId":"-"},"content":" \"@hapi/hoek\": \"^9.0.0\","},{"lineNumber":8405,"author":{"gitId":"-"},"content":" \"@hapi/topo\": \"^5.0.0\","},{"lineNumber":8406,"author":{"gitId":"-"},"content":" \"@sideway/address\": \"^4.1.3\","},{"lineNumber":8407,"author":{"gitId":"-"},"content":" \"@sideway/formula\": \"^3.0.0\","},{"lineNumber":8408,"author":{"gitId":"-"},"content":" \"@sideway/pinpoint\": \"^2.0.0\""},{"lineNumber":8409,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8410,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8411,"author":{"gitId":"-"},"content":" \"node_modules/js-message\": {"},{"lineNumber":8412,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\","},{"lineNumber":8413,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8414,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8415,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8416,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.6.0\""},{"lineNumber":8417,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8418,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8419,"author":{"gitId":"-"},"content":" \"node_modules/js-stringify\": {"},{"lineNumber":8420,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":8421,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8422,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8423,"author":{"gitId":"-"},"content":" \"node_modules/js-tokens\": {"},{"lineNumber":8424,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":8425,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8426,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8427,"author":{"gitId":"-"},"content":" \"node_modules/js-yaml\": {"},{"lineNumber":8428,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":8429,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8430,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8431,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8432,"author":{"gitId":"-"},"content":" \"argparse\": \"^2.0.1\""},{"lineNumber":8433,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8434,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8435,"author":{"gitId":"-"},"content":" \"js-yaml\": \"bin/js-yaml.js\""},{"lineNumber":8436,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8437,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8438,"author":{"gitId":"-"},"content":" \"node_modules/jsesc\": {"},{"lineNumber":8439,"author":{"gitId":"-"},"content":" \"version\": \"2.5.2\","},{"lineNumber":8440,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8441,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8442,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8443,"author":{"gitId":"-"},"content":" \"jsesc\": \"bin/jsesc\""},{"lineNumber":8444,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8445,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8446,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8447,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8448,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8449,"author":{"gitId":"sopa301"},"content":" \"node_modules/json-buffer\": {"},{"lineNumber":8450,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.1\","},{"lineNumber":8451,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz\","},{"lineNumber":8452,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ\u003d\u003d\","},{"lineNumber":8453,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":8454,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8455,"author":{"gitId":"-"},"content":" \"node_modules/json-parse-better-errors\": {"},{"lineNumber":8456,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":8457,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8458,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8459,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8460,"author":{"gitId":"-"},"content":" \"node_modules/json-parse-even-better-errors\": {"},{"lineNumber":8461,"author":{"gitId":"-"},"content":" \"version\": \"2.3.1\","},{"lineNumber":8462,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8463,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8464,"author":{"gitId":"-"},"content":" \"node_modules/json-schema-traverse\": {"},{"lineNumber":8465,"author":{"gitId":"-"},"content":" \"version\": \"0.4.1\","},{"lineNumber":8466,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8467,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8468,"author":{"gitId":"-"},"content":" \"node_modules/json-stable-stringify-without-jsonify\": {"},{"lineNumber":8469,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":8470,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8471,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8472,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8473,"author":{"gitId":"-"},"content":" \"node_modules/json5\": {"},{"lineNumber":8474,"author":{"gitId":"-"},"content":" \"version\": \"2.2.3\","},{"lineNumber":8475,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8476,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8477,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8478,"author":{"gitId":"-"},"content":" \"json5\": \"lib/cli.js\""},{"lineNumber":8479,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8480,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8481,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":8482,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8483,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8484,"author":{"gitId":"-"},"content":" \"node_modules/jsonfile\": {"},{"lineNumber":8485,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\","},{"lineNumber":8486,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8487,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8488,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8489,"author":{"gitId":"-"},"content":" \"universalify\": \"^2.0.0\""},{"lineNumber":8490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8491,"author":{"gitId":"-"},"content":" \"optionalDependencies\": {"},{"lineNumber":8492,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.1.6\""},{"lineNumber":8493,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8494,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8495,"author":{"gitId":"-"},"content":" \"node_modules/jstransformer\": {"},{"lineNumber":8496,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":8497,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8498,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8499,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8500,"author":{"gitId":"-"},"content":" \"is-promise\": \"^2.0.0\","},{"lineNumber":8501,"author":{"gitId":"-"},"content":" \"promise\": \"^7.0.1\""},{"lineNumber":8502,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8503,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8504,"author":{"gitId":"-"},"content":" \"node_modules/jszip\": {"},{"lineNumber":8505,"author":{"gitId":"-"},"content":" \"version\": \"3.10.1\","},{"lineNumber":8506,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR GPL-3.0-or-later)\","},{"lineNumber":8507,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8508,"author":{"gitId":"-"},"content":" \"lie\": \"~3.3.0\","},{"lineNumber":8509,"author":{"gitId":"-"},"content":" \"pako\": \"~1.0.2\","},{"lineNumber":8510,"author":{"gitId":"-"},"content":" \"readable-stream\": \"~2.3.6\","},{"lineNumber":8511,"author":{"gitId":"-"},"content":" \"setimmediate\": \"^1.0.5\""},{"lineNumber":8512,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8513,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8514,"author":{"gitId":"sopa301"},"content":" \"node_modules/keyv\": {"},{"lineNumber":8515,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.5.4\","},{"lineNumber":8516,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz\","},{"lineNumber":8517,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw\u003d\u003d\","},{"lineNumber":8518,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8519,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":8520,"author":{"gitId":"sopa301"},"content":" \"json-buffer\": \"3.0.1\""},{"lineNumber":8521,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":8522,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8523,"author":{"gitId":"-"},"content":" \"node_modules/kind-of\": {"},{"lineNumber":8524,"author":{"gitId":"-"},"content":" \"version\": \"6.0.3\","},{"lineNumber":8525,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8526,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8527,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8528,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":8529,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8530,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8531,"author":{"gitId":"-"},"content":" \"node_modules/klona\": {"},{"lineNumber":8532,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\","},{"lineNumber":8533,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8534,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8535,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8536,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":8537,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8538,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8539,"author":{"gitId":"-"},"content":" \"node_modules/known-css-properties\": {"},{"lineNumber":8540,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.30.0\","},{"lineNumber":8541,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.30.0.tgz\","},{"lineNumber":8542,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ\u003d\u003d\","},{"lineNumber":8543,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":8544,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8545,"author":{"gitId":"-"},"content":" \"node_modules/launch-editor\": {"},{"lineNumber":8546,"author":{"gitId":"-"},"content":" \"version\": \"2.6.0\","},{"lineNumber":8547,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8548,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8549,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8550,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\","},{"lineNumber":8551,"author":{"gitId":"-"},"content":" \"shell-quote\": \"^1.7.3\""},{"lineNumber":8552,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8553,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8554,"author":{"gitId":"-"},"content":" \"node_modules/launch-editor-middleware\": {"},{"lineNumber":8555,"author":{"gitId":"-"},"content":" \"version\": \"2.6.0\","},{"lineNumber":8556,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8557,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8558,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8559,"author":{"gitId":"-"},"content":" \"launch-editor\": \"^2.6.0\""},{"lineNumber":8560,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8561,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8562,"author":{"gitId":"-"},"content":" \"node_modules/levn\": {"},{"lineNumber":8563,"author":{"gitId":"-"},"content":" \"version\": \"0.4.1\","},{"lineNumber":8564,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8565,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8566,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8567,"author":{"gitId":"-"},"content":" \"prelude-ls\": \"^1.2.1\","},{"lineNumber":8568,"author":{"gitId":"-"},"content":" \"type-check\": \"~0.4.0\""},{"lineNumber":8569,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8570,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8571,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":8572,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8573,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8574,"author":{"gitId":"-"},"content":" \"node_modules/lie\": {"},{"lineNumber":8575,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\","},{"lineNumber":8576,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8577,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8578,"author":{"gitId":"-"},"content":" \"immediate\": \"~3.0.5\""},{"lineNumber":8579,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8580,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8581,"author":{"gitId":"-"},"content":" \"node_modules/lilconfig\": {"},{"lineNumber":8582,"author":{"gitId":"-"},"content":" \"version\": \"2.0.6\","},{"lineNumber":8583,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8584,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8585,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8586,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":8587,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8588,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8589,"author":{"gitId":"-"},"content":" \"node_modules/lines-and-columns\": {"},{"lineNumber":8590,"author":{"gitId":"-"},"content":" \"version\": \"1.2.4\","},{"lineNumber":8591,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8592,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8593,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8594,"author":{"gitId":"sopa301"},"content":" \"node_modules/linkify-it\": {"},{"lineNumber":8595,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.0\","},{"lineNumber":8596,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8597,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":8598,"author":{"gitId":"sopa301"},"content":" \"uc.micro\": \"^2.0.0\""},{"lineNumber":8599,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":8600,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8601,"author":{"gitId":"-"},"content":" \"node_modules/loader-runner\": {"},{"lineNumber":8602,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":8603,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8604,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8605,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.11.5\""},{"lineNumber":8606,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8607,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8608,"author":{"gitId":"-"},"content":" \"node_modules/loader-utils\": {"},{"lineNumber":8609,"author":{"gitId":"-"},"content":" \"version\": \"1.4.2\","},{"lineNumber":8610,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8611,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8612,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8613,"author":{"gitId":"-"},"content":" \"big.js\": \"^5.2.2\","},{"lineNumber":8614,"author":{"gitId":"-"},"content":" \"emojis-list\": \"^3.0.0\","},{"lineNumber":8615,"author":{"gitId":"-"},"content":" \"json5\": \"^1.0.1\""},{"lineNumber":8616,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8617,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8618,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0.0\""},{"lineNumber":8619,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8620,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8621,"author":{"gitId":"-"},"content":" \"node_modules/loader-utils/node_modules/json5\": {"},{"lineNumber":8622,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":8623,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8624,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8625,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8626,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.0\""},{"lineNumber":8627,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8628,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8629,"author":{"gitId":"-"},"content":" \"json5\": \"lib/cli.js\""},{"lineNumber":8630,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8631,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8632,"author":{"gitId":"-"},"content":" \"node_modules/locate-path\": {"},{"lineNumber":8633,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":8634,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8635,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8636,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8637,"author":{"gitId":"-"},"content":" \"p-locate\": \"^5.0.0\""},{"lineNumber":8638,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8639,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8640,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":8641,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8642,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8643,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":8644,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8645,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8646,"author":{"gitId":"-"},"content":" \"node_modules/lodash\": {"},{"lineNumber":8647,"author":{"gitId":"-"},"content":" \"version\": \"4.17.21\","},{"lineNumber":8648,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8649,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8650,"author":{"gitId":"-"},"content":" \"node_modules/lodash.debounce\": {"},{"lineNumber":8651,"author":{"gitId":"-"},"content":" \"version\": \"4.0.8\","},{"lineNumber":8652,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8653,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8654,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8655,"author":{"gitId":"-"},"content":" \"node_modules/lodash.defaultsdeep\": {"},{"lineNumber":8656,"author":{"gitId":"-"},"content":" \"version\": \"4.6.1\","},{"lineNumber":8657,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8658,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8659,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8660,"author":{"gitId":"-"},"content":" \"node_modules/lodash.kebabcase\": {"},{"lineNumber":8661,"author":{"gitId":"-"},"content":" \"version\": \"4.1.1\","},{"lineNumber":8662,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8663,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8664,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8665,"author":{"gitId":"-"},"content":" \"node_modules/lodash.mapvalues\": {"},{"lineNumber":8666,"author":{"gitId":"-"},"content":" \"version\": \"4.6.0\","},{"lineNumber":8667,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8668,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8669,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8670,"author":{"gitId":"-"},"content":" \"node_modules/lodash.memoize\": {"},{"lineNumber":8671,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":8672,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8673,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8674,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8675,"author":{"gitId":"-"},"content":" \"node_modules/lodash.merge\": {"},{"lineNumber":8676,"author":{"gitId":"-"},"content":" \"version\": \"4.6.2\","},{"lineNumber":8677,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8678,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8679,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8680,"author":{"gitId":"-"},"content":" \"node_modules/lodash.truncate\": {"},{"lineNumber":8681,"author":{"gitId":"-"},"content":" \"version\": \"4.4.2\","},{"lineNumber":8682,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8683,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8684,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8685,"author":{"gitId":"-"},"content":" \"node_modules/lodash.uniq\": {"},{"lineNumber":8686,"author":{"gitId":"-"},"content":" \"version\": \"4.5.0\","},{"lineNumber":8687,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8688,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8689,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8690,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols\": {"},{"lineNumber":8691,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":8692,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8693,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8694,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8695,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":8696,"author":{"gitId":"-"},"content":" \"is-unicode-supported\": \"^0.1.0\""},{"lineNumber":8697,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8698,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8699,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":8700,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8701,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8702,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":8703,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8704,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8705,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/ansi-styles\": {"},{"lineNumber":8706,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":8707,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8708,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8709,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8710,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":8711,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8712,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8713,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8714,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8715,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8716,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":8717,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8718,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8719,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/chalk\": {"},{"lineNumber":8720,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":8721,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8722,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8723,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8724,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":8725,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":8726,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8727,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8728,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":8729,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8730,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8731,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":8732,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8733,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8734,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/color-convert\": {"},{"lineNumber":8735,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":8736,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8737,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8738,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8739,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":8740,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8741,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8742,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":8743,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8744,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8745,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/color-name\": {"},{"lineNumber":8746,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":8747,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8748,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8749,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8750,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/has-flag\": {"},{"lineNumber":8751,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":8752,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8753,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8754,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8755,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8756,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8757,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8758,"author":{"gitId":"-"},"content":" \"node_modules/log-symbols/node_modules/supports-color\": {"},{"lineNumber":8759,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":8760,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8761,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8762,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8763,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":8764,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8765,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8766,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8767,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8768,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8769,"author":{"gitId":"-"},"content":" \"node_modules/log-update\": {"},{"lineNumber":8770,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":8771,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8772,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8773,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8774,"author":{"gitId":"-"},"content":" \"ansi-escapes\": \"^3.0.0\","},{"lineNumber":8775,"author":{"gitId":"-"},"content":" \"cli-cursor\": \"^2.0.0\","},{"lineNumber":8776,"author":{"gitId":"-"},"content":" \"wrap-ansi\": \"^3.0.1\""},{"lineNumber":8777,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8778,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8779,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8780,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8781,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8782,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/ansi-regex\": {"},{"lineNumber":8783,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":8784,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8785,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8786,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8787,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8788,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8789,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8790,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/cli-cursor\": {"},{"lineNumber":8791,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":8792,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8793,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8794,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8795,"author":{"gitId":"-"},"content":" \"restore-cursor\": \"^2.0.0\""},{"lineNumber":8796,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8797,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8798,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8799,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8800,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8801,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/is-fullwidth-code-point\": {"},{"lineNumber":8802,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":8803,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8804,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8805,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8806,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8807,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8808,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8809,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/mimic-fn\": {"},{"lineNumber":8810,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":8811,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8812,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8813,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8814,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8815,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8816,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8817,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/onetime\": {"},{"lineNumber":8818,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":8819,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8820,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8821,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8822,"author":{"gitId":"-"},"content":" \"mimic-fn\": \"^1.0.0\""},{"lineNumber":8823,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8824,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8825,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8826,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8827,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8828,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/restore-cursor\": {"},{"lineNumber":8829,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":8830,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8831,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8832,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8833,"author":{"gitId":"-"},"content":" \"onetime\": \"^2.0.0\","},{"lineNumber":8834,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.2\""},{"lineNumber":8835,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8836,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8837,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8838,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8839,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8840,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/string-width\": {"},{"lineNumber":8841,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\","},{"lineNumber":8842,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8843,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8844,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8845,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^2.0.0\","},{"lineNumber":8846,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^4.0.0\""},{"lineNumber":8847,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8848,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8849,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8850,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8851,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8852,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/strip-ansi\": {"},{"lineNumber":8853,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":8854,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8855,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8856,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8857,"author":{"gitId":"-"},"content":" \"ansi-regex\": \"^3.0.0\""},{"lineNumber":8858,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8859,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8860,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8861,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8862,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8863,"author":{"gitId":"-"},"content":" \"node_modules/log-update/node_modules/wrap-ansi\": {"},{"lineNumber":8864,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":8865,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8866,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8867,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8868,"author":{"gitId":"-"},"content":" \"string-width\": \"^2.1.1\","},{"lineNumber":8869,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^4.0.0\""},{"lineNumber":8870,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8871,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8872,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":8873,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8874,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8875,"author":{"gitId":"-"},"content":" \"node_modules/loose-envify\": {"},{"lineNumber":8876,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":8877,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8878,"author":{"gitId":"-"},"content":" \"peer\": true,"},{"lineNumber":8879,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8880,"author":{"gitId":"-"},"content":" \"js-tokens\": \"^3.0.0 || ^4.0.0\""},{"lineNumber":8881,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8882,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":8883,"author":{"gitId":"-"},"content":" \"loose-envify\": \"cli.js\""},{"lineNumber":8884,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8885,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8886,"author":{"gitId":"-"},"content":" \"node_modules/lower-case\": {"},{"lineNumber":8887,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\","},{"lineNumber":8888,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8889,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8890,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8891,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\""},{"lineNumber":8892,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8893,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8894,"author":{"gitId":"-"},"content":" \"node_modules/lru-cache\": {"},{"lineNumber":8895,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":8896,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8897,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":8898,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8899,"author":{"gitId":"-"},"content":" \"yallist\": \"^3.0.2\""},{"lineNumber":8900,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8901,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8902,"author":{"gitId":"-"},"content":" \"node_modules/magic-string\": {"},{"lineNumber":8903,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.30.8\","},{"lineNumber":8904,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8905,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8906,"author":{"gitId":"sopa301"},"content":" \"@jridgewell/sourcemap-codec\": \"^1.4.15\""},{"lineNumber":8907,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8908,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":8909,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\""},{"lineNumber":8910,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8911,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8912,"author":{"gitId":"sopa301"},"content":" \"node_modules/magic-string/node_modules/@jridgewell/sourcemap-codec\": {"},{"lineNumber":8913,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.4.15\","},{"lineNumber":8914,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8915,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":8916,"author":{"gitId":"-"},"content":" \"node_modules/make-dir\": {"},{"lineNumber":8917,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":8918,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8919,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8920,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8921,"author":{"gitId":"-"},"content":" \"semver\": \"^6.0.0\""},{"lineNumber":8922,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8923,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8924,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":8925,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8926,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8927,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":8928,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8929,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8930,"author":{"gitId":"sopa301"},"content":" \"node_modules/markdown-it\": {"},{"lineNumber":8931,"author":{"gitId":"sopa301"},"content":" \"version\": \"14.1.0\","},{"lineNumber":8932,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8933,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8934,"author":{"gitId":"sopa301"},"content":" \"argparse\": \"^2.0.1\","},{"lineNumber":8935,"author":{"gitId":"sopa301"},"content":" \"entities\": \"^4.4.0\","},{"lineNumber":8936,"author":{"gitId":"sopa301"},"content":" \"linkify-it\": \"^5.0.0\","},{"lineNumber":8937,"author":{"gitId":"sopa301"},"content":" \"mdurl\": \"^2.0.0\","},{"lineNumber":8938,"author":{"gitId":"sopa301"},"content":" \"punycode.js\": \"^2.3.1\","},{"lineNumber":8939,"author":{"gitId":"sopa301"},"content":" \"uc.micro\": \"^2.1.0\""},{"lineNumber":8940,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8941,"author":{"gitId":"sopa301"},"content":" \"bin\": {"},{"lineNumber":8942,"author":{"gitId":"sopa301"},"content":" \"markdown-it\": \"bin/markdown-it.mjs\""},{"lineNumber":8943,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8944,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8945,"author":{"gitId":"-"},"content":" \"node_modules/mathml-tag-names\": {"},{"lineNumber":8946,"author":{"gitId":"-"},"content":" \"version\": \"2.1.3\","},{"lineNumber":8947,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8948,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8949,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8950,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":8951,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/wooorm\""},{"lineNumber":8952,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8953,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8954,"author":{"gitId":"-"},"content":" \"node_modules/mdn-data\": {"},{"lineNumber":8955,"author":{"gitId":"-"},"content":" \"version\": \"2.0.14\","},{"lineNumber":8956,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8957,"author":{"gitId":"sopa301"},"content":" \"license\": \"CC0-1.0\""},{"lineNumber":8958,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8959,"author":{"gitId":"sopa301"},"content":" \"node_modules/mdurl\": {"},{"lineNumber":8960,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.0\","},{"lineNumber":8961,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8962,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8963,"author":{"gitId":"-"},"content":" \"node_modules/media-typer\": {"},{"lineNumber":8964,"author":{"gitId":"-"},"content":" \"version\": \"0.3.0\","},{"lineNumber":8965,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8966,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":8967,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8968,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":8969,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8970,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8971,"author":{"gitId":"-"},"content":" \"node_modules/memfs\": {"},{"lineNumber":8972,"author":{"gitId":"-"},"content":" \"version\": \"3.4.13\","},{"lineNumber":8973,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8974,"author":{"gitId":"sopa301"},"content":" \"license\": \"Unlicense\","},{"lineNumber":8975,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":8976,"author":{"gitId":"-"},"content":" \"fs-monkey\": \"^1.0.3\""},{"lineNumber":8977,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8978,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8979,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4.0.0\""},{"lineNumber":8980,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8981,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8982,"author":{"gitId":"-"},"content":" \"node_modules/meow\": {"},{"lineNumber":8983,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.2.0\","},{"lineNumber":8984,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/meow/-/meow-13.2.0.tgz\","},{"lineNumber":8985,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA\u003d\u003d\","},{"lineNumber":8986,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":8987,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":8988,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18\""},{"lineNumber":8989,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8990,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":8991,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":8992,"author":{"gitId":"-"},"content":" }"},{"lineNumber":8993,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8994,"author":{"gitId":"-"},"content":" \"node_modules/merge-descriptors\": {"},{"lineNumber":8995,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":8996,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":8997,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":8998,"author":{"gitId":"-"},"content":" },"},{"lineNumber":8999,"author":{"gitId":"-"},"content":" \"node_modules/merge-source-map\": {"},{"lineNumber":9000,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":9001,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9002,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9003,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9004,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.1\""},{"lineNumber":9005,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9006,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9007,"author":{"gitId":"-"},"content":" \"node_modules/merge-stream\": {"},{"lineNumber":9008,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":9009,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9010,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9011,"author":{"gitId":"-"},"content":" \"node_modules/merge2\": {"},{"lineNumber":9012,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\","},{"lineNumber":9013,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9014,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9015,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9016,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":9017,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9018,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9019,"author":{"gitId":"-"},"content":" \"node_modules/methods\": {"},{"lineNumber":9020,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\","},{"lineNumber":9021,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9022,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9023,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9024,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":9025,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9026,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9027,"author":{"gitId":"-"},"content":" \"node_modules/micromatch\": {"},{"lineNumber":9028,"author":{"gitId":"-"},"content":" \"version\": \"4.0.5\","},{"lineNumber":9029,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9030,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9031,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9032,"author":{"gitId":"-"},"content":" \"braces\": \"^3.0.2\","},{"lineNumber":9033,"author":{"gitId":"-"},"content":" \"picomatch\": \"^2.3.1\""},{"lineNumber":9034,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9035,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9036,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.6\""},{"lineNumber":9037,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9038,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9039,"author":{"gitId":"-"},"content":" \"node_modules/mime\": {"},{"lineNumber":9040,"author":{"gitId":"-"},"content":" \"version\": \"1.6.0\","},{"lineNumber":9041,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9042,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9043,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":9044,"author":{"gitId":"-"},"content":" \"mime\": \"cli.js\""},{"lineNumber":9045,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9046,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9047,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":9048,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9049,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9050,"author":{"gitId":"-"},"content":" \"node_modules/mime-db\": {"},{"lineNumber":9051,"author":{"gitId":"-"},"content":" \"version\": \"1.52.0\","},{"lineNumber":9052,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9053,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9054,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":9055,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9056,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9057,"author":{"gitId":"-"},"content":" \"node_modules/mime-types\": {"},{"lineNumber":9058,"author":{"gitId":"-"},"content":" \"version\": \"2.1.35\","},{"lineNumber":9059,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9060,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9061,"author":{"gitId":"-"},"content":" \"mime-db\": \"1.52.0\""},{"lineNumber":9062,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9063,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9064,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":9065,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9066,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9067,"author":{"gitId":"-"},"content":" \"node_modules/mimic-fn\": {"},{"lineNumber":9068,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":9069,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9070,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9071,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9072,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":9073,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9074,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9075,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin\": {"},{"lineNumber":9076,"author":{"gitId":"-"},"content":" \"version\": \"2.7.2\","},{"lineNumber":9077,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9078,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9079,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9080,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\""},{"lineNumber":9081,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9082,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9083,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":9084,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9085,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9086,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":9087,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":9088,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9089,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":9090,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":9091,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9092,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9093,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin/node_modules/ajv\": {"},{"lineNumber":9094,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":9095,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9096,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9097,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9098,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":9099,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":9100,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":9101,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":9102,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9103,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9104,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":9105,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":9106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9107,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9108,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin/node_modules/ajv-keywords\": {"},{"lineNumber":9109,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":9110,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9111,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9112,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9113,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\""},{"lineNumber":9114,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9115,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":9116,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\""},{"lineNumber":9117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9118,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9119,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse\": {"},{"lineNumber":9120,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":9121,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9122,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9123,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9124,"author":{"gitId":"-"},"content":" \"node_modules/mini-css-extract-plugin/node_modules/schema-utils\": {"},{"lineNumber":9125,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":9126,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9127,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9128,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9129,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\","},{"lineNumber":9130,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\","},{"lineNumber":9131,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\","},{"lineNumber":9132,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\""},{"lineNumber":9133,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9134,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9135,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":9136,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9137,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9138,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":9139,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":9140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9141,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9142,"author":{"gitId":"-"},"content":" \"node_modules/minimalistic-assert\": {"},{"lineNumber":9143,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":9144,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9145,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":9146,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9147,"author":{"gitId":"-"},"content":" \"node_modules/minimatch\": {"},{"lineNumber":9148,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.0.4\","},{"lineNumber":9149,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz\","},{"lineNumber":9150,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw\u003d\u003d\","},{"lineNumber":9151,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9152,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^2.0.1\""},{"lineNumber":9153,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9154,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9155,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d16 || 14 \u003e\u003d14.17\""},{"lineNumber":9156,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":9157,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":9158,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\""},{"lineNumber":9159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9160,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9161,"author":{"gitId":"-"},"content":" \"node_modules/minimist\": {"},{"lineNumber":9162,"author":{"gitId":"-"},"content":" \"version\": \"1.2.7\","},{"lineNumber":9163,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9164,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9165,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9166,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":9167,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9168,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9169,"author":{"gitId":"-"},"content":" \"node_modules/minipass\": {"},{"lineNumber":9170,"author":{"gitId":"-"},"content":" \"version\": \"3.3.6\","},{"lineNumber":9171,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9172,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":9173,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9174,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":9175,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9176,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9177,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9179,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9180,"author":{"gitId":"-"},"content":" \"node_modules/minipass/node_modules/yallist\": {"},{"lineNumber":9181,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":9182,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9183,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":9184,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9185,"author":{"gitId":"-"},"content":" \"node_modules/module-alias\": {"},{"lineNumber":9186,"author":{"gitId":"-"},"content":" \"version\": \"2.2.2\","},{"lineNumber":9187,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9188,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9189,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9190,"author":{"gitId":"-"},"content":" \"node_modules/mrmime\": {"},{"lineNumber":9191,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":9192,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9193,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9194,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9195,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9197,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9198,"author":{"gitId":"-"},"content":" \"node_modules/ms\": {"},{"lineNumber":9199,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\","},{"lineNumber":9200,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9201,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9202,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9203,"author":{"gitId":"-"},"content":" \"node_modules/muicss\": {"},{"lineNumber":9204,"author":{"gitId":"-"},"content":" \"version\": \"0.10.3\","},{"lineNumber":9205,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9206,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9207,"author":{"gitId":"-"},"content":" \"react-addons-shallow-compare\": \"^15.6.2\""},{"lineNumber":9208,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9209,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":9210,"author":{"gitId":"-"},"content":" \"react\": \"^0.14.0 || ^15.0.0 || ^16.0.0\""},{"lineNumber":9211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9212,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9213,"author":{"gitId":"-"},"content":" \"node_modules/multicast-dns\": {"},{"lineNumber":9214,"author":{"gitId":"-"},"content":" \"version\": \"7.2.5\","},{"lineNumber":9215,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9216,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9217,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9218,"author":{"gitId":"-"},"content":" \"dns-packet\": \"^5.2.2\","},{"lineNumber":9219,"author":{"gitId":"-"},"content":" \"thunky\": \"^1.0.2\""},{"lineNumber":9220,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9221,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":9222,"author":{"gitId":"-"},"content":" \"multicast-dns\": \"cli.js\""},{"lineNumber":9223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9224,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9225,"author":{"gitId":"-"},"content":" \"node_modules/mz\": {"},{"lineNumber":9226,"author":{"gitId":"-"},"content":" \"version\": \"2.7.0\","},{"lineNumber":9227,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9228,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9229,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9230,"author":{"gitId":"-"},"content":" \"any-promise\": \"^1.0.0\","},{"lineNumber":9231,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.0.1\","},{"lineNumber":9232,"author":{"gitId":"-"},"content":" \"thenify-all\": \"^1.0.0\""},{"lineNumber":9233,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9234,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9235,"author":{"gitId":"-"},"content":" \"node_modules/nanoid\": {"},{"lineNumber":9236,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.3.7\","},{"lineNumber":9237,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":9238,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":9239,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":9240,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ai\""},{"lineNumber":9241,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":9242,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":9243,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9244,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":9245,"author":{"gitId":"-"},"content":" \"nanoid\": \"bin/nanoid.cjs\""},{"lineNumber":9246,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9247,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9248,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || ^13.7 || ^14 || \u003e\u003d15.0.1\""},{"lineNumber":9249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9250,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9251,"author":{"gitId":"-"},"content":" \"node_modules/natural-compare\": {"},{"lineNumber":9252,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":9253,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9254,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9255,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9256,"author":{"gitId":"-"},"content":" \"node_modules/natural-compare-lite\": {"},{"lineNumber":9257,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":9258,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9259,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9260,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9261,"author":{"gitId":"-"},"content":" \"node_modules/negotiator\": {"},{"lineNumber":9262,"author":{"gitId":"-"},"content":" \"version\": \"0.6.3\","},{"lineNumber":9263,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9264,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9265,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9266,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":9267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9268,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9269,"author":{"gitId":"-"},"content":" \"node_modules/neo-async\": {"},{"lineNumber":9270,"author":{"gitId":"-"},"content":" \"version\": \"2.6.2\","},{"lineNumber":9271,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9272,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9273,"author":{"gitId":"-"},"content":" \"node_modules/nice-try\": {"},{"lineNumber":9274,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\","},{"lineNumber":9275,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9276,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9277,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9278,"author":{"gitId":"-"},"content":" \"node_modules/no-case\": {"},{"lineNumber":9279,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\","},{"lineNumber":9280,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9281,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9282,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9283,"author":{"gitId":"-"},"content":" \"lower-case\": \"^2.0.2\","},{"lineNumber":9284,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\""},{"lineNumber":9285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9286,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9287,"author":{"gitId":"-"},"content":" \"node_modules/node-fetch\": {"},{"lineNumber":9288,"author":{"gitId":"-"},"content":" \"version\": \"2.6.8\","},{"lineNumber":9289,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9290,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9291,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9292,"author":{"gitId":"-"},"content":" \"whatwg-url\": \"^5.0.0\""},{"lineNumber":9293,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9294,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9295,"author":{"gitId":"-"},"content":" \"node\": \"4.x || \u003e\u003d6.0.0\""},{"lineNumber":9296,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9297,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":9298,"author":{"gitId":"-"},"content":" \"encoding\": \"^0.1.0\""},{"lineNumber":9299,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9300,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":9301,"author":{"gitId":"-"},"content":" \"encoding\": {"},{"lineNumber":9302,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":9303,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9305,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9306,"author":{"gitId":"-"},"content":" \"node_modules/node-forge\": {"},{"lineNumber":9307,"author":{"gitId":"-"},"content":" \"version\": \"1.3.1\","},{"lineNumber":9308,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9309,"author":{"gitId":"sopa301"},"content":" \"license\": \"(BSD-3-Clause OR GPL-2.0)\","},{"lineNumber":9310,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9311,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6.13.0\""},{"lineNumber":9312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9313,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9314,"author":{"gitId":"sopa301"},"content":" \"node_modules/node-releases\": {"},{"lineNumber":9315,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.8\","},{"lineNumber":9316,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9317,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9318,"author":{"gitId":"sopa301"},"content":" \"node_modules/normalize-path\": {"},{"lineNumber":9319,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\","},{"lineNumber":9320,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9321,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9322,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9323,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":9324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9325,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9326,"author":{"gitId":"sopa301"},"content":" \"node_modules/normalize-range\": {"},{"lineNumber":9327,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.1.2\","},{"lineNumber":9328,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9329,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9330,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9331,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":9332,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9333,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9334,"author":{"gitId":"sopa301"},"content":" \"node_modules/normalize-url\": {"},{"lineNumber":9335,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.1.0\","},{"lineNumber":9336,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9337,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9338,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9339,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9340,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9341,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":9342,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9343,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9344,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9345,"author":{"gitId":"sopa301"},"content":" \"node_modules/normalize.css\": {"},{"lineNumber":9346,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.1\","},{"lineNumber":9347,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9348,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9349,"author":{"gitId":"sopa301"},"content":" \"node_modules/npm-run-path\": {"},{"lineNumber":9350,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\","},{"lineNumber":9351,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9352,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9353,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9354,"author":{"gitId":"sopa301"},"content":" \"path-key\": \"^2.0.0\""},{"lineNumber":9355,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9356,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9357,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":9358,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9359,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9360,"author":{"gitId":"sopa301"},"content":" \"node_modules/npm-run-path/node_modules/path-key\": {"},{"lineNumber":9361,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.1\","},{"lineNumber":9362,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9363,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9364,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":9365,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":9366,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":9367,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":9368,"author":{"gitId":"sopa301"},"content":" \"node_modules/nth-check\": {"},{"lineNumber":9369,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.1\","},{"lineNumber":9370,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":9371,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9372,"author":{"gitId":"sopa301"},"content":" \"boolbase\": \"^1.0.0\""},{"lineNumber":9373,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9374,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":9375,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/fb55/nth-check?sponsor\u003d1\""},{"lineNumber":9376,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":9377,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":9378,"author":{"gitId":"sopa301"},"content":" \"node_modules/object-assign\": {"},{"lineNumber":9379,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.1\","},{"lineNumber":9380,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9381,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9382,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":9383,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9384,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9385,"author":{"gitId":"sopa301"},"content":" \"node_modules/object-inspect\": {"},{"lineNumber":9386,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.13.1\","},{"lineNumber":9387,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9388,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9389,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":9390,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":9391,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":9392,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":9393,"author":{"gitId":"sopa301"},"content":" \"node_modules/object-keys\": {"},{"lineNumber":9394,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.1\","},{"lineNumber":9395,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9396,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9397,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9398,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":9399,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9400,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9401,"author":{"gitId":"sopa301"},"content":" \"node_modules/object.assign\": {"},{"lineNumber":9402,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.5\","},{"lineNumber":9403,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9404,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9405,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9406,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\","},{"lineNumber":9407,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\","},{"lineNumber":9408,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\","},{"lineNumber":9409,"author":{"gitId":"sopa301"},"content":" \"object-keys\": \"^1.1.1\""},{"lineNumber":9410,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9411,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9412,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":9413,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9414,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9415,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":9416,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9417,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9418,"author":{"gitId":"sopa301"},"content":" \"node_modules/object.entries\": {"},{"lineNumber":9419,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.6\","},{"lineNumber":9420,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9421,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9422,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9423,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":9424,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.1.4\","},{"lineNumber":9425,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.20.4\""},{"lineNumber":9426,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9427,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9428,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":9429,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9430,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9431,"author":{"gitId":"sopa301"},"content":" \"node_modules/object.fromentries\": {"},{"lineNumber":9432,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.7\","},{"lineNumber":9433,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9434,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9435,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9436,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":9437,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":9438,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\""},{"lineNumber":9439,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9440,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9441,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":9442,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9443,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9444,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":9445,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9446,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9447,"author":{"gitId":"sopa301"},"content":" \"node_modules/object.groupby\": {"},{"lineNumber":9448,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":9449,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9450,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9451,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9452,"author":{"gitId":"sopa301"},"content":" \"array.prototype.filter\": \"^1.0.3\","},{"lineNumber":9453,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.5\","},{"lineNumber":9454,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\","},{"lineNumber":9455,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.3\","},{"lineNumber":9456,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.0.0\""},{"lineNumber":9457,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9458,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9459,"author":{"gitId":"sopa301"},"content":" \"node_modules/object.values\": {"},{"lineNumber":9460,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.7\","},{"lineNumber":9461,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9462,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9463,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9464,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":9465,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":9466,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\""},{"lineNumber":9467,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9468,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9469,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":9470,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9471,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9472,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":9473,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9474,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9475,"author":{"gitId":"sopa301"},"content":" \"node_modules/obuf\": {"},{"lineNumber":9476,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.2\","},{"lineNumber":9477,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9478,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9479,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9480,"author":{"gitId":"sopa301"},"content":" \"node_modules/on-finished\": {"},{"lineNumber":9481,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.4.1\","},{"lineNumber":9482,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9483,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9484,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9485,"author":{"gitId":"sopa301"},"content":" \"ee-first\": \"1.1.1\""},{"lineNumber":9486,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9487,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9488,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":9489,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9491,"author":{"gitId":"-"},"content":" \"node_modules/on-headers\": {"},{"lineNumber":9492,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":9493,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9494,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9495,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9496,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":9497,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9498,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9499,"author":{"gitId":"-"},"content":" \"node_modules/once\": {"},{"lineNumber":9500,"author":{"gitId":"-"},"content":" \"version\": \"1.4.0\","},{"lineNumber":9501,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":9502,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9503,"author":{"gitId":"-"},"content":" \"wrappy\": \"1\""},{"lineNumber":9504,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9505,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9506,"author":{"gitId":"-"},"content":" \"node_modules/onetime\": {"},{"lineNumber":9507,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\","},{"lineNumber":9508,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9509,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9510,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9511,"author":{"gitId":"-"},"content":" \"mimic-fn\": \"^2.1.0\""},{"lineNumber":9512,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9513,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9514,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":9515,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9516,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9517,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9518,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9519,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9520,"author":{"gitId":"-"},"content":" \"node_modules/open\": {"},{"lineNumber":9521,"author":{"gitId":"-"},"content":" \"version\": \"8.4.0\","},{"lineNumber":9522,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9523,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9524,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9525,"author":{"gitId":"-"},"content":" \"define-lazy-prop\": \"^2.0.0\","},{"lineNumber":9526,"author":{"gitId":"-"},"content":" \"is-docker\": \"^2.1.1\","},{"lineNumber":9527,"author":{"gitId":"-"},"content":" \"is-wsl\": \"^2.2.0\""},{"lineNumber":9528,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9529,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9530,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12\""},{"lineNumber":9531,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9532,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9533,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9534,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9535,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9536,"author":{"gitId":"-"},"content":" \"node_modules/opener\": {"},{"lineNumber":9537,"author":{"gitId":"-"},"content":" \"version\": \"1.5.2\","},{"lineNumber":9538,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9539,"author":{"gitId":"sopa301"},"content":" \"license\": \"(WTFPL OR MIT)\","},{"lineNumber":9540,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":9541,"author":{"gitId":"-"},"content":" \"opener\": \"bin/opener-bin.js\""},{"lineNumber":9542,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9543,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9544,"author":{"gitId":"-"},"content":" \"node_modules/optionator\": {"},{"lineNumber":9545,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.9.3\","},{"lineNumber":9546,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9547,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9548,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9549,"author":{"gitId":"sopa301"},"content":" \"@aashutoshrathi/word-wrap\": \"^1.2.3\","},{"lineNumber":9550,"author":{"gitId":"-"},"content":" \"deep-is\": \"^0.1.3\","},{"lineNumber":9551,"author":{"gitId":"-"},"content":" \"fast-levenshtein\": \"^2.0.6\","},{"lineNumber":9552,"author":{"gitId":"-"},"content":" \"levn\": \"^0.4.1\","},{"lineNumber":9553,"author":{"gitId":"-"},"content":" \"prelude-ls\": \"^1.2.1\","},{"lineNumber":9554,"author":{"gitId":"sopa301"},"content":" \"type-check\": \"^0.4.0\""},{"lineNumber":9555,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9556,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9557,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":9558,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9559,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9560,"author":{"gitId":"-"},"content":" \"node_modules/ora\": {"},{"lineNumber":9561,"author":{"gitId":"-"},"content":" \"version\": \"5.4.1\","},{"lineNumber":9562,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9563,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9564,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9565,"author":{"gitId":"-"},"content":" \"bl\": \"^4.1.0\","},{"lineNumber":9566,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":9567,"author":{"gitId":"-"},"content":" \"cli-cursor\": \"^3.1.0\","},{"lineNumber":9568,"author":{"gitId":"-"},"content":" \"cli-spinners\": \"^2.5.0\","},{"lineNumber":9569,"author":{"gitId":"-"},"content":" \"is-interactive\": \"^1.0.0\","},{"lineNumber":9570,"author":{"gitId":"-"},"content":" \"is-unicode-supported\": \"^0.1.0\","},{"lineNumber":9571,"author":{"gitId":"-"},"content":" \"log-symbols\": \"^4.1.0\","},{"lineNumber":9572,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\","},{"lineNumber":9573,"author":{"gitId":"-"},"content":" \"wcwidth\": \"^1.0.1\""},{"lineNumber":9574,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9575,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9576,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9577,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9578,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9579,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9580,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9581,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9582,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/ansi-styles\": {"},{"lineNumber":9583,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":9584,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9585,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9586,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9587,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":9588,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9589,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9590,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9591,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9592,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9593,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":9594,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9595,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9596,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/chalk\": {"},{"lineNumber":9597,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":9598,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9599,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9600,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9601,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":9602,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":9603,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9604,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9605,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9606,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9607,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9608,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":9609,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9610,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9611,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/color-convert\": {"},{"lineNumber":9612,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":9613,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9614,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9615,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9616,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":9617,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9618,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9619,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":9620,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9621,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9622,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/color-name\": {"},{"lineNumber":9623,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":9624,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9625,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9626,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9627,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/has-flag\": {"},{"lineNumber":9628,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":9629,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9630,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9631,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9632,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9633,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9634,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9635,"author":{"gitId":"-"},"content":" \"node_modules/ora/node_modules/supports-color\": {"},{"lineNumber":9636,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":9637,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9638,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9639,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9640,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":9641,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9642,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9643,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9644,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9645,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9646,"author":{"gitId":"-"},"content":" \"node_modules/p-finally\": {"},{"lineNumber":9647,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":9648,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9649,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9650,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9651,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":9652,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9653,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9654,"author":{"gitId":"-"},"content":" \"node_modules/p-limit\": {"},{"lineNumber":9655,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":9656,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9657,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9658,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9659,"author":{"gitId":"-"},"content":" \"yocto-queue\": \"^0.1.0\""},{"lineNumber":9660,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9661,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9662,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9663,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9664,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9665,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9666,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9667,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9668,"author":{"gitId":"-"},"content":" \"node_modules/p-locate\": {"},{"lineNumber":9669,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":9670,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9671,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9672,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9673,"author":{"gitId":"-"},"content":" \"p-limit\": \"^3.0.2\""},{"lineNumber":9674,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9675,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9676,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":9677,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9678,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9679,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9680,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9681,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9682,"author":{"gitId":"-"},"content":" \"node_modules/p-retry\": {"},{"lineNumber":9683,"author":{"gitId":"-"},"content":" \"version\": \"4.6.2\","},{"lineNumber":9684,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9685,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9686,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9687,"author":{"gitId":"-"},"content":" \"@types/retry\": \"0.12.0\","},{"lineNumber":9688,"author":{"gitId":"-"},"content":" \"retry\": \"^0.13.1\""},{"lineNumber":9689,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9690,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9691,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9692,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9693,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9694,"author":{"gitId":"-"},"content":" \"node_modules/p-retry/node_modules/retry\": {"},{"lineNumber":9695,"author":{"gitId":"-"},"content":" \"version\": \"0.13.1\","},{"lineNumber":9696,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9697,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9698,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9699,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":9700,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9701,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9702,"author":{"gitId":"-"},"content":" \"node_modules/p-try\": {"},{"lineNumber":9703,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":9704,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9705,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9706,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9707,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":9708,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9709,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9710,"author":{"gitId":"-"},"content":" \"node_modules/pako\": {"},{"lineNumber":9711,"author":{"gitId":"-"},"content":" \"version\": \"1.0.11\","},{"lineNumber":9712,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT AND Zlib)\""},{"lineNumber":9713,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9714,"author":{"gitId":"-"},"content":" \"node_modules/param-case\": {"},{"lineNumber":9715,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\","},{"lineNumber":9716,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9717,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9718,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9719,"author":{"gitId":"-"},"content":" \"dot-case\": \"^3.0.4\","},{"lineNumber":9720,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\""},{"lineNumber":9721,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9722,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9723,"author":{"gitId":"-"},"content":" \"node_modules/parent-module\": {"},{"lineNumber":9724,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":9725,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9726,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9727,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9728,"author":{"gitId":"-"},"content":" \"callsites\": \"^3.0.0\""},{"lineNumber":9729,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9730,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9731,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":9732,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9733,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9734,"author":{"gitId":"-"},"content":" \"node_modules/parse-json\": {"},{"lineNumber":9735,"author":{"gitId":"-"},"content":" \"version\": \"5.2.0\","},{"lineNumber":9736,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9737,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9738,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9739,"author":{"gitId":"-"},"content":" \"@babel/code-frame\": \"^7.0.0\","},{"lineNumber":9740,"author":{"gitId":"-"},"content":" \"error-ex\": \"^1.3.1\","},{"lineNumber":9741,"author":{"gitId":"-"},"content":" \"json-parse-even-better-errors\": \"^2.3.0\","},{"lineNumber":9742,"author":{"gitId":"-"},"content":" \"lines-and-columns\": \"^1.1.6\""},{"lineNumber":9743,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9744,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9745,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9746,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9747,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9748,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9749,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9750,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9751,"author":{"gitId":"-"},"content":" \"node_modules/parse5\": {"},{"lineNumber":9752,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":9753,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9754,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9755,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9756,"author":{"gitId":"-"},"content":" \"node_modules/parse5-htmlparser2-tree-adapter\": {"},{"lineNumber":9757,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\","},{"lineNumber":9758,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9759,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9760,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9761,"author":{"gitId":"-"},"content":" \"parse5\": \"^6.0.1\""},{"lineNumber":9762,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9763,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9764,"author":{"gitId":"-"},"content":" \"node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5\": {"},{"lineNumber":9765,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\","},{"lineNumber":9766,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9767,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9768,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9769,"author":{"gitId":"-"},"content":" \"node_modules/parseurl\": {"},{"lineNumber":9770,"author":{"gitId":"-"},"content":" \"version\": \"1.3.3\","},{"lineNumber":9771,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9772,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9773,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9774,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":9775,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9776,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9777,"author":{"gitId":"-"},"content":" \"node_modules/pascal-case\": {"},{"lineNumber":9778,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":9779,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9780,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9781,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9782,"author":{"gitId":"-"},"content":" \"no-case\": \"^3.0.4\","},{"lineNumber":9783,"author":{"gitId":"-"},"content":" \"tslib\": \"^2.0.3\""},{"lineNumber":9784,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9785,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9786,"author":{"gitId":"-"},"content":" \"node_modules/path-exists\": {"},{"lineNumber":9787,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":9788,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9789,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9790,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9791,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9792,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9793,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9794,"author":{"gitId":"-"},"content":" \"node_modules/path-is-absolute\": {"},{"lineNumber":9795,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":9796,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9797,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9798,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":9799,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9800,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9801,"author":{"gitId":"-"},"content":" \"node_modules/path-key\": {"},{"lineNumber":9802,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":9803,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9804,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9805,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9806,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9807,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9808,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9809,"author":{"gitId":"-"},"content":" \"node_modules/path-parse\": {"},{"lineNumber":9810,"author":{"gitId":"-"},"content":" \"version\": \"1.0.7\","},{"lineNumber":9811,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9812,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9813,"author":{"gitId":"-"},"content":" \"node_modules/path-to-regexp\": {"},{"lineNumber":9814,"author":{"gitId":"-"},"content":" \"version\": \"0.1.7\","},{"lineNumber":9815,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":9816,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":9817,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9818,"author":{"gitId":"-"},"content":" \"node_modules/path-type\": {"},{"lineNumber":9819,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":9820,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9821,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9822,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9823,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9824,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9825,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9826,"author":{"gitId":"-"},"content":" \"node_modules/picocolors\": {"},{"lineNumber":9827,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":9828,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":9829,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9830,"author":{"gitId":"-"},"content":" \"node_modules/picomatch\": {"},{"lineNumber":9831,"author":{"gitId":"-"},"content":" \"version\": \"2.3.1\","},{"lineNumber":9832,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9833,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9834,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9835,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.6\""},{"lineNumber":9836,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9837,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9838,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/jonschlinkert\""},{"lineNumber":9839,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9840,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9841,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir\": {"},{"lineNumber":9842,"author":{"gitId":"-"},"content":" \"version\": \"4.2.0\","},{"lineNumber":9843,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9844,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9845,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9846,"author":{"gitId":"-"},"content":" \"find-up\": \"^4.0.0\""},{"lineNumber":9847,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9848,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9849,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9850,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9851,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9852,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir/node_modules/find-up\": {"},{"lineNumber":9853,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":9854,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9855,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9856,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9857,"author":{"gitId":"-"},"content":" \"locate-path\": \"^5.0.0\","},{"lineNumber":9858,"author":{"gitId":"-"},"content":" \"path-exists\": \"^4.0.0\""},{"lineNumber":9859,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9860,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9861,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9862,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9863,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9864,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir/node_modules/locate-path\": {"},{"lineNumber":9865,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":9866,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9867,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9868,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9869,"author":{"gitId":"-"},"content":" \"p-locate\": \"^4.1.0\""},{"lineNumber":9870,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9871,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9872,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9873,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9874,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9875,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir/node_modules/p-limit\": {"},{"lineNumber":9876,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":9877,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9878,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9879,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9880,"author":{"gitId":"-"},"content":" \"p-try\": \"^2.0.0\""},{"lineNumber":9881,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9882,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9883,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":9884,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9885,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":9886,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":9887,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9888,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9889,"author":{"gitId":"-"},"content":" \"node_modules/pkg-dir/node_modules/p-locate\": {"},{"lineNumber":9890,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":9891,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9892,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9893,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9894,"author":{"gitId":"-"},"content":" \"p-limit\": \"^2.2.0\""},{"lineNumber":9895,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9896,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9897,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":9898,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9899,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9900,"author":{"gitId":"-"},"content":" \"node_modules/portfinder\": {"},{"lineNumber":9901,"author":{"gitId":"-"},"content":" \"version\": \"1.0.32\","},{"lineNumber":9902,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9903,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9904,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9905,"author":{"gitId":"-"},"content":" \"async\": \"^2.6.4\","},{"lineNumber":9906,"author":{"gitId":"-"},"content":" \"debug\": \"^3.2.7\","},{"lineNumber":9907,"author":{"gitId":"-"},"content":" \"mkdirp\": \"^0.5.6\""},{"lineNumber":9908,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9909,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9910,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.12.0\""},{"lineNumber":9911,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9912,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9913,"author":{"gitId":"-"},"content":" \"node_modules/portfinder/node_modules/debug\": {"},{"lineNumber":9914,"author":{"gitId":"-"},"content":" \"version\": \"3.2.7\","},{"lineNumber":9915,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9916,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9917,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9918,"author":{"gitId":"-"},"content":" \"ms\": \"^2.1.1\""},{"lineNumber":9919,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9920,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9921,"author":{"gitId":"-"},"content":" \"node_modules/portfinder/node_modules/mkdirp\": {"},{"lineNumber":9922,"author":{"gitId":"-"},"content":" \"version\": \"0.5.6\","},{"lineNumber":9923,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9924,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9925,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9926,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.6\""},{"lineNumber":9927,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9928,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":9929,"author":{"gitId":"-"},"content":" \"mkdirp\": \"bin/cmd.js\""},{"lineNumber":9930,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9931,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9932,"author":{"gitId":"sopa301"},"content":" \"node_modules/possible-typed-array-names\": {"},{"lineNumber":9933,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.0\","},{"lineNumber":9934,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9935,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9936,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9937,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":9938,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":9939,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9940,"author":{"gitId":"-"},"content":" \"node_modules/postcss\": {"},{"lineNumber":9941,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.4.38\","},{"lineNumber":9942,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":9943,"author":{"gitId":"-"},"content":" {"},{"lineNumber":9944,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":9945,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\""},{"lineNumber":9946,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9947,"author":{"gitId":"-"},"content":" {"},{"lineNumber":9948,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\","},{"lineNumber":9949,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/postcss\""},{"lineNumber":9950,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":9951,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":9952,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":9953,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ai\""},{"lineNumber":9954,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9955,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":9956,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9957,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9958,"author":{"gitId":"sopa301"},"content":" \"nanoid\": \"^3.3.7\","},{"lineNumber":9959,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\","},{"lineNumber":9960,"author":{"gitId":"sopa301"},"content":" \"source-map-js\": \"^1.2.0\""},{"lineNumber":9961,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9962,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9963,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14\""},{"lineNumber":9964,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9965,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9966,"author":{"gitId":"-"},"content":" \"node_modules/postcss-calc\": {"},{"lineNumber":9967,"author":{"gitId":"-"},"content":" \"version\": \"8.2.4\","},{"lineNumber":9968,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9969,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9970,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9971,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.9\","},{"lineNumber":9972,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":9973,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9974,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":9975,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.2\""},{"lineNumber":9976,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9977,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9978,"author":{"gitId":"-"},"content":" \"node_modules/postcss-colormin\": {"},{"lineNumber":9979,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\","},{"lineNumber":9980,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9981,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9982,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":9983,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.16.6\","},{"lineNumber":9984,"author":{"gitId":"-"},"content":" \"caniuse-api\": \"^3.0.0\","},{"lineNumber":9985,"author":{"gitId":"-"},"content":" \"colord\": \"^2.9.1\","},{"lineNumber":9986,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":9987,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9988,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":9989,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":9990,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9991,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":9992,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":9993,"author":{"gitId":"-"},"content":" }"},{"lineNumber":9994,"author":{"gitId":"-"},"content":" },"},{"lineNumber":9995,"author":{"gitId":"-"},"content":" \"node_modules/postcss-convert-values\": {"},{"lineNumber":9996,"author":{"gitId":"-"},"content":" \"version\": \"5.1.3\","},{"lineNumber":9997,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":9998,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":9999,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10000,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\","},{"lineNumber":10001,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10002,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10003,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10004,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10005,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10006,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10007,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10008,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10009,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10010,"author":{"gitId":"-"},"content":" \"node_modules/postcss-discard-comments\": {"},{"lineNumber":10011,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\","},{"lineNumber":10012,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10013,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10014,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10015,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10016,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10017,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10018,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10019,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10020,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10021,"author":{"gitId":"-"},"content":" \"node_modules/postcss-discard-duplicates\": {"},{"lineNumber":10022,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10023,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10024,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10025,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10026,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10027,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10028,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10029,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10030,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10031,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10032,"author":{"gitId":"-"},"content":" \"node_modules/postcss-discard-empty\": {"},{"lineNumber":10033,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10034,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10035,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10036,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10037,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10038,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10039,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10040,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10041,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10042,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10043,"author":{"gitId":"-"},"content":" \"node_modules/postcss-discard-overridden\": {"},{"lineNumber":10044,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10045,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10046,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10047,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10048,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10049,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10050,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10051,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10052,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10053,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10054,"author":{"gitId":"-"},"content":" \"node_modules/postcss-html\": {"},{"lineNumber":10055,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.6.0\","},{"lineNumber":10056,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10057,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10058,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10059,"author":{"gitId":"-"},"content":" \"htmlparser2\": \"^8.0.0\","},{"lineNumber":10060,"author":{"gitId":"-"},"content":" \"js-tokens\": \"^8.0.0\","},{"lineNumber":10061,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.4.0\","},{"lineNumber":10062,"author":{"gitId":"-"},"content":" \"postcss-safe-parser\": \"^6.0.0\""},{"lineNumber":10063,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10064,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10065,"author":{"gitId":"-"},"content":" \"node\": \"^12 || \u003e\u003d14\""},{"lineNumber":10066,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10067,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10068,"author":{"gitId":"-"},"content":" \"node_modules/postcss-html/node_modules/js-tokens\": {"},{"lineNumber":10069,"author":{"gitId":"-"},"content":" \"version\": \"8.0.1\","},{"lineNumber":10070,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10071,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10072,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10073,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader\": {"},{"lineNumber":10074,"author":{"gitId":"-"},"content":" \"version\": \"6.2.1\","},{"lineNumber":10075,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10076,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10077,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10078,"author":{"gitId":"-"},"content":" \"cosmiconfig\": \"^7.0.0\","},{"lineNumber":10079,"author":{"gitId":"-"},"content":" \"klona\": \"^2.0.5\","},{"lineNumber":10080,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.5\""},{"lineNumber":10081,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10082,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10083,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":10084,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10085,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10086,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":10087,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":10088,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10089,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10090,"author":{"gitId":"-"},"content":" \"postcss\": \"^7.0.0 || ^8.0.1\","},{"lineNumber":10091,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":10092,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10093,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10094,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader/node_modules/cosmiconfig\": {"},{"lineNumber":10095,"author":{"gitId":"-"},"content":" \"version\": \"7.1.0\","},{"lineNumber":10096,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10097,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10098,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10099,"author":{"gitId":"-"},"content":" \"@types/parse-json\": \"^4.0.0\","},{"lineNumber":10100,"author":{"gitId":"-"},"content":" \"import-fresh\": \"^3.2.1\","},{"lineNumber":10101,"author":{"gitId":"-"},"content":" \"parse-json\": \"^5.0.0\","},{"lineNumber":10102,"author":{"gitId":"-"},"content":" \"path-type\": \"^4.0.0\","},{"lineNumber":10103,"author":{"gitId":"-"},"content":" \"yaml\": \"^1.10.0\""},{"lineNumber":10104,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10105,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10106,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":10107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10108,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10109,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader/node_modules/lru-cache\": {"},{"lineNumber":10110,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":10111,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10112,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":10113,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10114,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":10115,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10116,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10117,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":10118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10119,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10120,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader/node_modules/semver\": {"},{"lineNumber":10121,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":10122,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10123,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":10124,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10125,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":10126,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10127,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":10128,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":10129,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10130,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10131,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":10132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10133,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10134,"author":{"gitId":"-"},"content":" \"node_modules/postcss-loader/node_modules/yallist\": {"},{"lineNumber":10135,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":10136,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10137,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":10138,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10139,"author":{"gitId":"-"},"content":" \"node_modules/postcss-media-query-parser\": {"},{"lineNumber":10140,"author":{"gitId":"-"},"content":" \"version\": \"0.2.3\","},{"lineNumber":10141,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz\","},{"lineNumber":10142,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig\u003d\u003d\","},{"lineNumber":10143,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":10144,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10145,"author":{"gitId":"-"},"content":" \"node_modules/postcss-merge-longhand\": {"},{"lineNumber":10146,"author":{"gitId":"-"},"content":" \"version\": \"5.1.7\","},{"lineNumber":10147,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10148,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10149,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10150,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\","},{"lineNumber":10151,"author":{"gitId":"-"},"content":" \"stylehacks\": \"^5.1.1\""},{"lineNumber":10152,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10153,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10154,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10155,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10156,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10157,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10158,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10159,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10160,"author":{"gitId":"-"},"content":" \"node_modules/postcss-merge-rules\": {"},{"lineNumber":10161,"author":{"gitId":"-"},"content":" \"version\": \"5.1.3\","},{"lineNumber":10162,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10163,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10164,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10165,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\","},{"lineNumber":10166,"author":{"gitId":"-"},"content":" \"caniuse-api\": \"^3.0.0\","},{"lineNumber":10167,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\","},{"lineNumber":10168,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.5\""},{"lineNumber":10169,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10170,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10171,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10172,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10173,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10174,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10176,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10177,"author":{"gitId":"-"},"content":" \"node_modules/postcss-minify-font-values\": {"},{"lineNumber":10178,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10179,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10180,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10181,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10182,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10183,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10184,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10185,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10186,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10187,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10188,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10190,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10191,"author":{"gitId":"-"},"content":" \"node_modules/postcss-minify-gradients\": {"},{"lineNumber":10192,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10193,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10194,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10195,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10196,"author":{"gitId":"-"},"content":" \"colord\": \"^2.9.1\","},{"lineNumber":10197,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\","},{"lineNumber":10198,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10199,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10200,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10201,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10202,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10203,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10204,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10207,"author":{"gitId":"-"},"content":" \"node_modules/postcss-minify-params\": {"},{"lineNumber":10208,"author":{"gitId":"-"},"content":" \"version\": \"5.1.4\","},{"lineNumber":10209,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10210,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10211,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10212,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\","},{"lineNumber":10213,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\","},{"lineNumber":10214,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10215,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10216,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10217,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10218,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10219,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10220,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10221,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10222,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10223,"author":{"gitId":"-"},"content":" \"node_modules/postcss-minify-selectors\": {"},{"lineNumber":10224,"author":{"gitId":"-"},"content":" \"version\": \"5.2.1\","},{"lineNumber":10225,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10226,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10227,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10228,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.5\""},{"lineNumber":10229,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10230,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10231,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10232,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10233,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10234,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10235,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10236,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10237,"author":{"gitId":"-"},"content":" \"node_modules/postcss-modules-extract-imports\": {"},{"lineNumber":10238,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":10239,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10240,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":10241,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10242,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\""},{"lineNumber":10243,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10244,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10245,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\""},{"lineNumber":10246,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10247,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10248,"author":{"gitId":"-"},"content":" \"node_modules/postcss-modules-local-by-default\": {"},{"lineNumber":10249,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":10250,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10251,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10252,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10253,"author":{"gitId":"-"},"content":" \"icss-utils\": \"^5.0.0\","},{"lineNumber":10254,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.2\","},{"lineNumber":10255,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.1.0\""},{"lineNumber":10256,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10257,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10258,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\""},{"lineNumber":10259,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10260,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10261,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\""},{"lineNumber":10262,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10263,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10264,"author":{"gitId":"-"},"content":" \"node_modules/postcss-modules-scope\": {"},{"lineNumber":10265,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":10266,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10267,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":10268,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10269,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.4\""},{"lineNumber":10270,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10271,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10272,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\""},{"lineNumber":10273,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10274,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10275,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\""},{"lineNumber":10276,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10277,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10278,"author":{"gitId":"-"},"content":" \"node_modules/postcss-modules-values\": {"},{"lineNumber":10279,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":10280,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10281,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":10282,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10283,"author":{"gitId":"-"},"content":" \"icss-utils\": \"^5.0.0\""},{"lineNumber":10284,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10285,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10286,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d 14\""},{"lineNumber":10287,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10288,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10289,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.1.0\""},{"lineNumber":10290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10291,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10292,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-charset\": {"},{"lineNumber":10293,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10294,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10295,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10296,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10297,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10298,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10299,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10300,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10302,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10303,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-display-values\": {"},{"lineNumber":10304,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10305,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10306,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10307,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10308,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10309,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10310,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10311,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10312,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10313,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10314,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10315,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10316,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10317,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-positions\": {"},{"lineNumber":10318,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10319,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10320,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10321,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10322,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10323,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10324,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10325,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10326,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10327,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10328,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10330,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10331,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-repeat-style\": {"},{"lineNumber":10332,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10333,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10334,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10335,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10336,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10337,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10338,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10339,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10340,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10341,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10342,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10343,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10344,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10345,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-string\": {"},{"lineNumber":10346,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10347,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10348,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10349,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10350,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10351,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10352,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10353,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10354,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10355,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10356,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10357,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10358,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10359,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-timing-functions\": {"},{"lineNumber":10360,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10361,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10362,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10363,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10364,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10365,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10366,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10367,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10368,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10369,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10370,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10371,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10372,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10373,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-unicode\": {"},{"lineNumber":10374,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10375,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10376,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10377,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10378,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\","},{"lineNumber":10379,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10380,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10381,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10382,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10383,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10384,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10385,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10386,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10387,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10388,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-url\": {"},{"lineNumber":10389,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10390,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10391,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10392,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10393,"author":{"gitId":"-"},"content":" \"normalize-url\": \"^6.0.1\","},{"lineNumber":10394,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10395,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10396,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10397,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10398,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10399,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10400,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10401,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10402,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10403,"author":{"gitId":"-"},"content":" \"node_modules/postcss-normalize-whitespace\": {"},{"lineNumber":10404,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10405,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10406,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10407,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10408,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10409,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10410,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10411,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10412,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10413,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10414,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10415,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10416,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10417,"author":{"gitId":"-"},"content":" \"node_modules/postcss-ordered-values\": {"},{"lineNumber":10418,"author":{"gitId":"-"},"content":" \"version\": \"5.1.3\","},{"lineNumber":10419,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10420,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10421,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10422,"author":{"gitId":"-"},"content":" \"cssnano-utils\": \"^3.1.0\","},{"lineNumber":10423,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10424,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10425,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10426,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10427,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10428,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10429,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10430,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10431,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10432,"author":{"gitId":"-"},"content":" \"node_modules/postcss-reduce-initial\": {"},{"lineNumber":10433,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10434,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10435,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10436,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10437,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\","},{"lineNumber":10438,"author":{"gitId":"-"},"content":" \"caniuse-api\": \"^3.0.0\""},{"lineNumber":10439,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10440,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10441,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10442,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10443,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10444,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10445,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10446,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10447,"author":{"gitId":"-"},"content":" \"node_modules/postcss-reduce-transforms\": {"},{"lineNumber":10448,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10449,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10450,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10451,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10452,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":10453,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10454,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10455,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10456,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10457,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10458,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10459,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10460,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10461,"author":{"gitId":"-"},"content":" \"node_modules/postcss-resolve-nested-selector\": {"},{"lineNumber":10462,"author":{"gitId":"-"},"content":" \"version\": \"0.1.1\","},{"lineNumber":10463,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":10464,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10465,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10466,"author":{"gitId":"-"},"content":" \"node_modules/postcss-safe-parser\": {"},{"lineNumber":10467,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":10468,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10469,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10470,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10471,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.0\""},{"lineNumber":10472,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10473,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10474,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":10475,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\""},{"lineNumber":10476,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10477,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10478,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.3.3\""},{"lineNumber":10479,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10480,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10481,"author":{"gitId":"-"},"content":" \"node_modules/postcss-scss\": {"},{"lineNumber":10482,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.9\","},{"lineNumber":10483,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz\","},{"lineNumber":10484,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A\u003d\u003d\","},{"lineNumber":10485,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10486,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":10487,"author":{"gitId":"-"},"content":" {"},{"lineNumber":10488,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":10489,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/postcss/\""},{"lineNumber":10490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10491,"author":{"gitId":"-"},"content":" {"},{"lineNumber":10492,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\","},{"lineNumber":10493,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/postcss-scss\""},{"lineNumber":10494,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":10495,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":10496,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":10497,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ai\""},{"lineNumber":10498,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10499,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":10500,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10501,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.0\""},{"lineNumber":10502,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10503,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10504,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.29\""},{"lineNumber":10505,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10506,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10507,"author":{"gitId":"-"},"content":" \"node_modules/postcss-selector-parser\": {"},{"lineNumber":10508,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.16\","},{"lineNumber":10509,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz\","},{"lineNumber":10510,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw\u003d\u003d\","},{"lineNumber":10511,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10512,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10513,"author":{"gitId":"-"},"content":" \"cssesc\": \"^3.0.0\","},{"lineNumber":10514,"author":{"gitId":"-"},"content":" \"util-deprecate\": \"^1.0.2\""},{"lineNumber":10515,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10516,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10517,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":10518,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10519,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10520,"author":{"gitId":"-"},"content":" \"node_modules/postcss-sorting\": {"},{"lineNumber":10521,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.2\","},{"lineNumber":10522,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz\","},{"lineNumber":10523,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q\u003d\u003d\","},{"lineNumber":10524,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10525,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10526,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.20\""},{"lineNumber":10527,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10528,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10529,"author":{"gitId":"-"},"content":" \"node_modules/postcss-svgo\": {"},{"lineNumber":10530,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10531,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10532,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10533,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10534,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\","},{"lineNumber":10535,"author":{"gitId":"-"},"content":" \"svgo\": \"^2.7.0\""},{"lineNumber":10536,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10537,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10538,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10539,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10540,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10541,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10542,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10543,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10544,"author":{"gitId":"-"},"content":" \"node_modules/postcss-unique-selectors\": {"},{"lineNumber":10545,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":10546,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10547,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10548,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10549,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.5\""},{"lineNumber":10550,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10551,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10552,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":10553,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10554,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10555,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":10556,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10557,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10558,"author":{"gitId":"-"},"content":" \"node_modules/postcss-value-parser\": {"},{"lineNumber":10559,"author":{"gitId":"-"},"content":" \"version\": \"4.2.0\","},{"lineNumber":10560,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10561,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10562,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10563,"author":{"gitId":"-"},"content":" \"node_modules/prelude-ls\": {"},{"lineNumber":10564,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":10565,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10566,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10567,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10568,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":10569,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10570,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10571,"author":{"gitId":"-"},"content":" \"node_modules/prettier\": {"},{"lineNumber":10572,"author":{"gitId":"-"},"content":" \"version\": \"2.8.3\","},{"lineNumber":10573,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10574,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10575,"author":{"gitId":"-"},"content":" \"optional\": true,"},{"lineNumber":10576,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":10577,"author":{"gitId":"-"},"content":" \"prettier\": \"bin-prettier.js\""},{"lineNumber":10578,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10579,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10580,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":10581,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10582,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10583,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/prettier/prettier?sponsor\u003d1\""},{"lineNumber":10584,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10585,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10586,"author":{"gitId":"-"},"content":" \"node_modules/pretty-error\": {"},{"lineNumber":10587,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":10588,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10589,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10590,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10591,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.20\","},{"lineNumber":10592,"author":{"gitId":"-"},"content":" \"renderkid\": \"^3.0.0\""},{"lineNumber":10593,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10594,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10595,"author":{"gitId":"-"},"content":" \"node_modules/process-nextick-args\": {"},{"lineNumber":10596,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":10597,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10598,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10599,"author":{"gitId":"-"},"content":" \"node_modules/progress-webpack-plugin\": {"},{"lineNumber":10600,"author":{"gitId":"-"},"content":" \"version\": \"1.0.16\","},{"lineNumber":10601,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10602,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10603,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10604,"author":{"gitId":"-"},"content":" \"chalk\": \"^2.1.0\","},{"lineNumber":10605,"author":{"gitId":"-"},"content":" \"figures\": \"^2.0.0\","},{"lineNumber":10606,"author":{"gitId":"-"},"content":" \"log-update\": \"^2.3.0\""},{"lineNumber":10607,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10608,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10609,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":10610,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10611,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":10612,"author":{"gitId":"-"},"content":" \"webpack\": \"^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0\""},{"lineNumber":10613,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10614,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10615,"author":{"gitId":"-"},"content":" \"node_modules/promise\": {"},{"lineNumber":10616,"author":{"gitId":"-"},"content":" \"version\": \"7.3.1\","},{"lineNumber":10617,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10618,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10619,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10620,"author":{"gitId":"-"},"content":" \"asap\": \"~2.0.3\""},{"lineNumber":10621,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10622,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10623,"author":{"gitId":"-"},"content":" \"node_modules/prop-types\": {"},{"lineNumber":10624,"author":{"gitId":"-"},"content":" \"version\": \"15.8.1\","},{"lineNumber":10625,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10626,"author":{"gitId":"-"},"content":" \"peer\": true,"},{"lineNumber":10627,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10628,"author":{"gitId":"-"},"content":" \"loose-envify\": \"^1.4.0\","},{"lineNumber":10629,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.1\","},{"lineNumber":10630,"author":{"gitId":"-"},"content":" \"react-is\": \"^16.13.1\""},{"lineNumber":10631,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10632,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10633,"author":{"gitId":"-"},"content":" \"node_modules/proxy-addr\": {"},{"lineNumber":10634,"author":{"gitId":"-"},"content":" \"version\": \"2.0.7\","},{"lineNumber":10635,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10636,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10637,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10638,"author":{"gitId":"-"},"content":" \"forwarded\": \"0.2.0\","},{"lineNumber":10639,"author":{"gitId":"-"},"content":" \"ipaddr.js\": \"1.9.1\""},{"lineNumber":10640,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10641,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10642,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10\""},{"lineNumber":10643,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10644,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10645,"author":{"gitId":"-"},"content":" \"node_modules/proxy-addr/node_modules/ipaddr.js\": {"},{"lineNumber":10646,"author":{"gitId":"-"},"content":" \"version\": \"1.9.1\","},{"lineNumber":10647,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10648,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10649,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10650,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10\""},{"lineNumber":10651,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10652,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10653,"author":{"gitId":"-"},"content":" \"node_modules/pseudomap\": {"},{"lineNumber":10654,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":10655,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":10656,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":10657,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10658,"author":{"gitId":"-"},"content":" \"node_modules/pug\": {"},{"lineNumber":10659,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\","},{"lineNumber":10660,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10661,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10662,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10663,"author":{"gitId":"-"},"content":" \"pug-code-gen\": \"^3.0.2\","},{"lineNumber":10664,"author":{"gitId":"-"},"content":" \"pug-filters\": \"^4.0.0\","},{"lineNumber":10665,"author":{"gitId":"-"},"content":" \"pug-lexer\": \"^5.0.1\","},{"lineNumber":10666,"author":{"gitId":"-"},"content":" \"pug-linker\": \"^4.0.0\","},{"lineNumber":10667,"author":{"gitId":"-"},"content":" \"pug-load\": \"^3.0.0\","},{"lineNumber":10668,"author":{"gitId":"-"},"content":" \"pug-parser\": \"^6.0.0\","},{"lineNumber":10669,"author":{"gitId":"-"},"content":" \"pug-runtime\": \"^3.0.1\","},{"lineNumber":10670,"author":{"gitId":"-"},"content":" \"pug-strip-comments\": \"^2.0.0\""},{"lineNumber":10671,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10672,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10673,"author":{"gitId":"-"},"content":" \"node_modules/pug-attrs\": {"},{"lineNumber":10674,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":10675,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10676,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10677,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10678,"author":{"gitId":"-"},"content":" \"constantinople\": \"^4.0.1\","},{"lineNumber":10679,"author":{"gitId":"-"},"content":" \"js-stringify\": \"^1.0.2\","},{"lineNumber":10680,"author":{"gitId":"-"},"content":" \"pug-runtime\": \"^3.0.0\""},{"lineNumber":10681,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10682,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10683,"author":{"gitId":"-"},"content":" \"node_modules/pug-code-gen\": {"},{"lineNumber":10684,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\","},{"lineNumber":10685,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10686,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10687,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10688,"author":{"gitId":"-"},"content":" \"constantinople\": \"^4.0.1\","},{"lineNumber":10689,"author":{"gitId":"-"},"content":" \"doctypes\": \"^1.1.0\","},{"lineNumber":10690,"author":{"gitId":"-"},"content":" \"js-stringify\": \"^1.0.2\","},{"lineNumber":10691,"author":{"gitId":"-"},"content":" \"pug-attrs\": \"^3.0.0\","},{"lineNumber":10692,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\","},{"lineNumber":10693,"author":{"gitId":"-"},"content":" \"pug-runtime\": \"^3.0.0\","},{"lineNumber":10694,"author":{"gitId":"-"},"content":" \"void-elements\": \"^3.1.0\","},{"lineNumber":10695,"author":{"gitId":"-"},"content":" \"with\": \"^7.0.0\""},{"lineNumber":10696,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10697,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10698,"author":{"gitId":"-"},"content":" \"node_modules/pug-error\": {"},{"lineNumber":10699,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":10700,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":10701,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10702,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10703,"author":{"gitId":"-"},"content":" \"node_modules/pug-filters\": {"},{"lineNumber":10704,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":10705,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10706,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10707,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10708,"author":{"gitId":"-"},"content":" \"constantinople\": \"^4.0.1\","},{"lineNumber":10709,"author":{"gitId":"-"},"content":" \"jstransformer\": \"1.0.0\","},{"lineNumber":10710,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\","},{"lineNumber":10711,"author":{"gitId":"-"},"content":" \"pug-walk\": \"^2.0.0\","},{"lineNumber":10712,"author":{"gitId":"-"},"content":" \"resolve\": \"^1.15.1\""},{"lineNumber":10713,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10714,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10715,"author":{"gitId":"-"},"content":" \"node_modules/pug-lexer\": {"},{"lineNumber":10716,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\","},{"lineNumber":10717,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10718,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10719,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10720,"author":{"gitId":"-"},"content":" \"character-parser\": \"^2.2.0\","},{"lineNumber":10721,"author":{"gitId":"-"},"content":" \"is-expression\": \"^4.0.0\","},{"lineNumber":10722,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\""},{"lineNumber":10723,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10724,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10725,"author":{"gitId":"-"},"content":" \"node_modules/pug-linker\": {"},{"lineNumber":10726,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":10727,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":10728,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10729,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10730,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\","},{"lineNumber":10731,"author":{"gitId":"-"},"content":" \"pug-walk\": \"^2.0.0\""},{"lineNumber":10732,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10733,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10734,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint\": {"},{"lineNumber":10735,"author":{"gitId":"-"},"content":" \"version\": \"2.6.0\","},{"lineNumber":10736,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":10737,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10738,"author":{"gitId":"-"},"content":" \"acorn\": \"^4.0.1\","},{"lineNumber":10739,"author":{"gitId":"-"},"content":" \"commander\": \"^2.9.0\","},{"lineNumber":10740,"author":{"gitId":"-"},"content":" \"css-selector-parser\": \"^1.1.0\","},{"lineNumber":10741,"author":{"gitId":"-"},"content":" \"find-line-column\": \"^0.5.2\","},{"lineNumber":10742,"author":{"gitId":"-"},"content":" \"glob\": \"^7.0.3\","},{"lineNumber":10743,"author":{"gitId":"-"},"content":" \"minimatch\": \"^3.0.3\","},{"lineNumber":10744,"author":{"gitId":"-"},"content":" \"path-is-absolute\": \"^1.0.0\","},{"lineNumber":10745,"author":{"gitId":"-"},"content":" \"pug-attrs\": \"^2.0.3\","},{"lineNumber":10746,"author":{"gitId":"-"},"content":" \"pug-error\": \"^1.3.2\","},{"lineNumber":10747,"author":{"gitId":"-"},"content":" \"pug-lexer\": \"^4.0.0\","},{"lineNumber":10748,"author":{"gitId":"-"},"content":" \"resolve\": \"^1.1.7\","},{"lineNumber":10749,"author":{"gitId":"-"},"content":" \"strip-json-comments\": \"^2.0.1\","},{"lineNumber":10750,"author":{"gitId":"-"},"content":" \"void-elements\": \"^2.0.1\""},{"lineNumber":10751,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10752,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":10753,"author":{"gitId":"-"},"content":" \"pug-lint\": \"bin/pug-lint\""},{"lineNumber":10754,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10755,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10756,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue\": {"},{"lineNumber":10757,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\","},{"lineNumber":10758,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10759,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10760,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.0.0\","},{"lineNumber":10761,"author":{"gitId":"-"},"content":" \"cheerio\": \"^1.0.0-rc.3\","},{"lineNumber":10762,"author":{"gitId":"-"},"content":" \"commander\": \"^5.0.0\","},{"lineNumber":10763,"author":{"gitId":"-"},"content":" \"htmlparser2\": \"^4.0.0\","},{"lineNumber":10764,"author":{"gitId":"-"},"content":" \"pug-lint\": \"^2.6.0\","},{"lineNumber":10765,"author":{"gitId":"-"},"content":" \"text-table\": \"^0.2.0\","},{"lineNumber":10766,"author":{"gitId":"-"},"content":" \"walk\": \"^2.3.14\""},{"lineNumber":10767,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10768,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":10769,"author":{"gitId":"-"},"content":" \"pug-lint-vue\": \"bin/pug-lint-vue\""},{"lineNumber":10770,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10771,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10772,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/ansi-styles\": {"},{"lineNumber":10773,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":10774,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10775,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10776,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":10777,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10778,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10779,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":10780,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10781,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10782,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":10783,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10784,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10785,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/chalk\": {"},{"lineNumber":10786,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":10787,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10788,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10789,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":10790,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":10791,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10792,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10793,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":10794,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10795,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10796,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":10797,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10798,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10799,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/color-convert\": {"},{"lineNumber":10800,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":10801,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10802,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10803,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":10804,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10805,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10806,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":10807,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10808,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10809,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/color-name\": {"},{"lineNumber":10810,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":10811,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10812,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10813,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/commander\": {"},{"lineNumber":10814,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":10815,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10816,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10817,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":10818,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10819,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10820,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/dom-serializer\": {"},{"lineNumber":10821,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\","},{"lineNumber":10822,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10823,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10824,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\","},{"lineNumber":10825,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\","},{"lineNumber":10826,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\""},{"lineNumber":10827,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10828,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10829,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor\u003d1\""},{"lineNumber":10830,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10831,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10832,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/dom-serializer/node_modules/domhandler\": {"},{"lineNumber":10833,"author":{"gitId":"-"},"content":" \"version\": \"4.3.1\","},{"lineNumber":10834,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":10835,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10836,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\""},{"lineNumber":10837,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10838,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10839,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":10840,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10841,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10842,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\""},{"lineNumber":10843,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10844,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10845,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/domhandler\": {"},{"lineNumber":10846,"author":{"gitId":"-"},"content":" \"version\": \"3.3.0\","},{"lineNumber":10847,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":10848,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10849,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\""},{"lineNumber":10850,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10851,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10852,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":10853,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10854,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10855,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\""},{"lineNumber":10856,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10857,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10858,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/domutils\": {"},{"lineNumber":10859,"author":{"gitId":"-"},"content":" \"version\": \"2.8.0\","},{"lineNumber":10860,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":10861,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10862,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^1.0.1\","},{"lineNumber":10863,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\","},{"lineNumber":10864,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\""},{"lineNumber":10865,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10866,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10867,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domutils?sponsor\u003d1\""},{"lineNumber":10868,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10869,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10870,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/domutils/node_modules/domhandler\": {"},{"lineNumber":10871,"author":{"gitId":"-"},"content":" \"version\": \"4.3.1\","},{"lineNumber":10872,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":10873,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10874,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\""},{"lineNumber":10875,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10876,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10877,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":10878,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10879,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10880,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\""},{"lineNumber":10881,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10882,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10883,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/entities\": {"},{"lineNumber":10884,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":10885,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":10886,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":10887,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/entities?sponsor\u003d1\""},{"lineNumber":10888,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10889,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10890,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/has-flag\": {"},{"lineNumber":10891,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":10892,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10893,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10894,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":10895,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10896,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10897,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/htmlparser2\": {"},{"lineNumber":10898,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":10899,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10900,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10901,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\","},{"lineNumber":10902,"author":{"gitId":"-"},"content":" \"domhandler\": \"^3.0.0\","},{"lineNumber":10903,"author":{"gitId":"-"},"content":" \"domutils\": \"^2.0.0\","},{"lineNumber":10904,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\""},{"lineNumber":10905,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10906,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10907,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint-vue/node_modules/supports-color\": {"},{"lineNumber":10908,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":10909,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10910,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10911,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":10912,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10913,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10914,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":10915,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10916,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10917,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/acorn\": {"},{"lineNumber":10918,"author":{"gitId":"-"},"content":" \"version\": \"4.0.13\","},{"lineNumber":10919,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10920,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":10921,"author":{"gitId":"-"},"content":" \"acorn\": \"bin/acorn\""},{"lineNumber":10922,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10923,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10924,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.4.0\""},{"lineNumber":10925,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10926,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10927,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/brace-expansion\": {"},{"lineNumber":10928,"author":{"gitId":"-"},"content":" \"version\": \"1.1.11\","},{"lineNumber":10929,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10930,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10931,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^1.0.0\","},{"lineNumber":10932,"author":{"gitId":"-"},"content":" \"concat-map\": \"0.0.1\""},{"lineNumber":10933,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10934,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10935,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/commander\": {"},{"lineNumber":10936,"author":{"gitId":"-"},"content":" \"version\": \"2.20.3\","},{"lineNumber":10937,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10938,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10939,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/constantinople\": {"},{"lineNumber":10940,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":10941,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10942,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10943,"author":{"gitId":"-"},"content":" \"@types/babel-types\": \"^7.0.0\","},{"lineNumber":10944,"author":{"gitId":"-"},"content":" \"@types/babylon\": \"^6.16.2\","},{"lineNumber":10945,"author":{"gitId":"-"},"content":" \"babel-types\": \"^6.26.0\","},{"lineNumber":10946,"author":{"gitId":"-"},"content":" \"babylon\": \"^6.18.0\""},{"lineNumber":10947,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10948,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10949,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/is-expression\": {"},{"lineNumber":10950,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":10951,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10952,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10953,"author":{"gitId":"-"},"content":" \"acorn\": \"~4.0.2\","},{"lineNumber":10954,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.0.1\""},{"lineNumber":10955,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10956,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10957,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/minimatch\": {"},{"lineNumber":10958,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":10959,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":10960,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10961,"author":{"gitId":"-"},"content":" \"brace-expansion\": \"^1.1.7\""},{"lineNumber":10962,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10963,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10964,"author":{"gitId":"-"},"content":" \"node\": \"*\""},{"lineNumber":10965,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10966,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10967,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/pug-attrs\": {"},{"lineNumber":10968,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\","},{"lineNumber":10969,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10970,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10971,"author":{"gitId":"-"},"content":" \"constantinople\": \"^3.0.1\","},{"lineNumber":10972,"author":{"gitId":"-"},"content":" \"js-stringify\": \"^1.0.1\","},{"lineNumber":10973,"author":{"gitId":"-"},"content":" \"pug-runtime\": \"^2.0.5\""},{"lineNumber":10974,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10975,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10976,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/pug-error\": {"},{"lineNumber":10977,"author":{"gitId":"-"},"content":" \"version\": \"1.3.3\","},{"lineNumber":10978,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10979,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10980,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/pug-lexer\": {"},{"lineNumber":10981,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":10982,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10983,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":10984,"author":{"gitId":"-"},"content":" \"character-parser\": \"^2.1.1\","},{"lineNumber":10985,"author":{"gitId":"-"},"content":" \"is-expression\": \"^3.0.0\","},{"lineNumber":10986,"author":{"gitId":"-"},"content":" \"pug-error\": \"^1.3.3\""},{"lineNumber":10987,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10988,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10989,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/pug-runtime\": {"},{"lineNumber":10990,"author":{"gitId":"-"},"content":" \"version\": \"2.0.5\","},{"lineNumber":10991,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":10992,"author":{"gitId":"-"},"content":" },"},{"lineNumber":10993,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/strip-json-comments\": {"},{"lineNumber":10994,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":10995,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":10996,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":10997,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":10998,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10999,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11000,"author":{"gitId":"-"},"content":" \"node_modules/pug-lint/node_modules/void-elements\": {"},{"lineNumber":11001,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":11002,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11003,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11004,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":11005,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11006,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11007,"author":{"gitId":"-"},"content":" \"node_modules/pug-load\": {"},{"lineNumber":11008,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":11009,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11010,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11011,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11012,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.1\","},{"lineNumber":11013,"author":{"gitId":"-"},"content":" \"pug-walk\": \"^2.0.0\""},{"lineNumber":11014,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11015,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11016,"author":{"gitId":"-"},"content":" \"node_modules/pug-parser\": {"},{"lineNumber":11017,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":11018,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11019,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11020,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11021,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\","},{"lineNumber":11022,"author":{"gitId":"-"},"content":" \"token-stream\": \"1.0.0\""},{"lineNumber":11023,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11024,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11025,"author":{"gitId":"-"},"content":" \"node_modules/pug-plain-loader\": {"},{"lineNumber":11026,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":11027,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11028,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11029,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11030,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^1.1.0\""},{"lineNumber":11031,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11032,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":11033,"author":{"gitId":"-"},"content":" \"pug\": \"^2.0.0 || ^3.0.0\""},{"lineNumber":11034,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11035,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11036,"author":{"gitId":"-"},"content":" \"node_modules/pug-runtime\": {"},{"lineNumber":11037,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":11038,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11039,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11040,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11041,"author":{"gitId":"-"},"content":" \"node_modules/pug-strip-comments\": {"},{"lineNumber":11042,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":11043,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11044,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11045,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11046,"author":{"gitId":"-"},"content":" \"pug-error\": \"^2.0.0\""},{"lineNumber":11047,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11048,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11049,"author":{"gitId":"-"},"content":" \"node_modules/pug-walk\": {"},{"lineNumber":11050,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":11051,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11052,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11053,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11054,"author":{"gitId":"-"},"content":" \"node_modules/pump\": {"},{"lineNumber":11055,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":11056,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11057,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11058,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11059,"author":{"gitId":"-"},"content":" \"end-of-stream\": \"^1.1.0\","},{"lineNumber":11060,"author":{"gitId":"-"},"content":" \"once\": \"^1.3.1\""},{"lineNumber":11061,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11062,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11063,"author":{"gitId":"-"},"content":" \"node_modules/punycode\": {"},{"lineNumber":11064,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":11065,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11066,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":11067,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":11068,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":11069,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11070,"author":{"gitId":"sopa301"},"content":" \"node_modules/punycode.js\": {"},{"lineNumber":11071,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.1\","},{"lineNumber":11072,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11073,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11074,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":11075,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11076,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11077,"author":{"gitId":"-"},"content":" \"node_modules/qs\": {"},{"lineNumber":11078,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.11.0\","},{"lineNumber":11079,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11080,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":11081,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":11082,"author":{"gitId":"sopa301"},"content":" \"side-channel\": \"^1.0.4\""},{"lineNumber":11083,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11084,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11085,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.6\""},{"lineNumber":11086,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11087,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":11088,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":11089,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11090,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11091,"author":{"gitId":"-"},"content":" \"node_modules/queue-microtask\": {"},{"lineNumber":11092,"author":{"gitId":"-"},"content":" \"version\": \"1.2.3\","},{"lineNumber":11093,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11094,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":11095,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11096,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":11097,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":11098,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11099,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11100,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":11101,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":11102,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11103,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11104,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":11105,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":11106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11107,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":11108,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11109,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11110,"author":{"gitId":"-"},"content":" \"node_modules/randombytes\": {"},{"lineNumber":11111,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":11112,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11113,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11114,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"^5.1.0\""},{"lineNumber":11115,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11116,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11117,"author":{"gitId":"-"},"content":" \"node_modules/range-parser\": {"},{"lineNumber":11118,"author":{"gitId":"-"},"content":" \"version\": \"1.2.1\","},{"lineNumber":11119,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11120,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11121,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11122,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":11123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11124,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11125,"author":{"gitId":"-"},"content":" \"node_modules/raw-body\": {"},{"lineNumber":11126,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.5.2\","},{"lineNumber":11127,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11128,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11129,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11130,"author":{"gitId":"-"},"content":" \"bytes\": \"3.1.2\","},{"lineNumber":11131,"author":{"gitId":"-"},"content":" \"http-errors\": \"2.0.0\","},{"lineNumber":11132,"author":{"gitId":"-"},"content":" \"iconv-lite\": \"0.4.24\","},{"lineNumber":11133,"author":{"gitId":"-"},"content":" \"unpipe\": \"1.0.0\""},{"lineNumber":11134,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11135,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11136,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":11137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11138,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11139,"author":{"gitId":"-"},"content":" \"node_modules/raw-body/node_modules/bytes\": {"},{"lineNumber":11140,"author":{"gitId":"-"},"content":" \"version\": \"3.1.2\","},{"lineNumber":11141,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11142,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11143,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11144,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":11145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11146,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11147,"author":{"gitId":"-"},"content":" \"node_modules/raw-body/node_modules/iconv-lite\": {"},{"lineNumber":11148,"author":{"gitId":"-"},"content":" \"version\": \"0.4.24\","},{"lineNumber":11149,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11150,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11151,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11152,"author":{"gitId":"-"},"content":" \"safer-buffer\": \"\u003e\u003d 2.1.2 \u003c 3\""},{"lineNumber":11153,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11154,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11155,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":11156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11157,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11158,"author":{"gitId":"-"},"content":" \"node_modules/react\": {"},{"lineNumber":11159,"author":{"gitId":"-"},"content":" \"version\": \"16.14.0\","},{"lineNumber":11160,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11161,"author":{"gitId":"-"},"content":" \"peer\": true,"},{"lineNumber":11162,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11163,"author":{"gitId":"-"},"content":" \"loose-envify\": \"^1.1.0\","},{"lineNumber":11164,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.1\","},{"lineNumber":11165,"author":{"gitId":"-"},"content":" \"prop-types\": \"^15.6.2\""},{"lineNumber":11166,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11167,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11168,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":11169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11170,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11171,"author":{"gitId":"-"},"content":" \"node_modules/react-addons-shallow-compare\": {"},{"lineNumber":11172,"author":{"gitId":"-"},"content":" \"version\": \"15.6.3\","},{"lineNumber":11173,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11174,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11175,"author":{"gitId":"-"},"content":" \"object-assign\": \"^4.1.0\""},{"lineNumber":11176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11177,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11178,"author":{"gitId":"-"},"content":" \"node_modules/react-is\": {"},{"lineNumber":11179,"author":{"gitId":"-"},"content":" \"version\": \"16.13.1\","},{"lineNumber":11180,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11181,"author":{"gitId":"-"},"content":" \"peer\": true"},{"lineNumber":11182,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11183,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg\": {"},{"lineNumber":11184,"author":{"gitId":"-"},"content":" \"version\": \"5.2.0\","},{"lineNumber":11185,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11186,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11187,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11188,"author":{"gitId":"-"},"content":" \"@types/normalize-package-data\": \"^2.4.0\","},{"lineNumber":11189,"author":{"gitId":"-"},"content":" \"normalize-package-data\": \"^2.5.0\","},{"lineNumber":11190,"author":{"gitId":"-"},"content":" \"parse-json\": \"^5.0.0\","},{"lineNumber":11191,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.6.0\""},{"lineNumber":11192,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11193,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11194,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11195,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11196,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11197,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up\": {"},{"lineNumber":11198,"author":{"gitId":"-"},"content":" \"version\": \"7.0.1\","},{"lineNumber":11199,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11200,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11201,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11202,"author":{"gitId":"-"},"content":" \"find-up\": \"^4.1.0\","},{"lineNumber":11203,"author":{"gitId":"-"},"content":" \"read-pkg\": \"^5.2.0\","},{"lineNumber":11204,"author":{"gitId":"-"},"content":" \"type-fest\": \"^0.8.1\""},{"lineNumber":11205,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11206,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11207,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11208,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11209,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11210,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":11211,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11212,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11213,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/find-up\": {"},{"lineNumber":11214,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":11215,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11216,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11217,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11218,"author":{"gitId":"-"},"content":" \"locate-path\": \"^5.0.0\","},{"lineNumber":11219,"author":{"gitId":"-"},"content":" \"path-exists\": \"^4.0.0\""},{"lineNumber":11220,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11221,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11222,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11223,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11224,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11225,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/locate-path\": {"},{"lineNumber":11226,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":11227,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11228,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11229,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11230,"author":{"gitId":"-"},"content":" \"p-locate\": \"^4.1.0\""},{"lineNumber":11231,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11232,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11233,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11235,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11236,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/p-limit\": {"},{"lineNumber":11237,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":11238,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11239,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11240,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11241,"author":{"gitId":"-"},"content":" \"p-try\": \"^2.0.0\""},{"lineNumber":11242,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11243,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11244,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":11245,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11246,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11247,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":11248,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11249,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11250,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/p-locate\": {"},{"lineNumber":11251,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":11252,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11253,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11254,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11255,"author":{"gitId":"-"},"content":" \"p-limit\": \"^2.2.0\""},{"lineNumber":11256,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11257,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11258,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11260,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11261,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg-up/node_modules/type-fest\": {"},{"lineNumber":11262,"author":{"gitId":"-"},"content":" \"version\": \"0.8.1\","},{"lineNumber":11263,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11264,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR CC0-1.0)\","},{"lineNumber":11265,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11266,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11268,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11269,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg/node_modules/hosted-git-info\": {"},{"lineNumber":11270,"author":{"gitId":"-"},"content":" \"version\": \"2.8.9\","},{"lineNumber":11271,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11272,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":11273,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11274,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg/node_modules/normalize-package-data\": {"},{"lineNumber":11275,"author":{"gitId":"-"},"content":" \"version\": \"2.5.0\","},{"lineNumber":11276,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11277,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":11278,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11279,"author":{"gitId":"-"},"content":" \"hosted-git-info\": \"^2.1.4\","},{"lineNumber":11280,"author":{"gitId":"-"},"content":" \"resolve\": \"^1.10.0\","},{"lineNumber":11281,"author":{"gitId":"-"},"content":" \"semver\": \"2 || 3 || 4 || 5\","},{"lineNumber":11282,"author":{"gitId":"-"},"content":" \"validate-npm-package-license\": \"^3.0.1\""},{"lineNumber":11283,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11284,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11285,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg/node_modules/semver\": {"},{"lineNumber":11286,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.7.2\","},{"lineNumber":11287,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11288,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":11289,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":11290,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver\""},{"lineNumber":11291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11292,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11293,"author":{"gitId":"-"},"content":" \"node_modules/read-pkg/node_modules/type-fest\": {"},{"lineNumber":11294,"author":{"gitId":"-"},"content":" \"version\": \"0.6.0\","},{"lineNumber":11295,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11296,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR CC0-1.0)\","},{"lineNumber":11297,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11298,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11299,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11300,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11301,"author":{"gitId":"-"},"content":" \"node_modules/readable-stream\": {"},{"lineNumber":11302,"author":{"gitId":"-"},"content":" \"version\": \"2.3.7\","},{"lineNumber":11303,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11304,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11305,"author":{"gitId":"-"},"content":" \"core-util-is\": \"~1.0.0\","},{"lineNumber":11306,"author":{"gitId":"-"},"content":" \"inherits\": \"~2.0.3\","},{"lineNumber":11307,"author":{"gitId":"-"},"content":" \"isarray\": \"~1.0.0\","},{"lineNumber":11308,"author":{"gitId":"-"},"content":" \"process-nextick-args\": \"~2.0.0\","},{"lineNumber":11309,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"~5.1.1\","},{"lineNumber":11310,"author":{"gitId":"-"},"content":" \"string_decoder\": \"~1.1.1\","},{"lineNumber":11311,"author":{"gitId":"-"},"content":" \"util-deprecate\": \"~1.0.1\""},{"lineNumber":11312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11313,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11314,"author":{"gitId":"-"},"content":" \"node_modules/readdirp\": {"},{"lineNumber":11315,"author":{"gitId":"-"},"content":" \"version\": \"3.6.0\","},{"lineNumber":11316,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11317,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11318,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11319,"author":{"gitId":"-"},"content":" \"picomatch\": \"^2.2.1\""},{"lineNumber":11320,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11321,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11322,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.10.0\""},{"lineNumber":11323,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11324,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11325,"author":{"gitId":"-"},"content":" \"node_modules/regenerate\": {"},{"lineNumber":11326,"author":{"gitId":"-"},"content":" \"version\": \"1.4.2\","},{"lineNumber":11327,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11328,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11329,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11330,"author":{"gitId":"-"},"content":" \"node_modules/regenerate-unicode-properties\": {"},{"lineNumber":11331,"author":{"gitId":"-"},"content":" \"version\": \"10.1.0\","},{"lineNumber":11332,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11333,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11334,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11335,"author":{"gitId":"-"},"content":" \"regenerate\": \"^1.4.2\""},{"lineNumber":11336,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11337,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11338,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":11339,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11340,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11341,"author":{"gitId":"-"},"content":" \"node_modules/regenerator-runtime\": {"},{"lineNumber":11342,"author":{"gitId":"-"},"content":" \"version\": \"0.13.11\","},{"lineNumber":11343,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11344,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11345,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11346,"author":{"gitId":"-"},"content":" \"node_modules/regenerator-transform\": {"},{"lineNumber":11347,"author":{"gitId":"-"},"content":" \"version\": \"0.15.1\","},{"lineNumber":11348,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11349,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11350,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11351,"author":{"gitId":"-"},"content":" \"@babel/runtime\": \"^7.8.4\""},{"lineNumber":11352,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11353,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11354,"author":{"gitId":"-"},"content":" \"node_modules/regexp.prototype.flags\": {"},{"lineNumber":11355,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.2\","},{"lineNumber":11356,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11357,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11358,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11359,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.6\","},{"lineNumber":11360,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.1\","},{"lineNumber":11361,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":11362,"author":{"gitId":"sopa301"},"content":" \"set-function-name\": \"^2.0.1\""},{"lineNumber":11363,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11364,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11365,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":11366,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11367,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11368,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":11369,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11370,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11371,"author":{"gitId":"-"},"content":" \"node_modules/regexpu-core\": {"},{"lineNumber":11372,"author":{"gitId":"-"},"content":" \"version\": \"5.2.2\","},{"lineNumber":11373,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11374,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11375,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11376,"author":{"gitId":"-"},"content":" \"regenerate\": \"^1.4.2\","},{"lineNumber":11377,"author":{"gitId":"-"},"content":" \"regenerate-unicode-properties\": \"^10.1.0\","},{"lineNumber":11378,"author":{"gitId":"-"},"content":" \"regjsgen\": \"^0.7.1\","},{"lineNumber":11379,"author":{"gitId":"-"},"content":" \"regjsparser\": \"^0.9.1\","},{"lineNumber":11380,"author":{"gitId":"-"},"content":" \"unicode-match-property-ecmascript\": \"^2.0.0\","},{"lineNumber":11381,"author":{"gitId":"-"},"content":" \"unicode-match-property-value-ecmascript\": \"^2.1.0\""},{"lineNumber":11382,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11383,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11384,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":11385,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11386,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11387,"author":{"gitId":"-"},"content":" \"node_modules/regjsgen\": {"},{"lineNumber":11388,"author":{"gitId":"-"},"content":" \"version\": \"0.7.1\","},{"lineNumber":11389,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11390,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11391,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11392,"author":{"gitId":"-"},"content":" \"node_modules/regjsparser\": {"},{"lineNumber":11393,"author":{"gitId":"-"},"content":" \"version\": \"0.9.1\","},{"lineNumber":11394,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11395,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":11396,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11397,"author":{"gitId":"-"},"content":" \"jsesc\": \"~0.5.0\""},{"lineNumber":11398,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11399,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":11400,"author":{"gitId":"-"},"content":" \"regjsparser\": \"bin/parser\""},{"lineNumber":11401,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11402,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11403,"author":{"gitId":"-"},"content":" \"node_modules/regjsparser/node_modules/jsesc\": {"},{"lineNumber":11404,"author":{"gitId":"-"},"content":" \"version\": \"0.5.0\","},{"lineNumber":11405,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11406,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":11407,"author":{"gitId":"-"},"content":" \"jsesc\": \"bin/jsesc\""},{"lineNumber":11408,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11409,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11410,"author":{"gitId":"-"},"content":" \"node_modules/relateurl\": {"},{"lineNumber":11411,"author":{"gitId":"-"},"content":" \"version\": \"0.2.7\","},{"lineNumber":11412,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11413,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11414,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11415,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.10\""},{"lineNumber":11416,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11417,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11418,"author":{"gitId":"-"},"content":" \"node_modules/renderkid\": {"},{"lineNumber":11419,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":11420,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11421,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11422,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11423,"author":{"gitId":"-"},"content":" \"css-select\": \"^4.1.3\","},{"lineNumber":11424,"author":{"gitId":"-"},"content":" \"dom-converter\": \"^0.2.0\","},{"lineNumber":11425,"author":{"gitId":"-"},"content":" \"htmlparser2\": \"^6.1.0\","},{"lineNumber":11426,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.21\","},{"lineNumber":11427,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":11428,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11429,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11430,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/css-select\": {"},{"lineNumber":11431,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":11432,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11433,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":11434,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11435,"author":{"gitId":"-"},"content":" \"boolbase\": \"^1.0.0\","},{"lineNumber":11436,"author":{"gitId":"-"},"content":" \"css-what\": \"^6.0.1\","},{"lineNumber":11437,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.3.1\","},{"lineNumber":11438,"author":{"gitId":"-"},"content":" \"domutils\": \"^2.8.0\","},{"lineNumber":11439,"author":{"gitId":"-"},"content":" \"nth-check\": \"^2.0.1\""},{"lineNumber":11440,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11441,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11442,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":11443,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11444,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11445,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/dom-serializer\": {"},{"lineNumber":11446,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\","},{"lineNumber":11447,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11448,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11449,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11450,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\","},{"lineNumber":11451,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\","},{"lineNumber":11452,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\""},{"lineNumber":11453,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11454,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11455,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor\u003d1\""},{"lineNumber":11456,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11457,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11458,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/domhandler\": {"},{"lineNumber":11459,"author":{"gitId":"-"},"content":" \"version\": \"4.3.1\","},{"lineNumber":11460,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11461,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":11462,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11463,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\""},{"lineNumber":11464,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11465,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11466,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":11467,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11468,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11469,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\""},{"lineNumber":11470,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11471,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11472,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/domutils\": {"},{"lineNumber":11473,"author":{"gitId":"-"},"content":" \"version\": \"2.8.0\","},{"lineNumber":11474,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11475,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":11476,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11477,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^1.0.1\","},{"lineNumber":11478,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\","},{"lineNumber":11479,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\""},{"lineNumber":11480,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11481,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11482,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domutils?sponsor\u003d1\""},{"lineNumber":11483,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11484,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11485,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/entities\": {"},{"lineNumber":11486,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":11487,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11488,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":11489,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11490,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/entities?sponsor\u003d1\""},{"lineNumber":11491,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11492,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11493,"author":{"gitId":"-"},"content":" \"node_modules/renderkid/node_modules/htmlparser2\": {"},{"lineNumber":11494,"author":{"gitId":"-"},"content":" \"version\": \"6.1.0\","},{"lineNumber":11495,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11496,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":11497,"author":{"gitId":"-"},"content":" \"https://github.com/fb55/htmlparser2?sponsor\u003d1\","},{"lineNumber":11498,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11499,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":11500,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":11501,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11502,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":11503,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11504,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11505,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\","},{"lineNumber":11506,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.0.0\","},{"lineNumber":11507,"author":{"gitId":"-"},"content":" \"domutils\": \"^2.5.2\","},{"lineNumber":11508,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\""},{"lineNumber":11509,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11510,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11511,"author":{"gitId":"-"},"content":" \"node_modules/require-directory\": {"},{"lineNumber":11512,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\","},{"lineNumber":11513,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11514,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11515,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11516,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":11517,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11518,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11519,"author":{"gitId":"-"},"content":" \"node_modules/require-from-string\": {"},{"lineNumber":11520,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\","},{"lineNumber":11521,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11522,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11523,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11524,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":11525,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11526,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11527,"author":{"gitId":"-"},"content":" \"node_modules/requires-port\": {"},{"lineNumber":11528,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":11529,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11530,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11531,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11532,"author":{"gitId":"-"},"content":" \"node_modules/resolve\": {"},{"lineNumber":11533,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.22.8\","},{"lineNumber":11534,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11535,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11536,"author":{"gitId":"sopa301"},"content":" \"is-core-module\": \"^2.13.0\","},{"lineNumber":11537,"author":{"gitId":"-"},"content":" \"path-parse\": \"^1.0.7\","},{"lineNumber":11538,"author":{"gitId":"-"},"content":" \"supports-preserve-symlinks-flag\": \"^1.0.0\""},{"lineNumber":11539,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11540,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":11541,"author":{"gitId":"-"},"content":" \"resolve\": \"bin/resolve\""},{"lineNumber":11542,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11543,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11544,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":11545,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11546,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11547,"author":{"gitId":"-"},"content":" \"node_modules/resolve-from\": {"},{"lineNumber":11548,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":11549,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11550,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11551,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11552,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":11553,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11554,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11555,"author":{"gitId":"-"},"content":" \"node_modules/restore-cursor\": {"},{"lineNumber":11556,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":11557,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11558,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11559,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11560,"author":{"gitId":"-"},"content":" \"onetime\": \"^5.1.0\","},{"lineNumber":11561,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.2\""},{"lineNumber":11562,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11563,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11564,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11565,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11566,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11567,"author":{"gitId":"-"},"content":" \"node_modules/reusify\": {"},{"lineNumber":11568,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":11569,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11570,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11571,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11572,"author":{"gitId":"-"},"content":" \"iojs\": \"\u003e\u003d1.0.0\","},{"lineNumber":11573,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":11574,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11575,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11576,"author":{"gitId":"-"},"content":" \"node_modules/rimraf\": {"},{"lineNumber":11577,"author":{"gitId":"-"},"content":" \"version\": \"3.0.2\","},{"lineNumber":11578,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11579,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":11580,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11581,"author":{"gitId":"-"},"content":" \"glob\": \"^7.1.3\""},{"lineNumber":11582,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11583,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":11584,"author":{"gitId":"-"},"content":" \"rimraf\": \"bin.js\""},{"lineNumber":11585,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11586,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11587,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/isaacs\""},{"lineNumber":11588,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11589,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11590,"author":{"gitId":"-"},"content":" \"node_modules/run-parallel\": {"},{"lineNumber":11591,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":11592,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11593,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":11594,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11595,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":11596,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/feross\""},{"lineNumber":11597,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11598,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11599,"author":{"gitId":"-"},"content":" \"type\": \"patreon\","},{"lineNumber":11600,"author":{"gitId":"-"},"content":" \"url\": \"https://www.patreon.com/feross\""},{"lineNumber":11601,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11602,"author":{"gitId":"-"},"content":" {"},{"lineNumber":11603,"author":{"gitId":"-"},"content":" \"type\": \"consulting\","},{"lineNumber":11604,"author":{"gitId":"-"},"content":" \"url\": \"https://feross.org/support\""},{"lineNumber":11605,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11606,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":11607,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11608,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11609,"author":{"gitId":"-"},"content":" \"queue-microtask\": \"^1.2.2\""},{"lineNumber":11610,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11611,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11612,"author":{"gitId":"sopa301"},"content":" \"node_modules/safe-array-concat\": {"},{"lineNumber":11613,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.2\","},{"lineNumber":11614,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11615,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11616,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":11617,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\","},{"lineNumber":11618,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\","},{"lineNumber":11619,"author":{"gitId":"sopa301"},"content":" \"has-symbols\": \"^1.0.3\","},{"lineNumber":11620,"author":{"gitId":"sopa301"},"content":" \"isarray\": \"^2.0.5\""},{"lineNumber":11621,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11622,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":11623,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d0.4\""},{"lineNumber":11624,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11625,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":11626,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":11627,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":11628,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11629,"author":{"gitId":"sopa301"},"content":" \"node_modules/safe-array-concat/node_modules/isarray\": {"},{"lineNumber":11630,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.5\","},{"lineNumber":11631,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11632,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11633,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11634,"author":{"gitId":"-"},"content":" \"node_modules/safe-buffer\": {"},{"lineNumber":11635,"author":{"gitId":"-"},"content":" \"version\": \"5.1.2\","},{"lineNumber":11636,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11637,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11638,"author":{"gitId":"-"},"content":" \"node_modules/safe-regex-test\": {"},{"lineNumber":11639,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.3\","},{"lineNumber":11640,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11641,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11642,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11643,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.6\","},{"lineNumber":11644,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":11645,"author":{"gitId":"-"},"content":" \"is-regex\": \"^1.1.4\""},{"lineNumber":11646,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11647,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":11648,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":11649,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11650,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11651,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":11652,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11653,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11654,"author":{"gitId":"-"},"content":" \"node_modules/safer-buffer\": {"},{"lineNumber":11655,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\","},{"lineNumber":11656,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11657,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11658,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11659,"author":{"gitId":"-"},"content":" \"node_modules/sass\": {"},{"lineNumber":11660,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.72.0\","},{"lineNumber":11661,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11662,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11663,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11664,"author":{"gitId":"-"},"content":" \"chokidar\": \"\u003e\u003d3.0.0 \u003c4.0.0\","},{"lineNumber":11665,"author":{"gitId":"-"},"content":" \"immutable\": \"^4.0.0\","},{"lineNumber":11666,"author":{"gitId":"-"},"content":" \"source-map-js\": \"\u003e\u003d0.6.2 \u003c2.0.0\""},{"lineNumber":11667,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11668,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":11669,"author":{"gitId":"-"},"content":" \"sass\": \"sass.js\""},{"lineNumber":11670,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11671,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11672,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d14.0.0\""},{"lineNumber":11673,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11674,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11675,"author":{"gitId":"-"},"content":" \"node_modules/sass-loader\": {"},{"lineNumber":11676,"author":{"gitId":"sopa301"},"content":" \"version\": \"14.2.1\","},{"lineNumber":11677,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/sass-loader/-/sass-loader-14.2.1.tgz\","},{"lineNumber":11678,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-G0VcnMYU18a4N7VoNDegg2OuMjYtxnqzQWARVWCIVSZwJeiL9kg8QMsuIZOplsJgTzZLF6jGxI3AClj8I9nRdQ\u003d\u003d\","},{"lineNumber":11679,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11680,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11681,"author":{"gitId":"-"},"content":" \"neo-async\": \"^2.6.2\""},{"lineNumber":11682,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11683,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11684,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 18.12.0\""},{"lineNumber":11685,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11686,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11687,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":11688,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":11689,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11690,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":11691,"author":{"gitId":"sopa301"},"content":" \"@rspack/core\": \"0.x || 1.x\","},{"lineNumber":11692,"author":{"gitId":"sopa301"},"content":" \"node-sass\": \"^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0\","},{"lineNumber":11693,"author":{"gitId":"-"},"content":" \"sass\": \"^1.3.0\","},{"lineNumber":11694,"author":{"gitId":"-"},"content":" \"sass-embedded\": \"*\","},{"lineNumber":11695,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":11696,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11697,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":11698,"author":{"gitId":"sopa301"},"content":" \"@rspack/core\": {"},{"lineNumber":11699,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":11700,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11701,"author":{"gitId":"-"},"content":" \"node-sass\": {"},{"lineNumber":11702,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":11703,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11704,"author":{"gitId":"-"},"content":" \"sass\": {"},{"lineNumber":11705,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":11706,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11707,"author":{"gitId":"-"},"content":" \"sass-embedded\": {"},{"lineNumber":11708,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":11709,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11710,"author":{"gitId":"sopa301"},"content":" \"webpack\": {"},{"lineNumber":11711,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":11712,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11713,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11714,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11715,"author":{"gitId":"-"},"content":" \"node_modules/schema-utils\": {"},{"lineNumber":11716,"author":{"gitId":"-"},"content":" \"version\": \"2.7.1\","},{"lineNumber":11717,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11718,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11719,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11720,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.5\","},{"lineNumber":11721,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.4\","},{"lineNumber":11722,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\""},{"lineNumber":11723,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11724,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11725,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8.9.0\""},{"lineNumber":11726,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11727,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11728,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":11729,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":11730,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11731,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11732,"author":{"gitId":"-"},"content":" \"node_modules/seedrandom\": {"},{"lineNumber":11733,"author":{"gitId":"-"},"content":" \"version\": \"3.0.5\","},{"lineNumber":11734,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11735,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11736,"author":{"gitId":"-"},"content":" \"node_modules/select-hose\": {"},{"lineNumber":11737,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":11738,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11739,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11740,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11741,"author":{"gitId":"-"},"content":" \"node_modules/selfsigned\": {"},{"lineNumber":11742,"author":{"gitId":"-"},"content":" \"version\": \"2.1.1\","},{"lineNumber":11743,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11744,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11745,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11746,"author":{"gitId":"-"},"content":" \"node-forge\": \"^1\""},{"lineNumber":11747,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11748,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11749,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":11750,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11751,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11752,"author":{"gitId":"-"},"content":" \"node_modules/semver\": {"},{"lineNumber":11753,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.3.1\","},{"lineNumber":11754,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11755,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":11756,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":11757,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":11758,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11759,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11760,"author":{"gitId":"-"},"content":" \"node_modules/send\": {"},{"lineNumber":11761,"author":{"gitId":"-"},"content":" \"version\": \"0.18.0\","},{"lineNumber":11762,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11763,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11764,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11765,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\","},{"lineNumber":11766,"author":{"gitId":"-"},"content":" \"depd\": \"2.0.0\","},{"lineNumber":11767,"author":{"gitId":"-"},"content":" \"destroy\": \"1.2.0\","},{"lineNumber":11768,"author":{"gitId":"-"},"content":" \"encodeurl\": \"~1.0.2\","},{"lineNumber":11769,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\","},{"lineNumber":11770,"author":{"gitId":"-"},"content":" \"etag\": \"~1.8.1\","},{"lineNumber":11771,"author":{"gitId":"-"},"content":" \"fresh\": \"0.5.2\","},{"lineNumber":11772,"author":{"gitId":"-"},"content":" \"http-errors\": \"2.0.0\","},{"lineNumber":11773,"author":{"gitId":"-"},"content":" \"mime\": \"1.6.0\","},{"lineNumber":11774,"author":{"gitId":"-"},"content":" \"ms\": \"2.1.3\","},{"lineNumber":11775,"author":{"gitId":"-"},"content":" \"on-finished\": \"2.4.1\","},{"lineNumber":11776,"author":{"gitId":"-"},"content":" \"range-parser\": \"~1.2.1\","},{"lineNumber":11777,"author":{"gitId":"-"},"content":" \"statuses\": \"2.0.1\""},{"lineNumber":11778,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11779,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11780,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":11781,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11782,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11783,"author":{"gitId":"-"},"content":" \"node_modules/send/node_modules/debug\": {"},{"lineNumber":11784,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\","},{"lineNumber":11785,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11786,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11787,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11788,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\""},{"lineNumber":11789,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11790,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11791,"author":{"gitId":"-"},"content":" \"node_modules/send/node_modules/debug/node_modules/ms\": {"},{"lineNumber":11792,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":11793,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11794,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11795,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11796,"author":{"gitId":"-"},"content":" \"node_modules/send/node_modules/depd\": {"},{"lineNumber":11797,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":11798,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11799,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11800,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11801,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":11802,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11803,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11804,"author":{"gitId":"-"},"content":" \"node_modules/send/node_modules/ms\": {"},{"lineNumber":11805,"author":{"gitId":"-"},"content":" \"version\": \"2.1.3\","},{"lineNumber":11806,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11807,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11808,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11809,"author":{"gitId":"-"},"content":" \"node_modules/serialize-javascript\": {"},{"lineNumber":11810,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\","},{"lineNumber":11811,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":11812,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11813,"author":{"gitId":"-"},"content":" \"randombytes\": \"^2.1.0\""},{"lineNumber":11814,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11815,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11816,"author":{"gitId":"-"},"content":" \"node_modules/serve-index\": {"},{"lineNumber":11817,"author":{"gitId":"-"},"content":" \"version\": \"1.9.1\","},{"lineNumber":11818,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11819,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11820,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11821,"author":{"gitId":"-"},"content":" \"accepts\": \"~1.3.4\","},{"lineNumber":11822,"author":{"gitId":"-"},"content":" \"batch\": \"0.6.1\","},{"lineNumber":11823,"author":{"gitId":"-"},"content":" \"debug\": \"2.6.9\","},{"lineNumber":11824,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\","},{"lineNumber":11825,"author":{"gitId":"-"},"content":" \"http-errors\": \"~1.6.2\","},{"lineNumber":11826,"author":{"gitId":"-"},"content":" \"mime-types\": \"~2.1.17\","},{"lineNumber":11827,"author":{"gitId":"-"},"content":" \"parseurl\": \"~1.3.2\""},{"lineNumber":11828,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11829,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11830,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":11831,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11832,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11833,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/debug\": {"},{"lineNumber":11834,"author":{"gitId":"-"},"content":" \"version\": \"2.6.9\","},{"lineNumber":11835,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11836,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11837,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11838,"author":{"gitId":"-"},"content":" \"ms\": \"2.0.0\""},{"lineNumber":11839,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11840,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11841,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/http-errors\": {"},{"lineNumber":11842,"author":{"gitId":"-"},"content":" \"version\": \"1.6.3\","},{"lineNumber":11843,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11844,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11845,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11846,"author":{"gitId":"-"},"content":" \"depd\": \"~1.1.2\","},{"lineNumber":11847,"author":{"gitId":"-"},"content":" \"inherits\": \"2.0.3\","},{"lineNumber":11848,"author":{"gitId":"-"},"content":" \"setprototypeof\": \"1.1.0\","},{"lineNumber":11849,"author":{"gitId":"-"},"content":" \"statuses\": \"\u003e\u003d 1.4.0 \u003c 2\""},{"lineNumber":11850,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11851,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11852,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":11853,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11854,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11855,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/inherits\": {"},{"lineNumber":11856,"author":{"gitId":"-"},"content":" \"version\": \"2.0.3\","},{"lineNumber":11857,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11858,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":11859,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11860,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/ms\": {"},{"lineNumber":11861,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":11862,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11863,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11864,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11865,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/setprototypeof\": {"},{"lineNumber":11866,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":11867,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11868,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":11869,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11870,"author":{"gitId":"-"},"content":" \"node_modules/serve-index/node_modules/statuses\": {"},{"lineNumber":11871,"author":{"gitId":"-"},"content":" \"version\": \"1.5.0\","},{"lineNumber":11872,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11873,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11874,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11875,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":11876,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11877,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11878,"author":{"gitId":"-"},"content":" \"node_modules/serve-static\": {"},{"lineNumber":11879,"author":{"gitId":"-"},"content":" \"version\": \"1.15.0\","},{"lineNumber":11880,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11881,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11882,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11883,"author":{"gitId":"-"},"content":" \"encodeurl\": \"~1.0.2\","},{"lineNumber":11884,"author":{"gitId":"-"},"content":" \"escape-html\": \"~1.0.3\","},{"lineNumber":11885,"author":{"gitId":"-"},"content":" \"parseurl\": \"~1.3.3\","},{"lineNumber":11886,"author":{"gitId":"-"},"content":" \"send\": \"0.18.0\""},{"lineNumber":11887,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11888,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11889,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":11890,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11891,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11892,"author":{"gitId":"sopa301"},"content":" \"node_modules/set-function-length\": {"},{"lineNumber":11893,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.2\","},{"lineNumber":11894,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11895,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":11896,"author":{"gitId":"sopa301"},"content":" \"define-data-property\": \"^1.1.4\","},{"lineNumber":11897,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":11898,"author":{"gitId":"sopa301"},"content":" \"function-bind\": \"^1.1.2\","},{"lineNumber":11899,"author":{"gitId":"sopa301"},"content":" \"get-intrinsic\": \"^1.2.4\","},{"lineNumber":11900,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\","},{"lineNumber":11901,"author":{"gitId":"sopa301"},"content":" \"has-property-descriptors\": \"^1.0.2\""},{"lineNumber":11902,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11903,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":11904,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":11905,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":11906,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11907,"author":{"gitId":"sopa301"},"content":" \"node_modules/set-function-name\": {"},{"lineNumber":11908,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.2\","},{"lineNumber":11909,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11910,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11911,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":11912,"author":{"gitId":"sopa301"},"content":" \"define-data-property\": \"^1.1.4\","},{"lineNumber":11913,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":11914,"author":{"gitId":"sopa301"},"content":" \"functions-have-names\": \"^1.2.3\","},{"lineNumber":11915,"author":{"gitId":"sopa301"},"content":" \"has-property-descriptors\": \"^1.0.2\""},{"lineNumber":11916,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":11917,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":11918,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":11919,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":11920,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11921,"author":{"gitId":"-"},"content":" \"node_modules/setimmediate\": {"},{"lineNumber":11922,"author":{"gitId":"-"},"content":" \"version\": \"1.0.5\","},{"lineNumber":11923,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":11924,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11925,"author":{"gitId":"-"},"content":" \"node_modules/setprototypeof\": {"},{"lineNumber":11926,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":11927,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11928,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":11929,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11930,"author":{"gitId":"-"},"content":" \"node_modules/shallow-clone\": {"},{"lineNumber":11931,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":11932,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11933,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11934,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11935,"author":{"gitId":"-"},"content":" \"kind-of\": \"^6.0.2\""},{"lineNumber":11936,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11937,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11938,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11939,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11940,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11941,"author":{"gitId":"-"},"content":" \"node_modules/shebang-command\": {"},{"lineNumber":11942,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":11943,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11944,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11945,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11946,"author":{"gitId":"-"},"content":" \"shebang-regex\": \"^3.0.0\""},{"lineNumber":11947,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11948,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11949,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11950,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11951,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11952,"author":{"gitId":"-"},"content":" \"node_modules/shebang-regex\": {"},{"lineNumber":11953,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":11954,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11955,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11956,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11957,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":11958,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11959,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11960,"author":{"gitId":"-"},"content":" \"node_modules/shell-quote\": {"},{"lineNumber":11961,"author":{"gitId":"-"},"content":" \"version\": \"1.7.4\","},{"lineNumber":11962,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11963,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11964,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11965,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":11966,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11967,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11968,"author":{"gitId":"-"},"content":" \"node_modules/side-channel\": {"},{"lineNumber":11969,"author":{"gitId":"-"},"content":" \"version\": \"1.0.4\","},{"lineNumber":11970,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11971,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11972,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11973,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.0\","},{"lineNumber":11974,"author":{"gitId":"-"},"content":" \"get-intrinsic\": \"^1.0.2\","},{"lineNumber":11975,"author":{"gitId":"-"},"content":" \"object-inspect\": \"^1.9.0\""},{"lineNumber":11976,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11977,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":11978,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":11979,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11980,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11981,"author":{"gitId":"-"},"content":" \"node_modules/signal-exit\": {"},{"lineNumber":11982,"author":{"gitId":"-"},"content":" \"version\": \"3.0.7\","},{"lineNumber":11983,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":11984,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":11985,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11986,"author":{"gitId":"-"},"content":" \"node_modules/sirv\": {"},{"lineNumber":11987,"author":{"gitId":"-"},"content":" \"version\": \"1.0.19\","},{"lineNumber":11988,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":11989,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":11990,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":11991,"author":{"gitId":"-"},"content":" \"@polka/url\": \"^1.0.0-next.20\","},{"lineNumber":11992,"author":{"gitId":"-"},"content":" \"mrmime\": \"^1.0.0\","},{"lineNumber":11993,"author":{"gitId":"-"},"content":" \"totalist\": \"^1.0.0\""},{"lineNumber":11994,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11995,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":11996,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\""},{"lineNumber":11997,"author":{"gitId":"-"},"content":" }"},{"lineNumber":11998,"author":{"gitId":"-"},"content":" },"},{"lineNumber":11999,"author":{"gitId":"-"},"content":" \"node_modules/slash\": {"},{"lineNumber":12000,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":12001,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12002,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12003,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12004,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12005,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12006,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12007,"author":{"gitId":"-"},"content":" \"node_modules/slice-ansi\": {"},{"lineNumber":12008,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":12009,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12010,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12011,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12012,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":12013,"author":{"gitId":"-"},"content":" \"astral-regex\": \"^2.0.0\","},{"lineNumber":12014,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\""},{"lineNumber":12015,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12016,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12017,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":12018,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12019,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12020,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/slice-ansi?sponsor\u003d1\""},{"lineNumber":12021,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12022,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12023,"author":{"gitId":"-"},"content":" \"node_modules/slice-ansi/node_modules/ansi-styles\": {"},{"lineNumber":12024,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":12025,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12026,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12027,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12028,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":12029,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12030,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12031,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12032,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12033,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12034,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":12035,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12036,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12037,"author":{"gitId":"-"},"content":" \"node_modules/slice-ansi/node_modules/color-convert\": {"},{"lineNumber":12038,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":12039,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12040,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12041,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12042,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":12043,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12044,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12045,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":12046,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12047,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12048,"author":{"gitId":"-"},"content":" \"node_modules/slice-ansi/node_modules/color-name\": {"},{"lineNumber":12049,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":12050,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12051,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":12052,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12053,"author":{"gitId":"-"},"content":" \"node_modules/sockjs\": {"},{"lineNumber":12054,"author":{"gitId":"-"},"content":" \"version\": \"0.3.24\","},{"lineNumber":12055,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12056,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12057,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12058,"author":{"gitId":"-"},"content":" \"faye-websocket\": \"^0.11.3\","},{"lineNumber":12059,"author":{"gitId":"-"},"content":" \"uuid\": \"^8.3.2\","},{"lineNumber":12060,"author":{"gitId":"-"},"content":" \"websocket-driver\": \"^0.7.4\""},{"lineNumber":12061,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12062,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12063,"author":{"gitId":"-"},"content":" \"node_modules/sockjs/node_modules/uuid\": {"},{"lineNumber":12064,"author":{"gitId":"-"},"content":" \"version\": \"8.3.2\","},{"lineNumber":12065,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12066,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12067,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":12068,"author":{"gitId":"-"},"content":" \"uuid\": \"dist/bin/uuid\""},{"lineNumber":12069,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12070,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12071,"author":{"gitId":"-"},"content":" \"node_modules/source-map\": {"},{"lineNumber":12072,"author":{"gitId":"-"},"content":" \"version\": \"0.6.1\","},{"lineNumber":12073,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":12074,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12075,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":12076,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12077,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12078,"author":{"gitId":"-"},"content":" \"node_modules/source-map-js\": {"},{"lineNumber":12079,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.0\","},{"lineNumber":12080,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":12081,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12082,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":12083,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12084,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12085,"author":{"gitId":"-"},"content":" \"node_modules/source-map-support\": {"},{"lineNumber":12086,"author":{"gitId":"-"},"content":" \"version\": \"0.5.21\","},{"lineNumber":12087,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12088,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12089,"author":{"gitId":"-"},"content":" \"buffer-from\": \"^1.0.0\","},{"lineNumber":12090,"author":{"gitId":"-"},"content":" \"source-map\": \"^0.6.0\""},{"lineNumber":12091,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12092,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12093,"author":{"gitId":"-"},"content":" \"node_modules/spdx-correct\": {"},{"lineNumber":12094,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":12095,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12096,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":12097,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12098,"author":{"gitId":"-"},"content":" \"spdx-expression-parse\": \"^3.0.0\","},{"lineNumber":12099,"author":{"gitId":"-"},"content":" \"spdx-license-ids\": \"^3.0.0\""},{"lineNumber":12100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12101,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12102,"author":{"gitId":"-"},"content":" \"node_modules/spdx-exceptions\": {"},{"lineNumber":12103,"author":{"gitId":"-"},"content":" \"version\": \"2.3.0\","},{"lineNumber":12104,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12105,"author":{"gitId":"sopa301"},"content":" \"license\": \"CC-BY-3.0\""},{"lineNumber":12106,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12107,"author":{"gitId":"-"},"content":" \"node_modules/spdx-expression-parse\": {"},{"lineNumber":12108,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":12109,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12110,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12111,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12112,"author":{"gitId":"-"},"content":" \"spdx-exceptions\": \"^2.1.0\","},{"lineNumber":12113,"author":{"gitId":"-"},"content":" \"spdx-license-ids\": \"^3.0.0\""},{"lineNumber":12114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12115,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12116,"author":{"gitId":"-"},"content":" \"node_modules/spdx-license-ids\": {"},{"lineNumber":12117,"author":{"gitId":"-"},"content":" \"version\": \"3.0.12\","},{"lineNumber":12118,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12119,"author":{"gitId":"sopa301"},"content":" \"license\": \"CC0-1.0\""},{"lineNumber":12120,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12121,"author":{"gitId":"-"},"content":" \"node_modules/spdy\": {"},{"lineNumber":12122,"author":{"gitId":"-"},"content":" \"version\": \"4.0.2\","},{"lineNumber":12123,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12124,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12125,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12126,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.0\","},{"lineNumber":12127,"author":{"gitId":"-"},"content":" \"handle-thing\": \"^2.0.0\","},{"lineNumber":12128,"author":{"gitId":"-"},"content":" \"http-deceiver\": \"^1.2.7\","},{"lineNumber":12129,"author":{"gitId":"-"},"content":" \"select-hose\": \"^2.0.0\","},{"lineNumber":12130,"author":{"gitId":"-"},"content":" \"spdy-transport\": \"^3.0.0\""},{"lineNumber":12131,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12132,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12133,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6.0.0\""},{"lineNumber":12134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12135,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12136,"author":{"gitId":"-"},"content":" \"node_modules/spdy-transport\": {"},{"lineNumber":12137,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":12138,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12139,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12140,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12141,"author":{"gitId":"-"},"content":" \"debug\": \"^4.1.0\","},{"lineNumber":12142,"author":{"gitId":"-"},"content":" \"detect-node\": \"^2.0.4\","},{"lineNumber":12143,"author":{"gitId":"-"},"content":" \"hpack.js\": \"^2.1.6\","},{"lineNumber":12144,"author":{"gitId":"-"},"content":" \"obuf\": \"^1.1.2\","},{"lineNumber":12145,"author":{"gitId":"-"},"content":" \"readable-stream\": \"^3.0.6\","},{"lineNumber":12146,"author":{"gitId":"-"},"content":" \"wbuf\": \"^1.7.3\""},{"lineNumber":12147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12148,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12149,"author":{"gitId":"-"},"content":" \"node_modules/spdy-transport/node_modules/readable-stream\": {"},{"lineNumber":12150,"author":{"gitId":"-"},"content":" \"version\": \"3.6.0\","},{"lineNumber":12151,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12152,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12153,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12154,"author":{"gitId":"-"},"content":" \"inherits\": \"^2.0.3\","},{"lineNumber":12155,"author":{"gitId":"-"},"content":" \"string_decoder\": \"^1.1.1\","},{"lineNumber":12156,"author":{"gitId":"-"},"content":" \"util-deprecate\": \"^1.0.1\""},{"lineNumber":12157,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12158,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12159,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":12160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12161,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12162,"author":{"gitId":"-"},"content":" \"node_modules/ssri\": {"},{"lineNumber":12163,"author":{"gitId":"-"},"content":" \"version\": \"8.0.1\","},{"lineNumber":12164,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12165,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":12166,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12167,"author":{"gitId":"-"},"content":" \"minipass\": \"^3.1.1\""},{"lineNumber":12168,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12169,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12170,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":12171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12172,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12173,"author":{"gitId":"-"},"content":" \"node_modules/stable\": {"},{"lineNumber":12174,"author":{"gitId":"-"},"content":" \"version\": \"0.1.8\","},{"lineNumber":12175,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12176,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":12177,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12178,"author":{"gitId":"-"},"content":" \"node_modules/stackframe\": {"},{"lineNumber":12179,"author":{"gitId":"-"},"content":" \"version\": \"1.3.4\","},{"lineNumber":12180,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12181,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":12182,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12183,"author":{"gitId":"-"},"content":" \"node_modules/statuses\": {"},{"lineNumber":12184,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":12185,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12186,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12187,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12188,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":12189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12190,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12191,"author":{"gitId":"-"},"content":" \"node_modules/string_decoder\": {"},{"lineNumber":12192,"author":{"gitId":"-"},"content":" \"version\": \"1.1.1\","},{"lineNumber":12193,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12194,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12195,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"~5.1.0\""},{"lineNumber":12196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12197,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12198,"author":{"gitId":"-"},"content":" \"node_modules/string-width\": {"},{"lineNumber":12199,"author":{"gitId":"-"},"content":" \"version\": \"4.2.3\","},{"lineNumber":12200,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12201,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12202,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12203,"author":{"gitId":"-"},"content":" \"emoji-regex\": \"^8.0.0\","},{"lineNumber":12204,"author":{"gitId":"-"},"content":" \"is-fullwidth-code-point\": \"^3.0.0\","},{"lineNumber":12205,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":12206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12207,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12208,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12210,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12211,"author":{"gitId":"sopa301"},"content":" \"node_modules/string.prototype.trim\": {"},{"lineNumber":12212,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.2.8\","},{"lineNumber":12213,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12214,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12215,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":12216,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":12217,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":12218,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\""},{"lineNumber":12219,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12220,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":12221,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":12222,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12223,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":12224,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":12225,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12226,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12227,"author":{"gitId":"-"},"content":" \"node_modules/string.prototype.trimend\": {"},{"lineNumber":12228,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\","},{"lineNumber":12229,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12230,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12231,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12232,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":12233,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":12234,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\""},{"lineNumber":12235,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12236,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12237,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":12238,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12239,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12240,"author":{"gitId":"-"},"content":" \"node_modules/string.prototype.trimstart\": {"},{"lineNumber":12241,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.7\","},{"lineNumber":12242,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12243,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12244,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12245,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":12246,"author":{"gitId":"sopa301"},"content":" \"define-properties\": \"^1.2.0\","},{"lineNumber":12247,"author":{"gitId":"sopa301"},"content":" \"es-abstract\": \"^1.22.1\""},{"lineNumber":12248,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12249,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12250,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":12251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12252,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12253,"author":{"gitId":"-"},"content":" \"node_modules/strip-ansi\": {"},{"lineNumber":12254,"author":{"gitId":"-"},"content":" \"version\": \"6.0.1\","},{"lineNumber":12255,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12256,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12257,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12258,"author":{"gitId":"-"},"content":" \"ansi-regex\": \"^5.0.1\""},{"lineNumber":12259,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12260,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12261,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12262,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12263,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12264,"author":{"gitId":"-"},"content":" \"node_modules/strip-bom\": {"},{"lineNumber":12265,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":12266,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12267,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12268,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12269,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":12270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12271,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12272,"author":{"gitId":"-"},"content":" \"node_modules/strip-eof\": {"},{"lineNumber":12273,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":12274,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12275,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12276,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12277,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":12278,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12279,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12280,"author":{"gitId":"-"},"content":" \"node_modules/strip-final-newline\": {"},{"lineNumber":12281,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":12282,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12283,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12284,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12285,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":12286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12287,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12288,"author":{"gitId":"-"},"content":" \"node_modules/strip-json-comments\": {"},{"lineNumber":12289,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":12290,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12291,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12292,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12293,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12294,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12295,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12296,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":12297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12298,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12299,"author":{"gitId":"-"},"content":" \"node_modules/style-search\": {"},{"lineNumber":12300,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\","},{"lineNumber":12301,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12302,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":12303,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12304,"author":{"gitId":"-"},"content":" \"node_modules/stylehacks\": {"},{"lineNumber":12305,"author":{"gitId":"-"},"content":" \"version\": \"5.1.1\","},{"lineNumber":12306,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12307,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12308,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12309,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.21.4\","},{"lineNumber":12310,"author":{"gitId":"-"},"content":" \"postcss-selector-parser\": \"^6.0.4\""},{"lineNumber":12311,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12312,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12313,"author":{"gitId":"-"},"content":" \"node\": \"^10 || ^12 || \u003e\u003d14.0\""},{"lineNumber":12314,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12315,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12316,"author":{"gitId":"-"},"content":" \"postcss\": \"^8.2.15\""},{"lineNumber":12317,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12318,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12319,"author":{"gitId":"-"},"content":" \"node_modules/stylelint\": {"},{"lineNumber":12320,"author":{"gitId":"sopa301"},"content":" \"version\": \"16.3.1\","},{"lineNumber":12321,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint/-/stylelint-16.3.1.tgz\","},{"lineNumber":12322,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-/JOwQnBvxEKOT2RtNgGpBVXnCSMBgKOL2k7w0K52htwCyJls4+cHvc4YZgXlVoAZS9QJd2DgYAiRnja96pTgxw\u003d\u003d\","},{"lineNumber":12323,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12324,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12325,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-parser-algorithms\": \"^2.6.1\","},{"lineNumber":12326,"author":{"gitId":"sopa301"},"content":" \"@csstools/css-tokenizer\": \"^2.2.4\","},{"lineNumber":12327,"author":{"gitId":"sopa301"},"content":" \"@csstools/media-query-list-parser\": \"^2.1.9\","},{"lineNumber":12328,"author":{"gitId":"sopa301"},"content":" \"@csstools/selector-specificity\": \"^3.0.2\","},{"lineNumber":12329,"author":{"gitId":"sopa301"},"content":" \"@dual-bundle/import-meta-resolve\": \"^4.0.0\","},{"lineNumber":12330,"author":{"gitId":"-"},"content":" \"balanced-match\": \"^2.0.0\","},{"lineNumber":12331,"author":{"gitId":"-"},"content":" \"colord\": \"^2.9.3\","},{"lineNumber":12332,"author":{"gitId":"sopa301"},"content":" \"cosmiconfig\": \"^9.0.0\","},{"lineNumber":12333,"author":{"gitId":"sopa301"},"content":" \"css-functions-list\": \"^3.2.1\","},{"lineNumber":12334,"author":{"gitId":"sopa301"},"content":" \"css-tree\": \"^2.3.1\","},{"lineNumber":12335,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.4\","},{"lineNumber":12336,"author":{"gitId":"sopa301"},"content":" \"fast-glob\": \"^3.3.2\","},{"lineNumber":12337,"author":{"gitId":"-"},"content":" \"fastest-levenshtein\": \"^1.0.16\","},{"lineNumber":12338,"author":{"gitId":"sopa301"},"content":" \"file-entry-cache\": \"^8.0.0\","},{"lineNumber":12339,"author":{"gitId":"-"},"content":" \"global-modules\": \"^2.0.0\","},{"lineNumber":12340,"author":{"gitId":"-"},"content":" \"globby\": \"^11.1.0\","},{"lineNumber":12341,"author":{"gitId":"-"},"content":" \"globjoin\": \"^0.1.4\","},{"lineNumber":12342,"author":{"gitId":"sopa301"},"content":" \"html-tags\": \"^3.3.1\","},{"lineNumber":12343,"author":{"gitId":"sopa301"},"content":" \"ignore\": \"^5.3.1\","},{"lineNumber":12344,"author":{"gitId":"-"},"content":" \"imurmurhash\": \"^0.1.4\","},{"lineNumber":12345,"author":{"gitId":"-"},"content":" \"is-plain-object\": \"^5.0.0\","},{"lineNumber":12346,"author":{"gitId":"sopa301"},"content":" \"known-css-properties\": \"^0.30.0\","},{"lineNumber":12347,"author":{"gitId":"-"},"content":" \"mathml-tag-names\": \"^2.1.3\","},{"lineNumber":12348,"author":{"gitId":"sopa301"},"content":" \"meow\": \"^13.2.0\","},{"lineNumber":12349,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.5\","},{"lineNumber":12350,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\","},{"lineNumber":12351,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\","},{"lineNumber":12352,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.38\","},{"lineNumber":12353,"author":{"gitId":"-"},"content":" \"postcss-resolve-nested-selector\": \"^0.1.1\","},{"lineNumber":12354,"author":{"gitId":"sopa301"},"content":" \"postcss-safe-parser\": \"^7.0.0\","},{"lineNumber":12355,"author":{"gitId":"sopa301"},"content":" \"postcss-selector-parser\": \"^6.0.16\","},{"lineNumber":12356,"author":{"gitId":"-"},"content":" \"postcss-value-parser\": \"^4.2.0\","},{"lineNumber":12357,"author":{"gitId":"-"},"content":" \"resolve-from\": \"^5.0.0\","},{"lineNumber":12358,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.3\","},{"lineNumber":12359,"author":{"gitId":"sopa301"},"content":" \"strip-ansi\": \"^7.1.0\","},{"lineNumber":12360,"author":{"gitId":"sopa301"},"content":" \"supports-hyperlinks\": \"^3.0.0\","},{"lineNumber":12361,"author":{"gitId":"-"},"content":" \"svg-tags\": \"^1.0.0\","},{"lineNumber":12362,"author":{"gitId":"-"},"content":" \"table\": \"^6.8.1\","},{"lineNumber":12363,"author":{"gitId":"sopa301"},"content":" \"write-file-atomic\": \"^5.0.1\""},{"lineNumber":12364,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12365,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":12366,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"bin/stylelint.mjs\""},{"lineNumber":12367,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12368,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12369,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\""},{"lineNumber":12370,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12371,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12372,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":12373,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/stylelint\""},{"lineNumber":12374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12375,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12376,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-html\": {"},{"lineNumber":12377,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":12378,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12379,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12380,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12381,"author":{"gitId":"-"},"content":" \"node\": \"^12 || \u003e\u003d14\""},{"lineNumber":12382,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12383,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12384,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ota-meshi\""},{"lineNumber":12385,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12386,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12387,"author":{"gitId":"-"},"content":" \"postcss-html\": \"^1.0.0\","},{"lineNumber":12388,"author":{"gitId":"-"},"content":" \"stylelint\": \"\u003e\u003d14.0.0\""},{"lineNumber":12389,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12390,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12391,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended\": {"},{"lineNumber":12392,"author":{"gitId":"sopa301"},"content":" \"version\": \"14.0.0\","},{"lineNumber":12393,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.0.tgz\","},{"lineNumber":12394,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ\u003d\u003d\","},{"lineNumber":12395,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12396,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":12397,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\""},{"lineNumber":12398,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12399,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12400,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.0.0\""},{"lineNumber":12401,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12402,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12403,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-scss\": {"},{"lineNumber":12404,"author":{"gitId":"sopa301"},"content":" \"version\": \"14.0.0\","},{"lineNumber":12405,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.0.0.tgz\","},{"lineNumber":12406,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-HDvpoOAQ1RpF+sPbDOT2Q2/YrBDEJDnUymmVmZ7mMCeNiFSdhRdyGEimBkz06wsN+HaFwUh249gDR+I9JR7Onw\u003d\u003d\","},{"lineNumber":12407,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12408,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12409,"author":{"gitId":"sopa301"},"content":" \"postcss-scss\": \"^4.0.9\","},{"lineNumber":12410,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended\": \"^14.0.0\","},{"lineNumber":12411,"author":{"gitId":"sopa301"},"content":" \"stylelint-scss\": \"^6.0.0\""},{"lineNumber":12412,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12413,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":12414,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\""},{"lineNumber":12415,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12416,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12417,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.3.3\","},{"lineNumber":12418,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.0.2\""},{"lineNumber":12419,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12420,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":12421,"author":{"gitId":"sopa301"},"content":" \"postcss\": {"},{"lineNumber":12422,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":12423,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12424,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12425,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12426,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-vue\": {"},{"lineNumber":12427,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.5.0\","},{"lineNumber":12428,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12429,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12430,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12431,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.5\","},{"lineNumber":12432,"author":{"gitId":"-"},"content":" \"stylelint-config-html\": \"\u003e\u003d1.0.0\","},{"lineNumber":12433,"author":{"gitId":"-"},"content":" \"stylelint-config-recommended\": \"\u003e\u003d6.0.0\""},{"lineNumber":12434,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12435,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12436,"author":{"gitId":"-"},"content":" \"node\": \"^12 || \u003e\u003d14\""},{"lineNumber":12437,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12438,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12439,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ota-meshi\""},{"lineNumber":12440,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12441,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12442,"author":{"gitId":"-"},"content":" \"postcss-html\": \"^1.0.0\","},{"lineNumber":12443,"author":{"gitId":"-"},"content":" \"stylelint\": \"\u003e\u003d14.0.0\""},{"lineNumber":12444,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12445,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12446,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-vue/node_modules/lru-cache\": {"},{"lineNumber":12447,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":12448,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12449,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":12450,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12451,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":12452,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12453,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12454,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":12455,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12456,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12457,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-vue/node_modules/semver\": {"},{"lineNumber":12458,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":12459,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12460,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":12461,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12462,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":12463,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12464,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":12465,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":12466,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12467,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12468,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":12469,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12470,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12471,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-config-recommended-vue/node_modules/yallist\": {"},{"lineNumber":12472,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":12473,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12474,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":12475,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12476,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-config-standard\": {"},{"lineNumber":12477,"author":{"gitId":"sopa301"},"content":" \"version\": \"36.0.0\","},{"lineNumber":12478,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.0.tgz\","},{"lineNumber":12479,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-3Kjyq4d62bYFp/Aq8PMKDwlgUyPU4nacXsjDLWJdNPRUgpuxALu1KnlAHIj36cdtxViVhXexZij65yM0uNIHug\u003d\u003d\","},{"lineNumber":12480,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12481,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":12482,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended\": \"^14.0.0\""},{"lineNumber":12483,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12484,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":12485,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\""},{"lineNumber":12486,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12487,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":12488,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.1.0\""},{"lineNumber":12489,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12490,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12491,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-config-standard-scss\": {"},{"lineNumber":12492,"author":{"gitId":"sopa301"},"content":" \"version\": \"13.1.0\","},{"lineNumber":12493,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-13.1.0.tgz\","},{"lineNumber":12494,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Eo5w7/XvwGHWkeGLtdm2FZLOMYoZl1omP2/jgFCXyl2x5yNz7/8vv4Tj6slHvMSSUNTaGoam/GAZ0ZhukvalfA\u003d\u003d\","},{"lineNumber":12495,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12496,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":12497,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended-scss\": \"^14.0.0\","},{"lineNumber":12498,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard\": \"^36.0.0\""},{"lineNumber":12499,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12500,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":12501,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\""},{"lineNumber":12502,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12503,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":12504,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.3.3\","},{"lineNumber":12505,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.3.1\""},{"lineNumber":12506,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12507,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":12508,"author":{"gitId":"sopa301"},"content":" \"postcss\": {"},{"lineNumber":12509,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":12510,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12511,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12512,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12513,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-order\": {"},{"lineNumber":12514,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.4\","},{"lineNumber":12515,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.4.tgz\","},{"lineNumber":12516,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA\u003d\u003d\","},{"lineNumber":12517,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12518,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12519,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.32\","},{"lineNumber":12520,"author":{"gitId":"sopa301"},"content":" \"postcss-sorting\": \"^8.0.2\""},{"lineNumber":12521,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12522,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12523,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^14.0.0 || ^15.0.0 || ^16.0.1\""},{"lineNumber":12524,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12525,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12526,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-scss\": {"},{"lineNumber":12527,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.2.1\","},{"lineNumber":12528,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.2.1.tgz\","},{"lineNumber":12529,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ZoGLbVb1keZYRVGQlhB8G6sZOoNqw61whzzzGFWp05N12ErqLFfBv3JPrXiMLZaW98sBS7K/vUQhRnvUj4vwdw\u003d\u003d\","},{"lineNumber":12530,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12531,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12532,"author":{"gitId":"sopa301"},"content":" \"known-css-properties\": \"^0.29.0\","},{"lineNumber":12533,"author":{"gitId":"-"},"content":" \"postcss-media-query-parser\": \"^0.2.3\","},{"lineNumber":12534,"author":{"gitId":"-"},"content":" \"postcss-resolve-nested-selector\": \"^0.1.1\","},{"lineNumber":12535,"author":{"gitId":"sopa301"},"content":" \"postcss-selector-parser\": \"^6.0.15\","},{"lineNumber":12536,"author":{"gitId":"sopa301"},"content":" \"postcss-value-parser\": \"^4.2.0\""},{"lineNumber":12537,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12538,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":12539,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.12.0\""},{"lineNumber":12540,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12541,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12542,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.0.2\""},{"lineNumber":12543,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12544,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12545,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint-scss/node_modules/known-css-properties\": {"},{"lineNumber":12546,"author":{"gitId":"sopa301"},"content":" \"version\": \"0.29.0\","},{"lineNumber":12547,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz\","},{"lineNumber":12548,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ\u003d\u003d\","},{"lineNumber":12549,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":12550,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12551,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin\": {"},{"lineNumber":12552,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.0\","},{"lineNumber":12553,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/stylelint-webpack-plugin/-/stylelint-webpack-plugin-5.0.0.tgz\","},{"lineNumber":12554,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-f56OmfvIYfZpL5+TKg3LZ+Ehzoar5GAwytUtsdti+W6WhR3UpQC36vmXHsKxx9ibj7dKXCIKea6w0U+LdVSBmg\u003d\u003d\","},{"lineNumber":12555,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12556,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12557,"author":{"gitId":"-"},"content":" \"globby\": \"^11.1.0\","},{"lineNumber":12558,"author":{"gitId":"sopa301"},"content":" \"jest-worker\": \"^29.7.0\","},{"lineNumber":12559,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.5\","},{"lineNumber":12560,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^3.0.0\","},{"lineNumber":12561,"author":{"gitId":"sopa301"},"content":" \"schema-utils\": \"^4.2.0\""},{"lineNumber":12562,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12563,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12564,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 18.12.0\""},{"lineNumber":12565,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12566,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12567,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":12568,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":12569,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12570,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12571,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0\","},{"lineNumber":12572,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":12573,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12574,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12575,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/ajv\": {"},{"lineNumber":12576,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":12577,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz\","},{"lineNumber":12578,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA\u003d\u003d\","},{"lineNumber":12579,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12580,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12581,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":12582,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":12583,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":12584,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":12585,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12586,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12587,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":12588,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":12589,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12590,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12591,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/ajv-keywords\": {"},{"lineNumber":12592,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":12593,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz\","},{"lineNumber":12594,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw\u003d\u003d\","},{"lineNumber":12595,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12596,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12597,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\""},{"lineNumber":12598,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12599,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":12600,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\""},{"lineNumber":12601,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12602,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12603,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/has-flag\": {"},{"lineNumber":12604,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":12605,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\","},{"lineNumber":12606,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\","},{"lineNumber":12607,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12608,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12609,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12610,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12611,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12612,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/jest-worker\": {"},{"lineNumber":12613,"author":{"gitId":"sopa301"},"content":" \"version\": \"29.7.0\","},{"lineNumber":12614,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz\","},{"lineNumber":12615,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw\u003d\u003d\","},{"lineNumber":12616,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12617,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12618,"author":{"gitId":"-"},"content":" \"@types/node\": \"*\","},{"lineNumber":12619,"author":{"gitId":"sopa301"},"content":" \"jest-util\": \"^29.7.0\","},{"lineNumber":12620,"author":{"gitId":"-"},"content":" \"merge-stream\": \"^2.0.0\","},{"lineNumber":12621,"author":{"gitId":"-"},"content":" \"supports-color\": \"^8.0.0\""},{"lineNumber":12622,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12623,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12624,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.15.0 || ^16.10.0 || \u003e\u003d18.0.0\""},{"lineNumber":12625,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12626,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12627,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/json-schema-traverse\": {"},{"lineNumber":12628,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":12629,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\","},{"lineNumber":12630,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug\u003d\u003d\","},{"lineNumber":12631,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":12632,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12633,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/schema-utils\": {"},{"lineNumber":12634,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.2.0\","},{"lineNumber":12635,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz\","},{"lineNumber":12636,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw\u003d\u003d\","},{"lineNumber":12637,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12638,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12639,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\","},{"lineNumber":12640,"author":{"gitId":"sopa301"},"content":" \"ajv\": \"^8.9.0\","},{"lineNumber":12641,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\","},{"lineNumber":12642,"author":{"gitId":"sopa301"},"content":" \"ajv-keywords\": \"^5.1.0\""},{"lineNumber":12643,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12644,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12645,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":12646,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12647,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12648,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":12649,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":12650,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12651,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12652,"author":{"gitId":"-"},"content":" \"node_modules/stylelint-webpack-plugin/node_modules/supports-color\": {"},{"lineNumber":12653,"author":{"gitId":"-"},"content":" \"version\": \"8.1.1\","},{"lineNumber":12654,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\","},{"lineNumber":12655,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q\u003d\u003d\","},{"lineNumber":12656,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12657,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12658,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":12659,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12660,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12661,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":12662,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12663,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12664,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/supports-color?sponsor\u003d1\""},{"lineNumber":12665,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12666,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12667,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/ansi-regex\": {"},{"lineNumber":12668,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.1\","},{"lineNumber":12669,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz\","},{"lineNumber":12670,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA\u003d\u003d\","},{"lineNumber":12671,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12672,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":12673,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\""},{"lineNumber":12674,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12675,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":12676,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/ansi-regex?sponsor\u003d1\""},{"lineNumber":12677,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12678,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12679,"author":{"gitId":"-"},"content":" \"node_modules/stylelint/node_modules/balanced-match\": {"},{"lineNumber":12680,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":12681,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12682,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":12683,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12684,"author":{"gitId":"-"},"content":" \"node_modules/stylelint/node_modules/cosmiconfig\": {"},{"lineNumber":12685,"author":{"gitId":"sopa301"},"content":" \"version\": \"9.0.0\","},{"lineNumber":12686,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz\","},{"lineNumber":12687,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg\u003d\u003d\","},{"lineNumber":12688,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12689,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12690,"author":{"gitId":"sopa301"},"content":" \"env-paths\": \"^2.2.1\","},{"lineNumber":12691,"author":{"gitId":"sopa301"},"content":" \"import-fresh\": \"^3.3.0\","},{"lineNumber":12692,"author":{"gitId":"sopa301"},"content":" \"js-yaml\": \"^4.1.0\","},{"lineNumber":12693,"author":{"gitId":"sopa301"},"content":" \"parse-json\": \"^5.2.0\""},{"lineNumber":12694,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12695,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12696,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d14\""},{"lineNumber":12697,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12698,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":12699,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/d-fischer\""},{"lineNumber":12700,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12701,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":12702,"author":{"gitId":"sopa301"},"content":" \"typescript\": \"\u003e\u003d4.9.5\""},{"lineNumber":12703,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12704,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":12705,"author":{"gitId":"sopa301"},"content":" \"typescript\": {"},{"lineNumber":12706,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":12707,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12708,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12709,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12710,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/css-tree\": {"},{"lineNumber":12711,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.3.1\","},{"lineNumber":12712,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz\","},{"lineNumber":12713,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw\u003d\u003d\","},{"lineNumber":12714,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12715,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":12716,"author":{"gitId":"sopa301"},"content":" \"mdn-data\": \"2.0.30\","},{"lineNumber":12717,"author":{"gitId":"sopa301"},"content":" \"source-map-js\": \"^1.0.1\""},{"lineNumber":12718,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12719,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":12720,"author":{"gitId":"sopa301"},"content":" \"node\": \"^10 || ^12.20.0 || ^14.13.0 || \u003e\u003d15.0.0\""},{"lineNumber":12721,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12722,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12723,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/file-entry-cache\": {"},{"lineNumber":12724,"author":{"gitId":"sopa301"},"content":" \"version\": \"8.0.0\","},{"lineNumber":12725,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz\","},{"lineNumber":12726,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ\u003d\u003d\","},{"lineNumber":12727,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12728,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":12729,"author":{"gitId":"sopa301"},"content":" \"flat-cache\": \"^4.0.0\""},{"lineNumber":12730,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12731,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":12732,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d16.0.0\""},{"lineNumber":12733,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12734,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12735,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/flat-cache\": {"},{"lineNumber":12736,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.0.1\","},{"lineNumber":12737,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz\","},{"lineNumber":12738,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw\u003d\u003d\","},{"lineNumber":12739,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12740,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":12741,"author":{"gitId":"sopa301"},"content":" \"flatted\": \"^3.2.9\","},{"lineNumber":12742,"author":{"gitId":"sopa301"},"content":" \"keyv\": \"^4.5.4\""},{"lineNumber":12743,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12744,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":12745,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d16\""},{"lineNumber":12746,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12747,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12748,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/mdn-data\": {"},{"lineNumber":12749,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.0.30\","},{"lineNumber":12750,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz\","},{"lineNumber":12751,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA\u003d\u003d\","},{"lineNumber":12752,"author":{"gitId":"sopa301"},"content":" \"dev\": true"},{"lineNumber":12753,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12754,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/postcss-safe-parser\": {"},{"lineNumber":12755,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.0.0\","},{"lineNumber":12756,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz\","},{"lineNumber":12757,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg\u003d\u003d\","},{"lineNumber":12758,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12759,"author":{"gitId":"sopa301"},"content":" \"funding\": ["},{"lineNumber":12760,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":12761,"author":{"gitId":"sopa301"},"content":" \"type\": \"opencollective\","},{"lineNumber":12762,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/postcss/\""},{"lineNumber":12763,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12764,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":12765,"author":{"gitId":"sopa301"},"content":" \"type\": \"tidelift\","},{"lineNumber":12766,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/postcss-safe-parser\""},{"lineNumber":12767,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12768,"author":{"gitId":"sopa301"},"content":" {"},{"lineNumber":12769,"author":{"gitId":"sopa301"},"content":" \"type\": \"github\","},{"lineNumber":12770,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ai\""},{"lineNumber":12771,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12772,"author":{"gitId":"sopa301"},"content":" ],"},{"lineNumber":12773,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":12774,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d18.0\""},{"lineNumber":12775,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12776,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":12777,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.31\""},{"lineNumber":12778,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12779,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12780,"author":{"gitId":"-"},"content":" \"node_modules/stylelint/node_modules/resolve-from\": {"},{"lineNumber":12781,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":12782,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12783,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12784,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12785,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12786,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12787,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12788,"author":{"gitId":"sopa301"},"content":" \"node_modules/stylelint/node_modules/strip-ansi\": {"},{"lineNumber":12789,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.1.0\","},{"lineNumber":12790,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz\","},{"lineNumber":12791,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ\u003d\u003d\","},{"lineNumber":12792,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":12793,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":12794,"author":{"gitId":"sopa301"},"content":" \"ansi-regex\": \"^6.0.1\""},{"lineNumber":12795,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12796,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":12797,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d12\""},{"lineNumber":12798,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12799,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":12800,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/chalk/strip-ansi?sponsor\u003d1\""},{"lineNumber":12801,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":12802,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":12803,"author":{"gitId":"-"},"content":" \"node_modules/supports-color\": {"},{"lineNumber":12804,"author":{"gitId":"-"},"content":" \"version\": \"5.5.0\","},{"lineNumber":12805,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12806,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12807,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12808,"author":{"gitId":"-"},"content":" \"has-flag\": \"^3.0.0\""},{"lineNumber":12809,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12810,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12811,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":12812,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12813,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12814,"author":{"gitId":"-"},"content":" \"node_modules/supports-hyperlinks\": {"},{"lineNumber":12815,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.0.0\","},{"lineNumber":12816,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz\","},{"lineNumber":12817,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA\u003d\u003d\","},{"lineNumber":12818,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12819,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12820,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\","},{"lineNumber":12821,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.0.0\""},{"lineNumber":12822,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12823,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12824,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d14.18\""},{"lineNumber":12825,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12826,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12827,"author":{"gitId":"-"},"content":" \"node_modules/supports-hyperlinks/node_modules/has-flag\": {"},{"lineNumber":12828,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":12829,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\","},{"lineNumber":12830,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ\u003d\u003d\","},{"lineNumber":12831,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12832,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12833,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12834,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12835,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12836,"author":{"gitId":"-"},"content":" \"node_modules/supports-hyperlinks/node_modules/supports-color\": {"},{"lineNumber":12837,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":12838,"author":{"gitId":"-"},"content":" \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\","},{"lineNumber":12839,"author":{"gitId":"-"},"content":" \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw\u003d\u003d\","},{"lineNumber":12840,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12841,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12842,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":12843,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12844,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12845,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":12846,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12847,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12848,"author":{"gitId":"-"},"content":" \"node_modules/supports-preserve-symlinks-flag\": {"},{"lineNumber":12849,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":12850,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12851,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12852,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":12853,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12854,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12855,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":12856,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12857,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12858,"author":{"gitId":"-"},"content":" \"node_modules/svg-tags\": {"},{"lineNumber":12859,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":12860,"author":{"gitId":"-"},"content":" \"dev\": true"},{"lineNumber":12861,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12862,"author":{"gitId":"-"},"content":" \"node_modules/svgo\": {"},{"lineNumber":12863,"author":{"gitId":"-"},"content":" \"version\": \"2.8.0\","},{"lineNumber":12864,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12865,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12866,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12867,"author":{"gitId":"-"},"content":" \"@trysound/sax\": \"0.2.0\","},{"lineNumber":12868,"author":{"gitId":"-"},"content":" \"commander\": \"^7.2.0\","},{"lineNumber":12869,"author":{"gitId":"-"},"content":" \"css-select\": \"^4.1.3\","},{"lineNumber":12870,"author":{"gitId":"-"},"content":" \"css-tree\": \"^1.1.3\","},{"lineNumber":12871,"author":{"gitId":"-"},"content":" \"csso\": \"^4.2.0\","},{"lineNumber":12872,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\","},{"lineNumber":12873,"author":{"gitId":"-"},"content":" \"stable\": \"^0.1.8\""},{"lineNumber":12874,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12875,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":12876,"author":{"gitId":"-"},"content":" \"svgo\": \"bin/svgo\""},{"lineNumber":12877,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12878,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12879,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":12880,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12881,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12882,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/commander\": {"},{"lineNumber":12883,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":12884,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12885,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12886,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12887,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\""},{"lineNumber":12888,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12889,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12890,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/css-select\": {"},{"lineNumber":12891,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":12892,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12893,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":12894,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12895,"author":{"gitId":"-"},"content":" \"boolbase\": \"^1.0.0\","},{"lineNumber":12896,"author":{"gitId":"-"},"content":" \"css-what\": \"^6.0.1\","},{"lineNumber":12897,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.3.1\","},{"lineNumber":12898,"author":{"gitId":"-"},"content":" \"domutils\": \"^2.8.0\","},{"lineNumber":12899,"author":{"gitId":"-"},"content":" \"nth-check\": \"^2.0.1\""},{"lineNumber":12900,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12901,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12902,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/fb55\""},{"lineNumber":12903,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12904,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12905,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/dom-serializer\": {"},{"lineNumber":12906,"author":{"gitId":"-"},"content":" \"version\": \"1.4.1\","},{"lineNumber":12907,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12908,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12909,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12910,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.0.1\","},{"lineNumber":12911,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\","},{"lineNumber":12912,"author":{"gitId":"-"},"content":" \"entities\": \"^2.0.0\""},{"lineNumber":12913,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12914,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12915,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/cheeriojs/dom-serializer?sponsor\u003d1\""},{"lineNumber":12916,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12917,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12918,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/domhandler\": {"},{"lineNumber":12919,"author":{"gitId":"-"},"content":" \"version\": \"4.3.1\","},{"lineNumber":12920,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12921,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":12922,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12923,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\""},{"lineNumber":12924,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12925,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12926,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 4\""},{"lineNumber":12927,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12928,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12929,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domhandler?sponsor\u003d1\""},{"lineNumber":12930,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12931,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12932,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/domutils\": {"},{"lineNumber":12933,"author":{"gitId":"-"},"content":" \"version\": \"2.8.0\","},{"lineNumber":12934,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12935,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":12936,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12937,"author":{"gitId":"-"},"content":" \"dom-serializer\": \"^1.0.1\","},{"lineNumber":12938,"author":{"gitId":"-"},"content":" \"domelementtype\": \"^2.2.0\","},{"lineNumber":12939,"author":{"gitId":"-"},"content":" \"domhandler\": \"^4.2.0\""},{"lineNumber":12940,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12941,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12942,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/domutils?sponsor\u003d1\""},{"lineNumber":12943,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12944,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12945,"author":{"gitId":"-"},"content":" \"node_modules/svgo/node_modules/entities\": {"},{"lineNumber":12946,"author":{"gitId":"-"},"content":" \"version\": \"2.2.0\","},{"lineNumber":12947,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12948,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":12949,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12950,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/fb55/entities?sponsor\u003d1\""},{"lineNumber":12951,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12952,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12953,"author":{"gitId":"-"},"content":" \"node_modules/table\": {"},{"lineNumber":12954,"author":{"gitId":"-"},"content":" \"version\": \"6.8.1\","},{"lineNumber":12955,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12956,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-3-Clause\","},{"lineNumber":12957,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12958,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.0.1\","},{"lineNumber":12959,"author":{"gitId":"-"},"content":" \"lodash.truncate\": \"^4.4.2\","},{"lineNumber":12960,"author":{"gitId":"-"},"content":" \"slice-ansi\": \"^4.0.0\","},{"lineNumber":12961,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.3\","},{"lineNumber":12962,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.1\""},{"lineNumber":12963,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12964,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12965,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.0.0\""},{"lineNumber":12966,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12967,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12968,"author":{"gitId":"-"},"content":" \"node_modules/table/node_modules/ajv\": {"},{"lineNumber":12969,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":12970,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12971,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12972,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":12973,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":12974,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":12975,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":12976,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":12977,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12978,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":12979,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":12980,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":12981,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12982,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12983,"author":{"gitId":"-"},"content":" \"node_modules/table/node_modules/json-schema-traverse\": {"},{"lineNumber":12984,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":12985,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12986,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":12987,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12988,"author":{"gitId":"-"},"content":" \"node_modules/tapable\": {"},{"lineNumber":12989,"author":{"gitId":"-"},"content":" \"version\": \"1.1.3\","},{"lineNumber":12990,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":12991,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":12992,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":12993,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":12994,"author":{"gitId":"-"},"content":" }"},{"lineNumber":12995,"author":{"gitId":"-"},"content":" },"},{"lineNumber":12996,"author":{"gitId":"-"},"content":" \"node_modules/terser\": {"},{"lineNumber":12997,"author":{"gitId":"-"},"content":" \"version\": \"5.16.1\","},{"lineNumber":12998,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":12999,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13000,"author":{"gitId":"-"},"content":" \"@jridgewell/source-map\": \"^0.3.2\","},{"lineNumber":13001,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.5.0\","},{"lineNumber":13002,"author":{"gitId":"-"},"content":" \"commander\": \"^2.20.0\","},{"lineNumber":13003,"author":{"gitId":"-"},"content":" \"source-map-support\": \"~0.5.20\""},{"lineNumber":13004,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13005,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13006,"author":{"gitId":"-"},"content":" \"terser\": \"bin/terser\""},{"lineNumber":13007,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13008,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13009,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13010,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13011,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13012,"author":{"gitId":"-"},"content":" \"node_modules/terser-webpack-plugin\": {"},{"lineNumber":13013,"author":{"gitId":"-"},"content":" \"version\": \"5.3.6\","},{"lineNumber":13014,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13015,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13016,"author":{"gitId":"-"},"content":" \"@jridgewell/trace-mapping\": \"^0.3.14\","},{"lineNumber":13017,"author":{"gitId":"-"},"content":" \"jest-worker\": \"^27.4.5\","},{"lineNumber":13018,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^3.1.1\","},{"lineNumber":13019,"author":{"gitId":"-"},"content":" \"serialize-javascript\": \"^6.0.0\","},{"lineNumber":13020,"author":{"gitId":"-"},"content":" \"terser\": \"^5.14.1\""},{"lineNumber":13021,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13022,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13023,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":13024,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13025,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13026,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":13027,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":13028,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13029,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13030,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.1.0\""},{"lineNumber":13031,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13032,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":13033,"author":{"gitId":"-"},"content":" \"@swc/core\": {"},{"lineNumber":13034,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":13035,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13036,"author":{"gitId":"-"},"content":" \"esbuild\": {"},{"lineNumber":13037,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":13038,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13039,"author":{"gitId":"-"},"content":" \"uglify-js\": {"},{"lineNumber":13040,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":13041,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13042,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13043,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13044,"author":{"gitId":"-"},"content":" \"node_modules/terser-webpack-plugin/node_modules/schema-utils\": {"},{"lineNumber":13045,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":13046,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13047,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13048,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.8\","},{"lineNumber":13049,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.5\","},{"lineNumber":13050,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\""},{"lineNumber":13051,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13052,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13053,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":13054,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13055,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13056,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":13057,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":13058,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13059,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13060,"author":{"gitId":"-"},"content":" \"node_modules/terser/node_modules/commander\": {"},{"lineNumber":13061,"author":{"gitId":"-"},"content":" \"version\": \"2.20.3\","},{"lineNumber":13062,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13063,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13064,"author":{"gitId":"-"},"content":" \"node_modules/text-table\": {"},{"lineNumber":13065,"author":{"gitId":"-"},"content":" \"version\": \"0.2.0\","},{"lineNumber":13066,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13067,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13068,"author":{"gitId":"-"},"content":" \"node_modules/thenify\": {"},{"lineNumber":13069,"author":{"gitId":"-"},"content":" \"version\": \"3.3.1\","},{"lineNumber":13070,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13071,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13072,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13073,"author":{"gitId":"-"},"content":" \"any-promise\": \"^1.0.0\""},{"lineNumber":13074,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13075,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13076,"author":{"gitId":"-"},"content":" \"node_modules/thenify-all\": {"},{"lineNumber":13077,"author":{"gitId":"-"},"content":" \"version\": \"1.6.0\","},{"lineNumber":13078,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13079,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13080,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13081,"author":{"gitId":"-"},"content":" \"thenify\": \"\u003e\u003d 3.1.0 \u003c 4\""},{"lineNumber":13082,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13083,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13084,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8\""},{"lineNumber":13085,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13086,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13087,"author":{"gitId":"-"},"content":" \"node_modules/thread-loader\": {"},{"lineNumber":13088,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\","},{"lineNumber":13089,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13090,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13091,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13092,"author":{"gitId":"-"},"content":" \"json-parse-better-errors\": \"^1.0.2\","},{"lineNumber":13093,"author":{"gitId":"-"},"content":" \"loader-runner\": \"^4.1.0\","},{"lineNumber":13094,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^2.0.0\","},{"lineNumber":13095,"author":{"gitId":"-"},"content":" \"neo-async\": \"^2.6.2\","},{"lineNumber":13096,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^3.0.0\""},{"lineNumber":13097,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13098,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13099,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":13100,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13101,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13102,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":13103,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":13104,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13105,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13106,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.27.0 || ^5.0.0\""},{"lineNumber":13107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13108,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13109,"author":{"gitId":"-"},"content":" \"node_modules/thread-loader/node_modules/loader-utils\": {"},{"lineNumber":13110,"author":{"gitId":"-"},"content":" \"version\": \"2.0.4\","},{"lineNumber":13111,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13112,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13113,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13114,"author":{"gitId":"-"},"content":" \"big.js\": \"^5.2.2\","},{"lineNumber":13115,"author":{"gitId":"-"},"content":" \"emojis-list\": \"^3.0.0\","},{"lineNumber":13116,"author":{"gitId":"-"},"content":" \"json5\": \"^2.1.2\""},{"lineNumber":13117,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13118,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13119,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.9.0\""},{"lineNumber":13120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13121,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13122,"author":{"gitId":"-"},"content":" \"node_modules/thread-loader/node_modules/schema-utils\": {"},{"lineNumber":13123,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":13124,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13125,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13126,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13127,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.8\","},{"lineNumber":13128,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.5\","},{"lineNumber":13129,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\""},{"lineNumber":13130,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13131,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13132,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":13133,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13134,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13135,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":13136,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":13137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13138,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13139,"author":{"gitId":"-"},"content":" \"node_modules/thunky\": {"},{"lineNumber":13140,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":13141,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13142,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13143,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13144,"author":{"gitId":"-"},"content":" \"node_modules/to-fast-properties\": {"},{"lineNumber":13145,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":13146,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13147,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13148,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13149,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":13150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13151,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13152,"author":{"gitId":"-"},"content":" \"node_modules/to-regex-range\": {"},{"lineNumber":13153,"author":{"gitId":"-"},"content":" \"version\": \"5.0.1\","},{"lineNumber":13154,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13155,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13156,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13157,"author":{"gitId":"-"},"content":" \"is-number\": \"^7.0.0\""},{"lineNumber":13158,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13159,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13160,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.0\""},{"lineNumber":13161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13162,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13163,"author":{"gitId":"-"},"content":" \"node_modules/toidentifier\": {"},{"lineNumber":13164,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":13165,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13166,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13167,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13168,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.6\""},{"lineNumber":13169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13170,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13171,"author":{"gitId":"-"},"content":" \"node_modules/token-stream\": {"},{"lineNumber":13172,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":13173,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13174,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13175,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13176,"author":{"gitId":"-"},"content":" \"node_modules/totalist\": {"},{"lineNumber":13177,"author":{"gitId":"-"},"content":" \"version\": \"1.1.0\","},{"lineNumber":13178,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13179,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13180,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13181,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":13182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13183,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13184,"author":{"gitId":"-"},"content":" \"node_modules/tr46\": {"},{"lineNumber":13185,"author":{"gitId":"-"},"content":" \"version\": \"0.0.3\","},{"lineNumber":13186,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13187,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13188,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13189,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader\": {"},{"lineNumber":13190,"author":{"gitId":"-"},"content":" \"version\": \"9.4.2\","},{"lineNumber":13191,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13192,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13193,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13194,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":13195,"author":{"gitId":"-"},"content":" \"enhanced-resolve\": \"^5.0.0\","},{"lineNumber":13196,"author":{"gitId":"-"},"content":" \"micromatch\": \"^4.0.0\","},{"lineNumber":13197,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.4\""},{"lineNumber":13198,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13199,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13200,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.0.0\""},{"lineNumber":13201,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13202,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13203,"author":{"gitId":"-"},"content":" \"typescript\": \"*\","},{"lineNumber":13204,"author":{"gitId":"-"},"content":" \"webpack\": \"^5.0.0\""},{"lineNumber":13205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13206,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13207,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/ansi-styles\": {"},{"lineNumber":13208,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":13209,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13210,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13211,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13212,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":13213,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13214,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13215,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13216,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13217,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13218,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":13219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13220,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13221,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/chalk\": {"},{"lineNumber":13222,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":13223,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13224,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13225,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13226,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":13227,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":13228,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13229,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13230,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13231,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13232,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13233,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":13234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13235,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13236,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/color-convert\": {"},{"lineNumber":13237,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":13238,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13239,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13240,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13241,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":13242,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13243,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13244,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":13245,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13246,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13247,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/color-name\": {"},{"lineNumber":13248,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":13249,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13250,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13251,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13252,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/has-flag\": {"},{"lineNumber":13253,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":13254,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13255,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13256,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13257,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13258,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13259,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13260,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/lru-cache\": {"},{"lineNumber":13261,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":13262,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13263,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":13264,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13265,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":13266,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13267,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13268,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13270,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13271,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/semver\": {"},{"lineNumber":13272,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":13273,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13274,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":13275,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13276,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":13277,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13278,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13279,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":13280,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13281,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13282,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13283,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13284,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13285,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/supports-color\": {"},{"lineNumber":13286,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":13287,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13288,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13289,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13290,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":13291,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13292,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13293,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13294,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13295,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13296,"author":{"gitId":"-"},"content":" \"node_modules/ts-loader/node_modules/yallist\": {"},{"lineNumber":13297,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":13298,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13299,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":13300,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13301,"author":{"gitId":"-"},"content":" \"node_modules/tsconfig-paths\": {"},{"lineNumber":13302,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.15.0\","},{"lineNumber":13303,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13304,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13305,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13306,"author":{"gitId":"-"},"content":" \"@types/json5\": \"^0.0.29\","},{"lineNumber":13307,"author":{"gitId":"sopa301"},"content":" \"json5\": \"^1.0.2\","},{"lineNumber":13308,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.6\","},{"lineNumber":13309,"author":{"gitId":"-"},"content":" \"strip-bom\": \"^3.0.0\""},{"lineNumber":13310,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13311,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13312,"author":{"gitId":"-"},"content":" \"node_modules/tsconfig-paths/node_modules/json5\": {"},{"lineNumber":13313,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":13314,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13315,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13316,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13317,"author":{"gitId":"-"},"content":" \"minimist\": \"^1.2.0\""},{"lineNumber":13318,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13319,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13320,"author":{"gitId":"-"},"content":" \"json5\": \"lib/cli.js\""},{"lineNumber":13321,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13322,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13323,"author":{"gitId":"-"},"content":" \"node_modules/tslib\": {"},{"lineNumber":13324,"author":{"gitId":"-"},"content":" \"version\": \"2.4.1\","},{"lineNumber":13325,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13326,"author":{"gitId":"sopa301"},"content":" \"license\": \"0BSD\""},{"lineNumber":13327,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13328,"author":{"gitId":"-"},"content":" \"node_modules/tsutils\": {"},{"lineNumber":13329,"author":{"gitId":"-"},"content":" \"version\": \"3.21.0\","},{"lineNumber":13330,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13331,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13332,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13333,"author":{"gitId":"-"},"content":" \"tslib\": \"^1.8.1\""},{"lineNumber":13334,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13335,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13336,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":13337,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13338,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13339,"author":{"gitId":"-"},"content":" \"typescript\": \"\u003e\u003d2.8.0 || \u003e\u003d 3.2.0-dev || \u003e\u003d 3.3.0-dev || \u003e\u003d 3.4.0-dev || \u003e\u003d 3.5.0-dev || \u003e\u003d 3.6.0-dev || \u003e\u003d 3.6.0-beta || \u003e\u003d 3.7.0-dev || \u003e\u003d 3.7.0-beta\""},{"lineNumber":13340,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13341,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13342,"author":{"gitId":"-"},"content":" \"node_modules/tsutils/node_modules/tslib\": {"},{"lineNumber":13343,"author":{"gitId":"-"},"content":" \"version\": \"1.14.1\","},{"lineNumber":13344,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13345,"author":{"gitId":"sopa301"},"content":" \"license\": \"0BSD\""},{"lineNumber":13346,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13347,"author":{"gitId":"sopa301"},"content":" \"node_modules/type-check\": {"},{"lineNumber":13348,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\","},{"lineNumber":13349,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13350,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13351,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13352,"author":{"gitId":"-"},"content":" \"prelude-ls\": \"^1.2.1\""},{"lineNumber":13353,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13354,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13355,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.8.0\""},{"lineNumber":13356,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13357,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13358,"author":{"gitId":"sopa301"},"content":" \"node_modules/type-is\": {"},{"lineNumber":13359,"author":{"gitId":"-"},"content":" \"version\": \"1.6.18\","},{"lineNumber":13360,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13361,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13362,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":13363,"author":{"gitId":"-"},"content":" \"media-typer\": \"0.3.0\","},{"lineNumber":13364,"author":{"gitId":"-"},"content":" \"mime-types\": \"~2.1.24\""},{"lineNumber":13365,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13366,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":13367,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.6\""},{"lineNumber":13368,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13369,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13370,"author":{"gitId":"sopa301"},"content":" \"node_modules/typed-array-buffer\": {"},{"lineNumber":13371,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":13372,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13373,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13374,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13375,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\","},{"lineNumber":13376,"author":{"gitId":"sopa301"},"content":" \"es-errors\": \"^1.3.0\","},{"lineNumber":13377,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\""},{"lineNumber":13378,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13379,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13380,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":13381,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13382,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13383,"author":{"gitId":"sopa301"},"content":" \"node_modules/typed-array-byte-length\": {"},{"lineNumber":13384,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.1\","},{"lineNumber":13385,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13386,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13387,"author":{"gitId":"sopa301"},"content":" \"dependencies\": {"},{"lineNumber":13388,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\","},{"lineNumber":13389,"author":{"gitId":"sopa301"},"content":" \"for-each\": \"^0.3.3\","},{"lineNumber":13390,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\","},{"lineNumber":13391,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\","},{"lineNumber":13392,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\""},{"lineNumber":13393,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13394,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13395,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":13396,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13397,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13398,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":13399,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13400,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13401,"author":{"gitId":"sopa301"},"content":" \"node_modules/typed-array-byte-offset\": {"},{"lineNumber":13402,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.2\","},{"lineNumber":13403,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13404,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13405,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13406,"author":{"gitId":"sopa301"},"content":" \"available-typed-arrays\": \"^1.0.7\","},{"lineNumber":13407,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\","},{"lineNumber":13408,"author":{"gitId":"sopa301"},"content":" \"for-each\": \"^0.3.3\","},{"lineNumber":13409,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\","},{"lineNumber":13410,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\","},{"lineNumber":13411,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\""},{"lineNumber":13412,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13413,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13414,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":13415,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13416,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":13417,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":13418,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13419,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13420,"author":{"gitId":"-"},"content":" \"node_modules/typed-array-length\": {"},{"lineNumber":13421,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.0.5\","},{"lineNumber":13422,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13423,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13424,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13425,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\","},{"lineNumber":13426,"author":{"gitId":"-"},"content":" \"for-each\": \"^0.3.3\","},{"lineNumber":13427,"author":{"gitId":"sopa301"},"content":" \"gopd\": \"^1.0.1\","},{"lineNumber":13428,"author":{"gitId":"sopa301"},"content":" \"has-proto\": \"^1.0.3\","},{"lineNumber":13429,"author":{"gitId":"sopa301"},"content":" \"is-typed-array\": \"^1.1.13\","},{"lineNumber":13430,"author":{"gitId":"sopa301"},"content":" \"possible-typed-array-names\": \"^1.0.0\""},{"lineNumber":13431,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13432,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":13433,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":13434,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13435,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13436,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":13437,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13438,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13439,"author":{"gitId":"-"},"content":" \"node_modules/typescript\": {"},{"lineNumber":13440,"author":{"gitId":"-"},"content":" \"version\": \"4.9.5\","},{"lineNumber":13441,"author":{"gitId":"sopa301"},"content":" \"devOptional\": true,"},{"lineNumber":13442,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":13443,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13444,"author":{"gitId":"-"},"content":" \"tsc\": \"bin/tsc\","},{"lineNumber":13445,"author":{"gitId":"-"},"content":" \"tsserver\": \"bin/tsserver\""},{"lineNumber":13446,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13447,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13448,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.2.0\""},{"lineNumber":13449,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13450,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13451,"author":{"gitId":"sopa301"},"content":" \"node_modules/uc.micro\": {"},{"lineNumber":13452,"author":{"gitId":"sopa301"},"content":" \"version\": \"2.1.0\","},{"lineNumber":13453,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13454,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13455,"author":{"gitId":"-"},"content":" \"node_modules/unbox-primitive\": {"},{"lineNumber":13456,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":13457,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13458,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13459,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13460,"author":{"gitId":"-"},"content":" \"call-bind\": \"^1.0.2\","},{"lineNumber":13461,"author":{"gitId":"-"},"content":" \"has-bigints\": \"^1.0.2\","},{"lineNumber":13462,"author":{"gitId":"-"},"content":" \"has-symbols\": \"^1.0.3\","},{"lineNumber":13463,"author":{"gitId":"-"},"content":" \"which-boxed-primitive\": \"^1.0.2\""},{"lineNumber":13464,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13465,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13466,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":13467,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13468,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13469,"author":{"gitId":"-"},"content":" \"node_modules/unicode-canonical-property-names-ecmascript\": {"},{"lineNumber":13470,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":13471,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13472,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13473,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13474,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":13475,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13476,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13477,"author":{"gitId":"-"},"content":" \"node_modules/unicode-match-property-ecmascript\": {"},{"lineNumber":13478,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":13479,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13480,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13481,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13482,"author":{"gitId":"-"},"content":" \"unicode-canonical-property-names-ecmascript\": \"^2.0.0\","},{"lineNumber":13483,"author":{"gitId":"-"},"content":" \"unicode-property-aliases-ecmascript\": \"^2.0.0\""},{"lineNumber":13484,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13485,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13486,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":13487,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13488,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13489,"author":{"gitId":"-"},"content":" \"node_modules/unicode-match-property-value-ecmascript\": {"},{"lineNumber":13490,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":13491,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13492,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13493,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13494,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":13495,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13496,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13497,"author":{"gitId":"-"},"content":" \"node_modules/unicode-property-aliases-ecmascript\": {"},{"lineNumber":13498,"author":{"gitId":"-"},"content":" \"version\": \"2.1.0\","},{"lineNumber":13499,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13500,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13501,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13502,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":13503,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13504,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13505,"author":{"gitId":"-"},"content":" \"node_modules/universalify\": {"},{"lineNumber":13506,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":13507,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13508,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13509,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13510,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0.0\""},{"lineNumber":13511,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13512,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13513,"author":{"gitId":"-"},"content":" \"node_modules/unpipe\": {"},{"lineNumber":13514,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":13515,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13516,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13517,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13518,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":13519,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13520,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13521,"author":{"gitId":"-"},"content":" \"node_modules/update-browserslist-db\": {"},{"lineNumber":13522,"author":{"gitId":"-"},"content":" \"version\": \"1.0.10\","},{"lineNumber":13523,"author":{"gitId":"-"},"content":" \"funding\": ["},{"lineNumber":13524,"author":{"gitId":"-"},"content":" {"},{"lineNumber":13525,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":13526,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/browserslist\""},{"lineNumber":13527,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13528,"author":{"gitId":"-"},"content":" {"},{"lineNumber":13529,"author":{"gitId":"-"},"content":" \"type\": \"tidelift\","},{"lineNumber":13530,"author":{"gitId":"-"},"content":" \"url\": \"https://tidelift.com/funding/github/npm/browserslist\""},{"lineNumber":13531,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13532,"author":{"gitId":"-"},"content":" ],"},{"lineNumber":13533,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13534,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13535,"author":{"gitId":"-"},"content":" \"escalade\": \"^3.1.1\","},{"lineNumber":13536,"author":{"gitId":"-"},"content":" \"picocolors\": \"^1.0.0\""},{"lineNumber":13537,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13538,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13539,"author":{"gitId":"-"},"content":" \"browserslist-lint\": \"cli.js\""},{"lineNumber":13540,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13541,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13542,"author":{"gitId":"-"},"content":" \"browserslist\": \"\u003e\u003d 4.21.0\""},{"lineNumber":13543,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13544,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13545,"author":{"gitId":"-"},"content":" \"node_modules/uri-js\": {"},{"lineNumber":13546,"author":{"gitId":"-"},"content":" \"version\": \"4.4.1\","},{"lineNumber":13547,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":13548,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13549,"author":{"gitId":"-"},"content":" \"punycode\": \"^2.1.0\""},{"lineNumber":13550,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13551,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13552,"author":{"gitId":"-"},"content":" \"node_modules/util-deprecate\": {"},{"lineNumber":13553,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":13554,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13555,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13556,"author":{"gitId":"-"},"content":" \"node_modules/utila\": {"},{"lineNumber":13557,"author":{"gitId":"-"},"content":" \"version\": \"0.4.0\","},{"lineNumber":13558,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13559,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13560,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13561,"author":{"gitId":"-"},"content":" \"node_modules/utils-merge\": {"},{"lineNumber":13562,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":13563,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13564,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13565,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13566,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4.0\""},{"lineNumber":13567,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13568,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13569,"author":{"gitId":"-"},"content":" \"node_modules/validate-npm-package-license\": {"},{"lineNumber":13570,"author":{"gitId":"-"},"content":" \"version\": \"3.0.4\","},{"lineNumber":13571,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13572,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":13573,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13574,"author":{"gitId":"-"},"content":" \"spdx-correct\": \"^3.0.0\","},{"lineNumber":13575,"author":{"gitId":"-"},"content":" \"spdx-expression-parse\": \"^3.0.0\""},{"lineNumber":13576,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13577,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13578,"author":{"gitId":"-"},"content":" \"node_modules/vary\": {"},{"lineNumber":13579,"author":{"gitId":"-"},"content":" \"version\": \"1.1.2\","},{"lineNumber":13580,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13581,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13582,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13583,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.8\""},{"lineNumber":13584,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13585,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13586,"author":{"gitId":"-"},"content":" \"node_modules/void-elements\": {"},{"lineNumber":13587,"author":{"gitId":"-"},"content":" \"version\": \"3.1.0\","},{"lineNumber":13588,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13589,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13590,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13591,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":13592,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13593,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13594,"author":{"gitId":"-"},"content":" \"node_modules/vue\": {"},{"lineNumber":13595,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.21\","},{"lineNumber":13596,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13597,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13598,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-dom\": \"3.4.21\","},{"lineNumber":13599,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-sfc\": \"3.4.21\","},{"lineNumber":13600,"author":{"gitId":"sopa301"},"content":" \"@vue/runtime-dom\": \"3.4.21\","},{"lineNumber":13601,"author":{"gitId":"sopa301"},"content":" \"@vue/server-renderer\": \"3.4.21\","},{"lineNumber":13602,"author":{"gitId":"sopa301"},"content":" \"@vue/shared\": \"3.4.21\""},{"lineNumber":13603,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13604,"author":{"gitId":"sopa301"},"content":" \"peerDependencies\": {"},{"lineNumber":13605,"author":{"gitId":"sopa301"},"content":" \"typescript\": \"*\""},{"lineNumber":13606,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13607,"author":{"gitId":"sopa301"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":13608,"author":{"gitId":"sopa301"},"content":" \"typescript\": {"},{"lineNumber":13609,"author":{"gitId":"sopa301"},"content":" \"optional\": true"},{"lineNumber":13610,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":13611,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13612,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13613,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser\": {"},{"lineNumber":13614,"author":{"gitId":"-"},"content":" \"version\": \"8.3.0\","},{"lineNumber":13615,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13616,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13617,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13618,"author":{"gitId":"-"},"content":" \"debug\": \"^4.3.2\","},{"lineNumber":13619,"author":{"gitId":"-"},"content":" \"eslint-scope\": \"^7.0.0\","},{"lineNumber":13620,"author":{"gitId":"-"},"content":" \"eslint-visitor-keys\": \"^3.1.0\","},{"lineNumber":13621,"author":{"gitId":"-"},"content":" \"espree\": \"^9.0.0\","},{"lineNumber":13622,"author":{"gitId":"-"},"content":" \"esquery\": \"^1.4.0\","},{"lineNumber":13623,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.21\","},{"lineNumber":13624,"author":{"gitId":"-"},"content":" \"semver\": \"^7.3.5\""},{"lineNumber":13625,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13626,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13627,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":13628,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13629,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13630,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/mysticatea\""},{"lineNumber":13631,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13632,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13633,"author":{"gitId":"-"},"content":" \"eslint\": \"\u003e\u003d6.0.0\""},{"lineNumber":13634,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13635,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13636,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/eslint-scope\": {"},{"lineNumber":13637,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.2.2\","},{"lineNumber":13638,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13639,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":13640,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13641,"author":{"gitId":"-"},"content":" \"esrecurse\": \"^4.3.0\","},{"lineNumber":13642,"author":{"gitId":"-"},"content":" \"estraverse\": \"^5.2.0\""},{"lineNumber":13643,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13644,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13645,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":13646,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13647,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":13648,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":13649,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13650,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13651,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys\": {"},{"lineNumber":13652,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.4.3\","},{"lineNumber":13653,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13654,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":13655,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13656,"author":{"gitId":"-"},"content":" \"node\": \"^12.22.0 || ^14.17.0 || \u003e\u003d16.0.0\""},{"lineNumber":13657,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":13658,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":13659,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://opencollective.com/eslint\""},{"lineNumber":13660,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13661,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13662,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/estraverse\": {"},{"lineNumber":13663,"author":{"gitId":"-"},"content":" \"version\": \"5.3.0\","},{"lineNumber":13664,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13665,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\","},{"lineNumber":13666,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13667,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4.0\""},{"lineNumber":13668,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13669,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13670,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/lru-cache\": {"},{"lineNumber":13671,"author":{"gitId":"-"},"content":" \"version\": \"6.0.0\","},{"lineNumber":13672,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13673,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":13674,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13675,"author":{"gitId":"-"},"content":" \"yallist\": \"^4.0.0\""},{"lineNumber":13676,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13677,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13678,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13679,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13680,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13681,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/semver\": {"},{"lineNumber":13682,"author":{"gitId":"sopa301"},"content":" \"version\": \"7.6.0\","},{"lineNumber":13683,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13684,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":13685,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13686,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^6.0.0\""},{"lineNumber":13687,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13688,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13689,"author":{"gitId":"-"},"content":" \"semver\": \"bin/semver.js\""},{"lineNumber":13690,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13691,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13692,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13693,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13694,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13695,"author":{"gitId":"-"},"content":" \"node_modules/vue-eslint-parser/node_modules/yallist\": {"},{"lineNumber":13696,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":13697,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13698,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":13699,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13700,"author":{"gitId":"-"},"content":" \"node_modules/vue-hot-reload-api\": {"},{"lineNumber":13701,"author":{"gitId":"-"},"content":" \"version\": \"2.3.4\","},{"lineNumber":13702,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13703,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13704,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13705,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader\": {"},{"lineNumber":13706,"author":{"gitId":"sopa301"},"content":" \"version\": \"17.4.2\","},{"lineNumber":13707,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13708,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13709,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":13710,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^2.0.0\","},{"lineNumber":13711,"author":{"gitId":"sopa301"},"content":" \"watchpack\": \"^2.4.0\""},{"lineNumber":13712,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13713,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13714,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.1.0 || ^5.0.0-0\""},{"lineNumber":13715,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13716,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":13717,"author":{"gitId":"-"},"content":" \"@vue/compiler-sfc\": {"},{"lineNumber":13718,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":13719,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13720,"author":{"gitId":"-"},"content":" \"vue\": {"},{"lineNumber":13721,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":13722,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13723,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13724,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13725,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/ansi-styles\": {"},{"lineNumber":13726,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":13727,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13728,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13729,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":13730,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13731,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13732,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13733,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13734,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13735,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":13736,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13737,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13738,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/chalk\": {"},{"lineNumber":13739,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":13740,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13741,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13742,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":13743,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":13744,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13745,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13746,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13747,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13748,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13749,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":13750,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13751,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13752,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/color-convert\": {"},{"lineNumber":13753,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":13754,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13755,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13756,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":13757,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13758,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13759,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":13760,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13761,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13762,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/color-name\": {"},{"lineNumber":13763,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":13764,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13765,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13766,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/has-flag\": {"},{"lineNumber":13767,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":13768,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13769,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13770,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13771,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13772,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13773,"author":{"gitId":"-"},"content":" \"node_modules/vue-loader/node_modules/supports-color\": {"},{"lineNumber":13774,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":13775,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13776,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13777,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":13778,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13779,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13780,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13781,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13782,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13783,"author":{"gitId":"-"},"content":" \"node_modules/vue-loading-overlay\": {"},{"lineNumber":13784,"author":{"gitId":"sopa301"},"content":" \"version\": \"6.0.4\","},{"lineNumber":13785,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13786,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13787,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d12.13.0\""},{"lineNumber":13788,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13789,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13790,"author":{"gitId":"sopa301"},"content":" \"vue\": \"^3.2.0\""},{"lineNumber":13791,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13792,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13793,"author":{"gitId":"-"},"content":" \"node_modules/vue-observe-visibility\": {"},{"lineNumber":13794,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":13795,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13796,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13797,"author":{"gitId":"-"},"content":" \"node_modules/vue-router\": {"},{"lineNumber":13798,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.3.0\","},{"lineNumber":13799,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13800,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13801,"author":{"gitId":"sopa301"},"content":" \"@vue/devtools-api\": \"^6.5.1\""},{"lineNumber":13802,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13803,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13804,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/posva\""},{"lineNumber":13805,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13806,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13807,"author":{"gitId":"-"},"content":" \"vue\": \"^3.2.0\""},{"lineNumber":13808,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13809,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13810,"author":{"gitId":"-"},"content":" \"node_modules/vue-style-loader\": {"},{"lineNumber":13811,"author":{"gitId":"-"},"content":" \"version\": \"4.1.3\","},{"lineNumber":13812,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13813,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13814,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13815,"author":{"gitId":"-"},"content":" \"hash-sum\": \"^1.0.2\","},{"lineNumber":13816,"author":{"gitId":"-"},"content":" \"loader-utils\": \"^1.0.2\""},{"lineNumber":13817,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13818,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13819,"author":{"gitId":"-"},"content":" \"node_modules/vue-style-loader/node_modules/hash-sum\": {"},{"lineNumber":13820,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":13821,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13822,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13823,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13824,"author":{"gitId":"-"},"content":" \"node_modules/vue-template-es2015-compiler\": {"},{"lineNumber":13825,"author":{"gitId":"-"},"content":" \"version\": \"1.9.1\","},{"lineNumber":13826,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13827,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13828,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13829,"author":{"gitId":"-"},"content":" \"node_modules/vuex\": {"},{"lineNumber":13830,"author":{"gitId":"-"},"content":" \"version\": \"4.1.0\","},{"lineNumber":13831,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13832,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13833,"author":{"gitId":"-"},"content":" \"@vue/devtools-api\": \"^6.0.0-beta.11\""},{"lineNumber":13834,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13835,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":13836,"author":{"gitId":"-"},"content":" \"vue\": \"^3.2.0\""},{"lineNumber":13837,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13838,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13839,"author":{"gitId":"-"},"content":" \"node_modules/walk\": {"},{"lineNumber":13840,"author":{"gitId":"-"},"content":" \"version\": \"2.3.15\","},{"lineNumber":13841,"author":{"gitId":"sopa301"},"content":" \"license\": \"(MIT OR Apache-2.0)\","},{"lineNumber":13842,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13843,"author":{"gitId":"-"},"content":" \"foreachasync\": \"^3.0.0\""},{"lineNumber":13844,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13845,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13846,"author":{"gitId":"-"},"content":" \"node_modules/watchpack\": {"},{"lineNumber":13847,"author":{"gitId":"-"},"content":" \"version\": \"2.4.0\","},{"lineNumber":13848,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13849,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13850,"author":{"gitId":"-"},"content":" \"glob-to-regexp\": \"^0.4.1\","},{"lineNumber":13851,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.1.2\""},{"lineNumber":13852,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13853,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13854,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":13855,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13856,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13857,"author":{"gitId":"-"},"content":" \"node_modules/wbuf\": {"},{"lineNumber":13858,"author":{"gitId":"-"},"content":" \"version\": \"1.7.3\","},{"lineNumber":13859,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13860,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13861,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13862,"author":{"gitId":"-"},"content":" \"minimalistic-assert\": \"^1.0.0\""},{"lineNumber":13863,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13864,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13865,"author":{"gitId":"-"},"content":" \"node_modules/wcwidth\": {"},{"lineNumber":13866,"author":{"gitId":"-"},"content":" \"version\": \"1.0.1\","},{"lineNumber":13867,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13868,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13869,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13870,"author":{"gitId":"-"},"content":" \"defaults\": \"^1.0.3\""},{"lineNumber":13871,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13872,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13873,"author":{"gitId":"-"},"content":" \"node_modules/webidl-conversions\": {"},{"lineNumber":13874,"author":{"gitId":"-"},"content":" \"version\": \"3.0.1\","},{"lineNumber":13875,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13876,"author":{"gitId":"sopa301"},"content":" \"license\": \"BSD-2-Clause\""},{"lineNumber":13877,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13878,"author":{"gitId":"-"},"content":" \"node_modules/webpack\": {"},{"lineNumber":13879,"author":{"gitId":"-"},"content":" \"version\": \"5.76.2\","},{"lineNumber":13880,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13881,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13882,"author":{"gitId":"-"},"content":" \"@types/eslint-scope\": \"^3.7.3\","},{"lineNumber":13883,"author":{"gitId":"-"},"content":" \"@types/estree\": \"^0.0.51\","},{"lineNumber":13884,"author":{"gitId":"-"},"content":" \"@webassemblyjs/ast\": \"1.11.1\","},{"lineNumber":13885,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-edit\": \"1.11.1\","},{"lineNumber":13886,"author":{"gitId":"-"},"content":" \"@webassemblyjs/wasm-parser\": \"1.11.1\","},{"lineNumber":13887,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.7.1\","},{"lineNumber":13888,"author":{"gitId":"-"},"content":" \"acorn-import-assertions\": \"^1.7.6\","},{"lineNumber":13889,"author":{"gitId":"-"},"content":" \"browserslist\": \"^4.14.5\","},{"lineNumber":13890,"author":{"gitId":"-"},"content":" \"chrome-trace-event\": \"^1.0.2\","},{"lineNumber":13891,"author":{"gitId":"-"},"content":" \"enhanced-resolve\": \"^5.10.0\","},{"lineNumber":13892,"author":{"gitId":"-"},"content":" \"es-module-lexer\": \"^0.9.0\","},{"lineNumber":13893,"author":{"gitId":"-"},"content":" \"eslint-scope\": \"5.1.1\","},{"lineNumber":13894,"author":{"gitId":"-"},"content":" \"events\": \"^3.2.0\","},{"lineNumber":13895,"author":{"gitId":"-"},"content":" \"glob-to-regexp\": \"^0.4.1\","},{"lineNumber":13896,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.9\","},{"lineNumber":13897,"author":{"gitId":"-"},"content":" \"json-parse-even-better-errors\": \"^2.3.1\","},{"lineNumber":13898,"author":{"gitId":"-"},"content":" \"loader-runner\": \"^4.2.0\","},{"lineNumber":13899,"author":{"gitId":"-"},"content":" \"mime-types\": \"^2.1.27\","},{"lineNumber":13900,"author":{"gitId":"-"},"content":" \"neo-async\": \"^2.6.2\","},{"lineNumber":13901,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^3.1.0\","},{"lineNumber":13902,"author":{"gitId":"-"},"content":" \"tapable\": \"^2.1.1\","},{"lineNumber":13903,"author":{"gitId":"-"},"content":" \"terser-webpack-plugin\": \"^5.1.3\","},{"lineNumber":13904,"author":{"gitId":"-"},"content":" \"watchpack\": \"^2.4.0\","},{"lineNumber":13905,"author":{"gitId":"-"},"content":" \"webpack-sources\": \"^3.2.3\""},{"lineNumber":13906,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13907,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13908,"author":{"gitId":"-"},"content":" \"webpack\": \"bin/webpack.js\""},{"lineNumber":13909,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13910,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13911,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":13912,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13913,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13914,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":13915,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":13916,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13917,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":13918,"author":{"gitId":"-"},"content":" \"webpack-cli\": {"},{"lineNumber":13919,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":13920,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13921,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13922,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13923,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer\": {"},{"lineNumber":13924,"author":{"gitId":"-"},"content":" \"version\": \"4.7.0\","},{"lineNumber":13925,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13926,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13927,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13928,"author":{"gitId":"-"},"content":" \"acorn\": \"^8.0.4\","},{"lineNumber":13929,"author":{"gitId":"-"},"content":" \"acorn-walk\": \"^8.0.0\","},{"lineNumber":13930,"author":{"gitId":"-"},"content":" \"chalk\": \"^4.1.0\","},{"lineNumber":13931,"author":{"gitId":"-"},"content":" \"commander\": \"^7.2.0\","},{"lineNumber":13932,"author":{"gitId":"-"},"content":" \"gzip-size\": \"^6.0.0\","},{"lineNumber":13933,"author":{"gitId":"-"},"content":" \"lodash\": \"^4.17.20\","},{"lineNumber":13934,"author":{"gitId":"-"},"content":" \"opener\": \"^1.5.2\","},{"lineNumber":13935,"author":{"gitId":"-"},"content":" \"sirv\": \"^1.0.7\","},{"lineNumber":13936,"author":{"gitId":"-"},"content":" \"ws\": \"^7.3.1\""},{"lineNumber":13937,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13938,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":13939,"author":{"gitId":"-"},"content":" \"webpack-bundle-analyzer\": \"lib/bin/analyzer.js\""},{"lineNumber":13940,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13941,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13942,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":13943,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13944,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13945,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/ansi-styles\": {"},{"lineNumber":13946,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":13947,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13948,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13949,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13950,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":13951,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13952,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13953,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":13954,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13955,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13956,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":13957,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13958,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13959,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/chalk\": {"},{"lineNumber":13960,"author":{"gitId":"-"},"content":" \"version\": \"4.1.2\","},{"lineNumber":13961,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13962,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13963,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13964,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.1.0\","},{"lineNumber":13965,"author":{"gitId":"-"},"content":" \"supports-color\": \"^7.1.0\""},{"lineNumber":13966,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13967,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13968,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":13969,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13970,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":13971,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/chalk?sponsor\u003d1\""},{"lineNumber":13972,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13973,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13974,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/color-convert\": {"},{"lineNumber":13975,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":13976,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13977,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13978,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":13979,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":13980,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13981,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13982,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":13983,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13984,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13985,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/color-name\": {"},{"lineNumber":13986,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":13987,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":13988,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":13989,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13990,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/commander\": {"},{"lineNumber":13991,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":13992,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":13993,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":13994,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":13995,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10\""},{"lineNumber":13996,"author":{"gitId":"-"},"content":" }"},{"lineNumber":13997,"author":{"gitId":"-"},"content":" },"},{"lineNumber":13998,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/has-flag\": {"},{"lineNumber":13999,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":14000,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14001,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14002,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14003,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":14004,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14005,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14006,"author":{"gitId":"-"},"content":" \"node_modules/webpack-bundle-analyzer/node_modules/supports-color\": {"},{"lineNumber":14007,"author":{"gitId":"-"},"content":" \"version\": \"7.2.0\","},{"lineNumber":14008,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14009,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14010,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14011,"author":{"gitId":"-"},"content":" \"has-flag\": \"^4.0.0\""},{"lineNumber":14012,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14013,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14014,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":14015,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14016,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14017,"author":{"gitId":"-"},"content":" \"node_modules/webpack-chain\": {"},{"lineNumber":14018,"author":{"gitId":"-"},"content":" \"version\": \"6.5.1\","},{"lineNumber":14019,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14020,"author":{"gitId":"sopa301"},"content":" \"license\": \"MPL-2.0\","},{"lineNumber":14021,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14022,"author":{"gitId":"-"},"content":" \"deepmerge\": \"^1.5.2\","},{"lineNumber":14023,"author":{"gitId":"-"},"content":" \"javascript-stringify\": \"^2.0.1\""},{"lineNumber":14024,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14025,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14026,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":14027,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14028,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14029,"author":{"gitId":"-"},"content":" \"node_modules/webpack-chain/node_modules/deepmerge\": {"},{"lineNumber":14030,"author":{"gitId":"-"},"content":" \"version\": \"1.5.2\","},{"lineNumber":14031,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14032,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14033,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14034,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":14035,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14036,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14037,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware\": {"},{"lineNumber":14038,"author":{"gitId":"-"},"content":" \"version\": \"5.3.4\","},{"lineNumber":14039,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14040,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14041,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14042,"author":{"gitId":"-"},"content":" \"colorette\": \"^2.0.10\","},{"lineNumber":14043,"author":{"gitId":"-"},"content":" \"memfs\": \"^3.4.3\","},{"lineNumber":14044,"author":{"gitId":"-"},"content":" \"mime-types\": \"^2.1.31\","},{"lineNumber":14045,"author":{"gitId":"-"},"content":" \"range-parser\": \"^1.2.1\","},{"lineNumber":14046,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\""},{"lineNumber":14047,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14048,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14049,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":14050,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14051,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14052,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":14053,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":14054,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14055,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":14056,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.0.0 || ^5.0.0\""},{"lineNumber":14057,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14058,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14059,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware/node_modules/ajv\": {"},{"lineNumber":14060,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":14061,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14062,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14063,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14064,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":14065,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":14066,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":14067,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":14068,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14069,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14070,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":14071,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":14072,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14073,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14074,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware/node_modules/ajv-keywords\": {"},{"lineNumber":14075,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":14076,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14077,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14078,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14079,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\""},{"lineNumber":14080,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14081,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":14082,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\""},{"lineNumber":14083,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14084,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14085,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware/node_modules/json-schema-traverse\": {"},{"lineNumber":14086,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":14087,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14088,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":14089,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14090,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-middleware/node_modules/schema-utils\": {"},{"lineNumber":14091,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":14092,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14093,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14094,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14095,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\","},{"lineNumber":14096,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\","},{"lineNumber":14097,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\","},{"lineNumber":14098,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\""},{"lineNumber":14099,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14100,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14101,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":14102,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14103,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14104,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":14105,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":14106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14107,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14108,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server\": {"},{"lineNumber":14109,"author":{"gitId":"-"},"content":" \"version\": \"4.11.1\","},{"lineNumber":14110,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14111,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14112,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14113,"author":{"gitId":"-"},"content":" \"@types/bonjour\": \"^3.5.9\","},{"lineNumber":14114,"author":{"gitId":"-"},"content":" \"@types/connect-history-api-fallback\": \"^1.3.5\","},{"lineNumber":14115,"author":{"gitId":"-"},"content":" \"@types/express\": \"^4.17.13\","},{"lineNumber":14116,"author":{"gitId":"-"},"content":" \"@types/serve-index\": \"^1.9.1\","},{"lineNumber":14117,"author":{"gitId":"-"},"content":" \"@types/serve-static\": \"^1.13.10\","},{"lineNumber":14118,"author":{"gitId":"-"},"content":" \"@types/sockjs\": \"^0.3.33\","},{"lineNumber":14119,"author":{"gitId":"-"},"content":" \"@types/ws\": \"^8.5.1\","},{"lineNumber":14120,"author":{"gitId":"-"},"content":" \"ansi-html-community\": \"^0.0.8\","},{"lineNumber":14121,"author":{"gitId":"-"},"content":" \"bonjour-service\": \"^1.0.11\","},{"lineNumber":14122,"author":{"gitId":"-"},"content":" \"chokidar\": \"^3.5.3\","},{"lineNumber":14123,"author":{"gitId":"-"},"content":" \"colorette\": \"^2.0.10\","},{"lineNumber":14124,"author":{"gitId":"-"},"content":" \"compression\": \"^1.7.4\","},{"lineNumber":14125,"author":{"gitId":"-"},"content":" \"connect-history-api-fallback\": \"^2.0.0\","},{"lineNumber":14126,"author":{"gitId":"-"},"content":" \"default-gateway\": \"^6.0.3\","},{"lineNumber":14127,"author":{"gitId":"-"},"content":" \"express\": \"^4.17.3\","},{"lineNumber":14128,"author":{"gitId":"-"},"content":" \"graceful-fs\": \"^4.2.6\","},{"lineNumber":14129,"author":{"gitId":"-"},"content":" \"html-entities\": \"^2.3.2\","},{"lineNumber":14130,"author":{"gitId":"-"},"content":" \"http-proxy-middleware\": \"^2.0.3\","},{"lineNumber":14131,"author":{"gitId":"-"},"content":" \"ipaddr.js\": \"^2.0.1\","},{"lineNumber":14132,"author":{"gitId":"-"},"content":" \"open\": \"^8.0.9\","},{"lineNumber":14133,"author":{"gitId":"-"},"content":" \"p-retry\": \"^4.5.0\","},{"lineNumber":14134,"author":{"gitId":"-"},"content":" \"rimraf\": \"^3.0.2\","},{"lineNumber":14135,"author":{"gitId":"-"},"content":" \"schema-utils\": \"^4.0.0\","},{"lineNumber":14136,"author":{"gitId":"-"},"content":" \"selfsigned\": \"^2.1.1\","},{"lineNumber":14137,"author":{"gitId":"-"},"content":" \"serve-index\": \"^1.9.1\","},{"lineNumber":14138,"author":{"gitId":"-"},"content":" \"sockjs\": \"^0.3.24\","},{"lineNumber":14139,"author":{"gitId":"-"},"content":" \"spdy\": \"^4.0.2\","},{"lineNumber":14140,"author":{"gitId":"-"},"content":" \"webpack-dev-middleware\": \"^5.3.1\","},{"lineNumber":14141,"author":{"gitId":"-"},"content":" \"ws\": \"^8.4.2\""},{"lineNumber":14142,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14143,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":14144,"author":{"gitId":"-"},"content":" \"webpack-dev-server\": \"bin/webpack-dev-server.js\""},{"lineNumber":14145,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14146,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14147,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":14148,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14149,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14150,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":14151,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":14152,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14153,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":14154,"author":{"gitId":"-"},"content":" \"webpack\": \"^4.37.0 || ^5.0.0\""},{"lineNumber":14155,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14156,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":14157,"author":{"gitId":"-"},"content":" \"webpack-cli\": {"},{"lineNumber":14158,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":14159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14161,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14162,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/ajv\": {"},{"lineNumber":14163,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":14164,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14165,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14166,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14167,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.1\","},{"lineNumber":14168,"author":{"gitId":"-"},"content":" \"json-schema-traverse\": \"^1.0.0\","},{"lineNumber":14169,"author":{"gitId":"-"},"content":" \"require-from-string\": \"^2.0.2\","},{"lineNumber":14170,"author":{"gitId":"-"},"content":" \"uri-js\": \"^4.2.2\""},{"lineNumber":14171,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14172,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14173,"author":{"gitId":"-"},"content":" \"type\": \"github\","},{"lineNumber":14174,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/epoberezkin\""},{"lineNumber":14175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14176,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14177,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/ajv-keywords\": {"},{"lineNumber":14178,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":14179,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14180,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14181,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14182,"author":{"gitId":"-"},"content":" \"fast-deep-equal\": \"^3.1.3\""},{"lineNumber":14183,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14184,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":14185,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.2\""},{"lineNumber":14186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14187,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14188,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/json-schema-traverse\": {"},{"lineNumber":14189,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":14190,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14191,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":14192,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14193,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/schema-utils\": {"},{"lineNumber":14194,"author":{"gitId":"-"},"content":" \"version\": \"4.0.0\","},{"lineNumber":14195,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14196,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14197,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14198,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.9\","},{"lineNumber":14199,"author":{"gitId":"-"},"content":" \"ajv\": \"^8.8.0\","},{"lineNumber":14200,"author":{"gitId":"-"},"content":" \"ajv-formats\": \"^2.1.1\","},{"lineNumber":14201,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^5.0.0\""},{"lineNumber":14202,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14203,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14204,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 12.13.0\""},{"lineNumber":14205,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14206,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14207,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":14208,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":14209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14210,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14211,"author":{"gitId":"-"},"content":" \"node_modules/webpack-dev-server/node_modules/ws\": {"},{"lineNumber":14212,"author":{"gitId":"-"},"content":" \"version\": \"8.12.0\","},{"lineNumber":14213,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14214,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14215,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14216,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.0.0\""},{"lineNumber":14217,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14218,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":14219,"author":{"gitId":"-"},"content":" \"bufferutil\": \"^4.0.1\","},{"lineNumber":14220,"author":{"gitId":"-"},"content":" \"utf-8-validate\": \"\u003e\u003d5.0.2\""},{"lineNumber":14221,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14222,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":14223,"author":{"gitId":"-"},"content":" \"bufferutil\": {"},{"lineNumber":14224,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":14225,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14226,"author":{"gitId":"-"},"content":" \"utf-8-validate\": {"},{"lineNumber":14227,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":14228,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14229,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14230,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14231,"author":{"gitId":"-"},"content":" \"node_modules/webpack-merge\": {"},{"lineNumber":14232,"author":{"gitId":"-"},"content":" \"version\": \"5.8.0\","},{"lineNumber":14233,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14234,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14235,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14236,"author":{"gitId":"-"},"content":" \"clone-deep\": \"^4.0.1\","},{"lineNumber":14237,"author":{"gitId":"-"},"content":" \"wildcard\": \"^2.0.0\""},{"lineNumber":14238,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14239,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14240,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.0.0\""},{"lineNumber":14241,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14242,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14243,"author":{"gitId":"-"},"content":" \"node_modules/webpack-sources\": {"},{"lineNumber":14244,"author":{"gitId":"-"},"content":" \"version\": \"3.2.3\","},{"lineNumber":14245,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14246,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14247,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10.13.0\""},{"lineNumber":14248,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14249,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14250,"author":{"gitId":"-"},"content":" \"node_modules/webpack-virtual-modules\": {"},{"lineNumber":14251,"author":{"gitId":"-"},"content":" \"version\": \"0.4.6\","},{"lineNumber":14252,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14253,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":14254,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14255,"author":{"gitId":"-"},"content":" \"node_modules/webpack/node_modules/@types/estree\": {"},{"lineNumber":14256,"author":{"gitId":"-"},"content":" \"version\": \"0.0.51\","},{"lineNumber":14257,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":14258,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14259,"author":{"gitId":"-"},"content":" \"node_modules/webpack/node_modules/schema-utils\": {"},{"lineNumber":14260,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":14261,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14262,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14263,"author":{"gitId":"-"},"content":" \"@types/json-schema\": \"^7.0.8\","},{"lineNumber":14264,"author":{"gitId":"-"},"content":" \"ajv\": \"^6.12.5\","},{"lineNumber":14265,"author":{"gitId":"-"},"content":" \"ajv-keywords\": \"^3.5.2\""},{"lineNumber":14266,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14267,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14268,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.13.0\""},{"lineNumber":14269,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14270,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14271,"author":{"gitId":"-"},"content":" \"type\": \"opencollective\","},{"lineNumber":14272,"author":{"gitId":"-"},"content":" \"url\": \"https://opencollective.com/webpack\""},{"lineNumber":14273,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14274,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14275,"author":{"gitId":"-"},"content":" \"node_modules/webpack/node_modules/tapable\": {"},{"lineNumber":14276,"author":{"gitId":"-"},"content":" \"version\": \"2.2.1\","},{"lineNumber":14277,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14278,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14279,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d6\""},{"lineNumber":14280,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14281,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14282,"author":{"gitId":"-"},"content":" \"node_modules/websocket-driver\": {"},{"lineNumber":14283,"author":{"gitId":"-"},"content":" \"version\": \"0.7.4\","},{"lineNumber":14284,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14285,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":14286,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14287,"author":{"gitId":"-"},"content":" \"http-parser-js\": \"\u003e\u003d0.5.1\","},{"lineNumber":14288,"author":{"gitId":"-"},"content":" \"safe-buffer\": \"\u003e\u003d5.1.0\","},{"lineNumber":14289,"author":{"gitId":"-"},"content":" \"websocket-extensions\": \"\u003e\u003d0.1.1\""},{"lineNumber":14290,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14291,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14292,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.0\""},{"lineNumber":14293,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14294,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14295,"author":{"gitId":"-"},"content":" \"node_modules/websocket-extensions\": {"},{"lineNumber":14296,"author":{"gitId":"-"},"content":" \"version\": \"0.1.4\","},{"lineNumber":14297,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14298,"author":{"gitId":"sopa301"},"content":" \"license\": \"Apache-2.0\","},{"lineNumber":14299,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14300,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.8.0\""},{"lineNumber":14301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14302,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14303,"author":{"gitId":"-"},"content":" \"node_modules/whatwg-fetch\": {"},{"lineNumber":14304,"author":{"gitId":"-"},"content":" \"version\": \"3.6.2\","},{"lineNumber":14305,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14306,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":14307,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14308,"author":{"gitId":"-"},"content":" \"node_modules/whatwg-url\": {"},{"lineNumber":14309,"author":{"gitId":"-"},"content":" \"version\": \"5.0.0\","},{"lineNumber":14310,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14311,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14312,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14313,"author":{"gitId":"-"},"content":" \"tr46\": \"~0.0.3\","},{"lineNumber":14314,"author":{"gitId":"-"},"content":" \"webidl-conversions\": \"^3.0.0\""},{"lineNumber":14315,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14316,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14317,"author":{"gitId":"-"},"content":" \"node_modules/which\": {"},{"lineNumber":14318,"author":{"gitId":"-"},"content":" \"version\": \"2.0.2\","},{"lineNumber":14319,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14320,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":14321,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14322,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\""},{"lineNumber":14323,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14324,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":14325,"author":{"gitId":"-"},"content":" \"node-which\": \"bin/node-which\""},{"lineNumber":14326,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14327,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14328,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 8\""},{"lineNumber":14329,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14330,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14331,"author":{"gitId":"-"},"content":" \"node_modules/which-boxed-primitive\": {"},{"lineNumber":14332,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":14333,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14334,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14335,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14336,"author":{"gitId":"-"},"content":" \"is-bigint\": \"^1.0.1\","},{"lineNumber":14337,"author":{"gitId":"-"},"content":" \"is-boolean-object\": \"^1.1.0\","},{"lineNumber":14338,"author":{"gitId":"-"},"content":" \"is-number-object\": \"^1.0.4\","},{"lineNumber":14339,"author":{"gitId":"-"},"content":" \"is-string\": \"^1.0.5\","},{"lineNumber":14340,"author":{"gitId":"-"},"content":" \"is-symbol\": \"^1.0.3\""},{"lineNumber":14341,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14342,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14343,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":14344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14345,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14346,"author":{"gitId":"-"},"content":" \"node_modules/which-typed-array\": {"},{"lineNumber":14347,"author":{"gitId":"sopa301"},"content":" \"version\": \"1.1.15\","},{"lineNumber":14348,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14349,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14350,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14351,"author":{"gitId":"sopa301"},"content":" \"available-typed-arrays\": \"^1.0.7\","},{"lineNumber":14352,"author":{"gitId":"sopa301"},"content":" \"call-bind\": \"^1.0.7\","},{"lineNumber":14353,"author":{"gitId":"-"},"content":" \"for-each\": \"^0.3.3\","},{"lineNumber":14354,"author":{"gitId":"-"},"content":" \"gopd\": \"^1.0.1\","},{"lineNumber":14355,"author":{"gitId":"sopa301"},"content":" \"has-tostringtag\": \"^1.0.2\""},{"lineNumber":14356,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14357,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14358,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 0.4\""},{"lineNumber":14359,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14360,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14361,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/ljharb\""},{"lineNumber":14362,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14363,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14364,"author":{"gitId":"-"},"content":" \"node_modules/wildcard\": {"},{"lineNumber":14365,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":14366,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14367,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":14368,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14369,"author":{"gitId":"-"},"content":" \"node_modules/with\": {"},{"lineNumber":14370,"author":{"gitId":"-"},"content":" \"version\": \"7.0.2\","},{"lineNumber":14371,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14372,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14373,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14374,"author":{"gitId":"-"},"content":" \"@babel/parser\": \"^7.9.6\","},{"lineNumber":14375,"author":{"gitId":"-"},"content":" \"@babel/types\": \"^7.9.6\","},{"lineNumber":14376,"author":{"gitId":"-"},"content":" \"assert-never\": \"^1.2.1\","},{"lineNumber":14377,"author":{"gitId":"-"},"content":" \"babel-walk\": \"3.0.0-canary-5\""},{"lineNumber":14378,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14379,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14380,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 10.0.0\""},{"lineNumber":14381,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14382,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14383,"author":{"gitId":"-"},"content":" \"node_modules/wrap-ansi\": {"},{"lineNumber":14384,"author":{"gitId":"-"},"content":" \"version\": \"7.0.0\","},{"lineNumber":14385,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14386,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14387,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14388,"author":{"gitId":"-"},"content":" \"ansi-styles\": \"^4.0.0\","},{"lineNumber":14389,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.1.0\","},{"lineNumber":14390,"author":{"gitId":"-"},"content":" \"strip-ansi\": \"^6.0.0\""},{"lineNumber":14391,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14392,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14393,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":14394,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14395,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14396,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/wrap-ansi?sponsor\u003d1\""},{"lineNumber":14397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14398,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14399,"author":{"gitId":"-"},"content":" \"node_modules/wrap-ansi/node_modules/ansi-styles\": {"},{"lineNumber":14400,"author":{"gitId":"-"},"content":" \"version\": \"4.3.0\","},{"lineNumber":14401,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14402,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14403,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14404,"author":{"gitId":"-"},"content":" \"color-convert\": \"^2.0.1\""},{"lineNumber":14405,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14406,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14407,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8\""},{"lineNumber":14408,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14409,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14410,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/chalk/ansi-styles?sponsor\u003d1\""},{"lineNumber":14411,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14412,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14413,"author":{"gitId":"-"},"content":" \"node_modules/wrap-ansi/node_modules/color-convert\": {"},{"lineNumber":14414,"author":{"gitId":"-"},"content":" \"version\": \"2.0.1\","},{"lineNumber":14415,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14416,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14417,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14418,"author":{"gitId":"-"},"content":" \"color-name\": \"~1.1.4\""},{"lineNumber":14419,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14420,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14421,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d7.0.0\""},{"lineNumber":14422,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14423,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14424,"author":{"gitId":"-"},"content":" \"node_modules/wrap-ansi/node_modules/color-name\": {"},{"lineNumber":14425,"author":{"gitId":"-"},"content":" \"version\": \"1.1.4\","},{"lineNumber":14426,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14427,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\""},{"lineNumber":14428,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14429,"author":{"gitId":"-"},"content":" \"node_modules/wrappy\": {"},{"lineNumber":14430,"author":{"gitId":"-"},"content":" \"version\": \"1.0.2\","},{"lineNumber":14431,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":14432,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14433,"author":{"gitId":"-"},"content":" \"node_modules/write-file-atomic\": {"},{"lineNumber":14434,"author":{"gitId":"sopa301"},"content":" \"version\": \"5.0.1\","},{"lineNumber":14435,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz\","},{"lineNumber":14436,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw\u003d\u003d\","},{"lineNumber":14437,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14438,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14439,"author":{"gitId":"-"},"content":" \"imurmurhash\": \"^0.1.4\","},{"lineNumber":14440,"author":{"gitId":"sopa301"},"content":" \"signal-exit\": \"^4.0.1\""},{"lineNumber":14441,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14442,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14443,"author":{"gitId":"sopa301"},"content":" \"node\": \"^14.17.0 || ^16.13.0 || \u003e\u003d18.0.0\""},{"lineNumber":14444,"author":{"gitId":"sopa301"},"content":" }"},{"lineNumber":14445,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":14446,"author":{"gitId":"sopa301"},"content":" \"node_modules/write-file-atomic/node_modules/signal-exit\": {"},{"lineNumber":14447,"author":{"gitId":"sopa301"},"content":" \"version\": \"4.1.0\","},{"lineNumber":14448,"author":{"gitId":"sopa301"},"content":" \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz\","},{"lineNumber":14449,"author":{"gitId":"sopa301"},"content":" \"integrity\": \"sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw\u003d\u003d\","},{"lineNumber":14450,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14451,"author":{"gitId":"sopa301"},"content":" \"engines\": {"},{"lineNumber":14452,"author":{"gitId":"sopa301"},"content":" \"node\": \"\u003e\u003d14\""},{"lineNumber":14453,"author":{"gitId":"sopa301"},"content":" },"},{"lineNumber":14454,"author":{"gitId":"sopa301"},"content":" \"funding\": {"},{"lineNumber":14455,"author":{"gitId":"sopa301"},"content":" \"url\": \"https://github.com/sponsors/isaacs\""},{"lineNumber":14456,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14457,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14458,"author":{"gitId":"-"},"content":" \"node_modules/ws\": {"},{"lineNumber":14459,"author":{"gitId":"-"},"content":" \"version\": \"7.5.9\","},{"lineNumber":14460,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14461,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14462,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14463,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d8.3.0\""},{"lineNumber":14464,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14465,"author":{"gitId":"-"},"content":" \"peerDependencies\": {"},{"lineNumber":14466,"author":{"gitId":"-"},"content":" \"bufferutil\": \"^4.0.1\","},{"lineNumber":14467,"author":{"gitId":"-"},"content":" \"utf-8-validate\": \"^5.0.2\""},{"lineNumber":14468,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14469,"author":{"gitId":"-"},"content":" \"peerDependenciesMeta\": {"},{"lineNumber":14470,"author":{"gitId":"-"},"content":" \"bufferutil\": {"},{"lineNumber":14471,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":14472,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14473,"author":{"gitId":"-"},"content":" \"utf-8-validate\": {"},{"lineNumber":14474,"author":{"gitId":"-"},"content":" \"optional\": true"},{"lineNumber":14475,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14476,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14477,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14478,"author":{"gitId":"-"},"content":" \"node_modules/y18n\": {"},{"lineNumber":14479,"author":{"gitId":"-"},"content":" \"version\": \"5.0.8\","},{"lineNumber":14480,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14481,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":14482,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14483,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":14484,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14485,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14486,"author":{"gitId":"-"},"content":" \"node_modules/yallist\": {"},{"lineNumber":14487,"author":{"gitId":"-"},"content":" \"version\": \"3.1.1\","},{"lineNumber":14488,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14489,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":14490,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14491,"author":{"gitId":"-"},"content":" \"node_modules/yaml\": {"},{"lineNumber":14492,"author":{"gitId":"-"},"content":" \"version\": \"1.10.2\","},{"lineNumber":14493,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14494,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":14495,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14496,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d 6\""},{"lineNumber":14497,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14498,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14499,"author":{"gitId":"-"},"content":" \"node_modules/yargs\": {"},{"lineNumber":14500,"author":{"gitId":"-"},"content":" \"version\": \"16.2.0\","},{"lineNumber":14501,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14502,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14503,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14504,"author":{"gitId":"-"},"content":" \"cliui\": \"^7.0.2\","},{"lineNumber":14505,"author":{"gitId":"-"},"content":" \"escalade\": \"^3.1.1\","},{"lineNumber":14506,"author":{"gitId":"-"},"content":" \"get-caller-file\": \"^2.0.5\","},{"lineNumber":14507,"author":{"gitId":"-"},"content":" \"require-directory\": \"^2.1.1\","},{"lineNumber":14508,"author":{"gitId":"-"},"content":" \"string-width\": \"^4.2.0\","},{"lineNumber":14509,"author":{"gitId":"-"},"content":" \"y18n\": \"^5.0.5\","},{"lineNumber":14510,"author":{"gitId":"-"},"content":" \"yargs-parser\": \"^20.2.2\""},{"lineNumber":14511,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14512,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14513,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":14514,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14515,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14516,"author":{"gitId":"-"},"content":" \"node_modules/yargs-parser\": {"},{"lineNumber":14517,"author":{"gitId":"-"},"content":" \"version\": \"20.2.9\","},{"lineNumber":14518,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14519,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":14520,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14521,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":14522,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14523,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14524,"author":{"gitId":"-"},"content":" \"node_modules/yocto-queue\": {"},{"lineNumber":14525,"author":{"gitId":"-"},"content":" \"version\": \"0.1.0\","},{"lineNumber":14526,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14527,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14528,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14529,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d10\""},{"lineNumber":14530,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14531,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14532,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/sindresorhus\""},{"lineNumber":14533,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14534,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14535,"author":{"gitId":"-"},"content":" \"node_modules/yorkie\": {"},{"lineNumber":14536,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":14537,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14538,"author":{"gitId":"-"},"content":" \"hasInstallScript\": true,"},{"lineNumber":14539,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14540,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14541,"author":{"gitId":"-"},"content":" \"execa\": \"^0.8.0\","},{"lineNumber":14542,"author":{"gitId":"-"},"content":" \"is-ci\": \"^1.0.10\","},{"lineNumber":14543,"author":{"gitId":"-"},"content":" \"normalize-path\": \"^1.0.0\","},{"lineNumber":14544,"author":{"gitId":"-"},"content":" \"strip-indent\": \"^2.0.0\""},{"lineNumber":14545,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14546,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14547,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":14548,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14549,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14550,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/cross-spawn\": {"},{"lineNumber":14551,"author":{"gitId":"-"},"content":" \"version\": \"5.1.0\","},{"lineNumber":14552,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14553,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14554,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14555,"author":{"gitId":"-"},"content":" \"lru-cache\": \"^4.0.1\","},{"lineNumber":14556,"author":{"gitId":"-"},"content":" \"shebang-command\": \"^1.2.0\","},{"lineNumber":14557,"author":{"gitId":"-"},"content":" \"which\": \"^1.2.9\""},{"lineNumber":14558,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14559,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14560,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/execa\": {"},{"lineNumber":14561,"author":{"gitId":"-"},"content":" \"version\": \"0.8.0\","},{"lineNumber":14562,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14563,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14564,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14565,"author":{"gitId":"-"},"content":" \"cross-spawn\": \"^5.0.1\","},{"lineNumber":14566,"author":{"gitId":"-"},"content":" \"get-stream\": \"^3.0.0\","},{"lineNumber":14567,"author":{"gitId":"-"},"content":" \"is-stream\": \"^1.1.0\","},{"lineNumber":14568,"author":{"gitId":"-"},"content":" \"npm-run-path\": \"^2.0.0\","},{"lineNumber":14569,"author":{"gitId":"-"},"content":" \"p-finally\": \"^1.0.0\","},{"lineNumber":14570,"author":{"gitId":"-"},"content":" \"signal-exit\": \"^3.0.0\","},{"lineNumber":14571,"author":{"gitId":"-"},"content":" \"strip-eof\": \"^1.0.0\""},{"lineNumber":14572,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14573,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14574,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":14575,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14576,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14577,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/get-stream\": {"},{"lineNumber":14578,"author":{"gitId":"-"},"content":" \"version\": \"3.0.0\","},{"lineNumber":14579,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14580,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14581,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14582,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":14583,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14584,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14585,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/lru-cache\": {"},{"lineNumber":14586,"author":{"gitId":"-"},"content":" \"version\": \"4.1.5\","},{"lineNumber":14587,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14588,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":14589,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14590,"author":{"gitId":"-"},"content":" \"pseudomap\": \"^1.0.2\","},{"lineNumber":14591,"author":{"gitId":"-"},"content":" \"yallist\": \"^2.1.2\""},{"lineNumber":14592,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14593,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14594,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/normalize-path\": {"},{"lineNumber":14595,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":14596,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14597,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14598,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14599,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":14600,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14601,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14602,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/shebang-command\": {"},{"lineNumber":14603,"author":{"gitId":"-"},"content":" \"version\": \"1.2.0\","},{"lineNumber":14604,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14605,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14606,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14607,"author":{"gitId":"-"},"content":" \"shebang-regex\": \"^1.0.0\""},{"lineNumber":14608,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14609,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14610,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":14611,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14612,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14613,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/shebang-regex\": {"},{"lineNumber":14614,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":14615,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14616,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14617,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14618,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d0.10.0\""},{"lineNumber":14619,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14620,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14621,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/strip-indent\": {"},{"lineNumber":14622,"author":{"gitId":"-"},"content":" \"version\": \"2.0.0\","},{"lineNumber":14623,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14624,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14625,"author":{"gitId":"-"},"content":" \"engines\": {"},{"lineNumber":14626,"author":{"gitId":"-"},"content":" \"node\": \"\u003e\u003d4\""},{"lineNumber":14627,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14628,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14629,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/which\": {"},{"lineNumber":14630,"author":{"gitId":"-"},"content":" \"version\": \"1.3.1\","},{"lineNumber":14631,"author":{"gitId":"-"},"content":" \"dev\": true,"},{"lineNumber":14632,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\","},{"lineNumber":14633,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":14634,"author":{"gitId":"-"},"content":" \"isexe\": \"^2.0.0\""},{"lineNumber":14635,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14636,"author":{"gitId":"-"},"content":" \"bin\": {"},{"lineNumber":14637,"author":{"gitId":"-"},"content":" \"which\": \"bin/which\""},{"lineNumber":14638,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14639,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14640,"author":{"gitId":"-"},"content":" \"node_modules/yorkie/node_modules/yallist\": {"},{"lineNumber":14641,"author":{"gitId":"-"},"content":" \"version\": \"2.1.2\","},{"lineNumber":14642,"author":{"gitId":"sopa301"},"content":" \"dev\": true,"},{"lineNumber":14643,"author":{"gitId":"sopa301"},"content":" \"license\": \"ISC\""},{"lineNumber":14644,"author":{"gitId":"-"},"content":" },"},{"lineNumber":14645,"author":{"gitId":"-"},"content":" \"node_modules/zod\": {"},{"lineNumber":14646,"author":{"gitId":"sopa301"},"content":" \"version\": \"3.22.4\","},{"lineNumber":14647,"author":{"gitId":"sopa301"},"content":" \"license\": \"MIT\","},{"lineNumber":14648,"author":{"gitId":"-"},"content":" \"funding\": {"},{"lineNumber":14649,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/sponsors/colinhacks\""},{"lineNumber":14650,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14651,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14652,"author":{"gitId":"-"},"content":" }"},{"lineNumber":14653,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"sopa301":2901,"-":11752}},{"path":"frontend/package.json","fileType":"json","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"{"},{"lineNumber":2,"author":{"gitId":"-"},"content":" \"name\": \"reposense\","},{"lineNumber":3,"author":{"gitId":"-"},"content":" \"version\": \"1.0.0\","},{"lineNumber":4,"author":{"gitId":"-"},"content":" \"description\": \"[![Build Status](https://travis-ci.org/reposense/RepoSense.svg?branch\u003dmaster)](https://travis-ci.org/reposense/RepoSense) [![Build status](https://ci.appveyor.com/api/projects/status/gsbkj5qby3pjd6nw/branch/master?svg\u003dtrue)](https://ci.appveyor.com/project/eugenepeh/reposense/branch/master)\","},{"lineNumber":5,"author":{"gitId":"-"},"content":" \"author\": \"\","},{"lineNumber":6,"author":{"gitId":"-"},"content":" \"scripts\": {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" \"serve\": \"vue-cli-service serve\","},{"lineNumber":8,"author":{"gitId":"-"},"content":" \"build\": \"vue-cli-service build\","},{"lineNumber":9,"author":{"gitId":"-"},"content":" \"lint\": \"eslint src/**/*.{ts,vue} cypress/tests/**/*.js cypress/support.js \u0026\u0026 stylelint ./src/**/*.{vue,scss} \u0026\u0026 npm run puglint\","},{"lineNumber":10,"author":{"gitId":"-"},"content":" \"devbuild\": \"vue-cli-service build --mode development\","},{"lineNumber":11,"author":{"gitId":"-"},"content":" \"lintfix\": \"eslint --fix src/**/*.{ts,vue} cypress/tests/**/*.js cypress/support.js \u0026\u0026 stylelint --fix ./src/**/*.{vue,scss}\","},{"lineNumber":12,"author":{"gitId":"-"},"content":" \"puglint\": \"pug-lint-vue src\","},{"lineNumber":13,"author":{"gitId":"-"},"content":" \"serveOpen\": \"vue-cli-service serve --open\""},{"lineNumber":14,"author":{"gitId":"-"},"content":" },"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"main\": \"index.js\","},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"dependencies\": {"},{"lineNumber":17,"author":{"gitId":"sopa301"},"content":" \"@fontsource/titillium-web\": \"^5.0.0\","},{"lineNumber":18,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/fontawesome-svg-core\": \"^6.5.1\","},{"lineNumber":19,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-brands-svg-icons\": \"^6.5.1\","},{"lineNumber":20,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/free-solid-svg-icons\": \"^6.5.1\","},{"lineNumber":21,"author":{"gitId":"sopa301"},"content":" \"@fortawesome/vue-fontawesome\": \"^3.0.6\","},{"lineNumber":22,"author":{"gitId":"sopa301"},"content":" \"@types/markdown-it\": \"^13.0.7\","},{"lineNumber":23,"author":{"gitId":"-"},"content":" \"@types/minimatch\": \"^5.1.2\","},{"lineNumber":24,"author":{"gitId":"sopa301"},"content":" \"@types/seedrandom\": \"^3.0.8\","},{"lineNumber":25,"author":{"gitId":"sopa301"},"content":" \"core-js\": \"^3.36.1\","},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"highlight.js\": \"^10.5.0\","},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"jszip\": \"^3.5.0\","},{"lineNumber":28,"author":{"gitId":"sopa301"},"content":" \"markdown-it\": \"^14.1.0\","},{"lineNumber":29,"author":{"gitId":"sopa301"},"content":" \"minimatch\": \"^9.0.0\","},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"muicss\": \"^0.10.3\","},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"normalize.css\": \"^8.0.1\","},{"lineNumber":32,"author":{"gitId":"sopa301"},"content":" \"postcss\": \"^8.4.38\","},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"pug-lint-vue\": \"^0.4.0\","},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"seedrandom\": \"^3.0.5\","},{"lineNumber":35,"author":{"gitId":"sopa301"},"content":" \"vue\": \"~3.4.0\","},{"lineNumber":36,"author":{"gitId":"sopa301"},"content":" \"vue-loader\": \"^17.4.2\","},{"lineNumber":37,"author":{"gitId":"sopa301"},"content":" \"vue-loading-overlay\": \"^6.0.4\","},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"vue-observe-visibility\": \"^1.0.0\","},{"lineNumber":39,"author":{"gitId":"sopa301"},"content":" \"vue-router\": \"^4.3.0\","},{"lineNumber":40,"author":{"gitId":"-"},"content":" \"vuex\": \"^4.0.2\","},{"lineNumber":41,"author":{"gitId":"sopa301"},"content":" \"zod\": \"^3.22.4\""},{"lineNumber":42,"author":{"gitId":"-"},"content":" },"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"devDependencies\": {"},{"lineNumber":44,"author":{"gitId":"sopa301"},"content":" \"@babel/eslint-parser\": \"^7.24.1\","},{"lineNumber":45,"author":{"gitId":"sopa301"},"content":" \"@stylistic/stylelint-plugin\": \"^2.1.0\","},{"lineNumber":46,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/eslint-plugin\": \"^5.5.0\","},{"lineNumber":47,"author":{"gitId":"sopa301"},"content":" \"@typescript-eslint/parser\": \"^5.5.0\","},{"lineNumber":48,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-babel\": \"^5.0.4\","},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-eslint\": \"^5.0.4\","},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"@vue/cli-plugin-typescript\": \"^5.0.4\","},{"lineNumber":51,"author":{"gitId":"sopa301"},"content":" \"@vue/cli-service\": \"^5.0.8\","},{"lineNumber":52,"author":{"gitId":"sopa301"},"content":" \"@vue/compiler-sfc\": \"^3.4.21\","},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"@vue/eslint-config-typescript\": \"^10.0.0\","},{"lineNumber":54,"author":{"gitId":"sopa301"},"content":" \"eslint\": \"^8.57.0\","},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"eslint-config-airbnb-base\": \"^15.0.0\","},{"lineNumber":56,"author":{"gitId":"sopa301"},"content":" \"eslint-config-airbnb-typescript\": \"^17.1.0\","},{"lineNumber":57,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-import\": \"^2.29.1\","},{"lineNumber":58,"author":{"gitId":"sopa301"},"content":" \"eslint-plugin-vue\": \"^8.4.3\","},{"lineNumber":59,"author":{"gitId":"sopa301"},"content":" \"postcss-html\": \"^1.6.0\","},{"lineNumber":60,"author":{"gitId":"-"},"content":" \"pug\": \"^3.0.2\","},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"pug-plain-loader\": \"^1.1.0\","},{"lineNumber":62,"author":{"gitId":"sopa301"},"content":" \"sass\": \"^1.71.0\","},{"lineNumber":63,"author":{"gitId":"sopa301"},"content":" \"sass-loader\": \"^14.0.0\","},{"lineNumber":64,"author":{"gitId":"sopa301"},"content":" \"stylelint\": \"^16.1.0\","},{"lineNumber":65,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-recommended-vue\": \"^1.5.0\","},{"lineNumber":66,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard\": \"^36.0.0\","},{"lineNumber":67,"author":{"gitId":"sopa301"},"content":" \"stylelint-config-standard-scss\": \"^13.0.0\","},{"lineNumber":68,"author":{"gitId":"sopa301"},"content":" \"stylelint-order\": \"^6.0.4\","},{"lineNumber":69,"author":{"gitId":"sopa301"},"content":" \"stylelint-webpack-plugin\": \"^5.0.0\","},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"typescript\": \"^4.9.5\""},{"lineNumber":71,"author":{"gitId":"-"},"content":" },"},{"lineNumber":72,"author":{"gitId":"-"},"content":" \"bugs\": {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" \"url\": \"https://github.com/reposense/RepoSense/issues\""},{"lineNumber":74,"author":{"gitId":"-"},"content":" },"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"directories\": {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \"doc\": \"docs\""},{"lineNumber":77,"author":{"gitId":"-"},"content":" },"},{"lineNumber":78,"author":{"gitId":"-"},"content":" \"homepage\": \"https://github.com/reposense/RepoSense#readme\","},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"license\": \"ISC\","},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"repository\": {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \"type\": \"git\","},{"lineNumber":82,"author":{"gitId":"-"},"content":" \"url\": \"git+https://github.com/reposense/RepoSense.git\""},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"sopa301":35,"-":49}},{"path":"frontend/public/title.md","fileType":"md","lines":[{"lineNumber":1,"author":{"gitId":"sopa301"},"content":"# RepoSense"},{"lineNumber":2,"author":{"gitId":"sopa301"},"content":""},{"lineNumber":3,"author":{"gitId":"sopa301"},"content":"RepoSense is a powerful tool for analyzing repositories. It provides valuable insights into your codebase, helping you understand the development patterns, identify areas for improvement, and track the contributions of individual team members."}],"authorContributionMap":{"sopa301":3}},{"path":"src/main/java/reposense/RepoSense.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Level;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.helper.HelpScreenException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.git.GitConfig;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.ReportConfiguration;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.RunConfigurationDecider;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.parser.ArgsParser;"},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;"},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;"},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.report.ReportGenerator;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.system.ReportServer;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * The main RepoSense class."},{"lineNumber":29,"author":{"gitId":"-"},"content":" */"},{"lineNumber":30,"author":{"gitId":"-"},"content":"public class RepoSense {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(RepoSense.class);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final int SERVER_PORT_NUMBER \u003d 9000;"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"E MMM d HH:mm:ss yyyy z\");"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String VERSION_UNSPECIFIED \u003d \"unspecified\";"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":37,"author":{"gitId":"-"},"content":" * The entry point of the program."},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Additional flags are provided by the user in {@code args}."},{"lineNumber":39,"author":{"gitId":"-"},"content":" */"},{"lineNumber":40,"author":{"gitId":"-"},"content":" public static void main(String[] args) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" TimeUtil.startTimer();"},{"lineNumber":43,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(args);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d null;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" ReportConfiguration reportConfig \u003d new ReportConfiguration();"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" if (cliArguments.isViewModeOnly()) {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" ReportServer.startServer(SERVER_PORT_NUMBER, cliArguments.getReportDirectoryPath().toAbsolutePath());"},{"lineNumber":49,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" configs \u003d RunConfigurationDecider.getRunConfiguration(cliArguments).getRepoConfigurations();"},{"lineNumber":53,"author":{"gitId":"-"},"content":" reportConfig \u003d cliArguments.getReportConfiguration();"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(configs, cliArguments.getFormats());"},{"lineNumber":56,"author":{"gitId":"-"},"content":" RepoConfiguration.setDatesToRepoConfigs(configs, cliArguments.getSinceDate(), cliArguments.getUntilDate());"},{"lineNumber":57,"author":{"gitId":"-"},"content":" RepoConfiguration.setZoneIdToRepoConfigs(configs, cliArguments.getZoneId());"},{"lineNumber":58,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(configs,"},{"lineNumber":59,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());"},{"lineNumber":60,"author":{"gitId":"-"},"content":" RepoConfiguration.setFileSizeLimitIgnoredToRepoConfigs(configs,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" cliArguments.isFileSizeLimitIgnored());"},{"lineNumber":62,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsLastModifiedDateIncludedToRepoConfigs(configs,"},{"lineNumber":63,"author":{"gitId":"-"},"content":" cliArguments.isLastModifiedDateIncluded());"},{"lineNumber":64,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(configs,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());"},{"lineNumber":66,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(configs,"},{"lineNumber":67,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" List\u003cString[]\u003e globalGitConfig \u003d GitConfig.getGlobalGitLfsConfig();"},{"lineNumber":70,"author":{"gitId":"-"},"content":" if (globalGitConfig.size() !\u003d 0) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" GitConfig.setGlobalGitLfsConfig(GitConfig.SKIP_SMUDGE_CONFIG_SETTINGS);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" ReportGenerator reportGenerator \u003d new ReportGenerator();"},{"lineNumber":75,"author":{"gitId":"-"},"content":" List\u003cPath\u003e reportFoldersAndFiles \u003d reportGenerator.generateReposReport(configs,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" cliArguments.getOutputFilePath().toAbsolutePath().toString(),"},{"lineNumber":77,"author":{"gitId":"-"},"content":" cliArguments.getAssetsFilePath().toAbsolutePath().toString(), reportConfig,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" formatter.format(ZonedDateTime.now(cliArguments.getZoneId())),"},{"lineNumber":79,"author":{"gitId":"-"},"content":" cliArguments.getSinceDate(), cliArguments.getUntilDate(),"},{"lineNumber":80,"author":{"gitId":"-"},"content":" cliArguments.isSinceDateProvided(), cliArguments.isUntilDateProvided(),"},{"lineNumber":81,"author":{"gitId":"-"},"content":" cliArguments.getNumCloningThreads(), cliArguments.getNumAnalysisThreads(),"},{"lineNumber":82,"author":{"gitId":"-"},"content":" TimeUtil::getElapsedTime, cliArguments.getZoneId(), cliArguments.isFreshClonePerformed());"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" FileUtil.zipFoldersAndFiles(reportFoldersAndFiles, cliArguments.getOutputFilePath().toAbsolutePath(),"},{"lineNumber":85,"author":{"gitId":"-"},"content":" \".json\");"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" // Set back to user\u0027s initial global git lfs config"},{"lineNumber":88,"author":{"gitId":"-"},"content":" GitConfig.setGlobalGitLfsConfig(globalGitConfig);"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" logger.info(TimeUtil.getElapsedTimeMessage());"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" if (cliArguments.isAutomaticallyLaunching()) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" ReportServer.startServer(SERVER_PORT_NUMBER, cliArguments.getOutputFilePath().toAbsolutePath());"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":" } catch (IOException | ParseException | InvalidCsvException | InvalidHeaderException e) {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, e.getMessage(), e);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" } catch (HelpScreenException e) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" // help message was printed by the ArgumentParser; it is safe to exit."},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" LogsManager.moveLogFileToOutputFolder();"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" public static String getVersion() {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" String version \u003d RepoSense.class.getPackage().getImplementationVersion();"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" if (version \u003d\u003d null || version.equals(VERSION_UNSPECIFIED)) {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" version \u003d System.getProperty(\"version\");"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" return version;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":3,"-":110}},{"path":"src/main/java/reposense/authorship/FileInfoAnalyzer.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.authorship;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.HashSet;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.authorship.analyzer.AnnotatorAnalyzer;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileInfo;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileResult;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.authorship.model.LineInfo;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.git.GitBlame;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.git.GitLog;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * Analyzes the target and information given in the {@link FileInfo}."},{"lineNumber":29,"author":{"gitId":"-"},"content":" */"},{"lineNumber":30,"author":{"gitId":"-"},"content":"public class FileInfoAnalyzer {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(FileInfoAnalyzer.class);"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final int AUTHOR_NAME_OFFSET \u003d \"author \".length();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final int AUTHOR_EMAIL_OFFSET \u003d \"author-mail \".length();"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final int AUTHOR_TIME_OFFSET \u003d \"author-time \".length();"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final int AUTHOR_TIMEZONE_OFFSET \u003d \"author-tz \".length();"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final int FULL_COMMIT_HASH_LENGTH \u003d 40;"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_MISSING \u003d \"Unable to analyze the file located at \\\"%s\\\" \""},{"lineNumber":40,"author":{"gitId":"-"},"content":" + \"as the file is missing from your system. Skipping this file.\";"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SHALLOW_CLONING_LAST_MODIFIED_DATE_CONFLICT \u003d \"Repo %s was cloned using \""},{"lineNumber":43,"author":{"gitId":"-"},"content":" + \"shallow cloning. As such, the \\\"last modified date\\\" values may be incorrect.\";"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":46,"author":{"gitId":"-"},"content":" * Analyzes the lines of the file, given in the {@code fileInfo}, that has changed in the time period provided"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * by {@code config}."},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Returns null if the file is missing from the local system, or none of the"},{"lineNumber":49,"author":{"gitId":"-"},"content":" * {@link Author} specified in {@code config} contributed to the file in {@code fileInfo}."},{"lineNumber":50,"author":{"gitId":"-"},"content":" */"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public FileResult analyzeTextFile(RepoConfiguration config, FileInfo fileInfo) {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" String relativePath \u003d fileInfo.getPath();"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" if (Files.notExists(Paths.get(config.getRepoRoot(), relativePath))) {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" logger.severe(String.format(MESSAGE_FILE_MISSING, relativePath));"},{"lineNumber":56,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" if (FileUtil.isEmptyFile(config.getRepoRoot(), relativePath)) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" aggregateBlameAuthorModifiedAndDateInfo(config, fileInfo);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" fileInfo.setFileType(config.getFileType(fileInfo.getPath()));"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" AnnotatorAnalyzer.aggregateAnnotationAuthorInfo(fileInfo, config.getAuthorConfig());"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" if (!config.getAuthorList().isEmpty() \u0026\u0026 fileInfo.isAllAuthorsIgnored(config.getAuthorList())) {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" return generateTextFileResult(fileInfo);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Analyzes the binary file, given in the {@code fileInfo}, that has changed in the time period provided"},{"lineNumber":77,"author":{"gitId":"-"},"content":" * by {@code config}."},{"lineNumber":78,"author":{"gitId":"-"},"content":" * Returns null if the file is missing from the local system, or none of the"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * {@link Author} specified in {@code config} contributed to the file in {@code fileInfo}."},{"lineNumber":80,"author":{"gitId":"-"},"content":" */"},{"lineNumber":81,"author":{"gitId":"-"},"content":" public FileResult analyzeBinaryFile(RepoConfiguration config, FileInfo fileInfo) {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" String relativePath \u003d fileInfo.getPath();"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" if (Files.notExists(Paths.get(config.getRepoRoot(), relativePath))) {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" logger.severe(String.format(MESSAGE_FILE_MISSING, relativePath));"},{"lineNumber":86,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" fileInfo.setFileType(config.getFileType(fileInfo.getPath()));"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" return generateBinaryFileResult(config, fileInfo);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":95,"author":{"gitId":"-"},"content":" * Generates and returns a {@link FileResult} with the authorship results from {@code fileInfo} consolidated."},{"lineNumber":96,"author":{"gitId":"-"},"content":" */"},{"lineNumber":97,"author":{"gitId":"-"},"content":" private FileResult generateTextFileResult(FileInfo fileInfo) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" HashMap\u003cAuthor, Integer\u003e authorContributionMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":99,"author":{"gitId":"-"},"content":" for (LineInfo line : fileInfo.getLines()) {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" Author author \u003d line.getAuthor();"},{"lineNumber":101,"author":{"gitId":"-"},"content":" authorContributionMap.put(author, authorContributionMap.getOrDefault(author, 0) + 1);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" return FileResult.createTextFileResult("},{"lineNumber":105,"author":{"gitId":"-"},"content":" fileInfo.getPath(), fileInfo.getFileType(), fileInfo.getLines(), authorContributionMap,"},{"lineNumber":106,"author":{"gitId":"-"},"content":" fileInfo.exceedsFileLimit());"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":110,"author":{"gitId":"-"},"content":" * Generates and returns a {@link FileResult} with the authorship results from binary {@code fileInfo} consolidated."},{"lineNumber":111,"author":{"gitId":"-"},"content":" * Authorship results are indicated in the {@code authorContributionMap} as contributions with zero line counts."},{"lineNumber":112,"author":{"gitId":"-"},"content":" * Returns {@code null} if none of the {@link Author} specified in {@code config} contributed to the file in"},{"lineNumber":113,"author":{"gitId":"-"},"content":" * {@code fileInfo}."},{"lineNumber":114,"author":{"gitId":"-"},"content":" */"},{"lineNumber":115,"author":{"gitId":"-"},"content":" private FileResult generateBinaryFileResult(RepoConfiguration config, FileInfo fileInfo) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" List\u003cString[]\u003e authorsString \u003d GitLog.getFileAuthors(config, fileInfo.getPath());"},{"lineNumber":117,"author":{"gitId":"-"},"content":" if (authorsString.size() \u003d\u003d 0) {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" Set\u003cAuthor\u003e authors \u003d new HashSet\u003c\u003e();"},{"lineNumber":122,"author":{"gitId":"-"},"content":" HashMap\u003cAuthor, Integer\u003e authorContributionMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" for (String[] lineDetails : authorsString) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" String authorName \u003d lineDetails[0];"},{"lineNumber":126,"author":{"gitId":"-"},"content":" String authorEmail \u003d lineDetails[1];"},{"lineNumber":127,"author":{"gitId":"-"},"content":" authors.add(config.getAuthor(authorName, authorEmail));"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" for (Author author : authors) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" authorContributionMap.put(author, 0);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" return FileResult.createBinaryFileResult(fileInfo.getPath(), fileInfo.getFileType(), authorContributionMap);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":138,"author":{"gitId":"-"},"content":" * Sets the {@link Author} and {@link LocalDateTime} for each line in {@code fileInfo} based on the git blame"},{"lineNumber":139,"author":{"gitId":"-"},"content":" * analysis of the file."},{"lineNumber":140,"author":{"gitId":"-"},"content":" * The {@code config} is used to obtain the root directory for running git blame as well as other parameters used"},{"lineNumber":141,"author":{"gitId":"-"},"content":" * in determining which author to assign to each line and whether to set the last modified date for a"},{"lineNumber":142,"author":{"gitId":"-"},"content":" * {@code lineInfo}."},{"lineNumber":143,"author":{"gitId":"-"},"content":" */"},{"lineNumber":144,"author":{"gitId":"-"},"content":" private void aggregateBlameAuthorModifiedAndDateInfo(RepoConfiguration config, FileInfo fileInfo) {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" String blameResults;"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" if (!config.isFindingPreviousAuthorsPerformed()) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" blameResults \u003d getGitBlameResult(config, fileInfo.getPath());"},{"lineNumber":149,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" blameResults \u003d getGitBlameWithPreviousAuthorsResult(config, fileInfo.getPath());"},{"lineNumber":151,"author":{"gitId":"-"},"content":" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"asdfghjkxd"},"content":" String[] blameResultLines \u003d StringsUtil.NEWLINE.split(blameResults);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" Path filePath \u003d Paths.get(fileInfo.getPath());"},{"lineNumber":155,"author":{"gitId":"-"},"content":" LocalDateTime sinceDate \u003d config.getSinceDate();"},{"lineNumber":156,"author":{"gitId":"-"},"content":" LocalDateTime untilDate \u003d config.getUntilDate();"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" for (int lineCount \u003d 0; lineCount \u003c blameResultLines.length; lineCount +\u003d 5) {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" String commitHash \u003d blameResultLines[lineCount].substring(0, FULL_COMMIT_HASH_LENGTH);"},{"lineNumber":160,"author":{"gitId":"-"},"content":" String authorName \u003d blameResultLines[lineCount + 1].substring(AUTHOR_NAME_OFFSET);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" String authorEmail \u003d blameResultLines[lineCount + 2]"},{"lineNumber":162,"author":{"gitId":"-"},"content":" .substring(AUTHOR_EMAIL_OFFSET).replaceAll(\"\u003c|\u003e\", \"\");"},{"lineNumber":163,"author":{"gitId":"-"},"content":" Long commitDateInMs \u003d Long.parseLong(blameResultLines[lineCount + 3].substring(AUTHOR_TIME_OFFSET)) * 1000;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" LocalDateTime commitDate \u003d LocalDateTime.ofInstant(Instant.ofEpochMilli(commitDateInMs),"},{"lineNumber":165,"author":{"gitId":"-"},"content":" config.getZoneId());"},{"lineNumber":166,"author":{"gitId":"-"},"content":" Author author \u003d config.getAuthor(authorName, authorEmail);"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" if (!fileInfo.isFileLineTracked(lineCount / 5) || author.isIgnoringFile(filePath)"},{"lineNumber":169,"author":{"gitId":"-"},"content":" || CommitHash.isInsideCommitList(commitHash, config.getIgnoreCommitList())"},{"lineNumber":170,"author":{"gitId":"-"},"content":" || commitDate.compareTo(sinceDate) \u003c 0 || commitDate.compareTo(untilDate) \u003e 0) {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" author \u003d Author.UNKNOWN_AUTHOR;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" }"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" if (config.isLastModifiedDateIncluded()) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" if (config.isShallowCloningPerformed()) {"},{"lineNumber":176,"author":{"gitId":"-"},"content":" logger.warning(String.format("},{"lineNumber":177,"author":{"gitId":"-"},"content":" MESSAGE_SHALLOW_CLONING_LAST_MODIFIED_DATE_CONFLICT, config.getRepoName()));"},{"lineNumber":178,"author":{"gitId":"-"},"content":" }"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" fileInfo.setLineLastModifiedDate(lineCount / 5, commitDate);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" }"},{"lineNumber":182,"author":{"gitId":"-"},"content":" fileInfo.setLineAuthor(lineCount / 5, author);"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":187,"author":{"gitId":"-"},"content":" * Returns the analysis result from running git blame on {@code filePath} with reference to the root directory"},{"lineNumber":188,"author":{"gitId":"-"},"content":" * given in {@code config}."},{"lineNumber":189,"author":{"gitId":"-"},"content":" */"},{"lineNumber":190,"author":{"gitId":"-"},"content":" private String getGitBlameResult(RepoConfiguration config, String filePath) {"},{"lineNumber":191,"author":{"gitId":"-"},"content":" return GitBlame.blame(config.getRepoRoot(), filePath);"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":195,"author":{"gitId":"-"},"content":" * Returns the analysis result from running git blame with finding previous authors enabled on {@code filePath}"},{"lineNumber":196,"author":{"gitId":"-"},"content":" * with reference to the root directory given in {@code config}."},{"lineNumber":197,"author":{"gitId":"-"},"content":" */"},{"lineNumber":198,"author":{"gitId":"-"},"content":" private String getGitBlameWithPreviousAuthorsResult(RepoConfiguration config, String filePath) {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" return GitBlame.blameWithPreviousAuthors(config.getRepoRoot(), filePath);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" }"},{"lineNumber":201,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":199}},{"path":"src/main/java/reposense/authorship/FileInfoExtractor.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.authorship;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.BufferedReader;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.FileReader;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.InvalidPathException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Comparator;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.HashSet;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.logging.Level;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import java.util.regex.Matcher;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileInfo;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.authorship.model.LineInfo;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.git.GitCheckout;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.git.GitDiff;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.git.GitRevList;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Extracts out all the relevant {@code FileInfo} from the repository."},{"lineNumber":34,"author":{"gitId":"-"},"content":" */"},{"lineNumber":35,"author":{"gitId":"-"},"content":"public class FileInfoExtractor {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(FileInfoExtractor.class);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String MESSAGE_START_EXTRACTING_FILE_INFO \u003d \"Extracting relevant file info from %s (%s)...\";"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_FILE_PATH \u003d \"\\\"%s\\\" is an invalid file path for current OS or \""},{"lineNumber":39,"author":{"gitId":"-"},"content":" + \"indicates a possible regex match issue. Skipping this directory.\";"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_SIZE_LIMIT_EXCEEDED \u003d \"File \\\"%s\\\" has %dB size. The file size \""},{"lineNumber":41,"author":{"gitId":"-"},"content":" + \"limit is set at %dB. %s\";"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_ANALYSIS_SKIPPED \u003d \"Skipping analysis of this file...\";"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String MESSAGE_FILE_EXCLUDED_FROM_REPORT \u003d \"Exact line diffs will be excluded from report...\";"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final String DIFF_FILE_CHUNK_SEPARATOR \u003d \"\\ndiff --git \\\"?\\\u0027?a/.*\\n\";"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final String LINE_CHUNKS_SEPARATOR \u003d \"\\n@@ \";"},{"lineNumber":47,"author":{"gitId":"-"},"content":" private static final String LINE_INSERTED_SYMBOL \u003d \"+\";"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String STARTING_LINE_NUMBER_GROUP_NAME \u003d \"startingLineNumber\";"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String FILE_CHANGED_GROUP_NAME \u003d \"filePath\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final String FILE_DELETED_SYMBOL \u003d \"dev/null\";"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final String MATCH_GROUP_FAIL_MESSAGE_FORMAT \u003d \"Failed to match the %s group for:\\n%s\";"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final String BINARY_FILE_LINE_DIFF_RESULT \u003d \"-\\t-\\t\";"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final int LINE_CHANGED_HEADER_INDEX \u003d 0;"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final Pattern STARTING_LINE_NUMBER_PATTERN \u003d Pattern.compile("},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"-(\\\\d)+(,)?(\\\\d)* \\\\+(?\u003cstartingLineNumber\u003e\\\\d+)(,)?(\\\\d)* @@\");"},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final Pattern FILE_CHANGED_PATTERN \u003d Pattern.compile(\"\\n(\\\\+){3} b?/(?\u003cfilePath\u003e.*?)\\t?\\n\");"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":61,"author":{"gitId":"-"},"content":" * Extracts a list of relevant non-binary files given in {@code config}."},{"lineNumber":62,"author":{"gitId":"-"},"content":" */"},{"lineNumber":63,"author":{"gitId":"-"},"content":" public List\u003cFileInfo\u003e extractTextFileInfos(RepoConfiguration config) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_START_EXTRACTING_FILE_INFO, config.getLocation(), config.getBranch()));"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e fileInfos \u003d new ArrayList\u003c\u003e();"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" // checks out to the latest commit of the date range to ensure the FileInfo generated correspond to the"},{"lineNumber":69,"author":{"gitId":"-"},"content":" // git blame file analyze output"},{"lineNumber":70,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" GitCheckout.checkoutDate(config.getRepoRoot(), config.getBranch(), config.getUntilDate(),"},{"lineNumber":72,"author":{"gitId":"-"},"content":" config.getZoneId());"},{"lineNumber":73,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException cnfe) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" return fileInfos;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":" String lastCommitHash \u003d GitRevList.getCommitHashUntilDate("},{"lineNumber":77,"author":{"gitId":"-"},"content":" config.getRepoRoot(), config.getBranch(), config.getSinceDate(), config.getZoneId());"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" fileInfos \u003d (lastCommitHash.isEmpty())"},{"lineNumber":80,"author":{"gitId":"-"},"content":" ? getAllFileInfo(config, false)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" : getEditedFileInfos(config, lastCommitHash);"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" fileInfos.sort(Comparator.comparing(FileInfo::getPath));"},{"lineNumber":84,"author":{"gitId":"-"},"content":" return fileInfos;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Extracts a list of relevant binary files given in {@code config}."},{"lineNumber":89,"author":{"gitId":"-"},"content":" */"},{"lineNumber":90,"author":{"gitId":"-"},"content":" public List\u003cFileInfo\u003e extractBinaryFileInfos(RepoConfiguration config) {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e binaryFileInfos \u003d getAllFileInfo(config, true);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" binaryFileInfos.sort(Comparator.comparing(FileInfo::getPath));"},{"lineNumber":93,"author":{"gitId":"-"},"content":" return binaryFileInfos;"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":97,"author":{"gitId":"-"},"content":" * Returns a list of {@link FileInfo}s for all files in the repo with lines marked indicating if they were edited"},{"lineNumber":98,"author":{"gitId":"-"},"content":" * in between the current commit and the commit given by {@code lastCommitHash}."},{"lineNumber":99,"author":{"gitId":"-"},"content":" * The repo is given by {@code config}."},{"lineNumber":100,"author":{"gitId":"-"},"content":" */"},{"lineNumber":101,"author":{"gitId":"-"},"content":" public List\u003cFileInfo\u003e getEditedFileInfos(RepoConfiguration config, String lastCommitHash) {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e fileInfos \u003d new ArrayList\u003c\u003e();"},{"lineNumber":103,"author":{"gitId":"-"},"content":" String fullDiffResult \u003d GitDiff.diffCommit(config.getRepoRoot(), lastCommitHash);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" // no diff between the 2 commits, return an empty list"},{"lineNumber":105,"author":{"gitId":"-"},"content":" if (fullDiffResult.isEmpty()) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" return fileInfos;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" String[] fileDiffResultList \u003d fullDiffResult.split(DIFF_FILE_CHUNK_SEPARATOR);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" Set\u003cPath\u003e textFilesSet \u003d getFiles(config, false);"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" for (String fileDiffResult : fileDiffResultList) {"},{"lineNumber":113,"author":{"gitId":"-"},"content":" Matcher filePathMatcher \u003d FILE_CHANGED_PATTERN.matcher(fileDiffResult);"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" // diff result does not have the markers to indicate that file has any line changes, skip it"},{"lineNumber":116,"author":{"gitId":"-"},"content":" if (!filePathMatcher.find()) {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" String filePath \u003d filePathMatcher.group(FILE_CHANGED_GROUP_NAME);"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" if (filePath.equals(FILE_DELETED_SYMBOL) // file is deleted, skip it as well"},{"lineNumber":123,"author":{"gitId":"-"},"content":" || !isValidTextFile(filePath, textFilesSet)"},{"lineNumber":124,"author":{"gitId":"-"},"content":" || !config.getFileTypeManager().isInsideWhitelistedFormats(filePath)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" || FileUtil.isFileIgnoredByGlob(config, Paths.get(filePath))) {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" FileInfo currentFileInfo \u003d generateFileInfo(config, filePath);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" setLinesToTrack(currentFileInfo, fileDiffResult);"},{"lineNumber":131,"author":{"gitId":"-"},"content":" if (currentFileInfo.isFileAnalyzed()) {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" fileInfos.add(currentFileInfo);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" return fileInfos;"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":140,"author":{"gitId":"-"},"content":" * Returns a {@link Set} of non-binary files for the repo {@code repoConfig}"},{"lineNumber":141,"author":{"gitId":"-"},"content":" * if {@code isBinaryFiles} is set to `false`."},{"lineNumber":142,"author":{"gitId":"-"},"content":" * Otherwise, returns a {@link Set} of binary files for the repo {@code repoConfig}."},{"lineNumber":143,"author":{"gitId":"-"},"content":" */"},{"lineNumber":144,"author":{"gitId":"-"},"content":" public Set\u003cPath\u003e getFiles(RepoConfiguration repoConfig, boolean isBinaryFile) {"},{"lineNumber":145,"author":{"gitId":"-"},"content":" List\u003cString\u003e modifiedFileList \u003d GitDiff.getModifiedFilesList(Paths.get(repoConfig.getRepoRoot()));"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" // Gets rid of files with invalid directory name and filters by the {@code isBinaryFile} flag"},{"lineNumber":148,"author":{"gitId":"-"},"content":" return modifiedFileList.stream()"},{"lineNumber":149,"author":{"gitId":"-"},"content":" .filter(file -\u003e isBinaryFile \u003d\u003d file.startsWith(BINARY_FILE_LINE_DIFF_RESULT))"},{"lineNumber":150,"author":{"gitId":"asdfghjkxd"},"content":" .map(file -\u003e StringsUtil.TAB.split(file)[2])"},{"lineNumber":151,"author":{"gitId":"-"},"content":" .filter(FileUtil::isValidPathWithLogging)"},{"lineNumber":152,"author":{"gitId":"asdfghjkxd"},"content":" .map(Paths::get)"},{"lineNumber":153,"author":{"gitId":"-"},"content":" .collect(Collectors.toCollection(HashSet::new));"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":157,"author":{"gitId":"-"},"content":" * Analyzes the {@code fileDiffResult} and marks each {@link LineInfo} in {@code fileInfo} on whether they were"},{"lineNumber":158,"author":{"gitId":"-"},"content":" * inserted in between the commit range."},{"lineNumber":159,"author":{"gitId":"-"},"content":" */"},{"lineNumber":160,"author":{"gitId":"-"},"content":" private void setLinesToTrack(FileInfo fileInfo, String fileDiffResult) {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" String[] linesChangedChunk \u003d fileDiffResult.split(LINE_CHUNKS_SEPARATOR);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" List\u003cLineInfo\u003e lineInfos \u003d fileInfo.getLines();"},{"lineNumber":163,"author":{"gitId":"-"},"content":" int fileLinePointer \u003d 0;"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" // skips the header, index starts from 1"},{"lineNumber":166,"author":{"gitId":"-"},"content":" for (int sectionIndex \u003d 1; sectionIndex \u003c linesChangedChunk.length; sectionIndex++) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" String linesChangedInSection \u003d linesChangedChunk[sectionIndex];"},{"lineNumber":168,"author":{"gitId":"asdfghjkxd"},"content":" String[] linesChanged \u003d StringsUtil.NEWLINE.split(linesChangedInSection);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" int startingLineNumber \u003d getStartingLineNumber(linesChanged[LINE_CHANGED_HEADER_INDEX]);"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" // mark all untouched lines between sections as untracked"},{"lineNumber":172,"author":{"gitId":"-"},"content":" while (fileLinePointer \u003c startingLineNumber - 1) {"},{"lineNumber":173,"author":{"gitId":"-"},"content":" lineInfos.get(fileLinePointer++).setTracked(false);"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" // skips the header, index starts from 1"},{"lineNumber":177,"author":{"gitId":"-"},"content":" for (int lineIndex \u003d 1; lineIndex \u003c linesChanged.length; lineIndex++) {"},{"lineNumber":178,"author":{"gitId":"-"},"content":" String lineChanged \u003d linesChanged[lineIndex];"},{"lineNumber":179,"author":{"gitId":"-"},"content":" // set line added to be tracked"},{"lineNumber":180,"author":{"gitId":"-"},"content":" if (lineChanged.startsWith(LINE_INSERTED_SYMBOL)) {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" lineInfos.get(fileLinePointer++).setTracked(true);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":" }"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" // set all remaining lines in file that were untouched to be untracked"},{"lineNumber":187,"author":{"gitId":"-"},"content":" while (fileLinePointer \u003c lineInfos.size()) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" lineInfos.get(fileLinePointer++).setTracked(false);"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":""},{"lineNumber":192,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":193,"author":{"gitId":"-"},"content":" * Traverses each file from the repo root directory, generates the {@link FileInfo} for each relevant file found"},{"lineNumber":194,"author":{"gitId":"-"},"content":" * based on {@code config} and inserts it into {@code fileInfos}."},{"lineNumber":195,"author":{"gitId":"-"},"content":" * Adds binary files to {@link List} if {@code isBinaryFiles} is true. Otherwise, adds non-binary files"},{"lineNumber":196,"author":{"gitId":"-"},"content":" * to {@link List}."},{"lineNumber":197,"author":{"gitId":"-"},"content":" */"},{"lineNumber":198,"author":{"gitId":"-"},"content":" private List\u003cFileInfo\u003e getAllFileInfo(RepoConfiguration config, boolean isBinaryFiles) {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" List\u003cFileInfo\u003e fileInfos \u003d new ArrayList\u003c\u003e();"},{"lineNumber":200,"author":{"gitId":"-"},"content":" Set\u003cPath\u003e files \u003d getFiles(config, isBinaryFiles);"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" for (Path relativePath : files) {"},{"lineNumber":203,"author":{"gitId":"-"},"content":" if (!config.getFileTypeManager().isInsideWhitelistedFormats(relativePath.toString())"},{"lineNumber":204,"author":{"gitId":"-"},"content":" || FileUtil.isFileIgnoredByGlob(config, relativePath)) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":""},{"lineNumber":208,"author":{"gitId":"-"},"content":" FileInfo fileInfo \u003d (isBinaryFiles)"},{"lineNumber":209,"author":{"gitId":"-"},"content":" ? new FileInfo(relativePath.toString())"},{"lineNumber":210,"author":{"gitId":"-"},"content":" : generateFileInfo(config, relativePath.toString());"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" if (fileInfo.isFileAnalyzed()) {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" fileInfos.add(fileInfo);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":" return fileInfos;"},{"lineNumber":217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":220,"author":{"gitId":"-"},"content":" * Returns a {@link FileInfo} with a list of {@link LineInfo} for each line content in the"},{"lineNumber":221,"author":{"gitId":"-"},"content":" * file located in the repository given by {@code config}/{@code relativePath}."},{"lineNumber":222,"author":{"gitId":"-"},"content":" */"},{"lineNumber":223,"author":{"gitId":"-"},"content":" public FileInfo generateFileInfo(RepoConfiguration config, String relativePath) {"},{"lineNumber":224,"author":{"gitId":"-"},"content":" return generateFileInfo(config.getRepoRoot(), relativePath, config.getFileSizeLimit(),"},{"lineNumber":225,"author":{"gitId":"-"},"content":" config.isFileSizeLimitIgnored(), config.isIgnoredFileAnalysisSkipped());"},{"lineNumber":226,"author":{"gitId":"-"},"content":" }"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":229,"author":{"gitId":"-"},"content":" * Returns a {@link FileInfo} with a list of {@link LineInfo} for each line content in the"},{"lineNumber":230,"author":{"gitId":"-"},"content":" * file located at the {@link Path} given by {@code repoRoot}/{@code relativePath}. {@code fileSizeLimit} and"},{"lineNumber":231,"author":{"gitId":"-"},"content":" * {@code ignoreFileSizeLimit} are used to set whether the file size limit is exceeding. {@link LineInfo}s are"},{"lineNumber":232,"author":{"gitId":"-"},"content":" * not included in {@link FileInfo} if {@code skipIgnoredFileAnalysis} is true and file size limit is exceeding."},{"lineNumber":233,"author":{"gitId":"-"},"content":" */"},{"lineNumber":234,"author":{"gitId":"-"},"content":" public FileInfo generateFileInfo(String repoRoot, String relativePath, long fileSizeLimit,"},{"lineNumber":235,"author":{"gitId":"-"},"content":" boolean ignoreFileSizeLimit, boolean skipIgnoredFileAnalysis) {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" FileInfo fileInfo \u003d new FileInfo(relativePath);"},{"lineNumber":237,"author":{"gitId":"-"},"content":" Path path \u003d Paths.get(repoRoot, fileInfo.getPath());"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" try (BufferedReader br \u003d new BufferedReader(new FileReader(path.toFile()))) {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" long fileSize \u003d Files.size(path);"},{"lineNumber":241,"author":{"gitId":"-"},"content":" fileInfo.setFileSize(fileSize);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" if (!ignoreFileSizeLimit \u0026\u0026 fileSize \u003e fileSizeLimit) {"},{"lineNumber":243,"author":{"gitId":"-"},"content":" fileInfo.setExceedsSizeLimit(true);"},{"lineNumber":244,"author":{"gitId":"-"},"content":" if (skipIgnoredFileAnalysis) {"},{"lineNumber":245,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_FILE_SIZE_LIMIT_EXCEEDED,"},{"lineNumber":246,"author":{"gitId":"-"},"content":" fileInfo.getPath(), fileSize, fileSizeLimit, MESSAGE_FILE_ANALYSIS_SKIPPED));"},{"lineNumber":247,"author":{"gitId":"-"},"content":" fileInfo.setFileAnalyzed(false);"},{"lineNumber":248,"author":{"gitId":"-"},"content":" return fileInfo;"},{"lineNumber":249,"author":{"gitId":"-"},"content":" }"},{"lineNumber":250,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_FILE_SIZE_LIMIT_EXCEEDED,"},{"lineNumber":251,"author":{"gitId":"-"},"content":" fileInfo.getPath(), fileSize, fileSizeLimit, MESSAGE_FILE_EXCLUDED_FROM_REPORT));"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":" String line;"},{"lineNumber":254,"author":{"gitId":"-"},"content":" int lineNum \u003d 1;"},{"lineNumber":255,"author":{"gitId":"-"},"content":" while ((line \u003d br.readLine()) !\u003d null) {"},{"lineNumber":256,"author":{"gitId":"-"},"content":" fileInfo.addLine(new LineInfo(lineNum++, line));"},{"lineNumber":257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":258,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {"},{"lineNumber":259,"author":{"gitId":"-"},"content":" logger.log(Level.SEVERE, ioe.getMessage(), ioe);"},{"lineNumber":260,"author":{"gitId":"-"},"content":" }"},{"lineNumber":261,"author":{"gitId":"-"},"content":" return fileInfo;"},{"lineNumber":262,"author":{"gitId":"-"},"content":" }"},{"lineNumber":263,"author":{"gitId":"-"},"content":""},{"lineNumber":264,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":265,"author":{"gitId":"-"},"content":" * Returns the starting line changed number, within the file diff result, by matching the pattern inside"},{"lineNumber":266,"author":{"gitId":"-"},"content":" * {@code linesChanged}."},{"lineNumber":267,"author":{"gitId":"-"},"content":" *"},{"lineNumber":268,"author":{"gitId":"-"},"content":" * @throws AssertionError if matching line number pattern in chunk header fails."},{"lineNumber":269,"author":{"gitId":"-"},"content":" */"},{"lineNumber":270,"author":{"gitId":"-"},"content":" private int getStartingLineNumber(String linesChanged) throws AssertionError {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" Matcher chunkHeaderMatcher \u003d STARTING_LINE_NUMBER_PATTERN.matcher(linesChanged);"},{"lineNumber":272,"author":{"gitId":"-"},"content":""},{"lineNumber":273,"author":{"gitId":"-"},"content":" if (!chunkHeaderMatcher.find()) {"},{"lineNumber":274,"author":{"gitId":"-"},"content":" logger.severe(String.format(MATCH_GROUP_FAIL_MESSAGE_FORMAT, \"line changed\", linesChanged));"},{"lineNumber":275,"author":{"gitId":"-"},"content":" throw new AssertionError(\"Should not have error matching line number pattern inside chunk header!\");"},{"lineNumber":276,"author":{"gitId":"-"},"content":" }"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":" return Integer.parseInt(chunkHeaderMatcher.group(STARTING_LINE_NUMBER_GROUP_NAME));"},{"lineNumber":279,"author":{"gitId":"-"},"content":" }"},{"lineNumber":280,"author":{"gitId":"-"},"content":""},{"lineNumber":281,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":282,"author":{"gitId":"-"},"content":" * Returns true if {@code filePath} is valid and the file is not in binary (i.e. part of {@code textFilesSet})."},{"lineNumber":283,"author":{"gitId":"-"},"content":" */"},{"lineNumber":284,"author":{"gitId":"-"},"content":" private boolean isValidTextFile(String filePath, Set\u003cPath\u003e textFilesSet) {"},{"lineNumber":285,"author":{"gitId":"-"},"content":" boolean isValidFilePath;"},{"lineNumber":286,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":287,"author":{"gitId":"-"},"content":" isValidFilePath \u003d FileUtil.isValidPathWithLogging(filePath);"},{"lineNumber":288,"author":{"gitId":"-"},"content":" } catch (InvalidPathException ipe) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_INVALID_FILE_PATH, filePath));"},{"lineNumber":290,"author":{"gitId":"-"},"content":" isValidFilePath \u003d false;"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" return isValidFilePath \u0026\u0026 textFilesSet.contains(Paths.get(filePath));"},{"lineNumber":294,"author":{"gitId":"-"},"content":" }"},{"lineNumber":295,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":4,"-":291}},{"path":"src/main/java/reposense/git/GitCatFile.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Contains git cat file related functionalities."},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Git cat file provides content or type and size information for repository objects."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class GitCatFile {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitCatFile.class);"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":24,"author":{"gitId":"-"},"content":" * Returns parent commits for the commit associated with the input {@code commitHash}."},{"lineNumber":25,"author":{"gitId":"-"},"content":" * The {@link Path} given by {@code root} is the working directory."},{"lineNumber":26,"author":{"gitId":"-"},"content":" *"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if there is no commit associated with {@code commitHash}."},{"lineNumber":28,"author":{"gitId":"-"},"content":" */"},{"lineNumber":29,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getParentCommits(String root, String commitHash) throws CommitNotFoundException {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" String catFileCommand \u003d \"git cat-file -p \" + commitHash;"},{"lineNumber":32,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, catFileCommand);"},{"lineNumber":34,"author":{"gitId":"-"},"content":" List\u003cString\u003e parentCommits \u003d new ArrayList\u003c\u003e();"},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" for (String line : StringsUtil.NEWLINE.split(output)) {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" if (line.startsWith(\"parent\")) {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" parentCommits.add(line.substring(7).trim());"},{"lineNumber":38,"author":{"gitId":"-"},"content":" }"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":" return parentCommits;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" } catch (RuntimeException e) {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Commit not found: \" + commitHash);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Given the input list of {@code commitHashes}, return a list of commit hashes for the parent"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * commits of all the commits."},{"lineNumber":49,"author":{"gitId":"-"},"content":" * The {@link Path} given by {@code root} is the working directory."},{"lineNumber":50,"author":{"gitId":"-"},"content":" */"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getParentsOfCommits(String root, List\u003cString\u003e commitHashes) {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" List\u003cString\u003e parentCommits \u003d new ArrayList\u003c\u003e();"},{"lineNumber":53,"author":{"gitId":"-"},"content":" for (String commitHash : commitHashes) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" parentCommits.addAll(getParentCommits(root, commitHash));"},{"lineNumber":56,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" logger.warning(\"Invalid commit hash ignored: \" + commitHash);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return parentCommits;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":60}},{"path":"src/main/java/reposense/git/GitConfig.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.logging.Level;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.regex.Pattern;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.system.CommandRunner;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains git config related functionalities."},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Git config is used to set Git configuration values on a global or local"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * project level."},{"lineNumber":20,"author":{"gitId":"-"},"content":" */"},{"lineNumber":21,"author":{"gitId":"-"},"content":"public class GitConfig {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_SMUDGE_KEY \u003d \"filter.lfs.smudge\";"},{"lineNumber":23,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_SMUDGE_VALUE \u003d \"git-lfs smudge --skip -- %f\";"},{"lineNumber":24,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_PROCESS_KEY \u003d \"filter.lfs.process\";"},{"lineNumber":25,"author":{"gitId":"-"},"content":" public static final String FILTER_LFS_PROCESS_VALUE \u003d \"git-lfs filter-process --skip\";"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String LIST_GLOBAL_CONFIG_COMMAND \u003d \"git config --global --list\";"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" public static final List\u003cString[]\u003e SKIP_SMUDGE_CONFIG_SETTINGS \u003d Arrays.asList("},{"lineNumber":30,"author":{"gitId":"-"},"content":" new String[] {FILTER_LFS_SMUDGE_KEY, FILTER_LFS_SMUDGE_VALUE},"},{"lineNumber":31,"author":{"gitId":"-"},"content":" new String[] {FILTER_LFS_PROCESS_KEY, FILTER_LFS_PROCESS_VALUE});"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitConfig.class);"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":36,"author":{"gitId":"-"},"content":" * Returns the configuration values for lfs smudge and process within global git config."},{"lineNumber":37,"author":{"gitId":"-"},"content":" *"},{"lineNumber":38,"author":{"gitId":"-"},"content":" * @return a list of string arrays where 0-index is key and 1-index is value."},{"lineNumber":39,"author":{"gitId":"-"},"content":" */"},{"lineNumber":40,"author":{"gitId":"-"},"content":" public static List\u003cString[]\u003e getGlobalGitLfsConfig() {"},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":" Pattern equals \u003d Pattern.compile(\"\u003d\");"},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":43,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" String gitConfig \u003d getGitGlobalConfig();"},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.stream(StringsUtil.NEWLINE.split(gitConfig))"},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":" .map(equals::split)"},{"lineNumber":47,"author":{"gitId":"-"},"content":" .filter(line -\u003e line[0].equals(FILTER_LFS_SMUDGE_KEY) || line[0].equals((FILTER_LFS_PROCESS_KEY)))"},{"lineNumber":48,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":49,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, \"Could not get global git lfs config\", re);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return new ArrayList\u003c\u003e();"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":" }"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":56,"author":{"gitId":"-"},"content":" * Set the global git lfs configuration values. Does not run command if the configuration"},{"lineNumber":57,"author":{"gitId":"-"},"content":" * values are already set to skip."},{"lineNumber":58,"author":{"gitId":"-"},"content":" *"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * @param lfsConfigs a list of string arrays where 0-index is key and 1-index is value."},{"lineNumber":60,"author":{"gitId":"-"},"content":" */"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public static void setGlobalGitLfsConfig(List\u003cString[]\u003e lfsConfigs) {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" String command \u003d setGitLfsConfigCommand(lfsConfigs);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" if (!command.equals(\"\")) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" CommandRunner.runCommand(Paths.get(\".\"), command);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":69,"author":{"gitId":"-"},"content":" * Delete the global git lfs configuration values."},{"lineNumber":70,"author":{"gitId":"-"},"content":" */"},{"lineNumber":71,"author":{"gitId":"-"},"content":" public static void deleteGlobalGitLfsConfig() {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" String command \u003d String.format(\"git config --global --unset %s \u0026\u0026 git config --global --unset %s\","},{"lineNumber":73,"author":{"gitId":"-"},"content":" FILTER_LFS_SMUDGE_KEY, FILTER_LFS_PROCESS_KEY);"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" CommandRunner.runCommand(Paths.get(\".\"), command);"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" private static String setGitLfsConfigCommand(List\u003cString[]\u003e lfsConfigs) {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" List\u003cString\u003e commands \u003d new ArrayList\u003c\u003e();"},{"lineNumber":80,"author":{"gitId":"-"},"content":" for (String[] config : lfsConfigs) {"},{"lineNumber":81,"author":{"gitId":"-"},"content":" String key \u003d config[0];"},{"lineNumber":82,"author":{"gitId":"-"},"content":" String value \u003d config.length \u003e 1 ? config[1] : \"\";"},{"lineNumber":83,"author":{"gitId":"-"},"content":" commands.add(String.format(\"git config --global %s \\\"%s\\\"\", key, value));"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" return String.join(\" \u0026\u0026 \", commands);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" private static String getGitGlobalConfig() {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" return CommandRunner.runCommand(Paths.get(\".\"), LIST_GLOBAL_CONFIG_COMMAND);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" }"},{"lineNumber":92,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":6,"-":86}},{"path":"src/main/java/reposense/git/GitDiff.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Contains git diff related functionalities."},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Git diff is responsible for obtaining the changes between commits, commit and working tree, etc."},{"lineNumber":16,"author":{"gitId":"-"},"content":" */"},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class GitDiff {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String EMPTY_TREE_HASH \u003d \"4b825dc642cb6eb9a060e54bf8d69288fbee4904\";"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String CHECKED_OUT_COMMIT_REFERENCE \u003d \"HEAD\";"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Returns the git diff result of the current commit compared to {@code lastCommitHash}, without any context."},{"lineNumber":23,"author":{"gitId":"-"},"content":" * The {@link Path} given by {@code root} is the working directory."},{"lineNumber":24,"author":{"gitId":"-"},"content":" */"},{"lineNumber":25,"author":{"gitId":"-"},"content":" public static String diffCommit(String root, String lastCommitHash) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":27,"author":{"gitId":"-"},"content":" return runCommand(rootPath, \"git diff -U0 --ignore-submodules\u003dall \" + lastCommitHash);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * Returns a list of committed files with the corresponding number of lines added and deleted in the repo"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * {@code repoRoot}."},{"lineNumber":33,"author":{"gitId":"-"},"content":" */"},{"lineNumber":34,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getModifiedFilesList(Path repoRoot) {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" String diffCommand \u003d String.format(\"git diff --ignore-submodules\u003dall --numstat %s %s\","},{"lineNumber":36,"author":{"gitId":"-"},"content":" EMPTY_TREE_HASH, CHECKED_OUT_COMMIT_REFERENCE);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" String diffResult \u003d runCommand(repoRoot.toAbsolutePath(), diffCommand);"},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.asList(StringsUtil.NEWLINE.split(diffResult));"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":4,"-":36}},{"path":"src/main/java/reposense/git/GitLog.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.StringsUtil.addQuotesForFilePath;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains git log related functionalities."},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Git log is responsible to obtain the commit logs and the authors\u0027 info."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class GitLog {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static final String COMMIT_INFO_DELIMITER \u003d \"(?m)^\u003e\u003e\u003eCOMMIT INFO\u003c\u003c\u003c\\\\n\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String PRETTY_FORMAT_STRING \u003d"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"\\\"\u003e\u003e\u003eCOMMIT INFO\u003c\u003c\u003c%n%H|%n|%p|%n|%aN|%n|%aE|%n|%cI|%n|%s|%n|%w(0,4,4)%b%w(0,0,0)|%n|%D|\\\"\";"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String DEFAULT_EMAIL_IF_MISSING \u003d \"\";"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Returns the git commit log info of {@code author}, in the repository specified in {@code config}."},{"lineNumber":30,"author":{"gitId":"-"},"content":" */"},{"lineNumber":31,"author":{"gitId":"-"},"content":" public static String get(RepoConfiguration config, Author author) {"},{"lineNumber":32,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(config.getRepoRoot());"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" String command \u003d \"git log --full-history -i --extended-regexp \";"},{"lineNumber":35,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(config.getSinceDate(), config.getUntilDate(), config.getZoneId());"},{"lineNumber":36,"author":{"gitId":"-"},"content":" command +\u003d \" --pretty\u003dformat:\" + PRETTY_FORMAT_STRING + \" --shortstat\";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToFilterAuthorArgs(author);"},{"lineNumber":38,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitFormatsArgs(config.getFileTypeManager().getFormats());"},{"lineNumber":39,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitExcludeGlobArgs(rootPath.toFile(), author.getIgnoreGlobList());"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" return runCommand(rootPath, command);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":45,"author":{"gitId":"-"},"content":" * Returns the git commit log info of {@code author}, with the files changed, in the repository specified in"},{"lineNumber":46,"author":{"gitId":"-"},"content":" * {@code config}. Merge commits are included."},{"lineNumber":47,"author":{"gitId":"-"},"content":" */"},{"lineNumber":48,"author":{"gitId":"-"},"content":" public static String getWithFiles(RepoConfiguration config, Author author) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(config.getRepoRoot());"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" String command \u003d \"git log --full-history -i --extended-regexp \";"},{"lineNumber":52,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(config.getSinceDate(), config.getUntilDate(), config.getZoneId());"},{"lineNumber":53,"author":{"gitId":"-"},"content":" command +\u003d \" --pretty\u003dformat:\" + PRETTY_FORMAT_STRING + \" --numstat --shortstat\";"},{"lineNumber":54,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToFilterAuthorArgs(author);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitFormatsArgs(config.getFileTypeManager().getFormats());"},{"lineNumber":56,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitExcludeGlobArgs(rootPath.toFile(), author.getIgnoreGlobList());"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" return runCommand(rootPath, command);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Returns the authors who modified the file at {@code filePath}, in the repository specified in {@code config}."},{"lineNumber":63,"author":{"gitId":"-"},"content":" * The output is a list of length-2 arrays containing the author\u0027s name and email."},{"lineNumber":64,"author":{"gitId":"-"},"content":" */"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static List\u003cString[]\u003e getFileAuthors(RepoConfiguration config, String filePath) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(config.getRepoRoot());"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" String command \u003d \"git log --pretty\u003dformat:\\\"%an\\t%ae\\\" \";"},{"lineNumber":69,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(config.getSinceDate(), config.getUntilDate(), config.getZoneId());"},{"lineNumber":70,"author":{"gitId":"-"},"content":" command +\u003d \" \" + addQuotesForFilePath(filePath);"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" String result \u003d runCommand(rootPath, command);"},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.stream(StringsUtil.NEWLINE.split(result))"},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" .map(StringsUtil.TAB::split)"},{"lineNumber":75,"author":{"gitId":"-"},"content":" .map(authorAndEmailArray -\u003e authorAndEmailArray.length \u003d\u003d 1"},{"lineNumber":76,"author":{"gitId":"-"},"content":" ? new String[] {authorAndEmailArray[0], DEFAULT_EMAIL_IF_MISSING}"},{"lineNumber":77,"author":{"gitId":"-"},"content":" : authorAndEmailArray)"},{"lineNumber":78,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":3,"-":77}},{"path":"src/main/java/reposense/git/GitRemote.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.regex.Pattern;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.system.CommandRunner;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Contains git remote related functionality."},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Git remote is responsible for getting remote repository information."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class GitRemote {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static final String DEFAULT_FETCH_REMOTE \u003d \"origin(fetch)\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":" public static final String DEFAULT_PUSH_REMOTE \u003d \"origin(push)\";"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitRemote.class);"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * Extracts remote repository information at {@code repoRoot}."},{"lineNumber":28,"author":{"gitId":"-"},"content":" *"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * @return Map of keys of the form REMOTE_NAME(fetch) or REMOTE_NAME(push) to their corresponding remote URLs."},{"lineNumber":30,"author":{"gitId":"-"},"content":" */"},{"lineNumber":31,"author":{"gitId":"-"},"content":" public static Map\u003cString, String\u003e getRemotes(String repoRoot) {"},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" Pattern anyTabPattern \u003d Pattern.compile(\"[ \\\\t]+\");"},{"lineNumber":33,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e remotes \u003d new HashMap\u003c\u003e();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" String result;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" result \u003d CommandRunner.runCommand(Paths.get(repoRoot), \"git remote -v\");"},{"lineNumber":37,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"Unable to run git remote command in directory: %s\", repoRoot));"},{"lineNumber":39,"author":{"gitId":"-"},"content":" return remotes;"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":" Arrays.stream(StringsUtil.NEWLINE.split(result))"},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" .map(anyTabPattern::split)"},{"lineNumber":44,"author":{"gitId":"-"},"content":" .forEach(l -\u003e {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" if (l.length \u003d\u003d 3) {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" // l[0]: remote name"},{"lineNumber":47,"author":{"gitId":"-"},"content":" // l[1]: remote URL"},{"lineNumber":48,"author":{"gitId":"-"},"content":" // l[2]: \u0027(fetch)\u0027 | \u0027(push)\u0027"},{"lineNumber":49,"author":{"gitId":"-"},"content":" remotes.put(l[0] + l[2], l[1]);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":" });"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" return remotes;"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":57,"author":{"gitId":"-"},"content":" * Finds an available fetch remote location in a given {@code remoteMap}, checking first for the default fetch"},{"lineNumber":58,"author":{"gitId":"-"},"content":" * remote (origin)."},{"lineNumber":59,"author":{"gitId":"-"},"content":" *"},{"lineNumber":60,"author":{"gitId":"-"},"content":" * @return an {@code Optional} of an available remote location."},{"lineNumber":61,"author":{"gitId":"-"},"content":" */"},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static Optional\u003cString\u003e getAvailableRemoteLocation(Map\u003cString, String\u003e remoteMap) {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" if (remoteMap.size() \u003d\u003d 0) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" return Optional.empty();"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" String remoteLocation \u003d remoteMap.containsKey(DEFAULT_FETCH_REMOTE)"},{"lineNumber":68,"author":{"gitId":"-"},"content":" // Get default fetch remote if possible"},{"lineNumber":69,"author":{"gitId":"-"},"content":" ? remoteMap.get(DEFAULT_FETCH_REMOTE)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" // Get any available remote otherwise"},{"lineNumber":71,"author":{"gitId":"-"},"content":" : remoteMap.values().iterator().next();"},{"lineNumber":72,"author":{"gitId":"-"},"content":" return Optional.of(remoteLocation);"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":5,"-":70}},{"path":"src/main/java/reposense/git/GitRevList.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains git rev list related functionalities."},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Git rev list is responsible for showing commit objects in reverse chronological order."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class GitRevList {"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String REVISION_PATH_SEPARATOR \u003d \" -- \";"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Returns the latest commit hash at {@code branchName} before {@code date}."},{"lineNumber":26,"author":{"gitId":"-"},"content":" * Returns an empty {@code String} if {@code date} is null, or there is no such commit."},{"lineNumber":27,"author":{"gitId":"-"},"content":" *"},{"lineNumber":28,"author":{"gitId":"-"},"content":" * @param root The name of the working directory."},{"lineNumber":29,"author":{"gitId":"-"},"content":" * @param branchName The name of the branch to find the commit hash in."},{"lineNumber":30,"author":{"gitId":"-"},"content":" * @param date The cut-off date before which the commit hash must be found."},{"lineNumber":31,"author":{"gitId":"-"},"content":" * @param zoneId The timezone of the date."},{"lineNumber":32,"author":{"gitId":"-"},"content":" */"},{"lineNumber":33,"author":{"gitId":"-"},"content":" public static String getCommitHashUntilDate(String root, String branchName, LocalDateTime date, ZoneId zoneId) {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" if (date \u003d\u003d null) {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":36,"author":{"gitId":"-"},"content":" }"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list -1 --until\u003d\""},{"lineNumber":40,"author":{"gitId":"-"},"content":" + GitUtil.GIT_LOG_UNTIL_DATE_FORMAT.format(ZonedDateTime.of(date, zoneId))"},{"lineNumber":41,"author":{"gitId":"-"},"content":" + \" \" + branchName + REVISION_PATH_SEPARATOR;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" return runCommand(rootPath, revListCommand);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" }"},{"lineNumber":44,"author":{"gitId":"-"},"content":""},{"lineNumber":45,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":46,"author":{"gitId":"-"},"content":" * Returns a list of commit hashes at the branch given by {@code branchName}, separated by newlines,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * that are within the range of {@code startHash} and {@code endHash}."},{"lineNumber":48,"author":{"gitId":"-"},"content":" * The {@code root} is the name of the working directory."},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Both the {@code startHash} and {@code endHash} are guaranteed to be in the list."},{"lineNumber":50,"author":{"gitId":"-"},"content":" */"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static String getCommitHashInRange(String root, String branchName, String startHash, String endHash) {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" if (startHash \u003d\u003d null \u0026\u0026 endHash \u003d\u003d null) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":54,"author":{"gitId":"-"},"content":" } else if (startHash \u003d\u003d null) {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" return endHash;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" } else if (endHash \u003d\u003d null) {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" return startHash;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" String fromStartHash \u003d getAllCommitHashSince(root, branchName, startHash);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" String fromEndHash \u003d getAllCommitHashSince(root, branchName, endHash);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" StringBuilder output \u003d new StringBuilder();"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" // If invalid hashes were given, do not use the results obtained from rev-list"},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (fromStartHash.equals(\"\") \u0026\u0026 fromEndHash.equals(\"\")) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":67,"author":{"gitId":"-"},"content":" } else if (fromStartHash.equals(\"\")) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" return endHash;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" } else if (fromEndHash.equals(\"\")) {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" return startHash;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" // Perform a set difference in the list of commits to get the commits within the given range, since both lists"},{"lineNumber":74,"author":{"gitId":"-"},"content":" // will have the list of commits starting from the given commit to HEAD, hence this removes the overlap part."},{"lineNumber":75,"author":{"gitId":"-"},"content":" // Also ensure that both hashes are present in the final output"},{"lineNumber":76,"author":{"gitId":"-"},"content":" if (fromStartHash.length() \u003e fromEndHash.length()) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" output.append(endHash);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" output.append(fromStartHash.substring(fromEndHash.length()));"},{"lineNumber":79,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" output.append(startHash);"},{"lineNumber":81,"author":{"gitId":"-"},"content":" output.append(fromEndHash.substring(fromStartHash.length()));"},{"lineNumber":82,"author":{"gitId":"-"},"content":" }"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" return output.toString();"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Returns a list of commit hashes at the branch given by {@code branchName} separated by newlines that exist"},{"lineNumber":89,"author":{"gitId":"-"},"content":" * since {@code hash} until HEAD."},{"lineNumber":90,"author":{"gitId":"-"},"content":" * The {@code root} is the name of the working directory."},{"lineNumber":91,"author":{"gitId":"-"},"content":" */"},{"lineNumber":92,"author":{"gitId":"-"},"content":" private static String getAllCommitHashSince(String root, String branchName, String hash) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list \" + hash + \"..HEAD \" + branchName + REVISION_PATH_SEPARATOR;"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" return runCommand(rootPath, revListCommand) + hash;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" } catch (RuntimeException rte) {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" // An invalid commit hash was provided"},{"lineNumber":100,"author":{"gitId":"-"},"content":" return \"\";"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":105,"author":{"gitId":"-"},"content":" * Returns a list of commit hashes for the root commits in the tree, with the {@link Path} given by {@code root}"},{"lineNumber":106,"author":{"gitId":"-"},"content":" * as working directory."},{"lineNumber":107,"author":{"gitId":"-"},"content":" */"},{"lineNumber":108,"author":{"gitId":"-"},"content":" public static List\u003cString\u003e getRootCommits(String root) {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list --max-parents\u003d0 HEAD\";"},{"lineNumber":110,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":111,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, revListCommand);"},{"lineNumber":112,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.asList(StringsUtil.NEWLINE.split(output));"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * Returns true if the repository is empty, with the {@link Path} given by {@code root} as working directory."},{"lineNumber":117,"author":{"gitId":"-"},"content":" */"},{"lineNumber":118,"author":{"gitId":"-"},"content":" public static boolean checkIsEmptyRepo(String root) {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" String revListCommand \u003d \"git rev-list -n 1 --all\";"},{"lineNumber":120,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, revListCommand);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" return output \u003d\u003d null || output.trim().isEmpty();"},{"lineNumber":123,"author":{"gitId":"-"},"content":" }"},{"lineNumber":124,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":4,"-":120}},{"path":"src/main/java/reposense/git/GitShortlog.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * Contains git shortlog related functionalities."},{"lineNumber":20,"author":{"gitId":"-"},"content":" * Git shortlog provides a summary of git log output."},{"lineNumber":21,"author":{"gitId":"-"},"content":" */"},{"lineNumber":22,"author":{"gitId":"-"},"content":"public class GitShortlog {"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Extracts all the author identities from the repository and date range given in {@code config},"},{"lineNumber":26,"author":{"gitId":"-"},"content":" * with the timezone taken into account."},{"lineNumber":27,"author":{"gitId":"-"},"content":" */"},{"lineNumber":28,"author":{"gitId":"-"},"content":" public static List\u003cAuthor\u003e getAuthors(RepoConfiguration config) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" String summary \u003d getShortlogSummary("},{"lineNumber":30,"author":{"gitId":"-"},"content":" config.getRepoRoot(), config.getSinceDate(), config.getUntilDate(), config.getZoneId());"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (summary.isEmpty()) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" return Collections.emptyList();"},{"lineNumber":34,"author":{"gitId":"-"},"content":" }"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" String[] lines \u003d StringsUtil.NEWLINE.split(summary);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" return Arrays.stream(lines)"},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" .map(line -\u003e new Author(StringsUtil.TAB.split(line)[1]))"},{"lineNumber":39,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":43,"author":{"gitId":"-"},"content":" * Obtains summarized version of git log from the repository at {@code root} for the date range"},{"lineNumber":44,"author":{"gitId":"-"},"content":" * given by {@code sinceDate} and {@code untilDate}, with {@code zoneId} taken into account for both dates."},{"lineNumber":45,"author":{"gitId":"-"},"content":" */"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static String getShortlogSummary(String root, LocalDateTime sinceDate, LocalDateTime untilDate,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" ZoneId zoneId) {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" String command \u003d \"git log --pretty\u003dshort\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":" command +\u003d GitUtil.convertToGitDateRangeArgs(sinceDate, untilDate, zoneId);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" command +\u003d \" | git shortlog --summary\";"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" return runCommand(rootPath, command);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":3,"-":52}},{"path":"src/main/java/reposense/git/GitShow.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.system.CommandRunner.runCommand;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.text.ParseException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Contains git show related functionalities."},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Git show shows various types of objects."},{"lineNumber":23,"author":{"gitId":"-"},"content":" */"},{"lineNumber":24,"author":{"gitId":"-"},"content":"public class GitShow {"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(GitShow.class);"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Returns expanded form of the {@link CommitHash} associated with the {@code shortCommitHash}, with"},{"lineNumber":30,"author":{"gitId":"-"},"content":" * the {@link Path} given by {@code root} as the working directory."},{"lineNumber":31,"author":{"gitId":"-"},"content":" *"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if there is no commit associated with {@code shortCommitHash}."},{"lineNumber":33,"author":{"gitId":"-"},"content":" */"},{"lineNumber":34,"author":{"gitId":"-"},"content":" public static CommitHash getExpandedCommitHash(String root, String shortCommitHash) throws CommitNotFoundException {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":36,"author":{"gitId":"-"},"content":" String showCommand \u003d \"git show -s --format\u003d%H \" + shortCommitHash;"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, showCommand);"},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":" List\u003cCommitHash\u003e commitHashes \u003d Arrays.stream(StringsUtil.NEWLINE.split(output))"},{"lineNumber":41,"author":{"gitId":"-"},"content":" .map(CommitHash::new).collect(Collectors.toList());"},{"lineNumber":42,"author":{"gitId":"-"},"content":" if (commitHashes.size() \u003e 1) {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"%s can be expanded to %d different commits, \""},{"lineNumber":44,"author":{"gitId":"-"},"content":" + \"assuming %s refers to commit hash %s\","},{"lineNumber":45,"author":{"gitId":"-"},"content":" shortCommitHash, commitHashes.size(), shortCommitHash, commitHashes.get(0)));"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" return commitHashes.get(0);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Commit not found: \" + shortCommitHash);"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Returns {@link LocalDateTime} of the commit associated with commit hash, with {@link Path} given by {@code root}"},{"lineNumber":56,"author":{"gitId":"-"},"content":" * as the working directory."},{"lineNumber":57,"author":{"gitId":"-"},"content":" *"},{"lineNumber":58,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if no commit exists for the given {@code commitHash}."},{"lineNumber":59,"author":{"gitId":"-"},"content":" * @throws ParseException if the date string for the given {@code commitHash} could not be parsed into"},{"lineNumber":60,"author":{"gitId":"-"},"content":" * a {@link LocalDateTime} object."},{"lineNumber":61,"author":{"gitId":"-"},"content":" */"},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static LocalDateTime getCommitDate(String root, String commitHash)"},{"lineNumber":63,"author":{"gitId":"-"},"content":" throws CommitNotFoundException, ParseException {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" Path rootPath \u003d Paths.get(root);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" String showCommand \u003d \"git show -s --format\u003d%ci \" + commitHash;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" String output \u003d runCommand(rootPath, showCommand);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" DateTimeFormatter format \u003d DateTimeFormatter.ofPattern(\"yyyy-MM-dd HH:mm:ss Z\u0027\\n\u0027\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(output, format);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" } catch (RuntimeException re) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Commit not found: \" + commitHash);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Returns {@link LocalDateTime} of the earliest commit out of the input list of commits in {@code commitHashes},"},{"lineNumber":77,"author":{"gitId":"-"},"content":" * with the {@code root} string denoting the working directory."},{"lineNumber":78,"author":{"gitId":"-"},"content":" *"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * @throws CommitNotFoundException if no commit exists for a given hash in {@code commitHashes}"},{"lineNumber":80,"author":{"gitId":"-"},"content":" * or if no date string was successfully parsed to a {@link LocalDateTime} for earliest date."},{"lineNumber":81,"author":{"gitId":"-"},"content":" */"},{"lineNumber":82,"author":{"gitId":"-"},"content":" public static LocalDateTime getEarliestCommitDate(String root, List\u003cString\u003e commitHashes)"},{"lineNumber":83,"author":{"gitId":"-"},"content":" throws CommitNotFoundException {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" LocalDateTime earliest \u003d null;"},{"lineNumber":85,"author":{"gitId":"-"},"content":" for (String hash : commitHashes) {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" LocalDateTime date \u003d getCommitDate(root, hash);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" if (earliest \u003d\u003d null || date.compareTo(earliest) \u003c 0) {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" earliest \u003d date;"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" logger.warning(\"Commit not found: \" + hash);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" } catch (ParseException pe) {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" logger.warning(\"Could not parse date for commit: \" + hash);"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":" if (earliest \u003d\u003d null) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" throw new CommitNotFoundException(\"Date could not be retrieved for all input commits\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" return earliest;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":101}},{"path":"src/main/java/reposense/model/Author.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.FileSystems;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.PathMatcher;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.regex.Pattern;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Represents a Git Author."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class Author {"},{"lineNumber":14,"author":{"gitId":"-"},"content":" public static final String NAME_NO_AUTHOR_WITH_COMMITS_FOUND \u003d"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"NO AUTHOR WITH COMMITS FOUND WITHIN THIS PERIOD OF TIME\";"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String UNKNOWN_AUTHOR_GIT_ID \u003d \"-\";"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String STANDARD_GITHUB_EMAIL_DOMAIN \u003d \"@users.noreply.github.com\";"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String STANDARD_GITLAB_EMAIL_DOMAIN \u003d \"@users.noreply.gitlab.com\";"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNCOMMON_EMAIL_PATTERN \u003d \"The provided email, %s, uses uncommon pattern.\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNCOMMON_GLOB_PATTERN \u003d \"The provided ignore glob, %s, uses uncommon pattern.\";"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String COMMON_EMAIL_REGEX \u003d"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"^([a-zA-Z0-9_\\\\-\\\\.\\\\+]+)@([a-zA-Z0-9_\\\\-\\\\.]+)\\\\.([a-zA-Z]{2,5})$\";"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String COMMON_GLOB_REGEX \u003d \"^[-a-zA-Z0-9 _/\\\\\\\\*!{}\\\\[\\\\]!(),:.]*$\";"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" public static final Author UNKNOWN_AUTHOR \u003d new Author(UNKNOWN_AUTHOR_GIT_ID);"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private final String gitId;"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e emails;"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private transient String displayName;"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e authorAliases;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e ignoreGlobList;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private transient PathMatcher ignoreGlobMatcher;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" public Author(String gitId) {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" this.gitId \u003d gitId;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" this.emails \u003d new ArrayList\u003c\u003e();"},{"lineNumber":40,"author":{"gitId":"-"},"content":" this.displayName \u003d gitId;"},{"lineNumber":41,"author":{"gitId":"-"},"content":" this.authorAliases \u003d new ArrayList\u003c\u003e();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" addStandardGitHostEmails(this.emails);"},{"lineNumber":45,"author":{"gitId":"-"},"content":" updateIgnoreGlobMatcher();"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" public Author(StandaloneAuthor sa) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" String gitId \u003d sa.getGitId();"},{"lineNumber":50,"author":{"gitId":"-"},"content":" List\u003cString\u003e emails \u003d new ArrayList\u003c\u003e(sa.getEmails());"},{"lineNumber":51,"author":{"gitId":"-"},"content":" String displayName \u003d !sa.getDisplayName().isEmpty() ? sa.getDisplayName() : sa.getGitId();"},{"lineNumber":52,"author":{"gitId":"-"},"content":" List\u003cString\u003e authorAliases \u003d sa.getAuthorNames();"},{"lineNumber":53,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList \u003d sa.getIgnoreGlobList();"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" this.gitId \u003d gitId;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" this.displayName \u003d displayName;"},{"lineNumber":57,"author":{"gitId":"-"},"content":" this.authorAliases \u003d authorAliases;"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" setEmails(emails);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" setIgnoreGlobList(ignoreGlobList);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" public Author(Author another) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" this.gitId \u003d another.gitId;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" this.emails \u003d another.emails;"},{"lineNumber":66,"author":{"gitId":"-"},"content":" this.displayName \u003d another.gitId;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" this.authorAliases \u003d another.authorAliases;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d another.ignoreGlobList;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.ignoreGlobMatcher \u003d another.ignoreGlobMatcher;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * Checks that all the strings in the {@code emails} only contains commonly used email patterns."},{"lineNumber":74,"author":{"gitId":"-"},"content":" *"},{"lineNumber":75,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the values do not meet the criteria."},{"lineNumber":76,"author":{"gitId":"-"},"content":" */"},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static void validateEmails(List\u003cString\u003e emails) throws IllegalArgumentException {"},{"lineNumber":78,"author":{"gitId":"asdfghjkxd"},"content":" Pattern emailPattern \u003d Pattern.compile(COMMON_EMAIL_REGEX);"},{"lineNumber":79,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" for (String email : emails) {"},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" if (!emailPattern.matcher(email).matches()) {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(String.format(MESSAGE_UNCOMMON_EMAIL_PATTERN, email));"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":" }"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * Checks that all the strings in the {@code ignoreGlobList} only contains commonly used glob patterns."},{"lineNumber":89,"author":{"gitId":"-"},"content":" *"},{"lineNumber":90,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the values do not meet the criteria."},{"lineNumber":91,"author":{"gitId":"-"},"content":" */"},{"lineNumber":92,"author":{"gitId":"-"},"content":" private static void validateIgnoreGlobs(List\u003cString\u003e ignoreGlobList) throws IllegalArgumentException {"},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":" Pattern globPattern \u003d Pattern.compile(COMMON_GLOB_REGEX);"},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" for (String glob : ignoreGlobList) {"},{"lineNumber":96,"author":{"gitId":"asdfghjkxd"},"content":" if (!globPattern.matcher(glob).matches()) {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(String.format(MESSAGE_UNCOMMON_GLOB_PATTERN, glob));"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" public String getGitId() {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return gitId;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getEmails() {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" return emails;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" public void setEmails(List\u003cString\u003e emails) {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" validateEmails(emails);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" this.emails \u003d new ArrayList\u003c\u003e(emails);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" addStandardGitHostEmails(this.emails);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" public String getDisplayName() {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" return displayName;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" public void setDisplayName(String displayName) {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" this.displayName \u003d displayName;"},{"lineNumber":122,"author":{"gitId":"-"},"content":" }"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getAuthorAliases() {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return authorAliases;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" public void setAuthorAliases(List\u003cString\u003e authorAliases) {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" this.authorAliases \u003d authorAliases;"},{"lineNumber":130,"author":{"gitId":"-"},"content":" }"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getIgnoreGlobList() {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" return ignoreGlobList;"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" public void setIgnoreGlobList(List\u003cString\u003e ignoreGlobList) {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" validateIgnoreGlobs(ignoreGlobList);"},{"lineNumber":138,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d new ArrayList\u003c\u003e(ignoreGlobList);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" updateIgnoreGlobMatcher();"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Validates and adds {@code ignoreGlobList} into the {@link Author} class instance variable without duplicates"},{"lineNumber":144,"author":{"gitId":"-"},"content":" * and updates the ignore glob matcher."},{"lineNumber":145,"author":{"gitId":"-"},"content":" */"},{"lineNumber":146,"author":{"gitId":"-"},"content":" public void importIgnoreGlobList(List\u003cString\u003e ignoreGlobList) {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" validateIgnoreGlobs(ignoreGlobList);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" ignoreGlobList.forEach(ignoreGlob -\u003e {"},{"lineNumber":149,"author":{"gitId":"-"},"content":" if (!this.ignoreGlobList.contains(ignoreGlob)) {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" this.ignoreGlobList.add(ignoreGlob);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" }"},{"lineNumber":152,"author":{"gitId":"-"},"content":" });"},{"lineNumber":153,"author":{"gitId":"-"},"content":" updateIgnoreGlobMatcher();"},{"lineNumber":154,"author":{"gitId":"-"},"content":" }"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":157,"author":{"gitId":"-"},"content":" * Returns true if this author is ignoring the {@code filePath} based on its ignore glob matcher."},{"lineNumber":158,"author":{"gitId":"-"},"content":" */"},{"lineNumber":159,"author":{"gitId":"-"},"content":" public boolean isIgnoringFile(Path filePath) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" return ignoreGlobMatcher.matches(filePath);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":164,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" // short circuit if same object"},{"lineNumber":166,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" // instanceof handles null"},{"lineNumber":171,"author":{"gitId":"-"},"content":" if (!(other instanceof Author)) {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" Author otherAuthor \u003d (Author) other;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" return this.gitId.equalsIgnoreCase(otherAuthor.gitId);"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":180,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":181,"author":{"gitId":"-"},"content":" return gitId !\u003d null ? gitId.toLowerCase().hashCode() : 0;"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":185,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" return gitId;"},{"lineNumber":187,"author":{"gitId":"-"},"content":" }"},{"lineNumber":188,"author":{"gitId":"-"},"content":""},{"lineNumber":189,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":190,"author":{"gitId":"-"},"content":" * Updates the {@link PathMatcher} to the new ignore glob list set."},{"lineNumber":191,"author":{"gitId":"-"},"content":" * Called after a new ignore glob list is set."},{"lineNumber":192,"author":{"gitId":"-"},"content":" */"},{"lineNumber":193,"author":{"gitId":"-"},"content":" private void updateIgnoreGlobMatcher() {"},{"lineNumber":194,"author":{"gitId":"-"},"content":" String globString \u003d \"glob:{\" + String.join(\",\", ignoreGlobList) + \"}\";"},{"lineNumber":195,"author":{"gitId":"-"},"content":" ignoreGlobMatcher \u003d FileSystems.getDefault().getPathMatcher(globString);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" }"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":199,"author":{"gitId":"-"},"content":" * Adds the standard github and gitlab emails to {@code emails} if not present."},{"lineNumber":200,"author":{"gitId":"-"},"content":" */"},{"lineNumber":201,"author":{"gitId":"-"},"content":" private void addStandardGitHostEmails(List\u003cString\u003e emails) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" String standardGitHubEmail \u003d getGitId() + STANDARD_GITHUB_EMAIL_DOMAIN;"},{"lineNumber":203,"author":{"gitId":"-"},"content":" String standardGitLabEmail \u003d getGitId() + STANDARD_GITLAB_EMAIL_DOMAIN;"},{"lineNumber":204,"author":{"gitId":"-"},"content":" if (!emails.contains(standardGitHubEmail)) {"},{"lineNumber":205,"author":{"gitId":"-"},"content":" emails.add(standardGitHubEmail);"},{"lineNumber":206,"author":{"gitId":"-"},"content":" }"},{"lineNumber":207,"author":{"gitId":"-"},"content":" if (!emails.contains(standardGitLabEmail)) {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" emails.add(standardGitLabEmail);"},{"lineNumber":209,"author":{"gitId":"-"},"content":" }"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":"}"},{"lineNumber":212,"author":{"gitId":"-"},"content":""}],"authorContributionMap":{"asdfghjkxd":7,"-":205}},{"path":"src/main/java/reposense/model/CliArguments.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Objects;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.parser.ArgsParser;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.parser.AuthorConfigCsvParser;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.parser.GroupConfigCsvParser;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.parser.RepoConfigCsvParser;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.parser.ReportConfigJsonParser;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Represents command line arguments user supplied when running the program."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class CliArguments {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" private static final Path EMPTY_PATH \u003d Paths.get(\"\");"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":" private Path outputFilePath;"},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" private Path assetsFilePath;"},{"lineNumber":24,"author":{"gitId":"asdfghjkxd"},"content":" private LocalDateTime sinceDate;"},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" private LocalDateTime untilDate;"},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isSinceDateProvided;"},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isUntilDateProvided;"},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":" private List\u003cFileType\u003e formats;"},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isLastModifiedDateIncluded;"},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isShallowCloningPerformed;"},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isAutomaticallyLaunching;"},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isStandaloneConfigIgnored;"},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isFileSizeLimitIgnored;"},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" private int numCloningThreads;"},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" private int numAnalysisThreads;"},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" private ZoneId zoneId;"},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" private boolean isFindingPreviousAuthorsPerformed;"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private boolean isTestMode \u003d ArgsParser.DEFAULT_IS_TEST_MODE;"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private boolean isFreshClonePerformed \u003d ArgsParser.DEFAULT_SHOULD_FRESH_CLONE;"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" private List\u003cString\u003e locations;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private boolean isViewModeOnly;"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" private Path reportDirectoryPath;"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" private Path configFolderPath;"},{"lineNumber":47,"author":{"gitId":"-"},"content":" private Path repoConfigFilePath;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private Path authorConfigFilePath;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private Path groupConfigFilePath;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private Path reportConfigFilePath;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private ReportConfiguration reportConfiguration;"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":" * Constructs a {@code CliArguments} object without any parameters."},{"lineNumber":55,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":" private CliArguments() {}"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" public ZoneId getZoneId() {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" return zoneId;"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":""},{"lineNumber":62,"author":{"gitId":"-"},"content":" public Path getOutputFilePath() {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" return outputFilePath;"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" public Path getAssetsFilePath() {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" return assetsFilePath;"},{"lineNumber":68,"author":{"gitId":"-"},"content":" }"},{"lineNumber":69,"author":{"gitId":"-"},"content":""},{"lineNumber":70,"author":{"gitId":"-"},"content":" public LocalDateTime getSinceDate() {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" return sinceDate;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" public LocalDateTime getUntilDate() {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" return untilDate;"},{"lineNumber":76,"author":{"gitId":"-"},"content":" }"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" public boolean isSinceDateProvided() {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" return isSinceDateProvided;"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" public boolean isUntilDateProvided() {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" return isUntilDateProvided;"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" public boolean isLastModifiedDateIncluded() {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" return isLastModifiedDateIncluded;"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" public boolean isShallowCloningPerformed() {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" return isShallowCloningPerformed;"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" public List\u003cFileType\u003e getFormats() {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" return formats;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" public boolean isAutomaticallyLaunching() {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" return isAutomaticallyLaunching;"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" public boolean isStandaloneConfigIgnored() {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return isStandaloneConfigIgnored;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" public boolean isFileSizeLimitIgnored() {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" return isFileSizeLimitIgnored;"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" public int getNumCloningThreads() {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" return numCloningThreads;"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" public int getNumAnalysisThreads() {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" return numAnalysisThreads;"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" public boolean isFindingPreviousAuthorsPerformed() {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" return isFindingPreviousAuthorsPerformed;"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" public boolean isTestMode() {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" return isTestMode;"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" public boolean isFreshClonePerformed() {"},{"lineNumber":127,"author":{"gitId":"-"},"content":" return isFreshClonePerformed;"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getLocations() {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" return locations;"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" public Path getReportDirectoryPath() {"},{"lineNumber":135,"author":{"gitId":"-"},"content":" return reportDirectoryPath;"},{"lineNumber":136,"author":{"gitId":"-"},"content":" }"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" public Path getConfigFolderPath() {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" return configFolderPath;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" public Path getRepoConfigFilePath() {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" return repoConfigFilePath;"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" public Path getAuthorConfigFilePath() {"},{"lineNumber":147,"author":{"gitId":"-"},"content":" return authorConfigFilePath;"},{"lineNumber":148,"author":{"gitId":"-"},"content":" }"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" public Path getGroupConfigFilePath() {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" return groupConfigFilePath;"},{"lineNumber":152,"author":{"gitId":"-"},"content":" }"},{"lineNumber":153,"author":{"gitId":"-"},"content":""},{"lineNumber":154,"author":{"gitId":"-"},"content":" public Path getReportConfigFilePath() {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" return reportConfigFilePath;"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" public ReportConfiguration getReportConfiguration() {"},{"lineNumber":159,"author":{"gitId":"-"},"content":" return reportConfiguration;"},{"lineNumber":160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" public boolean isViewModeOnly() {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" return isViewModeOnly;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":167,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" // short circuit if same object"},{"lineNumber":169,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" // instanceof handles null"},{"lineNumber":174,"author":{"gitId":"-"},"content":" if (!(other instanceof CliArguments)) {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" CliArguments otherCliArguments \u003d (CliArguments) other;"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" return Objects.equals(this.outputFilePath, otherCliArguments.outputFilePath)"},{"lineNumber":181,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.sinceDate, otherCliArguments.sinceDate)"},{"lineNumber":182,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.untilDate, otherCliArguments.untilDate)"},{"lineNumber":183,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isSinceDateProvided \u003d\u003d otherCliArguments.isSinceDateProvided"},{"lineNumber":184,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isUntilDateProvided \u003d\u003d otherCliArguments.isUntilDateProvided"},{"lineNumber":185,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.formats, otherCliArguments.formats)"},{"lineNumber":186,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isLastModifiedDateIncluded \u003d\u003d otherCliArguments.isLastModifiedDateIncluded"},{"lineNumber":187,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isShallowCloningPerformed \u003d\u003d otherCliArguments.isShallowCloningPerformed"},{"lineNumber":188,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isAutomaticallyLaunching \u003d\u003d otherCliArguments.isAutomaticallyLaunching"},{"lineNumber":189,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isStandaloneConfigIgnored \u003d\u003d otherCliArguments.isStandaloneConfigIgnored"},{"lineNumber":190,"author":{"gitId":"-"},"content":" \u0026\u0026 this.numCloningThreads \u003d\u003d otherCliArguments.numCloningThreads"},{"lineNumber":191,"author":{"gitId":"-"},"content":" \u0026\u0026 this.numAnalysisThreads \u003d\u003d otherCliArguments.numAnalysisThreads"},{"lineNumber":192,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.zoneId, otherCliArguments.zoneId)"},{"lineNumber":193,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isFindingPreviousAuthorsPerformed \u003d\u003d otherCliArguments.isFindingPreviousAuthorsPerformed"},{"lineNumber":194,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isFileSizeLimitIgnored \u003d\u003d otherCliArguments.isFileSizeLimitIgnored"},{"lineNumber":195,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isTestMode \u003d\u003d otherCliArguments.isTestMode"},{"lineNumber":196,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isFreshClonePerformed \u003d\u003d otherCliArguments.isFreshClonePerformed"},{"lineNumber":197,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.locations, otherCliArguments.locations)"},{"lineNumber":198,"author":{"gitId":"-"},"content":" \u0026\u0026 this.isViewModeOnly \u003d\u003d otherCliArguments.isViewModeOnly"},{"lineNumber":199,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.reportDirectoryPath, otherCliArguments.reportDirectoryPath)"},{"lineNumber":200,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.repoConfigFilePath, otherCliArguments.repoConfigFilePath)"},{"lineNumber":201,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.authorConfigFilePath, otherCliArguments.authorConfigFilePath)"},{"lineNumber":202,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.groupConfigFilePath, otherCliArguments.groupConfigFilePath)"},{"lineNumber":203,"author":{"gitId":"-"},"content":" \u0026\u0026 Objects.equals(this.reportConfigFilePath, otherCliArguments.reportConfigFilePath);"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":207,"author":{"gitId":"-"},"content":" * Builder used to build CliArguments."},{"lineNumber":208,"author":{"gitId":"-"},"content":" */"},{"lineNumber":209,"author":{"gitId":"-"},"content":" public static final class Builder {"},{"lineNumber":210,"author":{"gitId":"asdfghjkxd"},"content":" private CliArguments cliArguments;"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" public Builder() {"},{"lineNumber":213,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments \u003d new CliArguments();"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":217,"author":{"gitId":"-"},"content":" * Adds the {@code outputFilePath} to CliArguments."},{"lineNumber":218,"author":{"gitId":"-"},"content":" *"},{"lineNumber":219,"author":{"gitId":"-"},"content":" * @param outputFilePath The output file path."},{"lineNumber":220,"author":{"gitId":"-"},"content":" */"},{"lineNumber":221,"author":{"gitId":"-"},"content":" public Builder outputFilePath(Path outputFilePath) {"},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.outputFilePath \u003d outputFilePath;"},{"lineNumber":223,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":227,"author":{"gitId":"-"},"content":" * Adds the {@code assetsFilePath} to CliArguments."},{"lineNumber":228,"author":{"gitId":"-"},"content":" *"},{"lineNumber":229,"author":{"gitId":"-"},"content":" * @param assetsFilePath The assets file path."},{"lineNumber":230,"author":{"gitId":"-"},"content":" */"},{"lineNumber":231,"author":{"gitId":"-"},"content":" public Builder assetsFilePath(Path assetsFilePath) {"},{"lineNumber":232,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.assetsFilePath \u003d assetsFilePath;"},{"lineNumber":233,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":234,"author":{"gitId":"-"},"content":" }"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":237,"author":{"gitId":"-"},"content":" * Adds the {@code sinceDate} to CliArguments."},{"lineNumber":238,"author":{"gitId":"-"},"content":" *"},{"lineNumber":239,"author":{"gitId":"-"},"content":" * @param sinceDate The since date."},{"lineNumber":240,"author":{"gitId":"-"},"content":" */"},{"lineNumber":241,"author":{"gitId":"-"},"content":" public Builder sinceDate(LocalDateTime sinceDate) {"},{"lineNumber":242,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.sinceDate \u003d sinceDate;"},{"lineNumber":243,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * Adds the {@code untilDate} to CliArguments."},{"lineNumber":248,"author":{"gitId":"-"},"content":" *"},{"lineNumber":249,"author":{"gitId":"-"},"content":" * @param untilDate The until date."},{"lineNumber":250,"author":{"gitId":"-"},"content":" */"},{"lineNumber":251,"author":{"gitId":"-"},"content":" public Builder untilDate(LocalDateTime untilDate) {"},{"lineNumber":252,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.untilDate \u003d untilDate;"},{"lineNumber":253,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":254,"author":{"gitId":"-"},"content":" }"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":257,"author":{"gitId":"-"},"content":" * Adds the {@code isSinceDateProvided} to CliArguments."},{"lineNumber":258,"author":{"gitId":"-"},"content":" *"},{"lineNumber":259,"author":{"gitId":"-"},"content":" * @param isSinceDateProvided Is the since date provided."},{"lineNumber":260,"author":{"gitId":"-"},"content":" */"},{"lineNumber":261,"author":{"gitId":"-"},"content":" public Builder isSinceDateProvided(boolean isSinceDateProvided) {"},{"lineNumber":262,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isSinceDateProvided \u003d isSinceDateProvided;"},{"lineNumber":263,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":267,"author":{"gitId":"-"},"content":" * Adds the {@code isUntilDateProvided} to CliArguments."},{"lineNumber":268,"author":{"gitId":"-"},"content":" *"},{"lineNumber":269,"author":{"gitId":"-"},"content":" * @param isUntilDateProvided Is the until date provided."},{"lineNumber":270,"author":{"gitId":"-"},"content":" */"},{"lineNumber":271,"author":{"gitId":"-"},"content":" public Builder isUntilDateProvided(boolean isUntilDateProvided) {"},{"lineNumber":272,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isUntilDateProvided \u003d isUntilDateProvided;"},{"lineNumber":273,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" }"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":277,"author":{"gitId":"-"},"content":" * Adds the {@code formats} to CliArguments."},{"lineNumber":278,"author":{"gitId":"-"},"content":" *"},{"lineNumber":279,"author":{"gitId":"-"},"content":" * @param formats The list of {@link FileType}."},{"lineNumber":280,"author":{"gitId":"-"},"content":" */"},{"lineNumber":281,"author":{"gitId":"-"},"content":" public Builder formats(List\u003cFileType\u003e formats) {"},{"lineNumber":282,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.formats \u003d formats;"},{"lineNumber":283,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":284,"author":{"gitId":"-"},"content":" }"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":287,"author":{"gitId":"-"},"content":" * Adds the {@code isLastModifiedDateIncluded} to CliArguments."},{"lineNumber":288,"author":{"gitId":"-"},"content":" *"},{"lineNumber":289,"author":{"gitId":"-"},"content":" * @param isLastModifiedDateIncluded Is the last modified date included."},{"lineNumber":290,"author":{"gitId":"-"},"content":" */"},{"lineNumber":291,"author":{"gitId":"-"},"content":" public Builder isLastModifiedDateIncluded(boolean isLastModifiedDateIncluded) {"},{"lineNumber":292,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isLastModifiedDateIncluded \u003d isLastModifiedDateIncluded;"},{"lineNumber":293,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":294,"author":{"gitId":"-"},"content":" }"},{"lineNumber":295,"author":{"gitId":"-"},"content":""},{"lineNumber":296,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":297,"author":{"gitId":"-"},"content":" * Adds the {@code isShallowCloningPerformed} to CliArguments."},{"lineNumber":298,"author":{"gitId":"-"},"content":" *"},{"lineNumber":299,"author":{"gitId":"-"},"content":" * @param isShallowCloningPerformed Is shallow cloning performed."},{"lineNumber":300,"author":{"gitId":"-"},"content":" */"},{"lineNumber":301,"author":{"gitId":"-"},"content":" public Builder isShallowCloningPerformed(boolean isShallowCloningPerformed) {"},{"lineNumber":302,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isShallowCloningPerformed \u003d isShallowCloningPerformed;"},{"lineNumber":303,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":304,"author":{"gitId":"-"},"content":" }"},{"lineNumber":305,"author":{"gitId":"-"},"content":""},{"lineNumber":306,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":307,"author":{"gitId":"-"},"content":" * Adds the {@code isAutomaticallyLaunching} to CliArguments."},{"lineNumber":308,"author":{"gitId":"-"},"content":" *"},{"lineNumber":309,"author":{"gitId":"-"},"content":" * @param isAutomaticallyLaunching Is automatically launching."},{"lineNumber":310,"author":{"gitId":"-"},"content":" */"},{"lineNumber":311,"author":{"gitId":"-"},"content":" public Builder isAutomaticallyLaunching(boolean isAutomaticallyLaunching) {"},{"lineNumber":312,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isAutomaticallyLaunching \u003d isAutomaticallyLaunching;"},{"lineNumber":313,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":314,"author":{"gitId":"-"},"content":" }"},{"lineNumber":315,"author":{"gitId":"-"},"content":""},{"lineNumber":316,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":317,"author":{"gitId":"-"},"content":" * Adds the {@code isStandaloneConfigIgnored} to CliArguments."},{"lineNumber":318,"author":{"gitId":"-"},"content":" *"},{"lineNumber":319,"author":{"gitId":"-"},"content":" * @param isStandaloneConfigIgnored Is standalone config ignored."},{"lineNumber":320,"author":{"gitId":"-"},"content":" */"},{"lineNumber":321,"author":{"gitId":"-"},"content":" public Builder isStandaloneConfigIgnored(boolean isStandaloneConfigIgnored) {"},{"lineNumber":322,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isStandaloneConfigIgnored \u003d isStandaloneConfigIgnored;"},{"lineNumber":323,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":327,"author":{"gitId":"-"},"content":" * Adds the {@code isFileSizeLimitIgnored} to CliArguments."},{"lineNumber":328,"author":{"gitId":"-"},"content":" *"},{"lineNumber":329,"author":{"gitId":"-"},"content":" * @param isFileSizeLimitIgnored Is file size limit ignored."},{"lineNumber":330,"author":{"gitId":"-"},"content":" */"},{"lineNumber":331,"author":{"gitId":"-"},"content":" public Builder isFileSizeLimitIgnored(boolean isFileSizeLimitIgnored) {"},{"lineNumber":332,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isFileSizeLimitIgnored \u003d isFileSizeLimitIgnored;"},{"lineNumber":333,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":334,"author":{"gitId":"-"},"content":" }"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":337,"author":{"gitId":"-"},"content":" * Adds the {@code numCloningThreads} to CliArguments."},{"lineNumber":338,"author":{"gitId":"-"},"content":" *"},{"lineNumber":339,"author":{"gitId":"-"},"content":" * @param numCloningThreads The number of cloning threads."},{"lineNumber":340,"author":{"gitId":"-"},"content":" */"},{"lineNumber":341,"author":{"gitId":"-"},"content":" public Builder numCloningThreads(int numCloningThreads) {"},{"lineNumber":342,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.numCloningThreads \u003d numCloningThreads;"},{"lineNumber":343,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":344,"author":{"gitId":"-"},"content":" }"},{"lineNumber":345,"author":{"gitId":"-"},"content":""},{"lineNumber":346,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":347,"author":{"gitId":"-"},"content":" * Adds the {@code numAnalysisThreads} to CliArguments."},{"lineNumber":348,"author":{"gitId":"-"},"content":" *"},{"lineNumber":349,"author":{"gitId":"-"},"content":" * @param numAnalysisThreads The number of analysis threads."},{"lineNumber":350,"author":{"gitId":"-"},"content":" */"},{"lineNumber":351,"author":{"gitId":"-"},"content":" public Builder numAnalysisThreads(int numAnalysisThreads) {"},{"lineNumber":352,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.numAnalysisThreads \u003d numAnalysisThreads;"},{"lineNumber":353,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":354,"author":{"gitId":"-"},"content":" }"},{"lineNumber":355,"author":{"gitId":"-"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":357,"author":{"gitId":"-"},"content":" * Adds the {@code zoneId} to CliArguments."},{"lineNumber":358,"author":{"gitId":"-"},"content":" *"},{"lineNumber":359,"author":{"gitId":"-"},"content":" * @param zoneId The timezone Id."},{"lineNumber":360,"author":{"gitId":"-"},"content":" */"},{"lineNumber":361,"author":{"gitId":"-"},"content":" public Builder zoneId(ZoneId zoneId) {"},{"lineNumber":362,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.zoneId \u003d zoneId;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":367,"author":{"gitId":"-"},"content":" * Adds the {@code isFindingPreviousAuthorsPerformed} to CliArguments."},{"lineNumber":368,"author":{"gitId":"-"},"content":" *"},{"lineNumber":369,"author":{"gitId":"-"},"content":" * @param isFindingPreviousAuthorsPerformed Is finding previous authors performed."},{"lineNumber":370,"author":{"gitId":"-"},"content":" */"},{"lineNumber":371,"author":{"gitId":"-"},"content":" public Builder isFindingPreviousAuthorsPerformed(boolean isFindingPreviousAuthorsPerformed) {"},{"lineNumber":372,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isFindingPreviousAuthorsPerformed \u003d isFindingPreviousAuthorsPerformed;"},{"lineNumber":373,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":374,"author":{"gitId":"-"},"content":" }"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":377,"author":{"gitId":"-"},"content":" * Adds the {@code isTestMode} to CliArguments."},{"lineNumber":378,"author":{"gitId":"-"},"content":" *"},{"lineNumber":379,"author":{"gitId":"-"},"content":" * @param isTestMode Is test mode."},{"lineNumber":380,"author":{"gitId":"-"},"content":" */"},{"lineNumber":381,"author":{"gitId":"-"},"content":" public Builder isTestMode(boolean isTestMode) {"},{"lineNumber":382,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isTestMode \u003d isTestMode;"},{"lineNumber":383,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":387,"author":{"gitId":"-"},"content":" * Adds the {@code isFreshClonePerformed} to CliArguments."},{"lineNumber":388,"author":{"gitId":"-"},"content":" *"},{"lineNumber":389,"author":{"gitId":"-"},"content":" * @param isFreshClonePerformed Is fresh clone performed."},{"lineNumber":390,"author":{"gitId":"-"},"content":" */"},{"lineNumber":391,"author":{"gitId":"-"},"content":" public Builder isFreshClonePerformed(boolean isFreshClonePerformed) {"},{"lineNumber":392,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isFreshClonePerformed \u003d isFreshClonePerformed;"},{"lineNumber":393,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":394,"author":{"gitId":"-"},"content":" }"},{"lineNumber":395,"author":{"gitId":"-"},"content":""},{"lineNumber":396,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":397,"author":{"gitId":"-"},"content":" * Adds the {@code locations} to CliArguments."},{"lineNumber":398,"author":{"gitId":"-"},"content":" *"},{"lineNumber":399,"author":{"gitId":"-"},"content":" * @param locations The list of locations."},{"lineNumber":400,"author":{"gitId":"-"},"content":" */"},{"lineNumber":401,"author":{"gitId":"-"},"content":" public Builder locations(List\u003cString\u003e locations) {"},{"lineNumber":402,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.locations \u003d locations;"},{"lineNumber":403,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" }"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":407,"author":{"gitId":"-"},"content":" * Adds the {@code isViewModeOnly} to CliArguments."},{"lineNumber":408,"author":{"gitId":"-"},"content":" *"},{"lineNumber":409,"author":{"gitId":"-"},"content":" * @param isViewModeOnly Is view mode only."},{"lineNumber":410,"author":{"gitId":"-"},"content":" */"},{"lineNumber":411,"author":{"gitId":"-"},"content":" public Builder isViewModeOnly(boolean isViewModeOnly) {"},{"lineNumber":412,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.isViewModeOnly \u003d isViewModeOnly;"},{"lineNumber":413,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":414,"author":{"gitId":"-"},"content":" }"},{"lineNumber":415,"author":{"gitId":"-"},"content":""},{"lineNumber":416,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":417,"author":{"gitId":"-"},"content":" * Adds the {@code reportDirectoryPath} to CliArguments."},{"lineNumber":418,"author":{"gitId":"-"},"content":" *"},{"lineNumber":419,"author":{"gitId":"-"},"content":" * @param reportDirectoryPath The report directory path."},{"lineNumber":420,"author":{"gitId":"-"},"content":" */"},{"lineNumber":421,"author":{"gitId":"-"},"content":" public Builder reportDirectoryPath(Path reportDirectoryPath) {"},{"lineNumber":422,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.reportDirectoryPath \u003d reportDirectoryPath;"},{"lineNumber":423,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":424,"author":{"gitId":"-"},"content":" }"},{"lineNumber":425,"author":{"gitId":"-"},"content":""},{"lineNumber":426,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":427,"author":{"gitId":"-"},"content":" * Adds the {@code configFolderPath} to CliArguments. {@code configFolderPath} is utilised to configure the"},{"lineNumber":428,"author":{"gitId":"-"},"content":" * {@code repoConfigFilePath}, {@code authorConfigFilePath}, {@code groupConfigFilePath} and"},{"lineNumber":429,"author":{"gitId":"-"},"content":" * {@code reportConfigFilePath}."},{"lineNumber":430,"author":{"gitId":"-"},"content":" *"},{"lineNumber":431,"author":{"gitId":"-"},"content":" * @param configFolderPath The config folder path."},{"lineNumber":432,"author":{"gitId":"-"},"content":" */"},{"lineNumber":433,"author":{"gitId":"-"},"content":" public Builder configFolderPath(Path configFolderPath) {"},{"lineNumber":434,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.configFolderPath \u003d configFolderPath.equals(EMPTY_PATH)"},{"lineNumber":435,"author":{"gitId":"-"},"content":" ? configFolderPath.toAbsolutePath()"},{"lineNumber":436,"author":{"gitId":"-"},"content":" : configFolderPath;"},{"lineNumber":437,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.repoConfigFilePath \u003d configFolderPath.resolve("},{"lineNumber":438,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfigCsvParser.REPO_CONFIG_FILENAME);"},{"lineNumber":439,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.authorConfigFilePath \u003d configFolderPath.resolve("},{"lineNumber":440,"author":{"gitId":"asdfghjkxd"},"content":" AuthorConfigCsvParser.AUTHOR_CONFIG_FILENAME);"},{"lineNumber":441,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.groupConfigFilePath \u003d configFolderPath.resolve("},{"lineNumber":442,"author":{"gitId":"asdfghjkxd"},"content":" GroupConfigCsvParser.GROUP_CONFIG_FILENAME);"},{"lineNumber":443,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.reportConfigFilePath \u003d configFolderPath.resolve("},{"lineNumber":444,"author":{"gitId":"asdfghjkxd"},"content":" ReportConfigJsonParser.REPORT_CONFIG_FILENAME);"},{"lineNumber":445,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":446,"author":{"gitId":"-"},"content":" }"},{"lineNumber":447,"author":{"gitId":"-"},"content":""},{"lineNumber":448,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":449,"author":{"gitId":"-"},"content":" * Adds the {@code reportConfiguration} to CliArguments."},{"lineNumber":450,"author":{"gitId":"-"},"content":" *"},{"lineNumber":451,"author":{"gitId":"-"},"content":" * @param reportConfiguration The report configuration."},{"lineNumber":452,"author":{"gitId":"-"},"content":" */"},{"lineNumber":453,"author":{"gitId":"-"},"content":" public Builder reportConfiguration(ReportConfiguration reportConfiguration) {"},{"lineNumber":454,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments.reportConfiguration \u003d reportConfiguration;"},{"lineNumber":455,"author":{"gitId":"-"},"content":" return this;"},{"lineNumber":456,"author":{"gitId":"-"},"content":" }"},{"lineNumber":457,"author":{"gitId":"-"},"content":""},{"lineNumber":458,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":459,"author":{"gitId":"-"},"content":" * Builds CliArguments."},{"lineNumber":460,"author":{"gitId":"-"},"content":" *"},{"lineNumber":461,"author":{"gitId":"-"},"content":" * @return CliArguments"},{"lineNumber":462,"author":{"gitId":"-"},"content":" */"},{"lineNumber":463,"author":{"gitId":"-"},"content":" public CliArguments build() {"},{"lineNumber":464,"author":{"gitId":"asdfghjkxd"},"content":" CliArguments built \u003d this.cliArguments;"},{"lineNumber":465,"author":{"gitId":"asdfghjkxd"},"content":" this.cliArguments \u003d new CliArguments();"},{"lineNumber":466,"author":{"gitId":"asdfghjkxd"},"content":" return built;"},{"lineNumber":467,"author":{"gitId":"-"},"content":" }"},{"lineNumber":468,"author":{"gitId":"-"},"content":" }"},{"lineNumber":469,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":56,"-":413}},{"path":"src/main/java/reposense/model/CliRunConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.logging.Level;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;"},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Represents RepoSense run configured by CLI."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class CliRunConfiguration implements RunConfiguration {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(CliRunConfiguration.class);"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" private final CliArguments cliArguments;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" public CliRunConfiguration(CliArguments cliArguments) {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" this.cliArguments \u003d cliArguments;"},{"lineNumber":22,"author":{"gitId":"-"},"content":" }"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Constructs a list of {@link RepoConfiguration}."},{"lineNumber":26,"author":{"gitId":"-"},"content":" *"},{"lineNumber":27,"author":{"gitId":"-"},"content":" * @throws ParseException if all repo locations are invalid."},{"lineNumber":28,"author":{"gitId":"-"},"content":" */"},{"lineNumber":29,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":30,"author":{"gitId":"-"},"content":" public List\u003cRepoConfiguration\u003e getRepoConfigurations() throws ParseException {"},{"lineNumber":31,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d new ArrayList\u003c\u003e();"},{"lineNumber":32,"author":{"gitId":"-"},"content":" for (String locationString : cliArguments.getLocations()) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" configs.add("},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(locationString))"},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" .build()"},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" );"},{"lineNumber":39,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException ile) {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, ile.getMessage(), ile);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" if (configs.isEmpty()) {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" throw new ParseException(\"All repository locations are invalid.\");"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" return configs;"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":7,"-":43}},{"path":"src/main/java/reposense/model/CommitHash.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import reposense.git.GitRevList;"},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":12,"author":{"gitId":"-"},"content":" * Represents a git commit hash in {@code RepoConfiguration}."},{"lineNumber":13,"author":{"gitId":"-"},"content":" */"},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class CommitHash {"},{"lineNumber":15,"author":{"gitId":"-"},"content":" private static final String COMMIT_HASH_REGEX \u003d \"^[0-9a-f]+$\";"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String COMMIT_RANGED_HASH_REGEX \u003d \"^[0-9a-f]+\\\\.\\\\.[0-9a-f]+$\";"},{"lineNumber":17,"author":{"gitId":"-"},"content":" private static final String INVALID_COMMIT_HASH_MESSAGE \u003d"},{"lineNumber":18,"author":{"gitId":"-"},"content":" \"The provided commit hash, %s, contains illegal characters.\";"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" private String commit;"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" public CommitHash(String commit) {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" validateCommit(commit);"},{"lineNumber":24,"author":{"gitId":"-"},"content":" this.commit \u003d commit;"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":28,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" return commit;"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":33,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" // short circuit if same object"},{"lineNumber":35,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" // instanceof handles null"},{"lineNumber":40,"author":{"gitId":"-"},"content":" if (!(other instanceof CommitHash)) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" CommitHash otherCommit \u003d (CommitHash) other;"},{"lineNumber":45,"author":{"gitId":"-"},"content":" return this.commit.equals(otherCommit.commit);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":49,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" return commit.hashCode();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":54,"author":{"gitId":"-"},"content":" * Converts all the strings in {@code commits} into {@link CommitHash} objects."},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Returns null if {@code commits} is null."},{"lineNumber":56,"author":{"gitId":"-"},"content":" *"},{"lineNumber":57,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the strings are in invalid formats."},{"lineNumber":58,"author":{"gitId":"-"},"content":" */"},{"lineNumber":59,"author":{"gitId":"-"},"content":" public static List\u003cCommitHash\u003e convertStringsToCommits(List\u003cString\u003e commits) throws IllegalArgumentException {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" if (commits \u003d\u003d null) {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":62,"author":{"gitId":"-"},"content":" }"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" return commits.stream()"},{"lineNumber":65,"author":{"gitId":"-"},"content":" .map(CommitHash::new)"},{"lineNumber":66,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":70,"author":{"gitId":"-"},"content":" * Converts a commit {@code entry} into either itself, or a stream of {@link CommitHash} objects if a range was"},{"lineNumber":71,"author":{"gitId":"-"},"content":" * provided."},{"lineNumber":72,"author":{"gitId":"-"},"content":" * Uses {@code root} as the working directory and {@code branchName} as the branch from which to obtain the hashes."},{"lineNumber":73,"author":{"gitId":"-"},"content":" */"},{"lineNumber":74,"author":{"gitId":"-"},"content":" public static Stream\u003cCommitHash\u003e getHashes(String root, String branchName, CommitHash entry) {"},{"lineNumber":75,"author":{"gitId":"-"},"content":" if (entry.toString().matches(COMMIT_HASH_REGEX)) {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" return Stream.of(entry);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" String[] startAndEnd \u003d entry.toString().split(\"\\\\.\\\\.\");"},{"lineNumber":80,"author":{"gitId":"-"},"content":" String revList \u003d GitRevList.getCommitHashInRange(root, branchName, startAndEnd[0], startAndEnd[1]);"},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" return Arrays.stream(StringsUtil.NEWLINE.split(revList))"},{"lineNumber":82,"author":{"gitId":"-"},"content":" .map(CommitHash::new);"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":86,"author":{"gitId":"-"},"content":" * Checks if {@code commitList} contains {@code commitHash}."},{"lineNumber":87,"author":{"gitId":"-"},"content":" */"},{"lineNumber":88,"author":{"gitId":"-"},"content":" public static boolean isInsideCommitList(String commitHash, List\u003cCommitHash\u003e commitList) {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" return commitList.stream().map(CommitHash::toString).anyMatch(commitHash::startsWith);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" }"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":93,"author":{"gitId":"-"},"content":" * Checks that all the strings in the {@code ignoreCommitList} are in valid formats."},{"lineNumber":94,"author":{"gitId":"-"},"content":" *"},{"lineNumber":95,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if any of the values do not meet the criteria."},{"lineNumber":96,"author":{"gitId":"-"},"content":" */"},{"lineNumber":97,"author":{"gitId":"-"},"content":" public static void validateCommits(List\u003cString\u003e commits) throws IllegalArgumentException {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" for (String commitHash : commits) {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" validateCommit(commitHash);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Checks that {@code commitHash} is in a valid format."},{"lineNumber":105,"author":{"gitId":"-"},"content":" *"},{"lineNumber":106,"author":{"gitId":"-"},"content":" * @throws IllegalArgumentException if {@code commitHash} does not meet the criteria."},{"lineNumber":107,"author":{"gitId":"-"},"content":" */"},{"lineNumber":108,"author":{"gitId":"-"},"content":" private static void validateCommit(String commitHash) throws IllegalArgumentException {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" if (!commitHash.matches(COMMIT_HASH_REGEX) \u0026\u0026 !commitHash.matches(COMMIT_RANGED_HASH_REGEX)) {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" throw new IllegalArgumentException(String.format(INVALID_COMMIT_HASH_MESSAGE, commitHash));"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":"}"},{"lineNumber":114,"author":{"gitId":"-"},"content":""}],"authorContributionMap":{"asdfghjkxd":2,"-":112}},{"path":"src/main/java/reposense/model/ConfigRunConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.logging.Level;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.parser.AuthorConfigCsvParser;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.parser.GroupConfigCsvParser;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.parser.RepoConfigCsvParser;"},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;"},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Represents RepoSense run configured by config files."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class ConfigRunConfiguration implements RunConfiguration {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(ConfigRunConfiguration.class);"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" private final CliArguments cliArguments;"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" public ConfigRunConfiguration(CliArguments cliArguments) {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" this.cliArguments \u003d cliArguments;"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * Constructs a list of {@link RepoConfiguration}."},{"lineNumber":32,"author":{"gitId":"-"},"content":" *"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * @throws IOException if user-supplied csv file does not exist or is not readable."},{"lineNumber":34,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if user-supplied repo-config csv is malformed."},{"lineNumber":35,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if user-supplied csv file has header that cannot be parsed."},{"lineNumber":36,"author":{"gitId":"-"},"content":" */"},{"lineNumber":37,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":38,"author":{"gitId":"-"},"content":" public List\u003cRepoConfiguration\u003e getRepoConfigurations()"},{"lineNumber":39,"author":{"gitId":"-"},"content":" throws IOException, InvalidCsvException, InvalidHeaderException {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e repoConfigs \u003d new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs;"},{"lineNumber":42,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs;"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" Path authorConfigFilePath \u003d cliArguments.getAuthorConfigFilePath();"},{"lineNumber":45,"author":{"gitId":"-"},"content":" Path groupConfigFilePath \u003d cliArguments.getGroupConfigFilePath();"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" if (authorConfigFilePath !\u003d null \u0026\u0026 Files.exists(authorConfigFilePath)) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" authorConfigs \u003d new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();"},{"lineNumber":51,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(repoConfigs, authorConfigs);"},{"lineNumber":52,"author":{"gitId":"-"},"content":" RepoConfiguration.setHasAuthorConfigFileToRepoConfigs(repoConfigs, true);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" } catch (IOException | InvalidCsvException e) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" // for all IO and invalid csv exceptions, log the error and continue"},{"lineNumber":55,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, e.getMessage(), e);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" if (groupConfigFilePath !\u003d null \u0026\u0026 Files.exists(groupConfigFilePath)) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":61,"author":{"gitId":"-"},"content":" groupConfigs \u003d new GroupConfigCsvParser(cliArguments.getGroupConfigFilePath()).parse();"},{"lineNumber":62,"author":{"gitId":"-"},"content":" RepoConfiguration.setGroupConfigsToRepos(repoConfigs, groupConfigs);"},{"lineNumber":63,"author":{"gitId":"-"},"content":" } catch (IOException | InvalidCsvException e) {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" // for all IO and invalid csv exceptions, log the error and continue"},{"lineNumber":65,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, e.getMessage(), e);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" return repoConfigs;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":69}},{"path":"src/main/java/reposense/model/RepoConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.File;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import java.util.Optional;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.git.GitBranch;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.git.exception.GitBranchException;"},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.ConfigurationBuildException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Represents configuration information from CSV config file for a single repository."},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class RepoConfiguration {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" public static final String DEFAULT_BRANCH \u003d \"HEAD\";"},{"lineNumber":25,"author":{"gitId":"-"},"content":" public static final String DEFAULT_EXTRA_OUTPUT_FOLDER_NAME \u003d \"\";"},{"lineNumber":26,"author":{"gitId":"-"},"content":" public static final long DEFAULT_FILE_SIZE_LIMIT \u003d 500000;"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(RepoConfiguration.class);"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private RepoLocation location;"},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":" private String branch \u003d DEFAULT_BRANCH;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private String displayName;"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private String outputFolderName;"},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":" private transient String extraOutputFolderName \u003d DEFAULT_EXTRA_OUTPUT_FOLDER_NAME;"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private transient ZoneId zoneId;"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private transient LocalDateTime sinceDate;"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private transient LocalDateTime untilDate;"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private transient String repoFolderName;"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":" private transient FileTypeManager fileTypeManager \u003d new FileTypeManager(Collections.emptyList());"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e ignoreGlobList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private transient List\u003cString\u003e ignoredAuthorsList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private transient AuthorConfiguration authorConfig;"},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isStandaloneConfigIgnored \u003d false;"},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFileSizeLimitIgnored \u003d false;"},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" private transient List\u003cCommitHash\u003e ignoreCommitList \u003d Collections.emptyList();"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private transient boolean isLastModifiedDateIncluded;"},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isShallowCloningPerformed \u003d false;"},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFindingPreviousAuthorsPerformed \u003d false;"},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFormatsOverriding \u003d false;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private transient boolean isIgnoreGlobListOverriding;"},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isIgnoreCommitListOverriding \u003d false;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private transient boolean isIgnoredAuthorsListOverriding;"},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" private transient long fileSizeLimit \u003d DEFAULT_FILE_SIZE_LIMIT;"},{"lineNumber":54,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isFileSizeLimitOverriding \u003d false;"},{"lineNumber":55,"author":{"gitId":"asdfghjkxd"},"content":" private transient boolean isIgnoredFileAnalysisSkipped \u003d false;"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":" * Constructs an empty instance of {@code RepoConfiguration}, which is used by the {@code Builder}"},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" * to construct new {@code RepoConfiguration} instances."},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":61,"author":{"gitId":"asdfghjkxd"},"content":" private RepoConfiguration() {}"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":64,"author":{"gitId":"asdfghjkxd"},"content":" * Builds the necessary configurations for RepoConfiguration."},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":" * Obeys the Builder pattern as described in {@link CliArguments}."},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":" public static class Builder {"},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":" private String displayName;"},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":" private String outputFolderName;"},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":" private String repoFolderName;"},{"lineNumber":71,"author":{"gitId":"asdfghjkxd"},"content":" private RepoConfiguration repoConfiguration;"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" * Returns an empty instance of the RepoConfiguration Builder."},{"lineNumber":75,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":76,"author":{"gitId":"asdfghjkxd"},"content":" public Builder() {"},{"lineNumber":77,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration \u003d new RepoConfiguration();"},{"lineNumber":78,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":81,"author":{"gitId":"asdfghjkxd"},"content":" * Processes the author configuration of the repository."},{"lineNumber":82,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":83,"author":{"gitId":"asdfghjkxd"},"content":" private void processAuthor() {"},{"lineNumber":84,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.authorConfig \u003d new AuthorConfiguration("},{"lineNumber":85,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.location,"},{"lineNumber":86,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.branch);"},{"lineNumber":87,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":88,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":89,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":90,"author":{"gitId":"asdfghjkxd"},"content":" * Processes the branch of the repository."},{"lineNumber":91,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":92,"author":{"gitId":"asdfghjkxd"},"content":" private void processBranch() {"},{"lineNumber":93,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.branch \u003d this.repoConfiguration.location.isEmpty()"},{"lineNumber":94,"author":{"gitId":"asdfghjkxd"},"content":" ? DEFAULT_BRANCH"},{"lineNumber":95,"author":{"gitId":"asdfghjkxd"},"content":" : this.repoConfiguration.branch;"},{"lineNumber":96,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":97,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":98,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":99,"author":{"gitId":"asdfghjkxd"},"content":" * Processes the relevant names of the repository configs."},{"lineNumber":100,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":101,"author":{"gitId":"asdfghjkxd"},"content":" private void processNames() {"},{"lineNumber":102,"author":{"gitId":"asdfghjkxd"},"content":" String repoName \u003d this.repoConfiguration.location.getRepoName();"},{"lineNumber":103,"author":{"gitId":"asdfghjkxd"},"content":" String org \u003d this.repoConfiguration.location.getOrganization();"},{"lineNumber":104,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":105,"author":{"gitId":"asdfghjkxd"},"content":" String defaultDisplayName \u003d repoName + \"[\" + this.repoConfiguration.branch + \"]\";"},{"lineNumber":106,"author":{"gitId":"asdfghjkxd"},"content":" String defaultOutputFolderName \u003d repoName + \"_\" + this.repoConfiguration.branch;"},{"lineNumber":107,"author":{"gitId":"asdfghjkxd"},"content":" String defaultRepoFolderName \u003d repoName;"},{"lineNumber":108,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":109,"author":{"gitId":"asdfghjkxd"},"content":" if (!org.isEmpty()) {"},{"lineNumber":110,"author":{"gitId":"asdfghjkxd"},"content":" defaultDisplayName \u003d org + \"/\" + defaultDisplayName;"},{"lineNumber":111,"author":{"gitId":"asdfghjkxd"},"content":" defaultRepoFolderName \u003d org + \"_\" + defaultRepoFolderName;"},{"lineNumber":112,"author":{"gitId":"asdfghjkxd"},"content":" defaultOutputFolderName \u003d org + \"_\" + defaultOutputFolderName;"},{"lineNumber":113,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":114,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.displayName \u003d Optional.ofNullable(this.displayName)"},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":" .orElse(defaultDisplayName);"},{"lineNumber":117,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.outputFolderName \u003d Optional.ofNullable(this.outputFolderName)"},{"lineNumber":118,"author":{"gitId":"asdfghjkxd"},"content":" .orElse(defaultOutputFolderName);"},{"lineNumber":119,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.repoFolderName \u003d Optional.ofNullable(this.repoFolderName)"},{"lineNumber":120,"author":{"gitId":"asdfghjkxd"},"content":" .orElse(defaultRepoFolderName);"},{"lineNumber":121,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":122,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":123,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":124,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code location} for {@code RepoConfiguration}."},{"lineNumber":125,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":126,"author":{"gitId":"asdfghjkxd"},"content":" * @param location A repository location."},{"lineNumber":127,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object"},{"lineNumber":128,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":129,"author":{"gitId":"asdfghjkxd"},"content":" public Builder location(RepoLocation location) {"},{"lineNumber":130,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.location \u003d location;"},{"lineNumber":131,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":132,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":133,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":134,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":135,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code branch} for {@code RepoConfiguration}."},{"lineNumber":136,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":137,"author":{"gitId":"asdfghjkxd"},"content":" * @param branch Branch of the repository of interest."},{"lineNumber":138,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":139,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":140,"author":{"gitId":"asdfghjkxd"},"content":" public Builder branch(String branch) {"},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.branch \u003d branch;"},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":143,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":144,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":145,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":146,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code displayName} for {@code RepoConfiguration}."},{"lineNumber":147,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":148,"author":{"gitId":"asdfghjkxd"},"content":" * @param displayName Display name of the repository."},{"lineNumber":149,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":150,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":151,"author":{"gitId":"asdfghjkxd"},"content":" public Builder displayName(String displayName) {"},{"lineNumber":152,"author":{"gitId":"asdfghjkxd"},"content":" this.displayName \u003d displayName;"},{"lineNumber":153,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.displayName \u003d displayName;"},{"lineNumber":154,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":155,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":156,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":157,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":158,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code outputFolderName} for {@code RepoConfiguration}."},{"lineNumber":159,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":160,"author":{"gitId":"asdfghjkxd"},"content":" * @param outputFolderName Output folder name of the repository."},{"lineNumber":161,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":162,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":163,"author":{"gitId":"asdfghjkxd"},"content":" public Builder outputFolderName(String outputFolderName) {"},{"lineNumber":164,"author":{"gitId":"asdfghjkxd"},"content":" this.outputFolderName \u003d outputFolderName;"},{"lineNumber":165,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.outputFolderName \u003d outputFolderName;"},{"lineNumber":166,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":167,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":168,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":169,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":170,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code extraOutputFolderName} for {@code RepoConfiguration}."},{"lineNumber":171,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":172,"author":{"gitId":"asdfghjkxd"},"content":" * @param extraOutputFolderName Extra output folder name of the repository."},{"lineNumber":173,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":174,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":175,"author":{"gitId":"asdfghjkxd"},"content":" public Builder extraOutputFolderName(String extraOutputFolderName) {"},{"lineNumber":176,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.extraOutputFolderName \u003d extraOutputFolderName;"},{"lineNumber":177,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":178,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":179,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":180,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":181,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code zoneId} for {@code RepoConfiguration}."},{"lineNumber":182,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":183,"author":{"gitId":"asdfghjkxd"},"content":" * @param zoneId Time-zone of the repository."},{"lineNumber":184,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":185,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":186,"author":{"gitId":"asdfghjkxd"},"content":" public Builder zoneId(ZoneId zoneId) {"},{"lineNumber":187,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.zoneId \u003d zoneId;"},{"lineNumber":188,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code sinceDate} for {@code RepoConfiguration}."},{"lineNumber":193,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":194,"author":{"gitId":"asdfghjkxd"},"content":" * @param sinceDate Starting date of analysis."},{"lineNumber":195,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":196,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":197,"author":{"gitId":"asdfghjkxd"},"content":" public Builder sinceDate(LocalDateTime sinceDate) {"},{"lineNumber":198,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.sinceDate \u003d sinceDate;"},{"lineNumber":199,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":200,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":201,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":202,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":203,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code untilDate} for {@code RepoConfiguration}."},{"lineNumber":204,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":205,"author":{"gitId":"asdfghjkxd"},"content":" * @param untilDate Ending date of analysis."},{"lineNumber":206,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":207,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":208,"author":{"gitId":"asdfghjkxd"},"content":" public Builder untilDate(LocalDateTime untilDate) {"},{"lineNumber":209,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.untilDate \u003d untilDate;"},{"lineNumber":210,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":211,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":212,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":213,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":214,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code repoFolderName} for {@code RepoConfiguration}."},{"lineNumber":215,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":216,"author":{"gitId":"asdfghjkxd"},"content":" * @param repoFolderName Folder name of the repository."},{"lineNumber":217,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":218,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":219,"author":{"gitId":"asdfghjkxd"},"content":" public Builder repoFolderName(String repoFolderName) {"},{"lineNumber":220,"author":{"gitId":"asdfghjkxd"},"content":" this.repoFolderName \u003d repoFolderName;"},{"lineNumber":221,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.repoFolderName \u003d repoFolderName;"},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":223,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":224,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":225,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":226,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code fileTypeManager} for {@code RepoConfiguration}."},{"lineNumber":227,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":228,"author":{"gitId":"asdfghjkxd"},"content":" * @param fileTypes List of file types and groupings permitted."},{"lineNumber":229,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":230,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":231,"author":{"gitId":"asdfghjkxd"},"content":" public Builder fileTypeManager(List\u003cFileType\u003e fileTypes) {"},{"lineNumber":232,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.fileTypeManager \u003d new FileTypeManager(fileTypes);"},{"lineNumber":233,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":234,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":235,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":236,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":237,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code ignoreGlobList} for {@code RepoConfiguration}."},{"lineNumber":238,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":239,"author":{"gitId":"asdfghjkxd"},"content":" * @param ignoredGlobList List of glob patterns to ignore."},{"lineNumber":240,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":241,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":242,"author":{"gitId":"asdfghjkxd"},"content":" public Builder ignoreGlobList(List\u003cString\u003e ignoredGlobList) {"},{"lineNumber":243,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.ignoreGlobList \u003d ignoredGlobList;"},{"lineNumber":244,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":245,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":246,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":247,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":248,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code ignoredAuthorsList} for {@code RepoConfiguration}."},{"lineNumber":249,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":250,"author":{"gitId":"asdfghjkxd"},"content":" * @param ignoredAuthorsList List of authors to ignore."},{"lineNumber":251,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":252,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":253,"author":{"gitId":"asdfghjkxd"},"content":" public Builder ignoredAuthorsList(List\u003cString\u003e ignoredAuthorsList) {"},{"lineNumber":254,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.ignoredAuthorsList \u003d ignoredAuthorsList;"},{"lineNumber":255,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":256,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":257,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":258,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":259,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code authorConfig} for {@code RepoConfiguration}."},{"lineNumber":260,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":261,"author":{"gitId":"asdfghjkxd"},"content":" * @param authorConfig Author configuration information of the repository."},{"lineNumber":262,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":263,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":264,"author":{"gitId":"asdfghjkxd"},"content":" public Builder authorConfig(AuthorConfiguration authorConfig) {"},{"lineNumber":265,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.authorConfig \u003d authorConfig;"},{"lineNumber":266,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":267,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":268,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":269,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":270,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isStandaloneConfigIgnored} for {@code RepoConfiguration}."},{"lineNumber":271,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":272,"author":{"gitId":"asdfghjkxd"},"content":" * @param isStandaloneConfigIgnored Checks if standalone config is ignored."},{"lineNumber":273,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":274,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":275,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isStandaloneConfigIgnored(boolean isStandaloneConfigIgnored) {"},{"lineNumber":276,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isStandaloneConfigIgnored \u003d isStandaloneConfigIgnored;"},{"lineNumber":277,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":278,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":279,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":280,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":281,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFileSizeLimitIgnored} for {@code RepoConfiguration}."},{"lineNumber":282,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":283,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFileSizeLimitIgnored Checks if file size limit is ignored."},{"lineNumber":284,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":285,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":286,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFileSizeLimitIgnored(boolean isFileSizeLimitIgnored) {"},{"lineNumber":287,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFileSizeLimitIgnored \u003d isFileSizeLimitIgnored;"},{"lineNumber":288,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":289,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":290,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":291,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":292,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code ignoreCommitList} for {@code RepoConfiguration}."},{"lineNumber":293,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":294,"author":{"gitId":"asdfghjkxd"},"content":" * @param ignoreCommitList List of commits to ignore."},{"lineNumber":295,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":296,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":297,"author":{"gitId":"asdfghjkxd"},"content":" public Builder ignoreCommitList(List\u003cCommitHash\u003e ignoreCommitList) {"},{"lineNumber":298,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.ignoreCommitList \u003d ignoreCommitList;"},{"lineNumber":299,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":300,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":301,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":302,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":303,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isLastModifiedDateIncluded} for {@code RepoConfiguration}."},{"lineNumber":304,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":305,"author":{"gitId":"asdfghjkxd"},"content":" * @param isLastModifiedDateIncluded Checks if last modified date is included."},{"lineNumber":306,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":307,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":308,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isLastModifiedDateIncluded(boolean isLastModifiedDateIncluded) {"},{"lineNumber":309,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isLastModifiedDateIncluded \u003d isLastModifiedDateIncluded;"},{"lineNumber":310,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":311,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":312,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":313,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":314,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isShallowCloningPerformed} for {@code RepoConfiguration}."},{"lineNumber":315,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":316,"author":{"gitId":"asdfghjkxd"},"content":" * @param isShallowCloningPerformed Checks if shallow cloning is performed."},{"lineNumber":317,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":318,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":319,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isShallowCloningPerformed(boolean isShallowCloningPerformed) {"},{"lineNumber":320,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isShallowCloningPerformed \u003d isShallowCloningPerformed;"},{"lineNumber":321,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":322,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":323,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":324,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":325,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFindingPreviousAuthorsPerformed} for {@code RepoConfiguration}."},{"lineNumber":326,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":327,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFindingPreviousAuthorsPerformed Checks if finding previous authors is performed."},{"lineNumber":328,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":329,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":330,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFindingPreviousAuthorsPerformed(boolean isFindingPreviousAuthorsPerformed) {"},{"lineNumber":331,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFindingPreviousAuthorsPerformed \u003d isFindingPreviousAuthorsPerformed;"},{"lineNumber":332,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":333,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":334,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":335,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":336,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFormatsOverriding} for {@code RepoConfiguration}."},{"lineNumber":337,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":338,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFormatsOverriding Checks if file formats are overridden."},{"lineNumber":339,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":340,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":341,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFormatsOverriding(boolean isFormatsOverriding) {"},{"lineNumber":342,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFormatsOverriding \u003d isFormatsOverriding;"},{"lineNumber":343,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":344,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":345,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":346,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":347,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isIgnoreGlobListOverriding} for {@code RepoConfiguration}."},{"lineNumber":348,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":349,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoreGlobListOverriding Checks if the list of ignored glob is overridden."},{"lineNumber":350,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":351,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":352,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoreGlobListOverriding(boolean isIgnoreGlobListOverriding) {"},{"lineNumber":353,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoreGlobListOverriding \u003d isIgnoreGlobListOverriding;"},{"lineNumber":354,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":355,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":356,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":357,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":358,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isIgnoreCommitListOverriding} for {@code RepoConfiguration}."},{"lineNumber":359,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":360,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoreCommitListOverriding Checks if the list of ignored commits is overridden."},{"lineNumber":361,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":362,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":363,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoreCommitListOverriding(boolean isIgnoreCommitListOverriding) {"},{"lineNumber":364,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoreCommitListOverriding \u003d isIgnoreCommitListOverriding;"},{"lineNumber":365,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":366,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":367,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":368,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":369,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFileSizeLimitOverriding} for {@code RepoConfiguration}."},{"lineNumber":370,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":371,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoredAuthorsListOverriding Checks if the list of ignored authors is overridden."},{"lineNumber":372,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":373,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":374,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoredAuthorsListOverriding(boolean isIgnoredAuthorsListOverriding) {"},{"lineNumber":375,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoredAuthorsListOverriding \u003d isIgnoredAuthorsListOverriding;"},{"lineNumber":376,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":377,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":378,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":379,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":380,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code fileSizeLimit} for {@code RepoConfiguration}."},{"lineNumber":381,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":382,"author":{"gitId":"asdfghjkxd"},"content":" * @param fileSizeLimit File size limit of the repository."},{"lineNumber":383,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":384,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":385,"author":{"gitId":"asdfghjkxd"},"content":" public Builder fileSizeLimit(long fileSizeLimit) {"},{"lineNumber":386,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.fileSizeLimit \u003d fileSizeLimit;"},{"lineNumber":387,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":388,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":389,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":390,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":391,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isFileSizeLimitOverriding} for {@code RepoConfiguration}."},{"lineNumber":392,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":393,"author":{"gitId":"asdfghjkxd"},"content":" * @param isFileSizeLimitOverriding Checks if the file size limit is overridden."},{"lineNumber":394,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":395,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":396,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isFileSizeLimitOverriding(boolean isFileSizeLimitOverriding) {"},{"lineNumber":397,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isFileSizeLimitOverriding \u003d isFileSizeLimitOverriding;"},{"lineNumber":398,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":399,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":400,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":401,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":402,"author":{"gitId":"asdfghjkxd"},"content":" * Updates the {@code isIgnoredFileAnalysisSkipped} for {@code RepoConfiguration}."},{"lineNumber":403,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":404,"author":{"gitId":"asdfghjkxd"},"content":" * @param isIgnoredFileAnalysisSkipped Checks if the analysis of ignored files is skipped."},{"lineNumber":405,"author":{"gitId":"asdfghjkxd"},"content":" * @return This builder object."},{"lineNumber":406,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":407,"author":{"gitId":"asdfghjkxd"},"content":" public Builder isIgnoredFileAnalysisSkipped(boolean isIgnoredFileAnalysisSkipped) {"},{"lineNumber":408,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration.isIgnoredFileAnalysisSkipped \u003d isIgnoredFileAnalysisSkipped;"},{"lineNumber":409,"author":{"gitId":"asdfghjkxd"},"content":" return this;"},{"lineNumber":410,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":411,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":412,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":413,"author":{"gitId":"asdfghjkxd"},"content":" * Builds the {@code RepoConfiguration} object with the necessary configurations."},{"lineNumber":414,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":415,"author":{"gitId":"asdfghjkxd"},"content":" * @return {@code RepoConfiguration}."},{"lineNumber":416,"author":{"gitId":"asdfghjkxd"},"content":" * @throws ConfigurationBuildException if there was an issue building the {@code RepoConfiguration}"},{"lineNumber":417,"author":{"gitId":"asdfghjkxd"},"content":" * object."},{"lineNumber":418,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":419,"author":{"gitId":"asdfghjkxd"},"content":" public RepoConfiguration build() {"},{"lineNumber":420,"author":{"gitId":"asdfghjkxd"},"content":" if (!validate()) {"},{"lineNumber":421,"author":{"gitId":"asdfghjkxd"},"content":" throw new ConfigurationBuildException();"},{"lineNumber":422,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":423,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":424,"author":{"gitId":"asdfghjkxd"},"content":" this.processAuthor();"},{"lineNumber":425,"author":{"gitId":"asdfghjkxd"},"content":" this.processBranch();"},{"lineNumber":426,"author":{"gitId":"asdfghjkxd"},"content":" this.processNames();"},{"lineNumber":427,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":428,"author":{"gitId":"asdfghjkxd"},"content":" // save a reference to the current built object"},{"lineNumber":429,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration toReturn \u003d this.repoConfiguration;"},{"lineNumber":430,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":431,"author":{"gitId":"asdfghjkxd"},"content":" // reset the internal reference to avoid aliasing"},{"lineNumber":432,"author":{"gitId":"asdfghjkxd"},"content":" this.repoConfiguration \u003d new RepoConfiguration();"},{"lineNumber":433,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":434,"author":{"gitId":"asdfghjkxd"},"content":" // return the reference to the built RepoConfiguration object"},{"lineNumber":435,"author":{"gitId":"asdfghjkxd"},"content":" return toReturn;"},{"lineNumber":436,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":437,"author":{"gitId":"-"},"content":""},{"lineNumber":438,"author":{"gitId":"asdfghjkxd"},"content":" /**"},{"lineNumber":439,"author":{"gitId":"asdfghjkxd"},"content":" * Checks if the current {@code RepoConfiguration} object contains all the necessary parameters"},{"lineNumber":440,"author":{"gitId":"asdfghjkxd"},"content":" * needed to build successfully."},{"lineNumber":441,"author":{"gitId":"asdfghjkxd"},"content":" *"},{"lineNumber":442,"author":{"gitId":"asdfghjkxd"},"content":" * @return true if the {@code RepoConfiguration} object contains all the necessary parameters else false"},{"lineNumber":443,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":444,"author":{"gitId":"asdfghjkxd"},"content":" private boolean validate() {"},{"lineNumber":445,"author":{"gitId":"asdfghjkxd"},"content":" return Optional.ofNullable(this.repoConfiguration.location).isPresent();"},{"lineNumber":446,"author":{"gitId":"-"},"content":" }"},{"lineNumber":447,"author":{"gitId":"-"},"content":" }"},{"lineNumber":448,"author":{"gitId":"-"},"content":""},{"lineNumber":449,"author":{"gitId":"-"},"content":" public static void setDatesToRepoConfigs(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":450,"author":{"gitId":"-"},"content":" LocalDateTime sinceDate, LocalDateTime untilDate) {"},{"lineNumber":451,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {"},{"lineNumber":452,"author":{"gitId":"-"},"content":" config.setSinceDate(sinceDate);"},{"lineNumber":453,"author":{"gitId":"-"},"content":" config.setUntilDate(untilDate);"},{"lineNumber":454,"author":{"gitId":"-"},"content":" }"},{"lineNumber":455,"author":{"gitId":"-"},"content":" }"},{"lineNumber":456,"author":{"gitId":"-"},"content":""},{"lineNumber":457,"author":{"gitId":"-"},"content":" public static void setZoneIdToRepoConfigs(List\u003cRepoConfiguration\u003e configs, ZoneId zoneId) {"},{"lineNumber":458,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {"},{"lineNumber":459,"author":{"gitId":"-"},"content":" config.setZoneId(zoneId);"},{"lineNumber":460,"author":{"gitId":"-"},"content":" }"},{"lineNumber":461,"author":{"gitId":"-"},"content":" }"},{"lineNumber":462,"author":{"gitId":"-"},"content":""},{"lineNumber":463,"author":{"gitId":"-"},"content":" public static void setIsLastModifiedDateIncludedToRepoConfigs(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":464,"author":{"gitId":"-"},"content":" boolean isLastModifiedDateIncluded) {"},{"lineNumber":465,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {"},{"lineNumber":466,"author":{"gitId":"-"},"content":" config.setIsLastModifiedDateIncluded(isLastModifiedDateIncluded);"},{"lineNumber":467,"author":{"gitId":"-"},"content":" }"},{"lineNumber":468,"author":{"gitId":"-"},"content":" }"},{"lineNumber":469,"author":{"gitId":"-"},"content":""},{"lineNumber":470,"author":{"gitId":"-"},"content":" public static void setIsShallowCloningPerformedToRepoConfigs(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":471,"author":{"gitId":"-"},"content":" boolean isShallowCloningPerformed) {"},{"lineNumber":472,"author":{"gitId":"-"},"content":" if (isShallowCloningPerformed) {"},{"lineNumber":473,"author":{"gitId":"-"},"content":" configs.stream().forEach(config -\u003e config.setIsShallowCloningPerformed(true));"},{"lineNumber":474,"author":{"gitId":"-"},"content":" }"},{"lineNumber":475,"author":{"gitId":"-"},"content":" }"},{"lineNumber":476,"author":{"gitId":"-"},"content":""},{"lineNumber":477,"author":{"gitId":"-"},"content":" public static void setIsFindingPreviousAuthorsPerformedToRepoConfigs(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":478,"author":{"gitId":"-"},"content":" boolean isFindingPreviousAuthorsPerformed) {"},{"lineNumber":479,"author":{"gitId":"-"},"content":" if (isFindingPreviousAuthorsPerformed) {"},{"lineNumber":480,"author":{"gitId":"-"},"content":" configs.stream().forEach(config -\u003e config.setIsFindingPreviousAuthorsPerformed(true));"},{"lineNumber":481,"author":{"gitId":"-"},"content":" }"},{"lineNumber":482,"author":{"gitId":"-"},"content":" }"},{"lineNumber":483,"author":{"gitId":"-"},"content":""},{"lineNumber":484,"author":{"gitId":"-"},"content":" public static void setHasAuthorConfigFileToRepoConfigs(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":485,"author":{"gitId":"-"},"content":" boolean setHasAuthorConfigFile) {"},{"lineNumber":486,"author":{"gitId":"-"},"content":" configs.stream().forEach(config -\u003e config.setHasAuthorConfigFile(setHasAuthorConfigFile));"},{"lineNumber":487,"author":{"gitId":"-"},"content":" }"},{"lineNumber":488,"author":{"gitId":"-"},"content":""},{"lineNumber":489,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":490,"author":{"gitId":"-"},"content":" * Merges a {@link RepoConfiguration} from {@code repoConfigs} with an {@link AuthorConfiguration} from"},{"lineNumber":491,"author":{"gitId":"-"},"content":" * {@code authorConfigs} if their {@link RepoLocation} and branch matches."},{"lineNumber":492,"author":{"gitId":"-"},"content":" */"},{"lineNumber":493,"author":{"gitId":"-"},"content":" public static void merge(List\u003cRepoConfiguration\u003e repoConfigs, List\u003cAuthorConfiguration\u003e authorConfigs) {"},{"lineNumber":494,"author":{"gitId":"-"},"content":" for (AuthorConfiguration authorConfig : authorConfigs) {"},{"lineNumber":495,"author":{"gitId":"-"},"content":" if (authorConfig.getLocation().isEmpty()) {"},{"lineNumber":496,"author":{"gitId":"-"},"content":" for (RepoConfiguration repoConfig : repoConfigs) {"},{"lineNumber":497,"author":{"gitId":"-"},"content":" repoConfig.addAuthors(authorConfig.getAuthorList());"},{"lineNumber":498,"author":{"gitId":"-"},"content":" }"},{"lineNumber":499,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":500,"author":{"gitId":"-"},"content":" }"},{"lineNumber":501,"author":{"gitId":"-"},"content":""},{"lineNumber":502,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e locationMatchingRepoConfigs \u003d"},{"lineNumber":503,"author":{"gitId":"-"},"content":" getMatchingRepoConfigsByLocation(repoConfigs, authorConfig.getLocation());"},{"lineNumber":504,"author":{"gitId":"-"},"content":""},{"lineNumber":505,"author":{"gitId":"-"},"content":" if (locationMatchingRepoConfigs.isEmpty()) {"},{"lineNumber":506,"author":{"gitId":"-"},"content":" logger.warning(String.format("},{"lineNumber":507,"author":{"gitId":"-"},"content":" \"Repository %s is not found in repo-config.csv.\","},{"lineNumber":508,"author":{"gitId":"-"},"content":" authorConfig.getLocation()));"},{"lineNumber":509,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":510,"author":{"gitId":"-"},"content":" }"},{"lineNumber":511,"author":{"gitId":"-"},"content":" if (authorConfig.isDefaultBranch()) {"},{"lineNumber":512,"author":{"gitId":"-"},"content":" locationMatchingRepoConfigs.forEach(matchingRepoConfig -\u003e {"},{"lineNumber":513,"author":{"gitId":"-"},"content":" matchingRepoConfig.addAuthors(authorConfig.getAuthorList());"},{"lineNumber":514,"author":{"gitId":"-"},"content":" });"},{"lineNumber":515,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":516,"author":{"gitId":"-"},"content":" }"},{"lineNumber":517,"author":{"gitId":"-"},"content":""},{"lineNumber":518,"author":{"gitId":"-"},"content":" RepoConfiguration branchMatchingRepoConfig \u003d getMatchingRepoConfig(repoConfigs, authorConfig);"},{"lineNumber":519,"author":{"gitId":"-"},"content":""},{"lineNumber":520,"author":{"gitId":"-"},"content":" if (branchMatchingRepoConfig \u003d\u003d null) {"},{"lineNumber":521,"author":{"gitId":"-"},"content":" if (!authorConfig.isDefaultBranch()) {"},{"lineNumber":522,"author":{"gitId":"-"},"content":" logger.warning(String.format("},{"lineNumber":523,"author":{"gitId":"-"},"content":" \"Repository %s (branch %s) is not found in repo-config.csv.\","},{"lineNumber":524,"author":{"gitId":"-"},"content":" authorConfig.getLocation(), authorConfig.getBranch()));"},{"lineNumber":525,"author":{"gitId":"-"},"content":" }"},{"lineNumber":526,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":527,"author":{"gitId":"-"},"content":" }"},{"lineNumber":528,"author":{"gitId":"-"},"content":""},{"lineNumber":529,"author":{"gitId":"-"},"content":" branchMatchingRepoConfig.addAuthors(authorConfig.getAuthorList());"},{"lineNumber":530,"author":{"gitId":"-"},"content":" }"},{"lineNumber":531,"author":{"gitId":"-"},"content":" }"},{"lineNumber":532,"author":{"gitId":"-"},"content":""},{"lineNumber":533,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":534,"author":{"gitId":"-"},"content":" * Sets the list of groups in {@code groupConfigs} to the respective {@code repoConfigs}."},{"lineNumber":535,"author":{"gitId":"-"},"content":" */"},{"lineNumber":536,"author":{"gitId":"-"},"content":" public static void setGroupConfigsToRepos(List\u003cRepoConfiguration\u003e repoConfigs,"},{"lineNumber":537,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs) {"},{"lineNumber":538,"author":{"gitId":"-"},"content":" for (GroupConfiguration groupConfig : groupConfigs) {"},{"lineNumber":539,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e matchingRepoConfigs;"},{"lineNumber":540,"author":{"gitId":"-"},"content":" if (groupConfig.getLocation().isEmpty()) {"},{"lineNumber":541,"author":{"gitId":"-"},"content":" matchingRepoConfigs \u003d repoConfigs;"},{"lineNumber":542,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":543,"author":{"gitId":"-"},"content":" matchingRepoConfigs \u003d getMatchingRepoConfigsByLocation(repoConfigs,"},{"lineNumber":544,"author":{"gitId":"-"},"content":" groupConfig.getLocation());"},{"lineNumber":545,"author":{"gitId":"-"},"content":" }"},{"lineNumber":546,"author":{"gitId":"-"},"content":" if (matchingRepoConfigs.isEmpty()) {"},{"lineNumber":547,"author":{"gitId":"-"},"content":" logger.warning(String.format("},{"lineNumber":548,"author":{"gitId":"-"},"content":" \"Repository %s is not found in repo-config.csv.\", groupConfig.getLocation()));"},{"lineNumber":549,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":550,"author":{"gitId":"-"},"content":" }"},{"lineNumber":551,"author":{"gitId":"-"},"content":" matchingRepoConfigs.forEach(matchingRepoConfig -\u003e {"},{"lineNumber":552,"author":{"gitId":"-"},"content":" matchingRepoConfig.addGroups(groupConfig.getGroupsList());"},{"lineNumber":553,"author":{"gitId":"-"},"content":" });"},{"lineNumber":554,"author":{"gitId":"-"},"content":" }"},{"lineNumber":555,"author":{"gitId":"-"},"content":" }"},{"lineNumber":556,"author":{"gitId":"-"},"content":""},{"lineNumber":557,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":558,"author":{"gitId":"-"},"content":" * Iterates through {@code repoConfigs} to find a {@link RepoConfiguration} with {@link RepoLocation} and branch"},{"lineNumber":559,"author":{"gitId":"-"},"content":" * that matches {@code authorConfig}. Returns {@code null} if no match is found."},{"lineNumber":560,"author":{"gitId":"-"},"content":" */"},{"lineNumber":561,"author":{"gitId":"-"},"content":" private static RepoConfiguration getMatchingRepoConfig(List\u003cRepoConfiguration\u003e repoConfigs,"},{"lineNumber":562,"author":{"gitId":"-"},"content":" AuthorConfiguration authorConfig) {"},{"lineNumber":563,"author":{"gitId":"-"},"content":" if (authorConfig.isDefaultBranch()) {"},{"lineNumber":564,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":565,"author":{"gitId":"-"},"content":" }"},{"lineNumber":566,"author":{"gitId":"-"},"content":" for (RepoConfiguration repoConfig : repoConfigs) {"},{"lineNumber":567,"author":{"gitId":"-"},"content":" if (repoConfig.getLocation().equals(authorConfig.getLocation())"},{"lineNumber":568,"author":{"gitId":"-"},"content":" \u0026\u0026 repoConfig.getBranch().equals(authorConfig.getBranch())) {"},{"lineNumber":569,"author":{"gitId":"-"},"content":" return repoConfig;"},{"lineNumber":570,"author":{"gitId":"-"},"content":" }"},{"lineNumber":571,"author":{"gitId":"-"},"content":" }"},{"lineNumber":572,"author":{"gitId":"-"},"content":" return null;"},{"lineNumber":573,"author":{"gitId":"-"},"content":" }"},{"lineNumber":574,"author":{"gitId":"-"},"content":""},{"lineNumber":575,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":576,"author":{"gitId":"-"},"content":" * Returns a list of {@link RepoConfiguration} where the {@link RepoLocation} of a {@link RepoConfiguration}"},{"lineNumber":577,"author":{"gitId":"-"},"content":" * in the list of {@code configs} matches {@code targetRepoLocation}."},{"lineNumber":578,"author":{"gitId":"-"},"content":" */"},{"lineNumber":579,"author":{"gitId":"-"},"content":" private static List\u003cRepoConfiguration\u003e getMatchingRepoConfigsByLocation(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":580,"author":{"gitId":"-"},"content":" RepoLocation targetRepoLocation) {"},{"lineNumber":581,"author":{"gitId":"-"},"content":" return configs.stream().filter(config -\u003e config.getLocation().equals(targetRepoLocation))"},{"lineNumber":582,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":583,"author":{"gitId":"-"},"content":" }"},{"lineNumber":584,"author":{"gitId":"-"},"content":""},{"lineNumber":585,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":586,"author":{"gitId":"-"},"content":" * Sets {@code formats} to {@link RepoConfiguration} in {@code configs} if its format list is empty."},{"lineNumber":587,"author":{"gitId":"-"},"content":" */"},{"lineNumber":588,"author":{"gitId":"-"},"content":" public static void setFormatsToRepoConfigs(List\u003cRepoConfiguration\u003e configs, List\u003cFileType\u003e formats) {"},{"lineNumber":589,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {"},{"lineNumber":590,"author":{"gitId":"-"},"content":" if (!config.fileTypeManager.hasSpecifiedFormats()) {"},{"lineNumber":591,"author":{"gitId":"-"},"content":" config.fileTypeManager.setFormats(formats);"},{"lineNumber":592,"author":{"gitId":"-"},"content":" }"},{"lineNumber":593,"author":{"gitId":"-"},"content":" }"},{"lineNumber":594,"author":{"gitId":"-"},"content":" }"},{"lineNumber":595,"author":{"gitId":"-"},"content":""},{"lineNumber":596,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":597,"author":{"gitId":"-"},"content":" * Sets each {@link RepoConfiguration} in {@code configs} to ignore its standalone config, if"},{"lineNumber":598,"author":{"gitId":"-"},"content":" * {@code ignoreAllStandaloneConfigs} is true."},{"lineNumber":599,"author":{"gitId":"-"},"content":" */"},{"lineNumber":600,"author":{"gitId":"-"},"content":" public static void setStandaloneConfigIgnoredToRepoConfigs(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":601,"author":{"gitId":"-"},"content":" boolean ignoreAllStandaloneConfigs) {"},{"lineNumber":602,"author":{"gitId":"-"},"content":" if (ignoreAllStandaloneConfigs) {"},{"lineNumber":603,"author":{"gitId":"-"},"content":" configs.forEach(config -\u003e config.setStandaloneConfigIgnored(true));"},{"lineNumber":604,"author":{"gitId":"-"},"content":" }"},{"lineNumber":605,"author":{"gitId":"-"},"content":" }"},{"lineNumber":606,"author":{"gitId":"-"},"content":""},{"lineNumber":607,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":608,"author":{"gitId":"-"},"content":" * Sets each {@link RepoConfiguration} in {@code configs} to ignore its filesize limit, if"},{"lineNumber":609,"author":{"gitId":"-"},"content":" * {@code ignoreFilesizeLimit} is true."},{"lineNumber":610,"author":{"gitId":"-"},"content":" */"},{"lineNumber":611,"author":{"gitId":"-"},"content":" public static void setFileSizeLimitIgnoredToRepoConfigs(List\u003cRepoConfiguration\u003e configs,"},{"lineNumber":612,"author":{"gitId":"-"},"content":" boolean ignoreFileSizeLimit) {"},{"lineNumber":613,"author":{"gitId":"-"},"content":" if (ignoreFileSizeLimit) {"},{"lineNumber":614,"author":{"gitId":"-"},"content":" configs.forEach(config -\u003e config.setFileSizeLimitIgnored(true));"},{"lineNumber":615,"author":{"gitId":"-"},"content":" }"},{"lineNumber":616,"author":{"gitId":"-"},"content":" }"},{"lineNumber":617,"author":{"gitId":"-"},"content":""},{"lineNumber":618,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":619,"author":{"gitId":"-"},"content":" * Checks if any of the {@code configs} is finding previous authors for commit analysis."},{"lineNumber":620,"author":{"gitId":"-"},"content":" */"},{"lineNumber":621,"author":{"gitId":"-"},"content":" public static boolean isAnyRepoFindingPreviousAuthors(List\u003cRepoConfiguration\u003e configs) {"},{"lineNumber":622,"author":{"gitId":"-"},"content":" return configs.stream().anyMatch(RepoConfiguration::isFindingPreviousAuthorsPerformed);"},{"lineNumber":623,"author":{"gitId":"-"},"content":" }"},{"lineNumber":624,"author":{"gitId":"-"},"content":""},{"lineNumber":625,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":626,"author":{"gitId":"-"},"content":" * Clears existing information related to this repository and its authors, and replaces it with information from"},{"lineNumber":627,"author":{"gitId":"-"},"content":" * {@code standaloneConfig}."},{"lineNumber":628,"author":{"gitId":"-"},"content":" */"},{"lineNumber":629,"author":{"gitId":"-"},"content":" public void update(StandaloneConfig standaloneConfig) {"},{"lineNumber":630,"author":{"gitId":"-"},"content":" // only assign the new values when all the fields in {@code standaloneConfig} pass the validations."},{"lineNumber":631,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e replacementFileTypes \u003d FileType.convertFormatStringsToFileTypes(standaloneConfig.getFormats());"},{"lineNumber":632,"author":{"gitId":"-"},"content":" CommitHash.validateCommits(standaloneConfig.getIgnoreCommitList());"},{"lineNumber":633,"author":{"gitId":"-"},"content":""},{"lineNumber":634,"author":{"gitId":"-"},"content":" if (!isIgnoreGlobListOverriding) {"},{"lineNumber":635,"author":{"gitId":"-"},"content":" ignoreGlobList \u003d standaloneConfig.getIgnoreGlobList();"},{"lineNumber":636,"author":{"gitId":"-"},"content":" }"},{"lineNumber":637,"author":{"gitId":"-"},"content":" if (!isFormatsOverriding) {"},{"lineNumber":638,"author":{"gitId":"-"},"content":" fileTypeManager.setFormats(replacementFileTypes);"},{"lineNumber":639,"author":{"gitId":"-"},"content":" }"},{"lineNumber":640,"author":{"gitId":"-"},"content":" if (!isIgnoreCommitListOverriding) {"},{"lineNumber":641,"author":{"gitId":"-"},"content":" ignoreCommitList \u003d CommitHash.convertStringsToCommits(standaloneConfig.getIgnoreCommitList());"},{"lineNumber":642,"author":{"gitId":"-"},"content":" }"},{"lineNumber":643,"author":{"gitId":"-"},"content":" if (!isIgnoredAuthorsListOverriding) {"},{"lineNumber":644,"author":{"gitId":"-"},"content":" ignoredAuthorsList \u003d standaloneConfig.getIgnoreAuthorList();"},{"lineNumber":645,"author":{"gitId":"-"},"content":" }"},{"lineNumber":646,"author":{"gitId":"-"},"content":" if (!isFileSizeLimitOverriding) {"},{"lineNumber":647,"author":{"gitId":"-"},"content":" fileSizeLimit \u003d standaloneConfig.getFileSizeLimit();"},{"lineNumber":648,"author":{"gitId":"-"},"content":" }"},{"lineNumber":649,"author":{"gitId":"-"},"content":" authorConfig.update(standaloneConfig, ignoreGlobList);"},{"lineNumber":650,"author":{"gitId":"-"},"content":" }"},{"lineNumber":651,"author":{"gitId":"-"},"content":""},{"lineNumber":652,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":653,"author":{"gitId":"-"},"content":" * Returns the matching {@link Author} given a {@code name} and an {@code email}."},{"lineNumber":654,"author":{"gitId":"-"},"content":" * If no matching {@link Author} is found, {@link Author#UNKNOWN_AUTHOR} is returned."},{"lineNumber":655,"author":{"gitId":"-"},"content":" */"},{"lineNumber":656,"author":{"gitId":"-"},"content":" public Author getAuthor(String name, String email) {"},{"lineNumber":657,"author":{"gitId":"-"},"content":" return authorConfig.getAuthor(name, email);"},{"lineNumber":658,"author":{"gitId":"-"},"content":" }"},{"lineNumber":659,"author":{"gitId":"-"},"content":""},{"lineNumber":660,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":661,"author":{"gitId":"-"},"content":" * Updates branch with {@code currentBranch} if default branch is specified."},{"lineNumber":662,"author":{"gitId":"-"},"content":" */"},{"lineNumber":663,"author":{"gitId":"-"},"content":" public void updateBranch(String currentBranch) {"},{"lineNumber":664,"author":{"gitId":"-"},"content":" if (branch.equals(DEFAULT_BRANCH)) {"},{"lineNumber":665,"author":{"gitId":"-"},"content":" setBranch(currentBranch);"},{"lineNumber":666,"author":{"gitId":"-"},"content":" }"},{"lineNumber":667,"author":{"gitId":"-"},"content":" }"},{"lineNumber":668,"author":{"gitId":"-"},"content":""},{"lineNumber":669,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":670,"author":{"gitId":"-"},"content":" * Gets the current branch and updates branch with current branch if default branch is specified."},{"lineNumber":671,"author":{"gitId":"-"},"content":" *"},{"lineNumber":672,"author":{"gitId":"-"},"content":" * @throws GitBranchException if current branch cannot be retrieved."},{"lineNumber":673,"author":{"gitId":"-"},"content":" */"},{"lineNumber":674,"author":{"gitId":"-"},"content":" public void updateBranch() throws GitBranchException {"},{"lineNumber":675,"author":{"gitId":"-"},"content":" if (branch.equals(DEFAULT_BRANCH)) {"},{"lineNumber":676,"author":{"gitId":"-"},"content":" String currentBranch \u003d GitBranch.getCurrentBranch(getRepoRoot());"},{"lineNumber":677,"author":{"gitId":"-"},"content":" setBranch(currentBranch);"},{"lineNumber":678,"author":{"gitId":"-"},"content":" }"},{"lineNumber":679,"author":{"gitId":"-"},"content":" }"},{"lineNumber":680,"author":{"gitId":"-"},"content":""},{"lineNumber":681,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":682,"author":{"gitId":"-"},"content":" * Gets the path to the root folder of the repository."},{"lineNumber":683,"author":{"gitId":"-"},"content":" */"},{"lineNumber":684,"author":{"gitId":"-"},"content":" public String getRepoRoot() {"},{"lineNumber":685,"author":{"gitId":"-"},"content":" String path \u003d FileUtil.REPOS_ADDRESS + File.separator + getRepoFolderName() + File.separator;"},{"lineNumber":686,"author":{"gitId":"-"},"content":""},{"lineNumber":687,"author":{"gitId":"-"},"content":" if (!getRepoName().isEmpty()) {"},{"lineNumber":688,"author":{"gitId":"-"},"content":" if (!extraOutputFolderName.isEmpty()) {"},{"lineNumber":689,"author":{"gitId":"-"},"content":" path +\u003d extraOutputFolderName + File.separator;"},{"lineNumber":690,"author":{"gitId":"-"},"content":" }"},{"lineNumber":691,"author":{"gitId":"-"},"content":""},{"lineNumber":692,"author":{"gitId":"-"},"content":" path +\u003d getRepoName() + File.separator;"},{"lineNumber":693,"author":{"gitId":"-"},"content":" }"},{"lineNumber":694,"author":{"gitId":"-"},"content":""},{"lineNumber":695,"author":{"gitId":"-"},"content":" return path;"},{"lineNumber":696,"author":{"gitId":"-"},"content":" }"},{"lineNumber":697,"author":{"gitId":"-"},"content":""},{"lineNumber":698,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":699,"author":{"gitId":"-"},"content":" * Gets the name of the folder containing the cloned repository; the parent directory of the repo\u0027s root folder."},{"lineNumber":700,"author":{"gitId":"-"},"content":" */"},{"lineNumber":701,"author":{"gitId":"-"},"content":" public String getRepoFolderName() {"},{"lineNumber":702,"author":{"gitId":"-"},"content":" return repoFolderName;"},{"lineNumber":703,"author":{"gitId":"-"},"content":" }"},{"lineNumber":704,"author":{"gitId":"-"},"content":""},{"lineNumber":705,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":706,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":707,"author":{"gitId":"-"},"content":""},{"lineNumber":708,"author":{"gitId":"-"},"content":" if (other \u003d\u003d this) {"},{"lineNumber":709,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":710,"author":{"gitId":"-"},"content":" }"},{"lineNumber":711,"author":{"gitId":"-"},"content":""},{"lineNumber":712,"author":{"gitId":"-"},"content":" if (!(other instanceof RepoConfiguration)) {"},{"lineNumber":713,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":715,"author":{"gitId":"-"},"content":""},{"lineNumber":716,"author":{"gitId":"-"},"content":" RepoConfiguration otherRepoConfig \u003d (RepoConfiguration) other;"},{"lineNumber":717,"author":{"gitId":"-"},"content":""},{"lineNumber":718,"author":{"gitId":"-"},"content":" return location.equals(otherRepoConfig.location)"},{"lineNumber":719,"author":{"gitId":"-"},"content":" \u0026\u0026 branch.equals(otherRepoConfig.branch)"},{"lineNumber":720,"author":{"gitId":"-"},"content":" \u0026\u0026 authorConfig.equals(otherRepoConfig.authorConfig)"},{"lineNumber":721,"author":{"gitId":"-"},"content":" \u0026\u0026 ignoreGlobList.equals(otherRepoConfig.ignoreGlobList)"},{"lineNumber":722,"author":{"gitId":"-"},"content":" \u0026\u0026 ignoredAuthorsList.equals(otherRepoConfig.ignoredAuthorsList)"},{"lineNumber":723,"author":{"gitId":"-"},"content":" \u0026\u0026 fileSizeLimit \u003d\u003d otherRepoConfig.fileSizeLimit"},{"lineNumber":724,"author":{"gitId":"-"},"content":" \u0026\u0026 isStandaloneConfigIgnored \u003d\u003d otherRepoConfig.isStandaloneConfigIgnored"},{"lineNumber":725,"author":{"gitId":"-"},"content":" \u0026\u0026 fileTypeManager.equals(otherRepoConfig.fileTypeManager)"},{"lineNumber":726,"author":{"gitId":"-"},"content":" \u0026\u0026 isLastModifiedDateIncluded \u003d\u003d otherRepoConfig.isLastModifiedDateIncluded"},{"lineNumber":727,"author":{"gitId":"-"},"content":" \u0026\u0026 isFormatsOverriding \u003d\u003d otherRepoConfig.isFormatsOverriding"},{"lineNumber":728,"author":{"gitId":"-"},"content":" \u0026\u0026 isShallowCloningPerformed \u003d\u003d otherRepoConfig.isShallowCloningPerformed"},{"lineNumber":729,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoreGlobListOverriding \u003d\u003d otherRepoConfig.isIgnoreGlobListOverriding"},{"lineNumber":730,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoreCommitListOverriding \u003d\u003d otherRepoConfig.isIgnoreCommitListOverriding"},{"lineNumber":731,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoredAuthorsListOverriding \u003d\u003d otherRepoConfig.isIgnoredAuthorsListOverriding"},{"lineNumber":732,"author":{"gitId":"-"},"content":" \u0026\u0026 isFileSizeLimitOverriding \u003d\u003d otherRepoConfig.isFileSizeLimitOverriding"},{"lineNumber":733,"author":{"gitId":"-"},"content":" \u0026\u0026 isFileSizeLimitIgnored \u003d\u003d otherRepoConfig.isFileSizeLimitIgnored"},{"lineNumber":734,"author":{"gitId":"-"},"content":" \u0026\u0026 isIgnoredFileAnalysisSkipped \u003d\u003d otherRepoConfig.isIgnoredFileAnalysisSkipped;"},{"lineNumber":735,"author":{"gitId":"-"},"content":" }"},{"lineNumber":736,"author":{"gitId":"-"},"content":""},{"lineNumber":737,"author":{"gitId":"-"},"content":" public Map\u003cAuthor, String\u003e getAuthorDisplayNameMap() {"},{"lineNumber":738,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorDisplayNameMap();"},{"lineNumber":739,"author":{"gitId":"-"},"content":" }"},{"lineNumber":740,"author":{"gitId":"-"},"content":""},{"lineNumber":741,"author":{"gitId":"-"},"content":" public void setAuthorDisplayNameMap(Map\u003cAuthor, String\u003e authorDisplayNameMap) {"},{"lineNumber":742,"author":{"gitId":"-"},"content":" authorConfig.setAuthorDisplayNameMap(authorDisplayNameMap);"},{"lineNumber":743,"author":{"gitId":"-"},"content":" }"},{"lineNumber":744,"author":{"gitId":"-"},"content":""},{"lineNumber":745,"author":{"gitId":"-"},"content":" public String getBranch() {"},{"lineNumber":746,"author":{"gitId":"-"},"content":" return branch;"},{"lineNumber":747,"author":{"gitId":"-"},"content":" }"},{"lineNumber":748,"author":{"gitId":"-"},"content":""},{"lineNumber":749,"author":{"gitId":"-"},"content":" public void setBranch(String branch) {"},{"lineNumber":750,"author":{"gitId":"-"},"content":" updateDisplayName(branch);"},{"lineNumber":751,"author":{"gitId":"-"},"content":" updateOutputFolderName(branch);"},{"lineNumber":752,"author":{"gitId":"-"},"content":" this.branch \u003d branch;"},{"lineNumber":753,"author":{"gitId":"-"},"content":" authorConfig.setBranch(branch);"},{"lineNumber":754,"author":{"gitId":"-"},"content":" }"},{"lineNumber":755,"author":{"gitId":"-"},"content":""},{"lineNumber":756,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":757,"author":{"gitId":"-"},"content":" * Updates the branch in the {@code displayName} to the current {@code branch}."},{"lineNumber":758,"author":{"gitId":"-"},"content":" */"},{"lineNumber":759,"author":{"gitId":"-"},"content":" public void updateDisplayName(String branch) {"},{"lineNumber":760,"author":{"gitId":"-"},"content":" this.displayName \u003d displayName.substring(0, displayName.lastIndexOf(\u0027[\u0027) + 1) + branch + \"]\";"},{"lineNumber":761,"author":{"gitId":"-"},"content":" }"},{"lineNumber":762,"author":{"gitId":"-"},"content":""},{"lineNumber":763,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":764,"author":{"gitId":"-"},"content":" * Updates the branch in the {@code outputFolderName} to the current {@code branch}."},{"lineNumber":765,"author":{"gitId":"-"},"content":" */"},{"lineNumber":766,"author":{"gitId":"-"},"content":" public void updateOutputFolderName(String branch) {"},{"lineNumber":767,"author":{"gitId":"-"},"content":" this.outputFolderName \u003d outputFolderName.substring(0, outputFolderName.lastIndexOf(\u0027_\u0027) + 1) + branch;"},{"lineNumber":768,"author":{"gitId":"-"},"content":" }"},{"lineNumber":769,"author":{"gitId":"-"},"content":""},{"lineNumber":770,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getIgnoreGlobList() {"},{"lineNumber":771,"author":{"gitId":"-"},"content":" return ignoreGlobList;"},{"lineNumber":772,"author":{"gitId":"-"},"content":" }"},{"lineNumber":773,"author":{"gitId":"-"},"content":""},{"lineNumber":774,"author":{"gitId":"-"},"content":" public void setIgnoreGlobList(List\u003cString\u003e ignoreGlobList) {"},{"lineNumber":775,"author":{"gitId":"-"},"content":" this.ignoreGlobList \u003d ignoreGlobList;"},{"lineNumber":776,"author":{"gitId":"-"},"content":" }"},{"lineNumber":777,"author":{"gitId":"-"},"content":""},{"lineNumber":778,"author":{"gitId":"-"},"content":" public List\u003cCommitHash\u003e getIgnoreCommitList() {"},{"lineNumber":779,"author":{"gitId":"-"},"content":" return ignoreCommitList;"},{"lineNumber":780,"author":{"gitId":"-"},"content":" }"},{"lineNumber":781,"author":{"gitId":"-"},"content":""},{"lineNumber":782,"author":{"gitId":"-"},"content":" public long getFileSizeLimit() {"},{"lineNumber":783,"author":{"gitId":"-"},"content":" return fileSizeLimit;"},{"lineNumber":784,"author":{"gitId":"-"},"content":" }"},{"lineNumber":785,"author":{"gitId":"-"},"content":""},{"lineNumber":786,"author":{"gitId":"-"},"content":" public void setIgnoreCommitList(List\u003cCommitHash\u003e ignoreCommitList) {"},{"lineNumber":787,"author":{"gitId":"-"},"content":" this.ignoreCommitList \u003d ignoreCommitList;"},{"lineNumber":788,"author":{"gitId":"-"},"content":" }"},{"lineNumber":789,"author":{"gitId":"-"},"content":""},{"lineNumber":790,"author":{"gitId":"-"},"content":" public List\u003cString\u003e getIgnoredAuthorsList() {"},{"lineNumber":791,"author":{"gitId":"-"},"content":" return this.ignoredAuthorsList;"},{"lineNumber":792,"author":{"gitId":"-"},"content":" }"},{"lineNumber":793,"author":{"gitId":"-"},"content":""},{"lineNumber":794,"author":{"gitId":"-"},"content":" public void setIgnoredAuthorsList(List\u003cString\u003e ignoredAuthorsList) {"},{"lineNumber":795,"author":{"gitId":"-"},"content":" this.ignoredAuthorsList \u003d ignoredAuthorsList;"},{"lineNumber":796,"author":{"gitId":"-"},"content":" }"},{"lineNumber":797,"author":{"gitId":"-"},"content":""},{"lineNumber":798,"author":{"gitId":"-"},"content":" public boolean isIgnoredAuthorsListOverriding() {"},{"lineNumber":799,"author":{"gitId":"-"},"content":" return this.isIgnoredAuthorsListOverriding;"},{"lineNumber":800,"author":{"gitId":"-"},"content":" }"},{"lineNumber":801,"author":{"gitId":"-"},"content":""},{"lineNumber":802,"author":{"gitId":"-"},"content":" public void setIsLastModifiedDateIncluded(boolean lastModifiedDateIncluded) {"},{"lineNumber":803,"author":{"gitId":"-"},"content":" this.isLastModifiedDateIncluded \u003d lastModifiedDateIncluded;"},{"lineNumber":804,"author":{"gitId":"-"},"content":" }"},{"lineNumber":805,"author":{"gitId":"-"},"content":""},{"lineNumber":806,"author":{"gitId":"-"},"content":" public void setIsShallowCloningPerformed(boolean isShallowCloningPerformed) {"},{"lineNumber":807,"author":{"gitId":"-"},"content":" this.isShallowCloningPerformed \u003d isShallowCloningPerformed;"},{"lineNumber":808,"author":{"gitId":"-"},"content":" }"},{"lineNumber":809,"author":{"gitId":"-"},"content":""},{"lineNumber":810,"author":{"gitId":"-"},"content":" public void setIsFindingPreviousAuthorsPerformed(boolean isFindingPreviousAuthorsPerformed) {"},{"lineNumber":811,"author":{"gitId":"-"},"content":" this.isFindingPreviousAuthorsPerformed \u003d isFindingPreviousAuthorsPerformed;"},{"lineNumber":812,"author":{"gitId":"-"},"content":" }"},{"lineNumber":813,"author":{"gitId":"-"},"content":""},{"lineNumber":814,"author":{"gitId":"-"},"content":" public boolean isLastModifiedDateIncluded() {"},{"lineNumber":815,"author":{"gitId":"-"},"content":" return this.isLastModifiedDateIncluded;"},{"lineNumber":816,"author":{"gitId":"-"},"content":" }"},{"lineNumber":817,"author":{"gitId":"-"},"content":""},{"lineNumber":818,"author":{"gitId":"-"},"content":" public boolean isShallowCloningPerformed() {"},{"lineNumber":819,"author":{"gitId":"-"},"content":" return this.isShallowCloningPerformed;"},{"lineNumber":820,"author":{"gitId":"-"},"content":" }"},{"lineNumber":821,"author":{"gitId":"-"},"content":""},{"lineNumber":822,"author":{"gitId":"-"},"content":" public void setIsIgnoredAuthorsListOverriding(boolean isIgnoredAuthorsListOverriding) {"},{"lineNumber":823,"author":{"gitId":"-"},"content":" this.isIgnoredAuthorsListOverriding \u003d isIgnoredAuthorsListOverriding;"},{"lineNumber":824,"author":{"gitId":"-"},"content":" }"},{"lineNumber":825,"author":{"gitId":"-"},"content":""},{"lineNumber":826,"author":{"gitId":"-"},"content":" public void removeIgnoredAuthors() {"},{"lineNumber":827,"author":{"gitId":"-"},"content":" authorConfig.removeIgnoredAuthors(ignoredAuthorsList);"},{"lineNumber":828,"author":{"gitId":"-"},"content":" }"},{"lineNumber":829,"author":{"gitId":"-"},"content":""},{"lineNumber":830,"author":{"gitId":"-"},"content":" public List\u003cAuthor\u003e getAuthorList() {"},{"lineNumber":831,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorList();"},{"lineNumber":832,"author":{"gitId":"-"},"content":" }"},{"lineNumber":833,"author":{"gitId":"-"},"content":""},{"lineNumber":834,"author":{"gitId":"-"},"content":" public void addAuthor(Author author) {"},{"lineNumber":835,"author":{"gitId":"-"},"content":" authorConfig.addAuthor(author, this.getIgnoreGlobList());"},{"lineNumber":836,"author":{"gitId":"-"},"content":" }"},{"lineNumber":837,"author":{"gitId":"-"},"content":""},{"lineNumber":838,"author":{"gitId":"-"},"content":" public void addAuthors(List\u003cAuthor\u003e authorList) {"},{"lineNumber":839,"author":{"gitId":"-"},"content":" authorConfig.addAuthors(authorList, this.getIgnoreGlobList());"},{"lineNumber":840,"author":{"gitId":"-"},"content":" }"},{"lineNumber":841,"author":{"gitId":"-"},"content":""},{"lineNumber":842,"author":{"gitId":"-"},"content":" public void setAuthorConfiguration(AuthorConfiguration authorConfig) {"},{"lineNumber":843,"author":{"gitId":"-"},"content":" this.authorConfig \u003d authorConfig;"},{"lineNumber":844,"author":{"gitId":"-"},"content":" for (Author author : authorConfig.getAuthorList()) {"},{"lineNumber":845,"author":{"gitId":"-"},"content":" AuthorConfiguration.propagateIgnoreGlobList(author, ignoreGlobList);"},{"lineNumber":846,"author":{"gitId":"-"},"content":" }"},{"lineNumber":847,"author":{"gitId":"-"},"content":" }"},{"lineNumber":848,"author":{"gitId":"-"},"content":""},{"lineNumber":849,"author":{"gitId":"-"},"content":" public boolean containsAuthor(Author author) {"},{"lineNumber":850,"author":{"gitId":"-"},"content":" return authorConfig.containsAuthor(author);"},{"lineNumber":851,"author":{"gitId":"-"},"content":" }"},{"lineNumber":852,"author":{"gitId":"-"},"content":""},{"lineNumber":853,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":854,"author":{"gitId":"-"},"content":" * Clears authors information and sets the {@code authorList} to {@link RepoConfiguration}."},{"lineNumber":855,"author":{"gitId":"-"},"content":" */"},{"lineNumber":856,"author":{"gitId":"-"},"content":" public void setAuthorList(List\u003cAuthor\u003e authorList) {"},{"lineNumber":857,"author":{"gitId":"-"},"content":" authorConfig.clear();"},{"lineNumber":858,"author":{"gitId":"-"},"content":" authorConfig.setAuthorList(authorList);"},{"lineNumber":859,"author":{"gitId":"-"},"content":" authorConfig.buildFromAuthorList();"},{"lineNumber":860,"author":{"gitId":"-"},"content":" authorList.forEach(author -\u003e AuthorConfiguration.propagateIgnoreGlobList(author, this.getIgnoreGlobList()));"},{"lineNumber":861,"author":{"gitId":"-"},"content":" }"},{"lineNumber":862,"author":{"gitId":"-"},"content":""},{"lineNumber":863,"author":{"gitId":"-"},"content":" public void setHasAuthorConfigFile(boolean hasAuthorConfigFile) {"},{"lineNumber":864,"author":{"gitId":"-"},"content":" authorConfig.setHasAuthorConfigFile(hasAuthorConfigFile);"},{"lineNumber":865,"author":{"gitId":"-"},"content":" }"},{"lineNumber":866,"author":{"gitId":"-"},"content":""},{"lineNumber":867,"author":{"gitId":"-"},"content":" public Map\u003cString, Author\u003e getAuthorNamesToAuthorMap() {"},{"lineNumber":868,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorNamesToAuthorMap();"},{"lineNumber":869,"author":{"gitId":"-"},"content":" }"},{"lineNumber":870,"author":{"gitId":"-"},"content":""},{"lineNumber":871,"author":{"gitId":"-"},"content":" public void setAuthorNamesToAuthorMap(Map\u003cString, Author\u003e authorNamesToAuthorMap) {"},{"lineNumber":872,"author":{"gitId":"-"},"content":" authorConfig.setAuthorNamesToAuthorMap(authorNamesToAuthorMap);"},{"lineNumber":873,"author":{"gitId":"-"},"content":" }"},{"lineNumber":874,"author":{"gitId":"-"},"content":""},{"lineNumber":875,"author":{"gitId":"-"},"content":" public Map\u003cString, Author\u003e getAuthorEmailsToAuthorMap() {"},{"lineNumber":876,"author":{"gitId":"-"},"content":" return authorConfig.getAuthorEmailsToAuthorMap();"},{"lineNumber":877,"author":{"gitId":"-"},"content":" }"},{"lineNumber":878,"author":{"gitId":"-"},"content":""},{"lineNumber":879,"author":{"gitId":"-"},"content":" public void setAuthorEmailsToAuthorMap(Map\u003cString, Author\u003e authorEmailsToAuthorMap) {"},{"lineNumber":880,"author":{"gitId":"-"},"content":" authorConfig.setAuthorEmailsToAuthorMap(authorEmailsToAuthorMap);"},{"lineNumber":881,"author":{"gitId":"-"},"content":" }"},{"lineNumber":882,"author":{"gitId":"-"},"content":""},{"lineNumber":883,"author":{"gitId":"-"},"content":" public void clearAuthorDetailsToAuthorMap() {"},{"lineNumber":884,"author":{"gitId":"-"},"content":" authorConfig.clearAuthorDetailsToAuthorMap();"},{"lineNumber":885,"author":{"gitId":"-"},"content":" }"},{"lineNumber":886,"author":{"gitId":"-"},"content":""},{"lineNumber":887,"author":{"gitId":"-"},"content":" public void setFormats(List\u003cFileType\u003e formats) {"},{"lineNumber":888,"author":{"gitId":"-"},"content":" fileTypeManager.setFormats(formats);"},{"lineNumber":889,"author":{"gitId":"-"},"content":" }"},{"lineNumber":890,"author":{"gitId":"-"},"content":""},{"lineNumber":891,"author":{"gitId":"-"},"content":" private void setGroups(List\u003cFileType\u003e groups) {"},{"lineNumber":892,"author":{"gitId":"-"},"content":" fileTypeManager.setGroups(groups);"},{"lineNumber":893,"author":{"gitId":"-"},"content":" }"},{"lineNumber":894,"author":{"gitId":"-"},"content":""},{"lineNumber":895,"author":{"gitId":"-"},"content":" public void addGroups(List\u003cFileType\u003e groups) {"},{"lineNumber":896,"author":{"gitId":"-"},"content":" fileTypeManager.addGroups(groups);"},{"lineNumber":897,"author":{"gitId":"-"},"content":" }"},{"lineNumber":898,"author":{"gitId":"-"},"content":""},{"lineNumber":899,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":900,"author":{"gitId":"-"},"content":" * Returns all format or group types (depending on whether the user has specified a custom grouping)."},{"lineNumber":901,"author":{"gitId":"-"},"content":" */"},{"lineNumber":902,"author":{"gitId":"-"},"content":" public List\u003cFileType\u003e getAllFileTypes() {"},{"lineNumber":903,"author":{"gitId":"-"},"content":" return fileTypeManager.getAllFileTypes();"},{"lineNumber":904,"author":{"gitId":"-"},"content":" }"},{"lineNumber":905,"author":{"gitId":"-"},"content":""},{"lineNumber":906,"author":{"gitId":"-"},"content":" public FileType getFileType(String fileName) {"},{"lineNumber":907,"author":{"gitId":"-"},"content":" return fileTypeManager.getFileType(fileName);"},{"lineNumber":908,"author":{"gitId":"-"},"content":" }"},{"lineNumber":909,"author":{"gitId":"-"},"content":""},{"lineNumber":910,"author":{"gitId":"-"},"content":" public FileTypeManager getFileTypeManager() {"},{"lineNumber":911,"author":{"gitId":"-"},"content":" return fileTypeManager;"},{"lineNumber":912,"author":{"gitId":"-"},"content":" }"},{"lineNumber":913,"author":{"gitId":"-"},"content":""},{"lineNumber":914,"author":{"gitId":"-"},"content":" public LocalDateTime getSinceDate() {"},{"lineNumber":915,"author":{"gitId":"-"},"content":" return sinceDate;"},{"lineNumber":916,"author":{"gitId":"-"},"content":" }"},{"lineNumber":917,"author":{"gitId":"-"},"content":""},{"lineNumber":918,"author":{"gitId":"-"},"content":" public void setSinceDate(LocalDateTime sinceDate) {"},{"lineNumber":919,"author":{"gitId":"-"},"content":" this.sinceDate \u003d sinceDate;"},{"lineNumber":920,"author":{"gitId":"-"},"content":" }"},{"lineNumber":921,"author":{"gitId":"-"},"content":""},{"lineNumber":922,"author":{"gitId":"-"},"content":" public LocalDateTime getUntilDate() {"},{"lineNumber":923,"author":{"gitId":"-"},"content":" return untilDate;"},{"lineNumber":924,"author":{"gitId":"-"},"content":" }"},{"lineNumber":925,"author":{"gitId":"-"},"content":""},{"lineNumber":926,"author":{"gitId":"-"},"content":" public void setUntilDate(LocalDateTime untilDate) {"},{"lineNumber":927,"author":{"gitId":"-"},"content":" this.untilDate \u003d untilDate;"},{"lineNumber":928,"author":{"gitId":"-"},"content":" }"},{"lineNumber":929,"author":{"gitId":"-"},"content":""},{"lineNumber":930,"author":{"gitId":"-"},"content":" public ZoneId getZoneId() {"},{"lineNumber":931,"author":{"gitId":"-"},"content":" return zoneId;"},{"lineNumber":932,"author":{"gitId":"-"},"content":" }"},{"lineNumber":933,"author":{"gitId":"-"},"content":""},{"lineNumber":934,"author":{"gitId":"-"},"content":" public void setZoneId(ZoneId zoneId) {"},{"lineNumber":935,"author":{"gitId":"-"},"content":" this.zoneId \u003d zoneId;"},{"lineNumber":936,"author":{"gitId":"-"},"content":" }"},{"lineNumber":937,"author":{"gitId":"-"},"content":""},{"lineNumber":938,"author":{"gitId":"-"},"content":" public void setAuthorDisplayName(Author author, String displayName) {"},{"lineNumber":939,"author":{"gitId":"-"},"content":" authorConfig.setAuthorDisplayName(author, displayName);"},{"lineNumber":940,"author":{"gitId":"-"},"content":" }"},{"lineNumber":941,"author":{"gitId":"-"},"content":""},{"lineNumber":942,"author":{"gitId":"-"},"content":" public void addAuthorNamesToAuthorMapEntry(Author author, String name) {"},{"lineNumber":943,"author":{"gitId":"-"},"content":" authorConfig.addAuthorNamesToAuthorMapEntry(author, name);"},{"lineNumber":944,"author":{"gitId":"-"},"content":" }"},{"lineNumber":945,"author":{"gitId":"-"},"content":""},{"lineNumber":946,"author":{"gitId":"-"},"content":" public void addAuthorNamesToAuthorMapEntry(Author author, List\u003cString\u003e names) {"},{"lineNumber":947,"author":{"gitId":"-"},"content":" authorConfig.addAuthorNamesToAuthorMapEntry(author, names);"},{"lineNumber":948,"author":{"gitId":"-"},"content":" }"},{"lineNumber":949,"author":{"gitId":"-"},"content":""},{"lineNumber":950,"author":{"gitId":"-"},"content":" public void addAuthorEmailsToAuthorMapEntry(Author author, List\u003cString\u003e emails) {"},{"lineNumber":951,"author":{"gitId":"-"},"content":" authorConfig.addAuthorEmailsToAuthorMapEntry(author, emails);"},{"lineNumber":952,"author":{"gitId":"-"},"content":" }"},{"lineNumber":953,"author":{"gitId":"-"},"content":""},{"lineNumber":954,"author":{"gitId":"-"},"content":" public String getDisplayName() {"},{"lineNumber":955,"author":{"gitId":"-"},"content":" return displayName;"},{"lineNumber":956,"author":{"gitId":"-"},"content":" }"},{"lineNumber":957,"author":{"gitId":"-"},"content":""},{"lineNumber":958,"author":{"gitId":"-"},"content":" public String getRepoName() {"},{"lineNumber":959,"author":{"gitId":"-"},"content":" return location.getRepoName();"},{"lineNumber":960,"author":{"gitId":"-"},"content":" }"},{"lineNumber":961,"author":{"gitId":"-"},"content":""},{"lineNumber":962,"author":{"gitId":"-"},"content":" public String getOutputFolderName() {"},{"lineNumber":963,"author":{"gitId":"-"},"content":" return outputFolderName;"},{"lineNumber":964,"author":{"gitId":"-"},"content":" }"},{"lineNumber":965,"author":{"gitId":"-"},"content":""},{"lineNumber":966,"author":{"gitId":"-"},"content":" public void setStandaloneConfigIgnored(boolean isStandaloneConfigIgnored) {"},{"lineNumber":967,"author":{"gitId":"-"},"content":" this.isStandaloneConfigIgnored \u003d isStandaloneConfigIgnored;"},{"lineNumber":968,"author":{"gitId":"-"},"content":" }"},{"lineNumber":969,"author":{"gitId":"-"},"content":""},{"lineNumber":970,"author":{"gitId":"-"},"content":" public void setFileSizeLimitIgnored(boolean isFileSizeLimitIgnored) {"},{"lineNumber":971,"author":{"gitId":"-"},"content":" this.isFileSizeLimitIgnored \u003d isFileSizeLimitIgnored;"},{"lineNumber":972,"author":{"gitId":"-"},"content":" }"},{"lineNumber":973,"author":{"gitId":"-"},"content":""},{"lineNumber":974,"author":{"gitId":"-"},"content":" public RepoLocation getLocation() {"},{"lineNumber":975,"author":{"gitId":"-"},"content":" return location;"},{"lineNumber":976,"author":{"gitId":"-"},"content":" }"},{"lineNumber":977,"author":{"gitId":"-"},"content":""},{"lineNumber":978,"author":{"gitId":"-"},"content":" public String getOrganization() {"},{"lineNumber":979,"author":{"gitId":"-"},"content":" return location.getOrganization();"},{"lineNumber":980,"author":{"gitId":"-"},"content":" }"},{"lineNumber":981,"author":{"gitId":"-"},"content":""},{"lineNumber":982,"author":{"gitId":"-"},"content":" public boolean isStandaloneConfigIgnored() {"},{"lineNumber":983,"author":{"gitId":"-"},"content":" return isStandaloneConfigIgnored;"},{"lineNumber":984,"author":{"gitId":"-"},"content":" }"},{"lineNumber":985,"author":{"gitId":"-"},"content":""},{"lineNumber":986,"author":{"gitId":"-"},"content":" public boolean isFileSizeLimitIgnored() {"},{"lineNumber":987,"author":{"gitId":"-"},"content":" return isFileSizeLimitIgnored;"},{"lineNumber":988,"author":{"gitId":"-"},"content":" }"},{"lineNumber":989,"author":{"gitId":"-"},"content":""},{"lineNumber":990,"author":{"gitId":"-"},"content":" public boolean isIgnoredFileAnalysisSkipped() {"},{"lineNumber":991,"author":{"gitId":"-"},"content":" return isIgnoredFileAnalysisSkipped;"},{"lineNumber":992,"author":{"gitId":"-"},"content":" }"},{"lineNumber":993,"author":{"gitId":"-"},"content":""},{"lineNumber":994,"author":{"gitId":"-"},"content":" public boolean isFormatsOverriding() {"},{"lineNumber":995,"author":{"gitId":"-"},"content":" return isFormatsOverriding;"},{"lineNumber":996,"author":{"gitId":"-"},"content":" }"},{"lineNumber":997,"author":{"gitId":"-"},"content":""},{"lineNumber":998,"author":{"gitId":"-"},"content":" public boolean isIgnoreGlobListOverriding() {"},{"lineNumber":999,"author":{"gitId":"-"},"content":" return isIgnoreGlobListOverriding;"},{"lineNumber":1000,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1001,"author":{"gitId":"-"},"content":""},{"lineNumber":1002,"author":{"gitId":"-"},"content":" public boolean isIgnoreCommitListOverriding() {"},{"lineNumber":1003,"author":{"gitId":"-"},"content":" return isIgnoreCommitListOverriding;"},{"lineNumber":1004,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1005,"author":{"gitId":"-"},"content":""},{"lineNumber":1006,"author":{"gitId":"-"},"content":" public boolean isFileSizeLimitOverriding() {"},{"lineNumber":1007,"author":{"gitId":"-"},"content":" return isFileSizeLimitOverriding;"},{"lineNumber":1008,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1009,"author":{"gitId":"-"},"content":""},{"lineNumber":1010,"author":{"gitId":"-"},"content":" public boolean isFindingPreviousAuthorsPerformed() {"},{"lineNumber":1011,"author":{"gitId":"-"},"content":" return isFindingPreviousAuthorsPerformed;"},{"lineNumber":1012,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1013,"author":{"gitId":"-"},"content":""},{"lineNumber":1014,"author":{"gitId":"-"},"content":" public AuthorConfiguration getAuthorConfig() {"},{"lineNumber":1015,"author":{"gitId":"-"},"content":" return authorConfig;"},{"lineNumber":1016,"author":{"gitId":"-"},"content":" }"},{"lineNumber":1017,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":400,"-":617}},{"path":"src/main/java/reposense/model/RepoLocation.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.FileUtil.isValidPath;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.net.URI;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.net.URISyntaxException;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.FileSystems;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.regex.Matcher;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.git.GitRemote;"},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.report.ErrorSummary;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.util.SystemUtil;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Represents a repository location."},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class RepoLocation {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" protected static final String UNSUPPORTED_DOMAIN_NAME \u003d \"NOT_RECOGNIZED\";"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_LOCATION \u003d \"%s is an invalid location.\";"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_REMOTE_URL \u003d \"%s is an invalid remote URL.\";"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String REPO_NAME_REGEX \u003d \"(?\u003crepoName\u003e[^/]+?)(/?\\\\.git)?/?\";"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String PATH_TO_REPO_REGEX \u003d \"(?\u003cpath\u003e.*?)/?\" + REPO_NAME_REGEX;"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final Pattern GIT_REPOSITORY_LOCATION_PATTERN \u003d"},{"lineNumber":32,"author":{"gitId":"-"},"content":" Pattern.compile(\"^(ssh|git|https?|ftps?)://(?\u003cdomain\u003e[^/]*?)/\" + PATH_TO_REPO_REGEX + \"$\");"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Pattern SCP_LIKE_SSH_REPOSITORY_LOCATION_PATTERN \u003d"},{"lineNumber":34,"author":{"gitId":"-"},"content":" Pattern.compile(\"^(.*@)?(?\u003cdomain\u003e.*?):(?\u003cpath\u003e[^/].*?)??/??\" + REPO_NAME_REGEX + \"$\");"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final Pattern LOCAL_REPOSITORY_NON_WINDOWS_LOCATION_PATTERN \u003d"},{"lineNumber":36,"author":{"gitId":"-"},"content":" Pattern.compile(\"^(file://)?\" + PATH_TO_REPO_REGEX + \"$\");"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final Pattern LOCAL_REPOSITORY_WINDOWS_LOCATION_PATTERN \u003d"},{"lineNumber":38,"author":{"gitId":"-"},"content":" Pattern.compile(\"^\" + PATH_TO_REPO_REGEX.replaceAll(\"/\", \"\\\\\\\\\\\\\\\\\") + \"$\");"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final Pattern DOMAIN_NAME_PATTERN \u003d Pattern.compile(\"^(ww.\\\\.)?+(.*@)?(?\u003cdomainName\u003e[^.]+)\\\\..+$\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final String GROUP_REPO_NAME \u003d \"repoName\";"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String GROUP_PATH \u003d \"path\";"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String GROUP_DOMAIN_NAME \u003d \"domainName\";"},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final String GROUP_DOMAIN \u003d \"domain\";"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final String PATH_SEPARATOR_REPLACEMENT \u003d \"-\";"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" // Used for remote link generation (serialized)"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private final String location;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private final String repoName;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private final String organization;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private final String domainName;"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" // Used for generation of local repository report output directory"},{"lineNumber":55,"author":{"gitId":"-"},"content":" private final transient String outputFolderRepoName;"},{"lineNumber":56,"author":{"gitId":"-"},"content":" private final transient String outputFolderOrganization;"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Creates {@link RepoLocation} based on the {@code location}, which is represented by a {@code URL}"},{"lineNumber":60,"author":{"gitId":"-"},"content":" * or {@link Path}."},{"lineNumber":61,"author":{"gitId":"-"},"content":" *"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} cannot be represented by a {@code URL} or {@link Path}."},{"lineNumber":63,"author":{"gitId":"-"},"content":" */"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public RepoLocation(String location) throws InvalidLocationException {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (SystemUtil.isWindows()) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" location \u003d StringsUtil.removeTrailingBackslash(location);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":""},{"lineNumber":69,"author":{"gitId":"-"},"content":" this.location \u003d location;"},{"lineNumber":70,"author":{"gitId":"-"},"content":" String[] remoteRepoNameAndOrg;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" String[] outputFolderRepoNameAndOrg;"},{"lineNumber":72,"author":{"gitId":"-"},"content":" if (location.isEmpty()) {"},{"lineNumber":73,"author":{"gitId":"-"},"content":" remoteRepoNameAndOrg \u003d new String[] {\"\", \"\", UNSUPPORTED_DOMAIN_NAME};"},{"lineNumber":74,"author":{"gitId":"-"},"content":" outputFolderRepoNameAndOrg \u003d remoteRepoNameAndOrg;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" } else if (isLocalRepo(location)) {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" outputFolderRepoNameAndOrg \u003d getLocalRepoNameAndOrg(location);"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" Map\u003cString, String\u003e remotes \u003d GitRemote.getRemotes(location);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" String newLocation \u003d GitRemote.getAvailableRemoteLocation(remotes).orElse(location);"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" remoteRepoNameAndOrg \u003d remotes.size() \u003d\u003d 0"},{"lineNumber":82,"author":{"gitId":"-"},"content":" ? outputFolderRepoNameAndOrg"},{"lineNumber":83,"author":{"gitId":"-"},"content":" : getRemoteRepoNameAndOrg(newLocation);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" remoteRepoNameAndOrg \u003d getRemoteRepoNameAndOrg(location);"},{"lineNumber":86,"author":{"gitId":"-"},"content":" outputFolderRepoNameAndOrg \u003d remoteRepoNameAndOrg;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" this.repoName \u003d remoteRepoNameAndOrg[0];"},{"lineNumber":90,"author":{"gitId":"-"},"content":" this.organization \u003d remoteRepoNameAndOrg[1];"},{"lineNumber":91,"author":{"gitId":"-"},"content":" this.domainName \u003d remoteRepoNameAndOrg[2];"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" this.outputFolderRepoName \u003d outputFolderRepoNameAndOrg[0];"},{"lineNumber":94,"author":{"gitId":"-"},"content":" this.outputFolderOrganization \u003d outputFolderRepoNameAndOrg[1];"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" public boolean isEmpty() {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" return location.isEmpty();"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" public String getRepoName() {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" return outputFolderRepoName;"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" public String getOrganization() {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" return outputFolderOrganization;"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":""},{"lineNumber":109,"author":{"gitId":"-"},"content":" public String getDomainName() {"},{"lineNumber":110,"author":{"gitId":"-"},"content":" return domainName;"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":114,"author":{"gitId":"-"},"content":" * Returns true if {@code repoArgument} is a valid local repository argument."},{"lineNumber":115,"author":{"gitId":"-"},"content":" * This implementation follows directly from the {@code git clone}"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * \u003ca href\u003d\"https://git-scm.com/docs/git-clone#_git_urls\"\u003especification\u003c/a\u003e."},{"lineNumber":117,"author":{"gitId":"-"},"content":" */"},{"lineNumber":118,"author":{"gitId":"-"},"content":" public static boolean isLocalRepo(String repoArgument) {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" if (!repoArgument.contains(\":\")) {"},{"lineNumber":120,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" boolean hasSlashBeforeFirstColon \u003d repoArgument.split(\":\", 2)[0].contains(\"/\");"},{"lineNumber":124,"author":{"gitId":"-"},"content":" if (hasSlashBeforeFirstColon) {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":126,"author":{"gitId":"-"},"content":" }"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" // checks if it is a URL file protocol"},{"lineNumber":129,"author":{"gitId":"-"},"content":" String urlProtocol \u003d repoArgument.split(\"://\", 2)[0];"},{"lineNumber":130,"author":{"gitId":"-"},"content":" if (urlProtocol.equals(\"file\")) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" // catch disk drive arguments such as C:\\"},{"lineNumber":135,"author":{"gitId":"-"},"content":" if (SystemUtil.isWindows() \u0026\u0026 isValidPath(repoArgument)) {"},{"lineNumber":136,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":143,"author":{"gitId":"-"},"content":" * Returns a best-guess repo name and organization from the given local repo {@code location}."},{"lineNumber":144,"author":{"gitId":"-"},"content":" * The return is a length-3 string array with the repo name at index 0, organization at index 1"},{"lineNumber":145,"author":{"gitId":"-"},"content":" * and domain name (unsupported domain) at index 2."},{"lineNumber":146,"author":{"gitId":"-"},"content":" *"},{"lineNumber":147,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the location specified is not a proper local repository."},{"lineNumber":148,"author":{"gitId":"-"},"content":" */"},{"lineNumber":149,"author":{"gitId":"-"},"content":" private String[] getLocalRepoNameAndOrg(String location) throws InvalidLocationException {"},{"lineNumber":150,"author":{"gitId":"-"},"content":" boolean isWindows \u003d SystemUtil.isWindows();"},{"lineNumber":151,"author":{"gitId":"-"},"content":" if (isWindows) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" location \u003d location.replaceAll(\"file://\", \"\");"},{"lineNumber":153,"author":{"gitId":"-"},"content":" location \u003d location.replaceAll(\"/\", \"\\\\\\\\\");"},{"lineNumber":154,"author":{"gitId":"-"},"content":" location \u003d location.replaceAll(\"[|:]\", \"-\");"},{"lineNumber":155,"author":{"gitId":"-"},"content":" }"},{"lineNumber":156,"author":{"gitId":"-"},"content":" Pattern localRepoPattern \u003d isWindows"},{"lineNumber":157,"author":{"gitId":"-"},"content":" ? LOCAL_REPOSITORY_WINDOWS_LOCATION_PATTERN"},{"lineNumber":158,"author":{"gitId":"-"},"content":" : LOCAL_REPOSITORY_NON_WINDOWS_LOCATION_PATTERN;"},{"lineNumber":159,"author":{"gitId":"-"},"content":" Matcher localRepoMatcher \u003d localRepoPattern.matcher(location);"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" if (!localRepoMatcher.matches()) {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(location,"},{"lineNumber":163,"author":{"gitId":"-"},"content":" String.format(MESSAGE_INVALID_LOCATION, location));"},{"lineNumber":164,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(String.format(MESSAGE_INVALID_LOCATION, location));"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" String tempRepoName \u003d localRepoMatcher.group(GROUP_REPO_NAME);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" String tempOrganization \u003d getOrganizationFromMatcher(localRepoMatcher);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" return new String[] {tempRepoName, tempOrganization, UNSUPPORTED_DOMAIN_NAME};"},{"lineNumber":170,"author":{"gitId":"-"},"content":" }"},{"lineNumber":171,"author":{"gitId":"-"},"content":""},{"lineNumber":172,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":173,"author":{"gitId":"-"},"content":" * Returns a best-guess repo name, organization and domain name from the given remote repo"},{"lineNumber":174,"author":{"gitId":"-"},"content":" * {@code location}. The return is a length-3 string array with the repo name at index 0,"},{"lineNumber":175,"author":{"gitId":"-"},"content":" * organization at index 1 and domain name at index 2."},{"lineNumber":176,"author":{"gitId":"-"},"content":" *"},{"lineNumber":177,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the location specified is not a proper remote repository."},{"lineNumber":178,"author":{"gitId":"-"},"content":" */"},{"lineNumber":179,"author":{"gitId":"-"},"content":" private String[] getRemoteRepoNameAndOrg(String location) throws InvalidLocationException {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" Matcher remoteRepoMatcher \u003d GIT_REPOSITORY_LOCATION_PATTERN.matcher(location);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" Matcher sshRepoMatcher \u003d SCP_LIKE_SSH_REPOSITORY_LOCATION_PATTERN.matcher(location);"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" boolean isNormalUrl \u003d remoteRepoMatcher.matches();"},{"lineNumber":184,"author":{"gitId":"-"},"content":" if (isNormalUrl) {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" new URI(location);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" } catch (URISyntaxException e) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(location,"},{"lineNumber":189,"author":{"gitId":"-"},"content":" String.format(MESSAGE_INVALID_REMOTE_URL, location));"},{"lineNumber":190,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(String.format(MESSAGE_INVALID_REMOTE_URL, location));"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":" boolean isValidRemoteRepoUrl \u003d remoteRepoMatcher.matches() || sshRepoMatcher.matches();"},{"lineNumber":194,"author":{"gitId":"-"},"content":" if (!isValidRemoteRepoUrl) {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(location,"},{"lineNumber":196,"author":{"gitId":"-"},"content":" String.format(MESSAGE_INVALID_REMOTE_URL, location));"},{"lineNumber":197,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(String.format(MESSAGE_INVALID_REMOTE_URL, location));"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" // priority for standard URL matches over SSH as SSH matcher will normally also match standard URL"},{"lineNumber":201,"author":{"gitId":"-"},"content":" Matcher actualMatcher \u003d remoteRepoMatcher.matches() ? remoteRepoMatcher : sshRepoMatcher;"},{"lineNumber":202,"author":{"gitId":"-"},"content":" String tempRepoName \u003d actualMatcher.group(GROUP_REPO_NAME);"},{"lineNumber":203,"author":{"gitId":"-"},"content":" String tempOrganization \u003d getOrganizationFromMatcher(actualMatcher);"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" return new String[] {tempRepoName, tempOrganization,"},{"lineNumber":206,"author":{"gitId":"-"},"content":" getDomainNameFromDomain(actualMatcher.group(GROUP_DOMAIN))};"},{"lineNumber":207,"author":{"gitId":"-"},"content":" }"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":210,"author":{"gitId":"-"},"content":" * Returns the organization string from the {@code matcher} if one exists."},{"lineNumber":211,"author":{"gitId":"-"},"content":" * If no match was found for it, returns an empty string instead."},{"lineNumber":212,"author":{"gitId":"-"},"content":" */"},{"lineNumber":213,"author":{"gitId":"-"},"content":" private static String getOrganizationFromMatcher(Matcher matcher) {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" return Optional.ofNullable(matcher.group(GROUP_PATH))"},{"lineNumber":215,"author":{"gitId":"-"},"content":" .map(s -\u003e Paths.get(s).normalize().toString())"},{"lineNumber":216,"author":{"gitId":"-"},"content":" .map(s -\u003e s.replaceAll(Pattern.quote(FileSystems.getDefault().getSeparator()),"},{"lineNumber":217,"author":{"gitId":"-"},"content":" PATH_SEPARATOR_REPLACEMENT))"},{"lineNumber":218,"author":{"gitId":"-"},"content":" .orElse(\"\");"},{"lineNumber":219,"author":{"gitId":"-"},"content":" }"},{"lineNumber":220,"author":{"gitId":"-"},"content":""},{"lineNumber":221,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":222,"author":{"gitId":"-"},"content":" * Returns the domain name of the URL from the {@code matcher} if it is one of the recognised ones."},{"lineNumber":223,"author":{"gitId":"-"},"content":" * Returns {@code UNRECOGNISED_DOMAIN_NAME} if it is a local repo or not recognised."},{"lineNumber":224,"author":{"gitId":"-"},"content":" *"},{"lineNumber":225,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the domain specified is not a proper domain name."},{"lineNumber":226,"author":{"gitId":"-"},"content":" */"},{"lineNumber":227,"author":{"gitId":"-"},"content":" public static String getDomainNameFromDomain(String domain) throws InvalidLocationException {"},{"lineNumber":228,"author":{"gitId":"-"},"content":" Matcher domainNameMatcher \u003d DOMAIN_NAME_PATTERN.matcher(domain);"},{"lineNumber":229,"author":{"gitId":"-"},"content":" if (!domainNameMatcher.matches()) {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" throw new InvalidLocationException(MESSAGE_INVALID_REMOTE_URL);"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":" String domainName \u003d domainNameMatcher.group(GROUP_DOMAIN_NAME);"},{"lineNumber":233,"author":{"gitId":"-"},"content":" return isSupportedDomainName(domainName)"},{"lineNumber":234,"author":{"gitId":"-"},"content":" ? domainName"},{"lineNumber":235,"author":{"gitId":"-"},"content":" : UNSUPPORTED_DOMAIN_NAME;"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" private static boolean isSupportedDomainName(String domainName) {"},{"lineNumber":239,"author":{"gitId":"-"},"content":" return SupportedDomainUrlMap.isSupportedDomainName(domainName);"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":243,"author":{"gitId":"-"},"content":" public String toString() {"},{"lineNumber":244,"author":{"gitId":"-"},"content":" return location;"},{"lineNumber":245,"author":{"gitId":"-"},"content":" }"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":248,"author":{"gitId":"-"},"content":" public boolean equals(Object other) {"},{"lineNumber":249,"author":{"gitId":"-"},"content":" // short circuit if same object"},{"lineNumber":250,"author":{"gitId":"-"},"content":" if (this \u003d\u003d other) {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" // instanceof handles null"},{"lineNumber":255,"author":{"gitId":"-"},"content":" if (!(other instanceof RepoLocation)) {"},{"lineNumber":256,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":257,"author":{"gitId":"-"},"content":" }"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" RepoLocation otherLocation \u003d (RepoLocation) other;"},{"lineNumber":260,"author":{"gitId":"-"},"content":" return this.location.equals(otherLocation.location)"},{"lineNumber":261,"author":{"gitId":"-"},"content":" \u0026\u0026 this.repoName.equals(otherLocation.repoName)"},{"lineNumber":262,"author":{"gitId":"-"},"content":" \u0026\u0026 this.organization.equals(otherLocation.organization)"},{"lineNumber":263,"author":{"gitId":"-"},"content":" \u0026\u0026 this.domainName.equals(otherLocation.domainName)"},{"lineNumber":264,"author":{"gitId":"-"},"content":" \u0026\u0026 this.outputFolderRepoName.equals(otherLocation.outputFolderRepoName)"},{"lineNumber":265,"author":{"gitId":"-"},"content":" \u0026\u0026 this.outputFolderOrganization.equals(otherLocation.outputFolderOrganization);"},{"lineNumber":266,"author":{"gitId":"-"},"content":" }"},{"lineNumber":267,"author":{"gitId":"-"},"content":""},{"lineNumber":268,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":269,"author":{"gitId":"-"},"content":" public int hashCode() {"},{"lineNumber":270,"author":{"gitId":"-"},"content":" return location.hashCode();"},{"lineNumber":271,"author":{"gitId":"-"},"content":" }"},{"lineNumber":272,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":271}},{"path":"src/main/java/reposense/model/RunConfiguration.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;"},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;"},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Interface to get configurations for current RepoSense run."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public interface RunConfiguration {"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e getRepoConfigurations()"},{"lineNumber":16,"author":{"gitId":"-"},"content":" throws ParseException, IOException, InvalidCsvException, InvalidHeaderException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":3,"-":15}},{"path":"src/main/java/reposense/parser/ArgsParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.File;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import com.google.gson.JsonSyntaxException;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.ArgumentParsers;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.helper.HelpScreenException;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.action.HelpArgumentAction;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.action.VersionArgumentAction;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentGroup;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.FeatureControl;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.MutuallyExclusiveGroup;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Namespace;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.RepoSense;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import reposense.model.FileType;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.model.ReportConfiguration;"},{"lineNumber":31,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":32,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.AlphanumericArgumentType;"},{"lineNumber":33,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.AnalysisThreadsArgumentType;"},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.AssetsFolderArgumentType;"},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.CloningThreadsArgumentType;"},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.ConfigFolderArgumentType;"},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.OutputFolderArgumentType;"},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.PeriodArgumentType;"},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.ReportFolderArgumentType;"},{"lineNumber":40,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;"},{"lineNumber":41,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.UntilDateArgumentType;"},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.ZoneIdArgumentType;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted date to a {@link CliArguments} object."},{"lineNumber":48,"author":{"gitId":"-"},"content":" */"},{"lineNumber":49,"author":{"gitId":"-"},"content":"public class ArgsParser {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" public static final String DEFAULT_REPORT_NAME \u003d \"reposense-report\";"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static final int DEFAULT_NUM_CLONING_THREADS \u003d 4;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" public static final int DEFAULT_NUM_ANALYSIS_THREADS \u003d Runtime.getRuntime().availableProcessors();"},{"lineNumber":53,"author":{"gitId":"-"},"content":" public static final boolean DEFAULT_IS_TEST_MODE \u003d false;"},{"lineNumber":54,"author":{"gitId":"-"},"content":" public static final boolean DEFAULT_SHOULD_FRESH_CLONE \u003d false;"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" public static final String[] HELP_FLAGS \u003d new String[] {\"--help\", \"-h\"};"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public static final String[] CONFIG_FLAGS \u003d new String[] {\"--config\", \"-c\"};"},{"lineNumber":58,"author":{"gitId":"-"},"content":" public static final String[] REPO_FLAGS \u003d new String[] {\"--repo\", \"--repos\", \"-r\"};"},{"lineNumber":59,"author":{"gitId":"-"},"content":" public static final String[] VIEW_FLAGS \u003d new String[] {\"--view\", \"-v\"};"},{"lineNumber":60,"author":{"gitId":"-"},"content":" public static final String[] OUTPUT_FLAGS \u003d new String[] {\"--output\", \"-o\"};"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public static final String[] ASSETS_FLAGS \u003d new String[] {\"--assets\", \"-a\"};"},{"lineNumber":62,"author":{"gitId":"-"},"content":" public static final String[] SINCE_FLAGS \u003d new String[] {\"--since\", \"-s\"};"},{"lineNumber":63,"author":{"gitId":"-"},"content":" public static final String[] UNTIL_FLAGS \u003d new String[] {\"--until\", \"-u\"};"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public static final String[] PERIOD_FLAGS \u003d new String[] {\"--period\", \"-p\"};"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static final String[] SHALLOW_CLONING_FLAGS \u003d new String[] {\"--shallow-cloning\", \"-S\"};"},{"lineNumber":66,"author":{"gitId":"-"},"content":" public static final String[] FORMAT_FLAGS \u003d new String[] {\"--formats\", \"-f\"};"},{"lineNumber":67,"author":{"gitId":"-"},"content":" public static final String[] IGNORE_CONFIG_FLAGS \u003d new String[] {\"--ignore-standalone-config\", \"-i\"};"},{"lineNumber":68,"author":{"gitId":"-"},"content":" public static final String[] IGNORE_SIZELIMIT_FLAGS \u003d new String[] {\"--ignore-filesize-limit\", \"-I\"};"},{"lineNumber":69,"author":{"gitId":"-"},"content":" public static final String[] TIMEZONE_FLAGS \u003d new String[] {\"--timezone\", \"-t\"};"},{"lineNumber":70,"author":{"gitId":"-"},"content":" public static final String[] VERSION_FLAGS \u003d new String[] {\"--version\", \"-V\"};"},{"lineNumber":71,"author":{"gitId":"-"},"content":" public static final String[] LAST_MODIFIED_DATE_FLAGS \u003d new String[] {\"--last-modified-date\", \"-l\"};"},{"lineNumber":72,"author":{"gitId":"-"},"content":" public static final String[] FIND_PREVIOUS_AUTHORS_FLAGS \u003d new String[] {\"--find-previous-authors\", \"-F\"};"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" public static final String[] CLONING_THREADS_FLAG \u003d new String[] {\"--cloning-threads\"};"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public static final String[] ANALYSIS_THREADS_FLAG \u003d new String[] {\"--analysis-threads\"};"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" public static final String[] TEST_MODE_FLAG \u003d new String[] {\"--test-mode\"};"},{"lineNumber":78,"author":{"gitId":"-"},"content":" public static final String[] FRESH_CLONING_FLAG \u003d new String[] {\"--fresh-cloning\"};"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(ArgsParser.class);"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" private static final String PROGRAM_USAGE \u003d \"java -jar RepoSense.jar\";"},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final String PROGRAM_DESCRIPTION \u003d"},{"lineNumber":84,"author":{"gitId":"-"},"content":" \"RepoSense is a contribution analysis tool for Git repositories.\";"},{"lineNumber":85,"author":{"gitId":"-"},"content":" private static final String MESSAGE_HEADER_MUTEX \u003d \"mutual exclusive arguments\";"},{"lineNumber":86,"author":{"gitId":"-"},"content":" private static final String MESSAGE_HEADER_TESTING \u003d \"test mode arguments\";"},{"lineNumber":87,"author":{"gitId":"-"},"content":" private static final String MESSAGE_HAVE_SINCE_DATE_UNTIL_DATE_AND_PERIOD \u003d"},{"lineNumber":88,"author":{"gitId":"-"},"content":" \"\\\"Since Date\\\", \\\"Until Date\\\", and \\\"Period\\\" cannot be applied together.\";"},{"lineNumber":89,"author":{"gitId":"-"},"content":" private static final String MESSAGE_USING_DEFAULT_CONFIG_PATH \u003d"},{"lineNumber":90,"author":{"gitId":"-"},"content":" \"Config path not provided, using the config folder as default.\";"},{"lineNumber":91,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_CONFIG_PATH \u003d \"%s is malformed.\";"},{"lineNumber":92,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_CONFIG_JSON \u003d \"%s Ignoring the report config provided.\";"},{"lineNumber":93,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_D1_WITH_PERIOD \u003d \"You may be using --since d1 with the --period flag. \""},{"lineNumber":94,"author":{"gitId":"-"},"content":" + \"This may result in an incorrect date range being analysed.\";"},{"lineNumber":95,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_DATE_LATER_THAN_UNTIL_DATE \u003d"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \"\\\"Since Date\\\" cannot be later than \\\"Until Date\\\".\";"},{"lineNumber":97,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_DATE_LATER_THAN_TODAY_DATE \u003d"},{"lineNumber":98,"author":{"gitId":"-"},"content":" \"\\\"Since Date\\\" must not be later than today\u0027s date.\";"},{"lineNumber":99,"author":{"gitId":"-"},"content":" private static final Path EMPTY_PATH \u003d Paths.get(\"\");"},{"lineNumber":100,"author":{"gitId":"-"},"content":" private static final Path DEFAULT_CONFIG_PATH \u003d Paths.get(System.getProperty(\"user.dir\")"},{"lineNumber":101,"author":{"gitId":"-"},"content":" + File.separator + \"config\" + File.separator);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" private static final Path DEFAULT_ASSETS_PATH \u003d Paths.get(System.getProperty(\"user.dir\")"},{"lineNumber":103,"author":{"gitId":"-"},"content":" + File.separator + \"assets\" + File.separator);"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" private static ArgumentParser getArgumentParser() {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" ArgumentParser parser \u003d ArgumentParsers"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .newFor(PROGRAM_USAGE)"},{"lineNumber":108,"author":{"gitId":"-"},"content":" .addHelp(false)"},{"lineNumber":109,"author":{"gitId":"-"},"content":" .build()"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .description(PROGRAM_DESCRIPTION);"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" MutuallyExclusiveGroup mutexParser \u003d parser"},{"lineNumber":113,"author":{"gitId":"-"},"content":" .addMutuallyExclusiveGroup(MESSAGE_HEADER_MUTEX)"},{"lineNumber":114,"author":{"gitId":"-"},"content":" .required(false);"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" MutuallyExclusiveGroup mutexParser2 \u003d parser"},{"lineNumber":117,"author":{"gitId":"-"},"content":" .addMutuallyExclusiveGroup(MESSAGE_HEADER_MUTEX)"},{"lineNumber":118,"author":{"gitId":"-"},"content":" .required(false);"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" ArgumentGroup argumentGroup \u003d parser"},{"lineNumber":121,"author":{"gitId":"-"},"content":" .addArgumentGroup(MESSAGE_HEADER_TESTING);"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" // Boolean flags"},{"lineNumber":124,"author":{"gitId":"-"},"content":" parser.addArgument(HELP_FLAGS)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" .help(\"Show help message.\")"},{"lineNumber":126,"author":{"gitId":"-"},"content":" .action(new HelpArgumentAction());"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" parser.version(\"RepoSense \" + RepoSense.getVersion());"},{"lineNumber":129,"author":{"gitId":"-"},"content":" parser.addArgument(VERSION_FLAGS)"},{"lineNumber":130,"author":{"gitId":"-"},"content":" .help(\"Show the version of RepoSense.\")"},{"lineNumber":131,"author":{"gitId":"-"},"content":" .action(new VersionArgumentAction());"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" parser.addArgument(IGNORE_CONFIG_FLAGS)"},{"lineNumber":134,"author":{"gitId":"-"},"content":" .dest(IGNORE_CONFIG_FLAGS[0])"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":136,"author":{"gitId":"-"},"content":" .help(\"A flag to ignore the standalone config file in the repo.\");"},{"lineNumber":137,"author":{"gitId":"-"},"content":""},{"lineNumber":138,"author":{"gitId":"-"},"content":" parser.addArgument(IGNORE_SIZELIMIT_FLAGS)"},{"lineNumber":139,"author":{"gitId":"-"},"content":" .dest(IGNORE_SIZELIMIT_FLAGS[0])"},{"lineNumber":140,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":141,"author":{"gitId":"-"},"content":" .help(\"A flag to ignore the filesize limit for analyzed files.\");"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" parser.addArgument(VIEW_FLAGS)"},{"lineNumber":144,"author":{"gitId":"-"},"content":" .dest(VIEW_FLAGS[0])"},{"lineNumber":145,"author":{"gitId":"-"},"content":" .nargs(\"?\")"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")"},{"lineNumber":147,"author":{"gitId":"-"},"content":" .type(new ReportFolderArgumentType())"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .setConst(EMPTY_PATH)"},{"lineNumber":149,"author":{"gitId":"-"},"content":" .help(\"Starts a server to display the report in the provided directory. \""},{"lineNumber":150,"author":{"gitId":"-"},"content":" + \"If used as a flag (with no argument), \""},{"lineNumber":151,"author":{"gitId":"-"},"content":" + \"generates a report and automatically displays the report.\");"},{"lineNumber":152,"author":{"gitId":"-"},"content":""},{"lineNumber":153,"author":{"gitId":"-"},"content":" parser.addArgument(OUTPUT_FLAGS)"},{"lineNumber":154,"author":{"gitId":"-"},"content":" .dest(OUTPUT_FLAGS[0])"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")"},{"lineNumber":156,"author":{"gitId":"-"},"content":" .type(new OutputFolderArgumentType())"},{"lineNumber":157,"author":{"gitId":"-"},"content":" .setDefault(Paths.get(ArgsParser.DEFAULT_REPORT_NAME))"},{"lineNumber":158,"author":{"gitId":"-"},"content":" .help(\"The directory to output the report folder, reposense-report. \""},{"lineNumber":159,"author":{"gitId":"-"},"content":" + \"If not provided, the report folder will be created in the current working directory.\");"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" parser.addArgument(ASSETS_FLAGS)"},{"lineNumber":162,"author":{"gitId":"-"},"content":" .dest(ASSETS_FLAGS[0])"},{"lineNumber":163,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")"},{"lineNumber":164,"author":{"gitId":"-"},"content":" .type(new AssetsFolderArgumentType())"},{"lineNumber":165,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_ASSETS_PATH)"},{"lineNumber":166,"author":{"gitId":"-"},"content":" .help(\"The directory to place assets files to customize report generation. \""},{"lineNumber":167,"author":{"gitId":"-"},"content":" + \"If not provided, the assets folder in the current working directory will be used.\");"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" parser.addArgument(SINCE_FLAGS)"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .dest(SINCE_FLAGS[0])"},{"lineNumber":171,"author":{"gitId":"-"},"content":" .metavar(\"dd/MM/yyyy\")"},{"lineNumber":172,"author":{"gitId":"-"},"content":" .type(new SinceDateArgumentType())"},{"lineNumber":173,"author":{"gitId":"-"},"content":" .setDefault(Optional.empty())"},{"lineNumber":174,"author":{"gitId":"-"},"content":" .help(\"The date to start filtering.\");"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" parser.addArgument(UNTIL_FLAGS)"},{"lineNumber":177,"author":{"gitId":"-"},"content":" .dest(UNTIL_FLAGS[0])"},{"lineNumber":178,"author":{"gitId":"-"},"content":" .metavar(\"dd/MM/yyyy\")"},{"lineNumber":179,"author":{"gitId":"-"},"content":" .type(new UntilDateArgumentType())"},{"lineNumber":180,"author":{"gitId":"-"},"content":" .setDefault(Optional.empty())"},{"lineNumber":181,"author":{"gitId":"-"},"content":" .help(\"The date to stop filtering.\");"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" parser.addArgument(PERIOD_FLAGS)"},{"lineNumber":184,"author":{"gitId":"-"},"content":" .dest(PERIOD_FLAGS[0])"},{"lineNumber":185,"author":{"gitId":"-"},"content":" .metavar(\"PERIOD\")"},{"lineNumber":186,"author":{"gitId":"-"},"content":" .type(new PeriodArgumentType())"},{"lineNumber":187,"author":{"gitId":"-"},"content":" .setDefault(Optional.empty())"},{"lineNumber":188,"author":{"gitId":"-"},"content":" .help(\"The number of days of the filtering window.\");"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" parser.addArgument(FORMAT_FLAGS)"},{"lineNumber":191,"author":{"gitId":"-"},"content":" .dest(FORMAT_FLAGS[0])"},{"lineNumber":192,"author":{"gitId":"-"},"content":" .nargs(\"*\")"},{"lineNumber":193,"author":{"gitId":"-"},"content":" .metavar(\"FORMAT\")"},{"lineNumber":194,"author":{"gitId":"-"},"content":" .type(new AlphanumericArgumentType())"},{"lineNumber":195,"author":{"gitId":"-"},"content":" .setDefault(Collections.emptyList())"},{"lineNumber":196,"author":{"gitId":"-"},"content":" .help(\"The alphanumeric file formats to process.\\n\""},{"lineNumber":197,"author":{"gitId":"-"},"content":" + \"If not provided, default file formats will be used.\\n\""},{"lineNumber":198,"author":{"gitId":"-"},"content":" + \"Please refer to userguide for more information.\");"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" parser.addArgument(TIMEZONE_FLAGS)"},{"lineNumber":201,"author":{"gitId":"-"},"content":" .dest(TIMEZONE_FLAGS[0])"},{"lineNumber":202,"author":{"gitId":"-"},"content":" .metavar(\"ZONE_ID[±hh[mm]]\")"},{"lineNumber":203,"author":{"gitId":"-"},"content":" .type(new ZoneIdArgumentType())"},{"lineNumber":204,"author":{"gitId":"-"},"content":" .setDefault(ZoneId.systemDefault())"},{"lineNumber":205,"author":{"gitId":"-"},"content":" .help(\"The timezone to use for the generated report. \""},{"lineNumber":206,"author":{"gitId":"-"},"content":" + \"One kind of valid timezones is relative to UTC. E.g. UTC, UTC+08, UTC-1030. \\n\""},{"lineNumber":207,"author":{"gitId":"-"},"content":" + \"If not provided, system default timezone will be used.\");"},{"lineNumber":208,"author":{"gitId":"-"},"content":""},{"lineNumber":209,"author":{"gitId":"-"},"content":" parser.addArgument(FIND_PREVIOUS_AUTHORS_FLAGS)"},{"lineNumber":210,"author":{"gitId":"-"},"content":" .dest(FIND_PREVIOUS_AUTHORS_FLAGS[0])"},{"lineNumber":211,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":212,"author":{"gitId":"-"},"content":" .help(\"A flag to make RepoSense utilize Git blame\u0027s ignore revisions functionality, RepoSense \""},{"lineNumber":213,"author":{"gitId":"-"},"content":" + \"will attempt to blame the line changes caused by commits in the ignore commit list to the \""},{"lineNumber":214,"author":{"gitId":"-"},"content":" + \"previous authors who altered those lines (if available)\");"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" // Mutex flags - these will always be the last parameters in help message."},{"lineNumber":217,"author":{"gitId":"-"},"content":" mutexParser.addArgument(CONFIG_FLAGS)"},{"lineNumber":218,"author":{"gitId":"-"},"content":" .dest(CONFIG_FLAGS[0])"},{"lineNumber":219,"author":{"gitId":"-"},"content":" .type(new ConfigFolderArgumentType())"},{"lineNumber":220,"author":{"gitId":"-"},"content":" .metavar(\"PATH\")"},{"lineNumber":221,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_CONFIG_PATH)"},{"lineNumber":222,"author":{"gitId":"-"},"content":" .help(\"The directory containing the config files.\""},{"lineNumber":223,"author":{"gitId":"-"},"content":" + \"If not provided, the config files will be obtained from the config folder.\");"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" mutexParser.addArgument(REPO_FLAGS)"},{"lineNumber":226,"author":{"gitId":"-"},"content":" .nargs(\"+\")"},{"lineNumber":227,"author":{"gitId":"-"},"content":" .dest(REPO_FLAGS[0])"},{"lineNumber":228,"author":{"gitId":"-"},"content":" .metavar(\"LOCATION\")"},{"lineNumber":229,"author":{"gitId":"-"},"content":" .help(\"The remote Git host URLs or local directories to clone the repositories from.\");"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" mutexParser2.addArgument(LAST_MODIFIED_DATE_FLAGS)"},{"lineNumber":232,"author":{"gitId":"-"},"content":" .dest(LAST_MODIFIED_DATE_FLAGS[0])"},{"lineNumber":233,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":234,"author":{"gitId":"-"},"content":" .help(\"A flag to keep track of the last modified date of each line of code.\");"},{"lineNumber":235,"author":{"gitId":"-"},"content":""},{"lineNumber":236,"author":{"gitId":"-"},"content":" mutexParser2.addArgument(SHALLOW_CLONING_FLAGS)"},{"lineNumber":237,"author":{"gitId":"-"},"content":" .dest(SHALLOW_CLONING_FLAGS[0])"},{"lineNumber":238,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":239,"author":{"gitId":"-"},"content":" .help(\"A flag to make RepoSense employ Git\u0027s shallow cloning functionality, which can significantly \""},{"lineNumber":240,"author":{"gitId":"-"},"content":" + \"reduce the time taken to clone large repositories. This flag should not be used for \""},{"lineNumber":241,"author":{"gitId":"-"},"content":" + \"smaller repositories, where the .git file is smaller than 500 MB.\");"},{"lineNumber":242,"author":{"gitId":"-"},"content":""},{"lineNumber":243,"author":{"gitId":"-"},"content":" parser.addArgument(CLONING_THREADS_FLAG)"},{"lineNumber":244,"author":{"gitId":"-"},"content":" .dest(CLONING_THREADS_FLAG[0])"},{"lineNumber":245,"author":{"gitId":"-"},"content":" .type(new CloningThreadsArgumentType())"},{"lineNumber":246,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_NUM_CLONING_THREADS)"},{"lineNumber":247,"author":{"gitId":"-"},"content":" .help(FeatureControl.SUPPRESS);"},{"lineNumber":248,"author":{"gitId":"-"},"content":""},{"lineNumber":249,"author":{"gitId":"-"},"content":" parser.addArgument(ANALYSIS_THREADS_FLAG)"},{"lineNumber":250,"author":{"gitId":"-"},"content":" .dest(ANALYSIS_THREADS_FLAG[0])"},{"lineNumber":251,"author":{"gitId":"-"},"content":" .type(new AnalysisThreadsArgumentType())"},{"lineNumber":252,"author":{"gitId":"-"},"content":" .setDefault(DEFAULT_NUM_ANALYSIS_THREADS)"},{"lineNumber":253,"author":{"gitId":"-"},"content":" .help(FeatureControl.SUPPRESS);"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":" // Testing flags"},{"lineNumber":256,"author":{"gitId":"-"},"content":" argumentGroup.addArgument(TEST_MODE_FLAG)"},{"lineNumber":257,"author":{"gitId":"-"},"content":" .dest(TEST_MODE_FLAG[0])"},{"lineNumber":258,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":259,"author":{"gitId":"-"},"content":" .help(\"Enables testing mode.\");"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":" argumentGroup.addArgument(FRESH_CLONING_FLAG)"},{"lineNumber":262,"author":{"gitId":"-"},"content":" .dest(FRESH_CLONING_FLAG[0])"},{"lineNumber":263,"author":{"gitId":"-"},"content":" .action(Arguments.storeTrue())"},{"lineNumber":264,"author":{"gitId":"-"},"content":" .help(\"Enables fresh cloning. Requires testing mode to be enabled.\");"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" return parser;"},{"lineNumber":267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":270,"author":{"gitId":"-"},"content":" * Parses the given string {@code args} to a {@link CliArguments} object."},{"lineNumber":271,"author":{"gitId":"-"},"content":" *"},{"lineNumber":272,"author":{"gitId":"-"},"content":" * @throws HelpScreenException if given args contain the --help flag. Help message will be printed out"},{"lineNumber":273,"author":{"gitId":"-"},"content":" * by the {@link ArgumentParser} hence this is to signal to the caller that the program is safe to exit."},{"lineNumber":274,"author":{"gitId":"-"},"content":" * @throws ParseException if the given string arguments fails to parse to a {@link CliArguments} object."},{"lineNumber":275,"author":{"gitId":"-"},"content":" */"},{"lineNumber":276,"author":{"gitId":"-"},"content":" public static CliArguments parse(String[] args) throws HelpScreenException, ParseException {"},{"lineNumber":277,"author":{"gitId":"-"},"content":" ArgumentParser parser \u003d getArgumentParser();"},{"lineNumber":278,"author":{"gitId":"-"},"content":" Namespace results;"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" results \u003d parser.parseArgs(args);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" } catch (HelpScreenException hse) {"},{"lineNumber":283,"author":{"gitId":"-"},"content":" throw hse;"},{"lineNumber":284,"author":{"gitId":"-"},"content":" } catch (ArgumentParserException ape) {"},{"lineNumber":285,"author":{"gitId":"-"},"content":" throw new ParseException(getArgumentParser().formatUsage() + ape.getMessage() + \"\\n\");"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" Path configFolderPath \u003d results.get(CONFIG_FLAGS[0]);"},{"lineNumber":289,"author":{"gitId":"-"},"content":" Path reportFolderPath \u003d results.get(VIEW_FLAGS[0]);"},{"lineNumber":290,"author":{"gitId":"-"},"content":" Path outputFolderPath \u003d results.get(OUTPUT_FLAGS[0]);"},{"lineNumber":291,"author":{"gitId":"-"},"content":" ZoneId zoneId \u003d results.get(TIMEZONE_FLAGS[0]);"},{"lineNumber":292,"author":{"gitId":"-"},"content":" Path assetsFolderPath \u003d results.get(ASSETS_FLAGS[0]);"},{"lineNumber":293,"author":{"gitId":"-"},"content":" List\u003cString\u003e locations \u003d results.get(REPO_FLAGS[0]);"},{"lineNumber":294,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e formats \u003d FileType.convertFormatStringsToFileTypes(results.get(FORMAT_FLAGS[0]));"},{"lineNumber":295,"author":{"gitId":"-"},"content":" boolean isStandaloneConfigIgnored \u003d results.get(IGNORE_CONFIG_FLAGS[0]);"},{"lineNumber":296,"author":{"gitId":"-"},"content":" boolean isFileSizeLimitIgnored \u003d results.get(IGNORE_SIZELIMIT_FLAGS[0]);"},{"lineNumber":297,"author":{"gitId":"-"},"content":" boolean shouldIncludeLastModifiedDate \u003d results.get(LAST_MODIFIED_DATE_FLAGS[0]);"},{"lineNumber":298,"author":{"gitId":"-"},"content":" boolean shouldPerformShallowCloning \u003d results.get(SHALLOW_CLONING_FLAGS[0]);"},{"lineNumber":299,"author":{"gitId":"-"},"content":" boolean shouldFindPreviousAuthors \u003d results.get(FIND_PREVIOUS_AUTHORS_FLAGS[0]);"},{"lineNumber":300,"author":{"gitId":"-"},"content":" boolean isTestMode \u003d results.get(TEST_MODE_FLAG[0]);"},{"lineNumber":301,"author":{"gitId":"-"},"content":" int numCloningThreads \u003d results.get(CLONING_THREADS_FLAG[0]);"},{"lineNumber":302,"author":{"gitId":"-"},"content":" int numAnalysisThreads \u003d results.get(ANALYSIS_THREADS_FLAG[0]);"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" CliArguments.Builder cliArgumentsBuilder \u003d new CliArguments.Builder()"},{"lineNumber":305,"author":{"gitId":"-"},"content":" .configFolderPath(configFolderPath)"},{"lineNumber":306,"author":{"gitId":"-"},"content":" .reportDirectoryPath(reportFolderPath)"},{"lineNumber":307,"author":{"gitId":"-"},"content":" .outputFilePath(outputFolderPath)"},{"lineNumber":308,"author":{"gitId":"-"},"content":" .zoneId(zoneId)"},{"lineNumber":309,"author":{"gitId":"-"},"content":" .assetsFilePath(assetsFolderPath)"},{"lineNumber":310,"author":{"gitId":"-"},"content":" .locations(locations)"},{"lineNumber":311,"author":{"gitId":"-"},"content":" .formats(formats)"},{"lineNumber":312,"author":{"gitId":"-"},"content":" .isStandaloneConfigIgnored(isStandaloneConfigIgnored)"},{"lineNumber":313,"author":{"gitId":"-"},"content":" .isFileSizeLimitIgnored(isFileSizeLimitIgnored)"},{"lineNumber":314,"author":{"gitId":"-"},"content":" .isLastModifiedDateIncluded(shouldIncludeLastModifiedDate)"},{"lineNumber":315,"author":{"gitId":"-"},"content":" .isShallowCloningPerformed(shouldPerformShallowCloning)"},{"lineNumber":316,"author":{"gitId":"-"},"content":" .isFindingPreviousAuthorsPerformed(shouldFindPreviousAuthors)"},{"lineNumber":317,"author":{"gitId":"-"},"content":" .numCloningThreads(numCloningThreads)"},{"lineNumber":318,"author":{"gitId":"-"},"content":" .numAnalysisThreads(numAnalysisThreads)"},{"lineNumber":319,"author":{"gitId":"-"},"content":" .isTestMode(isTestMode);"},{"lineNumber":320,"author":{"gitId":"-"},"content":""},{"lineNumber":321,"author":{"gitId":"-"},"content":" LogsManager.setLogFolderLocation(outputFolderPath);"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" if (locations \u003d\u003d null \u0026\u0026 configFolderPath.equals(DEFAULT_CONFIG_PATH)) {"},{"lineNumber":324,"author":{"gitId":"-"},"content":" logger.info(MESSAGE_USING_DEFAULT_CONFIG_PATH);"},{"lineNumber":325,"author":{"gitId":"-"},"content":" }"},{"lineNumber":326,"author":{"gitId":"-"},"content":""},{"lineNumber":327,"author":{"gitId":"-"},"content":" addReportConfigToBuilder(cliArgumentsBuilder, results);"},{"lineNumber":328,"author":{"gitId":"-"},"content":" addAnalysisDatesToBuilder(cliArgumentsBuilder, results);"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" boolean isViewModeOnly \u003d reportFolderPath !\u003d null"},{"lineNumber":331,"author":{"gitId":"-"},"content":" \u0026\u0026 !reportFolderPath.equals(EMPTY_PATH)"},{"lineNumber":332,"author":{"gitId":"-"},"content":" \u0026\u0026 configFolderPath.equals(DEFAULT_CONFIG_PATH)"},{"lineNumber":333,"author":{"gitId":"-"},"content":" \u0026\u0026 locations \u003d\u003d null;"},{"lineNumber":334,"author":{"gitId":"-"},"content":" cliArgumentsBuilder.isViewModeOnly(isViewModeOnly);"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"-"},"content":" boolean isAutomaticallyLaunching \u003d reportFolderPath !\u003d null;"},{"lineNumber":337,"author":{"gitId":"-"},"content":" if (isAutomaticallyLaunching \u0026\u0026 !reportFolderPath.equals(EMPTY_PATH) \u0026\u0026 !isViewModeOnly) {"},{"lineNumber":338,"author":{"gitId":"-"},"content":" logger.info(String.format(\"Ignoring argument \u0027%s\u0027 for --view.\", reportFolderPath.toString()));"},{"lineNumber":339,"author":{"gitId":"-"},"content":" }"},{"lineNumber":340,"author":{"gitId":"-"},"content":" cliArgumentsBuilder.isAutomaticallyLaunching(isAutomaticallyLaunching);"},{"lineNumber":341,"author":{"gitId":"-"},"content":""},{"lineNumber":342,"author":{"gitId":"-"},"content":""},{"lineNumber":343,"author":{"gitId":"-"},"content":" boolean shouldPerformFreshCloning \u003d isTestMode"},{"lineNumber":344,"author":{"gitId":"-"},"content":" ? results.get(FRESH_CLONING_FLAG[0])"},{"lineNumber":345,"author":{"gitId":"-"},"content":" : DEFAULT_SHOULD_FRESH_CLONE;"},{"lineNumber":346,"author":{"gitId":"-"},"content":" cliArgumentsBuilder.isFreshClonePerformed(shouldPerformFreshCloning);"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":" return cliArgumentsBuilder.build();"},{"lineNumber":349,"author":{"gitId":"-"},"content":" }"},{"lineNumber":350,"author":{"gitId":"-"},"content":""},{"lineNumber":351,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":352,"author":{"gitId":"-"},"content":" * Adds the reportConfig field to the given {@code builder}."},{"lineNumber":353,"author":{"gitId":"-"},"content":" *"},{"lineNumber":354,"author":{"gitId":"-"},"content":" * @param builder Builder to be supplied with the reportConfig field."},{"lineNumber":355,"author":{"gitId":"-"},"content":" * @param results Parsed results of the user-supplied CLI arguments."},{"lineNumber":356,"author":{"gitId":"-"},"content":" */"},{"lineNumber":357,"author":{"gitId":"-"},"content":" private static void addReportConfigToBuilder(CliArguments.Builder builder, Namespace results) {"},{"lineNumber":358,"author":{"gitId":"-"},"content":" ReportConfiguration reportConfig \u003d new ReportConfiguration();"},{"lineNumber":359,"author":{"gitId":"-"},"content":" List\u003cString\u003e locations \u003d results.get(REPO_FLAGS[0]);"},{"lineNumber":360,"author":{"gitId":"-"},"content":" Path configFolderPath \u003d results.get(CONFIG_FLAGS[0]);"},{"lineNumber":361,"author":{"gitId":"-"},"content":""},{"lineNumber":362,"author":{"gitId":"-"},"content":" // Report config is ignored if --repos is provided"},{"lineNumber":363,"author":{"gitId":"-"},"content":" if (locations \u003d\u003d null) {"},{"lineNumber":364,"author":{"gitId":"-"},"content":" Path reportConfigFilePath \u003d configFolderPath.resolve(ReportConfigJsonParser.REPORT_CONFIG_FILENAME);"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":367,"author":{"gitId":"-"},"content":" reportConfig \u003d new ReportConfigJsonParser().parse(reportConfigFilePath);"},{"lineNumber":368,"author":{"gitId":"-"},"content":" } catch (JsonSyntaxException jse) {"},{"lineNumber":369,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_INVALID_CONFIG_PATH, reportConfigFilePath));"},{"lineNumber":370,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_INVALID_CONFIG_JSON, iae.getMessage()));"},{"lineNumber":372,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {"},{"lineNumber":373,"author":{"gitId":"-"},"content":" // IOException thrown as report-config.json is not found."},{"lineNumber":374,"author":{"gitId":"-"},"content":" // Ignore exception as the file is optional."},{"lineNumber":375,"author":{"gitId":"-"},"content":" }"},{"lineNumber":376,"author":{"gitId":"-"},"content":" }"},{"lineNumber":377,"author":{"gitId":"-"},"content":" builder.reportConfiguration(reportConfig);"},{"lineNumber":378,"author":{"gitId":"-"},"content":" }"},{"lineNumber":379,"author":{"gitId":"-"},"content":""},{"lineNumber":380,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":381,"author":{"gitId":"-"},"content":" * Adds the sinceDate and untilDate fields for analysis to the given {@code builder}."},{"lineNumber":382,"author":{"gitId":"-"},"content":" *"},{"lineNumber":383,"author":{"gitId":"-"},"content":" * @param builder Builder to be supplied with the sinceDate and untilDate fields"},{"lineNumber":384,"author":{"gitId":"-"},"content":" * @param results Parsed results of the user-supplied CLI arguments."},{"lineNumber":385,"author":{"gitId":"-"},"content":" * @throws ParseException if all of sinceDate, untilDate and (analysis) period is provided"},{"lineNumber":386,"author":{"gitId":"-"},"content":" * or if the sinceDate is invalid."},{"lineNumber":387,"author":{"gitId":"-"},"content":" */"},{"lineNumber":388,"author":{"gitId":"-"},"content":" private static void addAnalysisDatesToBuilder(CliArguments.Builder builder, Namespace results)"},{"lineNumber":389,"author":{"gitId":"-"},"content":" throws ParseException {"},{"lineNumber":390,"author":{"gitId":"-"},"content":" ZoneId zoneId \u003d results.get(TIMEZONE_FLAGS[0]);"},{"lineNumber":391,"author":{"gitId":"-"},"content":" Optional\u003cLocalDateTime\u003e cliSinceDate \u003d results.get(SINCE_FLAGS[0]);"},{"lineNumber":392,"author":{"gitId":"-"},"content":" Optional\u003cLocalDateTime\u003e cliUntilDate \u003d results.get(UNTIL_FLAGS[0]);"},{"lineNumber":393,"author":{"gitId":"-"},"content":" Optional\u003cInteger\u003e cliPeriod \u003d results.get(PERIOD_FLAGS[0]);"},{"lineNumber":394,"author":{"gitId":"-"},"content":""},{"lineNumber":395,"author":{"gitId":"-"},"content":" boolean isSinceDateProvided \u003d cliSinceDate.isPresent();"},{"lineNumber":396,"author":{"gitId":"-"},"content":" boolean isUntilDateProvided \u003d cliUntilDate.isPresent();"},{"lineNumber":397,"author":{"gitId":"-"},"content":" boolean isPeriodProvided \u003d cliPeriod.isPresent();"},{"lineNumber":398,"author":{"gitId":"-"},"content":" if (isSinceDateProvided \u0026\u0026 isUntilDateProvided \u0026\u0026 isPeriodProvided) {"},{"lineNumber":399,"author":{"gitId":"-"},"content":" throw new ParseException(MESSAGE_HAVE_SINCE_DATE_UNTIL_DATE_AND_PERIOD);"},{"lineNumber":400,"author":{"gitId":"-"},"content":" }"},{"lineNumber":401,"author":{"gitId":"-"},"content":""},{"lineNumber":402,"author":{"gitId":"-"},"content":" LocalDateTime sinceDate;"},{"lineNumber":403,"author":{"gitId":"-"},"content":" LocalDateTime untilDate;"},{"lineNumber":404,"author":{"gitId":"-"},"content":" boolean isUsingArbitraryDate \u003d false;"},{"lineNumber":405,"author":{"gitId":"-"},"content":""},{"lineNumber":406,"author":{"gitId":"-"},"content":" LocalDateTime currentDate \u003d TimeUtil.getCurrentDate(zoneId);"},{"lineNumber":407,"author":{"gitId":"-"},"content":""},{"lineNumber":408,"author":{"gitId":"-"},"content":" if (isSinceDateProvided) {"},{"lineNumber":409,"author":{"gitId":"-"},"content":" sinceDate \u003d TimeUtil.getSinceDate(cliSinceDate.get());"},{"lineNumber":410,"author":{"gitId":"-"},"content":" // For --since d1, need to adjust the arbitrary date based on timezone"},{"lineNumber":411,"author":{"gitId":"-"},"content":" if (TimeUtil.isEqualToArbitraryFirstDateUtc(sinceDate)) {"},{"lineNumber":412,"author":{"gitId":"-"},"content":" isUsingArbitraryDate \u003d true;"},{"lineNumber":413,"author":{"gitId":"-"},"content":" sinceDate \u003d TimeUtil.getArbitraryFirstCommitDateConverted(zoneId);"},{"lineNumber":414,"author":{"gitId":"-"},"content":" }"},{"lineNumber":415,"author":{"gitId":"-"},"content":" } else if (isUntilDateProvided) {"},{"lineNumber":416,"author":{"gitId":"-"},"content":" sinceDate \u003d isPeriodProvided"},{"lineNumber":417,"author":{"gitId":"-"},"content":" ? TimeUtil.getDateMinusNDays(cliUntilDate.get(), cliPeriod.get())"},{"lineNumber":418,"author":{"gitId":"-"},"content":" : TimeUtil.getDateMinusAMonth(cliUntilDate.get());"},{"lineNumber":419,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":420,"author":{"gitId":"-"},"content":" sinceDate \u003d isPeriodProvided"},{"lineNumber":421,"author":{"gitId":"-"},"content":" ? TimeUtil.getDateMinusNDays(currentDate, cliPeriod.get())"},{"lineNumber":422,"author":{"gitId":"-"},"content":" : TimeUtil.getDateMinusAMonth(currentDate);"},{"lineNumber":423,"author":{"gitId":"-"},"content":" }"},{"lineNumber":424,"author":{"gitId":"-"},"content":""},{"lineNumber":425,"author":{"gitId":"-"},"content":" if (isPeriodProvided \u0026\u0026 isUsingArbitraryDate) {"},{"lineNumber":426,"author":{"gitId":"-"},"content":" logger.warning(MESSAGE_SINCE_D1_WITH_PERIOD);"},{"lineNumber":427,"author":{"gitId":"-"},"content":" }"},{"lineNumber":428,"author":{"gitId":"-"},"content":""},{"lineNumber":429,"author":{"gitId":"-"},"content":" if (isUntilDateProvided) {"},{"lineNumber":430,"author":{"gitId":"-"},"content":" untilDate \u003d TimeUtil.getUntilDate(cliUntilDate.get());"},{"lineNumber":431,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":432,"author":{"gitId":"-"},"content":" untilDate \u003d (isSinceDateProvided \u0026\u0026 isPeriodProvided)"},{"lineNumber":433,"author":{"gitId":"-"},"content":" ? TimeUtil.getDatePlusNDays(cliSinceDate.get(), cliPeriod.get())"},{"lineNumber":434,"author":{"gitId":"-"},"content":" : currentDate;"},{"lineNumber":435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":436,"author":{"gitId":"-"},"content":""},{"lineNumber":437,"author":{"gitId":"-"},"content":" untilDate \u003d untilDate.compareTo(currentDate) \u003c 0"},{"lineNumber":438,"author":{"gitId":"-"},"content":" ? untilDate"},{"lineNumber":439,"author":{"gitId":"-"},"content":" : currentDate;"},{"lineNumber":440,"author":{"gitId":"-"},"content":""},{"lineNumber":441,"author":{"gitId":"-"},"content":" if (sinceDate.compareTo(currentDate) \u003e 0) {"},{"lineNumber":442,"author":{"gitId":"-"},"content":" throw new ParseException(MESSAGE_SINCE_DATE_LATER_THAN_TODAY_DATE);"},{"lineNumber":443,"author":{"gitId":"-"},"content":" }"},{"lineNumber":444,"author":{"gitId":"-"},"content":""},{"lineNumber":445,"author":{"gitId":"-"},"content":" if (sinceDate.compareTo(untilDate) \u003e 0) {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" throw new ParseException(MESSAGE_SINCE_DATE_LATER_THAN_UNTIL_DATE);"},{"lineNumber":447,"author":{"gitId":"-"},"content":" }"},{"lineNumber":448,"author":{"gitId":"-"},"content":""},{"lineNumber":449,"author":{"gitId":"-"},"content":" builder.sinceDate(sinceDate)"},{"lineNumber":450,"author":{"gitId":"-"},"content":" .isSinceDateProvided(isSinceDateProvided)"},{"lineNumber":451,"author":{"gitId":"-"},"content":" .untilDate(untilDate)"},{"lineNumber":452,"author":{"gitId":"-"},"content":" .isUntilDateProvided(isUntilDateProvided);"},{"lineNumber":453,"author":{"gitId":"-"},"content":" }"},{"lineNumber":454,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":12,"-":442}},{"path":"src/main/java/reposense/parser/AuthorConfigCsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.AuthorConfiguration;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;"},{"lineNumber":14,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Container for the values parsed from {@code author-config.csv} file."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class AuthorConfigCsvParser extends CsvParser\u003cAuthorConfiguration\u003e {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" public static final String AUTHOR_CONFIG_FILENAME \u003d \"author-config.csv\";"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":23,"author":{"gitId":"-"},"content":" * Positions of the elements of a line in author-config.csv config file."},{"lineNumber":24,"author":{"gitId":"-"},"content":" */"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String[] LOCATION_HEADER \u003d {\"Repository\u0027s Location\"};"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String[] BRANCH_HEADER \u003d {\"Branch\"};"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String[] GIT_ID_HEADERS \u003d {\"Author\u0027s Git Host ID\", \"Author\u0027s GitHub ID\"};"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final String[] EMAIL_HEADER \u003d {\"Author\u0027s Emails\"};"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String[] DISPLAY_NAME_HEADER \u003d {\"Author\u0027s Display Name\"};"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String[] ALIAS_HEADER \u003d {\"Author\u0027s Git Author Name\"};"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_GLOB_LIST_HEADER \u003d {\"Ignore Glob List\"};"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" public AuthorConfigCsvParser(Path csvFilePath) throws FileNotFoundException {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" super(csvFilePath);"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification."},{"lineNumber":39,"author":{"gitId":"-"},"content":" */"},{"lineNumber":40,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":41,"author":{"gitId":"-"},"content":" protected String[][] mandatoryHeaders() {"},{"lineNumber":42,"author":{"gitId":"-"},"content":" return new String[][] {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" GIT_ID_HEADERS,"},{"lineNumber":44,"author":{"gitId":"-"},"content":" };"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed."},{"lineNumber":49,"author":{"gitId":"-"},"content":" */"},{"lineNumber":50,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":51,"author":{"gitId":"-"},"content":" protected String[][] optionalHeaders() {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" return new String[][] {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" LOCATION_HEADER, BRANCH_HEADER, EMAIL_HEADER, DISPLAY_NAME_HEADER, ALIAS_HEADER,"},{"lineNumber":54,"author":{"gitId":"-"},"content":" IGNORE_GLOB_LIST_HEADER,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" };"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Processes the csv {@code record} line by line and add created {@link AuthorConfiguration} into {@code results}"},{"lineNumber":60,"author":{"gitId":"-"},"content":" * but skips {@code author} already exists in a {@link AuthorConfiguration} that has same {@code location}"},{"lineNumber":61,"author":{"gitId":"-"},"content":" * and {@code branch}."},{"lineNumber":62,"author":{"gitId":"-"},"content":" */"},{"lineNumber":63,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":64,"author":{"gitId":"-"},"content":" protected void processLine(List\u003cAuthorConfiguration\u003e results, CSVRecord record) throws ParseException {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" List\u003cString\u003e locationsWithBranches \u003d getAsListOrDefault(record, LOCATION_HEADER);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" String branch \u003d getOrDefault(record, BRANCH_HEADER, AuthorConfiguration.DEFAULT_BRANCH);"},{"lineNumber":67,"author":{"gitId":"-"},"content":" String gitId \u003d get(record, GIT_ID_HEADERS);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" List\u003cString\u003e emails \u003d getAsList(record, EMAIL_HEADER);"},{"lineNumber":69,"author":{"gitId":"-"},"content":" String displayName \u003d get(record, DISPLAY_NAME_HEADER);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" List\u003cString\u003e aliases \u003d getAsList(record, ALIAS_HEADER);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList \u003d getAsList(record, IGNORE_GLOB_LIST_HEADER);"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" for (String locationWithBranches : locationsWithBranches) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" List\u003cString\u003e parsedLocationWithBranches \u003d AuthorConfigLocationParser"},{"lineNumber":75,"author":{"gitId":"-"},"content":" .parseLocation(locationWithBranches, branch);"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" String currLocation \u003d parsedLocationWithBranches.get(0);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" for (int i \u003d 1; i \u003c parsedLocationWithBranches.size(); i++) {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" String currBranch \u003d parsedLocationWithBranches.get(i);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" registerLocationAndBranch(results, gitId, emails, displayName, aliases,"},{"lineNumber":81,"author":{"gitId":"-"},"content":" ignoreGlobList, currLocation, currBranch);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" }"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":" }"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":87,"author":{"gitId":"-"},"content":" * Registers an author for a single location and branch with the information"},{"lineNumber":88,"author":{"gitId":"-"},"content":" * provided by each line."},{"lineNumber":89,"author":{"gitId":"-"},"content":" *"},{"lineNumber":90,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} is invalid."},{"lineNumber":91,"author":{"gitId":"-"},"content":" */"},{"lineNumber":92,"author":{"gitId":"-"},"content":" private void registerLocationAndBranch(List\u003cAuthorConfiguration\u003e results, String gitId,"},{"lineNumber":93,"author":{"gitId":"-"},"content":" List\u003cString\u003e emails, String displayName,"},{"lineNumber":94,"author":{"gitId":"-"},"content":" List\u003cString\u003e aliases, List\u003cString\u003e ignoreGlobList,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" String currLocation, String currBranch) throws InvalidLocationException {"},{"lineNumber":96,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d findMatchingAuthorConfiguration(results, currLocation, currBranch);"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" Author author \u003d new Author(gitId);"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" if (config.containsAuthor(author)) {"},{"lineNumber":101,"author":{"gitId":"-"},"content":" logger.warning(String.format("},{"lineNumber":102,"author":{"gitId":"-"},"content":" \"Skipping author as %s already in repository %s %s\","},{"lineNumber":103,"author":{"gitId":"-"},"content":" author.getGitId(), config.getLocation(), config.getBranch()));"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" author.setEmails(new ArrayList\u003c\u003e(emails));"},{"lineNumber":107,"author":{"gitId":"-"},"content":" author.setDisplayName(!displayName.isEmpty() ? displayName : author.getGitId());"},{"lineNumber":108,"author":{"gitId":"-"},"content":" if (!aliases.isEmpty()) {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" author.setAuthorAliases(aliases);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":" if (!ignoreGlobList.isEmpty()) {"},{"lineNumber":112,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(ignoreGlobList);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" }"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" config.addAuthor(author);"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":119,"author":{"gitId":"-"},"content":" * Gets an existing {@link AuthorConfiguration} from {@code results} if {@code location} and {@code branch} matches."},{"lineNumber":120,"author":{"gitId":"-"},"content":" * Otherwise, adds a newly created {@link AuthorConfiguration} into {@code results} and returns it."},{"lineNumber":121,"author":{"gitId":"-"},"content":" *"},{"lineNumber":122,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} is invalid."},{"lineNumber":123,"author":{"gitId":"-"},"content":" */"},{"lineNumber":124,"author":{"gitId":"-"},"content":" private static AuthorConfiguration findMatchingAuthorConfiguration(List\u003cAuthorConfiguration\u003e results,"},{"lineNumber":125,"author":{"gitId":"-"},"content":" String location, String branch) throws InvalidLocationException {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d new AuthorConfiguration(new RepoLocation(location), branch);"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" for (AuthorConfiguration authorConfig : results) {"},{"lineNumber":129,"author":{"gitId":"-"},"content":" if (authorConfig.getLocation().equals(config.getLocation())"},{"lineNumber":130,"author":{"gitId":"-"},"content":" \u0026\u0026 authorConfig.getBranch().equals(config.getBranch())) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" return authorConfig;"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" results.add(config);"},{"lineNumber":136,"author":{"gitId":"-"},"content":" return config;"},{"lineNumber":137,"author":{"gitId":"-"},"content":" }"},{"lineNumber":138,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":136}},{"path":"src/main/java/reposense/parser/ConfigurationBuildException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":3,"author":{"gitId":"asdfghjkxd"},"content":"/**"},{"lineNumber":4,"author":{"gitId":"asdfghjkxd"},"content":" * Signals that there was an issue building a Configuration (missing parameters, etc.)."},{"lineNumber":5,"author":{"gitId":"asdfghjkxd"},"content":" */"},{"lineNumber":6,"author":{"gitId":"asdfghjkxd"},"content":"public class ConfigurationBuildException extends RuntimeException {"},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":8}},{"path":"src/main/java/reposense/parser/CsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.BufferedReader;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.FileReader;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.HashSet;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import java.util.StringJoiner;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import java.util.logging.Level;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVFormat;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;"},{"lineNumber":28,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;"},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":33,"author":{"gitId":"-"},"content":" * Contains CSV parsing related functionalities."},{"lineNumber":34,"author":{"gitId":"-"},"content":" */"},{"lineNumber":35,"author":{"gitId":"-"},"content":"public abstract class CsvParser\u003cT\u003e {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" protected static final String COLUMN_VALUES_SEPARATOR \u003d \";\";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" protected static final Logger logger \u003d LogsManager.getLogger(CsvParser.class);"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final String EMPTY_STRING \u003d \"\";"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String OVERRIDE_KEYWORD \u003d \"override:\";"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final String MESSAGE_EMPTY_LINE \u003d \"[EMPTY LINE]\";"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNABLE_TO_READ_CSV_FILE \u003d \"Unable to read the supplied CSV file.\";"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MALFORMED_LINE_FORMAT \u003d \"Line %d in CSV file, %s, is malformed.\\n\""},{"lineNumber":44,"author":{"gitId":"-"},"content":" + \"Content: %s\";"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final String MESSAGE_LINE_PARSE_EXCEPTION_FORMAT \u003d \"Error parsing line %d in CSV file, %s.\\n\""},{"lineNumber":46,"author":{"gitId":"-"},"content":" + \"Content: %s\\n\""},{"lineNumber":47,"author":{"gitId":"-"},"content":" + \"Error: %s\";"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String MESSAGE_EMPTY_CSV_FORMAT \u003d \"The CSV file, %s, is empty.\";"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MANDATORY_HEADER_MISSING \u003d \"Required column header, %s, not found in \""},{"lineNumber":50,"author":{"gitId":"-"},"content":" + \"CSV file, %s\";"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final String MESSAGE_DUPLICATE_COLUMN_HEADER \u003d \"Duplicate columns are present in CSV file, %s.\";"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final String MESSAGE_COLUMNS_RECOGNIZED \u003d \"Parsed header of CSV file, %s, and recognized columns: \""},{"lineNumber":53,"author":{"gitId":"-"},"content":" + \"%s\";"},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final String MESSAGE_ZERO_VALID_CONFIGS \u003d \"No valid configurations in the %s.\";"},{"lineNumber":55,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNKNOWN_COLUMN \u003d \"Unknown column(s) found: %s (%s)\";"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" private Path csvFilePath;"},{"lineNumber":58,"author":{"gitId":"-"},"content":" private Map\u003cString, Integer\u003e headerMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private int numOfLinesBeforeFirstRecord \u003d 0;"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Creates {@link CsvParser} with given {@code csvFilepath}."},{"lineNumber":63,"author":{"gitId":"-"},"content":" *"},{"lineNumber":64,"author":{"gitId":"-"},"content":" * @throws FileNotFoundException if the csv file cannot be found in the provided {@code csvFilePath}."},{"lineNumber":65,"author":{"gitId":"-"},"content":" */"},{"lineNumber":66,"author":{"gitId":"-"},"content":" public CsvParser(Path csvFilePath) throws FileNotFoundException {"},{"lineNumber":67,"author":{"gitId":"-"},"content":" if (csvFilePath \u003d\u003d null || !Files.exists(csvFilePath)) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" throw new FileNotFoundException(\"Csv file does not exist at the given path.\\n\""},{"lineNumber":69,"author":{"gitId":"-"},"content":" + \"Use \u0027-help\u0027 to list all the available subcommands and some concept guides.\");"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" this.csvFilePath \u003d csvFilePath;"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Parses the csv file associated with this instance of the {@link CsvParser} and returns a {@link List}"},{"lineNumber":77,"author":{"gitId":"-"},"content":" * containing the records in this file."},{"lineNumber":78,"author":{"gitId":"-"},"content":" *"},{"lineNumber":79,"author":{"gitId":"-"},"content":" * @throws IOException if there are errors accessing the given csv file."},{"lineNumber":80,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if the csv is malformed."},{"lineNumber":81,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if header of csv file cannot be read."},{"lineNumber":82,"author":{"gitId":"-"},"content":" */"},{"lineNumber":83,"author":{"gitId":"-"},"content":" public List\u003cT\u003e parse() throws IOException, InvalidCsvException, InvalidHeaderException {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" List\u003cT\u003e results \u003d new ArrayList\u003c\u003e();"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Iterable\u003cCSVRecord\u003e records;"},{"lineNumber":86,"author":{"gitId":"-"},"content":""},{"lineNumber":87,"author":{"gitId":"-"},"content":" try (BufferedReader csvReader \u003d new BufferedReader(new FileReader(csvFilePath.toFile()))) {"},{"lineNumber":88,"author":{"gitId":"-"},"content":" String[] header \u003d getHeader(csvReader);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" records \u003d CSVFormat.Builder.create(CSVFormat.DEFAULT).setIgnoreEmptyLines(false).setHeader(header)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .setTrim(true).setIgnoreHeaderCase(true).build().parse(csvReader);"},{"lineNumber":92,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {"},{"lineNumber":93,"author":{"gitId":"-"},"content":" throw new InvalidCsvException("},{"lineNumber":94,"author":{"gitId":"-"},"content":" String.format(MESSAGE_DUPLICATE_COLUMN_HEADER, csvFilePath.getFileName()));"},{"lineNumber":95,"author":{"gitId":"-"},"content":" }"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" for (CSVRecord record : records) {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" if (isLineMalformed(record)) {"},{"lineNumber":99,"author":{"gitId":"-"},"content":" continue;"},{"lineNumber":100,"author":{"gitId":"-"},"content":" }"},{"lineNumber":101,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" processLine(results, record);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" } catch (ParseException pe) {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_LINE_PARSE_EXCEPTION_FORMAT, getLineNumber(record),"},{"lineNumber":105,"author":{"gitId":"-"},"content":" csvFilePath.getFileName(), getRowContentAsRawString(record), pe.getMessage()));"},{"lineNumber":106,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, iae.getMessage(), iae);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" }"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" throw new IOException(MESSAGE_UNABLE_TO_READ_CSV_FILE, ioe);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" if (results.isEmpty()) {"},{"lineNumber":115,"author":{"gitId":"-"},"content":" throw new InvalidCsvException(String.format(MESSAGE_ZERO_VALID_CONFIGS, csvFilePath.getFileName()));"},{"lineNumber":116,"author":{"gitId":"-"},"content":" }"},{"lineNumber":117,"author":{"gitId":"-"},"content":" return results;"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":121,"author":{"gitId":"-"},"content":" * Returns the header of a CSV file, which is assumed to be the first non-empty / non-whitespace line in the file"},{"lineNumber":122,"author":{"gitId":"-"},"content":" * read by {@code reader}."},{"lineNumber":123,"author":{"gitId":"-"},"content":" * The line is split into an array of {@code String}s, using the comma symbol as delimiter."},{"lineNumber":124,"author":{"gitId":"-"},"content":" *"},{"lineNumber":125,"author":{"gitId":"-"},"content":" * @throws IOException if there is an error accessing the file."},{"lineNumber":126,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if the file has only empty or blank lines."},{"lineNumber":127,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if header of csv file cannot be read."},{"lineNumber":128,"author":{"gitId":"-"},"content":" */"},{"lineNumber":129,"author":{"gitId":"-"},"content":" private String[] getHeader(BufferedReader reader) throws IOException, InvalidCsvException, InvalidHeaderException {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" String currentLine \u003d \"\";"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" // read from file until we encounter a line that is neither blank nor empty"},{"lineNumber":133,"author":{"gitId":"-"},"content":" while (currentLine.isEmpty()) {"},{"lineNumber":134,"author":{"gitId":"-"},"content":" currentLine \u003d Optional.ofNullable(reader.readLine())"},{"lineNumber":135,"author":{"gitId":"-"},"content":" .map(String::trim)"},{"lineNumber":136,"author":{"gitId":"-"},"content":" .orElseThrow(() -\u003e new InvalidCsvException(String.format("},{"lineNumber":137,"author":{"gitId":"-"},"content":" MESSAGE_EMPTY_CSV_FORMAT, csvFilePath.getFileName())));"},{"lineNumber":138,"author":{"gitId":"-"},"content":""},{"lineNumber":139,"author":{"gitId":"-"},"content":" numOfLinesBeforeFirstRecord++;"},{"lineNumber":140,"author":{"gitId":"-"},"content":" }"},{"lineNumber":141,"author":{"gitId":"-"},"content":" String[] header \u003d currentLine.split(\",\");"},{"lineNumber":142,"author":{"gitId":"-"},"content":" validateHeader(header);"},{"lineNumber":143,"author":{"gitId":"-"},"content":" return header;"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":147,"author":{"gitId":"-"},"content":" * Returns true if {@code record} does not contain the same number of columns as the header or contains missing"},{"lineNumber":148,"author":{"gitId":"-"},"content":" * values at the mandatory columns in CSV format."},{"lineNumber":149,"author":{"gitId":"-"},"content":" */"},{"lineNumber":150,"author":{"gitId":"-"},"content":" private boolean isLineMalformed(CSVRecord record) {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" if (!record.isConsistent()) {"},{"lineNumber":152,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_MALFORMED_LINE_FORMAT, getLineNumber(record),"},{"lineNumber":153,"author":{"gitId":"-"},"content":" csvFilePath.getFileName(), getRowContentAsRawString(record)));"},{"lineNumber":154,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":155,"author":{"gitId":"-"},"content":" }"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" for (String[] equivalentHeaders : mandatoryHeaders()) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" boolean isLineFormatMalformed \u003d"},{"lineNumber":159,"author":{"gitId":"-"},"content":" Arrays.stream(equivalentHeaders).allMatch(header -\u003e get(record, header).isEmpty());"},{"lineNumber":160,"author":{"gitId":"-"},"content":" if (isLineFormatMalformed) {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_MALFORMED_LINE_FORMAT, getLineNumber(record),"},{"lineNumber":162,"author":{"gitId":"-"},"content":" csvFilePath.getFileName(), getRowContentAsRawString(record)));"},{"lineNumber":163,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":" }"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":171,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column with the header {@code header}."},{"lineNumber":172,"author":{"gitId":"-"},"content":" */"},{"lineNumber":173,"author":{"gitId":"-"},"content":" protected String get(final CSVRecord record, String header) {"},{"lineNumber":174,"author":{"gitId":"-"},"content":" return headerMap.containsKey(header) ? record.get(headerMap.get(header)).trim() : EMPTY_STRING;"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":""},{"lineNumber":177,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":178,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column that match any of the equivalent headers in"},{"lineNumber":179,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders}."},{"lineNumber":180,"author":{"gitId":"-"},"content":" */"},{"lineNumber":181,"author":{"gitId":"-"},"content":" protected String get(final CSVRecord record, String[] equivalentHeaders) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" for (String header : equivalentHeaders) {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" if (headerMap.containsKey(header)) {"},{"lineNumber":184,"author":{"gitId":"-"},"content":" return record.get(headerMap.get(header)).trim();"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":" }"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" return EMPTY_STRING;"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":192,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column that match any of the equivalent headers in"},{"lineNumber":193,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} if present, or returns {@code defaultValue} otherwise."},{"lineNumber":194,"author":{"gitId":"-"},"content":" */"},{"lineNumber":195,"author":{"gitId":"-"},"content":" protected String getOrDefault(final CSVRecord record, String[] equivalentHeaders, String defaultValue) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" String value \u003d get(record, equivalentHeaders);"},{"lineNumber":197,"author":{"gitId":"-"},"content":" return value.isEmpty() ? defaultValue : value;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":201,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at the column that match any of the equivalent headers in"},{"lineNumber":202,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} as a {@link List} if it is in {@code record} and not empty."},{"lineNumber":203,"author":{"gitId":"-"},"content":" * The column is delimited by {@code COLUMN_VALUES_SEPARATOR}."},{"lineNumber":204,"author":{"gitId":"-"},"content":" * Returns an empty {@link List} otherwise."},{"lineNumber":205,"author":{"gitId":"-"},"content":" */"},{"lineNumber":206,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e getAsList(final CSVRecord record, String[] equivalentHeaders) {"},{"lineNumber":207,"author":{"gitId":"-"},"content":" String value \u003d get(record, equivalentHeaders);"},{"lineNumber":208,"author":{"gitId":"-"},"content":" if (value.isEmpty()) {"},{"lineNumber":209,"author":{"gitId":"-"},"content":" return Collections.emptyList();"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" return Arrays.stream(value.split(COLUMN_VALUES_SEPARATOR))"},{"lineNumber":213,"author":{"gitId":"-"},"content":" .map(String::trim)"},{"lineNumber":214,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":218,"author":{"gitId":"-"},"content":" * Returns the value of {@code record} at {@code colNum} as a {@code List},"},{"lineNumber":219,"author":{"gitId":"-"},"content":" * delimited by {@code COLUMN_VALUES_SEPARATOR} if it is in {@code record} and not empty, or"},{"lineNumber":220,"author":{"gitId":"-"},"content":" * returns a single element List containing the empty string otherwise."},{"lineNumber":221,"author":{"gitId":"-"},"content":" */"},{"lineNumber":222,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e getAsListOrDefault(final CSVRecord record, String[] equivalentHeaders) {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" List\u003cString\u003e list \u003d getAsList(record, equivalentHeaders);"},{"lineNumber":224,"author":{"gitId":"-"},"content":" return list.isEmpty() ? Collections.singletonList(\"\") : list;"},{"lineNumber":225,"author":{"gitId":"-"},"content":" }"},{"lineNumber":226,"author":{"gitId":"-"},"content":""},{"lineNumber":227,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":228,"author":{"gitId":"-"},"content":" * Returns the values in {@code record} as a list with the {@link CsvParser#OVERRIDE_KEYWORD} prefix removed."},{"lineNumber":229,"author":{"gitId":"-"},"content":" * Returns an empty list if {@code record} at the column that match any of the equivalent headers in"},{"lineNumber":230,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} is empty."},{"lineNumber":231,"author":{"gitId":"-"},"content":" */"},{"lineNumber":232,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e getAsListWithoutOverridePrefix(final CSVRecord record, String[] equivalentHeaders) {"},{"lineNumber":233,"author":{"gitId":"-"},"content":" List\u003cString\u003e data \u003d getAsList(record, equivalentHeaders);"},{"lineNumber":234,"author":{"gitId":"-"},"content":" if (isElementOverridingStandaloneConfig(record, equivalentHeaders)) {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" data.set(0, data.get(0).replaceFirst(OVERRIDE_KEYWORD, \"\"));"},{"lineNumber":236,"author":{"gitId":"-"},"content":" data.removeIf(String::isEmpty);"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" return data;"},{"lineNumber":240,"author":{"gitId":"-"},"content":" }"},{"lineNumber":241,"author":{"gitId":"-"},"content":""},{"lineNumber":242,"author":{"gitId":"-"},"content":" private long getLineNumber(final CSVRecord record) {"},{"lineNumber":243,"author":{"gitId":"-"},"content":" return record.getRecordNumber() + numOfLinesBeforeFirstRecord;"},{"lineNumber":244,"author":{"gitId":"-"},"content":" }"},{"lineNumber":245,"author":{"gitId":"-"},"content":""},{"lineNumber":246,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":247,"author":{"gitId":"-"},"content":" * Returns true if the {@code record} at the column that match any of the equivalent headers in"},{"lineNumber":248,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders} is prefixed with the override keyword."},{"lineNumber":249,"author":{"gitId":"-"},"content":" */"},{"lineNumber":250,"author":{"gitId":"-"},"content":" protected boolean isElementOverridingStandaloneConfig(final CSVRecord record, String[] equivalentHeaders) {"},{"lineNumber":251,"author":{"gitId":"-"},"content":" return get(record, equivalentHeaders).startsWith(OVERRIDE_KEYWORD);"},{"lineNumber":252,"author":{"gitId":"-"},"content":" }"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":255,"author":{"gitId":"-"},"content":" * Returns the contents of {@code record} as a raw string."},{"lineNumber":256,"author":{"gitId":"-"},"content":" */"},{"lineNumber":257,"author":{"gitId":"-"},"content":" private String getRowContentAsRawString(final CSVRecord record) {"},{"lineNumber":258,"author":{"gitId":"-"},"content":" StringJoiner inputRowString \u003d new StringJoiner(\",\");"},{"lineNumber":259,"author":{"gitId":"-"},"content":" for (String value : record) {"},{"lineNumber":260,"author":{"gitId":"-"},"content":" inputRowString.add(value);"},{"lineNumber":261,"author":{"gitId":"-"},"content":" }"},{"lineNumber":262,"author":{"gitId":"-"},"content":" String contentAsString \u003d inputRowString.toString();"},{"lineNumber":263,"author":{"gitId":"-"},"content":" return (contentAsString.trim().isEmpty()) ? MESSAGE_EMPTY_LINE : contentAsString;"},{"lineNumber":264,"author":{"gitId":"-"},"content":" }"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":267,"author":{"gitId":"-"},"content":" * Generates map of column header to position number for input {@code possibleHeader}."},{"lineNumber":268,"author":{"gitId":"-"},"content":" *"},{"lineNumber":269,"author":{"gitId":"-"},"content":" * @throws InvalidCsvException if {@code possibleHeader} does not contain all the mandatory headers."},{"lineNumber":270,"author":{"gitId":"-"},"content":" * @throws InvalidHeaderException if a column in {@code possibleHeader} cannot be parsed."},{"lineNumber":271,"author":{"gitId":"-"},"content":" */"},{"lineNumber":272,"author":{"gitId":"-"},"content":" private void validateHeader(String[] possibleHeader) throws InvalidCsvException, InvalidHeaderException {"},{"lineNumber":273,"author":{"gitId":"-"},"content":" int headerSize \u003d possibleHeader.length;"},{"lineNumber":274,"author":{"gitId":"-"},"content":" Set\u003cString\u003e knownColumns \u003d new HashSet\u003c\u003e();"},{"lineNumber":275,"author":{"gitId":"-"},"content":" ArrayList\u003cString\u003e unknownColumns \u003d new ArrayList\u003c\u003e();"},{"lineNumber":276,"author":{"gitId":"-"},"content":" List\u003cString\u003e parsedHeaders \u003d mandatoryAndOptionalHeaders();"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c headerSize; i++) {"},{"lineNumber":279,"author":{"gitId":"-"},"content":" String possible \u003d possibleHeader[i].trim();"},{"lineNumber":280,"author":{"gitId":"-"},"content":" for (String parsedHeader : parsedHeaders) {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" if (possible.equalsIgnoreCase(parsedHeader)) {"},{"lineNumber":282,"author":{"gitId":"-"},"content":" headerMap.put(parsedHeader, i);"},{"lineNumber":283,"author":{"gitId":"-"},"content":" knownColumns.add(possible);"},{"lineNumber":284,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":285,"author":{"gitId":"-"},"content":" }"},{"lineNumber":286,"author":{"gitId":"-"},"content":" }"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" if (!knownColumns.contains(possible)) {"},{"lineNumber":289,"author":{"gitId":"-"},"content":" unknownColumns.add(possible);"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":" }"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" if (unknownColumns.size() \u003e 0) {"},{"lineNumber":294,"author":{"gitId":"-"},"content":" String errorMessage \u003d String.join(\", \", unknownColumns);"},{"lineNumber":295,"author":{"gitId":"-"},"content":" throw new InvalidHeaderException("},{"lineNumber":296,"author":{"gitId":"-"},"content":" String.format(MESSAGE_UNKNOWN_COLUMN, errorMessage, csvFilePath.toString()));"},{"lineNumber":297,"author":{"gitId":"-"},"content":" }"},{"lineNumber":298,"author":{"gitId":"-"},"content":""},{"lineNumber":299,"author":{"gitId":"-"},"content":" for (String[] equivalentHeaders : mandatoryHeaders()) {"},{"lineNumber":300,"author":{"gitId":"-"},"content":" boolean isAnyEquivalentHeaderPresent \u003d"},{"lineNumber":301,"author":{"gitId":"-"},"content":" Arrays.stream(equivalentHeaders).anyMatch(header -\u003e headerMap.containsKey(header));"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" if (!isAnyEquivalentHeaderPresent) {"},{"lineNumber":304,"author":{"gitId":"-"},"content":" throw new InvalidCsvException(String.format("},{"lineNumber":305,"author":{"gitId":"-"},"content":" MESSAGE_MANDATORY_HEADER_MISSING, Arrays.toString(equivalentHeaders),"},{"lineNumber":306,"author":{"gitId":"-"},"content":" csvFilePath.getFileName()));"},{"lineNumber":307,"author":{"gitId":"-"},"content":" }"},{"lineNumber":308,"author":{"gitId":"-"},"content":" }"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_COLUMNS_RECOGNIZED, csvFilePath.getFileName(),"},{"lineNumber":311,"author":{"gitId":"-"},"content":" String.join(\", \", headerMap.keySet())));"},{"lineNumber":312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":315,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification."},{"lineNumber":316,"author":{"gitId":"-"},"content":" */"},{"lineNumber":317,"author":{"gitId":"-"},"content":" protected abstract String[][] mandatoryHeaders();"},{"lineNumber":318,"author":{"gitId":"-"},"content":""},{"lineNumber":319,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":320,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed."},{"lineNumber":321,"author":{"gitId":"-"},"content":" */"},{"lineNumber":322,"author":{"gitId":"-"},"content":" protected abstract String[][] optionalHeaders();"},{"lineNumber":323,"author":{"gitId":"-"},"content":""},{"lineNumber":324,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":325,"author":{"gitId":"-"},"content":" * Gets the list of all mandatory and optional headers that can be parsed."},{"lineNumber":326,"author":{"gitId":"-"},"content":" */"},{"lineNumber":327,"author":{"gitId":"-"},"content":" protected List\u003cString\u003e mandatoryAndOptionalHeaders() {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" return Stream.concat(Arrays.stream(mandatoryHeaders()), Arrays.stream(optionalHeaders()))"},{"lineNumber":329,"author":{"gitId":"-"},"content":" .flatMap(Stream::of)"},{"lineNumber":330,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":331,"author":{"gitId":"-"},"content":" }"},{"lineNumber":332,"author":{"gitId":"-"},"content":""},{"lineNumber":333,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":334,"author":{"gitId":"-"},"content":" * Processes the csv file line by line."},{"lineNumber":335,"author":{"gitId":"-"},"content":" * All {@link CsvParser}s must use {@link CsvParser#get}, {@link CsvParser#getOrDefault},"},{"lineNumber":336,"author":{"gitId":"-"},"content":" * {@link CsvParser#getAsList} or {@link CsvParser#getAsListWithoutOverridePrefix} to read contents in"},{"lineNumber":337,"author":{"gitId":"-"},"content":" * {@code record} and add created objects into {@code results}."},{"lineNumber":338,"author":{"gitId":"-"},"content":" *"},{"lineNumber":339,"author":{"gitId":"-"},"content":" * @throws ParseException if any line does not get read successfully."},{"lineNumber":340,"author":{"gitId":"-"},"content":" */"},{"lineNumber":341,"author":{"gitId":"-"},"content":" protected abstract void processLine(List\u003cT\u003e results, final CSVRecord record) throws ParseException;"},{"lineNumber":342,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":3,"-":339}},{"path":"src/main/java/reposense/parser/GroupConfigCsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.model.FileType;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.GroupConfiguration;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Container for the values parsed from {@code group-config.csv} file."},{"lineNumber":16,"author":{"gitId":"-"},"content":" */"},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class GroupConfigCsvParser extends CsvParser\u003cGroupConfiguration\u003e {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" public static final String GROUP_CONFIG_FILENAME \u003d \"group-config.csv\";"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Positions of the elements of a line in group-config.csv config file"},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String[] LOCATION_HEADER \u003d {\"Repository\u0027s Location\"};"},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final String[] GROUP_NAME_HEADER \u003d {\"Group Name\"};"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String[] FILES_GLOB_HEADER \u003d {\"Globs\"};"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" public GroupConfigCsvParser(Path csvFilePath) throws FileNotFoundException {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" super(csvFilePath);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" }"},{"lineNumber":30,"author":{"gitId":"-"},"content":""},{"lineNumber":31,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification."},{"lineNumber":33,"author":{"gitId":"-"},"content":" */"},{"lineNumber":34,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":35,"author":{"gitId":"-"},"content":" protected String[][] mandatoryHeaders() {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" return new String[][] {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" GROUP_NAME_HEADER, FILES_GLOB_HEADER,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" };"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":42,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed."},{"lineNumber":43,"author":{"gitId":"-"},"content":" */"},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":45,"author":{"gitId":"-"},"content":" protected String[][] optionalHeaders() {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" return new String[][] {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" LOCATION_HEADER,"},{"lineNumber":48,"author":{"gitId":"-"},"content":" };"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":52,"author":{"gitId":"-"},"content":" * Processes the csv {@code record} line by line and adds created {@link GroupConfiguration} into {@code results}."},{"lineNumber":53,"author":{"gitId":"-"},"content":" */"},{"lineNumber":54,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":55,"author":{"gitId":"-"},"content":" protected void processLine(List\u003cGroupConfiguration\u003e results, CSVRecord record) throws InvalidLocationException {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" String location \u003d get(record, LOCATION_HEADER);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" String groupName \u003d get(record, GROUP_NAME_HEADER);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" List\u003cString\u003e globList \u003d getAsList(record, FILES_GLOB_HEADER);"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" GroupConfiguration groupConfig \u003d null;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" groupConfig \u003d findMatchingGroupConfiguration(results, location);"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" FileType group \u003d new FileType(groupName, globList);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" if (groupConfig.containsGroup(group)) {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" logger.warning(String.format("},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"Skipping group as %s has already been specified for the repository %s\","},{"lineNumber":67,"author":{"gitId":"-"},"content":" group.toString(), groupConfig.getLocation()));"},{"lineNumber":68,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" groupConfig.addGroup(group);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":75,"author":{"gitId":"-"},"content":" * Gets an existing {@link GroupConfiguration} from {@code results} if {@code location} matches."},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Otherwise, adds a newly created {@link GroupConfiguration} into {@code results} and returns it."},{"lineNumber":77,"author":{"gitId":"-"},"content":" *"},{"lineNumber":78,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if {@code location} is invalid."},{"lineNumber":79,"author":{"gitId":"-"},"content":" */"},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static GroupConfiguration findMatchingGroupConfiguration(List\u003cGroupConfiguration\u003e results,"},{"lineNumber":81,"author":{"gitId":"-"},"content":" String location) throws InvalidLocationException {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" GroupConfiguration config \u003d new GroupConfiguration(new RepoLocation(location));"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" for (GroupConfiguration groupConfig : results) {"},{"lineNumber":85,"author":{"gitId":"-"},"content":" if (groupConfig.getLocation().equals(config.getLocation())) {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" return groupConfig;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" results.add(config);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" return config;"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":92}},{"path":"src/main/java/reposense/parser/RepoConfigCsvParser.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileNotFoundException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.apache.commons.csv.CSVRecord;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.FileType;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":13,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.util.StringsUtil;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":18,"author":{"gitId":"-"},"content":" * Container for the values parsed from {@code repo-config.csv} file."},{"lineNumber":19,"author":{"gitId":"-"},"content":" */"},{"lineNumber":20,"author":{"gitId":"-"},"content":"public class RepoConfigCsvParser extends CsvParser\u003cRepoConfiguration\u003e {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" public static final String REPO_CONFIG_FILENAME \u003d \"repo-config.csv\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String IGNORE_STANDALONE_CONFIG_KEYWORD \u003d \"yes\";"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String IGNORE_FILESIZE_LIMIT_KEYWORD \u003d \"yes\";"},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final String SKIP_IGNORED_FILE_ANALYSIS_KEYWORD \u003d \"yes\";"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String SHALLOW_CLONING_CONFIG_KEYWORD \u003d \"yes\";"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String FIND_PREVIOUS_AUTHORS_KEYWORD \u003d \"yes\";"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":29,"author":{"gitId":"-"},"content":" * Positions of the elements of a line in repo-config.csv config file"},{"lineNumber":30,"author":{"gitId":"-"},"content":" */"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String[] LOCATION_HEADER \u003d {\"Repository\u0027s Location\"};"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String[] BRANCH_HEADER \u003d {\"Branch\"};"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final String[] FILE_FORMATS_HEADER \u003d {\"File formats\"};"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_GLOB_LIST_HEADER \u003d {\"Ignore Glob List\"};"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_STANDALONE_CONFIG_HEADER \u003d {\"Ignore Standalone Config\"};"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_FILESIZE_LIMIT_HEADER \u003d {\"Ignore File Size Limit\"};"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_COMMIT_LIST_CONFIG_HEADER \u003d {\"Ignore Commits List\"};"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final String[] IGNORE_AUTHOR_LIST_CONFIG_HEADER \u003d {\"Ignore Authors List\"};"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final String[] SKIP_IGNORED_FILE_ANALYSIS_HEADER \u003d {\"Skip Ignored File Analysis\"};"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final String[] SHALLOW_CLONING_CONFIG_HEADER \u003d {\"Shallow Cloning\"};"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final String[] FIND_PREVIOUS_AUTHORS_CONFIG_HEADER \u003d {\"Find Previous Authors\"};"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final String[] FILESIZE_LIMIT_HEADER \u003d {\"File Size Limit\"};"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" public RepoConfigCsvParser(Path csvFilePath) throws FileNotFoundException {"},{"lineNumber":45,"author":{"gitId":"-"},"content":" super(csvFilePath);"},{"lineNumber":46,"author":{"gitId":"-"},"content":" }"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":49,"author":{"gitId":"-"},"content":" * Gets the list of headers that are mandatory for verification."},{"lineNumber":50,"author":{"gitId":"-"},"content":" */"},{"lineNumber":51,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":52,"author":{"gitId":"-"},"content":" protected String[][] mandatoryHeaders() {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" return new String[][] {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" LOCATION_HEADER,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" };"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":59,"author":{"gitId":"-"},"content":" * Gets the list of optional headers that can be parsed."},{"lineNumber":60,"author":{"gitId":"-"},"content":" */"},{"lineNumber":61,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":62,"author":{"gitId":"-"},"content":" protected String[][] optionalHeaders() {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" return new String[][] {"},{"lineNumber":64,"author":{"gitId":"-"},"content":" BRANCH_HEADER, FILE_FORMATS_HEADER, IGNORE_GLOB_LIST_HEADER, IGNORE_STANDALONE_CONFIG_HEADER,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" IGNORE_FILESIZE_LIMIT_HEADER, IGNORE_COMMIT_LIST_CONFIG_HEADER, IGNORE_AUTHOR_LIST_CONFIG_HEADER,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" SHALLOW_CLONING_CONFIG_HEADER, FIND_PREVIOUS_AUTHORS_CONFIG_HEADER, FILESIZE_LIMIT_HEADER,"},{"lineNumber":67,"author":{"gitId":"-"},"content":" SKIP_IGNORED_FILE_ANALYSIS_HEADER"},{"lineNumber":68,"author":{"gitId":"-"},"content":" };"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":""},{"lineNumber":71,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":72,"author":{"gitId":"-"},"content":" * Processes the csv {@code record} line by line and add created {@link RepoConfiguration} into {@code results} but"},{"lineNumber":73,"author":{"gitId":"-"},"content":" * ignores duplicated {@link RepoConfiguration} if there exists one that has same {@code location} and"},{"lineNumber":74,"author":{"gitId":"-"},"content":" * {@code branch}."},{"lineNumber":75,"author":{"gitId":"-"},"content":" *"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * @throws InvalidLocationException if the location represented in {@code record} is invalid."},{"lineNumber":77,"author":{"gitId":"-"},"content":" */"},{"lineNumber":78,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":79,"author":{"gitId":"-"},"content":" protected void processLine(List\u003cRepoConfiguration\u003e results, CSVRecord record) throws InvalidLocationException {"},{"lineNumber":80,"author":{"gitId":"-"},"content":" // The variable expansion is performed to simulate running the same location from command line."},{"lineNumber":81,"author":{"gitId":"-"},"content":" // This helps to support things like tilde expansion and other Bash/CMD features."},{"lineNumber":82,"author":{"gitId":"-"},"content":" RepoLocation location \u003d new RepoLocation(FileUtil.getVariableExpandedFilePath(get(record, LOCATION_HEADER)));"},{"lineNumber":83,"author":{"gitId":"-"},"content":" String branch \u003d getOrDefault(record, BRANCH_HEADER, RepoConfiguration.DEFAULT_BRANCH);"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" boolean isFormatsOverriding \u003d isElementOverridingStandaloneConfig(record, FILE_FORMATS_HEADER);"},{"lineNumber":86,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e formats \u003d FileType.convertFormatStringsToFileTypes("},{"lineNumber":87,"author":{"gitId":"-"},"content":" getAsListWithoutOverridePrefix(record, FILE_FORMATS_HEADER));"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" boolean isIgnoreGlobListOverriding \u003d isElementOverridingStandaloneConfig(record, IGNORE_GLOB_LIST_HEADER);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList \u003d getAsListWithoutOverridePrefix(record, IGNORE_GLOB_LIST_HEADER);"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" boolean isIgnoreCommitListOverriding \u003d"},{"lineNumber":93,"author":{"gitId":"-"},"content":" isElementOverridingStandaloneConfig(record, IGNORE_COMMIT_LIST_CONFIG_HEADER);"},{"lineNumber":94,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e ignoreCommitList \u003d CommitHash.convertStringsToCommits("},{"lineNumber":95,"author":{"gitId":"-"},"content":" getAsListWithoutOverridePrefix(record, IGNORE_COMMIT_LIST_CONFIG_HEADER));"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" boolean isIgnoredAuthorsListOverriding \u003d"},{"lineNumber":98,"author":{"gitId":"-"},"content":" isElementOverridingStandaloneConfig(record, IGNORE_AUTHOR_LIST_CONFIG_HEADER);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoredAuthorsList \u003d getAsListWithoutOverridePrefix(record, IGNORE_AUTHOR_LIST_CONFIG_HEADER);"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" boolean isFileSizeLimitIgnored \u003d matchValueAndKeyword(record, IGNORE_FILESIZE_LIMIT_HEADER,"},{"lineNumber":102,"author":{"gitId":"-"},"content":" IGNORE_FILESIZE_LIMIT_KEYWORD);"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" boolean isIgnoredFileAnalysisSkipped \u003d matchValueAndKeyword(record, SKIP_IGNORED_FILE_ANALYSIS_HEADER,"},{"lineNumber":105,"author":{"gitId":"-"},"content":" SKIP_IGNORED_FILE_ANALYSIS_KEYWORD);"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" if (isFileSizeLimitIgnored \u0026\u0026 isIgnoredFileAnalysisSkipped) {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" logger.warning(\"Ignoring skip ignored file analysis column since file size limit is ignored\");"},{"lineNumber":109,"author":{"gitId":"-"},"content":" isIgnoredFileAnalysisSkipped \u003d false;"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" boolean isFileSizeLimitOverriding \u003d isElementOverridingStandaloneConfig(record, FILESIZE_LIMIT_HEADER);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" List\u003cString\u003e fileSizeLimitStringList \u003d getAsListWithoutOverridePrefix(record, FILESIZE_LIMIT_HEADER);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" long fileSizeLimit \u003d RepoConfiguration.DEFAULT_FILE_SIZE_LIMIT;"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" // If file diff limit is specified"},{"lineNumber":117,"author":{"gitId":"-"},"content":" if (fileSizeLimitStringList.size() \u003e 0) {"},{"lineNumber":118,"author":{"gitId":"asdfghjkxd"},"content":" String fileSizeLimitString \u003d fileSizeLimitStringList.get(0).trim();"},{"lineNumber":119,"author":{"gitId":"asdfghjkxd"},"content":" int parseValue;"},{"lineNumber":120,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" if (isFileSizeLimitIgnored) {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" logger.warning(\"Ignoring file size limit column since file size limit is ignored\");"},{"lineNumber":123,"author":{"gitId":"-"},"content":" isFileSizeLimitOverriding \u003d false;"},{"lineNumber":124,"author":{"gitId":"asdfghjkxd"},"content":" } else if (!StringsUtil.isNumeric(fileSizeLimitString)"},{"lineNumber":125,"author":{"gitId":"-"},"content":" || (parseValue \u003d Integer.parseInt(fileSizeLimitString)) \u003c\u003d 0) {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"Values in \\\"%s\\\" column should be positive integers.\","},{"lineNumber":127,"author":{"gitId":"-"},"content":" FILESIZE_LIMIT_HEADER[0]));"},{"lineNumber":128,"author":{"gitId":"-"},"content":" isFileSizeLimitOverriding \u003d false;"},{"lineNumber":129,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" fileSizeLimit \u003d parseValue;"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" boolean isStandaloneConfigIgnored \u003d matchValueAndKeyword(record, IGNORE_STANDALONE_CONFIG_HEADER,"},{"lineNumber":135,"author":{"gitId":"-"},"content":" IGNORE_STANDALONE_CONFIG_KEYWORD);"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" boolean isShallowCloningPerformed \u003d matchValueAndKeyword(record, SHALLOW_CLONING_CONFIG_HEADER,"},{"lineNumber":138,"author":{"gitId":"-"},"content":" SHALLOW_CLONING_CONFIG_KEYWORD);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" boolean isFindingPreviousAuthorsPerformed \u003d matchValueAndKeyword(record, FIND_PREVIOUS_AUTHORS_CONFIG_HEADER,"},{"lineNumber":141,"author":{"gitId":"-"},"content":" FIND_PREVIOUS_AUTHORS_KEYWORD);"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" addConfig(results, location, branch, isFormatsOverriding, formats, isIgnoreGlobListOverriding, ignoreGlobList,"},{"lineNumber":144,"author":{"gitId":"-"},"content":" isIgnoreCommitListOverriding, ignoreCommitList, isIgnoredAuthorsListOverriding, ignoredAuthorsList,"},{"lineNumber":145,"author":{"gitId":"-"},"content":" isFileSizeLimitIgnored, isIgnoredFileAnalysisSkipped, isFileSizeLimitOverriding, fileSizeLimit,"},{"lineNumber":146,"author":{"gitId":"-"},"content":" isStandaloneConfigIgnored, isShallowCloningPerformed, isFindingPreviousAuthorsPerformed);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":150,"author":{"gitId":"-"},"content":" * Returns true if value from {@code record}, that matches any of the equivalent headers in"},{"lineNumber":151,"author":{"gitId":"-"},"content":" * {@code equivalentHeaders}, is the same as the given {@code keyword}, else false."},{"lineNumber":152,"author":{"gitId":"-"},"content":" */"},{"lineNumber":153,"author":{"gitId":"-"},"content":" private boolean matchValueAndKeyword(CSVRecord record, String[] equivalentHeaders, String keyword) {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" String value \u003d get(record, equivalentHeaders);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" boolean isIgnored \u003d value.equalsIgnoreCase(keyword);"},{"lineNumber":156,"author":{"gitId":"-"},"content":""},{"lineNumber":157,"author":{"gitId":"-"},"content":" if (!isIgnored \u0026\u0026 !value.isEmpty()) {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" logger.warning(String.format(\"Ignoring unknown value %s in %s column.\", value, keyword.toLowerCase()));"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" return isIgnored;"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":165,"author":{"gitId":"-"},"content":" * Creates a new {@link RepoConfiguration} with the supplied inputs and attempts to add it to {@code results}."},{"lineNumber":166,"author":{"gitId":"-"},"content":" * Does nothing if the repo already exists in {@code results}."},{"lineNumber":167,"author":{"gitId":"-"},"content":" */"},{"lineNumber":168,"author":{"gitId":"-"},"content":" private void addConfig(List\u003cRepoConfiguration\u003e results, RepoLocation location, String branch,"},{"lineNumber":169,"author":{"gitId":"-"},"content":" boolean isFormatsOverriding, List\u003cFileType\u003e formats, boolean isIgnoreGlobListOverriding,"},{"lineNumber":170,"author":{"gitId":"-"},"content":" List\u003cString\u003e ignoreGlobList, boolean isIgnoreCommitListOverriding, List\u003cCommitHash\u003e ignoreCommitList,"},{"lineNumber":171,"author":{"gitId":"-"},"content":" boolean isIgnoredAuthorsListOverriding, List\u003cString\u003e ignoredAuthorsList, boolean isFileSizeLimitIgnored,"},{"lineNumber":172,"author":{"gitId":"-"},"content":" boolean isIgnoredFileAnalysisSkipped, boolean isFileSizeLimitOverriding, long fileSizeLimit,"},{"lineNumber":173,"author":{"gitId":"-"},"content":" boolean isStandaloneConfigIgnored, boolean isShallowCloningPerformed,"},{"lineNumber":174,"author":{"gitId":"-"},"content":" boolean isFindingPreviousAuthorsPerformed) {"},{"lineNumber":175,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration config \u003d new RepoConfiguration.Builder()"},{"lineNumber":176,"author":{"gitId":"asdfghjkxd"},"content":" .location(location)"},{"lineNumber":177,"author":{"gitId":"asdfghjkxd"},"content":" .branch(branch)"},{"lineNumber":178,"author":{"gitId":"asdfghjkxd"},"content":" .fileTypeManager(formats)"},{"lineNumber":179,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreGlobList(ignoreGlobList)"},{"lineNumber":180,"author":{"gitId":"asdfghjkxd"},"content":" .fileSizeLimit(fileSizeLimit)"},{"lineNumber":181,"author":{"gitId":"asdfghjkxd"},"content":" .isStandaloneConfigIgnored(isStandaloneConfigIgnored)"},{"lineNumber":182,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitIgnored(isFileSizeLimitIgnored)"},{"lineNumber":183,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreCommitList(ignoreCommitList)"},{"lineNumber":184,"author":{"gitId":"asdfghjkxd"},"content":" .isFormatsOverriding(isFormatsOverriding)"},{"lineNumber":185,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreGlobListOverriding(isIgnoreGlobListOverriding)"},{"lineNumber":186,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreCommitListOverriding(isIgnoreCommitListOverriding)"},{"lineNumber":187,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitOverriding(isFileSizeLimitOverriding)"},{"lineNumber":188,"author":{"gitId":"asdfghjkxd"},"content":" .isShallowCloningPerformed(isShallowCloningPerformed)"},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" .isFindingPreviousAuthorsPerformed(isFindingPreviousAuthorsPerformed)"},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredFileAnalysisSkipped(isIgnoredFileAnalysisSkipped)"},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" .ignoredAuthorsList(ignoredAuthorsList)"},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredAuthorsListOverriding(isIgnoredAuthorsListOverriding)"},{"lineNumber":193,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":194,"author":{"gitId":"-"},"content":""},{"lineNumber":195,"author":{"gitId":"-"},"content":" if (results.contains(config)) {"},{"lineNumber":196,"author":{"gitId":"-"},"content":" logger.warning(\"Ignoring duplicated repository \" + location + \" \" + branch);"},{"lineNumber":197,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" results.add(config);"},{"lineNumber":201,"author":{"gitId":"-"},"content":" }"},{"lineNumber":202,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":24,"-":178}},{"path":"src/main/java/reposense/parser/exceptions/InvalidCsvException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that there is a major error in a CSV file (e.g. wrong number of columns, zero valid records)."},{"lineNumber":5,"author":{"gitId":"-"},"content":" */"},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class InvalidCsvException extends Exception {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" public InvalidCsvException(String message) {"},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);"},{"lineNumber":9,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/exceptions/InvalidHeaderException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that there is a problem in the header of csv config file."},{"lineNumber":5,"author":{"gitId":"-"},"content":" */"},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class InvalidHeaderException extends Exception {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" public InvalidHeaderException(String message) {"},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);"},{"lineNumber":9,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/exceptions/InvalidLocationException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that location cannot be represented by {@code URL} or {@code Path}."},{"lineNumber":5,"author":{"gitId":"-"},"content":" */"},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class InvalidLocationException extends ParseException {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" public InvalidLocationException(String message) {"},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);"},{"lineNumber":9,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/exceptions/ParseException.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.exceptions;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":4,"author":{"gitId":"-"},"content":" * Signals that there is an exception when parsing a string."},{"lineNumber":5,"author":{"gitId":"-"},"content":" */"},{"lineNumber":6,"author":{"gitId":"-"},"content":"public class ParseException extends Exception {"},{"lineNumber":7,"author":{"gitId":"-"},"content":" public ParseException(String message) {"},{"lineNumber":8,"author":{"gitId":"-"},"content":" super(message);"},{"lineNumber":9,"author":{"gitId":"-"},"content":" }"},{"lineNumber":10,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":9}},{"path":"src/main/java/reposense/parser/types/AlphanumericArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":11,"author":{"gitId":"-"},"content":" * Represents an alphanumeric type {@code String} argument."},{"lineNumber":12,"author":{"gitId":"-"},"content":" */"},{"lineNumber":13,"author":{"gitId":"-"},"content":"public class AlphanumericArgumentType implements ArgumentType\u003cString\u003e {"},{"lineNumber":14,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_NOT_IN_ALPLANUMERIC \u003d"},{"lineNumber":15,"author":{"gitId":"-"},"content":" \"Invalid format. It must be in alphanumeric.\";"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final Pattern ALPHANUMERIC_PATTERN \u003d Pattern.compile(\"[A-Za-z0-9]+\");"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":19,"author":{"gitId":"-"},"content":" public String convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" if (!ALPHANUMERIC_PATTERN.matcher(value).matches()) {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" throw new ArgumentParserException("},{"lineNumber":22,"author":{"gitId":"-"},"content":" String.format(PARSE_EXCEPTION_MESSAGE_NOT_IN_ALPLANUMERIC, value), parser);"},{"lineNumber":23,"author":{"gitId":"-"},"content":" }"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" return value;"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":26}},{"path":"src/main/java/reposense/parser/types/AnalysisThreadsArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":9,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted integer to an {@link Integer} object."},{"lineNumber":10,"author":{"gitId":"-"},"content":" */"},{"lineNumber":11,"author":{"gitId":"-"},"content":"public class AnalysisThreadsArgumentType implements ArgumentType\u003cInteger\u003e {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" public Integer convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" return Integer.parseInt(value);"},{"lineNumber":14,"author":{"gitId":"-"},"content":" }"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":14}},{"path":"src/main/java/reposense/parser/types/AssetsFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --assets} flag."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class AssetsFolderArgumentType implements ArgumentType\u003cPath\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":17,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks"},{"lineNumber":19,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanRead().convert(parser, arg, value);"},{"lineNumber":20,"author":{"gitId":"-"},"content":" return Paths.get(value);"},{"lineNumber":21,"author":{"gitId":"-"},"content":" }"},{"lineNumber":22,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":21}},{"path":"src/main/java/reposense/parser/types/CloningThreadsArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":9,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted integer to an {@link Integer} object."},{"lineNumber":10,"author":{"gitId":"-"},"content":" */"},{"lineNumber":11,"author":{"gitId":"-"},"content":"public class CloningThreadsArgumentType implements ArgumentType\u003cInteger\u003e {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" public Integer convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":13,"author":{"gitId":"-"},"content":" return Integer.parseInt(value);"},{"lineNumber":14,"author":{"gitId":"-"},"content":" }"},{"lineNumber":15,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":14}},{"path":"src/main/java/reposense/parser/types/ConfigFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.RepoConfigCsvParser;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --config} flag."},{"lineNumber":16,"author":{"gitId":"-"},"content":" */"},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class ConfigFolderArgumentType implements ArgumentType\u003cPath\u003e {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_MISSING_REQUIRED_CONFIG_FILES \u003d"},{"lineNumber":19,"author":{"gitId":"-"},"content":" \"The required config file %s is not found in the specified folder.\";"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":22,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks"},{"lineNumber":24,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanRead().convert(parser, arg, value);"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" if (Files.exists(Paths.get(value).resolve(RepoConfigCsvParser.REPO_CONFIG_FILENAME))) {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" return Paths.get(value);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(String.format(PARSE_EXCEPTION_MESSAGE_MISSING_REQUIRED_CONFIG_FILES,"},{"lineNumber":31,"author":{"gitId":"-"},"content":" RepoConfigCsvParser.REPO_CONFIG_FILENAME), parser);"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":31}},{"path":"src/main/java/reposense/parser/types/DateArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted date to a {@link LocalDateTime} object."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class DateArgumentType implements ArgumentType\u003cOptional\u003cLocalDateTime\u003e\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_INVALID_DATE_STRING_FORMAT \u003d \"Invalid Date: %s\";"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":19,"author":{"gitId":"-"},"content":" public Optional\u003cLocalDateTime\u003e convert(ArgumentParser parser, Argument arg, String value)"},{"lineNumber":20,"author":{"gitId":"-"},"content":" throws ArgumentParserException {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" return Optional.of(TimeUtil.parseDate(value));"},{"lineNumber":23,"author":{"gitId":"-"},"content":" } catch (java.text.ParseException pe) {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" throw new ArgumentParserException("},{"lineNumber":25,"author":{"gitId":"-"},"content":" String.format(PARSE_EXCEPTION_MESSAGE_INVALID_DATE_STRING_FORMAT, value), parser);"},{"lineNumber":26,"author":{"gitId":"-"},"content":" }"},{"lineNumber":27,"author":{"gitId":"-"},"content":" }"},{"lineNumber":28,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":27}},{"path":"src/main/java/reposense/parser/types/OutputFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.ArgsParser;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":14,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --output} flag."},{"lineNumber":15,"author":{"gitId":"-"},"content":" */"},{"lineNumber":16,"author":{"gitId":"-"},"content":"public class OutputFolderArgumentType implements ArgumentType\u003cPath\u003e {"},{"lineNumber":17,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":18,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks"},{"lineNumber":20,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanWrite()"},{"lineNumber":21,"author":{"gitId":"-"},"content":" .or()"},{"lineNumber":22,"author":{"gitId":"-"},"content":" .verifyNotExists().convert(parser, arg, value);"},{"lineNumber":23,"author":{"gitId":"-"},"content":" return Paths.get(value).resolve(ArgsParser.DEFAULT_REPORT_NAME);"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":23}},{"path":"src/main/java/reposense/parser/types/PeriodArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted period to an integer."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class PeriodArgumentType implements ArgumentType\u003cOptional\u003cInteger\u003e\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_NOT_IN_NUMERIC \u003d"},{"lineNumber":17,"author":{"gitId":"-"},"content":" \"Invalid format. Period must be in the format of nd (n days) or nw (n weeks), \""},{"lineNumber":18,"author":{"gitId":"-"},"content":" + \"where n is a number greater than 0.\";"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_SMALLER_THAN_ZERO \u003d"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"Invalid format. Period must be greater than 0.\";"},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String PARSE_EXCEPTION_MESSAGE_NUMBER_TOO_LARGE \u003d"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"Invalid format. Input number may be too large.\";"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final Pattern PERIOD_PATTERN \u003d Pattern.compile(\"[0-9]+[dw]\");"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":26,"author":{"gitId":"-"},"content":" public Optional\u003cInteger\u003e convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" return parse(value);"},{"lineNumber":29,"author":{"gitId":"-"},"content":" } catch (ParseException pe) {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(pe.getMessage(), parser);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" }"},{"lineNumber":32,"author":{"gitId":"-"},"content":" }"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * Parses a {@code period} String and returns an {@link Integer} representing the number of days."},{"lineNumber":36,"author":{"gitId":"-"},"content":" *"},{"lineNumber":37,"author":{"gitId":"-"},"content":" * @throws ParseException if period format or number is invalid."},{"lineNumber":38,"author":{"gitId":"-"},"content":" */"},{"lineNumber":39,"author":{"gitId":"-"},"content":" public static Optional\u003cInteger\u003e parse(String period) throws ParseException {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" if (!PERIOD_PATTERN.matcher(period).matches()) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" throw new ParseException(String.format(PARSE_EXCEPTION_MESSAGE_NOT_IN_NUMERIC, period));"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" int multiplier \u003d period.substring(period.length() - 1).equals(\"d\") ? 1 : 7;"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":47,"author":{"gitId":"-"},"content":" int convertedValue \u003d Integer.parseInt(period.substring(0, period.length() - 1)) * multiplier;"},{"lineNumber":48,"author":{"gitId":"-"},"content":" if (convertedValue \u003c\u003d 0) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" throw new ParseException(String.format(PARSE_EXCEPTION_MESSAGE_SMALLER_THAN_ZERO, period));"},{"lineNumber":50,"author":{"gitId":"-"},"content":" }"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" return Optional.of(convertedValue);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" } catch (NumberFormatException e) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" throw new ParseException(String.format(PARSE_EXCEPTION_MESSAGE_NUMBER_TOO_LARGE, period));"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":55}},{"path":"src/main/java/reposense/parser/types/ReportFolderArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.impl.Arguments;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":13,"author":{"gitId":"-"},"content":" * Checks the argument of {@code --view} flag."},{"lineNumber":14,"author":{"gitId":"-"},"content":" */"},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class ReportFolderArgumentType implements ArgumentType\u003cPath\u003e {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":17,"author":{"gitId":"-"},"content":" public Path convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" // Piggyback on library methods to do file existence checks"},{"lineNumber":19,"author":{"gitId":"-"},"content":" Arguments.fileType().verifyExists().verifyIsDirectory().verifyCanRead().convert(parser, arg, value);"},{"lineNumber":20,"author":{"gitId":"-"},"content":" return Paths.get(value);"},{"lineNumber":21,"author":{"gitId":"-"},"content":" }"},{"lineNumber":22,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":21}},{"path":"src/main/java/reposense/parser/types/SinceDateArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.Instant;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.ZonedDateTime;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted since date to a {@link LocalDateTime} object."},{"lineNumber":16,"author":{"gitId":"-"},"content":" */"},{"lineNumber":17,"author":{"gitId":"-"},"content":"public class SinceDateArgumentType extends DateArgumentType {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" /*"},{"lineNumber":19,"author":{"gitId":"-"},"content":" * When user specifies \"d1\", arbitrary first commit date will be returned."},{"lineNumber":20,"author":{"gitId":"-"},"content":" * This date is equivalent to 1970-01-01 00:00:00 in UTC time."},{"lineNumber":21,"author":{"gitId":"-"},"content":" * Then, ReportGenerator will replace the arbitrary since date with the earliest commit date."},{"lineNumber":22,"author":{"gitId":"-"},"content":" */"},{"lineNumber":23,"author":{"gitId":"-"},"content":" public static final String FIRST_COMMIT_DATE_SHORTHAND \u003d \"d1\";"},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final ZonedDateTime ARBITRARY_FIRST_COMMIT_DATE_UTC \u003d ZonedDateTime.ofInstant("},{"lineNumber":25,"author":{"gitId":"-"},"content":" Instant.ofEpochMilli(0), ZoneId.of(\"Z\"));"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final LocalDateTime ARBITRARY_FIRST_COMMIT_DATE_LOCAL \u003d ARBITRARY_FIRST_COMMIT_DATE_UTC"},{"lineNumber":27,"author":{"gitId":"-"},"content":" .toLocalDateTime();"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":30,"author":{"gitId":"-"},"content":" * Returns an arbitrary year {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_LOCAL} if user specifies"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND} in {@code value}, or attempts to return the"},{"lineNumber":32,"author":{"gitId":"-"},"content":" * desired date otherwise."},{"lineNumber":33,"author":{"gitId":"-"},"content":" *"},{"lineNumber":34,"author":{"gitId":"-"},"content":" * @throws ArgumentParserException if the given date cannot be parsed."},{"lineNumber":35,"author":{"gitId":"-"},"content":" */"},{"lineNumber":36,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":37,"author":{"gitId":"-"},"content":" public Optional\u003cLocalDateTime\u003e convert(ArgumentParser parser, Argument arg, String value)"},{"lineNumber":38,"author":{"gitId":"-"},"content":" throws ArgumentParserException {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" if (FIRST_COMMIT_DATE_SHORTHAND.equals(value)) {"},{"lineNumber":40,"author":{"gitId":"-"},"content":" return Optional.of(ARBITRARY_FIRST_COMMIT_DATE_LOCAL);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":" String sinceDate \u003d TimeUtil.extractDate(value);"},{"lineNumber":43,"author":{"gitId":"-"},"content":" return super.convert(parser, arg, sinceDate + \" 00:00:00\");"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Returns the {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_LOCAL}, which is the"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * {@link LocalDateTime} of {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_UTC}."},{"lineNumber":49,"author":{"gitId":"-"},"content":" */"},{"lineNumber":50,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateLocal() {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" return ARBITRARY_FIRST_COMMIT_DATE_LOCAL;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" }"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":55,"author":{"gitId":"-"},"content":" * Returns the {@link SinceDateArgumentType#ARBITRARY_FIRST_COMMIT_DATE_UTC} adjusted for the time zone based on"},{"lineNumber":56,"author":{"gitId":"-"},"content":" * {@code toZoneId} and converted to a {@link LocalDateTime} object."},{"lineNumber":57,"author":{"gitId":"-"},"content":" */"},{"lineNumber":58,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateConverted(ZoneId toZoneId) {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" return ARBITRARY_FIRST_COMMIT_DATE_UTC.withZoneSameInstant(toZoneId).toLocalDateTime();"},{"lineNumber":60,"author":{"gitId":"-"},"content":" }"},{"lineNumber":61,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":60}},{"path":"src/main/java/reposense/parser/types/UntilDateArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":12,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted until date to a {@link LocalDateTime} object."},{"lineNumber":13,"author":{"gitId":"-"},"content":" */"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class UntilDateArgumentType extends DateArgumentType {"},{"lineNumber":16,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":17,"author":{"gitId":"-"},"content":" public Optional\u003cLocalDateTime\u003e convert(ArgumentParser parser, Argument arg, String value)"},{"lineNumber":18,"author":{"gitId":"-"},"content":" throws ArgumentParserException {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" String untilDate \u003d TimeUtil.extractDate(value);"},{"lineNumber":20,"author":{"gitId":"-"},"content":" return super.convert(parser, arg, untilDate + \" 23:59:59\");"},{"lineNumber":21,"author":{"gitId":"-"},"content":" }"},{"lineNumber":22,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":21}},{"path":"src/main/java/reposense/parser/types/ZoneIdArgumentType.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"asdfghjkxd"},"content":"package reposense.parser.types;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.DateTimeException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.Argument;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParser;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentParserException;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.inf.ArgumentType;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":12,"author":{"gitId":"-"},"content":" * Verifies and parses a string-formatted zone id to a {@link ZoneId} object."},{"lineNumber":13,"author":{"gitId":"-"},"content":" */"},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class ZoneIdArgumentType implements ArgumentType\u003cZoneId\u003e {"},{"lineNumber":15,"author":{"gitId":"-"},"content":" private static final String MESSAGE_TIMEZONE_INVALID \u003d"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"The timezone provided is invalid, please use a more widely accepted format. E.g. UTC[±hh[mm]]\";"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" @Override"},{"lineNumber":19,"author":{"gitId":"-"},"content":" public ZoneId convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":21,"author":{"gitId":"-"},"content":" return ZoneId.of(value);"},{"lineNumber":22,"author":{"gitId":"-"},"content":" } catch (DateTimeException dte) {"},{"lineNumber":23,"author":{"gitId":"-"},"content":" throw new ArgumentParserException(MESSAGE_TIMEZONE_INVALID, parser);"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":25}},{"path":"src/main/java/reposense/report/ReportGenerator.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.report;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.InputStream;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.PrintWriter;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.io.StringWriter;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.HashMap;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.Iterator;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import java.util.Optional;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import java.util.concurrent.CompletableFuture;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import java.util.concurrent.ExecutorService;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import java.util.concurrent.Executors;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import java.util.function.Supplier;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import java.util.logging.Level;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":"import com.google.gson.JsonSyntaxException;"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.RepoSense;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import reposense.authorship.AuthorshipReporter;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import reposense.authorship.model.AuthorshipSummary;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import reposense.commits.CommitsReporter;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import reposense.commits.model.CommitContributionSummary;"},{"lineNumber":35,"author":{"gitId":"-"},"content":"import reposense.git.GitBlame;"},{"lineNumber":36,"author":{"gitId":"-"},"content":"import reposense.git.GitClone;"},{"lineNumber":37,"author":{"gitId":"-"},"content":"import reposense.git.GitRevParse;"},{"lineNumber":38,"author":{"gitId":"-"},"content":"import reposense.git.GitShortlog;"},{"lineNumber":39,"author":{"gitId":"-"},"content":"import reposense.git.GitShow;"},{"lineNumber":40,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;"},{"lineNumber":41,"author":{"gitId":"-"},"content":"import reposense.git.exception.GitBranchException;"},{"lineNumber":42,"author":{"gitId":"-"},"content":"import reposense.git.exception.GitCloneException;"},{"lineNumber":43,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":44,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;"},{"lineNumber":45,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":46,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":47,"author":{"gitId":"-"},"content":"import reposense.model.ReportConfiguration;"},{"lineNumber":48,"author":{"gitId":"-"},"content":"import reposense.model.StandaloneConfig;"},{"lineNumber":49,"author":{"gitId":"-"},"content":"import reposense.parser.StandaloneConfigJsonParser;"},{"lineNumber":50,"author":{"gitId":"-"},"content":"import reposense.report.exception.NoAuthorsWithCommitsFoundException;"},{"lineNumber":51,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":52,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":53,"author":{"gitId":"-"},"content":"import reposense.util.ProgressTracker;"},{"lineNumber":54,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":57,"author":{"gitId":"-"},"content":" * Contains report generation related functionalities."},{"lineNumber":58,"author":{"gitId":"-"},"content":" */"},{"lineNumber":59,"author":{"gitId":"-"},"content":"public class ReportGenerator {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" private static final String REPOSENSE_CONFIG_FOLDER \u003d \"_reposense\";"},{"lineNumber":61,"author":{"gitId":"-"},"content":" private static final String REPOSENSE_CONFIG_FILE \u003d \"config.json\";"},{"lineNumber":62,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(ReportGenerator.class);"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" // zip file which contains all the report template files"},{"lineNumber":65,"author":{"gitId":"-"},"content":" private static final String TEMPLATE_FILE \u003d \"/templateZip.zip\";"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" private static final String MESSAGE_INVALID_CONFIG_JSON \u003d \"%s Ignoring the config provided by %s (%s).\";"},{"lineNumber":68,"author":{"gitId":"-"},"content":" private static final String MESSAGE_ERROR_CREATING_DIRECTORY \u003d"},{"lineNumber":69,"author":{"gitId":"-"},"content":" \"Error has occurred while creating repo directory for %s (%s), will skip this repo.\";"},{"lineNumber":70,"author":{"gitId":"-"},"content":" private static final String MESSAGE_NO_STANDALONE_CONFIG \u003d \"%s (%s) does not contain a standalone config file.\";"},{"lineNumber":71,"author":{"gitId":"-"},"content":" private static final String MESSAGE_IGNORING_STANDALONE_CONFIG \u003d \"Ignoring standalone config file in %s (%s).\";"},{"lineNumber":72,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MALFORMED_STANDALONE_CONFIG \u003d \"%s/%s/%s is malformed for %s (%s).\";"},{"lineNumber":73,"author":{"gitId":"-"},"content":" private static final String MESSAGE_NO_AUTHORS_SPECIFIED \u003d"},{"lineNumber":74,"author":{"gitId":"-"},"content":" \"%s (%s) has no authors specified, using all authors by default.\";"},{"lineNumber":75,"author":{"gitId":"-"},"content":" private static final String MESSAGE_NO_AUTHORS_WITH_COMMITS_FOUND \u003d"},{"lineNumber":76,"author":{"gitId":"-"},"content":" \"No authors found with commits for %s (%s).\";"},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static final String MESSAGE_START_ANALYSIS \u003d \"Analyzing %s (%s)...\";"},{"lineNumber":78,"author":{"gitId":"-"},"content":" private static final String MESSAGE_COMPLETE_ANALYSIS \u003d \"Analysis of %s (%s) completed!\";"},{"lineNumber":79,"author":{"gitId":"-"},"content":" private static final String MESSAGE_REPORT_GENERATED \u003d \"The report is generated at %s\";"},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static final String MESSAGE_BRANCH_DOES_NOT_EXIST \u003d \"Branch %s does not exist in %s! Analysis terminated.\";"},{"lineNumber":81,"author":{"gitId":"-"},"content":" private static final String MESSAGE_MISSING_TEMPLATE \u003d"},{"lineNumber":82,"author":{"gitId":"-"},"content":" \"Unable to find template file. Proceeding to generate report...\";"},{"lineNumber":83,"author":{"gitId":"-"},"content":""},{"lineNumber":84,"author":{"gitId":"-"},"content":" private static final String LOG_ERROR_CLONING \u003d \"Failed to clone from %s\";"},{"lineNumber":85,"author":{"gitId":"-"},"content":" private static final String LOG_ERROR_EXPANDING_COMMIT \u003d \"Cannot expand %s, it shall remain unexpanded\";"},{"lineNumber":86,"author":{"gitId":"-"},"content":" private static final String LOG_BRANCH_DOES_NOT_EXIST \u003d \"Branch \\\"%s\\\" does not exist.\";"},{"lineNumber":87,"author":{"gitId":"-"},"content":" private static final String LOG_ERROR_CLONING_OR_BRANCHING \u003d \"Exception met while cloning or checking out.\";"},{"lineNumber":88,"author":{"gitId":"-"},"content":" private static final String LOG_UNEXPECTED_ERROR \u003d \"Unexpected error stack trace for %s:\\n\u003e%s\";"},{"lineNumber":89,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e assetsFilesWhiteList \u003d"},{"lineNumber":90,"author":{"gitId":"sopa301"},"content":" Collections.unmodifiableList(Arrays.asList(new String[] {\"favicon.ico\", \"title.md\"}));"},{"lineNumber":91,"author":{"gitId":"-"},"content":""},{"lineNumber":92,"author":{"gitId":"-"},"content":" private LocalDateTime earliestSinceDate \u003d null;"},{"lineNumber":93,"author":{"gitId":"-"},"content":" private ProgressTracker progressTracker \u003d null;"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":96,"author":{"gitId":"-"},"content":" * Generates the authorship and commits JSON file for each repo in {@code configs} at {@code outputPath}, as"},{"lineNumber":97,"author":{"gitId":"-"},"content":" * well as the summary JSON file of all the repos."},{"lineNumber":98,"author":{"gitId":"-"},"content":" *"},{"lineNumber":99,"author":{"gitId":"-"},"content":" * @param configs The list of repos to analyze."},{"lineNumber":100,"author":{"gitId":"-"},"content":" * @param outputPath The location at which to save the report."},{"lineNumber":101,"author":{"gitId":"-"},"content":" * @param assetsPath The location at which assets for generating the report are stored."},{"lineNumber":102,"author":{"gitId":"-"},"content":" * @param reportConfig The config for the output report."},{"lineNumber":103,"author":{"gitId":"-"},"content":" * @param generationDate The time at which the report was generated."},{"lineNumber":104,"author":{"gitId":"-"},"content":" * @param cliSinceDate The date-time from which to start analyzing commits."},{"lineNumber":105,"author":{"gitId":"-"},"content":" * @param untilDate The cut-off date-time for analyzing commits."},{"lineNumber":106,"author":{"gitId":"-"},"content":" * @param isSinceDateProvided The boolean variable for whether client provided a sinceDate."},{"lineNumber":107,"author":{"gitId":"-"},"content":" * @param isUntilDateProvided The boolean variable for whether client provided an untilDate."},{"lineNumber":108,"author":{"gitId":"-"},"content":" * @param numCloningThreads The number of threads to use to clone the repos."},{"lineNumber":109,"author":{"gitId":"-"},"content":" * @param numAnalysisThreads The number of threads to use to analyze the repos."},{"lineNumber":110,"author":{"gitId":"-"},"content":" * @param reportGenerationTimeProvider Supplier for time taken to generate the report."},{"lineNumber":111,"author":{"gitId":"-"},"content":" * @param zoneId The timezone to adjust all date-times to."},{"lineNumber":112,"author":{"gitId":"-"},"content":" * @param shouldFreshClone The boolean variable for whether to clone a repo again during tests."},{"lineNumber":113,"author":{"gitId":"-"},"content":" * @return the list of file paths that were generated."},{"lineNumber":114,"author":{"gitId":"-"},"content":" * @throws IOException if templateZip.zip does not exists in jar file."},{"lineNumber":115,"author":{"gitId":"-"},"content":" */"},{"lineNumber":116,"author":{"gitId":"-"},"content":" public List\u003cPath\u003e generateReposReport(List\u003cRepoConfiguration\u003e configs, String outputPath, String assetsPath,"},{"lineNumber":117,"author":{"gitId":"-"},"content":" ReportConfiguration reportConfig, String generationDate, LocalDateTime cliSinceDate,"},{"lineNumber":118,"author":{"gitId":"-"},"content":" LocalDateTime untilDate, boolean isSinceDateProvided, boolean isUntilDateProvided, int numCloningThreads,"},{"lineNumber":119,"author":{"gitId":"-"},"content":" int numAnalysisThreads, Supplier\u003cString\u003e reportGenerationTimeProvider, ZoneId zoneId,"},{"lineNumber":120,"author":{"gitId":"-"},"content":" boolean shouldFreshClone) throws IOException {"},{"lineNumber":121,"author":{"gitId":"-"},"content":" prepareTemplateFile(outputPath);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" if (Files.exists(Paths.get(assetsPath))) {"},{"lineNumber":123,"author":{"gitId":"-"},"content":" FileUtil.copyDirectoryContents(assetsPath, outputPath, assetsFilesWhiteList);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" earliestSinceDate \u003d null;"},{"lineNumber":127,"author":{"gitId":"-"},"content":" progressTracker \u003d new ProgressTracker(configs.size());"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" List\u003cPath\u003e reportFoldersAndFiles \u003d cloneAndAnalyzeRepos(configs, outputPath,"},{"lineNumber":130,"author":{"gitId":"-"},"content":" numCloningThreads, numAnalysisThreads, shouldFreshClone);"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" LocalDateTime reportSinceDate \u003d (TimeUtil.isEqualToArbitraryFirstDateConverted(cliSinceDate, zoneId))"},{"lineNumber":133,"author":{"gitId":"-"},"content":" ? earliestSinceDate : cliSinceDate;"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" Optional\u003cPath\u003e summaryPath \u003d FileUtil.writeJsonFile("},{"lineNumber":136,"author":{"gitId":"-"},"content":" new SummaryJson(configs, reportConfig, generationDate,"},{"lineNumber":137,"author":{"gitId":"-"},"content":" reportSinceDate, untilDate, isSinceDateProvided,"},{"lineNumber":138,"author":{"gitId":"-"},"content":" isUntilDateProvided, RepoSense.getVersion(), ErrorSummary.getInstance().getErrorSet(),"},{"lineNumber":139,"author":{"gitId":"-"},"content":" reportGenerationTimeProvider.get(), zoneId),"},{"lineNumber":140,"author":{"gitId":"-"},"content":" getSummaryResultPath(outputPath));"},{"lineNumber":141,"author":{"gitId":"-"},"content":" summaryPath.ifPresent(reportFoldersAndFiles::add);"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_REPORT_GENERATED, outputPath));"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" return reportFoldersAndFiles;"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":149,"author":{"gitId":"-"},"content":" * Copies the template file to the specified {@code outputPath} for the repo report to be generated."},{"lineNumber":150,"author":{"gitId":"-"},"content":" *"},{"lineNumber":151,"author":{"gitId":"-"},"content":" * @throws IOException if I/O error encountered while copying template file."},{"lineNumber":152,"author":{"gitId":"-"},"content":" */"},{"lineNumber":153,"author":{"gitId":"-"},"content":" private void prepareTemplateFile(String outputPath) throws IOException {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" InputStream is \u003d RepoSense.class.getResourceAsStream(TEMPLATE_FILE);"},{"lineNumber":155,"author":{"gitId":"-"},"content":" if (is !\u003d null) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" FileUtil.copyTemplate(is, outputPath);"},{"lineNumber":157,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" logger.warning(MESSAGE_MISSING_TEMPLATE);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":" }"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":163,"author":{"gitId":"-"},"content":" * Groups {@link RepoConfiguration} with the same {@link RepoLocation} together so that they are only cloned once."},{"lineNumber":164,"author":{"gitId":"-"},"content":" */"},{"lineNumber":165,"author":{"gitId":"-"},"content":" private Map\u003cRepoLocation, List\u003cRepoConfiguration\u003e\u003e groupConfigsByRepoLocation("},{"lineNumber":166,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs) {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" Map\u003cRepoLocation, List\u003cRepoConfiguration\u003e\u003e repoLocationMap \u003d new HashMap\u003c\u003e();"},{"lineNumber":168,"author":{"gitId":"-"},"content":" for (RepoConfiguration config : configs) {"},{"lineNumber":169,"author":{"gitId":"-"},"content":" RepoLocation location \u003d config.getLocation();"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" if (!repoLocationMap.containsKey(location)) {"},{"lineNumber":172,"author":{"gitId":"-"},"content":" repoLocationMap.put(location, new ArrayList\u003c\u003e());"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":" repoLocationMap.get(location).add(config);"},{"lineNumber":175,"author":{"gitId":"-"},"content":" }"},{"lineNumber":176,"author":{"gitId":"-"},"content":" return repoLocationMap;"},{"lineNumber":177,"author":{"gitId":"-"},"content":" }"},{"lineNumber":178,"author":{"gitId":"-"},"content":""},{"lineNumber":179,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":180,"author":{"gitId":"-"},"content":" * Clone, analyze and generate the report for repositories in {@code repoLocationMap}."},{"lineNumber":181,"author":{"gitId":"-"},"content":" * Performs cloning and analysis of each repository in parallel, and generates the report."},{"lineNumber":182,"author":{"gitId":"-"},"content":" * Also removes any configs that failed to clone or analyze from {@code configs}."},{"lineNumber":183,"author":{"gitId":"-"},"content":" * By default, runs in multi-threaded mode with {@code numCloningThreads} threads for cloning"},{"lineNumber":184,"author":{"gitId":"-"},"content":" * and {@code numAnalysisThreads} threads for analysis."},{"lineNumber":185,"author":{"gitId":"-"},"content":" * To turn off multi-threading, run the program with the flags"},{"lineNumber":186,"author":{"gitId":"-"},"content":" * {@code --cloning-threads 1 --analysis-threads 1}."},{"lineNumber":187,"author":{"gitId":"-"},"content":" * For test environments, cloning is skipped if it has been done before and {@code shouldFreshClone} is false."},{"lineNumber":188,"author":{"gitId":"-"},"content":" *"},{"lineNumber":189,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for each repository."},{"lineNumber":190,"author":{"gitId":"-"},"content":" */"},{"lineNumber":191,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e cloneAndAnalyzeRepos(List\u003cRepoConfiguration\u003e configs, String outputPath,"},{"lineNumber":192,"author":{"gitId":"-"},"content":" int numCloningThreads, int numAnalysisThreads, boolean shouldFreshClone) {"},{"lineNumber":193,"author":{"gitId":"-"},"content":" Map\u003cRepoLocation, List\u003cRepoConfiguration\u003e\u003e repoLocationMap \u003d groupConfigsByRepoLocation(configs);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" List\u003cRepoLocation\u003e repoLocationList \u003d new ArrayList\u003c\u003e(repoLocationMap.keySet());"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" // Fixed thread pools are used to limit the number of threads used by cloning and analysis jobs at any one time"},{"lineNumber":197,"author":{"gitId":"-"},"content":" ExecutorService cloneExecutor \u003d Executors.newFixedThreadPool(numCloningThreads);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" ExecutorService analyzeExecutor \u003d Executors.newFixedThreadPool(numAnalysisThreads);"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" List\u003cCompletableFuture\u003cAnalyzeJobOutput\u003e\u003e analyzeJobFutures \u003d new ArrayList\u003c\u003e();"},{"lineNumber":201,"author":{"gitId":"-"},"content":" for (RepoLocation location : repoLocationList) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configsToAnalyze \u003d repoLocationMap.get(location);"},{"lineNumber":203,"author":{"gitId":"-"},"content":""},{"lineNumber":204,"author":{"gitId":"-"},"content":" // The `CompletableFuture.supplyAsync` method is used to clone the repo in parallel."},{"lineNumber":205,"author":{"gitId":"-"},"content":" // Note that the `cloneExecutor` is passed as a parameter to ensure that the number of threads used"},{"lineNumber":206,"author":{"gitId":"-"},"content":" // for cloning is no more than `numCloningThreads`."},{"lineNumber":207,"author":{"gitId":"-"},"content":" CompletableFuture\u003cCloneJobOutput\u003e cloneFuture \u003d CompletableFuture.supplyAsync(() -\u003e"},{"lineNumber":208,"author":{"gitId":"-"},"content":" cloneRepo(configsToAnalyze.get(0), location, shouldFreshClone), cloneExecutor);"},{"lineNumber":209,"author":{"gitId":"-"},"content":""},{"lineNumber":210,"author":{"gitId":"-"},"content":" // The `thenApplyAsync` method is used to analyze the cloned repo in parallel."},{"lineNumber":211,"author":{"gitId":"-"},"content":" // This ensures that the analysis job for each repo will only be run after the repo has been cloned."},{"lineNumber":212,"author":{"gitId":"-"},"content":" // Note that the `analyzeExecutor` is passed as a parameter to ensure that the number of threads used"},{"lineNumber":213,"author":{"gitId":"-"},"content":" // for analysis is no more than `numAnalysisThreads`."},{"lineNumber":214,"author":{"gitId":"-"},"content":" CompletableFuture\u003cAnalyzeJobOutput\u003e analyzeFuture \u003d cloneFuture.thenApplyAsync("},{"lineNumber":215,"author":{"gitId":"-"},"content":" cloneJobOutput -\u003e analyzeRepos(outputPath, configsToAnalyze, cloneJobOutput), analyzeExecutor);"},{"lineNumber":216,"author":{"gitId":"-"},"content":""},{"lineNumber":217,"author":{"gitId":"-"},"content":" analyzeJobFutures.add(analyzeFuture);"},{"lineNumber":218,"author":{"gitId":"-"},"content":" }"},{"lineNumber":219,"author":{"gitId":"-"},"content":""},{"lineNumber":220,"author":{"gitId":"-"},"content":" // Next, we collect the list of outputs from all the analyze jobs"},{"lineNumber":221,"author":{"gitId":"-"},"content":" List\u003cAnalyzeJobOutput\u003e jobOutputs \u003d analyzeJobFutures.stream()"},{"lineNumber":222,"author":{"gitId":"-"},"content":" .map(CompletableFuture::join)"},{"lineNumber":223,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" // Finally, the ExecutorService objects are shut down to prevent memory leaks"},{"lineNumber":226,"author":{"gitId":"-"},"content":" cloneExecutor.shutdown();"},{"lineNumber":227,"author":{"gitId":"-"},"content":" analyzeExecutor.shutdown();"},{"lineNumber":228,"author":{"gitId":"-"},"content":""},{"lineNumber":229,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d jobOutputs"},{"lineNumber":230,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":231,"author":{"gitId":"-"},"content":" .flatMap(jobOutput -\u003e jobOutput.getFiles().stream())"},{"lineNumber":232,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" List\u003cRepoLocation\u003e cloneFailLocations \u003d jobOutputs"},{"lineNumber":235,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":236,"author":{"gitId":"-"},"content":" .filter(jobOutput -\u003e !jobOutput.isCloneSuccessful())"},{"lineNumber":237,"author":{"gitId":"-"},"content":" .map(jobOutput -\u003e jobOutput.getLocation())"},{"lineNumber":238,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":239,"author":{"gitId":"-"},"content":" cloneFailLocations.forEach(location -\u003e handleCloningFailed(configs, location));"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" List\u003cAnalysisErrorInfo\u003e analysisErrors \u003d jobOutputs"},{"lineNumber":242,"author":{"gitId":"-"},"content":" .stream()"},{"lineNumber":243,"author":{"gitId":"-"},"content":" .flatMap(jobOutput -\u003e jobOutput.getAnalyseErrors().stream())"},{"lineNumber":244,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":245,"author":{"gitId":"-"},"content":" analysisErrors.forEach(errorInfo -\u003e"},{"lineNumber":246,"author":{"gitId":"-"},"content":" handleAnalysisFailed(configs, errorInfo.getFailedConfig(), errorInfo.getErrorMessage()));"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();"},{"lineNumber":249,"author":{"gitId":"-"},"content":" repoCloner.cleanup();"},{"lineNumber":250,"author":{"gitId":"-"},"content":" return generatedFiles;"},{"lineNumber":251,"author":{"gitId":"-"},"content":" }"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":254,"author":{"gitId":"-"},"content":" * Clones repo specified by {@code config} at {@code location}."},{"lineNumber":255,"author":{"gitId":"-"},"content":" * For test environments, cloning is skipped if it has been done before and {@code shouldFreshClone} is false."},{"lineNumber":256,"author":{"gitId":"-"},"content":" *"},{"lineNumber":257,"author":{"gitId":"-"},"content":" * @return A {@link CloneJobOutput} object comprising the {@code location} of the repo, whether the cloning was"},{"lineNumber":258,"author":{"gitId":"-"},"content":" * successful, and the {@code defaultBranch} of the repo."},{"lineNumber":259,"author":{"gitId":"-"},"content":" */"},{"lineNumber":260,"author":{"gitId":"-"},"content":" private CloneJobOutput cloneRepo(RepoConfiguration config, RepoLocation location, boolean shouldFreshClone) {"},{"lineNumber":261,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();"},{"lineNumber":262,"author":{"gitId":"-"},"content":" repoCloner.cloneBare(config, shouldFreshClone);"},{"lineNumber":263,"author":{"gitId":"-"},"content":" RepoLocation clonedRepoLocation \u003d repoCloner.getClonedRepoLocation();"},{"lineNumber":264,"author":{"gitId":"-"},"content":" if (clonedRepoLocation !\u003d null) {"},{"lineNumber":265,"author":{"gitId":"-"},"content":" String defaultBranch \u003d repoCloner.getCurrentRepoDefaultBranch();"},{"lineNumber":266,"author":{"gitId":"-"},"content":" return new CloneJobOutput(location, defaultBranch);"},{"lineNumber":267,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":268,"author":{"gitId":"-"},"content":" return new CloneJobOutput(location);"},{"lineNumber":269,"author":{"gitId":"-"},"content":" }"},{"lineNumber":270,"author":{"gitId":"-"},"content":" }"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":273,"author":{"gitId":"-"},"content":" * Analyzes all repos in {@code configsToAnalyze} and generates their report at {@code outputPath}."},{"lineNumber":274,"author":{"gitId":"-"},"content":" * Uses {@code cloneJobOutput} to find repo location, default branch and whether cloning was successful."},{"lineNumber":275,"author":{"gitId":"-"},"content":" *"},{"lineNumber":276,"author":{"gitId":"-"},"content":" * @return An {@link AnalyzeJobOutput} object comprising the {@code location} of the repo, whether the cloning was"},{"lineNumber":277,"author":{"gitId":"-"},"content":" * successful, the list of {@code generatedFiles} by the analysis and a list of {@code analysisErrors} encountered."},{"lineNumber":278,"author":{"gitId":"-"},"content":" */"},{"lineNumber":279,"author":{"gitId":"-"},"content":" private AnalyzeJobOutput analyzeRepos(String outputPath, List\u003cRepoConfiguration\u003e configsToAnalyze,"},{"lineNumber":280,"author":{"gitId":"-"},"content":" CloneJobOutput cloneJobOutput) {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" RepoLocation location \u003d cloneJobOutput.getLocation();"},{"lineNumber":282,"author":{"gitId":"-"},"content":" boolean cloneSuccessful \u003d cloneJobOutput.isCloneSuccessful();"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d new ArrayList\u003c\u003e();"},{"lineNumber":285,"author":{"gitId":"-"},"content":" List\u003cAnalysisErrorInfo\u003e analysisErrors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":286,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();"},{"lineNumber":287,"author":{"gitId":"-"},"content":" if (!cloneSuccessful) {"},{"lineNumber":288,"author":{"gitId":"-"},"content":" repoCloner.cleanupRepo(configsToAnalyze.get(0));"},{"lineNumber":289,"author":{"gitId":"-"},"content":" return new AnalyzeJobOutput(location, cloneSuccessful, generatedFiles, analysisErrors);"},{"lineNumber":290,"author":{"gitId":"-"},"content":" }"},{"lineNumber":291,"author":{"gitId":"-"},"content":" Iterator\u003cRepoConfiguration\u003e itr \u003d configsToAnalyze.iterator();"},{"lineNumber":292,"author":{"gitId":"-"},"content":" while (itr.hasNext()) {"},{"lineNumber":293,"author":{"gitId":"-"},"content":" progressTracker.incrementProgress();"},{"lineNumber":294,"author":{"gitId":"-"},"content":" RepoConfiguration configToAnalyze \u003d itr.next();"},{"lineNumber":295,"author":{"gitId":"-"},"content":" configToAnalyze.updateBranch(cloneJobOutput.getDefaultBranch());"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" Path repoReportDirectory \u003d Paths.get(outputPath, configToAnalyze.getOutputFolderName());"},{"lineNumber":298,"author":{"gitId":"-"},"content":" logger.info("},{"lineNumber":299,"author":{"gitId":"-"},"content":" String.format(progressTracker.getProgress() + \" \""},{"lineNumber":300,"author":{"gitId":"-"},"content":" + MESSAGE_START_ANALYSIS, configToAnalyze.getLocation(), configToAnalyze.getBranch()));"},{"lineNumber":301,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":302,"author":{"gitId":"-"},"content":" GitRevParse.assertBranchExists(configToAnalyze, FileUtil.getBareRepoPath(configToAnalyze));"},{"lineNumber":303,"author":{"gitId":"-"},"content":" GitClone.cloneFromBareAndUpdateBranch(Paths.get(\".\"), configToAnalyze);"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":" FileUtil.createDirectory(repoReportDirectory);"},{"lineNumber":306,"author":{"gitId":"-"},"content":" generatedFiles.addAll(analyzeRepo(configToAnalyze, repoReportDirectory.toString()));"},{"lineNumber":307,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {"},{"lineNumber":308,"author":{"gitId":"-"},"content":" String logMessage \u003d String.format(MESSAGE_ERROR_CREATING_DIRECTORY,"},{"lineNumber":309,"author":{"gitId":"-"},"content":" configToAnalyze.getLocation(), configToAnalyze.getBranch());"},{"lineNumber":310,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, logMessage, ioe);"},{"lineNumber":311,"author":{"gitId":"-"},"content":" } catch (GitBranchException gbe) {"},{"lineNumber":312,"author":{"gitId":"-"},"content":" logger.log(Level.SEVERE, String.format(MESSAGE_BRANCH_DOES_NOT_EXIST,"},{"lineNumber":313,"author":{"gitId":"-"},"content":" configToAnalyze.getBranch(), configToAnalyze.getLocation()), gbe);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" analysisErrors.add(new AnalysisErrorInfo(configToAnalyze,"},{"lineNumber":315,"author":{"gitId":"-"},"content":" String.format(LOG_BRANCH_DOES_NOT_EXIST, configToAnalyze.getBranch())));"},{"lineNumber":316,"author":{"gitId":"-"},"content":" } catch (GitCloneException gce) {"},{"lineNumber":317,"author":{"gitId":"-"},"content":" analysisErrors.add(new AnalysisErrorInfo(configToAnalyze, LOG_ERROR_CLONING_OR_BRANCHING));"},{"lineNumber":318,"author":{"gitId":"-"},"content":" } catch (NoAuthorsWithCommitsFoundException nafe) {"},{"lineNumber":319,"author":{"gitId":"-"},"content":" logger.log(Level.WARNING, String.format(MESSAGE_NO_AUTHORS_WITH_COMMITS_FOUND,"},{"lineNumber":320,"author":{"gitId":"-"},"content":" configToAnalyze.getLocation(), configToAnalyze.getBranch()));"},{"lineNumber":321,"author":{"gitId":"-"},"content":" generatedFiles.addAll(generateEmptyRepoReport(repoReportDirectory.toString(),"},{"lineNumber":322,"author":{"gitId":"-"},"content":" Author.NAME_NO_AUTHOR_WITH_COMMITS_FOUND));"},{"lineNumber":323,"author":{"gitId":"-"},"content":" generateEmptyRepoReport(repoReportDirectory.toString(), Author.NAME_NO_AUTHOR_WITH_COMMITS_FOUND);"},{"lineNumber":324,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":325,"author":{"gitId":"-"},"content":" StringWriter sw \u003d new StringWriter();"},{"lineNumber":326,"author":{"gitId":"-"},"content":" e.printStackTrace(new PrintWriter(sw));"},{"lineNumber":327,"author":{"gitId":"-"},"content":" logger.log(Level.SEVERE, sw.toString());"},{"lineNumber":328,"author":{"gitId":"-"},"content":" analysisErrors.add(new AnalysisErrorInfo(configToAnalyze,"},{"lineNumber":329,"author":{"gitId":"-"},"content":" String.format(LOG_UNEXPECTED_ERROR, configToAnalyze.getLocation(), sw.toString())));"},{"lineNumber":330,"author":{"gitId":"-"},"content":" }"},{"lineNumber":331,"author":{"gitId":"-"},"content":" }"},{"lineNumber":332,"author":{"gitId":"-"},"content":" repoCloner.cleanupRepo(configsToAnalyze.get(0));"},{"lineNumber":333,"author":{"gitId":"-"},"content":" return new AnalyzeJobOutput(location, cloneSuccessful, generatedFiles, analysisErrors);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" }"},{"lineNumber":335,"author":{"gitId":"-"},"content":""},{"lineNumber":336,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":337,"author":{"gitId":"-"},"content":" * Analyzes repo specified by {@code config} and generates the report at {@code repoReportDirectory}."},{"lineNumber":338,"author":{"gitId":"-"},"content":" *"},{"lineNumber":339,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for the repo specified by {@code config}."},{"lineNumber":340,"author":{"gitId":"-"},"content":" * @throws NoAuthorsWithCommitsFoundException if there are no authors with commits found for the repo."},{"lineNumber":341,"author":{"gitId":"-"},"content":" */"},{"lineNumber":342,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e analyzeRepo(RepoConfiguration config, String repoReportDirectory)"},{"lineNumber":343,"author":{"gitId":"-"},"content":" throws NoAuthorsWithCommitsFoundException {"},{"lineNumber":344,"author":{"gitId":"-"},"content":" // preprocess the config and repo"},{"lineNumber":345,"author":{"gitId":"-"},"content":" updateRepoConfig(config);"},{"lineNumber":346,"author":{"gitId":"-"},"content":" updateAuthorList(config);"},{"lineNumber":347,"author":{"gitId":"-"},"content":" updateIgnoreCommitList(config);"},{"lineNumber":348,"author":{"gitId":"-"},"content":""},{"lineNumber":349,"author":{"gitId":"-"},"content":" if (config.isFindingPreviousAuthorsPerformed()) {"},{"lineNumber":350,"author":{"gitId":"-"},"content":" generateIgnoreRevsFile(config);"},{"lineNumber":351,"author":{"gitId":"-"},"content":" }"},{"lineNumber":352,"author":{"gitId":"-"},"content":""},{"lineNumber":353,"author":{"gitId":"-"},"content":" AuthorshipReporter authorshipReporter \u003d new AuthorshipReporter();"},{"lineNumber":354,"author":{"gitId":"-"},"content":" AuthorshipSummary authorshipSummary \u003d authorshipReporter.generateAuthorshipSummary(config);"},{"lineNumber":355,"author":{"gitId":"-"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":" CommitsReporter commitsReporter \u003d new CommitsReporter();"},{"lineNumber":357,"author":{"gitId":"-"},"content":" CommitContributionSummary commitSummary \u003d commitsReporter.generateCommitSummary(config);"},{"lineNumber":358,"author":{"gitId":"-"},"content":" earliestSinceDate \u003d commitSummary.getEarliestSinceDate();"},{"lineNumber":359,"author":{"gitId":"-"},"content":""},{"lineNumber":360,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d generateIndividualRepoReport(repoReportDirectory, commitSummary, authorshipSummary);"},{"lineNumber":361,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_COMPLETE_ANALYSIS, config.getLocation(), config.getBranch()));"},{"lineNumber":362,"author":{"gitId":"-"},"content":" return generatedFiles;"},{"lineNumber":363,"author":{"gitId":"-"},"content":" }"},{"lineNumber":364,"author":{"gitId":"-"},"content":""},{"lineNumber":365,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":366,"author":{"gitId":"-"},"content":" * Updates {@code config} with configuration provided by repository if exists."},{"lineNumber":367,"author":{"gitId":"-"},"content":" *"},{"lineNumber":368,"author":{"gitId":"-"},"content":" * @throws AssertionError if there is a problem with the file existence check."},{"lineNumber":369,"author":{"gitId":"-"},"content":" */"},{"lineNumber":370,"author":{"gitId":"-"},"content":" public void updateRepoConfig(RepoConfiguration config) throws AssertionError {"},{"lineNumber":371,"author":{"gitId":"-"},"content":" Path configJsonPath \u003d"},{"lineNumber":372,"author":{"gitId":"-"},"content":" Paths.get(config.getRepoRoot(), REPOSENSE_CONFIG_FOLDER, REPOSENSE_CONFIG_FILE).toAbsolutePath();"},{"lineNumber":373,"author":{"gitId":"-"},"content":""},{"lineNumber":374,"author":{"gitId":"-"},"content":" if (!Files.exists(configJsonPath)) {"},{"lineNumber":375,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_NO_STANDALONE_CONFIG, config.getLocation(), config.getBranch()));"},{"lineNumber":376,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":377,"author":{"gitId":"-"},"content":" }"},{"lineNumber":378,"author":{"gitId":"-"},"content":""},{"lineNumber":379,"author":{"gitId":"-"},"content":" if (config.isStandaloneConfigIgnored()) {"},{"lineNumber":380,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_IGNORING_STANDALONE_CONFIG, config.getLocation(), config.getBranch()));"},{"lineNumber":381,"author":{"gitId":"-"},"content":" return;"},{"lineNumber":382,"author":{"gitId":"-"},"content":" }"},{"lineNumber":383,"author":{"gitId":"-"},"content":""},{"lineNumber":384,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":385,"author":{"gitId":"-"},"content":" StandaloneConfig standaloneConfig \u003d new StandaloneConfigJsonParser().parse(configJsonPath);"},{"lineNumber":386,"author":{"gitId":"-"},"content":" config.update(standaloneConfig);"},{"lineNumber":387,"author":{"gitId":"-"},"content":" } catch (JsonSyntaxException jse) {"},{"lineNumber":388,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_MALFORMED_STANDALONE_CONFIG, config.getDisplayName(),"},{"lineNumber":389,"author":{"gitId":"-"},"content":" REPOSENSE_CONFIG_FOLDER, REPOSENSE_CONFIG_FILE, config.getLocation(), config.getBranch()));"},{"lineNumber":390,"author":{"gitId":"-"},"content":" } catch (IllegalArgumentException iae) {"},{"lineNumber":391,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_INVALID_CONFIG_JSON,"},{"lineNumber":392,"author":{"gitId":"-"},"content":" iae.getMessage(), config.getLocation(), config.getBranch()));"},{"lineNumber":393,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {"},{"lineNumber":394,"author":{"gitId":"-"},"content":" throw new AssertionError("},{"lineNumber":395,"author":{"gitId":"-"},"content":" \"This exception should not happen as we have performed the file existence check.\");"},{"lineNumber":396,"author":{"gitId":"-"},"content":" }"},{"lineNumber":397,"author":{"gitId":"-"},"content":" }"},{"lineNumber":398,"author":{"gitId":"-"},"content":""},{"lineNumber":399,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":400,"author":{"gitId":"-"},"content":" * Find and update {@code config} with all the author identities if author list is empty."},{"lineNumber":401,"author":{"gitId":"-"},"content":" * Also removes ignored authors from author list."},{"lineNumber":402,"author":{"gitId":"-"},"content":" *"},{"lineNumber":403,"author":{"gitId":"-"},"content":" * @throws NoAuthorsWithCommitsFoundException if there are no authors with commits found for the repo."},{"lineNumber":404,"author":{"gitId":"-"},"content":" */"},{"lineNumber":405,"author":{"gitId":"-"},"content":" private void updateAuthorList(RepoConfiguration config) throws NoAuthorsWithCommitsFoundException {"},{"lineNumber":406,"author":{"gitId":"-"},"content":" if (config.getAuthorList().isEmpty()) {"},{"lineNumber":407,"author":{"gitId":"-"},"content":" logger.info(String.format(MESSAGE_NO_AUTHORS_SPECIFIED, config.getLocation(), config.getBranch()));"},{"lineNumber":408,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e authorList \u003d GitShortlog.getAuthors(config);"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" if (authorList.isEmpty()) {"},{"lineNumber":411,"author":{"gitId":"-"},"content":" throw new NoAuthorsWithCommitsFoundException();"},{"lineNumber":412,"author":{"gitId":"-"},"content":" }"},{"lineNumber":413,"author":{"gitId":"-"},"content":""},{"lineNumber":414,"author":{"gitId":"-"},"content":" config.setAuthorList(authorList);"},{"lineNumber":415,"author":{"gitId":"-"},"content":" }"},{"lineNumber":416,"author":{"gitId":"-"},"content":" config.removeIgnoredAuthors();"},{"lineNumber":417,"author":{"gitId":"-"},"content":" }"},{"lineNumber":418,"author":{"gitId":"-"},"content":""},{"lineNumber":419,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":420,"author":{"gitId":"-"},"content":" * Updates {@code config} with the exact list of commits if commit ranges are provided."},{"lineNumber":421,"author":{"gitId":"-"},"content":" */"},{"lineNumber":422,"author":{"gitId":"-"},"content":" private void updateIgnoreCommitList(RepoConfiguration config) {"},{"lineNumber":423,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e updatedIgnoreCommitList \u003d config.getIgnoreCommitList().stream()"},{"lineNumber":424,"author":{"gitId":"-"},"content":" .flatMap(x -\u003e CommitHash.getHashes(config.getRepoRoot(), config.getBranch(), x))"},{"lineNumber":425,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":426,"author":{"gitId":"-"},"content":" config.setIgnoreCommitList(updatedIgnoreCommitList);"},{"lineNumber":427,"author":{"gitId":"-"},"content":" }"},{"lineNumber":428,"author":{"gitId":"-"},"content":""},{"lineNumber":429,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":430,"author":{"gitId":"-"},"content":" * Adds {@code configs} that were not successfully cloned from {@code failedRepoLocation}"},{"lineNumber":431,"author":{"gitId":"-"},"content":" * into the list of errors in the summary report and removes them from the list of {@code configs}."},{"lineNumber":432,"author":{"gitId":"-"},"content":" */"},{"lineNumber":433,"author":{"gitId":"-"},"content":" private void handleCloningFailed(List\u003cRepoConfiguration\u003e configs, RepoLocation failedRepoLocation) {"},{"lineNumber":434,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e failedConfigs \u003d configs.stream()"},{"lineNumber":435,"author":{"gitId":"-"},"content":" .filter(config -\u003e config.getLocation().equals(failedRepoLocation))"},{"lineNumber":436,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":437,"author":{"gitId":"-"},"content":" handleFailedConfigs(configs, failedConfigs, String.format(LOG_ERROR_CLONING, failedRepoLocation));"},{"lineNumber":438,"author":{"gitId":"-"},"content":" }"},{"lineNumber":439,"author":{"gitId":"-"},"content":""},{"lineNumber":440,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":441,"author":{"gitId":"-"},"content":" * Adds {@code failedConfig} that failed analysis into the list of errors in the summary report along with"},{"lineNumber":442,"author":{"gitId":"-"},"content":" * an {@code errorMessage} and removes {@code failedConfig} from the list of {@code configs}."},{"lineNumber":443,"author":{"gitId":"-"},"content":" */"},{"lineNumber":444,"author":{"gitId":"-"},"content":" private void handleAnalysisFailed(List\u003cRepoConfiguration\u003e configs, RepoConfiguration failedConfig,"},{"lineNumber":445,"author":{"gitId":"-"},"content":" String errorMessage) {"},{"lineNumber":446,"author":{"gitId":"-"},"content":" handleFailedConfigs(configs, Collections.singletonList(failedConfig), errorMessage);"},{"lineNumber":447,"author":{"gitId":"-"},"content":" }"},{"lineNumber":448,"author":{"gitId":"-"},"content":""},{"lineNumber":449,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":450,"author":{"gitId":"-"},"content":" * Adds {@code failedConfigs} that failed cloning/analysis into the list of errors in the summary report along"},{"lineNumber":451,"author":{"gitId":"-"},"content":" * with an {@code errorMessage} and removes {@code failedConfigs} from the list of {@code configs}."},{"lineNumber":452,"author":{"gitId":"-"},"content":" */"},{"lineNumber":453,"author":{"gitId":"-"},"content":" private void handleFailedConfigs(List\u003cRepoConfiguration\u003e configs, List\u003cRepoConfiguration\u003e failedConfigs,"},{"lineNumber":454,"author":{"gitId":"-"},"content":" String errorMessage) {"},{"lineNumber":455,"author":{"gitId":"-"},"content":" Iterator\u003cRepoConfiguration\u003e itr \u003d configs.iterator();"},{"lineNumber":456,"author":{"gitId":"-"},"content":" while (itr.hasNext()) {"},{"lineNumber":457,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d itr.next();"},{"lineNumber":458,"author":{"gitId":"-"},"content":" if (failedConfigs.contains(config)) {"},{"lineNumber":459,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().addErrorMessage(config.getDisplayName(), errorMessage);"},{"lineNumber":460,"author":{"gitId":"-"},"content":" itr.remove();"},{"lineNumber":461,"author":{"gitId":"-"},"content":" }"},{"lineNumber":462,"author":{"gitId":"-"},"content":" }"},{"lineNumber":463,"author":{"gitId":"-"},"content":" }"},{"lineNumber":464,"author":{"gitId":"-"},"content":""},{"lineNumber":465,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":466,"author":{"gitId":"-"},"content":" * Generates an empty report at the {@code repoReportDirectory}, with the author display name"},{"lineNumber":467,"author":{"gitId":"-"},"content":" * as {@code displayName}."},{"lineNumber":468,"author":{"gitId":"-"},"content":" *"},{"lineNumber":469,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for this empty report."},{"lineNumber":470,"author":{"gitId":"-"},"content":" */"},{"lineNumber":471,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e generateEmptyRepoReport(String repoReportDirectory, String displayName) {"},{"lineNumber":472,"author":{"gitId":"-"},"content":" CommitReportJson emptyCommitReportJson \u003d new CommitReportJson(displayName);"},{"lineNumber":473,"author":{"gitId":"-"},"content":""},{"lineNumber":474,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d new ArrayList\u003c\u003e();"},{"lineNumber":475,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(emptyCommitReportJson, getIndividualCommitsPath(repoReportDirectory))"},{"lineNumber":476,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);"},{"lineNumber":477,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(Collections.emptyList(), getIndividualAuthorshipPath(repoReportDirectory))"},{"lineNumber":478,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);"},{"lineNumber":479,"author":{"gitId":"-"},"content":""},{"lineNumber":480,"author":{"gitId":"-"},"content":" return generatedFiles;"},{"lineNumber":481,"author":{"gitId":"-"},"content":" }"},{"lineNumber":482,"author":{"gitId":"-"},"content":""},{"lineNumber":483,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":484,"author":{"gitId":"-"},"content":" * Generates a report for a single repository at {@code repoReportDirectory} based on {@code commitSummary}"},{"lineNumber":485,"author":{"gitId":"-"},"content":" * and {@code authorshipSummary}."},{"lineNumber":486,"author":{"gitId":"-"},"content":" *"},{"lineNumber":487,"author":{"gitId":"-"},"content":" * @return A list of paths to the JSON report files generated for this report."},{"lineNumber":488,"author":{"gitId":"-"},"content":" */"},{"lineNumber":489,"author":{"gitId":"-"},"content":" private List\u003cPath\u003e generateIndividualRepoReport(String repoReportDirectory,"},{"lineNumber":490,"author":{"gitId":"-"},"content":" CommitContributionSummary commitSummary, AuthorshipSummary authorshipSummary) {"},{"lineNumber":491,"author":{"gitId":"-"},"content":" CommitReportJson commitReportJson \u003d new CommitReportJson(commitSummary, authorshipSummary);"},{"lineNumber":492,"author":{"gitId":"-"},"content":""},{"lineNumber":493,"author":{"gitId":"-"},"content":" List\u003cPath\u003e generatedFiles \u003d new ArrayList\u003c\u003e();"},{"lineNumber":494,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(commitReportJson, getIndividualCommitsPath(repoReportDirectory))"},{"lineNumber":495,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);"},{"lineNumber":496,"author":{"gitId":"-"},"content":" FileUtil.writeJsonFile(authorshipSummary.getFileResults(), getIndividualAuthorshipPath(repoReportDirectory))"},{"lineNumber":497,"author":{"gitId":"-"},"content":" .ifPresent(generatedFiles::add);"},{"lineNumber":498,"author":{"gitId":"-"},"content":" return generatedFiles;"},{"lineNumber":499,"author":{"gitId":"-"},"content":" }"},{"lineNumber":500,"author":{"gitId":"-"},"content":""},{"lineNumber":501,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":502,"author":{"gitId":"-"},"content":" * Creates the .git-blame-ignore-revs file containing the contents of {@code ignoreCommitList}"},{"lineNumber":503,"author":{"gitId":"-"},"content":" * in the repo root directory of {@code config}."},{"lineNumber":504,"author":{"gitId":"-"},"content":" */"},{"lineNumber":505,"author":{"gitId":"-"},"content":" private void generateIgnoreRevsFile(RepoConfiguration config) {"},{"lineNumber":506,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e expandedIgnoreCommitList \u003d config.getIgnoreCommitList().stream()"},{"lineNumber":507,"author":{"gitId":"-"},"content":" .map(CommitHash::toString)"},{"lineNumber":508,"author":{"gitId":"-"},"content":" .map(commitHash -\u003e {"},{"lineNumber":509,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":510,"author":{"gitId":"-"},"content":" return GitShow.getExpandedCommitHash(config.getRepoRoot(), commitHash);"},{"lineNumber":511,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {"},{"lineNumber":512,"author":{"gitId":"-"},"content":" logger.warning(String.format(LOG_ERROR_EXPANDING_COMMIT, commitHash));"},{"lineNumber":513,"author":{"gitId":"-"},"content":" return new CommitHash(commitHash);"},{"lineNumber":514,"author":{"gitId":"-"},"content":" }"},{"lineNumber":515,"author":{"gitId":"-"},"content":" })"},{"lineNumber":516,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":517,"author":{"gitId":"-"},"content":""},{"lineNumber":518,"author":{"gitId":"-"},"content":" config.setIgnoreCommitList(expandedIgnoreCommitList);"},{"lineNumber":519,"author":{"gitId":"-"},"content":" FileUtil.writeIgnoreRevsFile(getIgnoreRevsFilePath(config.getRepoRoot()), config.getIgnoreCommitList());"},{"lineNumber":520,"author":{"gitId":"-"},"content":" }"},{"lineNumber":521,"author":{"gitId":"-"},"content":""},{"lineNumber":522,"author":{"gitId":"-"},"content":" private String getSummaryResultPath(String targetFileLocation) {"},{"lineNumber":523,"author":{"gitId":"-"},"content":" return targetFileLocation + \"/\" + SummaryJson.SUMMARY_JSON_FILE_NAME;"},{"lineNumber":524,"author":{"gitId":"-"},"content":" }"},{"lineNumber":525,"author":{"gitId":"-"},"content":""},{"lineNumber":526,"author":{"gitId":"-"},"content":" private String getIgnoreRevsFilePath(String targetFileLocation) {"},{"lineNumber":527,"author":{"gitId":"-"},"content":" return targetFileLocation + GitBlame.IGNORE_COMMIT_LIST_FILE_NAME;"},{"lineNumber":528,"author":{"gitId":"-"},"content":" }"},{"lineNumber":529,"author":{"gitId":"-"},"content":""},{"lineNumber":530,"author":{"gitId":"-"},"content":" private String getIndividualAuthorshipPath(String repoReportDirectory) {"},{"lineNumber":531,"author":{"gitId":"-"},"content":" return repoReportDirectory + \"/authorship.json\";"},{"lineNumber":532,"author":{"gitId":"-"},"content":" }"},{"lineNumber":533,"author":{"gitId":"-"},"content":""},{"lineNumber":534,"author":{"gitId":"-"},"content":" private String getIndividualCommitsPath(String repoReportDirectory) {"},{"lineNumber":535,"author":{"gitId":"-"},"content":" return repoReportDirectory + \"/commits.json\";"},{"lineNumber":536,"author":{"gitId":"-"},"content":" }"},{"lineNumber":537,"author":{"gitId":"-"},"content":""},{"lineNumber":538,"author":{"gitId":"-"},"content":" public void setEarliestSinceDate(LocalDateTime newEarliestSinceDate) {"},{"lineNumber":539,"author":{"gitId":"-"},"content":" if (earliestSinceDate \u003d\u003d null || newEarliestSinceDate.compareTo(earliestSinceDate) \u003c 0) {"},{"lineNumber":540,"author":{"gitId":"-"},"content":" earliestSinceDate \u003d newEarliestSinceDate;"},{"lineNumber":541,"author":{"gitId":"-"},"content":" }"},{"lineNumber":542,"author":{"gitId":"-"},"content":" }"},{"lineNumber":543,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"sopa301":1,"-":542}},{"path":"src/main/java/reposense/util/StringsUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":6,"author":{"gitId":"-"},"content":" * Contains strings related utilities."},{"lineNumber":7,"author":{"gitId":"-"},"content":" */"},{"lineNumber":8,"author":{"gitId":"-"},"content":"public class StringsUtil {"},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":" public static final Pattern NEWLINE \u003d Pattern.compile(\"\\n\");"},{"lineNumber":10,"author":{"gitId":"asdfghjkxd"},"content":" public static final Pattern TAB \u003d Pattern.compile(\"\\t\");"},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":" public static final Pattern NUMERIC \u003d Pattern.compile(\"^\\\\d+$\");"},{"lineNumber":12,"author":{"gitId":"-"},"content":" private static final Pattern SPECIAL_SYMBOLS \u003d Pattern.compile(\"[@;:\u0026/\\\\\\\\!\u003c\u003e{}%#\\\"\\\\-\u003d\u0027()\\\\[\\\\].+*?^$|]\");"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":15,"author":{"gitId":"-"},"content":" * Filters the {@code text}, returning only the lines that matches the given {@code regex}."},{"lineNumber":16,"author":{"gitId":"-"},"content":" */"},{"lineNumber":17,"author":{"gitId":"-"},"content":" public static String filterText(String text, String regex) {"},{"lineNumber":18,"author":{"gitId":"-"},"content":" StringBuilder sb \u003d new StringBuilder();"},{"lineNumber":19,"author":{"gitId":"asdfghjkxd"},"content":" Pattern regexPattern \u003d Pattern.compile(regex);"},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":" for (String line: NEWLINE.split(text)) {"},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":" if (regexPattern.matcher(line).matches()) {"},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":" sb.append(line).append(\"\\n\");"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":" }"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":" return sb.toString();"},{"lineNumber":28,"author":{"gitId":"-"},"content":" }"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":31,"author":{"gitId":"-"},"content":" * Converts all special symbol characters inside {@code regexString} to the {@code replacementCharacter}."},{"lineNumber":32,"author":{"gitId":"-"},"content":" */"},{"lineNumber":33,"author":{"gitId":"-"},"content":" public static String replaceSpecialSymbols(String regexString, String replacementCharacter) {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" return SPECIAL_SYMBOLS.matcher(regexString).replaceAll(replacementCharacter);"},{"lineNumber":35,"author":{"gitId":"-"},"content":" }"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Adds quotes to the string."},{"lineNumber":39,"author":{"gitId":"-"},"content":" */"},{"lineNumber":40,"author":{"gitId":"-"},"content":" public static String addQuotes(String original) {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" return \"\\\"\" + original + \"\\\"\";"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":45,"author":{"gitId":"-"},"content":" * Adds the appropriate quotation marks for a file path depending on the OS."},{"lineNumber":46,"author":{"gitId":"-"},"content":" */"},{"lineNumber":47,"author":{"gitId":"-"},"content":" public static String addQuotesForFilePath(String filePath) {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" if (SystemUtil.isWindows()) {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" return \"\\\"\" + filePath + \"\\\"\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" StringBuilder sb \u003d new StringBuilder();"},{"lineNumber":52,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c filePath.length(); i++) {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" char c \u003d filePath.charAt(i);"},{"lineNumber":54,"author":{"gitId":"-"},"content":" if (c \u003d\u003d \u0027\\\u0027\u0027) {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" sb.append(\"\u0027\\\"\u0027\\\"\u0027\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":57,"author":{"gitId":"-"},"content":" sb.append(c);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":" return \u0027\\\u0027\u0027 + sb.toString() + \u0027\\\u0027\u0027;"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":" }"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":65,"author":{"gitId":"-"},"content":" * Removes quotes at the start and end of {@code original}, if exists."},{"lineNumber":66,"author":{"gitId":"-"},"content":" */"},{"lineNumber":67,"author":{"gitId":"-"},"content":" public static String removeQuote(String original) {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" return (original.startsWith(\"\\\"\") \u0026\u0026 original.endsWith(\"\\\"\"))"},{"lineNumber":69,"author":{"gitId":"-"},"content":" ? original.substring(1, original.length() - 1)"},{"lineNumber":70,"author":{"gitId":"-"},"content":" : original;"},{"lineNumber":71,"author":{"gitId":"-"},"content":" }"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":74,"author":{"gitId":"-"},"content":" * Removes trailing backslashes from a {@code string}, if it exists."},{"lineNumber":75,"author":{"gitId":"-"},"content":" */"},{"lineNumber":76,"author":{"gitId":"-"},"content":" public static String removeTrailingBackslash(String string) {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" if (string.isEmpty()) {"},{"lineNumber":78,"author":{"gitId":"-"},"content":" return string;"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":" int lastCharIndex \u003d string.length() - 1;"},{"lineNumber":81,"author":{"gitId":"-"},"content":" String editedString \u003d string;"},{"lineNumber":82,"author":{"gitId":"-"},"content":" boolean isLastCharBackslash \u003d string.charAt(lastCharIndex) \u003d\u003d \u0027\\\\\u0027;"},{"lineNumber":83,"author":{"gitId":"-"},"content":" while (isLastCharBackslash) {"},{"lineNumber":84,"author":{"gitId":"-"},"content":" editedString \u003d editedString.substring(0, lastCharIndex--);"},{"lineNumber":85,"author":{"gitId":"-"},"content":" boolean isStringEmpty \u003d editedString.length() \u003d\u003d 0;"},{"lineNumber":86,"author":{"gitId":"-"},"content":" isLastCharBackslash \u003d !isStringEmpty \u0026\u0026 editedString.charAt(lastCharIndex) \u003d\u003d \u0027\\\\\u0027;"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":" return editedString;"},{"lineNumber":89,"author":{"gitId":"-"},"content":" }"},{"lineNumber":90,"author":{"gitId":"-"},"content":""},{"lineNumber":91,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":92,"author":{"gitId":"-"},"content":" * Returns true iff {@code string} is purely numeric."},{"lineNumber":93,"author":{"gitId":"-"},"content":" */"},{"lineNumber":94,"author":{"gitId":"-"},"content":" public static boolean isNumeric(String string) {"},{"lineNumber":95,"author":{"gitId":"asdfghjkxd"},"content":" return NUMERIC.matcher(string).matches();"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":9,"-":88}},{"path":"src/main/java/reposense/util/TimeUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeParseException;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.time.format.ResolverStyle;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.logging.Logger;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.regex.Matcher;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.regex.Pattern;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.system.LogsManager;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":16,"author":{"gitId":"-"},"content":" * Contains time related functionalities."},{"lineNumber":17,"author":{"gitId":"-"},"content":" */"},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class TimeUtil {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static Long startTime;"},{"lineNumber":20,"author":{"gitId":"-"},"content":" private static final String DATE_FORMAT_REGEX \u003d"},{"lineNumber":21,"author":{"gitId":"-"},"content":" \"^((0?[1-9]|[12][0-9]|3[01])\\\\/(0?[1-9]|1[012])\\\\/(19|2[0-9])[0-9]{2})\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":" // \"uuuu\" is used for year since \"yyyy\" does not work with ResolverStyle.STRICT"},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final DateTimeFormatter CLI_ARGS_DATE_FORMAT \u003d DateTimeFormatter.ofPattern(\"d/M/uuuu HH:mm:ss\");"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String EARLIEST_VALID_DATE \u003d \"1970-01-01T00:00:00\";"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String LATEST_VALID_DATE \u003d \"2099-12-31T23:59:59\";"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final String MESSAGE_SINCE_DATE_EARLIER_THAN_EARLIEST_VALID_DATE \u003d"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"Date of %s must not be earlier than \""},{"lineNumber":30,"author":{"gitId":"-"},"content":" + String.format(\"%s, resetting it to earliest valid date\", EARLIEST_VALID_DATE);"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String MESSAGE_UNTIL_DATE_LATER_THAN_LATEST_VALID_DATE \u003d"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"Date of %s must not be later than \""},{"lineNumber":33,"author":{"gitId":"-"},"content":" + String.format(\"%s, resetting it to latest valid date\", LATEST_VALID_DATE);"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final Logger logger \u003d LogsManager.getLogger(TimeUtil.class);"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Sets the {@code startTime} to be the current time."},{"lineNumber":39,"author":{"gitId":"-"},"content":" */"},{"lineNumber":40,"author":{"gitId":"-"},"content":" public static void startTimer() {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" startTime \u003d System.nanoTime();"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":45,"author":{"gitId":"-"},"content":" * Returns the formatted elapsed time from {@code startTime} until current time."},{"lineNumber":46,"author":{"gitId":"-"},"content":" */"},{"lineNumber":47,"author":{"gitId":"-"},"content":" public static String getElapsedTime() {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" long endTime \u003d System.nanoTime();"},{"lineNumber":49,"author":{"gitId":"-"},"content":" double elapsedTime \u003d (double) (endTime - startTime) / 1_000_000_000.0;"},{"lineNumber":50,"author":{"gitId":"-"},"content":" int elapsedHours \u003d (int) elapsedTime / 3600;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" int elapsedMinutes \u003d (int) (elapsedTime % 3600) / 60;"},{"lineNumber":52,"author":{"gitId":"-"},"content":" double elapsedSeconds \u003d elapsedTime % 60;"},{"lineNumber":53,"author":{"gitId":"-"},"content":" String formattedElapsedTime \u003d \"\";"},{"lineNumber":54,"author":{"gitId":"-"},"content":""},{"lineNumber":55,"author":{"gitId":"-"},"content":" if (elapsedHours \u003e 0) {"},{"lineNumber":56,"author":{"gitId":"-"},"content":" formattedElapsedTime +\u003d String.format(\" %d hour(s)\", elapsedHours);"},{"lineNumber":57,"author":{"gitId":"-"},"content":" }"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"-"},"content":" if (elapsedMinutes \u003e 0) {"},{"lineNumber":60,"author":{"gitId":"-"},"content":" formattedElapsedTime +\u003d String.format(\" %d minute(s)\", elapsedMinutes);"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" formattedElapsedTime +\u003d String.format(\" %.2f second(s)\", elapsedSeconds);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" return formattedElapsedTime;"},{"lineNumber":65,"author":{"gitId":"-"},"content":" }"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":68,"author":{"gitId":"-"},"content":" * Returns the formatted elapsed time from {@code startTime} until current time,"},{"lineNumber":69,"author":{"gitId":"-"},"content":" * with an additional explanatory string."},{"lineNumber":70,"author":{"gitId":"-"},"content":" */"},{"lineNumber":71,"author":{"gitId":"-"},"content":" public static String getElapsedTimeMessage() {"},{"lineNumber":72,"author":{"gitId":"-"},"content":" return \"Elapsed processing time:\" + getElapsedTime();"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":76,"author":{"gitId":"-"},"content":" * Returns a valid {@link LocalDateTime} that is set to midnight for the given {@code sinceDate}."},{"lineNumber":77,"author":{"gitId":"-"},"content":" */"},{"lineNumber":78,"author":{"gitId":"-"},"content":" public static LocalDateTime getSinceDate(LocalDateTime sinceDate) {"},{"lineNumber":79,"author":{"gitId":"-"},"content":" return getValidDate(sinceDate).withHour(0).withMinute(0).withSecond(0);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" }"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":83,"author":{"gitId":"-"},"content":" * Returns a valid {@link LocalDateTime} that is set to 23:59:59 for the given {@code untilDate}."},{"lineNumber":84,"author":{"gitId":"-"},"content":" */"},{"lineNumber":85,"author":{"gitId":"-"},"content":" public static LocalDateTime getUntilDate(LocalDateTime untilDate) {"},{"lineNumber":86,"author":{"gitId":"-"},"content":" return getValidDate(untilDate).withHour(23).withMinute(59).withSecond(59);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" }"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":90,"author":{"gitId":"-"},"content":" * Returns a valid {@link LocalDateTime} that is within {@value EARLIEST_VALID_DATE} and {@value LATEST_VALID_DATE}."},{"lineNumber":91,"author":{"gitId":"-"},"content":" * Resets {@code date} passed the closest valid date if it exceeds the date range."},{"lineNumber":92,"author":{"gitId":"-"},"content":" */"},{"lineNumber":93,"author":{"gitId":"-"},"content":" public static LocalDateTime getValidDate(LocalDateTime date) {"},{"lineNumber":94,"author":{"gitId":"-"},"content":" if (date.isBefore(LocalDateTime.parse(EARLIEST_VALID_DATE))) {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_SINCE_DATE_EARLIER_THAN_EARLIEST_VALID_DATE, date));"},{"lineNumber":96,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(EARLIEST_VALID_DATE);"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" if (date.isAfter(LocalDateTime.parse(LATEST_VALID_DATE))) {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" logger.warning(String.format(MESSAGE_UNTIL_DATE_LATER_THAN_LATEST_VALID_DATE, date));"},{"lineNumber":101,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(LATEST_VALID_DATE);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" }"},{"lineNumber":103,"author":{"gitId":"-"},"content":" return date;"},{"lineNumber":104,"author":{"gitId":"-"},"content":" }"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":107,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} that is one month before {@code cliUntilDate} (if present) or one month"},{"lineNumber":108,"author":{"gitId":"-"},"content":" * before report generation date otherwise."},{"lineNumber":109,"author":{"gitId":"-"},"content":" */"},{"lineNumber":110,"author":{"gitId":"-"},"content":" public static LocalDateTime getDateMinusAMonth(LocalDateTime cliUntilDate) {"},{"lineNumber":111,"author":{"gitId":"-"},"content":" return getSinceDate(cliUntilDate.minusMonths(1));"},{"lineNumber":112,"author":{"gitId":"-"},"content":" }"},{"lineNumber":113,"author":{"gitId":"-"},"content":""},{"lineNumber":114,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":115,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} that is {@code numOfDays} before {@code cliUntilDate} (if present) or one month"},{"lineNumber":116,"author":{"gitId":"-"},"content":" * before report generation date otherwise."},{"lineNumber":117,"author":{"gitId":"-"},"content":" */"},{"lineNumber":118,"author":{"gitId":"-"},"content":" public static LocalDateTime getDateMinusNDays(LocalDateTime cliUntilDate, int numOfDays) {"},{"lineNumber":119,"author":{"gitId":"-"},"content":" return getSinceDate(cliUntilDate.minusDays(numOfDays));"},{"lineNumber":120,"author":{"gitId":"-"},"content":" }"},{"lineNumber":121,"author":{"gitId":"-"},"content":""},{"lineNumber":122,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":123,"author":{"gitId":"-"},"content":" * Returns a {@link LocalDateTime} that is {@code numOfDays} after {@code cliSinceDate} (if present)."},{"lineNumber":124,"author":{"gitId":"-"},"content":" */"},{"lineNumber":125,"author":{"gitId":"-"},"content":" public static LocalDateTime getDatePlusNDays(LocalDateTime cliSinceDate, int numOfDays) {"},{"lineNumber":126,"author":{"gitId":"-"},"content":" return getUntilDate(cliSinceDate.plusDays(numOfDays));"},{"lineNumber":127,"author":{"gitId":"-"},"content":" }"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":130,"author":{"gitId":"-"},"content":" * Returns current date with time set to 23:59:59. The time zone is adjusted to the given {@code zoneId}."},{"lineNumber":131,"author":{"gitId":"-"},"content":" */"},{"lineNumber":132,"author":{"gitId":"-"},"content":" public static LocalDateTime getCurrentDate(ZoneId zoneId) {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" return LocalDateTime.now(zoneId).withHour(23).withMinute(59).withSecond(59).withNano(0);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":137,"author":{"gitId":"-"},"content":" * Returns the {@link LocalDateTime} of {@code ARBITRARY_FIRST_COMMIT_DATE} in the UTC time zone."},{"lineNumber":138,"author":{"gitId":"-"},"content":" */"},{"lineNumber":139,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateLocal() {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" return SinceDateArgumentType.getArbitraryFirstCommitDateLocal();"},{"lineNumber":141,"author":{"gitId":"-"},"content":" }"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":144,"author":{"gitId":"-"},"content":" * Returns the {@link LocalDateTime} of {@code ARBITRARY_FIRST_COMMIT_DATE} adjusted for the time zone based on"},{"lineNumber":145,"author":{"gitId":"-"},"content":" * {@code toZoneId}."},{"lineNumber":146,"author":{"gitId":"-"},"content":" */"},{"lineNumber":147,"author":{"gitId":"-"},"content":" public static LocalDateTime getArbitraryFirstCommitDateConverted(ZoneId toZoneId) {"},{"lineNumber":148,"author":{"gitId":"-"},"content":" return SinceDateArgumentType.getArbitraryFirstCommitDateConverted(toZoneId);"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":152,"author":{"gitId":"-"},"content":" * Checks whether the given {@code dateTime} is the {@code ARBITRARY_FIRST_COMMIT_DATE} in UTC time."},{"lineNumber":153,"author":{"gitId":"-"},"content":" */"},{"lineNumber":154,"author":{"gitId":"-"},"content":" public static boolean isEqualToArbitraryFirstDateUtc(LocalDateTime dateTime) {"},{"lineNumber":155,"author":{"gitId":"-"},"content":" return dateTime.equals(getArbitraryFirstCommitDateLocal());"},{"lineNumber":156,"author":{"gitId":"-"},"content":" }"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":159,"author":{"gitId":"-"},"content":" * Checks whether the given {@code dateTime} is the {@code ARBITRARY_FIRST_COMMIT_DATE} in the time zone given by"},{"lineNumber":160,"author":{"gitId":"-"},"content":" * {@code zoneId}."},{"lineNumber":161,"author":{"gitId":"-"},"content":" */"},{"lineNumber":162,"author":{"gitId":"-"},"content":" public static boolean isEqualToArbitraryFirstDateConverted(LocalDateTime dateTime, ZoneId zoneId) {"},{"lineNumber":163,"author":{"gitId":"-"},"content":" return dateTime.equals(getArbitraryFirstCommitDateConverted(zoneId));"},{"lineNumber":164,"author":{"gitId":"-"},"content":" }"},{"lineNumber":165,"author":{"gitId":"-"},"content":""},{"lineNumber":166,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":167,"author":{"gitId":"-"},"content":" * Extracts the first substring of {@code date} string that matches the {@code DATE_FORMAT_REGEX}."},{"lineNumber":168,"author":{"gitId":"-"},"content":" */"},{"lineNumber":169,"author":{"gitId":"-"},"content":" public static String extractDate(String date) {"},{"lineNumber":170,"author":{"gitId":"-"},"content":" Matcher matcher \u003d Pattern.compile(DATE_FORMAT_REGEX).matcher(date);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" String extractedDate \u003d date;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" if (matcher.find()) {"},{"lineNumber":173,"author":{"gitId":"-"},"content":" extractedDate \u003d matcher.group(1);"},{"lineNumber":174,"author":{"gitId":"-"},"content":" }"},{"lineNumber":175,"author":{"gitId":"-"},"content":" return extractedDate;"},{"lineNumber":176,"author":{"gitId":"-"},"content":" }"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":179,"author":{"gitId":"-"},"content":" * Parses the given {@code date} string as a {@link LocalDateTime} based on the {@code CLI_ARGS_DATE_FORMAT}."},{"lineNumber":180,"author":{"gitId":"-"},"content":" * Uses {@link ResolverStyle#STRICT} to avoid unexpected dates like 31/02/2020."},{"lineNumber":181,"author":{"gitId":"-"},"content":" *"},{"lineNumber":182,"author":{"gitId":"-"},"content":" * @throws java.text.ParseException if date cannot be parsed by the required format."},{"lineNumber":183,"author":{"gitId":"-"},"content":" */"},{"lineNumber":184,"author":{"gitId":"-"},"content":" public static LocalDateTime parseDate(String date) throws java.text.ParseException {"},{"lineNumber":185,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" return LocalDateTime.parse(date, CLI_ARGS_DATE_FORMAT.withResolverStyle(ResolverStyle.STRICT));"},{"lineNumber":187,"author":{"gitId":"-"},"content":" } catch (DateTimeParseException e) {"},{"lineNumber":188,"author":{"gitId":"-"},"content":" throw new java.text.ParseException(String.format("},{"lineNumber":189,"author":{"gitId":"-"},"content":" \"Exception message: %s\\n\", e.getMessage()), e.getErrorIndex());"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":191}},{"path":"src/systemtest/java/reposense/ConfigSystemTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.Execution;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.ExecutionMode;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.SupportedDomainUrlMap;"},{"lineNumber":18,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.report.ErrorSummary;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.util.SystemTestUtil;"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":"@Execution(ExecutionMode.SAME_THREAD)"},{"lineNumber":25,"author":{"gitId":"-"},"content":"public class ConfigSystemTest {"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e TESTING_FILE_FORMATS \u003d Arrays.asList(\"java\", \"adoc\");"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String TEST_TIME_ZONE \u003d \"Asia/Singapore\";"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String OUTPUT_DIRECTORY \u003d \"ft_temp\";"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final Path REPORT_DIRECTORY_PATH \u003d Paths.get(OUTPUT_DIRECTORY, \"reposense-report\");"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static boolean didNotCloneRepoNormally \u003d true;"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" @BeforeEach"},{"lineNumber":35,"author":{"gitId":"-"},"content":" public void setUp() throws Exception {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" SupportedDomainUrlMap.clearAccessedSet();"},{"lineNumber":37,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);"},{"lineNumber":38,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().clearErrorSet();"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":""},{"lineNumber":41,"author":{"gitId":"-"},"content":" @AfterEach"},{"lineNumber":42,"author":{"gitId":"-"},"content":" public void tearDown() throws Exception {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * System test with a specified until date and a {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND}"},{"lineNumber":48,"author":{"gitId":"-"},"content":" * since date to capture from the first commit."},{"lineNumber":49,"author":{"gitId":"-"},"content":" */"},{"lineNumber":50,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public void testSinceBeginningDateRange() {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()"},{"lineNumber":53,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)"},{"lineNumber":54,"author":{"gitId":"-"},"content":" .addUntilDate(\"2/3/2019\");"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" runTest(inputBuilder, false,"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/sinceBeginningDateRange/expected\");"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":""},{"lineNumber":60,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":61,"author":{"gitId":"-"},"content":" public void test30DaysFromUntilDate() {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder().addUntilDate(\"1/11/2017\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":""},{"lineNumber":64,"author":{"gitId":"-"},"content":" runTest(inputBuilder, false,"},{"lineNumber":65,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/30daysFromUntilDate/expected\");"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":69,"author":{"gitId":"-"},"content":" * System test with a specified since date and until date, with the last modified date time in each"},{"lineNumber":70,"author":{"gitId":"-"},"content":" * line of code."},{"lineNumber":71,"author":{"gitId":"-"},"content":" */"},{"lineNumber":72,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":73,"author":{"gitId":"-"},"content":" public void testDateRangeWithModifiedDateTimeInLines() {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()"},{"lineNumber":75,"author":{"gitId":"-"},"content":" .addSinceDate(\"1/9/2017\")"},{"lineNumber":76,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/10/2017\")"},{"lineNumber":77,"author":{"gitId":"-"},"content":" .addLastModifiedDateFlags();"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" runTest(inputBuilder, false,"},{"lineNumber":80,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/dateRangeWithModifiedDateTimeInLines/expected\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":" }"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":84,"author":{"gitId":"-"},"content":" * System test with a specified until date and a {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND}"},{"lineNumber":85,"author":{"gitId":"-"},"content":" * since date to capture from the first commit, using shallow cloning."},{"lineNumber":86,"author":{"gitId":"-"},"content":" */"},{"lineNumber":87,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":88,"author":{"gitId":"-"},"content":" public void testSinceBeginningDateRangeWithShallowCloning() {"},{"lineNumber":89,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .addUntilDate(\"2/3/2019\")"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .addShallowCloning();"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/sinceBeginningDateRangeWithShallowCloning/expected\");"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":99,"author":{"gitId":"-"},"content":" public void test30DaysFromUntilDateWithShallowCloning() {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .addUntilDate(\"1/11/2017\")"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .addShallowCloning();"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,"},{"lineNumber":105,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/30daysFromUntilDateWithShallowCloning/expected\");"},{"lineNumber":106,"author":{"gitId":"-"},"content":" }"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":109,"author":{"gitId":"-"},"content":" * System test with a specified until date and a {@link SinceDateArgumentType#FIRST_COMMIT_DATE_SHORTHAND}"},{"lineNumber":110,"author":{"gitId":"-"},"content":" * since date to capture from the first commit, using find previous authors."},{"lineNumber":111,"author":{"gitId":"-"},"content":" */"},{"lineNumber":112,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":113,"author":{"gitId":"-"},"content":" public void testSinceBeginningDateRangeWithFindPreviousAuthors() {"},{"lineNumber":114,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()"},{"lineNumber":115,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)"},{"lineNumber":116,"author":{"gitId":"-"},"content":" .addUntilDate(\"2/3/2019\")"},{"lineNumber":117,"author":{"gitId":"-"},"content":" .addFindPreviousAuthors();"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,"},{"lineNumber":120,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/sinceBeginningDateRangeFindPreviousAuthors/expected\");"},{"lineNumber":121,"author":{"gitId":"-"},"content":" }"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":124,"author":{"gitId":"-"},"content":" public void test30DaysFromUntilDateWithFindPreviousAuthors() {"},{"lineNumber":125,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d initInputBuilder()"},{"lineNumber":126,"author":{"gitId":"-"},"content":" .addUntilDate(\"1/11/2017\")"},{"lineNumber":127,"author":{"gitId":"-"},"content":" .addFindPreviousAuthors();"},{"lineNumber":128,"author":{"gitId":"-"},"content":""},{"lineNumber":129,"author":{"gitId":"-"},"content":" runTest(inputBuilder, true,"},{"lineNumber":130,"author":{"gitId":"-"},"content":" \"ConfigSystemTest/30daysFromUntilDateFindPreviousAuthors/expected\");"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":134,"author":{"gitId":"-"},"content":" * Returns a {@link InputBuilder} that is initialized with some default values."},{"lineNumber":135,"author":{"gitId":"-"},"content":" * \u003cbr\u003eConfig Folder Path: {@code ConfigSystemTest}"},{"lineNumber":136,"author":{"gitId":"-"},"content":" * \u003cbr\u003eFormats: {@link ConfigSystemTest#TESTING_FILE_FORMATS TESTING_FILE_FORMATS}"},{"lineNumber":137,"author":{"gitId":"-"},"content":" * \u003cbr\u003eTimezone: {@link ConfigSystemTest#TEST_TIME_ZONE TEST_TIME_ZONE}"},{"lineNumber":138,"author":{"gitId":"-"},"content":" * \u003cbr\u003eOutput Folder Path: {@link ConfigSystemTest#OUTPUT_DIRECTORY OUTPUT_DIRECTORY}"},{"lineNumber":139,"author":{"gitId":"-"},"content":" * \u003cbr\u003eTest Mode: {@code Enabled}"},{"lineNumber":140,"author":{"gitId":"-"},"content":" */"},{"lineNumber":141,"author":{"gitId":"-"},"content":" private InputBuilder initInputBuilder() {"},{"lineNumber":142,"author":{"gitId":"-"},"content":" Path configFolder \u003d loadResource(getClass(), \"ConfigSystemTest\");"},{"lineNumber":143,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", TESTING_FILE_FORMATS);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" return new InputBuilder().addConfig(configFolder)"},{"lineNumber":146,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":147,"author":{"gitId":"-"},"content":" .addTimezone(TEST_TIME_ZONE)"},{"lineNumber":148,"author":{"gitId":"-"},"content":" .addTestMode()"},{"lineNumber":149,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * Generates the testing report and compares it with the expected report."},{"lineNumber":154,"author":{"gitId":"-"},"content":" * Re-generates a normal report after the testing finished if the first report is shallow-cloned."},{"lineNumber":155,"author":{"gitId":"-"},"content":" *"},{"lineNumber":156,"author":{"gitId":"-"},"content":" * @param inputBuilder The input builder that contains the command line input specified by user."},{"lineNumber":157,"author":{"gitId":"-"},"content":" * @param shouldFreshClone Boolean for whether to clone repo again if it has been cloned before."},{"lineNumber":158,"author":{"gitId":"-"},"content":" * @param pathToResource The location at which files generated during the test are stored."},{"lineNumber":159,"author":{"gitId":"-"},"content":" */"},{"lineNumber":160,"author":{"gitId":"-"},"content":" private void runTest(InputBuilder inputBuilder, boolean shouldFreshClone, String pathToResource) {"},{"lineNumber":161,"author":{"gitId":"-"},"content":" if (shouldFreshClone || didNotCloneRepoNormally) {"},{"lineNumber":162,"author":{"gitId":"-"},"content":" inputBuilder \u003d inputBuilder.addFreshCloning();"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" RepoSense.main(translateCommandline(inputBuilder.build()));"},{"lineNumber":166,"author":{"gitId":"-"},"content":""},{"lineNumber":167,"author":{"gitId":"-"},"content":" Path actualFiles \u003d loadResource(getClass(), pathToResource);"},{"lineNumber":168,"author":{"gitId":"-"},"content":" SystemTestUtil.verifyReportJsonFiles(actualFiles, REPORT_DIRECTORY_PATH);"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" didNotCloneRepoNormally \u003d inputBuilder.isShallowCloning();"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":171}},{"path":"src/systemtest/java/reposense/LocalRepoSystemTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterAll;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.Execution;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.parallel.ExecutionMode;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.SupportedDomainUrlMap;"},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.report.ErrorSummary;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.util.SystemTestUtil;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"@Execution(ExecutionMode.SAME_THREAD)"},{"lineNumber":28,"author":{"gitId":"-"},"content":"public class LocalRepoSystemTest {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_ONE_PARENT \u003d \"parent1\";"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_TWO_PARENT \u003d \"parent2\";"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_ONE \u003d \"parent1/test-repo\";"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String LOCAL_DIRECTORY_TWO \u003d \"parent2/test-repo\";"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String LAST_COMMIT_DATE \u003d \"31/01/2023\";"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String OUTPUT_DIRECTORY \u003d \"local-test\";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String TIME_ZONE \u003d \"UTC+08\";"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path REPORT_DIRECTORY_PATH \u003d Paths.get(OUTPUT_DIRECTORY, \"reposense-report\");"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" @BeforeAll"},{"lineNumber":41,"author":{"gitId":"-"},"content":" public static void setupLocalRepos() throws Exception {"},{"lineNumber":42,"author":{"gitId":"asdfghjkxd"},"content":" TestRepoCloner.clone("},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"https://github.com/reposense/testrepo-Alpha\"))"},{"lineNumber":45,"author":{"gitId":"asdfghjkxd"},"content":" .build(),"},{"lineNumber":46,"author":{"gitId":"asdfghjkxd"},"content":" Paths.get(\".\"), LOCAL_DIRECTORY_ONE"},{"lineNumber":47,"author":{"gitId":"asdfghjkxd"},"content":" );"},{"lineNumber":48,"author":{"gitId":"asdfghjkxd"},"content":" TestRepoCloner.clone("},{"lineNumber":49,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":50,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"https://github.com/reposense/testrepo-Alpha\"))"},{"lineNumber":51,"author":{"gitId":"asdfghjkxd"},"content":" .build(),"},{"lineNumber":52,"author":{"gitId":"asdfghjkxd"},"content":" Paths.get(\".\"), LOCAL_DIRECTORY_TWO"},{"lineNumber":53,"author":{"gitId":"asdfghjkxd"},"content":" );"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" @BeforeEach"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public void setupLocalTest() throws Exception {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" SupportedDomainUrlMap.clearAccessedSet();"},{"lineNumber":59,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);"},{"lineNumber":60,"author":{"gitId":"-"},"content":" ErrorSummary.getInstance().clearErrorSet();"},{"lineNumber":61,"author":{"gitId":"-"},"content":" }"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" @AfterEach"},{"lineNumber":64,"author":{"gitId":"-"},"content":" public void deleteReportDirectory() throws Exception {"},{"lineNumber":65,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(OUTPUT_DIRECTORY);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" }"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" @AfterAll"},{"lineNumber":69,"author":{"gitId":"-"},"content":" public static void deleteClonedLocalRepos() throws Exception {"},{"lineNumber":70,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(LOCAL_DIRECTORY_ONE_PARENT);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(LOCAL_DIRECTORY_TWO_PARENT);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":75,"author":{"gitId":"-"},"content":" public void testSameFinalDirectory() {"},{"lineNumber":76,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d new InputBuilder()"},{"lineNumber":77,"author":{"gitId":"-"},"content":" .addRepos(LOCAL_DIRECTORY_ONE, LOCAL_DIRECTORY_TWO)"},{"lineNumber":78,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)"},{"lineNumber":79,"author":{"gitId":"-"},"content":" .addUntilDate(LAST_COMMIT_DATE)"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .addOutput(Paths.get(OUTPUT_DIRECTORY))"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .addTimezone(TIME_ZONE);"},{"lineNumber":82,"author":{"gitId":"-"},"content":" runTest(inputBuilder, \"LocalRepoSystemTest/testSameFinalDirectory\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":86,"author":{"gitId":"-"},"content":" public void testRelativePathing() {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" String relativePathForTesting \u003d \"parent1/../parent1/./test-repo\";"},{"lineNumber":88,"author":{"gitId":"-"},"content":""},{"lineNumber":89,"author":{"gitId":"-"},"content":" InputBuilder inputBuilder \u003d new InputBuilder()"},{"lineNumber":90,"author":{"gitId":"-"},"content":" .addRepos(relativePathForTesting)"},{"lineNumber":91,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)"},{"lineNumber":92,"author":{"gitId":"-"},"content":" .addUntilDate(LAST_COMMIT_DATE)"},{"lineNumber":93,"author":{"gitId":"-"},"content":" .addOutput(Paths.get(OUTPUT_DIRECTORY))"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .addTimezone(TIME_ZONE);"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" runTest(inputBuilder, \"LocalRepoSystemTest/testRelativePathing\");"},{"lineNumber":97,"author":{"gitId":"-"},"content":" }"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":100,"author":{"gitId":"-"},"content":" * Runs RepoSense with {@code inputBuilder} and tests it against the expected"},{"lineNumber":101,"author":{"gitId":"-"},"content":" * files in {@code expectedFilesPathString}."},{"lineNumber":102,"author":{"gitId":"-"},"content":" */"},{"lineNumber":103,"author":{"gitId":"-"},"content":" private void runTest(InputBuilder inputBuilder, String expectedFilesPathString) {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" RepoSense.main(translateCommandline(inputBuilder.build()));"},{"lineNumber":105,"author":{"gitId":"-"},"content":" Path expectedFilesPath \u003d loadResource(getClass(), expectedFilesPathString);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" SystemTestUtil.verifyReportJsonFiles(expectedFilesPath, REPORT_DIRECTORY_PATH);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":13,"-":95}},{"path":"src/systemtest/java/reposense/util/SystemTestUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.io.FileReader;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"asdfghjkxd"},"content":"import com.google.gson.JsonElement;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import com.google.gson.JsonObject;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import com.google.gson.JsonParser;"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":17,"author":{"gitId":"-"},"content":" * Contains utility methods for system tests."},{"lineNumber":18,"author":{"gitId":"-"},"content":" */"},{"lineNumber":19,"author":{"gitId":"-"},"content":"public class SystemTestUtil {"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String[] JSON_FIELDS_TO_IGNORE \u003d new String[]"},{"lineNumber":22,"author":{"gitId":"-"},"content":" {\"repoSenseVersion\", \"reportGeneratedTime\", \"reportGenerationTime\"};"},{"lineNumber":23,"author":{"gitId":"-"},"content":""},{"lineNumber":24,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":25,"author":{"gitId":"-"},"content":" * Verifies that all JSON files in the {@code actualDirectory} matches those at the {@code expectedDirectory}."},{"lineNumber":26,"author":{"gitId":"-"},"content":" */"},{"lineNumber":27,"author":{"gitId":"-"},"content":" public static void verifyReportJsonFiles(Path expectedDirectory, Path actualDirectory) {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" try (Stream\u003cPath\u003e pathStream \u003d Files.list(expectedDirectory)) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" for (Path file : pathStream.collect(Collectors.toList())) {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" Path expectedFilePath \u003d expectedDirectory.resolve(file.getFileName());"},{"lineNumber":31,"author":{"gitId":"-"},"content":" Path actualFilePath \u003d actualDirectory.resolve(file.getFileName());"},{"lineNumber":32,"author":{"gitId":"-"},"content":" if (Files.isDirectory(file)) {"},{"lineNumber":33,"author":{"gitId":"-"},"content":" verifyReportJsonFiles(expectedFilePath, actualFilePath);"},{"lineNumber":34,"author":{"gitId":"-"},"content":" } else if (file.toString().endsWith(\".json\")) {"},{"lineNumber":35,"author":{"gitId":"-"},"content":" if (file.getFileName().toString().equals(\"summary.json\")) {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" assertSummaryJson(expectedFilePath, actualFilePath);"},{"lineNumber":37,"author":{"gitId":"-"},"content":" } else {"},{"lineNumber":38,"author":{"gitId":"-"},"content":" assertJson(expectedFilePath, actualFilePath);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" }"},{"lineNumber":40,"author":{"gitId":"-"},"content":" }"},{"lineNumber":41,"author":{"gitId":"-"},"content":" }"},{"lineNumber":42,"author":{"gitId":"-"},"content":" } catch (IOException ioe) {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" ioe.printStackTrace();"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":" }"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" public static void assertSummaryJson(Path expectedSummaryJsonPath, Path actualSummaryJsonPath)"},{"lineNumber":48,"author":{"gitId":"-"},"content":" throws IOException {"},{"lineNumber":49,"author":{"gitId":"-"},"content":" try (FileReader fileReaderExpected \u003d new FileReader(expectedSummaryJsonPath.toFile());"},{"lineNumber":50,"author":{"gitId":"-"},"content":" FileReader fileReaderActual \u003d new FileReader(actualSummaryJsonPath.toFile())) {"},{"lineNumber":51,"author":{"gitId":"-"},"content":" JsonObject jsonExpected \u003d JsonParser.parseReader(fileReaderExpected).getAsJsonObject();"},{"lineNumber":52,"author":{"gitId":"-"},"content":" JsonObject jsonActual \u003d JsonParser.parseReader(fileReaderActual).getAsJsonObject();"},{"lineNumber":53,"author":{"gitId":"-"},"content":" for (String ignoredKey : JSON_FIELDS_TO_IGNORE) {"},{"lineNumber":54,"author":{"gitId":"-"},"content":" jsonExpected.remove(ignoredKey);"},{"lineNumber":55,"author":{"gitId":"-"},"content":" jsonActual.remove(ignoredKey);"},{"lineNumber":56,"author":{"gitId":"-"},"content":" }"},{"lineNumber":57,"author":{"gitId":"-"},"content":" Assertions.assertEquals(jsonExpected, jsonActual);"},{"lineNumber":58,"author":{"gitId":"-"},"content":" }"},{"lineNumber":59,"author":{"gitId":"-"},"content":" }"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":62,"author":{"gitId":"-"},"content":" * Asserts that the contents in the given JSON file at {@code actualJsonPath} is the same as the JSON file"},{"lineNumber":63,"author":{"gitId":"-"},"content":" * at {@code expectedJsonPath}."},{"lineNumber":64,"author":{"gitId":"-"},"content":" */"},{"lineNumber":65,"author":{"gitId":"-"},"content":" public static void assertJson(Path expectedJsonPath, Path actualJsonPath) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.exists(actualJsonPath));"},{"lineNumber":67,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":68,"author":{"gitId":"asdfghjkxd"},"content":" try (FileReader fileReaderExpected \u003d new FileReader(expectedJsonPath.toFile());"},{"lineNumber":69,"author":{"gitId":"asdfghjkxd"},"content":" FileReader fileReaderActual \u003d new FileReader(actualJsonPath.toFile())) {"},{"lineNumber":70,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":71,"author":{"gitId":"asdfghjkxd"},"content":" JsonElement jsonExpected \u003d JsonParser.parseReader(fileReaderExpected);"},{"lineNumber":72,"author":{"gitId":"asdfghjkxd"},"content":" JsonElement jsonActual \u003d JsonParser.parseReader(fileReaderActual);"},{"lineNumber":73,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":74,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(jsonExpected, jsonActual);"},{"lineNumber":75,"author":{"gitId":"asdfghjkxd"},"content":" } catch (IOException ex) {"},{"lineNumber":76,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.fail(ex.getMessage());"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":11,"-":68}},{"path":"src/test/java/reposense/git/GitBranchTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.git;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.template.GitTestTemplate;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"public class GitBranchTest extends GitTestTemplate {"},{"lineNumber":15,"author":{"gitId":"-"},"content":" protected static final String TEST_REPO_UNCOMMON_DEFAULT_GIT_LOCATION \u003d"},{"lineNumber":16,"author":{"gitId":"-"},"content":" \"https://github.com/reposense/testrepo-UncommonDefaultBranch.git\";"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":" private RepoConfiguration config;"},{"lineNumber":19,"author":{"gitId":"-"},"content":""},{"lineNumber":20,"author":{"gitId":"-"},"content":" @BeforeEach"},{"lineNumber":21,"author":{"gitId":"-"},"content":" public void before() throws Exception {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" super.before();"},{"lineNumber":23,"author":{"gitId":"-"},"content":" config \u003d configs.get();"},{"lineNumber":24,"author":{"gitId":"-"},"content":" }"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":27,"author":{"gitId":"-"},"content":" public void getCurrentBranch_masterBranch_success() throws Exception {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" String currentBranch \u003d GitBranch.getCurrentBranch(config.getRepoRoot());"},{"lineNumber":29,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"master\", currentBranch);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":33,"author":{"gitId":"-"},"content":" public void getCurrentBranch_uncommonDefaultBranch_success() throws Exception {"},{"lineNumber":34,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration uncommonDefaultConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":35,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_UNCOMMON_DEFAULT_GIT_LOCATION))"},{"lineNumber":36,"author":{"gitId":"asdfghjkxd"},"content":" .branch(RepoConfiguration.DEFAULT_BRANCH)"},{"lineNumber":37,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":38,"author":{"gitId":"-"},"content":" uncommonDefaultConfig.setFormats(FileTypeTest.DEFAULT_TEST_FORMATS);"},{"lineNumber":39,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(uncommonDefaultConfig);"},{"lineNumber":40,"author":{"gitId":"-"},"content":" String currentBranch \u003d GitBranch.getCurrentBranch(uncommonDefaultConfig.getRepoRoot());"},{"lineNumber":41,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"uncommon\", currentBranch);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":4,"-":39}},{"path":"src/test/java/reposense/model/RepoConfigurationTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.lang.reflect.Method;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":8,"author":{"gitId":"asdfghjkxd"},"content":"import java.time.LocalDateTime;"},{"lineNumber":9,"author":{"gitId":"asdfghjkxd"},"content":"import java.time.ZoneId;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.parser.ArgsParser;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.parser.AuthorConfigCsvParser;"},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.ConfigurationBuildException;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.parser.GroupConfigCsvParser;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.parser.RepoConfigCsvParser;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.report.ReportGenerator;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":"public class RepoConfigurationTest {"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final Path IGNORE_STANDALONE_TEST_CONFIG_FILES \u003d"},{"lineNumber":31,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class, \"RepoConfigurationTest/repoconfig_ignoreStandAlone_test\");"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final Path IGNORE_STANDALONE_KEYWORD_TEST_CONFIG_FILES \u003d"},{"lineNumber":33,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class, \"RepoConfigurationTest/repoconfig_ignoreStandAloneKeyword_test\");"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final Path FORMATS_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_formats_test\");"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Path WITHOUT_FORMATS_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_withoutformats_test\");"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path GROUPS_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_groups_test\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path OVERRIDE_STANDALONE_TEST_CONFIG_FILE \u003d loadResource(RepoConfigurationTest.class,"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_overrideStandAlone_test\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final Path IGNORE_AUTHORS_TEST_CONFIG_FILE \u003d loadResource(RepoConfigurationTest.class,"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreAuthors_test\");"},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path IGNORE_STANDALONE_FLAG_OVERRIDE_CSV_TEST \u003d loadResource(RepoConfigurationTest.class,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreStandaloneOverrideCsv_test\");"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final Path IGNORE_FILESIZE_LIMIT_TEST_CONFIG_FILES \u003d loadResource(RepoConfigurationTest.class,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreFileSizeLimit_test\");"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final Path IGNORE_FILESIZE_LIMIT_OVERRIDE_CSV_TEST_CONFIG_FILES \u003d"},{"lineNumber":49,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,"},{"lineNumber":50,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_ignoreFileSizeLimitOverrideCsv_test\");"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final Path SHALLOW_CLONING_TEST_CONFIG_FILES \u003d"},{"lineNumber":52,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class, \"RepoConfigurationTest/repoconfig_shallowCloning_test\");"},{"lineNumber":53,"author":{"gitId":"-"},"content":" private static final Path SHALLOW_CLONING_FLAG_OVERRIDE_TEST_CONFIG_FILES \u003d"},{"lineNumber":54,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_shallowCloningOverrideCsv_test\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final Path FIND_PREVIOUS_AUTHORS_TEST_CONFIG_FILES \u003d"},{"lineNumber":57,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,"},{"lineNumber":58,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_findPreviousAuthors_test\");"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final Path FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES \u003d"},{"lineNumber":60,"author":{"gitId":"-"},"content":" loadResource(RepoConfigurationTest.class,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"RepoConfigurationTest/repoconfig_findPreviousAuthorsOverrideCsv_test\");"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA \u003d \"https://github.com/reposense/testrepo-Beta.git\";"},{"lineNumber":64,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA \u003d \"https://github.com/reposense/testrepo-Delta.git\";"},{"lineNumber":65,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_MINIMAL_STANDALONE_CONFIG \u003d"},{"lineNumber":66,"author":{"gitId":"-"},"content":" \"https://github.com/reposense/testrepo-minimalstandaloneconfig.git\";"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" private static final Author FIRST_AUTHOR \u003d new Author(\"lithiumlkid\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" private static final Author SECOND_AUTHOR \u003d new Author(\"codeeong\");"},{"lineNumber":70,"author":{"gitId":"-"},"content":" private static final Author THIRD_AUTHOR \u003d new Author(\"jordancjq\");"},{"lineNumber":71,"author":{"gitId":"-"},"content":" private static final Author FOURTH_AUTHOR \u003d new Author(\"lohtianwei\");"},{"lineNumber":72,"author":{"gitId":"-"},"content":""},{"lineNumber":73,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_ALIASES \u003d Collections.singletonList(\"Ahmad Syafiq\");"},{"lineNumber":74,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_ALIASES \u003d Collections.emptyList();"},{"lineNumber":75,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e THIRD_AUTHOR_ALIASES \u003d Collections.singletonList(\"Jordan Chong\");"},{"lineNumber":76,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FOURTH_AUTHOR_ALIASES \u003d Collections.singletonList(\"Tianwei\");"},{"lineNumber":77,"author":{"gitId":"-"},"content":""},{"lineNumber":78,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e REPO_LEVEL_GLOB_LIST \u003d Collections.singletonList(\"collated**\");"},{"lineNumber":79,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_GLOB_LIST \u003d"},{"lineNumber":80,"author":{"gitId":"-"},"content":" Arrays.asList(\"*.aa1\", \"**.aa2\", \"**.java\", \"collated**\");"},{"lineNumber":81,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"\", \"collated**\");"},{"lineNumber":82,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e THIRD_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"**[!(.md)]\", \"collated**\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FOURTH_AUTHOR_GLOB_LIST \u003d Collections.singletonList(\"collated**\");"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e CONFIG_FORMATS \u003d FileType.convertFormatStringsToFileTypes(Arrays.asList("},{"lineNumber":86,"author":{"gitId":"-"},"content":" \"java\", \"adoc\", \"md\"));"},{"lineNumber":87,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e FIRST_CONFIG_GROUPS \u003d Arrays.asList("},{"lineNumber":88,"author":{"gitId":"-"},"content":" new FileType(\"test\", Collections.singletonList(\"src/test**\")),"},{"lineNumber":89,"author":{"gitId":"-"},"content":" new FileType(\"code\", Collections.singletonList(\"**.java\")),"},{"lineNumber":90,"author":{"gitId":"-"},"content":" new FileType(\"docs\", Collections.singletonList(\"docs**\")));"},{"lineNumber":91,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e SECOND_CONFIG_GROUPS \u003d Arrays.asList("},{"lineNumber":92,"author":{"gitId":"-"},"content":" new FileType(\"docs\", Collections.singletonList(\"docs**\")));"},{"lineNumber":93,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e CLI_FORMATS \u003d Arrays.asList(\"css\", \"html\");"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" private static RepoConfiguration repoDeltaStandaloneConfig;"},{"lineNumber":96,"author":{"gitId":"-"},"content":" private ReportGenerator reportGenerator \u003d new ReportGenerator();"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" @BeforeAll"},{"lineNumber":99,"author":{"gitId":"-"},"content":" public static void setUp() throws Exception {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setAuthorAliases(FIRST_AUTHOR_ALIASES);"},{"lineNumber":101,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setAuthorAliases(SECOND_AUTHOR_ALIASES);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" THIRD_AUTHOR.setAuthorAliases(THIRD_AUTHOR_ALIASES);"},{"lineNumber":103,"author":{"gitId":"-"},"content":" FOURTH_AUTHOR.setAuthorAliases(FOURTH_AUTHOR_ALIASES);"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setIgnoreGlobList(FIRST_AUTHOR_GLOB_LIST);"},{"lineNumber":106,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setIgnoreGlobList(SECOND_AUTHOR_GLOB_LIST);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" THIRD_AUTHOR.setIgnoreGlobList(THIRD_AUTHOR_GLOB_LIST);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" FOURTH_AUTHOR.setIgnoreGlobList(FOURTH_AUTHOR_GLOB_LIST);"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":111,"author":{"gitId":"-"},"content":" expectedAuthors.add(FIRST_AUTHOR);"},{"lineNumber":112,"author":{"gitId":"-"},"content":" expectedAuthors.add(SECOND_AUTHOR);"},{"lineNumber":113,"author":{"gitId":"-"},"content":" expectedAuthors.add(THIRD_AUTHOR);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" expectedAuthors.add(FOURTH_AUTHOR);"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":" repoDeltaStandaloneConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":117,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":118,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":119,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":120,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorList(expectedAuthors);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.addAuthorNamesToAuthorMapEntry(FIRST_AUTHOR, FIRST_AUTHOR_ALIASES);"},{"lineNumber":122,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.addAuthorNamesToAuthorMapEntry(FOURTH_AUTHOR, FOURTH_AUTHOR_ALIASES);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(FIRST_AUTHOR, \"Ahm\");"},{"lineNumber":124,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(SECOND_AUTHOR, \"Cod\");"},{"lineNumber":125,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(THIRD_AUTHOR, \"Jor\");"},{"lineNumber":126,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setAuthorDisplayName(FOURTH_AUTHOR, \"Loh\");"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setEmails(Arrays.asList(\"codeeong@gmail.com\", \"33129797+codeeong@users.noreply.github.com\"));"},{"lineNumber":129,"author":{"gitId":"-"},"content":" for (Author author : expectedAuthors) {"},{"lineNumber":130,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.addAuthorEmailsToAuthorMapEntry(author, author.getEmails());"},{"lineNumber":131,"author":{"gitId":"-"},"content":" }"},{"lineNumber":132,"author":{"gitId":"-"},"content":""},{"lineNumber":133,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" repoDeltaStandaloneConfig.setFormats(CONFIG_FORMATS);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":138,"author":{"gitId":"-"},"content":" public void repoConfig_usesStandaloneConfig_success() throws Exception {"},{"lineNumber":139,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":140,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":143,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":144,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":145,"author":{"gitId":"-"},"content":""},{"lineNumber":146,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaStandaloneConfig, actualConfig);"},{"lineNumber":147,"author":{"gitId":"-"},"content":" }"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":150,"author":{"gitId":"-"},"content":" public void repoConfig_ignoresStandaloneConfig_success() throws Exception {"},{"lineNumber":151,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":152,"author":{"gitId":"-"},"content":" Author author \u003d new Author(FIRST_AUTHOR);"},{"lineNumber":153,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" expectedAuthors.add(author);"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":157,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":158,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":159,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":160,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthors);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" expectedConfig.addAuthorNamesToAuthorMapEntry(author, FIRST_AUTHOR_ALIASES);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorDisplayName(author, \"Ahm\");"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":165,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":167,"author":{"gitId":"-"},"content":""},{"lineNumber":168,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_TEST_CONFIG_FILES)"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":171,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":172,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":173,"author":{"gitId":"-"},"content":""},{"lineNumber":174,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":175,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":176,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d"},{"lineNumber":177,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();"},{"lineNumber":178,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":181,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" }"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":188,"author":{"gitId":"-"},"content":" public void repoConfig_ignoresStandaloneConfigInCli_success() throws Exception {"},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":193,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":194,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":197,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_DELTA)"},{"lineNumber":198,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":199,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()"},{"lineNumber":200,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":201,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d RunConfigurationDecider"},{"lineNumber":204,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)"},{"lineNumber":205,"author":{"gitId":"-"},"content":" .getRepoConfigurations();"},{"lineNumber":206,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());"},{"lineNumber":207,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs,"},{"lineNumber":208,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());"},{"lineNumber":209,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":210,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":211,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":212,"author":{"gitId":"-"},"content":""},{"lineNumber":213,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":214,"author":{"gitId":"-"},"content":" }"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":217,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreStandaloneConfigInCli_overrideCsv() throws Exception {"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":220,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":221,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":223,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":224,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":225,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":226,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":227,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":228,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":229,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":230,"author":{"gitId":"-"},"content":""},{"lineNumber":231,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_FLAG_OVERRIDE_CSV_TEST)"},{"lineNumber":232,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()"},{"lineNumber":233,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":234,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":235,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":236,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":237,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs,"},{"lineNumber":238,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());"},{"lineNumber":239,"author":{"gitId":"-"},"content":""},{"lineNumber":240,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":241,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":243,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":244,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":245,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":246,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":247,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);"},{"lineNumber":248,"author":{"gitId":"-"},"content":" }"},{"lineNumber":249,"author":{"gitId":"-"},"content":""},{"lineNumber":250,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":251,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreFileSizeLimit_success() throws Exception {"},{"lineNumber":252,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":253,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":254,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":255,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":256,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":257,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);"},{"lineNumber":258,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":259,"author":{"gitId":"-"},"content":" expectedConfig.setFileSizeLimitIgnored(true);"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":262,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_FILESIZE_LIMIT_TEST_CONFIG_FILES)"},{"lineNumber":263,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":264,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":265,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":266,"author":{"gitId":"-"},"content":""},{"lineNumber":267,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":268,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":269,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":270,"author":{"gitId":"-"},"content":""},{"lineNumber":271,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":272,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":274,"author":{"gitId":"-"},"content":""},{"lineNumber":275,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":276,"author":{"gitId":"-"},"content":" }"},{"lineNumber":277,"author":{"gitId":"-"},"content":""},{"lineNumber":278,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":279,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreFileSizeLimitInCli_overrideCsv() throws Exception {"},{"lineNumber":280,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":281,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":282,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":283,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":284,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":285,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":286,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFileSizeLimitIgnored(true);"},{"lineNumber":287,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":288,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":289,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":290,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":291,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":292,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setFileSizeLimitIgnored(true);"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_FILESIZE_LIMIT_OVERRIDE_CSV_TEST_CONFIG_FILES)"},{"lineNumber":295,"author":{"gitId":"-"},"content":" .addIgnoreFilesizeLimit()"},{"lineNumber":296,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":297,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":298,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":299,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":300,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":301,"author":{"gitId":"-"},"content":" RepoConfiguration.setFileSizeLimitIgnoredToRepoConfigs(actualConfigs,"},{"lineNumber":302,"author":{"gitId":"-"},"content":" cliArguments.isFileSizeLimitIgnored());"},{"lineNumber":303,"author":{"gitId":"-"},"content":""},{"lineNumber":304,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":305,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":306,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":307,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":308,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":309,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":310,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":311,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);"},{"lineNumber":312,"author":{"gitId":"-"},"content":" }"},{"lineNumber":313,"author":{"gitId":"-"},"content":""},{"lineNumber":314,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":315,"author":{"gitId":"-"},"content":" public void repoConfig_withoutIgnoreStandaloneConfigInCli_useCsv() throws Exception {"},{"lineNumber":316,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":317,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":318,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":319,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":320,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":321,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_FLAG_OVERRIDE_CSV_TEST).build();"},{"lineNumber":324,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":325,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":326,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":327,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs,"},{"lineNumber":328,"author":{"gitId":"-"},"content":" cliArguments.isStandaloneConfigIgnored());"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":331,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":332,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":333,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":334,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":335,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":336,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":337,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaStandaloneConfig, repoDeltaActualConfig);"},{"lineNumber":338,"author":{"gitId":"-"},"content":" }"},{"lineNumber":339,"author":{"gitId":"-"},"content":""},{"lineNumber":340,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":341,"author":{"gitId":"-"},"content":" public void repoConfig_wrongKeywordUseStandaloneConfig_success() throws Exception {"},{"lineNumber":342,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":343,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_STANDALONE_KEYWORD_TEST_CONFIG_FILES)"},{"lineNumber":344,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":345,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":346,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":347,"author":{"gitId":"-"},"content":""},{"lineNumber":348,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":349,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":350,"author":{"gitId":"-"},"content":""},{"lineNumber":351,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":352,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":353,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":354,"author":{"gitId":"-"},"content":""},{"lineNumber":355,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaStandaloneConfig, actualConfig);"},{"lineNumber":356,"author":{"gitId":"-"},"content":" }"},{"lineNumber":357,"author":{"gitId":"-"},"content":""},{"lineNumber":358,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":359,"author":{"gitId":"-"},"content":" public void repoConfig_shallowCloning_success() throws Exception {"},{"lineNumber":360,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":361,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":362,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":363,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":364,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":365,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);"},{"lineNumber":366,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":367,"author":{"gitId":"-"},"content":" expectedConfig.setIsShallowCloningPerformed(true);"},{"lineNumber":368,"author":{"gitId":"-"},"content":""},{"lineNumber":369,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":370,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(SHALLOW_CLONING_TEST_CONFIG_FILES)"},{"lineNumber":371,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":372,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":373,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":374,"author":{"gitId":"-"},"content":""},{"lineNumber":375,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":376,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":377,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":378,"author":{"gitId":"-"},"content":""},{"lineNumber":379,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":380,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":381,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":382,"author":{"gitId":"-"},"content":""},{"lineNumber":383,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":387,"author":{"gitId":"-"},"content":" public void repoConfig_shallowCloningInCli_success() throws Exception {"},{"lineNumber":388,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":389,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":390,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":391,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":392,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":393,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":394,"author":{"gitId":"-"},"content":" expectedConfig.setIsShallowCloningPerformed(true);"},{"lineNumber":395,"author":{"gitId":"-"},"content":""},{"lineNumber":396,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":397,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_DELTA)"},{"lineNumber":398,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":399,"author":{"gitId":"-"},"content":" .addShallowCloning()"},{"lineNumber":400,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":401,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":402,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d RunConfigurationDecider"},{"lineNumber":403,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)"},{"lineNumber":404,"author":{"gitId":"-"},"content":" .getRepoConfigurations();"},{"lineNumber":405,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());"},{"lineNumber":406,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":407,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(actualConfigs,"},{"lineNumber":408,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());"},{"lineNumber":409,"author":{"gitId":"-"},"content":""},{"lineNumber":410,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":411,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":412,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":413,"author":{"gitId":"-"},"content":""},{"lineNumber":414,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":415,"author":{"gitId":"-"},"content":" }"},{"lineNumber":416,"author":{"gitId":"-"},"content":""},{"lineNumber":417,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":418,"author":{"gitId":"-"},"content":" public void repoConfig_shallowCloningInCli_overrideCsv() throws Exception {"},{"lineNumber":419,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":420,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":421,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":422,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":423,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":424,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":425,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsShallowCloningPerformed(true);"},{"lineNumber":426,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":427,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":428,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":429,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":430,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":431,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setIsShallowCloningPerformed(true);"},{"lineNumber":432,"author":{"gitId":"-"},"content":""},{"lineNumber":433,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(SHALLOW_CLONING_FLAG_OVERRIDE_TEST_CONFIG_FILES)"},{"lineNumber":434,"author":{"gitId":"-"},"content":" .addShallowCloning()"},{"lineNumber":435,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":436,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":437,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":438,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":439,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":440,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(actualConfigs,"},{"lineNumber":441,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());"},{"lineNumber":442,"author":{"gitId":"-"},"content":""},{"lineNumber":443,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":444,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":445,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":446,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":447,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":448,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":449,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":450,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);"},{"lineNumber":451,"author":{"gitId":"-"},"content":" }"},{"lineNumber":452,"author":{"gitId":"-"},"content":""},{"lineNumber":453,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":454,"author":{"gitId":"-"},"content":" public void repoConfig_withoutShallowCloningInInCli_useCsv() throws Exception {"},{"lineNumber":455,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":456,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":457,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":458,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":459,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":460,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":461,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsShallowCloningPerformed(true);"},{"lineNumber":462,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":463,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":464,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":465,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":466,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":467,"author":{"gitId":"-"},"content":""},{"lineNumber":468,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(SHALLOW_CLONING_FLAG_OVERRIDE_TEST_CONFIG_FILES).build();"},{"lineNumber":469,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":470,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":471,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":472,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":473,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsShallowCloningPerformedToRepoConfigs(actualConfigs,"},{"lineNumber":474,"author":{"gitId":"-"},"content":" cliArguments.isShallowCloningPerformed());"},{"lineNumber":475,"author":{"gitId":"-"},"content":""},{"lineNumber":476,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":477,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":478,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":479,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":480,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":481,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":482,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":483,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);"},{"lineNumber":484,"author":{"gitId":"-"},"content":" }"},{"lineNumber":485,"author":{"gitId":"-"},"content":""},{"lineNumber":486,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":487,"author":{"gitId":"-"},"content":" public void repoConfig_findPreviousAuthors_success() throws Exception {"},{"lineNumber":488,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":489,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":490,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":491,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":492,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":493,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);"},{"lineNumber":494,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":495,"author":{"gitId":"-"},"content":" expectedConfig.setIsFindingPreviousAuthorsPerformed(true);"},{"lineNumber":496,"author":{"gitId":"-"},"content":""},{"lineNumber":497,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":498,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_TEST_CONFIG_FILES)"},{"lineNumber":499,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":500,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":501,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":502,"author":{"gitId":"-"},"content":""},{"lineNumber":503,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":504,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":505,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":506,"author":{"gitId":"-"},"content":""},{"lineNumber":507,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":508,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":509,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":510,"author":{"gitId":"-"},"content":""},{"lineNumber":511,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":512,"author":{"gitId":"-"},"content":" }"},{"lineNumber":513,"author":{"gitId":"-"},"content":""},{"lineNumber":514,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":515,"author":{"gitId":"-"},"content":" public void repoConfig_findPreviousAuthorsInCli_success() throws Exception {"},{"lineNumber":516,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":517,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":518,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":519,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":520,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":521,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":522,"author":{"gitId":"-"},"content":" expectedConfig.setIsFindingPreviousAuthorsPerformed(true);"},{"lineNumber":523,"author":{"gitId":"-"},"content":""},{"lineNumber":524,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":525,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_DELTA)"},{"lineNumber":526,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":527,"author":{"gitId":"-"},"content":" .addFindPreviousAuthors()"},{"lineNumber":528,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":529,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":530,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d RunConfigurationDecider"},{"lineNumber":531,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)"},{"lineNumber":532,"author":{"gitId":"-"},"content":" .getRepoConfigurations();"},{"lineNumber":533,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());"},{"lineNumber":534,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":535,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,"},{"lineNumber":536,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());"},{"lineNumber":537,"author":{"gitId":"-"},"content":""},{"lineNumber":538,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":539,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":540,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":541,"author":{"gitId":"-"},"content":""},{"lineNumber":542,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":543,"author":{"gitId":"-"},"content":" }"},{"lineNumber":544,"author":{"gitId":"-"},"content":""},{"lineNumber":545,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":546,"author":{"gitId":"-"},"content":" public void repoConfig_findPreviousAuthorsInCli_overrideCsv() throws Exception {"},{"lineNumber":547,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":548,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":549,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":550,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":551,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":552,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":553,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsFindingPreviousAuthorsPerformed(true);"},{"lineNumber":554,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":555,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":556,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":557,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":558,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":559,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setIsFindingPreviousAuthorsPerformed(true);"},{"lineNumber":560,"author":{"gitId":"-"},"content":""},{"lineNumber":561,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES)"},{"lineNumber":562,"author":{"gitId":"-"},"content":" .addShallowCloning()"},{"lineNumber":563,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":564,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":565,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":566,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":567,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":568,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,"},{"lineNumber":569,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());"},{"lineNumber":570,"author":{"gitId":"-"},"content":""},{"lineNumber":571,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":572,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":573,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":574,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":575,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":576,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":577,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":578,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);"},{"lineNumber":579,"author":{"gitId":"-"},"content":" }"},{"lineNumber":580,"author":{"gitId":"-"},"content":""},{"lineNumber":581,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":582,"author":{"gitId":"-"},"content":" public void repoConfig_withoutFindPreviousAuthorsInCli_useCsv() throws Exception {"},{"lineNumber":583,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":584,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":585,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":586,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":587,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":588,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":589,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setIsFindingPreviousAuthorsPerformed(true);"},{"lineNumber":590,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":591,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":592,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":593,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":594,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":595,"author":{"gitId":"-"},"content":""},{"lineNumber":596,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES).build();"},{"lineNumber":597,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":598,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":599,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":600,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":601,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,"},{"lineNumber":602,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());"},{"lineNumber":603,"author":{"gitId":"-"},"content":""},{"lineNumber":604,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":605,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":606,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":607,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":608,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":609,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":610,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":611,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);"},{"lineNumber":612,"author":{"gitId":"-"},"content":" }"},{"lineNumber":613,"author":{"gitId":"-"},"content":""},{"lineNumber":614,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":615,"author":{"gitId":"-"},"content":" public void repoConfig_userEnvironmentCannotRunFindPreviousAuthors_setFindPreviousAuthorsToFalseInAllRepoConfigs()"},{"lineNumber":616,"author":{"gitId":"-"},"content":" throws Exception {"},{"lineNumber":617,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoBetaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":618,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA))"},{"lineNumber":619,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":620,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":621,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setFormats(FileType.convertFormatStringsToFileTypes(CLI_FORMATS));"},{"lineNumber":622,"author":{"gitId":"-"},"content":" repoBetaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":623,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration repoDeltaExpectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":624,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":625,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":626,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":627,"author":{"gitId":"-"},"content":" repoDeltaExpectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":628,"author":{"gitId":"-"},"content":""},{"lineNumber":629,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FIND_PREVIOUS_AUTHORS_FLAG_OVERRIDE_TEST_CONFIG_FILES).build();"},{"lineNumber":630,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":631,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":632,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":633,"author":{"gitId":"-"},"content":" RepoConfiguration.setStandaloneConfigIgnoredToRepoConfigs(actualConfigs, true);"},{"lineNumber":634,"author":{"gitId":"-"},"content":" RepoConfiguration.setIsFindingPreviousAuthorsPerformedToRepoConfigs(actualConfigs,"},{"lineNumber":635,"author":{"gitId":"-"},"content":" cliArguments.isFindingPreviousAuthorsPerformed());"},{"lineNumber":636,"author":{"gitId":"-"},"content":""},{"lineNumber":637,"author":{"gitId":"-"},"content":" RepoConfiguration repoBetaActualConfig \u003d actualConfigs.get(0);"},{"lineNumber":638,"author":{"gitId":"-"},"content":" RepoConfiguration repoDeltaActualConfig \u003d actualConfigs.get(1);"},{"lineNumber":639,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoBetaActualConfig);"},{"lineNumber":640,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(repoDeltaActualConfig);"},{"lineNumber":641,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoBetaActualConfig);"},{"lineNumber":642,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(repoDeltaActualConfig);"},{"lineNumber":643,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoBetaExpectedConfig, repoBetaActualConfig);"},{"lineNumber":644,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(repoDeltaExpectedConfig, repoDeltaActualConfig);"},{"lineNumber":645,"author":{"gitId":"-"},"content":" }"},{"lineNumber":646,"author":{"gitId":"-"},"content":""},{"lineNumber":647,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":648,"author":{"gitId":"-"},"content":" public void repoConfig_withFormats_ignoreCliFormats() throws Exception {"},{"lineNumber":649,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":650,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(FORMATS_TEST_CONFIG_FILES)"},{"lineNumber":651,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":652,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":653,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":654,"author":{"gitId":"-"},"content":""},{"lineNumber":655,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":656,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":657,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());"},{"lineNumber":658,"author":{"gitId":"-"},"content":""},{"lineNumber":659,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());"},{"lineNumber":660,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CONFIG_FORMATS, actualConfigs.get(0).getFileTypeManager().getFormats());"},{"lineNumber":661,"author":{"gitId":"-"},"content":" }"},{"lineNumber":662,"author":{"gitId":"-"},"content":""},{"lineNumber":663,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":664,"author":{"gitId":"-"},"content":" public void repoConfig_withoutFormats_useCliFormats() throws Exception {"},{"lineNumber":665,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":666,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(WITHOUT_FORMATS_TEST_CONFIG_FILES)"},{"lineNumber":667,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":668,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":669,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":670,"author":{"gitId":"-"},"content":""},{"lineNumber":671,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":672,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":673,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());"},{"lineNumber":674,"author":{"gitId":"-"},"content":""},{"lineNumber":675,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());"},{"lineNumber":676,"author":{"gitId":"-"},"content":""},{"lineNumber":677,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e actualFormats \u003d actualConfigs.get(0).getFileTypeManager().getFormats();"},{"lineNumber":678,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileType.convertFormatStringsToFileTypes(CLI_FORMATS), actualFormats);"},{"lineNumber":679,"author":{"gitId":"-"},"content":" }"},{"lineNumber":680,"author":{"gitId":"-"},"content":""},{"lineNumber":681,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":682,"author":{"gitId":"-"},"content":" public void repoConfig_withCustomGroups_useCustomGroups() throws Exception {"},{"lineNumber":683,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(GROUPS_TEST_CONFIG_FILES).build();"},{"lineNumber":684,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":685,"author":{"gitId":"-"},"content":""},{"lineNumber":686,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":687,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":688,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d"},{"lineNumber":689,"author":{"gitId":"-"},"content":" new GroupConfigCsvParser(cliArguments.getGroupConfigFilePath()).parse();"},{"lineNumber":690,"author":{"gitId":"-"},"content":""},{"lineNumber":691,"author":{"gitId":"-"},"content":" RepoConfiguration.setGroupConfigsToRepos(actualConfigs, groupConfigs);"},{"lineNumber":692,"author":{"gitId":"-"},"content":""},{"lineNumber":693,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualConfigs.size());"},{"lineNumber":694,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FIRST_CONFIG_GROUPS, actualConfigs.get(0).getFileTypeManager().getGroups());"},{"lineNumber":695,"author":{"gitId":"-"},"content":" Assertions.assertEquals(SECOND_CONFIG_GROUPS, actualConfigs.get(1).getFileTypeManager().getGroups());"},{"lineNumber":696,"author":{"gitId":"-"},"content":" }"},{"lineNumber":697,"author":{"gitId":"-"},"content":""},{"lineNumber":698,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":699,"author":{"gitId":"-"},"content":" public void repoConfig_withoutFormatsAndCliFormats_useAllFormats() throws Exception {"},{"lineNumber":700,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(WITHOUT_FORMATS_TEST_CONFIG_FILES).build();"},{"lineNumber":701,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":702,"author":{"gitId":"-"},"content":""},{"lineNumber":703,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":704,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":705,"author":{"gitId":"-"},"content":" RepoConfiguration.setFormatsToRepoConfigs(actualConfigs, cliArguments.getFormats());"},{"lineNumber":706,"author":{"gitId":"-"},"content":""},{"lineNumber":707,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());"},{"lineNumber":708,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileTypeTest.NO_SPECIFIED_FORMATS, actualConfigs.get(0).getFileTypeManager()"},{"lineNumber":709,"author":{"gitId":"-"},"content":" .getFormats());"},{"lineNumber":710,"author":{"gitId":"-"},"content":" }"},{"lineNumber":711,"author":{"gitId":"-"},"content":""},{"lineNumber":712,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":713,"author":{"gitId":"-"},"content":" public void repoConfig_emptyLocationDifferentBranch_equal() throws Exception {"},{"lineNumber":714,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration emptyLocationEmptyBranchRepoConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":715,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"\"))"},{"lineNumber":716,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"\")"},{"lineNumber":717,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":718,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration emptyLocationDefaultBranchRepoConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":719,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"\")).build();"},{"lineNumber":720,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration emptyLocationWithBranchRepoConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":721,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(\"\"))"},{"lineNumber":722,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":723,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":724,"author":{"gitId":"-"},"content":""},{"lineNumber":725,"author":{"gitId":"-"},"content":" Assertions.assertEquals(emptyLocationDefaultBranchRepoConfig, emptyLocationEmptyBranchRepoConfig);"},{"lineNumber":726,"author":{"gitId":"-"},"content":" Assertions.assertEquals(emptyLocationWithBranchRepoConfig, emptyLocationEmptyBranchRepoConfig);"},{"lineNumber":727,"author":{"gitId":"-"},"content":" }"},{"lineNumber":728,"author":{"gitId":"-"},"content":""},{"lineNumber":729,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":730,"author":{"gitId":"-"},"content":" public void repoConfig_sameLocationDifferentBranch_notEqual() throws Exception {"},{"lineNumber":731,"author":{"gitId":"-"},"content":" RepoConfiguration validLocationValidBranchRepoConfig \u003d"},{"lineNumber":732,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":733,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":734,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":735,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":736,"author":{"gitId":"-"},"content":" RepoConfiguration validLocationDefaultBranchRepoConfig \u003d"},{"lineNumber":737,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder().location(new RepoLocation(TEST_REPO_DELTA)).build();"},{"lineNumber":738,"author":{"gitId":"-"},"content":""},{"lineNumber":739,"author":{"gitId":"-"},"content":" Assertions.assertNotEquals(validLocationDefaultBranchRepoConfig, validLocationValidBranchRepoConfig);"},{"lineNumber":740,"author":{"gitId":"-"},"content":" }"},{"lineNumber":741,"author":{"gitId":"-"},"content":""},{"lineNumber":742,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":743,"author":{"gitId":"-"},"content":" public void repoConfig_overrideStandaloneConfig_success() throws Exception {"},{"lineNumber":744,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":745,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":746,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":747,"author":{"gitId":"asdfghjkxd"},"content":" .fileTypeManager(Collections.emptyList())"},{"lineNumber":748,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreGlobList(Collections.emptyList())"},{"lineNumber":749,"author":{"gitId":"asdfghjkxd"},"content":" .fileSizeLimit(RepoConfiguration.DEFAULT_FILE_SIZE_LIMIT)"},{"lineNumber":750,"author":{"gitId":"asdfghjkxd"},"content":" .isStandaloneConfigIgnored(false)"},{"lineNumber":751,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitIgnored(false)"},{"lineNumber":752,"author":{"gitId":"asdfghjkxd"},"content":" .ignoreCommitList(Collections.emptyList())"},{"lineNumber":753,"author":{"gitId":"asdfghjkxd"},"content":" .isFormatsOverriding(true)"},{"lineNumber":754,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreGlobListOverriding(true)"},{"lineNumber":755,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoreCommitListOverriding(true)"},{"lineNumber":756,"author":{"gitId":"asdfghjkxd"},"content":" .isFileSizeLimitOverriding(false)"},{"lineNumber":757,"author":{"gitId":"asdfghjkxd"},"content":" .isShallowCloningPerformed(false)"},{"lineNumber":758,"author":{"gitId":"asdfghjkxd"},"content":" .isFindingPreviousAuthorsPerformed(false)"},{"lineNumber":759,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredFileAnalysisSkipped(false)"},{"lineNumber":760,"author":{"gitId":"asdfghjkxd"},"content":" .ignoredAuthorsList(Arrays.asList(\"lithiumlkid\"))"},{"lineNumber":761,"author":{"gitId":"asdfghjkxd"},"content":" .isIgnoredAuthorsListOverriding(true)"},{"lineNumber":762,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":763,"author":{"gitId":"-"},"content":""},{"lineNumber":764,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthorList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":765,"author":{"gitId":"-"},"content":" Author[] authors \u003d new Author[]{FIRST_AUTHOR, SECOND_AUTHOR, THIRD_AUTHOR, FOURTH_AUTHOR};"},{"lineNumber":766,"author":{"gitId":"-"},"content":" for (Author author : authors) {"},{"lineNumber":767,"author":{"gitId":"-"},"content":" Author expectedAuthor \u003d new Author(author);"},{"lineNumber":768,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedAuthorIgnoreGlobList \u003d new ArrayList\u003c\u003e();"},{"lineNumber":769,"author":{"gitId":"-"},"content":" expectedAuthorIgnoreGlobList.addAll(author.getIgnoreGlobList());"},{"lineNumber":770,"author":{"gitId":"-"},"content":""},{"lineNumber":771,"author":{"gitId":"-"},"content":" // Authors\u0027 original ignoreGlobList contains values from StandaloneConfig repo level, thus need to remove"},{"lineNumber":772,"author":{"gitId":"-"},"content":" expectedAuthorIgnoreGlobList.removeAll(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":773,"author":{"gitId":"-"},"content":" expectedAuthor.setIgnoreGlobList(expectedAuthorIgnoreGlobList);"},{"lineNumber":774,"author":{"gitId":"-"},"content":" expectedAuthorList.add(expectedAuthor);"},{"lineNumber":775,"author":{"gitId":"-"},"content":" }"},{"lineNumber":776,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthorList);"},{"lineNumber":777,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorDisplayNameMap(repoDeltaStandaloneConfig.getAuthorDisplayNameMap());"},{"lineNumber":778,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorNamesToAuthorMap(repoDeltaStandaloneConfig.getAuthorNamesToAuthorMap());"},{"lineNumber":779,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorEmailsToAuthorMap(repoDeltaStandaloneConfig.getAuthorEmailsToAuthorMap());"},{"lineNumber":780,"author":{"gitId":"-"},"content":""},{"lineNumber":781,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":782,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(OVERRIDE_STANDALONE_TEST_CONFIG_FILE)"},{"lineNumber":783,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":784,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":785,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":786,"author":{"gitId":"-"},"content":""},{"lineNumber":787,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":788,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":789,"author":{"gitId":"-"},"content":""},{"lineNumber":790,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":791,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":792,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":793,"author":{"gitId":"-"},"content":""},{"lineNumber":794,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":795,"author":{"gitId":"-"},"content":" }"},{"lineNumber":796,"author":{"gitId":"-"},"content":""},{"lineNumber":797,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":798,"author":{"gitId":"-"},"content":" public void repoConfig_minimalStandaloneConfig_fieldsAssignedDefaultValues() throws Exception {"},{"lineNumber":799,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":800,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":801,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":802,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":803,"author":{"gitId":"-"},"content":""},{"lineNumber":804,"author":{"gitId":"-"},"content":" Author firstAuthor \u003d new Author(\"bluein-green\");"},{"lineNumber":805,"author":{"gitId":"-"},"content":" Author secondAuthor \u003d new Author(\"jylee-git\");"},{"lineNumber":806,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d Arrays.asList(firstAuthor, secondAuthor);"},{"lineNumber":807,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthors);"},{"lineNumber":808,"author":{"gitId":"-"},"content":""},{"lineNumber":809,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(Collections.emptyList());"},{"lineNumber":810,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(Collections.emptyList());"},{"lineNumber":811,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreCommitList(Collections.emptyList());"},{"lineNumber":812,"author":{"gitId":"-"},"content":""},{"lineNumber":813,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":814,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":815,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":816,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":817,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":818,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":819,"author":{"gitId":"-"},"content":""},{"lineNumber":820,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":821,"author":{"gitId":"-"},"content":" }"},{"lineNumber":822,"author":{"gitId":"-"},"content":""},{"lineNumber":823,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":824,"author":{"gitId":"-"},"content":" public void repoConfig_removeIgnoredAuthors_success() throws Exception {"},{"lineNumber":825,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":826,"author":{"gitId":"-"},"content":" Author author \u003d new Author(FIRST_AUTHOR);"},{"lineNumber":827,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":828,"author":{"gitId":"-"},"content":" expectedAuthors.add(author);"},{"lineNumber":829,"author":{"gitId":"-"},"content":""},{"lineNumber":830,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":831,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA))"},{"lineNumber":832,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":833,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":834,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorList(expectedAuthors);"},{"lineNumber":835,"author":{"gitId":"-"},"content":" expectedConfig.addAuthorNamesToAuthorMapEntry(author, FIRST_AUTHOR_ALIASES);"},{"lineNumber":836,"author":{"gitId":"-"},"content":" expectedConfig.setAuthorDisplayName(author, \"Ahm\");"},{"lineNumber":837,"author":{"gitId":"-"},"content":""},{"lineNumber":838,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":839,"author":{"gitId":"-"},"content":" expectedConfig.setFormats(CONFIG_FORMATS);"},{"lineNumber":840,"author":{"gitId":"-"},"content":" expectedConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":841,"author":{"gitId":"-"},"content":" expectedConfig.setIgnoredAuthorsList(Arrays.asList(\"jordancjq\", \"Eugene Peh\"));"},{"lineNumber":842,"author":{"gitId":"-"},"content":""},{"lineNumber":843,"author":{"gitId":"-"},"content":" String formats \u003d String.join(\" \", CLI_FORMATS);"},{"lineNumber":844,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(IGNORE_AUTHORS_TEST_CONFIG_FILE)"},{"lineNumber":845,"author":{"gitId":"-"},"content":" .addFormats(formats)"},{"lineNumber":846,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":847,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":848,"author":{"gitId":"-"},"content":""},{"lineNumber":849,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":850,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":851,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d"},{"lineNumber":852,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();"},{"lineNumber":853,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);"},{"lineNumber":854,"author":{"gitId":"-"},"content":""},{"lineNumber":855,"author":{"gitId":"-"},"content":" RepoConfiguration actualConfig \u003d actualConfigs.get(0);"},{"lineNumber":856,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(actualConfig);"},{"lineNumber":857,"author":{"gitId":"-"},"content":" reportGenerator.updateRepoConfig(actualConfig);"},{"lineNumber":858,"author":{"gitId":"-"},"content":" Method updateAuthorList \u003d ReportGenerator.class.getDeclaredMethod(\"updateAuthorList\", RepoConfiguration.class);"},{"lineNumber":859,"author":{"gitId":"-"},"content":" updateAuthorList.setAccessible(true);"},{"lineNumber":860,"author":{"gitId":"-"},"content":" updateAuthorList.invoke(reportGenerator, actualConfig);"},{"lineNumber":861,"author":{"gitId":"-"},"content":""},{"lineNumber":862,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfig, actualConfig);"},{"lineNumber":863,"author":{"gitId":"-"},"content":" }"},{"lineNumber":864,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":865,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":866,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_displayName_success() throws Exception {"},{"lineNumber":867,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":868,"author":{"gitId":"asdfghjkxd"},"content":" .displayName(\"CS3281\")"},{"lineNumber":869,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":870,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":871,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":872,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":873,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getDisplayName(), \"CS3281\");"},{"lineNumber":874,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":875,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":876,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":877,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_outputFolderName_success() throws Exception {"},{"lineNumber":878,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":879,"author":{"gitId":"asdfghjkxd"},"content":" .outputFolderName(\"CS3281 Folder\")"},{"lineNumber":880,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":881,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":882,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":883,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":884,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getOutputFolderName(), \"CS3281 Folder\");"},{"lineNumber":885,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":886,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":887,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":888,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_repoFolderName_success() throws Exception {"},{"lineNumber":889,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":890,"author":{"gitId":"asdfghjkxd"},"content":" .repoFolderName(\"CS3281 Folder\")"},{"lineNumber":891,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":892,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":893,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":894,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":895,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getRepoFolderName(), \"CS3281 Folder\");"},{"lineNumber":896,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":897,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":898,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":899,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_zoneID_success() throws Exception {"},{"lineNumber":900,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":901,"author":{"gitId":"asdfghjkxd"},"content":" .zoneId(ZoneId.systemDefault())"},{"lineNumber":902,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":903,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":904,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":905,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":906,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getZoneId(), ZoneId.systemDefault());"},{"lineNumber":907,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":908,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":909,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":910,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_sinceDate_success() throws Exception {"},{"lineNumber":911,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":912,"author":{"gitId":"asdfghjkxd"},"content":" .sinceDate(LocalDateTime.of(2024, 1, 1, 12, 0, 0))"},{"lineNumber":913,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":914,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":915,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":916,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":917,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getSinceDate(),"},{"lineNumber":918,"author":{"gitId":"asdfghjkxd"},"content":" LocalDateTime.of(2024, 1, 1, 12, 0, 0));"},{"lineNumber":919,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":920,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":921,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":922,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_untilDate_success() throws Exception {"},{"lineNumber":923,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":924,"author":{"gitId":"asdfghjkxd"},"content":" .untilDate(LocalDateTime.of(2024, 1, 1, 12, 0, 0))"},{"lineNumber":925,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":926,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":927,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":928,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":929,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getUntilDate(),"},{"lineNumber":930,"author":{"gitId":"asdfghjkxd"},"content":" LocalDateTime.of(2024, 1, 1, 12, 0, 0));"},{"lineNumber":931,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":932,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":933,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":934,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_authorConfig_success() throws Exception {"},{"lineNumber":935,"author":{"gitId":"asdfghjkxd"},"content":" RepoLocation loc \u003d new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG);"},{"lineNumber":936,"author":{"gitId":"asdfghjkxd"},"content":" String branch \u003d \"master\";"},{"lineNumber":937,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":938,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":939,"author":{"gitId":"asdfghjkxd"},"content":" .authorConfig(new AuthorConfiguration(loc, branch))"},{"lineNumber":940,"author":{"gitId":"asdfghjkxd"},"content":" .location(loc)"},{"lineNumber":941,"author":{"gitId":"asdfghjkxd"},"content":" .branch(branch)"},{"lineNumber":942,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":943,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":944,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertEquals(actualConfig.getAuthorConfig(),"},{"lineNumber":945,"author":{"gitId":"asdfghjkxd"},"content":" new AuthorConfiguration(loc, branch));"},{"lineNumber":946,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":947,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":948,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":949,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_isLastModifiedDateIncluded_success() throws Exception {"},{"lineNumber":950,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":951,"author":{"gitId":"asdfghjkxd"},"content":" .isLastModifiedDateIncluded(true)"},{"lineNumber":952,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_MINIMAL_STANDALONE_CONFIG))"},{"lineNumber":953,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":954,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":955,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":956,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertTrue(actualConfig.isLastModifiedDateIncluded());"},{"lineNumber":957,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":958,"author":{"gitId":"asdfghjkxd"},"content":""},{"lineNumber":959,"author":{"gitId":"asdfghjkxd"},"content":" @Test"},{"lineNumber":960,"author":{"gitId":"asdfghjkxd"},"content":" public void repoBuilder_buildWithInvalid_failure() {"},{"lineNumber":961,"author":{"gitId":"asdfghjkxd"},"content":" Assertions.assertThrows(ConfigurationBuildException.class, () -\u003e new RepoConfiguration.Builder().build());"},{"lineNumber":962,"author":{"gitId":"asdfghjkxd"},"content":" }"},{"lineNumber":963,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":244,"-":719}},{"path":"src/test/java/reposense/model/RepoLocationTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.model;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.model.RepoLocation.UNSUPPORTED_DOMAIN_NAME;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.model.RepoLocation.getDomainNameFromDomain;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static reposense.model.RepoLocation.isLocalRepo;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assumptions;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":10,"author":{"gitId":"-"},"content":""},{"lineNumber":11,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.util.AssertUtil;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.util.SystemUtil;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class RepoLocationTest {"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITHOUT_DOT_GIT_ONE \u003d \"repo\";"},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITHOUT_DOT_GIT_TWO \u003d \"../path/to/repo\";"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITHOUT_DOT_GIT_THREE \u003d \"/path/to/repo\";"},{"lineNumber":20,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITH_DOT_GIT_ONE \u003d \"path/to/repo/.git\";"},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_VALID_WITH_DOT_GIT_TWO \u003d \"file://path/to/repo.git\";"},{"lineNumber":22,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_FILE_URL_ONE \u003d \"file://path/to/repo\";"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_FILE_URL_TWO \u003d \"file:///path/to/repo\";"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_ONE \u003d \"path\\\\to\\\\repo\\\\\";"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_TWO \u003d \"..\\\\path\\\\to\\\\repo\";"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_WITH_DOT_GIT_ONE \u003d \"path\\\\to\\\\repo\\\\.git\";"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_DISK_DRIVE \u003d \"C:\\\\path\\\\to\\\\repo.git\";"},{"lineNumber":29,"author":{"gitId":"-"},"content":""},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_MIXED_ONE \u003d \"..\\\\path/to\\\\repo\";"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_VALID_MIXED_TWO \u003d \"file://path\\\\to\\\\repo.git\";"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String LOCAL_REPO_WINDOWS_DISK_DRIVE_MIXED \u003d \"C:\\\\path/to/repo.git\";"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String EXPECTED_REPO_NAME \u003d \"repo\";"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final String EXPECTED_ORGANIZATION \u003d \"path-to\";"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final String EXPECTED_DOMAIN_NAME \u003d \"github\";"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String EXPECTED_UNRECOGNISED_DOMAIN_NAME \u003d UNSUPPORTED_DOMAIN_NAME;"},{"lineNumber":38,"author":{"gitId":"-"},"content":""},{"lineNumber":39,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":40,"author":{"gitId":"-"},"content":" public void repoLocation_parseEmptyString_success() throws Exception {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" RepoLocation repoLocation \u003d new RepoLocation(\"\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":" }"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":45,"author":{"gitId":"-"},"content":" public void isLocalRepo_validLocalRepos_success() throws Exception {"},{"lineNumber":46,"author":{"gitId":"-"},"content":" Assertions.assertTrue(isLocalRepo(LOCAL_REPO_VALID_WITH_DOT_GIT_ONE));"},{"lineNumber":47,"author":{"gitId":"-"},"content":" Assertions.assertTrue(isLocalRepo(LOCAL_REPO_WINDOWS_VALID_MIXED_ONE));"},{"lineNumber":48,"author":{"gitId":"-"},"content":" Assertions.assertTrue(isLocalRepo(\"./abc:def\"));"},{"lineNumber":49,"author":{"gitId":"-"},"content":" }"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":52,"author":{"gitId":"-"},"content":" public void isLocalRepo_remoteRepos_returnsFalse() throws Exception {"},{"lineNumber":53,"author":{"gitId":"-"},"content":" Assertions.assertFalse(isLocalRepo(\"https://github.com/reposense/RepoSense.git/\"));"},{"lineNumber":54,"author":{"gitId":"-"},"content":" Assertions.assertFalse(isLocalRepo(\"git@github.com:reposense/RepoSense.git/\"));"},{"lineNumber":55,"author":{"gitId":"-"},"content":" }"},{"lineNumber":56,"author":{"gitId":"-"},"content":""},{"lineNumber":57,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":58,"author":{"gitId":"-"},"content":" public void repoLocation_parseLocalRepoLocation_success() throws Exception {"},{"lineNumber":59,"author":{"gitId":"-"},"content":" // local paths not containing \".git\" should be valid"},{"lineNumber":60,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITHOUT_DOT_GIT_ONE,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"\", EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" // relative pathing should be considered part of the \u0027organization\u0027 for differentiation"},{"lineNumber":63,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITHOUT_DOT_GIT_TWO,"},{"lineNumber":64,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":65,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITHOUT_DOT_GIT_THREE,"},{"lineNumber":66,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":67,"author":{"gitId":"-"},"content":""},{"lineNumber":68,"author":{"gitId":"-"},"content":" // local paths containing \".git\" should also be valid"},{"lineNumber":69,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITH_DOT_GIT_ONE,"},{"lineNumber":70,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":71,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_VALID_WITH_DOT_GIT_TWO,"},{"lineNumber":72,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":73,"author":{"gitId":"-"},"content":""},{"lineNumber":74,"author":{"gitId":"-"},"content":" // file-type url protocol (file://) is accepted by git clone"},{"lineNumber":75,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_FILE_URL_ONE,"},{"lineNumber":76,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":77,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_FILE_URL_TWO,"},{"lineNumber":78,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":79,"author":{"gitId":"-"},"content":" }"},{"lineNumber":80,"author":{"gitId":"-"},"content":""},{"lineNumber":81,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":82,"author":{"gitId":"-"},"content":" public void repoLocation_parseWindowsLocalRepoLocation_success() throws Exception {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" Assumptions.assumeTrue(SystemUtil.isWindows());"},{"lineNumber":84,"author":{"gitId":"-"},"content":" // repeated tests but with windows file separators"},{"lineNumber":85,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_ONE,"},{"lineNumber":86,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":87,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_WITHOUT_DOT_GIT_TWO,"},{"lineNumber":88,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_WITH_DOT_GIT_ONE,"},{"lineNumber":90,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_DISK_DRIVE,"},{"lineNumber":92,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"C--\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_MIXED_ONE,"},{"lineNumber":95,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":96,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_VALID_MIXED_TWO,"},{"lineNumber":97,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" assertParsableLocation(LOCAL_REPO_WINDOWS_DISK_DRIVE_MIXED,"},{"lineNumber":99,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"C--\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":104,"author":{"gitId":"-"},"content":" public void repoLocation_parseValidRemoteRepoUrl_success() throws Exception {"},{"lineNumber":105,"author":{"gitId":"-"},"content":" // valid url without specifying branch"},{"lineNumber":106,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Beta.git\","},{"lineNumber":107,"author":{"gitId":"-"},"content":" \"testrepo-Beta\", \"reposense\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":108,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Delta.git\","},{"lineNumber":109,"author":{"gitId":"-"},"content":" \"testrepo-Delta\", \"reposense\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":110,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://gitlab.com/reposense/RepoSense.git\","},{"lineNumber":111,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", \"gitlab\");"},{"lineNumber":112,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense.git\","},{"lineNumber":113,"author":{"gitId":"-"},"content":" \"reposense\", \"\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":114,"author":{"gitId":"-"},"content":" // valid url to parse for obtaining repo and organization, just not a valid git clone target"},{"lineNumber":115,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/.git\","},{"lineNumber":116,"author":{"gitId":"-"},"content":" \"reposense\", \"\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":117,"author":{"gitId":"-"},"content":""},{"lineNumber":118,"author":{"gitId":"-"},"content":" // valid url from other domains"},{"lineNumber":119,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://bitbucket.org/reposense/RepoSense.git\","},{"lineNumber":120,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", \"bitbucket\");"},{"lineNumber":121,"author":{"gitId":"-"},"content":" // valid url from unsupported domain with longer path to git directory than the standard organization/reponame"},{"lineNumber":122,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://opensource.ncsa.illinois.edu/bitbucket/scm/u3d/3dutilities.git\","},{"lineNumber":123,"author":{"gitId":"-"},"content":" \"3dutilities\", \"bitbucket-scm-u3d\", EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" // treated as valid but will be caught when git clone fails"},{"lineNumber":126,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Beta/tree/add-config-json\","},{"lineNumber":127,"author":{"gitId":"-"},"content":" \"add-config-json\", \"reposense-testrepo-Beta-tree\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/testrepo-Beta.git/tree/add-config-json\","},{"lineNumber":129,"author":{"gitId":"-"},"content":" \"add-config-json\", \"reposense-testrepo-Beta.git-tree\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" // URLs without \".git\" should be accepted as git clone works even without it"},{"lineNumber":132,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense\","},{"lineNumber":133,"author":{"gitId":"-"},"content":" \"reposense\", \"\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":134,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/RepoSense\","},{"lineNumber":135,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" // Test against other types of URL protocols that are valid for git clone"},{"lineNumber":138,"author":{"gitId":"-"},"content":" assertParsableLocation(\"ssh://git@github.com/path/to/repo.git/\","},{"lineNumber":139,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_DOMAIN_NAME);"},{"lineNumber":140,"author":{"gitId":"-"},"content":" assertParsableLocation(\"git://github.com/path/to/repo.git\","},{"lineNumber":141,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_DOMAIN_NAME);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://host.xz:9000/path/to/repo.git\","},{"lineNumber":143,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" // Test against the conventional ssh protocol used for GitHub, e.g. git@github.com:reposense/RepoSense.git"},{"lineNumber":146,"author":{"gitId":"-"},"content":" assertParsableLocation(\"repo@organization.com:path/to/repo.git/\","},{"lineNumber":147,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":148,"author":{"gitId":"-"},"content":" assertParsableLocation(\"git@github.com:reposense/RepoSense.git\","},{"lineNumber":149,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":150,"author":{"gitId":"-"},"content":" }"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":153,"author":{"gitId":"-"},"content":" public void repoLocation_parseNormalizableRepoLocations_success() throws Exception {"},{"lineNumber":154,"author":{"gitId":"-"},"content":" assertParsableLocation(\"https://github.com/reposense/redundant/directories/../../RepoSense.git\","},{"lineNumber":155,"author":{"gitId":"-"},"content":" \"RepoSense\", \"reposense\", EXPECTED_DOMAIN_NAME);"},{"lineNumber":156,"author":{"gitId":"-"},"content":" assertParsableLocation(\"/path/with/redundant/directories/../.././../to/repo\","},{"lineNumber":157,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"-\" + EXPECTED_ORGANIZATION, EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" // Tests if there is an additional \u0027../\u0027 it is not consumed by accident"},{"lineNumber":160,"author":{"gitId":"-"},"content":" assertParsableLocation(\"path/with/redundant/directories/../../../../../to/repo\","},{"lineNumber":161,"author":{"gitId":"-"},"content":" EXPECTED_REPO_NAME, \"..-to\", EXPECTED_UNRECOGNISED_DOMAIN_NAME);"},{"lineNumber":162,"author":{"gitId":"-"},"content":" }"},{"lineNumber":163,"author":{"gitId":"-"},"content":""},{"lineNumber":164,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":165,"author":{"gitId":"-"},"content":" public void repoLocation_parseInvalidRemoteRepo_throwsInvalidLocationException() throws Exception {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" // Invalid URL protocol"},{"lineNumber":167,"author":{"gitId":"-"},"content":" assertUnparsableLocation(\"ttp://github.com/reposense.RepoSense.git\");"},{"lineNumber":168,"author":{"gitId":"-"},"content":" assertUnparsableLocation(\"not-valid-protocol://abc.com/reposense/RepoSense.git\");"},{"lineNumber":169,"author":{"gitId":"-"},"content":" // URL contains illegal characters"},{"lineNumber":170,"author":{"gitId":"-"},"content":" assertUnparsableLocation(\"https://github.com/contains-illegal-chars/^\\\\/\");"},{"lineNumber":171,"author":{"gitId":"-"},"content":" }"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":174,"author":{"gitId":"-"},"content":" public void getDomainNameFromMatcher_parseValidDomain_success() throws Exception {"},{"lineNumber":175,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"github\", getDomainNameFromDomain(\"www.github.com\"));"},{"lineNumber":176,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"github\", getDomainNameFromDomain(\"github.com\"));"},{"lineNumber":177,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"gitlab\", getDomainNameFromDomain(\"www.gitlab.org\"));"},{"lineNumber":178,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"bitbucket\", getDomainNameFromDomain(\"ww2.bitbucket.com\"));"},{"lineNumber":179,"author":{"gitId":"-"},"content":""},{"lineNumber":180,"author":{"gitId":"-"},"content":" // valid but unsupported"},{"lineNumber":181,"author":{"gitId":"-"},"content":" Assertions.assertEquals(UNSUPPORTED_DOMAIN_NAME, getDomainNameFromDomain(\"opensource.ncsa.illinois.edu\"));"},{"lineNumber":182,"author":{"gitId":"-"},"content":" }"},{"lineNumber":183,"author":{"gitId":"-"},"content":""},{"lineNumber":184,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":185,"author":{"gitId":"-"},"content":" public void getDomainNameFromMatcher_parseInvalidDomain_throwsInvalidLocationException() throws Exception {"},{"lineNumber":186,"author":{"gitId":"-"},"content":" // no top level domain specified"},{"lineNumber":187,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e getDomainNameFromDomain(\"www.github\"));"},{"lineNumber":188,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e getDomainNameFromDomain(\"github\"));"},{"lineNumber":189,"author":{"gitId":"-"},"content":" // has a dot but still no top level domain specified"},{"lineNumber":190,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e getDomainNameFromDomain(\"github.\"));"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":194,"author":{"gitId":"-"},"content":" * Compares the information of {@code rawLocation} parsed by the RepoLocation model with {@code expectedRepoName}"},{"lineNumber":195,"author":{"gitId":"-"},"content":" * and {@code expectedOrganization}."},{"lineNumber":196,"author":{"gitId":"-"},"content":" */"},{"lineNumber":197,"author":{"gitId":"-"},"content":" public void assertParsableLocation(String rawLocation, String expectedRepoName,"},{"lineNumber":198,"author":{"gitId":"-"},"content":" String expectedOrganization, String expectedDomainName) throws Exception {"},{"lineNumber":199,"author":{"gitId":"-"},"content":" RepoLocation repoLocation \u003d new RepoLocation(rawLocation);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedRepoName, repoLocation.getRepoName());"},{"lineNumber":201,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedOrganization, repoLocation.getOrganization());"},{"lineNumber":202,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedDomainName, repoLocation.getDomainName());"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" private void assertUnparsableLocation(String rawLocation) {"},{"lineNumber":206,"author":{"gitId":"-"},"content":" AssertUtil.assertThrows(InvalidLocationException.class, () -\u003e new RepoLocation(rawLocation));"},{"lineNumber":207,"author":{"gitId":"-"},"content":" }"},{"lineNumber":208,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":207}},{"path":"src/test/java/reposense/parser/ArgsParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.io.File;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.io.IOException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.time.Month;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import java.time.format.DateTimeFormatter;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"import net.sourceforge.argparse4j.helper.HelpScreenException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.model.FileType;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import reposense.model.RunConfigurationDecider;"},{"lineNumber":29,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.ParseException;"},{"lineNumber":30,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.types.SinceDateArgumentType;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;"},{"lineNumber":33,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;"},{"lineNumber":34,"author":{"gitId":"-"},"content":"import reposense.util.TimeUtil;"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":"public class ArgsParserTest {"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path PROJECT_DIRECTORY \u003d Paths.get(System.getProperty(\"user.dir\"));"},{"lineNumber":39,"author":{"gitId":"-"},"content":" private static final Path CONFIG_DIRECTORY \u003d Paths.get(System.getProperty(\"user.dir\")"},{"lineNumber":40,"author":{"gitId":"-"},"content":" + File.separator + \"config\" + File.separator);"},{"lineNumber":41,"author":{"gitId":"-"},"content":" private static final Path CONFIG_FOLDER_ABSOLUTE \u003d loadResource(ArgsParserTest.class, \"cli_location_test\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final Path OUTPUT_DIRECTORY_ABSOLUTE \u003d loadResource(ArgsParserTest.class, \"output\");"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final Path CONFIG_FOLDER_RELATIVE \u003d PROJECT_DIRECTORY.relativize(CONFIG_FOLDER_ABSOLUTE);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path OUTPUT_DIRECTORY_RELATIVE \u003d PROJECT_DIRECTORY.relativize(OUTPUT_DIRECTORY_ABSOLUTE);"},{"lineNumber":45,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_CSV_FILE \u003d"},{"lineNumber":46,"author":{"gitId":"-"},"content":" CONFIG_FOLDER_ABSOLUTE.resolve(RepoConfigCsvParser.REPO_CONFIG_FILENAME);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_CSV_FILE \u003d"},{"lineNumber":48,"author":{"gitId":"-"},"content":" CONFIG_FOLDER_ABSOLUTE.resolve(AuthorConfigCsvParser.AUTHOR_CONFIG_FILENAME);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" private static final String NONEXISTENT_DIRECTORY \u003d \"some_non_existent_dir/\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":""},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static final InputBuilder DEFAULT_INPUT_BUILDER \u003d new InputBuilder();"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_REPOSENSE \u003d \"https://github.com/reposense/RepoSense.git\";"},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA \u003d \"https://github.com/reposense/testrepo-Beta.git\";"},{"lineNumber":55,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_CHARLIE \u003d \"https://github.com/reposense/testrepo-Charlie.git\";"},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA \u003d \"https://github.com/reposense/testrepo-Delta.git\";"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final String DEFAULT_TIME_ZONE_STRING \u003d \"Asia/Singapore\";"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final ZoneId DEFAULT_TIME_ZONE_ID \u003d TestUtil.getZoneId(DEFAULT_TIME_ZONE_STRING);"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" @BeforeEach"},{"lineNumber":62,"author":{"gitId":"-"},"content":" public void before() {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" DEFAULT_INPUT_BUILDER.reset().addConfig(CONFIG_FOLDER_ABSOLUTE);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" }"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" @AfterEach"},{"lineNumber":67,"author":{"gitId":"-"},"content":" public void after() {"},{"lineNumber":68,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":69,"author":{"gitId":"-"},"content":" FileUtil.deleteDirectory(PROJECT_DIRECTORY.resolve(NONEXISTENT_DIRECTORY).toString());"},{"lineNumber":70,"author":{"gitId":"-"},"content":" } catch (IOException e) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" System.err.println(e.getMessage());"},{"lineNumber":72,"author":{"gitId":"-"},"content":" }"},{"lineNumber":73,"author":{"gitId":"-"},"content":" }"},{"lineNumber":74,"author":{"gitId":"-"},"content":""},{"lineNumber":75,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":76,"author":{"gitId":"-"},"content":" public void parse_d1CorrectTimeZone_success() throws Exception {"},{"lineNumber":77,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":78,"author":{"gitId":"-"},"content":" .addSinceDate(SinceDateArgumentType.FIRST_COMMIT_DATE_SHORTHAND)"},{"lineNumber":79,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")"},{"lineNumber":80,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":81,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":82,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":83,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":84,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":86,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TimeUtil.getArbitraryFirstCommitDateConverted(DEFAULT_TIME_ZONE_ID);"},{"lineNumber":89,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);"},{"lineNumber":90,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());"},{"lineNumber":91,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());"},{"lineNumber":94,"author":{"gitId":"-"},"content":" }"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":97,"author":{"gitId":"-"},"content":" public void parse_allCorrectInputs_success() throws Exception {"},{"lineNumber":98,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":99,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)"},{"lineNumber":100,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\")"},{"lineNumber":101,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")"},{"lineNumber":102,"author":{"gitId":"-"},"content":" .addFormats(\"java adoc html css js\")"},{"lineNumber":103,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()"},{"lineNumber":104,"author":{"gitId":"-"},"content":" .addIgnoreFilesizeLimit()"},{"lineNumber":105,"author":{"gitId":"-"},"content":" .addView()"},{"lineNumber":106,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":107,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":108,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":109,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":110,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":111,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":112,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":113,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":114,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME), cliArguments.getOutputFilePath()));"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());"},{"lineNumber":119,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());"},{"lineNumber":120,"author":{"gitId":"-"},"content":""},{"lineNumber":121,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes("},{"lineNumber":122,"author":{"gitId":"-"},"content":" Arrays.asList(\"java\", \"adoc\", \"html\", \"css\", \"js\"));"},{"lineNumber":123,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());"},{"lineNumber":124,"author":{"gitId":"-"},"content":""},{"lineNumber":125,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":126,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isFileSizeLimitIgnored());"},{"lineNumber":127,"author":{"gitId":"-"},"content":""},{"lineNumber":128,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());"},{"lineNumber":129,"author":{"gitId":"-"},"content":" }"},{"lineNumber":130,"author":{"gitId":"-"},"content":""},{"lineNumber":131,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":132,"author":{"gitId":"-"},"content":" public void parse_help_throwsHelpScreenException() {"},{"lineNumber":133,"author":{"gitId":"-"},"content":" String input \u003d \"--help\";"},{"lineNumber":134,"author":{"gitId":"-"},"content":" Assertions.assertThrows(HelpScreenException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":135,"author":{"gitId":"-"},"content":" }"},{"lineNumber":136,"author":{"gitId":"-"},"content":""},{"lineNumber":137,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":138,"author":{"gitId":"-"},"content":" public void parse_allCorrectInputsAlias_success() throws Exception {"},{"lineNumber":139,"author":{"gitId":"-"},"content":" String input \u003d String.format("},{"lineNumber":140,"author":{"gitId":"-"},"content":" \"-c \\\"%s\\\" -o \\\"%s\\\" -s 01/07/2017 -u 30/11/2017 -f java adoc html css js -i -I -v -t %s\","},{"lineNumber":141,"author":{"gitId":"-"},"content":" CONFIG_FOLDER_ABSOLUTE, OUTPUT_DIRECTORY_ABSOLUTE, DEFAULT_TIME_ZONE_STRING);"},{"lineNumber":142,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":143,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":144,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":145,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":146,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":147,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":148,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME), cliArguments.getOutputFilePath()));"},{"lineNumber":149,"author":{"gitId":"-"},"content":""},{"lineNumber":150,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);"},{"lineNumber":151,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);"},{"lineNumber":152,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());"},{"lineNumber":153,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());"},{"lineNumber":154,"author":{"gitId":"-"},"content":""},{"lineNumber":155,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes("},{"lineNumber":156,"author":{"gitId":"-"},"content":" Arrays.asList(\"java\", \"adoc\", \"html\", \"css\", \"js\"));"},{"lineNumber":157,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());"},{"lineNumber":158,"author":{"gitId":"-"},"content":""},{"lineNumber":159,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":160,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isFileSizeLimitIgnored());"},{"lineNumber":161,"author":{"gitId":"-"},"content":""},{"lineNumber":162,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":166,"author":{"gitId":"-"},"content":" public void parse_withExtraWhitespaces_success() throws Exception {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE).addWhiteSpace(5)"},{"lineNumber":168,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE).addWhiteSpace(4)"},{"lineNumber":169,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\").addWhiteSpace(3)"},{"lineNumber":170,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\").addWhiteSpace(6)"},{"lineNumber":171,"author":{"gitId":"-"},"content":" .addFormats(\"java adoc html css js \")"},{"lineNumber":172,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig().addWhiteSpace(1)"},{"lineNumber":173,"author":{"gitId":"-"},"content":" .addIgnoreFilesizeLimit().addWhiteSpace(2)"},{"lineNumber":174,"author":{"gitId":"-"},"content":" .addView().addWhiteSpace(4)"},{"lineNumber":175,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING).addWhiteSpace(5)"},{"lineNumber":176,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":177,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":178,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":179,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":180,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":181,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":182,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":183,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME), cliArguments.getOutputFilePath()));"},{"lineNumber":184,"author":{"gitId":"-"},"content":""},{"lineNumber":185,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);"},{"lineNumber":186,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);"},{"lineNumber":187,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());"},{"lineNumber":188,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes(Arrays.asList("},{"lineNumber":191,"author":{"gitId":"-"},"content":" \"java\", \"adoc\", \"html\", \"css\", \"js\"));"},{"lineNumber":192,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":195,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isFileSizeLimitIgnored());"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_TIME_ZONE_ID, cliArguments.getZoneId());"},{"lineNumber":198,"author":{"gitId":"-"},"content":" }"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":201,"author":{"gitId":"-"},"content":" public void parse_configFolderOnly_success() throws Exception {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE).build();"},{"lineNumber":203,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":204,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":205,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":206,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":207,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":208,"author":{"gitId":"-"},"content":" // Optional arguments have default values"},{"lineNumber":209,"author":{"gitId":"-"},"content":" assertDateDiffOneMonth(cliArguments.getSinceDate(), cliArguments.getUntilDate());"},{"lineNumber":210,"author":{"gitId":"-"},"content":" assertDateDiffEndOfDay(cliArguments.getUntilDate());"},{"lineNumber":211,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ArgsParser.DEFAULT_REPORT_NAME,"},{"lineNumber":212,"author":{"gitId":"-"},"content":" cliArguments.getOutputFilePath().getFileName().toString());"},{"lineNumber":213,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileTypeTest.NO_SPECIFIED_FORMATS, cliArguments.getFormats());"},{"lineNumber":214,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":215,"author":{"gitId":"-"},"content":""},{"lineNumber":216,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_RELATIVE).build();"},{"lineNumber":217,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":220,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":221,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":222,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":223,"author":{"gitId":"-"},"content":" // Optional arguments have default values"},{"lineNumber":224,"author":{"gitId":"-"},"content":" assertDateDiffOneMonth(cliArguments.getSinceDate(), cliArguments.getUntilDate());"},{"lineNumber":225,"author":{"gitId":"-"},"content":" assertDateDiffEndOfDay(cliArguments.getUntilDate());"},{"lineNumber":226,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ArgsParser.DEFAULT_REPORT_NAME,"},{"lineNumber":227,"author":{"gitId":"-"},"content":" cliArguments.getOutputFilePath().getFileName().toString());"},{"lineNumber":228,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FileTypeTest.NO_SPECIFIED_FORMATS, cliArguments.getFormats());"},{"lineNumber":229,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":230,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.systemDefault(), cliArguments.getZoneId());"},{"lineNumber":231,"author":{"gitId":"-"},"content":" }"},{"lineNumber":232,"author":{"gitId":"-"},"content":""},{"lineNumber":233,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":234,"author":{"gitId":"-"},"content":" public void parse_viewOnly_success() throws Exception {"},{"lineNumber":235,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addView(OUTPUT_DIRECTORY_ABSOLUTE).build();"},{"lineNumber":236,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":237,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":238,"author":{"gitId":"-"},"content":" OUTPUT_DIRECTORY_ABSOLUTE, cliArguments.getReportDirectoryPath()));"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":""},{"lineNumber":241,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":242,"author":{"gitId":"-"},"content":" public void parse_withIgnore_success() throws Exception {"},{"lineNumber":243,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)"},{"lineNumber":244,"author":{"gitId":"-"},"content":" .addIgnoreStandaloneConfig()"},{"lineNumber":245,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":246,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":247,"author":{"gitId":"-"},"content":""},{"lineNumber":248,"author":{"gitId":"-"},"content":" String inputWithAlias \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)"},{"lineNumber":249,"author":{"gitId":"-"},"content":" .add(\"-i\")"},{"lineNumber":250,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":251,"author":{"gitId":"-"},"content":" CliArguments cliArgumentsWithAlias \u003d ArgsParser.parse(translateCommandline(inputWithAlias));"},{"lineNumber":252,"author":{"gitId":"-"},"content":""},{"lineNumber":253,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isStandaloneConfigIgnored());"},{"lineNumber":254,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArgumentsWithAlias.isStandaloneConfigIgnored());"},{"lineNumber":255,"author":{"gitId":"-"},"content":""},{"lineNumber":256,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.equals(cliArgumentsWithAlias));"},{"lineNumber":257,"author":{"gitId":"-"},"content":""},{"lineNumber":258,"author":{"gitId":"-"},"content":" Assertions.assertEquals(cliArguments, cliArgumentsWithAlias);"},{"lineNumber":259,"author":{"gitId":"-"},"content":" }"},{"lineNumber":260,"author":{"gitId":"-"},"content":""},{"lineNumber":261,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":262,"author":{"gitId":"-"},"content":" public void parse_withoutIgnore_success() throws Exception {"},{"lineNumber":263,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA).build();"},{"lineNumber":264,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":265,"author":{"gitId":"-"},"content":""},{"lineNumber":266,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isStandaloneConfigIgnored());"},{"lineNumber":267,"author":{"gitId":"-"},"content":" }"},{"lineNumber":268,"author":{"gitId":"-"},"content":""},{"lineNumber":269,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":270,"author":{"gitId":"-"},"content":" public void parse_viewOnlyWithoutArgs_returnsConfigCliArguments() throws Exception {"},{"lineNumber":271,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addView().build();"},{"lineNumber":272,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":273,"author":{"gitId":"-"},"content":""},{"lineNumber":274,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CONFIG_DIRECTORY.toString(), ("},{"lineNumber":275,"author":{"gitId":"-"},"content":" cliArguments).getConfigFolderPath().toString());"},{"lineNumber":276,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":280,"author":{"gitId":"-"},"content":" public void parse_configFolderAndOutputDirectory_success() throws Exception {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" Path expectedRelativeOutputDirectoryPath \u003d OUTPUT_DIRECTORY_RELATIVE.resolve(ArgsParser.DEFAULT_REPORT_NAME);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" Path expectedAbsoluteOutputDirectoryPath \u003d OUTPUT_DIRECTORY_ABSOLUTE.resolve(ArgsParser.DEFAULT_REPORT_NAME);"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":285,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_RELATIVE)"},{"lineNumber":286,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":287,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":288,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":289,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":290,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":291,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":292,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(expectedRelativeOutputDirectoryPath, cliArguments.getOutputFilePath()));"},{"lineNumber":293,"author":{"gitId":"-"},"content":""},{"lineNumber":294,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_RELATIVE)"},{"lineNumber":295,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)"},{"lineNumber":296,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":297,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":298,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":299,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":300,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":301,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":302,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile(expectedAbsoluteOutputDirectoryPath, cliArguments.getOutputFilePath()));"},{"lineNumber":303,"author":{"gitId":"-"},"content":" }"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":306,"author":{"gitId":"-"},"content":" public void parse_configFolderAndViewWithouthArgs_returnsConfigCliArguments() throws Exception {"},{"lineNumber":307,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":308,"author":{"gitId":"-"},"content":" .addView()"},{"lineNumber":309,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":310,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":313,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":314,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":315,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":316,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_RELATIVE)"},{"lineNumber":319,"author":{"gitId":"-"},"content":" .addView()"},{"lineNumber":320,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":321,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":322,"author":{"gitId":"-"},"content":""},{"lineNumber":323,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":324,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":325,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":326,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":327,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":328,"author":{"gitId":"-"},"content":" }"},{"lineNumber":329,"author":{"gitId":"-"},"content":""},{"lineNumber":330,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":331,"author":{"gitId":"-"},"content":" public void parse_configFolderAndViewWithArgs_returnsConfigCliArguments() throws Exception {"},{"lineNumber":332,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":333,"author":{"gitId":"-"},"content":" .addView(OUTPUT_DIRECTORY_ABSOLUTE)"},{"lineNumber":334,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":335,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":336,"author":{"gitId":"-"},"content":""},{"lineNumber":337,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":338,"author":{"gitId":"-"},"content":" REPO_CONFIG_CSV_FILE, cliArguments.getRepoConfigFilePath()));"},{"lineNumber":339,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":340,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_CSV_FILE, cliArguments.getAuthorConfigFilePath()));"},{"lineNumber":341,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":342,"author":{"gitId":"-"},"content":" }"},{"lineNumber":343,"author":{"gitId":"-"},"content":""},{"lineNumber":344,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":345,"author":{"gitId":"-"},"content":" public void sinceDate_correctFormat_success() throws Exception {"},{"lineNumber":346,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":347,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\")"},{"lineNumber":348,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":349,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":350,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":351,"author":{"gitId":"-"},"content":""},{"lineNumber":352,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);"},{"lineNumber":353,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());"},{"lineNumber":354,"author":{"gitId":"-"},"content":" }"},{"lineNumber":355,"author":{"gitId":"-"},"content":""},{"lineNumber":356,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":357,"author":{"gitId":"-"},"content":" public void untilDate_correctFormat_success() throws Exception {"},{"lineNumber":358,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":359,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")"},{"lineNumber":360,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":361,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":362,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":363,"author":{"gitId":"-"},"content":""},{"lineNumber":364,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);"},{"lineNumber":365,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());"},{"lineNumber":366,"author":{"gitId":"-"},"content":" }"},{"lineNumber":367,"author":{"gitId":"-"},"content":""},{"lineNumber":368,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":369,"author":{"gitId":"-"},"content":" public void sinceDate_withExtraDate_success() throws Exception {"},{"lineNumber":370,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":371,"author":{"gitId":"-"},"content":" .addSinceDate(\"\\\"01/07/2017 01/07/2018\\\"\")"},{"lineNumber":372,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":373,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":374,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":375,"author":{"gitId":"-"},"content":""},{"lineNumber":376,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JULY.getValue(), 1);"},{"lineNumber":377,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());"},{"lineNumber":378,"author":{"gitId":"-"},"content":" }"},{"lineNumber":379,"author":{"gitId":"-"},"content":""},{"lineNumber":380,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":381,"author":{"gitId":"-"},"content":" public void untilDate_withExtraTime_success() throws Exception {"},{"lineNumber":382,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":383,"author":{"gitId":"-"},"content":" .addUntilDate(\"\\\"30/11/2017 10:10:10\\\"\")"},{"lineNumber":384,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":385,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":386,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":387,"author":{"gitId":"-"},"content":""},{"lineNumber":388,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.NOVEMBER.getValue(), 30);"},{"lineNumber":389,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());"},{"lineNumber":390,"author":{"gitId":"-"},"content":" }"},{"lineNumber":391,"author":{"gitId":"-"},"content":""},{"lineNumber":392,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":393,"author":{"gitId":"-"},"content":" public void period_inDaysWithSinceDate_success() throws Exception {"},{"lineNumber":394,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":395,"author":{"gitId":"-"},"content":" .addSinceDate(\"01/07/2017\")"},{"lineNumber":396,"author":{"gitId":"-"},"content":" .addPeriod(\"2d\")"},{"lineNumber":397,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":398,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":399,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":400,"author":{"gitId":"-"},"content":""},{"lineNumber":401,"author":{"gitId":"-"},"content":" LocalDateTime expectedUntilDate \u003d TestUtil.getUntilDate(2017, Month.JULY.getValue(), 3);"},{"lineNumber":402,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedUntilDate, cliArguments.getUntilDate());"},{"lineNumber":403,"author":{"gitId":"-"},"content":" }"},{"lineNumber":404,"author":{"gitId":"-"},"content":""},{"lineNumber":405,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":406,"author":{"gitId":"-"},"content":" public void period_inWeeksWithUntilDate_success() throws Exception {"},{"lineNumber":407,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":408,"author":{"gitId":"-"},"content":" .addUntilDate(\"14/07/2017\")"},{"lineNumber":409,"author":{"gitId":"-"},"content":" .addTimezone(DEFAULT_TIME_ZONE_STRING)"},{"lineNumber":410,"author":{"gitId":"-"},"content":" .addPeriod(\"2w\")"},{"lineNumber":411,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":412,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":413,"author":{"gitId":"-"},"content":""},{"lineNumber":414,"author":{"gitId":"-"},"content":" LocalDateTime expectedSinceDate \u003d TestUtil.getSinceDate(2017, Month.JUNE.getValue(), 30);"},{"lineNumber":415,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedSinceDate, cliArguments.getSinceDate());"},{"lineNumber":416,"author":{"gitId":"-"},"content":" }"},{"lineNumber":417,"author":{"gitId":"-"},"content":""},{"lineNumber":418,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":419,"author":{"gitId":"-"},"content":" public void formats_inAlphanumeric_success() throws Exception {"},{"lineNumber":420,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addFormats(\"java js css 7z\").build();"},{"lineNumber":421,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":422,"author":{"gitId":"-"},"content":""},{"lineNumber":423,"author":{"gitId":"-"},"content":" List\u003cFileType\u003e expectedFormats \u003d FileType.convertFormatStringsToFileTypes("},{"lineNumber":424,"author":{"gitId":"-"},"content":" Arrays.asList(\"java\", \"js\", \"css\", \"7z\"));"},{"lineNumber":425,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedFormats, cliArguments.getFormats());"},{"lineNumber":426,"author":{"gitId":"-"},"content":" }"},{"lineNumber":427,"author":{"gitId":"-"},"content":""},{"lineNumber":428,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":429,"author":{"gitId":"-"},"content":" public void numCloningThreads_default_success() throws Exception {"},{"lineNumber":430,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.build();"},{"lineNumber":431,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":432,"author":{"gitId":"-"},"content":""},{"lineNumber":433,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d ArgsParser.DEFAULT_NUM_CLONING_THREADS;"},{"lineNumber":434,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumCloningThreads());"},{"lineNumber":435,"author":{"gitId":"-"},"content":" }"},{"lineNumber":436,"author":{"gitId":"-"},"content":""},{"lineNumber":437,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":438,"author":{"gitId":"-"},"content":" public void numCloningThreads_isNumeric_success() throws Exception {"},{"lineNumber":439,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":440,"author":{"gitId":"-"},"content":" .addNumCloningThreads(2)"},{"lineNumber":441,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":442,"author":{"gitId":"-"},"content":" System.out.println(input);"},{"lineNumber":443,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":444,"author":{"gitId":"-"},"content":""},{"lineNumber":445,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d 2;"},{"lineNumber":446,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumCloningThreads());"},{"lineNumber":447,"author":{"gitId":"-"},"content":" }"},{"lineNumber":448,"author":{"gitId":"-"},"content":""},{"lineNumber":449,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":450,"author":{"gitId":"-"},"content":" public void numAnalysisThreads_default_success() throws Exception {"},{"lineNumber":451,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.build();"},{"lineNumber":452,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":453,"author":{"gitId":"-"},"content":""},{"lineNumber":454,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d ArgsParser.DEFAULT_NUM_ANALYSIS_THREADS;"},{"lineNumber":455,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumAnalysisThreads());"},{"lineNumber":456,"author":{"gitId":"-"},"content":" }"},{"lineNumber":457,"author":{"gitId":"-"},"content":""},{"lineNumber":458,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":459,"author":{"gitId":"-"},"content":" public void numAnalysisThreads_isNumeric_success() throws Exception {"},{"lineNumber":460,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER"},{"lineNumber":461,"author":{"gitId":"-"},"content":" .addNumAnalysisThreads(2)"},{"lineNumber":462,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":463,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":464,"author":{"gitId":"-"},"content":""},{"lineNumber":465,"author":{"gitId":"-"},"content":" int expectedNumThreads \u003d 2;"},{"lineNumber":466,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedNumThreads, cliArguments.getNumAnalysisThreads());"},{"lineNumber":467,"author":{"gitId":"-"},"content":" }"},{"lineNumber":468,"author":{"gitId":"-"},"content":""},{"lineNumber":469,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":470,"author":{"gitId":"-"},"content":" public void parse_validGitRepoLocations_repoConfigurationListCorrectSize() throws Exception {"},{"lineNumber":471,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA).build();"},{"lineNumber":472,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":473,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e repoConfigs \u003d RunConfigurationDecider"},{"lineNumber":474,"author":{"gitId":"-"},"content":" .getRunConfiguration(cliArguments)"},{"lineNumber":475,"author":{"gitId":"-"},"content":" .getRepoConfigurations();"},{"lineNumber":476,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, repoConfigs.size());"},{"lineNumber":477,"author":{"gitId":"-"},"content":" }"},{"lineNumber":478,"author":{"gitId":"-"},"content":""},{"lineNumber":479,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":480,"author":{"gitId":"-"},"content":" public void parse_repoLocationsAndView_returnsLocationCliArguments() throws Exception {"},{"lineNumber":481,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)"},{"lineNumber":482,"author":{"gitId":"-"},"content":" .addView()"},{"lineNumber":483,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":484,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":485,"author":{"gitId":"-"},"content":""},{"lineNumber":486,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":487,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedLocations \u003d Arrays.asList(TEST_REPO_REPOSENSE, TEST_REPO_DELTA);"},{"lineNumber":488,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedLocations, cliArguments.getLocations());"},{"lineNumber":489,"author":{"gitId":"-"},"content":" }"},{"lineNumber":490,"author":{"gitId":"-"},"content":""},{"lineNumber":491,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":492,"author":{"gitId":"-"},"content":" public void parse_repoLocationsOnly_success() throws Exception {"},{"lineNumber":493,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA).build();"},{"lineNumber":494,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":495,"author":{"gitId":"-"},"content":""},{"lineNumber":496,"author":{"gitId":"-"},"content":" Assertions.assertFalse(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":497,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedLocations \u003d Arrays.asList(TEST_REPO_REPOSENSE, TEST_REPO_DELTA);"},{"lineNumber":498,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedLocations, cliArguments.getLocations());"},{"lineNumber":499,"author":{"gitId":"-"},"content":" }"},{"lineNumber":500,"author":{"gitId":"-"},"content":""},{"lineNumber":501,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":502,"author":{"gitId":"-"},"content":" public void parse_repoLocationsAndViewWithArgs_returnsLocationsCliArguments() throws Exception {"},{"lineNumber":503,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_REPOSENSE, TEST_REPO_DELTA)"},{"lineNumber":504,"author":{"gitId":"-"},"content":" .addView(OUTPUT_DIRECTORY_ABSOLUTE)"},{"lineNumber":505,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":506,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":507,"author":{"gitId":"-"},"content":""},{"lineNumber":508,"author":{"gitId":"-"},"content":" Assertions.assertTrue(cliArguments.isAutomaticallyLaunching());"},{"lineNumber":509,"author":{"gitId":"-"},"content":" List\u003cString\u003e expectedLocations \u003d Arrays.asList(TEST_REPO_REPOSENSE, TEST_REPO_DELTA);"},{"lineNumber":510,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedLocations, cliArguments.getLocations());"},{"lineNumber":511,"author":{"gitId":"-"},"content":" }"},{"lineNumber":512,"author":{"gitId":"-"},"content":""},{"lineNumber":513,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":514,"author":{"gitId":"-"},"content":" public void parse_configOrLocationsSimilar_success() throws Exception {"},{"lineNumber":515,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE).build();"},{"lineNumber":516,"author":{"gitId":"-"},"content":" CliArguments configCliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":517,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualRepoConfigs \u003d RunConfigurationDecider"},{"lineNumber":518,"author":{"gitId":"-"},"content":" .getRunConfiguration(configCliArguments)"},{"lineNumber":519,"author":{"gitId":"-"},"content":" .getRepoConfigurations();"},{"lineNumber":520,"author":{"gitId":"-"},"content":""},{"lineNumber":521,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().addRepos(TEST_REPO_BETA, TEST_REPO_CHARLIE, TEST_REPO_DELTA).build();"},{"lineNumber":522,"author":{"gitId":"-"},"content":" CliArguments locationCliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":523,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e expectedRepoConfigs \u003d RunConfigurationDecider"},{"lineNumber":524,"author":{"gitId":"-"},"content":" .getRunConfiguration(locationCliArguments)"},{"lineNumber":525,"author":{"gitId":"-"},"content":" .getRepoConfigurations();"},{"lineNumber":526,"author":{"gitId":"-"},"content":""},{"lineNumber":527,"author":{"gitId":"-"},"content":" Assertions.assertEquals(actualRepoConfigs, expectedRepoConfigs);"},{"lineNumber":528,"author":{"gitId":"-"},"content":" }"},{"lineNumber":529,"author":{"gitId":"-"},"content":""},{"lineNumber":530,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":531,"author":{"gitId":"-"},"content":" public void emptyArgs_defaultConfigFolderPath() throws Exception {"},{"lineNumber":532,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(new String[]{});"},{"lineNumber":533,"author":{"gitId":"-"},"content":""},{"lineNumber":534,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CONFIG_DIRECTORY.toString(), cliArguments.getConfigFolderPath().toString());"},{"lineNumber":535,"author":{"gitId":"-"},"content":" }"},{"lineNumber":536,"author":{"gitId":"-"},"content":""},{"lineNumber":537,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":538,"author":{"gitId":"-"},"content":" public void parse_repoAliases_sameResult() throws Exception {"},{"lineNumber":539,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addRepos(TEST_REPO_BETA).build();"},{"lineNumber":540,"author":{"gitId":"-"},"content":" CliArguments repoAliasCliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":541,"author":{"gitId":"-"},"content":""},{"lineNumber":542,"author":{"gitId":"-"},"content":" input \u003d new InputBuilder().add(String.format(\"--repos %s\", TEST_REPO_BETA)).build();"},{"lineNumber":543,"author":{"gitId":"-"},"content":" CliArguments reposAliasCliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":544,"author":{"gitId":"-"},"content":""},{"lineNumber":545,"author":{"gitId":"-"},"content":" Assertions.assertEquals(repoAliasCliArguments, reposAliasCliArguments);"},{"lineNumber":546,"author":{"gitId":"-"},"content":" }"},{"lineNumber":547,"author":{"gitId":"-"},"content":""},{"lineNumber":548,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":549,"author":{"gitId":"-"},"content":" public void absoluteConfigFolder_withoutRequiredConfigFiles_throwsParseException() {"},{"lineNumber":550,"author":{"gitId":"-"},"content":" Path absDirectory \u003d PROJECT_DIRECTORY.getParent().toAbsolutePath();"},{"lineNumber":551,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(absDirectory).build();"},{"lineNumber":552,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":553,"author":{"gitId":"-"},"content":" }"},{"lineNumber":554,"author":{"gitId":"-"},"content":""},{"lineNumber":555,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":556,"author":{"gitId":"-"},"content":" public void relativeConfigFolder_withoutRequiredConfigFiles_throwsParseException() {"},{"lineNumber":557,"author":{"gitId":"-"},"content":" Path relDirectory \u003d PROJECT_DIRECTORY.getParent();"},{"lineNumber":558,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(relDirectory).build();"},{"lineNumber":559,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":560,"author":{"gitId":"-"},"content":" }"},{"lineNumber":561,"author":{"gitId":"-"},"content":""},{"lineNumber":562,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":563,"author":{"gitId":"-"},"content":" public void parse_notExistsConfigFolder_throwsParseException() {"},{"lineNumber":564,"author":{"gitId":"-"},"content":" Path absConfigFolder \u003d PROJECT_DIRECTORY.resolve(\"non_existing_random_folder\");"},{"lineNumber":565,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(absConfigFolder).build();"},{"lineNumber":566,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":567,"author":{"gitId":"-"},"content":" }"},{"lineNumber":568,"author":{"gitId":"-"},"content":""},{"lineNumber":569,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":570,"author":{"gitId":"-"},"content":" public void parse_configCsvFileAsConfigFolder_throwsParseException() {"},{"lineNumber":571,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(REPO_CONFIG_CSV_FILE).build();"},{"lineNumber":572,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":573,"author":{"gitId":"-"},"content":" }"},{"lineNumber":574,"author":{"gitId":"-"},"content":""},{"lineNumber":575,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":576,"author":{"gitId":"-"},"content":" public void parse_missingConfigValue_throwsParseException() {"},{"lineNumber":577,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(new File(\"\").toPath()).build();"},{"lineNumber":578,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":579,"author":{"gitId":"-"},"content":" }"},{"lineNumber":580,"author":{"gitId":"-"},"content":""},{"lineNumber":581,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":582,"author":{"gitId":"-"},"content":" public void outputPath_nonExistentDirectory_success() throws Exception {"},{"lineNumber":583,"author":{"gitId":"-"},"content":" Path nonExistentDirectory \u003d PROJECT_DIRECTORY.resolve(NONEXISTENT_DIRECTORY);"},{"lineNumber":584,"author":{"gitId":"-"},"content":" Path expectedRelativeOutputDirectoryPath \u003d nonExistentDirectory.resolve(ArgsParser.DEFAULT_REPORT_NAME);"},{"lineNumber":585,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addOutput(nonExistentDirectory).build();"},{"lineNumber":586,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":587,"author":{"gitId":"-"},"content":""},{"lineNumber":588,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.isSameFile("},{"lineNumber":589,"author":{"gitId":"-"},"content":" expectedRelativeOutputDirectoryPath, cliArguments.getOutputFilePath()));"},{"lineNumber":590,"author":{"gitId":"-"},"content":" }"},{"lineNumber":591,"author":{"gitId":"-"},"content":""},{"lineNumber":592,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":593,"author":{"gitId":"-"},"content":" public void sinceDate_unsupportedFormats_throwsParseException() {"},{"lineNumber":594,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(\"01 July 17\").build();"},{"lineNumber":595,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":596,"author":{"gitId":"-"},"content":" }"},{"lineNumber":597,"author":{"gitId":"-"},"content":""},{"lineNumber":598,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":599,"author":{"gitId":"-"},"content":" public void untilDate_unsupportedFormats_throwsParseException() {"},{"lineNumber":600,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addUntilDate(\"11/31/2017\").build();"},{"lineNumber":601,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":602,"author":{"gitId":"-"},"content":" }"},{"lineNumber":603,"author":{"gitId":"-"},"content":""},{"lineNumber":604,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":605,"author":{"gitId":"-"},"content":" public void sinceDate_laterThanUntilDate_throwsParseException() {"},{"lineNumber":606,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(\"01/12/2017\")"},{"lineNumber":607,"author":{"gitId":"-"},"content":" .addUntilDate(\"30/11/2017\")"},{"lineNumber":608,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":609,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":610,"author":{"gitId":"-"},"content":" }"},{"lineNumber":611,"author":{"gitId":"-"},"content":""},{"lineNumber":612,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":613,"author":{"gitId":"-"},"content":" public void sinceDate_laterThanCurrentDate_throwsParseException() {"},{"lineNumber":614,"author":{"gitId":"-"},"content":" LocalDateTime tomorrowDateTime \u003d LocalDateTime.now()"},{"lineNumber":615,"author":{"gitId":"-"},"content":" .plusDays(1L);"},{"lineNumber":616,"author":{"gitId":"-"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy\");"},{"lineNumber":617,"author":{"gitId":"-"},"content":" String tomorrow \u003d tomorrowDateTime.format(formatter);"},{"lineNumber":618,"author":{"gitId":"-"},"content":""},{"lineNumber":619,"author":{"gitId":"-"},"content":""},{"lineNumber":620,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(tomorrow)"},{"lineNumber":621,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":622,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":623,"author":{"gitId":"-"},"content":" }"},{"lineNumber":624,"author":{"gitId":"-"},"content":""},{"lineNumber":625,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":626,"author":{"gitId":"-"},"content":" public void sinceDate_beforeUntilDateAndLaterThanCurrentDate_throwsParseException() {"},{"lineNumber":627,"author":{"gitId":"-"},"content":" LocalDateTime tomorrowDateTime \u003d LocalDateTime.now()"},{"lineNumber":628,"author":{"gitId":"-"},"content":" .plusDays(1L);"},{"lineNumber":629,"author":{"gitId":"-"},"content":" LocalDateTime dayAfterDateTime \u003d LocalDateTime.now()"},{"lineNumber":630,"author":{"gitId":"-"},"content":" .plusDays(2L);"},{"lineNumber":631,"author":{"gitId":"-"},"content":""},{"lineNumber":632,"author":{"gitId":"-"},"content":" DateTimeFormatter formatter \u003d DateTimeFormatter.ofPattern(\"dd/MM/yyyy\");"},{"lineNumber":633,"author":{"gitId":"-"},"content":" String tomorrow \u003d tomorrowDateTime.format(formatter);"},{"lineNumber":634,"author":{"gitId":"-"},"content":" String dayAfter \u003d dayAfterDateTime.format(formatter);"},{"lineNumber":635,"author":{"gitId":"-"},"content":""},{"lineNumber":636,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addSinceDate(tomorrow)"},{"lineNumber":637,"author":{"gitId":"-"},"content":" .addUntilDate(dayAfter)"},{"lineNumber":638,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":639,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":640,"author":{"gitId":"-"},"content":" }"},{"lineNumber":641,"author":{"gitId":"-"},"content":""},{"lineNumber":642,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":643,"author":{"gitId":"-"},"content":" public void period_withBothSinceDateAndUntilDate_throwsParseException() {"},{"lineNumber":644,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addPeriod(\"18d\")"},{"lineNumber":645,"author":{"gitId":"-"},"content":" .addSinceDate(\"30/11/2017\")"},{"lineNumber":646,"author":{"gitId":"-"},"content":" .addUntilDate(\"01/12/2017\")"},{"lineNumber":647,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":648,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":649,"author":{"gitId":"-"},"content":" }"},{"lineNumber":650,"author":{"gitId":"-"},"content":""},{"lineNumber":651,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":652,"author":{"gitId":"-"},"content":" public void period_notNumeric_throwsParseExcpetion() {"},{"lineNumber":653,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addPeriod(\"abcd\").build();"},{"lineNumber":654,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":655,"author":{"gitId":"-"},"content":" }"},{"lineNumber":656,"author":{"gitId":"-"},"content":""},{"lineNumber":657,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":658,"author":{"gitId":"-"},"content":" public void period_isZero_throwsParseExcpetion() {"},{"lineNumber":659,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addPeriod(\"0w\").build();"},{"lineNumber":660,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":661,"author":{"gitId":"-"},"content":" }"},{"lineNumber":662,"author":{"gitId":"-"},"content":""},{"lineNumber":663,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":664,"author":{"gitId":"-"},"content":" public void formats_notInAlphanumeric_throwsParseException() {"},{"lineNumber":665,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addFormats(\".java\").build();"},{"lineNumber":666,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":667,"author":{"gitId":"-"},"content":" }"},{"lineNumber":668,"author":{"gitId":"-"},"content":""},{"lineNumber":669,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":670,"author":{"gitId":"-"},"content":" public void parse_mutuallyExclusiveArgumentsConfigAndReposTogether_throwsParseException() {"},{"lineNumber":671,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":672,"author":{"gitId":"-"},"content":" .addRepos(TEST_REPO_REPOSENSE)"},{"lineNumber":673,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":674,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":675,"author":{"gitId":"-"},"content":" }"},{"lineNumber":676,"author":{"gitId":"-"},"content":""},{"lineNumber":677,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":678,"author":{"gitId":"-"},"content":" public void parse_extraArgumentForIgnore_throwsParseException() {"},{"lineNumber":679,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addIgnoreStandaloneConfig().add(\"true\").build();"},{"lineNumber":680,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":681,"author":{"gitId":"-"},"content":" }"},{"lineNumber":682,"author":{"gitId":"-"},"content":""},{"lineNumber":683,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":684,"author":{"gitId":"-"},"content":" public void parse_withTimezone_success() throws Exception {"},{"lineNumber":685,"author":{"gitId":"-"},"content":" String zoneId \u003d \"UTC+11\";"},{"lineNumber":686,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addTimezone(zoneId).build();"},{"lineNumber":687,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":688,"author":{"gitId":"-"},"content":""},{"lineNumber":689,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.of(zoneId), cliArguments.getZoneId());"},{"lineNumber":690,"author":{"gitId":"-"},"content":""},{"lineNumber":691,"author":{"gitId":"-"},"content":" zoneId \u003d \"UTC-1030\";"},{"lineNumber":692,"author":{"gitId":"-"},"content":" input \u003d DEFAULT_INPUT_BUILDER.addTimezone(zoneId).build();"},{"lineNumber":693,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":694,"author":{"gitId":"-"},"content":""},{"lineNumber":695,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.of(zoneId), cliArguments.getZoneId());"},{"lineNumber":696,"author":{"gitId":"-"},"content":""},{"lineNumber":697,"author":{"gitId":"-"},"content":" zoneId \u003d \"UTC\";"},{"lineNumber":698,"author":{"gitId":"-"},"content":" input \u003d DEFAULT_INPUT_BUILDER.addTimezone(zoneId).build();"},{"lineNumber":699,"author":{"gitId":"-"},"content":" cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":700,"author":{"gitId":"-"},"content":""},{"lineNumber":701,"author":{"gitId":"-"},"content":" Assertions.assertEquals(ZoneId.of(zoneId), cliArguments.getZoneId());"},{"lineNumber":702,"author":{"gitId":"-"},"content":" }"},{"lineNumber":703,"author":{"gitId":"-"},"content":""},{"lineNumber":704,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":705,"author":{"gitId":"-"},"content":" public void parse_incorrectTimezone_throwsParseException() {"},{"lineNumber":706,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addTimezone(\"UTC+\").build();"},{"lineNumber":707,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));;"},{"lineNumber":708,"author":{"gitId":"-"},"content":" }"},{"lineNumber":709,"author":{"gitId":"-"},"content":""},{"lineNumber":710,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":711,"author":{"gitId":"-"},"content":" public void parse_timezoneWithoutArgument_throwsParseException() {"},{"lineNumber":712,"author":{"gitId":"-"},"content":" String input \u003d DEFAULT_INPUT_BUILDER.addTimezone(\"\").build();"},{"lineNumber":713,"author":{"gitId":"-"},"content":" Assertions.assertThrows(ParseException.class, () -\u003e ArgsParser.parse(translateCommandline(input)));"},{"lineNumber":714,"author":{"gitId":"-"},"content":" }"},{"lineNumber":715,"author":{"gitId":"-"},"content":""},{"lineNumber":716,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":717,"author":{"gitId":"-"},"content":" public void parse_shallowCloning_success() throws Exception {"},{"lineNumber":718,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":719,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)"},{"lineNumber":720,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":721,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":722,"author":{"gitId":"-"},"content":" Assertions.assertEquals(false, cliArguments.isShallowCloningPerformed());"},{"lineNumber":723,"author":{"gitId":"-"},"content":""},{"lineNumber":724,"author":{"gitId":"-"},"content":" String inputShallow \u003d new InputBuilder().addConfig(CONFIG_FOLDER_ABSOLUTE)"},{"lineNumber":725,"author":{"gitId":"-"},"content":" .addOutput(OUTPUT_DIRECTORY_ABSOLUTE)"},{"lineNumber":726,"author":{"gitId":"-"},"content":" .addShallowCloning()"},{"lineNumber":727,"author":{"gitId":"-"},"content":" .build();"},{"lineNumber":728,"author":{"gitId":"-"},"content":" CliArguments cliArgumentsShallow \u003d ArgsParser.parse(translateCommandline(inputShallow));"},{"lineNumber":729,"author":{"gitId":"-"},"content":" Assertions.assertEquals(true, cliArgumentsShallow.isShallowCloningPerformed());"},{"lineNumber":730,"author":{"gitId":"-"},"content":" }"},{"lineNumber":731,"author":{"gitId":"-"},"content":""},{"lineNumber":732,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":733,"author":{"gitId":"-"},"content":" * Ensures that {@code actualSinceDate} is exactly one month before {@code untilDate}."},{"lineNumber":734,"author":{"gitId":"-"},"content":" *"},{"lineNumber":735,"author":{"gitId":"-"},"content":" * @throws AssertionError if {@code actualSinceDate} is not one month before {@code untilDate}."},{"lineNumber":736,"author":{"gitId":"-"},"content":" */"},{"lineNumber":737,"author":{"gitId":"-"},"content":" private void assertDateDiffOneMonth(LocalDateTime actualSinceDate, LocalDateTime untilDate) {"},{"lineNumber":738,"author":{"gitId":"-"},"content":" LocalDateTime oneMonthBeforeUntilDate \u003d untilDate.withHour(0).withMinute(0).withSecond(0).minusMonths(1);"},{"lineNumber":739,"author":{"gitId":"-"},"content":" Assertions.assertTrue(actualSinceDate.equals(oneMonthBeforeUntilDate));"},{"lineNumber":740,"author":{"gitId":"-"},"content":" }"},{"lineNumber":741,"author":{"gitId":"-"},"content":""},{"lineNumber":742,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":743,"author":{"gitId":"-"},"content":" * Ensures that {@code actualUntilDate} falls on the date of report generation with time at 23:59:59."},{"lineNumber":744,"author":{"gitId":"-"},"content":" *"},{"lineNumber":745,"author":{"gitId":"-"},"content":" * @throws AssertionError if {@code actualUntilDate} does not fall on the date of report generation"},{"lineNumber":746,"author":{"gitId":"-"},"content":" * with time at 23:59:59."},{"lineNumber":747,"author":{"gitId":"-"},"content":" */"},{"lineNumber":748,"author":{"gitId":"-"},"content":" private void assertDateDiffEndOfDay(LocalDateTime actualUntilDate) {"},{"lineNumber":749,"author":{"gitId":"-"},"content":""},{"lineNumber":750,"author":{"gitId":"-"},"content":" LocalDateTime currentDate \u003d LocalDateTime.now().withHour(23).withMinute(59).withSecond(59).withNano(0);"},{"lineNumber":751,"author":{"gitId":"-"},"content":" Assertions.assertTrue(actualUntilDate.equals(currentDate));"},{"lineNumber":752,"author":{"gitId":"-"},"content":" }"},{"lineNumber":753,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":751}},{"path":"src/test/java/reposense/parser/AuthorConfigParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.AbstractMap.SimpleEntry;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.Map;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.stream.Stream;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.AuthorConfiguration;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":20,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;"},{"lineNumber":21,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class AuthorConfigParserTest {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_EMPTY_LOCATION_FILE \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":25,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_emptyLocation_test.csv\");"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_EMPTY_CONFIG_FILE \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":27,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/require_trailing_whitespaces/authorconfig_emptyConfig_test.csv\");"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_FILE \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":29,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_noSpecialCharacter_test.csv\");"},{"lineNumber":30,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_SPECIAL_CHARACTER_FILE \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":31,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_specialCharacter_test.csv\");"},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_COMMAS_AND_DOUBLEQUOTES_FILE \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":33,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_commasAndDoubleQuotes_test.csv\");"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_EMAILS_FILE \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":35,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleEmails_test.csv\");"},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_DIFFERENT_COLUMN_ORDER \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":37,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_differentColumnOrder_test.csv\");"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MISSING_OPTIONAL_HEADER \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_missingOptionalHeader_test.csv\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MISSING_MANDATORY_HEADER \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":41,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_missingMandatoryHeader_test.csv\");"},{"lineNumber":42,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_UNKNOWN_HEADER \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":43,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_unknownHeaders_test.csv\");"},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_GITHUB_ID_HEADER \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_gitHubIdHeader_test.csv\");"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_GIT_HOST_ID_HEADER \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_gitHostIdHeader_test.csv\");"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_FILE \u003d loadResource(AuthorConfigParserTest.class,"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleReposInRow_test.csv\");"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_SINGLE_BRANCH_PER_REPO_FILE \u003d loadResource("},{"lineNumber":51,"author":{"gitId":"-"},"content":" AuthorConfigParserTest.class,"},{"lineNumber":52,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleReposInRowSingleBranchPerRepo_test.csv\");"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final Path AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_MULTIPLE_BRANCH_PER_REPO_FILE \u003d loadResource("},{"lineNumber":55,"author":{"gitId":"-"},"content":" AuthorConfigParserTest.class,"},{"lineNumber":56,"author":{"gitId":"-"},"content":" \"AuthorConfigParserTest/authorconfig_multipleReposInRowMultipleBranchPerRepo_test.csv\");"},{"lineNumber":57,"author":{"gitId":"-"},"content":""},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_LOCATION \u003d \"https://github.com/reposense/testrepo-Beta.git\";"},{"lineNumber":59,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_MASTER_BRANCH \u003d \"master\";"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" private static final Author FIRST_AUTHOR \u003d new Author(\"nbriannl\");"},{"lineNumber":62,"author":{"gitId":"-"},"content":" private static final Author SECOND_AUTHOR \u003d new Author(\"zacharytang\");"},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final List\u003cAuthor\u003e AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS \u003d"},{"lineNumber":64,"author":{"gitId":"-"},"content":" Arrays.asList(FIRST_AUTHOR, SECOND_AUTHOR);"},{"lineNumber":65,"author":{"gitId":"-"},"content":""},{"lineNumber":66,"author":{"gitId":"-"},"content":" private static final Author FIRST_SPECIAL_CHARACTER_AUTHOR \u003d new Author(\"‘Processed�‘Cooked�\");"},{"lineNumber":67,"author":{"gitId":"-"},"content":" private static final Author SECOND_SPECIAL_CHARACTER_AUTHOR \u003d new Author(\"(codeeong)\");"},{"lineNumber":68,"author":{"gitId":"-"},"content":" private static final Author THIRD_SPECIAL_CHARACTER_AUTHOR \u003d new Author(\"^:jordancjq;$\");"},{"lineNumber":69,"author":{"gitId":"-"},"content":" private static final List\u003cAuthor\u003e AUTHOR_CONFIG_SPECIAL_CHARACTER_AUTHORS \u003d Arrays.asList("},{"lineNumber":70,"author":{"gitId":"-"},"content":" FIRST_SPECIAL_CHARACTER_AUTHOR, SECOND_SPECIAL_CHARACTER_AUTHOR, THIRD_SPECIAL_CHARACTER_AUTHOR);"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" private static final Author FIRST_COMMAS_AND_DOUBLEQUOTES_AUTHOR \u003d new Author(\"ProcessedCooked\");"},{"lineNumber":73,"author":{"gitId":"-"},"content":" private static final Author SECOND_COMMAS_AND_DOUBLEQUOTES_AUTHOR \u003d new Author(\"codeeong\");"},{"lineNumber":74,"author":{"gitId":"-"},"content":" private static final Author THIRD_COMMAS_AND_DOUBLEQUOTES_AUTHOR \u003d new Author(\"jordancjq\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":" private static final String FIRST_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME \u003d \"Tay Fan Gao, Douya\";"},{"lineNumber":76,"author":{"gitId":"-"},"content":" private static final String SECOND_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME \u003d \"\\\"\\\"Tora, S/O,\\\" Doyua, T.\\\"\";"},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static final String THIRD_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME \u003d \"jordancjq\";"},{"lineNumber":78,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_COMMAS_AND_DOUBLEQUOTES_ALIAS \u003d"},{"lineNumber":79,"author":{"gitId":"-"},"content":" Collections.singletonList(\"Tay Fan Gao, Douya \\\"SOC, Y2S1\\\"\");"},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_COMMAS_AND_DOUBLEQUOTES_ALIAS \u003d Collections.emptyList();"},{"lineNumber":81,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e THIRD_COMMAS_AND_DOUBLEQUOTES_ALIAS \u003d"},{"lineNumber":82,"author":{"gitId":"-"},"content":" Arrays.asList(\"Borex T\\\"ony Tong\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final Map\u003cAuthor, List\u003cString\u003e\u003e AUTHOR_ALIAS_COMMAS_AND_DOUBLE_QUOTES_MAP \u003d"},{"lineNumber":84,"author":{"gitId":"-"},"content":" Stream.of(new SimpleEntry\u003c\u003e(FIRST_COMMAS_AND_DOUBLEQUOTES_AUTHOR, FIRST_COMMAS_AND_DOUBLEQUOTES_ALIAS),"},{"lineNumber":85,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(SECOND_COMMAS_AND_DOUBLEQUOTES_AUTHOR, SECOND_COMMAS_AND_DOUBLEQUOTES_ALIAS),"},{"lineNumber":86,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(THIRD_COMMAS_AND_DOUBLEQUOTES_AUTHOR, THIRD_COMMAS_AND_DOUBLEQUOTES_ALIAS))"},{"lineNumber":87,"author":{"gitId":"-"},"content":" .collect(Collectors.toMap(entry -\u003e entry.getKey(), entry -\u003e entry.getValue()));"},{"lineNumber":88,"author":{"gitId":"-"},"content":" private static final Map\u003cAuthor, String\u003e AUTHOR_DISPLAY_NAME_COMMAS_AND_DOUBLE_QUOTES_MAP \u003d"},{"lineNumber":89,"author":{"gitId":"-"},"content":" Stream.of(new SimpleEntry\u003c\u003e(FIRST_COMMAS_AND_DOUBLEQUOTES_AUTHOR,"},{"lineNumber":90,"author":{"gitId":"-"},"content":" FIRST_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME),"},{"lineNumber":91,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(SECOND_COMMAS_AND_DOUBLEQUOTES_AUTHOR,"},{"lineNumber":92,"author":{"gitId":"-"},"content":" SECOND_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME),"},{"lineNumber":93,"author":{"gitId":"-"},"content":" new SimpleEntry\u003c\u003e(THIRD_COMMAS_AND_DOUBLEQUOTES_AUTHOR, THIRD_COMMAS_AND_DOUBLEQUOTES_DISPLAY_NAME))"},{"lineNumber":94,"author":{"gitId":"-"},"content":" .collect(Collectors.toMap(entry -\u003e entry.getKey(), entry -\u003e entry.getValue()));"},{"lineNumber":95,"author":{"gitId":"-"},"content":""},{"lineNumber":96,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_EMAIL_LIST \u003d"},{"lineNumber":97,"author":{"gitId":"-"},"content":" Arrays.asList(\"nbr@example.com\", \"nbriannl@test.net\", \"nbriannl@users.noreply.github.com\","},{"lineNumber":98,"author":{"gitId":"-"},"content":" \"nbriannl@users.noreply.gitlab.com\");"},{"lineNumber":99,"author":{"gitId":"-"},"content":""},{"lineNumber":100,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":101,"author":{"gitId":"-"},"content":" public void authorConfig_noSpecialCharacter_success() throws Exception {"},{"lineNumber":102,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d"},{"lineNumber":103,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_FILE);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":107,"author":{"gitId":"-"},"content":""},{"lineNumber":108,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":111,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS, config.getAuthorList());"},{"lineNumber":114,"author":{"gitId":"-"},"content":" }"},{"lineNumber":115,"author":{"gitId":"-"},"content":""},{"lineNumber":116,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":117,"author":{"gitId":"-"},"content":" public void authorConfig_emptyLocation_success() throws Exception {"},{"lineNumber":118,"author":{"gitId":"-"},"content":" AuthorConfiguration expectedConfig \u003d new AuthorConfiguration(new RepoLocation(\"\"));"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_EMPTY_LOCATION_FILE);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d authorConfigCsvParser.parse();"},{"lineNumber":122,"author":{"gitId":"-"},"content":" AuthorConfiguration authorConfig \u003d authorConfigs.get(0);"},{"lineNumber":123,"author":{"gitId":"-"},"content":""},{"lineNumber":124,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, authorConfigs.size());"},{"lineNumber":125,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getLocation(), authorConfig.getLocation());"},{"lineNumber":126,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getBranch(), authorConfig.getBranch());"},{"lineNumber":127,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS, authorConfig.getAuthorList());"},{"lineNumber":128,"author":{"gitId":"-"},"content":" }"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":131,"author":{"gitId":"-"},"content":" public void authorConfig_emptyConfig_throwsInvalidCsvException() throws Exception {"},{"lineNumber":132,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_EMPTY_CONFIG_FILE);"},{"lineNumber":133,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e authorConfigCsvParser.parse());"},{"lineNumber":134,"author":{"gitId":"-"},"content":" }"},{"lineNumber":135,"author":{"gitId":"-"},"content":""},{"lineNumber":136,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":137,"author":{"gitId":"-"},"content":" public void authorConfig_specialCharacter_success() throws Exception {"},{"lineNumber":138,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_SPECIAL_CHARACTER_FILE);"},{"lineNumber":139,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":140,"author":{"gitId":"-"},"content":""},{"lineNumber":141,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":142,"author":{"gitId":"-"},"content":""},{"lineNumber":143,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":144,"author":{"gitId":"-"},"content":""},{"lineNumber":145,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":146,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_SPECIAL_CHARACTER_AUTHORS, config.getAuthorList());"},{"lineNumber":149,"author":{"gitId":"-"},"content":" }"},{"lineNumber":150,"author":{"gitId":"-"},"content":""},{"lineNumber":151,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":152,"author":{"gitId":"-"},"content":" public void authorConfig_multipleEmails_success() throws Exception {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_MULTIPLE_EMAILS_FILE);"},{"lineNumber":154,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":155,"author":{"gitId":"-"},"content":""},{"lineNumber":156,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":159,"author":{"gitId":"-"},"content":""},{"lineNumber":160,"author":{"gitId":"-"},"content":" Author actualAuthor \u003d config.getAuthorList().get(0);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FIRST_AUTHOR_EMAIL_LIST.size(), actualAuthor.getEmails().size());"},{"lineNumber":162,"author":{"gitId":"-"},"content":" Assertions.assertTrue(actualAuthor.getEmails().containsAll(FIRST_AUTHOR_EMAIL_LIST));"},{"lineNumber":163,"author":{"gitId":"-"},"content":" }"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":166,"author":{"gitId":"-"},"content":" public void authorConfig_differentColumnOrder_success() throws Exception {"},{"lineNumber":167,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d"},{"lineNumber":168,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(AUTHOR_CONFIG_DIFFERENT_COLUMN_ORDER);"},{"lineNumber":169,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":176,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":177,"author":{"gitId":"-"},"content":""},{"lineNumber":178,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_CONFIG_NO_SPECIAL_CHARACTER_AUTHORS, config.getAuthorList());"},{"lineNumber":179,"author":{"gitId":"-"},"content":" }"},{"lineNumber":180,"author":{"gitId":"-"},"content":""},{"lineNumber":181,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":182,"author":{"gitId":"-"},"content":" public void authorConfig_missingOptionalHeader_success() throws Exception {"},{"lineNumber":183,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_MISSING_OPTIONAL_HEADER);"},{"lineNumber":184,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":189,"author":{"gitId":"-"},"content":""},{"lineNumber":190,"author":{"gitId":"-"},"content":" Assertions.assertEquals(4, config.getAuthorList().size());"},{"lineNumber":191,"author":{"gitId":"-"},"content":" }"},{"lineNumber":192,"author":{"gitId":"-"},"content":""},{"lineNumber":193,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":194,"author":{"gitId":"-"},"content":" public void authorConfig_newGitHostIdHeader_success() throws Exception {"},{"lineNumber":195,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser;"},{"lineNumber":196,"author":{"gitId":"-"},"content":""},{"lineNumber":197,"author":{"gitId":"-"},"content":" authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_GIT_HOST_ID_HEADER);"},{"lineNumber":198,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configsWithGitHostIdHeader \u003d authorConfigCsvParser.parse();"},{"lineNumber":199,"author":{"gitId":"-"},"content":""},{"lineNumber":200,"author":{"gitId":"-"},"content":" authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_GITHUB_ID_HEADER);"},{"lineNumber":201,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configsWithGitHubIdHeader \u003d authorConfigCsvParser.parse();"},{"lineNumber":202,"author":{"gitId":"-"},"content":""},{"lineNumber":203,"author":{"gitId":"-"},"content":" Assertions.assertEquals(configsWithGitHubIdHeader, configsWithGitHostIdHeader);"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":""},{"lineNumber":206,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":207,"author":{"gitId":"-"},"content":" public void authorConfig_missingMandatoryHeader_throwsInvalidCsvException() throws Exception {"},{"lineNumber":208,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_MISSING_MANDATORY_HEADER);"},{"lineNumber":209,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e authorConfigCsvParser.parse());"},{"lineNumber":210,"author":{"gitId":"-"},"content":" }"},{"lineNumber":211,"author":{"gitId":"-"},"content":""},{"lineNumber":212,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":213,"author":{"gitId":"-"},"content":" public void authorConfig_unknownHeaders_throwsInvalidHeaderException() throws Exception {"},{"lineNumber":214,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser(AUTHOR_CONFIG_UNKNOWN_HEADER);"},{"lineNumber":215,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidHeaderException.class, () -\u003e authorConfigCsvParser.parse());"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":219,"author":{"gitId":"-"},"content":" public void parse_multipleColumnsWithCommasAndDoubleQuotes_success() throws Exception {"},{"lineNumber":220,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d"},{"lineNumber":221,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(AUTHOR_CONFIG_COMMAS_AND_DOUBLEQUOTES_FILE);"},{"lineNumber":222,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":223,"author":{"gitId":"-"},"content":""},{"lineNumber":224,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":229,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":230,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_DISPLAY_NAME_COMMAS_AND_DOUBLE_QUOTES_MAP, config.getAuthorDisplayNameMap());"},{"lineNumber":231,"author":{"gitId":"-"},"content":""},{"lineNumber":232,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_ALIAS_COMMAS_AND_DOUBLE_QUOTES_MAP.size(), config.getAuthorList().size());"},{"lineNumber":233,"author":{"gitId":"-"},"content":" config.getAuthorList().forEach(author -\u003e {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" Assertions.assertEquals(AUTHOR_ALIAS_COMMAS_AND_DOUBLE_QUOTES_MAP.get(author), author.getAuthorAliases());"},{"lineNumber":235,"author":{"gitId":"-"},"content":" });"},{"lineNumber":236,"author":{"gitId":"-"},"content":" }"},{"lineNumber":237,"author":{"gitId":"-"},"content":""},{"lineNumber":238,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":239,"author":{"gitId":"-"},"content":" public void authorConfig_multipleReposInRow_success() throws Exception {"},{"lineNumber":240,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser("},{"lineNumber":241,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_FILE);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" String defaultSpecifiedBranch \u003d \"master\";"},{"lineNumber":243,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" Assertions.assertEquals(4, configs.size());"},{"lineNumber":246,"author":{"gitId":"-"},"content":""},{"lineNumber":247,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":248,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/reposense/reposense.git\"), config.getLocation());"},{"lineNumber":249,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());"},{"lineNumber":250,"author":{"gitId":"-"},"content":""},{"lineNumber":251,"author":{"gitId":"-"},"content":" config \u003d configs.get(1);"},{"lineNumber":252,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/markbind/markbind.git\"), config.getLocation());"},{"lineNumber":253,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());"},{"lineNumber":254,"author":{"gitId":"-"},"content":""},{"lineNumber":255,"author":{"gitId":"-"},"content":" config \u003d configs.get(2);"},{"lineNumber":256,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/TEAMMATES/teammates.git\"), config.getLocation());"},{"lineNumber":257,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());"},{"lineNumber":258,"author":{"gitId":"-"},"content":""},{"lineNumber":259,"author":{"gitId":"-"},"content":" config \u003d configs.get(3);"},{"lineNumber":260,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/CATcher-org/CATcher.git\"), config.getLocation());"},{"lineNumber":261,"author":{"gitId":"-"},"content":" Assertions.assertEquals(defaultSpecifiedBranch, config.getBranch());"},{"lineNumber":262,"author":{"gitId":"-"},"content":" }"},{"lineNumber":263,"author":{"gitId":"-"},"content":""},{"lineNumber":264,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":265,"author":{"gitId":"-"},"content":" public void authorConfig_multipleReposInRowSingleBranchPerRepo_success() throws Exception {"},{"lineNumber":266,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser("},{"lineNumber":267,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_SINGLE_BRANCH_PER_REPO_FILE);"},{"lineNumber":268,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" Assertions.assertEquals(4, configs.size());"},{"lineNumber":271,"author":{"gitId":"-"},"content":""},{"lineNumber":272,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":273,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":274,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":275,"author":{"gitId":"-"},"content":""},{"lineNumber":276,"author":{"gitId":"-"},"content":" config \u003d configs.get(1);"},{"lineNumber":277,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":278,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"add-config-json\", config.getBranch());"},{"lineNumber":279,"author":{"gitId":"-"},"content":""},{"lineNumber":280,"author":{"gitId":"-"},"content":" config \u003d configs.get(2);"},{"lineNumber":281,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"https://github.com/reposense/RepoSense.git\"), config.getLocation());"},{"lineNumber":282,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"release\", config.getBranch());"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" config \u003d configs.get(3);"},{"lineNumber":285,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());"},{"lineNumber":286,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"master\", config.getBranch());"},{"lineNumber":287,"author":{"gitId":"-"},"content":" }"},{"lineNumber":288,"author":{"gitId":"-"},"content":""},{"lineNumber":289,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":290,"author":{"gitId":"-"},"content":" public void authorConfig_multipleReposInRowMultipleBranchPerRepo_success() throws Exception {"},{"lineNumber":291,"author":{"gitId":"-"},"content":" AuthorConfigCsvParser authorConfigCsvParser \u003d new AuthorConfigCsvParser("},{"lineNumber":292,"author":{"gitId":"-"},"content":" AUTHOR_CONFIG_MULTIPLE_REPO_IN_ROW_MULTIPLE_BRANCH_PER_REPO_FILE);"},{"lineNumber":293,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e configs \u003d authorConfigCsvParser.parse();"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" Assertions.assertEquals(5, configs.size());"},{"lineNumber":296,"author":{"gitId":"-"},"content":""},{"lineNumber":297,"author":{"gitId":"-"},"content":" AuthorConfiguration config \u003d configs.get(0);"},{"lineNumber":298,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":299,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"add-config-json\", config.getBranch());"},{"lineNumber":300,"author":{"gitId":"-"},"content":""},{"lineNumber":301,"author":{"gitId":"-"},"content":" config \u003d configs.get(1);"},{"lineNumber":302,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":303,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":304,"author":{"gitId":"-"},"content":""},{"lineNumber":305,"author":{"gitId":"-"},"content":" config \u003d configs.get(2);"},{"lineNumber":306,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());"},{"lineNumber":307,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"master\", config.getBranch());"},{"lineNumber":308,"author":{"gitId":"-"},"content":""},{"lineNumber":309,"author":{"gitId":"-"},"content":" config \u003d configs.get(3);"},{"lineNumber":310,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());"},{"lineNumber":311,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"release\", config.getBranch());"},{"lineNumber":312,"author":{"gitId":"-"},"content":""},{"lineNumber":313,"author":{"gitId":"-"},"content":" config \u003d configs.get(4);"},{"lineNumber":314,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(\"/Users/sikai/RepoSense\"), config.getLocation());"},{"lineNumber":315,"author":{"gitId":"-"},"content":" Assertions.assertEquals(\"gh-pages\", config.getBranch());"},{"lineNumber":316,"author":{"gitId":"-"},"content":" }"},{"lineNumber":317,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":315}},{"path":"src/test/java/reposense/parser/GroupConfigParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":12,"author":{"gitId":"-"},"content":""},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.model.FileType;"},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.GroupConfiguration;"},{"lineNumber":15,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;"},{"lineNumber":16,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"public class GroupConfigParserTest {"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_MULTI_LOCATION_FILE \u003d loadResource(GroupConfigParserTest.class,"},{"lineNumber":20,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_multipleLocation_test.csv\");"},{"lineNumber":21,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_EMPTY_LOCATION_FILE \u003d loadResource(GroupConfigParserTest.class,"},{"lineNumber":22,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_emptyLocation_test.csv\");"},{"lineNumber":23,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_DIFFERENT_COLUMN_ORDER_FILE \u003d loadResource(GroupConfigParserTest.class,"},{"lineNumber":24,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_differentColumnOrder_test.csv\");"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_MISSING_OPTIONAL_HEADER_FILE \u003d loadResource(GroupConfigParserTest.class,"},{"lineNumber":26,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_missingOptionalHeader_test.csv\");"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_MISSING_MANDATORY_HEADER_FILE \u003d loadResource(GroupConfigParserTest.class,"},{"lineNumber":28,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_missingMandatoryHeader_test.csv\");"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final Path GROUP_CONFIG_UNKNOWN_HEADER_FILE \u003d loadResource(GroupConfigParserTest.class,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"GroupConfigParserTest/groupconfig_unknownHeader_test.csv\");"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_LOCATION \u003d \"https://github.com/reposense/testrepo-Beta.git\";"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_BETA_GROUPS \u003d Arrays.asList("},{"lineNumber":34,"author":{"gitId":"-"},"content":" new FileType(\"Code\", Arrays.asList(\"**/*.java\", \"**/*.py\")),"},{"lineNumber":35,"author":{"gitId":"-"},"content":" new FileType(\"Docs\", Collections.singletonList(\"docs/**\")));"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA_LOCATION \u003d \"https://github.com/reposense/testrepo-Delta.git\";"},{"lineNumber":38,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_DELTA_GROUPS \u003d Arrays.asList("},{"lineNumber":39,"author":{"gitId":"-"},"content":" new FileType(\"Main\", Collections.singletonList(\"src/main/**\")),"},{"lineNumber":40,"author":{"gitId":"-"},"content":" new FileType(\"Test\", Arrays.asList(\"src/test/**\", \"src/systest/**\")));"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":43,"author":{"gitId":"-"},"content":" public void groupConfig_emptyLocation_success() throws Exception {"},{"lineNumber":44,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_EMPTY_LOCATION_FILE);"},{"lineNumber":45,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, groupConfigs.size());"},{"lineNumber":48,"author":{"gitId":"-"},"content":""},{"lineNumber":49,"author":{"gitId":"-"},"content":" GroupConfiguration actualReposenseConfig \u003d groupConfigs.get(0);"},{"lineNumber":50,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualReposenseConfig.getGroupsList().size());"},{"lineNumber":51,"author":{"gitId":"-"},"content":""},{"lineNumber":52,"author":{"gitId":"-"},"content":" GroupConfiguration actualEmptyLocationConfig \u003d groupConfigs.get(1);"},{"lineNumber":53,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualEmptyLocationConfig.getGroupsList().size());"},{"lineNumber":54,"author":{"gitId":"-"},"content":" }"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":57,"author":{"gitId":"-"},"content":" public void groupConfig_multipleLocations_success() throws Exception {"},{"lineNumber":58,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_MULTI_LOCATION_FILE);"},{"lineNumber":59,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, groupConfigs.size());"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" GroupConfiguration actualBetaConfig \u003d groupConfigs.get(0);"},{"lineNumber":64,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_LOCATION, actualBetaConfig.getLocation().toString());"},{"lineNumber":65,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_GROUPS, actualBetaConfig.getGroupsList());"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" GroupConfiguration actualDeltaConfig \u003d groupConfigs.get(1);"},{"lineNumber":68,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_LOCATION, actualDeltaConfig.getLocation().toString());"},{"lineNumber":69,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_GROUPS, actualDeltaConfig.getGroupsList());"},{"lineNumber":70,"author":{"gitId":"-"},"content":" }"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":73,"author":{"gitId":"-"},"content":" public void groupConfig_differentColumnOrder_success() throws Exception {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_DIFFERENT_COLUMN_ORDER_FILE);"},{"lineNumber":75,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, groupConfigs.size());"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" GroupConfiguration actualBetaConfig \u003d groupConfigs.get(0);"},{"lineNumber":80,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_LOCATION, actualBetaConfig.getLocation().toString());"},{"lineNumber":81,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_GROUPS, actualBetaConfig.getGroupsList());"},{"lineNumber":82,"author":{"gitId":"-"},"content":""},{"lineNumber":83,"author":{"gitId":"-"},"content":" GroupConfiguration actualDeltaConfig \u003d groupConfigs.get(1);"},{"lineNumber":84,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_LOCATION, actualDeltaConfig.getLocation().toString());"},{"lineNumber":85,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_GROUPS, actualDeltaConfig.getGroupsList());"},{"lineNumber":86,"author":{"gitId":"-"},"content":" }"},{"lineNumber":87,"author":{"gitId":"-"},"content":""},{"lineNumber":88,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":89,"author":{"gitId":"-"},"content":" public void groupConfig_missingOptionalHeader_success() throws Exception {"},{"lineNumber":90,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser(GROUP_CONFIG_MISSING_OPTIONAL_HEADER_FILE);"},{"lineNumber":91,"author":{"gitId":"-"},"content":" List\u003cGroupConfiguration\u003e groupConfigs \u003d groupConfigCsvParser.parse();"},{"lineNumber":92,"author":{"gitId":"-"},"content":""},{"lineNumber":93,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, groupConfigs.size());"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" Assertions.assertEquals(3, groupConfigs.get(0).getGroupsList().size());"},{"lineNumber":96,"author":{"gitId":"-"},"content":" }"},{"lineNumber":97,"author":{"gitId":"-"},"content":""},{"lineNumber":98,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":99,"author":{"gitId":"-"},"content":" public void groupConfig_missingMandatoryHeader_throwsInvalidCsvException() throws Exception {"},{"lineNumber":100,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser("},{"lineNumber":101,"author":{"gitId":"-"},"content":" GROUP_CONFIG_MISSING_MANDATORY_HEADER_FILE);"},{"lineNumber":102,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e groupConfigCsvParser.parse());"},{"lineNumber":103,"author":{"gitId":"-"},"content":" }"},{"lineNumber":104,"author":{"gitId":"-"},"content":""},{"lineNumber":105,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":106,"author":{"gitId":"-"},"content":" public void groupConfig_unknownHeader_throwsInvalidHeaderException() throws Exception {"},{"lineNumber":107,"author":{"gitId":"-"},"content":" GroupConfigCsvParser groupConfigCsvParser \u003d new GroupConfigCsvParser("},{"lineNumber":108,"author":{"gitId":"-"},"content":" GROUP_CONFIG_UNKNOWN_HEADER_FILE);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidHeaderException.class, () -\u003e groupConfigCsvParser.parse());"},{"lineNumber":110,"author":{"gitId":"-"},"content":" }"},{"lineNumber":111,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":2,"-":109}},{"path":"src/test/java/reposense/parser/RepoConfigParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.apache.tools.ant.types.Commandline.translateCommandline;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import static reposense.model.RepoConfiguration.DEFAULT_FILE_SIZE_LIMIT;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.ArrayList;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.AuthorConfiguration;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.CliArguments;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.FileType;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":22,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidCsvException;"},{"lineNumber":23,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidHeaderException;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.util.InputBuilder;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;"},{"lineNumber":26,"author":{"gitId":"-"},"content":""},{"lineNumber":27,"author":{"gitId":"-"},"content":"public class RepoConfigParserTest {"},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final Path TEST_CONFIG_FOLDER \u003d loadResource(RepoConfigParserTest.class, \"repoconfig_merge_test\");"},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final Path TEST_EMPTY_BRANCH_CONFIG_FOLDER \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"repoconfig_empty_branch_test\");"},{"lineNumber":31,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_NO_SPECIAL_CHARACTER_FILE \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":32,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_noSpecialCharacter_test.csv\");"},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_OVERRIDE_KEYWORD_FILE \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_overrideKeyword_test.csv\");"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_REDUNDANT_LINES_FILE \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":36,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/require_trailing_whitespaces/repoconfig_redundantLines_test.csv\");"},{"lineNumber":37,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_UNRECOGNIZED_VALUES_FOR_YES_KEYWORD_HEADERS_FILE \u003d"},{"lineNumber":38,"author":{"gitId":"-"},"content":" loadResource(RepoConfigParserTest.class,"},{"lineNumber":39,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_unrecognizedValuesForYesKeywordHeaders_test.csv\");"},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_DUPLICATE_HEADERS_CASE_SENSITIVE_FILE \u003d"},{"lineNumber":41,"author":{"gitId":"-"},"content":" loadResource(RepoConfigParserTest.class,"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_duplicateHeadersCaseSensitive_test.csv\");"},{"lineNumber":43,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_DUPLICATE_HEADERS_CASE_INSENSITIVE_FILE \u003d"},{"lineNumber":44,"author":{"gitId":"-"},"content":" loadResource(RepoConfigParserTest.class,"},{"lineNumber":45,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_duplicateHeadersCaseInsensitive_test.csv\");"},{"lineNumber":46,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_DIFFERENT_COLUMN_ORDER_FILE \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":47,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_differentColumnOrder_test.csv\");"},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_OPTIONAL_HEADER_MISSING_FILE \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":49,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_missingOptionalHeader_test.csv\");"},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_MANDATORY_HEADER_MISSING_FILE \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":51,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_missingMandatoryHeader_test.csv\");"},{"lineNumber":52,"author":{"gitId":"-"},"content":" private static final Path MERGE_EMPTY_LOCATION_FOLDER \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":53,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_merge_empty_location_test\");"},{"lineNumber":54,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_UNKNOWN_HEADER_FILE \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":55,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_unknownHeaders_test.csv\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_INVALID_FILE_SIZE_LIMIT \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":57,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_invalidFileSizeLimit_test.csv\");"},{"lineNumber":58,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_IGNORE_FILE_SIZE_LIMIT \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":59,"author":{"gitId":"-"},"content":" \"RepoConfigParserTest/repoconfig_ignoreFileSizeLimit_test.csv\");"},{"lineNumber":60,"author":{"gitId":"-"},"content":" private static final Path REPO_CONFIG_ZERO_VALID_RECORDS \u003d loadResource(RepoConfigParserTest.class,"},{"lineNumber":61,"author":{"gitId":"-"},"content":" \"CsvParserTest/repoconfig_zeroValidRecords_test.csv\");"},{"lineNumber":62,"author":{"gitId":"-"},"content":""},{"lineNumber":63,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_LOCATION \u003d \"https://github.com/reposense/testrepo-Beta.git\";"},{"lineNumber":64,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_MASTER_BRANCH \u003d \"master\";"},{"lineNumber":65,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_BETA_ADD_CONFIG_JSON_BRANCH \u003d \"add-config-json\";"},{"lineNumber":66,"author":{"gitId":"-"},"content":""},{"lineNumber":67,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA_LOCATION \u003d \"https://github.com/reposense/testrepo-Delta.git\";"},{"lineNumber":68,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_DELTA_BRANCH \u003d \"HEAD\";"},{"lineNumber":69,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_DELTA_FORMATS \u003d"},{"lineNumber":70,"author":{"gitId":"-"},"content":" FileType.convertFormatStringsToFileTypes(Arrays.asList(\"java\", \"fxml\"));"},{"lineNumber":71,"author":{"gitId":"-"},"content":""},{"lineNumber":72,"author":{"gitId":"-"},"content":" private static final List\u003cFileType\u003e TEST_REPO_BETA_CONFIG_FORMATS \u003d"},{"lineNumber":73,"author":{"gitId":"-"},"content":" FileType.convertFormatStringsToFileTypes(Arrays.asList(\"java\", \"adoc\", \"md\"));"},{"lineNumber":74,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e TEST_REPO_BETA_CONFIG_IGNORED_COMMITS \u003d"},{"lineNumber":75,"author":{"gitId":"-"},"content":" Arrays.asList(\"abcde12345\", \"67890fdecba\");"},{"lineNumber":76,"author":{"gitId":"-"},"content":""},{"lineNumber":77,"author":{"gitId":"-"},"content":" private static final int FILE_SIZE_LIMIT_VALUE \u003d 100000;"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_CHARLIE_LOCATION \u003d \"https://github.com/reposense/testrepo-Charlie.git\";"},{"lineNumber":80,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_CHARLIE_BRANCH \u003d \"HEAD\";"},{"lineNumber":81,"author":{"gitId":"-"},"content":""},{"lineNumber":82,"author":{"gitId":"-"},"content":" private static final Author FIRST_AUTHOR \u003d new Author(\"nbriannl\");"},{"lineNumber":83,"author":{"gitId":"-"},"content":" private static final Author SECOND_AUTHOR \u003d new Author(\"zacharytang\");"},{"lineNumber":84,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_ALIASES \u003d Arrays.asList(\"Zachary Tang\");"},{"lineNumber":85,"author":{"gitId":"-"},"content":""},{"lineNumber":86,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e REPO_LEVEL_GLOB_LIST \u003d Arrays.asList(\"collated**\");"},{"lineNumber":87,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e FIRST_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"**.java\", \"collated**\");"},{"lineNumber":88,"author":{"gitId":"-"},"content":" private static final List\u003cString\u003e SECOND_AUTHOR_GLOB_LIST \u003d Arrays.asList(\"**.doc\", \"collated**\");"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":91,"author":{"gitId":"-"},"content":" public void repoConfig_noSpecialCharacter_success() throws Exception {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_NO_SPECIAL_CHARACTER_FILE);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);"},{"lineNumber":98,"author":{"gitId":"-"},"content":""},{"lineNumber":99,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":100,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());"},{"lineNumber":103,"author":{"gitId":"-"},"content":""},{"lineNumber":104,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isStandaloneConfigIgnored());"},{"lineNumber":105,"author":{"gitId":"-"},"content":""},{"lineNumber":106,"author":{"gitId":"-"},"content":" Assertions.assertEquals(config.getIgnoreCommitList(),"},{"lineNumber":107,"author":{"gitId":"-"},"content":" CommitHash.convertStringsToCommits(TEST_REPO_BETA_CONFIG_IGNORED_COMMITS));"},{"lineNumber":108,"author":{"gitId":"-"},"content":" Assertions.assertEquals(config.getFileSizeLimit(), FILE_SIZE_LIMIT_VALUE);"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isShallowCloningPerformed());"},{"lineNumber":111,"author":{"gitId":"-"},"content":""},{"lineNumber":112,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFormatsOverriding());"},{"lineNumber":113,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreGlobListOverriding());"},{"lineNumber":114,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreCommitListOverriding());"},{"lineNumber":115,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFileSizeLimitOverriding());"},{"lineNumber":116,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFileSizeLimitIgnored());"},{"lineNumber":117,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isIgnoredFileAnalysisSkipped());"},{"lineNumber":118,"author":{"gitId":"-"},"content":" }"},{"lineNumber":119,"author":{"gitId":"-"},"content":""},{"lineNumber":120,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":121,"author":{"gitId":"-"},"content":" public void merge_twoRepoConfigs_success() throws Exception {"},{"lineNumber":122,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setIgnoreGlobList(FIRST_AUTHOR_GLOB_LIST);"},{"lineNumber":123,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setIgnoreGlobList(SECOND_AUTHOR_GLOB_LIST);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setAuthorAliases(SECOND_AUTHOR_ALIASES);"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedAuthors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":127,"author":{"gitId":"-"},"content":" expectedAuthors.add(FIRST_AUTHOR);"},{"lineNumber":128,"author":{"gitId":"-"},"content":" expectedAuthors.add(SECOND_AUTHOR);"},{"lineNumber":129,"author":{"gitId":"-"},"content":""},{"lineNumber":130,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration firstRepo \u003d new RepoConfiguration.Builder()"},{"lineNumber":131,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))"},{"lineNumber":132,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_BETA_MASTER_BRANCH)"},{"lineNumber":133,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":134,"author":{"gitId":"-"},"content":" firstRepo.setAuthorList(expectedAuthors);"},{"lineNumber":135,"author":{"gitId":"-"},"content":" firstRepo.setAuthorDisplayName(FIRST_AUTHOR, \"Nbr\");"},{"lineNumber":136,"author":{"gitId":"-"},"content":" firstRepo.setAuthorDisplayName(SECOND_AUTHOR, \"Zac\");"},{"lineNumber":137,"author":{"gitId":"-"},"content":" firstRepo.addAuthorNamesToAuthorMapEntry(SECOND_AUTHOR, Arrays.asList(\"Zachary Tang\"));"},{"lineNumber":138,"author":{"gitId":"-"},"content":" firstRepo.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration secondRepo \u003d new RepoConfiguration.Builder()"},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))"},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_BETA_ADD_CONFIG_JSON_BRANCH)"},{"lineNumber":143,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":144,"author":{"gitId":"-"},"content":" secondRepo.setAuthorList(Arrays.asList(SECOND_AUTHOR));"},{"lineNumber":145,"author":{"gitId":"-"},"content":" secondRepo.setAuthorDisplayName(SECOND_AUTHOR, \"Zac\");"},{"lineNumber":146,"author":{"gitId":"-"},"content":" secondRepo.addAuthorNamesToAuthorMapEntry(SECOND_AUTHOR, Arrays.asList(\"Zachary Tang\"));"},{"lineNumber":147,"author":{"gitId":"-"},"content":" secondRepo.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":148,"author":{"gitId":"-"},"content":""},{"lineNumber":149,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(TEST_CONFIG_FOLDER).build();"},{"lineNumber":150,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":151,"author":{"gitId":"-"},"content":""},{"lineNumber":152,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":153,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":154,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d"},{"lineNumber":155,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();"},{"lineNumber":156,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);"},{"lineNumber":157,"author":{"gitId":"-"},"content":""},{"lineNumber":158,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualConfigs.size());"},{"lineNumber":159,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(firstRepo, actualConfigs.get(0));"},{"lineNumber":160,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(secondRepo, actualConfigs.get(1));"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":""},{"lineNumber":163,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":164,"author":{"gitId":"-"},"content":" public void merge_emptyLocation_success() throws Exception {"},{"lineNumber":165,"author":{"gitId":"-"},"content":" FIRST_AUTHOR.setIgnoreGlobList(FIRST_AUTHOR_GLOB_LIST);"},{"lineNumber":166,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":167,"author":{"gitId":"-"},"content":" SECOND_AUTHOR.setAuthorAliases(SECOND_AUTHOR_ALIASES);"},{"lineNumber":168,"author":{"gitId":"-"},"content":""},{"lineNumber":169,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedBetaAuthors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":170,"author":{"gitId":"-"},"content":" expectedBetaAuthors.add(FIRST_AUTHOR);"},{"lineNumber":171,"author":{"gitId":"-"},"content":" expectedBetaAuthors.add(SECOND_AUTHOR);"},{"lineNumber":172,"author":{"gitId":"-"},"content":""},{"lineNumber":173,"author":{"gitId":"-"},"content":" List\u003cAuthor\u003e expectedDeltaAuthors \u003d new ArrayList\u003c\u003e();"},{"lineNumber":174,"author":{"gitId":"-"},"content":" expectedDeltaAuthors.add(FIRST_AUTHOR);"},{"lineNumber":175,"author":{"gitId":"-"},"content":""},{"lineNumber":176,"author":{"gitId":"-"},"content":" RepoConfiguration expectedBetaConfig \u003d"},{"lineNumber":177,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":178,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))"},{"lineNumber":179,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_BETA_MASTER_BRANCH)"},{"lineNumber":180,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":181,"author":{"gitId":"-"},"content":" expectedBetaConfig.setAuthorList(expectedBetaAuthors);"},{"lineNumber":182,"author":{"gitId":"-"},"content":" expectedBetaConfig.setAuthorDisplayName(FIRST_AUTHOR, \"Nbr\");"},{"lineNumber":183,"author":{"gitId":"-"},"content":" expectedBetaConfig.setAuthorDisplayName(SECOND_AUTHOR, \"Zac\");"},{"lineNumber":184,"author":{"gitId":"-"},"content":" expectedBetaConfig.addAuthorNamesToAuthorMapEntry(SECOND_AUTHOR, Arrays.asList(\"Zachary Tang\"));"},{"lineNumber":185,"author":{"gitId":"-"},"content":" expectedBetaConfig.setIgnoreGlobList(REPO_LEVEL_GLOB_LIST);"},{"lineNumber":186,"author":{"gitId":"-"},"content":" expectedBetaConfig.setIsShallowCloningPerformed(true);"},{"lineNumber":187,"author":{"gitId":"-"},"content":""},{"lineNumber":188,"author":{"gitId":"-"},"content":" RepoConfiguration expectedDeltaConfig \u003d"},{"lineNumber":189,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":190,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_DELTA_LOCATION))"},{"lineNumber":191,"author":{"gitId":"asdfghjkxd"},"content":" .branch(TEST_REPO_DELTA_BRANCH)"},{"lineNumber":192,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":193,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setAuthorList(expectedDeltaAuthors);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setAuthorDisplayName(FIRST_AUTHOR, \"Nbr\");"},{"lineNumber":195,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setStandaloneConfigIgnored(true);"},{"lineNumber":196,"author":{"gitId":"-"},"content":" expectedDeltaConfig.setFormats(TEST_REPO_DELTA_FORMATS);"},{"lineNumber":197,"author":{"gitId":"-"},"content":""},{"lineNumber":198,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e expectedConfigs \u003d new ArrayList\u003c\u003e();"},{"lineNumber":199,"author":{"gitId":"-"},"content":" expectedConfigs.add(expectedBetaConfig);"},{"lineNumber":200,"author":{"gitId":"-"},"content":" expectedConfigs.add(expectedDeltaConfig);"},{"lineNumber":201,"author":{"gitId":"-"},"content":""},{"lineNumber":202,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(MERGE_EMPTY_LOCATION_FOLDER).build();"},{"lineNumber":203,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":204,"author":{"gitId":"-"},"content":""},{"lineNumber":205,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":206,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":207,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d"},{"lineNumber":208,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();"},{"lineNumber":209,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);"},{"lineNumber":210,"author":{"gitId":"-"},"content":""},{"lineNumber":211,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, actualConfigs.size());"},{"lineNumber":212,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfigs, actualConfigs);"},{"lineNumber":213,"author":{"gitId":"-"},"content":""},{"lineNumber":214,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfigs.get(0), actualConfigs.get(0));"},{"lineNumber":215,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedConfigs.get(1), actualConfigs.get(1));"},{"lineNumber":216,"author":{"gitId":"-"},"content":" }"},{"lineNumber":217,"author":{"gitId":"-"},"content":""},{"lineNumber":218,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":219,"author":{"gitId":"-"},"content":" public void repoConfig_defaultBranch_success() throws Exception {"},{"lineNumber":220,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration expectedConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":221,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_BETA_LOCATION))"},{"lineNumber":222,"author":{"gitId":"asdfghjkxd"},"content":" .branch(RepoConfiguration.DEFAULT_BRANCH)"},{"lineNumber":223,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":224,"author":{"gitId":"-"},"content":""},{"lineNumber":225,"author":{"gitId":"-"},"content":" String input \u003d new InputBuilder().addConfig(TEST_EMPTY_BRANCH_CONFIG_FOLDER).build();"},{"lineNumber":226,"author":{"gitId":"-"},"content":" CliArguments cliArguments \u003d ArgsParser.parse(translateCommandline(input));"},{"lineNumber":227,"author":{"gitId":"-"},"content":""},{"lineNumber":228,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e actualConfigs \u003d"},{"lineNumber":229,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(cliArguments.getRepoConfigFilePath()).parse();"},{"lineNumber":230,"author":{"gitId":"-"},"content":" List\u003cAuthorConfiguration\u003e authorConfigs \u003d"},{"lineNumber":231,"author":{"gitId":"-"},"content":" new AuthorConfigCsvParser(cliArguments.getAuthorConfigFilePath()).parse();"},{"lineNumber":232,"author":{"gitId":"-"},"content":" RepoConfiguration.merge(actualConfigs, authorConfigs);"},{"lineNumber":233,"author":{"gitId":"-"},"content":""},{"lineNumber":234,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, actualConfigs.size());"},{"lineNumber":235,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getBranch(), actualConfigs.get(0).getBranch());"},{"lineNumber":236,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedConfig.getBranch(), authorConfigs.get(0).getBranch());"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":""},{"lineNumber":239,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":240,"author":{"gitId":"-"},"content":" public void repoConfig_overrideKeyword_success() throws Exception {"},{"lineNumber":241,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_OVERRIDE_KEYWORD_FILE);"},{"lineNumber":242,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":243,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);"},{"lineNumber":244,"author":{"gitId":"-"},"content":""},{"lineNumber":245,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":246,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":247,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":248,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());"},{"lineNumber":249,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isStandaloneConfigIgnored());"},{"lineNumber":250,"author":{"gitId":"-"},"content":" Assertions.assertEquals(CommitHash.convertStringsToCommits(TEST_REPO_BETA_CONFIG_IGNORED_COMMITS),"},{"lineNumber":251,"author":{"gitId":"-"},"content":" config.getIgnoreCommitList());"},{"lineNumber":252,"author":{"gitId":"-"},"content":" Assertions.assertEquals(FILE_SIZE_LIMIT_VALUE, config.getFileSizeLimit());"},{"lineNumber":253,"author":{"gitId":"-"},"content":""},{"lineNumber":254,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isFormatsOverriding());"},{"lineNumber":255,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isIgnoreGlobListOverriding());"},{"lineNumber":256,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isIgnoreCommitListOverriding());"},{"lineNumber":257,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isFileSizeLimitOverriding());"},{"lineNumber":258,"author":{"gitId":"-"},"content":" }"},{"lineNumber":259,"author":{"gitId":"-"},"content":""},{"lineNumber":260,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":261,"author":{"gitId":"-"},"content":" public void repoConfig_redundantLines_success() throws Exception {"},{"lineNumber":262,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_REDUNDANT_LINES_FILE);"},{"lineNumber":263,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":264,"author":{"gitId":"-"},"content":""},{"lineNumber":265,"author":{"gitId":"-"},"content":" Assertions.assertEquals(3, configs.size());"},{"lineNumber":266,"author":{"gitId":"-"},"content":" RepoConfiguration betaConfig \u003d configs.get(0);"},{"lineNumber":267,"author":{"gitId":"-"},"content":" RepoConfiguration charlieConfig \u003d configs.get(1);"},{"lineNumber":268,"author":{"gitId":"-"},"content":" RepoConfiguration deltaConfig \u003d configs.get(2);"},{"lineNumber":269,"author":{"gitId":"-"},"content":""},{"lineNumber":270,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), betaConfig.getLocation());"},{"lineNumber":271,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, betaConfig.getBranch());"},{"lineNumber":272,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_CHARLIE_LOCATION), charlieConfig.getLocation());"},{"lineNumber":273,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_CHARLIE_BRANCH, charlieConfig.getBranch());"},{"lineNumber":274,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_DELTA_LOCATION), deltaConfig.getLocation());"},{"lineNumber":275,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_DELTA_BRANCH, deltaConfig.getBranch());"},{"lineNumber":276,"author":{"gitId":"-"},"content":" Assertions.assertTrue(deltaConfig.isStandaloneConfigIgnored());"},{"lineNumber":277,"author":{"gitId":"-"},"content":" }"},{"lineNumber":278,"author":{"gitId":"-"},"content":""},{"lineNumber":279,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":280,"author":{"gitId":"-"},"content":" public void repoConfig_differentColumnOrder_success() throws Exception {"},{"lineNumber":281,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_DIFFERENT_COLUMN_ORDER_FILE);"},{"lineNumber":282,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":283,"author":{"gitId":"-"},"content":""},{"lineNumber":284,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":285,"author":{"gitId":"-"},"content":""},{"lineNumber":286,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);"},{"lineNumber":287,"author":{"gitId":"-"},"content":""},{"lineNumber":288,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":289,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":290,"author":{"gitId":"-"},"content":""},{"lineNumber":291,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());"},{"lineNumber":292,"author":{"gitId":"-"},"content":""},{"lineNumber":293,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isStandaloneConfigIgnored());"},{"lineNumber":294,"author":{"gitId":"-"},"content":""},{"lineNumber":295,"author":{"gitId":"-"},"content":" Assertions.assertEquals(config.getIgnoreCommitList(),"},{"lineNumber":296,"author":{"gitId":"-"},"content":" CommitHash.convertStringsToCommits(TEST_REPO_BETA_CONFIG_IGNORED_COMMITS));"},{"lineNumber":297,"author":{"gitId":"-"},"content":""},{"lineNumber":298,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFormatsOverriding());"},{"lineNumber":299,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreGlobListOverriding());"},{"lineNumber":300,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreCommitListOverriding());"},{"lineNumber":301,"author":{"gitId":"-"},"content":" }"},{"lineNumber":302,"author":{"gitId":"-"},"content":""},{"lineNumber":303,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":304,"author":{"gitId":"-"},"content":" public void repoConfig_missingOptionalHeader_success() throws Exception {"},{"lineNumber":305,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_OPTIONAL_HEADER_MISSING_FILE);"},{"lineNumber":306,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":307,"author":{"gitId":"-"},"content":""},{"lineNumber":308,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, configs.size());"},{"lineNumber":309,"author":{"gitId":"-"},"content":""},{"lineNumber":310,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d configs.get(0);"},{"lineNumber":311,"author":{"gitId":"-"},"content":""},{"lineNumber":312,"author":{"gitId":"-"},"content":" Assertions.assertEquals(new RepoLocation(TEST_REPO_BETA_LOCATION), config.getLocation());"},{"lineNumber":313,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_MASTER_BRANCH, config.getBranch());"},{"lineNumber":314,"author":{"gitId":"-"},"content":""},{"lineNumber":315,"author":{"gitId":"-"},"content":" Assertions.assertEquals(TEST_REPO_BETA_CONFIG_FORMATS, config.getFileTypeManager().getFormats());"},{"lineNumber":316,"author":{"gitId":"-"},"content":" Assertions.assertEquals(DEFAULT_FILE_SIZE_LIMIT, config.getFileSizeLimit());"},{"lineNumber":317,"author":{"gitId":"-"},"content":""},{"lineNumber":318,"author":{"gitId":"-"},"content":" Assertions.assertTrue(config.isStandaloneConfigIgnored());"},{"lineNumber":319,"author":{"gitId":"-"},"content":""},{"lineNumber":320,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFormatsOverriding());"},{"lineNumber":321,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreGlobListOverriding());"},{"lineNumber":322,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isIgnoreCommitListOverriding());"},{"lineNumber":323,"author":{"gitId":"-"},"content":" Assertions.assertFalse(config.isFileSizeLimitOverriding());"},{"lineNumber":324,"author":{"gitId":"-"},"content":" }"},{"lineNumber":325,"author":{"gitId":"-"},"content":""},{"lineNumber":326,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":327,"author":{"gitId":"-"},"content":" public void repoConfig_withUnrecognizedValuesForYesKeywordHeaders_valuesIgnored() throws Exception {"},{"lineNumber":328,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d"},{"lineNumber":329,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_UNRECOGNIZED_VALUES_FOR_YES_KEYWORD_HEADERS_FILE);"},{"lineNumber":330,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":331,"author":{"gitId":"-"},"content":""},{"lineNumber":332,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isStandaloneConfigIgnored());"},{"lineNumber":333,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isShallowCloningPerformed());"},{"lineNumber":334,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFindingPreviousAuthorsPerformed());"},{"lineNumber":335,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFileSizeLimitIgnored());"},{"lineNumber":336,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isIgnoredFileAnalysisSkipped());"},{"lineNumber":337,"author":{"gitId":"-"},"content":" }"},{"lineNumber":338,"author":{"gitId":"-"},"content":""},{"lineNumber":339,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":340,"author":{"gitId":"-"},"content":" public void repoConfig_invalidFileSizeLimit_valueIgnored() throws Exception {"},{"lineNumber":341,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d"},{"lineNumber":342,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_INVALID_FILE_SIZE_LIMIT);"},{"lineNumber":343,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":344,"author":{"gitId":"-"},"content":""},{"lineNumber":345,"author":{"gitId":"-"},"content":" Assertions.assertEquals(configs.get(0).getFileSizeLimit(), DEFAULT_FILE_SIZE_LIMIT);"},{"lineNumber":346,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFileSizeLimitOverriding());"},{"lineNumber":347,"author":{"gitId":"-"},"content":" }"},{"lineNumber":348,"author":{"gitId":"-"},"content":""},{"lineNumber":349,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":350,"author":{"gitId":"-"},"content":" public void repoConfig_ignoreFileSizeLimit_ignoreFileSizeColumns() throws Exception {"},{"lineNumber":351,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d"},{"lineNumber":352,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_IGNORE_FILE_SIZE_LIMIT);"},{"lineNumber":353,"author":{"gitId":"-"},"content":" List\u003cRepoConfiguration\u003e configs \u003d repoConfigCsvParser.parse();"},{"lineNumber":354,"author":{"gitId":"-"},"content":""},{"lineNumber":355,"author":{"gitId":"-"},"content":" Assertions.assertTrue(configs.get(0).isFileSizeLimitIgnored());"},{"lineNumber":356,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isFileSizeLimitOverriding());"},{"lineNumber":357,"author":{"gitId":"-"},"content":" Assertions.assertFalse(configs.get(0).isIgnoredFileAnalysisSkipped());"},{"lineNumber":358,"author":{"gitId":"-"},"content":" }"},{"lineNumber":359,"author":{"gitId":"-"},"content":""},{"lineNumber":360,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":361,"author":{"gitId":"-"},"content":" public void repoConfig_mandatoryHeaderMissing_throwsInvalidCsvException() throws Exception {"},{"lineNumber":362,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_MANDATORY_HEADER_MISSING_FILE);"},{"lineNumber":363,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());"},{"lineNumber":364,"author":{"gitId":"-"},"content":" }"},{"lineNumber":365,"author":{"gitId":"-"},"content":""},{"lineNumber":366,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":367,"author":{"gitId":"-"},"content":" public void repoConfig_zeroValidRecords_throwsInvalidCsvException() throws Exception {"},{"lineNumber":368,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d new RepoConfigCsvParser(REPO_CONFIG_ZERO_VALID_RECORDS);"},{"lineNumber":369,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());"},{"lineNumber":370,"author":{"gitId":"-"},"content":" }"},{"lineNumber":371,"author":{"gitId":"-"},"content":""},{"lineNumber":372,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":373,"author":{"gitId":"-"},"content":" public void repoConfig_duplicateHeadersCaseSensitive_throwsInvalidCsvException() throws Exception {"},{"lineNumber":374,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d"},{"lineNumber":375,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_DUPLICATE_HEADERS_CASE_SENSITIVE_FILE);"},{"lineNumber":376,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());"},{"lineNumber":377,"author":{"gitId":"-"},"content":" }"},{"lineNumber":378,"author":{"gitId":"-"},"content":""},{"lineNumber":379,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":380,"author":{"gitId":"-"},"content":" public void repoConfig_duplicateHeadersCaseInsensitive_throwsInvalidCsvException() throws Exception {"},{"lineNumber":381,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d"},{"lineNumber":382,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_DUPLICATE_HEADERS_CASE_INSENSITIVE_FILE);"},{"lineNumber":383,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidCsvException.class, () -\u003e repoConfigCsvParser.parse());"},{"lineNumber":384,"author":{"gitId":"-"},"content":" }"},{"lineNumber":385,"author":{"gitId":"-"},"content":""},{"lineNumber":386,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":387,"author":{"gitId":"-"},"content":" public void repoConfig_unknownHeaders_throwsInvalidHeaderException() throws Exception {"},{"lineNumber":388,"author":{"gitId":"-"},"content":" RepoConfigCsvParser repoConfigCsvParser \u003d"},{"lineNumber":389,"author":{"gitId":"-"},"content":" new RepoConfigCsvParser(REPO_CONFIG_UNKNOWN_HEADER_FILE);"},{"lineNumber":390,"author":{"gitId":"-"},"content":" Assertions.assertThrows(InvalidHeaderException.class, () -\u003e repoConfigCsvParser.parse());"},{"lineNumber":391,"author":{"gitId":"-"},"content":" }"},{"lineNumber":392,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":22,"-":370}},{"path":"src/test/java/reposense/parser/StandaloneConfigJsonParserTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.parser;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static reposense.util.TestUtil.loadResource;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":7,"author":{"gitId":"-"},"content":""},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":11,"author":{"gitId":"-"},"content":""},{"lineNumber":12,"author":{"gitId":"-"},"content":"import com.google.gson.JsonSyntaxException;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import reposense.model.FileType;"},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.model.StandaloneConfig;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.util.TestUtil;"},{"lineNumber":22,"author":{"gitId":"-"},"content":""},{"lineNumber":23,"author":{"gitId":"-"},"content":"public class StandaloneConfigJsonParserTest {"},{"lineNumber":24,"author":{"gitId":"-"},"content":""},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_MALFORMED_CONFIG \u003d loadResource("},{"lineNumber":26,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class, \"StandaloneConfigJsonParserTest/standaloneConfig_malformedJson.json\");"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_UNKNOWN_PROPERTY_CONFIG \u003d loadResource("},{"lineNumber":29,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,"},{"lineNumber":30,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_unknownPropertyInJson.json\");"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_FULL \u003d loadResource("},{"lineNumber":33,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,"},{"lineNumber":34,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_full.json\");"},{"lineNumber":35,"author":{"gitId":"-"},"content":""},{"lineNumber":36,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_EMPTY_TEXT_FILE \u003d loadResource("},{"lineNumber":37,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,"},{"lineNumber":38,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_emptyText.json\");"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_EMPTY_JSON_FILE \u003d loadResource("},{"lineNumber":41,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,"},{"lineNumber":42,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_emptyJson.json\");"},{"lineNumber":43,"author":{"gitId":"-"},"content":""},{"lineNumber":44,"author":{"gitId":"-"},"content":" private static final Path STANDALONE_CONFIG_GITHUBID_ONLY \u003d loadResource("},{"lineNumber":45,"author":{"gitId":"-"},"content":" StandaloneConfigJsonParserTest.class,"},{"lineNumber":46,"author":{"gitId":"-"},"content":" \"StandaloneConfigJsonParserTest/standaloneConfig_githubId_only.json\");"},{"lineNumber":47,"author":{"gitId":"-"},"content":""},{"lineNumber":48,"author":{"gitId":"-"},"content":" private static final String TEST_DUMMY_LOCATION \u003d \"https://github.com/reposense/RepoSense.git\";"},{"lineNumber":49,"author":{"gitId":"-"},"content":""},{"lineNumber":50,"author":{"gitId":"-"},"content":" private static RepoConfiguration expectedGithubIdOnlyRepoconfig;"},{"lineNumber":51,"author":{"gitId":"-"},"content":" private static RepoConfiguration expectedFullRepoConfig;"},{"lineNumber":52,"author":{"gitId":"-"},"content":""},{"lineNumber":53,"author":{"gitId":"-"},"content":" @BeforeAll"},{"lineNumber":54,"author":{"gitId":"-"},"content":" public static void setUp() throws Exception {"},{"lineNumber":55,"author":{"gitId":"-"},"content":" Author author \u003d new Author(\"yong24s\");"},{"lineNumber":56,"author":{"gitId":"-"},"content":" author.setAuthorAliases(Arrays.asList(\"Yong Hao TENG\"));"},{"lineNumber":57,"author":{"gitId":"-"},"content":" author.setIgnoreGlobList(Arrays.asList(\"**.css\", \"**.html\", \"**.jade\", \"**.js\"));"},{"lineNumber":58,"author":{"gitId":"-"},"content":""},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" expectedGithubIdOnlyRepoconfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":60,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_DUMMY_LOCATION)).build();"},{"lineNumber":61,"author":{"gitId":"-"},"content":" expectedGithubIdOnlyRepoconfig.setFormats(FileTypeTest.NO_SPECIFIED_FORMATS);"},{"lineNumber":62,"author":{"gitId":"-"},"content":" expectedGithubIdOnlyRepoconfig.setAuthorList(Arrays.asList(new Author(\"yong24s\")));"},{"lineNumber":63,"author":{"gitId":"-"},"content":" expectedGithubIdOnlyRepoconfig.addAuthorEmailsToAuthorMapEntry(author, author.getEmails());"},{"lineNumber":64,"author":{"gitId":"-"},"content":""},{"lineNumber":65,"author":{"gitId":"asdfghjkxd"},"content":" expectedFullRepoConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":66,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_DUMMY_LOCATION)).build();"},{"lineNumber":67,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setFormats(FileType.convertFormatStringsToFileTypes("},{"lineNumber":68,"author":{"gitId":"-"},"content":" Arrays.asList(\"gradle\", \"jade\", \"java\", \"js\", \"md\", \"scss\", \"yml\")));"},{"lineNumber":69,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setIgnoreCommitList(Arrays.asList(new CommitHash("},{"lineNumber":70,"author":{"gitId":"-"},"content":" \"7b96c563eb2d3612aa5275364333664a18f01491\")));"},{"lineNumber":71,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setIgnoreGlobList(Arrays.asList(\"**.adoc\", \"collate**\"));"},{"lineNumber":72,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setIgnoredAuthorsList(Arrays.asList(\"yong24s\"));"},{"lineNumber":73,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setAuthorList(Arrays.asList(author));"},{"lineNumber":74,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.setAuthorDisplayName(author, \"Yong Hao\");"},{"lineNumber":75,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.addAuthorNamesToAuthorMapEntry(author, Arrays.asList(author.getGitId()));"},{"lineNumber":76,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.addAuthorNamesToAuthorMapEntry(author, author.getAuthorAliases());"},{"lineNumber":77,"author":{"gitId":"-"},"content":" expectedFullRepoConfig.addAuthorEmailsToAuthorMapEntry(author, author.getEmails());"},{"lineNumber":78,"author":{"gitId":"-"},"content":" }"},{"lineNumber":79,"author":{"gitId":"-"},"content":""},{"lineNumber":80,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":81,"author":{"gitId":"-"},"content":" public void standaloneConfig_parseEmptyTextFile_success() throws Exception {"},{"lineNumber":82,"author":{"gitId":"-"},"content":" new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_EMPTY_TEXT_FILE);"},{"lineNumber":83,"author":{"gitId":"-"},"content":" }"},{"lineNumber":84,"author":{"gitId":"-"},"content":""},{"lineNumber":85,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":86,"author":{"gitId":"-"},"content":" public void standaloneConfig_parseEmptyJsonFile_success() throws Exception {"},{"lineNumber":87,"author":{"gitId":"-"},"content":" new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_EMPTY_JSON_FILE);"},{"lineNumber":88,"author":{"gitId":"-"},"content":" }"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":91,"author":{"gitId":"-"},"content":" public void standaloneConfig_ignoresUnknownProperty_success() throws Exception {"},{"lineNumber":92,"author":{"gitId":"-"},"content":" new StandaloneConfigJsonParser().parse(STANDALONE_UNKNOWN_PROPERTY_CONFIG);"},{"lineNumber":93,"author":{"gitId":"-"},"content":" }"},{"lineNumber":94,"author":{"gitId":"-"},"content":""},{"lineNumber":95,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":96,"author":{"gitId":"-"},"content":" public void standaloneConfig_correctConfig_success() throws Exception {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" StandaloneConfig config \u003d new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_FULL);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" assertSameConfig(expectedFullRepoConfig, config);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":""},{"lineNumber":101,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":102,"author":{"gitId":"-"},"content":" public void standaloneConfig_githubIdOnlyConfig_success() throws Exception {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" StandaloneConfig config \u003d new StandaloneConfigJsonParser().parse(STANDALONE_CONFIG_GITHUBID_ONLY);"},{"lineNumber":104,"author":{"gitId":"-"},"content":" assertSameConfig(expectedGithubIdOnlyRepoconfig, config);"},{"lineNumber":105,"author":{"gitId":"-"},"content":" }"},{"lineNumber":106,"author":{"gitId":"-"},"content":""},{"lineNumber":107,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":108,"author":{"gitId":"-"},"content":" public void standaloneConfig_malformedJsonFile_throwsJsonSyntaxException() {"},{"lineNumber":109,"author":{"gitId":"-"},"content":" Assertions.assertThrows(JsonSyntaxException.class, () -\u003e new StandaloneConfigJsonParser()"},{"lineNumber":110,"author":{"gitId":"-"},"content":" .parse(STANDALONE_MALFORMED_CONFIG));"},{"lineNumber":111,"author":{"gitId":"-"},"content":" }"},{"lineNumber":112,"author":{"gitId":"-"},"content":""},{"lineNumber":113,"author":{"gitId":"-"},"content":" private void assertSameConfig(RepoConfiguration expectedRepoConfig, StandaloneConfig actualStandaloneConfig)"},{"lineNumber":114,"author":{"gitId":"-"},"content":" throws Exception {"},{"lineNumber":115,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration actualRepoConfig \u003d new RepoConfiguration.Builder()"},{"lineNumber":116,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_DUMMY_LOCATION)).build();"},{"lineNumber":117,"author":{"gitId":"-"},"content":" actualRepoConfig.update(actualStandaloneConfig);"},{"lineNumber":118,"author":{"gitId":"-"},"content":" TestUtil.compareRepoConfig(expectedRepoConfig, actualRepoConfig);"},{"lineNumber":119,"author":{"gitId":"-"},"content":" }"},{"lineNumber":120,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":6,"-":114}},{"path":"src/test/java/reposense/report/ErrorSummaryTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.report;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":5,"author":{"gitId":"-"},"content":""},{"lineNumber":6,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":7,"author":{"gitId":"asdfghjkxd"},"content":"import reposense.parser.exceptions.InvalidLocationException;"},{"lineNumber":8,"author":{"gitId":"-"},"content":""},{"lineNumber":9,"author":{"gitId":"-"},"content":"public class ErrorSummaryTest {"},{"lineNumber":10,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":11,"author":{"gitId":"-"},"content":" public void errorSummary_addRepeatedErrorMessage_containsNoDuplicates() {"},{"lineNumber":12,"author":{"gitId":"-"},"content":" String invalidLocation1 \u003d \"ttp://github.com/reposense.RepoSense.git\";"},{"lineNumber":13,"author":{"gitId":"-"},"content":" String invalidLocation2 \u003d \"https://github.com/contains-illegal-chars/^\\\\/\";"},{"lineNumber":14,"author":{"gitId":"-"},"content":" String invalidLocation3 \u003d \"not-valid-protocol://abc.com/reposense/RepoSense.git\";"},{"lineNumber":15,"author":{"gitId":"-"},"content":""},{"lineNumber":16,"author":{"gitId":"-"},"content":" ErrorSummary errorSummaryInstance \u003d ErrorSummary.getInstance();"},{"lineNumber":17,"author":{"gitId":"-"},"content":" errorSummaryInstance.clearErrorSet();"},{"lineNumber":18,"author":{"gitId":"-"},"content":""},{"lineNumber":19,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":20,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation1);"},{"lineNumber":21,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {"},{"lineNumber":22,"author":{"gitId":"-"},"content":" // not relevant to the test"},{"lineNumber":23,"author":{"gitId":"-"},"content":" }"},{"lineNumber":24,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, errorSummaryInstance.getErrorSet().size());"},{"lineNumber":25,"author":{"gitId":"-"},"content":""},{"lineNumber":26,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":27,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation1);"},{"lineNumber":28,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {"},{"lineNumber":29,"author":{"gitId":"-"},"content":" // not relevant to the test"},{"lineNumber":30,"author":{"gitId":"-"},"content":" }"},{"lineNumber":31,"author":{"gitId":"-"},"content":" Assertions.assertEquals(1, errorSummaryInstance.getErrorSet().size());"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":34,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation2);"},{"lineNumber":35,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {"},{"lineNumber":36,"author":{"gitId":"-"},"content":" // not relevant to the test"},{"lineNumber":37,"author":{"gitId":"-"},"content":" }"},{"lineNumber":38,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, errorSummaryInstance.getErrorSet().size());"},{"lineNumber":39,"author":{"gitId":"-"},"content":""},{"lineNumber":40,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":41,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation1);"},{"lineNumber":42,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" // not relevant to the test"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":" Assertions.assertEquals(2, errorSummaryInstance.getErrorSet().size());"},{"lineNumber":46,"author":{"gitId":"-"},"content":""},{"lineNumber":47,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":48,"author":{"gitId":"-"},"content":" new RepoLocation(invalidLocation3);"},{"lineNumber":49,"author":{"gitId":"-"},"content":" } catch (InvalidLocationException e) {"},{"lineNumber":50,"author":{"gitId":"-"},"content":" // not relevant to the test"},{"lineNumber":51,"author":{"gitId":"-"},"content":" }"},{"lineNumber":52,"author":{"gitId":"-"},"content":" Assertions.assertEquals(3, errorSummaryInstance.getErrorSet().size());"},{"lineNumber":53,"author":{"gitId":"-"},"content":" }"},{"lineNumber":54,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":1,"-":53}},{"path":"src/test/java/reposense/report/RepoClonerTest.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.report;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":6,"author":{"gitId":"-"},"content":""},{"lineNumber":7,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Test;"},{"lineNumber":9,"author":{"gitId":"-"},"content":""},{"lineNumber":10,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"public class RepoClonerTest {"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_EMPTY_GIT_LOCATION \u003d \"https://github.com/reposense/testrepo-Empty.git\";"},{"lineNumber":18,"author":{"gitId":"-"},"content":" private static final String TEST_REPO_GIT_LOCATION \u003d \"https://github.com/reposense/testrepo-Alpha.git\";"},{"lineNumber":19,"author":{"gitId":"-"},"content":" private static final Path REPOCLONE_LOCAL_TEST_PATH \u003d"},{"lineNumber":20,"author":{"gitId":"-"},"content":" Paths.get(FileUtil.REPOS_ADDRESS, \"repoclone test/dummy-repo\");"},{"lineNumber":21,"author":{"gitId":"-"},"content":""},{"lineNumber":22,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":23,"author":{"gitId":"-"},"content":" public void repoCloner_emptyRepo_failsGracefully() throws Exception {"},{"lineNumber":24,"author":{"gitId":"-"},"content":" RepoConfiguration emptyRepositoryRepoConfig \u003d"},{"lineNumber":25,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":26,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_EMPTY_GIT_LOCATION)).build();"},{"lineNumber":27,"author":{"gitId":"-"},"content":""},{"lineNumber":28,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();"},{"lineNumber":29,"author":{"gitId":"-"},"content":" repoCloner.cloneBare(emptyRepositoryRepoConfig);"},{"lineNumber":30,"author":{"gitId":"-"},"content":" RepoLocation clonedRepoLocation \u003d repoCloner.getClonedRepoLocation();"},{"lineNumber":31,"author":{"gitId":"-"},"content":""},{"lineNumber":32,"author":{"gitId":"-"},"content":" Assertions.assertNull(clonedRepoLocation);"},{"lineNumber":33,"author":{"gitId":"-"},"content":" }"},{"lineNumber":34,"author":{"gitId":"-"},"content":""},{"lineNumber":35,"author":{"gitId":"-"},"content":" @Test"},{"lineNumber":36,"author":{"gitId":"-"},"content":" public void repoCloner_validRepoLocationWithRelativePathingAndSpaces_success() throws Exception {"},{"lineNumber":37,"author":{"gitId":"-"},"content":" // Clones a test repository into the test directory for testing of relative pathing"},{"lineNumber":38,"author":{"gitId":"asdfghjkxd"},"content":" RepoConfiguration tempRemoteConfiguration \u003d new RepoConfiguration.Builder()"},{"lineNumber":39,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_GIT_LOCATION)).build();"},{"lineNumber":40,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneBare(tempRemoteConfiguration, Paths.get(\".\"), REPOCLONE_LOCAL_TEST_PATH.toString());"},{"lineNumber":41,"author":{"gitId":"-"},"content":""},{"lineNumber":42,"author":{"gitId":"-"},"content":" RepoConfiguration repoWithRelativePathingAndSpacesAndEndingBackslash \u003d"},{"lineNumber":43,"author":{"gitId":"asdfghjkxd"},"content":" new RepoConfiguration.Builder()"},{"lineNumber":44,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(REPOCLONE_LOCAL_TEST_PATH.toString())).build();"},{"lineNumber":45,"author":{"gitId":"-"},"content":" RepoCloner repoCloner \u003d new RepoCloner();"},{"lineNumber":46,"author":{"gitId":"-"},"content":" repoCloner.cloneBare(repoWithRelativePathingAndSpacesAndEndingBackslash);"},{"lineNumber":47,"author":{"gitId":"-"},"content":" Assertions.assertTrue(Files.exists(REPOCLONE_LOCAL_TEST_PATH));"},{"lineNumber":48,"author":{"gitId":"-"},"content":" }"},{"lineNumber":49,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":6,"-":43}},{"path":"src/test/java/reposense/template/GitTestTemplate.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.template;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import static org.junit.jupiter.api.Assertions.assertEquals;"},{"lineNumber":4,"author":{"gitId":"-"},"content":""},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.io.File;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.util.Arrays;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.util.Collections;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.util.Iterator;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.function.Supplier;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":13,"author":{"gitId":"-"},"content":""},{"lineNumber":14,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.AfterEach;"},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeAll;"},{"lineNumber":16,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.BeforeEach;"},{"lineNumber":17,"author":{"gitId":"-"},"content":""},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.authorship.FileInfoAnalyzer;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.authorship.FileInfoExtractor;"},{"lineNumber":20,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileInfo;"},{"lineNumber":21,"author":{"gitId":"-"},"content":"import reposense.authorship.model.FileResult;"},{"lineNumber":22,"author":{"gitId":"-"},"content":"import reposense.authorship.model.LineInfo;"},{"lineNumber":23,"author":{"gitId":"-"},"content":"import reposense.git.GitCheckout;"},{"lineNumber":24,"author":{"gitId":"-"},"content":"import reposense.git.GitShow;"},{"lineNumber":25,"author":{"gitId":"-"},"content":"import reposense.git.exception.CommitNotFoundException;"},{"lineNumber":26,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":27,"author":{"gitId":"-"},"content":"import reposense.model.CommitHash;"},{"lineNumber":28,"author":{"gitId":"-"},"content":"import reposense.model.FileTypeTest;"},{"lineNumber":29,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":30,"author":{"gitId":"-"},"content":"import reposense.model.RepoLocation;"},{"lineNumber":31,"author":{"gitId":"-"},"content":"import reposense.util.FileUtil;"},{"lineNumber":32,"author":{"gitId":"-"},"content":"import reposense.util.TestRepoCloner;"},{"lineNumber":33,"author":{"gitId":"-"},"content":""},{"lineNumber":34,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":35,"author":{"gitId":"-"},"content":" * Contains templates for git testing."},{"lineNumber":36,"author":{"gitId":"-"},"content":" */"},{"lineNumber":37,"author":{"gitId":"-"},"content":""},{"lineNumber":38,"author":{"gitId":"-"},"content":"public class GitTestTemplate {"},{"lineNumber":39,"author":{"gitId":"-"},"content":" protected static final String TEST_REPO_GIT_LOCATION \u003d \"https://github.com/reposense/testrepo-Alpha.git\";"},{"lineNumber":40,"author":{"gitId":"-"},"content":" protected static final String IGNORE_REVS_FILE_NAME \u003d \".git-blame-ignore-revs\";"},{"lineNumber":41,"author":{"gitId":"-"},"content":" protected static final String TEST_REPO_BLAME_WITH_PREVIOUS_AUTHORS_BRANCH \u003d \"1565-find-previous-authors\";"},{"lineNumber":42,"author":{"gitId":"-"},"content":" protected static final String FIRST_COMMIT_HASH \u003d \"7d7584f\";"},{"lineNumber":43,"author":{"gitId":"-"},"content":" protected static final String ROOT_COMMIT_HASH \u003d \"fd425072e12004b71d733a58d819d845509f8db3\";"},{"lineNumber":44,"author":{"gitId":"-"},"content":" protected static final String TEST_COMMIT_HASH \u003d \"2fb6b9b\";"},{"lineNumber":45,"author":{"gitId":"-"},"content":" protected static final String TEST_COMMIT_HASH_LONG \u003d \"2fb6b9b2dd9fa40bf0f9815da2cb0ae8731436c7\";"},{"lineNumber":46,"author":{"gitId":"-"},"content":" protected static final String TEST_COMMIT_HASH_PARENT \u003d \"c5a6dc774e22099cd9ddeb0faff1e75f9cf4f151\";"},{"lineNumber":47,"author":{"gitId":"-"},"content":" protected static final String MAIN_AUTHOR_NAME \u003d \"harryggg\";"},{"lineNumber":48,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_NAME \u003d \"fakeAuthor\";"},{"lineNumber":49,"author":{"gitId":"-"},"content":" protected static final String UNCONVENTIONAL_AUTHOR_NAME \u003d \"-unconventional_author-\";"},{"lineNumber":50,"author":{"gitId":"-"},"content":" protected static final String WHITESPACE_AUTHOR_NAME \u003d \"whitespace author\";"},{"lineNumber":51,"author":{"gitId":"-"},"content":" protected static final String IGNORED_AUTHOR_NAME \u003d \"FH-30\";"},{"lineNumber":52,"author":{"gitId":"-"},"content":" protected static final String EUGENE_AUTHOR_NAME \u003d \"eugenepeh\";"},{"lineNumber":53,"author":{"gitId":"-"},"content":" protected static final String YONG_AUTHOR_NAME \u003d \"Yong Hao TENG\";"},{"lineNumber":54,"author":{"gitId":"-"},"content":" protected static final String MINGYI_AUTHOR_NAME \u003d \"myteo\";"},{"lineNumber":55,"author":{"gitId":"-"},"content":" protected static final String JAMES_AUTHOR_NAME \u003d \"jamessspanggg\";"},{"lineNumber":56,"author":{"gitId":"-"},"content":" protected static final String JAMES_ALTERNATIVE_AUTHOR_NAME \u003d \"James Pang\";"},{"lineNumber":57,"author":{"gitId":"-"},"content":" protected static final String JINYAO_AUTHOR_NAME \u003d \"jylee-git\";"},{"lineNumber":58,"author":{"gitId":"-"},"content":" protected static final String CHENGYU_AUTHOR_NAME \u003d \"HCY123902\";"},{"lineNumber":59,"author":{"gitId":"-"},"content":" protected static final String LATEST_COMMIT_HASH \u003d \"abbd5888d5cd4e411c6a8e58e661b0eafdae1335\";"},{"lineNumber":60,"author":{"gitId":"-"},"content":" protected static final String LATEST_COMMIT_HASH_PARENT \u003d \"f768b9b1d9d1478f8ac8cf3b4c7f868479edc07a\";"},{"lineNumber":61,"author":{"gitId":"-"},"content":" protected static final String EMPTY_TREE_HASH \u003d \"4b825dc642cb6eb9a060e54bf8d69288fbee4904\";"},{"lineNumber":62,"author":{"gitId":"-"},"content":" protected static final String EUGENE_AUTHOR_README_FILE_COMMIT_07052018_STRING \u003d"},{"lineNumber":63,"author":{"gitId":"-"},"content":" \"2d87a431fcbb8f73a731b6df0fcbee962c85c250\";"},{"lineNumber":64,"author":{"gitId":"-"},"content":" protected static final CommitHash EUGENE_AUTHOR_README_FILE_COMMIT_07052018 \u003d"},{"lineNumber":65,"author":{"gitId":"-"},"content":" new CommitHash(EUGENE_AUTHOR_README_FILE_COMMIT_07052018_STRING);"},{"lineNumber":66,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_TEST_FILE_COMMIT_08022018_STRING \u003d"},{"lineNumber":67,"author":{"gitId":"-"},"content":" \"768015345e70f06add2a8b7d1f901dc07bf70582\";"},{"lineNumber":68,"author":{"gitId":"-"},"content":" protected static final CommitHash FAKE_AUTHOR_BLAME_TEST_FILE_COMMIT_08022018 \u003d"},{"lineNumber":69,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_TEST_FILE_COMMIT_08022018_STRING);"},{"lineNumber":70,"author":{"gitId":"-"},"content":" protected static final String MAIN_AUTHOR_BLAME_TEST_FILE_COMMIT_06022018_STRING \u003d"},{"lineNumber":71,"author":{"gitId":"-"},"content":" \"8d0ac2ee20f04dce8df0591caed460bffacb65a4\";"},{"lineNumber":72,"author":{"gitId":"-"},"content":" protected static final CommitHash MAIN_AUTHOR_BLAME_TEST_FILE_COMMIT_06022018 \u003d"},{"lineNumber":73,"author":{"gitId":"-"},"content":" new CommitHash(MAIN_AUTHOR_BLAME_TEST_FILE_COMMIT_06022018_STRING);"},{"lineNumber":74,"author":{"gitId":"-"},"content":" protected static final String AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021_STRING \u003d"},{"lineNumber":75,"author":{"gitId":"-"},"content":" \"1d29339e7d16eb5b2bc8fb542e08acedd3d4b0eb\";"},{"lineNumber":76,"author":{"gitId":"-"},"content":" protected static final CommitHash AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021 \u003d"},{"lineNumber":77,"author":{"gitId":"-"},"content":" new CommitHash(AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021_STRING);"},{"lineNumber":78,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_ONE_06022018_STRING \u003d"},{"lineNumber":79,"author":{"gitId":"-"},"content":" \"7d7584fc204922cc5ff3bd5ca073cad6bed2c46a\";"},{"lineNumber":80,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_TWO_06022018_STRING \u003d"},{"lineNumber":81,"author":{"gitId":"-"},"content":" \"8d0ac2ee20f04dce8df0591caed460bffacb65a4\";"},{"lineNumber":82,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_THREE_07022018_STRING \u003d"},{"lineNumber":83,"author":{"gitId":"-"},"content":" \"8e4ca1da5d413e9ab84a1e8d1474918afa97f7a1\";"},{"lineNumber":84,"author":{"gitId":"-"},"content":" protected static final String FAKE_AUTHOR_BLAME_RANGED_COMMIT_FOUR_08022018_STRING \u003d"},{"lineNumber":85,"author":{"gitId":"-"},"content":" \"768015345e70f06add2a8b7d1f901dc07bf70582\";"},{"lineNumber":86,"author":{"gitId":"-"},"content":" protected static final List\u003cCommitHash\u003e FAKE_AUTHOR_BLAME_RANGED_COMMIT_LIST_09022018 \u003d Arrays.asList("},{"lineNumber":87,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_ONE_06022018_STRING),"},{"lineNumber":88,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_TWO_06022018_STRING),"},{"lineNumber":89,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_THREE_07022018_STRING),"},{"lineNumber":90,"author":{"gitId":"-"},"content":" new CommitHash(FAKE_AUTHOR_BLAME_RANGED_COMMIT_FOUR_08022018_STRING));"},{"lineNumber":91,"author":{"gitId":"-"},"content":" protected static final List\u003cCommitHash\u003e AUTHOR_TO_IGNORE_BLAME_COMMIT_LIST_07082021 \u003d Collections.singletonList("},{"lineNumber":92,"author":{"gitId":"-"},"content":" new CommitHash(AUTHOR_TO_IGNORE_BLAME_TEST_FILE_COMMIT_07082021_STRING)"},{"lineNumber":93,"author":{"gitId":"-"},"content":" );"},{"lineNumber":94,"author":{"gitId":"-"},"content":" protected static final String NONEXISTENT_COMMIT_HASH \u003d \"nonExistentCommitHash\";"},{"lineNumber":95,"author":{"gitId":"-"},"content":" protected static final ZoneId TIME_ZONE_ID \u003d ZoneId.of(\"Asia/Singapore\");"},{"lineNumber":96,"author":{"gitId":"-"},"content":""},{"lineNumber":97,"author":{"gitId":"-"},"content":" protected static final Author MAIN_AUTHOR \u003d new Author(MAIN_AUTHOR_NAME);"},{"lineNumber":98,"author":{"gitId":"-"},"content":" protected static final Author FAKE_AUTHOR \u003d new Author(FAKE_AUTHOR_NAME);"},{"lineNumber":99,"author":{"gitId":"-"},"content":" protected static final Author UNCONVENTIONAL_AUTHOR \u003d new Author(UNCONVENTIONAL_AUTHOR_NAME);"},{"lineNumber":100,"author":{"gitId":"-"},"content":" protected static final Author WHITESPACE_AUTHOR \u003d new Author(WHITESPACE_AUTHOR_NAME);"},{"lineNumber":101,"author":{"gitId":"-"},"content":""},{"lineNumber":102,"author":{"gitId":"-"},"content":" protected static ThreadLocal\u003cRepoConfiguration\u003e configs \u003d ThreadLocal.withInitial(() -\u003e {"},{"lineNumber":103,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":104,"author":{"gitId":"-"},"content":" return newRepoConfiguration();"},{"lineNumber":105,"author":{"gitId":"-"},"content":" } catch (Exception e) {"},{"lineNumber":106,"author":{"gitId":"-"},"content":" throw new RuntimeException(e);"},{"lineNumber":107,"author":{"gitId":"-"},"content":" }"},{"lineNumber":108,"author":{"gitId":"-"},"content":" });"},{"lineNumber":109,"author":{"gitId":"-"},"content":""},{"lineNumber":110,"author":{"gitId":"-"},"content":" private static final Supplier\u003cString\u003e EXTRA_OUTPUT_FOLDER_NAME_SUPPLIER \u003d () -\u003e"},{"lineNumber":111,"author":{"gitId":"-"},"content":" String.valueOf(Thread.currentThread().getId());"},{"lineNumber":112,"author":{"gitId":"-"},"content":" private FileInfoExtractor fileInfoExtractor \u003d new FileInfoExtractor();"},{"lineNumber":113,"author":{"gitId":"-"},"content":" private FileInfoAnalyzer fileInfoAnalyzer \u003d new FileInfoAnalyzer();"},{"lineNumber":114,"author":{"gitId":"-"},"content":""},{"lineNumber":115,"author":{"gitId":"-"},"content":" @BeforeEach"},{"lineNumber":116,"author":{"gitId":"-"},"content":" public void before() throws Exception {"},{"lineNumber":117,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d newRepoConfiguration();"},{"lineNumber":118,"author":{"gitId":"-"},"content":" config.setAuthorList(Collections.singletonList(getAlphaAllAliasAuthor()));"},{"lineNumber":119,"author":{"gitId":"-"},"content":" config.setFormats(FileTypeTest.DEFAULT_TEST_FORMATS);"},{"lineNumber":120,"author":{"gitId":"-"},"content":" config.setZoneId(TIME_ZONE_ID);"},{"lineNumber":121,"author":{"gitId":"-"},"content":" config.setIsLastModifiedDateIncluded(false);"},{"lineNumber":122,"author":{"gitId":"-"},"content":""},{"lineNumber":123,"author":{"gitId":"-"},"content":" configs.set(config);"},{"lineNumber":124,"author":{"gitId":"-"},"content":" }"},{"lineNumber":125,"author":{"gitId":"-"},"content":""},{"lineNumber":126,"author":{"gitId":"-"},"content":" @BeforeAll"},{"lineNumber":127,"author":{"gitId":"-"},"content":" public static void beforeClass() throws Exception {"},{"lineNumber":128,"author":{"gitId":"-"},"content":" RepoConfiguration config \u003d newRepoConfiguration();"},{"lineNumber":129,"author":{"gitId":"-"},"content":" config.setZoneId(TIME_ZONE_ID);"},{"lineNumber":130,"author":{"gitId":"-"},"content":" configs.set(config);"},{"lineNumber":131,"author":{"gitId":"-"},"content":""},{"lineNumber":132,"author":{"gitId":"-"},"content":" TestRepoCloner.cloneAndBranch(config, EXTRA_OUTPUT_FOLDER_NAME_SUPPLIER.get());"},{"lineNumber":133,"author":{"gitId":"-"},"content":" }"},{"lineNumber":134,"author":{"gitId":"-"},"content":""},{"lineNumber":135,"author":{"gitId":"-"},"content":" @AfterEach"},{"lineNumber":136,"author":{"gitId":"-"},"content":" public void after() {"},{"lineNumber":137,"author":{"gitId":"-"},"content":" GitCheckout.checkout(configs.get().getRepoRoot(), \"master\");"},{"lineNumber":138,"author":{"gitId":"-"},"content":" }"},{"lineNumber":139,"author":{"gitId":"-"},"content":""},{"lineNumber":140,"author":{"gitId":"-"},"content":" private static RepoConfiguration newRepoConfiguration() throws Exception {"},{"lineNumber":141,"author":{"gitId":"asdfghjkxd"},"content":" return new RepoConfiguration.Builder()"},{"lineNumber":142,"author":{"gitId":"asdfghjkxd"},"content":" .location(new RepoLocation(TEST_REPO_GIT_LOCATION))"},{"lineNumber":143,"author":{"gitId":"asdfghjkxd"},"content":" .branch(\"master\")"},{"lineNumber":144,"author":{"gitId":"asdfghjkxd"},"content":" .extraOutputFolderName(EXTRA_OUTPUT_FOLDER_NAME_SUPPLIER.get())"},{"lineNumber":145,"author":{"gitId":"asdfghjkxd"},"content":" .build();"},{"lineNumber":146,"author":{"gitId":"-"},"content":" }"},{"lineNumber":147,"author":{"gitId":"-"},"content":""},{"lineNumber":148,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":149,"author":{"gitId":"-"},"content":" * Generates the .git-blame-ignore-revs file containing {@link CommitHash}es"},{"lineNumber":150,"author":{"gitId":"-"},"content":" * from {@code toIgnore} for the test repo."},{"lineNumber":151,"author":{"gitId":"-"},"content":" */"},{"lineNumber":152,"author":{"gitId":"-"},"content":" public List\u003cCommitHash\u003e createTestIgnoreRevsFile(List\u003cCommitHash\u003e toIgnore) {"},{"lineNumber":153,"author":{"gitId":"-"},"content":" String repoRoot \u003d configs.get().getRepoRoot();"},{"lineNumber":154,"author":{"gitId":"-"},"content":" List\u003cCommitHash\u003e expandedIgnoreCommitList \u003d toIgnore.stream()"},{"lineNumber":155,"author":{"gitId":"-"},"content":" .map(CommitHash::toString)"},{"lineNumber":156,"author":{"gitId":"-"},"content":" .map(commitHash -\u003e {"},{"lineNumber":157,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":158,"author":{"gitId":"-"},"content":" return GitShow.getExpandedCommitHash(repoRoot, commitHash);"},{"lineNumber":159,"author":{"gitId":"-"},"content":" } catch (CommitNotFoundException e) {"},{"lineNumber":160,"author":{"gitId":"-"},"content":" return new CommitHash(commitHash);"},{"lineNumber":161,"author":{"gitId":"-"},"content":" }"},{"lineNumber":162,"author":{"gitId":"-"},"content":" })"},{"lineNumber":163,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":164,"author":{"gitId":"-"},"content":""},{"lineNumber":165,"author":{"gitId":"-"},"content":" String fileLocation \u003d repoRoot + IGNORE_REVS_FILE_NAME;"},{"lineNumber":166,"author":{"gitId":"-"},"content":" FileUtil.writeIgnoreRevsFile(fileLocation, expandedIgnoreCommitList);"},{"lineNumber":167,"author":{"gitId":"-"},"content":" return expandedIgnoreCommitList;"},{"lineNumber":168,"author":{"gitId":"-"},"content":" }"},{"lineNumber":169,"author":{"gitId":"-"},"content":""},{"lineNumber":170,"author":{"gitId":"-"},"content":" public void removeTestIgnoreRevsFile() {"},{"lineNumber":171,"author":{"gitId":"-"},"content":" String fileLocation \u003d configs.get().getRepoRoot() + IGNORE_REVS_FILE_NAME;"},{"lineNumber":172,"author":{"gitId":"-"},"content":" new File(fileLocation).delete();"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":176,"author":{"gitId":"-"},"content":" * For each line in {@link FileResult}, assert that it is attributed to the expected author provided by"},{"lineNumber":177,"author":{"gitId":"-"},"content":" * {@code expectedLineAuthors}."},{"lineNumber":178,"author":{"gitId":"-"},"content":" */"},{"lineNumber":179,"author":{"gitId":"-"},"content":" public void assertFileAnalysisCorrectness(FileResult fileResult, List\u003cAuthor\u003e expectedLineAuthors) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" List\u003cLineInfo\u003e lines \u003d fileResult.getLines();"},{"lineNumber":181,"author":{"gitId":"-"},"content":" assertEquals(expectedLineAuthors.size(), lines.size());"},{"lineNumber":182,"author":{"gitId":"-"},"content":""},{"lineNumber":183,"author":{"gitId":"-"},"content":" Iterator\u003cAuthor\u003e lineAuthorsItr \u003d expectedLineAuthors.iterator();"},{"lineNumber":184,"author":{"gitId":"-"},"content":" Iterator\u003cLineInfo\u003e linesItr \u003d lines.iterator();"},{"lineNumber":185,"author":{"gitId":"-"},"content":""},{"lineNumber":186,"author":{"gitId":"-"},"content":" while (linesItr.hasNext() \u0026\u0026 lineAuthorsItr.hasNext()) {"},{"lineNumber":187,"author":{"gitId":"-"},"content":" assertEquals(lineAuthorsItr.next(), linesItr.next().getAuthor());"},{"lineNumber":188,"author":{"gitId":"-"},"content":" }"},{"lineNumber":189,"author":{"gitId":"-"},"content":" }"},{"lineNumber":190,"author":{"gitId":"-"},"content":""},{"lineNumber":191,"author":{"gitId":"-"},"content":" public FileResult getFileResult(String relativePath) {"},{"lineNumber":192,"author":{"gitId":"-"},"content":" FileInfo fileInfo \u003d fileInfoExtractor.generateFileInfo(configs.get(), relativePath);"},{"lineNumber":193,"author":{"gitId":"-"},"content":" return fileInfoAnalyzer.analyzeTextFile(configs.get(), fileInfo);"},{"lineNumber":194,"author":{"gitId":"-"},"content":" }"},{"lineNumber":195,"author":{"gitId":"-"},"content":""},{"lineNumber":196,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":197,"author":{"gitId":"-"},"content":" * Returns a {@link Author} that has git id and aliases of all authors in testrepo-Alpha, so that no commits"},{"lineNumber":198,"author":{"gitId":"-"},"content":" * will be filtered out in the `git log` command."},{"lineNumber":199,"author":{"gitId":"-"},"content":" */"},{"lineNumber":200,"author":{"gitId":"-"},"content":" protected Author getAlphaAllAliasAuthor() {"},{"lineNumber":201,"author":{"gitId":"-"},"content":" Author author \u003d new Author(MAIN_AUTHOR_NAME);"},{"lineNumber":202,"author":{"gitId":"-"},"content":" author.setAuthorAliases(Arrays.asList(FAKE_AUTHOR_NAME, EUGENE_AUTHOR_NAME, YONG_AUTHOR_NAME));"},{"lineNumber":203,"author":{"gitId":"-"},"content":" return author;"},{"lineNumber":204,"author":{"gitId":"-"},"content":" }"},{"lineNumber":205,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":5,"-":200}},{"path":"src/test/java/reposense/util/TestUtil.java","fileType":"java","lines":[{"lineNumber":1,"author":{"gitId":"-"},"content":"package reposense.util;"},{"lineNumber":2,"author":{"gitId":"-"},"content":""},{"lineNumber":3,"author":{"gitId":"-"},"content":"import java.net.URISyntaxException;"},{"lineNumber":4,"author":{"gitId":"-"},"content":"import java.net.URL;"},{"lineNumber":5,"author":{"gitId":"-"},"content":"import java.nio.file.Files;"},{"lineNumber":6,"author":{"gitId":"-"},"content":"import java.nio.file.Path;"},{"lineNumber":7,"author":{"gitId":"-"},"content":"import java.nio.file.Paths;"},{"lineNumber":8,"author":{"gitId":"-"},"content":"import java.time.LocalDateTime;"},{"lineNumber":9,"author":{"gitId":"-"},"content":"import java.time.ZoneId;"},{"lineNumber":10,"author":{"gitId":"-"},"content":"import java.util.HashSet;"},{"lineNumber":11,"author":{"gitId":"-"},"content":"import java.util.List;"},{"lineNumber":12,"author":{"gitId":"-"},"content":"import java.util.Set;"},{"lineNumber":13,"author":{"gitId":"-"},"content":"import java.util.stream.Collectors;"},{"lineNumber":14,"author":{"gitId":"-"},"content":""},{"lineNumber":15,"author":{"gitId":"-"},"content":"import org.junit.jupiter.api.Assertions;"},{"lineNumber":16,"author":{"gitId":"-"},"content":""},{"lineNumber":17,"author":{"gitId":"-"},"content":"import reposense.git.GitLog;"},{"lineNumber":18,"author":{"gitId":"-"},"content":"import reposense.model.Author;"},{"lineNumber":19,"author":{"gitId":"-"},"content":"import reposense.model.RepoConfiguration;"},{"lineNumber":20,"author":{"gitId":"-"},"content":""},{"lineNumber":21,"author":{"gitId":"-"},"content":"/**"},{"lineNumber":22,"author":{"gitId":"-"},"content":" * Contains testing related functionalities."},{"lineNumber":23,"author":{"gitId":"-"},"content":" */"},{"lineNumber":24,"author":{"gitId":"-"},"content":"public class TestUtil {"},{"lineNumber":25,"author":{"gitId":"-"},"content":" private static final int[] END_OF_DAY_TIME \u003d {23, 59, 59};"},{"lineNumber":26,"author":{"gitId":"-"},"content":" private static final int[] START_OF_DAY_TIME \u003d {0, 0, 0};"},{"lineNumber":27,"author":{"gitId":"-"},"content":" private static final String MESSAGE_COMPARING_FILES \u003d \"Comparing files %s \u0026 %s\\n\";"},{"lineNumber":28,"author":{"gitId":"-"},"content":""},{"lineNumber":29,"author":{"gitId":"-"},"content":" private static final String MESSAGE_LINE_CONTENT_DIFFERENT \u003d \"Content different at line number %d:\\n\""},{"lineNumber":30,"author":{"gitId":"-"},"content":" + \"\u003c\u003c %s\\n\""},{"lineNumber":31,"author":{"gitId":"-"},"content":" + \"\u003e\u003e %s\\n\";"},{"lineNumber":32,"author":{"gitId":"-"},"content":""},{"lineNumber":33,"author":{"gitId":"-"},"content":" private static final String MESSAGE_LINES_LENGTH_DIFFERENT \u003d \"The files\u0027 lines count do not match.\";"},{"lineNumber":34,"author":{"gitId":"-"},"content":" private static final String MOVED_FILE_INDICATION \u003d \"\u003d\u003e \";"},{"lineNumber":35,"author":{"gitId":"-"},"content":" private static final int STAT_FILE_PATH_INDEX \u003d 2;"},{"lineNumber":36,"author":{"gitId":"-"},"content":""},{"lineNumber":37,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":38,"author":{"gitId":"-"},"content":" * Returns true if the contents of the files at {@code expected} and {@code actual} are the same."},{"lineNumber":39,"author":{"gitId":"-"},"content":" * Also prints out error message if the lines count are different,"},{"lineNumber":40,"author":{"gitId":"-"},"content":" * else prints out the first line of content difference (if any)."},{"lineNumber":41,"author":{"gitId":"-"},"content":" */"},{"lineNumber":42,"author":{"gitId":"-"},"content":" public static boolean compareFileContents(Path expected, Path actual) throws Exception {"},{"lineNumber":43,"author":{"gitId":"-"},"content":" return compareFileContents(expected, actual, 1);"},{"lineNumber":44,"author":{"gitId":"-"},"content":" }"},{"lineNumber":45,"author":{"gitId":"-"},"content":""},{"lineNumber":46,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":47,"author":{"gitId":"-"},"content":" * Returns true if the contents of the files at {@code expected} and {@code actual} are the same."},{"lineNumber":48,"author":{"gitId":"-"},"content":" * Also prints out error message if the lines count are different,"},{"lineNumber":49,"author":{"gitId":"-"},"content":" * else prints out maximum {@code maxTraceCounts} lines of content difference (if any)."},{"lineNumber":50,"author":{"gitId":"-"},"content":" */"},{"lineNumber":51,"author":{"gitId":"-"},"content":" public static boolean compareFileContents(Path expected, Path actual, int maxTraceCounts) throws Exception {"},{"lineNumber":52,"author":{"gitId":"-"},"content":" int traceCounts \u003d 0;"},{"lineNumber":53,"author":{"gitId":"-"},"content":""},{"lineNumber":54,"author":{"gitId":"-"},"content":" System.out.println(String.format(MESSAGE_COMPARING_FILES, expected, actual));"},{"lineNumber":55,"author":{"gitId":"-"},"content":""},{"lineNumber":56,"author":{"gitId":"asdfghjkxd"},"content":" String[] expectedContent \u003d StringsUtil.NEWLINE.split(new String(Files.readAllBytes(expected))"},{"lineNumber":57,"author":{"gitId":"asdfghjkxd"},"content":" .replace(\"\\r\", \"\"));"},{"lineNumber":58,"author":{"gitId":"asdfghjkxd"},"content":" String[] actualContent \u003d StringsUtil.NEWLINE.split(new String(Files.readAllBytes(actual))"},{"lineNumber":59,"author":{"gitId":"asdfghjkxd"},"content":" .replace(\"\\r\", \"\"));"},{"lineNumber":60,"author":{"gitId":"-"},"content":""},{"lineNumber":61,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c Math.min(expectedContent.length, actualContent.length); i++) {"},{"lineNumber":62,"author":{"gitId":"-"},"content":" if (!expectedContent[i].equals(actualContent[i])) {"},{"lineNumber":63,"author":{"gitId":"-"},"content":" System.out.println("},{"lineNumber":64,"author":{"gitId":"-"},"content":" String.format(MESSAGE_LINE_CONTENT_DIFFERENT, i + 1, expectedContent[i], actualContent[i]));"},{"lineNumber":65,"author":{"gitId":"-"},"content":" if (++traceCounts \u003e\u003d maxTraceCounts) {"},{"lineNumber":66,"author":{"gitId":"-"},"content":" break;"},{"lineNumber":67,"author":{"gitId":"-"},"content":" }"},{"lineNumber":68,"author":{"gitId":"-"},"content":" }"},{"lineNumber":69,"author":{"gitId":"-"},"content":" }"},{"lineNumber":70,"author":{"gitId":"-"},"content":" if (expectedContent.length !\u003d actualContent.length) {"},{"lineNumber":71,"author":{"gitId":"-"},"content":" System.out.println(MESSAGE_LINES_LENGTH_DIFFERENT);"},{"lineNumber":72,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":73,"author":{"gitId":"-"},"content":" } else if (traceCounts \u003e\u003d maxTraceCounts) {"},{"lineNumber":74,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":75,"author":{"gitId":"-"},"content":" }"},{"lineNumber":76,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":77,"author":{"gitId":"-"},"content":" }"},{"lineNumber":78,"author":{"gitId":"-"},"content":""},{"lineNumber":79,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":80,"author":{"gitId":"-"},"content":" * Returns true if {@code expected} directory has all files with same content as {@code actual} directory."},{"lineNumber":81,"author":{"gitId":"-"},"content":" */"},{"lineNumber":82,"author":{"gitId":"-"},"content":" public static boolean compareDirectories(Path expected, Path actual) throws Exception {"},{"lineNumber":83,"author":{"gitId":"-"},"content":" List\u003cPath\u003e expectedPaths \u003d Files.walk(expected)"},{"lineNumber":84,"author":{"gitId":"-"},"content":" .sorted()"},{"lineNumber":85,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":86,"author":{"gitId":"-"},"content":" List\u003cPath\u003e actualPaths \u003d Files.walk(actual)"},{"lineNumber":87,"author":{"gitId":"-"},"content":" .sorted()"},{"lineNumber":88,"author":{"gitId":"-"},"content":" .collect(Collectors.toList());"},{"lineNumber":89,"author":{"gitId":"-"},"content":""},{"lineNumber":90,"author":{"gitId":"-"},"content":" if (expectedPaths.size() !\u003d actualPaths.size()) {"},{"lineNumber":91,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":92,"author":{"gitId":"-"},"content":" }"},{"lineNumber":93,"author":{"gitId":"-"},"content":""},{"lineNumber":94,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c expectedPaths.size(); i++) {"},{"lineNumber":95,"author":{"gitId":"-"},"content":" if (!(Files.isDirectory(expectedPaths.get(i)) || Files.isDirectory(actualPaths.get(i)))"},{"lineNumber":96,"author":{"gitId":"-"},"content":" \u0026\u0026 !TestUtil.compareFileContents(expectedPaths.get(i), actualPaths.get(i))) {"},{"lineNumber":97,"author":{"gitId":"-"},"content":" return false;"},{"lineNumber":98,"author":{"gitId":"-"},"content":" }"},{"lineNumber":99,"author":{"gitId":"-"},"content":" }"},{"lineNumber":100,"author":{"gitId":"-"},"content":" return true;"},{"lineNumber":101,"author":{"gitId":"-"},"content":" }"},{"lineNumber":102,"author":{"gitId":"-"},"content":""},{"lineNumber":103,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":104,"author":{"gitId":"-"},"content":" * Creates and returns a {@link LocalDateTime} object with the specified {@code year}, {@code month}, {@code day}"},{"lineNumber":105,"author":{"gitId":"-"},"content":" * and {@code time}."},{"lineNumber":106,"author":{"gitId":"-"},"content":" */"},{"lineNumber":107,"author":{"gitId":"-"},"content":" public static LocalDateTime getDate(int year, int month, int date, int[] time) {"},{"lineNumber":108,"author":{"gitId":"-"},"content":" return LocalDateTime.of(year, month, date, time[0], time[1], time[2], 0);"},{"lineNumber":109,"author":{"gitId":"-"},"content":" }"},{"lineNumber":110,"author":{"gitId":"-"},"content":""},{"lineNumber":111,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":112,"author":{"gitId":"-"},"content":" * Wrapper for {@code getDate} method to get since date with time 00:00:00"},{"lineNumber":113,"author":{"gitId":"-"},"content":" * from the parameters {@code year}, {@code month}, {@code date}."},{"lineNumber":114,"author":{"gitId":"-"},"content":" */"},{"lineNumber":115,"author":{"gitId":"-"},"content":" public static LocalDateTime getSinceDate(int year, int month, int date) {"},{"lineNumber":116,"author":{"gitId":"-"},"content":" return getDate(year, month, date, START_OF_DAY_TIME);"},{"lineNumber":117,"author":{"gitId":"-"},"content":" }"},{"lineNumber":118,"author":{"gitId":"-"},"content":""},{"lineNumber":119,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":120,"author":{"gitId":"-"},"content":" * Wrapper for {@code getDate} method to get until date with time 23:59:59"},{"lineNumber":121,"author":{"gitId":"-"},"content":" * from the parameters {@code year}, {@code month}, {@code date}."},{"lineNumber":122,"author":{"gitId":"-"},"content":" */"},{"lineNumber":123,"author":{"gitId":"-"},"content":" public static LocalDateTime getUntilDate(int year, int month, int date) {"},{"lineNumber":124,"author":{"gitId":"-"},"content":" return getDate(year, month, date, END_OF_DAY_TIME);"},{"lineNumber":125,"author":{"gitId":"-"},"content":" }"},{"lineNumber":126,"author":{"gitId":"-"},"content":""},{"lineNumber":127,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":128,"author":{"gitId":"-"},"content":" * Returns a {@link ZoneId} object for the specified {@code timezone}."},{"lineNumber":129,"author":{"gitId":"-"},"content":" */"},{"lineNumber":130,"author":{"gitId":"-"},"content":" public static ZoneId getZoneId(String timezone) {"},{"lineNumber":131,"author":{"gitId":"-"},"content":" return ZoneId.of(timezone);"},{"lineNumber":132,"author":{"gitId":"-"},"content":" }"},{"lineNumber":133,"author":{"gitId":"-"},"content":""},{"lineNumber":134,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":135,"author":{"gitId":"-"},"content":" * Compares attributes of {@code expectedRepoConfig} and {@code actualRepoConfig}."},{"lineNumber":136,"author":{"gitId":"-"},"content":" *"},{"lineNumber":137,"author":{"gitId":"-"},"content":" * @throws AssertionError if any attributes fail equality check."},{"lineNumber":138,"author":{"gitId":"-"},"content":" */"},{"lineNumber":139,"author":{"gitId":"-"},"content":" public static void compareRepoConfig(RepoConfiguration expectedRepoConfig, RepoConfiguration actualRepoConfig) {"},{"lineNumber":140,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedRepoConfig, actualRepoConfig);"},{"lineNumber":141,"author":{"gitId":"-"},"content":""},{"lineNumber":142,"author":{"gitId":"-"},"content":" for (int i \u003d 0; i \u003c expectedRepoConfig.getAuthorList().size(); i++) {"},{"lineNumber":143,"author":{"gitId":"-"},"content":" compareAuthor(expectedRepoConfig.getAuthorList().get(i), actualRepoConfig.getAuthorList().get(i));"},{"lineNumber":144,"author":{"gitId":"-"},"content":" }"},{"lineNumber":145,"author":{"gitId":"-"},"content":" }"},{"lineNumber":146,"author":{"gitId":"-"},"content":""},{"lineNumber":147,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":148,"author":{"gitId":"-"},"content":" * Compares attributes of {@code expectedAuthor} and {@code actualAuthor}, with exception of it\u0027s display name."},{"lineNumber":149,"author":{"gitId":"-"},"content":" *"},{"lineNumber":150,"author":{"gitId":"-"},"content":" * The display name is not compared as it varies with object construction."},{"lineNumber":151,"author":{"gitId":"-"},"content":" * It is a transient value and it is not needed for object matching."},{"lineNumber":152,"author":{"gitId":"-"},"content":" *"},{"lineNumber":153,"author":{"gitId":"-"},"content":" * @throws AssertionError if any attributes fail equality check."},{"lineNumber":154,"author":{"gitId":"-"},"content":" */"},{"lineNumber":155,"author":{"gitId":"-"},"content":" public static void compareAuthor(Author expectedAuthor, Author actualAuthor) {"},{"lineNumber":156,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedAuthor.getGitId(), actualAuthor.getGitId());"},{"lineNumber":157,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedAuthor.getIgnoreGlobList(), actualAuthor.getIgnoreGlobList());"},{"lineNumber":158,"author":{"gitId":"-"},"content":" Assertions.assertEquals(expectedAuthor.getAuthorAliases(), actualAuthor.getAuthorAliases());"},{"lineNumber":159,"author":{"gitId":"-"},"content":" }"},{"lineNumber":160,"author":{"gitId":"-"},"content":""},{"lineNumber":161,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":162,"author":{"gitId":"-"},"content":" * Returns true if the {@code expectedNumberCommits} is equal to the expected number of commits captured in"},{"lineNumber":163,"author":{"gitId":"-"},"content":" * {@code gitLogResult}."},{"lineNumber":164,"author":{"gitId":"-"},"content":" */"},{"lineNumber":165,"author":{"gitId":"-"},"content":" public static boolean compareNumberExpectedCommitsToGitLogLines(int expectedNumberCommits, String gitLogResult) {"},{"lineNumber":166,"author":{"gitId":"-"},"content":" // if git log result is empty, then there are no commits"},{"lineNumber":167,"author":{"gitId":"-"},"content":" if (gitLogResult.isEmpty()) {"},{"lineNumber":168,"author":{"gitId":"-"},"content":" return expectedNumberCommits \u003d\u003d 0;"},{"lineNumber":169,"author":{"gitId":"-"},"content":" }"},{"lineNumber":170,"author":{"gitId":"-"},"content":""},{"lineNumber":171,"author":{"gitId":"-"},"content":" // (actualSplitGitLogResilt - 1) as the 1st token is always empty."},{"lineNumber":172,"author":{"gitId":"-"},"content":" return expectedNumberCommits \u003d\u003d (gitLogResult.split(GitLog.COMMIT_INFO_DELIMITER).length - 1);"},{"lineNumber":173,"author":{"gitId":"-"},"content":" }"},{"lineNumber":174,"author":{"gitId":"-"},"content":""},{"lineNumber":175,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":176,"author":{"gitId":"-"},"content":" * Returns true if the {@code expectedNumberFilesChanged} is equal to the actual number of files changed in"},{"lineNumber":177,"author":{"gitId":"-"},"content":" * {@code gitLogResult}."},{"lineNumber":178,"author":{"gitId":"-"},"content":" */"},{"lineNumber":179,"author":{"gitId":"-"},"content":" public static boolean compareNumberFilesChanged(int expectedNumberFilesChanged, String gitLogResult) {"},{"lineNumber":180,"author":{"gitId":"-"},"content":" // if git log result is empty, then there are no files changed"},{"lineNumber":181,"author":{"gitId":"-"},"content":" if (gitLogResult.isEmpty()) {"},{"lineNumber":182,"author":{"gitId":"-"},"content":" return expectedNumberFilesChanged \u003d\u003d 0;"},{"lineNumber":183,"author":{"gitId":"-"},"content":" }"},{"lineNumber":184,"author":{"gitId":"-"},"content":" String[] changesLogged \u003d gitLogResult.split(GitLog.COMMIT_INFO_DELIMITER);"},{"lineNumber":185,"author":{"gitId":"-"},"content":" HashSet\u003cString\u003e filesChanged \u003d new HashSet\u003c\u003e();"},{"lineNumber":186,"author":{"gitId":"-"},"content":""},{"lineNumber":187,"author":{"gitId":"-"},"content":" // start from index 1 as index 0 is always empty."},{"lineNumber":188,"author":{"gitId":"-"},"content":" for (int i \u003d 1; i \u003c changesLogged.length; i++) {"},{"lineNumber":189,"author":{"gitId":"-"},"content":" filesChanged.addAll(getFilesChangedInCommit(changesLogged[i]));"},{"lineNumber":190,"author":{"gitId":"-"},"content":" }"},{"lineNumber":191,"author":{"gitId":"-"},"content":" return filesChanged.size() \u003d\u003d expectedNumberFilesChanged;"},{"lineNumber":192,"author":{"gitId":"-"},"content":" }"},{"lineNumber":193,"author":{"gitId":"-"},"content":""},{"lineNumber":194,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":195,"author":{"gitId":"-"},"content":" * Returns the {@link Set} of files changed in the commit {@code rawCommitInfo}."},{"lineNumber":196,"author":{"gitId":"-"},"content":" */"},{"lineNumber":197,"author":{"gitId":"-"},"content":" private static Set\u003cString\u003e getFilesChangedInCommit(String rawCommitInfo) {"},{"lineNumber":198,"author":{"gitId":"-"},"content":" Set\u003cString\u003e filesChanged \u003d new HashSet\u003c\u003e();"},{"lineNumber":199,"author":{"gitId":"asdfghjkxd"},"content":" String[] commitInfo \u003d StringsUtil.NEWLINE.split(rawCommitInfo.replaceAll(\"\\n+$\", \"\"));"},{"lineNumber":200,"author":{"gitId":"-"},"content":" int fileChangedNum \u003d Integer.parseInt(commitInfo[commitInfo.length - 1].trim().split(\" \")[0]);"},{"lineNumber":201,"author":{"gitId":"-"},"content":" for (int fileNum \u003d 0; fileNum \u003c fileChangedNum; fileNum++) {"},{"lineNumber":202,"author":{"gitId":"-"},"content":" filesChanged.add(getFileChanged(commitInfo[commitInfo.length - 2 - fileNum]));"},{"lineNumber":203,"author":{"gitId":"-"},"content":" }"},{"lineNumber":204,"author":{"gitId":"-"},"content":" return filesChanged;"},{"lineNumber":205,"author":{"gitId":"-"},"content":" }"},{"lineNumber":206,"author":{"gitId":"-"},"content":""},{"lineNumber":207,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":208,"author":{"gitId":"-"},"content":" * Returns the file changed given a {@code rawFileChangedString}."},{"lineNumber":209,"author":{"gitId":"-"},"content":" */"},{"lineNumber":210,"author":{"gitId":"-"},"content":" private static String getFileChanged(String rawFileChangedString) {"},{"lineNumber":211,"author":{"gitId":"asdfghjkxd"},"content":" String fileChanged \u003d StringsUtil.TAB.split(rawFileChangedString)[STAT_FILE_PATH_INDEX].trim();"},{"lineNumber":212,"author":{"gitId":"-"},"content":" if (fileChanged.contains(MOVED_FILE_INDICATION)) {"},{"lineNumber":213,"author":{"gitId":"-"},"content":" fileChanged \u003d fileChanged.substring(fileChanged.indexOf(MOVED_FILE_INDICATION)"},{"lineNumber":214,"author":{"gitId":"-"},"content":" + MOVED_FILE_INDICATION.length());"},{"lineNumber":215,"author":{"gitId":"-"},"content":" }"},{"lineNumber":216,"author":{"gitId":"-"},"content":" return fileChanged;"},{"lineNumber":217,"author":{"gitId":"-"},"content":" }"},{"lineNumber":218,"author":{"gitId":"-"},"content":""},{"lineNumber":219,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":220,"author":{"gitId":"-"},"content":" * Returns true if the test environment is on Windows OS."},{"lineNumber":221,"author":{"gitId":"-"},"content":" */"},{"lineNumber":222,"author":{"gitId":"-"},"content":" public static boolean isWindows() {"},{"lineNumber":223,"author":{"gitId":"-"},"content":" return System.getProperty(\"os.name\").toLowerCase().contains(\"win\");"},{"lineNumber":224,"author":{"gitId":"-"},"content":" }"},{"lineNumber":225,"author":{"gitId":"-"},"content":""},{"lineNumber":226,"author":{"gitId":"-"},"content":" /**"},{"lineNumber":227,"author":{"gitId":"-"},"content":" * Returns the {@link Path} to a resource given by {@code pathToResource} string, using {@code classForLoading}."},{"lineNumber":228,"author":{"gitId":"-"},"content":" */"},{"lineNumber":229,"author":{"gitId":"-"},"content":" public static Path loadResource(Class\u003c?\u003e classForLoading, String pathToResource) {"},{"lineNumber":230,"author":{"gitId":"-"},"content":" ClassLoader classLoader \u003d classForLoading.getClassLoader();"},{"lineNumber":231,"author":{"gitId":"-"},"content":" URL url \u003d classLoader.getResource(pathToResource);"},{"lineNumber":232,"author":{"gitId":"-"},"content":" Path path \u003d null;"},{"lineNumber":233,"author":{"gitId":"-"},"content":" try {"},{"lineNumber":234,"author":{"gitId":"-"},"content":" path \u003d Paths.get(url.toURI());"},{"lineNumber":235,"author":{"gitId":"-"},"content":" } catch (URISyntaxException e) {"},{"lineNumber":236,"author":{"gitId":"-"},"content":" System.out.println(\"URL format does not follow required standard\");"},{"lineNumber":237,"author":{"gitId":"-"},"content":" }"},{"lineNumber":238,"author":{"gitId":"-"},"content":" return path;"},{"lineNumber":239,"author":{"gitId":"-"},"content":" }"},{"lineNumber":240,"author":{"gitId":"-"},"content":"}"}],"authorContributionMap":{"asdfghjkxd":6,"-":234}}] diff --git a/reposense_reposense_master/commits.json b/reposense_reposense_master/commits.json index be3a559..0af7372 100644 --- a/reposense_reposense_master/commits.json +++ b/reposense_reposense_master/commits.json @@ -1 +1 @@ -{"authorDailyContributionsMap":{"xenosf":[],"sopa301":[{"date":"2024-01-31","commitResults":[{"hash":"19f9e6847b503b0f9028effd37b2cfab87b72af1","isMergeCommit":false,"messageTitle":"[#1980] Standardise Array Style for Frontend Files (#2084)","messageBody":"Array\u003cT\u003e and T[] can be used interchangeably in TypeScript. We can use\r\nthe same style consistently across the codebase to make it easier for\r\ndevelopers to read and understand array types.\r\n\r\nIn Vue, using T[] in defineComponent requires casting in the form of\r\n\"Array as PropType\u003cT[]\u003e\", while Array\u003cT\u003e can be used as is. Therefore,\r\nit would be more consistent to use Array\u003cT\u003e for .vue files.\r\nAdditionally, such a rule can be enforced more easily with eslint.\r\n\r\nLet\u0027s include a rule for eslint to check array usage and change the\r\ncode to follow this rule.","fileTypesAndContributionMap":{"json":{"insertions":20,"deletions":1}}},{"hash":"f5855fa68b3e23a0fed0c2e7cc94cc6401d175e3","isMergeCommit":false,"messageTitle":"[#1224] Update .stylelintrc.json to check for spacing (#2094)","messageBody":"With no current plans to update stylelint to v15 or beyond, we can\r\nstill use the current features to enforce consistent spacing in our\r\nscss files. This will make the coding style more consistent throughout\r\nthe codebase.\r\n\r\nLet\u0027s update the rules in .stylelintrc.json to enforce spacing.","fileTypesAndContributionMap":{"json":{"insertions":3,"deletions":1}}}]},{"date":"2024-02-19","commitResults":[{"hash":"b103e286bca0d52b5b539b3ec4a9012ecef980bd","isMergeCommit":false,"messageTitle":"[#467] Add Title Component (#2102)","messageBody":"Implement Title Component\r\n\r\nWith a new focus on allowing users to use RepoSense as a portfolio\r\ntool, more functionality supporting this focus is needed.\r\n\r\nLet\u0027s allow users to add customizable content in Markdown/HTML format \r\nat the top of the report for a personalized introduction.","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1},"scss":{"insertions":0,"deletions":1},"md":{"insertions":2,"deletions":1},"js":{"insertions":8,"deletions":0},"json":{"insertions":272,"deletions":233}}}]},{"date":"2024-03-19","commitResults":[{"hash":"bb977ea1f049a86c6c1090b5253a7e7e1543a5b6","isMergeCommit":false,"messageTitle":"[#1872] Update Node version to 18 (#2081)","messageBody":"Node.js 16 has reached its end-of-life on 11 September 2023.\r\n\r\nLet us update Node.js to use Node 18 in the GitHub workflows.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1},"yml":{"insertions":3,"deletions":3},"json":{"insertions":4057,"deletions":6609}}}]},{"date":"2024-03-28","commitResults":[{"hash":"f2be8a4765e0ee0e5fa1b336419ff2fc88c73ff3","isMergeCommit":false,"messageTitle":"[#2142] Fix Vulnerabilities (#2143)","messageBody":"Fix vulnerabilities in codebase.\r\n\r\nThere are existing vulnerabilities in the codebase.\r\n\r\nLet\u0027s fix as many as possible.","fileTypesAndContributionMap":{"json":{"insertions":603,"deletions":1163}}}]},{"date":"2024-04-02","commitResults":[{"hash":"c3cd12d91c439a5995ce5eba661ae2cded220721","isMergeCommit":false,"messageTitle":"[#2151] Update LoadingOverlay and Minor Versions of Node Dependencies (#2152)","messageBody":"Update LoadingOverlay and Minor Versions of Node Dependencies\r\n\r\nSome dependencies are not at their latest minor or patch releases.\r\n\r\nLet\u0027s update these dependencies, as well as LoadingOverlay as part of a\r\nbug fix.","fileTypesAndContributionMap":{"json":{"insertions":5526,"deletions":15213}}}]}],"mingyuanc":[],"jingting1412":[],"KevinEyo1":[],"LamJiuFong":[],"yiwen101":[],"jonasongg":[{"date":"2024-01-31","commitResults":[{"hash":"0f682a0c319cde9aefe268deb97e97816c1b387a","isMergeCommit":false,"messageTitle":"[#2016] Remove hash symbol from URL when decoding hash (#2086)","messageBody":"Fix bug where some params were not retained after refresh\r\n\r\nThe issue pertains to breakdown of file types disappearing after a\r\nrefresh, but it seems to apply to all params that were last in the URL\r\ndue to symbols not being filtered out correctly.\r\n\r\nLet\u0027s fix this issue to make sure the state of the report stays the\r\nsame when refreshing.","fileTypesAndContributionMap":{"js":{"insertions":156,"deletions":0}}}]},{"date":"2024-02-17","commitResults":[{"hash":"9ff7a96c6afd5b8837da8ee1ba44b263670ae391","isMergeCommit":false,"messageTitle":"[#2111] Fix failing zoomFeature cypress test (#2114)","messageBody":"Fix nondeterministically failing zoomFeature cypress test\r\n\r\nThe \"range changes in chartview should reflect in zoom\" test in\r\nchartView_zoomFeature.cy.js fails because as time passes, the\r\ncoordinates in the ramp that correspond to the desired zoom area\r\nchange.\r\n\r\nLet\u0027s add an \"until\" filter to the relevant cypress tests to stop this\r\nfrom happening","fileTypesAndContributionMap":{"js":{"insertions":11,"deletions":0}}}]},{"date":"2024-03-14","commitResults":[{"hash":"0b096478680447f72e439de78969c09cc8259623","isMergeCommit":false,"messageTitle":"[#2098] Add show more button for error messages (#2105)","messageBody":"Add show more button for error messages\r\n\r\nCurrently, if there are a lot of error messages, it can block the rest\r\nof the page to the point where users may think the report failed to\r\ngenerate at all.\r\n\r\nLet\u0027s hide extra messages automatically and add a show more button if \r\nthere are more to display the messages in full.","fileTypesAndContributionMap":{"js":{"insertions":92,"deletions":72}}}]},{"date":"2024-03-19","commitResults":[{"hash":"147f473e7e0f55c89f86aeb973006a876879d5bb","isMergeCommit":false,"messageTitle":"[#2109] Add search by tag functionality (#2116)","messageBody":"Add search by tag functionality\r\n\r\nIt can be useful to search author/repos by git tags.\r\n\r\nLet\u0027s add this functionality to make it easier to filter by tags.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":0},"js":{"insertions":115,"deletions":4}}}]},{"date":"2024-04-02","commitResults":[{"hash":"b139a954a4367c6951f7924d85f57438b56f0298","isMergeCommit":false,"messageTitle":"[#2109] Add search by tag functionality (#2167)","messageBody":"Add search by tag functionality\r\n\r\nIt can be useful to search author/repos by git tags.\r\n\r\nLet\u0027s add this functionality to make it easier to filter by tags. This\r\ncommit also fixes a bug that existed in a previous version of the\r\nfeature which resulted in all users being shown to belong to same group.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":0},"js":{"insertions":115,"deletions":4}}}]}],"domoberzin":[],"asdfghjkxd":[{"date":"2024-01-18","commitResults":[{"hash":"4ef7210a06fbd6b979a648f8bdce967717a6512c","isMergeCommit":false,"messageTitle":"[#2073] Refactor `RepoConfigCsvParser::processLine` method to avoid arrowhead style code (#2080)","messageBody":"The current implementation of `RepoConfigCsvParser::processLine`\r\ncontains code that has 3 levels of indentation, making it \r\ndifficult to read and maintain.\r\n\r\nWith the proposed changes, the level of deep nesting has \r\nbeen reduced to 2 levels, making the code more \r\nreadable and maintainable.\r\n\r\nLet\u0027s move to refactor and clean up the code to avoid \r\narrowhead-style codes for better readability and \r\nmaintainability.","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":10}}}]},{"date":"2024-01-26","commitResults":[{"hash":"54ba5ecc417097134c83e7d9dc80b925598cb9ef","isMergeCommit":false,"messageTitle":"[#2091] Improve memory usage by refactoring Regex compilation (#2092)","messageBody":"Improve memory usage by refactoring Regex compilation\r\n\r\nCurrently, Regex checking is used in conjunction with iteration. This\r\npattern of coding is frowned upon due to the excessive Regex pattern\r\ncompilation, causing the program to run slower and consume more\r\nmemory.\r\n\r\nBy moving the Regex pattern compilation outside of the iteration, and\r\nby using `Matcher` objects to check if the strings match the Regex\r\nperformance, we can potentially remove this performance bottleneck.\r\n\r\nLet\u0027s move to refactor the code and remove such instances of Regex use\r\nin iterative loops.","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":4}}}]},{"date":"2024-01-31","commitResults":[{"hash":"7977382dfeb3f8559ebb85028a510c8bbc23b58e","isMergeCommit":false,"messageTitle":"[#1958] Use syntax coloring for code blocks in docs (#2099)","messageBody":"Current code blocks do not use the built-in syntax highlighting\r\nfeature offered by Markbind/Markdown.\r\n\r\nThis impedes the readability of the code within the code blocks.\r\n\r\nLet\u0027s update the code blocks in the documentation to enable\r\nsyntax highlighting to further enhance readability of the documentation\r\nand the code.","fileTypesAndContributionMap":{"md":{"insertions":26,"deletions":26}}}]},{"date":"2024-02-06","commitResults":[{"hash":"30ef45089c9d959c3d667519f56197b01690d38b","isMergeCommit":false,"messageTitle":"[#1878] Update `SystemTestUtil::assertJson` to compare Json objects instead of line-by-line analysis (#2087)","messageBody":"`SystemTestUtil::assertJson` currently checks if two JSON files are\r\nequal by comparing the file contents line by line rather than by\r\nconverting the files directly into JSON objects, which can then be\r\ndirectly compared using the built-in `equals` methods for\r\n`JsonElement`.\r\n\r\nThis process also does not automatically check if the file is indeed a\r\nJSON file, and implicitly assumes that the input paths are paths to\r\nJSON files. This may cause expected behaviours if a user accidentally\r\nor intentionally includes a path to a non-JSON file within the method\r\ncalls.\r\n\r\nLet\u0027s move to refactor the code, and utilise the built-in methods for\r\n`JsonElement` objects to check for the equality of JSON objects.","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":4}}}]},{"date":"2024-02-07","commitResults":[{"hash":"29903e31243225f4f4c3c4ad523f2298d2b8e70d","isMergeCommit":false,"messageTitle":"[#2103] Refactor `parser` package for greater organisation of classes (#2104)","messageBody":"Classes in the `parser` package as of now are not properly organised,\r\nwith exceptions, types and parser classes being found in the same\r\ndirectory level.\r\n\r\nThis does not follow the convention established by other packages,\r\nwhereby logically similar classes are further grouped into\r\nsub-packages.\r\n\r\nLet\u0027s move to refactor the `parser` package to ensure that it follows\r\nthe overall structure of the other packages and to increase the level\r\nof organisation within the `parser` package.","fileTypesAndContributionMap":{"java":{"insertions":62,"deletions":32}}}]},{"date":"2024-02-17","commitResults":[{"hash":"d2018d246e74fa04ae70d2f1f0f16c9e8e29e187","isMergeCommit":false,"messageTitle":"[#2076] Refactor RepoConfiguration to simplify constructor complexity (#2078)","messageBody":"Refactor RepoConfiguration to simplify constructor complexity.\r\n\r\nCurrently, the constructors for the `RepoConfiguration` class is \r\nvery complex, involving up to 18 parameters at once, and is \r\nnot easily extensible.\r\n\r\nWith the proposed changes, the constructor now follows the \r\nBuilder pattern, by using a nested class `Builder` that \r\nhelps to compose config parameters in a way that is much more \r\nmodular and comprehensible, enhancing code quality and \r\nreducing confusion among developers.\r\n\r\nHowever, it must be noted that `Builder` objects are not reusable as of\r\nnow, and that more combinations of arguments are permitted due to the\r\nremoval of constructors for `RepoBuilder`, which previously helped to\r\nensure the correctness of parameter combinations.\r\n\r\nLet\u0027s refactor `RepoConfiguration` to simplify the \r\ncomplexity of the constructor and increase modularity \r\nof the code.","fileTypesAndContributionMap":{"java":{"insertions":734,"deletions":158}}}]},{"date":"2024-03-02","commitResults":[{"hash":"bbb2f694a74d0dc1dea9084ad47b25bcd0bb42cb","isMergeCommit":false,"messageTitle":"[#2117] Refactor `CliArguments` to conform to `RepoConfiguration`\u0027s Builder Pattern (#2118)","messageBody":"Current implementation of the Builder pattern within `CliArguments`\r\ndoes not conform that in `RepoConfiguration`.\r\n\r\nLet\u0027s move to refactor `CliArguments` to reduce class attribute\r\nduplication across `CliArguments` and `CliArguments::Builder` and to\r\nenhance overall code quality.","fileTypesAndContributionMap":{"java":{"insertions":56,"deletions":101}}}]},{"date":"2024-03-26","commitResults":[{"hash":"3140c31c8d132aada99d917b789665cc3328cf0d","isMergeCommit":false,"messageTitle":"[#2091] Minor Enhancements to Existing Regex Code (#2115)","messageBody":"* Enhance existing Regex code\r\n\r\n* Consolidate typical Regex patterns\r\n\r\n---------\r\n\r\nCo-authored-by: Charisma Kausar \u003c68203159+ckcherry23@users.noreply.github.com\u003e\r\nCo-authored-by: Gokul Rajiv \u003c34594184+gok99@users.noreply.github.com\u003e\r\nCo-authored-by: Marcus Tang \u003c50147457+MarcusTXK@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":48,"deletions":28}}}]},{"date":"2024-03-28","commitResults":[{"hash":"a733531b0bc7ecc0bb40f40b0f4de7db503e9057","isMergeCommit":false,"messageTitle":"[#2120] Update RepoSense contributors in documentation (#2138)","messageBody":"The current About page on the RepoSense docs does not reflect the\r\nupdated list of developers working on RepoSense.\r\n\r\nLet\u0027s move to update the list to more accurately reference the current\r\ndevelopers of RepoSense.","fileTypesAndContributionMap":{"md":{"insertions":69,"deletions":19}}}]},{"date":"2024-04-15","commitResults":[{"hash":"54d002806b9a2c564ebfaf49fab09f762d0d8aab","isMergeCommit":false,"messageTitle":"Allow CI to pass if Codecov fails (#2189)","messageBody":"CI is failing when Codecov is failing.\r\n\r\nThis is a temporary workaround for CI until issues with Codecov are\r\nfixed.","fileTypesAndContributionMap":{"yml":{"insertions":1,"deletions":1}}}]}],"yuanxi1":[],"supermii2":[{"date":"2024-01-26","commitResults":[{"hash":"3cd680c3ddfa5a96f9168d3ab411d0cccfc3c52f","isMergeCommit":false,"messageTitle":"[#2082] Fix typo in command in Setting Up page (#2083)","messageBody":"Fix typo in Setting Up page\r\n\r\nThe command given in the developer guide for checking the local Node.js\r\nversion is `npm -v`, which displays the version of npm instead.\r\n\r\nLet\u0027s replace the command with `node -v`, which correctly displays the\r\nNode.js version.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1}}}]},{"date":"2024-02-11","commitResults":[{"hash":"945405a6c5786c72e11b23da7c452bb9568b03b6","isMergeCommit":false,"messageTitle":"[#1933] Fix broken DevOps Guide link in Learning Basics (#2107)","messageBody":"Fix broken link to DevOps Guide in Learning Basics page.\r\n\r\nUnder the DevOps section in the developer guide,\r\nthe link to DevOps guide leads a Wiki link instead of redirecting to\r\nthe DevOps guide on the actual Reposense website.\r\n\r\nLet\u0027s fix the broken link by changing the address to the correct page.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-13","commitResults":[{"hash":"2692f0fef8b3d60579e0504d713d7505ff0f821c","isMergeCommit":false,"messageTitle":"[#2002] Add explicit return type annotations to TypeScript functions in *.vue files (#2125)","messageBody":"Many frontend functions lack return types after migration to\r\nTypeScript, which can cause errors due to TypeScript\u0027s attempted type\r\ninference being incorrect. Specifying return type explicitly can allow\r\nTypeScript to catch errors before the code is run.\r\n\r\nLet us add return type annotations to TypeScript functions within Vue\r\nfiles.\r\n\r\n---------\r\n\r\nCo-authored-by: David \u003cdavids89034@gmail.com\u003e","fileTypesAndContributionMap":{"json":{"insertions":3,"deletions":1}}}]}],"marquestye":[],"nknguyenhc":[],"Arif-Khalid":[],"NereusWB922":[],"dishenggg":[],"MadLamprey":[],"Tim-Siu":[]},"authorFileTypeContributionMap":{"xenosf":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"sopa301":{"java":1,"js":8,"scss":0,"json":4634,"md":3,"py":0,"pug":0,"gradle":0,"sh":0,"yml":3},"mingyuanc":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"jingting1412":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"KevinEyo1":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"LamJiuFong":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"yiwen101":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"jonasongg":{"java":0,"js":371,"scss":0,"json":0,"md":1,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"domoberzin":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"asdfghjkxd":{"java":921,"js":0,"scss":0,"json":0,"md":95,"py":0,"pug":0,"gradle":0,"sh":0,"yml":1},"yuanxi1":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"supermii2":{"java":0,"js":0,"scss":0,"json":3,"md":2,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"marquestye":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"nknguyenhc":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"Arif-Khalid":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"NereusWB922":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"dishenggg":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"MadLamprey":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"Tim-Siu":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0}},"authorContributionVariance":{"xenosf":0.0,"sopa301":3935243.8,"mingyuanc":0.0,"jingting1412":0.0,"KevinEyo1":0.0,"LamJiuFong":0.0,"yiwen101":0.0,"jonasongg":567.68744,"domoberzin":0.0,"asdfghjkxd":6070.6353,"yuanxi1":0.0,"supermii2":0.1717726,"marquestye":0.0,"nknguyenhc":0.0,"Arif-Khalid":0.0,"NereusWB922":0.0,"dishenggg":0.0,"MadLamprey":0.0,"Tim-Siu":0.0},"authorDisplayNameMap":{"xenosf":"XENO..NONG","sopa301":"POON..RYAN","mingyuanc":"CHIN..YUAN","jingting1412":"WANG..TING","KevinEyo1":"EYO ..EVIN","LamJiuFong":"LAM ..FONG","yiwen101":"WANG..IWEN","jonasongg":"JONA.. WEI","domoberzin":"DOMI.. GIN","asdfghjkxd":"GEOR.. YAO","yuanxi1":"ZHU ..ANXI","supermii2":"ALVI..S NG","marquestye":"TYE ..QUES","nknguyenhc":"NGUY..UYEN","Arif-Khalid":"ARIF..ALID","NereusWB922":"NERE.. BIN","dishenggg":"YEO ..HENG","MadLamprey":"MISR..ITYA","Tim-Siu":"XU S..UYAO"}} +{"authorDailyContributionsMap":{"xenosf":[],"sopa301":[{"date":"2024-01-31","commitResults":[{"hash":"19f9e6847b503b0f9028effd37b2cfab87b72af1","isMergeCommit":false,"messageTitle":"[#1980] Standardise Array Style for Frontend Files (#2084)","messageBody":"Array\u003cT\u003e and T[] can be used interchangeably in TypeScript. We can use\r\nthe same style consistently across the codebase to make it easier for\r\ndevelopers to read and understand array types.\r\n\r\nIn Vue, using T[] in defineComponent requires casting in the form of\r\n\"Array as PropType\u003cT[]\u003e\", while Array\u003cT\u003e can be used as is. Therefore,\r\nit would be more consistent to use Array\u003cT\u003e for .vue files.\r\nAdditionally, such a rule can be enforced more easily with eslint.\r\n\r\nLet\u0027s include a rule for eslint to check array usage and change the\r\ncode to follow this rule.","fileTypesAndContributionMap":{"json":{"insertions":20,"deletions":1}}},{"hash":"f5855fa68b3e23a0fed0c2e7cc94cc6401d175e3","isMergeCommit":false,"messageTitle":"[#1224] Update .stylelintrc.json to check for spacing (#2094)","messageBody":"With no current plans to update stylelint to v15 or beyond, we can\r\nstill use the current features to enforce consistent spacing in our\r\nscss files. This will make the coding style more consistent throughout\r\nthe codebase.\r\n\r\nLet\u0027s update the rules in .stylelintrc.json to enforce spacing.","fileTypesAndContributionMap":{"json":{"insertions":3,"deletions":1}}}]},{"date":"2024-02-19","commitResults":[{"hash":"b103e286bca0d52b5b539b3ec4a9012ecef980bd","isMergeCommit":false,"messageTitle":"[#467] Add Title Component (#2102)","messageBody":"Implement Title Component\r\n\r\nWith a new focus on allowing users to use RepoSense as a portfolio\r\ntool, more functionality supporting this focus is needed.\r\n\r\nLet\u0027s allow users to add customizable content in Markdown/HTML format \r\nat the top of the report for a personalized introduction.","fileTypesAndContributionMap":{"java":{"insertions":1,"deletions":1},"scss":{"insertions":0,"deletions":1},"md":{"insertions":2,"deletions":1},"js":{"insertions":8,"deletions":0},"json":{"insertions":272,"deletions":233}}}]},{"date":"2024-03-19","commitResults":[{"hash":"bb977ea1f049a86c6c1090b5253a7e7e1543a5b6","isMergeCommit":false,"messageTitle":"[#1872] Update Node version to 18 (#2081)","messageBody":"Node.js 16 has reached its end-of-life on 11 September 2023.\r\n\r\nLet us update Node.js to use Node 18 in the GitHub workflows.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1},"yml":{"insertions":3,"deletions":3},"json":{"insertions":4057,"deletions":6609}}}]},{"date":"2024-03-28","commitResults":[{"hash":"f2be8a4765e0ee0e5fa1b336419ff2fc88c73ff3","isMergeCommit":false,"messageTitle":"[#2142] Fix Vulnerabilities (#2143)","messageBody":"Fix vulnerabilities in codebase.\r\n\r\nThere are existing vulnerabilities in the codebase.\r\n\r\nLet\u0027s fix as many as possible.","fileTypesAndContributionMap":{"json":{"insertions":603,"deletions":1163}}}]},{"date":"2024-04-02","commitResults":[{"hash":"c3cd12d91c439a5995ce5eba661ae2cded220721","isMergeCommit":false,"messageTitle":"[#2151] Update LoadingOverlay and Minor Versions of Node Dependencies (#2152)","messageBody":"Update LoadingOverlay and Minor Versions of Node Dependencies\r\n\r\nSome dependencies are not at their latest minor or patch releases.\r\n\r\nLet\u0027s update these dependencies, as well as LoadingOverlay as part of a\r\nbug fix.","fileTypesAndContributionMap":{"json":{"insertions":5526,"deletions":15213}}}]},{"date":"2024-04-18","commitResults":[{"hash":"eb138361cfe928eec29327cf63ac965911a94e29","isMergeCommit":false,"messageTitle":"[#2136] Add Tests for Segment CSS (#2137)","messageBody":"Write Tests for Code Highlighting for Segment\r\n\r\nA regression has occurred during refactoring of the Segment component.\r\nIt would be good to write tests to catch regressions if it happens\r\nagain for this component.\r\n\r\nLet\u0027s write tests to catch further regressions of the same nature.","fileTypesAndContributionMap":{"js":{"insertions":67,"deletions":0}}},{"hash":"0f21c65b04282e21ea600ab7906496b853c1a34a","isMergeCommit":false,"messageTitle":"[#2151] Update Stylelint (#2153)","messageBody":"Update Stylelint\r\n\r\nThe depreciated rules have been moved to a dedicated plugin. We can now\r\nupdate our Stylelint linter to the latest version.\r\n\r\nLet\u0027s do so, as well as update related dependencies.","fileTypesAndContributionMap":{"json":{"insertions":1048,"deletions":948}}},{"hash":"6ffb41c933fcf339f84c56b4b061be780056366f","isMergeCommit":false,"messageTitle":"[#2151] Update CSS-related Major Dependencies (#2154)","messageBody":"Update CSS-related Major Dependencies\r\n\r\nA few CSS-related dependencies have major updates available.\r\n\r\nLet\u0027s update as many as possible.","fileTypesAndContributionMap":{"json":{"insertions":120,"deletions":154}}}]},{"date":"2024-04-19","commitResults":[{"hash":"4cceaeaae77ae19042f9de5f446809d9cd7981c8","isMergeCommit":false,"messageTitle":"[#2158] Add More Documentation for Title Component (#2159)","messageBody":"Add More Documentation for Title Component\r\n\r\nThe documentation for the title component is sparse. Adding more\r\ndetails on how to use it will make it easier for users to add their own\r\ntitles to their reports.\r\n\r\nLet\u0027s update the documentation to include a section for the title\r\ncomponent, and add the title component to the default view.","fileTypesAndContributionMap":{"gradle":{"insertions":1,"deletions":0},"md":{"insertions":27,"deletions":2}}}]}],"mingyuanc":[],"jingting1412":[],"KevinEyo1":[],"LamJiuFong":[],"yiwen101":[],"jonasongg":[{"date":"2024-01-31","commitResults":[{"hash":"0f682a0c319cde9aefe268deb97e97816c1b387a","isMergeCommit":false,"messageTitle":"[#2016] Remove hash symbol from URL when decoding hash (#2086)","messageBody":"Fix bug where some params were not retained after refresh\r\n\r\nThe issue pertains to breakdown of file types disappearing after a\r\nrefresh, but it seems to apply to all params that were last in the URL\r\ndue to symbols not being filtered out correctly.\r\n\r\nLet\u0027s fix this issue to make sure the state of the report stays the\r\nsame when refreshing.","fileTypesAndContributionMap":{"js":{"insertions":156,"deletions":0}}}]},{"date":"2024-02-17","commitResults":[{"hash":"9ff7a96c6afd5b8837da8ee1ba44b263670ae391","isMergeCommit":false,"messageTitle":"[#2111] Fix failing zoomFeature cypress test (#2114)","messageBody":"Fix nondeterministically failing zoomFeature cypress test\r\n\r\nThe \"range changes in chartview should reflect in zoom\" test in\r\nchartView_zoomFeature.cy.js fails because as time passes, the\r\ncoordinates in the ramp that correspond to the desired zoom area\r\nchange.\r\n\r\nLet\u0027s add an \"until\" filter to the relevant cypress tests to stop this\r\nfrom happening","fileTypesAndContributionMap":{"js":{"insertions":11,"deletions":0}}}]},{"date":"2024-03-14","commitResults":[{"hash":"0b096478680447f72e439de78969c09cc8259623","isMergeCommit":false,"messageTitle":"[#2098] Add show more button for error messages (#2105)","messageBody":"Add show more button for error messages\r\n\r\nCurrently, if there are a lot of error messages, it can block the rest\r\nof the page to the point where users may think the report failed to\r\ngenerate at all.\r\n\r\nLet\u0027s hide extra messages automatically and add a show more button if \r\nthere are more to display the messages in full.","fileTypesAndContributionMap":{"js":{"insertions":92,"deletions":72}}}]},{"date":"2024-03-19","commitResults":[{"hash":"147f473e7e0f55c89f86aeb973006a876879d5bb","isMergeCommit":false,"messageTitle":"[#2109] Add search by tag functionality (#2116)","messageBody":"Add search by tag functionality\r\n\r\nIt can be useful to search author/repos by git tags.\r\n\r\nLet\u0027s add this functionality to make it easier to filter by tags.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":0},"js":{"insertions":115,"deletions":4}}}]},{"date":"2024-04-02","commitResults":[{"hash":"b139a954a4367c6951f7924d85f57438b56f0298","isMergeCommit":false,"messageTitle":"[#2109] Add search by tag functionality (#2167)","messageBody":"Add search by tag functionality\r\n\r\nIt can be useful to search author/repos by git tags.\r\n\r\nLet\u0027s add this functionality to make it easier to filter by tags. This\r\ncommit also fixes a bug that existed in a previous version of the\r\nfeature which resulted in all users being shown to belong to same group.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":0},"js":{"insertions":115,"deletions":4}}}]},{"date":"2024-04-18","commitResults":[{"hash":"f07af5a45d883cb629d4d0ef7e953cf8444619d3","isMergeCommit":false,"messageTitle":"[#2130] Add highlight and scroll to group (#2131)","messageBody":"Add highlight and scroll to group\r\n\r\nIt can be useful to have a way to send a RepoSense link that\r\nautomatically scrolls to and highlights the group that the sender\r\nthinks the recipient should pay attention to, saving them time to find\r\nthe repo in question.\r\n\r\nLet\u0027s add this functionality to add convenience when sending around\r\nRepoSense reports.","fileTypesAndContributionMap":{"js":{"insertions":62,"deletions":0}}}]},{"date":"2024-04-19","commitResults":[{"hash":"1e76355901cd5fca71a2999e2c8cdf68bdd0988c","isMergeCommit":false,"messageTitle":"Fix lint warnings (#2182)","messageBody":"Fix lint warnings\r\n\r\nCurrently, there are various lint warnings that appear when building.\r\n\r\nThis can cause confusion on what lint problem exactly is causing a\r\nbuild to fail. Let\u0027s fix them.","fileTypesAndContributionMap":{"md":{"insertions":4,"deletions":4}}},{"hash":"3c53d58c0458a42c58ce84231ea61f8f1cac6930","isMergeCommit":false,"messageTitle":"Add more repos to cypress tests (#2188)","messageBody":"Add more repos to Cypress tests\r\n\r\nCurrently, our Cypress config only tests with a single repo. This can\r\ncause our testing to be limited and cause certain bugs to go\r\nunnoticed.\r\n\r\nLet\u0027s add more repos so that our testing can be more extensive.","fileTypesAndContributionMap":{"js":{"insertions":20,"deletions":24}}}]}],"domoberzin":[],"asdfghjkxd":[{"date":"2024-01-18","commitResults":[{"hash":"4ef7210a06fbd6b979a648f8bdce967717a6512c","isMergeCommit":false,"messageTitle":"[#2073] Refactor `RepoConfigCsvParser::processLine` method to avoid arrowhead style code (#2080)","messageBody":"The current implementation of `RepoConfigCsvParser::processLine`\r\ncontains code that has 3 levels of indentation, making it \r\ndifficult to read and maintain.\r\n\r\nWith the proposed changes, the level of deep nesting has \r\nbeen reduced to 2 levels, making the code more \r\nreadable and maintainable.\r\n\r\nLet\u0027s move to refactor and clean up the code to avoid \r\narrowhead-style codes for better readability and \r\nmaintainability.","fileTypesAndContributionMap":{"java":{"insertions":9,"deletions":10}}}]},{"date":"2024-01-26","commitResults":[{"hash":"54ba5ecc417097134c83e7d9dc80b925598cb9ef","isMergeCommit":false,"messageTitle":"[#2091] Improve memory usage by refactoring Regex compilation (#2092)","messageBody":"Improve memory usage by refactoring Regex compilation\r\n\r\nCurrently, Regex checking is used in conjunction with iteration. This\r\npattern of coding is frowned upon due to the excessive Regex pattern\r\ncompilation, causing the program to run slower and consume more\r\nmemory.\r\n\r\nBy moving the Regex pattern compilation outside of the iteration, and\r\nby using `Matcher` objects to check if the strings match the Regex\r\nperformance, we can potentially remove this performance bottleneck.\r\n\r\nLet\u0027s move to refactor the code and remove such instances of Regex use\r\nin iterative loops.","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":4}}}]},{"date":"2024-01-31","commitResults":[{"hash":"7977382dfeb3f8559ebb85028a510c8bbc23b58e","isMergeCommit":false,"messageTitle":"[#1958] Use syntax coloring for code blocks in docs (#2099)","messageBody":"Current code blocks do not use the built-in syntax highlighting\r\nfeature offered by Markbind/Markdown.\r\n\r\nThis impedes the readability of the code within the code blocks.\r\n\r\nLet\u0027s update the code blocks in the documentation to enable\r\nsyntax highlighting to further enhance readability of the documentation\r\nand the code.","fileTypesAndContributionMap":{"md":{"insertions":26,"deletions":26}}}]},{"date":"2024-02-06","commitResults":[{"hash":"30ef45089c9d959c3d667519f56197b01690d38b","isMergeCommit":false,"messageTitle":"[#1878] Update `SystemTestUtil::assertJson` to compare Json objects instead of line-by-line analysis (#2087)","messageBody":"`SystemTestUtil::assertJson` currently checks if two JSON files are\r\nequal by comparing the file contents line by line rather than by\r\nconverting the files directly into JSON objects, which can then be\r\ndirectly compared using the built-in `equals` methods for\r\n`JsonElement`.\r\n\r\nThis process also does not automatically check if the file is indeed a\r\nJSON file, and implicitly assumes that the input paths are paths to\r\nJSON files. This may cause expected behaviours if a user accidentally\r\nor intentionally includes a path to a non-JSON file within the method\r\ncalls.\r\n\r\nLet\u0027s move to refactor the code, and utilise the built-in methods for\r\n`JsonElement` objects to check for the equality of JSON objects.","fileTypesAndContributionMap":{"java":{"insertions":11,"deletions":4}}}]},{"date":"2024-02-07","commitResults":[{"hash":"29903e31243225f4f4c3c4ad523f2298d2b8e70d","isMergeCommit":false,"messageTitle":"[#2103] Refactor `parser` package for greater organisation of classes (#2104)","messageBody":"Classes in the `parser` package as of now are not properly organised,\r\nwith exceptions, types and parser classes being found in the same\r\ndirectory level.\r\n\r\nThis does not follow the convention established by other packages,\r\nwhereby logically similar classes are further grouped into\r\nsub-packages.\r\n\r\nLet\u0027s move to refactor the `parser` package to ensure that it follows\r\nthe overall structure of the other packages and to increase the level\r\nof organisation within the `parser` package.","fileTypesAndContributionMap":{"java":{"insertions":62,"deletions":32}}}]},{"date":"2024-02-17","commitResults":[{"hash":"d2018d246e74fa04ae70d2f1f0f16c9e8e29e187","isMergeCommit":false,"messageTitle":"[#2076] Refactor RepoConfiguration to simplify constructor complexity (#2078)","messageBody":"Refactor RepoConfiguration to simplify constructor complexity.\r\n\r\nCurrently, the constructors for the `RepoConfiguration` class is \r\nvery complex, involving up to 18 parameters at once, and is \r\nnot easily extensible.\r\n\r\nWith the proposed changes, the constructor now follows the \r\nBuilder pattern, by using a nested class `Builder` that \r\nhelps to compose config parameters in a way that is much more \r\nmodular and comprehensible, enhancing code quality and \r\nreducing confusion among developers.\r\n\r\nHowever, it must be noted that `Builder` objects are not reusable as of\r\nnow, and that more combinations of arguments are permitted due to the\r\nremoval of constructors for `RepoBuilder`, which previously helped to\r\nensure the correctness of parameter combinations.\r\n\r\nLet\u0027s refactor `RepoConfiguration` to simplify the \r\ncomplexity of the constructor and increase modularity \r\nof the code.","fileTypesAndContributionMap":{"java":{"insertions":734,"deletions":158}}}]},{"date":"2024-03-02","commitResults":[{"hash":"bbb2f694a74d0dc1dea9084ad47b25bcd0bb42cb","isMergeCommit":false,"messageTitle":"[#2117] Refactor `CliArguments` to conform to `RepoConfiguration`\u0027s Builder Pattern (#2118)","messageBody":"Current implementation of the Builder pattern within `CliArguments`\r\ndoes not conform that in `RepoConfiguration`.\r\n\r\nLet\u0027s move to refactor `CliArguments` to reduce class attribute\r\nduplication across `CliArguments` and `CliArguments::Builder` and to\r\nenhance overall code quality.","fileTypesAndContributionMap":{"java":{"insertions":56,"deletions":101}}}]},{"date":"2024-03-26","commitResults":[{"hash":"3140c31c8d132aada99d917b789665cc3328cf0d","isMergeCommit":false,"messageTitle":"[#2091] Minor Enhancements to Existing Regex Code (#2115)","messageBody":"* Enhance existing Regex code\r\n\r\n* Consolidate typical Regex patterns\r\n\r\n---------\r\n\r\nCo-authored-by: Charisma Kausar \u003c68203159+ckcherry23@users.noreply.github.com\u003e\r\nCo-authored-by: Gokul Rajiv \u003c34594184+gok99@users.noreply.github.com\u003e\r\nCo-authored-by: Marcus Tang \u003c50147457+MarcusTXK@users.noreply.github.com\u003e","fileTypesAndContributionMap":{"java":{"insertions":48,"deletions":28}}}]},{"date":"2024-03-28","commitResults":[{"hash":"a733531b0bc7ecc0bb40f40b0f4de7db503e9057","isMergeCommit":false,"messageTitle":"[#2120] Update RepoSense contributors in documentation (#2138)","messageBody":"The current About page on the RepoSense docs does not reflect the\r\nupdated list of developers working on RepoSense.\r\n\r\nLet\u0027s move to update the list to more accurately reference the current\r\ndevelopers of RepoSense.","fileTypesAndContributionMap":{"md":{"insertions":69,"deletions":19}}}]},{"date":"2024-04-15","commitResults":[{"hash":"54d002806b9a2c564ebfaf49fab09f762d0d8aab","isMergeCommit":false,"messageTitle":"Allow CI to pass if Codecov fails (#2189)","messageBody":"CI is failing when Codecov is failing.\r\n\r\nThis is a temporary workaround for CI until issues with Codecov are\r\nfixed.","fileTypesAndContributionMap":{"yml":{"insertions":1,"deletions":1}}}]}],"yuanxi1":[],"supermii2":[{"date":"2024-01-26","commitResults":[{"hash":"3cd680c3ddfa5a96f9168d3ab411d0cccfc3c52f","isMergeCommit":false,"messageTitle":"[#2082] Fix typo in command in Setting Up page (#2083)","messageBody":"Fix typo in Setting Up page\r\n\r\nThe command given in the developer guide for checking the local Node.js\r\nversion is `npm -v`, which displays the version of npm instead.\r\n\r\nLet\u0027s replace the command with `node -v`, which correctly displays the\r\nNode.js version.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1}}}]},{"date":"2024-02-11","commitResults":[{"hash":"945405a6c5786c72e11b23da7c452bb9568b03b6","isMergeCommit":false,"messageTitle":"[#1933] Fix broken DevOps Guide link in Learning Basics (#2107)","messageBody":"Fix broken link to DevOps Guide in Learning Basics page.\r\n\r\nUnder the DevOps section in the developer guide,\r\nthe link to DevOps guide leads a Wiki link instead of redirecting to\r\nthe DevOps guide on the actual Reposense website.\r\n\r\nLet\u0027s fix the broken link by changing the address to the correct page.","fileTypesAndContributionMap":{"md":{"insertions":1,"deletions":1}}}]},{"date":"2024-04-13","commitResults":[{"hash":"2692f0fef8b3d60579e0504d713d7505ff0f821c","isMergeCommit":false,"messageTitle":"[#2002] Add explicit return type annotations to TypeScript functions in *.vue files (#2125)","messageBody":"Many frontend functions lack return types after migration to\r\nTypeScript, which can cause errors due to TypeScript\u0027s attempted type\r\ninference being incorrect. Specifying return type explicitly can allow\r\nTypeScript to catch errors before the code is run.\r\n\r\nLet us add return type annotations to TypeScript functions within Vue\r\nfiles.\r\n\r\n---------\r\n\r\nCo-authored-by: David \u003cdavids89034@gmail.com\u003e","fileTypesAndContributionMap":{"json":{"insertions":3,"deletions":1}}}]}],"marquestye":[],"nknguyenhc":[],"Arif-Khalid":[],"NereusWB922":[],"dishenggg":[],"MadLamprey":[],"Tim-Siu":[]},"authorFileTypeContributionMap":{"xenosf":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"sopa301":{"java":1,"js":75,"scss":0,"json":4985,"md":28,"py":0,"pug":0,"gradle":1,"sh":0,"yml":3},"mingyuanc":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"jingting1412":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"KevinEyo1":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"LamJiuFong":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"yiwen101":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"jonasongg":{"java":0,"js":451,"scss":0,"json":0,"md":1,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"domoberzin":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"asdfghjkxd":{"java":921,"js":0,"scss":0,"json":0,"md":95,"py":0,"pug":0,"gradle":0,"sh":0,"yml":1},"yuanxi1":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"supermii2":{"java":0,"js":0,"scss":0,"json":3,"md":2,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"marquestye":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"nknguyenhc":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"Arif-Khalid":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"NereusWB922":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"dishenggg":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"MadLamprey":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0},"Tim-Siu":{"java":0,"js":0,"scss":0,"json":0,"md":0,"py":0,"pug":0,"gradle":0,"sh":0,"yml":0}},"authorContributionVariance":{"xenosf":0.0,"sopa301":3855705.5,"mingyuanc":0.0,"jingting1412":0.0,"KevinEyo1":0.0,"LamJiuFong":0.0,"yiwen101":0.0,"jonasongg":591.29895,"domoberzin":0.0,"asdfghjkxd":5901.3335,"yuanxi1":0.0,"supermii2":0.16699362,"marquestye":0.0,"nknguyenhc":0.0,"Arif-Khalid":0.0,"NereusWB922":0.0,"dishenggg":0.0,"MadLamprey":0.0,"Tim-Siu":0.0},"authorDisplayNameMap":{"xenosf":"XENO..NONG","sopa301":"POON..RYAN","mingyuanc":"CHIN..YUAN","jingting1412":"WANG..TING","KevinEyo1":"EYO ..EVIN","LamJiuFong":"LAM ..FONG","yiwen101":"WANG..IWEN","jonasongg":"JONA.. WEI","domoberzin":"DOMI.. GIN","asdfghjkxd":"GEOR.. YAO","yuanxi1":"ZHU ..ANXI","supermii2":"ALVI..S NG","marquestye":"TYE ..QUES","nknguyenhc":"NGUY..UYEN","Arif-Khalid":"ARIF..ALID","NereusWB922":"NERE.. BIN","dishenggg":"YEO ..HENG","MadLamprey":"MISR..ITYA","Tim-Siu":"XU S..UYAO"}} diff --git a/summary.json b/summary.json index b18a7a9..fc4f60a 100644 --- a/summary.json +++ b/summary.json @@ -1 +1 @@ -{"repoSenseVersion":"5cd529fb46","reportGeneratedTime":"Thu Apr 18 08:02:15 2024 UTC+08:00","reportGenerationTime":" 1 minute(s) 0.39 second(s)","zoneId":"UTC+08:00","reportTitle":"RepoSense Report","repos":[{"location":{"location":"https://github.com/markbind/markbind.git","repoName":"markbind","organization":"markbind","domainName":"github"},"branch":"master","displayName":"markbind/markbind[master]","outputFolderName":"markbind_markbind_master"},{"location":{"location":"https://github.com/reposense/reposense.git","repoName":"reposense","organization":"reposense","domainName":"github"},"branch":"master","displayName":"reposense/reposense[master]","outputFolderName":"reposense_reposense_master"},{"location":{"location":"https://github.com/se-edu/addressbook-level3.git","repoName":"addressbook-level3","organization":"se-edu","domainName":"github"},"branch":"master","displayName":"se-edu/addressbook-level3[master]","outputFolderName":"se-edu_addressbook-level3_master"},{"location":{"location":"https://github.com/TEAMMATES/teammates.git","repoName":"teammates","organization":"TEAMMATES","domainName":"github"},"branch":"master","displayName":"TEAMMATES/teammates[master]","outputFolderName":"TEAMMATES_teammates_master"},{"location":{"location":"https://github.com/CATcher-org/CATcher.git","repoName":"CATcher","organization":"CATcher-org","domainName":"github"},"branch":"master","displayName":"CATcher-org/CATcher[master]","outputFolderName":"CATcher-org_CATcher_master"},{"location":{"location":"https://github.com/CATcher-org/WATcher.git","repoName":"WATcher","organization":"CATcher-org","domainName":"github"},"branch":"main","displayName":"CATcher-org/WATcher[main]","outputFolderName":"CATcher-org_WATcher_main"}],"errorSet":[],"sinceDate":"2023-12-01","untilDate":"2024-04-18","isSinceDateProvided":true,"isUntilDateProvided":false,"supportedDomainUrlMap":{"NOT_RECOGNIZED":{"BRANCH":"","REPO_URL":"UNSUPPORTED","BASE_URL":"UNSUPPORTED","HISTORY_PATH":"","COMMIT_PATH":"","BLAME_PATH":""},"github":{"BRANCH":"tree/$BRANCH","REPO_URL":"https://github.com/$ORGANIZATION/$REPO_NAME/","BASE_URL":"https://github.com/","HISTORY_PATH":"commits/$BRANCH/$FILE_PATH","COMMIT_PATH":"commit/$COMMIT_HASH","BLAME_PATH":"blame/$BRANCH/$FILE_PATH"}}} +{"repoSenseVersion":"5cd529fb46","reportGeneratedTime":"Fri Apr 19 08:02:09 2024 UTC+08:00","reportGenerationTime":" 1 minute(s) 5.86 second(s)","zoneId":"UTC+08:00","reportTitle":"RepoSense Report","repos":[{"location":{"location":"https://github.com/markbind/markbind.git","repoName":"markbind","organization":"markbind","domainName":"github"},"branch":"master","displayName":"markbind/markbind[master]","outputFolderName":"markbind_markbind_master"},{"location":{"location":"https://github.com/reposense/reposense.git","repoName":"reposense","organization":"reposense","domainName":"github"},"branch":"master","displayName":"reposense/reposense[master]","outputFolderName":"reposense_reposense_master"},{"location":{"location":"https://github.com/se-edu/addressbook-level3.git","repoName":"addressbook-level3","organization":"se-edu","domainName":"github"},"branch":"master","displayName":"se-edu/addressbook-level3[master]","outputFolderName":"se-edu_addressbook-level3_master"},{"location":{"location":"https://github.com/TEAMMATES/teammates.git","repoName":"teammates","organization":"TEAMMATES","domainName":"github"},"branch":"master","displayName":"TEAMMATES/teammates[master]","outputFolderName":"TEAMMATES_teammates_master"},{"location":{"location":"https://github.com/CATcher-org/CATcher.git","repoName":"CATcher","organization":"CATcher-org","domainName":"github"},"branch":"master","displayName":"CATcher-org/CATcher[master]","outputFolderName":"CATcher-org_CATcher_master"},{"location":{"location":"https://github.com/CATcher-org/WATcher.git","repoName":"WATcher","organization":"CATcher-org","domainName":"github"},"branch":"main","displayName":"CATcher-org/WATcher[main]","outputFolderName":"CATcher-org_WATcher_main"}],"errorSet":[],"sinceDate":"2023-12-01","untilDate":"2024-04-19","isSinceDateProvided":true,"isUntilDateProvided":false,"supportedDomainUrlMap":{"NOT_RECOGNIZED":{"BRANCH":"","REPO_URL":"UNSUPPORTED","BASE_URL":"UNSUPPORTED","HISTORY_PATH":"","COMMIT_PATH":"","BLAME_PATH":""},"github":{"BRANCH":"tree/$BRANCH","REPO_URL":"https://github.com/$ORGANIZATION/$REPO_NAME/","BASE_URL":"https://github.com/","HISTORY_PATH":"commits/$BRANCH/$FILE_PATH","COMMIT_PATH":"commit/$COMMIT_HASH","BLAME_PATH":"blame/$BRANCH/$FILE_PATH"}}}